Professional Documents
Culture Documents
35 Industtrijska781 PDF
35 Industtrijska781 PDF
Želja da realizuje mašine koja ãe ga zameniti pri poslovima isuviše opasnim, napornim ili
monotonim, kod èoveka je prisutna, verovatno, oduvek. Veoma èesto su konstrukcije
poprimale èovekoliki izgled (Sl. 1.1. - 1.3.), delom zbog težnje da napravi sopstvenu
repliku, a delom zbog lakšeg uklapanja ovako koncipirane mašine na radno mesto koje je
veã prilagoðeno èoveku. Mada se tokom novije istorije mogu naãi primeri složenih
mehanizama (Sl. 1.2.) koji su realizovali veoma složene pokrete ovi ureðaji, pri strožijem
tumaèenju, ne mogu biti nazvani robotima. Pre svega, od robota se oèekuje znatno širi
Sl. 1.1. Skica ideje o naèinu pogona noge robota (levo) i model viteza , Leonardo da Vinèi, oko 1495. god.
Sl. 1.3. Pokretne lutke za služenje èaja Sl. 1.2. Automat èasovnièara Jaquet Droz-a
iz Japana, XVIII vek poznat pod nazivom Pisar, oko 1750.godine
spektar aktivnosti nego što su ovi automati mogli da realizuju tj. oèekuje se da mogu da
realizuju razlièite zadatke (mada tekst koji Pisar, Sl. 1.2., ispisuje može da bude proizvoljno
zadat u dužini od 40 karaktera, ipak ovaj automat može samo da piše i to samo jednom
vrstom slova), a intuitivno se oèekuje samostalno i svrsishodno delovanje robota u okolini u
1
Industrijska robotika Uvod
kojoj se nalazi. Za realizaciju takvih mašina tada nije bilo uslova.
2
Uvod Industrijska robotika
moguãe potpuno jednoznaèno odrediti kada je zapoèeo razvoja robotike. Smatra se da je za
pojavu robota od suštinskog znaèaja bio razvoj teorije upravljanja, raèunara 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) èeškog pisca Karela Èapeka.
Reè robot je u savremeni reènik 1920. godine uveo èeški pisac Karel Èapek, u svom
pozorišnom komadu R.U.R. (Rosumovi univerzalni roboti, Sl. 1.4.). Reè robot potièe od
èeške reèi robota koja oznaèava teški rad.
Postoji više definicija šta je robot. Prema definiciji Meðunarodne organizacije za
standardizaciju (standard ISO 8373) manipulacioni industrijski robot je definisan kao
”automatsko upravljani reprogramabilni višenamenski manipulator sa tri ili više upravljanih
osa, koji može 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:
- Ruèno (pomoãu operatora) upravljani ureðaji za rukovanje materijalom.
- Ureðaj za rukovanje materijalom koji je tako konstruisan da može da realizuje
samo fiksni, unapred definisani, niz pokreta (engl. Fixed Sequence Robot).
- Ureðaj za rukovanje materijalom koji je tako konstruisan da može da realizuje
niz pokreta koji lako možemo da modifikujemo (engl. Variable Sequence
Robot).
- Robot kod kojeg se kretanje može zapamtiti radi kasnijeg ponavljanja (engl.
Playback Robot).
- Numerièki upravljani roboti koji imaju ureðaj za ruèno obuèavanje
provoðenjem kroz niz definisanih položaja.
- Inteligentni roboti koji mogu da ”razumeju” svoju okolinu i u stanju su da
završe 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 poèetnim fazama razvoj uglavnom bio fokusiran na industrijsku robotiku,
savremeni trenutak i bliska prošlost su karakterisani naglom ekspanzijon razvoja robota i u
drugim oblastima života. Tako se pojavljuju: roboti za domaãinstvo, roboti koji se koriste u
terapeutske svrhe, roboti za negu starijih i onemoãalih osoba, roboti za pomoã pri hirurškim
zahvatima, roboti za gašenje požara, 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.
3
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 hirurškim zahvatima, e).protivpožarni robot, f) roboti u industriji zabave
Razmotrimo detaljnije razvoj industrijske robotike. Ako preskoèimo rane faze (pojava
motora sa obrtnim magnetnim poljem i elektronskog raèunara) za poèetak ubrzanog razvoja
industrijske robotike presudan je bio pronalazak tranzistora 1947. godine i integrisanog
kola 1959. godine što je omoguãilo minijaturizaciju, poveãanje pouzdanosti rada raèunara i
njegovu primenu u upravljanju robotima. Time su omoguãeni intenzivni proraèu-ni
prilikom realizacije programiranih putanja, obrade senzorskih informacija i upravljanja
elektriènim pogonima. U to vreme, 1961. godine, Džordžu Devolu (George Devol) je odob-
ren patent broj US 2998237, mašine za rukovanje materijalom što je predstavljalo poèetak
industrijske robotike. Prva skica patenta prikazana je na Sl. 1.7. Još u toku obrade patentne
4
Uvod Industrijska robotika
prijave, 1956. godine formirana je kompanija Junimejšn (Unimation) Inc., èiji su osnivaèi
bili Džordž Devol i Jozef Englberger. Prvi prototip je izašao iz fabrike 1959. godine i insta-
lisan ¼å u livnici u vlasništvu GM u Nju Džersiju (General Motors, New Jersey), a 1961.
godine poèinje sa stalnim radom. Poèetak industrijske primene robota prati i osnivanje
istraživaèkih 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.
5
Industrijska robotika Uvod
1
budu adekvatni . Ukoliko se u okviru radnog mesta javlja potreba za podizanjem teških
predmeta ili ukoliko je posao monoton i ponavljajuãi ili ukoliko je radni prostor kontami-
niran (buka, isparenja, prašina, ...) ili ukoliko posao tokom dugog vremenskog perioda
zahteva visok stepen koncetracije treba razmišljati o uvoðenju 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 montažu toèkova na automobile
(jedan toèak ima masu od 20-30 kg) koja se tokom jedne smene realizuje 1000 puta razvi-
jen poseban robot. Drugi karakteristièan primer monotonih i ponavljajuãih pokreta na rad-
nim mestu je pakovanje i paletizacija, dok su isparenja prilikom bojenja veoma èesto kan-
cerogena i kontaminiraju radni prostor. U oba sluèaja primena robota predstavlja adekvatno
rešenje.
Kada se govori o ceni robotizacije radnog mesta treba voditi raèuna o ceni samog robota i
ureðenju radnog mesta. Obzirom na osobinu robota da veoma taèno ponavljaju pokrete, a
da on-line prepoznavanje scene zahteva instalaciju veoma skupe opreme (ukoliko je scena
takva da je uopšte moguãe prepoznavanje u realnom vremenu) potrebno je radno mesto
realizovati kao viskoko struktuirano. To znaèi da je potrebno da se u svakom trenutku svi
elementi potrebni u radnom procesu nalaze na taèno odreðenim i unapred poznatim lokaci-
jama što se postiže korišãenjem raznih vrsta dodavaèa, paleta i sl. što zahteva ulaganje
znaèajnih sredstava. Da bi se sredstva uložena u ureðenje radnog mesta što pre vratila
veoma je poželjno da roboti rade više smena, ukoliko je moguãe, 24 èasa dnevno.
Životni vek proizvoda je sve kraãi pa se neminovno zahteva skraãivanje vremena razvoja
novog proizvoda. Osim toga, i proizvodne linije treba da budu takve da mogu da se koriste
za proizvodnju više od jednog proizvoda. Stoga se postavlja zahtev za visokim stepenom
fleksibilnosti, koji treba da bude viši 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 zaštiãenih
delova više ne prave ruèno korišãenjem š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 moguãe proizvoditi sve njihove modele (Intelligent Body Assembly
System). To nameravaju da postignu korišãenjem 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 znaèajne za
realizaciju zadatka. Prednosti èoveka u odnosu na robota u procesu proizvodnje su sledeãe:
- Èovek ima mnogo veãi broj senzora koji su boljeg ”kvaliteta” od onih koje
koriste roboti. Osim toga, èovek mnogo efikasnije koristi senzorske informacije.
- Èovek ima sposobnost uèenja i može da donosi ispravne odluke èak i kada svi
potrebni podaci ne postoje.
- Èovek je veoma fleksibilan i može se lako prilagoditi drugom zadatku (èovek je
”lak za programiranje”).
- Èovek poseduje mobilnost u smislu jednostavnog prelaska sa jednog na drugo
radno mesto.
1
Posmatrano kratkoroèno, preoptereãenje ljudskog tela dovodi do zamora, a u dužem periodu i do povreda.
6
Uvod Industrijska robotika
- Novo radno mesto ne zahteva posebnu pripremu u smislu prilagoðavanja
èoveku (male kapitalne investicije).
Ukoliko je na radnom mestu neophodno da izvršilac poseduje jednu ili više 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 îêtobàr 2004), robotika je tokom
poslednje decenije XX veka, posmatrano sa razlièitih aspekata, znaèajno napredovala.
Tako, na primer, odnos nekih osnovnih ekonomskih i tehnoloških parametara sa poèetka i
sa kraja poslednje decenije XX veka to potvrðuje: nominalna cena robota je smanjena od
43% do 80%, broj isporuèenih jedinica je uveãan za 782%, broj razlièitih tipova robota je
uveãan za 400%, ukupna nosivost je uveãana za 26%, taènost pozicioniranja je uveãana za
61%, brzina kretanja poslednje ose je uveãana za 39%, maksimalni dohvat je uveãan za
36%, srednje vreme rada pre pojave otkaza je uveãano za 137% (sada iznosi i do 100,000
sati), velièina RAM-a je uveãana za preko 400 puta a broj maksimalno upravljanih SS je
uveãan za 45%
Period veoma znaèajnog tehnološkog unapreðenja industrijskih robota tokom ovog perioda
je istovremeno praãen konstantnim rastom tržišta. U tome su prednjaèile Evropa i SAD
obzirom da je Japan najveãi deo robotizacije priveo kraju desetak godina ranije. Na kraju
XX veka, u svetu se broj robota u upotrebi približio broju od 900.000 100.000 (poznat je
broj proizvedenih i isporuèenih robota ali se ne zna taèno koliko je robota izvan upotrebe
zbog zastarelosti). Iako je preporuèeni radni vek robota dvanaest godina, nije redak sluèaj
da se roboti koriste i posle tog perioda u zavisnosti od intenziteta ranijeg korišãenja ali i od
ekonomske opravdanosti nove investicije.
Broj robota u Japanu je u tom trenutku iznosio (ukljuèujuãi i najjednostavnije manipulato-
re) 389.442, u Sjedinjenim amerièkim državama 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; Južna Koreja 125; SAD
52; EU 81; Nemaèka 127; Italija 102; Švedska 89; Velika Britanija 34; Australija 31. U
automobilskoj industriji, koja je u znatno veãoj meri robotizovana, u proseku, na 10.000
radnika dolazi 1000 robota (u Japanu 1.700, u Italiji 850 (najviše u Evropi), u SAD 590
robota, ...).
Predviðanja za period do kraja prve decenije XXI veka ukazuju na to da ãe broj novih, pro-
izvedenih i instaliranih, robota dostiãi cifru od 131.000, odnosno da ãe broj aktivnih robota
na kraju decenije dostiãi 1.150.000 jedinica. Cena robota ãe neznatno opadati a broj robota
u odnosu na broj radnika ãe biti poveãan: predviða se 352 robota na 10.000 radnika u Ja-
panu, preko 173 u Koreji, 171 u Nemaèkoj, 130 u Italiji, 90 u SAD.
Interesantno je da je 2005. godine naruèeno 59% robota antropomorfne konfiguracije, 12%,
cilindriène, 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 èišãenje,
vojni i bezbednosni roboti, graðevinarski roboti, medicinski roboti i mobilne platforme
opšte namene. Prodato je 1.9 miliona jedinica za domaãinstvo 1 milion robota-igraèaka.
Strah da ãe roboti zatvoriti mnoga radna mesta nije se pokazao u potpunosti opravdanim.
Posle oèekivanog otpuštanja na poèetku robotizacije u nekoj industrijskoj grani, ubrzani
rast obièno otvara nova radna mesta ili se, usled opšteg napretka društva, otvaraju investi-
cije u drugim granama èime se poveãava potreba za radnom snagom, koja pri tome mora da
7
Industrijska robotika Uvod
se prekvalifikuje. Opet, kao primer možemo uzeti automobilsku industriju gde se, posma-
trano u celini, i pored povremenih kriza se beleži 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.
Seegräber L., Greifsysteme für Montage, Handhabung und Industrieroboter, Expert-Verlag, 1993.
8
2 OSNOVNE DEFINICIJE I STRUKTURE
MANIPULACIONIH ROBOTA
a) b)
9
Industrijska robotika Osnovne definicije i ...
prostorno rasporeðenih, zglobova (stepeni slobode) su uvek redundantni2. Treba uoèiti da
se redundantnost definiše kao razlika u broju stepeni slobode koje zahteva realizacija
radnog zadatka i broja stepeni slobode koje poseduje mehanièka struktura robota. Ako
robot poseduje "višak" stepeni slobode za odreðeni zadatak on je za taj zadatak
redundantan. U suprotnom sluèaju nije. Prema tome, za neki zadatak robot koji ima šest ili
manje stepeni slobode može, dok za neki drugi zadatak ne mora biti redundantan. Po
pravilu, industrijski roboti imaju najviše šest stepeni slobode, mada se na tržištu veã
pojavljuju realizacije koje imaju i više SS3.
Deo prostora u kome se hvataljka robota može naãi, 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 može u svakoj taèki da
ostvari bilo koju zahtevanu orijentaciju hvataljke. Maksimalnim radnim prostorom
nazivamo deo prostora u okviru koga robot može da dohvati svaku taèku makar sa samo
jednom moguãom orijentacijom hvataljke. Jasno je da je maksimalni radni prostor veãi, i da
se u njegovim zonama koje su bliže graniènim oblastima smanjuje opseg moguãih
orijentacija hvataljke koje robot može da postigne. Taèke koje su na graniènoj spoljnoj
površini radnog prostora robot može da dohvati samo sa potpuno ispruženom mehanièkon
strukturom pa je jasno da je u tim taèkama moguãe ostvariti samo jednu orijentaciju
hvataljke. Dodatna razmatranja vezana za radni prostor su data u odeljku 2.3.
Kao što smo veã rekli mehanièka struktura industrijskog manipulacionog robota se sastoji
od segmenata koji su spojeni zglobovima. Prvi zglob, raèunato od osnove je fiksiran za
podlogu, dok je na poslednji prièvršãena hvataljka. Ukupna mehanièka konfiguracija se
uobièajeno deli na dve celine: prva tri segmenta sa pripadajuãim zglobovima (raèunato 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 taèku radnog prostora dok se zglobom hvataljke obezbeðuje zahtevana orijentacija.
Celina koju formiraju poslednja tri zgloba u kinematskom lancu mehanièke strukture robota
se naziva zglobom hvataljke. Uobièajeno je da su sva tri zgloba rotaciona (Sl. 2.3) i
realizovani tako da se sve tri ose seku u jednoj taèki (taèka A na Sl. 2.2). Ova taèka ostaje
nepokretna za bilo koju vrednost uglova u zglobovima 4, 5 i 6. Ovakva konstrukcija se
naziva Ojlerovim zglobom. Ukoliko se taèka A adekvatno pozicionira u radnom prostoru
robota izborom odgovarajuãih uglova u zglobovima hvataljke, se obezbeðuje potrebna
orijentacija hvataljke. Obzirom da se zglob hvataljke direktno nadovezuje na minimalnu
2
Ljudska ruka ima sedam stepeni slobode i redundantna je. Da biste lakše shvatili znaèaj redundantnosti naslonite
dlan na neki nepokretan objekat iz vaše okoline, npr. zid. Obezbeðujuãi da se trup i dlan ne pomeraju deo ruke
izmeðu dlana i ramena može zauzeti više položaja. Stoga je jasno da nam redundantnost omoguãava slobodu da
zahtevenu poziciju i orijentaciju hvataljke ostvarimo takvim položajem mehanièke strukture koji nam najviše
odgovara.
3
Firma Motoman je juna 2008. godine predstavila dvoruèni 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 može upravljati i nezavisno. Za detaljnije
informacije videti http://www.motoman.com/motomedia/pr/SDA10web.pdf
10
Osnovne definicije i ... Industrijska robotika
A
z0 Poslednji segment
minimalne konfiguracije
y0
x0
Sl. 2.2. Primer kinematske šeme jedne mehanièke 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 taèki A.
q5
q4 q6
Sl. 2.3. Kinematska šema zgloba hvataljke gde se sve tri ose seku u jednoj taèki (Ojlerov zglob).
11
Industrijska robotika Osnovne definicije i ...
Sl. 2.4. Kompletan sistem manipulacionih robota (mehanièka konfiguracija, upravljaèki ureðaj i ureðaj za
obuèavanje).
12
Osnovne definicije i ... Industrijska robotika
proizvoðaè robota. U sluèaju 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 definiše položaj radnog mesta i radnog
predmeta su: korisnièki koordinatni sistem (engl. user coordinates) koji se odnosi na
položaj radnog mesta i koordinatni sistem objekta (engl. object coordinate system) koji se
odnosi na radni predmet.
Ukažimo još jednom na razliku izmeðu taènosti i ponovljivosti. Naime, kada se robot veã
nalazi u nekoj taèki radnog prostora mogu se zapamtiti vrednosti koordinata u zglobovima
(za rotacione zglobove to su uglovi, za translatorne su to linearna izduženja) kojima
odgovaraju trenutni položaji segmenata. Kada se robot izvede iz te pozicije a zatim mu se
komanduje da ponovo ode u istu taèku (vrednosti koordinata koje treba ostvariti su poznate)
greška pozicioniranja se naziva ponovljivošãu. Ukoliko se robotu komanduje da ode u
taèku u kojoj prethodno nije bio i nema informaciju o koordinatama u zglobovima koji toj
poziciji odgovaraju, upravljaèki ureðaj robota mora da ih „sraèuna" na osnovu kinematskog
13
Industrijska robotika Osnovne definicije i ...
modela koji poseduje. Greška pozicioniranja je u ovom sluèaju dodatno indukovana
odstupanjem parametara modela od stvarnih parametara robota i naziva se taènošãu.
Dakle, ukoliko želimo da poveãamo preciznost izvršavanja zadataka, taènost robota je
osnovni ogranièavajuãi faktor. Stoga su razvijeni razni kalibracioni postupci pomoãu kojih
se odstupanja stvarnih parametara robota od parametara koji upravljaèki ureðaj robota
koristi minimiziraju. Ponovljivost pri tome ostaje nepromenjena.
Veã ranije smo ukazali da se sam radni prostor može dalje deliti na maksimalni i potpuno
operativni u zavisnosti od moguãnosti pristupanja svakoj njegovoj taèki sa proizvoljnom
orijentacijom hvataljke. U sluèaju da je potrebno da se vodi raèuna o održavanju željene
taènosti položaja pod optereãenjem (Sl. 2.7), radni prostor se deli na koncentriène prostore
Sl. 2.7. Radni prostor robota i maksimalno dozvoljeno optereãenje na prirubnici hvataljke na razlièitim pozicijama
u koordinatnom sistemu osnove.
kojima se pripisuju vrednosti nosivosti robota. Tako je radni prostor pri najveãoj nosivosti
(a da je i dalje obezbeðena željena taènost pozicioniranja) daleko manji od radnog prostora
neoptereãenog manipulacionog robota. Vrlo èesto se u podacima proizvoðaèa, samo navodi
podatak o velièini radnog prostora neoptereãenog robota, a tek se na osnovu posebnih
zahteva daje informacija o velièina i obliku radnog prostora pod delimiènim ili
maksimalnim optereãenjem.
Èesto se radno prostor koji odgovara odreðenoj taènosti pozicioniranja u kombinaciji sa
nosivošãu robota prikazuje putem familije krivih za približne vrednosti nosivosti robota u
vertikalnoj ravni. Ove krive su odreðene 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 spoljašnjim granicama radnog prostora
smanjena za 70% u odnosu na unutrašnje granice.
14
Osnovne definicije i ... Industrijska robotika
2.4 OSNOVNE MEHANIÈKE STRUKTURE (KONFIGURACIJE)
MANIPULACIONIH ROBOTA
U literaturi se mogu pronaãi razni naèini sistematizacije industrijskih manipulacionih
robota. Veoma èesto su kriterijumi koji se koriste bazirani na njihovim tehnièkim
karakteristikama i važe u potpunosti samo u odreðenom vremenskom periodu. Ovde je
usvojena podela koja se bazira na tipu mehanièke strukture minimalne konfiguracije robota
obzirom da to predstavlja jednu od veoma važnih karakteristika, a koja je relativno
nepromenljiva tokom vremena.
Prikazaãemo osnovne konfiguracije industrijskih robota.
Sl. 2.8. Kinematska šema i fotografija tipiène robotska konfiguracija antropomorfnog tipa
15
Industrijska robotika Osnovne definicije i ...
2.4.2 Robot sferne (polarne) konfiguracije
I kod sferne konfiguracije osa prvog zgloba je usmerena vertikalno naviše dok je osa
drugog horizontalna i upravna na osu prvog zgloba. Treãi 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 treãi zglob omoguãavaju pozicioniranje vrha minimalne konfiguracije u bilo kojoj
taèki vertikalne ravni, dok se rotacijom vertikalne ravni oko ose prvog zgloba vrh robota
može pozicionirati bilo gde u okviru radnog prostora
Ova konfiguracija je nazvana sfernom po obliku radnog prostora koji predstavlja deo sfere,
a polarnom obzirom da ugao rotacije drugog zgloba i izduženje treãeg zgloba odgovaraju
polarnim koordinatama.
Treba primetiti da, pošto je treãi zglob translatoran, prilaz radnom mestu treba da bude bez
prepreka obzirom da ih robot ove konfiguracije ne može zaobiãi.
16
Osnovne definicije i ... Industrijska robotika
je horizontalna tako da se njegovim pokretanjem vrši primicanje odnosno odmicanje
hvataljke u odnosu na vertikalni stub robota.
Ova konfiguracija se naziva cilindriènom prema obliku radnog prostora koji predstavlja deo
cilindra. Roboti ove konfiguracije imaju veoma malo sprezanje meðu zglobovima.
3
1 2
Sl. 2.13. Robot pravougle konfiguracije postavljen na postolje koje se nalazi iznad mašine koju opslužuje
18
Osnovne definicije i ... Industrijska robotika
LITERATURA
An C., Atkenson C, and Hollerbach J.: Model-Based Control of a Robot Manipulator, The MIT Press, 1998.
Angeles J.: Fundamentals of Robotic Mechanical Systems, Theory, Methods and Algorithms, Springer-Verlag,
2003.
Asada H. and Slotine J.J.: Robot Analysis and Control, John Wiley and sons, 1985.
Ben-Zion Sandler, Robotics- designing the Mechanisms for Automated machinery, Prentice – Hall, Inc., 1991
Bruyninckx H. and De Schutter J.: Introduction to Inteligent Robotics, Katholieke Universteit Leuven, 2001.
Craig J.: Introduction to Robotics: Mechanics & Control, Addison-Wesley, 1986.
Dorf. R and Bishop R.: Modern Control Systems, Addison-Wesley, 1995.
Eugene I. Rivin, Mechanical design of robots, McGraw-Hill, Inc., 1987
Fu K., Gonzales R., and Lee C.: Robotics: Control, Sensing, Vision and Intellignece, McGraw-Hill Book
Company, 1987.
Fu K., Gonzales R., and Lee C.: Robotics: Control, Sensing, Vision and Intellignece, McGraw-Hill Book
Company, 1987.
J.M.Selig, Introductory Robotics, Prentice – Hall, Inc., 1992
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
3 KINEMATSKI MODEL ROBOTA I:
POLOŽAJ I ORIJENTACIJA
ROBOTA U PROSTORU
3.1 UVOD
Veã smo ranije pomenuli da se robotski mehanizam može predstaviti sistemom krutih tela
spojenih zglobovima koji nazivamo kinematskim lancem. Radi matematièkog opisa
kretanja segmenata koji simultanim kretanjem odreðuju ponašanje hvataljke, za svaki
segment se, prema odreðenim pravilima, postavlja koordinatni sistem koji se kreãe zajedno
sa njim. Pošto svaki od zglobova dopušta samo jedno relativno kretanje (rotaciono ili
translatorno), položaj 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 naèin je moguãe, poznavajuãi geometrijske karakteristike robota i trenutne velièine
uglova u zglobovima, jednoznaèno odrediti položaj i orijentaciju poslednjeg segmenta
robota u odnosu na poèetni. Obrnut zadatak, odrediti vrednosti uglova u zglobovima tako
da hvataljka bude u taèno odreðenoj poziciji i sa željenom orijentacijom je mnogo složeniji
i nije uvek jednoznaèno rešiv.
po pox io poy jo poz ko
(3.1)
dok izražen 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 izražen vektor p , reè je o reprezentacijama
21
Industrijska robotika Kinematika: položaj robota
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 slièan naèin kao u
izrazima (3.3-3.5), izražavajuãi komponente vektora p1 preko vektora p0 možemo
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: položaj robota Industrijska robotika
da je skalarni proizvod vektora ( i0 j0 j0 i0 ) komutativan lako se može pokazati da važi
cos sin 0
Rz , sin cos 0
(3.11)
0 0 1
gde Rz , oznaèava matricu rotacije oko z ose za ugao . Zbog pojednostavljenog zapisiva-
nja nadalje ãemo, kada god je to pogodno, koristiti skraãeni zapis sin S i cos C ,
pa skraãenim zapisivanjem (3.11) postaje
23
Industrijska robotika Kinematika: položaj robota
C S 0
Rz , S C 0
(3.12)
0 0 1
Na slièan naèin 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 naèin kao ranije sledi
C 0 S
R y , 0 1 0
(3.13)
S 0 C
Za rotaciju koordinatnog sistema oko x ose (Sl. 3.4) sledi
1 0 0
Rx , 0 C S
(3.14)
0 S C
Matrice rotacija (3.12), (3.13) i (3.14) koje predstavljaju rotacije oko koordinatnih osa x,y i
z za odreðeni ugao se nazivaju elementarnim matricama rotacije.
24
Kinematika: položaj robota Industrijska robotika
Primer 3.1.
Za sluèaj relativnog položaja 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
Veã je ranije reèeno 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
25
Industrijska robotika Kinematika: položaj 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 uporeðivanjem izraza (3.16) i (3.18) sledi
R02 R01 R12
(3.19)
Izraz (3.19) opisuje transformaciju koordinata vektora pri više 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 sledeãe: da bi dobili
koordinate istog vektora u odnosu na koordinatni sistem Oo-xoyozo vektor p2 treba prvo
pomnožiti matricom rotacije R12 da bi dobili njegove koordinate u odnosu na koordinatni
sistem O1-x1y1z1, a zatim, novodobijeni vektor pomnožiti matricom rotacije R01 . Rezultat je
vektor p izražen u odnosu na koordinatni sistem O0-x0y0z0.
Izraz (3.18) se može interpretirati i na drugi naèin. Pretpostavimo sada da se u poèetnom
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 više uzastopnih rotacija
koordinatni sistem koji se kreãe nazivamo tekuãim koordinatnim sistemom. Posebno je
važno da se istakne da je od izuzetne važnosti redosled rotacija. Da bi to ilustrovali,
razmotrimo dve uzastopne rotacije: rotaciju za ugao oko y ose, a zatim rotacija za ugao
oko tekuãe z ose. U skladu sa predhodnim razmatranjem sledi
C 0 S C S 0 C C C S S
R R y , Rz , 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 tekuãe y ose, sledi
C S 0 C 0 S C C S C S
R Rz , Ry , S C 0 0 1 0 S C C S S
0 0 1 S 0 C S 0 C
Obzirom da rezultat nije isti, moženo zakljuèiti da množenje matrica rotacije nije
komutativno i da se mora voditi raèuna o redosledu rotacija. Dakle,
R R*
Ilustrovaãemo ovo još oèiglednije sledeãim primerom. Zarotirajmo paralelepiped oko x0 ose
za + 2 , a zatim oko novog položaja y ose ponovo za + 2 . Položaj paralelepipeda posle
26
Kinematika: položaj robota Industrijska robotika
svake od rotacija je prikazan na Sl. 3.6.a.
a)
z0 y
y
2
1
0
1 0 z
2 2
y0
x
1
0 0
x0
x
z
1
b)
z
0
0 2
z
1 2
1
1 0
y
0
y
0
0
y
1
z x
x 1
Meðutim, promenimo redosled rotacija, i paralelepiped zarotirajmo prvo oko y0- ose za
2 , a zatim oko x- ose za 2 . Položaj paralelepipeda posle svake od transformacija je
prikazan na Sl. 3.6.b. Oèigledno je da je rezultujuãi položaj paralelepipeda drugaèiji nego u
prethodnom sluèaju.
U svim prethodnim primerima rotacije su realizovane oko osa tekuãeg 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 položaj koordinatnog sistema je prikazan sa O1-x1y1z1), a zatim za ugao
oko ose z0 (novi položaj koordinatnog sistema je prikazan sa O2-x2y2z2).
Sl. 3.7. Uzastopne rotacije koordinatnog sistema oko osa nepokretnog koordinatnog sistema
Pošto se prva rotacija vrši oko ose y0 koja istovremeno predstavlja i trenutnu osu rotacije
važi:
p0 R y , p1
Pošto se sledeãa rotacija vrši 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: položaj robota
ugao , a zatim ponovo izvršiti rotaciju oko ose y0 za ugao . Prema tome, sledi
p1 R y , Rz , R y , p2
(3.22)
Konaèno, ukupna transformacija se dobija u sledeãoj formi:
p0 Ry , Ry , Rz , R y , p2 ; p0 Rz , Ry , p2
(3.23)
Prema tome, možemo da zakljuèimo da za rotacije oko fiksnog koordinatnog sistema
možemo 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 izvršimo
rotaciju oko x0 za 2 , a zatim oko y0 isto za 2 , što je prikazano na Sl. 3.8.
t treba najpre zarotirati tako da se poklopi sa nekom od koordinatnih osa, npr. sa z osom,
zatim treba izvršiti rotaciju za posmatrani ugao i na kraju vratiti osu u njen prvobitni
položaj. Da bi realizovali predloženi naèin 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 izvršiti traženu rotaciju za ugao , i na kraju vratiti vektor t u
prvobitni položaj. Prema tome, sledi
28
Kinematika: položaj robota Industrijska robotika
Rt , Rz , Ry , Rz , Ry , Rz ,
(3.24)
Sa Sl. 3.9 je oèigledno
ty
sin cos
tx
,
t x2 t 2y t x2 t y2
(3.25)
sin t x2 t 2y , cos t z
pa se, množenjem matrica iz (3.24) dobija tražena matrica rotacije u obliku:
t x2 (1 C ) C t x t y (1 C ) t z S t x t z (1 C ) t y S
Rt , t x t y (1 C ) t z S t y2 (1 C ) C t y t z (1 C ) t x S
. (3.26)
t x t z (1 C ) t y S t y t z (1 C ) t x S t z2 (1 C ) C
29
Industrijska robotika Kinematika: položaj robota
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
1
0
(3.28)
S C S S C
èime je matrica rotacije odreðena.
C C C S S S C C S C S S
R S C S S S C C
1
0 S S C C S
(3.29)
S C S C C
èime je i za ovaj sluèaj definisana odgovarajuãa matrica rotacije.
30
Kinematika: položaj robota Industrijska robotika
ugao nazivamo uglom valjanja (odgovara boènom valjanju broda) a ugao nazivamo
uglom propinjanja. Zbog veã steèene navike korišãenja, navodimo termine za ove uglove
na engleskom jeziku: ugao skretanja se naziva yaw, ugao valjanja roll, a ugao propinjanja
pitch.
Matrica rotacije ima sledeãi oblik
R01 Rz , R y , Rx ,
ili u konaènoj 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
(3.30)
S C S C C
r r r 1
arccos 11 22 33
2 (3.32)
a projekcije orta ose t su date sa
r32 r23
t r13 r31
1
2 sin (3.33)
r21 r12
31
Industrijska robotika Kinematika: položaj robota
3.2.7 Homogene transformacije
Do sada smo razmatrali transformaciju koordinata samo usled rotacije dva koordinatna sis-
tema, meðutim, 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 ,
32
Kinematika: položaj robota Industrijska robotika
R02 R01 R12
(3.39)
d 02 d01 R01 d12
(3.40)
Matrica rotacije se, kao i ranije, može izraziti proizvodom dve uzastopne matrice
R02
rotacije R01i R12 .
Vektor rastojanja koordinatnih poèetaka d 02 sistema Oo-xoyozo i O2-x2y2z2
je izražen kao vektorski zbir vektora d 01 i d12 , ali moramo uoèiti da je neophodno da se
vektor d12 izrazi odnosu na bazni koordinatni sistem Oo-xoyozo. (ukoliko želimo da vršimo
operacije nad dva vektora, oni moraju biti predstavljeni u odnosu na isti koordinatni
sistem).
Vezu izmeðu koordinatnih sistema Oo-xoyozo, O1-x1y1z1 i O2-x2y2z2 iz prethodnog primera
možemo izraziti proizvodom matrica formiranih od matrice rotacije i vektora translacije na
sledeãi naèin:
R01 d10 R12 d12 R01 R12 R01 d12 d10
0 1 0 1 0
1 (3.41)
Lako se može uoèiti da i rezultujuãa 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 sledeãi naèin od matrice rotacije i vektora translacije izmeðu dva
koordinatna sistema
33
Industrijska robotika Kinematika: položaj robota
translatorno kretanje su:
10 0 a 1 0 0 0 1 0 0 0
0 0 1 0 0
1 0 0
H y,b
0 1 0 b
H z, c
00 1 0 , 0 0 1 0 , 0 0 1 c
H x, a
(3.43.)
00 0 1 0 0 0 1 0 0 0 1
gde matrica Hx,a oznaèava translaciju duž ose x za dužinu a, matrica Hy,b translaciju duž ose
y za dužinu b, a matrica Hz,c translaciju duž ose z za dužinu c. Èesto se radi asocijativnijeg
obeležavanja umesto Hx,a može sresti oznaka Transx,a , umesto Hy,b se može sresti Transy,b ,
a Transz,c umesto Hz,c. Osnovne homogene transformacije za rotaciono kretanje su:
1 0 0 0 C 0 S 0 C S 0 0
0 C S 0 0 1 0 0 S C 0 0
, H y, , H z,
0 S C 0 S 0 C 0 0 1 0 (3.44.)
H x,
0
0 0 0 1 0 0 0 1 0 0 0 1
gde matrica Hx, oznaèava 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 sluèaju se radi jasnijeg
obeležavanja umesto Hx, može sresti oznaka Rotx, , umesto Hy, ö se može sresti Roty, ö , a
Rotz, umesto Hz,. U svim ovim sluèajevima je jasno da se radi o homogenim
transformacijama a ne o matricama rotacije po dimenzijama matrica.
4
Poslednji segment robota može biti, zavisno od radnog zadatka, hvataljka ili neki ureðaj (npr. aparat za taèkasto
ili šavno zavarivanje, glodalo, prskalica za bojenje, ...).
34
Kinematika: položaj robota Industrijska robotika
kinematski problem i nije jednoznaèno rešiv. Svaki od ovih zadataka ãe u okviru ove glave
biti posebno obraðen.
Koordinatni sistemi se na segmente mogu postavljati na razlièite naèine, jedino položaj sva-
kog od njih u odnosu na “sopstveni” segment uvek mora biti potpuno poznat i tokom vre-
mena nepromenljiv. Meðutim, odreðena sistematizacija u izboru položaja koordinatnih sis-
tema je neophodna, a opšte prihvaãen dogovor o naèinu postavljanja koordinatnih sistema
je poznat kao Denavit-Hartenbergova ili DH notacija (konvencija). Prvi sistematski naèin
1i
H0i-1
1
H0
1n
H00
Sl. 3. 13. Transformacija položaja “lokalnih” koordinatnih sistema i rezultujuãi položaj hvataljke tokom kretanja
robota
35
Industrijska robotika Kinematika: položaj robota
1 0 0 ai
H Pi Rot x ,i Tranx , ai
0 C i S i 0
0 S i C i 0 (3.47)
0 0 0 1
ili u formi jedinstvene transformacije izmeðu i-1-vog i i-tog koordinatnog sistema
C i S i C i S i S i
ai C i
S ai S i
C i C i C i S i
H ii1 i
0 S i Ci di . (3.48)
0 0 0 1
Prema tome, ukupna transformacija izmeðu dva koordinatna sistema proizvoljnog
meðusobnog položaja ali takvog da su ispunjena dva ranije navedena uslova, se može
opisati sa èetiri elementarne transformacije. Drugim reèima, korišãenjem DH notacije,
ukupna transformacija je opisana sa samo èetiri parametra è, á, d, i a, koji se nazivaju
Denavit–Hartenbergovim (ili skraãeno DH) parametrima.
36
Kinematika: položaj robota Industrijska robotika
Da bi se meðusobni položaj dva koordinatna sistema koji pripadaju susednim segmentima
robotskog mehanizma, u opštem sluèaju, mogao opisati transformacijom (3.48) potrebno je
da se obezbedi da koordinatni sistemi koje pridružujemo pojedinaènim segmentima
mehanizma zadovoljavaju oba navedena uslova ( xi zi 1 i xi seèe 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 obeležene sa zi, zi-1 i zi-2, i da se, u opštem sluèaju, mimoilaze u
prostoru. Pretpostavimo, dalje, da je koordinatni sistem sa poèetkom Oi-1 veã postavljen.
Tada je moguãe odrediti zajednièku normalu izmeðu osa zi i zi-1 kao zajednièku normalu
izmeðu dve mimoilazne prave (na Sl. 3.15. je ova zajednièka normala obeležena sa ai ).
Ako u pravcu zajednièke normale ai postavimo osu xi (smer se može 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 meðusobni položaj možemo opisati Denavit-Hartenbergovim parametrima.
DH parametri è, d, a i á izmeðu dva koordinatna sistema koji se nalaze na dva susedna
segmenta su definisani na sledeãi naèin:
- parametar a je rastojanje izmeðu osa zi-1 i zi mereno duž ose xi
- parametar d je rastojanje koordinatnog poèetka Oi-1 i preseka osa xi i zi-1 mereno
duž ose zi-1;
- parametar je ugao izmeðu osa zi-1 i zi (od ose zi-1 ka osi zi) meren u ravni
normalnoj na osu xi;
- parametar je ugao izmeðu osa xi-1 i xi meren u ravni normalnoj na osu zi-1
- Parametre è, d, a i á je moguãe na slièan naèin odrediti i u sluèaju linearnog
(translatornog) zgloba, koji je prikazan na Sl. 3.16. Kod translatornog zgloba
položaj samog zgloba nije važan jer ãe se prilikom kretanja uvek na isti naèin
translatorno pomerati deo sistema koji
se u kinematskom lancu nalazi posle njega. Zbog toga se koordinatni sistem postavlja tako
da se parametri uproste, tj. zi-1 osa se postavlja u pravcu izduživanja translatornog zgloba i
bira se da ai 0 . Osa xi se postavlja u istom ili suprotnom smeru od vektora zi-1×zi.
37
Industrijska robotika Kinematika: položaj robota
Velièina d odgovara unutrašnjoj koordinati qi. Nulta vrednost qi odgovara položaju kada se
koordinatni poèeci Oi i Oi-1 poklapaju. Za translatorni zglob ugao èi, nije promenljiv veã
fiksan i predstavlja kinematski parametar, isto kao i ugao i.
38
Kinematika: položaj robota Industrijska robotika
Treba obratiti pažnju da kod DH notacije postoji neslaganje u rednom broju zgloba i njemu
pripadajuãeg koordinatnog sistema. Naime, numeracija segmenata kinematskog lanca kreãe
od segmenta vezanog za podlogu i poèinje sa 1 (1, 2, ..., n). Numeracija zglobova takoðe
poèinje od podloge na isti naèin kao i kod segmenata, ali se koordinatni sistemi koji
pripadaju zglobovima numerišu drugaèije. Osa baznog zgloba (zglob kojim se robot
povezuje sa podlogom) se uvek obeležava sa z0, tj. numeracija poèinje od nule. To znaèi, da
je i-ti zglob prvi zglob i-tog segmenta dok je odgovarajuãi koordinatni sistem i-1-vi što se
može videti na Sl. 3.14. i Sl. 3.15. Na isti naèin, prvi zglob poèetnog segmenta kinematskog
lanca (segment 1) je zglob 1, a njemu pripadajuãi koordinatni sistem je O0.
Procedura formiranja kinematskog modela (postavljanja koordinatnih sistema i formiranja
matrica transformacije) poèinje identifikacijom osa svih zglobova jer tip i raspored
zglobova moraju biti poznati unapred. Pri odreðivanju položaja koordinatnih sistema prema
DH konvenciji treba voditi raèuna o nekim specifiènostima na koje ãemo sada ukazati.
Najpre treba ukazati na èinjenicu da se bazni koordinatni sistem može postaviti bilo gde na
osi z0 (njegov položaj nije jednoznaèno odreðen i može 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 naèin opisan ranije.
Razmotrimo, dalje, situaciju koja se javlja ako dve ose zglobova zi-1 i zi pripadaju istoj
ravni. Tu se mogu javiti dva sluèaja:
- ose zi-1 i zi se seku,
- ose zi-1 i zi su paralelne.
U drugom sluèaju, koji je sasvim èest u praksi, postoji beskonaèno mnogo zajednièkih
normala osa zi-1 i zi. U tom sluèaju se osa xi bira tako da bude normalna a da zi-1 i da prolazi
kroz Oi-1. Primetimo da je u tom sluèaju d i jednako nuli, a zbog paralelnosti osa zi-1 i zi
parametar i je takoðe jednak nuli. Kada je osa xi odreðena, osa yi se bira tako da oformi
desni koordinatni sistem.
U prvom sluèaju, 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 poèetka Oi je u
preseku osa zi-1 i zi mada se može izabrati bilo koja taèka na osi zi. Treba primetiti da je u
ovom sluèaju parametar ai jednak nuli.
Takoðe treba obratiti pažnju na postavljanje koordinatnog sistema na poslednji (n-ti)
segment, tj. na postavljanje koordinatnog sistema hvataljke (Sl. 3.15). Koordinatni poèetak.
39
Industrijska robotika Kinematika: položaj 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 mehanièke konfiguracije se može
sistematizovati u nekoliko sledeãih koraka:
1. Locirati i oznaèiti 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 poèetak Oi na mestu gde zajednièka normala na ose
zi i zi-1 preseca osu zi. Ako se zi preseca sa zi-1 onda Oi postaviti u taèku
preseka, a ako su ose zi i zi-1 paralelne onda Oi postaviti u zglob zi.
4. Postaviti osu xi duž zajednièke normale izmeðu zi-1 i zi kroz taèku Oi ili u
pravcu koji je normalan na ravan odreðenu 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 naèin.
7. Formirati tablicu parametara ai , d i , i , i .
8. Formirati homogenu matricu transformacije zamenjujuãi vrednosti
parametara iz tablice, formirati ukupnu matricu transformacije množeãi
redom sve matrice od poèetne do krajnje.
Odavde se može zakljuèiti sledeãe:
- koordinatni sistemi se postavljaju u zglobove robota,
- na svakom segmentu se nalaze po dva koordinatna sistema,
- prvi koordinani sistem (raèunato od poèetka (baze) kinematskog lanca pripada
prethodnom segmentu, drugi koordinatni sistem je vezan za dotièni segment i
njegov položaj se menja zajedno sa promenom položaja dotiènog segmenta.
Na opisani naèin je moguãe u potpunosti definisati položaje svih koordinatnih sistema i
oformiti ukupnu matricu transformacije koja povezuje poziciju i orijentaciju krajnjeg
koordinatnog sistema kinematskog lanca (koordinatnog sistema hvataljke) izraženu u
odnosu na bazni (nepokretni) koordinatni sistem
Primer 3.2:
Odrediti tablicu DH parametara i matrice homogenih transformacija za ravanski
trosegmentni robotski manipulator prikazan na Sl. 3.18.
40
Kinematika: položaj robota Industrijska robotika
Primer 3.3:
Odrediti tablicu DH parametara i matrice homogenih transformacija za trosegmentnu
antropomorfnu konfiguraciju sa Sl. 3.19 ako su dužine drugog i treãeg segmenta a2 i a3,
respektivno.
Položaji odgovarajuãih koordinatnih sistema prema DH notaciji su ucrtani na Sl. 3.19. dok
su Denavit - Hartenbergovi parametari dati u Tabeli 2:
41
Industrijska robotika Kinematika: položaj robota
Tabela 2. Denavit - Hartenbergovi parametri
Segment ai i di i
1 0 ð/2 0 q1
2 a2 0 0 q2
3 a3 0 0 q3
C1 0 S1 0 C 2 S 2 0 a2 C 2 C 3 S 3 0 a3 C 3
S1 0 C1 0 S2 C2 0 a2 S 2 S3 C3 0 a3 S 3
H 01 , H12 , H 23 (3.49)
0 1 0 0 0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1
42
Kinematika: položaj 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 reèima, ž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
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 pojedinaèni
èlanovi u ovim dvema matricama treba da su jednaki. Izjednaèavanjem 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 naèin smo dobili sistem od 9 jednaèina sa 3 nepoznate koji možemo rešiti na više
naèina. Ako (3.51) pomnožimo sa S , a (3.54) sa C
r11 S S C C
(3.60)
r21 C C S C
(3.61)
i od jednaèine (3.60) oduzmemo jednaèinu (3.61), dobijamo
43
Industrijska robotika Kinematika: položaj robota
r11 S r21 C 0
S
tg 21
r
C r11
odakle, konaèno, sledi
arctg
r21
r11
Zatim, pomnožimo (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
r32 C r33 S 0
pa konaèno dobijamo
S
tg 32
r
C r33
arctg
r32
r33
Da bi odredili ugao pomnožimo (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
(3.66)
Ako jednaèinu (3.57) pomnožimo sa C i podelimo sa S dobijamo
C
r31 C
S (3.67)
Ako desnu stranu u (3.66) zamenimo sa (3.67) dobijamo
C
r11 C r21 S r31
S
44
Kinematika: položaj robota Industrijska robotika
r11 C r21 S C
r31 S
odakle sledi
C r31
tg
S r11 C r21 S
i konaèno dobijamo
r31
arctg
r11 C r21 S
Time je direktan kinematski problem u potpunosti rešen
Primer 3.4:
Odrediti tablicu DH parametara i matrice homogenih transformacija za sferni zglob èija
kinematska šema je prikazana na Sl. 3.19.
Položaj 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 i di i
4 0 2 0 q4
5 0 2 0 q5
6 0 0 d6 q6
45
Industrijska robotika Kinematika: položaj robota
C4 0 S 4 0 C5 0 S5 0
4 0 C 5 0
H 34 H 45
S 0 C4 S5 0
0 1 0 0 0 1 0 0 (3.68)
0 0 0 1 0 0 0 1
C6 S 6 0 0
S6 0
H 56
C6 0
0 0 1 d6
0 0 0 1
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 (3.69)
S 5 C 6 S5 S 6 C5 C5 d6
0 0 0 1
èime je zadatak rešen. 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 uoèiti
46
Kinematika: položaj robota Industrijska robotika
da je konstruktivno rešenje robota takvo da obezbeðuje da se sve tri ose zglobova hvataljke
seku u jednoj taèki, tj. zglob hvataljke je Ojlerov zglob..
Koordinatni sistemi, postavljeni u skladu sa DH notacijom su prikazani na Sl. 3.21. a
odgovarajuãi DH parametri u sledeãoj tabeli:
Tabela 4. Denavit-Hartembergovi parametri
Segment i 1 ai 1 di qi
1 0 0 0 q1
0
2 -90 0 0 q2
3 0 a2 d3 q3
0
4 -90 a3 d4 q4
0
5 90 0 0 q5
0
6 -90 0 0 q6
C 3 S 3 0 a2 C 4 S 4 0 a3
S 3 C3 0 0
H 23 H 34
0 0 1 d4
0 0 1 d3 , S 4 C 4 0 0 (3.70)
0 0 0 1 0 0 0 1
C 5 S 5 0 0 C 6 S 6 0 0
H 45 H6 0
0 0 1 0 0 1 0
S 5 C 5 0 0 , 5 S 6 C 6 0 0
0 0 0 1 0 0 0 1
Ukupna matrica transformacije se može dobiti množenjem pojedinaènih matrica
transformacije. Da bi ovaj primer mogli koristiti u narednom odeljku kada budemo govorili
o rešavanju inverznog kinematskog zadatka dodatno ãemo izvesti neke meðurezultate.
Pomnožimo najpre H 45 i H 56 , odakle sledi
C 5C 6 C 5S 6 S 5 0
S6 1 0
H 46 H 45 H 56
C6
S 5C 6 S 5S 6 C 5 0 (3.71)
0 0 0 1
47
Industrijska robotika Kinematika: položaj robota
Na isti naèin možemo odrediti matricu transformacije H 36
C 4C 5C 6 C 4C 5S 6 S 4C 6 C 4S 5 a3
d 4 0
H 36 H 34 H 46
S 5C 6 S 5S 6 C5
S 4C 5C 6 C 4S 6 S 4C 5S 6 C 4C 6 S 4S 5 0 (3.72)
0 0 0 1
Ukupna transformacija izmeðu prvog i treãeg koordinatnog sistema je
C 23 S 23 0 a2 C 2
0
H13 H12 H 23
0 1 d3
S 23 C 23 0 a2 S 2 (3.73)
0 0 0 1
gde su iskorišãene poznate relacije iz trigonometrije
C 23 C 2C 3 S 2 S 3
i
S 23 S 2C 3 C 2 S 3
pa za ukupnu transformaciju izmeðu prvog i šestog koordinatnog sistema dobijamo
rˆ21 S 4C 5C 6 C 4 S 6
rˆ12 C 23 C 4C 5S 6 S 4C 6 S 23S 5S 6
rˆ22 S 4C 5S 6 C 4C 6
rˆ32 S 23 C 4C 5S 6 S 4C 6 C 23S 5S 6
(3.75)
rˆ13 C 23C 4 S 5 S 23C 5
rˆ23 S 4S 5
pˆ x a2C 2 a3C 23 d 4 S 23
48
Kinematika: položaj robota Industrijska robotika
pˆ y d3
pˆ z a3 S 23 a2 S 2 d 4C 23
I konaèno, dodajuãi transformaciju H 01 izmeðu baznog i prvog koordinatnog sistema veã
staèunatoj transformaciji H16 , za ukupnu transformaciju H 06 dobijamo
r32 S 23 C 4C 5S 6 S 4C 6 C 23S 5S 6
p z a3 S 23 a2 S 2 d 4C 23
Jednaèine (3.77) konstituišu kimenatièki model robota PUMA i predstavljaju osnovu za
kinematsku analizu ovog robotskog manipulatora.
49
Industrijska robotika Kinematika: položaj robota
rešenje. Imajuãi na umu da se homogena matrica ukupne transformacije sastoji od matrice
rotacije i vektora translacije proizilazi da je potrebno simultano rešiti skup od 12
trigonometrijskih nelinearnih jednaèina. Prikazaãemo dva osnovna naèina rešavanja ovog
problema: analitièki i numerièki. Analitièki dobijeno rešenje ima sve prednosti koje svako
analitièko rešenje ima (moguãnost analize izraza kojim je rešenje dato i uoèavanje
specijalnih sluèajeva (kod nas su najinteresantnije singularne konfiguracije) kompaktan
izraz koji zahteva najmanji broj raèunskih operacija pri apliciranju na raèunar, ...), ali je put
do rešenja veoma složen. Numerièko rešenje dobijamo korišãenjem raèunara i izbegavamo
zamorno raèunanje, ali kao rezultat dobijamo samo broj i ne možemo ga koristiti kao
rešenje u analitièkom obliku.
Sa tri naredna primera ãemo ilustrovati analitièko rešavanje inverznog kinematskog
problema.
Primer 3.6.
Ilustrovaãemo najpre, rešavanje inverznog kinematskog zadatka na jednostavnom primeru
trosegmentnog mehanizma prikazanog na Sl. 3.18. Pretpostavimo da se traži da kraj drugog
segmenta (ustvari, koordinatni poèetak sistema O3) zauzima poziciju definisanu
koordinatama (x, y) i da je njegova orijentacija zadata uglom gde oèigledno važi
q1 q2 q3 . Zadatak je da se odrede uglovi q1, q2 i q3 koji to obezbeðuju.
Jasno je da je preduslov za rešavanje ovog zadatka postojanje kinematskog modela.
Podsetimo se da je to veã uraðeno u Primeru 3.2. Izraz za konaènu transformaciju od
baznog do krajnjeg koordinatnog sistema koja je izvedena u Primeru 3.2 obzirom na
postavljeni zadatak možemo napisati u nešto izmenjenoj formi
C S 0 x
S C 0 y
H 03
0 0 1 0 (3.78)
0 0 0 1
pri èemu važi
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 jednaèine (3.81) i (3.82) dobijamo
x 2 y 2 l12 l22 2l1l2 C 2
(3.83)
odakle sledi
x 2 y 2 l12 l22
C2
2l1l2 .
50
Kinematika: položaj robota Industrijska robotika
Da bi rešenje postojalo mora desna strana jednaèine imati vrednost izmeðu -1 i +1, na
osnovu èega sledi
S 2 1 C 22
pa se ugao q2 može odrediti na osnovu izraza
S2
q2 arctg
C2 (3.84)
Pošto je ugao q2 odreðen preðimo na odreðivanje ugla q1 . Napišimo izraze za x i y u
5
formi
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)
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 )
y r sin ( q1 )
Pošto je
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 utièe na k 2 što utièe na vrednost q1 . Na kraju se
5
Za raèunarsko rešavanje funkcije arctg preporuèujemo korišãenje funkcije Atan2, jer vodi raèuna u kom se od
èetiri kvadranta nalazi traženi ugao i dodeljuje rešenju ispravan znak.
51
Industrijska robotika Kinematika: položaj robota
vrednost za q 3 može odrediti iz
q 3 q 2 q1
(3.89)
Time je zadatak potpuno rešen.
Primer 3.7.
Sledeãi primer kojim ãemo ilustrovati analitièko rešavanje 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 taèka koju treba da dosegne vrh robota data
koordinatama (x, y, z). Obzirom da robot ima samo tri stepena slobode nije moguãe
upravljati i orijentacijom poslednjeg koordinatnog sistema, veã se može obezbediti samo
zahtevana pozicija pz x, y , z . Na osnovu vektora pozicije iz ukupne homogene
T
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 k
y
x
Da bi odredili q3 pomnožimo (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)
2
(3.96)
Ako (3.95) i (3.96) saberemo
x C1 y S1 ( S12 C12 ) a3 C 23 a2 C 2
(3.97)
z a3 S 23 a2 S 2
(3.98)
pa zatim izraze (3.97) i (3.98) kvadriramo sledi:
52
Kinematika: položaj 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
2 2 2 2
(3.99)
z a S 23 2 a2 a3 S 23 S 2 a S 2
2 2
3
2 2
2
2
(3.100)
Kada jednaèine (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
2 a3 a2 . (3.101)
S 3 1 C 32
(3.102)
pa konaèno sledi
q3 arctg
S3
C3 (3.103)
èime je ugao q3 odreðen. Odredimo sada ugao q2 . Najpre u izrazima (3.97) i (3.98) sinus i
kosinus zbira uglova ( 2 3 ) rastavimo pomoãu adicionih teorema na osnovu èega se
dobija
C1 x S1 y a3 C 2 C 3 a3 S 2 S 3 a2 S 2
(3.104)
z S 2( a3C 3 a2 ) a3C 2S 3
(3.105)
Ako jednaèinu (3.104) pomnožimo sa ( a3 S 3 ) a jednaèinu (3.105) sa ( a3C 3 a2 ) ,
obe jednaèine saberemo, posle sreðivanja sledi:
(C 3 a3 a2 ) z S 3 a3 (C1 x S1 y )
S2
(C 3 a3 a2 ) 2 S 32 a32
(C 3 a3 a2 ) (C1 x S1 y ) S 3 a3 z
C2
(C 3 a3 a2 ) 2 S 32 a32
odakle odreðujemo ugao q2 kao
(C 3 a3 a2 ) z S 3 a3 (C1 x S1 y )
q2 arctg
(C 3 a3 a2 ) (C1 x S1 y ) S 3 a3 z (3.106)
èime je zadatak rešen. Treba napomenuti da izborom znaka u (3.102) biramo jedno od dva
moguãa rešenja („lakat gore“ ili „lakat dole“). Time se ilustruje da rešenja inverznog
kinematskog zadatka nije jedinstveno.
53
Industrijska robotika Kinematika: položaj robota
Primer 3.8.
Za robot PUMA konfiguracije iz Primera 3.5 rešiti inverzni kinematski zadatak.
Ukupna matrica rotacije (data sa (3.76) èiji elementi su definisani sa (3.77)) se može
napisati u formi
H 0 q1 H 0 H 1 q2 H 2 q3 H 3 q4 H 4 q5 H 5 q6 .
1 1 6 2 3 4 5 6
(3.108)
Ako sraèunamo H 10 q1 i zamenimo u gornji izraz dobijamo
1
pHORIZ px 2 p y 2
arctg p y / px
sledi
C1S S1C
d3
pHORIZ
Ako uoèimo da leva strana predstavlja sinus razlike uglova možemo pisati
S ( q1 )
d3
pHORIZ ,
54
Kinematika: položaj robota Industrijska robotika
onda za kosinus razlike istih uglova važi
d3
2
C ( q1 ) 1
pHORIZ
odakle sledi
d3
q1 arc tg
pHORIZ
d3
2 , (3.112)
1
pHORIZ
pa se izraz za ugao q1 dobija u konaènoj formi
p
q1 arc tg x arc tg
d3
p p p 2 d 2
y
(3.113)
2
x y 3
a
q3 arc tg 3 arc tg
K
.
d4 a3 d 4 K
(3.116)
2 2 2
55
Industrijska robotika Kinematika: položaj robota
C1C 23 S1C 23 S 23 a2 C 3 r11 r12 r13 px
C1S 23 S1S 23 C 23 a S 3 r p y
2 21 r22 r23
H 36
S1 C1 0 d 2 r31 r32 r33 pz (3.117)
0 0 0 1 0 0 0 1
Matrica H 36 je izvedena ranije u primeru 3.5. i data je izrazom (3.76) i (3.77).
Izjednaèavanjem 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)
a3 a2 C 3 pz C1 px S1 p y a2 S 3 d 4
S 23
pz 2 C1 px S1 p y
2
a2 S 3 d 4 pz a3 a2 C 3 C1 px S1 p y
C 23
pz 2 C1 px S1 p y
2
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 moguãa rešenja. Sad su poznate
sve vrednosti na levoj strani (3.117) pa izjednaèavanjem 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 možemo odrediti ugao q4 prema
r13 S1 r23C1
q4 arc tg
r13C 2C 23 r23 S1C 23 r33 S 23 (3.122)
56
Kinematika: položaj robota Industrijska robotika
Ostaje da još odredimo ugao q5 . Ponovo transformišimo polaznu jednaèinu (3.107)
množeãi je sleva sa H 04 q4
1
tako da dobijamo
H 04 q4 H 06 H 45 H 56
1
(3.123)
gde je
H 04 q4
1
dok je H 4 dato jednaèinama (3.71) iz primera 3.5. Izjednaèavajuãi èlanove (1,3) i (3,3) u
6
S5
q5 arc tg
C5 (3.125)
gde su S 5 i C 5 dati izrazima (3.124).
S6
q6 arc tg
C6 (3.126)
gde je
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 više rešenja kao i da postoje ogranièenja na opseg
kretanja koja se mogu realizovati u zglobovima konkretnog robota, sva varijantna rešenja
treba razmotriti, neodgovarajuãa odbaciti, a od preostalih izbrati ono koje nam naviše
odgovara.
57
Industrijska robotika Kinematika: položaj robota
3.3.4 Rasprezanje ukupne konfiguracije robota na minimalnu konfiguraciju i zglob
hvataljke
U predthodnom odeljku smo ilustrovali rešavanje zadatka inverzne kinematike analitièkim
naèinom, i kao što smo videli, u sluèaju robota koji ima šest stepeni slobode taj zadatak je
izuzetno složen. Stoga se pribegava pojednostavljenu problema deleãi 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 taèki. Obeležimo tu
taèku, na primer, sa OZGL i nazovimo je centrom zgloba. Bez obzira na vrednosti uglova q4,
q5 i q6 položaj taèke OZGL se neãe promeniti što znaèi da je njena pozicija funkcija samo q1,
q2 i q3. Osim toga, zadavanjem vrednosti uglova q4, q5 i q6 možemo definisati orijentaciju
hvataljke. Na osnovu toga, ukupni zadatak inverzne kinematike možemo da podelimo na
zadatak odreðivanja 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)
predstavlja ort k ose z6. Prema tome, vektor pZGL pozicije centra zgloba može se odredti iz
izraza:
Sl. 3.22 Rasprezanje ukupne mehanièke 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 jednaèine se mogu odrediti vrednosti koordinata zglobova q1, q2 i q3
58
Kinematika: položaj 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. Imajuãi na umu da je
ukupna matrica rotacije R poznata, možemo je napisati na sledeãi naèin
R R 0 R36
3
(3.130)
odakle sledi
(3.131)
Prema tome, za robote koji poseduju šest stepeni slobode i sferni zglob, algoritam
odreðivanja inverzne kinematike se može svesti na sledeãa tri koraka
korak 1: odrediti q1, q2 i q3 iz uslova
p ZGL d H d 6 Rk
korak 2: koristeãi vrednosti za q1, q2 i q3 i odreðene u prethodnom koraku
sraèunati R03 .
korak 3: naãi, q4, q5 i q6 koji odgovaraju martici rotacije
.
èime se složenost problema znatno umanjuje.
Primer 3.9.
Za robot antropomorfne konfiguracije sa šest stepeni slobode sa Sl. 3.22 rešiti inverzni
kinematski problem rasprezanjem ukupne mehanièke konfiguracije na minimalnu
konfiguraciju i zglob hvataljke.
Prvi deo zadatka (odreðivanje q1, q2 i q3) je veã rešen u Primeru 3.7. uz napomenu da vrh
minimalne konfiguracije sa koordinatama [x y z] T treba zameniti centrom zgloba hvataljke
OZGL èiji položaj se odreðuje iz izraza p ZGL p H d 6 Rk .
Drugi deo zadatka predstavlja odreðivanje 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 izraženim u odnosu na koordinatni sistem O3-x3y3z3. Onda je moguãe
da se, na naèin slièan odreðivanju Ojlerovih uglova za poznatu matricu rotacije kao u
Primeru 3.3, odrede traženi uglovi q4, q5 i q6. Naime, ako je martica rotacije data 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 može pisati
59
Industrijska robotika Kinematika: položaj robota
r11 r12 r13 C 4C 5C 66 S 4 S 6 C 4C 5S 6 S 4C 6 C 4 S 5
r21 r22 r23 S 4C 5C 6 C 4 S 6 S 4C 5S 6 C 4C 6 S 4 S 5
r31 r33 S 5 C 6 S5 S6 C 5
r32
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 korišãenjem izraza za
r33 dobijamo
r2 r2
q5 arc tg 13 23
r33 .
Izborom pozitivnog znaka za èlan r132 r232 ogranièavamo oblast dopustivih vrednosti za
q5 na 0 , i uz tu pretpostavku, kao i korišãenjem izraza za elemenate r31 i r32 dobijamo
r
q6 arc tg 32
r31
Prema tome, traženo rešenje je
r
q4 arc tg 23
r13
r2 r2
q5 arc tg 13 23
r33
r
q6 arctg 32
r31
Meðutim, ukoliko za oblast rešenja za q5 izaberemo ,0 , sledi
r
q4 arc tg 23
r13
r2 r2
q5 arc tg 13 23
r33
r
q6 arc tg 32
r31
Oba rešenja degenerišu kada je sin q5 0 pa u tom sluèaju jedino možemo da odredimo
60
Kinematika: položaj robota Industrijska robotika
zbir ili razliku q4 i q6 . U stvari, ukoliko je q5 0 tada se rotacije q4 i q6 izvršavaju 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
4 KINEMATSKI MODEL ROBOTA II:
DIFERENCIJALNA KINEMATIKA
4.1 UVOD
U prethodnom poglavlju su uspostavljene relacije izmeðu pozicije i orijentacije hvataljke
robota i vrednosti unutrašnjih koordinata (koordinata u zglobovima) mehanièke
konfiguracije (direktni kinematski problem). Takoðe je pokazano kako se sraèunavaju
koordinate u zglobovima robota koje obezbeðuju željenu poziciju i orijentacije hvataljke
(inverzni kinematski problem). U oba sluèaja je uspostavljena veza izmeðu unutrašnjih i
spoljašnjih koordinata u jednom diskretnom položaju.
Suštinski važan zadatak predstavlja realizacija koordinisanog kretanja zglobova robota u
cilju ostvarivanja željene trajektorije hvataljke. Da bi se ovaj zadatak rešio potrebno je da se
uspostavi veza izmeðu brzina u zglobovima robota i rezultujuãe brzine kretanja hvataljke.
Jakobijan (ili jakobijeva matrica) kojom se ovo preslikavanje uspostavlja predstavlja
osnovu za rešavanje ove klase zadataka. Osim toga, u okviru ove glave ãe biti obraðene
osnove diferencijalne kinematike, naèini za sraèunavanje elemenata jakobijeve matrice, kao
i numerièko rešavanje inverznog kinematskog problema.
62
Planiranje kretanja Industrijska robotika
1 0 0 1 0 0
Rx (d x ) 0 cos d x sin d x 0 1 d x
0 sin d x cos d x 0 d x 1 (4.1)
1 0 0 1 0 dy
Rx d x Ry d y 0
1 d x 0 1 0
0 d x 1 d y 0 1
1 0 dy 1 0 d y (4.2)
d x d y 1 d x 0 1 d x
d y dx 1 d y dx 1
gde smo male velièine drugog reda d x d y zanemarili. Ako sada zamenimo redosled
množenja videãemo da ãe proizvod Ry d y Rx d x dati isti rezultat kao u
prethodnom sluèaju, pa može da se zakljuèi da za infinitezimalne rotacije važi osobina
komutativnosti, tj.
Rx d x R y d y R y d y Rx d x
(4.3)
U opštem sluèaju se infinitezimalne rotacije oko osa x, y i z mogu prikazati sa
1 d z dy
R dx , d y , dz
dz 1
d x
d y 1
(4.4)
dx
1 ( d z d z ) ( d y d y
( d z d z ) 1 (d x d x)
( d d ) ( d d )
(4.5)
y y x x 1
R(d x d x, d y d y , d z d z )
odakle se može zakljuèiti da je rezultujuãa rotacija suma komponentnih rotacija, tj. da važi
osobina aditivnosti. Prema tome, pošto infinitezimalne rotacije poseduju osobine aditivnosti
i komutativnosti mogu se zapisivati u vektorskoj formi
63
Industrijska robotika Planiranje kretanja
d x
d d y
(4.6)
d z
što ãe u tekstu koji sledi biti korišãeno.
S T S 0
(4.7)
što se može, uzimajuãi u obzir elemete matrice S, iskazati kao
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 antisimetrièna matrica
ima samo tri nezavisna elementa, pa se može napisati u formi:
0 S3 S2
S S 3 0 S1
.
S 2 S1 0
Ukoliko za elemente matrice Sij usvojimo komponente vektora a=(ax, ay, az)T tada matrica
S a ima oblik
0 az ay
S a a z 0 ax
a y 0
ax
0 0 0 0 0 1 0 1 0
S i 0 0 1 S j 0 0 0 S k 1 0 0
, ,
.
0 1 0 1 0 0 0 0 0
Navedimo sada nekoliko osnovnih osobina kososimetriènih matrica koje ãe nam biti od
koristi kasnije. Prva osobina je linearnost
S a b S a S b , skalari.
(osobina 1)
koja se može dokazati direktnom proverom. Osim toga, za matricu S a i vektor
p p x p y p z T se, isto direktnom proverom, može pokazati da važi
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
Takoðe se direktnom proverom može pokazati da za dva vektora a i b i ortogonalnu
matricu R (podsetimo se da su matrice rotacije R ortogonalne tj. da važi: R T R 1 ) važi
R a b R a R b
(osobina 3)
Drugim reèima, 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, buduãi da je R ortogonalno, može napisati u jednostavnijoj formi
R a R RT b R a b
Ra b S R a b
.
Prema tome, zakljuèujemo
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
R R
dR T
0
dR T
d d (4.9)
Definišimo matricu S kao
R
def
S
dR T
d (4.10)
Transponovanjem matrice S dobijamo
dR T
R R
T
dR T
ST
d d (4.11)
Uporeðivanjem izraza (4.10) i (4.11) sa (4.9) vidimo da za S definisano kao u (4.10) važi
65
Industrijska robotika Planiranje kretanja
S ST 0
pa možemo da zakljuèimo da ako je matrica S definisana kao u (4.10) onda je ona
antisimetrièna. Pomnožimo li obe strane (4.10) sa R sledi
S R
dR
d (4.12)
Ovaj izraz nam kaže da izvod matrice rotacije možemo sraèunati ako matricu rotacije R
pomnožimo kososimetriènom matricom S.
Primer 4.1:
Ako je matrica rotacije oko x ose za ugao data sa
1 0 0
R Rx , 0 C S
0 S C
(vidi izraz 3.14) izraèunati matricu S prema (4.10).
Diferenciranjem i transponovanjem matrice Rx, i uvrštavanjem u (4.10) sledi:
0 0 0 1 0 0 0 0 0
S R 0 S C 0 C S 0 0 1 S i
dR T
d
0 C S 0 S C 0 1 0
Prema tome, pokazali smo da je
dR x ,
S i R x ,
d
Na isti naèin možemo pokazati da važi
S j R y , S k Rz ,
dR y , dR z ,
d , d
što prepuštamo èitaocu.
R S t Rt
gde je S t kososimetrièna matrica. Za vektor t koji predstavlja ugaonu brzinu
rotirajuãeg koordinatnog sistema u odnosu na fiksni, kososimetrièna matrica S
postaje S t . Ovo možemo jednostavno pokazati na sledeãem primeru.
Ako je R t R x ,t tada se njen izvod može sraèunati prema
66
Planiranje kretanja Industrijska robotika
R
dR d
d dt
S i Rt S t R t
p0 R01 t p1
p0 d01
R01 p1 R01 p1
r r
(4.14)
Izraz (4.14) možemo da napišemo i u formi
r r a
p0
(4.15)
gde je a linearno ubrzanje, dok izraz r predstavlja centripetalno ubrzanje koje je
uvek upereno prema osi obrtanja i upravno je na nju dok èlan r predstavlja
tangencijalno ubrzanje
Ukoliko p1 menja svoj položaj u odnosu na koordinatni sistem O1 izraz (4.15) postaje
r r 2 R01 p1 a
p0
(4.16)
67
Industrijska robotika Planiranje kretanja
p1 d01 , dok izraz 2 R01 p1 oznaèava Koriolisovo ubrzanje.
gde je a R01
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 važi
d 02 d 01 R01 d12
Obzirom da su matrice rotacije funkcije vremena diferenciranjem (4.20) dobijamo
R 02 S 02 R02
(4.22)
Prvi izraz sa desne strane u (4.21) tj. R 01 R12 možemo napisati kao
R 01 R12 S 10 R01 R12 S 10 R02
(4.23)
dok drugi izraz sa desne strane (4.21) tj. R01 R1 možemo transformisati na sledeãi naèin
2
R01 R12 S 12 R12
Ako pomnožimo gornji izraz sa R01T R01
R01 S 12 R01T R01 R12
i primenimo pravilo 4, dobijamo
S R01 12 R01 R12 S R01 12 R02 (4.24)
Unošenjem (4.22), (4.23) i (4.24) u 4.21), sledi
S 02 R02 S 10 S R01 12 R02 (4.25)
Obzirom da je S a S b S a b sledi
68
Planiranje kretanja Industrijska robotika
02 10 R01 12
(4.26)
Odavde zakljuèujemo da se ugaone brzine mogu sabirati samo pod uslovom da su izražene
u istom koordinatnom sistemu.
4.3 JAKOBIJAN
Svako kretanje u zglobovima robota ima za posledicu kretanje hvataljke. Meðutim, kretanje
hvataljke po odreðenoj trajektoriji zahteva koordinisano kretanje svih zglobova mehanièke
strukture robota. Da bi mogli da realizujemo zahtevano kretanje hvataljke robota potrebno
je da se uspostavi veza izmeðu kretanja u zglobovima mehanièke konfiguracije i kretanja
hvataljke, tj brzine u zglobovima q , i linarne i ugaone brzine hvataljke ( p i ,
respektivno) pa možemo pisati
p J L q
J U q
Ove dve jednaèine možemo objediniti u jedinstven izraz èime se dobija relacija
p
s v J q q
(4.32)
gde je s ukupni vektor brzine hvataljke izražen u spoljašnjim 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 izražene u spoljašnjim (dekartovim
pravouglim) koordinatama.
Da bi bolje razumeli prirodu matrice J napišimo izraz (4.32) u razvijenoj formi
(posmatraãemo mehanizam koji ima šest stepeni slobode),
Primer 4.2.
Za trosegmentni antropomorfni mehanizam (minimalnu konfiguraciju) èija je kinematska
šema prikazana na Sl. 3.19. analitièkim naèinom odrediti jakobijan.
Pri rešavanju ovog zadatka prvo treba napisati jednaèine koje povezuju poziciju vrha robota
sa vrednostima uglova u zglobovima. Za konfiguraciju prikazanu na Sl. 3.19. te jednaèine
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 izmeðu malih (infinitezimalnih) pomeraja u zglobovima
i rezultujuãih pomeraja hvataljke. Da bismo tu vezu uspostavili treba diferencirati izraze
(4.35) po uglovima u zglobovima, pa dobijamo
70
Planiranje kretanja Industrijska robotika
ds J ( q) dq
(4.37)
gde je
dx dq1
ds dy dq dq2
, .
dz dq3
pa sledi
x x x
q1 q2 q3
y y y
J
q1 q2 q3 (4.38)
z z z
q1 q2 q3
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 konaènoj formi
J L1 J L 2 J Ln
J
JU1 J U 2 J Un (4.39)
tako da svaki elemenat J Li i JUi predstavlja vektor kolonu dimenzije (3x1), lako se može
uoèiti 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 J L 21 J Ln1
L12 2
J L1 J L 2 J Ln
2
3 J 3 J 3 q 1
v H J L1 L2 Ln
1 J U 21 J Un1
H JU 1 q
(4.40)
2 2
J U 12 J U 2 J Un
n
3 J 3 J 3
J U 1 U2 Un
Odavde se linearna brzina vrha robota može izraziti na sledeãi naèin
v H J L1 q1 J L 2 q 2 J Ln q n
(4.41)
a na isti naèin i ugaona brzina hvataljke
H J U 1 q1 J U 2 q 2 J Un q n
(4.42)
Razmotrimo na koji naèin možemo da odredimo elemente matrice J Li i JUi .
Na Sl. 4.3.a. je prikazan sluèaj kada je i-ti zglob robota (rotacioni) i njegov položaj u
odnosu na hvataljku, dok je na Sl. 4.3.b. i-ti zglob robota translatorni. Neka su sa zi-1
obeležene ose zglobova koje su postavljene u postupku odreðivanja DH parametara.
Razmotrimo najpre kako kretanje nekog od zglobova mehanizma može da doprinese
promeni linearne brzine hvataljke.
U sluèaju da je i-ti zglob translatoran njegovo pomeranje izaziva samo translatorno
pomeranje hvataljke u pravcu zi-1 ose, intenziteta di (pripadajuãa z osa je tada zi-1, a DH
parametar di je promenljiva), tj.
J Li q i z i 1 di
(4.43)
Ako je i-ti zglob rotacioni njegovim pokretanjem ãe deo mehanizma koji se nalazi dalje od
zgloba koji se pokreãe (ukljuèujuãi 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 Industrijska robotika
promeniti za
J Li q i i ri 1, H z i 1 ri 1, H q i
(4.45)
Na slièan naèin ã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 generiše kretanjem zgloba, je data sa
J Ui q i z i 1 q i
(4.47)
Prema tome, jednaèinama (4.43, 4.45-4.47) je moguãe odrediti elemente jakobijana J Li i
JUi za sluèaj translatornih i rotacionih zglobova pa, prema tome, možemo 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
Ui z i 1 (4.49)
Pri sraèunavanju jakobijana jedine velièine 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 treãu kolonu u
matrici rotacije R0i 1 (vidi (3.7)) i moguãe ga je veoma jednostavno odrediti na sledeãi
naèin
zi 1 R01 (q1 ) R12 (q2 ) Rii21 (qi 1 ) z0
(4.50)
gde je z 0 0 0 1T što nam omoguãava da se iz matrice R0i 1 odaberemo samo treãu
kolonu.
Vektor položaja od i-1-vog zgloba do hvataljke ri 1, H je moguãe odrediti (Sl. 4.3.a i b) kao
razliku vektora p H od koordinatnog poèetka do hvataljke i vektora pi 1 od koordinatnog
poèetka do i-1-vog zgloba. Vektor p H je moguãe odrediti kao prva tri elementa èetvrte
kolone ukupne homogene matrice transformacije H 0H koja je data sa
73
Industrijska robotika Planiranje kretanja
pi 1 . Naime,
Primer 4.3:
Numerièkim naèinom 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,
74
Planiranje kretanja Industrijska robotika
konfiguraciji sa tri stepena slobode.
s J (q )q
(4.34)
inverzijom jakobijeve matrice dobijamo
q J (q ) 1 s
(4.53)
Ukoliko je poznata poèetna poza robota q koja je bliska oèekivanom rešenju (tj. ako su
POC
poznati uglovi u zglobovima robota koji dovode hvataljku u okolinu oèekivanog položaja i
orijentacije) tada se pozicije u zglobovima mogu pronaãi integracijom brzina u zglobovima
nad posmatranim vremenskim intervalom
t t
q t q POC t t
q d
(4.54)
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 spoljašnjih koordinata s i neka je potrebno da se odredi vektor
0
s k s 0 f q k J q k q k 1 q k (4.58)
75
Industrijska robotika Planiranje kretanja
gde je q k 1 taènije rešenje inverznog kinematskog problema od poèetno 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 rešavanja inverznog kinematskog
problema. Postupak rešavanja se može definisati sledeãim koracima:
korak 1: za zadato s 0 pretpostavimo rešenje inverznog problema q (k ) ;
s k
. (4.60)
Prikazani postupak je klasièna Njutnova metoda za rešavanje sistema nelinearnih jednaèina
kojim se dobija samo jedno rešenje i to ono koje je najbliže poèetnom pretpostavljenom
rešenju q 0 .
q J (q) 1 s
(4.53)
tj. na pretpostavci da je moguãe odrediti inverzni jakobijan J (q ) tj. da je matrica J kvad-
1
q J (q) 1 s
ako je njena determinanta razlièita od nule. Položaji robota u kojima je
det( J ( q )) 0 predstavljaju singularne taèke u kojima se ne može odrediti
inverzni Jakobijan.
76
Planiranje kretanja Industrijska robotika
c) m n
U ovom sluèaju broj stepeni slobode zadatka je veãi od broja stepeni slobode
robota pa se može dogoditi da ne postoji q koje je rešenje sistema (4.53). Drugim
reèima broj jednaèina je manji od broja nepoznatih u sistemu. Stoga se pribegava
traženju rešenja koje zadovoljava sistem uz najmanju grešku. Obeležimo sa q *
vektor koordinata zglobova koji zadovoljava uslov da je greška definisana izrazom
Jq 2s
G Jq *
T * T
Jq * sT s
(4.62)
Da bi minimizirali grešku diferencirajmo gornji izraz i izjednaèimo ga sa nulom tj.
G qi 0
J J q
T *
J T s
(4.64)
ili
q * J T J J T s
1
pod uslovom da J J
T 1
postoji. Matrica J J
T 1
J T se naziva levim pseudo
inverznim Jakobijanom. Ako ovu matricu obeležimo sa J PS možemo pisati
q J PS s
(4.65)
èime su odreðene koordinate zglobova tako da je greška pozicioniranja minimalna.
d) m n
U ovom sluèaju je broj stepeni slobode koji zahteva zadatak manji od broja stepeni
slobode koji poseduje robotski manipulator (manipulator je redundantan), tj broj
jednaèina je veãi od broja nepoznatih u sistemu pa postoji beskonaèno mnogo
rešenja od kojih treba odabrati jedno. Jedan od naèina da se vrši izbor rešenja je da
Euklidova norma bude minimalna. Ovo rešenje možemo dobiti metodom
Lagranževih množitelja. Ako je 1 , 2 , 3 ,... m vektor Lagranževih
množitelja možemo postaviti novu funkciju cilja
(q ) q q T Jq s
T
(4.66)
koja je u minimumu kada je q 0 , pa se može pisati
2q J T 0
(4.67)
77
Industrijska robotika Planiranje kretanja
odakle sledi
q J T 2
(4.68)
Zamenom ovog izraza u polazni (4.34) s J (q ) q sledi
s J ( J T 2)
(4.69)
pa se posle sreðivanja dobija
2 ( JJ T ) 1 s
(4.70)
pod uslovom da ( JJ ) T
postoji. Zamenjujuãi ovaj izraz u (4.68) i nakon
1
q J T ( JJ T ) 1 s
(4.71)
1
T
Matrica J ( JJ )T
se naziva desnim pseudoinverznim Jakobijanom koji ãemo
kao i u prethodnom sluèaju obeležiti sa J PS , pa se konaèno može pisati
q J PS s
(4.72)
odakle možemo odrediti tražene koordinate zglobova.
Na opisani naèin se može prevaziãi problem kada Jakobijan nije kvadratni i kada nije
moguãe naãi inverznu matricu.
78
Planiranje kretanja Industrijska robotika
a) b)
Sl. 4.4. Singularni položaji antropomorfne minimalne konfiguracije
Da bi ilustrovali ovaj sluèaj posmatrajmo minimalnu konfiguraciju (samo prva tri stepena
slobode) antropomorfne konfiguracije u položaju koji je prikazan na Sl. 4.4. a. Obzirom da
se vrh minimalne konfiguracije nalazi na osi obrtanja prvog zgloba njen položaj ne zavisi
od trenutne vrednosti ugla q1 i ovaj položaj je ostvaren za bilo koju vrednost ugla q1 . Ovo
važi za bilo koje vrednosti uglova q 2 i q3 ako je ispunjeno da se vrh minimalne konfigura-
cije nalazi na vertikalnoj osi obrtanja, pa i za sluèaj kada je q 2 q3 0 i kada je mehaniè-
ka struktura robota potpuno ispružena naviše (Sl. 4.4.b). Drugi primer kojim ovakvu
situaciju možemo ilustrovati je sferni (Ojlerov) zglob hvataljke robota u položaju koji je
prikazan na Sl. 4.5. Uoèimo 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 položaj robota sa Sl. 4.4.a osim potpuno ispružene konfiguracije (Sl.
4.4.b).
Kao što je veã pomenuto uslov za pojavu singulariteta je kada jakobijan gubi puni rang.
Meðutim, sraèunavanje uslova singulariteta se može pojednostaviti ako se mehanièka
struktura robota raspregne na minimalnu konfiguraciju i zglob hvataljke. U tom sluèaju
Jakobijan robota sa šest stepeni slobode se u blok-formi može prikazati na sledeãi naèin
J11 J12
J
J 21 J 22 (4.73)
79
Industrijska robotika Planiranje kretanja
gde su, u sluèaju sfernog zgloba, matrice J 12 i J 22 date sa
sT s 1
(4.79)
i uporedimo odgovarajuãe 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 jednaèina predstavlja elipsoid u n-dimenzionalnom prostoru stanja zglobova gde
svaka taèka elipsoida odgovara jednoj kombinaciji brzina u zglobovima tako da vektor br-
80
Planiranje kretanja Industrijska robotika
zine hvataljke ima jedinièni intenzitet. Obzirom da je proizvod J T J simetrièna, pozitivna
semidefinitna matrica njeni sopstveni vektori su ortogonalni. Glavne ose elipsoida se pok-
lapaju sa sopstvenim vektorima J T J dok su dužine osa jednake reciproènim vrednostima
kvadratnog korena sopstvenih vrednosti J T J .
Pošto vrednosti elemenata jakobijana tokom kretanja hvataljke nisu konstante, veã zavise
od trenutne poze mehanizma (tj. od trenutnih vrednosti q1 i q2) sa promenom položaja hva-
taljke ãe se oblik i orijentacija elipsoida takoðe menjati. Mehanizam se nalazi u izotropnoj
taèki (bolje je reãi da poza mehanizma obezbeðuje izotropno ponašanje hvataljke ukoliko
se m-dimenziona jedinièna sfera u prostoru hvataljke preslikava takoðe u sferu u n-dimen-
zionom prostoru zglobova. Što je oblik ellipsoida bliži sferi to je “prenosna karakteristika
mehanizma” bolja.
Ilustrovaãemo ovo na primeru dvosegmentnog ravanskog mehanizma sa dužinama segme-
nata a1 = 2 m, a2 = 1 m, koji je prikazan na Sl. 4.6. U ovom sluèaju jakobijan ima formu
2 S1 S12 S12
J
2 S1 C12 C12 (4.81)
2 2C 2 3 2C 2 1
JT J
2C 2 1 1 . (4.82)
81
Industrijska robotika Planiranje kretanja
Sl. 4.7. Geometrijsko mesto izotropnih taèaka
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 (uoèiti da je J J simetrièna i da ne zavisi od q1 ) one postaju 1 2 1 .
T
Odavde sledi da se robot kada je u pozi za koju važi 1 2 1 nalazi u izotropnoj taèki.
Na Sl. 4.7 je prikazano geometrijsko mesto svih izotropnih taèaka za ovu konfiguraciju, a to
je krug.
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 (4.83)
Uvoðenjem (4.83.) u (4.78.) dobijamo jednaèinu
0.3827q1 0.9238q2
2
1
0.54122
koja predstavlja elipsu prikazanu na Sl. 4.8 sa koje se vidi da za jediniènu 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)
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 opštosti, 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
5 PLANIRANJE KRETANJA
84
Planiranje kretanja Industrijska robotika
robota, a planiranje kretanja, odnosno generisanje putanja i trajektorija se obavlja uz pomoã
upravljaèkog softvera robota. Pri tome, programer zadaje samo osnovne parametre kretanja,
na primer, ukupo vreme ili brzina kretanja robota od poèetne do krajnje pozicije, itd.
Metode za planiranje kretanja možemo podeliti u nekoliko kategorija, i na osnovu nekoliko
kriterijuma, koji nisu meðusobno iskljuèivi. Prva podela može biti na osnovu karaktera
zadatka koji robot obavlja. Postoje primene robota kod kojih je isljuèivo važno da robot iz
taèke A stigne u taèku B, pri èemu oblik putanje izmeðu njih nije od znaèaja. Ovakav tip
kretanja javlja se, na primer, u zadacima transporta materijala, gde je najvažnije da materi-
jal bude uzet na jednom, a ostavljen na drugom mestu, a kako se robot kreãe izmeðu, nije
od naroèitog interesa. Ovakav režim rada naziva se "kretanje od taèke do taèke", (point to
point motion), ili "režim uzmi pa ostavi" (pick and place operation). Mi ãemo se na dalje
služiti skraãenicom termina na engleskom, PTP, za obeležavanje ovakvog naèina kretanja.
Drugu grupu primena robota karakteriše èinjenica da je važna cela putanja po kojoj se robot
kreãe. Primer za to je robotsko farbanje, gde putanja robota direktno odreðuje kako se na-
nosi boja na površinu koja se farba, ili robotsko luèno zavarivanje, gde putanja vrha robota
treba da prati sastav koji se vari. Ovakve režime rada nazivamo "kretanje po kontinualnim
putanjama" (continuous path motion), i na dalje ãemo ga oznaèavati sa CP, skraãenicom
termina na engleskom jeziku.
Jasno je da je planiranje PTP kretanja jednostavnije u odnosu na CP kretanje. Kod PTP do-
voljno je zadati poèetnu i krajnju poziciju, kao parametre, i eventualno brzinu, ili vreme iz-
vršavanja, a upravljaèi softver robota ãe onda sam generisati sve ostale potrebne informaci-
je. Kod CP kretanja, potrebno je definisati putanju (koja može biti oblika jednostavnih ma-
tematièka primitiva ali može biti i složena), a zatim treba definisati i vremenske informacije
o kretanju duž putanje.
Druga podela se može uèiniti na osnovu prostora u kome se zadaje kretanje. Tako razliku-
jemo planiranje kretanja u unutrašnjim koordinatama od planiranja kretanja u spoljašnjim
koordinatama. Obzirom na to da je vrh robota relevantan za obavljanje zadatka, planiranje
kretanja najprirodnije se obavlja u prostoru spoljašnjih koordinata, koje su vezane za kreta-
nje vrha. Sa druge strane, kretanje robota odvija se u prostoru unutrašnjih koordinata, od-
nosno zglobova, pa je ponekad od interesa da se planiranje kretanja obavlja u ovom prosto-
ru. Mi smo veã videli da se primenom funkcija direktne ili inverzne kinematike, kretanje iz
jednog prostora može preslikati u drugi prostor, naravno, uz sve teškoãe, koje rešavanje
inverzne kinematike nosi sa sobom.
Treba reãi da iako ove dve podele nisu iskljuèive, najèešãe se planiranje CP kretanja obav-
lja u prostoru spoljašnjih koordinata, dok se planiranje PTP kretanja obavlja u prostoru
unutrašnjih koordinata. Naravno, primenljive su i druge dve kombinacije, kada je to
potrebno ili poželjno.
Uoèimo da rezultat planiranja kretnja treba da bude vremenska zavisnost pozicije i orijenta-
cije vrha robota r t , ili vremenska zavisnost pozicija zglobova q (t ) , koje treba da poslu-
že kao referentne vrednosti za upravljaèki sistem robota. Ovim vremenskim zavisnostima
pozicija, po potrebi, mogu se pridružiti i brzine i ubrzanja.
Mi ãemo sada prouèiti nekoliko metoda za generisanje trajektorija, koje su primenljive za
sluèaj da u radnom prostoru robota nema prepreka, odnosno, da je robot slobodan da se
kreãe unutar celog radnog prostora. Ovaj pristup može se relativno lako proširiti i na sluèaj
kada unutar radnog prostora postoje statièke prepreke, èije su osobine, odnosno, velièina i
položaj, unapred poznati i nepromenljivi. Sluèaj kada se u radnom prostoru nalaze
85
Industrijska robotika Planiranje kretanja
dinamièke prepreke, zahteva potpuno drugaèiji pristup planiranju kretanja, a takoðe i
sofisticirani senzorski sistem koji ãe prepreke detektovati, i odrediti njihove karakteristike,
kao i složenije algoritme koji mogu on-line donositi odluke o promeni trajektorija. Problem
planiranja kretanja u prisustvu dinamièkih prepreka izlazi van domena ove knjige, i mi se
njime neãemo baviti.
87
Industrijska robotika Planiranje kretanja
Nagle promene brzine (npr. naglo startovanje ili zaustavljanje) dovode do izrazito velikih
ubrzanja (teoretski beskonaèno velikih) što zahteva adekvatne (dovoljno snažne) motore
koji takva ubrzanja mogu da ostvare. Obzirom na neopravdanost ovakvog pristupa jasno je
da je potrebno da se na poèetku trajektorije predvidi odreðeno vreme za ubrzavanje, i na
kraju trajektorije za usporavanje, što nas dovodi do trapeznog profila brzine.
qmax 0 t Ta
q(t ) 0 Ta t T f Ta
q
. (5.5)
max T f Ta t T f
88
Planiranje kretanja Industrijska robotika
Brzinu možemo odrediti integracijom jednaèine (5.5), vodeãi raèuna o poèetnim uslovima i
vezi datoj izrazom (5.4), u sledeãem 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
. (5.6)
max f f a f
Izraz za poziciju može se dobiti integracijom izraza za brzinu (5.6), vodeãi ponovo raèuna o
poèetnim 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
. (5.7)
f max f f a f
90
Planiranje kretanja Industrijska robotika
na brzina krstarenja, a da se vremenski parametri izraèunaju 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 fizièke maksimalne vrednosti. Tada se
dobija najkraãe vreme trajanja pokreta. Na osnovu veze (5.4), lako odreðujemo vreme
potrebno za ubrzavanje, odnosno koèenje, kao
q max
Ta
qmax . (5.11)
Smenom dobijenog izraza u jednaèinu (5.9), možemo odrediti ukupno trajanje pokreta kao
q f qi q max
Tf
q max qmax . (5.12)
Trapezni profil brzine se èesto primenjuje u praksi, ne samo kod robota, veã i kod drugih
ureðaja koji zahtevaju kretanje konstatnom brzinom, kao što su na primer, alatne mašine,
portalne dizalice, elektromotorni pogoni, itd.
Primetimo na kraju da je ubrzanje prekidna funckija vremena, jer se skokovito menja na
granicama perioda ubrzavanja i koèenja. Ova nagla promena ubzanja, odražava se kao trzaj,
koji može pobuditi neželjene oscilacije strukture robota, a takoðe, nagla promena ubrzanja
može biti teško ostvariva sa stanovišta aktuatora. Zbog toga ãemo pokušati da pronaðemo
interpolacione funkcije, koje bi nam omoguãile kontinualnu promenu, ne samo pozicije i
brzine, veã i ubrzanja. Kao pogodni kandidati za interpolacione funckije, nameãu se polino-
mi, koje ãemo razmotriti u narednim odeljcima.
91
Industrijska robotika Planiranje kretanja
t
Tf , (5.15)
a0 0, a1 0
. (5.25)
Smenom graniènih uslova (5.22) u izraze za normalizovanu poziciju (5.23) i brzinu (5.24),
dobijamo sistem od dve jednaèine sa dve nepoznate oblika
1 a3 a 2
0 3a3 2a2 , (5.26)
èijim se rešavanjem odreðuju nepoznati koeficijenti
a 2 3, a3 2
, (5.27)
tako da je normalizovani interpolacioni polinom dat sa
p3 () 2 3 3 2
, (5.28)
a normalizovana brzina je
93
Industrijska robotika Planiranje kretanja
Sl. 5.2. Normalizovana pozicija, brzina i ubrzanja kod interpolacije polinomom treãeg stepena
Ako želimo da ove prekide eliminišemo, možemo da pokušamo da poveãamo stepen inter-
polacionog polinoma.
94
Planiranje kretanja Industrijska robotika
5.2.4 Interpolacija polinomom petog stepena
Ako želimo da dobijemo kretanje kod koga ubrzanje neãe imati diskontinuitete, onda
graniènim uslovima po poziciji i brzini moramo pridružiti i graniène uslove po ubrzanju.
Naime, s obzirom na to da robot kreãe iz stanja mirovanja, ubrzanje u poèetnom trenutku
mora biti jednako nuli. Takoðe, obzirom na to da se na kraju kretanja robot zaustavlja,
ubrzanje mora biti jednako nuli. Takoðe, normalizovano ubrzanje treba da je kontinualna
funkcija normalizovanog vremena, pri èemu imamo dva nova granièna uslova vezana za
ubrzanje. Broj graniènih uslova poveãao se sada na šest:
p (0) 0, p (0) 0, p (0) 0
, (5.33)
p (1) 1, p(1) 0, p(1) 0
, (5.34)
tako da možemo potražiti interpolacioni polinom petog stepena, oblika
p5 () a5 5 a 4 4 a3 3 a2 2 a1 a0
, (5.35)
pri èemu koeficijente ai , i 0,,5 odreðujemo iz graniènih uslova.
Diferenciranjem izraza (5.35) po normalizovanom vremenu dobija se izraz za
normalizovanu brzinu, a ponovnim diferenciranjem i izraz za normalizovano ubrzanje.
Smenom graniènih uslova (5.33) i (5.34) u polinome za normalizovanu poziciju, brzinu i
ubrzanje dobija se sistem jednaèina èijim rešavanjem se odreðuju nepoznati koeficijenti.
Konaèno rešenje je oblika
95
Industrijska robotika Planiranje kretanja
Sl. 5.3. Normalizovana pozicija, brzina i ubrzanja kod interpolacije polinomom petog stepena
q5max 10 3 3 5.773
. (5.40)
Vidimo da smo u sluèaju interpolacije polinomom petog stepena uspeli da ostvarimo glatko
kretanje koje nema prekide u ubrzanju. Meðutim, ni to ponekada nije dovoljno, jer može
96
Planiranje kretanja Industrijska robotika
Sl. 5.4. Normalizovana pozicija, brzina i ubrzanja kod interpolacije polinomom sedmog stepena
postojati potreba da i viši izvodi pozicije budu kontinualni. Tada moramo primeniti
polinome još veãeg stepena.
97
Industrijska robotika Planiranje kretanja
pozicije, takoðe bude kontinualna funkcija. Ovaj izvod ubrzanja u literaturi se obièno ozna-
èava kao "trzaj", što bi bio slobodan prevod engleskog termina "jerk". Da bi se to postiglo,
graniènim uslovima (5.33) i (5.34) dodaju se još uslovi po treãem izvodu pozicije
p (0) 0, p (1) 0
, (5.41)
èime se ukupan broj uslova poveãao na osam, pa možemo konstruisati interpolacioni
polinom sedmog stepena. Smenom graniènih uslova u izraz za polinom i njegove izvode, i
rešavanjem sistema jednaèina odreðuju se koeficijenti polinoma. Konaèno rešenje je oblika
98
Planiranje kretanja Industrijska robotika
poznate maksimalne dozvoljene velièine brzine q max i ubrzanja qmax zgloba.
Obzirom na vezu izmeðu brzine zgloba i normalizovane brzine, datu jednaèinom (5.19),
može se uspostaviti relacija izmeðu njihovih maksimalnih vrednosti
q f qi
q max p max
T fv , (5.47)
odakle se odreðuje potrebno vreme trajanja pokreta sa stanovišta brzine, kao
q f qi
T fv pmax
q max . (5.48)
Sliènom analizom na osnovu jednaèine (5.20), može se odrediti potrebno vreme izvršavanja
pokreta sa stanovišta ubrzanja, kao
q f qi
T fa
pmax
qmax , (5.49)
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 rešenje, odnosno duže
vreme,
T f max{T fv , T fa }
, (5.50)
da bi se izbeglo premašivanje fizièki ostvarljivih granica.
Imajuãi u vidu da je izložena procedura nezavisna za svaki zglob, a da zglobovi mogu imati
i razlièite opsege zadatog kretanja, i razlièite maksimalne vrednosti brzine i ubrzanja, nakon
završetka analize sprovedene izraèunavanjem jednaèina (5.48), (5.49), i (5.50), za svaki od
zglobova, imaãemo zapravo skup od n odreðenih vremena trajanja pokreta
{T f 1 ,, T fi ,T f n }
. (5.51)
Imamo sada dve moguãnosti. Prema prvoj, možemo pustiti da se svaki zglob kreãe prema
svojim maksimalnim parametrima. Pri tome, u opštem sluèaju, vremena kretanja za
pojedine zglobove biãe razlièita, odnosno, neki zglobovi ãe ranije završiti pokret od drugih.
Prema drugom pristupu, za vreme izvršenja pokreta usvojiãemo najduže izraèunato vreme
T f max(T fi )
i , (5.52)
pri èemu ãe trajanje pokreta za sve zglobove biti jednako. Primetimo da se pri ovom pokre-
tu, maksimalnom brzinom kreãe samo zglob za èije kretanje je potrebno najviše vremena, a
preostali zglobovi se usporavaju, tako da vreme izvršenja pokreta bude jednako.
99
Industrijska robotika Planiranje kretanja
završnoj taèki putanje se ponovo zaustavlja. Sada smo zainteresovani za problem nadovezi-
vanja trajektorija, odnosno, za sluèaj kada postoji više segmenata kretanja, pri èemu je za-
vršna taèka prethodnog segmenta ujedno i poèetna taèka narednog, i tako redom. Ove sre-
dišnje taèke izmeðu dva segmenta kretanja èesto se nazivaju èvorne taèke putanje, prema
engleskom terminu "path knot point".
Jedno moguãe rešenje se samo po sebi nameãe. 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ã rešen. Osnovna mana ovakvog pristupa je u tome, što ãe u èvornim taèkama doãi do za-
ustavljanja robota. Ovakvo kretanje, osim što deluje neprirodno, jer je isprekidano èestim
zaustavljanjem, zahteva i duže vreme izvršavanja u odnosu na kretanje kod kojeg zaustav-
ljanja ne bi bilo.
Ako želimo da izbegnemo zaustavljanje u èvornim taèkama, mora se drugaèije pristupitu
rešavanju problema sinteze trajektorije. Pri tome se pristup za kretanje po trapeznom profilu
brzine razlikuje od pristupa kod polinomne aproksimacije, pa ãemo ih posebno razmotriti.
Zadržimo se najpre na problemu nadovezivanje trajektorija kod trapeznog profila brzine.
Radi pojednostavljenja izlaganja, pretpostavimo da su zadata samo dva segmenta trajekto-
rije, preko taèaka qi , q k i q f , gde su kao i ranije, qi i q f poèetna i krajnja taèka putanje,
a q k je èvorna taèka izmeðu njih. Pretpostavimo dalje, da je željena brzina krstarenja na
prvom segmentu trajektorije qik a na drugom q kf , i da su ove dve brzine razlièite. Neka je
dato i maksimalno ubrzanje qm koje je isto na oba segmenta trajektorije. Primenom klasiè-
nog postupka sinteze trajektorije po trapeznom profilu brzine, za svaki od segmenata poje-
dinaèno, dobija se rezultujuãe kretanje koje je prikazano na Sl. 5.5 sa leve strane.
U ovom primeru, kretanje u oba segmenta vrši se u istom smeru. Sa slike uoèavamo da br-
zina kretanja opada od vrednosi qik do nule, a zatim od nule raste do vrednosti q kf , odnos-
no, kretanje se zaustavlja u èvornoj taèki. Logièno rešenje u ovoj situaciji bilo bi, da se br-
zina promeni od qik do q kf , bez nepotrebnog zaustavljanja. U tom sluèaju, uštedelo bi se
na delu vremena potrebnom da se brzina smanji do nule, kao i na delu potrebnom da bi se
brzina potom vratila na traženu vrednost. Drugim reèima, dva trapezna profila možemo
delimièno preklopiti, i tako izbeãi nepotrebno zaustavljanje.
Postoje razlièiti naèini da se izvrši pomenuto preklapanje, a izbor se zapravo svodi na odre-
ðivanje pravog trenutka, kada treba poèeti koèenje, da bi se sa jedne brzine krstarenja preš-
lo na drugu. Na primer, sa promenom brzine može se otpoèeti tek kada se dostigne pozicija
q k . Drugi pristup mogao bi biti da promenu brzine, odnosno koèenje otpoènemo tako da u
taèki q k brzine bude jednaka novoj zadatoj vrednosti q kf . Promenu brzine možemo
organizovati i tako da u poziciji definisanoj sa q k brzina bude srednja vrednost dve zadate
brzine. To bi praktièno znaèilo da je period koèenja simetrièno rasporeðen u odnosu na
taèku q k . Rešenje poslednje opisanog pristupa prikazano je na Sl. 5.5 sa desne strane.
Obzirom na to da je broj moguãnosti za izbor trenutka poèetka koèenja, vrednosti ubrzanja i
usporenja, vrednosti brzine na pojedinim segmentima, itd. jako veliki, izvoðenje jednaèina
koje opisuju modifikaciju trapeznog profila odnelo bi previše prostora. Èitaocima je ostav-
ljeno za vežbu da samostalno izvedu jednaèine za željeni režim spajanja segmenata.
100
Planiranje kretanja Industrijska robotika
Sl. 5.5. Nadovezivanje trajektorije sa trapeznim profilom brzine, levo sa zaustavljanjem u èvornoj taèki, i desno,
bez zaustavljanja u èvornoj taèki
101
Industrijska robotika Planiranje kretanja
znaèilo, da kreãuãi se od jedne èvorne taèke ka narednoj, robot napravi preskok pa se vrati
u èvornu taèku, ili najpre poðe u suprotnu stranu, pa onda promeni smer i vrati se u èvornu
taèku. Svakako, ovo nije ponašanje kakvo bismo želeli da vidimo kod robota.
Zbog toga se pribegava drugaèijem rešenju. Ukupan interval interpolacije deli se na
podintervale, izneðu èvornih taèaka. Na svakom podintervalu usvaja se interpolaciona
funkcija u obliku polinoma nižeg stepena, a sistemu uslova, odnosno ogranièenja, pored
zadatih èvornih taèaka, dodaju se uslovi kontinualnosti brzine odnosno ubrzanja u èvornim
taèkama. Drugim reèima, iako brzina i ubrzanje u èvornim taèkama nisu unapred odreðeni,
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 treãeg stepena,
govorimo o interpolaciji kubnim splajnovima. Teorija splajnova izlazi izvan okvira ove
knjige, a zainteresovani èitaoci svakako mogu pronaãi dodatne informacije u odgovarajuãoj
matematièkoj literaturi.
p31
r
o31 61 , (5.53)
gde p predstavlja podvektor koji sadrži tri parametra koja opisuju poziciju vrha robota u
prostoru, dok o predstavlja podvektor koji sadrži tri parametra koja predstavljaju
orijentaciju vrha robota.
U specifiènim sluèajevima, vektor r može imati i manje dimenzija od šest, kao na primer,
kada nije potrebna potpuna orijentacija, ili orijentaicija uopšte nije od interesa, odnosno u
sluèajevima ravanskog kretanja, itd. Mi ãemo na dalje razmatrati opšti sluèaj, a problem
102
Planiranje kretanja Industrijska robotika
sinteze trajektorije razdvojiãemo na problem definisanja pozicije, i problem zadavanja
orijentacije, koje ãemo zasebno izuèiti.
x
p y
, (5.54)
z
gde su x, y i z koordinate željene pozicije vrha izražene u odnosu na referentni koordinatni
sistem. Moguãe su naravno i druge vrste koordinatnih sistema, na primer, polarno-
cilindrièni, ili sferni koordinatni sistem, ali su dekartove pravougle koordinate najjasnije i
intuitivno najlakše za rad, pa se zbog toga najèešãe i koriste.
Imajuãi u vidu da želimo da izvršimo sintezu trajektorije u prostoru analitièkim putem,
najpre moramo pronaãi analitièki izraz za putanju u prostoru. Primetimo da je putanja
zapravo kontinualni skup taèaka u prostoru koji odgovaraju nekoj liniji u prostoru. Imajuãi
to u vidu, je zapravo jednodimenzionalni skup, pa se može pronaãi jedan parametar ,
tako da putanja bude opisana sa
p
, (5.55)
odnosno,
x x ()
y y () , (5.56)
z z ()
gde je neki geometrijski parametar koji opisuje putanju. Ovaj koncept prikazan je na Sl.
5.6 .
103
Industrijska robotika Planiranje kretanja
taèka putanje p f odreðene krajnjom vrednošãu parmetra f . Primetimo još da je putanja
orijentisana, jer porast vrednosti parametra odreðuje smer kretanja duž putanje. Takoðe,
putanja može biti i zatvorena, kada je p f pi , ili otvorena, kao što je to sluèaj na Sl. 5.6.
Prema tome, promena parametra , od poèetne vrednosti i do krajnje vrednosti f u
potpunosti definiše položaj vrha robota duž putanje. Ako parametru , odnosno njegovoj
promeni, pridružimo i vremensku zavisnost (t ) , tada je u potpunosti definisana i
trajektorija vrha robota.
Funkcionalna zavisnost (t ) definiše se preslikavanjem vremenskog intervala [Ti , T f ]
za koji treba da se obavi kretanje duž putanje, na interval promene geometrijskog parametra
koji definiše putanju od poèetne do krajnje taèke:
[Ti , T f ] [ i , f ]
( t ) , (5.57)
pri tome, velièina vremenskog intervala utièe na brzinu kretanja, odnosno, kraãi vremenski
interval znaèi brže kretanje, i obrnuto, dok oblik fukncije (t ) definiše profil kretanja.
Za profil kretanja (t ) možemo iskoristiti neku od funkcija koje smo veã razmatrali kod
sinteze PTP kretanja: trapezni ili trougaoni profil brzine, ili polinomne interpolacije
odgovarajuãeg stepena, itd.
Na ovaj naèin, problem sinteze trajektorije rešava se u dva koraka. U prvom je potrebno od-
rediti izraze za parametrizovanu trajektoriju u prostoru, dok se u drugom koraku geometrij-
skom parametru pridružuje željeni vremenski profil.
Razmotrimo sada malo podrobnije prirodu geometrijskog parametra . Veã je reèeno da
on odreðuje položaj taèke duž putanje , odnosno, duž krive u prostoru. Podsetimo se da
kriva u prostoru može biti zadata ekspilicitno svojim jednaèinama, ili kao presek dve površi
u prostoru. U svakom sluèaju, uvek postoji moguãnost da se putanja parametrizuje. Od svih
moguãih parametara kojima je moguãe opisati putanju, kao najvažniji se izdvaja krivolinij-
ska koordinata s , definisana kao preðeni put, ili dužina luka krive od neke fiksirane taèke
usvojene za koordinatni poèetak, do posmatrane taèke.
Krivolinijska koordinata s najèešãe se definiše preko svog diferencijalnog priraštaja
ds dx 2 dy 2 dz 2
, (5.58)
gde su dx , dy i dz diferencijalni priraštaji krive duž koordinatnih osa.
Kod jednostavnijih putanja, krivolinijska koordinata s se prirodno nameãe kao najpodesni-
ja velièina za parametrizaciju. Kod složenijih putanja, krivolinijska koordinata može biti
složena, ili transcedentna funkcija, pa se kao parametar usvaja neka druga, pogodna velièi-
na.
Razmotrimo sada nekoliko primera odreðivanja 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 analitièkoj geometriji prava u prostoru, koja prolazi kroz dve taèke
zadate vektorima pi i p f može 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 jednaèina izražava èinjenicu da vektor povuèen iz poèetne taèke pi do bilo koje taèke
na pravoj p , mora biti kolinearan vektoru izmeðu taèaka p i i p f , pri èemu je faktor
kolinearnosti. Jednaèina (5.59) se može 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 poèetna, odnosno krajnja taèka putanje, tada je opseg promene parametra
u intervalu [0,1] .
Primetimo da u ovom sluèaju, parametar koji je uveden kao èisto geometrijski
parametar, ima prirodu krivolinijske koordinate s . Zaista, imajuãi u vidu relaciju (5.58), i
odreðivanjem diferencijala izraza (5.61), dobijamo
ds ( x f xi ) 2 ( y f yi ) 2 ( z f zi ) 2 d
, (5.62)
odnosno, piraštaj krivolinijske koodinate, ili preðenog puta s , proporcionalan je priraštaju
geometrijskog parametra .
Da bi problem sinteze trajektorije bio u potpunosti rešen, preostaje nam samo da izaberemo
vremensku zavisnost, odnosno profil promene (t ) . Kao što je veã reèeno, za ove svrhu
možemo 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 sluèaju da želimo da se vrh robota kreãe po
nekoj elipsi u prostoru. Obzirom da je elipsa ravanska kriva, i problem odreðivanja parame-
tarske reprenzentacije putanje rešiãemo najpre u ravni koja sadrži elipsu, a zatim ãemu tu
ravan rotirati i translirati u prostoru na željeni naèin. Ova situacija prikazana je na Sl. 5.8.
105
Industrijska robotika Planiranje kretanja
u a cos()
puvw v b sin()
, (5.63)
w 0
gde je parametar koji promenom u opsegu [0,2] opisuje celu elipsu.
Neka je poèetak vezanog koodinatnog sistema transliran, a njegove ose rotirane u odnosu
na ose referentnog sistema. Tada se veza izmeðu dva koordinatna sistema može uspostaviti
preko matrice homogene transformacije izmeðu koordinatnih sistema O-xyz i O-uvw ili, što
je isto, u razvijenoj fomi
p pc R puvw
, (5.64)
gde je pc [ xc , yc , z c ]
T
položaj centra vezanog koordinatnog sistema, odnosno centra
elipse, a
106
Planiranje kretanja Industrijska robotika
Primetimo da u ovom sluèaju parametar ima geometrijski smisao koji se ne može lako
povezati sa krivolinijskom koordinatom s . Da bismo se u to uverili, potražimo diferenci-
jalne priraštaje koordinata duž putanje, i iskoristimo izraz za priraštaj krivolinijske koordi-
nate (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 jedinièni vektori.
Takoðe važi i da su kolone matrice uzajamno ortogonalne, a ortogonalnost važi i za vrste.
Primenom ovih osobina dobija se izraz
o
, (5.70)
bez obzira na prirodu uglova , i .
Da bi se definisala orijentacija vrha robota u zadatku duž trajektorije, potrebno je zapravo
odrediti vrednosti uglova orijentacije tokom vremena. Kao i u sluèaju pozicije, to se može
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 sluèajevima planiranja orijentacije vrha robota, od interesa je samo ori-
jentacija vrha u poèetnoj, odnosno krajnjoj taèki trajektorije, dok orijentacija duž trajekto-
rije nije od interesa. Tada možemo pristupiti interpolaciji uglova orijentacije na sledeãi
naèin
i ( f i )
o i ( f i )
i ( f i )
, (5.71)
gde smo indeksom i oznaèili vrednosti uglova orijentacije u poèetnoj, a indeksom f u
završnoj taèki putanje. Parametar menja se u intervalu [0,1] , i definisanjem njegovog
vremenskog profila, zadatak sinteze orijentacije vrha robota duž trajektorije je rešen. Kao i
ranije, za profil promene parametra možemo usvojiti neki od veã prouèenih profila.
Napomenim da je ovakav naèin 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 elektroluènog zavarivanja, putanja vrha treba da prati šav koji se vari, a pri
tome želimo da elektroda bude sve vreme upravna na šav. Slièno je i kod robotskog
farbanja, gde putanja vrha zavisi od površine koja se farba, a orijentacija vrha treba da je
ortogonalna u odnosu na tu površinu.
Prema tome, naš zadatak je da sada, na osnovu parametrizovane putanje vrha robota u pros-
toru, odredimo informacije o orijentaciji. Prisetimo se da se u diferencijalnoj geometriji
svakoj taèki prostorne krive mogu pridružiti tri ortogonalna jedinièna vektora kao na Sl.
5.9.
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 tan-
gente definiše pravac tangente u datoj taèki prostorne krive. Vektor normale ortogonalan je
na pravac tangente, a usmeren je ka centru krivine krive. Konaèno, vektor binormale orto-
gonalan 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 jedinièni vektori prirodnog triedra mogu odrediti na sledeãi naèin
t p'
dp
ds , (5.73)
p
n
p , (5.74)
p p
b tn
p p , (5.75)
pri èemu se diferenciranje vrši 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 jediniène vektore prirodnog triedra postaju nešto složeniji:
p ()
t
p () , (5.76)
p ) p ()
b
p ) p () , (5.78)
109
Industrijska robotika Planiranje kretanja
Na slici su prikazani samo sluèajevi kada su ose vezanog koordinatnig sistema hvataljke
paralelne osama prirodnog triedra u posmatranoj taèki putanje. U opštem sluèaju, veza
izmeðu koordinatnog sistema hvataljke i prirodnog triedra zavisi kako od prirode zadatka,
tako i od oblika hvataljke, odnosno alata koji robot nosi, odnosno, od naèina na koji je
definisan koordinatni sistem hvataljke. Ta veza može 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
, (5.81)
1 0 0 0 1 0 0 0 1
odnosno, matrice Rh definišu permutovanje jediniènih vektora prirodnog triedra, uz
eventualnu promenu smera vektora, kao na primer vektora t u poslednjem izrazu. U
opštem sluèaju, elementi matrice Rh uspostavljaju vezu izmeðu osa dva koordinatna
sistema.
Imajuãi u vidu da se jedinièni vektori prirodnog triedra mogu odrediti iz izraza (5.73),
(5.74) i (5.75) odnosno (5.76), (5.77) i (78), u potpunosti je odreðena orijentacija vrha
110
Planiranje kretanja Industrijska robotika
hvataljke duž putanje. Kada se parametru pridruži i vremenski profil, pitanje orijentacije
hvataljke duž trajektorije u potpunosti je rešeno.
Ilustrujmo opisani koncept definisanja orijentacije vrha robota duž putanje uz pomoã
primera. Za poèetak, razmotriãemo jednostavnu putanju oblika kružnice u prostoru. Neka je
kružnica zadata parametarskim jednaèinama
x 0
p y y c r cos()
, (5.82)
z z c r sin()
iz kojih zakljuèujemo da kružnica leži u yz ravni, njen centar nalazi se u taèki [0, y c , z c ]T ,
a polupreènik iznosi r . Parametar ima prirodu ugla, i svojom promenom na intervalu
[0,2] definiše celu kružnicu. Primetimo još da je, usled periodiènosti
trigonometrijskih funkcija, putanja zatvorena.
Da bismo odredili jednaèine jediniènih osa prirodnog triedra, diferencirajmo najpre
parametarsku jednaèinu (5.82) dva puta, èime se dobija
0
p r sin() p r
, (5.83)
r cos()
odnosno,
0
p r cos() p r
, . (5.84)
r sin()
Smenom izraza (5.83) u (5.76) možemo odrediti jednaèinu jediniènog vektora tangente
t 0 sin() cos()T
. (5.85)
Slièno, smenom izraza (5.83) i (5.84) u jednaèinu jediniènog vektora binormale (5.78)
dobijamo
b 1 0 0T
. (5.86)
Vidimo da je jednièni vektor binormale konstantan, i paralelan x osi, što je potpuno
oèekivano, imajuãi u vidu da je kružnica ravanska kriva koja leži u yz ravni.
Konaèno, jednaèina jediniènog vektora normale može se odrediti na osnovu izraza (5.77).
U ovom primeru, zbog kretanja po kružnici, vektor normale ima isti pravac kao i vektor
p , pa se može odrediti i kao
p
n 0 cos() sin()T
p . (5.87)
111
Industrijska robotika Planiranje kretanja
Sl. 5.12. Putanja u obliku kružnice i orijentacija vrha robota duž putanje
1 0 0
Rh 0 0 1
. (5.89)
0 1 0
Prema tome, orijentacija vrha robota duž putanje odreðena je rotacionom matricom
R n h sh a h t n b Rh
, (5.90)
odnosno,
0 1 0
R sin() 0 cos()
. (5.91)
cos() 0 sin()
Izborom vremenske zavisnosti (t ) , odnosno profila kretanja, u potpunosti je izrazom
(5.82) odreðena i trajektorija u prostoru, dok je orijentacija vrha robota duž trajektorije
112
Planiranje kretanja Industrijska robotika
odreðena 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 kreãe duž helikoide,
odnosno spiralne zavojnice zadate parametarskim jednaèinama
x x0 r cos()
p y y 0 r sin()
, (5.92)
z z h
2
0
r sin()
p () r cos() p r 2 2
h2
, 4 , (5.93)
h
2
r cos()
p () r sin()
, (5.94)
0
a zatim i potrebne vektorske proizvode
h
2 r sin()
h
p () p () r cos()
2 , (5.95)
r2
odnosno
cos()
( p () p()) p () r 2 2 r sin()
h2
4
. (5.96)
0
Sada možemo odrediti i module vektora dobijenih izraèunavanjem vektorskih proizvoda
h2
p p r 2 r
4 2 , (5.97)
113
Industrijska robotika Planiranje kretanja
( p p ) p r r 2 2
h2
4 .
(5.98)
h2
c r2
4 2 , (5.99)
za koreni izraz koji se javlja u jednaèinama.
Smenom dobijenih izraza u jednaèine za jedniène vektore prirodnog triedra krive (5.76),
(5.77) i (5.78) dobijamo
r sin
t r cos
1
c h , (5.100)
2
cos
n sin
, (5.101)
0
h
2 sin()
1 h
b cos()
c 2 . (5.102)
r
114
Planiranje kretanja Industrijska robotika
r sin() c cos() sin()
h
2
1
R r cos() c sin() cos()
h
c 2 . (5.106)
h
2 0 r
Da zakljuèimo, jednaèina (5.92) predstavlja jednaèinu putanje vrha robota, dok jednaèina
(5.106) odreðuje orijentaciju vrha robota duž putanje na željeni naèin. Ove dve jednaèine,
zajedno sa profilom promene parametra u potpunosti odreðuju trajektoriju po kojoj se
vrh robota kreãe, odnosno, jednoznaèno 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 taèaka duž putanje
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, Springer-
Verlag, 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 Planiranje kretanja
[6] Rašiã M.: Prilog inteligentnom upravljanju redundantnim robotima, magistarska teza, Elektronski
Fakultet u Nišu, Niš, 2000.
[7] Rade L., and Westergren B.: Mathematics Handbook for Science and Engineering, Studentlitteratur,
Lund,1995.
[8] Bronštejn I.N., i Semendjajev K.A.: Matematièki priruènik za inženjere i studente, Tehnièka knjiga,
Zagreb, 1964.
116
6 DINAMIÈKA ANALIZA MANIPULACIONIH ROBOTA
6.1 UVOD
Mehanièka konfiguracija manipulacionih robota se može 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 složen zahtev jer su pogonski momenti rezultat
razlièitih dinamièkih uticaja usled simultanog kretanja segmenata kinematskog lanca. Pored
gravitacionih sila i momenata, èiji se intenziteti menjaju samo promenom položaja
segmenata znatno složenije se odreðuju centrifugalne, Koriolisove i inercijalne sile i njihovi
momenti. Osnovu za taèno odreðivanje, i nakon toga kompenzaciju, svih ovih uticaja
predstavlja modeliranje dinamièkog ponašanja robotskih mehanizama. Obzirom na
raznolikost mehanièkih struktura robota i putanja hvataljki koje mogu biti zahtevane,
najcelishodnije je formirati opšti raèunarski algoritam za iterativno formiranje modela
dinamièkog ponašanja pri ostvarivanju željene putanje bilo koje mehanièke konfiguracije
robota.
U ovoj glavi ãe biti razmotrene osnove dinamièkog modeliranja robota, i predložen
algoritam za njegovo formiranje.
Sl. 6.1. Sile i momenti koji deluju na i-ti segment (statièki sluèaj)
117
Industrijska robotika Dinamika
Kada robot miruje optereãenje u zglobovima mehanizma uzrokuju samo sile sopstvene teži-
ne segmenata. Važno je napomenuti da bilo koji zglob trpi optereãenje 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 izmeðu 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 ravnotežu 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 treãeg 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 težištu Ci , deluje
sila sopstvene težine mi g .
Obzirom da je mehanizam u ravnoteži, ponašanje posmatranog segmenta se može opisati sa
dve vektorske jednaèine: Fi 0 i M i 0 . Prema tome,
F i 0: Fi 1,i Fi ,i 1 mi g 0
(6.1.)
a) b)
Sl. 6.2. Sprezanje a) izmeðu robota i osnove i b) okoline i hvataljke
sluèaju 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 oznaèena okolina koja se uslovno može smatrati segmentom.
Naravno, moment i sila kojom okolina deluje na hvataljku robota su M n,n1 i Fn,n1 .
118
Dinamika Industrijska robotika
Radi lakšeg daljeg rada objedinimo moment M n,n1 i silu Fn ,n 1 u jedinstven vektor
dimenzije (6x1) koji ãemo skraãeno nazvati silom sprezanja (ili dejstvom okoline na robot)
sa okolinom i obeležiti sa Fext
Fn , n 1
Fext
M n , n 1
(6.3)
Jednaèine (6.1) i (6.2) se mogu napisati za svih i=1, ... n segmenata, na osnovu èega imamo
ukupno 2n jednaèina sa 2n+2 nepoznatih (n+1 moment i n+1 sila). Da bi sistem mogli da
rešimo 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 (propiše) sila
koje predstavlja željeno delovanje robota na okolinu jer nam je poznata na osnovu samog
zadatka koji robot realizuje. Primera radi, ukoliko se robot kreãe kroz slobodan prostor
prenoseãi objekat hvataljkom i ne dolazeãu u kontakt sa okolinom optereãenje Fext je
jednako nuli ( M n,n1 0 i Fn ,n 1 0 ). Meðutim, ukoliko robot tokom izvršenja radnog
zadatka dolazi u kontakt sa okolinom (npr. linijskog elektrootpornog zavarivanja, obaranja
ivica na radnom predmetu glodanjem ili brušenjem, pri poliranju, realizaciji montažnog
zadatka ...) sila kojom hvataljka ili alat deluje na okolinu je poznata iz tehnoloških uslova
procesa. Npr. prilikom elektrootpornog zavarivanja sila pritiska koju je potrebno ostvariti
alatom na delove koji se spajaju i održavati tokom procesa zavisi od vrste materijala i
debljine limova, i propisuje se tehnološkim postupkom. Prema tome, možemo smatrati da je
Fext u sluèaju realizacije industrijskih zadataka poznato i da je iz sistema od 2n jednaèina
moguãe odrediti 2n nepoznatih.
Razmotrimo sada vezu izmeðu sila i momenata sprezanja i pogonskih sila ili momenata
(skraãeno pogona) u zglobovima robota. U opštem sluèaju se vektor sprezanja (sile i
momenti koji se javljaju u jednaèinama (6.1) i (6.2)) razlikuje od vektora pogona.
Ilustracije radi ãemo razmotriti dve tipiène konfiguracije industrijskih robota: robot
SCARA i antropomorfne (PUMA) konfiguracije.
a) b)
Sl. 6.3. Gravitaciono optereãenje robota a) SCARA i b) antropomorfne konfiguracije
Prva dva segmenta minimalne konfiguracije SCARA robota se mogu kretati samo u hori-
zontalnoj ravni, dok se poslednja dva segmenta antropomorfne konfiguracije mogu kretati
samo u vertikalnoj ravni (Sl. 6.3). U sluèaju SCARA robota gravitaciono optereãenje (Sl.
6.3.a) se u celosti prenosi na konstrukciju zgloba i nije potrebno dodatno angažovanje mo-
tora da bi se oèuvao trenutni položaj. Kako god da se mehanièka konfiguracija pomeri, ona
119
Industrijska robotika Dinamika
ãe u tom položaju ostati i posle iskljuèivanja motora. Sasvim je obrnuta situacija kod robota
antropomorfne konfiguracije (Sl. 6.3.b), gde kompletno gravitaciono optereãenje koje delu-
je na drugi i treãi zglob mora da bude uravnoteženo dejstvom motora, dok položaj prvog
zgloba omoguãava da gravitaciono optereãenje u celosti prima konstrukcija zgloba.
Iz ovih primera se vidi da ukoliko je vektor momenta gravitacionih optereãenja kolinearan
sa osom zgloba dato optereãenja se u potpunosti mora kompenzovati motorima, tj. optere-
ãenje odgovara zahtevanom pogonskom momentu. Meðutim, ukoliko je vektor momenta
gravitacionih optereãenja upravan na osu zgloba dato optereãenja ãe u potpunosti primiti
struktura samog zgloba i nije potrebno aktivirati motore da bi se održala trenutna poza. Ako
je položaj vektora optereãenja izmeðu ta dva granièna sluèaja i nalazi se pod nekim uglom
prema osi zgloba, deo optereãenja ãe primiti struktura zgloba, dok se deo mora kompenzo-
vati motorima. Prema tome, motor mora da kompenzuje samo onu komponentu optereãenja
(moment ili silu) koja je kolinearna sa osom zgloba i koju nazivamo pogonom. Potpuno is-
tovetno razmatranje važi i za rotacione i za translatorne zglobove. Pogon (obeležimo ga oz-
nakom ) u sluèaju translatornog zgloba predstavlja silu i može se sraèunati kao skalarni
proizvod orta odgovarajuãe ose zgloba i vektora sile
i z i 1 Fi 1,i
. (6.4)
U sluèaju rotacionog zgloba je moment i može se, analogno (6.4), sraèunati kao skalarni
proizvod orta odgovarajuãe ose zgloba i vektora momenta optereãenja
i z i 1 M i 1,i
(6.5)
Treba primetiti da u oba prethodna sluèaja trenje u zglobovima nije uzeto u obzir jer je tri-
bološka situacija u samom zglobu u suštini nepoznata i promenljiva tokom vremena. Po-
gonski momenti u zglobovima i se mogu objediniti u jedan vektor
1
2
(6.6)
n
koji nazivamo vektorom pogona i koji može sadržavati sile ili momente u zavisnosti od tipa
zglobova.
120
Dinamika Industrijska robotika
razliku od stvarnih, virtuelni pomeraji treba samo da budu u saglasnosti sa ogranièenjima
koja nameãu veze, dok se ostalim zakonima kretanja ne pokoravaju. U sluèaju koji razmat-
ramo (Sl. 6.4.) virtualna pomeranja u zglobovima qi izazivaju linearno x H i ugaono
H virtualno pomeranje hvataljke. Takoðe pretpostavimo da je robotski mehanizam bez
težine tako da nema gravitacionih optereãenja. 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 optereãenje uravnotežavaju. U tom sluèaju je virtualni rad
svih sila dat sa
w F 1 q1 F 2 q2 Fn qn
napisati u obliku
w F T q FextT J q F J T Fext q 0
T
(6.9)
Obzirom da su virtuelna pomeranja razlièita od nule q 0 , izraz (6.9) može biti ispunjen
samo ukoliko je izraz u zagradi jednak nuli, odakle sledi
F J T Fext
(6.10)
Ovo je veoma važna relacija koja povezuje silu kojom robot deluje na okolinu sa
121
Industrijska robotika Dinamika
momentima u zglobovima koji tu silu uravnotežavaju. U sluèaju da se robot kreãe i da je pri
tome u kontaktu sa okolinom, na osnovu izraza (6.10) možemo odrediti koliko deo od
ukupnog momenta u posmatranom zglobu se koristi za ostvarivanje kretanja, a koliki za
uravnotežavanje sile kojom robot deluje na okolinu.
Primer 6.1:
Za minimalnu konfiguraciju (samo prva tri stepena slobode) antropomorfnog tipa prikazanu
T 10,10,0T N .
na Sl. 6.5. odrediti potrebne momente u zglobovima da se vrhom ostvari sila F data sa
F Fx , Fy , Fz
Sl. 6.5. Sila kojom robot deluje na okolinu i odgovarajuãi momenti u zglobovima
Jakobijan koji odgovara ovoj konfiguraciji napisan u analitièkoj formi je dat sledeãim
izrazom
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 meðusobno ortogonalni i poklapaju se sa pravcima male i velike ose
elipse èije su dužine jednake reciproènim vrednostima sopstvenih vrednosti JJ T .
Obzirom da se vrednosti èlanova jakobijeve matrice menjaju tokom kretanja robota i elip-
soid tokom kretanja menja svoj oblik i orijentaciju. Za taèku u kojoj elipsoid poprimi oblik
sfere kažemo da je transformacija izotropna. Prema tome, u izotropnoj taèki se n-dimenzio-
nalna jedinièna sfera u prostoru momenata u zglobovima preslikava u m-dimenzionalnu sfe-
ru u prostoru sila koje deluju na hvataljku.
1 1
J
2 2 (6.12)
pa je
2 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
odgovarajuãi 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 Fy F Fy
2 2
2 F 2 2 Fx Fy 2 F 0.5858 x 3.4142 x 1
2 2
2 2
2 2
x y
Na Sl. 6.7 je prikazan elipsoid (u ovom primeru je to elipsa). Sila interakcije sa okolinom
123
Industrijska robotika Dinamika
2
Fy
P=(0.924, 0.924)
Q=(0.924, 0.383)
Q=(-0.383, 0.383)
v x1
Fx
P=(0.383, -0.924)
a) Prostor stanja momenata b) Prostor stanja sila kojima
u zglobovima hvataljka deluje ne okolinu
Sl. 6.7. Elipsoid sila
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 može videti
da ukupna (kompozitna) krutost ne zavisi samo od krutosti svakog od pogona veã i od
jakobijana što znaèi da je popustljivost mehanizma zavisi od njegove trenutne poze.
Ako je m=n i jakobijeva matrica nije singularna i moguãe je naãi inverznu matricu
popustljivosti. Ako obe strane izraza (6.18) pomnožimo sa C 1 dobijamo
F K s
(6.20)
gde se
1
K C
(6.21)
naziva matricom krutosti.
Matrica krutosti takoðe nije konstantna i zavisi od trenutne poze mehanizma. Krutost
možemo karakterizirati poreðenjem sila koje su potrebne da bi se realizovao jedinièni ugib
hvataljke. Ako (6.18) smenimo u s T s 1 dobijamo
F T C T CF 1
(6.22)
Za odreðenu pozu robotskog manipulatora izraz (6.22) predstavlja m-dimenzionalni
ellipsoid sile. Pošto je F T C T CF 1 simetrièna, pozitivna i semidefinitna matrica, njeni
sopstveni vektori su meðusobno ortogonalni i poklapaju se sa pravcem osa elipsoida.
Dužine osa elipsoida su jednake reciproènim vrednostima kvadratnih korena sopstvenih
vrednosti.
125
Industrijska robotika Dinamika
Fx
F
y
F Fz
p0 F M M x (6.23)
M y
M z
A Iyj
F Izj
M j
Izi p0
i
p0 Oj
d
Ixj
Oi Iyi
xi
Sl. 6.8. Transformacija sila i momenata izmeðu dva koordinatna sistema
U gornjem izrazu F predstavlja silu, p0 je vektor pozicije bilo koje taèke (npr. taèke A)
koja se nalazi na pravcu sile F u odnosu na izabrani koordinatni sistem (vektori pozicije p0i
i p0j oznaèavaju položaj taèke A u odnosu na koordinatne sisteme Oi-xiyizi i Oj-xjyjzj, res-
pektivno), proizvod p0 F predstavlja moment koji sila ima u odnosu na koordinatni
poèetak, 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 odreðuje vektor pozicije d d x d z koordinatnog
T
dy
poèetka Oj u odnosu na Oi i matrica rotacije Ri j koordinatnog sistema Oj-xjyjzj u odnosu na
Oi-xiyizi. Generalisa-na sila izražena u odnosu na koordinatni sistem Oi-xiyizi. je
obeležena 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 možemo napisati u sledeãoj formi
Rj 0
Ti j j i j
Wi Ri Ri j (6.25)
gde je
0 d z dy
Wi d z
j
0 d x
d y 0
(6.26)
dx
126
Dinamika Industrijska robotika
kososimetrièna matrica vektora Oi O j izraženog u koordinatnom sistemu Oi-xiyizi. Na taj
naèin možemo generalisanu silu izraženu u jednom, na jednostavan naèin, 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 me-
renje 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.
1 0 0
uvw
Rxyz 0 1 0
0 0 1
0 d z dy
W uvw
xyz dz 0 d x
d y 0
dx
uvw
pa transformaciju Txyz dobijamo u obliku
1 0 0 0 0 0
0 0 0 0
1 0
0 0 1 0 0 0
uvw
d z
Txyz
0 dy 1 0 0
d d x 0 1 0
z
0
d y dx 0 0 0 1
127
Industrijska robotika Dinamika
na osnovu èega dobijamo traženu vezu u obliku
Fx 1 0 0 0 0 0 Fu
F 0
0 0 0 0 Fv
y
1
Fz 0 0 1 0 0 0 Fw
M x 0 d z d y 1 0 0 M u (6.27)
M y d z 0 d x 0 1 0 Mv
M
z y d d x 0 0 0 1 M w
Na ovaj naèin se mogu, na osnovu merenja u zglobu hvataljke, odrediti sile i momenti koji
deluju na vrhu objekta koji robot drži.
128
Dinamika Industrijska robotika
sila i moment kao posledica kretanja segmenta. Ako sa Ci obeležimo težište i-tog
segmenta, tada je vCi linearna brzina njegovog težišta izražena u odnosu na bazni
koordinatni sistem Oo-xoyozo. Inercijalna sila je data sa mi vCi gde je sa mi oznaèena masa
segmenta, a sa vCi izvod po vremenu tj. ubrzanje težišta.
Analogno jednaèini (6.1), i ovde se ravnoteža svih sila koje deluju na i-ti segment može
izraziti kao
i = 1 ... n (6.29)
gde je sa I i obeležen tenzor inercije i-tog segmenta, I i
i predstavlja obrtni moment, dok
i ( I i i ) predstavlja žiroskopski moment.
Sl. 6.10. Sile i momenti koji deluju na i-ti segment (dinamièki sluèaj)
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 jednaèine ne budu
isuviše složene, ali je dovoljno složen da sadrži sve efekte koji se mogu javiti.
Primer 6.3.
Za dvosegmentni ravanski manipulacioni robot prikazan na Sl. 6.11. izvesti Njutn-Ojlerove
jednaèine kretanja i prikazati ih u formi pogodnoj za dinamièku analizu.
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 (6.36)
vc 2 1
[l1 cos q1 lc 2 cos(q1 q2 )] q1 lc 2 cos(q1 q2 ) q 2
Zamenom (6.35), (6.36) i njihovih izvoda u (6.33) i (6.34) dobijamo dinamièke jednaèine u
traženoj formi
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)
131
Industrijska robotika Dinamika
1 H11 H12 q1 h1 G1
H
H 22 q2 h2 G2
2 21
Matrica H se naziva inercijalnom matricom, vektor h ukljuèuje sve efekte nastale zbog
brzinskih èlanova, dok vektor G predstavlja gravitaciono optereãenje.
U narednom delu ãemo detaljno razmotriti fizièko znaèenje pojedinih èlanova dinamièkog
modela koji je u razvijenoj formi dat izrazima (6.37).
Razmotrimo, najpre, prvi èlan u (6. 37). U sluèaju da se drugi zglob ne pokreãe
( q2 q 2 0 ) i ako zanemarimo gravitaciono optereãenje tada prva jednaèina sistema
postaje
1 H 11 q1
(6.45)
odakle se može zakljuèiti da èlan H11 predstavlja inercijalnost kojom je optereãen prvi
zglob zbog sopstvenog kretanja tj. kada se kreãe samo prvi zglob, a drugi je ukoèen
( q2 q 2 0 ). Važno je napomenuti da inercijalnosti H11 doprinose oba segmenta svojom
masom i momentom inercije, jer kretanjem prvog zgloba pokreãemo sve segmente koji se u
kinematskom lancu nalaze dalje. Primetimo zatim, da prva dva èlana u jednaèini (6.38)
predstavljaju momente inercija za osu obrtanja, što je u ovom sluèaju osa prvog zgloba.
Tako, m1 lC21 I1 predstavlja ukupni moment inercije prvog segmenta za osu prvog zgloba
sraèunat prema Štajnerovim teoremama za sraèunavanje momenta inercije za paralelne ose.
Moment inercije drugog segmenta zavisi od trenutnog rastojanja težišta drugog segmenta
od ose prvog zgloba, što je na Sl. 6.10. obeleženo sa L , a može se sraèunati prema izrazu
1 H12 q2
(6.46)
gde smo opet zanemarili gravitaciono optereãenje. Iz (6.46) se može zakljuèiti da èlan H12
predstavlja inercijalne efekte kretanja drugog segmenta koji utièu na zglob prvog segmenta.
Kada drugi segment ubrzava sila i moment reakcije drugog segmenta deluju na zglob
prvog. Uticaj na prvi zglob se može predstaviti momentom sprezanja (obeležimo ga sa
SPR ) koji je dat sledeãim izrazom
132
Dinamika Industrijska robotika
što odgovara treãem èlanu u (6.37), pa možemo da zakljuèimo da ovaj èlan predstavlja
uticaj cenrtifugalne sile na drugi zglob usled kretanja prvog zgloba. Na slièan naèin se
može pokazati da kada se kreãe 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 sluèaj kada se oba zgloba
simultano pokreãu 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 oznaèava ugaonu brzinu prenosnog kretanja, a v REL linearnu brzinu
133
Industrijska robotika Dinamika
težišta 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 ) (6.50)
dok je moment oko prvog zgloba uzrokovan ovom silom dat sa
COR r0,C 2 FCOR 2 m2 l1lC 2 sin q2
(6.51)
Važno je da pomenemo da pravac Koriolisove sile prolazi kroz drugi zglob i neãe
uzrokovati dodatno optereãenje u drugom zglobu.
Na ovom primeru smo ilustrovali sve efekte koji se prilikom kretanja mehanizma robota
mogu javiti. Jasno je da je dinamièki model veoma složen dok se sa porastom broja stepeni
slobode mehanizma složenost znaèajno uveãava. Stoga se kao imperativ nameãe aplikacija
ovako složenih modela na raèunar.
Da zakljuèimo, u modelu dinamike koji je u opštem obliku dat jednaèinom (6.44), matrica
H q predstavlja inercijalnu matricu sistema èiji elementi, za konkretnu konfiguraciju,
zavise od položaja 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 iner-
cijalnost koju prvi zglob pri njegovom kretanju treba da savlada, ali treba uoèiti da H11 za-
visi od položaja 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 optereãenja.
134
Dinamika Industrijska robotika
6.3.2 Direktni i inverzni zadatak dinamike i rekurzivni dinamièki model
Slièno kao u sluèaju kinematike, i u sluèaju dinamike se mogu postaviti dva osnovna
zadatka: direktni i inverzni dinamièki zadatak (Sl. 6.14)
135
Industrijska robotika Dinamika
njegovog trenutnog položaja u odnosu na bazni koordinatni sistem treba da se izvršavaju
automatski. Na Sl. 6.15. je ilustrovan rekurzivni raèunarski algoritam za formiranje dina-
mièkog modela na bazi Nutn-Ojlerovih jednaèina.
Procedura formiranja dinamièkog modela se odvija u dve faze. U prvoj se odreðuju sve
kinematske velièine (linearne i ugaone brzine i ubrzanja težišta svih segmenata
kinematskog lanca) potrebne za formiranje Njutn-Ojlerovih jednaèina. Podsetimo se da je
inverzni kinematski zadatak veã rešen i da su poznate trajektorije pozicija, brzina i ubrzanja
u svim zglobovima. Procedura poèinje od prvog segmenta. Pošto su poznate trenutne
vrednosti uglova, ugaonih brzina i ubrzanja u prvom zglobu ( q1 , q1 i q1 ) linearne i
ugaone brzine i ubrzanja težišta C1 se mogu odrediti.
Pošto je sada u potpunosti poznato kretanje prvog segmenta (pored kretanja prvog zgloba
( q1 , q1 i q1 ) sraèunate su i linearna i ugaona brzina i ubrzanje težišta njegovog
segmenta vC1 , 1 , aC1 i 1 ) prelazi se na naredni segment, za koji je u ovom trenutku
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 težišta drugog segmenta.
Ova procedura se ponavlja od segmenta do segmenta dok se ne obiðe kompletan kinematski
lanac i stigne do poslednjeg segmenta.
Na bazi sraèunatih kinematskih velièina svih segmenata, u drugoj fazi se odreðuju potrebni
momenti u zglobovima. Meðutim, sada se polazi od poslednjeg segmenta i duž
kinamatskog lanca se ide ka baznom segmentu. Napišimo izraz (6.28) za poslednji (n-ti)
segment u sledeãem 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 težišta n-tog segmenta koje smo veã
sraèunali 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 velièine sa desne strane jednaèine poznate
pa nepoznatu silu sprezanja Fn 1,n izmeðu n-1-vog i n-tog segmenta možemo odrediti.
Zatim se prelazi na naredni segment pa se na isti naèin odredi sila sprezanja Fn 2,n 1
izmeðu n-2-gog i n-1-vog segmenta.
Istim naèinom (na osnovu jednaèine (6.29)) možemo najpre odrediti moment sprezanja
izmeðu n-1-vog i n-tog segmenta, a zatim se, kao u prethodnom sluèaju, prelazi na
prethodni segment i odreðuje moment M n 2,n1 izmeðu n-2-gog i n-1-vog segmenta, i tako
dalje sve do baznog segmenta.
Prema tome, rekurzivna procedura za sraèunavanje sila i momenata u zglobovima
mehanizma se bazira na jednaèinama
Fi 1,i Fi ,i 1 mi vCi mi g
M M
i 1,i r F r
i ,i 1 i .Ci i ,i 1 F I
i 1,Ci (I )
i 1,i i i
(6.53)
i i i
137
Industrijska robotika Dinamika
Ako je i+1-vi zglob rotacioni on doprinosi ugaonoj brzini i ubrzanju narednog segmenta pa
važi
i 1 i q i 1 z i
i 1
i qi 1 z i i q i zi (6.56)
dok za linearne brzine i ubrzanja važi
vi 1 vi i ri ,i 1
i 1 ri ,i 1 i 1 i 1 ri ,i 1
ai 1 ai (6.57)
Na Sl. 6.17 je šematski prikazan algoritam za rešavanje zadatka inverzne dinamike i sra-
èunavanje pogonskih momenata u zglobovima mehanizma. Pretpostavlja se da su svi
podaci o mehanizmu robota i trajektoriji zglobova poznati i zadati.
Proces poèinje uèitavanjem 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 jednaèina (6.55), (6.56) i (6.57) sraèunavaju
brzine i ubrzanja ( v1 , 1 , a1 , 1 ) segmenta 1, tj. njemu pripadajuãeg koordinarnog siste-
ma. Ove informacije se prosleðuju dalje, pa se na osnovu ovih podataka i informacija o
kretanju u zglobu 2 ( q 2 , q 2 , q2 ) sraèunava kretanje segmenta 2 ( v2 , 2 , a 2 , 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 sraèunaju ( vi ,
i , ai , i ), na osnovu jednaèine (6.58) sraèunaju i brzine i ubrzanja njegovog težišta
( vCi , Ci , aCi , Ci ) radi kasnijeg korišãenja u algoritmu.
138
Dinamika Industrijska robotika
Pošto su kinematske velièine za sve segmente sraèunate, zapoèinje se sa sraèunavanjem
139
Industrijska robotika Dinamika
sluèaju da se robot kreãe slobodnim prostorom i da nema kontakt sa okolinom, Fn ,n 1 i
M n, n 1 su jednaki nuli.) Zatim se sraèunavaju sile i momenti sprezanja u zglobovima Fi ,i 1
i M i ,i 1 èijim projektovanjem na osu zgoba (jednaèine (6.4) i (6.5)) dobijamo pogonski
moment, tj. komponentu koja mora da se uravnoteži dejstvom motora u zglobu, i koju sama
struktura zgloba ne može da primi.
G1 g T m1 J L(1)1 m2 J L(2)
1
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.
140
9 PROGRAMIRANJE INDUSTRIJSKIH ROBOTA
9.1 UVOD
Posebno važan zadatak u okviru primene robota u praksi predstavlja njegovo
programiranje. Programiranjem se nedvosmisleno odreðuje ponašanje robota u svim
situacijama tokom realizacije zadatka tako da zadatak bude što uspešnije realizovan.
Meðutim, pošto robot deluje u “stvarnom svetu” i tokom realizacije zadatka mogu nastupiti
i nepredviðeni ili neoèekivani dogaðaji. Programom treba da se specificira ponašanje robota
i u takvim situacijama.
U ovom poglavlju ãe biti razmotrena problematika programiranja robota sa aspekta glavnih
zadataka koji programiranjem treba da budu rešeni. Pored toga ãe biti reèi i o oèekivanim
pravcima razvoja ove oblasti.
141
jezike za programiranje “svojih” robota tako da danas postoji veliki broj “fabrièkih”
programskih jezika koji zahtevaju odreðeni hardver i važe samo za odreðenu “vrstu” robota
koje dotièna fabrika proizvodi. Stoga korisnici robota uvek treba da imaju na umu da, u
praksi, promena proizvoðaèa od kojeg se robot nabavlja znaèi i promenu jezika za
programiranje. Pored ostalih nepogodnosti (obuka za novi programski jezik, ...) to znaèi da
programe koji su bili dotle korišãeni treba ponovo realizovati sa novim programskim
jezikom koji koristi novi robot.
Postoji više naèina na koje program može da se formira. Jedan naèin je da programer
specificira i u programu napiše sve akcije koje robot treba da izvrši, èak i one koje ne
moraju neizostavno da budu izvršene svaki put, veã samo u sluèaju kada se za to steknu
odgovarajuãi uslovi (ovo se najèešãe odnosi na situacije kada nastupi neka greška u
realizaciji zadatka, a potrebno je da se uticaj greške eliminiše 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 pojedinaènog 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 generiše
programski sistem èime je programiranje, sa aspekta programera, postalo znaèajno
olakšano ali treba reãi da je programiranje i dalje ozbiljan i složen zadatak èija realizacija
dugo traje. I dalje, programer treba da definiše sve pokrete veoma precizno, da vodi raèuna
o odzivu sa senzora i akcijama koje na bazi ovih informacija treba realizovati. Meðutim,
iako odreðene sliènosti postoje, treba napomenuti da se programiranje robota ne može
poistovetiti sa programiranjem raèunara. Osnovna razlika je u tome što je tokom
izvršavanja programa robot u kontaktu sa realnim, a ne virtuelnim okruženjem. Tako, na
primer, odreðena sekvenca programa (tj. odreðena robotska akcija) može mnogo puta da
bude realizovana besprekorno, da bi u jednom trenutku njena korektna realizacija bila
onemoguãena malom razlikom u dimenzijama objekta kojim robot rukuje. Prema tome,
obzirom da akcije robota nisu u potpunosti (idealno) ponovljive, a da nije moguãe da se
obezbedi ni potpuno isto poèetno stanje okoline robota (scene u kojoj robot radi) na
poèetku svakog ponovnog izvršavanja zadatka, mogu se javiti greške pri realizaciji zadatka.
Stoga je potrebno da se pre industrijske implementacije programa što više ovakvih situacija
otkrije i definiše odgovarajuãi naèin reagovanja robota, što se postiže detaljnim testiranjem
programa. Prema tome, programiranje robota i testiranje razvijenog programa predstavlja
dugotrajan i ozbiljan proces. Testiranje je otežano èinjenicim da je pri svakom ponavljanju
testirane sekvence neophodno fizièki reinicijalizovati scenu.
Imajuãi na umu veliku šarolikost postojeãih jezika za programiranje robota, njihovu podelu
je najpogodnije uraditi, ne na bazi sintakse, veã na osnovu nivoa apstrakcije na kojem se
piše kod programa. Stoga robotske jezike možemo da podelimo na èetiri osnovne grupe:
- jezici kojima se programiranje vrši na nivou zglobova zahtevaju da se
programira pokretanje svakog zgloba pojedinaèno kako bi se ostvarilo željeno
kretanje hvataljke. Ovo su jezici najnižeg nivoa. Jedino je kod robota pravougle
ili Dekartove konfiguracije ovo prirodan naèin programiranja. Predstavnici ove
vrste jezika su Olivetti-jeva SIGLA i HELP kompanije DEA.
- jezicima nivoa manipulacije se opisuje položaj i orijentacija hvataljke robota
tokom realizacije zadatka, dok kretanja pojedinaènih zglobova koji ovakvo
kretanje hvataljke treba da obezbede sistem odreðuje automatski. Najpoznatiji
jezici ove klase su VAL firme Unimation koji se koristi za programiranje
142
Dinamika Industrijska robotika
PUMA robota. Najveãi 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 položaja objekata (umesto položaja robotske hvataljke), a program
sam generiše sve što je neophodno da se ovakvo kretanje ostvari. Osnovna
prednost ovih jezika nad jezicima nivoa manipulacije je u tome što je pri
rearanžiranju scene za odreðeni zadatak (promena položaja objekata) potrebno
samo promeniti koordinate objekata dok sam program kojim se realizuje
zadatak nije potrebno ponovo pisati. Osim toga, ovi jezici, u naèelu,
dozvoljavaju da jedan program bude primenljiv na razlièite 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 više koordinatnih
sistema, kao i RAPT, AUTOPASS i LAMA gde su korišãeni mnogo složeniji
geometrijski modeli.
- grupi jezika nivoa zadatka pripadaju sistemi koji bi trebalo da razumeju i izvrše
zadatak opisan u najopštijoj formi (npr. montiraj ležaj u kuãište motora), tako
što bi sami planirali potrebne zahvate, njihov redosled, neophodne putanje
hvataljke robota u okviru scene, i generisao odgovarajuãe akcije reda izvršenja
zadatka. Ne postoji kompletan sistem koji obezbeðuje programiranje robota na
ovom nivou.
Druga podela programskih jezika je prema tome da li je neophodno da prilikom formiranja
programskog koda programeru bude raspoloživ “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 odgovarajuãi uglovi u zglobovima mehanizma zapamte),
takav naèin se naziva on-line programiranjem. To praktièno znaèi da robot treba da bude
izuzet iz procesa proizvodnje tokom razvoja programa i stavljen na raspolaganje
programeru. U sluèajevima kada su roboti delovi složenih industrijskih automatizovanih
sistema ovo veoma teško može, ili uopšte ne može da se obezbedi, pa tada programiranje
mora da se realizuje bez korišãenja robota u toku razvoja programa. Pravi robot i prave
radne predmete je jedino moguãe i neophodno koristiti za završna podešavanja. Ovakav
naèin programiranja bez korišãenja robota u toku razvoja programa se naziva off-line
programiranjem. Pošto se pri formiranju programskog koda, umesto stvarnog i fizièki
prisustnog robota, koristi njegov vituelni model nameãe se zakljuèak da bi bilo korisno da
se i realna scena zameni virtuelnom. To ima za posledicu da je pri off/line programiranju
moguãe proveriti simulacijom proces robotizacije odreðenog zadatka pre nego što su svi
elementi koji u njemu uèestvuju fizièki dostupni. Prema tome, kvalitetan sistem za off/line
programiranje treba da ispuni nekoliko važnih uslova: CAD baza podataka robotskih
manipulatora i raznih alata koje robot koristi, CAD baza podataka o radnim predmetima
mora da je dostupna za korišãenje, mora da postoji moguãnost da se valjanost napisanog
programa proveri simulacijom njegovog izvršavanja i da se na osnovu toga proces poboljša
optimizacijom vremena trajanja ciklusa, podešavanjem rasporeda objekata koji uèestvuju u
procesu ili izmenom redosleda izvršavanja operacija. Važno je da se uoèi da pri off/line
programiranju èak nije neophodno da radni predmet stvarno postoji veã je programiranje
moguãe realizovati koristeãi CAD modele. To je veoma pogodno jer je poboljšanja
konstrukcije radnog predmeta moguãe predložiti još u fazi projektovanja, ukoliko se u toku
simulacije ukaže potreba za izmenama.
143
Naravno, off/line programiranje ima i odreðene mane. Programi razvijeni na ovaj naèin su u
veãoj meri nepouzdani i podložni pojavi grešaka. Najveãi broj problema se javlja zbog
nemoguãnosti pouzdane simulacije senzora. Osim toga, nemoguãe je eliminisati odreðeno
odstupanje modela okoline robota i njegove stvarne okoline. Veoma je važno uoèiti ta
odstupanja kako bi bilo moguãe preduzeti odgovarajuãe korektivne akcije bez uèešãa
èoveka.
Sl. 9.1. Izgled radnog mesta i njegov prikaz nizom koordinatnih sistema
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 ogranièenom obliku, ovakav opis okoline ima odreðene prednosti. Pošto se u
programu eksplicitno definišu položaji objekata, a ne pozicije hvataljke robota, ovakav
program se može koristiti za realizaciju istog zadatka razlièitim robotima. Osim toga se,
npr. isti montažni program može koristiti ukoliko se i model okoline promeni u smislu da
objekti koji uèestvuju u montaži promene svoje položaje u okviru radne scene. U tom
sluèaju je potrebno samo preraèunati nove položaje objekata, dok ostatak programa ostaje
neizmenjen.
145
Sl. 9.3. Objekat sa svojim sastavnim delovima i usvojeni geometrijski entiteti
Relativni položaji površina na razlièitim 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).
Pošto su svi pojedinaèni objekti opisani na odgovarajuãi naèin, programer treba da definiše
njihov meðusobni položaj kada je objekt potpuno montiran. Za to mu na raspolaganju stoje
sledeãe relacije: pasuje u (fits), koaksijalan (coaxial), koplanaran (coplanar), ravan
nasuprot ravni (against plane to plane, oznaèeno 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) znaèi da jedno telo može da se
translatorno pomera u odnosu na drugo u jednom pravcu, rotaciono (rot) oznaèava da jedno
telo može da rotira oko jedne ose u odnosu na drugo, fiksirano (fix) oznaèava da dva tela
imaju nepromenljiv relativan položaj, linearno-linearno (linlin) znaèi da je moguãnost
relativnog kretanja dva tela ogranièena 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 omoguãava formiranje podsklopova – trajnih ili privremenih
koji u jednom trenutku postoje dok se kasnije može deklarisati da ne postoje. Kada su dva
tela povezana u podsklop (možemo ih povezati i radi realizacije zajednièke akcije) oni
realizuju isti pokret. Primera radi, ukoliko je neki objekat povezan sa hvataljkom robota, on
ãe se kretati zajedno sa njom prateãi njenu promenu položaja i orijentacije i zadržavajuãi
uvek zadati relativni položaj. Osim toga, da bi se zadatak realizovao nije dovoljno samo da
se definiše meðusobni položaj sastavnih delova kada je objekt potpuno montiran, veã
programer treba da propiše redosled izvoðenja pojedinih akcija kojima se stiže do konaèno
montiranog proizvoda.
I kod ovog jezika postoji nekoliko otvorenih i nerešenih problema. Pre svega treba
146
Dinamika Industrijska robotika
napomenuti da modeli tela nisu ogranièeni i nije moguãe proveriti da li ãe tokom
izvršavanja zadatka doãi do sudara. Zatim, RAPT ne podržava 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 može biti samo niz bezuslovnih komandi i nisu
dozvoljena uslovna grananja.
147
podelimo na tri glavne grupe:
- kako generisati putanje robota u okviru scene pri realizaciji zadataka, tako da ne
doðe do sudara sa drugim objektima (planiranje trajektorija),
- kako odrediti pozicije za hvatanje objekta. Ovaj problem se usložnjava ukoliko
se koristi kompleksna hvataljka (veštaèka šaka) kojom je moguãe realizovati
više razlièitih hvatova, pa je najpre potrebno odrediti vrstu hvata, a zatim je
potrebno odrediti i mesto na objektu gde se takav hvat može 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
Uopšteno govoreãi, kod planiranja trajektorija je moguãe postaviti jedan od dva sledeãa
zadatka: gde objekat A može biti postavljen u oblasti R tako da ne doðe 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 doðe do
sudara sa drugim objektima. Scena, za koju ãe biti izložen jedan od pristupa planiranja
trajektorije, se smatra statièkom i dvodimenzionalnom, dok se objekti i prepreke
aproksimiraju poligonalnim linijama.
Najãešãe se rešavanju ovog problema prilazi tako što se objekat A smanjuje do velièine
taèke, a prepreke se uveãavaju da bi se izvršila kompenzacija originalne velièine objekta.
Zatim se odreðuje skup svih moguãih pravolinijskih putanja izmeðu uveãanih objekata, a
kao rešenje se bira najkraãa.
Osnovna prednost ovog prilaza se ogleda u olakšanom sraèunavanju preseka kontura
objekata i prepreka tj. odreðivanju situacija kada dolazi do sudara objekta i prepreka.
Mnogo se lakše odredi presek taèke sa objektom nego jedne konture objekta sa drugom.
Osim toga, u sluèaju dvodimenzionalnog problema, i ukoliko se razmatra samo translatorno
kretanje objekta, na ovaj naèin se dolazi do optimalnog rešenja. Mana ovakvog prilaza je to
što velièina objekta A treba da je poznata unapred i ne može se menjati. U sluèaju razlièitih
objekata koje treba pomeriti na istu lokaciju u okviru scena, kompletnu proceduru treba
ponoviti za svaki predmet. Druga mana je što ovakav prilaz daje rešenja koja su veoma
blizu preprekama, što svakako nije poželjno.
Ukoliko je dozvoljeno da predmet tokom kretanja i rotira raèunarska složenost se znaèajno
uveãava. Slièna metodologija se može primeniti i u sluèaju trodimenzionalnog problema
mada dobijeno rešenje u ovom sluèaju ne mora da bude optimalno.
Ovaj problem je rešavan i drugaèijim prilazima, kao što je, na primer, eksplicitni opis
slobodnog prostora izmeðu objekata na sceni. Slobodan prostor je opisivan nizom
generalisanih cilindara, a putanja je dobijena spajanjem njihovih centara. Iako ovakva
putanja nije optimalna, pruža dodatnu sigurnost da neãe doãi do sudara jer se objekat kreãe
sredinom slobodnog prostora. Osim toga, ovaj naèin ima prednost da opis prostora i
generisana putanja nisu zavisni od objekta koji se prenosi i mogu da se koriste za više njih.
Rešavanje zadatka obilaženja prepreka obavlja se na nivou upravljaèkog sistema robota.
Takoðe se razmatra dvodimenzionalna scena, ali se identifikacija objekata vrši kamerom
koja se nalazi iznad, tako da objekti mogu da budu na nepoznatim lokacijama. Oko svakog
objekta na sceni se definiše potencijalno polje koje deluje na robotsku hvataljku odbojnom
148
Dinamika Industrijska robotika
silom koja raste sa smanjivanjem rastojanja izmeðu objekta (prepreke) i hvataljke. Pre
poèetka kretanja potrebno je zadati poèetnu P i krajnju K poziciju objekta. Ciljna lokacija
na objekat deluje privlaènom silom. Sistem zapoèinje 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 može sraèunati 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 sluèaju pokretnih prepreka. Problemi mogu
nastati ukoliko robot zakloni scenu, pošto sistem za viziju stalno mora da ima jasnu
vidljivost kako bi mogao da bude odreðen meðusobni položaj svih objekata.
Jasno je da je planiranje putanja na sceni, posebno ukoliko objekti (prepreke) nisu statièki,
još daleko od industrijski primenljivog rešenja. È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 odreðivanje mesta za hvatanje objekata se najèešãe baziraju samo na
geometrijskim karakteristikama predmeta. Složenost algoritma svakako zavisi od složenosti
same hvataljke i njenih sposobnosti za realizaciju razlièitih hvatova, ali se u industrijskoj
robotici najèešãe koriste hvataljke jednostavne konstrukcije. Algoritam za nalaženje
pozicija za hvatanje dvoprstom paralelnom hvataljkom bi mogao da ima sledeãu formu:
- Eliminišite iz razmatranja sve površine koje ãe biti aktivne tokom realizacije
zadatka tj. koje ãe biti u kontaktu sa drugim objektima,
- Razmotrite simetriju objekta,
- Naãi dve približno paralelne površine dovoljne velièine za oslanjanje prstiju, a
èije meðusobno rastojanje omoguãava da objekat bude obuhvaãen prstima i
uhvaãen,
- Ako nije moguãe pronaãi dve površine koje ispunjavaju uslove pod 3. treba da
se pokuša da se pronaðe jedna površina i jedna ivica,
- Ako nije moguãe ispuniti uslov 4. treba ponoviti proceduru i pokušati da se
pronaðu dve ivice, ili jedna ivica i jedna izvodnica ili dve ili više izvodnica.
Ukoliko postoji više potencijalnih hvatova koji su odreðeni na osnovu geometrije objekta,
izbor hvata koji ãe biti primenjen se realizuje na osnovu dodatnih kriterijuma baziranih na
dodatnim informacijama: znanju o zadatku, opštih ogranièenja, ... Ovakav prilaz je posebno
pogodan ukoliko isti objekat treba hvatati više od jednom. Kada se jednom odrede svi
moguãi hvatovi za odreðenu hvataljku i odreðeni objekat, novi hvat je moguãe odrediti
znatno brže selekcijom meðu postojeãim hvatovima.
Naravno, problematika hvatanja se znatno usložnjava ukoliko je predmet složenije
geometrije ili isuviše težak, pa je za njegovu manipulaciju potrebno koristititi kooperativni
rad dva ili više robota, a pogotovo ukoliko se radi o “nestandardnim” objektima (sunðerasti
objekti, tkanine, lako lomljivi, ...).
c) Fina kretanja
Kada objekti kojima robot manipuliše doðu u kontakt, obzirom da je nemoguãe ostvariti
apsolutno taèno meðusobno pozicioniranje, mogu se pojaviti neoèekivano velike kontaktne
sile koje su veoma nepoželjne, jer mogu da spreèe dalju realizaciju zadatka, ili da uzrokuju
149
lom nekog od objekata u kontaktu. U ovakvim sluèajevima postaju veoma važna kretanja
objekata u kontaktu kojima se obezbeðuje da situacija ne krene neželjenim tokom i da se
realizacija zadatka nastavi. Ovakva kretanja se nazivaju finim kretanjima (fine motion), za
razliku od kretanja kojima se ostvaruje prenošenje objekta u radnom prostoru (gross
motion).
Osnova za uspešnu realizaciju ovakvih situaciju je senzorska informacija o silama koje se
javljaju na kontaktu, kao i podatljivo ponašanje samog objekta koji treba lako da se adaptira
na pozicione netaènosti objekata u kontaktu. Veoma je pogodno ukoliko senzor kojim se
mere sile istovremeno predstavlja i elemenat koji obezbeðuje podatljivo ponašanje objekta.
Tipièan primer zadatka gde su fina ponašanja izuzetno važna je ubacivanje cilindriènog
objekta u otvor (peg-in-hole) ukoliko meðu njima postoji veoma mali zazor. Sasvim je
moguãe da su zazori izmeðu objekta i otvora manji od rezolucije komandovanog kretanja
robota.
Treba pomenuti da se rešavanju ovog problema prilazi na nekoliko naèina. Jedan je uèenje.
Na osnovu pokušaja i ostvarenih rezultata u tim pokušajima sistem uèi i poboljšava svoj
stepen uspeha. Posle završenog obuèavanja realizovani program se reprodukuje, ali se ne
može garantovati potpuni uspeh. Za druge radne predmete obuèavanje treba ponoviti.
Drugi naèin 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 više delikatnih situacija, kao i da treba èesto vršiti kalibraciju jer se karakteristike
senzora tokom vremena mogu menjati.
150
Dinamika Industrijska robotika
što je kalibracija, koristi se konzola kojom se robot vodi od taèke do taèke u prostoru ili
unutrašnjih ili èešãe, spoljašnjih koordinata, pamteãi položaje taèaka u prostoru i njihov
redosled. Potom, takoðe kroz konzolu, mogu se postaviti i ostali parametri kretanja koji se
odnose na naèin i brzinu kretanja izmeðu sukcesivnih taèaka. Ovakav naèin programiranja
robota zahteva veliko praktièno znanje o primeni robota, pa i dobar oseãaj o tome da li
robot može neki pokret obaviti u nekom delu radnog prostora uz dodatnu složenost zadatka.
Tipièna konzola za programiranje data je na Sl. 9.6.
Kretanje robota programira se nizom manjih pokreta izmeðu pozicija u koje želimo robot
da doðe ili da pored njih proðe. Završna pozicija robota zadaje se ili manuelnim
pomeranjem robota (jogging) upotrebom palice na konzoli, ili se direktno zadaje,
tastaturom. U neku taèku robot može doãi ili tako da se u njoj zaustavi, ili tako da proðe
kroz nju zadatom brzinom. U sluèaju da treba samo da proðe pokraj taèke, vrednost
odstupanja je odreðena parametrima kao što su brzina kretanja, velièina alata koji robot
nosi, zadate orijentacije itd.
Sl. 9.7. Primeri taèaka u kojima se robot zaustavlja i pored kojih prolazi.
151
zadataka, ovakav naèin programiranja je mukotrpan i veoma teško se može predvideti
konaèan ishod. Po pravilu se završava riskantnom probnom vožnjom. Ukoliko je potrebno,
programer mora da promeni parametre kretanja, obièno vreme izvršenja podzadataka, da bi
se trajektorije mogle ostvariti. Poseban problem, meðutim, predstavlja potreba da se robot
ubrza do krajnjih moguãih granica u datom zadatku da bi se zadatak obavio za što kraãe
vreme. To, kod složenih trajektorija, predstavlja problem koji se preko konzole, ne može
rešiti. U tu svrhu razvijeni su složeni softverski alati koji omoguãavaju off-line
programiranje, uz kompletnu podršku numerièkih 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 obuèavanje, a
posebno, da poznaje konkretnu aplikaciju robota (opsluživanje mašina, zavarivanje,
farbanje i slièno). Softver za programiranje robota danas obuhvata mnoge funkcionalnosti
kao što su:
- hijerarhijska i modularna struktura.
- sadrži funkcije, procedure, rutine kao i globalne i lokalne podatke, aritmetièke i
logièke izraze,
- unos podataka u vidu struktura i nizova, kao i CAD modela objekata
- korisnièka imena promenljivih, rutina, ulaza i izlaza,
- sveobuhvatna kontrola izvršavanja programa, rukovanje interaptima i greškama,
- izvršavanje u pozadini
Skup instrukcija i funkcija koji èine operativni sistem kontrolera dat je u nastavku. Nove
instrukcije mogu se generisati formiranjem makroa saèinjenim od niza standardnih
instrukcija. Dodaci osnovnog softvera koji se koriste pri programiranju specijalizovanih
aplikacija kao što je, na primer, farbanje, sadrže dodatne instrukcije koje ne samo da
objedinjuju komande kretanja u forme karaketeristiène za farbanje, veã sadrže 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 podrška robota obuhvata i komande koje
se odnose na specifiène aplikacije kao što su: zavarivanje (elektroluèno i taèkasto),
lepljenje, bojenje, paletizacija i slièno.
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