Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 13

1

1. MATRICE TRANSFORMACIJE

1.1. Transformacija koordinata tačke iz jednog u drugi koordinatni


sistem

Na sl. 1.1. su prikazani koordinatni sistemi (A) i (B), pri čemu je ishodište O B sistema (B) u

odnosu na ishodište OA sistema (A) pomjereno za vektor A p B , a sistem (B) je zarotiran za

određeni ugao u odnosu na sistem (A). Vektor položaja A p M neke tačke M u odnosu na
sistem (A) je
A   
pM A pB B pM , (1.1)
B 
gdje je: p M - vektor položaja tačke M u odnosu na sistem (B).

M
B
zA zB pM
 
A 
pM kB jB yB
 OB
 A  iB
kA pB
 yA
iA 
OA j xB
xA A

Sl. 1.1.

Izraz (1.1) se može napisati u obliku


        
A
x M iA  A y M jA  A z M k A  A x B iA  A y B jA  A z B k A  B x M iB  B y M jB  B z M k B ,
  
gdje su: iA , jA , k A - jedinični vektori sistema (A),
  
iB , jB , k B - jedinični vektori sistema (B),
A
x M , A y M , A z M - koordinate tačke M u sistemu (A),
A
x B , A y B , A z B - koordinate ishodišta sistem (B) u sistemu
(A),
B B B
x M , y M , z M - koordinate tačke M u sistemu (B).
  
Množeći skalarno posljednju jednačinu sa jediničnim vektorima iA , jA , k A dobit će se
nove tri jednačine
A
 
  
 
 
x M  A x B  B x M iA , iB  B y M iA , jB  B z M iA , k B ,   
A
 
  
 
 
y M  A y B  B x M jA , iB  B y M jA , jB  B z M jA , k B , 
(1.2)  
     
     
A
z M  A z B  B x M k A , iB  B y M k A , jB  B z M k A , k B .
2

Posljednji sistem jednačina se može prikazati u matričnom obliku

     
     
 A x M   iA , iB iA , jB iA , k B   B x M   A x B 
A  
     
         
 y M    jA , iB jA , jB jA , k B   B y M    A y B  . (1.3)
     
   
Az   k ,i k , j k  B   A z 
 M   A B A B A , k B  z M   B

Pojedine matrice i vektor-matrice u prethodnom izrazu su:


- vektori položaja tačke M u sistemima (A) i (B)

A xM  B xM 
A
 p M    A y M  , B
 p M    B y M  , (1.4)
Az  Bz 
 M  M
- matrica rotacije (3x3) sistema (B) u odnosu na sistem (A)
 

 iA , iB
 
 
iA , jB
 
i ,k    
 

B  R    jA , iB
A
 
j ,j  A B 
j ,k
A B 
 
,  (1.5)

 
 k ,i
 A B
A B
 
k A , jB k A , k B    
- vektor položaja ishodišta sistema (B) u odnosu na sistem (A):
A xB 
A
 p B    A y B  . (1.6)
Az 
 B

Osnovne osobine matrice rotacije A


B R su date izrazom:
A
B  R   AB  R  T  AB  R  1 . (1.7)

Očito je da su članovi matrice A


B R jednaki kosinusima uglova između odgovarajućih osa
sistema (A) i (B).
Sistem (1.3) se može pisati u obliku
A
 p M   AB  R  B  p M   A  p B  . (1.8)

Izraz (1.3) odnosno (1.8) se može napisati i u obliku matrice 4x4

     
     
 A x M   iA , iB iA , jB iA , k B A x B   B x M 
A  
    
 

     
 y M   jA , iB jA , jB jA , k B A y B   B y M 
A     
 z M k
  A B , i  
k A B, j  
 
k A , k B
A
z  
 B z M 
B 
 
,

(1.9)

 1   0  
 0 0 1   1
odnosno
3

 A  p M    AB  R  A
 p B   B  p M  
   , (1.10)
 1    0 1  1 
ili
A
 pM   AB  D B  pM  . (1.11)

Pri tome su pojedine matrice i vektor-matrice:


A
 pM  - prošireni vektor položaja tačke M u odnosu na sistem (A),
B
 pM  - prošireni vektor položaja tačke M u odnosu na sistem (B),
A
B  D - opšta matrica transformacije (4x4) sistema (B) u odnosu na
sistem (A).
Ako se koordinate tačke M transformišu preko više koordinatnih sistema od sistema (s) do
sistema (r), tada je na osnovu izraza (1.11)
r
 pM   r 1r  D r 1  pM  ,
