Sunteți pe pagina 1din 6

MODELAREA GEOMETRICA DIRECTA

ALGORITMUL MATRICELOR DE SITUARE

Ecuaţiile geometriei directe (ecuaţiile MGD) se pot determina prin aplicarea matricelor de situare luând în
considerare un număr minim al restricţiilor de natură geometrică sau mecanică. Astfel că algoritmul matricelor
de situare prezintă un avantaj major, mai ales în ceea ce priveşte calculul matematic. Aplicarea algoritmului
matricelor de situare, cuprinde două etape principale:

I. Prima parte a algoritmului se referă la stabilirea ecuaţiilor geometriei directe (ecuaţiile


MGD) corespunzătoare configuraţiei iniţiale a robotului.

În vederea aplicării algoritmului se parcurg etapele descrise mai jos:

1. Pentru început se stabilește tipul structurii de robot supusă analizei. Conform celor menționate
anterior, structura de robot analizată are în componența sa, fie numai cuple de rotație, fie numai
cuple de translație sau o combinație între cele două: 3R; RTTR ; RRTR ; 5R ; RTT3R ; 6R .... .
2. În continuare, utilizând datele de intrare din matricea geometriei nominale în configuraţia iniţială,
  i 1    
notată cu M vn0 și anume, poziția pii 01T respectiv orientarea k i 0 T fiecărei cuple cinematice în
raport cu cupla anterioară, se stabilește schema cinematică a robotului in configurația de zero:
      T
Mvn0   i 1 pii 01T k i 0 T  , unde i  1  n  1 (1)
3. Schema cinematică a robotului este reprezentată în configuraţia iniţială (configuraţia de zero):
= q i = 0; i = 1  n  .
0  T
 (2)

4. Corespunzător configuraţiei iniţiale a structurii mecanice de robot se stabilesc matricele:


 i 0   ; Ri i 1 ; Ti i 1 ; Ti 0 , unde i  1  n  1 . (3)

În centrul geometric al fiecărei cuple motoare se ataşează sistemul mobil i  . Orientarea acestui sistem
0 

este identică cu orientarea sistemului de referinţă ales la nivelul bazei robotului, adică:  i 0  OR   0 OR .
Această restricţie reprezintă un avantaj important oferit de acest algoritm în sensul că, pentru configurația inițială,
matricea de rotaţie respectiv vectorul de poziţie dintre două sisteme de referinţă învecinate  i  1    i  se
determină în conformitate cu următoarele expresii:
i 1 0       
Ri i 1  I3 ; Ri 0  I3 ; pi i 1  pii 01  pi 0  pi 01 . (4)
Expresiile (4), servesc la stabilirea matricelor de transformare omogenă dintre sistemele i  1  i
respectiv 0  i , care poartă denumirea de matrice de situare, deoarece înglobează atât orientarea cât
și poziția fiecărui sistem în raport cu sistemul anterior respectiv în raport cu sistemul de referință fix, 0
Matricele de situare sunt definite astfel:
   
R i 1
pi i01  R pi 00 
Ti i 1   i i 1 ; Ti 0   i 0 . (5)
0 0 0 1  0 0 0 1 

Similar, pentru i  n  1 , matricele de situare dintre sistemele n  n  1 şi 0  n  1 sunt:


n 0  s
0 
a
0  n 0  
pn 1n n 0  s
0 
a
0 
p
0 

Tn 1n  ; Tn 10  Tn 0 Tn 1 n   (6).
 0 0 0 1   0 0 0 1 
 
În cadrul expresiilor (6), p 0 este un vector prin care este definită poziția punctului caracteristic în raport
 
cu sistemul de referință fix atașat bazei robotului iar n pn01n caracterizează poziția relativă a sistemului atașat
punctului caracteristic al efectorului final, în raport cu centrul geometric al ultimei cuple.

II. Partea a doua a algoritmului consta in determinarea ecuaţiilor MGD pentru cazul:  k     .
0

5. Tabloul datelor de intrare include și matricea configuraţiilor nominale:


M n = kT , k  1  m  , unde kT  qik i  1  n  . (7)
În cadrul matricei generalizate, prezentată anterior, q ik reprezintă variabila generalizată din fiecare axă
motoare i  1  n , iar  k = 1  m  reprezintă numărul de configuraţii ale robotului.

Pentru i =1  n şi pentru fiecare configuraţie a robotului  k     ,  k = 1  m  se determină:


0
6.

 T k ; q ;
 i i
i 1
i T ;
0
i T  ;
j
i T  ; (8)

k i   x i ; y i ; zi  ;  i   1 ; i  R ; 0; i  T  . (9)

 
unde, T k i ; qi este o matrice de dimensiune  4x4  ce caracterizează transformarea variabilă cu q i din

reprezintă matricea de situare dintre două sisteme învecinate i  1  i ,


i 1
fiecare cuplă motoare iar i T 

