Uvod u Robotiku

180
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

Transcript of Uvod u Robotiku

Page 1: Uvod u Robotiku

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

Page 2: Uvod u Robotiku

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.

Page 3: Uvod u Robotiku

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

Page 4: Uvod u Robotiku

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

Page 5: Uvod u Robotiku

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

Page 6: Uvod u Robotiku

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

Page 7: Uvod u Robotiku

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.

Page 8: Uvod u Robotiku

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.

Page 9: Uvod u Robotiku

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

Page 10: Uvod u Robotiku

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

Page 11: Uvod u Robotiku

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

Page 12: Uvod u Robotiku

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

Page 13: Uvod u Robotiku

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

Page 14: Uvod u Robotiku

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-

Page 15: Uvod u Robotiku

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.

Page 16: Uvod u Robotiku

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.

Page 17: Uvod u Robotiku

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

Page 18: Uvod u Robotiku

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.

Page 19: Uvod u Robotiku

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

Page 20: Uvod u Robotiku

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

Page 21: Uvod u Robotiku

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

Page 22: Uvod u Robotiku

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

Page 23: Uvod u Robotiku

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

Page 24: Uvod u Robotiku

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

Page 25: Uvod u Robotiku

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)

Page 26: Uvod u Robotiku

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

Page 27: Uvod u Robotiku

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

Page 28: Uvod u Robotiku

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

Page 29: Uvod u Robotiku

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)

Page 30: Uvod u Robotiku

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

Page 31: Uvod u Robotiku

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)

Page 32: Uvod u Robotiku

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)

Page 33: Uvod u Robotiku

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:

Page 34: Uvod u Robotiku

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

Page 35: Uvod u Robotiku

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

Page 36: Uvod u Robotiku

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

Page 37: Uvod u Robotiku

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ţ

Page 38: Uvod u Robotiku

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

Page 39: Uvod u Robotiku

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.

Page 40: Uvod u Robotiku

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

Page 41: Uvod u Robotiku

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

Page 42: Uvod u Robotiku

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)

Page 43: Uvod u Robotiku

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)

Page 44: Uvod u Robotiku

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)

Page 45: Uvod u Robotiku

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

Page 46: Uvod u Robotiku

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

Page 47: Uvod u Robotiku

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

Page 48: Uvod u Robotiku

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

Page 49: Uvod u Robotiku

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

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.

Page 50: Uvod u Robotiku

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

Page 51: Uvod u Robotiku

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.

Page 52: Uvod u Robotiku

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:

Page 53: Uvod u Robotiku

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

Page 54: Uvod u Robotiku

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

Page 55: Uvod u Robotiku

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)

Page 56: Uvod u Robotiku

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)

Page 57: Uvod u Robotiku

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

Page 58: Uvod u Robotiku

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

Page 59: Uvod u Robotiku

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

Page 60: Uvod u Robotiku

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.

Page 61: Uvod u Robotiku

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

Page 62: Uvod u Robotiku

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

Page 63: Uvod u Robotiku

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

Page 64: Uvod u Robotiku

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

Page 65: Uvod u Robotiku

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

Page 66: Uvod u Robotiku

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

Page 67: Uvod u Robotiku

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)

Page 68: Uvod u Robotiku

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

Page 69: Uvod u Robotiku

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)

Page 70: Uvod u Robotiku

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

Page 71: Uvod u Robotiku

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.

Page 72: Uvod u Robotiku

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

Page 73: Uvod u Robotiku

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)

Page 74: Uvod u Robotiku

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

Page 75: Uvod u Robotiku

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

Page 76: Uvod u Robotiku

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.

Page 77: Uvod u Robotiku

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)

Page 78: Uvod u Robotiku

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

Page 79: Uvod u Robotiku

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)

Page 80: Uvod u Robotiku

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.

Page 81: Uvod u Robotiku

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

Page 82: Uvod u Robotiku

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.

Page 83: Uvod u Robotiku

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

Page 84: Uvod u Robotiku

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

Page 85: Uvod u Robotiku

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

Page 86: Uvod u Robotiku

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

Page 87: Uvod u Robotiku

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

Page 88: Uvod u Robotiku

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

Page 89: Uvod u Robotiku

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)

