VYP ye bir standart kontrol daha eklendi

Mavis, Kameralı Kontrol yazılımı VYP ye, yeni bir standart kontrol daha ekledi : “Araparça Boy ve Yükseklik Ölçümü”.

Standart kontrol, kullanıcı tarafından görsel olarak parametreleri değiştirilmek suretiyle uyarlanabilen kontrollerdir. Mavis VYP, Standart kontroller (alan bulma, var-yok kontrolleri, pozisyon kontrolleri, renk kontrolleri vb.), Gelişmiş kontroller (karekod, ocr vb.) ve projeye özgü kontrollerden oluşmaktadır.

Araparça Boy ve Yükseklik Ölçümü :

Karmaşık parçalar grubunda belirli özellikleri bilinen bir parçanın seçilip, en boy yükseklik gibi değerlerinin ölçülebilmesine yarar.

Son yapılan ilave değişiklikle birlikte (01.07.2010) araparça ölçümünde döndürme işlemi, sonda değil başta yapılmaktadır. Böylece Clip Region (sp_eliminate_run) işlemi daha sağlıklı değer verdiğinden daha hassas ölçüm mümknü olmaktadır.

Yukarıdaki şekilde, mavi dörtgen içindeki civatanın boyunu ölçmeye çalışalım. Normalde mavi dörtgen içine, hem civata hem de somun girdiğinden, ilave kontroller yapılmaksızın sadece civatayı ölçmek mümkün değildir. Mavis VYP ye yeni eklenen “Araparça Ölçüm” kontrolü ile görsel olarak programlama yapmaksızın bu kontrol bildirilebilmektedir.

Şekilde görüldüğü gibi, Araparça kontrolü kullanılarak, somun ve civatadan oluşmuş şeklin sadece  civata kısmının boyu ölçülebilmektedir.

Görev Parametreleri

  • Standart ReduceDomain İşlemi
  • Standart ApplyThreshold İşlemi
  • Standart ApplySelection İşlemi
  • Clip değişkeni : ölçülecek araparçanın min ve max Run değeri (bu değerler arasındaki parçalar dikkate alınır)
  • CheckHeight : Yükseklik ölçümü isteniyorsa bool 1 (yes, on, ok, evet değerlerinden biri) kullanılır
  • CheckWidth : Genişlik ölçümü isteniyorsa kullanılır
  • CheckLong : Uzun kenar ölçümü isteniyorsa (en ya da boy, hangisi daha büyükse)
  • CheckShort : Kısa kenar ölçümü isteniyorsa (en ya da boy. hangisi daha kısaysa)
  • RHeight : minHeight..maxHeight arası değer (beklenen geçerli yükseklik değeri. CheckHeight değeri 1 ise anlamlı)
  • RWidth : minWidth..maxWidth arası değer (beklenen geçerli genişlik değeri. CheckWidth değeri 1 ise anlamlı)
  • RLong : minLong..maxLong arası beklenen uzun kenar değeri. (CheckLong değeri 1 ise anlamlı)
  • RShort : minShort..maxShort arası beklenen kısa kenar değeri. (SheckShort değeri 1 ise anlamlı)

alt programın HALCON ve C# kodlarını edinmek ve yorum yapmak için, blog sitesinde veya bizimle (info@mavis.com.tr) yazışabilirsiniz.

Kameralı Robot Yönlendirme

Teknodrom firması ile birlikte geliştirilen bu projede amaç; konveyör üzerinde rastgele pozisyonda gelen parçaların, robot tarafından alınıp belirlenen bir yere yüklenmesini sağlamaktı. Daha önceden Teknodrom’da Emrah Hünerlitürkoğlu ile birlikte bilgisayar – robot arası seri protokol üzerinden haberleşme arabirimi geliştirmiştik. Elimizde hazır olduğu için aynı protokolü kullanarak bu projeye devam ettik. (İlerleyen aşamalarda, ethernet üzerinden haberleşmeye geçecektik.)

Teknodrom Motoman Mavis Robot Yönlendirme

Projeye başlamadan önce, Teknodrom parçaları yakalamak için özel olarak Gripper geliştirdi. Projenin ilk gününde, Mavis tarafından Emre, Teknodrom tarafında Emrahla birlikte sistemin çalışacağı ortamı oluşturup, ilk fotoğrafları aldı. Gelen fotoğrafları inceleyip daha iyi bir sonuç almak için kamerayı ve lensi değiştirdik. Nihai setup (kurulum) sağlandıktan sonra, gerçek  sistem üzerinde çalışılmaya başlandı.

2. gün ben  yazılım üzerinde ben çalışmaya devam ederken, Emrah gripper ile manual olarak nesneleri yakalamaya çalıştı. Sonuçta yazılım gerekli koordinatları bulacak, gripper ise sorunsuz çalışacak hale getirildi. Artık yapılması gereken bilgisayar ile robotu konuşturmaktan ibaretti. Bu konuda en çok vakit harcadığımız nokta, yakalanacak nesnelerin farklı farklı olmasından dolayı her birinin tutma noktasının kendine özgü koordinatlar içeriyor olmasıydı. Boru şeklindeki parçayı farklı, dirsek şeklindeki parçayı farklı pozisyonlardan yakalamak gerekiyordu. Sonuçta her parça için sanal yakalama noktası belirleyip yazılımın bu sanal noktaya göre koordinatları robota iletmesiyle sorun çözüldü. (Müjdat Bey’in soruna el atmasıyla 🙂 )

