You are on page 1of 153

1

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.

Sl. 1.3. Pokretne lutke za sluenje aja


iz Japana, XVIII vek

Sl. 1.2. Automat asovniara Jaquet Droz-a


poznat pod nazivom Pisar, oko 1750.godine

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

kojoj se nalazi. Za realizaciju takvih maina tada nije bilo uslova.


Tabela 1. Pregled razvoja robotike
God.

Dostignue

1898

Nikola Tesla javno demonstrirao radiom upravljani (teledirigovani) model broda.

1946
1952
1954

1956
1962
1968

Dor Devol (George Devol) razvio prvi magnetski kontroler. Na Pensilvanijskom univerzitetu realizovan Eniac, prvi savremeni raunar.

Na MIT-u realizovana prva NC maina koja predstavlja prvi primer gde su


softver i hardver integrisani u okviru istog ureaja.

Dozef Inglberger (Joseph Engelberger), student Kolumbija univerziteta, otkupio


prava na Devolov robot i osnovao prvu robotsku kompaniju Junimejn
(Unimation).
Izraz vetaka inteligencija uveden u naunu terminologiju

Deneral Motors (General Motors) instalisao prvi robot (firma Junimejn) na


poslovima opsluivanja maine za livenje.
Mobilni robot sa elementima vetake intel. (ejki (Shakey)) realizovan na SRI

1972

Prof. Vukobratovi postavio teoretske principe dvononog hoda.

1973

Sinsinati Milakron (Cincinati Milacron) razvio T3, prvi komercijalni robot.

1973

Na Stanford univerzitetu razvijen prvi jezik za programiranje robota (WAWE).

1976
1977

U arls Draper (Charles Draper) laboratorijama na MIT-u razvijen RCC ureaj


za montau.
ASEA ponudila na tritu dva industrijska robota na elektrini pogon.

1978

Prvi Puma robot iz firme Junimejn instalisan u Deneral Motors-u.

1979

SCARA (Selective Compliant Robot for Assembly) realizovan u Japanu.

1980
1984

Poeo ubrzani razvoj industrijske robotike.

Na Waseda univerzitetu razvijen Wabot-2 koji je bio u stanju da ita note i svira
elektrine orgulje.

1986

Na Waseda univerzitetu realizovan dvononi hodajui robot (WL-12) koji je hod


ostvario na osnovu ZMP-a.

1987

Kompamije ASEA i BBC Brown Boveri formirale ASEA Brown Boveri (ABB)

1992
1997
1998
2000

Istraivaki 8-noni robot Dante I uao u krater vulkana Erebus na Antartktiku

Honda javno prikazala autonomni humanoidni robot P3 (osmi prototip u okviru


projekta koji je poeo 1986 godine).
U Japanu zapoet veliki projekat Humanoid.

Realizovan prvi autonomni humanoidni robot ASIMO firme Honda, Japan.


Sony prikazao svoj humanoidni robot SDR (Sony Dream Robot)

Jasno je da su za pojavu robotike morala postojati odgovarajua teorijska znanja i stei se


adekvatni tehnoloki uslovi. Obzirom da se do ovih uslova stiglo postepenim razvojem nije

Uvod

Industrijska robotika

mogue potpuno jednoznano odrediti kada je zapoeo razvoja robotike. Smatra se da je za


pojavu robota od sutinskog znaaja bio razvoj teorije upravljanja, raunara i elektronike,
pa se pregled razvoja robotike dat u Tabeli 1 je fokusira uglavnom na ove oblasti.

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

Sl. 1.6. Razvoj Asimo (HONDA) humanoidnog robota

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.

Naredni veliki napredak u razvoju robotike je omoguila pojava novih tehnologija za


realizaciju upravljakih sistema mikroraunara, ime je znaajno uveana sposobnost
robota da u realnom vremenu, pored ostalog, obrauju raznovrsne senzorske informacije,
na osnovu kojih donose odluke o narednoj akciji koju treba izvriti i na taj nain obavljaju
zadatke smanjenog stepena determinizma.
Realno je da se oekuje da e se taj trend nastaviti, naroito zbog razvoja robotike koja nije
industrijska i gde je adekvatna interakcija sa okolinom na osnovu senzorskih informacija,
osnovni preduslov uspenog delovanja robota. Stoga se moe oekivati da e kod
industrijskih robota u budunosti biti uvean stepen samostalnog delovanja to e imati
veoma znaajan uticaj i na proizvodnju u budunosti.
Kada je industrijska robotika u pitanju dva su osnovna pitanja na koja treba imati jasne
odgovore. Prvo je: zbog ega treba koristiti robote, dok je drugo: kada ne treba koristiti
robote.
Kao odgovor na prvo pitanje uobiajeno se navode etiri razloga:
- poboljanje kvaliteta proizvoda,
- poboljanje uslova rada,
- smanjenje trokova i
- olakan prelazak na proizvodnju drugog proizvoda (fleksibilnost).
U sluaju kada je potrebno poboljanja kvaliteta proizvoda roboti postiu bolje radne
rezultate u odnosu na oveka kada je potrebno: pozicioniranje visoke tanosti, visoka
ponovljivost pri ponavljanju pokreta, eliminacija odstupanja usled zamora i pouzdano
merenje i kontrola kvaliteta korienjem senzora. Obzirom na karakteristike robota u smislu
ostvarenja visoke tanosti i ponovljivosti dobro poznate, prva tri razloga su, nadamo se,
jasna bez dodatnih objanjenja. Radi ilustracije kako se robotizacijom uz primenu senzora
moe poveati kvalitet proizvoda naveemo primer firme Nissan iz Japana gde se za
detekciju nesavrenosti bojene povrine koriste laserski senzori koje nose roboti. Uvoenjem ovog sistema poveana je uspenost detekcije greaka sa 60% na 100%.
Da bi se postigao visok kvalitet proizvoda i da bi se izbegle povrede, uslovi rada treba da

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
-

Novo radno mesto ne zahteva posebnu pripremu u smislu prilagoavanja


oveku (male kapitalne investicije).
Ukoliko je na radnom mestu neophodno da izvrilac poseduje jednu ili vie pomenutih
osobina potrebno je na to mesto postaviti oveka.
Osvrnimo se, na kraju, na razvoj industrijske robotike u poslednje dve decenije. Prema
UNECE (Press Release ECE/STAT/04/P01, Geneva, 20 tobr 2004), robotika je tokom
poslednje decenije XX veka, posmatrano sa razliitih aspekata, znaajno napredovala.
Tako, na primer, odnos nekih osnovnih ekonomskih i tehnolokih parametara sa poetka i
sa kraja poslednje decenije XX veka to potvruje: nominalna cena robota je smanjena od
43% do 80%, broj isporuenih jedinica je uvean za 782%, broj razliitih tipova robota je
uvean za 400%, ukupna nosivost je uveana za 26%, tanost pozicioniranja je uveana za
61%, brzina kretanja poslednje ose je uveana za 39%, maksimalni dohvat je uvean za
36%, srednje vreme rada pre pojave otkaza je uveano za 137% (sada iznosi i do 100,000
sati), veliina RAM-a je uveana za preko 400 puta a broj maksimalno upravljanih SS je
uvean za 45%
Period veoma znaajnog tehnolokog unapreenja industrijskih robota tokom ovog perioda
je istovremeno praen konstantnim rastom trita. U tome su prednjaile Evropa i SAD
obzirom da je Japan najvei deo robotizacije priveo kraju desetak godina ranije. Na kraju
XX veka, u svetu se broj robota u upotrebi pribliio broju od 900.000 100.000 (poznat je
broj proizvedenih i isporuenih robota ali se ne zna tano koliko je robota izvan upotrebe
zbog zastarelosti). Iako je preporueni radni vek robota dvanaest godina, nije redak sluaj
da se roboti koriste i posle tog perioda u zavisnosti od intenziteta ranijeg korienja ali i od
ekonomske opravdanosti nove investicije.
Broj robota u Japanu je u tom trenutku iznosio (ukljuujui i najjednostavnije manipulatore) 389.442, u Sjedinjenim amerikim dravama 89.880, u Evropskoj uniji 198.897, ostatku
Evrope 10.783, Aziji i Australiji 53.132, a u ostatku sveta 8.900. Broj robota na 10.000
industrijskih radnika u pojedinim zemljama je iznosio: Japan 272; Juna Koreja 125; SAD
52; EU 81; Nemaka 127; Italija 102; vedska 89; Velika Britanija 34; Australija 31. U
automobilskoj industriji, koja je u znatno veoj meri robotizovana, u proseku, na 10.000
radnika dolazi 1000 robota (u Japanu 1.700, u Italiji 850 (najvie u Evropi), u SAD 590
robota, ...).
Predvianja za period do kraja prve decenije XXI veka ukazuju na to da e broj novih, proizvedenih i instaliranih, robota dostii cifru od 131.000, odnosno da e broj aktivnih robota
na kraju decenije dostii 1.150.000 jedinica. Cena robota e neznatno opadati a broj robota
u odnosu na broj radnika e biti povean: predvia se 352 robota na 10.000 radnika u Japanu, preko 173 u Koreji, 171 u Nemakoj, 130 u Italiji, 90 u SAD.
Interesantno je da je 2005. godine narueno 59% robota antropomorfne konfiguracije, 12%,
cilindrine, 8% SCARA konfiguracije i ukupno 21% svih ostalih konfiguracija.
Za samo pet godina, rast u servisnoj robotici iznosio je 31.600 jedinica. Sa 5.680 jedinica,
podvodna robotika predstavlja glavni pravac komercijalizacije. Slede roboti za ienje,
vojni i bezbednosni roboti, graevinarski roboti, medicinski roboti i mobilne platforme
opte namene. Prodato je 1.9 miliona jedinica za domainstvo 1 milion robota-igraaka.
Strah da e roboti zatvoriti mnoga radna mesta nije se pokazao u potpunosti opravdanim.
Posle oekivanog otputanja na poetku robotizacije u nekoj industrijskoj grani, ubrzani
rast obino otvara nova radna mesta ili se, usled opteg napretka drutva, otvaraju investicije u drugim granama ime se poveava potreba za radnom snagom, koja pri tome mora da

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.

OSNOVNE DEFINICIJE I STRUKTURE


MANIPULACIONIH ROBOTA

2.1 OSNOVNI POJMOVI


Mehanika struktura industrijskog robota se sastoji od segmenata spojenih zglobovima koji
mogu biti rotacioni ili linearni (translatorni). Zadatak mehanike konstrukcije je da ostvari
potrebno kretanje hvataljke robota tokom realizacije radnog zadatka. To znai da je
potrebno da hvataljka u svakoj taki putanje ostvari planiranu poziciju i orijentaciju, kao i
odgovarajuu brzinu i ubrzanje. Konstrukciona realizacija zglobova koji se danas
primenjuju kod industrijskih robota je takva da jedan zglob omoguava samo jedno
relativno kretanje (Sl. 2.1) segmenata koje povezuje. Jedno kretanje koje zglob dozvoljava
(translaslacija ili rotacija) se, po analogiji sa terminologijom u mehanici, naziva jednim
stepenom slobode (SS). Prema tome, zglob koji omoguava samo jedno relativno kretanje
ima jedan stepen slobode i naziva se jednostrukim. Stoga se moe rei da se mehanika
struktura robota sastoji od vie segmenata koji su povezani jednostrukim zglobovima. Jasno
je da se sloena prostorna kretanja vrha robota ostvaruju istovremenim i usklaenim
kretanjem vie zglobova. Pozicije zglobova se, bez obzira da li se radi o rotacionim ili
linearnim zglobovima, se nazivaju unutranjim koordinatama.

a)

b)
Sl. 2.1. ematski prikaz a) rotacionog i b) translatornog zgloba

Obzirom da je za dostizanje proizvoljno zadate pozicije i orijentacije krutog tela u prostoru


potrebno est stepeni slobode (tri translacije du osa koordinatnog sistema i tri rotacije oko
njih) jasno je da mehanika struktura robota koja treba da obezbedi pozicioniranje vrha
robota u bilo kojoj taki svog radnog prostora sa proizvoljnom orijentacijom mora da ima
est jednostrukih, odgovarajue spregnutih, zglobova jer na taj nain mehanika struktura
robota obezbeuje est stepeni slobode kretanja vrha robota. Stoga je jasno da, kada je u
pitanju mehanika struktura sa est stepeni slobode, za proizvoljno zadatu poziciju i
orijentaciju hvataljke u prostoru postoji samo jedno reenje (samo jedan skup vrednosti
pomeraja u zglobovima) koje obezbeuje da hvataljka bude u zadatoj poziciji sa traenom
orijentacijom.
U sluaju da mehanika struktura ima vie od est stepeni slobode postoji vie moguih
poloaja zglobova (teoretski, beskonano mnogo) sa kojima se ostvaruje traena pozicija i
orijentacija hvataljke. Roboti ija mehanika struktura koja nosi hvataljku ima vie od est,
9

Industrijska robotika

Osnovne definicije i ...

prostorno rasporeenih, zglobova (stepeni slobode) su uvek redundantni2. Treba uoiti da


se redundantnost definie kao razlika u broju stepeni slobode koje zahteva realizacija
radnog zadatka i broja stepeni slobode koje poseduje mehanika struktura robota. Ako
robot poseduje "viak" stepeni slobode za odreeni zadatak on je za taj zadatak
redundantan. U suprotnom sluaju nije. Prema tome, za neki zadatak robot koji ima est ili
manje stepeni slobode moe, dok za neki drugi zadatak ne mora biti redundantan. Po
pravilu, industrijski roboti imaju najvie est stepeni slobode, mada se na tritu ve
pojavljuju realizacije koje imaju i vie SS3.
Deo prostora u kome se hvataljka robota moe nai, naziva se radnim prostorom (engl.
workspace). Oblik radnog prostora zavisi od vrste i rasporeda zglobova minimalne
konfiguracije, dimenzija segmenata i opsega kretanja svakog zgloba. Na Sl. 2.7. je
prikazana kontura radnog prostora u vertikalnoj ravni. Ukupan radni prostor se dobija
rotacijom ove konture oko ose prvog zgloba. Potpuno operativnim radnim prostorom (engl.
versatile workspace) nazivamo radni prostor u okviru kojeg robot moe u svakoj taki da
ostvari bilo koju zahtevanu orijentaciju hvataljke. Maksimalnim radnim prostorom
nazivamo deo prostora u okviru koga robot moe da dohvati svaku taku makar sa samo
jednom moguom orijentacijom hvataljke. Jasno je da je maksimalni radni prostor vei, i da
se u njegovim zonama koje su blie graninim oblastima smanjuje opseg moguih
orijentacija hvataljke koje robot moe da postigne. Take koje su na graninoj spoljnoj
povrini radnog prostora robot moe da dohvati samo sa potpuno ispruenom mehanikon
strukturom pa je jasno da je u tim takama mogue ostvariti samo jednu orijentaciju
hvataljke. Dodatna razmatranja vezana za radni prostor su data u odeljku 2.3.
Kao to smo ve rekli mehanika struktura industrijskog manipulacionog robota se sastoji
od segmenata koji su spojeni zglobovima. Prvi zglob, raunato od osnove je fiksiran za
podlogu, dok je na poslednji privrena hvataljka. Ukupna mehanika konfiguracija se
uobiajeno deli na dve celine: prva tri segmenta sa pripadajuim zglobovima (raunato od
podloge) se nazivaju minimalnom konfiguracijom dok druga tri zgloba ine zglob hvataljke
(Sl. 2.2). Adekvatnim izborom uglova minimalne konfiguracije se hvataljka pozicionira u
eljenu taku radnog prostora dok se zglobom hvataljke obezbeuje zahtevana orijentacija.
Celina koju formiraju poslednja tri zgloba u kinematskom lancu mehanike strukture robota
se naziva zglobom hvataljke. Uobiajeno je da su sva tri zgloba rotaciona (Sl. 2.3) i
realizovani tako da se sve tri ose seku u jednoj taki (taka A na Sl. 2.2). Ova taka ostaje
nepokretna za bilo koju vrednost uglova u zglobovima 4, 5 i 6. Ovakva konstrukcija se
naziva Ojlerovim zglobom. Ukoliko se taka A adekvatno pozicionira u radnom prostoru
robota izborom odgovarajuih uglova u zglobovima hvataljke, se obezbeuje potrebna
orijentacija hvataljke. Obzirom da se zglob hvataljke direktno nadovezuje na minimalnu

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

Osnovne definicije i ...

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).

konfiguraciju jasno je da se taka A na Sl. 2.2 ne pomera u odnosu na poslednji segment


minimalne konfiguracije. Ova injenica e na pogodan nain biti iskoriena kasnije kod
rasprezanja mehanike strukture pri reavanju inverznog kinematskog zadatka.
Uobiajeno se mehanika struktura formira kao jednostruki kinematski lanac, mada se
mogu nai primeri viestrukih kinematskih lanaca. Viestrukim kinematskim lancima se,
uglavnom, vri prenos kretanja sa motora na zglob ukoliko je motor udaljen od zgloba koji
osnauje tj. nije direktno povezan na osovinu zgloba mehanike strukture. To se najee
odnosi na motore kojima je osnaen zglob hvataljke.
Robotski manipulacioni sistem (Sl. 2.4.) se minimalno sastoji od:
- mehanike konfiguracije osnaene aktuatorima
- odgovarajueg upravljakog ureaja (kontrolera) za upravljanje kretanjem
izvrnih organa, koji se obino nalazi u istom kuitu sa energetskim delom
sistema za napajanje aktuatora.
- ureaja za runo navoenje robota, koji se esto naziva ureajem za obuavanje
(engl. Teaching box) tj. programiranje robota.
Na Sl. 2.4 su data dva primera robotskih sistema i u oba sluaja se vide sve tri pomenute

11

Industrijska robotika

Osnovne definicije i ...

Sl. 2.4. Kompletan sistem manipulacionih robota (mehanika konfiguracija, upravljaki ureaj i ureaj za
obuavanje).

komponente. U pojedinanim sluajevima one mogu da variraju po veliini i obliku. Mogu


postojati jo neki dodatni elementi (izvor ulja pod pritiskom za robot sa hidraulinim
aktuatorima, disketna jedinica za unoenje programa koji je razvijen na nekom drugom
ureaju, ...).

2.2 DEFINICIJA OSNOVNIH KOORDINATNIH SISTEMA


Za uspenu primenu robota neophodan je, u to veoj meri, univerzalan i standardizovan
nain opisa informacija koje su znaajne i za robot i za zadatak.
U odnosu na osnovni (spoljanji) koordinatni sistem (engl. world coordinates) se definie
globalni poloaj robota i radnog mesta (Sl. 2.5). Globalni poloaj robota se opisuje
poloajem koordinatnog sistema osnove robota (engl. base coordinates) . Spoljanji
koordinatni sistem i koordinatni sistem osnove robota su nepokretni i ne menjaju svoj
poloaj tokom realizacije zadatka. Poloaj hvataljke (ili alata ukoliko ga robot nosi) se
definie posebnim koordinatnim sistem koji se postavlja u TCP (engl. Tool Center Point) ili
u tano definisanu taku iji poloaj se precizira u odnosu na TCP. Poloaj TCP-a definie

Sl. 2.5. Osnovni koordinatni sistemi

12

Osnovne definicije i ...

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.

2.3 OSNOVNI RADNI PARAMETRI INDUSTRIJSKIH ROBOTA


Najvaniji parametari robota su: ponovljivost, tanost, rezolucija, veliina radnog prostora,
kao i raspodela funkcije nosivosti u okviru radnog prostora.
Ukoliko je robot doveden u odreenu taku radnog prostora u kojoj su mu zapamene
unutranje koordinate a zatim se iz te take izvede, pa mu se izda komanda da se u vrati u
istu taku, greka pozicioniranja u odnosu na taku u kojoj je prethodno bio se naziva
ponovljivou. Drugim reima ponovljivost je rastojanje izmeu ostvarene i eljene pozicije
ukoliko je robot u eljenoj poziciji prethodno bio i zapamtio unutranje koordinate koji toj
poziciji odgovaraju. Ponovljivost se definie kao poluprenik kruga koji obuhvata sve tako
dostignute poloaje.
Tanost je rastojanje u prostoru izmeu ostvarene i zadate (komandovane) pozicije ukoliko
robot u komandovanoj poziciji nije prethodno bio.
Rezolucija je najmanji pomeraj komandovanog pokreta koji se moe realizovati. Veliina
rezolucije je posledica ogranienog broja bitova digitalnog upravljakog sistema robota.
Roboti imaju i za red veliina bolju ponovljivost od tanosti. Recimo, SCARA robot moe
imati ponovljivost od 0.05mm, dok je tanost najmanje pet puta loija od ponovljivosti.

Dobra ponovljivost
Loa tanost

Dobra ponovljivost
Dobra tanost

Sl. 2.6. Ilustracija tanosti i ponovljivosti

Ukaimo jo jednom na razliku izmeu tanosti i ponovljivosti. Naime, kada se robot ve


nalazi u nekoj taki radnog prostora mogu se zapamtiti vrednosti koordinata u zglobovima
(za rotacione zglobove to su uglovi, za translatorne su to linearna izduenja) kojima
odgovaraju trenutni poloaji segmenata. Kada se robot izvede iz te pozicije a zatim mu se
komanduje da ponovo ode u istu taku (vrednosti koordinata koje treba ostvariti su poznate)
greka pozicioniranja se naziva ponovljivou. Ukoliko se robotu komanduje da ode u
taku u kojoj prethodno nije bio i nema informaciju o koordinatama u zglobovima koji toj
poziciji odgovaraju, upravljaki ureaj robota mora da ih srauna" na osnovu kinematskog
13

Industrijska robotika

Osnovne definicije i ...

modela koji poseduje. Greka pozicioniranja je u ovom sluaju dodatno indukovana


odstupanjem parametara modela od stvarnih parametara robota i naziva se tanou.
Dakle, ukoliko elimo da poveamo preciznost izvravanja zadataka, tanost robota je
osnovni ograniavajui faktor. Stoga su razvijeni razni kalibracioni postupci pomou kojih
se odstupanja stvarnih parametara robota od parametara koji upravljaki ureaj robota
koristi minimiziraju. Ponovljivost pri tome ostaje nepromenjena.
Ve ranije smo ukazali da se sam radni prostor moe dalje deliti na maksimalni i potpuno
operativni u zavisnosti od mogunosti pristupanja svakoj njegovoj taki sa proizvoljnom
orijentacijom hvataljke. U sluaju da je potrebno da se vodi rauna o odravanju eljene
tanosti poloaja pod optereenjem (Sl. 2.7), radni prostor se deli na koncentrine prostore

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

Osnovne definicije i ...

Industrijska robotika

2.4 OSNOVNE MEHANIKE STRUKTURE (KONFIGURACIJE)