r 1
 pM   rr21  D r  2  pM  ,
.....................................
s 1
 pM   s 1s  Ds  pM  ,
tako da je
r
 pM   r 1r  D rr21  D  s 1s  Ds  pM  . (1.12)

Pošto je
r
 pM   sr  Ds  pM  , (1.13)

tada je na osnovu dva posljednja izraza opšta matrica transformacije sistema (s) u odnosu na
sistem (r)
r
s  D  r 1r  Drr21 D    s 1s  D ,
odnosno
s 1
r
s  D   i 1i  D . (1.14)
ir

1.2. Specijalni slučajevi matrica transformacije

1.2.1. Matrica translacije

Neka je koordinatni sistem (B) translatorno pomjeren u odnosu na sistem (A) (sl. 1.2) za
vrijednost vektora
A
pB   A x B A
yB A
zB  T
. (1.15)
4

Tada opšta matrica transformacije A


B  D postaje matrica translacije A
B  T sistema (B) u
odnosu na sistem (A)

zA zB
A  yB
pB
OB
yA
xA xB
Sl. 1.2.

1 0 0 A
xB 
 A 
0 1 0 yB 
B  T 
A
, (1.16)
0 0 1 A
zB 
 
0 0 0 1 
odnosno

 T   I 3  pB
A  A

, (1.17)
  0
B
1 

gdje je:  I 3  - jedinična matrica (3x3).

1.2.2. Matrice rotacije i proširene matrice rotacije

Ako je koordinatni sistem (B) zarotiran u odnosu na sistem (A) ali nije pomjereno njegovo
ishodište u odnosu na ishodište sistema (A), tada opšta matrica transformacije AB  D postaje
proširena matrica rotacije sistema (B) u odnosu na sistem (A):

zA zA
zB zB zA , zB
 
yB yB
yA , yB 

yA
yA xA xA 
xA,xB 
xB xB

Sl. 1.3.

Matrica rotacije kao i proširena matrica rotacije sistema (B) u odnosu na sistem (A), pri
rotaciji oko ose xA za ugao  (sl.1.3.a), imaju oblik
1 0 0 0
1 0 0  0 cos   sin  0
R x   0  sin     
A A
cos  , R  . (1.18)
B B x
0 sin  cos  0
0 sin  cos    
0 0 0 1
5

Matrica rotacije kao i proširena matrica rotacije sistema (B) u odnosu na sistem (A), pri
rotaciji oko ose yA za ugao  (sl.1.3.b), imaju oblik
 cos  0 sin  0
 cos  0 sin    0 0
A
B
R y   0 1 0  ,
A
B
 
R y  
 sin 
1
0
0
cos  0
. (1.19)
 sin  0 cos   
 0 0 0 1

Matrica rotacije kao i proširena matrica rotacije sistema (B) u odnosu na sistem (A), pri
rotaciji oko ose zA za ugao  (sl. 1.3.c), imaju oblik
cos   sin  0 0
cos   sin  0  sin  cos  0 0
R z    sin  0 ,    
A A
cos  R  . (1.20)
B B z
 0 0 1 0
 0 0 1  
 0 0 0 1

Transformacije translacije su linearne transformacije, dok su transformacije rotacije


nelinearne zbog postojanja funkcija sinusa i kosinusa.

1.3. Transformacija slobodnog vektora iz jednog u drugi koordinatni


sistem

Neka je zadan slobodni vektor: w  MN (sl. 1.4.). Tada taj vektor prikazan u matričnom
obliku u koordinatnim sistemima (A) i (B) ima oblik
N
zA zB 
w
M yB
OB
yA

xA OA
xB

Sl. 1.4.

A wx  A xN  A xM 
A
 w   A w y    A y N    A y M  A  p N   A  p M  , (1.29)
Aw  Az  Az 
 z  N  M
B wx  B xN  B xM 
B
 w   B w y    B y N    B y M  B  p N   B  p M  , (9.30)
Bw  Bz  Bz 
 z  N  M

w z - projekcije vektora  w na ose sistema (A),


A A A
gdje su: wx , wy,
6

w z - projekcije vektora  w na ose sistema (B).


B B B
wx , wy ,

Prošireni vektori položaja tačaka M i N u datim koordinatnim sistemima su

 A pM  A  B pM   A p N  A  BpN 


 
 B  D    ,  
 B  D    ,
 1   1   1   1 

tako da se oduzimanjem prethodna dva izraza dobija

 A  w   AB  R  A
 p B     B  w 
    , (1.31)
 0    0 1   0 
