uvod u robotiku
TRANSCRIPT
1
1 UVOD
Mada se pojam robota veoma ĉesto koristi i postoji prećutna saglasnost da je robot ureĊaj
od koga se oĉekuje da autonomno i uspešno deluje u realnom svetu (svojoj okolini) kao i da
njegovo ponašanje treba da izgleda svrsishodno (inteligentno) još uvek ne postoji opšte
prihvaćena definicija robota. Sa druge strane, ţelja da realizuje mašine koja će ga zameniti
pri poslovima isuviše opasnim, napornim ili monotonim, kod ĉoveka postoji, verovatno,
oduvek pa su veoma ĉesto konstrukcije poprimale ĉovekoliki izgled (Sl. 1.1.-1.3). Iako se u
prošlosti mogu naći primeri mehanizama koji su u stanju da realizuju veoma sloţene
pokrete (Pisar (Sl. 1.3) je u stanju da ispiše proizvoljno zadat tekst do duţine od 40
karaktera), ipak ovakvi ureĊaji ne mogu biti nazvani robotima već samo automatima jer
Sl. 1.1. Skica naĉina pogona noge robota (levo) i model viteza, Leonardo da Vinĉi, oko 1495. god.
Sl. 1.2. Pokretne lutke za sluţenje ĉaja iz Japana,
XVIII vek
Sl. 1.3. Automat ĉasovniĉara Jaquet Droz-a poznat pod
nazivom Pisar, oko 1750.godine
Industrijska robotika Uvod
mogu da realizuju samo zadatak za koji je njihova mehaniĉka struktura projektovana. Od
robota se oĉekuje da su u stanju da, obzirom na univerzalnost sopstvene konstrukcije,
realizuju znat-no širi spektar zadataka. Odluka o konkretnoj akciji koju robot treba da
realizuje se bazira na trenutnoj situaciji u kojoj se robot nalazi, a informaciju o svom stanju
i stanju okoline robot dobija putem senzora ĉija oĉitavanja treba obraditi, ponekad na
veoma sloţen naĉin. Za realizaciju ovakvih mašina u prošlosti nije bilo uslova.
Jasno je da su za pojavu robotike morala postojati odgovarajuća teorijska znanja i steći se
adekvatni tehnološki uslovi. Obzirom da se do ovih uslova stiglo postepenim razvojem nije
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.
Tabela 1. Pregled razvoja robotike
God. Dostignuće
1898 Nikola Tesla javno demonstrirao radiom upravljani (teledirigovani) model broda.
1946 Dţorţ Devol (George Devol) razvio prvi magnetski kontroler. Na Pensilvanij-skom
univerzitetu realizovan ”Eniac”, prvi savremeni raĉunar.
1952 Na MIT-u realizovana prva NC mašina koja predstavlja prvi primer gde su softver i
hardver integrisani u okviru istog ureĊaja.
1954 Dţozef Inglberger (Joseph Engelberger), student Kolumbija univ., otkupio prava na
Devolov robot i osnovao prvu robotsku kompaniju ”Junimejšn” (Unimation).
1956 Izraz “veštaĉka inteligencija” uveden u nauĉnu terminologiju
1962 Dţeneral Motors (General Motors) instalisao prvi robot (firma Junimejšn) na poslovima
opsluţivanja mašine za livenje.
1968 Mobilni robot sa elementima veštaĉke intel. (Šejki (Shakey)) realizovan na SRI
1972 Prof. Vukobratović postavio teoretske principe dvonoţnog hoda.
1973 Sinsinati Milakron (Cincinati Milacron) razvio T3, prvi komercijalni robot.
1973 Na Stanford univerzitetu razvijen prvi jezik za programiranje robota (WAWE).
1976 U Ĉarls Draper (Charles Draper) lab. na MIT-u razvijen RCC ureĊaj za montaţu.
1977 ASEA ponudila na trţištu dva industrijska robota na elektriĉni pogon.
1978 Prvi Puma robot iz firme ”Junimejšn” instalisan u Dţeneral Motors-u.
1979 SCARA (Selective Compliant Robot for Assembly) realizovan u Japanu.
1980 Prof. Vukobratović objavio radove o rekurzivnom modeliranju dinamike otvorenih
kinematiĉkih lanaca i sintezi dinamiĉkog upravljanja robotima.
1984 Na Waseda univ. razvijen Wabot-2 koji je bio u stanju da ĉita note i svira orgulje.
1986 Na Waseda univerzitetu realizovan dvonoţni hodajući robot (WL-12) koji je hod ostvario
na osnovu ZMP prilaza.
1987 Kompamije ASEA i BBC Brown Boveri formirale ASEA Brown Boveri (ABB)
1992 Istraţivaĉki 8-noţni robot Dante I ušao u krater vulkana Erebus na Antartktiku
1997 Honda javno prikazala autonomni humanoidni robot P3 (osmi prototip u okviru projekta
koji je poĉeo 1986 godine).
1998 U Japanu zapoĉet veliki projekat Humanoid.
2000 Realizovan prvi autonomni humanoidni robot ASIMO firme Honda, Japan.
Sony prikazao svoj humanoidni robot SDR (Sony Dream Robot)
2003 Robotizovane sonde Spirit i Oportjuniti (Spirit, Opportunity) lansirane na Mars.
2008 Na Waseda univerzitetu prikazan robot koji svira flautu.
Uvod Industrijska robotika
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.
Sl. 1. 4. Plakat, glavni lik i scena iz predstave Rosumovi univerzalni roboti (RUR) ĉeškog pisca Karela Ĉapeka.
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 ekspanzijom 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.
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
Industrijska robotika Uvod
industrijske robotike presudan je bio pronalazak tranzistora 1947. godine i integrisanog
kola 1959. godine što je omogućilo minijaturizaciju, povećanje pouzdanosti rada
a) b)
c)
d)
e)
f)
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
Sl. 1.6. Razvoj Asimo (HONDA) humanoidnog robota
raĉunara i njegovu primenu u upravljanju robotima. Time su omogućeni intenzivni
proraĉuni prilikom realizacije programiranih putanja, obrade senzorskih informacija i
upravljanja elektriĉnim pogonima. U to vreme, 1961. godine, Dţordţu Devolu (George
Devol) je odobren patent broj US 2998237, mašine za rukovanje materijalom što je
Uvod Industrijska robotika
predstavljalo poĉetak industrijske robotike. Prva skica patenta prikazana je na Sl. 1.7. Još u
toku obrade patentne 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 instalisan је 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
Sl. 1.7. Prvi patent i prvi industrsijski robot u GM fabrici u Trentonu, 1961.
univerzitetima u SAD, Evropi i Japanu. Naredni veliki napredak u razvoju robotike je
omogućila pojava novih tehnologija za realizaciju upravljaĉkih sistema – mikroraĉunara,
ĉime je znaĉajno uvećana sposobnost robota da u realnom vremenu, pored ostalog,
obraĊuju raznovrsne senzorske informacije, na osnovu kojih donose odluke o narednoj
akciji koju treba izvršiti i na taj naĉin obavljaju zadatke smanjenog stepena determinizma.
Realno je da se oĉekuje da će se taj trend nastaviti, naroĉito zbog razvoja robotike koja nije
industrijska i gde je adekvatna interakcija sa okolinom na osnovu senzorskih informacija,
osnovni preduslov uspešnog delovanja robota. Stoga se moţe oĉekivati da će kod
industrijskih robota u budućnosti biti uvećan stepen ”samostalnog” delovanja što će imati
veoma znaĉajan uticaj i na proizvodnju u budućnosti.
Kada je industrijska robotika u pitanju dva su osnovna pitanja na koja treba imati jasne
odgovore. Prvo, zbog ĉega treba koristiti robote, drugo, kada ne treba koristiti robote?
Kao odgovor na prvo pitanje uobiĉajeno se navode ĉetiri razloga:
- poboljšanje kvaliteta proizvoda,
- poboljšanje uslova rada,
- smanjenje troškova i
- olakšan prelazak na proizvodnju drugog proizvoda (fleksibilnost).
U sluĉaju kada je potrebno poboljšanja kvaliteta proizvoda roboti postiţu bolje radne
rezultate u odnosu na ĉoveka kada je treba da se ostvari: pozicioniranje visoke taĉnosti,
visoka ponovljivost pri ponavljanju pokreta, eliminacija odstupanja usled zamora i
pouzdano merenje i kontrola kvaliteta korišćenjem senzora. Obzirom da su karakteristike
robota u smislu ostvarenja visoke taĉnosti i ponovljivosti dobro poznate, prva tri razloga su
jasna bez dodatnih objašnjenja. Radi ilustracije kako se robotizacijom uz primenu senzora
moţe povećati kvalitet proizvoda navešćemo primer firme Nissan iz Japana gde se za
robotizovanu detekciju nesavršenosti bojene površine automobila koriste laserski senzori.
UvoĊenjem ovog sistema povećana je uspešnost detekcije grešaka sa 60% na 100%.
Da bi se postigao visok kvalitet proizvoda i da bi se izbegle povrede, uslovi rada treba da
Industrijska robotika Uvod
budu adekvatni. Ukoliko se u okviru radnog mesta javlja potreba za podizanjem teških
predmeta ili ukoliko je posao monoton i ponavljajući ili ukoliko je radni prostor
kontaminiran (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, 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 razvijen poseban robot. Drugi karakteristiĉan primer monotonih i ponavljajućih
pokreta na radnim mestu je pakovanje i paletizacija, dok su isparenja prilikom bojenja
veoma ĉesto kancerogena 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
lokacijama š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.
- 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
Uvod Industrijska robotika
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, brzina procesora je uvećana za 117% i
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
manipulatore) 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,
proizvedenih 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 Japanu, 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
investicije u drugim granama ĉime se povećava potreba za radnom snagom, koja pri tome
mora da se prekvalifikuje. Opet, kao primer moţemo uzeti automobilsku industriju gde se,
posmatrano u celini, i pored povremenih kriza se beleţi konstantni rast novootvorenih
radnih mesta.
Industrijska robotika Uvod
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.
9
2 OSNOVNE DEFINICIJE I STRUKTURE MANIPULACIONIH ROBOTA
2.1 OSNOVNI POJMOVI
Mehaniĉka struktura industrijskog robota se sastoji od segmenata spojenih zglobovima koji
mogu biti rotacioni ili linearni (translatorni). Zadatak mehaniĉke konstrukcije je da ostvari
potrebno kretanje hvataljke robota tokom realizacije radnog zadatka. To znaĉi da je
potrebno da hvataljka u svakoj taĉki putanje ostvari planiranu poziciju i orijentaciju, kao i
odgovarajuću brzinu i ubrzanje. Konstrukciona realizacija zglobova koji se danas
primenjuju kod industrijskih robota je takva da jedan zglob omogućava samo jedno
relativno kretanje (Sl. 2.1) segmenata koje povezuje. Jedno kretanje koje zglob dozvoljava
(translaslacija ili rotacija) se, po analogiji sa terminologijom u mehanici, naziva jednim
stepenom slobode (SS). Prema tome, zglob koji omogućava samo jedno relativno kretanje
ima jedan stepen slobode i naziva se jednostrukim. Stoga se moţe reći da se mehaniĉka
struktura robota sastoji od više segmenata koji su povezani jednostrukim zglobovima. Jasno
je da se sloţena prostorna kretanja vrha robota ostvaruju istovremenim i usklaĊenim
kretanjem više zglobova. Pozicije zglobova se, bez obzira da li se radi o rotacionim ili
linearnim zglobovima, se nazivaju unutrašnjim koordinatama.
a)
b)
Sl. 2.1. Šematski prikaz a) rotacionog i b) translatornog zgloba
Obzirom da je za dostizanje proizvoljno zadate pozicije i orijentacije krutog tela u prostoru
potrebno šest stepeni slobode (tri translacije duţ osa koordinatnog sistema i tri rotacije oko
njih) jasno je da mehaniĉka struktura robota koja treba da obezbedi pozicioniranje vrha
robota u bilo kojoj taĉki svog radnog prostora sa proizvoljnom orijentacijom mora da ima
šest jednostrukih, odgovarajuće spregnutih, zglobova jer na taj naĉin mehaniĉka struktura
robota obezbeĊuje šest stepeni slobode kretanja vrha robota. Stoga je jasno da, kada je u
pitanju mehaniĉka struktura sa šest stepeni slobode, za proizvoljno zadatu poziciju i
orijentaciju hvataljke u prostoru postoji samo jedno rešenje (samo jedan skup vrednosti
Industrijska robotika Konstrukcija robota
pomeraja u zglobovima) koje obezbeĊuje da hvataljka bude u zadatoj poziciji sa traţenom
orijentacijom. U sluĉaju da mehaniĉka struktura ima više od šest stepeni slobode postoji
više mogućih poloţaja zglobova (teoretski, beskonaĉno mnogo) sa kojima se ostvaruje
traţena pozicija i orijentacija hvataljke. Roboti ĉija mehaniĉka struktura koja nosi hvataljku
ima više od šest, prostorno rasporeĊenih, zglobova (stepeni slobode) su uvek redundantni1.
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 SS2.
Deo prostora u kome se hvataljka robota moţe naći, naziva se radnim prostorom (engl.
workspace). Oblik radnog prostora zavisi od vrste (rotacioni ili translatorni) 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 nije moguće ostvariti proizvoljnu 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
1 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 daje slobodu da zahtevenu poziciju i orijentaciju hvataljke ostvarimo sa više poloţaja mehaniĉke strukture, tj. moţemo da odaberemo poloţaj
koji nam najviše odgovara. 2 Firma Motoman je juna 2008. godine predstavila dvoruĉni model SDA10. Robot ukupno 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 da rade 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
Konstrukcija robota Industrijska robotika
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
konfiguraciju jasno je da se taĉka A na Sl. 2.2 ne pomera u odnosu na poslednji segment
minimalne konfiguracije. Ova ĉinjenica će na pogodan naĉin biti iskorišćena kasnije kod
rasprezanja mehaniĉke strukture pri rešavanju inverznog kinematskog zadatka.
z0
00x
y
A
Poslednji segmentminimalne konfiguracije
q
q q
5
4 6
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.
Sl. 2.3. Kinematska šema zgloba hvataljke gde se sve tri ose seku u jednoj taĉki (Ojlerov zglob).
Uobiĉajeno se mehaniĉka struktura formira kao jednostruki kinematski lanac, mada se
mogu naći primeri višestrukih kinematskih lanaca. Višestrukim kinematskim lancima se,
uglavnom, vrši prenos kretanja sa motora na zglob ukoliko je motor udaljen od zgloba koji
osnaţuje tj. nije direktno povezan na osovinu zgloba mehaniĉke strukture. To se najĉešće
odnosi na motore kojima je osnaţen zglob hvataljke.
Sl. 2.4. Kompletan sistem manipulacionih robota
(mehaniĉka konfiguracija, upravljaĉki ureĊaj i ureĊaj za obuĉavanje).
Robotski manipulacioni sistem (Sl. 1.3) se minimalno sastoji od:
- mehaniĉke konfiguracije osnaţene aktuatorima
- odgovarajućeg upravljaĉkog ureĊaja (kontrolera) za upravljanje kretanjem izvršnih
organa, koji se obiĉno nalazi u istom kućištu sa energetskim delom sistema za
Industrijska robotika Konstrukcija robota
napajanje aktuatora.
- ureĊaja za ruĉno navoĊenje robota, koji se ĉesto naziva ureĊajem za obuĉavanje (engl.
Teaching box) tj. programiranje robota.
Na Sl. 2.4 su data dva primera robotskih sistema i u oba sluĉaja se vide sve tri pomenute
komponente koje u pojedinaĉnim sluĉajevima one mogu da variraju po veliĉini i obliku.
Kod robotskog sistema mogu postojati još neki dodatni elementi kao što su npr. izvor ulja
pod pritiskom za robot sa hidrauliĉnim aktuatorima, disketna jedinica za unošenje programa
koji je razvijen na nekom drugom ureĊaju.
2.2 DEFINICIJA OSNOVNIH KOORDINATNIH SISTEMA
Za uspešnu primenu robota neophodan je, u što većoj meri, univerzalan i standardizovan
naĉin opisa informacija koje su znaĉajne i za robot i za zadatak.
U odnosu na osnovni (spoljašnji) koordinatni sistem (engl. world coordinates) se definiše
globalni poloţaj robota i radnog mesta (Sl. 2.5). Globalni poloţaj robota se opisuje
poloţajem koordinatnog sistema osnove robota (engl. base coordinates). Spoljašnji
koordinatni sistem i koordinatni sistem osnove robota su nepokretni i ne menjaju svoj
poloţaj tokom kretanja robota. Poloţaj hvataljke (ili alata ukoliko ga robot nosi) se definiše
posebnim koordinatnim sistem koji se postavlja u TCP (engl. Tool Center Point) ili u taĉno
definisanu taĉku ĉiji poloţaj se precizira u odnosu na TCP. Poloţaj TCP-a definiše
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 opet 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.
Sl. 2.5. Osnovni koordinatni sistemi
Konstrukcija robota Industrijska robotika
2.3 OSNOVNI RADNI PARAMETRI INDUSTRIJSKIH ROBOTA
Najvaţniji parametari robota su: ponovljivost, taĉnost, rezolucija, veliĉina radnog prostora,
kao i raspodela funkcije nosivosti u okviru radnog prostora.
Ukoliko je robot doveden u odreĊenu taĉku radnog prostora u kojoj su mu zapamćene
unutrašnje koordinate a zatim se iz te taĉke izvede, pa mu se izda komanda da se u vrati u
istu taĉku, greška pozicioniranja u odnosu na taĉku u kojoj je prethodno bio se naziva
ponovljivošću. Drugim reĉima ponovljivost je rastojanje izmeĊu ostvarene i ţeljene pozicije
ukoliko je robot u ţeljenoj poziciji prethodno bio i zapamtio unutrašnje koordinate koji toj
poziciji odgovaraju. Ponovljivost se definiše kao polupreĉnik kruga koji obuhvata sve tako
dostignute poloţaje.
Tačnost je rastojanje u prostoru izmeĊu ostvarene i zadate (komandovane) pozicije ukoliko
robot u komandovanoj poziciji nije prethodno bio.
Rezolucija je najmanji pomeraj komandovanog pokreta koji se moţe realizovati. Veliĉina
rezolucije je posledica ograniĉenog broja bitova digitalnog upravljaĉkog sistema robota.
Roboti imaju i za red veliĉina bolju ponovljivost od taĉnosti.
Sl. 2.6. Ilustracija taĉnosti i ponovljivosti
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
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.
Radi povećanja taĉnosti robota razvijeni su 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
Industrijska robotika Konstrukcija robota
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.
2.4 OSNOVNE MEHANIČKE STRUKTURE (KONFIGURACIJE) MANIPULACIONIH ROBOTA
U literaturi se mogu pronaći razni naĉini sistematizacije industrijskih manipulacionih
robota. Ovde je usvojena sistematizacija koja se bazira na tipu mehaniĉke strukture
minimalne konfiguracije robota. U narednim odeljcima će biti prikazane osnovne konfi-
guracije industrijskih robota.
2.4.1 ROBOT ANTROPOMORFNE KONFIGURACIJE
Kod većine robotskih konfiguracija, pa i kod ove, prvi stepen slobode ( raĉunato od podlo-
Konstrukcija robota Industrijska robotika
ge) je rotacioni i osa prvog zgloba je vertikalna. Ovaj zglob obezbeĊuje rotaciju komplet-
nog robota oko vertikalne ose. Ose drugog i trećeg zgloba su meĊusobno paralelne, hori-
zontalne i upravne na osu prvog zgloba. Kretanjem drugog i trećeg zgloba se obezbeĊuje da
se vrh minimalne konfiguracije pozicionira u proizvoljnu taĉku u vertikalnoj ravni koja
sadrţi osu prvog zgloba. Skica kinematske strukture i fotografija robota antropomorfne
konfiguracije su prikazani na Sl. 2.8. Mehaniĉka struktura robota antropomorfne
konfiguracije podseća na strukturu ruke ĉoveka pa se stoga za drugi segment minimalne
konfiguracije ĉesto koristi naziv nadlaktica, a za treći podlaktica (Sl. 2.8). Osnovna
karakteristika robota antropomorfne konfiguracije je da moţe da preĊe iznad prepreke koja
mu se naĊe na putu. Ako pogledamo kinematsku šemu ove konfiguracije jasno je da se
pokretanjem npr. trećeg zgloba utiĉe na intenzitet momenta oko ose drugog zgloba ĉak i u
sluĉaju da se ovaj zglob ne pomera. Ovaj uticaj se naziva sprezanjem. Stoga se kaţe da,
ukoliko kretanje jednog zgloba utiĉe znaĉajno na pogonske momente (ili pogonske sile
ukoliko su zglobovi translatorni) drugih zglobova, posmatrana konfiguracija ima znaĉajno
sprezanje meĊu zglobovima. Roboti antropomorfne konfiguracije su karakteristiĉni po tome
što imaju veliko sprezanje meĊu zglobovima.
1
2
3
Sl. 2.8. Kinematska šema i fotografija robota antropomorfne konfiguracije
2.4.2 ROBOT SFERNE (POLARNE) KONFIGURACIJE
I kod sferne konfiguracije osa prvog zgloba je usmerena vertikalno naviše dok je osa dru-
gog horizontalna i upravna na osu prvog zgloba. Treći zglob je translatoran. Prema tome,
kod sferne konfiguracije vrsta i raspored prva dva zgloba su istovetni kao kod antropomorf-
ne. 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.
Industrijska robotika Konstrukcija robota
1
2
3
Sl. 2.9. Kinematska šema i fotografija robota sferna (polarne) konfiguracije
2.4.3 ROBOT CILINDRIČNE KONFIGURACIJE
Minimalna konfiguracija robota cilindriĉne konfiguracije ima jedan rotacioni i dva
translatorna zgloba (Sl. 2.10). I kod ove, kao i kod prethodnih konfiguracija, prvi segment
predstavlja obrtni stub oko vertikalne ose pa je prvi zglob rotacioni i postavljen na isti naĉin
kao i u prethodnim konfiguracijama. Drugi i treći zglob su translatorni (linearni). Osa
drugog zgloba je vertikalna što znaĉi da se njegovim kretanjem vrši podizanje odnosno
spuštanje kompletne strukture koja se nalazi dalje od zgloba, prema vrhu robota. Osa trećeg
zgloba je horizontalna tako da se njegovim pokretanjem vrši primicanje odnosno odmicanje
hvataljke u odnosu na vertikalni stub robota.
1
2
3
Sl. 2.10. Kinematska šema i fotografija robota cilindriĉne konfiguracije
Ova konfiguracija se naziva cilindriĉnom prema obliku radnog prostora koji predstavlja deo
cilindra. Roboti ove konfiguracije imaju veoma malo sprezanje meĊu zglobovima.
2.4.4 ROBOT SCARA KONFIGURACIJE
Roboti SCARA konfiguracije (engl. Selective Compliance Assembly Robot Arm), imaju dva
rotaciona i jedan translatorni zglob. Dva meĊusobno paralelna rotaciona zgloba sa
vertikalnim osama obrtanja su postavljeni na stubnu osnovu tako da se oba segmenta kreću
u horizontalnoj ravni. Na kraju drugog segmenta se nalazi translatorni zglob ĉija osa je
takoĊe vertikalna (Sl. 2.11). Zglob hvataljke ima najĉešće samo jedan stepen slobode i to
obrtanje oko vertikalne ose. Prema tome, roboti SCARA konfiguracije uobiĉajeno imaju
samo ĉetiri stepena slobode.
Konstrukcija robota Industrijska robotika
1 23
Sl. 2.11. Kinematska šema i fotografija robota SCARA konfiguracije tako da motorima treba da se savlada samo
opterećenje usled kretanja.
Kretanjem rotacionih zglobova se vrši pozicioniranje translatornog zgloba u ţeljenu taĉku
horizontalne ravni, a zatim se spuštanjem translatornog zgloba dovodi hvataljka do ţeljenog
poloţaja u okviru radnog prostora.
SCARA konfiguracija ima veoma malo sprezanje meĊu zglobovima obzirom da
gravitaciono opterećenje u potpunosti prima sama mehaniĉka struktura rotacionih zglobova.
Roboti SCARA konfiguracije su prvi put realizovani u Japanu 1972. godine, i uglavnom su
namenjeni za realizaciju montaţnih zadataka. Odlikuju se velikom taĉnošću pozicioniranja i
brzinom rada, kao i relativno velikom nosivošću. Najveći nedostatak SCARA robota potiĉe
od njegove konstrukcije – postavljen je visoko i zauzima veliki deo prostora iznad prostora
u kome se obavljaju radni zadaci, tako da taj prostor mora da bude slobodan.
2.4.5 ROBOT DEKARTOVE (PRAVOUGLE) KONFIGURACIJE
Minimalnu konfiguraciju kod ovih robota, kao što se vidi sa Sl. 2.12, ĉine tri translatorna
zgloba ĉije su ose paralelne osama Dekartovog pravouglog koordinatnog sistema. Odatle
potiĉe i naziv ovakve konfiguracije (moţe se sresti još nekoliko naziva: pravougla,
kartezijanska (engl. Cartesian) ili portalna (engl. gantry) konfiguracija ukoliko se robot
postavi na postolje kojim se nadnosi nad radni prostor kojem pristupa odozgo).
Obzirom na vrstu i raspored zglobova kod robota ove konfiguracije jasan je doprinos
kretanja u svakom od zglobova kretanju hvataljke, ĉime je programiranje, pa ĉak i ruĉno
voĊenje znatno olakšano. Radni prostor predstavlja paralelepiped ĉije dimenzije zavise od
opsega kretanja svakog zgloba
1
2
3
Sl. 2.12. Kinematska šema i fotografija robota pravougle konfiguracije
Industrijska robotika Konstrukcija robota
Sl. 2.13. Robot pravougle konfiguracije postavljen na postolje koje se nalazi iznad mašine koju opsluţuje
Roboti ove konfiguracije imaju veoma malo sprezanje meĊu zglobovima.
Radi smanjenja zauzetog prostora u pogonu roboti ovakve konfiguracije se veoma ĉesto
postavljaju na postolje (Sl. 2.13) kojim se izdiţu iznad radne mašine (portalni ili gantry
robot). Naravno, u ovakvim sluĉajevima pristup radnom prostoru radne mašine mora biti
slobodan odozgo. Dimenzije postolja mogu biti takve da robot moţe da opsluţuje i po
nekoliko mašina.
2.4.6 PARALELNI ROBOTI
Sve dosada opisane konfiguracije su imale osnovnu formu kinematskog lanca, a samo su se
razlikovale vrsta i dispozicija zglobova. Paralelni roboti se u tom smislu konstukciono
suštinski razlikuju, ali smatramo da je potrebno da ih ovde pomenemo. Oni predstavljaju
dve platforme (u nominalnom poloţaju ove platforme su paralelne) koje su povezane
segmentima promenljive duţine (Sl. 2.14). Jedna platforma se smatra bazom ili osnovom
(na Sl. 2.14 je to gornja platforma), a druga je radna ĉijim poloţajem i orijentacijom se
upravlja i na njoj se nalazi hvataljka.
Promenom rastojanja izmeĊu odgovarajućih zglobova na baznoj i radnoj platformi menja se
poloţaj i orijentacija radne platforme na koju se postavlja hvataljka ili alat koji robot nosi.
Promena rastojanja izmeĊu zglobova na baznoj i radnoj platformi se moţe realizovati ili
segmentima promenljive duţine (teleskopski segmenti sa translatornim zglobovima) ili kao
dvosegmentnim elementima sa rotacionim zglobovima kao što je prikazano na Sl. 2.14.
Roboti ove konfiguracije se odlikuju izuzetnom agilnošću (brzinom kretanja pri prelasku iz
jednog poloţaja u drugi), velikom krutošću drţanja poloţaja i relativno malom masom u
odnosu na nosivost obzirom da svaki segment (ruka) nosi samo jednu trećinu opterećenja za
razliku od robota ripa kinematskog lanca gde svaki segment trpi celokupno opterećenje.
U ovoj knjizi se roboti ovakve konfiguracije neće detaljnije izuĉavati.
Konstrukcija robota Industrijska robotika
Sl. 2.14. Fotografija paralelnog robota
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
Industrijska robotika Konstrukcija robota
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
21
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 kreta-
nja segmenata koji simultanim kretanjem odreĊuju kretanje hvataljke, na 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, 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.
3.2 KOORDINATNI SISTEMI I NJIHOVE TRANSFORMACIJE
Neka su dva desna koordinatna sistema Oo-xoyozo i O1-x1y1z1 spojeni koordinatnim poĉe-
cima (Sl. 3.1), neka im se ose ne poklapaju i neka su njihovi ortovi dati sa 0 0 0{ , , }i j k i
1 1 1{ , , }i j k , respektivno. Sistem Oo-xoyozo ćemo smatrati nepokretnim. Uoĉimo li zatim
taĉku P, vektor p od koordinatnog poĉetka do taĉke P, moţemo izraziti u odnosu na bilo
koji od dva posmatrana koordinatna sistema. Vektor p izraţen u odnosu na nepokretni
(bazni) koordinatni sistem Oo-xoyozo je dat sa:
o ox o oy o oz op p p p i j k (3.1)
dok izraţen u odnosu na koordinatni sistem O1-x1y1z1 postaje:
1 1 1 1 1 1 1x y zp p p p i j k (3.2)
Bez obzira u kom koordinatnom sistemu je izraţen vektor p , reĉ je o prikazu istog vektora
pa za komponentu npr. u x pravcu moţemo pisati
Industrijska robotika Kinematika: poloţaj robota
0 0 1 0
1 1 0 1 1 0 1 1 0
ox
ox x y z
p
p p p p
p i p i
i i j i k i (3.3)
Sl. 3.1. Elementarne transformacije koordinatnih sistema
Sliĉne relacije se mogu uspostaviti i za komponente u preostala dva pravca, y i z
1 1 0 1 1 0 1 1 0oy x y zp p p p i j j j k j (3.4)
1 1 0 1 1 0 1 1 0oz x y zp p p p i k j k k k (3.5)
Sva tri izraza (3.3-3.5) moţemo napisati u kompaktnoj formi
10 0 1 p R p (3.6)
gde je 1
0R definiše relativno ugaono odstupanje koordinatnih sistema Oo-xoyozo i O1-x1y1z1
1 0 1 0 1 0
1 0 1 0 1 0
1 0 0 1 0
10
1
i i j i k i
R i j j j k j
i k j k k k
(3.7)
Matrica 1
0R se naziva matricom rotacije. Iz (3.7) se vidi da kolone matrice 10R
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 1p preko vektora
0p moţemo napisati
01 1 0 p R p (3.8)
gde je
0 1 0 1 0 101 0 1 0 1 0 1
0 1 0 1 0 1
R
i i j i k i
i j j j k j
i k j k k k
. (3.9)
Matrice 10R i 0
1R predstavljaju jedna u odnosu na drugu inverzne transformacije. Obzirom
da je skalarni proizvod vektora ( 0 0 0 0 i j j i ) komutativan lako se moţe pokazati da vaţi
Kinematika: poloţaj robota Industrijska robotika
0 1 1 11 0 0( ) ( )T R R R (3.10)
Matrice za koje vaţi (3.10) se nazivaju ortogonalnim. Vektori kolone u 10R su jediniĉne
duţine i meĊusobno su ortogonalni. U sluĉaju desnog koordinatnog sistema determinanta
matrice 10R ima vrednost +1. Ortogonalne matrice ĉija detereminanta ima vrednost 1
nazivamo matricama rotacije. Prema tome, moţemo da zakljuĉimo da su matrice rotacije R
– ortogonalne.
3.2.1 ELEMENTARNE ROTACIJE
Razmotrimo rotacije koordinatnog sistema Oo-xoyozo oko njegovih koordinatnih osa.
Pozitivnim smerom rotacije smatramo rotaciju u pozitivnom matematiĉkom smeru.
Razmotrimo, najpre, rotaciju koordinatnog sistema oko z ose. Posle rotacije (Sl. 3.2) za
ugao koordinatni sistem Oo-xoyozo se premešta u novi poloţaj obeleţen sa O1-x1y1z1.
Sl. 3.2. Rotacija koordinatnog sistema oko z ose
Imajući u vidu da vaţe sledeće relacije 1 0 cos i i , 1 0 sin j i , 1 0 cos j j ,
1 0 sin i j i 1 0 1 k k matrica (3.7) u ovom sluĉaju dobija oblik
,
cos sin 0
sin cos 0
0 0 1
z
R (3.11)
gde ,z R oznaĉava matricu rotacije oko z ose za ugao . Zbog pojednostavljenog
zapisivanja nadalje ćemo, kada god je to pogodno, koristiti skraćeni zapis sin S i
cos C . Tako, (3.11) postaje
,
0
0
0 0 1
z
C S
S C
R (3.12)
Na sliĉan naĉin se mogu odrediti matrice rotacija oko ostalih koordinatnih osa. Najpre
Industrijska robotika Kinematika: poloţaj robota
ć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
Sl. 3.3. Rotacija koordinatnog sistema oko y ose
,
0
0 1 0
0
y
C S
S C
R (3.13)
Za rotaciju koordinatnog sistema oko x ose (Sl. 3.4) sledi
Sl. 3.4. Rotacija koordinatnog sistema oko x ose
,
1 0 0
0
0
x C S
S C
R (3.14)
Matrice rotacija (3.12), (3.13) i (3.14) koje predstavljaju rotacije koordinatnih sistema oko
sopstvenih koordinatnih osa x,y i z za odreĊeni ugao se nazivaju elementarnim
matricama rotacije.
Primer 3.1.
Za sluĉaj relativnog poloţaja koordinatnih sistema Oo-xoyozo i O1-x1y1z1 kao što je prikazano
na Sl. 3.5. odrediti matricu rotacije i projekcije vektora 1i , 1j , 1k na ose koordinatnog
Kinematika: poloţaj robota Industrijska robotika
sistema Oo-xoyozo
Sl. 3.5. Transformacija koordinatnog sistema u Primeru 3.1.
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
1
2 2
0
2 2
i , 1
2 2
0
2 2
j , 1
0
1
0
k ,
pa sledi
0 0
1
0
0 0
cos 45 cos 45 0 2 2 2 2 0
0 0 1 0 0 1 ,
cos 45 cos 45 0 2 2 2 2 0
R
gde je sa 10R oznaĉena matrica rotacije izmeĊu koordinatnih sistema Oo-xoyozo i O1-x1y1z1.
3.2.2 SLAGANJE ROTACIJA
Pretpostavimo da se koordinatni poĉeci sistema Oo-xoyozo, O1-x1y1z1 i O2-x2y2z2 poklapaju
ali da im se koordinatne ose ne poklapaju, što znaĉi da su sistemi meĊusobno zarotirani.
Matrica 10R predstavlja matricu rotacije izmeĊu koordinatnih sistema Oo-xoyozo, i O1-x1y1z1,
matrica 21R matricu rotacije izmeĊu O1-x1y1z1, i O2-x2y2z2 a matrica 2
0R predstavlja matricu
rotacije izmeĊu koordinatnih sistema Oo-xoyozo, i O2-x2y2z2. Uoĉimo li ponovo taĉku P (kao
na Sl. 3.1) njene koordinate moţemo izraziti u odnosu na razliĉite koordinatne sisteme pa
stoga, 0p , 1p i 2p predstavljaju projekcije iste taĉke na koordinatne sisteme Oo-xoyozo,
O1-x1y1z1, i O2-x2y2z2, respektivno. Stoga moţemo pisati
10 0 1 p R p (3.15)
20 0 2 p R p (3.16)
Industrijska robotika Kinematika: poloţaj robota
21 1 2 p R p (3.17)
Ukoliko (3.17) smenimo u (3.15) sledi
1 20 0 1 2 p R R p (3.18)
odakle uporeĊivanjem izraza (3.16) i (3.18) sledi
2 1 20 0 1 R R R (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 2p ), iz izraza (3.18) se jasno vidi sledeće: da bi dobili
koordinate istog vektora u odnosu na koordinatni sistem Oo-xoyozo vektor 2p treba prvo
pomnoţiti matricom rotacije 21R da bi dobili njegove koordinate u odnosu na koordinatni
sistem O1-x1y1z1, a zatim, novodobijeni vektor pomnoţiti matricom rotacije 10R . Rezultat je
vektor p izraţen u odnosu na koordinatni sistem O0-x0y0z0 tj. 0p .
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 najpre zajedno koordinatne
sisteme O1-x1y1z1, i O2-x2y2z2 u odnosu na sistem Oo-xoyozo (matrica rotacije 10R ), a zatim
samo koordinatni sistem O2-x2y2z2 u odnosu na O1-x1y1z1 (21R ). Pri više uzastopnih rotacija
koordinatni sistem oko ĉijih osa se u datom trenutku realizuju rotacije nazivamo tekućim
koordinatnim sistemom. Posebno je vaţno da se istakne da zahtevani redosled rotacija
mora biti poštovan. Da bi to ilustrovali, razmotrimo dve uzastopne rotacije: prvo iz
poĉetnog poloţaja koordinatni sistem zarotiramo za ugao oko y ose, a zatim za ugao
oko z ose koja se nalazi u novom poloţaju (tekući poloţaj koordinatnog sistema). U skladu
sa predhodnim razmatranjem sledi
, ,
0 0
0 1 0 0 0
0 0 0 1
y z
C S C S C C C S S
S C S C
S C S C S S C
R R R
Ako se redosled rotacija izmeni i prvo realizujemo rotaciju za ugao oko z ose, a zatim za
ugao oko tekuće y ose, sledi
, ,
0 0
0 0 1 0
0 0 1 0 0
z y
C S C S C C S C S
S C S C C S S
S C S C
R R R
Obzirom da rezultat nije isti, moţemo zakljuĉiti da konaĉne rotacije nisu komutativne i da
se pri sraĉunavanju rezultujuće matrice rotacije mora voditi raĉuna o redosledu mnoţenja.
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
Kinematika: poloţaj robota Industrijska robotika
svake od rotacija je prikazan na Sl. 3.6.a.
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.
a)
b)
Sl. 3.6. Uzastopne rotacije tela oko koordinatnih osa ali razliĉitim redosledom
U svim prethodnim primerima naredne rotacije su realizovane oko osa prethodno već roti-
ranog koordinatnog sistema, tj. rotacije su realizovane oko osa tekućeg koordinatnog siste-
ma. Razmotrimo sada slaganje rotacija koje se realizuju oko osa 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:
0 , 1y p R p
Industrijska robotika Kinematika: poloţaj robota
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
ugao , a zatim ponovo izvršiti rotaciju oko ose y0 za ugao . Prema tome, sledi
1 , , , 2y z y p R R R p (3.22)
Konaĉno, ukupna transformacija se dobija u sledećoj formi:
0 , , , , 2
0 , , 2
y y z y
z y
R R R R
R R
p p
p p (3.23)
Prema tome, moţemo da zakljuĉimo da za rotacije oko fiksnog koordinatnog sistema moţe-
mo da primenimo zakon o slaganju rotacija (3.19) oko osa tekućih koordinatnih sistema 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 postigne-
mo istu krajnju orijentaciju predmata 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.
Sl. 3.8. Slaganje rotacija oko osa fiksnog koordinatnog sistema
Prema tome, moţemo da zakljuĉimo da za slaganje rotacija vaţi sledeće pravilo:
- 2 1 20 0 1 R R R – ako se rotacija vrši oko osa trenutnog koordinatnog sistema.
- 2 2 10 1 0 R R R – ako se rotacija vrši oko osa nepokretnog koordinatnog sistema.
Napomenimo da je pri rešavanju zadataka na ovu ĉinjenicu potrebno posebno obratiti
paţnju.
3.2.3 ROTACIJA OKO PROIZVOLJNE OSE
U dosadašnjim primerima smo razmatrali rotacije koordinatnih sistema oko njihovih osa.
MeĊutim, postavlja se pitanje kako pronaći matricu rotacije ukoliko je rotacija izvršena za
odreĊeni ugao oko proizvoljne ose koja se ne poklapa ni sa jednom od koordinatnih osa,
i koja je definisane ortom t ĉije su projekcije na nepokretni koordinatni sistem date sa
, ,T
x y zt t t t (Sl. 3.9).. Ovaj zadatak se moţe rešiti na sledeći naĉin: osu definisanu ortom
t treba najpre zarotirati tako da se poklopi sa nekom od koordinatnih osa, npr. sa z
Kinematika: poloţaj robota Industrijska robotika
Sl. 3.9. Rotacija oko proizvoljne ose
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
, , , , , ,t z y z y z R R R R R R (3.24)
Sa Sl. 3.9 je oĉigledno
2 2 2 2
2 2
sin , cos
sin , cos
y x
x y x y
x y z
t t
t t t t
t t t
(3.25)
pa se, mnoţenjem matrica iz (3.24) dobija traţena matrica rotacije u obliku:
2
2
,
2
(1 ) (1 ) (1 )
(1 ) (1 ) (1 )
(1 ) (1 ) (1 )
x x y z x z y
t x y z y y z x
x z y y z x z
t C C t t C t S t t C t S
t t C t S t C C t t C t S
t t C t S t t C t S t C C
R . (3.26)
3.2.4 OJLEROVI UGLOVI
Jedan od naĉina za definisanje ţeljene orijentacije koordinatnog sistema je putem zadavanja
tri uzastopne rotacije izvedene na taĉno odreĊeni naĉin, na primer Ojlerovih uglova (θ, υ i
ψ). Postoji više naĉina definisanja Ojlerovih uglova, ali ćemo pomenuti samo dva koja se
najĉešće sreću: ZYZ i ZYX.
I način: ZYZ Ojlerovi uglovi
Prema ovom naĉinu definisanja Ojlerovih uglova, treba koordinatni sistem iz poĉetnog po-
loţaja zarotirati oko z0 ose za ugao , zatim oko novog poloţaja ose y (osa y' na Sl. 3.10)
Industrijska robotika Kinematika: poloţaj robota
Sl. 3.10.Transformacije koordinatnog sistema korišćenjem ZYZ Ojlerovih uglova
izvršiti rotaciju za ugao , i na kraju, oko novog poloţaja ose z (osa z'') za ugao .
Primenom pravila o slaganju rotacija dobijamo:
10 , , ,z y z R R R R (3.27)
pa sledi
10
C C C S S C C S S C C S
S C C C S S C S C C S S
S C S S C
R (3.28)
ĉime je matrica rotacije odreĊena.
II način: ZYX Ojlerovi uglovi
U ovom sluĉaju, krajnju orijentaciju koordinatnog sistema dobijamo kada koordinatni
sistem iz poĉetnog poloţaja zarotiramo oko ose z0 za ugao , zatim oko novog poloţaja
ose y izvršimo rotaciju za ugao , i na kraju, oko novog poloţaja ose x izvršimo rotaciju za
ugao .
Na isti naĉin kao ranije moţemo dobiti konaĉnu matricu rotacije u obliku:
10
C C C S S S C C S C S S
S C S S S C C S S C C S
S C S C C
R (3.29)
ĉime je i za ovaj sluĉaj definisana odgovarajuća matrica rotacije.
3.2.5 ROTACIJA DEFINISANA UGLOVIMA SKRETANJA, VALJANJA I PROPINJANJA
Matricu rotacije moţemo definisati nizom uzastopnih rotacija oko osa nepokretnog
koordinatnog sistema po odreĊenom redosledu (Sl. 3.11): rotacija oko z0 ose za ugao ,
rotacija oko x0 ose za ugao i rotacija oko y0 ose za ugao . Po analogiji sa kretanjem
Kinematika: poloţaj robota Industrijska robotika
Sl. 3.11. Uglovi skretanja (υ), valjanja (υ) i propinjanja (θ)
vozila (broda, aviona…) ugao nazivamo uglom skretanja (definiše skretanje sa kursa),
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
10 , , ,z y x R R R R
ili u konaĉnoj formi
10
C C S C C S S S S C S C
S C C C S S S C S S S C
S C S C C
R . (3.30)
3.2.6 ODREĐIVANJE OSE I UGLA ROTACIJE AKO JE POZNATA MATRICA
ROTACIJE
Sama matrica rotacije nam ne daje fiziĉku predstavu o kakvoj rotaciji se radi. Stoga je
pogodno, ukoliko je poznata matrica rotacije izmeĊu dva koordinatna sistema, da se odredi
ekvivalentna osa oko koje treba izvršiti rotaciju i ugao rotacije koji odgovaraju datoj matrici
rotacije. Ako je, u opštem obliku, matrica rotacije data sa
11 12 13
, 21 22 23
31 32 33
r r r
r r r
r r r
kR (3.31)
onda je ekvivalentni ugao, obeleţimo ga sa , dat sa
11 22 33 1arccos
2
r r r
(3.32)
a projekcije orta ose t su date sa
32 23
13 31
21 12
1
2 sin
r r
t r r
r r
(3.33)
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 ukljuĉivanjem translacije. Na Sl. 3.12.
su prikazana dva paralelna koordinatna sistema Oo-xoyozo i O1-x1y1z1. Vektorom 1
0d ,
izraţenim u odnosu na koordinatni sistem Oo-xoyozo, je definisana translacija koordinatnog
poĉetka sistema O1-x1y1z1 u odnosu na koordinatni poĉetak sistema Oo-xoyozo. Obzirom da
su koordinatni sistemi paralelni veza izmeĊu vektora 0p i 1p kojim su definisane
koordinate taĉke P u odnosu na svaki od ova dva koordinatna sistema je data sa:
10 1 0 p p d (3.34)
Ako je koordinatni sistem O1-x1y1z1 dodatno rotiran u odnosu na Oo-xoyozo, tada je veza
Sl. 3.12. Translacija koordinatnog sistema
izmeĊu ovih koordinatnih sistema nešto sloţenija i data sa:
1 10 0 1 0 p R p d (3.35)
gde 10R oznaĉava matricu rotacije izmeĊu koordinatnih sistema.
Pretpostavimo, dalje, da se tri koordinatna sistema Oo-xoyozo, O1-x1y1z1 i O2-x2y2z2 nalaze u
proizvoljnom relativnom odnosu tj. da im se koordinatni poĉeci ne poklapaju i da im ose
nisu paralelne. Obzirom da koordinate proizvoljne taĉke P koju moţemo izraziti u odnosu
na bilo koji od ovih koordinatnih sistema, moţemo napisati:
1 10 0 1 0
2 21 1 2 1
p R p d
p R p d (3.36)
Zamenimo li (3.36) u (3.35) dobijamo relaciju
1 2 1 2 1
0 0 1 2 0 1 0 p R R p R d d (3.37)
MeĊutim, veza izmeĊu koordinatnih sistema Oo-xoyozo i O2-x2y2z2 se moţe napisati direktno
2 20 0 2 0 p R p d (3.38)
pa uporeĊivanjem (3.37) i (3.38) sledi
2 1 20 0 1 R R R (3.39)
Kinematika: poloţaj robota Industrijska robotika
2 1 1 20 0 0 1 d d R d (3.40)
Matrica rotacije 20R se, kao i ranije, moţe izraziti proizvodom dve uzastopne matrice
rotacije 10R i 2
1R . Vektor rastojanja koordinatnih poĉetaka 20d sistema Oo-xoyozo i O2-x2y2z2
je izraţen kao vektorski zbir vektora 10d i 2
1d , ali moramo uoĉiti da je neophodno da se
vektor 21d 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:
1 1 2 2 1 2 1 2 10 0 1 1 0 1 0 1 0
0 1 0 1 0 1
R d R d R R R d d (3.41)
Lako se moţe uoĉiti da rezultujuća matrica ukupne transformacije ima istu strukturu kao i
matrice ĉijim mnoţenjem je dobijena 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
1 3
11 12 13
21 22 23 3 3 3 1
31 32 33
1 1
matrica vektor
rotacije translacije
0 1 vektor faktor
perspektive skaliranja0 0 0 1
x
y
z
r r r d
r r r d
r r r d
R dH (3.42)
se naziva matricom homogene transformacije i obeleţićemo je sa H . Matrica R definiše
rotaciju izmeĊu dva posmatrana koordinatna sistema, a vektor d translaciju izmeĊu
njihovih koordinatnih poĉetaka. Vektor iz poslednje vrste matrice H , vektor [0,0,0] se
naziva vektorom perspektive, a ĉlan (4,4)H faktorom skaliranja. U svim primerima koji su
za nas od interesa, vektor perspektive i faktor skaliranja će biti konstantni i imaće vrednosti
kao u (3.42).
Prema tome, pomoću homogenih transformacija se u okviru iste matrice objedinjavaju
transformacije koordinata nastale usled rotacije i translacije izmeĊu dva koordinatna
sistema. Ukupna transformacija nastala kao rezultat niza sukcesivnih transformacija se, kao
i u sluĉaju rotacija, dobija uzastopnim mnoţenjem matrica odgovarajućih homogenih
transformacija redosledom kojim su se dogaĊale. Pravila za slaganje rotacija i redosled
transformacija, koje su izvedene ranije za rotacije, u potpunosti vaţe i za homogene
transformacije.
Po analogiji sa rotacijama, homogene transformacije koje odgovaraju samo jednom stepenu
slobode kretanja u odnosu na koordinatne ose nazivamo osnovnim homogenim
transformacijama. Prema tome, osnovne homogene transformacije kojima se opisuje samo
translatorno kretanje su:
Industrijska robotika Kinematika: poloţaj robota
,
1 0 0
0 1 0 0
0 0 1 0
0 0 0 1
x a
a
H , ,
1 0 0 0
0 1 0
0 0 1 0
0 0 0 1
y b
b
H , ,
1 0 0 0
0 1 0 0
0 0 1
0 0 0 1
z cc
H (3.43)
gde matrica ,x aH oznaĉava translaciju duţ ose x za duţinu a, matrica ,y bH translaciju duţ
ose y za duţinu b, a matrica ,z cH translaciju duţ ose z za duţinu c. Ĉesto se radi
asocijativnijeg obeleţavanja umesto ,x aH moţe sresti oznaka Transx,a , umesto ,y bH se
moţe sresti Transy,b , a Transz,c umesto ,z cH . Osnovne homogene transformacije za
rotaciono kretanje su date sledećim izrazima:
, , ,
1 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0, ,
0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1
x a y b z c
C S C S
C S S C
S C S C
H H H (3.44)
gde matrica ,x H oznaĉava rotaciju oko ose x za ugao , matrica
,y H rotaciju oko ose y
za ugao , a matrica ,z H rotaciju oko ose z za ugao . Ĉesto se umesto ,x H moţe
sresti oznaka Rotx, , umesto ,y H se moţe sresti Roty, φ , a Rotz, umesto
,z H . U svim
ovim sluĉajevima je jasno da se radi o homogenim transformacijama a ne o matricama
rotacije ukoliko se obrati paţnja na dimenzije matrica.
3.3 KINEMATSKI MODEL ROBOTSKOG MANIPULATORA
Matematiĉki aparat koji smo razvili u prethodnim odeljcima za odreĊivanje transformacija
koordinatnih sistema u prostoru je veoma pogodan za opis kretanja robota. Naime, robot se
moţe predstaviti nizom krutih segmenata spojenih zglobovima koji nazivamo kinematskim
lancem (Sl. 2.2). Kretanje u jednom zglobu pokreće odgovarajući segment, a time i sve os-
tale segmente koji se nalaze “dalje”, prema vrhu kinematskog lanca ukljuĉujući i poslednji
segment - hvataljku3 ĉiji poloţaj i orijentaciju, ĉesto i tokom kretanja, a sasvim sigurno u
odreĊenim taĉkama kada je to od interesa za realizaciju zadatka, moramo ostvariti. Neka je
svakom od segmenata robota ukljuĉujući i hvataljku pridruţen koordinatni sistem koji je u
odnosu na „svoj“ segment nepokretan. Ovi koordinatni sistemi se nazivaju lokalnim za
razliku od nepokretnog sistema u odnosu na koji se kretanje lokalnih koordinatnih sistema
izraţava, a koji se još naziva spoljašnjim (globalnim ili fiksnim, …). Poznavanjem taĉnog
poloţaja koordinatnih sistema svakog od segmenata, kao i vrednosti unutrašnjih koordinata
u zglobovima moguće je jednoznaĉno odrediti poloţaj i orijentaciju hvataljke (Sl. 3.13).
3 Poslednji segment robota moţe biti, zavisno od radnog zadatka, hvataljka, neki ureĊaj ili alat (npr. aparat za
taĉkasto ili šavno zavarivanje, glodalo, prskalica za bojenje, …).
Kinematika: poloţaj robota Industrijska robotika
Ovaj zadatak je poznat kao direktni kinematski problem.
Obrnuti zadatak, kako odrediti unutrašnje koordinate u svakom od zglobova tako da se
hvataljka naĊe u zahtevanoj poziciji sa zahtevanom orijentacijom, je poznat kao inverzni
kinematski problem i nije jednoznaĉno rešiv. Svaki od ovih zadataka će biti posebno
obraĊen.
H0
1
0i-1
1iH
00
1nH
Sl. 3. 13. Transformacija poloţaja “lokalnih” koordinatnih sistema i rezultujući poloţaj hvataljke tokom kretanja
duţ kinematskog lanca robota
Koordinatni sistemi se na segmente mogu postavljati na razliĉite naĉine. Jedino mora biti
ispunjeno da je poloţaj svakog koordinatnog sistema u odnosu na “sopstveni” segment
uvek potpuno poznat i tokom vremena nepromenljiv. MeĊutim, zbog praktiĉnih razloga,
odreĊena sistematizacija u izboru poloţaja koordinatnih sistema je neophodna. Opšte
prihvaćen dogovor o naĉinu postavljanja koordinatnih sistema na segmente robota je poznat
kao Denavit-Hartenbergova ili DH notacija (konvencija). Prvi sistematski naĉin definisanja
poloţaja koordinatnih sistema primenjen u algoritmu za modeliranje dinamike
manipulacionih robota je predloţen od strane M. Vukobratovića ali je tokom vremena
potisnut DH notacijom.
3.3.1 DENAVIT - HARTENBERGOVA NOTACIJA
UvoĊenje DH notacije ćemo zapoĉeti razmatranjem osnovnih transformacija izmeĊu dva
koordinatna sistema: i-1-vog i i-tog sa koordinatnim poĉecima Oi-1 i Oi (Sl. 3.14) ĉiji
meĊusobni poloţaj zadovoljava sledeće uslove:
- osa xi je normalna na osu zi-1;
- osa xi seĉe osu zi-1.
Uoĉimo da je izmeĊu ova dva koordinatna sistema umetnut pomoćni koordinatni sistem sa
osama xP, yP i zP ĉiji koordinatni poĉetak OP je definisan presekom osa zi-1 i xi. Razmotrimo
transformacije koje je potrebno primeniti da bi se ova dva koordinatna sistema poklopila.
Ukupnu transformaciju ćemo podeliti u dva koraka: najpre ćemo i-1-vi koordinatni sistem
pomeriti tako da se poklopi sa pomoćnim, a zatim ćemo ga pomeriti tako da se poklopi sa i-
tim. Sa slike se vidi da je za poklapanje koordinatnih poĉetaka Oi-1 i OP najpre potrebno
Industrijska robotika Kinematika: poloţaj robota
koordinatni sistem i-1 zarotirati za ugao oko ose zi-1 a zatim ga translatorno pomeriti za
veliĉinu d duţ iste ose. (Primetite da se ose zi-1 i zP poklapaju). Da bi se pomoćni
koordinatni sistem poklopio sa i-tim, potrebno ga je translatorno pomeriti duţ ose xP za
veliĉinu a, a zatim zarotirati, isto oko ose xP, za ugao .
Sl. 3.14. MeĊusobni odnos koordinatnih sistema pri DH konvenciji
Prema tome, da bi se i-1-vi koordinatni sistem doveo do poklapanja sa i-tim potrebno je
izvršiti sledeće transformacije
1 , , , ,
i
i z z d x a xRot Tran Tran Rot H (3.45)
što se moţe u formi homogenih transformacija (prve dve transformacije su objedinjene u
jednu, druge dve u drugu transformaciju) izraziti na sledeći naĉin
1 , ,
0 0
0 0
0 0 1
0 0 0 1
i i
i i
i iP
i z z d
i
C S
S CRot Tran
d
H , (3.46)
, ,
1 0 0
0 0
0 0
0 0 0 1
i i
i
i ii
P x x a
i i
a
C SRot Tran
S C
H , (3.47)
ili u formi jedinstvene transformacije izmeĊu 1i -vog i i -tog koordinatnog sistema
Kinematika: poloţaj robota Industrijska robotika
1
0
0 0 0 1
i i i i i i i
i i i i i i ii
i
i i i
C S C S S a C
S C C C S a S
S C d
H . (3.48)
Prema tome, ukupna transformacija izmeĊu dva koordinatna sistema proizvoljnog meĊu-
sobnog poloţaja ali takvog da su ispunjena dva ranije navedena uslova, se moţe opisati sa
ĉetiri elementarne transformacije koje su objedinjene u jednu homogenu transformaciju.
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.
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 (1i ix z i
ix seĉe 1iz ).
Stoga razmotrimo dva susedna segmenta robota, i-1-vi i i-ti (Sl. 3.15). Pretpostavimo da je
koordinatni sistem sa poĉetkom Oi-1 već postavljen. Segmenti su spojeni rotacionim
zglobovima sa samo jednim stepenom slobode, a ose obrtanja zglobova su obeleţene sa zi,
zi-1 i zi-2, i mimoilaze se u prostoru. 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 ia ). Ako u pravcu zajedniĉke normale
ia 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 (1i ix z i
ix seĉe 1iz ) i njihov meĊusobni
poloţaj moţemo opisati Denavit-Hartenbergovim parametrima.
Sl. 3.15. DH parametri za rotacioni zglob
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ţ
Industrijska robotika Kinematika: poloţaj robota
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 0ia . Osa xi se postavlja u istom ili suprotnom smeru od vektora zi-1×zi.
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. Kada se za dati robot izvrši
pridruţivanje koordinatnih sistema pojedinim segmentima i odrede DH parametri tada su
homogene matrice transformacije funkcije samo unutrašnjih koordinata qi u zglobovima.
Sl. 3.16 DH parametri za linearni (translatorni) zglob (fali drugi znak pr. ugla i drugi zn. dvostruke crte na zi-1, Qi
treba popraviti u θi) i staviti manje taĉke za prav ugao. Nisam siguran gde ide drugi znak pravog ugla (da li je
izmeĊu xi i zi)
Napomenimo da slobodno telo u prostoru ima šest stepeni slobode, dok se relativni poloţaj
dva koordinatna sistema prema DH notaciji opisuje sa samo sa ĉetiri parametra. To je
moguće zbog toga što je ovde poloţaj koordinatnih sistema ograniĉen sa dva dodatna
uslova ( 1i ix z i ix seĉe 1iz ) ĉime se oduzimaju dva stepena slobode.
DH parametrima se moţe pridruţiti odreĊeno fiziĉko znaĉenje. Tako, parametar ai
odgovara duţini segmanta, i predstavlja ugao izmeĊu osa zglobova istog segmenta
("uvrnutost" segmenta, engl. twist), parametar di predstavlja smaknutost (engl. offset)
koordinatnih poĉetaka Oi-1 i Oi (u sluĉaju pravilnih geometrijskih oblika segmenata di
predstavlja smaknutost “centara zglobova”) dok parametar i predstavlja ugao meĊusobnog
zakretanja i-1-vog i i-tog koordinatnog sistema što je u sluĉaju linearnog zgloba posledica
Kinematika: poloţaj robota Industrijska robotika
savijenosti segmenta.
U sluĉaju rotacionog zgloba ai, di, i i predstavljaju fiksne parametre mehanizma dok
promenljiva i predstavlja unutrašnju koordinatu qi (ugao zakretanja izmeĊu dva
segmenta). U sluĉaju translatornog zgloba parametri ia ,
i i i su fiksni parametri
mehanizma, a promenljivaid predstavlja unutrašnju koordinatu qi (pomeraj u zglobu).
TakoĊe je vaţno da se napomene da pri proceduri odreĊivanja poloţaja koordinatnih
sistema koji pripadaju pojedinim segmentima ni u jednom trenutku nije voĊeno raĉuna o
stvarnom obliku segmenata i stvarnom poloţaju zglobova. Naime, kinematski model robota
predstavljen DH notacijom odgovara svim “stvarnim” mehaniĉkim konfiguracijama sa
datim rasporedom i tipom zglobova tj. odgovara svim konfiguracijama kod kojih se sve ose
zglobova nalaze na istim mestima. Oblik samih segmenata ne utiĉe na DH parametre što
predstavlja prednost DH notacije.
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 prolazi kroz Oi-1. Primetimo da je u
tom sluĉaju id 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 ia jednak nuli.
TakoĊe treba obratiti paţnju na postavljanje koordinatnog sistema na poslednji (n-ti)
segment, tj. na postavljanje koordinatnog sistema hvataljke. Koordinatni poĉetak On se
moţe izabrati proizvoljno, ali treba voditi raĉuna da se DH parametri maksimalno uproste.
Industrijska robotika Kinematika: poloţaj robota
Zbog toga se preporuĉuje da se On bira simetriĉno izmeĊu prstiju hvataljke, jedino treba da
Sl. 3.17. Postavljanje koordinatnog sistema hvataljke
se obezbedi da je osa xn upravna na zn-1.
Ukoliko je poslednji zglob rotacioni treba osu zn izabrati tako da je paralelna zn-1.
Postupak 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 0z do 1nz .
2. Postaviti bazni koordinatni sistem bilo gde na 0z osi.
Napomena: korake 35 ponavljati za 1i do 1i n
3. Locirati koordinatni poĉetak Oi na mestu gde zajedniĉka normala na ose
iz i 1iz preseca osu iz . Ako osa iz preseca osu 1iz onda Oi postaviti u
taĉku preseka, a ako su ose iz i 1iz paralelne onda Oi postaviti u zglob
iz .
4. Postaviti osu ix duţ zajedniĉke normale izmeĊu iz i 1iz kroz taĉku Oi ili
u pravcu koji je normalan na ravan odreĊenu osama iz i 1iz ako se ove
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 ia ,
id , 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
Kinematika: poloţaj robota Industrijska robotika
3.3.2 DIREKTNI KINEMATSKI PROBLEM
Pod direktnim kinematskim problemom podrazumevamo odreĊivanje pozicije i orijentacije
koordinatnog sistema poslednjeg segmenta kinematskog lanca u odnosu na nepokretni
(bazni) koordinatni sistem ukoliko su poznate vrednosti pomeraja u zglobovima (ugao
zakretanja za rotacioni i izduţenje za translatorni zglob). To se moţe postići postavljanjem
koordinatnih sistema po pravilima DH notacije i odreĊivanjem odgovarajućih matrica
homogenih transformacija. Ilustrovaćemo ovo sa nekoliko primera.
Primer 3.2:
Odrediti tablicu DH parametara i matrice homogenih transformacija za ravanski
trosegmentni robotski manipulator prikazan na Sl. 3.18.
a) bez ucrtanih koordinatnih sistema b) sa ucrtanim koordinatnim sistemima
Sl. 3.18. Trosegmentna ravanska konfiguracija
Vrednost Denavit - Hartenbergovih parametara su date u sledećoj tabeli
Tabela 1. Denavit - Hartenbergovi parametri
Segment ia i
id i
1 1l 0 0
1q
2 2l 0 0 3q
3 3l 0 0 3q
Matrice pojedinaĉnih transformacija su date sa:
1
11
0
1 1 0 1
1 1 0 1
0 0 1 0
0 0 0 1
C S l C
S C l S
H
2
22
1
2 2 0 2
2 2 0 2
0 0 1 0
0 0 0 1
C S l C
S C l S
H
3
33
2
3 3 0 3
3 3 0 3
0 0 1 0
0 0 0 1
C S l C
S C l S
H
dok je ukupna transformacija data sa
Industrijska robotika Kinematika: poloţaj robota
1 2 3
1 2 33 1 2 3
0 0 1 2
123 123 0 1 12 123
123 123 0 1 12 123
0 0 1 0
0 0 0 1
C S C C Cl l l
S C S S Sl l l
H H H T
gde je 1 2 3123 sin ( )S q q q ,
1 2 3123 cos( )C q q q . Ukoliko zadamo vrednosti za
uglove 1 2,q q i
3q moguće je odrediti 3
0H ĉime su odreĊeni matrica rotacije i vektor
translacije hvataljke u odnosu na bazni koordinatni sistem. Time je direktni kinematski
zadatak rešen.
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:
Sl. 3.19. Antropomorfna minimalna konfiguracija
Tabela 2. Denavit - Hartenbergovi parametri
Segment ia i
id i
1 0 π/2 0
1q
2 2a 0 0 3q
3 3a 0 0 3q
Matrice pojedinaĉnih homogenih transformacija su date sa
2 3
2 31 2 3
0 1 2
1 0 1 0 2 2 0 2 3 3 0 3
1 0 1 0 2 2 0 2 3 3 0 3, ,
0 1 0 0 0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1
C S C S a C C S a C
S C S C a S S C a S
H H H (3.49)
Kinematika: poloţaj robota Industrijska robotika
dok je ukupna transformaciona matrica data sa
3 2
3 1 2 3 3 2
0 0 1 2
3 2
1 23 1 23 1 1 23 2
1 23 1 23 1 1 23 2
23 23 0 23 2
0 0 0 1
C C C S S C a C a C
S C S S C S a C a C
S C a S a S
H H H H (3.50)
gde je 2 323 sin ( )S q q ,
2 323 cos( )C q q .
Na taj naĉin je odreĊena ukupna transformacija krajnjeg koordinatnog sistema O3 u odnosu
na bazni O0 u funkciji koordinata u zglobovima. Vektor pozicije koordinatnog sistema O3 je
definisan ĉetvrtom kolonom u matrici (3.50) i njegove koordinate direktno odgovaraju
koordinatama koordinatnog poĉetka O3 u odnosu na O0. Najĉešće se direktni kinematski
problem ovim smatra rešenim. MeĊutim, obzirom da nam matrica rotacije ne daje rešenje u
obliku neke od uobiĉajenih reprezentacija orijentacije koordinatnih sistema ponekad je
pogodno odrediti orijentaciju krajnjeg koordinatnog sistema u za nas povoljnijoj formi.
Pretpostavimo da ţelimo da orijentaciju koordinatnog sistema O3 definisanu matricom
rotacije iz (3.50) predstavimo ZYX Ojlerovim uglovima. 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
11 12 13
3
0 21 22 23
31 32 33
1 23 1 23 1
1 23 1 23 1
23 23 0
C C C S S r r r
S C S S C r r r
S C r r r
R .
Matrica rotacije izraţena ZYX Ojlerovim uglovima je
3
0
C C C S S S C C S C S S
S C S S S C C S S C C S
S C S C C
R
Obzirom da obe rotacije daju isti rezultat pojedinaĉni ĉlanovi u ovim dvema matricama su
jednaki. Izjednaĉavanjem izraza uz pojedine ĉlanove dobijamo
11r C C (3.51 )
12r C S S S C (3.52)
13r C S C S S (3.53)
21r S C (3.54)
22r S S S C C (3.55)
23r S S C C S (3.56)
31r S (3.57)
32r C S (3.58)
Industrijska robotika Kinematika: poloţaj robota
33r 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
11r S S C C (3.60)
21r C C S C (3.61)
i od jednaĉine (3.60) oduzmemo jednaĉinu (3.61), dobijamo
11 21 0r S r C
21
11
rStg
C r
odakle, konaĉno, sledi
21
11
rarctg
r
Zatim, pomnoţimo (3.58) sa C , a (3.59) S , odakle sledi
32r C C C S (3.62)
33r S S C C (3.63)
Ako zatim od (3.62) oduzmemo (3.63 ) sledi
32 33 0r C r S
pa konaĉno dobijamo
32
33
rStg
C r
32
33
rarctg
r
Da bi odredili ugao pomnoţimo (3.51) sa C , a (3.54) sa S
11 /r C C C
21 /r S C S
odakle sledi
2
11r C C C (3.64)
2
21r S S C (3.65)
Ako zatim (3.64) saberemo sa (3.65) sledi:
2 2
11 21r C r S C S C (3.66)
Kinematika: poloţaj robota Industrijska robotika
Ako jednaĉinu (3.57) pomnoţimo sa C i podelimo sa S dobijamo
31
Cr C
S
(3.67)
Ako desnu stranu u (3.66) zamenimo sa (3.67) dobijamo
11 21 31
Cr C r S r
S
11 21
31
r C r S C
r S
odakle sledi
31
11 21
rCtg
S r C r S
i konaĉno dobijamo
31
11 21
rarctg
r C r 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. 2.3 i na Sl. 3.20.a
Poloţaj koordinatnih sistema zgloba hvataljke je prikazan na Sl. 3.20.b. Denavit -
Hartenbergovi parametari su definisani u Tabeli 3.
a) kinematska šema zgloba b) koordinatni sistemi zgloba hvataljke
Sl. 3. 20. Sferni (Ojlerov) zglob
Tabela 3. Denavit - Hartenbergovi parametri
Segment ai i d i i
4 0 –450 0 4q
5 0 450 0 5q
Industrijska robotika Kinematika: poloţaj robota
6 0 0 6d 6q
Pojedinaĉne matrice transformacija su:
4
3
4 0 4 0
4 0 4 0
0 1 0 0
0 0 0 1
C S
S C
H 5
4
5 0 5 0
5 0 5 0
0 1 0 0
0 0 0 1
C S
S C
H (3.68)
6
5
6
6 6 0 0
6 6 0 0
0 0 1
0 0 0 1
C S
S C
d
H
dok je ukupna matrica transformacije data sa
6 4 5 6
3 3 4 5
6
6
6
4 5 6 4 6 4 5 6 4 6 4 5 4 5
4 5 6 4 6 4 5 6 4 6 4 5 4 5
5 6 5 6 5 5
0 0 0 1
C C C S S C C S S C C S C S d
S C C C S S C S C C S S S S d
S C S S C C d
H H H H
(3.69)
ĉ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 q6 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 robota je prikazana na na Sl. 3.21. Treba uoĉiti
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 1 i 1ia
id
iq
1 0 0 0 1q
2 -900 0 0 2q
3 0 2a 3d 3q
4 -900 3a 4d 4q
Kinematika: poloţaj robota Industrijska robotika
5 900 0 0 5q
6 -900 0 0 6q
a) Kinematska šema b) Koordinatni sistemi zgloba hvataljke
Sl. 3.21. Industrijski manipulacioni robot PUMA
Matrice pojedinaĉnih homogenih transformacija su date sa
1
0
1 1 0 0
1 1 0 0
0 0 1 0
0 0 0 1
C S
S C
H , 2
1
2 2 0 0
0 0 1 0
2 2 0 0
0 0 0 1
C S
S C
H
2
3
2
3
3 3 0
3 3 0 0
0 0 1
0 0 0 1
C S a
S C
d
H ,
3
44
3
4 4 0
0 0 1
4 4 0 0
0 0 0 1
C S a
d
S C
H (3.70)
5
4
5 5 0 0
0 0 1 0
5 5 0 0
0 0 0 1
C S
S C
H , 6
5
6 6 0 0
0 0 1 0
6 6 0 0
0 0 0 1
C S
S C
H
Ukupna matrica transformacije se moţe dobiti mnoţenjem pojedinaĉnih matrica
transformacije. Da bi ovaj primer mogli koristiti u narednom odeljku dodatno ćemo izvesti
neke meĊurezultate koji će nam biti potrebni. Pomnoţimo najpre 5
4H i 6
5H , odakle sledi
Industrijska robotika Kinematika: poloţaj robota
6 5 6
4 4 5
5 6 5 6 5 0
6 6 1 0
5 6 5 6 5 0
0 0 0 1
C C C S S
S C
S C S S C
H H H (3.71)
Na isti naĉin moţemo odrediti matricu transformacije 6
3H
3
46 4 6
3 3 4
4 5 6 4 5 6 4 6 4 5
5 6 5 6 5 0
4 5 6 4 6 4 5 6 4 6 4 5 0
0 0 0 1
C C C C C S S C C S a
S C S S C d
S C C C S S C S C C S S
H H H (3.72)
Ukupna transformacija izmeĊu prvog i trećeg koordinatnog sistema je
2
33 2 3
1 1 2
2
23 23 0 2
0 0 1
23 23 0 2
0 0 0 1
C S a C
d
S C a S
H H H (3.73)
pri ĉemu su korišćene poznate relacije iz trigonometrije
23 2 3 2 3C C C S S
23 2 3 2 3 S S C C S
pa za ukupnu transformaciju izmeĊu prvog i šestog koordinatnog sistema dobijamo
11 12 13
21 22 236 3 61 1 3
31 32 33
ˆ ˆ ˆ ˆ
ˆ ˆ ˆ ˆ
ˆ ˆ ˆ ˆ
0 0 0 1
x
y
z
r r r p
r r r p
r r r p
H H H (3.74)
gde je
11
ˆ 23 4 5 6 4 6 23 5 6r C C C C S S S S C
21ˆ 4 5 6 4 6r S C C C S
31
ˆ 23 4 5 6 4 6 23 5 6r S C C C S S C S C
12
ˆ 23 4 5 6 4 6 23 5 6r C C C S S C S S S
22ˆ 4 5 6 4 6r S C S C C
32
ˆ 23 4 5 6 4 6 23 5 6r S C C S S C C S S (3.75)
13ˆ 23 4 5 23 5r C C S S C
Kinematika: poloţaj robota Industrijska robotika
23ˆ 4 5r S S
33ˆ 23 4 5 23 5r S C S C C
2 3 4ˆ 2 23 23xp a C a C d S
3ˆ
yp d
3 2 4ˆ 23 2 23zp a S a S d C
I konaĉno, dodajući transformaciju 10T izmeĊu baznog i prvog koordinatnog sistema već
staĉunatoj transformaciji 61T , za ukupnu transformaciju 6
0T dobijamo
11 12 13
21 22 236 1 60 0 1
31 32 33
0 0 0 1
x
y
z
r r r p
r r r p
r r r p
H H H (3.76)
gde je
11 1 23 4 5 6 4 6 23 5 6 1 4 5 6 4 6r C C C C C S S S S C S S C C c S
21 1 23 4 5 6 4 6 23 5 6 1 4 5 6 4 6r S C C C C S S S S C C S C C C S
31 23 4 5 6 4 6 23 5 6r S C C C S S C S C
12 1 23 4 5 6 4 6 23 5 6 1 4 6 4 6 4 5 6r C C C C S S C S S S S C C C C S C S
22 1 23 4 5 6 4 6 23 5 6 1 4 5 6 4 6r S C C C S S C S S S C S C S C C
32 23 4 5 6 4 6 23 5 6r S C C S S C C S S
13 1( 23 4 5 23 5) 1 4 5r C C C S S C S S S (3.77)
23 1( 23 4 5 23 5) 1 4 5r S C C S S C C S S
33 23 4 5 23 5r S C S C C
2 3 4 31( 2 23 23) 1xp C a C a C d S d S
2 2 4 31 2 23 23 1yp S a C a C d S d C
3 2 423 2 23zp a S a S d C
Jednaĉine (3.77) konstituišu kimenatiĉki model robota PUMA i predstavljaju osnovu za
kinematsku analizu ovog robotskog manipulatora.
Industrijska robotika Kinematika: poloţaj robota
3.3.3 INVERZNI KINEMATSKI PROBLEM
Inverzni kinematski problem je zadatak odreĊivanja koordinata u zglobovima robota
(uglova u rotacionim i izduţenja (pomeraja) u translatornim, tj. q1, q2, …, q6) koje
obezbeĊuju da hvataljka robota ostvari unapred zahtevanu poziciju i orijentaciju u odnosu
na bazni koordinatni sistem. Ovaj problem je znatno sloţeniji od direktnog kinematskog
problema i ne daje uvek jednoznaĉno rešenje. Imajući u vidu 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
1 2 3q q q . 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 formi
3
0
0
0
0 0 1 0
0 0 0 1
C S x
S C y
H (3.78)
pri ĉemu vaţi
123C C (3.79)
123S S (3.80)
1 21 12x l C l C (3.81)
1 21 12y l S l S (3.82)
Ako kvadriramo i saberemo jednaĉine (3.81) i (3.82) dobijamo
2 2 2 2
1 2 1 22 2x y l l l l C (3.83)
odakle sledi
Kinematika: poloţaj robota Industrijska robotika
2 2 2 2
1 2
1 2
22
x y l lC
l l
.
Da bi rešenje postojalo mora desna strana jednaĉine imati vrednost izmeĊu 1 i 1 , na
osnovu ĉega sledi
22 1 2S C
pa se ugao q2 moţe odrediti na osnovu izraza
2
2
2
Sq arctg
C
(3.84)
Pošto je ugao 2q odreĊen
4 preĊimo na odreĊivanje ugla
1q . Napišimo izraze za x i y u
formi
2 21 1x k C k S
1 21 1y k S k C
gde je
1 1 2
2 2
2
2
k l l C
k l S
(3.85)
Ako usvojimo da je 2 2
1 2r k k i 2 2
1 2arctan ( )k k , sledi
1
2
cos
sin
k r
k r
(3.86)
Sada se izrazi za x i y mogu napisati kao
1 1
1 1
cos( )cos ( ) sin ( )sin ( )
cos ( )sin ( ) sin ( )cos ( )
x r q q
y r q q
(3.87)
ili
1cos( )x r q
1sin ( )y r q
Pošto je
1 ( , ) ( , ) q arctg y r x r arctg y x
sledi
1 2 1( , ) ( , ) q arctg y r x r arctg k k (3.88)
4 Za raĉunarsko rešavanje funkcije arctg preporuĉujemo korišćenje funkcije Atan2, jer vodi raĉuna u kom se
kvadrantu nalazi traţeni ugao i dodeljuje rešenju ispravan znak.
Industrijska robotika Kinematika: poloţaj robota
Primetimo da promena znaka 1
q utiĉe na k2 što utiĉe na vrednost q1. Na kraju se
vrednost za q3 moţe odrediti iz
3 2 1q q q (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 321 q,q,q 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 , ,T
z x y zp . Na osnovu vektora pozicije iz ukupne homogene
transformacije (3.50) moţemo pisati
3 21 23 2x C a C a C
(3.90)
3 21 23 2y S a C a C
(3.91)
3 223 2z a S a S (3.92)
Da bi odredili 1
q pomnoţimo (3.90) sa 1S a (3.91) sa 1C na osnovu ĉega sledi
3 21 1 1( 23 2)x S C S a C a C (3.93)
3 21 1 1( 23 2)y C S C a C a C (3.94)
Ako (3.93) oduzmemo od (3.94) sledi
1 1 0x S y C
odakle dobijamo
1
yarctg kq
x
Da bi odredili q3 pomnoţimo (3.90) sa 1C , a (3.91) sa 1S
2
3 21 1 ( 23 2)x C C a C a C (3.95)
2
3 21 1 ( 23 2)y S S a C a C (3.96)
Ako (3.95) i (3.96) saberemo
2 2
3 21 1 ( 1 1 ) 23 2x C y S S C a C a C (3.97)
3 223 2z a S a S (3.98)
pa zatim izraze (3.97) i (3.98) kvadriramo sledi:
Kinematika: poloţaj robota Industrijska robotika
2 2 2 2 2 2 2 2
3 2 3 21 2 1 1 1 23 2 23 2 2x C x y C S y S a C a a C C a C (3.99)
2 2 2 2 2
3 2 3 223 2 23 2 2z a S a a S S a S (3.100)
Kada jednaĉine (3.99) i (3.100) saberemo, dobijamo:
2 2 2 2 2 2 2 2
3 2 2 3( 1 1) ( 23 23 ) ( 2 2 ) 2 ( 23 2 23 2)z x C y C S C a S C a a a C C S S
odakle sledi
2 2 2 2
3 2
3 2
1 13
2
x C y S z a aC
a a
. (3.101)
Na osnovu poznate relacije iz trigonometrije 2 2sin cos 1 moţemo pisati
23 1 3S C (3.102)
pa konaĉno sledi
3
3
3
Sq arctg
C (3.103)
ĉime je ugao 3q odreĊen. Odredimo sada ugao
2q . Najpre u izrazima (3.97) i (3.98) sinus i
kosinus zbira uglova )( 32 rastavimo pomoću adicionih teorema na osnovu ĉega se
dobija
2323211 233 SaSSaCCaySxC (3.104)
3232 323 SCa)aCa(Sz (3.105)
Ako jednaĉinu (3.104) pomnoţimo sa )Sa( 33 a jednaĉinu (3.105) sa )aCa( 23 3 ,
obe jednaĉine saberemo, posle sreĊivanja sledi:
3 2 3
2 2 2
3 2 3
( 3 ) 3 ( 1 1 )2
( 3 ) 3
C a a z S a C x S yS
C a a S a
3 2 3
2 2 2
3 2 3
( 3 ) ( 1 1 ) 32
( 3 ) 3
C a a C x S y S a zC
C a a S a
odakle odreĊujemo ugao 2q kao
3 2 3
2
3 2 3
( 3 ) 3 ( 1 1 )
( 3 ) ( 1 1 ) 3
C a a z S a C x S yq arctg
C a a C x S y S a 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.
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
Industrijska robotika Kinematika: poloţaj robota
napisati u formi
11 12 13
21 22 236 1 2 3 4 5 60 0 1 2 3 4 51 2 3 4 5 6
31 32 33
0 0 0 1
x
y
z
r r r p
r r r pq q q q q q
r r r p
H H H H H H H (3.107)
Gornji izraz moţemo, mnoţenjem matricom 1
10 1q
H sleva, preurediti tako da se ugao
1q pojavi samo sa leve strane sistema
1
1 6 2 3 4 5 60 0 1 2 3 4 51 2 3 4 5 6q q q q q q
H H H H H H H . (3.108)
Ako sraĉunamo 11
0 1q
H i zamenimo u gornji izraz dobijamo
11 12 13
21 22 23 61
31 32 33
1 1 0 0
1 1 0 0
0 0 1 0
0 0 0 1 0 0 0 1
x
y
z
C S r r r p
S C r r r p
r r r p
H (3.109)
Primetimo da je u Primeru 3.5 61H definisano jednaĉinama (3.75). Izjednaĉavanjem izraza
za elemente (2,4) sa obe strane jednaĉine (3.109) dobijamo
31 1x yS p C p d (3.110)
Ako u (3.110) zamenimo
x HORIZ
y HORIZ
p p C
p p S
(3.111)
gde je
2 2
HORIZ x yp p p
y
x
parctg
p
pa sledi
31 1HORIZ
dC S S C
p
Ako uoĉimo da leva strana predstavlja sinus razlike uglova moţemo pisati
3
1( )HORIZ
dS q
p ,
onda za kosinus razlike istih uglova vaţi
Kinematika: poloţaj robota Industrijska robotika
2
3
1( ) 1HORIZ
dC q
p
odakle nakon sreĊivanja sledi
3
12
31
HORIZ
HORIZ
d
pq arc tg
d
p
, (3.112)
pa se izraz za ugao 1q dobija u konaĉnoj formi
3
12 2 2
3
x
y x y
p dq arctg arctg
p p p d
(3.113)
Primetimo da rešenje za 1q nije jednoznaĉno.
Ako je 1q poznato, tada su poznate sve vrednosti sa leve strane izraza (3.109). Ako sada
izjednaĉimo izraze za elemente (1, 4) i (3, 4) dobijamo
3 4 2
3 4 2
1 1 23 23 2
23 23 2
x y
z
C p S p a C d S a C
p a S d C a S
(3.114)
Kvadriranjem jednaĉina (3.110) i (3.114) i njihovim sabiranjem dobijamo
3 43 3a C d S K (3.115)
gde je
2 2 2 2 2 2 2
2 3 3 4
22
x y zp p p a p d pK
a
.
Pošto je jednaĉina (3.115) istog oblika kao (3.109) moţe biti rešena na isti naĉin, pa za 3q
dobijamo
3
32 2 2
4 3 4
a Kq arctg arctg
d a d K
. (3.116)
Kao i za 1q i rešenje za
3q ima dve moguće vrednosti.
Vratimo se izrazu (3.107). Da bi odredili 2q pomnoţimo ga sleva sa 1
3
0 2
H q odakle
sledi
2 11 12 13
2 21 22 23 63
2 31 32 33
1 23 1 23 23 3
1 23 1 23 23 3
1 1 0
0 0 0 1 0 0 0 1
x
y
z
C C S C S a C r r r p
C S S S C a S r r r p
S C d r r r p
H (3.117)
Industrijska robotika Kinematika: poloţaj robota
Matrica 63H 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
2 3
2 4
1 23 1 23 23 3
1 23 1 23 23 3
x y z
x y z
C C p S C p S p a C a
C S p S S p C p a S d
(3.118)
Rešavajući obe jednaĉine simultano po 23S i 23C dobijamo
3 2 2 4
22
3 1 1 323
1 1
z x y
z x y
a a C p C p S p a S dS
p C p S p
2 4 3 2
22
3 3 1 123
1 1
z x y
z x y
a S d p a a C C p S pC
p C p S p
Obzirom da su imenioci jednaki i pozitivni, za zbir uglova 2q i
3q
3 2 2 4
2 3
2 4 3 2
3 1 1 3
3 3 1 1
z x y
z x y
a a C p C p S p a S dq q arctg
a S d p a a C C p S p
(3.119)
Na osnovu izraza (3.119) za ugao 2q koji je dat sa
2 2 3 3( )q q q q (3.120)
dobijamo ĉetiri vrednosti obzirom da 1q i
3q 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
13 23 33
13 23
1 23 1 23 23 4 5
1 1 4 5
r C C r S C r S C S
r S r C S S
(3.121)
Ukoliko je 5 0S moţemo odrediti ugao 4q prema
13 23
4
13 23 33
1 1
2 23 1 23 23
r S r Cq arctg
r C C r S C r S
(3.122)
Za 5 0q robot se nalazi u singularnoj poziciji jer su ose zglobova 4 i 6 kolinearne pa za
isti ugaoni pomeraj uzrokuju isto pomeranje hvataljke. Prema tome, jedino moţemo da
odredimo njihov zbir ili razliku. U tom sluĉaju je pogodno da se za 4q usvoji proizvoljna
vrednost (najĉešće trenutna vrednost koju ugao 4q ima) a da se zatim
6q sraĉuna. Kada se,
u kasnijoj proceduri, 6q odredi, moţemo se vratiti i sraĉunati taĉnu vrednost ugla
4q .
Ostaje da još odredimo ugao 5q . Ponovo transformišimo polaznu jednaĉinu (3.107)
mnoţeći je sleva sa 1
4
0 4q
H tako da dobijamo
1
4 6 5 6
0 4 0 4 5q
H H H H (3.123)
Kinematika: poloţaj robota Industrijska robotika
gde
1
40 4q
H
2 3 3
2 3 3
2 4
1 23 4 1 4 1 23 4 1 4 23 4 3 4 4 4
1 23 4 1 4 1 23 4 1 4 23 4 3 4 4 4
1 23 1 23 23 3
0 0 0 1
C C C S S S C C C S S C a C C d S a C
C C S S C S C S C C S S a C S d C a S
C S S S C a S d
dok je 64H dato jednaĉinama (3.71) iz primera 3.5. Izjednaĉavajući ĉlanove (1,3) i (3,3) u
prethodnom izrazu, sledi
13 23 33
13 23 33
1 23 4 1 4 1 23 4 1 4 23 4 5
1 23 1 23 23 5
r C C S S C r S C C C S r S C S
r C S r S S r C C
(3.124)
Odavde je
5
5
5
Sq arctg
C
(3.125)
gde su 5S i 5C dati izrazima (3.124).
Istim naĉinom, mnoţeći polaznu jednaĉinu (3.107) sa 1
5
0 5H q
, a zatim izjednaĉavajući
elemente (1,1) sa obe strane, ugao 6q se dobija iz
6
6
6
Sq arctg
C
(3.126)
gde je
11 21 31
11
21 31
6 1 23 4 1 4 1 23 4 1 4 23 4
6 [ 1 23 4 1 4 5 1 23 5]
[ 1 23 4 1 4 5 1 23 5] 23 4 5 23 5
S r C C S S C r S C S C C r S S
C r C C C S S C C S S
r S C C C S C S S S r S C C C S
(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.
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
Industrijska robotika Kinematika: poloţaj robota
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 (Sl. 3.22). 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 Hp . Rastojanje
koordinatnog sistema hvataljke od taĉke OZGL je konstantno i iznosi 6d (videti Primer 3.4).
Orijentacija hvataljke je odreĊena pravcem ose z6 koordinatnog sistema O6.
6
0 1 6
6
0 1 6
,...,
,..., H
q q
q q
R R
p p (3.128)
Sl. 3.22 Rasprezanje ukupne mehaniĉke konfiguracije na minimalnu konfiguraciju i zglob hvataljke
Treba uoĉiti da vektor od taĉke OZGL do O6≡ OH ima pravac ose z6 a intenzitet 6d . Stoga se
vektor 6ZGLO O moţe izraziti kao 6 6 [0 01]Td d R k R gde [0 01]T predstavlja ort
k ose z6. Prema tome, vektor pozicije centra zgloba (ZGLp ) moţe se odredti iz izraza.
6ZGL H d p p R k (3.129)
ili u razvijenoj formi.
6 13
6 23
6 33
HxZGLx
HyZGLy
HzZGLz
d r
d r
d r
pp
pp
pp
Iz ovog sistema od tri jednaĉine se mogu odrediti vrednosti koordinata zglobova q1, q2 i q3
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 u vidu da je
ukupna matrica rotacije R poznata, moţemo je napisati na sledeći naĉin
3 6
30 RR R (3.130)
odakle sledi
1
6 3 3
3 0 0
T
R R R R R (3.131)
Prema tome, za robote koji poseduju šest stepeni slobode i sferni zglob, algoritam
Kinematika: poloţaj robota Industrijska robotika
odreĊivanja inverzne kinematike se moţe svesti na sledeća tri koraka
korak 1: odrediti q1, q2 i q3 iz uslova
6ZGL H d p p R k
korak 2: koristeći vrednosti za q1, q2 i q3 i odreĊene u prethodnom koraku sraĉunati 3
0R .
korak 3: naći, q4, q5 i q6 koji odgovaraju martici rotacije
1
6 3 3
3 0 0
T
R R R R R .
ĉ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 6ZGL H d p d R k .
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:
11 12 13
3
0 21 22 23
31 32 33
r r r
r r r
r r r
R ,
a matrica rotacije definisana ZYZ Ojlerovim uglovima sa:
1
0
C C C S S C C S S C C S
S C C C S S C S C C S S
S C S S C
R ,
tada se na osnovu poklapanja Ojlerovih uglova sa q4, q5 i q6 moţe pisati
11 12 13 6
21 22 23
31 32 33
4 5 6 4 6 4 5 6 4 6 4 5
4 5 6 4 6 4 5 6 4 6 4 5
5 6 5 6 5
r r r C C C S S C C S S C C S
r r r S C C C S S C S C C S S
r r r S C S S C
Iz jednakosti elemenata r13 i r23 sa obe strane izraza dobijamo
23
4
13
rq arctg
r
.
Kvadriranjem i sabiranjem elemenata r13 i r23 sa obe strane izraza i korišćenjem izraza za
Industrijska robotika Kinematika: poloţaj robota
r33 dobijamo
2 2
13 23
5
33
r rq arctg
r
.
Izborom pozitivnog znaka za ĉlan 2 2
13 23r r ograniĉavamo oblast dopustivih vrednosti za
5q na ,0 i uz tu pretpostavku, kao i korišćenjem izraza za elemente r31 i r32 dobijamo
32
6
31
rq arc tg
r
.
Prema tome, traţeno rešenje je
23
4
13
rq arctg
r
,
2 2
13 23
5
33
r rq arctg
r
,
32
6
31
rq arctg
r
.
MeĊutim, ukoliko za oblast rešenja za q5 izaberemo 0, , sledi
23
4
13
rq arc tg
r
,
2 2
13 23
5
33
r rq arctg
r
,
32
6
31
rq arc tg
r
.
Oba rešenja degenerišu kada je 5sin 0q pa u tom sluĉaju jedino moţemo da odredimo
zbir ili razliku 4q i
6q . U stvari, ukoliko je 5 0q tada se rotacije
4q i 6q 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.
Kinematika: poloţaj robota Industrijska robotika
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
62
4 KINEMATSKI MODEL ROBOTA II: DIFERENCIJALNA KINEMATIKA
4.1 UVOD
U prethodnom poglavlju su uspostavljene relacije izmeĊu vrednosti unutrašnjih koordinata
(koordinata u zglobovima) mehaniĉke konfiguracije i pozicije i orijentacije hvataljke robota
(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.
4.2 DIFERENCIJALNA KINEMATIKA
U realnom robotskom sistemu se informacije o trenutnim vrednostima unutrašnjih
koordinata u zglobova mehanizma uzimaju u diskretnim trenucima vremena koji su
definisani veliĉinom vremenskog intervala uzorkovanja (engl. sampling time). Stvarnu
brzinu kretanja zgloba je, prema tome, nemoguće potpuno taĉno znati već se ona moţe
pribliţno odrediti (proceniti) kao koliĉnik pomeraja koji je odreĊen razlikom dva uzastopna
merenja i proteklog vremena. U sluĉaju da je vremenski interval na kome se vrše merenja
konstantan, odreĊivanje trenutne brzine se svodi na odreĊivanje malih diferencijalnih
kretanja tokom intervala uzorkovanja. Stoga ćemo se u ovom odeljku pozabaviti nekim,
nama potrebnim, aspektima diferencijalne kinematike.
4.2.1 INFINITEZIMALNE ROTACIJE
Napišimo matricu rotacije oko x ose (3.14) za infinitezimalno mali ugao xd
Dinamika Industrijska robotika
1 0 0 1 0 0
( ) 0 cos sin 0 1
0 sin cos 0 1
x x x x x
x x x
d d d d
d d d
R (4.1)
gde je, obzirom da se radi o malim uglovima, sin x xd d i cos 1 xd . Na sliĉan
naĉin se mogu izvesti matrice rotacije i za infinitezimalne rotacije oko osa y i z, y ydR
i z zdR . Mnoţeći matrice x xdR i y ydR dobijamo
1 0 0 1 0
0 1 0 1 0
0 1 0 1
1 0 1 0
1 0 1
1 1
y
x x y y x
x y
y y
x y x x
y x y x
d
d d d
d d
d d
d d d d
d d d d
R R
(4.2)
gde smo male veliĉine drugog reda x yd d zanemarili. Ako sada zamenimo redosled
mnoţenja videćemo da će proizvod y y x xd d R R dati isti rezultat kao u
prethodnom sluĉaju, pa moţe da se zakljuĉi da za infinitezimalne rotacije vaţi osobina
komutativnosti, tj.
x x y y y y x xd d d d R R R R (4.3)
U opštem sluĉaju se infinitezimalne rotacije oko osa x, y i z mogu prikazati sa
1
, , 1
1
z y
x y z z x
y x
d d
d d d d d
d d
R (4.4)
Ako su ( , , )x y zd d d R i ( , , )x y zd d d R dve matrice infinitezimalnih rotacija,
tada se za dve uzastopne rotacije dobija
( , , ) ( , , )x y z x y zd d d d d d R R
1 )( (
) 1 )( (
) ) 1( (
z yz y
z xz x
y xy x
d dd d
d dd d
d dd d
(4.5)
( , , )x x y y z zd d d d d d R
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
Industrijska robotika Dinamika
z
y
x
d
d
d
d (4.6)
što će u tekstu koji sledi biti korišćeno.
4.2.2 OSNOVNE OSOBINE KOSOSIMETRIČNIH MATRICA
Za matricu S kaţemo da je kososimetriĉna (antisimetriĉna) ukoliko je ispunjen uslov:
0T S S (4.7)
što se moţe, uzimajući u obzir elemete matrice S, iskazati kao
0 , 1,2,3ij ji j i S S
. (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:
3 2
3 1
2 1
0
0
0
S S
S S
S S
S .
Ukoliko za elemente matrice Sij usvojimo komponente vektora a=(ax, ay, az)T
tada matrica
( )S a ima oblik
0
( ) 0
0
z y
z x
y x
a a
a a
a a
S a
što se u sluĉaju ortova i , j i k moţe napisati kao
0 0 0
0 0 1
0 1 0
S i ,
0 0 1
0 0 0
1 0 0
S j ,
0 1 0
1 0 0
0 0 0
S k .
Navedimo sada nekoliko osnovnih osobina kososimetriĉnih matrica koje će nam biti od
koristi kasnije. Prva osobina je linearnost
( ) ( ) ( ) , skalari. S a b S a S b (osobina 1)
koja se moţe dokazati direktnom proverom. Osim toga, za matricu aS
i vektor
[ ]T
x y zp p pp 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 .
TakoĊe se direktnom proverom moţe pokazati da za dva vektora a i b i ortogonalnu
Dinamika Industrijska robotika
matricu R (podsetimo se da su matrice rotacije R ortogonalne tj. da vaţi: 1T R R ) 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 izraz
T R S a R b
primenimo osobinu 2, dobijamo
T T R S a R b R a R b
a ako na ovaj izraz primenimo osobinu 3, sledi
( ) ( ) ( )T T R a R b R a R R b
što se, budući da je R ortogonalno, moţe napisati u jednostavnijoj formi
( ) ( )T R a R R b R a b
i na kraju, ponovnom primenom osobine 3, dobijamo
( ) ( ) R a b S R a b .
Prema tome, zakljuĉujemo
( ) ( )T R S a R b S R a b
a, ovim smo dokazali da vaţi
( )T R S a R S R a
(osobina 4)
Dalje, pretpostavimo da je rotaciona matrica funkcija samo jedne promenljive , a obzirom
da je R ortogonalno, sledi
T R R I
Ako diferenciramo obe strane po dobija se
0T
Td d
d d
R RR R (4.9)
Definišimo matricu S kao
def
Td
d
RS R (4.10)
Transponovanjem matrice S dobijamo
T T
T Td d
d d
R RS R R (4.11)
UporeĊivanjem izraza (4.10) i (4.11) sa (4.9) vidimo da za S definisano kao u (4.10) vaţi
0T S S
Industrijska robotika Dinamika
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
d
d
RS R (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
0
0
x C S
S C
R R
(vidi izraz 3.14) izraĉunati matricu S prema (4.10).
Diferenciranjem i transponovanjem matrice ,x R i uvrštavanjem u (4.10) sledi:
0 0 0 1 0 0 0 0 0
0 0 0 0 1
0 0 0 1 0
TdS C C S
dC S S C
RS R S i
Prema tome, pokazali smo da je
,,
xx
dS
d
Ri R
Na isti naĉin moţemo pokazati da vaţi
,
,
y
y
dS
d
Rj R , ,
, .z
z
d
d
RS k R
4.2.3 UGAONE BRZINE I UBRZANJA
Pretpostavimo sada da matrica R nije konstantna već da je funkcija vremena. Na osnovu
(4.12) moţemo pisati
t t R S R
gde je ( )tS kososimetriĉna matrica. Za vektor ( )tω koji predstavlja ugaonu brzinu
rotirajućeg koordinatnog sistema u odnosu na fiksni, kososimetriĉna matrica S postaje
( ( ))tS ω . Ovo moţemo jednostavno pokazati na sledećem primeru.
Ako je , ( )( ) x tt R R tada se njen izvod moţe sraĉunati prema
( ) ( ) ( ( )) ( )d d
t t td dt
RR S i R S ω R
Dinamika Industrijska robotika
gde je ( )t ω i - ugaona brzina rotacije oko x ose.
Pretpostavimo, dalje, da je 1p vektor koji je fiksiran u odnosu na koordinatni sistem O1-
x1y1z1 koji rotira u odnosu na koordinatni sistem O0-x0y0z0. Tada su koordinate vektora p u
odnosu na O0-x0y0z0 date sa
1
0 0 1t p R p
odakle, posle diferenciranja, i primenom osobine 2 sledi
1 1
0 0 1 0 1 0 0t t p R p S ω R p S ω p ω p
poznat izraz za brzinu izraţenu preko vektorskog proizvoda.
Na sliĉan naĉin ćemo razmotriti sluĉaj kada je relativno kretanje izmeĊu koordinatnih
sistema O0-x0y0z0 i O1-x1y1z1 usloţnjeno, pa pored rotacije postoji i translacija
1 10 0 1 0 /
d
dt p R p d
pa diferenciranjem prethodnog izraza, imajući u vidu da je 1p konstantan, sledi
1 1 1
0 0 1 0 0 1t t p R p d S ω R p d ω r v (4.13)
gde r predstavlja vektor 1p izraţen u odnosu na nepokretni koordinatni system O0-x0y0z0, a
v je brzina kretanja koordinatnog poĉetka O1 u odnosu na koordinatni sistem O0.
Da bismo izveli izraz za relativna ubrzanja izmeĊu dva koordinatna sistema podsetimo se
izraza za diferenciranje vektorskog proizvoda
d d d
dt dt dt
a ba b b a
Napišimo ponovo izraz (4.13) u formi
1 1 10 0 0 1 0 1 p d R p ω R p
pa ga diferencirajmo po vremenu
1 1 10 0 0 1 0 1 p d ω R p ω R p ω r ω ω r (4.14)
Izraz (4.14) moţemo da napišemo i u formi
0 p ω r ω ω r a
(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 1p menja svoj poloţaj u odnosu na koordinatni sistem O1 izraz (4.15) postaje
1
0 0 12 p ω r ω ω r ω R p a (4.16)
Industrijska robotika Dinamika
gde je 1 10 1 0 a R p d , dok izraz 1
0 12 ω R p oznaĉava Koriolisovo ubrzanje.
4.2.4 SABIRANJE UGAONIH BRZINA
U ovom odeljku ćemo izvesti izraze za sabiranje ugaonih brzina ukoliko se dva koordinatna
sistema O1 i O2 kreću u odnosu na nepokretni koordinatni sistem O0. Izrazimo vektor
poloţaja taĉke P u odnosu na razne koordinatne sisteme
1 1
0 0 1 0 p R p d (4.17)
2 2
1 1 2 1 p R p d (4.18)
2 2
0 0 2 0 p R p d (4.19)
gde, prema (3.39) i (3.40) i dalje vaţi
2 1 20 0 1 R R R (4.20)
2 1 1 2
0 0 0 1 d d R d
Obzirom da su matrice rotacije funkcije vremena diferenciranjem (4.20) dobijamo
2 1 2 1 20 0 1 0 1 R R R R R . (4.21)
Izraz sa leve strane (4.21) tj. ( 20R ) moţemo napisati kao
2 2 2
0 0 0 R S ω R (4.22)
Prvi izraz sa desne strane u (4.21) tj. 1 20 1R R moţemo napisati kao
1 2 1 1 2 1 2
0 1 0 0 1 0 0 R R S ω R R S ω R (4.23)
dok drugi izraz sa desne strane (4.21) tj. 1 20 1R R moţemo transformisati na sledeći naĉin
1 2 2 2
0 1 1 1 R R S ω R
Ako pomnoţimo gornji izraz sa 1 10 0T R R
1 2 1 1 2
0 1 0 0 1
T R S ω R R R
i primenimo pravilo 4, dobijamo
1 2 1 2 1 2 2
0 1 0 1 0 1 0 S R ω R R S R ω R (4.24)
Unošenjem (4.22), (4.23) i (4.24) u (4.21), sledi
2 2 1 1 2 2
0 0 0 0 1 0( ) ( ) ( ) S ω R S ω S R ω R (4.25)
Obzirom da je ( ) ( ) ( )S S S a b a b sledi
Dinamika Industrijska robotika
2 1 1 2
0 0 0 1 ω ω R ω (4.26)
Odavde zakljuĉujemo da se ugaone brzine mogu sabirati samo pod uslovom da su izraţene
u istom koordinatnom sistemu.
4.2.5 PROPAGACIJA BRZINE KROZ KINEMATSKI LANAC
Mehaniĉka struktura robota se moţe predstaviti kinematskim lancem koji se sastoji od
krutih tela (segmenata) spojenih zglobovima sa po jednim stepenom slobode. Pokretanjem
i-tog zgloba pomeraju se svi segmenti koji se nalaze u nizu dalje (i+1-vi, i+2-gi, …) dok na
segmente koji mu prethode (i-1-vi, i-2-gi, …) ovo pomeranje nema uticaja. Na taj naĉin,
sukcesivnim pomeranjem zglobova od osnove ka vrhu robota, moţemo odrediti brzine svih
segmenata, ali je od posebnog interesa brzina poslednjeg segmenta (hvataljke ili alata koji
robot nosi). U ovom odeljku će biti izvedene relacije za brzine koordinatnih sistema koji se
nalaze u dva uzastopna zgloba na jednom segmentu. (proveriti redni broj zgloba, Craig str 145
jer Craig drugaĉije postavlja koordinatne sisteme)
Razmotrimo segment (Sl. 4.1) na kojem se nalaze dva zgloba u kojima su postavljeni
koordinatni sistemi (i-ti i i+1-vi). Radi jednostavnosti, nazovimo i-tim zglobom zglob u
kome se nalazi koordinatni sistem Oi-xiyizi, a i+1-vim zglobom zglob u kome se nalazi
koordinatni sistem Oi+1-xi+1yi+1zi+1. Pretpostavimo da su oba zgloba rotaciona. Neka su već
poznati vektori linearne iiv i ugaone brzine i
iω i-tog zgloba i neka su izraţeni u odnosu na
koordinatni sistem Oi-xiyizi. Neka je, dalje, ip radijus vektor od centra i-tog do centra i+1-
vog zgloba i neka je izraţen u odnosu na koordinatni sistem Oi-xiyizi. Tada, moţemo
ugaonu brzinu i+1-vog segmenta izraziti kao zbir vektora ugaonih brzina i-tog segmenta i
dodatne komponente uzrokovane kretanjem u i-tom zglobu. Ako sve izrazimo u odnosu na
i-ti koordinatni sistem sledi
gde su iiω i 1i
i
ω ugaona brzina i-tog i i+1-vog segmenta izraţene u odnosu na koordinatni
sistem Oi-xiyizi, 1i
k je ort ose i+1-vog zgloba, a 1ii
R je matrica rotacije izmeĊu
koordinatnih sistema Oi-xiyizi i Oi+1-xi+1yi+1zi+1. Da bi odredili ugaonu brzinu 11
iiω potrebno
je obe strane gornjeg izraza pomnoţiti sa 1iiR odakle sledi
1 1 11 1
i i i i ii i i ω R ω q k (4.28)
Industrijska robotika Dinamika
Sl. 4.1. Vektori ugaonih i linearnih brzina dva susedna zgloba
1 1 1 1i i i i ii i i ω ω R q k (4.27)
Linearna brzina koordinatnog poĉetka sistema Oi+1-xi+1yi+1zi+1 jednaka je vektorskom zbiru
brzine koordinatnog poĉetka sistema Oi-xiyizi sa dodatnom komponentom zbog rotacionog
kretanja u i-tom zglobu. Prema tome,
1i i ii i i i v v ω p (4.29)
Na sliĉan naĉin, mnoţenjem sa 1iiR , dobijamo linearnu brzinu i+1-vog zgloba izraţenu u
odnosu na i+1-vi koordinatni sistem Oi+1-xi+1yi+1zi+1 kao
11 1 1
i i i i ii i i i i i v R v R ω p (4.30)
Na potpuno isti naĉin se mogu odrediti izrazi u sluĉaju da je i+1-vi zglob linearan
11 1
1 1 11 1 1
i i ii i i
i i i i i i ii i i i i i z
ω R ω
v R v R ω p d t (4.31)
Primenjujući ove izraze sukcesivno od segmenta do segmenta moţemo sraĉunati linearnu i
ugaonu brzinu poslednjeg segmenta (hvataljke). Treba primetiti da su rezultujuće brzine
izraţene u odnosu na koordinatni sistem poslednjeg segmenta OH-xHyHzH, što u nekim slu-
ĉajevima moţe biti korisno. Ukoliko ţelimo da dobijemo brzine izraţene u odnosu na bazni
koordinatni sistem O0-x0y0z0 treba na gornje izraze primeniti ukupnu matricu rotacije 0HR .
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 brzina u zglobovima q , i linearne i ugaone brzine hvataljke ( p i ω ,
respektivno) pa moţemo pisati
Dinamika Industrijska robotika
Lp J q
Uω J q
Ove dve jednaĉine moţemo objediniti u jedinstven izraz ĉime se dobija relacija
( )
ps 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), a , ,...,T
1 2 nq q qq 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),
11 12 13 14 15 16 1
21 22 23 24 25 26 2
31 32 33 34 35 36 3
41 42 43 44 45 46 4
51 52 53 54 55 56 5
61 62 63 64 65 66 6
J J J J J J qx
J J J J J J qy
J J J J J J qz
J J J J J J q
J J J J J J q
J J J J J J q
(4.33)
Posmatrajmo samo prvu jednaĉinu sistema
616515414313212111 qJqJqJqJqJqJx (4.34)
Iz forme izraza (4.34) se vidi da su ĉlanovi (elementi) jakobijana u stvari parcijalni izvodi
funkcije kojom se definiše pozicija i orijentacija vrha robota u spoljašnjim koordinatama po
unutrašnjim uglovima u zglobovima mehanizma robota i mogu se odrediti analitiĉki ili
numeriĉki.
4.3.1 ANALITIČKO SRAČUNAVANJE JAKOBIJANA
Najjasnije ćemo naĉin odreĊivanja jakobijana analitiĉkim putem pokazati na primeru.
Primer 4.2.
Za trosegmentni antropomorfni mehanizam (minimalnu konfiguraciju) ĉija je kinematska
šema prikazana na Sl. 3.19. analitiĉkim naĉinom odrediti jakobijan.
Industrijska robotika Dinamika
Sl. 4.2. Kinematska šema trosegmentnog antropomorfnog mehanizma
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:
23121 32 CCaCCax
23121 32 CSaCSay (4.35)
232 32 SaSaz
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, posle ĉega se dobija
33
3212
2
3211
1
321 ),,(),,(),,(dq
q
qqqxdq
q
qqqxdq
q
qqqxdx
33
3212
2
3211
1
321 ),,(),,(),,(dq
q
qqqydq
q
qqqydq
q
qqqydy
(4.36)
33
3212
2
3211
1
321 ),,(),,(),,(dq
q
qqqzdq
q
qqqzdq
q
qqqzdz
što se u vektorskoj formi moţe napisati kao
( )d ds J q q (4.37)
gde je
1
2
3
, .
dx dq
d dy d dq
dz dq
s q
pa sledi
Dinamika Industrijska robotika
1 2 3
1 2 3
1 2 3
x x x
q q q
y y y
q q q
z z z
q q q
J (4.38)
Matrica J je, dakle, matrica parcijalnih izvoda funkcija 1 2 3( , , ),q q qx 1 2 3( , , )q q qy i
1 2 3( , , )q q qz po uglovima u zglobovima 1 2 3, , i .q q q 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
2 3 2 3 3
2 3 2 3 3
2 3 3
1 2 1 23 1( 2 23) 1 23
( ) 1 2 1 23 1( 2 23) 1 23
0 2 23 23
a S C a S C C a S a C a C S
a S C a C C S a S a S a S S
a C a C a C
J q
Treba primetiti da su elementi matrice J funkcije uglova u zglobovima i da se sa promenom
poloţaja mehaniĉke konfiguracije robota menjaju. Prema tome, tokom realizacije
odreĊenog pokreta matrica J nije konstantna i vrednosti njenih elemenata treba
sraĉunavati za svaki novi poloţaj mehaniĉke konfiguracije.
4.3.2 NUMERIČKO SRAČUNAVANJE JAKOBIJANA
U ovom odeljku će biti prikazan naĉin numeriĉkog sraĉunavanja elemenata jakobijana kako
bi se ovaj zadatak mogao efikasno realizovati primenom raĉunara.
Kao što smo već uoĉili i linearnom i ugaonom kretanju hvataljke doprinosi kretanje u
svakom od zglobova mehanizma. Ako napišemo jakobijevu matricu u obliku
1 2
1 2
L L Ln
U U Un
J J JJ
J J J (4.39)
tako da svaki elemenat LiJ i UiJ predstavlja vektor kolonu dimenzije (3x1) lako se moţe
uoĉiti da prvi deo kolone ( LiJ ) odgovara doprinosu i-tog zgloba linearnom, a drugi deo
( UiJ ) ugaonom kretanju hvataljke. U razvijenoj formi (4.39) postaje
1 1 1
1 2
2 2 2
1 2
3 3 3 11 2
1 1 1
1 2
2 2 2
1 2
3 3 3
1 2
L L Ln
L L Ln
L L LnH
H U U Unn
U U Un
U U Un
q
q
J J J
J J J
J J Jv
ω J J J
J J J
J J J
(4.40)
Industrijska robotika Dinamika
Odavde se linearna brzina vrha robota moţe izraziti na sledeći naĉin
1 1 2 2H L L Ln nJ q J q J q v (4.41)
a na isti naĉin i ugaona brzina hvataljke
1 1 2 2H U U Un nJ q J q J q ω (4.42)
Razmotrimo na koji naĉin moţemo da odredimo elemente matrice LiJ i UiJ .
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 1iz
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 1iz ose, brzinom
id (pripadajuća z osa je tada 1iz , a DH
parametar di je promenljiva), tj.
1Li i i i J q z d (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
dodatnu komponentu ugaone brzine
a) rotacioni zglob b) translatorni zglob
Sl. 4.3. Doprinos kretanju hvataljke zbog pomeranja rotacionog i linearnog (translatornog) zgloba
1i i i ω z q (4.44)
koja će linearnu brzinu hvataljke robota, koja je od ose obrtanja udaljena za 1,i Hr ,
promeniti za
1, 1 1,Li i i i H i i H i J q ω r z r q (4.45)
Na sliĉan naĉin ćemo odrediti kako kretanja u translatornom i rotacionom zglobu doprinose
Dinamika Industrijska robotika
promeni ugaone brzine hvataljke.
Ako je i-ti zglob translatorni on ne doprinosi promeni ugaone brzine hvataljke, pa je
0Ui i J q (4.46)
Ako je i-ti zglob rotacioni, ugaona brzina koja se generiše kretanjem zgloba, je data sa
1Ui i i i J q z q (4.47)
Prema tome, jednaĉinama (4.43, 4.45-4.47) je moguće odrediti elemente jakobijana LiJ i
UiJ za sluĉaj translatornih i rotacionih zglobova pa, prema tome, moţemo rezimirati
- za translatorni zglob
1
0
Li i
Ui
J z
J (4.48)
- za rotacioni zglob
1 1,
1
Li i i H
Ui i
J z r
J z (4.49)
Pri sraĉunavanju jakobijana jedine veliĉine koje treba odrediti su vektori 1iz i 1,i Hr koji
su funkcije samo pomeraja u zglobovima robota. Vektor 1iz predstavlja treću kolonu u
matrici rotacije 10i
R (vidi (3.7)) i moguće ga je veoma jednostavno odrediti na sledeći
naĉin
1 2 1
1 0 1 1 2 2 1 0( ) ( ) ( )i
i i iq q q
z R R R z (4.50)
gde je 0 0 0 1T
z što nam omogućava da se iz matrice 10i
R odaberemo samo treću
kolonu.
Vektor poloţaja od i-1-vog zgloba do hvataljke 1,i Hr je moguće odrediti (Sl. 4.3.a i b) kao
razliku vektora Hr od koordinatnog poĉetka do hvataljke i vektora 1ir od koordinatnog
poĉetka do i-1-vog zgloba. Vektor Hr je moguće odrediti kao prva tri elementa ĉetvrte
kolone ukupne homogene matrice transformacije 0
HH koja je data sa
1 2
0 0 1 1 2( ) ( ) ( )H H
n i nq q qH H H H
pa sledi
0 0
H
H r H r (4.51)
gde je 0r dato sa 0 0 0 1
Tr . Sliĉnim postupkom je moguće odrediti i vektor 1ir .
Naime,
1 2 1
1 0 1 1 2 2 1 0( ) ( )... ( )i
i i i
r H q H q H q r (4.52)
i konaĉno dobijamo:
1, 1i H H i r r r
Industrijska robotika Dinamika
Prema tome, izrazi (4.50-4.52) omogućavaju jednostavno sraĉunavanje elemenata
jakobijana numeriĉkim putem pod uslovom da su poznate matrice transformacije koje
odgovaraju datoj (trenutnoj) pozi mehaniĉke strukture robota.
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 1 2
0 1 1
0 , 1 , 1 .
1 0 0
S S
C C
z z z
Obzirom da su sva tri zgloba rotaciona jakobijan ima oblik
11 0 3 0 1 3 1 2 3 2( ) ( ) ( )J O O O O O O
z z z
na osnovu ĉega sledi,
0 1 0 0 0T
O O ,
2
2 2
2
1 2
1 2
2
a C C
a S C
a S
O ,
2 3
3 2 3
2 3
1 2 1 23
1 2 1 23
2 23
a C C a C C
a S C a S C
a S a S
O .
Sada moţemo da odredimo elemete Jakobijana
2 3
0 3 0 2 3
1 2 1 23
( ) 1 2 1 23
0
a S C a S C
O O a S C a C C
z
2 3
1 3 1 2 3
2 3
1( 2 1 23)
( ) 1( 2 23)
2 23
C a S a S C
O O S a S a S
a C a C
z ,
3
2 3 2 3
3
1 23
( ) 1 23
23
a C S
O O a S S
a C
z
odakle konaĉno sledi
2 3 2 3 3
2 3 2 3 3
2 3 3
1 2 1 23 1( 2 23) 1 23
1 2 1 23 1( 2 23) 1 23
0 2 23 23
a S C a S C C a S a C a C S
a S C a C C S a S a S a S S
a C a C a C
J
što je isti rezultat dobijen analitiĉkim naĉinom. Osim toga, primetimo da je jakobijan
dobijen u formi matrice dimenzija )33( obzirom da se radi samo o minimalnoj
konfiguraciji sa tri stepena slobode.
Dinamika Industrijska robotika
4.4 NUMERIČKO REŠAVANJE INVERZNOG KINEMATSKOG PROBLEMA
Jakobijeva matrica koju smo odredili u prethodnom odeljku predstavlja osnovu za
numeriĉko rešavanje inverznog kinematskog problema5. Postupak rešavanja je potpuno
opšti i ne zavisi od tipa robota, ali za razliku od analitiĉkog rešenja, ovde se dobija samo
jedno rešenje koje odgovara zadatom vektoru spoljašnjih koordinata s i to ono koje je
najbliţe zadatom rešenju POCq od kojeg je procedura zapoĉeta. Naime, iz izraza (4.34)
( )s J q q (4.34)
inverzijom jakobijeve matrice dobijamo
1( )q J q s (4.53)
Ukoliko je poznata poĉetna poza robota POCq koja je bliska oĉekivanom rešenju (tj. ako su
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
POC
t
t t d
q q q (4.54)
Ako integraciju realizujemo u diskretnom vremenu, najjednostavnijom Ojlerovom
metodom integracije, gornji izraz postaje
POCt t t t t q q q (4.55)
Ukoliko na (4.55) primenimo (4.53) sledi
1( ( )) ( )POCt t t t t t q q J q s (4.56)
ili sa modifikovanom notacijom
11 k k kk
q q J q s (4.57)
Neka je zadat vektor spoljašnjih koordinata 0s i neka je potrebno da se odredi vektor
unutrašnjih koordinata koje odgovaraju poloţaju hvataljke 0s .
Pretpostavimo najpre pribliţno poĉetno rešenje ( )k
q , (( ) 1 0k f q s ). Kada se na osnovu
pretpostavljenog rešenja ( )k
q sraĉuna pozicija hvataljke pojaviće se odstupanje izmeĊu
taĉne i pribliţne pozicije
5 Naĉin odreĊivanja brzina kretanja zglobova mehanizma tako da se ostvari ţeljeni vektor brzine kretanja hvataljke
je poznat kao "resolved motion rate control" i u robotiku ga je 1969 god. uveo Whitney (staviti referencu)
Industrijska robotika Dinamika
( ) 0 ( ) ( ) ( 1) ( )k k k k kf J
s s q q q q (4.58)
gde je ( 1)kq taĉnije rešenje inverznog kinematskog problema od poĉetno pretpostavljenog
( )kq za 0
s odakle sledi
( 1) ( ) 1 ( ) ( )k k k k q q J q s (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 0s pretpostavimo rešenje inverznog problema ( )k
q ;
- korak 2: odrede se vrednosti spoljašnjih koordinata za pretpostavljeno ( )kq ;
- korak 3: izraĉunamo grešku k
s ;
- korak 4: izraĉunamo Jakobijan J u pretpostavljenom rešenju ( )kq ;
- korak 5: izraĉunamo inverzni Jakobijan 1J ;
- korak 6: na osnovu izraza (4.59) odredimo naredno rešenje koje je bliţe taĉnom
rešenju nego što je bilo prethodno;
- korak 7: opisanu proceduru ponavljamo sve dok greška ne bude manja od unapred
zadate vrednosti kojom se definiše ţeljena taĉnost rešenja, tj. dok ne bude ispunjen
uslov,
( )k s . (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 (0)q .
4.5 PSEUDO INVERZNI JAKOBIJAN
Prethodno opisani postupak numeriĉkog rešavanja inverznog kinematskog problema je
baziran na relaciji
1( )q J q s (4.53)
tj. na pretpostavci da je moguće odrediti inverzni jakobijan 1( )J q tj. da je matrica J
kvadratna i da nema singularitet. Ako sa m oznaĉimo dimenziju vektora spoljašnjih
koordinata s , a sa n broj stepeni slobode mehaniĉke konfiguracije robota moţemo
razlikovati tri sluĉaja:
b) m n
U ovom sluĉaju je Jakobijeva matrica kvadratna te se moţe odrediti njena inverzna matrica
1( )q J q s
ako je njena determinanta razliĉita od nule. Poloţaji robota u kojima je det( ( )) 0J q
Dinamika Industrijska robotika
predstavljaju singularne taĉke u kojima se ne moţe odrediti inverzni Jakobijan.
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
2T
G Greska Jq s Jq s (4.61)
minimalna. Razvojem gornjeg izraza dobijamo
2T T TG Jq Jq s Jq s s (4.62)
Da bi minimizirali grešku diferencirajmo gornji izraz i izjednaĉimo ga sa nulom tj.
0iq G
( ) (2 )T T T
q q q
Gq J J q s Jq (4.63)
SreĊivanjem izraza dobijamo
T T J J q J s (4.64)
ili
1
T T
q J J J s
pod uslovom da 1
T
J J postoji. Matrica 1
T T
J J J se naziva levim pseudo inverznim
Jakobijanom. Ako ovu matricu obeleţimo sa PS
J moţemo pisati
PSq J 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
( )T T q q q λ Jq s (4.66)
koja je u minimumu kada je 0 q , pa se moţe pisati
2 0T q J λ (4.67)
Industrijska robotika Dinamika
odakle sledi
2Tq J λ (4.68)
Zamenom ovog izraza u polazni (4.34) ( )s J q q sledi
( 2)T s J J λ (4.69)
pa se posle sreĊivanja dobija
12( )T λ JJ s (4.70)
pod uslovom da 1( )T JJ postoji. Zamenjujući ovaj izraz u (4.68) i nakon jednostavnih
transformacija dobijamo
1( )T T q J JJ s (4.71)
Matrica 1( )T T J JJ se naziva desnim pseudoinverznim Jakobijanom koji ćemo kao i u
prethodnom sluĉaju obeleţiti sa PS
J , pa se konaĉno moţe pisati
PSq J 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.
4.6 SINGULARNE KONFIGURACIJE
Kao što smo već videli, linearna veza izmeĊu brzine hvataljke izraţene u spoljašnjim
koordinatama i brzina u zglobovima
( )s J q q
je uspostavljena jakobijanom. Ukoliko takvu vezu, pri odreĊenim poloţajima
(konfiguracijama) mehaniĉke strukture robota, nije moguće jednoznaĉno uspostaviti
govorimo o pojavi singularnih konfiguracija. Matematiĉkim reĉnikom reĉeno, singularne
su one konfiguracije mehaniĉke strukture pri kojima matrica ( )J q nema puni rang.
Singularni poloţaji se odlikuju sledećim osobinama:
e) U singularnom poloţaju robot gubi jedan ili više SS.
Kao primer ovakvog sluĉaja navedimo bilo koji robot ĉija hvataljka je dostigla
granicu radnog prostora (spoljnu ili unutrašnju). Ovaj sluĉaj odgovara situaciji sa Sl. 4.4.b
(hvataljka je na spoljašnoj granici radnog prostora) ili kada je treći segment savijen potpuno
naniţe 3q .
f) U singularnom poloţaju moţe postojati beskonaĉno mnogo rešenja inverznog
kinematskog problema.
Dinamika 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 1q i ovaj poloţaj je ostvaren za bilo koju vrednost ugla 1q . Ovo
vaţi za bilo koje vrednosti uglova 2q i 3q ako je ispunjeno da se vrh minimalne konfigura-
cije nalazi na vertikalnoj osi obrtanja, pa i za sluĉaj kada je 032 qq 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 ( 64 qq ) hvataljka će mirovati. Osim toga,
ovde pripada bilo koji poloţaj robota sa Sl. 4.4.a osim potpuno ispruţene konfiguracije (Sl.
Sl. 4.5. Singulani poloţaj sfernog zgloba
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
11 12
21 22
J J
J J
J (4.73)
gde su, u sluĉaju sfernog zgloba, matrice 12J i 22J date sa
Industrijska robotika Dinamika
12 3 3, 4 4, 5 5, 22 3 4 5,H H H J z r z r z r J z z z (4.74)
gde je korišćena notacija iz odeljka 4.3.2. (vidi Sl. 4.3). Obzirom da se poloţaj
koordinatnog sistem hvataljke moţe slobodno birati, kao i da rezultat ne zavisi od izbora
koordinatnog sistema u odnosu na koji je izraţen smestimo ga u centar zgloba (mesto gde
se sve tri ose seku) pošto je tada ispunjeno1, 0i H r i=4,5,6. U tom sluĉaju matrica 12J
postaje
12 0 0 0J (4.75)
pa matrica J postaje blok donje-trougaona matrica, što znatno pojednostavljuje
sraĉunavanje determinante
11 22det( ) det( )det( )J J J (4.76)
odakle se uslovi singularnosti za minimalnu konfiguraciju mogu napisati kao
11det( ) 0J (4.77)
dok za zglob hvataljke vaţi sledeći uslov singularnosti
22det( ) 0J . (4.78)
ĉime je postignuto raspregnuto razmatranje uslova singularnosti.
Dinamika Industrijska robotika
5 PLANIRANJE KRETANJA
5.1 DEFINISANJE PROBLEMA PLANIRANJA KRETANJA
Kretanje je osnovna operacija kojom roboti obavljaju postavljene zadatke. Bez obzira da li
robot prenosi razliĉite predmete sa jednog mesta na drugo ili obavlja neke radne operacije
(npr. bojenje prskanjem ili luĉno zavarivanje) kretanje je preduslov da bi zadaci bili
realizovani. U ovom poglavlju će biti razmotreni razliĉiti naĉini generisanja kretanja robota.
Na sadašnjem nivou razvoja robotskih upravljaĉkih sistema, još uvek nije moguće direktno
zadavati zadatke robotu. Zbog toga je potrebno zadatak rašĉlaniti na skup putanja kroz koje
robot treba da proĊe, kojima se zatim dodeljuje vremenska zavisnost da bi se dobile
trajektorije. Rašĉlanivanje zadatka na putanje obiĉno obavlja korisnik, odnosno programer
robota, a planiranje kretanja, odnosno generisanje putanja i trajektorija se obavlja uz pomoć
upravljaĉkog sistema robota. Pri tome, programer zadaje osnovne parametre kretanja, kao
što su na primer, ukupo vreme prelaska robota od poĉetne do krajnje pozicije ili brzinu
kretanja, a upravljaĉki softver obavlja sve potrebne proraĉune ĉime se u znaĉajnoj meri
ubrzava i olakšava programiranje robota.
Prvi zadatak pri planiranja kretanja je definisanje taĉaka u radnom prostoru koje će biti deo
putanja koje robot treba da izvršava. Jedan od najpogodnijih naĉina za definisanje taĉaka je
dovoĊenje hvataljke (alata) robota pomoću upravljaĉke konzole do ţeljene pozicije u okviru
radnog prostora (pri ĉemu se vodi raĉuna da i orijentacija hvataljke odgovara ţeljenoj) i
pamćenje unutrašnjih koordinata robota. Drugi naĉin je ruĉno unošenje pozicije i
orijentacije hvataljke ili unutrašnjih koordinata robota. U sluĉaju ruĉnog unošenja pozicije i
orijentacije hvataljke neophodno je proveriti da li za datu taĉku postoji rešenje inverznog
kinematskog problema, a u sluĉaju višeznaĉnog rešenja potrebno je izabrati jedno.
Zadaci robota kod kojih je vaţno da robot iz taĉke A stigne u taĉku B, pri ĉemu put izmeĊu
njih nije od posebnog interesa 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 jeziku (PTP), za obeleţavanje ovakvog naĉina kretanja.
Ovakvo kretanje se koristi na primer, u zadacima transporta materijala, gde je najvaţnije da
materijal bude uzet na jednom, a ostavljen na drugom mestu, a kako se robot kreće izmeĊu,
nije od naroĉitog interesa.
MeĊutim, uĉestaliji su zadaci robota u kojima je vaţna cela putanja po kojoj se vrh robota
Industrijska robotika Dinamika
kreće. Primer za to je bojenje prskanjem, gde putanja robota direktno odreĊuje kako se
nanosi boja na površinu koja se boji, ili ili luĉno zavarivanje, gde putanja vrha robota treba
veoma precizno da prati šav koji se zavaruje. Ovakav reţim rada nazivamo "kretanje po
kontinualnim putanjama" (continuous path motion), i na dalje ćemo ga oznaĉavati
skraćenicom termina na engleskom jeziku (CP).
Jasno je da je planiranje PTP kretanja jednostavnije u odnosu na CP kretanje. Kod PTP
kretanja je dovoljno zadati poĉetnu i krajnju poziciju hvataljke robota i brzinu ili vreme za
koje je potrebno da se izvrši kretanje, a upravljaĉi softver robota sam generiše sve ostale
neophodne parametre. Kod CP kretanja se zadaju pozicija i orijentacija alata koji robot nosi
(hvataljke) tokom ĉitave putanje, a zatim upravljaćki sistem robota definiše sve neophodne
parametre da se kretanje ostvari.
Kretanje se moţe zadati na jedan od dva naĉina. Prvi je defunisanje kretanja u prostoru
unutrašnjih (zadavanje kretanja svakog pojedinaĉnog zgloba) a drugi u prostoru spoljašnjih
koordinata (zadavanje kretanja hvataljke). Sa aspekta programera je najprirodnije da se
planiranje kretanja obavlja u spoljašnjim koordinatama jer se direktno definiše kretanje
vrha robota. Sa druge strane, kretanje robota se realizuje promenom unutrašnjih koordinata,
odnosno pokreću se zglobovi, pa je u nekim primenama korisno da se planiranje kretanja
realizuje na ovaj naĉin. Glavne prednosti zadavanja kretanja u prostoru unutrašnjih
koordinata su izbegavanju rešavanja inverznog kinematskog problema i uvek jednoznaĉno
rešenje problema. Najĉešće se planiranje CP kretanja obavlja u prostoru spoljašnjih
koordinata, dok se planiranje PTP kretanja obavlja u prostoru unutrašnjih koordinata.
Naravno, ova podela nije obavezujuća.
Uoĉimo da rezultat planiranja kretnja treba da bude vremenska zavisnost pozicije i
orijentacije vrha robota ( )T
H H H H H Ht x y z r , ili vremenska zavisnost pozicija
zglobova ( )q t , koje treba da posluţe kao referentne vrednosti za upravljaĉki sistem robota.
Diferenciranjem trajektorije r t ili ( )q t dobijamo zadate brzine i ubrzanja vrha robota
r t i r t , odnosno zglobova ( )tq i ( )tq .
U ovom poglavlju će biti izloţeno nekoliko metoda za generisanje trajektorija ukoliko
unutar celog radnog prostora robot moţe da se kreće bez opasnosti od sudara sa objektima
iz svoje okoline (tj. kada u radnom prostoru robota nema prepreka) i ukoliko duţ cele
putanje postoji rešenje inverznog kinematskog problema. Ovaj pristup se moţe lako
proširiti na sluĉaj kada unutar radnog prostora postoje statiĉke prepreke ĉiji su veliĉina i
poloţaj, unapred poznati i nepromenljivi. U sluĉaju da su prepreke u radnom prostoru
dinamiĉke potreban je potpuno drugaĉiji pristup planiranju kretanja (odluke o promeni
kretanja se moraju donositi on-line), a takoĊe je potreban i znatno sloţeniji senzorski sistem
kojim će prepreke i njihove osnovne karakteristike biti detektovane. Problem planiranja
kretanja u prisustvu prepreka izlazi van domena ove knjige, i njime se nećemo baviti, a
zainteresovane ĉitaoce upućujemo na odgovarajuću literaturu (npr. [Osama]).
5.2 PLANIRANJE PTP KRETANJA
Obzirom da u sluĉaju PTP kretanja treba specifirati samo poĉetnu i krajnju taĉku putanje
(kretanje izmeĊu njih nije unapred propisano), planiranje kretanja u ovom reţimu se moţe
jednostavno realizovati i u prostoru spoljašnjih i u prostoru unutrašnjih koordinata. Ipak je
Dinamika Industrijska robotika
uobiĉajeno da se planiranje PTP kretanja obavlja u prostoru unutrašnjih koordinata tako što
se poĉetna ri , i krajnja r f taĉka putanje zadaju u spoljašnjim koordinatama a zatim se
primenom nekog od algoritama za rešavanje problema inverzne kinematike izraĉunaju
unutrašnje koordinate iq i q f koje odgovaraju pozicijama ri i r f .
Poĉetna iq i krajnja q f pozicija putanje zajedno sa vremenskim parametrima, kao što je
ukupno vreme izvršavanja putanje ili maksimalna brzina tokom kretanja, predstavljaju
polazne parametre za generisanje trajektorije izmeĊu zadatih taĉaka. Obzirom da sama
putanja nije unapred propisana, zadak generisanja trajektorije je moguće rešiti na razliĉite
naĉine. Pre nego što se nastavi izlaganje o realizaciji generisanja PTP trajektorija,
razmotrimo koje bi osnovne osobine trebalo da poseduje generisana trajektorija. Iskustveno
je poznato da ţiva bića (na primer, ĉovek) izvode uglavnom glatke pokrete. Zaista, kada
pokrećemo ruke, to uglavnom ĉinimo bez velikih trzaja. Matematiĉki reĉeno, pozicije
zglobova ruke su glatke funkcije vremena. Podsetimo se da pojam glatka funkcija, znaĉi ne
samo da je funkcija kontinualna, već da je i dovoljan broj izvoda (prvi izvod pozicije je
brzina, a drugi izvod je ubrzanje) funkcije takoĊe kontinualan. Prema tome, moţemo reći
da glatko kretanje podrazumeva kontinualne promene pozicije, brzine i ubrzanja, ĉime se
npr. potrošnja energije umanjuje. Prema tome, prilikom planiranja kretanja robota,
teţićemo da dobijeno kretnje u što većoj meri bude glatko.
5.2.1 LINEARNA INTERPOLACIJA VIŠE NEĆU NAGL. BOLDOVANJE VEKTORA
Polazna osnova za generisanje trajektorije su poĉetna iq i krajnja q f taĉka putanje,
zadate u prostoru unutrašnjih koordinata. Pretpostavimo da se robot kreće iz stanja
mirovanja iz poĉetne taĉke putanje i treba da se zaustavi u krajnjoj taĉki putanje. To
zapravo znaĉi da su brzine na poĉetku i kraju kretanja jednake nuli odnosno 0i q ,
odnosno 0f q . Da bismo generisali trajektoriju, potrebno je još zadati vreme
raspoloţivo za realizaciju kretanja. Pretpostavimo zato da je ukupno trajanje pokreta
f iT T , gde je iT vremenski trenutak koji odgovara poĉetnoj a
fT krajnjoj taĉki putanje.
Bez umanjenja opštosti, moţemo da pretpostavimo da vreme poĉinjemo da raĉunamo od
poĉetka kretanja, odnosno da je 0iT .
Primetimo da pozicija vrha robota zavisi od uglova u svim zglobovima, tj. da je poloţaj
robota zadat u unutrašnjim koordinatama 1qT
nq ...q vektorska veliĉina. To dalje znaĉi
da i interpolacione funkcije koje traţimo treba da budu vektorske funkcije. MeĊutim,
obzirom da putanja po kojoj se vrh robota kreće nije specificirana (zadate su samo njene
krajnje taĉke) problem moţemo pojednostaviti, i zapravo rešavati n problema
interpolacije, tj. za svaki zglob robota pojedinaĉno. Pri tome kao polazne podatke uzimamo
odgovarajuće vrste iz poĉetnog i krajnjeg vektora poloţaja ( iq i q f ), dok je vreme
trajanja pokreta za sve zglobove isto.
Na dalje ćemo, u zadacima planiranja kretanja u prostoru unutrašnjih koordinata koristiti
skalarne oznake za pozicije i brzine, a radi preglenosti, izostavićemo oznaku indeksa koji
pokazuje na koji zglob se izraz odnosi. Pri tome se podrazumeva da se problem generisanja
Industrijska robotika Dinamika
trajektorije rešava za svaki zglob pojedinaĉno.
Najprostiji metod za interpolaciju jeste linearna interpolaciona funkcija data izrazom
f
ff
fi
T
tq
T
tTqtq
)( . (5.1)
Na Sl. 5.1 je prikazan oblik funkcija pozicije, brzine i ubrzanja u zglobu korišćenjem
linearne interpolacije.
Sl. 5.1. Linearna interpolacija pozicije
Dinamika Industrijska robotika
Brzina zgloba se moţe odrediti diferenciranjem izraza 5.1 po vremenu t , ĉime se dobija
f
if
T
qqtq
)( , (5.2)
a nakon još jednog diferenciranja po vremenu dobija se izraz za ubrzanje
0)( tq . (5.3)
Na osnovu jednaĉina (5.1), (5.2) i (5.3), se vidi da je brzina tokom pokreta konastantna pa
je ubrzanje jednako nuli. Kretanje konstantnom brzinom moţe biti od interesa u mnogim
aplikacijama robota.
MeĊutim, uoĉimo da je jednaĉina (5.2) u suprotnosti sa usvojenom pretpostavkom da robot
kreće iz stanja mirovanja i da se zaustavlja nakon dostizanja krajnje pozicije.
Da bi ova pretpostavka bila ispunjena brzina mora da bude prekidna funkcija. Pre poĉetka
kretanja brzina je jednaka nuli, a neposredno nakon poĉetka kretanja brzina je odreĊena
izrazom (5.2). Sliĉan prekid postoji i na kraju kretanja, neposredno pre dostizanja finalne
taĉke trajektorije, brzina je odreĊena izrazom (5.2), a odmah zatim pada na nulu, jer se
robot zaustavlja. Trenutne skokovite promena brzine dovode do toga da potrebna ubrzanja
u poĉetnom i krajnjem trenutku teţe beskonaĉnosti što naravno nije ostvarivo.
Ovaj problem se moţe rešiti tako što će se na poĉetku trajektorije predvideti konaĉno vreme
za ubrzavanje, kao i na kraju trajektorije za usporavanje. To nas dovodi do trapeznog
profila brzine.
5.2.2 TRAPEZNI PROFIL BRZINE
Trapeznim profilom brzine se postiţe da zglob na poĉetku pokreta ubrzava, da se zatim
kreće konstantnom brzinom i da na kraju pokreta usporava. Pri tome je ispunjena
pretpostavka da su brzine na poĉetku i kraju trajektorije jednake nuli, a da ubrzanja imaju
konaĉne vrednosti. Na ovaj naĉin, robot kreće iz stanja mirovanja i ravnomerno ubrzava
dok ne dostigne zadatu brzinu, zatim se kreće konstantom brzinom, da bi dovoljno pre
dostizanja krajnje pozicije zapoĉeo sa usporavanjem, pri ĉemu se brzina smanjuje do nule
kada se i dostiţe krajnja taĉka trajektorije.
Razmotrimo sada sa matematiĉkog aspekta opisano kretanje. Ponovo su poznati poĉetna iq
i krajnja pozicija fq , kao i ukupno vreme trajanja pokreta fT . Ovim parametrima se sada
pridruţuje i vreme aT predviĊeno za ubrzavanje, odnosno usporavanje. Minimalna
vrednost vremena aT je ograniĉena fiziĉkim mogućnosti aktuatora (što je vreme aT kraće
to su potrebne sile/momenti aktuatora veći). Promene pozicije, brzine i ubrzanja kod
trapeznog profila brzine su prikazane na Sl. 5.2.
Sa Sl. 5.2. se moţe uoĉiti, da je u vremenskom intervalu od poĉetka kretanja do trenutka
aTt ubrzanje pozitivno, konstantno i iznosi maxq . Jasno je da se onda radi o ravnomerno
ubrzanom kretanju, pri ĉemu brzina kretanja linearno raste, od nule u stanju mirovanja, do
vrednosti maxq , dok se pozicija menja po kvadratnom zakonu. Ovaj interval predstavlja
period ubrzavanja robota.
Od trenutka aT do trenutka af TT , ubrzanje je jednako nuli, što znaĉi da se zglob kreće
Industrijska robotika Dinamika
konstatnom brzinom maxq , koja se naziva brzinom krstarenja. U ovom periodu, promena
pozicije je linearna funkcija vremena.
Konaĉno, od trenutka af TT do kraja kretanja, deluje negativno konstantno ubrzanje
maxq , odnosno usporenje, pa je kretanje ravnomerno usporeno. Zbog toga brzina linearno
opada od brzine krstarenja do nule, kada se robot zaustavlja. Promena pozicije u ovom
intervalu je ponovo kvadratna funkcija vremena. Ovaj interval kretanja naziva se period
koĉenja robota.
Primetimo još da brzina krstarenja, maksimalno ubrzanje i period ubrzavanja odnosno
koĉenja nisu nezavisne veliĉine, jer vaţi
Dinamika Industrijska robotika
Sl. 5.2. Trapezni profil brzine
aTqq maxmax . (5.4)
Lako moţemo zakljuĉiti da je ubrzanje dato izrazom
max
max
0
( ) 0
a
a f a
f a f
q t T
q t T t T T
q T T t T
. (5.5)
Industrijska robotika Dinamika
Brzinu moţemo odrediti integracijom jednaĉine (5.5), vodeći raĉuna o poĉetnim uslovima i
vezi datoj izrazom (5.4):
max
max
max
0
( )
( )
a
a a f a
f f a f
q t t T
q t q T T t T T
q T t T T t T
. (5.6)
Izraz za poziciju se moţe dobiti integracijom izraza za brzinu (5.6), vodeći ponovo raĉuna o
poĉetnim uslovima, ĉime se dobija
fafff
afaaai
ai
TtTTtTqq
TTtTTtTqq
Tttqq
tq2
max
max
2max
)(5.0
2
05.0
)(
. (5.7)
Podsetimo se da su poznati: opseg promene pozicije od iq do fq , ukupno vreme
izvršavanja pokreta fT , kao i vreme ubrzavanja, odnosno usporavanja aT , pa je jedina
nepoznata veliĉina u izrazima (5.5), (5.6) i (5.7) maksimalna vrednost ubrzanja maxq , koja,
oĉigledno, mora da zavisi od polaznih parametara.
Potrebnu vrednost maksimalnog ubrzanja odredićemo na sledeći naĉin. Promena vrednosti
pozicije od poĉetne do krajnje, odnosno preĊeni put, mora biti jednak površini ispod
grafikona brzine. Obzirom na ĉinjenicu da grafikon ima oblik trapeza, lako uspostavljamo
vezu
)()( max afaif TTTqqq , (5.8)
gde, obzirom na jednaĉinu (5.4), izraz max aq T predstavlja visinu trapeza, dok izraz
af TT predstavlja duţinu njegove srednje linije. Sada potrebnu vrednost ubrzanja
moţemo odrediti kao
)(
maxafa
if
TTT
qqq
. (5.9)
Primetimo još da je u svim prethodnim izrazima logiĉno pretpostavljeno da vaţi
2
f
a
TT , (5.10)
odnosno, periodi ubrzavanja, odnosno koĉenja, mora biti manji ili jednak polovini ukupnog
vremena.
U specijalnom sluĉaju, kada je fa TT 5.0 ĉim se dostigne brzina krstarenja poĉinje
koĉenje pa periodi ubrzavanja i usporavanja traju po polovinu ukupnog vremena kretanja.
Trapezni profil brzine sa Sl. 5.2 se tada deformiše, jer se gubi središnji deo kretanja tokom
kojeg je brzina konstantna, pa za ovakvo kretanje kaţemo da ima trougaoni profil brzine.
Putanje u kojima nije moguće dostići brzinu krstarenja (ako se zada mali opseg promene
pozicije f iq q , odnosno ako je 0.5a fT T ) se realizuju na ovakav naĉin. Pri tome robot
ubrzava ka brzini krstarenja dok ne preĊe polovinu ukupnog zadatog opsega kretanja. Tada
Dinamika Industrijska robotika
se odmah se prelazi na usporavanje sve do zaustavljanja. Ovakvim kretanjem se ostvaruje
trougaoni profil brzine pri ĉemu se ne dostiţe brzina krstarenja.
Već je reĉeno da je kretanje robota, sa stanovišta brzine i ubrzanja, ograniĉeno
mogućnostima aktuatora. To znaĉi da obzirom da postoji maksimalno ubrzanje koje dati
aktuator moţe da ostvari u posmatranom zglobu, postoji i maksimalna brzina kretanja
zgloba koju je moguće ostvariti. Zbog toga je u praksi uobiĉajeno da se, umesto zadavanja
vremena trajanja pokreta, i perioda ubrzavanja odnosno usporavanja, zadaju maksimalno
ubrzanje, odnosno, ţeljena brzina krstarenja, a da se vremenski parametri izraĉunaju na
osnovu njih.
Prema tome, neka je poznato iq , fq , maxq i maxq . Ako se za sraĉunavanje potrebnog
vremena koriste maksimalne vrednosti brzine i ubrzanja dobija se najkraće vreme trajanja
pokreta. Na osnovu (5.4), lako odreĊujemo vreme potrebno za ubrzavanje, odnosno
koĉenje, kao
max
max
q
qTa
. (5.11)
Smenom dobijenog izraza u jednaĉinu (5.9), moţemo odrediti ukupno trajanje pokreta kao
max
max
max q
q
q
qqT
if
f
. (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, se odraţava kao trzaj,
koji moţe pobuditi neţeljene oscilacije robota, a takoĊe, trenutna promena ubrzanja moţe
biti teško ostvariva sa stanovišta aktuatora. U nastavku će biti razmotreni naĉini kojima se
moţe ostvariti kontinualna promena pozicije, brzine i ubrzanja.
5.2.3 INTERPOLACIJA POLINOMOM TREĆEG STEPENA
Kao i ranije, polazna osnova za generisanje trajektorije su poĉetna iq i krajnja fq taĉka
putanje, i ukupno trajanje pokreta fT . Prisetimo se i pretpostavke da robot polazi iz
mirovanja i da na kraju trajektorije treba da se zaustavi. Prema tome, imamo ĉetiri graniĉna
uslova, od kojih se dva odnose na poĉetnu taĉku putanje,
0)0(,)0( qqq i , (5.13)
i dva koja se odnose na krajnju taĉku putanje
0)(,)( fff tqqtq . (5.14)
Zadatak je da se pronaĊe glatka interpolaciona funkcija kojom će biti definisana promena
pozicije tokom kretanja izmeĊu poĉetne i krajnje taĉke. Kao rešenje se prirodno nameću
polinomne funkcije, jer je opšte poznato da su polinomi neprekidne diferencijabilne
funkcije sa svim svojim izvodima.
Industrijska robotika Dinamika
Pre nego što preĊemo na odreĊivanje interpolacionih polinoma, razmotrimo najpre
mogućnost da izvršimo normalizaciju problema, što će nam olakšati primenu dobijenih
polinoma na sintezu kretanja razliĉitih zglobova.
Uvedimo najpre normalizaciju po vremenu, uvoĊenjem smene
fT
t , (5.15)
ĉime se realno vreme t iz intervala ],0[ fTt preslikava u normalizovano vreme na
intervalu [0,1] .
Uvedimo zatim i normalizovanu poziciju p tako da se interval promene pozicije q
preslikava na normalizovani interval
( )
, [ , ] [0,1]
i
i f p q
f i
q qp q q
q q. (5.16)
Nakon ovih normalizacija, pozicija zgloba moţe se odrediti na osnovu
)()()(
pqqqtq ifiTt f
. (5.17)
Diferenciranjem izraza (5.17) moţemo odrediti brzinu zgloba u funkciji normalizovane
brzine, kao
dt
dpqqtq if
)()()( , (5.18)
odnosno, obzirom na (5.15),
( ) ( )f
f i
t T
f
q qq t p
T
. (5.19)
Na sliĉan naĉin moţemo odrediti i ubrzanje zgloba u funkciji normalizovanog ubrzanja kao
)()(2
pT
qqtq
f
if
Tt f
. (5.20)
Dakle, problem sinteze interpolacione funkcije za kretanje zgloba u realnom vremenu, smo
zamenili sintezom interpolacione funkcije za normalizovanu poziciju u normalizovanom
vremenu. Pri tome je izvršena i normalizacija graniĉnih uslova, u obliku
(0) 0, (0) 0p p , (5.21)
0)1(,1)1( pp , (5.22)
Obziroma na to da imamo ĉetiri graniĉna uslova, na osnovu njih moţemo odrediti polinom
trećeg stepena, koji ima ukupno ĉetiri koeficijenta, u obliku
3 2
3 3 2 1 0( )p a a a a , (5.23)
gde su 0a do 3a nepoznati koeficijenti.
Ako diferenciramo (5.23), dobijamo
Dinamika Industrijska robotika
122
33 23)( aaap . (5.24)
Smenom (5.21) u (5.23) i (5.24) lako moţemo izraĉunati slobodne ĉlanove pa sledi:
0,0 10 aa . (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
3 2
3 2
1
0 3 2
a a
a a
, (5.26)
ĉijim se rešavanjem odreĊuju preostali nepoznati koeficijenti
2,3 32 aa , (5.27)
tako da je normalizovani interpolacioni polinom dat sa
233 32)( p , (5.28)
a normalizovana brzina je
66)( 23p , (5.29)
dok je normalizovano ubrzanje dato sa
3( ) 12 6p . (5.30)
Grafiĉki izgled normalizovane pozicije, brzine i ubrzanja je prikazan na Sl. 5.3. Sa slike
uoĉavamo da su normalizovana pozicija i brzina zaista glatke funkcije. Primetimo da brzina
kreće od nule, dostiţe svoj maksimum na polovini vremenskog intervala, a zatim opada do
nule. Maksimalna vrednost normalizovane brzine iznosi
5.1max3 p . (5.31)
Vidimo takoĊe da je normalizovano ubrzanje linearna funkcija normalizovanog vremena,
meĊutim nije neprekidna. Naime, u poĉetnom trenutku, ubrzanje ima skok od nulte
vrednosti, na maksimalnu pozitivnu vrednost, a u krajnjem trenutku, sa maksimalne
negativne vrednosti naglo pada na nulu. Maksimalna apsolutna vrednost normalizovanog
ubrzanja iznosi
6max3 p . (5.32)
Industrijska robotika Dinamika
Sl. 5.3. Normalizovana pozicija, brzina i ubrzanja kod interpolacije polinomom trećeg stepena
Kao što je već reĉeno, skokovite promene ubrzanja su nepoţeljne, a moramo biti svesni i
ĉinjenice da ubrzanje ne moţe trenutno da se promeni. Skokovita promena ubrzanja
implicira skokovitu promenu sile ili momenta aktuatora, a to dalje znaĉi veliki utrošak
energije u veoma kratkom vremenskom intervalu. Drugim reĉima, kretanje dobijeno
interpolacionim polinomom trećeg stepena nije dovoljno glatko, jer poseduje prekide u
ubrzanju.
Ako ţelimo da ove prekide eliminišemo, potrebno je uvesti nove graniĉne uslove za
ubrzanja ĉime će se povećati stepen interpolacionog polinoma.
Dinamika 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, obzirom na to da robot kreće iz mirovanja, a ograniĉenja aktuatora su takva da
ubrzanja ne mogu skokovito da se menjaju, ubrzanje u poĉetnom trenutku mora biti
jednako nuli. TakoĊe, ako ţelimo da izbegnemo trzaje na kraju kretanja kada se robot
zaustavlja, ubrzanje ni ovde ne sme da se menja skokovito. Stoga se uvodi graniĉni uslov
da je ubrzanje u tom trenutku jednako nuli. TakoĊe, normalizovano ubrzanje treba da je
kontinualna funkcija normalizovanog vremena, pri ĉemu imamo dva nova graniĉna uslova
vezana za ubrzanje pa se broj graniĉnih uslova sada povećao na šest:
(0) 0, (0) 0, (0) 0p p p , (5.33)
(1) 1, (1) 0, (1) 0p p p , (5.34)
tako da se sada moţe rešiti interpolacioni polinom petog stepena, oblika
012
23
34
45
55 )( aaaaaap , (5.35)
pri ĉemu koeficijente 5,,0, iai odreĊujemo iz graniĉnih uslova.
Diferenciranjem izraza (5.35) po normalizovanom vremenu dobija se izraz za
normalizovanu brzinu, ĉijim diferenciranjem dobijamo 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
3455 10156)( p , (5.36)
dok je izraz za normalizovanu brzinu dat sa
2345 306030)( p , (5.37)
a normalizovano ubrzanje je odreĊeno sa
60180120)( 235p . (5.38)
Zavisnost normalizovane pozicije, brzine i ubrzanja u funkciji normalizovanog vremena
grafiĉki je prikazana na Sl. 5.4. Uporedimo dobijene rezultate sa interpolacionim
polinomom trećeg stepena. Primećujemo da je kriva normalizovane pozicije nešto strmija u
sredini vremenskog intervala, a nešto više zaravnjena na poĉetku i kraju kretanja, što je
posledica ĉinjenice da je tada ubrzanje jednako nuli. Na grafikonu normalizovane brzine,
primećujemo da kriva ima zvonasti oblik, pri ĉemu je kriva uţa nego kod polinoma trećeg
stepena. Obzirom na to da je preĊeni put jednak u oba sluĉaja, koji odgovara površini ispod
krive brzine, maksimalna brzina, koja se ponovo javlja u sredini intervala, veća je nego kod
polinoma trećeg reda, i iznosi
875.1815max5 q . (5.39)
Konaĉno, sa grafikona ubrzanja se vidi da se ubrzanje kontinualno menja, a maksimalna
apsolutna vrednost iznosi
5max 10 3 3 5.773q . (5.40)
Industrijska robotika Dinamika
Vidimo da ge u sluĉaju interpolacije polinomom petog stepena ostvareno
glatko kretanje koje nema prekide u ubrzanju.
Sl. 5.4. Normalizovana pozicija, brzina i ubrzanja kod interpolacije polinomom petog stepena
U nekim aplikacijama robota, od interesa je da izvod ubrzanja, odnosno, treći izvod
Dinamika Industrijska robotika
pozicije, takoĊe bude kontinualna funkcija. Da bi to postigli, graniĉnim uslovima (5.33) i
(5.34) dodaju se još uslovi po trećem izvodu pozicije
0)1(,0)0( pp , (5.41)
ĉime se ukupan broj uslova povećao na osam.
Izvod ubrzanja u literaturi se obiĉno oznaĉava kao "trzaj", što bi bio slobodan prevod
engleskog termina "jerk". Graniĉnim uslovom 5.41 se ostvaruje da trzaj na poĉetku
kretanja, kao i pri dolasku robota u krajnju poziciju bude jednak nuli.
5.2.6 PRIMENA NORMALIZOVANIH INTERPOLACIONIH POLINOMA
Primenom normalizacije po vremenu, i po vrednosti promenljivih, uspeli smo da izraze za
polinome razliĉitih stepena uĉinimo nezavisnim od stvarnih parametara kretanja. U praksi,
da bi se izrazi iskoristili, izraĉunavanja iz domena normalizovanih polinoma, moraju se
putem relacija (5.17), (5.19), i (5.20) vrati u realno vreme, i realni opseg pozicija.
Pri tome je opseg promene pozicija zadat zadatkom, odnosno, poznate su poĉetna iq , i
krajnja pozicija fq . Već smo rekli, da se zbog limitiranih mogućnosti aktuatora, u praksi
ĉešće kao parametri zadaju maksimalna dozvoljena ubrzanja i brzine, nego vreme trajanja
pokreta. Razlog je vrlo jednostavan, ako se zada suviše kratko vreme, moţe se desiti da
trajektorija ne moţe fiziĉki da se ostvari. Ako se pak, zada suviše dugaĉko vreme, onda se
pokreti izvode nepotrebno sporo.
Razmotrimo sada postupak odreĊivanja vremena izvršenja trajektorijeukoliko su poznate
maksimalne dozvoljene (ili ţeljene) veliĉine brzine maxq i ubrzanja maxq zgloba.
Obzirom na vezu datu jednaĉinom (5.19) izmeĊu brzine zgloba i normalizovane brzine,
moţe se uspostaviti relacija izmeĊu maksimalnih vrednosti stvarne i normalizovane brzine
maxmax pT
qqq
fv
if
, (5.42)
odakle se odreĊuje potrebno vreme trajanja pokreta sa stanovišta brzine, kao
maxmax
pq
qqT
iffv
. (5.43)
Sliĉnom analizom na osnovu jednaĉine (5.20), moguće je da se odredi potrebno vreme
izvršavanja pokreta sa stanovišta ubrzanja, kao
maxmax
pq
qqT
iffa
, (5.44)
pri ĉemu se, u izraze (5.43) i (5.44) smenjuju maksimalne vrednosti normalizovanih brzina
(izrazi (5.31) i (5.39)), odnosno maksimalne vrednosti normalizovanih ubrzanja (izrazi
(5.32) i (5.40)), aproksimacionih polinoma izabranog stepena.
Za potrebno vreme trajanja pokreta zgloba usvaja se duţe vreme, tj.
},max{ fafvf TTT , (5.45)
Industrijska robotika Dinamika
da bi se izbeglo da se zahteva ostvarivanje parametara kretanja koji sa postojećim
aktuatorima nije moguće ostvariti.
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.43), (5.44), i (5.45), za svaki od
zglobova, imaćemo skup od n razliĉitih vremena trajanja pokreta
},,,{ 1 nffif TTT . (5.46)
Sada nam na raspolaganju stoje dve mogućnosti. Prema prvoj, moţemo pustiti da se svaki
zglob kreće prema svojim maksimalnim parametrima. Pri tome će vremena kretanja za
pojedine zglobove biti 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
)(max fii
f TT , (5.47)
pri ĉemu će trajanje pokreta za sve zglobove biti jednako. Primetimo da se u ovom sluĉaju,
maksimalnom brzinom kreće samo zglob za ĉije kretanje je potrebno najviše vremena, a
preostali zglobovi se kreću sporije od svojih maksimalnih mogućnosti, tako da vreme
izvršenja pokreta bude za sve zglobove jednako.
5.2.7 NADOVEZIVANJE TRAJEKTORIJA
Sve tehnike za sintezu trajektorije koje smo do sada obradili, rešavale su problem
izolovanog kretanja od taĉke do taĉke, odnosno, robot kreće iz stanja mirovanja, i u
završnoj taĉki putanje se ponovo zaustavlja. Sada ćemo razmotriti problematiku
nadovezivanja trajektorija, odnosno, problem kada postoji više segmenata kretanja, pri
ĉemu je završna taĉka prethodnog segmenta ujedno i poĉetna taĉka narednog. Središnje
taĉke izmeĊu dva segmenta kretanja ĉesto se nazivaju ĉvorne taĉke putanje, prema
engleskom terminu "path knot point".
Jedno od mogućih rešenja je da svaki segment putanje tretiramo nezavisno od ostalih,
primenom neke od interpolacionih funkcija koje smo već razmotrili. Time se problem
sinteze ukupne trajektorije svodi na problem sinteze njenih pojedinih segmenata.Osnovna
mana ovakvog pristupa je što će u ĉvornim taĉkama doći do zaustavljanja 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 bi robot kroz ĉvorne taĉke prošao
bez zaustavljanja, odnosno sa brzinom razliĉitom od nule.
Ako ţelimo da izbegnemo zaustavljanje u ĉvornim taĉkama, mora se drugaĉije pristupiti
rešavanju problema sinteze trajektorije. Zadrţimo se najpre na problemu nadovezivanja
trajektorija kod trapeznog profila brzine. Radi pojednostavljenja izlaganja, pretpostavimo
da su zadata samo dva segmenta trajektorije, preko taĉaka iq , kq i fq , gde su kao i ranije,
iq i fq poĉetna i krajnja taĉka putanje, a kq je ĉvorna taĉka izmeĊu njih. Pretpostavimo
dalje, da je ţeljena brzina na prvom segmentu trajektorije ikq a na drugom kfq , i da su
ove dve brzine razliĉite. Neka je dato i maksimalno ubrzanje mq koje je isto na oba dela
trajektorije. Primenom klasiĉnog postupka sinteze trajektorije po trapeznom profilu brzine,
za svaki od segmenata pojedinaĉno, dobija se rezultujuće kretanje koje je prikazano na Sl.
Dinamika Industrijska robotika
5.1 sa leve strane.
U ovom primeru, kretanje duţ oba segmenta putanje se vrši u istom smeru. Sa slike
uoĉavamo da brzina kretanja opada od vrednosti ikq do nule, a zatim od nule raste do
vrednosti kfq , odnosno, kretanje se zaustavlja u ĉvornoj taĉki. Prirodno se nameće da se u
ovoj situaciji brzina promeni od ikq do kfq , bez nepotrebnog zaustavljanja. U tom sluĉaju,
uštedelo bi se na vremenu koje je potrebno da se brzina smanji od kfq do nule, kao i da se
brzina potom vrati na traţenu vrednost kfq . Drugim reĉima, dva trapezna profila moţemo
delimiĉno preklopiti, i tako izbeći nepotrebno zaustavljanje.
Sl. 5.5. Nadovezivanje trajektorije sa trapeznim profilom brzine, levo sa zaustavljanjem u ĉvornoj taĉki, i desno, bez zaustavljanja u ĉvornoj taĉki
Osnovni problem pri preklapanju brzina bez zaustavljanja u ĉvornoj taĉki je izbor trenutka
Ti u kom treba zapoĉeti tranziciju sa trenutne brzine krstarenja ikq na novu brzinu
krstarenja kfq . Izbor vremenskog trenutka Ti moţe da ima beskonaĉno rešenja, ali u praksi
se najĉešće primenjuju tri rešenja koji će sad ukratko biti opisana.
Industrijska robotika Dinamika
Ako znamo brzine ikq i
kfq moţemo odrediti vreme tranzicije ttran. Uvedimo sada trenutak
Tk koji je deo perioda tranzicije ( ,k i i tranT T T t ) i brzinu kq u tom trenutku. Prvo
rešenje je da je brzina kq u trenutku Tk jednaka brzini krstarenja
ikq . To znaĉi da trenutak
Tk biramo na poĉetku perioda tranzicije odnosno da je Ti= Tk. Drugo rešenje je da je brzina
kq u trenutku Tk jednaka brzini krstarenja kfq , što znaĉi da trenutak Tk biramo tako da bude
na kraju perioda tranzicije, odnosno da je Ti= Tk-ttran. Treće rešenje je da se trenutak Tk
nalazi na sredini perioda tranzicije, odnosno da je brzina / 2k ik kfq q q . Tada je Ti=
Tk-0.5∙ttran. Na Sl. 5.5 je prikazano rešenje u kom je trenutak Tk na sredini perioda tranzicije.
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. veoma veliki, izvoĊenje
jednaĉina koje opisuju modifikaciju trapeznog profila bi zahtevali isuviše prostora.
Ĉitaocima je ostavljeno za veţbu da samostalno izvedu jednaĉine za ţeljeni reţim spajanja
segmenata.
Razmotrimo sada problem nadovezivanja trajektorija kod polinomne interpolacije. Naime,
dodavanje novih ĉvornih taĉaka predstavlja zapravo dodavanje novih uslova, odnosno
novih podataka o trajektoriji. Zbog toga se stepen interpolacionog polinoma moţe povećati,
jer se moţe rešiti veći broj nepoznatih koeficijenata. Ako je, pored pozicije ĉvorne taĉke,
zadata i brzina u njoj, onda je koliĉina informacija o trajektoriji (broj uslova) još veća, pa i
stepen interpolacionog polinoma moţe biti veći. Problem polinomne interpolacije kroz
ĉvorne taĉke dobro je prouĉen u numeriĉkoj matematici, a jedinstveno rešenje za problem
sa n ĉvornih taĉaka daje Lagranţov interpolacioni polinom n -tog stepena, odnosno, ako
su pored pozicija zadate i brzine u m ĉvornih taĉaka, Hermitov interpolacioni polinom
)( mn -tog stepena.
Napomenimo odmah da se ovakav pristup veoma retko koristi u praksi, iako na prvi pogled
deluje atraktivno. Naime, sa povećanjem broja ĉvornih taĉaka, raste stepen interpolacionog
polinoma. Iz algebre je poznato da polinom n -tog stepena ima taĉno n nula, pa polinomi
visokog stepena teţe oscilatornom ponašanju. Iako Lagranţov i Hermitov algoritam
garantuju da će interpolacioni polinom proći kroz ĉvorne taĉke, nema nikakvih pokazatelja
o ponašanju polinoma izmeĊu ĉvornih taĉaka, a ono je najĉešće oscilatorno. To bi zapravo
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 što nije ponašanje kakvo bismo ţeleli.
Zbog toga se pribegava drugaĉijem rešenju. Ukupan interval interpolacije se deli na
podintervale, izneĊu ĉvornih taĉaka. Na svakom podintervalu usvaja se interpolaciona
funkcija u obliku polinoma niţeg stepena, najĉešće trećeg, 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.
Dinamika Industrijska robotika
5.3 PLANIRANJE CP KRETANJA
Kao što je već reĉeno, pod CP kretanjem se podrazumevamo kontinualno kretanje vrha
robota duţ putanje, odnosno kretanje gde je u svakom trenutku vaţno gde se na trajektoriji
nalazi vrh robota. Imajući u vidu da se specifikacija zadatka od strane tehnologa uvek
dobija u spoljašnjim koordinatama prirodno je da se planiranje ovakvog kretanja obavlja u
prostoru spoljašnjih koordinata.
Planiranje CP kretanja je sloţenije u odnosu na planiranje PTP kretanja iz više razloga.
Najpre, kod PTP kretanja, putanje i trajektorije koje nisu bile striktno propisane birane su
tako da interpolacionne funkcije budu jednostavne. Ovde to nije moguće. Putanja moţe biti
proizvoljnog stepena sloţenosti u zavisnosti od tipa zadatka koji robot obavlja, pa prema
tome i trajektorija moţe imati sloţenu zavisnost zahtevanig poloţaja i vremena tokom
pokreta. Dalje, kao što ćemo videti u narednom poglavlju, za izvršavanje trajektorija
najĉešće je potrebna informacija o kretanju zglobova. To znaĉi da se problem inverzne
kinematike mora rešiti za svaku taĉku trajektorije, što moţe biti sloţen, raĉunski zahtevan,
pa samim tim i dugotrajan proces.
Jedan pristup sintezi CP kretanja je da se trajektorija zada kao skup bliskih ĉvornih taĉaka
kroz koje vrh robota treba da proĊe, a da se zatim izvrši interpolacija ovih taĉaka. Ovakav
pristup ne razlikuje se mnogo od do sada izloţenih postupaka za sintezu PTP trajektorija,
osim što je generalno potrebno mnogo više ĉvornih taĉaka. Interpolacija splajnovima moţe
se i u ovom sluĉaju pokazati kao vrlo dobro i primenljivo rešenje.
Mi ćemo sada razmotriti drugaĉiji pristup, a to je analitiĉko zadavanje putanja i trajektorija
vrha robota. Kao što je to već reĉeno, u najopštijem sluĉaju, pozicija i orijentacija vrha
robota u prostoru mogu biti opisani sa šest nezavisnih veliĉina, odnosno vektorom
3 1
3 1 6 1
,
pr
o (5.48)
gde p predstavlja podvektor koji sadrţi tri koordinate pozicije vrha robota u prostoru, dok o
predstavlja podvektor koji sadrţi tri koordinate kojima se specificira orijentacija hvataljke.
U specifiĉnim sluĉajevima, vektor r moţe imati i dimenziju manju od šest, kao na primer,
kada nije potrebno potpuno specificirati orijentaciju, ili orijentacija uopšte nije od interesa,
itd. U tekstu koji sledi ćemo razmatrati opšti sluĉaj, a problem sinteze trajektorije
razdvojićemo na problem definisanja pozicije, i problem zadavanja orijentacije, koje ćemo
zasebno izuĉiti.
5.3.1 PARAMETRIZOVANO ZADAVANJE POZICIJE U PROSTORU
Kada se radi o definisanju pozicije u prostoru, tada je vektor pozicije vrha robota najĉešće
odreĊen u pravouglom dekartovom koordinatnom sistemu sa tri koordinate (x, y, z), tj.
x
y
z
p (5.45)
gde su x, y i z koordinate ţeljene pozicije vrha izraţene u odnosu na referentni koordinatni
sistem. Moguće je naravno primeniti i druge vrste koordinatnih sistema, na primer, polarno-
Industrijska robotika Dinamika
cilindriĉni, ili sferni koordinatni sistem, ali su dekartove 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. je
zapravo jednodimenzionalni skup, pa se moţe pronaći parametar , tako da putanja bude
opisana sa
p
, (5.50)
odnosno,
)(
)(
)(
z
y
x
z
y
x
, (5.51)
gde je geometrijski parametar koji opisuje putanju. Ovaj koncept prikazan je na Sl. 5.6.
Sl. 5.6. Parametarska definicija putanje u prostoru
Poĉetna taĉka putanje ip odreĊena je poĉetnom vrednošću parametra i , dok je krajnja
taĉka putanje fp odreĊene krajnjom vrednošću parmetra f . Putanja moţe biti i zatvorena,
kada je f ip p , ili otvorena, kao što je to sluĉaj na Sl. 5.6.
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 ],[ fi TT
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:
],[],[)( fitfi TT
, (5.52)
pri tome, veliĉina vremenskog intervala utiĉe na brzinu kretanja, odnosno, kraći vremenski
Dinamika Industrijska robotika
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, polinomne interpolacije
odgovarajućeg stepena, itd.
Na ovaj naĉin, problem sinteze trajektorije rešava se u dva koraka. U prvom je potrebno
odrediti izraze za parametrizovanu trajektoriju u prostoru, dok se u drugom koraku
geometrijskom parametru pridruţuje ţeljeni vremenski profil.
Razmotrimo sada prirodu geometrijskog parametra . Već je reĉeno da on odreĊuje
poloţaj taĉke duţ putanje , odnosno, duţ krive u prostoru. Podsetimo da kriva u prostoru
moţe biti zadata ekspilicitno svojim jednaĉinama, ili kao presek dveju površi. 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 krivolinijska koordinata s ,
definisana kao preĊeni put, ili duţina luka krive od neke fiksiranene 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
222 dzdydxds
, (5.53)
gde su dx , dy i dz diferencijalni priraštaji krive duţ koordinatnih osa.
Kod jednostavnijih putanja, krivolinijska koordinata s se prirodno nameće kao
najpodesnija 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ĉina.
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.
Sl. 5.7. Putanja u obliku prave linije u prostoru
Podsetimo se da se analitiĉki prava u prostoru, koja prolazi kroz dve taĉke zadate vektorima
ip i fp moţe definisati kao
i f i p p p p , (5.54)
Industrijska robotika Dinamika
gde jednaĉina izraţava ĉinjenicu da vektor povuĉen iz poĉetne taĉke ip do bilo koje taĉke
na pravoj p , mora biti kolinearan vektoru izmeĊu taĉaka ip i fp , pri ĉemu je faktor
kolinearnosti. Jednaĉina (5.54) se moţe preformulistati tako da odmah dobijemo
parametrizovanu putanju oblika
( )i f i p p p p
, (5.55)
ili, razvijeno po koordinatama
( )
( )
( )
i f i
i f i
i f i
x x x x
y y y y
z z z z
p . (5.56)
Ako su ip i fp poĉetna, odnosno krajnja taĉka putanje, tada je opseg promene parametra
u intervalu ]1,0[ .
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.53), i
odreĊivanjem diferencijala izraza (5.55), dobijamo
dzzyyxxds ififif222 )()()( , (5.57)
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 ovu svrhu
moţemo iskoristiti na primer trapezni profil brzine.
Razmotrimo sada problem sinteze trajektorije u sluĉaju da ţelimo da se vrh robota kreće po
nekoj elipsi u prostoru (Sl. 5.8). Obzirom da je elipsa ravanska kriva, problem odreĊivanja
parametarske 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.
Sl. 5.8. Izgled putanje oblika elipse u prostoru
Dinamika Industrijska robotika
Prvo ćemo odrediti jednaĉinu elipse u parametarskoj formi u ravni u kojoj se elipsa nalazi.
Oznaĉimo sa u , v i w ose koordinatnog sistema O-uvw, tako da se njegov koordinatni
poĉetak poklapa sa centrom elipse, a ose u i v odreĊuju ravan u kojoj elipsa leţi. Ako su
poluose elipse obeleţene sa a i b , tada se jednaĉina elipse moţe napisati kao:
cos( )
sin( )
0
uvw
u a
v b
w
p , (5.58)
gde je parametar koji promenom u opsegu [0,2 ] opisuje celu elipsu.
Postavimo ovu elipsu u odnosu na referentni koordinatni sistem tako da se centar elipse
nalazi u taĉki sa koordinatama [ , , ]T
c c c cx y zp , a da je nagib ravni u odnosu na referentni
koordinatni sistem specificiran matricom rotacije R. U tom sluĉaju je poĉetak vezanog
koodinatnog sistema O-uvw transliran, a njegove ose rotirane u odnosu na ose referentnog
sistema O-xyz.
Tada se veza izmeĊu koordinatnih sistema O-xyz i O-uvw, moţe uspostaviti preko matrice
homogene transformacije ili u razvijenoj fomi
c uvw p p R p , (5.59)
gde je [ , , ]T
c c c cx y zp poloţaj centra koordinatnog sistema O-uvw, odnosno centra elipse
u odnosu na referentni koordinatni sistem O-xyz, a
11 12 13
21 22 23
31 32 33
r r r
r r r
r r r
R , (5.60)
predstavlja matricu rotacije koja izraţava vezu izmeĊu orijentacije osa vezanog i
referentnog koordinatnog sistema. Primetimo da su vektor cp i matrica R konstantni.
Parametarska jednaĉina elipse u prostoru se sada moţe izraziti kao
11 12
21 22
31 32
cos( ) sin( )
cos( ) sin( )
cos( ) sin( )
c
c
c
x x r a r b
y y r a r b
z z r a r b
p , (5.46)
što zajedno sa profilom promene parametra )(t odreĊuje trajektoriju u prostoru.
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
diferencijalne priraštaje koordinata duţ putanje, i iskoristimo izraz za priraštaj krivolinijske
koordinate (5.53). Pri tome, treba imati u vidu da su koeficijenti ijr elementi matrice
rotacije. Za matricu rotacije R znamo da su njene kolone, odnosno vrste zapravo jediniĉni
vektori. (na str. 22 ispod jed. (3.7) piše da su kolone matrice rotacije predstavljaju
projekcije ortova zarotiranog koor. sistema na nezarotirani, a ništa ne piše za vrste)
TakoĊe vaţi i da su kolone matrice uzajamno ortogonalne, a ortogonalnost vaţi i za vrste
???????. Primenom ovih osobina dobija se izraz
Industrijska robotika Dinamika
dbads )(cos)(sin 2222
. (5.47)
Iz dobijenog izraza vidimo da postoji sloţena veza izmeĊu geometrijskog parametra i
krivolinijske koordinate s .
Na ovom primeru moţemo uoĉiti da je parametrizaciju putanje gotovo uvek moguće izvršiti
na intuitivan naĉin. U nekim sluĉajevima veza usvojenog parametra sa krivolinijskom
koordinatom moţe biti i veoma sloţena. Primetimo da u sluĉaju kretanja po kruţnici vaţi
rba , (5.48)
priraštaj krivolinijske koordinate postao
drdrrds )(sin)(cos 2222
. (5.49)
Na naĉin sliĉan prethodim primerima, mogli bismo da parametrizujemo praktiĉno bilo koju
prostornu putanju, a zatim usvajanjem vremenske promene parametra, da rešimo i problem
sinteze trajektorije, odnosno pozicije vrha robota u prostoru. Da bi smo potpuno definisali
kretanje vrha robota, preostaje nam još da razmotrimo naĉin zadavanja orijentacije vrha
robota u prostoru.
5.3.2 DEFINISANJE ORIJENTACIJE VRHA ROBOTA U PROSTORU
Orijentacija vrha robota u prostoru u potpunosti je odreĊena sa tri nezavisna prametra, koje
smo u izrazu (5.48) grupisali u vektor 3 1o
. U ranijim poglavljima smo videli da postoje
razliĉiti naĉini za definisanje orijentacije, na primer, preko Ojlerovih uglova ZYZ, odnosno
ZYX tipa, ili preko uglova skretanja, propinjanja i valjanja, … Prema tome, u opštem
sluĉaju vektor koji definiše orijentaciju vrha robota moţemo zapisati u obliku
o , (5.65)
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 vremenska zavisnost.
U jednostavnijim sluĉajevima planiranja orijentacije vrha robota je od interesa samo
orijentacija vrha u poĉetnoj, odnosno krajnjoj taĉki trajektorije, dok orijentacija duţ
trajektorije nije od interesa. Tada moţemo pristupiti interpolaciji uglova orijentacije na
sledeći naĉin
( )
( )
( )
i f i
i f i
i f i
o , (5.66)
gde smo indeksom i oznaĉili vrednosti uglova orijentacije u poĉetnoj, a indeksom f u
Dinamika Industrijska robotika
krajnjoj taĉki putanje. Parametar menja se u intervalu [0,1] , i definisanjem vremenske
zavisnosti parametra , zadatak sinteze orijentacije vrha robota duţ trajektorije je rešen.
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
veoma ĉesto orijentacija sledi iz tehnoloških zahteva. Na primer, kod elektroluĉnog
zavarivanja, putanja vrha elektrode treba da prati šav koji se zavaruje, a pri tome elektroda
treba svo vreme da bude u ravni koja je upravna na ravan šava. Sliĉno je i kod
robotizovanog bojenja prskanjem, gde putanja vrha zavisi od površine koja se boji, a
orijentacija alata za bojenje treba da je takva da je mlaz boje ortogonalan na bojenu
površinu.
Prema tome, naš zadatak je da sada, na osnovu parametrizovane putanje vrha robota u
prostoru, odredimo podatke koji definišu orijentaciju. Prisetimo se da se 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
tangente definiše pravac tangente u datoj taĉki prostorne krive. Vektor normale ortogonalan
je na pravac tangente i usmeren je ka centru krivine krive. Konaĉno, vektor binormale
ortogonalan je na oba prethodna vektora.
Sl. 5.9. Prostorna kriva i prirodni trijedar u jednoj taĉki krive
Ako je prostorna kriva zadata parametarski tako da je parametar krivolinijska koordinata s ,
( )sp p , (5.67)
tada se jediniĉni vektori prirodnog triedra mogu odrediti na sledeći naĉin
' ,d
ds
pt p (5.68)
,
pn
p (5.69)
Industrijska robotika Dinamika
,
p pb t n
p ×p (5.50)
pri ĉemu se diferenciranje vrši po krivolinijskoj koordinati s .
Ako je prostorna kriva zadata po nekom drugom, geometrijskom parametru , tada izrazi
za jediniĉne vektore prirodnog triedra postaju nešto sloţeniji:
( )
( )
pt
p, (5.51)
( ) ( )) ( )
( ( ) ( )) )
(p p pn
p p p, (5.52)
) ( )
) ( )
p pb
p p, (5.53)
pri ĉemu se diferenciranje vrši po parametru .
Jediniĉne vektore prirodnog triedra moţemo iskoristiti za zadavanje orijentacije vrha robota
na sledeći naĉin. Podestimo se najpre, da smo kod razmatranja kinematike robota uveli
matrice homogenih transformacija, kojom moţemo izraziti poloţaj i orijentaciju vrha
robota, kao
0 0 0 1
h h h h
n s a pT = , (5.54)
gde vektori hn ,
hs i ha predstavljaju projekcije jediniĉnih vektora osa koordinatnog
sistema vezanog za hvataljku na ose referentnog sistema, a vektor hp oznaĉava poziciju
vrha robota. Jediniĉni vektori koordinatnog sistema hvataljke prikazani su na Sl. 5.10.
Sl. 5.10. Jediniĉni vektori koordinatnog sistema hvataljke
Zadavanje orijentacije hvataljke svodi se onda na uspostavljanje veze izmeĊu osa
koordinatnog sistema hvataljke i prirodnog triedra putanje. Neke od orijentacija hvataljke u
odnosu na putanju su ilustrovane na Sl. 5.11.
Dinamika Industrijska robotika
Sl. 5.11. Razliĉite orijentacije hvataljke duţ putanje u prostoru
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
h h h h n s a t n b R
, (5.75)
pri ĉemu je hR konstantna matrica rotacije. Na primer, za orijentacije hvataljke sa Sl. 5.11,
matrice rotacije, s leva na desno, su
0 1 0 0 0 1 0 1 0
0 0 1 , 1 0 0 , 1 0 0
1 0 0 0 1 0 0 0 1
h h h
R R R . (5.76)
Imajući u vidu da se jediniĉni vektori prirodnog triedra mogu odrediti iz izraza (5.68),
(5.69) i (5.50) odnosno (5.51), (5.52) i (5.53), u potpunosti je odreĊena orijentacija vrha
hvataljke duţ putanje. Kada se parametru pridruţi i vremenska zavisnost, orijentacija
hvataljke duţ trajektorije je u potpunosti definisana.
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
0
cos( )
sin( )
c
c
x
y y r
z z r
p , (5.77)
iz kojih zakljuĉujemo da kruţnica leţi u yz ravni, njen centar nalazi se u taĉki Tcc zy ],,0[ ,
a polupreĉnik iznosi r . Parametar ima prirodu ugla, i svojom promenom na intervalu
]2,0[ definiše celu kruţnicu.
Da bismo odredili jednaĉine jediniĉnih osa prirodnog triedra, diferencirajmo najpre
parametarsku jednaĉinu (5.77) dva puta, ĉime se dobija
0
sin( ) , ,
cos( )
r
r
p p r (5.78)
Industrijska robotika Dinamika
odnosno,
0
cos( ) , .
sin( )
r
r
p p r (5.79)
Smenom izraza (5.78) u (5.51) moţemo odrediti jednaĉinu jediniĉnog vektora tangente
0 sin( ) cos( )
T t
. (5.55)
Sliĉno, smenom izraza (5.78) i (5.79) u jednaĉinu jediniĉnog vektora binormale (5.53)
dobijamo
1 0 0
Tb
. (5.56)
Vidimo da je jedniĉni vektor binormale konstantan, i paralelan x osi, što je potpuno
oĉekivano, imajući u vidu da zadata kruţnica leţi u yz ravni.
Konaĉno, jednaĉina jediniĉnog vektora normale moţe se odrediti na osnovu izraza (5.52).
U ovom primeru, zbog kretanja po kruţnici, vektor normale ima isti pravac kao i vektor
p , pa se moţe odrediti i kao
0 cos( ) sin( )Tp
np
. (5.57)
Sl. 5.12. Putanja u obliku kruţnice i orijentacija vrha robota duţ putanje
Izgled kruţnice u prostoru, kao i orijentacije prirodnih triedara u nekoliko taĉaka na
kruţnici prikazane su na Sl. 5.12.
Kruţnica na Sl. 5.12. je prikazana za vrednosti prarametara 8.0r , 0cx , 1cy , i
1cz , a prirodni triedri prikazani su u taĉkama u kojima parametar ima vrednosti
Dinamika Industrijska robotika
0, 2, i 3 2 . Na slici je takoĊe definisan koordinatni sistem vezan za hvataljku robota,
kao i ţeljena orijentacija hvataljke tokom realizacije kretanja. Sa Sl. 5.12 moţemo uoĉiti
vezu izmeĊu orijentacije koordinatnog sistema hvataljke i prirodnog triedra
,
,
,
h
h
h
n t
s b
a n
(5.58)
koja se moţe izraziti i preko matrice rotacije hR , definisane jednaĉinom (5.75), pri ĉemu je
1 0 0
0 0 1
0 1 0
h
R . (5.59)
Prema tome, orijentacija vrha robota duţ putanje odreĊena je rotacionom matricom
h h h h R n s a t n b R
, (5.85)
Gde je matrica rotacije data sa
0 1 0
sin( ) 0 cos( )
cos( ) 0 sin( )
R . (5.86)
Izborom vremenske zavisnosti )(t , odnosno profila kretanja, izrazom (5.77) u
potpunosti je odreĊena trajektorija vrha robota u prostoru, dok je orijentacija vrha robota
duţ trajektorije odreĊena izrazom (5.59). Primera radi, u sluĉaju kada ima prirodu ugla,
da bi se vrh robota kretao po nekoj putanji trapeznim profilom brzine potrebno je da
vremenska zavisnost )(t izgleda kao na Sl. 5.13. Uoĉimo da je, u sluĉaju trapeznog
profila brzine vrha robota, promena parametra jednaka promeni pozicije u zglobu robota
kao što je prikazano na Sl. 5.2 .
Sl. 5.13 Vremenska zavisnost parametra σ
Razmotrimo sada jedan kompleksniji primer za definisanje orijentacije vrha hvataljke duţ
Industrijska robotika Dinamika
parametrizovane putanje. Neka je sada zadatak takav da se vrh robota kreće duţ helikoide,
odnosno spiralne zavojnice zadate parametarskim jednaĉinama
0
0
10 2
cos( )
sin( )
x x r
y y r
z z h
p , (5.87)
gde je r polupreĉnik cilindra na koji je zavojnica namotana, a h korak zavojnice, dok 0x i
0y odreĊuju poloţaj ose helikoide (centar osnove cilindra na koji je zavojnica namotana), a
0z oznaĉava visinu poĉetne taĉke zavojnice. Osa zavojnice paralelna je z osi referentnog
koodinatnog sistema. Parametar svojom promenom definiše zavojnicu, pri ĉemu
promena od 2 definiše korak helikoide.
Primenimo sada jednaĉine (5.51), (5.52) i (5.53) da bi smo odredili jediniĉne vektore
prirodnog triedra. Odredimo najpre prvi i drugi izvod vektora pozicije po parametru
1
2
sin( )
( ) cos( )
r
r
h
p , 2
2 21
4r h
p , (5.88)
cos( )
( ) sin( )
0
r
r
p , (5.89)
a zatim i potrebne vektorske proizvode
1
2
1
2
2
sin( )
( ) ( ) cos( )
hr
hr
r
p p , (5.60)
odnosno
2
2 21
4
cos( )
( ( ) ( )) ( ) sin( )
0
r h r
p p p . (5.61)
Sada moţemo sraĉunati elemente izraza (5.51), (5.52) i (5.53) radi odreĊivanja jediniĉnih
vektore prirodnog triedra putanje
2
2 21
4r h r
p p , (5.62)
2
2 21
4( ) r r h
p p p . (5.63)
Da bismo pojednostavili izraze koji slede, uvedimo smenu
2
2 21
4c r h
. (5.64)
Smenom dobijenih izraza u jednaĉine za jedniĉne vektore prirodnog triedra krive (5.51),
Dinamika Industrijska robotika
(5.52) i (5.53) dobijamo
1
2
sin1
cos
r
rc
h
t , (5.95)
cos
sin
0
n , (5.96)
1
2
1
2
sin( )1
cos( )
h
hc
r
b . (5.97)
Preostaje još da uspostavimo vezu izmeĊu orijentacije koordiantnog sistema hvataljke i
prirodnog triedra. Neka je zadatak robota takav da se jediniĉni vektori dva koordinatna
sistema se poklapaju, odnosno da je rotaciona matrica
3 3h R I , (5.98)
zapravo jediniĉna matrica. Drugim reĉima, vaţi da je
,
,
.
h
h
h
n t
s n
a b
(5.99)
Tada je rotaciona matrica koja definiše orijentaciju vrha robota duţ putanje data sa
h h h R n s a t n b , (5.65)
odnosno,
1
2
1
2
1
2
sin( ) cos( ) sin( )1
cos( ) sin( ) cos( )
0
r c h
r c hc
h r
R . (5.66)
Da zakljuĉimo, jednaĉina (5.87) predstavlja jednaĉinu putanje vrha robota, dok jednaĉina
(5.66) 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.2.
Industrijska robotika Dinamika
Sl. 5.2. Putanja oblika helikoide i prirodni triedri u nekoliko taĉaka duţ putanje
Zavojnica sa Sl. 5.14 konstruisana je za vrednosti parametara 8.0r , 1h , 10 x ,
10 y i 00 z . Zajedno sa putanjom, prikazana je i orijentacija prirodnog triedra u tri
taĉke putanje, odreĊene vrednostima parametra 2 , 815 , i 3 .
5.4 LITERATURA
[1] Sciavicco L. and Siciliano B.: Modeling and Control of Robot Manipulators, The McGraw-Hill
Company, 1996.
[2] Craig J.: Introduction to Robotics: Mechanics & Control, Addison-Wesley, 1986.
[3] Angeles J.: Fundamentals of Robotic Mechanical Systems, Theory, Methods and Algorithms, 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.
[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.
Dinamika Industrijska robotika
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.
6.2 STATIČKA ANALIZA
Razmotrimo najpre ravnoteţu i-tog segmenta u okviru otvorenog kinematskog lanca koji se
ne kreće već stoji u odreĊenom poloţaju.
Industrijska robotika Dinamika
Sl. 6.1. Sile i momenti koji deluju na i-ti segment (statiĉki sluĉaj)
Kada robot miruje opterećenje u zglobovima mehanizma uzrokuju samo sile sopstvene
teţine 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 1,i iM i silom
1,i iF a mometom , 1i iM i
silom , 1i iF uticaj i-tog na i+1-vi segment. Momet , 1i iM i sila , 1i iF su na Sl. 6.1. prikazani
sa znakom "-" ( , 1i iM i , 1i iF ) 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 iC , deluje sila
sopstvene teţine im g .
Obzirom da je mehanizam u ravnoteţi, ponašanje posmatranog segmenta se moţe opisati sa
dve vektorske jednaĉine: 0i F i 0i M . Prema tome,
1, , 10 : 0i i i i i im F F F g (6.1)
0 :i M 1, , 1 1, . 1, . , 1( ) ( ) ( ) 0i ii i i i i i i i i i i i
c cM M r r F r F (6.2)
gde su svi vektori izraţeni u odnosu na bazni koordinatni sistem Oo-xoyozo. Momentna
jednaĉina (6.2) je napisana u odnosu na teţište i-tog segmenta, dok 1,i ir i . ii cr oznaĉavaju
radijus vektore od i-1-vog do i-tog zgloba i od i-1-vog zgloba do teţišta i-tog segmenta iC ,
respektivno. Momenti i sile u zglobovima se još nazivaju sprezanjem ili kuplovanjem (engl.
coupling moment and force) izmeĊu segmenata. Tako, na primer (Sl. 6.2), moment 1,i iM i
sila 1,i iF predstavljaju moment i silu sprezanja i-1-vog i i-tog segmenta. U sluĉaju kada je
i=1 moment 0,1M i sila 0,1F se odnose na sprezanje izmeĊu prvog segmenta i osnove (baze)
Dinamika Industrijska robotika
a) b)
Sl. 6.2. Sprezanje a) izmeĊu robota i osnove i b) okoline i hvataljke
robota, dok u sluĉaju kada je i=n moment , 1n nM i sila , 1n nF 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 , 1n nM i
, 1n nF . Radi lakšeg daljeg rada objedinimo moment , 1n nM i silu
, 1n nF u jedinstven vektor
dimenzije (6x1) koji ćemo skraćeno nazvati silom sprezanja (ili dejstvom okoline na robot)
sa okolinom i obeleţiti sa extF
, 1
ext
, 1
n n
n n
FF
M (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 2 2n nepoznatih ( 1n moment i 1n 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 extF je
jednako nuli ( , 1 0n n M i , 1 0n nF ). 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
extF 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.
Industrijska robotika Dinamika
a) b)
Sl. 6.3. Gravitaciono opterećenje robota a) SCARA Nije dobra slika SCARA konfiguracije fali translacija i b) antropomorfne konfiguracije (SreĊeno ali još jednom proveriti i obavezno odštampani pošto je malo nameštano da
izgleda dobro translacija prolazi na gore)
Prva dva segmenta minimalne konfiguracije SCARA robota se mogu kretati samo u
horizontalnoj ravni, dok se poslednja dva segmenta antropomorfne konfiguracije mogu
kretati samo u vertikalnoj ravni (Sl. 6.3). U sluĉaju SCARA robota gravitaciono opterećenje
(Sl. 6.3.a) se u celosti prenosi na konstrukciju zgloba i nije potrebno dodatno angaţovanje
motora da bi se oĉuvao trenutni poloţaj. Kako god da se mehaniĉka konfiguracija pomeri,
ona ć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 deluje 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 kompenzovati 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 istovetno razmatranje vaţi i za rotacione i za translatorne
zglobove. Pogon (obeleţimo ga oznakom τ ) u sluĉaju translatornog zgloba predstavlja silu
i moţe se sraĉunati kao skalarni proizvod orta odgovarajuće ose zgloba i vektora sile
1 1,i i i i τ z F . (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
1 1,i i i i τ z M (6.5)
Treba primetiti da u oba prethodna sluĉaja trenje u zglobovima nije uzeto u obzir jer je
tribološka situacija u samom zglobu u suštini nepoznata i promenljiva tokom vremena.
Pogonski momenti u zglobovima iτ se mogu objediniti u jedan vektor
Dinamika Industrijska robotika
n
2
1
(6.6)
koji nazivamo vektorom pogona i koji moţe sadrţavati sile ili momente u zavisnosti od tipa
zglobova.
6.2.1 VEZA SPOLJAŠNJIH SILA KOJE DELUJU NA ROBOT I MOMENATA U ZGLOBOVIMA
Od posebnog je interesa da se izvede zavisnost izmeĊu spoljne sile extF kojom okolina
deluje na robot i odgovarajućih pogonskih momenata koji tu silu uravnoteţavaju.
Pretpostavimo da se robot ne kreće i da svojim vrhom na okolinu deluje silom extF . Tada
ćemo sa Fτ obeleţiti momente u zglobovima mehaniĉke konfiguracije koji tu silu
uravnoteţavaju i naš zadatak je da se naĊe veza izmeĊu extF i
Fτ .
Da bi ovu relaciju izveli iskoristićemo princip virtuelnog rada. Da bi smo razumeli koncept
virtuelnog rada, razmotrimo najpre tzv. virtuelne pomeraje. Pod virtualnim pomeranjima se
podrazumevaju infinitezimalni pomeraji mehaniĉkog sistema koje dozvoljavaju veze. Za
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
razmatramo (Sl. 6.4) virtualna pomeranja u zglobovima iq izazivaju linearno Hx 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, 1n nM i
, 1n nF , dok u
zglobovima deluju pogonski momenti i koji ovo opterećenje uravnoteţavaju. U tom
sluĉaju je virtualni rad svih sila dat sa
1 21 2 n nq q q
F F Fw
, 1 , 1
T T
n n H n n Hx F M (6.7)
Virtualni rad je jednak nuli ukoliko je sistem u ravnoteţi. Ukoliko prethodnu jedna-ĉinu
zapišemo u vektorskom obliku (linearno Hx i ugaono H virtualno pomeranje hvataljke
je objedinjeno u vektor s ) sledi
ext 0T T F
w τ q F s (6.8)
Obzirom da q i s nisu nezavisni već da su povezani relacijom d ds J q (primetimo da
simbol d moţemo da zamenimo simbolom ) jednaĉinu (6.8) moţemo
Industrijska robotika Dinamika
Sl. 6.4. Virtualna pomeranja hvataljke i zglobova
napisati u obliku
ext ext 0T
T T T F F
w τ q F J q τ J F q (6.9)
Obzirom da su virtuelna pomeranja razliĉita od nule 0 q , izraz (6.9) moţe biti ispunjen
samo ukoliko je izraz u zagradi jednak nuli, odakle sledi
ext
T Fτ J F (6.10)
Ovo je veoma vaţna relacija koja povezuje silu kojom robot deluje na okolinu sa
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
na Sl. 6.5. odrediti potrebne momente u zglobovima da se vrhom ostvari sila F data sa:
, , 10,10,0T T
x y zF F F N F (6.11)
Dinamika Industrijska robotika
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
2 3 2 3 3
2 3 2 3 3
2 3 3
1 2 1 23 1( 2 23) 1 23
1 2 1 23 1( 2 23) 1 23
0 2 23 23
a S C a S C C a S a C a C S
a S C a C C S a S a S a S S
a C a C a C
J (6.12)
pa se, prema (6.10), odgovarajući momenti u zglobovima mogu dobiti iz
1 2 3 2 3
2 2 3 2 3 2 3
3 3 3 3
1 2 1 23 1 2 1 23 0 10
1( 2 23) 1( 2 23) 2 23 10
1 23 1 23 23 0
F
F
F
a S C a S C a S C a C C
C a S a C S a S a S a C a C
a C S a S S a C
(6.13).
Treba još jednom napomenuti da se, na ovaj naĉin odreĊeni pogoni Fτ odnose samo na
uravnoteţenje dejstva spoljne sile F .
6.2.2 POPUSTLJIVOST I KRUTOST
Spoljne sile kojima okolina deluje na robot izazivaju promene pozicija u zglobovima
mehaniĉke konfiguracije (segmenti se mogu smatrati krutim telima) i "povlaĉenje" vrha
robota. Ova osobina ponekad moţe biti nepoţeljna (npr. pri obradama radnih predmeta
alatom koji robot nosi), ali i veoma vaţna radi spreĉavanja havarije kao što je na primer pri
neplaniranom sudaru objekta kojim robot manipuliše sa okolinom.
Neka je prostor zglobova n dimenzionalan, prostor hvataljke m dimenzionalan, τi je
opterećenje (moment ili sila) koje se prenosi preko i-tog zgloba, dok je iq njegova
defleksija koja usled toga nastaje. U sluĉaju malih pomeranja τi i iq se mogu povezati
linearnom aproksimacijom
iii qk (6.14)
gde se ik naziva konstantom krutosti. Za celokupan mehanizam se skup izraza (6.14) moţe
napisati u matriĉnoj formi
τ Θ q (6.15)
Industrijska robotika Dinamika
gde je τ = [τ1, τ2, …, τn]T, Δq = [Δq 1, Δq 2, …, Δq n]
T, dok je 1 2, ,..., ndiag k k kΘ
dijagonalna matrica dimenzije n × n.
Za robote koji imaju strukturu kinematskog lanca pomeranja u zglobovima su sa
pomeranjem hvataljke povezana jakobijanom
s J q (6.16)
dok je spoljnja sila koja deluje na hvataljku sa momentima u zglobovima povezana izrazom
Tτ J F (6.17)
Eliminacijom τ i q iz (6.16) i (6.17) dobijamo
s CF (6.18)
gde je
1 TC JΘ J (6.19)
matrica popustljivosti (engl. compliance matrix) dimenzije mm . 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 1C dobijamo
F K s (6.20)
gde se
1 1T K C J J (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 ( ) ( ) 1T s s dobijamo
1T T F C CF (6.22)
Za odreĊenu pozu robotskog manipulatora izraz (6.22) predstavlja m-dimenzionalni
ellipsoid sile. Pošto je 1T T F C CF 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.
6.2.3 TRANSFORMACIJA UTICAJA SILA I MOMENATA IZMEĐU RAZLIČITIH
KOORDINATNIH SISTEMA
Kao što poloţaj taĉke moţemo izraziti u odnosu na razliĉite koordinatne sisteme tako i
uticaj sile i momenta moţemo izraziti u odnosu na razliĉite koordinatne sisteme. Na Sl. 6.6.
prikazane su sila F i moment M koji deluju u istom pravcu, a njiihovo delovanje
posmatraćemo u odnosu na dva koordinatna sistema, Oi-xiyizi i Oj-xjyjzj. Silu i moment
Dinamika Industrijska robotika
moţemo predstaviti kao jedinstveni šestodimenzionalni vektor generalisanih sila u
obliku
0
x
y
z
x
y
z
F
F
F
F
p F M M
M
M
(6.23)
Sl. 6.6. Transformacija sila i momenata izmeĊu dva koordinatna sistema
U gornjem izrazu F predstavlja silu, 0p je vektor pozicije bilo koje taĉke koja se nalazi na
pravcu sile F u odnosu na izabrani koordinatni sistem, proizvod 0 p F predstavlja moment
koji sila ima u odnosu na koordinatni poĉetak koordinatnog sistema, a M je moment koji
deluje oko ose pravca sile F. Sa Sl. 6.6. se vidi da koordinatni sistem Oj-xjyjzj u odnosu na
Oi-xiyizi odreĊuje vektor pozicije [ ]T
x y zd d dd koordinatnog poĉetka Oj u odnosu na Oi i
matrica rotacije j
iR koordinatnog sistema Oj-xjyjzj u odnosu na Oi-xiyizi. Generalisana 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 j j
i T (6.24)
gde je j
iT matrica dimenzije 6 6 koju moţemo napisati u sledećoj formi
0j
j i
i j j j
i i i
RT
W R R (6.25)
gde je
0
0
0
z y
j
i z x
y x
d d
d d
d d
W (6.26)
kososimetriĉna matrica vektora i jO O 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
Industrijska robotika Dinamika
koordinatnom sistemu.
Primer 6.2:
Na Sl. 6.7 je prikazana hvataljka robota sa objektom koji je u kontaktu sa okolinom. Za
merenje kontaktnih sila na vrhu objekta u zglobu hvataljke postavljen je senzor sile i
momenta. Zadatak je da se odrede sila i moment koji stvarno deluju na vrh objekta ukoliko
su nam poznati izmerene vrednosti sile i momenta u zglobu hvataljke.
Sl. 6.7 Transformacija sila i momenata koji deluju na vrh objekta na centar senzora koji se nalazi u zglobu hvataljke.
Drugim reĉima, potrebno je poznate sile i momente izraţene u koordinatnom sistemu O-
uvw izraziti u koordinatnom sistemu O-xyz.
Ako pretpostavimo, bez gubitka opštosti, da su u trenutku posmatranja koordinatni sistemi
paralelni i da je dislokacija vrha objekta od centra senzora data vektorom
[ ]T
x y zd d dd tada za ovaj sluĉaj vaţi
1 0 0
0 1 0
0 0 1
uvw
xyz
R
0
0
0
z y
uvw
xyz z x
y x
d d
d d
d d
W
pa transformaciju uvw
xyzT dobijamo u obliku
1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
uvw
xyz
z y
z x
y x
d d
d d
d d
T
na osnovu ĉega dobijamo traţenu vezu u obliku
Dinamika Industrijska robotika
1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0.
0 1 0 0
0 0 1 0
0 0 0 1
ux
vy
wz
z y ux
z x vy
y x wz
FF
FF
FF
d d
d d
d d
MM
MM
MM
(6.27)
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.
6.3 DINAMIČKA ANALIZA
U dosadašnjem razmatranju je bilo pretpostavljeno da se robot ne kreće i da se nalazi
nepokretan u odreĊenoj pozi. MeĊutim, simultano kretanje svih segmenata proizvodi
veoma sloţene uticaje koji su od izuzetnog znaĉaja pri upravljanju robotima i koje ćemo u
ovom odeljku razmotriti.
Diferencijalne jednaĉine kretanja mehanizma moţemo formirati na osnovu Njutn-
Ojlerovog i Lagranţevog formalizma. Njutn-Ojlerova formulacija se zasniva na direktnoj
primeni drugog Njutnovog zakona mehanike, pa jednaĉine sadrţe sile i momente koje
deluju na svaki pojedinaĉni segment, ukljuĉujući i sile i momente sprezanja u zglobovima.
Osim toga sadrţe i reakcije veza koje deluju izmeĊu dva susedna segmenta koje je potrebno
eliminisati da bi se dobile relacije koje u eksplicitnoj formi povezuju momente u
zglobovima sa kretanjem mehanizma. Pri formiranju jednaĉina Njutn-Ojlerovim metodom
se ide od segmenta do segmenta na naĉin koji se poklapa sa prirodnom predstavom o
kinematskom lancu, što ovom formalizmu daje dodatnu jasnoću i i omogućava lakše
razumevanje efekata koji se javljaju.
Sa druge strane, u Lagranţevoj formulaciji dinamiĉko ponašanje sistema kao celine je
opisano pomoću rada i energije korišćenjem generalisanih koordinata. Sve sile koje ne vrše
rad, kao i reakcije veza ne pojavljuju se u jednaĉinama. Rezultujuće jednaĉine su, u opštem
sluĉaju, kompaktnije i obezbeĊuju relacije izmeĊu momenata u zglobovima i njihovih
pomeranja u zatvorenoj formi.
Prvo ćemo prikazati formiranje dinamiĉkog modela na bazi Njutn-Ojlerovih a zatim
Lagranţevih jednaĉina.
6.3.1 NJUTN-OJLEROVA FORMULACIJA JEDNAČINA KRETANJA
Razmotrimo jednaĉine kretanja jednog segmenta robotskog mehanizma. Kretanje svakog
krutog tela (segmente mehanizma moţemo smatrati krutim telima) se moţe razloţiti na
translatorno kretanje bilo koje njegove taĉke i rotaciju oko te taĉke. Pogodno je za tu
proizvoljnu taĉku izbrati teţište segmenta.
Na Sl. 6.8. je, sliĉno statiĉkom sluĉaju sa Sl. 6.1., prikazan i-ti segment kinematskog lanca
sa svim silama koje na njega deluju. U odnosu na Sl. 6.1. ovde se pojavljuju i inercijalna
sila i moment kao posledica kretanja segmenta. Ako sa iC obeleţimo teţište i-tog
Industrijska robotika Dinamika
segmenta, tada je Civ linearna brzina njegovog teţišta izraţena u odnosu na bazni
koordinatni sistem Oo-xoyozo. Inercijalna sila je data sa i Cim v gde je sa
im oznaĉena masa
segmenta, a sa Civ 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
0:F 1, , 1 0 1... i i i i i Ci im m i n F F v g (6.28)
gde su sa 1,i iF
i , 1i iF oznaĉene sile kojima na i-ti segment deluju i-1-vi i i+1-vi segment,
dok je sa g obeleţen vektor ubrzanja zemljine teţe.
Na sliĉan naĉin moţemo napisati jednaĉinu ravnoteţe momenata, analognu sa (6.2), za ovaj
sluĉaj kao
0:M
1, , 1 . , 1 1, 1, ( ) 0i i i i i Ci i i i Ci i i i i i i iI I M M r F r F , i = 1 … n (6.29)
gde je sa iI obeleţen tenzor inercije i-tog segmenta, i iI predstavlja obrtni moment, dok
( )i i iI predstavlja ţiroskopski moment.
Sl. 6.8. Sile i momenti koji deluju na i-ti segment (dinamiĉki sluĉaj) srediti w i dodati strelice na vektore
Jednaĉine (6.28) i (6.29) opisuju dinamiĉko ponašanje jednog segmenta u kinema-tiĉkom
lancu. Obilazeći ga od i = 1 … n moţe se formirati sistem jednaĉina kojima se opisuje
dinamiĉko ponašanje ukupnog sistema.
MeĊutim, ovako formiran sistem jednaĉina nije pogodan za dinamiĉku analizu i sintezu
upravljanja. Pre svega, potrebno je obezbediti formu u kojoj su pogonski momenti ulazne
veliĉine, a kao izlazne treba da se pojave veliĉine koje potpuno definišu poziciju
mehanizma. Uglovi u zglobovima iq konstituišu takav nezavisan skup. Prema tome,
potrebno je dinamiĉki model tako realizovati da se na osnovu ulaznih momenata mogu
direktno dobiti pomeraji u zglobovima.
Ovakav prilaz ćemo najbolje objasniti na primeru jednostavnog dvosegmentnog ravanskog
Dinamika Industrijska robotika
mehanizma prikazanog na Sl. 6.9. 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.9. izvesti Njutn-Ojlerove
jednaĉine kretanja i prikazati ih u formi pogodnoj za dinamiĉku analizu.
Sl. 6.9. Dvosegmentni ravanski mehanizam
Obzirom da je mehanizam ravanski, ugaona brzina teţišta svakog od segmenata se moţe
prikazti skalarnom veliĉinom i , dok se translatorna brzina moţe prikazati
dvokomponentnim vektorom iCv . U sluĉaju ravanskog mehanizma tenzor inercije postaje
skalarni moment inercije u odnosu na teţište koji je obeleţen sa iI . Sve ostale neophodne
oznake su date na Sl. 6.9.
Saglasno opštim jednaĉinama (6.28) i (6.29) Njutn-Ojlerove jednaĉine za prvi segment se
mogu napisati na sledeći naĉin
0.1 1.2 1 1 1
0.1 1.2 1. 2 1.2 0. 1 0.1 1 1
0
( ) 0
C
c c
m m
I
F F g v
M M r F r F ω (6.30)
Na sliĉan naĉin, jednaĉine za drugi segment su
1.2 2 2 2
1.2 1. 2 1.2 2 2
0
( ) 0
C
c
m m
I
F g v
M r F ω (6.31)
Za ravanski mehanizam momenti 0.1M i 0.2M su upravni na ravan u kojoj se kreće
mehanizam pa su momenti sprezanja ekvivalentni pogonskim momentima, te vaţi
0.1 1 M , 1.2 2 M (6.32)
Ako sada, izraze za momente ubacimo u (6.31), i eliminišemo reakcije veza tako što iz prve
Industrijska robotika Dinamika
jednaĉine izrazimo 1.2F i ubacimo u drugu, dobijamo
22 1, 2 2 1, 2 2 2 2 0
cc cm m I r v r g (6.33)
Sliĉno se moţe uraditi sa sistemom (6.30) na osnovu ĉega sledi
11 2 0, 1 1 0,1 2 2 0, 1 1 0,1 2 1 1 0
Cc C Cm m m m I r v r v r g r g (6.34)
Obzirom da u ovom sluĉaju za ugaone brzine moţemo pisati
11 q , 22 q (6.35)
sledi da su linearne brzine teţišta 1Cv i
2Cv
1
1
1
2 2
2
2 2
1 1
1 1
1 1 1 2 1 1 2 2
1 1 1 2 1 1 2 2
sin
cos
[ sin sin( )] sin( )
[ cos cos( )] cos( )
C
C
C
C C
C
C C
l q qv
l q q
l q l q q q l q q qv
l q l q q q l q q q
(6.36)
Zamenom (6.35), (6.36) i njihovih izvoda u (6.33) i (6.34) dobijamo dinamiĉke jednaĉine u
traţenoj formi
2
1 11 1 12 2 2 1 2 1
2
2 22 2 12 1 1 2
2H q H q h q h q q G
H q H q h q G
(6.37)
gde je
2 2 2
11 1 1 1 2 1 2 1 2 2 2[ 2 cos ]C C CH m l I m l l l l q I (6.38)
22
2222 IlmH C (6.39)
22
22221212 cos IlmqllmH CC (6.40)
2212 sinqllmh C (6.41)
1 1 1 1 2 2 1 2 1 1cos { cos( ) cos }C CG m l q m l q q l q g g (6.42)
)(cos 21222 qqglmG C (6.43)
gde skalarna veliĉina g predstavlja ubrzanje zemljine teţe usmereno naniţe, tj. u
negativnom pravcu y ose.
Izraz (6.37) se moţe u opštem obliku napisati kao
, H q q h q q G (6.44)
ili u razvijenoj formi za primer dvosegmentnog mehanizma
1 11 12 1 1 1
2 21 22 2 2 2
H H q h G
H H q h G
Dinamika Industrijska robotika
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
( 022 qq ) i ako zanemarimo gravitaciono opterećenje tada prva jednaĉina sistema
postaje
1111 qH (6.45)
odakle se moţe zakljuĉiti da ĉlan 11H predstavlja inercijalnost kojom je opterećen prvi
zglob zbog sopstvenog kretanja tj. kada se kreće samo prvi zglob, a drugi je ukoĉen
( 022 qq ). Vaţno je napomenuti da inercijalnosti 11H 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, 1211 Ilm C 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
2 2
2 2 2
1 1 22 cosC CL l l l l q
pa je moment inercije drugog segmenta dat sa
2 2
2 2 2
2 1 1 2 2 2 2[ 2 cos ]C Cm l l l l q I m L I
što odgovara drugom ĉlanu u (6.38). Veoma je vaţno da se primeti da inercijalnost koju
"oseća" prvi zglob (u stvari, ovaj zakljuĉak je opšti i vaţi za bilo koji zglob mehanizma)
zavisi od trenutnog poloţaja mehanizma tj. od trenutne vrednosti uglova u zglobovima iq .
Naravno, inercijalnost je maksimalna kada je mehanizam potpuno ispruţen ( 02 q ), a
minimalna kada je drugi segment potpuno savijen ka osi prvog zgloba (2q ).
Da bi ispitali fiziĉku prirodu drugog ĉlana u (6.37) pretpostavimo da je 021 qq i
01 q . Tada prva jednaĉina postaje
1 12 2H q (6.46)
gde smo opet zanemarili gravitaciono opterećenje. Iz (6.46) se moţe zakljuĉiti da ĉlan 12H
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
2 2
2
1,2 0,1 1,2 2 2 1 2 2( ) [ ( cos )]SPR C CM r F I m l l l q q
što se u potpunosti poklapa sa drugim ĉlanom u (6.37). Prema tome, moţemo da kaţemo da
12H predstavlja sprezanje izmeĊu dva zgloba, tj. doprinos momentu u prvom zglobu, 1,
Industrijska robotika Dinamika
usleg ubrzanog kretanja drugog segmenta.
Analizirajmo sada treći ĉlan u (6.37) koji je proporcionalan kvadratu brzina u zglobovima.
Zamislimo za trenutak, da za mehanizam u posmatranom trenutku vaţi 02 q i
021 qq , tj. da postoji samo brzina u prvom zglobu koja će uzrokovati pojavu
centrifugalne sile kao što je prikazano na Sl. 6.10. Pravac centrifugalne sile (silu obeleţimo
sa CENTF
) je kolinearan sa pravcem radijus vektora 20,Cr , a intenzitet je dat sa
2
2
2 0, 1( )CENT Cm qF r . (6.47)
Centrifugalna sila uzrokuje moment oko drugog zgloba dat sa
2
2
1, 2 2 1 1 2( ) sinCENT C CENT Cm l l q q τ r F (6.48)
Sl. 6.10. Centrifugalna sila zbog kretanja u prvom zglobu
š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
2q 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 1q i 2q . Kretanje usled 1q nazivamo prenosnim, dok je
kretanje usled 2q relativno. Tada je Koriolisovo ubrzanje dato sa
2KOR P REL a v (6.49)
gde P
oznaĉava ugaonu brzinu prenosnog kretanja, a RELv linearnu brzinu
Dinamika Industrijska robotika
Sl. 6.11. Prenosno i relativno kretanje i Koriolisovo ubrzanje (smer 1q treba obrnuti, a wp treba da bude p )
teţišta drugog segmenta usled kretanja uzrokovanog sa 2q . Pravac Koriolisovog ubrzanja
je pravac relativne brzine zaokrenut za 900 u pravcu prenosnog kretanja (vidi Sl. 6.11).
Koriolisova sila data je sa
2
2
2
2 1 2 1 2
1
2 1 2 1 2
2 cos( )2
2 sin( )
C
KOR C
C
m l q q q qm
m l q q q q
F v (6.50)
dok je moment oko prvog zgloba uzrokovan ovom silom dat sa
20, 2 2 1 22 sinCOR C COR Cm l l q r F (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 iiH predstavljaju inercijalnosti koje moment u i-tom zglobu
treba da savlada pri sopstvenom ubrzavanju. Tako, na primer, 11H predstavlja inercijalnost
koju prvi zglob pri njegovom kretanju treba da savlada, ali treba uoĉiti da 11H zavisi od
poloţaja svih ostalih segmenata koje zglob 1 nosi. Van dijagonalni ĉlanovi ijH
predstavljaju doprinos momentu u i-tom zglobu usled kretanja j-tog zgloba. Na primer, 12H
predstavlja doprinos momentu u prvom zglobu usled kretanja drugog zgloba.
Vektor h objedinjuje uticaje Koriolisovih i centrifugalnih sila, dok G predstavlja vektor
momenata usled gravitacionih opterećenja.
Industrijska robotika Dinamika
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.12)
Sl. 6.12. Direktni i inverzni dinamiĉki problem
Ukoliko su poznati pogonski momenti u zglobovima 1 t , t2 , … , tn moţe se
jednoznaĉno odrediti kretanje mehanizma opisano skupom generalisanih koordinata,
recimo, kretanjima u zglobovima tq1 , tq2 , … , tqn . Ovaj zadatak se naziva
direktnim dinamiĉkim problemom.
MeĊutim, daleko je interesantniji i ĉešće zastupljen zadatak odreĊivanja pogonskih
momenata t1 , t2 , … , tn takvih da se ostvari ţeljeno kretanje u zglobovima tq1 ,
tq2 , … , tqn a samim tim i ţeljeno kretanje hvataljke. Ovaj zadatak se naziva
inverznim dinamiĉkim problemom.
Osnovu za praktiĉnu primenu matematiĉkih metoda za formiranje dinamiĉkih modela na
raĉunaru predstavlja njihovo formiranje u rekurzivnoj formi.
Ulazne veliĉine neophodne za formiranje dinamiĉkog modela su:
- Tip mehaniĉke konfiguracije (vrsta i raspored zglobova),
- Kinematski i dinamiĉki parametri segmenata (duţine, mase i poloţaji teţišta svih
segmenata, momenti inercije, …). U sluĉaju da robot u hvataljci nosi radni predmet,
hvataljka se zajedno sa radnim predmetom smatra jedinstvenim krutim telom pa je
potrebno sraĉunati parametre "modifikovanog" poslednjeg segmenta ( H RPm m m ).
- Rešen inverzni kinematski zadatak, tj. trajektorije svih unutrašnjih koordinata, brzina i
ubrzanja duţ ĉitavog razmatranog pokreta.
- Podaci o brzini i ubrzanju baznog segmenta. Ukoliko je robot priĉvršćen za tlo te
veliĉine su jednake nuli, a ukoliko nije potrebno ih je specificirati.
Algoritam treba tako definisati da se svi parametri mehanizma zadaju u "lokalnom"
koordinatnom sistemu vezanom za segment. Sva potrebna preraĉunavanja koja zavise od
njegovog trenutnog poloţaja u odnosu na bazni koordinatni sistem treba da se izvršavaju
Dinamika Industrijska robotika
automatski. Na Sl. 6.13. 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 (1 1 1, ,q q q ) linearne i ugaone
brzine i ubrzanja teţišta 1C se mogu odrediti.
Sl. 6.13. Rekurzivno formiranje dinamiĉkog modela dodati strelice na vektore
Pošto je sada u potpunosti poznato kretanje prvog segmenta (pored kretanja prvog zgloba
(1 1 1, ,q q q ) sraĉunate su i linearna i ugaona brzina i ubrzanje teţišta njegovog segmenta
1Cv ,
1 , 1Ca i 1 ) prelazi se na naredni segment, za koji je u ovom trenutku poznato samo
kretanje drugog zgloba tj. 2 2 2, ,q q q . 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
1, , 1n n n n n Cn nm m F F v g (6.52)
Podsetimo se da , 1n nF predstavlja silu kojom robot svojim poslednjim segmentom
Industrijska robotika Dinamika
(hvataljkom) deluje na okolinu, n nC Cv a 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 (, 1n nF ) 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 1,n nF 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 2, 1n n F 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 2, 1n n M 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
1, , 1
1, , 1 . , 1 1, 1, ( )
i i i i i Ci i
i i i i i Ci i i i Ci i i i i i i i
m m
I I
F F v g
M M r F r F (6.53)
idući od poslednjeg ka prvom segmentu.
Kada su sve sile 1,n nF i momenti
1,n nM odreĊeni sraĉunavaju se pogonski momenti i
prema (6.4) i (6.5). Vaţno je napomenuti da prikazana procedura vaţi samo za jedan
trenutak vremena i da je treba ponavljati na svakom periodu semplovanja duţ posmatranog
pokreta.
6.3.3 ALGORITAM FORMIRANJA DINAMIČKOG MODELA
Da bi objasnili rekurzivni algoritam za formiranje dinamiĉkog modela ponovićemo
neophodne kinematske relacije u rekurzivnoj formi.
Dve osnovne vrste zglobova koje se koriste u kinematskim lancima manipulacionih robota
su rotacioni i translatorni zglob sa po jednim stepenom slobode.
Razmotrimo prvo jednostavniji sluĉaj kada je i+1-vi zglob prizmatiĉan. Obzirom da
linearno kretanje koje generiše ovaj zglob ne uzrokuje promenu ugaone brzine i ubrzanja
i+1-vog segmenta, vaţi
1
1
i i
i i
(6.54)
Za brzine i ubrzanja vaţe relacije
1 1 , 1
1 1 , 1 , 12
i i i i i i i
i i i i i i i i i i i i i i
q
q q
v v z r
a a z r z r
(6.55)
Ako je i+1-vi zglob rotacioni on doprinosi ugaonoj brzini i ubrzanju narednog segmenta pa
vaţi
Dinamika Industrijska robotika
1 1
1 1
i i i i
i i i i i i i
q
q q
z
z z
(6.56)
dok za linearne brzine i ubrzanja vaţi
1 , 1
1 1 , 1 1 1 , 1
i i i i i
i i i i i i i i i
v v r
a a r r (6.57)
Treba napomenuti da su Njutn-Ojlerove jednaĉine izraţene u odnosu na ubrzanja teţišta
(vidi jednaĉine (6.53)), dok su gornji rekurzivni izrazi izraţeni u odnosu na koordinatne
sisteme koji se nalaze na svakom od segmenata (prema DH notaciji njihovi koordinatni
poĉeci se nalaze na ortovima zglobova). Na Sl. 6.14 su prikazane linearna iv i ugaona
brzina i izraţene u odnosu na lokalni koordinatni sistem segmenta. Linearna brzina
teţišta je tada data sa
,Ci i i i Ci v v r (6.58)
Na taj naĉin se mogu odrediti sve veliĉine neophodne za formiranje dinamiĉkog
Sl. 6.14. Brzine u zglobu i teţištu segmenta dodati strelice na vektore
modela manipulacionog robota.
Na Sl. 6.15 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 ( 1q , 1q , 1q ) i na osnovu jednaĉina (6.55), (6.56) i (6.57) sraĉunavaju
brzine i ubrzanja (1v ,
1 , 1a ,
1 ) segmenta 1, tj. njemu pripadajućeg koordinarnig
sistema. Ove informacije se prosleĊuju dalje, pa se na osnovu ovih podataka i informacija o
Industrijska robotika Dinamika
Sl. 6.15. Algoritam sraĉunavanja pogonskih momenata dodati strelice na vektore
kretanju u zglobu 2 ( 2q , 2q , 2q ) sraĉunava kretanje segmenta 2 (2v ,
2 , 2a ,
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
(iv ,
i , ia ,
i ), na osnovu jednaĉine (6.58) sraĉunaju i brzine i ubrzanja njegovog teţišta
(iCv ,
iC , iCa ,
iC ) radi kasnijeg korišćenja u algoritmu.
Pošto su kinematske veliĉine za sve segmente sraĉunate, zapoĉinje se sa sraĉunavanjem
Dinamika Industrijska robotika
potrebnih pogonskih momenata u zglobovima mehanizma. Sraĉunavanje polazi, na osnovu
jednaĉine (6.53), od poznate vrednosti sile i momenta (, 1n nF ,
, 1n nM ) kojim poslednji
segment (hvataljka) robota deluje na okolinu, a koja sledi iz tehnoloških uslova zadatka. (U
sluĉaju da se robot kreće slobodnim prostorom i da nema kontakt sa okolinom, , 1n nF i
, 1n nM su jednaki nuli) Zatim se sraĉunavaju sile i momenti sprezanja u zglobovima , 1i iF i
, 1i iM ĉ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.
6.3.4 LAGRANŽEVA FORMULACIJA JEDNAČINA KRETANJA
Kao što smo u prethodnom odeljku pokazali, pri formiranju dinamiĉkih jednaĉina Njutn-
Ojlerovim formalizmom, u jednaĉinama se javljaju reakcije veza koje treba eliminisati da bi
dobili rešenje u zatvorenoj formi. Alternativni prilaz formiranju dinamiĉkih jednaĉina je
Lagranţev formalizam koji opisuje ponašanje dinamiĉkog sistema preko rada i energije
koju sistem poseduje. Reakcije veza sistema su automatski eliminisane (Kako su
eliminisane reakcije veza. Ako je tako što smo uticaj reakcije veza zamenili silama koje
deluju na mestu veze onda to treba napomenuti) i ne pojavljuju se u jednaĉinamia i rešenje
se u zatvorenoj formi se dobija na sistematiĉan naĉin.
Neka su nqq ,...,1 generalisane koordinate kojima se u potpunosti definiše koordinatni
sistem. Ako sa T i U oznaĉimo totalnu kinetiĉku i potencijalnu energiju koju sistem
poseduje, tada izraz
, ,L t q q T U (6.59)
definiše Lagranţevu funkciju ili Lagranţijan, pa su jednaĉine kretanja date sa
i
i i
d L LQ
dt q q
ni ,...,1 (6.60)
gde su iQ generalisane sile koje odgovaraju generalisanim koordinatama iq .
Da bi odredili kinetiĉku energiju i-tog segmenata robotskog mehanizma potrebno je da
znamo vektore linearne iCv i ugaone
iC brzine njegovog teţišta iC u odnosu na
referentni koordinatni sistem. Kinetiĉka energija i-tog segmenta se tada moţe napisati u
formi
1 1
2 2i i
T T
i i C C i i iT m I v v (6.61)
gde je im masa i-tog segmenta, a iI tenzor inercije u teţištu segmenta dimenzije 33
izraţen u odnosu na referentni koordinatni sistem. Prvi ĉlan izraza (6.61) se odnosi na
kinetiĉku enetgiju translatornog kretanja, a drugi na kinetiĉku energiju rotacije oko teţišta.
Obzirom da su energije aditivne, ukupna kinetiĉka energija sistema se dobija sabiranjem
energija koju poseduju svi segmenti
Industrijska robotika Dinamika
1
n
i
i
T
T (6.62)
U gornjim izrazima kinetiĉka energija je izraţena u odnosu na linearnu i ugaonu brzinu
teţišta koje nisu nezavisno promenljive veliĉine pa ih treba izraziti u odnosu na kompletan
skup nezavisnih promenljivih 1, ... ,T
nq qq . U jednaĉinama (4.40), (4.41) i (4.42) je
izraţena linearna i ugaona brzina hvataljke preko brzina u zglobovima. Ako usvojimo isti
prilaz moţemo pisati
1 2
( ) ( ) ( ) ( )
1 2i n
i i i i
C L L L n LJ q J q J q v J q (6.63)
( ) ( ) ( ) ( )
1 1 2 2
i i i i
H A A An n AJ q J q J q ω J q (6.64)
gde su ( )
j
i
LJ i ( )
j
i
AJ delovi j-te kolone jakobijana koji odgovaraju “linearnom” i “ugaonom”
pomeranju i-tog segmenta. Treba primetiti da kretanje i-tog segmenta zavisi samo od
kretanja segmenata 1 do “i”, a ĉlanovi posle i-tog su postavljeni na nulu, tj.
1
( ) ( ) ( )... 0 ... 0i
i i i
L L LJ J J (6.65)
1
( ) ( ) ( )... 0 ... 0i
i i i
A A AJ J J (6.66)
Na osnovu analogije sa jednaĉinama (4.48) i (4.49) ĉlanove jakobijana moţemo sraĉunati iz
1( )
1 0,
za linearni zglob
za rotacioni zglobi
ji
Lj
j C
zJ
z r (6.67)
( )
1
0 za linearni zglob
za rotacioni zglob
i
Aj
j
Jz
(6.68)
gde je 0, iCr vektor pozicije teţišta i-tog segmenta u odnosu na referentni koordinatni sistem
dok je 1jz ort (j-1)-ve ose zgloba. Smenom (6.63) i (6.64) u (6.61) i (6.62) sledi izraz za
kinetiĉku energiju
( ) ( ) ( ) ( )
1
1 1
2 2
nT i T i T i T i T
i L L A i A
i
m I
T q J J q q J J q q Hq (6.62)
gde je H matrica dimenzije n n koja u sebi sadrţi sve masene karakteristike kompletnog
manipulacionog robota i naziva se tenzorom inercije manipulatora.
( ) ( ) ( ) ( )
1
ni T i i T i
i L L A i A
i
m I
H J J J J (6.63)
Tenzor inercije manipulatora ukljuĉuje jakobijan pa samim tim zavisi od trenutne poze
mehanizma tj. od 1, ... ,T
nq qq . Ako sa ijH obeleţimo ji, komponentu tenzora
inercije manipulatora H jednaĉinu (6.62) za kinetiĉku energiju moţemo napisati kao
Dinamika Industrijska robotika
1 1
1
2
n n
ij i j
i j
T H q q
(6.64)
Pored kinetiĉke energije, za formiranje Lagranţeve funkcije potrebno je da se odredi i
potencijalna energija sistema U. Ako sa g obeleţimo vektor gravitacionog ubrzanja, a sa
0,cir radijus vektor teţišta i-tog segmenta, potencijalna energija sistema se moţe sraĉunati
prema izrazu
0,
1
nT
i ci
i
U m
g r . (6.65)
Generalisane sile obuhvataju sve sile i momente koji deluju na sistem osim gravitacionih i
inercijalnih. Posmatrajmo situaciju kada u svim zglobovima deluju momenti
1, ... ,T
n τ dok na hvataljku deluje spoljna sila interakcije sa okolinom extF .
Generalisane sile se mogu dobiti sraĉunavanjem virtualnog rada tih sila. Analogno
jednaĉini (6.7) moţemo pisati
ext ext
TT T T w τ q F s τ J F q . (6.66)
UporeĊivanjem ovog izraza sa izrazom za virtualni rad generalisanih sila
1, ... ,T
nQ QQ koji je dat sa
T w Q q (6.67)
moţemo identifikovati generalisane sile kao
ext
T Q τ J F . (6.68)
Formirajmo sada Lagranţevu funkciju. Prvi ĉlan u (6.60) se na osnovu (6.72) moţe napisati
u formi
1 1 1
n n nij
ij j ij j j
j j ji
dHd T dH q H q q
dt q dt dt
(6.69)
Obzirom da je ijH funkcija generalisanih koordinata 1, ... ,T
nq qq izvod po vre-menu
se moţe odrediti prema
1 1
n nij ij ijk
k
j jk k
dH H dHdqq
dt q dt q
(6.70)
Drugi ĉlan u (6.60) se sastoji od parcijalnih izvoda kinetiĉke energije koji su dati sa
1 1 1 1
1 1
2 2
n n n njk
jk j k j k
j k j ki i i
HTH q q q q
q q q
(6.71)
pošto jkH zavisi od iq . Ĉlan koji se odnosi na gravitacione uticaje se moţe dobiti
formiranjem parcijalnih izvoda potencijalne energije
Industrijska robotika Dinamika
0, ( )
1 1
j
k
n nCT T j
j j L
j ki i
Um m
q q
rg g J proveriti indekse u jednaĉini (6.72)
obzirom da su parcijalni izvodi vektora pozicije 0, jCr po generalisanim koordinatama isto
što i i-ta kolona jakobijana ( )
i
j
LJ definisana izrazima (6.63) - (6.66). Prema tome, sada sledi
1 1
, 1,...,n n
ij j ijk j k i i
i j
H q h q q G Q i n
proveriti indekse u jednaĉini (6.73)
gde je
1
2
ij jk
ijk
ik i
H Hh
q q
(6.74)
i
( )
1i
nT j
i j L
k
G m
g J (6.75)
Prvi ĉlan u (6.80) predstavlja momente inercijalnih sila ukljuĉujući i momente interakcije sa
okolinom, drugi ĉlan obuhvata Koriolisove i centrifugalne efekte dok poslednji ĉlan
predstavlja momente gravitacionih sila. Treba uoĉiti da je izraz (6.80) identiĉan izrazu
(6.44) koji je izveden na osnovu Njutn-Ojlerove formulacije jednaĉina kretanja.
Primer 6.4.
Izvesti dinamiĉke jednaĉine kretanja dvosegmentnog ravanskog mehanizma sa Sl. 6.9.
koristeći Lagranţeve jednaĉine druge vrste.
Ako poĊemo od izraza (6.36), brzine teţišta C1 i C2 segmenata 1 i 2 se mogu, u funkciji
vektora brzina u zglobovima q, napisati u formi
1
2
1 1
1 1
1 1 2 1 2 2 1 2
1 1 2 1 2 2 1 2
sin 0
cos 0
sin sin( ) sin( )
cos cos( ) cos( )
c
C
c
c c
C
c c
l q
l q
l q l q q l q q
l q l q q l q q
v q
v q
(6.76)
UporeĊujući ove izraze sa izrazima (6.63) desne strane u izrazima (6.83) se mogu razumeti
kao Jakobijeve matrice ( )i
LJ . Ugaone brzine koje odgovaraju ( )i
AJ u sluĉaju ravanskog
mehanizma se mogu napisati kao
1 1
2 1 2
1 0
1 1
q
q (6.77)
Zamenjujući gornje izraze u (6.70) dobijamo matricu H u formi
1 2 1 1 2
2
2 2 2 2
1 1 2 1 1 2 2 2 1 2 2 2
2
2 1 2 2 2 2 2 2 2
2 cos cos
cos
C C C C C
C C C
m l I m l l l l I m l l m l I
m l l m l I m l I
H (6.78)
Dinamika Industrijska robotika
na osnovu koje moţemo sraĉunati koeficijente definisane sa (6.81)
111 122 2 1 2 2 112 121 2 1 2 2
211 2 1 2 2 222 212 221
0, sin , 2 sin ,
sin , 0, 0
c c
c
h h m l l h h m l l
h m l l h h h
(6.79)
Na ovaj naĉin su odreĊena prva dva ĉlana u izrazu (6.80). Treći ĉlan, momenti usled
gravitacionih sila, se na osnovu (6.82) i korišćenjem (6.83) mogu napisati u formi DOBRO
PREKONTROLISATI ĈITAV PRIMER. ZADATAK JE IZVESTI DINAMIĈKE
JEDNAĈINE KRETANJA KORISTEĆI LAGRANŢEVE JEDNAĈINE DRUGE VRSTE
A NE RAĈUNAMO LAGRANŢIJAN. DRUGO POZIVAMO SE NA JEDNAĈINE KOJE
NE POSTOJE NPR 6.82 I 6.83.
(1) (2)
1 1 1 2 1
(1) (2)
2 1 2 2 2
T
L L
T
L L
G m m
G m m
g J J
g J J (6.80)
Zamenjujući (6.85), (6.86) i (6.87) u (6.80) dobijamo izraze za pogonske momente
2
1 11 1 12 2 122 2 112 121 1 2 1
2
2 22 2 12 1 211 1 2
H q H q h q h h q q G
H q H q h q G
koji su identiĉni sa izrazima (6.37) izvedenim na bazi Njutn-Ojlerovog formalizma za
definisanje jednaĉina kretanja.
LITERATURA
142
7 OSNOVNI PODSISTEMI I KOMPONENTE INDUSTRIJSKIH ROBOTA
7.1 UVOD
U ovom poglavlju će biti obraĊeni samo osnovni podsistemi i komponente koji se mogu
sresti kod većine industrijskih robota. To su:
- mehaniĉka konfiguracija (koju ĉine segmenti sa zglobovima minimalne konfiguracije
i zglob hvataljke)
- pogonski podsistem,
- senzorski podsistem,
- upravljaĉki podsistem i
- alat i/ili hvataljka.
U dosadašnjem delu knjige su već objašnjene mehaniĉke konfiguracije robota tako da će se
u ovom delu samo navesti neke specifiĉnosti pojedinih konfiguracija. Obzirom da su
pogonski sistemi široka oblast i detaljno se izuĉava u drugim predmetima, ovde će biti reĉi
samo o koĉionim sistemima za aktuatore koji su uobiĉajeni pri projektovanju pogona
robota. Najviše paţnje će biti posvećeno sistemima za prenos snage kao i senzorskom i
upravljaĉkom podsistemu.
7.2 MEHANIČKA KONFIGURACIJA
Kod industrijskih robota najĉešća mehaniĉka konfiguracija je oblika jednostrukog
kinematskog lanca (Sl. 7.1 a i b) kod koje se na svakom segmentu, osim na prvom i
poslednjem, nalaze dva zgloba za koje su vezani prethodni i naredni segmenti . MeĊutim,
treba imati u vidu da se već pojavljuju konfiguracije tipa razgranatog kinematskog lanca,
kao što je primer dvoruĉnog robota prikazanog na Sl. 7.1 c, kod kojih se na nekom od
segmenata vrši grananje i na tom segmentu se nalazi više od dva zgloba. U primeru sa Sl.
7.1 c segment na kome se vrši grananje je segment trupa na kojme se nalaze tri zgloba i to:
zglob kojim je trup povezan za osnovu i omogućava rotaciju oko vertikalne ose, i dva
zgloba kojim su "ruke" povezane za segment trupa. Pored povećanog stepena
antropomorfizma (što u sluĉaju radnih mesta prilagoĊenih ĉoveku moţe biti od koristi)
Dinamika Industrijska robotika
a) b) c)
Sl. 7.1 Industrijski roboti tipa jednostrukog (a i b) i razgranatog kinematskog lanca (c)
ovakav robot ima povećanu nosivost jer se opterećenje deli na dva kinematska lanca a
spektar zadataka koje moţe da realizuje se povećava jer se ukljuĉuju zadaci povećanog
stepena sloţenosti ĉija realizacija zahteva dve ruke. Moţe se oĉekivati da zbog povećanog
stepena antropomorfnosti primena ovakvih konfiguracija neće biti ograniĉena samo na
industrijske zadatke.
Osnovna karakteristika industrijskih robota je da je svaki zglob mehaniĉke konfiguracije
osnaţen6 što im omogućava realizaciju veoma sloţenih pokreta. MeĊutim, sa aspekta
dinamike nije opravdano postavljati motore direktno u zglobove jer motori koji su "dalje"
od osnove robota svojom masom i teţinom uvećavaju opterećenje koje treba da savladaju
a) b) c)
Sl. 7.2 Primeri izmeštanja motora iz zgloba koji pokreće: a) pokretanje trećeg zgloba preko prenosne poluge dok
je motor smešten na prvom segmentu što bliţe osi obrtanja, b) i c) izmeštanje motora koji pokreću zglob hvataljke
6 Svi zglobovi nisu osnaţeni jedino kod konfiguracija koje su razvijene za veoma uske klase zadataka gde se mogu
primeniti posebno prilagoĊena rešenja. Primer koji ovo ilustruje su roboti za paletizaciju.
iza ose obrtanja trećeg zgloba. Ovi motori ujedno imaju funkciju protiv tega kojim se delimiĉno uravnoteţava treći
segment, zglob hvataljke, hvataljka i teret koji robot prenosi.
motori koji se nalaze u zglobovima koji su u kinematskom lancu "ispred" njih. Stoga je
poţeljno da se motori izmeste iz zgloba koji su udaljeni od osnove robota, i to što bliţe
vertikalnoj osi obrtanja kako bi moment inercije ukupnog sistema oko vertikalne ose bio što
manji. Na Sl. 7.2. a je prikazan primer mehaniĉke konfiguracije kod koje se treći zglob
(lakat) pokreće motorom preko prenosne poluge, a koji je smešten na prvom segmentu i to
veoma blizu vertikalnoj osi obrtanja. Na Sl. 7.2. b i c su dati primeri kod kojih se jasno vidi
da su motori za pokretanje zgloba hvataljke izmešteni7 "preko" trećeg zgloba i da ujedno
sluţe kao protiv teg kojim se delimiĉno uravnoteţavaju treći segment, zglob hvataljke,
hvataljka i teret koji robot prenosi. Treba primetiti da se na sliĉan naĉin, tako da svojom
teţinom uravnoteţeva konstrukciju, na robota postavlja i ureĊaj za zavarivanje što se moţe
videti na Sl. 7.1 b.
Treba napomenuti da izmeštanje motora iz zglobova minimalne konfiguracije dosada nije
praktikovano samo kod robota SCARA konfiguracije (videti Sl. 2.11) zbog toga što
gravitaciono opterećenje u zglobovima mehaniĉke strukture usled teţine motora nije
potrebno kompenzovati pogonskim momentima motora, već ga uravnoteţava (prima na
sebe) sama mehaniĉka struktura.
Kod robota projektovanih samo za realizaciju uskih klasa zadataka mehaniĉka rešenja se
mogu potpuno prilagoditi specifiĉnim zahtevima i time postići dodatni efekti kao što je npr.
ušteda energije ili znaĉajno pojednostavljenje realizacije zadatka. Tako je, npr. kod robota
za paletiranje neophodno da se obezbedi da je poslednja osa zgloba hvataljke upravna na
horizontalnu ravan pri hvatanju predmeta rada i pri njihovm slaganju u kutije ili na palete.
Pri tome je potrošnja energije najmanja ukoliko se teret prenosi tako da se samo translira.
Sl. 7.3 Primeri robota za paletizaciju
Stoga vertikalnost poslednje ose zgloba hvataljke, kod robota koji su namenjeni za ovu
7 Izmešteni motor i zglob koji dotiĉni motor pokreće se uobiĉajeno povezuju dugaĉkim vratilima, kao što je
prikazano na primerima u odeljku 6.4.
Dinamika Industrijska robotika
klasu zadataka, nije ostvarena posebnim motorom već je obezbeĊena sistemom poluga, što
se jasno moţe videti na Sl. 7.3. Treba primetiti da je osa poslednjeg segmenta zgloba
hvataljke vertikalna tokom ĉitavog pokreta tako da predmet koji robot prenosi ne rotira oko
horizontalnih osa.
7.3 REDUKTORI I KONVERZIJA ROTACIONOG U TRANSLATORNO KRETANJE
U savremenoj industrijskoj robotici se kao aktuatori dominantno koriste elektro motori.
MeĊutim, u velikom broju primena postoji disproporcija izmeĊu uslova koje nameće
konstrukcija i robota i mogućnosti motora. Stoga je potrebno dodati posebne elemente kako
bi se ovi problemi prevazišli. U ovom odeljku ćemo ukazati na dva koji se najĉešće javljaju
i na naĉin rešavanja.
Elektriĉni motori imaju daleko veći broj obrtaja a znatno manji pogonski moment od
potrebnog za pogon industrijskih robota. Zbog toga se izmeĊu motora i segmenta koji
motor pokreće postavljaju posebni ureĊaji, reduktori, kojima se smanjuje broj obrtaja pri
ĉemu se pogonski moment povećava. Drugi problem predstavlja pogon translatornih
(linearnih) zglobova elektriĉnim motorima pri ĉemu je potrebno izvršiti konverziju
rotacionog u translatorno kretanje.
U ovom odelju će biti prikazana rešenja koja se najĉešće koriste u oba sluĉaja.
7.2.4 REDUKTORI
Reduktori su mehaniĉki prenosnici snage koji prenose mehaniĉku energiju od izlaznog vratila pogonske mašine
(elektro motora) do ureĊaja kojem se ova energija predaje (u ovom sluĉaju do zgloba robota) pri ĉemu se broj obrtaja smanjuje, a obrtni moment povećava.
Kod realizacija industrijskih robota se najĉešće sreću zupĉasti reduktori i to planetarni i
talasni. U daljem tekstu biće izloţene osnovne karakteristike ova dva tipa reduktora.
Obzirom da je osnovna karakteristika svakog reduktora (i prenosnika uopšte) prenosni
odnos kratko ćemo se osvrnuti i na problematiku njegovog odreĊivanja.
a) Planetni reduktori
Planetni reduktori (Sl. 7.4 i 7.5) se u robotici koriste veoma ĉesto. Sastoje se od sistema
zupĉanika sa spoljašnjim ozubljenjem (centralni zupĉanik (obeleţen sa 1 na Sl. 7.4) je
spregnut sa nekoliko zupĉanika koji se kreću oko njega i nazivaju se satelitima (2) pri ĉemu
svi sateliti imaju isti broj zubaca), spoljašnjeg prstena sa unutrašnjim ozubljenjem (3) (eng.
anulus) i krivaje ili nosaĉa satelita (4). Centralni zupĉanik se u literaturi na engl. jeziku
naziva suncem , a sateliti planetama.
Sl. 7.4. Planetarni zupĉanici: skica i sklop. (brojevima kao u tekstu obeležiti pojedine elemente)
Sl. 7.5 Izgled rastavljenog i montiranog planetarnog reduktora
Kućište (spoljašnji prsten) je ozubljeno sa unutrašnje strane. Zupci na centralnom
zupĉaniku, satelitima i na unutrašnjoj strani spoljašnjeg prstena su istovetni, ali broj zuba
varira. Broj zuba pojedinih zupĉanika u okviru jednog planetnog reduktora mora da
zadovoljava relaciju 2S P SPn n n gde su , ,S P SPn n n broj zubaca centralnog zupĉanika,
satelita, i spoljašnjeg prstena, respektivno. Svi zupĉanici sateliti su identiĉni.
Uobiĉajeni naĉin primene planetnog reduktora podrazumeva direktno povezivanje
pogonske osovine motora na centralni zupĉanik, koji u tom sluĉaju postaje osnovni
pogonski zupĉanik reduktora. On se direktno spreţe sa satelitima koji se istovremeno
spreţu i sa spoljašnjim prstenom. Prema tome, sateliti vrše dvojako kretanje: rotiraju oko
svoje ose i isovremeno orbitiraju oko centralnog zupĉanika. Zavisno od konstrukcionog
rešenja izlazno kretanje moţe biti: a) rotacija krivaje tj. nosaĉa satelita (4) pri ĉemu je
spoljašnji prsten napokretan, ili b) obrtanje spoljašnjeg prstena (3) pri ĉemu je krivaja
napokretna. U svakom od ovih sluĉajeva prenosni odnos reduktora je drugaĉiji.
Dinamika Industrijska robotika
Pretpostavimo da je nosaĉ satelita nepokretan, dok je centralni zupĉanik pogonski. Tada
zupĉanici sateliti rotiraju oko svojih osa u skladu sa odnosom brojeva zubaca centralnog
zupĉanika i satelita. Kada se centralni zupĉanik okrene jednom, sateliti se okrenu nP/nS
puta. Kada se sateliti okrenu jednom, spoljašnji prsten se okrene nP/nSP puta. Ako je nosaĉ
satelita nepokretan, onda jedan obrtaj centralnog zupĉanika proizvede nS/nSP obrtaja
spoljašnjeg prstena.
Ako je spoljašnji prsten nepokretan, npr. uĉvršćen za kućište motora, nosaĉ satelita je
izlazni elemenat, odnosno on se spreţe sa izlaznom osovinom. Prema tome, za jedan obrtaj
centralnog zupĉanika, izlazno vratilo (nosaĉ satelita) će se obrnuti ) /SP s sn n n puta.
Uobiĉajeno je da se više ovakvih sklopova postavi u nizu (izlaz iz jednog stepena
predstavlja ulaz u naredni), povećavajući tako ukupni prenosni odnos reduktora koji je
jednak proizvodu prenosnih odnosa pojedinaĉnih stepeni.
Planetni reduktori se koriste veoma ĉesto, zbog malih dimenzija u odnosu na snagu koju
mogu da prenesu, velikih prenosnih odnosa (i do 10000), velikih ulaznih brzina, kao i
relativno niske cene u odnosu na neke druge tipove reduktora.
b) Talasni reduktori (engl. harmonic drive)
Talasni reduktor Sl. 7.6 ĉine tri osnovna dela: eliptiĉni generator talasa, elastiĉni zupĉanik i
kruti kruţni prsten sa unutrašnjim ozubljenjem. Zupci na elastiĉnom zupĉaniku i
ozubljenom kruţnom prstenu se spreţu, pri ĉemu kruţni prsten ima svega nekoliko zubaca
više od elastiĉnog zupĉanika. Za ulazno vratilo je spojen generator talasa dok je elastiĉni
zupĉanik povezan sa izlaznim vratilom.
Princip rada harmonijskog reduktora je skiciran na Sl. 7.7. Rotacijom generatora talasa
elastiĉni zupĉanik se deformiše i zupce koji se trenutno nalaze na velikoj poluosi generatora
talasa utiskuje u ozubljeni kruţni prsten. Obrtanjem za pun krug generatora talasa svi zupci
elastiĉnog zupĉanika bivaju utisnuti u nepomiĉni ozubljeni kruţni prsten, ali pri tom elastiĉ-
ni zupĉanik nije dostigao prethodni poloţaj u odnosu na kruţni prsten jer elastiĉni zupĉanik
ima nekoliko zubaca manje (1 ili 2 zupca) od kruţnog prstena. Preme tome, pri punom
okretu ulaznog vratila izlazno vratilo se obrne unazad za veliĉinu ugla koja je odgovarala
razlici broja zubaca.
Karakteristike talasnog prenosnika su takve da se u samo jednom stepenu mogu ostvariti
prenosni odnosi od 30:1 pa do 320:1. Pri malom izlaznom momentu praktiĉno ne postoji
zazor. Ovakvi reduktori su naroĉito pogodni ukoliko je raspoloţivi prostor ograniĉen.
Talasni reduktori uobiĉajeno iznose trećinu veliĉine i polovinu teţine konvencionalnih
reduktora, za isti stepen redukcije i snagu.
Sl. 7.6. Sklop harmonijskog reduktora: ulazna osovina povezuje se na generator talasa a izlazna osovina se
povezuje na fleksibilni zupĉanik.
Sl. 7.7. Princip rada talasnog reduktora
Posebno je vaţno da se napomene da ovi reduktori mogu da prenesu relativno velike snage
ukoliko se projektuju tako da veliki broj zubaca bude u kontaktu, ĉesto i 30% od broja
zubaca na generatoru talasa. Klizanje izmeĊu zubaca je minimalno što se odraţava visokim
stepenom iskorišćenja mehaniĉke energije dovedene reduktoru. Konaĉno, harmonijski
reduktori su vrlo tihi i imaju nizak stepen vibracija.
Obzirom da je centralni deo talasnog reduktora elastiĉan pri velikim opterećenjima
elastiĉnost dolazi do izraţaja, direktno sniţavajući prirodnu frekvenciju oscilovanja celog
pogona. Pri malim izlaznim momentima, kao i pri malim brzinama i ustaljenom kretanju,
elastiĉnost ne stvara probleme.
c) Izbor prenosnog odnosa reduktora
Pored izbora tipa reduktora prvo pitanje koje se nameće pri projektovanju pogona robota se
odnosi na izbor stepena prenosa, tj. stepen redukcije reduktora.
Najjednostavniji postupak izbora reduktora je direktno usklaĊivanje brzine motora i
gonjenog elementa, uz pretpostavku da je već odluĉeno koji će se motor koristiti. Za već
odabrani motor prema potrebnoj snazi i okvirnoj proceni maksimalne brzine, poznavajući
maksimalnu brzinu motora kao i maksimalnu potrebnu brzinu kretanja zgloba robota,
najjednostavnije rešenje je da se odabere onaj prenosni odnos redutkora koji maksimalnu
brzinu motora svodi na maksimalnu zahtevanu brzinu kretanja zgloba robota, koristeći tako
do maksimuma mogućnosti motora. Time se u velikoj meri (sa kvadratom prenosnog
odnosa reduktora) smanjuje uticaj inercije opterećenja koja se preslikava na osovinu
motora. U idealnom sluĉaju, te dve inercije, inercija rotora motora i redukovana inercija
opterećenja treba da budu jednake. U praksi se toleriše i do ĉetiri puta veća redukovana
Dinamika Industrijska robotika
inercija opterećenja.
Drugi, nešto sloţeniji, naĉin je da se odabere familija motora iz kataloga prema snazi, a da
se konkretan motor odabere prema maksimalnim brzinama sa najbolje moguće usklaĊenim
momentom inercije. Trebalo bi reći zašto je najbolje da su inercija rotora motora i
redukovana inercija opterećenja jednake.
Momenat koji motor mora da ostvari je
2
L
M M M
JJ
N
gde su: , , , ,M M L MJ J N pogonski momenat motora, inercija rotora motora, inercija
opterećenja, prenosni odnos reduktora, i ubrzanje rotora motora, respektivno. Potrebno
ubrzanje motora je M L N , gde je
L ubrzanje opterećenja. Odavde se moţe
sraĉunati L
2
M
L
M L
T N
J N J
.
Parcijalni izvod ovog izraza po prenosnom odnosu daje
2
2 2
( )
( )
L M L M
M L
T J J N
N J N J
Ukoliko gornji izraz izjednaĉimo sa nulom dobija se maksimum ubrzanja u funkciji
prenosnog odnosa reduktora
20 L MJ J N
odakle sledi traţeni prenosni odnos
L
M
JN
J
MeĊutim, u nekim primenama isuviše veliki potreban prenosni odnos reduktora dovodi do
nekoliko problema. Prvo, reduktor ima ograniĉenje po maksimalnoj ulaznoj brzini. Ĉesto se
dogaĊa da je maksimalno dozvoljena ulazna brzina reduktora i dvostruko manja od
maksimalne brzine motora. To pogotovo vaţi za puţne reduktore koji, da bi se postiglo
uparivanje inercije, zahtevaju dodatni reduktor. To je obiĉno planetni reduktor jer
dozvoljava veće brzine, ali sa veoma malim stepenom redukcije (npr. 2:1) koji se postavlja
samo sa ciljem prilagoĊavanja ulazne brzine obrtanja puţnom reduktoru. Drugi problem se
ogleda u tome što se sa povećavanjem prenosnog odnosa reduktora povećava i njegova
inercija koja ponekad moţe dostići i trećinu inercije motora. To već predstavlja ozbiljan
problem. Nije zanemarljiva ni ĉinjenica da se povećavanjem prenosnog odnosa, npr. kod
planetih reduktora, sa svakim dodatnim setom planeta, povećavaju zazor i elastiĉnost koji
predstavljaju nelinearne efekte koji su veoma nepovoljni, naroĉito u zadacima gde se
zahteva velika taĉnost pozicioniranja. Time se, opet, vraćamo na poĉetak uz zakljuĉak da je
nekada bolje ostaviti izvesnu neusklaĊenost inercija koju će korigovati pravilno podešen
upravljaĉki sistem. Ta neusklaĊenost će se manifestovati pri vrlo brzim pokretima, što se,
opet, moţe izbeći pravilnim planiranjem kretanja. Generalno govoreći, redukovana inercija
opterećenja ne treba biti veća od ĉetvorostruke vrednosti inercije rotora motora.
Prema tome, pravilan izbor reduktora predstavlja sloţen zadatak. Mnogi prizvoĊaĉi imaju
razvijene softverske alate za pravilan izbor motora i reduktora iz njihovog proizvodnog
programa. Prenosni odnosi koji se najĉešće sreću u robotici su oko 100:1
7.2.7 KONVERZIJA ROTACIONOG U TRANSLATORNO KRETANJE
Pored ravnog cilindriĉnog zupĉastog para (zupĉanik i zupĉasta letva, eng. pinion and rack)
mehanizma sa zupĉanikom (pinion), koji je pogodan za prenos relativno malih snaga, za
pretvaranje rotacionog u translatorno kretanje se najĉešće koristi navojno vreteno sa
navrtkom. Navrtka uobiĉajeno ima pogodan oblik i danas se skoro iskljuĉivo koriste
recirkulacione navrtke sa kuglicama (Sl. 7.8 i Sl. 7.9) zbog smanjenog trenja i duţeg veka
trajanja. Obrtanjem navojnog vretena za jedan obrt navrtka
Sl. 7.8. Recirkulaciona navrtka Sl. 7.9. Kompletan sklop navojnog vretena i navrtke sa
voĊicama, adapterom i motorom.
se pomera aksijalno za jedan korak navoja. Pri tome je neophodno da se obezbedi da se
navrtka ne obrće. Komercijalno je moguće nabaviti ceo sklop koji je prikazan je na Sl. 7.9. i
koji moţe biti korišćen za više namena, npr. za linearno pomeranje radnih predmeta. Pored
navojnog vretena i navrtke, sistem ĉine i dve ili više voĊica koje primaju opterećenje
(ukoliko je opterećenje veće to je neophodno). Motor se postavlja tako da se kućištem
povezuje na nosaĉe voĊica, a rotor se spojnicom povezuje sa vretenom. Navojno vreteno,
svojim korakom odreĊuje prenosni odnos rotacionog u linearno kretanje. Što je korak
navojnog vretena manji redukcija je veća i samokoĉivost navoja više dolazi do izraţaja.
Jedna od prvih primena ovakvog sistema transmisije bila je kod prvih generacija robota
proizvoĊaĉa ASEA (Sl. 7.14). Naime, motori za pokretanje drugog i trećeg zgloba su bili
povezani sa drugim odnosno trećim segmentom robota preko odvojenih navojnih vretena.
Upravo je ovde samokoĉivost iskorišćena da se oĉuva poloţaj robota i kada nema
napajanja. O ovome će kasnije biti reĉi detaljnije. Potom, kod svih robota tipa SCARA
treći, translatorni, zglob minimalne konfiguracije se pokreće upravo preko navojnih vretena
sa recirkulacijom kuglica. Konaĉno, neka starija rešenja hvataljki imaju paralelogramsku
strukturu pri ĉemu se rotaciono kretanje motora pretvara u translatorno kretanje prstiju
hvataljke upravo na ovaj naĉin. Kod novijih konstrukcija robota ovaj naĉin konverzije
kretanja se manje koristi.
7.3 KOČNICE
Elektromagnetne koĉnice (Sl. 7.10) standardni su deo opreme industrijskih robota. Njihova
Dinamika Industrijska robotika
osnovna namena je da zaustave kretanje zgloba konvertovanjem kinetiĉke energije u
termiĉku, putem koĉionih ploĉica ili diskova. Koĉione površine saĉinjene su od materijala
sa velikim koeficijentom trenja, velike ĉvrstine i dobrih termiĉkih svojstava. Uglavnom se
razlikuju dva rešenja: koĉenja se obavlja kada je dovedena elektriĉna energija, ili se
koĉenja obavlja kada nema elektriĉne energije. Vreme aktivacije koĉnice je konaĉno i mora
se uzeti u obzir kada se planira bezbednosna procedura.
Koĉnice koje se koriste kod robota su drţećeg (eng. hold-on) tipa i koriste se samo u dva
sluĉaja: da obezbede odrţanje poloţaja robota kada doĊe do namernog ili sluĉajnog prekida
napajanja, i da obezbede trenutni prekid rada kada se za to steknu uslovi kao što je npr.
izlazak izvan granica radnog opsega, ili kada se nekim od spoljašnjih bezbednosnih
prekidaĉa naloţi hitan prestanak rada.
Najĉešće se koriste elektromagnetne koĉnice sa stalnim magnetima. Imaju dva koĉiona
diska, od kojih se jedan vezuje za kućište koĉnice a drugi za osovinu koju treba ukoĉiti.
Pokretan disk nalazi se na pokretnom delu koji je obuhvaćen elektromagnetom, sa jedne
strane, a sa druge je potisnut oprugom. Na nepokretnom disku nalaze se stalni magneti.
Sl. 7.10. Presek elektromagnetne koĉnice, i prikaz motora sa koĉnicom i reduktorom. Napajanje motora i koĉnice
se vrši kroz jedinstveni konektor.
Kada nema napajanja, diskovi su pritisnuti oprugom i obezbeĊeni magnetima tako da su
praktiĉno nepokretni. Pod napajanjem, elektromagnet privlaĉi kotvu savladavajući sile
opruge i magneta. Time se dozvoljava relativno kretanje jednog diska u odnosu na drugi.
Da li je slika 7.10 odgovara ovom opisu? Koĉnica se postavlja na motor, na strani koja je
suprotno od reduktora, i kruto se vezuje za njegovo vratilo. Time će, kada doĊe do prekida
napajanja, motor biti u zakoĉenom stanju. Moment drţanja koĉnice zavisi od sile opruge i
od koeficijenta trenja diskova. Uobiĉajeno je da je momenat drţanja nešto veći (oko 20%)
od maksimalnog momenta koji motor moţe da razvije. Problem sa ovakvim koĉnicama je u
tome što se, ukoliko se ĉesto koriste, mogu brzo potrošiti. Osim toga, momenat drţanja
opada sa povećanjem temperature usled zagrevanja motora, pa se mora obezbediti dobro
(prirodno ili prinudno) hlaĊenje. Cena koĉnica moţe dostići i 50% cene motora.
Kod manjih motora, moguće je koĉenje kratkospajanjem rotora direktno preko relea, ili
preko elektronskih kola. Jedno takvo kolo dato je na slici. (Bespotrebno je data ova slika.
Staviću sliku punog H-mosta i ukratko objasniti kako se sa njim koĉi).
Sl. 7.11 Kolo za koĉenje motora.
7.4 PRIMERI PRIMENE SISTEMA TRANSMISIJE U INDUSTRIJSKOJ ROBOTICI
Motori kao i njihovi reduktori su veoma ĉesto relativno velikih masa i zapremina da bi
znaĉajno opterećivali pogonski sistem robota i umanjivali njegove performanse ukoliko bi
bili montirani direktno u zglobovima koje osnaţuju. Zbog toga se izmeštaju izvan
zglobova, po pravilu što bliţe osnovi i vertikalnoj osi obrtanja prvog zgloba. U pojedinim
sluĉajevima motori se mogu tako izmestiti da doprinose statiĉkom uravnoteţenju pojedinih
segmenata.
Prva dva veoma poznata i ĉesto korišćena robota, PUMA560 i ASEA IRB-6, su uticali na
konstruktore narednih generacija. Osim toga, PUMA 560 je u prvim decenijama razvoja
robotike bio veoma ĉesto standardni laboratorijski i istraţivaĉki robot pa je i najveći broj
ranih nauĉnih radova imao upravo taj robot kao eksperimentalnu osnovu. Stoga će, najpre,
biti opisan sistem transmisije robota PUMA 560 (Sl. 7.12).
Prenos snage od izlaznog vratila reduktora do zgloba ćemo zvati sekundarnom
transmisijom dok ćemo prenos snage kroz reduktor zvati primarnom transmisijom.
Motor kojim je osnaţen prvi zglob robota PUMA 560, nalazi se na prvom segmentu i preko
dva para zupĉanika obezbeĊuje potreban prenosni odnos.
Motori 2 i 3 nalaze se u nadlaktici (segment 2) i postavljeni su iza vertikalne ose robota,
delimiĉno statiĉki uravnoteţavajući drugi segment. Postavljeni su meĊusobno paralelno, pri
ĉemu je dejstvo drugog motora ostvareno putem para koniĉnih zupĉanika i praktiĉno
neposredno dovedeno na drugi zglob. Treći motor je dugim vratilom koje se proteţe duţ
segmenta spojen sa trećim zglobom. I u ovom sluĉaju se kretanje sa motora na zglob
prenosi parom koniĉnih zupĉanika.
Motori kojima su osnaţeni ĉetvrti i peti stepen slobode (zglob hvataljke) su na naĉin sliĉan
prethodnom sluĉaju postavljeni meĊusobno paralelno u zadnjem delu podlaktice robota
(segment 3). Ĉetvrti motor osnaţuje prvi stepen slobode zgloba hvataljke (rotacija oko
Dinamika Industrijska robotika
Sl. 7.12. Primer sistema sekundarne transmisije kod robota PUMA 760. Pogrešna oznaka motora 2 Da li treba dodati brojeve segmenata?
uzduţne ose segmenta), dok peti motor osnaţuje drugi stepen slobode zgloba hvataljke
(rotacija oko ose normalne na uzduţnu osu segmenta). Na sliĉan naĉin se vrši i aktuacija
šestog stepena slobode, što je jasno prikazano na Sl. 7.12.
Kod robota ASEA IRB-6, Sl. 7.13, realizacija pogona je znaĉajno drugaĉija, ĉime je
postignuta veća nosivost, u odnosu na ukupnu masu robota. Sva ĉetiri motora, od drugog do
petog, nalaze se praktiĉno na osnovi, izvan tela robota. Motor prvog stepena slobode se
nalazi u unutrašnjosti prvog segmenta. Time se postiţe veliko rasterećenje cele konstrukcije
(motori se ne nalaze na segmentima koji vrše sloţena kretanja u radnom prostoru, pa pri
realizaciji pokreta robot ne nosi kroz radni prostor i motore) pa je korisna nosivost mogla
da bude veća. Osim toga, sama konstrukcija je bila takva da su proizvodnja, montaţa i
odrţavanje samog robota bili relativno jednostavni.
Naime, drugi i treći motor su svojim kućištima bili oslonjeni na prvi segment robota pri
ĉemu se transmisija sa rotora na konstrukciju vršila navojnim vretenima. Navojno vreteno
drugog motora pomera drugi segment, a navojno vreteno trećeg motora, preko poluge,
pomera treći segment.
Koncept transmisije kretanja (uvoĊenje poluge) sa trećeg motora koji se nalazi na prvom
segmentu kao nosaĉu predstavljalo je posebno vaţan pomak u konstrukciji robota i do
danas je ostao neznatno modifikovan. Praktiĉno svi roboti antropomorfnog tipa osim
najmanjih, koriste polugu za prenos snage, postavljenu paralelno sa drugim segmentom.
Time se ostvaruje paralelogramska struktura ĉime je kretanje u trećem zglobu jednako zbiru
kretanja drugog i trećeg motora.
UvoĊenje poluge je modeliranje kinematike i dinamike (jednostruki kinematski lanac
dobija dodatne zatvorene petlje) uĉinilo sloţenijim, pojavili su se dodatni izvori netaĉnosti
zbog pojave zazora i povećanja elastiĉnosti u trećem zglobu, a dodatno je oteţano i merenje
pozicije trećeg zgloba pošto je enkoder udaljen od zgloba. MeĊutim, poboljšanja koja su
ovim konstrukcionim rešenjem dobijena su bila toliko znaĉajna da je takvo rešenje ostalo i
do danas u upotrebi.
Ĉetvrti i peti motor su priĉvršćeni na prvi segment a njihova kretanja se preko dva
paralelogramska mehanizma prenose do ĉetvrtog i petog zgloba kroz unutrašnjost
Sl. 7.147.3. Raspored motora kod robota ASEA IRB6.
Sl. 7.13. Paralelogramska struktura za transmisiju snage do 4. i 5. zgloba.
segmenata, Sl. 7.13. Šesti stepan slobode se mogao dokupiti kao poseban modul i na ovoj
slici nije prikazan.
Zajedniĉka karakteristika većine konstrukcija antropomorfnih robota od prvih generacija pa
sve do savremenih rešenja je da su se motori drugog i trećeg zgloba uvek postavljali tako da
su svojim kućištima bili oslonjeni o prvi segment. Pri tome su korišćena razliĉita rešenja
prenosa snage sa drugog motora na drugi zglob a, posebno su interesantna rešenja prenosa
Dinamika Industrijska robotika
snage sa trećeg motora na treći zglob. Motori za osnaţivanje ĉetvrtog i petog (a ponekad i
šestog) zgloba nalazili su se u segmentu podlaktice robota, dok se motor za osnaţivanje
šestog stepena slobode mogao naći i na vrhu robota, u zglobu šake.
Razmotrimo osnovne elemente savremene konstrukcije jednog industrijskog robota. Na Sl.
7.15 prikazan je presek sklopa prva ĉetiri zgloba robota ABB IRB6400. Motor prvog
Sl. 7.15. Izgled zglobova delova i raspored motora i reduktora savremenog
industrijskog robota ABB IRB6400
zgloba sa reduktorom ugraĊen je u osnovu. Reduktor je sa prolaznom osovinom kroz koju
se mogu postaviti potrebni kablovi za napajanje motora, kao i za senzore ostalih zglobova.
Motor za pogon drugog zgloba je postavljen tako da je reduktor direktno povezanim na
vratilo zgloba. Motor za pogon ose trećeg zgloba je postavljen simetriĉno motoru drugog
zgloba i paralelogramskim mehanizmom pogoni treći zglob. Motor i reduktor ĉetvrtog
zgloba su postavljeni paralelno sa segmentom podlaktice ĉime je omogućeno povećanje
opsega kretanja trećeg zgloba što direktno utiĉe na veliĉinu i oblik radnog prostora.
7.6 SENZORI U INDUSTRIJSKOJ ROBOTICI
Primena senzora kod industrijskih robota je još uvek veoma oskudna. Obzirom da je
osnovna namena robota pozicioniranje i orijentacija alata ili hvataljke u prostoru i vremenu
neophodno je što je moguće taĉnije ostvariti zahtevanu poziciju i pratiti zadatu brzinu u
svakom od zglobova.
Pored toga što senzori treba da daju informaciju o pozicijama sopstvenih zglobova senzori
su neophodni da bi robot imao informaciju i o svojoj okolini, i svom dejstvu na nju. Tu se
pre svega misli na sile koje nastaju pri kontaktu robota sa okolinom jer u sluĉaju pojave
isuviše velikih sila moţe doći do loma bilo radnog predmeta ili nekog elementa radnog
mesta.
Pri izboru senzora valja imati u vidu i ostale karakteristike kao što su: rezolucija, taĉnost,
linearnost, tip merenja (apsolutno ili relativno), osetljivost na šum, radni temperaturni
opseg, otpornost na vibracije i mehaniĉke udare, broj provodnika potrebnih za povezivanje,
cena, …
Merenje pozicije u zglobovima robota se svodi na merenje ugla rotacije osovine zgloba.
Danas postoje tri rešenja koja se za ovu svrhu koriste:
- inkrementalni optiĉki enkoder,
- sinus-kosinus optiĉki enkoder i
- rizolver.
Zajedniĉko za sva tri senzora pozicije je to što su inkrementalni. Pod tim se podrazumeva
da tekuća pozicija ne moţe biti povezana sa nekom apsolutnom, recimo polaznom,
vrednošću, bez upotrebe dodatne elektronike. Sa stanovišta primene, sinus-kosinus enkoder
i rizolver su identiĉni. Sa druge strane, sinus-kosinus i inkrementalni enkoderi su senzori na
bazi optoelektonskih komponenata dok je rizolver elektromagnetna komponenta.
Što se tiĉe senzora za detekciju sile interakcije robota sa okolinom jedino komercijalno
dostupno rešenje je šestokomponentni senzor sile i momenta koji se smešta u izmeĊu
zgloba hvataljke i hvataljke. Sila koja deluje na radni predmet uzrokuje elastiĉne
deformacije senzora koje se mere na osnovu ĉega se rekonstruiše pravac i intenzitet sile i/ili
momenta koji deluju. MeĊutim, ova vrsta senzora nije naišla na široku industrijsku primenu
jer ukoliko doĊe do dejstva sile koja prevazilazi dopuštene granice moţe doći do
deformacije senzora i nemogućnosti njegovog daljeg korišćenja.
Pri izlaganju ove problematike ćemo se zadrţati samo na rešenjima koja su dominantna u
primeni.
7.6.1 OPTIČKI ENKODERI
Inkrementalni optiĉki enkoder, ili jednostavnije, inkrementalni enkoder (Sl. 7.14) se sastoji
od: izvora svetlosti, obrtnog diska sa prorezima ili maskom i skupa optiĉkih detektora.
Sl. 7.4. Princip rada optiĉkog inkrementalnog enkodera. Skica sklopa enkodera sa sastavnim delovima.
Dinamika Industrijska robotika
Sl. 7.5. Inkrementalni, absolutni i kvaziapsolutni diskovi optiĉkih enkodera.
Optiĉki disk se spreţe tako da rotira zajedno sa vratilom motora. Ostali delovi enkodera su
nepokretni.
Rezolucija senzora odreĊena je brojem proreza na obrtnom disku. Tipiĉni predstavnici
diskova prikazani su na Sl. 7.15. Disk moţe biti naĉinjen od tanke metalne folije, ili od
stakla. Ukoliko je disk naĉinjen od metalne folije, preciznom obradom, najĉešće laserskim
snopom, se urezuju otvori kroz koje prolazi svetlosni snop. Raspred proreza naziva se
kôdom diska. U sluĉaju staklenog diska uobiĉajeno je da se naparavanjem nanese tanak
metalni sloj na mestima koja ne treba da propuštaju svetlost. Enkoderi sa staklenim diskom
se mogu graduisati do rezolucije, skoro za red veliĉine veće od one kod metalnih diskova.
Skuplji su od metalnih i imaju veći moment inercije što moţe biti znaĉajno kod pogona
malih motora. Uobiĉajene vrednosti rezolucije u robotici kreću se oko 1000 inkrementa po
jednom obrtaju diska. Proces konverzije signala u digitalnu informaciju identiĉan je bez
obzira na tip diska.
Signali koji se dobijaju na optiĉkom detektoru veoma su slabi i nephodna je dalja obrada da
bi se dobila upotrebljiva informacija. Prva forma upotrebljive informacije sastoji se iz
sinusnog signala koji ima periodu jednaku prostoru izmeĊu prednjih ivica dva susedna
proreza. Obiĉno je takav signal male amplitude 0-0.5V. Kod inkrementalnog senzora se
dobija samo informacija o intenzitetu obrtanja diska (broj inkremenata) pa se na poĉetku
rada ne zna taĉan poloţaj diska. U tu svrhu koristi se dodatno procesiranje koje zahteva
spregu i sa dopunskim senzorima, obiĉno prekidaĉima, dodatnu elektroniku u samom
inkrementalnom enkoderu, kao i dodatnu digitalnu elektorniku koja će brojati periode,
samim tim i zareze tokom obrtanja diska. Osim toga, problem sa inkrementalnim
enkoderom je i to što jedan signal nije dovoljan za jednoznaĉno odreĊivanje kretanja:
apsolutne pozicije i smera. Tek uvoĊenje još jednog optiĉkog detektora koji će primati
svetlosni snop fazno pomeren za odreĊenu vrednost relativno u odnosu na primarni
svetlosni snop, omogućuje da se odredi i smer okretanja diska. Ta dva optiĉka snopa fazno
se pomeraju na dva naĉina. Po prvom, kako je prikazano na slici 7.50, difrakciona rešetka
koja formira dva svetlosna snopa ima dva skupa difrakcionih zareza, fazno pomerena tako
da jedan poĉinje da propušta svetlost kada je drugi snop na maksimumu intenziteta. Fazni
pomeraj je 90 stepeni. Po drugom naĉinu, postoje dva svetlosna izvora, sa dva prijemnika,
fiziĉki odvojena i, što je posebno vaţno, dva koncentriĉna prestena sa prorezima, kod kojih
je prorez jednog prstena postavljen tako da, posmatrano prema centru diska, zauzima
pravac izmeĊu dva susedna proreza drugug prestena. Konaĉno, da bi ovakav senzor postao
potpuno funkcionalan u zadacima pozicioniranja, nephodno je da se uvede još jedan prorez,
indeksni, unutar prstena. Taj signal obeĉeţava se ili sa I (indeksni) ili sa R (referentni).
Tipiĉni primeri signala sa enkodera, posle obrade, prikazani su na slici 7.50.
Sl. 7.6. Sinus-kosinus signali i indeksni signal optiĉkog inkrementalnog enkodera
Periodiĉni signali sa Sl. 7.16 imaju periodu ponavljanja jednaku broju zareza na disku
(Kako je perioda ponavljanja jednaka broju zareza?). Ovakvi signali sreću se na izlazima
inkrementalnih enkodera koji se nazivaju sinus-kosinus inkrementalni optiĉki enkoderi. Po
mnogim karakteristikama, ovi enkoderi predstavljaju optimalno rešenje, u smislu
pouzdanosti, kvaliteta i cene, u aplikacijama u robotici i preciznim numeriĉkim mašinama.
Dalji proces obrade sinus-kosinus signala moţe teći u dva pravca. Po prvom, posebnim
elektronskim kolom moţe se umnogostruĉiti rezolucija (Ja za ovo ne znam?) i to je ĉest
sluĉaj u zadacima u kojima je kretanje koje se meri sporo, recimo jedan obrtaj u minuti.
Tada je neophodno da imamo što veći broj impulsa po jednom obrtu. U drugom sluĉaju,
kada je kretanje relativno brzo, primenjuje se jednostavno dodatno procesiranje sinus-
kosinus signala ĉime se dobijaju povorke ĉetvrtki sa signalima TTL nivoa, i informacija o
smeru kretanja. U industrijskoj robotici upravo ovaj drugi proces obrade u potpunosti
zadovoljava zahteve koji se odnose na veliki opseg brzina kretanja i naglih promena smera
kretanja. Signali koji se tako dobijaju nazivaju se kvadraturnim signalima, A i B, i imaju
istu frekvenciju kao i sinus-kosinus signali A i B. Tipiĉan izgled kvadraturnih signala je
prikazan na Sl. 7.17 (Na slici 7.17 mislim da je višak oznaka od 3600 i moţe da zbuni).
Dinamika Industrijska robotika
Sl. 7.7. Kvadraturni signali i indeksni signal optiĉkog inkrementalnog enkodera
Problem koji je ĉesto prisutan je slabljenje optiĉkog signala pri povećanju brzine obrtanja
diska. Za -3dB preseĉnu frekvenciju signal slabi za 30% svoj maksimalne vrednosti (Ja ovu
reĉenicu apsolutno ne razumem). Jedan tipiĉan dijagram prikazan je na slici 7.52 Sl. 7.18.
Sl. 7.8. Slabljenje amplitude signala sa porastom brzine obrtanja diska.
Daljim procesiranjem, signali A i B se koriste da se dobije uĉetvorostruĉena vrednost
frekvencije, što je ekvivalentno uĉetvorostruĉenom broju zareza na disku, kao i u cilju
dobijanja informacije o smeru obrtanja diska. Ovaj proces naziva se kvadraturnim
dekodiranjem.
Sl. 7.9. Kvadradurno dekodiranje sa dva D flip-flopa CD4013 i dva NAND kola u jednom ĉipu CD4011.
Izlaz kvadraturnog dekodera su dva signala za brojanje na gore, disk se okreće udesno, i
brojanje na dole, disk se okreće ulevo. Integrisana kola sa ovom logikom mogu se naći kod
velikog broja proizvoĊaĉa.
Inkrementalni enkoderi sreću se u velikom broju primera sistema za pozicioniranje, od
štampaĉa pa do robota. Pouzdani su, laki za ugradnju ili obiĉno stignu već ugraĊeni na
motor, niske cene (5-20% cene motora u robotici) i mogu da se koriste kako pri malim tako
i pri velikim brzinama. Posebna prednost im je to što ne zahtevaju sloţenu veznu
elektroniku. Nedostaci inkrementalnih enkodera su neznatni, a najveći je to što zahtevaju
proces inicijalizacije na poĉetku rada.
Podsetimo, kretanja u robotici mogu biti veoma velike brzine, takozvana globalna kretanja
tokom prilaska udaljenom objektu, ali i lokalna i veoma spora, prilikom zaustavljanja ili
prilikom procesnih operacija kao što je elektroluĉno zavarivanje, montaţa ili inspekcija
površine. U sluĉaju inkrementalnog enkodera sa velikim brojem zareza (npr. 10 000 zareza)
brza kretanja će rezultovati visokim frekvencijama. Pri brzini obrtanja od 3000 obr/min
frekvencija će biti 2 MHz, što prevazilazi mogućnosti standardne industrijske elektronike
za brojanje impulsa. Sa druge strane spora kretanja, nekada i do ĉetiri reda veliĉine manja
od brzih, mogu da proizvedu samo desetak impulsa u sekundi. Takva informacije, ĉesto je
nedovoljna za merenje pozicije, i ne moţe biti dovoljna za estimaciju brzine kretanja. Stoga
se mora pronaći optimalna vrednost broja zareza po inkrementalnom enkoderu, imajući u
vidu stepen redukcije na reduktorima motora, maksimalnu brzinu kretanja, kao i sposobnost
vezne elektronike da primi impulse na brojanje. Danas je uobiĉajeno da se u industrijskim
robotima sa reduktorima koriste enkoderi od 1000 impulsa po obrtaju, što posle
kvadraturnog dekodiranja daje 4000 impulsa po obrtaju. Imajući u vidu da su reduktori kod
savremenih robota prenosnog odnosa reda oko 100:1, to je rezolucija u zglobu robota oko
400,000 impulsa po obrtaju osovine zgloba robota.
Jedan od naĉina da se, ukoliko je to potrebno, i sa relativno malom rezolucijom enkodera
postigne velika rezolucija je korišćenje tehnike interpolacije. Postoji nekoliko metoda
interpolacije – od jednostavnih i besplatnih do skupih i patentom štićenih. Po pravilu,
tehnike interpolacije koriste sinus-kosinus signale primenjući na njih sloţene algoritme
faznog pomeranja, stvarajući tako ĉitave familije A i B periodiĉnih signala. Posmatrajući ih
u parovima, ti signali mogu dalje biti procesirani na naĉin opisan u postupku kvadraturnog
dekodiranja. Savremena rešenja koriste brze DSP procesore i u njima ugraĊene
Dinamika Industrijska robotika
trigonometrijsku funkciju ATAN2 koja, za A i B signal daje ugao vektora faze. Ova rešenja
su danas i najjednostavnija i najefektnija ĉime je drastiĉno smanjena cena enkodera visoke
rezolucije. Za robotiku je posebno vaţno i to da što je rešenje na bazi DSP procesora
programabilno, odnosno, da se stepen interpolacije moţe menjati od sluĉaja do sluĉaja tako
da se maksimalna interpolacija koristi za sluĉaj sporih lokalnih kretanja, a da se minimalna
interpolacija koristi za velika kretanja tokom premeštanja vrha robota iz jednog u drugi deo
radnog prostora.
Sl. 7.10. Merenje pozicije sinusoidalnog enkodera sa visokom rezolucijom primenom DSP procesora.
Sl. 7.11. Primer transformacije sinus-kosinus signala optiĉkog enkodera u poziciju, primenom DSP. Sliĉno rešenje moţe se realizovati i kod rizolvera.
Problem neidealnosti sinus-kosinus signala u enkoderu moţe se prikazati i Lisaţuovim
figurama (Za ove stvari ja profesore ne znam ali bi mi bilo zanimljivo da ih proĉitam iz
opširnijeg izvora). Ukoliko se faza dva signala prikaţe na slici za razliĉite delove periode,
dobijaju se elipse koje, odstupanjem od idealnog kruga za sinus-kosinus signal pokazuju
kolika je greška u prednjoj ivici B signala u odnosu na A signal, Sl. 7.22.
Sl. 7.12. Nepreciznosti interpolacije pri razliĉitim brzinama rada
U aplikacijama u kojima je neophodno da se svaki put po aktiviranju sistema zna taĉan
poloţaj osovinâ robota, neophodno je da se inkrementalni enkoder ili zameni drugim
ureĊajem ili da se uvede dodatno procesiranje koje će, koristeći pouzdane brojaĉe i
memoriju, pamtiti trenutno stanje robota i posle gašenja.
Princip rada apsolutnih enkodera sliĉan je principu rada inkrementalnih enkodera ali je sam
enkoder znaĉajno sloţeniji (Sl. 7.23). Pre svega, razlika je u broju foto detektora, koji sada,
sa brojem staza na disku, odreĊuju rezoluciju enkodera. Treba imati u vidu da je rezolucija
apsolutnih enkodera retko kada veća od 215
= 32768, uz višestruko veću cenu, ne samo od
inkrementalnog enkodera identiĉne rezolucije, već i od samog pogonskog sistema.
Dinamika Industrijska robotika
Sl. 7.13. Princip rada apsolutnog optiĉkog enkodra.
Umesto apsolutnog optiĉkog enkodera, proizvoĊaĉi robota, imajući u vidu pouzdanost
elektronike i memorije, realizuju merne sisteme na bazi inkrementalnih enkodera koji se
ponašaju kao apsolutni enkoderi. Sa ovakvim sistemom merenja pozicije, robot se, odmah
po ukljuĉenju, moţe koristiti za rad. Ukoliko se pamte poslednje dostignute vrednosti, robot
moţe nastaviti taĉno tamo gde je i stao ĉak i u sluĉaju prestanka napajanja. Postupak
inicijalizacije mernog sistema enkodera, nazvan kalibracijom enkodera, obavlja se samo u
retkim prilikama, po pravilu u sluĉaju instalacije, servisa usled oštećenja robota ili
detektovanog otkaza na elektronici, kao i u sluĉaju kada se robot pomera ruĉno, bez uĉešća
pogonskog sistema.
7.6.3 RIZOLVER
Za razliku od senzora optiĉkog tipa rizolver je senzor elektromagnetnog tipa i pripada grupi
sinhronih mašina. Senzor poseduje najmanje tri namotaja. Dva, statorska, postavljena su
pod pravim uglom i napajaju se naizmeniĉnim signalima, dok se rotorski namotaj okreće u
prostoru u kome deluje elektromagnetno polje statorskih namotaja. Ukoliko je napajanje
statorskih namotaja naizmeniĉnim signalima, meĊusobno fazno pomerenim za 90°,
rezultujuće magnetno polje postaje obrtno sa frekvencijom koji imaju signali u statorima.
To obrtno polje u namotajima rotora indukuje naizmeniĉni signal, iste frekvencije ali
promenjene faze i amplitude. Uobiĉajeno je da se koriste dva rotorska namotaja,
postavljena u prostoru pod 90°, tako da polje jednog ne utiĉe na polje drugog namotaja
rotora.
Sl. 7.14. Šematski prikaz rizolvera i izgled raseĉenog sklopa
1 3
4 2
sin( )sin( )
sin( )cos( )
C M
C M
S S A t
S S A t
(7.1)
Rizolver funkcioniše kao ureĊaj koji transformiše ugao rotora u fazni pomeraj
naizmeniĉnog signala. Već iz šematskog prikaza, jasno je da je ukoliko se rizolver koristi
za merenje pozicije rotora motora, po jednom obrtaju motora dobiće se samo jedna
promena faze. Ovakav senzor nije dovoljan za precizno pozicioniranje i mora se sprovesti
konverzija signala rizolvera u digitalni oblik. Standardno rešenje iz perioda pre pojave DSP
procesora prikazano je na Sl. 7.25 (Ja nisam siguran da razumem sve sa slike. Pre bih ovo
izbacio).
Sl. 7.15. Konvertor signala rizolvera u digital oblik (RDC)
Sa pojavom DSP procesora proces konverzije je pojednostavljen i prikazan je na Sl. 7.26.
Konverzijom dva rotorska signala, uz poznati referentni signal, na DSP procesoru se moţe
obaviti izraĉunavanje ugla obrtnog vektora ĉije su projekcije na koordinatne ose date
jednaĉinama (7.1).
Dinamika Industrijska robotika
Sl. 7.16. Softverska konverzija signala sa rizolvera u digitalni oblik
Prednosti rizolvera u odnosu na enkodere obiĉno se sagledavaju u industrijskim
aplikacijama u kojima ima mnogo vibracija kao i neĉistoća. Osim toga, rizolveri su
pouzadniji. Ostale prednosti su na strani enkodera: pruţaju više informacija na malim
brzinama, lakše ostvaruju veliku rezoluciju, taĉnost je veća a cena niţa. Tabelarni podaci,
za neke tipiĉne rizolvere i inkrementalne enkodere, dati su u Tabeli 7.4.
Tabela 7.4. Poređenje rizolvera i inkrementalnog enkodera.
Karakteristike Rezolveri Optiĉki enkoderi
Broj impulsa po obrtaju 1 2048
Interpolacija 4096 = 12 bitova 512 = 9 bitova
Taĉnost na 3600 ± 1200 ugaonih sekundi ± 20 ugaonih sekundi
Greška interpolacije ± 600 seconds + 1LSB ± 6.5 ugaonih sekundi
Informacija o poziciji rotora da da
Temperatruni opseg -50 C to 150 C -20 C to 120 C
Maksimalna brzina kojom se moţe upravljati 15,600 ob./min 10,300 ob./min
Minimalna brzina kojom se moţe upravljati 30 ob./min 0.1 ob./min
7.6.4 ESTIMACIJA BRZINE IZ SINUS-KOSINUS ENKODERISKIH I RIZOLVERSKIH SIGNALA
Uzimajući niz odmeraka pozicije, najintuitivniji pristup odreĊivanja brzine bio bi primena
izvoda prvog reda. Pretpostavimo da je odmeravanje pozicije raĊeno u ekvidistantnim
vremenskim intervalima sa periodom T.
t t td
tdt t
(7.2)
Metod arkus tangensa opisan u prethodnoj sekciji moţe biti zamenjen sledećim izrazom:
ˆ arctand A
z Tdt B
1
1ˆ arctan arctan
A Azz T
B Bz
(7.3)
Prethodnu jednakost moţemo zapisati na sledeći naĉin:
1
1ˆ arctan tan arctan arctan
A Azz T
B Bz
1 1
1 1ˆ arctan
A Bz B Azz T
B Bz A Az (7.4)
Prednost jednaĉine (7.4) u odnosu na (7.3) je što za izlaznu frekvenciju enkodera, koja se
nalazi ispod Nikvistove frekvencije, procena brzine je pouzdanija i praktiĉnija za primenu
ako se uzme u obzir da je arctan(y, x) arkus tangens u ĉetiri kvadranta (kao standardna C
funkcija atan2(y, x)).
2 1
2 1
arctan arctan 2y y
x x
(7.5)
arctany
x
(7.6)
Posledica ovih veza je da se u sluĉaju simulacije koja ukljuĉuje tehniku diferenciranja,
treba primeniti pristup koji omogućuje izraĉunavanje ne samo ugla u prvom kvadrantu već
ugla u sva ĉetiri kvadranta. U suprotnom, brzina (izraţena u radijanima po odmerku) moţe
biti pogrešno estimirana.
7.6.5 GRANIČNI PREKIDAČI POLOŽAJA
Osnovna podela senzora pozicije, na kontaktne i beskontaktne, moţe biti upotrebljena i u
robotici. Kontaktni su graniĉni prekidaĉi, i pozicioni pretvaraĉi. Beskontaktnih je mnogo
više i dele se u nekoliko grupa: magnetni (na bazi holovog efekta, magnetno-resistivnog
efekta), ultrazvuĉni i optiĉki.
Kako smo prethodno izloţili, u industrijskoj robotici iskljuĉivo se koriste senzori poloţaja
inkrementalnog tipa iz kojih se dobija i informacija o brzini obrtanja. Proces dovoĊenja
sistema u referentni poloţaj odnosno inicijalizacije inkrementalnog senzora, obavlja se
algoritmom koji sistem dovodi u stanje kojim se aktivira prekidaĉ referentnog poloţaja. Taj
proces naziva se homing. Pored toga, svaka osa robota moţe imati ili ima i niz prekidaĉa
koji definišu radni opseg kao i opseg fiziĉki dozvoljenog kretanja. Pored ove dve primene,
prekidaĉi u robotici koriste se i za detektovanje ispunjenosti odreĊenih uslova sprezanja
mehaniĉkih delova i sklopova, recimo kod izmene alata.
Tipovi prekidaĉa koji se koriste u robotici su: induktivnog tipa, na bazi Holovog efekta,
prekidaĉi mehaniĉkog tipa sa elektronskim prekidanjem umesto klasiĉnog mehaniĉkog
prekidaĉa, kapacitivni i optiĉki prekidaĉi. Najĉešće korišćeni tipovi prekidaĉa su induktivni
prekidaĉi i prekidaĉi na bazi Holovog efekta.
Dinamika Industrijska robotika
a) Induktivni senzori
Poznati kao eddy-current senzori, induktivni senzori su meĊu najpopularnijim tipovima
graniĉnih prekidaĉa u robotici. Jednostavna konstrukcija, visoka pouzdanost u radu i
otpornost na zaprljanost okoline (ulje, teĉnosti, prašina) predstavljaju glavne razloge
njihove široke primene. Stvarajući elektriĉnu struju u ciljnom materijalu, pouzdano
detektuju metalni predmet, ali je naĉin reakcije razliĉit u zavisnosti od tipa metala pa se pri
kupovini i instalaciji induktivnog senzora mora voditi raĉuna o naĉinu montaţe. Predmet
koji se detektuje pri tome mora imati neku minimalnu debljinu.
U njihovu osnovnu namenu spada i precizno, beskontaktno merenje malih rastojanja,
0.5mm do 15mm, sa nanometarskom rezolucijom, uz propusni opseg od ĉak 80kHz.
EM prodire u
materijal
polje
300% prečnika namotaja
Sl. 7.17. Primena induktivnog senzora
Naizmeniĉno magnetno polje koje senzor proizvodi prodire kroz materijal i stvara u njemu
slabe, indukovane struje – vihorne struje. Te struje stvaraju sopstveno magnetno polje koje
se detektuje elektronskim kolima u senzoru. Što je senzor bliţe površini materijala,
interakcija je jaĉa. Tri osnovne veliĉine utiĉu na rad senzora: veliĉina senzora i mete,
rastojanje meĊu njima i materijal objekta koji se detektuje. Veliĉina objekta mora biti
barem tri puta veća od veliĉine namotaja koji se nalazi u senzoru, da bi objekat bio pravilno
detektovan. Za metu se koriste dva tipa materijala: feromagnetni i neferomagnetni.
Minimalna debljina materijala posebno je vaţan parametar. Naime, postoji neka minimalna
debljina materijala u kojoj se moţe indukovati struja. Za razliĉite tipove materijala
eksperimentalno su odreĊene minimalne debljine: bakar 0.2mm, aluminijum 0.25mm, ĉelik
304 0.4mm, ĉelik 1040 0.008mm, gvoţĊe 0.6mm. Ukoliko se induktivni senzor koristi kao
graniĉni prekidaĉ, uobiĉajeno je da se u kućište samog senzora integriše i upravljaĉka
elektronika.
b) Holov senzor (srediti brojeve slika do kraja glave jer se sada sve promenilo)
Princip rada holovog senzora otkrio je E.H Hall, 1879. godine primetivši da bakar (danas se
u tu svrhu koristi poluprovodnik germanijum i indijum) proizvodi napon u prisustvu
magnetnog polja. Princip rada holovnog senzora je prikazan na Sl. 7.29.
Sl. 7.18. Princip rada senzora na bazi holovog efekta
Glavna prednost holovog senzora je velika linearnost izmeĊu rastojanja merene veliĉine i izlaznog napona. Da bi
se ostvarila prekidaĉka funkcija ovog senzota neophono je da se izlaz iz senzora propusti kroz detektor praga (Sl.
7.30). MeĊutim pri montaţi holovih senzora treba uvek voditi raĉuna o tome da je nephodno da magnet proĊe veoma blizu holovog senzora.
Sl. 7.19. Vezna elektronika holovog senzora kada se primenjuje kao graniĉni prekidaĉ
Pored primene za detektovanje graniĉnih poloţaja, induktivni i holovi senzori mogu biti
koršćeni i za druge namene koje su takoĊe interesantne u robotici. Prvenstveno, holovi
senzori se koriste u motorima beskolektorskog tipa za detekciju poloţaja rotora, dajući
informaciju neophodnu da se pravilno obavi elektronska komutacija.
c) Procedura mehaničkog referenciranja
U tekstu koji sledi opisan je postupak homovanja ili mehaniĉkog
referenciranja/indeksiranja, kao i potreba za ovim postupkom. Na narednoj slici prikazan je
izgled tipiĉnog elektromehaniĉkog sistema koji se sreće u industriji. TakoĊe, naznaĉene su
sve komponente sistema bitne za proces mehaniĉkog referenciranja – inkrementalni
enkoder i on-off davaĉ (uglavnom induktivni senzor, ili u prostijim aplikacijama, obiĉan
mikropreklidaĉ).
Dinamika Industrijska robotika
Sl. 7.20. Principska šema za mehaniĉko referenciranje
Prikazani elektromehaniĉki sistem realizuje translatorno kretanja kojim se ostvaruje
odreĊeni zadatak. U toku izvršenja ovog zadatka potrebno je poznavati poziciju sistema. U
tu svrhu se u robotici sreću iskljuĉivo senzori inkrementalnog tipa, enkoderi ili rizolveri,
kao pouzdana i jeftina rešenja. Ovi senzori daju informaciju o relativnoj poziciji sistema,
dok se informacija o apsolutnoj poziciji dobija tek nakon prepoznavanja referentne taĉke.
Postupak jednoznaĉnog odreĊivanja referentne taĉke naziva se mehaniĉko referenciranje
ose (homing).
Opišimo postupak referenciranja uz korišćenje sredstava prikazanih na Sl. 7.36.
Pretpostavimo da se sistem nalazi u granicama radnog opsega, ali sa nepoznatom
apsolutnom pozicijom. Postupak referenciranja sastoji se iz tri faze. Prva faza referenciranja
podrazumeva kretanja sistema prema prekidaĉu koji definiše ’home poziciju’. Kada se
detektuje ivica davaĉa sistem se zaustavlja, završava se prva faza i poĉinje druga faza. U
drugoj fazi sistem poĉinje kretanje u suprotnom smeru manjom brzinom, i ponovo traţi
ivicu prekidaĉa. Po nalaţenju ivice završava se druga faza. U trećoj fazi sistem nastavlja
kretanje najmanjom brzinom sa ciljem da se pronaĊe indeksni otvor inkrementalnog
enkodera. Po dobijanju indeksnog signala sa enkodera sistem se zaustavlja ĉime je
uspostavljena referentna taĉka sistema. Ovime je završen postupak mehaniĉkog
referenciranja.
7.7 KONTROLER INDUSTRIJSKOG ROBOTA
Kontroleri robota razvijali su se tokom poslednjih decenija, paralelno sa razvojem samih
robota kao i sa razvojem tehnologije mikroprocesora i softvera. Roboti su se u poĉetku
upravljali kontrolerima numeriĉkih mašina nadograĊenim tako da mogu pokretati i više osa
od broja uobiĉajenog za numeriĉke mašine. Otuda je i arhitektura i jezik tih kontrolera bio
jezik CNC mašina. Zbog relativne sloţenosti zadataka koje je robot obavljao, skupovi
komandi sastavljani su u celine, makroe, koje je potom bilo moguće izvršavati. Upravo to
objedinjavanje komandi postavilo je osnovu budućih jezika za programiranje robota.
Prvi pravi, namenski projektovani, kontroleri robota bili su višeprocesorske mašine, koje su
imale odvojeni analogni deo od digitalnog. Visoka pouzdanost u radu ostvarivana je UNIX
operativnim sistemom. Svaka osa robota imala je svoju analognu karticu i digitalnu matiĉnu
ploĉu. Pored toga, postojale su i ploĉe za komunikaciju sa periferijama, za digitalne ulaze i
izlaze kao i merno-upravljaĉke ploĉe sa analognim ulazima i izlazima. Tek tada je bilo
moguće integrisati robot u okruţenje jer je sada bilo moguće voditi raĉuna o ograniĉenjima
zadatka, dogaĊajima tokom rada i sl. Tada je kontroler uobiĉajeno imao i do 128 ulaza i
128 izlaza digitalnog tipa, pored nekoliko analognih ulaza i izlaza. Pored toga, postavljane
su dodatne digitalne i analogne kartice za upravljanje drugim ureĊajima u okruţenju (npr.
radnim stolom, poktenom trakom, …) . Osnovna karakteristika takvog kontrolera je bila
mogućnost da se robot programira kroz panel na upravljaĉkom ormanu ili putem konzole
mada su kontroleri su bili potpuno zatvoreni za intervencije sa strane korisnika u smislu
podešavanja parametara, kao što su pojaĉanja regulatora, parametara senzora i sl.
Kontroleri robota, već od generacije iz poslednje decenije XX veka imaju modularnu
strukturu koja podrazumeva postojanje glavnog raĉunara, raĉunara za upravljanje
pojedinim stepenima slobode, elektroenergetskog dela za pogon motora, mernih kartica,
ulazno izlaznih kartica, periferijskih ureĊaja, napajanja i modula za besprekidno napajanje,
konzole za programiranje robota, panela za programiranje na samom kontroleru itd.
TakoĊe, postoji mogućnost upravljanja sa više robota istovremeno pri sinhronizovanom
radu (Sl. 7.37).
Sl. 7.21. Izgled savremenog kontrolera robota i blok dijagram sa opisom bitnih komponenata.
Glavni računar obavlja zadatke komunikacije sa korisnikom, obrade sloţenih senzorskih
informacija sa spoljašnjih senzora, van robota, komunikaciju sa drugim raĉunarima i
kontrolerima robota, nadgledanja celokupnog sistema itd. Raĉunar robota objedinjuje
nekoliko kartica, raĉunare po pojedinim stepenima slobode, izmenjivu FLASH memoriju,
besprekidno napajanje kao i standarni set portova za povezivanje sa perifernim ureĊajima i
na eternet mreţu. Raĉunar jednog stepena slobode ima sopstveni procesor (uglavnom
nekog od dominantnih proizvoĊaĉa na trţištu da bi se osigurala vertikalna kompatibilnost
sistemskog softvera). Raĉunar jednog stepena slobode radi pod operativnim sistemom za
rad u realnom vremenu, VxWorks, RT UNIX, ili sliĉno. Svaki od raĉunara po pojedinim
stepenima slobode ima svoj procesor (u novije vreme DSP) namenski projektovan za
aplikacije upravljanja kretanjem.
Računari popojedinim stepenima slobode obavljaju preraĉunavanje komandi koje stiţu sa
glavnog raĉunara, uporeĊujući trenutno stanje robota sa ţeljenim i generišu upravljaĉki
Dinamika Industrijska robotika
signal za pogon motora. Postoje razliĉite realizacije kontrolera koje se uglavnom svode na
dva pristupa: oĉitavanje senzorskih informacija se obavlja se na samim raĉunarima za
upravljanje pojedinim stepenima slobode, ili se oĉitavanje senzorskih informacija realizuje
putem namenskih kartica koje imaju dovoljno memorije za smeštaj mernih podataka pri
ĉemu se podaci prosleĊuju nadreĊenim raĉunarima. (Mi prepevali, da Goran verifikuje)
Prvo rešenje je najĉešće primenjivano ranije kada je svaki stepen slobode ima svoju
matiĉnu ploĉu, dok se drugo primenjuje se kada jedna matiĉna ploĉa upravlja sa više
stepeni slobode.
Elektroenergetski sistem za pogon motora predstavlja posebno projektovane jedinice koje
konvertuju digitalnu ili analognu informaciju sa raĉunara po pojedinim stepenima slobode u
napon motora. U novije vreme, signal je PWM tipa ito je praktiĉno informacija o novoj,
korigovanoj poziciji (Da li je ovo taĉno?).
Jedno tipiĉno rešenje za upravljanje pogonom motora je na bazi strujne petlje, Sl. 7.38.
Pretpostavlja se da su kontroleru dostupne informacije o uglu motora, brzine, pozicije na
vrhu robota, kao i struje motora.
Sl. 7.22. Blok dijagram upravljaĉkog hardvera po jednoj osi robota. (Mislim da fale ulazi kao reference za brzinu i
struju motora pošto se pominju kao poznate)
Problem nastaje u praktiĉnoj realizaciji ovakvog upravljanja. Tehnologija senzora je toliko
napredovala da su cene senzora toliko smanjene da se mogu upotrebiti u praktiĉno svakom
robotu ne povećavajući njegovu cenu za više od 1%. MeĊutim, pored cene samog senzora
potrebno je razmotriti i cenu vezne elektronike, kabliranja, montaţe u proizvodnji i
servisnih provera. Osim toga, treba razmotriti i vreme potrebno da se obavi samo merenje.
Pretpostavimo da je cena ugradnje, npr. senzora brzine – tahogeneratora, na nivou celog
robota, 2% cene robota. Ako je poznato da se u svetu danas proda 100,000 robota godišnje,
dolazimo do zakljuĉka da je cena ugradnje senzora brzine vredna 2,000 robota, što je
dovoljno za robotizaciju jedne velike fabrike automobila – godišnje. Treba napomenuti da
je napredak u razvoju procesora doveo do pojave jeftinih i veoma brzih procesora koji
mogu da obave veliki broj operacija, izmeĊu ostalog moţe se dobiti i informacija o ugaonoj
brzini na bazi informacije o poziciji zgloba. Informacija o poziciji zgloba je standardno
dostupna zbog primene visoko pouzdanih i jeftinih senzora koji su otporni na smetnje.
Pored tako dobijene informacije o brzini, potrebno je još obezbediti i informaciju o struji.
Zbog napretka tehnologije danas se senzori struje prave u IC a ne, kao ranije, u vidu
transformatora. Senzori su MEMS tipa što znaĉi da je u IC kolu senzora integrisana i
digitalna elektronika koja filtrira i kodira signal sa senzora. Time je cena povezivanja
senzora na kontroler dodatno umanjena.
U sluĉaju da se koristi beskolektorski AC sinhroni motor (kao npr. kod ABB) blok šema sa
Sl. 7.38, biva transformisana u šemu sa Sl. 7.39. Spoljašnja poziciona sprega obuhvata
povratnu spregu po brzini, a ova povratnu spregu po struji. Motor se pogoni trofaznim
PWM invertorom, u strujno kontrolisanom naĉinu rada. Vektorsko upravljanje raspreţe
promenljive tako da fluks motora i momenat mogu biti nezavisno upravljani strujom u
statoru i kvadraturne struje (padež), respektivno. Kvadraturna struja, kao referenca, dobija
se iz brzinske petlje. Senzor pozicije pruţa informaciju o poloţaju osovine, i posredno, o
brzini.
Sl. 7.23. Šema upravljanja strujom beskolektorskog motora za pogon robota.
Uoĉava se postojanje još jednog bloka – estimatora struje. Usled svih mogućih efekata
dinamke kretanja, ukljuĉujući inercije segmenata, uzajamne inercije, gravitaciju, trenja,
identifikaciju tereta, i eventualnu interakciju sa okolinom u zadacima sklapanja, moţe se,
poznajući geometriju i inerciju robota, za zadatu trajektoriju, izvršiti estimacija struje koja
je potrebna za idealno obavljanje zadataka. Estimator struje uporeĊuje tu strujnu referencu
sa ostvarenom strujom u motoru i formira korekcioni signal.
Napajanje je posebno izvedeno za analogni i za digitalni deo kontrolera robota. Poseban
modul u sklopu napajanja je i baterijsko napajanje za pouzdan i bezbedan završetak rada i
kada nestane spoljašnje napajanje.
7.7.1 OTVORENI KONTROLER INDUSTRIJSKOG ROBOTA
Integracija više robota u jedan zadatak, povezivanje robota u radnu celinu sa drugim
mašinama, korišćenje naprednih senzora kao što je sistem vizije, odluĉivanje o veoma
sloţenim procesima koje zahteva veliku procesorsku snagu, sa zatvorenim kontrolerima
nije ranije bila moguća. Pojavom PC-a otvorena je mogućnost gradnje novih, otvorenih
kontrolera. Otvoreni kontroler pri tome oznaĉava takvu arhitekturu koja je bazirana na
poznatim i javno dostupnim specifikacijama. Njihova sve veća pouzdanost, kao i sve bolji
odnos performanse/cena, zapoĉeli su trend izgradnje novih upravljaĉkih sistema koji su
ostavili mogućnost da se naknadnim intervencijama kontroler robota otvori ka drugim
kontrolerima ili ka drugim PC raĉunarima, pruţajući fleksiblnost i nadogradivost koje je
donela MS Windows i PC arhitektura raĉunara. Neke od prvih prednosti tako otvorenog
sistema je bilo veoma olakšano servisiranje na daljinu, kao i povezivanje HMI (Human
Machine Interface) na robot ĉime je dalje olakšana primena i programiranje robota.
Jedna od verzija otvorenog kontrolera prikazana je na Sl. 7.40.
Dinamika Industrijska robotika
Sl. 7.24. Blok dijagram otvorenog upravljaĉkog sistema robota
Otvorenost u ovom kontroleru na bazi PC raĉunara (Sl. 7.41), odnosi se na opis komponenti
PC raĉunara, na detaljno dokumentovan Windows operativni sistem, i na standardne
softverske biblioteke razvojnih alata za grafiĉke aplikacije neophodne za razvoj interfejsa
za grafiĉko programiranje robota. (Ništa ne razumem)
Sl. 7.25. Otvoreni kontroler robota baziran na PC raĉunaru.
Po naruĉivanju i isporuci robota, potrebno je povezati robot na kontroler, a kontroler robota
na kontroler koji upravlja već postavljenim radnim okruţenjem u kome se mogu nalaziti
razni objekti: aprati za zavarivanje, laserski sistemi, vodeni sistemi, sistemi vizije,
pozicioneri, kao i svetlosne zavese ili snopovi, ograde, kapije i sliĉno. Ukoliko je
arhitektura kontrolera robota bazirana na PC raĉunaru sa ili bez klasiĉnog PLC ili Soft-PLC
ugraĊenog u kontroler, problem postaje lako rešiv.
7.7.2 OPERATIVNI SISTEM
Pored realtime verzije Windows operativnog sistema koja predstavlja osnovu na koju se
postavljaju operativni sistem robota i aplikativni softver za specijalizovane zadatke
(opsluţivanje, zavarivanje, farbanje itd) koji sadrţi i ekspertsko znanje u konkretnoj
procesnoj operaciji, od znaĉaja su i specifiĉnosti komandnog jezika operativnog sistema
robota.
Neke komande operativnog sistema, podeljene po kategorijama, su:
- Kontrola toka programa (FOR, GOTO, IF THEN, IF THEN ELSE, WHILE, Stop,
EXIT, Break…).
- Podešavanje parametara kretanja (zadavanje unutrašnjeg poloţaja robota, zadavanje
brzine i ubrzanja u unutrašnjim i spoljašnjim koordinatama, zadavanje profila brzine
prilikom kretanja, zadavanje teţine tereta, izbor metoda interpolacije pri prolasku kroz
niz taĉaka, dozvola odstupanja od zadate trajektorije, podešavanje servo sistema.
- Kretanje (kretanje u spoljašnjim koordinatama po kruţnici ili pravoj liniji, kretanje u
unutrašnjim koordinatama, kretanje u apsolutnu poziciju, aktivaciju i deaktivaciju
alata, oĉitavajne trenutne pozicije robota ili trenutnih poloţaja zglobova, zaustavlja
kretanje robota, ponovo pokreće robot restartuje kretanje robota…
- Prijem i obrada ulaznih kao i zadavanje izlaznih signala (digitalnog i analognog tipa).
- Prekidi (iz digitalnog ulaznog ili izlaznog signala, vremenskog tipa, zabrana i dozvola
prekida…).
- Komunikacione komande za umreţavanje kontrolera.
- Tajmerske fukcije.
- Matematiĉke operacije (nad jednim ili više operanada, trigonometrija, kompleksni
brojevi, izraĉunavanja oOjlerovih uglova iz orijentacije i obrnuto, operacije sa
vektorima i matricama.
- Operacije sa stringovima.
- Softverska bezbednost, multitasking, identifikacija opterećenja, detekcija kolizije.
7.7.3 IZVRŠAVANJE PROGRAMA I KRETANJE ROBOTA
Kretanje robota se moţe odvijati na nekoliko naĉina:
- kretanje po zglobovima (svaka ose se pomera nezavisno ali u isto vreme),
- linearno kretanje TCP u prostoru,
- kruţno kretanje TCP u prostoru.
Pri izvršenju, moţe se zahtevati ili striktno izvršavanje trajektorija, kada se svako
odstupanje, pa i minimalno, tumaĉi kao greška u kretanju i robot automatski staje, ili se
dopušta odreĊena tolerancija u kretanju. Na primer, dopušta se popustljivost pri mehaniĉkoj
obradi predmeta alatima kada objekti koji se obraĊuju nisu u pouzdanim mehaniĉkim
tolerancijama (brušenje odlivaka i dovoĊenje na projektovane dimenzije).
Inkrementalno kretanje (jogging) ili osa pojedinaĉno, ili linearnog, odnosno obrtnog
pomeranja TCP i alata u prostoru, u odnosu ili oko neke od spoljašnjih osa, neophodno je
Dinamika Industrijska robotika
da se, bez uvida u CAD modele objekta, robot dovede do ţeljene taĉke u prostoru pa da se
odatle primeni unapred programirano kretanje. Za inkrementalno kretanje koristi se
upravljaĉka palica, dţojstik, na konzoli ĉije se pomeranje prevodi u komande koje dovode
do minimalnog pomeranja osa ili vrha robota, u zavisnosti od odabranog naĉina rada.
Tokom inkrementalnog pomeranja, na displeju se obavezno prikazuje tekuća pozicija sa
dva vektora, unutrašnjih i spoljašnjih koodrinata.
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.
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.
Mladen Popović, Senzori u robotici, VEŠ Beograd 1996.
Jon Wilson, Sensor Technology Handbook, Elsevier Publishers, 2004.
Rade Popović, Hall Effect Devices, 2nd Ed. IoP Publishing, Series in Sensors, 2004.
177
SADRŽAJ
SREDITI HEADER I FOOTER
1 Uvod 1
1.1 savremena industrijska robotika 4
1.2 Ekonomija robotike 5
1.3 Nauka i obrazovanje u robotici 8
1.5 Opšta Klasifikacija robotike 9
1.6 Literatura 12
2 Konstrukcija robota 15
2.1 Neke karakteristiĉne robotskE konstrukcije 15
2.2 Antropomorfni robot 16
2.3 Robot za paletizaciju 17
2.4 Sferna (polarna) konfiguracija 17
2.5 Kartezijanski, pravougli ili Gantry robot 18
2.6 SCARA robot – brzo i precizno asembliranje 19
2.7 Tricept robot 20
2.8 DELTA robot 21
2.9 Definicija koordinatnih sistema 22
2.10 Parametri industrijskih robota 23
2.11 Literatura 25
3 Kinematski model robota I: poloţaj i orijentacija robota u prostoru 27
3.1 Uvod 27
3.2 Koordinatni sistemi i njihove transformacije 27
3.2.1 Elementarne rotacije 29
Primer 2.0. 31
3.2.2 Slaganje rotacija 32
3.2.3 Rotacija oko proizvoljne ose 35
3.2.4 Ojlerovi uglovi 36
I naĉin: ZYZ Ojlerovi uglovi 36
II naĉin: ZYX Ojlerovi uglovi 37
3.2.5 Rotacija definisana uglovima skretanja, valjanja i propinjanja 38
3.2.6 OdreĊivanje ose i ugla rotacije ako je poznata matrica rotacije 38
3.2.7 Homogeme transformacije 39
3.3 Kinematski model robotskog manipulatora 41
3.3.1 Denavit - Hartenbergova notacija 42
3.3.2 Direktni kinematski problem 48
Primer 2.1: 48
Primer 2.2: 50
Primer 2.3: 54
Primer 2.4: 55
3.3.3 Inverzni kinematiĉski problem 58
Primer 2.5. 59
Primer 2.6. 61
Primer 3.7. 62 3.3.4 Rasprezanje (podela) ukupne konfiguracije robota na minimalnu konfiguraciju i zglob
hvataljke 66
Primer 2.7. 68
4 Kinematski model robota II: Diferencijalna kinematika 71
4.1 Uvod 71
4.2 Diferencijalna kinematika 71
4.2.1 Infinitezimalne rotacije 71
4.2.2 Osnovne osobine kososimetriĉnih matrica 73
Primer 3.0: 75
4.2.3 Ugaone brzine i ubrzanja 76
4.2.4 Sabiranje ugaonih brzina 77
4.2.5 Propagacija brzine kroz kinematiĉski lanac 78
4.3 Jakobijan 80
4.3.1 Analitiĉko sraĉunavanje jakobijana 81
Primer 3.1.: 81
4.3.2 Numeriĉko sraĉunavanje jakobijana 82
Primer 3.2: 85
4.4 Numeriĉko rešavanje inverznog kinematskog problema 86
4.5 Pseudo inverzni jakobijan 88
4.6 Singularne konfiguracije 90
4.7 Elipsoid brzina 93
5 Dinamiĉka analiza manipulacionih robota 97
5.1 Uvod 97
5.2 Statiĉka analiza 97
5.2.1 Veza spoljašnjih sila koje deluju na robot i momenata u zglobovima 101
Primer 4.1: 102
5.2.2 Elipsoid sila 103
5.2.3 Popustljivost i krutost 105
5.2.4 Transformacija uticaja sila i momenata izmeĊu razliĉitih koordinatnih sistema 106
Primer 4.2: 108
5.3 Dinamiĉka analiza 109
5.3.1 Njutn-Ojlerova formulacija jednaĉina kretanja 110
Primer 4.3. 111
5.3.2 Direktni i inverzni zadatak dinamike i rekurzivni dinamiĉki model 116
5.3.3 Algoritam formiranja dinamiĉkog modela 119
5.3.4 Lagranţeva formulacija jednaĉina kretanja 121
Primer 4.3. 125
6 Komponente industrijskih robota 127
6.1 Motori 129
Dinamika Industrijska robotika
6.1.1 Jednosmerni motori sa stalnim magnetima 129
Relationship Between Torque and Speed 129
DC Motor Control Using Pulse-Width Modulation 130
PWM Control Circuits 133
DC Motor Control for Larger Motors 134
6.1.2 Beskolektorski jednosmerni motori 136
6.2 ureĊaji za Prenos snage 143
6.2.1 Kaiševi 144
6.2.2 Lanci 145
6.2.3 Zupĉanici 145
6.2.4 Reduktori 148
Planetarni reduktori 149
Harmonijski reduktori 151
Izbor prenosnog odnosa reduktora 153
6.2.5 Povezivanje primarnog i sekundarnog sistema za prenos snage 155
6.2.6 Sprezanje dve osovine157
6.2.7 Konverzija rotacionog u translatorno kretanje 159
6.3 Koĉnice 161
6.4 Karakteristiĉni primeri primene sistema transmisije u industrijskoj robotici 162
6.5 Uravnoteţenje konstrukcije robota 167
6.6 Senzori u industrijskoj robotici 168
6.6.1 Senzori unutrašnjih parametara robota 169
6.6.2 Optiĉki enkoderi 170
6.6.3 Rizolver 177
6.6.4 Estimacija brzine iz sinus-kosinus enkoderiskih i rizolverskih signala 179
6.6.5 Graniĉni prekidaĉi poloţaja 180
Induktivni senzori 181
Holov senzor 181
Procedura mehaniĉkog referenciranja 186
6.7 Kontroler industrijskog robota 187
6.7.1 Otvoreni kontroler industrijskog robota 190
6.7.2 Operativni sistem 193
6.7.3 Izvršavanje programa 193
Literatura 194
7 Planiranje kretanja 195
7.1 Definisanje problema planiranja kretanja 195
7.2 Planiranje PTP kretanja 197
7.2.1 Linearna interpolacija 198
7.2.2 Trapezni profil brzine 199
7.2.3 Interpolacija polinomom trećeg stepena 202
7.2.4 Interpolacija polinomom petog stepena 206
7.2.5 Interpolacija polinomom sedmog stepena 209
7.2.6 Primena normalizovanih interpolacionih polinoma 209
7.2.7 Nadovezivanje trajektorija 211
7.3 Planiranje CP kretanja213
7.3.1 Parametrizovano zadavanje pozicije u prostoru 214
7.3.2 Definisanje orijentacije vrha robota u prostoru 219
7.4 Literatura 227
8 upravljanje u industrijskoj robotici 229
8.1 Definisanje problema upravljanja 229
8.1.1 Linearni sistemi sa jednim ulazom i jednim izlazom 233
8.1.2 Linearni upravljaĉki zakoni 241
a) P regulator 244
b) PD regulator 245
c) PI regulator 246
d) PID regulator 248
8.2 Upravljanje kretanja robota 249
8.2.1 Kompletan model dinamike robota 252
8.2.2 Uticaj reduktora na linearizaciju i rasprezanje modela 256
8.3 Upravljanje u unutrašnjim koordinatama 257
8.3.1 Nezavisno upravljanje kretanja zglobova 260
Principi nezavisnog upravljanja zgloba 260
Nezavisno upravljanje zgloba sa motorom jednosmerne struje 265
8.3.2 Centralizovano upravljanje kretanja zglobova 270
Upravljanje sa nominalom 270
Linearizacija putem povratne sprege 272
8.4 Upravljanje u spoljašnjim koordinatama 275
8.5 Literatura 277
9 programiranje industrijskih robota 289
9.1 Uvod 289
9.2 Programiranje i vrste programskih jezika 289
9.3 Osnovni problemi u vezi programiranja robota 292
9.3.1. Modeli okoline 292
Modeliranje okoline u jeziku AL 292
Modeliranje okoline u jeziku RAPT 294
Budući trendovi u modeliranju okoline 295
9.3.2. Opisivanje zadataka 296
Planiranje trajektorija 296
Hvatanje 297
Fina kretanja298
9.4 Programiranje robota 298
9.4.1 Programiranje robota konzolom 299
9.4.2 Programiranje kroz korisniĉki sotfver visokog nivoa 301
9.5 literatura 302
10 Neke specifiĉnosti primene robota 279
10.1 Instalacija i korišćenje robota 279
10.1.1 Ograniĉenje radnog prostora 279
10.1.2 Bezbednosni sistem i zaustavljanje 279
10.2 Kalibracija 281
10.2.1 Kalibracija poloţaja i identifikacija DH parametara 284
10.2.2 Kalibracija senzora poloţaja u zglobovima 286
10.2.3 Neke specifiĉnosti kalibracije kod zavarivanja. 287
10.3 Identifikacija tereta i detekcija kolizije 287
Literatura 288
Sadrţaj 304
-