Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
KAMERA YARDIMI İLE AYIRT EDİLEN VE TANIMLANAN CİSİMLERİN
3 EKSENLİ ROBOT MEKANİZMASI İLE TAŞINMASI
Emre Horoz1, Hüseyin Fatih Öten
2, Melih Kuncan
3, H. Metin Ertunç
4
1,2,3,4
Mekatronik Mühendisliği Bölümü
Kocaeli Üniversitesi, İzmit [email protected], [email protected], [email protected],
Özetçe
Bu çalışmada, 3 eksenli kartezyen robot mekanizmasının
düşey eksenine monte edilmiş USB kamera vasıtasıyla siyah
zemin üzerindeki cisimler bilgisayara aktarılmakta ve harf ise
isim yazdırılması, geometrik şekil ise belirlenen konuma
taşınması, kırmızı renkli ise diğer cisimlerden ayrılması işlemi
yapılmaktadır. Cisimler bilgisayarda görüntü işleme
metotlarıyla birbirinden ayrıldıktan sonra vakum tutucu ile
tutulmaktadır. Cisimlerin belirlenen konumlara taşıma işlemi
ise PLC ve servo sürücü kartlar kontrolüyle servo motorlar tarafından yapılmaktadır.
1. Giriş
Görüntü işleme, gerçek yaşamdaki görüntülerin resim haline
getirildikten sonra özelliklerinin ve niteliklerinin değiştirilmesi
işlemidir [1]. Görüntü işlemeyi tam olarak açıklayabilmek için
insandaki görme sisteminin temel mantığının bilinmesi
oldukça önemlidir. İnsandaki görme sisteminin temel mantığı
kısaca, gözün bir fotoğraf makinesi gibi düşünülmesi ve
beynin görme bölümleri de karmaşık bir görüntü işleme
sistemi olarak düşünülmesiyle açıklanabilir [2]. Görüntü
işleme teknolojisi günümüzde endüstriyel birçok uygulamada
vazgeçilmez olarak uygulanmaktadır. Bu teknoloji, otoyoldan
geçen araç sayısını saymak, aracın plakasını okumak, farklı
şekle sahip cisimleri ayırmak, farklı renklerdeki cisimleri
algılamak veya bir tomografi görüntüsünün netleştirilmesi gibi
birçok alanda kullanılmaktadır.
Robot birçok endüstriyel uygulamada kullanılan, iki veya
daha fazla eksene sahip, programlanabilir bir makinadır.
Görüntü işlemede olduğu gibi, robotlarda birçok uygulama
için insan kolunun işlevinden esinlenerek tasarlanmıştır. İnsan
kolundan esinlenerek tasarlanan, birçok eksene sahip robotlar
olduğu gibi kinematik sistemi basit ve 3 eksenden oluşan
kartezyen robot çeşitleri de bulunmaktadır. Kartezyen robotlar
birbirine dik eksenlerden meydana gelmektedir ve çalışma
uzayları robotun 3 eksenindeki boyutlarla sınırlıdır. Yani bir
kartezyen robotun çalışma alanı, robotun boyutundan daha
büyük olamaz. Bu bir dezavantaj gibi görülmektedir; fakat bu
robotun daha iyi konumlandırma yapmasını sağlamaktadır. Üç
doğrusal eksenden meydana gelen kartezyen robotlar,
endüstriyel imalat amaçlı uygulamalarda yaygın olarak
kullanılmaktadır [3]. Gantry sistemler yatay, dikey ve düşey
hareketleri gerçekleştirmesinden dolayı kartezyen robot
çeşitleri arasında gösterilmektedir. Gantry sistemler yatay ve
dikey eksende belirlenen konuma gidilmesi ve taşıma işini
yaparken, düşey eksende ise parçanın alınması, tutulması ve
bırakılması işlemlerini yapmaktadır. Gantry robotlarda tutma
işlemi pnömatik bir sistem olan vakum tutucu vasıtasıyla
yapılabildiği gibi mekanik ve hidrolik mekanizmalar ve
elektrik tahrikli sistemlerle de yapılabilmektedir. Gantry
sistemler, birçok otomasyon uygulamasında kullanılmıştır [8],[9].
Programlanabilir Lojik Kontrolörler (PLC) otomasyon
devrelerinde yardımcı röleler, zaman röleleri, sayıcılar gibi
kumanda elemanlarının yerine kullanılan mikroişlemci temelli
cihazlardır. Bu cihazlarda zamanlama, sayma, sıralama ve her
türlü kombinasyonel ve ardışık lojik işlemler yazılımla
gerçekleştirilir. Bu nedenle karmaşık otomasyon problemlerini
hızlı ve güvenli bir şekilde çözmek mümkündür.
Bu çalışmada, kamera tarafından alınan görüntü Matlab
Guide ara yüz programına aktarılmıştır. Bilgisayar ortamında
görüntü işleme metotlarıyla cisimler boyutlarına ve renklerine
göre sınıflandırılmıştır. Yapılan sınıflandırmaya bağlı olarak
robotun yapacağı hareketin komutları RS-232 haberleşme
portu üzerinden PLC’lere aktarılmıştır. PLC’ler üzerinden
kontrol edilen servo sürücü kartları, PLC’lerden aldığı
komutlara bağlı olarak motorları harekete geçirmektedir.
Motorların harekete geçmesiyle birlikte sistemdeki temel
işlevler olan cismin konumuna gitme, cismi tutma-taşıma-bırakma işlemleri yapılmaktadır.
2. Deney düzeneği
Şekil 1’de görülen deney düzeneği Kocaeli Üniversitesi
Mekatronik Mühendisliği Bölümü sensör laboratuvarında yer
almakta olup bu çalışmadaki uygulamalar, söz konusu düzenek üzerinde gerçekleştirilmiştir.
Şekil 1: Gantry robot sistemi
Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya
1236
Şekil 1’deki deney düzeneğinde USB kamera
kullanılmıştır. Siyah zemin üzerindeki cisimlerin görüntüsü bu
kamera vasıtasıyla USB bağlantı üzerinden bilgisayara
aktarılmıştır. Sistemde aktarılan görüntüye bağlı olarak
hareketi yapmak için 2 adet servo motor bulunmaktadır. Bu
servo motorlar, Gantry robotların temel çalışma mantığında
olduğu gibi yatay ve düşeydeki hareketi sağlamaktadır. Düşey
eksendeki hareket ise pnömatik bir sistem vasıtasıyla
sağlanmaktadır. Bu sistem hem düşey eksendeki hareketi
sağlamakta hem de cisimlerin tutulmasını sağlamaktadır.
Deney düzeneğindeki pnömatik sistem 24V ile tahrik edilen 5/2 valf ve vakum tutucudan oluşmaktadır.
Sistemde bulunan motorların kontrolünü sağlayan sürücü
kartları, 2 adet LG K-120S PLC ile tetiklenmektedir. Deney
düzeneğinde PLC tercih edilmesinin en temel nedenleri ise:
PLC kumanda devresi tasarımının çabuk ve kolay
gerçekleşmesi, bilgisayarlar ve diğer kontrolörlerle
haberleşme olanağı olması ve arıza ihtimali daha düşük olmasıdır.
3. Görüntü işleme
Görüntü işleme, kaydedilmiş olan dijital resim verilerinin
bilgisayar yardımı ile değiştirilmesi ve düzeltilmesi işlemidir.
Görüntü işleme, daha çok mevcut görüntüleri işlemek, diğer
bir ifadeyle mevcut resim ve grafikleri, değiştirmek, düzenlemek ya da iyileştirmek için kullanılır [6].
Deney düzeneğinde görüntü işleme uygulamalarını
gerçekleştirmek için, USB kamera kullanılmıştır. Siyah zemin
üzerindeki cisimler kamera vasıtasıyla görüntülenmiş ve USB
bağlantı üzerinden bilgisayara aktarılmıştır. Bilgisayarda
görüntü işleme için Matlab Guide ara yüzünden yararlanılmıştır.
Şekil 2: Matlab Guide ara yüzü
Şekil 2’de tasarladığımız ara yüz programının görüntü
alımına başlamadan önceki hali görülmektedir. Tasarladığımız
GUIDE ara yüz programında manuel kontrol alanı ile birlikte
‘en büyük cismi bul’, ‘en küçük cismi bul’, ‘cisimleri ayır’,
‘kırmızı renkli cismi bul’ ve ‘isim yazdır’ seçeneklerini içeren,
işlenmiş görüntüye göre otomatik kontrolün gerçekleştiği bir
alan bulunmaktadır. ‘En büyük cismi bul’ seçeneğinde, alınan
görüntü içerisindeki en büyük alana sahip cisim ve bu cismin
ağırlık merkezi Gauss yöntemi ile bulunmaktadır. ‘En küçük
cismi bul’ seçeneği de yine aynı mantıkla çalışmakta fakat bu
seçenekte görüntülenen cisimler arasından en küçük alana
sahip cisim tespit edilmektedir. Bir başka seçenek olan
‘cisimleri ayır’, farklı geometrik şekle sahip cisimleri ayırt
edebilmekte ve bu cisimleri belirlenen koordinatlara
göndermektedir. ‘Kırmızı renkli cismi bul’ seçeneği ise farklı
renklerdeki cisimleri filtrelemekte ve sadece kırmızı renkli
cismin algılanmasını sağlamaktadır. Şekil 3’de görüldüğü gibi
mavi, beyaz, siyah ve kırmızı renkli cisimlerin bulunduğu
ortamda sistem sadece kırmızı renkli cismi tanımaktadır. ‘İsim
yazdır’ seçeneği ise, karışık halde bulunan harfleri algılamakta
ve bu harflerden anlamlı kelimeler yazmaktadır. Bu seçenekte
öncelikle bilgisayara harflerin ve yazılabilecek kelimelerin
öğretilmesi gerekmektedir. Öğretme işlemi harflerin alan
farklarından yararlanarak yapılmaktadır. Bu öğretme
işleminden sonra sistem otomatik olarak görüntü alanında bulunan harflere göre anlamlı kelimeyi yazmaktadır.
Şekil 3: Kırmızı renkli cismin bulunması
Şekil 4’te ‘isim yazdır’ komutunun çalışmasından bir kare
görülmektedir. ‘isim yazdır’ seçeneği çalışmaya öncelikle
görüntü alanındaki harf sayısını sayarak başlamaktadır. Bu
işlemi hangi kelimeyi yazacağını tespit etmesi için
yapmaktadır. Görüntü alanındaki harf sayısını bulan sistem,
önceden öğretilmiş olan harflerinin sırasını tespit etmektedir.
Harfler tespit edildikten sonra gantry sistemdeki vakum
tutucunun harfleri tutabilmesi ve taşıyabilmesi için harflerin
koordinat merkezleri bulunması gerekmektedir. Kısaca Guide
ara yüzüne görüntü alındıktan sonra harf sayısı tespit
edilmekte, anlamlı kelime çıkarılmakta ve harflerin koordinat
merkezleri bulunmaktadır.
Görüntü alanındaki cisimlerin bulunup, robotun doğru
noktaya hareket edebilmesi için görüntü işlemenin hatasız bir
şekilde yapılması gerekmektedir. Taşınması gereken cisim
sahip olduğu alana göre diğer cisimlerden ayırt edilir. Ayırt
edilme işlemi yapıldıktan sonra en önemli işlem, cisimlerin
koordinat merkezlerinin bulunması ve bu koordinat bilgisinin
robota doğru şekilde aktarılmasıdır. Bu aktarma işlemi direkt
olarak gerçekleştirilememektedir. Bunun nedeni robotun
motorlarının, alınan görüntünün piksel verileriyle değil motor
dönüş bilgileriyle çalışmasıdır. Robotun doğru noktaya
gidebilmesi için bu iki veri arasında katsayı dönüşümü
yapılması gerekmektedir. Bu maksatla, görüntü alanındaki
cismin koordinat merkezleri, piksel verileri olarak
bulunduktan sonra motorun o noktaya gidebilmesi için kaç
Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya
1237
pps’e (pulse per second) denk geldiğini bulunması gerekir.
Bulunan bu değere göre pikselden pps değerine dönüşüm
yapılmalı ve motora doğru koordinat bilgileri ulaşması sağlanmalıdır.
Şekil 5’te yapılan tüm bu işlerin işlem algoritması
görülmektedir. Kısaca işlem algoritması, görüntünün alınıp
Matlab ortamına aktarılmasıyla başlamaktadır. Görüntüdeki
cisimlere görüntü işleme metotları uygulanarak, alanlarının
bulunması ve bulunan alana göre koordinat merkezi tespiti
yapılmasıyla devam etmekte ve piksel-pps dönüşümünün
yapılmasıyla bu verilerin PLC ler üzerinden motora aktarılmasıyla da son bulmaktadır.
Şekil 4: İsim Yazdırma Görüntüsü
4. Kartezyen robot ve PLC
Kartezyen robot ve PLC haberleşmesi iki kısımdan
oluşmaktadır. Bu kısımlar; manuel kontrol ve otomatik
kontroldür. Otomatik kontrol, görüntü işlendikten sonra
devreye girmektedir. Manuel kontrol ise tasarlanan ara yüzde
bulunan butonlarla sağlanmaktadır. Robotu manuel olarak
kontrol edebilmek için öncelikle robotun yapabileceği
hareketleri incelemek gerekmektedir. Kartezyen robotun
yapabileceği hareketler yatayda ve dikeyde olmak üzere iki
türlüdür. Yatayda ileri ve geri olarak hareket ederken, ayrıca
sağ ve sola da hareket edebilmektedir. Sonradan monte edilen
pnömatik sistemin hareketleri ise pistonun yukarı-aşağı
hareketi ve vakumun açılıp kapanmasıdır. Bu hareketler tespit
edildikten sonra robotun bu hareketleri yapabilmesi için ara
yüze manuel kontrol butonları eklenmiştir. Şekil 6’da görülen
butonların çalışma mantığı ise şu şekildedir: Butona
basılmadan önce kullanıcıdan gidilecek mesafe bilgisi
istenmektedir. Eğer bu bilgi girilmez ise, robot belirlenen
mesafe kadar gitmektedir. Mesafe bilgisi girildikten ve
gidilecek yön butonuna basıldıktan sonra, bu bilgiler PLC ye
RS 232 bağlantı ile aktarılır. PLC verileri aldıktan sonra,
işlemleri yapması için servo sürücülere gerekli bilgileri
göndermektedir. Servo sürücüler bu bilgiler sayesinde
motorları çalıştırır ve sistem hareket eder. Diğer manuel
butonlarda bu mantıkla çalışmaktadır. Fakat pnömatik
sistemleri kontrol eden butonlar için giriş bilgisine ihtiyaç
yoktur.
Şekil 5: Görüntü işleme algoritması
Şekil 7: Başlangıç algoritması
Bu bölümde, görüntü işleme uygulaması yapıldıktan
sonraki hareket kısmı açıklanacaktır. Sistemde görüntü
işlemeye başlamadan önce, robotun belirli pozisyonlara
alınması gerekmektedir. Bu pozisyonlar ‘başlangıç konumu’
ve ‘pozisyon al’ komutlarıyla gidilen konumlardır. Başlangıç
konumu sistemin yatayda ve dikeyde ulaşabileceği en uç
noktadır. Robot bu konuma geldikten sonra ‘pozisyon al’
komutuna basılması gerekmektedir. Bu komut robotu
görüntüsü alınan alanın sınırına taşımaktadır ve bu sayede
robot doğru konumlara gidebilmektedir. Bu pozisyondan sonra
kameradan görüntü alımına başlanabilir. Şekil 7’de çalışma algoritması gösterilmiştir.
Kameradan alınan görüntü, bilgisayara aktarıldıktan sonra
görüntü belli seçeneklere göre işlenmekte ve robotun yapacağı
hareketler bilgisayardan RS 232 bağlantısıyla aktarılmaktadır.
PLC çıkışlarından alınan verilerle servo motor sürücü
kartlarına aktarılmakta ve kartezyen robot mekanizması
harekete geçmektedir. Sistemde robotun hareketini kontrol
Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya
1238
eden 4 adet sınır anahtarı bulunmaktadır. Sınır anahtarları,
robotu çalışma alanı dışına gönderecek mesafe bilgileri
kullanıcı tarafından girildiğinde robotun çalışma alanı dışına
çıkmasını engeller. Bu çalışma alanı robotun sisteme zarar
vermemesi için belirlenmiştir. Sınır anahtarları robotun
çalışma alanı dışına çıkmasını engellemek için robota
hareketini veren motorları durdurması gerekmektedir.
Hareketi durdurabilmesi için servo sürücü kartlarına
dolayısıyla sürücü kartlarını kontrol eden PLC lere ulaşması
gerekmektedir. Bu yüzden sınır anahtarları PLC ye giriş olarak bağlanmıştır.
Şekil 6: Manuel kontrol çalışma algoritması
5. Deneysel sonuçlar
Çalışmamızdaki en önemli fonksiyon isim yazdırma
seçeneğidir. Bu seçenek kameranın görüş alanındaki harflere
göre anlamlı bir kelime yazma işlemini yapmaktadır. Şekil
8’de görüldüğü gibi ‘A’ ve ‘T’ harfleri konulduğunda ‘AT’
kelimesini, ‘A’, ‘İ’ ve ‘T’ harfleri konulduğunda ‘AİT’
kelimesini, ‘A’, ‘F’, ‘İ’, ‘T’ harfleri konulduğunda ‘FİAT’
kelimesini, ‘A’, ‘F’, ‘H’, ‘İ’ ve ‘T’ harfleri konulduğunda ise ‘FATİH’ kelimesini yazmaktadır.
Sistemimiz bu ayrımı kameranın görüş alanındaki harf
sayısına göre ayırt etmektedir. Ayırt etme işleminden sonrada
harflerdeki alan farklarından yararlanarak harfleri istenen noktalara taşımaktadır.
Bu çalışmada yapılan bir başka uygulama ise, kırmızı
renkli cismi farklı renklerdeki cisimlerden ayırt edip,
belirlenen noktaya taşıma işlemidir. Kırmızı renkli cisim sahip
olduğu kırmızı piksel değeriyle diğer cisimlerden ayırt edilmiş
ve koordinat merkezi bulunarak belirlenen noktaya taşınmıştır.
Yaptığımız son uygulama ise farklı geometrik cisimlerin alan
farklarından yararlanarak maksimum ve minimum alana sahip
cisimlerin birbirinden ayrılmasıdır. Çalışmanın bu kısmında
kare, üçgen ve yuvarlak geometrik şekiller kullanılmıştır.
Bulunan bu alan farklarına göre de cisimler sahip oldukları
geometrik şekillere ayrılmıştır. En büyük alana sahip kare,
ortanca alana sahip yuvarlak ve en küçük alana sahip üçgen olarak bulunmuştur.
Şekil 8: Sonuçların görüntüsü
6. Genel sonuçlar
Bu uygulamada, farklı geometrik şekillerin birbirinden ayırt
edilmesi, farklı renklere sahip cisimler arasından kırmızı
renkli cismin ayırt edilmesi ve karışık halde bulunan
harflerden anlamlı kelimeyi çıkarıp yazdırma işlemleri başarılı
bir şekilde gerçekleştirilmiştir. Birçok görüntü işleme
uygulamasında karşılaşılan ışık şiddetinin değişmesinden
kaynaklanan problem yapılan çalışmada da eksiklik olarak
belirlenmiştir. Literatür çalışması yapılırken birçok yazar bu
konunun görüntü işleme uygulamalarında önemli olduğunu
belirtmiştir. Işık çalışma alanında yansımalar oluşturduğunda,
kamera cisim olmamasına rağmen yansımayı cisim olarak
algılamakta ve robotun yanlış pozisyona gitmesine sebep
olmaktadır. Bu sorunu çözmek için sabit ışık şiddetinde
çalışmak veya değişen ışık şiddetine göre filtre katsayılarını
değiştirmek gerekmektedir. Robotun yanlış pozisyona
gitmesinde etkili olan bir başka etken ise piksel pps katsayı
dönüşümündeki ufak değerleri sistemin algılamamasıdır. Bu
ufak değer oynamaları nedeniyle cismin koordinat merkezi
kaymakta, cismin bırakılacağı yerde ufak değişimler olmakta
ve bu değişimler yüzünden cisimleri çok yakın veya çok uzağa
koymakta ve bazı noktalarda robot cisimleri tutamamaktadır.
Fakat yapılan çalışmalarla bu hata payı en aza indirilmiştir.
Yapılan çalışmada kullanılan sistem üzerinde ışık şiddetinin
stabil olması, kameranın sistem üzerinden ayrılarak sabit bir
nokta koyulması gibi sorunlar çözülürse daha iyi sonuçlar elde
edilebileceği öngörülmektedir.
Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya
1239
Teşekkür
Bu çalışma, Kocaeli Üniversitesi Mekatronik Mühendisliği Bölümü Sensör Laboratuvarında yapılmıştır.
7. Kaynakça
[1] Görüntü işleme teknikleri ile şeftali ve elma
sınıflandırma, Eser SERT, Deniz TAŞKIN, Nurşen SUÇSUZ
[2] Kılınç İ., “Çelik malzemelerde korozyon oyuklarının
görüntü işleme yöntemiyle incelenmesi”, Yüksek
Lisans Tezi, Sakarya Üniversitesi Fen Bilimleri
Enstitüsü Makina Mühendisliği Bölümü Mak. Tas.
ve İmalat Anabilim Dalı, 57, Sakarya, 2009.
[3] XYZ Kartezyen Robot ve 2-B Cad-Cam Çizici
Yazılımı Tasarımı, Cengiz Balta, Cüneyt Oysu, Zafer Bingül, Sıtkı Öztürk
[4] Basıc of MATLAB and Beyond, Andrew Knight
[5] Yılmaz, A., “Kamera kullanılarak görüntü işleme
yoluyla gerçek zamanlı güvenlik uygulaması,”
Yüksek Lisans Tezi, Haliç Üniversitesi Fen
Bilimleri Enstitüsü Makine Mühendisliği Anabilim Dalı, 102, İstanbul, 2007.
[6] LG Master-K User's Manual (1999). Instructions & Programming, USA
[7] MEGEP Dokümanı (2007). PLC Programlama Teknikleri Modülü, Ankara
[8] 3-Eksenli robota monte edilmiş kamera vasıtasıyla
geometrik cisimlerin birbirinden ayırt edilmesi,
Murat KILIVAN, H. Metin ERTUNÇ, Sermin KILIVAN
[9] 3 Eksenli Robot Mekanizmasına Monte Edilmiş Bir
Kamera Vasıtasıyla Farklı Rotasyon ve Boyutlardaki
Geometrik Cisimlerin Tanımlanarak Vakum Tutucu
ile Ayrılması, Ahmet Bakır, Ömer F. Güney, Melih Kuncan, H. Metin Ertunç
Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya
1240