odakle je
A
 w  AB  R  B  w . (1.32)

Prema tome, slobodni vektor se iz koordinatnog sistema (B) transformiše u koordinatni sistem
(A) množenjem matricom rotacije sistema (B) u odnosu na sistem (A).

2. KINEMATSKA ANALIZA DINAMIČKIH SISTEMA

2.1. Opće teorijske postavke kinematike dinamičkih sistema. Unutarnje i


vanjske koordinate. Orijentacija izvršnog člana

Dinamički sistem se može modelirati kao lanac krutih tijela-članaka, međusobno povezanih
zglobovima, gdje se na početku lanca nalazi nepomična baza sistema, a na kraju lanca je
izvršni uređaj. Osnovni uslov koji sistem mora ispuniti jeste postizanje zadane pozicije i
orijentacije njegovog karakterističnog člana (najčešće izvršnog) u prostoru. Npr. kod
robotskih sistema takav izvršni član je prihvatnica.
Razlikujemo dva načina zadavanja koordinata robotskog sistema:
1. preko unutarnjih koordinata (koordinate zglobova),
2. preko vanjskih koordinata.
Pod unutrašnjim koordinatama sistema podrazumijevaju se skalarne veličine, koje opisuju
relativni položaj jednog članka (segmenta) u odnosu na drugi članak kinematskog para.

Kod rotacionog zgloba unutrašnja koordinata je relativno ugaono zakretanje susjednih


članova oko ose zgloba (ugao  ).

Sl. 1.
7

Kod translatornog kinematskog para unutrašnja koordinata je predstavljena linijskim


relativnim pomjeranjem članova zgloba duž ose zgloba (veličina h).

Sl. 2.

Unutrašnje koordinate se najčešće obilježavaju sa qi (i=1,...,n), gdje je n – broj stepeni slobode


kretanja sistema i one čine vektor unutrašnjih koordinata:
 q   q 1 q 2 . . . q n  T .
Vanjske koordinate robota opisuju položaj prihvatnice u odnosu na nepokretni koordinatni
sistem. Položaj tog člana određen je njegovom pozicijom i orijentacijom u prostoru. Pozicija
se uglavnom opisuje Dekartovim koordinatama neke kerakteristične tačke prihvatnice (px, py,
pz). To je najčešće vrh prihvatnice ili njen centar inercije. Orijentacija prihvatnice određena
je matricom rotacije koordinatnog sistema prihvatnice u odnosu na nepomični sistem.


 
 i0 , ip  i , j  i , k  
  j , j  j , k   ,
0 p 0 p

p R    j0 , ip
0
 

  k , j  k , k 
0 p 0 p
 k ,i
 0 p 0 p 0 p

Raspored ortova prihvatnice u odnosu na njenu geometriju može biti proizvoljan, uz uslov da
oni čine desno orijentisan koordinatni sistem. Na slici je prikazan primjer označavanja ortova
prihvatnice

i za taj slučaj ortovi imaju i svoje posebne nazive i značenje:

ip  n - vektor normale
 
jp  o - vektor orijentacije
 
k p  a - vektor akcije.

zp


a
 yp
P o


n
xp

Sl. 3.

Prema tome je:


8

 
  i , o i , a 
 i0 , n
  j , o j , a 
0 0

p R    j0 , n
0

  k , o k , a 
0 0
 k , n
 0 0 0

odnosno

n x ox ax 
0
p  R   n y oy a y 
 n z oz a z 

Samo tri određene veličine iz posljednje matrice rotacije od ukupno devet veličina su
međusobno neovisne. Na taj način ukupan vektor vanjskih koordinata će sadržavati veličine
pozicije: px, py, pz, kao i tri međusobno nezavisne veličine iz posljednje matrice rotacije.

2.2. Ojlerovi uglovi

Orijentacija prihvatnice se umjesto ortova prihvatnice može izraziti i preko tri tzv. Ojlerova
ugla, kao nezavisnih veličina. Ojlerovi uglovi između pomičnog i nepomičnog sistema
predstavljaju uglove za koje treba zakrenuti pomični sistem oko pojedinih njegovih osa da bi
on došao u traženu orijentaciju u odnosu na nepomični sistem. To zakretanje se može izvršiti
na različite načine. Ovdje ćemo posmatrati Ojlerove uglove oko pomičnih osa prihvatnice:
z p  y p  z p (uglovi: , ,  ).

z 0 , z p zp
zp zp , z p yp
yp  yp , yp  yp

y0
x0  

x p x p x p xp
x p

Sl. 4.

