Dikiş Varlık Kontrolü

Dynamic Threshold ve Shock Filter Kullanımı

Yakın zamanda yaptığımız bir projede, yapılacak kontrollerden biri kumaşın desenini algılamaktı. Texture olarak bilinen bu çalışma, görüntü işlemenin en zor yanlarından biridir. Her ne kadar HALCON texture algılama üzerine bol miktarda fonksiyon barındırsa da, texture gibi genel bir konuda, her hangi bir fonksiyondan sihirli bir işlev beklenemez. Yapılması gereken, projeye özgü kodlamada bulunmak…

Projede, kumaşın deseni kadar, kenarında dikiş olup olmadığının da kontrol edilmesi gerekiyordu.

Resimdeki orijinal resimde göründüğü gibi, araba koltuk başlığının yan tarafında dikiş olup olmadığının belirlenmesi gerekiyordu. İlk başta kolay gibi görünen bazı uygulamalar, iplik renginin değişmesi, kumaş renginin / deseninin değişmesi vb. faktörlerden dolayı hiç hata vermeden çalışacak bir yapıda olmalıydı. aşağıdaki kod, dikiş izini hatasız olarak tesbit edebilen bir HALCON kodudur. (Denemek için bu resmi alarak kaydedebilirsiniz.)

 

sonuç görüntü :

HALCON kodu

 

read_image (Image, 'K.bmp')
bin_threshold (Image, Region) 
reduce_domain (Image, Region, ImageReduced)
shock_filter(ImageReduced, SharpenedImage, 0.5, 10, 'canny', 1)
gray_opening_shape(SharpenedImage, ImageOpening, 25, 25, 'octagon')
gray_closing_shape(SharpenedImage, ImageClosing, 25, 25, 'octagon')
dyn_threshold (ImageOpening, ImageClosing, RegionDynThresh, 50, 'not_equal')
dilation_circle(RegionDynThresh, RegionDilation, 5)
connection(RegionDilation, ConnectedRegions)
select_shape(ConnectedRegions, SelectedRegions, 'area', 'and', 1000, 99999)
count_obj(SelectedRegions, Number)
if (Number > 0)
    skeleton(SelectedRegions, Skeleton)
    dev_set_line_width(2)    
    *set_line_style (3600, [20,10])
    dev_display(Image)
    dev_display(Skeleton)
endif

Burada asıl işi yapan dynamic_threshold kullanımıdır. shock_filter alınan görüntüde, kenarları belirginleştirmeye yarar. (Datamatrix, karekod, barkod okuma vb. işlemlerde önerilir) Kodda comment edilmiş set_line_style (3600, [20,10]) kodunu da açıp çalıştırırsanız, bulanan dikiş çizgisinin, kesikli olarak gösterildiğini göreceksiniz. set_line_style, HALCON çizgi gösterim biçimini formatlama fonksiyonudur.

Robot Destekli Cam, Mozaik, Parke, Mermer, Fayans, Taş vb. yerleştirme Otomasyonu

Mavis, görüntü işleme ve robotik teknolojilerini bir araya getirerek elle yapılan pek çok işlemi otomatikleştirecek çözümler geliştirmektedir. Mozaik, cam, parke, mermer, taş vb. malzemelerin robot tarafından bulunduğu yerden alınması ve daha önceden belirlenmiş şekli oluşturacak şekilde belirlenmiş yere yerleştirilmesi işlemi, Mavis tarafından bu konuda geliştirilmiş uygulamalardan biridir. Mozaik döşeme uygulaması, kameralı kontrol ve yönlendirme yazılımı ve robot sisteminden meydana gelmiştir.

Sistemin Amacı

Sistemin amacı, Mozaik, mermer, karo, fayans, taş vb. parçaları yan yana getirmek veya bir desen oluşturacak şekilde birleştirmek amacıyla çalışan işletmeler için, işlemi elle gerçekleştirmek yerine robot destekli görüntü işleme tekniklerinden faydalanarak hızlı ve hatasız olarak yapmaktır. Aynı zamanda her bir parçanın kalite kontrolünden geçmesini sağlamaktır.

Sistem, gıda sektöründe çikolata, bisküvi gibi üretim yapılan yerlerde, ambalajlama kutulama uygun yere yerleştirme gibi alanlarda da uygulanabilmektedir. (Kameralı Yerleştirme / Robot Yerleştirme)

Sistemin Çalışma Yöntemi

Sistemin amacı, daha önceden bilgisayara öğretilmiş desenin, robot tarafından oluşturulmasıdır (örülmesidir). Bu amaca yönelik olarak, her bir parça (taş, mermer, mozaik, parke vb.) kamera tarafından görüntülenir. Parça kırık, hatalı, bozuk vb. durumda ise, hatalı parça olarak ayıklanır. Parça sağlam ise rengi, şekli, dokusu, boyutları ölçülerek hedef şekil üzerinde nereye yerleştirileceğine karar verilir. Parçanın halihazırdaki koordinatları ve hedef koordinatları robota bildirilir. Robot parçayı bulunduğu yerden alarak olması gerektiği yere yerleştirir. Sistem bu şekilde seri olarak devam eder.

Sistemin İşleyişi

Konveyör kullanılan sistemlerde, konveyör üzerindeki kamera, gelen parçayı tanır. Scara robota parçanın koordinat bilgilerini verir. Robot parçayı yakalar. İkinci kamera tanınan parçanın nereye konulacağını belirler. Robota hedef koordinatlarını iletir. Robot belirlenen noktaya parçayı koyar.

Konveyör kullanılmayan sistemlerde, robot bütünü oluşturacak her bir parçayı nereden alacağını bilir. Şekli oluşturması için kullanması gereken her bir parçayı, sırası geldikçe, daha önceden bildiği konumdan alarak kamera tarafından tesbit edilmiş ilgili noktaya koyar.

Genel Kontroller

  • X – Y – Z koordinat değerlerinin ölçülmesi.
  • Renk, doku, geometrik şekil (baklava dilimi, kare, daire vs.) ölçümü yapılması
  • online robot yönlendirme
  • Hatalı parçaların ayıklanması
  • Oluşan şeklin kalite kontrolünün yapılması
  • Kullanılan parça miktarı, oluşan ürün adedi gibi istatistiklerin tutulması

Opsiyonel Kontroller

  • Dalga biçimi v.b. serbest stil formlarda üretim
  • CAD datasının okunması ve buna göre üretim yapılması

Sistemin Getirileri

  • İnsan tarafından yapılamayacak kadar hızlı ve güvenli üretim imkanı
  • Kullanılan malzeme ve üretim sonuçlarının kaydedilmesi
  • Hatalı ürünlerin otomatik olarak ayırt edilmesi
  • kesintisiz ve hatasız robot destekli üretimi imkanı
  • Otomatik etiketleme

Mavis VYP Robot Destekli Yerleştirme Sistemi

Örnek Uygulamada, tuğlalar tanınarak daha önceden belirlenmiş şekilde dizilmeleri sağlanmıştır. Kalite kontrolü, pozisyon kontrolü ve robot yönlendirme kullanılmıştır.