MANIPULACIONIH ROBOTA
U literaturi se mogu pronai razni naini sistematizacije industrijskih manipulacionih
robota. Veoma esto su kriterijumi koji se koriste bazirani na njihovim tehnikim
karakteristikama i vae u potpunosti samo u odreenom vremenskom periodu. Ovde je
usvojena podela koja se bazira na tipu mehanike strukture minimalne konfiguracije robota
obzirom da to predstavlja jednu od veoma vanih karakteristika, a koja je relativno
nepromenljiva tokom vremena.
Prikazaemo osnovne konfiguracije industrijskih robota.
2.4.1 Robot antropomorfne konfiguracije
Kod veine robotskih konfiguracija, pa i kod ove, prvi stepen slobode ( raunato od
podloge) je rotacioni i osa prvog zgloba je vertikalna. Ovaj zglob obezbeuje rotaciju
kompletnog robota oko vertikalne ose. Ose drugog i treeg zgloba su meusobno paralelne,

3
2

1
Sl. 2.8. Kinematska ema i fotografija tipine robotska konfiguracija antropomorfnog tipa

horizontalne i upravne na osu prvog zgloba. Kretanjem drugog i treeg zgloba se


obezbeuje da se vrh minimalne konfiguracije pozicionira u proizvoljnu taku u vertikalnoj
ravni koja sadri osu prvog zgloba. Skica kinematske strukture i fotografija robota
antropomorfne konfiguracije su prikazani na Sl. 2.8. Mehanika struktura robota
antropomorfne konfiguracije podsea na strukturu ruke oveka pa se stoga za drugi
segment minimalne konfiguracije esto koristi naziv nadlaktica, a za trei podlaktica (Sl.
2.8.). Osnovna karakteristika robota antropomorfne konfiguracije je da moe da pree iznad
prepreke koja mu se nae na putu. Ako pogledamo kinematsku emu ove konfiguracije
jasno je da se pokretanjem npr. treeg zgloba utie na intenzitet momenta oko ose drugog
zgloba ak i u sluaju da se ovaj zglob ne pomera. Ovaj uticaj se naziva sprezanjem. Stoga
se kae da, ukoliko kretanje jednog zgloba utie znaajno na pogonske momente (ili
pogonske sile ukoliko su zglobovi translatorni) drugih zglobova, posmatrana konfiguracija
ima znaajno sprezanje meu zglobovima. Roboti antropomorfne konfiguracije su
karakteristini po tome to imaju veliko sprezanje meu zglobovima.

15

Industrijska robotika

Osnovne definicije i ...

2.4.2 Robot sferne (polarne) konfiguracije


I kod sferne konfiguracije osa prvog zgloba je usmerena vertikalno navie dok je osa
drugog horizontalna i upravna na osu prvog zgloba. Trei zglob je translatorni. Prema tome,
kod sferne konfiguracije vrsta i raspored prva dva zgloba su istovetni kao kod
antropomorfne. Kinematska ema sferne konfiguracije je prikazana na Sl. 2.9. Kao i ranije
drugi i trei zglob omoguavaju pozicioniranje vrha minimalne konfiguracije u bilo kojoj
taki vertikalne ravni, dok se rotacijom vertikalne ravni oko ose prvog zgloba vrh robota
moe pozicionirati bilo gde u okviru radnog prostora

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

Sl. 2.10. Kinematska ema i fotografija robota cilindrine konfiguracije

16

Osnovne definicije i ...

Industrijska robotika

je horizontalna tako da se njegovim pokretanjem vri primicanje odnosno odmicanje


hvataljke u odnosu na vertikalni stub robota.
Ova konfiguracija se naziva cilindrinom prema obliku radnog prostora koji predstavlja deo
cilindra. Roboti ove konfiguracije imaju veoma malo sprezanje meu zglobovima.
2.4.4 Robot scara konfiguracije
Roboti SCARA konfiguracije (engl. Selective Compliance Assembly Robot Arm), imaju dva
rotaciona i jedan translatorni zglob. Dva meusobno paralelna rotaciona zgloba sa vertikalnim osama obrtanja su postavljeni na stubnu osnovu tako da se oba segmenta kreu u horizontalnoj ravni. Na kraju drugog segmenta se nalazi translatorni zglob ija osa je takoe
vertikalna (Sl. 2.11). Zglob hvataljke ima najee samo jedan stepen slobode i to obrtanje
oko vertikalne ose. Prema tome, roboti SCARA konfiguracije uobiajeno imaju samo etiri
stepena slobode.

Sl. 2.11. Kinematska ema i fotografija robota SCARA konfiguracije

Kretanjem rotacionih zglobova se vri pozicioniranje translatornog zgloba u eljenu taku


horizontalne ravni, a zatim se sputanjem translatornog zgloba dovodi hvataljka do eljenog
poloaja u okviru radnog prostora.
SCARA konfiguracija ima veoma malo sprezanje meu zglobovima obzirom da gravitaciono optereenje u potpunosti prima sama mehanika struktura rotacionih zglobova.
Roboti SCARA konfiguracije su prvi put realizovani u Japanu 1972. godine, i uglavnom su
namenjeni za realizaciju montanih zadataka. Odlikuju se velikom tanou pozicioniranja i
brzinom rada, kao i relativno velikom nosivou. Najvei nedostatak SCARA robota potie
od njegove konstrukcije postavljen je visoko i zauzima veliki deo prostora iznad prostora
u kome se obavljaju radni zadaci, tako da taj prostor mora da bude slobodan.

2.4.5 Robot Dekartove (pravougle) konfiguracije


Minimalnu konfiguraciju kod ovih robota, kao to se vidi sa Sl. 2.12, ine tri translatorna
zgloba ije su ose paralelne osama Dekartovog pravouglog koordinatnog sistema. Odatle
potie i naziv ovakve konfiguracije (moe se sresti jo nekoliko naziva: pravougla,
kartezijanska (engl. Cartesian) ili portalna (engl. gantry) konfiguracija ukoliko se robot
postavi na postolje kojim se nadnosi nad radni prostor kojem pristupa odozgo).
Obzirom na vrstu i raspored zglobova kod robota ove konfiguracije jasan je doprinos
17

Industrijska robotika

Osnovne definicije i ...

kretanja u svakom od zglobova kretanju hvataljke, ime je programiranje, pa ak i runo


voenje znatno olakano. Radni prostor predstavlja paralelepiped ije dimenzije zavise od
opsega
kretanja
svakog
zgloba

Sl. 2.12. Kinematska ema i fotografija robota pravougle konfiguracije

Sl. 2.13. Robot pravougle konfiguracije postavljen na postolje koje se nalazi iznad maine koju opsluuje

Roboti ove konfiguracije imaju veoma malo sprezanje meu zglobovima.


Radi smanjenja zauzetog prostora u pogonu roboti ovakve konfiguracije se veoma esto
postavljaju na postolje (Sl. 2.13) kojim se izdiu iznad radne maine (portalni ili gantry
robot). Naravno, u ovakvim sluajevima pristup radnom prostoru radne maine mora biti
slobodan odozgo. Dimenzije postolja mogu biti takve da robot moe da opsluuje i po
nekoliko maina

2.4.6 Paralelni roboti


Sve dosada opisane konfiguracije su imale osnovnu formu kinematskog lanca, a samo su se
razlikovale vrsta i dispozicija zglobova. Paralelni roboti se u tom smislu konstukciono
sutinski razlikuju, ali smatramo da je potrebno da ih ovde pomenemo. Oni predstavljaju
dve platforme (u nominalnom poloaju ove platforme su paralelne) koje su povezane
segmentima promenljive duine (Sl. 2.14). Jedna platforma se smatra bazom ili osnovom
(na Sl. 2.14 je to gornja platforma), a druga je radna ijim poloajem i orijentacijom se
upravlja i na njoj se nalazi hvataljka.

18

Osnovne definicije i ...

Industrijska robotika

Sl. 2.14. Fotografija paralelnog robota

Promenom rastojanja izmeu odgovarajuih zglobova na baznoj i radnoj platformi menja se


poloaj i orijentacija radne platforme na koju se postavlja hvataljka ili alat koji robot nosi.
Promena rastojanja izmeu zglobova na baznoj i radnoj platformi se moe realizovati ili
segmentima promenljive duine (teleskopski segmenti sa translatornim zglobovima) ili kao
dvosegmentnim elementima sa rotacionim zglobovima kao to je prikazano na Sl. 2.14.
Roboti ove konfiguracije se odlikuju izuzetnom agilnou (brzinom kretanja pri prelasku iz
jednog poloaja u drugi), velikom krutou dranja poloaja i relativno malom masom u
odnosu na nosivost obzirom da svaki segment (ruka) nosi samo jednu treinu optereenja za
razliku od robota ripa kinematskog lanca gde svaki segment trpi celokupno optereenje.
U ovoj knjizi se roboti ovakve konfiguracije nee detaljnije izuavati.

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

John Iovine, PIC Robotics, McGraw-Hill Companies, Inc., 2004


John M. Holland, Designing Autonomous Mobile Robots, Elsevier, Inc., 2004
Jorge Angeles, Fundamentals of Robotic Mechanical Systems, Springer-Verlag, New York, Inc., 2003

19

Industrijska robotika

Osnovne definicije i ...

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

KINEMATSKI MODEL ROBOTA I:


POLOAJ I ORIJENTACIJA
ROBOTA U PROSTORU

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.

3.2 KOORDINATNI SISTEMI I NJIHOVE TRANSFORMACIJE


Neka su dva desna koordinatna sistema Oo-xoyozo i O1-x1y1z1 spojeni koordinatnim poecima (Sl. 3.1.) ali neka im se ose ne poklapaju. Sistem Oo-xoyozo emo smatrati nepokretnim. Neka su ortovi koordinatnih sistema Oo-xoyozo i O1-x1y1z1 dati sa {i0 , j0 , k0 } i

{i1 , j1 , k1} , respektivno. Uoimo li zatim taku P, vektor p od koordinatnog poetka do


take P, moemo izraziti u odnosu na bilo koji od dva posmatrana koordinatna sistema.

Vektor p izraen u odnosu na nepokretni (bazni) koordinatni sistem Oo-xoyozo je dat sa:

po pox io poy jo poz ko


(3.1)
dok izraen u odnosu na koordinatni sistem O1-x1y1z1 postaje:

p1 p1x i1 p1 y j1 p1z k1
(3.2)

Bez obzira u kom koordinatnom sistemu je izraen vektor p , re je o reprezentacijama


istog vektora pa za komponentu npr. u x pravcu moemo pisati
21

Industrijska robotika

Kinematika: poloaj robota

Sl. 3.1. Elementarne transformacije koordinatnih sistema


pox p0 i0 p1 i0



pox p1x i1 i0 p1 y j1 i0 p1z k1 i0

Sline relacije se mogu uspostaviti i za komponente u preostala dva pravca, y i z





poy p1x i1 j0 p1 y j1 j0 p1z k11 j0
poz




p1x i1 k0 p1 y j1 k0 p1z k1 k0

Sva tri izraza (3.3-3.5) moemo napisati u kompaktnoj formi

p0 R01 p1

(3.3)

(3.4)
(3.5)

(3.6)

1
0

gde je R definie relativno ugaono odstupanje koordinatnih sistema Oo-xoyozo i O1-x1y1z1



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

Kinematika: poloaj robota

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)

Matrice za koje vai (3.10) se nazivaju ortogonalnim. Vektori kolone u


su jedinine
duine i meusobno su ortogonalni. U sluaju desnog koordinatnog sistema determinanta
matrice R01 ima vrednost +1. Ortogonalne matrice ija detereminanta ima vrednost 1
nazivamo matricama rotacije. Prema tome, moemo da zakljuimo da su matrice rotacije R
ortogonalne.
R01

3.2.1 Elementarne rotacije


Razmotrimo rotacije koordinatnog sistema Oo-xoyozo oko njegovih koordinatnih osa.
Pozitivnim smerom rotacije smatramo rotaciju u pravcu kazaljke na asovniku gledajui iz
koordinatnog poetka u pravcu ose.
Razmotrimo, najpre, rotaciju koordinatnog sistema oko z ose. Posle rotacije (Sl. 3.2) za
ugao koordinatni sistem Oo-xoyozo se premeta u novi poloaj obeleen sa O1-x1y1z1.

Sl. 3.2. Rotacija koordinatnog sistema oko z ose



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

Kinematika: poloaj robota


Rz ,

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

Sl. 3.3. Rotacija koordinatnog sistema oko y ose

R y ,

C 0 S

0
1 0
S 0 C

(3.13)

Za rotaciju koordinatnog sistema oko x ose (Sl. 3.4) sledi

Sl. 3.4. Rotacija koordinatnog sistema oko x ose

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

Kinematika: poloaj robota

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

Sl. 3.5. Transformacija koordinatnog sistema u Primeru 3.1.

Ve je ranije reeno da kolone u matrici rotacije (3.7) predstavljaju projekcije ortova


koordinatnog sistema O1-x1y1z1 na sistem Oo-xoyozo. Prema tome
2 2
2 2
0



i1 0 j1 0 k1 1
,
,
,

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.

3.2.2 Slaganje rotacija


Pretpostavimo da se koordinatni poeci sistema Oo-xoyozo, O1-x1y1z1 i O2-x2y2z2. poklapaju
ali da im se koordinatne ose ne poklapaju, tj. da su sistemi rotirani jedan u odnosu na drugi.
Matrica R01 predstavlja matricu rotacije izmeu koordinatnih sistema Oo-xoyozo, i O1-x1y1z1,
matrica R12 matricu rotacije izme O1-x1y1z1, i O2-x2y2z2 a matrica R02 predstavlja matricu
rotacije izmeu koordinatnih sistema Oo-xoyozo, i O2-x2y2z2. Uoimo li ponovo taku P (kao
na Sl. 3.1) njene koordinate moemo izraziti na sledei nain

p0 R01 p1
(3.15)

25

Industrijska robotika

Kinematika: poloaj robota

p0 R02 p2

(3.16)

p1 R12 p2

(3.17)

Ukoliko (3.17) smenimo u (3.15) sledi

p0 R01 R12 p2

(3.18)

odakle uporeivanjem izraza (3.16) i (3.18) sledi


R02 R01 R12

(3.19)
Izraz (3.19) opisuje transformaciju koordinata vektora pri vie sukcesivnih rotacija to se

naziva slaganjem rotacija. Ako su nam poznate koordinate vektora p u odnosu na

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

vektor p izraen u odnosu na koordinatni sistem O0-x0y0z0.

Izraz (3.18) se moe interpretirati i na drugi nain. Pretpostavimo sada da se u poetnom


trenutku sva tri koordinatna sistema poklapaju. Zarotirajmo zajedno koordinatne sisteme
O1-x1y1z1, i O2-x2y2z2 u odnosu na sistem Oo-xoyozo za matricu rotacije R01 , a zatim samo

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

Kinematika: poloaj robota

Industrijska robotika

svake od rotacija je prikazan na Sl. 3.6.a.


a)
y

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

Sl. 3.6. Uzastopne rotacije tela

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

Kinematika: poloaj robota

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.

Sl. 3.8. Slaganje rotacija oko osa fiksnog koordinatnog sistema

Prema tome, moemo da zakljuimo da za slaganje rotacija vai sledee pravilo:


R02 R01 R12 ako se rotacija vri oko osa trenutnog koordinatnog sistema.

R02 R12 R01 ako se rotacija vri oko osa nepokretnog koordinatnog sistema.

Napomenimo da je pri reavanju zadataka na ovu injenicu potrebno posebno obratiti


panju.

3.2.3 Rotacija oko proizvoljne ose


U dosadanjim primerima smo razmatrali rotacije koordinatnih sistema oko njihovih osa.
Meutim, postavlja se pitanje kako pronai matricu rotacije ukoliko je rotacija izvrena za

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

poloaj. Da bi realizovali predloeni nain i vektor t poklopili sa z osom treba ga najpre


rotirati za ugao oko z0 ose, a zatim za ugao oko ose y0 nepokretnog koordinatnog

sistema. Zatim treba izvriti traenu rotaciju za ugao , i na kraju vratiti vektor t u
prvobitni poloaj. Prema tome, sledi
28

Kinematika: poloaj robota

Industrijska robotika

Sl. 3.9. Rotacija oko proizvoljne ose

Rt , Rz , Ry , Rz , Ry , Rz ,

(3.24)

Sa Sl. 3.9 je oigledno


sin

ty
t x2 t 2y

sin t x2 t 2y ,

cos

tx

t x2 t y2

cos t z

(3.25)

pa se, mnoenjem matrica iz (3.24) dobija traena matrica rotacije u obliku:

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)

3.2.4 Ojlerovi uglovi


Jedan od naina za definisanje eljene orijentacije koordinatnog sistema je putem zadavanja
tri uzastopne rotacije izvedene na tano odreeni nain. Ovo omoguavaju Ojlerovi uglovi
jer predstavljaju tri uzastopne rotacije ( , i ) izvedene po tano utvrenom redosledu.
Postoji vie naina definisanja Ojlerovih uglova, ali emo mi pomenuti samo dva koja se
najee sreu: ZYZ i ZYX.
I nain: ZYZ Ojlerovi uglovi
Prema ovom nainu definisanja Ojlerovih uglova, treba koordinatni sistem iz poetnog
poloaja zarotirati oko z0 ose za ugao , zatim oko novog poloaja ose y (osa y' na Sl.
3.10.) izvriti rotaciju za ugao , i na kraju, oko novog poloaja ose z (osa z'') za ugao .

29

Industrijska robotika

Kinematika: poloaj robota

Sl. 3.10.Transformacije koordinatnog sistema preko ZYZ Ojlerovih uglova

Primenom pravila o slaganju rotacija dobijamo:


R01 Rz , Ry , Rz ,

(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)

ime je matrica rotacije odreena.

II nain: ZYX Ojlerovi uglovi


U ovom sluaju, krajnju orijentaciju koordinatnog sistema dobijamo kada koordinatni
sistem iz poetnog poloaja zarotiramo oko ose z0 za ugao , zatim oko novog poloaja
ose y izvrimo rotaciju za ugao , i na kraju, oko novog poloaja ose x izvrimo rotaciju za
ugao .

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)

ime je i za ovaj sluaj definisana odgovarajua matrica rotacije.

3.2.5 Rotacija definisana uglovima skretanja, valjanja i propinjanja


Matricu rotacije moemo definisati nizom uzastopnih rotacija oko osa nepokretnog
koordinatnog sistema po odreenom redosledu (Sl. 3.11.): rotacija oko z0 ose za ugao ,
rotacija oko x0 ose za ugao i rotacija oko y0 ose za ugao . Po analogiji sa kretanjem
vozila (broda, aviona) ugao nazivamo uglom skretanja (definie skretanje sa kursa),
30

Kinematika: poloaj robota

Industrijska robotika

Sl. 3.11. Uglovi skretanja, valjanja i propinjanja

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 ,

ili u konanoj formi

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)

3.2.6 Odreivanje ose i ugla rotacije ako je poznata matrica rotacije

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

onda je ekvivalentni ugao, obeleimo ga sa , dat sa

r13
r23
r33

r r r 1
arccos 11 22 33

(3.31)

(3.32)

a projekcije orta ose t su date sa


r32 r23
1

t
r13 r31
2 sin
r21 r12

31

(3.33)

Industrijska robotika

Kinematika: poloaj robota

3.2.7 Homogene transformacije


Do sada smo razmatrali transformaciju koordinata samo usled rotacije dva koordinatna sistema, meutim, pored rotacije javlja se potreba i za translacijom. Na Sl. 3.12. su prikazana

dva paralelna koordinatna sistema Oo-xoyozo i O1-x1y1z1. Vektorom d 01 ,

Sl. 3.12. Translacija koordinatnog sistema

izraenim u odnosu na koordinatni sistem Oo-xoyozo, je definisana translacija koordinatnog


poetka sistema O1-x1y1z1 u odnosu na koordinatni poetak sistema Oo-xoyozo. Obzirom da

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

p0 R01 R12 p2 R01 d12 d 01

