ROBOTİK EĞİTİMİ İÇİN GÖRSEL BİR ARA YÜZ 1 Önder DEMİR 2 Cengiz ŞAFAK 3 Volkan TUNALI 4 Elif Pınar HACIBEYOĞLU 1,2,3 Marmara Üniversitesi Teknik Eğitim Fakültesi, Elektronik Bilgisayar Eğitimi Bölümü, Göztepe İstanbul 4 İstanbul Bilgi Üniversitesi, Fen Edebiyat Fakültesi 1 e posta: odemir@marmara.edu.tr 2 e posta: censaf@yahoo.com 3 e posta: volkantunali@hotmail.com 4 e posta: elifpinar@cs.bilgi.edu.tr ÖZET Sanayi devrimiyle birlikte üretim ve üretim teknolojileri hızlı bir şekilde gelişerek otomasyon teknikleri kullanılmaya başlamıştır. Robot teknolojisinin gelişmesiyle insani etkilerden kaynaklanan hatalar azaltılmış ve üretimde robotların kullanılması ile maliyet düşürülerek, hız arttırılmıştır. Bu sebeple robotik alanındaki çalışmalar artmış, robotik günümüzde teknolojinin gelişmesinde önemli katkıda bulunan alanlardan biri olmuştur. Bunun sonucu olarak robotik alanında yetişmiş eleman açığı ortaya çıkmıştır. Bu açığı gidermek için gelişmiş ülkelerdeki üniversitelerin eğitim programlarında robotik ile ilgili derslere yer verilmeye başlanmıştır. Bu dersler lisans veya lisansüstü seviyesinde sürekli olarak önemini korumakla beraber Milli Eğitim Bakanlığı nın yürütmüş olduğu MEGEP projesinde de mesleki okullarda modüler eğitimi verilmektedir. Robotik derslerinin uygulamalı olarak verilebilmesi için eğitim amaçlı robotlar tasarlanmıştır. Robotik uygulamalarının yoğun matematik işlemleri gerektirmesi, robotların komut setlerinin öğrenilmesinin zaman alması gibi kısıtlılıklar uygulama geliştirmeyi zorlaştırmaktadır. Bu çalışmada robotik eğitiminde uygulama geliştirmeyi kolaylaştırıp, zaman kazandırmayı sağlayacak görsel bir arayüz tasarlanmıştır. Tasarlanan arayüz; matematiksel hesapları gerçekleştirip, ayrıntılı olarak görüntülemekte ve robot ile iletişim kurarak uygulamanın gerçekleştirilmesini sağlamaktadır. 1. Giriş Robot kavramı Capek in 1921 yılında yazmış olduğu oyunda hayatımıza girmiştir[1]. 1939 yılında Westinghouse şirketi mekanik insan ve köpek tasarlar. Artık robotlar iyice kabul görmeye başlamış ve onlar içinde 1942 yılında Isaac Asimov kitabında kanunlar oluşturmuştur[2,3]. İnsanlar doğa üzerinde bulunan bir çok olayı taklit etmiştir ve bunlardan son olanı ise kendi becerelerini taklit etmedir. Günümüzde artık robotlar birçok konumda insanın yerini alır olmuştur. Peki robot nedir? Robot; malzemelerin, parçaların ve araçların hareket ettirilebilmesi için tasarlanmış olan çok fonksiyonlu ve programlanabilir manipülatör veya farklı görevleri yerine getirebilmek için değişken programlı hareketleri gerçekleştirebilen özel araç. Robotik fiziksel aktivite ve karar verme gibi uygulamalarla bir görevi yürüterek insanların yerini alabilecek makinalarla ilgili çalışmaları içerir. Robotik, geleneksel mühendislik sınırlarını kesiştiren yeni bir modern teknoloji alanıdır. Robotların karmaşıklığını ve uygulama alanlarını anlamak elektrik-elektronik mühendisliği, makina mühendisliği, endüstri mühendisliği, bilgisayar mühendisliği, matematik alanlarında geniş bir bilgi ağı gerektirmektedir[4,5]. 2. CS-113 Robotunun Özellikleri CS-113 endüstriyel robot işlemlerini laboratuar ortamlarında eğitim amaçlı olarak simule etmek için tasarlanmış bir robot koldur. 6 ekseni olan CS-113 ün eklemleri 6adet adım motora bağlı zincir, çelik tel ve dişliler ile hareket ettirilir. Kendine ait bir komut seti olan CS-113 paralel port üzerinden bilgisayar aracılığı ile kontrol edilebilir. CS-113 ayrıca kendi üzerindeki test düğmesi ile de kontrol edilebilir[6]. Tablo 1. CS-113 Özellikleri Uygulama Alanı Eğitim, Araştırma, Hobi Yapı Çoklu eklem, Metal Levha Pozisyon Duyarlılığı ± 0.9 mm Yük Kapasitesi 0.5 Kg El Mesafesi 45 mm Hareket Hızı Maksimum 300 mm/sn Ağırlık Yaklaşık 8 Kg Serbestlik Derecesi 5
2.1. Mekanik ve Elektronik Özellikleri CS-113 eklem-koordinat tip bir robottur. Hareketleri bir insan hareketleri örnek alarak tasarlanmıştır. CS-113 ün sahip olduğu 6 eksen insan vücudunun hareketlerini temsil eder. Birinci eksen insan belinin dönme hareketini gerçekleştirir fakat eğilme hareketini gerçekleştiremez. İkinci eksen insan omzunun dikey hareketlerini gerçekleştirebilir. Üçüncü eksen insan dirseğinin hareketini, dördüncü ve beşinci eksen bileğin dönme ve bükülme hareketini, altıncı eksen ise eli temsil eder. CS-113 ün elektronik yapısı Z-80 mikroişlemci, sistem program belleği (ROM), pozisyon veri alanı (RAM) ve motor sürücü devrelerinden oluşur. Tablo 2. CS-113 Eklem-Dönme Aralığı Tablosu EKLEM Bel Omuz Dirsek Bilek (Bükülme) 180 Bilek (Dönme) 360 Dönme Aralığı 240 (120 Sağ - 120 Dönme) 144 (72 Yukarı - 72 Aşağı) 100 (50 Sağ - 50 Dönme) Tablo 2. CS-113 Eklem-Dönme Aralığı Tablosu Eklem Başlangıç Pozisyonuna Göre AÇI / Maksimum Adım Sayısı ADIM + YÖN - YÖN BEL 0,12 1000 (Saat Yönü) 1000 OMUZ 0,12 600 (Yukarı) 600 DİRSEK 0,1 500 (Yukarı) 500 BİLEK 0,1 +,+ Maksimum 1800 -, - Maksimum 1800 +, - Maksimum 900 -, + Maksimum 900 EL 0,1 +1800 KAPALI / -1800 AÇIK 2.2. CS-113 ün Kontrol Edilmesi Kendisine ait 2 test modu ile kontrol edilebilen CS-113, sahip olduğu komut seti ile de kontrol edilebilir. Komutlar paralel port aracılığı ile robota gönderilip kontrol işlemleri gerçekleştirilebilir. Komut setinin robotik eğitimi açısından yetersizliği hareketlerin adım sayısı olarak bildirilip, açı değeri olarak bildirilememesi ve öğrenilmesinin zorluğundan dolayı zamana kaybına sebep olmasıdır. KOMUT Z S M C O H G N P D W Tablo 3. CS-113 Komut Seti GÖREVİ Sıfır pozisyonu atar. 5 farklı hızdan birinin seçilmesini sağlar Eklemin hareket etmesini sağlar Eli kapatır Eli açar Son hareketi hafızaya alır Hafızadaki pozisyona gider Başlangıç pozisyonuna döner Pozisyonu belleğe kaydeder Saniye olarak gecikme zamanın belirler Beklemeye alır 3. CS 113 Robotu İçin Kinematik Hesapların yapılması Bir robotun hareketlerinin incelenebilmesi için robotik özelliklerinin çıkartılması gereklidir. Bu özellikler ileri yol kinematiği, geri yol kinematiği ve hız kinematiğidir. İleri yol kinematiği bilinen taban (base) koordinatlarından yola çıkılarak end effector koordinatlarının tespiti için kullanılır. Bu kinematik hesaplamalarını yapabilmek için öncelikle tabana ait Z 0, X 0 ve Y 0 eksenleri tespit edilir. Daha sonra diğer eklemlere ait eksenler tespit edilir. End effector ise farklı olarak yaklaşım (approach a), normal (n), ve yüzey (surface s) eksenlerine sahiptir. Eksenler tespit edildikten sonra her eklem için açı ve öteleme değerlerini içeren Denavit Hartinberg (D-H) tablosunun oluşturulması gerekir. i b i i d i Tablo 5. D-H tablosunda yer alan değerler z i-1 in x i-1 ekseni etrafında dönerek z i ye gelme açısı z i-1 den x i-1 ekseni üzerinde z i ye gitme mesafesi x i-1 in ve x i ye gelme açısı z i ekseni üzerindeki öteleme miktarı Tablo 6. D-H Tablosu D-H EKLEM Parametresi 1 2 3 4 5 i 0 o +90 o 0 o 0 o 90 o
b i 0 0 19.7 15 9.8 i 0 o 43.25 o -61.97 o 0 o -90 o 16 d i 0 0 0 0 D-H tablosu oluşturulduktan sonra her bir eklem için koordinat transformasyon matrisleri olan T 1 0, T 2 1,T 3 4 5 2,T 3 ve T 4 elde edilir. Bu 5 matris çarpılarak base-end effector koordinat matrisi elde edilir. T 0 5 matrisinin birinci sütunu n (normal) denklemlerini, ikinci sütunu yüzey (s) denklemlerini, üçüncü sütunu yaklaşım (a) denklemlerini, dördüncü sütunu ise end effector koordinatlarını belirtir. Tablo 7. Base-end effector koordinat matrisi n x s x a x p x n y s y a y p y n z s z a z p z 0 0 0 1 Tablo 8. n denklemleri n x = Sin θ 1 n y = Cos θ 1 n z = C 4 (S 2 C 3 -C 2 S 3 ) S 4 (-S 2 S 3 + C 2 C 3 ) Tablo 9. s denklemleri s x = C 4 (C 1 C 2 C 3 -C 1 S 2 S 3 )-S 4 (C 1 S 2 C 3 + C 1 S 2 C 3 ) s y = C 4 (S 1 C 2 C 3 -S 1 S 2 S 3 ) S 4 (S 1 C 2 S 3 + S 1 S 2 C 3 ) s z = C 4 (S 2 C 3 -C 2 S 3 ) S 4 (-S 2 S 3 + C 2 C 3 ) Tablo 10. a denklemleri a x = [C 4 (C 1 C 2 S 3 + C 1 S 2 C 3 ) S 4 (C 1 S 2 S 3 C 1 C 2 C 3 )] a y = [C 4 (S 1 C 2 S 3 + S 1 S 2 C 3 ) S 4 (S 1 S 2 S 3 S 1 C 2 C 3 )] a z = [S 4 (S 2 C 3 + C 2 C 3 ) C 4 (-S 2 S 3 + C 2 C 3 )] hesaplamalarda yapılan bir hata deney sonucunun doğruluğunu etkilemektedir. Robot fiziksel sınırlılıkları nedeniyle erişemeyeceği koordinatlara yönlendirilmesi sonucu zarar görebilir. Robotun komut setinin motor adım sayısı esasına göre tasarlanması robotik eğitiminin temellerine uygun değildir. Ayrıca komut setinin öğrenilip robota aktarılması deney sırasında problemlere sebep olabilmektedir. Bu problemlerin giderilmesi için robotik dersi uygulamalarında kullanılacak bir görsel ara yüz tasarlanmıştır. Ara yüzün tasarımında MATLAB yazılımının görsel ara yüz tasarım aracı GUIDE kullanılmıştır[7]. Tasarlanan ara yüzle kinematik hesaplarının sebep olduğu zaman kaybı önlenmiş, hesaplama hatası yapılma ihtimali ortadan kalkmıştır. Belirtilen değerler için robotun alacağı konum grafiksel olarak belirtilerek robotun gerçekleştirmesi mümkün olmayan konumlara zorlanması engellenir. Yapılan deneyler için robotun komut seti bağımlılığı ortadan kalkmış böylece daha çok deney yapılabilmesi imkanı sağlanmıştır. Ayrıca ara yüz bir deney sırasında yapılan işlemleri, kullanılan parametreleri ve elde edilen sonuçları bir metin dosyasına kaydetmektedir. Metin dosyası yapılan deneylerin değerlendirilmesinde ve daha sonra yapılacak çalışmalara hazırlık yapılmasında kullanılabilir. Ara yüzün yaptığı hesaplamaların doğruluğunu test etmek amacı ile bazı açı değerleri için hesaplamalar ile robotun aldığı konum ölçülmüştür. Tablo 12 de sonuçlar görülmektedir. Tablo 12. Yapılan Ölçüm Sonuçları Tablo 11. p denklemleri Px = g [C 1 C 2 C 3 C 4 - C 1 S 2 S 3 C 4 - C 1 C 2 S 3 S 4 - C 1 S 2 C 3 S 4 ] + f (C 1 C 2 C 3 C 1 S 2 S 3 ) + ec 1 C 2 Py = g [S 1 C 2 C 3 C 4 - S 1 S 2 S 3 C 4 - S 1 C 2 S 3 S 4 - S 1 S 2 C 3 S 4 ] + f (S 1 C 2 C 3 S 1 S 2 S 3 ) + es 1 C 2 Pz = g [S 2 C 3 C 4 + C 2 S 3 C 4 - S 2 S 3 S 4 + C 2 C 3 S 4 ] + f(s 2 C 3 + C 2 S 3 ) + es 2 + h 4. Robotik Eğitimi için Hazırlanan Görsel Arayüz Robotik eğitimi için yapılan uygulama deneylerinde karşılaşılan en büyük problem kinematik hesaplamalarındaki zorluk ve zaman kaybıdır. Bu 5.Sonuç Tasarlanan ara yüzle önemi her geçen artan robotik eğitiminin uygulamalı eğitimine katkı sağlanmaktadır. Robotik ile ilgili uzun hesaplamaların kısa bir sürede yapılması sağlanarak daha fazla deney için imkan sağlanmıştır. Ayrıca deney yapılan robota zarar verebilecek eylemlerin yapılmasını engellenmektedir. Yazılım robot ile iletişime geçerek robotun hesaplanan koordinatlara konumlanmasını sağlar. Böylece robot ile iletişim için harici bir donanıma gerek kalmamaktadır.
Yazılım tarafından tutulan kayıt dosyası robotun aldığı konumları tüm parametreleri birlikte tutarak hem bir arşiv oluşturmada hem de sonraki çalışmalara hazırlanmakta kolaylık sağlamaktadır. Şekil 1. Tasarlanan ara yüz Şekil 2. Yazılıma ait akış diyagaramı Kaynaklar 1. Capek, K., R.U.R Rossum s Universal Robots, Dover Publications, 2001. 2. http://www.makinateknik.org/robotik/tarihteki_gelisim.php Erisim: Mart 2007
3. http://www.asimovonline.com Erisim: Mart 2007 4. Spong M. W., Vidyasagar M., Robot Dynamics and Control, John Wiley & Sons Inc., 1989 5. Sciavicco L., Siciliano B., Modelling and Control of Robot Manipulators, McGraw- Hill Int. Publ., 1996 6. CS-113 User Manuels. 7. Marchland, P., Holland, O. T., Graphics and GUIs with MATLAB, Third Edition, 2003