PAMUKKALE ÜNİ VERSİ TESİ MÜHENDİ SLİ K FAKÜLTESİ PAMUKKALE UNIVERSITY ENGINEERING COLLEGE MÜHENDİ SLİ K Bİ L İ MLERİ DERGİ S İ JOURNAL OF ENGINEERING SCIENCES YIL CİLT SAYI SAYFA : : 6 : : -7 AutoLISP KULLANILARAK ÜÇ KOLLU ROBOTUN HAREKET SİMÜLASYONU Mustafa BOZDEMİR*, Kerim ÇETİNKAYA** *Pamuale Üniversitesi, Teni Eğitim Faültesi, Maine Bölümü, Denizli **Gazi Üniversitesi, Teni Eğitim Faültesi, Maine Bölümü, Tenioullar/Anara Geliş Tarihi : 9..999 ÖZET İstenilen görev ve amaca en uygun biçimde robot geliştirme tasarımcılar için ço büyü önem taşır. Diğer bir deyişle üzerinde ço uğraşıldığı halde tasarlanan robotlar her zaman görev yerlerinde başarılı olmayabilir. Bu nedenle tasarımı düşünülen robot sistemlerin imalinden önce, bir simülasyon programı hazırlanara, iş alanının incelenmesi, yörünge planlamasının yaptırılması, tasarımcıya eğer var ise yanlışlıların daha robot yapılmadan giderilmesi imanını sağlayabilir. Bu onuda AutoCAD programının içerisinde bulunan AutoLISP programlama dili ullanılara, üç ollu bir robotun hareet simülasyonu yapılmıştır. Simülasyon denlemlerinde analiti ve matris çözüm metotları ullanılmıştır. Anahtar Kelimeler : İş alanı, Yörünge planlaması MOVEMENT SIMULATION OF THREE ARMED ROBOT BY BEING USED AutoLISP ABSTRACT Development of a suitable robot for desired aim and duty is very important for design enginers. On the other hand, designed robots may be unsuccesful in functioning inspite of many efforts. For this reason, before the production of considered robot systems, having prepared a simulation program, investigation of wor field, getting done path plan and mistaes could be eliminated before robot production. In this study, movement simulation of a three armed robot has been realized by using AutoLIPS programing language which is supplied with AutoCAD. Analytical and matrix solution methods have been used in simulation equations. Key Words : Wor field, Path planing. GİRİŞ Robot sistemler, istenilen amaca yöneli olara hazırlanan meani, eletroni ve bilgisayar alt sistemlerinin belli bir hareet yönetim programı altına çalıştırılmasıyla oluşturulan sistemlerdir. Robotlar, çeşitli görevleri yapma masadıyla değişi şeillerde programlanmış hareetlerle; nesnelerin, gereçlerin yada özel düzenelerin taşınması için tasarlanmış ço işlevli bir manipülatörlerdir (Todd, 986). Elde edilen ürünlerin alitesinin yüseltilmesi, üretim mitarlarının artırılması onularında, bilgisayar desteli tasarım ve üretim alanlarında süreli olara araştırmalar yapılmatadır. Robot sistemler, tasarlandıları görevlerin amaçlarını ço hızlı ve hassas olara yapabilirler. Günümüzde robot sistemlere özellile, insan sağlığı ve güvenliğinin tehlie altında bulunduğu ortamlarda yada işlerde ihtiyaç duyulmatadır (Bozdemir, 996). Otomobil imal ve montajındai her türlü ayna işlemlerinde, ilaç sanayinde, nüleer santrallerde yaıt yülemesinde, ısıl işlemlerde ullanılan tezgahlara iş parçası yerleştirmesinde vb. iş alanlarında, robot sistemler ullanılmatadır (Rany, 985). Bu
setörlerin endi aralarındai reabetleri ve daha aliteli ürün yapabilme çalışmaları sonucunda, robot sistemlerin ullanılmaları yaygınlaşara devam etmetedir. Robot sistem şeillerinin tasarımı yada imali yapılmadan önce, sistemin ullanılacağı yerdei görevinin tam olara bilinmesi gereir. Yapılması istenilen göreve en uygun olaca şeilde robot sistem dizayn edilmelidir (Mitsubishi, 994). Tasarımı planlanan robot sistemin imalinden önce, simulasyon programı hazırlanara iş hacminin incelenmesi, yörünge planlamasının yaptırılması, tasarımcısına yeni görüş açıları azandırara beli sistemdei yanlışlıların daha robot yapılmadan giderilmesi mümün olacatır. Robot sistem simulasyon programları, Pascal, C++, Cobol gibi programlama dilleri ullanılara hazırlanabilir. Çizim ve düzenleme fonsiyonlarının ullanılışlığı nedeniyle AutoCAD çizim programı içerisinde bulunan, AutoLISP programlama dili ullanılara da bu şeilde bir simulasyon programı hazırlanabilir. Yapılan çalışma içerisinde, PUMA tip üç ollu robot sistemin yörünge hareet hareetinin simulasyon programı hazırlanmıştır. Lısp programlama dili yapay zea çalışmalarında ullanılır. AutoLISP ise Lisp in AutoCAD ile ullanılabilece şeilde uyarlanmasıdır. AutoLISP ın çalışması için öncelile AutoCAD ın çalıştırılması gereir. AutoLISP ile hazırlanan bir simulasyon programını çalıştırabilme için, çizim ve görüntü ayarlamalarının bulunduğu *.dwg uzantılı çizim dosyasının ullanılması gereir (Çıış, 994). Kullanılan bu çizim dosyası ile programı çalıştırma için her defa görüntü ve çizim özellilerini ayarlamaya gere almaz. Çizim dosyası içerisinde AutoCAD eranını istenilen sayıda görüntü penceresine bölme ve bu pencerelerin her birine değişi yönlerden bama mümün olmatadır. Üç boyutlu olara hazırlanan ve robot simulasyon programını içeren lisp (*.lsp) dosyası, *.dwg uzantılı bu çizim dosyası üzerinde çalıştırılabilir. Elde edilen robot simulasyonu görüntüsüne değişi yönlerden baılabilir (Önden, üstten, perspetif vb). AutoLISP ile hazırlanan robot simulasyon programındai tüm atman, limits, zoom ve görüntü penceresi ayarları Robot.dwg ismindei AutoCAD çizim dosyası içerisinde salanmatadır. AutoLISP programı bu hazır ortamdai ayarlamalar etisinde çalışmatadır (Bozdemir, 996). Robot sistem simulasyonu ve bilgisayar ortamında tasarım onusunda yapılan çalışmaların bir tanesi de sistemde ters inemati çözümler ullanılara yapılan gövde ve 7 bile meanizması tasarlayabilen modüler robot programlarıdır (Kocabaş, 99). Robotların yörünge planlaması ve evri inemati yöntemlerle devre dışı olara hesaplanan bilgiler sisteme girdi olara verilere çevrim denetimi sağlayan programlarda geliştirilebilmetedir (Dağ, 995). Puma tip robotların simulasyonu ile ilgili olara yapılan ROBSIMPRO isimli grafi simulasyon programında ise üç boyutlu olara hazırlanan model üzerinde grafi öğreti yöntemi ullanılmatadır. Bu yöntemle off-line programlama ve yörünge planlamasının animasyonu yapılmatadır (Konuseven, 99). SİMULASYONU YAPILAN ROBOTUN YAPISI Simulasyon programında ullanılan robot ol sistemi üç ol ve bile meanizmasından oluşmatadır. Bu manipülatörün ollarının yapısı, dönebilen mafsallardan oluştuğu için hareet alanı üresel bir şeildedir. İş alanının dış sınırını, robot ollarının tam açıldığı durumdai toplam ol boyu oluşturur. Küresel iş alanı içerisinde olların boyut farından ve uç elemanın ulaşamadığı diğer bir üresel bölge vardır (Şeil ). Şeil. Simulasyon programında ullanılan robot sistemin çalışma alanı Simulasyonu yapılan robot olunun yatay X-Y düzlemi üzerindei hareet alanı, düşey esende saatin tersi yönünde 7 o li bir alan olara tespit edilmiştir. Robot sistemin görevi, çalışma alanı içerisinde oordinatı verilen cisimleri onumu önceden tanımlanmış olan onveyör üzerine yerleştirmetir. Simulasyon programının hazırlanmasında, analiti hareet denlemleri ve matris hesaplama metotları birlite ullanılmıştır. Analiti çözümde AutoCAD in lasi bazı düzenleme omutları ullanılara sonuca ulaşılmıştır. Mühendisli Bilimleri Dergisi 6 () -7 Journal of Engineering Sciences 6 () -7
. ANALİTİK HESAPLAMA YÖNTEMİ Robot ol, mafsal bağlantıları sayesinde uzay oordinat düzleminde dairesel hareetler yapmatadır. Robot sistem olları tarafından yapılan, hedef onuma ilerleme hareetleri sonrasında uç eleman, iş parçası olara abul edilen cismin oordinatlarına gelmetedir. Şeil de şemati olara gösterilen robot ol üzerindei B notası uç elemanı, A notası ise, üç boyutlu düzlem içerisindei hedef cismi göstermetedir. A notası, A(Csmx, Csmy, Csmz) şelindei oordinatta tanımlanmıştır. hareet ettirilir. Kolfar değerinin sıfırdan üçü olduğu durumda saat yönüyle aynı ve OB mesafesini azaltaca şeilde bir hareet yaptırılır. (IF (> olfar ) (WHILE (< Koluz Cisuz)... (WHILE (> Koluz Cisuz) Simulasyon programda XY düzlemi üzerindei hareetlerin gerçeleştirilmesinde AutoCAD in Rotate omutu ullanılmıştır. Rotate omutunu ullanmadan önce nesne seçimi ve döndürme notasının belirlenmesi için Ssget ile tanımlanmış seçim penceresinin açılması gereir. Seçim penceresinin açılmasında, seçim alanının sınırlarını oluşturaca çapraz ii öşenin oordinatı verilir. Rotate omutu ullanılara seçim alanı içerisindei işaretlenen objelerin tamamı, belirlenen Z notası etrafında hesaplanan mitar adar döndürülmesi sağlanır. (Setq Z(Ssget "C " '(-45-45) '(4 5))) (Setq Dönno(,,)) (Command "Rotate" Z "" Dönno ) Şeil. Analiti metotla robot ol hareetlerinin hesaplanması Omuz merez notası O, oordinat düzleminin merezinde (,, ) notasında bulunmatadır. A-O mesafesi cismin robot ol omuzuna uzalığı olup, simulasyon programı içerisinde CİSUZ ısaltmasıyla tanımlanara ullanılmatadır. Setq CİSUZ ( Sqrt ( + (*Csmx Csmx)(*Csmy Csmy) (*Csmz Csmz))) Robot sistem uç tutucusunun onum hareetlerini yönlendirme tanım notası D(Dx, Dy, Dz) dır. D-O mesafesi açı ol boyunun omuz merezine olan uzalığını göstermetedir. Program içerisinde bu uzalı KOLUZ ısaltmasıyla ullanılmatadır. Setq KOLUZ (Sqrt ( + (* Dx Dx) (* Dy Dy) (* Dz Dz))) Cismin omuz merezine olan mesafesi ile ol uç elemanının mesafesi arasındai far mitarı, robot ön olunun ara olla birleşim mafsalı üzerinde saat yönüne veya ters yönde dönmesiyle eşitlenir. Bu far mitarı Kolfar ifadesi ile tanımlanmatadır. Setq Kolfar (- Cisuz Koluz). Kolfar ifadesinin değeri sıfırdan büyü ise ön ol, saatin tersi yönünde OB mesafesini artıraca şeilde Z eseni üzerinde, cismin onveyöre yerleştirilmesi hareetin gerçeleştirilmesi sırasında uç eleman tarafından tutulan cismin onveyör üzerine düzgün şeilde bıraabilmesi için Repeat omutu ullanılmıştır. Repeat, döngü içerisinde verilen değişeni ontrol edere, hesaplanan mitar adar döngünün gerçeleştirilmesini sağlar. (Repeat ( - Csmz Cz ) (Setq Cx (Sqrt(- ( * Ulboy Ulboy) ( * Cz Cz)))) (Setq Dx (Sqrt(- ( * Klboy Klboy) ( * Dz Dz)))) (Setq Cz (+ Cz )) (Setq Dz (+ Dz )) Yuarıdai verilen program parçasında Repeat omutu içerisindei işlem (Csmz-Cz) işlem sonucu adar terar eder. İşlem sırasında Cz ve Dz değerlerinde meydana gelen yeni sonuçlar terar sayısını etilemez. Simulasyon programındai temel yalaşım, hesaplanan temel notalara robot sistem şeli çizilmesinden sonra yeni oordinatların hesaplanara robot şelinin bu notaya terar çizilmesi biçimindedir. Robot ol sisteminin yeni hesaplanan onuma çizilmesi için, bir öncei robot şelinin erandan silinmesi gereir. Silme işleminde Erase omutu ullanılır. Bu omutun ullanılabilmesi için silinmesi gereen obje yada objelerin tanımlanması geremetedir (Çıış, 994). (Setq Z(Ssget "W" '(-5-49) '(5-5))) (Command "Erase" Z"") Mühendisli Bilimleri Dergisi 6 () -7 Journal of Engineering Sciences 6 () -7
AutoCAD yeni şeillerin oluşturulması ve esilerin silinmesi işlemleri sırasında eranda oluşan bazı işaretleme notalarının temizlenmesi geremetedir. Görüntü temizleme işlemini yapma için Redraw omutu ullanılmatadır. Erase omutu sonrasında ullanıldığında, silme işlemi sonrasında alan notaların temizlenmesi sağlanmatadır.. MATRİS ÇÖZÜMLEME YÖNTEMİYLE SİMULASYON Robot ol sistemlerinde; onum, hız, ivme hareetlerinin hesaplanmasında matris formül denlemleri ullanılmatadır. Bu formüller sayesinde robot ol sistemlerine ait onum ve açısal değişmeler, hız, ivme veya uvvet hesaplamaları yapılabilmetedir (Craig, 98). Robot ol sistemi tarafından X, Y, Z esenleri etrafında bir cismin döndürülmesi işlemi sonrasındai, pozisyon oordinatlarını hesaplama için aşağıdai Tablo dei rotasyon dönüşüm matrisleri ullanılır (Pouli, 98). Matris çözümleme teniği simulasyon sırasında robotu oluşturan bütün temel notalara uygulanmalıdır. Konum pozisyon oordinatları elde edilen bütün notalar, simulasyon programı içerisinde ullanılara robot ol sistemin hareeti sağlanmatadır. Sistemin çözümüne omuz eleminden başlanır. Çözüm sırasında ullanılaca her bir ola ait çözüm değişenleri Tablo de gösterilmiştir. Tablo. Rotasyon Dönüşüm Formüllerinin X, Y, Z Örne Notalarına Uygulanışı (Bozdemir, 996; Pouli, 98) Rotasyon Matrisleri Rotasyon Matrislerinin A,B,C Örne Notalarına Uygulanması A, B, C Örne Notalarına Ait Pozisyon Koordinatları X E K S E N İ Rot( x, φ) cos( φ) sin( φ) sin( φ) cos( φ) Rot(x, φ)*a ax ((ay.cos( φ)) + (az.( sin( φ))) ((ay.sin( φ)) + (az.cos( φ))) Ax ax Ay (( ay.cos( φ)) + (az.( sin( φ))) Az (( ay.sin( φ)) + (az.cos( φ))) A (Ax, Ay, Az) Y E K S E N İ ((bx.cos( γ)) + (bz.sin( γ))) cos( γ) sin( γ) by Rot(y, γ)*b (((bx.( sin( γ)) + (bz.cos( γ))) Rot(y, γ) sin( γ) cos( γ) Bx (( bx.cos( γ)) + (bz.sin( γ))) By by Bz ((( bx.( sin( γ)) + (bz.cos( γ))) B (Bx, By, Bz) Z E K S E N İ cos( ϕ) sin( ϕ) Rot(z, ϕ) sin( ϕ) cos( ϕ) Rot(z, ϕ)*c ((cx.cos( ϕ)) + (cy.( sin( ϕ)))) ((cx.sin( ϕ)) + (cy.cos( ϕ))) cz Cx (( cx.cos( ϕ)) + (cy.( sin( ϕ)))) Cy (( cx.sin( ϕ)) + (cy.cos( ϕ))) Cz cz C (Cx, Cy, Cz) Tablo. Robot Kol Sistem Kollarına ait Çözüm Değişenleri (Bozdemir, 996; Craig,98) Kol No Elem değişeni Burulma açısı β d b Cos β Sin β θ 9 θ B θ B Mühendisli Bilimleri Dergisi 6 () -7 4 Journal of Engineering Sciences 6 () -7
θ b β d An Cos Sin Esen etrafında dönme Kol uzunluğu İi elem arasındai burulma açısı İi ol arasındai orta normal farı θ θ Sin Cos Sin Cos d θ Cos β θ Cos β β Sin Cos θ Sin β θ Sin β β bcos bsin θ θ () matrisi denlemindei yerlerine onulara yapılan işlemlerin sonuçları Tablo de gösterilmiştir..kol.kol U θ θ.kol U b U U Tablo de gösterilen robotun ollarına ait değişenler, numaralı genel dönüşüm matrisinde endi yerlerine yerleştirilere olların dönüşüm matrisleri bulunur (Craig, 98)., ve numaralı ollara (Şeil ) ait değişenlerin genel dönüşüm θ Şeil. Simulasyonda ullanılan Robot Kol Sisteminin, onum matris denlemlerinde ullanılan değişen elemanları Tablo. Robot Kollarına Ait Genel Dönüşüm Denlemi Sonuçları (Craig,98; Pouli,98). Kol elemine ait Dönüşüm matrisi. Kol elemine ait dönüşüm matrisi. Kol elemine ait dönüşüm matrisi A A b b A b b Robot olları için bulunan dönüşüm matrislerinin çarpımından numaralı olun ucunda bulunan uç eleman bağlantı notasının pozisyon matrisi elde edilir. Robot sistemin herhangi bir mafsalında meydana gelen açısal onum değişmesi sonucundai, serbest ol ucunun onum oordinatı numaralı denlemle hesaplanır (Pouli,98). T A A A () Robot sistem serbest ol ucunun, diğer olların hareetlerindei değişime bağlı olara hesaplanan onum pozisyonu matrisi numaralı denlemde görülmetedir (Craig,98). CCC SSC SCC SCC S CCCb CSSb + CCb SCC SSS SCS SSC C SCbC SSSb SCb T + SC + CS CC SS SbC + bsc + bs () 4. ROBOT SİMULASYON PROGRAMI AutoLisp te hazırlanan robot simulasyon programını çalıştırabilme için, AutoCAD çizim ortamının salandığı *.dwg uzantılı dosyasının ullanılması gereir. Çizim dosyası AutoCAD ortamına yülenditen sonra, FİLE menüsü içerisindei Applications başlığı ullanılara robot simulasyon programını içeren lisp dosyası yülenmelidir (Aurt, 994). Program yülenditen sonra güncel görüntü penceresi olara nesne seçiminin tam olara yapılabildiği pencerenin ullanılması gereir. Anlatılan şeilde hazırlanmış ve bilgisayara yülenmiş olan bir simulasyon programının eranda görüntüsü Şeil 4 te görülmetedir. Elde edilen bu görüntüde, robot ol sistemi iş parçası olan cismi tutara onveyör üzerindei yerleştirme notasına hareet etmetedir. Simulasyon sırasında robot ol sistemine değişi baış açılarından baabilme mümündür. AutoCAD eranı, örneğin 5 farlı pencereye ayrılara robotun ön, yan, üst, alt ve perspetif şeillerde görüntülenmesi sağlanabilir (Şeil 4). Simulasyonu yapılan robot olunun herhangi bir esen etrafında dönmesini sağlayabilme için, robotu oluşturan bütün notaların bu esen etrafında hareetinin sağlanması geremetedir. Bu nedenle her nota için matris olara hesaplanmış oordinat denlemleri yazma gereir. Simulasyon programında ullanılan örne robotun yalaşı adar temel çizim notası vardır. Bu notaların hareetlerinin süreliliği sağlanması halinde simulasyon programı doğru biçimde çalışacatır. Robot ol üzerindei bazı notaların, pozisyon oordinatları program içerisinde şu şeilde hesaplanmatadır. Mühendisli Bilimleri Dergisi 6 () -7 5 Journal of Engineering Sciences 6 () -7
İş parçası (ÖNDEN GÖRÜNÜŞ) (ÜSTTEN GÖRÜNÜŞ) Şeil 4. Simulasyon programda AutoCAD eranı değişi görüntü pencerelerine bölünmesiyle, önden ve üstten baışın sağlandığı eran görüntüsü ;B (Setq BPx(car BP)) (Setq BPy(cadr BP)) (Setq xx(-(* c BPx)(* s BPy))) (Setq xy(+(* s BPx)(* c BPy))) (Setq xz(caddr BP)) (Setq BP(List xx xy xz )) ;C (Setq CPx(car CP)) (Setq CPy(cadr CP)) (Setq xx(-(* c CPx)(* s CPy))) (Setq xy(+(* s CPx)(* c CPy))) (Setq xz(caddr CP)) (Setq CP(List xx xy xz )) 5. SONUÇ Tasarlanma istenilen robot ol sistemleri için, simulasyon programları ullanılara robotun imali yapılmadan iş hacminin, yörünge planlamasının, çalışma durumunun incelenmesi, sistem tasarımcılarına büyü avantajlar sağlamatadır. Robot ol sisteminin bilgisayarın sanal ortamında ullanılması ve robotun yapacağı işin benzerinin simulasyonunun yapılması, robotu tasarlayan üreticilere bazı yeni fiirler yada baış açıları azandırabilmetedir. Robot simulasyonu onusunda Pascal, C++ ve Cobol gibi diller ullanılara yapılmış değişi programlar vardır. Bu çalışmada Autolisp ullanılara da robot simulasyon programının yapılabileceği gösterilmiş ve AutoCAD çizim programının yaygın olara ullanılmaya başlandığı ülemizde, AutoLISP e yeni bir ullanım alanı daha ortaya onulmuştur. AutoLISP programlama dili ullanılara ollu PUMA tipi bir robotun, analiti çözüm ve matris hesaplama metotlarıyla hareet simulasyonu yapılmıştır. Her ii çözüm yöntemi de, simulasyonun gerçeleşmesini sağlayabilmetedir. Faat analiti olara hesaplama yapma üç boyutlu uzay içerisinde hesaplama armaşılığına sebep olmatadır. AutoCAD in Rotate ve bazı düzenleme omutları ullanılara pozisyon oordinatlarının çözümündei armaşılı engellenebilmetedir. Matris çözümleme yöntemiyle yapılan simulasyon, robot ol sistemi oluşturan temel çizim notaların Mühendisli Bilimleri Dergisi 6 () -7 6 Journal of Engineering Sciences 6 () -7
oordinatlarının ço hassas hesaplamasından dolayı tercih edilir. Matris hesaplama metodunda robot ol sistemini oluşturan bütün notalar için hareet denlemi yazma gereir. Buna rağmen, matris çözüm uygulanara yapılan simulasyon, analiti olara yapılan simulasyondan daha hızlı gerçeleşmetedir. 6. KAYNAKLAR Aurt, M. 994. AutoCAD R4, Birsen Yayınevi. Bozdemir, M. 996. Robot Sistem Elemanları ve Hareet Analizleri, Y. Lisans Tezi, Gazi Üniversitesi. Craig, J. 98. Introduction To Robotic, Mechanics And Control. Çıış, E. 994. AutoLISP, Türmen Kitapevi. Dağ, B. 995. Üstel Dönme Matrisleri Kullanılara Robot Kollara ait Kinemati Formüllerin Çıartılması ve Bilgisayara Uygulanması, ODTÜ, 79. Kocabaş, H. 99. Bilgisayar Yardımıyla Modüler Robottasarımı, 4. Ulusal Maine Sempozyumu, ODTÜ, 5. Konuseven, E. İ. 99. Robsimpro: Grafisel Robot Simülasyonu ve Puma Tipi Bir Robotun Programlanması, 4. Ulusal Maine Sempozyumu, ODTÜ,. Mitsubishi Industrial Micro-Robot System, 994, Model Rv-M Instruction Manual, 9- Pouli, R. 98. Robot Manipulators Mathematics, Programming And Control. Rany, P. G. 985. Robot Modelling, Control And Applications With Software, Ifs (Publications) Ltd. U, Springier-Veering Todd, D. J. 986. Fundamentals of Robot Technology, Kogan Page, London. Mühendisli Bilimleri Dergisi 6 () -7 7 Journal of Engineering Sciences 6 () -7