Metal Sac Üzerinde Boyut Ölçümü, Kenarlarda Darbe ve Yırtık Kontrolleri

Türkiye’de üretimini yapan otomotiv devlerinden olan Hyundai, araç saclarının pres anında kalite kontrolünün yapılması için MAVIS’i seçti.

Geçtiğimiz aylarda İzmit’teki otomotiv firması Hyundai’de yeni kameralı sistemimizi kurduk. Başarılı şekilde yaptığımız kurulumdan sonra 2. proje için de görüşmelere başlandı.

%100 kontrollü çalışan sistemimizde 10’dan fazla sac tipi için ölçüm kontrolleri yapıyoruz.

hyundai1hyundai3hyundai2

Üretim anında görüntüler yukarıdaki gibi temiz gelmiyor tabi, bunlar, bazı filtreler ve işlemlerden geçtikten sonraki görüntüler.

Normal şekilde üretim anında, metal saclar, konveyör üzerinden akar ve robot ile alınarak pres baskı makinesine girer. Robot parçayı almadan hemen önce bizim ölçüm kontrollerini yapmamız ve OK-NG(not good) sonucunu sisteme vermemiz gerekmektedir. Robotun durmadan pres’i beslemesi gerektiği için, bizim yapacağımız kontrollerin robota bekleme yaptırmayacak şekilde çok hızlı yapması gerekiyor. 2 parça üretimi arası 6-7 saniye sürmektedir. Ancak bizim kontrolleri bitirip çıkış vermemiz için 0.5-1 saniye zamanımız var ve tabi ki bunu yapabiliyoruz.

Sistem Bileşenleri

  • Kontrol edilecek alan geniş olduğu için (4 metreye yakın), birden fazla kamera ile bakıp, daha sonra görüntülerini birleştirmeye karar verdik. Ayrıca kameralar yaklaşık 5m yukarıya monteli.
  • Hareket halinde görüntü alınacağı için de Line Scan özellikli kameraları kullandık.
  • Kameralar USB 3.0 hızında çalışmakta, oldukça hızlı veri aktarım söz konusu.
  • Kameralar preslerin içinde ancak bilgisayar dışarı olduğu için, fiber optik kablolarla kameralara uzatma sağladık. Yaklaşık 15m uzaktan USB 3.0 ile hiç sorunsuz veri aktarımı yapabildik.
  • Görüntü işleme kısmını HALCON 13 ile yaptığımız için process zamanımız da çok kısa sürüyor 🙂
  • Aydınlatma olarak da çizgi ışık verecek yaklaşık 5m uzunluğunda led aydınlatma kullandık.
  • Sacların gelişini anlayacak ve tetik verecek şekilde uygun sensörler kullandık.
  • Bilgisayar ile hattın PLC’si arasında haberleşmeyi sağlacak arabirimler yazıldı, dijital input/output modülümüz kullanıldı.

Programın Çalışma Yöntemi ve İşleyişi

Sac konveyör üzerinde akarken, hareket halinde yani akış esnasında 4 adet kamera ile görüntüsü alınır. Bunlar birleştirilip, sac metalin bütün görüntüsü elde edilir. Bütün ölçümsel kontrolleri yapılır. En ve boy, açısal dönüklük, üzerinde fazla parça kalmış mı, bir yerinden kesik mi gelmiş, eksik bölgesi var mı, kenarlarında çizik vuruk göçük darbe olmuş mu kontrolleri hızlıca yapılır.

Kontrol sonucu OK ise devam edilir, Not Good ise sistemin durdurulması amacıyla output sinyal verilir. Ayrıca görsel ve sesli olarak ikaz uyarıları verilir.

Program kayıt tutma, raporlama, hatalı ürünü takip edebilme vs. özelliklerine sahiptir.

Genel Kontroller

  • Ebat kontrolleri, en ve boy olarak
  • Açısal dönüklük ve yön kontrolü
  • Kenarlarda vuruk, çizik, darbe kontrolü

Opsiyonel Kontroller

  • Yüzeyde çizik kontrolü
  • Pres kalıbına zarar verebilecek parazit olabilecek şekilde yüzey üzerinde fazla parça kalmış mı
  • Kenarlarda çapak kontrolü

