Klima Kartı Bileşen Kontrolü

Dünyanın önde gelen otomotiv parça ve bileşen üreticilerinden xxxxx fabrikasında, otomasyon robotları ile montajı yapılan elektronik klima kartı üzerindeki bazı bileşenlerin varlık-yokluk ve yön kontrolünü yapan sistemimiz devreye alınmıştır.

Sistem bileşenleri:

front2

Şekil 1 – Elektronik Klima Kartı Ön Yüzü

back2

Şekil 2 – Elektronik Klima Kartı Arka Yüzü

Kurduğumuz sistemde iki farklı zamanda kontrol yapılmaktadır. İlk kontrol, görüntüsü Şekil 2’de gösterilmiş olan kartın arka bölümündeki bileşenlerin montajı tamamlandıktan sonra yapılır. Arka bölgesinin montajı tamamlanan kart, robot tarafından alınır ve kartın arka yüzü, kamera önüne getirilerek hassas bir şekilde konumlandırılır. Robottan gelen tetik sinyali ile ilk kontrol yapılmaya başlanır. Birinci aydınlatma açılır ve Şekil 3’de gösterilen kırmızı çemberler içerisinde gösterilen pinler ve sarı çemberler içerisinde olması gereken vidaların varlık-yokluk kontrolü yapılır. Kontrol sonucu OK ise robota OK sinyal gönderilir ve montaja devam edilir. Kontrol sonucu NOK ise robota NOK sinyali gönderilir ve parça NOK bölümüne ayrılır. Sonuç, Şekil 5’te görülen program arayüzünde canlı olarak gösterilir.

backFocus2

Şekil 3 – Kontrol Edilen Bileşenler

İkinci kontrol, görüntüsü Şekil 1’de gösterilmiş olan kartın montajı yapıldıktan sonra kart, döner masaya konumlandırılır. Robottan gelen tetik sinyali ile ikinci kontrol yapılmaya başlanır. İkinci aydınlatma açılır ve Şekil 4’de gösterilen parçanın yön kontrolü yapılır. Daha sonra ve görüntüdeki 1 numara ile belirtilen cam, 2 numarada belirtilen siyah parça ve 3 numarada belirtilen uzun saydam çubuğun varlık kontrolü yapılır. Kontrol sonrası işlemler OK ve NOK olmasına bağlı olarak, bir önceki kontrol sonrası işlemlerle aynı şekilde yapılır.

frontFocus2

Şekil 4 – Kontrol Edilen Bileşenler

screen

Şekil 5 – Program Arayüzü

 

 

C, C++, C#, VB, Delphi ile Profesyonel Görüntü İşlemeye Giriş

Görüntü işleme gün geçtikçe daha çok uygulama alani bulmaktadır. Bunun bir sonucu olarak, profesyonel veya amatör görüntü işlemeye ilgi duyan insan sayısı da artmaktadır. Bir yerlerden başlamak isteyenler için, boş vakitlerimde bu makaleler dizisini yazmaya karar verdim.

Görüntü işleme uygulamalarını, 2 ana başlık altında toplayabiliriz.

  1. Akıllı Kameralar (Smart Camera) ile yapılan görüntü işleme uygulamaları
  2. PC tabanlı görüntü işleme uygulamaları.

Akıllı kameralar ile yapılan uygulamalar, daha çok PLC programlama mantığına yakındır. Kamera üzerindeki işlemcide gömülü (embedded) bir yazılım ve çeşitli giriş – çıkış arabirimleri mevcuttur. Programcı, PLC programlar gibi kamerayı programlar ve programlanmış kamera bir nevi sensör gibi çalışarak, önceden belirlenmiş görevleri gerçekleştir. Daha çok önde gelen sensör firmaları tarafından üretilirler. (Festo, Cognex, Keyence, Sick, Omron, Banner … ilk aklıma gelen yaygın bilinen akıllı kamera / smart camera markalardır) Basit uygulamalarda, pratikliğinden dolayı tercih edilebilir olsalar da bu makalelerin konusu olmayacaklardır.

Biz burada, PC tabanlı, C, C++, C# veya VB ile profesyonel görüntü işleme uygulamaları geliştirmeye yönelik bilgiler vereceğiz. Tek başına çalışabilen (exe), istediğiniz yere kurulum yapabileceğiniz (dağıtılabilir) kendi yazılım kodunuz ile geliştirebileceğiniz görüntü işleme uygulamaları için yol göstereceğiz. Amaç, herhangi bir kamera kullanarak, o kameranın nitelikleri ile (bir yere kadar) bir şeyler yapmak değil, tamamen bağımsız çalışabilen kendi çözümünüzü geliştirebilmeniz olacaktır. Üstelik çoğu kez, akıllı kameralar ile yapılabilenden, çok daha fazlasını hedefleyeceğiz.

