PRECIZIA ROBOŢILOR INDUSTRIALI
PRECIZIA ROBOŢILOR INDUSTRIALI
PRECIZIA ROBOŢILOR INDUSTRIALI
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
FACULTATEA CONSTRUCŢII DE MAŞINI<br />
DEPARTAMENTUL DE INGINERIA SISTEMELOR MECANICE<br />
<strong>PRECIZIA</strong> <strong>ROBOŢILOR</strong><br />
<strong>INDUSTRIALI</strong><br />
Curs master<br />
Anul II Robotică<br />
Prof. Univ. Dr. Ing. Iuliu NEGREAN<br />
2012 - 2013<br />
Bulevardul Muncii nr. 103-105, 400641 Cluj-Napoca, România<br />
Tel. +40-264-401616, +40-264-401659, Fax: +40-264-401660<br />
E-mail: iuliu.negrean@mep.utcluj.ro
CUPRINS:<br />
LISTĂ DE NOTAȚII ȘI SIMBOLURI .............................................................................................................. 5<br />
1. NOȚIUNI GENERALE REFERITOARE LA <strong>PRECIZIA</strong> ROBOȚILOR ..................................................... 11<br />
1.1 Introducere .............................................................................................................................. 11<br />
1.2 Noţiuni generale referitoare la precizia roboţilor industriali ............................................... 12<br />
1.2.1 Terminologie. Caracteristici ale preciziei. Sursele erorilor. .......................................... 13<br />
1.2.2 Influenţa parametrilor cinematici asupra preciziei de poziţionare ............................... 23<br />
1.2.3 Sistemele de referinţă ataşate robotului şi transformările care au loc între sisteme ...….25<br />
1.3 Caracteristicile de performanţă ale roboţilor industriali ....................................................... 27<br />
1.3.1 Evaluarea performanţelor roboţilor industriali în funcţie de configuraţie …………….. 28<br />
1.4 Calibrarea roboţilor industriali ................................................................................................ 36<br />
1.4.1 Noţiuni referitoare la procesul de calibrare al roboţilor industriali .............................. 36<br />
1.4.2 Caracteristicile procesului de calibrare. Metode de calibrare ...................................... 37<br />
1.4.3 Sisteme de calibrare utilizate în practica industrială. Avantajele calibrării ................. 42<br />
2. ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR SERIALI ............................... 45<br />
2.1 Algoritmi utilizați în modelarea geometrică directă a structurilor de roboți ..................... 45<br />
2.1.1 Generalități privind matricele de transformare omogenă ............................................ 46<br />
2.1.2 Algoritmul matricelor de situare în modelarea geometrică directă............................. 53<br />
2.1.3 Algoritmul operatorilor compuși de tip (PG) ................................................................. 58<br />
2.1.4 Algoritmul operatorilor compuşi de tip Denavit – Hartenberg (DH) ............................ 65<br />
2.1.5 Algoritmul Exponenţialelor de Matrice (MEG) .............................................................. 69<br />
2.2 Algoritmi utilizați în modelarea cinematică directă a structurilor de roboți ...................... 73<br />
2.2.1 Algoritmul iterativ ............................................................................................................ 73<br />
2.2.2 Matricea Jacobiană bazată pe matricele de transfer .................................................... 74<br />
2.2.3 Matricea Jacobiană definită pe baza matricelor diferenţiale ....................................... 77<br />
2.2.4 Algoritmul Exponenţialelor de Matrice în cinematica directă ...................................... 78<br />
2.3 Algoritmi utilizați în modelarea dinamică a roboților industriali ........................................ 86<br />
2.3.1 Algoritmul proprietăților de distribuție a maselor ........................................................ 86<br />
2.3.2 Algoritmul forțelor generalizate în dinamica structurilor de roboți seriali ................. 88<br />
3
3. MODELAREA ERORILOR GEOMETRICE............................................................................................ 91<br />
3.1 Matricele datelor de intrare ................................................................................................... 91<br />
3.2 Modelarea erorilor geometrice.............................................................................................. 98<br />
3.2.1 Modelarea erorilor primare ............................................................................................ 98<br />
3.2.2 Modelarea erorilor geometrice .................................................................................... 111<br />
3.3 Eliminarea erorilor grosolane utilizând matricea statisticii znα ...................................... 119<br />
3.4 Expresiile matricelor diferențiale ale erorilor .................................................................... 119<br />
3.5 Algoritmul matricelor de transfer al erorilor geometrice bazat pe parametrii de situare..... 124<br />
4. MODELAREA ERORILOR CINEMATICE ............................................................................................ 125<br />
4.1 Matricele erorilor cinematice .............................................................................................. 129<br />
4.2 Matricea Jacobiană și proprietățile ei ................................................................................ 131<br />
4.3 Matricea Jacobiană bazată pe matricele de transfer......................................................... 133<br />
4.4 Matricea Jacobiană bazată pe matricele diferenţiale........................................................ 137<br />
4.5 Matricea Jacobiană a erorilor ............................................................................................. 141<br />
4.6 Determinarea matricei Jacobiene a erorilor și a derivatei acesteia în raport cu sistemul { }<br />
0 . 142<br />
4.7 Erori cinematice de viteze și accelerații............................................................................ 145<br />
4.8 Modelarea statistică a erorilor cinematice........................................................................ 147<br />
5. MODELAREA ERORILOR DE DISTRIBUȚIE A MASELOR................................................................ 161<br />
5.1 Modelarea erorilor de distribuţie a maselor....................................................................... 161<br />
6. MODELAREA ERORILOR DINAMICE................................................................................................. 165<br />
6.1 Matricele erorilor dinamice ................................................................................................. 165<br />
7. INFLUENȚA ERORILOR DINAMICE ASUPRA PRECIZIEI TRAIECTORIEI ....................................... 173<br />
7.1 Modelarea erorilor traiectoriei de mişcare......................................................................... 173<br />
8. APLICAȚII PRIVIND MODELAREA PRECIZIEI GEOMETRICE, CINEMATICE ȘI DINAMICE A<br />
STRUCTURILOR SERIALE DE ROBOȚI ........................................................................................... 180<br />
BIBLIOGRAFIE .................................................................................................................................... 197<br />
4
LISTA DE SIMBOLURI<br />
Simbolul utilizat Semnificaţia<br />
(SMR) Abreviere (abr.)structura mecanică a robotului.<br />
(MGD) Modelul geometric direct (abr.)<br />
(MGI) Modelul geometric invers (abr.)<br />
(MCD) Modelul cinematic direct (abr)<br />
(MCI) Modelul cinematic invers (abr.)<br />
(MEG) Algoritmul Exponenţialelor de Matrice in geometria directa (abr.)<br />
(MEK) Algoritmul exponenţialelor de matrice in cinematica directa (abr.)<br />
(DM) Distribuţia maselor (abr.)<br />
(PG) Parametrii generalizaţi (abr.)<br />
(DH)<br />
i = 1 → n<br />
Parametrii compuşi Denavit-Hartenberg<br />
{ qi }<br />
T<br />
{ θ = [ q , i = 1→<br />
n]<br />
}<br />
; coordonata lineară [ mm ] sau coordonata unghiulară [ rad ] din cupla motoare<br />
vectorul coloană al coordonatelor generalizate, de dimensiune ( n× 1)<br />
, din<br />
i<br />
fiecare cuplă motoare a robotului;<br />
T<br />
= [ qi , i = 1→n]<br />
T<br />
= [ q , i = 1→<br />
n]<br />
{ poz<br />
{ or i<br />
}<br />
}<br />
( 0)<br />
T<br />
{ θ = [ q = 0,<br />
i = 1→n]<br />
}<br />
θ vectorul coloană al coordonatelor generalizate pentru poziţie;<br />
θ vectorul coloană al coordonatelor generalizate pentru orientare;<br />
O x0<br />
y 0z<br />
0<br />
0 ≡<br />
O xi<br />
y iz<br />
i<br />
i<br />
{} i<br />
{ 0}<br />
vectorul coloană al coordonatelor generalizate în configuraţia iniţială a<br />
robotului, unde { i = 1 → n,<br />
n ∈ N}<br />
sistemul de referinţă fix, ataşat centrului geometric al bazei fixe a structurii<br />
mecanice;<br />
i ≡ sistemul de referinţă mobil, ataşat în centrul cuplei fiecărui element cinetic<br />
{ 0} → {} i<br />
poziţia şi orientarea sistemului {}<br />
i = 1→<br />
n+<br />
1<br />
( )<br />
{ T }<br />
sistemul de referinţă ataşat sculei<br />
{ G }<br />
sistemul de referinţă ataşat piesei<br />
{ }<br />
5<br />
i în raport cu sistemul fix { }<br />
S sistemul de referinţă ataşat piesei de prelucrat, într-un colţ al acesteia;<br />
0 ; unde<br />
{ j} → {} i<br />
poziţia şi orientarea sistemului mobil {} i în raport cu un sistem mobil, { j } ;<br />
{ n + 1}<br />
sistemul mobil ataşat în punctul caracteristic P, ce coincide cu centrul<br />
geometric al efectorului final; cele trei axe ale sistemului sunt simbolizate după<br />
n;<br />
y ≡ s;<br />
z ≡ a<br />
cum urmează: { xn+ 1 ≡ n+<br />
1 n+<br />
1 }<br />
T<br />
u matricea antisimetrică asociată oricărui vector u = [ u u u ] = vect{<br />
u × }<br />
{ × }<br />
0 { [ R]<br />
, i = 1 → ( n+<br />
1)<br />
}<br />
i<br />
j { [ R]<br />
, { i;<br />
j}<br />
= 1→<br />
n}<br />
i<br />
Trace 0<br />
i<br />
{ [ R]<br />
}<br />
matricea de rotaţie (orientare), care exprimă orientarea sistemului {} i în<br />
raport cu sistemul fix { 0} ataşat bazei robotului;<br />
matricea de rotaţie (orientare) ( 3)<br />
mobil {} i în raport cu un alt sistem mobil { j } ;<br />
0<br />
urma matricei de orientare [ R]<br />
x<br />
3× , ce exprimă orientarea unui sistem<br />
i (sau a unei matrice oarecare) se calculează<br />
p = x y z<br />
ca fiind suma elementelor de pe diagonala principală<br />
vectorul de poziţie al originii sistemului {}<br />
0 ;<br />
[ ] T<br />
i i i i<br />
i în raport cu sistemul fix { }<br />
y<br />
z
j { { i;<br />
j}<br />
= 1 → n }<br />
p ij<br />
, vectorul de poziţie dintre originile sistemelor {}<br />
6<br />
i şi { j } proiectat pe { }<br />
( ) T<br />
pxi pyi p zi<br />
componentele carteziene, în [ mm ] ale vectorului p i , ( ) T<br />
j j j<br />
p xij pyij<br />
pzij<br />
i 1 i−1<br />
{ p }<br />
− = vectorul coloană care exprimă poziţia sistemului {}<br />
ri ii−1<br />
i−1<br />
{ ( 0)<br />
T<br />
p = [ ai−1<br />
bi−1<br />
ci−1<br />
] }<br />
ii−1<br />
j ;<br />
i în raport cu { i − 1}<br />
setul de parametri generalizaţi sau operatorii compuşi de tip PG ce<br />
caracterizează poziţia sau vectorul de poziţie al sistemului mobil {} i în raport<br />
cu sistemul anterior { i − 1}<br />
.<br />
e ( 0<br />
{ ) ( 0)<br />
grupul operatorilor compuşi de tip DH corespunzătoare variantei doi a<br />
ai− 1 αi−1 βi<br />
d i θi<br />
} algoritmului operatorilor compuşi de tip DH.<br />
e ( 0<br />
{ ) ( 0<br />
a<br />
)<br />
i i i di−1<br />
i−1}<br />
θ β<br />
grupul operatorilor compuşi de tip DH ce corespunde primei variante a<br />
α<br />
algoritmului operatorilor compuşi de tip DH.<br />
a i(<br />
i−<br />
1)<br />
lungimea normalei comune măsurata între 2 axe motoare ki( i−<br />
1)<br />
, k i+<br />
1(<br />
i)<br />
;<br />
α i( i−1)<br />
unghiul de încrucişare măsurat în planul normal pe perpendiculara dintre<br />
două axe motoare învecinate ki( i−<br />
1)<br />
şi k i+<br />
1(<br />
i)<br />
;<br />
( 0<br />
d<br />
)<br />
i(<br />
i−<br />
1)<br />
distanţa dintre două elemente învecinate, măsurată în lungul axei motoare k i ;<br />
( 0<br />
θ<br />
)<br />
i−1(<br />
i)<br />
unghiul dintre două elemente cinetice învecinate, măsurat în jurul axei<br />
motoare, între cele două normale comune şi orientate corespunzătoare<br />
acestei axe;<br />
e<br />
β i<br />
( 0)<br />
( 0 { k<br />
)<br />
i = ( p / Ai<br />
( 0<br />
p<br />
) ) } Ai<br />
reprezintă unghiul măsurat în jurul axei y i ; parametrul există numai în cazul<br />
erorilor geometrice din domeniul mărimilor diferenţiale.<br />
versorul corespunzător fiecărei axe motoare i = 1→<br />
n,<br />
in raport cu { 0 } .<br />
( 0 { k<br />
)<br />
i ,<br />
( 0<br />
v<br />
)<br />
i }<br />
parametri de şurub (coordonatele omogene ale fiecărei axe motoare),<br />
utilizaţi în cadrul algoritmului exponenţialelor de matrice.<br />
{ Ai , i = 1→<br />
( n+<br />
1)<br />
} matricea parametrilor de şurub,aceeaşi expresie în ambele configuraţii θ<br />
( 0)<br />
-θ<br />
.<br />
( 0 { k<br />
)<br />
i × { } qi<br />
⋅Δ<br />
i i−1<br />
e<br />
i [ R]<br />
}<br />
{ bi i = 1 → n}<br />
{ } i i q A<br />
e ⋅<br />
{ M<br />
( )<br />
i 1 ( n 1)<br />
}<br />
0<br />
= → +<br />
≡ forma exponenţială a matricei de rotaţie<br />
, vectorul coloană al funcţiilor exponenţiale<br />
vn<br />
exponenţiala matricei de rotaţie<br />
, matricea geometriei nominale<br />
0 { [ T]<br />
, i = 1→(<br />
n+<br />
1)<br />
}<br />
i<br />
matricea de situare (transformare omogenă), de dimensiune ( 4× 4)<br />
, exprimă<br />
poziţia şi orientarea sistemului {} i în raport cu sistemul fix , { 0 } , ataşat bazei<br />
robotului considerat;<br />
[ ]<br />
⎬<br />
{ } ⎭ ⎫<br />
⎧ j i = 1 → n matricea de situare (transformare omogenă), de dimensiuni ( 4× 4)<br />
, exprimă<br />
⎨ i T ,<br />
⎩ j ∈ T ; G;<br />
S poziţia şi orientarea sistemului {} i în raport cu { j } ;<br />
{ Tii− 1G<br />
i = 1 → n}<br />
,<br />
matricea de situare rezultantă dintre sistemele {} i şi { i − 1}<br />
, în configuraţia<br />
iniţială a robotului (parametrii de tip PG).<br />
matricea de situare rezultantă dintre sistemele { Tii− 1D<br />
, i = 1→<br />
n}<br />
mobile{} i şi { i − 1}<br />
, în<br />
configuraţia iniţială (modelare cu parametrii compuşi DH).<br />
{ , i = 1→n<br />
+ 1}<br />
matricea sistemelor de tip PG conţine poziţia relativă /orientarea sistemelor PG<br />
T G<br />
{ i = 1→n<br />
+ 1}<br />
T D<br />
, matricele generalizate ale sistemelor şi ale operatorilor compuşi de tip DH<br />
[ T] [ T]<br />
i 1 n 1<br />
0<br />
, iG , = → +<br />
matricele de situare de tip PG a sistemelor { } iG faţă de sistemele<br />
1G<br />
0<br />
i−1G<br />
{ }<br />
iG<br />
{ i − } respectiv { }
{ [ T] [ T]<br />
i 1 n 1}<br />
0 i−1D<br />
, , = → +<br />
matricele de situare de tip DH a sistemelor { }<br />
iD<br />
iD<br />
0 { [ T]<br />
i = n+<br />
1}<br />
n 1<br />
+ ,<br />
− 1 { T , T , i = n+<br />
1}<br />
x 0<br />
xo<br />
{ sin q i ≡ sq i };<br />
cos q ≡ cq<br />
{ }<br />
i<br />
i<br />
iD faţă de sistemele<br />
{ i −1D} respectiv { 0 }<br />
matricea de situare dintre sistemele { n 1}<br />
→ { 0}<br />
ataşat în punctul caracteristic al efectorului final în raport cu sistemul fix { 0 } .<br />
7<br />
+ exprima situarea sistemului<br />
expresiile exponenţiale ce caracterizează matricele de situare respectiv<br />
1 0<br />
inversele acestora şi care exprimă situarea sistemelor { n } şi { n+ } faţă de { }<br />
funcţiile trigonometrice sinus si cosinus scrise într-o formă simplificată;<br />
( ) T<br />
α yi β xi γ zi unghiurile de orientare exprimate în [ rad ] , componente ale vectorului ψ i ;<br />
j j j T<br />
( α yi β xi γ zi )<br />
{ ψ i , i = { T;<br />
G;<br />
S }<br />
unghiurile de orientare exprimate în [ rad ] , componente ale vectorului<br />
vectorul ce exprimă orientarea sistemului {} i în raport cu sistemul fix { 0 }<br />
i<br />
j<br />
ψ , i;<br />
j = T;<br />
G;<br />
S vectorul ce exprimă orientarea sistemului mobil {} i în raport cu un sistem { j } ;<br />
{ { } { }<br />
i<br />
i−1<br />
{ ( 0)<br />
T<br />
ψ i = [ αi−1<br />
βi−1<br />
γi−1]<br />
}<br />
( n)<br />
0 { = f(<br />
θ ) , i = { T;<br />
G;<br />
S }<br />
X i<br />
j { , { i;<br />
j}<br />
= { T;<br />
G;<br />
S }<br />
X ij<br />
{ q = Atan2(<br />
sq ; cq ) }<br />
i<br />
{ MXv<br />
0 T [ XVk<br />
; k = 1→<br />
m]<br />
}<br />
( i)<br />
0 { , i = { T;<br />
G;<br />
S }<br />
v i<br />
i<br />
i<br />
j ψ ;<br />
setul de parametri generalizaţi sau operatorii compuşi de tip PG ce<br />
caracterizează orientarea fiecărui sistem ataşat în centrul cuplei motoare.<br />
6× 1 al coordonatelor operaţionale, ce exprimă poziţia şi<br />
vectorul coloană ( )<br />
orientarea sistemului{} i în raport cu sistemul { 0 } respectiv sistemul mobil { n } ;<br />
vectorul coloană ( 6 × 1)<br />
al coordonatelor operaţionale, care exprimă poziţia<br />
şi orientarea sistemului {} i în raport cu { j } ;<br />
funcţia inversă tan2(<br />
sq ; cq ) ∈ [ −π<br />
; + π ] , care tine cont de semnul ambelor<br />
A i i<br />
argumente, adică sq i şi i<br />
cq ;<br />
, matricea generalizată a parametrilor cinematici operaţionali<br />
vectorul vitezei lineare a originii sistemului {} i faţă de sistemul de referinţă fix<br />
( i)<br />
0 ( i { ) 0<br />
≡ v , i = { T;<br />
G;<br />
S }<br />
ɺ<br />
pɺ<br />
=<br />
i<br />
ai i<br />
( ) T<br />
pɺ<br />
pɺ<br />
pɺ<br />
xi<br />
yi<br />
zi<br />
( i)<br />
0 { ω , i = { T;<br />
G;<br />
S }<br />
i<br />
0 0 0 T<br />
{ ( ω ω ω ) }<br />
ix<br />
iy<br />
j { ɺ , { i;<br />
j}<br />
= { T;<br />
G;<br />
S }<br />
p ij<br />
( ) T<br />
j<br />
pɺ xij<br />
j<br />
pɺ yij<br />
j<br />
pɺ<br />
zij<br />
j { ω , { i;<br />
j}<br />
= { T;<br />
G;<br />
S }<br />
ij<br />
( ) T<br />
j<br />
ω ijx<br />
j<br />
ω ijy<br />
j<br />
ω ijz<br />
{ unde i = 1 → n}<br />
iz<br />
{ 0 } respectiv proiecţia lui pe sistemul mobil {} i ;<br />
vectorul acceleraţiei lineare a originii sistemului {} i faţă de sistemul fix { 0 }<br />
respectiv proiecţia lui pe sistemul mobil {} i ;<br />
componentele carteziene [ m s]<br />
ale vectorului vitezei lineare a originii<br />
sistemului {} i în raport cu sistemul fix { 0 } ;<br />
vectorul vitezei unghiulare a sistemului asociat cuplei {} i faţă de sistemul de<br />
referinţă { }<br />
0 şi proiecţia pe sistemul mobil {} i ;<br />
componentele carteziene [ rad s]<br />
ale vectorului vitezei unghiulare a<br />
sistemului {} i în raport cu sistemul fix { }<br />
0 ataşat bazei;<br />
vectorul vitezei lineare a originii sistemului {} i , în mişcarea acestuia în raport<br />
cu sistemul{ j } , vector proiectat pe sistemul{ j } ;<br />
componentele carteziene ale vectorului vitezei lineare a originii sistemului<br />
{} i , în mişcarea acestuia în raport cu sistemul mobil { j } , proiectat pe { j } ;<br />
vectorul vitezei unghiulare a sistemului {} i , în mişcarea acestuia în raport cu<br />
sistemul { j } , vector proiectat pe sistemul mobil{ j } ;<br />
componentele carteziene [ rad s]<br />
ale vectorului vitezei unghiulare a<br />
sistemului {} i ,în raport cu sistemul de referinţă { j } , proiectat pe { j } ;<br />
qɺ i<br />
viteza generalizată corespunzătoare fiecărei cuple motoare, i = 1 → n ;
{ unde i = 1 → n}<br />
qɺ i<br />
viteza liniară sau viteza unghiulară [ rad s]<br />
corespunzătoare cuplei motoare ( i )<br />
ɺ { θ = { qɺ i , i = 1 → n }<br />
j { θ ij , { i;<br />
j}<br />
= { T;<br />
G;<br />
S }<br />
vectorul coloană ( n× 1)<br />
al vitezelor generalizate din fiecare cuplă<br />
ɺ<br />
vectorul coloană ( 1)<br />
robotului în mişcarea sistemului {} i în raport cu sistemul de referinţă { j } ;<br />
0 ɺ { Xi, i = { T;<br />
G;<br />
S } vectorul coloană ( 1)<br />
sistemului {} i în raport cu sistemul fix { 0 }<br />
0 ɺ<br />
{ Xi , i = { T;<br />
G;<br />
S } vectorul coloană ( 1)<br />
sistemului {} i în raport cu sistemul fix { 0 } .<br />
j ɺ<br />
X ij<br />
vectorul coloană ( 1)<br />
sistemului {} i în raport cu sistemul { j } , vector proiectat pe sistemul{ j } ;<br />
j ɺ<br />
{ X ij }<br />
vectorul coloană ( 1)<br />
sistemului mobil {} i în raport cu sistemul { j } , vector proiectat pe { j } ;<br />
( −T<br />
) −1<br />
{ J(<br />
θ ) ; J(<br />
θ ) ; J(<br />
θ ) }<br />
ɺ<br />
n× al vitezelor generalizate din fiecare cuplă motoare a<br />
6 × al vitezelor operaţionale, care exprimă mişcarea<br />
6 × al acceleraţiilor operaţionale, care exprimă mişcarea<br />
6 × al vitezelor operaţionale, care exprimă mişcarea<br />
6× al acceleraţiilor operaţionale, care exprimă mişcarea<br />
matricea Jacobiană, derivata în raport cu timpul, inversa transpusei<br />
respectiv inversa matricei Jacobiene;<br />
V[ θ ( t)<br />
] = [ Vi,<br />
i = 1→n]<br />
matricea transfer a vitezelor liniare<br />
{ }<br />
{ Ω [ ( t) ] = [ Ωi<br />
, i = 1→n]<br />
}<br />
{ A[ ( t)<br />
; θ(<br />
t)<br />
] , i = 1→n}<br />
{ Aij [ ( t)<br />
] , i = 1→<br />
n}<br />
( t)<br />
, i = 1→<br />
n<br />
θ matricea transfer a vitezelor unghiulare<br />
θ ɺ matricea de transfer a acceleraţiilor liniare<br />
θ matricea diferenţială de ordinul întâi a transformărilor de situare<br />
{ Aijk [ ] }<br />
n { R n∈<br />
N}<br />
0 { i = 1 → n}<br />
θ matricea diferenţială de ordinul doi a transformărilor de situare<br />
, operatorul matriceal de transfer între sistemul fix { 0} şi sistemul mobil { n }<br />
δ operatorul matriceal de diferenţiere pentru fiecare axă motoare n 1 i → =<br />
Ti( i−<br />
1)<br />
,<br />
ME Vi<br />
i = 1 → n<br />
{ ( ) }<br />
{ ME ( Ji<br />
) ; i = 1 → n}<br />
componentele coloanei ( )<br />
; componentele matricei de transfer a vitezelor liniare, în formă exponenţială<br />
i ale matriceei Jacobiene, în formă exponenţială<br />
matricea generalizată a parametrilor cinematici ce caracterizează mişcarea<br />
absolută a efectorului final în spaţiul cartezian.<br />
Mθ matricea funcţiilor de comandă cinematică<br />
{ M XVQ }<br />
{<br />
{<br />
C }<br />
M}<br />
{ M θ }<br />
{ τ i , i = 1 → n}<br />
{ hi ( t)<br />
i = 1 → n}<br />
{ hi ( ) , i = 1 → n}<br />
{ = −h−<br />
i = 1→n}<br />
structurii analizate<br />
timpul real în [ ]<br />
,<br />
Mθ matricea valorilor maxime admise pentru funcţiile de comandă cinematică<br />
matricea reală ce conţine funcţiile de comandă cinematică corespunzătoare<br />
s corespunzător poziţiei i h<br />
, funcţia normalizată de interpolare a traiectoriei de mişcare a robotului<br />
τ funcţia polinomială reală de interpolare a traiectoriei de mişcare a robotului<br />
i hi i 1 δ spaţiul parcurs de robot în timpul t i<br />
i i { ; n }<br />
f forţa şi momentul forţelor de legătură din fiecare cuplă motoare ( i )<br />
i<br />
i<br />
i *<br />
I i<br />
tensorul inerţial axial-centrifugal al elementului cinetic ( )<br />
i *<br />
I pi<br />
tensorul inerţial planar-centrifugal al elementului cinetic ( )<br />
8<br />
i în raport cu { } *<br />
i fata de { } *<br />
i ;<br />
i<br />
I psi<br />
reprezintă tensorul pseudoinerţial al elementului cinetic ( i ) în raport cu {} i ;<br />
i ;
0 0 { ri<br />
, rC<br />
, i = 1 → n}<br />
i<br />
0 { H i<br />
i<br />
H i , i = 1 → n}<br />
{ dr<br />
, δ r , i = 1 → n}<br />
vectorul de poziţie al elementului de masă dm , respectiv vectorul de poziţie<br />
al centrului maselor C i în raport cu sistemul fix { 0 } .<br />
0 si pe {} i .<br />
, vectorul impuls al elementului cinetic ( i ) , proiectat pe sistemul fix { }<br />
vectorul diferenţial al deplasărilor reale respectiv vectorul diferenţial al<br />
i Ci<br />
deplasărilor virtuale ce caracterizează fiecare cuplă ( i )<br />
{ L; ΔL}<br />
δ lucrul mecanic elementar virtual;<br />
i i<br />
F i ; Ni<br />
forţa şi respectiv momentul forţelor aplicate asupra unui element cinetic( i ) ;<br />
i i i i<br />
Q ; Q i g ; Q ; Q öööö SU fd<br />
forţe generalizate de inerţie, forţe generalizate gravitaţionale şi de<br />
manipulare, respectiv forţe generalizate de frecare;<br />
i<br />
i ;<br />
{ }<br />
{ }<br />
{ s }<br />
i { }<br />
Q forţa generalizată de echilibrare statică din fiecare cuplă motoare ( )<br />
Q forţa generalizată motoare din cupla ( i )<br />
m<br />
{ ( θ ) }<br />
{ X ( θ ) }<br />
{ V( θ ; θ ) } ɺ<br />
{ C( θ ; θ ) } ɺ<br />
{ D( θ ; θ ) } ɺ<br />
M matricea (maselor) de inerţie a energiei cinetice;<br />
M matricea de inerţie a energiei cinetice<br />
( θ θ ) ɺ<br />
;<br />
matricea termenilor Coriolis şi matricea forţelor de inerţie centrifugale<br />
matricea termenilor centrifugali C ( θ ) ;<br />
matricea pseudo-inerţială a energiei acceleraţiilor;<br />
E C energia cinetică a unui sistem mecanic<br />
E ( ; ; )<br />
A θ θ θ<br />
ɺ ɺɺ energia acceleraţiilor pentru un sistem mecanic caracterizat prin n g.<br />
d.<br />
l.<br />
;<br />
θ θ<br />
ɺ<br />
‹‹‹‹ ;<br />
funcţia Lagrange asociată unui sistem mecanic;<br />
[ ] Q<br />
( )<br />
A Matricea generalizată a transformărilor cinematice<br />
Δ AQ<br />
Matricea generalizată de erori a transformărilor cinematice<br />
B( θ ) , B ( θ ) Matricea termenilor Coriolis<br />
Q x Q<br />
xy xy<br />
ΔB( θ ) Q , Δ B ( ) x θ Q Matricea de erori a termenilor Coriolis<br />
C ( θ ) , C ( θ ) Matricea termenilor centrifugali<br />
Q x Q<br />
xy xy<br />
ΔC ( θ ) , Δ C ( θ ) Matricea de erori a termenilor centrifugali<br />
Q x Q<br />
E Matricea generalizată a erorilor geometrice<br />
xy xy<br />
E , E Matricea de transfer a erorilor ( YQ ) − cinematice ; ( YdQ ) − dinamice<br />
{ }<br />
YQ YdQ<br />
ε YQ<br />
Vectorul coloană al erorilor geometrice<br />
{ , }<br />
YQ YdQ<br />
9<br />
{ }<br />
{ }<br />
E E Matricea valorilor extreme a erorilor ( YQ) −cinematice ; ( YdQ ) − dinamice<br />
E MDQ<br />
Matricea generalizată a erorilor de tip DM<br />
( n)0<br />
ö Vectorul coloană forţă – moment specific efectorului final<br />
( n)0<br />
XQ<br />
Δ ö Vectorul coloană al erorilor forţă – moment specific efectorului final<br />
XQ<br />
i i { I Q , IpsiQ<br />
}<br />
{ i<br />
IδQ ,<br />
i<br />
IpsiQ<br />
}<br />
δ Tensorul ( ) ; ( )<br />
{ δQ − inertial psiQ − pseudoinertial }<br />
{ δQ − inertial ; psiQ − pseudoinertial }<br />
Δ Δ Eroarea tensorulului ( ) ( )<br />
J Q<br />
Matricea Jacobiană
xy<br />
Q<br />
Δ J<br />
Matricea Jacobiană pentru erori cinematice<br />
{ Mθ q, Mθ L, Mθ<br />
A}<br />
vq<br />
Matricea configuraţiilor ( q Mθ ), matricea configuraţiilor limită ( L Mθ configuraţiilor acceptate de sistemul de acţionare ( A Mθ )<br />
M Matricea geometriei robotului { q = n; nominala, q=r; reala}<br />
M MDQ<br />
Matricea generalizată a parametrilor de tip DM<br />
M ‹ Q<br />
Q<br />
Matricea generalizată a transformărilor dinamice<br />
10<br />
), matricea<br />
{ }<br />
M Matricea generalizată a parametrilor: { tip DH, Q = D } , { tip PG, Q = G}<br />
M SU<br />
Matricea sarcinii utile de manipulare<br />
{ MXQ , M XVQ}<br />
Matricea coordonatelor generalizate ( M XQ ), matricea vitezelor şi<br />
acceleraţiilor operaţionale M XVQ<br />
Δ MdQ<br />
Matricea generalizată a erorilor dinamice<br />
Δ M<br />
Matricea generalizată a erorilor cinematice<br />
YQ<br />
xy<br />
Q<br />
Δ M‹<br />
Matricea generalizată de erori a transformărilor dinamice<br />
Q mQ<br />
Vectorul coloană al forţelor generalizate motoare<br />
Q SUQ<br />
Vectorul coloană al forţelor generalizate datorate sarcinii utile<br />
xy xy<br />
{ ΔQ , Δ Q }<br />
Qq<br />
mQ SUQ<br />
Vectorul coloană al erorilor forţelor generalizate motoare ( Δ Q ), respectiv<br />
vectorul coloană al erorilor forţelor generalizate datorate sarcinii utile ( Δ Q ).<br />
T Matricea generalizată a sistemelor { tipDH daca Q = D } , { tipPG daca Q = D}<br />
[ T ] Q<br />
Matricea generalizată a transformărilor omogene:<br />
tip DH daca Q = D , tip PG daca Q = D<br />
{ { } { } }<br />
[ Δ T ] Q<br />
Matricea de erori a transformărilor omogene<br />
{ Δθ , Δθ , Δθ<br />
}<br />
0<br />
0<br />
Q<br />
xy<br />
mQ<br />
xy<br />
SUQ<br />
{ }<br />
ɺ ɺɺ Vectorul coloană al erorilor specifice variabilelor generalizate<br />
X Vectorul coloană al coordonatelor generalizate<br />
X Vectorul coloană al vitezelor şi acceleraţiilor operaţionale<br />
VQ<br />
0 0 { Δ X , Δ X }<br />
Q VQ<br />
{ Y , Y }<br />
Q dQ<br />
Vectorii coloană ai erorilor operaţionale { (Q - poziţie - orientare), (VQ –<br />
viteze şi acceleraţii)}<br />
Vectorul coloană al erorilor cinematice ( Y Q ), respectiv dinamice ( Y dQ )<br />
2<br />
σ YQ<br />
Dispersia erorilor cinematice<br />
{ VYQ , P YQ}<br />
Matricea covariantă ( V YQ ) şi matricea ponderilor ( P YQ ), ce caracterizează<br />
erorile cinematice<br />
V Volumul elipsoidului de erori<br />
eYQ<br />
2 { F ( χQ ) , ( 1 α ) Q<br />
( YQ VYQ<br />
)<br />
− Funcţia de repartiţie teoretică a erorilor<br />
ln ‹ ;<br />
Funcţia matriceală de verosimilitate maximă
.<br />
1. NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
1.1 Introducere<br />
Robotica reprezintă un domeniu aplicativ al ştiinţelor inginereşti constituind o punte de legătură între<br />
tehnologia maşinilor unelte şi inteligenţa artificială. Acest domeniu vast al roboticii are la bază<br />
cercetările şi realizările din domenii conexe precum proiectarea maşinilor, teoria controlului, microelectronica,<br />
programarea calculatoarelor, inteligenţa artificială, domenii care au cunoscut o dezvoltare<br />
exponenţială în ultimii ani şi care au favorizat în acest fel progresele recente înregistrate în robotică.<br />
Robotica modernă a început să cunoască o reală dezvoltare pe la sfârşitul anilor ’60, odată cu<br />
inventarea microprocesorului, deschizându-se astfel calea spre realizarea în premieră a controlului<br />
computerizat pentru un manipulator cu mai multe axe. De atunci, robotica s-a dezvoltat în mod continuu,<br />
evoluând de la tehnologiile special create pentru această clasă de manipulatoare şi care aveau drept<br />
scop repetarea unei sarcini programate, la un domeniu multidisciplinar care încorporează numeroase<br />
ramuri ale ştiinţelor aplicate şi ingineriei. Domenii de cercetare precum viziunea computerizată,<br />
inteligenţa artificială sau recunoaşterea vocală constituie elemente cheie în dezvoltarea şi<br />
implementarea roboticii în diferite aplicaţii industriale (şi nu numai). Acestea constituie la rândul lor<br />
domenii multidisciplinare importante ce au la bază calculul computerizat, electronica respectiv comanda.<br />
Astfel, se poate observa că robotica reprezintă un domeniu vast care acoperă un spectru important<br />
al ştiinţelor inginereşti şi conexe. În prezent, tendinţele în robotică vizează în special proiectarea,<br />
comanda şi implementarea unor sisteme mecanice capabile să îndeplinească sarcini de lucru<br />
complexe, utilizând un limbaj de comunicare similar celui utilizat de oameni. Mai mult decât atât,<br />
sistemele robotizate pot lua diferite forme de la cele mai intangibile de tipul dispozitivelor utilizate pentru<br />
interpretarea imaginilor preluate de sondele spaţiale la cele mai concrete cum ar fi de exemplu roboţii<br />
utilizaţi în chirurgie în cadrul diferitelor intervenţii. Sistemele robotizate ajung astfel să substituie omul în<br />
tot mai multe activităţi. Deşi roboţii utilizaţi la ora actuală au evoluat mult de la stadiul de simple<br />
manipulatoare programabile, încă există tendinţa de a-i asocia operaţiilor simple de manipulare/mişcare.<br />
Însă pentru a putea îndeplini cu succes sarcinile pentru care au fost programaţi, roboţii trebuie să<br />
prezinte o structură mecanică corespunzătoare care să le permită acest lucru. Scopul cercetărilor din ultimii<br />
11
NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
ani în domeniul roboticii a fost acela de a crea structuri robotizate capabile să desfăşoare diferite sarcini de<br />
lucru prestabilite cu precizie ridicată, unele dintre acestea fiind caracterizate de capabilitatea de a lua decizii<br />
pe cont propriu, bazate pe experienţa anterioară, în cazul modificării condiţiilor de lucru. Dezvoltarea<br />
tehnologiilor a favorizat de asemenea introducerea şi utilizarea pe scară largă a roboţilor în diferitele<br />
procese de lucru. În acest fel, roboţii au devenit elemente puternice ale industriei. Aceste structuri<br />
complexe, capabile să îndeplinească sarcini variate, prezintă avantajul că nu necesită condiţii speciale de<br />
siguranţă în muncă (aplicate în cazul operatorilor umani) putând fi utilizaţi în diferite aplicaţii industriale în<br />
cooperare cu alte dispozitive periferice, maşini unelte, centre de prelucrare sau chiar alți roboţi. În general,<br />
roboţi sunt proiectaţi astfel încât să poată fi controlaţi prin intermediul unui computer sau a unui dispozitiv<br />
similar. Mişcările robotului sunt controlate prin intermediul controlerului şi mijlocite de un computer pe care<br />
rulează un soft similar celui existent în controler. Astfel, acţiunile robotului precum şi sarcinile de lucru pot fi<br />
modificate prin simpla schimbare a programului, fapt care reprezintă un avantaj major conferind acestor<br />
structuri un grad ridicat de flexibilitate (robotul poate fi adaptat diferitelor aplicaţii industriale fără a fi nevoie să<br />
se intervină la nivel de structură mecanică, adaptarea realizându-se prin simpla modificare a programului).<br />
Roboţii industriali pot fi clasificaţi în funcţie de mai multe criterii, cum ar fi: generaţia din care face parte,<br />
gradul de inteligenţă, capabilităţile structurale sau operaţionale dar şi aplicaţiile în care este implementat.<br />
1.2 Noţiuni generale referitoare la precizia roboţilor industriali<br />
Aplicaţiile industriale robotizate au cunoscut o dezvoltare continuă de la introducerea primelor<br />
dispozitive robotizate până în zilele noastre. Aceste aplicaţii încă mai includ procese de fabricaţie<br />
tradiţionale însă în ultimii ani ele s-au extins spre alte zone cum ar fi medicina sau industria de<br />
divertisment. Au apărut astfel noi domenii de utilizare a capabilităţilor roboţilor una dintre ele fiind chirurgia<br />
robotizată, unde atât precizia cât şi repetabilitatea roboţilor utilizaţi sunt esenţiale. Aplicaţiile care se<br />
bazează pe procese de fabricaţie prezintă o serie de cerinţe care cunosc diferite modificări în timp în<br />
funcţie de tipul de produs, nivelul de calitate al acestuia, obligând roboţii să se adapteze acestor cerinţe în<br />
continuă schimbare. Deci, indiferent de tipul sau complexitatea aplicaţiei, cerinţele în ceea ce priveşte<br />
roboţii sunt din ce în ce mai mari. Performanţele unui robot pot fi evaluate doar prin prisma aplicaţiilor<br />
pentru care a fost proiectat sau în care acesta este utilizat. Astfel apare întrebarea dacă introducerea unor<br />
tehnologii noi ar contribui la îmbunătăţirea caracteristicilor de performanţă ale roboţilor existenţi în ceea ce<br />
priveşte precizia şi repetabilitatea. O barieră tehnologică care a afectat o lungă perioadă de timp industria<br />
robotizată a constat în problema reducerii sau chiar a eliminării erorii care apare între sistemul de referinţă<br />
al sculei de lucru şi sistemul de referinţă ataşat piesei [C02] . În continuare vor fi analizate câteva aspecte<br />
12
Robot<br />
SR<br />
SCR<br />
S FL<br />
13<br />
S TCP<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
legate de componentele unei celule robotizate, de sistemele de referință atașate precum și de erorile pe<br />
care acestea le introduc în sistem. În Fig.1.1 se prezintă aceste sisteme [B05].<br />
Situarea (poziția și orientarea) flanșei pe care se montează efectorul final sau scula robotului este<br />
definită în raport cu sistemul de referință atașat bazei fixe a robotului. Din punct de vedere matematic<br />
aceasta este definită prin intermediul matricei de transformare omogenă dintre sistemele atașate bazei,<br />
respectiv flanșei robotului. Această matrice de transformare este funcție de poziția și orientarea fiecărei cuple.<br />
Sistemul de referință atașat efectorului final (sculei de lucru) definește transformarea dintre sistemul<br />
atașat flanșei robotului și un sistem atașat punctului caracteristic. Poziția și orientarea sistemului atașat<br />
sculei se modifică în cazul în care scula este schimbată în timpul procesului de lucru sau dacă este uzată.<br />
Situarea robotului in spațiul real de lucru trebuie de asemenea să fie determinată pentru a asigura<br />
precizia impusă de aplicația în care este implementat robotul. Aceasta este definită de matricea de<br />
transformare dintre sistemul de referință atașat bazei fixe a robotului și un sistem de referință oarecare<br />
ales în interiorul celulei robotizate. În cazul în care robotului i se adaugă o axă suplimentară de mișcare,<br />
(cale de rulare) poziția sistemului atașat bazei robotului se va modifica pe parcursul procesului de lucru.<br />
Spatiul de lucru ( celula robotizata)<br />
Flansa robotului<br />
Efectorul final<br />
Piesa de prelucrat<br />
Fig. 1.1 – Componentele unei celule robotizate și sistemele de referință atașate<br />
Situarea piesei în spațiul de lucru este definită în raport cu dispozitivele de prindere/fixare, benzile<br />
transportoare sau platformele rotative din spațiul de lucru al robotului. Matematic, este reprezentată de<br />
transformarea ce are loc între sistemul de referință atașat piesei și sistemul de referință al celulei robotizate.<br />
Piesa de prelucrat introduce o serie de erori datorate abaterilor de poziție sau deformațiilor care pot să<br />
apară în timpul procesului de lucru. Dacă aceste erori depășesc valoarea toleranțelor admisibile,<br />
sistemul senzorial utilizat în cadrul procesului de lucru trebuie reproiectat și modificat [J01].<br />
SP<br />
SS−P
NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
Sistemul de măsurare utilizat are rolul de a calibra sau de a orienta componentele celulei robotizate.<br />
Acest sistem își raportează măsurătorile la un sistem de referință ales undeva în spațiul de lucru al<br />
robotului, a cărui poziție trebuie determinată în funcție de sistemul de referință atașat celulei de lucru.<br />
Eroarea care apare între sistemul de referinţă ataşat sculei de lucru şi sistemul de referinţă al piesei<br />
se datorează în mare parte, diferenţelor care apar între modelarea analitică a robotului şi cea a<br />
controlerului, factori precum erorile de prelucrare sau de montaj influenţând de asemenea această eroare.<br />
Soluţii precum proiectarea şi construirea unor structuri mai performante sau a unor dispozitive de<br />
fixare mai rigide, caracterizate de o repetabilitate bună precum şi îmbunătăţirea proceselor de prelucrare<br />
au oferit o rezolvare parţială a acestei probleme. Aceste soluţii s-au dovedit a fi de cele mai multe ori<br />
nefezabile datorită cerinţelor greu de satisfăcut sau a costurilor implicate mult prea ridicate. [Z01]<br />
Astfel, compensarea erorii printr-un proces intern de feed-back devine o soluţie economică şi mai<br />
uşor de aplicat. În orice sistem de comandă (control), nivelul de complexitate al aplicaţiei este definit<br />
prin intermediul parametrilor de proces. Dacă de exemplu, se doreşte îmbunătăţirea rezoluţiei sau a<br />
preciziei robotului, este esenţial ca măsurătorile să fie realizate cu ajutorul unui sistem de măsurare<br />
performant. Parametrii care afectează procesul de poziţionare în cazul unui robot sunt rezoluţia,<br />
repetabilitatea şi precizia. Aceşti parametri sunt influenţaţi în mod direct de comportamentul diferitelor<br />
componente utilizate în construcţia roboţilor (elemente cinetice, motoare, codificatoare), de procedeul<br />
de fabricaţie precum şi de capabilităţile sistemului de acţionare utilizat sau cele ale controlerului robotului.<br />
1.2.1 Terminologie. Caracteristici ale preciziei. Sursele erorilor.<br />
În continuare, conform [K01], vor fi prezentate o serie de definiţii şi caracteristici ale acestor parametri.<br />
Rezoluţia este una din funcţiile ce caracterizează sistemul de comandă al unui robot şi care poate fi<br />
definită ca cea mai mică deplasare ce poate fi efectuată de robot în spaţiul de lucru. Rezoluţia poate fi<br />
definită ca funcţie de cel mai mic increment de poziţie ce poate fi comandat de către controlerul<br />
robotului sau cea mai mică modificare incrementală de poziţie pe care controlerul robotului o poate sesiza.<br />
Rezoluţia sistemului este dată de rezoluţia sistemului de comandă utilizat pentru a acţiona robotul,<br />
fiind influenţată de procedeul de construcţie, rigiditatea braţului robotului (flexibilitatea structurală),<br />
tipurile de codificatoare utilizate şi de mulţi alţi factori. În definirea rezoluţiei unui robot este foarte<br />
important să se facă distincţia între pragul / rezoluţia de control (amorsare) şi rezoluţia de programare.<br />
Rezoluţia de program poate fi definită cea mai mică modificare de poziţie ce poate fi stabilită prin<br />
programul robotului, cunoscută şi sub denumirea de unitatea fundamentală de rezoluţie. De exemplu, în<br />
cazul unui robot de tip ABB IRB2000, valoarea rezoluţiei de program, măsurată pe axă, este de 0,125 [ mm]<br />
.<br />
14
15<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
Rezoluţia de control (pragul de amorsare) reprezintă cea mai mică modificare de poziţie care poate<br />
fi sesizată şi comandată de controlerul robotului. Pentru a înţelege mai bine acest termen, se consideră<br />
spre exemplu un codificator optic care emite1500 de impulsuri luminoase / rotaţie completă. Astfel,<br />
dispozitivul va emite câte un impuls luminos la fiecare deplasare a arborelui cu 0,24° a arborelui motor.<br />
Această valoare incrementală de 0,24° reprezintă rezoluţia de control pentru această axă de<br />
mişcare iar valorile care se situează sub această limită nu pot fi sesizate de controler. Sistemul<br />
funcţionează la parametri de performanţă atunci când rezoluţia de control şi cea de programare au<br />
valori egale. În acest caz, se poate vorbi de rezoluţia de sistem (rezoluţia sistemului), definită anterior.<br />
Rezoluţia spaţială este definită ca fiind cea mai mică mişcare ce poate fi realizată de efectorul final<br />
sau scula de lucru, ataşată robotului (Fig. 1.2). Rezoluţia spaţială reprezintă o combinaţie între rezoluţia<br />
de control şi erorile de poziţionare cauzate de interacţiunea dinamică dintre robot şi mediul de lucru.<br />
Matematic, rezoluţia spaţială reprezintă produsul tuturor rezoluţiilor de control din fiecare cuplă a robotului.<br />
Un alt parametru ce influenţează<br />
Deplasarea cuplei<br />
poziţionarea corectă a robotului în spaţiul de<br />
lucru îl reprezintă repetabilitatea. Aceasta<br />
Efectorul final<br />
reprezintă o măsură a capabilităţii unui<br />
robot de a reveni de fiecare dată într-o<br />
poziţie care a mai fost atinsă anterior şi<br />
Punctul tinta<br />
care apare specificată în programul său de<br />
lucru. Cu alte cuvinte, repetabilitatea se<br />
Pozitia primei<br />
cuple<br />
<strong>PRECIZIA</strong><br />
REZOLUTIA<br />
Pozitia cuplei<br />
invecinate<br />
referă la abilitatea robotului de a-şi poziţiona<br />
efectorul final într-un punct din spaţiu,<br />
Fig. 1.2 – Legătura dintre precizie și rezoluția spațială<br />
învăţat anterior sau, capacitatea robotului<br />
de a reveni la valorile coordonatelor<br />
generalizate din cuple, ce caracterizează o poziţie anume, de fiecare dată când controlerul comandă<br />
acest lucru. Termenul de repetabilitate are conotaţii statistice, fiind adesea asociat în mod greşit cu<br />
precizia, noţiune ce defineşte frecvenţa cu care acelaşi punct este atins de fiecare dată, pe parcursul<br />
procesului de lucru. [K02]. De exemplu, în cazul în care efectorul final robotului este programat să se<br />
rotească cu un anumit unghi q i faţă de o poziţie oarecare considerată poziţia ţintă şi să repete această<br />
acţiune de n ori, se poate observa că în realitate atât unghiul de rotaţie cât şi poziţia care se doreşte a<br />
fi atinsă, diferă de fiecare dată faţă de cea stabilită în programul de comandă cu o valoare foarte mică,<br />
denumită generic, eroare. Este important de menţionat faptul că repetabilitatea nu descrie eroarea de
NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
poziţionare în raport cu sistemul de referinţă fix ataşat robotului. Astfel, repetabilitatea sistemului va fi<br />
dată de deviaţia standard a deplasărilor (gradul în care o valoare individuală dintr-o distribuţie probabilă<br />
tinde să varieze faţă de media distribuţiei). (conform Fig. 1.3). O valoare a repetabilităţii de ± 0,2 [ mm]<br />
,<br />
indică faptul că efectorul final al robotului va reveni într-un punct situat la [ ]<br />
0,2 mm de o parte şi de alta<br />
a centrului modelului de repetabilitate utilizat [C03].<br />
e<br />
Precizia<br />
Rezolutia<br />
P.R<br />
Repetabilitatea<br />
P.P<br />
Efectorul final<br />
Pozitia<br />
programata (P.P)<br />
Pozitia sesizata<br />
de robot (P.R)<br />
Majoritatea producătorilor de roboţi industriali includ în specificaţiile tehnice de produs valoarea<br />
repetabilităţii pentru diferitele modele de roboţi industriali de pe piaţă, aceasta fiind preferată preciziei. Motivul<br />
pentru care se preferă menţionarea în specificaţiile tehnice a repetabilității în locul preciziei este acela că<br />
precizia roboţilor depinde într-o mare măsură de capacitatea portantă ce îi caracterizează (sarcina utilă).<br />
O sarcină de lucru mai mare decât cea recomandată în specificaţiile de produs poate cauza<br />
deformaţii ale diferitelor elemente precum şi apariţia unor momente foarte mari în cuplele robotului.<br />
Acest fapt conduce la scăderea preciziei de poziţionare valoarea repetabilităţii rămânând neschimbată.<br />
16<br />
P.R<br />
Repetabilitate<br />
a n<br />
s<br />
TCP<br />
Precizia<br />
Fig. 1.3 – Exemplificarea noțiunii de repetabilitate<br />
Repetarea pozitiilor reale<br />
6447 4 48<br />
123<br />
Domeniul de raspuns<br />
Repetabilitate<br />
Precizia<br />
σ<br />
Pozitia<br />
comandata (P.C)<br />
P.P<br />
Rezolutia controlerului<br />
Fig. 1.4 – Reprezentarea rezoluției, preciziei și repetabilității unui robot
17<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
În general, roboţii sunt caracterizaţi de o repetabilitate mai bună comparativ cu precizia. (Fig. 1.4).<br />
Repetabilitatea ce caracterizează un robot are valori de ordinul sutimilor de inch sau a zecimilor de milimetru.<br />
Definiţia general acceptată pentru noţiunea de repetabilitate este cea furnizată de standardul ISO 9283.<br />
Ultimul parametru (şi cel mai important) care influenţează într-o măsură semnificativă procesul de<br />
poziţionare în spaţiul de lucru al efectorului final pe parcursul executării sarcinii de lucru este precizia.<br />
Noţiunea de precizie se referă la abilitatea unui robot de a aduce punctul caracteristic al efectorului<br />
final într-o poziţie ţintă, specificată în programul de lucru şi care poate fi asimilată spaţiului de lucru a<br />
robotului. Altfel spus, precizia reprezintă capabilitatea unui robot de a atinge o anumită poziţie indicată.<br />
Precizia absolută şi repetabilitatea absolută descriu abilitatea unui robot de a atinge o poziţie ţintă,<br />
fără abateri. Precizia dinamică reprezintă capacitatea unui robot de a urmări fără erori sau cu erori minime<br />
o traiectorie indicată (programată). Pentru ca robotul utilizat să fie capabil să urmărească orice traiectorie<br />
cu precizie cât mai ridicată, este necesar ca acestuia să-i fie aplicat un reglaj suplimentar faţă de un<br />
sistem de referinţă absolut, în scopul evitării coliziunilor iminente cu alte componente ale celulei robotizate.<br />
În cazul ideal, atât precizia absolută cât şi precizia dinamică pot fi reduse la rezoluţia sistemului.<br />
În concluzie, se poate observa faptul că erorile influenţează procesul de poziţionare, robotul<br />
estimând în mod greşit coordonatele unui punct ce corespund unui set de unghiuri din cuple, cunoscute.<br />
Complianţa, sau elasticitatea din cuplele robotului cum mai este definită, este rezultatul acţiunii forţei<br />
gravitaţionale, a sarcinii de lucru şi inerţiei, influenţând într-o mare măsură precizia de poziţionare a robotului.<br />
A. Caracteristici ale preciziei roboţilor industriali<br />
Precizia in funcţionare a roboţilor industriali poate fi evaluată prin intermediul erorilor. Erorile sunt<br />
definite ca diferenţa dintre mărimea necesară de realizat (valoarea nominală) şi mărimea realizată<br />
efectiv (valoarea reală). Termenul de eroare se utilizează sub forma unui cuplu ± u , putându-se afirma<br />
cu o probabilitate oarecare că poziţia sau orientarea punctului, respectiv dreptei caracteristice se află in<br />
intervalul ( x u, x u)<br />
− + , x reprezentând media rezultatelor măsurătorilor efectuate pentru<br />
determinarea unui anumit parametru. Pentru eliminarea influenţei erorii ce caracterizează dispozitivul<br />
de măsurare utilizat, și determinarea caracteristicilor de precizie, se definesc condiţiile de repetabilitate<br />
specificate. Aceste condiţii corespund unor măsurători repetate, efectuate asupra aceluiaşi robot,<br />
utilizând acelaşi dispozitiv de măsurare (suficient de precis, pentru ca eroarea proprie mijlocului de<br />
măsurare să fie neglijabilă în raport cu eroarea robotului) respectiv aceeaşi metodă, sub acţiunea<br />
aceloraşi mărimi de influenţă care se păstrează practic constante pe tot parcursul măsurătorilor. Se<br />
propun următoarele caracteristici de precizie pentru roboţii industriali programaţi prin învățare. [K04]
NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
a). Precizia de poziţionare mono-direcţională care exprimă valoarea intervalului de concordanța<br />
dintre poziţia stabilită prin program şi poziția reală (atinsă) a punctului caracteristic. Aceasta se exprimă<br />
ca diferența dintre poziţia comandată a punctului caracteristic şi centrul de greutate al norului de puncte<br />
atinse la repetarea de n ori a aceleiaşi traiectorii comandate, în condiţii de repetabilitate specifică (Fig.1.5).<br />
Dacă se notează cu ,<br />
c c<br />
x y , respectiv z c coordonatele punctului comandat şi cu x, y, z media<br />
coordonatelor xi, yi, z i ale punctelor atinse, (Fig.1.6).raportate la un reper fix, se pot scrie ecuațiile:<br />
U x, P%<br />
U x, P%<br />
U zP , %<br />
U zP , %<br />
ΔLx<br />
ΔLz<br />
z<br />
z<br />
Pozitia + orientarea<br />
realizata de robot<br />
{ OC}<br />
ΔL<br />
ΔLy<br />
G<br />
U<br />
U yP , % U yP , %<br />
y<br />
18<br />
1 1 1<br />
x = ⋅ x y = ⋅ y z = ⋅ z<br />
n n n<br />
n<br />
i, n<br />
i, n<br />
i<br />
i= 1 i= 1 i=<br />
1<br />
∑ ∑ ∑ (1.1)<br />
Precizia de poziționare după cele trei axe<br />
este definită conform ecuațiilor de mai jos:<br />
L = x − x , L = y − y , L = z − z .(1.2)<br />
x c y c z c<br />
În final, precizia de poziționare rezultantă,<br />
conform Fig.1.5, se determină cu expresia:<br />
2 2 2<br />
x y z<br />
L = L + L + L . (1.3)<br />
b). Eroarea de poziţionare mono –<br />
x<br />
direcţională reprezintă valoarea statistică a<br />
intervalului de valori ale coordonatelor<br />
x<br />
Fig. 1.5 Precizia de poziționare mono-direcțională<br />
atinse de punctul caracteristic în condiţii de<br />
repetabilitate specificate, stabilită cu<br />
siguranţă statistică P % pentru aceeaşi poziţie şi traiectorie comandată și parcursă de n ori:<br />
( )<br />
u S<br />
t<br />
x, y, z<br />
P % x, y, z = ± ⋅ (1.4)<br />
unde Sx , yz , sunt abaterile medii pătratice ale punctelor individuale față de valorile medii pe cele trei axe.<br />
n n n<br />
1 1 1<br />
Sx =± ⋅ ( xi −x) , Sy =± ⋅ ( yi −y) , Sz<br />
=± ⋅ zi −z<br />
( n−1) i= 1 ( n−1) i= 1 ( n−1)<br />
i=<br />
1<br />
2 2 2<br />
∑ ∑ ∑ ( ) (1.5)<br />
Dacă erorile ce caracterizează cele trei axe se consideră necorelate, va rezulta următoarea expresie:<br />
2 2 2<br />
P % x , P % y , P % z, P %<br />
y<br />
n<br />
u =± u + u + u . (1.6)
care poate fi considerată echivalentă cu ecuația,<br />
19<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
uP% =±<br />
t<br />
n<br />
n 1<br />
2 2 2<br />
⋅ ⎡( xi −x) + ( yi −y) + ( zi −z)<br />
⎤<br />
( n −1) ⎣ ⎦<br />
i=<br />
1<br />
∑ ; (1.7)<br />
unde, n reprezintă numărul de puncte, t = f( Pv , ) este parametrul distribuţiei Student cu v = n−<br />
1 g.d.l.<br />
Sistemul de<br />
coordonate<br />
paralel cu cel<br />
atasat bazei<br />
z<br />
x j<br />
xC<br />
INTERFATA<br />
MECANICA<br />
Centrul de<br />
masurare<br />
Pentru siguranţa statistică, se aleg<br />
valorile P = 95% sau P = 99% .<br />
Preferința pentru utilizarea repartiţiei<br />
Punctul "j"<br />
atins<br />
Student în locul repartiţiei normale,<br />
z j<br />
zC<br />
O<br />
Punctul<br />
comandat<br />
este justificată de numărul mic de<br />
experimente realizate( n ≤ 10 ).<br />
c). Precizia de orientare mono –<br />
x<br />
y j<br />
y C<br />
y<br />
direcţională – exprimă valoarea<br />
intervalului de concordanță dintre<br />
Fig.1.6 Prezentare generală a schemei de precizie<br />
poziţia stabilită prin program şi poziția<br />
reală atinsă de dreapta caracteristică.<br />
Se exprimă ca diferenţa dintre unghiurile comandate (prin program) pentru dreapta caracteristică (sau în<br />
unele cazuri şi ale dreptei auxiliare), formate cu axele sistemului de referinţă fix şi valorile medii ale<br />
unghiurilor măsurate obţinute de dreapta caracteristică, respectiv dreapta auxiliară faţă de aceleaşi axe,<br />
după parcurgerea de n ori a aceleiaşi traiectorii, în condiţiile de repetabilitate specificate (conform<br />
Fig.1.7). Aceasta se definește cu relaţiile de mai jos:<br />
αx<br />
Δ αx<br />
Uαx , P%<br />
Valoarea medie a<br />
orientarilor obtinute<br />
α<br />
n 1<br />
= ⋅∑ ; (1.8)<br />
( α x , y, z)<br />
x, y, z<br />
n<br />
i<br />
i = 1<br />
αx,<br />
c<br />
x Orientarea comandata<br />
O<br />
Δ α = α −<br />
( α , , )<br />
x, y, z x, y, z x y z<br />
c<br />
unde, ( x , y, z)<br />
i<br />
(1.9)<br />
α reprezintă unghiurile măsurate<br />
ale dreptei caracteristice față de un reper fix,<br />
( x , yz , )<br />
α reprezintă unghiurile comandate (prin<br />
c<br />
programul de comandă al robotului)<br />
Fig.1.7 Precizia de orientare mono-direcțională<br />
d). Eroarea de orientare mono-direcţională<br />
reprezintă valorile statistice stabilite cu siguranţa<br />
statistică P % pentru intervale de valori ce conțin diferenţele unghiurilor măsurate ale dreptei
NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
caracteristice, respectiv ale dreptei auxiliare faţă de axele sistemului de referinţă precum şi valorile<br />
medii ale acestor orientări, după parcurgerea de n ori a aceleiaşi traiectorii, în condiţiile de repetabilitate<br />
specificate. Erorile de orientare după cele trei axe (Fig.1.7), se exprimă cu următoarea relație matematică:<br />
unde,<br />
S<br />
u<br />
t<br />
a x, y , z S<br />
P %<br />
ax<br />
, y , z<br />
n<br />
=± ⋅ ; (1.10)<br />
( )<br />
n 1<br />
= ⋅ ⎡( α xyz , , ) −α<br />
x , yz , ⎤<br />
( n − 1)<br />
⎣ ⎦<br />
i=<br />
1<br />
∑ . (1.11)<br />
axyz , ,<br />
i<br />
sunt abaterile medii pătratice ale orientării dreptei caracteristice faţă de valoarea medie, pe cele trei axe.<br />
Înlocuind ecuația (1.10) în (1.11) se obţine expresia ce caracterizează eroarea globală de orientare:<br />
echivalentă cu,<br />
t 2 2 2<br />
uα , P% =± ⋅ Sx + Sy + Sz<br />
(1.12)<br />
n<br />
n<br />
t 1<br />
2 2 2<br />
uα<br />
, P% =± ⋅ ⋅ ( αx −αx) + ( α<br />
i y −α i y) + ( αz −α<br />
i z)<br />
n ( n −1) i=<br />
1<br />
∑ (1.13)<br />
e) Precizia de poziţionare multidirecţională se exprimă ca distanţa dintre valorile medii ale mulţimii<br />
de puncte obţinute pentru acelaşi punct comandat, după parcurgerea de n ori a două traiectorii diferite,<br />
în condiţii de repetabilitate specificate, ambele traiectorii având în comun același punct de plecare:<br />
y j<br />
y<br />
y<br />
y j<br />
O<br />
x j<br />
x j<br />
G j<br />
ΔTj<br />
x<br />
z j<br />
x<br />
u j<br />
z j<br />
Fig.1.8 Precizia traiectoriei<br />
Linia centrelor<br />
de masa<br />
z<br />
20<br />
( ) ( ) ( )<br />
2 2 2<br />
1,2 1 2 1 2 1 2<br />
Δ L = x −x + y −y + z − z (1.14)<br />
f)Eroarea de poziţionare multidirecţională reprezintă<br />
cu o siguranţă statistică de P% abaterile maxime ale<br />
preciziei de poziţionare multidirecţionale (1.14) a<br />
cărei expresie de definiție este prezentată anterior:<br />
t 2 2<br />
u1,2 , P% =± ⋅ u1, P% + u2<br />
, P%<br />
. (1.15)<br />
n<br />
g) Precizia de orientare multidirecţională este<br />
diferenţa dintre valorile medii ale orientării dreptei<br />
caracteristice, pentru aceeași orientare comandată,<br />
după repetarea de n ori a 2 traiectorii diferite:<br />
( αx, yz , ) ( αxyz , , ) ( αxyz<br />
, , )<br />
Δ = − . (1.16)<br />
1,2 1 2
21<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
h) Eroarea de orientare multidirecţională exprimă cu o siguranţă statistică de P % abaterile maxime<br />
ale preciziei de orientare multidirecţionale și anume:<br />
( uα<br />
x, y, z)<br />
⎧ = ⎫<br />
⎪ 1,2, P%<br />
⎪ ⎪<br />
⎨ 2 2 ⎬<br />
( uα x y z) ( u<br />
, , α x, y, z)<br />
t<br />
⎪=± ⋅ + ⎪<br />
⎪⎩ n<br />
1, P% 2, P%<br />
⎪⎭<br />
(1.17)<br />
i) Precizia traiectoriei poate fi definită ca mărimea intervalului de concordanță dintre traiectoria<br />
medie efectiv realizată şi traiectoria comandată. Punctele traiectoriei medii reprezintă centrele de<br />
greutate ale punctelor ce aparțin diverselor traiectorii ce străbat o secţiune j perpendiculară pe<br />
traiectoria comandată (Fig.1.8), caracterizate prin intermediul coordonatelor ( j, j, j)<br />
poziţionare a efectorului final într-o secţiune oarecare j a traiectoriei este exprimată astfel:<br />
2 2<br />
j j j<br />
x y z .Precizia de<br />
Δ T = x + y<br />
(1.18)<br />
Precizia de poziţionare pe traiectorie a efectorului final este determinată cu expresia:<br />
max Δ T = max x + y . (1.19)<br />
2 2<br />
j j j<br />
( j) ( j)<br />
j) Eroarea traiectoriei este intervalul maxim în care se poate determina cu o siguranţă statistică de P %<br />
poziţia reală a punctului caracteristic, într-o secţiune oarecare j a fasciculului de n traiectorii (Fig.1.8):<br />
t<br />
uTj, P% = ± ⋅ Sj<br />
. (1.20)<br />
n<br />
unde,<br />
S j =<br />
n 1<br />
2 2<br />
⋅ ⎡( xij − x j ) + ( yij − y j ) ⎤<br />
( n − 1)<br />
⎣ ⎦<br />
i = 1<br />
∑ . (1.21)<br />
Eroarea globală de poziționare a efectorului final pe traiectoria de mișcare comandată se calculează astfel:<br />
u = u . (1.22)<br />
, % , %<br />
( )<br />
max T P TjP j<br />
B. Sursele erorilor<br />
Precizia, repetabilitatea şi rezoluţia pot fi afectate de o serie de factori externi: frecarea, temperatura,<br />
sarcinile de lucru şi toleranţele de fabricaţie ale componentelor ce intră în alcătuirea robotului industrial.<br />
Prin standardul internaţional ISO 9283 sunt stabilite criteriile de performanţă ce caracterizează<br />
structurile de roboţi industriali. Tot aici sunt făcute o serie de recomandări referitoare la metodele de<br />
testare ce trebuie aplicate în scopul obţinerii unor valori optime pentru parametrii de performanţă.[D03]
NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
Precizia de situare respectiv repetabilitatea de situare reprezintă două dintre cele mai importante<br />
criterii de performanţă menţionate în standardul ISO 9283 şi totodată cele mai utilizate în practică. În<br />
funcţie de modalitatea în care se realizează comanda robotului, se recomandă aplicarea unuia dintre cele<br />
două criterii de performanţă menţionate. De exemplu, în situaţia în care comanda robotului se face manual<br />
(modul teach - in) este necesar ca acesta să fie caracterizat de o repetabilitate de situare bună. Dacă<br />
programul robotului este generat sub forma unei simulări 3D (programare offline), precizia absolută este<br />
esenţială. Atât precizia cât şi repetabilitatea de situare pot fi afectate de o serie de factori cinematici, dintre<br />
care se evidenţiază deplasările din cuple, respectiv<br />
deformaţiile elementelor cinetice ale robotului.<br />
r<br />
z ε s, i<br />
i<br />
r<br />
y<br />
Aceşti factori pot afecta grav calitatea<br />
i<br />
procesului de lucru în care este utilizat robotul.<br />
ε<br />
n<br />
p, i După cum se ştie, scopul principal al funcţionării<br />
zi<br />
roboţilor industriali îl constituie realizarea unor<br />
( εx, i, εy, i, εz,<br />
i )<br />
poziţii şi orientări prescrise ale pieselor<br />
manipulate, precizia fiind evidenţiată de valorile<br />
abaterilor poziţionale, la care se adaugă abaterile<br />
n<br />
xi<br />
erori sistematice<br />
ε r, i<br />
erori întâmplătoare<br />
r<br />
xi<br />
n<br />
yi<br />
Fig.1.9 Definirea erorilor de poziție și orientare<br />
de deplasare, de viteză, acceleraţii şi respectiv<br />
forţe. Cu alte cuvinte, precizia roboţilor industriali<br />
este evidenţiată prin intermediul erorilor. În<br />
continuare sunt prezentate tipurile de erori care<br />
intervin în evaluarea preciziei roboţilor industriali.<br />
Aceste erori pot fi împărțite în două mari categorii:<br />
În categoria erorilor întâmplătoare se încadrează erorile de situare (poziţie şi orientare), eroarea de<br />
traiectorie, de sincronizare şi de timp. În categoria erorilor sistematice se încadrează și erorile<br />
structurale (denumite și erorile geometrice). [A02]<br />
Eroarea de poziţie (Fig. 1.9) este un vector care are ca şi origine coordonatele punctului stabilit prin<br />
programul robotului iar ca şi punct de aplicaţie coordonatele punctului în care ajunge în realitate<br />
efectorul final (diferenţa dintre poziţia stabilită prin program şi cea realizată efectiv).[E01]<br />
Eroarea de orientare (Fig. 1.9) este evidenţiată prin intermediul unui unghi care are ca laturi poziţia<br />
programată respectiv poziţia realizată a dreptei caracteristice. Există situaţii în care se indică<br />
22
23<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
suplimentar planul, respectiv sensul de măsurare al acestui unghi. Erorile de poziţie, respectiv de<br />
orientare, sunt cauzate în principal de erorile poziţiilor relative ale cuplelor cinematice conducătoare, de<br />
jocurile in cuplele cinematice, de deformaţiile elementelor cinetice, de variaţiile de temperatură precum<br />
şi de oscilaţiile sistemului mecanic, de acţionare sau ale sistemului de comandă. [J02]<br />
Eroarea poziţiei relative a elementelor cuplelor cinematice conducătoare, reprezintă diferenţa liniară<br />
sau unghiulară dintre poziţia relativă reală şi cea programată a acestor elemente. Acest tip de eroare<br />
este cauzat de întârzieri în funcţionarea sistemului de comandă şi de acţionare, de jocurile din transmisii<br />
şi de poziţia mecanismului generator de traiectorie. În calculul erorilor de poziţie şi orientare, datorate<br />
deformaţiilor statice sau variabile in timp ale elementelor, se va ţine cont de forţele care solicită<br />
elementele şi deformaţiile produse ca urmare a acţiunii lor. Variaţiile de temperatură conduc la<br />
modificarea dimensiunilor elementelor cinetice ale mecanismului generator de traiectorie.<br />
Aceste modificări dimensionale se determină cu ajutorul unei metode şi anume, metoda binomului de<br />
dilataţie. Astfel, sunt determinate erorile de poziţie şi orientare ce apar datorită variaţiilor de temperatură.<br />
Eroarea de traiectorie reprezintă intervalul maxim în care se poate afla cu o siguranţă statistică de P%<br />
poziţia reală a punctului caracteristic al robotului, într-o secţiune oarecare j a fasciculului de n traiectorii. Se<br />
observă că eroarea de traiectorie este compusă dintr-un număr mare de erori de poziţie.<br />
Eroarea de sincronizare este un vector cu punctul de aplicaţie în poziţia programată a punctului<br />
caracteristic, a cărui extremitate reprezintă poziţia efectiv realizată (poziţia în care ajunge în realitate efectorul<br />
final). Sistemul de referinţă este solidar cu o piesă în mişcare, asupra căreia trebuie să acţioneze robotul.<br />
Eroarea de timp reprezintă intervalul de timp înregistrat între momentul ocupării unei anumite<br />
poziţii de către punctul caracteristic sau dreapta caracteristică şi momentul cerut conform programului.<br />
În final, se poate trage concluzia că erorile reprezintă mărimi statistice care oferă informaţii<br />
referitoare la performanţele roboţilor industriali determinate de parametrul analizat. Eroarea reprezintă<br />
diferenţa dintre valoarea stabilită prin programul robotului şi valoarea realizată efectiv (măsurată).[B05]<br />
1.2.2 Influenţa parametrilor cinematici asupra preciziei de poziţionare<br />
Manipulatoarele reprezintă componente esenţiale ale sistemelor de fabricaţie robotizată acestea<br />
fiind utilizate în majoritatea aplicaţiilor industriale. Atât proiectarea cât şi implementarea manipulatoarelor<br />
se bazează pe modelarea, analiza şi programarea cu precizie ridicată a poziţiilor punctului caracteristic.<br />
În cadrul diferitelor aplicaţii industriale precum sudura, manipularea, respectiv inspecţia pieselor s-a<br />
observat că poziţionarea cu precizie ridicată a punctului caracteristic al robotului reprezintă o sarcină<br />
extrem de dificilă pentru robot, implică o durată destul de mare şi depinde în mare măsură de gradul de
NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
complexitate al operaţiilor efectuate de robot. Dintre factorii care pot avea o influenţă majoră asupra<br />
preciziei de poziţionare a punctului caracteristic în spaţiul de lucru pot fi menţionate variaţiile<br />
parametrilor geometrici din cuplele robotului dintre care dimensiunile elementelor cinetice respectiv<br />
orientarea cuplelor reprezintă principalele surse ale abaterilor de poziţie ale efectorului final al robotului.<br />
Aceasta se datorează faptului că modelarea cinematică a robotului se bazează pe o serie de<br />
parametri geometrici pentru a determina poziţia punctului caracteristic al efectorului final precum şi<br />
coordonatele generalizate din fiecare cuplă corespunzătoare acestei poziţii. Funcţia principală a unui<br />
robot constă în manipularea diferitelor obiecte, materiale sau scule în orice punct al spaţiului său de lucru.<br />
Robotul îndeplineşte diferitele sarcini de lucru pentru care a fost programat cu o anumită precizie.<br />
Precizia de poziţionare a efectorului final în spaţiul de lucru al robotului poate fi: relativă sau absolută.<br />
Precizia relativă (una dintre specificaţiile tehnice menţionate de producător) se referă la capacitatea<br />
unui robot de a reveni de fiecare dată într-o poziţie care a mai fost atinsă anterior în cadrul unui ciclu de<br />
lucru iar precizia absolută reprezintă precizia cu care robotul este capabil să îşi poziţioneze efectorul final<br />
în orice punct al spaţiului de lucru, în raport cu un sistem de referinţă fixat, a cărui poziţie este cunoscută.<br />
Precizia absolută de poziţionare se dovedeşte extrem de utilă, mai ales în cadrul proceselor de<br />
lucru în care robotul este programat să atingă anumite puncte din spaţiul de lucru, pe baza informaţiilor<br />
primite de la diferiţi senzori externi (sistem de viziune), poziţii care sunt raportate la un sistem de referinţă fix.<br />
În operarea structurilor articulate, poziţia şi orientarea efectorului final sunt influenţate de parametrii<br />
cinematici ce caracterizează robotul. Practica a demonstrat că de regulă poziţia programată a<br />
efectorului final nu coincide cu poziţia reală aceasta datorându-se în principal faptului că modelarea cu<br />
parametrii cinematici introduce o serie de erori. Acestea rezultă din modelarea structurii mecanice,<br />
modelarea electrică a sistemului robotic precum şi din inadvertenţele cauzate de alegerea inadecvată a<br />
sistemelor de referinţă pentru robot şi pentru spaţiul de lucru. Erorile care pot să rezulte din modelarea<br />
mecanică a unui robot se datorează în principal diferenţelor dintre structura proiectată şi structura<br />
asamblată şi au o influenţă majoră asupra preciziei de poziţionare şi de orientare a robotului. În cazul<br />
ideal, adică în situaţia în care între structura proiectată şi cea asamblată nu există nici o diferenţă,<br />
robotul ar avea posibilitatea de a urmări exact traiectoria prescrisă fără abateri de poziţie sau orientare.<br />
Acest lucru nu este posibil decât la nivel teoretic, deoarece în realitate, chiar dacă fiecare<br />
componentă a robotului este proiectată şi fabricată conform specificaţiilor, la montaj acestea pot fi suferi<br />
deformaţii datorate momentelor de torsiune precum şi a tensiunilor apărute în elementele sistemului de<br />
transmitere a mişcării (curele, lanţuri, fire) datorate caracterului elastic al acestora sau al materialelor<br />
utilizate. Datorită acestor erori care apar in timpul montajului este recomandat ca identificarea şi<br />
24
25<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
măsurarea parametrilor cinematici să se facă numai după ce întreaga structură a fost asamblată. [A02]<br />
În literatura de specialitate [C01], [G01], se fac referiri la doi parametrii care pot influenţa precizia de<br />
poziţionare: un parametru geometric rezultat din aplicarea metodei de modelare Denavit – Hartenberg<br />
respectiv un parametru non-geometric: complianţa cuplei, jocul dintre flancurile dinţilor, deformaţiile care apar<br />
la nivelul elementelor cinematice datorate acţiunii forţei gravitaţionale, forţelor de inerţie sau efectelor termice.<br />
Precizia parametrilor geometrici din articulaţiile robotului precum şi precizia de poziţionare a variabilelor<br />
de stare ce caracterizează cuplele robotului influenţează precizia de poziţionare a efectorului final. [B04]<br />
Coordonatele generalizate din cuplele robotului sunt parametrii utilizaţi în modelarea cinematică<br />
alături de variabilele de stare din cuple. Pentru îmbunătăţirea caracteristicilor de performanţă ale<br />
roboţilor utilizaţi in diferitele aplicaţii industriale (şi nu numai), este necesar să se aibă în vedere<br />
problema legată de eliminarea erorilor care apar între sistemul de referinţă ataşat sculei şi sistemul de<br />
referinţă ataşat piesei de manipulat. Sursa acestei probleme a fost identificată ca fiind dată de<br />
diferenţele dintre modelul teoretic al robotului (structura modelată matematic) şi cel real (asamblarea).[R01]<br />
S-a observat faptul că aceste erori se datorează într-o măsură însemnată modului în care este<br />
programat şi comandat controlerul robotului. O soluţie complexă care a fost dezvoltată şi implementată în<br />
scopul îmbunătăţirii preciziei de poziţionare o constituie calibrarea bazată pe model, realizată prin intermediul<br />
unei aplicaţii software, evitându-se astfel modificarea structurii mecanice sau constructive a robotului. [A02]<br />
1.2.3 Sistemele de referinţă ataşate robotului şi transformările care au loc între sisteme<br />
Robotul industrial poate fi considerat un sistem complex constituit dintr-o serie de cuple cinematice<br />
conectate între ele prin intermediul elementelor cinetice. Numărul cuplelor cinematice ce caracterizează<br />
structura mecanică a unui robot reprezintă numărul gradelor de libertate asociate robotului luat în studiu.<br />
Poziţia fiecărei cuple la un moment dat este exprimată în spaţiul cartezian prin intermediul<br />
transformărilor care au loc între sistemele de referinţă mobile ataşate centrului de masă al fiecărei cuple<br />
cinematice respectiv între sistemele mobile şi sistemul de referinţă fix ataşat bazei robotului [S01].<br />
Conform [M04], în continuare sunt prezentate sistemele de referință utilizate în calibrarea roboţilor:<br />
sistemul de referinţă global (fix), { }<br />
0 , un sistem fix situat în spaţiul de lucru al robotului (Oxyz);<br />
sistemul de referinţă ataşat punctului caracteristic al robotului (sistemul de referinţă ataşat sculei<br />
(Pnsa)) reprezintă sistemul de referinţă mobil ataşat punctului final, fiind notat cu { n+ 1}<br />
.<br />
Poziţia şi orientarea sistemului de referinţă mobil (Pnsa) ataşat punctului caracteristic al robotului<br />
(sculei) în raport cu sistemul de referinţă global (Oxyz) poate fi definită matematic prin intermediul unei<br />
matrice având dimensiunea ( 4x 4)<br />
cunoscută sub denumirea de matricea de transformare omogenă
NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
dintre sistemul fix şi cel mobil, ataşat efectorului final al robotului. Această matrice se poate exprima astfel:<br />
T<br />
n+ 10<br />
În expresia (1.24), vectorul de poziţie,<br />
⎡nxsx ax px⎤<br />
⎢<br />
nysy ay p<br />
⎥<br />
y<br />
= ⎢ ⎥ . (1.23)<br />
⎢nz sz az pz⎥<br />
⎢ ⎥<br />
⎢⎣ 0 0 0 1 ⎥⎦<br />
T<br />
⎣ x y z⎦<br />
p = ⎡p p p ⎤<br />
26<br />
exprimă poziţia punctului caracteristic<br />
ataşat sculei robotului (P) iar coordonatele celor trei versori ai axelor sistemului de referinţă (Pnsa)<br />
reprezintă orientarea sistemului ataşat punctului caracteristic definită astfel:<br />
⎡n s a ⎤<br />
n s a n s a . (1.25)<br />
[ ]<br />
x x x<br />
=<br />
⎢ ⎥<br />
⎢ y y y⎥<br />
⎢nz sz az⎥<br />
⎣ ⎦<br />
Transformarea omogenă directă dintre cele două sisteme este reprezentată grafic prin intermediul<br />
unui vector având originea în centrul sistemului de referinţă global şi extremitatea în originea sistemului<br />
mobil ataşat sculei robotului. Transformarea inversă dintre cele două sisteme notată<br />
[ ]<br />
0 1<br />
n 1T −<br />
+<br />
reprezintă situarea (poziţia şi orientarea) sistemului de referinţă global (fix) { }<br />
0 determinată în raport cu<br />
un sistem arbitrar ataşat punctului caracteristic al robotului, notat { P arbitrar } . Expresiile de definiţie pentru<br />
matricele de transformare directă T n+ 10,<br />
respectiv a inversei sale<br />
1<br />
n 10<br />
T −<br />
+ , pot fi aplicate oricărui sistem de<br />
referinţă ataşat robotului luat în studiu. Cuplele cinematice ale unui robot reprezintă o legătură mobilă,<br />
directă între două elemente cinematice, realizată în scopul limitării libertăţii de mişcare relative dintre<br />
acestea şi a transmiterii mişcării de la un element la altul. Legătura se poate realiza continuu sau<br />
periodic şi are loc pe o suprafaţă, linie sau punct. De asemenea, se poate observa că fiecare cuplă<br />
cinematică este alcătuită dintr-un element de intrare şi un element de ieşire.<br />
Poziţia relativă dintre cele două elemente defineşte poziţia cuplei, fiind evident faptul că pentru diferite<br />
configuraţii ale cuplelor robotului se vor obţine poziţii şi orientări diferite ale efectorului final. Din punct de<br />
vedere matematic, modelul cinematic al robotului descrie relaţia geometrică ce se stabileşte între o<br />
poziţie dată a efectorului final al robotului, respectiv poziţiile corespunzătoare ce caracterizează fiecare<br />
cuplă cinematică. Astfel, modelul cinematic direct oferă posibilitatea determinării poziţiei punctului<br />
caracteristic ataşat efectorului final, în situaţia în care se cunosc coordonatele generalizate ce<br />
caracterizează la un moment dat fiecare dintre cuplele robotului.[S01]
27<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
Modelul cinematic invers permite<br />
Cupla ( i −1)<br />
Cupla i<br />
θi<br />
Cupla ( i + 1)<br />
θ i+ 1<br />
sistemului robotic să determine exact care<br />
ar trebui să fie valorile coordonatelor<br />
generalizate din cuplele robotului pentru ca<br />
θi−1 efectorul final să ajungă într-o poziţie<br />
impusă (particulară). În dezvoltarea<br />
βi<br />
zi−1 θi<br />
γ i−1 xi−1 xi<br />
i<br />
ecuaţiilor de mişcare se porneşte de la<br />
stabilirea sistemelor de referinţă carteziene<br />
pentru reprezentarea poziţiei relative dintre<br />
două poziţii succesive ale robotului.<br />
Modelul matematic bazat pe parametrii<br />
Denavit – Hartenberg (conform Fig.1.10)<br />
reprezintă o modalitate eficientă de modelare sistematică a parametrilor generalizaţi ce caracterizează<br />
poziţia şi orientarea fiecărei cuple cinematice indiferent de gradul de complexitate a structurii studiate. [B04].<br />
z<br />
Elementul ( i )<br />
Elementul ( i −1)<br />
Elementul ( i −2)<br />
α i<br />
xi<br />
Fig.1.10 Definirea parametrilor Denavit – Hartenberg<br />
1.3 Caracteristicile de performanţă ale roboţilor industriali<br />
Firmele importante, producătoare de roboţi industriali au fost preocupate încă din perioada de<br />
început a dezvoltării industriei robotizate (chiar mai mult decât clienţii lor) de posibilităţile de<br />
îmbunătăţire a preciziei de funcţionare a modelelor lansate pe piaţă. Primul pas în stabilirea preciziei<br />
unui robot industrial constă în determinarea criteriilor de performanţă ce caracterizează structura<br />
respectivă, acest fapt fiind realizat practic prin aplicarea unor metode de testare corespunzătoare. În<br />
situaţia în care din rezultatele testării reiese necesitatea luării unor măsuri de îmbunătăţire a preciziei<br />
primare sau a repetabilităţii primare, se va impune reproiectarea structurii robotului respectiv. Dacă în<br />
schimb se doreşte îmbunătăţirea caracteristicilor dinamice ce definesc o anumită structură de robot, simpla<br />
modificare a setărilor de comandă, a parametrilor sau a algoritmilor utilizaţi s-a dovedit a fi suficientă.<br />
Aplicarea metodelor respectiv a tehnicilor de calibrare se impune în situaţia în care se doreşte<br />
creşterea preciziei absolute de situare sau atunci când se doreşte determinarea capabilităţilor unui robot<br />
destinat utilizării in cadrul unei celule flexibile de fabricaţie, pe baza toleranţelor ce caracterizează întreg<br />
spaţiul de lucru al robotului respectiv. De menţionat faptul că precizia absolută de poziţionare reprezintă<br />
capabilitatea unui robot de a-şi deplasa cu precizie punctul caracteristic ataşat efectorului final într-o<br />
nouă poziţie / orientare din spaţiul Cartezian, în raport cu sistemul de referinţa fix ataşat bazei robotului<br />
sau relativ la sistemul de referinţă al celulei de lucru. În conformitate cu standardul ISO 9283, testarea
NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
caracteristicilor de performanţă ale structurilor de roboţi are drept scop facilitarea relaţiei dintre<br />
producătorii şi utilizatorii de roboţi şi sisteme robotizate. Totodată în standard sunt definite cele mai<br />
importante caracteristic de performanţă, modalităţile de stabilire a lor, făcându-se o serie de<br />
recomandări referitoare la procedurile de testare care trebuie aplicate în fiecare caz. Standardul<br />
defineşte următoarele caracteristici de performanţă: precizia de situare respectiv repetabilitatea de<br />
situare, variaţia preciziei de situare multidirecţionale, precizia/repetabilitatea la deplasare, intervalul de<br />
stabilizare a poziţiei, abaterile de poziţie, deplasarea punctului caracteristic, interschimbabilitatea,<br />
precizia / repetabilitatea de urmărire a unei curbe, precizia de urmărire a unei curbe în cazul modificării<br />
orientării, timpul minim de situare, caracteristicile de viteză ale curbei parcurse, complianţa statică etc.<br />
Standardul ISO 9283 a fost definit pentru prima dată în anul 1990, prima recenzie a fost făcută în<br />
1996 fiind aprobat în final în anul 1998. În paralel cu standardul ISO, între 1990 -1992 s-a dezvoltat şi<br />
standardul american ANSI/RIA R15.05. În prima parte a standardului ANSI sunt definite<br />
caracteristicile de performanţă statice respectiv permanente ale robotului. Este vorba despre precizie,<br />
repetabilitate, timpul de lucru, deviaţiile, timpul de răspuns (perioada tranzitorie) respectiv complianţa.<br />
În cea de-a doua parte sunt analizate caracteristicile de performanţă dinamice:<br />
precizia/repetabilitatea în urmărirea unei curbe, caracteristicile de viteză ale curbei parcurse. În ultima<br />
parte sunt făcute o serie de recomandări referitoare metodele acceptate de testare a fiabilităţii:<br />
verificarea conformităţii cu specificaţiile, testul de 24h (constă în operarea fiecărei axe a robotului,<br />
individual, timp de 24h), testul de 48h (constă în operarea simultană a multor axe ale robotului timp de<br />
48h). Până în prezent, aceste standarde au foarte puţin aplicate, în special de către utilizatorii de roboţi.<br />
Referitor la această problemă, în urma unui sondaj desfăşurat în cadrul unui proiect de cercetare<br />
european, s-a constatat (printre altele) că mai puţin de 10% dintre companii au aplicat metodele de<br />
testare ale performanţelor roboţilor recomandate de standardul ISO 9283. De asemenea, s-a remarcat<br />
faptul că atât producătorii cât şi utilizatorii de roboţi industriali înţeleg importanţa acestor teste, fiind<br />
totodată pregătiţi în vederea aplicării lor, aceştia din urmă fiind interesaţi în special de testele de<br />
performanţă care pot fi adaptate în funcţie de aplicaţie. Totodată utilizatorii au pretenţia ca procedurile de<br />
testare a performanţelor roboţilor să fie cât mai simplu de aplicat, uşor de interpretat şi să prezinte<br />
opţiunea de a putea fi utilizate direct în procesul de producţie în detectarea şi rezolvarea diferitelor probleme<br />
(defecţiuni) care pot să apară, în acest fel reducându-se timpul necesar remedierii acestor probleme.<br />
1.3.1 Evaluarea performanţelor roboţilor industriali în funcţie de configuraţie<br />
În vederea evaluării performanţelor roboţilor industriali este necesară aplicarea unei analize structurale,<br />
cinetostatică şi dinamică a acestora. În cadrul acestei analize se vor determina următoarele caracteristici:<br />
28
29<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
Precizia structurală este o caracteristică de performanţă care depinde de complexitatea structurii<br />
mecanice a roboţilor. Cu cât lanţul cinematic este mai complex, cu atât robotul va fi capabil să<br />
satisfacă mai bine o lege de mişcare impusă. În cazul structurilor cu lanţ cinematic simplu, abaterile<br />
cresc iar aproximarea este grosieră. Cu toate acestea, în practică se preferă utilizarea structurilor<br />
mai simple deoarece la cele complexe erorile tehnologice ce caracterizează elementele cinetice<br />
respectiv cuplele robotului se pot cumula ajungând să depăşească aproximaţiile structurale ale celorlalte.<br />
Precizia cinematică reprezintă capacitatea robotului de a satisface legile de mişcare, deplasările, vitezele<br />
şi acceleraţiile impuse. Factorii ce determină apariţia abaterilor cinematice sunt reprezentaţi de structura<br />
aproximativă a mecanismelor componente şi de erorile de fabricaţie ale elementelor şi cuplelor cinematice.<br />
Precizia cinetostatică se referă la aprecierea calităţii în satisfacerea legilor de mişcare impuse de<br />
către utilizator (operator) precum şi a forţelor sau a momentelor prescrise.<br />
Precizia dinamică se referă la aprecierea calităţii în realizarea legilor de mişcare, forţelor,<br />
momentelor, energiilor (etc.), pentru o structură de manipulare reală. Datorită solicitărilor dinamice şi a<br />
elasticităţii ce caracterizează elementele robotului, în sistemul mecanic pot să apară vibraţii ce produc<br />
perturbaţii în funcţionarea acestuia. Analiza acestor perturbaţii este şi ea inclusă în precizia dinamică.<br />
Precizia roboţilor poate fi afectată de o serie de factori. Aceasta variază în interiorul volumului de<br />
lucru fiind mai slabă atunci când braţul robotului se îndepărtează de zona inclusă în volumul de lucru şi<br />
mai bună când braţul se găseşte într-o zonă mai apropiată de baza robotului. De asemenea, s-a<br />
observat că erorile mecanice ce caracterizează structura unui robot se amplifică în cazul în care robotul<br />
trebuie să opereze în puncte care necesită extensia totală a braţului. Având în vedere observaţiile<br />
anterioare, se impune introducerea termenului de harta a erorilor, care este utilizat pentru a caracteriza<br />
precizia roboţilor ca o funcţie ce prezintă variaţii interiorul volumului de lucru. Precizia roboţilor poate fi<br />
îmbunătăţită considerabil dacă se aplică măsura restricţionării ciclului de mişcare la un domeniul limitat<br />
din spaţiul de lucru. S-a observat că erorile mecanice se reduc considerabil în situaţia în care robotul<br />
este obligat să execute sarcinile de lucru într-un spaţiu de lucru limitat, impus prin program. Abilitatea<br />
robotului de a ajunge într-un punct particular din acest spaţiu de lucru limitat, poartă denumirea de<br />
precizie locală. Dacă precizia este evaluată în întreg spaţiul de lucru al robotului, se preferă denumirea<br />
de precizie globală. Un alt factor care poate influenţa precizia roboţilor este sarcina care trebuie<br />
manipulată de către aceştia în timpul procesului de lucru. Este evident că sarcinile de lucru prea mari<br />
pot determina abateri ale elementelor cinetice ale robotului, concretizate în valori scăzute ale preciziei.<br />
În plus, faţă de factorii ce afectează precizia şi repetabilitatea roboţilor, prezentaţi anterior, mai pot fi<br />
menţionaţi şi următorii: jocurile (alunecările) din cuplele robotului, efectele acceleraţiilor respectiv efectul
NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
acţiuni forţei gravitaţionale, efectele termice, jocurile din rulmenţi precum şi erorile marginale (de frontieră).<br />
Efectul forţei gravitaţionale este determinat de încărcarea robotului în cazul in care acesta operează în<br />
poziţie verticală. Efectul acţiunii forţei gravitaţionale constă în deformaţia braţului, calculată cu expresia:<br />
30<br />
3<br />
P⋅l δR<br />
=<br />
3⋅<br />
E⋅I B<br />
(1.26)<br />
unde P reprezintă încărcarea braţului robotic, l reprezintă lungimea braţului, E este modulul de<br />
elasticitate al lui Young iar cu I B este simbolizat momentul de inerţie al braţului.<br />
Efectul acceleraţiei se datorează forţei centrifugale care acţionează asupra braţului şi care se<br />
2<br />
determină cu expresia m⋅ω⋅ l , unde m reprezintă masa robotului, ω este viteza unghiulară a braţului<br />
iar l lungimea acestuia. Datorită acţiunii forţei de inerție centrifugale mai apare o forţă, denumită forţă<br />
centripetală care acţionează asupra braţului robotului producând o deformaţie axială care se poate<br />
Fc⋅l determina analitic cu expresia: δF<br />
= , unde F c reprezintă forţa centrifugală iar A este aria secţiunii<br />
A⋅ E<br />
transversale a braţului robotului. Deformaţia braţului produsă ca urmare a acţiunii forţei gravitaţionale<br />
( δ R ), respectiv deformaţia datorată acţiunii forţei centrifugale ( δ F ) determină apariţia erorilor de<br />
poziţionare la nivelul efectorului final.<br />
Jocurile (alunecările) reprezintă erori specifice elementelor din componenţa sistemului de transmisie<br />
al robotului. Aceste erori se manifestă în special în cazul curelelor de transmisie respectiv a<br />
mecanismelor de cuplare. În cazul transmisiilor cu roţi dinţate, aceste jocuri apar datorită spaţiului dintre<br />
dinţii roţilor aflate în angrenare.<br />
Acest fapt se manifestă prin apariţia erorilor de poziţionare ale efectorului final în spaţiul de lucru al<br />
robotului (valoarea programată nu mai corespunde cu valoarea reală).<br />
Deformaţiile datorate efectelor termice (ex. variaţiile de temperatură din mediul de lucru, căldura<br />
generată în timpul funcţionării echipamentelor de transmisie a puterii (curele, lanţuri, angrenaje, cuplaje)).<br />
Jocurile din rulmenţi afectează considerabil precizia de poziţionare a robotului. Majoritatea<br />
rulmenţilor prezintă jocuri de aproximativ 0,002( mm ) . În timpul funcţionării, inelul interior se încălzeşte<br />
în general mai mult decât cel exterior (din cauza transferului necorespunzător de căldură) şi, astfel,<br />
valoarea jocului se modifică. Totodată, datorită forţelor care acţionează asupra rulmentului au loc<br />
deformaţii în zonele de contact între căile şi corpurile de rulare care modifică valoarea jocului.<br />
Jocul de funcţionare optim depinde de destinaţia şi condiţiile de lucru ale rulmentului. Din acest motiv,<br />
dacă procesul de lucru impune sarcini şi precizie de funcţionare mari, atunci valoarea jocului trebuie să fie
31<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
cât mai mică). Valorile mari ale jocurilor determină micşorarea preciziei de rotire a rulmentului şi<br />
neuniformitatea repartizării forţelor pe corpurile de rostogolire, mărind astfel uzura şi micşorând durabilitatea<br />
rulmenţilor, fapt care conduce la creşterea temperaturii de funcţionare şi micşorarea turaţiei maxime de<br />
funcţionare. Toate acestea au ca efect imprecizia de poziţionare a braţului robotic. În Fig. 1.11 sunt<br />
evidențiați principalii factori care influențează precizia geometrică (structurală), cinematică și dinamică.<br />
Fig.1.11 Factorii care influențează precizia globală a structurilor de roboți<br />
În continuare, se prezintă o analiză a modului în care configuraţia braţului unui robot serial<br />
influenţează precizia de situare a efectorului final în spaţiul de lucru. Majoritatea roboţilor industriali<br />
(structuri seriale) sunt alcătuiţi în principal dintr-un singur lanţ cinematic ce constă dintr-o serie de cuple<br />
(care pot fi cuple de rotaţie, prismatice sau sferice) conectate între ele prin intermediul elementelor<br />
cinetice. Erorile de proiectare respectiv de construcţie / montaj ale braţului robotului determină<br />
modificarea razei de acţiune a braţului, a volumului de lucru acoperit, a complianţei şi nu în ultimul rând,<br />
acestea pot afecta precizia de situare a efectorului final respectiv calitatea procesului de lucru. În Fig.<br />
1.12 sunt prezentate în mod lapidar cele mai importante erori care afectează structura roboților. Astfel,<br />
conform cu [K04], erorile care afectează roboții seriali se pot clasifica în două categorii: Luând în<br />
considerare tipul cuplelor cinematice, aranjamentul structural, respectiv spaţiul de lucru descris în timpul<br />
procesului de lucru, în continuare vor fi analizate şase dintre cele mai cunoscute configuraţii de roboţi<br />
utilizaţi în cadrul aplicaţiilor industriale, în ceea ce priveşte performanţele acestora.
NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
Fig. 1.12 Erorile care afectează structura roboților seriali<br />
A. Roboţi în sistem de coordonate carteziene<br />
Roboţii cartezieni sunt în general constituiţi din trei cuple prismatice (de translaţie), cu rol în<br />
poziţionarea efectorului final în spaţiul de lucru. O caracteristică importantă a roboţilor de acest tip o<br />
constituie aceea că rezoluţia spaţială este egală şi constant distribuită atât de-a lungul celor trei axe de<br />
translaţie cât şi în întreg volumul de lucru al robotului.<br />
Avantajele utilizării acestei structuri rezultă din rezoluţia mare şi precizia ridicată, posibilitatea<br />
evitării obstacolelor şi a coliziunii cu diverse echipamente din spaţiul de lucru.<br />
Alte avantaje care merită subliniate sunt: volum de lucru foarte mare, comparativ cu volumul propriu<br />
al robotului, simplitatea algoritmilor de comandă , a comenzilor de mişcare, şi nu în ultimul rând,<br />
simplitatea structural – funcţională a echipamentului de programare, comandă şi interfaţare.<br />
Dezavantajele acestor structuri sunt date de dimensiunile mari şi în consecinţă de spaţiul de lucru<br />
necesar, complexitatea proiectării axelor de translaţie, spaţiul de lucru limitat, etc.<br />
Volumul de lucru este reprezentat de un paralelipiped rezultat din modul de deplasare a cuplelor<br />
cinematice în lungul celor trei axe x, y şi z ale sistemului cartezian de coordonate. În Fig. 1.13 este<br />
reprezentat un astfel de robot cartezian:<br />
32
33<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
Fig. 1.13 Reprezentarea structurii şi a spaţiului de lucru al unui robot cartezian<br />
B. Roboţi în sistem de coordonate cilindrice<br />
Acest tip de roboţi se caracterizează prin faptul că spaţiul de lucru descris de efectorul final are o<br />
formă cilindrică (porţiune dintr-un cilindru) fiind alcătuiţi în general din două cuple prismatice (translaţie)<br />
pentru poziţionare şi o cuplă de rotaţie pentru orientare. În aplicaţii cel mai des folosită este structura de<br />
tip R2T alcătuită dintr-un braţ orizontal montat pe un suport rotativ (rotaţie în bază). Braţul poate efectua<br />
două translaţii, prima în plan vertical (în lungul axei de rotaţie) şi a doua în plan orizontal (de-a lungul<br />
unei axe perpendiculare pe axa de rotaţie) precum şi o rotaţie din bază. Astfel, volumul de lucru rezultat<br />
reprezintă o secţiune inelară dintr-un cilindru (Fig. 1.14). Roboţii cilindrici prezintă o serie de avantaje<br />
cum ar fi de exemplu faptul că posturile de lucru se pot amplasa şi pe verticală de unde rezultă utilizarea<br />
economică a spaţiului de lucru, rigiditatea crescută, care le conferă o precizie bună de poziţionare,<br />
posibilitatea utilizării în aplicaţii care necesită accesul din lateral. Unul dintre dezavantajele utilizării acestor<br />
structuri constă în faptul că flexibilitatea braţului robotului este mai redusă în cazul utilizării în cadrul<br />
operaţiilor de manipulare ce reclamă poziţionări dificile. Aceste structuri prezintă precizie de poziţionare<br />
mai slabă, comparativ cu cea caracteristică roboţilor care operează în sistem de coordonate carteziene.<br />
Fig.1.14 Reprezentarea structurii şi a spaţiului de lucru al unui robot în coordonate cilindrice
NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
C. Roboţi în sistem de coordonate sferice<br />
Roboții în coordonate polare sunt alcătuiți dintr-o bază rotativă, un braț pivotant (cuplă de<br />
rotație) și un braț telescopic (cuplă prismatică). Prima mișcare corespunde unei rotații în jurul axei<br />
verticale, cea de-a doua este tot o rotație dar în jurul axei x iar cea de-a treia mișcare este<br />
reprezentată de o translație în lungul axei y .<br />
Punctele din spațiul de lucru al robotului în care poate ajunge punctul caracteristic al efectorului final<br />
sunt incluse în volumul unei sfere de rază R (sau a unei porțiuni dintr-o sferă, Fig.1.15). Avantajele<br />
utilizării acestor structuri de roboți sunt următoarele: structură mecanică relativ simplă, compatibilitate<br />
bună cu alte echipamente, rezoluție bună datorată faptului că erorile din efectorul final sunt<br />
perpendiculare între ele. Dezavantajele sunt date de faptul că acești roboți prezintă posibilități limitate<br />
de evitare a obstacolelor și de faptul că eroarea de poziționare este destul de mare, este datorată<br />
mișcării de rotație a brațului și este proporțională cu raza descrisă de braț în mișcare de rotație.<br />
Complexitatea realizării comenzii cinematice constituie un alt dezavantaj important.<br />
Fig. 1.15 Reprezentarea structurii şi a volumului de lucru al unui robot în coordonate polare<br />
D. Roboţii articulaţi<br />
Acest tip de configurație mai este cunoscută în literatura de specialitate sub denumirea de<br />
configurație antropomorfă. Roboții de acest tip sunt alcătuiți în principal din trei cuple de rotație, după<br />
cum se poate observa și din Fig. 1.16. Volumul de lucru descris de efectorul final are o formă complexă<br />
care poate fi obținută dintr-o sferă. Se observă că spre deosebire de roboții în coordonate polare, acest<br />
tip de roboți prezintă un spațiu de lucru mai mare, fiind capabili de a efectua mișcări complexe. Datorită<br />
flexibilității structurii, roboții articulați sunt utilizați în special în cadrul proceselor de lucru în care accesul<br />
se face foarte greu. Precizia de poziționare a acestor structuri este foarte mare.<br />
34
35<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
Fig. 1.16 Reprezentarea structurii şi a volumului de lucru al unui robot articulat<br />
E. Roboţii de tip SCARA<br />
Robotul de tip SCARA (Selective Compliance Assembly Robot Arm) este configurația cea mai<br />
utilizată în cadrul proceselor de asamblare. În Fig. 1.17 este reprezentată o astfel de configurație de<br />
robot precum și volumul de lucru descris de către efectorul final. În principal, structurile de tip SCARA<br />
sunt alcătuite din două cuple de rotație și o cuplă prismatică (translație). În procesele de lucru care<br />
necesită precizie ridicată, se poate opta pentru utilizarea unei structuri care să mai prezinte în plus o<br />
cuplă de rotație, necesară pentru poziționarea corectă a efectorului final. Deși structura cinematică a<br />
roboților de tip SCARA este similară cu cea a roboților în coordonate polare, volumele de lucru diferă<br />
considerabil. Volumul de lucru ce caracterizează aceste structuri are în principal o formă cilindrică, însă<br />
restricțiile de mișcare impuse de structura mecanică conduc la forma complexă prezentată în Fig. 1.16.<br />
Roboții SCARA sunt caracterizați de o precizie de poziționare foarte bună și viteze mari de lucru, fiind<br />
ideali pentru a fi utilizați în special în procesele care necesită operare în plan (transfer, asamblare,<br />
inspecție și măsurare). De asemenea, o caracteristică importantă a acestor roboți o constituie complianța.<br />
De exemplu, în cazul îmbinării diferitelor piese, cum ar fi de exemplu introducerea unui cip în<br />
locașul său pe placa de bază, anumite mișcări de deplasare laterală (complianța) trebuie tolerate<br />
deoarece acestea au un rol important în centrarea piesei. Roboții de tip SCARA au capabilitatea de a realiza<br />
centrarea piesei fără a recurge la modificarea orientării, fapt care ar putea conduce la blocarea piesei.<br />
Fig.1.17 Reprezentarea structurii şi a volumului de lucru al unui robot de tip SCARA
NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
1.4 Calibrarea roboţilor industriali<br />
Roboții utilizați în aplicațiile industriale pot fi afectați de o serie de modificări la nivelul structurii<br />
mecanice (uzura sau înlocuirea diferitelor componente, jocurile din cuple și din rulmenți) care se<br />
manifestă prin erori de poziționare și orientare ce alterează procesul de lucru. Pentru a remedia efectele<br />
factorilor enumerați mai sus, se aplică un procedeu cunoscut în literatura tehnică sub denumirea de<br />
calibrare. Procesul de calibrare este aplicat în scopul îmbunătățirii preciziei de poziționare prin utilizarea<br />
unui soft dedicat, în acest fel evitându-se modificarea structurii mecanice sau a sistemului de comandă<br />
al robotului. Calibrarea reprezintă un procedeu de îmbunătățire a preciziei de poziționare a robotului prin<br />
dezvoltarea unui model ai cărui parametri reprezintă cu precizie structura reală a robotului.<br />
După realizarea acestui model, următorul pas constă în măsurarea exactă a caracteristicilor de<br />
performanță ale robotului. Ultima fază a procesului de calibrare constă în aplicarea unei proceduri de<br />
identificare în vederea determinării acelor valori ale parametrilor care atunci când sunt utilizate în<br />
modelul de calibrare reflectă în mod precis valorile măsurate. În momentul de față, calibrarea joacă un<br />
rol important în procesul de producție al roboților precum, în implementarea și operarea acestora în<br />
cadrul sistemelor de asamblare automată sau a producției asistate de calculator deoarece conduce la<br />
îmbunătățirea semnificativă a preciziei roboților respectiv la scăderea costurilor de producție. [A01]<br />
1.4.1 Noţiuni referitoare la procesul de calibrare al roboţilor industriali<br />
În ultimii ani, utilizarea pe scară largă a roboților în industrie a determinat și creșterea nivelului<br />
cerințelor în rândul utilizatorilor care își doresc structuri caracterizate de repetabilitate și precizie bună,<br />
în egală măsură. În cazul în care în urma ajustărilor făcute robotul nu asigură precizia impusă de<br />
proces, se recomandă calibrarea lui. Majoritatea metodelor de calibrare utilizate se bazează pe<br />
compararea pozițiilor memorate de către robot cu măsurătorile efectuate asupra efectorului final de<br />
către un dispozitiv independent de măsurare în coordonate. În urma identificării celor două valori (care<br />
teoretic ar trebui să coincidă), se aplică o serie de măsuri corective care constau în modificarea valorii<br />
parametrilor D-H din modelul matematic astfel încât diferența măsurată între poziția programată și<br />
poziția reală a efectorului final să fie minimă. Progresele înregistrate în industria IT în ceea ce privește<br />
pachetele de programe utilizate în programarea off-line a roboților au creat posibilitatea actualizării<br />
modelului matematic conținut de controlerul robotului astfel încât parametrii acestuia să coincidă cu cei<br />
înregistrați în urma aplicării tehnicilor și metodelor de calibrare. Astfel, robotul poate fi utilizat și în alte<br />
aplicații (alte celule robotizate) fără a fi necesară calibrarea lui ci doar rularea unui model de calibrare.<br />
Sistemele de programare off-line care oferă astfel de soluții sunt Workspace și IGRIP. În plus, față de<br />
36
37<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
soluțiile enumerate anterior mai pot fi menționate metodele experimentale invazive / neinvazive de<br />
calibrare. Dintre acestea, metodele neinvazive (senzorii de distanță supersonici, senzori de proximitate<br />
laser, camere video de înaltă rezoluție, sisteme de viziune robotizată) deși sunt caracterizate de o<br />
precizie ridicată prezintă dezavantajul de a fi extrem de costisitoare atât în ceea ce privește costul<br />
echipamentului necesar calibrării cât și în privința timpului necesar pentru setarea sistemului și<br />
realizarea interfațării dintre sistemul de calibrare și controlerul robotului. Restricțiile de cost impuse de<br />
majoritatea aplicațiilor industriale obligă la utilizarea unor metode mai puțin precise dar ieftine. Astfel de<br />
soluții implică folosirea pieselor șablon a dispozitivelor flexibile sau a palpatoarelor de înaltă precizie. O<br />
altă noțiune care poate fi asociată calibrării este reprezentată de metrologie. Metrologia (teoria și tehnica<br />
măsurării) implică efectuarea de măsurători standardizate (ISO 9283) în vederea evaluării caracteristicilor<br />
de performanță ale robotului. Cele mai utilizate tehnici de măsurare în calibrarea roboților sunt următoarele:<br />
• triangulația laser;<br />
• metodele inerțiale de măsurare;<br />
• metodele de măsurare a poziției;<br />
• metodele de interferometrie laser;<br />
• metode de comparare a traiectoriilor;<br />
• metodele de măsurare în coordonate polare;<br />
• metode de măsurare în coordonate carteziene.<br />
Varietatea soluțiilor oferite de producătorii de sisteme de măsurare indică faptul că utilizarea acestora<br />
depinde în mare măsură de parametrii ce caracterizează procesul de lucru în care este utilizat robotul.<br />
1.4.2 Caracteristicile procesului de calibrare. Metode de calibrare<br />
Calibrarea reprezintă procesul prin care parametrii reali ce influențează precizia de poziționare a<br />
robotului se stabilesc prin aplicarea unor metode de măsurare directă sau indirectă. Acești parametri<br />
sunt utilizați în vederea îmbunătățirii preciziei prin modificarea softului de poziționare. În general,<br />
metodele de calibrare implică patru etape: modelarea, măsurarea, identificarea parametrilor și compensarea.<br />
Prima etapă a procesului de calibrare o constituie modelarea prin care se urmărește realizarea unei<br />
legături între poziția ocupată de efectorul final în spațiul Cartezian (exprimată prin intermediul<br />
coordonatelor generalizate din cuplele robotului) și parametrii cinematici care pot influența funcția de<br />
poziționare. Următoarea etapă constă într-o serie de măsurători externe ce vizează determinarea poziției<br />
exacte a efectorului final în spațiul Cartezian, corespunzătoare unui anumit set de valori ale coordonatelor<br />
generalizate din cuplele robotului. Aceste măsurători trebuie efectuate pentru un număr suficient de
NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
mare de poziții ale efectorului final care să permită în continuare aplicarea metodelor de identificare.<br />
Identificarea reprezintă o metodă de stabilire a parametrilor cinematici reali pe baza unui set de<br />
poziții și orientări ale efectorului final, corespunzătoare unor valori cunoscute ale coordonatelor<br />
generalizate din cuplele robotului. Metoda de identificare care urmează a fi aplicată este selectată în<br />
funcție de modelul matematic și modalitatea de măsurare aleasă. Valorile parametrilor rezultați în urma<br />
aplicării metodelor de identificare sunt implementate în softul controlerului conducând la o îmbunătățire<br />
considerabilă a preciziei de poziționare a robotului. [B04]<br />
În cazul în care erorile care afectează precizia de poziționare a efectorului final nu sunt determinate<br />
de factori care țin de geometria robotului, pentru evaluarea efectelor acestor erori și determinarea<br />
cauzelor ce le-au produs poate fi utilizată o abordare similară celei prezentate anterior (pot fi urmați<br />
pașii prezentați anterior). În momentul de față, aceste tehnici de calibrare și precizie absolută sunt<br />
dezvoltate și furnizate utilizatorilor de către marile companii producătoare de roboți precum ABB sau<br />
KUKA. Există însă și situații în care utilizatorul nu poate opera modificări asupra softului controlerului. În<br />
acest caz, este necesară aplicarea unei metode alternative de compensare off-line.<br />
Astfel, pozițiile compensate ale efectorului final sunt determinate pe baza parametrilor modelului<br />
cinematic invers. La un nivel foarte general, calibrarea poate fi clasificată în calibrare bazată pe modelul<br />
cinematic (parametrizată) și calibrarea neparametrizată. În continuare, cele două tipuri de calibrare<br />
amintite anterior sunt prezentate într-o formă lapidară. Pentru fiecare tip de calibrare în parte se vor<br />
analiza următoarele aspecte: metoda pe care se bazează modelul matematic, metodele de măsurare<br />
utilizate, metodele de identificare și respectiv de compensare (corecție) aplicate.<br />
A. Calibrarea bazată pe modelul cinematic (calibrarea parametrizată)<br />
Calibrarea parametrizată mai este cunoscută în literatura de specialitate sub denumirea de calibrare<br />
cinematică sau calibrare de ordinul doi. În determinarea parametrilor cinematici ce caracterizează<br />
modelul cinematic, de obicei se utilizează ca și date de intrare parametrii de poziție-orientare care<br />
rezultă din modelarea geometriei directe și, rar sau chiar foarte rar se iau în considerare parametrii nongeometrici.<br />
Studiile au arătat că erorile determinate de parametrii non-geometrici sunt responsabile de<br />
10% din eroarea globală. Cu toate acestea, în ceea ce privește luarea în considerare în cadrul analizei<br />
a erorilor non-geometrice, părerile sunt împărțite. Există unii autori care consideră că erorile determinate<br />
de factorii non-geometrici sunt nesemnificative în raport cu cele determinate de factorii geometrici, de<br />
aceea, pentru simplificarea modelului de calibrare, recomandă neglijarea lor [C01].<br />
De cealaltă parte se situează cei care consideră că factorii non-geometrici sunt la fel de<br />
38
39<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
responsabili de producerea erorilor ca și cei geometrici [G01]. Având în vedere faptul că părerile<br />
referitoare la influența factorilor non-geometrici sunt împărțite, este foarte dificil să se decidă asupra<br />
validității uneia dintre cele două metode propuse, cu atât mai mult cu cât ultimele studii au relevat faptul<br />
că influența parametrilor geometrici și non-geometrici asupra preciziei de poziționare a roboților variază<br />
de la un tip de robot la altul. Calibrarea bazată pe modelul cinematic este o metodă generală care<br />
conduce la îmbunătățirea preciziei de poziționare în întreg volumul de lucru al robotului. [M07]<br />
În continuare, calibrarea cinematică va fi analizată din perspectiva celor patru etape descrise anterior<br />
(modelare, măsurare, identificare, corecție).<br />
Faza de modelare matematică – Modelul cinematic al robotului reprezintă o descriere matematică<br />
a geometriei de mișcare a robotului. Pentru determinarea modelului cinematic ce caracterizează structura<br />
unui robot în literatura de specialitate sunt recomandate o serie de abordări dintre care, cea mai populară<br />
este metoda parametrilor compuși Denavit – Hartenberg [N02] bazată pe metoda matricelor de<br />
transformare omogenă. Această metodă constă în stabilirea unor sisteme de referință în centrul geometric<br />
al fiecărei cuple cinematice. Un set de coeficienți incluși în matricele de transformare omogenă fac<br />
legătura între un sistem oarecare atașat unei cuple cinematice și sistemul învecinat.<br />
O problemă importantă legată de utilizarea acestei metode o constituie singularitățile. Pentru<br />
rezolvarea acestei probleme, s-a propus modificarea modelului matematic bazat pe parametri Denavit –<br />
Hartenberg prin introducerea unui parametru suplimentar de rotație, pentru axele paralele de rotație. În<br />
practică există numeroase alternative de modelare cinematică a structurilor de roboți, cum ar fi de<br />
exemplu modelarea de tip S care utilizează 6 parametri pentru fiecare element sau modelul zero care nu<br />
folosește ca și parametru de legătură normala comună, tocmai în vederea evitării singularităților.<br />
Faza de măsurare – implică determinarea poziției exacte a punctului caracteristic al efectorului<br />
final sau a sculei, în spațiul de lucru al robotului. Pozițiile reale ale efectorului final în spațiul de lucru<br />
(este vorba de pozițiile măsurate) sunt comparate apoi cu cele obținute prin aplicarea modelului teoretic,<br />
diferența dintre acestea reprezentând eroarea de poziționare. Această fază este cea mai laborioasă și<br />
mai dificil de realizat. Prin aplicarea acestei metode se urmărește evidențierea parametrilor<br />
independenți precum și a erorilor ce afectează acești parametri. În procesul de calibrare al robotului<br />
sunt utilizate diverse metode și dispozitive de măsurare, cum sunt de exemplu mașinile de măsurare în<br />
coordonate (7), senzorii acustici, senzorii optici și teodoliții mecanici sau optici. Tehnicile si dispozitivele<br />
de măsurare care le însoțesc, deși diferă între ele prin precizie, ergonomie (ușurința în utilizare)<br />
respectiv costuri, au în comun următoarele dezavantaje:<br />
pentru operarea adecvată a acestor dispozitive se recomandă personal special instruit în acest sens
NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
colectarea datelor măsurate este un proces de durată, istovitor, care nu este ușor de automatizat;<br />
procedurile de setare a parametrilor și de măsurare necesită aproape în permanență<br />
intervenția operatorului uman, motiv pentru care nu sunt recomandate pentru utilizare pentru<br />
calibrarea timpul procesului de lucru;<br />
tehnicile de măsurare, cu câteva excepții, sunt special proiectate pentru calibrarea în condiții<br />
de laborator a roboților industriali.<br />
Faza de identificare – necesită aplicarea metodelor numerice. Identificarea parametrilor din<br />
modelul cinematic al unui robot constituie o problemă îndelung studiată, asupra căreia s-au pronunțat o<br />
serie de cercetători prin dezvoltarea de diferite modele și metode de identificare. Procedura de<br />
identificare a parametrilor cinematici este considerată o procedură de optimizare neliniară sau de<br />
optimizare liniară bazată pe metoda celor mai mici pătrate. Totuși, aplicarea acestor metode de<br />
optimizare ridică o serie de probleme cum ar fi de exemplu cea legată de prelucrarea numerică a<br />
datelor obținute cu matricea Jacobiană de identificare. Pentru rezolvarea acestor probleme se<br />
recomandă utilizarea tehnicilor de minimizare cum este de exemplu algoritmul Levenberg – Marquardt.<br />
În vederea determinării legăturii dintre precizia de calibrare și nivelul de zgomot care poate afecta<br />
măsurătorile, se utilizează tehnicile de filtrare Kalman. Procesul de identificare poate fi îmbunătățit prin<br />
utilizarea unor indicatori de tipul celor prezentați mai jos:<br />
• numărul condiționare de al matricei Jacobiene de identificare, care este utilizat în vederea<br />
determinării configurației optime de calibrare pentru orice structură de manipulator;<br />
• indicele de observabilitate util pentru determinarea configurațiilor optime de măsurare<br />
Una din condițiile de determinare a configurațiilor optime de măsurare cu ajutorul indicelui de<br />
observabilitate este aceea conform căreia punctele de măsurare ar trebui să fie dispersate în întreg<br />
spațiul de lucru și să ocupe o suprafață cât mai mare. Această metodă se dovedește a fi utilă mai ales<br />
în cazul roboților care operează în condiții de laborator, unde aceștia pot fi obligați să ocupe diferite<br />
configurații, dar nu și în cazul roboților din mediul industrial unde configurațiile sunt impuse de aplicație,<br />
de spațiul de lucru și echipamentele existente în zona de operare.<br />
Faza de compensare reprezintă ultima fază (și poate cea mai importantă) a procesului de calibrare și<br />
constă în implementarea noului model în softul de comandă al poziției robotului. Deoarece modificarea<br />
parametrilor cinematici, direct în controlerul robotului s-a dovedit a fi o sarcină extrem de dificilă, corecțiile<br />
(compensările) din cuplele robotului se fac pe baza indicațiilor afișate de un codificator și obținute prin<br />
rezolvarea cinematicii inverse a robotului calibrat. Deoarece cinematica inversă a robotului calibrat nu poate<br />
fi rezolvată cu metode analitice, se optează pentru aplicarea algoritmilor numerici, cum este de exemplu<br />
40
41<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
algoritmul Newton Raphson, în vederea determinării corecțiilor care trebuie făcute în cuplele robotului pentru<br />
a compensa erorile din spațiul Cartezian. Această metodă prezintă numeroase dezavantaje mai ales în cazul<br />
compensării on-line, pe de o parte, datorită costurilor ridicate ale sistemului de calcul și pe de altă parte din<br />
cauză că algoritmul nu mai poate fi aplicat în vecinătatea punctelor singulare, metoda fiind bazată pe<br />
inversarea matricei Jacobiene de compensare utilizând metode iterative.<br />
B. Calibrarea neparametrizată mai este cunoscută și sub denumirea de calibrare de ordinul trei.<br />
În cazul calibrării cinematice, se pornește de la presupunerea că toate elementele robotului sunt<br />
rigide, cuplele prezintă o serie de restricții de mișcare (nu permit mișcări nedorite), iar robotul nu este<br />
supus comenzii dinamice. În situația în care aceste presupuneri nu se aplică iar robotul este sub<br />
comandă dinamică, se recomandă calibrarea neparametrizată. După cum s-a menționat anterior,<br />
structurile de roboți pot fi afectați de o serie de erori care țin de geometria robotului, denumite erori<br />
geometrice, dar și de erori a căror cauză este de altă natură, denumite erori non-geometrice. Dintre<br />
sursele care generează aceste erori și care influențează precizia de poziționare a robotului se pot<br />
enumera: elasticitatea cuplei, elasticitatea elementelor cinetice, erorile de transmisie din angrenaje,<br />
efectele termice și jocurile din cuplele robotului. Efectele acestora asupra preciziei de poziționare sunt<br />
evidente, din acest motiv ele trebuie incluse de asemenea în analiză. Însă pentru includerea acestor<br />
factori în analiza, în modelul matematic utilizat de controler pentru poziționarea efectorului final în<br />
spațiul de lucru trebuie efectuate o serie de modificări. Dacă robotul este sub control dinamic, factori<br />
precum viteza unghiulară și liniară precum și accelerația efectorului final trebuie de asemenea incluse în<br />
relația funcțională (de recurență). acest fapt va conduce la creșterea complexității relațiilor recurente<br />
chiar și analiza este simplificată prin considerarea ipotezei rigidității și a absenței frecărilor în cuplele<br />
robotului. Datorită complexității ecuațiilor obținute și a problemelor apărute în timpul modelării, calibrarea<br />
de ordinul trei a fost foarte puțin abordată în literatura de specialitate. Studiile realizate au relevat în<br />
special aportul pe care fiecare dintre factorii non-geometrici enumerați mai sus îl au la eroarea totală. În<br />
urma analizelor teoretice și experimentale efectuate conform se remarcă următoarele concluzii:<br />
• elasticitatea elementelor și a cuplelor cinetice ale robotului contribuie în proporție de 8 – 10%<br />
la eroarea totală de poziționare a efectorului final în spațiul de lucru;<br />
• jocurile din cuple sunt cauzele cele mai greu de identificat, contribuția la eroarea globală 0,5 – 1% ;<br />
• efectele termice constă în dilatarea componentelor robotului, constituind 0,1% din eroarea totală;<br />
Dintre problemele legate de calibrarea neparametrizată, abordate în literatura de specialitate mai<br />
pot fi amintite printre altele problema dinamică abordată conform care prezintă o tehnică de determinare
NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
a parametrilor dinamici ce caracterizează structura rigidă a cărui configurație este cunoscută sau<br />
analiza dinamică a unui robot cu trei grade de libertate, cu comanda în derivație. Această analiză, oferă<br />
o soluție de determinare a forțelor și momentelor necesare pentru comanda robotului astfel încât<br />
acesta să urmeze o traiectorie prestabilită.<br />
1.4.3 Sisteme de calibrare utilizate în practica industrială. Avantajele calibrării<br />
Software<br />
DynaCal<br />
Robot<br />
În continuare vor fi prezentate câteva tipuri de<br />
sisteme de calibrare, dintre cele mai frecvent<br />
utilizate în practica industrială. Pe piață există<br />
Adaptor TCP<br />
numeroase soluții, însă dintre acestea s-au ales<br />
doar cele mai reprezentative (preferate de marii<br />
Cablu<br />
Sistemul de<br />
masurare z y<br />
Dispozitivul de<br />
masurare<br />
producători de roboți). Primul sistem de calibrare<br />
care va fi tratat în cadrul acestui paragraf, a cărui<br />
x<br />
denumire comercială este DynaCal, dezvoltat de<br />
Dispozitivul de fixare<br />
Dynalog Inc. este un sistem utilizat în special<br />
Fig. 1.18 Schema sistemului de calibrare DynaCal<br />
pentru calibrarea celulelor robotizate. Acest<br />
sistem de calibrare are capacitatea de a identifica şi de a utiliza parametrii reali de tip DH ai robotului (inclusiv<br />
unghiul de torsiune “β” care apare în cazul roboţilor cu axe cinematice paralele), în vederea compensării<br />
poziţiilor efectorului final, utilizate în orice program de comandă al robotului. După cum se poate observa din<br />
Fig. 1.18, dispozitivul de măsurare DynaCal îşi defineşte propriul sistem de referinţă cu ajutorul unui adaptor<br />
de precizie ridicată montat pe direcţia de aliniere. Dispozitivul de măsurare utilizează un codificator optic, cu<br />
inerţie redusă şi rezoluţie mare care are rolul de a măsura în mod constant extensia unui cablu, conectat la<br />
sistemul de referinţă ataşat punctului caracteristic (efectorul final) prin intermediul unui adaptor (TCP<br />
adaptor). Rezultatul măsurătorilor efectuate de către codificatorul optic sunt transmise unui computer care<br />
operează cu un soft special, compatibil cu sistemul de operare Windows, cu ajutorul căruia se determină<br />
poziţia relativă dintre sistemul de referinţă ataşat punctului caracteristic al robotului şi sistemul ataşat<br />
dispozitivului de măsurare.<br />
Softul utilizat de sistemul DynaCal prezintă avantajul de a permite calibrarea atât a parametrilor<br />
robotului cât şi a poziţiilor efectorului final sau ale elementelor de fixare utilizate în cadrul celulei<br />
robotizate, iar în final realizează procesul de compensare pentru poziţiile punctului caracteristic utilizate<br />
în cadrul programelor de comandă ale roboţilor industriali.<br />
Totodată, acest soft este compatibil şi cu alte sisteme de măsurare cum ar fi de exemplu Leica<br />
42
43<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
Smart Laser Interferometer System, Metronor Inspection System, Optotrack Camera, Perceptron<br />
Camera, etc. Înainte de calibrarea robotului cu sistemul DynaCal, programatorul trebuie să desfăşoare<br />
un proces de calibrare experimentală în cadrul căruia, cu ajutorul unui program de calibrare special<br />
conceput, efectorul final al robotului (respectiv sistemul de referinţă ataşat în punctul caracteristic) este<br />
trecut printr-o serie de puncte de calibrare, învăţate anterior. În funcţie de precizia impusă de procesul<br />
de lucru, se recomandă să fie luate în considerare cel puţin 30 de puncte de calibrare diferite. De<br />
asemenea, este important ca aceste puncte de calibrare să fie alese astfel încât pentru a le atinge<br />
robotul să fie obligat să efectueze deplasări mari în cuple. Acest lucru este posibil doar dacă pe lângă<br />
deplasarea sistemului ataşat punctului caracteristic al robotului de-a lungul axelor x , y şi z aparținând<br />
sistemului ataşat bazei robotului, se mai impune modificarea orientării sistemului de referinţă din<br />
efectorul final dar şi modificarea configuraţiei robotului. Pe parcursul experimentului de calibrare,<br />
sistemul de măsurare DynaCal determină valorile coordonatelor corespunzătoare efectorului final,<br />
informaţii care sunt transmise mai departe unui soft special spre a fi analizate. După încheierea<br />
procesului de calibrare, în câmpul Parameter File va fi creat un nou fişier care conţine parametrii reali ai<br />
robotului identificaţi în cadrul procesului de calibrare. Softul utilizează parametrii reali colectaţi în timpul<br />
procesului de calibrare în vederea modificării parametrilor generalizaţi din cuplele robotului ce<br />
corespund oricărei poziţii programate a efectorului final (punctului caracteristic) în vederea utilizării<br />
acestora în cadrul procesului de compensare a erorilor (dintre poziţia programată şi cea reală).<br />
A. Calibrarea sistemului de referinţă ataşat sculei, stabilit de către utilizator<br />
Alegerea reperului<br />
in varful sculei de lucru<br />
Adaptor TCP<br />
Alegerea reperului pe<br />
suprafata sculei<br />
de lucru<br />
Sistemul de referinţă ataşat sculei, stabilit de către utilizator<br />
(SU), are rolul de a defini poziţia reală a capătului efectorului<br />
final (sculei ataşate robotului) dar şi de a specifica variaţiile<br />
acestei poziţii pe parcursul procesului de lucru. Defectarea sau<br />
înlocuirea efectorului final va determina modificarea poziţiei<br />
predefinite a capătului sculei utilizată până în acel moment în<br />
înregistrarea coordonatelor punctului caracteristic. Abaterile de<br />
poziție ale punctului caracteristic atașat efectorului final sau<br />
Fig.1.19 Calibrarea efectorului<br />
final cu sistemul DynaCal<br />
sculei de lucru pot să apară și în cazul în care mecanismul de<br />
orientare își modifică orientarea, rotindu-se în jurul axelor unui<br />
sistem de referință implicit stabilit în punctul caracteristic. Aceste<br />
abateri pot constitui o problemă serioasă mai ales în cazul în care programul robotului utilizează poziții ale
NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
punctului caracteristic care sunt generate de un sistem extern de tipul softurilor de simulare sau a<br />
sistemelor de viziune robotizată. Pentru a minimiza sau chiar a elimina aceste erori de poziționare ale<br />
punctului caracteristic, se impune stabilirea și calibrarea sistemului de referință sculă-utilizator având ca<br />
reper capătul sculei/efectorului final utilizat în cadrul aplicației. Această sarcină poate fi realizată prin<br />
utilizarea sistemului robotizat sau a unui sistem de calibrare extern cum este și sistemul DynaCal. În<br />
primul caz (cel al utilizării sistemului robotic), robotul memorează șase poziții diferite ale punctului<br />
caracteristic considerate în raport cu reperul stabilit pe efectorul final și, cu orice alt reper considerat pe<br />
suprafața oricărei scule din spațiul de lucru al robotului, după cum rezultă din analiza Fig.1.19.<br />
Operatorul înregistrează prima poziție ca fiind punctul în care reperul de pe efectorul final vine în<br />
contact cu reperul stabilit pe suprafața sculei. Pentru a înregistra cea de-a doua poziție, operatorul<br />
modifică cu cel puțin 180 o orientarea efectorului final prin rotația în jurul axei în jurul axei x a sistemului de<br />
referință implicit, atașat punctului caracteristic, după care acesta este readus în orientarea inițială. Cea dea<br />
treia poziție este obținută prin rotirea efectorului final în jurul axei y a sistemului de referință implicit.<br />
Celelalte trei poziții sunt înregistrate numai după ce operatorul (programatorul) modifică poziția fiecărei<br />
axe a sistemului de referință, implicit, prin translatarea acestora în lungul axelor corespunzătoare<br />
sistemului atașat bazei fixe a robotului, la mai puțin de 0,30[ m ] de reperul ales pe suprafața sculei.<br />
Sistemul robotic utilizează cele șase poziții înregistrate ale punctului caracteristic, pentru a calcula<br />
poziția reală a sistemului sculă – utilizator (SU), în raport cu reperul ales la nivelul efectorului final.<br />
Poziția reală a sistemului (SU) este salvată în controlerul robotului care o va putea apela în aplicațiile<br />
viitoare ( a se vedea Fig.1.19). Cu toate acestea, există situații care impun recalibrarea sistemului sculăutilizator,<br />
cum este cea generată de coliziunea neașteptată dintre efectorul final / scula robotului și un<br />
obiect din spațiul de lucru, situație în care se impune schimbarea efectorului final ceea ce determină<br />
modificarea sistemului sculă-utilizator stabilit anterior. Pentru a rezolva această problemă și totodată<br />
pentru a evita întreruperea procesului de lucru, unii producători au adăugat sistemelor robotizate furnizate,<br />
o opțiune suplimentară care permite ajustarea online a poziției sistemului sculă-utilizator.<br />
În concluzie, precizia roboților industriali este evaluată prin intermediul erorilor. Precizia este o<br />
caracteristică de performanță care variază în timp, aceasta fiind influențată de anumite modificări care<br />
pot să apară în timp la nivelul structurii mecanice a robotului (deformații ale elementelor datorate<br />
suprasolicitării, jocuri în cuple, uzura, deformații termice, modelarea elementelor elastice, etc.) sau de<br />
erori ale sistemului de comandă și control. Aceste erori care afectează precizia în funcționare a<br />
robotului pot fi compensate prin aplicarea diferitelor metode de calibrare.<br />
44
q ⋅k<br />
i−1 i−1<br />
2. ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR<br />
2.1 Algoritmi utilizați în modelarea geometrică directă a structurilor de roboți<br />
Roboţii industriali sunt structuri mecanice complexe, cu funcționare automată, concepute special<br />
pentru îndeplinirea funcţiilor de manipulare şi de comandă, în cadrul diferitelor procese de lucru. Faţă de<br />
mijloacele clasice de automatizare, aceste structuri prezintă avantajul de a se adapta extrem de rapid la<br />
noile cerinţe ale procesului în care sunt utilizați. Acest avantaj important, precum și gama largă de<br />
aplicații în care pot fi implementați (universalitatea), au determinat creșterea productivității și în paralel<br />
scăderea cheltuielilor de fabricație, fapt evident în cazul producţiei de serie mică şi mijlocie, unde aceste<br />
sisteme sunt utilizate. Structura mecanică a roboţilor industriali constă dintr-o serie de elemente<br />
mecanice (considerate rigide), conectate între ele prin intermediul cuplelor cinematice. În construcția<br />
link i −1 link i<br />
q ⋅k<br />
{ i −1}<br />
i i<br />
{ i}<br />
{ 0}<br />
{ i + 1}<br />
q ⋅k<br />
i+ 1 i+<br />
1<br />
qn ⋅kn<br />
{ n}<br />
Figura 2.1 Reprezentarea schemei cinematice pentru<br />
un robot cu n g.d.l<br />
{ n+ 1}<br />
roboților seriali sunt utilizate cuplele de clasa<br />
a cincea, adică cuplele cu un singur grad de<br />
libertate, în această categorie fiind incluse<br />
cuplele de rotaţie (R) şi de translaţie (T).<br />
Cuplele superioare de clasa a treia sau de<br />
clasa a patra sunt utilizate mai rar datorită<br />
problemelor tehnologice pe care le<br />
întâmpină în preluarea jocurilor dar și a<br />
dificultății de acţionare. Structurile mecanice<br />
complexe la care elementele sunt legate prin<br />
cuple inferioare (de clasa a cincea) și la care<br />
mă voi referi în continuare, pot fi clasificate<br />
în funcție de tipul lanţului cinematic în roboți industriali cu lanț cinematic deschis sau lanţ cinematic<br />
închis. În cazul roboților cu lanţ cinematic deschis elementele şi cuplele formează o structură<br />
arborescentă (în sensul teoriei grafurilor) atunci când cuplele conectează numai două elemente din<br />
succesiunea lor ordinală, în conformitate cu [N05] – [N22].<br />
Într-un lanţ cinematic închis fiecare element prezintă cel puţin două legături. În modelarea<br />
matematică a structurilor mecanice de roboți seriali pentru facilitarea calculului, se recurge la două<br />
ipoteze simplificatoare ipoteza statică şi ipoteza de rigiditate. Ipoteza statică presupune că între
ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />
parametrii geometrici ce caracterizează structura de robot analizată, se poate stabili o relație<br />
matematică prin intermediul unor ecuaţii independente de parametrul timp. Cea de-a doua ipoteză<br />
simplificatoare are la bază premisa conform căreia fiecare element cinetic care intră în alcătuirea<br />
robotului este analizat ca un corp rigid (constituit dintr-un număr finit de componente fizice a căror<br />
poziţie şi orientare se păstrează constantă pe toată durata funcţionării robotului). Fiecare cuplă motoare,<br />
este considerată perfectă sub aspect mecanic (legătură scleronomă şi olonomă).<br />
Pentru modelarea geometrică directă, (MGD), în Fig. 2.1 s-a reprezentat, în formă simbolică, o structură<br />
mecanică cu n g. d. l . Toate cele ( n ) elemente cinetice sunt conectate prin intermediul cuplelor motoare de<br />
clasa a cincea: { R − Rotatie}<br />
; { T Translatie }<br />
− , considerate perfecte, sub aspect mecanic.<br />
2.1.1 Generalități privind matricele de transformare omogenă<br />
Fiecare element cinetic ce intră în alcătuirea structurii mecanice a unui robot poate fi privit ca un<br />
corp supus legăturilor de tip { R , T } . Poziția este definită de cele trei coordonate x, y și z care<br />
reprezintă totodată coordonatele centrului geometric al cuplei motoare atașate elementului respectiv.<br />
Orientarea este descrisă prin intermediul a trei unghiuri notate α, β , respectiv γ denumite și<br />
unghiuri de orientare și care au rolul de a defini rotația rezultantă a fiecărui element față de starea inițială.<br />
Elementele cinetice sunt conectate între ele prin intermediul cuplelor cinematice. Poziția și<br />
orientarea fiecărei cuple la un moment dat determină poziția și orientarea efectorului final.<br />
Pentru a determina situarea (poziția și orientarea) unei cuple, în centrul geometric al fiecărei cuple<br />
se atașează câte un sistem de referință mobil { }<br />
i , a cărui orientare este identică cu cea a sistemului de<br />
referință legat de baza fixă a robotului. Astfel sunt definite poziția și orientarea fiecărui sistem{ }<br />
i față de<br />
sistemul de referință fix { 0 } , respectiv poziția și orientarea fiecărui sistem{ i} față de sistemul { i − 1}<br />
.<br />
Din punct de vedere matematic, poziția și orientarea fiecărei cuple, respectiv a efectorului final pot fi<br />
exprimate cu ajutorul matricelor de transformare omogenă [N22], [K04]. Coordonatele omogene permit,<br />
de asemenea, efectuarea calculelor în spații proiective într-un mod similar cu cel în care coordonatele<br />
carteziene o fac în spaţiul euclidian. Transformările simple ce caracterizează sistemele robotice sunt<br />
rotația și translația. Matricea de transformare omogenă este definită conform expresiei de mai jos, astfel:<br />
unde, ( )<br />
R k θ<br />
( )<br />
⎡R k, θ = transformarea de rotatie p ⎤<br />
[ T ] = ⎢ ⎥<br />
⎢ Transformare de perspectiva w⎥<br />
⎣ ⎦<br />
46<br />
(2.1)<br />
, reprezintă o matrice ( 3× 3)<br />
ce caracterizează rotația unui sistem, în jurul uneia din
. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
cele trei axe k = { x, y, z}<br />
cu un unghi oarecare θ . Această matrice poartă denumirea de matrice de<br />
rotație sau de orientare, fiind determinată conform [N21] și definită prin intermediul expresiilor matriceale:<br />
⎧ ⎡1 ⎪<br />
R( ki, θi ) = R( xi, θ ) ⎢<br />
⎨ i = 0<br />
⎢<br />
⎪<br />
⎩ ⎢⎣ 0<br />
0<br />
cθi sθi 0 ⎤ ⎡ cθi − sθ ⎥<br />
i , R( yi, θi ) = ⎢ 0<br />
⎥ ⎢<br />
cθi ⎥⎦ ⎢⎣ −sθi 0<br />
1<br />
0<br />
sθi ⎤ ⎡cθi 0 ⎥, R( zi, θi ) = ⎢sθi ⎥ ⎢<br />
cθi ⎥⎦ ⎢⎣ 0<br />
−sθi cθi 0<br />
0⎤⎫<br />
⎪<br />
0⎥<br />
⎥<br />
⎬.<br />
(2.2)<br />
1⎥⎦<br />
⎪<br />
⎭<br />
În cadrul aceleiași expresii (2.1), p reprezintă transformarea de poziție și este o matrice ( 3× 1)<br />
ce<br />
conține coordonatele centrului geometric al fiecărui element cu proiecții pe sistemul { 0 } sau { i − 1}<br />
.<br />
Transformarea de perspectivă, reprezintă un vector linie ale cărui componente sunt nule:<br />
( 0 0 0 ) iar w reprezintă factorul de scară care în acest caz ia valoarea w = 1 .<br />
Matricele de transformare omogenă sunt utilizate cu predilecție în domeniul graficii asistate pentru a<br />
defini diferitele tipuri de transformări 3D (translație, rotație, perspectivă, scalare, etc) dar și în domeniul<br />
roboticii în determinarea transformărilor de poziție și orientare care apar între sistemele de referință atașate<br />
fiecărei cuple a robotului și a modului în care acestea influențează situarea efectorului final în spațiul de<br />
lucru (matricea de transformare rezultantă). Conform [N21], matricea de transformare rezultantă este<br />
alcătuită dintr-o matrice de rotație rezultantă și o translație rezultantă și se obține prin înmulțirea tuturor<br />
transformărilor elementare în sensul efectuării lor (rotații în jurul axelor mobile), respectiv în sens invers<br />
(rotații în jurul axelor mobile). În acest caz, expresia generală (2.1), devine:<br />
n ⎡ 0 i−1 n n[ R] i [ R] 0 i−1 ⎢ = ∏<br />
n[ T ] = ∏ i [ T ] = ⎢ i= 1<br />
i= 1 ⎢ 0 0 0<br />
⎣<br />
⎤<br />
pn<br />
⎥<br />
⎥ .<br />
1 ⎥<br />
⎦<br />
(2.3)<br />
Pentru simplificarea calculului, în cadrul tezei s-a elaborat o aplicație soft de determinare a<br />
modelului geometric direct pentru structurile de roboți seriali. Schema logică de citire a matricei de<br />
transformare omogenă este prezentat în detaliu în Figura 2.2.<br />
În conformitate cu [C03], [N22] prin combinarea celor trei rotații simple prezentate în cadrul<br />
expresiei (2.2) rezultă 12 tipuri de matrice de orientare. Fiecare dintre aceste matrice este o funcție de<br />
trei parametri independenți aparținând vectorului orientare notat cu ψ = ⎡⎣ α A βB γC<br />
⎤⎦<br />
unde,<br />
{ , , } ; { , , } ; { , , }<br />
A = x y z B = y z x C = z x y . (2.4)<br />
Cele douăsprezece seturi de unghiuri sunt necunoscute și trebuie determinate. Valorile lor depind<br />
de axele în jurul cărora au loc rotațiile precum și de ordinea efectuării acestor transformări. În tabelele<br />
de mai jos sunt prezentate în formă generalizată, expresiile de definiție pentru matricele de rotație<br />
rezultantă, corespunzătoare fiecăruia dintre cele 12 seturi de unghiuri precum și cele de determinare a<br />
unghiurilor de orientare, pentru cele două cazuri: rotații în jurul axelor fixe și rotații în jurul axelor mobile.<br />
47<br />
T
ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />
a =<br />
[ ] − [ ] [ ] − [ ] [ ] − [ ]<br />
T<br />
⎣⎡ pn+ 1 0,0 pn 0,0 pn+ 1 1,0 pn 1,0 pn+ 1 2,0 pn 2,0 ⎦⎤<br />
2<br />
( p [ 0,0] − p [ 0,0] ) + ( p [ 1,0] − p [ 1,0]<br />
) + ( p [ 2,0] − p [ 2,0]<br />
)<br />
2 2<br />
n+ 1 n n+ 1 n<br />
n+ 1 n<br />
T<br />
s = k n + 1<br />
⎡ 0<br />
{ s× } = ⎢ s[ 2,0] ⎢<br />
⎣−s[ 1,0] −s[<br />
2,0] 0<br />
s[ 0,0] n = s× a<br />
s[ 1,0]<br />
⎤<br />
−s[<br />
0,0]<br />
⎥<br />
⎥<br />
0 ⎦<br />
[ ] [ ] [ ] ( ) [ ]<br />
[ ] [ ] [ ] ( ) [ ]<br />
[ ] [ ] [ ] ( ) [ ]<br />
⎡n 0,0 s 0,0 a 0,0 p 0,0 ⎤<br />
⎢ ⎥<br />
= ⎢<br />
n 1,0 s 1,0 a 1,0 p 1,0<br />
⎥<br />
⎢n 2,0 s 2,0 a 2,0 p 2,0 ⎥<br />
⎢<br />
⎣ 0 0 0 1 ⎥<br />
⎦<br />
0<br />
n+ 1<br />
0<br />
( 0) n+ 1<br />
n+ 1 0 0<br />
n+ 1<br />
Figura 2.2 Algoritmul de citire al matricelor de transformare omogenă<br />
48
. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
Tipul matricei Expresia de definiţie<br />
( x − y − z )<br />
( z − y − x )<br />
R γ β α<br />
R α β γ<br />
R<br />
R<br />
Restricţii<br />
49<br />
Tabelul 2.1<br />
⎡cαz ⋅cβy cαz ⋅sβy ⋅sγ x −sα z ⋅cγ x cαz ⋅sβy ⋅ cγ x + sαz ⋅sγ<br />
x ⎤<br />
⎢ ⎥<br />
R( z, αx ) ⋅R( y, βy ) ⋅ R( x, γx ) = ⎢sαz ⋅cβy sαz ⋅sβy ⋅ sγ x + cαz ⋅cγ x sαz ⋅sβy ⋅cγ x −cα z ⋅sγ<br />
x ⎥<br />
⎢ ⎥<br />
⎢⎣ −sβy cβy ⋅sγ x cβy ⋅cγ<br />
x ⎥⎦<br />
⎛ β<br />
γ ix ∈( − 1, 1)<br />
tan ix α ⎞<br />
A 2 , ix<br />
⎜ ⎟<br />
⎜ cβy cβ<br />
⎟<br />
⎝ y ⎠<br />
γ = ± 1<br />
0<br />
ix<br />
α z<br />
Expresiile unghiurilor de orientare<br />
β y<br />
γ x<br />
⎛ γ iy γ ⎞<br />
Arc sin( − γ ix )<br />
Atan 2 , iz<br />
⎜ ⎟<br />
⎜ cβy cβ<br />
⎟<br />
⎝ y ⎠<br />
π<br />
⎛ α ⎞<br />
∓ Atan 2 , iz<br />
⎜ −βiz<br />
⎟<br />
2<br />
⎜ sβ<br />
⎟<br />
⎝ y ⎠<br />
Tipul matricei Expresia de definiţie<br />
( x − y − x )<br />
( x − y − x )<br />
R γ β α<br />
R α β γ<br />
Restricţii<br />
( , ) ( , ) ( , )<br />
Tabelul 2.2<br />
⎡ cβy sβy ⋅sγ x sβy ⋅cγ<br />
x ⎤<br />
⎢ ⎥<br />
α ⋅ β ⋅ γ = ⎢ α ⋅ β − α ⋅ β ⋅ γ + α ⋅ γ − α ⋅ β ⋅ γ − α ⋅ γ ⎥<br />
⎢ ⎥<br />
⎢⎣ −cα x ⋅sβy cαx ⋅cβy ⋅ sγ x + sαx ⋅cγ x cαx ⋅cβy ⋅cγ x −sα x⋅sγ x ⎥⎦<br />
R x x R y y R x x s x s y s x c y s x c x c x s x c y c x c x s x<br />
⎛ β<br />
αix ∈( − 1, 1)<br />
tan ix γ ⎞<br />
A 2 , ix<br />
⎜ − ⎟<br />
⎜ sβy sβ<br />
⎟<br />
⎝ y ⎠<br />
α ix = ± 1<br />
tan ( iy , iy )<br />
α x<br />
Expresiile unghiurilor de orientare<br />
β y<br />
γ x<br />
Arc cos( α ix )<br />
⎛ αiy α ⎞<br />
Atan 2 , iz<br />
⎜ ⎟<br />
⎜ sβy sβ<br />
⎟<br />
⎝ y ⎠<br />
A 2 γ β ± π<br />
0<br />
Tipul matricei Expresia de definiţie<br />
( γ x − βz −α<br />
x )<br />
( α − β −γ<br />
)<br />
x z x<br />
Restricţii<br />
Tabelul 2.3<br />
⎡ cβz −sβz ⋅cγ x sβz ⋅sγ<br />
x ⎤<br />
⎢ ⎥<br />
R( x, αx ) ⋅R( z, βz ) ⋅ R( x, γx ) = ⎢cαx ⋅sβz cαx ⋅cβz ⋅cγ x −sα x ⋅sγ x −cαx ⋅cβz ⋅sγ x −sα x ⋅cγ<br />
x ⎥<br />
⎢ ⎥<br />
sα ⋅sβ sα ⋅cβ ⋅ cγ + cα ⋅sγ −sα ⋅cβ ⋅ sγ + cα ⋅cγ<br />
⎛ γ<br />
αix ∈( − 1, 1)<br />
tan ix β<br />
A 2 , ix ⎞<br />
⎜ ⎟<br />
⎝ sβz sβz<br />
⎠<br />
ix<br />
⎣ x z x z x x x x z x x x ⎦<br />
Expresiile unghiurilor de orientare<br />
α x<br />
β z<br />
γ x<br />
⎛ α αiy<br />
Arc cos( α ix )<br />
Atan 2 iz ⎞<br />
⎜ , − ⎟<br />
⎝ sβz sβz<br />
⎠<br />
α = ± 1<br />
Atan 2( − β , γ )<br />
± π<br />
0<br />
iz iz
ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />
R<br />
R<br />
R<br />
R<br />
Tipul matricei Expresia de definiţie<br />
( γ x − βz −α<br />
y )<br />
( αy − βz −γ<br />
x )<br />
Restricţii<br />
( , ) ( , ) ( , )<br />
50<br />
Tabelul 2.4<br />
⎡ cαy ⋅cβz −cαy ⋅sβz ⋅ cγ x + sαy ⋅sγ x cαy ⋅sβz ⋅ sγ x + sαy ⋅cγ<br />
x ⎤<br />
⎢ ⎥<br />
y ⋅ z ⋅ x = ⎢ z z ⋅ x − z ⋅ x ⎥<br />
⎢ ⎥<br />
⎢⎣ −sαy ⋅cβz sαy ⋅sβz ⋅ cγ x + cαy ⋅sγ x −sαy ⋅sβz ⋅ sγ x + cαy ⋅cγ<br />
x ⎥⎦<br />
R y α R z β R x γ sβ cβ cγ cβ sγ<br />
⎛ γ<br />
βix ∈( − 1, 1)<br />
tan ix α<br />
A 2 , ix ⎞<br />
⎜ − ⎟<br />
⎝ cβz cβz<br />
⎠<br />
ix<br />
Expresiile unghiurilor de orientare<br />
α y<br />
β z<br />
γ x<br />
Arc sin( β ix )<br />
⎛ β βiy<br />
Atan 2 iz ⎞<br />
⎜ − , ⎟<br />
⎝ cβz cβz<br />
⎠<br />
β = ± 1<br />
Atan 2( α , γ )<br />
± π / 2<br />
0<br />
iz iz<br />
Tipul matricei Expresia de definiţie<br />
R<br />
R<br />
( γ y − βz −α<br />
x )<br />
( αx − βz − γ y )<br />
Restricţii<br />
( , ) ( , ) ( , )<br />
Tabelul 2.5<br />
⎡ cβz ⋅cγ y −sβz cβz ⋅sγ<br />
y ⎤<br />
⎢ ⎥<br />
x ⋅ z ⋅ y = ⎢ x ⋅ z ⋅ y + x ⋅ y x ⋅ z x ⋅ z ⋅ y − x ⋅ y ⎥<br />
⎢ ⎥<br />
⎢⎣ sαx ⋅sβz ⋅cγ y − cαx ⋅sγ y sαx ⋅cβz sα x ⋅sβz ⋅ sγ y + cαx ⋅cγ<br />
y ⎥⎦<br />
R x α R z β R y γ cα sβ cγ sα sγ cα cβ cα sβ sγ sα cγ<br />
⎛ iy iy ⎞<br />
αiy ∈( − 11 ; )<br />
Atan 2⎜ , ⎟<br />
⎝ cβz cβz<br />
⎠<br />
Expresiile unghiurilor de orientare<br />
α x<br />
z β γ y<br />
γ β<br />
⎛ γ<br />
α iy = ± 1<br />
tan ix β<br />
A 2 , ix ⎞<br />
⎜ ⎟<br />
⎝ sβz sβz<br />
⎠<br />
( − )<br />
Arc sin αiy<br />
Tipul matricei Expresia de definiţie<br />
( γ y − βz −α<br />
y )<br />
( αy − βz − γ y )<br />
Restricţii<br />
( , ) ( , ) ( , )<br />
⎛ α<br />
tan iz α<br />
A 2 , ix ⎞<br />
⎜ ⎟<br />
⎝ cβz cβz<br />
⎠<br />
∓ π / 2<br />
0<br />
Tabelul 2.6<br />
⎡ cαy ⋅cβz ⋅cγ y −sα y ⋅sγ y −cαy ⋅sβz ⋅ cαy ⋅cβz ⋅ sγ y + sαy ⋅cγ<br />
y ⎤<br />
⎢ ⎥<br />
y ⋅ z ⋅ y = ⎢ z ⋅ y z z ⋅ y ⎥<br />
⎢ ⎥<br />
⎢⎣ −sαy ⋅cβz ⋅cγ y −cα y ⋅sγ y sαy ⋅sβz −sαy ⋅cβz ⋅ sγ y + cαy ⋅cβz<br />
⎥⎦<br />
R y α R z β R y γ sβ cγ cβ sβ sγ<br />
⎛ iy iy ⎞<br />
βiy ∈( − 11 ; ) Atan 2⎜ , − ⎟<br />
⎝ sβz sβz<br />
⎠<br />
Expresiile unghiurilor de orientare<br />
α y<br />
z β γ y<br />
γ α<br />
β iy = ± 1<br />
Atan 2( iz , iz / c z )<br />
Arc cos( β iy )<br />
⎛ β<br />
tan iz β<br />
A 2 , ix ⎞<br />
⎜ ⎟<br />
⎝ sβz sβz<br />
⎠<br />
α γ β ± π<br />
0
. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
R<br />
R<br />
R<br />
R<br />
R<br />
R<br />
Tipul matricei<br />
( γ y − βx −α<br />
z )<br />
( αz − βx − γ y )<br />
Restricţii<br />
( , ) ( , ) ( , )<br />
Expresia de definiţie<br />
51<br />
Tabelul 2.7<br />
⎡−sαz ⋅sβx ⋅ sγ y + cαz ⋅cγ y −sαz ⋅cβx sαz ⋅sβx ⋅ cγ y + cαz ⋅sγ<br />
y ⎤<br />
⎢ ⎥<br />
z ⋅ x ⋅ y = ⎢ z ⋅ x ⋅ y + z ⋅ y z ⋅ x − z ⋅ x ⋅ y + z ⋅ y ⎥<br />
⎢ ⎥<br />
⎢⎣ −cβx ⋅sγ y sβx cβx ⋅cγ<br />
y ⎥⎦<br />
R z α R x β R y γ cα sβ sγ sα cγ cα cβ cα sβ cγ sα sγ<br />
⎛ iy iy ⎞<br />
γ iy ∈( − 11 ; ) Atan 2⎜<br />
− , ⎟<br />
⎝ cβx cβx<br />
⎠<br />
Expresiile unghiurilor de orientare<br />
α z<br />
x β γ y<br />
α β<br />
γ iy = ± 1<br />
tan ( ix , ix )<br />
Arc sin( γ iy )<br />
⎛ γ<br />
tan ix γ<br />
A 2 , iz ⎞<br />
⎜ − ⎟<br />
⎝ cβx cβx<br />
⎠<br />
A 2 β α ± π / 2<br />
0<br />
Tipul matricei Expresia de definiţie<br />
( γ z − βx −α<br />
y )<br />
( αy − βx − γ z )<br />
Restricţii<br />
( , ) ( , ) ( , )<br />
Tabelul 2.8<br />
⎡sαy ⋅sβx ⋅ sγ z + cαy ⋅cγ z sαy ⋅sβx ⋅cγ z −cα y ⋅sγ z sαy ⋅cβx<br />
⎤<br />
⎢ ⎥<br />
y ⋅ x ⋅ z = ⎢ x ⋅ z x ⋅ z − x ⎥<br />
⎢ ⎥<br />
⎢⎣ cαy ⋅sβx ⋅sγ z − sαy ⋅cγ z cαy ⋅sβ x⋅ cγ z + sαy ⋅sγ z cαy ⋅cβx<br />
⎥⎦<br />
R y α R x β R z γ cβ sγ cβ cγ sβ<br />
⎛ α<br />
βiz ∈( − 11 ; )<br />
tan iz γ<br />
A 2 , iz ⎞<br />
⎜ ⎟<br />
⎝ cβx cβx<br />
⎠<br />
iz<br />
Expresiile unghiurilor de orientare<br />
α y<br />
x β γ z<br />
( − )<br />
Arc sin βiz<br />
⎛ β βiy<br />
Atan 2 ix ⎞<br />
⎜ , ⎟<br />
⎝ cβx cβx<br />
⎠<br />
β = ± 1<br />
Atan 2( − γ , α )<br />
∓ π / 2<br />
0<br />
ix ix<br />
Tipul matricei Expresia de definiţie<br />
( γ z − βx −α<br />
y )<br />
( αy − βx − γ z )<br />
Restricţii<br />
( , ) ( , ) ( , )<br />
Tabelul 2.9<br />
⎡sαy ⋅sβx ⋅ sγ z + cαy ⋅cγ z sα y ⋅sβx ⋅cγ z −cα y ⋅sγ z sα y ⋅cβx<br />
⎤<br />
⎢ ⎥<br />
y ⋅ x ⋅ z = ⎢ x ⋅ z x ⋅ z − x ⎥<br />
⎢ ⎥<br />
⎢⎣ cαy ⋅sβx ⋅sγ z −sα y ⋅cγ z cαy ⋅sβ x⋅ cγ z + sαy ⋅sγ z cαy ⋅cβx<br />
⎥⎦<br />
R y α R x β R z γ cβ sγ cβ cγ sβ<br />
⎛ α<br />
βiz ∈( − 11 ; )<br />
tan iz γ<br />
A 2 , iz ⎞<br />
⎜ ⎟<br />
⎝ cβx cβx<br />
⎠<br />
iz<br />
Expresiile unghiurilor de orientare<br />
α y<br />
x β γ z<br />
( − )<br />
Arc sin βiz<br />
⎛ β βiy<br />
Atan 2 ix ⎞<br />
⎜ , ⎟<br />
⎝ cβx cβx<br />
⎠<br />
β = ± 1<br />
Atan 2( − γ , α )<br />
∓ π / 2<br />
0<br />
ix ix
ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />
Tipul matricei Expresia de definiţie<br />
R<br />
R<br />
( γ z − βx −α<br />
z )<br />
( α − β − γ )<br />
z x z<br />
Restricţii<br />
( , ) ( , ) ( , )<br />
52<br />
Tabelul 2.10<br />
s c s c c s c c c s s s<br />
⎡− αz ⋅ βx ⋅ γz + αz ⋅ γz − αz ⋅ βx ⋅ γz − αz ⋅ γz αz ⋅ βx<br />
⎤<br />
⎢ ⎥<br />
z ⋅ x ⋅ z = ⎢ z ⋅ x ⋅ z + z ⋅ z z ⋅ x ⋅ z − z ⋅ z − z ⋅ x ⎥<br />
⎢ ⎥<br />
⎣ sβx ⋅sγ z sβx ⋅cγ<br />
z cβx<br />
⎦<br />
R z α R x β R z γ cα cβ sγ sα cγ cα cβ cγ sα sγ cα sβ<br />
⎛ α<br />
γ iz ∈( − 11 ; )<br />
tan iz β<br />
A 2 , iz ⎞<br />
⎜ − ⎟<br />
⎝ sβx sβx<br />
⎠<br />
iz<br />
Expresiile unghiurilor de orientare<br />
α z<br />
x β γ z<br />
Arc cos( γ iz )<br />
⎛ γ γ iy<br />
Atan 2 ix ⎞<br />
⎜ , ⎟<br />
⎝ sβx sβx<br />
⎠<br />
γ = ± 1<br />
Atan 2( β , α )<br />
± π<br />
0<br />
ix ix<br />
Tipul matricei Expresia de definiţie<br />
R<br />
R<br />
( γ z − βy −α<br />
z )<br />
( αz − βy − γ z )<br />
Restricţii<br />
( , ) ( , ) ( , )<br />
Tabelul 2.11<br />
⎡cαz ⋅cβy ⋅cγ z −sα z ⋅sγ z −cα z ⋅cβy ⋅sγ z −sα z ⋅cγ z cαz ⋅sβy<br />
⎤<br />
⎢ ⎥<br />
z ⋅ y ⋅ z = ⎢ z ⋅ y ⋅ z + z ⋅ z − z ⋅ y ⋅ z + z ⋅ z z ⋅ y ⎥<br />
⎢ ⎥<br />
⎢⎣ −sβy ⋅cγ z sβy ⋅sγ<br />
z cβy<br />
⎥⎦<br />
R z α R y β R z γ sα cβ cγ cα sγ sα cβ sγ cα cγ sα sβ<br />
⎛ β<br />
γ iz ∈( − 1, 1)<br />
tan iz α ⎞<br />
A 2 , iz<br />
⎜ ⎟<br />
⎜ sβy sβ<br />
⎟<br />
⎝ y ⎠<br />
Expresiile unghiurilor de orientare<br />
α z<br />
β y<br />
γ z<br />
Arc cos( γ iz )<br />
γ iz = ± 1<br />
Atan 2( − αiy , βiy<br />
)<br />
π<br />
Tipul matricei Expresia de definiţie<br />
R<br />
R<br />
( γ z − βy −α<br />
x )<br />
( αx − βy − γ z )<br />
Restricţii<br />
( , ) ( , ) ( , )<br />
⎛ γ iy γ ⎞<br />
Atan 2 , ix<br />
⎜ − ⎟<br />
⎜ sβy sβ<br />
⎟<br />
⎝ y ⎠<br />
± 0<br />
Tabelul 2.12<br />
⎡ cβy ⋅cγ z −cβy ⋅sγ<br />
z sβy<br />
⎤<br />
⎢ ⎥<br />
x ⋅ y ⋅ z = ⎢ x ⋅ y ⋅ z + x ⋅ z − x ⋅ y ⋅ z + x ⋅ z − x ⋅ y ⎥<br />
⎢ ⎥<br />
⎢⎣ −cα x ⋅sβy ⋅ cγ z + sαx ⋅sγ z cαx ⋅sβy ⋅ sγ z + sαx ⋅cγ z ⋅ cαx ⋅cβy<br />
⎥⎦<br />
R x α R y β R z γ sα sβ cγ cα sγ sα sβ sγ cα cγ sα cβ<br />
αiz ∈( − 1, 1)<br />
⎛ β<br />
tan iz γ ⎞<br />
A 2 , iz<br />
⎜ − ⎟<br />
⎜ cβy cβ<br />
⎟<br />
⎝ y ⎠<br />
α iz = ± 1<br />
tan ( iy , iy )<br />
Expresiile unghiurilor de orientare<br />
α x<br />
β y<br />
γ z<br />
Arc sin( α iz )<br />
⎛ αiy α ⎞<br />
Atan 2 , ix<br />
⎜ − ⎟<br />
⎜ cβy cβ<br />
⎟<br />
⎝ y ⎠<br />
A 2 γ β ± π / 2<br />
0
. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
În vederea determinării celor douăsprezece seturi de unghiuri s-a elaborat și în acest caz o schemă<br />
logică care va fi ulterior utilizată pentru realizarea unei aplicații software de modelare geometrică a<br />
structurilor de roboți seriali. Algoritmul de determinare a celor 12 seturi de unghiuri este prezentat în<br />
Figura 2.3. În conformitate cu [N05] – [N22], în determinarea unghiurilor de rotație, pentru toate cele<br />
douăsprezece matrice de orientare, se pornește de la următoarea identitate matriceală:<br />
⎧⎪ R(<br />
γ C − βB −α<br />
A ) ⎫⎪<br />
0<br />
⎨ ⎬ = i [ R] = [ xi ⎪⎩ R(<br />
α A − βB −γ<br />
C ) ⎪⎭<br />
yi ⎡α ix<br />
zi<br />
] = ⎢βix ⎢<br />
⎢⎣ γ ix<br />
αiy βiy γ iy<br />
αiz<br />
⎤<br />
β ⎥<br />
iz ;<br />
⎥<br />
γ iz ⎥⎦<br />
(2.5)<br />
A = x, y, z ; B = y, z, x ; C = z, x, y .<br />
unde { } { } { }<br />
Astfel, fiecare element al matricei din membrul stâng al ecuației (2.5) este identificat cu elementul<br />
corespunzător din fiecare dintre matricele prezentate în Tabelul 2.1 – Tabelul 2.12, rezultând astfel expresiile<br />
0<br />
pentru unghiurile de orientare. Se menționează faptul că matricea i [ R ] a fost determinată anterior utilizând<br />
unul dintre algoritmii modelării geometrice directe (MGD), care vor fi prezentați în paragraful următor.<br />
2.1.2 Algoritmul matricelor de situare în modelarea geometrică directă<br />
Ecuaţiile geometriei directe (ecuaţiile MGD) se pot determina prin aplicarea matricelor de situare<br />
luând în considerare un număr minim al restricţiilor de natură geometrică sau mecanică. Astfel că față<br />
de alți algoritmi de modelare geometrică, algoritmul matricelor de situare prezintă un avantaj major, mai<br />
ales în ceea ce priveşte calculul matematic. Aplicarea algoritmului matricelor de situare, dezvoltat în<br />
cadrul [N22], cuprinde două etape principale:<br />
I. Prima parte a algoritmului se referă la stabilirea ecuaţiilor geometriei directe<br />
(ecuaţiile MGD) corespunzătoare configuraţiei iniţiale a robotului.<br />
În vederea aplicării algoritmului, în prima fază, conform [N22], se parcurg etapele descrise mai jos:<br />
1. Pentru început se stabilește tipul structurii de robot supusă analizei. Conform celor menționate<br />
anterior, structura de robot analizată are în componența sa, fie numai cuple de rotație, fie numai<br />
cuple de translație sau o combinație între cele două: { 3R; RTTR; RRTR; 5R; RTT3R; 6R .... } .<br />
2. În continuare, utilizând datele de intrare din matricea geometriei nominale în configuraţia<br />
iniţială, notată cu<br />
( 0)<br />
vn<br />
M și anume, poziția<br />
i−1 53<br />
( 0) T<br />
ii 1<br />
p − respectiv orientarea<br />
( 0) T<br />
i<br />
k fiecărei cuple<br />
cinematice în raport cu cupla anterioară , se stabilește schema cinematică a robotului supus<br />
analizei, pentru configurația de zero:<br />
T<br />
( 0) i−1 ( 0) T ( 0) T<br />
Mvn = ⎡<br />
⎣ pii 1 k ⎤<br />
− i ⎦ , unde i = 1→ n+ 1<br />
(2.6)
ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />
[ ] [ ] ⎡ 0 −k 3 k [ ] [ 2]<br />
⎤<br />
⎢ [ ] ⎥<br />
⎢<br />
0 1<br />
⎥<br />
⎢− [ ][ ] [ ]<br />
⎣ k [ ] ⎥<br />
A k<br />
i 2 A 1 0<br />
i<br />
⎦<br />
A i A i<br />
{ kA[ ] × } = kA[ ] [ ] −<br />
i i 3<br />
kA[<br />
i]<br />
( ) [ ]<br />
2<br />
( kA[ ] , α A[ ] ) = + { kA[ ] × } ⋅ − ( α A[<br />
] ) + { kA<br />
× } α<br />
i i 3 i 1 cos i<br />
i sin A[<br />
i]<br />
R I<br />
⎡ 0 −k<br />
[ ] [ 3] k [ ] [ 2]<br />
⎤<br />
× = ⎢ 3 [ 1]<br />
⎥<br />
⎢− [ ] [ ] [ ] [ ] ⎥<br />
⎣ kB k<br />
i 2 B 0<br />
i 1 ⎦<br />
B i B i<br />
{ kB[<br />
] } kB[ ] [ ] 0 −k<br />
i<br />
i B[<br />
i]<br />
( ( ) ) [ ]<br />
( )<br />
2<br />
( [ ] [ ] ) { [ ] } β<br />
B , βB = + B × ⋅ − B[<br />
] + { B × } β<br />
i i 3 1 cos i i sin i B[<br />
i]<br />
R k I k k<br />
⎡ 0 −k<br />
[ ][ 3] k [ ] [ 2]<br />
⎤<br />
= ⎢ 3 [ 1]<br />
⎥<br />
⎢− [ ] [ ] [ ][ ] ⎥<br />
⎣ kC k<br />
i 2 C 0<br />
i 1 ⎦<br />
C i C i<br />
{ kC[ ] × } kC[ ][ ] 0 −k<br />
i i C[<br />
i]<br />
( ) [ ]<br />
( )<br />
2<br />
( kC[ ] , γ C[ ] ) = + { kC[ ] × } ⋅ − ( γ C[<br />
] ) + { kC<br />
× } γ<br />
i i 3 i 1 cos i<br />
i sin C[<br />
i]<br />
R I<br />
T<br />
( )<br />
T<br />
( )<br />
T<br />
( )<br />
k x = 1 0 0<br />
k y = 0 1 0<br />
k = 0 0 1<br />
( )<br />
( α A[ ] − βB[ ] − γ C[ ] ) = ( kA[ ] , α A[ ] ) ⋅ ( kB[ ] , βB[ ] ) ⋅ kC[<br />
] , γ<br />
i i i i i i i i C[<br />
i]<br />
R R R R<br />
z<br />
[ ]<br />
[ ]<br />
[ ]<br />
A = x x x x y y y y z z z z<br />
B = y y z z z z x x x x y y<br />
C = z x x y x y y z y z z x<br />
= ( ( α A[ ] − β [ ] − γ<br />
i B i C[<br />
i]<br />
)[ ][ ] )<br />
lungmin lungime R 0 0<br />
> ( ( α A[ ] − β [ ] − γ<br />
i B i C[<br />
i]<br />
)[ ][ ] )<br />
lungmin lungime R l m<br />
= ( ( α A[ ] − β [ ] − γ<br />
i B i C[<br />
i]<br />
)[ ][ ] )<br />
lungmin lungime R<br />
lin[ i ] =l col [ i ] =m<br />
l m<br />
( )<br />
54<br />
R<br />
( α A[ ] − β [ ] − γ<br />
i B i C[<br />
i]<br />
)<br />
lin[ i] col[ i]<br />
Figura 2.3 Algoritmul pentru determinarea a celor 12 seturi de unghiuri de orientare
. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
3. Schema cinematică a robotului este reprezentată în configuraţia iniţială (configuraţia de zero):<br />
( 0)<br />
[ ] T<br />
q<br />
θ = = 0; i = 1 → n . (2.7)<br />
i<br />
Figura 2.4 Reprezentarea parametrilor de situare<br />
4. Corespunzător configuraţiei iniţiale a structurii mecanice de robot se stabilesc matricele:<br />
( 0 { )<br />
i } ; Ri i−1 ; Ti i− 1 ; Ti0 , unde i = 1 → n + 1 . (2.8)<br />
În centrul geometric al fiecărei cuple motoare se ataşează sistemul mobil<br />
55<br />
{ ( 0)<br />
}<br />
i . Orientarea acestui<br />
sistem este identică cu orientarea sistemului de referinţă ales la nivelul bazei robotului, adică:<br />
( 0)<br />
{ i } { 0 }<br />
OR OR<br />
≡ . Această restricţie reprezintă un avantaj important oferit de acest algoritm în sensul că,<br />
pentru configurația inițială, matricea de rotaţie respectiv vectorul de poziţie dintre două sisteme de referinţă<br />
învecinate { i −1} → { i } se determină în conformitate cu următoarele expresii:<br />
i−1 ( 0) ( 0) ( 0) ( 0)<br />
i i−1 3; i0 3; i i−1 ii−1 i i−1 R = I R = I p = p = p − p . (2.9)<br />
Expresiile (2.9), servesc la stabilirea matricelor de transformare omogenă dintre sistemele<br />
{ i −1} → { i}<br />
respectiv { 0} { i}<br />
→ , care poartă denumirea de matrice de situare, deoarece înglobează<br />
atât orientarea cât și poziția fiecărui sistem în raport cu sistemul anterior respectiv în raport cu sistemul<br />
de referință fix,. Matricele de situare, conform [N22] sunt definite sub următoarea formă:<br />
Similar, pentru i n 1<br />
T<br />
n+ 1n<br />
elementul i −1 elementul i<br />
q ⋅k<br />
i−1 i−1<br />
{ i− 1}<br />
qi ⋅ki<br />
i 1<br />
{} i<br />
( ) ( )<br />
⎡ i−1 0 0<br />
Ri i 1 p ⎤ ⎡<br />
i i 1 Ri 0 p ⎤<br />
− −<br />
i 0<br />
Ti i−1 = ⎢ ⎥ ; Ti<br />
0 = ⎢ ⎥ . (2.10)<br />
⎢⎣ 0 0 0 1 ⎥⎦ ⎢⎣ 0 0 0 1 ⎥⎦<br />
= + , matricele de situare dintre sistemele{ n} { n 1}<br />
( 0) ( 0) ( 0) n ( 0)<br />
⎡n s a p ⎤<br />
n+ 1n<br />
= ⎢ ⎥ ;<br />
⎢⎣ 0 0 0 1 ⎥⎦<br />
r<br />
i−1<br />
ii−1<br />
p −<br />
pi<br />
{ i+ 1}<br />
p +<br />
i 1<br />
pn<br />
q ⋅k<br />
p +<br />
i+ 1 i+<br />
1<br />
n 1<br />
qn ⋅kn<br />
{ n}<br />
{ n+ 1}<br />
→ + şi { 0} → { n + 1}<br />
sunt:<br />
( 0) ( 0) ( 0) ( 0)<br />
⎡ ⎤<br />
n s a p<br />
Tn+ 10 = Tn0 ⋅ Tn+<br />
1n = ⎢ 0 0 0 1 ⎥ (2.11).<br />
⎣ ⎦
ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />
În cadrul expresiilor (2.11),<br />
în raport cu sistemul de referință fix atașat bazei robotului iar<br />
( )<br />
0<br />
p este un vector prin care este definită poziția punctului caracteristic<br />
56<br />
n ( 0)<br />
n 1n<br />
p + caracterizează poziția relativă a<br />
sistemului atașat punctului caracteristic al efectorului final, în raport cu centrul geometric al ultimei cuple.<br />
Schema logică corespunzătoare algoritmului matricelor de situare prezentat anterior este următoarea:<br />
Figura 2.5 Schema logică pentru algoritmul matricelor de situare
. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
( 0)<br />
II. Partea a doua a algoritmului este consacrată ecuaţiilor MGD pentru cazul: θ ≠ θ .<br />
5. Conform [N22] în tabloul datelor de intrare este inclusă și matricea configuraţiilor nominale:<br />
57<br />
[ ]<br />
T T<br />
M n = ⎡ θ ⎣θk , k = 1 → m ⎤⎦<br />
, unde θk<br />
= qik i = 1 → n . (2.12)<br />
În cadrul matricei generalizate, prezentată anterior, q ik reprezintă variabila generalizată din fiecare<br />
axă motoare i 1 n<br />
= → , iar ( k = 1 m)<br />
→ reprezintă numărul de configuraţii ale robotului.<br />
( 0)<br />
6. Pentru i =1 → n şi pentru fiecare configuraţie a robotului θ θ<br />
unde, T ( ki ; qi<br />
)<br />
i−1 0 j<br />
{ T ( ki ; qi ) ; i [ T ] ; i [ T ] ; i [ T ] }<br />
k<br />
≠ ,( k = 1 m)<br />
k<br />
→ se determină:<br />
Δ ; (2.13)<br />
{ i ; i ; i }<br />
k = ; { ; } ; { ; }<br />
i x y z<br />
{ }<br />
Δ i = 1 i = R 0 i = T . (2.14)<br />
Δ este o matrice de dimensiune ( 4x4 ) ce caracterizează transformarea variabilă cu i q<br />
din fiecare cuplă motoare iar<br />
{ i −1} → { i}<br />
, i<br />
[ ]<br />
i−1 i T<br />
reprezintă matricea de situare dintre două sisteme învecinate<br />
k versorul axei motoare, iarΔ i este un operator matriceal a cărui valoare depinde de tipul<br />
cuplei motoare luând valoarea unu în cazul cuplelor de rotație și zero pentru translație, conform cu (2.14).<br />
7. Pentrui =1 n<br />
→ , matricele de situare dintre două sisteme învecinate { i 1} { i}<br />
( i; i )<br />
T k q<br />
Δ<br />
[ T ] T T ( k ; q )<br />
( ; ) ( )<br />
− → se definesc:<br />
⎡ i<br />
R ki qi ⋅ Δ i 1− Δ i ⋅qi ⋅ k ⎤<br />
i<br />
= ⎢ ⎥ ; (2.15)<br />
⎢ 0 0 0 1 ⎥<br />
⎢⎣ ⎥⎦<br />
( )<br />
⎡ i−1 0<br />
[ ] i−1 i<br />
i R p + ( 1− Δ ) ⋅q ⋅ k<br />
⎤<br />
= − ⋅ Δ = ⎢ ⎥ . (2.16)<br />
⎢0 0 0 1 ⎥<br />
⎢⎣ ⎥⎦<br />
i−1 i i−1 i i i<br />
i i i 1 i i<br />
8. Pentru i =1 → n , matricele de rotaţie şi vectorii de poziţie cu ajutorul cărora se stabilește poziția<br />
și orientarea unui sistem față de sistemul anterior { i − 1} → { i}<br />
care se regăsesc în ecuațiile<br />
(2.15) și (2.16) sunt definite în conformitate cu [N22], cu expresiile de mai jos, astfel:<br />
i−1 i<br />
{ }<br />
[ R] R( xi ; qi i ) ; R( yi ; qi i ) ; R( zi ; qi<br />
i )<br />
= ⋅Δ ⋅Δ ⋅ Δ ; (2.17)<br />
( 0)<br />
i i−1 ( )<br />
i−1 i−1 i<br />
ri p 1 i qi ki<br />
= + − Δ ⋅ ⋅ . (2.18)<br />
9. Pentru i =1 → n , vectorul de poziție dintre sistemele { i } și { i −1} în raport cu sistemul{ 0 }<br />
respectiv poziția fiecărei cuple{ i } în raport cu același sistem de referință fix, se determină astfel:
ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />
0<br />
[ ] i−1 p = R ⋅ r ;<br />
i i−1 i−1 i i−1 i<br />
T<br />
i = ∑ j j−1 = ⎡⎣ xi yi zi ⎤⎦<br />
. (2.19)<br />
j= 1<br />
p p p p p<br />
Similar cu (2.10), pentru i = 1 → n , matricea de situare dintre sistemele{ 0} →{ i}<br />
se determină astfel:<br />
0<br />
i ⎡ i [ R] p ⎤<br />
−<br />
i<br />
[ T ] = ∏ [ T ] = ⎢ ⎥ . (2.20)<br />
j= 1 ⎢ 0 0 0 1 ⎥<br />
⎣ ⎦<br />
0 j 1<br />
i j<br />
Pentru efectorul final, matricea de situare dintre sistemele{ 0} → { n + 1}<br />
se determină cu expresia:<br />
⎡n s a p⎤<br />
[ T ] = [ T ] ⋅ T = ⎢ ⎥ . (2.21)<br />
⎢0 0 0 1<br />
⎣<br />
⎥<br />
⎦<br />
0 0<br />
n+ 1 n n+ 1n<br />
10. Pentru i =1 → n şi j = 1 → i matricele de situare ale sistemului mobil { i } în raport cu un alt<br />
sistem mobil { j} se determină, utilizând expresiile prezentate în cele ce urmează, astfel:<br />
⎡ j j j j<br />
⎛α ⎞ ⎛α ⎞ ⎛α ⎞ p ⎤<br />
xij<br />
⎢ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎥<br />
j<br />
i ⎢ β β β p<br />
− ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎥ yij<br />
[ T ] = ∏ [ T ] = ⎢ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎥ . (2.22)<br />
k= j+ 1 ⎢ ⎝ γ ⎠ γ γ p<br />
ix ⎝ ⎠iy ⎝ ⎠iz<br />
zij ⎥<br />
⎢ ⎥<br />
⎢ 0 0 0 1 ⎥<br />
⎣ ⎦<br />
j k 1<br />
i k j<br />
11. Vectorul de orientare se determină cu ajutorul următoarei identităţi matriceale:<br />
0 0<br />
( ) [ ] [ ]<br />
{ ; } ; ( )<br />
n n+ 1<br />
R α − β − γ = R R ψ = α β γ . (2.23)<br />
A B C A B C<br />
Algoritmul pentru determinarea orientării efectorului final este prezentat în Fig. 2.6 și Figura 2.7.<br />
12. În ultimul pas, ecuaţiile MGD vor fi incluse în cadrul următoarelor matrice generalizate:<br />
0<br />
X<br />
T<br />
⎡ p ⎤ ⎡ ⎡px py p ⎤<br />
⎣ z ⎤⎦<br />
= ⎢ ⎥ = ⎢ ⎥<br />
T<br />
⎢ ψ ⎥ ⎢[ α A βB γ<br />
⎥<br />
C ]<br />
⎣ ⎦ ⎢⎣ ⎥⎦<br />
2.1.3 Algoritmul operatorilor compuși de tip (PG)<br />
58<br />
T<br />
. (2.24)<br />
Ecuaţiile MGD pot fi de asemenea determinate, utilizând setul de parametri generalizaţi sau operatorii<br />
compuşi de tip PG. Cei şase parametri generalizaţi conform cu [N05] – [N22] și Figura 2.8 sunt următorii:<br />
( ) ( ) ( ) ( ) T<br />
i−1 0 i 1 0 i 1 0 i 1 0<br />
p ⎡ − − −<br />
i i−1 xi yi z ⎤<br />
i<br />
= ⎣ ⎦ ; (2.25)<br />
i−1 ( 0)<br />
T<br />
ψ i = ⎡α x βy γ z ⎤<br />
⎣ ⎦<br />
. (2.26)
. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
START<br />
Algoritmul<br />
MGD<br />
linT=0, colT=0<br />
lungmin = lungime ( Tn+<br />
1 0 [ 0][ 0]<br />
)<br />
l=0<br />
m=0<br />
min > ( n+<br />
1 0[<br />
][ ] ) T<br />
lung lungime l m<br />
True<br />
lungmin = lungime ( Tn+<br />
1 0[<br />
l][ m]<br />
)<br />
linT=l colT=m<br />
DA<br />
DA<br />
m++<br />
m ≤ 2<br />
l++<br />
l ≤ 2<br />
False<br />
Baza de date cu cele<br />
12 seturi de unghiuri<br />
i=0<br />
[ ] [ ]<br />
lin i ==linT &col i ==colT<br />
i++<br />
NU<br />
DA NU<br />
i ≤ 11<br />
DA<br />
NU<br />
1<br />
Output<br />
eroare de<br />
cautare<br />
1<br />
i==0<br />
i==1<br />
i==2<br />
i==3<br />
i==4<br />
i==5<br />
i==6<br />
2<br />
59<br />
NU<br />
NU<br />
NU<br />
NU<br />
NU<br />
NU<br />
NU<br />
DA<br />
DA<br />
DA<br />
DA<br />
DA<br />
DA<br />
DA<br />
STOP<br />
βy<br />
= Arcsin ( Tn+ 1 0 [ 0][ 2]<br />
)<br />
⎛ Tn+ 1 0 [ 1][ 2] αx<br />
= Atan2 ⎜ − ;<br />
⎜<br />
⎝<br />
cos( βy )<br />
Tn+<br />
1 0 [ 2][ 2]<br />
⎞<br />
⎟<br />
cos(<br />
βy<br />
) ⎟<br />
⎠<br />
⎛ Tn+ 1 0 [ 0][ 1]<br />
γ z = Atan2 ⎜ − ;<br />
⎜<br />
⎝<br />
cos( βy )<br />
Tn+<br />
1 0 [ 0][ 0]<br />
⎞<br />
⎟<br />
cos(<br />
βy<br />
) ⎟<br />
⎠<br />
βy<br />
= Arccos ( Tn+ 1 0 [ 0][ 0]<br />
)<br />
⎛Tn + 1 0 [ 0][ 1] αx<br />
= Atan2 ⎜ ;<br />
⎜<br />
⎝<br />
sin( βy )<br />
Tn+<br />
1 0 [ 0][<br />
2]<br />
⎞<br />
− ⎟<br />
sin(<br />
βy<br />
) ⎟<br />
⎠<br />
⎛Tn + 1 0 [ 0][ 1] γ x = Atan2 ⎜ ;<br />
⎜<br />
⎝<br />
sin( βy )<br />
Tn+<br />
1 0 [ 0][<br />
2]<br />
⎞<br />
⎟<br />
sin(<br />
βy<br />
) ⎟<br />
⎠<br />
βz<br />
= Arccos ( Tn+ 1 0 [ 0][ 0]<br />
)<br />
⎛Tn + 1 0 [ 0][ 2] αx<br />
= Atan2 ⎜ ;<br />
⎝ sin( βz )<br />
Tn+<br />
1 0 [ 0][<br />
1]<br />
⎞<br />
⎟<br />
sin(<br />
βz<br />
) ⎠<br />
⎛Tn + 1 0 [ 0][ 2] γ x = Atan2 ⎜ ;<br />
⎝ sin( βz )<br />
Tn+<br />
1 0 [ 0][<br />
1]<br />
⎞<br />
− ⎟<br />
sin(<br />
βz<br />
) ⎠<br />
βz<br />
= Arcsin ( −Tn<br />
+ 1 0 [ 0][ 1]<br />
)<br />
⎛Tn + 1 0 [ 2][ 1] αx<br />
= Atan2 ⎜ ;<br />
⎝ cos( βz )<br />
Tn+<br />
1 0 [ 1][ 1]<br />
⎞<br />
⎟<br />
cos(<br />
βz<br />
) ⎠<br />
⎛Tn + 1 0 [ 0][ 2]<br />
γ y = Atan2 ⎜ ;<br />
⎝ cos( βz )<br />
Tn+<br />
1 0 [ 0][ 0]<br />
⎞<br />
⎟<br />
cos(<br />
βz<br />
) ⎠<br />
βz<br />
= Arcsin ( Tn+ 1 0 [ 1][<br />
0]<br />
)<br />
⎛ Tn+ 1 0 [ 2][<br />
0] αy<br />
= Atan2 ⎜ − ;<br />
⎝ cos ( βz )<br />
Tn+<br />
1 0 [ 0][ 0]<br />
⎞<br />
⎟<br />
cos ( βz<br />
) ⎠<br />
⎛ Tn+ 1 0 [ 1][ 2] γ x = Atan2 ⎜ − ;<br />
⎝ cos ( βz )<br />
Tn+<br />
1 0 [ 1][ 1]<br />
⎞<br />
⎟<br />
cos(<br />
βz<br />
) ⎠<br />
βz<br />
= Arccos ( Tn+ 1 0 [ 1][ 1]<br />
)<br />
⎛Tn + 1 0 [ 2][ 1] αy<br />
= Atan2 ⎜ ;<br />
⎝ sin( βz )<br />
Tn+ 1 0 [ 0][<br />
1]<br />
⎞<br />
− ⎟<br />
sin(<br />
βz<br />
) ⎠<br />
⎛Tn + 1 0 [ 1][ 2] γ y = Atan2 ⎜ ;<br />
⎝ sin( βz )<br />
Tn+ 1 0 [ 1][<br />
0]<br />
⎞<br />
⎟<br />
sin(<br />
βz<br />
) ⎠<br />
βx<br />
= Arccos ( Tn+ 1 0 [ 1][ 1]<br />
)<br />
⎛Tn + 1 0 [ 0][ 1] αy<br />
= Atan2 ⎜ ;<br />
⎝ sin( βx )<br />
Tn+<br />
1 0 [ 2][ 1]<br />
⎞<br />
⎟<br />
sin(<br />
βx<br />
) ⎠<br />
⎛ Tn+ 1 0 [ 1][ 0]<br />
γ y = Atan2 ⎜ ;<br />
⎝ sin( βx )<br />
Tn+<br />
1 0 [ 1][ 2]<br />
⎞<br />
− ⎟<br />
sin(<br />
βx<br />
) ⎠<br />
Figura 2.6 Algoritmul de determinare a orientării efectorului final (prima parte)<br />
4<br />
3
ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />
βx<br />
= Arcsin ( −Tn<br />
+ 1 0 [ 1][ 2]<br />
)<br />
⎛Tn + 1 0 [ 0][ 2] α y = Atan2 ⎜ ;<br />
⎝ cos( βx )<br />
Tn+<br />
1 0 [ 2][ 2]<br />
⎞<br />
⎟<br />
cos(<br />
βx<br />
) ⎠<br />
⎛Tn + 1 0 [ 1][ 0]<br />
γ z = Atan2 ⎜ ;<br />
⎝ cos( βx )<br />
Tn+<br />
1 0 [ 1][ 1]<br />
⎞<br />
⎟<br />
cos(<br />
βx<br />
) ⎠<br />
βx<br />
= Arcsin ( Tn+ 1 0 [ 2][ 1]<br />
)<br />
⎛ Tn+ 1 0 [ 0][ 1] αz<br />
= Atan2 ⎜ − ;<br />
⎝ cos( βx )<br />
Tn+<br />
1 0 [ 1][ 1]<br />
⎞<br />
⎟<br />
cos(<br />
βx<br />
) ⎠<br />
⎛ Tn+ 1 0 [ 2][ 0]<br />
γ y = Atan2 ⎜ − ;<br />
⎝ cos( βx )<br />
Tn+<br />
1 0 [ 2][ 2]<br />
⎞<br />
⎟<br />
cos(<br />
βx<br />
) ⎠<br />
βx<br />
= Arccos ( Tn+ 1 0 [ 2][ 2]<br />
)<br />
⎛ Tn+ 1 0 [ 0][ 2] αz<br />
= Atan2 ⎜ ;<br />
⎝ sin( βx )<br />
Tn+<br />
1 0 [ 1][ 2]<br />
⎞<br />
− ⎟<br />
sin(<br />
βx<br />
) ⎠<br />
⎛Tn + 1 0 [ 2][ 0]<br />
γ z = Atan2 ⎜ ;<br />
⎝ sin( βx )<br />
Tn+<br />
1 0 [ 2][ 1]<br />
⎞<br />
⎟<br />
sin(<br />
βx<br />
) ⎠<br />
βy<br />
= Arccos ( Tn+ 1 0 [ 2][ 2]<br />
)<br />
⎛ Tn+ 1 0 [ 1][ 2] Tn+ 1 0 [ 0][<br />
2]<br />
⎞<br />
αz<br />
= Atan2 ⎜ ;<br />
⎜ ⎟<br />
sin( βy ) sin(<br />
βy<br />
) ⎟<br />
⎝ ⎠<br />
⎛ Tn+ 1 0 [ 2][ 1] Tn+ 1 0 [ 2][<br />
0]<br />
⎞<br />
γ z = Atan2 ⎜ ; −<br />
⎜ ⎟<br />
sin( βy ) sin(<br />
βy<br />
) ⎟<br />
⎝ ⎠<br />
βy<br />
= Arcsin ( −Tn<br />
+ 1 0 [ 2][<br />
0]<br />
)<br />
⎛Tn + 1 0 [ 1][<br />
0] αz<br />
= Atan2 ⎜ ;<br />
⎜<br />
⎝<br />
cos( βy )<br />
Tn+<br />
1 0 [ 0][ 0]<br />
⎞<br />
⎟<br />
cos ( βy<br />
) ⎟<br />
⎠<br />
⎛Tn + 1 0 [ 2][ 1] γ x = Atan2 ⎜ ;<br />
⎜<br />
⎝<br />
cos( βy )<br />
Tn+<br />
1 0 [ 2][ 2]<br />
⎞<br />
⎟<br />
cos(<br />
βy<br />
) ⎟<br />
⎠<br />
⎡Tn + 1 0 [ 0][ 3]<br />
⎤<br />
⎢Tn 1 0 [ 1][<br />
3]<br />
⎥<br />
+<br />
⎢Tn 1 0 [ 2][<br />
3]<br />
⎥<br />
+ X = ⎢ ⎥<br />
⎢<br />
α A[ i]<br />
⎥<br />
⎢ βB[<br />
i]<br />
⎥<br />
⎢⎣ γ C[ i]<br />
⎥⎦<br />
Figura 2.7 Algoritmul de determinare a orientării efectorului final (continuare)<br />
60
. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
Primul grup de ecuaţii (2.25) definește componentele vectorului de poziţie al sistemului { i } în raport cu<br />
sistemul{ i − 1}<br />
. Al doilea grup (2.26) reprezintă vectorul de orientare a sistemului{ i } în raport cu { i 1}<br />
exprimă rotaţia în jurul axelor mobile R( αx βy γ z )<br />
de situare rezultantă dintre sistemele, { i} şi{ i 1}<br />
61<br />
− şi<br />
− − . Utilizând aceste expresii, se determină matricea<br />
− în configuraţia iniţială a robotului:<br />
i−1 ( 0) i−1 ( 0) i−1 ( 0)<br />
i i− 1G T ( i i i ) R ( ; αx ) R ( ; βy ) R ( ; γ z )<br />
T = T x y z ⋅T x ⋅T y ⋅ T z . (2.27)<br />
Figura 2.8 Parametrii generalizaţi de tip PG<br />
În continuare, conform [N05] – [N22], se definesc etapele aplicării algoritmului operatorilor compuşi tip PG.<br />
1. Se cunoaște tipul de robot supus analizei: { 3R; RTTR; RRTR; 5R; RTT3R; 6R ... } .<br />
2. Matricea geometriei nominale este utilizată ca și dată de intrare în definirea schemei cinematice:<br />
T<br />
( 0) i−1 ( 0) T ( 0) T<br />
Mvn = ⎡ pii 1 k ⎤<br />
− i , unde i = 1 → n + 1.<br />
(2.28)<br />
⎣ ⎦<br />
( 0)<br />
3. Se reprezintă schema cinematică a robotului la configuraţia iniţială (de zero) θ .<br />
G2*. Stabilirea sistemelor de tip PG<br />
qi−1 ⋅k<br />
i−1<br />
xi<br />
qi ⋅k<br />
i<br />
În centrul geometric al fiecărei cuple motoare, se ataşează un sistem de coordonate, a căror orientare<br />
se stabileşte prin aplicarea unui algoritm, care va fi prezentat în continuare. Conform acestui algoritm,<br />
pentru început, se determină orientarea axelor i z şi i x , iar în final orientarea axei y i . Determinarea<br />
orientării fiecărei axe a sistemului de referinţă ataşat cuplei se realizează prin aplicarea paşilor următori:<br />
( 0)<br />
4. Orientarea axei z se determină, prin impunerea de la început a unei restricții, conform căreia,<br />
i<br />
z −<br />
i 1<br />
x −<br />
{ i− 1}<br />
i 1<br />
elementul i −1<br />
y −<br />
i−1<br />
xi<br />
i 1<br />
i−1<br />
rii<br />
−1<br />
orientarea acestei axe este considerată identică cu cea a axei motoare, definită în datele de intrare:<br />
{} i<br />
y<br />
i−1<br />
yi<br />
( ) T<br />
( 0) ( 0) ( 0) ( 0) ( 0)<br />
= = . (2.29)<br />
z k α β γ<br />
i i iz iz iz<br />
i<br />
i−1<br />
z α i i−1<br />
x −<br />
z ≡ z′′ −<br />
i<br />
γ i−1<br />
i 1<br />
i 1<br />
βi −1<br />
y′ −<br />
i 1
ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />
Pentru definirea axei x i este necesar ca mai întâi sa fie definit versorul care descrie lungimea<br />
orientată a elementului cinetic ( i ) , notat cu<br />
( 0) ( 0) ( 0)<br />
u = p / p ⊂ M . (2.30)<br />
i i+ 1i i+ 1i vn<br />
Luând în considerare restricțiile (2.29), respectiv orientarea versorului u i definită cu (2.30),<br />
orientarea axei x i se stabilește pe baza condițiilor prezentate în continuare:<br />
( ) ⎧ 0 T<br />
ui , daca ui ⋅ zi = 0<br />
( 0) ⎪ ( 0) T ( 0) T<br />
xi = ⎨ xi−1 , daca ui ⋅ zi = ± 1, xi ⋅ zi = 0;<br />
⎪ ( 0) ( 0) T ( 0) T<br />
( 0)<br />
⎩ zi−1 × zi , daca ui ⋅ zi = ± 1, xi ⋅ zi = ± 1; ui<br />
, .<br />
În cazul în care nici una dintre condițiile enunțate anterior nu este îndeplinită, se aplică condiția:<br />
5. Orientarea axei<br />
( 0)<br />
i<br />
x<br />
( 0) i<br />
i =<br />
i ⋅ i<br />
62<br />
(2.31)<br />
u<br />
. (2.32)<br />
u sα<br />
y se determină ținând cont de relația de ortogonalitate dintre cei trei versori:<br />
( 0) ( 0) ( 0)<br />
i i i<br />
y = z × x . (2.33)<br />
Matricele ce definesc poziţia şi orientarea fiecărei cuple, obţinute cu ajutorul expresiilor de mai sus, sunt<br />
utilizate pentru definirea matricei sistemelor de tip PG, a cărei expresie în formă generală este următoarea:<br />
T<br />
( 0) T ( 0) T ( 0) T ( 0) T<br />
TG = ⎡<br />
⎣pi xi yi z ⎤<br />
i ⎦ , unde i = 1 → n + 1 . (2.34)<br />
6. În cadrul acestei etape, pentru i = 1 → n+1 , se determină operatorii compuşi de tip PG.<br />
Pentru început, se stabilesc parametrii generalizaţi de translaţie, definiţi cu expresia de mai jos, astfel:<br />
( )<br />
T<br />
( ) ( )<br />
( )<br />
( 0) ( ) ( ) ( )<br />
0 0<br />
p = x y z = R ⋅ p − p . (2.35)<br />
i−1 i−1 0 i−1 0 i−1 0 T<br />
i i−1 i i i i−10 i i−1 Parametrii generalizaţi de rotaţie se determină cu ajutorul următoarei identităţii matriceale:<br />
( ) ⎛ 0 T<br />
x ⎞<br />
i−1 ⎜ ⎟<br />
( 0) T ( 0) ( 0) ( 0)<br />
R( αx − βy − γ z ) = ⎜ y ⎟<br />
i−1 ⋅ ⎡x i y i z ⎤<br />
i ; (2.36)<br />
⎜ ⎟ ⎣ ⎦<br />
⎜ ( 0) T<br />
z ⎟<br />
⎝ i−1 ⎠<br />
( ) ( ) ( ) ( ) ( ) ( )<br />
⎡ 0 T 0 0 T 0 0 T 0<br />
x i−1 ⋅ x i x i−1 ⋅ y i x i−1 ⋅ z ⎤<br />
i<br />
⎢ ( 0) T ( 0) ( 0) T ( 0) ( 0) T ( 0)<br />
⎥<br />
R( αx − βy − γ z ) = ⎢y i−1 ⋅ x i y i−1 ⋅ y i y i−1 ⋅ z i ⎥ ; (2.37)<br />
⎢ ( 0) T ( 0) ( 0) T ( 0) ( 0) T ( 0)<br />
⎥<br />
⎢z i−1 ⋅ x i z i−1 ⋅ y i z i−1 ⋅ z<br />
⎣ i ⎥⎦<br />
⎡ cβy ⋅cγ z −cβy ⋅sγ<br />
z sβy<br />
⎤<br />
R( αx − βy − γ z ) = ⎢cα x ⋅ sγ z + sα x ⋅sβ y ⋅cγ z cα x ⋅cγ z − sα x ⋅sβ y ⋅sγ z −sα x ⋅cβ<br />
⎥<br />
y . (2.38)<br />
⎢ ⎥<br />
⎢sα x ⋅ sγ z + cα x ⋅sβ y ⋅cγ z sα x ⋅ cγ z + cα x ⋅sβ y ⋅sγ z cα x ⋅cβ<br />
⎣ y ⎥⎦
. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
Expresiile ce caracterizează parametrii generalizați de rotație depind de produsul matriceal dintre<br />
( 0)<br />
versorii axelor x − , respectiv<br />
Dacă<br />
i 1<br />
( 0)<br />
z , impunând următoarele condiții:<br />
i<br />
( 0) T ( 0)<br />
xi−1 ⋅ zi ≠ ± 1 - parametrii generalizaţi de rotaţie sunt definiţi cu relațiile de mai jos:<br />
În situaţia în care<br />
( ) ( ) ( ) ( )<br />
⎡ 0 T 0 0 T 0<br />
yi−1 ⋅z i zi−1 ⋅ z ⎤<br />
i<br />
αx<br />
= Atan 2⎢−<br />
;<br />
⎥<br />
⎢⎣ cβy cβy<br />
⎥⎦<br />
( 0) T ( 0)<br />
βy = Arc sin xi−1 ⋅ zi<br />
63<br />
; (2.39)<br />
⎡ ⎤ ; (2.40)<br />
⎣ ⎦<br />
( ) ( ) ( ) ( )<br />
⎡ 0 T 0 0 T 0<br />
xi−1 ⋅ yi xi−1 ⋅ x ⎤<br />
i<br />
γ z = Atan 2⎢<br />
− ;<br />
⎥ . (2.41)<br />
⎢⎣ cβy cβy<br />
⎥⎦<br />
( 0) T ( 0)<br />
i 1 i<br />
x − ⋅ z = ± 1,<br />
rezultă că βy = ± π / 2 , soluție care definește aşa numita<br />
singularitate geometrică de orientare. Astfel, soluțiile anterioare vor fi degenerate, aplicarea restricţiei<br />
geometrice γ z = 0 conducând la determinarea corectă a parametrilor generalizaţi de rotaţie:<br />
π<br />
α β γ<br />
( 0) T ( 0)<br />
( 0) T ( 0)<br />
= Atan 2⎡ zi 1 y ; yi 1 y ⎤<br />
⎣ − ⋅ − ⋅ i ⎦ ; = ± ; = 0 . (2.42)<br />
2<br />
x i y z<br />
Rezultatele obținute sunt incluse în matricea operatorilor compuşi de tip PG, a cărei formă este următoarea:<br />
i−1 ( 0) i−1 ( 0) i−1 ( 0)<br />
MG = ⎡ xi yi zi αx βy γ ⎤<br />
⎣ z ⎦ , unde i = 1 → n + 1 . (2.43)<br />
7. Matricea de situare de tip PG dintre sistemele { i −1} → { i}<br />
, pentru i = 1 → n + 1 , se determină<br />
conform expresiei prezentate mai jos, astfel:<br />
⎡ c β y ⋅cγ z<br />
⎢<br />
cα x ⋅ sγ z + sα x ⋅sβ y ⋅cγ T<br />
z<br />
ii−1G =<br />
⎢<br />
⎢<br />
⎢<br />
sα x ⋅ sγ z + cα x ⋅sβ y ⋅cγ z<br />
⎢⎣ 0<br />
−cβy ⋅sγ<br />
z<br />
cα x ⋅cγ z − sα x ⋅sβ y ⋅sγ z<br />
sα x ⋅ cγ z + cα x ⋅sβ y ⋅sγ z<br />
0<br />
sβy −sα x ⋅cβ<br />
y<br />
cα x ⋅cβ<br />
y<br />
0<br />
i−1 ( 0)<br />
x ⎤<br />
i<br />
i−1 ( 0)<br />
⎥<br />
yi<br />
⎥<br />
i−1 ( 0)<br />
⎥<br />
. (2.44)<br />
zi<br />
⎥<br />
1 ⎥⎦<br />
Matricea de situare de tip PG, conform [N05] – [N22], se poate determina şi cu ajutorul expresiei<br />
prezentate mai jos. În această expresie sunt incluşi parametrii ce caracterizează matricea sistemelor PG :<br />
⎡ ( 0) T ( 0) ( 0) T ( 0) ( 0) T ( 0)<br />
( 0) T<br />
x i−1 ⋅ x i x i−1 ⋅ y i x i−1 ⋅ z ⎛<br />
i x ⎞<br />
⎤<br />
i−1 ⎢ ⎜ ⎟<br />
⎥<br />
⎢ ( 0) T ( 0) ( 0) T ( 0) ( 0) T ( 0) ( 0) T ( 0) ( 0)<br />
y 1<br />
i−1 ⋅ x i y i−1 ⋅ y i y i−1 ⋅ z ⎜<br />
i y ⎟<br />
i−1 ⋅( pi − p i 1 ) ⎥<br />
−<br />
−<br />
Ti i−1G = Ti−10 ⋅ Ti0<br />
= ⎢ ⎜ ⎟<br />
⎥ . (2.45)<br />
⎢ ( 0) T ( 0) ( 0) T ( 0) ( 0) T ( 0)<br />
( 0) T<br />
z i−1 ⋅ x i z i−1 ⋅ y i z i−1 ⋅ z ⎜<br />
i z ⎟<br />
⎥<br />
i−1 ⎢ ⎝ ⎠<br />
⎥<br />
⎢ 0 0 0 1 ⎥<br />
⎣ ⎦<br />
8. În conformitate cu aceleași lucrări, [N05] – [N22], matricele generalizate ale sistemelor şi<br />
operatorilor compuşi tip PG se stabilesc luând în considerare expresiile prezentate mai jos:<br />
T
ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />
T<br />
( ) ( ) ( )<br />
T<br />
⎡⎡ i−1 0 i−1 0 i−1 0<br />
xi k yi k z ⎤ ⎤<br />
i k<br />
G = ⎢⎣ ⎦ ⎥<br />
⎢ T<br />
⎡ α x k β y k γ ⎥<br />
z k ⎤<br />
M<br />
⎣ ⎣ ⎦ ⎦<br />
;<br />
64<br />
T<br />
G<br />
⎡ T T T T<br />
piGk xiGk yiGk z ⎤ iGk<br />
= ⎢ ⎥ . (2.46)<br />
⎣k = 1 → m, i = 1 → n⎦<br />
G2** Partea a doua a algoritmului operatorilor compuşi de tip PG (parametri generalizaţi)<br />
9. Pentru început, matricea configuraţiilor nominale, n Mθ , este utilizată ca și dată de intrare:<br />
{ ⎡ T T<br />
, = → ⎤,<br />
, = [ , = → ] }<br />
M θn = ⎣θk k 1 m ⎦ unde θk<br />
qik i 1 n . (2.47)<br />
În matricea generalizată, definită cu (2.47), q ik definește variabila generalizată din fiecare axă motoare<br />
i = 1 → n , a robotului iar k = 1 → m∈ N reprezintă numărul configuraţiilor robotului luate în studiu.<br />
10. În această etapă de aplicare a algoritmului operatorilor de tip PG, se efectuează o rotaţie cu<br />
coordonata generalizată q i în jurul axei zi ∈ { i}<br />
. Matricele de situare de tip PG, pentru fiecare<br />
configurație a robotului, k = 1→ m,<br />
se obţin prin aplicarea transformărilor în jurul axelor mobile:<br />
⎡ ⎤<br />
= ⋅ = ⎢ ⎥ ; (2.48)<br />
⎣ 0 0 0 1 ⎦<br />
i−1 i−1 i−1 i−1 i−1 [ ]<br />
xi yi zi pi<br />
i−1 i T Ti i−1 TΔ ( zi ; qi<br />
)<br />
( i ⋅Δ i ) − ( i ⋅Δ i )<br />
( i ⋅Δ i ) ( i ⋅ Δ i )<br />
⎡c q s q 0 0 ⎤<br />
⎢ ⎥<br />
s q c q 0 0<br />
TΔ ( zi ; qi ) = { TR ( zi ; qi ) ; TT ( zi ; qi<br />
) } = ⎢ ⎥ ; (2.49)<br />
⎢ 0 0 1 ± ( 1− Δ i ) ⋅q<br />
⎥<br />
i<br />
⎢ ⎥<br />
⎢⎣ 0 0 0 1 ⎥⎦<br />
⎡ ⎤<br />
⎢ ⎥<br />
= ⋅ = ⎢ ⎥ ; (2.50)<br />
⎢ ⎥<br />
⎢ ⎥<br />
⎢⎣ 0 0 0 1 ⎥⎦<br />
i−1 αix i−1 αiy i−1 αiz<br />
i−1 xi<br />
i−1G iG [ T ] Ti i−1 TΔ ( zi ; qi<br />
)<br />
i−1 βix i−1 γ ix<br />
i−1 βiy i−1 γ iy<br />
i−1 βiz<br />
i−1 γ iz<br />
i−1 yi<br />
i−1 zi<br />
⎡ i−1 αix ⎢ i−1 0 β<br />
[ ] ix<br />
iG T =<br />
⎢<br />
⎢ i−1 γ<br />
⎢ ix<br />
⎢⎣ 0<br />
i−1 αiy i−1 βiy i−1 γ iy<br />
0<br />
i−1 αiz<br />
i−1 βiz<br />
i−1 γ iz<br />
0<br />
p ⎤ xi ⎥<br />
pyi<br />
⎥<br />
.<br />
p<br />
⎥<br />
zi ⎥<br />
1 ⎥⎦<br />
(2.51)<br />
Dacă i = n + 1,<br />
matricea de situare dintre sistemele{ n + 1} → { 0}<br />
se determină cu expresia:<br />
⎡nx sx ax px<br />
⎤<br />
⎢n s a p ⎥<br />
[ T ] = ⎢ ⎥ . (2.52)<br />
⎢nz sz az pz<br />
⎥<br />
⎢⎣ 0 0 0 1 ⎥⎦<br />
0 y y y y<br />
n+ 1<br />
11. Pentru i =1 → n şi j = 1 → i matricele de transformare omogenă ce caracterizează situarea<br />
sistemului mobil { i } în raport cu un alt sistem mobil { j} se definesc cu ajutorul expresiilor de mai jos:
. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
⎡ i i<br />
i<br />
k−1 0 T ⎤<br />
− [ R] [ R] p<br />
[ T ] kG [ T ] ⎢ ∏ ∑ ⋅ −<br />
=<br />
⎥<br />
∏ = k= j+ 1<br />
k= j+ 1<br />
; (2.53)<br />
⎢ ⎥<br />
k= j+ 1<br />
⎢⎣ 0 0 0 1 ⎥⎦<br />
jG<br />
iG<br />
k 1G k j k k 1<br />
j ⎡ j j j<br />
α α ix iy αiz<br />
p ⎤<br />
x<br />
⎢ ij ⎥<br />
i<br />
j j j j<br />
− ⎢ β β β p ⎥<br />
[ T ] = ∏ kG [ T ] = ⎢ ⎥ . (2.54)<br />
j j j j<br />
k= j+ 1 ⎢ γ ix γ γ iy iz pzij<br />
⎥<br />
⎢<br />
0 0 0 1<br />
⎥<br />
⎣ ⎦<br />
jG k 1G ix iy iz yij iG<br />
12. Vectorul de orientare se determină pe baza următoarei identităţi:<br />
{ ; } ; ( )<br />
0 0<br />
( ) nG [ ] n+ 1G [ ]<br />
R α − β − γ = R R ψ = α β γ . (2.55)<br />
A B C A B C<br />
13. În ultima etapă, ecuaţiile MGD vor fi incluse în cadrul următoarelor matrice generalizate:<br />
0<br />
⎧ T<br />
⎡fj qi i i 1 n j 1 6⎤<br />
⎫<br />
( ⋅ δ , = → ) = →<br />
{ { 1, j 1 3} ; { , j 4 6}<br />
}<br />
⎡ p ⎤ ⎪ ⎪<br />
X =<br />
⎣ ⎦<br />
⎢ ⎥ = ⎨ ⎬ ; (2.56)<br />
⎣ ψ ⎦ ⎪δ = = → Δ = → ⎪<br />
[ T ]<br />
G<br />
⎩ i i<br />
⎭<br />
⎧ j j −1<br />
⎪ i [ T ] Gk ; i [ T ] ⎫<br />
Gk ⎪<br />
= ⎨ ⎬;<br />
(2.57)<br />
⎪⎩ k = 1 → m, i = 1 → n + 1, j = 0 → i⎪⎭<br />
MXG = ⎡<br />
⎣<br />
pxk pyk pzk α Ak βBk γCk<br />
⎤<br />
⎦<br />
, k = 1 → m.<br />
(2.58)<br />
Ultimele două expresii, definite cu (2.57) şi (2.59), reprezintă matricele generalizate ale transformărilor<br />
de situare, respectiv ecuaţiile geometriei directe (MGD) în spaţiul cartezian.<br />
2.1.4 Algoritmul operatorilor compuşi de tip Denavit – Hartenberg (DH)<br />
În literatura de specialitate, metoda operatorilor compuşi Denavit – Hartenberg este frecvent utilizată în<br />
modelarea preciziei structurilor seriale de roboţi. Parametrii de tip DH utilizaţi în cadrul acestui model sunt:<br />
{ ai 1 αi 1<br />
e<br />
βi ( 0) di<br />
( 0)<br />
θi<br />
}<br />
− − . (2.60)<br />
Metoda operatorilor compuși de tip DH poate fi aplicată în două variante, diferența dintre cele două<br />
variante făcându-se la nivelul modului de stabilire a parametrilor și sistemelor de tip D-H precum și a<br />
succesiunii transformărilor simple ce au loc între două sisteme de referință învecinate { }<br />
65<br />
T<br />
i şi { i − 1}<br />
.<br />
Grupul de parametri prezentați în cadrul expresiei (2.60), corespunde celei de-a doua variante a<br />
algoritmului operatorilor compuşi de tip DH. Astfel, în conformitate cu [N05] – [N22] și analizând Figura<br />
2.9 semnificaţia operatorilor compuşi tip DH reprezentați este următoarea:
ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />
• a i− 1 este lungimea normalei comune măsurată între cele două axe motoare învecinate i k<br />
respectiv i 1<br />
k − , acestea fiind conectate între ele prin elementul cinetic ( i 1)<br />
66<br />
− ;<br />
• αi − 1 este unghiul de încrucişare (răsucire) măsurat în planul normal pe perpendiculara dintre cele<br />
•<br />
•<br />
două axe motoare alăturate şi orientate prin ki − 1 şi respectiv prin k i ;<br />
( 0)<br />
d este distanţa dintre cele două elemente învecinate, măsurată în lungul axei motoare, k i ;<br />
i<br />
( 0)<br />
θ reprezintă unghiul dintre două elemente cinetice învecinate şi măsurat în jurul axei motoare<br />
i<br />
reprezentată prin versorul k i între cele două normale comune şi orientate ale acestei axe;<br />
e<br />
i<br />
• β se măsoară în jurul axei y i , iar pentru structura nominală valoarea sa este zero.<br />
De asemenea, este important de menționat faptul că ultimul parametru, dintre cei cinci definiți anterior,<br />
e<br />
notat cu β i , există numai în cazul structurilor afectate de erori .<br />
Un pas important în realizarea modelului matematic bazat pe operatorii de tip Denavit - Hartenberg<br />
constă în stabilirea sistemelor de referinţă ataşate centrului geometric al fiecărei cuple pe baza unui<br />
algoritm ai cărui paşi, descriși în cadrul [N05] – [N22], vor fi prezentaţi în continuare:<br />
elementul i −1<br />
q ⋅k<br />
i−1 i−1<br />
αi−1 z −<br />
i 1<br />
{ i−1} Figura 2.9 Reprezentarea parametrilor de tip Denavit – Hartenberg<br />
1. Ca și în cazul algoritmilor prezentați anterior și în acest caz se pornește de la definirea tipului de<br />
structură mecanică ce caracterizează robotul care urmează să fie studiat: { 3R; 5R; 2T3R ; 6R ... } .<br />
2. Pentru definirea structurii cinematice a robotului, se utilizează matricea geometriei nominale:<br />
T<br />
( 0)<br />
( 0) T<br />
Mvn = ⎡p ⎣ i<br />
( 0) T<br />
k ⎤<br />
i ⎦<br />
, unde i = 1 → n + 1 . (2.61)<br />
3. Schema cinematică a robotului analizat, se va reprezenta pentru configuraţia iniţială:<br />
[ ]<br />
( 0)<br />
T<br />
= qi = 0; i = 1 → n . (2.62)<br />
( n 1)<br />
θ ×<br />
O −<br />
i 1<br />
a −<br />
i 1<br />
x −<br />
{} i<br />
i 1<br />
qi ⋅ki<br />
zi<br />
Oi<br />
di<br />
elementul i<br />
xi<br />
O +<br />
i 1<br />
θi<br />
q ⋅k<br />
i+ 1 i+<br />
1
. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
G3*. Stabilirea sistemelor de tip DH<br />
În acest scop, a fost elaborată o schemă logică (a se vedea Figura 2.10) . Poziţia originii fiecărui<br />
sistem este definită impunând o serie de restricţii. Următorul pas constă în stabilirea orientării fiecărei<br />
axe i z , urmată de axa i x iar în final de axa y i .<br />
4. Schema logică corespunzătoare variantei a doua [N22], prezentată în Figura 2.10, cuprinde toți pașii<br />
necesari în stabilirea sistemelor de tip DH, având un rol esențial în determinarea parametrilor tip DH:<br />
• ai− 1 şi αi− 1 sunt distanţa, respectiv unghiul dintre axele zi− 1 şi i z , măsuraţi în jurul axei xi− 1 ;<br />
•<br />
( 0)<br />
( 0)<br />
d i şi θ i reprezintă distanţa, respectiv unghiul dintre axele xi−1 şi i x , măsuraţi în jurul axei z i .<br />
5. Rezultatele din 2.5 sunt incluse în matricea operatorilor tip DH, varianta a doua, astfel:<br />
( ) ( )<br />
{ ( ) }<br />
0 0<br />
MD = ⎡ ai 1 α i 1 di di 1 i qi θi θi<br />
i qi i 1 n⎤<br />
⎢ − − = ± − Δ ⋅ = ± Δ ⋅ = →<br />
⎥<br />
( n× 4)<br />
⎣ ⎦<br />
6. Rotaţia qi θi<br />
⊂ se realizează în jurul axei z { i}<br />
i<br />
67<br />
T<br />
. (2.63)<br />
∈ . Se determină matricea de situare de tip DH<br />
dintre sistemele{ i −1} → { i}<br />
, corespunzătoare celei de a doua variante. În acest scop se aplică<br />
proprietatea cu privire la transformările efectuate în jurul axelor mobile, conform expresiei:<br />
( )<br />
( )<br />
T = Ti i−1D ⋅ TΔ zi ; qi = TR x ; αi−1 ⋅TT x ; ai−1 ⋅TR ( z ; θi<br />
) ⋅T T ( z ; di ) ⋅ TΔ ( zi−1 ; qi<br />
) (2.64)<br />
[ ] ( ) ( ) ( )<br />
i−1D 0 0<br />
iD<br />
i−1D iD<br />
⎢ i−1 i i−1 i i−1 i i−1 ⎥<br />
= i i−1D ⋅ Δ i i = ⎢ ⎥<br />
sα i−1 ⋅sθ i sα i−1 ⋅cθ i cα i−1 di ⋅cα<br />
i−1 [ T ] T T ( z ; q )<br />
[ T ]<br />
i−1D −1<br />
i D<br />
⎡ cθi ⎢<br />
cα ⋅sθ −sθ<br />
i−1 cα ⋅cθ 0<br />
−sα ai−1<br />
−d ⋅sα<br />
⎤<br />
⎥<br />
; (2.65)<br />
⎢<br />
⎢<br />
⎣ 0 0 0 1<br />
⎥<br />
⎥<br />
⎦<br />
⎡ cθi ⎢<br />
⎢−sθ i<br />
= ⎢<br />
⎢ 0<br />
⎢<br />
⎣ 0<br />
cα i−1 ⋅sθ i<br />
cα i−1 ⋅cθ i<br />
−sα i−1 0<br />
sα i−1 ⋅sθ i<br />
sα i−1 ⋅cθ i<br />
cα i−1 0<br />
−ai−1 ⋅cθ<br />
i ⎤<br />
⎥<br />
ai−1 ⋅sθ<br />
i ⎥<br />
⎥ .<br />
−di<br />
⎥<br />
⎥<br />
1 ⎦<br />
(2.66)<br />
Schema logică de stabilire a orientării sistemelor de tip DH, conform [N05], [N22] pentru cea de-a<br />
doua variantă a algoritmului, este prezentată în Figura 2.10.<br />
G2** Partea a doua a algoritmului operatorilor compuşi de tip DH în varianta a doua<br />
7. Matricea configuraţiilor nominale n Mθ , definită cu (2.6) este cunoscută din datele de intrare:<br />
⎧ T T<br />
⎫<br />
M θn = ⎨ ⎡θk , k 1 m ⎤<br />
⎣<br />
= →<br />
⎦<br />
, unde θk<br />
= [ qik , i = 1 → n ] ⎬ . (2.67)<br />
( m× n)<br />
⎩ ⎭
ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />
unde similar cu varianta prezentată anterior, q ik definește variabila generalizată corespunzătoare fiecărei<br />
axe motoare pentru i = 1 → n , iar k = 1 → m∈ N reprezintă numărul de configuraţii ale robotului.<br />
8. Matricele generalizate ale sistemelor şi operatorilor DH se stabilesc conform relaţiilor:<br />
⎧ T T T T<br />
⎪⎡piDk xiDk yiDk z ⎤⎫<br />
iDk ⎪<br />
TD = Matrix ⎣ ⎦<br />
⎨ ⎬ ;<br />
m⋅ ( n+ 1) × 12⎪⎩<br />
k = 1 → m, i = 1 → n ⎪⎭<br />
⎧⎪ ai−1k αi−1k dik<br />
θik<br />
⎫⎪<br />
MG = Matrix ⎨ ⎬ . (2.68)<br />
m⋅ ( n+ 1) × 6 ⎪⎩ k = 1 → m i = 1 → n ⎪⎭<br />
68<br />
[ ]<br />
9. i = 1 → n+1 . Matricele de situare de tip DH pentru configuraţiile k = 1 → m sunt date de:<br />
i−1 i−1 i−1 ⎡ i−1 ⎛α ⎞ ⎛α ⎞ ⎛α ⎞ x ⎤<br />
i<br />
⎧TΔ ( zi−1 ; qi ) ⋅Ti<br />
i−1D ⎫ ⎢ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ i−1 ⎥<br />
β β β y<br />
[ T ]<br />
⎪ ⎪<br />
=<br />
⎢ ⎥<br />
⎨ ⎬ = ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ; (2.69)<br />
⎢ ⎜ −<br />
T ( ; )<br />
z<br />
ix iy iz i<br />
i i 1D T zi q γ ⎟ ⎜γ ⎟ ⎜γ ⎟ ⎥<br />
⎪<br />
⎩ − ⋅ Δ i ⎪<br />
⎭ ⎢ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎥<br />
⎢⎣ 0 0 0 1 ⎥⎦<br />
i−1D i<br />
iD i 1<br />
x<br />
⎡⎛α ⎞ ⎛α ⎞ ⎛α ⎞ p ⎤<br />
⎢ ⎥<br />
⎢ ⎥ . (2.70)<br />
⎢ ⎥<br />
⎢ ⎥<br />
⎢⎣ 0 0 0 1 ⎥⎦<br />
xi<br />
0<br />
0 ⎡<br />
[ ]<br />
[ R<br />
iD ] p ⎤<br />
⎜<br />
β<br />
⎟ ⎜<br />
β<br />
⎟ ⎜<br />
β<br />
⎟<br />
p<br />
iD<br />
yi<br />
T =<br />
iD ⎢ ⎥ = ⎜ ⎟ ⎜ ⎟ ⎜ ⎟<br />
0 0 0 1<br />
⎜γ ⎟ ⎜γ ⎟ ⎜γ ⎟<br />
⎢ ⎥ ⎝ ⎠<br />
p<br />
ix ⎝ ⎠iy<br />
⎝ ⎠iz<br />
zi<br />
ai 0<br />
⎣ ⎦<br />
= ( 0) ( 0)<br />
i i+ 1<br />
i = { R; T}<br />
O = a ∩ k<br />
i i i<br />
a<br />
( )<br />
0<br />
z = k<br />
( 0) ( 0)<br />
i i<br />
k × k = 0<br />
( 0) ( 0)<br />
Oi = ki ∩k i+ 1 Oi = Ci<br />
( 0) i<br />
i = ( 0) ( 0) ( 0)<br />
ai = 0<br />
xi = zi × z i+ 1<br />
ai<br />
y = z × x<br />
( 0) ( 0) ( 0)<br />
i i i<br />
Figura 2.10 Schema logică de stabilire a sistemelor de tip DH – a doua variantă<br />
10. Pentru i =1 → n şi j 1 i<br />
= → , matricele de situare dintre { i} { j}<br />
→ se determină astfel:
. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
Pentru cazul i n 1<br />
⎡ i i<br />
i<br />
k−1D 0 T ⎤<br />
− [ R] [ R] p<br />
[ T ] [ T ] ⎢ ∏ ∑ ⋅ −<br />
=<br />
⎥<br />
∏ ≡ k= j+ 1<br />
= +<br />
. (2.71)<br />
⎢ ⎥<br />
k= j+ 1<br />
⎢⎣ 0 0 0 1 ⎥⎦<br />
jD k 1D kD jD k k 1D<br />
iD kD k j 1<br />
= + , matricea de situare dintre sistemele { n 1} { 0}<br />
69<br />
+ → se determină cu expresia:<br />
⎡<br />
0<br />
n+ 1[<br />
T ] = ⎢<br />
⎣<br />
⎢<br />
0<br />
n+ 1[<br />
R] 0 0 0<br />
⎡⎛nx ⎞<br />
p⎤ ⎢⎜ ⎟<br />
ny ⎥ = ⎢⎜ ⎟<br />
1⎥<br />
⎢⎜n ⎟<br />
⎦ z ⎢⎝ ⎠<br />
⎢⎣ 0<br />
⎛ sx ⎞<br />
⎜ ⎟<br />
⎜<br />
sy ⎟<br />
⎜ s ⎟<br />
⎝ z ⎠<br />
0<br />
⎛a x ⎞<br />
⎜ ⎟<br />
⎜<br />
ay ⎟<br />
⎜a ⎟<br />
⎝ z ⎠<br />
0<br />
p ⎤<br />
x ⎥<br />
py<br />
⎥ .<br />
pz<br />
⎥<br />
⎥<br />
1 ⎥⎦<br />
(2.72)<br />
11. Vectorul de orientare se determină cu ajutorul următoarei identităţi matriceale:<br />
0 0<br />
( ) [ ] [ ]<br />
{ ; } ; ( )<br />
nD n+ 1<br />
R α − β − γ = R R ψ = α β γ . (2.73)<br />
A B C A B C<br />
12. În ultima etapă, ecuaţiile MGD vor fi incluse în cadrul următoarelor matrice generalizate:<br />
⎡<br />
0<br />
X = ⎢<br />
⎢<br />
⎣<br />
p ⎤ ⎡ ⎡px ⎥ = ⎢ ⎣<br />
ψ ⎥ ⎢<br />
⎦ ⎣[ α A<br />
py βB T<br />
p ⎤<br />
z ⎤<br />
⎦ ⎥ ;<br />
T<br />
γ C ] ⎥<br />
⎦<br />
(2.74)<br />
⎧ j j −1<br />
⎪<br />
[ ]<br />
[ T ] ; [ T ]<br />
T = i Dk i Dk<br />
D ⎨<br />
⎪⎩ k = 1 → m, i = 1 → n + 1, ⎫⎪<br />
⎬;<br />
j = 0 → i⎪⎭<br />
(2.75)<br />
⎡pxk pyk pzk<br />
αAk βBk γCk<br />
⎤<br />
MXD = Matrix ⎢ ⎥ . (2.76)<br />
( m× 6)<br />
⎣ k = 1 → m ⎦<br />
G3** Pentru toate configuraţiile robotului, conform [N22] se definesc următoarele matrice generalizate:<br />
⎧ [ T ]<br />
j j −1<br />
⎪ Q ⎫⎪ ⎪⎧ i [ T ] Qk ; i [ T ] Qk ⎪⎫<br />
⎨<br />
{ [ T ] L ; [ T ] G ; [ T ]<br />
⎬ = ⎨ ⎬;<br />
MXQ = { MXL ; MXG ; MXD<br />
} . (2.77)<br />
⎪⎩ D } ⎪⎭ ⎪⎩ k = 1 → m i = 1 → n + 1 j = 0 → i⎪⎭<br />
M determinate anterior, reprezintă matricele generalizate ale<br />
Cele două expresii matriceale, [ ] Q<br />
T şi XQ<br />
transformărilor de situare, respectiv ecuaţiile geometriei directe (MGD) în raport cu spaţiul cartezian. Aceste<br />
matrice conţin toate matricele generalizate corespunzătoare algoritmilor prezentaţi în cadrul acestui capitol.<br />
2.1.5 Algoritmul Exponenţialelor de Matrice (MEG)<br />
Exponenţialele de matrice [B04] şi transformările asociate acestora, sunt incluse în cadrul<br />
Algoritmului Exponenţialelor de Matrice, dezvoltat în [N12] - [N22], care poate fi utilizat în vederea<br />
stabilirii ecuaţiilor geometriei directe. Etapele care trebuie urmate în aplicarea acestui algoritm sunt:<br />
( 0)<br />
( 0)<br />
1. Matricea geometriei nominale M , caracteristică configuraţiei θ , se cunoaşte:<br />
vn<br />
{ }<br />
( 0)<br />
Mvn = Matrix<br />
⎡⎣ ( n+ 1) × 6⎤⎦<br />
⎡ ( 0) T<br />
p<br />
⎣ i<br />
( 0) T<br />
k ⎤<br />
i , i = 1 → n + 1<br />
⎦<br />
. (2.78)<br />
2. Pe baza acestei matrice se trasează schema cinematică a robotului analizat.<br />
T<br />
T
ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />
( 0) ( 0)<br />
3. Se determină parametrii de şurub { ki ; v i } , cunoscuţi sub denumirea de coordonate omogene.<br />
ki−1 x0<br />
zi −1<br />
xi−1 z0<br />
elementul ( i −1)<br />
{ }<br />
0<br />
yi −1<br />
{ i −1}<br />
pAi<br />
Figura 2.11 Reprezentarea coordonatelor omogene<br />
Noua matrice, a geometriei nominale, este simbolizată cu M și are următoarele componente:<br />
70<br />
( 0 )**<br />
vn<br />
{ }<br />
( 0)<br />
**<br />
( 0) T ( 0) T ( 0) T<br />
Mvn = Matrix ⎡pi ki v ⎤<br />
i , i = 1 → n + 1<br />
⎡( n+ 1) × 6⎤<br />
⎣ ⎦<br />
⎣ ⎦<br />
T<br />
. (2.79)<br />
4. Matricea diferenţială A i , în conformitate cu [N12] și [N21], se determină utilizând aceeaşi<br />
( 0)<br />
expresie pentru ambele configuraţii ale robotului θ şi θ , incluse în cadrul analizei.<br />
{ } i { } i { } i ( i )<br />
⎡ ( 0) ( 0) ( 0) ( 0) ( 0) ( 0)<br />
ki × Δ v ⎤ ⎡<br />
i ki × Δ pi × ki ⋅Δ + 1− Δ ⋅k<br />
⎤<br />
i<br />
Ai<br />
= ⎢ ⎥ = ⎢ ⎥ . (2.80)<br />
⎢⎣ 0 0 0 0 ⎥⎦ ⎢⎣ 0 0 0 0<br />
⎥⎦<br />
5. Exponenţiala matricei de rotaţie, se determină cu următoarea expresie:<br />
( 0)<br />
( ) { k × } qi ⋅Δ<br />
i i<br />
( 0) ( 0) ( 0) T<br />
R ki , qi ⋅Δ i = e = I3 ⋅c( qi ⋅Δ i ) + { ki × } s( qi ⋅ Δ i ) + ki ⋅ ki ⋅ ⎡⎣ 1− c( qi<br />
⋅ Δi<br />
) ⎤⎦<br />
. (2.81)<br />
6. Inversa exponenţialei matricei de rotaţie se determină cu expresia prezentată mai jos:<br />
( 0)<br />
−1<br />
−<br />
( )<br />
{ k × } qi ⋅Δ<br />
( 0)<br />
( ) ( )<br />
,<br />
i i<br />
0 0 T<br />
i i ⋅Δ i = = 3 ⋅ ( i ⋅Δ i ) − { i × } ⋅ ( i ⋅Δ i ) − i ⋅ i − i ⋅Δ i<br />
( )<br />
R k q e I c q k s q k k ⎡⎣ 1 c q ⎤⎦<br />
(2.82)<br />
ki<br />
zi<br />
7. Expresia de definiţie a vectorului coloană, notat cu b i , se stabileşte astfel:<br />
{ { } ⎡ ( ) ⎤ ⎡ ( ) ⎤ }<br />
( 0) ( 0) ( 0) T ( 0)<br />
i = 3 ⋅ i + i × − i ⋅Δ i + i ⋅ i ⋅ i − i ⋅ Δi ⋅ i<br />
b I q k ⎣1 c q ⎦ k k ⎣q s q ⎦ v (2.83)<br />
8. Exponenţiala de matrice se determină conform relaţiilor:<br />
y0<br />
pi<br />
xi<br />
Ai<br />
{ }<br />
i<br />
p<br />
i y<br />
xn<br />
{ }<br />
n<br />
yn<br />
zn<br />
n<br />
efectorul final<br />
s<br />
{ n + 1}<br />
a
. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
( 0)<br />
{ { i × } ⋅Δ }<br />
⎡<br />
A q exp k q i i i i b ⎤<br />
i<br />
e = ⎢ ⎥<br />
⎢⎣ 0 0 0 1 ⎥⎦<br />
( 0)<br />
, unde exp { i }<br />
71<br />
( 0)<br />
{ k × } q<br />
i i⋅Δi k × q ⋅Δ = e<br />
(2.84)<br />
{ i i}<br />
⎡ i i i<br />
( 0) ⎧ ( 0)<br />
⎫ ⎤<br />
⎧ i ⎫ exp{ { k j × } qj ⋅Δ j} ⎨ exp<br />
exp<br />
{ { kk × } qk ⋅ Δ k} ⎬ ⋅ bj+<br />
1<br />
Aj ⋅ qj<br />
=<br />
⎢ ∑<br />
⎥<br />
⎨ ∑ ⎬ j= 0 j= 0⎩<br />
k= 0<br />
⎭<br />
⎩ j= 0 ⎭<br />
⎢ ⎥<br />
⎢⎣ 0 0 0 1<br />
⎥⎦<br />
∏ ∏ . (2.85)<br />
9. Utilizând (2.85), se determină inversa exponenţialei de matrice, astfel:<br />
⎡ 0 0 j<br />
( 0) ⎧ ( 0)<br />
⎫ ⎤<br />
⎧ ⎧ 0 ⎫⎫ exp{ − { k j × } ⋅qj ⋅Δ j} − exp<br />
exp<br />
{ − { kk × } qk ⋅Δ k} ⋅ bj<br />
− Aj ⋅ qj<br />
=<br />
⎢ ∑⎨<br />
⎬ ⎥<br />
⎨ ⎨∑ ⎬⎬ j= i j= i k= i<br />
j= i ⎢ ⎩ ⎭ ⎥<br />
⎩ ⎩ ⎭⎭<br />
⎢⎣ 0 0 0 1<br />
⎥⎦<br />
unde<br />
∏ ∏ . (2.86)<br />
10. Expresiile exponenţiale ce caracterizează matricele de situare şi care exprimă poziţia şi orientarea<br />
sistemelor { }<br />
n şi { n 1}<br />
+ în raport cu sistemul { }<br />
0 se obţin în forma prezentată mai jos:<br />
⎧ x ⎫<br />
⎪ Tx0 = ∏Tii<br />
−1<br />
⎪ ⎡ Rx0 ⎨ i= 1 ⎬ = ⎢0 0<br />
⎪x { n; n 1}<br />
⎪ ⎣<br />
⎩ = + ⎭<br />
0<br />
n p⎤<br />
⎧ ⎫ ( 0)<br />
= ⎨ Ai ⋅qi ⎬⋅Tx0<br />
1<br />
⎥ ∑ ;<br />
⎦ ⎩ i= 1 ⎭<br />
(2.87)<br />
( )<br />
( )<br />
exp{ { } } n<br />
Rx0 0 0<br />
= ∑ ki × qi ⋅Δ i ⋅ Rx0<br />
; (2.88)<br />
i= 1<br />
{ }<br />
n ⎧ ⎧ i−1 ( 0) ⎫⎫<br />
n<br />
( 0) ( 0)<br />
p = ∑ ⎨exp⎨ ∑ { ki × } qj Δ j ⎬⎬bi<br />
+ exp ∑ ⋅ { ki × } qi Δi<br />
p δx<br />
; (2.89)<br />
i= 1 ⎩ ⎩ j= 0 ⎭⎭<br />
i= 1<br />
x<br />
{ { ; } ; { ; } }<br />
iar δ = 0 x = n 1 x = n + 1 . (2.90)<br />
11. În vederea determinării inversei matricei definită cu (2.87), conform algoritmului prezentat în<br />
[N12] – [N22], se utilizează următoarele expresii:<br />
{ }<br />
( )<br />
{ } { }<br />
⎡ T 1<br />
1<br />
T ( 0) ⎧ 0 ⎫ T ⎤<br />
−1<br />
−1<br />
( 0)<br />
⎧ ⎫ Rx0 = Rx0 ⋅exp − ∑ ki × qiΔ i −Rx0 ⋅ p<br />
Tx0 = { Tx0 } ⋅exp Ai q ⎢ ⎨ ⎬ ⎥<br />
⎨−∑ ⋅ i ⎬ =<br />
⎩ i= n<br />
⎭<br />
⎩ i= n ⎭ ⎢ ⎥<br />
⎢⎣ 0 0 0 1 ⎥⎦<br />
unde,<br />
{ } ( )<br />
(2.91)<br />
⎧ 1 ⎧ ⎧ 0<br />
( 0) ⎫⎫ ⎧ 1<br />
( 0) ⎫ 0 ⎫<br />
exp { } exp<br />
T ⎪− ∑⎨<br />
⎨ ∑ ki × qjΔ j ⎬⎬bi − ⎨− ∑ { ki × } qiΔ i ⎬p<br />
δx<br />
⎪<br />
−R i n j i 1 i n<br />
x0 ⋅ p = ⎨ = ⎩ ⎩ = − ⎭⎭<br />
⎩ =<br />
⎭ ⎬ . (2.92)<br />
⎪<br />
iar δx<br />
= { { 0; x = n} ; { 1; x = n + 1<br />
⎪<br />
⎩ } }<br />
⎭<br />
Observaţie: Algoritmul Exponenţialelor de Matrice, datorită avantajelor computaţionale şi independenţei<br />
faţă de sistemele de referinţă, poate fi aplicat în cazul oricărei structuri de robot. Schema cinematică<br />
pentru modelul geometric direct bazat pe exponențialele de matrice este prezentată în Figura 2.12:
ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />
T<br />
⎡1 ⎢<br />
=<br />
0<br />
⎢<br />
⎢<br />
0<br />
⎣0 0<br />
1<br />
0<br />
0<br />
0<br />
0<br />
1<br />
0<br />
p<br />
p<br />
p<br />
0,0 ⎤<br />
1,0 ⎥<br />
⎥<br />
2,0<br />
⎥<br />
1 ⎦<br />
T expA T<br />
n<br />
0<br />
( 0) n<br />
n 0 0<br />
n<br />
( 0)<br />
n 0 = n,0 ⋅ n 0<br />
{ }<br />
START<br />
Algoritmul<br />
de citire<br />
i=1<br />
0 −pi<br />
[ 2,0] pi<br />
[ 1,0]<br />
[ 2,0] [ 0,0]<br />
pi [ 1,0] pi [ 0,0]<br />
0<br />
{ } ( )<br />
⎡<br />
pi × = ⎢ pi ⎢<br />
⎣− 0 −pi<br />
⎤<br />
⎥<br />
⎥<br />
⎦<br />
v = p × k ⋅Δ + 1− Δ ⋅k<br />
( 0)<br />
{ ki<br />
× }<br />
expA0,0 = I4<br />
i i i i i i<br />
0<br />
ki [ 2,0] −k<br />
i [ 1,0] −k<br />
i [ 2,0] 0<br />
ki [ 0,0]<br />
ki<br />
[ 1,0]<br />
ki<br />
[ 0,0]<br />
0<br />
[ ] = exp ( ) ⋅ q ⋅ Δ<br />
⎡ ⎤<br />
= ⎢ − ⎥<br />
⎢<br />
⎣<br />
⎥<br />
⎦<br />
( { ki<br />
× } )<br />
i −1<br />
0<br />
i R<br />
i i<br />
{ { } ⎡ ( ) ⎤ ⎡ ( ) ⎤}<br />
b = I ⋅ q + k × ⎣1−c q ⋅Δ ⎦+ k ⋅k ⋅⎣q −s q ⋅Δ ⎦ ⋅v<br />
(0) (0) (0)T (0)<br />
i 3 i i i i i i i i i i<br />
( 0)<br />
[ ]<br />
( )<br />
[ ]<br />
( )<br />
[ ]<br />
(0 )<br />
(0 )<br />
{ k × } Δi<br />
vi<br />
⎡ ⎤<br />
A i<br />
i = ⎢ 0 0 0 0 ⎥<br />
⎣ ⎦<br />
(0)<br />
Ai q ⎡<br />
i<br />
exp<br />
( ) { { ki } qi i} b ⎤<br />
e = exp A i<br />
i ⋅ qi<br />
=<br />
× ⋅ Δ<br />
⎢ ⎥<br />
⎣ 0 0 0 1 ⎦<br />
72<br />
( )<br />
expA = expA ⋅exp A ⋅q<br />
NU<br />
i,0 i−1,0 i i<br />
i++<br />
i ≤ n<br />
Input x<br />
x=n+1<br />
NU<br />
DA<br />
DA<br />
T = expA ⋅T<br />
( 0)<br />
n+ 1 0 n,0 n+ 1 0<br />
STOP<br />
Figura 2.12 Algoritmul exponențialelor de matrice în geometria directă
. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
2.2 Algoritmi utilizați în modelarea cinematică directă a structurilor de roboți<br />
Determinarea poziției respectiv a orientării efectorului final este însoțit obligatoriu de studiul. vitezelor și<br />
accelerațiilor, respectiv a traiectoriei de mișcare a robotului. În analiza cinematică se ține cont atât de poziția<br />
și orientarea fiecărei cuple necesară pentru a descrie situarea efectorului final în spațiul de lucru al robotului<br />
cât și de variația vitezelor din cuple pe tot parcursul procesului de lucru, conform [C01] , [N05], [N22].<br />
2.2.1 Algoritmul iterativ<br />
În prima etapă de aplicare a acestui algoritm, pentru i = 1,<br />
se pornește de la realitatea conform căreia<br />
valorile parametrilor cinematici absoluţi ce corespund bazei fixe a structurii mecanice a robotului sunt<br />
0 0 0 0<br />
{ ω0 = 0, ω0<br />
= 0, v0 = 0, vɺ 0 = 0}<br />
ɺ . Pentru stabilirea ecuaţiilor MCD se determină mai întâi parametrii<br />
cinematici (viteze și accelerații liniare și unghiulare) ce definesc mișcarea fiecărui element în raport cu<br />
sistemul de referință fix { 0 } , respectiv sistemul de referință mobil { i } . În cazul în care, i = n , se determină<br />
parametrii cinematici ce caracterizează mişcarea absolută și relativă a efectorului final:<br />
( n) 0 ( n) 0 ( n) 0 ( n) 0<br />
{ ω ; ɺ<br />
n ωn ; vn; vɺ<br />
n } . În aplicarea algoritmului iterativ, dezvoltat în [N05], [N22], se parcurg etapele:<br />
1. Se stabilește modelul geometric direct pentru structura de robot supusă analizei utilizând unul<br />
dintre algoritmii prezentați anterior (Algoritmul matricelor de situare, Algoritmul operatorilor de tip PG,<br />
Algoritmul operatorilor compuși de tip DH, respectiv Algoritmul exponențialelor de matrice).<br />
Rezultatele obținute vor constitui date de intrare în modelarea cinematică directă (MCD).<br />
2. În prima etapă de aplicare a algoritmului se introduc vitezele și accelerațiile liniare și unghiulare<br />
0 0 0 0<br />
corespunzătoare bazei fixe a robotului sunt definite astfel:{ ω0 = 0, ɺ ω0<br />
= 0, v0 = 0, vɺ 0 = 0}<br />
3. Pentru i = 1 → n , se determină vitezele unghiulare și liniare ce definesc mișcarea absolută a<br />
fiecărui element, utilizând expresiile prezentate mai jos:<br />
0<br />
ω = ω + Δ ⋅qɺ ⋅ k = ω + Δ ⋅ [ R] ⋅qɺ ⋅ k ; (2.93)<br />
0 0 0 0 i<br />
i i−1 i i i i−1 i i i i<br />
( − ω − − ) ( )<br />
0 0 0 0<br />
vi = vi 1 + i 1 × pii 1 + 1− Δ i ⋅qi ⋅ ki<br />
73<br />
ɺ ; (2.94)<br />
4. Similar, pentru fiecare cuplă a robotului i = 1 → n , accelerațiile unghiulare și liniare<br />
corespunzătoare, proiectate pe sistemul de referință fix sunt definite astfel:<br />
ɺ 0 0<br />
ω = ɺ ω + Δ ⋅ { ω × qɺ ⋅ i [ R] ⋅ k + qɺɺ ⋅ i [ R] ⋅ k } ; (2.95)<br />
0 0 0 i i<br />
i i−1 i i−1 i i i i<br />
( − ω − − ω − ω − − ) ( ){ ω<br />
}<br />
ɺ ɺ ɺ ɺ ɺɺ ; (2.96)<br />
0 0 0 0 0 0 0 0<br />
vi = vi 1 + i 1 × pii 1 + i 1 × i 1 × pii 1 + 1− Δ i 2⋅ i × qi ⋅ ki + qi ⋅ ki
ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />
5. Pentru i = 1 → n , se determină parametrii cinematici, ce caracterizează mișcarea fiecărui<br />
element, cu proiecții pe sistemul de referință mobil { }<br />
i . Astfel, vitezele unghiulare și liniare se<br />
determină utilizând următoarele expresii:<br />
[ ] [ ]<br />
i 0 T 0 i i 1 i<br />
ωi R ωi R ω<br />
i i 1<br />
i 1 i qi ki<br />
−<br />
= ⋅ = ⋅<br />
−<br />
− + Δ ⋅ ⋅<br />
− − −<br />
[ ] [ ] { − ω − − } ( )<br />
74<br />
ɺ ; (2.97)<br />
i 0 T 0 i i 1 i 1 i 1 i<br />
vi = R ⋅ vi = R ⋅ v<br />
i i 1<br />
i 1 + ⋅ i 1 × pii 1 + 1− Δ i ⋅qi ⋅ k<br />
−<br />
i<br />
ɺ . (2.98)<br />
6. Expresiile accelerațiilor unghiulare și liniare, proiectate pe sistemul de referință mobil { }<br />
i ce<br />
caracterizează mișcarea fiecărui element, i = 1→ n,<br />
sunt definite pe baza expresiilor de mai jos:<br />
{ }<br />
i ɺ 0<br />
[ ] 0 i i<br />
[ ] i−1 [ ] i−1 i i<br />
ω = R ⋅ ɺ ω = R ⋅ ɺ ω + Δ ⋅ R ⋅ ω × qɺ ⋅ k + qɺɺ ⋅ k ; (2.99)<br />
i i i i−1 i−1 i i−1 i−1 i i i i<br />
[ ] − [ ] { −<br />
−<br />
ω −<br />
−<br />
−<br />
−<br />
ω −<br />
−<br />
ω −<br />
−<br />
− }<br />
i i i<br />
+ ( 1− Δ i ) ⋅( 2⋅ ω i × qɺ i ⋅ ki + qɺɺ i ⋅ ki<br />
)<br />
ɺ = ⋅ ɺ = ⋅ ɺ + ɺ × + × × +<br />
i i 0 i i 1 i 1 i 1 i 1 i 1 i 1<br />
vi R vi R vi 1 i 1 p<br />
i 1 i 1<br />
ii 1 i 1 i 1 p<br />
− −<br />
ii 1<br />
(2.100)<br />
7. În ultima etapă a aplicării algoritmului iterativ, pentru i = n , este definită mişcarea absolută a<br />
efectorului final, ținând seama de ecuaţiile de situare respectiv de vitezele şi acceleraţiile liniare şi<br />
unghiulare absolute (vitezele şi acceleraţiile operaţionale).<br />
( n) 0 ( n) 0 T ( n) 0 T<br />
X<br />
ɺ<br />
= ⎡ vn ω ⎤<br />
⎣ n ⎦<br />
T<br />
; (2.101)<br />
T<br />
( n) 0 ( n) 0 T ( n) 0 T<br />
X<br />
ɺɺ<br />
= ⎡ vɺ ɺ<br />
n ω ⎤<br />
⎣ n . (2.102)<br />
⎦<br />
Expresiile (2.101) și (2.102), reprezintă ecuațiile cinematicii directe (MCD) ce caracterizează mișcarea<br />
absolută a efectorului final și care vor fi utilizate ca și date de intrare în modelarea dinamică.<br />
2.2.2 Matricea Jacobiană bazată pe matricele de transfer<br />
Matricea Jacobiană este utilizată în mecanica roboților pentru a realiza transferul vitezelor din<br />
spațiul configurațiilor în spațiul cartezian al mișcării. Această matrice caracterizează o anumită<br />
configurație a robotului în spațiul de lucru. În continuare este prezentat un algoritm de determinare a<br />
componentelor matricei Jacobiene, conform cu [N22], bazat pe metoda matricelor de transfer. În<br />
aplicarea acestui algoritm, datele de intrare sunt reprezentate de ecuațiile modelului geometric direct.<br />
Din modelul geometric direct al structurii de robot supus analizei, se utilizează matricele de transformare<br />
omogenă dintre sistemele { i} →{ i− 1}<br />
, respectiv dintre sistemele { i} → { 0}<br />
, a căror componente au fost
. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
determinate anterior cu unul din algoritmii prezentați în paragraful §2.1.<br />
Etapele care trebuie parcurse în aplicarea algoritmului matricelor de transfer, [N22] sunt următoarele:<br />
1. În prima etapă, din modelul geometric direct se extrag matricele de transformare omogenă<br />
dintre sistemele i → j , notate cu i [ T ] ⎡ ⎣q ( ), k t k = j + 1 → i⎤⎦<br />
j<br />
75<br />
, unde i = 1 → n + 1 și<br />
j = 0 → i − 1 , definite corespunzător cu unul din algoritmii prezentați anterior în cadrul §2.1.<br />
2. Pe baza matricelor definite la pasul anterior, următorul pas constă în definirea matricei de transfer<br />
a vitezelor liniare V ( θ ) , a cărei componente, V i (i = 1 → n ) se determină astfel:<br />
V ( θ ) = V , i = 1 → n ; (2.103)<br />
( 3× n)<br />
∂ p<br />
[ ]<br />
0<br />
unde [ ] i<br />
V = = i R ⋅ k ⋅( p − p )<br />
unde<br />
i<br />
i i i<br />
∂qi<br />
. (2.104)<br />
3. Pentru i = 1 → n , în continuare se determină derivata în raport cu timpul a matricei de<br />
transfer a vitezelor liniare Vɺ ( θ ) . În acest scop, se utilizează următoarea expresie:<br />
Vɺ ( θ ) = ⎡ Vɺ ⎣ i , i = 1 → n ⎤⎦<br />
; (2.105)<br />
( 3× n)<br />
i j<br />
j= 1 ∂qi ⋅∂q<br />
j<br />
2<br />
n p<br />
Vɺ ∂<br />
= ⋅qɺ<br />
, i = 1 → n.<br />
(2.106)<br />
∑<br />
4. În continuare, utilizând aceleași date de intrare, se determină matricea de transfer a vitezelor<br />
unghiulare Ω ( θ ) , având componentele, Ω i , i = 1→ n definite cu expresiile prezentate mai jos:<br />
Ω ( θ ) = Ω , i = 1 → n ; (2.107)<br />
( 3× n)<br />
[ ]<br />
i<br />
unde,<br />
⎧ ∂ 0 0 T 0 { [ ] } [ ] ⎫ [ ] i<br />
Ω i = vect ⎨ n R ⋅ n R ⎬⋅Δ<br />
i = i R ⋅ ki<br />
⋅ Δ i .<br />
⎩∂qi ⎭<br />
(2.108)<br />
5. Derivata în raport cu timpul a matricei de transfer a vitezelor unghiulare Ω( θ ) ɺ , având<br />
unde,<br />
componentele, i Ωɺ (i = 1→ n)<br />
se obține prin derivarea în raport cu timpul a componentelor Ω i , astfel:<br />
Ω ɺ ( θ ) = ⎡ Ω ɺ<br />
⎣ i,<br />
i = 1 → n ⎤⎦<br />
; (2.109)<br />
( 3× n)<br />
n<br />
⎧ ∂ 0 0 T 0<br />
{ [ ] } [ ] ⎫ [ ] i<br />
Ω ɺ<br />
i = ∑vect<br />
n R ⋅ n R ⋅ Δ i = i Rɺ ⎨ ⎬ ⋅ ki<br />
⋅ Δ i . (2.110)<br />
i= 1 ⎩∂qi ⎭<br />
6. Matricea de transfer a accelerațiilor liniare A( θ ) , este definită, astfel:<br />
( )<br />
3xn
ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />
A( θ ) = ⎡V ( θ ) Vɺ<br />
⎣ ( θ ) ⎤⎦<br />
. (2.111)<br />
( 3× n)<br />
unde V ( θ ) , respectiv Vɺ ( θ ) au fost determinate anterior la pasul 3 și 4<br />
7. Matricea de transfer a accelerațiilor unghiulare Ε ( θ ) este definită, cu expresia:<br />
Ε ( θ ) = ⎡⎣ Ω( θ ) Ωɺ<br />
( θ ) ⎤⎦<br />
. (2.112)<br />
( 3× n)<br />
8. Matricea Jacobiană, în raport cu sistemul fix, pentru care se va folosi notația ( ) 0<br />
J ( θ ) , este<br />
definită, utilizând matricele de transfer definite anterior, conform expresiei prezentată mai jos:<br />
( 0) ( ) ⎡ ( ) V1 V2 ... Vn<br />
J<br />
V θ ⎤ ⎡ ⎤<br />
θ =<br />
( 6xn) ⎢ ( θ ) ⎥ = ⎢<br />
1 2 ... ⎥ . (2.113)<br />
⎣Ω ⎦ ⎣Ω Ω Ωn<br />
⎦<br />
9. Derivata în raport cu timpul a matricei Jacobiene, față de sistemul de referință fix,<br />
( 0) Jɺ ( θ ) , se determină cu următoarea expresie matriceală:<br />
( 0) ( ) ⎡ ( ) V1 V2 ... Vn<br />
J<br />
V θ ⎤ ⎡ ɺ ɺ ɺ<br />
ɺ<br />
ɺ<br />
⎤<br />
θ =<br />
( 6xn) ⎢ =<br />
( θ ) ⎥ ⎢<br />
Ω1 Ω2 ... Ω<br />
⎥<br />
⎣Ωɺ ⎦<br />
ɺ ɺ ɺ<br />
. (2.114)<br />
⎣ n ⎦<br />
10. Ecuaţiile matriceale pentru vitezele și acceleraţiile operaţionale, ale efectorului final, proiectate<br />
pe sistemul de referință fix{ }<br />
0 , sunt prezentate în expresiile următoare:<br />
( )<br />
0<br />
0 ɺ ⎡ v ⎤ ⎡ n V θ ⎤ ( 0)<br />
X = ( )<br />
0 = ⋅<br />
ɺ<br />
θ = J θ ⋅<br />
ɺ<br />
⎢ ⎥ ⎢ θ<br />
( 6× 1)<br />
ω ( ) ⎥<br />
; (2.115)<br />
⎣ n ⎦ ⎣Ω θ ⎦<br />
0<br />
0 ⎡ v ⎤ ⎡ ( )<br />
n A θ ⎤ ⎡ ɺɺ<br />
ɺɺ<br />
ɺ<br />
θ ⎤ ( 0) ( ) ( ) 0<br />
X = ( )<br />
0 = ⋅ = J θ ⋅<br />
ɺɺ<br />
⎢ ⎥ θ + Jɺ<br />
θ ⋅<br />
ɺ<br />
⎢ ⎥ ⎢ θ<br />
( 6× 1)<br />
ω ( ) ⎥<br />
⎣ n ⎦ ⎣Ε θ ɺ<br />
; (2.116)<br />
ɺ<br />
⎦ ⎢⎣ θ ⎥⎦<br />
În expresiile (2.115), respectiv (2.116), definite anterior se poate observa că alături de matricea<br />
Jacobiană este implementată de asemenea şi derivata sa în raport cu timpul.<br />
În cazul în care se dorește exprimarea vitezelor și accelerațiilor operaționale în raport cu sistemul<br />
{ }<br />
n se introduce operatorul matriceal, n R care are rolul de a realiza transferul de la un sistem la altul.<br />
( ) ( ) n<br />
n vn<br />
n 0 n<br />
X<br />
ɺ ⎡ ⎤<br />
= = R ⋅ X<br />
ɺ<br />
= J( θ ) ⋅<br />
ɺ n<br />
⎢ θ<br />
n ⎥<br />
, unde ( ) n 0<br />
J θ = R ⋅ J(<br />
θ ) (2.117)<br />
⎣ ωn<br />
⎦<br />
−<br />
[ R] [ 0]<br />
[ 0] [ R]<br />
⎡ ɺ ⎤ ⎡ ⎤ ⎡ ɺ ⎤<br />
⎢ ⎥ ⎢ ⎥ . (2.118)<br />
⎢⎣ ⎥⎦ ⎣ ⎦ ⎢⎣ ⎥⎦<br />
n 0 1<br />
0<br />
n ɺɺ vn v<br />
n<br />
n<br />
X = = ⎢ ⎥<br />
n 0 −1<br />
⋅<br />
ɺ 0<br />
ωn ⎢ ⎥ ɺ ω<br />
n<br />
n<br />
Acceleraţiile operaţionale în sistemul mobil{ n } sunt definite astfel:<br />
76
. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
n 0<br />
n vn n vn<br />
n 0<br />
X<br />
ɺɺ ⎡ ɺ ⎤ ⎡ ɺ ⎤<br />
= ⎢ = R ⋅ = R ⋅ ⎡ J n 0<br />
( θ<br />
ɺ ⎥ ⎢ )<br />
ω ɺ ⎥<br />
n ω ⎣<br />
⎣ ⎦ ⎣ n ⎦<br />
⎡ ɺɺ<br />
0 θ ⎤<br />
Jɺ<br />
( θ ) ⎤<br />
⎦<br />
⋅ ⎢ ⎥ .<br />
⎢ ɺ<br />
⎣θ ⎥⎦<br />
(2.119)<br />
În final, ecuaţiile MCD în raport cu sistemul{ n } , exprimate cu ajutorul matricei Jacobiene, sunt:<br />
n<br />
n ⎡ v ⎤<br />
n<br />
n n<br />
X<br />
ɺ<br />
= = J n ( θ ) ⋅<br />
ɺ n vn<br />
n<br />
⎢ ⎥ θ , X<br />
ɺɺ ⎡ ɺ ⎤<br />
= ⎢ = ⎡ J n ( θ )<br />
⎣ ω<br />
ɺ ⎥<br />
n ⎦<br />
ω ⎣<br />
⎣ n ⎦<br />
⎡ ɺɺ<br />
n θ ⎤<br />
Jɺ<br />
( θ ) ⎤<br />
⎦<br />
⋅ ⎢ ⎥<br />
⎢ ɺ<br />
⎣θ ⎥⎦<br />
(2.120)<br />
Expresiile (2.117) respectiv (2.119) servesc la realizarea transferului matricei Jacobiene din sistemul de<br />
referinţă fix { }<br />
0 în sistemul de referinţă mobil{ }<br />
n , operatorul matriceal de transfer fiind simbolizat n R .<br />
2.2.3 Matricea Jacobiană definită pe baza matricelor diferenţiale<br />
În cadrul acestei secţiuni, în vederea determinării matricei Jacobiene în raport cu sistemul de<br />
referinţă fix şi respectiv mobil se recurge la aplicarea matricelor diferenţiale ale transformărilor omogene,<br />
model și algoritm dezvoltat în cadrul [N22].<br />
► Matricea Jacobiană proiectată pe sistemul fix { }<br />
0 și pe sistemul { }<br />
n .<br />
Fiecare coloană ( 6 × 1)<br />
din componența matricei Jacobiene, dar și a derivatei de ordinul întâi, în raport<br />
cu timpul, exprimate față de sistemele de referinţă{ }<br />
0 şi { }<br />
n se determină cu expresiile:<br />
0<br />
( )<br />
⎡ Ani p ⎤<br />
Ji<br />
= ⎢ 0<br />
[ ] i ⎥ ;<br />
⎢ i R ⋅ ki<br />
⋅ Δ<br />
⎣ i ⎥⎦<br />
0 T ⎡ n[<br />
R] [ 0]<br />
⎤<br />
Ji = R ⋅ Ji = ⎢ 0 T ⎥ ⋅ Ji<br />
; (2.121)<br />
⎢⎣ [ 0] n[<br />
R]<br />
⎥⎦<br />
n n 0 0<br />
n ⎡ ⎤<br />
⎢ ∑ Anij ( p) ⋅q<br />
j ⎥<br />
0<br />
0<br />
j= 1<br />
⎡<br />
Jɺ<br />
⎢ ⎥<br />
[ ] T<br />
n n 0 n R<br />
i = i<br />
; Jɺ i = R ⋅ Jɺ i = ⎢<br />
⎢⎧ ( )<br />
⎫ i ⎥<br />
⎢⎨∑ Aij R ⋅q j ⎬⋅<br />
ki<br />
⋅Δ<br />
⎢ [ ]<br />
i ⎥<br />
⎣ 0<br />
⎣⎩ j= 1 ⎭ ⎦<br />
[ 0]<br />
⎤<br />
0<br />
0 ⎥ ⋅ Jɺ<br />
i .<br />
[ ] T<br />
n R ⎥⎦<br />
(2.122)<br />
unde n R reprezintă operatorul matriceal de transfer între sistemul fix { 0} şi sistemul mobil { n } .<br />
Matricele diferențiale, ale transformărilor omogene, utilizate în definirea matricei Jacobiene se determină:<br />
0 j<br />
0 i<br />
A = [ T ] ⋅U ⋅ [ T ] ; A = [ T ] ⋅U ⋅ [ T ] ; (2.123)<br />
ij j j i<br />
77<br />
ni i i n<br />
0 k j<br />
0 j i<br />
A = [ T ] ⋅U ⋅ [ T ] ⋅U ⋅ [ T ] ; A = [ T ] ⋅U ⋅ [ T ] ⋅U ⋅ [ T ] . (2.124)<br />
ijk k k j j i<br />
nij j j i i n<br />
După cum se poate observa, din expresiile (2.123) respectiv (2.124), definite anterior, matricele<br />
diferențiale de ordinul întâi respectiv de ordinul al doilea rezultă în urma aplicării derivatei parțiale de ordinul<br />
întâi / al doilea asupra matricelor de transformare omogene, utilizând în acest sens un operator matriceal<br />
cunoscut sub denumirea de operatorul Uicker. De aceea, aceste matrice sunt întâlnite în literatura de
ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />
specialitate [N05] și [N22], sub denumirea de matricele diferențiale ale transformărilor omogene.<br />
Operatorul matriceal de derivare parțială Uicker din expresia de definiție a matricelor diferențiale, este:<br />
i<br />
În expresia (2.125), { }<br />
i<br />
U<br />
i<br />
{ } ( )<br />
⎡ i i<br />
kix ⋅Δ i 1− Δi ⋅ k ⎤<br />
= i<br />
⎢ ⎥ . (2.125)<br />
⎣ 0 0 0 0 ⎦<br />
k x reprezintă matricea antisimetrică asociată versorului axei motoare.<br />
2.2.4 Algoritmul Exponenţialelor de Matrice în cinematica directă<br />
În cadrul acestei secţiuni va fi prezentat algoritmul exponenţialelor de matrice din cinematica directă,<br />
dezvoltat în [N22]. Acest algoritm este utilizat în modelarea cinematică a roboților industriali pentru<br />
determinarea matricei Jacobiene (matricea de transfer a vitezelor) și a derivatei acesteia de ordinul întâi în<br />
raport cu timpul. Datele de intrare pentru acest algoritm sunt reprezentate de rezultatele obținute în urma<br />
aplicării algoritmului exponenţialelor de matrice din geometria directă (MEG), prezentat în cadrul §2.1.4,<br />
respectiv de funcţiile exponenţiale din cinematica directă. Etapele principale care trebuie parcurse în<br />
aplicarea algoritmul exponenţialelor de matrice din cinematica directă (MEK), conform [N22] sunt:<br />
1. Prima variantă a algoritmului constă în aplicarea directă a exponenţialei de matrice asupra celor<br />
două componente ale matricei Jacobiene (componenta liniară<br />
( 0)<br />
J ( θ ) ). Astfel, rezultă expresia în formă exponențială a matricei Jacobiene:<br />
iΩ<br />
{ } T<br />
T T<br />
⎣ iv ⎦ ⎣ iΩ<br />
⎦<br />
( 0) ( ) 0 ( ) 0<br />
J θ = ⎡ J θ ⎤ ⎡ J ( θ ) ⎤ { i = 1 → n}<br />
78<br />
( 0)<br />
J ( θ ) și cea unghiulară<br />
iv<br />
; (2.126)<br />
0<br />
Jiv ( θ ) Ani ( p) i−1 ⎧ ( 0) exp ⎨∑{ k j } qj ⎫<br />
j ⎬<br />
( 0) vi n ⎧ ( 0) exp ⎨∑ kk qk ⎫<br />
k ⎬<br />
0<br />
pn<br />
j= 0 k= i<br />
{ } ( )<br />
⎣⎡ ⎦⎤<br />
= = × ⋅Δ ⋅ + × ⋅Δ ⋅ +<br />
⎩ ⎭ ⎩ ⎭<br />
⎧ i−1 n k 1<br />
( 0) ⎫ ( ) ⎧ −<br />
0 ⎪ ⎧ ⎧ ( 0)<br />
⎫ ⎫<br />
+Δi ⋅ exp⎨ { k j × } qj ⋅Δ j ⎬⋅<br />
{ ki × } ⋅ ⎨ ⎨exp ⎨ { km × } qm⋅δ m⎬ ⋅bk<br />
⎬;<br />
⎩ j= 0 ⎭ ⎪⎩ k= i ⎩ ⎩m= i−1 ⎭ ⎭<br />
∑ ∑ ∑ (2.127)<br />
{ } ( )<br />
( )<br />
i 1<br />
0 ( )<br />
( ) 0 0<br />
Ji θ exp<br />
⎧ −<br />
k j q<br />
⎫<br />
⎣<br />
⎡<br />
Ω ⎦<br />
⎤= ⎨ ∑ × j ⋅ Δ j ⎬⋅<br />
ki<br />
⋅Δi<br />
. (2.128)<br />
⎩ j= 0<br />
⎭<br />
2. În această etapă de aplicare a algoritmului MEK, se deschide un ciclu exterior ( i = 1 → n)<br />
.<br />
În cadrul acestui ciclu se introduc următoarele matrice:<br />
{ }<br />
⎧ i−1 ( 0)<br />
⎫<br />
ME ( Vi1 ) = exp⎨ ∑ { k j × } qj<br />
⋅ Δ j ⎬<br />
( 3× 3) ⎩ j= 0<br />
⎭ ; ( 0)<br />
ME ( Vi2 ) = ⎡ I3 Δi ⋅ ki<br />
× ⎤<br />
( 3× 6)<br />
⎢⎣ ⎥<br />
; (2.129)<br />
⎦
. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
[ ] [ ]<br />
⎡ I3 0 0 ⎤<br />
⎢ ⎥<br />
ME ( V )<br />
k 1 n<br />
i3 = −<br />
⎢[ ]<br />
( 0)<br />
( 0)<br />
{ ( ) }<br />
0 exp{ { km } qm δm<br />
m} exp{<br />
{ kk } q ⎥ ; (2.130)<br />
6x ⎡9+ 3⋅ n−i ⎤<br />
∑ × ⋅ ⋅Δ ∑ × k ⋅ Δk<br />
⎣ ⎦ ⎢ }<br />
m= i− 1 k= i<br />
⎥<br />
⎣ ⎦<br />
{ { } { } }<br />
unde k = i → n, δ = 0; m = i −1 ; 1; m ≥ i .<br />
ME J<br />
( 6× 6)<br />
m<br />
3. Pentru matricea Jacobiană se mai introduc matricele prezentate mai jos și anume:<br />
{ }<br />
i1<br />
{ i1}<br />
[ ]<br />
[ 0] ME { V }<br />
⎡ME V 0 ⎤<br />
= ⎢ ⎥<br />
⎢⎣ i1 ⎥⎦<br />
; ME { J }<br />
( 6× 9)<br />
i2<br />
{ } [ ]<br />
⎡ME Vi2 0 ⎤<br />
⎡ME Vi3 0 ⎤<br />
= ⎢ ⎥ ; ME<br />
⎢<br />
[ 0] { Ji3}<br />
= ⎢ ⎥ . (2.131)<br />
I<br />
⎣ 3 ⎥<br />
[ ]<br />
⎦ { 9× [ 12+ 3⋅( n−i) ] } ⎢ 0 I<br />
⎣ 3 ⎥⎦<br />
79<br />
{ } [ ]<br />
4. Matricele obținute la pasul anterior, sunt utilizate în continuare pentru a determina elementele<br />
coloanei i a matricei Jacobiene, prin aplicarea următoarei transformări:<br />
( 0)<br />
ME { Ji} 6× 12+ 3⋅( n−i) ME Ji1 ME Ji2 ME Ji3<br />
{ } { } { }<br />
= ⋅ ⋅ . (2.132)<br />
{ [ ] }<br />
5. Matricea ce conține vectorii coloană definiți cu (2.127) la care se mai adaugă și componenta<br />
( 0) T<br />
k Δ ⋅ , este determinată cu expresia de mai jos, după cum urmează:<br />
i i<br />
( 0) T<br />
T ( 0) T ( 0) T<br />
Mivω = ⎡ vi bk ; k i n pn i k ⎤<br />
⎣<br />
⎡⎣ = → ⎤⎦<br />
Δ ⋅ i ⎦<br />
{ ⎡12+ 3⋅( n− i) ⎤ × 1}<br />
⎣ ⎦<br />
6. În cadrul acestei etape se determină matricea Jacobiană , în forma prezentată mai jos:<br />
( )<br />
J ( θ ) = ⎡ J i = 1 → n⎤ = ME { J } ⋅ME { J } ⋅ME { J } ⋅ M = ME J ⋅M<br />
( 6× n) ⎢⎣ ( 6× 1)<br />
⎥⎦<br />
T<br />
{ }<br />
0 0 0<br />
i i1 i2 i3 ivω i ivω<br />
unde matricele { } , { } , { }<br />
ME Ji1 ME Ji2 ME Ji3 respectiv iv<br />
. (2.133)<br />
; (2.134)<br />
M ω au fost definite cu expresiile (2.131) și (2.133)<br />
7. În determinarea operatorului de transfer şi a matricei Jacobiene față de sistemul{ n } , se<br />
consideră (2.88), care aplicată în (2.117) și (2.118) va conduce la următoarea expresie matriceală:<br />
( n) ( ) ( ) ( n ) 0<br />
J θ = ME R ⋅ J(<br />
θ )<br />
{ } [ ]<br />
( )<br />
−1<br />
1<br />
0 ⎧ ( 0)<br />
⎫<br />
( Rn0 ) ⋅e ⎨− ∑ { ki × } qi ⋅ Δ i ⎬<br />
0<br />
⎩ i= n ⎭<br />
0<br />
−1<br />
1<br />
[ ]<br />
( 0) ⎧ ( 0)<br />
⎫<br />
0 ( Rn0 ) ⋅exp ⎨− { ∑ { ki × } qi<br />
⋅Δ i}<br />
⎬<br />
i= n<br />
⎡ ⎤<br />
⎢ ⎥ ; (2.135)<br />
( ) ⎢ ⎥ ⋅ J(<br />
θ )<br />
⎢ ⎥<br />
⎢<br />
⎩ ⎭<br />
⎥<br />
⎣ ⎦<br />
unde ( ) 0<br />
J( θ ) va fi substituită cu expresia (2.134), determinată anterior.<br />
8. Următoarele etape ale aplicării algoritmului sunt consacrate determinării derivatei în raport cu<br />
timpul a matricei Jacobiene. Pentru început, sunt determinate derivatele în raport cu timpul ale
ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />
funcţiilor matriceale. Derivatele funcțiilor matriceale în formă exponențială sunt determinate astfel:<br />
( )<br />
{ j }<br />
d ⎧⎪ ⎧ p 0 ⎫⎫⎪<br />
⎨exp⎨ ∑ k × qj<br />
⋅Δ j ⎬⎬ =<br />
dt ⎪⎩ ⎩ j= l<br />
⎭⎪⎭<br />
; (2.136)<br />
i−1 ⎧ ⎧ j−1 ( 0) ⎫⎫ ( 0) ⎧⎪ ⎧ p ( 0)<br />
⎫⎫⎪<br />
= ∑⎨exp<br />
⎨ ∑ { kk × } qk ⋅δ jk ⋅Δ k ⎬⎬{ k j × } ⋅qɺ j ⋅Δ j ⎨exp⎨ ∑ { km × } qm<br />
⋅δm ⋅Δ m⎬⎬<br />
j= 1⎩<br />
⎩k= 0 ⎭⎭ ⎪⎩ ⎩m= j<br />
⎭⎪⎭<br />
unde, l = 0 → i; p = i −1 → n; δ = { { 0, j > p} ; { 1, j ≤ p}<br />
}<br />
k 1 ( 0<br />
k−1 d ⎧ ⎧ − ) ⎫⎫ ⎧⎪ ⎧ l−1 ( 0) ⎫⎫⎪<br />
( 0) ⎧ ⎧k−1 ( 0)<br />
⎫⎫<br />
⎨exp ⎨ ∑ { km × } qm⋅δm ⋅Δ m⎬⎬ = ∑ ⎨exp ⎨ ∑ { kp × } qp ⋅Δ p⎬⎬{ kl × } qɺ l ⋅Δ l ⎨exp ⎨∑ { kr × } qr<br />
⋅Δr<br />
⎬⎬;<br />
(2.137)<br />
dt ⎩ ⎩m= i− 1 ⎭⎭ l= i−1⎩⎪ ⎩p= i− 1 ⎭⎭⎪<br />
⎩ ⎩r= l ⎭⎭<br />
n<br />
d ⎧ ⎧ n ( 0) ⎫⎫ ⎧ ⎧ k−1 ( 0) ⎫⎫ ( 0) ⎧ ⎧ n ( 0)<br />
⎫⎫<br />
⎨exp⎨ ∑{ kk × } qk ⋅Δ k ⎬⎬ = ∑⎨exp⎨ ∑ { kl × } ql ⋅δl ⋅Δl ⎬⎬⋅ { kk × } qɺ k ⋅Δk ⋅ ⎨exp ⎨ ∑ { km × } qm⋅Δ<br />
m⎬⎬.<br />
(2.138)<br />
dt ⎩ ⎩k= i ⎭⎭ ⎩ ⎩l= i− 1 ⎭⎭ ⎩ ⎩m= k<br />
⎭⎭<br />
k= i<br />
jk<br />
9. Utilizând (2.136) - (2.138), rezultă derivatele în raport cu timpul ale expresiilor (2.131) în forma:<br />
{ ɺ<br />
i1}<br />
[ ]<br />
[ 0] ME { Vɺ<br />
}<br />
{ ɺ } [ ]<br />
⎡ME V<br />
ME { Jɺ<br />
i1}<br />
= ⎢<br />
⎢<br />
⎣<br />
0<br />
i1<br />
⎤<br />
⎡ME Vi2 ⎥ ; ME { Jɺ<br />
i2}<br />
= ⎢<br />
⎥<br />
⎢ [ 0] ⎦<br />
⎣<br />
0 ⎤<br />
⎡ME Vɺ i3<br />
⎥ ; ME { Jɺ<br />
i3}<br />
= ⎢<br />
I3<br />
⎥<br />
⎢ [ 0] ⎦<br />
⎣<br />
0 ⎤<br />
⎥ ; (2.139)<br />
I3<br />
⎥<br />
⎦<br />
unde, ME { Vi1} ɺ se determină conform pasului 8, în forma prezentată mai jos:<br />
d i−1 ( 0)<br />
{ ɺ } exp ∑ { j }<br />
80<br />
{ } [ ]<br />
⎧⎪ ⎧ ⎫⎫⎪<br />
ME Vi1 = ⎨ ⎨ k × qj<br />
⋅Δ j ⎬⎬ =<br />
dt ⎪⎩ ⎩ j= 0<br />
⎭⎪⎭<br />
; (2.140)<br />
i−1 ⎧ ⎧ j−1 ( 0) ⎫⎫ ( 0) ⎧⎪ ⎧ p ( 0)<br />
⎫⎫⎪<br />
= ∑⎨exp<br />
⎨ ∑ { kk × } qk ⋅δ jk ⋅Δ k ⎬⎬{ k j × } qɺ j ⋅Δ j ⋅ ⎨exp⎨ ∑ { km × } qm<br />
⋅δm ⋅Δm<br />
⎬⎬<br />
j= 1⎩<br />
⎩k= 0 ⎭⎭ ⎪⎩ ⎩m= j<br />
⎭⎪⎭<br />
Înlocuind (2.140) în prima expresie a grupului de relații (2.139) se obține:<br />
( ) { k } [ ]<br />
j × qj ⋅Δ j<br />
0<br />
⎡ d ⎧ ⎧ i−1 0 ⎫⎫<br />
⎤<br />
⎢ ⎨exp⎨ ∑<br />
⎬⎬<br />
⎥<br />
⎢dt ⎩ ⎩ j= 0<br />
⎭⎭<br />
⎥<br />
ME { Jɺ<br />
i1}<br />
= ⎢ ⎥ ; (2.141)<br />
d i−1 ⎢ ⎧ ( 0)<br />
[ 0] ⎧ ⎫⎫<br />
exp { k j } q<br />
⎥<br />
⎢ ⎨ ⎨ ∑ × j ⋅Δ j ⎬⎬<br />
dt<br />
⎥<br />
⎩ ⎩ j= 0<br />
⎢ ⎭<br />
⎣<br />
⎭⎥⎦<br />
Aplicând aceeași succesiune de transformări ca și în primul caz dar înlocuind relațiile (2.137) și<br />
(2.138) în derivata expresiei matriceale (2.130), va rezulta:<br />
⎡ I [ ] [ ]<br />
3<br />
0 0<br />
⎤<br />
⎢ ⎥<br />
d k−1 ( 0)<br />
ME { Vɺ ⎢ ⎡ ⎧ ⎧<br />
}<br />
exp { m } ⎫⎫⎤<br />
⎥<br />
m m m<br />
n<br />
i3 = ⎢ k q<br />
d<br />
( 0)<br />
[ 0] ⎢ ⎨ ⎨ ∑ × δ Δ ⎬⎬⎥<br />
⎧ ⎧ ⎫⎫⎥<br />
. (2.142)<br />
⎢ ⎢dt ⎩ ⎩m= i−1 ⎭⎭⎥ ⎨exp⎨ ∑ { kk × } qkΔ<br />
k ⎬⎬<br />
dt<br />
⎥<br />
⎩k= i<br />
⎢ ⎩ ⎭⎭<br />
⎣<br />
⎢ k = i → n ⎦<br />
⎥<br />
⎥<br />
⎢⎣ ⎥⎦<br />
În final, înlocuind (2.142) în a treia relație a sistemului (2.139), se obține expresia pentru ME { Ji3} ɺ .
. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
10. Coloana i a derivatei matricei Jacobiene,<br />
( )<br />
0<br />
( 0)<br />
J = M{ J } ⋅M{ J } ⋅M{ J } ⋅M{<br />
J }<br />
J ɺ poate fi scrisă ca un produs matriceal:<br />
i i1 i2 i3 i4<br />
i<br />
ɺ ɺ ɺ ɺ ɺ . (2.143)<br />
11. Se determină expresiile celor patru matrice din componența coloanei i a matricei Jacobiene:<br />
{ }<br />
{ i1} { i1} { i1} { i1}<br />
⎡ME { J } [ ] [ ]<br />
i2 0 0 ⎤<br />
⎢ ⎥<br />
ɺ [ ] { } [ ]<br />
i2 = ⎢ i2 ⎥ ; { }<br />
⎢ ⎥<br />
[ 0] [ 0] ME { J }<br />
M J 0 ME J 0<br />
⎢ i2 ⎥<br />
⎣ ⎦<br />
M Jɺ = ⎡ ME Jɺ ME J ME J ⎤ ; (2.144)<br />
⎣ ⎦<br />
81<br />
{ } [ ] [ ]<br />
⎡ME Ji3 ⎢<br />
0 0 ⎤<br />
⎥<br />
M Ji3 =<br />
⎢<br />
⎢<br />
⎣<br />
0<br />
[ 0] ME Ji3 [ 0] 0<br />
⎥<br />
ME { Ji3}<br />
⎥<br />
⎦<br />
ɺ ⎢ [ ] { ɺ } [ ] ⎥ ; (2.145)<br />
⎡ ( ) ( ) ( )<br />
T<br />
T<br />
M<br />
⎤ ⎡⎡ 0 T T 0 T 0 ⎤ ⎤<br />
⎢ ivω<br />
⎥ ⎢⎢⎣ vi ⎡⎣ bk ; k = i → n⎤⎦ p { ki<br />
⋅Δ i}<br />
⎥⎦<br />
⎥<br />
⎢ ⎥ ⎢ T ⎥<br />
*<br />
( 0) T T ( 0) T T<br />
M{ Jɺ i4} = ⎢ M ⎥<br />
ivω = ⎢ ⎡<br />
vi bk ; k i n p 0<br />
⎤ ⎥<br />
⎣<br />
⎡⎣ = → ⎤⎦<br />
⎦ . (2.146)<br />
⎢ ⎥ ⎢ ⎥<br />
⎢ ⎥ ⎢ T<br />
T<br />
⎡ T T T ⎤<br />
⎥<br />
⎢ Mɺ<br />
⎥ ⎢<br />
ivω<br />
0 ⎡ ɺ<br />
⎢ bk ; k = i → n⎤ ⎣ ⎦ 0 0 ⎥ ⎥<br />
⎣ ⎦ ⎣ ⎣ ⎦ ⎦<br />
12. Derivata în raport cu timpul a vectorului coloană b k , din expresia (2.146), se determină astfel:<br />
ɺT bk =<br />
( 0) exp { { kk × } qk ⋅Δ k} 0<br />
⋅ vk ⋅ qɺ k =<br />
0<br />
0<br />
R ( kk ; qk ) ⋅Δ k + I3 ⋅( 1− Δk ) ⋅vk ⋅qɺ<br />
k . (2.147)<br />
{ } ( ) ( )<br />
{ } ( )<br />
13. Aplicând expresia de mai jos se obţin elementele fiecărei coloane i a derivatei în raport cu<br />
timpul a matricei Jacobiene, ( 0 i Jɺ ):<br />
{ } { } { } { } { } { }<br />
0<br />
Jɺ i = ME<br />
( i= 1→n) Jɺ i1 ⋅ME Ji2 ⋅ME Ji3 ⋅ Mivω + ME Ji1 ⋅ME Ji2 ⋅ME Jɺ i3<br />
*<br />
⋅ Mivω<br />
+<br />
+ ME { J } ⋅ME { J } ⋅ME { J } ⋅Mɺ<br />
ω .<br />
i1 i2 i3 iv<br />
(2.148)<br />
14. Derivata în raport cu timpul a matricei Jacobiene cu proiecții pe sistemul { n } se determină<br />
conform expresiei (2.117) prin aplicarea operatorului matriceal n R , scris în formă exponențială:<br />
( ) ( ) ( ) ( )<br />
Jɺ θ = ME R ⋅ Jɺ<br />
θ ; (2.149)<br />
n n 0<br />
Operatorul matriceal ( n<br />
ME R) ce realizează transferul de la sistemul{ 0} la sistemul{ n} este definit astfel: .<br />
{ } [ ]<br />
⎡ −1<br />
1<br />
( 0) ( 0)<br />
⎢ { Rn0 } ⋅∏ exp − { ki × } qi ⋅Δ i<br />
( n )<br />
i= n<br />
ME R = ⎢<br />
⎢<br />
⎢ [ 0] ⎢⎣ ⎤<br />
0<br />
⎥<br />
⎥<br />
1 1<br />
.<br />
−<br />
( 0) ( 0)<br />
⎥<br />
{ Rn0 } ⋅∏ exp { − { ki × } qi<br />
⋅Δ i}<br />
⎥<br />
i= n<br />
⎥⎦<br />
(2.150)<br />
În expresia (2.149), ( ) 0<br />
Jɺ ( θ ) este cunoscut, fiind determinat luând în considerare (2.148), astfel:<br />
( 0) ( ) ( ) 0<br />
Jɺ θ = ⎡ Jɺ ⎣ i i = 1 → n⎤<br />
⎦ . (2.151)<br />
15. Ţinând seama de 7 şi 14, ecuaţia matriceală de transfer din sistemul fix { 0} în sistemul mobil { n } a
ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />
matricei Jacobiene şi a derivatei sale în raport cu timpul poate fi scrisă în forma:<br />
⎡ n ( ) { n } [ ] 0<br />
J θ ⎤ ⎡ME R 0 ⎤ ⎡ J ( θ ) ⎤<br />
⎢ ⎥ ⎢ ⎥<br />
=<br />
⎢ ⎥<br />
n ( )<br />
⎢<br />
[ ] { n ⎥<br />
⋅ . (2.152)<br />
⎢ } 0<br />
Jɺ ⎥ ⎢<br />
θ 0 ME R Jɺ<br />
( θ ) ⎥<br />
⎢⎣ ⎥⎦ ⎢<br />
⎣<br />
⎥<br />
⎦ ⎢⎣ ⎥⎦<br />
16. Se determină matricele diferenţiale de ordinul întâi şi doi, în formă exponențială,<br />
corespunzătoare transformărilor de situare utilizând expresiile prezentate mai jos:<br />
unde<br />
⎧ i−1 k<br />
⎪ ⎪⎧ ⎪⎪ ⎫⎫ ⎪⎧ ⎪⎧ ⎪⎪ ⎫⎫<br />
( 0)<br />
Aki = ⎨exp⎨ Aj ⋅q j ⎬⎬⋅ Ai ⋅⎨exp ⎨ Al ⋅ql ⎬⎬⋅Tk0<br />
⎪⎩ ⎪⎩ j= 0 ⎪⎭ ⎪⎭ ⎪⎩ ⎪⎩ l= i ⎪⎭<br />
⎪⎭<br />
A<br />
i<br />
∑ ∑ ; (2.153)<br />
i i i<br />
{ k ⋅Δ × } { p × } k ⋅Δ + k ⋅( 1−<br />
Δ )<br />
Matricele diferenţiale de ordinul doi sunt definite astfel:<br />
⎡ ⎤<br />
i i i i i i i<br />
= ⎢ ⎥ ; (2.154)<br />
⎢⎣ 0 0 0 0 ⎥⎦<br />
m−1 j−1 k<br />
⎪⎧ ⎪⎧ ⎪⎪ ⎫⎫<br />
⎪⎧ ⎪⎧ ⎪⎫ ⎪⎧ ⎪⎪ ⎫⎫<br />
( 0)<br />
Akjm = ⎨exp⎨∑ Al ⋅ql ⎬⎬⋅ Am ⋅⎨exp ⎨∑ Ai ⋅qi ⎬⋅ Ai ⋅exp ⎨∑ Ap ⋅qp ⎬⎬⋅Tk0<br />
;<br />
⎩⎪ ⎩⎪ l= 0 ⎭⎪ ⎭⎪ ⎩⎪ ⎩⎪ i= m ⎭⎪<br />
⎩⎪ p= i ⎭⎪<br />
⎭⎪<br />
(2.155)<br />
unde,<br />
⎡ i−1 ( 0) ⎧ i− 1 ⎫ ⎢∏exp{ { k j × } qj ⋅Δ j} exp⎨<br />
∑ Aj ⋅ qj<br />
⎬= ⎢ j= 0<br />
⎩ j= 0 ⎭ ⎢<br />
⎣<br />
0 0 0<br />
i−1 ⎧ i−1 ⎪ ( 0)<br />
⎫⎪<br />
⎤<br />
∑ ⎨∏exp{ − { kk × } qk ⋅Δ k} ⎬ ⋅ bj+<br />
1⎥<br />
j= 0 ⎪⎩ k= 0<br />
⎪⎭<br />
⎥<br />
1<br />
⎥<br />
⎦<br />
. (2.156)<br />
17. Pentru calculul vitezelor şi acceleraţiilor unghiulare absolute, pe sistemul { i } , corespunzătoare<br />
fiecărui element cinetic i = 1 → n al robotului, se utilizează următoarele expresii:<br />
i<br />
i 0 −1<br />
( ) [ ] 0<br />
ωi<br />
= i R ⋅∑ J jΩ ⋅qɺ<br />
j ; (2.157)<br />
j= 1<br />
i<br />
i 0 −1<br />
⎧ ⎫<br />
ɺ ⎪ 0 0 ⎪<br />
ω i =<br />
i [ R] ⋅⎨∑ ( J jΩ ⋅ qɺɺ j + Jɺ jΩ ⋅qɺ<br />
j ) ⎬ . (2.158)<br />
⎪⎩ j= 1<br />
⎪⎭<br />
18. Ecuaţiile de mai sus includ vitezele şi acceleraţiile generalizate ale axelor motoare:<br />
{ { ⎣ ⎦ } { ⎣ ⎦ } }<br />
{ ⎡q j , j 1 i⎤ qk 0, k i 1 n ; i n} ; { ⎡qj , j 1 i n⎤<br />
}<br />
ɺ ( i) T<br />
⎡qɺ j ; j 1 i⎤ [ qɺ k 0; k i 1 n] ; i n ; ⎡qɺ j ; j 1 i n⎤<br />
; (2.159)<br />
θ = = → = = + → < = → =<br />
{ ⎣ ⎦ ⎣ ⎦ }<br />
ɺɺ<br />
θ = ɺɺ = → ɺɺ = = + → < ɺɺ = → = . (2.160)<br />
( i) T<br />
[ ]<br />
19. Ţinând seama de pasul 16, vitezele şi acceleraţiile unghiulare absolute, pe sistemul fix { }<br />
0 pot<br />
fi definite cu ajutorul funcţiilor exponenţiale, după cum se observă din expresiile scrise mai jos:<br />
⎧ ⎧ ⎫⎫<br />
∑ ∑ ɺ ; (2.161)<br />
⎪⎩ ⎩ ⎭⎪⎭<br />
i j−1 0 ⎪ ⎪ ( 0) ⎪⎪ ( 0)<br />
ωi<br />
= ⎨exp ⎨ { kk × } ⋅qk ⋅ Δ k ⎬⎬ ⋅k j ⋅q j ⋅ Δ j<br />
j= 1 ⎪k = 1<br />
⎪<br />
( )<br />
{ M exp{ V } q M exp{<br />
Vɺ } q } k<br />
i<br />
0<br />
ωi<br />
= ∑<br />
j= 1<br />
j1 ⋅ j + j1 ⋅ j ⋅<br />
0<br />
j ⋅ Δ j<br />
ɺ ɺɺ ɺ ; (2.162)<br />
20. Vitezele şi acceleraţiile liniare ale originii O i , corespunzătoare fiecărui element cinetic ( i ) , se<br />
82
. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
determină cu ajutorul funcţiilor exponenţiale, după cum rezultă din expresiile de mai jos, astfel:<br />
unde<br />
i<br />
{ } { } { }<br />
0<br />
vi = ∑ Mexp J j1 ⋅M exp J j2 ⋅M exp J j3 ⋅M jv ⋅qɺ<br />
j ; (2.163)<br />
j= 1<br />
83<br />
{ }<br />
i<br />
0<br />
vi = ∑ { Mexp{ J j1} ⋅M exp{ J j2} ⋅M exp{<br />
J j3} ⋅M jv ⋅ q j} i<br />
+ ∑<br />
( 0)<br />
Jiv ⋅q<br />
j<br />
j= 1 j= 1<br />
ɺ<br />
ɺ ɺɺ ɺ (2.164)<br />
{ } { } { } { } { } { }<br />
+ Mexp{ J j1} ⋅M exp{ J j2} ⋅M exp { J j3} ⋅Mɺ<br />
jv .<br />
ɺ = ɺ ⋅ ⋅ ⋅ + ⋅ ⋅ ɺ ⋅ +<br />
(2.165)<br />
( 0)<br />
*<br />
Jiv Mexp J j1 Mexp J j2 Mexp J j3 Mjv Mexp J j1 Mexp J j2 Mexp J j3 Mjv<br />
⎧ −1<br />
1 I<br />
⎪ ( 0) ⎪⎧ ⎪⎧ ( 0)<br />
⎪⎪⎪ ⎫⎫⎫ ⎪⎧ ⎪⎫<br />
vi = ⎨{ Ri0 } exp⎨−<br />
⎨∑{ k j × } qjΔ j ⎬⎬⎬⋅ ⎨∑ ME { J j1} ⋅ME { J j2} ⋅ME { J j3} ⋅M jv ⋅qɺ<br />
j ⎬ ; (2.166)<br />
⎪⎩ ⎪⎩ ⎪⎩ j= i ⎪⎭ ⎪⎪ ⎭⎭<br />
⎪⎩ J= 1<br />
⎪⎭<br />
i<br />
i ⎧ 1<br />
0 1 ( ) ( )<br />
( )<br />
−1<br />
⎧<br />
−<br />
⎧ ( ) ⎫⎫⎫<br />
vɺ ⎧<br />
i [ ] ⎪ ⎫⎪ ⎪ ⎪ ⎪ ⎪⎪⎪<br />
i = R ⋅⎨∑ ( J jv ⋅ qɺɺ j + Jɺ jv ⋅ qɺ j ) = ⎨{ Ri0 } exp⎨−<br />
⎨ { k j × } ⋅q j ⋅Δ j ⎬⎬⎬⋅<br />
vɺ<br />
⎬<br />
∑<br />
i . (2.167)<br />
⎪⎩ j= 1 ⎪⎭ ⎩⎪ ⎪⎩ ⎪⎩ j= i<br />
⎪⎭<br />
⎪⎪ ⎭⎭<br />
i 0 0 0 0 0<br />
21. În vederea determinării ecuaţiilor cinematicii directe (MCD) (vitezele şi acceleraţiile operaţionale),<br />
se utilizează ecuațiile de mai jos, în care matricea Jacobiană și derivata acesteia în raport cu sistemul fix<br />
{ }<br />
0 / în raport cu sistemul { }<br />
n sunt exprimate cu funcții exponențiale:<br />
⎡ ⎤<br />
T<br />
⎡ ( n) 0 T ( n) 0 T<br />
( )<br />
[ ] ( n) 0<br />
n n<br />
( )<br />
n 0 v ω ⎤ ⎡ 0 J θ ⎤<br />
⎡ ɺ ⎢ ⎥<br />
⎡ ɺɺ<br />
⎤ θ ⎤<br />
⎣ ⎦ ⎢ ⎥ ⎢ ⎥<br />
X<br />
⎢ ⎥ = ⎢ ⎥ =<br />
( )<br />
T ⎢ ⎥ ⋅<br />
n 0<br />
⎢ ⎥ . (2.168)<br />
⎢ ɺɺ<br />
X ⎥ ⎢ ( n) 0 T ( n) 0 T ⎥ ( n) 0 ( ) ( n) 0<br />
⎣ ⎦ ⎡ vɺ ( )<br />
n ω ⎤ ⎢<br />
n J θ J θ ⎥<br />
⎢<br />
ɺ<br />
⎥<br />
ɺ ɺ<br />
⎢ θ ⎥<br />
⎣ ⎦ ⎢⎣ ⎥⎦<br />
⎣ ⎦<br />
⎣ ⎦<br />
În continuare este prezentată schema logică pentru algoritmul exponențialelor de matrice în cinematica<br />
directă. Similar cu schemele logice prezentate anterior și aceasta va fi utilizată pentru realizarea unui<br />
program de determinare a modelului cinematic direct pentru orice structură de robot serial.<br />
Observaţii: Algoritmul exponenţialelor de matrice utilizat în modelarea geometrică și cinematică a structurilor<br />
de roboți seriali prezintă o serie de avantaje dintre care cele mai importante sunt date de forma compactă,<br />
vizualizarea geometrică simplă a funcţiilor precum şi de faptul că determinarea acestora nu depinde de<br />
sistemele de referinţă atașate în originea fiecărui element cinetic. Exponenţialele de matrice au un rol esenţial,<br />
în analiza geometriei şi cinematicii directe, a funcţiilor de comandă geometrică, cinematică şi dinamică, dar şi<br />
a preciziei cinematice şi dinamice. Formalismul bazat pe exponenţiale de matrice, poate utilizat pentru<br />
evaluarea performanţelor oricărei structuri de robot, indiferent de nivelul de complexitate al acesteia.
ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />
{ { } }<br />
i−1 ( 0)<br />
ME ( Vi1 ) = exp ∑ k j × q j ⋅Δ j ;<br />
( 3× 3) ( )<br />
j= 0<br />
( ) ( 0<br />
ME V )<br />
i2 = ⎡ I3 i k ⎤<br />
3× 6 ⎣<br />
Δ ⋅ i × ⎦<br />
[ ] [ ]<br />
84<br />
{ }<br />
⎡ I 0 0 ⎤<br />
⎢ ⎥<br />
⎢ { }<br />
⎥<br />
=<br />
⎢ { } ⎥<br />
⎢ ⎥<br />
⎢⎣ ⎥⎦<br />
3<br />
ME ( Vi3<br />
)<br />
{ 6x ⎡⎣ 9+ 3⋅( n−i ) ⎤⎦<br />
} [ 0] ⎧ k−1 ⎡ ( 0)<br />
exp { km } qm<br />
δ<br />
⎤ ⎫<br />
⎪ ⎢ ∑ × ⋅ m ⋅Δ m<br />
m= i−1 ⎥ ⎪<br />
⎨ ⎢ unde k = i → n ⎥ ⎬<br />
⎪<br />
⎣ ⎦<br />
⎪<br />
⎩<br />
iar δm<br />
= { { 0; m = i −1 } ; { 1; m ≥ i}<br />
} ⎭<br />
n<br />
( 0)<br />
exp ∑{<br />
kk × } qk<br />
⋅Δ k<br />
k= i<br />
ME J<br />
(6× 6 )<br />
{ }<br />
i1<br />
{ i1}<br />
[ ]<br />
[ 0] ME { V }<br />
⎡ME V 0 ⎤<br />
= ⎢ ⎥<br />
{ }<br />
⎣ i1 ⎦<br />
ME J<br />
(6× 9 )<br />
{ }<br />
i2<br />
{ } [ ]<br />
[ ] i2<br />
0 I<br />
⎡ME V 0 ⎤<br />
= ⎢ ⎥<br />
⎣ 3 ⎦<br />
⎡ ⎤<br />
⎢⎣ ⎥⎦<br />
( 0) T<br />
T ( 0) T ( 0) T<br />
Mivω = v ⎡ i ⎣<br />
b k ; k = i → n⎤ ⎦<br />
pn Δi ⋅k<br />
i<br />
{ ⎡⎣ 12+ 3⋅( n− i) ⎤⎦<br />
× 1}<br />
{ } { } { }<br />
J = ME J ⋅ME J ⋅ME J ⋅M<br />
ω<br />
0<br />
i<br />
( 6× 1)<br />
i1 i2 i3 iv<br />
( )<br />
{ } ∑<br />
{ } [ ]<br />
{ }<br />
{ [ ] } [ ] i3 ⎡ME V 0 ⎤<br />
ME Ji3<br />
= ⎢ 0 I ⎥<br />
9× 12+ 3 ⋅(n− i ) ⎣ 3 ⎦<br />
i−1 j−1 i−1 ( 0) { } ( 0) 0<br />
k k jk k m q<br />
ME Vɺ ⎧ ⎫ ⎧ ⎫<br />
k q δ ⋅<br />
k x ⋅ m⋅δ m⋅Δ ⎧ > − ⎫<br />
m<br />
i1 = × ⋅ ⋅ ⋅Δ ∑⎨<br />
∑ ⎬ k j × q ɺ j ⋅Δ j ⎨ ⎬; δ jk = ⎨<br />
k= 0<br />
m= j<br />
1; j i 1<br />
⎬<br />
j= 1 ⎩e ⎭ ⎩e ⎭ ⎩ ≤ − ⎭<br />
[ 0] [ 0]<br />
T<br />
{ } { 0; j i 1}<br />
{ }<br />
d k−1 ( 0)<br />
{ exp { ∑ { km × } qmδ<br />
mΔ m } =<br />
dt m= i−1 k−1 ∑<br />
l= i−1 l−1 ( 0) exp { ∑ { k p<br />
p= i− 1 } qpδ p p} ( 0) { kl } qɺ lδ l<br />
k−1 ( 0)<br />
l { exp { ∑{<br />
k r<br />
r= l } q r r } ; δ p<br />
{ }<br />
; δl<br />
⎧⎡ I<br />
⎫<br />
3<br />
⎤<br />
⎪ ⎪⎢ ⎡ d k−1<br />
( 0)<br />
⎥⎪<br />
ME n<br />
{ Vɺ ⎤<br />
⎪<br />
}<br />
( )<br />
i = ⎨⎢[ ] { { ∑ { km × } qmδ<br />
mΔm} d<br />
0<br />
3 ⎢ exp<br />
0 dt<br />
} ⎥ m= i− { { { kk × } q<br />
⎥⎬<br />
kΔ ⎪⎢ 1<br />
exp ∑<br />
k<br />
⎢ dt<br />
}<br />
k= i<br />
⎥⎪<br />
k = i → n ⎥<br />
⎪⎩ ⎢⎣ ⎣ ⎦<br />
⎥⎦<br />
⎪⎭<br />
{ }<br />
{ }<br />
⎧ ⎫ ⎧⎪ 0;p > i − 1 ⎫⎪ ⎧⎪ 0;l > i −1<br />
⎫⎪<br />
= ⎨ × Δ ⎬ × Δ × Δ = ⎨ ⎬ = ⎨ ⎬<br />
⎩ ⎭ ⎪⎩ { 1; p ≤ i −1} ⎪⎭ ⎪⎩ 1; l ≤ i −1<br />
⎪⎭<br />
d 5 ( 0)<br />
{ exp{ ∑{<br />
kk × } qkΔ<br />
k<br />
dt<br />
} =<br />
k= i<br />
5 k−1 ( 0) ( 0) n ( 0)<br />
∑{<br />
{ ∑ { l } lδl l } { k } ɺk<br />
k ∑ { m } m m<br />
k= i l= i− 1 m= k<br />
{ { }<br />
= exp k × q Δ ⋅ k × q Δ exp k × q Δ .<br />
Figura 2.13 Algoritmul exponențialelor de matrice în cinematica directă (MEK, prima parte)
. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
ɺ<br />
b<br />
T<br />
k<br />
{ ɺ<br />
i1}<br />
ME J<br />
{ ɺ<br />
i1}<br />
[ 0]<br />
[ 0]<br />
ME { Vɺ<br />
i1}<br />
⎡ME V<br />
⎤<br />
= ⎢ ⎥<br />
⎢⎣ ⎥⎦<br />
1<br />
85<br />
ME<br />
{ } { Vɺ<br />
ɺ 3}<br />
[ 0]<br />
i3<br />
ME J<br />
[ ] i<br />
⎡ ⎤<br />
= ⎢ ⎥<br />
⎣ 0 I3<br />
⎦<br />
( ) T<br />
*<br />
T ( ) T T<br />
M ⎡ 0 0<br />
ivω = v ⎡ i bk k = i → n⎤ p ⎤<br />
⎢⎣ ⎣<br />
;<br />
⎦<br />
0<br />
⎥⎦<br />
2<br />
⎧ ( 0) ( 0) ( 0)<br />
⎫<br />
{ I + { kk × } s( qk ⋅Δ k ) + { kk × } ⎡ −c ( qk ⋅Δ ) ⎤ k } ⋅vk ⋅qɺ<br />
⎪ 3<br />
⎣<br />
1<br />
⎦<br />
k ⎪<br />
= ⎨ ( 0) ⎬<br />
( 0) ( 0) ( 0)<br />
⎪{ exp { { kk × } qk ⋅Δ k} } vk qɺ k = { R( kk ; qk ) ⋅Δ k + I ⋅( − Δk ) } ⋅vk ⋅qɺ<br />
3 1<br />
k ⎪<br />
⎩ ⎭<br />
⎡ T<br />
Mɺ ivω = ⎢0 ⎣<br />
T<br />
⎡ ɺ<br />
bk k = i → n⎤<br />
⎢<br />
;<br />
⎣ ⎥⎦<br />
T<br />
0<br />
T<br />
T ⎤<br />
0 ⎥<br />
⎦<br />
Jɺ<br />
0<br />
i<br />
( i= 1→n) { ɺ } { } { } { } { } { ɺ }<br />
⎧ *<br />
ME Ji1 ME Ji2 ME Ji3 Miv ME Ji1 ME Ji2 ME Ji3 M ⎫<br />
⎪<br />
⋅ ⋅ ⋅ ω + ⋅ ⋅ ⋅ ivω<br />
+<br />
⎪<br />
= ⎨ ⎬<br />
⎪ + ME J ⋅ME J ⋅ME J ⋅Mɺ<br />
⎪<br />
{ } { } { }<br />
⎩ i1 i2 i3 ivω<br />
⎭<br />
⎡ J ⎤<br />
≡ ⎢ ⎥<br />
⎢⎣ ( i = → n)<br />
⎥⎦<br />
0<br />
0<br />
J ( θ )<br />
( 6×<br />
n)<br />
i<br />
( 6× 1)<br />
1<br />
i++<br />
DA<br />
i ≤ n 2<br />
NU<br />
⎡ Jɺ<br />
⎤<br />
≡ ⎢ ⎥<br />
⎢<br />
⎣( i = → n)<br />
⎥<br />
⎦<br />
0<br />
0<br />
i<br />
Jɺ<br />
( θ ) ( 6× 1)<br />
( 6× n)<br />
1<br />
Algoritmul de determinare orientare<br />
0 ɺ 0<br />
X = J ( θ ) ⋅<br />
ɺ<br />
θ<br />
ɺɺ<br />
X = J ( θ ) ⋅<br />
ɺɺ<br />
θ + Jɺ<br />
( θ ) ⋅<br />
ɺ<br />
θ<br />
0 0 0<br />
STOP<br />
Figura 2.14 Algoritmul exponențialelor de matrice în cinematica directă (MEK, continuare)<br />
T
ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />
2.3 Algoritmi utilizați în modelarea dinamică a roboților industriali<br />
2.3.1 Algoritmul proprietăților de distribuție a maselor<br />
86<br />
În cadrul acestui paragraf sunt prezentate<br />
succint aspecte cu privire la proprietăţile<br />
(parametrii) distribuţiei maselor (DM).<br />
În conformitate cu [N05] - [N22], acești<br />
parametri sunt următorii: masa rigidului, poziţia<br />
centrului maselor, tensorul inerţial şi tensorul<br />
pseudoinerţial. În continuare se prezintă etapele<br />
care trebuie parcurse în stabilirea proprietăților<br />
de distribuție a maselor, etape care au fost<br />
incluse în cadrul algoritmului dezvoltat în [N22].<br />
1. Pentru i = 1→ n,<br />
structura de robot<br />
supusă analizei este modelată geometric și cinematic utilizând unul dintre algoritmii prezentați<br />
în paragrafele §2.1 respectiv §2.2. Modelul geometric și cinematic vor constitui date de intrare<br />
în algoritmul de determinare a proprietăților de distribuție a maselor.<br />
2. În cadrul următorului pas, fiecare ansamblu cinetic, i = 1→ n se divizează într-un număr finit<br />
j = 1→ pi<br />
de elemente cu formă geometrică simplă și regulată (vezi Figura 2.6). Pentru fiecare dintre<br />
aceste elemente se cunosc: masa m j , orientarea sistemelor { } j poziționate în centrul de masă C j al<br />
fiecărui element j = 1→ pi<br />
, poziția centrului de masă în raport cu sistemul propriu j<br />
r respectiv<br />
tensorii inerțiali<br />
j * j *<br />
j , pj<br />
I I și cel pseudoinerțial<br />
j *<br />
psj<br />
I , determinați în raport cu centrul de masă.<br />
În conformitate cu [N21], elementele tensorului inerțial, axial – centrifugal<br />
centrifugal<br />
( dm)<br />
j *<br />
pj<br />
i<br />
rj i<br />
rCj 0<br />
rj<br />
{ i}<br />
r<br />
j<br />
0<br />
i<br />
r<br />
j<br />
elementul j<br />
m ; v ; ω<br />
( j Cj j )<br />
C<br />
j<br />
{ i * }<br />
r<br />
0<br />
Cj<br />
{ 0}<br />
{ j}<br />
Figura 2.15 Proprietățile de distribuție a maselor<br />
j *<br />
j<br />
C j<br />
I respectiv planar<br />
I , pentru fiecare element j = 1 → pi<br />
, în raport cu centrul de masă se determină astfel:<br />
⎡ ⎤<br />
⎢ ⎥<br />
∫ ⎢ ⎥ ; (2.169)<br />
⎢ ⎥<br />
⎣ ⎦<br />
j *<br />
Ij =<br />
j *<br />
Ix j j<br />
T<br />
j * ( rjx ) ⋅( rjx ) ⋅ dm = − Iyx j *<br />
− Ixy j *<br />
Iy j *<br />
− Ixz<br />
j *<br />
− Iyz<br />
j *<br />
− Izx j *<br />
Izy j *<br />
− Iz<br />
j * ⎡ Ixx j * j j<br />
T ⎢ j *<br />
Ipj = ∫ ( rj ) ⋅( rj ) ⋅ dm = ⎢ Iyx ⎢ j *<br />
⎣<br />
Izx j *<br />
Ixy j *<br />
Iyy j *<br />
Izy j *<br />
I ⎤ xz<br />
j * ⎥<br />
Iyz<br />
⎥ .<br />
j *<br />
I ⎥<br />
zz ⎦<br />
(2.170)<br />
3. Pentru structura de robot supusă analizei se presupune că modelul geometric direct a fost
. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
Nr.<br />
crt.<br />
realizat, utilizând unul dintre algoritmii prezentați anterior. Astfel, din modelul geometric direct se<br />
{ i i<br />
}<br />
i−1 0<br />
apelează următoarele matrice: [ T ] , [ T ] , i = 1 → n .<br />
4. Pentru i 1 n<br />
= → și j 1 pi<br />
= → , în centrul geometric O j ≡ C j aparținând fiecărui element<br />
geometric simplu, se atașează un sistem de referință { j } a cărui orientare este identică cu cea<br />
sistemului atașat în centrul de masă a elementului ( i ) .<br />
5. Se cunosc: { mj ;<br />
j<br />
rC j<br />
= 0; j<br />
Ij}<br />
. Se determină vectorul i<br />
{ j } în raport cu sistemul { }<br />
87<br />
r care definește poziția sistemului<br />
i . De asemenea, se determină momentul de inerție i<br />
I :<br />
{ }{ } T<br />
i i i<br />
IC m<br />
j j rC r<br />
j C j<br />
C j<br />
= ⋅ × × . (2.171)<br />
6. Tensorul inerțial calculat în raport cu sistemul { }<br />
i are următoarea expresie:<br />
i<br />
[ ] ∗ i T<br />
I = I + I = I + R ⋅ I ⋅ [ R]<br />
(2.172)<br />
i i j i j<br />
j C j j C j<br />
j j j<br />
7. Pentru fiecare element i = 1 → n se determină parametrii distribuției maselor care vor fi utilizați<br />
în continuare în cadrul modelării dinamice directe și inverse.<br />
Parametrii distribuției maselor (simbol/denumire) Expresia de calcul<br />
1. Masa elementului ( i )<br />
i M<br />
2.<br />
2.<br />
4.<br />
Vectorul de poziție al centrului de masă al<br />
elementului ( i) proiectat pe sistemul { i }<br />
Vectorul de poziție al centrului de masă al<br />
elementului ( i) proiectat pe sistemul { 0 }<br />
Tensorului inerțial axial – centrifugal<br />
în raport cu centrul de masă<br />
5. Tensorul inerțial planar – centrifugal<br />
6. Tensorul pseudoinerțial<br />
i<br />
I psi<br />
i<br />
r Ci<br />
0 Ci<br />
p i<br />
∑<br />
C j<br />
M = σ ⋅m<br />
i j j<br />
j= 1<br />
pi i<br />
∑σ<br />
j ⋅mj ⋅ rC<br />
j<br />
i j= 1<br />
rC<br />
=<br />
i pi<br />
∑<br />
j= 1<br />
σ ⋅m<br />
j j<br />
Ci 0<br />
i Ci<br />
0<br />
r [ ] i<br />
r = T ⋅ r<br />
i<br />
Ii ∗<br />
i<br />
I pi<br />
i i i<br />
Ii Ii ICi<br />
∗ = − ;<br />
Tabelul 2.13<br />
pi i i<br />
Ii = ∑ σ j ⋅ IC<br />
j<br />
j= 1<br />
{ }{ } T<br />
i i i<br />
IC M<br />
i i rC r<br />
i Ci<br />
= ⋅ × ×<br />
∗ { j }<br />
pi i<br />
Ipi = ∑ σ j ⋅<br />
j= 1<br />
i<br />
IpC i<br />
+ Ipj<br />
∫<br />
i j j T<br />
pC j C j C j<br />
I = r ⋅ r ⋅dm<br />
⎡ ⎤<br />
= ⎢ ⎥<br />
⎢ ⎥<br />
⎢⎣ ⎥⎦<br />
i i<br />
Ipi Mi ⋅ rC<br />
i i<br />
Ipsi<br />
i T<br />
Mi ⋅ rC M<br />
i i<br />
;<br />
;
ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />
2.3.2 Algoritmul forțelor generalizate în dinamica structurilor de roboți seriali<br />
Structura mecanică a oricărui robot utilizat în cadrul unei aplicații este supusă acțiunii externe a unui<br />
sistem de forțe active, aplicate din exterior și care poate influența precizia cinematică și dinamică a acestuia.<br />
Prin transformări matriceale și diferențiale se obțin forțele generalizate statice din fiecare axă<br />
motoare necesare pentru menținerea structurii mecanice a robotului în echilibru static (forțele și<br />
momentele de legătură), forțele generalizate active datorate acțiunii sarcinilor gravitaționale Q ( ) g θ ,<br />
forța generalizată de manipulare aplicată la nivelul efectorului final Q ( ) SU θ , forțele generalizate<br />
motoare Q ( ) m θ , forțele generalizate de inerție și forțele generalizate de frecare Q ( ) fd θ . În<br />
continuare, este prezentat un algoritm generalizat de determinare a acestor forțe generalizate, dezvoltat<br />
în cadrul lucrării [N22]. Pentru determinarea forțelor generalizate ale dinamicii este necesar ca modelul<br />
geometric, cinematic precum și distribuția maselor să fie realizate în prealabil. Acestea vor constitui,<br />
date de intrare în cadrul algoritmului generalizat al dinamicii ai cărui pași sunt prezentați în continuare:<br />
1. Pentru i = 1 → n + 1 din modelul geometric direct se utilizează următoarele rezultate:<br />
j<br />
i<br />
[ ] ( ), ,<br />
T ⎡ q t k = j + 1 → i ⎤ j = 0 → i −1<br />
⎣ k<br />
⎦ ; (2.173)<br />
T<br />
( 0) ( ) ∗T<br />
( ) T<br />
X t p t ψ ( t)<br />
∗<br />
= ⎡⎣ ⎤⎦<br />
, unde ( ) n<br />
p t = p ( t) , p( t)<br />
. (2.174)<br />
88<br />
{ }<br />
2. Pentru i = 1→ n,<br />
se aplică algoritmul iterativ din modelarea cinematica directă rezultând valorile<br />
vitezelor liniare și unghiulare precum și cele pentru accelerațiile liniare și unghiulare, ale fiecărui<br />
element cinetic al robotului, în raport cu sistemul de referință fix{ }<br />
0 sau proiectate pe cel mobil { }<br />
i :<br />
( 0) i ( 0) i ( 0) i ( 0) i<br />
{ ωi, vi , ωi , vɺ<br />
i }<br />
ɺ . (2.175)<br />
3. În continuare, pentru i = 1→ n,<br />
se aplică algoritmul matricelor de transfer din cinematica directă<br />
obținându-se astfel expresiile matricelor de transfer ale vitezelor și accelerațiilor liniare și unghiulare,<br />
cu un rol esențial în determinarea matricei Jacobiene. Matricele de transfer obținute sunt:<br />
{ V ( θ ) , Ω( θ ) , A(<br />
θ ) , Ε ( θ ) } . (2.176)<br />
4. Matricele (2.176), definite anterior cu expresiile (2.103) - (2.112) vor fi utilizate pentru determinarea<br />
matricei Jacobiene ( ) 0 n (<br />
J( θ )<br />
0) n<br />
respectiv a derivatei acesteia în raport cu timpul Jɺ ( θ ) .<br />
La același pas se determină transpusa matricei Jacobiene ( ) T<br />
0 J θ . Inversa matricei Jacobiene, respectiv a<br />
transpusei acesteia , ( ) 1 0 −<br />
J θ<br />
și ( ) T 0 −<br />
J θ<br />
rezultă utilizând inversa de stânga sau inversa de dreapta.<br />
5. Următoarea etapă din aplicarea algoritmului generalizat al dinamicii constă în determinarea
. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
proprietăților de distribuție a maselor prin aplicarea pașilor prezentați în paragraful § 2.3.1.<br />
6. În continuare, pentru i = 1→ n,<br />
se determină expresiile forțelor generalizate active, din fiecare<br />
cuplă a robotului, reprezentate prin forțe generalizate gravitaționale, notate<br />
datorate sarcinii de manipulare<br />
unde g τ g k , k { x , y , z }<br />
unde<br />
unde<br />
i<br />
Q SU .<br />
n<br />
89<br />
i<br />
Q g respectiv a celor<br />
i ( n) 0 T ( n) 0<br />
0 T j<br />
Q = J ⋅ ö = M ⋅ g ⋅ A ⋅ r ; (2.177)<br />
g i Xi j= i<br />
j ji C j<br />
= ⋅ ⋅ 0 0 = 0 0 0 , iar { 1, T<br />
kg k0 1} ; { 1, T<br />
kg k0 1}<br />
( )<br />
n 0<br />
∑<br />
{ }<br />
τ = + ⋅ = − − ⋅ = ; (2.178)<br />
⎧ n<br />
( 0) n T ⎫<br />
( )<br />
[ ]<br />
⎧ n 0 Mj n R g<br />
( n) 0 F ⎫ ⎪ ∑ ⋅ ⋅ ⎪<br />
⎪ Xi ⎪ ⎪ j= i<br />
⎪<br />
ö X =<br />
i ⎨ ( n) 0 ⎬ = ⎨ n<br />
⎬ . (2.179)<br />
N<br />
( 0) n T<br />
X [ ] 0<br />
⎩⎪ i ⎭⎪<br />
⎪∑M j ⋅ n R ⋅ ⎡( rC − p<br />
j n ) × g ⎤⎪<br />
⎪ j= i<br />
⎣ ⎦<br />
⎩ ⎪⎭<br />
( ) ( )<br />
Q θ J ( θ )<br />
n 0 ( n) 0<br />
= ⋅ ö ; (2.180)<br />
SU X<br />
( ) [ ]<br />
( )<br />
( )<br />
( ) { [ ] } ( ) n 0<br />
⎧ n 0 n 1<br />
F ⎫ ⎧ +<br />
X<br />
n 1 R f<br />
⎫<br />
⎪ ⎪ ⎪ + ⋅ n+ 1<br />
⎪<br />
ö X = ⎨ n 0 ⎬ = ⎨ 0 n T n 0 ( 0) n ⎬ . (2.181)<br />
[ ] n+ 1 [ ] n+ 1<br />
⎪⎩ NX ⎪⎭ ⎪ n R ⋅ pn+ 1n × ⋅ n+ 1 R ⋅ fn+ 1 + n+ 1<br />
⎩<br />
R ⋅ nn+<br />
1⎭<br />
⎪<br />
7. Pentru i = 1 → n , adică pentru fiecare cuplă a robotului, se determină expresiile forțelor<br />
generalizate de inerție, simbolizate cu<br />
i<br />
Qiö , în conformitate cu [N22].<br />
i ( n) 0 T ( n) 0 ∗<br />
Q ö = J ⋅ ö ; (2.182)<br />
i i X i<br />
unde<br />
⎧ n<br />
( n) 0 j<br />
⎫<br />
( )<br />
[ ] j<br />
⎧ n 0 ∗<br />
j R F<br />
( n) 0 F ⎫ ⎪ ∑ ⋅<br />
⎪<br />
∗ ⎪ Xi ⎪ ⎪ j= i<br />
⎪<br />
ö X =<br />
i ⎨ ( n) 0 ∗ ⎬ = ⎨ n<br />
⎬ ;<br />
N<br />
( 0) n T<br />
[ ] 0<br />
( n) 0 j<br />
( ) [ ] ( n) 0 j<br />
⎩⎪ Xi ⎭⎪ ⎪ ⎡<br />
n R r j [ ]<br />
C pi j R F j R N ⎤<br />
∑<br />
− × ⋅ + ⋅ j ⎪<br />
⎢ j<br />
⎪ ⎥<br />
j= i ⎣ ⎦<br />
⎩ ⎪⎭<br />
(2.183)<br />
În ecuația (2.183), forțele de inerție ce caracterizează fiecare element cinetic, j<br />
F respectiv momentele<br />
forțelor de inerție corespunzătoare, sunt înlocuite de următoarele expresii:<br />
Forțele generalizate de inerție<br />
{ }<br />
ɺ ɺ ɺ ; (2.184)<br />
j j j j j j j<br />
F j = M j ⋅ v C =<br />
j M j ⋅ v j + ω j × r C + ω<br />
j j × ω j × r C j<br />
N<br />
ɺ ω ω ω . (2.185)<br />
j i ∗ j j i ∗ j<br />
j = I j ⋅ j + j × I j ⋅ j<br />
i<br />
Qiö se determină utilizând următoarele ecuații:<br />
i ( n) 0 T ( n) 0 ∗ d ⎛ ∂EC ⎞ ∂EC ∂E<br />
A<br />
Qiö = Ji<br />
⋅ ö X =<br />
i dt<br />
⎜<br />
q<br />
⎟ − = . (2.186)<br />
⎝ ∂ ɺi ⎠ ∂qi ∂qɺɺ<br />
i<br />
Expresia energiei cinetice rezultată din ecuația prezentată mai sus, este următoarea:<br />
j
ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />
n n<br />
1 ⎡ i T i i T i ∗ i ⎤<br />
EC = ⋅ Mi vC v<br />
i C ω<br />
i i Ii<br />
ωi<br />
2<br />
⎢ ⋅ ⋅ + ⋅ ⋅ ⎥<br />
⎣ i= 1 i= 1<br />
⎦<br />
∑ ∑ , unde<br />
90<br />
i i i i<br />
vC v<br />
i i ωi<br />
rC<br />
i<br />
= + × ; (2.187)<br />
sau<br />
1 T<br />
E ( )<br />
C = ⋅<br />
ɺ<br />
θ ⋅M θ ⋅<br />
ɺ<br />
θ .<br />
2<br />
(2.188)<br />
unde M( θ ) reprezintă matricea maselor. În aplicații, expresia energiei accelerațiilor, se determină<br />
utilizând relația de mai jos care apoi se înlocuiește în (2.186) pentru a determina forțele generalizate.<br />
1 1 1<br />
E M vɺ vɺ ɺ ω I ɺ ω ω I ω ɺ ω ω I ω . (2.189)<br />
unde<br />
∗ ∗ ∗<br />
( ) ( )<br />
n n n<br />
i T i i T i i i i i i T i i i<br />
A = ⋅∑ i ⋅ C ⋅ C + ⋅<br />
i i ∑ i ⋅ i ⋅ i + i × i ⋅ i + ⋅∑ i ⋅ i × i ⋅ i<br />
2 i= 1 2 i= 1 2 i= 1<br />
ɺ ɺ ɺ ɺ ɺ . (2.190)<br />
i i i i i i i<br />
vC = vi + ω<br />
i i × rC + ω<br />
i i × ωi<br />
× rC<br />
i<br />
Forța generalizată datorată frecării vâscoase și uscate se determină astfel:<br />
i ⎡ di<br />
⎤ i i<br />
Qfd = bi ⋅ qɺ i + ( 1− Δi ) ⋅ μiT + Δi ⋅ ⋅ μiR<br />
⋅ ki × fi ⋅ sgn(<br />
qɺ<br />
⎢ i )<br />
⎣ 2 ⎥<br />
; (2.191)<br />
⎦<br />
( )<br />
i<br />
0<br />
i<br />
Xi Xi X<br />
i ( ) ( )<br />
unde [ ] 0 ∗ 0<br />
f = R ⋅ F + F + F . (2.192)<br />
8. Pentru i = 1 → n , se determină forțele generalizate motoare din fiecare cuplă motoare a<br />
robotului, simbolizate<br />
i<br />
Q m și definite astfel:<br />
i i i i i<br />
m = i + g + su + fd<br />
Q Q ö Q Q Q<br />
(2.193)<br />
i i i<br />
i<br />
unde, Qiö , Qg , Qsu<br />
respectiv Q fd se determină cu expresiile (2.177) – (2.191).<br />
unde<br />
9. Forța generalizată motoare Q ( ) m θ se poate determina pe baza matricelor diferențiale, astfel:<br />
Q ( ) ( ) ( ; ) ( ) ( ) ( )<br />
m θ = M θ ⋅<br />
ɺɺ<br />
θ + V θ<br />
ɺ<br />
θ + Qg θ + QSU θ + Qfd<br />
θ ; (2.194)<br />
În expresia prezentată anterior, M( θ ) reprezintă matricea maselor sau matricea de inerție definită cu:<br />
M( θ ) = ⎡⎣ Mij = Mji , i = 1 → n, j = 1 → n⎤⎦<br />
; (2.195)<br />
k T<br />
( )<br />
n<br />
( )<br />
( )<br />
T ∂ 0 0 i T<br />
Mij = M ji = ∑ Tr Aki ⋅ Ipsk ⋅ Akj<br />
; Aki = { k [ T ] } = { i [ T ] ⋅U i ⋅ k [ T ] } ; (2.196)<br />
k = i<br />
∂qk<br />
În cadrul aceleași expresii, V ( θ ; θ ) ɺ definește vectorul coloană al termenilor Coriolis și centrifugali:<br />
( )<br />
T<br />
j 1 n<br />
V θ ;<br />
ɺ ⎡ ⎡ = → ⎤<br />
⎤<br />
θ =<br />
ɺ<br />
θ ⋅ Vijm = Vimj , ⋅<br />
ɺ<br />
⎢ ⎢<br />
θ ; i = 1 → n<br />
⎣ m = 1 → n⎥⎦<br />
⎥<br />
⎣ ⎦<br />
n<br />
k<br />
Vijm = Vimj = Tr Aki ⋅ Ipsk ⋅ Akjm<br />
k = max ( i, j )<br />
T<br />
; (2.197)<br />
∑ ⎡ ⎤<br />
⎣ ⎦ , (2.198)<br />
0 m j<br />
iar A = A = [ T ] ⋅U ⋅ [ T ] ⋅U ⋅ [ T ] ; (2.199)<br />
kjm kmj m m j j k<br />
Observații: Noțiunile și algoritmii prezentați în cadrul acestui capitol au rolul de a evidenția rolul<br />
esențial pe care aceștia îl au în modelarea geometrică, cinematică și dinamică a structurilor de roboți seriali.
3. CONTRIBUȚII LA MODELAREA ERORILOR GEOMETRICE<br />
3.1 Matricele datelor de intrare<br />
Prima și cea mai importantă etapă în modelarea preciziei cinematice a erorilor constă în<br />
determinarea matricelor datelor de intrare, denumite și matricele geometriei robotului, stabilite încă din<br />
faza de proiectare respectiv de simulare a comportamentului structurii mecanice supusă studiului.<br />
Considerând o structură mecanică de robot, cu n grade de liberate, pentru fiecare element<br />
aparținând structurii mecanice nominale, respectiv reale (cu erori) se stabilesc următorii parametrii:<br />
coordonatele centrului geometric al fiecărei cuple motoare, notat cu O i , precum și poziția unui punct<br />
oarecare i A ales pe axa cinematică k i , ambele poziții fiind considerate în raport cu sistemul de<br />
referință fix, atașat bazei robotului, notat cu { }<br />
0<br />
i<br />
Paşii care trebuie urmaţi in determinarea matricelor datelor de intrare sunt următorii:<br />
1. Se precizează tipul robotului. Denumire şi simbol<br />
2. Se fac următoarele notaţii: n reprezintă numărul gradelor de libertate (numărul elementelor<br />
mobile sau numărul cuplelor cinematice motoare),<br />
3. Cu m se notează numărul configuraţiilor distinct ale robotului<br />
4. Geometria robotului pentru m = 1<br />
ij<br />
M vn<br />
4.1 Valorile nominale pentru poziţia cuplelor Oi− 1 şi O i , respectiv pentru poziţia unui punct<br />
situate pe axa cinematic ( i− 1)<br />
, se stabilesc în raport cu sistemul de referinţă fix { 0 } . Astfel, se<br />
obţine matricea valorilor nominale, notată simbolic vn M , având dimensiunea ( n+ 1) × 9 şi forma<br />
prezentată în Tabelul 3.1.<br />
j<br />
( 0) n<br />
Oi−1 n<br />
= pi−1<br />
n<br />
xi− 1<br />
n<br />
y i− 1<br />
n<br />
zi− 1<br />
M vn<br />
Tabelul 3. 1<br />
Poziţia elementului ( i− 1)<br />
Poziţia axei ( i− 1)<br />
n<br />
x i<br />
( 0) n n<br />
Oi = pi<br />
n<br />
y i<br />
n<br />
z i<br />
n<br />
x Ai− 1<br />
n<br />
pAi− 1<br />
n<br />
y A i− 1<br />
n<br />
z Ai− 1<br />
4.2 Prin măsurători fizice se stabilesc în raport cu sistemul de referinţa fix { 0} valorile reale ale<br />
poziţiei punctelor O , O , p<br />
M , având dimensiunea<br />
i−1 i Ai− 1<br />
. Rezultă matricea valorilor reale notată vr<br />
( n+ 1) × 9 şi forma prezentată în Tabelul 3.2.
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
.<br />
Tabelul 3.2<br />
i<br />
ij<br />
M vr<br />
j<br />
( 0) n<br />
Oi−1 n<br />
= pi−1<br />
r<br />
xi− 1<br />
r<br />
y i− 1<br />
r<br />
zi− 1<br />
4.3 Se adoptă notaţia: q { n; r}<br />
M vr<br />
Poziţia elementului ( i− 1)<br />
Poziţia axei ( i− 1)<br />
r<br />
x i<br />
( 0) n n<br />
Oi = pi<br />
94<br />
r<br />
y i<br />
r<br />
z i<br />
r<br />
x Ai− 1<br />
n<br />
pAi− 1<br />
r<br />
y A i− 1<br />
= , unde n reprezintă valorile nominale, r valorile reale.<br />
4.3* Se determină orientarea sistemelor { i} cu originea în punctele O i .<br />
4.3.1 Se consideră q = n si se utilizează elementele matricei M vn .<br />
T T<br />
0 0<br />
q q<br />
4.3.2 Se scrie: x [ 1 0 0] ; z [ 0 0 1]<br />
4.3.3 Se consideră i = 1→ n+ 1<br />
= = ;<br />
4.3.4 Se calculează lungimea elementului ( i−1q) utilizând următoarea relaţie:<br />
1<br />
q q q q q<br />
2<br />
q q<br />
2<br />
q q<br />
2 2<br />
i−1= i − i−1= ⎡( i − i−1) + ( i − i−1) + ( i − i−1) ⎤<br />
r<br />
z Ai− 1<br />
l p p ⎣ x x y y z z ⎦ . (3.1)<br />
4.3.5 Se calculează orientarea axei cinematice ( i 1q)<br />
4.3.6 Dacă produsul vectorial<br />
q q ( pA−p i i )<br />
q q ( p − pi)<br />
În caz contrar, se trece direct la pasul 4.3.9<br />
4.3.7 Orientarea axei<br />
4.3.8 Se trece la pasul A1. 417. .<br />
4.3.9 Dacă<br />
q q ( pi+ 1−<br />
p )<br />
q q ( p − p )<br />
q q q q<br />
zi = = ⎡⎣ cαiz cβiz cγ<br />
⎤ iz⎦<br />
A i<br />
q q ( pi+ 1−<br />
p )<br />
q q ( p − p )<br />
i q<br />
⎢ ⎥ i<br />
⎢<br />
⎣ i+ 1 i ⎥<br />
⎦<br />
− , cu relaţia prezentată mai jos:<br />
⎡ ⎤<br />
× z = 0 , urmează pasul 4.3.7.<br />
q q q q q<br />
x i = x i−1 = ⎡⎣ cα ix cβ ix cγ<br />
⎤ ix ⎦<br />
i q<br />
⎢ ⎥ i<br />
⎢<br />
⎣ i+ 1 i ⎥<br />
⎦<br />
T<br />
T<br />
. (3.2)<br />
⎡ ⎤<br />
⋅ z = 0 , urmează pasul 4.3.10. Altfel, se aplică pasul 4.3.12<br />
q<br />
4.3.10 Orientarea axei x i este dată de expresia:<br />
q q<br />
q ( pi+ 1−<br />
pi)<br />
q q q<br />
T<br />
x i = = ⎡<br />
q q ⎣cα ix cβ ix cγ<br />
⎤ iz ⎦<br />
( pi+ 1−<br />
pi)<br />
4.3.11 Se trece la pasul 4.3.14<br />
⎡ q q<br />
q ( pi+ 1 − p ) ⎤<br />
i<br />
q<br />
4.3.12 Se calculează: cα= ⎢ ⎥⋅z<br />
q q i , respectiv ( )<br />
⎢ ( pi+ 1 − pi<br />
) ⎥<br />
⎣ ⎦<br />
1<br />
q 2 q 2<br />
sα =± ⎡<br />
⎣1−c α ⎤<br />
⎦ .<br />
(3.3)
i<br />
i<br />
i<br />
ij<br />
T n<br />
ij<br />
M Gn<br />
ij<br />
T r<br />
4.3.13 Orientarea axei<br />
q<br />
x i devine:<br />
{ ( i+ 1 ) ( i+ 1 ) }<br />
q<br />
xi= ⎡<br />
⎣<br />
q<br />
p<br />
q<br />
− pi q<br />
p<br />
q<br />
− pi ⎤ q<br />
⎦<br />
× zi q<br />
sα q<br />
= ⎡⎣ cαix q<br />
cβix q<br />
cγ<br />
⎤ ix ⎦ . (3.4)<br />
q<br />
4.3.14 Orientarea axei y i se determină prin intermediul următoarei expresii:<br />
q<br />
yi q q<br />
= zi × xi q<br />
= ⎡<br />
⎣<br />
cαiy q<br />
cβiy q<br />
T<br />
cγ<br />
⎤<br />
iy⎦<br />
. (3.5)<br />
4.3.15 Dacă i = n+<br />
1,<br />
urmează pasul 4.3.16. În caz contrar, i = i+<br />
1 și se revine la 4.3.3.<br />
4.3.16 Dacă q = n,<br />
urmează pasul 4.3.17. În caz contrar, q = r și se trece la pasul 4.3.21.<br />
4.3.17 Se scrie matricea sistemelor nominale, notată cu T n , având dimensiunea ( n + 2) × 9,<br />
j<br />
j<br />
j<br />
prezentată prin intermediul Tabelului 3.3:<br />
n<br />
cα ix<br />
n<br />
x i<br />
n<br />
cβ ix<br />
T n<br />
95<br />
T<br />
.<br />
Tabelul 3.3<br />
Poziţia elementului ( i− 1)<br />
Poziţia axei ( i− 1)<br />
n<br />
cγ ix<br />
n<br />
cα iz<br />
n<br />
z i<br />
n<br />
cβ iz<br />
n<br />
cγ iz<br />
4.3.18 Se stabilește matricea geometriei nominale a robotului M Gn și dimensiunea ( n + 1) × 7.<br />
Tabelul 3. 4<br />
Lungimea elementului<br />
( i− 1)<br />
n<br />
l i− 1<br />
[ ]<br />
mm<br />
M Gn<br />
Orientarea axei ( i− 1)<br />
în<br />
raport cu sistemul { 0 }<br />
n<br />
cα i− 1z<br />
n<br />
z i<br />
n<br />
cβ i− 1z<br />
n<br />
cγ i− 1z<br />
n<br />
x i<br />
n<br />
p i<br />
n<br />
y i<br />
n<br />
z i<br />
Orientarea axei ( i − ) în<br />
raport cu sistemul { i − 1}<br />
( i−1n) n<br />
z<br />
i−1 n<br />
iz<br />
c α<br />
i<br />
i−1 n<br />
iz<br />
c β<br />
4.3.19 Pentru q = r , se utilizează elementele matricei M vr , definită anterior cu Tabelul 3.2.<br />
4.3.20 Se revine la pasul 4.3.2.<br />
i−1 n<br />
iz<br />
c γ<br />
4.3.21 Se stabilește matricea sistemelor reale r T cu dimensiunea ( n+ 2) × 9 și forma de mai jos:<br />
r<br />
cα ix<br />
r<br />
x i<br />
r<br />
cβ ix<br />
T r<br />
Tabelul 3.5<br />
Poziţia elementului ( i− 1)<br />
Poziţia axei ( i− 1)<br />
r<br />
cγ ix<br />
r<br />
cα iz<br />
r<br />
z i<br />
r<br />
cβ iz<br />
r<br />
cγ iz<br />
r<br />
x i<br />
r<br />
p i<br />
r<br />
y i<br />
r<br />
z i
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
.<br />
( ) ( ) T<br />
r<br />
k x<br />
i<br />
0 ⋅ 0 = ± 1<br />
( ) ( ) T<br />
r<br />
k z<br />
i<br />
0 ⋅ 0 = 0<br />
( ) ( ) T<br />
r<br />
k y<br />
i<br />
0 ⋅ 0 = 0<br />
( ) ( ) T<br />
r<br />
k x<br />
i<br />
0 ⋅ 0 = 0<br />
( ) r<br />
z 0<br />
i<br />
( ) r<br />
= k 0<br />
i<br />
( ) r<br />
x 0<br />
i =<br />
( ) r<br />
z 0<br />
i × z0<br />
( ) r<br />
z 0<br />
i × z0<br />
( ) r<br />
y 0<br />
i<br />
( ) r ( ) r<br />
= z 0<br />
i × x 0<br />
i<br />
( ) ( ) T<br />
r<br />
k y<br />
i<br />
0 ⋅ 0 =± 1<br />
( ) r ( ) r<br />
k 0<br />
i = y 0<br />
i<br />
( )r<br />
z 0<br />
i = z0<br />
( ) r ( ) r ( ) r<br />
y 0<br />
i = z 0<br />
i × x 0<br />
i<br />
( ) ( ) T<br />
r<br />
k z<br />
i<br />
0 ⋅ 0 =± 1<br />
( )r<br />
k 0<br />
i = x0<br />
( )r<br />
y 0<br />
i = y 0<br />
( ) r<br />
z 0<br />
i<br />
( ) r ( ) r<br />
= x 0<br />
i × y 0<br />
i<br />
( ) ( ) T<br />
r<br />
k y<br />
i<br />
0 ⋅ 0 =± 1<br />
( ) ( ) T<br />
r<br />
k z<br />
i<br />
0 ⋅ 0 =± 1<br />
( ) r ( ) r<br />
k 0<br />
i = z 0<br />
i<br />
( )r<br />
x 0<br />
i = x0<br />
( ) r ( ) r ( ) r<br />
y 0<br />
i = z 0<br />
i × x 0<br />
i<br />
Fig. 3.1 Schema logică de stabilire a sistemelor de referință reale<br />
96<br />
( )r<br />
x 0<br />
i = x 0<br />
( )r<br />
y 0<br />
i = y0<br />
( )r<br />
z 0<br />
i = z0
i<br />
i<br />
i<br />
i<br />
ij<br />
M Gr<br />
ij<br />
Mθ n<br />
ij<br />
Mθ n<br />
j<br />
4.3.22 Se stabilește matricea geometriei reale M Gr având dimensiunea ( n+ 1) × 7 și forma:<br />
Tabelul 3.6<br />
j<br />
Lungimea elementului<br />
( i− 1)<br />
r<br />
l i− 1<br />
[ ]<br />
mm<br />
M Gr<br />
Orientarea axei ( i− 1)<br />
în<br />
raport cu sistemul { 0 }<br />
r<br />
cα i− 1z<br />
r<br />
z i<br />
r<br />
cβ i− 1z<br />
97<br />
r<br />
cγ i− 1z<br />
Orientarea axei ( i − ) în<br />
raport cu sistemul { i − 1}<br />
( i−1r) r<br />
z<br />
i−1 r<br />
iz<br />
c α<br />
i<br />
i−1 r<br />
iz<br />
c β<br />
i−1 r<br />
iz<br />
c γ<br />
4.3.23 Pe structura nominală a robotului se stabilește matricea configurațiilor nominale Mθ n având<br />
dimensiunea n × 7 și forma prezentată în Tabelul 3.7:<br />
j<br />
Mθ n<br />
Tipul cuplei Valori nominale Limite mecanice<br />
R sau T<br />
n<br />
q i<br />
4.3.24 Se notează cu t [ s]<br />
m<br />
n<br />
q&<br />
i<br />
n<br />
q&&<br />
i<br />
max<br />
q in<br />
med<br />
q in<br />
= K timpul necesar atingerii configurației m = 1.<br />
.<br />
Tabelul 3.7<br />
min<br />
q in<br />
4.3.25 Prin măsurători fizice asupra structurii reale, se determină pentru același t m matricea<br />
configurațiilor reale având dimensiunea ( n × 9)<br />
și forma de mai jos (Tabelul 3.8):<br />
Mθ n<br />
Valori reale Erori ( Δθ , Δθ , Δθ<br />
)<br />
r<br />
q i<br />
r<br />
q&<br />
i<br />
r<br />
q&&<br />
i<br />
i q Δ i q<br />
& && Limite mecanice<br />
Δ &<br />
i q Δ&&<br />
max<br />
q ir<br />
med<br />
q ir<br />
Tabelul 3.8<br />
min<br />
q ir<br />
4.3.26 Pe structura nominală a robotului se stabilește matricea distribuției nominale a maselor,<br />
M având dimensiunea ( n× 11)<br />
și forma prezentată în Tabelul 3.9:<br />
dn<br />
M dn<br />
ij<br />
M dn Masa Centrul maselor Tensorul inerțial<br />
n<br />
M i<br />
i n<br />
x C i<br />
i n<br />
y C i<br />
i n<br />
z C i<br />
i n<br />
I x<br />
i n<br />
I y<br />
i n<br />
I z<br />
i n<br />
I x y<br />
i n<br />
I yz<br />
Tabelul 3.9<br />
j<br />
4.3.27 Prin măsurători fizice asupra structurii reale se determină matricea distribuției reale a<br />
i n<br />
I zx<br />
i n<br />
I act
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
.<br />
maselor, notată M dr și având dimensiunea ( n× 11)<br />
(a se vedea Tabelul 3.10).<br />
i<br />
ij<br />
M dr<br />
j<br />
ij<br />
M S<br />
Valori<br />
4.3.28 Urmatorul pas constă în stabilirea matricei linie a sarcinii utile de manipulat, notată M S și<br />
având dimensiunea ( 1× 6)<br />
, după cum reiese din analiza Tabelului 3.11.<br />
M dr<br />
Masa Centrul maselor Tensorul inerțial<br />
r<br />
M i<br />
i r<br />
x C i<br />
i r<br />
y C i<br />
i r<br />
z C i<br />
i r<br />
I x<br />
98<br />
i r<br />
I y<br />
i r<br />
I z<br />
i r<br />
I x y<br />
i r<br />
I yz<br />
Tabelul 3.10<br />
i r<br />
I zx<br />
i r<br />
I act<br />
Tabelul 3.11<br />
M S<br />
n + 1<br />
f n + 1<br />
n + 1<br />
n n + 1<br />
f x<br />
y f z f x n y n z n<br />
4.4 Geometria robotului pentru m > 1<br />
4.4.1 Se adoptă următoarele notații: ε { ε ; ε ; ε ; ε }<br />
4.4.2 Dacă ε ε I<br />
= .<br />
I II III IV<br />
= , urmează pasul 4.4.3.În caz contrar, ε { ε ; ε ; ε }<br />
= și se trece la 4.4.9<br />
II III IV<br />
4.4.3 Condiția ε = ε I presupune variabile în raport cu p= 1→<br />
m atât matricele vr M și Gr M<br />
cât și M , M<br />
θ n θ r și dr<br />
M . Se presupune că matricea M S este constantă.<br />
4.4.4 Se utilizează datele conținute de matricea M S (determinată la pasul 4.3.28).<br />
4.4.5 Se consideră p= 1→<br />
m .<br />
4.4.6 Se utilizează matricele:<br />
⎧<br />
⎪ M ; T ; M ; T<br />
⎨<br />
⎪⎩ M ; M ; M ; M<br />
p p p p<br />
Gn n Gr r<br />
p p p p<br />
θ n θ r dn d r<br />
4.4.7 Dacă p = m,<br />
urmează pasul A1. 58. . Altfel, se consideră p= p+<br />
1 și se revine la 4.4.5<br />
4.4.8 Se trece la pasul 4.4.36.<br />
4.4.9 Dacă ε ε II<br />
= , urmează 4.4.10. În caz contrar, ε { ε ; ε }<br />
= și se aplică 4.4.19.<br />
III IV<br />
4.4.10 Condiția ε = ε II , presupune pentru p= 1→<br />
m fixat că matricele M , M , M<br />
(3.6)<br />
vr Gr dr
sunt constante, iar matricele Mθ n și r Mθ sunt variabile în raport cu k= 1→<br />
m unde, M = cst.<br />
4.4.11 Se utilizează datele conținute de matricea M S (determinată la pasul 4.3.28).<br />
4.4.12 Se consideră p= 1→<br />
m .<br />
4.4.13 Se utilizează matricele:<br />
4.4.14 Se consideră k = 1→<br />
m.<br />
⎧<br />
⎪ M ; T ; M ; T<br />
⎨<br />
⎪⎩ M ; M<br />
4.4.15 Se utilizează matricele: M ; M<br />
p p<br />
Gn n Gr r<br />
p p<br />
dn dr<br />
pk pk<br />
θ n θ r<br />
4.4.16 Dacă k = m , urmează pasul 4.4.17 . Altfel, se adoptă k = k+<br />
1și<br />
se revine la 4.4.16<br />
4.4.17 Dacă p = m,<br />
urmează pasul 4.4.18. Altfel, se adoptă p= p+<br />
1și<br />
se revine la 4.4.12 .<br />
4.4.18 Se trece la pasul 4.4.36 .<br />
4.4.19 Dacă ε = ε III , urmează pasul 4.4.20 . În caz contrar, ε = ε IV și se aplică 4.4.29.<br />
4.4.20 Condiția ε = ε III , presupune pentru p= 1→<br />
m fixat că matricele matricele Mθ n și r Mθ sunt constante, iar matricele , ,<br />
vr Gr dr<br />
Matricea M = cst.<br />
S<br />
99<br />
S<br />
.<br />
(3.7)<br />
M M M sunt variabile în raport cu k = 1→<br />
m.<br />
4.4.21 Se utilizează datele conținute de matricea M S (determinată la pasul 4.3.28).<br />
4.4.22Se consideră p= 1→<br />
m .<br />
4.4.23 Se utilizează matricele:<br />
4.4.24 Se consideră k = 1→<br />
m.<br />
⎧<br />
⎪ M ; T<br />
⎨<br />
⎪⎩ M ; M ; M<br />
p p<br />
Gn n<br />
p p p<br />
θ n θ r dn<br />
pk pk pk<br />
Gr r dr<br />
4.4.25 Se utilizează matricele: M ; T ; M<br />
. (3.8)<br />
4.4.26 Dacă k = m , urmează pasul 4.4.27. Altfel, se adoptă k = k+<br />
1și<br />
se revine la 4.4.24<br />
4.4.27 Dacă p = m,<br />
urmează pasul 4.4.28. Altfel, se adoptă p= p+<br />
1și<br />
se revine la 4.4.22.<br />
4.4.28 Se trece la pasul 4.4.36.<br />
4.4.29 Dacă condiția ε = ε IV este satisfăcută, aceasta presupune faptul că pentru o valoare<br />
p= 1→<br />
m , fixată, matricele M , M , M<br />
Gr θ n θ r și dr<br />
utile, notată M S , este variabilă în raport cu k = 1→<br />
m.<br />
M sunt constante iar matricea sarcinii
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
.<br />
4.4.30 Se consideră p= 1→<br />
m .<br />
4.4.31 Se utilizează matricele:<br />
4.4.32 Se consideră k = 1→<br />
m.<br />
⎧<br />
⎪ M ; T ; M ; T<br />
⎨<br />
⎪⎩ M ; M ; M ; M<br />
p p p p<br />
Gn n Gr r<br />
p p p p<br />
θ n θ r dn d r<br />
pk<br />
4.4.33 Se utilizează matricea: M S .<br />
4.4.34 Dacă k = m , urmează pasul 4.4.35. Altfel, se adoptă k = k+<br />
1și<br />
se revine la 4.4.32.<br />
4.4.35 Dacă p = m,<br />
urmează pasul 4.4.36. Altfel, se adoptă p= p+<br />
1și<br />
se revine la 4.4.30.<br />
4.4.36 Se scrie matricea timpilor t M , de dimensiune ( 1× m)<br />
și forma prezentată mai jos:<br />
Tabelul 3.12<br />
1m<br />
M t<br />
1<br />
Valori<br />
M t<br />
t K K K<br />
4.4.37 Se reprezintă grafic schema cinematică a robotului (Denumire și simbolizare)<br />
4.4.38 Dacă ε = ε IV , ciclul se încheie. Altfel, se adoptă k = k+<br />
1 și se revine la 4.4.1.<br />
3.2 Modelarea erorilor geometrice<br />
În cadrul acestui paragraf, pentru început, se determină erorile primare din cuplele motoare datorate<br />
jocurilor, erorilor de fabricație sau erorilor de coordonate generalizate q i , partea a doua fiind dedicată<br />
determinării erorilor geometrice ce afectează performanțele în funcționare ale roboților cu structură serială.<br />
3.2.1 Determinarea erorilor primare<br />
Erorile primare se determină ținând seama de expresiile prezentate anterior.<br />
S-a realizat o analiză a erorilor primare pentru toate cele douăsprezece matrice de rotație rezultantă<br />
(prezentate în Cap. 2, §21, Tabelul 2.1 – Tabelul 2.12), obținându-se în final expresiile pentru erorile primare<br />
{ Δα, Δβ , Δ γ } , unde A { x, y, z} , B { y, z, x} , C { z, x, y}<br />
A B C<br />
= = = .<br />
În continuare este prezentat algoritmul de determinare a erorilor primare pentru toate cele douăsprezece<br />
seturi de rotații rezultante. Pentru matricea de tipul ( α β γ )<br />
determinarea erorilor primare sunt prezentați in continuare.<br />
100<br />
z x z<br />
tm<br />
− − , pașii care trebuie parcurși în
{ i − 1}<br />
nom<br />
pii −1<br />
{ nom<br />
i }<br />
r<br />
pii−1 pi −1<br />
Δ<br />
pii−1 nom<br />
pi<br />
{ } nom<br />
n−1 nom<br />
pn −1<br />
{ } r<br />
i<br />
z<br />
r<br />
pi<br />
{ 0}<br />
O<br />
x<br />
Fig.3.2 Reprezentarea erorilor geometrice<br />
⎡ 1 −Δα 0⎤ ⎡1 0 0 ⎤ ⎡ 1 −Δγ<br />
0⎤<br />
z z<br />
⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />
⎢Δαz 1 0⎥ ⎢0 1 −Δβx<br />
⎥ ⎢Δγ z 1 0⎥<br />
⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />
⎣ 0 0 1⎦ 0 Δβx<br />
1 ⎣ 0 0 1⎦<br />
⋅ ⋅ =<br />
⎣ ⎦<br />
( αz γ z) ( αz γ z)<br />
( αz βx)<br />
α γ ( Δα ⋅Δγ<br />
) 1 β<br />
⎡ 1 − Δ ⋅Δ − Δ +Δ Δ ⋅Δ ⎤<br />
⎢ ⎥<br />
⎢ Δ +Δ − + −Δ ⎥<br />
z z z z<br />
x<br />
⎢ ⎥<br />
⎢ Δβx ⋅Δγ z Δβx<br />
1 ⎥<br />
⎣ ⎦<br />
i−1 nT i−1 r ( xi ⋅ xi ) i−1 nT i−1 r ( xi ⋅ y i ) i−1 nT i−1 r<br />
( xi ⋅ zi<br />
)<br />
− ( − ) − ( − ) − ( − )<br />
i−1 nT i−1 r ( zi ⋅ xi ) i−1 nT i−1 r ( zi ⋅ y i ) i−1 nT i−1 r<br />
( zi ⋅ zi<br />
)<br />
101<br />
.<br />
(3.9)<br />
⎡ ⎤<br />
⎢ ⎥<br />
nT r i 1 nT i 1 r i 1 nT i 1 r i 1 nT i 1 r<br />
Rii−1⋅ Rii−1= ⎢ y i ⋅ xi yi⋅ yi yi⋅ z ⎥<br />
i . (3.10)<br />
⎢ ⎥<br />
⎢ ⎥<br />
⎣ ⎦<br />
Se identifică termenii din matricea rezultantă (3.10) cu termenii corespunzători din matricea (3.9), astfel:<br />
nom<br />
pn<br />
Δp<br />
r<br />
pn−1 ⎧Δ α +Δ γ = ⋅<br />
⎪<br />
⎨<br />
⎪<br />
⎩Δ<br />
α +Δ γ =− ⋅<br />
i−1 nT i−1 r<br />
z z y i xi<br />
i−1 nT i−1 r<br />
z z xi yi<br />
i−1 nT i−1 r<br />
x zi y i<br />
; (3.11)<br />
Δ β = ⋅ ; (3.12)<br />
i−1 nT i−1 r<br />
x z zi xi<br />
y<br />
r<br />
pn<br />
{} nom<br />
n<br />
⎡d ⎤<br />
d d<br />
{ } r<br />
n−1 {} r<br />
x<br />
= ⎢ ⎥<br />
y<br />
⎢ ⎥<br />
⎣d z ⎦<br />
n<br />
⎡δx⎤ δ = ⎢δ⎥ y<br />
⎢ ⎥<br />
⎣δz⎦ Δβ ⋅Δ γ = ⋅ ; (3.13)
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
.<br />
1 i−1 ( nT ) i−1 ( r)<br />
Δ γz = ⋅ zi ⋅ xi , Δβx ≠ 0 ; (3.14)<br />
Δβ<br />
x<br />
Δ γ =<br />
( nT ) ( r)<br />
zi ⋅ xi<br />
. (3.15)<br />
( ) ( )<br />
z ⋅ y<br />
i−1 i−1 z i−1 nT i−1 r<br />
i i<br />
Pe baza exemplului prezentat anterior se vor analiza toate cele douăsprezece matrice de rotaţie, în final<br />
obţinându-se erorile unghiulare ( α , β , γ )<br />
Δ Δ Δ corespunzătoare fiecărui set de rotaţii generalizate.<br />
A B C<br />
A. Determinarea erorilor unghiulare pentru setul de unghiuri ( αz−βy − γ x)<br />
În determinarea erorilor unghiulare pentru cele douăsprezece seturi de unghiuri se pleacă de la<br />
ipoteza infinitelor mici de ordin superior. În acest scop se consideră trei seturi de unghiuri:<br />
= ( ; ; ) ; B = ( β ; γ; α)<br />
; C = ( γ ; α; β)<br />
A α β γ<br />
Sunt evidente relaţiile următoare: ΔA⋅ΔB ≅ 0 , ΔA⋅ΔC ≅ 0 , ΔB⋅ΔC ≅ 0 , respectiv ΔA⋅ΔB⋅ΔC ≅ 0<br />
Prin aplicarea ipotezelor simplificatoare menționate mai sus, produsul matriceal va deveni:<br />
⎡ 1 −Δαz 0⎤<br />
⎡ 1 0 Δβy<br />
⎤ ⎡1 0 0 ⎤<br />
⎢ ⎥⋅⎢ ⎥ ⎢ ⎥<br />
⎢Δαz1 0⎥<br />
⎢ 0 1 0 ⎥⋅ ⎢0 1 −Δγ<br />
x ⎥ =<br />
⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />
⎣ 0 0 1⎦<br />
⎣⎢−Δβy 0 1 ⎦⎥<br />
⎣0 Δγ<br />
x 1 ⎦<br />
⎡ 1 Δβy ⋅Δγ x −Δαz Δ βy +Δγ x ⋅Δαz⎤ ⎡ 1 −Δαz ⎢ ⎥ ⎢<br />
= ⎢ Δαz Δβy ⋅Δγ x ⋅Δ αz + 1 Δβy ⋅Δαz −Δγ x⎥ = ⎢ Δαz 1<br />
⎢ ⎥ ⎢<br />
⎢−Δβy Δγ x 1 −Δβy Δγ<br />
x<br />
⎣ ⎥⎦ ⎢⎣ ;<br />
Δβy<br />
⎤<br />
⎥<br />
−Δγ<br />
x⎥<br />
⎥<br />
1 ⎥⎦<br />
(3.16)<br />
Se identifică termenii din (3.16) cu termenii corespunzători din matricea (3.10) rezultând sistemul:<br />
⎧Δ α = ⋅<br />
⎪<br />
⎨Δ<br />
β =− ⋅<br />
⎪<br />
⎪⎩ Δ γ = ⋅<br />
i−1 nT i−1 r<br />
z yi xi<br />
i−1 nT i−1 r<br />
( z x )<br />
y i i<br />
x<br />
i−1 nT<br />
zi i−1 r<br />
yi<br />
;<br />
Pentru verificare, se mai pot scrie următoarele identităţi:<br />
⎧Δβ ⋅Δγ −Δ α = ⋅<br />
⎪<br />
⎨Δ<br />
β +Δγ ⋅Δ α = ⋅<br />
⎪<br />
⎪⎩ Δβ ⋅Δα −Δ γ = ⋅<br />
y x z<br />
i−1 nT<br />
xi i−1 r<br />
yi<br />
y x z<br />
i−1 nT<br />
xi i−1 r<br />
zi<br />
y z x<br />
i−1 nT<br />
y i<br />
i−1 r<br />
zi<br />
102<br />
;<br />
;<br />
;<br />
;<br />
;<br />
(3.17)<br />
(3.18)<br />
Pentru a demonstra identitatea de mai sus, se înlocuiesc expresiile ce caracterizează erorile<br />
unghiulare Δ αz<br />
, Δ βy<br />
şi Δ γ x , din sistemul (3.17) în prima expresie a sistemului de ecuaţii notat cu
(3.18) astfel obţinându-se următoarea identitate:<br />
( ) ( ) ( )<br />
i−1 nT i−1 r i−1 nT i−1 r i−1 nT i−1 r i−1 nT i−1 r<br />
zi xi zi yi yi xi xi y i<br />
− ⋅ ⋅ ⋅ − ⋅ = ⋅ . (3.19)<br />
Identitatea matriceală (3.19) mai poate fi scrisă şi într-o formă echivalentă, unde din condiţia de<br />
i−1 nT<br />
coliniaritate se poate observa că produsul scalar ( zi i−1 nT<br />
zi ) 1<br />
( ) ( ) ( )<br />
103<br />
⋅ = , expresia devenind:<br />
i−1 r i−1 nT i−1 nT i−1 r i−1 nT i−1 r i−1 r i−1 r i−1 nT i−1 nT i−1 r<br />
xi zi zi yi yi xi xi yi yi xi y i<br />
− ⋅ ⋅ ⋅ − ⋅ =− ⋅ − = ⋅ . (3.20)<br />
În continuare, expresia (3.20) se înmulţeşte în membrul stâng cu produsul<br />
i−1 r i−1 r<br />
unde ( )<br />
( ) ( )<br />
i−1 nT i−1 r<br />
i i<br />
x ⋅ x = 1,<br />
rezultând:<br />
i−1 nT i−1 r i−1 r i−1 r i−1 nT i−1 r i−1 r i−1 nT i−1 nT i−1 r<br />
xi xi xi y i xi xi xi y i xi y i<br />
− ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅ = ⋅ . (3.21)<br />
x ⋅ x = 1 , din aceeaşi condiţie de coliniaritate.<br />
i i<br />
După efectuarea tuturor transformărilor va rezulta următoarea expresie finală:<br />
Vectorii<br />
i−1 nT<br />
xi<br />
şi<br />
i−1 nT<br />
y i<br />
( ) ( )<br />
i−1 nT i−1 r i−1 nT i−1 nT i−1 nT i−1 r<br />
xi yi xi y i xi y i<br />
− ⋅ + ⋅ = ⋅ . (3.22)<br />
fiind ortogonali, produsul lor scalar va fi nul, identitatea (3.22) devenind:<br />
( )<br />
i−1 nT i−1 r i−1 nT i−1 r<br />
xi yi xi y i<br />
− ⋅ = ⋅ .<br />
Astfel, prima identitate a sistemului (3.18) a fost demonstrată. Semnul minus din membrul stâng ne<br />
indică faptul că termenul ( βy γ x αz)<br />
Δ ⋅Δ −Δ aparţine unei matrice antisimetrice.<br />
i−1 nT i−1 r<br />
y x z i i<br />
Următorul pas constă în verificarea celei de-a doua identităţi: Δ β +Δγ ⋅Δ α = x ⋅ z .<br />
În acest scop, se înlocuiesc expresiile ce caracterizează erorile unghiulare Δ αz<br />
, Δ βy<br />
şi Δ γ x , din<br />
sistemul (3.17) în cea de-a doua expresie a sistemului (3.18), rezultând următoarea identitate:<br />
( ) ( ) ( )<br />
i−1 nT i−1 r i−1 nT i−1 r i−1 nT i−1 r i−1 nT i−1 r<br />
zi xi zi yi yi xi xi zi<br />
− ⋅ + ⋅ ⋅ ⋅ = ⋅ . (3.23)<br />
i−1 nT i−1 r i−1 nT i−1 r i−1 nT i−1 nT i−1 r i−1 r<br />
unde, ( ) ( ) ( ) ( )<br />
z ⋅ y ⋅ y ⋅ x = z ⋅ y ⋅ y ⋅ x = 0 , rezultă din condiţia de<br />
i i i i i i i i<br />
ortogonalitate a axelor celor două sisteme, { }<br />
n , respectiv { }<br />
r .<br />
( )<br />
i−1 nT i−1 r i−1 nT i−1 r<br />
zi xi xi zi<br />
În continuare se verifică ultima identitate a sistemului:<br />
− ⋅ = ⋅ . (3.24)<br />
i−1 nT i−1 r<br />
y z x y i zi<br />
Δβ ⋅Δα −Δ γ = ⋅ . (3.25)<br />
Pentru a demonstra identitatea de mai sus, se înlocuiesc expresiile pentru erorile unghiulare Δ αz<br />
,<br />
Δ βy<br />
şi γ x<br />
Δ , din sistemul (3.17) în ultima expresie a sistemului (3.18), rezultând:<br />
.
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
.<br />
i−1 nT i−1 r i−1 nT i−1 r i−1 nT i−1 r i−1 nT i−1 nT i−1 r i−1 r i−1 nT i−1 r<br />
− z ⋅ x ⋅ y ⋅ x − z ⋅ y =− z ⋅ y ⋅ x ⋅ x − z ⋅ y .(3.26)<br />
( ) ( ) ( )<br />
i−1 r<br />
Din aplicarea condiţiilor de coliniaritate ( xi i−1 r<br />
xi ) 1<br />
sistemului { n } i−1 nT<br />
, ( z<br />
i−1 nT<br />
y ) 0<br />
i i i i i i i i i i i i<br />
i i<br />
⋅ = , respectiv de ortogonalitate a axelor<br />
⋅ = , pentru identitatea (3.26), se obţine în final expresia:<br />
( ) ( )<br />
⎧ i−1 nT i−1 nT i−1 r i−1 r i−1 nT i−1 r i−1 nT i−1 r<br />
zi y i xi xi zi yi yi z ⎫<br />
⎪− ⋅ ⋅ ⋅ − ⋅ = ⋅ i ⎪<br />
⎨ ⎬,<br />
(3.27)<br />
i−1 nT i−1 r i−1 nT i−1 r<br />
⎪⎩ − zi ⋅ yi = yi ⋅ zi<br />
⎪⎭<br />
identitatea (3.25) este astfel verificată (se ţine seama de faptul că (3.16) este o matrice antisimetrică).<br />
B. Determinarea erorilor unghiulare pentru setul de unghiuri ( α x −βy − γ x)<br />
⎡1 ⎢<br />
⎢<br />
0<br />
⎢⎣0 0<br />
1<br />
Δαx 0 ⎤ ⎡ 1<br />
⎢<br />
−Δα ⎥<br />
x 0<br />
⎥<br />
⋅<br />
⎢<br />
1 ⎥⎦ ⎢<br />
⎣−Δβy 0<br />
1<br />
0<br />
Δβy<br />
⎤ ⎡1 0<br />
⎥ ⎢<br />
⎥<br />
⋅<br />
⎢<br />
0<br />
1 ⎥<br />
⎦ ⎢⎣0 0<br />
1<br />
Δγ<br />
x<br />
0 ⎤<br />
−Δγ<br />
⎥<br />
x⎥<br />
=<br />
1 ⎥⎦<br />
; (3.28)<br />
⎡ 1 Δβ ⋅Δγ Δβ ⎤ ⎡ 1 0 Δβ<br />
⎤<br />
y x y y<br />
⎢<br />
βy αx 1 γ x αx γ x α<br />
⎥ ⎢<br />
x 0 1 γ x α<br />
⎥<br />
⎢<br />
Δ ⋅Δ −Δ ⋅Δ −Δ −Δ<br />
⎥ ⎢<br />
−Δ −Δ x⎥<br />
⎢ −Δβy Δ γ x + Δαx 1−Δγ x ⋅Δαx⎥ ⎢−Δβy Δ γ x + Δαx<br />
1 ⎥<br />
= =<br />
⎣ ⎦ ⎣ ⎦<br />
Prin identificarea termenilor din matricea (3.28) cu termenii corespunzători din matricea (3.10), rezultă:<br />
i−1 nT i−1 r<br />
y xi zi<br />
Δ β = ⋅ ; (3.29)<br />
i−1 nT i−1 r i−1 nT i−1 r 1 i−1 nT i−1 r<br />
{ ( )<br />
Δβy ⋅Δ γ x = xi ⋅ yi , unde Δ βy = xi ⋅ zi ⇒ Δ γ x = ⋅ xi ⋅ y i , Δβy ≠ 0<br />
Δβ<br />
de unde rezultă:<br />
i−1 nT i−1 r<br />
xi ⋅ yi<br />
x i−1 nT i−1 r<br />
xi ⋅ zi<br />
Δ γ =<br />
i−1 nT i−1 r 1 i−1 nT i−1 r<br />
Δβy ⋅Δ αx = y i ⋅ xi , ⇒ Δ αx = ⋅( y i ⋅ xi ) , Δβy ≠ 0<br />
Δβ<br />
Din identitatea (3.29) se obţine următoarea valoare pentru eroarea unghiulară Δ α x :<br />
i−1 nT i−1 r<br />
y i ⋅ xi<br />
x i−1 nT i−1 r<br />
xi ⋅ zi<br />
Δ α =<br />
Următoarele ecuaţii suplimentare vor fi utilizate pentru verificarea validităţii calculelor efectuate anterior.<br />
⎧Δ ⎪ γ +Δ α = ⋅<br />
⎨<br />
⎪⎩ −Δ ( γ +Δ α ) = ⋅<br />
i−1 nT i−1 r<br />
x x zi yi<br />
i−1 nT i−1 r i−1 nT i−1 r<br />
⇒ z<br />
i 1 nT i 1 r<br />
i ⋅ yi =− yi ⋅ z<br />
− −<br />
i<br />
x x yi zi<br />
104<br />
y<br />
y<br />
( )<br />
C. Determinarea erorilor unghiulare pentru setul de unghiuri ( α −β −<br />
γ )<br />
x z x<br />
(3.30)<br />
(3.31)<br />
(3.32)
⎡1 0 0 ⎤ ⎡ 1 −Δβ<br />
1 z ⎤ ⎡1 0 0 ⎤ ⎡ −Δβz<br />
0 ⎤<br />
⎢0 1 −Δα ⎥⋅⎢Δβ1 0⎥⋅<br />
⎢0 1 −Δγ<br />
⎥=<br />
⎢Δβ1−Δγ −Δα<br />
⎥<br />
(3.33)<br />
x z<br />
x<br />
z x x<br />
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />
⎢⎣0 Δα 0 x 1 ⎥⎦ ⎢⎣ 0 0 1⎥⎦<br />
⎢⎣0 Δγx 1 ⎥⎦<br />
⎢⎣ Δ γx +Δαx<br />
1 ⎥⎦<br />
de unde se obţine:<br />
i−1 nT i−1 r<br />
z y i xi<br />
Δ β = ⋅ (3.34)<br />
i−1 nT i−1 r 1 i−1 nT i−1 r<br />
Δβz ⋅Δ γ x = xi ⋅ zi ⇒ Δ γ x = ⋅( xi ⋅ zi ), Δβz ≠ 0<br />
Δβ<br />
i−1 nT i−1 r<br />
xi ⋅ zi<br />
x i−1 nT i−1 r<br />
y i ⋅ xi<br />
Δ γ =<br />
i−1 nT i−1 r 1 i−1 nT i−1 r<br />
Δβz ⋅Δ αx = zi ⋅ xi ⇒ Δ αx = ⋅( zi ⋅ xi ), Δβz ≠ 0<br />
Δβ<br />
Astfel, din ecuaţia (3.37) se obţine valoarea erorii unghiulare Δ α x , după cum rezultă din expresia:<br />
i−1 nT i−1 r<br />
zi ⋅ xi<br />
x i−1 nT i−1 r<br />
y i ⋅ xi<br />
Δ α =<br />
105<br />
z<br />
z<br />
.<br />
(3.35)<br />
(3.36)<br />
(3.37)<br />
; (3.38)<br />
Următoarele ecuaţii determinate prin identificarea termenilor corespunzători din matricea (3.28) sunt<br />
utile în verificarea calculului erorilor unghiulare:<br />
⎧Δ<br />
⎪<br />
γ + Δ α = ⋅<br />
⎨<br />
⎪⎩ 1−Δγ ⋅Δ α = z ⋅ z<br />
i−1 nT i−1 r<br />
x x zi y i<br />
i−1 nT i−1 r<br />
x x i i<br />
D. Determinarea erorilor unghiulare pentru setul de unghiuri ( α y −βz− γ x)<br />
; (3.39)<br />
⎡ 1 0 Δα y ⎤ ⎡ 1 −Δβ 1<br />
z ⎤ ⎡1 0 0 ⎤ ⎡ −Δβz Δαy<br />
⎤<br />
⎢<br />
0 1 0<br />
⎥ ⎢<br />
βz<br />
1 0<br />
⎥ ⎢<br />
0 1 γ<br />
⎥ ⎢<br />
Δβ x<br />
z 1 −Δγ<br />
⎥<br />
⎢ ⎥<br />
⋅ Δ ⋅ x<br />
⎢<br />
−Δ<br />
⎥<br />
= ⎢ ⎥ (3.40)<br />
⎢ ⎥<br />
⎢<br />
⎣−Δαy 0 1 ⎥<br />
⎦ ⎢⎣ 0 0 1⎥⎦<br />
⎢⎣0 Δγ<br />
x 1 ⎥⎦<br />
⎢−Δαy Δγ<br />
x 1 ⎥<br />
⎣ ⎦<br />
Se identifică termenii din matricea (3.40) cu termenii corespunzători din matricea (3.10), astfel:<br />
i−1 nT i−1 r<br />
( z x )<br />
⎧Δ α =− ⋅<br />
⎪<br />
⎨Δ<br />
β = ⋅<br />
⎪<br />
⎪⎩<br />
Δ γ =− ⋅<br />
y i i<br />
z<br />
i−1 nT<br />
y i<br />
i−1 r<br />
xi<br />
i−1 nT i−1 r<br />
( y z )<br />
x i i<br />
Pentru verificare, se mai pot scrie următoarele identităţi:<br />
i−1 nT i−1 r<br />
⎧Δ αy+Δβz ⋅Δ γ x = xi ⋅ zi<br />
;<br />
⎪ i−1 nT i−1 r<br />
⎨Δγ<br />
x ⋅Δαy −Δ βz<br />
= xi ⋅ yi<br />
;<br />
⎪ i−1 nT i−1 r<br />
⎪⎩ Δ γ x +Δβz ⋅Δ αy<br />
= zi ⋅ y i ;<br />
;<br />
;<br />
;<br />
(3.41)<br />
(3.42)
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
.<br />
α −β − γ<br />
E. Determinarea erorilor unghiulare pentru setul de unghiuri ( x z y)<br />
⎡1 0 0 ⎤ ⎡ 1 −Δβz<br />
⎤ ⎡ 1 0 Δγ y ⎤ ⎡ 1 −Δβz Δγ<br />
y ⎤<br />
⎢<br />
0 1 α<br />
⎥ ⎢<br />
x β<br />
0 1 0<br />
z 1 0<br />
⎥ ⎢ ⎥ ⎢<br />
Δβz 1 −Δα<br />
⎥<br />
x<br />
⎢<br />
−Δ<br />
⎥<br />
⋅ Δ ⋅<br />
⎢ ⎥<br />
= ⎢ ⎥ ; (3.43)<br />
⎢ ⎥<br />
⎢⎣0 Δα x 1 ⎥⎦ ⎢⎣ 0 0 1⎥⎦<br />
⎢<br />
⎣−Δγ y 0 1 ⎥<br />
⎦<br />
⎢−Δγ y Δαx<br />
1 ⎥<br />
⎣ ⎦<br />
Se identifică termenii din matricea (3.43) cu termenii corespunzători din matricea (3.10), astfel:<br />
⎧Δ<br />
i−1 nT i−1 r<br />
α x = zi ⋅ y i<br />
⎪ i−1 nT i−1 r<br />
⎨Δ<br />
βz<br />
=−( xi ⋅ yi<br />
);<br />
⎪ i−1 nT i−1 r<br />
⎪⎩ Δ γ y = xi ⋅ zi<br />
Pentru verificare, se mai pot scrie următoarele identităţi:<br />
⎧Δβ ⋅Δγ −Δ α = ⋅<br />
⎪<br />
⎨Δ<br />
β +Δγ ⋅Δ α = ⋅<br />
⎪<br />
⎪⎩ Δβ ⋅Δα −Δ γ = ⋅<br />
z y x<br />
i−1 nT<br />
y i<br />
i−1 r<br />
zi<br />
z y x<br />
i−1 nT<br />
y i<br />
i−1 r<br />
xi<br />
z x y<br />
i−1 nT<br />
zi i−1 r<br />
xi<br />
F. Determinarea erorilor unghiulare pentru setul de unghiuri ( α y −βz− γ y)<br />
106<br />
;<br />
(3.44)<br />
(3.45)<br />
⎡ 1 0 Δαy⎤ ⎡ 1 −Δβz<br />
⎤ ⎡ 1 0 Δγy⎤ ⎡ 1 −Δβz Δ αy + Δγy⎤<br />
⎢<br />
0 1 0<br />
⎥ ⎢<br />
β<br />
0 1 0<br />
z 1 0<br />
⎥ ⎢ ⎥ ⎢<br />
Δβz<br />
1 0<br />
⎥<br />
⎢ ⎥<br />
⋅ Δ ⋅<br />
⎢ ⎥<br />
= ⎢ ⎥ (3.46)<br />
⎢ ⎥<br />
⎣<br />
⎢−Δαy 0 1 ⎦<br />
⎥ ⎢⎣ 0 0 1⎥⎦<br />
⎣<br />
⎢−Δγy 0 1 ⎦<br />
⎥ ⎢−Δαy −Δγy<br />
0 1 ⎥<br />
⎣ ⎦<br />
de unde se obţine:<br />
i−1 nT i−1 r<br />
z y i xi<br />
Δ β = ⋅ (3.47)<br />
i−1 nT i−1 r 1 i−1 nT i−1 r<br />
Δβz ⋅Δ γ y = y i ⋅ zi ⇒ Δ γ y = ⋅( y i ⋅ zi ), Δβz ≠ 0<br />
Δβ<br />
i−1 nT i−1 r<br />
y i ⋅ zi<br />
x i−1 nT i−1 r<br />
y i ⋅ xi<br />
Δ γ =<br />
i−1 nT i−1 r 1 i−1 nT i−1 r<br />
Δβz ⋅Δ αy = zi ⋅ y i ⇒ Δ αy = ⋅( zi ⋅ y i ), Δβz ≠ 0<br />
Δβ<br />
z<br />
z<br />
(3.48)<br />
(3.49)<br />
(3.50)<br />
Astfel, din ecuaţia (3.47) se obţine valoarea erorii unghiulare Δ α y , după cum rezultă din expresia de mai jos<br />
i−1 nT i−1 r<br />
zi ⋅ y i<br />
y i−1 nT i−1 r<br />
y i ⋅ xi<br />
Δ α =<br />
; (3.51)<br />
G. Determinarea erorilor unghiulare pentru setul de unghiuri ( α y −βx −<br />
γ y)
⎡ 1 0 Δαy⎤ ⎡1 0 0 ⎤ ⎡ 1 0 Δγ<br />
1 0<br />
y⎤<br />
⎡ Δ αy +Δγy⎤<br />
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />
⎢ 0 1 0 ⎥⋅⎢0 1 −Δβ 0 1<br />
x ⎥⋅<br />
⎢ 0 1 0 ⎥=<br />
⎢ −Δβx<br />
⎥ (3.52)<br />
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />
⎢−Δαy 0 1 ⎥ ⎣0 Δβx 1 ⎦ ⎢−Δγy 0 1 ⎥ ⎢−Δαy −Δγy Δβx<br />
1<br />
⎣ ⎦ ⎣ ⎦ ⎣ ⎥⎦<br />
de unde se obţine:<br />
i−1 nT i−1 r<br />
x zi y i<br />
Δ β = ⋅ (3.53)<br />
i−1 nT i−1 r 1 i−1 nT i−1 r<br />
Δβx ⋅Δ αy = xi ⋅ yi ⇒ Δ αy = ⋅( xi ⋅ y i ), Δβx ≠ 0<br />
Δβ<br />
i−1 nT i−1 r<br />
xi ⋅ yi<br />
y i−1 nT i−1 r<br />
zi ⋅ y i<br />
Δ α =<br />
i−1 nT i−1 r 1 i−1 nT i−1 r<br />
Δβx ⋅Δ γ y = y i ⋅ xi ⇒ Δ γ y = ⋅( y i ⋅ xi ), Δβx ≠ 0<br />
Δβ<br />
Astfel, din ecuaţia (3.53) se obţine valoarea erorii unghiulare Δ γ y , după cum rezultă din expresia:<br />
i−1 nT i−1 r<br />
y i ⋅ xi<br />
y i−1 nT i−1 r<br />
zi ⋅ y i<br />
Δ γ =<br />
107<br />
x<br />
x<br />
.<br />
(3.54)<br />
(3.55)<br />
(3.56)<br />
; (3.57)<br />
Următoarele ecuaţii determinate prin identificarea termenilor corespunzători din matricele (3.52),<br />
respectiv (3.10) sunt utile în verificarea calculului erorilor unghiulare:<br />
⎧Δ γ + Δ α = ⋅<br />
⎪<br />
⎨<br />
⎪<br />
⎩1−Δγ<br />
⋅Δ α = z ⋅ z<br />
i−1 nT i−1 r<br />
y y xi zi<br />
i−1 nT i−1 r<br />
y y i i<br />
H. Determinarea erorilor unghiulare pentru setul de unghiuri ( αz−βx − γ y)<br />
; (3.58)<br />
⎡ 1 −Δαz<br />
⎤ ⎡1 0 0 ⎤ ⎡ 1 0 Δγ y ⎤ ⎡ 1 −Δαz Δγ<br />
y ⎤<br />
⎢Δαz1 0⎥⋅⎢0 1 −Δβ<br />
⎥<br />
x ⋅ ⎢ 0 1 0 ⎥ = ⎢ Δαz 1 −Δβ⎥<br />
x ; (3.59)<br />
⎢<br />
0 0 1<br />
⎥ ⎢<br />
0 βx 1<br />
⎥ ⎢ ⎥ ⎢ ⎥<br />
⎣ ⎦ ⎣ Δ ⎦ ⎣−Δγ y 0 1 ⎦ ⎢⎣ −Δγ y Δβx<br />
1 ⎥⎦<br />
Se identifică termenii din matricea (3.59) cu termenii corespunzători din matricea (3.10), astfel:<br />
i−1 nT i−1 r<br />
( x y )<br />
⎧Δ α =− ⋅<br />
⎪<br />
⎨Δ<br />
β = ⋅<br />
⎪<br />
⎪⎩<br />
Δ γ =− ⋅<br />
z i i<br />
x<br />
i−1 nT<br />
zi i−1 r<br />
y i<br />
i−1 nT i−1 r<br />
( z x )<br />
y i i<br />
Pentru verificare, se mai pot scrie următoarele identităţi:<br />
;<br />
(3.60)
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
.<br />
⎧Δ<br />
i−1 nT i−1 r<br />
αz +Δβx ⋅Δ γ y = y i ⋅ xi<br />
⎪ i−1 nT i−1 r<br />
⎨Δαz<br />
⋅Δγ y −Δ βx<br />
= y i ⋅ zi<br />
(3.61)<br />
⎪ i−1 nT i−1 r<br />
⎩Δ<br />
γ y +Δαz ⋅Δ βx<br />
= xi ⋅ zi<br />
I. Determinarea erorilor unghiulare pentru setul de unghiuri ( α y −βx − γ z)<br />
⎡ 1 0 Δα ⎤ ⎡1 0 0 ⎤ ⎡ 1 −Δγ0⎤<br />
⎡ 1 −Δγ Δα<br />
⎤<br />
y z<br />
z y<br />
⎢ ⎥<br />
0 1 0<br />
⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />
⎢ ⎥⋅ 0 1 βx γ z 1 0 Δγz 1 −Δβ<br />
⎢ −Δ ⎥⋅ ⎢Δ⎥ = ⎢ x⎥<br />
⎢−Δαy 0 1 ⎥ ⎢0 Δβx 1 ⎥ ⎢ 0 0 1⎥<br />
⎢−Δαy Δβx<br />
1 ⎥<br />
⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦<br />
Se identifică termenii din matricea (3.62) cu termenii corespunzători din matricea (3.10), astfel:<br />
i−1 nT i−1 r<br />
⎧Δ α y = xi ⋅ zi<br />
⎪ i−1 nT i−1 r<br />
⎨Δ<br />
βx<br />
=−( y i ⋅ zi<br />
);<br />
⎪<br />
⎪ i−1 nT i−1 r<br />
⎩Δ<br />
γ z = yi ⋅ xi<br />
Pentru verificare, se mai pot scrie următoarele identităţi:<br />
− −<br />
⎧Δβx⋅Δγ z −Δ αy<br />
= zi ⋅ xi<br />
⎪ − −<br />
⎨Δ<br />
β +Δα ⋅Δ γ = z ⋅ y<br />
⎪ − −<br />
⎪⎩ Δα ⋅Δβ −Δ γ = x ⋅ y<br />
108<br />
i 1 nT i 1 r<br />
i 1 nT i 1 r<br />
x y z i i<br />
i 1 nT i 1 r<br />
y x z i i<br />
J. Determinarea erorilor unghiulare pentru setul de unghiuri ( α −β − γ )<br />
z x<br />
z<br />
⎢ ⎥ ⎢ ⎥<br />
⎢⎣ 0 0 1⎥⎦ ⎢0 βx<br />
1 ⎥ ⎢⎣ 0 0 1⎥⎦<br />
z x z<br />
⎡ 1 Δαz 0⎤ ⎡1 0 0 ⎤ ⎡ 1 Δγ<br />
1 z 0⎤<br />
⎡ −Δγz−Δαz 0 ⎤<br />
⎢−Δα 1 0⎥⋅⎢0 1 −Δβ<br />
⎥⋅<br />
⎢−Δγ 1 0⎥=<br />
⎢Δ αz+Δγz 1 −Δβ<br />
⎥<br />
x<br />
⎢ ⎥<br />
⎢ ⎥<br />
⎣ Δ ⎦ ⎢⎣ 0 Δβx<br />
1 ⎥⎦<br />
astfel se obţine:<br />
i−1 nT i−1 r<br />
x zi y i<br />
(3.62)<br />
(3.63)<br />
(3.64)<br />
(3.65)<br />
Δ β = ⋅ (3.66)<br />
i−1 nT i−1 r 1 i−1 nT i−1 r<br />
Δβx ⋅Δ αz = xi ⋅ zi ⇒ Δ αz = ⋅( xi ⋅ zi ), Δβx ≠ 0<br />
Δβ<br />
i−1 nT i−1 r<br />
xi ⋅ zi<br />
z i−1 nT i−1 r<br />
zi ⋅ y i<br />
Δ α =<br />
i−1 nT i−1 r 1 i−1 nT i−1 r<br />
Δβx ⋅Δ γ z = zi ⋅ xi ⇒ Δ γz = ⋅( zi ⋅ xi ), Δβx ≠ 0<br />
Δβ<br />
Astfel, din ecuaţia (3.66) se obţine valoarea erorii unghiulare Δ γ z , după cum rezultă din expresia:<br />
i−1 nT i−1 r<br />
zi ⋅ xi<br />
z i−1 nT i−1 r<br />
zi ⋅ y i<br />
Δ γ =<br />
x<br />
x<br />
(3.67)<br />
(3.68)<br />
(3.69)<br />
; (3.70)
Următoarele ecuaţii determinate prin identificarea termenilor corespunzători din matricele (3.65),<br />
respectiv (3.10) sunt utile în verificarea calculului erorilor unghiulare:<br />
i−1 nT i−1 r<br />
⎧Δ ⎪ αz +Δ γ z= yi ⋅ xi<br />
⎨<br />
⎪⎩ 1−Δα ⋅Δ γ = x ⋅ x<br />
i−1 nT i−1 r<br />
z z i i<br />
K. Determinarea erorilor unghiulare pentru setul de unghiuri ( αz−βy − γz)<br />
109<br />
; (3.71)<br />
⎡ 1 −Δαz 0⎤ ⎡ 1 0 Δβ<br />
1<br />
y ⎤ ⎡ 1 −Δγz<br />
0⎤<br />
⎡ −Δγ z − Δαz Δβy⎤<br />
⎢ ⎢ ⎥<br />
⎢ ⎥<br />
Δαz 1 0⎥⋅ 0 1 0 ⎢ γz<br />
1 0⎥<br />
Δ αz +Δγz<br />
1 0<br />
⎢ ⎥<br />
⋅ Δ = ⎢ ⎥ (3.72)<br />
⎢ ⎥ ⎢ ⎥<br />
⎢⎣ 0 0 1⎥⎦ ⎢−Δ ⎣ βy<br />
0 1 ⎥⎦<br />
⎢⎣ 0 0 1⎥⎦<br />
⎢ −Δβy 0 1 ⎥<br />
⎣ ⎦<br />
de unde se obţine:<br />
i−1 nT i−1 r<br />
y xi zi<br />
Δ β = ⋅ (3.73)<br />
i−1 nT i−1 r 1 i−1 nT i−1 r<br />
( ) ( ),<br />
Δβ ⋅Δ α =− y ⋅ z ⇒ Δ α =− ⋅ y ⋅ z Δβ ≠ 0<br />
y z i i z i i y<br />
Δβy<br />
i−1 nT i−1 r<br />
y i ⋅ zi<br />
z i−1 nT i−1 r<br />
xi ⋅ zi<br />
Δ α =−<br />
i−1 nT i−1 r 1 i−1 nT i−1 r<br />
Δβy ⋅Δ γ z = zi ⋅ y i ⇒ Δ γ z = ⋅( zi ⋅ y i ), Δβy ≠ 0<br />
Δβ<br />
Din ecuaţia (3.73) se obţine valoarea erorii unghiulare Δ γ z , după cum rezultă din expresia de mai jos:<br />
i−1 nT i−1 r<br />
zi ⋅ y i<br />
z i−1 nT i−1 r<br />
xi ⋅ zi<br />
Δ γ =<br />
y<br />
.<br />
(3.74)<br />
(3.75)<br />
(3.76)<br />
; (3.77)<br />
Următoarele ecuaţii determinate prin identificarea termenilor corespunzători din matricele (3.72), respectiv<br />
(3.10) sunt utile în verificarea calculului erorilor unghiulare:<br />
i−1 nT i−1 r<br />
⎧Δ αz +Δ γz=<br />
yi ⋅ xi<br />
⎪<br />
⎨<br />
⎪<br />
⎩1−Δα<br />
⋅Δ γ = x ⋅ x<br />
i−1 nT i−1 r<br />
z z i i<br />
L. Determinarea erorilor unghiulare pentru setul de unghiuri ( α x −βy − γz)<br />
; (3.78)<br />
⎡1 0 0 ⎤ ⎡ 1 0 Δβ ⎤ ⎡ 1 −Δγ0⎤<br />
⎡ 1 −Δγ Δβ<br />
⎤<br />
y z<br />
z y<br />
⎢ ⎥ ⎢ ⎥<br />
z 0 1 0<br />
⎢ ⎥ ⎢ ⎥<br />
0 1 α γ z 1 0 Δγz 1 −Δα<br />
⎢ −Δ ⎥⋅⎢ ⎥⋅<br />
⎢Δ⎥ = ⎢ x⎥<br />
⎢0 Δαz 1 ⎥ ⎢−Δβy 0 1 ⎥ ⎢ 0 0 1⎥<br />
⎢−Δβy Δαx<br />
1 ⎥<br />
⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦<br />
Se identifică termenii din matricea (3.79) cu termenii corespunzători din matricea (3.10), astfel:<br />
(3.79)
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
.<br />
⎧Δ<br />
i−1 nT i−1 r<br />
α x = −( y i ⋅ zi<br />
)<br />
⎪ i−1 nT i−1 r<br />
⎨Δ<br />
βy<br />
= xi ⋅ zi<br />
;<br />
(3.80)<br />
⎪ i−1 nT i−1 r<br />
⎪⎩<br />
Δ γ z =−( xi ⋅ yi<br />
)<br />
Pentru verificare, se mai pot scrie următoarele identităţi:<br />
i−1 nT i−1 r<br />
⎧Δ αx+Δβy ⋅Δ γz<br />
= zi ⋅ y i<br />
⎪ i−1 nT i−1 r<br />
⎨Δγ<br />
z ⋅Δαx −Δ βy<br />
= zi ⋅ xi<br />
(3.81)<br />
⎪<br />
i−1 nT i−1 r<br />
⎪Δ ⎩ αx⋅Δ βy +Δ γz<br />
= y i ⋅ xi<br />
Operatorul matriceal de diferențiere a erorilor a fost determinat pentru toate cele douăsprezece<br />
seturi de matrice de rotație rezultantă, acestea din urmă fiind prezentate în detaliu și în cadrul capitolului 3.<br />
Astfel, în Tabelul 3.13 sunt prezentate expresiile analitice ce definesc operatorul de diferențiere în<br />
raport cu erorile δTii− 1 , echivalentul operatorului Uicker, în cadrul modelului geometric cu erori.<br />
1. Pentru matricea de tipul (z – y – x)<br />
Operatorul matriceal al erorilor primare Tabelul 3.13<br />
110<br />
( ψ )<br />
⎡ Δ × Δ pii<br />
−1<br />
⎤<br />
δTii−1 ( z− y − x)<br />
= ⎢ ⎥<br />
⎢0 0 0 0 ⎥<br />
⎣ ⎦<br />
; (3.82)<br />
⎡ 0<br />
Δβy· sγ x −Δαz· cβy· cγ x Δ βy· cγ x +Δαz·<br />
cβy· sγ<br />
x⎤<br />
⎢ ⎥<br />
Δ ( ψ × ) = ⎢ Δαz· cβy· cγ x −Δβy· sγ x 0<br />
Δαz· sβy<br />
−Δγ<br />
x ⎥<br />
⎢ ⎥<br />
⎢−Δβy· cγ x −Δαz· cβy· sγ x Δγ x −Δαz·<br />
sβy<br />
0<br />
⎣ ⎥⎦<br />
⎡ Δpx · cα 1 z· cβy −Δ pz · sβ · ·<br />
1 y +Δpy<br />
cβ 1 y sαz<br />
⎤<br />
ii− ii− ii−<br />
⎢ ⎥<br />
Δ p p ·( · · · ) ·( · · · ) · ·<br />
1 y cα 1 z cγ x sα ii ii z sβy sγ x px cγ ii 1 x sαz cαz sβy sγ x pz cβ ii 1 y sγ<br />
− = ⎢ Δ + −Δ − +Δ<br />
⎥<br />
x<br />
⎢ − − − ⎥<br />
⎢Δ px ·( sα · c · · ) ·( · c · · ) · ·<br />
ii 1 z sγ x + αz cγ x sβy −Δpy cα ii 1 z sγ x − γ x sαz sβy +Δpz cβ ii 1 y cγ⎥<br />
⎣ − − −<br />
x ⎦<br />
2. Pentru matricea de tipul (x – y – x)<br />
( ψ )<br />
( ψ )<br />
⎡ Δ × Δ pii<br />
−1<br />
⎤<br />
δTii−1 ( x− y − x)<br />
= ⎢ ⎥<br />
⎢0 0 0 0 ⎥<br />
⎣ ⎦<br />
(3.83)<br />
(3.84)<br />
; (3.85)<br />
⎡ 0<br />
Δβy· sγ x −Δαx· cγ x· sβy Δ βy· cγ x +Δαx·<br />
sβy· sγ<br />
x⎤<br />
⎢ ⎥<br />
× =⎢ Δαx· cγ x· sβy −Δβy· sγ x 0<br />
−Δγ x −Δαx·<br />
cβy<br />
⎥ ; (3.86)<br />
⎢ ⎥<br />
⎢⎣ −Δβy· cγ x − Δαx· sβy· sγ x Δ γ x + Δαx·<br />
cβy<br />
0 ⎥⎦<br />
⎡ Δpx · cβ 1 y −Δ pz · cα · · ·<br />
1 x sβy +Δpy<br />
sα 1 x sβy<br />
⎤<br />
ii− ii− ii−<br />
⎢ ⎥<br />
Δ pii−1 = ⎢Δpy·( cα· · · ) ·( · · · ) · ·<br />
ii 1 x cγ x − cβysαxsγ x +Δ pz cγ ii 1 x sαx+ cαxcβysγ x +Δpxsβ<br />
ii 1 y sγ<br />
x ⎥<br />
− − −<br />
⎢ ⎥<br />
⎢Δpx· cγ · ·( · · · ) ·( · · · )<br />
ii 1 x sβy −Δpz sα ii 1 x sγ x −cαx cβy cγ x −Δ py cα ii 1 x sγ x + cβy cγ x sα<br />
− − −<br />
x ⎥<br />
⎣ ⎦<br />
;(3.87)
3. Pentru matricea de tipul (x – z – x)<br />
( ψ )<br />
δ ii−1<br />
111<br />
( ψ )<br />
⎡ Δ × Δ pii<br />
−1<br />
⎤<br />
T ( x−z− x)<br />
= ⎢ ⎥ ; (3.88)<br />
⎢0 0 0 0 ⎥<br />
⎣ ⎦<br />
⎡ 0<br />
Δβy· sγ x −Δαx· cγ x· sβy Δ βy· cγ x +Δαx·<br />
sβy· sγ<br />
x⎤<br />
⎢ ⎥<br />
× =⎢ Δαx· cγ x· sβy −Δβy· sγ x 0<br />
−Δγ x −Δαx·<br />
cβy<br />
⎥ ; (3.89)<br />
⎢ ⎥<br />
⎢⎣ −Δβy· cγ x − Δαx· sβy· sγ x Δ γ x + Δαx·<br />
cβy<br />
0 ⎥⎦<br />
⎡ Δpx · cβ 1 y −Δ pz · cα · · ·<br />
1 x sβy +Δpy<br />
sα 1 x sβy<br />
⎤<br />
ii− ii− ii−<br />
⎢ ⎥<br />
Δ pii−1 = ⎢Δpy·( cα· · · ) ·( · · · ) · ·<br />
ii 1 x cγ x − cβysαxsγ x +Δ pz cγ ii 1 x sαx+ cαxcβysγ x +Δpxsβ<br />
ii 1 y sγ<br />
x ⎥<br />
− − −<br />
⎢ ⎥<br />
⎢Δpx· cγ · ·( · · · ) ·( · · · )<br />
ii 1 x sβy −Δpz sα ii 1 x sγ x −cαx cβy cγ x −Δ py cα ii 1 x sγ x + cβy cγ x sα<br />
⎣ − − −<br />
x ⎥⎦<br />
4. Pentru matricea de tipul (y – z – x)<br />
( ψ )<br />
⎡ Δ × Δ pii<br />
−1<br />
⎤<br />
δTii−1 ( y −z− x)<br />
= ⎢ ⎥<br />
⎢0 0 0 0 ⎥<br />
⎣ ⎦<br />
.<br />
; (3.90)<br />
; (3.91)<br />
⎡ 0<br />
Δβy· sγ x −Δαx· cγ x· sβy Δ βy· cγ x +Δαx·<br />
sβy· sγ<br />
x⎤<br />
⎢ ⎥<br />
Δ ( ψ × ) =⎢ Δαx· cγ x· sβy −Δβy· sγ x 0<br />
−Δγ x −Δαx·<br />
cβy<br />
⎥ ; (3.92)<br />
⎢<br />
⎥<br />
⎢⎣<br />
−Δβy· cγ x − Δαx· sβy· sγ x Δ γ x + Δαx·<br />
cβy<br />
0<br />
⎦⎥<br />
⎡ Δpx · cβ 1 y −Δ pz · cα · · ·<br />
1 x sβy +Δpy<br />
sα 1 x sβy<br />
⎤<br />
ii− ii− ii−<br />
⎢ ⎥<br />
Δ pii−1 = ⎢Δpy·( cα· · · ) ·( · · · ) · ·<br />
ii 1 x cγ x − cβysαxsγ x +Δ pz cγ ii 1 x sαx+ cαxcβysγ x +Δpxsβ<br />
ii 1 y sγ<br />
⎥<br />
x<br />
⎢ − − − ⎥<br />
⎢Δpx· cγ · ·( · · · ) ·( · · · )<br />
ii 1 x sβy −Δpz sα ii 1 x sγ x −cαx cβy cγ x −Δ py cα ii 1 x sγ x + cβy cγ x sα<br />
⎥<br />
⎣ − − −<br />
x ⎦<br />
5. Pentru matricea de tipul (x – z – y)<br />
( ψ )<br />
⎡ Δ × Δ pii<br />
−1<br />
⎤<br />
δTii−1 ( z− x− y)<br />
= ⎢ ⎥<br />
⎢0 0 0 0 ⎥<br />
⎣ ⎦<br />
; (3.93)<br />
; (3.94)<br />
⎡ 0<br />
Δβy· sγ x −Δαx· cγ x· sβy Δ βy· cγ x +Δαx·<br />
sβy· sγ<br />
x⎤<br />
⎢ ⎥<br />
Δ ( ψ × ) =⎢ Δαx· cγ x· sβy −Δβy· sγ x 0<br />
−Δγ x −Δαx·<br />
cβy<br />
⎥<br />
⎢<br />
⎥<br />
⎢⎣<br />
−Δβy· cγ x − Δαx· sβy· sγ x Δ γ x + Δαx·<br />
cβy<br />
0<br />
⎦⎥<br />
⎡ Δpx · cβ 1 y −Δ pz · cα · · ·<br />
1 x sβy +Δpy<br />
sα 1 x sβy<br />
⎤<br />
ii− ii− ii−<br />
⎢ ⎥<br />
Δ pii−1 = ⎢Δpy·( cα· · · ) ·( · · · ) · ·<br />
ii 1 x cγ x − cβysαxsγ x +Δ pz cγ ii 1 x sαx+ cαxcβysγ x +Δpxsβ<br />
ii 1 y sγ<br />
⎥<br />
x<br />
⎢ − − − ⎥<br />
⎢Δpx· cγ · ·( · · · ) ·( · · · )<br />
ii 1 x sβy −Δpz sα ii 1 x sγ x −cαx cβy cγ x −Δ py cα ii 1 x sγ x + cβy cγ x sα<br />
⎥<br />
⎣ − − −<br />
x ⎦<br />
6. Pentru matricea de tipul (y – x – y)<br />
( ψ )<br />
⎡ Δ × Δ pii<br />
−1<br />
⎤<br />
δTii−1 ( y − x− y)<br />
= ⎢ ⎥<br />
⎢0 0 0 0 ⎥<br />
⎣ ⎦<br />
(3.95)<br />
(3.96)<br />
; (3.97)
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
.<br />
⎡ 0<br />
Δαy· cγ y· sβx −Δβx· sγ y Δ γ y +Δαy·<br />
cβx<br />
⎤<br />
⎢ ⎥<br />
Δ ( ψ × ) =⎢Δβx· sγ y −Δαy· cγ y· sβx 0 −Δβx· cγ y −Δαy·<br />
sβx· sγ<br />
y⎥<br />
; (3.98)<br />
⎢ ⎥<br />
−Δγ − Δα · cβ Δ β · cγ + Δα<br />
· sβ · sγ<br />
0<br />
⎢⎣ y y x x y y x y<br />
⎥⎦<br />
⎡Δpx·( cα 1 y· cγ y −cβx· sαx· sγ y ) −Δ pz ·( cγ · · · ) · ·<br />
1 y sαx + cαy cβx sγ y +Δp<br />
ii ii y sβ ii 1 x sγ<br />
y⎤<br />
− − −<br />
⎢ ⎥<br />
Δ pii−1 = ⎢ Δ py· cβ · · · ·<br />
ii 1 x +Δ pzcα ii 1 y sβx+Δpxsα ii 1 x sβ<br />
⎥<br />
x<br />
⎢ − − −<br />
⎥<br />
⎢Δ px·( cα· · · ) ·( · · · ) · ·<br />
ii 1 y sγ y + cβx cγ y sαx −Δpz sα ii 1 x sγ y −cαy cβx cγ y −Δpy<br />
cγ ii 1 y sβ<br />
⎥<br />
⎣ − − −<br />
x⎦<br />
7. Pentru matricea de tipul (z – x – y)<br />
112<br />
( ψ )<br />
⎡ Δ × Δ pii<br />
−1<br />
⎤<br />
δTii−1 ( z− x− y)<br />
= ⎢ ⎥<br />
⎢0 0 0 0 ⎥<br />
⎣ ⎦<br />
(3.99)<br />
; (3.100)<br />
⎡<br />
0<br />
−Δβx· sγ y − Δαz· cβx· cγ y Δ γ y + Δαz·<br />
sβx<br />
⎤<br />
⎢ ⎥<br />
Δ ( ψ × ) =⎢Δ β x · sγ y +Δαz· cβx· cγ y 0<br />
Δαz·<br />
cβx· sγ y −Δβx·<br />
cγ<br />
y⎥<br />
; (3.101)<br />
⎢ ⎥<br />
⎢⎣ −Δγ y − Δαz· sβx Δβx· cγ y − Δαz·<br />
cβx· sγ<br />
y<br />
0 ⎥⎦<br />
⎡Δpx·( cα 1 z· cγ y − sαz· sβx· sγ y ) +Δ py ·( cγ · · · ) · ·<br />
1 y sαz + cαz sβx sγ y −Δp<br />
ii ii z cβ ii 1 x sγ<br />
y ⎤<br />
− − −<br />
⎢ ⎥<br />
Δ pii−1 = ⎢ Δ pz· sβ · · · ·<br />
ii 1 x +Δpycα ii 1 z cβx−Δpxcβ ii 1 x sα<br />
⎥<br />
z<br />
⎢ − − −<br />
⎥<br />
⎢Δ px·( cα· · · ) ·( · · · ) · ·<br />
ii 1 z sγ y + cγ y sαz sβx +Δpy sα ii 1 z sγ y − cαz cγ y sβx +Δpz<br />
cβ ii 1 x cγ<br />
⎥<br />
⎣ − − −<br />
y ⎦<br />
8. Pentru matricea de tipul (y – x – z)<br />
( ψ )<br />
⎡ Δ × Δ pii<br />
−1<br />
⎤<br />
δTii−1 ( y − x− z)<br />
= ⎢ ⎥<br />
⎢0 0 0 0 ⎥<br />
⎣ ⎦<br />
; (3.102)<br />
; (3.103)<br />
⎡ 0<br />
⎢<br />
Δ ( ψ × ) =⎢ Δγz −Δαy· sβx ⎢<br />
⎢⎣ Δβx· sγz −Δαy·<br />
cβx· cγz Δαy· sβx −Δγz 0<br />
Δ βx· cγz +Δαy·<br />
cβx· sγz<br />
Δαy· cβx· cγz −Δβx·<br />
sγz<br />
⎤<br />
⎥<br />
−Δβx· cγz −Δαy·<br />
cβx· sγz⎥<br />
;<br />
⎥<br />
0 ⎥⎦<br />
(3.104)<br />
⎡Δ px·( cα 1 y· cγz + sαx· sβx· sγz) −Δpz ·( cγ · · · ) · ·<br />
1 z sαx − cαy sβx sγz +Δp<br />
ii ii y cβ ii 1 x sγ<br />
z⎤<br />
− − −<br />
⎢ ⎥<br />
Δ pii−1 = ⎢Δ pz·( sα· · · ) ·( · · · ) · ·<br />
ii 1 x sγz+ cαycγzsβx−Δpxcα ii 1 y sγz− cγzsαxsβx+Δpycβ ii 1 x cγ<br />
⎥<br />
z ;<br />
⎢ − − − ⎥<br />
⎢ Δpz · cα · · · ·<br />
ii 1 y cβx −Δ py sβ ii 1 x +Δpx<br />
cβ ii 1 x sα<br />
⎥<br />
⎣ − − −<br />
x<br />
⎦<br />
(3.105)<br />
9. Pentru matricea de tipul (z – x – z)<br />
( ψ )<br />
⎡ Δ × Δ pii<br />
−1<br />
⎤<br />
δTii−1 ( z− x− z)<br />
= ⎢ ⎥<br />
⎢0 0 0 0 ⎥<br />
⎣ ⎦<br />
; (3.106)<br />
⎡ 0<br />
−Δγz − Δαz· cβx Δαz· cγz· sβx − Δβx·<br />
sγz<br />
⎤<br />
⎢ ⎥<br />
Δ ( ψ × ) =⎢ Δ γ z +Δαz· cβx 0<br />
−Δβx· cγz −Δαz·<br />
sβx· sγ<br />
z⎥<br />
; (3.107)<br />
⎢ ⎥<br />
⎢⎣Δβx· sγz −Δαz·<br />
cγz· sβx Δ βx· cγz +Δαz·<br />
sβx· sγ<br />
z<br />
0 ⎥⎦
⎡Δpx·( cα 1 z· cγz − cβx· sαz· sγz) +Δ py ·( cγ · · · ) · ·<br />
1 z sαz + cαz cβx sγ z +Δp<br />
ii ii z sβ ii 1 x sγ<br />
z⎤<br />
− − −<br />
⎢ ⎥<br />
Δ pii−1= ⎢Δpz · cγ · ·( · · · ) ·( · · · )<br />
ii 1 z sβx −Δpy sα ii 1 z sγz −cαz cβx cγz −Δ px cα ii 1 z sγ z + cβx cγ z sα<br />
⎥<br />
z<br />
⎢ − − −<br />
⎥<br />
⎢ Δpz · cβ · · · ·<br />
ii 1 x −Δ py cα ii 1 z sβx +Δpx<br />
sα ii 1 z sβ<br />
⎥<br />
⎣ − − −<br />
x<br />
⎦<br />
10. Pentru matricea de tipul (z – y – z)<br />
( ψ )<br />
⎡ Δ<br />
δTii−1 ( z− y − z)<br />
= ⎢<br />
⎢0 ⎣<br />
×<br />
0 0<br />
Δ pii<br />
−1<br />
0<br />
⎤<br />
⎥<br />
⎥<br />
⎦<br />
⎡ 0<br />
⎢<br />
Δ ( ψ × ) =⎢ Δ γ z +Δαz· cβy ⎢<br />
⎢⎣ −Δβy· cγz − Δαz· sβy· sγz −Δγ z − Δαz· cβy 0<br />
Δβy· sγz − Δαz·<br />
cγz· sβy<br />
Δ βy· cγz + Δαz·<br />
sβy· sγz⎤<br />
⎥<br />
Δαz· cγz· sβy −Δβy·<br />
sγz⎥<br />
⎥<br />
0 ⎥⎦<br />
⎡Δ py ·( cα 1 z· sγz + cβy· cγz· sαz) −Δpx ·( sα · · · ) · ·<br />
1 z sγz −cαz cβy cγ z −Δp<br />
ii ii z cγ ii 1 z sβy<br />
⎤<br />
− − −<br />
⎢ ⎥<br />
Δ pii−1 = ⎢Δpy·( cα· · · ) ·( · · · ) · ·<br />
ii 1 z cγz−cβysαzsγz−Δ px cγ ii 1 z sαz+ cαzcβysγz+Δpzsβ ii 1 y sγ<br />
⎥<br />
z<br />
⎢ − − − ⎥<br />
⎢ Δ pz · cβ · · · ·<br />
ii 1 y +Δ px cα ii 1 z sβy +Δpy<br />
sα ii 1 z sβ<br />
⎥<br />
⎣ − − −<br />
y<br />
⎦<br />
11. Pentru matricea de tipul (x – y – z)<br />
( ψ )<br />
ecuaţiile matriceale de modelare matematică a structurii mecanice. Ca urmare, ele influenţează precizia<br />
113<br />
.<br />
; (3.108)<br />
; (3.109)<br />
⎡ Δ<br />
δTii−1 ( x− y − z)<br />
= ⎢<br />
⎢0 ⎣<br />
×<br />
0 0<br />
Δ pii<br />
−1<br />
0<br />
⎤<br />
⎥<br />
⎥<br />
⎦<br />
⎡ 0<br />
⎢<br />
Δ ( ψ × ) =⎢ Δ γ z +Δαx· sβy ⎢<br />
⎢⎣ Δαx· cβy· sγz − Δβy· cγz −Δγ z − Δαx· sβy 0<br />
Δβy· sγz + Δαx·<br />
cβy· cγz<br />
Δβy· cγz − Δαx·<br />
cβy· sγz<br />
⎤<br />
⎥<br />
−Δβy· sγz −Δαx·<br />
cβy· cγz⎥<br />
⎥<br />
0 ⎥⎦<br />
⎡Δ py ·( cα 1 x· sγz + cγz· sαx· sβy ) +Δpz ·( sα · · · ) · ·<br />
1 x sγz − cαx cγz sβy +Δp<br />
ii ii x cβ ii 1 y cγ<br />
z⎤<br />
− − −<br />
⎢ ⎥<br />
Δ pii−1= ⎢Δpy ·( cα· · · ) ·( · · · ) · ·<br />
ii 1 x cγz − sαx sβy sγz +Δ pz cγ ii 1 z sαx + cαx sβy sγz −Δpx<br />
cβ ii 1 y sγ<br />
⎥<br />
z<br />
⎢ − − − ⎥<br />
⎢ Δ px · sβ · · · ·<br />
ii 1 y +Δpz cα ii 1 x cβy −Δpy<br />
cβ ii 1 y sα<br />
⎥<br />
⎣ − − −<br />
x<br />
⎦<br />
3.2.2 Matricele erorilor geometrice<br />
3.2.2.1 Modelarea erorilor geometrice ale parametrilor de tip DH şi PG<br />
(3.110)<br />
(3.111)<br />
; (3.112)<br />
; (3.113)<br />
. (3.114)<br />
Un aspect fundamental, legat de precizia roboţilor constă în stabilirea erorilor geometrice specifice<br />
parametrilor de poziţie-orientare relativă dintre elementele robotului. Astfel, situarea (poziţia-orientarea)<br />
dintre două elemente învecinate (i-1)-(i), aparţinând unui robot având n g.d.l. poate fi exprimată cu ajutorul<br />
parametrilor tip DH sau tip PG. Valorile reale ale acestor parametrii sunt caracterizate prin anumite erori<br />
geometrice, denumite erori tip DH respectiv erori tip PG. Ele sunt rezultatul abaterilor dimensionale şi<br />
elasticităţii elementelor, precum şi a jocurilor, uzurilor respectiv frecărilor din fiecare cuplă motoare a<br />
robotului. De asemenea, ele influenţează, considerabil, parametrii tip DM (distribuţia maselor) {masa,<br />
centrul maselor, momentele de inerţie mecanice}. Astfel, valorile lor reale conţin aşa numitele erori tip DM.<br />
Matricele diferenţiale de tip ΔT, ΔA şi ΔMD aparţinând erorilor tip DH, tip PG şi tip DM sunt incluse în
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
.<br />
cinematico-dinamică a roboţilor. Luând în considerare modul de definire al parametrilor de tip DH şi tip PG,<br />
rezultă că erorile geometrice, în general, nu pot fi stabilite cu ajutorul măsurătorilor fizice. În cadrul acestui<br />
paragraf va fi prezentat un model de calcul al erorilor geometrice.<br />
3.3.1.1 Modelarea erorilor geometrice tip DH<br />
În figura 3.3 se consideră o secvenţă de două elemente învecinate (i-1)-(i) aparţinând structurii<br />
mecanice a unui robot cu n g.d.l. De asemenea, sunt reprezentate sistemele tip DH {i-1D} şi {iD}, precum<br />
şi parametrii tip DH. Matricea tip DH de transformare omogenă între sistemele { i-1D} şi {iD} are forma:<br />
i−1D iD<br />
[ T] T ( y ; β ) . T ( x ; α ) . T ( x ; a ) . T ( z ; θ ) . T ( z ; d )<br />
= (3.115)<br />
R i−1D i−1 R i−1D i−1 T i−1D i−1 R iD i T iD i<br />
unde unghiul β i−<br />
1 are valoarea nominală zero. Luând în considerare matricele geometriei robotului, in<br />
algoritmul operatorilor tip DH se prezintă modelul matematic pentru calculul sistemelor şi parametrilor tip<br />
DH. Astfel, matricele sistemelor respectiv parametrilor tip DH sunt următoarele:<br />
T<br />
⎧ T<br />
⎡TDqk ; k = 1→<br />
m⎤<br />
⎪<br />
⎣ ⎦<br />
⎪<br />
= ⎨ ⎡ q q q q<br />
T<br />
⎡<br />
Dqk ( piDk ) ( x iDk ) ( y iDk ) ( z<br />
⎤<br />
⎤<br />
⎪ =<br />
⎢ iDk ) i = 1→ n + 1<br />
⎢ ⎥<br />
⎥<br />
⎪⎩ ( n+ 1) x12<br />
⎣⎣ ⎦<br />
⎦<br />
Dq T T T T<br />
M<br />
⎧ T<br />
⎡M Dqk ; k = 1 → m⎤<br />
;<br />
⎪<br />
⎣ ⎦<br />
= ⎨<br />
T<br />
⎪ M Dqk = ⎡⎡a i−1k α i−1k d ik θ ⎤ ik i = 1→ n + 1 ⎤ ;<br />
⎣⎣ ⎦<br />
⎦<br />
⎪⎩ ( n+ 1) x 4<br />
Dq q q q q<br />
unde m reprezintă numărul configurațiilor luate in studiu, iar vectorul de poziţie<br />
114<br />
T<br />
; (3.116)<br />
(3.117)<br />
q<br />
p iD k şi versorii axelor<br />
sunt exprimaţi în sistemul fix {0}. Legătura dintre parametrii tip DH nominali şi reali este realizată cu<br />
ajutorul erorilor geometrice tip DH, a căror formă este prezentată în expresia următoare:<br />
[ β α θ ]<br />
∈ iD = Δ i−1 Δ i−1 Δai−1 ΔdiΔ i , i = 1→ n+<br />
1.<br />
(3.118)<br />
Aceste erori sunt, reprezentate în fig. 3.4 pentru cazul general când axa x i− 1D<br />
, aparţinând sistemului<br />
real {i – Dr}, formează un unghi β i−1<br />
n<br />
Δ cu planul i 1D 0<br />
T<br />
r<br />
z − = corespunzător sistemului nominal {i –<br />
1Dn}. Eroarea unghiulară tip DH, notată cu Δ 1,<br />
este măsurată în jurul axei y i− 1D<br />
astfel:<br />
β i−<br />
( ) ( )<br />
⎧ T T<br />
n r n r ⎫<br />
Δ β i−1 = Atan zi 1D xi 1D /<br />
⎡<br />
− − xi−1D x<br />
⎤<br />
⎨ ⋅ ⋅<br />
⎢ i−1⎥⎬.<br />
(3.119)<br />
⎩ ⎣ ⎦⎭<br />
n
Fig. 3.3 Reprezentarea parametrilor de tip Denavit – Hartenberg<br />
Orientarea sistemului {i-1} relativ la {i-1Dn} este definită cu ecuaţia matriceală:<br />
Eroarea unghiulară<br />
n [ R] R( y β ) [ R] [ x′ y′ z′<br />
]<br />
i−1Dn i−1Dn i−1' i−1D i−1 i−1Dr i−1 i−1 i−1<br />
= ; Δ ⋅ = ;<br />
(3.120)<br />
n ( x i−1D) ( )<br />
n ( z i−1D) ⎡ T ⎤<br />
⎢ ⎥<br />
⎢ ⎥<br />
⎢ ⎥ ⎡ ⎤ . (3.121)<br />
⎣ ⎦<br />
i−1Dn n<br />
T<br />
r r r<br />
1 [ R] = y<br />
i Dr<br />
i−1D ⋅ xi 1D y i 1D z<br />
−<br />
− − i−1D ⎢ T ⎥<br />
⎢ ⎥<br />
⎣ ⎦<br />
*<br />
n<br />
Δ θi−1 este măsurată în jurul lui zi− 1D<br />
între axele x i−1<br />
n<br />
zi−1 αi 1<br />
∗<br />
−<br />
z′ i−1 zi−1 o′′ i−1 n<br />
Oi−1 elementul i −1<br />
q ⋅k<br />
i−1 i−1<br />
⎧ * T n<br />
⎪<br />
sΔ θ i−1 =± x′ i−1× [ 1 0 0 ] / zi−1D<br />
;<br />
⎨<br />
⎪ * T<br />
T<br />
⎩ cΔ θ i−1 = ( x′<br />
i−1)<br />
⋅[<br />
1 0 0 ] ;<br />
Fig.3.4 Reprezentarea erorilor de tip DH<br />
115<br />
n ′ şi x − 1 şi se determină astfel:<br />
i D<br />
.<br />
(3.122)<br />
* * *<br />
Δ θi−1 = Atan2 ⎡s θi−1; c θ ⎤<br />
⎣<br />
Δ Δ i−1⎦<br />
.<br />
(3.123)<br />
Elementul ( i −1n<br />
)<br />
n<br />
zi−1D n<br />
i 1D<br />
n<br />
oi−1D o′ i−1 n<br />
zi−1D αi −1<br />
z −<br />
i 1<br />
{ i−1} y −<br />
n<br />
xi−1D x′ i−1 O −<br />
i 1<br />
Δ<br />
r<br />
oi−1D n<br />
oi−1D o′′ i−1 a −<br />
i 1<br />
x −<br />
θi 1<br />
∗<br />
−<br />
{} i<br />
i 1<br />
r<br />
z iD<br />
Δ<br />
qi⋅ki zi<br />
Oi<br />
βi 1<br />
∗<br />
−<br />
di<br />
ai−1n elementul i<br />
xi<br />
z′ i<br />
r<br />
Q iD<br />
n<br />
QiD<br />
n<br />
Oi<br />
n<br />
o iD<br />
O +<br />
i 1<br />
θi<br />
n<br />
zi<br />
n<br />
z iD<br />
z′′ i<br />
Q′′ i<br />
n<br />
QiD<br />
q ⋅k<br />
n<br />
x iD<br />
Q′ i<br />
i+ 1 i+<br />
1<br />
n<br />
OiD<br />
n<br />
QiD<br />
Q′′ i<br />
Δai−1<br />
Q′′ i<br />
O′′ i<br />
n<br />
d i<br />
Δdi
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
.<br />
Eroarea unghiulară tip DH, notată Δ θ i−1<br />
, se determină cu relaţiile:<br />
Se introduce notaţia k { i 1, i}<br />
Unghiul<br />
⎧Δ<br />
*<br />
θ i−1+Δqi−1 − daca i − 1 = R ;<br />
⎪<br />
*<br />
Δ θi−1 = ⎨ Δθi−1− daca i − 1 = T ;<br />
⎪ 0− daca i = 1.<br />
⎪⎩<br />
= − . Orientarea sistemului { k′′ } relativ la sistemul{ i−1Dn} este definită:<br />
n *<br />
n<br />
i−1Dn ( −1 θ ) ( −1 β −1)<br />
[ ]<br />
⎧R z ; Δ ⋅R y ; Δ<br />
R ;<br />
i D 1<br />
i D i<br />
⎪<br />
i −<br />
kDr<br />
i−1Dn ⎪<br />
" [ R<br />
k ] = ⎨ ⎧⎪ x′′ i 1 y′′ i 1 z′′ i 1 − pentru k = i −1;<br />
⎪ ⎨<br />
⎪⎩ ⎪⎩<br />
[ − − − ]<br />
[ ]<br />
x′′ y′′ z′′ − pentru k = i .<br />
i i i<br />
*<br />
n<br />
α i−<br />
1 este măsurat după axele x i− 1D<br />
între z i−1<br />
⎧<br />
⎪sαz<br />
z′′ x<br />
⎨<br />
⎪ ⎩ = ⋅<br />
116<br />
′′ şi z′′ i . Acesta se determină cu ecuaţiile:<br />
*<br />
i−1 = i−1× i /<br />
n<br />
i−1D *<br />
cαi−1 T<br />
( z′′ i−1)<br />
z′′<br />
(3.124)<br />
(3.125)<br />
; (3.126)<br />
* * *<br />
αi−1 = Atan2 ⎡sαi 1; cα<br />
⎤<br />
⎣ − i−1⎦<br />
.<br />
(3.127)<br />
Eroarea unghiulară tip DH, simbolizată cu Δ 1,<br />
este definită cu expresia de mai jos:<br />
unde semnul ( − ) este introdus dacă<br />
α i−<br />
* n<br />
i−1 i−1 i−1<br />
Δ α = α ± α . (3.128)<br />
*<br />
n<br />
α i−<br />
1 şi i 1<br />
α − au acelaşi semn, iar ( )<br />
+ dacă sunt de semne<br />
contrare. Erorile liniare tip DH, notate cu Δ ai −1<br />
respectiv i d Δ , se stabilesc cu următoarele relaţii:<br />
Observaţie. Pentru cazul particular când axa 1<br />
r n<br />
i−1 i−1 i−1<br />
Δ a = a − a ; (3.129)<br />
r n ⎧⎪ d i − d i , daca i = R;<br />
Δ d i = ⎨ r n<br />
⎪⎩ d i − d i +Δ q i,<br />
daca i = T .<br />
r<br />
x i− D aparţine planelor n<br />
n<br />
y i− 1D = 0 sau i 1D 0<br />
(3.130)<br />
z − = , relaţiile<br />
(7.3) – ( 7.10) se modifică corespunzător. Rezultatele obţinute sunt incluse în matricea erorilor de tip DH<br />
simbolizată prin ED, având dimensiunea ( n + 1) × 5 şi forma:<br />
[ β α θ ]<br />
ED = ⎡⎣ Δ i−1 Δ i−1 Δai−1 Δdi Δ i ; i = 1→ n+<br />
1 ⎤⎦<br />
.<br />
(3.131)<br />
Acest model matematic permite determinarea erorilor tip DH pentru orice robot, indiferent de<br />
complexitatea structurii mecanice. În anumite situaţii, determinate de datele de intrare, algoritmul conduce la<br />
T
apariţia erorilor geometrice grosiere. De aceea, acesta este completat cu un test de eliminare a acestor erori.<br />
3.3.1.2 Modelarea erorilor geometrice tip PG<br />
Modelarea geometrică a roboţilor se poate realiza şi prin aplicarea algoritmului parametrilor tip PG<br />
care sunt reprezentaţi în cadrul Fig.3.5 Se observă că aceşti parametrii determină între sistemele<br />
{ i 1}<br />
{ i}<br />
− → , deplasări de translaţie şi rotaţie în lungul şi în jurul celor trei axe ale sistemului de referinţă.<br />
Astfel, matricea parametrilor tip PG de transformare omogenă între { i 1}<br />
{ i}<br />
i−1<br />
i<br />
[ T] T T( z ; q )<br />
ii−1 i i<br />
( ; ; ) . ( ; α ) . ( ; β ) . ( ; γ )<br />
ii−1 T i−1 i−1 i−1 R i−1 i−1 R i−1 i−1 R i−1 i−1<br />
117<br />
− → poate fi scrisă astfel:<br />
= ⋅ ; (3.132)<br />
T = T a b c T x T y T z ; (3.133)<br />
( ; )<br />
T z q<br />
i i<br />
( Δ⋅ i i) −( Δ⋅ i i)<br />
( Δ⋅ ) ( Δ⋅ )<br />
⎡c q s q 0 0 ⎤<br />
⎢<br />
s 0 0<br />
⎥<br />
⎢ i qi c i qi<br />
=<br />
⎥;<br />
(3.134)<br />
⎢ 0 0 1 ( 1−Δi)<br />
⋅qi<br />
⎥<br />
⎢<br />
⎣ 0 0 0 1 ⎥<br />
⎦<br />
{ { 1; } ; { 0; } }<br />
Δ i = i = R i = T ; (3.135)<br />
În expresiile prezentate anterior, Tii-1 reprezintă matricea tip PG corespunzătoare configuraţiei de<br />
zero, iar T( z ; qi) matricea de transformare omogenă, exprimând mişcarea relativă din fiecare cuplă<br />
motoare ( i = 1→<br />
n ). Aplicând modelul matematic, se obţin matricele sistemelor şi parametrilor tip PG:<br />
T<br />
⎧ T<br />
⎡<br />
⎣TGqk ; k = 1 → m⎤<br />
;<br />
⎪<br />
⎦<br />
= T<br />
⎨ ⎡⎡ T T T T ⎤<br />
⎤<br />
⎪ TGqk =<br />
⎢ ( p ) ( ) ( ) ( ) = 1→ + 1<br />
⎥<br />
;<br />
⎢ ik x ik y ik z ik i n<br />
⎥<br />
⎪⎩ ( n+ 1) x12<br />
⎣⎣ ⎦<br />
⎦<br />
Gq q q q q<br />
z −<br />
i 1<br />
qi−1⋅ki−1 x i qi ⋅ ki<br />
x −<br />
{ i−1} i 1<br />
elementul i − 1<br />
y −<br />
i −1<br />
x i<br />
i 1<br />
i −1<br />
rii<br />
−1<br />
{} i<br />
y<br />
i −1<br />
y i<br />
i −1<br />
z α i i −1<br />
x −<br />
Fig. 3.5 Reprezentarea parametrilor de tip PG<br />
i<br />
z ≡ z′′ −<br />
i<br />
γ i −1<br />
i 1<br />
i 1<br />
β i −1<br />
y′ −<br />
i 1<br />
.<br />
(3.136)
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
.<br />
⎧ T<br />
⎡M Gqk ; k = 1 → m⎤<br />
;<br />
⎪<br />
⎣ ⎦<br />
M Gq = ⎨<br />
T (3.137)<br />
q q q q q q<br />
⎪ M Gqk = ⎡⎡a i−1k bi−1k c i−1k α i−1k β i−1k γ ⎤<br />
i−1k i = 1→ n + 1 ⎤ .<br />
⎣⎣ ⎦<br />
⎦<br />
⎪⎩ ( n+ 1) x 6<br />
Fig. 3.6 Reprezentarea erorilor de tip PG<br />
Conexiunea dintre parametrii tip PG nominali şi reali este realizată, conform fig. 3.5, cu ajutorul<br />
erorilor geometrice tip PG , simbolizate astfel:<br />
[ α β γ ]<br />
∈ = Δa −1 Δb −1 Δc −1 Δ −1 Δ −1 Δ −1<br />
; i = 1→ n+<br />
1.<br />
(3.138)<br />
iG i i i i i i<br />
Erorile geometrice liniare tip PG se determină cu ajutorul ecuaţiei matriceale:<br />
Dacă ( 1 )<br />
r<br />
zi−1 n ( x i )<br />
( )<br />
n ( z i )<br />
n<br />
T<br />
r<br />
i i<br />
r<br />
pi−1 n<br />
pi−1 x0<br />
Elementul ( i −1r<br />
)<br />
Elementul ( i −1n)<br />
n<br />
Δci−1 i 1<br />
n<br />
y i−1 r<br />
pi<br />
n<br />
Oi−1 Δai−1<br />
z<br />
y0<br />
n ( x i−1<br />
)<br />
( )<br />
( z i−1<br />
)<br />
⎡ T ⎤<br />
⎡Δa⎤ ⎢ ⎥<br />
⎢ ⎥<br />
⎢ ⎥<br />
⎡( ) ( ) ⎤<br />
⎢ ⎥<br />
.<br />
⎣ ⎦<br />
i−1<br />
n<br />
T<br />
r r n n<br />
Δ bi−1 =−⎢ yi−1 ⎥⋅<br />
pi −pi−1 − pi − pi−1<br />
⎢ c<br />
⎢ ⎥<br />
⎣Δi−1⎥⎦ T<br />
⎢ n ⎥<br />
⎢⎣ ⎥⎦<br />
⎡ T ⎤<br />
⎢ ⎥<br />
⎢ T ⎥<br />
n r r r n n n<br />
⎢ yi ⎥⋅ ⎡xi yi z ⎤<br />
⎣ i ⎦<br />
= R( zi ; Δγ i−1) ⋅R( yi ; Δβi−1) ⋅R( xi<br />
; Δαi−1)<br />
.<br />
⎢ ⎥<br />
T<br />
⎢ ⎥<br />
⎢⎣ ⎥⎦<br />
z − ⋅z ≠ ± 1,<br />
se obţin următoarele relaţii:<br />
0<br />
{ }<br />
0<br />
z −<br />
Δb<br />
−<br />
x −<br />
i 1<br />
n<br />
i 1<br />
n<br />
pi<br />
( ) ( )<br />
118<br />
r<br />
zi<br />
r<br />
Oi<br />
T<br />
(3.139)<br />
(3.140)<br />
n<br />
T<br />
r n<br />
T<br />
r<br />
Δ α i−1= A tan2<br />
⎡<br />
zi ⋅y i ; zi ⋅z<br />
⎤<br />
i ;<br />
⎢⎣ ⎥⎦<br />
(3.141)<br />
n<br />
zi<br />
n<br />
Oi<br />
Δα<br />
i−1 Δγ<br />
i−1 n<br />
xi<br />
n<br />
y i<br />
Δβi−1
Dacă ( 1)<br />
n<br />
T<br />
r<br />
i i<br />
z − ⋅ z =± 1,<br />
atunci rezultă expresiile:<br />
( ) ( )<br />
⎧ n<br />
T<br />
r n<br />
T<br />
r<br />
Atan2 ⎡<br />
− zi ⋅xi ; zi ⋅y<br />
⎤<br />
i ;<br />
⎪ ⎢⎣ ⎦⎥<br />
Δ β i−1<br />
=⎨<br />
n<br />
T<br />
r n<br />
T<br />
⎪ r<br />
Atan2 ⎡<br />
−( zi ) ⋅xi ; ( zi ) ⋅z<br />
⎤<br />
i ;<br />
⎪⎩ ⎢⎣ ⎥⎦<br />
( ) ( )<br />
119<br />
.<br />
(3.142)<br />
T T<br />
n r n r<br />
Δ γ i−1= Atan2 ⎡<br />
yi ⋅yi ; xi ⋅x<br />
⎤<br />
i .<br />
⎢⎣ ⎥⎦<br />
(3.143)<br />
( ) ( )<br />
T T<br />
n n r<br />
Δ α i−1= Atan2 ⎡<br />
x i ⋅yi; yi ⋅y<br />
⎤<br />
i ;<br />
⎢⎣ ⎥⎦<br />
(3.144)<br />
π<br />
Δ β i−1<br />
=± ; Δ γ i−1<br />
= 0.<br />
2<br />
Acestea din urmă aparţin aşa-numitor erori geometrice grosiere. De aceea, acest model matematic<br />
conţine un test de eliminare a erorilor grosiere. Rezultatele obţinute sunt incluse în matricea erorilor tip<br />
PG, simbolizată cu G<br />
E , având dimensiunea ( )<br />
n + 1 × 6şi<br />
forma prezentată mai jos:<br />
[ α β γ ]<br />
T<br />
⎧⎡⎣ Δai−1 Δbi−1 Δci−1 Δ i−1 Δ i−1 Δ i−1<br />
; i = 1→ n+<br />
1 ⎤⎦<br />
;<br />
⎪<br />
EG = ⎨ ⎡ i = 1→ n+<br />
1⎤<br />
⎪ ⎢∈ijG ; .<br />
j = 1→ 6<br />
⎥<br />
⎪⎩ ⎣ ⎦<br />
(3.145)<br />
În concluzie, modelele matematice prezentate stabilesc prin calcul analitic, erorile tip DH şi PG pentru<br />
orice structură mecanică de robot. De asemenea, este important de menţionat faptul că atât modelarea<br />
erorilor geometrice a parametrilor tip DH cât şi PG este inclusă în algoritmul generalizat MecROb<br />
3.3.3 Eliminarea erorilor grosolane utilizând matricea statisticii znα i−1 În continuare, se stabileşte operatorul [ δT<br />
]<br />
p<br />
Q<br />
i<br />
, luând în considerare următoarele notaţii:<br />
{ }<br />
∈ = ∈ ; ∈ ;<br />
(3.146)<br />
yQ yD yG<br />
{ }<br />
y = p ; e; g ;<br />
(3.147)<br />
Q<br />
= { β; α; ; ; θ}<br />
;<br />
{ α β γ}<br />
⎧⎪ pDa d<br />
= ⎨<br />
⎪⎩ pG= a; b; c;<br />
; ; ;<br />
(3.148)<br />
unde y reprezintă un indice care evidenţiază erorile tip DH (D) şi tip PG (G) corespunzătoare (pQ –<br />
fiecărui parametru; e – fiecărui element; g – structurii mecanice globale a robotului).<br />
Se stabilește matricea erorilor de tip DH, notată simbolic E de dimensiuni ( n+ 1) × 5,<br />
reprezentată:<br />
pk<br />
DH
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
.<br />
Tabelul 3.14<br />
i<br />
j<br />
pk<br />
E DH<br />
Δ β i−1<br />
Δ α i−1<br />
Δ ai −1<br />
i d Δ i Δ<br />
În vederea eliminării erorilor grosolane, se formează tabelul cu valorile critice ale statisticii znα :<br />
Testul α<br />
Pearson-<br />
Hartley<br />
Grubbs<br />
D<br />
ε<br />
ij<br />
Testul Pearson - Hartley Testul Grubbs<br />
α sau ( 1− α )<br />
α sau ( 1− α )<br />
120<br />
θ<br />
Tabelul 3.15<br />
Tabelul 3.16<br />
Matricea statisticii znα n<br />
1 2 3 4 5 6 7 8<br />
0,05 1,65 1,96 2,12 2,23 2,32 2,39 2,44 2,49<br />
0,025 1,96 2,24 2,39 2,49 2,57 2,64 2,69 2,73<br />
0,01 2,33 2,58 2,71 2,81 2,88 2,93 2,98 3,02<br />
0,05 - - 1,41 1,71 1,92 2,07 2,18 2,27<br />
0,02 - - 1,41 1,72 1,96 2,13 2,27 2,37<br />
0,01 - - 1,41 1,73 1,97 2,16 2,31 2,43<br />
Pentru eliminarea erorilor grosolane, se aplică următoarea succesiune de pași:<br />
1. Se consideră pentru început i = 1→ 5<br />
2. Se introduce numărul<br />
⎧ D<br />
⎪ 0, 1 − daca ε<br />
[ ]<br />
ij este lungime mm ;<br />
ε = ⎨<br />
D<br />
⎪⎩<br />
− ε<br />
⎡o 1 daca ⎣ ⎤<br />
ij este unghi ⎦.<br />
3. Pentru fiecare i = 1→ n+ 1 se compară D<br />
ε cu ε .<br />
ij<br />
4. Dacă D<br />
2<br />
ε ij < ε , algoritmul se continuă cu determinarea mediei ε j și a dispersiei de selecție σ j .<br />
În caz contrar, se atribuie valoarea D<br />
ε ij = ε .<br />
2<br />
5. Media ε j și a dispersia de selecție σ j se determină cu următoarele relații:<br />
1<br />
ε ε<br />
+ ∑ ; (3.149)<br />
n+ 1<br />
D<br />
j = ⋅ ij<br />
n 1 i= 1<br />
( )<br />
n+ 1 2<br />
2 1<br />
D<br />
σ j = ⋅∑ε ij −ε<br />
j<br />
n<br />
6. Se calculează statistica ( j ; )<br />
i= 1<br />
D pk<br />
ij D H<br />
ϕ ε σ cu relația prezentată mai jos:<br />
, ε ∈ E . (3.150)
7. Se compară ( j ; )<br />
8. Dacă ( ; )<br />
⎡ D<br />
ε − ε<br />
⎤<br />
ϕ ( ε ; σ ) max ⎢ ij j<br />
= , = → + ⎥<br />
j<br />
i 1 n 1 . (3.151)<br />
⎢ σ<br />
⎥<br />
⎣ j<br />
⎦<br />
ϕ ε σ cu statistica znα prezentată în Tabelul 8.3<br />
j n z ϕ ε σ ≤ α și dacă j = 5 , se poate scrie matricea<br />
j = j+ 1 și se parcurge din nou întregul algoritm.<br />
9. Se trece la pasul 12<br />
10. Fiind erori grosolane, matricea<br />
11. Se stabilesc erorile grosolane<br />
12. Dacă ε εI<br />
pk<br />
E DH se elimină.<br />
= ,urmează pasul 14, în caz contrar, ε { ε , ε }<br />
121<br />
II III<br />
.<br />
pk<br />
E DH , în caz contrar, se face<br />
= și urmează pasul13.<br />
13. Dacă k = m , urmează pasul 14. În caz contrar, se consideră k = k+ 1 și se revine la<br />
determinarea parametrilor ε II respectiv ε III .<br />
14. Dacă p = m,<br />
urmează pasul 15. În caz contrar, se face p= p+ 1 și în acest caz, analiza se<br />
reia de la determinarea erorilor parametrilor de tip DH.<br />
15. Dacă toate matricele<br />
pk<br />
E DH sunt eliminate,se dă comanda de refacere a șirului de valori din<br />
algoritmul matricelor datelor inițiale. În caz contrar, analiza se oprește.<br />
3.4 Expresiile matricelor diferențiale ale erorilor<br />
Erorile geometrice tip DH respectiv tip PG sunt incluse, obligatoriu, în ecuaţiile matriceale de<br />
modelare cinematico-dinamică a structurii mecanice de robot. Influenţa erorilor geometrice asupra<br />
preciziei cinematică este evidenţiată cu ajutorul diferenţialelor aplicate asupra transformărilor omogene<br />
geometrice-cinematice, având ca variabile parametrii tip DH respectiv tip PG.<br />
3.4.1 Matricele erorilor geometrice<br />
Întrucât parametrii geometrici de poziţionare relativă între sistemele {i-1} şi {i} conţin erorile tip DH<br />
sau tip PG, rezultă că matricea de transformare omogenă prezintă o variaţie elementară infinitezimală:<br />
{ 4 } [ ];<br />
[ ] [ ] [ δ ]<br />
i−1 i−1 i−1 i−1 T + Δ T = I + T ⋅ T<br />
(3.152)<br />
i i i i<br />
[ T] [ δT]<br />
[ T];<br />
i−1 i−1 i−1 i i i<br />
Δ = ⋅ (3.153)
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
.<br />
⎡ 0<br />
⎢<br />
i−1 e21 [ δT<br />
i ] = ⎢<br />
⎢e31 ⎢<br />
⎢⎣ 0<br />
e12 0<br />
e32 0<br />
e13 −e23<br />
0<br />
0<br />
e14<br />
⎤<br />
e<br />
⎥<br />
24 ⎥ ;<br />
e34<br />
⎥<br />
⎥<br />
0 ⎥⎦<br />
(3.154)<br />
i 1<br />
T<br />
i−1 δT<br />
un<br />
−<br />
unde [ Δ ] reprezintă matricea diferenţială de transformare omogenă între {i-1} şi {i}, iar [ ]<br />
i<br />
operator matriceal de diferenţiere, ale cărui componente sunt funcţii de erorile tip DH sau tip PG.<br />
În continuare, se determină expresia operatorului matriceal de diferențiere, luând în considerare:<br />
{ yD; yG}<br />
{ ; ; }<br />
ε yQ = ε ε ; (3.155)<br />
y = p e g ; (3.156)<br />
Q<br />
{ β; α; ; ; θ}<br />
{ ; ; ; α ; β; γ}<br />
⎧ pD= pQ<br />
= ⎨<br />
⎩pG=<br />
a b<br />
a<br />
c<br />
d<br />
. (3.157)<br />
unde y reprezintă un indice care evidențiază erorile de tip DH (D), respectiv de tip PG (G),<br />
corespunzătoare { p fiecarui parametru, e fiecarui element, g structurii mecanice a robotului}<br />
Q<br />
− − − .<br />
Expresia acestui operator de diferenţiere poate fi scrisă astfel:<br />
i−1 [ δT<br />
]<br />
i−1 i gG<br />
[ δT<br />
]<br />
i gD<br />
⎧<br />
⎪<br />
Dβ ⋅Δ β i−1+ Dα ⋅Δ αi−1+ Da⋅Δ ai−1+ Dd⋅Δ di+ Dθ<br />
⋅Δθi<br />
;<br />
= ⎨ i−1 i−1 i−1 i−1 i−1 ⎪⎩ [ δT] + [ δT] + [ δT] + [ δT] + [ δT]<br />
;<br />
i β i α i a i d i θ<br />
122<br />
i<br />
(3.158)<br />
⎧<br />
⎪<br />
Da⋅Δ ai−1 + Db⋅Δ bi−1 + Dc ⋅Δ ci−1 + Dα ⋅Δ α i−1 + Dβ ⋅Δ βi−1 + Dγ<br />
⋅Δγ<br />
i−1; = ⎨ i−1 i−1 i−1 i−1 i−1 i−1 (3.159)<br />
⎪⎩ [ δT] + [ δT] + [ δT] + [ δT] + [ δT] + [ δT]<br />
;<br />
i a i b i c i α i β i γ<br />
Termenii conţinuţi în cadrul expresiilor (3.158) – (3.159), se obţin cu ajutorul relaţiei:<br />
∂<br />
[ δ ] [ ]<br />
Luând în considerare erorile tip DH ( ε yQ ε yD )<br />
i−1 i<br />
[ δT<br />
]<br />
β<br />
{ } [ ] .<br />
i−1 i−1 i−1 −1<br />
T = T T<br />
i pQ i i<br />
∂pQ<br />
⎡ 0 0 Δβ<br />
i−1 0⎤<br />
⎢<br />
0 0 0 0<br />
⎥<br />
= ⎢ ⎥ ;<br />
⎢−Δβ i−1 0 0 0⎥<br />
⎢ ⎥<br />
⎣ 0 0 0 0⎦<br />
[ δT<br />
] ⎢ ⎥ ;<br />
i−1 i a<br />
⎡0 0 0 Δai−1⎤<br />
⎢<br />
0 0 0 0<br />
⎥<br />
=<br />
⎢0 0 0 0 ⎥<br />
⎢ ⎥<br />
⎣0 0 0 0 ⎦<br />
= , expresiile acestor operatori sunt următoarele:<br />
[ δT<br />
]<br />
⎡0 0 0 0⎤<br />
⎢<br />
0 0 −Δα<br />
0<br />
⎥<br />
= ⎢ ⎥ ;<br />
⎢0 0 0⎥<br />
⎢ ⎥<br />
⎣0 0 0 0⎦<br />
i−1 i−1 i α Δα<br />
i−1 ⎡0 0 0 0 ⎤<br />
⎢<br />
0 0 0 −sα⋅Δd ⎥<br />
=<br />
⎢ ⎥<br />
⎢ ⎥<br />
⎣0 0 0 0 ⎦<br />
[ δT<br />
] ⎢ ⎥ ;<br />
i−1 i−1 i<br />
i d 0 0 0 cαi−1⋅Δdi (3.160)<br />
(3.161)<br />
(3.162)
⎡ 0 −cαi−1⋅Δθi−sαi−1⋅Δθi 0 ⎤<br />
⎢<br />
cα⋅Δθ 0 0 −a ⋅cα ⋅Δθ<br />
⎥<br />
=<br />
⎢ α θ α θ ⎥<br />
⎢ ⎥<br />
⎣ 0 0 0 0 ⎦<br />
[ δT<br />
] ⎢ ⎥ .<br />
i−1 i−1 i i−1 i−1 i<br />
i θ s i−1⋅Δ i 0 0 −ai−1⋅s i−1⋅Δ i<br />
123<br />
(3.163)<br />
Înlocuind matricele (3.161) - (3.163), în expresia de definire a operatorului diferenţial (3.158) se<br />
obţin componentele operatorului de diferenţiere specific erorilor globale de tip DH, adică:<br />
⎧e21<br />
=− e12 = cαi−1⋅Δθi;<br />
⎪<br />
⎪<br />
e31 =− e13 = sαi−1⋅Δθi−Δβi−1;<br />
⎪ ⎪e32<br />
=− e23<br />
=Δαi−1<br />
;<br />
⎨<br />
.<br />
⎪e14<br />
=Δai−1;<br />
⎪ e24=−ai−1⋅cαi−1⋅Δθi−sαi−1⋅Δdi ;<br />
⎪<br />
⎪⎩ e34=−ai−1⋅sαi−1⋅Δ θi+ cαi−1⋅Δdi Aplicând expresia (3.160) pentru erori tip PG ( ε yQ ε yG)<br />
[ δT<br />
]<br />
i−1 i a<br />
⎡0 0 0 Δai−1⎤<br />
⎢<br />
0 0 0 0<br />
⎥<br />
= ⎢ ⎥ ;<br />
⎢0 0 0 0 ⎥<br />
⎢ ⎥<br />
⎣0 0 0 0 ⎦<br />
[ δT<br />
] ⎢ ⎥ ;<br />
i−1 i c<br />
[ δT<br />
]<br />
⎡0 0 0 0 ⎤<br />
⎢<br />
0 0 0 0<br />
⎥<br />
=<br />
⎢0 0 0 Δci−1⎥<br />
⎢ ⎥<br />
⎣0 0 0 0 ⎦<br />
⎡ 0 e12 e13 e14⎤<br />
⎢<br />
e 0 0 e<br />
⎥<br />
= ⎢ ⎥<br />
⎢ ⎥<br />
⎢ ⎥<br />
⎢⎣ 0 0 0 0 ⎥⎦<br />
i−1 21 24<br />
i β e31 0 0 e34<br />
.<br />
(3.164)<br />
= , se determină următorii operatori diferenţiali:<br />
[ δT<br />
]<br />
⎡0 0 0 0 ⎤<br />
⎢<br />
0 0 0 Δb<br />
⎥<br />
= ⎢ ⎥ ;<br />
⎢0 0 0 0 ⎥<br />
⎢ ⎥<br />
⎣0 0 0 0 ⎦<br />
i−1 i−1 i b<br />
⎡0 0 0 0 ⎤<br />
⎢<br />
0 0 −Δα c ⋅Δα<br />
⎥<br />
=<br />
⎢ ⎥<br />
⎢ ⎥<br />
⎣0 0 0 0 ⎦<br />
[ δT<br />
] ⎢ ⎥ ;<br />
i−1 i−1 i−1 i−1 i α 0 Δαi−1 0 −bi−1⋅Δαi−1 β<br />
⎧e21β<br />
=− e12β = sαi−1⋅Δβi−1;<br />
⎪<br />
⎪e31β<br />
=− e13β =−cαi−1⋅Δβi−1; ⎪<br />
⎨ β = ⋅ α − ⋅ α ⋅Δβ<br />
⎪<br />
⎪<br />
e24β=−ai−1⋅sαi−1⋅Δβi−1; ⎪<br />
⎩e34β=<br />
ai−1⋅cαi−1⋅Δβi−1; ; e ( b s c c )<br />
14 i−1 i−1 i−1 i−1 i−1 ⎡ 0 e12 e13 e14⎤<br />
⎢<br />
e 0 e e<br />
⎥<br />
=<br />
⎢ ⎥<br />
⎢ ⎥<br />
⎢⎣ 0 0 0 0 ⎥⎦<br />
[ δT<br />
] ⎢ ⎥ ;<br />
i−1 21 23 24<br />
i γ e31e32 0 e34<br />
γ<br />
;<br />
(3.165)<br />
(3.166)<br />
(3.167)<br />
(3.168)
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
.<br />
⎧e21γ<br />
=− e12γ = cαi−1⋅cβi−1⋅Δγ i−1; ⎪<br />
⎪e31γ<br />
=− e13γ = sαi−1⋅cβi−1⋅Δγ i−1; ⎪<br />
⎨e32γ<br />
=− e23γ = sβi−1⋅Δγ<br />
i−1; (3.169)<br />
⎪<br />
⎪<br />
e14γ= ( bi−1⋅cαi−1⋅ cβi−1+ ci−1⋅sαi−1⋅cβi−1) ⋅Δγ<br />
i−1; ⎪<br />
⎩e24γ=<br />
( −ai−1⋅cαi−1⋅ cβi−1+ ci−1⋅sβi−1) ⋅Δγ<br />
i−1; Înlocuind (3.168) în (3.159), se determină componentele operatorului de diferenţiere aparţinând erorilor<br />
globale tip PG, după cum urmează:<br />
e =− e = sα⋅Δ β + cα ⋅cβ ⋅Δγ<br />
21 12 i−1 i−1 i−1 i−1 i−1 e =− e =−cα⋅Δ β + sα ⋅cβ ⋅Δγ<br />
31 13 i−1 i−1 i−1 i−1 i−1 e =− e =Δ α + sβ<br />
⋅Δγ<br />
32 23 i−1 i−1 i−1 ( α α ) β ( α β α β ) γ ;<br />
e =Δ a + b ⋅s −c ⋅c ⋅Δ + b ⋅c ⋅ c + c ⋅s ⋅c ⋅Δ (3.170)<br />
14 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 124<br />
;<br />
;<br />
( ) ;<br />
( ) .<br />
e =Δ b + c ⋅Δα −a ⋅sα⋅Δ β + −a ⋅cα⋅ cβ + c ⋅sβ ⋅Δ γ<br />
24 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 e =Δc −b ⋅Δ α + a ⋅cα ⋅Δβ − a ⋅sα ⋅ cβ + b ⋅sβ ⋅Δ γ<br />
34 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 Evaluarea performanţelor de precizie ale roboţilor se bazează pe modelul diferenţial al erorilor, având<br />
ordinul x={1; 2; 3}. Pentru început, acesta se aplică asupra transformării omogene dintre sistemele {0} - {n},<br />
ultimul fiind ataşat efectorului final. Astfel, matricea geometrică a erorilor specifică modelului liniar este:<br />
⎡ 0 −δz<br />
δy<br />
dx⎤<br />
⎢ n<br />
1 δz 0 −δx<br />
dy<br />
⎥<br />
−<br />
0<br />
⎡δT ⎤ ⎢ ⎥ ⎡δ T⎤<br />
⎣ ⎦<br />
= = ∑ .<br />
δy δx<br />
0 dz ⎣ ⎦<br />
(3.171)<br />
⎢−⎥ i= 1<br />
⎢ ⎥<br />
⎣ 0 0 0 0 ⎦<br />
0 i 1<br />
n yQ i yQ<br />
Expresia matriceală corespunzătoare modelului de ordinul al doilea, pentru erorile geometrice, este:<br />
0<br />
2<br />
0<br />
1<br />
0<br />
2<br />
⎡δT ⎤ ⎡δT ⎤ ⎡δT ⎤<br />
n ⎣ ⎦<br />
=<br />
yQ n ⎣ ⎦<br />
+<br />
yQ n ⎣ ⎦yQ<br />
Aceasta mai poate fi scrisă și sub următoarea formă:<br />
0<br />
2<br />
n ⎣<br />
δ<br />
⎦yQ<br />
0 n i−1 n−1 n i−1 j−1 ;<br />
;<br />
(3.172)<br />
⎡ 2 0 0 0<br />
δT ⎤ ⎡δ T⎤ ⎡δ T⎤ ⎡δ T⎤<br />
⎣ ⎦<br />
= ∑ ⎣ ⎦<br />
+ ∑ ∑ ⎣ ⎦ ⎣ ⎦<br />
.<br />
(3.173)<br />
n yQ i yQ i yQ j yQ<br />
i= 1 i= 1 j= i+ 1<br />
2 2 ( )<br />
⎡ 1<br />
⎤<br />
⎢<br />
− δy+ δz −δz<br />
δy<br />
dx<br />
2<br />
⎥<br />
⎢ 1<br />
⎥<br />
2 2<br />
⎢ δyδx δz ( δz δx ) δx<br />
dy⎥<br />
⎡ T ⎤<br />
⋅ + − + −<br />
= ⎢ 2<br />
⎥<br />
⎢ 1 2 2 ⎥<br />
⎢<br />
δz⋅δx−δyδz⋅ δy+ δx − ( δx + δy)<br />
dz<br />
2<br />
⎥<br />
⎢ 0 0 0 0 ⎥<br />
⎣ ⎦<br />
(3.174)
În vederea îmbunătăţirii performanţelor de precizie, se utilizează modelul diferenţial de ordinul al treilea:<br />
0 0 0 0<br />
3<br />
( 1) ( 2) ( 3<br />
⎡ )<br />
δT ⎤ ⎡δT ⎤ ⎡δT ⎤ ⎡δT ⎤<br />
n ⎣ ⎦<br />
= + +<br />
yQ n ⎣ ⎦yQ n ⎣ ⎦yQ n ⎣ ⎦yQ<br />
Ecuaţia (3.175) mai poate fi exprimată sub forma prezentată mai jos, astfel:<br />
sau,<br />
n i−1 n−1 n<br />
0<br />
i−1 0<br />
j−1 0<br />
∑ ⎡δ T⎤ ⎡δ T⎤ ⎡δ T⎤<br />
0 i ⎣ ⎦<br />
+ ∑ ∑<br />
yQ i ⎣ ⎦<br />
⋅<br />
yQ j ⎣ ⎦<br />
+<br />
yQ<br />
3<br />
i= 1 i= 1 j= i+ 1<br />
T<br />
n ⎣<br />
δ<br />
⎦ yQ n−2 n−1 n i−1 0<br />
j−1 0<br />
k−1 0<br />
+ ∑∑ ∑ ⎡δ T⎤ ⎡δ T⎤ ⎡δ T⎤<br />
i ⎣ ⎦<br />
⋅<br />
yQ j ⎣ ⎦ yQ k ⎣ ⎦ yQ<br />
i= 1 j= i+ 1k= j+ 1<br />
125<br />
; (3.175)<br />
⎧ ⎫<br />
⎪ ⎪<br />
⎡ ⎤<br />
⎪ ⎪<br />
= ⎨ ⎬;<br />
(3.176)<br />
⎪ ⎪<br />
⎪<br />
⎩<br />
⎪<br />
⎭<br />
⎡δ11 δ12δ13 dx ⎤<br />
⎢<br />
δ21 δ22δ23 dy<br />
⎥<br />
⎡ ⎤ ⎢ ⎥<br />
⎣ ⎦<br />
=<br />
. (3.177)<br />
⎢δ31 δ32δ33 dz⎥<br />
⎢ ⎥<br />
⎣ 0 0 0 0 ⎦<br />
0<br />
3<br />
δT<br />
n yQ<br />
1 2 2<br />
δ11 =− ( δy+ δz);<br />
2<br />
1 1<br />
δ21 = δx⋅ δy + δz− δz⋅δx − δz<br />
2 6<br />
2 3<br />
2 2 3<br />
( ) ;<br />
1 1<br />
δ31 = δz⋅δx− δy + δy⋅ δx + δy⋅ δz + δy<br />
2 6<br />
1 1<br />
δ12 =− δz+ δz⋅ δy + δz<br />
2 6<br />
2 3<br />
2 2 ( z x ) x y z ;<br />
1<br />
δ 22 = − δ + δ −δ ⋅δ ⋅δ<br />
2<br />
1 1<br />
δ32 = δz⋅ δy + δx− δx⋅δz − δy<br />
2 6<br />
1<br />
δ13 = δy− δy<br />
6<br />
3<br />
;<br />
;<br />
2 3<br />
1 1<br />
δ23 =− δx+ δx⋅ δy+ δx<br />
2 6<br />
2 3<br />
1 2 2<br />
δ33 =− ( δx + δy<br />
).<br />
2<br />
În cadrul expresiilor (3.171) – (3.177) există operatorul matriceal:<br />
i−1 0<br />
0 i−1 0 −1<br />
⎡δ T⎤ i ⎣ ⎦<br />
= T ⋅ δT<br />
⋅ T<br />
yQ i−1 Q i yQ i−1 Q<br />
[ ] [ ] [ ] ;<br />
;<br />
;<br />
;<br />
.<br />
(3.178)<br />
(3.179)
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
.<br />
i−1 δT<br />
este înlocuit cu una dintre matricele (3.161) - (3.163) sau (3.170).<br />
unde [ ]<br />
i yQ<br />
Un alt tip de operatori de diferenţiere, cu semnificaţie importantă în modelarea preciziei, este:<br />
i−1 [ T] [ δT]<br />
[ T]<br />
;<br />
⎧ j−1 i−1 j−1 −1<br />
j−1 ⋅ ⋅<br />
⎡δT⎤ ⎪ i−1 Q i yQ i−1 Q<br />
⎣ ⎦<br />
= ⎨<br />
⎪⎩ unde i = 1 → n + 1; j = 1 → i .<br />
i yQ<br />
126<br />
(3.180)<br />
Utilizând (3.180), se pot determina toate matricele de erori corespunzătoare modelului diferenţial de<br />
ordin x={1; 2; 3}. Astfel, modelul liniar este caracterizat de următoarele expresii:<br />
i<br />
⎧ j−1 () 1 k−1 ⎡ j 1<br />
δT ⎤ −<br />
⎪ = ⎡δ T⎤<br />
;<br />
i ⎣ ⎦ ∑<br />
⎪<br />
yQ k ⎣ ⎦yQ<br />
k= j<br />
⎨<br />
j−1 j−1 ⎪ 1<br />
() 1 j−1 ⎡Δ T ⎤ = ⎡δT ⎤ ⋅ [ T<br />
⎪ ]<br />
⎩ i ⎣ ⎦yQ<br />
i ⎣ ⎦yQ<br />
i Q<br />
Matricele de erori, aparţinând modelului de ordinul al doilea, au forma:<br />
j 1 i−1 i<br />
⎧ −<br />
( 2) k−1 j 1<br />
l−1 ⎡ j 1<br />
δT ⎤ − −<br />
⎪ = ⎡δ T⎤ ⋅ ⎡δ T⎤<br />
i ⎣ ⎦ ∑∑<br />
yQ ⎣ ⎦ ⎣ ⎦<br />
⎪<br />
k= j l= k+ 1<br />
⎪ j−1 j−1 j−1 2<br />
() 1 ( 2<br />
⎨ ⎡ )<br />
δT ⎤ = ⎡δT ⎤ + ⎡δT ⎤ ;<br />
⎪ i ⎣ ⎦yQ i ⎣ ⎦yQ i ⎣ ⎦yQ<br />
⎪<br />
j−1 2<br />
j−1 2 j−1 ⎪ ⎡Δ T ⎤ = ⎡δT ⎤ ⋅ [ T]<br />
.<br />
⎩<br />
i ⎣ ⎦yQ i ⎣ ⎦yQ<br />
i Q<br />
k yQ l yQ<br />
Modelul diferenţial de ordinul al treilea conţine expresiile matriceale:<br />
⎧ j−1 i−2 i−1 i<br />
( 3) k−1 j 1<br />
l−1 j 1<br />
m−1 ⎡ j 1<br />
δT ⎤ − − −<br />
⎪ = ⎡δ T⎤ ⋅ ⎡δ T⎤ ⋅ ⎡δ T⎤<br />
i ⎣ ⎦ ∑∑ ∑<br />
yQ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦<br />
⎪<br />
k= j l= k+ 1m= l+ 1<br />
⎪ j−1 j−1 j−1 j−1 3<br />
( 1) ( 2) ( 3<br />
⎨ ⎡ )<br />
δT ⎤ = ⎡δT ⎤ + ⎡δT ⎤ + ⎡δT ⎤ ;<br />
⎪ i ⎣ ⎦yQ i ⎣ ⎦yQ i ⎣ ⎦yQ i ⎣ ⎦yQ<br />
⎪<br />
j−1 3<br />
j−1 ⎪ 3 j−1 ⎡Δ T ⎤ = ⎡δT ⎤ ⋅ [ T]<br />
.<br />
⎪⎩<br />
i ⎣ ⎦yQ i ⎣ ⎦yQ<br />
i Q<br />
k yQ l yQ m yQ<br />
Matricele de erori determinate cu expresiile de mai sus, au un rol esenţial în modelarea preciziei roboţilor.<br />
3.5 Algoritmul matricelor de transfer al erorilor geometrice bazat pe parametrii de situare<br />
;<br />
;<br />
;<br />
(3.181)<br />
(3.182)<br />
(3.183)<br />
Algoritmul matricelor de transfer pentru erorile de poziție și orientare ale efectorului final utilizând<br />
parametrii de situare, are ca și punct de plecare, conform cu [N22] următoarele expresii matriceale:<br />
n<br />
0 1 0 i−1 0 −1<br />
δ T i[ ] i[<br />
]<br />
n = ∑ T ⋅δ Tii−1⋅ T ; (3.184)<br />
i= 1
n n<br />
0 0 −1<br />
n ii−1 i−1 ii−1 i−1 i= 1 i= 1<br />
∑ ∑ . (3.185)<br />
0 1 0 i−1 δ T = δ T = [ T] ⋅δ T ⋅ [ T]<br />
Expresiile matriceale (3.184) și (3.185) prin transformări diferențiale și matriceale conduc la:<br />
{ ψ }<br />
i ⎡ Δ i ×<br />
δ Tii<br />
−1<br />
= ⎢<br />
⎣0 0 0<br />
Δpii−1⎤<br />
1 ⎥ ;<br />
⎦<br />
(3.186)<br />
unde (3.186) reprezintă operatorul de diferențiere în raport cu erorile.<br />
n<br />
n<br />
0<br />
∑ i<br />
i= 1<br />
ii−1 0<br />
i<br />
−1<br />
0 i<br />
Aplicând expresia δ T = [ T] ⋅δ T ⋅ [ T]<br />
matriceal al erorilor primare cu expresia (3.186), în final rezultă:<br />
0<br />
δ T<br />
0<br />
δ T<br />
n<br />
n<br />
{ ψ }<br />
127<br />
, prezentată anterior și înlocuind operatorul<br />
0 0 −1 0 −1<br />
⎡ i[R] p ⎤ i ⎡ Δ i × Δpii−1⎤<br />
⎡ i[R] − i[R] ⋅ p ⎤ i<br />
= ⎢ ⎥⋅⎢ ⎥⋅⎢<br />
⎥ ; (3.187)<br />
⎢0 0 0 1⎥ ⎢0 0 0 1 ⎥ ⎢0 0 0 1<br />
⎣ ⎦ ⎣ ⎦ ⎣ ⎥⎦<br />
{ ψ } { ψ }<br />
0 0 −1 0 0 0 −1<br />
⎡ i[R] ⋅ Δ i × ⋅ i[R] i[R] ⋅Δp ii−1 − i[R] ⋅ Δ i × ⋅ i[R] ⋅p⎤<br />
i<br />
= ⎢ ⎥ ; (3.188)<br />
⎢ 0 0 0 0<br />
⎣ ⎥⎦<br />
Se notează cu ε [ p ψ ]<br />
= Δ Δ vectorul erorilor primare de poziție și orientare. Separând erorile<br />
ii−1ii−1 primare Δ pii −1<br />
și Δ ψ ii−1 rezultă o expresie matriceală care pune în evidență legătura dintre matricea de<br />
T<br />
T<br />
⎡ T ⎤<br />
dimensiune 6x6n, notată cu d E δ și denumită matrice de transfer și vectorul ⎣d δ ⎦ .<br />
Expresia termenului general al acestei matrice se determină pornind de la următoarele relații:<br />
[ ] { } [ ]<br />
0 0 −1<br />
i R ψ i R<br />
⋅ Δ × ⋅ =<br />
⎡ 0 −δizδiy ⎤ ⎡αix αiy αiz⎤ ⎡ 0 −Δγ i Δβi⎤<br />
⎡αix βixγ ix ⎤<br />
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ; (3.189)<br />
= ⎢ δ iz 0 − δix ⎥ = ⎢βix βiy βiz ⎥⋅⎢ Δγ i 0 −Δαi⎥⋅⎢αiy βiyγ iy ⎥<br />
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />
⎢<br />
⎣−δiyδix 0 ⎥<br />
⎦<br />
⎢<br />
⎣γ ix γ iy γ ⎥ iz ⎦<br />
⎢⎣−ΔβiΔαi0 ⎥⎦ ⎢⎣αiz βizγ ⎥ iz ⎦<br />
unde δ ix αi( γ iz βiyγ iy βiz) βi( γ ix βiz γ iz βix ) γ i ( γ iy βix γ ix βiy)<br />
=Δ ⋅ ⋅ − ⋅ +Δ ⋅ − ⋅ +Δ ⋅ − ⋅ ; (3.190)<br />
( ) ( ) ( )<br />
δ =Δα ⋅ α ⋅γ −α ⋅ γ +Δβ α ⋅γ −α ⋅ γ +Δγ α ⋅γ −α ⋅ γ ; (3.191)<br />
iy i iz iy iy iz i ix iz iz ix i iy ix ix iy<br />
( ) ( ) ( )<br />
δ =Δα ⋅ α ⋅β −β ⋅ α +Δβ β ⋅α −β ⋅ α +Δγ α ⋅β −α ⋅ β ; (3.192)<br />
iz i iy iz iy iz i ix iz iz ix i ix iz iz ix<br />
( ) ( ) ( )<br />
( ) ( ) ( )<br />
( ) ( ) ( )<br />
⎡δix ⎤ ⎡ Δαi⋅ γ iz ⋅βiy −γ iy ⋅ βiz +Δβiγ ix ⋅βiz −γ iz ⋅ βix +Δγ i γ iy ⋅βix−γ ix ⋅βiy<br />
⎤<br />
⎢ ⎥ ⎢<br />
⎥<br />
δi= ⎢δiy ⎥ = ⎢ Δαi⋅ αiz⋅γ iy −αiy ⋅ γ iz +Δβiαix⋅γ iz −αiz ⋅ γ ix +Δγ i αiy⋅γ ix −αix ⋅γ<br />
⎥ iy ; (3.193)<br />
⎢ ⎥ ⎢ ⎥<br />
⎣⎢δiz ⎦⎥ ⎢<br />
⎣<br />
Δαi⋅ αiy⋅βiz−βiy⋅ αiz+Δβiβix ⋅αiz−βiz ⋅ αix +Δγ i αix ⋅βiz−αiz ⋅β<br />
⎥<br />
ix ⎦<br />
.
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />
.<br />
unde (3.193) reprezintă termenul erorilor de orientare, corespunzător liniei i obținut prin separarea<br />
coeficienților corespunzători erorilor primare de orientare definite prin Δ α i , Δ βi<br />
respectiv Δ γ i .<br />
În continuare se determină erorile de poziție. Pentru aceasta se efectuează cel de-al doilea produs<br />
matriceal din (3.188), rezultând componentele vectorului ce caracterizează erorile de poziție, d i :<br />
T<br />
[ R] ⋅Δp [ ]<br />
i − R ⋅Δ ψ i × pi = ⎡⎣dix diy diz⎤⎦ = di<br />
=<br />
0 0 i<br />
i i<br />
⎡αixαiyαiz ⎤ ⎡Δpxi ⎤ ⎡αix αiy αiz⎤ ⎡ 0 −Δγ i Δβi⎤<br />
⎡pxi ⎤<br />
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥;<br />
(3.194)<br />
= ⎢βixβiyβiz ⎥⋅⎢Δpyi⎥−⎢βix βiy βiz⎥⋅⎢ Δγ i 0 −Δαi⎥⋅⎢pyi⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />
⎢<br />
⎣γ ix γ iy γ ⎥ iz ⎦<br />
⎢⎣Δp ⎥ zi ⎦ ⎢<br />
⎣γ ix γ iy γ ⎥ ⎢ iz ⎦ ⎣−ΔβiΔαi0 ⎥⎦ ⎢⎣pzi⎦⎥<br />
Procedând la separarea coeficienților erorilor primare de poziție și orientare se obțin expresiile:<br />
( )<br />
( p p ) ( p p )<br />
dix = αix ⋅Δ pxi + αiy ⋅Δ pyi + αiz ⋅Δ pzi +Δαi⋅ αiy⋅pzi−αiz⋅ pyi+<br />
; (3.195)<br />
+Δβ ⋅ α ⋅ −α ⋅ + Δγ ⋅ α ⋅ −α ⋅<br />
i iz xi ix zi i ix yi iy xi<br />
128<br />
( )<br />
diy = βix ⋅Δ pxi + βiy⋅Δ pyi + βiz⋅Δ pzi +Δαi⋅ βiy⋅pzi−βiz⋅ pyi+<br />
; (3.196)<br />
+Δβ ⋅ β ⋅ − β ⋅ + Δγ ⋅ β ⋅ − β ⋅<br />
( p p ) ( p p )<br />
i iz xi ix zi i ix yi iy xi<br />
( )<br />
diz = γ ix ⋅Δ pxi + γ iy ⋅Δ pyi + γ iz ⋅Δ pzi +Δαi⋅ γ iy ⋅pzi−γ iz ⋅ pyi+<br />
; (3.197)<br />
+Δβi⋅( γ iz ⋅ pxi−γ ix ⋅ pzi) + Δγ i ⋅( γ ix ⋅ pyi −γ iy ⋅ pxi<br />
)<br />
unde cu expresiile (3.195) - (3.197) au fost definite proiecțiile pe axele sistemului cartezian ale<br />
vectorului d i . Drept urmare, se pot scrie următoarele expresii:<br />
[ ]<br />
T T<br />
i δi= ⎡ ix iy iz δix δiy δiz⎤<br />
d ⎣d d d<br />
⎦<br />
ε iS = ⎡⎣Δpxi Δpyi Δpzi ΔαiΔβiΔγ i ⎤⎦<br />
T<br />
; (3.198)<br />
; (3.199)<br />
unde (3.199) reprezintă vectorul erorilor de situare (poziție și orientare – erori primare)<br />
Elementul i al matricei de transfer a erorilor se determină în forma generală prezentată mai jos:<br />
E<br />
i<br />
d, δ<br />
( ⋅p − ⋅p ) ( ⋅p − ⋅p ) ( ⋅p − ⋅p<br />
)<br />
⎡αix αiy αiz αiy zi αiz yi αizxi αix zi αix yi αiyxi<br />
⎤<br />
⎢ ⎥<br />
⎢ ⎥<br />
⎢βixβiyβiz ( βiy ⋅pzi −βiz ⋅pyi ) ( βiz⋅pxi−βix ⋅pzi) ( βix⋅pyi −βiy ⋅pxi<br />
) ⎥<br />
⎢ ⎥<br />
⎢γ ix γ iy γ iz ( γ iy ⋅pzi −γ iz ⋅pyi ) ( γ iz ⋅pxi−γ ix ⋅pzi ) ( γ ix ⋅pyi −γ iy ⋅pxi<br />
) ⎥<br />
⎢ ⎥<br />
=<br />
⎢ ⎥<br />
; (3.200)<br />
⎢ 0 0 0 ( γ iz ⋅βiy −γ iy ⋅βiz) ( γ ix ⋅βiz −γ iz ⋅βix)<br />
( γ iy ⋅βix −γ ix ⋅βiy)<br />
⎥<br />
⎢ ⎥<br />
⎢<br />
0 0 0 ( αiz⋅γ iy −αiy ⋅γ iz ) ( αix⋅γ iz −αiz ⋅γ ix ) ( αiy⋅γ ix −αix ⋅γ<br />
⎥<br />
⎢ iy ) ⎥<br />
⎢ ⎥<br />
⎢<br />
⎣<br />
0 0 0 ( αiy ⋅βiz −βiy⋅αiz ) ( βix ⋅αiz−βiz⋅αix ) ( αix⋅βiz −αiz⋅βix) ⎥<br />
⎦
Matricea de transfer rezultantă d, E δ este alcătuită din n blocuri matriceale de tipul (3.200), având<br />
dimensiunea de ( 6× 6)<br />
fiecare, conform expresiei de mai jos:<br />
⎡<br />
E ⎢<br />
d, δ =<br />
⎢ ( 6× 6n)<br />
⎢⎣ 1<br />
Ed, δ<br />
2<br />
Ed, δ ...<br />
i<br />
Ed, δ ...<br />
n<br />
Ed,<br />
δ<br />
⎤<br />
⎥ ;<br />
⎥<br />
⎥⎦<br />
(3.201)<br />
unde E δ se înlocuiește cu expresia matriceală (3.200), rezultând astfel o matrice de dimensiuni ( 6× 6n)<br />
.<br />
i<br />
d,<br />
Efectuând produsul matriceal dintre matricea de transfer corespunzătoare cuplei ( i ) și vectorul<br />
coloană al erorilor primare (ce caracterizează de asemenea cupla ( i ) ) va rezulta:<br />
T<br />
T T T i<br />
i δ i ⎡ ix iy iz δix δiy δiz ⎤ d , εiS<br />
⎡⎣d ⎤ ⎦ = ⎣d d d ⎦ = E δ ⋅<br />
(3.202)<br />
unde ε iS reprezintă vectorul coloană al erorilor parametrilor de situare.<br />
⎡dix ⎤ ⎡αix ⎢ ⎥ ⎢<br />
⎢ ⎥ ⎢<br />
⎢<br />
diy ⎥ ⎢βix ⎢ ⎥ ⎢<br />
⎢d⎥ ⎢<br />
iz γix ⎢ ⎥ ⎢<br />
⎢ ⎥<br />
=<br />
⎢<br />
⎢δix ⎥ ⎢ 0<br />
⎢ ⎥ ⎢<br />
⎢δ⎥ ⎢<br />
iy 0<br />
⎢ ⎥ ⎢<br />
⎢ ⎥ ⎢<br />
⎢⎣δiz ⎥⎦<br />
⎢<br />
⎣<br />
0<br />
αiy βiy γiy 0<br />
0<br />
0<br />
αiz βiz γiz 0<br />
0<br />
0<br />
( αiy⋅pzi−αiz ⋅pyi) ( βiy⋅pzi−βiz ⋅pyi) ( γiy⋅pzi−γiz ⋅pyi) ( γiz ⋅βiy −γiy ⋅βiz )<br />
( αiz ⋅γiy −αiy ⋅γiz )<br />
( αiy ⋅βiz −βiy ⋅αiz )<br />
( αiz ⋅pxi−αix ⋅pzi) ( βiz ⋅pxi−βix ⋅pzi) ( γiz ⋅pxi−γix ⋅pzi) ( γix ⋅βiz −γiz ⋅βix )<br />
( αix ⋅γiz −αiz ⋅γix) ( βix ⋅αiz −βiz ⋅αix )<br />
( αix ⋅pyi−αiy ⋅pxi)<br />
⎤ ⎡Δpxi⎤ ⎥ ⎢ ⎥<br />
⎥<br />
( βix ⋅pyi−βiy ⋅p<br />
⎢ ⎥<br />
xi ) ⎥ ⎢<br />
Δpyi<br />
⎥<br />
⎥ ⎢ ⎥<br />
( γix<br />
⋅pyi<br />
−γiy⋅pxi ) ⎥ ⎢Δp⎥ zi<br />
⎥<br />
⎥<br />
⋅<br />
⎢ ⎥<br />
. (3.203)<br />
⎢ ⎥<br />
( γiy ⋅βix −γix ⋅βiy ) ⎥ ⎢Δαi⎥ ⎥ ⎢ ⎥<br />
( αiy ⋅γix −αix ⋅γ<br />
⎥<br />
iy ) ⎢<br />
⎥<br />
Δβ<br />
⎥<br />
i ⎢ ⎥<br />
⎥ ⎢ ⎥<br />
( αix ⋅βiz−αiz ⋅βix<br />
) ⎥<br />
⎦ ⎢⎣Δγi⎥⎦ unde cu expresia (3.202), respectiv (3.203) sunt definite componentele vectorului erorilor de<br />
poziție/orientare.<br />
Observații: După cum se poate observa din analiza prezentată anterior, matricele de transfer ale erorilor au<br />
un rol esențial atât în ceea ce privește modelarea directă cât și cea inversă a erorilor de poziție și orientare.<br />
De asemenea trebuie menționat că matricele de transfer sunt utilizate la stabilirea prin metode statistice a<br />
domeniului de variație pentru erorile de poziție și orientare. În cadrul capitolului șase este prezentată o<br />
aplicație numerică de determinare a matricelor de transfer ce caracterizează fiecare cuplă, respectiv a<br />
matricei de transfer pentru întreaga structură a unui robot cu cinci grade de libertate, model Fanuc LR Mate<br />
100iB aflat în dotarea laboratorului de Mecanică Aplicată și Robotică. Pentru aceeași structură de robot s-a<br />
determinat și inversa matricei de transfer, utilizată pentru corecția erorilor de poziție și orientare.<br />
129<br />
.
link i −1<br />
q ⋅k<br />
i−1 i−1<br />
{ i −1}<br />
4. MODELAREA ERORILOR CINEMATICE<br />
4.1 Matricele erorilor cinematice<br />
Modelarea cinematico-dinamică nominală a roboţilor se bazează, printre altele, pe aşa numitele<br />
matrice diferenţiale ale transformărilor omogene având ca variabile q = q ( t) ; i = 1→ n .<br />
qi⋅ki { i}<br />
{ 0}<br />
link i<br />
{ i + 1}<br />
q ⋅k<br />
i+ 1 i+<br />
1<br />
qn⋅kn { n}<br />
Figura 4.1 Reprezentarea schemei<br />
cinematice pentru un robot cu n g.d.l<br />
{ n+ 1}<br />
{ i i<br />
}<br />
Luând în considerare varianta a doua a metodei tip DH sau metoda tip PG, aceste transformări<br />
cinematice au următoarele expresii:<br />
unde i 1<br />
U<br />
{ ( ) , ( ) , , }<br />
A = A R A p i = 1→ n j = i → n ; (4.1)<br />
ijQ ijQ ijQ<br />
( )<br />
kl ( )<br />
AijQ R = Matrix AijQ ; k = 1→ 3; l = 1→ 3 ; (4.2)<br />
( 3x3)<br />
( )<br />
k4 ( ; )<br />
( 3x1)<br />
A p = Matrix A k = 1→ 3 . (4.3)<br />
ijQ ijQ<br />
0 j<br />
AijQ T U<br />
j Q j T<br />
i Q<br />
i=→ 1 n<br />
j=→ i n<br />
( ) ( )<br />
⎡AijQ R AijQ p ⎤<br />
= [ ] ⋅ ⋅ [ ] = ⎢ ⎥.<br />
(4.4)<br />
⎢ 000 0 ⎥<br />
⎣ ⎦<br />
Ele se obţin prin derivarea parţială de ordinul întâi<br />
respectiv al doilea, aplicată asupra transformărilor<br />
omogene, utilizând operatorul matriceal Uicker.<br />
⎡ 0 −Δi<br />
0 0 ⎤<br />
⎢<br />
Δ i 0 0 0<br />
⎥<br />
= τ ⋅⎢ ⎥ ;<br />
⎢ 0 0 0 1−Δi⎥<br />
⎢ ⎥<br />
⎣ 0 0 0 0 ⎦<br />
i i<br />
{ }<br />
τ =± în funcţie de qi = τ i ⋅qi ⋅ zi<br />
, iar Δ i = { 1; i= R} ; { 0; i= T}<br />
.<br />
Se poate observa că toate transformările cinematice (4.1) - (4.4) conţin parametrii tip DH sau tip PG.<br />
Aplicând erorile de tipul ∈=∈ { ; ∈ } asupra acestor transformări, se obţin matricele cinematice de erori:<br />
Nr.<br />
crt.<br />
Q D G<br />
Simbolizare Expresia Nr.<br />
ΔA<br />
xy<br />
ijQ<br />
1. ⎛i = 1→ n,<br />
⎞<br />
⎜ ⎟<br />
⎝ j = i → n ⎠<br />
0<br />
x j 0<br />
j<br />
x<br />
⎡ T ⎤ U j T T U ⎡<br />
i Q j Q j T ⎤<br />
j ⎣<br />
Δ<br />
⎦<br />
⋅ ⋅ + ⋅ ⋅ Δ<br />
yQ i ⎣ ⎦yQ<br />
[ ] [ ]<br />
xy<br />
A ( R) xy<br />
A ( p)<br />
⎡ ⎤<br />
xy<br />
ijQ ijQ<br />
Δ A ijQ = ⎢ ⎥<br />
⎢⎣ 000 0 ⎥⎦<br />
(4.5)<br />
(4.6)
MODELAREA ERORILOR CINEMATICE .I.<br />
2.<br />
3.<br />
4.<br />
xy xy<br />
ijmQ imjQ<br />
Δ A =ΔA<br />
⎛i = 1→ n,<br />
⎞<br />
⎜ j = 1→ i,<br />
⎟<br />
⎜m = j → i⎟<br />
⎝ ⎠<br />
( )<br />
xy xy<br />
( )<br />
A ijQ R = Matrix AijQkl ; k = 1 → 3; l = 1 → 3 ;<br />
( 3x3)<br />
( )<br />
xy xy<br />
ijQ ijQk 4<br />
A p = Matrix A k = 1 → 3<br />
( ; )<br />
( 3x1)<br />
0<br />
⎡<br />
j ⎣<br />
x<br />
T ⎤<br />
⎦yQ U j<br />
j<br />
[ T] m Q<br />
Um m<br />
[ T] i Q<br />
0<br />
[ T] j Q<br />
U j<br />
j<br />
⎡<br />
m⎣ x<br />
T ⎤<br />
⎦yQ<br />
Um<br />
m 0 j m<br />
x<br />
⋅ [ T] + [ T] ⋅U j ⋅ [ T] ⋅Um⋅ ⎡ T ⎤ ;<br />
i Q j Q m Q i ⎣<br />
Δ<br />
⎦yQ<br />
Δ ⋅ ⋅ ⋅ ⋅ + ⋅ ⋅ Δ ⋅ ⋅<br />
( )<br />
132<br />
( ) ( )<br />
xy xy<br />
⎡ΔAijmQ R ΔAijmQ<br />
p ⎤<br />
⎢ ⎥<br />
⎢⎣ 000 0 ⎥⎦<br />
xy xy<br />
( )<br />
Δ A ijmQ R = Matrix AijmQkl ; k = 1 → 3; l = 1 → 3<br />
( 3x3)<br />
xy xy<br />
Δ A ( p) = Matrix A ; k = 1 → 4 , y = { p ; g}<br />
ijmQ ijmQk 4<br />
( )<br />
( 3x1)<br />
Pentru y=e , exprimând influenţa erorilor geometrice corespunzătoare fiecărui element al robotului, matricele<br />
cinematice de erori sunt următoarele:<br />
Δ A<br />
xek<br />
ijQ<br />
⎛ k = 1 → n⎞<br />
⎜ i = 1 → n ⎟<br />
⎜ j = i → n ⎟<br />
⎝ ⎠<br />
xek xek<br />
ijmQ im jQ<br />
Δ A = ΔA<br />
⎛k = 1→ n,<br />
⎞<br />
⎜ ⎟<br />
⎜<br />
i = 1→ n,<br />
⎟<br />
⎜ j = 1→ i,<br />
⎟<br />
⎜ ⎟<br />
⎝m = j → i ⎠<br />
0 ⎧ x k j<br />
xek xek<br />
⎡ ⎡<br />
( ) ( ) T ⎤<br />
ΔA [ ] j [ ] ,<br />
ijQ R ΔAijQ p ⎤ Δ ⋅ T ⋅U ⋅ T dacak≤ j<br />
⎪k⎣<br />
⎦eQ<br />
j Q i Q<br />
⎢ ⎥= ⎨<br />
000 0<br />
0 j<br />
x k<br />
⎢⎣ ⎥⎦ ⎪ [ T] ⋅Uj⋅ ⎡ΔT ⎤ ⋅ [ T] , dacak≥ j+ 1<br />
⎩ j Q k⎣ ⎦eQ<br />
i Q<br />
( )<br />
xek xek<br />
( )<br />
Δ A ijQ R = Matrix Δ AijQlp ; l = 1 → 3; p = 1 → 3<br />
( 3x3)<br />
( )<br />
xek xek<br />
ijQ ijQl 4<br />
Δ A p = Matrix Δ A l = 1 → 3<br />
( ; )<br />
( 3x1)<br />
0 ⎧ x k j m<br />
⎡ΔT ⎤ ⋅ [ T] ⋅U j ⋅ [ T] ⋅Um⋅ [ T] , k ≤ j<br />
⎪ k ⎣ ⎦eQ<br />
j Q m Q i Q<br />
⎪ 0 j<br />
x k m<br />
⎨ [ T] ⋅U j ⋅ ⎡ T ⎤ [ ] m [ ] ,<br />
j Q k ⎣<br />
Δ<br />
⎦<br />
⋅ T ⋅U ⋅ T j+ 1≤ k ≤ m<br />
eQ m Q i Q<br />
⎪<br />
0 j m<br />
⎪ x k<br />
[ T] ⋅U j ⋅ [ T] ⋅Um⋅ ⎡ΔT ⎤ ⋅ [ T] , m+ 1≤ k ≤ i<br />
⎪⎩ j Q m Q k ⎣ ⎦eQ<br />
i Q<br />
( )<br />
xek xek<br />
( )<br />
Δ AijmQ R = Matrix Δ AijmQlp ; l = 1→ 3; p = 1→ 3<br />
( 3x3)<br />
( )<br />
xek xek<br />
ijmQ ijmQl 4<br />
Δ A p = Matrix Δ A l = 1 →<br />
3<br />
( ; )<br />
( 3x1)<br />
Q<br />
(4.7)<br />
(4.8)<br />
(4.9)
4.2 Matricea Jacobiană și proprietățile ei<br />
133<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />
Ecuaţiile MCD pot fi exprimate cu ajutorul matricei Jacobiene (matricea de transfer a vitezelor) şi a<br />
derivatei sale de ordinul întâi în raport cu timpul. Pentru definirea ei, se apelează vectorul diferenţial de mişcare<br />
exprimat în coordonate carteziene. Componentele sale, translaţia diferenţială şi vectorul de rotaţie, sunt:<br />
T<br />
⎡<br />
( )<br />
( n) ( n) ( n)<br />
⎤<br />
⎡ n<br />
( )<br />
d p ()<br />
xn yn zn<br />
n t ⎤<br />
⎡d p d p d p ⎤<br />
⎢ n0<br />
⎣ ⎦ ⎥<br />
d X = ⎢ ⎥=⎢<br />
( n)<br />
T ⎥<br />
⎢d ϕ () t ⎥ ( n) ( n) ( n)<br />
⎣ ⎦ ⎢ ⎡d ϕx d ϕy d ϕ ⎤ ⎥<br />
⎣ z<br />
⎢⎣ ⎦ ⎥⎦<br />
;<br />
T<br />
⎡<br />
( )<br />
( n) ( n) ( n)<br />
⎤<br />
⎡ n<br />
( ) d ⎤<br />
⎡ dx dy d ⎤<br />
⎢ z<br />
n0 ⎣ ⎦ ⎥<br />
d X=<br />
⎢ ⎥=⎢<br />
( n)<br />
T ⎥<br />
⎢ δ ⎥ ( n) ( n) ( n)<br />
⎣ ⎦ ⎢⎡ δx δy δ ⎤ ⎥<br />
⎣ z<br />
⎢⎣ ⎦ ⎥⎦<br />
.<br />
Luând in considerare funcţiile de situare ( q ; i = 1 → n)<br />
şi separând apoi variabilele generalizate,<br />
f j i<br />
vectorul diferenţial exprimat cu relaţia de mai sus se poate scrie sub forma:<br />
()<br />
()<br />
T<br />
0 ⎡ n<br />
d X t ⎤ ⎡ I6⎤ ⎡ ∂fj t ⎤ ⎡<br />
;<br />
I6 ⎤ ⎡∂fj t j= 1→6 ⎤<br />
dq 1<br />
i δi j 1 6<br />
δ<br />
⎡dq ⎤<br />
⎢ ⎥ ⎢ ⎥ ⎢∑⋅ ⋅ = → ⎥ i<br />
........ .... i 1 q ⎢ ⎥ ⎢ ⋅<br />
⎥<br />
i ..... qi<br />
i 1 n ⎢ ⎥<br />
⎢ ⎥= = ∂ ∂ = →<br />
⎢ ⎥⋅ ⎢ ⎥ = ⎢ ⎥⋅⎢ ⎥⋅<br />
⎢<br />
M<br />
⎥<br />
(4.10)<br />
⎢ n ⎥ n ()<br />
{ { ; } { ; n<br />
d X t<br />
⎢<br />
R<br />
⎥ ⎢ ⎥ ⎢ ⎥<br />
δi = 1j≤3Δ i j> 3} } ⎢<br />
R<br />
⎥ δi<br />
= { { 1j ; ≤3} { Δ i ; j> 3}<br />
} ⎢⎣dq n⎥<br />
⎣ ⎦ ⎣ ⎦ ⎢⎣ ⎥⎦ ⎣ ⎦ ⎢⎣ ⎥⎦<br />
⎦<br />
unde [ ] T<br />
d dq1 dqi dqn<br />
θ = K K este vectorul diferenţial al mişcării exprimat în spaţiul configuraţiilor.<br />
Matricea derivatelor parţiale din (4.10) este cunoscută ca matricea Jacobiană:<br />
( )<br />
0<br />
⎡ ∂f j t j = 1 → 6 ⎤<br />
⎡ J ⎡θ() t ⎤⎤ ⎡ I 6 ⎤ ⎢ ⋅δ<br />
i<br />
⎥<br />
⎢<br />
⎣ ⎦<br />
⎥ = q<br />
n<br />
i<br />
i 1 n<br />
n<br />
⎢ ⎥⋅⎢∂ = → ⎥ . (4.11)<br />
⎢ J ⎡θ() t ⎤⎥ R<br />
⎣ ⎣ ⎦⎦ ⎣⎢ ⎦⎥<br />
⎢ ⎥<br />
⎢ δ i = { { 1; j ≤ 3} , { Δ i ; j > 3<br />
⎣ } } ⎥⎦<br />
Astfel, rezultă că matricea Jacobiană este definită în raport cu sistemul {0} sau {n}, la fel ca și vectorul<br />
( )<br />
coloană al parametrilor operaţionali n 0 X . Luând în considerare relaţia (4.11) şi împărţind (4.10) cu timpul<br />
elementar( dt ) , rezultă ecuaţiile de legătură dintre vectorii diferenţiali de mişcare, adică:<br />
( n) 0<br />
( n) 0 ( n0 )<br />
d X<br />
d X = J⎡ ⎣θ() t ⎤<br />
( n) 0<br />
dθ<br />
⎦ ⋅dθ;<br />
J⎡θ() t ⎤<br />
( n) 0 ( n) 0<br />
= ⋅<br />
dt<br />
⎣ ⎦ ; X<br />
&<br />
() t = J⎡θ t ⎤⋅<br />
&<br />
θ t<br />
dt<br />
⎣ ⎦<br />
()<br />
() ()<br />
.(4.12)<br />
În continuare, procedând similar expresiilor de mai sus, asupra vectorilor coloană ai acceleraţiilor<br />
operaţionale, se efectuează câteva transformări diferenţiale. Separând termenii ce reprezintă pătratul<br />
variabilelor generalizate de termenii specifici produsului dintre variabilele generalizate, rezultă:
MODELAREA ERORILOR CINEMATICE .I.<br />
()<br />
()<br />
⎧ ⎡ 2 0<br />
d ⎡ X t ⎤⎤ 2<br />
⎡ I6 ⎤ ⎡∂fjt j= 1→6 ⎤ ⎡dq⎤ ⎫<br />
⎪ ⎢ ⎣ ⎦⎥ 1<br />
⎢ ⎥ ⎢ ⋅δi<br />
⎥<br />
............... ..... qi<br />
i 1 n<br />
⎢ ⎥<br />
⎪<br />
⎪ ⎢ ⎥= ∂<br />
= →<br />
⎢ ⎥⋅⎢<br />
⎥⋅ ⎢ M ⎥+<br />
⎪<br />
⎪ ⎢ ⎥<br />
2 n<br />
n 2<br />
d X() t<br />
⎢ R⎥ ⎢ ⎥<br />
δi<br />
{ { 1; j 3} , { i ; j 3}<br />
⎢ } d q<br />
⎥<br />
⎪<br />
⎪ ⎢ ⎡ ⎤<br />
= ≤ Δ ><br />
⎣ ⎦⎥<br />
⎣ ⎦ ⎢⎣ ⎥⎦<br />
⎣ n⎦<br />
⎪<br />
⎪ ⎣ ⎦<br />
⎪ ⎪<br />
⎨ ⎡ 2<br />
2<br />
j= 1→6 ⎤<br />
I ⎡∂ fj() t j= 1→6 ⎤ 2<br />
⎡ 6 ⎤<br />
()<br />
dq1 dq<br />
⎬;<br />
(4.13)<br />
⎪ fjt ⎡ ⋅ 2 ⎤<br />
⎡dq ⎤<br />
⎢ ⎥ ⎢ ⋅δ<br />
2 i<br />
⎥ 1 ⎡ I6<br />
⎤ ⎢ ∂<br />
δi δk<br />
i 1 n 1<br />
⎥ ⎪<br />
⎪ ⎢ ⎥<br />
..... ⋅⎢ ∂qi<br />
i= 1→n ⎢ ⎥<br />
⋅ ⋅ = → −<br />
⎢ ⎥ ⎢<br />
⎢ ⎥ ..... ∂qi⋅∂q ⎥ ⎪<br />
k<br />
⎢<br />
M<br />
⎪ ⎥⋅<br />
⎥<br />
⎢ M ⎥+ ⎢ ⎥⋅⎢ k=+→ i 1 n ⎥⋅<br />
⎪<br />
⎪⎢n ⎢<br />
R<br />
⎥ ⎥<br />
⎢ ⎥<br />
2 n<br />
⎣ ⎦ ⎢ δi<br />
= { { 1; j≤3} , { Δ i ; j> 3<br />
⎢<br />
⎣ } } dq<br />
⎥<br />
⎦ n R<br />
⎢ ⎥<br />
M<br />
⎢ ⎥ ⎪<br />
⎪ ⎥ ⎣ ⎦ ⎣ ⎦<br />
⎢ ⎥<br />
⎢δi( k) = { { 2j ; ≤3} , { Δ i( k)<br />
; j> 3} } ⎥ ⎣dqn−1⋅dq ⎪<br />
n<br />
⎩⎪ ⎣ ⎦<br />
⎦<br />
⎭⎪<br />
unde<br />
T<br />
2 2<br />
2 2<br />
d θ = ⎡d qi, i = 1→ n⎤<br />
⎣ ⎦ ; dθ= ⎡dqi, i = 1 → n⎤<br />
⎣ ⎦ ;<br />
T<br />
⎡ i = 1 → n −1<br />
⎤<br />
⎢ i k<br />
⎥<br />
dθ ⋅ dθ = dq ⋅dq<br />
. (4.14)<br />
⎣ k = i + 1 → n ⎦<br />
2<br />
Din relaţia (4.13) prin împărţire cu ( dt ) şi ţinând cont de (4.8), se determină într-o formă explicită,<br />
expresia derivatei de ordinul întâi în raport cu timpul a matricei Jacobiene:<br />
()<br />
⎧ 2 ⎡i−1 ∂ f j t 0<br />
j = 1→6 ⎤<br />
⎫<br />
⎪ ⎡ J&⎡ ⎣θ() t ⎤<br />
⎦<br />
⎤ ⎡ I6 ⎤ ⎢∑⋅δi ⋅δk ⋅q&k;<br />
⎥<br />
⎪<br />
⎪ ⎢ ⎥ = ⎢ ⎥⋅ ⎢k= 1∂qi ⋅∂qk<br />
i = 1→ n ⎥+<br />
⎪<br />
n n<br />
⎪ ⎢ J& ⎣<br />
⎡θ() t ⎦<br />
⎤⎥ ⎢ R ⎥ ⎢ ⎥<br />
⎪<br />
⎪ ⎣ ⎦ ⎣ ⎦<br />
⎢ δ i( k) = { { 1; j≤ 3} { Δ i( k)<br />
; j> 3}<br />
} ⎥<br />
⎪<br />
⎪ ⎣ ⎦<br />
⎪<br />
⎨ ⎬ (4.15)<br />
2<br />
2<br />
⎪ ⎡ ∂ f j () t j = 1→6 ⎤ ⎡ n ∂ f j () t<br />
j = 1→6⎤⎪ ⎪ ⎡I6 ⎤ ⎢ ⋅δi ⋅q&i;<br />
⎡I 2<br />
⎥ 6 ⎤ ⎢ ∑ ⋅δi ⋅δk ⋅q&k;<br />
⎥<br />
+ ⎢ ⎥⋅ ⎢ ∂q<br />
q<br />
i<br />
i = 1→ n ⎥+<br />
⎢ ⎥⋅<br />
k i 1∂ i ⋅∂qk<br />
i 1 n<br />
⎪<br />
⎪ ⎢ =+<br />
= → ⎥<br />
n n<br />
⎪<br />
⎪ ⎢⎣ R⎥⎦ ⎢ ⎥ ⎢ R⎥<br />
δ i = { { 1; j≤ 3} { Δ i ; j> 3}<br />
⎣ ⎦<br />
⎢ ⎥⎪<br />
⎪ ⎢⎣ } ⎥ δ<br />
⎦ ⎢ i( k) = { { 1; j≤ 3} { Δ i( k)<br />
; j> 3<br />
⎣ } } ⎥<br />
⎩ ⎦⎪⎭<br />
Pe baza expresiei (4.15) se poate stabili matricea ce conţine termenii Coriolis şi temenii complementari, în<br />
timp ce termenii referitori la acceleraţiile centripetale sunt conţinuţi în expresia celei de a doua matrice:<br />
( )<br />
n 0<br />
( )<br />
⎡ 2<br />
j = 1 → 6 ⎤<br />
⎡ I j ()<br />
6 ⎤ ⎢ ∂ f t<br />
⋅δ i ⋅ δ k i = 1→ n−1 ⎥<br />
⎢ ⎥ ⎢<br />
J () ......<br />
i k<br />
B θ t ∂q ⋅∂q<br />
⎥<br />
⎣<br />
⎡<br />
⎦<br />
⎤ = ⎢ ⎥⋅⎢<br />
k = i + 1→ n⎥;<br />
(4.16)<br />
2 ( 6× Cn) ⎢ n<br />
R ⎥ ⎢ ⎥<br />
⎣ ⎦ ⎢δ i( k) = { { 2; j ≤ 3} { Δ i( k)<br />
; j > 3}<br />
} ⎥<br />
⎣ ⎦<br />
n 0<br />
2<br />
⎡ I6<br />
⎤ ⎡ ∂ f j t j = 1 → 6 ⎤<br />
⎢ ⎥ ⎢ ⋅δ<br />
2 i<br />
⎥<br />
JC⎡θ() t ...... ∂q<br />
i<br />
i = 1 → n<br />
⎣<br />
⎤<br />
⎦ = ⎢ ⎥⋅⎢<br />
⎥ . (4.17)<br />
( 6× n) ⎢ n<br />
R<br />
⎥ ⎢ ⎥<br />
⎣ ⎦ ⎢δ i = { { 1; j ≤ 3}{ Δ i ; j > 3<br />
⎣ } } ⎥⎦<br />
În final, vectorul coloană al acceleraţiilor operaţionale din (4.13) poate fi scris şi sub forma:<br />
134<br />
( )<br />
T
( )<br />
n0<br />
X<br />
&&<br />
t<br />
()<br />
135<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />
⎧ ( n0 )<br />
( n0 )<br />
J⎡θ () t ⎤⋅ &&<br />
θ () t + J&⎡θ () t ⎤⋅<br />
&<br />
θ () t<br />
⎫<br />
⎪ ⎣ ⎦ ⎣ ⎦<br />
⎪<br />
= ⎨ ⎬ . (4.18)<br />
( n0 )<br />
( n0 )<br />
( n0 ⎪ )<br />
2<br />
J⎡θ () t ⎤⋅ &&<br />
θ () t + JB⎡θ () t ⎤⋅⎡& θ ⋅<br />
&<br />
θ ⎤+ JC⎡θ () t ⎤⋅⎡&<br />
θ ⎤ ⎪<br />
⎩ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎭<br />
Vectorii coloană (4.15) şi (4.18), cunoscuţi sub denumirea de ecuaţiile MCD, sunt incluşi în cadrul unei<br />
expresii matriceale, care poate fi scrisă în două variante, aşa cum reiese mai jos:<br />
( )<br />
T<br />
⎡ n 0 ( n) 0 ( n) 0<br />
n 0<br />
X<br />
& ⎤ ⎡⎡ T T<br />
v n ω ⎤ ⎤ ⎡ 0 J θ ⎤ ⎡&& θ ⎤<br />
⎢ ⎥ ⎢⎣ n ⎦ ⎥ ⎢ ⎥ ⎢ ⎥<br />
⎢ =<br />
( n) ⎥ ⎢<br />
0 T ⎥ = ⎢<br />
( n) 0 T ( n) 0 T<br />
( n) 0 ( n) 0 ⎥⋅⎢<br />
⎥ ; (4.19)<br />
X<br />
&&<br />
⎢ ⎥ ⎢⎡ v&<br />
&<br />
J<br />
n ω ⎤ ⎥<br />
n ⎢ ( θ ) J&(<br />
θ ) ⎥ ⎢θ &<br />
⎥<br />
⎣ ⎦ ⎣⎢⎣ ⎦<br />
⎦⎥<br />
⎣ ⎦ ⎣ ⎦<br />
[ ] ( ) ( )<br />
⎡ T<br />
⎡&& T T<br />
( n0 )<br />
( n) 0<br />
θ<br />
&<br />
θ ⎤ ⎤<br />
⎡ &<br />
X⎤<br />
⎡ [ 0] J( θ ) [ 0] [ 0]<br />
⎤ ⎢ ⎣ ⎦ ⎥<br />
⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />
⎢ =<br />
T<br />
( n0 )<br />
⎥ ⎢( n) 0 ( n) 0 ( n) 0 ⎥⋅⎢T<br />
T ⎥ . (4.20)<br />
&&<br />
⎢ X⎥<br />
⎢ J( θ) [ 0] J ( ) ( )<br />
2<br />
B θ JC<br />
θ ⎥ ⎢⎡ ⎡ & ⎤<br />
θ ⋅<br />
&<br />
θ ⎤ ⎡ &<br />
θ ⎤ ⎥<br />
⎣ ⎦ ⎣ ⎦ ⎢⎢ ⎣ ⎦ ⎣ ⎦ ⎥<br />
⎣ ⎦ ⎥<br />
⎢⎣ ⎥⎦<br />
Ecuaţiile cinematicii directe exprimate în raport cu sistemul mobil {n} pot fi scrise sub o altă formă, în<br />
funcţie de derivata în raport cu timpul a matricei Jacobiene. Această expresie de definiţie poate fi scrisă:<br />
⎡ &&<br />
n<br />
θ ⎤<br />
T<br />
⎡ n n T n T<br />
X<br />
& ⎤ ⎡ ⎡ [ 0] J( θ ) [ 0]<br />
⎤<br />
⎡ v n ω ⎤ ⎤<br />
⎢ ⎥<br />
n<br />
⎢ ⎥ ⎢⎣ ⎦ ⎥ ⎢ ⎥ ⎢ &<br />
θ ⎥<br />
⎢ ⎥ = ⎢ T ⎥ = ⎢ n ∂ n ⎥⋅⎢⎥.<br />
(4.21)<br />
n && n T n T J( ) J( ) I6<br />
n n<br />
X<br />
θ ⎡ θ ⎤<br />
⎢ ⎥ ⎢⎡ v& &<br />
n ω ⎤ ⎢ ⎥<br />
n ⎥ ∂ t ⎣ ⎦ ⎢⎡ ωn×<br />
v ⎤ n ⎥<br />
⎣ ⎦ ⎢⎣ ⎦<br />
⎣ ⎥⎦ ⎢ ⎥<br />
⎣ ⎦ ⎢⎢ ⎥⎥<br />
⎢⎣ ⎢⎣ [ 0]<br />
⎥⎦<br />
⎥⎦<br />
Ecuaţia (4.21), împreună cu expresiile diferenţiale obţinute pe baza matricei Jacobiene şi a derivatei<br />
sale în raport cu timpul, sunt cunoscute sub denumirea de ecuaţiile cinematicii directe. Legea de variaţie în<br />
raport cu timpul a variabilelor generalizate este cunoscută, conform datelor de intrare.<br />
Ecuaţiile cinematicii directe, împreună cu vectorul coloană al parametrilor de situare, definesc<br />
mişcarea efectorului final al robotului în spaţiul cartezian.<br />
4.3 Matricea Jacobiană bazată pe matricele de transfer<br />
Expresia vitezei liniare şi respectiv a vitezei unghiulare, ce caracterizează mişcarea absolută a oricărui<br />
elementului cinetic i = 1 → n , din structura mecanică a unui robot serial, pot fi scrise sub forma:<br />
i<br />
0 0 0 j<br />
ωi ≡ ω0 + ∑Δ j ⋅q j ⋅ [ R] ⋅ k<br />
j<br />
j<br />
j= 1<br />
i<br />
0 0<br />
≡ ω0<br />
+ ∑Δ<br />
j ⋅q j ⋅ k j<br />
j= 1<br />
0<br />
ωi ≡<br />
0 0 j<br />
kj⋅Δ j ≡ [ R] ⋅ k<br />
j<br />
j⋅Δ j j = 1→i ⋅ qj j = 1→i T<br />
≡ Ω j j = 1→i ⋅ qj j = 1→i T<br />
& & (4.22)<br />
( ) ( ) ( ) ( )<br />
& & ; (4.23)
MODELAREA ERORILOR CINEMATICE .I.<br />
i<br />
⎧ 0 0 0 j<br />
⎫<br />
⎪ vi = v0 + ∑(<br />
1−Δ j) ⋅q&j⋅ j [ R] ⋅ k j +<br />
⎪<br />
⎪ j= 1<br />
⎪<br />
⎨ ⎬;<br />
(4.24)<br />
i<br />
j−1 ⎪<br />
⎧⎪⎧⎧0 0 ⎫ ⎫ ( 0)<br />
⎫ 0 ⎪<br />
+ ω0 + Δ m⋅δm⋅qm⋅ km × ⋅ { pjj−1+ ( 1−Δ j) ⋅q j() t ⋅ k<br />
⎪<br />
⎪ ∑⎨⎨⎨ ∑ & ⎬ ⎬ j } ⎬⎪<br />
⎩ j= 1⎪⎩⎩⎩ m= 1<br />
⎭ ⎭<br />
⎪⎭⎭<br />
( ) ( ) ( ) ( )<br />
0 0 0<br />
T T<br />
vi = ⎡ kj× pij⋅Δ j + 1−Δ j ⋅ kj j = 1→i⎤⋅ qj j= 1→i ≡ Vj j= 1→i ⋅ qj j= 1→i & & . (4.25)<br />
⎣ ⎦<br />
Din expresiile (4.23) şi (4.24), se poate stabili ecuaţia matriceală corespunzătoare vitezelor generalizate<br />
(operaţionale) absolute ale efectorului final, proiectate pe sistemul fix:<br />
⎡ n ⎤<br />
Vi ⋅q<br />
0<br />
i<br />
v ⎡V n ( θ ) ⎤ ⎢∑& ⎡ ⎤<br />
⎥<br />
i= 1 ⎡Vi 0 & ⎢ ⎥<br />
X = ⎢ ⎥=<br />
⎢ ⎥<br />
⋅<br />
&<br />
θ = = ⎢<br />
( 6× 1) ⎢0⎥ ⎢ ⎥ ⎢ ⎥ ⎢<br />
n<br />
⎣ ωn<br />
⎦ ⎢⎣ Ω( θ ) ⎥⎦<br />
⎢ ⎥ i i<br />
i q<br />
⎢⎣ ΩΔ<br />
⎢∑Ω⋅&iΔ i⎥<br />
⎣i= 1 ⎦<br />
⎤<br />
i = 1→n⎥⋅ &<br />
θ .<br />
⎥<br />
⎥⎦<br />
(4.26)<br />
Matricea liniară şi respectiv matricea unghiulară de transfer a vitezelor sunt rescrise mai jos sub forma:<br />
V⎣ ⎡θ() t ⎦<br />
⎤<br />
( 3× n) ∂pn⎡θ() t ⎤ ⎧<br />
⎪<br />
≡<br />
⎣ ⎦<br />
= Matrix⎨Viθ() t<br />
T<br />
( 3× n)<br />
⎣<br />
⎡<br />
⎦<br />
⎤<br />
∂⎡θ() t ⎤ ( i=1→n ⎣ ⎦<br />
⎪<br />
⎩ )<br />
T<br />
∂pn⎡θ() t ⎤ ⎧ ⎡fj( qk() t ; k= 1→n ⎫<br />
⎣ ⎦ ⎪ ∂<br />
) ⎤⎪⎫⎪<br />
= ≡⎨ ⎢ ⎥⎬<br />
⎬;<br />
(4.27)<br />
∂qi() t<br />
⎩⎪∂ qi() t ⎢⎣ j= 1→3 ⎥⎦⎭⎪⎪<br />
⎭<br />
() () () ( ) ()<br />
Vi⎡ ⎣θ() t ⎤<br />
⎦<br />
( i=1→n )<br />
0 0<br />
∂ pn⎡θ() t ⎤ ⎧<br />
⎪<br />
Δ i ⋅ ki t × ⎡⎣pn t − pi t ⎤⎦+<br />
1−Δ i ⋅ ki ≡<br />
⎣ ⎦<br />
= ⎨<br />
∂ q ()<br />
0 0<br />
i t ⎪ Δ i ⋅ ki() t × pni() t + ( 1−Δ i) ⋅ ki() t<br />
⎩<br />
t ⎫<br />
⎪<br />
⎬;<br />
⎪⎭<br />
(4.28)<br />
⎧<br />
⎪ ⎪⎧ ⎪⎧ ∂ 0 0 T ⎪⎫ 0 ⎪⎫ ⎪<br />
⎫<br />
Ω ⎡<br />
⎣θΔ() t ⎤<br />
⎦= ⎨Ωi ⎡<br />
⎣θΔ() t ⎤<br />
⎦≡⎨vect<br />
⎨ [ ]()<br />
( )<br />
( ) () { R t } ⋅ [ R] () t i i ki() t<br />
n n ⎬⋅Δ ≡Δ ⋅ ⎬ ⎬.<br />
(4.29)<br />
∂q<br />
3 n i 1 n<br />
i t<br />
× ⎪⎩ = → ⎪⎩ ⎪⎩ ⎪⎭<br />
⎪⎭<br />
⎪⎭<br />
În ecuaţia (4.28) se implementează matricea de transfer a vitezelor, după cum urmează:<br />
0<br />
n<br />
⎢ ⎥ ( )<br />
( × ) ⎢ ⎥<br />
( θ )<br />
⎡ ⎤ ⎧ ⎡ ⎤ ⎫<br />
& ⎪ ⎪<br />
X = = J θ ⋅<br />
&<br />
θ =<br />
⎢ ⎥<br />
⋅<br />
&<br />
θ = J ⎢ ⎥<br />
⎨ = i = 1→ n⎬⋅<br />
&<br />
θ ; (4.30)<br />
⎢ ⎥ ⎢ ⎥<br />
⎣ ⎦ ⎢ ⎥ ⎪ ⎢ ⎥ ⎪<br />
⎣ ⎦ ⎩ ⎣ ⎦ ⎭<br />
0<br />
⎡ 0<br />
v ⎤<br />
0<br />
0<br />
Jv 0<br />
0<br />
J Iv<br />
6 1 0<br />
ωn<br />
0<br />
JΩ ( θ )<br />
i<br />
0<br />
J iΩΔi ( θ )<br />
( θ )<br />
⎡ ⎤ ⎡ ⎤ ⎧ ⎡ ⎤ ⎡ ⎤ ⎫<br />
⎪ ⎪<br />
J = = = ⎨ J = = i = 1→ n⎬;<br />
(4.31)<br />
⎢ ⎥ ⎢ ⎥ ⎪ ⎢ ⎥ ⎪<br />
⎣ ⎦ ⎣ ⎦ ⎩ ⎣ ⎦ ⎣ ⎦ ⎭<br />
0 0<br />
Jv V<br />
J Iv Vi<br />
0 0<br />
( θ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ )<br />
⎢ ⎥<br />
⎢ i<br />
0 ⎥ ⎢ ⎥ ⎢0⎥ ⎢ ⎥<br />
JΩ ( θ ) Ω( θ )<br />
J iΩΔi ⎢ΩΔ i i⎥<br />
( θ )<br />
( )<br />
[ ] [ ] [ ] [ ] ⎪ ⎪<br />
⎡ ∂p<br />
⎤<br />
n<br />
⎢<br />
⎥ ⎧ ⎡ ∂<br />
⎤ ⎫<br />
⎢ ⎜⎛<br />
T<br />
⎟⎞<br />
p<br />
⎥<br />
n<br />
∂ θ<br />
⎪ ⎢<br />
⎥ ⎪<br />
⎢ ⎝ ⎠ ⎥ ⎪ 0 ⎢ ∂q<br />
i ⎥ ⎪<br />
J θ = ⎢ ⎧<br />
⎫⎥=<br />
⎨ J i =<br />
i=<br />
1→n<br />
⎢<br />
⎥ ⎬<br />
⎪ ⎪⎧<br />
∂ ⎧ ⎫ ⎪⎫<br />
. (4.32)<br />
0 0 T<br />
⎢ ⎪ ∂ ⎧ 0 ⎫ 0 T ⎪⎥<br />
⎢<br />
⋅ ⎥<br />
⎪<br />
⎨ ⎨ ⎬⋅<br />
⎬<br />
⎢vect<br />
⎨ ⎨ R ⎬⋅<br />
R<br />
vect<br />
⎬<br />
n R n R Δ i<br />
n n ⎥<br />
⎩ ⎢⎣<br />
⎪⎩ ∂ ⎩ ⎭ ⎪⎭ ⎥<br />
⎢ ⎪ ∂⎜⎛<br />
T<br />
⎟⎞<br />
⎩ ⎭<br />
q i<br />
θ<br />
⎪⎥<br />
⎦ ⎭<br />
⎣ ⎩ ⎝ ⎠<br />
⎭⎦<br />
136
137<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />
Legătura dintre vectorii coloană ai vitezelor generalizate şi respectiv operaţionale se realizează prin<br />
intermediul matricei Jacobiene, denumită şi matricea de transfer a vitezelor sau matricea derivatelor<br />
parţiale. Expresia de definiţie bazată pe matricele de transfer, a fost obţinută anterior şi este descrisă prin<br />
intermediul relaţiilor (4.27) şi (4.28). În urma transformărilor efectuate,rezultă ecuaţia matriceală, ce<br />
caracterizează acceleraţiile operaţionale (generalizate), ale efectorului final în raport cu sistemul fix{ 0 } :<br />
( )<br />
( )<br />
( ) ( )<br />
⎡0 v&<br />
⎤ ⎧⎡V θ ⎤ ⎡V& θ ⎤⎫ n<br />
⎡&& ⎧⎡ V θ V& θ A θ<br />
0<br />
θ ⎤ ⎤⎫ ⎡ ⎤<br />
⎣ ⎦ ⎡&& θ⎤ ⎡&& && ⎪ ⎪ ⎪ ⎪<br />
θ⎤<br />
X = ⎢ ⎥= ⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />
⎨ ⎬ ⋅ ⎢ ⎥= ⎨ ⎬ ⋅ ⎢ ⎥= ⋅⎢<br />
⎥.<br />
(4.33)<br />
( 6× 1) ⎢ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />
0 &<br />
⎥<br />
ω ⎪ Ω n ( θ ) Ω& ( θ ) ⎢ &<br />
⎪ ⎣θ ⎥⎦ ⎪⎡Ω( θ ) Ω& ( θ ) ⎤⎪<br />
⎢& ⎣θ⎥⎦ Ε(<br />
θ)<br />
⎢& ⎣θ⎥ ⎣ ⎦ ⎩⎢⎣ ⎥⎦ ⎢⎣ ⎥⎦⎭ ⎩⎣ ⎦⎭ ⎣⎢ ⎦⎥<br />
⎦<br />
În expresia (4.33) alături de matricea Jacobiană este implementată şi derivata sa în raport cu<br />
timpul, rezultatul acestei operaţii fiind evidenţiat în cadrul expresiilor următoare:<br />
0 0<br />
⎡ 0<br />
v&<br />
⎤ ⎡ && ⎧⎡ Jv θ ⎤ ⎡ J&<br />
v θ ⎫<br />
θ ⎤ ⎤ ⎡&& ⎪ ⎪ θ ⎤<br />
= ⎢ ⎥= ⎡ ⎤ ⎢ ⎥ ⎢ ⎥<br />
⎣ ⎦<br />
⋅ ⎢ ⎥= ⎨ ⎬⋅⎢<br />
⎥ ; (4.34)<br />
⎢ ⎥ ⎢ & ⎢ ⎥ ⎢ ⎥<br />
⎣θ ⎥⎦ ⎪ ( θ ) & ( θ ) ⎪ ⎢& ⎣θ⎥ ⎣ ⎦ ⎩⎢⎣ ⎥⎦ ⎢⎣ ⎥⎦<br />
⎭<br />
⎦<br />
n<br />
0&& 0 0<br />
X J( θ ) J&(<br />
θ )<br />
( × )<br />
( )<br />
6 1 0 &<br />
0 0<br />
ω<br />
J J<br />
n<br />
Ω Ω<br />
( )<br />
( )<br />
0 0<br />
⎡A θ ⎤<br />
⎧ ⎡ Jv θ ⎤ ⎡ J&<br />
v θ ⎤ ⎫<br />
⎢ ⎥ 0 0 ⎪ ⎪<br />
= ⎡ J( θ ) J&(<br />
θ ) ⎤ ⎢ ⎥ ⎢ ⎥<br />
⎣ ⎦<br />
=⎨ ⎬ ; (4.35)<br />
⎢ ⎥<br />
⎢ 0 ⎥ ⎢0 ⎥<br />
Ε( θ )<br />
⎪ JΩ( θ ) J&<br />
⎢ ⎥<br />
⎢ ⎥ ⎢ Ω(<br />
θ ) ⎥ ⎪<br />
⎣ ⎦ ⎩⎣⎦ ⎣ ⎦ ⎭<br />
( )<br />
( )<br />
0 0<br />
⎡ J& v θ ⎤ ⎡V&θ⎤ ⎧ ⎡ J& ⎤ ⎡<br />
Iv V<br />
& ⎤ ⎫<br />
i<br />
⎪<br />
0 0<br />
⎢ ⎥ ⎪<br />
J&<br />
⎢ ⎥ ⎢ ⎥ ⎪ ⎢ ⎥<br />
⎪<br />
( θ ) = = = ⎨ J& ⎢0 ⎥ ⎢ ⎥ i = ⎢ i 1 n<br />
0 ⎥=<br />
⎢ ⎥ = → ⎬.<br />
(4.36)<br />
( 6× n) J& Ω( θ ) Ω& ⎢ ⎥ ( θ ) ⎪ ⎢ J&<br />
⎢ ⎥<br />
iΩΔ i⎥<br />
⎢ΩΔ &<br />
i i⎥<br />
⎪<br />
⎣ ⎦ ⎣ ⎦ ⎩⎪⎣ ⎦ ⎣ ⎦ ⎭⎪<br />
Expresia (4.31) evidenţiază matricele de transfer corespunzătoare acceleraţiilor liniare şi unghiulare, iar<br />
expresia (4.32) reprezintă derivata absolută, în raport cu timpul, a matricei Jacobiene, definită, în acest<br />
caz, cu ajutorul matricelor liniare şi unghiulare de transfer. Parametrii cinematici operaţionali, care<br />
exprimă mişcarea absolută a efectorului final pot fi proiectaţi pe sistemul de referinţă mobil{ n } . În acest<br />
caz se apelează, din cadrul modelării cinematice directe (MCD), următoarele ecuaţii:<br />
n<br />
−<br />
[ R] [ 0]<br />
n 0 1<br />
0<br />
⎡ v ⎤ ⎡ ⎤ ⎡ n v ⎤<br />
n<br />
n<br />
X<br />
&<br />
= ⎢ ⎥= ⎢ ⎥<br />
⋅⎢<br />
⎥<br />
⎢ n 0 −1⎥<br />
;<br />
⎢ ⎥ ⎢0 ⎥<br />
⎣ ωn⎦ ⎢⎣ [ 0] n [ R]<br />
⎥⎦<br />
⎣ ωn⎦<br />
n<br />
n<br />
−<br />
[ R] [ 0]<br />
( )<br />
( )<br />
−<br />
[ R] [ 0]<br />
( )<br />
n 0 1<br />
0<br />
⎡ v& ⎤ ⎡ ⎤ ⎡ n v&<br />
⎤<br />
n<br />
n<br />
X<br />
&&<br />
= ⎢ ⎥= ⎢ ⎥<br />
⋅⎢<br />
⎥<br />
⎢ n 0 −1⎥<br />
; (4.37)<br />
⎢<br />
&<br />
⎥ ⎢0 ⎥<br />
⎣ ωn⎦ ⎢⎣ [ 0] n [ R]<br />
⎥ &<br />
⎦ ⎣ ωn⎦<br />
n 0 1<br />
0<br />
⎡ v& ⎤ ⎡ ⎤ ⎡ n v&<br />
⎤<br />
n<br />
n<br />
&&<br />
X = ⎢ ⎥ =<br />
⎢ ⎥<br />
⋅⎢<br />
⎥;<br />
(4.38)<br />
⎢ ⎢ n 0 −1⎥<br />
&<br />
⎥ ⎢0 ⎥<br />
⎣ ωn⎦ ⎢⎣ [ 0] [ R]<br />
ω<br />
n ⎥ &<br />
⎦ ⎣ n⎦
MODELAREA ERORILOR CINEMATICE .I.<br />
⎡ ⎤ ⎡ ⎤<br />
X<br />
&<br />
= ⎢ ⎥ = R⋅ ⎢ ⎥ = R⋅ J( θ ) ⋅<br />
&<br />
θ ; (4.39)<br />
⎢ n ⎥ ⎢0 ⎥<br />
⎣ ωn⎦ ⎣ ωn⎦<br />
n 0<br />
vn vn<br />
n n n 0<br />
( θ ) ( θ )<br />
n n 0<br />
J = R⋅ J . (4.40)<br />
Expresiile, prezentate mai sus, caracterizează transferul matricei Jacobiene din sistemul de referinţă<br />
fix {} 0 în sistemul de referinţă mobil{ n } , operatorul matriceal de transfer fiind simbolizat n R . Acceleraţiile<br />
generalizate (operaţionale) în sistemul mobil{ n } sunt definite cu ajutorul expresiei:<br />
⎡n 0<br />
v& ⎤ ⎡ n v&<br />
⎤ n<br />
n n n 0<br />
X<br />
&&<br />
= ⎢ ⎥= R⋅ ⎢ ⎥= R⋅⎡ J( θ) ⎢ ⎣<br />
n& ⎥ ⎢0 ω &<br />
⎥<br />
⎣ n⎦ ⎣ ωn⎦<br />
⎡&& 0 θ ⎤<br />
J&<br />
n n 0<br />
( θ)<br />
⎤<br />
⎦<br />
⋅⎢⎥;<br />
J&( θ ) = R⋅ J&<br />
( θ ) .<br />
⎢ &<br />
⎣θ ⎥⎦<br />
(4.41)<br />
În final, ecuaţiile MCD în raport cu sistemul{ n } , exprimate cu ajutorul matricei Jacobiene, sunt:<br />
n ⎡ v ⎤<br />
n n<br />
n<br />
n<br />
&<br />
= ⎢ ⎥ = ( ) ⋅<br />
& n n n<br />
; X<br />
&&<br />
J( θ ) J&(<br />
θ )<br />
X J θ θ<br />
⎢ ⎥<br />
n<br />
⎣ ωn<br />
⎦<br />
n ⎡ v&<br />
⎤ ⎡ &&<br />
θ ⎤<br />
= ⎢ ⎥ = ⎡ ⎤<br />
⎣ ⎦<br />
⋅⎢⎥.<br />
(4.42)<br />
⎢ n &<br />
⎥<br />
ω<br />
⎢ &<br />
θ ⎥<br />
⎣ n ⎦<br />
⎣ ⎦<br />
De asemenea, derivata absolută, de ordinul întâi, în raport cu timpul, a matricei Jacobiene, precum şi<br />
acceleraţiile operaţionale, exprimate în sistemul mobil { n } , pot fi definite astfel:<br />
( θ )<br />
&(<br />
)<br />
n ** { ωn<br />
× } [ 0]<br />
[ ] n { n }<br />
& ⎡ ⎤<br />
⎪⎩ R⋅ =<br />
J θ ⎪ ⎭ ⎢⎣ 0<br />
J<br />
ω × ⎥⎦<br />
t<br />
J<br />
⎧ n<br />
⎪ J ⎫<br />
⎪ ⎢ ⎥ n ∂ n<br />
⎨ ⎬ ⋅ +<br />
n 0 ⎢ ⎥ ∂<br />
138<br />
{ }<br />
( θ ) ( θ )<br />
n<br />
vn<br />
n ** n<br />
n n n θ ωn<br />
× vn<br />
n ∂ n<br />
n<br />
⎣ ωn ⎦ ⎣ ⎦ ⎢⎣θ⎥⎦ ; (4.43)<br />
⎡ & ⎤ ⎡&& ⎡&& θ ⎤<br />
&&<br />
⎤ ⎡ ⎤ ⎡ ⎤<br />
X= ⎢ ⎥= ⎡ J( θ) J&( θ) ⎤ ⋅ ⎢ ⎥=<br />
⎢ ⎥+ J( θ) { J(<br />
θ ) ⎢ ⎥ } ⋅<br />
⎢ ⎥ ⎣ ⎦<br />
θ [ 0<br />
⎢ ] ⎣ ∂t<br />
⎥<br />
; (4.44)<br />
⎢&⎥ ⎢ ⎥<br />
⎦ ⎢ ⎥<br />
&<br />
⎣ ⎦<br />
&<br />
În expresia (4.41), viteza unghiulară este înlocuită cu expresia de mai jos, astfel:<br />
n<br />
[ ] −<br />
n n n−1 n ∂ n<br />
= ⋅ − ; vn [ R] { ωn−1<br />
} vn ( vn)<br />
n **<br />
n 1<br />
n n 1 n 1<br />
R ω ω<br />
−<br />
& ; (4.45)<br />
= ⋅ × +<br />
n1 −<br />
∂t<br />
n<br />
În vederea determinării vitezei unghiulare ω n , pe baza proprietăţii referitoare la derivata în raport cu<br />
timpul a oricărei matrice de rotaţie, ecuaţiile de plecare sunt:<br />
0<br />
0 − 0<br />
{ ω × } = ⎡R⎤⋅ [ R] = ⎡R⎤⋅ [ R]<br />
& & n 0 −1<br />
0<br />
ω = [ ] ⋅ ω . (4.46)<br />
0 1 0 T<br />
n<br />
n⎣ ⎦ n n⎣<br />
⎦ n<br />
n n n<br />
R<br />
0 −1 0 T<br />
0<br />
Expresia de mai sus se multiplică la stânga cu [ R] ≡ [ R]<br />
, iar la dreapta cu [ R] obţinându-se:<br />
n n<br />
0 −1 0<br />
0 −1 0 0 −1<br />
0 T 0 0 T<br />
[ R] { ωn<br />
× } = [ R] ⋅ ⎡R⎤ [ R] [ R] ⎡R⎤ [ R]<br />
n n n ⎣ ⎦<br />
⋅ = ⋅<br />
n n n ⎣ ⎦ n<br />
& & ; (4.47)<br />
n
139<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />
0 1 0 0 1 0 0 1 0 0 T 0 0 T 0<br />
n n n n n ⎣ ⎦ n n n n ⎣ ⎦ n n<br />
− 0<br />
− −<br />
[ R] { ω × } [ R] = [ R] ⋅ ⎡R⎤⋅ [ R] ⋅ [ R] = [ R] ⎡R⎤⋅ [ R] ⋅ [ R]<br />
& & . (4.48)<br />
Efectuând transformările din identitatea matriceală (8.89), se obţine expresia de definiţie:<br />
n<br />
−<br />
{ ω × } = [ ] ⋅ = [ ]<br />
0 1 0 0 T 0<br />
n n n n n<br />
0 0<br />
{ } { [ ]<br />
n n }<br />
R ⎡R&⎤ R ⎡R& n<br />
0 −1<br />
0 T<br />
⎤<br />
⎣ ⎦ ⎣ ⎦<br />
; ωn<br />
= vect [ R] ⋅ ⎡R&⎤ = vect R ⋅ ⎡R& ⎤<br />
n ⎣ ⎦ n ⎣ ⎦<br />
. (4.49)<br />
Ţinând cont de toate aspectele prezentate, până acum, se poate concluziona că algoritmul matricei<br />
Jacobiene, bazat pe aplicarea matricelor de transfer, are drept rezultat stabilirea ecuaţiilor cinematicii directe.<br />
4.4 Matricea Jacobiană bazată pe matricele diferenţiale<br />
În cadrul acestei secţiuni aplică matricele diferenţiale ale transformărilor omogene pentru<br />
determinarea matricei Jacobiene în raport cu sistemul de referinţă fix şi respectiv mobil.<br />
Matricea Jacobiană în raport cu sistemul fix { 0 } . Fiecare coloană ( 6 × 1)<br />
inclusă în matricea<br />
Jacobiană, precum şi în derivata, de ordinul întâi, în raport cu timpul, exprimate în raport cu sistemele de<br />
referinţă{ 0} şi{ n } , pot fi determinate cu ajutorul expresiilor de mai jos:<br />
( )<br />
⎡ Ani p ⎤<br />
0 ⎢ ⎥<br />
n n 0 J i ≡ ⎢ 0 i ⎥ ; J i = R ⋅ J i<br />
⎢ [ R] ⋅ k<br />
i<br />
i ⋅Δ i⎥<br />
⎣ ⎦<br />
⎡ 0 T<br />
n [ R] =<br />
⎢<br />
⎢<br />
⎢⎣ [ 0] [ 0]<br />
⎤<br />
⎥ 0<br />
⋅ J i ;<br />
0 T ⎥<br />
[ R]<br />
n ⎥⎦<br />
(4.50)<br />
⎡ n<br />
⎤<br />
⎢ ∑ Anij ( p) ⋅ q j ⎥<br />
⎢ j= 1<br />
⎥<br />
⎡ 0 T<br />
[ R] 0<br />
J&<br />
⎢ ⎥<br />
n n 0<br />
n<br />
i ≡ ; J& ⎢⎧ i ⎫ ⎥<br />
i = R ⋅ J& i =<br />
⎢<br />
⎢<br />
⎢<br />
⎪ ⎪ i<br />
⎨∑Aij ( R) ⋅q j ⎬⋅<br />
k ⎥ i ⋅Δ<br />
⎢ [ ] i<br />
⎣<br />
0<br />
⎢⎪⎩ j= 1 ⎪⎭<br />
⎥<br />
⎢⎣ ⎥⎦<br />
[ 0]<br />
⎤<br />
⎥ 0<br />
⋅ J&<br />
i .<br />
0 T ⎥ (4.51)<br />
n [ R]<br />
⎥⎦<br />
unde n R reprezintă operatorul matriceal de transfer între sistemul fix { 0} şi sistemul mobil { n } .<br />
De asemenea, matricea Jacobiană se poate determina prin apelarea expresiilor care exprimă diferenţiala<br />
matricei de transformare omogenă şi respectiv matricea diferenţială de ordinul întâi:<br />
0 0<br />
{ [ T] θ () t } n [ T] θ () t<br />
∑<br />
{ }<br />
⎧ ⎫<br />
⎧⎪ dTn0 () t ⎫⎪ ⎪∂ ⎡<br />
n ⎣<br />
⎤<br />
⎦ ∂ ⎡<br />
n ⎣<br />
⎤<br />
⎦ ⎪ 0 0<br />
⎨ dθ dq T i δ Tn [ T] θ () t<br />
0 ⎬= ⎨ ⋅ ≡ ⋅ ⎬≡ ⋅ ⎡ ⎤<br />
n<br />
pt. X () t<br />
θ i= 1 q<br />
⎣ ⎦<br />
;(4.52)<br />
⎪⎩ ⎪⎭ ⎪ ∂<br />
∂ i ⎪<br />
⎩ ⎭<br />
{ [ ] ⎡θ() ⎤}<br />
[ ] θ − () [ ] θ − ()<br />
0 0 i−1 i−1 ∂ T t ⎧<br />
n T i 1 t Ui T<br />
i 1 n<br />
ni 1 t qi k ⎫<br />
⎣ ⎦ ⎪ − ⎣<br />
⎡<br />
⎦<br />
⎤ ⋅ ⋅ ⎣<br />
⎡<br />
⎦<br />
⎤ L ⋅ i⎪<br />
Ani ⎡<br />
⎣θ() t ⎤<br />
⎦ = ≡ ⎨ ⎬ ;(4.53)<br />
∂ q<br />
0 i<br />
i<br />
i<br />
⎪ [ T] ⎡θi() t Ui [ T] θni()<br />
t q<br />
i ⎣<br />
⎤<br />
⎦ ⋅ ⋅ ⎡ ⎤<br />
n ⎣ ⎦<br />
i ⋅ ki<br />
⎪<br />
⎩<br />
L<br />
⎭
MODELAREA ERORILOR CINEMATICE .I.<br />
()<br />
()<br />
∂<br />
0<br />
{ [ T] ⎡θ() t ⎤}<br />
n<br />
⎪⎧ dTn0 t ⎪⎫<br />
n ⎣ ⎦ ⎧ 0 0<br />
⎫<br />
⎨ dθ δ T T n [ T] θ () t Ani θ () t dq<br />
0 ⎬= ⋅ ≡ ⎨ ⋅ ⎡ ⎤ ≡ ⎡ ⎤ ⋅<br />
n<br />
i<br />
ptr X t<br />
θ<br />
⎣ ⎦ ∑ ⎣ ⎦ ⎬<br />
i= 1<br />
⎪⎩ ⎪⎭<br />
[ ]<br />
. (4.54)<br />
∂ ⎩ ⎭<br />
Matricea diferenţială Ani θ () t este înlocuită prin expresia (4.53) în (4.54), astfel rezultând:<br />
⎧ n<br />
0 i−1 i−1 ⎪∑ [ T] ⎡θ i 1() t U i [ T] θni<br />
1() t dqi, qi() t k i;<br />
i−1 ⎣ − ⎤<br />
⎦ ⋅ ⋅ ⎡<br />
n ⎣ − ⎤<br />
⎦ ⋅ ⋅<br />
0 0 ⎪ i= 1<br />
δ Tn⋅ [ T] ⎡ () t<br />
n ⎣θ ⎤<br />
⎦ = ⎨<br />
; (4.55)<br />
n<br />
⎪ 0 i i<br />
[ T] ⎡θ i() t U i [ T] θni()<br />
t dqi, qi() t k<br />
i ⎣<br />
⎤<br />
⎦ ⋅ ⋅ ⎡ ⎤ ⋅ ⋅<br />
n ⎣ ⎦<br />
i<br />
⎪⎩<br />
∑<br />
i= 1<br />
Expresia de mai sus se multiplică la dreapta cu inversa matricei de situare, scrisă sub forma:<br />
[ ] θ () [ ] θ () , ()<br />
⎧ ⎡ ⎤ ⎡ ⎤<br />
i−1 −1 0 −1 i−1 T ni 1 t T i 1 t qit k<br />
0 −1 ⎪ n ⎣ − ⎦⋅ i−1 ⎣ − ⎦ ⋅ i<br />
[ T] ⎡ ()<br />
n ⎣θt ⎤<br />
⎦ = ⎨ i −1 0 −1<br />
i<br />
[ T] ⎡θni () t ⎤⋅ [ T] ⎡θi() t ⎤,<br />
qi() t ⋅ k<br />
n i<br />
i<br />
⎪<br />
⎩ ⎣ ⎦ ⎣ ⎦<br />
Ca urmare, se explicitează operatorul matriceal de diferenţiere al transformării omogene:<br />
140<br />
; (4.56)<br />
⎧ n<br />
0 0 −1 ⎪∑ [ T] ⎡θi 10() t Ui[ T] θi<br />
10() t dqi, i−1⎣ − ⎤<br />
⎦ ⋅ ⋅ ⎡<br />
i−1⎣ − ⎤<br />
⎦ ⋅<br />
0 ⎪ i= 1<br />
δ Tn<br />
≡ ⎨ n<br />
⎪ 0 −1 0 −1<br />
[ T] ⎡θi0 () t ⎤ ⋅Ui⋅ [ T] ⎡θi0 () t ⎤ ⋅dqi, ⎪⎩<br />
∑ i ⎣ ⎦ i ⎣ ⎦<br />
i= 1<br />
i−1 qi() t ⋅ ki;<br />
;<br />
i<br />
qi() t ⋅ ki.<br />
(4.57)<br />
⎧ n<br />
0 *<br />
i−1 , ()<br />
n<br />
⎪∑<br />
δ T ⋅dq i 1 i in cazul q i t ⋅ k<br />
−<br />
i<br />
0 0 * ⎪ i= 1<br />
δ Tn ≡ ∑ δ T ⋅dq i( i 1) i ≡<br />
− ⎨ ;<br />
n<br />
i= 1 ⎪ 0 *<br />
i<br />
δ T ⋅dq i , in cazul q i() t ⋅ k<br />
i<br />
i<br />
⎪⎩<br />
∑<br />
i= 1<br />
(4.58)<br />
0 *<br />
În această ecuaţie, δ T<br />
i(<br />
i−1<br />
) este un operator matriceal de diferenţiere ( 4× 4)<br />
constituit din elementele<br />
0<br />
vectorului diferenţial de mişcare d Xni ⎡<br />
⎣θni () t ⎤<br />
⎦ , pentru fiecare axă ( i = 1→ n)<br />
:<br />
0 * 0 *<br />
⎡ 0 0 −1 δ × d ⎤ ⎧<br />
i−1 ,<br />
0<br />
i i−1 i i−1⎪ T θi 10 t U<br />
i 1 i T θ<br />
i 1<br />
i 10 t qi t k<br />
− ⎣<br />
⎡ − ⎦<br />
⎤⋅ ⋅<br />
− ⎣<br />
⎡ − ⎦<br />
⎤ ⋅ i<br />
δ Ti(<br />
i−1) ≡⎢ ⎥≡⎨<br />
. (4.59)<br />
⎢ ⎥ 0 −1 0 −1<br />
i<br />
0 0 [ T] ⎡θi0 () t ⎤⋅Ui⋅ [ T] ⎡θi0 () t ⎤,<br />
qi() t ⋅ k<br />
⎣ ⎦<br />
⎪<br />
⎩ i ⎣ ⎦ i ⎣ ⎦<br />
i<br />
Operatorul matriceal de derivare parţială U i este substituit în ecuaţia (4.59) prin expresia de definiţie. După<br />
( ) ( ) [ ] () [ ] () ()<br />
efectuarea transformărilor matriceale rezultă expresiile:<br />
i i<br />
[ ] ⎡ ki i ki ( 1 i)<br />
⎤ [ ] [ ]<br />
⎧ 0 0 −1 0 −1<br />
⎡ R p ⎤<br />
i ×Δ ⋅ −Δ ⎡ R − R ⋅p<br />
⎤ ⎫<br />
0 0 1 i i i<br />
i<br />
⎪ −<br />
i[ T] ⋅Ui⋅ i[<br />
T]<br />
= ⎢ ⎥⋅⎢ ⎥⋅⎢<br />
⎥≡<br />
⎪<br />
⎪ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎪<br />
⎪ ⎢⎣000 1⎥⎦ ⎣ 000 0 ⎦ ⎢⎣ 000 1 ⎥⎦<br />
⎪<br />
⎨ ⎬ ; (4.60)<br />
0 i 0 0 i<br />
0 −1 0 −1<br />
⎪ ⎡ [ R] ⋅ ki× [ R] ⋅Δi [ R] ⋅ ki⋅( 1−Δi) ⎤ ⎡<br />
i i i i[ R] −<br />
i[<br />
R] ⋅p<br />
⎤<br />
i ⎪<br />
⎪ ≡⎢ ⎥⋅⎢ ⎥ ⎪<br />
⎪ ⎢ ⎥ ⎢ ⎥ ⎪<br />
⎩ ⎢⎣ 000 0 ⎥⎦ ⎢⎣ 000 1 ⎥⎦<br />
⎭
141<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />
i i i<br />
[ R] ⋅ k ×Δ − [ R] ⋅ k × p ⋅Δ + k ( 1−Δ<br />
)<br />
0 ⎡<br />
i<br />
0 0 −1<br />
⎢<br />
[ T] ⋅Ui⋅ [ T]<br />
=<br />
i i ⎢<br />
⎢<br />
⎣<br />
i<br />
0 0 0<br />
i<br />
0<br />
i<br />
i i<br />
0<br />
i i i<br />
⎤<br />
⎥<br />
⎥ ;<br />
⎥<br />
⎦<br />
(4.61)<br />
( )<br />
( ) ( )<br />
( )<br />
[ ] ( )<br />
( ) [ ] ( )<br />
( ) [ ] ⎧<br />
⎪<br />
⎪<br />
⎪<br />
⎨ ⎡ 0 i i−1 ⎪<br />
R ⋅ ki ×Δi ⎢ i i−1 ⎪≡ ⎢<br />
⎪ ⎢ 0 0 0<br />
⎪⎩ ⎣<br />
0 * 0 *<br />
⎡ δ × d ⎤<br />
⎫<br />
0 *<br />
i i−1 i i−1 δ T ≡⎢ ⎥ ≡<br />
⎪<br />
i i−1 ⎢ ⎥<br />
⎪<br />
⎣ 0 0 ⎦<br />
⎪<br />
0 i i−1 0 i( i−1) ⎬ ;(4.62)<br />
− R ⋅ ki × pi ⋅Δ i + R ⋅ ki ⋅( 1−Δi)<br />
⎤<br />
i i−1 i i−1⎥⎪ ⎥⎪<br />
0<br />
⎥⎪<br />
⎦⎪⎭<br />
0 * ⎡ δ ×<br />
0 *<br />
i( i−1) δ T = ⎢<br />
i( i−1) ⎢<br />
⎣<br />
0<br />
⎡ 0<br />
⎢<br />
0 *<br />
0 d ⎤ ⎢ δ z<br />
i( i−1) i( i−1 ⎥ )<br />
≡⎢<br />
0 0 ⎥ ⎢<br />
⎦ − δ yi( i−1 ⎢ )<br />
⎢<br />
⎣<br />
0<br />
0<br />
− δ zi( i−1) 0<br />
0<br />
δ xi( i−1) 0<br />
0<br />
δ yi( i−1) 0<br />
− δ xi( i−1) 0<br />
0<br />
0<br />
dx ⎤<br />
i( i−1) ⎥<br />
0<br />
dy ⎥<br />
i( i−1) ⎥ .<br />
0<br />
dz ⎥<br />
i( i−1) ⎥<br />
0 ⎥<br />
⎦<br />
(4.63)<br />
Operatorul matriceal de diferenţiere se poate scrie sub forma de mai jos:<br />
0 ⎡ δ ×<br />
δ Tn<br />
= ⎢<br />
⎣000 d− δ × pn⎤ ⎡ δ ×<br />
⎥≡⎢ 0 ⎦ ⎣000 d⎤ ⎡ 0× ⎥−⎢ 0⎦ ⎣000 δ × p ⎤ n ⎡ δ ×<br />
⎥≡⎢<br />
0 ⎦ ⎣000 d⎤<br />
⎡ I3 ⎥⋅⎢ 0⎦<br />
⎣000 −pn⎤<br />
1<br />
⎥.<br />
⎦<br />
(4.64)<br />
Componentele operatorului matriceal de diferenţiere se definesc cu expresiile cunoscute:<br />
n n n<br />
0 0 i 0 0 *<br />
{ } [ ]<br />
δ ≡ dψ≡ d ω = ∑ R ⋅ k ⋅Δ ⋅dq ≡∑ k ⋅Δ ⋅dq ≡∑ δ ⋅Δ ⋅dq<br />
; (4.65)<br />
n i<br />
i i i i i i i i i<br />
i= 1 i= 1 i= 1<br />
n n n<br />
0 i 0 0 *<br />
n i [ ] i n i i i n i i i n i i<br />
i= 1 i= 1 i= 1<br />
δ × p ≡∑ R ⋅ k × p ⋅Δ ⋅dq ≡ ∑ k × p ⋅Δ ⋅dq ≡ ∑ δ × p ⋅Δ ⋅dq<br />
. (4.66)<br />
0<br />
Componentele vectorului diferenţial de mişcare d X⎡ ⎣θ ( t)<br />
⎤<br />
⎦ se pot exprima în funcţie de componentele<br />
0<br />
vectorului diferenţial d Xi0 ⎡<br />
⎣θi0() t ⎤<br />
⎦ , conform identităţii:<br />
0 * 0 *<br />
n<br />
{ } δ × d<br />
i( i−1) i( i−1) ⎧ ⎡ δ × d ⎤ ⎡ ⎤ ⎡ 0× δ × p ⎤ ⎫<br />
∑<br />
⎪ n<br />
⎢ ⎥≡ ⎢ ⎥⋅<br />
dq i + ⎢ ⎥≡<br />
⎪<br />
⎪ i= 1<br />
0 0 0 0<br />
⎪<br />
⎣⎢0 0 0 0⎦⎥ ⎣<br />
⎢ 0 0 ⎥<br />
⎦ ⎣ ⎦<br />
⎪ ⎪<br />
⎨ ⎡ ⎤ ⎬;<br />
(4.67)<br />
n<br />
0<br />
⎪ n ⎡0 0 0<br />
ki×Δi − ki× pi ⋅Δ i + ki ⋅( 1−Δi)<br />
⎤ 0 ki pn<br />
i<br />
dq<br />
⎢ × ∑ × ⋅Δ ⎥ ⎪<br />
⎪≡∑⎢ ⎥⋅ i + i= 1<br />
⋅dq<br />
i⎪<br />
i= 1 0 0 0 0<br />
⎢ ⎥<br />
⎪ ⎣ ⎦ ⎢0 0 0 0 ⎥ ⎪<br />
⎩ ⎣ ⎦ ⎭<br />
⎡ n<br />
0 * 0 *<br />
⎤<br />
( di( i 1) i( i 1)<br />
pn i) dqi<br />
d<br />
⎢∑ − + δ − × ⋅Δ ⋅<br />
⎡ ⎤<br />
⎥<br />
0<br />
i= 1<br />
d X ⎡θ() t ⎢ ⎥<br />
⎣<br />
⎤<br />
⎦ ≡ ⎢ ⎥ ≡<br />
; (4.68)<br />
δ<br />
n<br />
⎢ ⎢ 0 *<br />
⎥<br />
⎣ ⎥⎦<br />
⎢ ∑ δ i( i−1) ⋅ dq i ⎥<br />
⎢⎣ i= 1<br />
⎥⎦
MODELAREA ERORILOR CINEMATICE .I.<br />
0 * 0 *<br />
⎡d⎤ ⎡⎛ di( i−1) + δ i( i−1) × pn⋅Δ<br />
⎞ ⎤<br />
i<br />
0 ⎢ ⎥ ⎢⎜ ⎟ ⎥ ⎡ dq i ⎤<br />
d X⎡ ⎣θ() t ⎤<br />
⎦ ≡ ⎢ ⎥ ≡ ⎢⎜ , i 1 n<br />
0 * ⎟ = → ⎥⋅⎢<br />
δ δ<br />
i 1 n<br />
⎥<br />
⎢ ⎥ ⎢⎜ = →<br />
i( i−1) ⎟ ⎥ ⎣ ⎦<br />
⎣ ⎦ ⎣⎝ ⎠ ⎦<br />
Vectorul diferenţial de mişcare în spaţiul cartezian şi respectiv în spaţiul configuraţiilor este:<br />
()<br />
T<br />
142<br />
T<br />
. (4.69)<br />
0<br />
d X ⎡<br />
⎣θ t<br />
T<br />
⎤<br />
⎦ ≡ ⎡<br />
⎣<br />
d<br />
T<br />
δ ⎤<br />
⎦<br />
dθ≡ dq i , i = 1 → n ; (4.70)<br />
Utilizând expresia de definiţie, vectorul diferenţial de mişcare în spaţiul cartezian devine:<br />
; [ ]<br />
n T<br />
0 ⎧ 0 0 ⎫ 0<br />
d X⎣ ⎡θ() t ⎦<br />
⎤= ⎨∑ Ji⎣ ⎡θi0() t ⎦<br />
⎤⋅dqi ≡ ⎡ Ji θi0() t i 1 n⎤ ⎣ ⎣<br />
⎡<br />
⎦<br />
⎤ = →<br />
⎦<br />
⋅ [ dqi i= 1→n] ⎬≡<br />
J⎣ ⎡θ() t ⎦<br />
⎤⋅dθ<br />
. (4.71)<br />
⎩i= 1<br />
⎭<br />
Dar, luând în studiu (4.67) şi (4.68), acelaşi vector diferenţial de mişcare se scrie astfel:<br />
()<br />
( ) ( )<br />
0 0<br />
⎡d ⎡θt ⎤ ⎤ ⎡⎛ ki × pn −pi ⋅Δ i + ki ⋅ 1−Δ<br />
⎞ ⎤<br />
i<br />
0 ⎢<br />
⎣ ⎦<br />
⎥ ⎢⎜ ⎟ ⎥<br />
d X⎡θ() t ⎤ = ⎢ ⎥ = ⎢⎜ ; i 1 n dθ<br />
0<br />
⎟ = → ⎥⋅<br />
. (4.72)<br />
⎣ ⎦<br />
⎢δ ⎡<br />
⎣θ () t ⎤<br />
⎦⎥<br />
⎢⎜ k i ×Δi<br />
⎟ ⎥<br />
⎣ ⎦ ⎣⎝ ⎠ ⎦<br />
Ca urmare, matricea Jacobiană cu exprimare în raport cu sistemul de referinţă fix devine:<br />
0<br />
J ⎣<br />
⎡θ () t ⎦<br />
⎤<br />
⎡<br />
⎢ 0<br />
= ⎢ J i ⎣<br />
⎡θ i0 () t ⎦<br />
⎤<br />
⎢<br />
⎣<br />
0 ⎛ d i ⎡<br />
⎣θi0 t ⎤<br />
⎦<br />
⎞<br />
⎜ ⎟<br />
= ⎜ ;<br />
0 ⎟<br />
⎜ δ i ⎡<br />
⎣θ i0 () t ⎤<br />
⎦⎟<br />
⎝ ⎠<br />
⎤<br />
⎥<br />
i = 1 → n⎥<br />
.<br />
⎥<br />
⎦<br />
(4.73)<br />
Componentele coloanei () i a matricei de transfer a vitezelor se exprimă cu următoarele relaţii:<br />
()<br />
∂p<br />
d V k p p k 1 A p<br />
( ) ( ) ( )<br />
0<br />
i ≡ i ≡<br />
0<br />
i × n − i ⋅Δ i +<br />
0<br />
i ⋅ −Δi ≡ n<br />
∂q<br />
i<br />
≡ ni<br />
0<br />
i i<br />
0<br />
ki i<br />
0<br />
[ R<br />
i ] i<br />
ki<br />
i<br />
T<br />
; (4.74)<br />
δ ≡Ω ≡ ⋅Δ = ⋅ ⋅Δ . (4.75)<br />
Aceeaşi matrice Jacobiană se poate exprima faţă de sistemul de referinţă mobil prin luarea în considerare a<br />
componentelor scrise mai sus, conform cu (4.70) şi (4.71), adică:<br />
⎡ ⎛ ⎞ ⎤<br />
J ⎡ () t ⎤ = ⎢ J = ⎜ ⎟ ; i = 1 → n⎥;<br />
(4.76)<br />
⎢⎣ ⎝ ⎠ ⎥⎦<br />
n<br />
n n d i<br />
⎣θ⎦ i n<br />
δ i<br />
[ ] [ ]<br />
n 0 −1 0 0 −1<br />
di R d<br />
n i R V<br />
n<br />
i<br />
n 0 −1 0 0 −1<br />
= ⋅ = ⋅ ; δ = [ R] ⋅ δ = [ R]<br />
⋅Ω . (4.77)<br />
i n i n<br />
i<br />
În expresiile ce exprimă componentele matricei Jacobiene (4.77) se înlocuieşte [ ] [ ] [ ] 1 0<br />
0 1 i 1<br />
R = R ⋅ R şi<br />
rezultă relaţiile de definiţie pentru acestea, sub forma următoare:<br />
{ }<br />
−<br />
[ ] ( )<br />
n n i 1 i i i<br />
di Vi R k<br />
n<br />
i pni i ki 1 i<br />
≡ ≡ × ⋅Δ + ⋅ −Δ ; (4.78)<br />
[ ]<br />
n n i 1 i<br />
i i R k<br />
n i i<br />
δ<br />
−<br />
≡ Ω = ⋅ ⋅Δ . (4.79)<br />
Expresiile (4.78) şi (4.79) definesc matricea Jacobiană bazată pe matricele diferenţiale.<br />
n<br />
−<br />
n<br />
−<br />
i<br />
−
4.5 Matricea Jacobiană a erorilor<br />
143<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />
Modelarea cinematico-dinamică nominală se bazează, de asemenea, pe aplicarea matricei Jacobiene<br />
respectiv a derivatei în raport cu timpul şi a inversei acesteia. Matricea Jacobiană şi derivata ei în raport cu<br />
timpul, ambele exprimate în sistemul {0}, arată astfel:<br />
Determinarea matricei Jacobiene și a derivatei acesteia în raport cu sistemul { }<br />
0<br />
Nr.crt Simbol Expresie de definire Explicații<br />
0<br />
1 J ( θ )<br />
0<br />
2 J& ( θ )<br />
Q<br />
Q<br />
⎧ ⎡0 JiQ ; i 1 n⎤<br />
⎣<br />
= →<br />
⎦<br />
;<br />
⎪<br />
⎨ ⎛ 0 j = 1→6⎞ ⎪Matrix ⎜ J jiQ , ⎟<br />
⎪ ( 6xn ⎩ ) ⎝ i = 1→n⎠ ⎧<br />
⎪<br />
T<br />
⎡0 J& iQ;<br />
i 1 n⎤<br />
⎣<br />
= →<br />
⎦<br />
;<br />
⎨ ⎛ 0<br />
⎪Matrix J&<br />
⎜ jiQ;<br />
⎪ ( 6xn ⎩ ) ⎝<br />
j = 1→6⎞ ⎟;<br />
i = 1→n⎠ 0<br />
niQ ( )<br />
[ ]<br />
⎡ A p ⎤<br />
⎢ ⎥<br />
0 i<br />
⎢ { R k } ⎥<br />
⎣ ⎦<br />
0<br />
J iQ =<br />
i=→ 1 n Δi ⋅<br />
i Q i<br />
0 0<br />
( )<br />
JiQ = Matrix J jiQ ; j = 1→ 6 ;<br />
( 6x1)<br />
i=→ 1 n<br />
J<br />
j4 ⎧ AniQ ; j = 1→3 ⎪<br />
= ⎨ 0<br />
⎪{<br />
Δ i ⋅ [ R] ⋅ ki} ; j = 4→6 i Q<br />
⎩<br />
j<br />
jiQ i<br />
unde, Δ i = { { 1; i= R} ; { 0; i= T}<br />
}<br />
n ⎡ ⎤<br />
⎢ ∑ AnijQ ( p) ⋅ q&j<br />
⎥<br />
j= 1<br />
0<br />
J&<br />
⎢ ⎥<br />
iQ = ⎢ i<br />
i=→ 1 n ⎧ ⎫ ⎥<br />
i<br />
⎢<br />
⎪ ⎪<br />
Δi⎨∑AijQ ( R) ⋅q&j⎬⋅ k ⎥ i<br />
⎢ j= 1<br />
⎥<br />
⎣<br />
⎪⎩ ⎪⎭<br />
⎦<br />
( )<br />
J& iQ = Matrix J& jiQ ; j = 1→ 6<br />
( 6x1)<br />
0 0<br />
i=→ 1 n<br />
&<br />
m ⎧<br />
j4<br />
⎪ ∑ AnikQ ⋅ q&k; j = 1→ 3;<br />
⎪ k= 1<br />
= ⎨<br />
⎪<br />
⎧ ⎧ j3 ⎫⎫<br />
⎨Δ i ⎨∑AikQ ⋅ q&k⎬⎬ ; j = 4 → 6;<br />
⎪⎩ ⎩k= 1 ⎩<br />
⎭⎭<br />
j<br />
Δ i = 1; i= R ; 0; i= T<br />
0<br />
J jiQ i<br />
j=→ 1 6<br />
unde, { { } { } }<br />
(4.80)<br />
(4.81)
MODELAREA ERORILOR CINEMATICE .I.<br />
4.6 Determinarea matricei Jacobiene a erorilor și a derivatei acesteia în raport cu sistemul { }<br />
0<br />
Aplicând erorile de tipul ∈=∈∈ { ; } asupra matricei Jacobiene, aceasta se transformă într-o matrice de erori:<br />
Q D G<br />
Nr.crt Simbol Expresie de definire Explicații<br />
1<br />
( ) xy<br />
0<br />
Δ J θ<br />
Q<br />
y = p ; g<br />
{ }<br />
Q<br />
⎧ ⎡ 0 xy<br />
JiQ ; i 1 n⎤<br />
⎣<br />
Δ = →<br />
⎦<br />
;<br />
⎪<br />
⎨ ⎛ 0 xy j = 1→6⎞ ⎪Matrix ⎜ΔJjiQ ; ⎟;<br />
⎪ ( 6xn ⎩ ) ⎝ i = 1→n⎠ 144<br />
( )<br />
⎡ xy<br />
ΔAniQ<br />
p ⎤<br />
0 xy<br />
Δ J iQ =<br />
⎢ ⎥<br />
0<br />
x i ;<br />
⎢<br />
i=→ 1 n Δ⋅ ⎡ i ΔR ⎤ ⋅ k ⎥<br />
i<br />
⎢ i ⎣ ⎦yQ<br />
⎣ ⎥⎦<br />
0 xy 0 xy<br />
( )<br />
Δ JiQ = Matrix Δ J jiQ ; j = 1→ 6 ;<br />
( 6x1)<br />
i=→ 1 n<br />
⎧ xy<br />
Δ AniQj 4 ; j = 1→3; 0 xy ⎪<br />
Δ J jiQ =⎨0<br />
x i<br />
j=→ 1 6 ⎪{ Δ⋅ ⎡ i R ⎤ ki} ; j 4 6;<br />
i ⎣<br />
Δ<br />
⎦<br />
⋅ = →<br />
Q<br />
⎩<br />
j<br />
Nr.crt Simbol Expresie de definire Explicații<br />
2 ( ) x<br />
0<br />
J θ<br />
Q<br />
Δ &<br />
⎧ 0 xy ⎡Δ J& iQ ; i 1 n⎤<br />
⎣<br />
= →<br />
⎦<br />
;<br />
⎪<br />
⎨ ⎛ 0 xy j = 1→6⎞ ⎪Matrix Δ J&<br />
⎜ jiQ ⎟;<br />
⎪ ( 6xn ⎩ ) ⎝ i = 1→n⎠ ( )<br />
0 xy 0 xy<br />
Δ J& iQ = Matrix Δ J& jiQ ; j = 1→6 ( 6x1)<br />
i=→ 1 n<br />
n ⎧<br />
xy<br />
⎪ ∑ΔAnikQj<br />
4 ⋅ q&k; j = 1, 3<br />
0 xy ⎪ k= 1<br />
Δ J&<br />
jiQ =⎨ i<br />
j=→ 1 6 ⎪<br />
⎧ ⎧ xy ⎫⎫<br />
⎨Δi⎨∑ΔAikQj3 ⋅ q&k⎬⎬ , j = 3, 6<br />
⎪⎩ ⎩k= 1 ⎩<br />
⎭⎭j<br />
Pentru y=e , se obţin următoarele matrice de erori:<br />
Nr.crt Simbol Expresie de definire Explicații<br />
1. ( ) xek<br />
0<br />
Δ J θ<br />
Q<br />
k=→ 1 n<br />
⎧ ⎡ 0 xek<br />
JjiQ ; i 1 n⎤<br />
⎣<br />
Δ = →<br />
⎦<br />
;<br />
⎪<br />
⎨ ⎛ 0 xek j= 1→6⎞ ⎪Matrix ⎜ΔJjiQ ; ⎟;<br />
⎪ ( 6xn ⎩ ) ⎝ i= 1→n⎠ 0 xek 0 xek<br />
( )<br />
Δ JiQ = Matrix Δ J jiQ ; j = 1→ 6<br />
( 6x1)<br />
i=→ 1 n<br />
xek<br />
⎧ Δ AniQj 4 ; j = 1→3; ⎪<br />
0 xek ⎪<br />
Δ J jiQ =⎨<br />
⎡ ⎤<br />
k ⎣ ⎦eQ<br />
j=→ 1 6 ⎪<br />
⎪<br />
⎩<br />
= → Δ = ≤ ><br />
(4.82)<br />
(4.83)<br />
0<br />
{ Δ⋅Δ i k ⋅<br />
x<br />
ΔR k i<br />
⋅ [ R] k<br />
i Q i}<br />
j<br />
j 4 6; k { { 1; k i} ; { 0; k i}<br />
}
2 ( ) xek<br />
0<br />
J θ<br />
Δ &<br />
Q<br />
k=→ 1 n<br />
⎧ 0 xek ⎡Δ J& iQ ; i 1 n⎤<br />
⎣<br />
= →<br />
⎦<br />
;<br />
⎪<br />
⎨ ⎛ 0 xek j = 1→6⎞ ⎪Matrix Δ J&<br />
⎜ jiQ ; ⎟<br />
⎪⎩ ⎝ i = 1→n⎠ 145<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />
0 xek<br />
iQ<br />
0 xek<br />
jiQ<br />
i=→ 1 n<br />
( ; )<br />
Δ J& = Matrix Δ J& j = 1→6 n<br />
∑<br />
0 xek xek<br />
Δ J& = Δ A ; j = 1 → 3<br />
jiQ nilQ j 4<br />
j= 1→ 6 k = 1<br />
⎧⎪<br />
Δ =Δ ⋅Δ Δ ⋅ ⋅ ⋅ +<br />
0 xek<br />
J& jiQ<br />
j=→ 1 6<br />
i<br />
k<br />
k ⎨∑<br />
⎪⎩ l= 1<br />
xy k<br />
AklQ ( R) i[ R] Q<br />
i<br />
kiq&l i 0<br />
∑ ⎡<br />
k ⎣<br />
l= k+ 1<br />
x⎤ ⎦eQ<br />
k<br />
ilQ ( ) i<br />
i<br />
⎫⎪<br />
&l<br />
⎬ ;<br />
⎪⎭ j<br />
+ ΔR ⋅ A R ⋅ k ⋅ q j = 4→ 6<br />
k<br />
k l<br />
( ) = [ ] ⋅ ⋅ [ ]<br />
unde A R R U R<br />
ilQ l l i<br />
Matricea de erori corespunzătoare inversei matricei Jacobi se stabileşte pentru y = { p ; e; g}<br />
, astfel:<br />
xy<br />
−1<br />
0 0 −1 0 xy 0 −1<br />
{ J( θ ) } J( θ ) J( θ ) J(<br />
θ ) .<br />
Q Q Q Q<br />
Δ =− ⋅Δ ⋅ (4.84)<br />
Ţinând seama de algoritmul MEcROb, alături de matricele geometrice de erori o semnificaţie<br />
importantă au şi matricele cinematice de erori. Ele se utilizează, obligatoriu, în cadrul modelării preciziei<br />
cinematico-dinamice. Conform algoritmului MecROb, aceste transformări sunt următoarele:<br />
J<br />
[ A]<br />
[ T ]<br />
Q<br />
⎧<br />
⎪<br />
⎪<br />
= ⎨<br />
⎪<br />
⎪<br />
⎩<br />
{ [ T] ; [ T]<br />
} ;<br />
D G<br />
{ [ T] ; k = 1 → m}<br />
;<br />
Qk<br />
j−1 j−1 −1<br />
{ [ T] [ T] i = 1→ n j = 1→ i<br />
i Qk i Qk<br />
}<br />
; ; ; ;<br />
⎧<br />
⎪<br />
⎡⎣AQk , k = 1 → m⎤⎦<br />
= ⎨<br />
⎪⎡AQk AQk, i = 1 → n; j = 1 → i; l = 1 → j⎤<br />
⎩⎣<br />
⎦<br />
Q ij ijl<br />
{ JQk ; k 1 m}<br />
;<br />
( )<br />
J( θ ) ( )<br />
j( θ ) ( )<br />
J( θ ) ( )<br />
j(<br />
θ )<br />
⎧ = →<br />
⎪<br />
= ⎨<br />
⎪⎩<br />
; ; ; ;<br />
+ +<br />
{ Qk Qk Qk Qk}<br />
Q n 0 n 0 n 0 n 0<br />
Q<br />
(4.85)<br />
(4.86)<br />
(4.87)<br />
Transformările geometrice sunt reprezentate prin [ T ] iar [ A ] şi J<br />
Q<br />
Q Q aparţin transformărilor cinematice.
MODELAREA ERORILOR CINEMATICE .I.<br />
Aplicând erorile de tip ∈=∈ { ; ∈ } asupra acestor transformări, ele se transformă în matrice diferenţiale:<br />
[ A]<br />
[ ]<br />
Q D G<br />
{ [ T] k 1 m}<br />
⎧ Δ ; = → ;<br />
Qk<br />
⎪<br />
⎪ j−1 ( x )<br />
j−1 x<br />
j−1 Δ T = x<br />
Q ⎨⎧ ⎫<br />
⎪ ⎡δT ⎤ ; ⎡δT ⎤ ; ⎡ΔT ⎤ ⎪<br />
⎪⎨ i ⎣ ⎦ yQk i ⎣ ⎦ yQk i ⎣ ⎦ yQk ⎬;<br />
⎪⎪<br />
⎩i = 1→ n; j = 1→ i;<br />
⎪<br />
⎩<br />
⎭<br />
{ A k 1 m}<br />
⎧<br />
⎪<br />
Δ Qk ; = → ;<br />
Δ =<br />
Q ⎨ xy xy<br />
⎪⎩ { ΔAijQk ; Δ AijlQk ; i = 1 → n; j = 1 → i; l = 1 → j}<br />
;<br />
{ J k 1 m}<br />
⎧ Δ Qk ; = → ;<br />
⎪<br />
Δ J Q = ⎨⎧ ( ) xy 1<br />
( ) xy<br />
−<br />
n 0 n 0 ( n) 0 xy ⎫<br />
⎪⎨Δ J( θ ) ; Δ j( θ ) ; { Δ JQk}<br />
⎬ .<br />
Qk Qk<br />
⎩⎩<br />
⎭<br />
146<br />
(4.88)<br />
(4.89)<br />
(4.90)<br />
În cadrul acestui paragraf se va prezenta modelul matematic de calcul, ca şi algoritmul matricelor<br />
diferenţiale corespunzătoare erorilor cinematice.<br />
Nr.crt Expresie de definire<br />
1.<br />
i−1 0 { [ ] j<br />
n<br />
∑ R k 0 } { ( [ ] k<br />
j× qj⋅Δ j j ∑ R⋅ kk) × } qk⋅Δk<br />
0 T ( )<br />
( ) j= 0<br />
k<br />
0<br />
Δ J k i<br />
iv θ = e ⋅ Δ vi+ e =<br />
⋅ Δ pn+<br />
i−1 0 { [ R] j<br />
∑ kj× } q<br />
j<br />
j⋅Δj i−1 j= 0 ⎧ 0 { [ ] j 0 } { [ ] j ⎫<br />
+ e ⋅⎨∑⎡ j R kj qj j R kj } q ⎤<br />
⎣<br />
⋅ × ⋅Δ + Δ ⋅ × j ⎦<br />
⋅Δj⎬⋅ vi+<br />
⎩j= 0<br />
⎭<br />
n<br />
0 { ( [ R] k<br />
∑ ⋅ kk) × } q<br />
k k⋅Δk n n<br />
⎧ k i<br />
0 ( )<br />
{ [ ] k 0 } { [ ] k ⎫ 0<br />
+ e =<br />
⋅⎨∑ k R ⋅ kk× ⋅Δ qk + ∑ Δk R ⋅ kk× } ⋅qk ⎬⋅Δk⋅<br />
pn<br />
+<br />
⎩k= i k= i<br />
⎭<br />
⎛ i−1 0 { ( [ ] j k−1 ∑ R⋅ k ) }<br />
{ ( 0 [ ] m<br />
j × qj⋅Δ ) ⎞<br />
j<br />
j n ∑ m R⋅ km × } qm⋅δ<br />
⎜ m<br />
j= 0 0<br />
+Δ<br />
{ ( [ ] i )<br />
m i 1<br />
i e i R ki } e =−<br />
⎟<br />
⋅⎜ ⋅ ⋅ × ⋅∑ ⎟⋅Δ<br />
bk+<br />
⎝ k= i<br />
⎠<br />
i−1 ⎡ 0 { ( [ R] j<br />
∑ ⋅ kj) × } q<br />
j<br />
j⋅Δ ⎤<br />
j i−1 ⎢ j= 0<br />
⎛ 0 { { ( [ ] j 0 ) } { ( [ ] j<br />
⎞⎥<br />
i ⎢<br />
e ⎜∑j R kj qj j R kj) } qj} j⎟⎥ Jim bk<br />
⎣ ⎝ j= 0<br />
⎠⎦<br />
i−1 ⎛ 0 { ( [ R] ⋅<br />
j k−1 ∑ k 0 ) } q [ R] m<br />
j j × j⋅Δj ( m ⋅ k ) ⎞<br />
n ∑ { m × } qm⋅δ<br />
⎜ m<br />
j= 0<br />
0 { ( [ ] i<br />
+Δi⋅e ⋅ Δi R ⋅ ki) × } ⋅ em=−<br />
i 1<br />
⎟<br />
⎜ ∑<br />
⎟⋅<br />
bk<br />
+<br />
⎝ k= i<br />
⎠<br />
i−1 ⎧ 0 k 1<br />
{ ( [ R] j −<br />
k ) } q { ( 0 [ R] m<br />
⎪ ∑ ⋅<br />
j j × j⋅Δj n m km) ⎫<br />
∑ ⋅ × } qm⋅δm<br />
⎪<br />
j= 0 0 { ( [ ] i<br />
+Δ )<br />
m i 1<br />
i⋅⎨e ⋅ i R ⋅ ki × } ⋅ e =− ∑<br />
⋅Jm⋅δ⎬ m ⋅bk<br />
⎪ k= i<br />
⎪<br />
+Δ ⋅ ⋅ Δ ⋅ × ⋅ + ⋅ × ⋅Δ ⋅Δ ⋅ ⋅ +<br />
⎩ ⎭<br />
Nr.<br />
ecuație<br />
(4.91)
2.<br />
im<br />
0<br />
i<br />
i<br />
i<br />
n<br />
∑<br />
k= i<br />
k−1 { ( 0 [ ] m<br />
∑ m R ⋅ km) × } qm⋅δm<br />
m=− i 1<br />
;<br />
k−1 ⎡ 0 { ( [ ] m 0 ) } { ( [ ] m ⎤<br />
Jm = ⎢ ∑ Δm R ⋅ km × ⋅ qm+ m R ⋅ km) × } ⋅Δqm⎥<br />
⎣m=− i 1<br />
⎦<br />
0<br />
J ( ) iΩθ i−1 0 { [ ] j<br />
∑ R ⋅ kj× } qj⋅Δ<br />
j<br />
j<br />
j= 0<br />
e<br />
i−1 ⎡ 0<br />
⎢∑{ [ ] j R<br />
⎣j= 0<br />
j<br />
kj } qj 0 { [ ] j R<br />
j<br />
kj }<br />
⎤<br />
qj⎥<br />
⎦<br />
j<br />
i−1 0 { [ R] j<br />
∑ ⋅ kj× } q<br />
j<br />
j⋅Δj j= 0<br />
0[ ] i<br />
+ e ⋅Δ i R ⋅ ki⋅Δi.<br />
unde, J = { ( [ R] ⋅ k ) × } ⋅ e<br />
⎧⎪ ⎫⎪<br />
Δ = ⋅⎨ Δ ⋅ × ⋅ + ⋅ × ⋅Δ ⋅Δ ⎬+<br />
⎪⎩ ⎪⎭<br />
0<br />
Δ J& i Q<br />
0<br />
= ⎡Δ J& ⎣ jiQ ; j = 1→ 6⎤ ⎦,<br />
i = 1→ n<br />
0<br />
Δ J& =ΔME J& ⋅ME J ⋅ME J ⋅ M + ME J& ⋅ΔME J ⋅ME J ⋅ M +<br />
4.7 Erori cinematice de viteze și accelerații<br />
147<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />
Erorile de tip DH şi PG conduc la apariţia unor abateri de la valorile nominale pentru parametrii<br />
cinematici operaţionali (viteze şi acceleraţii operaţionale). Acestea caracterizează mişcarea efectorului final<br />
în spaţiul cartezian, şi mai precis, în sistemul fix { 0 } . Parametrii de acest au în componenţa lor erorile de<br />
viteze-acceleraţii operaţionale, simbolizate conform expresiilor prezentate mai jos, astfel:<br />
0 T<br />
vQK<br />
{ } { } { } { } { } { }<br />
{ & } { } { } { & } { } { }<br />
iQ i1 i2 i3 ivω i1 i2 i3 ivω<br />
+ ME J i1 ⋅ME J i2 ⋅ΔME J i3 ⋅ Mivω+ ME J i1 ⋅ME J i2 ⋅ME Ji3 ⋅Δ Mivω+<br />
*<br />
+Δ ⎡ ME{ J i1} ⋅ ME { J i2} + ME{ J i1} ⋅ΔME{ J i2} ⎤⋅⎡ME{<br />
J& i3} ⋅ Mivω+ ME { J i3} ⋅ M&<br />
⎤<br />
⎣ ⎦ ⎣ ivω⎦+<br />
*<br />
+ ME{ J i1} ⋅ME{ J i2} ⋅⎡ΔME{ J& *<br />
i3} ⋅ Mivω +ΔME{<br />
Ji3}<br />
⋅ M& ivω+ ME{ J& i3} ⋅Δ Mivω+ ME{ Ji3} ⋅ΔM&<br />
⎤<br />
⎣ ivω⎦<br />
unde, ME{ J i1}<br />
& … ME{ J i3}<br />
& , ME{ J i1}<br />
… ME { J i3}<br />
, iv M ω ,<br />
*<br />
M ivω<br />
și iv M Cap.3, § 3.2.4<br />
&<br />
ω sunt definite<br />
{ }<br />
0 0 0 0 T<br />
Δ XVQ = Δ XVD ; Δ XVG = ⎡<br />
⎣Δ XvQK, k = 1→ m⎤<br />
⎦<br />
unde Δ X este definit cu următoarea relaţie:<br />
T<br />
; (4.93)<br />
⎧⎡ 0 & T 0 &&T<br />
X QK X ⎤<br />
QK ;<br />
0 T ⎪⎣Δ Δ<br />
Δ X vQK =<br />
⎦<br />
⎨ . (4.94)<br />
( 1× 12)<br />
T T T T<br />
⎪⎡ΔvQk ΔωQk Δv& ⎣ Qk Δ & ω ⎤<br />
⎩<br />
Qk ⎦<br />
Modelarea directă a erorilor de viteze şi acceleraţii se exprimă cu ajutorul următoarei ecuaţii matriceale:<br />
⎡ ⎤<br />
& & &<br />
; (4.95)<br />
0 xy<br />
Δ v Qk<br />
0 xy 0 xy<br />
( ) 0<br />
Δ X Qk ( )<br />
QK = ⎢ ⎥ = J θ ⋅Δ θ 0 xy<br />
k + Δ J θ Qk ⋅θ<br />
k<br />
( k= 1→ m) ⎢Δω⎥ Qk<br />
⎣ ⎦<br />
(4.92)
MODELAREA ERORILOR CINEMATICE .I.<br />
⎡ & ⎤<br />
0 xy<br />
Δ v Qk<br />
0 && xy 0 ( ) 0 xy xy xy<br />
( ) 0 ( ) 0<br />
Δ X Qk Qk Qk ( )<br />
QK = ⎢ ⎥ = J θ ⋅Δ<br />
&&<br />
θ 0 xy<br />
k + Δ J θ ⋅<br />
&&<br />
θk + J&θ ⋅<br />
&<br />
θk +Δ J θ Qk ⋅<br />
&<br />
θk<br />
( k=→ 1 m) ⎢Δ& ω ⎥<br />
Qk<br />
⎣ ⎦<br />
148<br />
. (4.96)<br />
⎡ T<br />
0 xy<br />
T<br />
0 xy<br />
T ⎤<br />
⎡ 0 xy ⎡<br />
X { v Qk } { ω<br />
⎤<br />
Δ<br />
& ⎤ Qk}<br />
0 xy xy<br />
QK ⎢ ⎣<br />
Δ Δ<br />
⎦ ⎥<br />
Δ X vQK = E vaQk ⋅ ε θ yQk = ⎢ ⎥ = ⎢ ⎥<br />
0 xy T<br />
( k= 1→m) ⎢ΔX &&<br />
. (4.97)<br />
⎥ ⎢ 0 xy<br />
T<br />
0 xy<br />
T ⎥<br />
⎢ QK ⎥ ⎡{ Δ ωQk} { Δ ω<br />
⎤<br />
⎣ ⎦ ⎢<br />
&<br />
⎣ Qk}<br />
⎦ ⎥<br />
⎣ ⎦<br />
În expresia (4.97), eroarea ε θ yQk , poate fi exprimată astfel:<br />
T T<br />
εθ yQk<br />
T<br />
= ⎡<br />
⎣ε yQk<br />
T<br />
T<br />
ε ⎤<br />
T<br />
θ ⎦ , unde εθ= ⎡Δ &<br />
⎣ θ<br />
T<br />
Δ<br />
&&<br />
θ ⎦<br />
⎤ T T<br />
= ⎡[ Δ qi, i= 1→n] [ Δ qi, i= 1→n] ⎤<br />
⎣<br />
& &&<br />
⎦ . (4.98)<br />
În cadrul ecuaţiei (4.98), determinată anterior, indicele y are următoarele semnificaţii:<br />
⎧<br />
⎪<br />
yQ = { pQ; e; g}<br />
=⎨<br />
⎪⎩<br />
{ β; α; a; d; θ; & θ; && θ;<br />
e; g}<br />
{ a; b; c; α; β; γ; & θ; && θ;<br />
e; g}<br />
; (4.99)<br />
⎧ ⎡β α a d θ & θ &&<br />
⎪ ⎣ θ⎤⎦<br />
pQ = ⎣⎡p jQ; jQ = 1→ NQ⎦⎤<br />
= ⎨<br />
; (4.100)<br />
⎪⎣ ⎩⎡a<br />
b c α β γ & θ && θ⎤⎦<br />
Matricea de transfer a erorilor notată<br />
Q<br />
{ { ; } ; { ; } }<br />
N = 7 Q = D 8 Q = G . (4.101)<br />
xy<br />
vaQk<br />
E are dimensiunea ( 12 × N ⋅ n)<br />
iar componentele ei sunt<br />
definite pe baza transformărilor geometrico – cinematice, respectiv a matricelor de erori, astfel:<br />
j−1 { i [ T] ; AniQ ; AnijQ ; i = 1 → n; j = 1 → i}<br />
; (4.102)<br />
j−1 { [ x] xy xy<br />
i T yQ ; AniQ ; AnijQ ; i 1 n; j 1 i}<br />
Δ Δ Δ = → = → . (4.103)<br />
Modelul de optimizare constă în stabilirea maximului şi minimului global corespunzător erorilor de<br />
viteze şi acceleraţii operaţionale. Pentru aceasta, se ia în studiu influenţa erorilor geometrice ε θ yQk . Pentru<br />
a simplifica scrierea ecuaţiilor, se introduce notaţia următoare:<br />
{ ; ω ; ; ω }<br />
Y v v&&<br />
. (4.104)<br />
xy 0 xy 0 xy 0 xy 0 xy<br />
vQk = Δ Qk Δ Qk Δ Qk Δ Qk<br />
Ținând seama de ordinul x = { 1; 2; 3}<br />
şi semnificaţiile indicelui y Q , modulul erorilor de viteze-<br />
acceleraţii, se poate scrie în forma prezentată mai jos:<br />
( ) T<br />
xy xy xy<br />
vQk vQk vQk<br />
Y = Y ⋅ Y . (4.105)<br />
Q
149<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />
Pentru început, se ia în analiză Y = { p ; e}<br />
. Astfel, maximul şi minimul funcţiilor de erori se stabilesc astfel:<br />
q Q<br />
{ } { }<br />
xp xpj<br />
max; min YvQk = max; min ⎡<br />
⎣YvQk ; jQ = 1 → N ⎤ Q ⎦ ; (4.106)<br />
{ } { }<br />
xe xei<br />
max; min YvQk = max; min ⎡<br />
⎣YvQk ; jQ= 1 → n⎤<br />
⎦ . (4.107)<br />
0 0 0 0<br />
unde, Y = { Δ v ; Δ ω ; Δ v ; Δ ω }<br />
vQ Q Q Q Q<br />
& & . (4.108)<br />
Aşadar, studiind orice structură mecanică de robot, indiferent de forma şi complexitatea ei, ecuaţiile<br />
(4.108) arată influenţa { p ; e; g} a erorilor ε θQ<br />
asupra preciziei de viteze – acceleraţii evaluată, de<br />
Q<br />
asemenea prin erorile diferenţiale de ordin 1 – 3. Matricea valorilor extreme conţine toate rezultatele cu<br />
privire la modelul de optimizare, ceea ce înseamnă că se poate scrie:<br />
{ { max; min } ; { ; ; } }<br />
EvQ = ⎡<br />
⎣Valori x y k Y ⎤ vQ ⎦ . (4.109)<br />
În literatura de specialitate, se arată că modelarea inversă a erorilor de viteze şi acceleraţii operaţionale<br />
se caracterizează prin următoarea ecuaţie matriceală:<br />
Conform acestui model,<br />
0<br />
vQk<br />
ε<br />
( ) 1 −<br />
x xy 0<br />
θ yQk EvaQk X vQk<br />
= ⋅Δ . (4.110)<br />
Δ X este cunoscut. Componentele lui pot fi stabilite fie prin măsurători fie<br />
sub formă analitică cu ajutorul modelării cinematice directe:<br />
0 0 r 0 n<br />
X vQk X vQk X vQk<br />
Δ = − . (4.111)<br />
Unde indicii n şi r corespund structurii mecanice, nominale, respectiv reale a robotului. Inversa<br />
matricei de transfer a erorilor poate fi definită cu ajutorul expresiei de mai jos, astfel:<br />
(<br />
1<br />
) ( )<br />
xy<br />
unde { E<br />
+<br />
}<br />
vaQk<br />
+<br />
xy xy xy xy<br />
E = E + X ; E ⋅ X = I − E ⋅ { E } . (4.112)<br />
xy<br />
−<br />
xy<br />
+<br />
xy<br />
vaQk vaQk EvQk<br />
vaQk EvQk vaQk vaQk<br />
reprezintă pseudoinversa matricei de transfer a erorilor, stabilită cu ajutorul unui algoritm .<br />
x<br />
θ yQk<br />
matricea de erori corespunzătoare modelului invers, conţine erorile cinematice ε , respectiv:<br />
( )<br />
∗ x<br />
E vQ = ⎡Valori x; y; k ; ε ⎤<br />
⎣ θ yQk ⎦ . (4.113)<br />
În cadrul algoritmului MEcROb este implementată modelarea directă – inversă cu privire la precizia<br />
viteze – acceleraţii. Toate matricele cinematice de erori sunt de asemenea apelate în cadrul modelelor<br />
matematice corespunzătoare atât domeniului statistic al erorilor cinematice cât şi preciziei dinamice.<br />
4.8 Modelarea statistică a erorilor cinematice<br />
I1 . Din datele de intrare se apelează următoarele matrice: matricele datelor de intrare, matricea<br />
parametrilor cinematici de tip DH, erorile geometrice de tip DH, matricea parametrilor generali (PG),
MODELAREA ERORILOR CINEMATICE .I.<br />
matricea erorilor geometrice tip PG şi matricele de transfer a erorilor.<br />
I2 . În continuare, se fac câteva precizări referitoare la notaţiile utilizate în cadrul acestui algoritm şi anume:<br />
I3 . Se scrie DS = DDH<br />
{ ; }<br />
{ I; II; III }<br />
{ ; ; }<br />
{ ; ; }<br />
D = D D ; (4.114)<br />
S DH PG<br />
D = D D D ; (4.115)<br />
q = D G Gθ;<br />
(4.116)<br />
ε = ε ε ε ; (4.117)<br />
D G Gθ<br />
{ , δ , , ω , , ω}<br />
Y = d Δv Δ Δv&Δ & ; (4.118)<br />
q q q q q q<br />
q<br />
{ 0; 1}<br />
I ∗ . Domeniul statistic al erorilor cinematice în funcţie de erorile de tip DH<br />
I4 . Se scrie Vε q = 0<br />
V ε = . (4.119)<br />
I5 . Se consideră p= 1→<br />
m , unde p reprezintă numărul de configuraţii ale robotului.<br />
I6 . Dacă D = DI,<br />
este adevarată, în continuare, se aplică pasul I 7 . În caz contrar, se urmează pasul I 6 .<br />
I7 . Conform algoritmului matricelor datelor iniţiale, se consideră variabile în raport cu k = p= 1→<br />
m,<br />
pk<br />
următoarele matrice: { M ;<br />
pk<br />
Mθ ;<br />
pk<br />
Mθ<br />
} , unde pk<br />
M , reprezintă matricea geometriei nominale<br />
Gr<br />
n r<br />
corespunzătoare configuraţiei p a robotului respectiv măsurătorii k iar<br />
configuraţiilor nominale respectiv reale ale robotului.<br />
150<br />
Gr<br />
pk<br />
Mθ n şi<br />
pk<br />
Mθ r reprezintă matricele<br />
I8 . Pentru început se consideră că k = p , adică numărul de configuraţii ale robotului supuse analizei<br />
coincide cu numărul măsurătorilor efectuate.<br />
I9 . În situaţia în care DS = DDH<br />
se va trece la următorul pas, I10 , în caz contrar, DS = DPG<br />
şi se trece<br />
direct la pasul I13 .<br />
I10 . Din algoritmul de determinare a parametrilor cinematici de tip DH, se utilizează matricele<br />
pk<br />
T DHn şi<br />
pk<br />
M DHn care definesc matricea sistemelor de tip DH în configuraţia nominală, respectiv matricea<br />
generalizată a parametrilor de tip DH, tot în configuraţie nominală iar din algoritmul de determinare a erorilor<br />
parametrilor de tip DH se preia matricea<br />
pk<br />
E DH .<br />
I11 . Se scriu următoarele expresii de definiţie:<br />
pk pk<br />
ε = εD = ⎡⎣ εDi<br />
; i = 1 → n+ 1⎤⎦<br />
; (4.120)<br />
T
unde, [ ] T<br />
pk<br />
ε Di βi−1αi−1 ai−1 diθi<br />
De asemenea, se poate scrie următoarea relaţie de egalitate: q = D .<br />
I12 . Se trece la pasul I35 .<br />
151<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />
= Δ Δ Δ Δ Δ . (4.121)<br />
I13 . Din algoritmul de determinare a parametrilor generalizaţi (PG) respectiv din algoritmul de determinare<br />
pk<br />
a erorilor geometrice de tip PG, se utilizează următoarele matrice: { M ,<br />
pk<br />
T ,<br />
pk<br />
E } .<br />
I14 . Se scrie următoarea relaţie:<br />
pk pk pk<br />
GθG θ<br />
pk pk<br />
unde, εG = ⎡<br />
⎣εGi ; i = 1 → n+ 1⎤<br />
⎦<br />
pk<br />
T<br />
PGn n PG<br />
ε = ε = ⎡<br />
⎣ε ε ⎤<br />
⎦ ; (4.122)<br />
[ ] T<br />
T<br />
, (4.123)<br />
εGi = Δai−1Δbi−1Δci−1ΔαiΔβiΔ γ i ; (4.124)<br />
pk<br />
θ<br />
De asemenea, se poate scrie, q = { G; Gθ}<br />
I15 . Se trece la pasul I35 .<br />
[ q ; i 1 n]<br />
i<br />
T<br />
ε = Δ = → . (4.125)<br />
I16 . Dacă D = DII<br />
, se continuă cu pasul I17 . În caz contrar, se trece direct la pasul I26 .<br />
I17 . Conform matricelor datelor de intrare se consideră:<br />
I18 . Se consideră k = 1→ m<br />
pk ⎧variabila<br />
in raport cu p = 1→ m;<br />
MGr<br />
− ⎨<br />
⎩constanta<br />
in raport cu k = 1→ m.<br />
(4.126)<br />
pk<br />
M ,<br />
pk<br />
M − variabile in raport cu k; p = 1→ m . (4.127)<br />
θn θr ( )<br />
I19 . Dacă DS = DDH<br />
, atunci se continuă cu pasul I20 . În caz contrar, DS = DPG<br />
, trecându-se direct la I23<br />
I20 . Din rezultatele obţinute în urma aplicării algoritmilor de determinare a parametrilor cinematici de tip DH<br />
pk<br />
respectiv a erorilor geometrice de tip DH, se utilizează următoarele matrice: { M ;<br />
pk<br />
T ;<br />
pk<br />
E } .<br />
I21 . Se apelează la relaţiile definite la pasul I11 .<br />
I22 . Se trece la pasul I35 .<br />
DH DH DH<br />
I23 . Din algoritmul parametrilor generalizaţi (PG) respectiv din algoritmul de determinare a erorilor<br />
pk<br />
cinematice de tip PG, se utilizează următoarele rezultate: { M ;<br />
pk<br />
T ;<br />
pk<br />
E } .<br />
I24 . Se apelează la relaţiile definite la pasul I14 .<br />
I25 . Se trece la pasul I35 .<br />
PGn n PG
MODELAREA ERORILOR CINEMATICE .I.<br />
I26 . Dacă D = DIII<br />
, urmează pasul I27 , in caz contrar se trece la pasul I125 (STOP).<br />
I27 . În conformitate cu matricele datelor iniţiale, se consideră:<br />
⎧variabile<br />
pentru p = 1→ m;<br />
− ⎨<br />
⎩constante<br />
pentru k = 1 → m.<br />
(4.128)<br />
pk<br />
M − variabila pentru p; k = 1→ m . (4.129)<br />
pk pk { M ; M }<br />
θn θr<br />
Respectiv, ( )<br />
I28 . Se consideră k = 1→ m<br />
Gr<br />
I29 . Dacă DS = DDH<br />
, algoritmul continuă cu pasul I30 . În caz contrar, DS = DPG<br />
şi în acest caz se<br />
trece direct la pasul I33 .<br />
I30 . Din rezultatele obţinute în urma aplicării algoritmilor de determinare a parametrilor cinematici de tip DH<br />
pk pk pk<br />
respectiv a erorilor geometrice de tip DH, se utilizează următoarele matrice: { M ; T ; E } .<br />
I31 . Se apelează relaţiile enunţate la pasul I11 .<br />
I32 . Se trece la pasul I35 .<br />
152<br />
DH DH DH<br />
I33 . Din algoritmul parametrilor generalizaţi (PG) respectiv din algoritmul de determinare a erorilor<br />
pk<br />
cinematice de tip PG, se utilizează următoarele rezultate: { M ;<br />
pk<br />
T ;<br />
pk<br />
E } .<br />
I34 . Se apelează relaţiile enunţate la pasul I14 .<br />
PGn n PG<br />
I35 . Dacă Vε q 0 = , urmează pasul I36 . În caz contrar, Vε q = 1 şi se continua cu pasul I66 .<br />
I36 . Dacă D = DI,<br />
urmează pasul I40 , in caz contrar se trece la pasul I37 .<br />
I37 . Dacă D= DII<br />
, se trece la pasul I39 , altfel urmează pasul I38 , adică se analizează cazul D= DIII<br />
.<br />
I38 . Dacă este îndeplinită condiţia k = m , atunci algoritmul se continuă cu pasul I40 . În caz contrar,<br />
k = k+ 1 şi se revine la pasul I28 .<br />
I39 . Dacă k = m , atunci urmează pasul I40 . În caz contrar, k = k+ 1 şi se revine la pasul I18 .<br />
I40 . Dacă este îndeplinită condiţia p= m,<br />
se continuă cu pasul I41. Altfel, p= p+ 1 şi se revine la I5<br />
I ∗ Matricea covariantă a erorilor geometrice de tip q = { D; G; Gθ}<br />
I41. În cadrul acestei etape, se construieşte matricea factorului de toleranţă notată simbolic cu Mk având<br />
dimensiunea de ( 10 × 10)<br />
.<br />
I42. În continuare se construieşte matricea funcţiilor inverse a erorilor, notată MΦ , cu dimensiunea ( × ) .<br />
I43. Dacă DS = DDH<br />
urmează pasul I44. În caz contrar, DS = DPG<br />
şi se trece la pasul I47 .<br />
I44. Se scrie vectorul coloană al erorilor de tip DH, definit cu următoarea expresie:
pk<br />
D<br />
unde, ε ∈ I11 , ceea ce înseamnă că:<br />
I45. Se consideră i = 1→ 5( n+ 1)<br />
.<br />
I46. Se trece la pasul I49 .<br />
I47. Se scrie vectorul coloană al erorilor de tip PG:<br />
I48. Se consideră i = 1→ 6( n+ 1) + n .<br />
( )<br />
153<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />
pk<br />
εD = ⎡<br />
⎣εD ; p; k = 1→ m⎤<br />
⎦ . (4.130)<br />
pk pk<br />
ε ; ( )<br />
D = ⎡⎣ εDi<br />
i = 1→ 5 n+ 1 ⎤⎦<br />
[ ] T<br />
a d<br />
pk<br />
Di i−1 i−1 i−1 i i<br />
T<br />
; (4.131)<br />
ε = Δβ Δα Δ Δ Δ θ . (4.132)<br />
( )<br />
pk<br />
εGθ= ⎡<br />
⎣εGθ; p; k = 1 → m⎤<br />
⎦ ; (4.133)<br />
T T<br />
pk pk pk pk<br />
ε ( )<br />
Gθ = ⎡<br />
⎣εG ε ⎤ θ ⎦ = ⎡<br />
⎣εGθi i = 1→ 6 n+ 1 + n⎤<br />
⎦<br />
pk<br />
θ<br />
[ q ; i 1 n]<br />
i<br />
T<br />
; (4.134)<br />
ε = Δ = → . (4.135)<br />
I49. Se impun ca date iniţiale probabilitatea ( 1 − α i ) şi procentul γ i de eşantionare. Din matricea k M<br />
definită la pasul I41. se obţine factorul de toleranţă i k corespunzător fiecărei erori ε qi .<br />
I ∗∗ Abaterea medie pătratică empirică σ ie pentru fiecare eroare ε qi<br />
.<br />
I50 Dacă I<br />
D = D , pasul următor este I51 . În caz contrar, D = { D ; D } şi se trece la pasul I53 .<br />
II III<br />
I51 . Se calculează abaterea medie pătratica empirică σ ie cu următoarea expresie:<br />
I52. Se trece la pasul I54 .<br />
I53. Se calculează:<br />
⎡ m 1 ⎛<br />
ie = ⎢ ⋅<br />
m<br />
⎜<br />
⎢ pk = 1<br />
pk<br />
qi −<br />
1<br />
m<br />
m<br />
⋅<br />
pk = 1<br />
1<br />
2<br />
pk ⎞⎤<br />
qi ⎟⎥<br />
⎥<br />
σ ∑ ε ∑ ε . (4.136)<br />
⎣ ⎝ ⎠⎦<br />
⎡ 1<br />
ie = ⎢ 2<br />
m<br />
m m ⎛<br />
⋅ ⎜<br />
p= 1 k= 1<br />
pk 1<br />
qi − 2<br />
m<br />
m m<br />
⋅<br />
p= 1 k= 1<br />
1<br />
2<br />
pk ⎞⎤<br />
qi ⎟⎥<br />
σ ∑∑ ε ∑∑ ε . (4.137)<br />
⎣ ⎝ ⎠⎦<br />
I54. Se calculează intervalul de toleranţă pentru eroarea geometrică qi<br />
T = 2⋅k ⋅ σ (4.138)<br />
ε : i i ie<br />
I55. Se impun ca date iniţiale (vezi I49 . ) probabilităţile ( 1 − α ) . Din matricea M ∈ I42 se obţine pentru<br />
−1<br />
fiecare eroare εqi , funcția inversă a erorilor, Φ ( 1−α)<br />
i i .<br />
i<br />
Φ
MODELAREA ERORILOR CINEMATICE .I.<br />
I56. Se calculează abaterea medie pătratică teoretică σ i , respectiv dispersia geometrică σ 2<br />
i :<br />
I ∗∗∗ Conform repartiţiei normale, se calculează:<br />
( )<br />
{ ⎡ 2 ( 1 ) ⎤}<br />
σ ⎡ 2<br />
= ⋅σ ⋅ −α<br />
⎤<br />
i T i ⎣<br />
2 i 1 i ⎦<br />
; (4.139)<br />
2 2<br />
σi = T i ⎣ ⋅σi ⋅ −αi<br />
⎦ . (4.140)<br />
I57. Funcţia densităţii de probablilitate a erorilor geometrice ε qi , se determină cu expresia de mai jos:<br />
pk ( ε qi ) exp<br />
154<br />
⎡ pk<br />
2<br />
⎛ε⎞ ⎤<br />
qi<br />
f<br />
1<br />
= ⋅<br />
σ i ⋅ 2 ⋅π ⎢ 1<br />
− ⋅⎜ ⎟<br />
⎢⎣ 2 ⎝ σ i ⎠<br />
⎥ .<br />
⎥⎦<br />
(4.141)<br />
I58. Funcţia erorilor se determină astfel:<br />
pk 2 ε 2<br />
qi<br />
−u<br />
( u ) ( e i du )<br />
Φ %<br />
i i = ⋅∫0 π<br />
⋅ i . (4.142)<br />
I59. Se reprezintă grafif funcţiile calculate la paşii I57 . respectiv I58 .<br />
.<br />
D = D , urmează pasul I61. În caz contrar, DS = DPG<br />
şi se trece la pasul I62 .<br />
I60 Dacă S DH<br />
I61. Dacă i = 5( n+ 1)<br />
, urmează pasul I63 . În caz contrar, i = i+ 1 si se revine la pasul I45 .<br />
I62. Dacă i = 6⋅ ( n+ 1) + n,<br />
urmează pasul I63 . În caz contrar, i = i+ 1 si se revine la pasul I48 .<br />
I63. Se scrie matricea covariantă a erorilor geometrice notată cu Vε q care este o matrice diagonal de<br />
dimensiuni ( i i )<br />
unde<br />
× , definită prin intermediul următoarei expresii:<br />
max max<br />
I64. Se scrie veq = 1<br />
I65 . Se revine la pasul I5 .<br />
i<br />
max<br />
2<br />
eq = ⎣σ j ; = → max ⎦<br />
2<br />
v Diag⎡i 1 i ⎤ . (4.143)<br />
⎧ ⎪5<br />
( n + 1) − daca DS = DDH<br />
= ⎨<br />
⎪⎩ 6( n+ 1) + n− daca D = D<br />
S PG<br />
I66. Se rezolva integral algoritmul matricelor de transfer a erorilor, rezultând:<br />
{ δ ; ω ; ε }<br />
pk pk pk pk<br />
Yq d q v q a q<br />
. (4.144)<br />
ε = ε ε ε . (4.145)<br />
I67 . Se calculează erorile cinematice de tip Y q (a se vedea pasul I2 ), astfel:<br />
I68 . În continuare, se fac următoarele notaţii:<br />
pk pk pk<br />
q Yq q<br />
Y = E ⋅ ε . (4.146)
I69 . Se adoptă următoarele notaţii:<br />
pk { ; ( ; ) }<br />
q q<br />
155<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />
Y = Y p k = 1→ m . (4.147)<br />
⎡v v ⎤<br />
V v . (4.148)<br />
11 13<br />
Yq = ⎢ ⎥<br />
ij<br />
⎢ ⎥<br />
⎣v31 v33<br />
⎦<br />
unde, V Yq reprezintă matricea covariantă a erorilor cinematice de tip Y q , o matrice simetrică de dimensiune<br />
( 3× 3)<br />
.<br />
I70. se calculează:<br />
unde, EYq ∈ I66 iar ε q<br />
V ∈ I63.<br />
Yq Yq ε q<br />
T<br />
Yq<br />
V = E ⋅V ⋅ E . (4.149)<br />
2<br />
I71 . Dispersia σ Yq şi abaterea medie pătratică σ Yq pentru erorile de tip Y q , se calculează cu relaţiile:<br />
2 2 2 2<br />
Yq Yq 11 22 33 12 23 31 12 33 23 11 31 22<br />
σ = det v = v ⋅v ⋅ v + 2⋅v ⋅v ⋅v −v ⋅v −v ⋅v −v ⋅ v . (4.150)<br />
respectiv,<br />
I72. Se notează:<br />
Yq ⎡<br />
1<br />
2 ⎤ 2<br />
Yq<br />
σ = ⎣σ ⎦ . (4.151)<br />
⎡ p p ⎤<br />
P p . (4.152)<br />
11 13<br />
Yq = ⎢ ⎥<br />
ij<br />
⎢ ⎥<br />
⎣p31 p33⎦<br />
matricea ponderilor pentru erorile de tip Y q care este o matrice simetrică de dimensiune ( 3× 3)<br />
.<br />
I73 . Se calculează:<br />
1<br />
Yq Yq<br />
Rezultă: ( )<br />
P V −<br />
= . (4.153)<br />
2 2<br />
11 22 33 32 Yq<br />
p = v ⋅v − v σ ; (4.154)<br />
( ) 2<br />
( ) 2<br />
( ) 2<br />
p = p = v ⋅v −v ⋅ v σ ; (4.155)<br />
21 12 13 32 12 33 Yq<br />
p = p = v ⋅v −v ⋅ v σ ; (4.156)<br />
31 13 12 32 13 22 Yq<br />
p = p = v ⋅v −v ⋅ v σ ; (4.157)<br />
32 23 12 31 23 11 Yq<br />
( )<br />
( )<br />
2 2<br />
22 11 33 31 Yq<br />
p = v ⋅v − v σ ; (4.158)<br />
2 2<br />
33 11 22 21 Yq<br />
p = v ⋅v − v σ . (4.159)<br />
1<br />
I74. Ponderea erorilor de tip Y q se stabileşte cu următoarea relaţie: PYq det VYq −<br />
= . (4.160)
MODELAREA ERORILOR CINEMATICE .I.<br />
I ∗ Conform repartiţiei normale a erorilor cinematice de tip Y q se calculează:<br />
I75 . Funcţia densităţii de probabilitate<br />
−15 .<br />
( ) ( ) −12 ⎡ 1 T ⎤<br />
f Yq = 2⋅π ⋅σYq ⋅exp ⎢<br />
− ⋅Yq ⋅PYq ⋅Yq<br />
⎣ 2 ⎥<br />
. (4.161)<br />
⎦<br />
{ }<br />
pk<br />
unde, ; ( ; )<br />
I76 . Funcţia de repartiţie (probabilitatea)<br />
se notează,<br />
iar funcţia de repartiţie devine:<br />
Y = Y p k = 1→ m . (4.162)<br />
q q<br />
pk<br />
−15<br />
.<br />
Y<br />
( ) ( ) 12 q ⎡ 1 T ⎤<br />
F Yq = 2⋅π ⋅σYq ⋅∫ exp Yq PYq Yq dY<br />
−∞ ⎢<br />
− ⋅ ⋅ ⋅ ⋅ q<br />
⎣ 2 ⎥ . (4.163)<br />
⎦<br />
( ) ( )<br />
T 2 2<br />
q Yq q q q<br />
Y ⋅P ⋅ Y = u = χ . (4.164)<br />
F<br />
2<br />
χq =<br />
pk<br />
−15 .<br />
Y 2<br />
−12<br />
q −χq<br />
2⋅π ⋅σYq ⋅∫ e<br />
−∞<br />
2 ⎛12⎞ ⋅d⎜ ⋅χq<br />
⎟.<br />
⎝2⎠ (4.165)<br />
I77 . Se calculează constanta erorilor:<br />
2 T<br />
Yq YqPYq Yq<br />
pk<br />
unde, ; ( ; )<br />
χ = ⋅ ⋅ ; (4.166)<br />
{ }<br />
(<br />
pk<br />
) ; ( ; )<br />
Y = Y p k = 1→ m ; (4.167)<br />
q q<br />
{ }<br />
2 2<br />
χYq = χYq<br />
p k = 1→ m . (4.168)<br />
I ∗ Valorile proprii ale matricelor covariante V Yq se determină astfel:<br />
I78 . Se scrie ecuaţia:<br />
Det V − χ ⋅ I = 0 . (4.169)<br />
Yq Yq 3<br />
I79 . Rezultă o ecuaţie algebrică de gradul al treilea şi având forma prezentată mai jos:<br />
3 2<br />
Yq λYq Yq λYq Yq λYq<br />
Yq<br />
A ⋅ + B ⋅ −C ⋅ + D = 0 ; (4.170)<br />
unde, AYq =− 1 ; BYqv11 v22 v33<br />
2 2 2<br />
Yq 21 32 13 11 22 11 33 22 33<br />
= + + ; (4.171)<br />
C = v + v + v + v ⋅ v + v ⋅ v + v ⋅ v ; D = σ = det V . (4.172)<br />
156<br />
Yq<br />
2<br />
Yq Yq<br />
Deoarece matricele V Yq sunt matrice simetrice, conform teoremei Kronecker, soluţiile ecuaţiei sunt reale.<br />
Aceste soluţii reprezintă valorile proprii ale matricelor covariante V Yq .<br />
I80 . Se rezolvă ecuaţia I79 . Soluţiile obţinute reprezintă valorile proprii ale matricelor V Yq , astfel:
I ∗ Vectorii proprii ortonormali ai matricelor covariante V Yq<br />
I81. Se adoptă următoarele notaţii:<br />
157<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />
λYq = ⎡⎣ λ jYq ; j = 1→3⎤⎦ . (4.173)<br />
ujYq = ⎡⎣α jY β jY γ jY ⎤⎦<br />
; j = 1→3 . (4.174)<br />
Expresia (1.61) defineşte vectorii proprii ortonormali care descriu în raport cu { nq} sau { 0} un sistem<br />
de axe principale { uYq} faţă de care se vor defini erorile cinematice principale de tip V q .<br />
UYq = ⎡⎣ ujYq ; j = 1→ 3⎤⎦<br />
. (4.175)<br />
(1.62) reprezintă matricea ( 3× 3)<br />
ce defineşte orientarea sistemului { u Yq}<br />
în raport cu { 0 } .<br />
I82. Se scrie ecuaţia matriceală:<br />
{ χ }<br />
Yq jYq 3 jYq<br />
T<br />
v − ⋅I ⋅ u = 0 . unde, j = 1→ 3<br />
(4.176)<br />
I83. Ecuaţia I82. se rezolvă pentru fiecare j = 1→ 3 . Soluţiile obţinute sunt componentele vectorilor<br />
proprii ortonormali u jYq :<br />
( v ) ( v ) v<br />
v v v ( v )<br />
v v v ( v )<br />
jYq 22 jYq 33 jYq<br />
2<br />
32<br />
α = −λ ⋅ −λ − ; (4.177)<br />
β = ⋅ − ⋅ − λ ; (4.178)<br />
jYq 23 31 21 33 jYq<br />
γ = ⋅ − ⋅ − λ . (4.179)<br />
jYq 21 32 31 22 jYq<br />
unde, j = 1→ 3 , λ jYq ∈ I80 iar ( v ij ∈VYq) ∈ I70<br />
I84. Se scrie matricea orientării sistemelor principale ale erorilor:<br />
I85. Se notează:<br />
U<br />
⎡α1Yq α2Yqα3Yq⎤ =<br />
⎢<br />
β β β<br />
⎥<br />
⎢ ⎥<br />
. (4.180)<br />
Yq 1Yq 2Yq 3Yq<br />
⎢<br />
⎣γ1Yq γ2Yqγ3Yq⎥ ⎦<br />
zYq = ⎡⎣ z1Yq z2Yq z3Yq<br />
⎤⎦<br />
. (4.181)<br />
variabila vector a erorilor cinematice în raport cu sistemul principal { u Yq}<br />
Locul geometric al punctului definit de z Yq în raport cu sistemul { 0} sau { nq} reprezintă un elipsoid al<br />
T
MODELAREA ERORILOR CINEMATICE .I.<br />
erorilor (hipersferă), iar în raport cu { uYq} este un elipsoid principal al erorilor.<br />
I86. Modulul vectorului z Yq este dat de expresia:<br />
Orientarea vectorului z Yq în raport cu { 0} este definită prin ecuaţia:<br />
z<br />
Yq<br />
[ α β γ ]<br />
λYq<br />
= , unde λYq ∈ I77<br />
(4.182)<br />
Y<br />
q<br />
Y<br />
c c c U ⎣z z z ⎦ (4.183)<br />
T T<br />
q<br />
z z z = ⋅ Yq ⋅⎡1Yq 2Yq 3Yq ⎤<br />
χYq<br />
I87. Se scrie ecuaţia elipsoidului principal al erorilor în forma prezentată mai jos:<br />
2 2 2<br />
1Yq<br />
2<br />
2Yq<br />
2<br />
3Yq<br />
2<br />
2<br />
χYq<br />
1Yq 2Yq 3Yq<br />
z z z<br />
= = = . (4.184)<br />
λ λ λ<br />
Acest elipsoid se consideră o suprafaţă de probabilitate egală şi caracterizează, în spaţiul cartezian al<br />
stărilor, domeniul statistic al erorilor cinematice de tip Y q .<br />
I88. Se determină semiaxele elipsoidului principal al erorilor:<br />
⎧Y<br />
⎪<br />
⎨Y<br />
⎪<br />
⎩Y<br />
= λ ⋅λ;<br />
= λ ⋅ λ ;<br />
= λ ⋅ λ .<br />
1q 1Yq Yq<br />
2q 2Yq Yq<br />
3q 3Yq Yq<br />
I89. Se calculează volumul elipsoidului principal al erorilor:<br />
V<br />
eYq<br />
3<br />
Yq 1Yq 2Yq 3Yq<br />
158<br />
(4.185)<br />
4 ⋅π<br />
= ⋅λ⋅λ ⋅λ ⋅ λ . (4.186)<br />
3<br />
I .<br />
∗ Se determină probabilitatea ca vectorul erorilor cinematice de tip V q să fie situat în interiorul elipsoidului<br />
erorilor. Se introduce repartiţia χ . Noua variabilă aleatoare χ este de forma I77 , posedă N = 3g. d. l şi<br />
are dispersia σ = 1 .<br />
2<br />
I90. Se calculează funcţia densităţii de probabilitate pentru variabila<br />
N<br />
N −1<br />
2<br />
−1<br />
2<br />
χ<br />
2<br />
−<br />
2 ( ) 2 ⎛N⎞ ⎛χ⎞ −<br />
f χ = 2 ⋅Γ e 2<br />
⎜ ⎟ ⋅⎜ ⎟ ⋅ , unde N = 3<br />
⎝ 2 ⎠ ⎝ 2 ⎠<br />
2<br />
2<br />
χ , conform expresiei de mai jos:<br />
, ( ) pk<br />
2 2<br />
χ χYq<br />
= ∈ I77 (4.187).<br />
⎛N⎞ ⎛N⎞ ∞ −<br />
y<br />
Γ⎜ ⎟ reprezintă funcţia gama care prezintă următoarea proprietate: Γ y 2<br />
⎜ ⎟=<br />
⋅e ⋅dy<br />
⎝ 2 ⎠ ⎝ 2 ⎠ ∫ . (4.188)<br />
0<br />
N 1
Ținând seama de faptul că N = 3 , rezultă: Γ ( 1. 5) = 0. 88623 .<br />
I91. Probabilitatea (funcţia de repartiţie teoretică) se determină cu expresia:<br />
( α) ( χ χ ) ( χ )<br />
159<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />
N<br />
−N −1<br />
1 2<br />
2 2<br />
−<br />
2<br />
χ<br />
2<br />
2 2 2 N χ χ χ<br />
2 ⎛ ⎞<br />
−<br />
2<br />
Yq ∫ 0<br />
⎛ ⎞ ⎛ ⎞<br />
1− ≡ P ≤ ≡ F = 2 ⋅Γ⎜ ⎟ ⋅ ⎜ ⎟ ⋅e ⋅d⎜<br />
⎟.<br />
(4.189)<br />
⎝ 2 ⎠ ⎝ 2 ⎠ ⎝ 2 ⎠<br />
unde, ( ) pk<br />
2 2<br />
χYq χYq<br />
I77<br />
≡ ∈ .<br />
I92. Dacă D = DI,<br />
se trece la pasul I102 . În caz contrar, D = { D ; D } şi urmează I93 .<br />
.<br />
I93 Dacă II<br />
II III<br />
D = D , se trece la pasul I95 . În caz contrar, D = DIII<br />
şi urmează pasul I94 .<br />
I94. Dacă k = m , urmează I96 . În caz contrar, k = k+ 1 si urmează pasul I28 .<br />
I95. Dacă k = m , urmează I96 . În caz contrar, k = k+ 1 si urmează pasul I18 .<br />
I96. Se calculează max / min pentru erorile cinematice de tip<br />
elipsoidului erorilor simbolizat<br />
pk<br />
VeYq ∈ I89 :<br />
pk<br />
Yq∈ I67 precum şi pentru volumul<br />
⎧ p pk<br />
max Y<br />
( )<br />
q = max ⎡Y ;<br />
min ( min)<br />
q k = 1 → m⎤<br />
⎪<br />
⎣ ⎦ ; (4.190)<br />
⎨<br />
p pk<br />
⎪max V max ;<br />
( min) eYq = ⎡V ( min)<br />
eYq k = 1 → m⎤<br />
⎩<br />
⎣ ⎦<br />
I97. Corespunzător valorilor max / min∈ I96 , se memorează ecuaţia elipsoidului determinată la pasul<br />
I87, erorile principale evidenţiate la pasul I88 , precum şi valoarea probabilităţii ( ) p<br />
1−α∈ I91.<br />
I98 . Dacă p= m,<br />
urmează pasul I99 . În caz contrar, p= p+ 1 şi se revine la pasul I5 .<br />
I99. Se calculează valorile max / min pentru erorile cinematice de tip<br />
erorilor<br />
p<br />
veYq ∈ I96 , conform expresiilor:<br />
⎧ p<br />
maxY ( )<br />
q = max⎡ max Y<br />
min ( min) ( min)<br />
q ; p = 1 → m⎤<br />
⎪ ⎣ ⎦<br />
⎨<br />
p<br />
⎪max<br />
v max max ;<br />
( min) eYq = ⎡ v<br />
( min) ( min)<br />
eYq p = 1 → m⎤<br />
⎩<br />
⎣ ⎦<br />
q<br />
p<br />
Y q şi pentru volumul elipsoidului<br />
(4.191)<br />
I100 . Corespunzător valorilor max / min∈ I99 , se memorează ecuaţiile elipsoidului definite la pasul I87 ,<br />
erorile principale de la pasul I88 şi valoarea max / min a probabilităţii ( 1 − α ) q .<br />
I101 . Se trece la pasul I105 .<br />
I102. Dacă p = m,<br />
urmează I103 . În caz contrar, p= p+ 1 şi urmează pasul I5<br />
.
MODELAREA ERORILOR CINEMATICE .I.<br />
I103. Se calculează valorile max / min ale erorilor de tip<br />
sistemul:<br />
160<br />
p<br />
Y q şi al volumului<br />
⎧ p<br />
max Y<br />
( )<br />
q = max ⎡Y ;<br />
min ( min)<br />
q k = 1 → m⎤<br />
⎪<br />
⎣ ⎦<br />
⎨<br />
p<br />
⎪max V max ;<br />
( min) eYq = ⎡V ( min)<br />
eYq k = 1 → m⎤<br />
⎩<br />
⎣ ⎦<br />
p<br />
V eYq , după cum rezultă din<br />
(4.192)<br />
I104. Se memorează, corespunzător valorilor max / min∈ I103 ecuaţiile elipsoidului determinate anterior la<br />
pasul I87 , respectiv erorile principale definite cu I88 şi valoarea max / min a probabilităţii ( 1 − α ) q .<br />
I105. Domeniul cuprins între suprafeţele de probabilitate egală ( 1 − α ) q min şi ( 1 − α ) q max este dat de:<br />
( 1−α) ≤ D ≤ ( 1−<br />
α)<br />
(4.193)<br />
qmin eq<br />
qmax<br />
Relaţia (1.80) reprezintă domeniul statistic al erorilor cinematice de tip Y q .<br />
I106 . Dacă DS ≡ DDH<br />
, urmează pasul I107 . În caz contrar, urmează pasul I108 .<br />
I107 . Dacă se doreşte calculul domeniului statistic în funcţie de erorile de tip PG, atunci se scrie DS ≡ DPG<br />
si se revine la pasul I4 . În caz contrar, urmează I108 .<br />
I .<br />
∗ Estimarea mediei şi dispersiei erorilor cinematice de tip Y q .<br />
I108 . În acest scop se aplică metoda verosimilităţii maxime. Funcţia de verosimilitate maximă în formă<br />
matriceală, este dată de:<br />
m 3 2 1 1<br />
k<br />
T<br />
k k<br />
( q Yq) =− ⋅ ⋅ ( ⋅π ⋅ σYq)<br />
+ ⋅ Yq − ⋅∑ ( q − q) ⋅ Yq ⋅( q − q)<br />
ln L Y ; V m ln 2 ln P Y Y P Y Y<br />
2<br />
2 2 2 ⋅<br />
k 2 k<br />
q Yq Yq Yq<br />
unde, Y ∈I67; σ ∈I71; P ∈I73; P ∈ I74 .<br />
σ Yq k= 1<br />
I109. Se impune următoarea condiţie:<br />
∂lnL = 0; ∂Y ∂lnL = 0; ∂Y ∂lnL<br />
= 0<br />
∂Y<br />
qx qy qz<br />
. (4.194)<br />
. (4.195)<br />
I110. Din I108 - I109 rezultă media pentru componentele carteziene ale vectorilor erorilor cinematice:<br />
Y<br />
=<br />
m<br />
∑<br />
k k k k k k<br />
( Yqx ⋅ p11 + Yqy⋅ p12+ Yqz ⋅p13)<br />
k= 1<br />
qx m<br />
Y<br />
=<br />
m<br />
∑<br />
∑<br />
k= 1<br />
p<br />
k<br />
11<br />
k k k k k k<br />
( Yqx ⋅ p21+ Yqy ⋅ p22+ Yqz ⋅p23)<br />
k= 1<br />
qy m<br />
∑<br />
k= 1<br />
p<br />
k<br />
22<br />
; (4.196)<br />
; (4.197)
I111. Se notează cu<br />
Y<br />
=<br />
m<br />
∑<br />
k k k k k k<br />
( Yqx ⋅ p31 + Yqy ⋅ p32 + Yqz ⋅p33<br />
)<br />
k= 1<br />
qz m<br />
T<br />
∑<br />
k= 1<br />
p<br />
161<br />
k<br />
33<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />
Yq = ⎡<br />
⎣Yqx Yqy Yqz⎤<br />
⎦ , vectorul mediei erorii cinematice Y q .<br />
I112. Media erorii cinematice Y q , este dată de relaţia:<br />
I113. Se impune condiţia:<br />
( ) 1<br />
2 2 2 2<br />
q qx qy qz<br />
. (4.198)<br />
Y = Y + Y + Y . (4.199)<br />
∂ lnL<br />
= 0<br />
∂σ<br />
I114. Din I108 şi I113 rezultă dispersia de selecţie a erorilor cinematice Y q :<br />
σˆ<br />
2<br />
Yq<br />
( Y Y ) P ( Y Y )<br />
m T<br />
2 k k k<br />
Yq = ⋅ q − q ⋅ yq ⋅ q − q<br />
3 m 3 k= 1<br />
(4.200)<br />
1<br />
⋅ − ∑ . (4.201)<br />
I115. Pentru a evita influenţa erorilor sistematice în calculul dispersiei, se utilizează relaţia:<br />
σ<br />
( Y Y ) P ( Y Y )<br />
1<br />
− ∑ . (4.202)<br />
m T<br />
2 k k k<br />
Yq = ⋅ q − q ⋅ yq ⋅ q − q<br />
3m 3 k= 1<br />
I116 . se calculează eroarea medie pătratică cu expresia următoare:<br />
σ<br />
( ) ( ) 1<br />
k k k<br />
Y Y P Y Y<br />
⎧ 1<br />
⎫<br />
∑ . (4.203)<br />
⎩ ⎭<br />
m T 2<br />
Yq =± ⎨ ⋅ q − q ⋅ Yq ⋅ q − q ⎬<br />
3m − 3 k= 1<br />
I117 . Se calculează eroarea medie pătratică ponderată, a mediei erorilor Y q :<br />
σYq σ = ; Yqx ⎛ m<br />
k ⎞<br />
⎜∑p11 ⎟<br />
⎝ k= 1 ⎠<br />
σYq σ = ;<br />
Yqy⎛ m<br />
k ⎞<br />
⎜∑p22⎟ ⎝ k= 1 ⎠<br />
σYq<br />
σ =<br />
. Yqz<br />
⎛ m<br />
k ⎞<br />
⎜∑p33 ⎟<br />
⎝ k= 1 ⎠<br />
(4.204)<br />
I118 . Pentru m cunoscut, ( 1 −α) q ∈ I105 şi pentru o valoare γ impusă, din matricea Mk∈ I41 se<br />
determină factorul de toleranţă k Yq pentru fiecare max Y<br />
( )<br />
q .<br />
I119 . În continuare, se stabileşte intervalul de toleranţă pentru erorile cinematice de tip Y q , astfel:<br />
min<br />
T = Y −k ⋅ σ ; T = Y + k ⋅ σ . (4.205)<br />
1Yq q Yq Yq 2Yq q Yq Yq<br />
T<br />
I120 . Se scrie: 1Yq ≤ Yq≤T2Yq. (4.206)
5. MODELAREA ERORILOR DE DISTRIBUȚIE A MASELOR<br />
5.1 Matricele erorilor cinematice<br />
Structura mecanică conține alături de erorile geometrico – cinematice și erorile de tip DM (distribuția<br />
maselor). Acestea din urmă realizează conexiunea dintre parametrii nominali (fără erori) și cei reali de tip<br />
DM, după cum reiese și din Fig. 5.1. Ea conține elementele { ir} și { in} respectiv de tip DH { iDn } .<br />
Modelul matematic se bazează pe matricea<br />
Elementul ir z i+ 1<br />
Fig. 5.1 Reprezentarea r<br />
C<br />
erorilor de tip DH<br />
i<br />
r<br />
0<br />
Fig. 5.1 Reprezentarea erorilor de tip DH<br />
q<br />
M DMG a parametrilor de tip DM, respectiv pe algoritmul de<br />
modelare a distribuției maselor. Astfel, poziția centrului maselor pentru fiecare element iq { in; ir}<br />
la { }<br />
iDn se exprimă cu ecuația matriceală prezentată mai jos:<br />
unde<br />
162<br />
T<br />
= , relativ<br />
q<br />
rCi =<br />
iDn<br />
[ ] i<br />
iq T ⋅<br />
q<br />
rCi i q<br />
= ⎡<br />
⎣<br />
xCiD i q<br />
y CiD i q<br />
zCiD 1⎤<br />
⎦<br />
. (5.1)<br />
iq [ T ] reprezintă matricea de transformare omogenă între sistemele { iDn} → { iq}<br />
.Ținând cont de<br />
iDn<br />
expresia (5.1), eroarea geometrică a poziției centrului maselor relativ la { }<br />
iDn se determină cu ecuația:<br />
i<br />
Δ rCiD i r<br />
= rCiD i n<br />
− rCiD i<br />
= ⎡<br />
⎣<br />
Δ xCiD i<br />
Δ yCiD i<br />
Δ z ⎤ CiD<br />
⎦<br />
. (5.2)<br />
Eroarea de masă poate fi stabilită astfel:<br />
Δ M =<br />
r<br />
M<br />
n<br />
− M . (5.3)<br />
i i i<br />
i * q * q * q<br />
Se scrie tensorul inerțial: Ii Matrix( I jk Ikj , j 1 3, k 1 j)<br />
unde,<br />
r<br />
0i<br />
{ ir}<br />
n<br />
z i<br />
n<br />
0i<br />
z<br />
n<br />
iD<br />
n<br />
01D<br />
i r<br />
rC<br />
i<br />
{ in}<br />
{ 1Dn}<br />
1D r<br />
rC<br />
i<br />
i n<br />
rC<br />
i<br />
1D n<br />
rC<br />
i<br />
n<br />
y iD<br />
n<br />
x iD<br />
( )<br />
Δ<br />
= = = → = → . (5.4)<br />
* q<br />
T<br />
i * q i * q i * q i * q i * q i * q<br />
T<br />
jk , = → , = → = x − yx y − zx − zy z<br />
⎡I j 1 3 k 1 j⎤ ⎡ I I I I I I ⎤<br />
⎣ ⎦ ⎣ ⎦ . (5.5)<br />
( )<br />
1D r<br />
rC<br />
i<br />
i+ 1<br />
Elementul ( in)<br />
r<br />
z<br />
0<br />
n<br />
i+ 1<br />
n<br />
i+ 1
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
Aplicând legea de variație a tensorului inerțial în raport cu axe concurente, se obține tensorul inerțial<br />
al elementului ( iq ) relativ la un sistem cu originea în centrul maselor, având aceeași orientare cu { iDn } :<br />
( , , ) iq [ ] iq [ ]<br />
i * q * q * q iDn i * q iDn 1<br />
iD jkD kjD i<br />
I Matrix I I j 1 3 k 1 j R I R −<br />
= = = → = → = ⋅ ⋅ . (5.6)<br />
Tensorul inerțial<br />
i **<br />
iD<br />
I al elementului real { ir } , se va calcula în raport cu sistemul cu aceeași orientare<br />
cu { }<br />
iDn , având originea în centrul maselor elementului nominal ( )<br />
in , după cum urmează:<br />
unde, { }<br />
( ) { }{ }<br />
** ** **<br />
I = Matrix I = I ; j = 1→ 3, k = 1→ j = I + M ⋅ Δ r × Δ r × . (5.7)<br />
i i i i r r i i<br />
iD jkD kjD iD i CiD CiD<br />
i<br />
rC<br />
iD<br />
i<br />
rC<br />
iD<br />
Δ × este matricea antisimetrică asociată vectorului<br />
și (5.7), eroarea tensorului inerțial se stabilește cu ecuația matriceală:<br />
( ; , )<br />
T<br />
i * q<br />
I iD<br />
Δ . Ținând seama de expresiile (5.6)<br />
i *<br />
IiD Matrix<br />
*<br />
I jkD<br />
*<br />
IkjD j 1 3 k 1 j<br />
i *<br />
IiD i *<br />
IiD<br />
*<br />
jkD , ,<br />
T<br />
i *<br />
xD<br />
i *<br />
yxD<br />
i *<br />
yD<br />
i *<br />
zxD<br />
i *<br />
zyD<br />
i *<br />
zD<br />
T<br />
Δ = Δ =Δ = → = → = − . (5.8)<br />
unde, ⎡Δ I j = 1→ 3 k = 1→ j⎤ = ⎡ΔI −Δ I Δ I −Δ I −Δ I Δ I ⎤<br />
⎣ ⎦ ⎣ ⎦ .(5.9)<br />
Rezultatele obținute sunt incluse în matricea erorilor de tip DM relativ la sistemul de tip DH, de aceeași<br />
orientare cu { iDn } , având însă originea în centrul maselor elementului nominal. Dimensiunea ei este<br />
( n× 10)<br />
iar forma este prezentată în continuare:<br />
( )<br />
* ⎡ i<br />
T<br />
i *<br />
⎤<br />
EDM =<br />
⎡<br />
M i rCI ⎤<br />
⎢<br />
Δ Δ Δ D , i 1 n<br />
iD δ = →<br />
⎣⎢⎣ ⎥⎦<br />
⎥<br />
; (5.10)<br />
⎦<br />
i * i * i * i * i * i * i *<br />
Δ IδD= ⎡ IxD IyD IzDIxyD IyzD I ⎤<br />
⎣<br />
Δ Δ Δ Δ Δ Δ zxD ⎦<br />
. (5.11)<br />
Tensorul pseudoinerțial este aplicat în cadrul ecuațiilor dinamice Lagrange – Euler. Pentru modelarea<br />
preciziei dinamice, eroarea tensorului pseudoinerțial trebuie cunoscută în raport cu sistemul { iDn } . De<br />
aceea, tensorul inerțial<br />
i q<br />
I iD al elementului ( iq ) se calculează față de { iDn } , astfel:<br />
( , , ) { }{ }<br />
i q<br />
IiD Matrix<br />
q<br />
I jkD<br />
q<br />
IkjD j 1 3 k 1 j<br />
i q<br />
IiD q<br />
M i<br />
i q<br />
rCiD i q<br />
rCiD<br />
i q<br />
i q<br />
r C × reprezintă matricea antisimetrică asociată vectorului r<br />
iD<br />
C .<br />
iD<br />
unde, { }<br />
= = = → = → = + × × (5.12)<br />
Se scrie tensorul pseudoinerțial<br />
i q<br />
I p siD al elementului ( iq ) în raport cu sistemul { iDn } . Acesta<br />
reprezintă o matrice pătrată de dimensiuni ( 4× 4)<br />
, simetrică și pozitiv definită, având forma:<br />
unde,<br />
i q q q<br />
psiD kjD jkD<br />
( , , )<br />
I = Matrix I = I j = 1 → 4 k = 1 → j<br />
(5.13)<br />
⎧ T<br />
⎡ q<br />
IkjD , j 1 4, k 1 j⎤<br />
⎫<br />
⎪ ⎣ = → = → ⎦ =<br />
⎪<br />
⎨ ⎬.<br />
(5.14)<br />
i q i q i q i q i q i q q i q q i q q i q q<br />
⎪= ⎡ IxxIyx Iyy Izx Izy Izz ( M i ⋅ xCiD ) ( Mi⋅ yCiD ) ( Mi⋅ zCiD ) M ⎤<br />
i ⎪<br />
⎩ ⎣ ⎦⎭<br />
T
i<br />
Eroarea Δ I în raport cu sistemul { iDn } , este:<br />
iD<br />
( , , )<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
i i r i n<br />
IiDMatrix I jkD IkjD j 1 3 k 1 j IiD IiD<br />
Δ = Δ = Δ = → = → = − . (5.15)<br />
Ținând seama de ecuațiile (5.12) – (5.14), eroarea tensorului pseudoinerțial relativ la { }<br />
iDn se<br />
determină cu ajutorul ecuației matriceale:<br />
( , , )<br />
i i r i n<br />
IpsiD Matrix IkjD I jkD j 1 4 k 1 j IiD IiD<br />
Δ = Δ = Δ = → = → = − . (5.16)<br />
Rezultatele sunt incluse în matricea erorilor de tip DM, raportată la sistemul { iDn } . Matricea are<br />
dimensiunea ( n× 10)<br />
și forma prezentată mai jos:<br />
i<br />
T<br />
i ( ) δ ,<br />
⎡ ⎤<br />
EDM =<br />
⎡<br />
M i rCI ⎤<br />
⎢⎢Δ Δ Δ<br />
iD<br />
D ⎥ i = 1→ n<br />
⎣⎣ ⎦ ⎥<br />
; (5.17)<br />
⎦<br />
unde,<br />
i<br />
Δ IδD i<br />
= ⎡<br />
⎣Δ IxD i<br />
Δ IyD i<br />
Δ IzD i<br />
Δ IxyD i<br />
Δ IxzD i<br />
Δ I ⎤ yzD ⎦ . (5.18)<br />
Acest model matematic este inclus în cadrul algoritmului MecROb. Astfe, aplocând funcțiile de meniu:<br />
CONFIGURAȚII, PARAMETRII DM, respectiv ERORI, aparținând aceluiași MecROb, se obțin matricele<br />
generalizate ale parametrilor și erorilor de tip DM, notate<br />
unde,<br />
q<br />
M MDQ și EMDQ după cum urmează:<br />
⎧ T<br />
⎡ q<br />
M MDQ ; k = 1 → m ⎤<br />
⎪ ⎣ ⎦<br />
⎪ *<br />
M = M = ⎡⎡M ( r ) T I ⎤ i = 1 → n⎤<br />
⎣ ⎦<br />
q q q i q i q<br />
MDQ ⎨ MDQk ⎣ ik CiQk δ Qk ⎦<br />
,<br />
⎪ ( n× 10)<br />
⎪ i * q i * q i * q i * q i * q i * q<br />
IδQk = I xk I yk I xyk I yzk I zxk<br />
⎪<br />
⎡ ⎤<br />
⎩ ⎣ ⎦<br />
i * q i * q * q * q<br />
Qk iQk<br />
( jlk ljk , , )<br />
T<br />
; (5.19)<br />
Iδ⊂ I = M atrix I = I j = 1 → 3 l = 1 → j ; (5.20)<br />
⎧ T<br />
⎡E MDQ ; k = 1 → m⎤<br />
⎪ ⎣ ⎦<br />
⎪<br />
E = E = ⎡ ΔM ( Δ r ) T Δ I i = 1 → n⎤<br />
⎣ ⎦<br />
T<br />
i i<br />
MDQ ⎨ ⎡ MDQk ε ⎤ ⎡ ⎤<br />
MDQk ⎣ ik CiQk δ Qk ⎦ ,<br />
⎪ ⎢⎣ ( n× 10)<br />
⎥⎦<br />
⎪ i i i i i i i<br />
Δ IδQk= Δ I xk Δ I yk Δ I zk Δ I xyk Δ I yzk Δ I zxk<br />
⎪<br />
⎡ ⎤<br />
⎩ ⎣ ⎦<br />
i i<br />
δ Qk iQk jlk ljk<br />
( 3× 3)<br />
( , , )<br />
T<br />
. (5.21)<br />
Δ I ⊂ Δ I = Matrix Δ I = Δ I j = 1 → 3 l = 1 → j ; (5.22)<br />
i<br />
M DQ psiQ k<br />
( )<br />
jlk ljk<br />
4× 4<br />
( , , )<br />
E ⊂ Δ I = Matrix Δ I = Δ I j = 1 → 4 l = 1 → j (5.23)<br />
În concluzie, din punct de vedere al distribuției maselor (DM), studiul preciziei roboților poate fi realizat<br />
cu ajutorul matricelor generalizate. Pentru aceasta, componentele lor ale căror expresii sunt anterior<br />
definite, trebuie luate obligatoriu în considerare.
6. MODELAREA ERORILOR DINAMICE<br />
6.1 Modelarea erorilor dinamice<br />
Se consideră structura mecanică a unui robot cu n g.d.l., formată din (n+1) elemente rigide, legate între<br />
ele prin (n) cuple cinematice motoareR rotatie ; T prismatice<br />
. Erorile tip DH şi tip DM determină<br />
abateri de la valorile nominale pentru forţele generalizate motoare şi pentru parametrii operaţionali, ce<br />
exprimă mişcarea electorului final în spaţiul cartezian al stărilor.<br />
Fig. 6.1 Reprezentarea erorilor de tip DH și DM<br />
În Fig. 6.1, sunt reprezentate erorile cinematice qi ; qi ; qi<br />
notate cu<br />
şi erorile dinamice din fiecare cuplă,<br />
i<br />
QmD<br />
. În efectorul final sunt aplicate mărimile specifice erorilor dinamice: 0; 0<br />
0 0<br />
0 0<br />
v0; 0;<br />
v0; 0<br />
i<br />
QmD<br />
d ;<br />
ce exprimă erorile de situare, viteze şi acceleraţii, în mişcarea absolută.<br />
Erorile dinamice pentru forţele generalizate motoare, variabilele generalizate şi variabilele operaţionale<br />
sunt simbolizate conform notațiilor prezentate mai jos, astfel:<br />
i Q , q , q , q<br />
0 0 0<br />
, , X , X<br />
<br />
, X<br />
,<br />
(6.1)<br />
m i i i<br />
q<br />
i<br />
q i<br />
<br />
q i i i<br />
Modelul direct al erorilor dinamice se exprimă prin intermediul următoarei ecuaţii matriceale:<br />
i<br />
k<br />
i<br />
i<br />
<br />
i<br />
<br />
Elementul i<br />
Ci<br />
Mig i 1<br />
QmD <br />
<br />
i 1<br />
0<br />
0<br />
<br />
v D<br />
D<br />
0<br />
v<br />
0<br />
D <br />
<br />
T<br />
x ix<br />
<br />
<br />
Q , , ; ; <br />
xy<br />
myk i 1 n x 1 2 3<br />
<br />
Q <br />
myk E QD <br />
<br />
<br />
<br />
x T xy<br />
y<br />
<br />
<br />
X 0 x 0 x<br />
<br />
. (6.2)<br />
, ; ; E <br />
yk v yk yk x 1 2 3 aD <br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
dD<br />
D<br />
<br />
nn1 <br />
fn1 D<br />
n1
MODELAREA ERORILOR DINAMICE I.<br />
ix<br />
T<br />
⎡ x ⎡<br />
Q , , { ; ; }<br />
xy<br />
myk i 1 n x 1 2 3<br />
⎤<br />
ΔQ ⎤ ⎡ ⎤<br />
myk ⎣Δ = → = ⎦ ⎡E ( ) Q D θ ⎤<br />
⎢ ⎥<br />
⎢ ⎥<br />
= = ⎢ ⎥ ⋅ ε<br />
x T xy<br />
y<br />
⎢<br />
ɺɺ ⎢<br />
X 0 x 0 x<br />
⎥<br />
. (6.2)<br />
Δ , { ; ; } E ( )<br />
yk ⎥ ⎡Δ v yk Δ ω yk x = 1 2 3 ⎤ ⎢⎣ aD θ<br />
⎣ ⎦ ⎢<br />
ɺ ɺ<br />
⎥<br />
⎥<br />
⎣ ⎦<br />
⎦<br />
⎣ ⎦<br />
xy<br />
În expresia prezentată anterior, E ( θ ) reprezintă matricea de transfer a erorilor pentru forţe<br />
Q D<br />
generalizate motoare, având dimensiunea ( n× 17 ⋅ n)<br />
xy<br />
, E ( θ ) reprezintă matricea de transfer a erorilor<br />
pentru acceleraţii operaţionale, de dimensiune ( 6× 17 ⋅ n)<br />
iar ε y este vectorul coloană ( 17 ⋅ n× 1)<br />
al erorilor<br />
geometrice, acesta din urmă fiind exprimat în forma prezentată mai jos:<br />
Indicele y este caracterizat prin: y { p , e, g}<br />
168<br />
aD<br />
T T T<br />
y D θ DM<br />
T<br />
ε = ⎡⎣ ε ε ε ⎤⎦<br />
. (6.3)<br />
= , unde<br />
k<br />
i<br />
pk = ⎡β α a d θ<br />
ɺ<br />
θ<br />
ɺɺ<br />
θ M rCi I ⎤<br />
⎣ δ ⎦<br />
xy<br />
Elementele matricelor de erori E ( θ ) xy<br />
, E ( θ ) se definesc pe baza următorilor operatori matriceali:<br />
QD<br />
aD<br />
T<br />
. (6.4)<br />
xy xy xy xy<br />
M( θ ) ; B( θ ) ; C ( θ ) ; Q ( ) g θ ;<br />
xy<br />
i xy xy 1<br />
( ) 0<br />
; ( ) ; { 0<br />
Q ( ) }<br />
SU θ J θ J θ −<br />
⎧Δ Δ Δ Δ ⎫<br />
⎪ ⎪<br />
⎨ ⎬ . (6.5)<br />
⎪<br />
⎩ Δ Δ Δ<br />
⎪<br />
⎭<br />
Ca urmare a complexităţii ridicate a modului de stabilire a elementelor ce compun matricele de transfer<br />
a erorilor, se preferă o altă formă de exprimare a modelării directe a erorilor dinamice, obţinută pe baza<br />
ecuațiilor dinamice matriceale. În stabilirea matricelor de transfer a eroilor dinamice se porneşte de la<br />
expresia de definire a forţei generalizate motoare:<br />
unde,<br />
( ɺ ɺɺ )<br />
i i i i i<br />
Qm θ ; θ ; θ = ⎡Qm = QiF + Qg + QSU + Qfd ⋅ Δ f , i = 1 → n,<br />
⎤<br />
Qk ⎣ ⎦<br />
; (6.6)<br />
i ( n) 0 T ( n) 0<br />
Q = J ⋅ ö ; (6.7)<br />
g i X i<br />
( ) ( ) ( ) ( )<br />
Δ Q = Δ J ⋅ + J ⋅Δ<br />
ixy n 0 xyT n 0 n 0 T n 0 xy<br />
g i Xi i Xi<br />
ö ö ; (6.8)<br />
n ⎡ ( 0) n T ⎤<br />
⎡ ( n) 0 M j [ R] g<br />
( )<br />
F ⎤ ⎢ ∑ ⋅ ⋅<br />
n<br />
⎥<br />
n 0<br />
Xi j= i<br />
ö = ⎢ ⎥ ≡<br />
⎢ ⎥<br />
; X ( n) 0<br />
n<br />
i ⎢ N ⎥ ⎢ ( 0) n T ⎥<br />
X<br />
0<br />
i M<br />
( )<br />
⎢ ⎥ ⎢ j ⋅<br />
n [ R] ⋅ ⎡<br />
i 1 n<br />
( rC − p<br />
j n ) × g ⎤<br />
⎥<br />
= → ⎣ ⎦ ∑<br />
⎢ ⎥<br />
⎢ j= i<br />
⎣ ⎦<br />
⎣ ⎥⎦<br />
(6.9)<br />
⎡ ( n) 0<br />
( )<br />
Δ F ⎤<br />
n 0<br />
X i<br />
Δ ö = ⎢ ⎥ ; X ( n) 0<br />
i ⎢ Δ N ⎥<br />
X i<br />
( i = 1 → n)<br />
⎢⎣ ⎥⎦<br />
(6.10)<br />
0<br />
n<br />
xy<br />
Xi j= i<br />
j<br />
Δ F = ∑ ΔM ⋅ g ; (6.11)
( ) ( C )<br />
n n<br />
0 ⎧ xy 0 0 xy xy ⎫<br />
Δ NX = M ⎡<br />
i j rC p<br />
j n g⎤ M ⎡<br />
j r p<br />
j n g ⎤<br />
⎨ Δ ⋅<br />
⎢<br />
− ×<br />
⎥<br />
+ ⋅ Δ − Δ ×<br />
⎢ ⎥⎬<br />
⎩ j= i ⎣ ⎦ j= i ⎣ ⎦<br />
⎭<br />
∑ ∑ ; (6.12)<br />
i ( ) T ( ) ( ) ( θ ) ⎡ ⎤ ( θ )<br />
169<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
n 0 n 0 n 0 ( n) 0<br />
QSU = QSU = Ji ⋅ ö X i = 1 → n ≡ J ⋅ ö<br />
⎢ ⎥<br />
X ; (6.13)<br />
⎣ ⎦<br />
T<br />
xy<br />
i { ( n) 0 T } ( n) 0 ( n) 0 T ( n) 0 xy<br />
Δ Q = Δ J ⋅ ö + J ⋅Δ ö ; (6.14)<br />
SU i X i X<br />
i 0 T 0 ∗<br />
i = i ⋅ Xi Q ö J ö ; (6.15)<br />
xy<br />
* *<br />
( )<br />
i 0 T 0 0 T 0 xy<br />
i i Xi i Xi<br />
Δ Q ö = Δ J ⋅ ö + J ⋅Δ ö ; (6.16)<br />
n n<br />
⎡ 0 xy j * 0 [ ] [ ] j * xy<br />
⎤<br />
⎢ ∑ j ΔR ⋅ Fj + ∑ j R ⋅Δ Fj<br />
⎥<br />
⎢ j= 1 j= 1<br />
⎥<br />
⎢ n<br />
0 * ⎧ 0 xy xy 0 { ( ) [ ] j * 0 xy j * ⎫⎥<br />
Δ ö X = ⎢ C n j j j [ ]<br />
i ⎪ ∑ Δ r − Δ p × R ⋅ F + ΔR ⋅ N<br />
j<br />
j } + ⎪⎥<br />
(6.17)<br />
⎢⎪ j= 1<br />
⎪⎥<br />
⎢⎨ n ⎧ n<br />
⎬<br />
0 xy xy ⎡ 0 xy j * 0 ( ) [ ] [ ] j * xy ⎤ 0 j xy*<br />
⎫ ⎥<br />
⎢⎪ ⎪ ⎪<br />
∑⎨ rC − pn × j R Fj j R Fj j [ R] N ⎪<br />
j ⎢ Δ ⋅ + ∑ ⋅Δ ⎥ + ⋅Δ j ⎬ ⎥<br />
⎢⎪ ⎩ j= 1⎪⎩ ⎣ j= 1 ⎦<br />
⎪⎭<br />
⎪<br />
⎣ ⎭⎥<br />
⎦<br />
( ω ω ω<br />
j j )<br />
ɺ ɺ (6.18)<br />
j * j j j j j j<br />
Fj = Mj ⋅ v j + j × rC + j × j × rC<br />
( ) (<br />
⎧ j j j j j j j xy j xy j j j xy<br />
ΔMj ⋅ vɺ j + ɺ ω j × rC + ω<br />
j j × ω j × rC + M<br />
j j ⋅ Δ vɺ j + Δ ɺ ω j × rC + ɺ ω<br />
j j ×Δ r + ⎫<br />
j xy∗<br />
⎪ C j ⎪<br />
Δ Fj<br />
= ⎨ j xy j j j j xy j j j j xy<br />
⎬<br />
⎪ +Δ ɺ ω j × ω j × rC + ω<br />
j j ×Δ ω j × rC + ω<br />
j j × ω j × Δ r<br />
C j ) ⎪<br />
⎩ ⎭<br />
j xy∗ j * j j * j xy j xy j * j j xy j * j j xy j * j xy<br />
N j Ij ε j Ij ε j ω j Ij ω j ω j Ij ω j ω j Ij<br />
ω j<br />
Δ =Δ ⋅ + ⋅Δ +Δ × ⋅ + × Δ ⋅ + × ⋅Δ (6.19)<br />
⎧ j j<br />
j xy 0 T ⎧ 0 xy<br />
[ ] k 0<br />
[ ] [ ] k ⎫ ⎫<br />
j ⎪Δ ω j = j R ⋅ ⎨∑ ΔR ⋅ k<br />
k<br />
k ⋅ qɺ k + ∑ k R ⋅ kk ⋅Δ qɺ<br />
k ⎬ + ⎪<br />
0<br />
k [ ]<br />
⎪ = =<br />
⎪<br />
ω j = R kk qk<br />
;<br />
⎩ ⎭<br />
∑ ⋅ ⋅ ɺ ⎨ j<br />
⎬ (6.20)<br />
k= 1 ⎪ 0 xyT ⎧ 0 k ⎫<br />
+ j [ ΔR] ⋅⎨ k [ R] ⋅ kk ⋅q<br />
⎪<br />
k ⎬<br />
⎪ ∑ ɺ<br />
⎩ ⎩k= 1<br />
⎭<br />
⎪⎭<br />
0 k k 1 k 1<br />
0<br />
j<br />
j<br />
0<br />
∑ k k<br />
k<br />
k k<br />
j<br />
∑ k<br />
k<br />
k k<br />
k= 1 k= 1<br />
ɺ 0 0<br />
ω = ω × [ R] ⋅ k ⋅ qɺ + [ R] ⋅ k ⋅qɺɺ<br />
; (6.21)<br />
⎧ j j<br />
j xy 0 xyT ⎧ 0 0<br />
[ ] [ ] k 0<br />
[ ] k ⎫ ⎫<br />
⎪ Δ ɺ ω j = ΔR ⋅ j ⎨∑ ωk<br />
× k R ⋅ kk ⋅ qɺ k + ∑ k R ⋅ kk ⋅ qɺɺ<br />
k ⎬ + ⎪<br />
⎪ ⎩k= 1 k= 1<br />
⎭ ⎪<br />
⎪ ⎧ j j<br />
0 xy 0<br />
0 xy<br />
[ ] k 0 k ⎫⎪<br />
⎨ ⎪∑ Δ ωk × k R ⋅ kk ⋅ qɺ k + ∑ ωk<br />
× k [ ΔR] ⋅ kk ⋅ qɺ<br />
k + ⎪⎬<br />
; (6.22)<br />
⎪ 0 T<br />
[ ]<br />
⎪k= 1 k= 1<br />
⎪<br />
+ j R ⋅⎨ j j<br />
⎬<br />
⎪<br />
⎪ 0 0 0<br />
[ ] k [ ] k<br />
⎪<br />
⎪<br />
⎪ + ∑ ωk<br />
× k R ⋅ kk ⋅Δ qɺ k + ∑ k R ⋅ kk ⋅ Δqɺɺ<br />
⎪<br />
k<br />
⎪<br />
⎪<br />
⎩ ⎩ k= 1 k= 1<br />
⎪⎭<br />
⎭
MODELAREA ERORILOR DINAMICE I.<br />
0<br />
j<br />
v = ∑ A ⋅qɺ<br />
; (6.23)<br />
jQ jkQ k<br />
k= 1<br />
j j j<br />
j 0 T ⎧ xyQT<br />
[ ] xy ⎫ 0 ⎧ ⎫<br />
Δ v jQ = j R ⋅ ⎨∑ ΔAjkQ ⋅ qɺ k + ∑ AjkQ ⋅Δ qɺ k ⎬ + j [ ΔR] ⋅ ⎨∑ AjkQ ⋅qɺ<br />
k ⎬;<br />
(6.24)<br />
⎩k= 1 k= 1 ⎭ ⎩k= 1 ⎭<br />
0<br />
j j j<br />
vɺ = A ⋅ qɺɺ + A ⋅qɺ ⋅qɺ<br />
; (6.25)<br />
∑ ∑∑<br />
jQ jkQ k jklQ k l<br />
k= 1 k= 1 l= 1<br />
⎧ ⎧ j j j j<br />
xy xy ⎫ ⎫<br />
⎪ ⎪∑ ΔAjkQ ⋅ qɺɺ k + ∑ AjkQ ⋅ Δ qɺɺ k + ∑∑ ΔAjklQ ⋅qɺ k ⋅ qɺ<br />
l + ⎪ ⎪<br />
j 0 T<br />
⎪Δ [ ] k 1 k 1 k 1 l 1<br />
vɺ ⎪ = = = =<br />
⎪<br />
jQ = j R ⋅ ⎨ j j j j<br />
⎬ + ⎪<br />
⎪<br />
⎨<br />
⎪+ ∑∑ AjklQ ⋅ Δqɺ k ⋅ qɺ l + ∑∑ AjklQ ⋅qɺ k ⋅ Δqɺ<br />
⎪ ⎪<br />
l ⎬ . (6.26)<br />
⎪<br />
⎪⎩ k= 1 l= 1 k= 1 l= 1<br />
⎪⎭<br />
⎪<br />
⎪ j j j<br />
0 xyQT ⎧ ⎫ ⎪<br />
⎪ + j [ ΔR] ⋅ ⎨∑ AjkQ ⋅ qɺɺ k + ∑∑ AjklQ ⋅qɺ k ⋅qɺ<br />
l ⎬ ⎪<br />
⎩<br />
⎩k= 1 k= 1 l= 1 ⎭ ⎭<br />
În expresiile prezentate anterior,<br />
generalizată de inerţie iar<br />
i<br />
Q g şi<br />
i<br />
Q SU reprezintă forţele generalizate active,<br />
170<br />
i<br />
Qiö forţa<br />
i<br />
Q fd forţele generalizate datorate frecării vâscoase sau uscate care apar în<br />
cuplele motoare ale robotului. Expresia (6.6) mai poate fi scrisa în forma prezentata mai jos:<br />
( ) ( ) ( ) ( ) ( ) ( 2<br />
θ ;<br />
ɺ<br />
θ ;<br />
ɺɺ<br />
θ = θ ) Qk ⋅<br />
ɺɺ<br />
θ + θ<br />
ɺ<br />
Qk θ<br />
ɺ<br />
θ + θ<br />
ɺ<br />
Qk θ k + ( θ ) + ( θ )<br />
Q M B C Q Q<br />
m Qk k k<br />
g SU<br />
Pentru a obţine erorile forţei generalizate motoare, se diferențiază expresia (13.14), rezultând:<br />
xy<br />
( ) Qk ( ) Qk ( ) ( ) Qk ( )<br />
(6.27)<br />
⎧ xy<br />
xy ΔMQk ⋅<br />
ɺɺ<br />
θk + M θ ⋅Δ<br />
ɺɺ<br />
θk + ΔB θ ⋅<br />
ɺ<br />
θ<br />
ɺ<br />
θ + B θ ⋅ Δ<br />
ɺ<br />
θ<br />
ɺ<br />
θ ⎫<br />
⎪ +<br />
k k ⎪<br />
Δ QmQk<br />
= ⎨ xy ⎬ ;(6.28)<br />
( ) ( 2 ) ( ) ( 2 ) xy ( ) xy<br />
+ ΔC θ Qk ⋅<br />
ɺ<br />
θ k + C θ Qk ⋅ Δ<br />
ɺ<br />
⎪ θ k + Δ Q ( )<br />
⎩ g θ + ΔQSU<br />
θ ⎪⎭<br />
unde M ( Mij , i 1 n, j 1 n)<br />
Δ = Δ = → = → ; (6.29)<br />
⎧ ⎫<br />
⎪ Δ = Δ = Δ ⋅ ⋅ +<br />
Qk Qk<br />
⎪<br />
⎪ k = max ( i; j)<br />
⎪<br />
⎨ n n<br />
⎬ ; (6.30)<br />
⎪ k T k T<br />
+ ∑ Trace { Aki ⋅ Δ Ipsk ⋅ Akj} + ∑ Trace { ΔAki ⋅ Ipsk ⋅ ΔAkj<br />
} ⎪<br />
⎪<br />
⎩ k = max ( i; j) k = max ( i; j)<br />
⎪<br />
⎭<br />
n<br />
xy xy k T<br />
( Mij ) ( M ji ) ∑ Trace { Aki Ipsk Akj}<br />
⎡ i = 1 → n,<br />
⎤<br />
xy<br />
Δ B( θ ) Qk = ⎢2⋅ Δ Vijm, j = 1 → n −1,<br />
⎥ ; (6.31)<br />
⎢<br />
m = j + 1 → n<br />
⎥<br />
⎣ ⎦<br />
k T<br />
{ ki psk kjm}<br />
⎧ n<br />
⎫<br />
⎪ ∑ Trace ΔA ⋅ I ⋅ A +<br />
⎪<br />
xy xy ⎪ k= max ( i; j)<br />
⎪<br />
Δ ( Vijm ) = Δ ( Vimj<br />
) = ⎨ Qk Qk n n<br />
⎬<br />
⎪ k T k T<br />
∑ Trace { Aki ⋅ Δ Ipsk ⋅ Akjm} + ∑<br />
Trace { ΔAki ⋅ Ipsk ⋅ ΔAkjm}<br />
⎪<br />
⎪<br />
⎩k = max ( i; j) k= max ( i; j)<br />
⎪<br />
⎭
171<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
Ecuaţia matriceală ce caracterizează modelul dinamic invers al erorilor dinamice este exprimat astfel:<br />
{ M ( ) M ( ) }<br />
xy xy xy xy<br />
dQ k = DE Qzk ; XDF Qzk YdQk<br />
Y Δ τ Δ τ = Ε ⋅ ε ydQK ; (6.32)<br />
T T<br />
T<br />
Y dQ = { ΔQ mQ ; Δ X dQ }; Δ X dQ = ⎡Δ vɺ<br />
dQ Δ ɺ ω ⎤<br />
⎣ dQ ⎦<br />
; (6.33)<br />
xy<br />
În expresiile matriceale prezentate mai sus, { YdQk}<br />
T<br />
T T<br />
ε ydQ k = ⎡<br />
⎣ ε yQ k ε MDQ k ⎤<br />
⎦ . (6.34)<br />
Y dQ depinde de erorile forţelor generalizate motoare, Δ QmQ<br />
, iar XdQ<br />
−1<br />
( ) ( ) ( ) ( ) ( )<br />
Ε reprezintă matricea de transfer a erorilor dinamice,<br />
{ ⎡ ⎤ ⎡ ⎤ }<br />
ɺɺ ɺ ɺ ɺ ɺ ɺ<br />
;<br />
⎣ ⎦ ⎣ ⎦<br />
0 0 2<br />
Xp = J θ ⋅M θ ⋅ Qm θ −M⋅J ⋅ θ + B θ ⋅ θ ⋅θ C θ ⋅ θ<br />
Δ de variabilele operaţionale.<br />
θ { θ<br />
ɺ<br />
θ θ ⎡ ɺ<br />
θ<br />
ɺ<br />
θ ⎤ θ ⎡ ɺ<br />
θ ⎤<br />
⎣ ⎦ ⎣ ⎦ }<br />
ɺ<br />
{ ⎡ ⎤ ⎡ ⎤ }<br />
0 xy −1 −1<br />
2<br />
Δ J ⋅M( ) ⋅ Qm( ) + M⋅J ⋅Jɺ ⋅ −B( ) ⋅ ⋅ −C( ) ⋅ +<br />
0 ɺɺ 0 −1 −1<br />
2 i i<br />
Δ Xp = + J( θ ) ⋅ΔM ⋅ Qm( θ ) + M⋅J ⋅J⋅ ɺ<br />
θ −B( θ ) ⋅<br />
ɺ<br />
θ ⋅<br />
ɺ<br />
θ −C( θ ) ⋅<br />
ɺ<br />
θ −Qg − QSU<br />
+<br />
⎣ ⎦ ⎣ ⎦<br />
xy<br />
1<br />
( xy<br />
−<br />
)<br />
xy −1<br />
xy<br />
Δ Qm +ΔM⋅ Jɺ ⋅<br />
ɺ<br />
θ + M⋅Δ J ⋅Jɺ ⋅<br />
ɺ<br />
θ + M⋅ΔJɺ ⋅<br />
ɺ<br />
θ −M⋅J ⋅Jɺ ⋅Δ<br />
ɺ<br />
θ −ΔB ⋅⎡ ɺ<br />
θ ⋅<br />
ɺ<br />
θ ⎤ −<br />
0<br />
−1<br />
⎣ ⎦<br />
+ J( θ ) ⋅M( θ ) ⋅<br />
−B( θ ) ⋅<br />
( ) ( ) ( ) xy<br />
⎧ ⎫<br />
⎪ ⎪<br />
⎪ ⎪<br />
⎪ ⎪<br />
⎪ ⎪<br />
⎪ ⎪<br />
⎨ ⎬<br />
⎪<br />
⎧ ⎫<br />
⎪<br />
⎪<br />
⎪ ⎪<br />
⎪ ⎪⎪<br />
⎪ ⎨ ⎬⎪<br />
⎪ ⎪ ⎡ xy xy xy 2 ⎡ 2 ⎤ i i<br />
Δ<br />
ɺ<br />
θ ⋅<br />
ɺ<br />
θ ⎤−B θ ⋅⎡ ɺ<br />
θ ⋅Δ<br />
ɺ<br />
θ ⎤−ΔC ⋅⎡ ɺ<br />
θ ⎤ −C θ ⋅ Δ<br />
ɺ<br />
θ −ΔQg −ΔQ<br />
⎪⎪<br />
⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎢ ⎥<br />
SU<br />
⎪<br />
⎩<br />
⎪<br />
⎩ ⎣ ⎦<br />
⎪<br />
⎭⎪<br />
⎭<br />
0<br />
În expresia obţinută anterior pentru Δ X<br />
ɺɺ , forţele generalizate Δ Q şi Δ Q , se înlocuiesc cu valorile<br />
determinate anterior cu (6.8), respectiv (6.14).<br />
p<br />
Utilizând funcţiile polinomiale de interpolare, se determină legile de variaţie în raport cu timpul pentru<br />
variabilele operaţionale, exprimate în spaţiul cartezian al stărilor. Diferenţiala acestor funcţii este:<br />
0<br />
X<br />
p<br />
( τ )<br />
ɺɺ τ −τ τ −τ<br />
Δ Δ ɺ Δ ɺ ɺɺ ɺɺ<br />
= ⋅Δ + ⋅Δ ;<br />
( ) ( ) ( ) T p p-1<br />
⎡ ⎤<br />
0 0 xyT 0 xyT 0 xy 0 xy<br />
X p τ = v ndp τ ωndp τ X p 1<br />
X<br />
⎣ ⎦<br />
−<br />
p<br />
tp tp<br />
( ) ( ) 2<br />
2<br />
τ τ<br />
τ −τ<br />
p−1 i<br />
g<br />
( ) T<br />
ɺ<br />
Δ Δ Δ<br />
( τ ) ( τ ) ω ( τ )<br />
0 0 xy 0 xy<br />
X p = vndp<br />
ndp<br />
0 ɺ p− xy 0 ɺɺ xy 0ɺɺ ⎛ xy 0 xy 1 tp 0 ɺ ⎞ ⎛ xy 0 xy 1 tp<br />
0 ɺɺ ⎞ xy<br />
Δ X p = ⋅Δ X p−1 + ⋅Δ X p + ⎜Δ X p ⋅ − ⋅Δ X p ⎟−⎜ Δ X p−1 ⋅ − ⋅Δ Xp−1<br />
⎟;<br />
2⋅tp 2⋅t ⎜<br />
p<br />
tp 6 ⎟ ⎜ tp<br />
6 ⎟<br />
⎝ ⎠ ⎝ ⎠<br />
( ) ( )<br />
⎧ 3 3<br />
τ p- τ τ −<br />
⎫<br />
⎪ 0 ɺɺ xy τ p-1 0 ɺɺ xy<br />
= ⋅Δ X<br />
( ) ( )<br />
p-1 + ⋅Δ X p +<br />
⎪<br />
⎛ Δp τ ⎞ ⎛d τ ⎞ ⎪ 6 tp 6 tp<br />
⎪<br />
= ⎜<br />
( )<br />
⎟ = ⎜<br />
( )<br />
⎟ = ⎨ ⎬;<br />
⎜ ψ τ ⎟ ⎜δ τ ⎟<br />
⎝<br />
Δ<br />
⎠ ⎝ ⎠ ⎪ ⎛ 1 xy tp 0 ɺɺ ⎞ ⎛ xy 1 0 xy tp<br />
0 ɺɺ ⎞ xy ⎪<br />
⎪+ ⋅ΔX p − ⋅Δ X p ⋅( τ − τ p−1 ) + ⋅Δ X p-1 − ⋅Δ X p-1 ⋅(<br />
τ p-<br />
τ<br />
⎜ ⎟ ⎜ ⎟ ) ⎪<br />
tp 6 ⎟ ⎜ tp<br />
6 ⎟<br />
⎪⎩ ⎝ ⎠ ⎝ ⎠ ⎪⎭<br />
;<br />
i<br />
SU
MODELAREA ERORILOR DINAMICE I.<br />
unde ( ⊂ ; t = τ −τ<br />
)<br />
M −<br />
τ p τ p p p 1 , iar p<br />
0 X a fost determinat anterior cu algoritmul MGD.<br />
Prin aplicarea matricelor exponenţiale în dinamica roboţilor, matricea generalizată a erorilor dinamice se<br />
determină utilizând expresia prezentată în continuare:<br />
unde<br />
xy xy xy xy xy<br />
ΔM‹ Q = { ΔM‹ L; ΔM‹ D ; ΔM‹ G;<br />
ΔM‹<br />
ME}<br />
xy { ΔM‹ Qyk ; z = { Δm ; Δθ<br />
} ; k =1 → m }<br />
⎧<br />
xy ⎪<br />
ΔM‹ = ⎨<br />
⎪⎩ ⎫<br />
⎪<br />
⎬ ;<br />
⎪⎭<br />
(6.35)<br />
⎧ xy xy<br />
xy ⎫<br />
Δ M ( θ ) ; ΔV xy<br />
( θ ;<br />
ɺ<br />
⎪ θ ) ; Δ B(<br />
θ ) ⎪<br />
ΔM‹ Qzk = ⎨ ⎬<br />
xy xy xy xy<br />
⎪Δ C ( θ ) ; ΔQ ( θ ) ; ΔQ ; ΔQ<br />
⎪<br />
⎩ ⎭<br />
; (6.36)<br />
g SU fd<br />
Qzk<br />
xy<br />
Δ M‹<br />
Qzk reprezintă matricele diferenţiale ale erorilor dinamice în raport cu ε yQk şi ε MDQ<br />
⎧ n i−1 ⎪ ⎪⎪ ⎧⎧ ⎪⎧ ⎪⎪ ⎫⎫<br />
AT ⎪⎪ ⎫⎫<br />
Δ Mij = Δ Mji = Δ ⎨ Tr ⎨⎨exp⎨ Aj ⋅q j ⎬⎬⋅ Mij<br />
⎬⎬<br />
⎪k= max ( i; j) ⎪ ⎪ j= 0<br />
⎩ ⎪⎩ ⎩ ⎩ ⎪⎭<br />
⎪⎭<br />
⎪⎭<br />
⎪⎭<br />
∑ ∑ ; (6.37)<br />
( )<br />
exp k<br />
AT ⎧ ⎧ ⎫⎫<br />
0 k T<br />
Mij = Ai ⋅ ⎨ ⎨∑ Al ⋅ql ⎬⎬ ⋅Tk0 ⋅ Ipsk ⋅ Akj<br />
; (6.38)<br />
⎩ ⎩ l= i ⎭⎭<br />
⎧ j−1 k<br />
T ⎪⎧ ⎧ ⎫⎫<br />
⎪⎧ ⎪⎧ ⎪⎪ ⎫⎫<br />
( 0)<br />
⎪⎫<br />
Akj = ⎨⎨exp ⎨ Ai ⋅qi ⎬⎬ ⋅ Aj ⋅ ⎨exp ⎨ Al ⋅ql ⎬⎬ ⋅Tk0<br />
⎬<br />
⎪⎩ ⎩ ⎩i = 0 ⎭⎭ ⎩⎪ ⎪⎩ l= j ⎪⎭<br />
⎭⎪<br />
⎪⎭<br />
∑ ∑ ; (6.39)<br />
⎧ n i−1 ⎪ ⎡⎪⎧ ⎪⎧ ⎪⎪ ⎫⎫<br />
⎤<br />
AT ⎪<br />
⎫<br />
Δ Vijm = Δ ⎨ Tr ⎢⎨exp ⎨ Aj ⋅q j ⎬⎬ ⋅ Ai ⋅Vijm<br />
⎥ ⎬<br />
⎪k = max ( i; j; m) ⎢ ⎪ j= 0<br />
⎩ ⎣⎪⎩ ⎩ ⎪⎭<br />
⎪⎭<br />
⎥⎦<br />
⎪⎭<br />
∑ ∑ ; (6.40)<br />
k<br />
AT ⎧ ⎧ ⎫⎫<br />
( 0 ) k T<br />
Vijm = ⎨exp ⎨∑ Al ⋅ ql ⎬⎬ ⋅Tk 0 ⋅ Ipsk ⋅ Akjm<br />
. (6.41)<br />
⎩ ⎩ l = i ⎭⎭<br />
Erorile dinamice (6.34) sunt incluse în următoarele matrice ale dinamicii:<br />
⎡ i = 1 → n ⎤<br />
Δ M( θ ) =<br />
⎢<br />
Δ Mij = ΔMji<br />
⎣ j = 1 → n⎥<br />
; (6.42)<br />
⎦<br />
⎧<br />
⎪⎡ T ⎡⎧Vijm ⎫<br />
Δ V ( θ ;<br />
ɺ<br />
θ ) = Δ<br />
ɺ<br />
⎨⎢θ ⋅ ⎢⎨ V<br />
⎬<br />
⎪ imj<br />
⎩<br />
⎢⎣ ⎣⎩ ⎭<br />
T ⎫<br />
j = 1 → n ⎤<br />
⎤ ⎪<br />
⋅<br />
ɺ<br />
θ ; i = 1 → n<br />
m = 1 → n<br />
⎥<br />
⎥ ⎬ .<br />
⎦<br />
⎥⎦<br />
⎪⎭<br />
(6.43)<br />
În expresiile prezentate anterior, (6.42) conţine erorile dinamice ale matricei de inerţie iar (6.43) este un<br />
vector coloană care conţine matricea termenilor Coriolis şi a termenilor centrifugali. Din analiza ecuaţiilor<br />
(6.41) – (6.43), se poate observa că componentele acestora sunt scrise în formă exponenţială.<br />
astfel, eroarea dinamică a forțelor generalizate motoare poate fi definită cu ajutorul expresiilor de mai jos:<br />
T T<br />
⎧ i i<br />
i ⎪ ⎪⎧ ⎪⎫ ⎪⎫ ⎪⎧ ⎪⎧ ⎪⎫ ⎪⎫<br />
Δ Q = Δ⎨ ⎨∏Matrix { ME { V } } ⎬⋅ M ω ⎬ ⋅ + ⎨ ⎨∏Matrix { ME { V } } ⎬⋅ M ω ⎬ ⋅ Δ<br />
( i= 1→ n) ⎪⎩ ⎪⎩ j= 1 ⎪⎭ ⎪⎭ ⎪⎩ ⎪⎩ j= 1<br />
⎪⎭<br />
⎪⎭<br />
ö ö .<br />
m ij iv igX ij iv igX<br />
172<br />
T<br />
.
173<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
Conform modelului de optimizare, matricea valorilor limită (maximum-minimum) pentru erorile dinamice<br />
trebuie sa fie stabilită. Astfel, pentru x { 1; 2; 3}<br />
xy<br />
m iQ k<br />
= , y şi i = 1 → n se determină erorile diferenţiale<br />
Δ Q ce caracterizează forțele generalizate motoare din fiecare cuplă a robotului. Următorul pas<br />
constă în determinarea modulului erorilor diferențiale ale variabilelor operaţionale<br />
Dacă y { p; e}<br />
= , se stabilesc valorile minime şi maxime ale erorilor:<br />
p = ⎡⎣ pQ M rC Iδ ⎤⎦<br />
= ⎡<br />
⎣<br />
pj ; j = 1 →10<br />
⎤<br />
⎦<br />
xy { max; min } { Δ Q miQk<br />
xyj<br />
= ⎡ Q miQk ; j 1 10⎤<br />
⎣<br />
Δ = →<br />
⎦ }<br />
xy { max; min } { Δ X miQk<br />
xyj<br />
= ⎡ X miQk ; j 1 10⎤<br />
⎣<br />
Δ = →<br />
⎦ }<br />
T<br />
T<br />
xy<br />
dQ k<br />
Δ X .<br />
; (6.44)<br />
Valorile limită (maxime si minime) globale se determină conform ecuaţiilor prezentate mai jos:<br />
{ max ; min}<br />
{ ⎡<br />
⎣<br />
x<br />
; ⎤ ,<br />
⎦ { ; ; } }<br />
{ }<br />
; (6.45)<br />
. (6.46)<br />
⎧ Q mQ k Q miQ k i 1 n x 1 2 3 ⎫<br />
⎪<br />
Δ = Δ = → =<br />
⎪<br />
⎨ ⎬ ; (6.47)<br />
xp xe xg<br />
⎪{ ⎡Δ Q miQ k ; ΔQ miQ k ; Δ Q ⎤<br />
miQ k , i = 1 → n, x = 1; 2; 3<br />
⎣ ⎦<br />
} ⎪<br />
⎩ ⎭<br />
⎡ ⎤<br />
{ dQk ⎣ dQk dQk dQk<br />
⎦ }<br />
xp xe xg<br />
{ max ; min } Δ X = ΔX ; ΔQ ; Δ Q ; x = { 1; 2 ; 3}<br />
{ max; min } { Δ QmQ = ⎡Δ QmQk ; k = 1 → m⎤<br />
}<br />
{ max; min } { Δ XdQ = ⎡Δ XdQk ; k = 1 → m⎤<br />
}<br />
; (6.48)<br />
⎣ ⎦ ; (6.49)<br />
⎣ ⎦ . (6.50)<br />
Astfel, pentru orice structură mecanica de robot, indiferent de complexitatea acestuia, ecuaţiile<br />
(6.48) – (6.50) evidenţiază influenta erorilor { ; }<br />
ε ε asupra preciziei dinamice, prin intermediul erorilor<br />
Q MDQ<br />
de ordinul 1 - 3 ale forţelor generalizate motoare şi ale coordonatelor operaţionale. Rezultatele obținute sunt<br />
incluse în matricea valorilor limită pentru erorile dinamice, simbolizate astfel:<br />
{ { max;min } ; { ; ; ; } }<br />
EYdQ = ⎡<br />
⎣<br />
Values x y i k ΔQmQ ΔXdQ<br />
⎤<br />
⎦<br />
. (6.51)<br />
Precizia dinamica mai poate fi pusă în evidenţă si prin intermediul modelului statistic.<br />
În continuare, s-a optat pentru aplicarea metodei verosimilităţii maxime. Funcţia de verosimilitate<br />
maxima poate fi scrisă sub forma prezentată mai jos, astfel:<br />
m 3 2 1 1<br />
T<br />
ln ‹ ( YdQ ; VYdQ ) = − m⋅ln( 2π ⋅ σYdQ<br />
) + ln PYdQk − ⋅∑( YdQk −YdQ ) ⋅PYdQk ( YdQk −YdQ<br />
) . (6.52)<br />
2 2 2<br />
2<br />
σ YdQ k= 1
MODELAREA ERORILOR DINAMICE I.<br />
Matricea covariantă, notată cu V YdQ k şi analizată într-una din secţiunile anterioare, se determină astfel:<br />
V<br />
YdQk<br />
2<br />
unde: Vε dQ Diag ( σ jdQ ; jdQ idQ<br />
)<br />
Dispersia<br />
= = .<br />
⎧ T<br />
EYdQk V dQ E<br />
⎫<br />
⎪ ⋅ ε ⋅ YdQk<br />
⎪<br />
= ⎨Matrix ( v ijk v jik ; i 1 3; j 1 i)<br />
⎬ ; (6.53)<br />
= = → = →<br />
⎪⎩ ( 3× 3)<br />
⎪⎭<br />
2<br />
σ YdQk , matricea ponderilor P YdQk , precum şi P YdQk pentru erorile dinamice se exprimă astfel:<br />
2<br />
YdQk YdQK<br />
σ = det V ; P det V −<br />
= ; (6.54)<br />
−1<br />
YdQk YdQk ijk jik<br />
174<br />
1<br />
YdQk YdQk<br />
( ; ; )<br />
P = V = Matrix P = P i = 1 → 3 j = 1 → i<br />
(6.55)<br />
Valoarea medie a componentelor vectorului Y dQ se obţine conform relaţiilor:<br />
⎛ m 6 ⎞ ⎛ m ⎞<br />
M( YdQj ) = ⎜ YdQik ⋅ pijk ⎟ ⎜ pjjk<br />
⎟<br />
( j= 1→6) ⎝ k= 1 i= 1 ⎠ ⎝ k= 1 ⎠<br />
∑∑ ∑ ; ( dQj );<br />
Y = ⎡M Y j = 1 → 6⎤<br />
⎣ ⎦<br />
T<br />
. (6.56)<br />
Eroarea medie σ YdQ şi eroarea medie ponderată σ ce caracterizează erorile cinematice este:<br />
YdQ<br />
σ<br />
( Y Y ) P ( Y Y )<br />
m 1<br />
T<br />
= ± − ⋅ −<br />
− ∑ ;<br />
YdQ dQk dQ YdQk dQk dQ<br />
6m 6 k= 1<br />
⎧ m<br />
⎪<br />
⎫<br />
⎪ ⎛ ⎞<br />
⎨M ( YdQ j ) ⎬ = YdQ ⎜ ∑ p jjk ⎟ . (6.57)<br />
⎪ ( j = 1→ 6 ) ⎪ ⎝ k = 1<br />
⎩ ⎭<br />
⎠<br />
σ σ<br />
Luând în considerare expresia (6.57), se pot scrie în formă simbolică următoarele relaţii:<br />
T1YdQ ≤ YdQ ≤ T2YdQ<br />
; TjYdQ = − YdQ + Δ j ⋅τYdQ ⋅ σYdQ<br />
;<br />
= { m; ; ( 1−<br />
) } ; j { 1, j 1} ; { 1; j 2}<br />
τ τ γ α<br />
YdQ YdQ Q<br />
{ }<br />
Δ = − = = . (6.58)<br />
Expresiile (6.58) definesc intervalul de toleranţă pentru erorile dinamice Y dQ . Astfel, expresiile (6.58) vor<br />
conduce la optimizarea erorilor dinamice ce afectează orice structură de robot, indiferent de complexitate.
7. INFLUENȚA ERORILOR DINAMICE ASUPRA PRECIZIEI TRAIECTORIEI<br />
7.1 Matricele erorilor cinematice<br />
Studiul traiectoriei de mişcare se realizează, în general, cu ajutorul unor funcţii polinomiale notate simbolic:<br />
<br />
; <br />
h t t X t . (7.1)<br />
i i i<br />
Conform acestei relaţii, traiectoria de mişcare poate fi exprimată fie în spaţiul configurativ, fie în spaţiul<br />
cartezian al stărilor. Spre deosebire de valorile nominale ale funcţiilor polinomiale, valorile reale ale acestora<br />
prezintă anumite erori denumite erori ale traiectoriei de mişcare:<br />
<br />
<br />
hi<br />
t i t Xi<br />
t<br />
<br />
h<br />
i t i t Xi<br />
t<br />
<br />
h i t i t Xi<br />
t<br />
<br />
; <br />
<br />
<br />
;<br />
<br />
; <br />
<br />
. (7.2)<br />
Pentru evitarea coliziunii cu obstacolele existente în spaţiul de lucru geometric al robotului, la<br />
planificarea (generarea) traiectoriei de mişcare se introduc o mulţime de puncte intermediare între punctul<br />
iniţial <br />
1 1<br />
h t şi punctul final h t .<br />
m m<br />
Fig. 7.1<br />
Astfel, procedând întocmai ca în cazul valorilor nominale şi în cazul erorilor de traiectorie se impun<br />
respectarea condiţiilor restrictive privind:
INFLUENȚA ERORILOR DINAMICE ASUPRA PRECIZIEI TRAIECTORIEI DE MIȘCARE .I.<br />
Trecerea prin puncte impuse,<br />
Continuitatea în viteze şi acceleraţii<br />
<br />
<br />
h t q t ; j 1 n , i 1 m . (7.3)<br />
ji i ji i<br />
<br />
<br />
h ji<br />
<br />
h<br />
ji<br />
t<br />
t<br />
h<br />
ji<br />
1<br />
h<br />
ji<br />
1<br />
t<br />
t<br />
Eroarea de poziţie, viteză şi acceleraţie<br />
- în punctul iniţial,<br />
- în punctul final,<br />
j1 j1 j1 j1 j1 j1<br />
176<br />
(7.4)<br />
h q ; q v ; q a<br />
;<br />
(7.5)<br />
h q ; q v ; q a<br />
;<br />
(7.6)<br />
jm jm jm jm jm jm<br />
Existând opt condiţii restrictive, funcţia polinomială pentru erorile de traiectorie este un polinom de grad 7:<br />
7 6<br />
h t q t a t a t ... a t a . (7.7)<br />
j j<br />
Deoarece coeficienţii a k 0 7<br />
k<br />
7 6 1 0<br />
şi extremele acestor funcţii se determină cu mare dificultate,<br />
interpolarea traiectoriei se face între punctele succesive <br />
care se utilizează frecvent funcţiile spline cubice:<br />
3 2<br />
j j<br />
i şi i 1<br />
cu polinoame de grad n5 dintre<br />
h t q t a t a t a t a . (7.8)<br />
3 2 1 0<br />
Ţinând seama de aceste aspecte, în cele ce urmează se vor stabili funcţiile polinomiale ale erorilor de<br />
traiectorie prin minimizarea timpului de mişcare şi al erorilor dinamice.<br />
În acest scop se consideră cunoscute valorile nominale ale funcţiilor:<br />
respectiv, t ; t ; <br />
t<br />
ti ti1 X X t X<br />
<br />
X<br />
<br />
t X<br />
<br />
X<br />
<br />
t Q Q<br />
t<br />
<br />
<br />
; ; ; m m<br />
. (7.9)<br />
Pentru fiecare i 1 m puncte aparținând traiectoriei de mişcare, corespunzătoare momentelor<br />
se determină următoarele:<br />
respectiv, 1<br />
1<br />
<br />
<br />
T<br />
T T T<br />
X ti X Xi X <br />
<br />
m<br />
. (7.10)<br />
T<br />
T T T<br />
T<br />
ti<br />
i <br />
<br />
m <br />
, i <br />
qji ; j 1 n
Prin aplicarea modelului direct al erorilor dinamice se obţin funcţiile:<br />
respectiv, X t X t X t Q<br />
t<br />
177<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
…<br />
X t ; X <br />
t ; X <br />
t ; Qm<br />
t ; (7.11)<br />
max ; max<br />
<br />
; max<br />
<br />
; max m<br />
<br />
Prin integrarea ecuaţiilor dinamice rezultă: max t ; max t ; max<br />
t<br />
(7.12)<br />
Pentru fiecare i 1 m puncte ale traiectoriei de mişcare corespunzătoare momentelor ti ti1se determină: 1<br />
T<br />
T T T<br />
X ti X Xi X <br />
<br />
m<br />
. (7.13)<br />
T T T<br />
respectiv, ti1i <br />
<br />
m <br />
T<br />
, i <br />
qji ; j 1 n<br />
<br />
Conform ecuaţiilor de restricţii (7.2), se consideră cunoscuţi şi următorii parametri:<br />
T<br />
la momentul iniţial t 1 , qj1 ; qj1 ; q j1<br />
; j 1 n.<br />
(7.14)<br />
la momentul final t m , qjm; qj1m; qj1m; j 1 n . (7.15)<br />
Descrierea traiectoriei de mişcare într-un timp minim,<br />
m1 m1<br />
i i1i i1 i1<br />
. (7.16)<br />
T u t t<br />
se va realiza, din punct de vedere al erorilor dinamice, prin respectarea următoarelor condiţii restrictive:<br />
<br />
qji t max qj<br />
<br />
<br />
qji t max q<br />
j ; (7.17)<br />
<br />
<br />
Qjm t max Qjm<br />
Procedând în mod similar cu generarea traiectoriei de mişcare în timp minim [23], [78], pentru<br />
stabilirea funcţiilor spline cubice ale erorilor de traiectorie, se pleacă de la o funcţie liniară de timp pentru<br />
eroarea de acceleraţie:<br />
unde ui ti1ti 1 1<br />
q t t t q t tt q<br />
t . (7.18)<br />
<br />
ji i1 ji i i ji i1<br />
ui ui<br />
reprezintă timpul necesar pentru descrierea segmentului <br />
; <br />
t t t 1<br />
reprezintă timpul real;<br />
i i<br />
ji q reprezintă eroarea acceleraţiei generalizate la i<br />
t şi respectiv la i 1<br />
t .<br />
i de traiectorie;
INFLUENȚA ERORILOR DINAMICE ASUPRA PRECIZIEI TRAIECTORIEI DE MIȘCARE .I.<br />
Prin integrare succesivă de două ori a ecuaţiei (7.17) şi aplicarea condiţiilor restrictive pe capetele<br />
segmentului i de traiectorie, rezultă:<br />
respectiv,<br />
1 1<br />
q t t t q t tt q t <br />
2 2<br />
<br />
ji i1 ji i i ji i1<br />
2ui 2ui<br />
1<br />
u<br />
<br />
u<br />
6<br />
i<br />
i<br />
q 1 <br />
ji qji qjiti qjiti1 1 1<br />
q t t t q t tt q t <br />
3 3<br />
<br />
ji i1 ji i i ji i1<br />
6ui 6ui<br />
1 ui 1 u <br />
1 i<br />
q 1 ji qji tit tiqji qji ti ti1t ui 6 ui 6 <br />
unde i 1 m1; iar j 1 n.<br />
<br />
178<br />
; (7.19)<br />
Necunoscutele în ecuaţiile (7.18) – (7.20) sunt erorile acceleraţiilor generalizate q t <br />
; (7.20)<br />
în cele<br />
i 2, 3, , m1puncte<br />
intermediare ale traiectoriei de mişcare. Ele se vor determina prin scrierea<br />
condiţiilor de continuitate în viteze:<br />
Astfel, rezultă un sistem de 2<br />
unde A<br />
<br />
q t q<br />
t<br />
ji i1 ji1 i1<br />
m ecuaţii liniare neomogene de forma [23]:<br />
Aq b<br />
este o matrice pătrată m2m2 <br />
a coeficienţilor necunoscutelor,<br />
A11 A12A1m2 A <br />
21 A22 A2m2<br />
A <br />
<br />
.<br />
(7.21)<br />
<br />
A A A<br />
m21 m22 m2m2 ji i<br />
2<br />
u1<br />
A11<br />
3u12u2 <br />
u2<br />
2<br />
u1<br />
A21<br />
u2 ; (7.22)<br />
<br />
u2<br />
A31 Am21 0<br />
A12<br />
u2<br />
<br />
A22<br />
2 u2 u3<br />
; (7.23)<br />
A32<br />
u3<br />
A42 Am22 0<br />
A<br />
A 0<br />
<br />
A<br />
<br />
A<br />
u<br />
u u<br />
<br />
u<br />
u u<br />
u<br />
1m2 m42<br />
2<br />
m3m2 m2 m1 m2<br />
m2m2 3 m1 2 m2 2<br />
m1 m2<br />
; (7.24)
q este un vector coloană m21 un vector coloană m21 al termenilor liberi,<br />
<br />
179<br />
<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />
…<br />
T<br />
<br />
j2 2 jm1 m1<br />
<br />
<br />
al necunoscutelor, q qt q<br />
t <br />
T<br />
<br />
j1 j2 jm 2<br />
<br />
, b este<br />
b b b b<br />
; (7.25)<br />
1 1 1 1 1 2 <br />
b16 3 16 1 1 1 11 1 j qj qj qj u qj u qj u qj1<br />
u2 u1 u1 u2<br />
3 <br />
<br />
1 1 1 6 6<br />
<br />
<br />
b q q u u q q q u q<br />
<br />
2<br />
jm2 6 jm jm m1 m1 jm jm jm2 m1 jm<br />
um1 um2 3 um1 um1um2 Rezolvând sistemul (7.22), se determină elementele componente ale vectorului coloană q , adică<br />
erorile acceleraţiilor generalizate q t din cele 2<br />
ji i<br />
m puncte intermediare ale traiectoriei de<br />
mişcare. Înlocuind aceste valori în ecuaţiile (7.18) – (7.20) se obţin funcţiile polinomiale ale erorilor de<br />
traiectorie. Ţinând seama de aspectele descrise în [23], se fac notaţiile:<br />
qji tiji ; q ji ti1ji1 (7.26)<br />
Astfel, ecuaţiile (7.18) – (7.20) iau următoarele forme:<br />
1 3 1<br />
3<br />
qji t ti1t ji tti ji1 6ui 6ui<br />
;<br />
1 ui 1 ui<br />
<br />
qji1ji1tti qjijiti1t ui 6 ui 6 <br />
(7.27)<br />
1<br />
q ji t <br />
2u 2 1 2<br />
1<br />
ui<br />
ti1t ji tti ji1ti1 qji1qji ji ji1<br />
2u u<br />
6<br />
i i i<br />
unde i 1 m1; j 1 n<br />
1 1<br />
q t t t tt .<br />
(7.28)<br />
<br />
ji i1 ji i ji1<br />
ui ui<br />
Pentru descrierea traiectoriei de mişcare într-un timp minim, funcţiile polinomiale ale erorilor de traiectorie<br />
(7.27) – (7.28) trebuie să respecte condiţiile restrictive (7.17).<br />
Restricţia de eroare a vitezei este definită, pentru i 1 m1; j 1 n , prin inecuaţia:<br />
<br />
max qji max qji ti ; qji ti ; qji t <br />
i1 max q j , ti t t<br />
<br />
i1<br />
ti ti ; ti1reprezintă timpul pentru care este satisfăcută condiţia q ji ti0<br />
(7.29)<br />
ui 1<br />
ui<br />
q ji ti ji qji1qji ji ji1<br />
;<br />
2 u<br />
6<br />
(7.30)<br />
unde <br />
i<br />
ui 1<br />
ui<br />
q ji ti1 ji1 qji1qji ji ji1<br />
; (7.31)<br />
2 u<br />
6<br />
i
INFLUENȚA ERORILOR DINAMICE ASUPRA PRECIZIEI TRAIECTORIEI DE MIȘCARE .I.<br />
ui<br />
1<br />
dacă<br />
ji ji1 şi titi; ti1,<br />
ji ji1 <br />
2 ji ji1<br />
<br />
q ji ti ui 1<br />
. (7.32)<br />
<br />
ji ji1 qji1qji <br />
6<br />
ui<br />
dacă ji ji1 sau ti ti;<br />
ti<br />
1,<br />
0<br />
max j q reprezintă o valoare definită prin (7.12)<br />
Restricţia de eroare a accelerației<br />
Eroarea de accelerație fiind o funcție liniară de timp, rezultă că ea atinge valori maxime pe capetele<br />
fiecărui segment <br />
i 1m 1 de traiectorie, adică ji<br />
. Deci pentru j 1n<br />
de accelerație este definită prin inecuaţia: <br />
valoare cunoscută si data prin (7.12)<br />
Restricția de eroare dinamică a forţei generalizate motoare<br />
180<br />
restricția privind eroarea<br />
max ji ; i 1m max qji<br />
; unde max ji q este o<br />
Dacă restricțiile (7.29) sunt satisfăcute, atunci in ecuaţia erorilor dinamice, erorile de traiectorie (poziţieviteză<br />
- acceleraţie) se înlocuiesc prin ecuaţiile (7.28) - (7.30). Rezultă astfel pentru fiecare segment de<br />
traiectorie i 1m 1<br />
ecuaţiile:<br />
<br />
Qm <br />
<br />
<br />
t M <br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
i i M i i B i i B i i i <br />
;<br />
i i i 2 i i g i ;<br />
<br />
<br />
(7.33)<br />
Unde Q ; m t Qjm t j 1n<br />
; ; 1 T<br />
i t qji t j n<br />
şi rezultă prin aplicarea algoritmului<br />
; 1 T<br />
i t qji t j n<br />
. (7.34)<br />
Pentru fiecare j 1n<br />
, se verifică restricţia privind eroarea dinamică a forţei generalizate motoare:<br />
<br />
2<br />
C <br />
C <br />
<br />
<br />
<br />
Q<br />
<br />
Q t max Q ;<br />
(7.35)<br />
jm jm<br />
unde max Q jm este valoare cunoscută şi definită prin (7.12)<br />
Dacă şi restricţia (7.35) este satisfăcută, atunci traiectoria de mişcare este optimă din punct de vedere<br />
al timpului T şi al erorilor dinamice. Daca una sau ambele restricţii (7.29) - (7.31) nu sunt satisfăcute<br />
pentru un segment i de traiectorie, atunci se impun valorile max j q sau/şi max j q , iar algoritmul<br />
de calcul se reia de la început. Daca restricţia (7.35) nu este satisfăcută pentru un segment <br />
i de<br />
traiectorie, atunci se impun valorile max j q , max j q , max Q jm , iar algoritmul de calcul se reia.
8.APLICAȚII PRIVIND DETERMINAREA PRECIZIEI GEOMETRICE, CINEMATICE<br />
ȘI DINAMICE A STRUCTURILOR SERIALE DE ROBOȚI<br />
Aplicaţia 1. Simularea numerică a geometriei unei structuri de tipul 5R utilizând aplicaţia SimMEcROb<br />
Simularea numerică a geometriei directe pentru o structură de tip 5R s-a realizat cu ajutorul aplicaţiei<br />
SimMEcROb. Funcţiile de comandă geometric sunt determinate în valoare numeric pentru fiecare<br />
configuraţie a robotului impusă de procesul tehnologic. Structura cinematică a robotului de tip 5R supus<br />
analizei este reprezentată în cadrul figurii 8.1.<br />
l 1<br />
0 k<br />
<br />
2<br />
0 k<br />
<br />
1<br />
l z<br />
0 0<br />
x0<br />
O<br />
q 2<br />
q 1<br />
0<br />
y 0<br />
Fig. 8.1<br />
Fig. 8.1<br />
În vederea realizării simulării numerice pentru structura de robot descrisă în figura de mai sus, se apelează<br />
valorile conţinute în matricea geometriei nominale, prezentată în tabelul de mai jos:<br />
Element Tipul cuplei<br />
l 2<br />
0 k<br />
<br />
3<br />
q 3<br />
Matricea geometriei nominale Tabelul 8.1<br />
T<br />
p i<br />
<br />
1 R 0 0 20 0 0 1<br />
2 R 0 0 200 1 0 0<br />
3 R 0 180 200 1 0 0<br />
4 R 0 360 200 1 0 0<br />
5 R 0 380 200 0 1 0<br />
6 - 0 450 200 0 1 0<br />
l 3<br />
0 k<br />
<br />
4<br />
q 4<br />
l 4<br />
q 5<br />
0 k<br />
<br />
5<br />
l 5<br />
s<br />
T<br />
k i<br />
n<br />
P<br />
a
APLICATII<br />
Matricea timpilor Tabelul 8.2<br />
τ p <br />
p=0-4<br />
0, 2, 4, 6, 8<br />
Matricea configuraţiilor nominale Tabelul 8.3<br />
Configuratia q 1<br />
2<br />
θ<br />
q 3 q 4 q 5 q<br />
<br />
0 0 0 0 0 0<br />
1 -120 -20 -40 -20 0<br />
2 -20 20 0 10 40<br />
3 20 70 -60 40 90<br />
4 80 80 -100 60 0<br />
În conformitate cu simulatorul SimMEcROb sistemele de tip PG respectiv DH se determină în formă<br />
grafică si sunt reprezentate în mod automat. Pe baza acestei aplicaţii sunt determinaţi parametrii<br />
generalizaţi de tip DH şi PG, precum şi situarea (poziţia si orientarea) efectorului final al robotului în spaţiul<br />
de lucru. De exemplu, în tabelul de mai jos sunt prezentate rezultatele simulării numerice pentru cea de-a<br />
treia configuraţie a robotului de tip 5R:<br />
Matricea parametrilor de tip PG Tabelul 8.4<br />
Element<br />
ai-1 bi-1<br />
<br />
ci-1 α i-1 β i-1<br />
<br />
γ i-1<br />
1 0 20 0 0 0<br />
2 0 0 180 -90 70 -180<br />
3 61.56 169.14 0 0 0 0<br />
4 177.26 31.25 0 0 0 0<br />
5 12.85 8.32 0 -90 40 90<br />
6 0 0 70 0 0 -137.28<br />
Matricea sistemelor de tip PG Tabelul 8.5<br />
z<br />
Element i p i x i<br />
1 1 0 0 0 1 0 0 0 1<br />
2 -0.34 0.94 0 0 0 1 0.94 0.34 0<br />
3 -0.34 0.94 0 0 0 1 0.94 0.34 0<br />
4 -0.34 0.94 0 0 0 1 0.94 0.34 0<br />
5 -0.94 -0.34 0 0.26 -0.72 0.64 -0.22 0.60 0.77<br />
6 0.51 0.74 -0.34 -0.83 0.29 -0.47 -0.22 0.60. 0.77<br />
Matricea parametrilor de tip DH Tabelul 8.6<br />
Element<br />
ai − 1<br />
α i−1<br />
i d <br />
θ i<br />
<br />
1 0 0 200 110<br />
2 0 90 0 70<br />
3 180 0 0 -60<br />
4 180 0 0 130<br />
5 0 90 20 90<br />
6 0 0 70 0<br />
181
APLICATII<br />
Matricea sistemelor de tip DH Tabelul 8.7<br />
Element p iD<br />
x iD<br />
y iD<br />
z iD<br />
1 0 0 200 -0.34 0.94 0 -0.94 -0.34 0 0 0 1<br />
2 0 0 200 -0.12 0.32 0.94 0.32 -0.88 0.34 0.94 0.34 0<br />
3 -21.06 57.85 369.14 -0.34 0.92 0.17 0.59 -0.16 0.98 0.94 0.34 0<br />
4 -81.68 224.43 400.40 0.26 -0.72 0.64 0.22 -0.60 -0.77 0.94 0.34 0<br />
5 -86.08 236.51 48.72 0.94 0.34 0 -0.26 0.71 -0.64 -0.22 0.60 0.77<br />
6 -101.47 278.79 469.35 0.94 0.34 0 -0.26 0.72 -0.64 -0.22 0.60 0.77<br />
Determinarea matricelor parametrilor de poziţie orientare pentru fiecare configuraţie a robotului<br />
Configuraţia {1} Tabelul 8.8<br />
Sistemele<br />
{ D G } T ; T<br />
x y<br />
<br />
z α β<br />
<br />
γ<br />
5DH 227.43 -131.31 -37.14 60 170 90<br />
5PG 227.43 -131.31 -37.14 60 170 0<br />
6DH 237.96 -137.39 -106.08 60 80 180<br />
6PG 237.96 -137.39 -106.08 60 -10 -90<br />
Configuraţia {2} Tabelul 8.9<br />
Sistemele<br />
{ D G } T ; T<br />
x y<br />
<br />
z α β<br />
<br />
γ<br />
5DH 121.63 334.16 333.13 160 60 130<br />
5PG 121.63 334.16 333.13 160 60 40<br />
6DH 142.36 391.13 368.13 160 -30 -140<br />
6PG 142.36 391.13 368.13 39.21 -41.56 41.93<br />
Configuraţia {3} Tabelul 8.10<br />
Sistemele<br />
{ D G } T ; T<br />
x y<br />
<br />
z α β<br />
<br />
γ<br />
5DH -86.08 236.51 48.72 -160 40 180<br />
5PG -86.08 236.51 48.72 -160 40 90<br />
6DH -101.47 278.79 469.35 -160 -50 -90<br />
6PG -101.47 278.79 439.35 110 0 50<br />
Configuraţia {4} Tabelul 8.11<br />
Sistemele<br />
{ D G } T ; T<br />
x y<br />
<br />
z α β<br />
<br />
γ<br />
5DH -212.44 37.45 328.56 -100 50 90<br />
5PG -212.44 37.45 328.56 -100 50 0<br />
6DH -265.25 46.77 373.55 -100 -40 180<br />
6PG -265.25 46.77 373.55 80 -50 90<br />
Matricele de tip PG ale transformărilor omogene ce exprimă poziţia şi orientarea sistemului { i } în raport cu<br />
sistemul { i − 1}<br />
, pentru i = 1 → 5 corespunzătoare structurii de robot analizate pot fi scrise în forma:<br />
0<br />
1<br />
⎡0. 94 − 0.<br />
34<br />
⎢<br />
0.<br />
34 0.<br />
94<br />
⎢<br />
⎢<br />
⎣<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0 ⎤<br />
0<br />
⎥<br />
20 ⎥<br />
⎥<br />
1 ⎦<br />
⎡ 0<br />
⎢<br />
0.<br />
34<br />
⎢0.<br />
94<br />
⎢<br />
⎣ 0<br />
− 0.<br />
94<br />
[ ] ⎢<br />
⎥ 1 [ ] = ⎢<br />
⎥ 2<br />
T =<br />
; T<br />
; [ T ]<br />
1<br />
0<br />
2<br />
0<br />
0.<br />
34<br />
0<br />
182<br />
1<br />
0<br />
0<br />
0<br />
0 ⎤<br />
0<br />
⎥<br />
180 ⎥<br />
⎥<br />
1 ⎦<br />
3<br />
=<br />
⎡<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎣<br />
−<br />
0.<br />
5<br />
0.<br />
87<br />
0<br />
0<br />
0.<br />
87<br />
0.<br />
5<br />
0<br />
0<br />
0<br />
0<br />
1<br />
0<br />
180 ⎤<br />
0<br />
⎥<br />
⎥ ;<br />
0 ⎥<br />
⎥<br />
1 ⎦
APLICATII<br />
3<br />
4<br />
⎡0. 77 −0.<br />
64<br />
⎢<br />
0.<br />
64 0.<br />
77<br />
⎢<br />
⎢<br />
⎣<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
180⎤<br />
0<br />
⎥<br />
0 ⎥<br />
⎥<br />
1 ⎦<br />
[ ] ⎢<br />
⎥ 4[<br />
] = ⎢<br />
⎥ 5<br />
T =<br />
; T<br />
; [ T ]<br />
1<br />
0<br />
5<br />
⎡0<br />
⎢<br />
1<br />
⎢0<br />
⎢<br />
⎣0<br />
0<br />
0<br />
1<br />
0<br />
183<br />
1<br />
0<br />
0<br />
0<br />
20⎤<br />
0<br />
⎥<br />
0 ⎥<br />
⎥<br />
1 ⎦<br />
6<br />
⎡−1<br />
⎢<br />
⎢<br />
0<br />
=<br />
⎢ 0<br />
⎢<br />
⎣ 0<br />
0<br />
0<br />
1<br />
0<br />
0<br />
1<br />
0<br />
0<br />
0 ⎤<br />
0<br />
⎥<br />
⎥ .<br />
70⎥<br />
⎥<br />
1 ⎦<br />
Matricele de tip DH ale transformărilor omogene ce exprimă poziţia şi orientarea sistemului { i } în raport cu<br />
sistemul { i − 1}<br />
, pentru i = 1 → 5 corespunzătoare structurii de robot analizate pot fi scrise în forma:<br />
0<br />
1<br />
⎡−<br />
0.<br />
34<br />
⎢<br />
0.<br />
94<br />
⎢ 0<br />
⎢<br />
⎣ 0<br />
− 0.<br />
94<br />
− 0.<br />
34<br />
0 ⎤<br />
0<br />
⎥<br />
200 ⎥<br />
⎥<br />
1 ⎦<br />
⎡0.<br />
34<br />
⎢<br />
0<br />
⎢0.<br />
94<br />
⎢<br />
⎣ 0<br />
− 0.<br />
94<br />
− 1<br />
[ ] ⎢<br />
⎥ 1[<br />
] = ⎢<br />
⎥ 2<br />
T =<br />
; T<br />
; [ T ]<br />
0<br />
0<br />
0<br />
0<br />
1<br />
0<br />
2<br />
0<br />
0.<br />
34<br />
0<br />
0<br />
0<br />
0<br />
0⎤<br />
0<br />
⎥<br />
0⎥<br />
⎥<br />
1⎦<br />
3<br />
=<br />
⎡<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎣<br />
0.<br />
5<br />
− 0.<br />
87<br />
0<br />
0<br />
0.<br />
87<br />
0.<br />
5<br />
0<br />
0<br />
0<br />
0<br />
1<br />
0<br />
180 ⎤<br />
0<br />
⎥<br />
⎥ ;<br />
0 ⎥<br />
⎥<br />
1 ⎦<br />
⎡−<br />
0.<br />
64 −0.<br />
77 0 180⎤<br />
⎡0<br />
−1<br />
0 0 ⎤ ⎡1<br />
0 0 0 ⎤<br />
⎢<br />
⎥ ⎢<br />
− −<br />
⎥ ⎢<br />
⎥<br />
3 −0.<br />
77 −0.<br />
64 0 0<br />
[ ] ⎢<br />
⎥ 4 0 0 1 20<br />
=<br />
[ ] = ⎢<br />
⎥ 5 0 1 0 0<br />
; [ T ] = ⎢<br />
⎥<br />
4 T<br />
; 5 T<br />
6<br />
.<br />
⎢ 0 0 1 0 ⎥ ⎢1<br />
0 0 0 ⎥ ⎢0<br />
0 1 70⎥<br />
⎢<br />
⎥ ⎢<br />
⎥ ⎢<br />
⎥<br />
⎣ 0 0 0 1 ⎦ ⎣0<br />
0 0 1 ⎦ ⎣0<br />
0 0 1 ⎦<br />
Matricele de tip PG ale transformărilor omogene ce exprimă poziţia şi orientarea sistemului { i } în raport cu<br />
sistemul fix { 0 } , pentru i = 1 → 5 sunt următoarele:<br />
0<br />
4<br />
0<br />
2<br />
⎡−0.<br />
21<br />
⎢<br />
0.<br />
60<br />
⎢ 0.<br />
77<br />
⎢<br />
⎣ 0<br />
⎡−0.<br />
12<br />
⎢<br />
0.<br />
32<br />
⎢ 0.<br />
94<br />
⎢<br />
⎣ 0<br />
0.<br />
32<br />
−0.<br />
88<br />
0 ⎤<br />
0<br />
⎥<br />
200⎥<br />
⎥<br />
1 ⎦<br />
[ ] ⎢<br />
⎥ 0<br />
T =<br />
; [ T ]<br />
0.<br />
34<br />
0<br />
0.<br />
26<br />
−0.<br />
72<br />
0.<br />
94<br />
0.<br />
34<br />
−81.<br />
68⎤<br />
224.<br />
43<br />
⎥<br />
0.<br />
64<br />
0<br />
0<br />
0<br />
400.<br />
40⎥<br />
⎥<br />
1 ⎦<br />
0.<br />
94<br />
0.<br />
34<br />
0<br />
0<br />
⎡ 0.<br />
26 0.<br />
94<br />
⎢<br />
−0.<br />
72 0.<br />
34<br />
⎢ 0.<br />
64<br />
⎢<br />
⎣ 0<br />
0<br />
0<br />
3<br />
⎡−0.<br />
34<br />
⎢<br />
= ⎢<br />
0.<br />
92<br />
⎢ 0.<br />
17<br />
⎢<br />
⎣ 0<br />
[ T]<br />
⎢<br />
⎥ 0<br />
; [ T]<br />
= ⎢<br />
⎥;<br />
5<br />
−0.<br />
22<br />
0.<br />
60<br />
−86.<br />
08⎤<br />
236.<br />
50<br />
⎥<br />
0.<br />
77<br />
0<br />
415.<br />
72⎥<br />
⎥<br />
1 ⎦<br />
0.<br />
06<br />
−0.<br />
16<br />
0.<br />
98<br />
0<br />
= [ T]<br />
6<br />
0<br />
0.<br />
94<br />
0.<br />
34<br />
0<br />
0<br />
− 21.<br />
06⎤<br />
57.<br />
85<br />
⎥<br />
⎥ ;<br />
369.<br />
14 ⎥<br />
⎥<br />
1 ⎦<br />
⎡−026 . −022 . 094 . −101.<br />
4⎤<br />
⎢<br />
072 . 060 . 034 . 278. 8<br />
⎥<br />
= ⎢ ⎥.<br />
⎢−064 . 077 . 0 469 . 3⎥<br />
⎢ ⎥<br />
⎣ 0 0 0 1 ⎦<br />
Matricele de tip DH ale transformărilor omogene ce exprimă poziţia şi orientarea sistemului { i } în raport cu<br />
sistemul fix { 0 } , pentru i = 1 → 5 sunt următoarele:<br />
0<br />
4<br />
0<br />
2<br />
⎡ 0.<br />
26<br />
⎢<br />
−0.<br />
72<br />
⎢ 0.<br />
64<br />
⎢<br />
⎣ 0<br />
⎡−<br />
0.<br />
12<br />
⎢<br />
0.<br />
32<br />
⎢ 0.<br />
94<br />
⎢<br />
⎣ 0<br />
0.<br />
32<br />
− 0.<br />
88<br />
⎡−<br />
0.<br />
34<br />
⎢<br />
0.<br />
92<br />
⎢ 0.<br />
17<br />
⎢<br />
⎣ 0<br />
0.<br />
06<br />
− 0.<br />
16<br />
0<br />
[ T ] = ⎢<br />
⎥ ; [ T ] = ⎢<br />
⎥;<br />
0.<br />
22<br />
−0.<br />
60<br />
0.<br />
34<br />
0<br />
−81.<br />
68⎤<br />
224.<br />
43<br />
⎥<br />
400.<br />
40⎥<br />
⎥<br />
1 ⎦<br />
0.<br />
94<br />
0.<br />
34<br />
0<br />
0<br />
0 ⎤<br />
0<br />
⎥<br />
200⎥<br />
⎥<br />
1 ⎦<br />
⎡0.<br />
94<br />
⎢<br />
0.<br />
34<br />
⎢ 0<br />
⎢<br />
⎣ 0<br />
3<br />
−0.<br />
26<br />
−86.<br />
08⎤<br />
236.<br />
50<br />
⎥<br />
415.<br />
72⎥<br />
⎥<br />
1 ⎦<br />
0.<br />
98<br />
[ ] ⎢<br />
⎥ 0[<br />
] = ⎢<br />
⎥ 0<br />
T =<br />
; T<br />
; [ T]<br />
−0.<br />
77<br />
0<br />
0.<br />
94<br />
0.<br />
34<br />
0<br />
0<br />
5<br />
0.<br />
72<br />
−0.<br />
64<br />
0<br />
−0.<br />
22<br />
0.<br />
60<br />
0.<br />
77<br />
0<br />
0<br />
6<br />
0.<br />
94<br />
0.<br />
34<br />
0<br />
0<br />
⎡−0.<br />
26<br />
⎢<br />
⎢<br />
0.<br />
72<br />
=<br />
⎢−0.<br />
64<br />
⎢<br />
⎣ 0<br />
− 21.<br />
06⎤<br />
57.<br />
85<br />
⎥<br />
369.<br />
14 ⎥<br />
⎥<br />
1 ⎦<br />
−0.<br />
22<br />
0.<br />
60<br />
0.<br />
77<br />
0<br />
0.<br />
94<br />
0.<br />
34<br />
0<br />
0<br />
−101.<br />
47⎤<br />
278.<br />
79<br />
⎥<br />
⎥.<br />
469.<br />
34⎥<br />
⎥<br />
1 ⎦<br />
Inversele matricelor de tip PG ale transformărilor omogene ce exprimă poziţia şi orientarea sistemului { i }<br />
în raport cu sistemul { i − 1}<br />
, pentru i = 1 → 5 corespunzătoare structurii de robot analizate sunt:<br />
0<br />
1<br />
⎡ 0.<br />
94<br />
⎢<br />
−0.<br />
34<br />
⎢ 0<br />
⎢<br />
⎣ 0<br />
0.<br />
34<br />
0.<br />
94<br />
0 ⎤<br />
0<br />
⎥<br />
− 20⎥<br />
⎥<br />
1 ⎦<br />
−169.<br />
14⎤<br />
−61.<br />
56<br />
⎥<br />
0 ⎥<br />
⎥<br />
1 ⎦<br />
−1<br />
[ ] ⎢<br />
⎥ 1 −1<br />
=<br />
[ ] = ⎢<br />
⎥ 2<br />
T<br />
; T<br />
; [ T]<br />
0<br />
0<br />
0<br />
0<br />
1<br />
0<br />
2<br />
⎡0<br />
⎢<br />
0<br />
⎢1<br />
⎢<br />
⎣0<br />
0.<br />
34<br />
−0.<br />
94<br />
0<br />
0<br />
0.<br />
94<br />
0.<br />
34<br />
0<br />
0<br />
3<br />
−1<br />
⎡ 0.<br />
5<br />
⎢<br />
= ⎢<br />
0.<br />
87<br />
⎢ 0<br />
⎢<br />
⎣ 0<br />
−0.<br />
86<br />
0.<br />
5<br />
0<br />
0<br />
0<br />
0<br />
1<br />
0<br />
−90<br />
⎤<br />
−155.<br />
88<br />
⎥<br />
⎥ ;<br />
0 ⎥<br />
⎥<br />
1 ⎦
3<br />
4<br />
APLICATII<br />
⎡ 0.<br />
77<br />
⎢<br />
−0.<br />
64<br />
⎢ 0<br />
⎢<br />
⎣ 0<br />
0.<br />
64<br />
0.<br />
77<br />
−137<br />
. 88⎤<br />
115 . 70<br />
⎥<br />
0 ⎥<br />
⎥<br />
1 ⎦<br />
−1<br />
[ ] ⎢<br />
⎥ 4 −1<br />
=<br />
[ ] = ⎢<br />
⎥ 5<br />
T<br />
; T<br />
; [ T ]<br />
0<br />
0<br />
0<br />
0<br />
1<br />
0<br />
5<br />
⎡0<br />
⎢<br />
0<br />
⎢1<br />
⎢<br />
⎣0<br />
184<br />
1<br />
0<br />
0<br />
0<br />
0<br />
1<br />
0<br />
0<br />
0 ⎤<br />
0<br />
⎥<br />
− 20⎥<br />
⎥<br />
1 ⎦<br />
6<br />
−1<br />
⎡−1<br />
⎢<br />
⎢<br />
0<br />
=<br />
⎢ 0<br />
⎢<br />
⎣ 0<br />
0<br />
0<br />
1<br />
0<br />
0<br />
1<br />
0<br />
0<br />
0 ⎤<br />
−70<br />
⎥<br />
⎥ .<br />
0 ⎥<br />
⎥<br />
1 ⎦<br />
Inversele matricelor de tip DH ale transformărilor omogene ce exprimă poziţia şi orientarea sistemului { i }<br />
în raport cu sistemul { i − 1}<br />
, pentru i = 1 → 5 sunt date de următoarele expresii matriceale:<br />
⎡−<br />
0.<br />
34<br />
⎢<br />
0 −1<br />
[ ] ⎢<br />
−0.<br />
94<br />
1 T =<br />
⎢ 0<br />
⎢<br />
⎣ 0<br />
0.<br />
94<br />
− 0.<br />
34<br />
0<br />
0<br />
0<br />
0<br />
1<br />
0<br />
0 ⎤ ⎡ 0.<br />
34<br />
0<br />
⎥ ⎢<br />
⎥ 1 −1<br />
[ ] ⎢<br />
−0.<br />
94<br />
; 2 T =<br />
− 200⎥<br />
⎢ 0<br />
⎥ ⎢<br />
1 ⎦ ⎣ 0<br />
0<br />
0<br />
1<br />
0<br />
0.<br />
94<br />
0.<br />
34<br />
0<br />
0<br />
0⎤<br />
⎡ 0.<br />
5<br />
0<br />
⎥ ⎢<br />
⎥ 2 −1<br />
[ ] = ⎢<br />
0.<br />
87<br />
; 3 T<br />
0⎥<br />
⎢ 0<br />
⎥ ⎢<br />
1⎦<br />
⎣ 0<br />
−0.<br />
86<br />
0.<br />
5<br />
0<br />
0<br />
0<br />
0<br />
1<br />
0<br />
−90<br />
⎤<br />
−155.<br />
88<br />
⎥<br />
⎥ ;<br />
0 ⎥<br />
⎥<br />
1 ⎦<br />
⎡−<br />
0.<br />
64<br />
⎢<br />
3 −1<br />
[ ] ⎢<br />
−0.<br />
77<br />
4 T =<br />
⎢ 0<br />
⎢<br />
⎣ 0<br />
0.<br />
77<br />
−0.<br />
64<br />
0<br />
0<br />
0<br />
0<br />
1<br />
0<br />
115 . 70⎤<br />
137 . 88<br />
⎥<br />
⎥ ;<br />
0 ⎥<br />
⎥<br />
1 ⎦<br />
⎡ 0<br />
⎢<br />
4 −1<br />
[ ] ⎢<br />
−1<br />
5 T =<br />
⎢ 0<br />
⎢<br />
⎣ 0<br />
0<br />
0<br />
−1<br />
0<br />
1<br />
0<br />
0<br />
0<br />
0 ⎤<br />
0<br />
⎥<br />
⎥ ;<br />
− 20⎥<br />
⎥<br />
1 ⎦<br />
⎡1<br />
⎢<br />
5 −1<br />
[ ] = ⎢<br />
0<br />
6 T<br />
⎢0<br />
⎢<br />
⎣0<br />
0<br />
1<br />
0<br />
0<br />
0<br />
0<br />
1<br />
0<br />
0 ⎤<br />
0<br />
⎥<br />
⎥ .<br />
−70⎥<br />
⎥<br />
1 ⎦<br />
Inversele matricelor de tip PG ale transformărilor omogene ce exprimă poziţia şi orientarea sistemului { i }<br />
în raport cu sistemul fix { 0 } , ataşat bazei robotului, pentru i = 1 → 5 sunt definite de următoarele expresii:<br />
0.<br />
12<br />
0.<br />
32<br />
[ T ]<br />
0.<br />
94<br />
0<br />
0.<br />
32<br />
0.<br />
88<br />
0.<br />
34<br />
0<br />
0.<br />
94<br />
0.<br />
34<br />
0<br />
0<br />
187 94<br />
68.<br />
40<br />
;<br />
0<br />
1<br />
1 0<br />
⎡−<br />
⎢<br />
−<br />
2 = ⎢<br />
⎢<br />
⎢<br />
⎣<br />
−<br />
− ⎤<br />
−<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎦<br />
⎡−<br />
0.<br />
34<br />
⎢<br />
0 −1<br />
0.<br />
06<br />
3[<br />
T ] = ⎢<br />
⎢ 0.<br />
94<br />
⎢<br />
⎣ 0<br />
0.<br />
92<br />
− 0.<br />
16<br />
0.<br />
34<br />
0<br />
0.<br />
17<br />
0.<br />
98<br />
0<br />
0<br />
−124<br />
. 73 ⎤<br />
− 352 . 85<br />
⎥<br />
⎥ ;<br />
0 ⎥<br />
⎥<br />
1 ⎦<br />
⎡0.<br />
26<br />
⎢<br />
0 −1<br />
0.<br />
22<br />
4[<br />
T ] = ⎢<br />
⎢0.<br />
94<br />
⎢<br />
⎣ 0<br />
− 0.<br />
72<br />
− 0.<br />
60<br />
0.<br />
34<br />
0<br />
0.<br />
64<br />
− 0.<br />
77<br />
0<br />
0<br />
−74<br />
. 42⎤<br />
460 . 24<br />
⎥<br />
⎥ ;<br />
0 ⎥<br />
⎥<br />
1 ⎦<br />
⎡ 0.<br />
94<br />
⎢<br />
0 −1<br />
0.<br />
26<br />
[ T ] ⎢<br />
−<br />
5 =<br />
⎢−<br />
0.<br />
22<br />
⎢<br />
⎣ 0<br />
0.<br />
34<br />
0.<br />
72<br />
0.<br />
60<br />
0<br />
0<br />
− 0.<br />
64<br />
0.<br />
77<br />
0<br />
0 ⎤<br />
74.<br />
42<br />
⎥<br />
⎥ ;<br />
− 480 . 24⎥<br />
⎥<br />
1 ⎦<br />
⎡ 0.<br />
94<br />
⎢<br />
0 −1<br />
0.<br />
26<br />
[ T ] ⎢<br />
−<br />
6 =<br />
⎢−<br />
0.<br />
22<br />
⎢<br />
⎣ 0<br />
0.<br />
34<br />
0.<br />
72<br />
0.<br />
60<br />
0<br />
0<br />
− 0.<br />
64<br />
0.<br />
77<br />
0<br />
0 ⎤<br />
74.<br />
42<br />
⎥<br />
⎥ .<br />
− 550 . 24⎥<br />
⎥<br />
1 ⎦<br />
i<br />
Inversele matricelor de tip DH ale transformărilor omogene ce exprimă poziţia şi orientarea sistemului<br />
în raport cu sistemul fix { 0 } , ataşat bazei robotului, pentru i = 1 → 5 sunt următoarele:<br />
{ }<br />
0<br />
5<br />
0<br />
3<br />
⎡−<br />
0.<br />
34<br />
⎢<br />
0.<br />
06<br />
⎢ 0.<br />
94<br />
⎢<br />
⎣ 0<br />
0<br />
2<br />
0.<br />
92<br />
− 0.<br />
16<br />
⎡−<br />
0.<br />
12 0.<br />
32<br />
⎢<br />
0.<br />
32 − 0.<br />
88<br />
⎢ 0.<br />
94<br />
⎢<br />
⎣ 0<br />
0.<br />
34<br />
0<br />
0.<br />
17<br />
0.<br />
98<br />
0<br />
0<br />
−124<br />
. 73⎤<br />
− 352.<br />
85<br />
⎥<br />
⎥ ;<br />
0 ⎥<br />
⎥<br />
1 ⎦<br />
0.<br />
94<br />
0.<br />
34<br />
[ T ] ;<br />
1 −<br />
= ⎢<br />
⎥<br />
0<br />
0<br />
− 187 94 ⎤<br />
− 68.<br />
40<br />
⎥<br />
0<br />
1<br />
⎥<br />
⎥<br />
⎦<br />
⎡0.<br />
26 − 0.<br />
72<br />
⎢<br />
0.<br />
22<br />
= ⎢<br />
⎢0.<br />
94<br />
⎢<br />
⎣ 0<br />
− 0.<br />
60<br />
0.<br />
34<br />
0<br />
0.<br />
64<br />
− 0.<br />
77<br />
−1<br />
[ T ] ⎢<br />
0 −1<br />
=<br />
[ T ] ⎥ .<br />
⎡ 0.<br />
94<br />
⎢<br />
− 0.<br />
26<br />
⎢−<br />
0.<br />
22<br />
⎢<br />
⎣ 0<br />
0.<br />
34<br />
0.<br />
72<br />
0.<br />
34<br />
0<br />
4<br />
⎡ 0.<br />
94<br />
⎢<br />
− 0.<br />
26<br />
⎢−<br />
0.<br />
22<br />
⎢<br />
⎣ 0<br />
0.<br />
72<br />
0<br />
0<br />
−74<br />
42⎤<br />
460 . 24<br />
⎥<br />
0 ⎥<br />
⎥<br />
1 ⎦<br />
−1<br />
[ T ] ⎢<br />
⎥ 0 −1<br />
=<br />
; [ T ] = ⎢<br />
⎥ .<br />
0.<br />
60<br />
0<br />
0<br />
− 0.<br />
64<br />
0.<br />
77<br />
0<br />
0 ⎤<br />
74.<br />
42<br />
⎥<br />
− 480 . 24⎥<br />
⎥<br />
1 ⎦<br />
6<br />
0.<br />
34<br />
0.<br />
60<br />
0<br />
0<br />
− 0.<br />
64<br />
0.<br />
77<br />
0<br />
0 ⎤<br />
74.<br />
42<br />
⎥<br />
− 550 . 24⎥<br />
⎥<br />
1 ⎦
APLICATII<br />
Simularea preciziei utilizând softul SimMEcROb<br />
Matricea erorilor geometriei nominale Tabelul 8.12<br />
Configuraţia Element<br />
x y<br />
<br />
z α β<br />
<br />
γ<br />
1 0 0 0 0,02 0 0<br />
{ 0 } 2 0 0 0 0 0.002 0<br />
3 0 0 0 0 0.002 0<br />
{ 1 } 1 0 0.02 0 0 0 0<br />
{ 2 } 1 0 0.02 0 0 0 0<br />
{ 3 } 1 0 0 0 0 0.2<br />
Matricea erorilor pentru coordonatele generalizate Tabelul 8.13<br />
q<br />
q<br />
q<br />
q<br />
q Δ <br />
Configuration 1 Δ 2 Δ 3 Δ 4 Δ 5<br />
{ 0 }<br />
0.2 0.1 0.3 -0.1 0<br />
{ 1 }<br />
0.02 0.01 0.01 0 0<br />
{ 2 }<br />
0.001 0.002 0.002 0 0<br />
{ 3 }<br />
0.002 0.002 0.001 0 0<br />
{ 4 }<br />
0.002 0.001 0.001 0 0<br />
Modulul erorilor de situare pentru configuraţia {1}: Tabelul 8.14<br />
Influenţa parametrilor de tip DH<br />
Erori globale<br />
a α d θ β<br />
d 0.05 0.175 0.071 0.279 0.184 0.370<br />
δ 0 0.002 0 0.001 0.001 0.002<br />
min d=0.049530; max d=0.370103; min δ=0; max δ=0.001850.<br />
Modulul erorilor de situare pentru configuraţia {2}: Tabelul 8.15<br />
Influenţa parametrilor de tip DH<br />
a α d θ β<br />
Erori globale<br />
d 0.05 0.066 0.071 0.113 0.175 0.157<br />
δ 0 0.001 0 0.001 0.001 0.001<br />
min d=0.000928; max d=0.1074587; min δ =0; max δ =0.049897.<br />
Modulul erorilor de situare pentru configuraţia {3}: Tabelul 8.16<br />
Influenţa parametrilor de tip DH<br />
a α d θ β<br />
Erori globale<br />
d 0.05 0.245 0.071 0.566 0.175 0.672<br />
δ 0 0.002 0 0.001 0.001 0.001<br />
min d=0.049695; max d=0.671523; min δ =0; max δ =0.001531.<br />
Modulul erorilor de situare pentru configuraţia {4}: Tabelul 8.17<br />
Influenţa parametrilor de tip DH<br />
a α d θ β<br />
Erori globale<br />
d 0.05 0.175 0.071 0.103 0.175 0.672<br />
δ 0 0.002 0 0.001 0.001 0.001<br />
min d=0.049700; max d=0.174594; min δ=0; max δ=0.001739.<br />
185
APLICATII<br />
Modulul erorilor vitezelor si acceleraţiilor operaţionale în configuratia {1} Tabelul 8.18<br />
a<br />
Erori cinematice<br />
α d θ β<br />
Erori globale<br />
v 0.047 0.245 0.047 0.244 0.322 0.434<br />
vɺ 0.175 0.939 0.175 0.963 0.161 1.615<br />
ω 0 0.001 0 0 0 0.001<br />
ωɺ 0 0.006 0 0 0 0.005<br />
min v =0.047; max v =0.434; min ω =0; max ω =0.001;<br />
min v ɺ =0.175; max v ɺ =1.615; min ω ɺ =0; max ω ɺ =0.006.<br />
Modulul erorilor vitezelor si acceleraţiilor operaţionale în configuratia {2} Tabelul 8.19<br />
a<br />
Erori cinematice<br />
α d θ β<br />
Erori globale<br />
v 0.049 0.230 0.049 0.158 0.243 0.105<br />
vɺ 0.079 0.226 0.179 0.239 0.219 0.247<br />
ω 0 0.001 0 0 0.001 0.001<br />
ωɺ 0 0.002 0 0 0.001 0.002<br />
min v =0.049; max v =0.243; min ω =0; max ω =0.001;<br />
min v ɺ =0.079; max v ɺ =0.247; min ω ɺ =0; max ω ɺ =0.002.<br />
Modulul erorilor vitezelor si acceleraţiilor operaţionale în configuratia {3} Tabelul 8.20<br />
a<br />
Erori cinematice<br />
α d θ β<br />
Erori globale<br />
v 0.032 0.124 0.032 0.092 0.112 0.270<br />
vɺ 0.061 0.196 0.061 0.189 0.157 0.505<br />
ω 0 0.001 0 0.001 0 0.001<br />
ωɺ 0 0.003 0 0.002 0.002 0.004<br />
min v =0.032; max v =0.270; min ω =0; max ω =0.001;<br />
min v ɺ =0.061; max v ɺ =0.505; min ω ɺ =0; max ω ɺ =0.004.<br />
Aplicația 2. Simularea numerică a preciziei structurii de robot tip 6R<br />
Pentru structura de tip 6R, a cărei schemă cinematică este prezentată în figura de mai jos, s-a realizat<br />
simularea numerica a preciziei, utilizând aplicaţia software SimMecRob.<br />
Fig. 8.2<br />
186
APLICATII<br />
Matricele datelor de intrare. Pentru realizarea simulării numerice cu SimMEcROb, este necesar să se<br />
introducă ca şi dată de intrare matricea geometriei nominale (Tabelul 8.12). In Fig. 8.3 este reprezentată<br />
simularea unui proces de lucru, în care este implementat robotul de tip 6R. Matricele coordonatelor<br />
operaţionale (Tabelul 8.13), matricea configuraţiilor nominale (Tabelul 8.14), precum şi matricea parametrilor<br />
de distribuţie a maselor (DM) (Tabelul 8.15) sunt de asemenea implementate încă de la început ca şi date de<br />
intrare. Fig. 8.4 evidenţiază ciclograma procesului de lucru pentru fiecare cupla motoare.<br />
Fig. 8.3<br />
Matricea geometriei nominale Tabel 8.21 Matricea coordonatelor operaţionale Tabel 8.22<br />
Cupla<br />
i = 1→7<br />
Tipul<br />
cuplei<br />
x i i y i z mm<br />
k ix k iy<br />
mm<br />
k iz<br />
Pas<br />
x y<br />
mm<br />
z α z β x<br />
°<br />
γ<br />
z<br />
1 R 0 0 75 0 0 1 1 50 295 280 π π 0<br />
2<br />
3<br />
R<br />
R<br />
0<br />
0<br />
0<br />
0<br />
175<br />
475<br />
1<br />
1<br />
0<br />
0<br />
0<br />
0<br />
2<br />
3<br />
50<br />
50<br />
295<br />
295<br />
270<br />
280<br />
π<br />
π<br />
π<br />
π<br />
0<br />
0<br />
4 R 0 50 500 0 1 0 4 -170 360 350 π<br />
2 π 0<br />
5 R 0 250 500 1 0 0 5 -170 360 330 π<br />
2<br />
6 R 0 250 500 0 1 0 6 -170 360 350 π<br />
2<br />
187<br />
π 0<br />
π 0<br />
7 - 0 350 500 1 0 0 7 50 275 280 π π 0<br />
Robot n Mθ 6 R<br />
Matricea configuraţiilor nominale Tabelul 8.23<br />
q 1<br />
2 q 3 q 4 q 5 q 6 q<br />
°<br />
1 -2 -3 -4 0 -16 20<br />
2 -7 -9 -10 0 -47 60<br />
3 -9,61972780 -12,30163138 -13,93899278 0 -63,75937584 80,3802722<br />
4 -9,61972780 -12,43 -14,29 0 -63,31 80,3802722<br />
5 -9,61972780 -12,88 -15,18 0 -61,96 80,3802722<br />
6 -9,61972780 -13,01523396 -15,47828639 0 -61,50647965 80,3802722<br />
7 -9,61972780 -12,88 -15,18 0 -61,96 80,3802722<br />
8 -9,61972780 -12,43 -14,29 0 -63,31 80,3802722<br />
9 -9,61972780 -12,30163138 -13,93899278 0 -63,75937584 80,3802722<br />
10 0 -17 -5 0 -68 66<br />
11 16 -25 16 0 -81 40<br />
12 25,27772224 -29,39386472 26,79079779 0 -87,39693307 25,27772224<br />
13 25,27772224 -29,382 25,86 0 -86,48 25,27772224<br />
14 25,27772224 -29,344 23,06 0 -83,72 25,27772224
APLICATII<br />
Robot M MD<br />
6 R<br />
15 25,27772224 -29,33156070 22,12940949 0 -82,79784879 25,27772224<br />
16 25,27772224 -29,344 23,06 0 -83,72 25,27772224<br />
17 25,27772224 -29,382 25,86 0 -86,48 25,27772224<br />
18 25,27772224 -29,39386472 26,79079779 0 -87,39693307 25,27772224<br />
19 14 -22 12 0 -79 43<br />
20 1 -15 -3 0 -71 62<br />
21 -10,30484647 -8,72844316 -18,34576858 0 -62,92578826 79,69515353<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
Matricea parametrilor de distribuţie a maselor Tabelul 8.24<br />
M i x Ci y Ci z i i i i i i<br />
Ci I x I y I z I xy I yz I zx<br />
kg mm<br />
9,676<br />
6,594<br />
3,481<br />
0,899<br />
0,269<br />
0,072<br />
0<br />
0<br />
6,990<br />
0<br />
0<br />
0<br />
-43,220<br />
-77,087<br />
-30,407<br />
187,699<br />
270,855<br />
284,576<br />
177,236<br />
313,947<br />
528,351<br />
496,590<br />
500,000<br />
500,000<br />
188<br />
120149<br />
56265<br />
7946<br />
5485<br />
75<br />
30<br />
91708<br />
60092<br />
15647<br />
4969<br />
109<br />
30<br />
2<br />
kg⋅ mm<br />
61189<br />
102967<br />
18698<br />
849<br />
130<br />
10<br />
0<br />
-1281<br />
-987<br />
0<br />
0<br />
0<br />
39817<br />
0<br />
-507<br />
162<br />
0<br />
0<br />
Rezultatele experimentului numeric. Prin utilizarea funcţiei CONFIGURAȚIE din meniul simulatorului<br />
SimMEcROb rezultă vitezele şi acceleraţiile generalizate precum şi coeficienţii polinomiali ce<br />
caracterizează fiecare cuplă motoare. De exemplu, în Tabelele 8.16, respectiv 8.17. sunt prezentate<br />
valorile obţinute pentru coeficienţii polinomiali specifici primei şi ultimei secvenţe de lucru din ciclogramă.<br />
Cupla<br />
i = 1→<br />
6<br />
0<br />
0<br />
190<br />
0<br />
0<br />
0<br />
Matricea coeficienţilor polinomiali pentru prima secvenţă de lucru Tabelul 8.25<br />
Valorile coeficienţilor polinomiali (valori preluate din SimMEcROb)<br />
a<br />
a i13<br />
a i14<br />
a i21<br />
a i22<br />
a i23<br />
a i213<br />
i214<br />
1 -0,070837 0,035931 -0,091718 0,005463 -0,001011 -0,246307 -0,314766<br />
2 -0,111328 0,058968 -0,130815 0,035245 -0,009150 0,292286 0,182826<br />
3 -0,155601 0,085787 -0,164870 0,085196 -0,025046 -0,649977 -0,382143<br />
4 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000<br />
5 -0,605147 0,325894 -0,682485 0,248753 -0,107320 0,315693 0,174771<br />
6 0,745371 -0,396305 0,867856 -0,251945 0,082220 0,810659 0,501820<br />
Cupla<br />
Matricea coeficienţilor polinomiali pentru ultima secvenţă de lucru Tabelul 8.26<br />
Valorile coeficienţilor polinomiali (valori preluate din SimMEcROb)<br />
i = 1→<br />
6<br />
a i10<br />
i11<br />
a a i12<br />
a i20<br />
a i210<br />
a i211<br />
a i212<br />
1 0 0 0 -0,034888 -0,179762 0 0<br />
2 0 0 0 -0,052333 -0,150323 0 0<br />
3 0 0 0 -0,069777 -0,320031 0 0<br />
4 0 0 0 0,000000 0,000000 0 0<br />
5 0 0 0 -0,279111 -1,097705 0 0<br />
6 0 0 0 0,348888 1,390244 0 0<br />
În conformitate cu Algoritmul de modelare cinematică inversă (MCI) legile de variaţie în raport cu timpul<br />
pentru coordonatele generalizate ale robotului de tip 6R pot fi scrise în forma prezentată mai jos, astfel:<br />
⎡ ⎤ ⎡ ⎤<br />
⎢ ( ) ⎥ ⎢ ⎥<br />
⎢ ⎥ ⎢ ⎥<br />
⎢ ⎥ ⎢ ⎥<br />
⎢ ⎥ ⎢ ⎥<br />
⎢ ⎥ ⎢ ⎥<br />
⎢ ⎥ ⎢ ⎥<br />
t<br />
⎢qɺɺ ij ( t) ⎥ ⎢12 6 2<br />
0 0<br />
⎥<br />
⎢<br />
0 0 0 0 A<br />
⎥ ⎢ ⎥<br />
⎢ ⎥ ij0 ⎢ 1 ⎥<br />
2 ⎢ 2 2 2 ⎥<br />
⎣ ⎦ ⎣ ⎦<br />
⎢ t ⎥ t<br />
j ⎢⎣ j t j t j<br />
⎣ ⎦<br />
⎥⎦<br />
qij t 1 1 1 1 1 ⎡A 4<br />
ij4 0 0 0 0 ⎤ ⎡t ⎤<br />
⎢ 0 A 3<br />
( )<br />
ij3 0 0 0 ⎥ ⎢ ⎥<br />
qɺ ij t 4 3 2 1 ⎢ ⎥ ⎢t ⎥<br />
= 0 ⋅⎢ 0 0 Aij2 0 0 ⎥ ⋅⎢ 2<br />
t t<br />
⎥<br />
j t j t j t j t j ⎢ 0 0 0 Aij1 0 ⎥ ⎢ ⎥
APLICATII<br />
⎡ ⎤ ⎡ ⎤<br />
⎢q ( t) ⎥ ⎢ 1 1 1 1 ⎥<br />
i2<br />
⎢ ⎥ ⎢ ⎥ 3<br />
⎡ai23 0 0 0 ⎤ ⎡t ⎤<br />
⎢<br />
qɺ i2 ( t<br />
⎥ ) ⎢ 3 2 1 ⎥ ⎢ 0 a 2<br />
i22 0 0 ⎥ ⎢ ⎥<br />
⎢ ⎥ = ⎢ 0 ⎥ ⋅ ⎢ t<br />
t 0 0 a<br />
2 t2 t2 t2 i21 0 ⎥ ⋅⎢<br />
⎥<br />
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ t ⎥<br />
⎢ ⎥ 0 0 0 a<br />
q ( ) 6 2<br />
i20 1<br />
i2 t<br />
⎢ ⎥ ⎣ ⎦ ⎢ ⎥<br />
⎢<br />
ɺɺ<br />
⎥ ⎣ ⎦<br />
⎢ 0 0 ⎥<br />
⎢ 2 2 2<br />
t<br />
⎥ ⎢t 2 ⎣ 2 t ⎥<br />
2 ⎦<br />
⎣ ⎦<br />
unde j={1; 3}; A { { a ; b } ; k 0 4}<br />
ijk i1k i3k<br />
⎡bi34 ⎤ ⎡ 1 0 0 0 0 ⎤ ⎡ai34 ⎤<br />
⎢b ⎥<br />
i33 ⎢−4 1 0 0 0 ⎥ ⎢a ⎥<br />
i33<br />
⎢b ⎥<br />
= ⎢ 6 −3<br />
1 0 0 ⎥ ⋅<br />
⎢a ⎥<br />
⎢ i32 ⎥ i32<br />
b<br />
⎢<br />
i31 4 3 2 1 0 ⎥ ⎢ ⎥<br />
⎢ ⎥ −<br />
a<br />
⎢ ⎥ ⎢ i31 ⎥<br />
⎢⎣ b 1 −1 1 −1<br />
1<br />
i30 ⎥⎦ ⎣ ⎦ ⎢⎣ ai30<br />
⎥⎦<br />
= = → şi t ∈ [ 0; 1]<br />
reprezintă variabilele normalizate de timp.<br />
Funcţiile polinomiale prezentate anterior, descriu legea de mişcare din fiecare cuplă motoare<br />
(funcţiile de comandă cinematică). In Fig.8.4 – 8.6 sunt reprezentate, în formă grafică, conform<br />
SimMecRob, variaţiile în raport cu timpul pentru coordonatele generalizate ale robotului, viteze şi acceleraţii<br />
q t ; qɺ t ; qɺɺ t ; i = 1 → 6 .<br />
{ ( ) ( ) ( ) }<br />
i i i<br />
Prin aplicarea funcţiei CINEMATICĂ din meniul simulatorului SimMecRob, rezultă matricele<br />
generalizate ale coordonatelor operaţionale, viteze si acceleratii. In Fig.8.7.a sunt evidenţiate legile de<br />
variaţie în raport cu timpul pentru următorii parametrii: {POZ-poziţie; OR-orientare; V şi O viteza liniară si<br />
unghiulară; VD şi OD acceleraţie liniară şi unghiulară}. În Tabelul 8.27 este prezentat un exemplu de calcul<br />
bazat pe matricea Jacobiană. Utilizând funcţia DINAMICĂ din meniul SimMEcROb pot fi determinate<br />
matricele transformărilor dinamice, funcţiile de comandă şi variabilele operaţionale. De exemplu, în<br />
Fig.8.7.b sunt reprezentate grafic legile de variaţie ale funcţiilor de comandă dinamică { QMi; i = 1 → 6}<br />
.<br />
Sunt de asemenea prezentate matricele dinamicii care rezultă in urma simulării, forţele generalizate<br />
motoare precum şi funcţiile de comandă dinamică pentru coordonatele operaţionale.<br />
Fig.8.4<br />
189
APLICATII<br />
Fig.8.4<br />
Fig.8.5<br />
Fig.8.6<br />
190
APLICATII<br />
Fig.8.7.a<br />
Fig.8.7.b<br />
191
APLICATII<br />
192<br />
Algoritmul matricei Jacobiene. Viteze şi acceleraţii operaţionale Tabelul 8.27<br />
Tipul robotului <br />
Cfg<br />
k<br />
XVQ<br />
M<br />
( )<br />
( ) [ ] ( ) ( )<br />
T T<br />
0 0 0 T T<br />
12 12<br />
Matrix J 0 J J<br />
θ θ θ θ θ<br />
×<br />
⎧ ⎫<br />
⎪ ⎪<br />
⎡ ⎤<br />
⎡ ⎤ ⎡ ⎤ ⎡ ⎤<br />
⋅<br />
⎨ ⎬<br />
⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />
⎢ ⎥<br />
⎣ ⎦ ⎣ ⎦ ⎣ ⎦<br />
⎣ ⎦<br />
⎪ ⎪<br />
⎩ ⎭<br />
ɺ ɺɺ<br />
ɺ<br />
Valori<br />
Comp. Modul.<br />
1<br />
z<br />
y<br />
x<br />
z<br />
y<br />
x<br />
z<br />
y<br />
x<br />
z<br />
y<br />
x<br />
OD<br />
OD<br />
OD<br />
VD<br />
VD<br />
VD<br />
O<br />
O<br />
O<br />
V<br />
V<br />
V<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎦<br />
⎤<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎣<br />
⎡<br />
⋅<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎦<br />
⎤<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎣<br />
⎡<br />
−<br />
−<br />
−<br />
−<br />
−<br />
−<br />
−<br />
−<br />
−<br />
−<br />
−<br />
−<br />
−<br />
−<br />
−<br />
−<br />
−<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
q<br />
q<br />
q<br />
q<br />
q<br />
q<br />
q<br />
q<br />
q<br />
q<br />
q<br />
q<br />
1<br />
...<br />
1<br />
0<br />
...<br />
0<br />
0<br />
...<br />
0<br />
0<br />
...<br />
0<br />
0<br />
...<br />
50<br />
0<br />
...<br />
295<br />
0<br />
0<br />
04<br />
,<br />
0<br />
0<br />
0<br />
0<br />
04<br />
,<br />
0<br />
0<br />
02<br />
,<br />
0<br />
0<br />
0<br />
0<br />
01<br />
,<br />
0<br />
0<br />
01<br />
,<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
4<br />
03<br />
,<br />
0<br />
0<br />
0<br />
0<br />
0<br />
54<br />
,<br />
10<br />
4<br />
,<br />
11<br />
01<br />
,<br />
0<br />
0<br />
0<br />
0<br />
79<br />
,<br />
1<br />
93<br />
,<br />
1<br />
03<br />
,<br />
0<br />
0<br />
...<br />
0<br />
0<br />
...<br />
0<br />
0<br />
...<br />
0<br />
0<br />
...<br />
0<br />
0<br />
...<br />
0<br />
0<br />
...<br />
0<br />
1<br />
0<br />
44<br />
,<br />
0<br />
0<br />
0<br />
1<br />
0<br />
17<br />
,<br />
0<br />
88<br />
,<br />
0<br />
17<br />
,<br />
0<br />
17<br />
,<br />
0<br />
0<br />
0<br />
99<br />
,<br />
0<br />
15<br />
,<br />
0<br />
99<br />
,<br />
0<br />
99<br />
,<br />
0<br />
0<br />
0<br />
0<br />
0<br />
29<br />
,<br />
235<br />
21<br />
,<br />
299<br />
0<br />
0<br />
0<br />
0<br />
87<br />
,<br />
86<br />
12<br />
,<br />
202<br />
50<br />
0<br />
0<br />
0<br />
72<br />
,<br />
14<br />
26<br />
,<br />
34<br />
295<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
0<br />
002<br />
,<br />
0<br />
01<br />
,<br />
0<br />
79<br />
,<br />
2<br />
26<br />
,<br />
25<br />
33<br />
,<br />
4<br />
05<br />
,<br />
0<br />
01<br />
,<br />
0<br />
04<br />
,<br />
0<br />
57<br />
,<br />
11<br />
03<br />
,<br />
0<br />
01<br />
,<br />
0<br />
−<br />
−<br />
−<br />
−<br />
−<br />
01<br />
,<br />
0<br />
07<br />
,<br />
26<br />
05<br />
,<br />
0<br />
57<br />
,<br />
11<br />
2<br />
z<br />
y<br />
x<br />
z<br />
y<br />
x<br />
z<br />
y<br />
x<br />
z<br />
y<br />
x<br />
OD<br />
OD<br />
OD<br />
VD<br />
VD<br />
VD<br />
O<br />
O<br />
O<br />
V<br />
V<br />
V<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎦<br />
⎤<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎣<br />
⎡<br />
⋅<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎦<br />
⎤<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎣<br />
⎡<br />
−<br />
−<br />
−<br />
−<br />
−<br />
−<br />
−<br />
−<br />
−<br />
−<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
q<br />
q<br />
q<br />
q<br />
q<br />
q<br />
q<br />
q<br />
q<br />
q<br />
q<br />
q<br />
1<br />
...<br />
1<br />
0<br />
...<br />
0<br />
0<br />
...<br />
0<br />
0<br />
...<br />
0<br />
0<br />
...<br />
50<br />
0<br />
...<br />
295<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
...<br />
0<br />
0<br />
...<br />
0<br />
0<br />
...<br />
0<br />
0<br />
...<br />
0<br />
0<br />
...<br />
0<br />
0<br />
...<br />
0<br />
1<br />
0<br />
48<br />
,<br />
0<br />
0<br />
0<br />
1<br />
0<br />
17<br />
,<br />
0<br />
87<br />
,<br />
0<br />
17<br />
,<br />
0<br />
17<br />
,<br />
0<br />
0<br />
0<br />
99<br />
,<br />
0<br />
15<br />
,<br />
0<br />
99<br />
,<br />
0<br />
99<br />
,<br />
0<br />
0<br />
0<br />
0<br />
0<br />
64<br />
,<br />
231<br />
21<br />
,<br />
299<br />
0<br />
0<br />
0<br />
0<br />
92<br />
,<br />
95<br />
26<br />
,<br />
192<br />
50<br />
0<br />
0<br />
0<br />
26<br />
,<br />
16<br />
59<br />
,<br />
32<br />
295<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
3<br />
z<br />
y<br />
x<br />
z<br />
y<br />
x<br />
z<br />
y<br />
x<br />
z<br />
y<br />
x<br />
OD<br />
OD<br />
OD<br />
VD<br />
VD<br />
VD<br />
O<br />
O<br />
O<br />
V<br />
V<br />
V<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎦<br />
⎤<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎣<br />
⎡<br />
⋅<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎦<br />
⎤<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎣<br />
⎡<br />
−<br />
−<br />
−<br />
−<br />
−<br />
−<br />
−<br />
−<br />
−<br />
−<br />
−<br />
−<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
q<br />
q<br />
q<br />
q<br />
q<br />
q<br />
q<br />
q<br />
q<br />
q<br />
q<br />
q<br />
1<br />
...<br />
1<br />
0<br />
...<br />
0<br />
0<br />
...<br />
0<br />
0<br />
...<br />
0<br />
0<br />
...<br />
50<br />
0<br />
...<br />
295<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
13<br />
,<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
02<br />
,<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
0<br />
...<br />
0<br />
0<br />
...<br />
0<br />
0<br />
...<br />
0<br />
0<br />
...<br />
0<br />
0<br />
...<br />
0<br />
0<br />
...<br />
0<br />
1<br />
0<br />
44<br />
,<br />
0<br />
0<br />
0<br />
1<br />
0<br />
17<br />
,<br />
0<br />
88<br />
,<br />
0<br />
17<br />
,<br />
0<br />
17<br />
,<br />
0<br />
0<br />
0<br />
99<br />
,<br />
0<br />
15<br />
,<br />
0<br />
99<br />
,<br />
0<br />
99<br />
,<br />
0<br />
0<br />
0<br />
0<br />
0<br />
29<br />
,<br />
235<br />
21<br />
,<br />
299<br />
0<br />
0<br />
0<br />
0<br />
87<br />
,<br />
86<br />
12<br />
,<br />
202<br />
50<br />
0<br />
0<br />
0<br />
72<br />
,<br />
14<br />
26<br />
,<br />
34<br />
295<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
ɺ<br />
0<br />
02<br />
,<br />
0<br />
09<br />
,<br />
0<br />
0<br />
0<br />
0<br />
0<br />
02<br />
,<br />
0<br />
13<br />
,<br />
0<br />
0<br />
0<br />
0<br />
−<br />
−<br />
09<br />
,<br />
0<br />
0<br />
13<br />
,<br />
0<br />
0
APLICATII<br />
Tipul robotului <br />
Matricele dinamicii Tabelul 8.28<br />
Matricele dinamicii<br />
Simbol Expresie numerică<br />
Prima<br />
configuratie<br />
M ( θ ) ⋅<br />
ɺ<br />
θ<br />
ɺ<br />
( 6×6<br />
)<br />
⎡266061,<br />
11<br />
⎢<br />
− 8084,<br />
79<br />
⎢<br />
⎢ −952,<br />
73<br />
⎢<br />
⎢<br />
2356,<br />
73<br />
⎢ 0<br />
⎢<br />
⎣ −10<br />
− 8084,<br />
79<br />
885318,<br />
77<br />
141844,<br />
61<br />
0<br />
−1297,<br />
32<br />
0<br />
− 952,<br />
73<br />
141844,<br />
61<br />
92717,<br />
21<br />
0<br />
1076,<br />
73<br />
0<br />
2356,<br />
73<br />
0<br />
0<br />
1151,<br />
27<br />
0<br />
4,<br />
42<br />
0<br />
−1297,<br />
32<br />
1076,<br />
73<br />
0<br />
363,<br />
07<br />
0<br />
−10⎤<br />
⎡qɺ<br />
ɺ 1 ⎤<br />
0<br />
⎥ ⎢qɺ<br />
ɺ ⎥<br />
⎥ ⎢ 2 ⎥<br />
0 ⎥ ⎢qɺ<br />
ɺ 3 ⎥<br />
⎥ ⋅ ⎢ ⎥<br />
4,<br />
42<br />
⎥ ⎢<br />
qɺ<br />
ɺ 4 ⎥<br />
0 ⎥ ⎢qɺ<br />
ɺ ⎥ 5<br />
⎥ ⎢ ⎥<br />
10 ⎦ ⎣qɺ<br />
ɺ 6 ⎦<br />
( ) [ ]<br />
( ) θ θ θ ⋅<br />
ɺ ɺ<br />
× 2 6<br />
C 6<br />
B<br />
⎡−179334<br />
35167 0 4847 0<br />
⎢ 0 0 2748,<br />
3 0 0<br />
⎢<br />
⎢ 0 0 −3308<br />
0 0<br />
⎢<br />
⎢<br />
−2748,<br />
3 3308 0 556 0<br />
⎢ 0 0 −556<br />
0 0<br />
⎢<br />
⎣ 0 0 0 0 0<br />
286,<br />
81 356,<br />
09<br />
118184 0<br />
0 0<br />
0 0<br />
−3811<br />
0<br />
0 −8,<br />
97<br />
0 0<br />
4847 0<br />
3811 0<br />
0 8,<br />
97<br />
0 0<br />
0 0<br />
356,<br />
09<br />
0<br />
0<br />
0<br />
0<br />
−8,<br />
97<br />
0 0<br />
4847 0<br />
3811 0<br />
0 8,<br />
97<br />
0 0<br />
0 0<br />
−2238<br />
0<br />
0 −8,<br />
97<br />
0 −8,<br />
97<br />
−204<br />
0<br />
0 −8,<br />
97<br />
8,<br />
97 0<br />
0⎤<br />
0⎥<br />
⎥<br />
0⎥<br />
⎥⋅<br />
9<br />
⎥<br />
0⎥<br />
⎥<br />
0⎦<br />
[ ] T<br />
⋅ qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
( θ )<br />
C ⋅ θ<br />
( 6×<br />
6)<br />
( θ ; θ ) ɺ<br />
V<br />
( 1×<br />
6)<br />
[ ɺ 2 ]<br />
T<br />
( θ )<br />
T<br />
g<br />
( 1×<br />
6 )<br />
Q<br />
T<br />
Q SU<br />
( 1×<br />
5)<br />
1 2<br />
⎡<br />
⎢<br />
⎢<br />
⎢−<br />
⎢<br />
⎢<br />
⎢−<br />
⎢<br />
⎣<br />
1 3<br />
0<br />
89667 1,<br />
k = 1 → 6 ( t)<br />
1<br />
2<br />
M XDF<br />
VD(<br />
t)<br />
OD(<br />
t)<br />
V(<br />
t)<br />
O(<br />
t)<br />
POZ(<br />
t)<br />
OR(<br />
t)<br />
VD(<br />
t)<br />
OD(<br />
t)<br />
V(<br />
t)<br />
O(<br />
t)<br />
POZ(<br />
t)<br />
OR(<br />
t)<br />
17583,<br />
3<br />
0<br />
2423,<br />
42<br />
0<br />
1 4<br />
1 5<br />
−1411,<br />
85<br />
0<br />
−59092<br />
0<br />
−2423,<br />
42<br />
0<br />
1 6<br />
0<br />
0<br />
0<br />
2 3<br />
143,<br />
4<br />
59092<br />
−1906<br />
2 4<br />
0<br />
1585<br />
2331,<br />
5<br />
0<br />
101,<br />
95<br />
0<br />
193<br />
2 5<br />
0<br />
0<br />
0<br />
0<br />
2 6<br />
2423,<br />
42<br />
1905,<br />
72<br />
3 4<br />
0⎤<br />
0⎥<br />
⎥<br />
0⎥<br />
⎥ ⋅<br />
0<br />
⎥<br />
0⎥<br />
⎥<br />
0⎦<br />
[ 0 0,<br />
111 − 0,<br />
011 0 − 0,<br />
004 0]<br />
[ 0 2232,<br />
454 2229,<br />
305 0 0 0]<br />
[ 0 0 0 0 0 0]<br />
3 5<br />
3 6<br />
4 5<br />
4 6<br />
[ ] T<br />
2 2 2 2 2 2<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
qɺ<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
5 6<br />
Funcţiile dinamice Tabelul 8.29<br />
Funcţiile dinamice ale coordonatelor operaţionale <br />
0,<br />
001⋅<br />
( 10 −t<br />
) + 0,<br />
009 ⋅(<br />
t −7)<br />
0,<br />
000 ⋅(<br />
10 −t<br />
) + 0,<br />
000 ⋅(<br />
t −7)<br />
2<br />
2<br />
0,<br />
000 ⋅(<br />
10 −t)<br />
+ 0.<br />
004⋅<br />
( t −7)<br />
−7,<br />
437<br />
2<br />
2<br />
0,<br />
000 ⋅(<br />
10 −t)<br />
+ 0.<br />
000 ⋅(<br />
t −7)<br />
−32,<br />
355<br />
3<br />
3<br />
0,<br />
000 ⋅(<br />
10 −t<br />
) + 0,<br />
001⋅<br />
( t −7)<br />
+ 161,<br />
206 ⋅(<br />
t −7)<br />
+ 168,<br />
631⋅<br />
( 10 −t<br />
)<br />
3<br />
3<br />
0,<br />
000 ⋅(<br />
10 −t<br />
) + 0,<br />
000 ⋅(<br />
t −7)<br />
+ 60,<br />
000 ⋅(<br />
t −7)<br />
+ 92,<br />
355 ⋅(<br />
10 −t<br />
)<br />
0,<br />
158 ⋅(<br />
11−<br />
t)<br />
+ 0,<br />
000 ⋅(<br />
t −10,<br />
8)<br />
0,<br />
000 ⋅(<br />
11−<br />
t)<br />
+ 0,<br />
000 ⋅(<br />
t −10,<br />
8)<br />
2<br />
2<br />
−0,<br />
079 ⋅(<br />
11−<br />
t)<br />
+ 0.<br />
000 ⋅(<br />
t −10,<br />
8)<br />
−7,<br />
572<br />
2<br />
2<br />
0,<br />
000 ⋅(<br />
11−<br />
t)<br />
+ 0.<br />
000 ⋅(<br />
t −10,<br />
8)<br />
−2,<br />
467<br />
3<br />
3<br />
0,<br />
026 ⋅(<br />
11−<br />
t)<br />
+ 0,<br />
000 ⋅(<br />
t −10,<br />
8)<br />
+ 2379,<br />
207 ⋅(<br />
t −10,<br />
8)<br />
+ 2386,<br />
780 ⋅(<br />
11−<br />
t)<br />
3<br />
3<br />
0,<br />
000 ⋅(<br />
11−<br />
t)<br />
+ 0,<br />
000 ⋅(<br />
t −10,<br />
8)<br />
+ 900,<br />
000(<br />
t −10,<br />
8)<br />
+ 902,<br />
467 ⋅(<br />
11−<br />
t)
APLICATII<br />
3<br />
4<br />
5<br />
6<br />
VD(<br />
t)<br />
OD(<br />
t)<br />
V(<br />
t)<br />
O(<br />
t)<br />
POZ(<br />
t)<br />
OR(<br />
t)<br />
VD(<br />
t)<br />
OD(<br />
t)<br />
V(<br />
t)<br />
O(<br />
t)<br />
POZ(<br />
t)<br />
OR(<br />
t)<br />
VD(<br />
t)<br />
OD(<br />
t)<br />
V(<br />
t)<br />
O(<br />
t)<br />
POZ(<br />
t)<br />
OR(<br />
t)<br />
VD(<br />
t)<br />
OD(<br />
t)<br />
V(<br />
t)<br />
O(<br />
t)<br />
POZ(<br />
t)<br />
OR(<br />
t)<br />
Q<br />
m<br />
( θ )<br />
0,<br />
219 ⋅(<br />
12 −t<br />
) + 0,<br />
000 ⋅(<br />
t −11,<br />
8)<br />
0,<br />
002⋅<br />
( 12 −t)<br />
+ 0,<br />
001⋅<br />
( t −11,<br />
8)<br />
2<br />
2<br />
−0,<br />
109 ⋅(<br />
12 −t)<br />
+ 0.<br />
000 ⋅(<br />
t −11,<br />
8)<br />
+ 8,<br />
555<br />
2<br />
2<br />
−0,<br />
001⋅<br />
( 12 −t)<br />
+ 0.<br />
000 ⋅(<br />
t −11,<br />
8)<br />
−2,<br />
417<br />
3<br />
3<br />
0,<br />
036 ⋅(<br />
12 −t<br />
) + 0,<br />
000 ⋅(<br />
t −11,<br />
8)<br />
+ 2418,<br />
290 ⋅(<br />
t −11,<br />
8)<br />
+ 2409,<br />
736 ⋅(<br />
12 −t)<br />
3<br />
3<br />
0,<br />
000 ⋅(<br />
12 −t)<br />
+ 0,<br />
000 ⋅(<br />
t −11,<br />
8)<br />
+ 900,<br />
000 ⋅(<br />
t −11,<br />
8)<br />
+ 902,<br />
417 ⋅(<br />
12 −t)<br />
0,<br />
000 ⋅(<br />
36 −t<br />
) + 0,<br />
000 ⋅(<br />
t −30)<br />
0,<br />
000 ⋅(<br />
36 −t<br />
) + 0,<br />
000 ⋅(<br />
t −30)<br />
2<br />
2<br />
0,<br />
000 ⋅(<br />
36 −t<br />
) + 0.<br />
000 ⋅(<br />
t −30)<br />
+ 4,<br />
452<br />
2<br />
2<br />
0,<br />
000 ⋅(<br />
36 −t<br />
) + 0.<br />
000 ⋅(<br />
t −30)<br />
+ 1,<br />
588<br />
3<br />
3<br />
0,<br />
000 ⋅(<br />
36 −t)<br />
+ 0,<br />
000 ⋅(<br />
t −30)<br />
+ 100,<br />
139 ⋅(<br />
t −30)<br />
+ 95,<br />
689 ⋅(<br />
36 −t<br />
)<br />
3<br />
3<br />
0,<br />
000 ⋅(<br />
36 −t)<br />
+ 0,<br />
000 ⋅(<br />
t −30)<br />
+ 33,<br />
541⋅<br />
( t −30<br />
) + 31,<br />
953⋅<br />
( 36 −t<br />
)<br />
0,<br />
050 ⋅(<br />
38 −t<br />
) + 0,<br />
000 ⋅(<br />
t − 37,<br />
6)<br />
0,<br />
000 ⋅(<br />
38 −t<br />
) + 0,<br />
000 ⋅(<br />
t − 37,<br />
6)<br />
2<br />
2<br />
−0,<br />
025 ⋅(<br />
38 −t<br />
) + 0.<br />
000 ⋅(<br />
t −37<br />
, 6)<br />
−7,<br />
559<br />
2<br />
2<br />
0,<br />
000 ⋅(<br />
38 −t)<br />
+ 0.<br />
000 ⋅(<br />
t −37,<br />
6)<br />
+ 0,<br />
000<br />
3<br />
3<br />
0,<br />
008 ⋅(<br />
38 −t<br />
) + 0,<br />
000 ⋅(<br />
t −37,<br />
6)<br />
+ 1465,<br />
009 ⋅(<br />
t −37,<br />
6)<br />
+ 1472,<br />
569 ⋅(<br />
38 −t<br />
)<br />
3<br />
3<br />
0,<br />
000 ⋅(<br />
38 −t<br />
) + 0,<br />
000 ⋅(<br />
t −37,<br />
6)<br />
+ 503,<br />
115 ⋅(<br />
t −37,<br />
6)<br />
+ 503,<br />
115 ⋅(<br />
38 −t<br />
)<br />
0,<br />
050 ⋅(<br />
40 − t)<br />
+ 0,<br />
000 ⋅(<br />
t −39,<br />
6)<br />
0,<br />
000 ⋅(<br />
40 − t)<br />
+ 0,<br />
000 ⋅(<br />
t −39,<br />
6)<br />
2<br />
2<br />
−0,<br />
025 ⋅(<br />
40 −t<br />
) + 0.<br />
000 ⋅(<br />
t −39,<br />
6)<br />
+ 7,<br />
247<br />
2<br />
2<br />
0,<br />
000 ⋅(<br />
40 −t)<br />
+ 0.<br />
000 ⋅(<br />
t −39,<br />
6)<br />
+ 0.<br />
000<br />
3<br />
3<br />
0,<br />
008 ⋅(<br />
40 −t)<br />
+ 0,<br />
000 ⋅(<br />
t −39,<br />
6)<br />
+ 1502,<br />
082⋅<br />
( t −39,<br />
6)<br />
+ 1494,<br />
837 ⋅(<br />
40 −t)<br />
3<br />
3<br />
0,<br />
000 ⋅(<br />
40 −t)<br />
+ 0,<br />
000 ⋅(<br />
t −39,<br />
6)<br />
+ 503,<br />
115 ⋅(<br />
t −39,<br />
6)<br />
+ 503,<br />
115 ⋅(<br />
40 −t)<br />
⎪<br />
⎧M<br />
= ⎨<br />
⎪⎩<br />
ɺ<br />
Forţele generalizate motoare Tabelul 8.30<br />
ɺ ɺ ɺ<br />
⎪<br />
⎫<br />
g SU<br />
⎬<br />
( θ ) + Qg<br />
( θ ) + QSU<br />
( θ ) ⎪⎭ 2<br />
( θ ) ⋅θ<br />
+ B(<br />
θ ) ⋅[<br />
θθ<br />
] + C(<br />
θ ) ⋅[<br />
θ ] + Q ( θ ) + Q ( θ )<br />
Q<br />
iö<br />
Cfg. Q m1<br />
Q m2<br />
Q m3<br />
Q m4<br />
Q m5<br />
Q m6<br />
〈 N ⋅mm〉<br />
Robot Type <br />
1 -0,584 2292,928 2232,339 0,000 -0,214 0,000<br />
2 0,000 2570,902 2276,202 0,000 0,000 0,000<br />
3 0,000 2232,375 2229,433 0,000 0,033 0,000<br />
4 0,000 8429,665 1546,357 0,000 0,000 0,000<br />
5 0,000 8562,875 1703,901 0,000 0,000 0,000<br />
6 0,000 8429,665 1546,357 0,000 0,000 0,000<br />
7 0,000 791,246 2247,063 0,000 0,000 0,000<br />
194
APLICATII<br />
Aplicația 3. Simularea numerică a preciziei unei structuri de robot tip 6R<br />
În vederea realizării simulării numerice pentru o structură de robot de tip 6R , implementat într-un<br />
proces de lucru, s-a utilizat aplicaţia software SimMEcROb. În figura următoare este reprezentată schema<br />
cinematică a robotului de tip 6R utilizat precum şi cele şapte configuraţii adoptate ( P1 → P7<br />
).<br />
Fig. 8.8<br />
Dintre matricele datelor iniţiale în tabelul următor este prezentată matricea datelor de intrare ce<br />
corespunde celei de-a treia configuraţii a structurii de robot studiată.<br />
Cupla<br />
{ }<br />
3 { }<br />
4<br />
970<br />
380<br />
520<br />
450<br />
{ }<br />
2<br />
{ }<br />
1<br />
{ }<br />
0<br />
950<br />
{ }<br />
5<br />
{ }<br />
6<br />
P2 = P6<br />
P7<br />
Matricea erorilor relative (geometriei reale) Tabelul 8.31<br />
z<br />
x<br />
y<br />
z<br />
q Δ<br />
Δ xi<br />
i y Δ i Δ Δ Ai Δ Ai Δ Ai<br />
i<br />
mm °<br />
1. 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000<br />
2. 0,0000 0,0000 0,0000 0,0000 0,0000 0,5000 0,2000<br />
3. 0,0000 0,0000 0,0000 0,0000 0,0000 0,5000 0,2000<br />
4. 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000<br />
5. 0,0000 0,0000 0,0000 0,0000 0,0000 0,5000 0,2000<br />
6. 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000<br />
620<br />
Prin aplicarea următoarelor funcţii din meniul SimMEcROb şi anume: GEOMETRIE, CONFIGURAȚII,<br />
CINEMATICĂ, DISTRIBUȚIA MASELOR, DINAMICĂ şi ERORI, se obţin toate matricele amintite în<br />
capitolele anterioare, corespunzătoare celor şapte configuraţii luate în studiu.<br />
În continuare sunt prezentate tabelar, câteva dintre aceste matrice obţinute cu simulatorul<br />
SimMEcROb: matricea erorilor de tip DH, matricea erorilor de poziţie şi orientare, matricea erorilor de<br />
viteze şi acceleraţii, precum şi matricea erorilor dinamice.<br />
195<br />
P = P1<br />
{ }<br />
7<br />
P3 = P5<br />
P4
APLICATII<br />
Cupla<br />
Matricea erorilor de tip DH Tabelul 8.32<br />
d<br />
θ<br />
Δ<br />
Δ ai−1 i Δ Δ αi −1<br />
i Δ βi−1 mm °<br />
1. 0,0000 0,0000 -0,0500 0,0500 0,0000<br />
2. -0,0500 0,0500 0,0000 0,0500 -0,0500<br />
3. 0,0001 0,0000 0,0500 -0,0500 -0,0500<br />
4. 0,0000 0,0000 0,0500 0,0500 0,0500<br />
5. 0,0000 0,0000 0,0500 0,0500 -0,0500<br />
6. 0,0000 0,0000 0,0000 0,0500 -0,0500<br />
Valoarea<br />
{ }<br />
{ }<br />
Matricea erorilor de poziţie şi orientare Tabelul 8.33<br />
d δ<br />
mm °<br />
max. pentru x = 1, y = g<br />
4,5321 0,0044<br />
{ }<br />
min. pentru x = 3, y = p, e, g<br />
0,0000 0,0000<br />
Valoarea<br />
{ }<br />
{ }<br />
Matricea erorilor de viteze şi acceleraţii Tabelul 8.34<br />
Δ v<br />
Δ ω<br />
Δvɺ Δ ɺ ω<br />
1<br />
mm s −<br />
⋅<br />
196<br />
1<br />
rad s −<br />
⋅<br />
2<br />
mm s −<br />
⋅<br />
2<br />
rad s −<br />
⋅<br />
max. pentru x = 1, y = g 2,9550 0,0040 4,545 0,021<br />
{ }<br />
min. pentru x = 3, y = p, e, g 0,0000 0,0000 0,0000 0,0000<br />
Valoarea<br />
⎧x = 1 ⎫<br />
⎪ ⎪<br />
max. pentru ⎨y = β ⎬<br />
⎪ i = 2 ⎪<br />
⎩ ⎭<br />
⎧x = 3 ⎫<br />
⎪ ⎪<br />
min. pentru ⎨i = 3→6 ⎬<br />
⎪<br />
y = { p, e, g}<br />
⎪<br />
⎩ ⎭<br />
Δ QmQ<br />
N ⋅mm<br />
Valoarea<br />
⎧x = 1 ⎫<br />
42,800 max. pentru ⎨ ⎬<br />
⎩y = g ⎭<br />
⎧⎪ x = 3 ⎫⎪<br />
min. pentru ⎨ ⎬<br />
⎪⎩ y p e g ⎪⎭<br />
0,0000 = { , , }<br />
Matricea erorilor dinamice Tabelul 8.35<br />
Δvɺ d<br />
2<br />
mm s −<br />
⋅<br />
Valoarea<br />
⎧x = 1 ⎫<br />
0,545 max. pentru ⎨ ⎬<br />
⎩y = g ⎭<br />
⎧⎪ x = 3 ⎫⎪<br />
min. pentru ⎨ ⎬<br />
⎪⎩ y p e g ⎪⎭<br />
0,0000 = { , , }<br />
Δ ɺ ωd<br />
2<br />
rad s −<br />
⋅<br />
0,0592<br />
0,0000
BIBLIOGRAFIE<br />
[A01] Abderrahim, M. & Whittaker, A. R. Kinematic model identification of industrial manipulators, Robotics<br />
and Computer-Integrated Manufacturing, Vol. 16, Nº 1, February 2000, pp 1-8, 2000<br />
[A02] M. Abderrahim, A. Khamis, S. Garrido and Luis Moreno . Accuracy and Calibration Issues of<br />
Industrial Manipulators, Industrial Robotics: Programming, Simulation and Applications, Low Kin<br />
Huat (Ed.), ISBN: 3-86611-286-6, Publisher Pro Literatur Verlag, Germany / ARS, Austria, 2006<br />
[A03] A. Albers, M. Frietsch, C.Sander, Improving Positioning Accuracy of Robotic Systems by Using<br />
Environmental Support Constraints – A New Bionic Approach, Social Robotics , Lecture Notes in<br />
Computer Science Volume 6414, pp 192-201, Online ISBN 978-3-642-17248-9, 2010<br />
[B01] T.,Bailey, Elkan,L.C, Estimating the accuracy of learned concepts, Proceedings of International Joint<br />
Conference on Articial Intelligence Morgan Kaufmann Publishers<br />
[B01] Bennet, D.J, Hollerbach, J.M., Autonomous Calibration of Single Loop Kinematic Chains Formed by<br />
Manipulators with Passive Endpoint Constraints, IEEE Transactions on Robotics and Automation.<br />
pg. 597 – 606, 1991.<br />
[B02] Bernhardt, R., Albright, S.L., Robot Calibration, Chapman & Hall. ISBN 0-412-491-40-0, 311 p.<br />
[B03] Bernstein, D.S., So, W.G., Some explicit Formulas for the Matrix Exponential, IEEE Transaction on<br />
Automatic Control, Vol. 38, No. 8, August, 1993.<br />
[B04] I.Beyer, L. & Wulfsberg, J. Practical robot calibration with ROSY, Robotica, Vol. 22,pp.505-12, Sep<br />
2004, Cambridge University Press (UK), ISSN: 0263-5747, 2004<br />
[B04] Borm, J.H, Meng, C.H., Experimental Study of Observability, of Parameter Errors in Robot<br />
Calibration. Arizona : IEEE Scottsadale, Proceedings of IEEE International Conference on Robotics<br />
and Automation, pg. 587 – 592, 1989.<br />
[B05] Borm, J.H, Meng, C.H., Determination of Optimal Measurement Configurations for Robot Calibration<br />
Basesd on Observability Measure. Int. Journal of Robotics Research, Vol.10 No.1, 1991.<br />
[C01] Caenen, J.L., Angue J.C., de Douai, E.M, Identification of Geometric and Non Geometric Parameters<br />
of Robots, In Proceedings of the IEEE International Conference on Robotics and Automation,<br />
Cincinnati, OH, USA, 13-18 Mai 1990.<br />
197
[C02] H.Chung, L. Ojeda, J. Borenstein, Accurate Mobile Robot Dead-reckoning With a Precisioncalibrated<br />
Fiber Optic Gyroscope, IEEE Transactions on Robotics and Automation, Vol. 17, No. 1,<br />
Feb.2001, pp. 80-84.<br />
[C03] Craig, J.J., Introduction to Robotics, Addison-Wesley, Amsterdam, 1989.<br />
[D01] Davidoviciu, A., et al., Modelarea, simularea şi comanda manipulatoarelor şi roboţilor industriali,<br />
Editura Tehnică, Bucureşti, 1986.<br />
[D02] Drapikowski, P., Nowakowski, T. 3D Object Modelling in Mobile Robot Environment Using Bsplines<br />
Surfaces. Proc. Of the First Int. Symposium on 3D Data Processing Visualization and<br />
Transmission, 2002.<br />
[D03] Driels, M.R, Swayze, L.W, Potter, L.S., Full Pose Calibration of a robot Manipulator Using a Coordinate<br />
Measuring Machine, Journal of Advanced Manufacturing Technologies, Vol. 8, pg. 34 - 41., 1993<br />
[D04] P. Drouet, Modeling, identification and compensation of positioning errors in high accuracy<br />
manipulators under variable loading: application to a medical patient positioning system, Ph.D.<br />
Thesis, Universite´ de Poitiers, France, 1999<br />
[D05] Duca, A., Negrean, I., K. Kacso, Matrix Exponentials in the Fanuc Robot Geometry, Acta Technica<br />
Napocensis, Series: Applied Mathematics and Mechanics, Cluj – Napoca, 2008<br />
[D06] Duong, H.N., Landau, I.D., On Test Horizon for Model Validation by Output Error, IEEE Transactions<br />
on Automatic Control, Vol.39, No.1, January 1994.<br />
[E01] Elatta, A.Y. ; Gen, L.P; Zhi, F.L. ; Daoyuan Y. & Fei, L. An Overview of Robot Calibration,<br />
Information Technology Journal, Vol. 3, Nº 1, 2004, pp. 74-78, ISSN 1682-6027, 2004<br />
[E02] Everett, L., Driels, M., Mooring, B., Kinematic Modelling for Robot Calibration, Proceedings of the<br />
IEEE International Conference on Robotics and Automation, Raleigh, NC, USA, April 1987.<br />
[FO1] Fixel,P, Absolute Accuracy Marketing Presentation, ABB Automation Technologies AB,<br />
peter.fixell@se.abb.com, June 2006.<br />
[G01] Gong, C., Yuan, J., Non Geometric Error Identification and Compensation for Robotic System,<br />
Int. J Mach. Tools Manuf., 2000.<br />
[H01] Handra-Luca, V., Mătieş, V., Brişan, C., Roboţi, Editura Dacia, Cluj-Napoca, 1996.<br />
[H02] J.M. Hollerbach, C.W. Wampler, The calibration index and taxonomy for robot kinematic calibration<br />
methods, International Journal of Robotics Research 15 (6), pg. 573–591, 1996<br />
[H03] Horaud, R., Dornaika, F., Hand – eye Calibration. Int Journal of Robotics Research., 1995.<br />
[I01] Ispas, V., Aplicaţiile cinematicii în construcţia manipulatoarelor şi roboţilor industriali, Editura<br />
Academiei Române, Bucureşti, 1990.<br />
198
[J01] Järviluoma, M., Heikkilä, T., Modelling the Positioning Accuracy of Sensor Based Robots, SPIE<br />
Vol. 3208. 0277-786X97, 1997.<br />
[J02] Judd, R.P, Knasinky, A.B., A Technique to Calibrate Industrial Robots with Experimental Verification,<br />
1991, IEEE Transactions on Robotics and Automation, pg. 721 - 731.<br />
[K01] Kevin l. Conrad, Panayiotis s. Shiakolas - Robotic Calibration Issues: Accuracy, Repeatability and<br />
Calibration, Proceedings of the 8th Mediterranean Conference on Control & Automation (med 2000),<br />
Rio, Patras, Greece, 17-19 July 2000;<br />
[K02] Khalil, W., Gautier, M., Enguehard, Ch. , Identifiable Parameters and Optimum Configurations for<br />
Robots Calibration. Cambridge University Press. 1991, Robotica, Vol. IX, pg. 63 - 70.<br />
[K03] Kreyszig, E., Advanced Engineering Mathematics. New York, John Wiley & Sons, 1993.<br />
[K04] T. R. Kurfess , Robotics and automation handbook, Edited by Thomas R. Kurfess, CRC Press, 2005<br />
[K05] K. Kacso, Contribuții privind modelarea și simularea roboților mobili și roboților cu structură serială,<br />
teză de doctorat, februarie, 2011.<br />
[L01] F. Lange, J. Langwald, and G. Hirzinger. Predictive feedforward control for high speed tracking<br />
tasks. In European Control Conference, Karlsruhe, Germany, August / September 1999.<br />
[L02] Lewis, F.L., Abdallah, C.T., Dawson, D.M., Control of Robot Manipulators, MacMillan Publishing<br />
Company, New-York, 1993.<br />
[L03] Lung-Wen Tsai, Robot Analysis: The Mechanics of Serial and Parallel Manipulators Wiley-IEEE,<br />
pag.26, 1999<br />
[M01] C. Mavroidis, S. Dubowsky, P. Drouet, J. Hintersteiner, J. Flanz, A systematic error analysis of<br />
robotic manipulators: application to a high performance medical robot, Proceedings of the 1997 IEEE<br />
Int. Conference of Robotics and Automation, Albuquerque, New Mexico, pp. 980–985, 1997.<br />
[M02] M. Meggiolaro, C. Mavroidis, S. Dubowsky, Identification and compensation of geometric and elastic<br />
errors in large manipulators: application to a high accuracy medical robot, Proceedings of the 25th<br />
Biennial Mechanisms Conference, ASME, Atlanta, 1998.<br />
[M03] M. Meggiolaro, S. Dubowsky, An analytical method to eliminate the redundant parameters in robot<br />
calibration, Proceedings of the International Conference on Robotics and Automation (ICRA _2000),<br />
IEEE, San Francisco, pp. 3609–3615, 2000<br />
[M04] Menq, C-H., Yau, H-T., Lai, G-Y., Automated Precision Measurement of Surface Profile in CAD-<br />
Directed Inspection, IEEE Transaction on Robotics and Automation, 1992.<br />
[M05] Mekid, S., Design Strategy for precision engineering: Second order phenomena’, Journal of<br />
Engineering Design, 2005.<br />
[M06] Mekid, S., Introduction to Precision Machine Design and Error Assessment, CRC Press, 2008.<br />
199
[M07] Moorring, B.W, Roth, Z.S, Driels, M.R. Fundamental of Robot Calibration . s.l. : John Wiley and<br />
Sons, 1991. pg. 221 - 225. Vol. I.<br />
[N01] Negrean, Contribuţii la optimizarea parametrilor cinematici şi dinamici în vederea măririi preciziei de<br />
funcţionare a roboţilor, Teză de doctorat, Cluj-Napoca, Romania, 1995.<br />
[N02] Negrean, I., The influence of Denavit-Hartenberg type parameters upon robot kinematic accuracy, The<br />
Second ECPD International Conference on Advanced Robotics, Intelligent Automation and Active<br />
Systems, Vienna, 1996, pp.474-479.<br />
[N03] Negrean, I., Vuşcan, I., Modelling of Dynamic Accuracy for Robots, First Part - DH-type and DM-type<br />
Errors Modelling, The Seventh IFToMM International Symposium on Linkages and Computer aided<br />
Design Methods, Bucharest, August 1997, Vol.II,<br />
[N04] Negrean, I., Vuşcan, I., Modelling of Dynamic Accuracy for Robots, Second Part - The Model of<br />
Optimising Kinematic and Dynamic Accuracy, The Seventh IFToMM International Symposium on<br />
Linkages and Computer Aided Design Methods, Bucharest, August 1997, Vol.II, pp.239-244.<br />
[N05] Negrean, I, Vuşcan, I, Haiduc, N, Robotică. Modelarea cinematică şi dinamică, Editura<br />
Didactică şi Pedagogică, R.A., Bucureşi, 1997.<br />
[N06] Negrean, I., Vuşcan, I., Forgo, Z., Inverse Modelling of the Kinematical Errors of Industrial Robots,<br />
INES'97, IEEE International Conference on Intelligent Engineering Systems, Proceedings, Budapest,<br />
Hungary, September 1997, pp.135-140.<br />
[N07] Negrean, I., Forgo, Z., Inverse Modelling of the Dynamic Errors of Robots, INES'98, IEEE<br />
International Conference on Intelligent Engineering Systems, Proceedings, Vienna, Austria,<br />
September 1998, pp.457-462.<br />
[N08] Negrean, I., Forgo, Z., Modelling Formalism in the Robot Kinematic Control, the 9th DAAAM<br />
International Symposium, Cluj-Napoca, October 1998, pp.343-344.<br />
[N09] Negrean, I., et al, Robotics - Kinematic and Dynamic Modelling, Editura Didactică şi Pedagogică R.A.,<br />
ISBN 973-30-5958-7, Bucharest, 1998.<br />
[N10] Negrean, I., Kinematics and Dynamics of Robots-Modelling-Experiment-Accuracy, Editura Didactică şi<br />
Pedagogică R.A., ISBN 973-30-9313-0, Bucharest, 1999.<br />
[N11] Negrean, I., Matrix Exponentials in Robot Mechanics, Simpozionul Naţional cu Participare<br />
Internaţională ROBOTICA 2000, Ediţia a XV-a, Oradea, Octombrie 2000,<br />
[N12] Negrean, I., Negrean, D. C., Matrix Exponentials to Robot Kinematics, 17 th International Conference<br />
on CAD/CAM, Robotics and Factories of the Future, CARS&FOF 2001, Durban, South Africa, July<br />
2001, Vol.2, pp. 1250-1257.<br />
[N13] Negrean, I., Negrean, D. C., The Matrix Exponentials Formalism to Robotics, The Eight IFToMM<br />
International Symposium on Theory of Machines and Mechanisms, SYROM 2001, Bucharest,<br />
Vol.2, pp. 247-252.<br />
200
[N14] Negrean, I., Negrean, D. C., The Locating Matrix Algorithm in Robot Kinematics, Cluj-Napoca, October<br />
2001, Acta Technica Napocensis, Series: Applied Mathematics and Mechanics, 2001, Vol. 2, pp. 7-14<br />
[N15] Negrean, I., Negrean, D. C., The Matrix-Differentiating Operators in Robot Kinematics, Cluj-Napoca,<br />
Acta Technica Napocensis, Series: Applied Mathematics and Mechanics, 2001, Vol. 2, pp. 15-22.<br />
[N16] Negrean, I., Negrean, D. C., Matrix Exponentials in the Robot Control, Conferinţa ştiintifică<br />
Internaţională TMCR 2003, Chişinău, 2003, Vol.3, ISBN 9975-9748-3-X.<br />
[N17] Negrean, I., Albeţel, D.G., The Generalized Matrices in the Robot Accuracy, Conferinţa ştiintifică<br />
Internaţională TMCR 2003, Chişinău, 2003, Vol.3, ISBN 9975-9748-3-X.<br />
[N18] Negrean, I., Pîslă, D., Negrean, D. C., New Modeling with Matrix Exponentials in the Robot Accuracy,<br />
Proceedings, CSCS-14, 14 th International Conference on control Systems and Computer Science,<br />
2003, Bucharest, ISBN 973-8449-17-0, pp. 143-148.<br />
[N19] Negrean, I., Vuşcan, I., New Formulation in the Applied Mechanics to Robotics, Proceedings of AQTR<br />
2006 IEEE-TTTC (THETA 15), International Conference on Automation, Quality and Testing,<br />
Robotics, 2006, Cluj-Napoca, Romania.<br />
[N20] Negrean, I., Negrean, D.C., New Formulations about the Differential Matrices in Robotics, The first<br />
International Conference “Advanced Engineering in Mechanical Systems ADEMS’07” Published in<br />
the Acta Technica Napocensis, Series: Applied Mathematics and Mechanics, Vol. II, 2007, pp. 45-50,<br />
Cluj-Napoca, Romania.<br />
[N21] Negrean, I., Negrean, D.C., Duca, A.V., The Kinematics Equations in the Robot Cooperation,<br />
Proceedings, 8th International Conference MTeM, 2007, Cluj-Napoca.<br />
[N22] Negrean, I, Duca, A.V, Negrean, D.C., K. Kacso, Mecanica avansată în robotică, Editura UT Press,<br />
Cluj-Napoca, 2008, ISBN 978-973-662-420-9.<br />
[N23] Negrean, I., Duca, A.V, Kacso, K., Mura-Cozma, S., Schonstein, C, New formulations on serial<br />
robots dynamics, The 3rd International Conference on International Conference ″Computational<br />
Mechanics and Virtual Engineering″, COMEC 2009, vol.2, pag. 870-876, Editors S. Vlase, A. Chiru,<br />
Y. Niitsu, Brasov, Romania, ISBN 978-973-598-572-1.<br />
[N24] Negrean, I., Duca, A.V., Negrean, D.C., Kacso, K., “New Formulations on Acceleration Energy in the<br />
Robot Dynamics”, Proceedings of SYROM 2009, The 10th IFToMM International Symposium on<br />
Science of Mechanisms and Machines, ISBN: 978-90-481-3521-9 e-ISBN: 978-90-481-3522-6, DOI<br />
10.1007/978-90-481-3522-6, © Springer Science+Business Media, Brașov, 2009.<br />
[N25] Negrean, I., Duca A.V, Negrean, D.C., Kacso K., New Formulations on Acceleration Energy in the<br />
Robot Dynamics, Proceedings of the 10 th IFToMM International Symposium on Mechanisms and<br />
Machines, SYROM 2009, Brașov, Romania, pages 351-364, Editor Springer Science + Business<br />
Media, Brasov, 2010, DOI 10.1007/978-90-481-3522-6_28.<br />
[N26] Negrean, I., Schonstein C., Kacso, K., Negrean, C., Duca, A., Matrix Exponentials and Differential<br />
Principles in the Dynamics of Robots, 13th World Congress in Mechanism and Machine Science,<br />
Guanajuato, México, 19-25 June, 2011.<br />
201
[O01] L.Ojeda, L. Chung, H., and Borenstein, Precision-calibration of Fiber-optics Gyroscopes for Mobile<br />
Robot Navigation, Proc. of the 2000 IEEE Int. Conf. on Robotics and Automation, San Francisco,<br />
CA, April 24-28, pp. 2064-2069, 2000<br />
[O02] Okafor, A.C., Ertekin, Y.M., Derivation of machine tool error models and error compensation<br />
procedure for three axes vertical machining center using rigid body kinematics. International<br />
Journal of Machine Tools & Manufacture, 2000.<br />
[P01] Park, F.C., Computational Aspects of the Product-of-Exponentials Formula for Robot Kinematics,<br />
IEEE Transaction on Automatic Control, Vol. 39, No. 3, 1994.<br />
[P02] Park, F.C., Okamura, K., Kinematic Calibration and the Product of Exponential Formula. Advances<br />
in Robot Kinematics and Computational Geometry, Cambridge, 1994.<br />
[R01] Renders, J.M, Rossignol, E., Kinematic Calibration and Geometrical Parameter Identification for<br />
Robots, IEEE Transactions on Robotics and Automation, Vol. VII, pg. 721 – 731, 1991<br />
[S01] L. Sciavicco and B. Siciliano. Modeling and Control of Robot Manipulators. Electrical and Computer<br />
Engineering Series. McGraw-Hill, 1996<br />
[S02] Schilling, J.R., Fundamentals of Robotics Analysis and Control, Prentice Hall Inc., 1990.<br />
[T01] N.,Tagiyev; R. Alizade, A Forward and Reverse Displacement Analysis for a 6-DOF In-Parallel<br />
Manipulator. In: Mech. Mach. Theory, Vol. 29, No. 1, pp. 115–124, London 1994.<br />
[T02] J.P,Trevelyan, Robot Calibration with a Kalman Filter. Presentation at International Conference on<br />
Advanced Robotics and Computer Vision (ICARCV96), Singapore 1996.<br />
[Y01] T. Yamada and T. Yabuta. Application of learning type feedforward feedback neural network<br />
controller to dynamic systems. In IEEE Int. Conf. on Intelligent Robots and Systems, pages 225-231,<br />
Yokohama, Japan, Jul. 1993.<br />
[Z01] H. Zhuang, J. Wu, W. Huang, Optimal planning of robot calibration experiments by genetic<br />
algorithms, in: Proceedings of IEEE 1996 International Conference on Robotics and Automation,<br />
Minneapolis, pp. 981–986, 1996<br />
[Z02] H. Zhuang, S.H. Motaghedi, Z.S. Roth, Robot calibration with planar constraints, Proceedings of the<br />
IEEE International Conference of Robotics and Automation, Detroit, Michigan, pp.805–810, 1999<br />
202