ki versorul axei motoare, iar  i este un operator matriceal a cărui valoare depinde de tipul cuplei motoare luând
valoarea unu în cazul cuplelor de rotație și zero pentru translație, conform cu (9).
7. Pentru i =1  n , matricele de situare dintre două sisteme învecinate i  1  i se definesc:
R k i ; q i   i   1   i   qi  i ki 

T k i ;q i  
 0  
; (10)
 0 0 1 
 i 1 R  i 1 p 0   1    q  i k 
i i 1  i i
i T   Ti i 1  T  k i ; q i  
i 1  i i
. (11)
0 0 0 1 
 
8. Pentru i =1  n , matricele de rotaţie şi vectorii de poziţie cu ajutorul cărora se stabilește poziția și
orientarea unui sistem față de sistemul anterior i  1  i care se regăsesc în ecuațiile (10) și
(11) sunt definite în conformitate cu [N22], cu expresiile de mai jos, astfel:
i 1
i
R    R  x i ; q i   i  ; R  y i ; q i   i  ; R  z i ; q i   i   ; (12)
i 1
ri  i 1
 
pii 1  1   i  qi  i k i .
0
(13)

9. Pentru i =1  n , vectorul de poziție dintre sistemele i  și i  1 în raport cu sistemul 0 respectiv


poziția fiecărei cuple i  în raport cu același sistem de referință fix, se determină astfel:
i
0 T
i 1 R   pi   p j j 1   p xi
i 1
pi i 1  ri i 1 ; pyi pzi  . (14)
j 1

Similar cu (5), pentru i  1  n , matricea de situare dintre sistemele 0  i se determină astfel:
i 0i R  pi 
j 1
0
i T  
  .
j T   (15)
j 1  000 1 
 
Pentru efectorul final, matricea de situare dintre sistemele 0  n  1 se determină cu expresia:

0 0
n s a p
n 1 T   n T   Tn 1n  . (16)
 0 0 0 1

10. Pentru i =1  n şi j  1  i matricele de situare ale sistemului mobil i în raport cu un alt sistem
mobil  j se determină, utilizând expresiile prezentate în cele ce urmează, astfel:
 j   j
 
j
 
j
pxij 
       
i  
  
  
 
j
p yij

k 1
j
 
i T    
k T 
       . (17)
j
k  j 1  
 ix 
 iy 
 iz p zij 
 
 0 0 0 1 
 
11. Vectorul de orientare se determină cu ajutorul următoarei identităţi matriceale:
R  A   B   C    R  ;
0
n
0
n 1
R   ;    A  B  C  .
T
(18)

12. În ultimul pas, ecuaţiile MGD vor fi incluse în cadrul următoarelor matrice generalizate:
 p    px pz  
T
py
0
X   . (19)
    A B
T
C  
   
MODELAREA CINEMATICA DIRECTA

ALGORITMUL ITERATIV

1. Se stabilește modelul geometric direct pentru structura de robot supusă analizei utilizând unul dintre
algoritmii prezentați (Algoritmul matricelor de situare).
2. În prima etapă de aplicare a algoritmului se introduc vitezele și accelerațiile liniare și unghiulare
corespunzătoare bazei fixe a robotului sunt definite astfel: 0
0  0 , 00  0 , 0 v 0  0, 0 v 0  0 
3. Pentru i  1  n , se determină vitezele unghiulare și liniare ce definesc mișcarea absolută a
fiecărui element, utilizând expresiile prezentate mai jos:
0
i  0i 1   i  qi  0 ki  0i 1   i  i R  qi  i ki ;
0
(20)
0
vi  v
0
i 1  
 0i 1  pii 1  1   i  qi  0 ki ;  (21)
4. Similar, pentru fiecare cuplă a robotului i  1  n , accelerațiile unghiulare și liniare corespunzătoare,
proiectate pe sistemul de referință fix sunt definite astfel:
i  0i 1   i   0i 1  qi  i R  i ki  qi  i R  i ki  ;
0 0 0
(22)
0
vi  v
0
i 1  
 0i 1  pii 1  0i 1  0i 1  pii 1  1   i 2  0i  qi  0 ki  qi  0 ki ;   (23)
5. Pentru i  1  n , se determină parametrii cinematici, ce caracterizează mișcarea fiecărui element,
cu proiecții pe sistemul de referință mobil i . Astfel, vitezele unghiulare și liniare se determină astfel:
i
i 
0
i R T  0i ; (24)
i
vi 
0
i R T  0 v i . (25)
6. Expresiile accelerațiilor unghiulare și liniare, proiectate pe sistemul de referință mobil i ce
caracterizează mișcarea fiecărui element, i  1  n , sunt definite pe baza expresiilor de mai jos:
0
i
 i  i  R   0i ; (26)
i
vi 
0
i R T  0 v i (27)