(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

Kinematika: poloaj robota

Industrijska robotika
R02 R01 R12

(3.39)

d 02 d01 R01 d12

(3.40)

se, kao i ranije, moe izraziti proizvodom dve uzastopne matrice

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:

R01 d10 R12 d12 R01 R12 R01 d12 d10

(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

R d r21 r22 r23


H

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)

se naziva matricom homogene transformacije i obeleiemo je sa H. Matrica R definie

rotaciju izmeu dva posmatrana koordinatna sistema, a vektor d translaciju izmeu


njihovih koordinatnih poetaka. Vektor iz poslednje vrste matrice H, vektor [0,0,0] se
naziva vektorom perspektive, a lan H 4, 4 faktorom skaliranja. U svim primerima koji su
od interesa za nas, vektor perspektive i faktor skaliranja e biti konstantni i imae vrednosti
kao u (3.42).
Prema tome, pomou homogenih transformacija se u okviru iste matrice objedinjavaju
transformacije koordinata nastale usled rotacije i translacije izmeu dva koordinatna
sistema. Ukupna transformacija nastala kao rezultat niza sukcesivnih transformacija se, kao
i u sluaju rotacija, dobija uzastopnim mnoenjem matrica odgovarajuih homogenih
transformacija redosledom kojim su se dogaale. Pravila za slaganje rotacija i redosled
transformacija, koje su izvedene ranije za rotacije, u potpunosti vae i za homogene
transformacije.
Po analogiji sa rotacijama, homogene transformacije koje odgovaraju samo jednom stepenu
slobode kretanja u odnosu na koordinatne ose nazivamo osnovnim homogenim
transformacijama. Prema tome, osnovne homogene transformacije kojima se opisuje samo
33

Industrijska robotika

Kinematika: poloaj robota

translatorno kretanje su:


1
0

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.

3.3 KINEMATSKI MODEL ROBOTSKOG MANIPULATORA


Matematiki aparat koji smo razvili u prethodnim odeljcima za odreivanje transformacija
koordinatnih sistema u prostoru je veoma pogodan za opis kretanja robota. Naime, robot se
moe predstaviti nizom krutih segmenata spojenih zglobovima koji nazivamo kinematskim
lancem (Sl. 2.2). Kretanje u jednom zglobu pokree odgovarajui segment, a time i sve
ostale segmente koji se nalaze dalje, prema vrhu kinematskog lanca ukljuujui i
poslednji segment - hvataljku4 iji poloaj i orijentaciju, esto i tokom kretanja, a sasvim
sigurno u odreenim takama kada je to od interesa za realizaciju zadatka, moramo
ostvariti. Neka je svakom od segmenata robota ukljuujui i hvataljku pridruen
koordinatni sistem koji je u odnosu na svoj segment nepokretan. Ovi koordinatni sistemi
se nazivaju lokalnim za razliku od nepokretnog sistema u odnosu na koji se kretanje
lokalnih koordinatnih sistema izraava, a koji se jo naziva spoljanjim (globalnim ili
fiksnim, ...). Poznavanjem tanog poloaja koordinatnih sistema svakog od segmenata, kao
i vrednosti unutranjih koordinata u zglobovima mogue je jednoznano odrediti poloaj i
orijentaciju hvataljke (Sl. 3.13). Ovaj zadatak je poznat kao direktni kinematski problem.
Obrnuti zadatak, kako odrediti unutranje koordinate u svakom od zglobova tako da se
hvataljka nae u zahtevanoj poziciji sa zahtevanom orijentacijom, je poznat kao inverzni

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

Kinematika: poloaj robota

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

definisanja poloaja koordinatnih sistema primenjen u algoritmu za modeliranje dinamike


manipulacionih robota je predloen od strane M. Vukobratovia ali je tokom vremena potisnut DH notacijom.

3.3.1 Denavit - Hartenbergova notacija


Uvoenje DH notacije emo zapoeti razmatranjem osnovnih transformacija izmeu dva
koordinatna sistema: i-1-vog i i-tog sa koordinatnim poecima Oi-1 i Oi (Sl. 3.14) iji
meusobni poloaj zadovoljava sledee uslove:
- osa xi je normalna na osu zi-1;
- osa xi see osu zi-1.
Uoimo da je izmeu ova dva koordinatna sistema umetnut pomoni koordinatni sistem sa
osama xP, yP i zP iji koordinatni poetak OP je definisan presekom osa zi-1 i xi.
Razmotrimo transformacije koje je potrebno primeniti da bi se ova dva koordinatna sistema
poklopila. Ukupnu transformaciju emo podeliti u dva koraka: najpre emo i-1-vi koordinatni sistem pomeriti tako da se poklopi sa pomonim, a zatim emo ga pomeriti tako da se
poklopi sa i-tim. Sa slike se vidi da je za poklapanje koordinatnih poetaka Oi-1 i OP najpre
potrebno koordinatni sistem i-1 zarotirati za ugao oko ose zi-1 a zatim ga translatorno pomeriti za veliinu d du iste ose. (Primetite da se ose zi-1 i zP poklapaju). Da bi se pomoni
koordinatni sistem poklopio sa i-tim, potrebno ga je translatorno pomeriti du ose xP za
veliinu a, a zatim zarotirati, isto oko ose xP, za ugao .

35

Industrijska robotika

Kinematika: poloaj robota

Sl. 3.14. Meusobni odnos koordinatnih sistema pri DH konvenciji

Prema tome, da bi se i-1-vi koordinatni sistem doveo do poklapanja sa i-tim potrebno je


izvriti sledee transformacije
H ii1 Rot z , Tranz , d Tranx , a Rot x ,

(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

Kinematika: poloaj robota

Industrijska robotika

Da bi se meusobni poloaj dva koordinatna sistema koji pripadaju susednim segmentima


robotskog mehanizma, u optem sluaju, mogao opisati transformacijom (3.48) potrebno je
da se obezbedi da koordinatni sistemi koje pridruujemo pojedinanim segmentima
mehanizma zadovoljavaju oba navedena uslova ( xi zi 1 i xi see zi 1 ).
Stoga razmotrimo dva susedna segmenta robota, i-1-vi i i-ti, (na Sl. 3.15. je pretpostavljeno
da su segmenti spojeni rotacionim zglobovima sa samo jednim stepenom slobode) gde su
ose obrtanja zglobova obeleene sa zi, zi-1 i zi-2, i da se, u optem sluaju, mimoilaze u
prostoru. Pretpostavimo, dalje, da je koordinatni sistem sa poetkom Oi-1 ve postavljen.
Tada je mogue odrediti zajedniku normalu izmeu osa zi i zi-1 kao zajedniku normalu
izmeu dve mimoilazne prave (na Sl. 3.15. je ova zajednika normala obeleena sa ai ).

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

Sl. 3.15. DH parametri za rotacioni zglob

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

Kinematika: poloaj robota

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.

Sl. 3.16 DH parametri za linearni (translatorni) zglob

Kada se za dati robot izvri pridruivanje koordinatnih sistema pojedinim segmentima i


odrede DH parametri tada su homogene matrice transformacije funkcije samo unutranjih
koordinata qi u zglobovima.
Napomenimo da slobodno telo u prostoru ima est stepeni slobode, dok se relativni poloaj
dva koordinatna sistema prema DH notaciji opisuje sa samo sa etiri parametra. To je
mogue zbog toga to je ovde poloaj koordinatnih sistema ogranien sa dva dodatna
uslova ( xi zi 1 i xi see zi 1 ) ime se oduzimaju dva stepena slobode.

DH parametrima se moe pridruiti odreeno fiziko znaenje. Tako, parametar ai


reprezentuje duinu segmanta, i ugao izmeu osa zglobova istog segmenta ("uvrnutost"
segmenta, engl. twist), parametar di predstavlja smaknutost (engl. offset) koordinatnih
poetaka Oi-1 i Oi (u sluaju pravilnih geometrijskih oblika segmenata di predstavlja
smaknutost centara zglobova) dok parametar i predstavlja ugao meusobnog zakretanja
i-1-vog i i-tog koordinatnog sistema to je u sluaju linearnog zgloba posledica savijenosti
segmenta.
U sluaju rotacionog zgloba ai, di, i i predstavljaju fiksne parametre mehanizma dok
promenljiva i predstavlja unutranju koordinatu qi (ugao zakretanja izmeu dva

segmenta). U sluaju translatornog zgloba parametri ai , i i i su fiksni parametri


mehanizma, a promenljiva d i predstavlja unutranju koordinatu qi (pomeraj u zglobu).

Takoe je vano da se napomene da pri proceduri odreivanja poloaja koordinatnih


sistema koji pripadaju pojedinim segmentima ni u jednom trenutku nije voeno rauna o
stvarnom obliku segmenata i stvarnom poloaju zglobova. Naime, kinematski model robota
predstavljen DH notacijom odgovara svim stvarnim mehanikim konfiguracijama sa
datim rasporedom i tipom zglobova tj. odgovara svim konfiguracijama kod kojih se sve ose
zglobova nalaze na istim mestima. Oblik samih segmenata ne utie na DH parametre to
predstavlja prednost DH notacije.
38

Kinematika: poloaj robota

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.

Sl. 3.17. Postavljanje koordinatnog sistema hvataljke

On se moe izabrati proizvoljno, ali treba voditi rauna da se DH parametri maksimalno


uproste. Zbog toga se preporuuje da se On bira simetrino izmeu prstiju hvataljke, jedino
39

Industrijska robotika

Kinematika: poloaj robota

treba da se obezbedi da je osa xn upravna na zn-1.


Ukoliko je poslednji zglob rotacioni treba osu zn izabrati tako da je paralelna zn-1Postupak
za formiranje kinematskog modela robota proizvoljne mehanike konfiguracije se moe
sistematizovati u nekoliko sledeih koraka:
1. Locirati i oznaiti sve ose zglobova od z0 do zn-1.
2. Postaviti bazni koordinatni sistem bilo gde na z0 osi.
Napomena: korake 35 ponavljati za i 1 do i n 1
3. Locirati koordinatni poetak Oi na mestu gde zajednika normala na ose
zi i zi-1 preseca osu zi. Ako se zi preseca sa zi-1 onda Oi postaviti u taku
preseka, a ako su ose zi i zi-1 paralelne onda Oi postaviti u zglob zi.
4. Postaviti osu xi du zajednike normale izmeu zi-1 i zi kroz taku Oi ili u
pravcu koji je normalan na ravan odreenu osama zi i zi-1 ako se ove dve
ose seku.
5. Postaviti yi tako da se formira desni koordinatni sistem.
6. Postaviti koordinatni sistem hvataljke na pogodan nain.
7.

Formirati tablicu parametara ai , d i , i , i .

Formirati homogenu matricu transformacije zamenjujui vrednosti


parametara iz tablice, formirati ukupnu matricu transformacije mnoei
redom sve matrice od poetne do krajnje.
Odavde se moe zakljuiti sledee:
- koordinatni sistemi se postavljaju u zglobove robota,
- na svakom segmentu se nalaze po dva koordinatna sistema,
- prvi koordinani sistem (raunato od poetka (baze) kinematskog lanca pripada
prethodnom segmentu, drugi koordinatni sistem je vezan za dotini segment i
njegov poloaj se menja zajedno sa promenom poloaja dotinog segmenta.
Na opisani nain je mogue u potpunosti definisati poloaje svih koordinatnih sistema i
oformiti ukupnu matricu transformacije koja povezuje poziciju i orijentaciju krajnjeg
koordinatnog sistema kinematskog lanca (koordinatnog sistema hvataljke) izraenu u
odnosu na bazni (nepokretni) koordinatni sistem
8.

3.3.2 Direktni kinematski problem


Pod direktnim kinematskim problemom podrazumevamo odreivanje pozicije i orijentacije
koordinatnog sistema poslednjeg segmenta kinematskog lanca u odnosu na nepokretni
(bazni) koordinatni sistem ukoliko su poznate vrednosti pomeraja u zglobovima (ugao
zakretanja za rotacioni i izduenje za translatorni zglob). Ilustrovaemo ovo na nekoliko
primera.
Primer 3.2:
Odrediti tablicu DH parametara i matrice homogenih transformacija za ravanski
trosegmentni robotski manipulator prikazan na Sl. 3.18.

40

Kinematika: poloaj robota

Industrijska robotika

a) bez ucrtanih koordinatnih sistema

b) sa ucrtanim koordinatnim sistemima

Sl. 3.18. Trosegmentna ravanska konfiguracija

Tablica Denavit - Hartenbergovih parametara je data u sledeoj tabeli


Tabela 1. Denavit - Hartenbergovi parametri
Segment

ai

di

l1

q1

l2

q3

l3

q3

Matrice pojedinanih transformacija su date sa:


C1 S1 0 l1C1
C 2 S 2

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

gde je S123 sin (q1 q2 q3 ) , C123 cos (q1 q2 q3 ) .

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

Kinematika: poloaj robota

Tabela 2. Denavit - Hartenbergovi parametri


Segment

ai

di

/2

q1

a2

q2

a3

q3

Matrice pojedinanih homogenih transformacija su date sa


C1
S1
H 01
0

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)

Sl. 3.19. Antropomorfna minimalna konfiguracija

dok je ukupna transformaciona matrica data sa


C1 C 23 C1 S 23 S1 C1 a3 C 23 a2 C 2

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

gde je S 23 sin (q2 q3 ) , C 23 cos (q2 q3 ) .

(3.50)

Na taj nain je odreena ukupna transformacija krajnjeg koordinatnog sistema O3 u odnosu


na bazni O0 u funkciji koordinata u zglobovima. Vektor pozicije koordinatnog sistema O3 je
definisan etvrtom kolonom u matrici (3.50) i njegove koordinate direktno odgovaraju
koordinatama koordinatnog poetka O3 u odnosu na O0. Najee se direktni kinematski
problem ovim smatra reenim. Meutim, obzirom da nam matrica rotacije ne daje reenje u
obliku neke od uobiajenih reprezentacija orijentacije koordinatnih sistema ponekad je
42

Kinematika: poloaj robota

Industrijska robotika

pogodno odrediti orijentaciju krajnjeg koordinatnog sistema u eljenoj formi.


Pretpostavimo da elimo da orijentaciju koordinatnog sistema O3 definisanu matricom
rotacije iz (3.50) predstavimo ZYX Ojlerovim uglovima ija je matrica rotacije data sa
(3.29). Drugim reima, elimo da odredimo Ojlerove uglove , i tako da ukupna
rotacija odgovara rotaciji koja je definisana matricom rotacije (3.29).
Matrica rotacije definisana u okviru homogene transformacija (3.50) je data sa
C1 C 23 C1 S 23 S1 r11
R S1 C 23 S1 S 23 C1 r21
S 23
C 23
0 r31
3
0

Matrica rotacije izraena ZYX Ojlerovim uglovima je

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)

i od jednaine (3.60) oduzmemo jednainu (3.61), dobijamo


43

Industrijska robotika

Kinematika: poloaj robota


r11 S r21 C 0

odakle, konano, sledi

r
S
tg 21
C
r11
arctg

r21
r11

Zatim, pomnoimo (3.58) sa C , a (3.59) S , pa dobijamo


r32 C C C S

(3.62)

r33 S S C C

(3.63)

Ako zatim od (3.62) oduzmemo (3.63 ) sledi


pa konano dobijamo

r32 C r33 S 0

r
S
tg 32
C
r33
arctg

r32
r33

Da bi odredili ugao pomnoimo (3.51) sa C , a (3.54) sa S


r11 C C / C

r21 S C / S

odakle sledi
r11 C C 2 C

(3.64)

r21 S S 2 C

(3.65)

Ako zatim (3.64) saberemo sa (3.65) sledi:

r11 C r21 S C 2 S 2 C

Ako jednainu (3.57) pomnoimo sa C i podelimo sa S dobijamo

r31

C
C
S

(3.66)

(3.67)

Ako desnu stranu u (3.66) zamenimo sa (3.67) dobijamo

r11 C r21 S r31

C
S

44

Kinematika: poloaj robota

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

Time je direktan kinematski problem u potpunosti reen


Primer 3.4:
Odrediti tablicu DH parametara i matrice homogenih transformacija za sferni zglob ija
kinematska ema je prikazana na Sl. 3.19.

a) kinematska ema zgloba

b) koordinatni sistemi zgloba hvataljke


Sl. 3. 20. Sferni (Ojlerov) zglob

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

Pojedinane matrice transformacija su:

45

Industrijska robotika
C4
4
S
H 34
0

Kinematika: poloaj robota


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

dok je ukupna matrica transformacije data sa


H 36 H 34 H 45 H 56

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

b) Koordinatni sistemi zgloba hvataljke


Sl. 3.21. Industrijski manipulacioni robot PUMA

46

Kinematika: poloaj robota

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

Matrice pojedinanih homogenih transformacija su date sa


C1 S1
S
1 C1
H 01
0
0

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

Kinematika: poloaj robota

Na isti nain moemo odrediti matricu transformacije H 36


C 4C 5C 6
C 4C 5S 6 S 4C 6 C 4S 5 a3

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

Ukupna transformacija izmeu prvog i treeg koordinatnog sistema je


C 23 S 23
0
0
H13 H12 H 23
S 23 C 23

0
0

a2 C 2

1
d3
0 a2 S 2

0
1

(3.72)

gde su iskoriene poznate relacije iz trigonometrije

C 23 C 2C 3 S 2 S 3

(3.73)

S 23 S 2C 3 C 2 S 3

pa za ukupnu transformaciju izmeu prvog i estog koordinatnog sistema dobijamo


r11

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)

Kinematika: poloaj robota

Industrijska robotika
p y d3
p z a3 S 23 a2 S 2 d 4C 23

I konano, dodajui transformaciju H 01 izmeu baznog i prvog koordinatnog sistema ve


staunatoj transformaciji H16 , za ukupnu transformaciju H 06 dobijamo
r11
r
21
H 06 H 01 H16
r
31

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)

r23 S1(C 23C 4 S 5 S 23C 5) C1S 4S 5

r33 S 23C 4 S 5 C 23C 5


p x C1(a2 C 2 a3C 23 d 4 S 23) d 3 S1

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

Jednaine (3.77) konstituiu kimenatiki model robota PUMA i predstavljaju osnovu za


kinematsku analizu ovog robotskog manipulatora.

3.3.3 Inverzni kinematski problem


Inverzni kinematski problem je zadatak odreivanja koordinata u zglobovima robota
(uglova u rotacionim i izduenja (pomeraja) u translatornim, tj. q1, q2, ..., q6) koje
obezbeuju da hvataljka robota ostvari unapred zahtevanu poziciju i orijentaciju. Ovaj
problem je znatno sloeniji od direktnog kinematskog problema i ne daje uvek jednoznano
49

Industrijska robotika

Kinematika: poloaj robota

reenje. Imajui na umu da se homogena matrica ukupne transformacije sastoji od matrice


rotacije i vektora translacije proizilazi da je potrebno simultano reiti skup od 12
trigonometrijskih nelinearnih jednaina. Prikazaemo dva osnovna naina reavanja ovog
problema: analitiki i numeriki. Analitiki dobijeno reenje ima sve prednosti koje svako
analitiko reenje ima (mogunost analize izraza kojim je reenje dato i uoavanje
specijalnih sluajeva (kod nas su najinteresantnije singularne konfiguracije) kompaktan
izraz koji zahteva najmanji broj raunskih operacija pri apliciranju na raunar, ...), ali je put
do reenja veoma sloen. Numeriko reenje dobijamo korienjem raunara i izbegavamo
zamorno raunanje, ali kao rezultat dobijamo samo broj i ne moemo ga koristiti kao
reenje u analitikom obliku.
Sa tri naredna primera emo ilustrovati analitiko reavanje inverznog kinematskog
problema.
Primer 3.6.
Ilustrovaemo najpre, reavanje inverznog kinematskog zadatka na jednostavnom primeru
trosegmentnog mehanizma prikazanog na Sl. 3.18. Pretpostavimo da se trai da kraj drugog
segmenta (ustvari, koordinatni poetak sistema O3) zauzima poziciju definisanu
koordinatama (x, y) i da je njegova orijentacija zadata uglom gde oigledno vai
q1 q2 q3 . Zadatak je da se odrede uglovi q1, q2 i q3 koji to obezbeuju.
Jasno je da je preduslov za reavanje ovog zadatka postojanje kinematskog modela.
Podsetimo se da je to ve uraeno u Primeru 3.2. Izraz za konanu transformaciju od
baznog do krajnjeg koordinatnog sistema koja je izvedena u Primeru 3.2 obzirom na
postavljeni zadatak moemo napisati u neto izmenjenoj formi

pri emu vai

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)

Ako kvadriramo i saberemo jednaine (3.81) i (3.82) dobijamo


x 2 y 2 l12 l22 2l1l2 C 2

odakle sledi
C2

x 2 y 2 l12 l22
.
2l1l2

50

(3.83)

Kinematika: poloaj robota

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)

Poto je ugao q2 odreen preimo na odreivanje ugla q1 . Napiimo izraze za x i y u


formi
5

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)

Ako usvojimo da je r k12 k22 i arctg k12 k22 , sledi


k1 r cos
k 2 r sin

(3.86)

Sada se izraxi za x i y mogu napisati kao


x r cos ( ) cos (q1 ) sin ( ) sin (q1 )

y r cos ( ) sin (q1 ) sin ( ) cos (q1 )

(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)

Primetimo da promena znaka q1 utie na k 2 to utie na vrednost q1 . Na kraju se

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

Kinematika: poloaj robota

vrednost za q 3 moe odrediti iz


q 3 q 2 q1

(3.89)

Time je zadatak potpuno reen.


Primer 3.7.
Sledei primer kojim emo ilustrovati analitiko reavanje inverznog kinematskog zadatka
se odnosi na trosegmentnu antropomorfnu konfiguraciju prikazanu na Sl. 3.19. Potrebno je
odrediti uglove u zglobovima q1 , q 2 , q 3 ako je taka koju treba da dosegne vrh robota data
koordinatama (x, y, z). Obzirom da robot ima samo tri stepena slobode nije mogue
upravljati i orijentacijom poslednjeg koordinatnog sistema, ve se moe obezbediti samo
zahtevana pozicija pz x, y , z . Na osnovu vektora pozicije iz ukupne homogene
transformacije (3.50) moemo pisati
T

x C1 a3C 23 a2 C 2
y S1 a3C 23 a2 C 2
z a3 S 23 a2 S 2

Da bi odredili q 1 pomnoimo (3.90) sa S1 a (3.91) sa C1 na osnovu ega sledi

(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)

Ako (3.93) oduzmemo od (3.94) sledi


x S1 y C1 0

odakle dobijamo

q 1 arctg

y
k
x

Da bi odredili q3 pomnoimo (3.90) sa C1 , a (3.91) sa S1


x C1 C12 ( a3C 23 a2 C 2)

(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)

Ako (3.95) i (3.96) saberemo

pa zatim izraze (3.97) i (3.98) kvadriramo sledi:


52

Kinematika: poloaj robota

Industrijska robotika

x C1 2 x y C1 S1 y S1 a32 C 232 2 a2 a3 C 23 C 2 a22 C 22

(3.99)

z a S 23 2 a2 a3 S 23 S 2 a S 2

(3.100)

2
3

2
2

Kada jednaine (3.99) i (3.100) saberemo, dobijamo:

z 2 ( x C1 y C1) 2 ( S 232 C 232 ) a32 ( S 22 C 22 ) a22 2 a2 a3 (C 23 C 2 S 23 S 2)

odakle sledi
C3

x C1 y S1

z 2 a32 a22

2 a3 a2

(3.101)

Na osnovu poznate relacije iz trigonometrije sin 2 cos 2 1 moemo pisati


S 3 1 C 32

(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)

Ako jednainu (3.104) pomnoimo sa ( a3 S 3 ) a jednainu (3.105) sa ( a3C 3 a2 ) ,


obe jednaine saberemo, posle sreivanja sledi:
S2

(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

odakle odreujemo ugao q2 kao


q2 arctg

(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

Kinematika: poloaj robota

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)

Gornji izraz moemo, mnoenjem matricom H 10 q1 sleva, preurediti tako da se ugao


q1 pojavi samo sa leve strane sistema
1

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

Ako sraunamo H 10 q1 i zamenimo u gornji izraz dobijamo

(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)

Primetimo da je u Primeru 3.5 H 16 definisano jednainama (3.75). Izjednaavanjem izraza


za elemente (2,4) sa obe strane jednaine (3.109) dobijamo
S1 px C1 p y d3

(3.110)

Ako u (3.110) zamenimo


px pHORIZ C
p y pHORIZ S

(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

Kinematika: poloaj robota

Industrijska robotika

onda za kosinus razlike istih uglova vai


d3
C ( q1 ) 1

pHORIZ

odakle sledi

d3

pHORIZ
q1 arc tg

2
,

d3
1

pHORIZ

(3.112)

pa se izraz za ugao q1 dobija u konanoj formi

p
d3
q1 arc tg x arc tg
p
2
p p 2 d 2
y
x
y
3

Primetimo da reenje za q1 nije jednoznano.

(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)

Kvadriranjem jednaina (3.110) i (3.114) i njihovim sabiranjem dobijamo


a3C 3 d 4 S 3 K

(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

Kao i za q1 i reenje za q3 ima dve mogue vrednosti.

Da bi odredili q 2 pomnoimo izraz (3.107) sleva sa H 03 q2

55

odakle sledi

(3.116)

Industrijska robotika

Kinematika: poloaj robota

C1C 23 S1C 23 S 23 a2 C 3 r11


C1S 23 S1S 23 C 23 a S 3 r
2

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)

Matrica H 36 je izvedena ranije u primeru 3.5. i data je izrazom (3.76) i (3.77).


Izjednaavanjem elemenata (1,4), kao i (2, 4) sa obe strane (3.117) sledi
C1C 23 px S1C 23 p y S 23 pz a2 C 3 a3

C1S 23 px S1S 23 p y C 23 pz a2 S 3 d 4

(3.118)

Reavajui obe jednaine simultano po S 23 i C 23 dobijamo


S 23

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

Obzirom da su imenioci jednaki i pozitivni, za zbir uglova q2 i q3 sledi

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)

Na osnovu izraza (3.119) za ugao q2 koji je dat sa


q2 (q2 q3 ) q3

(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)

Ukoliko je S 5 0 moemo odrediti ugao q4 prema

r13 S1 r23C1
q4 arc tg

r13C 2C 23 r23 S1C 23 r33 S 23

(3.122)

Za q5 0 robot se nalazi u singularnoj poziciji jer su ose zglobova 4 i 6 kolinearne pa za


isti ugaoni pomeraj uzrokuju isto pomeranje hvataljke. Prema tome, jedino moemo da
odredimo njihov zbir ili razliku. U tom sluaju je pogodno da se za q4 usvoji proizvoljna
vrednost (najee trenutna vrednost koju ugao q4 ima) a da se zatim q6 srauna. Kada se,
u kasnijoj proceduri, q6 odredi, moemo se vratiti i sraunati tanu vrednost ugla q4 .
56

Kinematika: poloaj robota

Industrijska robotika

Ostaje da jo odredimo ugao q5 . Ponovo transformiimo polaznu jednainu (3.107)


mnoei je sleva sa H 04 q4

tako da dobijamo
H 04 q4 H 06 H 45 H 56
1

(3.123)

gde je
H 04 q4

S1C 23C 4 C1S 4 S 23C 4 a2 C 3C 4 d3 S 4 a3C 4


C1C 23C 4 S1S 4
C1C 23S 4 S1C 4 S1C 23S 4 C1C 4 S 23S 4
a2 C 3S 4 d3C 4 a3 S 4

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)