Pri tome je
0
p  R   p0  R pp  R pp  R  

cos   sin  0  cos  0 sin   cos   sin  0


  sin  cos  0   0 1 0    sin  cos  0 ,
 0 0 1   sin  0 cos   0 0 1 

cc c  ss  cc s  sc cs


0
p  R   sc c  cs  sc s  cc ss 
  s c s s c 
9

pri čemu pojedine oznake imaju značenje:


s  sin  , c  cos  , itd.

Pri tome Ojlerovi uglovi imaju i svoje nazive:

 - ugao skretanja (yaw)


 - ugao posrtanja (pitch)
 - ugao valjanja (roll)

Kada se uporede članovi posljednje matrice sa matricom (1) slijedi veza projekcija ortova
prihvatnice na ose nepomičnog sistema i Ojlerovih uglova
n x  ccc  ss (1)
n y  scc  cs (2)
n z  s c (3)
o x  cc s  sc (4)
o y  sc s  cc (5)
o z  s s (6)
a x  cs (7)
a y  s s (8)
a z  c (9)

Sada se uglovi , ,  mogu dobiti na osnovu ortova prihvatnica kao:


Iz (7) i (8):
ay
  arctg
ax
Iz (9):

  arccos a z
Iz (3) i (6):
 o 
  arc tg   z  ,
 nz 

Prema tome, vektor vanjski koordinata se može pisati u obliku:

 r  p x p y pz    .
T

2.3. Veza između unutarnjih i vanjskih koordinata. Direktni i inverzni


problem kinematike robota

Kinematski model robota pretpostavlja poznavanje veze između vektora unutrašnjih


koordinata  q i vektora vanjskih koordinata  r . Direktni problem kinamatike robota
podrazumjeva iznalaženje vektora  r na osnovu poznatog vektora  q . Obrnut problem
predstavlja inverzni kinematski problem robota. Direktni kinematski problem je u principu
jednostavnije riješiti nego inverzni problem. Ako su dimenzije vektora  q i  r jednake,
riječ je o neredundantnom robotu i postoji konačan broj rješenja inverznog kinematskog
10

problema. Ako je dimenzija vektora  q veće od dimenzije vektora  r , riječ je o


redundantnom robotu i rješenja inverznog kinematskog problema ima beskonačno. U tom
slučaju se bira najpovoljnije rješenje. Uglavnom su roboti neredundantni, pa će se izlaganja
koja slijede odnositi na njih.

2.3.1. Rješenje direktnog kinematskog problema robota

Rješenje direktnog kinematskog problema robota se svodi na sljedeće procedure:


- crtanje simboličke šeme robota sa označenim bitnim veličinama, pri čemu je
najpogodnije da se šema crta u nultom položaju robota  q i  0
- vezivanje koordinatnih sistema za članke robota kojih mora biti najmanje onoliko
koliko robot ima stepeni slobode kretanja
- određivanje matrica transformacije između koordinatnih sistema
- konačno računanje ukupne matrice transformacije, a time i pozicije i orijentacije i po
potrebi određivanje Ojlerovih uglova.

2.3.2. Rješenje inverznog kinematskog problema robota

Postoje dva načina rješavanja inverznog kinematskog problema robota: analitički i numerički
način.
Analitičkim načinom se dobiju egzaktni izrazi iz kojih se na osnovu poznatih spoljašnjih
koordinata mogu direktno dobiti unutarnje koordinate. To je veoma složen način i ne postoji
analitičko rješenje za proizvoljnu konfiguraciju robota. Za svaki tip robota se dobiju posebna
rješenja.
Numeričkim načinom se rješavajući sistem jednačina, koje su opštem slučaju transcedentne,
dolazi do približnih rješenja za unutrašnje koordinate (q i), pri čemu tačnost rješenja zavisi od
numeričke metode, koraka iteracije i pretpostavljenog početnog rješenja. Ako se
pretpostavljeno početno rješenje ne odabere pogodno, može doći do divergencije postupka.

Prednost analitičkog načina je što se dobiju tačni izrazi, što se mogu predvidjeti i uzeti u obzir
singularna rješenja, nema divergencije postupka. Prednost numeričkog načina je što se na taj
način može napraviti univerzalni algoritam za robot proizvoljne konfiuracije.

2.3.2.1. Postupak analitičkog rješavanja inverznog kinematsog problema robota

Ovdje će se dati opšte smjernice za analitički način rješavanja inverznog kinematskog


problema robota.

1. način

Polazi se od jednačine
1
0  Dn0  D  n1 D
11

