MODELE GEOMETRICE, CINEMATICE ÅI DINAMICE
MODELE GEOMETRICE, CINEMATICE ÅI DINAMICE
MODELE GEOMETRICE, CINEMATICE ÅI DINAMICE
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Modele geometrice şi cinematice 26<br />
<strong>MODELE</strong> <strong>GEOMETRICE</strong>,<br />
<strong>CINEMATICE</strong> ŞI <strong>DINAMICE</strong><br />
Sistemul mecanic al unui robot este format dintr-o configuraţie de corpuri<br />
rigide, elementele sistemului, legate între ele succesiv prin articulaţii de rotaţie sau<br />
translaţie. Poziţiile relative ale acestor elemente determină poziţia pe ansamblu a<br />
braţului mecanic, această poziţie reprezentând de fapt una din condiţiile funcţionale<br />
ale robotului.<br />
Cele mai cunoscute versiuni de articulaţii mecanice întâlnite în sistemele<br />
robotice sunt reprezentate prin lanţuri cinematice deschise în care poziţia viteza şi<br />
acceleraţia unui element pot fi obţinute recursiv din parametrii elementului<br />
precedent. În general, fiecare element conţine un singur grad de libertate în raport<br />
cu elementul precedent astfel încât relaţiile de transformare între elemente conţin<br />
un singur parametru variabil. Legarea în cascadă a tuturor transformărilor asociate<br />
fiecărui element permite determinarea parametrilor mişcării întregii configuraţii<br />
mecanice şi, în general, a elementului terminal.<br />
2.1. Sisteme de coordonate<br />
Operaţiile de manipulare specifice unui robot cer, în primul rând, o<br />
poziţionare corespunzătoare a sistemului mecanic, deci atingerea unui punct din<br />
spaţiul de lucru, şi în al doilea rând impun o anumită orientare a elementului<br />
terminal. De exemplu, o operaţie de montaj prin filetare cere atât atingerea găurii<br />
cât şi orientarea corectă a şurubului pentru realizarea asamblării. se impune deci<br />
adoptarea unui sistem de coordonate corespunzător descrierii acestor cerinţe.<br />
Un punct A, într-un sistem de coordonate S 1 , poate fi reprezentat prin<br />
vectorul ce uneşte originea sistemului de coordonate şi punctul respectiv,<br />
v<br />
A<br />
1<br />
A<br />
1<br />
A<br />
1<br />
A<br />
x i y j z k<br />
(2.1)<br />
undei , j, k sunt versorii axelor X,Y,Z, respective. O altă modalitate de scriere este,
Modele geometrice şi cinematice 27<br />
1<br />
<br />
1 1 1<br />
A, y A,<br />
z A<br />
<br />
A x<br />
(2.2)<br />
unde indicele superior 1 precizează sistemul de coordinate S 1 .<br />
În afară de aceasta, direcţia vectorului de poziţie se poate exprima prin<br />
cosinuţii de direcţie,<br />
1<br />
A<br />
1<br />
1<br />
x<br />
y<br />
cos ;<br />
A z<br />
cos ; cos A<br />
(2.3)<br />
v<br />
v v<br />
Dacă acum, originea sistemului de coordonate O 1 se exprimă în raport cu un<br />
sistem S 2 prin coordonatele<br />
<br />
2 2 2<br />
1 xO<br />
, y ,<br />
1 O z<br />
1 O1<br />
<br />
O (2.4)<br />
atunci punctul A se va exprima în raport cu sistemul S 2 prin,<br />
A<br />
z 1 (s 1 )<br />
z A<br />
v A<br />
y A<br />
y 1<br />
o 1<br />
x A<br />
x 1<br />
2<br />
<br />
1<br />
A<br />
(s 2 )<br />
2 1 2 1 2<br />
O , y ,<br />
1 A yO<br />
z<br />
1 A zO<br />
1<br />
z 1<br />
z 2<br />
o 2<br />
x 2 y 2<br />
Figura 2.1<br />
<br />
A<br />
y 1<br />
o 1<br />
x 1<br />
x x<br />
(2.5)<br />
Relaţia (2.5) corespunde unei reprezentări între două sisteme afectate de<br />
operaţii de translaţie (axele sînt paralele, respectiv). Dacă sistemele de<br />
coordonate sînt supuse unor mişcări de rotaţie, poziţia unui punct în diferite<br />
sisteme se poate obţine printr-o transformare corespunzătoare. Considerăm,<br />
de exemplu, sistemul S 2 obţinut prin rotaţia cu unghiul θ în jurul axei Ζ a<br />
sistemului Sj (figura 2.2).<br />
Poziţia în noul sistem se obţine prin multiplicarea coordonatelor iniţiale<br />
cu o matrice de rotaţie.<br />
(s 1 )
Modele geometrice şi cinematice 28<br />
z 1 ≡ z 2<br />
y 2<br />
θ y 1<br />
o<br />
θ<br />
x 1<br />
x 2<br />
Figura 2.2<br />
2 <br />
1<br />
x<br />
<br />
A cos<br />
sin<br />
0<br />
xA<br />
2 <br />
<br />
1 <br />
y<br />
A <br />
<br />
sin<br />
cos<br />
0<br />
y<br />
A <br />
(2.6)<br />
2 <br />
<br />
1<br />
z<br />
<br />
A 0 0 1<br />
z<br />
A <br />
În foarte multe situaţii este de preferat să se utilizeze o transformare globală<br />
care să comaseze atît efectul de translaţie cît şi pe cel de rotaţie. O astfel de<br />
transformare se numeşte omogenă. Această transformare poate fi definită ca<br />
rezultatul concatenării a două matrici, de orientare (4 χ 3) şi de poziţie, un vector<br />
(4x1).<br />
matrice<br />
de vector coloană<br />
T <br />
<br />
<br />
orientare al pozitiei<br />
(2.7)<br />
<br />
4 x 3 4<br />
x 1<br />
<br />
De exemplu, translaţia specificată în figura 2.1 b corespunde transformării<br />
omogene definită prin<br />
<br />
2<br />
1 0 0 x <br />
01<br />
<br />
2 <br />
2 2 2<br />
<br />
0<br />
1 0 y01<br />
Trans x<br />
<br />
01,<br />
y01,<br />
z01<br />
(2.8)<br />
<br />
2<br />
0 0 1 z <br />
01<br />
<br />
<br />
<br />
0 0 0 1 <br />
unde simbolul Trans este asociat funcţiei de translaţie. Calculul coordonatelor<br />
punctului A în sistemul S 2 definit prin componentele (2.2) în sistemul Sj se<br />
obţine imediat prin simpla aplicare a operatorului de translaţie asupra jj<br />
vectorului coordonatelor în S 1<br />
1 2 <br />
1 <br />
x A x01<br />
x A <br />
<br />
1 2<br />
2<br />
2 2 2 1<br />
y<br />
A y01<br />
A Transx x , , <br />
01 y01<br />
z01<br />
y<br />
A <br />
(2.9)<br />
1 2<br />
<br />
1 z z<br />
z<br />
A 01<br />
A <br />
<br />
<br />
1
Modele geometrice şi cinematice 29<br />
deci aceleaşi rezultate ca cele date în relaţia (2.5).<br />
În mod similar, se pot defini operatori de rotaţie, corespunzători unei<br />
rotaţii cu unghiul θ, în jurul fiecărei axe de coordonate,<br />
1<br />
0 0 0<br />
<br />
<br />
<br />
0 cos<br />
sin<br />
0<br />
Rot x,<br />
<br />
<br />
(2.10)<br />
0<br />
sin<br />
cos<br />
0<br />
<br />
<br />
0<br />
0 0 1<br />
cos<br />
0 sin<br />
0<br />
<br />
<br />
<br />
0 1 0 0<br />
Rot y,<br />
<br />
<br />
(2.11)<br />
<br />
sin<br />
0 cos<br />
0<br />
<br />
<br />
0 0 0 1<br />
cos<br />
sin<br />
0 0<br />
<br />
<br />
<br />
sin<br />
cos<br />
0 0<br />
Rot z,<br />
<br />
<br />
(2.12)<br />
0 0 1 0<br />
<br />
<br />
0 0 0 1<br />
Aplicarea succesivă a acestor operatori permite calculul coordonatelor<br />
pentru orice modificare a sistemului de coordonate. De exemplu, un punct de<br />
coordonate (7,3,2) în sistemul S! este supus succesiv următoarelor transformări:<br />
o rotaţie în jurul axei Ζ cu 90° (sistemul S2 ), o rotaţie în jurul axei Υ cu 90°<br />
(sistemul S3 ) şi o translaţie cu vectorul (4,-3,7) (sistemul S4).<br />
Deci, în noul sistem, coordonatele punctului vor fi date de<br />
4<br />
1<br />
4,3,7<br />
,<br />
Roty,90,<br />
Rotz,90A<br />
A Trans<br />
sau<br />
1<br />
0 0 4 <br />
0 0 1 00<br />
1 0 07<br />
6 <br />
<br />
<br />
<br />
<br />
<br />
<br />
0 1 0 3<br />
<br />
0 1 0 0<br />
<br />
1 0 0 0<br />
<br />
3<br />
<br />
4<br />
<br />
(2.13)<br />
0<br />
0 1 7 1<br />
0 0 00<br />
0 0 12<br />
10<br />
<br />
<br />
<br />
<br />
<br />
0<br />
0 0 1 <br />
0 0 0 10<br />
0 0 11<br />
1 <br />
Trebuie subliniată necesitatea respectării ordinei operaţiilor efectuate.<br />
Evident,<br />
Rot y, Rot z, Rot z, Rot y,<br />
<br />
(2.14)<br />
<br />
Pentru generalizarea procedurilor de lucru, se va nota prin T. transformarea<br />
generală a sistemului de coordonate Sj în raport cu sistemul S,· . în acest context,<br />
funcţia de poziţionare a braţului unui robot se poate interpreta prin definirea<br />
corespunzătoare a operatorilor transformărilor.
Modele geometrice şi cinematice 30<br />
S M<br />
S P1<br />
M S P0<br />
T P1<br />
S B<br />
S 0<br />
T M<br />
B<br />
T B<br />
0<br />
T P0<br />
0<br />
Figura 2.3<br />
În figura 2.3. este prezentat un robot ce execută o operaţie tehnologică<br />
(sudură, găurire, etc) asupra piesei P. Mişcările robotului sînt definite prin<br />
transformări corespunzătoare în raport cu un sistem de referinţă absolut S · 0<br />
Elementele braţului mecanic, prin articulaţiile sale, permit determinarea unei<br />
transformări generale a sistemului de referinţă a elementului terminal (mâna) în<br />
raport cu baza S B , transformare desemnată prin<br />
T M<br />
B , care la rîndul ei este definită<br />
0<br />
0<br />
în raport cu sistemul de referinţă absolut S prin transformarea<br />
T B .Deci, poziţia<br />
B<br />
absolută a mâinii este redată prin produsul transformărilor<br />
T T 0<br />
M B . Se va nota: T<br />
M P 1<br />
-transformarea implicată de operaţia tehnologică exercitată de mîna asupra piesei Ρ<br />
PO<br />
O<br />
în punctul 1 şi T , T , transformările ce desemnează poziţia punctului 1 faţă<br />
P1<br />
P O<br />
de referinţa piesei S P O<br />
şi faţă de sistemul de referinţă absolut, respectiv.<br />
În condiţiile realizării unei funcţii tehnologice corecte, coordonatele<br />
punctului prelucrat trebuie să satisfacă transformarea de-a lungul lanţului cinematic<br />
al robotului, deci<br />
M<br />
P1<br />
B<br />
M<br />
O<br />
B<br />
P O O<br />
T<br />
P1<br />
PO<br />
T T T T<br />
(2.15)<br />
Întrucât scopul final al oricărei prelucrări matematice de acest fel constă în<br />
găsirea unui control adecvat al braţului mecanic, deci transformarea T M<br />
B , din<br />
relaţia (2.15) se obţine,<br />
T<br />
B<br />
M<br />
<br />
M P<br />
<br />
O O O<br />
T<br />
T T T<br />
1<br />
P1<br />
1 P1<br />
PO<br />
B<br />
(2.16)
Modele geometrice şi cinematice 31<br />
Deşi formula stabilită dă pur formal condiţiile funcţionale ale robotului, ea<br />
sintetizează exact principalele cerinţe ce se impun pentru acoperirea unei funcţii<br />
tehnologice date de către o anumită configuraţie mecanică. Aceste deziderate pot fi<br />
rezumate în următoarele:<br />
a) atingerea de către elementul terminal al braţului mecanic a unui<br />
B<br />
punct de coordonate impus, - transformarea T M ;<br />
b) asigurarea unei orientări adecvate a mâinii robotului în conformitate<br />
M<br />
cu funcţia tehnologică îndeplinită - transformarea TP<br />
1 .<br />
Pentru definirea corectă a ultimei condiţii se introduce o matrice de orientare<br />
a mâinii T M definită prin [17] nx<br />
ox<br />
ax<br />
px<br />
<br />
<br />
<br />
n y o y a y p y<br />
T M<br />
nz<br />
oz<br />
az<br />
pz<br />
<br />
(2.17)<br />
0 0 0 1 <br />
unde a este un vector unitate în direcţia apropierii mâinii de obiect, o este un<br />
vector unitate de orientare al elementului iar f n este definit prin<br />
n o x a<br />
(2.18)<br />
În matricea T M se poate identifica o submatrice de orientare T MO<br />
nx<br />
ox<br />
ax<br />
<br />
T <br />
<br />
<br />
MO <br />
ny<br />
oy<br />
a y <br />
<br />
nz<br />
oz<br />
az<br />
<br />
şi un vector de poziţie<br />
px<br />
<br />
T<br />
<br />
MP <br />
<br />
p y <br />
<br />
pz<br />
<br />
Matricea T MC este o matrice ortonormală iar elementele ei au o serie de<br />
proprietăţi care simplifică considerabil prelucrările matematice.<br />
În plus, matricea de orientare T M admite o inversă de forma,<br />
nx<br />
n y nz<br />
pn<br />
<br />
<br />
1<br />
<br />
ox<br />
oy<br />
oz<br />
po<br />
T <br />
<br />
M (2.19)<br />
ax<br />
a y az<br />
pa<br />
<br />
<br />
0 0 0 1 <br />
unde pn, po, pa desemnează produsele scalare ai vectorilor respective.
Modele geometrice şi cinematice 32<br />
2.2. Modele cinematice<br />
După cum s-a văzut în paragraful precedent, prima condiţie necesară<br />
B<br />
funcţionării robotului este determinarea transformării T M ce asigură atingerea<br />
B<br />
unui punct dorit. Dar T M definit de (2.16) este numai o reprezentare matematică<br />
formală. Ea trebuie corelată cu structura mecanică a robotului astfel încât să poată<br />
fi determinate toate transformările individuale, pe fiecare articulaţie controlată a<br />
braţului mecanic.<br />
După cum s-a mai arătat, sistemul mecanic al robotului este realizat prin<br />
legarea succesivă a unor articulaţii simple de rotaţie şi translaţie, poziţia fiecărui<br />
element putînd fi definită în raport cu elementul precedent printr-o singură<br />
variabilă de rotaţie (unghi) sau de translaţie (deplasare).Dacă se notează cu A i<br />
matricea transformării ce descrie translaţia şi rotaţia relativă între sistemul de<br />
coordonate al elementului i şi al elementului i-1, atunci transformarea asociată<br />
mâinii robotului se poate scrie ca,<br />
B<br />
T M = A 1 A2<br />
A 3 ... A n<br />
(2.20)<br />
p<br />
a<br />
o<br />
n<br />
Figura 2.4<br />
unde n reprezintă numărul de elemente al braţului.<br />
Calculul matricei de transformare A i pentru o articulaţie dată este riguros<br />
prezentat într-un număr mare de lucrări de specialitate. în cadrul acestui capitol se<br />
va utiliza metoda Denavit-Hartenberg datorită avantajelor deosebite privind atât<br />
simplitatea tratării cât şi posibilităţile mari de generalizare pe care le oferă.<br />
Convenţiile impuse de această metodă sunt [4,5,24,25]<br />
se aliniază axele X ale tuturor sistemelor de referinţă ale<br />
articulaţiilor în aceeaşi direcţie cu cea a sistemului de bază.<br />
axa Zi coincide cu axa de rotaţie a articulaţiei i;
y i-1<br />
θ i<br />
x i-1<br />
Figura 2.5<br />
Modele geometrice şi cinematice 33<br />
se roteşte cu un unghi i în jurul axei Z i1<br />
se translatează cu mărimea d i , în lungul axei Z i1<br />
se translatează cu mărimea a i în lungul axei X i1<br />
se roteşte cu un unghi i în sensul orar, în jurul axei<br />
spre Z i1<br />
X i , axa<br />
Z i<br />
x i<br />
z i-1 ║z i<br />
y 2<br />
o<br />
α i<br />
z i-1<br />
În figura 2.5. sînt reprezentaţi parametrii Denavit-Hartenberg pentru o<br />
articulaţie de formă generală.În practică, configuraţia geometrică a unei articulaţii<br />
este reprezentată printr-o serie de parametri constanţi, lungimea a i şi unghiul i<br />
parametrii variabili fiind unghiul i la o articulaţie de rotaţie sau lungimea d i la o<br />
articulaţie de translaţie.<br />
Deci, matricea transformării omogene A i între articulaţia i şi i-1 va fi,<br />
Ai<br />
Rotz,<br />
i Trans0,0,<br />
di<br />
Transai<br />
,0,0Rotx,<br />
i<br />
<br />
Utilizând formulele stabilite (2.8), (2.10) - (2.12) şi substituind în (2.21)<br />
rezultă,<br />
cos<br />
i sin<br />
i 0 01<br />
0 0 0 1<br />
0 0 ai<br />
1<br />
0 0 0<br />
<br />
<br />
<br />
<br />
<br />
<br />
sin<br />
i cos<br />
i 0 0<br />
<br />
0 1 0 0<br />
<br />
0 1 0 0<br />
<br />
0 cos<br />
i sin<br />
i 0<br />
A <br />
<br />
i<br />
0 0 1 00<br />
0 1 di<br />
0<br />
0 1 0 0<br />
sin<br />
i cos<br />
i 0<br />
<br />
<br />
<br />
<br />
<br />
0 0 0 10<br />
0 0 1 0<br />
0 0 1 0<br />
0 0 1<br />
sau
Modele geometrice şi cinematice 34<br />
A<br />
i<br />
cos<br />
<br />
<br />
sin<br />
<br />
0<br />
<br />
0<br />
sin<br />
cos<br />
cos<br />
cos<br />
i<br />
i<br />
sin<br />
0<br />
i<br />
i<br />
i<br />
sin<br />
sin<br />
i<br />
cos<br />
cos<br />
i<br />
cos<br />
0<br />
i<br />
i<br />
i<br />
ai<br />
<br />
0<br />
<br />
<br />
di<br />
<br />
<br />
1 <br />
(2.22)<br />
1<br />
1<br />
1<br />
1 1<br />
1 1<br />
φ 2 l 2<br />
φ 3 l 3<br />
φ 4<br />
l 1<br />
φ 1<br />
l 4<br />
φ 5<br />
1<br />
φ 6<br />
l 6<br />
Figura 2.6<br />
Pentru exemplificarea procedeurilor de calcul privind construcţia modelului<br />
cinematic, se va analiza robotul din figura (2.6)[17,62] al cărui lanţ cinematic<br />
conţine numai articulaţii de rotaţie.<br />
Robotul prezentat în figura 2.6 a are şase grade de libertate. Pentru<br />
determinarea parametrilor de transformare, în figura 2.6, b este reprezentat<br />
simbolic lanţul cinematic orientat pentru respectarea condiţiilor expuse mai sus<br />
(axele X au aceeaşi direcţie).<br />
i
Modele geometrice şi cinematice 35<br />
y 1 y 1 y 2 y 2 y 3<br />
l 2<br />
x 1<br />
x 2<br />
x x 3<br />
2<br />
3<br />
y 1 l 1<br />
φ 1<br />
5<br />
z<br />
φ 2<br />
θ φ3<br />
2 = φ 2<br />
θ 3 = φ 3<br />
a 2 =l 2<br />
a 3 =l 3<br />
d 2 =0<br />
d 3 =0<br />
l 3<br />
x 1<br />
z 1 z 1 z 2 z 2<br />
θ1 = φ x 3<br />
z 4<br />
φ x<br />
φ 6<br />
1<br />
4 y 4<br />
a 1 =0<br />
z 3<br />
l 5 z 5<br />
d 1 =0<br />
l 4<br />
α 1 =90 o θ 6 = φ 6<br />
l<br />
a y 6<br />
6 =0<br />
6<br />
x 1<br />
α 1 =0<br />
α 3 =0<br />
θ 4 = φ 4<br />
x 2<br />
x 5 d 6 =l 6<br />
a 4 =0<br />
θ 5 = φ 5<br />
α<br />
z 2<br />
z 6 =0<br />
5<br />
d 4 =l<br />
a 5 =0<br />
4 y 2<br />
y 5<br />
α<br />
z 6<br />
4 =90 o d 5 =l 5<br />
α 5 =90 o x 6<br />
z 1<br />
y 3<br />
y 5<br />
φ<br />
x 4 5<br />
Figura 2.7<br />
În figura 2.7. sunt reprezentate axele de coordonate pentru fiecare pereche<br />
de articulaţii. De exemplu, pentru sistemele de referinţă S<br />
0 , S 1 <br />
alinierea axelor X 0 şi Χ 1 determină următorii parametri: unghiul de rotaţie 1 în<br />
jurul axei Z 0 este parametrul i , distanţa l 1 măsurată pe axa Z 0 între cele două<br />
origini este parametrul d 1 , parametrul 1<br />
este unghiul măsurat în sens orar între<br />
Z 1 şi Zo , deci 1 = 90° , iar abaterea măsurata pe axele X între cele două origini<br />
dă a 1 =0.<br />
Matricea transformării între cele două sisteme, pentru această primă<br />
articulaţie, se obţine înlocuind parametrii determinaţi în relaţia (2.23). Rezultă,<br />
cos1<br />
0 sin1<br />
0<br />
<br />
<br />
<br />
sin1<br />
0 cos1<br />
0<br />
A <br />
<br />
1<br />
0 1 0 l1<br />
<br />
<br />
<br />
0 0 0 1<br />
Parametrii celorlalte articulaţii se pot obţine în aceeaşi manieră din figura<br />
2.7, iar matrlcele corespunzătoare vor fi
Modele geometrice şi cinematice 36<br />
cos2<br />
sin1<br />
0 l2<br />
cos2<br />
<br />
<br />
<br />
<br />
sin2<br />
cos2<br />
0 l2<br />
sin2<br />
A<br />
<br />
2<br />
0 0 1 0 <br />
<br />
<br />
0 0 0 1 <br />
cos3<br />
sin3<br />
0 l3<br />
cos3<br />
<br />
<br />
<br />
<br />
sin3<br />
cos3<br />
0 l3<br />
sin3<br />
A<br />
<br />
3<br />
0 0 0 0 <br />
<br />
<br />
0 0 0 1 <br />
cos4<br />
0 sin4<br />
0 <br />
<br />
<br />
<br />
sin4<br />
0 cos4<br />
0<br />
A <br />
<br />
4<br />
(2.23)<br />
0 1 0 l4<br />
<br />
<br />
<br />
0 0 0 1 <br />
cos5<br />
0 sin54<br />
0 <br />
<br />
<br />
<br />
sin5<br />
0 cos5<br />
0<br />
A<br />
<br />
5<br />
0 1<br />
0 l5<br />
<br />
<br />
<br />
0 0 0 1 <br />
cos6<br />
sin6<br />
0 0 <br />
<br />
<br />
<br />
sin6<br />
cos6<br />
0 0<br />
A<br />
<br />
6<br />
0 0 1 l6<br />
<br />
<br />
<br />
0 0 0 1 <br />
O tratare similară poate fi obţinută pentru lanţuri cinematice care conţin şi<br />
articulaţii de translaţie. În figura 2.8 este prezentat un astfel de robot cu trei grade<br />
de libertate.Din analiza parametrilor asociaţi celor trei articulaţii de translaţie,<br />
rezultă:
Modele geometrice şi cinematice 37<br />
2 3<br />
1<br />
a<br />
z 0<br />
z 2<br />
z 3<br />
y 0<br />
y 2<br />
y 3<br />
a 1<br />
y 1<br />
x 0 x 1 x 2 x 3<br />
z 2<br />
y 1<br />
z 1 d 3<br />
x 1<br />
z 1<br />
1 0 0 a1<br />
1<br />
0 0 0 1<br />
0 0 0 <br />
<br />
<br />
<br />
0 0 1 0<br />
<br />
<br />
A<br />
<br />
0 0 1<br />
0<br />
<br />
<br />
<br />
1<br />
A <br />
<br />
0 1 0 0<br />
2<br />
A <br />
3 <br />
(2.24)<br />
0<br />
1<br />
0 0 0<br />
1 0 d2<br />
0<br />
0 1 d3<br />
<br />
<br />
<br />
<br />
<br />
0<br />
0 0 1 0<br />
0 0 1 0<br />
0 0 1 <br />
Transformarea generală asociată întregului lanţ cinematic va fl:<br />
TM B A<br />
1A2<br />
A3<br />
d 2<br />
x 2<br />
y 2<br />
1<br />
0 0 a1<br />
<br />
<br />
<br />
<br />
0 1 0 d2<br />
T <br />
<br />
M B (2.25)<br />
0<br />
0 1 d3<br />
<br />
<br />
<br />
0<br />
0 0 1 <br />
Variabilele mişcării sunt cele trei deplasări liniare a 1 , d 2 , d 3 , de şi ele apar, în<br />
mod firesc, în cadrul coloanei vectorului de poziţie.<br />
b<br />
Figura 2.8
Modele geometrice şi cinematice 38<br />
Modelele prezentate s-au referit la roboţi cu articulaţii numai de rotaţie sau<br />
numai de translaţie. Procedura se poate aplica în aceeaşi manieră pentru lanţuri<br />
cinematice cu diverse tipuri de articulaţii. Structurile mecanice uzuale întîlnite la<br />
cele mai cunoscute familii de roboţi industriali se grupează, după coordonatele ce<br />
descriu poziţiile braţului, în: roboţi de coordonate carteziene, cilindrice, sferice, de<br />
rezoluţie etc. Indiferent de tipul utilizat, calculul cinematic se realizează după<br />
metoda expusă, determinînd parametrii D.H. ai fiecărei articulaţii şi formînd cu<br />
aceştia matricele de transformare.<br />
2.3. Problema controlului poziţiei<br />
Paragraful anterior a stabilit procedurile de determinare a transformărilor<br />
omogene Af pentru diferite tipuri de braţe mecanice. Pe baza lor se obţine, prin<br />
multiplicare succesivă, transformarea generală ce exprimă poziţia elementului final<br />
(terminalul sau mîna robotului) în raport cu sistemul de referinţă al bazei.<br />
Nu trebuie să uităm însă că scopul final al oricărei aplicaţii robotice este de a<br />
realiza o anumită funcţie tehnologică şi, în cadrul ei, o primă cerinţă este<br />
poziţionarea corectă a braţului mecanic într-un punct sau de-a lungul unei<br />
traiectorii impuse.<br />
B<br />
Aceasta înseamnă implicit că transformarea generală T M trebuie să<br />
verifice coordonatele punctului de lucru. Se poate formula, deci următoarea<br />
problemă de control: "care sunt parametrii variabili asociaţi fiecărei articulaţii<br />
pentru ca coordonatele elementului „terminal să verifice un punct dat în<br />
spaţiul de operare, asigurînd totodată şi o anumită orientare a mâinii<br />
robotului.<br />
În acest fel, relaţiile ce definesc transformările cinematice devin ecuaţii de<br />
control cinematic.<br />
Rezolvarea ecuaţiilor cinematice reprezintă în general o problemă dificilă.<br />
Acest lucru este determinat nu atît de numărul ecuaţiilor cît de neliniaritatea lor.<br />
Pentru ilustrarea dificultăţilor ce apar în ecuaţiile de acest tip vom aborda<br />
problema controlului cinematic al modelelor deduse în paragraful precedent.<br />
În cazul robotului în coordonate carteziene din figura (2.8) ecuaţia generală a<br />
braţului este dată de produsul celor trei matrici în formula (2.25). Deci, poziţia -<br />
orientarea braţului va fi din (2.19).<br />
1<br />
0 0 a1<br />
<br />
<br />
<br />
<br />
0 1 0 d2<br />
T <br />
<br />
M B (2.25)<br />
0<br />
0 1 d3<br />
<br />
<br />
<br />
0<br />
0 0 1
Modele geometrice şi cinematice 39<br />
Este evident că un astfel de robot va controla numai poziţia elementului<br />
terminal nu şi orientarea, calculul vectorial de poziţie fiind obţinut direct<br />
px<br />
<br />
p <br />
<br />
<br />
p y <br />
(2.26)<br />
<br />
pz<br />
<br />
unde,<br />
p a<br />
p<br />
x<br />
y<br />
1<br />
a<br />
2<br />
(2.27)<br />
pz<br />
a3<br />
Simplitatea soluţiei este datorată absenţei neliniarităţii la aceste<br />
transformări specifice articulaţiilor de translaţie, dar apare clar faptul că un astfel<br />
de robot nu asigură funcţia de orientare a braţului. ţ<br />
Se va considera acum robotul cu articulaţii de rotaţie prezentat în figura 2.6.<br />
Modelul cinematic al braţului se obţine prin multiplicarea matricilor A i din (2.23),<br />
TM B A1<br />
A2<br />
A3<br />
A4<br />
A5<br />
A<br />
(2.29)<br />
Efectuând înmulţirea matricilor şi identificînd componentele generale ale<br />
matricei de orientare - poziţia (2.19) se obţine [62]<br />
n x cos1 cos<br />
2 3<br />
4 cos5<br />
cos6<br />
sin1<br />
sin5<br />
cos6<br />
<br />
sin<br />
2 3<br />
4<br />
cos1<br />
sin6<br />
n y sin1 cos<br />
2 3<br />
4 cos5<br />
cos6<br />
cos1<br />
sin5<br />
cos6<br />
<br />
sin<br />
2 3<br />
4 sin1<br />
sin6<br />
n z sin<br />
2 3<br />
4 cos5<br />
cos6<br />
cos<br />
2 3<br />
4 sin6<br />
o x cos1 cos<br />
2 3<br />
4 cos5<br />
sin<br />
6 sin1<br />
sin5<br />
sin6<br />
<br />
cos1 sin<br />
2 3<br />
4 cos6<br />
o y sin1 cos<br />
2 3<br />
4 cos5<br />
sin<br />
6 cos1<br />
sin5<br />
sin<br />
6 <br />
sin1 sin<br />
2 3<br />
4 cos6<br />
o z cos<br />
2 3<br />
4 cos<br />
6 sin<br />
2 3<br />
4 cos5<br />
sin6<br />
(2.30)<br />
a x sin1 cos5<br />
cos1<br />
cos<br />
2 3<br />
4<br />
sin5<br />
a y sin1 cos<br />
2 3<br />
4 sin5<br />
cos1<br />
cos5<br />
a z sin<br />
2 3<br />
4 sin5<br />
(2.31)<br />
p x l2 cos1<br />
cos<br />
2 l3<br />
cos1<br />
cos<br />
2 3<br />
<br />
l5<br />
sin<br />
2 3<br />
4 cos1<br />
<br />
l 6 sin1<br />
cos5<br />
cos1<br />
cos<br />
2 3<br />
4<br />
sin5<br />
<br />
p y l2 sin1<br />
cos2<br />
l3<br />
sin1<br />
cos<br />
2 3<br />
<br />
l5<br />
sin1<br />
sin<br />
2 3<br />
4 <br />
l 6 sin1<br />
cos<br />
2 3<br />
4 sin5<br />
cos1<br />
cos5
Modele geometrice şi cinematice 40<br />
<br />
2 3<br />
<br />
l5<br />
<br />
2 3<br />
<br />
<br />
<br />
p z l1 l2<br />
sin2<br />
l3<br />
sin<br />
cos<br />
4<br />
l 6 sin<br />
2 3<br />
4<br />
sin<br />
5<br />
Ecuaţiile stabilite pun în evidenţă foarte bine complexitatea problemei<br />
controlului cinematic. Pentru o poziţie şi orientare a elementului terminal al<br />
robotului impuse, deci p x , p y , p z , n x , n y , n z , o x , o y , o z , a x , a y , i luînd valori prescrise,<br />
se cere calcularea valorilor unghiurilor φ 1 , φ 2 ,..., φ 6 care satisfac ecuaţiile (2.30).<br />
Este evident că determinarea variabilelor de control φ 1 , φ 2 ,..., φ 6 pentru<br />
asigurarea atît a poziţiei dorite, cît şi a orientării mîinii nu este posibilă, în<br />
principiu, se impune numai o poziţionare riguroasă şi o orientare parţial satisfăcută<br />
(care se presupune că, totuşi, acoperă cerinţele tehnologice impuse). Chiar în acest<br />
caz, o soluţionare analitică este evident extrem de dificilă. Tratarea numerică pe un<br />
calculator adecvat implică şi ea dificultăţi serioase şi în orice caz efortul de calcul<br />
este extrem de mare, problema de control neputînd fi abordată ca o problemă în<br />
timp real. O tratare off-line pe un calculator numeric este practic singura modalitate<br />
de utilizare a controlului cinetic. Pentru diferite puncte, de-a lungul traiectoriei<br />
impuse, se calculează aprioric valorile variabilelor de control ale articulaţiilor, ele<br />
urmînd să reprezinte mărimile de referinţă în sistemul propiu-zis de conducere al<br />
mişcării.<br />
În literatura de specialitate se pot menţiona eforturile diverşilor autori pentru<br />
soluţionarea acestei probleme. Menţionăm metoda propusă de Paul Shimano şi<br />
Meyer [5,25] care izolează seccesiv fiecare variabilă de elementul terminal prin<br />
premultiplicarea cu inversele matricilor A i . Lee şi Siegler [24] separă problema<br />
controlului general în problema poziţionării braţului de cea a orientării mâinii. Întro<br />
asemenea abordare, transformarea totală poate fi rescrisă ca,<br />
T<br />
B<br />
M<br />
T<br />
O<br />
M<br />
T<br />
O<br />
BR<br />
T<br />
BR<br />
M<br />
absolut, sistemul O, iar<br />
, unde s-a considerat baza robotului ca sistem de referinţă<br />
T BR<br />
O şi<br />
BR<br />
T M desemnează transformările ce definesc<br />
poziţionarea braţului robotului faţă de baza şi respectiv mâna robotului în raport cu<br />
braţul [24]. De exemplu, pentru robotul discutat mai sus, această partajare a<br />
transformărilor impune următoarea rescriere a relaţiei (2.19)<br />
A<br />
A A A<br />
A <br />
TM O 1 2 3 4 5 A6<br />
(2.32)<br />
unde prima submulţime desemnează poziţionarea braţului,<br />
O<br />
, <br />
T<br />
O<br />
TM<br />
A1 A2<br />
A3<br />
A123<br />
1 2,<br />
3 3<br />
iar a doua orientare,<br />
T BR<br />
M<br />
A<br />
A<br />
A<br />
A<br />
4 5 6 456 4 5 ,<br />
(2.33)<br />
3<br />
, T<br />
Pe de altă parte, atît transformarea globală<br />
(2.34)<br />
6<br />
6<br />
O<br />
T M , cât şi cele parţiale,<br />
3<br />
T 6 , pot fi rescrise în termenii matricei poziţie - orientare (2.10).<br />
O<br />
T 3 şi
Modele geometrice şi cinematice 41<br />
nx<br />
ox<br />
ax<br />
px<br />
<br />
<br />
<br />
O R<br />
P<br />
<br />
ny<br />
o y a y p y<br />
T <br />
M <br />
0 1<br />
nz<br />
oz<br />
az<br />
pz<br />
<br />
<br />
<br />
0 0 0 1 <br />
(2.35)<br />
nbx<br />
obx<br />
abx<br />
pbx<br />
<br />
O O <br />
<br />
O R <br />
<br />
3 P<br />
<br />
n<br />
3 by oby<br />
aby<br />
pby<br />
T <br />
3<br />
<br />
0 1 <br />
nbz<br />
obz<br />
abz<br />
pbz<br />
<br />
<br />
<br />
0 0 0 1 <br />
(2.36)<br />
nMx<br />
oMx<br />
aMx<br />
pMx<br />
<br />
3 3 <br />
<br />
3 R <br />
<br />
6 P<br />
<br />
n<br />
6 My oMy<br />
aMy<br />
pMy<br />
T <br />
6<br />
<br />
0 1 <br />
nMz<br />
oMz<br />
aMz<br />
pMz<br />
<br />
<br />
<br />
0 0 0 1 <br />
(2.37)<br />
Înlocuind expresiile (2.35) - (2.37) in (2.31) rezultă,<br />
O O <br />
3 3 O 3 O 3 O<br />
O R<br />
<br />
<br />
3 P3<br />
R6<br />
P6<br />
R<br />
<br />
<br />
3 R6<br />
R3<br />
R6<br />
P<br />
T<br />
3<br />
3<br />
<br />
<br />
(2.38)<br />
<br />
0 1 <br />
<br />
0 1 <br />
<br />
0 1 <br />
Deci, din (2.35) se obţine,<br />
O<br />
3<br />
R R 3 R 6<br />
(2.39)<br />
O 3 O<br />
P R3 P6<br />
P3<br />
(2.40)<br />
În această ultimă relaţie, vectorul P 6<br />
3 , defineşte poziţia mâinii faţă de<br />
punctul terminal al braţului. Prin multiplicarea cu<br />
de sistemul absolut (figura 2.9, a).<br />
Acest vector va fi deci reprezentat prin<br />
O<br />
O<br />
3<br />
3<br />
R 0 exprimă acelaşi vector faţă<br />
PM R 3 P 6<br />
(2.41)<br />
deci, din (2.40) se obţine<br />
O<br />
M<br />
O<br />
O<br />
M<br />
O<br />
BR<br />
P P P3 P P<br />
(2.42)<br />
sau, astfel spus, translaţia totală este obţinută prin însumarea translaţiilor braţului şi<br />
mîinii. În această relaţie vectorul P M<br />
0 coincide cu versorul a al matricei de<br />
orientare (2.35) (figura 2.4), deci componentele acestui vector pot fi determinate<br />
relativ uşor. Într-o primă fază se determină unghiurile φ şi θ<br />
a y<br />
ax<br />
a<br />
arctan , arctan<br />
ax<br />
az<br />
iar ulterior, componentele vectorului<br />
2<br />
2<br />
y
Modele geometrice şi cinematice 42<br />
z 0 z BR<br />
x B<br />
P M<br />
z BR<br />
a<br />
P M<br />
P k BR az<br />
P y BR<br />
θ<br />
y 0<br />
k ax φ<br />
x x BR<br />
0 a b<br />
k ay<br />
y BR<br />
P<br />
P<br />
Mx<br />
My<br />
P<br />
P<br />
M<br />
M<br />
sin<br />
cos<br />
sin<br />
sin<br />
(2.43)<br />
PMz<br />
PM<br />
cos<br />
Ţinînd cont de faptul că vectorul Ρ este dat prin matricea generală a<br />
robotului (2.35), din (2.42) şi (2.43) se pot calcula componentele vectorului de<br />
poziţie al braţului<br />
O<br />
P BR<br />
PBRx<br />
Px<br />
PMx<br />
<br />
<br />
<br />
<br />
<br />
PBRy<br />
<br />
<br />
<br />
Py<br />
<br />
PM<br />
y<br />
<br />
(2.44)<br />
<br />
PBRz<br />
<br />
<br />
Pz<br />
<br />
<br />
PMz<br />
<br />
Pe de altă parte, din formula (2.34) se obţine,<br />
PBRx<br />
<br />
<br />
P<br />
<br />
BRy <br />
PA123 <br />
1, 23<br />
<br />
(2.45)<br />
<br />
PBRz<br />
<br />
unde P[A] desemnează vectorul de poziţie din transformarea A.<br />
Această ultimă relaţie constituie ecuaţia de bază ce permite calculul<br />
unghiurilor φ 1, φ 2, φ 3 ce definesc articulaţiile braţului.<br />
Pentru calculul unghiurilor mâinii φ 4, φ 5, φ 6 se utilizează componenta de<br />
3<br />
rotaţie R 6 care poate fi exprimată din relaţia (2.39) sub forma,<br />
R<br />
3<br />
6<br />
R<br />
1<br />
0<br />
3<br />
R<br />
Figura 2.9<br />
Cele două matrici R 3<br />
0 şi R sînt uşor obţinute ca matrici de rotaţie din<br />
0<br />
transformările respective. În plus, inversa lui R 3 se calculează conform regulilor<br />
matricelor de orientare. Introducînd aceste rezultate în matricea de orientare a<br />
transformării (2.34), rezultă,
Modele geometrice şi cinematice 43<br />
<br />
1<br />
R3 o <br />
R A456<br />
4 , 5,<br />
<br />
<br />
6<br />
(2.47)<br />
unde R[A] desemnează matricea de orientare a transformării A.<br />
Relaţia (2.47) reprezintă ecuaţia ce permite calculul unghiurilor <br />
4<br />
, 5<br />
, 6<br />
ce definesc poziţia mâinii. Procedura expusă permite deci calculul decuplat al<br />
parametrilor geometrici ai robotului, analizând separat ecuaţiile de poziţie de cele<br />
de orientare. Cu toate că această metodă simplifică şi facilitează, în mare măsură,<br />
efortul de calcul, abordarea analitică a soluţiilor de control cinematic rămâne în<br />
continuare o problemă complexă.<br />
În ciuda dificultăţilor prezentate, controlul cinematic este cea mai utilizată<br />
metodă de control a mişcării unui robot, soluţionare problemei fiind dată, în mod<br />
paradoxal, chiar de robot, de implementarea sa fizică. Conceptul de bază în această<br />
abordare îl constituie faptul că rezolvarea ecuaţiilor (2.30) implică evident<br />
modelarea lor (numerică sau analogică), ori cea mai bună modelare, cea mai<br />
exactă, o reprezintă robotul însuşi. În acest sens, robotul este „forţat” să execute o<br />
anumită traiectorie în spaţiul său de lucru. În punctele prestabilite, dorite, sunt<br />
măsurate valorile variabilelor de control, aceste valori reprezentând soluţiile exacte<br />
ale ecuaţiilor cinetice asociate punctelor respective. Valorile astfel obţinute vor<br />
constitui mărimi de control impuse în faza de operare propriu - zisă a robotului.<br />
Procedura este curent cunoscută sub denumirea de „ instruirea robotului” şi va fi<br />
discutată pe larg într-unul din capitolele ulterioare.<br />
2.4. Controlul cinematic diferenţial<br />
Analiza precedentă s-a axat pe problema determinării variabilelor de control<br />
pe fiecare articulaţie astfel încât comportarea cinematică a întregului braţ, ca<br />
poziţie şi orientare, să fie cea dorită, insistându-se în special asupra cerinţelor de<br />
calcul şi complicaţiilor care derivă din acestea într-o conducere în timp real.<br />
O altă modalitate de tratare a controlului cinematic poate fi obţinută dacă nu<br />
se iau în consideraţie valorile totale ale parametrilor mişcării ci variaţiile acestora<br />
în raport cu anumite mărimi de referinţă. O astfel de abordare este desemnată ca<br />
analiză cinematică diferenţială.<br />
Modelul diferenţial al unui robot este deci un model care permite calculul<br />
diferenţial dx a coordonatelor operaţionale (variabilele ce definesc poziţia în spaţiul<br />
de lucru) în funcţie de diferenţiala dq a coordonatelor generalizate (variabilele<br />
asociate fiecărei articulaţii mecanice). Într-o transpunere analitică, această<br />
dependenţă se poate scrie printr-o matrice iacobian, în forma:<br />
dx j(<br />
q)<br />
dq<br />
(2.48)<br />
Dacă, pentru un anumit model cinematic, coordonatele operaţionale şi<br />
generalizate variază în cantităţi mici, atunci diferenţialele pot fi înlocuite cu<br />
variaţiile corespunzătoare şi modelul (2.48) se scrie sub forma,<br />
x J ( q)<br />
q<br />
(2.49)
Modele geometrice şi cinematice 44<br />
În cazul în care acestor variaţii li se asociază şi variaţii în timp, diferenţialele<br />
pot fi înlocuite cu derivate,<br />
.<br />
.<br />
x J ( q)<br />
q<br />
(2.50)<br />
Indiferent de modul de scriere, într-o analiză diferenţială, o etapă importantă<br />
o constituie calculul matricei iacobiene J(q). Considerând modelele cinematice<br />
stabilite în paragrafele anterioare, redate analitic în forma,<br />
x f (q)<br />
(2.51)<br />
atunci matricea iacobian este matricea derivatelor parţiale ale funcţiei în raport cu<br />
coordonatele generalizate.<br />
f<br />
J ( q)<br />
<br />
(2.52)<br />
q<br />
sau, pe componente<br />
fi<br />
( q)<br />
J .. ( q)<br />
<br />
(2.53)<br />
y qi<br />
Dacă coordonatele operaţionale utilizate sunt date de vectorul,<br />
X <br />
<br />
<br />
Y<br />
<br />
Z <br />
x <br />
(2.54)<br />
<br />
x <br />
<br />
<br />
y<br />
<br />
<br />
z <br />
atunci relaţia (2.50) poate fi scrisă ca,<br />
q1<br />
<br />
<br />
X<br />
X1<br />
X 2 X3<br />
... X n <br />
<br />
q2<br />
<br />
<br />
<br />
<br />
<br />
Y<br />
<br />
Y1<br />
Y2<br />
Y3<br />
... Yn<br />
<br />
q3<br />
<br />
Z<br />
Z1<br />
Z2<br />
Z3<br />
... Zn<br />
<br />
<br />
. <br />
<br />
<br />
(2.55)<br />
<br />
<br />
x 1x<br />
2x<br />
3x<br />
... nx<br />
.<br />
<br />
<br />
<br />
<br />
y 1y<br />
2<br />
y 3y<br />
... ny<br />
. <br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
z 1z<br />
2z<br />
3z<br />
... nz<br />
q<br />
<br />
n1<br />
<br />
qn<br />
<br />
unde qi<br />
i<br />
pentru o articulaţie de rotaţie, qi<br />
di<br />
pentru o articulaţie de translaţie<br />
x<br />
<br />
iar Xi<br />
ix <br />
.<br />
qi<br />
qi<br />
Pentru exemplificare, să considerăm robotul cu articulaţii de translaţie<br />
prezentat în figura 2.8. Coordonatele elementului terminal în raport cu sistemul de<br />
referinţă (X 0 , Y 0 , Z 0 ) sunt date de,
Modele geometrice şi cinematice 45<br />
0<br />
X3 a1<br />
0<br />
3 d2<br />
0<br />
Z3 d3<br />
1 , d2,<br />
d<br />
Y (2.56)<br />
unde a 3 exprimă în acelaşi timp şi coordonatele generalizate q 1 , q2,<br />
q3<br />
. În<br />
consecinţă, utilizând o formulă de tipul (2.53) se obţine iacobianul sistemului,<br />
1<br />
0 0<br />
<br />
<br />
0 1 0<br />
<br />
0<br />
0 1<br />
J <br />
(2.57)<br />
0<br />
0 0<br />
0<br />
0 0<br />
<br />
<br />
0 0 0<br />
Pentru sisteme mecanice mari, procedurile de calcul ale matricei, deşi mai<br />
complexe, se bazează pe o tehnică similară sau prin derivate ale celei prezentate în<br />
(5.25).<br />
În forma definită mai sus, iacobianul permite calcului variaţiilor<br />
coordonatelor operaţionale în funcţie de variaţiile coordonatelor generalizate (din<br />
articulaţii).<br />
De fapt, o problemă de conducere impune o procedură inversă: „dându-se<br />
variaţii impuse ale coordonatelor operaţionale se cer variaţiile coordonatelor<br />
generalizate corespunzătoare”. O astfel de formulare conduce la o relaţie de forma,<br />
1<br />
q<br />
J ( q)<br />
x<br />
(2.58)<br />
Calculul inversei iacobianului este în general o problemă complexă,<br />
dificultatea fiind determinată de faptul că matricea iacobian este foarte rar o<br />
matrice pătrată. În general se va impune deci calculul unei pseudoinverse J -1 după<br />
proceduri specifice (38,25,62). De exemplu, pentru iacobianul obţinut mai sus,<br />
x Jq<br />
(2.59)<br />
prin transpunere rezultă<br />
T<br />
T<br />
q<br />
T<br />
x q J<br />
(2.60)<br />
unde admite o pseudoinversă (J T ) -1 de forma<br />
1<br />
0 0 0 0 0<br />
T<br />
J <br />
<br />
<br />
<br />
0 1 0 0 0 0<br />
<br />
(2.61)<br />
<br />
0 0 1 0 0 0<br />
T<br />
admite o pseudoinversă 1<br />
J<br />
de forma
Modele geometrice şi cinematice 46<br />
1<br />
0 0<br />
<br />
<br />
0 1 0<br />
<br />
<br />
T 1<br />
0 0 1<br />
J <br />
(2.62)<br />
0<br />
0 0<br />
0<br />
0 0<br />
<br />
<br />
0 0 0<br />
Se verifică uşor că<br />
T T 1<br />
J J<br />
I<br />
T<br />
Multiplicând cu J<br />
1<br />
T T 1<br />
T T T 1<br />
T<br />
x<br />
J<br />
q<br />
J J<br />
q<br />
ambii membri ai relaţiei (2.60), rezultă<br />
(2.63)<br />
(2.64)<br />
Desigur că această metodă poate fi aplicată numai pentru forme particulare<br />
ale matricei J. Pentru o formă generală a acesteia se poate utiliza procedura<br />
specificată în (12,17). În acest sens, se înmulţesc ambii membrii ai relaţiei (2.59)<br />
cu J T ,<br />
T<br />
T<br />
J x J Jq<br />
(2.65)<br />
Se determină inversa matricei J T J şi prin multiplicarea rezultatului cu (2.65)<br />
se obţine<br />
T 1 T<br />
J<br />
J J x<br />
q<br />
T 1 T<br />
În acest caz J<br />
J J<br />
(2.66)<br />
poate fi definită ca o pseudoinversă a matricei J.<br />
Exemplul pe care l-am analizat se bazează pe o matrice iacobian cu<br />
coeficienţi constanţi. În cele mai multe cazuri, coeficienţii matricei depind de<br />
coordonatele generalizate q i , ceea ce impune o recalculare a elementelor ei la orice<br />
modificare a acestor parametrii.<br />
Calculul variaţilor q i , asociate fiecărei articulaţii a structurii mecanice, pe<br />
baza variaţiilor x i impuse în sistemul operaţional, sugerează introducerea unei<br />
structuri de conducere specifice. În figura 2.10 este prezentat un astfel de sistem.<br />
Traiectoria, în spaţiul de operare al robotului, este dată prin mulţimea de<br />
puncte x di . Aceste valori sunt comparate cu cele realizate efectiv de sistemul<br />
mecanic x i . Parametrii operaţionali reali x i sunt obţinuţi la rândul lor din<br />
coordonatele generalizate q i pe baza modelului cinematic direct (2.51). Abaterile<br />
obţinute,
Modele geometrice şi cinematice 47<br />
x di<br />
-<br />
x i<br />
J -1 (q)<br />
q i<br />
SA<br />
x i<br />
f(q)<br />
q i<br />
Figura 2.10<br />
xi<br />
xdi<br />
xi<br />
(2.67)<br />
sunt aplicate unui bloc de calcul ce implementează pe J -1 (q) la ieşirea căruia se<br />
generează noile variaţii q i ce asigură corectarea traiectoriei. Evident, dependenţa<br />
iacobianului de parametrii q i determină recalcularea sa la fiecare pas de operare.<br />
Avantajul principal al unui astfel de sistem de conducere este dat de<br />
simplitatea legii de conducere utilizate, modelul cinematic diferenţial asociat fiind<br />
un model liniar. Spre deosebire de modelele cinematice propriu-zise prezentate<br />
anterior şi de cele dinamice, care vor fi studiate ulterior, modele caracterizate prin<br />
neliniarităţi deosebit de complexe, modelele diferenţiale oferă avantajul liniarizării.<br />
Din nefericire, acest avantaj este, în mare măsură, anulat de efortul de calcul<br />
cerut, în special pentru calculul inversei matricei iacobiene, calcul ce nu poate fi<br />
realizat off-line datorită dependenţei coeficienţilor matricei de parametrii q i . Cu<br />
toate că în literatură s-au dezvoltat o serie de metode [4,6] care permit calculul<br />
rapid al lui J -1 (q), ele cer, în general, sisteme hardware de mare viteză, cu un preţ<br />
de cost întotdeauna prohibitiv, pentru o operare eficientă în timp real.