gde su S 5 i C 5 dati izrazima (3.124).


Istim nainom, mnoei polaznu jednainu (3.107) sa T05 q5 , a zatim izjednaavajui
elemente (1,1) sa obe strane, ugao q6 se dobija iz
1

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

C 6 r11 [ C1C 23C 4 S1S 4 C 5 C1S 23S 5]

r21 [ S1C 23C 4 C1S 4 C 5 S1S 23S 5] r31 S 23C 4C 5 C 23S 5

(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

Kinematika: poloaj robota

3.3.4 Rasprezanje ukupne konfiguracije robota na minimalnu konfiguraciju i zglob


hvataljke
U predthodnom odeljku smo ilustrovali reavanje zadatka inverzne kinematike analitikim
nainom, i kao to smo videli, u sluaju robota koji ima est stepeni slobode taj zadatak je
izuzetno sloen. Stoga se pribegava pojednostavljenu problema delei ga na dva
jednostavnija podzadatka. Podsetimo se da je osobina sfernog zgloba koji se postavlja na
vrh minimalne konfiguracije (postala je praksa da se ovakvi zglobovi koriste kod
industrijskih robota) da se sve tri ose zglobova (z4, z5 i z6) seku u jednoj taki. Obeleimo tu
taku, na primer, sa OZGL i nazovimo je centrom zgloba. Bez obzira na vrednosti uglova q4,
q5 i q6 poloaj take OZGL se nee promeniti to znai da je njena pozicija funkcija samo q1,
q2 i q3. Osim toga, zadavanjem vrednosti uglova q4, q5 i q6 moemo definisati orijentaciju
hvataljke. Na osnovu toga, ukupni zadatak inverzne kinematike moemo da podelimo na
zadatak odreivanja inverzne pozicije i inverzne orijentacije.

Neka je orijentacija hvataljke zadata matricom R a pozicija vektorom p H


R06 q1 ,..., q6 R

p06 q1 ,..., q6 pH

(3.128)

Rastojanje koordinatnog sistema hvataljke od take OZGL je konstantno i iznosi d 6 (videti


Primer 3.4). Orijentacija hvataljke je odreena pravcem ose z6 koordinatnog sistema O6.
Treba uoiti da vektor od take OZGL do O6 OH ima pravac ose z6 a intenzitet d 6 . Stoga
sevektor od take OZGL do O6 moe izraziti kao d 6 R k d 6 R 0 0 1 gde 0 0 1
T

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)

ili u razvijenoj formi


p ZGLx pHx d 6 r13

p ZGLy pHy d 6 r23


p

ZGLz pHz d 6 r33

Iz ovog sistema od tri jednaine se mogu odrediti vrednosti koordinata zglobova q1, q2 i q3
58

Kinematika: poloaj robota

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)

R36 R03 R R03 R


1

(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

korak 2: koristei vrednosti za q1, q2 i q3 i odreene u prethodnom koraku


sraunati R03 .
korak 3: nai, q4, q5 i q6 koji odgovaraju martici rotacije

R36 R03 R R03 R


1

ime se sloenost problema znatno umanjuje.

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

OZGL iji poloaj se odreuje iz izraza p ZGL p H d 6 Rk .

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

a matrica rotacije definisana ZYZ Ojlerovim uglovima sa


C C C S S C C S S C C S
R01 S C C C S S C S C C S S
S C
S S
C

tada se na osnovu poklapanja Ojlerovih uglova sa q4, q5 i q6 moe pisati


59

Industrijska robotika
r11

r21
r31

r12
r22
r32

Kinematika: poloaj robota


r13 C 4C 5C 66 S 4 S 6 C 4C 5S 6 S 4C 6 C 4 S 5

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

Iz jednakosti elemenata r13 i r23 sa obe strane izraza dobijamo


r
q4 arc tg 23
r13 .

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

Izborom pozitivnog znaka za lan

r132 r232 ograniavamo oblast dopustivih vrednosti za

q5 na 0 , i uz tu pretpostavku, kao i korienjem izraza za elemenate r31 i r32 dobijamo

Prema tome, traeno reenje je

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

Meutim, ukoliko za oblast reenja za q5 izaberemo ,0 , sledi


r
q4 arc tg 23
r13

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

Kinematika: poloaj robota

Industrijska robotika

zbir ili razliku q4 i q6 . U stvari, ukoliko je q5 0 tada se rotacije q4 i q6 izvravaju oko


osa koje se poklapaju i daju isti doprinos orijentaciji hvataljke.

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

John Iovine, PIC Robotics, McGraw-Hill Companies, Inc., 2004


John M. Holland, Designing Autonomous Mobile Robots, Elsevier, Inc., 2004
Jorge Angeles, Fundamentals of Robotic Mechanical Systems, Springer-Verlag, New York, Inc., 2003
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
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

61

KINEMATSKI MODEL ROBOTA II:


DIFERENCIJALNA KINEMATIKA

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.

4.2 DIFERENCIJALNA KINEMATIKA


U realnom robotskom sistemu se informacije o trenutnim vrednostima unutranjih
koordinata u zglobova mehanizma uzimaju u diskretnim trenucima vremena koji su
definisani veliinom vremenskog intervala uzorkovanja (engl. sampling time). Stvarnu
brzinu kretanja zgloba je, prema tome, nemogue potpuno tano znati ve se ona moe
priblino odrediti (proceniti) kao kolinik pomeraja koji je odreen razlikom dva uzastopna
merenja i proteklog vremena. Ovako sraunata vrednost moe biti veoma bliska stvarnoj
vrednosti trenutne brzine. U sluaju da je vremenski interval na kome se vre merenja
konstantan, odreivanje trenutne brzine se svodi na odreivanje malih diferencijalnih
kretanja tokom intervala uzorkovanja. Stoga emo se u ovom odeljku pozabaviti nekim,
nama potrebnim, aspektima diferencijalne kinematike.

4.2.1 Infinitezimalne rotacije


Napiimo matricu rotacije oko x ose (3.14) za infinitezimalno mali ugao d x

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)

gde je, obzirom da se radi o malim uglovima, sin d x d x i cos d x 1 . Slino


(4.1) se moe pokazati i za infinitezimalne rotacije oko y i z osa, d y i d z . Mnoei
matrice infinitezimalnih rotacija za d x i d y dobijamo
0
1
Rx d x Ry d y 0
1
0 d x

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

prethodnom sluaju, pa moe da se zakljui da za infinitezimalne rotacije vai osobina


komutativnosti, tj.
Rx d x R y d y R y d y Rx d x

U optem sluaju se infinitezimalne rotacije oko osa x, y i z mogu prikazati sa

R dx , d y , dz

dz
d y

d z
1
dx

dy

d x
1

(4.3)

(4.4)

Ako su R (d x , d y , d z ) i R (d x , d y , d z ) dve matrice infinitezimalnih rotacija,


tada se za dve uzastopne rotacije dobija
R(d x , d y , d z ) R(d x , d y , d z )
1
( d z d z ) ( d y d y

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)

to e u tekstu koji sledi biti korieno.

4.2.2 Osnovne osobine kososimetrinih matrica

Za matricu S kaemo da je kososimetrina (antisimetrina) ukoliko je ispunjen uslov:


S T S 0

to se moe, uzimajui u obzir elemete matrice S, iskazati kao

(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

to se u sluaju ortova i, j i k moe napisati kao

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)

koja se moe dokazati direktnom proverom. Osim toga, za matricu S a i vektor

p p x p y p z T se, isto direktnom proverom, moe pokazati da vai


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

Takoe se direktnom proverom moe pokazati da za dva vektora a i b i ortogonalnu


matricu R (podsetimo se da su matrice rotacije R ortogonalne tj. da vai: R T R 1 ) vai

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

primenimo osobinu 2, dobijamo

R S a R T b R a R T b

a ako na ovaj izraz primenimo osobinu 3, sledi

R a RT b (R a ) ( R RT b )

to se, budui da je R ortogonalno, moe napisati u jednostavnijoj formi


R a R RT b R a b

i na kraju, ponovnom primenom osobine 3, dobijamo




Ra b S R a b
Prema tome, zakljuujemo

a, ovim smo dokazali da vai

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

Ako diferenciramo obe strane po dobija se

Definiimo matricu S kao

dR T
dR T
R R
0
d
d
def

dR T
R
d

(4.9)

(4.10)

Transponovanjem matrice S dobijamo


dR T
dR T
ST
R R
(4.11)
d
d

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:

Ako je matrica rotacije oko x ose za ugao data sa


0
1 0

R Rx , 0 C S
0 S C

(vidi izraz 3.14) izraunati matricu S prema (4.10).

Diferenciranjem i transponovanjem matrice Rx, i uvrtavanjem u (4.10) sledi:


S

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

Prema tome, pokazali smo da je

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 ,

4.2.3 Ugaone brzine i ubrzanja


Pretpostavimo sada da matrica R nije konstantna ve da je funkcija vremena. Na osnovu
(4.12) moemo pisati
R S t Rt

gde je S t kososimetrina matrica. Za vektor t koji predstavlja ugaonu brzinu


rotirajueg koordinatnog sistema u odnosu na fiksni, kososimetrina matrica S
postaje S t . Ovo moemo jednostavno pokazati na sledeem primeru.
Ako je R t R x ,t tada se njen izvod moe sraunati prema
66

Planiranje kretanja

Industrijska robotika

dR d

S i Rt S t R t
R
d dt

gde je t i - ugaona brzina rotacije oko x ose.

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

poznat izraz za brzinu izraenu preko vektorskog proizvoda.


Na slian nain emo razmotriti sluaj kada je relativno kretanje izmeu koordinatnih
sistema O0-x0y0z0 i O1-x1y1z1 uslonjeno, pa pored rotacije postoji i translacija

d
p0 R01 p1 d 01 /
dt
pa diferenciranjem prethodnog izraza, imajui u vidu da je p1 konstantan, sledi

p 0 R01 t p1 d01 S R01 t p1 d r v


(4.13)

gde r predstavlja vektor p1 izraen u odnosu na nepokretni koordinatni system O0-x0y0z0, a


v je brzina kretanja koordinatnog poetka O1 u odnosu na koordinatni sistem O0.
Da bismo izveli izraz za relativna ubrzanja izmeu dva koordinatna sistema podsetimo se
izraza za diferenciranje vektorskog proizvoda

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

Izraz (4.14) moemo da napiemo i u formi

r r a

p0

(4.14)

(4.15)

gde je a linearno ubrzanje, dok izraz r predstavlja centripetalno ubrzanje koje je


r predstavlja
uvek upereno prema osi obrtanja i upravno je na nju dok lan
tangencijalno ubrzanje
Ukoliko p1 menja svoj poloaj u odnosu na koordinatni sistem O1 izraz (4.15) postaje
r r 2 R01 p1 a

p0
67

(4.16)

Industrijska robotika

Planiranje kretanja

gde je a R01
p1 d01 , dok izraz 2 R01 p1 oznaava Koriolisovo ubrzanje.

4.2.4 Sabiranje ugaonih brzina


U ovom odeljku emo izvesti izraze za sabiranje ugaonih brzina ukoliko se dva koordinatna
sistema O1 i O2 kreu u odnosu na nepokretni koordinatni sistem O0. Izrazimo vektor
poloaja take P u odnosu na razne koordinatne sisteme
p0 R01 p1 d 01

(4.17)

p1 R12 p2 d12

(4.18)

p0 R02 p 2 d 02

(4.19)

gde, prema (3.39) i (3.40) i dalje vai


R02 R01 R12

(4.20)

d 02 d 01 R01 d12

Obzirom da su matrice rotacije funkcije vremena diferenciranjem (4.20) dobijamo


R 02 R 01 R12 R01 R12

.
2

Izraz sa leve strane (4.21) tj. ( R0 ) moemo napisati kao

(4.21)

R 02 S 02 R02

(4.22)

Prvi izraz sa desne strane u (4.21) tj. R 01 R12 moemo napisati kao

R 01 R12 S 10 R01 R12 S 10 R02

dok drugi izraz sa desne strane (4.21) tj.

R01

(4.23)
2

R1 moemo transformisati na sledei nain

R01 R12 S 12 R12

Ako pomnoimo gornji izraz sa R01T R01

R01 S 12 R01T R01 R12

i primenimo pravilo 4, dobijamo

(4.24)

(4.25)

S R01 12 R01 R12 S R01 12 R02

Unoenjem (4.22), (4.23) i (4.24) u 4.21), sledi

S 02 R02 S 10 S R01 12 R02

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)

gde je s ukupni vektor brzine hvataljke izraen u spoljanjim koordinatama (objedinjeni su

vektori linearne i ugaone brzine hvataljke), q q 1 , q 2 ,... , q n T je vektor brzina u


zglobovima mehanizma. Matrica J (q ) kojom se povezuje kretanje u zglobovima
mehanizma sa kretanjem hvataljke se naziva jakobijevom matricom ili jakobijanom. Prema
tome, jakobijeva matrica povezuje brzine kretanja zglobova robotskog mehanizma sa
linearnom i ugaonom brzinom kretanja hvataljke izraene u spoljanjim (dekartovim
pravouglim) koordinatama.
Da bi bolje razumeli prirodu matrice J napiimo izraz (4.32) u razvijenoj formi
(posmatraemo mehanizam koji ima est stepeni slobode),
x J11
y J
21
z J 31

J 41
J 51

J 61

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

Posmatrajmo samo prvu jednainu sistema

J16 q1
J 26 q 2
J 36 q3

J 46 q 4
J 56 q5

J 66 q6

x J11q1 J12 q 2 J13 q 3 J14 q 4 J15 q 5 J 16 q 6

(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

Najjasnije emo nain odreivanja jakobijana analitikim putem pokazati na primeru.


Primer 4.2.
Za trosegmentni antropomorfni mehanizam (minimalnu konfiguraciju) ija je kinematska
ema prikazana na Sl. 3.19. analitikim nainom odrediti jakobijan.
Pri reavanju ovog zadatka prvo treba napisati jednaine koje povezuju poziciju vrha robota
sa vrednostima uglova u zglobovima. Za konfiguraciju prikazanu na Sl. 3.19. te jednaine
su:
x a 2 C1C 2 a3C1C 23
y a 2 S1C 2 a3 S1C 23

(4.35)

z a 2 S 2 a3 S 23

Zatim je potrebno uspostaviti vezu izmeu malih (infinitezimalnih) pomeraja u zglobovima


i rezultujuih pomeraja hvataljke. Da bismo tu vezu uspostavili treba diferencirati izraze
(4.35) po uglovima u zglobovima, pa dobijamo

Sl. 4.2. Kinematska ema trosegmentnog antropomorfnog mehanizma

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

to se u vektorskoj formi moe napisati kao

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)

Matrica J je, dakle, matrica parcijalnih izvoda funkcija x (q1 , q 2 , q3 ), y (q1 , q 2 , q3 ) i


z (q1 , q 2 , q3 ) u odnosu na uglove u zglobovima q1 , q 2 i q3 . Prema tome, vrednosti
elemenata matrice J se mogu dobiti diferenciranjem gornjih izraza.
Za primer trosegmentne minimalne konfiguracije antropomorfnog mehanizma sa Sl. 3.19.
matrica J se dobija u konanoj formi
a2 S1C 2 a3 S1C 23 C1(a2 S 2 a3C 23) a3C1S 23
J (q) a2 S1C 2 a3C1C 23 S1(a2 S 2 a3 S 23) a3 S1S 23
a2 C 2 a3C 23
a3C 23
0

Treba primetiti da su elementi matrice J funkcije uglova u zglobovima i da se sa promenom


poloaja mehanike konfiguracije robota menjaju. Prema tome, tokom realizacije
odreenog pokreta matrica J nije konstantna i vrednosti njenih elemenata treba
sraunavati za svaki novi poloaj mehanike konfiguracije.
4.3.2 Numeriko sraunavanje jakobijana

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)

Odavde se linearna brzina vrha robota moe izraziti na sledei nain


v H J L1 q1 J L 2 q 2 J Ln q n

(4.41)

a na isti nain i ugaona brzina hvataljke

H J U 1 q1 J U 2 q 2 J Un q n

Razmotrimo na koji nain moemo da odredimo elemente matrice J Li i JUi .

(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)

koja e linearnu brzinu hvataljke robota, koja je od ose obrtanja udaljena za ri 1, H ,


72

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)

Prema tome, jednainama (4.43, 4.45-4.47) je mogue odrediti elemente jakobijana J Li i


JUi za sluaj translatornih i rotacionih zglobova pa, prema tome, moemo rezimirati
-

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

su funkcije samo pomeraja u zglobovima robota. Vektor z i 1 predstavlja treu kolonu u


matrici rotacije R0i 1 (vidi (3.7)) i mogue ga je veoma jednostavno odrediti na sledei
nain
zi 1 R01 (q1 ) R12 (q2 ) Rii21 (qi 1 ) z0

(4.50)

gde je z 0 0 0 1T to nam omoguava da se iz matrice R0i 1 odaberemo samo treu


kolonu.

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)

gde je p0 dato sa p0 0 0 0 1 . Slinim postupkom je mogue odrediti i vektor


T

73

Industrijska robotika

Planiranje kretanja

pi 1 . Naime,

pi 1 H 01 (q1 ) H 12 (q 2 ) ... H ii21 (qi 1 ) p0

i konano dobijamo:

(4.52)

ri 1, H pH pi 1

Prema tome, izrazi (4.50-4.52) omoguavaju jednostavno sraunavanje elemenata


jakobijana numerikim putem pod uslovom da su poznate matrice transformacije koje
odgovaraju datoj (trenutnoj) pozi mehanike strukture robota.
Primer 4.3:
Numerikim nainom odrediti elemete jakobijana za trosegmentnu antropomorfnu
konfiguraciju (Sl. 3.19) i koordinatne sisteme postavljene kao u primeru 3.2.
Odredimo najpre projekcije osa zglobova
0
S1
S1

z0 0 z1 C1 z2 C1
,
,
1
0
0

Obzirom da su sva tri zgloba rotaciona jakobijan ima oblik

J11 z0 (O3 O0 ) z1 (O3 O1 ) z2 (O3 O2 )

na osnovu ega sledi,

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

Sada moemo da odredimo elemete Jakobijana

a2 S1C 2 a3 S1C 23
z0 (O3 O0 ) a2 S1C 2 a3 C1C 23
0

C1(a 2 S 2 a3 S1C 23)


a3C1S 23

z1 (O3 O1 ) S1( a 2 S 2 a3 S 23) z 2 (O3 O2 ) a3 S1S 23


,

a3C 23
a 2 C 2 a3C 23

odakle konano sledi

a 2 S1C 2 a3 S1C 23 C1(a 2 S 2 a3C 23) a3C1S 23

J a 2 S1C 2 a3C1C 23 S1(a 2 S 2 a3 S 23) a3 S1S 23

0
a 2 C 2 a3C 23
a3C 23

to je isti rezultat dobijen analitikim nainom. Osim toga, primetimo da je jakobijan


dobijen u formi matrice dimenzija (3 3) obzirom da se radi samo o minimalnoj
74

Planiranje kretanja

Industrijska robotika

konfiguraciji sa tri stepena slobode.

4.4 NUMERIKO REAVANJE INVERZNOG KINEMATSKOG


PROBLEMA
Jakobijeva matrica koju smo odredili u prethodnom odeljku predstavlja osnovu za numeriko reavanje inverznog kinematskog problema. Postupak reavanja je potpuno opti i ne
zavisi od tipa robota, ali za razliku od analitikog reenja, ovde se dobija samo jedno reenje koje odgovara zadatom vektoru spoljanjih koordinata s i to ono koje je najblie zadatom reenju q POC od kojeg je procedura zapoeta. Naime, iz izraza (4.34)
s J (q )q

(4.34)

inverzijom jakobijeve matrice dobijamo


q J (q ) 1 s

(4.53)

Ukoliko je poznata poetna poza robota q


koja je bliska oekivanom reenju (tj. ako su
poznati uglovi u zglobovima robota koji dovode hvataljku u okolinu oekivanog poloaja i
orijentacije) tada se pozicije u zglobovima mogu pronai integracijom brzina u zglobovima
nad posmatranim vremenskim intervalom
POC

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)

Ukoliko na (4.55) primenimo (4.53) sledi


q t t q POC t J 1 (q (t )) s(t ) t

(4.56)

ili sa modifikovanom notacijom


q k 1 qk J 1 qk sk

(4.57)

Neka je zadat vektor spoljanjih koordinata s i neka je potrebno da se odredi vektor


unutranjih koordinata koje odgovaraju poloaju hvataljke s 0 .
0

Pretpostavimo najpre priblino poetno reenje q (k ) , ( q ( k ) f 1 s 0 ). Kada se na osnovu


pretpostavljenog reenja q
tane i pribline pozicije

(k )

srauna pozicija hvataljke pojavie se odstupanje izmeu

s k s 0 f q k J q k q k 1 q k

75

(4.58)

Industrijska robotika

Planiranje kretanja

gde je q k 1 tanije reenje inverznog kinematskog problema od poetno pretpostavljenog


q k za s 0 odakle sledi

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 ) ;

korak 2: odrede se vrednosti spoljanjih koordinata za pretpostavljeno q (k ) ;


korak 3: izraunamo greku s k ;

korak 4: izraunamo Jakobijan J u pretpostavljenom reenju q (k ) ;