odnosno
n x ox ax px 
n oy ay p y  1
0  D   n  D
1  y
n z oz az pz 
 
0 0 0 1

iz čega se dobiju jednačine iz kojih se određuju veličine qi. Pri tome, ako je pri određivanju
neke qi potrebno izraz dijeliti sa sinx ili cosx, da bi se to izbjeglo, ide se na prvu narednu
jednačinu iz sljedećeg sistema u kojem se te operacije mogu izbjeći.
2
1  D01 Dn0  D  n2  D
3
2  D21 D01 Dn0  D  n3  D
................................
n 1
n 2  Dnn23  D    23  D21 D01 Dn0  D  n n1  D

2. način

Problem se dijeli na dva problema. Prvi problem se odnosi na dio robota do prihvatnice, a
drugi na samu prihvatnicu. Ovakav način je moguć ako zadnja tri stepena slobode kretanja
predstavljaju sferni zglob. Tada je na osnovu poznate pozicije i orijentacije prihvatnice
moguće odrediti položaj vrha dijela robota do prihvatnice.

2.3.2.2. Jakobieva matrica (Jakobian)

Neka su zadane funkcije


y1  y1  x 1 , x 2 ,..., x n 
y 2  y 2  x 1 , x 2 ,..., x n 
....................................
y n  y n  x 1 , x 2 ,..., x n 
ili
 y   f  x 
Tada će diferencijali pojedinih funkcija biti
y y y
dy1  1 dx 1  1 dx 2     1 dx n
x 1 x 2 x n
y y y
dy 2  2 dx 1  2 dx 2     2 dx n
x 1 x 2 x n
.........................................................
y y y
dy n  n dx1  n dx 2     n dx n
x1 x 2 x n

Posljednji sistem se može izraziti u matričnom obliku


12

 y1 y1 y1 


 dy1     dx 
   x1 x 2 x n   1 

   y 2 y 2

y 2   
 
dy 2    x1 x 2 x n  dx 2 
         
   y y n y n   
dyn   n  dx 
x n   n 

 x1 x 2

odnosno
 y 
d y     d x
 x 

 y 
Matrica     J ac  naziva se Jakobieva matrica ili Jakobian, tako da je
 x 

d y   J ac   d x

Kada su u pitanju vektori unutarnjih i vanjskih koordinata  q i  r , tada je

d r   J ac   d q
Vektor vanjskih brzina se dobija dijeljenjem gornjeg izraza sa diferencijalom vremena dt

d r d q
  J ac  
dt dt

odnosno

 r    J ac    q 

Vektor vanjskih ubrzanja je

r   J ac    q    J ac    q

Preko vanjskih brzina i ubrzanja će unutarnje brzine i ubrzanja biti


 q    J ac  1   r 
   
 q   J  1 r  J   q 
ac ac

Prema tome, putem Jakobiana se može uspostaviti veza između unutarnjih i vanjskih
koordinata, unutarnjih i vanjskih brzina, kao i unutarnjih i vanjskih ubrzanja robota.

2.3.2.3. Postupak numeričkog rješavanja inveznog kinematskog problema


13

Za numeričko rješavanje inverznog kinematskog problema robota primjenjuju se različite


metode: Njutnova metoda približavanja (iteracije) po pojedinim koordinatama, Čebiševljeva
metoda, gradientna metoda itd.
Najčešće se koristi Njutnova metoda, gdje je potrebno odrediti Jakobian i njegovu inverznu
metricu. Postupak brzo konvergira. Posmatra se funkcija
 F q    f  q    r ,
gdje je:  q - pretpostavljeni, odnosno iterativno dobijeni vektor unutarnjih koordinata,
 r   f  q  - tačan vektor vanjskih koordinata,
 f  q  - približan vektor vanjskih koordinata dobijen na osnovu iterativno dobijenog
vektora unutarnjih koordinata  q .
Možemo pisati

d  F  q    d  f  q     J ac   d  q

Ako umjesto diferencijala pojedinih veličina primjenimo njihove konačne razlike, tada se za
razliku prve iterativne i startne vrijednosti pojedinih veličina može pisati

 F q1    F q 0    J ac0   q1    q 0  
Pri tome usvajamo startni vektor  q0  , na osnovu toga računamo:  J ac 0  , a takođe i vektor:
 f  q 0  .
Uz uslov da je:  F q1   0 , slijedi

 q1    q 0    J ac0  1   f  q 0    r 
Analogno se dobija općenit iterativni izraz za vektor  q i 1 

 q i1    q i    J aci  1   f  q i    r  .

You might also like