Professional Documents
Culture Documents
ROBknj2 2V5
ROBknj2 2V5
Matrice rotacije
Prilikom obavljanja manipulacionog zadatka se kreću segmenti
kinematičkog lanca, a time i koordinatni sistemi vezani za svaki segmenat. Da bi se
kinematički lanac robota mogao kompletno opisati neophodno je da se mogu
odrediti veze između vezanih koordinatnih sistema, kao i njihova veza sa
nepokretnim koordinatnim sistemom (sisteemom vezanim za podlogu).
Prvo pretpostavimo dva ortogonalna sistema kao na sl.2.20. Neka je sistem
OXYZ nepokretan u trodimenzionalnom prostoru i uzima se kao referentni sistem.
Sistem OUVW može da rotira u
odnosu na referentni sistem. z
Dakle sistem OXYZ se može p
posmatrati kao koordinatni w
sistem vezan za podlogu, dok je
v y
OUVW sistem vezan za
segmenat ruke robota. Neka su u 0
( ix , jy , k z ) i ( iu , jv , kw ) x
jedinični vektori duž Sl. 2.20.
koordinatnih osa odgovarajućih
sistema. Tačka p u prostoru može biti predstavljena koordinatama vektora p u
oba koordinatna sistema, u obliku:
p ( p , p , p )T
uvw u v w
pxyz ( px , p y , pz )T
i i
p iu j y iu k z p
u u x x
pv j i j j j k p
p v x v y v z y
w k w ix kw j y k w k z pz
Pošto je skalarni proizvod komutativan jasno je da vrijedi:
Q R 1 RT
QR RT R R 1R I
Zgodno je posmatrati rotaciju oko jedne ose OXYZ koordinatnog sistema.
Označimo prelaznu matricu koja odgovara rotaciji oko OX ose za ugao sa Rx ,.
Tada je: ix iu i vrijedi (iz izraza (2.1.) za R i sa sl. 2.21):
2.Geometrija i kinematika robota 25
z
1 0 0 w
R
0 cos sin
x,
0 sin cos v
Slično, rotaciju oko OY ose za y
ugao i oko OZ ose za ugao , određuju
respektivno matrice: Sl . 2.21.
05. 0866
. 0 4 4.598
auvw 0866
. 05. 0 3 1964
.
0 0 1 2 2
05. . 0 6 4.732
08
buvw 0866
. . 0 2 4.196
05
0 0 1 4 4
U slučaju više uzastopnoh rotacija oko osnovnih osa OXYZ koordinatnog
sistema, potrebno je međusobno množiti više osnovnih matrica rotacije. Pošto
množenje matrica nije komutativno to se mora uzeti u obzir redoslijed izvršenih
rotacija.
Dobijena matrica R se naziva rezultanta ili kompozitna matrica rotacije.
Od posebnog je interesa geometrijski smisao matrice rotacije. Uzmimo
tačku p=(1,0,0)T nepokretnu u OUVW koordinatnom sistemu, tako da je
puvw iu pa je pu 1, pv 0 , pw 0 , odnosno
i i i i
p ix jv i x k w 1
x x u x u
py j y iu j y jv j y k w 0 j y iu .
p
z k z iu k z jv k z k w 0 k z iu
Prva kolona matrice rotacije predstavlja koordinate jediničnog vektora
OU ose iu izraženog u OXYZ koordinatnom sistemu. Na isti način, uzimajući da p
odgovara tačkama (0,1,0)T i (0,0,1)T, može se pokazati da druga i treća kolona
matrice rotacije predstavljaju jedinične vektore OV i OW osa koordinatnog sistema
OUVW izržene u koordinatama koordinatnog sistema OXYZ. Prema tome matrica
2.Geometrija i kinematika robota 27
rotacije geometrijsi predstavlja glavne ose rotirajućeg koordinatnog sistema u
odnosu na osnovni koordinatni sistem.
Pošto je invertovanje matrice rotacije ekvivalentno njenom
transponovanju, to vektor redak matrice rotacije predstavlja osnovne ose
referentnog sistema OXYZ predstavljene u rotirajućem OUVW koordinatnom
sistemu. Ovakav geometrijski smisao matrice rotacije je važan jer omogućava
razmatranje mnogih problema u robotici.
Značajne su sljedeće osobine matrica rotacije .
4. Svaki vektor kolona matrice rotacije predstavlja jedinični vektor
rotirajućih osa izražen u odnosu na jedinične vektore osa referentnog
sistema. Svaki vektor redak predstavlja jedinični vektor referentnog
sistema izražen u odnosu na jedinične vektore osa rotirajućeg
koordinatnog sistema.
2. Kako svaka kolona ili redak predstavlja jedinični vektor to je moduo
svake kolone i retka jednak jedinici. Takođe je determinata matrice rotacije desnog
koordinatnog sistema jednaka +1 dok je jednaka –1 za lijevo orijentisan
koordinatni sistem.
3. Kako kolone predstavljaju ortogonalne vektore, unutrašnji prouzvod
svake kolone sa drugom je jednak nuli. Isto vrijedi za proizvod redaka matrice.
4. Inverzna matrica matrice rotacije je jednaka transpotovanoj materici
rotacije.
R 1 R T RR T T3
px p y p
px , py , pz z
28
gdje je faktor skaliranja.
Sada se može uzeti homogena prelazna matrica 4h4 koja povezuje vektor
izražen u homogenim koordinatama iz jednog koordinatnog sistema u drugi.
Homogena prelazna matrica se može posmatrati u obliku četiri submatrice
R p matric a roracije vektor translacij e
A 3 x3 3x1
f1x3 1x1 transform. perspektiv e
skalirawe
Neka je vektor p u trodimenzionalnom prostoru izražen u homogenim
koordinatama p ( p x , p y , p z ,1 )T . Tada se koristeći koncept prelazne matrice,
3h3 matrica rotacije može proširiti na 4h4 homogenu prelaznu matricu A rot za
čistu rotaciju. Tada se osnovne homogene matrice rotacije mogu napisati:
1 0 0 0 cos 0 0
sin
0 cos sin 0 0 1 0 0
A x , ; A y ,
0 sin cos 0 sin 0 cos 0
0 0 0 1 0 0 0 1
cos sin 0 0
sin cos 0 0
A z ,
0 0 1 0
0 0 0 1
Gornja desna 3h1 submatrica ima efekat translacije OUVW koordinatnog
sistema paralelno osama referentnog sistema OXYZ. Ako je translaciono
pomjeranje u odnosu na referentni koordinatni sistem (x,y,z) tada je:
1 0 0
0 x
1 0
A y
tran 0 0 1
z
0 0 0 1
Ova 4h4 prelazna matrica se naziva osnovna homogena matrica
translacije.
2.Geometrija i kinematika robota 29
Donja lijeva 1h3 submatrica odgovara transformaciji perspektive koja je
pogodna za vizuelne sisteme i kalibraciji modela kamere. U razmatranju ćemo
uzeti da su elementi ove submatrice jednaki nuli, da pokažu da se radi o nultoj
transformaciji perspektive.
^etvrti dijagonalni elemenat obezbjeđuje globalno skaliranje vektora jer je
recimo
1 0 0 0 x x
0 1 0 0 y y
0 0 1 0 z z
0 0 0 S 1 S
pa su fizičke koordinate novog vektora:
x y Z
px ; py ; pz
S S S
Dakle sve se koordinate smanjuju ako je S>1 ili povećavaju ako je 0<S<1.
Sada je geometrijski smisao submatrice rotacije ekvivalentan smislu 3h3
matrice rotacije. Četvrti kolona-vektor homogene prelazne matrice određuje
položaj ishodišta OUVW koordinatnog sistema u odnosu na referentni koordinatni
sistem.
Inverzna matrica homogene prelazne matrice nije ekvivalentna njenoj
transponovanoj matrici. Može se pokazati da za homogenu prelaznu matricu:
n x s
x
a
x
p
x
n p n s a
s a p
A y y y y
(2.2)
n s a p 0 0 0 1
z z z z
0 0 0 1
vrijedi:
n n n nT p
x y z nT p
s s s s T p R T 3 x3 sT p
A x
1 y z
T a T p
a x a a a p
y z 0 0 0 1
0 0 0 1
30
Osnovne homogene matrice rotacije i translacije mogu se međusobno
množiti tako da predstavljaju niz rotacija i translacija u odnosu na referentni
koordinatni sistem. Dobijena matrica se naziva rezultantna (kompozitna)
homogena prelazna matrica. Pošto množenje matrica nije komutativno posebna
pažnja mora biti posvećena redoslijedu množenja odgovarajućih matrica. Sljedeća
pravila se preporučuju za nalaženje rezultante homogene prelazne matrice.
1) Početno stanje karakteristiše poklapanje koordinatnih sistema, pa je
homogena prelazna matrica 4h4 jedinična matrica, I4
2) Ako pokretni koordinatni sistem OUVW vrši rotaciju/translaciju oko osa
OXYZ sistema, tada se sa lijeva množi prethodna (rezultantna) homogena prelazna
matrica sa odgovarajućom osnovnom homogenom matricom rotacije/translacije
3) Ako pokretni koordinatni sistem OUVW vrši rotaciju/translaciju oko
vlastite osnovne ose, tada se sa desna množi prethodna (rezultantna) homogena
prelazna matrica sa odgovarajućom osnovnom homogenom matricom
rotacije/translacije.
Transformacije se koriste za određivanje pozicije i orjentacije pokretnih
objekata. Objekat se definiše položajem njegovih karakterističnih tačaka u
pokretnom koordinatnom sistemu (vezanom za objekat). Umjesto da se poslije
izvršenih kretanja računaju položaji svih tačaka u odnosu na fiksni sistem dovoljno
je pratiti kretenje sistema vezanog za objekat. Ako je poznat položaj vezanog
koordinatnog sistema poznat je i položaj tjela (pozicija i orjentacija) jer koordinate
svih tačaka u tom koordinatnom sistemu ostaju fiksne.
Primjer 2.3.
Odrediti homogenu prelaznu matricu A koja predstavlja rotaciju za ugao
oko OX ose, zatim translaciju a jedinica duž OX ose, zatim translaciju d jedinica
duž OZ ose, zatim rotaciju za ugao oko 0Z ose i na kraju translacija b jedinica
duž pokretne OV ose.
Rješenje:
A A A A A I A
z , z ,d x ,a x , 4,4 v ,b
A A A A A
z , z ,d x ,a x , v ,b
2.Geometrija i kinematika robota 31
C S 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0
S C 0 0 0 1 0 0 0 1 0 0 0 C S 0 0 1 0 b
A
0 0 1 0 0 0 1 d 0 0 1 0 0 S C 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
Primjer 2.4.
z0
Objekt je zadan sa šest
tačaka u odnosu na koordinatni
z
sistem vezan za njega kao što je (-1,0,2)
prikazano na sl. 2.22. Odrediti y0
(-1,4,0) y
položaj objekta nakon rotacije
za 900 oko z ose, zatim za 900 (1,0,2)
oko y ose i translacije 4 jedinice (-1,0,0) (1,4,0)
duž x ose.
(1,0,0)
x
x0
Sl. 2.22.
Rješenje:
Položaj svih naznačenih tačaka u odnosu na oba koordinatna sistema se
može zadati sljedećom matricom:
A B C D E F
1 1 1 1 1 1
0 0 0 0 4 4 .
0 0 2 2 0 0
1 1 1 1 1 1
Položaj vezanog koordinatnog sistema u odnosu na referentni je nakon zadatih
kretenja određen matricom:
32
0 0 1 4
1 0 0 0
A Ax ,4 Ay ,90 Az ,90 .
0 1 0 0
0 0 0 1
Na osnovu ove matrice i matrice koja definiše položaj tjele u vezanom sistemu
poznat je položaj tjela u odnosu na referentni koodrdinatni sistem (na sl. 2.23).
(1,4,0)
y
(-1,4,0)
y0
x0
(1,0,0)
z0 (1,0,2)
(-1,0,0)
x
(-1,0,2)
Sl. 2.23.
4 4 6 6 4 4 0 0 1 4 1 1 1 1 1 1
1 1 1 1 1 1 1 0 0 0 0 0 0 0 4 4
.
0 0 0 0 4 4 0 1 0 0 0 0 2 2 0 0
1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1
Rezultat se poklapa sa prikazanim položajem na slici 2.23.
2.Geometrija i kinematika robota 33
2.2.5. GEOMETRIJA SEGMENATA
ei 1
Ti
Sl. 2.18.
e~i e ,e ,e
i i i zi
xi y i
gdje iznad slova označava da se radi o trima projekcijama na sistem vezan za i -
ti segmenat. Oznaka ei podrazumijeva isti vektor izražen projekcijama na neki
spoljašnji nepokretni koordinatni sistem (na primjer sistem vezan za podlogu). Na
isti način se mogu izraziti vektori ri ,i i ri ,i 1 sa:
r~ r ,r ,r
i, i i, i i, i i, i
Xi Yi Zi
r~ r ,r ,r
i, i 1 i, i 1 i, i 1 i, i 1
Xi Yi Zi
Vektor ei1 se na isti način može izraziti. Međutim pošto će ~ ei 1
označavati projekciju ei1 na sistem vezan za i+1 segmenat to ćemo za projekcije
ei1 na sistem vezan za i - ti segmenat označiti sa:
e ei 1 ,ei 1 ,ei 1
~i 1 Xi Yi Zi
Dakle, vektori ~
ei ,e ,~
r i ,i ,~
ri ,i 1 su konstantni vektori i predstavljaju
~i 1
osobinu samog segmenta. Zato ćemo podrazumijevati da je zadana geometrija
segmenta ako su zadana ova četiri vektora. Analogno, da bi bila zadana geometrija
cijelog lanca (odnosno robota) potrebno je da su zadane geometrije svih njegovih
segmenata.
Navedeni način označavanja ćemo dalje zadržati. Za bilo koji vektor a
i
bez dodatne oznake podrazumijevat ćemo da je on izražen projekcijama na
spoljašnji nepokretni sistem. Oznaka a~ označava tri projekcije na vezani sistem
i
2.Geometrija i kinematika robota 35
segmenta istog indeksa "i", dok a označava projekcije na sistem prethodnog
~i
indeksa "i-1".
Pored segmenata, potrebno je definisati i zglobove kinematičkog lanca. Za
zglobove je potrebno definisati tip svakog zgloba, pa ćemo zato uvesti niz
indikatora s1,s2,...sn pri čemu vrijedi:
yi
ei
ei 1 xi
i
li Si
Pošto je A A A .... A
i 0,1 1,2 i 1, i očigledno matrica Ai (kod oba pristupa)
zavisi od svih koordinata prethodnih zglobova q ,..., q . Pomoću prelaznih
1 i
matrica ćemo prebacivati iz sistema u sistem vektore geometrije, vektore brzina,
ubrzanja, sile i slično.
Razmotrimo sada mogućnost određivanja položaja završnog uređaja
(hvataljke) robota. Pošto je hvataljka tijelo to ćemo njen položaj zadavati
2.Geometrija i kinematika robota 39
pozicijom (sa tri translacije) i tri veličine koje će odrediti orjentaciju. Poziciju
hvataljke ćemo određivati u odnosu na jednu tačku hvataljke (po pravilu je to vrh
hvataljke - tačka A na sl. 2.14.). Pozicija vrha hvataljke jednoznačno je određena
sa tri dekartove koordiate : X , Y , Z .
A A A
Za definisanje orjentacije hvataljke pogodno je koristiti uzdužnu osu
hvataljke. Način zadavanja ose hvataljke može biti različit. Jedna od mogućnosti
zadavanja je zadavanje jediničnog
vektora u pravcu uzdužne ose hvataljke, kao što
je označmo vektor sa h na Sl.2.30. Zadavanje z
orjentacije preko orjentacije ovog vektora pogodno h
je za zadavanje manipulacionog zadatka. Ovaj
vektor je jednoznačno orjentisan u odnosu na
s y
spoljašnji koordinatni sistem. Međutim, orjentacija
hvataljke nije jednoznačno desfinisana vektorom
h . Definišimo još jedinični vektor s okomit na
h i ravan u kojoj leže prsti otvorne hvataljke. Ako x
još definišemo ugao rotacije vektora s oko
vekotora h tada smo potpuno odredili orjentaciju Sl. 2.30.
hvataljke.
Uvedimo novi Dekartov sistem vezan za hvataljku i označimo njegove ose sa
X , Y , Z . Ovaj sistem će nam uglavnom služiti za definisanje orjentacije
or or or
hvataljke (orjentacijski sistem). Ovaj sistem se ne mora poklapati sa sistemom
vezanim za hvataljku u cilju definisanja njene geometrije i inercijalnih parametara.
Ovo zato jer je naprimjer sistem kojim definišemo vektor inercije pogodno
postaviti tako da se poklapa sa glavnim osama inercije hvatanjke. Međutim, ovako
definisane ose ne moraju biti pogodne za računanje uglova orjentacije u odnosu na
zadatak koji se izvršava.
Zato se posebno uvodi orjentacijski sistem. Neka je sada orjentacija hvataljke
određena sa dva jediniča vektora h i s , kao što je već pokazano. Postavit ćemo h
tako da definiše položaj ose Z , a vektor s položaj ose X . Na ovaj način je
or or
orjentacijskim sistemom jednoznačno definisana orjentacija hvataljke.
Neka je to sistem dobijen sledećim rotacijama u odnosu na referentni
spoljašnji sistem OXYZ (sl.2.31.)
rotacija oko z - ose za ugao
rotacija oko nove y - ose , u negativnom smijeru za ugao ,
rotacija oko nove x - ose za ugao
40
Ovako dobiveni uglovi se zovu Ojlerovi a zavisno od redosljeda rotacija
postoji više varijanti. Prethodna varijanta se obično naziva zyz.
zo z
r
yo
r
y*
y
x
x* xo
x* r
* Sl. 2.31.
Sada je prelazna matrica između orjentacijskog i referentnog sistema (vodeći
računa o tri rotacije kojima smo dobili ovaj sistem):
A A A A
z, y, z,
gdje je:
C S 0 C 0 S C S 0
A S C
0, A
0 1 0 , A S C 0
z, y, z,
0 0 1 S 0 C 0 0 1
CCC SS SC CSS CS
A SCC CS CC SSS SS
SC SS C
y
x
Sl. 2.32.
Prelazna matrica koja odgovara ovim rotacijama je
CC CSS SC CSC SS
A Az , Ay , Ax , SC SSS CC SSC CS
S CS CC