korak 5: izraunamo inverzni Jakobijan J-1;


korak 6: na osnovu izraza (4.59) odredimo naredno reenje koje je blie tanom reenju
nego to je bilo prethodno;
korak 7: opisanu proceduru ponavljamo sve dok greka ne bude manja od unapred zadate
vrednosti kojom se definie eljena tanost reenja, tj. dok ne bude ispunjen uslov,
s 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.5 PSEUDO INVERZNI JAKOBIJAN


Prethodno opisani postupak numerikog reavanja inverznog kinematskog problema je
baziran na relaciji
q J (q) 1 s

(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

ako je njena determinanta razliita od nule. Poloaji robota u kojima je


det( J ( q )) 0 predstavljaju singularne take u kojima se ne moe odrediti
inverzni Jakobijan.
76

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)

minimalna. Razvojem gornjeg izraza dobijamo

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)

Sreivanjem izraza dobijamo

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

J T se naziva levim pseudo

inverznim Jakobijanom. Ako ovu matricu obeleimo sa J PS moemo pisati


q J PS s

(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

koja je u minimumu kada je q 0 , pa se moe pisati


2q J T 0

(4.66)

(4.67)
77

Industrijska robotika

Planiranje kretanja

odakle sledi
q J T 2

Zamenom ovog izraza u polazni (4.34) s J (q ) q sledi


s J ( J T 2)

(4.68)

(4.69)

pa se posle sreivanja dobija


2 ( JJ T ) 1 s

(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)

se naziva desnim pseudoinverznim Jakobijanom koji emo

kao i u prethodnom sluaju obeleiti sa J PS , pa se konano moe pisati


q J PS s

(4.72)

odakle moemo odrediti traene koordinate zglobova.


Na opisani nain se moe prevazii problem kada Jakobijan nije kvadratni i kada nije
mogue nai inverznu matricu.

4.6 SINGULARNE KONFIGURACIJE


Kao to smo ve videli, linearna veza izmeu brzine hvataljke izraene u spoljanjim
koordinatama i brzina u zglobovima
s J (q) q

je uspostavljena jakobijanom. Ukoliko takvu vezu, pri odreenim poloajima


(konfiguracijama) mehanike strukture robota, nije mogue jednoznano uspostaviti
govorimo o pojavi singularnih konfiguracija. Matematikim renikom reeno, singularne
su one konfiguracije mehanike strukture pri kojima matrica J ( q ) nema puni rang.
Singularni poloaji se odlikuju sledeim osobinama:
e) U singularnom poloaju robot gubi jedan ili vie SS.
Kao primer ovakvog sluaja navedimo bilo koji robot ija hvataljka je dostigla granicu
radnog prostora (spoljnu ili unutranju). Ovaj sluaj odgovara situaciji sa Sl. 4.4.b (hvataljka je na spoljanoj granici radnog prostora) ili kada je trei segment savijen potpuno nanie
q3 .
f)

U singularnom poloaju moe postojati beskonano mnogo reenja inverznog


kinematskog problema.

78

Planiranje kretanja

Industrijska robotika

a)

b)

Sl. 4.4. Singularni poloaji antropomorfne minimalne konfiguracije

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).

Sl. 4.5. Singulani poloaj sfernog zgloba

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

gde su, u sluaju sfernog zgloba, matrice J 12 i J 22 date sa


J12 z3 r3, H

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)

odakle se uslovi singularnosti za minimalnu konfiguraciju mogu napisati kao


det( J 11 ) 0

dok za zglob hvataljke vai sledei uslov singularnosti


det( J 22 ) 0

.
ime je postignuto raspregnuto razmatranje uslova singularnosti.

(4.77)

(4.78)

4.7 ELIPSOID BRZINA


Jakobijan predstavlja transformaciju n-dimenzionalnog prostora brzina (n je broj stepeni
slobode koje ima robot) u zglobovima manipulacionog robota u m-dimenzionalni prostor
(m je broj stepeni slobode zadatka) brzina kretanja hvataljke. Pokretanjem zglobova mehanizma pokree se njegova hvataljka i od rasporeda zglobova i duina segmenata zavisi
prenosna karakteristika mehanizma. Postoji vie naina na koje mogu da se uporede
prenosne karakteristike razliitih mehanizma, a jedan od najpoznatijih je tzv. elipsoid
brzina kojim se uspostavlja veza izmeu potrebnih brzina u zglobovima da bi se postigla
jedinina brzina hvataljke u svim pravcima. Da bi to postigli ograniimo brzinu hvataljke
na m-dimenzionu jedininu sferu
sT s 1

(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

zine hvataljke ima jedinini intenzitet. Obzirom da je proizvod J T J simetrina, pozitivna


semidefinitna matrica njeni sopstveni vektori su ortogonalni. Glavne ose elipsoida se poklapaju sa sopstvenim vektorima J T J dok su duine osa jednake recipronim vrednostima
kvadratnog korena sopstvenih vrednosti J T J .
Poto vrednosti elemenata jakobijana tokom kretanja hvataljke nisu konstante, ve zavise
od trenutne poze mehanizma (tj. od trenutnih vrednosti q1 i q2) sa promenom poloaja hvataljke e se oblik i orijentacija elipsoida takoe menjati. Mehanizam se nalazi u izotropnoj
taki (bolje je rei da poza mehanizma obezbeuje izotropno ponaanje hvataljke ukoliko
se m-dimenziona jedinina sfera u prostoru hvataljke preslikava takoe u sferu u n-dimenzionom prostoru zglobova. to je oblik ellipsoida blii sferi to je prenosna karakteristika
mehanizma bolja.
Ilustrovaemo ovo na primeru dvosegmentnog ravanskog mehanizma sa duinama segmenata a1 = 2 m, a2 = 1 m, koji je prikazan na Sl. 4.6. U ovom sluaju jakobijan ima formu
2 S1 S12 S12
J

2 S1 C12 C12

(4.81)

dok je proizvod J T J dat sa


JT J

2 2C 2 3

2C 2 1

2C 2 1

1
.

Sl. 4.6. Dvosegmentni ravanski mehanizam

81

(4.82)

Industrijska robotika

Planiranje kretanja

Sl. 4.7. Geometrijsko mesto izotropnih taaka

Sopstvene vrednosti J T J su 1 2 2 C 2 1 i 2 2 2 C 2 1 . Za q2 3 4

i q 2 5 4 (uoiti da je J J simetrina i da ne zavisi od q1 ) one postaju 1 2 1 .


Odavde sledi da se robot kada je u pozi za koju vai 1 2 1 nalazi u izotropnoj taki.
Na Sl. 4.7 je prikazano geometrijsko mesto svih izotropnih taaka za ovu konfiguraciju, a to
je krug.
T

Posmatrajmo pozu mehanizma kada je ugao u drugom zglobu q 2 2 . Tada proizvod


matrica J T J postaje
3 1
J T J

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

b) Ugaone brzine u zglobovima

Sl. 4.8. Elipsoid brzina

82

Planiranje kretanja

Industrijska robotika

hvataljke zahtevane brzina u zglobovima su ( q1 , q2 ) = (-0.5, 1.207) rad/s u pravcu velike, i


( q1 , q 2 ) = (0.5, 0.207) rad/s u pravcu male ose elipse.

Pretpostavimo zatim, bez gubitka optosti, da je q1 0. Jakobijeva matrica tada postaje


1 1
J

2 0 .

odakle sledi da je za brzine u zglobovima ( q1 , q 2 ) = (-0.5, 1.207) rad/s brzina hvataljke


( v x , v y ) = (-0.707, -0.707) m/s, a za ( q1 , q 2 ) = (0.5, 0.207) rad/s brzina hvataljke je
( v x , v y ) = (-0.707, 0.707) m/s, kao to je prikazano na Sl. 4.8.a .

83

Industrijska robotika

Planiranje kretanja

PLANIRANJE KRETANJA

5.1 DEFINISANJE PROBLEMA PLANIRANJA KRETANJA


U ovom poglavlju baviemo se problemom planiranja kretanja robota. Kretanje je osnovna
operacija kojom roboti obavljaju postavljene zadatke, bez obzira da li pri tome prenose razliite predmete sa jednog mesta na drugo, na primer u zadacima opsluivanja alatnih maina, ili na svom vrhu imaju privren alat kojim se zadatak neposredno izvrava, kao na
primer kod farbanja, ili lunog zavarivanja. Mi emo u ovom poglavlju razmotriti razliite
naine za definisanje kretanja koje robot treba da izvri.
Cilj svake od metoda za planiranje kretanja jeste da se omogui korisniku, ili programeru
robota, da na jednostavan, intuitivan nain definie osnovne parametre kretanja robota, a da
upravljaki softver robota na osnovu zadatih parametara generie sve informacije o kretanju
potrebne upravljakom sistemu robota u toku izvravanja kretanja.
Definiimo najpre osnovne pojmove vezane za planiranje kretanja robota:
- Zadatak robota koji esto sadri verbalne opise ta bi robot trebao da uradi, se
uobiajeno sastoji se od vie podzadataka, koji mogu dalje da se raslanjuju, sve
dok se ne doe do niza kretanja i akcija koje robot treba da obavi. Na primer, jedan zadatak mogao bi biti: sastavi prozivod od datih komponenata, ili, premesti
obradak iz maine na paletu, itd.
- Putanja je skup taaka kroz koje robot treba da proe da bi izvrio zadato
kretanje. Primetimo da putanja nosi isto geometrijsku informaciju. Primeri za
putanje su: prava linija, krunica, helikoida, itd.
- Trajektorija je putanja kojoj je pridruena informacija o vremenu. Drugim
reima, trajektorija definie u kom trenutku e se robot nai na kojoj poziciji sa
putanje. Za razliku od putanje, trajektorija sadri informacije i o brzinama i
ubrzanjima tokom kretanja, a ne samo pozicije kroz koje e robot proi.
Na sadanjem nivou razvoja upravljakih sistema robota, uglavnom jo uvek nije mogue
direktno zadavati zadatke robotu. Obzirom da se svaki zadatak ralanjuje dalje na skup
putanja kroz koje robot treba da proe, a zatim se putanjama dodeljuje i vremenska zavisnost da bi se dobile trajektorije, to i dalje predstavlja previe sloen problem za upravljaki
softver robota, a naroito kada se ima u vidu velika raznolikost zadataka koje roboti mogu
da obavljaju.
Zbog toga ralanivanje zadatka na putanje obino obavlja korisnik, odnosno programer
84

Planiranje kretanja

Industrijska robotika

robota, a planiranje kretanja, odnosno generisanje putanja i trajektorija se obavlja uz pomo


upravljakog softvera robota. Pri tome, programer zadaje samo osnovne parametre kretanja,
na primer, ukupo vreme ili brzina kretanja robota od poetne do krajnje pozicije, itd.
Metode za planiranje kretanja moemo podeliti u nekoliko kategorija, i na osnovu nekoliko
kriterijuma, koji nisu meusobno iskljuivi. Prva podela moe biti na osnovu karaktera
zadatka koji robot obavlja. Postoje primene robota kod kojih je isljuivo vano da robot iz
take A stigne u taku B, pri emu oblik putanje izmeu njih nije od znaaja. Ovakav tip
kretanja javlja se, na primer, u zadacima transporta materijala, gde je najvanije da materijal bude uzet na jednom, a ostavljen na drugom mestu, a kako se robot kree izmeu, nije
od naroitog interesa. Ovakav reim rada naziva se "kretanje od take do take", (point to
point motion), ili "reim uzmi pa ostavi" (pick and place operation). Mi emo se na dalje
sluiti skraenicom termina na engleskom, PTP, za obeleavanje ovakvog naina kretanja.
Drugu grupu primena robota karakterie injenica da je vana cela putanja po kojoj se robot
kree. Primer za to je robotsko farbanje, gde putanja robota direktno odreuje kako se nanosi boja na povrinu koja se farba, ili robotsko luno zavarivanje, gde putanja vrha robota
treba da prati sastav koji se vari. Ovakve reime rada nazivamo "kretanje po kontinualnim
putanjama" (continuous path motion), i na dalje emo ga oznaavati sa CP, skraenicom
termina na engleskom jeziku.
Jasno je da je planiranje PTP kretanja jednostavnije u odnosu na CP kretanje. Kod PTP dovoljno je zadati poetnu i krajnju poziciju, kao parametre, i eventualno brzinu, ili vreme izvravanja, a upravljai softver robota e onda sam generisati sve ostale potrebne informacije. Kod CP kretanja, potrebno je definisati putanju (koja moe biti oblika jednostavnih matematika primitiva ali moe biti i sloena), a zatim treba definisati i vremenske informacije
o kretanju du putanje.
Druga podela se moe uiniti na osnovu prostora u kome se zadaje kretanje. Tako razlikujemo planiranje kretanja u unutranjim koordinatama od planiranja kretanja u spoljanjim
koordinatama. Obzirom na to da je vrh robota relevantan za obavljanje zadatka, planiranje
kretanja najprirodnije se obavlja u prostoru spoljanjih koordinata, koje su vezane za kretanje vrha. Sa druge strane, kretanje robota odvija se u prostoru unutranjih koordinata, odnosno zglobova, pa je ponekad od interesa da se planiranje kretanja obavlja u ovom prostoru. Mi smo ve videli da se primenom funkcija direktne ili inverzne kinematike, kretanje iz
jednog prostora moe preslikati u drugi prostor, naravno, uz sve tekoe, koje reavanje
inverzne kinematike nosi sa sobom.
Treba rei da iako ove dve podele nisu iskljuive, najee se planiranje CP kretanja obavlja u prostoru spoljanjih koordinata, dok se planiranje PTP kretanja obavlja u prostoru
unutranjih koordinata. Naravno, primenljive su i druge dve kombinacije, kada je to
potrebno ili poeljno.
Uoimo da rezultat planiranja kretnja treba da bude vremenska zavisnost pozicije i orijentacije vrha robota r t , ili vremenska zavisnost pozicija zglobova q (t ) , koje treba da poslue kao referentne vrednosti za upravljaki sistem robota. Ovim vremenskim zavisnostima
pozicija, po potrebi, mogu se pridruiti i brzine i ubrzanja.
Mi emo sada prouiti nekoliko metoda za generisanje trajektorija, koje su primenljive za
sluaj da u radnom prostoru robota nema prepreka, odnosno, da je robot slobodan da se
kree unutar celog radnog prostora. Ovaj pristup moe se relativno lako proiriti i na sluaj
kada unutar radnog prostora postoje statike prepreke, ije su osobine, odnosno, veliina i
poloaj, unapred poznati i nepromenljivi. Sluaj kada se u radnom prostoru nalaze
85

Industrijska robotika

Planiranje kretanja

dinamike prepreke, zahteva potpuno drugaiji pristup planiranju kretanja, a takoe i


sofisticirani senzorski sistem koji e prepreke detektovati, i odrediti njihove karakteristike,
kao i sloenije algoritme koji mogu on-line donositi odluke o promeni trajektorija. Problem
planiranja kretanja u prisustvu dinamikih prepreka izlazi van domena ove knjige, i mi se
njime neemo baviti.

5.2 PLANIRANJE PTP KRETANJA


Obzirom na injenicu da su kod PTP kretanja vane samo poetna i krajnja taka putanje, a
da kretanje izmeu njih moe biti proizvoljno, planiranje kretanja u ovom reimu moe se
podjednako uspeno sprovoditi i u prostoru spoljanjih, i u prostoru unutranjih koordinata.
Ipak je uobiajeno da se planiranje kretanja obavlja u unutranjim koordinatama, primenom
sledee proste procedure. Poetna ri , i krajnja r f taka putanje obino se zadaju u

spoljanjim koordinatama, koje su od interesa za obavljanje postavljenog zadatka. Zatim se


primenom nekog od algoritama za reavanje problema inverzne kinematike izraunaju
pozicije u unutranjim koordinatama za poetnu qi i krajnju q f taku putanje.
Dobijanje informacija o poetnoj i zavrnoj taki putanje mogue je izvesti na razliite
naine. Jedan pristup je ve izloen, na osnovu podataka o poloaju vrha, rei se problem
inverzne kinematike, i dobiju se poloaju u unutranjim koordinatama. Drugi popularan
nain je da se robot, uz pomo upravljake konzole, fiziki dovede u eljene take prostora
koje predstavljaju krajnje take putanje. U tim takama, zapamte se trenutne vrednosti
pozicija zglobova, i one predstavljaju polaznu osnovu za sintezu trajektorije. Kod
savremenih robota, ovo pomeranje vrha robota u eljene pozicije u prostoru sve ee se
obavlja u virtualnom svetu raunarske animacije.
Poetna i krajnja pozicija putanje, bez obzira kako su dobijene, zajedno sa vremenskim
parametrima, kao to je na primer ukupno vreme izvravanja pokreta, , predstavljaju zatim
polazne parametre za generisanje trajektorije izmeu krajnjih taaka. Obzirom da sama
putanja nije od interesa za izvravanje zadatka, zadak generisanja trajektorije mogue je
reiti na razliite naine. Primetimo da je problem generisanja trajektorije kod PTP kretanja
na neki nain analogan problemu interpolacije: date su nam poetna i krajnja taka,
potrebno je odrediti neke interpolacione funkcije koje e nam odrediti vrednosti pozicija
izmeu krajnjih taaka.
Pre nego to se upustimo u reavanje problema generisanja PTP trajektorija, razmotrimo
koje bi osobine trebalo da poseduje generisana trajektorija. Iskustveno je poznato da iva
bia, a mi emo kao primer uzeti oveka, izvode uglavnom glatke pokrete. Zaista, kada
pokreemo nae ruke, to uglavnom inimo bez velikih trzaja. Ako bismo matematiki
analizirali pokrete ruke, mogli bismo rei da su pozicije zglobova ruke glatke funkcije
vremena. Podsetimo se da pojam glatka funkcija, znai ne samo da je funkcija kontinualna,
ve je i dovoljan broj izvoda funkcije takoe neprekidan. Kada govorimo o kretanju, prvi
izvod pozicije je brzina, a drugi izvod je ubrzanje. Prema tome, moemo rei da glatko
kretanje podrazumeva kontinualnu promenu pozicije, i pri tome kontinualne promene
brzine i ubrzanja. Ovakv pristup kretanja kod ivih bia je potpuno prirodan, jer dovodi do
kretanja sa optimalnom potronjom energije. Intuitivno je jasno da nagle, ili skokovite
promene, bilo ubrzanja, brzine ili pozicije, zahtevaju mnogo vei utroak energije od
kontinualnih promena. Imajui ovo u vidu, i prilikom planiranja kretanja robota, teiemo
86

Planiranje kretanja

Industrijska robotika

da dobijeno kretnje u to veoj meri bude glatko.


5.2.1 Linearna interpolacija
Polazna osnova za generisanje trajektorije su poetna qi i krajnja q f taka putanje, zadate

u prostoru unutranjih koordinata. Mi emo posmatrati izolovani sluaj kretanja, odnosno


pretpostaviemo da robot kree iz stanja mirovanja iz poetne take putanje, a takoe, treba
da se zaustavi u krajnjoj taki putanje. To drugim reima znai q i 0 , odnosno q f 0 .
Da bismo generisali trajektoriju, potrebno je jo uspostaviti vremensku zavisnost pozicije
robota. Pretpostavimo zato da ukupno trajanje pokreta treba da iznosi T f . Bez umanjenja
optosti, moemo pretpostaviti da je trenutak od koga raunamo vreme jednak nuli,
odnosno Ti 0 .

Pre nego to nastavimo sa izlaganjem, primetimo da je pozicija zglobova vektorska


veliina. To dalje znai da i interpolacione funkcije koje traimo treba da budu vektorske
funkcije. Meutim, obzirom na to da kretanje zglobova moe biti potpuno nezavisno, jer
nas ne interesuje putanja po kojoj se vrh robota kree, ve samo njene krajnje take,
moemo problem pojednostaviti, i zapravo reavati n problema interpolacije, za svaki
zglob robota pojedinano. Pri tome, kao polazne podatke, uzimamo odgovarajue vrste iz
vektora poloaja, a vreme izvrenja trajektorije je isto za sve zglobove.
Na dalje emo koristiti skalarne oznake za pozicije i brzine, a radi preglenosti izraza,
izostaviemo oznaku indeksa koji pokazuje na koji zglob se izraz odnosi. Pri tome se
podrazumeva da se problem generisanje trajektorije reava za svaki zglob pojedinano.
Najprostiji metod za interpolaciju jeste linearna interpolaciona funkcija data izrazom
q (t ) q i

Tf t
Tf

qf

t
Tf ,

(5.1)

dok se brzina moe odrediti diferenciranjem izraza po vremenu t , ime se dobija


q (t )

q f qi
Tf

(5.2)

a nakon jo jednog diferenciranja po vremenu dobija se izraz za ubrzanje


q(t ) 0

.
(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

pridruimo jo Ta , vreme predvieno za ubrzavanje, odnosno usporavanje. Interpolacione


funkcije za poziciju, brzinu i ubrzanje kod trapeznog profila brzine prikazane su na Sl.. 5.1.

Sa Sl. 5.1. uoavamo, da je u vremenskom intervalu od poetnog trenutka do trenutka Ta


ubrzanje pozitivno, konstantno i iznosi qmax . Jasno je da se onda radi o ravnomerno
ubrzanom kretanju, pa brzina kretanja linearno raste, od vrednosti nula, odnosno mirovanja,
do vrednosti q max , dok se pozicija menja po kvadratnom zakonu. Ovaj interval predstavlja
period ubrzavanja robota.
Od trenutka Ta do trenutka T f Ta , vidimo da je ubrzanje jednako nuli, pa se zapravo radi
o kretanju konstatnom brzinom q max , koja se zbog toga naziva brzina krstarenja. U ovom
periodu, promena pozicije je linearna funkcija vremena.
Konano, od trenutka T f Ta do kraja kretanja, deluje negativno konstantno ubrzanje

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

Sl. 5.1. Trapezni profil brzine

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)

Podsetimo se da smo poli od pretpostavke da je zadat opseg promene pozicije od qi do


q f , ukupno vreme izvravanja pokreta T f , kao i vreme ubrzavanja, odnosno koenja Ta .

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.

Potrebnu vrednost maksimalnog ubrzanja odrediemo na sledei nain. Promena vrednosti


pozicije od poetne do krajnje, odnosno preeni put, mora biti jednak povrini ispod
grafikona brzine. S obzirom na injenicu da grafikon ima oblik trapeza, lako uspostavljamo
vezu
q f qi (qmax Ta ) (T f Ta )

(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)

Primetimo jo da je u svim prethodnim izrazima logino pretpostavljeno da vai

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

na brzina krstarenja, a da se vremenski parametri izraunaju na osnovu njih.

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 ,

i jo dva koja se odnose na krajnju taku putanje


q (t f ) q f ,

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)

ime se realno vreme t iz intervala t [0, T f ] preslikava u normalizovano vreme na


normalizovanom intervalu [0,1] .

