04.06.2013 Views

PRECIZIA ROBOŢILOR INDUSTRIALI

PRECIZIA ROBOŢILOR INDUSTRIALI

PRECIZIA ROBOŢILOR INDUSTRIALI

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!