10 th International Scientific Conference on Production Engineering DEVELOPMENT AND MODERNIZATION OF PRODUCTION KINEMATIČKA ANALIZA MEHANIZAMA INDUSTRIJSKIH ROBOTA KORIŠTENJEM PROGRAMSKOG JEZIKA MATLAB Samir Vojić Univerzitet u Bihaću, Tehnički fakultet Bihać Ključne riječi: kinematika, industrijski roboti, SAŽETAK: MATLAB je viši programski jezik namijenjen obradi podataka u formi matrica i brojeva. Zahvaljujući fleksibilnom okruženju, širokom spektru ugrađenih funkcija kojima se efikasno dolazi do numeričkih rješenja, mogućnošću razvoja algoritama i programiranja, MATLAB se nametnuo kao nezamjenjiv alat za rješavanje problema u gotovo svim oblastima inženjerske prakse. U radu je dat primjer rješavanja direktne kinematike robotskog manipulatora sa tri stepena slobode kretanja primjenom MATLAB-a. 1. UVOD U ovom radu će biti prikazano dobijanje određenih kinematičkih veličina nekih mehanizama industrijskih robota korištenjem programskog jezika MATLAB. MATLAB je viši programski jezik razvijen sredinom 80-tih. Prva verzija pisana je u Fortranu, a kao osnova su uzeti paketi Linpack i Eispack. Nove verzije MATLAB-a (1987 i 1989) napisane su u jeziku C, a distribuira ga softverska kompanija The MathWorks Inc. MATLAB je za relativno kratko vrijeme, postao standardni programski paket na vodećim univerzitetima i istraživačkim institutima. 2. KINEMATIČKA ANALIZA ROBOTSKOG MANIPULATORA KORIŠTENJEM PROGRAMSKOG JEZIKA MATLAB U radu je analiziran robotski manipulator prikazan na slici 1. Za dati robotski sistem sa tri stepena slobode potrebno je riješiti kinematički zadatak tj. odrediti spoljašnje koordinate i=1,2,...,6 ako su poznate vrijednosti unutrašnjih koordinata kao i da je Poznate su i matrice transformacije [ [1]: (2.1) RIM 2015 1
(2.2) (2.3) kao i: (2.4) Slika 1: Robotski sistem sa tri stepena slobode kretanja 2 RIM 2015
2.1. Klasična analiza Spoljašnje koordinate su date sa: (2.5) gdje prve tri koordinate određuju poziciju vrha robotske hvataljke u odnosu na nepokretni koordinatni sistem, a druge tri koordinate date u vidu Hamilton Rodrigovih parametara određuju orijentaciju robotske hvataljke [2]. Najprije određujemo prve tri spoljašnje koordinate: (2.6) Imajući u vidu da je: dobija se: (2.7) Takođe imamo da je: (2.8) (2.9) RIM 2015 3
(2.10) Nakon izračunavanja dobijamo poziciju i orijentaciju prihvatnice manipulatora: (2.11) 2.2. Analiza pomoću MATLAB-a U nastavku rada dat je programski kod za analizu datog robotskog manipulatora napisan u -u [4] [5]. Syms q1q2q3(0.3, 0.4, 0.5) ro11=[-1,0,0] ;ro22=[0,-1,0] ;ro33=[-0.5,0,0] ; e1=[1,0,0];e2=[0,1,0];e3=[0,0,1]; ksi1=0;ksi2=0;ksi3=0; a01=[1,0,0;0,cos(q1),-sin(q1);0,sin(q1),cos(q1)] 1 0 0 0 0.9553-0.2955 0 0.2955 0.9553 a12=[cos(q2),0,sin(q2);0,1,0;-sin(q2),0,cos(q2)] 4 RIM 2015
0.9211 0 0.3894 0 1 0-0.3894 0 0.9211 a23=[1,0,0;0,cos(q3),-sin(q3);0,sin(q3),cos(q3)] 1 0 0 0 0.8776-0.4794 0 0.4794 0.8776 a02=a01*a12 0.9211 0 0.3894 0.1151 0.9553-0.2722-0.3720 0.2955 0.8799 a03=a02*a23 0.9211 0.1867 0.3417 0.1151 0.7079-0.6969-0.3720 0.6812 0.6305 xhs=(a01(1,:)*ro11+a02(1,:)*ro22+a03(1,:)*ro33) -1.4606 yhs=(a01(2,:)*ro11+a02(2,:)*ro22+a03(2,:)*ro33) -1.0129 zhs=(a01(3,:)*ro11+a02(3,:)*ro22+a03(3,:)*ro33) RIM 2015 5
-1.0951 a03n1=inline(vectorize(vpa(a03(1,3),4)), q1, q2, q3 ); a03n1 = a03n1(q1,q2,q3) = 0.3417 a03n2=inline(vectorize(vpa(a03(3,1),4)), q1, q2, q3 ) a03n2 = a03n2(q1,q2,q3) = -0.372 a03n3=inline(vectorize(vpa(a03(3,3),4)),q1,q2,q3); a03n3 = a03n3(q1,q2,q3) = 0.6305 xhn=inline(vectorize)(xhs), q2 ); xhn = xhn(q2) = -1.4605 yhn=inline(vectorize)(yhs), q1, q2 ) yhn = yhn(q1,q2) = -1.0129 zhn=inline(vectorize)(zhs), q1, q2 ) zhn = 6 RIM 2015
zhn(q1,q2) = -1.0951 a33=a03n3(0.3,0.4,0.5) a33 = 0.6305 a13=a03n1(0.3,0.4,0.5) a13 = 0.3417 a31=a03n2(0.3,0.4,0.5) a31 = -0.3720 xh=xhn(0.4) xh = -1.4605 yh=yhn(0.4,0.5) yh = -1.0129 zh=zhn(0.4,0.5) zh = -1.095 teta=acos(a33) ans= 0.805 RIM 2015 7
fi=asin(a31/sqrt(cos(1-( teta))^2)); ans= -0.627 psi=a13/sqrt(1-(cos(teta))^2); ans= 0.474 lamda1=sin(teta/2)*cos((psi-fi)/2) 0.3338 lamda2= sin(teta/2)*sin((psi-fi)/2) 0.2049 lamda3= cos(teta/2)*cos((psi-fi)/2) 0.7842 end 3. ZAKLJUČAK Kroz ovaj rad smo mogli vidjeti da se kinematička analiza industrijskog robota primjenom programskog jezika MATLAB može uraditi bez prevelikih napora i proračuna u odnosu na klasični 8 RIM 2015
sistem izračunavanja. Primjenom programskog jezika MATLAB pri rješavanju direktnog kinematičkog problema određen je relativni položaj prihvatnice robota u odnosu na nepokretni koordinatni sistem u funkciji unutrašnjih koordinata u zglobovima robota. 4. LITERATURA [1] Dan B. Marghitu, Mechanisms and Robots Analysis with MATLAB, Springer-Verlag London Limited, 2009. [2] D. Smith, Engineering Computation with MATLAB, Pearson Education, Upper Saddle River, 2008. [3] D. M. Etter and D.C. Kuncicky, Introduction to MATLAB for Engineers and Scientists, Prentice Hall, Upper Saddle River, 1996. [4] J. Sticklen and M.T. Eskil, An Introduction to Technical Problem Solving with MATLAB,Great Lakes Press, Wildwood, 2006. RIM 2015 9