Uvedimo zatim i normalizovanu poziciju p tako da se interval promene pozicije q


preslikava na normalizovani interval
p

q qi
,
q f qi

[ qi , q f ]
[0,1]
p(q)

(5.16)

Nakon ovih normalizacija, pozicija zgloba moe se odrediti na osnovu


q (t ) t T qi (q f qi ) p ()
f

(5.17)

Diferenciranjem izraza (5.17) moemo odrediti brzinu zgloba u funkciji normalizovane


brzine, kao

q (t ) (q f qi ) p ()

d
dt ,

(5.18)

odnosno, obzirom na (5.15),


q (t ) t T
f

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)

Dakle, problem sinteze interpolacione funkcije za kretanje zgloba u realnom vremenu,


zamenili smo sintezom interpolacione funkcije za normalizovanu poziciju u
normalizovanom vremenu. Pri tome je izvrena i normalizacija graninih uslova, u obliku
p (0) 0,

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)

gde su a0 do a3 za sada nepoznati koeficijenti.

Da bismo iskoristili granine uslove po brzini normalizovane pozicije, diferencirajmo izraz


(5.23), ime se dobija
p3 () 3a3 2 2a 2 a1

.
(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)

ijim se reavanjem odreuju nepoznati koeficijenti


a 2 3,

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

dok je normalizovano ubrzanje dato sa


p3( ) 12 6

.
(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)

Kao to je ve reeno, diskontinuiteti u ubrzanju su nepoeljni, jer mogu pobuditi oscilacije


u kretanju robota. Takoe, moramo biti svesni injenice da ubrzanje ne moe trenutno da se
promeni. Skokovita promena ubrzanja implicira skokovitu promenu sile ili momenta aktuatora, a to dalje znai veliki utroak energije u jako kratkom vremenskom intervalu, odnosno, beskonanu snagu, to svakako nije fiziki ostvarljivo. Drugim reima, kretanje dobijeno interpolacionim polinomom treeg stepena nije dovoljno glatko, jer poseduje prekide u
ubrzanju.

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

5.2.4 Interpolacija polinomom petog stepena


Ako elimo da dobijemo kretanje kod koga ubrzanje nee imati diskontinuitete, onda
graninim uslovima po poziciji i brzini moramo pridruiti i granine uslove po ubrzanju.
Naime, s obzirom na to da robot kree iz stanja mirovanja, ubrzanje u poetnom trenutku
mora biti jednako nuli. Takoe, obzirom na to da se na kraju kretanja robot zaustavlja,
ubrzanje mora biti jednako nuli. Takoe, normalizovano ubrzanje treba da je kontinualna
funkcija normalizovanog vremena, pri emu imamo dva nova granina uslova vezana za
ubrzanje. Broj graninih uslova poveao se sada na est:
p (0) 0,

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

pri emu koeficijente ai , i 0,,5 odreujemo iz graninih uslova.

(5.33)
(5.34)

(5.35)

Diferenciranjem izraza (5.35) po normalizovanom vremenu dobija se izraz za


normalizovanu brzinu, a ponovnim diferenciranjem i izraz za normalizovano ubrzanje.
Smenom graninih uslova (5.33) i (5.34) u polinome za normalizovanu poziciju, brzinu i
ubrzanje dobija se sistem jednaina ijim reavanjem se odreuju nepoznati koeficijenti.
Konano reenje je oblika
p5 () 65 15 4 103

(5.36)

dok je izraz za normalizovanu brzinu dat sa


p5 () 30 4 60 3 30 2

a normalizovano ubrzanje je odreeno sa

(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

Konano, grafikon ubrzanja pokazuje da se ono kontinualno menja, a maksimalna


apsolutna vrednost iznosi
q5max 10 3 3 5.773

(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)

dok je normalizovana brzina data sa


p7 () 140 6 420 5 420 4 140 3

(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

poznate maksimalne dozvoljene veliine brzine q max i ubrzanja qmax zgloba.

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)

odakle se odreuje potrebno vreme trajanja pokreta sa stanovita brzine, kao


T fv

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

na delu vremena potrebnom da se brzina smanji do nule, kao i na delu potrebnom da bi se


brzina potom vratila na traenu vrednost. Drugim reima, dva trapezna profila moemo
delimino preklopiti, i tako izbei nepotrebno zaustavljanje.
Postoje razliiti naini da se izvri pomenuto preklapanje, a izbor se zapravo svodi na odreivanje pravog trenutka, kada treba poeti koenje, da bi se sa jedne brzine krstarenja prelo na drugu. Na primer, sa promenom brzine moe se otpoeti tek kada se dostigne pozicija
q k . Drugi pristup mogao bi biti da promenu brzine, odnosno koenje otponemo tako da u
taki q k brzine bude jednaka novoj zadatoj vrednosti q kf . Promenu brzine moemo
organizovati i tako da u poziciji definisanoj sa q k brzina bude srednja vrednost dve zadate
brzine. To bi praktino znailo da je period koenja simetrino rasporeen u odnosu na
taku q k . Reenje poslednje opisanog pristupa prikazano je na Sl. 5.5 sa desne strane.

Obzirom na to da je broj mogunosti za izbor trenutka poetka koenja, vrednosti ubrzanja i


usporenja, vrednosti brzine na pojedinim segmentima, itd. jako veliki, izvoenje jednaina
koje opisuju modifikaciju trapeznog profila odnelo bi previe prostora. itaocima je ostavljeno za vebu da samostalno izvedu jednaine za eljeni reim spajanja segmenata.
100

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.

5.3 PLANIRANJE CP KRETANJA


Kao to je ve reeno, pod CP kretanjem podrazumevamo kretanje po kontinualnim
putanjama. Imajui u vidu da je za obavljanje zadatka vano kretanje vrha robota, prirodno
je da se planiranje ovakvog kretanja obavlja u prostoru spoljanjih koordinata.
Planiranje CP kretanja je sloenije u odnosu na planiranje PTP kretanja iz vie razloga.
Najpre, kod PTP kretanja, putanje i trajektorije koje nisu bile od interesa birane su tako da
budu jednostavne funkcije. Ovde to nije sluaj, putanja moe biti proizvoljno sloena u
zavisnosti od tipa zadatka koji robot obavlja, pa prema tome i trajektorija moe imati
sloenu zavisnost tokom vremena. Dalje, kao to emo videti u narednom poglavlju, za
izvravanje trajektorija najee je potrebna informacija o kretanju zglobova. To znai da se
problem inverzne kinematike mora reiti za svaku taku trajektorije, to moe biti sloen,
raunski zahtevan, pa samim tim i dugotrajan proces.
Jedan pristup sintezi CP kretanja je da se trajektorija zada kao skup bliskih vornih taaka
kroz koje vrh robota treba da proe, a da se zatim izvri interpolacija ovih taaka. Ovakav
pristup ne razlikuje se mnogo od do sada izloenih postupaka za sintezu PTP trajektorija,
osim to je generalno potrebno mnogo vie vornih taaka. Interpolacija splajnovima moe
se i u ovom sluaju pokazati kao vrlo dobro i primenljivo reenje.
Mi emo sada razmotriti drugaiji pristup, a to je analitiko zadavanje putanja i trajektorija
vrha robota. Kao to je to ve reeno, u najoptijem sluaju, pozicija i orijentacija vrha
robota u prostoru moe se opisati sa est nezavisnih veliina, odnosno vektorom
p31
r

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

sinteze trajektorije razdvojiemo na problem definisanja pozicije, i problem zadavanja


orijentacije, koje emo zasebno izuiti.
5.3.1 Parametrizovano zadavanje pozicije u prostoru
Kada se radi o definisanju pozicije u prostoru, tada je vektor pozicije vrha robota najee
odreen u pravouglom dekartovom koordinatnom sistemu
x

p y
,
z

(5.54)

gde su x, y i z koordinate eljene pozicije vrha izraene u odnosu na referentni koordinatni


sistem. Mogue su naravno i druge vrste koordinatnih sistema, na primer, polarnocilindrini, ili sferni koordinatni sistem, ali su dekartove pravougle koordinate najjasnije i
intuitivno najlake za rad, pa se zbog toga najee i koriste.
Imajui u vidu da elimo da izvrimo sintezu trajektorije u prostoru analitikim putem,
najpre moramo pronai analitiki izraz za putanju u prostoru. Primetimo da je putanja
zapravo kontinualni skup taaka u prostoru koji odgovaraju nekoj liniji u prostoru. Imajui
to u vidu, je zapravo jednodimenzionalni skup, pa se moe pronai jedan parametar ,
tako da putanja bude opisana sa
p

(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 .

Sl. 5.6. Parametarska definicija putanje u prostoru

Poetna taka putanje pi odreena je poetnom vrednou parametra i , dok je krajnja


103

Industrijska robotika

Planiranje kretanja

taka putanje p f odreene krajnjom vrednou parmetra f . Primetimo jo da je putanja


orijentisana, jer porast vrednosti parametra odreuje smer kretanja du putanje. Takoe,
putanja moe biti i zatvorena, kada je p f pi , ili otvorena, kao to je to sluaj na Sl. 5.6.

Prema tome, promena parametra , od poetne vrednosti i do krajnje vrednosti f u


potpunosti definie poloaj vrha robota du putanje. Ako parametru , odnosno njegovoj
promeni, pridruimo i vremensku zavisnost (t ) , tada je u potpunosti definisana i
trajektorija vrha robota.
Funkcionalna zavisnost (t ) definie se preslikavanjem vremenskog intervala [Ti , T f ]

za koji treba da se obavi kretanje du putanje, na interval promene geometrijskog parametra


koji definie putanju od poetne do krajnje take:
[Ti , T f ]
[ i , f ]
( t )

,
(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

gde su dx , dy i dz diferencijalni prirataji krive du koordinatnih osa.

(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

Sl. 5.7. Putanja u obliku prave linije u prostoru

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

kolinearnosti. Jednaina (5.59) se moe preformulistati tako da odmah dobijemo


parametrizovanu putanju oblika
p p i ( p f p i )

(5.60)

ili, razvijeno po koordinatama


x xi ( x f x i )


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] .

Primetimo da u ovom sluaju, parametar koji je uveden kao isto geometrijski


parametar, ima prirodu krivolinijske koordinate s . Zaista, imajui u vidu relaciju (5.58), i
odreivanjem diferencijala izraza (5.61), dobijamo
ds ( x f xi ) 2 ( y f yi ) 2 ( z f zi ) 2 d

,
(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

Sl. 5.8. Izgled putanje oblika elipse u prostoru

Oznaimo sa u , v i w koordinate koordinatnog sistema koji je vezan za elipsu, tako da se


njegov koordinatni poetak poklapa sa centrom elipse, a ose u i v odreuju ravan u kojoj
elipsa lei. Neka su poluose elipse odreene sa a i b , tada se jednaina elipse moe
napisati kao:

puvw

u a cos()
v b sin()
,
w 0

(5.63)

gde je parametar koji promenom u opsegu [0,2] opisuje celu elipsu.

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)

poloaj centra vezanog koordinatnog sistema, odnosno centra


r11

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()

to zajedno sa profilom promene parametra (t ) odreuje i trajektoriju u prostoru.


106

(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)

pa bi geometrijski parametar imao prirodu preenog puta.


Na nain slian prethodim primerima, mogli bismo da parametrizujemo praktino bilo koju
prostornu putanju, a zatim usvajanjem profila promene parametra, da reimo i problem
sinteze trajektorije, odnosno pozicije vrha robota u prostoru. Da bi smo potpuno definisali
kretanje vrha robota, preostaje nam jo da razmotrimo nain zadavanja orijentacije vrha
robota u prostoru.

5.3.2 Definisanje orijentacije vrha robota u prostoru


Orijentacija vrha robota u prostoru u potpunosti je odreena sa tri nezavisna prametra, koje
smo u izrazu (5.53) grupisali u vektor o31 . U ranijim poglavljima videli smo da postoje
razliiti naini za definisanje orijentacije, na primer, preko Ojlerovih uglova ZYZ, odnosno
ZYX tipa, ili preko uglova skretanja, propinjanja i valjanja. Prema tome, u optem sluaju
vektor koji definie orijentaciju vrha robota moemo zapisati u obliku

bez obzira na prirodu uglova , i .

o
,

(5.70)

Da bi se definisala orijentacija vrha robota u zadatku du trajektorije, potrebno je zapravo


odrediti vrednosti uglova orijentacije tokom vremena. Kao i u sluaju pozicije, to se moe
izvesti u dva koraka, tako to se najpre odredi parametrizovana reprenzentacija uglova
orijentacije, a zatim se parametru dodeli vremenski profil promene.
107

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)

gde smo indeksom i oznaili vrednosti uglova orijentacije u poetnoj, a indeksom f u


zavrnoj taki putanje. Parametar menja se u intervalu [0,1] , i definisanjem njegovog
vremenskog profila, zadatak sinteze orijentacije vrha robota du trajektorije je reen. Kao i
ranije, za profil promene parametra moemo usvojiti neki od ve prouenih profila.
Napomenim da je ovakav nain planiranja orijentacije vrha robota pogodniji za primene
kod PTP kretanja. Ako pozicija vrha robota treba da prati neku putanju u prostoru, onda je
verovatnije da orijentacija vrha robota treba da bude definisana samom trajektorijom. Na
primer, kod elektrolunog zavarivanja, putanja vrha treba da prati av koji se vari, a pri
tome elimo da elektroda bude sve vreme upravna na av. Slino je i kod robotskog
farbanja, gde putanja vrha zavisi od povrine koja se farba, a orijentacija vrha treba da je
ortogonalna u odnosu na tu povrinu.
Prema tome, na zadatak je da sada, na osnovu parametrizovane putanje vrha robota u prostoru, odredimo informacije o orijentaciji. Prisetimo se da se u diferencijalnoj geometriji
svakoj taki prostorne krive mogu pridruiti tri ortogonalna jedinina vektora kao na Sl.
5.9.

Sl. 5.9. Prostorna kriva i prirodni triedar u jednoj taki krive

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

tada se jedinini vektori prirodnog triedra mogu odrediti na sledei nain

t p'
n
b tn

dp
ds ,

(5.73)

p
p ,

(5.74)

p p
p p ,

(5.75)

pri emu se diferenciranje vri po krivolinijskoj koordinati, oznaka predstavlja vektorski


proizvod dva vektora, a predstavlja oznaku za moduo vektora.
Ako je prostorna kriva zadata po nekom drugom, geometrijskom parametru , tada izrazi
za jedinine vektore prirodnog triedra postaju neto sloeniji:
p ()
p () ,

(5.76)

( p () p ()) p ()
( p () p ()) p ) ,

(5.77)

p ) p ()
p ) p () ,

(5.78)

pri emu se diferenciranje sada vri po parametru .

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)

gde vektori nh , s h i ah predstavljaju projekcije jedininih vektora osa koordinatnog


sistema vezanog za hvataljku na ose referentnog sistema, a vektor ph oznaava poziciju
vrha robota. Jedinini vektori koordinatnog sistema hvataljke prikazani su na Sl. 5.10.

109

Industrijska robotika

Planiranje kretanja

Sl. 5.10. Jedinini vektori koordinatnog sistema hvataljke

Zadavanje orijentacije hvataljke svodi se onda na uspostavljanje veze izmeu osa


koordinatnog sistema hvataljke i prirodnog triedra putanje. Neke od razliitih mogunosti
za orijentaciju hvataljke u odnosu na putanju moemo videti na Sl. 5.11.

Sl. 5.11. Razliite orijentacije hvataljke du putanje u prostoru

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)

odnosno, matrice Rh definiu permutovanje jedininih vektora prirodnog triedra, uz


eventualnu promenu smera vektora, kao na primer vektora t u poslednjem izrazu. U
optem sluaju, elementi matrice Rh uspostavljaju vezu izmeu osa dva koordinatna
sistema.
Imajui u vidu da se jedinini vektori prirodnog triedra mogu odrediti iz izraza (5.73),
(5.74) i (5.75) odnosno (5.76), (5.77) i (78), u potpunosti je odreena orijentacija vrha
110

Planiranje kretanja

Industrijska robotika

hvataljke du putanje. Kada se parametru pridrui i vremenski profil, pitanje orijentacije


hvataljke du trajektorije u potpunosti je reeno.
Ilustrujmo opisani koncept definisanja orijentacije vrha robota du putanje uz pomo
primera. Za poetak, razmotriemo jednostavnu putanju oblika krunice u prostoru. Neka je
krunica zadata parametarskim jednainama
0
x

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

Sl. 5.12. Putanja u obliku krunice i orijentacija vrha robota du putanje

Izgled krunice u prostoru, kao i orijentacije prirodnih triedara u nekoliko taaka na


krunici prikazane su na Sl. 5.12.

Krunica je konstruisana za vrednosti prarametara r 0.8 , x0 0 , y0 1 , i z0 1 , a


prirodni triedri prikazani su u takama definisanim sa [0, 2 , , 3 2] . Na slici je
takoe definisan koordinatni sistem vezan za vrh robota, kao i eljena orijentacija hvataljke
u zadatku. Sa Sl. 5.12 moemo uoiti vezu izmeu orijentacije koordinatnog sistema
hvataljke i prirodnog triedra
nh t ,

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)

Prema tome, orijentacija vrha robota du putanje odreena je rotacionom matricom


R n h

sh

a h t

n b Rh

(5.90)

odnosno,
0
1
0
R sin() 0 cos()
.
cos() 0 sin()

(5.91)

Izborom vremenske zavisnosti (t ) , odnosno profila kretanja, u potpunosti je izrazom


(5.82) odreena i trajektorija u prostoru, dok je orijentacija vrha robota du trajektorije
112

Planiranje kretanja

Industrijska robotika

odreena izrazom (5.91).


Razmotrimo sada jedan kompleksniji primer za definisanje orijentacije vrha hvataljke du
parametrizovane putanje. Neka je sada zadatak takav da se vrh robota kree du helikoide,
odnosno spiralne zavojnice zadate parametarskim jednainama

x x0 r cos()

p y y 0 r sin()

,
z z h
0
2

(5.92)

gde je r poluprenik, a h korak zavojnice, dok x0 i y 0 odreuju poloaj ose helikoide, a


z0 poetnu visinu. Osa zavojnice paralelna je z osi referentnog koodinatnog sistema.
Parametar svojom promenom definie zavojnicu, pri emu promena od 2 proizvodi
jedan korak helikoide.
Primenimo sada jednaine (5.76), (5.77) i (5.78) da bi smo odredili jedinine vektore
prirodnog triedra. Odredimo najpre pvi i drugi izvod vektora pozicije po parametru

r sin()
h2
p () r cos() p r 2 2
,

4 ,
h

r cos()
p () r sin()
,

(5.93)

(5.94)

a zatim i potrebne vektorske proizvode


h

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)

Sada moemo odrediti i module vektora dobijenih izraunavanjem vektorskih proizvoda


p p r 2

h2

4 2

113

(5.97)

Industrijska robotika

Planiranje kretanja

h2
( p p ) p r r 2 2
4

(5.98)

Da bismo pojednostavili naredne izraze, uvedimo oznaku


c r2

h2
4 2 ,

(5.99)

za koreni izraz koji se javlja u jednainama.


Smenom dobijenih izraza u jednaine za jednine vektore prirodnog triedra krive (5.76),
(5.77) i (5.78) dobijamo

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)

Preostaje jo da uspostavimo vezu izmeu orijentacije koordiantnog sistema hvataljke i


prirodnog triedra. Neka je zadatak robota takav da se jedinini vektori dva koordinatna
sistema se poklapaju, odnosno da je rotaciona matrica
Rh I 33

,
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

Zavojnica sa Sl. 5.13 konstruisana je za vrednosti parametara r 0.8 , h 1 , x0 1 ,


y0 1 i z 0 0 . Zajedno sa putanjom, prikazana je i orijentacija prirodnog triedra u tri
take putanje, odreene vrednostima parametra 2 , 15 8 , i 3 .

5.4 LITERATURA
[1]

Sciavicco L. and Siciliano B.: Modeling and Control of Robot Manipulators, The McGraw-Hill
Company, 1996.

[2]

Craig J.: Introduction to Robotics: Mechanics & Control, Addison-Wesley, 1986.

[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

DINAMIKA ANALIZA MANIPULACIONIH ROBOTA

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.

6.2 STATIKA ANALIZA


Razmotrimo najpre ravnoteu i-tog segmenta u okviru otvorenog kinematskog lanca koji se
ne kree ve stoji u odreenom poloaju.

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-

zani sa znakom "-" ( M i ,i 1 i Fi ,i 1 ) obzirom da je uticaj i+1-vog segmenta na i-ti (na


osnovu treeg Njutnovog zakona akcije i reakcije) isti kao i-tog na i+1-vi, ali obrnutog
smera. Osim navedenih uticaja susednih segmenata na i-ti segment jo, u teitu Ci , deluje
sila sopstvene teine mi g .

Obzirom da je mehanizam u ravnotei, ponaanje posmatranog segmenta se moe opisati sa


dve vektorske jednaine: Fi 0 i M i 0 . Prema tome,

0:

0:

Fi 1,i Fi ,i 1 mi g 0

(6.1.)

M i 1,i M i ,i 1 (ri 1,i ri.ci ) Fi 1,i (ri .ci ) ( Fi ,i 1 ) 0

(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)

Sl. 6.2. Sprezanje a) izmeu robota i osnove i b) okoline i hvataljke

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

jednako nuli ( M n,n1 0 i Fn ,n 1 0 ). Meutim, ukoliko robot tokom izvrenja radnog


zadatka dolazi u kontakt sa okolinom (npr. linijskog elektrootpornog zavarivanja, obaranja
ivica na radnom predmetu glodanjem ili bruenjem, pri poliranju, realizaciji montanog
zadatka ...) sila kojom hvataljka ili alat deluje na okolinu je poznata iz tehnolokih uslova
procesa. Npr. prilikom elektrootpornog zavarivanja sila pritiska koju je potrebno ostvariti
alatom na delove koji se spajaju i odravati tokom procesa zavisi od vrste materijala i
debljine limova, i propisuje se tehnolokim postupkom. Prema tome, moemo smatrati da je
Fext u sluaju realizacije industrijskih zadataka poznato i da je iz sistema od 2n jednaina
mogue odrediti 2n nepoznatih.
Razmotrimo sada vezu izmeu sila i momenata sprezanja i pogonskih sila ili momenata
(skraeno pogona) u zglobovima robota. U optem sluaju se vektor sprezanja (sile i
momenti koji se javljaju u jednainama (6.1) i (6.2)) razlikuje od vektora pogona.
Ilustracije radi emo razmotriti dve tipine konfiguracije industrijskih robota: robot
SCARA i antropomorfne (PUMA) konfiguracije.

a)

b)

Sl. 6.3. Gravitaciono optereenje robota a) SCARA i b) antropomorfne konfiguracije

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

razliku od stvarnih, virtuelni pomeraji treba samo da budu u saglasnosti sa ogranienjima