Sistemin Getirileri

  • İnsan gözüyle yapılamayacak kadar hızlı kontrol imkanı
  • Hassas şekilde milimetrik kontrollerin olması
  • Hatalı ürünlerin otomatik olarak ayırt edilmesi
  • Sonuçların değerlendirilebilmesi, makine veriminin hesaplanması
  • Kalıba hatalı ürün gönderilmesinin önüne geçilir ve kalıba zarar verilmez
  • Operatöre, zamana, kişiye bağlı olmayan 7/24 çalışabilen kalite kontrolünün sağlanması

hyundai ekran

Photometric Stereo yöntemi

Görüntü işleme uygulamalarında genellikle kamera ve ışık sabit bir açıda durmaktadır. Oysa, sabit bir açıdan bakıldığında her zaman istediğimiz sonucu elde edemeyebiliriz. Örneğin bir cep telefonu ekranında çizik olup olmadığını anlamak için, telefon yüzeyini elimizde farklı açılar ile çevirir, farklı ışık yansımaları altında bakar ve ona göre karar veririz. Belirli bir açıdan bakıldığında yüzey temiz görünürken, farklı bir açıda çizikler belirgin hale gelebilir. Çiziklerin belirginleşmesi, tam çizik üzerine düşen ışınların gözümüze değil de başka yerlere yanıması sonucu, çiziğin koyu görülmesinden dolayıdır. Photometric Stereo, işte bu ve benzeri amaçlar için geliştirilmiş, hayli ileri bir görüntü işleme tekniğidir. Kamera sabit tutularak, ışık farklı açılardan verilir ve alınan tüm görüntülere bakılarak karar verilir. Genellikle yüzey kontrollerinde (surface inspecton) yaygın olarak kullanılır.

Çalışma Prensibi :

İnceleyeceğimiz nesneye, farklı açılardan ışık vererek, her bir ışık açısı altında görüntü alıp, alınan tüm görüntüleri değerlendirip tek bir görüntü elde etmek esasına dayanır.

Aşağıdaki resim, şampuan kutusu etiketindeki bozukluğun photometric stereo yöntemi ile bulunmasını göstermektedir.

Mavis olarak geliştirdiğimiz yapay görme uygulamaları, daha çok otomotiv ve otomotiv yan sanayi çözümleridir. Metal pul üzerinde yüzey kontrolü yapılarak, çizik, ezik, leke gibi hataların yakalanıp ayıklanması projesinde, photometric stereo kullandık.

İlk olarak o çiziği belirgin hale getirebilecek(içinin parlatılması veya gölge düşürülmesi) bir açıdan ışık vermemiz gerekiyor. Fakat bu verilen ışık, farklı yerlerdeki veya farklı yönlerdeki çizikleri belirgin hale getiremeyebilir.

45 er derece açıyla yerleştirilmiş, 4 ışık kaynağı ile 4 farklı görüntü alarak, bu görüntüleri photometric stereo işlemine tabi tutarak yüzeydeki bozuklukları yakaladık. (Photometric stereo için, kamera kalibrasyon işlemi gereklidir. Bunun için kamera kalibrasyonu makalemizi okuyabilirsiniz)

 

 

 

 

 

Bu görüntüler photometric stereo yöntemi ile birleştirilirse aşağıdaki görüntü elde edilir. Bu görüntünün işlenmesi ile hata net olarak yakalanır.

 

 

 

 

 

 

HALCON kodu :

read_image (Images, 'duz/1/'+[1:4])
for I := 1 to 4 by 1
    Message := 'Acquire image ' + I + ' of 4'
    select_obj (Images, ObjectSelected, I)
    dev_display (ObjectSelected)
    disp_message (WindowHandle, Message, 'window', 12, 12, 'black', 'true')
    wait_seconds (0.5)
endfor
* Apply photometric stereo to determine the albedo
* and the surface gradient.
Slants := [39.4,40.5,39.5,38.4]
Tilts := [-6.0,83.7,172.9,-98.2]
ResultType := ['gradient','albedo']
photometric_stereo (Images, HeightField, Gradient, Albedo, Slants, Tilts, ResultType, 'poisson', [], [])
* Display the albedo image
dev_display (Albedo)

Görüntü İşlemede Doku Analizi

