Professional Documents
Culture Documents
UVOD
elja da realizuje maine koja e ga zameniti pri poslovima isuvie opasnim, napornim ili
monotonim, kod oveka je prisutna, verovatno, oduvek. Veoma esto su konstrukcije
poprimale ovekoliki izgled (Sl. 1.1. - 1.3.), delom zbog tenje da napravi sopstvenu
repliku, a delom zbog lakeg uklapanja ovako koncipirane maine na radno mesto koje je
ve prilagoeno oveku. Mada se tokom novije istorije mogu nai primeri sloenih
mehanizama (Sl. 1.2.) koji su realizovali veoma sloene pokrete ovi ureaji, pri stroijem
tumaenju, ne mogu biti nazvani robotima. Pre svega, od robota se oekuje znatno iri
Sl. 1.1. Skica ideje o nainu pogona noge robota (levo) i model viteza , Leonardo da Vini, oko 1495. god.
spektar aktivnosti nego to su ovi automati mogli da realizuju tj. oekuje se da mogu da
realizuju razliite zadatke (mada tekst koji Pisar, Sl. 1.2., ispisuje moe da bude proizvoljno
zadat u duini od 40 karaktera, ipak ovaj automat moe samo da pie i to samo jednom
vrstom slova), a intuitivno se oekuje samostalno i svrsishodno delovanje robota u okolini u
1
Industrijska robotika
Uvod
Dostignue
1898
1946
1952
1954
1956
1962
1968
Dor Devol (George Devol) razvio prvi magnetski kontroler. Na Pensilvanijskom univerzitetu realizovan Eniac, prvi savremeni raunar.
1972
1973
1973
1976
1977
1978
1979
1980
1984
Na Waseda univerzitetu razvijen Wabot-2 koji je bio u stanju da ita note i svira
elektrine orgulje.
1986
1987
Kompamije ASEA i BBC Brown Boveri formirale ASEA Brown Boveri (ABB)
1992
1997
1998
2000
Uvod
Industrijska robotika
Sl. 1. 4. Plakat, glavni lik i scena iz predstave Rosumovi univerzalni roboti (RUR) ekog pisca Karela apeka.
Re robot je u savremeni renik 1920. godine uveo eki pisac Karel apek, u svom
pozorinom komadu R.U.R. (Rosumovi univerzalni roboti, Sl. 1.4.). Re robot potie od
eke rei robota koja oznaava teki rad.
Postoji vie definicija ta je robot. Prema definiciji Meunarodne organizacije za
standardizaciju (standard ISO 8373) manipulacioni industrijski robot je definisan kao
automatsko upravljani reprogramabilni vienamenski manipulator sa tri ili vie upravljanih
osa, koji moe biti nepokretan ili pokretan u odnosu na podlogu i koji se koristi u zadacima
industrijske automatizacije. Prema definiciji Japanske asocijacije za robotiku (JARA)
roboti se mogu klasifikovati u est klasa:
- Runo (pomou operatora) upravljani ureaji za rukovanje materijalom.
- Ureaj za rukovanje materijalom koji je tako konstruisan da moe da realizuje
samo fiksni, unapred definisani, niz pokreta (engl. Fixed Sequence Robot).
- Ureaj za rukovanje materijalom koji je tako konstruisan da moe da realizuje
niz pokreta koji lako moemo da modifikujemo (engl. Variable Sequence
Robot).
- Robot kod kojeg se kretanje moe zapamtiti radi kasnijeg ponavljanja (engl.
Playback Robot).
- Numeriki upravljani roboti koji imaju ureaj za runo obuavanje
provoenjem kroz niz definisanih poloaja.
- Inteligentni roboti koji mogu da razumeju svoju okolinu i u stanju su da
zavre zadatak uprkos izmenjenim radnim uslovima.
Zbog nesaglasnosti ovih definicija podaci o broju robota u Japanu nisu u potpunosti
kompatibilni sa podacima o broju robota u drugim zemljama.
Dok je u poetnim fazama razvoj uglavnom bio fokusiran na industrijsku robotiku,
savremeni trenutak i bliska prolost su karakterisani naglom ekspanzijon razvoja robota i u
drugim oblastima ivota. Tako se pojavljuju: roboti za domainstvo, roboti koji se koriste u
terapeutske svrhe, roboti za negu starijih i onemoalih osoba, roboti za pomo pri hirurkim
zahvatima, roboti za gaenje poara, roboti u industriji zabave ... (Sl. 1.5.). Neki od njih
imaju humanoidni oblik (Sl. 1.6.). esto se robotika u drugim oblastima izvan industrijske
naziva servisnom dok se, ukoliko roboti imaju ovekoliki izgled naziva humanoidnim.
Industrijska robotika
Uvod
a)
b)
c)
f)
d)
e)
Sl. 1.5. Roboti van oblasti industrijske robotike: a) robot usisiva, b) terapeutski robot Faro, c) pomo
hendikepiranim osobama, d) pomo pri hirurkim zahvatima, e).protivpoarni robot, f) roboti u industriji zabave
Razmotrimo detaljnije razvoj industrijske robotike. Ako preskoimo rane faze (pojava
motora sa obrtnim magnetnim poljem i elektronskog raunara) za poetak ubrzanog razvoja
industrijske robotike presudan je bio pronalazak tranzistora 1947. godine i integrisanog
kola 1959. godine to je omoguilo minijaturizaciju, poveanje pouzdanosti rada raunara i
njegovu primenu u upravljanju robotima. Time su omogueni intenzivni prorau-ni
prilikom realizacije programiranih putanja, obrade senzorskih informacija i upravljanja
elektrinim pogonima. U to vreme, 1961. godine, Dordu Devolu (George Devol) je odobren patent broj US 2998237, maine za rukovanje materijalom to je predstavljalo poetak
industrijske robotike. Prva skica patenta prikazana je na Sl. 1.7. Jo u toku obrade patentne
Uvod
Industrijska robotika
prijave, 1956. godine formirana je kompanija Junimejn (Unimation) Inc., iji su osnivai
bili Dord Devol i Jozef Englberger. Prvi prototip je izaao iz fabrike 1959. godine i instalisan u livnici u vlasnitvu GM u Nju Dersiju (General Motors, New Jersey), a 1961.
godine poinje sa stalnim radom. Poetak industrijske primene robota prati i osnivanje
istraivakih laboratorija za oblast robotike pri univerzitetima u SAD, Evropi i Japanu.
Sl. 1.7. Prvi patent i prvi industrsijski robot u GM fabrici u Trentonu, 1961.
Industrijska robotika
Uvod
budu adekvatni . Ukoliko se u okviru radnog mesta javlja potreba za podizanjem tekih
predmeta ili ukoliko je posao monoton i ponavljajui ili ukoliko je radni prostor kontaminiran (buka, isparenja, praina, ...) ili ukoliko posao tokom dugog vremenskog perioda
zahteva visok stepen koncetracije treba razmiljati o uvoenju automatizacije i robotizacije
na takvo radno mesto. Tako se npr. u Nissan-u smatra da radno mesto treba automatizovati
ukoliko tokom jedne smene podignut teret prelazi 20 tona ili ukoliko broj ponavljanja jedne
akcije, isto tokom jedne smene, prelazi 4000. Tako je, za montau tokova na automobile
(jedan toak ima masu od 20-30 kg) koja se tokom jedne smene realizuje 1000 puta razvijen poseban robot. Drugi karakteristian primer monotonih i ponavljajuih pokreta na radnim mestu je pakovanje i paletizacija, dok su isparenja prilikom bojenja veoma esto kancerogena i kontaminiraju radni prostor. U oba sluaja primena robota predstavlja adekvatno
reenje.
Kada se govori o ceni robotizacije radnog mesta treba voditi rauna o ceni samog robota i
ureenju radnog mesta. Obzirom na osobinu robota da veoma tano ponavljaju pokrete, a
da on-line prepoznavanje scene zahteva instalaciju veoma skupe opreme (ukoliko je scena
takva da je uopte mogue prepoznavanje u realnom vremenu) potrebno je radno mesto
realizovati kao viskoko struktuirano. To znai da je potrebno da se u svakom trenutku svi
elementi potrebni u radnom procesu nalaze na tano odreenim i unapred poznatim lokacijama to se postie korienjem raznih vrsta dodavaa, paleta i sl. to zahteva ulaganje
znaajnih sredstava. Da bi se sredstva uloena u ureenje radnog mesta to pre vratila
veoma je poeljno da roboti rade vie smena, ukoliko je mogue, 24 asa dnevno.
ivotni vek proizvoda je sve krai pa se neminovno zahteva skraivanje vremena razvoja
novog proizvoda. Osim toga, i proizvodne linije treba da budu takve da mogu da se koriste
za proizvodnju vie od jednog proizvoda. Stoga se postavlja zahtev za visokim stepenom
fleksibilnosti, koji treba da bude vii ne samo u odnosu na krutu autonatizaciju ve i u
odnosu na radne procese koje realizuje ovek. Tako je npr. Rolls-Royce za 75% skratio
vreme obrade delova hemijskim nagrizanjem time to se maske za pokrivanje zatienih
delova vie ne prave runo korienjem ablona, ve se koriste podaci iz CAD sistema. Sa
druge strane, Nissan trenutno radi na formiranju jedinstvene linije za proizvdnju automobila
na kojoj bi bilo mogue proizvoditi sve njihove modele (Intelligent Body Assembly
System). To nameravaju da postignu korienjem jednostavnih robota kojima bi menjali
pribore na liniji u skladu sa svakim novim modelom automobila.
Drugo, ranije postavljeno, pitanje je bilo: kada ne treba koristiti robote? Odgovor je da
robote ne treba koristiti onda kada su prednosti oveka u odnosu na robota znaajne za
realizaciju zadatka. Prednosti oveka u odnosu na robota u procesu proizvodnje su sledee:
- ovek ima mnogo vei broj senzora koji su boljeg kvaliteta od onih koje
koriste roboti. Osim toga, ovek mnogo efikasnije koristi senzorske informacije.
- ovek ima sposobnost uenja i moe da donosi ispravne odluke ak i kada svi
potrebni podaci ne postoje.
- ovek je veoma fleksibilan i moe se lako prilagoditi drugom zadatku (ovek je
lak za programiranje).
- ovek poseduje mobilnost u smislu jednostavnog prelaska sa jednog na drugo
radno mesto.
Posmatrano kratkorono, preoptereenje ljudskog tela dovodi do zamora, a u duem periodu i do povreda.
Uvod
Industrijska robotika
-
Industrijska robotika
Uvod
se prekvalifikuje. Opet, kao primer moemo uzeti automobilsku industriju gde se, posmatrano u celini, i pored povremenih kriza se belei konstantni rast novootvorenih radnih
mesta.
LITERATURA
An C., Atkenson C, and Hollerbach J.: Model-Based Control of a Robot Manipulator, The MIT Press, 1998.
Angeles J.: Fundamentals of Robotic Mechanical Systems, Theory, Methods and Algorithms, Springer-Verlag,
2003.
Asada H. and Slotine J.J.: Robot Analysis and Control, John Wiley and sons, 1985.
Ben-Zion Sandler, Robotics- designing the Mechanisms for Automated machinery, Prentice Hall, Inc., 1991
Bruyninckx H. and De Schutter J.: Introduction to Inteligent Robotics, Katholieke Universteit Leuven, 2001.
Craig J.: Introduction to Robotics: Mechanics & Control, Addison-Wesley, 1986.
Dorf. R and Bishop R.: Modern Control Systems, Addison-Wesley, 1995.
Eugene I. Rivin, Mechanical design of robots, McGraw-Hill, Inc., 1987
Fu K., Gonzales R., and Lee C.: Robotics: Control, Sensing, Vision and Intellignece, McGraw-Hill Book
Company, 1987.
Yamauchi Y., Application and evaluation of robots in Nissan, Proc. of Automotive Manufacturing International
'93, pp 73-81, 1993.
Emrich M., A New Wrinkle in Auto Body Manufacture-And Guess Who's Doing It, Proc. of Manufacturing
Systems, pp. 44-46, August 1991.
Sekine Y., Koyama S., Imazu H., Nissan's New Production System: Intelligent Body Assembly System, Proc.
of SAE Int. Congress and Exposition, Feb 1991, Detroit.
Seegrber L., Greifsysteme fr Montage, Handhabung und Industrieroboter, Expert-Verlag, 1993.
a)
b)
Sl. 2.1. ematski prikaz a) rotacionog i b) translatornog zgloba
Industrijska robotika
Ljudska ruka ima sedam stepeni slobode i redundantna je. Da biste lake shvatili znaaj redundantnosti naslonite
dlan na neki nepokretan objekat iz vae okoline, npr. zid. Obezbeujui da se trup i dlan ne pomeraju deo ruke
izmeu dlana i ramena moe zauzeti vie poloaja. Stoga je jasno da nam redundantnost omoguava slobodu da
zahtevenu poziciju i orijentaciju hvataljke ostvarimo takvim poloajem mehanike strukture koji nam najvie
odgovara.
3
Firma Motoman je juna 2008. godine predstavila dvoruni model SDA10. Ukupno robot ima 15 SS (svaka
ruka ima po 7 SS plus rotacija centralnog stuba), nosivost svake ruke je po 10 kg, ponovljivost je 0,1 mm. Obe
ruke mogu raditi sinhrono na istom zadatku, ali se svakom rukom moe upravljati i nezavisno. Za detaljnije
informacije videti http://www.motoman.com/motomedia/pr/SDA10web.pdf
2
10
Industrijska robotika
z0
x0
Poslednji segment
minimalne konfiguracije
y0
Sl. 2.2. Primer kinematske eme jedne mehanike konfiguracije. Zglobovi 1, 2 i 3 ine minimalnu konfiguraciju, a
zglobovi 4, 5 i 6 zglob hvataljke. Sve tri ose zglobova 4, 5 i 6 se seku u taki A.
q5
q4
q6
Sl. 2.3. Kinematska ema zgloba hvataljke gde se sve tri ose seku u jednoj taki (Ojlerov zglob).
11
Industrijska robotika
Sl. 2.4. Kompletan sistem manipulacionih robota (mehanika konfiguracija, upravljaki ureaj i ureaj za
obuavanje).
12
Industrijska robotika
proizvoa robota. U sluaju robota koji je prikazan na Sl. 2.5, koordinatni sistem osnove je
postavljen tako da je osa Z koaksijalna sa osom prvog zgloba robota, X osa je upravna na
nju, dok se osa Y bira tako da formira desni koordinatni sistem. U TCP je koordinatni
sistem postavljen tako da je Z osa koaksijalna sa osom estog zgloba robota, X osa je
normalna na ravan radnog stola, a Y osa je izabrana tako da ini desni koordinatni sistem sa
X i Z osama. Koordinatni sistemi kojima se definie poloaj radnog mesta i radnog
predmeta su: korisniki koordinatni sistem (engl. user coordinates) koji se odnosi na
poloaj radnog mesta i koordinatni sistem objekta (engl. object coordinate system) koji se
odnosi na radni predmet.
Dobra ponovljivost
Loa tanost
Dobra ponovljivost
Dobra tanost
Industrijska robotika
Sl. 2.7. Radni prostor robota i maksimalno dozvoljeno optereenje na prirubnici hvataljke na razliitim pozicijama
u koordinatnom sistemu osnove.
kojima se pripisuju vrednosti nosivosti robota. Tako je radni prostor pri najveoj nosivosti
(a da je i dalje obezbeena eljena tanost pozicioniranja) daleko manji od radnog prostora
neoptereenog manipulacionog robota. Vrlo esto se u podacima proizvoaa, samo navodi
podatak o veliini radnog prostora neoptereenog robota, a tek se na osnovu posebnih
zahteva daje informacija o veliina i obliku radnog prostora pod deliminim ili
maksimalnim optereenjem.
esto se radno prostor koji odgovara odreenoj tanosti pozicioniranja u kombinaciji sa
nosivou robota prikazuje putem familije krivih za pribline vrednosti nosivosti robota u
vertikalnoj ravni. Ove krive su odreene za maksimalnu vrednost momenta inercije po bilo
kojoj od tri ose TCP koordinatnog sistema u centru mase objekta koji robot nosi. Sa Sl. 2.7
se vidi da je u konkretnom primeru nosivost na spoljanjim granicama radnog prostora
smanjena za 70% u odnosu na unutranje granice.
14
Industrijska robotika
3
2
1
Sl. 2.8. Kinematska ema i fotografija tipine robotska konfiguracija antropomorfnog tipa
15
Industrijska robotika
2
3
1
Sl. 2.9. Kinematska ema i fotografija robota sferna (polarne) konfiguracije
Ova konfiguracija je nazvana sfernom po obliku radnog prostora koji predstavlja deo sfere,
a polarnom obzirom da ugao rotacije drugog zgloba i izduenje treeg zgloba odgovaraju
polarnim koordinatama.
Treba primetiti da, poto je trei zglob translatoran, prilaz radnom mestu treba da bude bez
prepreka obzirom da ih robot ove konfiguracije ne moe zaobii.
2.4.3 Robot cilindrine konfiguracije
Minimalna konfiguracija robota cilindrine konfiguracije ima jedan rotacioni i dva translatorna zgloba (Sl. 2.10). I kod ove, kao i kod prethodnih konfiguracija, prvi segment predstavlja obrtni stub oko vertikalne ose pa je prvi zglob rotacioni i postavljen na isti nain kao
i u prethodnim konfiguracijama. Drugi i trei zglob su translatorni (linearni). Osa drugog
zgloba je vertikalna to znai da se njegovim kretanjem vri podizanje odnosno sputanje
kompletne strukture koja se nalazi dalje od zgloba, prema vrhu robota. Osa treeg zgloba
3
16
Industrijska robotika
Industrijska robotika
Sl. 2.13. Robot pravougle konfiguracije postavljen na postolje koje se nalazi iznad maine koju opsluuje
18
Industrijska robotika
LITERATURA
An C., Atkenson C, and Hollerbach J.: Model-Based Control of a Robot Manipulator, The MIT Press, 1998.
Angeles J.: Fundamentals of Robotic Mechanical Systems, Theory, Methods and Algorithms, Springer-Verlag,
2003.
Asada H. and Slotine J.J.: Robot Analysis and Control, John Wiley and sons, 1985.
Ben-Zion Sandler, Robotics- designing the Mechanisms for Automated machinery, Prentice Hall, Inc., 1991
Bruyninckx H. and De Schutter J.: Introduction to Inteligent Robotics, Katholieke Universteit Leuven, 2001.
Craig J.: Introduction to Robotics: Mechanics & Control, Addison-Wesley, 1986.
Dorf. R and Bishop R.: Modern Control Systems, Addison-Wesley, 1995.
Eugene I. Rivin, Mechanical design of robots, McGraw-Hill, Inc., 1987
Fu K., Gonzales R., and Lee C.: Robotics: Control, Sensing, Vision and Intellignece, McGraw-Hill Book
Company, 1987.
Fu K., Gonzales R., and Lee C.: Robotics: Control, Sensing, Vision and Intellignece, McGraw-Hill Book
Company, 1987.
J.M.Selig, Introductory Robotics, Prentice Hall, Inc., 1992
19
Industrijska robotika
Lewin A.R.W.Edwards, Open-Source Robotics and Process Control Cookbook, Elsevier, Inc., 2005
Nwokah O., and Hurmuzlu Y., Editors, The Mechanical Systems Design Handbook, CRC Press, 2002.
Paul E. Sandin, Robot mechanisms and mechanical devices, McGraw-Hill, Inc., 2003
Rade L., and Westergren B.: Mathematics Handbook for Science and Engineering, Studentlitteratur,
Lund,1995.
Sciavicco L. and Siciliano B.: Modeling and Control of Robot Manipulators, The McGraw-Hill Company,
1996.
Thomas R. Kurefess Robotics and Automation Handbook, CRC Press LLC, 2005
Yoram Koren, Robotics for Engineers McGraw-Hill, 1985
20
3.1 UVOD
Ve smo ranije pomenuli da se robotski mehanizam moe predstaviti sistemom krutih tela
spojenih zglobovima koji nazivamo kinematskim lancem. Radi matematikog opisa
kretanja segmenata koji simultanim kretanjem odreuju ponaanje hvataljke, za svaki
segment se, prema odreenim pravilima, postavlja koordinatni sistem koji se kree zajedno
sa njim. Poto svaki od zglobova doputa samo jedno relativno kretanje (rotaciono ili
translatorno), poloaj hvataljke je rezultat niza sukcesivnih rotacionih ili translatornih
transformacija nad koordinatnim sistemima. U ovoj glavi e biti opisane elementarne
transformacije i uveden pojam homogenih transformacija koje u okviru iste matrice
objedinjuju rotaciju i translaciju.
Na taj nain je mogue, poznavajui geometrijske karakteristike robota i trenutne veliine
uglova u zglobovima, jednoznano odrediti poloaj i orijentaciju poslednjeg segmenta
robota u odnosu na poetni. Obrnut zadatak, odrediti vrednosti uglova u zglobovima tako
da hvataljka bude u tano odreenoj poziciji i sa eljenom orijentacijom je mnogo sloeniji
i nije uvek jednoznano reiv.
Vektor p izraen u odnosu na nepokretni (bazni) koordinatni sistem Oo-xoyozo je dat sa:
p1 p1x i1 p1 y j1 p1z k1
(3.2)
Industrijska robotika
pox p0 i0 p1 i0
pox p1x i1 i0 p1 y j1 i0 p1z k1 i0
p1x i1 k0 p1 y j1 k0 p1z k1 k0
p0 R01 p1
(3.3)
(3.4)
(3.5)
(3.6)
1
0
i1 i0
j1 i0 k1 i0
R01 i1 j0 j1 j0 k1 j0
(3.7)
i k
j k k k
1 0 1 0 1 0
Matrica R01 se naziva matricom rotacije. Iz (3.7) se vidi da kolone matrice R01 predstavljaju
projekcije ortova koordinatnog sistema O1-x1y1z1 na sistem Oo-xoyozo. Na slian nain kao u
izrazima (3.3-3.5), izraavajui komponente vektora p1 preko vektora p0 moemo
napisati
p1 R10 p0
(3.8)
gde je
i0 i1 j0 i1 k0 i1
R10 i0 j1 j0 j1 k0 j1
(3.9)
.
i0 k1 j0 k1 k0 k1
Matrice R01 i R10 predstavljaju jedna u odnosu na drugu inverzne transformacije. Obzirom
22
Industrijska robotika
da je skalarni proizvod vektora ( i0 j0 j0 i0 ) komutativan lako se moe pokazati da vai
R10 ( R01 ) 1 ( R01 )T
(3.10)
Imajui u vidu da vae sledee relacije i1 i0 cos , j1 i0 sin ,
i1 j0 sin i k1 k0 1 kao i na osnovu izraza (3.7) dobija se
cos sin 0
Rz , sin cos 0
0
0
1
j1 j0 cos ,
(3.11)
gde Rz , oznaava matricu rotacije oko z ose za ugao . Zbog pojednostavljenog zapisiva-
nja nadalje emo, kada god je to pogodno, koristiti skraeni zapis sin S i cos C ,
pa skraenim zapisivanjem (3.11) postaje
23
Industrijska robotika
C S 0
S C 0
0
0
1
(3.12)
Na slian nain se mogu odrediti matrice rotacija oko ostalih koordinatnih osa. Najpre
emo odrediti matricu rotacije oko y ose. Na Sl. 3.3 je ematski prikazana rotacija
koordinatnog sistema oko y ose. Na isti nain kao ranije sledi
R y ,
C 0 S
0
1 0
S 0 C
(3.13)
Rx ,
0
1 0
0 C S
0 S C
(3.14)
Matrice rotacija (3.12), (3.13) i (3.14) koje predstavljaju rotacije oko koordinatnih osa x,y i
z za odreeni ugao se nazivaju elementarnim matricama rotacije.
24
Industrijska robotika
Primer 3.1.
Za sluaj relativnog poloaja koordinatnih sistema Oo-xoyozo i O1-x1y1z1 kao na Sl. 3.5.
odrediti matricu rotacije kao i projekcije vektora i1 , j1 , k1 na ose koordinatnog sistema
Oo-xoyozo
0
2
2
2
2
pa sledi
cos 450
R01 0
cos 450
cos 450
0
cos 450
0 2 2
2 2 0
1 0
0
1
0 2 2 2 2 0
gde je sa R01 oznaena matrica rotacije izmeu koordinatnih sistema Oo-xoyozo i O1-x1y1z1.
p0 R01 p1
(3.15)
25
Industrijska robotika
p0 R02 p2
(3.16)
p1 R12 p2
(3.17)
p0 R01 R12 p2
(3.18)
(3.19)
Izraz (3.19) opisuje transformaciju koordinata vektora pri vie sukcesivnih rotacija to se
koordinatni sistem O2-x2y2z2 (vektor p2 ), iz izraza (3.18) se jasno vidi sledee: da bi dobili
koordinate istog vektora u odnosu na koordinatni sistem Oo-xoyozo vektor p2 treba prvo
pomnoiti matricom rotacije R12 da bi dobili njegove koordinate u odnosu na koordinatni
sistem O1-x1y1z1, a zatim, novodobijeni vektor pomnoiti matricom rotacije R01 . Rezultat je
koordinatni sistem O2-x2y2z2 u odnosu na O1-x1y1z1 za R12 . Pri vie uzastopnih rotacija
koordinatni sistem koji se kree nazivamo tekuim koordinatnim sistemom. Posebno je
vano da se istakne da je od izuzetne vanosti redosled rotacija. Da bi to ilustrovali,
razmotrimo dve uzastopne rotacije: rotaciju za ugao oko y ose, a zatim rotacija za ugao
oko tekue z ose. U skladu sa predhodnim razmatranjem sledi
R R y , Rz ,
C 0 S C S 0 C C C S S
0
1 0 S C 0 S
C
0
S 0 C 0
0
1 S C S S C
Ako se redosled rotacija izmeni i prvo se realizuje rotacija za ugao oko z ose, a zatim
rotacija za ugao oko tekue y ose, sledi
C S 0 C 0 S C C S C S
1 0 S C C S S
R Rz , Ry , S C 0 0
0
1 S 0 C S
0
C
0
Obzirom da rezultat nije isti, moeno zakljuiti da mnoenje matrica rotacije nije
komutativno i da se mora voditi rauna o redosledu rotacija. Dakle,
R R*
Ilustrovaemo ovo jo oiglednije sledeim primerom. Zarotirajmo paralelepiped oko x0 ose
za + 2 , a zatim oko novog poloaja y ose ponovo za + 2 . Poloaj paralelepipeda posle
26
Industrijska robotika
z0
y0
x0
2
1 0
0
0
2 2
0
z
x
b)
z
0
1 2
0
2
1 0
0
y
z
x
Meutim, promenimo redosled rotacija, i paralelepiped zarotirajmo prvo oko y0- ose za
2 , a zatim oko x- ose za 2 . Poloaj paralelepipeda posle svake od transformacija je
prikazan na Sl. 3.6.b. Oigledno je da je rezultujui poloaj paralelepipeda drugaiji nego u
prethodnom sluaju.
U svim prethodnim primerima rotacije su realizovane oko osa tekueg koordinatnog
sistema. Razmotrimo sada slaganje rotacija oko nepokretnog koordinatnog sistema. Na Sl.
3.7. su prikazane dve uzastopne rotacije koordinatnog sistema O0-x0y0z0, prvo oko ose y0 za
ugao (novi poloaj koordinatnog sistema je prikazan sa O1-x1y1z1), a zatim za ugao
oko ose z0 (novi poloaj koordinatnog sistema je prikazan sa O2-x2y2z2).
Sl. 3.7. Uzastopne rotacije koordinatnog sistema oko osa nepokretnog koordinatnog sistema
Poto se prva rotacija vri oko ose y0 koja istovremeno predstavlja i trenutnu osu rotacije
vai:
p0 R y , p1
Poto se sledea rotacija vri oko ose z0 nepokretnog koordinatnog sistema, da bismo
primenili zakon o slaganju rotacija (3.19) treba najpre vratiti koordinatni sistem u prvobitno
stanje (primeniti rotaciju oko ose y0 za ugao ), zatim realizovati rotaciju oko ose z0 za
27
Industrijska robotika
ugao , a zatim ponovo izvriti rotaciju oko ose y0 za ugao . Prema tome, sledi
p1 R y , Rz , R y , p2
Konano, ukupna transformacija se dobija u sledeoj formi:
p0 Ry , Ry , Rz , R y , p2 ; p0 Rz , Ry , p2
(3.22)
(3.23)
Prema tome, moemo da zakljuimo da za rotacije oko fiksnog koordinatnog sistema
moemo da primenimo zakon o slaganju rotacija (3.19) oko trenutnih osa ali obrnutim
redom u odnosu na redosled rotacija oko osa nepokretnog koordinatnog sistema. Ako ovo
primenimo na prethodni primer rotacije paralelepipeda, i ako elimo da postignemo isti
rezultat kao pri rotaciji oko y0 za 2 , a zatim oko x za 2 , prvo moramo da izvrimo
rotaciju oko x0 za 2 , a zatim oko y0 isto za 2 , to je prikazano na Sl. 3.8.
R02 R12 R01 ako se rotacija vri oko osa nepokretnog koordinatnog sistema.
odreeni ugao oko proizvoljne ose definisane ortom t , koja se ne poklapa ni sa jednom
od koordinatnih osa, (Sl. 3.9.). Neka su projekcije orta t , na nepokretni koordinatni sistem
T
date sa t t x , t y , t z . Ovaj zadatak se moe reiti na sledei nain: osu definisanu ortom
t treba najpre zarotirati tako da se poklopi sa nekom od koordinatnih osa, npr. sa z osom,
zatim treba izvriti rotaciju za posmatrani ugao i na kraju vratiti osu u njen prvobitni
sistema. Zatim treba izvriti traenu rotaciju za ugao , i na kraju vratiti vektor t u
prvobitni poloaj. Prema tome, sledi
28
Industrijska robotika
Rt , Rz , Ry , Rz , Ry , Rz ,
(3.24)
ty
t x2 t 2y
sin t x2 t 2y ,
cos
tx
t x2 t y2
cos t z
(3.25)
Rt ,
t x2 (1 C ) C
t x t y (1 C ) t z S t x t z (1 C ) t y S
t x t y (1 C ) t z S
t y2 (1 C ) C
t y t z (1 C ) t x S
.
t x t z (1 C ) t y S t y t z (1 C ) t x S
t z2 (1 C ) C
(3.26)
29
Industrijska robotika
(3.27)
pa sledi
C C C S S C C S S C C S
R S C C C S S C S C C S S
S C
S S
C
1
0
(3.28)
Na isti nain kao ranije moemo dobiti konanu matricu rotacije u obliku:
C C C S S S C
R S C S S S C C
S
C S
1
0
C S C S S
S S C C S
C C
(3.29)
Industrijska robotika
ugao nazivamo uglom valjanja (odgovara bonom valjanju broda) a ugao nazivamo
uglom propinjanja. Zbog ve steene navike korienja, navodimo termine za ove uglove
na engleskom jeziku: ugao skretanja se naziva yaw, ugao valjanja roll, a ugao propinjanja
pitch.
Matrica rotacije ima sledei oblik
R01 Rz , R y , Rx ,
C C S C C S S S S C S C
R01 S C C C S S S C S S S C
S
C S
C C
(3.30)
Sama matrica rotacije nam ne daje fiziku predstavu o kakvoj rotaciji se radi. Stoga je
pogodno, ukoliko je poznata matrica rotacije izmeu dva koordinatna sistema, da se odredi
ekvivalentna osa oko koje treba izvriti rotaciju i ugao rotacije koji odgovaraju datoj matrici
rotacije. Ako je, u optem obliku, matrica rotacije data sa
r11
Rk , r21
r31
r12
r22
r32
r13
r23
r33
r r r 1
arccos 11 22 33
(3.31)
(3.32)
t
r13 r31
2 sin
r21 r12
31
(3.33)
Industrijska robotika
su koordinatni sistemi paralelni veza izmeu vektora p0 i p1 kojim su definisane koordinate take P u odnosu na svaki od ova dva koordinatna sistema je data sa:
p0 p1 d 01
(3.34)
Ako je koordinatni sistem O1-x1y1z1 dodatno rotiran u odnosu na Oo-xoyozo, tada je veza
izmeu ovih koordinatnih sistema data sa:
p0 R01 p1 d 01
(3.35)
gde R01 oznaava matricu rotacije izmeu dva koordinatna sistema.
Pretpostavimo, dalje, da se tri koordinatna sistema Oo-xoyozo, O1-x1y1z1 i O2-x2y2z2 nalaze u
proizvoljnom relativnom odnosu tj. da im se koordinatni poeci ne poklapaju i da im ose
nisu paralelne. Obzirom da koordinate proizvoljne take P koju moemo izraziti u odnosu
na bilo koji od ovih koordinatnih sistema, moemo napisati:
p0 R01 p1 d 01
(3.36)
p1 R12 p2 d12
Zamenimo li (3.36) u (3.35) dobijamo
(3.37)
Meutim, veza izmeu koordinatnih sistema Oo-xoyozo i O2-x2y2z2 se moe napisati direktno
p0 R02 p2 d 02
(3.38)
Uporeivanjem (3.37) i (3.38) sledi
32
Industrijska robotika
R02 R01 R12
(3.39)
(3.40)
rotacije
i
Vektor rastojanja koordinatnih poetaka d 02 sistema Oo-xoyozo i O2-x2y2z2
je izraen kao vektorski zbir vektora d 01 i d12 , ali moramo uoiti da je neophodno da se
vektor d12 izrazi odnosu na bazni koordinatni sistem Oo-xoyozo. (ukoliko elimo da vrimo
operacije nad dva vektora, oni moraju biti predstavljeni u odnosu na isti koordinatni
sistem).
Vezu izmeu koordinatnih sistema Oo-xoyozo, O1-x1y1z1 i O2-x2y2z2 iz prethodnog primera
moemo izraziti proizvodom matrica formiranih od matrice rotacije i vektora translacije na
sledei nain:
(3.41)
1 0
1
0 1 0
Matrica rotacije
R01
R02
R12 .
Lako se moe uoiti da i rezultujua matrica ukupne transformacije ima istu strukturu pri
emu je matrica ukupne rotacije defnisana sa (3.39), a vektor translacije izrazom (3.40).
Matrica formirana na sledei nain od matrice rotacije i vektora translacije izmeu dva
koordinatna sistema
r11 r12 r13
0 1 r31r32 r33
0 0 0
d x matrica 33
d y rotacije
d
13
z vektor
1 perspektive
vektor
translacije
31
11
faktor
skaliranja
(3.42)
Industrijska robotika
0 0 a
1 0 0 0
1 0 0 0
0 1 0 0
1 0 0
0 1 0 b
H x, a
H y,b
H z, c
(3.43.)
0 0 1 0 ,
0 0 1 c
0 1 0 ,
0 0 1
0 0 0 1
0 0 0 1
gde matrica Hx,a oznaava translaciju du ose x za duinu a, matrica Hy,b translaciju du ose
y za duinu b, a matrica Hz,c translaciju du ose z za duinu c. esto se radi asocijativnijeg
obeleavanja umesto Hx,a moe sresti oznaka Transx,a , umesto Hy,b se moe sresti Transy,b ,
a Transz,c umesto Hz,c. Osnovne homogene transformacije za rotaciono kretanje su:
H x,
0
1 0
0 C S
0 S C
0
0 0
0
C
0
0
, H y,
S
0
1
0
0 S 0
C S
S C
1 0 0
, H z,
0
0 C 0
0
0 0 1
0
0
0 0
0 0
1 0 (3.44.)
0 1
gde matrica Hx, oznaava rotaciju oko ose x za ugao , matrica Hy, rotaciju oko ose y za
ugao , a matrica Hz, rotaciju oko ose z za ugao . I u ovom sluaju se radi jasnijeg
obeleavanja umesto Hx, moe sresti oznaka Rotx, , umesto Hy, se moe sresti Roty, , a
Rotz, umesto Hz,. U svim ovim sluajevima je jasno da se radi o homogenim
transformacijama a ne o matricama rotacije po dimenzijama matrica.
Poslednji segment robota moe biti, zavisno od radnog zadatka, hvataljka ili neki ureaj (npr. aparat za takasto
ili avno zavarivanje, glodalo, prskalica za bojenje, ...).
4
34
Industrijska robotika
kinematski problem i nije jednoznano reiv. Svaki od ovih zadataka e u okviru ove glave
biti posebno obraen.
Koordinatni sistemi se na segmente mogu postavljati na razliite naine, jedino poloaj svakog od njih u odnosu na sopstveni segment uvek mora biti potpuno poznat i tokom vremena nepromenljiv. Meutim, odreena sistematizacija u izboru poloaja koordinatnih sistema je neophodna, a opte prihvaen dogovor o nainu postavljanja koordinatnih sistema
je poznat kao Denavit-Hartenbergova ili DH notacija (konvencija). Prvi sistematski nain
1i
H0i-1
1
H0
1n
H00
Sl. 3. 13. Transformacija poloaja lokalnih koordinatnih sistema i rezultujui poloaj hvataljke tokom kretanja
robota
35
Industrijska robotika
(3.45)
to se moe u formi homogenih transformacija (prve dve transformacije su objedinjene u
jednu, druge dve u drugu transformaciju) izraziti na sledei nain
H iP1 Rot z , i Tranz , di
C i
S
i
0
S i
C i
0
0
0
0 0
1 di
0 1
0
0
0
ai
1
0
C
0
i
i
H Pi Rot x ,i Tranx , ai
0 S i C i 0
0
0
1
0
ili u formi jedinstvene transformacije izmeu i-1-vog i i-tog koordinatnog sistema
C i
S
i
0
S i C i
C i C i
S i S i
(3.46)
(3.47)
ai C i
ai S i
H ii1
(3.48)
S i
Ci
di .
0
0
1
Prema tome, ukupna transformacija izmeu dva koordinatna sistema proizvoljnog
meusobnog poloaja ali takvog da su ispunjena dva ranije navedena uslova, se moe
opisati sa etiri elementarne transformacije. Drugim reima, korienjem DH notacije,
ukupna transformacija je opisana sa samo etiri parametra , , d, i a, koji se nazivaju
DenavitHartenbergovim (ili skraeno DH) parametrima.
C i S i
36
Industrijska robotika
Ako u pravcu zajednike normale ai postavimo osu xi (smer se moe birati proizvoljno), a
osu yi odredimo tako da sa xi i zi obrazuje desni koordinatni sistem tada koordinatni sistemi
Oi-1 i Oi predstavljaju dva koordinatna sistema koji zadovoljavaju oba ranije navedena
uslova i njihov meusobni poloaj moemo opisati Denavit-Hartenbergovim parametrima.
DH parametri , d, a i izmeu dva koordinatna sistema koji se nalaze na dva susedna
segmenta su definisani na sledei nain:
- parametar a je rastojanje izmeu osa zi-1 i zi mereno du ose xi
- parametar d je rastojanje koordinatnog poetka Oi-1 i preseka osa xi i zi-1 mereno
du ose zi-1;
-
parametar je ugao izmeu osa zi-1 i zi (od ose zi-1 ka osi zi) meren u ravni
normalnoj na osu xi;
parametar je ugao izmeu osa xi-1 i xi meren u ravni normalnoj na osu zi-1
Parametre , d, a i je mogue na slian nain odrediti i u sluaju linearnog
(translatornog) zgloba, koji je prikazan na Sl. 3.16. Kod translatornog zgloba
poloaj samog zgloba nije vaan jer e se prilikom kretanja uvek na isti nain
translatorno pomerati deo sistema koji
se u kinematskom lancu nalazi posle njega. Zbog toga se koordinatni sistem postavlja tako
da se parametri uproste, tj. zi-1 osa se postavlja u pravcu izduivanja translatornog zgloba i
bira se da ai 0 . Osa xi se postavlja u istom ili suprotnom smeru od vektora zi-1zi.
37
Industrijska robotika
Veliina d odgovara unutranjoj koordinati qi. Nulta vrednost qi odgovara poloaju kada se
koordinatni poeci Oi i Oi-1 poklapaju. Za translatorni zglob ugao i, nije promenljiv ve
fiksan i predstavlja kinematski parametar, isto kao i ugao i.
Industrijska robotika
Treba obratiti panju da kod DH notacije postoji neslaganje u rednom broju zgloba i njemu
pripadajueg koordinatnog sistema. Naime, numeracija segmenata kinematskog lanca kree
od segmenta vezanog za podlogu i poinje sa 1 (1, 2, ..., n). Numeracija zglobova takoe
poinje od podloge na isti nain kao i kod segmenata, ali se koordinatni sistemi koji
pripadaju zglobovima numeriu drugaije. Osa baznog zgloba (zglob kojim se robot
povezuje sa podlogom) se uvek obeleava sa z0, tj. numeracija poinje od nule. To znai, da
je i-ti zglob prvi zglob i-tog segmenta dok je odgovarajui koordinatni sistem i-1-vi to se
moe videti na Sl. 3.14. i Sl. 3.15. Na isti nain, prvi zglob poetnog segmenta kinematskog
lanca (segment 1) je zglob 1, a njemu pripadajui koordinatni sistem je O0.
Procedura formiranja kinematskog modela (postavljanja koordinatnih sistema i formiranja
matrica transformacije) poinje identifikacijom osa svih zglobova jer tip i raspored
zglobova moraju biti poznati unapred. Pri odreivanju poloaja koordinatnih sistema prema
DH konvenciji treba voditi rauna o nekim specifinostima na koje emo sada ukazati.
Najpre treba ukazati na injenicu da se bazni koordinatni sistem moe postaviti bilo gde na
osi z0 (njegov poloaj nije jednoznano odreen i moe se izabrati nama najpovoljnija
pozicija) a ose x0 i y0 treba odrediti tako da se oformi desni koordinatni sistem. Dalje se
koordinatni sistemi postavljaju na nain opisan ranije.
Razmotrimo, dalje, situaciju koja se javlja ako dve ose zglobova zi-1 i zi pripadaju istoj
ravni. Tu se mogu javiti dva sluaja:
- ose zi-1 i zi se seku,
- ose zi-1 i zi su paralelne.
U drugom sluaju, koji je sasvim est u praksi, postoji beskonano mnogo zajednikih
normala osa zi-1 i zi. U tom sluaju se osa xi bira tako da bude normalna a da zi-1 i da prolazi
kroz Oi-1. Primetimo da je u tom sluaju d i jednako nuli, a zbog paralelnosti osa zi-1 i zi
parametar i je takoe jednak nuli. Kada je osa xi odreena, osa yi se bira tako da oformi
desni koordinatni sistem.
U prvom sluaju, kade se ose zi-1 i zi seku, xi se bira kao normala na ravan koja je definisana
osama zi-1 i zi dok je smer xi proizvoljan. Najprirodniji izbor koordinatnog poetka Oi je u
preseku osa zi-1 i zi mada se moe izabrati bilo koja taka na osi zi. Treba primetiti da je u
ovom sluaju parametar ai jednak nuli.
Takoe treba obratiti panju na postavljanje koordinatnog sistema na poslednji (n-ti)
segment, tj. na postavljanje koordinatnog sistema hvataljke (Sl. 3.15). Koordinatni poetak.
Industrijska robotika
40
Industrijska robotika
ai
di
l1
q1
l2
q3
l3
q3
S
S1 C1 0 l1 S1
2 C2
H12
H 01
0
0
0 1 0
0
0
0 0 1
0
0
dok je ukupna transformacija data sa
C123 S123
S123 C123
H 03 H 01 H12 T23
0
0
0
0
0 l2 C 2
0 l2 S 2
1
0
0
1
C 3 S 3
S 3 C3
H 23
0
0
0
0
0 l3C 3
0 l3 S 3
1
0
0
1
0 l 1 C1 l 2 C12 l 3 C123
0 l 1 S1 l 2 S12 l 3 S123
1
0
0
1
Primer 3.3:
Odrediti tablicu DH parametara i matrice homogenih transformacija za trosegmentnu
antropomorfnu konfiguraciju sa Sl. 3.19 ako su duine drugog i treeg segmenta a2 i a3,
respektivno.
Poloaji odgovarajuih koordinatnih sistema prema DH notaciji su ucrtani na Sl. 3.19. dok
su Denavit - Hartenbergovi parametari dati u Tabeli 2:
41
Industrijska robotika
ai
di
/2
q1
a2
q2
a3
q3
S1 0
C 2 S 2
S2 C2
0 C1 0
, H12
0
1
0
0
0
0 0
1
0
0
0 a2 C 2
C 3 S 3
S3 C3
0 a2 S 2
, H 23
0
1
0
0
0
1
0
0
0 a3 C 3
0 a3 S 3
1
0
0
1
(3.49)
S1 C 23 S1 S 23 C1 S1 a3 C 23 a2 C 2
H 03 H 01 H12 H 23
S 23
C 23
a3 S 23 a2 S 2
0
0
0
1
0
(3.50)
Industrijska robotika
r12
r22
r32
r13
r23
.
r33
C C C S S S C C S C S S
R03 S C S S S C C S S C C S
S
C S
C C
Obzirom da elimo da obe rotacije kao rezultat daju istu ukupnu rotaciju pojedinani
lanovi u ovim dvema matricama treba da su jednaki. Izjednaavanjem izraza uz pojedine
lanove dobijamo
r11 C C
(3.51 )
r12 C S S S C
(3.52)
r13 C S C S S
(3.53)
r21 S C
(3.54)
r22 S S S C C
(3.55)
r23 S S C C S
(3.56)
r31 S
(3.57)
r32 C S
(3.58)
r33 C C
(3.59)
Na ovaj nain smo dobili sistem od 9 jednaina sa 3 nepoznate koji moemo reiti na vie
naina. Ako (3.51) pomnoimo sa S , a (3.54) sa C
r11 S S C C
(3.60)
r21 C C S C
(3.61)
Industrijska robotika
r
S
tg 21
C
r11
arctg
r21
r11
(3.62)
r33 S S C C
(3.63)
r32 C r33 S 0
r
S
tg 32
C
r33
arctg
r32
r33
r21 S C / S
odakle sledi
r11 C C 2 C
(3.64)
r21 S S 2 C
(3.65)
r11 C r21 S C 2 S 2 C
r31
C
C
S
(3.66)
(3.67)
C
S
44
Industrijska robotika
r11 C r21 S C
r31
S
odakle sledi
r31
C
tg
S
r11 C r21 S
i konano dobijamo
arctg
r31
r11 C r21 S
Poloaj koordinatnih sistema zgloba hvataljke je prikazan na Sl. 3.20.b. Tablica Denavit Hartenbergovih parametara je data sa
Tabela 3. Denavit - Hartenbergovi parametari
Segment
ai
di
q4
q5
d6
q6
45
Industrijska robotika
C4
4
S
H 34
0
S 4
0
1
0
C4
0
0
C6
S6
H 56
0
0
0
0
H 45
S 6
C6
0
0
0
0
1
0
C5
S5
0
0
0
1
0
S5
C 5
0
0
0
0
0
(3.68)
0
0
d6
C 4 C 5 C 6 S 4 S 6 C 4 C 5 S 6 S 4 C 6 C 4 S 5 C 4 S 5 d 6
S 4 C5 C6 C 4 S 6 S 4 C5 S 6 C 4 C6 S 4 S 5 S 4 S 5 d
6
S 5 C 6
S5 S 6
C5
C5 d6
0
0
0
1
(3.69)
ime je zadatak reen. Primetimo da matrica rotacije iz (3.69) odgovara matrici rotacije
kada je orijentacija zadata ZYZ Ojlerovim uglovima. Vrednost rotacije za ugao q4 odgovara
vrednosti ugla , za ugao q5 uglu , a za ugao q5 uglu . To je i razlog to se sferni zglob
jo naziva i Ojlerovim zglobom.
Primer 3.5:
U ovom primeru emo prikazati formiranje kinematskog modela standardnog industrijskog
manipulacionog robota antropomorfnog tipa PUMA koji ima est stepeni slobode sa svim
rotacionim zglobovima. Kinematska shema robita je prikazana na na Sl. 3.21. Treba uoiti
a) Kinematska ema
46
Industrijska robotika
da je konstruktivno reenje robota takvo da obezbeuje da se sve tri ose zglobova hvataljke
seku u jednoj taki, tj. zglob hvataljke je Ojlerov zglob..
Koordinatni sistemi, postavljeni u skladu sa DH notacijom su prikazani na Sl. 3.21. a
odgovarajui DH parametri u sledeoj tabeli:
Tabela 4. Denavit-Hartembergovi parametri
Segment
i 1
ai 1
di
qi
q1
q2
a2
d3
q3
a3
d4
q4
q5
q6
-90
-90
90
-90
0
0
C 3 S 3
S 3 C3
H 23
0
0
0
0
0 0
C 2 S 2
0 0
0
0
H12
S 2 C 2
1 0 ,
0 1
0
0
0 0
1 0
0 0
0 1
0 a2
C 4 S 4 0 a3
0 0
0
0
1 d4
H 34
S 4 C 4 0 0
1 d3 ,
0 1
0
0 1
0
(3.70)
C 5 S 5 0 0
C 6 S 6 0 0
0
0
1
0
0
1 0
H6 0
H 45
S 5 C 5 0 0 , 5 S 6 C 6 0 0
0
0 1
0
0 1
0
0
Ukupna matrica transformacije se moe dobiti mnoenjem pojedinanih matrica
transformacije. Da bi ovaj primer mogli koristiti u narednom odeljku kada budemo govorili
o reavanju inverznog kinematskog zadatka dodatno emo izvesti neke meurezultate.
Pomnoimo najpre H 45 i H 56 , odakle sledi
C 5C 6 C 5S 6 S 5
S6
1
C6
H 46 H 45 H 56
S 5C 6 S 5S 6 C 5
0
0
0
47
0
0
0
(3.71)
Industrijska robotika
S 5C 6
S 5S 6
C5
d 4 0
H 36 H 34 H 46
S 4C 5C 6 C 4S 6 S 4C 5S 6 C 4C 6
0
S 4S 5
0
0
0
1
0
0
a2 C 2
1
d3
0 a2 S 2
0
1
(3.72)
C 23 C 2C 3 S 2 S 3
(3.73)
S 23 S 2C 3 C 2 S 3
r
H16 H13 H 36 21
r31
gde je
r12
r22
r32
0
r13
r23
r33
0
p x
p y
p z
(3.74)
r11 C 23 C 4C 5C 6 S 4S 6 S 23S 5C 6
r21 S 4C 5C 6 C 4 S 6
r31 S 23 C 4C 5C 6 S 4 S 6 C 23S 5C 6
r12 C 23 C 4C 5S 6 S 4C 6 S 23S 5S 6
r22 S 4C 5S 6 C 4C 6
r32 S 23 C 4C 5S 6 S 4C 6 C 23S 5S 6
r13 C 23C 4 S 5 S 23C 5
r23 S 4S 5
r33 S 23C 4S 5 C 23C 5
p x a2C 2 a3C 23 d 4 S 23
48
(3.75)
Industrijska robotika
p y d3
p z a3 S 23 a2 S 2 d 4C 23
r12
r13
r22
r23
r32
0
r33
0
px
p y
pz
(3.76)
gde je
r11 C1 C 23 C 4C 5C 6 S 4 S 6 S 23S 5C 6 S1 S 4C 5C 6 c 4S 6
r21 S1 C 23 C 4C 5C 6 S 4 S 6 S 23S 5C 6 C1 S 4C 5C 6 C 4 S 6
r31 S 23 C 4C 5C 6 S 4 S 6 C 23S 5C 6
r12 C1 C 23 C 4C 5S 6 S 4C 6 S 23S 5 S 6 S1 C 4C 6 C 4C 6 S 4C 5S 6
r22 S1 C 23 C 4C 5S 6 S 4C 6 S 23S 5S 6 C1 S 4C 5S 6 C 4C 6
r32 S 23 C 4C 5S 6 S 4C 6 C 23S 5S 6
r13 C1(C 23C 4 S 5 S 23C 5) S1S 4 S 5
(3.77)
p y S1 a2 C 2 a2 C 23 d 4 S 23 d3C1
p z a3 S 23 a2 S 2 d 4C 23
Industrijska robotika
C S
S C
H 03
0
0
0
0
x
0 y
1 0
0 1
0
(3.78)
C C123
(3.79)
S S123
(3.80)
x l1 C1 l2 C12
(3.81)
y l1 S1 l2 S12
(3.82)
odakle sledi
C2
x 2 y 2 l12 l22
.
2l1l2
50
(3.83)
Industrijska robotika
Da bi reenje postojalo mora desna strana jednaine imati vrednost izmeu -1 i +1, na
osnovu ega sledi
S 2 1 C 22
pa se ugao q2 moe odrediti na osnovu izraza
S2
q2 arctg
C2
(3.84)
x k 2 C1 k2 S1
y k1 S1 k 2 C1
gde je
k1 l1 l2 C 2
k 2 l2 S 2
(3.85)
(3.86)
(3.87)
ili
x r cos ( q1 )
Poto je
y r sin ( q1 )
y/r
q1 arctg
arctg ( y / x )
x/r
sledi
y/r
q1 arctg
arctg (k2 / k1 )
x/r
(3.88)
Za raunarsko reavanje funkcije arctg preporuujemo korienje funkcije Atan2, jer vodi rauna u kom se od
etiri kvadranta nalazi traeni ugao i dodeljuje reenju ispravan znak.
5
51
Industrijska robotika
(3.89)
x C1 a3C 23 a2 C 2
y S1 a3C 23 a2 C 2
z a3 S 23 a2 S 2
(3.90)
(3.91)
(3.92)
x S1 C1 S1(a3 C 23 a2 C 2)
(3.93)
y C1 S1 C1(a3C 23 a2 C 2)
(3.94)
odakle dobijamo
q 1 arctg
y
k
x
(3.95)
y S1 S1 (a3 C 23 a2 C 2)
(3.96)
x C1 y S1 ( S12 C12 ) a3 C 23 a2 C 2
(3.97)
z a3 S 23 a2 S 2
(3.98)
Industrijska robotika
(3.99)
z a S 23 2 a2 a3 S 23 S 2 a S 2
(3.100)
2
3
2
2
odakle sledi
C3
x C1 y S1
z 2 a32 a22
2 a3 a2
(3.101)
(3.102)
pa konano sledi
q3 arctg
S3
C3
(3.103)
ime je ugao q3 odreen. Odredimo sada ugao q2 . Najpre u izrazima (3.97) i (3.98) sinus i
kosinus zbira uglova ( 2 3 ) rastavimo pomou adicionih teorema na osnovu ega se
dobija
C1 x S1 y a3 C 2 C 3 a3 S 2 S 3 a2 S 2
z S 2( a3C 3 a2 ) a3C 2S 3
(3.104)
(3.105)
(C 3 a3 a2 ) z S 3 a3 (C1 x S1 y )
(C 3 a3 a2 ) 2 S 32 a32
C2
(C 3 a3 a2 ) (C1 x S1 y ) S 3 a3 z
(C 3 a3 a2 ) 2 S 32 a32
(C 3 a3 a2 ) z S 3 a3 (C1 x S1 y )
(C 3 a3 a2 ) (C1 x S1 y ) S 3 a3 z
(3.106)
ime je zadatak reen. Treba napomenuti da izborom znaka u (3.102) biramo jedno od dva
mogua reenja (lakat gore ili lakat dole). Time se ilustruje da reenja inverznog
kinematskog zadatka nije jedinstveno.
53
Industrijska robotika
Primer 3.8.
Za robot PUMA konfiguracije iz Primera 3.5 reiti inverzni kinematski zadatak.
Ukupna matrica rotacije (data sa (3.76) iji elementi su definisani sa (3.77)) se moe
napisati u formi
r11
r
21
6
1
2
3
4
5
6
q
q
q
q
q
q
H 0 H 0 1 H1 2 H 2 3 H 3 4 H 4 5 H 5 6
r31
r12
r13
r22
r32
0
r23
r33
0
px
p y
pz
(3.107)
1
6
2
3
4
5
6
H 0 q1 H 0 H 1 q2 H 2 q3 H 3 q4 H 4 q5 H 5 q6 .
1
(3.108)
C1 S1 0 0 r11
S1 C1 0 0 r
21
0
0 1 0 r31
0 0 1 0
0
r12
r22
r13
r23
r32
0
r33
0
px
p y
H 16
pz
(3.109)
(3.110)
(3.111)
gde je
pHORIZ px 2 p y 2
arctg p y / px
sledi
C1S S1C
d3
pHORIZ
Ako uoimo da leva strana predstavlja sinus razlike uglova moemo pisati
S ( q1 )
d3
pHORIZ ,
54
Industrijska robotika
pHORIZ
odakle sledi
d3
pHORIZ
q1 arc tg
2
,
d3
1
pHORIZ
(3.112)
p
d3
q1 arc tg x arc tg
p
2
p p 2 d 2
y
x
y
3
(3.113)
Ako je q1 poznato, tada su poznate sve vrednosti sa leve strane izraza (3.109). Ako sada
izjednaimo izraze za elemente (1, 4) i (3, 4) dobijamo
C1 px S1 p y a3 C 23 d 4 S 23 a2 C 2
pz a3 S 23 d 4 C 23 a2 S 2
(3.114)
(3.115)
gde je
K
px 2 p y 2 pz 2 a2 2 p32 d32 p4 2
2a2
Jednaina (3.115) je istog oblika kao (3.109) pa moe biti reena na isti nain, pa za q3
dobijamo
a
q3 arc tg 3
d4
K
arc tg
2
2
2
a3 d 4 K
55
odakle sledi
(3.116)
Industrijska robotika
21
S1
C1
d 2 r31
0
0
0
1 0
0
r12
r13
r22
r32
r23
r33
px
p y
H 36
pz
(3.117)
C1S 23 px S1S 23 p y C 23 pz a2 S 3 d 4
(3.118)
C 23
a3 a2 C 3 pz C1 px S1 p y a2 S 3 d 4
pz 2 C1 px S1 p y
a2 S 3 d 4 pz a3 a2 C 3 C1 px S1 p y
pz 2 C1 px S1 p y
a3 a2 C 3 pz C1 px S1 p y a2 S 3 d 4
q2 q3 arc tg
a2 S 3 d 4 pz a3 a2 C 3 C1 px S1 p y
(3.119)
(3.120)
dobijamo etiri vrednosti obzirom da q1 i q3 imju po dva mogua reenja. Sad su poznate
sve vrednosti na levoj strani (3.117) pa izjednaavanjem elemenata (1.3) i (3,3) na obe
strane dobijamo
r13C1C 23 r23 S1C 23 r33 S 23 C 4 S 5
r13 S1 r23C1 S 4 S 5
(3.121)
r13 S1 r23C1
q4 arc tg
(3.122)
Industrijska robotika
tako da dobijamo
H 04 q4 H 06 H 45 H 56
1
(3.123)
gde je
H 04 q4
C1S 23
S1S 23
C 23
a2 S 3 d 4
0
0
0
1
dok je H 4 dato jednainama (3.71) iz primera 3.5. Izjednaavajui lanove (1,3) i (3,3) u
prethodnom izrazu, sledi
6
r13 C1C 23S 4 S1C 4 r23 S1C 23C 4 C1S 4 r33 S 23C 4 S 5
r13 C1S 23 r23 S1S 23 r33 C 23 C 5
(3.124)
Odavde je
S5
q5 arc tg
C5
(3.125)
S6
q6 arc tg
C6
gde je
(3.126)
S 6 r11 C1C 23S 4 S1C 4 r21 S1C 23S 4 C1C 4 r31 S 23S 4
(3.127)
Obzirom da je za neke uglove dobijeno vie reenja kao i da postoje ogranienja na opseg
kretanja koja se mogu realizovati u zglobovima konkretnog robota, sva varijantna reenja
treba razmotriti, neodgovarajua odbaciti, a od preostalih izbrati ono koje nam navie
odgovara.
57
Industrijska robotika
p06 q1 ,..., q6 pH
(3.128)
predstavlja ort k ose z6. Prema tome, vektor pZGL pozicije centra zgloba moe se odredti iz
izraza:
Sl. 3.22 Rasprezanje ukupne mehanike konfiguracije na minimalnu konfiguraciju i zglob hvataljke
pZGL pH d 6 Rk
(3.129)
Iz ovog sistema od tri jednaine se mogu odrediti vrednosti koordinata zglobova q1, q2 i q3
58
Industrijska robotika
obzirom da je pZGL funkcija samo ove tri promenljive. Jo preostaje da se odredi orijentacija
koordinatnog sistema hvataljke u odnosu na koordinatni sistem O3. Imajui na umu da je
ukupna matrica rotacije R poznata, moemo je napisati na sledei nain
R R 0 R36
3
odakle sledi
(3.130)
(3.131)
Prema tome, za robote koji poseduju est stepeni slobode i sferni zglob, algoritam
odreivanja inverzne kinematike se moe svesti na sledea tri koraka
korak 1: odrediti q1, q2 i q3 iz uslova
p ZGL d H d 6 Rk
Primer 3.9.
Za robot antropomorfne konfiguracije sa est stepeni slobode sa Sl. 3.22 reiti inverzni
kinematski problem rasprezanjem ukupne mehanike konfiguracije na minimalnu
konfiguraciju i zglob hvataljke.
Prvi deo zadatka (odreivanje q1, q2 i q3) je ve reen u Primeru 3.7. uz napomenu da vrh
minimalne konfiguracije sa koordinatama [x y z] T treba zameniti centrom zgloba hvataljke
Drugi deo zadatka predstavlja odreivanje koordinata zglobova hvataljke q4, q5 i q6 tako da
se ostvari zahtevana orijentacija. Podsetimo se da uglovi q4, q5 i q6 odgovaraju ZYZ
Ojlerovim uglovima izraenim u odnosu na koordinatni sistem O3-x3y3z3. Onda je mogue
da se, na nain slian odreivanju Ojlerovih uglova za poznatu matricu rotacije kao u
Primeru 3.3, odrede traeni uglovi q4, q5 i q6. Naime, ako je martica rotacije data sa.
r11
R03 r21
r31
r12
r22
r32
r13
r23
r33
Industrijska robotika
r11
r21
r31
r12
r22
r32
r23 S 4C 5C 6 C 4 S 6 S 4C 5S 6 C 4C 6 S 4 S 5
r33
S 5 C 6
S5 S6
C 5
Kvadriranjem i sabiranjem elemenata r13 i r23 sa obe strane izraza i korienjem izraza za
r33 dobijamo
r2 r2
q5 arc tg 13 23
r33
r
q6 arc tg 32
r31
r
q4 arc tg 23
r13
r2 r2
q5 arc tg 13 23
r33
r
q6 arctg 32
r31
r2 r2
13
23
q5 arc tg
r33
r
q6 arc tg 32
r31
Oba reenja degeneriu kada je sin q5 0 pa u tom sluaju jedino moemo da odredimo
60
Industrijska robotika
LITERATURA
An C., Atkenson C, and Hollerbach J.: Model-Based Control of a Robot Manipulator, The MIT Press, 1998.
Angeles J.: Fundamentals of Robotic Mechanical Systems, Theory, Methods and Algorithms, Springer-Verlag,
2003.
Asada H. and Slotine J.J.: Robot Analysis and Control, John Wiley and sons, 1985.
Ben-Zion Sandler, Robotics- designing the Mechanisms for Automated machinery, Prentice Hall, Inc., 1991
Bruyninckx H. and De Schutter J.: Introduction to Inteligent Robotics, Katholieke Universteit Leuven, 2001.
Craig J.: Introduction to Robotics: Mechanics & Control, Addison-Wesley, 1986.
Dorf. R and Bishop R.: Modern Control Systems, Addison-Wesley, 1995.
Eugene I. Rivin, Mechanical design of robots, McGraw-Hill, Inc., 1987
Fu K., Gonzales R., and Lee C.: Robotics: Control, Sensing, Vision and Intellignece, McGraw-Hill Book
Company, 1987.
Fu K., Gonzales R., and Lee C.: Robotics: Control, Sensing, Vision and Intellignece, McGraw-Hill Book
Company, 1987.
J.M.Selig, Introductory Robotics, Prentice Hall, Inc., 1992
61
4.1 UVOD
U prethodnom poglavlju su uspostavljene relacije izmeu pozicije i orijentacije hvataljke
robota i vrednosti unutranjih koordinata (koordinata u zglobovima) mehanike
konfiguracije (direktni kinematski problem). Takoe je pokazano kako se sraunavaju
koordinate u zglobovima robota koje obezbeuju eljenu poziciju i orijentacije hvataljke
(inverzni kinematski problem). U oba sluaja je uspostavljena veza izmeu unutranjih i
spoljanjih koordinata u jednom diskretnom poloaju.
Sutinski vaan zadatak predstavlja realizacija koordinisanog kretanja zglobova robota u
cilju ostvarivanja eljene trajektorije hvataljke. Da bi se ovaj zadatak reio potrebno je da se
uspostavi veza izmeu brzina u zglobovima robota i rezultujue brzine kretanja hvataljke.
Jakobijan (ili jakobijeva matrica) kojom se ovo preslikavanje uspostavlja predstavlja
osnovu za reavanje ove klase zadataka. Osim toga, u okviru ove glave e biti obraene
osnove diferencijalne kinematike, naini za sraunavanje elemenata jakobijeve matrice, kao
i numeriko reavanje inverznog kinematskog problema.
62
Planiranje kretanja
Industrijska robotika
1
0
0
1
0
1
Rx (d x ) 0 cos d x sin d x 0
0 sin d x cos d x 0 d x
0
d x
1
(4.1)
d x d y
d y
0
1
dx
0 1
d x 0
1 d y
dy 1
d x 0
1 d y
0
1
dx
0 dy
0
0
1
d y
d x
1
(4.2)
gde smo male veliine drugog reda d x d y zanemarili. Ako sada zamenimo redosled
mnoenja videemo da e proizvod Ry d y Rx d x dati isti rezultat kao u
R dx , d y , dz
dz
d y
d z
1
dx
dy
d x
1
(4.3)
(4.4)
1
( d z d z )
(d x d x)
( d d ) ( d d )
1
y
x
y
x
R(d x d x, d y d y , d z d z )
(4.5)
odakle se moe zakljuiti da je rezultujua rotacija suma komponentnih rotacija, tj. da vai
osobina aditivnosti. Prema tome, poto infinitezimalne rotacije poseduju osobine aditivnosti
i komutativnosti mogu se zapisivati u vektorskoj formi
63
Industrijska robotika
Planiranje kretanja
d x
d d y
d z
(4.6)
(4.7)
S ij S ji 0 j, i 1, 2, 3
.
(4.8)
Da bi (4.8) bilo ispunjeno svi dijagonalni lanovi moraju biti nule, dok svi vandijagonalni
lanovi moraju da zadovoljavaju Si,j = -S,ji. Odavde sledi da svaka antisimetrina matrica
ima samo tri nezavisna elementa, pa se moe napisati u formi:
0
S S 3
S 2
S3
0
S1
S2
S1
.
0
Ukoliko za elemente matrice Sij usvojimo komponente vektora a=(ax, ay, az)T tada matrica
S a ima oblik
0
S a a z
a y
ay
ax
0
az
0
ax
0 0 0
0 0 1
0 1 0
S i 0 0 1 S j 0 0 0 S k 1 0 0
,
,
.
0 1 0
1 0 0
0 0 0
Navedimo sada nekoliko osnovnih osobina kososimetrinih matrica koje e nam biti od
koristi kasnije. Prva osobina je linearnost
S a b S a S b , skalari.
(osobina 1)
S a p a p
(osobina 2)
tj. da je proizvod matrice S a i vektora p jednak vektorskom proizvodu vektora a i p .
64
Planiranje kretanja
Industrijska robotika
R a b R a R b
(osobina 3)
Drugim reima, rotirani vektorski proizvod dva vektora je jednak vektorskom proizvodu
rotiranih vektora. Dalje, ako na
R S a RT b
R S a R T b R a R T b
R a RT b (R a ) ( R RT b )
R a R RT b R a b
R S a R T (b ) S ( R a ) b
R S a R T S ( R a )
(osbina 4)
Dalje, pretpostavimo da je rotaciona matrica funkcija samo jedne promenljive , a obzirom
da je R ortogonalno, sledi
R R T I
dR T
dR T
R R
0
d
d
def
dR T
R
d
(4.9)
(4.10)
Uporeivanjem izraza (4.10) i (4.11) sa (4.9) vidimo da za S definisano kao u (4.10) vai
T
65
Industrijska robotika
Planiranje kretanja
S ST 0
pa moemo da zakljuimo da ako je matrica S definisana kao u (4.10) onda je ona
antisimetrina. Pomnoimo li obe strane (4.10) sa R sledi
dR
S R
(4.12)
d
Ovaj izraz nam kae da izvod matrice rotacije moemo sraunati ako matricu rotacije R
pomnoimo kososimetrinom matricom S.
Primer 4.1:
R Rx , 0 C S
0 S C
0
0 1
0
0 0 0 0
0
dR T
R 0 S C 0 C S 0 0 1 S i
d
0 C S 0 S C 0 1 0
dR x ,
d
Na isti nain moemo pokazati da vai
dR y ,
to preputamo itaocu.
S i R x ,
S j R y ,
dR z ,
,
S k Rz ,
Planiranje kretanja
Industrijska robotika
dR d
S i Rt S t R t
R
d dt
Pretpostavimo, dalje, da je p1 vektor koji je fiksiran u odnosu na koordinatni sistem O1x1y1z1 koji rotira u odnosu na koordinatni sistem O0-x0y0z0. Tada su koordinate vektora p u
odnosu na O0-x0y0z0 date sa
p0 R01 t p1
odakle, posle diferenciranja, i primenom osobine 2 sledi
p R 1 t p S R1 t p S p p
0
d
p0 R01 p1 d 01 /
dt
pa diferenciranjem prethodnog izraza, imajui u vidu da je p1 konstantan, sledi
d
a b da b a db
dt
dt
dt
Napiimo ponovo izraz (4.13) u formi
p 0 d01 R01 p1 R01 p1
pa ga diferencirajmo po vremenu
R01 p1 R01 p1
r r
p0 d01
r r a
p0
(4.14)
(4.15)
p0
67
(4.16)
Industrijska robotika
Planiranje kretanja
gde je a R01
p1 d01 , dok izraz 2 R01 p1 oznaava Koriolisovo ubrzanje.
(4.17)
p1 R12 p2 d12
(4.18)
p0 R02 p 2 d 02
(4.19)
(4.20)
d 02 d 01 R01 d12
.
2
(4.21)
R 02 S 02 R02
(4.22)
Prvi izraz sa desne strane u (4.21) tj. R 01 R12 moemo napisati kao
R01
(4.23)
2
(4.24)
(4.25)
Obzirom da je S a S b S a b sledi
68
Planiranje kretanja
Industrijska robotika
02 10 R01 12
(4.26)
Odavde zakljuujemo da se ugaone brzine mogu sabirati samo pod uslovom da su izraene
u istom koordinatnom sistemu.
4.3 JAKOBIJAN
Svako kretanje u zglobovima robota ima za posledicu kretanje hvataljke. Meutim, kretanje
hvataljke po odreenoj trajektoriji zahteva koordinisano kretanje svih zglobova mehanike
strukture robota. Da bi mogli da realizujemo zahtevano kretanje hvataljke robota potrebno
je da se uspostavi veza izmeu kretanja u zglobovima mehanike konfiguracije i kretanja
hvataljke, tj brzine u zglobovima q , i linarne i ugaone brzine hvataljke ( p i ,
respektivno) pa moemo pisati
p J L q
J U q
Ove dve jednaine moemo objediniti u jedinstven izraz ime se dobija relacija
p
s v J q q
(4.32)
J12
J13
J14
J15
J 22
J 23
J 24
J 25
J 32
J 33
J 34
J 35
J 42
J 43
J 44
J 45
J 52
J 53
J 54
J 55
J 62
J 63
J 64
J 65
J16 q1
J 26 q 2
J 36 q3
J 46 q 4
J 56 q5
J 66 q6
(4.33)
(4.34)
Iz forme izraza (4.34) se vidi da su lanovi (elementi) jakobijana u stvari parcijalni izvodi
funkcije kojom se definie pozicija i orijentacija vrha robota u spoljanjim koordinatama po
unutranjim uglovima u zglobovima mehanizma robota i mogu se odrediti analitiki ili
69
Industrijska robotika
Planiranje kretanja
numeriki.
4.3.1 Analitiko sraunavanje jakobijana
(4.35)
z a 2 S 2 a3 S 23
dx
x(q1 , q 2 , q3 )
x (q1 , q 2 , q3 )
x (q1 , q 2 , q3 )
dq1
dq 2
dq3
q1
q 2
q3
dy
y (q1 , q 2 , q3 )
y (q1 , q 2 , q3 )
y (q1 , q 2 , q3 )
dq1
dq 2
dq3
q1
q2
q3
dz
z (q1 , q 2 , q3 )
z (q1 , q 2 , q3 )
z (q1 , q 2 , q3 )
dq1
dq 2
dq3
q1
q 2
q3
70
(4.36)
Planiranje kretanja
Industrijska robotika
ds J ( q) dq
(4.37)
gde je
dx
dq1
ds dy dq dq2
,
.
dz
dq3
pa sledi
x
q1
y
J
q1
z
q1
x
q2
y
q2
z
q2
q3
y
q3
z
q3
(4.38)
U ovom odeljku e biti prikazan nain numerikog sraunavanja elemenata jakobijana kako
bi se ovaj zadatak mogao efikasno realizovati primenom raunara.
Kao to smo ve uoili i linearnom i ugaonom kretanju hvataljke doprinosi kretanje u
svakom od zglobova mehanizma. Ako napiemo jakobijevu matricu u sledeem obliku
J L1
J
JU1
J L 2 J Ln
J U 2 J Un
(4.39)
tako da svaki elemenat J Li i JUi predstavlja vektor kolonu dimenzije (3x1), lako se moe
uoiti da prvi deo kolone ( J Li ) odgovara doprinosu i-tog zgloba linearnom, a drugi deo
( JUi ) ugaonom kretanju hvataljke. U razvijenoj formi (4.39) postaje
71
Industrijska robotika
Planiranje kretanja
J 1
L12
J L1
3
v H J L1
1
H JU 1
J U 12
3
J U 1
J L 21
J Ln1
2
2
J L 2 J Ln
J 3
J 3 q 1
L2
Ln
J U 21
J Un1
q
2
2
n
J U 2 J Un
J 3
J 3
U2
Un
(4.40)
(4.41)
H J U 1 q1 J U 2 q 2 J Un q n
(4.42)
Na Sl. 4.3.a. je prikazan sluaj kada je i-ti zglob robota (rotacioni) i njegov poloaj u
odnosu na hvataljku, dok je na Sl. 4.3.b. i-ti zglob robota translatorni. Neka su sa zi-1
obeleene ose zglobova koje su postavljene u postupku odreivanja DH parametara.
Razmotrimo najpre kako kretanje nekog od zglobova mehanizma moe da doprinese
promeni linearne brzine hvataljke.
U sluaju da je i-ti zglob translatoran njegovo pomeranje izaziva samo translatorno
pomeranje hvataljke u pravcu zi-1 ose, intenziteta di (pripadajua z osa je tada zi-1, a DH
parametar di je promenljiva), tj.
J Li q i z i 1 di
a) rotacion zglob
(4.43)
b) translatorni zglob
Sl. 4.3. Infinitezimalni pomeraji hvataljke zbog pomeranja rotacionog i linearnog (translatornog) zgloba
Ako je i-ti zglob rotacioni njegovim pokretanjem e deo mehanizma koji se nalazi dalje od
zgloba koji se pokree (ukljuujui i hvataljku) dobiti ugaonu brzinu
i z i 1 q i
(4.44)
Planiranje kretanja
promeniti za
Industrijska robotika
J Li q i i ri 1, H z i 1 ri 1, H q i
(4.45)
Na slian nain emo odrediti kako kretanja u translatornom i rotacionom zglobu doprinose
promeni ugaone brzine hvataljke.
Ako je i-ti zglob translatorni on ne doprinosi promeni ugaone brzine hvataljke, pa je
J Ui q i 0
(4.46)
Ako je i-ti zglob rotacioni, ugaona brzina koja se generie kretanjem zgloba, je data sa
J Ui q i z i 1 q i
(4.47)
za translatorni zglob
J Li z i 1
J
Ui 0
(4.48)
za rotacioni zglob
J Li z i 1 ri 1, H
J
z i 1
Ui
(4.49)
Pri sraunavanju jakobijana jedine veliine koje treba odrediti su vektori z i 1 i ri 1, H koji
(4.50)
Vektor poloaja od i-1-vog zgloba do hvataljke ri 1, H je mogue odrediti (Sl. 4.3.a i b) kao
razliku vektora p H od koordinatnog poetka do hvataljke i vektora pi 1 od koordinatnog
poetka do i-1-vog zgloba. Vektor p H je mogue odrediti kao prva tri elementa etvrte
kolone ukupne homogene matrice transformacije H 0H koja je data sa
H 0H H 01 (q1 ) H12 (q2 ) H nH1 (qn )
pa sledi
pH H 0H p0
(4.51)
73
Industrijska robotika
Planiranje kretanja
pi 1 . Naime,
i konano dobijamo:
(4.52)
ri 1, H pH pi 1
z0 0 z1 C1 z2 C1
,
,
1
0
0
a 2 C1C 2
a 2 C1C 2 a3 C1C 23
O0 O1 0 0 0T O2 a 2 S1C 2 O3 a 2 S1C 2 a3 S1C 23
,
,
.
a 2 S 2
a 2 S 2 a3 S 23
a2 S1C 2 a3 S1C 23
z0 (O3 O0 ) a2 S1C 2 a3 C1C 23
0
a3C 23
a 2 C 2 a3C 23
0
a 2 C 2 a3C 23
a3C 23
Planiranje kretanja
Industrijska robotika
(4.34)
(4.53)
q t q POC t
t t
q d
(4.54)
Ako integraciju realizujemo u diskretnom vremenu, najjednostavnijom Ojlerovom metodom integracije, gornji izraz postaje
q t t q POC t q t t
(4.55)
(4.56)
(4.57)
(k )
s k s 0 f q k J q k q k 1 q k
75
(4.58)
Industrijska robotika
Planiranje kretanja
q k 1 q k J 1 q k s k
(4.59)
to predstavlja osnovnu relaciju za iterativni postupak reavanja inverznog kinematskog
problema. Postupak reavanja se moe definisati sledeim koracima:
korak 1: za zadato s 0 pretpostavimo reenje inverznog problema q (k ) ;
.
(4.60)
Prikazani postupak je klasina Njutnova metoda za reavanje sistema nelinearnih jednaina
kojim se dobija samo jedno reenje i to ono koje je najblie poetnom pretpostavljenom
reenju q 0 .
(4.53)
tj. na pretpostavci da je mogue odrediti inverzni jakobijan J (q ) tj. da je matrica J kvadratna i da nema singularitet. Ako sa m oznaimo dimenziju vektora spoljanjih koordinata s,
a sa n broj stepeni slobode mehanike konfiguracije robota moemo razlikovati tri sluaja:
b) m n
U ovom sluaju je Jakobijeva matrica kvadratna te se moe odrediti njena inverzna
matrica
1
q J (q) 1 s
Planiranje kretanja
Industrijska robotika
c) m n
U ovom sluaju broj stepeni slobode zadatka je vei od broja stepeni slobode
robota pa se moe dogoditi da ne postoji q koje je reenje sistema (4.53). Drugim
reima broj jednaina je manji od broja nepoznatih u sistemu. Stoga se pribegava
traenju reenja koje zadovoljava sistem uz najmanju greku. Obeleimo sa q *
vektor koordinata zglobova koji zadovoljava uslov da je greka definisana izrazom
G Greska 2 Jq * s
Jq s
T
(4.61)
Jq 2s
G Jq *
Jq * sT s
(4.62)
Da bi minimizirali greku diferencirajmo gornji izraz i izjednaimo ga sa nulom tj.
G qi 0
G *T T
(q J J q * ) (2sT Jq * )
q q
q
(4.63)
J J q
T
ili
J T s
(4.64)
q * J T J J T s
1
pod uslovom da
J J
T
postoji. Matrica
J J
T
(4.65)
ime su odreene koordinate zglobova tako da je greka pozicioniranja minimalna.
d) m n
U ovom sluaju je broj stepeni slobode koji zahteva zadatak manji od broja stepeni
slobode koji poseduje robotski manipulator (manipulator je redundantan), tj broj
jednaina je vei od broja nepoznatih u sistemu pa postoji beskonano mnogo
reenja od kojih treba odabrati jedno. Jedan od naina da se vri izbor reenja je da
Euklidova norma bude minimalna. Ovo reenje moemo dobiti metodom
Lagranevih mnoitelja. Ako je 1 , 2 , 3 ,... m vektor Lagranevih
mnoitelja moemo postaviti novu funkciju cilja
(q ) q
q T Jq s
(4.66)
(4.67)
77
Industrijska robotika
Planiranje kretanja
odakle sledi
q J T 2
(4.68)
(4.69)
(4.70)
pod uslovom da ( JJ )
postoji. Zamenjujui ovaj izraz u (4.68) i nakon
jednostavnih transformacija dobijamo
T
q J T ( JJ T ) 1 s
T
Matrica J ( JJ )
(4.71)
(4.72)
78
Planiranje kretanja
Industrijska robotika
a)
b)
Da bi ilustrovali ovaj sluaj posmatrajmo minimalnu konfiguraciju (samo prva tri stepena
slobode) antropomorfne konfiguracije u poloaju koji je prikazan na Sl. 4.4. a. Obzirom da
se vrh minimalne konfiguracije nalazi na osi obrtanja prvog zgloba njen poloaj ne zavisi
od trenutne vrednosti ugla q1 i ovaj poloaj je ostvaren za bilo koju vrednost ugla q1 . Ovo
vai za bilo koje vrednosti uglova q 2 i q3 ako je ispunjeno da se vrh minimalne konfiguracije nalazi na vertikalnoj osi obrtanja, pa i za sluaj kada je q 2 q3 0 i kada je mehani-
ka struktura robota potpuno ispruena navie (Sl. 4.4.b). Drugi primer kojim ovakvu
situaciju moemo ilustrovati je sferni (Ojlerov) zglob hvataljke robota u poloaju koji je
prikazan na Sl. 4.5. Uoimo da, ukoliko su ugaone brzine u etvrtom i estom zglobu
jednake po intenzitetu a suprotne po smeru ( q 4 q 6 ) hvataljka e mirovati. Osim toga,
ovde pripada bilo koji poloaj robota sa Sl. 4.4.a osim potpuno ispruene konfiguracije (Sl.
4.4.b).
Kao to je ve pomenuto uslov za pojavu singulariteta je kada jakobijan gubi puni rang.
Meutim, sraunavanje uslova singulariteta se moe pojednostaviti ako se mehanika
struktura robota raspregne na minimalnu konfiguraciju i zglob hvataljke. U tom sluaju
Jakobijan robota sa est stepeni slobode se u blok-formi moe prikazati na sledei nain
J11
J
J 21
J12
J 22
(4.73)
79
Industrijska robotika
Planiranje kretanja
z4 r4, H
z5 r5, H
J 22 z3
z4
z5
(4.74)
gde je koriena notacija iz odeljka 4.3.2. (vidi Sl. 4.3.). Obzirom da se poloaj
koordinatnog sistem hvataljke moe slobodno birati, kao i da rezultat ne zavisi od izbora
koordinatnog sistema u odnosu na koji je izraen smestimo ga u centar zgloba (mesto gde
se sve tri ose seku) poto je tada ispunjeno ri 1, H 0 i=4,5,6. U tom sluaju matrica J12
postaje
J12 0
(4.75)
pa matrica J postaje blok donje-trougaona matrica, to znatno pojednostavljuje
sraunavanje determinante
det( J ) det( J11 ) det( J 22 )
(4.76)
.
ime je postignuto raspregnuto razmatranje uslova singularnosti.
(4.77)
(4.78)
(4.79)
i uporedimo odgovarajue brzine zglobova iz n-dimenzionalnom prostora stanja zglobova.
Ako u gornji izraz uvedemo (4.32) posle jednostavnih transformacija dobijamo
q T J T Jq 1
(4.80)
Gornja jednaina predstavlja elipsoid u n-dimenzionalnom prostoru stanja zglobova gde
svaka taka elipsoida odgovara jednoj kombinaciji brzina u zglobovima tako da vektor br80
Planiranje kretanja
Industrijska robotika
2 S1 C12 C12
(4.81)
2 2C 2 3
2C 2 1
2C 2 1
1
.
81
(4.82)
Industrijska robotika
Planiranje kretanja
Sopstvene vrednosti J T J su 1 2 2 C 2 1 i 2 2 2 C 2 1 . Za q2 3 4
1 1
Uvoenjem (4.83.) u (4.78.) dobijamo jednainu
3q12 2q1q2 q22
(4.83)
0.3827q1
0.3827q1
0.9238q2
1.30652
0.9238q2
1
0.54122
koja predstavlja elipsu prikazanu na Sl. 4.8 sa koje se vidi da za jedininu brzinu
vy
.
1q2
P=(-0.500, 1.207)
Q=(-0.707, 0.707)
Q=(-0.500, 0.207)
vx
.
q1
P=(-0.707, -0.707)
a) Brzine hvataljke
82
Planiranje kretanja
Industrijska robotika
2 0 .
83
Industrijska robotika
Planiranje kretanja
PLANIRANJE KRETANJA
Planiranje kretanja
Industrijska robotika
Industrijska robotika
Planiranje kretanja
Planiranje kretanja
Industrijska robotika
Tf t
Tf
qf
t
Tf ,
(5.1)
q f qi
Tf
(5.2)
.
(5.3)
Jednaine (5.1), (5.2) i (5.3), izraavaju injenicu da se linearna interpolacija vri
konstatnom brzinom, pa je ubrzanje jednako nuli. Kretanje konstantnom brzinom je osobina
koja moe biti od interesa u mnogim aplikacijama robota, pa je problem interpolacije
naizgled reen, i to veoma jednostavno.
Meutim, moemo uoiti da je jednaina (5.2) u suprotnosti sa graninim uslovima za
brzinu, odnosno zahtevom da robot krene iz mirovanja i da se na kraju kretanja zaustavi. To
znai da je brzina prekidna funkcija, jer pre poetka kretanja brzina jednaka nuli, a
neposredno nakon poetka kretanja brzina je odreena izrazom (5.2). Slian prekid postoji i
pri kraju kretanja, neposredno pre dostizanja krajnje take trajektorije, brzina je odreena
izrazom (5.2), a odmah zatim pada na nulu, jer se robot zaustavlja.
87
Industrijska robotika
Planiranje kretanja
Nagle promene brzine (npr. naglo startovanje ili zaustavljanje) dovode do izrazito velikih
ubrzanja (teoretski beskonano velikih) to zahteva adekvatne (dovoljno snane) motore
koji takva ubrzanja mogu da ostvare. Obzirom na neopravdanost ovakvog pristupa jasno je
da je potrebno da se na poetku trajektorije predvidi odreeno vreme za ubrzavanje, i na
kraju trajektorije za usporavanje, to nas dovodi do trapeznog profila brzine.
5.2.2 Trapezni profil brzine
Trapezni profil brzine predstavlja zapravo realno izvodljivu implementaciju kretanja
konstatnom brzinom. Naime, obzirom da robot polazi iz stanja mirovanja, a elimo da se
kree nekom konstantnom brzinom, potrebno je izvesno vreme da se ta brzina dostigne.
Takoe, zaustavljanje se ne odvija naglo, nego se pri kraju kretanja kontrolisano koi, i
brzina smanjuje do nule.
Razmotrimo sada sa matematikog aspekta opisano kretanje. Ponovo su date poetna qi i
krajnja pozicija q f , kao i ukupno vreme trajanja pokreta T f . Ovim parametrima
qmax , odnosno usporenje, pa je kretanje ravnomerno usporeno. Zbog toga brzina linearno
opada od brzine krstarenja do nule, kada se robot zaustavlja. Promena pozicije u ovom
intervalu ponovo je kvadratna funkcija vremena. Ovaj interval kretanja naziva se period
koenja robota.
Obzirom na izgled grafikona brzine, ovakvo kretanje dobilo je naziv kretanje po trapeznom
profilu brzine. Primetimo jo da brzina krstarenja, maksimalno ubrzanje i period ubrzavanja
odnosno koenja nisu nezavisne veliine, jer mora da vai
q max qmax Ta
.
(5.4)
Izraze za interpolacione funkcije moemo odrediti na osnovu Sl. 5.1. Lako moemo
zakljuiti da je ubzanje dato izrazom
qmax
q(t ) 0
q
max
0 t Ta
Ta t T f Ta
T f Ta t T f
88
(5.5)
Planiranje kretanja
Industrijska robotika
Brzinu moemo odrediti integracijom jednaine (5.5), vodei rauna o poetnim uslovima i
vezi datoj izrazom (5.4), u sledeem obliku
89
Industrijska robotika
Planiranje kretanja
qmax t
0 t Ta
q (t ) qmax Ta
Ta t T f Ta
.
q (T t ) T T t T
f
f
a
f
max
(5.6)
Izraz za poziciju moe se dobiti integracijom izraza za brzinu (5.6), vodei ponovo rauna o
poetnim uslovima, ime se dobija
qi 0.5 qmax t 2
0 t Ta
q (t ) qi qmax Ta t Ta 2 Ta t T f Ta
.
q 0.5 q (T t ) 2 T T t T
f
f
a
f
max
f
(5.7)
Jedina nepoznata veliina u izrazima (5.5), (5.6) i (5.7) je maksimalna vrednost ubrzanja
qmax , koja, oigledno, mora da zavisi od polaznih parametara.
(5.8)
gde, obzirom na jednainu (5.4), izraz qmax Ta predstavlja visinu trapeza, dok izraz
T f Ta predstavlja duinu njegove srednje linije. Sada potrebnu vrednost ubrzanja
moemo odrediti kao
qmax
q f qi
Ta (T f Ta ) .
(5.9)
Ta
Tf
(5.10)
2 ,
odnosno, periodi ubrzavanja, odnosno koenja, ne mogu biti dui od polovine ukupnog
vremena.
U specijalnom sluaju, kada je Ta 0.5 T f , period ubrzavanja i usporavanja traju po
polovinu ukupnog vremena kretanja, odnosno, im se dostigne brzina krstarenja poinje
koenje. Trapezni profil brzine sa Sl. 5.1 tada se deformie, jer se gubi sredinji deo
kretanja konstanom brzinom, pa za ovakvo kretanje kaemo da se odvija po trougaonom
profilu brzine.
Ve je reeno da su kretanja robota, sa stanovita brzine i ubrzanja, ograniena
primenjenim aktuatorima. Drugim reima, postoji maksimalno ubrzanje koje dati aktuator
moe proizvesti u posmatranom zglobu, kao to je i maksimalna brzina kretanja zgloba ograniena. Zbog toga je u praksi uobiajeno da se, umesto zadavanja vremena trajanja pokreta, i perioda ubrzavanja odnosno usporavanja, zadaju maksimalno ubrzanje, odnosno, elje90
Planiranje kretanja
Industrijska robotika
Prema tome, neka je poznato qi , q f , q max i qmax , pri emu, vrednost brzine krstarenja i
maksimalna vrednost ubrzanja mogu biti zaista fizike maksimalne vrednosti. Tada se
dobija najkrae vreme trajanja pokreta. Na osnovu veze (5.4), lako odreujemo vreme
potrebno za ubrzavanje, odnosno koenje, kao
Ta
q max
qmax .
(5.11)
Smenom dobijenog izraza u jednainu (5.9), moemo odrediti ukupno trajanje pokreta kao
Tf
q f qi
q max
q max
qmax .
(5.12)
Trapezni profil brzine se esto primenjuje u praksi, ne samo kod robota, ve i kod drugih
ureaja koji zahtevaju kretanje konstatnom brzinom, kao to su na primer, alatne maine,
portalne dizalice, elektromotorni pogoni, itd.
Primetimo na kraju da je ubrzanje prekidna funckija vremena, jer se skokovito menja na
granicama perioda ubrzavanja i koenja. Ova nagla promena ubzanja, odraava se kao trzaj,
koji moe pobuditi neeljene oscilacije strukture robota, a takoe, nagla promena ubrzanja
moe biti teko ostvariva sa stanovita aktuatora. Zbog toga emo pokuati da pronaemo
interpolacione funkcije, koje bi nam omoguile kontinualnu promenu, ne samo pozicije i
brzine, ve i ubrzanja. Kao pogodni kandidati za interpolacione funckije, nameu se polinomi, koje emo razmotriti u narednim odeljcima.
5.2.3 Interpolacija polinomom treeg stepena
Kao i ranije, polazna osnova za generisanje trajektorije su poetna qi i krajnja q f taka
putanje, i ukupno trajanje pokreta T f . Prema tome, mi imamo zadata etiri granina
uslova, od kojih se dva odnose na poetnu taku putanje,
q (0) qi ,
q (0) 0
q (t f ) 0
(5.13)
.
(5.14)
Zadatak nam je da pronaemo glatku interpolacionu funkciju koja e nam odrediti pozicije
tokom vremena, izmeu poetne i krajnje take. Kao mogue reenje prirodno se nameu
polinomne funkcije, jer je opte poznato da su polinomi neprekidne beskonano diferencijabilne glatke funkcije sa svim svojim izvodima.
Pre nego to preemo na odreivanje interpolacionih polinoma, razmotrimo najpre
mogunost da izvrimo normalizaciju problema, to e nam olakati ne samo izlaganje,
nego i primenu dobijenih polinoma na sintezu kretanja razliitih zglobova.
Uvedimo najpre normalizaciju po vremenu, uvoenjem smene
91
Industrijska robotika
Planiranje kretanja
t
Tf ,
(5.15)
q qi
,
q f qi
[ qi , q f ]
[0,1]
p(q)
(5.16)
(5.17)
q (t ) (q f qi ) p ()
d
dt ,
(5.18)
q f qi
Tf
p ( )
(5.19)
Na slian nain moemo odrediti i ubrzanje zgloba u funkciji normalizovanog ubrzanja kao
q(t ) t T
f
q f qi
T f2
p ()
(5.20)
p (0) 0
(5.21)
p (1) 1, p (1) 0
,
(5.22)
Obziroma na to da imamo etiri zadata uslova, na osnovu njih moemo odrediti polinom
treeg stepena, koji ima ukupno etiri koeficijenta, u obliku
p3 ( ) a3 3 a2 2 a1 a0
(5.23)
.
(5.24)
Smenom uslova (5.21) u jednaine (5.23) i (5.24) lako moemo izraunati slobodne
92
Planiranje kretanja
Industrijska robotika
lanove:
a0 0, a1 0
.
(5.25)
Smenom graninih uslova (5.22) u izraze za normalizovanu poziciju (5.23) i brzinu (5.24),
dobijamo sistem od dve jednaine sa dve nepoznate oblika
1 a3 a 2
0 3a3 2a2 ,
(5.26)
a3 2
,
tako da je normalizovani interpolacioni polinom dat sa
(5.27)
p3 () 2 3 3 2
(5.28)
p3 () 6 2 6
(5.29)
a normalizovana brzina je
.
(5.30)
Grafiki izgled normalizovane pozicije, brzine i ubrzanja prikazan je na Sl. 5.2. Sa slike
uoavamo da je normalizovana pozicija zaista glatka funkcija vremena, kao i normalizovana brzina. Primetimo da normalizovana brzina kree od nule, dostie svoj maksimum na
polovini vremena, a zatim opada do nulte vrednosti. Maksimalna vrednost normalizovane
brzine iznosi
p3 max 1.5
.
(5.31)
Vidimo takoe da je normalizovano ubrzanje linearna funkcija normalizovanog vremena,
meutim nije neprekidna. Naime, u poetnom trenutku, ubrzanje ima skok od nulte
vrednosti, na maksimalnu pozitivnu vrednost, a u krajnjem trenutku, sa maksimalne
negativne vrednosti naglo pada na nulu. Maksimalna apsolutna vrednost normalizovanog
ubrzanja iznosi
p3max 6
(5.32)
93
Industrijska robotika
Planiranje kretanja
Sl. 5.2. Normalizovana pozicija, brzina i ubrzanja kod interpolacije polinomom treeg stepena
Ako elimo da ove prekide eliminiemo, moemo da pokuamo da poveamo stepen interpolacionog polinoma.
94
Planiranje kretanja
Industrijska robotika
p (0) 0,
p (1) 1, p(1) 0,
p (0) 0
p(1) 0
,
tako da moemo potraiti interpolacioni polinom petog stepena, oblika
p5 () a5 5 a 4 4 a3 3 a2 2 a1 a0
(5.33)
(5.34)
(5.35)
(5.36)
(5.37)
p5 () 120 3 180 2 60
.
(5.38)
Zavisnost normalizovane pozicije, brzine i ubrzanja u funkciji normalizovanog vremena
grafiki je prikazana na Sl.. 5.3. Uporedimo dobijene rezultate sa interpolacionim polinomom treeg stepena. Primeujemo da je kriva normalizovane pozicije neto strmija u sredini vremenskog intervala, a neto vie zaravnjena na poetku i kraju kretanja, to je posledica injenice da je tada ubrzanje jednako nuli. Na grafikonu normalizovane brzine, primeujemo da kriva ima izraeniji zvonasti oblik, pri emu je kriva ua nego kod polinoma treeg
stepena. Obzirom na to da je preeni put jednak u oba sluaja, a to je povrina ispod krive
brzine, maksimalna brzina, koja se ponovo javlja u sredini intervala, vea je nego kod polinoma treeg reda, i iznosi
q5 max 15 8 1.875
95
(5.39)
Industrijska robotika
Planiranje kretanja
Sl. 5.3. Normalizovana pozicija, brzina i ubrzanja kod interpolacije polinomom petog stepena
(5.40)
Vidimo da smo u sluaju interpolacije polinomom petog stepena uspeli da ostvarimo glatko
kretanje koje nema prekide u ubrzanju. Meutim, ni to ponekada nije dovoljno, jer moe
96
Planiranje kretanja
Industrijska robotika
Sl. 5.4. Normalizovana pozicija, brzina i ubrzanja kod interpolacije polinomom sedmog stepena
postojati potreba da i vii izvodi pozicije budu kontinualni. Tada moramo primeniti
polinome jo veeg stepena.
5.2.5 Interpolacija polinomom sedmog stepena
U nekim aplikacijama robota, od interesa je da izvod ubrzanja, odnosno, trei izvod
97
Industrijska robotika
Planiranje kretanja
pozicije, takoe bude kontinualna funkcija. Ovaj izvod ubrzanja u literaturi se obino oznaava kao "trzaj", to bi bio slobodan prevod engleskog termina "jerk". Da bi se to postiglo,
graninim uslovima (5.33) i (5.34) dodaju se jo uslovi po treem izvodu pozicije
p (0) 0,
p (1) 0
,
(5.41)
ime se ukupan broj uslova poveao na osam, pa moemo konstruisati interpolacioni
polinom sedmog stepena. Smenom graninih uslova u izraz za polinom i njegove izvode, i
reavanjem sistema jednaina odreuju se koeficijenti polinoma. Konano reenje je oblika
p7 () 20 7 70 6 84 5 35 4
(5.42)
(5.43)
a normalizovano ubrzanje je
p7 () 840 5 2100 4 1680 3 420 2
.
(5.44)
Grafiki prikaz normalizovane pozicije, brzine i ubrzanja dat je na Sl. 5.4. U poreenju sa
interpolacionim polinomima petog i treeg stepena, vae slini zakljuci kao i kod
prethodnog poreenja. Kriva normalizovane pozicije je sada jo strmija u sredini intervala,
a zaravnjenija na krajevima. Kriva normalizovane brzine je ua, ali je zato maksimum vei,
i iznosi
q7 max 35 /16 2.1875
.
(5.45)
Konano, i kriva normalizovanog ubrzanja neto sporije raste, odnosno opada na krajevima
intervala, ali je zato apsolutna maksimalna vrednost ubrzanja sada poveana na
q7 max 84 5 25 7.513
.
(5.46)
Iz prethodne analize moemo zakljuiti, da to je blai polazak i zavretak kretanja, to su
potrebne vee maksimalne brzine i ubrzanja da bi se kretanje obavilo za isto vreme.
5.2.6 Primena normalizovanih interpolacionih polinoma
Primenom normalizacije po vremnu, i po vrednosti, uspeli smo da izraze za polinome
razliitih stepena uinimo nezavisnim od stvarnih parametara kretanja. U praksi, da bi se
izrazi iskoristili, izraunavanja iz domena normalizovanih polinoma, moraju se putem
relacija (5.17), (5.19), i (5.20) vrati u realno vreme, i realni opseg pozicija.
Pri tome je opseg promene pozicija zadat, odnosno, poznate su poetna qi , i krajnja
pozicija q f . Ve smo videli, da se iz razloga limitiranih mogunosti aktuatora, u praksi
ee barata sa maksimalnim dozvoljenim ubrzanjima i brzinama, nego sa zadatim
vremenom trajanja pokreta. Razlog tome je vrlo jednostavan, ako se zada suvie kratko
vreme, trajektorija se ne moe fiziki ostvariti. Ako se pak, zada suvie dugako vreme,
onda se pokreti izvode nepotrebno sporo.
Razmotrimo postupak odreivanja vremena izvrenja trajektorije, pod pretpostavkom da su
98
Planiranje kretanja
Industrijska robotika
Obzirom na vezu izmeu brzine zgloba i normalizovane brzine, datu jednainom (5.19),
moe se uspostaviti relacija izmeu njihovih maksimalnih vrednosti
q max
q f qi
T fv
p max
(5.47)
q f qi
pmax
.
q max
(5.48)
q f qi
pmax
,
qmax
(5.49)
Slinom analizom na osnovu jednaine (5.20), moe se odrediti potrebno vreme izvravanja
pokreta sa stanovita ubrzanja, kao
T fa
pri emu se, u izraze (5.48) i (5.49) smenjuju maksimalne vrednosti normalizovanih brzina,
izrazi (5.31), i (5.45), odnosno maksimalne vrednosti normalizovanih ubrzanja, izrazi
(5.32), (5.40), i (5.46), aproksimacionih polinoma izabranog stepena.
Za potrebno vreme trajanja pokreta zgloba usvaja se restriktivnije reenje, odnosno due
vreme,
T f max{T fv , T fa }
,
(5.50)
da bi se izbeglo premaivanje fiziki ostvarljivih granica.
Imajui u vidu da je izloena procedura nezavisna za svaki zglob, a da zglobovi mogu imati
i razliite opsege zadatog kretanja, i razliite maksimalne vrednosti brzine i ubrzanja, nakon
zavretka analize sprovedene izraunavanjem jednaina (5.48), (5.49), i (5.50), za svaki od
zglobova, imaemo zapravo skup od n odreenih vremena trajanja pokreta
{T f 1 ,, T fi ,T f n }
.
(5.51)
Imamo sada dve mogunosti. Prema prvoj, moemo pustiti da se svaki zglob kree prema
svojim maksimalnim parametrima. Pri tome, u optem sluaju, vremena kretanja za
pojedine zglobove bie razliita, odnosno, neki zglobovi e ranije zavriti pokret od drugih.
Prema drugom pristupu, za vreme izvrenja pokreta usvojiemo najdue izraunato vreme
T f max(T fi )
i
(5.52)
pri emu e trajanje pokreta za sve zglobove biti jednako. Primetimo da se pri ovom pokretu, maksimalnom brzinom kree samo zglob za ije kretanje je potrebno najvie vremena, a
preostali zglobovi se usporavaju, tako da vreme izvrenja pokreta bude jednako.
5.2.7 Nadovezivanje trajektorija
Sve tehnike za sintezu trajektorije koje smo do sada obradili, reavale su problem
izolovanog kretanja od take do take, odnosno, robot kree iz stanja mirovanja, i u
99
Industrijska robotika
Planiranje kretanja
zavrnoj taki putanje se ponovo zaustavlja. Sada smo zainteresovani za problem nadovezivanja trajektorija, odnosno, za sluaj kada postoji vie segmenata kretanja, pri emu je zavrna taka prethodnog segmenta ujedno i poetna taka narednog, i tako redom. Ove sredinje take izmeu dva segmenta kretanja esto se nazivaju vorne take putanje, prema
engleskom terminu "path knot point".
Jedno mogue reenje se samo po sebi namee. Tretirajmo svaki od segmenata kretanja
nezavisno od ostalih, primenom neke od interpolacionih funkcija koje smo ve razmotrili.
Time se problem sinteze trajektorije svodi na problem sinteze segmenata trajektorije, koji je
ve reen. Osnovna mana ovakvog pristupa je u tome, to e u vornim takama doi do zaustavljanja robota. Ovakvo kretanje, osim to deluje neprirodno, jer je isprekidano estim
zaustavljanjem, zahteva i due vreme izvravanja u odnosu na kretanje kod kojeg zaustavljanja ne bi bilo.
Ako elimo da izbegnemo zaustavljanje u vornim takama, mora se drugaije pristupitu
reavanju problema sinteze trajektorije. Pri tome se pristup za kretanje po trapeznom profilu
brzine razlikuje od pristupa kod polinomne aproksimacije, pa emo ih posebno razmotriti.
Zadrimo se najpre na problemu nadovezivanje trajektorija kod trapeznog profila brzine.
Radi pojednostavljenja izlaganja, pretpostavimo da su zadata samo dva segmenta trajektorije, preko taaka qi , q k i q f , gde su kao i ranije, qi i q f poetna i krajnja taka putanje,
a q k je vorna taka izmeu njih. Pretpostavimo dalje, da je eljena brzina krstarenja na
prvom segmentu trajektorije qik a na drugom q kf , i da su ove dve brzine razliite. Neka je
dato i maksimalno ubrzanje qm koje je isto na oba segmenta trajektorije. Primenom klasinog postupka sinteze trajektorije po trapeznom profilu brzine, za svaki od segmenata pojedinano, dobija se rezultujue kretanje koje je prikazano na Sl. 5.5 sa leve strane.
U ovom primeru, kretanje u oba segmenta vri se u istom smeru. Sa slike uoavamo da brzina kretanja opada od vrednosi qik do nule, a zatim od nule raste do vrednosti q kf , odnosno, kretanje se zaustavlja u vornoj taki. Logino reenje u ovoj situaciji bilo bi, da se brzina promeni od qik do q kf , bez nepotrebnog zaustavljanja. U tom sluaju, utedelo bi se
Planiranje kretanja
Industrijska robotika
Sl. 5.5. Nadovezivanje trajektorije sa trapeznim profilom brzine, levo sa zaustavljanjem u vornoj taki, i desno,
bez zaustavljanja u vornoj taki
Razmotrimo sada problem nadovezivanja trajektorija kod polinomne interpolacije. Nadovezivanje se moe sada organizovati na drugaiji nain. Naime, dodavanje novih vornih taaka predstavlja zapravo dodavanje novih uslova, odnosno novih podataka o trajektoriji.
Zbog toga se stepen interpolacionog polinoma moe poveati. Ako je, pored pozicije vorne take, zadata i brzina u njoj, onda je broj uslova, odnosno koliina informacija o trajektoriji jo vea, pa i stepen interpolacionog polinoma moe biti vei. Problem polinomne interpolacije kroz vorne take dobro je prouen u numerikoj matematici, a jedinstveno reenje za problem sa n vornih taaka daje Lagranov interpolacioni polinom n -tog stepena,
odnosno, ako su pored pozicija zadate i brzine u m vornih taaka, Hermitov interpolacioni
polinom ( n m ) -tog stepena.
Napomenimo odmah da se ovakav pristup veoma retko koristi u praksi, iako na prvi pogled
deluje atraktivno. Naime, sa poveanjem broja vornih taaka, raste stepen interpolacionog
polinoma. Iz algebre je poznato da polinom n -tog stepena ima tano n nula, pa polinomi
visokog stepena tee ka oscilatornom ponaanju. Iako Lagranov i Hermitov algoritam garantuju da e interpolacioni polinom proi kroz vorne take, nema nikakvih pokazatelja o
ponaanju polinoma izmeu vornih taaka, a ono je najee oscilatorno. To bi zapravo
101
Industrijska robotika
Planiranje kretanja
znailo, da kreui se od jedne vorne take ka narednoj, robot napravi preskok pa se vrati
u vornu taku, ili najpre poe u suprotnu stranu, pa onda promeni smer i vrati se u vornu
taku. Svakako, ovo nije ponaanje kakvo bismo eleli da vidimo kod robota.
Zbog toga se pribegava drugaijem reenju. Ukupan interval interpolacije deli se na
podintervale, izneu vornih taaka. Na svakom podintervalu usvaja se interpolaciona
funkcija u obliku polinoma nieg stepena, a sistemu uslova, odnosno ogranienja, pored
zadatih vornih taaka, dodaju se uslovi kontinualnosti brzine odnosno ubrzanja u vornim
takama. Drugim reima, iako brzina i ubrzanje u vornim takama nisu unapred odreeni,
zahteva se njihova neprekidnost, odnosno, vrednosti dobijene na osnovu prethodnog i
narednog interpolacionog polinoma moraju biti jednake. Ovakva vrsta interpolacije naziva
se u matematici interpolacija splajnovima, a kada su u pitanju polinomi treeg stepena,
govorimo o interpolaciji kubnim splajnovima. Teorija splajnova izlazi izvan okvira ove
knjige, a zainteresovani itaoci svakako mogu pronai dodatne informacije u odgovarajuoj
matematikoj literaturi.
o31 61 ,
(5.53)
gde p predstavlja podvektor koji sadri tri parametra koja opisuju poziciju vrha robota u
prostoru, dok o predstavlja podvektor koji sadri tri parametra koja predstavljaju
orijentaciju vrha robota.
U specifinim sluajevima, vektor r moe imati i manje dimenzija od est, kao na primer,
kada nije potrebna potpuna orijentacija, ili orijentaicija uopte nije od interesa, odnosno u
sluajevima ravanskog kretanja, itd. Mi emo na dalje razmatrati opti sluaj, a problem
102
Planiranje kretanja
Industrijska robotika
(5.54)
(5.55)
odnosno,
x x ()
y y () ,
z z ()
(5.56)
gde je neki geometrijski parametar koji opisuje putanju. Ovaj koncept prikazan je na Sl.
5.6 .
Industrijska robotika
Planiranje kretanja
,
(5.57)
pri tome, veliina vremenskog intervala utie na brzinu kretanja, odnosno, krai vremenski
interval znai bre kretanje, i obrnuto, dok oblik fukncije (t ) definie profil kretanja.
Za profil kretanja (t ) moemo iskoristiti neku od funkcija koje smo ve razmatrali kod
sinteze PTP kretanja: trapezni ili trougaoni profil brzine, ili polinomne interpolacije
odgovarajueg stepena, itd.
Na ovaj nain, problem sinteze trajektorije reava se u dva koraka. U prvom je potrebno odrediti izraze za parametrizovanu trajektoriju u prostoru, dok se u drugom koraku geometrijskom parametru pridruuje eljeni vremenski profil.
Razmotrimo sada malo podrobnije prirodu geometrijskog parametra . Ve je reeno da
on odreuje poloaj take du putanje , odnosno, du krive u prostoru. Podsetimo se da
kriva u prostoru moe biti zadata ekspilicitno svojim jednainama, ili kao presek dve povri
u prostoru. U svakom sluaju, uvek postoji mogunost da se putanja parametrizuje. Od svih
moguih parametara kojima je mogue opisati putanju, kao najvaniji se izdvaja krivolinijska koordinata s , definisana kao preeni put, ili duina luka krive od neke fiksirane take
usvojene za koordinatni poetak, do posmatrane take.
Krivolinijska koordinata s najee se definie preko svog diferencijalnog prirataja
ds dx 2 dy 2 dz 2
(5.58)
Kod jednostavnijih putanja, krivolinijska koordinata s se prirodno namee kao najpodesnija veliina za parametrizaciju. Kod sloenijih putanja, krivolinijska koordinata moe biti
sloena, ili transcedentna funkcija, pa se kao parametar usvaja neka druga, pogodna veliina.
Razmotrimo sada nekoliko primera odreivanja parametrizovanih putanja. Uzmimo najpre
najjednostavniji primer, kretanja po pravoj liniji u prostoru, kao to je to prikazano na Sl.
5.7.
Podsetimo se da se u analitikoj geometriji prava u prostoru, koja prolazi kroz dve take
zadate vektorima pi i p f moe definisati kao
104
Planiranje kretanja
Industrijska robotika
p pi p f pi
(5.59)
gde jednaina izraava injenicu da vektor povuen iz poetne take pi do bilo koje take
na pravoj p , mora biti kolinearan vektoru izmeu taaka p i i p f , pri emu je faktor
(5.60)
p y y i ( y f y i )
.
z z i ( z f z i )
(5.61)
Ako su pi i p f poetna, odnosno krajnja taka putanje, tada je opseg promene parametra
u intervalu [0,1] .
,
(5.62)
odnosno, pirataj krivolinijske koodinate, ili preenog puta s , proporcionalan je prirataju
geometrijskog parametra .
Da bi problem sinteze trajektorije bio u potpunosti reen, preostaje nam samo da izaberemo
vremensku zavisnost, odnosno profil promene (t ) . Kao to je ve reeno, za ove svrhu
moemo iskoristiti na primer trapezni profil brzine, pri emu e se, zbog prirode parametra
, zaista dobiti trapezna promena brzine vrha robota.
Razmotrimo sada problem sinteze trajektorije u sluaju da elimo da se vrh robota kree po
nekoj elipsi u prostoru. Obzirom da je elipsa ravanska kriva, i problem odreivanja parametarske reprenzentacije putanje reiemo najpre u ravni koja sadri elipsu, a zatim emu tu
ravan rotirati i translirati u prostoru na eljeni nain. Ova situacija prikazana je na Sl. 5.8.
105
Industrijska robotika
Planiranje kretanja
puvw
u a cos()
v b sin()
,
w 0
(5.63)
Neka je poetak vezanog koodinatnog sistema transliran, a njegove ose rotirane u odnosu
na ose referentnog sistema. Tada se veza izmeu dva koordinatna sistema moe uspostaviti
preko matrice homogene transformacije izmeu koordinatnih sistema O-xyz i O-uvw ili, to
je isto, u razvijenoj fomi
p pc R puvw
gde je pc [ xc , yc , z c ]
elipse, a
(5.64)
R r21
r31
r12
r22
r32
r13
r23
,
r33
(5.65)
matrica rotacije koja izraava vezu izmeu orijentacije osa vezanog i referentnog
koordinatnog sistema. Primetimo da su vektor pc i matrica R konstantni.
Parametarska jednaina elipse u prostoru sada se moe izraziti kao
x xc r11a cos() r12 b sin()
p y y c r21a cos() r22b sin()
,
z z c r31a cos() r32b sin()
(5.66)
Planiranje kretanja
Industrijska robotika
Primetimo da u ovom sluaju parametar ima geometrijski smisao koji se ne moe lako
povezati sa krivolinijskom koordinatom s . Da bismo se u to uverili, potraimo diferencijalne prirataje koordinata du putanje, i iskoristimo izraz za prirataj krivolinijske koordinate (5.58). Pri tome, imamo u vidu da su koeficijenti rij elementi rotacione matrice. Za
rotacionu matricu R znamo da su njene kolone, odnosno vrste zapravo jedinini vektori.
Takoe vai i da su kolone matrice uzajamno ortogonalne, a ortogonalnost vai i za vrste.
Primenom ovih osobina dobija se izraz
ds a 2 sin 2 () b 2 cos 2 () d
.
(5.67)
Iz dobijenog izraza vidimo da postoji sloena veza izmeu geometrijskog parametra i
krivolinijske koordinate s koja je odreena eliptikim integralom tipa (5.67), koji se moe
reiti samo numeriki.
Na ovom primeru moemo uoiti da je parametrizaciju putanje gotovo uvek mogue izvriti
nekim intuitivnim parametrom, a njegova veza sa krivolinijskom koordinatmo moe biti i
veoma sloena. Primetimo jo, da ako bi kretanje bilo po krunici, a ne elipsi, tada bi za
abr
,
(gde je da r oznaen poluprenik krunice) prirataj krivolinijske koordinate postao
ds r 2 cos 2 () r 2 sin 2 () d r d
(5.68)
(5.69)
o
,
(5.70)
Industrijska robotika
Planiranje kretanja
U jednostavnijim sluajevima planiranja orijentacije vrha robota, od interesa je samo orijentacija vrha u poetnoj, odnosno krajnjoj taki trajektorije, dok orijentacija du trajektorije nije od interesa. Tada moemo pristupiti interpolaciji uglova orijentacije na sledei
nain
i ( f i )
o i ( f i )
,
i ( f i )
(5.71)
Tri vektora sa Sl. 5.9, vektor tangente t , vektor normale n i vektor binormale b formiraju
takozvani prirodni triedar krive, odnosno koordinatni sistem desne orijentacije. Vektor tangente definie pravac tangente u datoj taki prostorne krive. Vektor normale ortogonalan je
na pravac tangente, a usmeren je ka centru krivine krive. Konano, vektor binormale ortogonalan je na oba prethodna vektora.
Ako je prostorna kriva zadata parametarski tako da je parametar krivolinijska koordinata s ,
p p (s )
(5.72)
108
Planiranje kretanja
Industrijska robotika
t p'
n
b tn
dp
ds ,
(5.73)
p
p ,
(5.74)
p p
p p ,
(5.75)
(5.76)
( p () p ()) p ()
( p () p ()) p ) ,
(5.77)
p ) p ()
p ) p () ,
(5.78)
Jedinine vektore prirodnog triedra moemo iskoristiti za zadavanje orijentacije vrha robota
na sledei nain. Podestimo se najpre, da smo kod razmatranja kinematike robota uveli
koncept matrice homogene transformacije, kojom moemo izraziti poloaj i orijentaciju
vrha robota, kao
n
T h
0
sh
0
ah
0
ph
1 ,
(5.79)
109
Industrijska robotika
Planiranje kretanja
Na slici su prikazani samo sluajevi kada su ose vezanog koordinatnig sistema hvataljke
paralelne osama prirodnog triedra u posmatranoj taki putanje. U optem sluaju, veza
izmeu koordinatnog sistema hvataljke i prirodnog triedra zavisi kako od prirode zadatka,
tako i od oblika hvataljke, odnosno alata koji robot nosi, odnosno, od naina na koji je
definisan koordinatni sistem hvataljke. Ta veza moe biti predstavljena kao
nh
sh
ah t
n b Rh
(5.80)
pri emu je Rh konstantna matrica rotacije. Na primer, za orijentacije hvataljke sa Sl. 5.11,
imamo, s leva na desno
0 1 0
0 0 1
0 1 0
Rh 0 0 1, Rh 1 0 0, Rh 1 0 0
,
1 0 0
0 1 0
0 0 1
(5.81)
Planiranje kretanja
Industrijska robotika
p y y c r cos()
,
z z c r sin()
(5.82)
iz kojih zakljuujemo da krunica lei u yz ravni, njen centar nalazi se u taki [0, y c , z c ]T ,
a poluprenik iznosi r . Parametar ima prirodu ugla, i svojom promenom na intervalu
[0,2] definie celu krunicu. Primetimo jo da je, usled periodinosti
trigonometrijskih funkcija, putanja zatvorena.
Da bismo odredili jednaine jedininih osa prirodnog triedra, diferencirajmo najpre
parametarsku jednainu (5.82) dva puta, ime se dobija
0
p r sin() p r
,
r cos()
(5.83)
odnosno,
0
p r cos() p r
,
.
r sin()
(5.84)
Smenom izraza (5.83) u (5.76) moemo odrediti jednainu jedininog vektora tangente
t 0 sin() cos()T
.
(5.85)
Slino, smenom izraza (5.83) i (5.84) u jednainu jedininog vektora binormale (5.78)
dobijamo
b 1 0 0T
.
(5.86)
Vidimo da je jednini vektor binormale konstantan, i paralelan x osi, to je potpuno
oekivano, imajui u vidu da je krunica ravanska kriva koja lei u yz ravni.
Konano, jednaina jedininog vektora normale moe se odrediti na osnovu izraza (5.77).
U ovom primeru, zbog kretanja po krunici, vektor normale ima isti pravac kao i vektor
p , pa se moe odrediti i kao
n
p
0 cos() sin()T
.
p
111
(5.87)
Industrijska robotika
Planiranje kretanja
s h b,
(5.88)
a h n,
koja se moe izraziti i preko matrice rotacije Rh , definisane jednainom (5.80), pri emu je
1 0 0
Rh 0 0 1
.
0 1 0
(5.89)
sh
a h t
n b Rh
(5.90)
odnosno,
0
1
0
R sin() 0 cos()
.
cos() 0 sin()
(5.91)
Planiranje kretanja
Industrijska robotika
x x0 r cos()
p y y 0 r sin()
,
z z h
0
2
(5.92)
r sin()
h2
p () r cos() p r 2 2
,
4 ,
h
r cos()
p () r sin()
,
(5.93)
(5.94)
2 r sin()
h
p () p ()
r cos()
2
,
r2
(5.95)
odnosno
h2
( p () p()) p () r 2 2
4
cos()
r sin()
(5.96)
h2
4 2
113
(5.97)
Industrijska robotika
Planiranje kretanja
h2
( p p ) p r r 2 2
4
(5.98)
h2
4 2 ,
(5.99)
r sin
1
t r cos
c h ,
(5.100)
cos
n sin
,
0
(5.101)
2 sin()
1 h
cos()
b
c 2
.
r
(5.102)
,
zapravo jedinina matrica. Drugim reima, vai da je
(5.103)
nh t ,
s h n,
(5.104)
a h b.
Tada je rotaciona matrica koja definie orijentaciju vrha robota du putanje data sa
R nh
sh
a h t
n b
odnosno,
114
(5.105)
Planiranje kretanja
Industrijska robotika
h
sin()
r sin() c cos()
2
1
h
R r cos() c sin()
cos()
c
2
.
h
0
r
2
(5.106)
Da zakljuimo, jednaina (5.92) predstavlja jednainu putanje vrha robota, dok jednaina
(5.106) odreuje orijentaciju vrha robota du putanje na eljeni nain. Ove dve jednaine,
zajedno sa profilom promene parametra u potpunosti odreuju trajektoriju po kojoj se
vrh robota kree, odnosno, jednoznano je definisana i pozicija i orijentacija vrha robota
du trajektorije. Putanja oblika helikoide prikazana je na Sl. 5.13.
Sl. 5.13. Putanja oblika helikoide i prirodni triedri u nekoliko taaka du putanje
5.4 LITERATURA
[1]
Sciavicco L. and Siciliano B.: Modeling and Control of Robot Manipulators, The McGraw-Hill
Company, 1996.
[2]
[3]
Angeles J.: Fundamentals of Robotic Mechanical Systems, Theory, Methods and Algorithms, SpringerVerlag, 2003.
[4]
Bruyninckx H. and De Schutter J.: Introduction to Inteligent Robotics, Katholieke Universteit Leuven,
2001.
[5]
Fu K., Gonzales R., and Lee C.: Robotics: Control, Sensing, Vision and Intellignece, McGraw-Hill Book
Company, 1987.
115
Industrijska robotika
[6]
[7]
[8]
Planiranje kretanja
Rai M.: Prilog inteligentnom upravljanju redundantnim robotima, magistarska teza, Elektronski
Fakultet u Niu, Ni, 2000.
Rade L., and Westergren B.: Mathematics Handbook for Science and Engineering, Studentlitteratur,
Lund,1995.
Brontejn I.N., i Semendjajev K.A.: Matematiki prirunik za inenjere i studente, Tehnika knjiga,
Zagreb, 1964.
116
6.1 UVOD
Mehanika konfiguracija manipulacionih robota se moe predstaviti sistemom krutih tela
spojenih zglobovima koji nazivamo kinematskim lancem. Da bi ostvarili planirano kretanje
hvataljke neophodno je da se odrede momenti u svim zglobovima koje u svakom trenutku
motorima treba ostvarivati. Ovo je veoma sloen zahtev jer su pogonski momenti rezultat
razliitih dinamikih uticaja usled simultanog kretanja segmenata kinematskog lanca. Pored
gravitacionih sila i momenata, iji se intenziteti menjaju samo promenom poloaja
segmenata znatno sloenije se odreuju centrifugalne, Koriolisove i inercijalne sile i njihovi
momenti. Osnovu za tano odreivanje, i nakon toga kompenzaciju, svih ovih uticaja
predstavlja modeliranje dinamikog ponaanja robotskih mehanizama. Obzirom na
raznolikost mehanikih struktura robota i putanja hvataljki koje mogu biti zahtevane,
najcelishodnije je formirati opti raunarski algoritam za iterativno formiranje modela
dinamikog ponaanja pri ostvarivanju eljene putanje bilo koje mehanike konfiguracije
robota.
U ovoj glavi e biti razmotrene osnove dinamikog modeliranja robota, i predloen
algoritam za njegovo formiranje.
Sl. 6.1. Sile i momenti koji deluju na i-ti segment (statiki sluaj)
117
Industrijska robotika
Dinamika
Kada robot miruje optereenje u zglobovima mehanizma uzrokuju samo sile sopstvene teine segmenata. Vano je napomenuti da bilo koji zglob trpi optereenje koje uzrokuju svi
segmenti koji se u kinematskom lancu nalaze od njega dalje prema vrhu. Na Sl. 6.1 je
ematski prikazan i-ti segment kinematskog lanca koji se nalazi izmeu i-1-vog i i+1-vog
segmenta. Na i-tom segmentu se nalazi i-ti i i+1-vi zglob koji ostvaruju vezu sa susednim
segmentima. Da bi posmatrali ravnoteu i-tog segmenta oslobodimo se veza u zglobovima i
zamenimo uticaj i-1-vog na i-ti segment momentom M i 1,i i silom Fi 1,i a mometom M i ,i 1
i silom Fi ,i 1 uticaj i-tog na i+1-vi segment. Momet M i ,i 1 i sila Fi ,i 1 su na Sl. 6.1. prika-
0:
0:
Fi 1,i Fi ,i 1 mi g 0
(6.1.)
(6.2.)
gde su svi vektori izraeni u odnosu na bazni koordinatni sistem Oo-xoyozo. Momentna
jednaina (6.2) je napisana u odnosu na teite i-tog segmenta, dok ri 1,i i ri.ci oznaavaju
radijus vektore od i-1-vog do i-tog zgloba i od i-1-vog zgloba do teita i-tog segmenta Ci ,
respektivno. Momenti i sile u zglobovima se jo nazivaju sprezanjem ili kuplovanjem (engl.
coupling moment and force) izmeu segmenata. Tako, na primer (Sl. 6.2.), moment M i 1,i i
sila Fi 1,i predstavljaju moment i silu sprezanja i-1-vog i i-tog segmenta. U sluaju kada je
i=1 moment M 0,1 i sila F0,1 se odnose na sprezanje izmeu prvog segmenta i osnove (baze)
robota, dok u
a)
b)
sluaju kada je i=n moment M n,n1 i sila Fn ,n 1 predstavljaju moment i silu kojom
poslednji segment kinematskog lanca (hvataljka, objekat ili alat koji robot nosi) deluje na
okolinu. Indeksom n+1 je oznaena okolina koja se uslovno moe smatrati segmentom.
Naravno, moment i sila kojom okolina deluje na hvataljku robota su M n,n1 i Fn,n1 .
118
Dinamika
Industrijska robotika
Radi lakeg daljeg rada objedinimo moment M n,n1 i silu Fn ,n 1 u jedinstven vektor
dimenzije (6x1) koji emo skraeno nazvati silom sprezanja (ili dejstvom okoline na robot)
sa okolinom i obeleiti sa Fext
Fn , n 1
Fext
M n , n 1
(6.3)
Jednaine (6.1) i (6.2) se mogu napisati za svih i=1, ... n segmenata, na osnovu ega imamo
ukupno 2n jednaina sa 2n+2 nepoznatih (n+1 moment i n+1 sila). Da bi sistem mogli da
reimo potrebno je unapred zadati (propisati) ili poznavati jednu silu i jedan moment.
Obzirom da su u industriji zadaci poznati unapred, najprirodnije je da se zada (propie) sila
koje predstavlja eljeno delovanje robota na okolinu jer nam je poznata na osnovu samog
zadatka koji robot realizuje. Primera radi, ukoliko se robot kree kroz slobodan prostor
prenosei objekat hvataljkom i ne dolazeu u kontakt sa okolinom optereenje Fext je
a)
b)
Prva dva segmenta minimalne konfiguracije SCARA robota se mogu kretati samo u horizontalnoj ravni, dok se poslednja dva segmenta antropomorfne konfiguracije mogu kretati
samo u vertikalnoj ravni (Sl. 6.3). U sluaju SCARA robota gravitaciono optereenje (Sl.
6.3.a) se u celosti prenosi na konstrukciju zgloba i nije potrebno dodatno angaovanje motora da bi se ouvao trenutni poloaj. Kako god da se mehanika konfiguracija pomeri, ona
119
Industrijska robotika
Dinamika
e u tom poloaju ostati i posle iskljuivanja motora. Sasvim je obrnuta situacija kod robota
antropomorfne konfiguracije (Sl. 6.3.b), gde kompletno gravitaciono optereenje koje deluje na drugi i trei zglob mora da bude uravnoteeno dejstvom motora, dok poloaj prvog
zgloba omoguava da gravitaciono optereenje u celosti prima konstrukcija zgloba.
Iz ovih primera se vidi da ukoliko je vektor momenta gravitacionih optereenja kolinearan
sa osom zgloba dato optereenja se u potpunosti mora kompenzovati motorima, tj. optereenje odgovara zahtevanom pogonskom momentu. Meutim, ukoliko je vektor momenta
gravitacionih optereenja upravan na osu zgloba dato optereenja e u potpunosti primiti
struktura samog zgloba i nije potrebno aktivirati motore da bi se odrala trenutna poza. Ako
je poloaj vektora optereenja izmeu ta dva granina sluaja i nalazi se pod nekim uglom
prema osi zgloba, deo optereenja e primiti struktura zgloba, dok se deo mora kompenzovati motorima. Prema tome, motor mora da kompenzuje samo onu komponentu optereenja
(moment ili silu) koja je kolinearna sa osom zgloba i koju nazivamo pogonom. Potpuno istovetno razmatranje vai i za rotacione i za translatorne zglobove. Pogon (obeleimo ga oznakom ) u sluaju translatornog zgloba predstavlja silu i moe se sraunati kao skalarni
proizvod orta odgovarajue ose zgloba i vektora sile
i z i 1 Fi 1,i
.
(6.4)
U sluaju rotacionog zgloba je moment i moe se, analogno (6.4), sraunati kao skalarni
proizvod orta odgovarajue ose zgloba i vektora momenta optereenja
i z i 1 M i 1,i
(6.5)
Treba primetiti da u oba prethodna sluaja trenje u zglobovima nije uzeto u obzir jer je triboloka situacija u samom zglobu u sutini nepoznata i promenljiva tokom vremena. Pogonski momenti u zglobovima i se mogu objediniti u jedan vektor
1
2
(6.6)
koji nazivamo vektorom pogona i koji moe sadravati sile ili momente u zavisnosti od tipa
zglobova.
6.2.1 Veza spoljanjih sila koje deluju na robot i momenata u zglobovima
Od posebnog je interesa da se izvede zavisnost izmeu spoljne sile Fext kojom okolina deluje na robot i odgovarajuih pogonskih momenata koji tu silu uravnoteavaju. Pretpostavimo da se robot ne kree i da svojim vrhom na okolinu deluje silom Fext . Tada emo sa
F obeleiti momente u zglobovima mehanike konfiguracije koji tu silu uravnoteavaju i
na zadatak je da se nae veza izmeu Fext i F .
Da bi ovu relaciju izveli iskoristiemo princip virtuelnog rada. Da bi smo razumeli koncept
virtuelnog rada, razmotrimo najpre tzv. virtuelne pomeraje. Pod virtualnim pomeranjima se
podrazumevaju infinitezimalni pomeraji mehanikog sistema koje dozvoljavaju veze. Za
120
Dinamika
Industrijska robotika
pogonski momenti i koji ovo optereenje uravnoteavaju. U tom sluaju je virtualni rad
svih sila dat sa
w F 1 q1 F 2 q2 Fn qn
FnT, n 1 xH M nT, n 1 H
(6.7)
Virtualni rad je jednak nuli ukoliko je sistem u ravnotei. Ukoliko prethodnu jednainu zapiemo u vektorskom obliku (linearno x H i ugaono H virtualno pomeranje hvataljke
je objedinjeno u vektor s ) sledi
w F T q FextT s 0
(6.8)
Obzirom da q i s nisu nezavisni ve da su povezani relacijom ds J dq (primetimo da
simbol d moemo da zamenimo simbolom ) jednainu (6.8) moemo
napisati u obliku
w F T q FextT J q F J T Fext
q 0
(6.9)
Obzirom da su virtuelna pomeranja razliita od nule q 0 , izraz (6.9) moe biti ispunjen
samo ukoliko je izraz u zagradi jednak nuli, odakle sledi
F J T Fext
(6.10)
Ovo je veoma vana relacija koja povezuje silu kojom robot deluje na okolinu sa
121
Industrijska robotika
Dinamika
F Fx , Fy , Fz
T 10,10,0T N .
Sl. 6.5. Sila kojom robot deluje na okolinu i odgovarajui momenti u zglobovima
Jakobijan koji odgovara ovoj konfiguraciji napisan u analitikoj formi je dat sledeim
izrazom
a2 S1C 2 a3 S1C 23 C1(a2 S 2 a3C 23) a3C1S 23
J a2 S1C 2 a3C1C 23 S1(a2 S 2 a3 S 23) a3 S1S 23
a2C 2 a3C 23
a3C 23
0
0
1F a2 S1C 2 a3 S1C 23 a2 S1C 2 a3 C1C 23
3 F
a3 C1S 23
a3 S1S 23
a3 C 23
10
10
.
0
Treba jo jednom napomenuti da se, na ovaj nain odreeni pogoni F odnose samo na
uravnoteenje dejstva spoljne sile F.
6.2.2 Elipsoid sila
Da bismo ustanovili "prenosnu karakteristiku" mehanizma uporedimo sile koje proizvode
jedinini momenti u zglobovima. Ako (6.10) uvrstimo u izraz T 1 dobijamo
F T JJ T F 1
(6.11)
Za datu pozu manipulacionog robota izraz (6.11) predstavlja m-dimenzionalni elipsoid iji
122
Dinamika
Industrijska robotika
Ilustrovaemo ovo na primeru ravanskog dvosegmantnog robotskog manipulatora prikazanog na Sl. 6.6. Duine segmenata su 1 2 i 2 1 m. U taki odreenoj sa q1 0 i
q2 2 jakobijan ima vrednosti
1
J
2
(6.12)
pa je
2
JJ T
2
2 .
(6.13)
odgovarajui normalizovani sopstveni vektori (0.707, 0.707) i (-0.707, 0.707) koji u odnosu
na ose koordinatnog sistema Fx i Fy zaklapaju ugao 45o i kolinearni su sa glavnim osama
elipse. Ako (6.13) zamenimo u (6.11) dobijamo
F
F
Fy
Fy
2 F 2 2 Fx Fy 2 F 0.5858 x
3.4142 x
1
2
2
2
2
2
2
x
2
y
Na Sl. 6.7 je prikazan elipsoid (u ovom primeru je to elipsa). Sila interakcije sa okolinom
123
Industrijska robotika
Dinamika
Fy
P=(0.924, 0.924)
Q=(0.924, 0.383)
v x1
Q=(-0.383, 0.383)
Fx
P=(0.383, -0.924)
(6.14)
gde se ki naziva konstantom krutosti. Za celokupan mehanizam se skup izraza (6.14) moe
napisati u matrinoj formi
(6.15)
s J q
(6.16)
124
Dinamika
Industrijska robotika
dok je spoljnja sila koja deluje na hvataljku sa momentima u zglobovima povezana izrazom
JT F
(6.17)
(6.18)
gde je
C J 1 J T
(6.19)
matrica popustljivosti (engl. compliance matrix) dimenzije m m . Iz (6.19) se moe videti
da ukupna (kompozitna) krutost ne zavisi samo od krutosti svakog od pogona ve i od
jakobijana to znai da je popustljivost mehanizma zavisi od njegove trenutne poze.
Ako je m=n i jakobijeva matrica nije singularna i mogue je nai inverznu matricu
popustljivosti. Ako obe strane izraza (6.18) pomnoimo sa C 1 dobijamo
F K s
(6.20)
gde se
K C
(6.21)
naziva matricom krutosti.
Matrica krutosti takoe nije konstantna i zavisi od trenutne poze mehanizma. Krutost
moemo karakterizirati poreenjem sila koje su potrebne da bi se realizovao jedinini ugib
hvataljke. Ako (6.18) smenimo u s T s 1 dobijamo
F T C T CF 1
(6.22)
Za odreenu pozu robotskog manipulatora izraz (6.22) predstavlja m-dimenzionalni
ellipsoid sile. Poto je F T C T CF 1 simetrina, pozitivna i semidefinitna matrica, njeni
sopstveni vektori su meusobno ortogonalni i poklapaju se sa pravcem osa elipsoida.
Duine osa elipsoida su jednake recipronim vrednostima kvadratnih korena sopstvenih
vrednosti.
6.2.4 Transformacija uticaja sila i momenata izmeu razliitih koordinatnih sistema
Kao to poloaj take moemo izraziti u odnosu na razliite koordinatne sisteme tako i uticaj sile i momenta moemo izraziti u odnosu na razliite koordinatne sisteme. Na Sl. 6.8.
prikazane su sila F i moment M koji deluju u istom pravcu, a njihovo delovanje posmatraemo u odnosu na dva koordinatna sistema, Oi-xiyizi i Oj-xjyjzj. Silu i moment moemo predstaviti kao jedinstveni estodimenzionalni vektor generalisanih sila u obliku
125
Industrijska robotika
Dinamika
Fx
F
y
F
Fz
p0 F M M x
M y
M z
Iyj
Izj
Izi
(6.23)
p0
i
Oj
p0
d
Ixj
xi
Oi
Iyi
U gornjem izrazu F predstavlja silu, p0 je vektor pozicije bilo koje take (npr. take A)
koja se nalazi na pravcu sile F u odnosu na izabrani koordinatni sistem (vektori pozicije p0i
i p0j oznaavaju poloaj take A u odnosu na koordinatne sisteme Oi-xiyizi i Oj-xjyjzj, respektivno), proizvod p0 F predstavlja moment koji sila ima u odnosu na koordinatni
poetak, a M je moment koji deluje oko pravca sile F. Sa Sl. 6.8. se vidi da koordinatni sis-
dy
d z koordinatnog
T
(6.24)
Ri j
(6.25)
gde je
0
Wi d z
d y
d z
0
dx
dy
d x
0
126
(6.26)
Dinamika
Industrijska robotika
Sl. 6.9 Transformacija sila i momenata koji deluju na vrh objekta na centar senzora
koji se nalazi u zglobu hvataljke.
Drugim reima, potrebno je poznate sile i momente izraene u koordinatnom sistemu Ouvw izraziti u koordinatnom sistemu O-xyz.
Ako pretpostavimo, bez gubitka optosti, da su u trenutku posmatranja koordinatni sistemi
paralelni i da je dislokacija vrha objekta od centra senzora data vektorom
d d x
dy
1 0 0
uvw
Rxyz
0 1 0
0 0 1
uvw
xyz
dz
d y
d z
0
dx
dy
d x
0
uvw
dobijamo u obliku
pa transformaciju Txyz
uvw
Txyz
1
0
0
d
z
d y
1
0
0
1
d z
0
dy
d x
dx
0 0 0
0 0 0
0 0 0
1 0 0
0 1 0
0 0 1
127
Industrijska robotika
Dinamika
0
0 0 0 0 Fu
Fx 1
F 0
1
0 0 0 0 Fv
y
Fz 0
0
1 0 0 0 Fw
(6.27)
M x 0 d z d y 1 0 0 M u
M y d z
0 d x 0 1 0 Mv
d
d
0 0 0 1 M w
M
x
z y
Na ovaj nain se mogu, na osnovu merenja u zglobu hvataljke, odrediti sile i momenti koji
deluju na vrhu objekta koji robot dri.
Dinamika
Industrijska robotika
sila i moment kao posledica kretanja segmenta. Ako sa Ci obeleimo teite i-tog
segmenta, tada je vCi linearna brzina njegovog teita izraena u odnosu na bazni
koordinatni sistem Oo-xoyozo. Inercijalna sila je data sa mi vCi gde je sa mi oznaena masa
segmenta, a sa vCi izvod po vremenu tj. ubrzanje teita.
Analogno jednaini (6.1), i ovde se ravnotea svih sila koje deluju na i-ti segment moe
izraziti kao
gde su sa Fi 1,i i Fi ,i 1 oznaene sile kojima na i-ti segment deluju i-1-vi i i+1-vi
Na slian nain moemo napisati jednainu ravnotee momenata, analognu sa (6.2), za ovaj
sluaj kao
(6.29)
Sl. 6.10. Sile i momenti koji deluju na i-ti segment (dinamiki sluaj)
Industrijska robotika
Dinamika
moment inercije u odnosu na teite koji je obeleen sa I i . Sve ostale neophodne oznake su
date na Sl. 6.11.
Saglasno optim jednainama (6.28) i (6.29) Njutn-Ojlerove jednaine za prvi segment se
mogu napisati na sledei nain
(6.30)
1 0
M 0.1 M 1.2 (r1.c 2 F1.2 ) r0.c1 F0.1 I1
Na slian nain, jednaine za drugi segment su
F1.2 m2 g m2 vC 2 0
2 0
M 1.2 (r1.c 2 F1.2 ) I 2
(6.31)
130
(6.32)
Dinamika
Industrijska robotika
Ako sada, izraze za momente ubacimo u (6.31), i eliminiemo reakcije veza tako to iz prve
2 0
2 r1,c 2 m2 v c 2 r1,c 2 m2 g I 2
(6.33)
Slino se moe uraditi sa sistemom (6.30) na osnovu ega sledi
1 0
1 2 r0, c1 m1vC 1 r0,1 m2 vC 2 r0,C1 m1 g r0,1 m2 g I1
(6.34)
Obzirom da u ovom sluaju za ugaone brzine moemo pisati
1 q1 2 q 2
,
l q sin q1
vc1 c1 1
lc1 q1 cos q1
[l sin q1 lc 2 sin(q1 q2 )] q1 lc 2 sin( q1 q2 ) q 2
vc 2 1
(6.35)
(6.36)
Zamenom (6.35), (6.36) i njihovih izvoda u (6.33) i (6.34) dobijamo dinamike jednaine u
traenoj formi
q2 2 h q1q2 G1
2
2 H 22 q2 H12 q1 h q1 G2
1 H11q1 H12 q2 h
(6.37)
gde je
H11 m1 lC21 I1 m2 [l12 lC2 2 2 l1 lC 2 cos q2 ] I 2
(6.38)
H 22 m2 lC2 2 I 2
(6.39)
(6.40)
h m2 l1 lC 2 sin q2
(6.41)
(6.42)
G2 m2 lC 2 g cos (q1 q 2 )
(6.43)
gde skalarna veliina g predstavlja ubrzanje zemljine tee usmereno nanie, tj. u
negativnom pravcu y ose.
Izraz (6.37) se moe u optem obliku napisati kao
h q, q G
H q q
131
(6.44)
Industrijska robotika
Dinamika
1 H11
H
2 21
H12 q1 h1 G1
H 22 q2 h2 G2
Matrica H se naziva inercijalnom matricom, vektor h ukljuuje sve efekte nastale zbog
brzinskih lanova, dok vektor G predstavlja gravitaciono optereenje.
U narednom delu emo detaljno razmotriti fiziko znaenje pojedinih lanova dinamikog
modela koji je u razvijenoj formi dat izrazima (6.37).
Razmotrimo, najpre, prvi lan u (6. 37). U sluaju da se drugi zglob ne pokree
( q2 q 2 0 ) i ako zanemarimo gravitaciono optereenje tada prva jednaina sistema
postaje
1 H 11 q1
(6.45)
odakle se moe zakljuiti da lan H11 predstavlja inercijalnost kojom je optereen prvi
zglob zbog sopstvenog kretanja tj. kada se kree samo prvi zglob, a drugi je ukoen
( q2 q 2 0 ). Vano je napomenuti da inercijalnosti H11 doprinose oba segmenta svojom
masom i momentom inercije, jer kretanjem prvog zgloba pokreemo sve segmente koji se u
kinematskom lancu nalaze dalje. Primetimo zatim, da prva dva lana u jednaini (6.38)
predstavljaju momente inercija za osu obrtanja, to je u ovom sluaju osa prvog zgloba.
Tako, m1 lC21 I1 predstavlja ukupni moment inercije prvog segmenta za osu prvog zgloba
sraunat prema tajnerovim teoremama za sraunavanje momenta inercije za paralelne ose.
Moment inercije drugog segmenta zavisi od trenutnog rastojanja teita drugog segmenta
od ose prvog zgloba, to je na Sl. 6.10. obeleeno sa L , a moe se sraunati prema izrazu
L2 l12 lC2 2 2 l1 lc 2 cos q 2
(6.46)
gde smo opet zanemarili gravitaciono optereenje. Iz (6.46) se moe zakljuiti da lan H12
predstavlja inercijalne efekte kretanja drugog segmenta koji utiu na zglob prvog segmenta.
Kada drugi segment ubrzava sila i moment reakcije drugog segmenta deluju na zglob
prvog. Uticaj na prvi zglob se moe predstaviti momentom sprezanja (obeleimo ga sa
SPR ) koji je dat sledeim izrazom
132
Dinamika
Industrijska robotika
SPR M 1, 2 (r0,1 F1, 2 ) [ I 2 m2 (lC2 2 l1 lC 2 cos q 2 )] q2
FCENT m2 r0,C 2 q1 2
.
Centrifugalna sila uzrokuje moment oko drugog zgloba dat sa
(6.47)
(6.48)
I na kraju emo razmotriti etvrti lan u (6.37). Posmatrajmo sluaj kada se oba zgloba
simultano pokreu brzinama q1 i q 2 . Kretanje usled q1 nazivamo prenosnim, dok je
kretanje usled q 2 relativno. Tada je Koriolisovo ubrzanje dato sa
a KOR 2 P v REL
(6.49)
133
Industrijska robotika
Dinamika
2 m2 lc 2 q1 q2 cos(q1 q2 )
FKOR 2m 1 vC 2
2 m2 lc 2 q1 q2 sin(q1 q2 )
dok je moment oko prvog zgloba uzrokovan ovom silom dat sa
(6.50)
(6.51)
Vano je da pomenemo da pravac Koriolisove sile prolazi kroz drugi zglob i nee
uzrokovati dodatno optereenje u drugom zglobu.
Na ovom primeru smo ilustrovali sve efekte koji se prilikom kretanja mehanizma robota
mogu javiti. Jasno je da je dinamiki model veoma sloen dok se sa porastom broja stepeni
slobode mehanizma sloenost znaajno uveava. Stoga se kao imperativ namee aplikacija
ovako sloenih modela na raunar.
Da zakljuimo, u modelu dinamike koji je u optem obliku dat jednainom (6.44), matrica
H q predstavlja inercijalnu matricu sistema iji elementi, za konkretnu konfiguraciju,
zavise od poloaja svih segmenata koji se nalaze u kinematskom lancu posle i-tog zgloba.
Elementi na glavnoj dijagonali H ii predstavljaju inercijalne efekte koje moment u i-tom
zglobu treba da savlada pri sopstvenom ubrzavanju. Tako, na primer, H11 predstavlja inercijalnost koju prvi zglob pri njegovom kretanju treba da savlada, ali treba uoiti da H11 zavisi od poloaja svih ostalih segmenata koje zglob 1 nosi. Van dijagonalni lanovi H ij
predstavljaju doprinos momentu u i-tom zglobu usled kretanja j-tog zgloba. Na primer, H12
predstavlja doprinos momentu u prvom zglobu usled kretanja drugog zgloba.
Vektor h objedinjuje momente nastale usled brzinskih efekata (Koriolisove i centrifugalne
sile, ...), dok G predstavlja vektor momenata usled gravitacionih optereenja.
134
Dinamika
Industrijska robotika
Slino kao u sluaju kinematike, i u sluaju dinamike se mogu postaviti dva osnovna
zadatka: direktni i inverzni dinamiki zadatak (Sl. 6.14)
135
Industrijska robotika
Dinamika
Poto je sada u potpunosti poznato kretanje prvog segmenta (pored kretanja prvog zgloba
( q1 , q1 i q1 ) sraunate su i linearna i ugaona brzina i ubrzanje teita njegovog
1 ) prelazi se na naredni segment, za koji je u ovom trenutku
segmenta vC1 , 1 , aC1 i
poznato samo kretanje drugog zgloba tj. q 2 , q 2 i q2 . Obzirom da je za drugi segment
kretanje prvog segmenta prenosno, a kretanje drugog segmenta u odnosu na prvi relativno,
sada se mogu odrediti brzina i ubrzanje teita drugog segmenta.
Ova procedura se ponavlja od segmenta do segmenta dok se ne obie kompletan kinematski
lanac i stigne do poslednjeg segmenta.
Na bazi sraunatih kinematskih veliina svih segmenata, u drugoj fazi se odreuju potrebni
momenti u zglobovima. Meutim, sada se polazi od poslednjeg segmenta i du
kinamatskog lanca se ide ka baznom segmentu. Napiimo izraz (6.28) za poslednji (n-ti)
segment u sledeem obliku
Dinamika
Industrijska robotika
(hvataljkom) deluje na okolinu, vCn aCn je ubrzanje teita n-tog segmenta koje smo ve
pa nepoznatu silu sprezanja Fn 1,n izmeu n-1-vog i n-tog segmenta moemo odrediti.
Zatim se prelazi na naredni segment pa se na isti nain odredi sila sprezanja Fn 2,n 1
izmeu n-2-gog i n-1-vog segmenta.
Istim nainom (na osnovu jednaine (6.29)) moemo najpre odrediti moment sprezanja
izmeu n-1-vog i n-tog segmenta, a zatim se, kao u prethodnom sluaju, prelazi na
prethodni segment i odreuje moment M n 2,n1 izmeu n-2-gog i n-1-vog segmenta, i tako
dalje sve do baznog segmenta.
Prema tome, rekurzivna procedura za sraunavanje sila i momenata u zglobovima
mehanizma se bazira na jednainama
Fi 1,i Fi ,i 1 mi vCi mi g
(6.53)
(I )
M
M
r F r
F I
i 1,i
i ,i 1
i .Ci
i ,i 1
i 1,Ci
i 1,i
Kada su sve sile Fn 1,n i momenti M n1,n odreeni sraunavaju se pogonski momenti i
prema (6.4) i (6.5). Vano je napomenuti da prikazana procedura vai samo za jedan
trenutak vremena i da je treba ponavljati na svakom periodu semplovanja du posmatranog
pokreta.
6.3.3 Algoritam formiranja dinamikog modela
i 1 i
(6.54)
i 1
vi 1 vi qi 1 zi i ri ,i 1
i ri ,i 1 2 i q i z i i i ri ,i 1
ai 1 ai qi 1 z i
137
(6.55)
Industrijska robotika
Dinamika
Ako je i+1-vi zglob rotacioni on doprinosi ugaonoj brzini i ubrzanju narednog segmenta pa
vai
i 1 i q i 1 z i
(6.56)
i 1
i qi 1 z i i q i zi
vi 1 vi i ri ,i 1
i 1 ri ,i 1 i 1 i 1 ri ,i 1
ai 1 ai
(6.57)
vCi vi i ri ,Ci
(6.58)
Na taj nain se mogu odrediti sve veliine neophodne za formiranje dinamikog modela
manipulacionog robota.
Na Sl. 6.17 je ematski prikazan algoritam za reavanje zadatka inverzne dinamike i sraunavanje pogonskih momenata u zglobovima mehanizma. Pretpostavlja se da su svi
podaci o mehanizmu robota i trajektoriji zglobova poznati i zadati.
Proces poinje uitavanjem podataka o kretanju baze robota (segment 0). Ukoliko je baza
robota nepokretna njene brzine i ubrzanja su jednaki nuli. Zatim se, na osnovu informacije
o kretanju u zglobu 1 ( q1 , q1 , q1 ) i na osnovu jednaina (6.55), (6.56) i (6.57) sraunavaju
1 ) segmenta 1, tj. njemu pripadajueg koordinarnog sistebrzine i ubrzanja ( v1 , 1 , a1 ,
ma. Ove informacije se prosleuju dalje, pa se na osnovu ovih podataka i informacija o
2 ).
kretanju u zglobu 2 ( q 2 , q 2 , q2 ) sraunava kretanje segmenta 2 ( v2 , 2 , a 2 ,
Procedura se nastavlja dalje, sve dok se ne stigne do poslednjeg segmenta u kinematskom
i ), na osnovu jednaine (6.58) sraunaju i brzine i ubrzanja njegovog teita
i , ai ,
Dinamika
Industrijska robotika
Industrijska robotika
Dinamika
G1 g T m1 J L(1)1 m2 J L(2)
1
G2 g T m1 J L(1)2 m2 J L(2)2
(6.80)
2 H 22 q2 H12 q1 h211 q1 G2
2
LITERATURA
An C., Atkenson C, and Hollerbach J.: Model-Based Control of a Robot Manipulator, The MIT Press, 1998.
Angeles J.: Fundamentals of Robotic Mechanical Systems, Theory, Methods and Algorithms, SpringerVerlag, 2003.
Asada H. and Slotine J.J.: Robot Analysis and Control, John Wiley and sons, 1985.
Ben-Zion Sandler, Robotics- designing the Mechanisms for Automated machinery, Prentice Hall, Inc., 1991
Bruyninckx H. and De Schutter J.: Introduction to Inteligent Robotics, Katholieke Universteit Leuven, 2001.
Craig J.: Introduction to Robotics: Mechanics & Control, Addison-Wesley, 1986.
Dorf. R and Bishop R.: Modern Control Systems, Addison-Wesley, 1995.
Eugene I. Rivin, Mechanical design of robots, McGraw-Hill, Inc., 1987
Fu K., Gonzales R., and Lee C.: Robotics: Control, Sensing, Vision and Intellignece, McGraw-Hill Book
Company, 1987.
140
9.1 UVOD
Posebno vaan zadatak u okviru primene robota u praksi predstavlja njegovo
programiranje. Programiranjem se nedvosmisleno odreuje ponaanje robota u svim
situacijama tokom realizacije zadatka tako da zadatak bude to uspenije realizovan.
Meutim, poto robot deluje u stvarnom svetu i tokom realizacije zadatka mogu nastupiti
i nepredvieni ili neoekivani dogaaji. Programom treba da se specificira ponaanje robota
i u takvim situacijama.
U ovom poglavlju e biti razmotrena problematika programiranja robota sa aspekta glavnih
zadataka koji programiranjem treba da budu reeni. Pored toga e biti rei i o oekivanim
pravcima razvoja ove oblasti.
jezike za programiranje svojih robota tako da danas postoji veliki broj fabrikih
programskih jezika koji zahtevaju odreeni hardver i vae samo za odreenu vrstu robota
koje dotina fabrika proizvodi. Stoga korisnici robota uvek treba da imaju na umu da, u
praksi, promena proizvoaa od kojeg se robot nabavlja znai i promenu jezika za
programiranje. Pored ostalih nepogodnosti (obuka za novi programski jezik, ...) to znai da
programe koji su bili dotle korieni treba ponovo realizovati sa novim programskim
jezikom koji koristi novi robot.
Postoji vie naina na koje program moe da se formira. Jedan nain je da programer
specificira i u programu napie sve akcije koje robot treba da izvri, ak i one koje ne
moraju neizostavno da budu izvrene svaki put, ve samo u sluaju kada se za to steknu
odgovarajui uslovi (ovo se najee odnosi na situacije kada nastupi neka greka u
realizaciji zadatka, a potrebno je da se uticaj greke eliminie i realizacija zadatka nastavi).
Kod robota starijih generacija ta specifikacija je bila tako detaljna da je u programskom
kodu programer trebalo da specificira kretanje svakog pojedinanog zgloba kao i redosled
njihovog aktiviranja. Zatim su se pojavili programski jezici kod kojih se specificira putanja
robotske hvataljke tokom realizacije zadatka, a kretanje zglobova automatski generie
programski sistem ime je programiranje, sa aspekta programera, postalo znaajno
olakano ali treba rei da je programiranje i dalje ozbiljan i sloen zadatak ija realizacija
dugo traje. I dalje, programer treba da definie sve pokrete veoma precizno, da vodi rauna
o odzivu sa senzora i akcijama koje na bazi ovih informacija treba realizovati. Meutim,
iako odreene slinosti postoje, treba napomenuti da se programiranje robota ne moe
poistovetiti sa programiranjem raunara. Osnovna razlika je u tome to je tokom
izvravanja programa robot u kontaktu sa realnim, a ne virtuelnim okruenjem. Tako, na
primer, odreena sekvenca programa (tj. odreena robotska akcija) moe mnogo puta da
bude realizovana besprekorno, da bi u jednom trenutku njena korektna realizacija bila
onemoguena malom razlikom u dimenzijama objekta kojim robot rukuje. Prema tome,
obzirom da akcije robota nisu u potpunosti (idealno) ponovljive, a da nije mogue da se
obezbedi ni potpuno isto poetno stanje okoline robota (scene u kojoj robot radi) na
poetku svakog ponovnog izvravanja zadatka, mogu se javiti greke pri realizaciji zadatka.
Stoga je potrebno da se pre industrijske implementacije programa to vie ovakvih situacija
otkrije i definie odgovarajui nain reagovanja robota, to se postie detaljnim testiranjem
programa. Prema tome, programiranje robota i testiranje razvijenog programa predstavlja
dugotrajan i ozbiljan proces. Testiranje je oteano injenicim da je pri svakom ponavljanju
testirane sekvence neophodno fiziki reinicijalizovati scenu.
Imajui na umu veliku arolikost postojeih jezika za programiranje robota, njihovu podelu
je najpogodnije uraditi, ne na bazi sintakse, ve na osnovu nivoa apstrakcije na kojem se
pie kod programa. Stoga robotske jezike moemo da podelimo na etiri osnovne grupe:
- jezici kojima se programiranje vri na nivou zglobova zahtevaju da se
programira pokretanje svakog zgloba pojedinano kako bi se ostvarilo eljeno
kretanje hvataljke. Ovo su jezici najnieg nivoa. Jedino je kod robota pravougle
ili Dekartove konfiguracije ovo prirodan nain programiranja. Predstavnici ove
vrste jezika su Olivetti-jeva SIGLA i HELP kompanije DEA.
- jezicima nivoa manipulacije se opisuje poloaj i orijentacija hvataljke robota
tokom realizacije zadatka, dok kretanja pojedinanih zglobova koji ovakvo
kretanje hvataljke treba da obezbede sistem odreuje automatski. Najpoznatiji
jezici ove klase su VAL firme Unimation koji se koristi za programiranje
142
Dinamika
Industrijska robotika
Naravno, off/line programiranje ima i odreene mane. Programi razvijeni na ovaj nain su u
veoj meri nepouzdani i podloni pojavi greaka. Najvei broj problema se javlja zbog
nemogunosti pouzdane simulacije senzora. Osim toga, nemogue je eliminisati odreeno
odstupanje modela okoline robota i njegove stvarne okoline. Veoma je vano uoiti ta
odstupanja kako bi bilo mogue preduzeti odgovarajue korektivne akcije bez uea
oveka.
Dinamika
Industrijska robotika
Sl. 9.1. Izgled radnog mesta i njegov prikaz nizom koordinatnih sistema
Iako u veoma ogranienom obliku, ovakav opis okoline ima odreene prednosti. Poto se u
programu eksplicitno definiu poloaji objekata, a ne pozicije hvataljke robota, ovakav
program se moe koristiti za realizaciju istog zadatka razliitim robotima. Osim toga se,
npr. isti montani program moe koristiti ukoliko se i model okoline promeni u smislu da
objekti koji uestvuju u montai promene svoje poloaje u okviru radne scene. U tom
sluaju je potrebno samo preraunati nove poloaje objekata, dok ostatak programa ostaje
neizmenjen.
b) Modeliranje okoline u jeziku RAPT
Drugi primer modeliranja okoline se moe nai u jeziku RAPT koji je baziran na sintaksi
jezika APT koji je iroko korien jezik za programiranje numeriki upravljanih maina. U
jeziku RAPT se objekti opisuju tako to se specificiraju sve relevantne stranice (povrine)
objekata (one koje direktno uestvuju u realizaciji zadatka, vidi Sl. 9.3) i njihovi finalni
relativni poloaji.
145
Relativni poloaji povrina na razliitim objektima koje dolaze u kontakt mogu biti
definisani kao: upravan na (perpendicular to) i paralelan sa (parallel to). Elementarni
geometrijski entiteti koje sistem prepoznaje su: ravan (plane), cilindar (cylinder) i sfera
(sphere).
Poto su svi pojedinani objekti opisani na odgovarajui nain, programer treba da definie
njihov meusobni poloaj kada je objekt potpuno montiran. Za to mu na raspolaganju stoje
sledee relacije: pasuje u (fits), koaksijalan (coaxial), koplanaran (coplanar), ravan
nasuprot ravni (against plane to plane, oznaeno kao agpp na Sl. 9.3), ravan nasuprot
cilindru (against plane to cylinder), ravan nasuprot sferi (against plane to sphere), sfera
nasuprot sfere (against sphere to sphere). Linearno (linear) znai da jedno telo moe da se
translatorno pomera u odnosu na drugo u jednom pravcu, rotaciono (rot) oznaava da jedno
telo moe da rotira oko jedne ose u odnosu na drugo, fiksirano (fix) oznaava da dva tela
imaju nepromenljiv relativan poloaj, linearno-linearno (linlin) znai da je mogunost
relativnog kretanja dva tela ograniena na ravan bez rotacije. Relativni odnosi pojedinih
sastavnih delova ukupnog proizvoda na primeru arke su prikazani na Sl. 9.3.a, a relativni
odnosi geometrijskih entiteta i relativna pokretljivost pojedinih sastavnih delova na Sl.
9.3.b.
Treba napomenuti da RAPT omoguava formiranje podsklopova trajnih ili privremenih
koji u jednom trenutku postoje dok se kasnije moe deklarisati da ne postoje. Kada su dva
tela povezana u podsklop (moemo ih povezati i radi realizacije zajednike akcije) oni
realizuju isti pokret. Primera radi, ukoliko je neki objekat povezan sa hvataljkom robota, on
e se kretati zajedno sa njom pratei njenu promenu poloaja i orijentacije i zadravajui
uvek zadati relativni poloaj. Osim toga, da bi se zadatak realizovao nije dovoljno samo da
se definie meusobni poloaj sastavnih delova kada je objekt potpuno montiran, ve
programer treba da propie redosled izvoenja pojedinih akcija kojima se stie do konano
montiranog proizvoda.
I kod ovog jezika postoji nekoliko otvorenih i nereenih problema. Pre svega treba
146
Dinamika
Industrijska robotika
Dinamika
Industrijska robotika
silom koja raste sa smanjivanjem rastojanja izmeu objekta (prepreke) i hvataljke. Pre
poetka kretanja potrebno je zadati poetnu P i krajnju K poziciju objekta. Ciljna lokacija
na objekat deluje privlanom silom. Sistem zapoinje kretanje od P ka K po pravoj liniji.
Obzirom da se scena snima kamerom, stalno je dostupna informacija o rastojanju hvataljke
i susednih objekata, pa se i odbojna sila moe sraunati u svakom trenutku. Kretanje
hvataljke je rezultanta delovanja odbojnih sila od objekata pored kojih hvataljka robota
prolazi. Ovaj prilaz daje dobre rezultate ak i u sluaju pokretnih prepreka. Problemi mogu
nastati ukoliko robot zakloni scenu, poto sistem za viziju stalno mora da ima jasnu
vidljivost kako bi mogao da bude odreen meusobni poloaj svih objekata.
Jasno je da je planiranje putanja na sceni, posebno ukoliko objekti (prepreke) nisu statiki,
jo daleko od industrijski primenljivog reenja. ini se da bi najbolje rezulatate dala
kombinacija planiranja trajektorija na visokom hijerarhijskom nivou sa adekvatnim
upravljanjem na niskom hijerarhijskom nivou.
b) Hvatanje
Razvijeni metodi za odreivanje mesta za hvatanje objekata se najee baziraju samo na
geometrijskim karakteristikama predmeta. Sloenost algoritma svakako zavisi od sloenosti
same hvataljke i njenih sposobnosti za realizaciju razliitih hvatova, ali se u industrijskoj
robotici najee koriste hvataljke jednostavne konstrukcije. Algoritam za nalaenje
pozicija za hvatanje dvoprstom paralelnom hvataljkom bi mogao da ima sledeu formu:
- Eliminiite iz razmatranja sve povrine koje e biti aktivne tokom realizacije
zadatka tj. koje e biti u kontaktu sa drugim objektima,
- Razmotrite simetriju objekta,
- Nai dve priblino paralelne povrine dovoljne veliine za oslanjanje prstiju, a
ije meusobno rastojanje omoguava da objekat bude obuhvaen prstima i
uhvaen,
- Ako nije mogue pronai dve povrine koje ispunjavaju uslove pod 3. treba da
se pokua da se pronae jedna povrina i jedna ivica,
- Ako nije mogue ispuniti uslov 4. treba ponoviti proceduru i pokuati da se
pronau dve ivice, ili jedna ivica i jedna izvodnica ili dve ili vie izvodnica.
Ukoliko postoji vie potencijalnih hvatova koji su odreeni na osnovu geometrije objekta,
izbor hvata koji e biti primenjen se realizuje na osnovu dodatnih kriterijuma baziranih na
dodatnim informacijama: znanju o zadatku, optih ogranienja, ... Ovakav prilaz je posebno
pogodan ukoliko isti objekat treba hvatati vie od jednom. Kada se jednom odrede svi
mogui hvatovi za odreenu hvataljku i odreeni objekat, novi hvat je mogue odrediti
znatno bre selekcijom meu postojeim hvatovima.
Naravno, problematika hvatanja se znatno uslonjava ukoliko je predmet sloenije
geometrije ili isuvie teak, pa je za njegovu manipulaciju potrebno koristititi kooperativni
rad dva ili vie robota, a pogotovo ukoliko se radi o nestandardnim objektima (sunerasti
objekti, tkanine, lako lomljivi, ...).
c) Fina kretanja
Kada objekti kojima robot manipulie dou u kontakt, obzirom da je nemogue ostvariti
apsolutno tano meusobno pozicioniranje, mogu se pojaviti neoekivano velike kontaktne
sile koje su veoma nepoeljne, jer mogu da spree dalju realizaciju zadatka, ili da uzrokuju
149
lom nekog od objekata u kontaktu. U ovakvim sluajevima postaju veoma vana kretanja
objekata u kontaktu kojima se obezbeuje da situacija ne krene neeljenim tokom i da se
realizacija zadatka nastavi. Ovakva kretanja se nazivaju finim kretanjima (fine motion), za
razliku od kretanja kojima se ostvaruje prenoenje objekta u radnom prostoru (gross
motion).
Osnova za uspenu realizaciju ovakvih situaciju je senzorska informacija o silama koje se
javljaju na kontaktu, kao i podatljivo ponaanje samog objekta koji treba lako da se adaptira
na pozicione netanosti objekata u kontaktu. Veoma je pogodno ukoliko senzor kojim se
mere sile istovremeno predstavlja i elemenat koji obezbeuje podatljivo ponaanje objekta.
Tipian primer zadatka gde su fina ponaanja izuzetno vana je ubacivanje cilindrinog
objekta u otvor (peg-in-hole) ukoliko meu njima postoji veoma mali zazor. Sasvim je
mogue da su zazori izmeu objekta i otvora manji od rezolucije komandovanog kretanja
robota.
Treba pomenuti da se reavanju ovog problema prilazi na nekoliko naina. Jedan je uenje.
Na osnovu pokuaja i ostvarenih rezultata u tim pokuajima sistem ui i poboljava svoj
stepen uspeha. Posle zavrenog obuavanja realizovani program se reprodukuje, ali se ne
moe garantovati potpuni uspeh. Za druge radne predmete obuavanje treba ponoviti.
Drugi nain je formiranje algoritma koji e realizovati fina kretanja samo na osnovu
senzorskih informacija. Mana ovog prilaza je da u fazi testiranja programa treba proveriti
to vie delikatnih situacija, kao i da treba esto vriti kalibraciju jer se karakteristike
senzora tokom vremena mogu menjati.
Dinamika
Industrijska robotika
to je kalibracija, koristi se konzola kojom se robot vodi od take do take u prostoru ili
unutranjih ili ee, spoljanjih koordinata, pamtei poloaje taaka u prostoru i njihov
redosled. Potom, takoe kroz konzolu, mogu se postaviti i ostali parametri kretanja koji se
odnose na nain i brzinu kretanja izmeu sukcesivnih taaka. Ovakav nain programiranja
robota zahteva veliko praktino znanje o primeni robota, pa i dobar oseaj o tome da li
robot moe neki pokret obaviti u nekom delu radnog prostora uz dodatnu sloenost zadatka.
Tipina konzola za programiranje data je na Sl. 9.6.
Kretanje robota programira se nizom manjih pokreta izmeu pozicija u koje elimo robot
da doe ili da pored njih proe. Zavrna pozicija robota zadaje se ili manuelnim
pomeranjem robota (jogging) upotrebom palice na konzoli, ili se direktno zadaje,
tastaturom. U neku taku robot moe doi ili tako da se u njoj zaustavi, ili tako da proe
kroz nju zadatom brzinom. U sluaju da treba samo da proe pokraj take, vrednost
odstupanja je odreena parametrima kao to su brzina kretanja, veliina alata koji robot
nosi, zadate orijentacije itd.
Zaustavljanje
Fly-by taka
Zadato
odstupanje
Sl. 9.7. Primeri taaka u kojima se robot zaustavlja i pored kojih prolazi.
9.5 LITERATURA
An C., Atkenson C, and Hollerbach J.: Model-Based Control of a Robot Manipulator, The MIT Press, 1998.
Angeles J.: Fundamentals of Robotic Mechanical Systems, Theory, Methods and Algorithms, Springer-
152
Dinamika
Industrijska robotika
Verlag, 2003.
Asada H. and Slotine J.J.: Robot Analysis and Control, John Wiley and sons, 1985.
Ben-Zion Sandler, Robotics- designing the Mechanisms for Automated machinery, Prentice Hall, Inc., 1991
Bruyninckx H. and De Schutter J.: Introduction to Inteligent Robotics, Katholieke Universteit Leuven, 2001.
Craig J.: Introduction to Robotics: Mechanics & Control, Addison-Wesley, 1986.
Dorf. R and Bishop R.: Modern Control Systems, Addison-Wesley, 1995.
Eugene I. Rivin, Mechanical design of robots, McGraw-Hill, Inc., 1987
Fu K., Gonzales R., and Lee C.: Robotics: Control, Sensing, Vision and Intellignece, McGraw-Hill Book
Company, 1987.
Fu K., Gonzales R., and Lee C.: Robotics: Control, Sensing, Vision and Intellignece, McGraw-Hill Book
Company, 1987.
J.M.Selig, Introductory Robotics, Prentice Hall, Inc., 1992
Hollerbach, J.M., A Survey of Kinematic Calibration, The Robotics Review 1, Khatib, Craig, and Lozano-Perez,
eds. MIT Press, pp. 207-242 (1989).
Kirchner, H., Gurumoorihy, B., Prinz, F., A Perturbation Approach to Robotic Calibration, In. Journal of
Robotics Research, Vol. 6, No. 4, pp. 47-59 (1987)
Bernhardt, R., Albright, S.L., eds., Robot Calibration, Chapman and Hall, London, (1992)
Qian, G.Z., Kazerounain, K., Statistical Error Analysis and Calibration of Industrial Robots for Precision
Manufacturing. Int. Jo. Adv. Manufacturing Technology, Vol. 11, pp. 300-308 (1996)
Hayati, S., Mirmirani, M., Improving the Absolute Positioning Accuracy of Robot Manipulators, Jo. Robotic
Systems, Vol. 2, No. 4, pp. 397-413 (1985)
Zak, G. Fenton, R.G., Benhabib, B. A Generalized Calibration Method for Robots in Manufacturing
Applications, IEEE, 1988, pp. 266-272.
Zhuang, H., Roth, Z., Camera-Aided Robot Calibration, CRC Press, 1996.
Keck, B.W., Smith, R.K., Matone, R. Calibration and Accuracy for Precision Manufacturing, Handout for
Stanford Robotics Class: ME319, Spring 1995
Fu, K.S. , Gonzalez, R.C., Lee, C.S.G., Robotics: Control, Sensing, Vision and Intelligence, McGraw Hill (1987).
Nakamura, Y. Advanced Robotics - Redundancy and Control, Addison-Wesley (1991).
Whitney, D., Sharma, J.S., Comments on: An Exact Kinematic Model of the PUMA 600 Manipulator, IEEE
Transactions on Systems, Man and Cybernetics, SMC-16, pp. 182-4 (1986)
153