koja nameu veze, dok se ostalim zakonima kretanja ne pokoravaju. U sluaju koji razmatramo (Sl. 6.4.) virtualna pomeranja u zglobovima qi izazivaju linearno x H i ugaono
H virtualno pomeranje hvataljke. Takoe pretpostavimo da je robotski mehanizam bez
teine tako da nema gravitacionih optereenja. U trenutku virtualnih pomeranja robot je u
kontaktu sa okolinom tako da na njega deluju M n,n1 i Fn ,n 1 , dok u zglobovima deluju

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

Sl. 6.4. Virtualna pomeranja hvataljke i zglobova

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

momentima u zglobovima koji tu silu uravnoteavaju. U sluaju da se robot kree i da je pri


tome u kontaktu sa okolinom, na osnovu izraza (6.10) moemo odrediti koliko deo od
ukupnog momenta u posmatranom zglobu se koristi za ostvarivanje kretanja, a koliki za
uravnoteavanje sile kojom robot deluje na okolinu.
Primer 6.1:
Za minimalnu konfiguraciju (samo prva tri stepena slobode) antropomorfnog tipa prikazanu
na Sl. 6.5. odrediti potrebne momente u zglobovima da se vrhom ostvari sila F data sa

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

pa se, prema (6.10), odgovarajui momenti u zglobovima mogu dobiti iz

0
1F a2 S1C 2 a3 S1C 23 a2 S1C 2 a3 C1C 23

C1( a S 2 a C 23) S1( a S 2 a S 23) a C 2 a C 23


2
3
2
3
2
3
2F

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

su sopstveni vektori meusobno ortogonalni i poklapaju se sa pravcima male i velike ose


elipse ije su duine jednake recipronim vrednostima sopstvenih vrednosti JJ T .
Obzirom da se vrednosti lanova jakobijeve matrice menjaju tokom kretanja robota i elipsoid tokom kretanja menja svoj oblik i orijentaciju. Za taku u kojoj elipsoid poprimi oblik
sfere kaemo da je transformacija izotropna. Prema tome, u izotropnoj taki se n-dimenzionalna jedinina sfera u prostoru momenata u zglobovima preslikava u m-dimenzionalnu sferu u prostoru sila koje deluju na hvataljku.

Sl. 6.6. Dejstvo ravanskog dvosegmentnog mehanizma silom F ( Fx , Fy ) na okolinu

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)

Sopstvene vrednosti od JJ T su 1 2 2 0.5858 i 2 2 2 3.4142 , a

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)

a) Prostor stanja momenata


u zglobovima

b) Prostor stanja sila kojima


hvataljka deluje ne okolinu

Sl. 6.7. Elipsoid sila

proizvedena dejstvom jedininih momenata ( 12 22 1 ) u zglobovima posmatranog


robotskog mehanizma je (Fx, Fy) = (0.924, 0.924) N u pravcu velike ose (odgovarajui
momenti su (1, 2)=(0.383, -0.924) Nm) i (Fx, Fy)=(-0.383, 0.383) N u pravcu male ose
elipse (odgovarajui momenti su (1, 2)=(0.924, 0.383) Nm).
6.2.3 Popustljivost i krutost
Spoljne sile kojima okolina deluje na robot izazivaju promene pozicija u zglobovima
mehanike konfiguracije (segmenti se mogu smatrati krutim telima) i "povlaenje" vrha
robota. Ova osobina ponekad moe biti nepoeljna (npr. pri obradama radnih predmeta
alatom koji robot nosi), ali i veoma vana radi spreavanja havarije kao to je na primer pri
neplaniranom sudaru objekta kojim robot manipulie sa okolinom.
Neka je prostor zglobova n dimenzionalan, prostor hvataljke m dimenzionalan, i je
optereenje (moment ili sila) koje se prenosi preko i-tog zgloba, dok je qi njegova
defleksija koja usled toga nastaje. U sluaju malih pomeranja i i qi se mogu povezati
linearnom aproksimacijom
i ki qi

(6.14)

gde se ki naziva konstantom krutosti. Za celokupan mehanizam se skup izraza (6.14) moe
napisati u matrinoj formi

(6.15)

gde je = [1, 2, , n] , q = [q 1, q 2, , q n] , dok je diag k1 , k 2 , ..., k n


dijagonalna matrica dimenzije n n.
Za robote koji imaju strukturu kinematskog lanca pomeranja u zglobovima su sa
pomeranjem hvataljke povezana jakobijanom
T

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)

Eliminacijom i q iz (6.16) i (6.17) dobijamo


s C F

(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

Sl. 6.8. Transformacija sila i momenata izmeu dva koordinatna sistema

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-

tem Oj-xjyjzj u odnosu na Oi-xiyizi odreuje vektor pozicije d d x

dy

d z koordinatnog
T

poetka Oj u odnosu na Oi i matrica rotacije Ri j koordinatnog sistema Oj-xjyjzj u odnosu na


Oi-xiyizi. Generalisa-na sila izraena u odnosu na koordinatni sistem Oi-xiyizi. je
obeleena sa i , a u odnosu na sistem Oj-xjyjzj. sa j . i i j su povezani relacijom
i Ti j j

(6.24)

gde je Ti j matrica dimenzije 6 6 koju moemo napisati u sledeoj formi


Rj
Ti j j i j
Wi Ri

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

kososimetrina matrica vektora Oi O j izraenog u koordinatnom sistemu Oi-xiyizi. Na taj


nain moemo generalisanu silu izraenu u jednom, na jednostavan nain, izraziti u drugom
koordinatnom sistemu.
Primer 6.2:
Na Sl. 6.9 je prikazana hvataljka robota sa objektom koji je u kontaktu sa okolinom. Za merenje kontaktnih sila na vrhu objekta u zglobu hvataljke postavljen je senzor sile i momenta.
Zadatak je da se odrede sila i moment koji stvarno deluju na vrh objekta ukoliko su nam
poznati izmerene vrednosti sile i momenta u zglobu hvataljke.

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

d z tada za ovaj sluaj vai


T

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

na osnovu ega dobijamo traenu vezu u obliku

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.

6.3 DINAMIKA ANALIZA


U dosadanjem razmatranju je bilo pretpostavljeno da se robot ne kree i da se nalazi nepokretan u odreenoj pozi. Meutim, simultano kretanje svih segmenata proizvodi veoma
sloene uticaje koji su od izuzetnog znaaja pri upravljanju robotima i koje emo u ovom
odeljku razmotriti.
Diferencijalne jednaine kretanja mehanizma moemo formirati na osnovu Njutn-Ojlerovog i Lagranevog formalizma. Njutn-Ojlerova formulacija se zasniva na direktnoj primeni
drugog Njutnovog zakona mehanike, pa jednaine sadre sile i momente koje deluju na
svaki pojedinani segment, ukljuujui i sile i momente sprezanja u zglobovima. Osim toga
sadre i reakcije veza koje deluju izmeu dva susedna segmenta koje je potrebno eliminisati
da bi se dobile relacije koje u eksplicitnoj formi povezuju momente u zglobovima sa kretanjem mehanizma. Pri formiranju jednaina Njutn-Ojlerovim metodom se ide od segmenta
do segmenta na nain koji se poklapa sa prirodnom predstavom o kinematskom lancu, to
ovom formalizmu daje dodatnu jasnou i i omoguava lake razumevanje efekata koji se
javljaju.
Sa druge strane, u Lagranevoj formulaciji dinamiko ponaanje sistema kao celine je opisano pomou rada i energije korienjem generalisanih koordinata. Sve sile koje ne vre
rad, kao i reakcije veza ne pojavljuju se u jednainama. Rezultujue jednaine su, u optem
sluaju, kompaktnije i obezbeuju relacije izmeu momenata u zglobovima i njihovih pomeranja u zatvorenoj formi.
Prvo emo prikazati formiranje dinamikog modela na bazi Njutn-Ojlerovih a zatim
Lagranevih jednaina.
6.3.1 Njutn-Ojlerova formulacija jednaina kretanja

Razmotrimo jednaine kretanja jednog segmenta robotskog mehanizma. Kretanje svakog


krutog tela (segmente mehanizma moemo smatrati krutim telima) se moe razloiti na
translatorno kretanje bilo koje njegove take i rotaciju oko te take. Pogodno je za tu
proizvoljnu taku izbrati teite segmenta.
Na Sl. 6.10. je, slino statikom sluaju sa Sl. 6.1., prikazan i-ti segment kinematskog lanca
sa svim silama koje na njega deluju. U odnosu na Sl. 6.1. ovde se pojavljuju i inercijalna
128

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

F 0: Fi 1,i Fi ,i 1 mi vCi mi g 0 i 1... n


(6.28)

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

segment, dok je sa g obeleen vektor ubrzanja zemljine tee.

Na slian nain moemo napisati jednainu ravnotee momenata, analognu sa (6.2), za ovaj
sluaj kao

M 0: M i 1,i M i ,i 1 ri.Ci Fi ,i 1 ri 1,Ci Fi 1,i Ii i i ( Ii i ) 0


i = 1 ... n

(6.29)

i predstavlja obrtni moment, dok


gde je sa I i obeleen tenzor inercije i-tog segmenta, I i

i ( I i i ) predstavlja iroskopski moment.

Sl. 6.10. Sile i momenti koji deluju na i-ti segment (dinamiki sluaj)

Jednaine (6.28) i (6.29) opisuju dinamiko ponaanje jednog segmenta u kinema-tikom


lancu. Obilazei ga od i = 1 ... n moe se formirati sistem jednaina kojima se opisuje
dinamiko ponaanje ukupnog sistema.
Meutim, ovako formiran sistem jednaina nije pogodan za dinamiku analizu i sintezu
upravljanja. Pre svega, potrebno je obezbediti formu u kojoj su pogonski momenti ulazne
veliine, a kao izlazne treba da se pojave veliine koje potpuno definiu poziciju
mehanizma. Uglovi u zglobovima qi konstituiu takav nezavisan skup. Prema tome,
potrebno je dinamiki model tako realizovati da se na osnovu ulaznih momenata mogu
direktno dobiti pomeraji u zglobovima.
129

Industrijska robotika

Dinamika

Ovakav prilaz emo najbolje objasniti na primeru jednostavnog dvosegmentnog ravanskog


mehanizma prikazanog na Sl. 6.11. koji je dovoljno jednostavan da jednaine ne budu
isuvie sloene, ali je dovoljno sloen da sadri sve efekte koji se mogu javiti.
Primer 6.3.
Za dvosegmentni ravanski manipulacioni robot prikazan na Sl. 6.11. izvesti Njutn-Ojlerove
jednaine kretanja i prikazati ih u formi pogodnoj za dinamiku analizu.

Sl. 6.11. Dvosegmentni ravanski mehanizam

Obzirom da je mehanizam ravanski, ugaona brzina teita svakog od segmenata se moe


prikazti skalarnom veliinom i , dok se translatorna brzina moe prikazati dvokompo
nentnim vektorom vCi . U sluaju ravanskog mehanizma tenzor inercije postaje skalarni

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

F0.1 F1.2 m1 g m1 vC1 0

(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)

Za ravanski mehanizam momenti M 0.1 i M 0.2 su upravni na ravan u kojoj se kree


mehanizam pa su momenti sprezanja ekvivalentni pogonskim momentima, te vai
M 0.1 1 M 1.2 2
,

130

(6.32)

Dinamika

Industrijska robotika

Ako sada, izraze za momente ubacimo u (6.31), i eliminiemo reakcije veza tako to iz prve

jednaine izrazimo F1.2 i ubacimo u drugu, dobijamo

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
,

sledi da su linearne brzine teita vC1 i vC 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

[l1 cos q1 lc 2 cos(q1 q2 )] q1 lc 2 cos(q1 q2 ) q 2

(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)

H12 m2 l1 lC 2 cos q2 m2 lC2 2 I 2

(6.40)

h m2 l1 lC 2 sin q2

(6.41)

G1 m1 lC1 g cos q1 m2 g {lC 2 cos (q1 q2 ) l1 cos q1}

(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

ili u razvijenoj formi za primer dvosegmentnog mehanizma

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

pa je moment inercije drugog segmenta dat sa


m2 [l12 lC2 2 2 l1 lC 2 cos q2 ] I 2 m2 L2 I 2

to odgovara drugom lanu u (6.38). Veoma je vano da se primeti da inercijalnost koju


"osea" prvi zglob (u stvari, ovaj zakljuak je opti i vai za bilo koji zglob mehanizma)
zavisi od trenutnog poloaja mehanizma tj. od trenutne vrednosti uglova u zglobovima qi .
Naravno, inercijalnost je maksimalna kada je mehanizam potpuno ispruen ( q2 0 ), a
minimalna kada je drugi segment potpuno savijen ka osi prvog zgloba ( q2 ).

Da bi ispitali fiziku prirodu drugog lana u (6.37) pretpostavimo da je q1 q 2 0 i


q1 0 . Tada prva jednaina postaje
1 H12 q2

(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

to se u potpunosti poklapa sa drugim lanom u (6.37). Prema tome, moemo da kaemo da


H12 predstavlja sprezanje izmeu dva zgloba, tj. doprinos momentu u prvom zglobu, 1,
usleg ubrzanog kretanja drugog segmenta.
Analizirajmo sada trei lan u (6.37) koji je proporcionalan kvadratu brzina u zglobovima.
Zamislimo za trenutak, da za mehanizam u posmatranom trenutku vai q 2 0 i
q1 q2 0 , tj. da postoji samo brzina u prvom zglobu koja e uzrokovati pojavu
centrifugalne sile kao to je prikazano na Sl. 6.12. Pravac centrifugalne sile (silu obeleimo

sa FCENT ) je kolinearan sa pravcem radijus vektora r0 ,C 2 , a intenzitet je dat sa

FCENT m2 r0,C 2 q1 2

.
Centrifugalna sila uzrokuje moment oko drugog zgloba dat sa

CENT r1,C 2 FCENT m2 l1lC 2 q1 2 sin q 2

(6.47)

(6.48)

Sl. 6.12. Centrifugalna sila zbog kretanja u prvom zglobu

to odgovara treem lanu u (6.37), pa moemo da zakljuimo da ovaj lan predstavlja


uticaj cenrtifugalne sile na drugi zglob usled kretanja prvog zgloba. Na slian nain se
moe pokazati da kada se kree drugi zglob usled dejstva centrifugalne sile uzrokovane sa
q 2 javlja se moment koji deluje na prvi zglob.

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)

gde P oznaava ugaonu brzinu prenosnog kretanja, a v REL linearnu brzinu

133

Industrijska robotika

Dinamika

Sl. 6.13. Prenosno i relativno kretanje i Koriolisovo ubrzanje

teita drugog segmenta usled kretanja uzrokovanog sa q2 . Pravac Koriolisovog ubrzanja


je pravac relativne brzine zaokrenut za 900 u pravcu prenosnog kretanja (vidi Sl. 6.13).
Koriolisova sila data je sa

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

COR r0,C 2 FCOR 2 m2 l1lC 2 sin q2

(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

6.3.2 Direktni i inverzni zadatak dinamike i rekurzivni dinamiki model

Slino kao u sluaju kinematike, i u sluaju dinamike se mogu postaviti dva osnovna
zadatka: direktni i inverzni dinamiki zadatak (Sl. 6.14)

Sl. 6.14. Direktni i inverzni dinamiki problem

Ukoliko su poznati pogonski momenti u zglobovima 1 t , 2 t , ... , n t moe se


jednoznano odrediti kretanje mehanizma opisano skupom generalisanih koordinata,
recimo, kretanjima u zglobovima q1 t , q2 t , ... , q n t . Ovaj zadatak se naziva

direktnim dinamikim problemom.

Meutim, daleko je interesantniji i ee zastupljen zadatak odreivanja pogonskih


momenata 1 t , 2 t , ... , n t takvih da se ostvari eljeno kretanje u zglobovima q1 t ,
q 2 t , ... , qn t a samim tim i eljeno kretanje hvataljke. Ovaj zadatak se naziva inverznim
dinamikim problemom.
Osnovu za praktinu primenu matematikih metoda za formiranje dinamikih modela na
raunaru predstavlja njihovo formiranje u rekurzivnoj formi.
Ulazne veliine neophodne za formiranje dinamikog modela su:
- Tip mehanike konfiguracije (vrsta i raspored zglobova),
- Kinematski i dinamiki parametri segmenata (duine, mase i poloaji teita
svih segmenata, momenti inercije, ...). U sluaju da robot u hvataljci nosi radni
predmet, hvataljka se zajedno sa radnim predmetom smatra jedinstvenim krutim
telom pa je potrebno sraunati parametre "modifikovanog" poslednjeg segmenta
( m mH mRP ).
Reen inverzni kinematski zadatak, tj. trajektorije svih unutranjih koordinata,
brzina i ubrzanja du itavog razmatranog pokreta.
- Podaci o brzini i ubrzanju baznog segmenta. Ukoliko je robot privren za tlo
te veliine su jednake nuli, a ukoliko nije potrebno ih je specificirati.
Algoritam treba tako definisati da se svi parametri mehanizma zadaju u "lokalnom"
koordinatnom sistemu vezanom za segment. Sva potrebna preraunavanja koja zavise od
-

135

Industrijska robotika

Dinamika

njegovog trenutnog poloaja u odnosu na bazni koordinatni sistem treba da se izvravaju


automatski. Na Sl. 6.15. je ilustrovan rekurzivni raunarski algoritam za formiranje dinamikog modela na bazi Nutn-Ojlerovih jednaina.
Procedura formiranja dinamikog modela se odvija u dve faze. U prvoj se odreuju sve
kinematske veliine (linearne i ugaone brzine i ubrzanja teita svih segmenata
kinematskog lanca) potrebne za formiranje Njutn-Ojlerovih jednaina. Podsetimo se da je
inverzni kinematski zadatak ve reen i da su poznate trajektorije pozicija, brzina i ubrzanja
u svim zglobovima. Procedura poinje od prvog segmenta. Poto su poznate trenutne
vrednosti uglova, ugaonih brzina i ubrzanja u prvom zglobu ( q1 , q1 i q1 ) linearne i

ugaone brzine i ubrzanja teita C1 se mogu odrediti.

Sl. 6.15. Rekurzivno formiranje dinamikog modela

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

Fn1,n Fn,n1 mn vCn mn g


(6.52)
136

Dinamika

Industrijska robotika

Podsetimo se da Fn ,n 1 predstavlja silu kojom robot svojim poslednjim segmentom

(hvataljkom) deluje na okolinu, vCn aCn je ubrzanje teita n-tog segmenta koje smo ve

sraunali u prethodnoj fazi, dok g predstavlja vektor gravitacionog ubrzanja.

Napomenimo da sila kojom robot deluje na okolinu ( Fn ,n 1 ) treba da bude specificirana du


itave trajektorije koja se razmatra. Sada su sve veliine sa desne strane jednaine poznate

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

idui od poslednjeg ka prvom segmentu.

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

Da bi objasnili rekurzivni algoritam za formiranje dinamikog modela ponoviemo


neophodne kinematske relacije u rekurzivnoj formi.
Dve osnovne vrste zglobova koje se koriste u kinematskim lancima manipulacionih robota
su rotacioni i translatorni zglob sa po jednim stepenom slobode.
Razmotrimo prvo jednostavniji sluaj kada je i+1-vi zglob prizmatian. Obzirom da
linearno kretanje koje generie ovaj zglob ne uzrokuje promenu ugaone brzine i ubrzanja
i+1-vog segmenta, vai

i 1 i

(6.54)

i 1

Za brzine i ubrzanja vae relacije


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

dok za linearne brzine i ubrzanja vai


vi 1 vi i ri ,i 1

i 1 ri ,i 1 i 1 i 1 ri ,i 1
ai 1 ai

(6.57)

Treba napomenuti da su Njutn-Ojlerove jednaine izraene u odnosu na ubrzanja teita


(vidi jednaine (6.53)), dok su gornji rekurzivni izrazi izraeni u odnosu na koordinatne
sisteme koji se nalaze na svakom od segmenata (prema DH notaciji njihovi koordinatni

poeci se nalaze na ortovima zglobova). Na Sl. 6.16 su prikazane linearna vi i ugaona

brzina i izraene u odnosu na lokalni koordinatni sistem segmenta. Linearna brzina


teita je tada data sa


vCi vi i ri ,Ci
(6.58)
Na taj nain se mogu odrediti sve veliine neophodne za formiranje dinamikog modela
manipulacionog robota.

Sl. 6.16. Brzine u zglobu i teitu segmenta

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

lancu. U svakom koraku se dodatno, im se podaci o kretanju i-tog segmenta sraunaju ( vi ,


i ), na osnovu jednaine (6.58) sraunaju i brzine i ubrzanja njegovog teita
i , ai ,

Ci ) radi kasnijeg korienja u algoritmu.


( vCi , Ci , aCi ,
138

Dinamika

Industrijska robotika

Poto su kinematske veliine za sve segmente sraunate, zapoinje se sa sraunavanjem

Sl. 6.17. Algoritam sraunavanja pogonskih momenata

potrebnih pogonskih momenata u zglobovima mehanizma. Sraunavanje polazi, na osnovu

jednaine (6.53), od poznate vrednosti sile i momenta ( Fn ,n 1 , M n, n 1 ) kojim poslednji


segment (hvataljka) robota deluje na okolinu, a koja sledi iz tehnolokih uslova zadatka. (U
139

Industrijska robotika

Dinamika

sluaju da se robot kree slobodnim prostorom i da nema kontakt sa okolinom, Fn ,n 1 i

M n, n 1 su jednaki nuli.) Zatim se sraunavaju sile i momenti sprezanja u zglobovima Fi ,i 1

i M i ,i 1 ijim projektovanjem na osu zgoba (jednaine (6.4) i (6.5)) dobijamo pogonski


moment, tj. komponentu koja mora da se uravnotei dejstvom motora u zglobu, i koju sama
struktura zgloba ne moe da primi.

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)

Zamenjujui (6.85), (6.86) i (6.87) u (6.80) dobijamo izraze za pogonske momente

1 H11q1 H12 q2 h122 q2 h112 h121 q1 q2 G1


2

2 H 22 q2 H12 q1 h211 q1 G2
2

koji su identini sa izrazima (6.37) izvedenim na bazi Njutn-Ojlerovog formalizma za


definisanje jednaina kretanja.

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

PROGRAMIRANJE INDUSTRIJSKIH ROBOTA

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.

9.2 PROGRAMIRANJE I VRSTE PROGRAMSKIH JEZIKA


Programiranjem se moraju specificirati sve akcije koje robot rokom realizacije zadatka
treba da izvri kao i da se odredi njegovo ponaanje u nepredvienim situacijama.
Jedna od osnovnih podela naina programiranja robota je prema tome da li je za
programiranje potreban programski jezik ili nije. Najjednostavniji nain programiranja
robota je obuavanje pokazivanjem tj. njegovim provoenjem putanjom koju treba da
ostvari, njenim pamenjem i naknadnom reprodukcijom. Najea primena ove vrste
programiranja (mada polako izlazi iz upotrebe) je kod robota koji treba da ostvare putanje
koje nije lako matematiki opisati u svim detaljima, kao to je npr. bojenje prskanjem.
Umesto na pravom robotu, pokazivanje trajektorija koje treba ostvariti se moe
realizovati pomonim ureajem koji geometrijski odgovara robotu, ali u zglobovima nema
motore ve samo senzore za detekciju vrednosti uglova. Pokretanje ovakvog mehanizma i
njegovo proveenje eljenom trajektorijom je znaajno lake nego kada bi se koristio pravi
robot.
Drugi, sutinski drugaiji, nain programiranja robota je korienjem jezika za
programiranje. Obzirom da je broj zadataka koji se programiraju na ovaj nain znatno vei
od broja zadataka kod kojih je robot mogue programirati obuavanjem, nadalje emo
razmatrati samo problematiku programiranja upotrebom programskog jezika.
Dva su osnovna naina kako se programski jezik moe formirati. Prvi je da se iskoristi
potencijal koji pruaju neki od ve postojeih viih programskih jezika za programiranje
raunara kao to su FORTRAN, PASCAL ili C, s tim to je potrebno da se dodaju
neophodne rutine za pogon robota.
Drugi nain je da se napravi poseban jezik za programiranje robota koji bolje odgovara
problematici manipulacije objektima. Mnogi proizvoai robota su i realizovali programske
141

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

PUMA robota. Najvei broj savremenih programskih jezika za robote pripada


upravo ovoj grupi.
- kod jezika nivoa objekata se u program direktno unosi informacija o radnoj
sceni na kojoj robot deluje tj. okolini robota. Zadatak se opisuje nizom
uzastopnih poloaja objekata (umesto poloaja robotske hvataljke), a program
sam generie sve to je neophodno da se ovakvo kretanje ostvari. Osnovna
prednost ovih jezika nad jezicima nivoa manipulacije je u tome to je pri
rearaniranju scene za odreeni zadatak (promena poloaja objekata) potrebno
samo promeniti koordinate objekata dok sam program kojim se realizuje
zadatak nije potrebno ponovo pisati. Osim toga, ovi jezici, u naelu,
dozvoljavaju da jedan program bude primenljiv na razliite robote bez izmena
osnovnog dela programa. Predstavnici ove grupe jezika su AL (i jezici koji su se
javili kasnije LM i SRL) gde su objekti prikazani sa jednim ili vie koordinatnih
sistema, kao i RAPT, AUTOPASS i LAMA gde su korieni mnogo sloeniji
geometrijski modeli.
- grupi jezika nivoa zadatka pripadaju sistemi koji bi trebalo da razumeju i izvre
zadatak opisan u najoptijoj formi (npr. montiraj leaj u kuite motora), tako
to bi sami planirali potrebne zahvate, njihov redosled, neophodne putanje
hvataljke robota u okviru scene, i generisao odgovarajue akcije reda izvrenja
zadatka. Ne postoji kompletan sistem koji obezbeuje programiranje robota na
ovom nivou.
Druga podela programskih jezika je prema tome da li je neophodno da prilikom formiranja
programskog koda programeru bude raspoloiv pravi robot ili ne. Ukoliko se u procesu
programiranja koristi pravi robot (npr. da bi se hvataljka robota dovela u eljenu poziciju
u okviru prave scene i da se odgovarajui uglovi u zglobovima mehanizma zapamte),
takav nain se naziva on-line programiranjem. To praktino znai da robot treba da bude
izuzet iz procesa proizvodnje tokom razvoja programa i stavljen na raspolaganje
programeru. U sluajevima kada su roboti delovi sloenih industrijskih automatizovanih
sistema ovo veoma teko moe, ili uopte ne moe da se obezbedi, pa tada programiranje
mora da se realizuje bez korienja robota u toku razvoja programa. Pravi robot i prave
radne predmete je jedino mogue i neophodno koristiti za zavrna podeavanja. Ovakav
nain programiranja bez korienja robota u toku razvoja programa se naziva off-line
programiranjem. Poto se pri formiranju programskog koda, umesto stvarnog i fiziki
prisustnog robota, koristi njegov vituelni model namee se zakljuak da bi bilo korisno da
se i realna scena zameni virtuelnom. To ima za posledicu da je pri off/line programiranju
mogue proveriti simulacijom proces robotizacije odreenog zadatka pre nego to su svi
elementi koji u njemu uestvuju fiziki dostupni. Prema tome, kvalitetan sistem za off/line
programiranje treba da ispuni nekoliko vanih uslova: CAD baza podataka robotskih
manipulatora i raznih alata koje robot koristi, CAD baza podataka o radnim predmetima
mora da je dostupna za korienje, mora da postoji mogunost da se valjanost napisanog
programa proveri simulacijom njegovog izvravanja i da se na osnovu toga proces pobolja
optimizacijom vremena trajanja ciklusa, podeavanjem rasporeda objekata koji uestvuju u
procesu ili izmenom redosleda izvravanja operacija. Vano je da se uoi da pri off/line
programiranju ak nije neophodno da radni predmet stvarno postoji ve je programiranje
mogue realizovati koristei CAD modele. To je veoma pogodno jer je poboljanja
konstrukcije radnog predmeta mogue predloiti jo u fazi projektovanja, ukoliko se u toku
simulacije ukae potreba za izmenama.
143

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.

9.3 OSNOVNI PROBLEMI PROGRAMIRANJA ROBOTA


Tri su osnovna izvora problema sa kojima se programeri robota danas susreu:
- Sasvim je izvesno da informacija o okolini u kojoj robot radi mora biti
ukljuena u program, direktno ili indirektno. U mnogim programskin jezicima
je informacija o okolini data posredno kroz vrednosti razliitih parametara.
Tako je npr. informacija o veliini predmeta koji robot prenosi sadrana u
vrednosti parametra kojim se definie otvor hvataljke, dok eksplicitne
informacije o samom objektu nema.
- Drugi problem predstavlja opisivanje trodimenzionalnih pokreta robota (npr.
prskalice sa bojom) i programiranje operacija koje su bazirane na senzorskin
informacijama. Odgovarajue vrednosti praga osetljivosti senzora, krutosti, ... je
najee jedino mogue pouzdano odrediti probanjem. Osim toga, veina
programskih jezika ak i ne obezbeuje instrukcije za rad sa senzorima.
- Trei problem predstavlja oporavak od greaka. Obzirom da sistem ima samo
parcijalnu informaciju o okolini, veoma je teko realizovati sistem koji bi bio u
stanju da reaguje na adekvatan nain i samostalno se oporavi u sluaju da doe
do poremeaja u realizaciji zadatka, makar i kod greaka koje se najee
javljaju.
U tekstu koji sledi emo se detaljnije pozabaviti ovim problemima.
9.3.1. Modeli okoline
Jezici kod kojih se informacije o objektima koji sainjavaju okolinu robota ne pojavljuju
nazivaju se eksplicitnim jezicima. Jezici koji sadre informacije o okolini se nazivaju
implicitnim jezicima. Ovde emo pomenuti i uporediti samo dva naina modeliranja
okoline: pomou koordinatnih sistema (jezik AL) i definisanjem povrina objekata i
njihovih meusobnih poloaja (jezik RAPT).
a) Modeliranje okoline u jeziku AL
AL je kompletan programski jezik koji omoguava upravljanje radom vie robota razliite
konfiguracije koji istovremeno rade na istom zadatku, i komunikaciju sa razliitim
perifernim ureajima kao to je npr. sistem za mainsku viziju.
Scena (raspored i poloaj objekata na njoj) se opisuju nizom koordinatnih sistema. Na Sl.
9.1.a je dat primer dva objekta koji su definisani koordinatnim sistemima CAP_GRASP,
CAP_APP i CAP_FIN. Meusobni relativni poloaj koordinatnih sistema je definisan na Sl.
9.1.b dok je njihov apsolutni poloaj dat u odnosu na referentni koordinatni sistem koji je
oznaen sa REFERENCE.
144

Dinamika

Industrijska robotika

Sl. 9.1. Izgled radnog mesta i njegov prikaz nizom koordinatnih sistema

Odgovarajue instrukcije deklarativnog AL programa su date na Sl. 9.2. dok se u


proceduralnom delu programa umesto kretanja robota opisuje niz kretanja
FRAME REFERENCE;
REFERENCE: -FRAME (NILROTN, VECTOR, (5.38, 34.1,.216)*INCHES);
FRAME CAP_ GRASP;
AFFIH CAP_ GRASP TO REFERENCE AT TRANS
(ROT (YHAT, 180.*DEGREES)* ROT (ZHAT, -179.3*DEGREES),
VECTOR(2.67,9.22,1.08)*INCHES) NONRIGIDLY;
FRAME CAP_ APP;
AFFIH CAP_ GRASP TO REFERENCE AT TRANS
(ROT (YHAT, 180.*DEGREES)* ROT (ZHAT, -180*DEGREES),
VECTOR(10.2,3.71,3.11)*INCHES) NONRIGIDLY;
FRAME CAP_ FIN;
AFFIH CAP_ FIN TO CAP_ APP AT TRANS
(ROT (ZHAT, 45.*DEGREES),3* ZHAT) RIGIDLY;
SCALAR WIDTH;
WIDTH : -2.4;
Sl. 9.2. Opis modela okoline u AL programu

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

Sl. 9.3. Objekat sa svojim sastavnim delovima i usvojeni geometrijski entiteti

against/head of pin, top of flange 1


fits/shaft of pin, hole of flange 1
fits/shaft of pin, hole of flange 2
against/bottom of flange 1, top of flange 2
Sl. 9.4. Relacije izmeu delova montiranog objekta

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

napomenuti da modeli tela nisu ogranieni i nije mogue proveriti da li e tokom


izvravanja zadatka doi do sudara. Zatim, RAPT ne podrava rad sa senzorima.
Pretpostavlja se da su sva kretanja ostvarena na nivou nominala i sve odluke se na tome
baziraju. I na kraju, RAPT program moe biti samo niz bezuslovnih komandi i nisu
dozvoljena uslovna grananja.
c) Budui trendovi u modeliranju okoline
Obzirom da su CAD sistemi nali svoje mesto u savremenom svetu i da e njihova uloga
sve vie rasti, logino se namee zakljuak da bi bilo svrsishodno da se ovi sistemi u to
veoj meri koriste pri programiranju robota. Meutim, u ovom trenutku postoje izvesni
problemi koji stoje na tom putu.
Prvi problem koji treba razreiti je da se obezbedi da se ponaanje objekata u okviru
robotskog sistema simulira, a ne da se objekti samo animiraju. Naravno, ovo se odnosi na
sve elemente sistema scene, kako one koji su aktivni (tj. koji su osnaeni motorima i na ije
ponaanje moemo aktivno uticati, kao to su na primer roboti), tako i na one koji nisu.
Primera radi, ako je objekat postavljen na strmu ravan, u sluaju isuvie velikog nagiba
treba da se javi proklizavanje, na isti nain na koji bi se to dogodilo u stvarnosti. Problem je
to CAD sistemi ne znaju nita o fizici. Ovakvi sistemi koji se koriste u robotici mogu da
simuliraju robote, ali ne mogu da simuliraju ostatak sistema.
Osim toga, potrebno je da roboti bolje razumeju svoju okolinu. Skoro svaki zadatak
zahteva raunarsku interpretaciju objekata kojima se manipulie. Obzirom da robot deluje u
sloenoj okolini u naelu su modeli objekata nepotpuni i nedovoljno tani. Stepen
sloenosti modela zavisi od njegove namene. Potpuni opis objekata (geometrija + fizike i
mehanike osobine) je sigurno nepotreban, jer prua vie informacija nego to nam je
potrebno. Da bi objekat preneli robotom jedino je potrebno da se specificiraju povrine gde
treba da se izvri hvatanje (to su najee naspramne i paralelne stranice) i ciljna pozicija.
Meutim, u sluaju da se dogodi greka prilikom realizacije zadatka (npr. prilikom
prenoenja objekat je ispao iz hvataljke), ovaj model postaje nedovoljan da bi sistem
samostalno ispravio greku. Tada postaju vane i ostale informacije, kao na primer: o
poloaju teita objekta, alternativnim pozicijama za hvatanje, kvalitetu povrina
(koeficijent trenja, osobine refleksije ukoliko se koristi vizija), a ukoliko postoji vie
moguih naina hvatanja objekta potrebno je da se donese odluka o tome na koji nain
objekat treba da bude uhvaen i na koji nain da se takav hvat ostvari ukoliko nije mogue
objekat direktno uhvatiti na eljeni nain (npr. ukoliko se predmet posle isputanja iz
hvataljke otkotrljao na mesto na kojem nije direktno dohvatljiv).