Projenin 3. günü gece yarısı, tüm sistem sorunsuz ve seri olarak çalıştı. Böyle bir proje için 3 gün rekor derecede kısa bir süre sayılabilir. Daha önceden Mavis ve Teknodrom firmalarının  birlikte çalışmış olmasının getirdiği avantajları kullandık. Elimizde hazır çözümlerimiz vardı. Yine de en önemli faktör, Mavis ve Teknodrom firmalarının kendi alanlarındaki profesyonelliklerinde yatıyordu. Kamera Kontrollü Robot Otomasyonu, böylece hayat bulmuş oldu. Yorgun geçen 3 günün sonunda sistemin daha da efektif çalışması için bazı iyileştirmelere karar verildi. Robotun daha hızlı çalışmasını sağlamak için, robot hareketini sürdürürken bilgisayarla konuşabilmesi (paralel processing) yapılacaktı. Bu değişiklikler PC tarafında da benzer bazı değişiklikleri gerektiriyordu. Robotla hem seri port üzerinden hem de digital Input / output (24V) modül üzerinden haberleşiliyordu. Bu durum, Hem robotun, hem PC nin senkronize olmasını gerektiriyordu ki,  tamamıyla hareketli bir sistem üzerinde bu senkronizasyonu sorunsuz sağlamak pek kolay olmadı.

Tüm sistem, saat 10:30 gibi müşteriye demo kurulum olarak gösterilecekti. Sabahın erken saatlerinde paralel processing denemeleri yapıldı. Eğer bir sorun çıkarsa, zaten çalışan bir versiyon elimizde vardı. Bu garantiyle, son dakikaya kadar paralel processing denemelerine devam edildi. Nihayet demo başladığında, sistem kısaca tanıtılıp robot PLAY modunda çalıştırıldı.

Sonuç başarılıydı. Nihayetinde bu bir demo sistemdi ve amacına ulaşmıştı. Bundan sonra yapılması gereken, sistemi daha da iyileştirmekti.

Bugünlerde bu iyileştirmeler üzerine çalışmaktayız.

Bunlar genel olarak;

  • Parçaların tanıtılması amacıyla Autocad dxf dosyasından yüklenebilmesi
  • Ortam ışık şiddetinin değişiminden sistemin etkilenmemesinin sağlanması
  • İlave kontrol fonksiyonları ve görsel arayüzler (Ekranda robot hareketlerinin izlenmesi, sesli kontrol vb. gibi)

Kullanılan Bileşenler :

  • Motoman Robot
  • iDS uEye renkli kamera
  • Mavis VYP Yazılımı
  • Mavis USB DIO Modülü (Elektriksel Haberleşme İçin)
  • Seri Haberleşme Kablosu
  • Konveyör
  • Test Parçaları (Dz boru ve dirsek şeklinde boru)
  • Sensör
  • Bilgisayar (Windows İşletim sistemi yüklü)

Sistemin Çalışması :

  1. Rastgele yüklenen test parçaları konveyör üzerinde ilerler
  2. parçalar sensör tarafından algılandığında Robot Mavis VYP programına işaret gönderir (24V. sinyali, Mavis DIO modülünün girişine iletir)
  3. VYP yazılımı, sensörün önündeki parçanın fotoğrafını çeker ve çevresini (contour), ağırlık merkezini, dönme açısını 3 eksende belirler.
  4. Kartezyen koordinatlardaki veriyi, daha önceden kalibre edilmiş olarak, robotun koordinat sistemine çevirir, Robotun tutacağı (X, Y, Z) koordinatlarını ve dönme açılarını (RX, RY, RZ) seri port üzerinden robota iletir.
  5. Robot verileri aldım sinyali gönderirse iletişim başarıyla gerçekleştirilmiş demektir ve robot parçayı belirtilen yerden alarak, daha önceden belirlenmiş hedef konuma taşır.
  6. Robot parçayı hedef konuma yerleştirmek veya geri dönmek için hareketini sürdürürken, VYP yazılımı yeni bir parça gelmişse, benzer şekilde bu parçanın koordinatlarını da robota iletir.
  7. Sistem döngüsel bir biçimde bu şekilde tüm parçalar için devam eder

Projenin Zorlukları :

  • Farklı parçaların, farklı pozisyonlardan tutulmak zorunda olması, dolayısıyla robota verilecek konum bilgilerinin parça bazında değişiyor olması
  • Sistemin gece-gündüz değişen ışık şiddeti koşullarında %100 çalışabilmesi
  • Konveyörü durdurmadan ve robotu bekletmeden çok hızlı fotoğraf alınıp işlenmesi, robotla haberleşmenin robot hareketini sürdürürken gerçekleştirilebilmesi

Proje Geliştirme Sürecinden Resimler