Page 90: Uvod u Robotiku

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

Page 91: Uvod u Robotiku

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.

Page 92: Uvod u Robotiku

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

Page 93: Uvod u Robotiku

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)

Page 94: Uvod u Robotiku

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.

Page 95: Uvod u Robotiku

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)

Page 96: Uvod u Robotiku

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

Page 97: Uvod u Robotiku

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)

Page 98: Uvod u Robotiku

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.

Page 99: Uvod u Robotiku

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.

Page 100: Uvod u Robotiku

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.

Page 101: Uvod u Robotiku

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-

Page 102: Uvod u Robotiku

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

Page 103: Uvod u Robotiku

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)

Page 104: Uvod u Robotiku

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

Page 105: Uvod u Robotiku

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

Page 106: Uvod u Robotiku

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

Page 107: Uvod u Robotiku

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)

Page 108: Uvod u Robotiku

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.

Page 109: Uvod u Robotiku

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)

Page 110: Uvod u Robotiku

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

Page 111: Uvod u Robotiku

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ţ

Page 112: Uvod u Robotiku

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

Page 113: Uvod u Robotiku

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.

Page 114: Uvod u Robotiku

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.

Page 115: Uvod u Robotiku

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.

Page 116: Uvod u Robotiku

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)

Page 117: Uvod u Robotiku

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.

Page 118: Uvod u Robotiku

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

Page 119: Uvod u Robotiku

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

Page 120: Uvod u Robotiku

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)

Page 121: Uvod u Robotiku

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)

Page 122: Uvod u Robotiku

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

Page 123: Uvod u Robotiku

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

Page 124: Uvod u Robotiku

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

Page 125: Uvod u Robotiku

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

Page 126: Uvod u Robotiku

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

Page 127: Uvod u Robotiku

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

Page 128: Uvod u Robotiku

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

Page 129: Uvod u Robotiku

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,

Page 130: Uvod u Robotiku

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

Page 131: Uvod u Robotiku

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.

Page 132: Uvod u Robotiku

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

Page 133: Uvod u Robotiku

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

Page 134: Uvod u Robotiku

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

Page 135: Uvod u Robotiku

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

Page 136: Uvod u Robotiku

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

Page 137: Uvod u Robotiku

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

Page 138: Uvod u Robotiku

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

Page 139: Uvod u Robotiku

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

Page 140: Uvod u Robotiku

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)

Page 141: Uvod u Robotiku

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

Page 142: Uvod u Robotiku

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)

Page 143: Uvod u Robotiku

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.

Page 144: Uvod u Robotiku

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.

Page 145: Uvod u Robotiku

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.

Page 146: Uvod u Robotiku

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.

Page 147: Uvod u Robotiku

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.

Page 148: Uvod u Robotiku

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

Page 149: Uvod u Robotiku

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

Page 150: Uvod u Robotiku

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

Page 151: Uvod u Robotiku

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

Page 152: Uvod u Robotiku

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

Page 153: Uvod u Robotiku

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

Page 154: Uvod u Robotiku

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

Page 155: Uvod u Robotiku

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.

Page 156: Uvod u Robotiku

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.

Page 157: Uvod u Robotiku

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

Page 158: Uvod u Robotiku

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

Page 159: Uvod u Robotiku

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.

Page 160: Uvod u Robotiku

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

Page 161: Uvod u Robotiku

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.

Page 162: Uvod u Robotiku

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.

Page 163: Uvod u Robotiku

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.

Page 164: Uvod u Robotiku

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

Page 165: Uvod u Robotiku

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

Page 166: Uvod u Robotiku

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.

Page 167: Uvod u Robotiku

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.

Page 168: Uvod u Robotiku

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

Page 169: Uvod u Robotiku

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

Page 170: Uvod u Robotiku

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

Page 171: Uvod u Robotiku

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

Page 172: Uvod u Robotiku

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.

Page 173: Uvod u Robotiku

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

Page 174: Uvod u Robotiku

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

Page 175: Uvod u Robotiku

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.

Page 176: Uvod u Robotiku
Page 177: Uvod u Robotiku

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

Page 178: Uvod u Robotiku

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

Page 179: Uvod u Robotiku

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

Page 180: Uvod u Robotiku

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

-