Profesyonel görüntü işleme uygulamaları, hemen her koşulda çalışabilecek, son derece hızlı ve tutarlı, belirli bir müşterisi olan (ya da paraya çevirilebilecek bir değer katan) uygulamalardır. İnternette, C# ya da VB ile görüntü işleme üzerine çeşitli fonksiyonların, bitmap işlemlerinin vb. anlatıldığı pek çok makale vardır. Bunlar, ya öğrenciler ya da konuya meraklı yazılım geliştiricileri içindir. Burada anlatılacak olanlar, bu gibi fonksiyonlar değildir. (Dolayısıyla bitirme projesi, dönem ödevi vb. bir amaçla bu makaleden yararlanmayı umuyorsanız, muhtemelen işinize yaramayacaktır.) Örneğin bir resimdeki dairenin alanını, iç içe for döngüleri ile vs. bulmaya kalkışmayacağız. Hemen her sektör için, endüstriyel ve profesyonel görüntü işleme uygulamaları geliştirebilmeyi anlatacağız.

Bu makaleler kimin için uygundur

  • Kendisine ait bir görüntü işleme uygulaması (exe) yapmak isteyenler
  • Akıllı kameralar ile yapılandan çok daha fazlasını yapmak isteyenler
  • İşyerinde / fabrikasında belirli işleri kendi geliştireceği sistemler ile kontrol etmek isteyenler
  • Yazılım bilgisi / tecrübesi olup, görüntü işleme konusunda yeni olanlar
  • Halihazırda geliştirdiği cihaz / elektronik aygıt vb. için akıllı görme yeteneği eklemek isteyenler vb.

Neye gereksinimiz var?

Neredeyse sadece bir PC. Muhtemelen Visual Studio (geliştirme ortamınıza göre) ya da en azından Visual Studio Express edition kurulu olmalıdır. Teknik bilgi olarak, temel yazılım bilgisi yeterlidir. (örneğin bir telefon defteri uygulaması yapabilecek düzeyde programlama bilginiz varsa, bu bilgi yeterlidir. Aksi halde, öncelikle programlama bilgisi edinmelisiniz.) Sanılanın aksine, herhangi bir kameraya gereksiniminiz yoktur. (İlerleyen makalelerde, kamera tavsiyesinde yeri geldikçe bulunacağım) Başlangıç için gerek yoktur ya da webcam bile olur.

Ne Tür Uygulamalar Yapabiliriz?

Hemen hemen her tür. Robotik, OCR, Ölçüm, Var-Yok, Bulma, Eşleştirme… Aklınıza ne geliyorsa.

Geliştireceğim Uygulama Nerelerde Çalışır?

PC ortamında. Genellikle Windows yüklü tüm PC lerde.

İleride, yazı dizisine devam edeceğim. Görüşleriniz/istekleriniz için yorum yapabilir ya da info@mavis.com.tr ye mail atabilirsiniz.

Yazı dizisinin 2. bölümü için tıklayınız…

Görüntü İşlemeye Giriş Semineri

31 Mart 2012 Cuma günü, WIN Otomasyon Fuarında, HALCON kullanarak C# ile görüntü işleme uygulaması oluşturma eğitimi verilecektir.

Eğitim Başlıkları

  • HALCON hakkında kısa bilgi
  • HALCON ile alan ve pozisyon bulan örnek uygulama
  • HALCON uygulamasının C# a aktarılması
  • C# ile çalışan uygulama (exe) üretmek
  • Çevre ile haberleşme (PLC haberleşmesi, Input/Output işlemleri)

 

Endüstriyel Görüntü İşlemede Yol Haritası