Hortum üzerine sarılı kumaşın varlığının tesbiti

Görüntü işlemede son derece karmaşık ve hayli ileri derece algoritmalar gerektiren çoğu kontrol ve metodoloji, HALCON kullanarak basitçe çözülebilir. Bugün Kros Otomotivde, siyah EPDM boru üzerinde yine siyah renkli ipliklerle örülmek suretiyle oluşturulmuş dokunun var olup olmadığının kontrolünün yapılması gerekiyordu.

Görüntü işleme terminolojisinde, pattern matching, texture analysis, surface analysis vb. isimler altında ciddi çalışmalar olarak kendini gösteren bu konuya HALCON ile pratik bir yaklaşımda bulunalım.

Üzerinde çalıştığımız projeye ait orijinal görüntü solda yer almaktadır. Görüntüde, yeşil dörtgen ile belirtilmiş alanda kumaş örgünün varlığı, sarı dörtgen ile belirtilmiş alanda ise yokluğu araştırılacaktır.

Kumaşın varlığını test eden HALCON programı :

1. Resim Yüklenir, İlgilendiğimiz alan (ROI) oluşturulur ve resim bu ROI ye indirgenir

read_image (Image, 'D3.bmp')
*draw_rectangle2 (3600, Row, Column, Phi, Length1, Length2)
gen_rectangle2 (Rectangle, 687, 406, -1.4, 128, 24)
reduce_domain (Image, Rectangle, ImageReduced)

indirgenmiş resimde (ImageReduced) histogram değerlerine baktığımızda soldaki gibi dağılmış olduğunu görürüz. İdeal olmayan bu dağılım, üzerinde çalıştığımız resmin fazla aydınlatılmış olmasından kaynaklanmaktadır. Fazla aydınlatma, kumaş dokusunu görebilmek açısından önemli. Aksi halde kumaş olan yerler siyaha yakın görüneceğinden, ayırdetmek daha da zorlaşacaktı.

Bu aşamada ilk yapılması gereken, belirli bir aralığa yığılmış olan histogramı 0-255 arası tüm aralığa yaymak. Bunun için HALCON’un scale_image_max fonksiyonunu kullanacağız.

2. İndirgenmiş Bölgenin belirginleştirilmesi

scale_image_max fonksiyonu uygulanmış bölge, solda görüldüğü gibi oldukça belirginleşti. Histogram 0-255 arasına düzgün olarak dağıldı. Aradaki kuantalanmış boşlukları gidermek ve yumuşak bir geçiş sağlamak için mean_image filtresi uygulanabilir. Bunu uygulamadan hemen önce emphasize komutu ile birlikte, resim iyice belirginleştirilir. Artık bin_threshold ile seçim kolaylıkla yapılabilir.

3. Seçim ve Karar

solda, bin_threshold sonrası resmin son hali görülüyor. Artık kumaşı oluşturan doku iyice ortaya çıktı. Bundan sonrası ortaya çıkan bu yapıyı değerlendirmeye kalıyor. Ben bu örnekte basit olması açısından closing_circle ile boşlukları doldurmayı denedim ve gayet sağlıklı sonuçlar aldım. (Bu noktadan sonra sayısız alternatif olabilir)

Tüm HALCON kodunu listeliyorum

read_image (Image, 'D3.bmp')
*draw_rectangle2 (3600, Row, Column, Phi, Length1, Length2)
gen_rectangle2 (Rectangle, 687, 606, -1.4, 128, 24)
reduce_domain (Image, Rectangle, ImageReduced)
scale_image_max(ImageReduced, ImageScaleMax)
emphasize(ImageScaleMax, ImageEmphasize, 40, 40, 20)
mean_image(ImageEmphasize, ImageMean, 5, 5)
bin_threshold(ImageEmphasize, Region)
closing_circle(Region, RegionClosing, 5)
connection(RegionClosing, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 4000, 25000)
count_obj(SelectedRegions, Number)
if (Number = 1)
    write_string(3600, 'Örgü Belirlendi.')
else
    write_string(3600, 'Örgü Belirlenemedi!')
endif

3. satırda yer alan gen_rectangle2 fonksiyonunu

gen_rectangle2 (Rectangle, 687, 606, -1.4, 128, 24)