9.3.2. Opisivanje zadataka


Svaki robotski program predstavlja opis (spisak) akcija koje robot treba da ostvari da bi
izvrio postavljeni zadatak. Prvi nain na koji to moe da bude uraeno je da se sve akcije
specificiraju veoma detaljno, sa svim pojedinostima ta robot treba da uradi i gde da bude u
svakom trenutku. Drugi nain, koji se jo naziva i planiranje zadataka, se sastoji u tome da
se opie gde se nalaze objekti i kako sa njima treba rukovati. Ovde se ne specificiraju akcije
robota koje treba realizovati.
Mi emo se ovde osvrnuti samo na problematiku planiranja zadataka uz napomenu da ovi
problemi jo uvek nisu reeni i da su i dalje predmet istraivanja. Problematiku moemo da
147

podelimo na tri glavne grupe:


- kako generisati putanje robota u okviru scene pri realizaciji zadataka, tako da ne
doe do sudara sa drugim objektima (planiranje trajektorija),
- kako odrediti pozicije za hvatanje objekta. Ovaj problem se uslonjava ukoliko
se koristi kompleksna hvataljka (vetaka aka) kojom je mogue realizovati
vie razliitih hvatova, pa je najpre potrebno odrediti vrstu hvata, a zatim je
potrebno odrediti i mesto na objektu gde se takav hvat moe primeniti,
- kako generisati program za fina kretanja za iju realizaciju je potrebno koristiti
informacije sa senzora.
Kratko emo se osvrnuti na svaki od ovih problema.
a) Planiranje trajektorija
Uopteno govorei, kod planiranja trajektorija je mogue postaviti jedan od dva sledea
zadatka: gde objekat A moe biti postavljen u oblasti R tako da ne doe do sudara (kolizije)
sa bilo kojim drugim objektom B koji se nalazi u R, i kako odrediti putanju pomeranja
objekta A kroz oblasr R od jedne do druge pozicije tako da tokom pomeranja ne doe do
sudara sa drugim objektima. Scena, za koju e biti izloen jedan od pristupa planiranja
trajektorije, se smatra statikom i dvodimenzionalnom, dok se objekti i prepreke
aproksimiraju poligonalnim linijama.
Najee se reavanju ovog problema prilazi tako to se objekat A smanjuje do veliine
take, a prepreke se uveavaju da bi se izvrila kompenzacija originalne veliine objekta.
Zatim se odreuje skup svih moguih pravolinijskih putanja izmeu uveanih objekata, a
kao reenje se bira najkraa.
Osnovna prednost ovog prilaza se ogleda u olakanom sraunavanju preseka kontura
objekata i prepreka tj. odreivanju situacija kada dolazi do sudara objekta i prepreka.
Mnogo se lake odredi presek take sa objektom nego jedne konture objekta sa drugom.
Osim toga, u sluaju dvodimenzionalnog problema, i ukoliko se razmatra samo translatorno
kretanje objekta, na ovaj nain se dolazi do optimalnog reenja. Mana ovakvog prilaza je to
to veliina objekta A treba da je poznata unapred i ne moe se menjati. U sluaju razliitih
objekata koje treba pomeriti na istu lokaciju u okviru scena, kompletnu proceduru treba
ponoviti za svaki predmet. Druga mana je to ovakav prilaz daje reenja koja su veoma
blizu preprekama, to svakako nije poeljno.
Ukoliko je dozvoljeno da predmet tokom kretanja i rotira raunarska sloenost se znaajno
uveava. Slina metodologija se moe primeniti i u sluaju trodimenzionalnog problema
mada dobijeno reenje u ovom sluaju ne mora da bude optimalno.
Ovaj problem je reavan i drugaijim prilazima, kao to je, na primer, eksplicitni opis
slobodnog prostora izmeu objekata na sceni. Slobodan prostor je opisivan nizom
generalisanih cilindara, a putanja je dobijena spajanjem njihovih centara. Iako ovakva
putanja nije optimalna, prua dodatnu sigurnost da nee doi do sudara jer se objekat kree
sredinom slobodnog prostora. Osim toga, ovaj nain ima prednost da opis prostora i
generisana putanja nisu zavisni od objekta koji se prenosi i mogu da se koriste za vie njih.
Reavanje zadatka obilaenja prepreka obavlja se na nivou upravljakog sistema robota.
Takoe se razmatra dvodimenzionalna scena, ali se identifikacija objekata vri kamerom
koja se nalazi iznad, tako da objekti mogu da budu na nepoznatim lokacijama. Oko svakog
objekta na sceni se definie potencijalno polje koje deluje na robotsku hvataljku odbojnom
148

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.

9.4 PRAKTINI PROBLEMI PROGRAMIRANJA ROBOTA


Pet koordinatnih sistema u robotici: koordinatni sistem radnog prostora, koordinatni sistem
osnove robota, koordinatni sistem centra alata, koordinatni sistem osnove stola i
koordinatni sistem radnog predmeta, predstavljaju osnovu za jednoznano i pogodno
opisivanje svakog zadatka. Posebno vano je da je robot dovoljno dobro projektovan i
izraen da se moe predvideti poloaj vrha robota kada se znaju unutranje koordinate.
Tada, za prostorni zadatak na bazi CAD modela moemo sprovesti programiranje robota i
na udaljenom mestu, na raunaru koji ima softver dovoljno dobar da se moe postii
realistina simulacija robota, okruenja i zadatka, jednostavnim uvoenjem CAD modela
robota, komponenti koje ine okruenje i CAD modela predmeta koji se obrauje. Potom se
programiranje obavlja jednostavnim izborom tipa pokreta, karakteristinih taaka a ostalo
se preputa programu. Program pri tome ispituje ostvarivost zadatka u smislu geometrijskih
(testiranje uslova kolizije) i dinamikih ogranienja (da je trajektorija ostvariva za dato
vreme). Tako testiran program moe se dalje optimizovati. Konano, program za dati
zadatak uvozi se u kontroler robota, i robot poinje sa radom. Od izuzetne vanosti je da su
parametri robota tako poznati da nema mogunosti greke, vee od granice potrebne za
izvrenje zadatka.
9.4.1 Programiranje robota konzolom
Programiranje konzolom (teach pendant) dugo je prisutno u robotici. Onda kada nije
mogue razviti pouzdan model zadatka, kada je potrebno obaviti neke pokrete runo, kao
150

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.

Sl. 9.6. Konzola (teach pendant) za programiranje robota.

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.

Brzina kretanja robota zadaje se na jedan od sledeih naina:


- u spoljanjim, kartezijanskim koordinatama u jedinicama mm/s,
- vremenom potrebnim da se dostigne programiranja pozicija, (s), ili

- kao brzina reorijentacije alata ili rotacije spoljanjih osa kretanja(/s).


Na ovaj nain mogu se korigovati mnogi nedostaci koji potiu od nedovoljno precizne
izrade robota ili promena nastalih usled dugotrajnog korienja. Uraunavanjem
kompenzacije u grekama pozicioniranja, recimo usled netane geometrije, od take do
take, programer robota moe bitno popraviti kvalitet procesne operacije. Kod sloenih
151

zadataka, ovakav nain programiranja je mukotrpan i veoma teko se moe predvideti


konaan ishod. Po pravilu se zavrava riskantnom probnom vonjom. Ukoliko je potrebno,
programer mora da promeni parametre kretanja, obino vreme izvrenja podzadataka, da bi
se trajektorije mogle ostvariti. Poseban problem, meutim, predstavlja potreba da se robot
ubrza do krajnjih moguih granica u datom zadatku da bi se zadatak obavio za to krae
vreme. To, kod sloenih trajektorija, predstavlja problem koji se preko konzole, ne moe
reiti. U tu svrhu razvijeni su sloeni softverski alati koji omoguavaju off-line
programiranje, uz kompletnu podrku numerikih alata i ekspertskog znanja.
Softverski alati za programiranje robota napredovali su do toga da korisnik i ne mora da
poznaje tehnologiju robota do detalja. Umesto toga, dovoljno je da je korisnik upoznat sa
performansama robota, jezikom za programiranje ili radom konzole za obuavanje, a
posebno, da poznaje konkretnu aplikaciju robota (opsluivanje maina, zavarivanje,
farbanje i slino). Softver za programiranje robota danas obuhvata mnoge funkcionalnosti
kao to su:
- hijerarhijska i modularna struktura.
- sadri funkcije, procedure, rutine kao i globalne i lokalne podatke, aritmetike i
logike izraze,
- unos podataka u vidu struktura i nizova, kao i CAD modela objekata
- korisnika imena promenljivih, rutina, ulaza i izlaza,
- sveobuhvatna kontrola izvravanja programa, rukovanje interaptima i grekama,
- izvravanje u pozadini
Skup instrukcija i funkcija koji ine operativni sistem kontrolera dat je u nastavku. Nove
instrukcije mogu se generisati formiranjem makroa sainjenim od niza standardnih
instrukcija. Dodaci osnovnog softvera koji se koriste pri programiranju specijalizovanih
aplikacija kao to je, na primer, farbanje, sadre dodatne instrukcije koje ne samo da
objedinjuju komande kretanja u forme karaketeristine za farbanje, ve sadre i
specijalizovane naredbe u kojima se nalazi ekspertsko znanje o farbanju, kao i komande za
upravljanje alatom za farbanje.
Pored ovih osnovnih komandi jezika, softverska podrka robota obuhvata i komande koje
se odnose na specifine aplikacije kao to su: zavarivanje (elektroluno i takasto),
lepljenje, bojenje, paletizacija i slino.

9.4.2 Programiranje korienjem korisnikog sotfvera visokog nivoa


Korisniki softver prisutan je kod svakog proizvoaa savrmenih robota. Simulacijom
robota i okruenja moe se dobiti realistina slika radnog procesa, koja se moe dopuniti
uvoenjem CAD modela u raznim formatima (IGES, STEP, VRML, ACIS, CATIA). Time
programer moe za vrlo kratko vreme generisati taan plan kretanja koji je neophodan za
proveru mogunosti realizacije planiranog zadatka i optimizaciju njegovog izvravanja.

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

John Iovine, PIC Robotics, McGraw-Hill Companies, Inc., 2004


John M. Holland, Designing Autonomous Mobile Robots, Elsevier, Inc., 2004
Jorge Angeles, Fundamentals of Robotic Mechanical Systems, Springer-Verlag, New York, Inc., 2003
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

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

You might also like