Son zamanlarda görüntü işleme (kameralı kontrol / optik kontrol) konusuna ilginin her geçen gün arttığını görmekteyim. Pek çok şirket sadece kendi alanında üretim yapmakla yetinmeyip, Ar-Ge faaliyetleri (ya da kişisel ilgi) kapsamında modern teknolojilere de ilgi duymakta. Pek çok firmada mühendisler kendi yazılımlarını geliştirmekte, kendi çözümlerini sunmakta ve gün geçtikçe daha çok kendi katma değerlerini yaratmaktadırlar. Ziyaret ettiğimiz pek çok firma, en modern teknolojileri içselleştirmesi ve kendi bünyesinde çözümler sunmasıyla (haklı olarak) övünmektedir. Bu kategoriye giren firmalar, hazır bir çözümü satın almak yerine, kendileri uygulamayı tercih etmektedirler. Maliyeti düşürmek, kendi alanlarına %100 uyum sağlayacak bir çözümü geliştirmek, eldeki nitelikli iş gücünü değerlendirmek gibi sebeplerden dolayı firmalar artık kendi teknolojilerini kendileri geliştirmeyi tercih ediyorlar. Firmaları bu yola iten bir diğer önemli sebep ise ülkemizde görüntü işleme / kameralı kontrol teknolojileri sunan firmaların (bir anlamda sektörel rakiplerimizin), doğrudan yabancı bir marka / ürün / yazılım entegre eden firma görünümünde olmaları. Bu distribütör / entegratör görünümündeki firmalar, sahadaki üretim yapan müşterinin gerçek gereksinimlerini algılamaktan uzak kalabiliyorlar. Masa başında çalışan bir çözüm var ellerinde ama bunu örneğin ısıl işlem ile cam üretimi yapan bir firmanın isteklerine uyarlamak kolay olmayabiliyor. Dolayısıyla müşteri tarafında güvensizlik oluşabiliyor ve sonuç olarak müşteri “bu işi sadece biz (kendi imkanlarımızla) yapabiliriz” hissiyatına kapılabiliyor. (Bizim (Mavis) açımızdan yine iyi bir durum bu. Çoğu kez müşteri, bir kaç firma denedikten sonra bu işin hiç yapılamayacağına hükmedip defteri kapatıyor. Bu da en kötü durum!)

Görüntü İşleme temelli teknolojiler de, işte bu başlığa giren en önemli öğelerden biri. Bu makalede kendi bünyesinde bu işi çözmeyi kafasına koymuş bir firma (müşteri diyelim) için bir hızlı başlangıç kılavuzu, Yol Haritası vermek istiyorum. Kendi bünyesinde, kendi imkanları ile görüntü işleme teknolojisine hakim olmak isteyen bir firma için en hızlı ve en profesyonel yöntemi açıklayacağım bir yol haritası.

1.  Yapılmaması Gerekenler : Elimdeki aletler ile ben bu işi yaparım hissi