şeklinde değiştirirseniz, örgü olmayan bölümde örgünün yokluğunu düzgün olarak test edebildiğini göreceksiniz.

Programı çalıştırmak isteyenler için, örnek olarak kullandığım D3 isimli dosyayı ekliyorum. Aşağıdaki resimler arasından D3 isimli dosyayı seçerek kendi makinanıza kaydedebilirsiniz.

Görüldüğü gibi, sadece 17 satırlık basit bir HALCON kodu ile, son derece karmaşık sayılabilecek metodolojilere pratik bir yaklaşım getirmiş olduk.

Poliüretan Direksiyon’da Yüzey ve Varlık Kontrolü

Mavis, Pimsa tarafından Ford Transit için üretilen poliüretan direksiyonların kameralı kalite kontrollerini yapmak amacıyla kameralı kontrol istasyonu geliştirdi. Sistem Pimsa tarafında hat içine montaj ve direksiyon sabitleme mekanizmasının takılması gibi işlemler için devralındı. Önümüzdeki hafta içinde testlere başlanacak ve muhtemelen aynı hafta içinde eğitim verilip devreye alınacak.

Yapılan kontroller :

  • 4 adet elektrik iletim soketi kontrolü
  • 4 soketin saplama kontrolü
  • Soket boy ölçüm kontrolü
  • Yüzey Kontrolü
  • Çizik Kontrolü
  • Delik Kontrolü
  • Renk Kontrolü
  • Boy Kontrolü

şeklinde sıralanabilir.

Mavis tarafından geliştirilen istasyonda, direksiyon sabit bir yere takılmakta, üstten 4 kamera yüzey üzerindeki kontrolleri gerçekleştirip, yandan bakan 2 kamera ise, soketlere ilişkin kontrolleri yapmaktadır.

Camera Trigger vs. IO Trigger

Kameralı kontrol sistemlerinde kontrolün belirli bir tetik sinyali ile yapılabilmesi için 2 yol vardır.

  1. Tetik sinyali direk olarak kameraya girilir
  2. Tetik sinyali bir IO kart yardımıyla bilgisayara girilir

1. yöntemin avantajları :

  • IO Kart gibi ilave bir donanıma ihtiyaç olmaması
  • Kablolama sorunlarının daha az olması
  • Sensör çalışma mantığına daha yakın olması ve bakım elemanları tarafından daha kolay monte edilebilmesi
  • Tetik sinyalini aradaki kart – sürücü – program vb. arabirimlerden geçirmeden direk olarak iletebilme kolaylığı

1. yöntemin dezavantajları

  • Kontrolün programda olmaması, dolayısıyla debug (hata izleme) işlemlerinin zor yapılabilmesi
  • Kameradan görüntüyü sonsuz bir döngü içinde alma mecburiyeti ve dolayısıyla windows çalışma mantığına aykırı programlama (event based programming, reentrant message processing… kavramlarına aykırı kodlama)
  • timeout değerlerine uyma zorunluluğu (her zamankinden daha fazla olarak)
  • istisna yönetim bloklarına aşırı iş bırakma (try-catch yapıları)

gibi bir liste yapılabilir. (Kuşkusuz kullanılan yöntem ve teknolojiye bağımlı olmakla birlikte)

Bu maddelerin avantaj ve dezavantaj başlıkları yer değiştirilirse, 2. yöntem için de liste yapılmış olur.

Her ne kadar Mavis olarak 2.  yöntemi tercih etsek ve hatta kendi digital USB IO kartımızı üretmiş olsak ta, 1. yöntemin kullanıldığı uygulamalarımız da mevcuttur.

Derby traş bıçaklarında, 4 yıl önce yazılmış uygulamamız, 1. yöntemi başarıyla kullanan iyi bir örnektir. Aşağıda ekran görüntüsü verilen uygulama, ortalama 500 ms. süre aralıklarla kamera karşısına dönel bir platform üzerinde gelen traş bıçaklarının kalite kontrolünü yapmaktadır.

Yapılan Kontroller

  • Bıçaklar arası mesafe ölçümü
  • Kayganlaştırıcı parça yüzeykontrolü
  • Kauçuk yüzey kontrolü
  • Tüm varlık kontrolleri
  • Pozisyon kontrolü