7. În ultima etapă a aplicării algoritmului iterativ, pentru i  n , este definită mişcarea absolută a
efectorului final, (vitezele şi acceleraţiile operaţionale).
T
 n 0
X     v nT  n 0
nT  ;
n0
(28)
 
T
 n 0
X     v nT  n 0
nT  .
n0
(29)
 
Expresiile (28) și (29), reprezintă ecuațiile cinematicii directe (MCD) ce caracterizează mișcarea absolută a
efectorului final și care vor fi utilizate ca și date de intrare în modelarea dinamică.
ALGORITMUL MATRICELOR DE TRANSFER

Etapele care trebuie parcurse în aplicarea algoritmului matricelor de transfer, sunt următoarele:
1. În prima etapă, din modelul geometric direct se extrag matricele de transformare omogenă dintre
j
sistemele i  j , notate cu i T  qk  t  , k  j  1  i  , unde i  1  n  1 și j  0  i  1 ,
2. Pe baza matricelor definite la pasul anterior, următorul pas constă în definirea matricei de transfer a
vitezelor liniare V   , a cărei componente, Vi ( i  1  n ) se determină astfel:
V     Vi , i 1  n ; (30)
 3n 
p 0  i
unde Vi   i R  k i   p  pi  . (31)
qi
3. Pentru i  1  n , în continuare se determină derivata în raport cu timpul a matricei de transfer a
vitezelor liniare V   . În acest scop, se utilizează următoarea expresie:
V     Vi , i  1  n  ; (32)

3n 
n
2 p
unde Vi   qj , i  1  n . (33)
j 1 q i  q j

4. În continuare, utilizând aceleași date de intrare, se determină matricea de transfer a vitezelor


unghiulare    , având componentele,  i , i  1  n definite cu expresiile prezentate mai jos:
     i , i  1  n  ; (34)
 3n 
0
unde, i  i R   i k i   i . (35)
5. Derivata în raport cu timpul a matricei de transfer a vitezelor unghiulare    , având componentele,
i ( i  1  n ) se obține prin derivarea în raport cu timpul a componentelor i , astfel:
     i , i  1  n  ; (36)
 3n 

unde, i 
0
i R   i k i   i . (37)
6. Vitezele unghiulare si liniare ale efectorului final se determina astfel:
 0 v n   V   
  ;
0
X   (38)
6 1   0      
 n  
7. Acceleratiile unghiulare si liniare ale efectorului final se determina astfel:
 0 v    V   V      
0
X  0 n    . (39)
6 1                 
 n    
Ecuatiile (38) si (39) reprezinta ecuatiile cinematicii directe.
DETERMINAREA MATRICEI JACOBIENE IN CINEMATICA DIRECTA

Matricea Jacobiană este utilizată în mecanica roboților pentru a realiza transferul vitezelor din spațiul
configurațiilor în spațiul cartezian al mișcării. Această matrice caracterizează o anumită configurație a
robotului în spațiul de lucru. În continuare este prezentat un algoritm de determinare a componentelor
matricei Jacobiene, bazat pe metoda matricelor de transfer.

J   , este definită:
0 
1. Matricea Jacobiană, în raport cu sistemul fix, pentru care se va folosi notația
     V V ... Vn 
J    V     1 2
0 
. (40)
6 xn      1 2 ... n 
J   , este:
0 
2. Derivata în raport cu timpul a matricei Jacobiene, față de sistemul de referință fix,
     V V ... Vn 
J     V     1 2
0 
. (41)
6 xn      1 2 ... n 
3. Ecuaţiile matriceale pentru vitezele și acceleraţiile operaţionale, ale efectorului final, proiectate pe
sistemul de referință fix 0 , sunt prezentate în expresiile următoare:
 0 v n   V   
J     ;
0 0 
X  
61   0n     
   (42)

 0v   
X   0 n   0 J     0 J    ;
0  
(43)
61   n 

În cazul în care se dorește exprimarea vitezelor și accelerațiilor operaționale în raport cu sistemul n se
introduce operatorul matriceal, n R care are rolul de a realiza transferul de la un sistem la altul.
 nv 
X   n n   n R  0 X  n J     , J    n R  0 J  
n   n
unde (44)
 n 
 n v n   n R  0    0 v n 
0 1
n
X n  1   0 . (45)
 n   0   
0
R  
n   n 
Acceleraţiile operaţionale în sistemul mobil n sunt definite astfel:

 nv   0v   
n
X   n n   nR   0 n   nR   0 J   0
J      . (46)
 n   n   
În final, ecuaţiile MCD în raport cu sistemul n , exprimate cu ajutorul matricei Jacobiene, sunt:

 nv   nv   
n
X   n n   n J     , n
X   n n    n J  
J      n
(47)
 n   n   
Expresiile (44) respectiv (46) servesc la realizarea transferului matricei Jacobiene din sistemul de referinţă
fix 0 în sistemul de referinţă mobil n , operatorul matriceal de transfer fiind simbolizat n R .