Teknoloji geliştiren firmalar çoğu kez yazılımdan anlayan kişileri de bünyesinde barındırdığı için olsa gerek, yazılımcı kişi kendi bildiği programlama dili ile (genelde Delphi, Visual Basic, C#) görüntü işleme uygulamasını kendisi yapmaya karar veriyor. Google da bir arama yapıp, genelde bitmap operasyonları ve pixel pixel resmi okuyarak, başlıyor kod yazmaya… (Ya proje batıyor, ya çok uzun sürüyor, ya da yazılımcı arkadaş işten ayrılıyor)

Diğer bir yaklaşım, Matlab, Open CV vb. uygulamalar ile çalışan / çalıştığını iddia eden bir kaç örnek görüyor ve “evet istediğim buna benzer birşey, öyleyse ben de yaparım, ben de bu yolu izleyeyim” diyor.

Her iki yaklaşım da başarılı olamaz. (Tonla sebebi var ama burada detaya girmeyeceğim. Aksini düşünen ya da ispatlamaya çalışan varsa beni de bilgilendirsin bir zahmet.)

Bir de akıllı kamera (smart camera) ile gerçeklenmek istenen çözümler var, bu gibi durumlar için daha önce yazdığım şu makaleyi okuyabilirsiniz.

2. Elinizde olması gereken bileşenler

Gelelim düzgün bir yapay görme (görüntü işleme) uygulaması gerçekleştirmek için sahip olmanız gereken yazılım ve donanımlar bütününe.

Aydınlatma : İyi bir görüntü işleme uygulaması, kesinlikle iyi aydınlatılmış bir ortam ister. Aydınlatma koşullarının olabildiğince sabit (gece gündüz yaz kış vb. koşullardan etkilenmemesi) ve olabildiğince kontrollü olması istenir. Led ya da fluoresan tabanlı aydınlatma sistemleri kullanılabilir. Uygulamanın ihtiyacına göre en iyi aydınlatma sistemi seçilmiş olmalıdır. Fluoresan aydınlatmalar soft bir ışık verdiği için avantajlıdırlar. Led tabanlı aydınlatmalar için açma/kapama yapabilme, açısal/noktasal aydınlatma verebilme gibi avantajlara sahiptirler. Led aydınlatmalar, istenen geometrik tasarıma göre yerleştirme yapılabildiği için de kullanışlı olabilir.

Kamera – Lens : Endüstriyel bir kamera kullanılmalıdır. Yüksek hızda görüntü alabilen, tetik sinyalini görebilen (kameraya dijital sinyal verildiğinde fotoğraf çekmesi), USB ya da ethernet gibi bağlantı arabirimlerine izin veren ve en önemlisi tüm özellikleri yazılım ile yönetilebilen (güçlü bir SDK sı olan) bir kamera seçilmelidir. Lens, en az kamera kadar önemlidir. İyi bir megapixel lens ve görülmek istenen parçayı en iyi foculayabilecek odak genişliği, ayarlanabilir diyafram ve focus ayarı gibi özellikleri işinizi kolaylaştıracaktır. Unutulmamalıdır ki, iyi bir aydınlatma ve kamera ile, daha iş yazılıma gelmeden önce büyük çapta çözülebilir.

Yazılım : Güçlü bir görüntü işleme yazılımı, kütüphanesi kullanılmalıdır. Hızlı ve tutarlı çalışabilen, farklı dilleri ve platformları destekleyebilen, güncel teknolojilere uygun bir kütüphane olmalıdır. Geliştirilecek uygulama bu kütüphaneyi kullanmalıdır. Nasıl ki bir finans uygulaması verilerini SQL Server / Oracle vb. bir veritabanında tutuyorsa (ve programcıdan bir veritabanı yazması beklenmiyorsa) iyi bir görüntü işleme programı da, bu konuda geliştirilmiş ve optimize edilmiş bir kütüphane kullanmalıdır.

Giriş / Çıkış Modülü : Görüntü işleme sonuçlarının dış dünyaya bildirileceği, yine görüntü işleme işlemine başlama bilgisinin alınabileceği bir giriş çıkış modülü kullanılmalıdır.

Ve en önemlisi, bu teknolojiyi benimsemiş ve kendini bu konuda geliştirmek isteyen bir insan ve ona değer veren bir kurum gerekmektedir.

Eğer bu bileşenlere sahip olunmuşsa,  firma bünyesinde bu bileşenleri bir araya getirerek her tür görüntü işleme ihtiyacına çözüm sunabilecek altyapıyı sağlamış demektir.

Mavis olarak, en iyisi olduğuna inandığımız tüm bu bileşenlere sahibiz. Kendi projelerimizde, bu bileşenleri kullanmaktayız. Bunun bir sonucu olacak ki, çok farklı sektörlerde %100 çalışan gerçek yapay görme uygulamalarına sahibiz.

Görüntü işleme kütüphanesi olarak HALCON kullanıyoruz. HALCON var olan en hızlı ve en güçlü görüntü işleme kütüphanesidir. Daha fazla bilgi için googla da HALCON aratınız. Ya da bizimle iletişime geçip, ücretsiz deneme sürümünü elde ediniz ve aynı gün çalışmaya başlayınız) Kamera olarak Alman iDS firmasının uEye marka kameralarını kullanıyoruz. uEye, Almanya da üretilen, son derece gelişmiş bir SDK sunan, ideal bir yapay görme kamerasıdır. Lens, uygulamaya göre değişmektedir. Ölçme gerektiren bir uygulamada farklı lens, varlık kontrol eden bir uygulamada farklı lens kullanılır. Bu yüzden şu marka lensi şurada kullanırız demek yerine, projeye uygun bir lens kullanırız tabiri daha doğru olur.

Aydınlatma olarak projeye göre farklı çözümler sunmaktayız. Fluoresan aydınlatmalar üzerine yaptığımız özel geliştirmeler ile, soft ışık yakalamaktayız. Led tabanlı aydınlatma kullanan bir çok farklı modelimiz de mevcuttur.

Giriş Çıkış modülümüz, yine kendi geliştirdiğimiz modüllerdir. USB ya da Seri port üzerinden bilgisayar erişimi mümkündür. USB modeli tüm işletim sistemlerinde çalışabilen, arada hiç bir ilave sürücü yazılım ihtiyacı olmayan son derce hızlı modüllerdir. 5-24 V. arası herhangi bir işareti giriş olarak kabul edebilmekte, röle ya da tranzistör çıkışı verebilmektedir.

Mavis tüm bu bileşenleri bünyesinde barındırır (Stoklu çalışır)

Son olarak, Mavis, ihtiyaç duyulması halinde, tüm bu bileşenleri sağlamak dışında görüntü işleme eğitimi de vermektedir.

Mavis, kendi imkanları ile geliştirme yapan firmalara her tür desteği zevkle vermektedir ve kendi felsefesiyle birebir örtüşen bu tür firmalar ve kişiler ile başarılı projelere imza atmaktadır.

Diğer yandan, Mavis; anahtar teslimi olarak nitelenen sayısız çözüme sahiptir. Bu blog sayfalarında ya da web sitemizde (www.mavis.com.tr) takip edilebileceği gibi, mavis sadece görüntü işleme ile ilgilenen %100 Türk sermayeli tek firmadır ve yerli yabancı pek çok firma için %100 kontrol esasına dayanan hazır çözümler sunmaktadır.