Prethodno poglavlje
| Pocetna strana | Sledece
poglavlje
2. GEOMETRIJA I
KINEMATIKA MEHANIZMA ROBOTA
Razmatraćemo probleme geometrije
mehanizma robota, i na početku dati kratak pregled sadržaja glave.
Kako je mehanička struktura robota, u stvari, jedan zglobni mehanizam, to
ćemo najpre definisati i objasniti neophodne pojmove iz teorije
mehanizama. Zatim ćemo definisati geometriju manipulacionih robota a
posebno ćemo obraditi slučajeve koji se javljaju u praktičnim
realizacijama. U okviru izlaganja o kinematici govorićemo o brzini i
ubrzanju u zglobovima mehanizma i pokazali vezu sa tzv. korisnom brzinom
prenošenja radnog predmeta.
Tokom razmatranja kinematike
najviše ćemo se baviti pitanjem određivanja položaja i
kretanja robota preko takozvanih unutrašnjih i spoljašnjih
koordinata. Tu se obraduje i način preračunavanja kretanja iz jednih
koordinata u druge, odnosno direktni i inverzni problem kinematike robota.
2.1. OSNOVNI STAVOVI IZ
TEORIJE MEHANIZAMA
Teorija mehanizama kao oblast
nauke i tehnike proučava sisteme tela međusobno povezanih raznim
tipovima veza. Iz ove veoma široke oblasti izvući ćemo one
pojmove koji su bitni za proučavanje robotike. Pri tome,
zadržaćemo određeni nivo strogosti u definicijama tih pojmova, a
istovremeno ćemo se rukovoditi time da objašnjenja budu što
jednostavnija i jasnija. Prvo, potrebno je proučiti tipove veza tela koja
obrazuju mehanizam, a zatim različite strukture mehanizama koji se
javljaju u robotici.
2.1.1. Kinematički parovi
Kinematički par podrazumeva dva međusobno povezana tela. U zavisnosti od načina vezivanja ta dva dela, kinematičke parove delimo na određene klase. Da bismo te klase mogli definisati razmotrićemo moguće načine veze dva tela.
Posmatraćemo prvo jedno
slobodno telo. Ono može da se kreće na šest nezavisnih
različitih načina: može da se kreće translatorno duž
osa x, y, z i može da se obrće oko svake od tih osa (vidi sliku 2.1),
dakle ima tri moguće, odnosno slobodne translacije i tri slobodne
rotacije. Iz toga zaključujemo da je potrebno šest veličina
(koristićemo izraz parametri) da bi se jednoznačno odredio
položaj tela: tri parametra da bi se odredilo translatorno kretanje i tri
da bi se odredilo rotaciono kretanje, odnosno orijentacija tela.
Sl.2.1.Moguća kretanja slobodnog
tela
Broj stepeni slobode je broj slobodnih (odnosno mogućih) nezavisnih kretanja, ili drugačije rečeno, to je broj nezavisnih parametara koji su potrebni da bi se jednoznačno odredio položaj tela. Posmatrajmo sada dva tela, valjak i klešta, međusobno vezana na način kako je to pokazano na slici 2.2. Valjak, u odnosu na klešta ima dve slobodne transla-cije (duž x i y ose) i dve slobodne rotacije (oko x i z ose), dakle postoje ukupno 4 slobodna međusobna kretanja ova dva tela. Zato kažemo da ovaj kinematicki par ima 4 stepena slobode. U tabeli na slici 2.3 dati su neki slučajevi kinematickih parova, njihova moguća kretanja, broj stepeni slobode i klasa kinematičkog para.
Za primenu u robotici
najvažniji su kinematički parovi pete klase. Kinematicki par pete
klase koji dozvoljava samo jednu rotaciju zvaćemo rotacionim parom ili
rotacionim zglobom, a par koji dozvoljava samo jednu translaciju zvaćemo
translatornim parom ili translatornim zglobom. Te parove ćemo shematski
crtati kao na slici 2.4.
Sl. 2.2. Primer kinematičkog para sa 4 stepena slobode
Pored parova pete klase, u teoriji
robotike koriste se i drugi parovi, ali o njima će biti reči kasnije.
Sl. 2.3. Izgled kinematičkih parova
Sl. 2.4. Rotacioni (a) i translatorni (b) zglob
Sl. 2.5. Lančani sistem tela
2.1.2.Kinematički
lanci
Nizove tela povezanih kinematičkim parovima nazivamo kinematičkim lancima.Ovde ćemo podrazumevati da su veze oblika rotacionih ili translatornih zglobova. Shematski, kružić između dva predstavlja bilo koji od zglobova (sl.2.5.).Složeniji zglobvi razlažu se na zglobove pete klase između kojih se nalaze kratki segmenti.
Kinematički lanci su posebno važni u robotici zato što mehanizam svakog robota predstavlja, u stvari, jedan kinematički lanac. Na slici 2.6 predstavljeno je nekoliko manipulacionih robota i shematski su prikazani odgovarajući kinematički lanci.
Svako telo, elemenat lanca,
nazivaćemo segmentom lanca. Segmente lanca smatramo krutim,
nedeformabilnim telima. Lanac se, dakle, sastoji od niza zglobova i segmenata.
Zglobovi su obeleženi sa , a segmenti sa 1,2, ...
Razmotrićemo neke od podela kinematičkih lanaca. Kinematičke lance možemo podeliti na proste i razgranate. Prost lanac podrazumeva samo jedan niz segmenata pri čemu svaki segment ima dva zgloba, prethodni i naredni, a samo poslednji u nizu ima jedan zglob. Takvi lanci prikazani su na slici 2.6. U slučaju da prvi segment lanca nije vezan za podlogu već je slobodan (sl. 2.5) tada i taj segment ima samo jedan zglob (onaj naredni), ali to je slučaj koji za praktičnu robotiku nije bitan.
Razgranat lanac podrazumeva da bar
jedan segment lanca nosi tri ili više zglobova (jedan prethodni i dva ili
više narednih). Dakle, lanac se grana (sl. 2.7).
Sl. 2.6. Primeri manipulacionih robota sa odgovarajućim
kinematičkim lancima
Sl. 2.7. Shema razgranatog lanca
U praktičnim realizacijama
robotskih sistema razgranati lanci se sreću, na primer, kod antropomorfnih
hodajućih robota (sl. 2.8).
a)
b)
Sl. 2.8. Shemu antropomorfnog hodajućeg robota
Po drugoj podeli kinematički
lanci se dele na otvorene i zatvorene. Otvoreni lanci su oni kod kojih ne
postoji zatvoreni niz, tj. iz jedne tačke lanca u drugu može se
doći samo jednim putem. Primeri ovakvih lanaca su na sl. 2.6 i 2.7. Na sl.
2.8 (b) prikazan je antropomorfni hodajući mehanizam u jednooslonačkoj
fazi hoda (oslonac na jednu nogu) i u toj fazi predstavlja otvoreni lanac.
Sl. 2.9. Dvoručni manipulacioni robot
Zatvoreni lanci poseduju bar jedan zatvoreni niz segmenata i tada se iz jedne tačke tog niza u drugu može doći bar na dva načina. Praktičan primer bio bi hodajući robot u dvooslonačkoj fazi hoda (obe noge na zemlji) prikazan na sl. 2.8 (a), kod koga noge sa podlogom obrazuju zatvoreni niz, ili pak bilateralni(dvoručni) manipulacioni robot prikazan na sl. 2.9.
Za robotske mehanizme karakteristično
je da tokom rada robota kinematički lanac menja svoju strukturu od
otvorene ka zatvorenoj i obrnuto. Na sl. 2.10 prikazan je manipulacioni robot
koji u fazi prenošenja predmeta (faza a) predstavlja otvoreni lanac, a u
fazi uvlačenja predmeta u otvor (faza b) predstavlja zatvoreni lanac.
U fazi b lanac je zatvoren jer ruka sa radnim predmetom, podloga robota i
zid obrazuju zatvoreni niz. Primer prikazan na ovoj slici deo je zadatka
montaže.
a)
b)
Sl. 2.10. Manipulacioni robot u zadatku montaže
2.1.3. Stepeni slobode kinematičkog lanca
Ranije smo uveli definiciju broja
stepeni za jedan kinematički par. Sledeći takvu definiciju dolazimo
do toga da je broj stepeni slobode zglobnog kinematičkog lanca jednak
broju mogućih nezavisnih kretanja tog lanca, odnosno jednak broju
nezavisnih parametara potrebnih da bi se jednoznačno odredio položaj
celog lanca. Posmatraćemo kinematičke lance sa zglobovima V klase,
rotacionim ili translatornim.
Sl. 2.11.Lanac sa tri
stepena slobode
Ako je u pitanju otvoreni lanac,
tada je za definisanje položaja potrebno znati pomeranja u svim
zglobovima lanca, dakle za koji ugao je obrnut svaki rotacioni zglob i koliki
je pomeraj u svakom translatornom zglobu. Naime, kod takvih lanaca zglobovi
su međusobno nezavisni i pomera-nja u zglobovima mogu biti proizvoljna.
Na primer, kod lanca na slici 2.11 potrebno je znati uglove i
i izduženje s3 pa
takav kinematički lanac ima tri stepena slobode. Možemo
zaključiti da je kod otvorenih lanaca broj stepeni slobode jednak broju
zglobova.
Sl. 2.12. Primer zatvorenog lanca
Kod zatvorenih lanaca problem je
složeniji. Broj stepeni slobode lanca nije jednak broju zglobova.
Posmat-rajmo mehanizam prikazan na slici 2.12. Ovaj zatvoreni lanac ima pet
zglobova, svaki sa po jednim rotacio-nim stepenom slobode. Za određivanje
položaja ovog lanca potrebno je znati uglove i , tj. dovoljno je znati dva parametra.
Dakle, lanac ima dva stepena slobode iako ima pet zglobova. Problem zatvorenih
lanaca ćemo detaljnije obraditi u odeljku 4.5, u kome govorimo o
kinematici i dinamici nekih klasa zatvorenih lanaca.
2.2.GEOMETRIJA
MANIPULACIONIH ROBOTA
Sada ćemo sa opšte
analize kinematičkih lanaca krenuti ka mehanizmima koji se javljaju u
praktičnim realizacijama manipulacionih robota. Analiziraćemo
strukturu "ruke" i "šake" robota. Zatim ćemo
prodiskutovati broj stepeni slobode manipulacionog robota. Definisaćemo
vektore koji određuju geometriju robota i na kraju pokazati postupak
proračuna položaja mehanizma robota i položaja radnog predmeta.
2.2.1. Minimalna konfiguracija manipulacionog robota
Sl. 2.13. Minimalna konfiguracija i šaka robota
Minimalna konfiguracija podrazumeva mehanizam sa tri zgloba, odnosno tri stepena slobode. Na takvu minimalnu konfiguraciju nadovezuje se takozvani završni, mehanizam robota koji ćemo uslovno nazivati šaka. Na slici 2.13 shematski je predstavljena podela lanca na minimalnu konfiguraciju i šaku. Sledi da minimalna konfiguracija obuhvata zglobove S1 ,S2 i S3 i segmente 1, 2 i 3, a šaka se nadovezuje i sadrži određeni broj zglobova i segmenata (na primer 4, 5 i 6). Naziv minimalna konfiguracija potiče otuda što svaki manipulacioni robot poseduje takav mehanizam. Minimalna konfiguracija često se definiše kao mehanizam sa tri stepena slobode koji vrši pozicioniranje tj. dovođenje šake na željeno mesto u radnom prostoru. Kasnije ćemo videti da se pod pojmom pozicioniranja obično podrazumeva položaj samog vrha šake robota (tačka A na slici 2.13). Tako, na taj položaj, pored minimalne konfiguracije, utiču i segmenti same šake. Otuda se može reći da minimalna konfiguracija određuje položaj korena šake, (tačka C na slici 2.13), a zajedno sa šakom vrši pozicioniranje vrha (tačka A na slici 2.13).
Minimalna konfiguracija je
mehanizam sa tri zgloba od kojih svaki može biti rotacioni ili
translatorni. Označimo sa R rotacioni, a sa T translatorni zglob. Sada
možemo uvesti označavanje mehanizma na sledeći način: na
primer RTT označava mehanizam sa tri zgloba (i tri stepena slobode) od
kojih je prvi rotacioni, a druga dva translatorna. Sada ćemo,
koristeći uvedeno označavanje obraditi najčešće sheme
minimalne konfiguracije robota.
a) Pravougaona ili TTT shema.
Minimalna konfiguracija pravougaone ili TTT sheme ima tri translatorna zgloba.
Na slici 2.14 prikazan je primer ovakve minimalne konfiguracije i to izgled
robota i njegov shematski prikaz.
Sl 2.14. Pravougaona minimalna konfiguracija
Kako je na slici prikazano, minimalna konfiguracija se završava jednom pločicom (C na slici 2.14) na koju se zavrtnjima ili nekako drugačije vezuje šaka robota. Treba, ipak, naglasiti da minimalna konfiguracija i šaka ne moraju biti ovako odvojene celine. Vrlo često se i ne mogu fizički razdvojiti zato što se motori koji pokreću zglobove šake nalaze negde na segmentima minimalne konfiguracije, da bi bili bliže centralnom stubu i time manje opterećivali robot. Odatle se pogoni prenose pogodnim prenosom mehanizmom do zglobova šake. U ovakvim slučajevima podela na minimalnu konfiguraciju i šaku robota ima smisla samo shematski, a ne i na stvarnoj konstrukciji. O načinu postavljanja motora za pogon zglobova biće više reći u kasnijim delovima knjige (glava 3).
Razmotrimo sada radni prostor
TTT-robota ograničavajući se za sada samo na minimalnu konfiguraciju.
Pod radnim prostorom minimalne konfiguracije robota podrazumevamo onaj deo
prostora u čiju svaku tačku može da dođe vrh konfiguracije
(tačka C na sl. 2.14).
Sl. 2.15. Radni prostor pravougaone minimalne konfiguracije
Posmatrajmo TTT-shemu prikazanu na
slici 2.14 i razmotrimo šta je to što ograničava mogućnost
da vrh C stigne u bilo koju tačku prostora. Ograničenje potiče
otuda što pomeranje bilo kog segmenta kroz odgovarajući zglob nije
ograničeno. Na pri-mer, kod klizanja zgloba S1 po šipki G1G2
uvedeni su mehanički graničnici (G1 i G2). I
kod ostalih zglobova dužina izvlačenja ili uvlačenja segmenata
ograničena je samom dužinom segmenata, pa se u konstrukciji uvode
graničnici. S obzirom na ovakva ograničenja, radni prostor TTT-robota
bio bi pravougaonik prikazan na slici 2. 15. Otuda i naziv
pravougaona shema. Da bi bilo jasnije treba istaći da horizontalna
šipka G1G2 nije segment, već predstavlja deo
nepomične podloge, a segment 1 je vertikalni stub.
Sl. 2.16. Cilindrična minimalna konfiguracija
b) Cilindrična ili RTT-shema. Minimalna konfiguracija cilindrične ili RTT-sheme ima tri zgloba od kojih je prvi rotacioni, a druga dva translatorna. Na slici 2.16 prikazan je primer ovakve minimalne konfiguracije i to izgled robota i njegov shematski prikaz. Na slici 2.6 (c) prikazan je još jedan primer RTT-sheme.
Naziv cilindrična shema
potiče otuda što pomeranja u zglobovima S1, S2
i S3 tačno odgovaraju koordinatama ,z i cilindričnog koordinatnog
sistema, što se vidi upoređivanjem slike 2.16 i 2.17 (a). U daljem
tekstu ćemo videti da je i radni prostor ovakvog robota cilindričan.
Sl. 2.17. Cilindrični koordinatni sistem i radni prostor
Razmotrimo sada radni prostor
RTT-sheme robota. Ograničenja se ovde javljaju zbog ograničene
dužine segmenta 2 i 3, te se oni mogu izvlačiti (odnosno
uvlačiti) iz odgovarajućih zglobova samo do određene mere. Za
obrtanje u zglobu S1 smatraćemo da nije ograničeno, mada i tu mogu da
se pojave ograničenja. S obzirom na uvedena ograničenja, radni
prostor cilindričnog robota izgledao bi kao na slici 2.17 (b).
c) Sferna ili RRT-shema,.
Minimalna konfiguracija sferne ili RRT- sheme ima tri zgloba od kojih su prva
dva rotaciona, a treći translatorni. Na slici 2.6 (b) prikazan je primer
sfernog robota i njegova shema. Na slici 2.11 data je još jedna
moguća shema sfernog robota. Treća moguća RRT- shema data je na
slici 2.18 (a).
Sl. 2.18. Sferna minimalna konfiguracija
Pomeranja u zglobovima kod RRT-sheme približno odgovaraju koordinatama sfernog koordinatnog sistema (slika 2.18 b), pa otuda naziv sferna shema. Primećujemo da poklapanje nije potpuno. Na shemama slika 2.18 i 2.11 vidimo da bi pomeranja u zglobovima S1, S2 i S3 odgovarala potpuno koordinatama i r jedino ako bi dužina segmenta 2 bila jednaka nuli ili bar jako mala.
Razmotrimo radni prostor RRT-sheme
robota. Ako uvedemo graničnike za maksimalno i minimalno izduženje u
zglobu S3, a smatramo da su obrtanja u zglobovima S1
i S2 bez ograničenja, tada je radni prostor robota jedna
šuplja lopta (slika 2.19 a). Ako postoje graničnici koji
određuju krajnje tačke obrtanja u zglobovima S1 i S2,
tada je radni prostor jedan isečak opisane lopte. Jedan primer je dat na
slici 2.19 (b).
Sl. 2.19. Radni prostor sferne minimalne konfiguracije
d) RTR i TRRsheme. Ove dve sheme
obrađujemo zajedno zato što u onom obliku u kome se obično
praktično realizuju imaju isti radni prostor. Sheme su prikazane na slici
2.20 (a), (b), a jedan konkretan primer robota na slici 2.21 (a).
Sl. 2.20. RTR-shema (a) i TRR-shema. (b)
Radni prostor RTR i TRR-sheme
robota je šuplji valjak kao što je prikazano na slici 2.21 (b).
e) Laktasta ili RRR-shema Minimalna konfiguracija laktaste ili RRR- sheme ima tri rotaciona stepena slobode. Jedan primer prikazan je na slici 2.6 (a), a na slici 2.22 dat je još jedan primer.
Naziv laktasti robot potiče
od karakterističnog "lakta" koji se uočava na ovoj shemi (L
na slici 2.22). Inače, za ovu jako čestu shemu robota sreću se i
drugi nazivi kao, na primer, zglavkasti ili antropoidni robot. Izdvojićemo
posebno jednu od mogućih RRR-shema. Prikazana je na slici 2.23 i zbog
sličnosti sa čovekovom rukom naziva se antropomorfna
(čovekolika) shema.
Sl. 2.21. Primer RTR-robota i radni prostor
Sl. 2.22. Laktasti ili RRR-robot
Radni prostor RRR-sheme robota zavisi od mogućnosti obrtanja u svakom zglobu. Ako bi obrtanja bila bez ograničenja, onda bi radni prostor bio lopta čiji je poluprečnik određen dužinom ruke. Kako obrtanja u zglobovima nisu neograničena to će radni prostor biti jedan deo lopte složenog oblika (slika 2.24).
Moramo spomenuti još jedan
karakterističan slučaj laktaste sheme minimalne konfiguracije. Ta
shema prikazana je na slici 2.25, a zvaćemo je ASEA. Shema, po
švedskom robotu marke ASEA koji je najpoznatiji. Shema je na slici
prikazana u dve varijante koje se razlikuju po načinu delovanja pogonskih
motora. Dejstvo pogona označeno je na slici strelicama. Za ovu shemu je
karakteristično da sadrži jedan zatvoreni lanac oblika paralelograma.
Sl. 2.23. Antropomorfna RRR-
shema
Sl. 2.24. Radni prostor laktastog robota
Sl. 2.25. ASEA-shema
2.2.2. Završni mehanizam ili šaka robota
U odeljku 2.2.1 rečeno je da se mehanizam manipulacionog robota može pode-liti na dva dela: tzv. minimalnu konfiguraciju i završni mehanizam ili šaku robota (sl. 2.13). Minimalna konfiguracija dovodi šaku u željeni deo radnog prostora, odnosno pozicionira koren šake. Razmotrimo sada strukturu završnog mehanizma ili šake robota.
Završni mehanizam robota
sastoji se od određenog broja zglobova, a na kraju se
pričvršćuje takozvani završni uređaj (engl.
end-effector). Zglobovi šake su po pravilu rotacioni. Na slici 2.26
prikazana je shema mehanizma šake. Tačka C označava koren
šake i tu je ucrtana pločica koja se učvršćuje za vrh
minimalne konfiguracije koja je ucrtana isprekidano. Celina se može lepo
sagledati ako se slika 2.26 uporedi sa slikama 2.14 i 2.16 gde su prikazane
minimalne konfiguracije.
Sl. 2.26. Shema šake robota
Tačka B označava
položaj gde se takozvani završni uređaj učvršćuje
za mehanizam šake. To je ucrtano u obliku pločice na kojoj se nalaze
zavrtnji za učvršćava-nje. Završni uređaj ucrtan je
isprekidano, u obliku hvataljke. Vrh završnog uređaja označen je
tačkom A.
Sl. 2.27. Hvataljka robota
Mehanizam šake ima jedan, dva ili tri zgloba i isto toliko stepeni slobode. Broj zglobova zavisi od namene tj. od zadatka koji će robot obavljati. S obzirom na to da minimalna konfiguracija ima tri stepena slobode to znači da će robot ukupno imati četiri, pet ili šest stepeni slobode. Određivanje broja stepeni slobode koji je potreban za obavljanje određenog zadatka je poseban problem i o tome će biti reči kasnije. Biće reči o robotima koji imaju više od šest stepeni slobode.
Razmotrićemo pitanje završnog uređaja robota. Opšte rečeno, u pitanju je uređaj koji neposredno izvršava zadatak koji je postavljen pred robota. Ako je postavljen zadatak prenošenja nekog predmeta tada je završni uređaj takozvana hvataljka. Obično se hvataljka crta u obliku klešta kao na slici 2.27. To je zato što su hvataljke često upravo takvog oblika. Takva hvataljka ima jedan stepen slobode, hvatanje tj. stiskanje. Pločicom B hvataljka se učvršćuje za mehanizam šake.
Hvataljka, međutim, ne mora
da bude oblika klešta. Za neke primene pogodne su hvataljke sa vakuumskim
sisaljkama kao, na primer, za prenošenje limova.
Ako se postavlja zadatak farbanja prskanjem, tada je završni uređaj pištolj za prskanje a ako je zadatak, na primer, tačkasto zavarivanje, tada je završni uređaj u obliku zavarivačkih klešta. U raznim drugim primenama pojavljuje se različiti završni uređaji. Međutim, često se koristi termin hvataljka, podrazumevajući pod tim sve vrste završnih uređaja. Pod hvataljkom se podrazumeva često i ceo posled-nji segment lanca. Na primer, u zadatku prenošenja nekog predmeta koristićemo izraz hvataljke, a podrazumevati hvataljku i radni predmet zajedno.
Dakle, šaka robota sastoji se od mehanizma šake (CB na slikama) i završnog uređaja, odnosno hvataljke (BA na slikama). Mehanizam šake, zajedno sa minimalnom konfiguracijom, obezbeđuje da vrh hvataljke (A) dođe u željeni položaj i da hvataljka zauzme željenu orijentaciju u prostoru. Završni uređaj (hvataljka) neposredno izvršava postavljeni zadatak.
Kao što možemo videti šaka industrijskog manipulacionog robota nema mnogo sličnosti sa šakom čoveka. Međutim, treba reći da se kod eksperimentalnih protetičkih robota, a u poslednje vreme i kod industrijskih, sve češće koriste složene šake opremljene većim brojem prstiju.
O hvataljkama i završnim
uređajima uopšte više ćemo govoriti u glavi 5 ove knjige.
2.2.3. Mogućnost kretanja robota — broj stepeni slobode
Detaljnije ćemo analizirati mogućnost kretanja i, posebno takozvanog funkcionalnog kretanja robota. Manipulacioni robot smo posmatrali kao otvoreni lanac bez grananja u kome su segmenti povezani zglobovima V klase koji dozvoljavaju jednu translaciju ili rotaciju. Takav mehanički sistem ima onoliko stepeni slobode koliko ima zglobova. Ako ima n zglobova, sistem će imati n stepeni slobode, bez obzira na to da li je n veće ili manje od 6. Videćemo uskoro zašto je ova vrednost 6 bitna. Dakle, robot kao mehanički sistem može da se kreće na n nezavisnih načina. Pri tome se uzimaju u obzir kretanja svih segmenata. Videćemo kasnije da je za proračun dinamike potrebno voditi računa o ovih n nezavisnih mogućnosti kretnja.
Sada ćemo, međutim,
obratiti pažnju na kretanja koja imaju neku funkciju u ostvarenju
određenog manipulacionog zadatka. Posmatrajmo mogućnost kretanja
hvataljke robota, a to je poslednji segment lanca. Posmatrajmo kretanja samo
jednog tela, poslednjeg u lancu, a ne celog lanca. Označimo sa nh broj
stepeni slobode hvataljke u prostoru. Prvo zaključujemo da hvataljka kao
telo u prostoru može imati najviše šest stepeni slobode, tri
translacije i tri rotacije. Dakle, .
Kako hvataljka nije slobodna
već lancem vezana za podlogu, to njeno kretanje može biti
ograničeno ovom lančanom vezom. Tako, za broj stepeni
slobode hvataljke možemo reći da je manji ili jednak broju stepeni
slobode lanca, tj.:
Sl. 2.28. Nesingularni i singularni mehanizam
Analizirajmo zašto jea ne. Ova nejednakost sugeriše da se u smislu funkcionalnog kretanja neki stepen slobode lanca može izgubiti. Najbolje je to objasniti uz nekoliko konkretnih primera. Na slici 2.28 prikazane su dve minimalne konfiguracije TTT-tipa, a na svaku se nadovezuje šaka sa jednim zglobom, tj. jednim stepenom slobode. Svaki od ovih lanaca ima po četiri zgloba i kao mehanički sistem ima četiri stepena slobode. Dakle n = 4. Sa stanovišta kretanja hvataljke stvari stoje drugačije. U slučaju (a) hvataljka takođe ima 4 stepena slobode. Tada je nh = 4, tj. nh = n i nikakvih gubitaka nema. U slučaju (b) hvataljka ima samo tri stepena slobode, tj. nh = 3 i. To je otuda što sa stanovišta kretanja hvataljke translacije S2 i S3 nisu nezavisne, već proizvode jedinstven efekat i ponašaju se kao jedna translacija. Dakle, jedan od ta dva stepena slobode se gubi. Treba reći da se o gubitku može govoriti samo sa stanovišta pomeranja hvataljke. Ako nas interesuje pomeranje celog lanca, tj. kretanje svih segmenata, tada te dve translacije ne mogu da se sjedine zbog segmenta između njih (segment broj 2) koji ima neko svoje podužno kretanje. Gubitak tj. razlika n i nh nastaje otuda što to podužno kretanje segmenta 2 ne utiče na kretanje hvataljke. Segment može kliziti kroz zglobove S2 i S3, a hvataljka i dalje mirovati.
Na slici 2.29. prikazana su dva nešto drugačija primera gubitka stepeni slobode. Lanac (a) je sastavljen od dva tela pri čemu su zglobovi S1 i S2 sferični tj. svaki dovoljava po tri relativna obrtaja tada lanac ima n = 3 + 3 = 6 stepeni slobode. Poslednji segment lanca (telo br. 2), međutim, imastepeni slobode jer se sa stanovišta njegovog kretanja jedan stepen slobode gubi (obrtanje tela 1 oko ose (I)).
Sl. 2.29. Lanci sa sferičnim zglobovima
Trosegmentni lanac sa
sferičnim zglobovima (sl.2.29b) ima n=3+3+3=9 stepeni slobode. Poslednji
segment, pak, ima nh = 6 stepeni slobode jer se tri stepena slobode
gube (obrtanja oko osa (I), (II), i (III)).
a)
b)
Sl. 2.30. Nesingularan i singulalaran položaj robota
Mehanizme kod kojih je nh < n tj. kod kojih se gube neki stepeni slobode nazivamo singularnim mehanizmima, a one kod kojih gubitaka nema tj. nh = n nazivamo nesingularnim. U primeru sa slike 2.28a,b prikazana su dva mehanizma, jedan koji je stalno nesingularan i drugi koji je stalno singularan. Međutim uobičajeno je da su mehanizmi robota nesingularni, osim u nekim posebnim položajima kada postaju singularni. Posmatrajmo primer robota prikazanog na slici 2.30. Kod ovog lanca je n - 6. Kada se robot nade u položaju (a), tada njegova hvataljka može da se pomera i obrće u svim pravcima (tri translacije i tri rotacije) tj. nh =6 = n, pa je mehanizam nesingularan. Međutim, kada je robot u položaju (b) tada hvataljka ne može da se obrće oko svoje ose (l). Dakle, nh < n i mehanizam je singularan. Treba još istaći da svaki robot čiji lanac ima više od 6 stepeni slobode (n > 6) mora uvek biti singularan, jer je . Pitanje singularnosti je važno, jer kada se nade u singularnom položaju robot svojom hvataljkom ne može napraviti one pokrete koje bi inače mogao, a koji mogu biti potrebni.
Analizirajmo sada mogućnost
robota da obavi određene manipulacione zadatke.Definišimo prvo neke
neophodne pojmove.
- Pozicioniranje podrazumeva
dovođenje vrha hvataljke u željenu tačku radnog prostora.
Sl. 2.31. Potpuna orijentacija
- Potpuna orijentacija hvataljke podrazumeva postavljanje hvataljke u tačno određeni uglovni položaj u prostoru. Potpuna orijentacija može se posmatrati na sledeći način. Zahteva se da se određena osa hvataljke ili radnog predmeta poklopi sa željenim pravcem u prostoru i još se zadaje ugao obrtanja hvataljke oko tog pravca. Slika 2.31 ilustruje potpunu orijentaciju. Osu predmeta (*) treba poklopiti sa pravcem otvora (*') i još predmet obrnuti oko ose za ugaoda bi se ispupčenje na bočnoj strani predmeta postavilo naspram žljeba u otvoru. Tada se tek predmet može uvesti u otvor.
Delimična orijentacija podrazumeva samo da se određena osa hvataljke ili radnog predmeta poklopi sa željenim pravcem u prostoru.
Razlika između delimične
i potpune orijentacije prikazana je na slici 2.32. na primeru prenošenja
kontejnera sa tečnošću.U slučaju (a) važno je jedino
da osa (*)bude vertikalna, odnosno u pitanju je delimična orijentacija. U
slučaju (b) važna je ne samo osa (*) nego i osa (**) koja mora
zauzeti željeni pravac. Kada je pravac (*) određen, onda položaj
pravca (**) može biti definisan uglom obrtanja oko ose (*). U pitanju je
potpuna orijentacija kontejnera.Nešto slično možemo uočiti
i u zadatku prikazanom na slici 2.31. U pitanju je potpuna orijentacija zbog
isturenog dela po dužini cilindra koji treba da se poklopi sa bočnim
žljebom na kružnom otvoru. Kada takvog isturenog dela ne bi bilo, tj.
kada bi se cilindričan predmet uvlačio u cilindričan otvor, tada
bi bilo dovoljno poklopiti ose predmeta i otvora, odnosno dovoljna bi bila
delimična orijentacija.
Sl. 2.32. Delimična i potpuna orijentacija
Dakle kad govorimo o orijentaciji,
tada razmišljamo o jednom pravcu u prostoru i uglu obrtanja oko
njega. Takav pristup je pogodan jer u praktičnom definisanju zadatka
uglavnom možemo uočiti neku osu čiji je pravac važan u
konkretnom zadatku. Dovoljno je posmatrati primere na slikama 2.31. i 2.32 i
lako uočiti bitne pravce (*). Slično je sa primerima na slici
2.38.Razjasnimo sada pojam "vrha"
hvataljke.Taj pojam podrazumeva određenu zadatu tačku hvataljke ili
nekog drugog završnog uređaja.
To je uvek ona tačka čije je dovođenje u određeni položaj bitno u konkretnom zadatku. Na primer, pri hvatanju predmeta bitno je pozicionirati tačku A prikazanu na slici 2.27. Kada se radni predmet uvlači u otvor bitno je pozicionirati vrh predmeta (tačka A na slici 2.31.). U slučaju farbanja prskanjem pozicionira se vrh pištolja za prskanje, a u slučaju zavarivanja vrh zavarivačkih klešta.
Označimo sa nz broj stepena i slobode koji je potreban za izvršenje određenog manipulacionog zadatka.
Za savlađivanje zadatka
pozicioniranja potrebno je 3 stepena slobode tj. nz = 3.
Za savlađivanje zadatka
pozicioniranja zajedno sa delimičnom orijentacijom potrebno je 3 + 2,
odnosno 5 stepeni slobode (nz = 5).
Za savlađivanje zadatka
pozicioniranja zajedno sa potpunom orijentacijom potrebno je 3 + 3, odnosno 6
stepeni slobode (nz = 6).
Da bi robot mogao uspešno izvršiti postavljeni zadatak potrebno je i dovoljno da bude. Obično je nh = n, a u slučaju govorimo o redundantnosti robota u odnosu na postavljeni zadatak. Dakle, redundantnost podrazumeva "višak" stepeni slobode hvataljke (nh) u odnosu na najmanji broj potreban za izvršenje zadatka (nz).
O višku stepeni slobode možemo govoriti i u slučaju singularnosti. Tada je n > nh, odnosno mehanizam (n) ima višak u odnosu na hvataljku (nh). I u ovom slučaju mogli bismo govoriti o redudantntosti. Međutim, ako je robot singularan samo u nekim položajima, tada izbegavamo termin redundantnosti jer mehanizam nije namerno projektovan da ima višak stepeni slobode, već je taj višak posledica smanjivanja mogućnosti kretanja hvataljke ("gubljenje" stepeni slobode) što predstavlja neželjenu situaciju. Ako se, pak, robot projektuje namerno tako da stalno bude singularan i da ima višak stepeni slobode, na primer, robot sa slike 2.28b, tada koristimo termin redundantni robot. Slično je sa robotima koji imaju n > 6 i koji su uvek singularni zbog pa, dakle, i redundantni.
Kada je u pitanju namerna redundantnost, tad se obično radi o nekoliko ciljeva koji se žele postići. Jedan od ciljeva je postizanje velikih brzina i tada se obično projektuju tzv. paralelni stepeni slobode (sl.2.28b). Drugi cilj je izbegavanje neželjene singularnosti. Kada robot dođe u singularni položaj tj. nh trpi gubitak tada se aktivira višak stepeni slobode mehanizma čime se obično gubitak može kompenzirati. Treći cilj projektovanja redundantnih robota je stvaranje sposobnosti izbegavanja prepreka. Tada robot može da zaobiđe prepreku, a da pri tome njegova hvataljka zadrži poziciju i orijentaciju neophodnu za izvršenje zadatka. Ukupno kod svih namerno redundantnih robota problem viška stepeni slobode razrešava se uvođenjem dopunskih zahteva kojima se upošljava višak.
Nešto drugačiji problem javlja se kada se robot, čija hvataljka ima nh stepeni slobode, angažuje u zadatku koji se može obaviti i sa manje (dakle nz < nh). Tada se problem viška stepeni slobode rešava uvodljenjem različitih kriterijuma optimalnosti.
Nakon ovih definicija i diskusija
o singularnosti i redundantnosti uvedimo neka ograničenja kojih ćemo
se u ovoj knjizi uglavnom držati. Današnji roboti pretežno se
projektuju kao nesingularni, odnosno, singularni su samo u nekim specijalnim
položajima. Dakle, u normalnom radu je nh = n i zato govorimo o
ste-penima slobode robota ne precizirajući da li mislimo na mehanizam ili
hvataljku. Ovo važi za . Tada koristimo oznaku n a podrazumevamo
nh = n. Kod robota sa n > 6 stepeni slobode podrazumevaćemo
nh = 6 i koristićemo termin redundanti robot. Danas se roboti
uglavnom projektuju tako da imaju 4,5 ili 6 stepeni slobode. Robot sa
četiri stepena slobode može da obavi pozicioniranje, za šta je
potrebno tri stepena slobode, a sa preostalim četvrtim stepenom slobode
vrši dopunska kretanja, što je dovoljno za izvršenje nekih
jednostavnijih manipulacionih zadataka u praksi. To su obično zadaci
prenošenja predmeta, opsluživanja presa i slično. Robot sa pet
stepeni slobode može da izvrši zadatak pozicioniranja zajedno sa
delimičnom orijentacijom. Tu spadaju, na primer, zadaci prenošenja
tečnosti (sl.2.32a), jednostavniji zadaci montaže, zavarivanja i
slično. Robot sa šest stepeni slobode u principu može da
izvrši bilo kakav manipu-lacioni zadatak jer se on uvek može svesti
na problem pozicioniranja zajedno sa potpunom orijentacijom. To su, na primer,
složeniji zadaci prenošenja (sl.2.32b), montaže (sl.2.31),
zavarivanja i slično.
2.2.4. Geometrija segmenata
Sada ćemo posmatrati segmente
mehanizma robota i razmotriti kako se može definisati geometrija
segmenata, drugačije rečeno, šta je potrebno zadati, pa da
geometrija segmenata bude potpuno određena. Izložićemo dva
pristupa zadavanju geometrije segmenata. Jedan potiče iz radova J.
Stepanjenka, a drugi je poznat kao Denavi-Hartenbergov pristup. Ovi pristupi
se razlikuju prvenstveno po načinu postavljanja koordinatnih sistema i
shodno tome načinu izražavanja vektora geometrije.
Sl. 2.33. Jedan segment mehanizma
Na slici 2.33 prikazan je jedan
segment mehanizma robota, na primer, i-ti segment. Zglob Si prikazan
je kao rotacioni, a zglob Si+1 kao translatorni što ne mora
obavezno biti nego je samo uzeto kao primer. Da bi geometrija segmenata bila
potpuno određena potrebno je znati položaj koji ose zglobova
zauzimaju u odnosu na segment. U slučaju na slici 2.33. radi se o osi
rotacije zgloba Si i osi translacije zgloba Si+1.
Takođe, neophodno je znati položaj zgloba u odnosu na
težište segmenta (Ci na slici). Ose zglobova
određujemo jediničnim vektorima. Pravac i pozitivni smer ose zgloba Si
određeni su pravcem i smerom vektora . Isto važi i za
zglob Si+1 . Položaj težišta u
odnosu na zglobove i obrnuto određujemo vektorimai prikazanim na slici.
određuje položaj zgloba Si ,apoložaj
zgloba Si+1.
Tokom kretanja robota, položaj
segmenata, a time i položaj ovih vektora, menja se u prostoru. Ali ako
uočimo da se relativni položaj ovih vektora u odnosu na sam segment
ne menja, onda u odnosu na sam segment, ovi vektori su nepromenljivi i
predstavljaju osobinu samog segmenta. Potražimo sada način da ove
"nepromenljive" veličine izrazimo. Uvedimo jedan pravougli
koordinatni sistem čiji je centar u težištu segmenta, a ose
sistema xi ,yi,zi vezane su za segment
(sl.2.33). Položaj ovih osa može biti proizvoljan. Radi se dakle o
vezanom sistemu koji se u prostoru kreće zajedno sa segmentom. Posmatrajmo
sada vektor.
U odnosu na vezani sistem taj vektor
je nepromenljiv pa se može izraziti trima konstantnim projekcijama , eiyi, eiti, gde je projekcija
vektorana osu xi i analogno za yi,
i zi. Za ovu uređenu trojku uvedimo oznaku
(2.1)
gde talas iznad slova
označava da se radi o trima projekcijama na vezani sistem.Oznakabez talasa podrazumeva sam vektor, dakle
izražen projekcijama na neki spoljašnji nepokretni koordinatni sistem
(na primer, sistem vezan za podlogu). Postupimo na isti način i sa
vektorimai,i i i,i+1.
Dobićemo dve trojke konstantnih projekcija
i,i=(ri,ixi
,ri,iyi ,ri,izi)
(2.2)
i,i+1=(ri,i+1xi
,ri,i+1yi ,ri,i+1zi)
(2.3)
i+1=( ei,i+1xi
,ei,i+1yi ,ei,i+1zi)
(2.4)
Uopšte, za bilo koji vektorindeksa "i" talas iznad slova()označava tri projekcije na vezani sistem segmenata istog indeksa "i", a talas ispod slova označava projekcije na sistem prethodnog indeksa "i -1". Rekli smo da oznake,i slične podrazumevaju uređene trojke projekcija na ose vezanog sistema. Slično,i i i,i podrazumevaju trojke projekcije na ose nepokretnog sistema. Tako ćemo nadalje govoriti o vektorima, a podrazumevati trojke projekcija na ose određenih koordinatnih sistema.
Kako je već rečeno,
vektorii ,i,i i
i,i+1 su konstantni vektori i
predstavljaju osobinu samog segmenta. Tako, kada kažemo da treba odrediti
geometriju segmenta, pod tim odrazumevamo da treba zadati ova četiri
vektora. Da bi bila zadata geometrija celog lanca, odnosno robota, potrebno je
za svaki segment zadati odgovarajuća četiri vektora. Potrebno je
još na pogodan način definisati tip zglobova kojima su segmenti
vezani. Uvodimo niz indikatora s1,s2,... ,sn i
definišemo ih na sledeći način:
B. Denavi - Hartenbergov pristup
Ovaj pristup je manje opšti
od predhodnog. Postavljanje osa vezanog koordinatnog sistema nije proizvoljno,
već uslovljeno samom geometrijom segmenta ili preciznije položajem
osa zglobova. Posmatrajmo jedan segment lanca (sl.2.34). Uobičajeno je kod
ovog pristupa da numerisanje zglobova lanca kreće od nule tj. S0,S1,...
.Tada u slučaju i-tog segmenta,prethodni zglob ima oznaku
Si-1,a naredni Si.
2.2.5 Položaj
robota
Mehanizam robota se,po
pretpostavci,sastoji od n segmenata vezanih u lanac.Kada bi segmentibili svi
slobodni(nevezani međusobno) tada bi za svaki segment bilo potrebno 6
veličina da bi se odredio njegov položaj (uprošćeno
rečeno, tri za položaj težišta segmenta i tri za
orijentaciju), a to znači 6n veličina za ceo lanac. Međutim,
kako je u pitanju lanac sa n stepeni slobode to je dovoljno zadati n
veličina da bi se jednoznačno odredio položaj celog lanca. Te n
veličine nazivaju se generalisane koordinate sistema. U robotici se kao
generalisane koordinate usvajaju pomeranja u zglobovima mehanizma. Naime, ako zadamo
geometriju mehanizma tada je dovoljno poznavati pomeranja u zglobovima da bi
bio poznat položaj celog lanca (sl.2.35).
Sl.2.35. Položaj mehanizma
Sada ćemo dati definiciju ove
generalisane koordinate preciznije. Ako ih označimo sa ql, q2,...,
qn , onda je qj generalisana koordinata koja
odgovara zglobu Sj tj. to je pomeraj u zglobu. Pretpostavimo da je Sj
rotacioni zglob. Tada je indikator sj=0, a j je pomeraj u zglobu, odnosno ugao
obrtanja. Ako jetranslatorni zglob, tada je indikator sj=1,
a predstavlja translatorno pomeranje u zglobu.Poznavanjem
indikatora znaćemo da li vrednostpredstavlja ugao ili translatorno
pomeranje.
Sada ćemo posmatrati zglob i pretpostaviti da je rotacioni. Na slici 2.36 prikazana je precizna definicija ugla qj. Na slici pod (a) prikazan je ispružen zglob kada je qj=0, a na slici pod (b) prikazan je ugao qj. Dakleje ugao između negativne projekcije vektoraj-1,j i projekcije vektora j,j na ravan normalnu na osuj .Pretpostavićemo sada da je zglob Sj translatorni. Na slici 2.37 prikazana je precizna definicija pomeranja qj. "Nulta" tačka od koje se meri pomeranje (j na slici) može se nalaziti bilo gde na osi translacije. Kada se ta tačka izabere onda se na osnovu toga određuje vektorj-1,j . Koordinatu qj definisaćemo kao rastojanje sa odgovarajućim znakom u odnosu na pozitivni smer ose.
Ovde je potrebno uvesti i jedan dopunski vektor . Sa slike se vidi:
ili opštije
Za translatorni zglob je sj=1 i
relacija (2.6) daje isto što i prethodni izraza za rotacioni zglob sj=0 i relacija
(2.6) pokazuje da je .
Generisane koordinate koje određuju međusobni
položaj susednih segmenata nazivaju se često unutrašnjim
koordinatama mehanizma robota i govori
se o unutrašnjem
položaju robota. Uvedimo još n-dimenzioni vektor (kolona matrica)
generalisanih, odnosno unutrašnjih
koordinata:
Sl. 2.36. Generalisana koordinata u rotacionom zglobu
Do sada smo diskutovali o položaju mehanizma robota. Razmotrimo sada definisanje položaja hvataljke robota što je ključno pitanje za izvršavanje manipulacionog zadatka. Prvo ćemo uvesti jedan spoljašnji nepokretni koordinatni sistem (vezan za podlogu) sa osama čiji početak smeštamo u prvi zglob lanca (S1) (na slici 2.35).
Sada ćemo razmotriti vezu
između uvedenog nepokretnog i ranije uvedenih koordinatnih sistema vezanih
za segmente. Posmatrajno neki vektorkoji predstavlja neku
karakteristiku j-tog segmenta ili zgloba. Taj vektor se može izraziti
projekcijama na ose nepokretnog sistema kada se označava sa .
Može se takođe izraziti projekcijama na vezani sistem j-tog
segmenta kada se označava sa
Sl. 2.37. Generalisana koordinata u translatornom zglobu
Konačno, nekada je potrebno
izraziti vektor projekcijama na vezani sistem prethodnog segmenta (j-1). Tada
se označava sa . Između ovih vektora postoji
matrična veza. Može se naći matrica Aj dimenzija 3x3
koja zadovoljava
(2.8)
i koja se naziva transformaciona
ili prelazna matrica vezanog sistema j- tog segmenta. Matrica omogućava
prelaz vektora iz j-tog vezanog sistema u spoljašnji nepokretni, i
obrnuto:
(2.9)
Pri množenju vektora
matricom, vektor se posmatra kao kolona matrica dimenzija 3x1 koja sadrži
projekcije vektora. Može se takođe naći i matrica Aj-1,j
dimenzija 3x3 koja zadovoljava
(2.10)
i naziva se relativnom prelaznom
matricom. Ona omogućava prelaz vektora iz jednog vezanog sistema u drugi
(iz j-tog u prethodni, tj. (j-1)). Obrtna transformacija je
(2.11)
Sada treba uočiti da relativna prelazna matrica Aj-1,j zavisi samo od koordinate i može se izračunati ukoliko je zadata geometrija susednih segmenata i koordinata . Matrica Aj zavisi od svih koordinata prethodnih zglobova tj. od. Detaljno izvođenje postupka za izračunavanje prelaznih matrica dato je u prilogu Pl.
Korišćenjem prelaznih matrica prebacivaćemo iz sistema u sistem vektore geometrije, vektore brzina, ubrzanja, sile i sl.
Sada ćemo preći na
analizu mogućnosti određivanja položaja završnog
uređaja,odnosno hvataljke robota. U odeljku 2.2.3 već je
izložena mogućnost kretanja hvataljke i rečeno je da hvataljka
može imati najviše šest stepeni slobode: tri translacije i tri
rotacije. Zato, da bi se odredio potpuni položaj hvataljke, potrebne su
tri veličine koje će odredit i njen položaj (translacije) i tri
veličine koje će definisati orijentaciju, odnosno uglovni
položaj (rotacije).
Pošto je hvataljka telo, to, kada govorimo o položaju određenom trima veličinama, mislimo na položaj jedne tačke tog tela. U slučaju hvataljke robota misli se po pravilu na vrh hvataljke (na ranijim slikama tačka A). Podsetićemo se da smo pod pojmom vrh hvataljke podrazumevali onu tačku završnog uređaja čije pozicioniranje je bitno u konkretnom manipulacionom zadatku.
Položaj vrha određujemo
sa tri Dekartove koordinate: xA, yA, zA. Orijentaciju određujemo
pomoću jednog pravca i ugla obrtanja oko tog pravca.
Sl. 2.38. Dva primera zadavanja orijentacije
S obzirom na to da je pitanje pozicije tačke A jasno, razmotrićemo detaljnije pitanje orijentacije. Prvo, potrebno je da određenu zadatu osu hvataljke dovedemo u željeni položaj u prostoru. Način zadavanja ose hvataljke, odnosno pravca u odnosu na hvataljku može biti različit. Recimo da je jedna od mogućnosti zadavanje jediničnog vektora ose izraženog u vezanom sistemu hvataljke: vektor . Uvodjenje pravca i obrtanja oko tog pravca kao načina zadavanja orijentacije veoma je prikladno za definisanje manipulacionih zadataka. Dva primera smo već videli na slikama 2.31 i 2.32, a još dva prikazana su na slici 2.38. U primeru (a) potrebno je osu zavrtnja (*) poklopiti sa osom otvora, a zatim vršiti obrtanje ψ oko tog pravca. U primeru (b) bitna je osa prosipanja i ugao ψ koji određuje zakon prosipanja.
Dakle, izbor pravca (*)
(jediničnog vektora ) je u principu proizvoljan i on se bira
tako da odgovara konkretnom manipulacionom zadatku.
Gledano u odnosu na
spoljašnji nepomični prostor, odnosno spoljašnji
koor-dinatni sistem, pravac (*) možemo definisati pomoću dva ugla
θ i φ, kako je to prikazano na slici 2.39. Tako dolazimo do skupa od
tri ugla θ , φ i ψ koji definišu orijentaciju. Ugao θ
obično se naziva ugao pravca ili ugao skretanja, φ se naziva ugao
elevacije ili ugao propinjanja, a ψ se naziva ugao valjanja.
Sl. 2.39. Uglovi orijentacije
Istaknimo da ovakav način zadavanja orijentacije pomoću tri ugla može dovesti do određenih problema. Konkretno, ako je pravac (*) vertikalan tj. φ = , tada ugao nije moguće jednoznačno odrediti (sl. 2.40). Takve položaje nazivamo prividnim singularitetima za razliku od singulariteta koji su objašnjeni u odeljku 2.2.3. koje možemo nazvati stvarnim singularitetima jer tada robot "gubi" neke stepene slobode.
Ukupno, položaj hvataljke (ili nekog drugog završnog uređaja) određujemo sa šest parametara: xA,yA,zA , θ , φ,ψ. Ovaj broj parametara je prikladan ukoliko se hvataljka posmatra kao izolovano telo ili, pak, ako je nh = 6. Međutim, ako je nh < 6 (na primer, kod robota sa 5 stepeni slobode nh n = 5) tih šest parametara nisu nezavisni. U slučaju nh = 5 usvajamo pet nezavisnih parametara kojima određujemo položaj. Neka su to xA,yA,zA, θ, φ.
Ako je nh = n, tada
uvedenih šest ili pet parametara određuju i položaj celog
mehanizma. Kako se ovim parametrima određuje položaj u odnosu na
spoljašnji prostor (spoljašnji sistem), to često koristimo
termin spoljašnje koordinate robota.
Dakle, u slučaju nh
= 6 vektor spoljašnjih koordinata je
(2.12a)
a u slučaju nh = 5
vektor je
(2.12b)
Ako je u pitanju robot sa manje od
5 stepeni slobode, tada se ne može govoriti o spoljašnjim
koordinatama, već se govori o generalisanom vektoru položaja X koji
uključuje neke spoljašnje i neke unutrašnje koordinate. Na
primer, ako je nh = n = 4 tada uvodimo vektor.
Dakle, rešavamo pozicioniranje i preostaje jedan stepen slobode za
dopunske radnje (sl. 2.41). U prethodnom izlaganju uveli smo određivanje
položaja preko unutrašnjih koordinata (2.7) i preko spoljašnjih
koordinata (2.12). Nameće se i logično pitanje veze ovakvih
načina izražavanja. Vektor q je dimenzije n, i ako je zadat, onda je
jednoznačno određen i vektor X dimenzije nh (podsećamo nh
n). Obratni problem je
složeniji. Vektor X polazi od položaja hvataljke i ako je nh
< n, tada postoji beskonačno mnogo rešenja q koja zadovoljavaju
zadato X. Ako je nh, = n (nesingularni robot) tad je za zadato X,
vektor q ili jednoznačan ili višeznačan ali sa konačnim
brojem rešenja. Na slici 2.42. prikazan je jedan slučaju
jednoznačnog rešenja (a) i jedan slučaj dvoznačnog
rešenja (b).
Sl. 2.40. Prividni singularitet
Sl.
2.41. Robot sa četiri stepena slobode
Sl. 2.42. Jednoznačnost i višeznačnost rešenja
unutrašnjeg položaja
U slučaju nh <
n (singularni ili redundantni robot) problem višeznačnosti je
složen i nećemo ga ovde razmatrati. Višeznačnost
rešenja kod nesingularnih robota (nh = n) rešavaćemo
u oblasti kinematike tako što ćemo umesto računanja koordinata q
računati njihove vremenske izvode q, odnosno generalisane brzine.
2.3.
KINEMATIKA MANIPULACIONIH ROBOTA
U ovom odeljku govorićemo o
brzinama i ubrzanjima robota, o različitim načinima izražavanja
ovih veličina i vezi između različitih načina. Posebnu
pažnju obratićemo na transformaciju koordinata, odnosno preračunavanje
kretanja iz unutrašnjih u spoljašnje koordinate i obratno.
2.3.1. Generalisane brzine i ubrzanja
Kada govorimo o brzini, razmotrićemo na šta se taj pojam odnosi. Prvo, uvešćemo pojam generalisanih brzina. Kako je već u prethodnom odeljku rečeno, generalisane brzine su izvodi po vremenu generalisanih koordinata, dakle . Drugačiji naziv je unutrašnje brzine jer predstavljaju izvode pomeranja u zglobovima mehanizma, odnosno brzine relativnog pomeranja segmenata.
Dalje, uvodimo i pojam generalisanih ili unutrašnjih ubrzanja. To su izvodi generalisanih brzina, odnosno drugi izvodi generalisanih koordinata. Iz toga sledi da su ubrzanja .
Uvodimo sada, pored vektora
generalisanih koordinata q, još i n-dimenzione vektore generalisanih
brzina () i ubrzanja ().
(2.13)
(2.14)
2.3.2. Brzine i ubrzanja segmenata mehanizma
Posmatrajmo jedan segment lanca, na primer j-ti, kao telo u prostoru. Tada je stanje tog tela u nekom trenutku vremena određeno njegovim položajem i brzinom. O položaju tela govorili smo ranije, a sada ćemo razmotriti brzinu. Potrebno je poznavati brzinu težišta C, i ugaonu brzinu segmenta. Označimo vektor brzine težišta sa , a vektor ugaone brzine sa (sl.2.43).
Razmotrimo mogućnost izražavanja
brzina i, u funkciji
generalisanih brzina . Ugaona brzina je posledica
superpozicije svih rotacija u zglobovima lanca, počevši od podloge
pa do posmatranog segmenta "j". Posmatrajmo zglob Sk. Ako
je zglob rotacioni tada je sk=0 i vektor rotacije je. S obzirom na
to da zglob ne mora biti rotacioni, to u opštem slučaju vektor
rotacije pišemo u obliku . Za translatorni zglob (sk =
1) ovaj izraz je jednak nuli. Slaganjem rotacija dobijamo
(2.15)
što se može napisati i u
rekurzivnoj formi
(2.16)
Brzinu težišta možemo takođe dobiti
preko teorije vezanih vektora ili pak diferencirajući vektor položaja
težišta Kako je kod lančanih sistema veoma
pogodno raditi sa rekurzivnim izrazima, to vektor položaja
težišta pišemo u obliku (sl.2.43):
k
Diferenciranjem po vremenu
dobijamo
(2.17)
pri čemu smo koristili
činjenicu da je izvod nekog vektora vezanog za segment
"k" jednak:, gde je ugaona brzina
segmenta. Na ovaj način dobili smo izraze (2.16) i (2.17) koji
predstavljaju rekurzivne izraze za brzine segmenata. Diferenciranjem po vremenu
dobija se ugaono ubrzanje segmenta i ubrzanje
težišta
(2.18)
k
(2.19)
gde je dato relacijom
(2.6).
Ako je poznato da je za nulti segment lanca tj. podlogu mehanizma tada izrazi (2.16)-(2.19) omogućavaju da se izračunaju postepeno, idući od prvog ka poslednjem, brzine i ubrzanja svih segmenata lanca.
Svi vektori koji se javljaju u
ovim izrazima izraženi su u odnosu na nepokretni koordinatni sistem. Da bi
došlo do primene izraza, potrebno je znati za
svaki zglob lanca. Ako je poznata geometrija lanca, tada su ovi vektori poznati
ali izraženi u odnosu na vezane sisteme segmenta tj. poznato je .Dalje, ako je poznat položaj
lanca, tj. koordinate q1,...,qn tada se mogu
izračunati prelazne matrice A1,...,An . Sada
tražene vektore u nepokretnom sistemu možemo izračunati kao:
(2.20)
Ukupno, za izračunavanje svih brzina segmenata lanca potrebno je znati geometriju i položaj lanca kao i generalisanje brzineZa ubrzanje je potrebno znati još i .
Treba spomenuti još jednu
mogućnost. Umesto izraza (2.16)-(2.19) i transformacija (2.20) kojima se
vektori "prebacuju" u spoljašnji nepokretni sistem, moguće
je zadržati vektore u vezanim sistemima i modifikovati izraze
(2.16)-(2.19) tako da važe za vezane sistema. Polazeći od (2.16) i
(2.17), za brzine važi
(2.21)
(2.22)
a analogno se iz (2.18) i (2.19)
dobijaju izrazi za ubrzanja. Bez obzira na to što korišćenje
izraza u vezanim sistemima omogućava veću brzinu računanja, mi
ćemo, radi jasnoće, nadalje zadržati izražavanje u
spoljašnjem nepokretnom sistemu. Brzine i moguće
je predstaviti u obliku linearnih formi po generalisanim brzinama:
(2.23)
(2.24)
(gde "j" u oznakama i predstavlja gornji indeks, a ne eksponent).Sada je ubrzanja i moguće predstaviti u obliku linearnih formi po generisanjim ubrzanjima:
Pređimo sada na matičnu
formu pisanja. U tom cilju uvedimo dogovor da za svaki vektorodgovarajuću
3x1 matricu označavamo sa a. Tada izraze (2.23)-(2.26) možemo pisati
u obliku
(2.27)
(2.28)
(2.29)
(2.30)
gde su sledeće matrice,
dimenzija 3 x n odnosno 3 x 1, čije su kolone koeficijenti linearne forme:
(2.31)
[γj]
(2.32)
a matrice i su
(2.33)
(2.34)
Ove matrice se često
pišu bez gornjeg indeksa "j" (samo) zato
što se pri rekurzivnom sračunavanju samo vrše njihove izmene i
dopunjavanja kako bi odgovarale novom segmentu. Razmotrimo kako se menjaju
matrice pri povećanju j. Polazeći
od rekurzivnih izraza (2.16)-(2.19) može se pokazati da je u j-toj
iteraciji (prelaz od j- 1 na j) potrebno izvršiti sledeće izmene i
dopunjavanja matrica
k
(2.35)
k
(2.36)
k
(2.37)
k
= (2.38)
Formiranje matrica moguće
je dakle izvršiti rekurzivno. U svakoj iteraciji (na primer "j")
lancu se dodaje novi segment. Izračunava se relativna prelazna matrica
(Aj-1,j ) i apsolutna (Aj ), pa se vektori geometrije prebacuju u
spoljašnjoj nepokretni sistem. Sada se primenom rekurzivnih izraza
(2.35)-(2.38) formiraji matrice polazeći od
2.3.3. Brzina i ubrzanje hvataljke robota
Hvataljka robota, kako je već rečeno, predstavlja poslednji tj.n-ti segment lanca.Težište hvataljke je tada C.Ako tako posmatramo, onda brzinu težišta i ugaonu brzinu hvataljke možemo izračunati onako kako je prikazano u prethodnom odeljku. Dakle, brzine hvataljke izražavamo rekurzivno polazeći od brzina prethodnog (pretposlednjeg segmenta). Iato važi i za ubrzanje težištai ugaono ubrzanje .
Termin hvataljka koristimo za
poslednji segment lanca, bez obzira na to da li je završni uređaj
zaista hvataljka ili pištolj za prskanje bojom ili neki drugi uređaj.
Takođe, u fazi kada prava hvataljka nosi neki radni predmet, tada pod
terminom hvataljka podrazumevamo ceo taj složeni poslednji segment (tj.
hvataljku zajedno sa predmetom). Podsetimo još da smo pod pojmom vrh
hvataljke podrazumevali onu tačku hvataljke koja je od ključnog
interesa za vršenje postavljenog manipulacionog zadatka (vidi tačku A
na slikama 2.27 i 2.31).
Sl. 2.44. Brzina vrha hvataljke
Do sada smo pokazali kako se mogu izraziti brzina i ubrzanje težišta kao i ugaona brzina i ubrzanje hvataljke robota. Međutim, za izvršenje praktičnih mani-pulacionih zadataka brzina težišta hvataljke nije od neposrednog interesa. Bitna je brzina vrha hvataljke. Ovu brzinu oz-naličemo sa i možemo je izračunati polazeći od brzine težišta (sl. 2.44).
Prvo je neophodno definisati položaj vrha hvataljke (A) u odnosu na njeno težište (Cn). Uvedimo radi toga .Sada, pri zadavanju geometrije hvataljke zadajemo vektore i izražene u vezanom sistemu.
Često se umesto koristi oznaka da bi se dobila analogija sa prethodnim segmentima. Međutim, u tom slučaju se pojavljuje indeks n + 1 koji sugerira postojanje narednog zgloba (Sn+1), a to smatramo nezgodnim.
Položaj tačke A u
prostoru određen je vektorom
(2.39)
Diferenciranjem dobijamo brzinui ubrzanje vrha
hvataljke.
(2.40)
(2.41)
U cilju primene ovih formula
vektortreba izraziti u spoljašnjem
sistemu:
.
Izraze za brzinu i ubrzanje vrha
možemo napisati i u matričnom obliku. Prethodno u izrazu (2.41)
uvedemo oznaku . Sada (2.40) i (2.41) pišemo
u obliku
(2.42)
(2.43)
gde su vektori prevedeni u kolone
matrica, označava 3x3 matricu
(2.44)
koja odgovara vektorui služi da se vektorski proizvod
izrazi u matričkoj formi( ). Uvođenjem
(2.27) i (2.28) u (2.42), a zatim (2.29) i (2.30) u (2.43) dobija sĺ
k
k
odnosno
(2.45)
(2.46)
gde je
(2.47)
Na ovaj način izrazili smo brzinu
i ubrzanje vrha hvataljke u obliku linearne forme po generalisanim brzinama , odnosno ubrzanjima .
Što se tiče ugaone brzine i ubrzanja hvataljke ostale su u
važnosti formule (2.27) i (2.29) uz indeks j= n:
(2.48)
(2.49)
Često se izrazi (2.45) i
(2.48) odnosno (2.46) i (2.49) pišu zajedno tj.
(2.50)
odnosno
(2.51)
Na levim stranama ovih relacija
nalaze se kolona matrice dimenzije 6x1. Ove matrice brzina i ubrzanja u
potpunosti određuju kretanje hvataljke. Na desnim stranama se nalaze
kolona matrice q i q dimenzije nxl koje određuju kretanje celog
mehanizma.Razmotrimo sada mogućnost izračunavanja jednog kretanja, u
funkciji drugog. Očigledno da se kretanje hvataljke (vA,wA,wA,n) uvek može izračunati
polazeći od kretanja mehanizma. Međutim obratno
izračunavanje je složeniji problem i može se izvršiti samo
u slučaju n = 6. Tada je matrica kvadratna i može
se invertovati (podrazumevajući da je determinanta različita od nule
tj. da je nh = n, pa nema singularita). Ako je n < 6 sistem je
preodređen, a u slučaju n > 6 neodređen. Preodređenost
tumačio tako što hvataljka ne može da se kreće proizvoljno
(šestodimenziono) već kretanje treba svesti na n nezavisnih
parametara (podrazumevajući nh = n). Tako dolazimo do
izražavanja kretanja hvataljke preko nh = n spoljašnjih koordinata
kako je već ranije definisano izrazom (2.12), tj. za n = 6 i za n =
5. Ako je n < 5, onda uvodimo generalisani vektor položaja, npr. X =
[xAyAzAq4]T.
2.3.4. Direktni i inverzni problem kinematike
Potražimo vezu između kretanja u unutrašnjim koordinatama q(t) i kretanja u spoljašnjim koordinatama X(t). Za preračunavanje q X može se uvek formirati algoritam tj:
X = η(q) (2.52)
Međutim, inverzni postupak q
= η-1(X) bio bi suviše komplikovan. Zato ćemo potražiti
vezu unutrašnjih brzina (i X) kao i unutrašnjih ubrzanja ( i ). Ove veze dobijaju se
diferenciranjem relacije (2.52). Tako se dobija:
(2.53)
(2.54)
odnosno
(2.55)
(2.56)
Matricu J = /q dimenzije nh n nazivamo
Jakobijan, a matricu dimenzije nh 1
zvaćemo pridružena matrica. Jakobijeve forme (2.55) i (2.56)
služe nam za preračunavanje brzina i ubrzanja. Da bi
preračunavanje u oba smera bilo jednoznačno smatraćemo da je J
kvadratna matrica (nh= n) i da je det J0 (nema singulariteta,
ni pravih ni prividnih). Postupak formiranja Jakobijana prilično je
složen problem. Pristupa njegovom, rešavanju ima više. U prilogu
P2 izložen je jedan postupak kojim se izračunavaju Jakobijan i
pridružena matrica u funkciji unutrašnjih koordinata tj. J(q) i A(). Postupak je izveden za slučaj n =
5 i n = 6, i polazi od izraza (2.51) koji se transformiše uvođenjem
vektora X. Preciznije, je već deo vektora, a
preostaje da se izrazi u funkciji i i. Razmotrimo sada kako se može
zadati kretanje robota. Jedna od mogućnosti je da se zada vremenska
promena generalisanih (tj. unutrašnjih) koordinata, dakle q(t). Zadajemo,
znaci, direktno kretanja u zglobovima mehanizma. Pošto znamo kako se tokom
vremena menjaju unutrašnje koordinate q1(t),...,qn(t)
jednoznačno je određeno kretanje robota. Zakonima q(t) određeni
su i izvodi (t) i (t). Sada je
moguće izračunati spoljašnje kretanje korišćenjem
izraza (2.52), (2.55) i (2.56). Ovakvo sračunavanje spoljašnjeg
kretanja X(t) ako je poznato unutrašnje kretanje q(t), nazivamo direktnim
problemom kinematike robota. U nekim prostijim manipulacionim zadacima direktno
se zadaju pomeranja u zglobovima. Primer za to bio bi robot na slici 2.45.
Zadatak je prikazan shematski na istoj slici. Radni predmet treba preneti prvo
iz tačke M0 u tačku M1 . Pri ovakvom kretanju
menja se koordinata q1 za π/2. Takođe se menja koordinata
q4 koja vrši obrtanje radnog predmeta za π /2. Pri
kretanju od M1 do M2 menja se opet q1 unatrag
za π /2 i istovremeno se menja q2 spuštajući predmet
za 0,5 m. Konačno, pri kretanju od M2 do početnog položaja
M0 opet se menja q2 ovog puta naviše za 0,5 m i
menja se q4 koja obrće predmet unatrag za π /2
vraćajući ga tako na polazni položaj. Ovakvo zadavanje zadatka
pogodno je samo za jednostavne manipulacione zadatke. U složenijim
zadacima uvek je neophodno ostvariti određeno kretanje hvataljke koja
će pri tome izvršiti postavljeni zadatak (vidi na primer sliku 2.38).
Jasno je da je nemoguće unapred predvideti pomeranja u zglobovima (tj.
q(t)) koja bi ostvarila željeno kretanje hvataljke. Zato takve zadatke
određujemo preko vektora spoljašnjeg položaja hvataljke (vektor
X). Zadaćemo kretanje vrha tako što zadajemo zakon vremenske promene
koordinata xA(t), yA(t) i zA(t). Zakon promene orijenatacije zadajemo tako
što zadamo vremensku promenu uglovaθ(t),φ(t) i ψ(t). U
slučaju robota sa pet stepeni slobode ψ (t) je zavisno i ne zadaje
se.
Sl. 2.45. Zadavanje kretanja preko unutrašnjih koordinata
Zadali smo manipulacioni zadatak preko vremenske promene vektora X(t). Sada ćemo pokazati kako se može izračunati unturašnje kretanje q(t) ako je spoljašnje X(t) zadato. Zakon X(t) određuje i (t) i (t). Sada bi na osnovu X trebalo odrediti q, na osnovu odrediti i konačno, na osnovu odrediti . Međutim ovo nije lako realizovati. Već smo ranije rekli da je računanje q iz poznatog X veoma složen posao, često bez jednoznačnog rešenja. Dalje, računanje pomoću relacije (2.55) zahteva prethodno sračunavanje Jakobijana, a njega ne možemo izračunati jer ne znamo q. Isto vazi i za pokušaj računanja pomoću relacije (2.56).
Ovaj složeni problem izračunavanja unutrašnjeg kretanja q(t) iz poznatog spoljašnjeg kretanja X(t) naziva se inverzni problem kinematike robota. Sa nekoliko reči ćemo objasniti zašto je rešavanje ovog problema važno. Sa jedne strane, zaključili smo da je manipulacioni zadatak pogodno zadati u obliku kretanja hvataljke po zakonu X(t). Sa druge strane robot se pokreće pomoću motora koji deluju u zglobovima i koji izazivaju pomeranja u zglobovima. Prema tome, za delovanje motora bitna je promena koordinata u zglobovima tj. q1(t), q2(t), ...,qn(t). Da bi se izvršila sinteza upravljanja kretanjem robota neophodno je sračunati unutrašnje kretanje q(t) odnosno rešiti inverzni problem kinematike.
Sada ćemo objasniti jedan praktičan postupak za numeričko rešavanje inverznog problema kinematike. Treba naglasiti da je postupak namenjen za korišćenje na računaru.
Pre nego što predeno na objašnjenje samoga postupka uvešćemo pojam stanja mehaničkog sistema. U strogu definiciju pojma stanja u smislu teorije sistema ovde nećemo ulaziti. Zadovoljićemo se time da kažemo da je stanje mehaničkog sistema u nekom trenutku određeno poznavanjem položaja q i brzina . Ove dve veličine (u stvari dve matrice q i ) definišu stanje zato što su položaj i brzine one veličine koje se ne mogu trenutno promeniti, već se do narednog beskonačno bliskog trenutka vremena mogu promeniti samo beskonačno malo. Za razliku od njih ubrzanje se može skokovito menjati u trenucima početka ili prestanka dejstva sile. Na ovaj način, položaj i brzine se javljaju kao neophodni početni uslovi za određivanje daljeg kretanja sistema. Zato ove veličine uzete zajedno nazivamo stanjem sistema. Pod stanjem podrazumevamo par kolona matrica, q i .
Analizirajmo sada početno stanje sistema koji ovde posmatramo, a to je kine-matički lanac robota. Početno stanje određeno je vrednostima q i u početnom trenutku vremena t0, dakle q(t0) i (t0). U slučaju neredundantnih i nesingularnih mehanizama početno stanje može se definisati i preko položaja hvataljke i njene brzine u početnom trenutku t0 , dakle X(t0) i (ta). Ranije smo već napomenuli da ćemo zadatak zadati preko kretanja hvataljlke X(t). Na taj način biće određeno i početno stanje X(t0),(t0) . Postupak koju ćemo predložiti za rešavanje inverznog problema kinematike zahteva poznavanje početnog stanja u obliku q(t0), (t0). Za taj početni trenutak morao bi se sprovesti ranije spominjani složeni proračun unutrašnjih koordinata na osnovu poznatog položaja hvataljke X. Srećom, videćemo da se takav proračun obavlja samo jednom i to za početni trenutak vremena. Za kasnije trenutke vremena to neće biti potrebno. Treba još istaći da je, bez obzira na zadavanje zadataka preko kretanja hvataljke, često poznato početno stanje u obliku q(t0), (t0). To je otuda što robot obično kreće iz nekog svog uobičajenog polaznog položaja u kome su poznati svi položaji zglobova tj. sve koordinate q. Početne brzine su tada obično jednake nuli jer robot kreće iz mirovanja.
Sledeće što ćemo analizirati biće način numeričkog zadavanja vremenskih funkcija. Umesto zadavanja nekim analitičkim izrazom, što u složenijim slučajevima nije ni moguće, funkciju vremena zadajemo u vidu niza tačaka, odnosno nizom njenih vrednosti koje odgovaraju nizu trenutaka vremena. Primenimo ovo na slučaj zadavanja vremenske promene položaja hvataljke X(t). Sada bi za svaku komponentu kolona matrice X zadali niz vrednosti koje bi definisale promenu te komponente tokom vremena. Problem nastaje onda kada treba odrediti izvode (t) i (t) i kada bi trebalo izvršiti numeričko diferenciranje. Kako je numeričko diferenciranje nepoželjan zadatak u svakom proračunu, to ćemo sada izložiti postupak kojim će se ovaj problem izbeći.
Poći ćemo od
činjenice da početno stanje X(t0), (t0)
i vremenska promena ubrzanja (t) jednoznačno određuju
kretanje X(t). Zato ćemo manipulacioni zadatak i zadati preko
određenog početnog stanja i vremenske promene ubrzanja. Pokažimo
sada na dva primera da je zadavanje kretanja preko ubrzanja veoma pogodno.
Zamislimo da želimo pravolinijsko kretanje vrha robota između dve
tačke uz trougaoni profil brzine (slika 2.46al) tj. do polovine putanje
(deo A0A') vrh ubrzava, a od polovine (deo A'A1) usporava
tako da se u tački A1 ponovo zaustavi. Profil ubrzanja tada je
prikazan na (slici 2.46bl) i može se lako zadati:
(2.57)
analogno
Sl. 2.46 - Trougaoni i trapezni profil brzine
odnosno 3o polovine vremena
izvršenja zadatka ubrzanje je konstantno i iznosi +a, a od polovine
konstantno i negativno i iznosi —a. U slučaju trapeznog profila brzine
(sl. 2.46a2) razlikujemo period ubrzavanja (deo A0A'), period
konstantne brzine (deo A'A") i period usporavanja (deo A"A1).
Profil ubrzanja prikazan je na slici 2.46b2 i može se izraziti u obliku:
(2.58)
analogno
gde je T ukupno vreme, a tu vreme
ubrzavanja, odnosno usporavanja. Treba reći da ova dva profila brzine
spadaju u najčešće profile u praktičnim manipulacionim
zadacima. To je važno jer vidimo da se upravo u tim najčešćim
slučajevima ubrzanje zadaje veoma jednostavno (relacije 2.57 i 2.58).Kako
smo već rekli da vreme i funkcije vremena posmatramo diskretno tj. u nizu
trenutaka, to ćemo vremenski interval T u kome se zadatak izvršava
podeliti na k podintervala Δt uvodeći vremenske trenutke t0,
t1,...,tk (sl. 2.47). Sada ćemo relacije za ubrzanje
(2.57) i (2.58) tretirati diskretno tj. zadati nizove vrednosti koje odgovaraju
trenucima t0,t1,...,tk
Sl. 2.47 - Diskretizacija intervala kretanja
Sl. 48. Shema postupka za numeričko rešavanje inverznog
problema kinematike robota
Manipulacioni zadatak smatramo
zadatim preko zadatog početnog stanja q(t0), (t0)
i poznate vremenske promene ubrzanja hvataljke (t), Sada
ćemo objasniti postupak za rešavanje inverznog problema kinematike
tj.za sračunavanje unutrašnjeg kretanja q(t). Postupak počinje
sa početnim trenutkom t0 . Kako je q(t0) i (t0) poznato , to za taj
trenutak možemo sračunati Jakobijan J(q) i pridruženu matricu
A(q,). S obzirom na to da je (t0)
poznato, sada iz relacije (2.56) izračunavamo vrednost (t0)
u posmatranom trenutku t0 :
(2.59)
Posmatrajmo sada subinterval
između trenutka t0 i t1 . Za kratak subinterval t možemo smatrati da se q na tom
subintervalu neće promeniti već će zadržati vrednost
izračunatu za t0 . Tada možemo tokom t,
promenu q posmatrati kao jednako ubrzano kretanje i formirati izraze kojima
ćemo izračunati stanje q(t1),(t1)
u trenutku t1:
(2.60)
(2.61)
Sada, kada znamo stanje q(t1), (t1) u trenutku tl počinjemo novi ciklus ponavljajući za trenutak t1 ceo račun koji smo sprovodili za t0. Tako, rekurzivno izračunavamo stanje q, u trenucima t2, t3, ...,tk.
Kao rezulatat opisanog postupka dobij amo nizove vrednosti q i koji odgovaraju nizu trenutaka vremena, odnosno dobijamo zakon kretanja u unutrašnjim koordinatama q(t) i (t). Ovim smo rešili inverzni problem kinematike robota.
Ceo opisani postupak može se
prikazati shemom na slici 2.48.