04.06.2013 Views

PRECIZIA ROBOŢILOR INDUSTRIALI

PRECIZIA ROBOŢILOR INDUSTRIALI

PRECIZIA ROBOŢILOR INDUSTRIALI

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

FACULTATEA CONSTRUCŢII DE MAŞINI<br />

DEPARTAMENTUL DE INGINERIA SISTEMELOR MECANICE<br />

<strong>PRECIZIA</strong> <strong>ROBOŢILOR</strong><br />

<strong>INDUSTRIALI</strong><br />

Curs master<br />

Anul II Robotică<br />

Prof. Univ. Dr. Ing. Iuliu NEGREAN<br />

2012 - 2013<br />

Bulevardul Muncii nr. 103-105, 400641 Cluj-Napoca, România<br />

Tel. +40-264-401616, +40-264-401659, Fax: +40-264-401660<br />

E-mail: iuliu.negrean@mep.utcluj.ro


CUPRINS:<br />

LISTĂ DE NOTAȚII ȘI SIMBOLURI .............................................................................................................. 5<br />

1. NOȚIUNI GENERALE REFERITOARE LA <strong>PRECIZIA</strong> ROBOȚILOR ..................................................... 11<br />

1.1 Introducere .............................................................................................................................. 11<br />

1.2 Noţiuni generale referitoare la precizia roboţilor industriali ............................................... 12<br />

1.2.1 Terminologie. Caracteristici ale preciziei. Sursele erorilor. .......................................... 13<br />

1.2.2 Influenţa parametrilor cinematici asupra preciziei de poziţionare ............................... 23<br />

1.2.3 Sistemele de referinţă ataşate robotului şi transformările care au loc între sisteme ...….25<br />

1.3 Caracteristicile de performanţă ale roboţilor industriali ....................................................... 27<br />

1.3.1 Evaluarea performanţelor roboţilor industriali în funcţie de configuraţie …………….. 28<br />

1.4 Calibrarea roboţilor industriali ................................................................................................ 36<br />

1.4.1 Noţiuni referitoare la procesul de calibrare al roboţilor industriali .............................. 36<br />

1.4.2 Caracteristicile procesului de calibrare. Metode de calibrare ...................................... 37<br />

1.4.3 Sisteme de calibrare utilizate în practica industrială. Avantajele calibrării ................. 42<br />

2. ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR SERIALI ............................... 45<br />

2.1 Algoritmi utilizați în modelarea geometrică directă a structurilor de roboți ..................... 45<br />

2.1.1 Generalități privind matricele de transformare omogenă ............................................ 46<br />

2.1.2 Algoritmul matricelor de situare în modelarea geometrică directă............................. 53<br />

2.1.3 Algoritmul operatorilor compuși de tip (PG) ................................................................. 58<br />

2.1.4 Algoritmul operatorilor compuşi de tip Denavit – Hartenberg (DH) ............................ 65<br />

2.1.5 Algoritmul Exponenţialelor de Matrice (MEG) .............................................................. 69<br />

2.2 Algoritmi utilizați în modelarea cinematică directă a structurilor de roboți ...................... 73<br />

2.2.1 Algoritmul iterativ ............................................................................................................ 73<br />

2.2.2 Matricea Jacobiană bazată pe matricele de transfer .................................................... 74<br />

2.2.3 Matricea Jacobiană definită pe baza matricelor diferenţiale ....................................... 77<br />

2.2.4 Algoritmul Exponenţialelor de Matrice în cinematica directă ...................................... 78<br />

2.3 Algoritmi utilizați în modelarea dinamică a roboților industriali ........................................ 86<br />

2.3.1 Algoritmul proprietăților de distribuție a maselor ........................................................ 86<br />

2.3.2 Algoritmul forțelor generalizate în dinamica structurilor de roboți seriali ................. 88<br />

3


3. MODELAREA ERORILOR GEOMETRICE............................................................................................ 91<br />

3.1 Matricele datelor de intrare ................................................................................................... 91<br />

3.2 Modelarea erorilor geometrice.............................................................................................. 98<br />

3.2.1 Modelarea erorilor primare ............................................................................................ 98<br />

3.2.2 Modelarea erorilor geometrice .................................................................................... 111<br />

3.3 Eliminarea erorilor grosolane utilizând matricea statisticii znα ...................................... 119<br />

3.4 Expresiile matricelor diferențiale ale erorilor .................................................................... 119<br />

3.5 Algoritmul matricelor de transfer al erorilor geometrice bazat pe parametrii de situare..... 124<br />

4. MODELAREA ERORILOR CINEMATICE ............................................................................................ 125<br />

4.1 Matricele erorilor cinematice .............................................................................................. 129<br />

4.2 Matricea Jacobiană și proprietățile ei ................................................................................ 131<br />

4.3 Matricea Jacobiană bazată pe matricele de transfer......................................................... 133<br />

4.4 Matricea Jacobiană bazată pe matricele diferenţiale........................................................ 137<br />

4.5 Matricea Jacobiană a erorilor ............................................................................................. 141<br />

4.6 Determinarea matricei Jacobiene a erorilor și a derivatei acesteia în raport cu sistemul { }<br />

0 . 142<br />

4.7 Erori cinematice de viteze și accelerații............................................................................ 145<br />

4.8 Modelarea statistică a erorilor cinematice........................................................................ 147<br />

5. MODELAREA ERORILOR DE DISTRIBUȚIE A MASELOR................................................................ 161<br />

5.1 Modelarea erorilor de distribuţie a maselor....................................................................... 161<br />

6. MODELAREA ERORILOR DINAMICE................................................................................................. 165<br />

6.1 Matricele erorilor dinamice ................................................................................................. 165<br />

7. INFLUENȚA ERORILOR DINAMICE ASUPRA PRECIZIEI TRAIECTORIEI ....................................... 173<br />

7.1 Modelarea erorilor traiectoriei de mişcare......................................................................... 173<br />

8. APLICAȚII PRIVIND MODELAREA PRECIZIEI GEOMETRICE, CINEMATICE ȘI DINAMICE A<br />

STRUCTURILOR SERIALE DE ROBOȚI ........................................................................................... 180<br />

BIBLIOGRAFIE .................................................................................................................................... 197<br />

4


LISTA DE SIMBOLURI<br />

Simbolul utilizat Semnificaţia<br />

(SMR) Abreviere (abr.)structura mecanică a robotului.<br />

(MGD) Modelul geometric direct (abr.)<br />

(MGI) Modelul geometric invers (abr.)<br />

(MCD) Modelul cinematic direct (abr)<br />

(MCI) Modelul cinematic invers (abr.)<br />

(MEG) Algoritmul Exponenţialelor de Matrice in geometria directa (abr.)<br />

(MEK) Algoritmul exponenţialelor de matrice in cinematica directa (abr.)<br />

(DM) Distribuţia maselor (abr.)<br />

(PG) Parametrii generalizaţi (abr.)<br />

(DH)<br />

i = 1 → n<br />

Parametrii compuşi Denavit-Hartenberg<br />

{ qi }<br />

T<br />

{ θ = [ q , i = 1→<br />

n]<br />

}<br />

; coordonata lineară [ mm ] sau coordonata unghiulară [ rad ] din cupla motoare<br />

vectorul coloană al coordonatelor generalizate, de dimensiune ( n× 1)<br />

, din<br />

i<br />

fiecare cuplă motoare a robotului;<br />

T<br />

= [ qi , i = 1→n]<br />

T<br />

= [ q , i = 1→<br />

n]<br />

{ poz<br />

{ or i<br />

}<br />

}<br />

( 0)<br />

T<br />

{ θ = [ q = 0,<br />

i = 1→n]<br />

}<br />

θ vectorul coloană al coordonatelor generalizate pentru poziţie;<br />

θ vectorul coloană al coordonatelor generalizate pentru orientare;<br />

O x0<br />

y 0z<br />

0<br />

0 ≡<br />

O xi<br />

y iz<br />

i<br />

i<br />

{} i<br />

{ 0}<br />

vectorul coloană al coordonatelor generalizate în configuraţia iniţială a<br />

robotului, unde { i = 1 → n,<br />

n ∈ N}<br />

sistemul de referinţă fix, ataşat centrului geometric al bazei fixe a structurii<br />

mecanice;<br />

i ≡ sistemul de referinţă mobil, ataşat în centrul cuplei fiecărui element cinetic<br />

{ 0} → {} i<br />

poziţia şi orientarea sistemului {}<br />

i = 1→<br />

n+<br />

1<br />

( )<br />

{ T }<br />

sistemul de referinţă ataşat sculei<br />

{ G }<br />

sistemul de referinţă ataşat piesei<br />

{ }<br />

5<br />

i în raport cu sistemul fix { }<br />

S sistemul de referinţă ataşat piesei de prelucrat, într-un colţ al acesteia;<br />

0 ; unde<br />

{ j} → {} i<br />

poziţia şi orientarea sistemului mobil {} i în raport cu un sistem mobil, { j } ;<br />

{ n + 1}<br />

sistemul mobil ataşat în punctul caracteristic P, ce coincide cu centrul<br />

geometric al efectorului final; cele trei axe ale sistemului sunt simbolizate după<br />

n;<br />

y ≡ s;<br />

z ≡ a<br />

cum urmează: { xn+ 1 ≡ n+<br />

1 n+<br />

1 }<br />

T<br />

u matricea antisimetrică asociată oricărui vector u = [ u u u ] = vect{<br />

u × }<br />

{ × }<br />

0 { [ R]<br />

, i = 1 → ( n+<br />

1)<br />

}<br />

i<br />

j { [ R]<br />

, { i;<br />

j}<br />

= 1→<br />

n}<br />

i<br />

Trace 0<br />

i<br />

{ [ R]<br />

}<br />

matricea de rotaţie (orientare), care exprimă orientarea sistemului {} i în<br />

raport cu sistemul fix { 0} ataşat bazei robotului;<br />

matricea de rotaţie (orientare) ( 3)<br />

mobil {} i în raport cu un alt sistem mobil { j } ;<br />

0<br />

urma matricei de orientare [ R]<br />

x<br />

3× , ce exprimă orientarea unui sistem<br />

i (sau a unei matrice oarecare) se calculează<br />

p = x y z<br />

ca fiind suma elementelor de pe diagonala principală<br />

vectorul de poziţie al originii sistemului {}<br />

0 ;<br />

[ ] T<br />

i i i i<br />

i în raport cu sistemul fix { }<br />

y<br />

z


j { { i;<br />

j}<br />

= 1 → n }<br />

p ij<br />

, vectorul de poziţie dintre originile sistemelor {}<br />

6<br />

i şi { j } proiectat pe { }<br />

( ) T<br />

pxi pyi p zi<br />

componentele carteziene, în [ mm ] ale vectorului p i , ( ) T<br />

j j j<br />

p xij pyij<br />

pzij<br />

i 1 i−1<br />

{ p }<br />

− = vectorul coloană care exprimă poziţia sistemului {}<br />

ri ii−1<br />

i−1<br />

{ ( 0)<br />

T<br />

p = [ ai−1<br />

bi−1<br />

ci−1<br />

] }<br />

ii−1<br />

j ;<br />

i în raport cu { i − 1}<br />

setul de parametri generalizaţi sau operatorii compuşi de tip PG ce<br />

caracterizează poziţia sau vectorul de poziţie al sistemului mobil {} i în raport<br />

cu sistemul anterior { i − 1}<br />

.<br />

e ( 0<br />

{ ) ( 0)<br />

grupul operatorilor compuşi de tip DH corespunzătoare variantei doi a<br />

ai− 1 αi−1 βi<br />

d i θi<br />

} algoritmului operatorilor compuşi de tip DH.<br />

e ( 0<br />

{ ) ( 0<br />

a<br />

)<br />

i i i di−1<br />

i−1}<br />

θ β<br />

grupul operatorilor compuşi de tip DH ce corespunde primei variante a<br />

α<br />

algoritmului operatorilor compuşi de tip DH.<br />

a i(<br />

i−<br />

1)<br />

lungimea normalei comune măsurata între 2 axe motoare ki( i−<br />

1)<br />

, k i+<br />

1(<br />

i)<br />

;<br />

α i( i−1)<br />

unghiul de încrucişare măsurat în planul normal pe perpendiculara dintre<br />

două axe motoare învecinate ki( i−<br />

1)<br />

şi k i+<br />

1(<br />

i)<br />

;<br />

( 0<br />

d<br />

)<br />

i(<br />

i−<br />

1)<br />

distanţa dintre două elemente învecinate, măsurată în lungul axei motoare k i ;<br />

( 0<br />

θ<br />

)<br />

i−1(<br />

i)<br />

unghiul dintre două elemente cinetice învecinate, măsurat în jurul axei<br />

motoare, între cele două normale comune şi orientate corespunzătoare<br />

acestei axe;<br />

e<br />

β i<br />

( 0)<br />

( 0 { k<br />

)<br />

i = ( p / Ai<br />

( 0<br />

p<br />

) ) } Ai<br />

reprezintă unghiul măsurat în jurul axei y i ; parametrul există numai în cazul<br />

erorilor geometrice din domeniul mărimilor diferenţiale.<br />

versorul corespunzător fiecărei axe motoare i = 1→<br />

n,<br />

in raport cu { 0 } .<br />

( 0 { k<br />

)<br />

i ,<br />

( 0<br />

v<br />

)<br />

i }<br />

parametri de şurub (coordonatele omogene ale fiecărei axe motoare),<br />

utilizaţi în cadrul algoritmului exponenţialelor de matrice.<br />

{ Ai , i = 1→<br />

( n+<br />

1)<br />

} matricea parametrilor de şurub,aceeaşi expresie în ambele configuraţii θ<br />

( 0)<br />

-θ<br />

.<br />

( 0 { k<br />

)<br />

i × { } qi<br />

⋅Δ<br />

i i−1<br />

e<br />

i [ R]<br />

}<br />

{ bi i = 1 → n}<br />

{ } i i q A<br />

e ⋅<br />

{ M<br />

( )<br />

i 1 ( n 1)<br />

}<br />

0<br />

= → +<br />

≡ forma exponenţială a matricei de rotaţie<br />

, vectorul coloană al funcţiilor exponenţiale<br />

vn<br />

exponenţiala matricei de rotaţie<br />

, matricea geometriei nominale<br />

0 { [ T]<br />

, i = 1→(<br />

n+<br />

1)<br />

}<br />

i<br />

matricea de situare (transformare omogenă), de dimensiune ( 4× 4)<br />

, exprimă<br />

poziţia şi orientarea sistemului {} i în raport cu sistemul fix , { 0 } , ataşat bazei<br />

robotului considerat;<br />

[ ]<br />

⎬<br />

{ } ⎭ ⎫<br />

⎧ j i = 1 → n matricea de situare (transformare omogenă), de dimensiuni ( 4× 4)<br />

, exprimă<br />

⎨ i T ,<br />

⎩ j ∈ T ; G;<br />

S poziţia şi orientarea sistemului {} i în raport cu { j } ;<br />

{ Tii− 1G<br />

i = 1 → n}<br />

,<br />

matricea de situare rezultantă dintre sistemele {} i şi { i − 1}<br />

, în configuraţia<br />

iniţială a robotului (parametrii de tip PG).<br />

matricea de situare rezultantă dintre sistemele { Tii− 1D<br />

, i = 1→<br />

n}<br />

mobile{} i şi { i − 1}<br />

, în<br />

configuraţia iniţială (modelare cu parametrii compuşi DH).<br />

{ , i = 1→n<br />

+ 1}<br />

matricea sistemelor de tip PG conţine poziţia relativă /orientarea sistemelor PG<br />

T G<br />

{ i = 1→n<br />

+ 1}<br />

T D<br />

, matricele generalizate ale sistemelor şi ale operatorilor compuşi de tip DH<br />

[ T] [ T]<br />

i 1 n 1<br />

0<br />

, iG , = → +<br />

matricele de situare de tip PG a sistemelor { } iG faţă de sistemele<br />

1G<br />

0<br />

i−1G<br />

{ }<br />

iG<br />

{ i − } respectiv { }


{ [ T] [ T]<br />

i 1 n 1}<br />

0 i−1D<br />

, , = → +<br />

matricele de situare de tip DH a sistemelor { }<br />

iD<br />

iD<br />

0 { [ T]<br />

i = n+<br />

1}<br />

n 1<br />

+ ,<br />

− 1 { T , T , i = n+<br />

1}<br />

x 0<br />

xo<br />

{ sin q i ≡ sq i };<br />

cos q ≡ cq<br />

{ }<br />

i<br />

i<br />

iD faţă de sistemele<br />

{ i −1D} respectiv { 0 }<br />

matricea de situare dintre sistemele { n 1}<br />

→ { 0}<br />

ataşat în punctul caracteristic al efectorului final în raport cu sistemul fix { 0 } .<br />

7<br />

+ exprima situarea sistemului<br />

expresiile exponenţiale ce caracterizează matricele de situare respectiv<br />

1 0<br />

inversele acestora şi care exprimă situarea sistemelor { n } şi { n+ } faţă de { }<br />

funcţiile trigonometrice sinus si cosinus scrise într-o formă simplificată;<br />

( ) T<br />

α yi β xi γ zi unghiurile de orientare exprimate în [ rad ] , componente ale vectorului ψ i ;<br />

j j j T<br />

( α yi β xi γ zi )<br />

{ ψ i , i = { T;<br />

G;<br />

S }<br />

unghiurile de orientare exprimate în [ rad ] , componente ale vectorului<br />

vectorul ce exprimă orientarea sistemului {} i în raport cu sistemul fix { 0 }<br />

i<br />

j<br />

ψ , i;<br />

j = T;<br />

G;<br />

S vectorul ce exprimă orientarea sistemului mobil {} i în raport cu un sistem { j } ;<br />

{ { } { }<br />

i<br />

i−1<br />

{ ( 0)<br />

T<br />

ψ i = [ αi−1<br />

βi−1<br />

γi−1]<br />

}<br />

( n)<br />

0 { = f(<br />

θ ) , i = { T;<br />

G;<br />

S }<br />

X i<br />

j { , { i;<br />

j}<br />

= { T;<br />

G;<br />

S }<br />

X ij<br />

{ q = Atan2(<br />

sq ; cq ) }<br />

i<br />

{ MXv<br />

0 T [ XVk<br />

; k = 1→<br />

m]<br />

}<br />

( i)<br />

0 { , i = { T;<br />

G;<br />

S }<br />

v i<br />

i<br />

i<br />

j ψ ;<br />

setul de parametri generalizaţi sau operatorii compuşi de tip PG ce<br />

caracterizează orientarea fiecărui sistem ataşat în centrul cuplei motoare.<br />

6× 1 al coordonatelor operaţionale, ce exprimă poziţia şi<br />

vectorul coloană ( )<br />

orientarea sistemului{} i în raport cu sistemul { 0 } respectiv sistemul mobil { n } ;<br />

vectorul coloană ( 6 × 1)<br />

al coordonatelor operaţionale, care exprimă poziţia<br />

şi orientarea sistemului {} i în raport cu { j } ;<br />

funcţia inversă tan2(<br />

sq ; cq ) ∈ [ −π<br />

; + π ] , care tine cont de semnul ambelor<br />

A i i<br />

argumente, adică sq i şi i<br />

cq ;<br />

, matricea generalizată a parametrilor cinematici operaţionali<br />

vectorul vitezei lineare a originii sistemului {} i faţă de sistemul de referinţă fix<br />

( i)<br />

0 ( i { ) 0<br />

≡ v , i = { T;<br />

G;<br />

S }<br />

ɺ<br />

pɺ<br />

=<br />

i<br />

ai i<br />

( ) T<br />

pɺ<br />

pɺ<br />

pɺ<br />

xi<br />

yi<br />

zi<br />

( i)<br />

0 { ω , i = { T;<br />

G;<br />

S }<br />

i<br />

0 0 0 T<br />

{ ( ω ω ω ) }<br />

ix<br />

iy<br />

j { ɺ , { i;<br />

j}<br />

= { T;<br />

G;<br />

S }<br />

p ij<br />

( ) T<br />

j<br />

pɺ xij<br />

j<br />

pɺ yij<br />

j<br />

pɺ<br />

zij<br />

j { ω , { i;<br />

j}<br />

= { T;<br />

G;<br />

S }<br />

ij<br />

( ) T<br />

j<br />

ω ijx<br />

j<br />

ω ijy<br />

j<br />

ω ijz<br />

{ unde i = 1 → n}<br />

iz<br />

{ 0 } respectiv proiecţia lui pe sistemul mobil {} i ;<br />

vectorul acceleraţiei lineare a originii sistemului {} i faţă de sistemul fix { 0 }<br />

respectiv proiecţia lui pe sistemul mobil {} i ;<br />

componentele carteziene [ m s]<br />

ale vectorului vitezei lineare a originii<br />

sistemului {} i în raport cu sistemul fix { 0 } ;<br />

vectorul vitezei unghiulare a sistemului asociat cuplei {} i faţă de sistemul de<br />

referinţă { }<br />

0 şi proiecţia pe sistemul mobil {} i ;<br />

componentele carteziene [ rad s]<br />

ale vectorului vitezei unghiulare a<br />

sistemului {} i în raport cu sistemul fix { }<br />

0 ataşat bazei;<br />

vectorul vitezei lineare a originii sistemului {} i , în mişcarea acestuia în raport<br />

cu sistemul{ j } , vector proiectat pe sistemul{ j } ;<br />

componentele carteziene ale vectorului vitezei lineare a originii sistemului<br />

{} i , în mişcarea acestuia în raport cu sistemul mobil { j } , proiectat pe { j } ;<br />

vectorul vitezei unghiulare a sistemului {} i , în mişcarea acestuia în raport cu<br />

sistemul { j } , vector proiectat pe sistemul mobil{ j } ;<br />

componentele carteziene [ rad s]<br />

ale vectorului vitezei unghiulare a<br />

sistemului {} i ,în raport cu sistemul de referinţă { j } , proiectat pe { j } ;<br />

qɺ i<br />

viteza generalizată corespunzătoare fiecărei cuple motoare, i = 1 → n ;


{ unde i = 1 → n}<br />

qɺ i<br />

viteza liniară sau viteza unghiulară [ rad s]<br />

corespunzătoare cuplei motoare ( i )<br />

ɺ { θ = { qɺ i , i = 1 → n }<br />

j { θ ij , { i;<br />

j}<br />

= { T;<br />

G;<br />

S }<br />

vectorul coloană ( n× 1)<br />

al vitezelor generalizate din fiecare cuplă<br />

ɺ<br />

vectorul coloană ( 1)<br />

robotului în mişcarea sistemului {} i în raport cu sistemul de referinţă { j } ;<br />

0 ɺ { Xi, i = { T;<br />

G;<br />

S } vectorul coloană ( 1)<br />

sistemului {} i în raport cu sistemul fix { 0 }<br />

0 ɺ<br />

{ Xi , i = { T;<br />

G;<br />

S } vectorul coloană ( 1)<br />

sistemului {} i în raport cu sistemul fix { 0 } .<br />

j ɺ<br />

X ij<br />

vectorul coloană ( 1)<br />

sistemului {} i în raport cu sistemul { j } , vector proiectat pe sistemul{ j } ;<br />

j ɺ<br />

{ X ij }<br />

vectorul coloană ( 1)<br />

sistemului mobil {} i în raport cu sistemul { j } , vector proiectat pe { j } ;<br />

( −T<br />

) −1<br />

{ J(<br />

θ ) ; J(<br />

θ ) ; J(<br />

θ ) }<br />

ɺ<br />

n× al vitezelor generalizate din fiecare cuplă motoare a<br />

6 × al vitezelor operaţionale, care exprimă mişcarea<br />

6 × al acceleraţiilor operaţionale, care exprimă mişcarea<br />

6 × al vitezelor operaţionale, care exprimă mişcarea<br />

6× al acceleraţiilor operaţionale, care exprimă mişcarea<br />

matricea Jacobiană, derivata în raport cu timpul, inversa transpusei<br />

respectiv inversa matricei Jacobiene;<br />

V[ θ ( t)<br />

] = [ Vi,<br />

i = 1→n]<br />

matricea transfer a vitezelor liniare<br />

{ }<br />

{ Ω [ ( t) ] = [ Ωi<br />

, i = 1→n]<br />

}<br />

{ A[ ( t)<br />

; θ(<br />

t)<br />

] , i = 1→n}<br />

{ Aij [ ( t)<br />

] , i = 1→<br />

n}<br />

( t)<br />

, i = 1→<br />

n<br />

θ matricea transfer a vitezelor unghiulare<br />

θ ɺ matricea de transfer a acceleraţiilor liniare<br />

θ matricea diferenţială de ordinul întâi a transformărilor de situare<br />

{ Aijk [ ] }<br />

n { R n∈<br />

N}<br />

0 { i = 1 → n}<br />

θ matricea diferenţială de ordinul doi a transformărilor de situare<br />

, operatorul matriceal de transfer între sistemul fix { 0} şi sistemul mobil { n }<br />

δ operatorul matriceal de diferenţiere pentru fiecare axă motoare n 1 i → =<br />

Ti( i−<br />

1)<br />

,<br />

ME Vi<br />

i = 1 → n<br />

{ ( ) }<br />

{ ME ( Ji<br />

) ; i = 1 → n}<br />

componentele coloanei ( )<br />

; componentele matricei de transfer a vitezelor liniare, în formă exponenţială<br />

i ale matriceei Jacobiene, în formă exponenţială<br />

matricea generalizată a parametrilor cinematici ce caracterizează mişcarea<br />

absolută a efectorului final în spaţiul cartezian.<br />

Mθ matricea funcţiilor de comandă cinematică<br />

{ M XVQ }<br />

{<br />

{<br />

C }<br />

M}<br />

{ M θ }<br />

{ τ i , i = 1 → n}<br />

{ hi ( t)<br />

i = 1 → n}<br />

{ hi ( ) , i = 1 → n}<br />

{ = −h−<br />

i = 1→n}<br />

structurii analizate<br />

timpul real în [ ]<br />

,<br />

Mθ matricea valorilor maxime admise pentru funcţiile de comandă cinematică<br />

matricea reală ce conţine funcţiile de comandă cinematică corespunzătoare<br />

s corespunzător poziţiei i h<br />

, funcţia normalizată de interpolare a traiectoriei de mişcare a robotului<br />

τ funcţia polinomială reală de interpolare a traiectoriei de mişcare a robotului<br />

i hi i 1 δ spaţiul parcurs de robot în timpul t i<br />

i i { ; n }<br />

f forţa şi momentul forţelor de legătură din fiecare cuplă motoare ( i )<br />

i<br />

i<br />

i *<br />

I i<br />

tensorul inerţial axial-centrifugal al elementului cinetic ( )<br />

i *<br />

I pi<br />

tensorul inerţial planar-centrifugal al elementului cinetic ( )<br />

8<br />

i în raport cu { } *<br />

i fata de { } *<br />

i ;<br />

i<br />

I psi<br />

reprezintă tensorul pseudoinerţial al elementului cinetic ( i ) în raport cu {} i ;<br />

i ;


0 0 { ri<br />

, rC<br />

, i = 1 → n}<br />

i<br />

0 { H i<br />

i<br />

H i , i = 1 → n}<br />

{ dr<br />

, δ r , i = 1 → n}<br />

vectorul de poziţie al elementului de masă dm , respectiv vectorul de poziţie<br />

al centrului maselor C i în raport cu sistemul fix { 0 } .<br />

0 si pe {} i .<br />

, vectorul impuls al elementului cinetic ( i ) , proiectat pe sistemul fix { }<br />

vectorul diferenţial al deplasărilor reale respectiv vectorul diferenţial al<br />

i Ci<br />

deplasărilor virtuale ce caracterizează fiecare cuplă ( i )<br />

{ L; ΔL}<br />

δ lucrul mecanic elementar virtual;<br />

i i<br />

F i ; Ni<br />

forţa şi respectiv momentul forţelor aplicate asupra unui element cinetic( i ) ;<br />

i i i i<br />

Q ; Q i g ; Q ; Q öööö SU fd<br />

forţe generalizate de inerţie, forţe generalizate gravitaţionale şi de<br />

manipulare, respectiv forţe generalizate de frecare;<br />

i<br />

i ;<br />

{ }<br />

{ }<br />

{ s }<br />

i { }<br />

Q forţa generalizată de echilibrare statică din fiecare cuplă motoare ( )<br />

Q forţa generalizată motoare din cupla ( i )<br />

m<br />

{ ( θ ) }<br />

{ X ( θ ) }<br />

{ V( θ ; θ ) } ɺ<br />

{ C( θ ; θ ) } ɺ<br />

{ D( θ ; θ ) } ɺ<br />

M matricea (maselor) de inerţie a energiei cinetice;<br />

M matricea de inerţie a energiei cinetice<br />

( θ θ ) ɺ<br />

;<br />

matricea termenilor Coriolis şi matricea forţelor de inerţie centrifugale<br />

matricea termenilor centrifugali C ( θ ) ;<br />

matricea pseudo-inerţială a energiei acceleraţiilor;<br />

E C energia cinetică a unui sistem mecanic<br />

E ( ; ; )<br />

A θ θ θ<br />

ɺ ɺɺ energia acceleraţiilor pentru un sistem mecanic caracterizat prin n g.<br />

d.<br />

l.<br />

;<br />

θ θ<br />

ɺ<br />

‹‹‹‹ ;<br />

funcţia Lagrange asociată unui sistem mecanic;<br />

[ ] Q<br />

( )<br />

A Matricea generalizată a transformărilor cinematice<br />

Δ AQ<br />

Matricea generalizată de erori a transformărilor cinematice<br />

B( θ ) , B ( θ ) Matricea termenilor Coriolis<br />

Q x Q<br />

xy xy<br />

ΔB( θ ) Q , Δ B ( ) x θ Q Matricea de erori a termenilor Coriolis<br />

C ( θ ) , C ( θ ) Matricea termenilor centrifugali<br />

Q x Q<br />

xy xy<br />

ΔC ( θ ) , Δ C ( θ ) Matricea de erori a termenilor centrifugali<br />

Q x Q<br />

E Matricea generalizată a erorilor geometrice<br />

xy xy<br />

E , E Matricea de transfer a erorilor ( YQ ) − cinematice ; ( YdQ ) − dinamice<br />

{ }<br />

YQ YdQ<br />

ε YQ<br />

Vectorul coloană al erorilor geometrice<br />

{ , }<br />

YQ YdQ<br />

9<br />

{ }<br />

{ }<br />

E E Matricea valorilor extreme a erorilor ( YQ) −cinematice ; ( YdQ ) − dinamice<br />

E MDQ<br />

Matricea generalizată a erorilor de tip DM<br />

( n)0<br />

ö Vectorul coloană forţă – moment specific efectorului final<br />

( n)0<br />

XQ<br />

Δ ö Vectorul coloană al erorilor forţă – moment specific efectorului final<br />

XQ<br />

i i { I Q , IpsiQ<br />

}<br />

{ i<br />

IδQ ,<br />

i<br />

IpsiQ<br />

}<br />

δ Tensorul ( ) ; ( )<br />

{ δQ − inertial psiQ − pseudoinertial }<br />

{ δQ − inertial ; psiQ − pseudoinertial }<br />

Δ Δ Eroarea tensorulului ( ) ( )<br />

J Q<br />

Matricea Jacobiană


xy<br />

Q<br />

Δ J<br />

Matricea Jacobiană pentru erori cinematice<br />

{ Mθ q, Mθ L, Mθ<br />

A}<br />

vq<br />

Matricea configuraţiilor ( q Mθ ), matricea configuraţiilor limită ( L Mθ configuraţiilor acceptate de sistemul de acţionare ( A Mθ )<br />

M Matricea geometriei robotului { q = n; nominala, q=r; reala}<br />

M MDQ<br />

Matricea generalizată a parametrilor de tip DM<br />

M ‹ Q<br />

Q<br />

Matricea generalizată a transformărilor dinamice<br />

10<br />

), matricea<br />

{ }<br />

M Matricea generalizată a parametrilor: { tip DH, Q = D } , { tip PG, Q = G}<br />

M SU<br />

Matricea sarcinii utile de manipulare<br />

{ MXQ , M XVQ}<br />

Matricea coordonatelor generalizate ( M XQ ), matricea vitezelor şi<br />

acceleraţiilor operaţionale M XVQ<br />

Δ MdQ<br />

Matricea generalizată a erorilor dinamice<br />

Δ M<br />

Matricea generalizată a erorilor cinematice<br />

YQ<br />

xy<br />

Q<br />

Δ M‹<br />

Matricea generalizată de erori a transformărilor dinamice<br />

Q mQ<br />

Vectorul coloană al forţelor generalizate motoare<br />

Q SUQ<br />

Vectorul coloană al forţelor generalizate datorate sarcinii utile<br />

xy xy<br />

{ ΔQ , Δ Q }<br />

Qq<br />

mQ SUQ<br />

Vectorul coloană al erorilor forţelor generalizate motoare ( Δ Q ), respectiv<br />

vectorul coloană al erorilor forţelor generalizate datorate sarcinii utile ( Δ Q ).<br />

T Matricea generalizată a sistemelor { tipDH daca Q = D } , { tipPG daca Q = D}<br />

[ T ] Q<br />

Matricea generalizată a transformărilor omogene:<br />

tip DH daca Q = D , tip PG daca Q = D<br />

{ { } { } }<br />

[ Δ T ] Q<br />

Matricea de erori a transformărilor omogene<br />

{ Δθ , Δθ , Δθ<br />

}<br />

0<br />

0<br />

Q<br />

xy<br />

mQ<br />

xy<br />

SUQ<br />

{ }<br />

ɺ ɺɺ Vectorul coloană al erorilor specifice variabilelor generalizate<br />

X Vectorul coloană al coordonatelor generalizate<br />

X Vectorul coloană al vitezelor şi acceleraţiilor operaţionale<br />

VQ<br />

0 0 { Δ X , Δ X }<br />

Q VQ<br />

{ Y , Y }<br />

Q dQ<br />

Vectorii coloană ai erorilor operaţionale { (Q - poziţie - orientare), (VQ –<br />

viteze şi acceleraţii)}<br />

Vectorul coloană al erorilor cinematice ( Y Q ), respectiv dinamice ( Y dQ )<br />

2<br />

σ YQ<br />

Dispersia erorilor cinematice<br />

{ VYQ , P YQ}<br />

Matricea covariantă ( V YQ ) şi matricea ponderilor ( P YQ ), ce caracterizează<br />

erorile cinematice<br />

V Volumul elipsoidului de erori<br />

eYQ<br />

2 { F ( χQ ) , ( 1 α ) Q<br />

( YQ VYQ<br />

)<br />

− Funcţia de repartiţie teoretică a erorilor<br />

ln ‹ ;<br />

Funcţia matriceală de verosimilitate maximă


.<br />

1. NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

1.1 Introducere<br />

Robotica reprezintă un domeniu aplicativ al ştiinţelor inginereşti constituind o punte de legătură între<br />

tehnologia maşinilor unelte şi inteligenţa artificială. Acest domeniu vast al roboticii are la bază<br />

cercetările şi realizările din domenii conexe precum proiectarea maşinilor, teoria controlului, microelectronica,<br />

programarea calculatoarelor, inteligenţa artificială, domenii care au cunoscut o dezvoltare<br />

exponenţială în ultimii ani şi care au favorizat în acest fel progresele recente înregistrate în robotică.<br />

Robotica modernă a început să cunoască o reală dezvoltare pe la sfârşitul anilor ’60, odată cu<br />

inventarea microprocesorului, deschizându-se astfel calea spre realizarea în premieră a controlului<br />

computerizat pentru un manipulator cu mai multe axe. De atunci, robotica s-a dezvoltat în mod continuu,<br />

evoluând de la tehnologiile special create pentru această clasă de manipulatoare şi care aveau drept<br />

scop repetarea unei sarcini programate, la un domeniu multidisciplinar care încorporează numeroase<br />

ramuri ale ştiinţelor aplicate şi ingineriei. Domenii de cercetare precum viziunea computerizată,<br />

inteligenţa artificială sau recunoaşterea vocală constituie elemente cheie în dezvoltarea şi<br />

implementarea roboticii în diferite aplicaţii industriale (şi nu numai). Acestea constituie la rândul lor<br />

domenii multidisciplinare importante ce au la bază calculul computerizat, electronica respectiv comanda.<br />

Astfel, se poate observa că robotica reprezintă un domeniu vast care acoperă un spectru important<br />

al ştiinţelor inginereşti şi conexe. În prezent, tendinţele în robotică vizează în special proiectarea,<br />

comanda şi implementarea unor sisteme mecanice capabile să îndeplinească sarcini de lucru<br />

complexe, utilizând un limbaj de comunicare similar celui utilizat de oameni. Mai mult decât atât,<br />

sistemele robotizate pot lua diferite forme de la cele mai intangibile de tipul dispozitivelor utilizate pentru<br />

interpretarea imaginilor preluate de sondele spaţiale la cele mai concrete cum ar fi de exemplu roboţii<br />

utilizaţi în chirurgie în cadrul diferitelor intervenţii. Sistemele robotizate ajung astfel să substituie omul în<br />

tot mai multe activităţi. Deşi roboţii utilizaţi la ora actuală au evoluat mult de la stadiul de simple<br />

manipulatoare programabile, încă există tendinţa de a-i asocia operaţiilor simple de manipulare/mişcare.<br />

Însă pentru a putea îndeplini cu succes sarcinile pentru care au fost programaţi, roboţii trebuie să<br />

prezinte o structură mecanică corespunzătoare care să le permită acest lucru. Scopul cercetărilor din ultimii<br />

11


NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

ani în domeniul roboticii a fost acela de a crea structuri robotizate capabile să desfăşoare diferite sarcini de<br />

lucru prestabilite cu precizie ridicată, unele dintre acestea fiind caracterizate de capabilitatea de a lua decizii<br />

pe cont propriu, bazate pe experienţa anterioară, în cazul modificării condiţiilor de lucru. Dezvoltarea<br />

tehnologiilor a favorizat de asemenea introducerea şi utilizarea pe scară largă a roboţilor în diferitele<br />

procese de lucru. În acest fel, roboţii au devenit elemente puternice ale industriei. Aceste structuri<br />

complexe, capabile să îndeplinească sarcini variate, prezintă avantajul că nu necesită condiţii speciale de<br />

siguranţă în muncă (aplicate în cazul operatorilor umani) putând fi utilizaţi în diferite aplicaţii industriale în<br />

cooperare cu alte dispozitive periferice, maşini unelte, centre de prelucrare sau chiar alți roboţi. În general,<br />

roboţi sunt proiectaţi astfel încât să poată fi controlaţi prin intermediul unui computer sau a unui dispozitiv<br />

similar. Mişcările robotului sunt controlate prin intermediul controlerului şi mijlocite de un computer pe care<br />

rulează un soft similar celui existent în controler. Astfel, acţiunile robotului precum şi sarcinile de lucru pot fi<br />

modificate prin simpla schimbare a programului, fapt care reprezintă un avantaj major conferind acestor<br />

structuri un grad ridicat de flexibilitate (robotul poate fi adaptat diferitelor aplicaţii industriale fără a fi nevoie să<br />

se intervină la nivel de structură mecanică, adaptarea realizându-se prin simpla modificare a programului).<br />

Roboţii industriali pot fi clasificaţi în funcţie de mai multe criterii, cum ar fi: generaţia din care face parte,<br />

gradul de inteligenţă, capabilităţile structurale sau operaţionale dar şi aplicaţiile în care este implementat.<br />

1.2 Noţiuni generale referitoare la precizia roboţilor industriali<br />

Aplicaţiile industriale robotizate au cunoscut o dezvoltare continuă de la introducerea primelor<br />

dispozitive robotizate până în zilele noastre. Aceste aplicaţii încă mai includ procese de fabricaţie<br />

tradiţionale însă în ultimii ani ele s-au extins spre alte zone cum ar fi medicina sau industria de<br />

divertisment. Au apărut astfel noi domenii de utilizare a capabilităţilor roboţilor una dintre ele fiind chirurgia<br />

robotizată, unde atât precizia cât şi repetabilitatea roboţilor utilizaţi sunt esenţiale. Aplicaţiile care se<br />

bazează pe procese de fabricaţie prezintă o serie de cerinţe care cunosc diferite modificări în timp în<br />

funcţie de tipul de produs, nivelul de calitate al acestuia, obligând roboţii să se adapteze acestor cerinţe în<br />

continuă schimbare. Deci, indiferent de tipul sau complexitatea aplicaţiei, cerinţele în ceea ce priveşte<br />

roboţii sunt din ce în ce mai mari. Performanţele unui robot pot fi evaluate doar prin prisma aplicaţiilor<br />

pentru care a fost proiectat sau în care acesta este utilizat. Astfel apare întrebarea dacă introducerea unor<br />

tehnologii noi ar contribui la îmbunătăţirea caracteristicilor de performanţă ale roboţilor existenţi în ceea ce<br />

priveşte precizia şi repetabilitatea. O barieră tehnologică care a afectat o lungă perioadă de timp industria<br />

robotizată a constat în problema reducerii sau chiar a eliminării erorii care apare între sistemul de referinţă<br />

al sculei de lucru şi sistemul de referinţă ataşat piesei [C02] . În continuare vor fi analizate câteva aspecte<br />

12


Robot<br />

SR<br />

SCR<br />

S FL<br />

13<br />

S TCP<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

legate de componentele unei celule robotizate, de sistemele de referință atașate precum și de erorile pe<br />

care acestea le introduc în sistem. În Fig.1.1 se prezintă aceste sisteme [B05].<br />

Situarea (poziția și orientarea) flanșei pe care se montează efectorul final sau scula robotului este<br />

definită în raport cu sistemul de referință atașat bazei fixe a robotului. Din punct de vedere matematic<br />

aceasta este definită prin intermediul matricei de transformare omogenă dintre sistemele atașate bazei,<br />

respectiv flanșei robotului. Această matrice de transformare este funcție de poziția și orientarea fiecărei cuple.<br />

Sistemul de referință atașat efectorului final (sculei de lucru) definește transformarea dintre sistemul<br />

atașat flanșei robotului și un sistem atașat punctului caracteristic. Poziția și orientarea sistemului atașat<br />

sculei se modifică în cazul în care scula este schimbată în timpul procesului de lucru sau dacă este uzată.<br />

Situarea robotului in spațiul real de lucru trebuie de asemenea să fie determinată pentru a asigura<br />

precizia impusă de aplicația în care este implementat robotul. Aceasta este definită de matricea de<br />

transformare dintre sistemul de referință atașat bazei fixe a robotului și un sistem de referință oarecare<br />

ales în interiorul celulei robotizate. În cazul în care robotului i se adaugă o axă suplimentară de mișcare,<br />

(cale de rulare) poziția sistemului atașat bazei robotului se va modifica pe parcursul procesului de lucru.<br />

Spatiul de lucru ( celula robotizata)<br />

Flansa robotului<br />

Efectorul final<br />

Piesa de prelucrat<br />

Fig. 1.1 – Componentele unei celule robotizate și sistemele de referință atașate<br />

Situarea piesei în spațiul de lucru este definită în raport cu dispozitivele de prindere/fixare, benzile<br />

transportoare sau platformele rotative din spațiul de lucru al robotului. Matematic, este reprezentată de<br />

transformarea ce are loc între sistemul de referință atașat piesei și sistemul de referință al celulei robotizate.<br />

Piesa de prelucrat introduce o serie de erori datorate abaterilor de poziție sau deformațiilor care pot să<br />

apară în timpul procesului de lucru. Dacă aceste erori depășesc valoarea toleranțelor admisibile,<br />

sistemul senzorial utilizat în cadrul procesului de lucru trebuie reproiectat și modificat [J01].<br />

SP<br />

SS−P


NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

Sistemul de măsurare utilizat are rolul de a calibra sau de a orienta componentele celulei robotizate.<br />

Acest sistem își raportează măsurătorile la un sistem de referință ales undeva în spațiul de lucru al<br />

robotului, a cărui poziție trebuie determinată în funcție de sistemul de referință atașat celulei de lucru.<br />

Eroarea care apare între sistemul de referinţă ataşat sculei de lucru şi sistemul de referinţă al piesei<br />

se datorează în mare parte, diferenţelor care apar între modelarea analitică a robotului şi cea a<br />

controlerului, factori precum erorile de prelucrare sau de montaj influenţând de asemenea această eroare.<br />

Soluţii precum proiectarea şi construirea unor structuri mai performante sau a unor dispozitive de<br />

fixare mai rigide, caracterizate de o repetabilitate bună precum şi îmbunătăţirea proceselor de prelucrare<br />

au oferit o rezolvare parţială a acestei probleme. Aceste soluţii s-au dovedit a fi de cele mai multe ori<br />

nefezabile datorită cerinţelor greu de satisfăcut sau a costurilor implicate mult prea ridicate. [Z01]<br />

Astfel, compensarea erorii printr-un proces intern de feed-back devine o soluţie economică şi mai<br />

uşor de aplicat. În orice sistem de comandă (control), nivelul de complexitate al aplicaţiei este definit<br />

prin intermediul parametrilor de proces. Dacă de exemplu, se doreşte îmbunătăţirea rezoluţiei sau a<br />

preciziei robotului, este esenţial ca măsurătorile să fie realizate cu ajutorul unui sistem de măsurare<br />

performant. Parametrii care afectează procesul de poziţionare în cazul unui robot sunt rezoluţia,<br />

repetabilitatea şi precizia. Aceşti parametri sunt influenţaţi în mod direct de comportamentul diferitelor<br />

componente utilizate în construcţia roboţilor (elemente cinetice, motoare, codificatoare), de procedeul<br />

de fabricaţie precum şi de capabilităţile sistemului de acţionare utilizat sau cele ale controlerului robotului.<br />

1.2.1 Terminologie. Caracteristici ale preciziei. Sursele erorilor.<br />

În continuare, conform [K01], vor fi prezentate o serie de definiţii şi caracteristici ale acestor parametri.<br />

Rezoluţia este una din funcţiile ce caracterizează sistemul de comandă al unui robot şi care poate fi<br />

definită ca cea mai mică deplasare ce poate fi efectuată de robot în spaţiul de lucru. Rezoluţia poate fi<br />

definită ca funcţie de cel mai mic increment de poziţie ce poate fi comandat de către controlerul<br />

robotului sau cea mai mică modificare incrementală de poziţie pe care controlerul robotului o poate sesiza.<br />

Rezoluţia sistemului este dată de rezoluţia sistemului de comandă utilizat pentru a acţiona robotul,<br />

fiind influenţată de procedeul de construcţie, rigiditatea braţului robotului (flexibilitatea structurală),<br />

tipurile de codificatoare utilizate şi de mulţi alţi factori. În definirea rezoluţiei unui robot este foarte<br />

important să se facă distincţia între pragul / rezoluţia de control (amorsare) şi rezoluţia de programare.<br />

Rezoluţia de program poate fi definită cea mai mică modificare de poziţie ce poate fi stabilită prin<br />

programul robotului, cunoscută şi sub denumirea de unitatea fundamentală de rezoluţie. De exemplu, în<br />

cazul unui robot de tip ABB IRB2000, valoarea rezoluţiei de program, măsurată pe axă, este de 0,125 [ mm]<br />

.<br />

14


15<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

Rezoluţia de control (pragul de amorsare) reprezintă cea mai mică modificare de poziţie care poate<br />

fi sesizată şi comandată de controlerul robotului. Pentru a înţelege mai bine acest termen, se consideră<br />

spre exemplu un codificator optic care emite1500 de impulsuri luminoase / rotaţie completă. Astfel,<br />

dispozitivul va emite câte un impuls luminos la fiecare deplasare a arborelui cu 0,24° a arborelui motor.<br />

Această valoare incrementală de 0,24° reprezintă rezoluţia de control pentru această axă de<br />

mişcare iar valorile care se situează sub această limită nu pot fi sesizate de controler. Sistemul<br />

funcţionează la parametri de performanţă atunci când rezoluţia de control şi cea de programare au<br />

valori egale. În acest caz, se poate vorbi de rezoluţia de sistem (rezoluţia sistemului), definită anterior.<br />

Rezoluţia spaţială este definită ca fiind cea mai mică mişcare ce poate fi realizată de efectorul final<br />

sau scula de lucru, ataşată robotului (Fig. 1.2). Rezoluţia spaţială reprezintă o combinaţie între rezoluţia<br />

de control şi erorile de poziţionare cauzate de interacţiunea dinamică dintre robot şi mediul de lucru.<br />

Matematic, rezoluţia spaţială reprezintă produsul tuturor rezoluţiilor de control din fiecare cuplă a robotului.<br />

Un alt parametru ce influenţează<br />

Deplasarea cuplei<br />

poziţionarea corectă a robotului în spaţiul de<br />

lucru îl reprezintă repetabilitatea. Aceasta<br />

Efectorul final<br />

reprezintă o măsură a capabilităţii unui<br />

robot de a reveni de fiecare dată într-o<br />

poziţie care a mai fost atinsă anterior şi<br />

Punctul tinta<br />

care apare specificată în programul său de<br />

lucru. Cu alte cuvinte, repetabilitatea se<br />

Pozitia primei<br />

cuple<br />

<strong>PRECIZIA</strong><br />

REZOLUTIA<br />

Pozitia cuplei<br />

invecinate<br />

referă la abilitatea robotului de a-şi poziţiona<br />

efectorul final într-un punct din spaţiu,<br />

Fig. 1.2 – Legătura dintre precizie și rezoluția spațială<br />

învăţat anterior sau, capacitatea robotului<br />

de a reveni la valorile coordonatelor<br />

generalizate din cuple, ce caracterizează o poziţie anume, de fiecare dată când controlerul comandă<br />

acest lucru. Termenul de repetabilitate are conotaţii statistice, fiind adesea asociat în mod greşit cu<br />

precizia, noţiune ce defineşte frecvenţa cu care acelaşi punct este atins de fiecare dată, pe parcursul<br />

procesului de lucru. [K02]. De exemplu, în cazul în care efectorul final robotului este programat să se<br />

rotească cu un anumit unghi q i faţă de o poziţie oarecare considerată poziţia ţintă şi să repete această<br />

acţiune de n ori, se poate observa că în realitate atât unghiul de rotaţie cât şi poziţia care se doreşte a<br />

fi atinsă, diferă de fiecare dată faţă de cea stabilită în programul de comandă cu o valoare foarte mică,<br />

denumită generic, eroare. Este important de menţionat faptul că repetabilitatea nu descrie eroarea de


NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

poziţionare în raport cu sistemul de referinţă fix ataşat robotului. Astfel, repetabilitatea sistemului va fi<br />

dată de deviaţia standard a deplasărilor (gradul în care o valoare individuală dintr-o distribuţie probabilă<br />

tinde să varieze faţă de media distribuţiei). (conform Fig. 1.3). O valoare a repetabilităţii de ± 0,2 [ mm]<br />

,<br />

indică faptul că efectorul final al robotului va reveni într-un punct situat la [ ]<br />

0,2 mm de o parte şi de alta<br />

a centrului modelului de repetabilitate utilizat [C03].<br />

e<br />

Precizia<br />

Rezolutia<br />

P.R<br />

Repetabilitatea<br />

P.P<br />

Efectorul final<br />

Pozitia<br />

programata (P.P)<br />

Pozitia sesizata<br />

de robot (P.R)<br />

Majoritatea producătorilor de roboţi industriali includ în specificaţiile tehnice de produs valoarea<br />

repetabilităţii pentru diferitele modele de roboţi industriali de pe piaţă, aceasta fiind preferată preciziei. Motivul<br />

pentru care se preferă menţionarea în specificaţiile tehnice a repetabilității în locul preciziei este acela că<br />

precizia roboţilor depinde într-o mare măsură de capacitatea portantă ce îi caracterizează (sarcina utilă).<br />

O sarcină de lucru mai mare decât cea recomandată în specificaţiile de produs poate cauza<br />

deformaţii ale diferitelor elemente precum şi apariţia unor momente foarte mari în cuplele robotului.<br />

Acest fapt conduce la scăderea preciziei de poziţionare valoarea repetabilităţii rămânând neschimbată.<br />

16<br />

P.R<br />

Repetabilitate<br />

a n<br />

s<br />

TCP<br />

Precizia<br />

Fig. 1.3 – Exemplificarea noțiunii de repetabilitate<br />

Repetarea pozitiilor reale<br />

6447 4 48<br />

123<br />

Domeniul de raspuns<br />

Repetabilitate<br />

Precizia<br />

σ<br />

Pozitia<br />

comandata (P.C)<br />

P.P<br />

Rezolutia controlerului<br />

Fig. 1.4 – Reprezentarea rezoluției, preciziei și repetabilității unui robot


17<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

În general, roboţii sunt caracterizaţi de o repetabilitate mai bună comparativ cu precizia. (Fig. 1.4).<br />

Repetabilitatea ce caracterizează un robot are valori de ordinul sutimilor de inch sau a zecimilor de milimetru.<br />

Definiţia general acceptată pentru noţiunea de repetabilitate este cea furnizată de standardul ISO 9283.<br />

Ultimul parametru (şi cel mai important) care influenţează într-o măsură semnificativă procesul de<br />

poziţionare în spaţiul de lucru al efectorului final pe parcursul executării sarcinii de lucru este precizia.<br />

Noţiunea de precizie se referă la abilitatea unui robot de a aduce punctul caracteristic al efectorului<br />

final într-o poziţie ţintă, specificată în programul de lucru şi care poate fi asimilată spaţiului de lucru a<br />

robotului. Altfel spus, precizia reprezintă capabilitatea unui robot de a atinge o anumită poziţie indicată.<br />

Precizia absolută şi repetabilitatea absolută descriu abilitatea unui robot de a atinge o poziţie ţintă,<br />

fără abateri. Precizia dinamică reprezintă capacitatea unui robot de a urmări fără erori sau cu erori minime<br />

o traiectorie indicată (programată). Pentru ca robotul utilizat să fie capabil să urmărească orice traiectorie<br />

cu precizie cât mai ridicată, este necesar ca acestuia să-i fie aplicat un reglaj suplimentar faţă de un<br />

sistem de referinţă absolut, în scopul evitării coliziunilor iminente cu alte componente ale celulei robotizate.<br />

În cazul ideal, atât precizia absolută cât şi precizia dinamică pot fi reduse la rezoluţia sistemului.<br />

În concluzie, se poate observa faptul că erorile influenţează procesul de poziţionare, robotul<br />

estimând în mod greşit coordonatele unui punct ce corespund unui set de unghiuri din cuple, cunoscute.<br />

Complianţa, sau elasticitatea din cuplele robotului cum mai este definită, este rezultatul acţiunii forţei<br />

gravitaţionale, a sarcinii de lucru şi inerţiei, influenţând într-o mare măsură precizia de poziţionare a robotului.<br />

A. Caracteristici ale preciziei roboţilor industriali<br />

Precizia in funcţionare a roboţilor industriali poate fi evaluată prin intermediul erorilor. Erorile sunt<br />

definite ca diferenţa dintre mărimea necesară de realizat (valoarea nominală) şi mărimea realizată<br />

efectiv (valoarea reală). Termenul de eroare se utilizează sub forma unui cuplu ± u , putându-se afirma<br />

cu o probabilitate oarecare că poziţia sau orientarea punctului, respectiv dreptei caracteristice se află in<br />

intervalul ( x u, x u)<br />

− + , x reprezentând media rezultatelor măsurătorilor efectuate pentru<br />

determinarea unui anumit parametru. Pentru eliminarea influenţei erorii ce caracterizează dispozitivul<br />

de măsurare utilizat, și determinarea caracteristicilor de precizie, se definesc condiţiile de repetabilitate<br />

specificate. Aceste condiţii corespund unor măsurători repetate, efectuate asupra aceluiaşi robot,<br />

utilizând acelaşi dispozitiv de măsurare (suficient de precis, pentru ca eroarea proprie mijlocului de<br />

măsurare să fie neglijabilă în raport cu eroarea robotului) respectiv aceeaşi metodă, sub acţiunea<br />

aceloraşi mărimi de influenţă care se păstrează practic constante pe tot parcursul măsurătorilor. Se<br />

propun următoarele caracteristici de precizie pentru roboţii industriali programaţi prin învățare. [K04]


NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

a). Precizia de poziţionare mono-direcţională care exprimă valoarea intervalului de concordanța<br />

dintre poziţia stabilită prin program şi poziția reală (atinsă) a punctului caracteristic. Aceasta se exprimă<br />

ca diferența dintre poziţia comandată a punctului caracteristic şi centrul de greutate al norului de puncte<br />

atinse la repetarea de n ori a aceleiaşi traiectorii comandate, în condiţii de repetabilitate specifică (Fig.1.5).<br />

Dacă se notează cu ,<br />

c c<br />

x y , respectiv z c coordonatele punctului comandat şi cu x, y, z media<br />

coordonatelor xi, yi, z i ale punctelor atinse, (Fig.1.6).raportate la un reper fix, se pot scrie ecuațiile:<br />

U x, P%<br />

U x, P%<br />

U zP , %<br />

U zP , %<br />

ΔLx<br />

ΔLz<br />

z<br />

z<br />

Pozitia + orientarea<br />

realizata de robot<br />

{ OC}<br />

ΔL<br />

ΔLy<br />

G<br />

U<br />

U yP , % U yP , %<br />

y<br />

18<br />

1 1 1<br />

x = ⋅ x y = ⋅ y z = ⋅ z<br />

n n n<br />

n<br />

i, n<br />

i, n<br />

i<br />

i= 1 i= 1 i=<br />

1<br />

∑ ∑ ∑ (1.1)<br />

Precizia de poziționare după cele trei axe<br />

este definită conform ecuațiilor de mai jos:<br />

L = x − x , L = y − y , L = z − z .(1.2)<br />

x c y c z c<br />

În final, precizia de poziționare rezultantă,<br />

conform Fig.1.5, se determină cu expresia:<br />

2 2 2<br />

x y z<br />

L = L + L + L . (1.3)<br />

b). Eroarea de poziţionare mono –<br />

x<br />

direcţională reprezintă valoarea statistică a<br />

intervalului de valori ale coordonatelor<br />

x<br />

Fig. 1.5 Precizia de poziționare mono-direcțională<br />

atinse de punctul caracteristic în condiţii de<br />

repetabilitate specificate, stabilită cu<br />

siguranţă statistică P % pentru aceeaşi poziţie şi traiectorie comandată și parcursă de n ori:<br />

( )<br />

u S<br />

t<br />

x, y, z<br />

P % x, y, z = ± ⋅ (1.4)<br />

unde Sx , yz , sunt abaterile medii pătratice ale punctelor individuale față de valorile medii pe cele trei axe.<br />

n n n<br />

1 1 1<br />

Sx =± ⋅ ( xi −x) , Sy =± ⋅ ( yi −y) , Sz<br />

=± ⋅ zi −z<br />

( n−1) i= 1 ( n−1) i= 1 ( n−1)<br />

i=<br />

1<br />

2 2 2<br />

∑ ∑ ∑ ( ) (1.5)<br />

Dacă erorile ce caracterizează cele trei axe se consideră necorelate, va rezulta următoarea expresie:<br />

2 2 2<br />

P % x , P % y , P % z, P %<br />

y<br />

n<br />

u =± u + u + u . (1.6)


care poate fi considerată echivalentă cu ecuația,<br />

19<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

uP% =±<br />

t<br />

n<br />

n 1<br />

2 2 2<br />

⋅ ⎡( xi −x) + ( yi −y) + ( zi −z)<br />

⎤<br />

( n −1) ⎣ ⎦<br />

i=<br />

1<br />

∑ ; (1.7)<br />

unde, n reprezintă numărul de puncte, t = f( Pv , ) este parametrul distribuţiei Student cu v = n−<br />

1 g.d.l.<br />

Sistemul de<br />

coordonate<br />

paralel cu cel<br />

atasat bazei<br />

z<br />

x j<br />

xC<br />

INTERFATA<br />

MECANICA<br />

Centrul de<br />

masurare<br />

Pentru siguranţa statistică, se aleg<br />

valorile P = 95% sau P = 99% .<br />

Preferința pentru utilizarea repartiţiei<br />

Punctul "j"<br />

atins<br />

Student în locul repartiţiei normale,<br />

z j<br />

zC<br />

O<br />

Punctul<br />

comandat<br />

este justificată de numărul mic de<br />

experimente realizate( n ≤ 10 ).<br />

c). Precizia de orientare mono –<br />

x<br />

y j<br />

y C<br />

y<br />

direcţională – exprimă valoarea<br />

intervalului de concordanță dintre<br />

Fig.1.6 Prezentare generală a schemei de precizie<br />

poziţia stabilită prin program şi poziția<br />

reală atinsă de dreapta caracteristică.<br />

Se exprimă ca diferenţa dintre unghiurile comandate (prin program) pentru dreapta caracteristică (sau în<br />

unele cazuri şi ale dreptei auxiliare), formate cu axele sistemului de referinţă fix şi valorile medii ale<br />

unghiurilor măsurate obţinute de dreapta caracteristică, respectiv dreapta auxiliară faţă de aceleaşi axe,<br />

după parcurgerea de n ori a aceleiaşi traiectorii, în condiţiile de repetabilitate specificate (conform<br />

Fig.1.7). Aceasta se definește cu relaţiile de mai jos:<br />

αx<br />

Δ αx<br />

Uαx , P%<br />

Valoarea medie a<br />

orientarilor obtinute<br />

α<br />

n 1<br />

= ⋅∑ ; (1.8)<br />

( α x , y, z)<br />

x, y, z<br />

n<br />

i<br />

i = 1<br />

αx,<br />

c<br />

x Orientarea comandata<br />

O<br />

Δ α = α −<br />

( α , , )<br />

x, y, z x, y, z x y z<br />

c<br />

unde, ( x , y, z)<br />

i<br />

(1.9)<br />

α reprezintă unghiurile măsurate<br />

ale dreptei caracteristice față de un reper fix,<br />

( x , yz , )<br />

α reprezintă unghiurile comandate (prin<br />

c<br />

programul de comandă al robotului)<br />

Fig.1.7 Precizia de orientare mono-direcțională<br />

d). Eroarea de orientare mono-direcţională<br />

reprezintă valorile statistice stabilite cu siguranţa<br />

statistică P % pentru intervale de valori ce conțin diferenţele unghiurilor măsurate ale dreptei


NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

caracteristice, respectiv ale dreptei auxiliare faţă de axele sistemului de referinţă precum şi valorile<br />

medii ale acestor orientări, după parcurgerea de n ori a aceleiaşi traiectorii, în condiţiile de repetabilitate<br />

specificate. Erorile de orientare după cele trei axe (Fig.1.7), se exprimă cu următoarea relație matematică:<br />

unde,<br />

S<br />

u<br />

t<br />

a x, y , z S<br />

P %<br />

ax<br />

, y , z<br />

n<br />

=± ⋅ ; (1.10)<br />

( )<br />

n 1<br />

= ⋅ ⎡( α xyz , , ) −α<br />

x , yz , ⎤<br />

( n − 1)<br />

⎣ ⎦<br />

i=<br />

1<br />

∑ . (1.11)<br />

axyz , ,<br />

i<br />

sunt abaterile medii pătratice ale orientării dreptei caracteristice faţă de valoarea medie, pe cele trei axe.<br />

Înlocuind ecuația (1.10) în (1.11) se obţine expresia ce caracterizează eroarea globală de orientare:<br />

echivalentă cu,<br />

t 2 2 2<br />

uα , P% =± ⋅ Sx + Sy + Sz<br />

(1.12)<br />

n<br />

n<br />

t 1<br />

2 2 2<br />

uα<br />

, P% =± ⋅ ⋅ ( αx −αx) + ( α<br />

i y −α i y) + ( αz −α<br />

i z)<br />

n ( n −1) i=<br />

1<br />

∑ (1.13)<br />

e) Precizia de poziţionare multidirecţională se exprimă ca distanţa dintre valorile medii ale mulţimii<br />

de puncte obţinute pentru acelaşi punct comandat, după parcurgerea de n ori a două traiectorii diferite,<br />

în condiţii de repetabilitate specificate, ambele traiectorii având în comun același punct de plecare:<br />

y j<br />

y<br />

y<br />

y j<br />

O<br />

x j<br />

x j<br />

G j<br />

ΔTj<br />

x<br />

z j<br />

x<br />

u j<br />

z j<br />

Fig.1.8 Precizia traiectoriei<br />

Linia centrelor<br />

de masa<br />

z<br />

20<br />

( ) ( ) ( )<br />

2 2 2<br />

1,2 1 2 1 2 1 2<br />

Δ L = x −x + y −y + z − z (1.14)<br />

f)Eroarea de poziţionare multidirecţională reprezintă<br />

cu o siguranţă statistică de P% abaterile maxime ale<br />

preciziei de poziţionare multidirecţionale (1.14) a<br />

cărei expresie de definiție este prezentată anterior:<br />

t 2 2<br />

u1,2 , P% =± ⋅ u1, P% + u2<br />

, P%<br />

. (1.15)<br />

n<br />

g) Precizia de orientare multidirecţională este<br />

diferenţa dintre valorile medii ale orientării dreptei<br />

caracteristice, pentru aceeași orientare comandată,<br />

după repetarea de n ori a 2 traiectorii diferite:<br />

( αx, yz , ) ( αxyz , , ) ( αxyz<br />

, , )<br />

Δ = − . (1.16)<br />

1,2 1 2


21<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

h) Eroarea de orientare multidirecţională exprimă cu o siguranţă statistică de P % abaterile maxime<br />

ale preciziei de orientare multidirecţionale și anume:<br />

( uα<br />

x, y, z)<br />

⎧ = ⎫<br />

⎪ 1,2, P%<br />

⎪ ⎪<br />

⎨ 2 2 ⎬<br />

( uα x y z) ( u<br />

, , α x, y, z)<br />

t<br />

⎪=± ⋅ + ⎪<br />

⎪⎩ n<br />

1, P% 2, P%<br />

⎪⎭<br />

(1.17)<br />

i) Precizia traiectoriei poate fi definită ca mărimea intervalului de concordanță dintre traiectoria<br />

medie efectiv realizată şi traiectoria comandată. Punctele traiectoriei medii reprezintă centrele de<br />

greutate ale punctelor ce aparțin diverselor traiectorii ce străbat o secţiune j perpendiculară pe<br />

traiectoria comandată (Fig.1.8), caracterizate prin intermediul coordonatelor ( j, j, j)<br />

poziţionare a efectorului final într-o secţiune oarecare j a traiectoriei este exprimată astfel:<br />

2 2<br />

j j j<br />

x y z .Precizia de<br />

Δ T = x + y<br />

(1.18)<br />

Precizia de poziţionare pe traiectorie a efectorului final este determinată cu expresia:<br />

max Δ T = max x + y . (1.19)<br />

2 2<br />

j j j<br />

( j) ( j)<br />

j) Eroarea traiectoriei este intervalul maxim în care se poate determina cu o siguranţă statistică de P %<br />

poziţia reală a punctului caracteristic, într-o secţiune oarecare j a fasciculului de n traiectorii (Fig.1.8):<br />

t<br />

uTj, P% = ± ⋅ Sj<br />

. (1.20)<br />

n<br />

unde,<br />

S j =<br />

n 1<br />

2 2<br />

⋅ ⎡( xij − x j ) + ( yij − y j ) ⎤<br />

( n − 1)<br />

⎣ ⎦<br />

i = 1<br />

∑ . (1.21)<br />

Eroarea globală de poziționare a efectorului final pe traiectoria de mișcare comandată se calculează astfel:<br />

u = u . (1.22)<br />

, % , %<br />

( )<br />

max T P TjP j<br />

B. Sursele erorilor<br />

Precizia, repetabilitatea şi rezoluţia pot fi afectate de o serie de factori externi: frecarea, temperatura,<br />

sarcinile de lucru şi toleranţele de fabricaţie ale componentelor ce intră în alcătuirea robotului industrial.<br />

Prin standardul internaţional ISO 9283 sunt stabilite criteriile de performanţă ce caracterizează<br />

structurile de roboţi industriali. Tot aici sunt făcute o serie de recomandări referitoare la metodele de<br />

testare ce trebuie aplicate în scopul obţinerii unor valori optime pentru parametrii de performanţă.[D03]


NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

Precizia de situare respectiv repetabilitatea de situare reprezintă două dintre cele mai importante<br />

criterii de performanţă menţionate în standardul ISO 9283 şi totodată cele mai utilizate în practică. În<br />

funcţie de modalitatea în care se realizează comanda robotului, se recomandă aplicarea unuia dintre cele<br />

două criterii de performanţă menţionate. De exemplu, în situaţia în care comanda robotului se face manual<br />

(modul teach - in) este necesar ca acesta să fie caracterizat de o repetabilitate de situare bună. Dacă<br />

programul robotului este generat sub forma unei simulări 3D (programare offline), precizia absolută este<br />

esenţială. Atât precizia cât şi repetabilitatea de situare pot fi afectate de o serie de factori cinematici, dintre<br />

care se evidenţiază deplasările din cuple, respectiv<br />

deformaţiile elementelor cinetice ale robotului.<br />

r<br />

z ε s, i<br />

i<br />

r<br />

y<br />

Aceşti factori pot afecta grav calitatea<br />

i<br />

procesului de lucru în care este utilizat robotul.<br />

ε<br />

n<br />

p, i După cum se ştie, scopul principal al funcţionării<br />

zi<br />

roboţilor industriali îl constituie realizarea unor<br />

( εx, i, εy, i, εz,<br />

i )<br />

poziţii şi orientări prescrise ale pieselor<br />

manipulate, precizia fiind evidenţiată de valorile<br />

abaterilor poziţionale, la care se adaugă abaterile<br />

n<br />

xi<br />

erori sistematice<br />

ε r, i<br />

erori întâmplătoare<br />

r<br />

xi<br />

n<br />

yi<br />

Fig.1.9 Definirea erorilor de poziție și orientare<br />

de deplasare, de viteză, acceleraţii şi respectiv<br />

forţe. Cu alte cuvinte, precizia roboţilor industriali<br />

este evidenţiată prin intermediul erorilor. În<br />

continuare sunt prezentate tipurile de erori care<br />

intervin în evaluarea preciziei roboţilor industriali.<br />

Aceste erori pot fi împărțite în două mari categorii:<br />

În categoria erorilor întâmplătoare se încadrează erorile de situare (poziţie şi orientare), eroarea de<br />

traiectorie, de sincronizare şi de timp. În categoria erorilor sistematice se încadrează și erorile<br />

structurale (denumite și erorile geometrice). [A02]<br />

Eroarea de poziţie (Fig. 1.9) este un vector care are ca şi origine coordonatele punctului stabilit prin<br />

programul robotului iar ca şi punct de aplicaţie coordonatele punctului în care ajunge în realitate<br />

efectorul final (diferenţa dintre poziţia stabilită prin program şi cea realizată efectiv).[E01]<br />

Eroarea de orientare (Fig. 1.9) este evidenţiată prin intermediul unui unghi care are ca laturi poziţia<br />

programată respectiv poziţia realizată a dreptei caracteristice. Există situaţii în care se indică<br />

22


23<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

suplimentar planul, respectiv sensul de măsurare al acestui unghi. Erorile de poziţie, respectiv de<br />

orientare, sunt cauzate în principal de erorile poziţiilor relative ale cuplelor cinematice conducătoare, de<br />

jocurile in cuplele cinematice, de deformaţiile elementelor cinetice, de variaţiile de temperatură precum<br />

şi de oscilaţiile sistemului mecanic, de acţionare sau ale sistemului de comandă. [J02]<br />

Eroarea poziţiei relative a elementelor cuplelor cinematice conducătoare, reprezintă diferenţa liniară<br />

sau unghiulară dintre poziţia relativă reală şi cea programată a acestor elemente. Acest tip de eroare<br />

este cauzat de întârzieri în funcţionarea sistemului de comandă şi de acţionare, de jocurile din transmisii<br />

şi de poziţia mecanismului generator de traiectorie. În calculul erorilor de poziţie şi orientare, datorate<br />

deformaţiilor statice sau variabile in timp ale elementelor, se va ţine cont de forţele care solicită<br />

elementele şi deformaţiile produse ca urmare a acţiunii lor. Variaţiile de temperatură conduc la<br />

modificarea dimensiunilor elementelor cinetice ale mecanismului generator de traiectorie.<br />

Aceste modificări dimensionale se determină cu ajutorul unei metode şi anume, metoda binomului de<br />

dilataţie. Astfel, sunt determinate erorile de poziţie şi orientare ce apar datorită variaţiilor de temperatură.<br />

Eroarea de traiectorie reprezintă intervalul maxim în care se poate afla cu o siguranţă statistică de P%<br />

poziţia reală a punctului caracteristic al robotului, într-o secţiune oarecare j a fasciculului de n traiectorii. Se<br />

observă că eroarea de traiectorie este compusă dintr-un număr mare de erori de poziţie.<br />

Eroarea de sincronizare este un vector cu punctul de aplicaţie în poziţia programată a punctului<br />

caracteristic, a cărui extremitate reprezintă poziţia efectiv realizată (poziţia în care ajunge în realitate efectorul<br />

final). Sistemul de referinţă este solidar cu o piesă în mişcare, asupra căreia trebuie să acţioneze robotul.<br />

Eroarea de timp reprezintă intervalul de timp înregistrat între momentul ocupării unei anumite<br />

poziţii de către punctul caracteristic sau dreapta caracteristică şi momentul cerut conform programului.<br />

În final, se poate trage concluzia că erorile reprezintă mărimi statistice care oferă informaţii<br />

referitoare la performanţele roboţilor industriali determinate de parametrul analizat. Eroarea reprezintă<br />

diferenţa dintre valoarea stabilită prin programul robotului şi valoarea realizată efectiv (măsurată).[B05]<br />

1.2.2 Influenţa parametrilor cinematici asupra preciziei de poziţionare<br />

Manipulatoarele reprezintă componente esenţiale ale sistemelor de fabricaţie robotizată acestea<br />

fiind utilizate în majoritatea aplicaţiilor industriale. Atât proiectarea cât şi implementarea manipulatoarelor<br />

se bazează pe modelarea, analiza şi programarea cu precizie ridicată a poziţiilor punctului caracteristic.<br />

În cadrul diferitelor aplicaţii industriale precum sudura, manipularea, respectiv inspecţia pieselor s-a<br />

observat că poziţionarea cu precizie ridicată a punctului caracteristic al robotului reprezintă o sarcină<br />

extrem de dificilă pentru robot, implică o durată destul de mare şi depinde în mare măsură de gradul de


NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

complexitate al operaţiilor efectuate de robot. Dintre factorii care pot avea o influenţă majoră asupra<br />

preciziei de poziţionare a punctului caracteristic în spaţiul de lucru pot fi menţionate variaţiile<br />

parametrilor geometrici din cuplele robotului dintre care dimensiunile elementelor cinetice respectiv<br />

orientarea cuplelor reprezintă principalele surse ale abaterilor de poziţie ale efectorului final al robotului.<br />

Aceasta se datorează faptului că modelarea cinematică a robotului se bazează pe o serie de<br />

parametri geometrici pentru a determina poziţia punctului caracteristic al efectorului final precum şi<br />

coordonatele generalizate din fiecare cuplă corespunzătoare acestei poziţii. Funcţia principală a unui<br />

robot constă în manipularea diferitelor obiecte, materiale sau scule în orice punct al spaţiului său de lucru.<br />

Robotul îndeplineşte diferitele sarcini de lucru pentru care a fost programat cu o anumită precizie.<br />

Precizia de poziţionare a efectorului final în spaţiul de lucru al robotului poate fi: relativă sau absolută.<br />

Precizia relativă (una dintre specificaţiile tehnice menţionate de producător) se referă la capacitatea<br />

unui robot de a reveni de fiecare dată într-o poziţie care a mai fost atinsă anterior în cadrul unui ciclu de<br />

lucru iar precizia absolută reprezintă precizia cu care robotul este capabil să îşi poziţioneze efectorul final<br />

în orice punct al spaţiului de lucru, în raport cu un sistem de referinţă fixat, a cărui poziţie este cunoscută.<br />

Precizia absolută de poziţionare se dovedeşte extrem de utilă, mai ales în cadrul proceselor de<br />

lucru în care robotul este programat să atingă anumite puncte din spaţiul de lucru, pe baza informaţiilor<br />

primite de la diferiţi senzori externi (sistem de viziune), poziţii care sunt raportate la un sistem de referinţă fix.<br />

În operarea structurilor articulate, poziţia şi orientarea efectorului final sunt influenţate de parametrii<br />

cinematici ce caracterizează robotul. Practica a demonstrat că de regulă poziţia programată a<br />

efectorului final nu coincide cu poziţia reală aceasta datorându-se în principal faptului că modelarea cu<br />

parametrii cinematici introduce o serie de erori. Acestea rezultă din modelarea structurii mecanice,<br />

modelarea electrică a sistemului robotic precum şi din inadvertenţele cauzate de alegerea inadecvată a<br />

sistemelor de referinţă pentru robot şi pentru spaţiul de lucru. Erorile care pot să rezulte din modelarea<br />

mecanică a unui robot se datorează în principal diferenţelor dintre structura proiectată şi structura<br />

asamblată şi au o influenţă majoră asupra preciziei de poziţionare şi de orientare a robotului. În cazul<br />

ideal, adică în situaţia în care între structura proiectată şi cea asamblată nu există nici o diferenţă,<br />

robotul ar avea posibilitatea de a urmări exact traiectoria prescrisă fără abateri de poziţie sau orientare.<br />

Acest lucru nu este posibil decât la nivel teoretic, deoarece în realitate, chiar dacă fiecare<br />

componentă a robotului este proiectată şi fabricată conform specificaţiilor, la montaj acestea pot fi suferi<br />

deformaţii datorate momentelor de torsiune precum şi a tensiunilor apărute în elementele sistemului de<br />

transmitere a mişcării (curele, lanţuri, fire) datorate caracterului elastic al acestora sau al materialelor<br />

utilizate. Datorită acestor erori care apar in timpul montajului este recomandat ca identificarea şi<br />

24


25<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

măsurarea parametrilor cinematici să se facă numai după ce întreaga structură a fost asamblată. [A02]<br />

În literatura de specialitate [C01], [G01], se fac referiri la doi parametrii care pot influenţa precizia de<br />

poziţionare: un parametru geometric rezultat din aplicarea metodei de modelare Denavit – Hartenberg<br />

respectiv un parametru non-geometric: complianţa cuplei, jocul dintre flancurile dinţilor, deformaţiile care apar<br />

la nivelul elementelor cinematice datorate acţiunii forţei gravitaţionale, forţelor de inerţie sau efectelor termice.<br />

Precizia parametrilor geometrici din articulaţiile robotului precum şi precizia de poziţionare a variabilelor<br />

de stare ce caracterizează cuplele robotului influenţează precizia de poziţionare a efectorului final. [B04]<br />

Coordonatele generalizate din cuplele robotului sunt parametrii utilizaţi în modelarea cinematică<br />

alături de variabilele de stare din cuple. Pentru îmbunătăţirea caracteristicilor de performanţă ale<br />

roboţilor utilizaţi in diferitele aplicaţii industriale (şi nu numai), este necesar să se aibă în vedere<br />

problema legată de eliminarea erorilor care apar între sistemul de referinţă ataşat sculei şi sistemul de<br />

referinţă ataşat piesei de manipulat. Sursa acestei probleme a fost identificată ca fiind dată de<br />

diferenţele dintre modelul teoretic al robotului (structura modelată matematic) şi cel real (asamblarea).[R01]<br />

S-a observat faptul că aceste erori se datorează într-o măsură însemnată modului în care este<br />

programat şi comandat controlerul robotului. O soluţie complexă care a fost dezvoltată şi implementată în<br />

scopul îmbunătăţirii preciziei de poziţionare o constituie calibrarea bazată pe model, realizată prin intermediul<br />

unei aplicaţii software, evitându-se astfel modificarea structurii mecanice sau constructive a robotului. [A02]<br />

1.2.3 Sistemele de referinţă ataşate robotului şi transformările care au loc între sisteme<br />

Robotul industrial poate fi considerat un sistem complex constituit dintr-o serie de cuple cinematice<br />

conectate între ele prin intermediul elementelor cinetice. Numărul cuplelor cinematice ce caracterizează<br />

structura mecanică a unui robot reprezintă numărul gradelor de libertate asociate robotului luat în studiu.<br />

Poziţia fiecărei cuple la un moment dat este exprimată în spaţiul cartezian prin intermediul<br />

transformărilor care au loc între sistemele de referinţă mobile ataşate centrului de masă al fiecărei cuple<br />

cinematice respectiv între sistemele mobile şi sistemul de referinţă fix ataşat bazei robotului [S01].<br />

Conform [M04], în continuare sunt prezentate sistemele de referință utilizate în calibrarea roboţilor:<br />

sistemul de referinţă global (fix), { }<br />

0 , un sistem fix situat în spaţiul de lucru al robotului (Oxyz);<br />

sistemul de referinţă ataşat punctului caracteristic al robotului (sistemul de referinţă ataşat sculei<br />

(Pnsa)) reprezintă sistemul de referinţă mobil ataşat punctului final, fiind notat cu { n+ 1}<br />

.<br />

Poziţia şi orientarea sistemului de referinţă mobil (Pnsa) ataşat punctului caracteristic al robotului<br />

(sculei) în raport cu sistemul de referinţă global (Oxyz) poate fi definită matematic prin intermediul unei<br />

matrice având dimensiunea ( 4x 4)<br />

cunoscută sub denumirea de matricea de transformare omogenă


NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

dintre sistemul fix şi cel mobil, ataşat efectorului final al robotului. Această matrice se poate exprima astfel:<br />

T<br />

n+ 10<br />

În expresia (1.24), vectorul de poziţie,<br />

⎡nxsx ax px⎤<br />

⎢<br />

nysy ay p<br />

⎥<br />

y<br />

= ⎢ ⎥ . (1.23)<br />

⎢nz sz az pz⎥<br />

⎢ ⎥<br />

⎢⎣ 0 0 0 1 ⎥⎦<br />

T<br />

⎣ x y z⎦<br />

p = ⎡p p p ⎤<br />

26<br />

exprimă poziţia punctului caracteristic<br />

ataşat sculei robotului (P) iar coordonatele celor trei versori ai axelor sistemului de referinţă (Pnsa)<br />

reprezintă orientarea sistemului ataşat punctului caracteristic definită astfel:<br />

⎡n s a ⎤<br />

n s a n s a . (1.25)<br />

[ ]<br />

x x x<br />

=<br />

⎢ ⎥<br />

⎢ y y y⎥<br />

⎢nz sz az⎥<br />

⎣ ⎦<br />

Transformarea omogenă directă dintre cele două sisteme este reprezentată grafic prin intermediul<br />

unui vector având originea în centrul sistemului de referinţă global şi extremitatea în originea sistemului<br />

mobil ataşat sculei robotului. Transformarea inversă dintre cele două sisteme notată<br />

[ ]<br />

0 1<br />

n 1T −<br />

+<br />

reprezintă situarea (poziţia şi orientarea) sistemului de referinţă global (fix) { }<br />

0 determinată în raport cu<br />

un sistem arbitrar ataşat punctului caracteristic al robotului, notat { P arbitrar } . Expresiile de definiţie pentru<br />

matricele de transformare directă T n+ 10,<br />

respectiv a inversei sale<br />

1<br />

n 10<br />

T −<br />

+ , pot fi aplicate oricărui sistem de<br />

referinţă ataşat robotului luat în studiu. Cuplele cinematice ale unui robot reprezintă o legătură mobilă,<br />

directă între două elemente cinematice, realizată în scopul limitării libertăţii de mişcare relative dintre<br />

acestea şi a transmiterii mişcării de la un element la altul. Legătura se poate realiza continuu sau<br />

periodic şi are loc pe o suprafaţă, linie sau punct. De asemenea, se poate observa că fiecare cuplă<br />

cinematică este alcătuită dintr-un element de intrare şi un element de ieşire.<br />

Poziţia relativă dintre cele două elemente defineşte poziţia cuplei, fiind evident faptul că pentru diferite<br />

configuraţii ale cuplelor robotului se vor obţine poziţii şi orientări diferite ale efectorului final. Din punct de<br />

vedere matematic, modelul cinematic al robotului descrie relaţia geometrică ce se stabileşte între o<br />

poziţie dată a efectorului final al robotului, respectiv poziţiile corespunzătoare ce caracterizează fiecare<br />

cuplă cinematică. Astfel, modelul cinematic direct oferă posibilitatea determinării poziţiei punctului<br />

caracteristic ataşat efectorului final, în situaţia în care se cunosc coordonatele generalizate ce<br />

caracterizează la un moment dat fiecare dintre cuplele robotului.[S01]


27<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

Modelul cinematic invers permite<br />

Cupla ( i −1)<br />

Cupla i<br />

θi<br />

Cupla ( i + 1)<br />

θ i+ 1<br />

sistemului robotic să determine exact care<br />

ar trebui să fie valorile coordonatelor<br />

generalizate din cuplele robotului pentru ca<br />

θi−1 efectorul final să ajungă într-o poziţie<br />

impusă (particulară). În dezvoltarea<br />

βi<br />

zi−1 θi<br />

γ i−1 xi−1 xi<br />

i<br />

ecuaţiilor de mişcare se porneşte de la<br />

stabilirea sistemelor de referinţă carteziene<br />

pentru reprezentarea poziţiei relative dintre<br />

două poziţii succesive ale robotului.<br />

Modelul matematic bazat pe parametrii<br />

Denavit – Hartenberg (conform Fig.1.10)<br />

reprezintă o modalitate eficientă de modelare sistematică a parametrilor generalizaţi ce caracterizează<br />

poziţia şi orientarea fiecărei cuple cinematice indiferent de gradul de complexitate a structurii studiate. [B04].<br />

z<br />

Elementul ( i )<br />

Elementul ( i −1)<br />

Elementul ( i −2)<br />

α i<br />

xi<br />

Fig.1.10 Definirea parametrilor Denavit – Hartenberg<br />

1.3 Caracteristicile de performanţă ale roboţilor industriali<br />

Firmele importante, producătoare de roboţi industriali au fost preocupate încă din perioada de<br />

început a dezvoltării industriei robotizate (chiar mai mult decât clienţii lor) de posibilităţile de<br />

îmbunătăţire a preciziei de funcţionare a modelelor lansate pe piaţă. Primul pas în stabilirea preciziei<br />

unui robot industrial constă în determinarea criteriilor de performanţă ce caracterizează structura<br />

respectivă, acest fapt fiind realizat practic prin aplicarea unor metode de testare corespunzătoare. În<br />

situaţia în care din rezultatele testării reiese necesitatea luării unor măsuri de îmbunătăţire a preciziei<br />

primare sau a repetabilităţii primare, se va impune reproiectarea structurii robotului respectiv. Dacă în<br />

schimb se doreşte îmbunătăţirea caracteristicilor dinamice ce definesc o anumită structură de robot, simpla<br />

modificare a setărilor de comandă, a parametrilor sau a algoritmilor utilizaţi s-a dovedit a fi suficientă.<br />

Aplicarea metodelor respectiv a tehnicilor de calibrare se impune în situaţia în care se doreşte<br />

creşterea preciziei absolute de situare sau atunci când se doreşte determinarea capabilităţilor unui robot<br />

destinat utilizării in cadrul unei celule flexibile de fabricaţie, pe baza toleranţelor ce caracterizează întreg<br />

spaţiul de lucru al robotului respectiv. De menţionat faptul că precizia absolută de poziţionare reprezintă<br />

capabilitatea unui robot de a-şi deplasa cu precizie punctul caracteristic ataşat efectorului final într-o<br />

nouă poziţie / orientare din spaţiul Cartezian, în raport cu sistemul de referinţa fix ataşat bazei robotului<br />

sau relativ la sistemul de referinţă al celulei de lucru. În conformitate cu standardul ISO 9283, testarea


NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

caracteristicilor de performanţă ale structurilor de roboţi are drept scop facilitarea relaţiei dintre<br />

producătorii şi utilizatorii de roboţi şi sisteme robotizate. Totodată în standard sunt definite cele mai<br />

importante caracteristic de performanţă, modalităţile de stabilire a lor, făcându-se o serie de<br />

recomandări referitoare la procedurile de testare care trebuie aplicate în fiecare caz. Standardul<br />

defineşte următoarele caracteristici de performanţă: precizia de situare respectiv repetabilitatea de<br />

situare, variaţia preciziei de situare multidirecţionale, precizia/repetabilitatea la deplasare, intervalul de<br />

stabilizare a poziţiei, abaterile de poziţie, deplasarea punctului caracteristic, interschimbabilitatea,<br />

precizia / repetabilitatea de urmărire a unei curbe, precizia de urmărire a unei curbe în cazul modificării<br />

orientării, timpul minim de situare, caracteristicile de viteză ale curbei parcurse, complianţa statică etc.<br />

Standardul ISO 9283 a fost definit pentru prima dată în anul 1990, prima recenzie a fost făcută în<br />

1996 fiind aprobat în final în anul 1998. În paralel cu standardul ISO, între 1990 -1992 s-a dezvoltat şi<br />

standardul american ANSI/RIA R15.05. În prima parte a standardului ANSI sunt definite<br />

caracteristicile de performanţă statice respectiv permanente ale robotului. Este vorba despre precizie,<br />

repetabilitate, timpul de lucru, deviaţiile, timpul de răspuns (perioada tranzitorie) respectiv complianţa.<br />

În cea de-a doua parte sunt analizate caracteristicile de performanţă dinamice:<br />

precizia/repetabilitatea în urmărirea unei curbe, caracteristicile de viteză ale curbei parcurse. În ultima<br />

parte sunt făcute o serie de recomandări referitoare metodele acceptate de testare a fiabilităţii:<br />

verificarea conformităţii cu specificaţiile, testul de 24h (constă în operarea fiecărei axe a robotului,<br />

individual, timp de 24h), testul de 48h (constă în operarea simultană a multor axe ale robotului timp de<br />

48h). Până în prezent, aceste standarde au foarte puţin aplicate, în special de către utilizatorii de roboţi.<br />

Referitor la această problemă, în urma unui sondaj desfăşurat în cadrul unui proiect de cercetare<br />

european, s-a constatat (printre altele) că mai puţin de 10% dintre companii au aplicat metodele de<br />

testare ale performanţelor roboţilor recomandate de standardul ISO 9283. De asemenea, s-a remarcat<br />

faptul că atât producătorii cât şi utilizatorii de roboţi industriali înţeleg importanţa acestor teste, fiind<br />

totodată pregătiţi în vederea aplicării lor, aceştia din urmă fiind interesaţi în special de testele de<br />

performanţă care pot fi adaptate în funcţie de aplicaţie. Totodată utilizatorii au pretenţia ca procedurile de<br />

testare a performanţelor roboţilor să fie cât mai simplu de aplicat, uşor de interpretat şi să prezinte<br />

opţiunea de a putea fi utilizate direct în procesul de producţie în detectarea şi rezolvarea diferitelor probleme<br />

(defecţiuni) care pot să apară, în acest fel reducându-se timpul necesar remedierii acestor probleme.<br />

1.3.1 Evaluarea performanţelor roboţilor industriali în funcţie de configuraţie<br />

În vederea evaluării performanţelor roboţilor industriali este necesară aplicarea unei analize structurale,<br />

cinetostatică şi dinamică a acestora. În cadrul acestei analize se vor determina următoarele caracteristici:<br />

28


29<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

Precizia structurală este o caracteristică de performanţă care depinde de complexitatea structurii<br />

mecanice a roboţilor. Cu cât lanţul cinematic este mai complex, cu atât robotul va fi capabil să<br />

satisfacă mai bine o lege de mişcare impusă. În cazul structurilor cu lanţ cinematic simplu, abaterile<br />

cresc iar aproximarea este grosieră. Cu toate acestea, în practică se preferă utilizarea structurilor<br />

mai simple deoarece la cele complexe erorile tehnologice ce caracterizează elementele cinetice<br />

respectiv cuplele robotului se pot cumula ajungând să depăşească aproximaţiile structurale ale celorlalte.<br />

Precizia cinematică reprezintă capacitatea robotului de a satisface legile de mişcare, deplasările, vitezele<br />

şi acceleraţiile impuse. Factorii ce determină apariţia abaterilor cinematice sunt reprezentaţi de structura<br />

aproximativă a mecanismelor componente şi de erorile de fabricaţie ale elementelor şi cuplelor cinematice.<br />

Precizia cinetostatică se referă la aprecierea calităţii în satisfacerea legilor de mişcare impuse de<br />

către utilizator (operator) precum şi a forţelor sau a momentelor prescrise.<br />

Precizia dinamică se referă la aprecierea calităţii în realizarea legilor de mişcare, forţelor,<br />

momentelor, energiilor (etc.), pentru o structură de manipulare reală. Datorită solicitărilor dinamice şi a<br />

elasticităţii ce caracterizează elementele robotului, în sistemul mecanic pot să apară vibraţii ce produc<br />

perturbaţii în funcţionarea acestuia. Analiza acestor perturbaţii este şi ea inclusă în precizia dinamică.<br />

Precizia roboţilor poate fi afectată de o serie de factori. Aceasta variază în interiorul volumului de<br />

lucru fiind mai slabă atunci când braţul robotului se îndepărtează de zona inclusă în volumul de lucru şi<br />

mai bună când braţul se găseşte într-o zonă mai apropiată de baza robotului. De asemenea, s-a<br />

observat că erorile mecanice ce caracterizează structura unui robot se amplifică în cazul în care robotul<br />

trebuie să opereze în puncte care necesită extensia totală a braţului. Având în vedere observaţiile<br />

anterioare, se impune introducerea termenului de harta a erorilor, care este utilizat pentru a caracteriza<br />

precizia roboţilor ca o funcţie ce prezintă variaţii interiorul volumului de lucru. Precizia roboţilor poate fi<br />

îmbunătăţită considerabil dacă se aplică măsura restricţionării ciclului de mişcare la un domeniul limitat<br />

din spaţiul de lucru. S-a observat că erorile mecanice se reduc considerabil în situaţia în care robotul<br />

este obligat să execute sarcinile de lucru într-un spaţiu de lucru limitat, impus prin program. Abilitatea<br />

robotului de a ajunge într-un punct particular din acest spaţiu de lucru limitat, poartă denumirea de<br />

precizie locală. Dacă precizia este evaluată în întreg spaţiul de lucru al robotului, se preferă denumirea<br />

de precizie globală. Un alt factor care poate influenţa precizia roboţilor este sarcina care trebuie<br />

manipulată de către aceştia în timpul procesului de lucru. Este evident că sarcinile de lucru prea mari<br />

pot determina abateri ale elementelor cinetice ale robotului, concretizate în valori scăzute ale preciziei.<br />

În plus, faţă de factorii ce afectează precizia şi repetabilitatea roboţilor, prezentaţi anterior, mai pot fi<br />

menţionaţi şi următorii: jocurile (alunecările) din cuplele robotului, efectele acceleraţiilor respectiv efectul


NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

acţiuni forţei gravitaţionale, efectele termice, jocurile din rulmenţi precum şi erorile marginale (de frontieră).<br />

Efectul forţei gravitaţionale este determinat de încărcarea robotului în cazul in care acesta operează în<br />

poziţie verticală. Efectul acţiunii forţei gravitaţionale constă în deformaţia braţului, calculată cu expresia:<br />

30<br />

3<br />

P⋅l δR<br />

=<br />

3⋅<br />

E⋅I B<br />

(1.26)<br />

unde P reprezintă încărcarea braţului robotic, l reprezintă lungimea braţului, E este modulul de<br />

elasticitate al lui Young iar cu I B este simbolizat momentul de inerţie al braţului.<br />

Efectul acceleraţiei se datorează forţei centrifugale care acţionează asupra braţului şi care se<br />

2<br />

determină cu expresia m⋅ω⋅ l , unde m reprezintă masa robotului, ω este viteza unghiulară a braţului<br />

iar l lungimea acestuia. Datorită acţiunii forţei de inerție centrifugale mai apare o forţă, denumită forţă<br />

centripetală care acţionează asupra braţului robotului producând o deformaţie axială care se poate<br />

Fc⋅l determina analitic cu expresia: δF<br />

= , unde F c reprezintă forţa centrifugală iar A este aria secţiunii<br />

A⋅ E<br />

transversale a braţului robotului. Deformaţia braţului produsă ca urmare a acţiunii forţei gravitaţionale<br />

( δ R ), respectiv deformaţia datorată acţiunii forţei centrifugale ( δ F ) determină apariţia erorilor de<br />

poziţionare la nivelul efectorului final.<br />

Jocurile (alunecările) reprezintă erori specifice elementelor din componenţa sistemului de transmisie<br />

al robotului. Aceste erori se manifestă în special în cazul curelelor de transmisie respectiv a<br />

mecanismelor de cuplare. În cazul transmisiilor cu roţi dinţate, aceste jocuri apar datorită spaţiului dintre<br />

dinţii roţilor aflate în angrenare.<br />

Acest fapt se manifestă prin apariţia erorilor de poziţionare ale efectorului final în spaţiul de lucru al<br />

robotului (valoarea programată nu mai corespunde cu valoarea reală).<br />

Deformaţiile datorate efectelor termice (ex. variaţiile de temperatură din mediul de lucru, căldura<br />

generată în timpul funcţionării echipamentelor de transmisie a puterii (curele, lanţuri, angrenaje, cuplaje)).<br />

Jocurile din rulmenţi afectează considerabil precizia de poziţionare a robotului. Majoritatea<br />

rulmenţilor prezintă jocuri de aproximativ 0,002( mm ) . În timpul funcţionării, inelul interior se încălzeşte<br />

în general mai mult decât cel exterior (din cauza transferului necorespunzător de căldură) şi, astfel,<br />

valoarea jocului se modifică. Totodată, datorită forţelor care acţionează asupra rulmentului au loc<br />

deformaţii în zonele de contact între căile şi corpurile de rulare care modifică valoarea jocului.<br />

Jocul de funcţionare optim depinde de destinaţia şi condiţiile de lucru ale rulmentului. Din acest motiv,<br />

dacă procesul de lucru impune sarcini şi precizie de funcţionare mari, atunci valoarea jocului trebuie să fie


31<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

cât mai mică). Valorile mari ale jocurilor determină micşorarea preciziei de rotire a rulmentului şi<br />

neuniformitatea repartizării forţelor pe corpurile de rostogolire, mărind astfel uzura şi micşorând durabilitatea<br />

rulmenţilor, fapt care conduce la creşterea temperaturii de funcţionare şi micşorarea turaţiei maxime de<br />

funcţionare. Toate acestea au ca efect imprecizia de poziţionare a braţului robotic. În Fig. 1.11 sunt<br />

evidențiați principalii factori care influențează precizia geometrică (structurală), cinematică și dinamică.<br />

Fig.1.11 Factorii care influențează precizia globală a structurilor de roboți<br />

În continuare, se prezintă o analiză a modului în care configuraţia braţului unui robot serial<br />

influenţează precizia de situare a efectorului final în spaţiul de lucru. Majoritatea roboţilor industriali<br />

(structuri seriale) sunt alcătuiţi în principal dintr-un singur lanţ cinematic ce constă dintr-o serie de cuple<br />

(care pot fi cuple de rotaţie, prismatice sau sferice) conectate între ele prin intermediul elementelor<br />

cinetice. Erorile de proiectare respectiv de construcţie / montaj ale braţului robotului determină<br />

modificarea razei de acţiune a braţului, a volumului de lucru acoperit, a complianţei şi nu în ultimul rând,<br />

acestea pot afecta precizia de situare a efectorului final respectiv calitatea procesului de lucru. În Fig.<br />

1.12 sunt prezentate în mod lapidar cele mai importante erori care afectează structura roboților. Astfel,<br />

conform cu [K04], erorile care afectează roboții seriali se pot clasifica în două categorii: Luând în<br />

considerare tipul cuplelor cinematice, aranjamentul structural, respectiv spaţiul de lucru descris în timpul<br />

procesului de lucru, în continuare vor fi analizate şase dintre cele mai cunoscute configuraţii de roboţi<br />

utilizaţi în cadrul aplicaţiilor industriale, în ceea ce priveşte performanţele acestora.


NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

Fig. 1.12 Erorile care afectează structura roboților seriali<br />

A. Roboţi în sistem de coordonate carteziene<br />

Roboţii cartezieni sunt în general constituiţi din trei cuple prismatice (de translaţie), cu rol în<br />

poziţionarea efectorului final în spaţiul de lucru. O caracteristică importantă a roboţilor de acest tip o<br />

constituie aceea că rezoluţia spaţială este egală şi constant distribuită atât de-a lungul celor trei axe de<br />

translaţie cât şi în întreg volumul de lucru al robotului.<br />

Avantajele utilizării acestei structuri rezultă din rezoluţia mare şi precizia ridicată, posibilitatea<br />

evitării obstacolelor şi a coliziunii cu diverse echipamente din spaţiul de lucru.<br />

Alte avantaje care merită subliniate sunt: volum de lucru foarte mare, comparativ cu volumul propriu<br />

al robotului, simplitatea algoritmilor de comandă , a comenzilor de mişcare, şi nu în ultimul rând,<br />

simplitatea structural – funcţională a echipamentului de programare, comandă şi interfaţare.<br />

Dezavantajele acestor structuri sunt date de dimensiunile mari şi în consecinţă de spaţiul de lucru<br />

necesar, complexitatea proiectării axelor de translaţie, spaţiul de lucru limitat, etc.<br />

Volumul de lucru este reprezentat de un paralelipiped rezultat din modul de deplasare a cuplelor<br />

cinematice în lungul celor trei axe x, y şi z ale sistemului cartezian de coordonate. În Fig. 1.13 este<br />

reprezentat un astfel de robot cartezian:<br />

32


33<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

Fig. 1.13 Reprezentarea structurii şi a spaţiului de lucru al unui robot cartezian<br />

B. Roboţi în sistem de coordonate cilindrice<br />

Acest tip de roboţi se caracterizează prin faptul că spaţiul de lucru descris de efectorul final are o<br />

formă cilindrică (porţiune dintr-un cilindru) fiind alcătuiţi în general din două cuple prismatice (translaţie)<br />

pentru poziţionare şi o cuplă de rotaţie pentru orientare. În aplicaţii cel mai des folosită este structura de<br />

tip R2T alcătuită dintr-un braţ orizontal montat pe un suport rotativ (rotaţie în bază). Braţul poate efectua<br />

două translaţii, prima în plan vertical (în lungul axei de rotaţie) şi a doua în plan orizontal (de-a lungul<br />

unei axe perpendiculare pe axa de rotaţie) precum şi o rotaţie din bază. Astfel, volumul de lucru rezultat<br />

reprezintă o secţiune inelară dintr-un cilindru (Fig. 1.14). Roboţii cilindrici prezintă o serie de avantaje<br />

cum ar fi de exemplu faptul că posturile de lucru se pot amplasa şi pe verticală de unde rezultă utilizarea<br />

economică a spaţiului de lucru, rigiditatea crescută, care le conferă o precizie bună de poziţionare,<br />

posibilitatea utilizării în aplicaţii care necesită accesul din lateral. Unul dintre dezavantajele utilizării acestor<br />

structuri constă în faptul că flexibilitatea braţului robotului este mai redusă în cazul utilizării în cadrul<br />

operaţiilor de manipulare ce reclamă poziţionări dificile. Aceste structuri prezintă precizie de poziţionare<br />

mai slabă, comparativ cu cea caracteristică roboţilor care operează în sistem de coordonate carteziene.<br />

Fig.1.14 Reprezentarea structurii şi a spaţiului de lucru al unui robot în coordonate cilindrice


NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

C. Roboţi în sistem de coordonate sferice<br />

Roboții în coordonate polare sunt alcătuiți dintr-o bază rotativă, un braț pivotant (cuplă de<br />

rotație) și un braț telescopic (cuplă prismatică). Prima mișcare corespunde unei rotații în jurul axei<br />

verticale, cea de-a doua este tot o rotație dar în jurul axei x iar cea de-a treia mișcare este<br />

reprezentată de o translație în lungul axei y .<br />

Punctele din spațiul de lucru al robotului în care poate ajunge punctul caracteristic al efectorului final<br />

sunt incluse în volumul unei sfere de rază R (sau a unei porțiuni dintr-o sferă, Fig.1.15). Avantajele<br />

utilizării acestor structuri de roboți sunt următoarele: structură mecanică relativ simplă, compatibilitate<br />

bună cu alte echipamente, rezoluție bună datorată faptului că erorile din efectorul final sunt<br />

perpendiculare între ele. Dezavantajele sunt date de faptul că acești roboți prezintă posibilități limitate<br />

de evitare a obstacolelor și de faptul că eroarea de poziționare este destul de mare, este datorată<br />

mișcării de rotație a brațului și este proporțională cu raza descrisă de braț în mișcare de rotație.<br />

Complexitatea realizării comenzii cinematice constituie un alt dezavantaj important.<br />

Fig. 1.15 Reprezentarea structurii şi a volumului de lucru al unui robot în coordonate polare<br />

D. Roboţii articulaţi<br />

Acest tip de configurație mai este cunoscută în literatura de specialitate sub denumirea de<br />

configurație antropomorfă. Roboții de acest tip sunt alcătuiți în principal din trei cuple de rotație, după<br />

cum se poate observa și din Fig. 1.16. Volumul de lucru descris de efectorul final are o formă complexă<br />

care poate fi obținută dintr-o sferă. Se observă că spre deosebire de roboții în coordonate polare, acest<br />

tip de roboți prezintă un spațiu de lucru mai mare, fiind capabili de a efectua mișcări complexe. Datorită<br />

flexibilității structurii, roboții articulați sunt utilizați în special în cadrul proceselor de lucru în care accesul<br />

se face foarte greu. Precizia de poziționare a acestor structuri este foarte mare.<br />

34


35<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

Fig. 1.16 Reprezentarea structurii şi a volumului de lucru al unui robot articulat<br />

E. Roboţii de tip SCARA<br />

Robotul de tip SCARA (Selective Compliance Assembly Robot Arm) este configurația cea mai<br />

utilizată în cadrul proceselor de asamblare. În Fig. 1.17 este reprezentată o astfel de configurație de<br />

robot precum și volumul de lucru descris de către efectorul final. În principal, structurile de tip SCARA<br />

sunt alcătuite din două cuple de rotație și o cuplă prismatică (translație). În procesele de lucru care<br />

necesită precizie ridicată, se poate opta pentru utilizarea unei structuri care să mai prezinte în plus o<br />

cuplă de rotație, necesară pentru poziționarea corectă a efectorului final. Deși structura cinematică a<br />

roboților de tip SCARA este similară cu cea a roboților în coordonate polare, volumele de lucru diferă<br />

considerabil. Volumul de lucru ce caracterizează aceste structuri are în principal o formă cilindrică, însă<br />

restricțiile de mișcare impuse de structura mecanică conduc la forma complexă prezentată în Fig. 1.16.<br />

Roboții SCARA sunt caracterizați de o precizie de poziționare foarte bună și viteze mari de lucru, fiind<br />

ideali pentru a fi utilizați în special în procesele care necesită operare în plan (transfer, asamblare,<br />

inspecție și măsurare). De asemenea, o caracteristică importantă a acestor roboți o constituie complianța.<br />

De exemplu, în cazul îmbinării diferitelor piese, cum ar fi de exemplu introducerea unui cip în<br />

locașul său pe placa de bază, anumite mișcări de deplasare laterală (complianța) trebuie tolerate<br />

deoarece acestea au un rol important în centrarea piesei. Roboții de tip SCARA au capabilitatea de a realiza<br />

centrarea piesei fără a recurge la modificarea orientării, fapt care ar putea conduce la blocarea piesei.<br />

Fig.1.17 Reprezentarea structurii şi a volumului de lucru al unui robot de tip SCARA


NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

1.4 Calibrarea roboţilor industriali<br />

Roboții utilizați în aplicațiile industriale pot fi afectați de o serie de modificări la nivelul structurii<br />

mecanice (uzura sau înlocuirea diferitelor componente, jocurile din cuple și din rulmenți) care se<br />

manifestă prin erori de poziționare și orientare ce alterează procesul de lucru. Pentru a remedia efectele<br />

factorilor enumerați mai sus, se aplică un procedeu cunoscut în literatura tehnică sub denumirea de<br />

calibrare. Procesul de calibrare este aplicat în scopul îmbunătățirii preciziei de poziționare prin utilizarea<br />

unui soft dedicat, în acest fel evitându-se modificarea structurii mecanice sau a sistemului de comandă<br />

al robotului. Calibrarea reprezintă un procedeu de îmbunătățire a preciziei de poziționare a robotului prin<br />

dezvoltarea unui model ai cărui parametri reprezintă cu precizie structura reală a robotului.<br />

După realizarea acestui model, următorul pas constă în măsurarea exactă a caracteristicilor de<br />

performanță ale robotului. Ultima fază a procesului de calibrare constă în aplicarea unei proceduri de<br />

identificare în vederea determinării acelor valori ale parametrilor care atunci când sunt utilizate în<br />

modelul de calibrare reflectă în mod precis valorile măsurate. În momentul de față, calibrarea joacă un<br />

rol important în procesul de producție al roboților precum, în implementarea și operarea acestora în<br />

cadrul sistemelor de asamblare automată sau a producției asistate de calculator deoarece conduce la<br />

îmbunătățirea semnificativă a preciziei roboților respectiv la scăderea costurilor de producție. [A01]<br />

1.4.1 Noţiuni referitoare la procesul de calibrare al roboţilor industriali<br />

În ultimii ani, utilizarea pe scară largă a roboților în industrie a determinat și creșterea nivelului<br />

cerințelor în rândul utilizatorilor care își doresc structuri caracterizate de repetabilitate și precizie bună,<br />

în egală măsură. În cazul în care în urma ajustărilor făcute robotul nu asigură precizia impusă de<br />

proces, se recomandă calibrarea lui. Majoritatea metodelor de calibrare utilizate se bazează pe<br />

compararea pozițiilor memorate de către robot cu măsurătorile efectuate asupra efectorului final de<br />

către un dispozitiv independent de măsurare în coordonate. În urma identificării celor două valori (care<br />

teoretic ar trebui să coincidă), se aplică o serie de măsuri corective care constau în modificarea valorii<br />

parametrilor D-H din modelul matematic astfel încât diferența măsurată între poziția programată și<br />

poziția reală a efectorului final să fie minimă. Progresele înregistrate în industria IT în ceea ce privește<br />

pachetele de programe utilizate în programarea off-line a roboților au creat posibilitatea actualizării<br />

modelului matematic conținut de controlerul robotului astfel încât parametrii acestuia să coincidă cu cei<br />

înregistrați în urma aplicării tehnicilor și metodelor de calibrare. Astfel, robotul poate fi utilizat și în alte<br />

aplicații (alte celule robotizate) fără a fi necesară calibrarea lui ci doar rularea unui model de calibrare.<br />

Sistemele de programare off-line care oferă astfel de soluții sunt Workspace și IGRIP. În plus, față de<br />

36


37<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

soluțiile enumerate anterior mai pot fi menționate metodele experimentale invazive / neinvazive de<br />

calibrare. Dintre acestea, metodele neinvazive (senzorii de distanță supersonici, senzori de proximitate<br />

laser, camere video de înaltă rezoluție, sisteme de viziune robotizată) deși sunt caracterizate de o<br />

precizie ridicată prezintă dezavantajul de a fi extrem de costisitoare atât în ceea ce privește costul<br />

echipamentului necesar calibrării cât și în privința timpului necesar pentru setarea sistemului și<br />

realizarea interfațării dintre sistemul de calibrare și controlerul robotului. Restricțiile de cost impuse de<br />

majoritatea aplicațiilor industriale obligă la utilizarea unor metode mai puțin precise dar ieftine. Astfel de<br />

soluții implică folosirea pieselor șablon a dispozitivelor flexibile sau a palpatoarelor de înaltă precizie. O<br />

altă noțiune care poate fi asociată calibrării este reprezentată de metrologie. Metrologia (teoria și tehnica<br />

măsurării) implică efectuarea de măsurători standardizate (ISO 9283) în vederea evaluării caracteristicilor<br />

de performanță ale robotului. Cele mai utilizate tehnici de măsurare în calibrarea roboților sunt următoarele:<br />

• triangulația laser;<br />

• metodele inerțiale de măsurare;<br />

• metodele de măsurare a poziției;<br />

• metodele de interferometrie laser;<br />

• metode de comparare a traiectoriilor;<br />

• metodele de măsurare în coordonate polare;<br />

• metode de măsurare în coordonate carteziene.<br />

Varietatea soluțiilor oferite de producătorii de sisteme de măsurare indică faptul că utilizarea acestora<br />

depinde în mare măsură de parametrii ce caracterizează procesul de lucru în care este utilizat robotul.<br />

1.4.2 Caracteristicile procesului de calibrare. Metode de calibrare<br />

Calibrarea reprezintă procesul prin care parametrii reali ce influențează precizia de poziționare a<br />

robotului se stabilesc prin aplicarea unor metode de măsurare directă sau indirectă. Acești parametri<br />

sunt utilizați în vederea îmbunătățirii preciziei prin modificarea softului de poziționare. În general,<br />

metodele de calibrare implică patru etape: modelarea, măsurarea, identificarea parametrilor și compensarea.<br />

Prima etapă a procesului de calibrare o constituie modelarea prin care se urmărește realizarea unei<br />

legături între poziția ocupată de efectorul final în spațiul Cartezian (exprimată prin intermediul<br />

coordonatelor generalizate din cuplele robotului) și parametrii cinematici care pot influența funcția de<br />

poziționare. Următoarea etapă constă într-o serie de măsurători externe ce vizează determinarea poziției<br />

exacte a efectorului final în spațiul Cartezian, corespunzătoare unui anumit set de valori ale coordonatelor<br />

generalizate din cuplele robotului. Aceste măsurători trebuie efectuate pentru un număr suficient de


NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

mare de poziții ale efectorului final care să permită în continuare aplicarea metodelor de identificare.<br />

Identificarea reprezintă o metodă de stabilire a parametrilor cinematici reali pe baza unui set de<br />

poziții și orientări ale efectorului final, corespunzătoare unor valori cunoscute ale coordonatelor<br />

generalizate din cuplele robotului. Metoda de identificare care urmează a fi aplicată este selectată în<br />

funcție de modelul matematic și modalitatea de măsurare aleasă. Valorile parametrilor rezultați în urma<br />

aplicării metodelor de identificare sunt implementate în softul controlerului conducând la o îmbunătățire<br />

considerabilă a preciziei de poziționare a robotului. [B04]<br />

În cazul în care erorile care afectează precizia de poziționare a efectorului final nu sunt determinate<br />

de factori care țin de geometria robotului, pentru evaluarea efectelor acestor erori și determinarea<br />

cauzelor ce le-au produs poate fi utilizată o abordare similară celei prezentate anterior (pot fi urmați<br />

pașii prezentați anterior). În momentul de față, aceste tehnici de calibrare și precizie absolută sunt<br />

dezvoltate și furnizate utilizatorilor de către marile companii producătoare de roboți precum ABB sau<br />

KUKA. Există însă și situații în care utilizatorul nu poate opera modificări asupra softului controlerului. În<br />

acest caz, este necesară aplicarea unei metode alternative de compensare off-line.<br />

Astfel, pozițiile compensate ale efectorului final sunt determinate pe baza parametrilor modelului<br />

cinematic invers. La un nivel foarte general, calibrarea poate fi clasificată în calibrare bazată pe modelul<br />

cinematic (parametrizată) și calibrarea neparametrizată. În continuare, cele două tipuri de calibrare<br />

amintite anterior sunt prezentate într-o formă lapidară. Pentru fiecare tip de calibrare în parte se vor<br />

analiza următoarele aspecte: metoda pe care se bazează modelul matematic, metodele de măsurare<br />

utilizate, metodele de identificare și respectiv de compensare (corecție) aplicate.<br />

A. Calibrarea bazată pe modelul cinematic (calibrarea parametrizată)<br />

Calibrarea parametrizată mai este cunoscută în literatura de specialitate sub denumirea de calibrare<br />

cinematică sau calibrare de ordinul doi. În determinarea parametrilor cinematici ce caracterizează<br />

modelul cinematic, de obicei se utilizează ca și date de intrare parametrii de poziție-orientare care<br />

rezultă din modelarea geometriei directe și, rar sau chiar foarte rar se iau în considerare parametrii nongeometrici.<br />

Studiile au arătat că erorile determinate de parametrii non-geometrici sunt responsabile de<br />

10% din eroarea globală. Cu toate acestea, în ceea ce privește luarea în considerare în cadrul analizei<br />

a erorilor non-geometrice, părerile sunt împărțite. Există unii autori care consideră că erorile determinate<br />

de factorii non-geometrici sunt nesemnificative în raport cu cele determinate de factorii geometrici, de<br />

aceea, pentru simplificarea modelului de calibrare, recomandă neglijarea lor [C01].<br />

De cealaltă parte se situează cei care consideră că factorii non-geometrici sunt la fel de<br />

38


39<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

responsabili de producerea erorilor ca și cei geometrici [G01]. Având în vedere faptul că părerile<br />

referitoare la influența factorilor non-geometrici sunt împărțite, este foarte dificil să se decidă asupra<br />

validității uneia dintre cele două metode propuse, cu atât mai mult cu cât ultimele studii au relevat faptul<br />

că influența parametrilor geometrici și non-geometrici asupra preciziei de poziționare a roboților variază<br />

de la un tip de robot la altul. Calibrarea bazată pe modelul cinematic este o metodă generală care<br />

conduce la îmbunătățirea preciziei de poziționare în întreg volumul de lucru al robotului. [M07]<br />

În continuare, calibrarea cinematică va fi analizată din perspectiva celor patru etape descrise anterior<br />

(modelare, măsurare, identificare, corecție).<br />

Faza de modelare matematică – Modelul cinematic al robotului reprezintă o descriere matematică<br />

a geometriei de mișcare a robotului. Pentru determinarea modelului cinematic ce caracterizează structura<br />

unui robot în literatura de specialitate sunt recomandate o serie de abordări dintre care, cea mai populară<br />

este metoda parametrilor compuși Denavit – Hartenberg [N02] bazată pe metoda matricelor de<br />

transformare omogenă. Această metodă constă în stabilirea unor sisteme de referință în centrul geometric<br />

al fiecărei cuple cinematice. Un set de coeficienți incluși în matricele de transformare omogenă fac<br />

legătura între un sistem oarecare atașat unei cuple cinematice și sistemul învecinat.<br />

O problemă importantă legată de utilizarea acestei metode o constituie singularitățile. Pentru<br />

rezolvarea acestei probleme, s-a propus modificarea modelului matematic bazat pe parametri Denavit –<br />

Hartenberg prin introducerea unui parametru suplimentar de rotație, pentru axele paralele de rotație. În<br />

practică există numeroase alternative de modelare cinematică a structurilor de roboți, cum ar fi de<br />

exemplu modelarea de tip S care utilizează 6 parametri pentru fiecare element sau modelul zero care nu<br />

folosește ca și parametru de legătură normala comună, tocmai în vederea evitării singularităților.<br />

Faza de măsurare – implică determinarea poziției exacte a punctului caracteristic al efectorului<br />

final sau a sculei, în spațiul de lucru al robotului. Pozițiile reale ale efectorului final în spațiul de lucru<br />

(este vorba de pozițiile măsurate) sunt comparate apoi cu cele obținute prin aplicarea modelului teoretic,<br />

diferența dintre acestea reprezentând eroarea de poziționare. Această fază este cea mai laborioasă și<br />

mai dificil de realizat. Prin aplicarea acestei metode se urmărește evidențierea parametrilor<br />

independenți precum și a erorilor ce afectează acești parametri. În procesul de calibrare al robotului<br />

sunt utilizate diverse metode și dispozitive de măsurare, cum sunt de exemplu mașinile de măsurare în<br />

coordonate (7), senzorii acustici, senzorii optici și teodoliții mecanici sau optici. Tehnicile si dispozitivele<br />

de măsurare care le însoțesc, deși diferă între ele prin precizie, ergonomie (ușurința în utilizare)<br />

respectiv costuri, au în comun următoarele dezavantaje:<br />

pentru operarea adecvată a acestor dispozitive se recomandă personal special instruit în acest sens


NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

colectarea datelor măsurate este un proces de durată, istovitor, care nu este ușor de automatizat;<br />

procedurile de setare a parametrilor și de măsurare necesită aproape în permanență<br />

intervenția operatorului uman, motiv pentru care nu sunt recomandate pentru utilizare pentru<br />

calibrarea timpul procesului de lucru;<br />

tehnicile de măsurare, cu câteva excepții, sunt special proiectate pentru calibrarea în condiții<br />

de laborator a roboților industriali.<br />

Faza de identificare – necesită aplicarea metodelor numerice. Identificarea parametrilor din<br />

modelul cinematic al unui robot constituie o problemă îndelung studiată, asupra căreia s-au pronunțat o<br />

serie de cercetători prin dezvoltarea de diferite modele și metode de identificare. Procedura de<br />

identificare a parametrilor cinematici este considerată o procedură de optimizare neliniară sau de<br />

optimizare liniară bazată pe metoda celor mai mici pătrate. Totuși, aplicarea acestor metode de<br />

optimizare ridică o serie de probleme cum ar fi de exemplu cea legată de prelucrarea numerică a<br />

datelor obținute cu matricea Jacobiană de identificare. Pentru rezolvarea acestor probleme se<br />

recomandă utilizarea tehnicilor de minimizare cum este de exemplu algoritmul Levenberg – Marquardt.<br />

În vederea determinării legăturii dintre precizia de calibrare și nivelul de zgomot care poate afecta<br />

măsurătorile, se utilizează tehnicile de filtrare Kalman. Procesul de identificare poate fi îmbunătățit prin<br />

utilizarea unor indicatori de tipul celor prezentați mai jos:<br />

• numărul condiționare de al matricei Jacobiene de identificare, care este utilizat în vederea<br />

determinării configurației optime de calibrare pentru orice structură de manipulator;<br />

• indicele de observabilitate util pentru determinarea configurațiilor optime de măsurare<br />

Una din condițiile de determinare a configurațiilor optime de măsurare cu ajutorul indicelui de<br />

observabilitate este aceea conform căreia punctele de măsurare ar trebui să fie dispersate în întreg<br />

spațiul de lucru și să ocupe o suprafață cât mai mare. Această metodă se dovedește a fi utilă mai ales<br />

în cazul roboților care operează în condiții de laborator, unde aceștia pot fi obligați să ocupe diferite<br />

configurații, dar nu și în cazul roboților din mediul industrial unde configurațiile sunt impuse de aplicație,<br />

de spațiul de lucru și echipamentele existente în zona de operare.<br />

Faza de compensare reprezintă ultima fază (și poate cea mai importantă) a procesului de calibrare și<br />

constă în implementarea noului model în softul de comandă al poziției robotului. Deoarece modificarea<br />

parametrilor cinematici, direct în controlerul robotului s-a dovedit a fi o sarcină extrem de dificilă, corecțiile<br />

(compensările) din cuplele robotului se fac pe baza indicațiilor afișate de un codificator și obținute prin<br />

rezolvarea cinematicii inverse a robotului calibrat. Deoarece cinematica inversă a robotului calibrat nu poate<br />

fi rezolvată cu metode analitice, se optează pentru aplicarea algoritmilor numerici, cum este de exemplu<br />

40


41<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

algoritmul Newton Raphson, în vederea determinării corecțiilor care trebuie făcute în cuplele robotului pentru<br />

a compensa erorile din spațiul Cartezian. Această metodă prezintă numeroase dezavantaje mai ales în cazul<br />

compensării on-line, pe de o parte, datorită costurilor ridicate ale sistemului de calcul și pe de altă parte din<br />

cauză că algoritmul nu mai poate fi aplicat în vecinătatea punctelor singulare, metoda fiind bazată pe<br />

inversarea matricei Jacobiene de compensare utilizând metode iterative.<br />

B. Calibrarea neparametrizată mai este cunoscută și sub denumirea de calibrare de ordinul trei.<br />

În cazul calibrării cinematice, se pornește de la presupunerea că toate elementele robotului sunt<br />

rigide, cuplele prezintă o serie de restricții de mișcare (nu permit mișcări nedorite), iar robotul nu este<br />

supus comenzii dinamice. În situația în care aceste presupuneri nu se aplică iar robotul este sub<br />

comandă dinamică, se recomandă calibrarea neparametrizată. După cum s-a menționat anterior,<br />

structurile de roboți pot fi afectați de o serie de erori care țin de geometria robotului, denumite erori<br />

geometrice, dar și de erori a căror cauză este de altă natură, denumite erori non-geometrice. Dintre<br />

sursele care generează aceste erori și care influențează precizia de poziționare a robotului se pot<br />

enumera: elasticitatea cuplei, elasticitatea elementelor cinetice, erorile de transmisie din angrenaje,<br />

efectele termice și jocurile din cuplele robotului. Efectele acestora asupra preciziei de poziționare sunt<br />

evidente, din acest motiv ele trebuie incluse de asemenea în analiză. Însă pentru includerea acestor<br />

factori în analiza, în modelul matematic utilizat de controler pentru poziționarea efectorului final în<br />

spațiul de lucru trebuie efectuate o serie de modificări. Dacă robotul este sub control dinamic, factori<br />

precum viteza unghiulară și liniară precum și accelerația efectorului final trebuie de asemenea incluse în<br />

relația funcțională (de recurență). acest fapt va conduce la creșterea complexității relațiilor recurente<br />

chiar și analiza este simplificată prin considerarea ipotezei rigidității și a absenței frecărilor în cuplele<br />

robotului. Datorită complexității ecuațiilor obținute și a problemelor apărute în timpul modelării, calibrarea<br />

de ordinul trei a fost foarte puțin abordată în literatura de specialitate. Studiile realizate au relevat în<br />

special aportul pe care fiecare dintre factorii non-geometrici enumerați mai sus îl au la eroarea totală. În<br />

urma analizelor teoretice și experimentale efectuate conform se remarcă următoarele concluzii:<br />

• elasticitatea elementelor și a cuplelor cinetice ale robotului contribuie în proporție de 8 – 10%<br />

la eroarea totală de poziționare a efectorului final în spațiul de lucru;<br />

• jocurile din cuple sunt cauzele cele mai greu de identificat, contribuția la eroarea globală 0,5 – 1% ;<br />

• efectele termice constă în dilatarea componentelor robotului, constituind 0,1% din eroarea totală;<br />

Dintre problemele legate de calibrarea neparametrizată, abordate în literatura de specialitate mai<br />

pot fi amintite printre altele problema dinamică abordată conform care prezintă o tehnică de determinare


NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

a parametrilor dinamici ce caracterizează structura rigidă a cărui configurație este cunoscută sau<br />

analiza dinamică a unui robot cu trei grade de libertate, cu comanda în derivație. Această analiză, oferă<br />

o soluție de determinare a forțelor și momentelor necesare pentru comanda robotului astfel încât<br />

acesta să urmeze o traiectorie prestabilită.<br />

1.4.3 Sisteme de calibrare utilizate în practica industrială. Avantajele calibrării<br />

Software<br />

DynaCal<br />

Robot<br />

În continuare vor fi prezentate câteva tipuri de<br />

sisteme de calibrare, dintre cele mai frecvent<br />

utilizate în practica industrială. Pe piață există<br />

Adaptor TCP<br />

numeroase soluții, însă dintre acestea s-au ales<br />

doar cele mai reprezentative (preferate de marii<br />

Cablu<br />

Sistemul de<br />

masurare z y<br />

Dispozitivul de<br />

masurare<br />

producători de roboți). Primul sistem de calibrare<br />

care va fi tratat în cadrul acestui paragraf, a cărui<br />

x<br />

denumire comercială este DynaCal, dezvoltat de<br />

Dispozitivul de fixare<br />

Dynalog Inc. este un sistem utilizat în special<br />

Fig. 1.18 Schema sistemului de calibrare DynaCal<br />

pentru calibrarea celulelor robotizate. Acest<br />

sistem de calibrare are capacitatea de a identifica şi de a utiliza parametrii reali de tip DH ai robotului (inclusiv<br />

unghiul de torsiune “β” care apare în cazul roboţilor cu axe cinematice paralele), în vederea compensării<br />

poziţiilor efectorului final, utilizate în orice program de comandă al robotului. După cum se poate observa din<br />

Fig. 1.18, dispozitivul de măsurare DynaCal îşi defineşte propriul sistem de referinţă cu ajutorul unui adaptor<br />

de precizie ridicată montat pe direcţia de aliniere. Dispozitivul de măsurare utilizează un codificator optic, cu<br />

inerţie redusă şi rezoluţie mare care are rolul de a măsura în mod constant extensia unui cablu, conectat la<br />

sistemul de referinţă ataşat punctului caracteristic (efectorul final) prin intermediul unui adaptor (TCP<br />

adaptor). Rezultatul măsurătorilor efectuate de către codificatorul optic sunt transmise unui computer care<br />

operează cu un soft special, compatibil cu sistemul de operare Windows, cu ajutorul căruia se determină<br />

poziţia relativă dintre sistemul de referinţă ataşat punctului caracteristic al robotului şi sistemul ataşat<br />

dispozitivului de măsurare.<br />

Softul utilizat de sistemul DynaCal prezintă avantajul de a permite calibrarea atât a parametrilor<br />

robotului cât şi a poziţiilor efectorului final sau ale elementelor de fixare utilizate în cadrul celulei<br />

robotizate, iar în final realizează procesul de compensare pentru poziţiile punctului caracteristic utilizate<br />

în cadrul programelor de comandă ale roboţilor industriali.<br />

Totodată, acest soft este compatibil şi cu alte sisteme de măsurare cum ar fi de exemplu Leica<br />

42


43<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

Smart Laser Interferometer System, Metronor Inspection System, Optotrack Camera, Perceptron<br />

Camera, etc. Înainte de calibrarea robotului cu sistemul DynaCal, programatorul trebuie să desfăşoare<br />

un proces de calibrare experimentală în cadrul căruia, cu ajutorul unui program de calibrare special<br />

conceput, efectorul final al robotului (respectiv sistemul de referinţă ataşat în punctul caracteristic) este<br />

trecut printr-o serie de puncte de calibrare, învăţate anterior. În funcţie de precizia impusă de procesul<br />

de lucru, se recomandă să fie luate în considerare cel puţin 30 de puncte de calibrare diferite. De<br />

asemenea, este important ca aceste puncte de calibrare să fie alese astfel încât pentru a le atinge<br />

robotul să fie obligat să efectueze deplasări mari în cuple. Acest lucru este posibil doar dacă pe lângă<br />

deplasarea sistemului ataşat punctului caracteristic al robotului de-a lungul axelor x , y şi z aparținând<br />

sistemului ataşat bazei robotului, se mai impune modificarea orientării sistemului de referinţă din<br />

efectorul final dar şi modificarea configuraţiei robotului. Pe parcursul experimentului de calibrare,<br />

sistemul de măsurare DynaCal determină valorile coordonatelor corespunzătoare efectorului final,<br />

informaţii care sunt transmise mai departe unui soft special spre a fi analizate. După încheierea<br />

procesului de calibrare, în câmpul Parameter File va fi creat un nou fişier care conţine parametrii reali ai<br />

robotului identificaţi în cadrul procesului de calibrare. Softul utilizează parametrii reali colectaţi în timpul<br />

procesului de calibrare în vederea modificării parametrilor generalizaţi din cuplele robotului ce<br />

corespund oricărei poziţii programate a efectorului final (punctului caracteristic) în vederea utilizării<br />

acestora în cadrul procesului de compensare a erorilor (dintre poziţia programată şi cea reală).<br />

A. Calibrarea sistemului de referinţă ataşat sculei, stabilit de către utilizator<br />

Alegerea reperului<br />

in varful sculei de lucru<br />

Adaptor TCP<br />

Alegerea reperului pe<br />

suprafata sculei<br />

de lucru<br />

Sistemul de referinţă ataşat sculei, stabilit de către utilizator<br />

(SU), are rolul de a defini poziţia reală a capătului efectorului<br />

final (sculei ataşate robotului) dar şi de a specifica variaţiile<br />

acestei poziţii pe parcursul procesului de lucru. Defectarea sau<br />

înlocuirea efectorului final va determina modificarea poziţiei<br />

predefinite a capătului sculei utilizată până în acel moment în<br />

înregistrarea coordonatelor punctului caracteristic. Abaterile de<br />

poziție ale punctului caracteristic atașat efectorului final sau<br />

Fig.1.19 Calibrarea efectorului<br />

final cu sistemul DynaCal<br />

sculei de lucru pot să apară și în cazul în care mecanismul de<br />

orientare își modifică orientarea, rotindu-se în jurul axelor unui<br />

sistem de referință implicit stabilit în punctul caracteristic. Aceste<br />

abateri pot constitui o problemă serioasă mai ales în cazul în care programul robotului utilizează poziții ale


NOȚIUNI GENERALE PRIVIND <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

punctului caracteristic care sunt generate de un sistem extern de tipul softurilor de simulare sau a<br />

sistemelor de viziune robotizată. Pentru a minimiza sau chiar a elimina aceste erori de poziționare ale<br />

punctului caracteristic, se impune stabilirea și calibrarea sistemului de referință sculă-utilizator având ca<br />

reper capătul sculei/efectorului final utilizat în cadrul aplicației. Această sarcină poate fi realizată prin<br />

utilizarea sistemului robotizat sau a unui sistem de calibrare extern cum este și sistemul DynaCal. În<br />

primul caz (cel al utilizării sistemului robotic), robotul memorează șase poziții diferite ale punctului<br />

caracteristic considerate în raport cu reperul stabilit pe efectorul final și, cu orice alt reper considerat pe<br />

suprafața oricărei scule din spațiul de lucru al robotului, după cum rezultă din analiza Fig.1.19.<br />

Operatorul înregistrează prima poziție ca fiind punctul în care reperul de pe efectorul final vine în<br />

contact cu reperul stabilit pe suprafața sculei. Pentru a înregistra cea de-a doua poziție, operatorul<br />

modifică cu cel puțin 180 o orientarea efectorului final prin rotația în jurul axei în jurul axei x a sistemului de<br />

referință implicit, atașat punctului caracteristic, după care acesta este readus în orientarea inițială. Cea dea<br />

treia poziție este obținută prin rotirea efectorului final în jurul axei y a sistemului de referință implicit.<br />

Celelalte trei poziții sunt înregistrate numai după ce operatorul (programatorul) modifică poziția fiecărei<br />

axe a sistemului de referință, implicit, prin translatarea acestora în lungul axelor corespunzătoare<br />

sistemului atașat bazei fixe a robotului, la mai puțin de 0,30[ m ] de reperul ales pe suprafața sculei.<br />

Sistemul robotic utilizează cele șase poziții înregistrate ale punctului caracteristic, pentru a calcula<br />

poziția reală a sistemului sculă – utilizator (SU), în raport cu reperul ales la nivelul efectorului final.<br />

Poziția reală a sistemului (SU) este salvată în controlerul robotului care o va putea apela în aplicațiile<br />

viitoare ( a se vedea Fig.1.19). Cu toate acestea, există situații care impun recalibrarea sistemului sculăutilizator,<br />

cum este cea generată de coliziunea neașteptată dintre efectorul final / scula robotului și un<br />

obiect din spațiul de lucru, situație în care se impune schimbarea efectorului final ceea ce determină<br />

modificarea sistemului sculă-utilizator stabilit anterior. Pentru a rezolva această problemă și totodată<br />

pentru a evita întreruperea procesului de lucru, unii producători au adăugat sistemelor robotizate furnizate,<br />

o opțiune suplimentară care permite ajustarea online a poziției sistemului sculă-utilizator.<br />

În concluzie, precizia roboților industriali este evaluată prin intermediul erorilor. Precizia este o<br />

caracteristică de performanță care variază în timp, aceasta fiind influențată de anumite modificări care<br />

pot să apară în timp la nivelul structurii mecanice a robotului (deformații ale elementelor datorate<br />

suprasolicitării, jocuri în cuple, uzura, deformații termice, modelarea elementelor elastice, etc.) sau de<br />

erori ale sistemului de comandă și control. Aceste erori care afectează precizia în funcționare a<br />

robotului pot fi compensate prin aplicarea diferitelor metode de calibrare.<br />

44


q ⋅k<br />

i−1 i−1<br />

2. ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR<br />

2.1 Algoritmi utilizați în modelarea geometrică directă a structurilor de roboți<br />

Roboţii industriali sunt structuri mecanice complexe, cu funcționare automată, concepute special<br />

pentru îndeplinirea funcţiilor de manipulare şi de comandă, în cadrul diferitelor procese de lucru. Faţă de<br />

mijloacele clasice de automatizare, aceste structuri prezintă avantajul de a se adapta extrem de rapid la<br />

noile cerinţe ale procesului în care sunt utilizați. Acest avantaj important, precum și gama largă de<br />

aplicații în care pot fi implementați (universalitatea), au determinat creșterea productivității și în paralel<br />

scăderea cheltuielilor de fabricație, fapt evident în cazul producţiei de serie mică şi mijlocie, unde aceste<br />

sisteme sunt utilizate. Structura mecanică a roboţilor industriali constă dintr-o serie de elemente<br />

mecanice (considerate rigide), conectate între ele prin intermediul cuplelor cinematice. În construcția<br />

link i −1 link i<br />

q ⋅k<br />

{ i −1}<br />

i i<br />

{ i}<br />

{ 0}<br />

{ i + 1}<br />

q ⋅k<br />

i+ 1 i+<br />

1<br />

qn ⋅kn<br />

{ n}<br />

Figura 2.1 Reprezentarea schemei cinematice pentru<br />

un robot cu n g.d.l<br />

{ n+ 1}<br />

roboților seriali sunt utilizate cuplele de clasa<br />

a cincea, adică cuplele cu un singur grad de<br />

libertate, în această categorie fiind incluse<br />

cuplele de rotaţie (R) şi de translaţie (T).<br />

Cuplele superioare de clasa a treia sau de<br />

clasa a patra sunt utilizate mai rar datorită<br />

problemelor tehnologice pe care le<br />

întâmpină în preluarea jocurilor dar și a<br />

dificultății de acţionare. Structurile mecanice<br />

complexe la care elementele sunt legate prin<br />

cuple inferioare (de clasa a cincea) și la care<br />

mă voi referi în continuare, pot fi clasificate<br />

în funcție de tipul lanţului cinematic în roboți industriali cu lanț cinematic deschis sau lanţ cinematic<br />

închis. În cazul roboților cu lanţ cinematic deschis elementele şi cuplele formează o structură<br />

arborescentă (în sensul teoriei grafurilor) atunci când cuplele conectează numai două elemente din<br />

succesiunea lor ordinală, în conformitate cu [N05] – [N22].<br />

Într-un lanţ cinematic închis fiecare element prezintă cel puţin două legături. În modelarea<br />

matematică a structurilor mecanice de roboți seriali pentru facilitarea calculului, se recurge la două<br />

ipoteze simplificatoare ipoteza statică şi ipoteza de rigiditate. Ipoteza statică presupune că între


ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />

parametrii geometrici ce caracterizează structura de robot analizată, se poate stabili o relație<br />

matematică prin intermediul unor ecuaţii independente de parametrul timp. Cea de-a doua ipoteză<br />

simplificatoare are la bază premisa conform căreia fiecare element cinetic care intră în alcătuirea<br />

robotului este analizat ca un corp rigid (constituit dintr-un număr finit de componente fizice a căror<br />

poziţie şi orientare se păstrează constantă pe toată durata funcţionării robotului). Fiecare cuplă motoare,<br />

este considerată perfectă sub aspect mecanic (legătură scleronomă şi olonomă).<br />

Pentru modelarea geometrică directă, (MGD), în Fig. 2.1 s-a reprezentat, în formă simbolică, o structură<br />

mecanică cu n g. d. l . Toate cele ( n ) elemente cinetice sunt conectate prin intermediul cuplelor motoare de<br />

clasa a cincea: { R − Rotatie}<br />

; { T Translatie }<br />

− , considerate perfecte, sub aspect mecanic.<br />

2.1.1 Generalități privind matricele de transformare omogenă<br />

Fiecare element cinetic ce intră în alcătuirea structurii mecanice a unui robot poate fi privit ca un<br />

corp supus legăturilor de tip { R , T } . Poziția este definită de cele trei coordonate x, y și z care<br />

reprezintă totodată coordonatele centrului geometric al cuplei motoare atașate elementului respectiv.<br />

Orientarea este descrisă prin intermediul a trei unghiuri notate α, β , respectiv γ denumite și<br />

unghiuri de orientare și care au rolul de a defini rotația rezultantă a fiecărui element față de starea inițială.<br />

Elementele cinetice sunt conectate între ele prin intermediul cuplelor cinematice. Poziția și<br />

orientarea fiecărei cuple la un moment dat determină poziția și orientarea efectorului final.<br />

Pentru a determina situarea (poziția și orientarea) unei cuple, în centrul geometric al fiecărei cuple<br />

se atașează câte un sistem de referință mobil { }<br />

i , a cărui orientare este identică cu cea a sistemului de<br />

referință legat de baza fixă a robotului. Astfel sunt definite poziția și orientarea fiecărui sistem{ }<br />

i față de<br />

sistemul de referință fix { 0 } , respectiv poziția și orientarea fiecărui sistem{ i} față de sistemul { i − 1}<br />

.<br />

Din punct de vedere matematic, poziția și orientarea fiecărei cuple, respectiv a efectorului final pot fi<br />

exprimate cu ajutorul matricelor de transformare omogenă [N22], [K04]. Coordonatele omogene permit,<br />

de asemenea, efectuarea calculelor în spații proiective într-un mod similar cu cel în care coordonatele<br />

carteziene o fac în spaţiul euclidian. Transformările simple ce caracterizează sistemele robotice sunt<br />

rotația și translația. Matricea de transformare omogenă este definită conform expresiei de mai jos, astfel:<br />

unde, ( )<br />

R k θ<br />

( )<br />

⎡R k, θ = transformarea de rotatie p ⎤<br />

[ T ] = ⎢ ⎥<br />

⎢ Transformare de perspectiva w⎥<br />

⎣ ⎦<br />

46<br />

(2.1)<br />

, reprezintă o matrice ( 3× 3)<br />

ce caracterizează rotația unui sistem, în jurul uneia din


. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

cele trei axe k = { x, y, z}<br />

cu un unghi oarecare θ . Această matrice poartă denumirea de matrice de<br />

rotație sau de orientare, fiind determinată conform [N21] și definită prin intermediul expresiilor matriceale:<br />

⎧ ⎡1 ⎪<br />

R( ki, θi ) = R( xi, θ ) ⎢<br />

⎨ i = 0<br />

⎢<br />

⎪<br />

⎩ ⎢⎣ 0<br />

0<br />

cθi sθi 0 ⎤ ⎡ cθi − sθ ⎥<br />

i , R( yi, θi ) = ⎢ 0<br />

⎥ ⎢<br />

cθi ⎥⎦ ⎢⎣ −sθi 0<br />

1<br />

0<br />

sθi ⎤ ⎡cθi 0 ⎥, R( zi, θi ) = ⎢sθi ⎥ ⎢<br />

cθi ⎥⎦ ⎢⎣ 0<br />

−sθi cθi 0<br />

0⎤⎫<br />

⎪<br />

0⎥<br />

⎥<br />

⎬.<br />

(2.2)<br />

1⎥⎦<br />

⎪<br />

⎭<br />

În cadrul aceleiași expresii (2.1), p reprezintă transformarea de poziție și este o matrice ( 3× 1)<br />

ce<br />

conține coordonatele centrului geometric al fiecărui element cu proiecții pe sistemul { 0 } sau { i − 1}<br />

.<br />

Transformarea de perspectivă, reprezintă un vector linie ale cărui componente sunt nule:<br />

( 0 0 0 ) iar w reprezintă factorul de scară care în acest caz ia valoarea w = 1 .<br />

Matricele de transformare omogenă sunt utilizate cu predilecție în domeniul graficii asistate pentru a<br />

defini diferitele tipuri de transformări 3D (translație, rotație, perspectivă, scalare, etc) dar și în domeniul<br />

roboticii în determinarea transformărilor de poziție și orientare care apar între sistemele de referință atașate<br />

fiecărei cuple a robotului și a modului în care acestea influențează situarea efectorului final în spațiul de<br />

lucru (matricea de transformare rezultantă). Conform [N21], matricea de transformare rezultantă este<br />

alcătuită dintr-o matrice de rotație rezultantă și o translație rezultantă și se obține prin înmulțirea tuturor<br />

transformărilor elementare în sensul efectuării lor (rotații în jurul axelor mobile), respectiv în sens invers<br />

(rotații în jurul axelor mobile). În acest caz, expresia generală (2.1), devine:<br />

n ⎡ 0 i−1 n n[ R] i [ R] 0 i−1 ⎢ = ∏<br />

n[ T ] = ∏ i [ T ] = ⎢ i= 1<br />

i= 1 ⎢ 0 0 0<br />

⎣<br />

⎤<br />

pn<br />

⎥<br />

⎥ .<br />

1 ⎥<br />

⎦<br />

(2.3)<br />

Pentru simplificarea calculului, în cadrul tezei s-a elaborat o aplicație soft de determinare a<br />

modelului geometric direct pentru structurile de roboți seriali. Schema logică de citire a matricei de<br />

transformare omogenă este prezentat în detaliu în Figura 2.2.<br />

În conformitate cu [C03], [N22] prin combinarea celor trei rotații simple prezentate în cadrul<br />

expresiei (2.2) rezultă 12 tipuri de matrice de orientare. Fiecare dintre aceste matrice este o funcție de<br />

trei parametri independenți aparținând vectorului orientare notat cu ψ = ⎡⎣ α A βB γC<br />

⎤⎦<br />

unde,<br />

{ , , } ; { , , } ; { , , }<br />

A = x y z B = y z x C = z x y . (2.4)<br />

Cele douăsprezece seturi de unghiuri sunt necunoscute și trebuie determinate. Valorile lor depind<br />

de axele în jurul cărora au loc rotațiile precum și de ordinea efectuării acestor transformări. În tabelele<br />

de mai jos sunt prezentate în formă generalizată, expresiile de definiție pentru matricele de rotație<br />

rezultantă, corespunzătoare fiecăruia dintre cele 12 seturi de unghiuri precum și cele de determinare a<br />

unghiurilor de orientare, pentru cele două cazuri: rotații în jurul axelor fixe și rotații în jurul axelor mobile.<br />

47<br />

T


ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />

a =<br />

[ ] − [ ] [ ] − [ ] [ ] − [ ]<br />

T<br />

⎣⎡ pn+ 1 0,0 pn 0,0 pn+ 1 1,0 pn 1,0 pn+ 1 2,0 pn 2,0 ⎦⎤<br />

2<br />

( p [ 0,0] − p [ 0,0] ) + ( p [ 1,0] − p [ 1,0]<br />

) + ( p [ 2,0] − p [ 2,0]<br />

)<br />

2 2<br />

n+ 1 n n+ 1 n<br />

n+ 1 n<br />

T<br />

s = k n + 1<br />

⎡ 0<br />

{ s× } = ⎢ s[ 2,0] ⎢<br />

⎣−s[ 1,0] −s[<br />

2,0] 0<br />

s[ 0,0] n = s× a<br />

s[ 1,0]<br />

⎤<br />

−s[<br />

0,0]<br />

⎥<br />

⎥<br />

0 ⎦<br />

[ ] [ ] [ ] ( ) [ ]<br />

[ ] [ ] [ ] ( ) [ ]<br />

[ ] [ ] [ ] ( ) [ ]<br />

⎡n 0,0 s 0,0 a 0,0 p 0,0 ⎤<br />

⎢ ⎥<br />

= ⎢<br />

n 1,0 s 1,0 a 1,0 p 1,0<br />

⎥<br />

⎢n 2,0 s 2,0 a 2,0 p 2,0 ⎥<br />

⎢<br />

⎣ 0 0 0 1 ⎥<br />

⎦<br />

0<br />

n+ 1<br />

0<br />

( 0) n+ 1<br />

n+ 1 0 0<br />

n+ 1<br />

Figura 2.2 Algoritmul de citire al matricelor de transformare omogenă<br />

48


. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

Tipul matricei Expresia de definiţie<br />

( x − y − z )<br />

( z − y − x )<br />

R γ β α<br />

R α β γ<br />

R<br />

R<br />

Restricţii<br />

49<br />

Tabelul 2.1<br />

⎡cαz ⋅cβy cαz ⋅sβy ⋅sγ x −sα z ⋅cγ x cαz ⋅sβy ⋅ cγ x + sαz ⋅sγ<br />

x ⎤<br />

⎢ ⎥<br />

R( z, αx ) ⋅R( y, βy ) ⋅ R( x, γx ) = ⎢sαz ⋅cβy sαz ⋅sβy ⋅ sγ x + cαz ⋅cγ x sαz ⋅sβy ⋅cγ x −cα z ⋅sγ<br />

x ⎥<br />

⎢ ⎥<br />

⎢⎣ −sβy cβy ⋅sγ x cβy ⋅cγ<br />

x ⎥⎦<br />

⎛ β<br />

γ ix ∈( − 1, 1)<br />

tan ix α ⎞<br />

A 2 , ix<br />

⎜ ⎟<br />

⎜ cβy cβ<br />

⎟<br />

⎝ y ⎠<br />

γ = ± 1<br />

0<br />

ix<br />

α z<br />

Expresiile unghiurilor de orientare<br />

β y<br />

γ x<br />

⎛ γ iy γ ⎞<br />

Arc sin( − γ ix )<br />

Atan 2 , iz<br />

⎜ ⎟<br />

⎜ cβy cβ<br />

⎟<br />

⎝ y ⎠<br />

π<br />

⎛ α ⎞<br />

∓ Atan 2 , iz<br />

⎜ −βiz<br />

⎟<br />

2<br />

⎜ sβ<br />

⎟<br />

⎝ y ⎠<br />

Tipul matricei Expresia de definiţie<br />

( x − y − x )<br />

( x − y − x )<br />

R γ β α<br />

R α β γ<br />

Restricţii<br />

( , ) ( , ) ( , )<br />

Tabelul 2.2<br />

⎡ cβy sβy ⋅sγ x sβy ⋅cγ<br />

x ⎤<br />

⎢ ⎥<br />

α ⋅ β ⋅ γ = ⎢ α ⋅ β − α ⋅ β ⋅ γ + α ⋅ γ − α ⋅ β ⋅ γ − α ⋅ γ ⎥<br />

⎢ ⎥<br />

⎢⎣ −cα x ⋅sβy cαx ⋅cβy ⋅ sγ x + sαx ⋅cγ x cαx ⋅cβy ⋅cγ x −sα x⋅sγ x ⎥⎦<br />

R x x R y y R x x s x s y s x c y s x c x c x s x c y c x c x s x<br />

⎛ β<br />

αix ∈( − 1, 1)<br />

tan ix γ ⎞<br />

A 2 , ix<br />

⎜ − ⎟<br />

⎜ sβy sβ<br />

⎟<br />

⎝ y ⎠<br />

α ix = ± 1<br />

tan ( iy , iy )<br />

α x<br />

Expresiile unghiurilor de orientare<br />

β y<br />

γ x<br />

Arc cos( α ix )<br />

⎛ αiy α ⎞<br />

Atan 2 , iz<br />

⎜ ⎟<br />

⎜ sβy sβ<br />

⎟<br />

⎝ y ⎠<br />

A 2 γ β ± π<br />

0<br />

Tipul matricei Expresia de definiţie<br />

( γ x − βz −α<br />

x )<br />

( α − β −γ<br />

)<br />

x z x<br />

Restricţii<br />

Tabelul 2.3<br />

⎡ cβz −sβz ⋅cγ x sβz ⋅sγ<br />

x ⎤<br />

⎢ ⎥<br />

R( x, αx ) ⋅R( z, βz ) ⋅ R( x, γx ) = ⎢cαx ⋅sβz cαx ⋅cβz ⋅cγ x −sα x ⋅sγ x −cαx ⋅cβz ⋅sγ x −sα x ⋅cγ<br />

x ⎥<br />

⎢ ⎥<br />

sα ⋅sβ sα ⋅cβ ⋅ cγ + cα ⋅sγ −sα ⋅cβ ⋅ sγ + cα ⋅cγ<br />

⎛ γ<br />

αix ∈( − 1, 1)<br />

tan ix β<br />

A 2 , ix ⎞<br />

⎜ ⎟<br />

⎝ sβz sβz<br />

⎠<br />

ix<br />

⎣ x z x z x x x x z x x x ⎦<br />

Expresiile unghiurilor de orientare<br />

α x<br />

β z<br />

γ x<br />

⎛ α αiy<br />

Arc cos( α ix )<br />

Atan 2 iz ⎞<br />

⎜ , − ⎟<br />

⎝ sβz sβz<br />

⎠<br />

α = ± 1<br />

Atan 2( − β , γ )<br />

± π<br />

0<br />

iz iz


ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />

R<br />

R<br />

R<br />

R<br />

Tipul matricei Expresia de definiţie<br />

( γ x − βz −α<br />

y )<br />

( αy − βz −γ<br />

x )<br />

Restricţii<br />

( , ) ( , ) ( , )<br />

50<br />

Tabelul 2.4<br />

⎡ cαy ⋅cβz −cαy ⋅sβz ⋅ cγ x + sαy ⋅sγ x cαy ⋅sβz ⋅ sγ x + sαy ⋅cγ<br />

x ⎤<br />

⎢ ⎥<br />

y ⋅ z ⋅ x = ⎢ z z ⋅ x − z ⋅ x ⎥<br />

⎢ ⎥<br />

⎢⎣ −sαy ⋅cβz sαy ⋅sβz ⋅ cγ x + cαy ⋅sγ x −sαy ⋅sβz ⋅ sγ x + cαy ⋅cγ<br />

x ⎥⎦<br />

R y α R z β R x γ sβ cβ cγ cβ sγ<br />

⎛ γ<br />

βix ∈( − 1, 1)<br />

tan ix α<br />

A 2 , ix ⎞<br />

⎜ − ⎟<br />

⎝ cβz cβz<br />

⎠<br />

ix<br />

Expresiile unghiurilor de orientare<br />

α y<br />

β z<br />

γ x<br />

Arc sin( β ix )<br />

⎛ β βiy<br />

Atan 2 iz ⎞<br />

⎜ − , ⎟<br />

⎝ cβz cβz<br />

⎠<br />

β = ± 1<br />

Atan 2( α , γ )<br />

± π / 2<br />

0<br />

iz iz<br />

Tipul matricei Expresia de definiţie<br />

R<br />

R<br />

( γ y − βz −α<br />

x )<br />

( αx − βz − γ y )<br />

Restricţii<br />

( , ) ( , ) ( , )<br />

Tabelul 2.5<br />

⎡ cβz ⋅cγ y −sβz cβz ⋅sγ<br />

y ⎤<br />

⎢ ⎥<br />

x ⋅ z ⋅ y = ⎢ x ⋅ z ⋅ y + x ⋅ y x ⋅ z x ⋅ z ⋅ y − x ⋅ y ⎥<br />

⎢ ⎥<br />

⎢⎣ sαx ⋅sβz ⋅cγ y − cαx ⋅sγ y sαx ⋅cβz sα x ⋅sβz ⋅ sγ y + cαx ⋅cγ<br />

y ⎥⎦<br />

R x α R z β R y γ cα sβ cγ sα sγ cα cβ cα sβ sγ sα cγ<br />

⎛ iy iy ⎞<br />

αiy ∈( − 11 ; )<br />

Atan 2⎜ , ⎟<br />

⎝ cβz cβz<br />

⎠<br />

Expresiile unghiurilor de orientare<br />

α x<br />

z β γ y<br />

γ β<br />

⎛ γ<br />

α iy = ± 1<br />

tan ix β<br />

A 2 , ix ⎞<br />

⎜ ⎟<br />

⎝ sβz sβz<br />

⎠<br />

( − )<br />

Arc sin αiy<br />

Tipul matricei Expresia de definiţie<br />

( γ y − βz −α<br />

y )<br />

( αy − βz − γ y )<br />

Restricţii<br />

( , ) ( , ) ( , )<br />

⎛ α<br />

tan iz α<br />

A 2 , ix ⎞<br />

⎜ ⎟<br />

⎝ cβz cβz<br />

⎠<br />

∓ π / 2<br />

0<br />

Tabelul 2.6<br />

⎡ cαy ⋅cβz ⋅cγ y −sα y ⋅sγ y −cαy ⋅sβz ⋅ cαy ⋅cβz ⋅ sγ y + sαy ⋅cγ<br />

y ⎤<br />

⎢ ⎥<br />

y ⋅ z ⋅ y = ⎢ z ⋅ y z z ⋅ y ⎥<br />

⎢ ⎥<br />

⎢⎣ −sαy ⋅cβz ⋅cγ y −cα y ⋅sγ y sαy ⋅sβz −sαy ⋅cβz ⋅ sγ y + cαy ⋅cβz<br />

⎥⎦<br />

R y α R z β R y γ sβ cγ cβ sβ sγ<br />

⎛ iy iy ⎞<br />

βiy ∈( − 11 ; ) Atan 2⎜ , − ⎟<br />

⎝ sβz sβz<br />

⎠<br />

Expresiile unghiurilor de orientare<br />

α y<br />

z β γ y<br />

γ α<br />

β iy = ± 1<br />

Atan 2( iz , iz / c z )<br />

Arc cos( β iy )<br />

⎛ β<br />

tan iz β<br />

A 2 , ix ⎞<br />

⎜ ⎟<br />

⎝ sβz sβz<br />

⎠<br />

α γ β ± π<br />

0


. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

R<br />

R<br />

R<br />

R<br />

R<br />

R<br />

Tipul matricei<br />

( γ y − βx −α<br />

z )<br />

( αz − βx − γ y )<br />

Restricţii<br />

( , ) ( , ) ( , )<br />

Expresia de definiţie<br />

51<br />

Tabelul 2.7<br />

⎡−sαz ⋅sβx ⋅ sγ y + cαz ⋅cγ y −sαz ⋅cβx sαz ⋅sβx ⋅ cγ y + cαz ⋅sγ<br />

y ⎤<br />

⎢ ⎥<br />

z ⋅ x ⋅ y = ⎢ z ⋅ x ⋅ y + z ⋅ y z ⋅ x − z ⋅ x ⋅ y + z ⋅ y ⎥<br />

⎢ ⎥<br />

⎢⎣ −cβx ⋅sγ y sβx cβx ⋅cγ<br />

y ⎥⎦<br />

R z α R x β R y γ cα sβ sγ sα cγ cα cβ cα sβ cγ sα sγ<br />

⎛ iy iy ⎞<br />

γ iy ∈( − 11 ; ) Atan 2⎜<br />

− , ⎟<br />

⎝ cβx cβx<br />

⎠<br />

Expresiile unghiurilor de orientare<br />

α z<br />

x β γ y<br />

α β<br />

γ iy = ± 1<br />

tan ( ix , ix )<br />

Arc sin( γ iy )<br />

⎛ γ<br />

tan ix γ<br />

A 2 , iz ⎞<br />

⎜ − ⎟<br />

⎝ cβx cβx<br />

⎠<br />

A 2 β α ± π / 2<br />

0<br />

Tipul matricei Expresia de definiţie<br />

( γ z − βx −α<br />

y )<br />

( αy − βx − γ z )<br />

Restricţii<br />

( , ) ( , ) ( , )<br />

Tabelul 2.8<br />

⎡sαy ⋅sβx ⋅ sγ z + cαy ⋅cγ z sαy ⋅sβx ⋅cγ z −cα y ⋅sγ z sαy ⋅cβx<br />

⎤<br />

⎢ ⎥<br />

y ⋅ x ⋅ z = ⎢ x ⋅ z x ⋅ z − x ⎥<br />

⎢ ⎥<br />

⎢⎣ cαy ⋅sβx ⋅sγ z − sαy ⋅cγ z cαy ⋅sβ x⋅ cγ z + sαy ⋅sγ z cαy ⋅cβx<br />

⎥⎦<br />

R y α R x β R z γ cβ sγ cβ cγ sβ<br />

⎛ α<br />

βiz ∈( − 11 ; )<br />

tan iz γ<br />

A 2 , iz ⎞<br />

⎜ ⎟<br />

⎝ cβx cβx<br />

⎠<br />

iz<br />

Expresiile unghiurilor de orientare<br />

α y<br />

x β γ z<br />

( − )<br />

Arc sin βiz<br />

⎛ β βiy<br />

Atan 2 ix ⎞<br />

⎜ , ⎟<br />

⎝ cβx cβx<br />

⎠<br />

β = ± 1<br />

Atan 2( − γ , α )<br />

∓ π / 2<br />

0<br />

ix ix<br />

Tipul matricei Expresia de definiţie<br />

( γ z − βx −α<br />

y )<br />

( αy − βx − γ z )<br />

Restricţii<br />

( , ) ( , ) ( , )<br />

Tabelul 2.9<br />

⎡sαy ⋅sβx ⋅ sγ z + cαy ⋅cγ z sα y ⋅sβx ⋅cγ z −cα y ⋅sγ z sα y ⋅cβx<br />

⎤<br />

⎢ ⎥<br />

y ⋅ x ⋅ z = ⎢ x ⋅ z x ⋅ z − x ⎥<br />

⎢ ⎥<br />

⎢⎣ cαy ⋅sβx ⋅sγ z −sα y ⋅cγ z cαy ⋅sβ x⋅ cγ z + sαy ⋅sγ z cαy ⋅cβx<br />

⎥⎦<br />

R y α R x β R z γ cβ sγ cβ cγ sβ<br />

⎛ α<br />

βiz ∈( − 11 ; )<br />

tan iz γ<br />

A 2 , iz ⎞<br />

⎜ ⎟<br />

⎝ cβx cβx<br />

⎠<br />

iz<br />

Expresiile unghiurilor de orientare<br />

α y<br />

x β γ z<br />

( − )<br />

Arc sin βiz<br />

⎛ β βiy<br />

Atan 2 ix ⎞<br />

⎜ , ⎟<br />

⎝ cβx cβx<br />

⎠<br />

β = ± 1<br />

Atan 2( − γ , α )<br />

∓ π / 2<br />

0<br />

ix ix


ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />

Tipul matricei Expresia de definiţie<br />

R<br />

R<br />

( γ z − βx −α<br />

z )<br />

( α − β − γ )<br />

z x z<br />

Restricţii<br />

( , ) ( , ) ( , )<br />

52<br />

Tabelul 2.10<br />

s c s c c s c c c s s s<br />

⎡− αz ⋅ βx ⋅ γz + αz ⋅ γz − αz ⋅ βx ⋅ γz − αz ⋅ γz αz ⋅ βx<br />

⎤<br />

⎢ ⎥<br />

z ⋅ x ⋅ z = ⎢ z ⋅ x ⋅ z + z ⋅ z z ⋅ x ⋅ z − z ⋅ z − z ⋅ x ⎥<br />

⎢ ⎥<br />

⎣ sβx ⋅sγ z sβx ⋅cγ<br />

z cβx<br />

⎦<br />

R z α R x β R z γ cα cβ sγ sα cγ cα cβ cγ sα sγ cα sβ<br />

⎛ α<br />

γ iz ∈( − 11 ; )<br />

tan iz β<br />

A 2 , iz ⎞<br />

⎜ − ⎟<br />

⎝ sβx sβx<br />

⎠<br />

iz<br />

Expresiile unghiurilor de orientare<br />

α z<br />

x β γ z<br />

Arc cos( γ iz )<br />

⎛ γ γ iy<br />

Atan 2 ix ⎞<br />

⎜ , ⎟<br />

⎝ sβx sβx<br />

⎠<br />

γ = ± 1<br />

Atan 2( β , α )<br />

± π<br />

0<br />

ix ix<br />

Tipul matricei Expresia de definiţie<br />

R<br />

R<br />

( γ z − βy −α<br />

z )<br />

( αz − βy − γ z )<br />

Restricţii<br />

( , ) ( , ) ( , )<br />

Tabelul 2.11<br />

⎡cαz ⋅cβy ⋅cγ z −sα z ⋅sγ z −cα z ⋅cβy ⋅sγ z −sα z ⋅cγ z cαz ⋅sβy<br />

⎤<br />

⎢ ⎥<br />

z ⋅ y ⋅ z = ⎢ z ⋅ y ⋅ z + z ⋅ z − z ⋅ y ⋅ z + z ⋅ z z ⋅ y ⎥<br />

⎢ ⎥<br />

⎢⎣ −sβy ⋅cγ z sβy ⋅sγ<br />

z cβy<br />

⎥⎦<br />

R z α R y β R z γ sα cβ cγ cα sγ sα cβ sγ cα cγ sα sβ<br />

⎛ β<br />

γ iz ∈( − 1, 1)<br />

tan iz α ⎞<br />

A 2 , iz<br />

⎜ ⎟<br />

⎜ sβy sβ<br />

⎟<br />

⎝ y ⎠<br />

Expresiile unghiurilor de orientare<br />

α z<br />

β y<br />

γ z<br />

Arc cos( γ iz )<br />

γ iz = ± 1<br />

Atan 2( − αiy , βiy<br />

)<br />

π<br />

Tipul matricei Expresia de definiţie<br />

R<br />

R<br />

( γ z − βy −α<br />

x )<br />

( αx − βy − γ z )<br />

Restricţii<br />

( , ) ( , ) ( , )<br />

⎛ γ iy γ ⎞<br />

Atan 2 , ix<br />

⎜ − ⎟<br />

⎜ sβy sβ<br />

⎟<br />

⎝ y ⎠<br />

± 0<br />

Tabelul 2.12<br />

⎡ cβy ⋅cγ z −cβy ⋅sγ<br />

z sβy<br />

⎤<br />

⎢ ⎥<br />

x ⋅ y ⋅ z = ⎢ x ⋅ y ⋅ z + x ⋅ z − x ⋅ y ⋅ z + x ⋅ z − x ⋅ y ⎥<br />

⎢ ⎥<br />

⎢⎣ −cα x ⋅sβy ⋅ cγ z + sαx ⋅sγ z cαx ⋅sβy ⋅ sγ z + sαx ⋅cγ z ⋅ cαx ⋅cβy<br />

⎥⎦<br />

R x α R y β R z γ sα sβ cγ cα sγ sα sβ sγ cα cγ sα cβ<br />

αiz ∈( − 1, 1)<br />

⎛ β<br />

tan iz γ ⎞<br />

A 2 , iz<br />

⎜ − ⎟<br />

⎜ cβy cβ<br />

⎟<br />

⎝ y ⎠<br />

α iz = ± 1<br />

tan ( iy , iy )<br />

Expresiile unghiurilor de orientare<br />

α x<br />

β y<br />

γ z<br />

Arc sin( α iz )<br />

⎛ αiy α ⎞<br />

Atan 2 , ix<br />

⎜ − ⎟<br />

⎜ cβy cβ<br />

⎟<br />

⎝ y ⎠<br />

A 2 γ β ± π / 2<br />

0


. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

În vederea determinării celor douăsprezece seturi de unghiuri s-a elaborat și în acest caz o schemă<br />

logică care va fi ulterior utilizată pentru realizarea unei aplicații software de modelare geometrică a<br />

structurilor de roboți seriali. Algoritmul de determinare a celor 12 seturi de unghiuri este prezentat în<br />

Figura 2.3. În conformitate cu [N05] – [N22], în determinarea unghiurilor de rotație, pentru toate cele<br />

douăsprezece matrice de orientare, se pornește de la următoarea identitate matriceală:<br />

⎧⎪ R(<br />

γ C − βB −α<br />

A ) ⎫⎪<br />

0<br />

⎨ ⎬ = i [ R] = [ xi ⎪⎩ R(<br />

α A − βB −γ<br />

C ) ⎪⎭<br />

yi ⎡α ix<br />

zi<br />

] = ⎢βix ⎢<br />

⎢⎣ γ ix<br />

αiy βiy γ iy<br />

αiz<br />

⎤<br />

β ⎥<br />

iz ;<br />

⎥<br />

γ iz ⎥⎦<br />

(2.5)<br />

A = x, y, z ; B = y, z, x ; C = z, x, y .<br />

unde { } { } { }<br />

Astfel, fiecare element al matricei din membrul stâng al ecuației (2.5) este identificat cu elementul<br />

corespunzător din fiecare dintre matricele prezentate în Tabelul 2.1 – Tabelul 2.12, rezultând astfel expresiile<br />

0<br />

pentru unghiurile de orientare. Se menționează faptul că matricea i [ R ] a fost determinată anterior utilizând<br />

unul dintre algoritmii modelării geometrice directe (MGD), care vor fi prezentați în paragraful următor.<br />

2.1.2 Algoritmul matricelor de situare în modelarea geometrică directă<br />

Ecuaţiile geometriei directe (ecuaţiile MGD) se pot determina prin aplicarea matricelor de situare<br />

luând în considerare un număr minim al restricţiilor de natură geometrică sau mecanică. Astfel că față<br />

de alți algoritmi de modelare geometrică, algoritmul matricelor de situare prezintă un avantaj major, mai<br />

ales în ceea ce priveşte calculul matematic. Aplicarea algoritmului matricelor de situare, dezvoltat în<br />

cadrul [N22], cuprinde două etape principale:<br />

I. Prima parte a algoritmului se referă la stabilirea ecuaţiilor geometriei directe<br />

(ecuaţiile MGD) corespunzătoare configuraţiei iniţiale a robotului.<br />

În vederea aplicării algoritmului, în prima fază, conform [N22], se parcurg etapele descrise mai jos:<br />

1. Pentru început se stabilește tipul structurii de robot supusă analizei. Conform celor menționate<br />

anterior, structura de robot analizată are în componența sa, fie numai cuple de rotație, fie numai<br />

cuple de translație sau o combinație între cele două: { 3R; RTTR; RRTR; 5R; RTT3R; 6R .... } .<br />

2. În continuare, utilizând datele de intrare din matricea geometriei nominale în configuraţia<br />

iniţială, notată cu<br />

( 0)<br />

vn<br />

M și anume, poziția<br />

i−1 53<br />

( 0) T<br />

ii 1<br />

p − respectiv orientarea<br />

( 0) T<br />

i<br />

k fiecărei cuple<br />

cinematice în raport cu cupla anterioară , se stabilește schema cinematică a robotului supus<br />

analizei, pentru configurația de zero:<br />

T<br />

( 0) i−1 ( 0) T ( 0) T<br />

Mvn = ⎡<br />

⎣ pii 1 k ⎤<br />

− i ⎦ , unde i = 1→ n+ 1<br />

(2.6)


ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />

[ ] [ ] ⎡ 0 −k 3 k [ ] [ 2]<br />

⎤<br />

⎢ [ ] ⎥<br />

⎢<br />

0 1<br />

⎥<br />

⎢− [ ][ ] [ ]<br />

⎣ k [ ] ⎥<br />

A k<br />

i 2 A 1 0<br />

i<br />

⎦<br />

A i A i<br />

{ kA[ ] × } = kA[ ] [ ] −<br />

i i 3<br />

kA[<br />

i]<br />

( ) [ ]<br />

2<br />

( kA[ ] , α A[ ] ) = + { kA[ ] × } ⋅ − ( α A[<br />

] ) + { kA<br />

× } α<br />

i i 3 i 1 cos i<br />

i sin A[<br />

i]<br />

R I<br />

⎡ 0 −k<br />

[ ] [ 3] k [ ] [ 2]<br />

⎤<br />

× = ⎢ 3 [ 1]<br />

⎥<br />

⎢− [ ] [ ] [ ] [ ] ⎥<br />

⎣ kB k<br />

i 2 B 0<br />

i 1 ⎦<br />

B i B i<br />

{ kB[<br />

] } kB[ ] [ ] 0 −k<br />

i<br />

i B[<br />

i]<br />

( ( ) ) [ ]<br />

( )<br />

2<br />

( [ ] [ ] ) { [ ] } β<br />

B , βB = + B × ⋅ − B[<br />

] + { B × } β<br />

i i 3 1 cos i i sin i B[<br />

i]<br />

R k I k k<br />

⎡ 0 −k<br />

[ ][ 3] k [ ] [ 2]<br />

⎤<br />

= ⎢ 3 [ 1]<br />

⎥<br />

⎢− [ ] [ ] [ ][ ] ⎥<br />

⎣ kC k<br />

i 2 C 0<br />

i 1 ⎦<br />

C i C i<br />

{ kC[ ] × } kC[ ][ ] 0 −k<br />

i i C[<br />

i]<br />

( ) [ ]<br />

( )<br />

2<br />

( kC[ ] , γ C[ ] ) = + { kC[ ] × } ⋅ − ( γ C[<br />

] ) + { kC<br />

× } γ<br />

i i 3 i 1 cos i<br />

i sin C[<br />

i]<br />

R I<br />

T<br />

( )<br />

T<br />

( )<br />

T<br />

( )<br />

k x = 1 0 0<br />

k y = 0 1 0<br />

k = 0 0 1<br />

( )<br />

( α A[ ] − βB[ ] − γ C[ ] ) = ( kA[ ] , α A[ ] ) ⋅ ( kB[ ] , βB[ ] ) ⋅ kC[<br />

] , γ<br />

i i i i i i i i C[<br />

i]<br />

R R R R<br />

z<br />

[ ]<br />

[ ]<br />

[ ]<br />

A = x x x x y y y y z z z z<br />

B = y y z z z z x x x x y y<br />

C = z x x y x y y z y z z x<br />

= ( ( α A[ ] − β [ ] − γ<br />

i B i C[<br />

i]<br />

)[ ][ ] )<br />

lungmin lungime R 0 0<br />

> ( ( α A[ ] − β [ ] − γ<br />

i B i C[<br />

i]<br />

)[ ][ ] )<br />

lungmin lungime R l m<br />

= ( ( α A[ ] − β [ ] − γ<br />

i B i C[<br />

i]<br />

)[ ][ ] )<br />

lungmin lungime R<br />

lin[ i ] =l col [ i ] =m<br />

l m<br />

( )<br />

54<br />

R<br />

( α A[ ] − β [ ] − γ<br />

i B i C[<br />

i]<br />

)<br />

lin[ i] col[ i]<br />

Figura 2.3 Algoritmul pentru determinarea a celor 12 seturi de unghiuri de orientare


. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

3. Schema cinematică a robotului este reprezentată în configuraţia iniţială (configuraţia de zero):<br />

( 0)<br />

[ ] T<br />

q<br />

θ = = 0; i = 1 → n . (2.7)<br />

i<br />

Figura 2.4 Reprezentarea parametrilor de situare<br />

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

( 0 { )<br />

i } ; Ri i−1 ; Ti i− 1 ; Ti0 , unde i = 1 → n + 1 . (2.8)<br />

În centrul geometric al fiecărei cuple motoare se ataşează sistemul mobil<br />

55<br />

{ ( 0)<br />

}<br />

i . Orientarea acestui<br />

sistem este identică cu orientarea sistemului de referinţă ales la nivelul bazei robotului, adică:<br />

( 0)<br />

{ i } { 0 }<br />

OR OR<br />

≡ . Această restricţie reprezintă un avantaj important oferit de acest algoritm în sensul că,<br />

pentru configurația inițială, matricea de rotaţie respectiv vectorul de poziţie dintre două sisteme de referinţă<br />

învecinate { i −1} → { i } se determină în conformitate cu următoarele expresii:<br />

i−1 ( 0) ( 0) ( 0) ( 0)<br />

i i−1 3; i0 3; i i−1 ii−1 i i−1 R = I R = I p = p = p − p . (2.9)<br />

Expresiile (2.9), servesc la stabilirea matricelor de transformare omogenă dintre sistemele<br />

{ i −1} → { i}<br />

respectiv { 0} { i}<br />

→ , care poartă denumirea de matrice de situare, deoarece înglobează<br />

atât orientarea cât și poziția fiecărui sistem în raport cu sistemul anterior respectiv în raport cu sistemul<br />

de referință fix,. Matricele de situare, conform [N22] sunt definite sub următoarea formă:<br />

Similar, pentru i n 1<br />

T<br />

n+ 1n<br />

elementul i −1 elementul i<br />

q ⋅k<br />

i−1 i−1<br />

{ i− 1}<br />

qi ⋅ki<br />

i 1<br />

{} i<br />

( ) ( )<br />

⎡ i−1 0 0<br />

Ri i 1 p ⎤ ⎡<br />

i i 1 Ri 0 p ⎤<br />

− −<br />

i 0<br />

Ti i−1 = ⎢ ⎥ ; Ti<br />

0 = ⎢ ⎥ . (2.10)<br />

⎢⎣ 0 0 0 1 ⎥⎦ ⎢⎣ 0 0 0 1 ⎥⎦<br />

= + , matricele de situare dintre sistemele{ n} { n 1}<br />

( 0) ( 0) ( 0) n ( 0)<br />

⎡n s a p ⎤<br />

n+ 1n<br />

= ⎢ ⎥ ;<br />

⎢⎣ 0 0 0 1 ⎥⎦<br />

r<br />

i−1<br />

ii−1<br />

p −<br />

pi<br />

{ i+ 1}<br />

p +<br />

i 1<br />

pn<br />

q ⋅k<br />

p +<br />

i+ 1 i+<br />

1<br />

n 1<br />

qn ⋅kn<br />

{ n}<br />

{ n+ 1}<br />

→ + şi { 0} → { n + 1}<br />

sunt:<br />

( 0) ( 0) ( 0) ( 0)<br />

⎡ ⎤<br />

n s a p<br />

Tn+ 10 = Tn0 ⋅ Tn+<br />

1n = ⎢ 0 0 0 1 ⎥ (2.11).<br />

⎣ ⎦


ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />

În cadrul expresiilor (2.11),<br />

în raport cu sistemul de referință fix atașat bazei robotului iar<br />

( )<br />

0<br />

p este un vector prin care este definită poziția punctului caracteristic<br />

56<br />

n ( 0)<br />

n 1n<br />

p + caracterizează poziția relativă a<br />

sistemului atașat punctului caracteristic al efectorului final, în raport cu centrul geometric al ultimei cuple.<br />

Schema logică corespunzătoare algoritmului matricelor de situare prezentat anterior este următoarea:<br />

Figura 2.5 Schema logică pentru algoritmul matricelor de situare


. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

( 0)<br />

II. Partea a doua a algoritmului este consacrată ecuaţiilor MGD pentru cazul: θ ≠ θ .<br />

5. Conform [N22] în tabloul datelor de intrare este inclusă și matricea configuraţiilor nominale:<br />

57<br />

[ ]<br />

T T<br />

M n = ⎡ θ ⎣θk , k = 1 → m ⎤⎦<br />

, unde θk<br />

= qik i = 1 → n . (2.12)<br />

În cadrul matricei generalizate, prezentată anterior, q ik reprezintă variabila generalizată din fiecare<br />

axă motoare i 1 n<br />

= → , iar ( k = 1 m)<br />

→ reprezintă numărul de configuraţii ale robotului.<br />

( 0)<br />

6. Pentru i =1 → n şi pentru fiecare configuraţie a robotului θ θ<br />

unde, T ( ki ; qi<br />

)<br />

i−1 0 j<br />

{ T ( ki ; qi ) ; i [ T ] ; i [ T ] ; i [ T ] }<br />

k<br />

≠ ,( k = 1 m)<br />

k<br />

→ se determină:<br />

Δ ; (2.13)<br />

{ i ; i ; i }<br />

k = ; { ; } ; { ; }<br />

i x y z<br />

{ }<br />

Δ i = 1 i = R 0 i = T . (2.14)<br />

Δ este o matrice de dimensiune ( 4x4 ) ce caracterizează transformarea variabilă cu i q<br />

din fiecare cuplă motoare iar<br />

{ i −1} → { i}<br />

, i<br />

[ ]<br />

i−1 i T<br />

reprezintă matricea de situare dintre două sisteme învecinate<br />

k versorul axei motoare, iarΔ i este un operator matriceal a cărui valoare depinde de tipul<br />

cuplei motoare luând valoarea unu în cazul cuplelor de rotație și zero pentru translație, conform cu (2.14).<br />

7. Pentrui =1 n<br />

→ , matricele de situare dintre două sisteme învecinate { i 1} { i}<br />

( i; i )<br />

T k q<br />

Δ<br />

[ T ] T T ( k ; q )<br />

( ; ) ( )<br />

− → se definesc:<br />

⎡ i<br />

R ki qi ⋅ Δ i 1− Δ i ⋅qi ⋅ k ⎤<br />

i<br />

= ⎢ ⎥ ; (2.15)<br />

⎢ 0 0 0 1 ⎥<br />

⎢⎣ ⎥⎦<br />

( )<br />

⎡ i−1 0<br />

[ ] i−1 i<br />

i R p + ( 1− Δ ) ⋅q ⋅ k<br />

⎤<br />

= − ⋅ Δ = ⎢ ⎥ . (2.16)<br />

⎢0 0 0 1 ⎥<br />

⎢⎣ ⎥⎦<br />

i−1 i i−1 i i i<br />

i i i 1 i i<br />

8. Pentru i =1 → n , matricele de rotaţie şi vectorii de poziţie cu ajutorul cărora se stabilește poziția<br />

și orientarea unui sistem față de sistemul anterior { i − 1} → { i}<br />

care se regăsesc în ecuațiile<br />

(2.15) și (2.16) sunt definite în conformitate cu [N22], cu expresiile de mai jos, astfel:<br />

i−1 i<br />

{ }<br />

[ R] R( xi ; qi i ) ; R( yi ; qi i ) ; R( zi ; qi<br />

i )<br />

= ⋅Δ ⋅Δ ⋅ Δ ; (2.17)<br />

( 0)<br />

i i−1 ( )<br />

i−1 i−1 i<br />

ri p 1 i qi ki<br />

= + − Δ ⋅ ⋅ . (2.18)<br />

9. Pentru i =1 → n , vectorul de poziție dintre sistemele { i } și { i −1} în raport cu sistemul{ 0 }<br />

respectiv poziția fiecărei cuple{ i } în raport cu același sistem de referință fix, se determină astfel:


ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />

0<br />

[ ] i−1 p = R ⋅ r ;<br />

i i−1 i−1 i i−1 i<br />

T<br />

i = ∑ j j−1 = ⎡⎣ xi yi zi ⎤⎦<br />

. (2.19)<br />

j= 1<br />

p p p p p<br />

Similar cu (2.10), pentru i = 1 → n , matricea de situare dintre sistemele{ 0} →{ i}<br />

se determină astfel:<br />

0<br />

i ⎡ i [ R] p ⎤<br />

−<br />

i<br />

[ T ] = ∏ [ T ] = ⎢ ⎥ . (2.20)<br />

j= 1 ⎢ 0 0 0 1 ⎥<br />

⎣ ⎦<br />

0 j 1<br />

i j<br />

Pentru efectorul final, matricea de situare dintre sistemele{ 0} → { n + 1}<br />

se determină cu expresia:<br />

⎡n s a p⎤<br />

[ T ] = [ T ] ⋅ T = ⎢ ⎥ . (2.21)<br />

⎢0 0 0 1<br />

⎣<br />

⎥<br />

⎦<br />

0 0<br />

n+ 1 n n+ 1n<br />

10. Pentru i =1 → n şi j = 1 → i matricele de situare ale sistemului mobil { i } în raport cu un alt<br />

sistem mobil { j} se determină, utilizând expresiile prezentate în cele ce urmează, astfel:<br />

⎡ j j j j<br />

⎛α ⎞ ⎛α ⎞ ⎛α ⎞ p ⎤<br />

xij<br />

⎢ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎥<br />

j<br />

i ⎢ β β β p<br />

− ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎥ yij<br />

[ T ] = ∏ [ T ] = ⎢ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎥ . (2.22)<br />

k= j+ 1 ⎢ ⎝ γ ⎠ γ γ p<br />

ix ⎝ ⎠iy ⎝ ⎠iz<br />

zij ⎥<br />

⎢ ⎥<br />

⎢ 0 0 0 1 ⎥<br />

⎣ ⎦<br />

j k 1<br />

i k j<br />

11. Vectorul de orientare se determină cu ajutorul următoarei identităţi matriceale:<br />

0 0<br />

( ) [ ] [ ]<br />

{ ; } ; ( )<br />

n n+ 1<br />

R α − β − γ = R R ψ = α β γ . (2.23)<br />

A B C A B C<br />

Algoritmul pentru determinarea orientării efectorului final este prezentat în Fig. 2.6 și Figura 2.7.<br />

12. În ultimul pas, ecuaţiile MGD vor fi incluse în cadrul următoarelor matrice generalizate:<br />

0<br />

X<br />

T<br />

⎡ p ⎤ ⎡ ⎡px py p ⎤<br />

⎣ z ⎤⎦<br />

= ⎢ ⎥ = ⎢ ⎥<br />

T<br />

⎢ ψ ⎥ ⎢[ α A βB γ<br />

⎥<br />

C ]<br />

⎣ ⎦ ⎢⎣ ⎥⎦<br />

2.1.3 Algoritmul operatorilor compuși de tip (PG)<br />

58<br />

T<br />

. (2.24)<br />

Ecuaţiile MGD pot fi de asemenea determinate, utilizând setul de parametri generalizaţi sau operatorii<br />

compuşi de tip PG. Cei şase parametri generalizaţi conform cu [N05] – [N22] și Figura 2.8 sunt următorii:<br />

( ) ( ) ( ) ( ) T<br />

i−1 0 i 1 0 i 1 0 i 1 0<br />

p ⎡ − − −<br />

i i−1 xi yi z ⎤<br />

i<br />

= ⎣ ⎦ ; (2.25)<br />

i−1 ( 0)<br />

T<br />

ψ i = ⎡α x βy γ z ⎤<br />

⎣ ⎦<br />

. (2.26)


. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

START<br />

Algoritmul<br />

MGD<br />

linT=0, colT=0<br />

lungmin = lungime ( Tn+<br />

1 0 [ 0][ 0]<br />

)<br />

l=0<br />

m=0<br />

min > ( n+<br />

1 0[<br />

][ ] ) T<br />

lung lungime l m<br />

True<br />

lungmin = lungime ( Tn+<br />

1 0[<br />

l][ m]<br />

)<br />

linT=l colT=m<br />

DA<br />

DA<br />

m++<br />

m ≤ 2<br />

l++<br />

l ≤ 2<br />

False<br />

Baza de date cu cele<br />

12 seturi de unghiuri<br />

i=0<br />

[ ] [ ]<br />

lin i ==linT &col i ==colT<br />

i++<br />

NU<br />

DA NU<br />

i ≤ 11<br />

DA<br />

NU<br />

1<br />

Output<br />

eroare de<br />

cautare<br />

1<br />

i==0<br />

i==1<br />

i==2<br />

i==3<br />

i==4<br />

i==5<br />

i==6<br />

2<br />

59<br />

NU<br />

NU<br />

NU<br />

NU<br />

NU<br />

NU<br />

NU<br />

DA<br />

DA<br />

DA<br />

DA<br />

DA<br />

DA<br />

DA<br />

STOP<br />

βy<br />

= Arcsin ( Tn+ 1 0 [ 0][ 2]<br />

)<br />

⎛ Tn+ 1 0 [ 1][ 2] αx<br />

= Atan2 ⎜ − ;<br />

⎜<br />

⎝<br />

cos( βy )<br />

Tn+<br />

1 0 [ 2][ 2]<br />

⎞<br />

⎟<br />

cos(<br />

βy<br />

) ⎟<br />

⎠<br />

⎛ Tn+ 1 0 [ 0][ 1]<br />

γ z = Atan2 ⎜ − ;<br />

⎜<br />

⎝<br />

cos( βy )<br />

Tn+<br />

1 0 [ 0][ 0]<br />

⎞<br />

⎟<br />

cos(<br />

βy<br />

) ⎟<br />

⎠<br />

βy<br />

= Arccos ( Tn+ 1 0 [ 0][ 0]<br />

)<br />

⎛Tn + 1 0 [ 0][ 1] αx<br />

= Atan2 ⎜ ;<br />

⎜<br />

⎝<br />

sin( βy )<br />

Tn+<br />

1 0 [ 0][<br />

2]<br />

⎞<br />

− ⎟<br />

sin(<br />

βy<br />

) ⎟<br />

⎠<br />

⎛Tn + 1 0 [ 0][ 1] γ x = Atan2 ⎜ ;<br />

⎜<br />

⎝<br />

sin( βy )<br />

Tn+<br />

1 0 [ 0][<br />

2]<br />

⎞<br />

⎟<br />

sin(<br />

βy<br />

) ⎟<br />

⎠<br />

βz<br />

= Arccos ( Tn+ 1 0 [ 0][ 0]<br />

)<br />

⎛Tn + 1 0 [ 0][ 2] αx<br />

= Atan2 ⎜ ;<br />

⎝ sin( βz )<br />

Tn+<br />

1 0 [ 0][<br />

1]<br />

⎞<br />

⎟<br />

sin(<br />

βz<br />

) ⎠<br />

⎛Tn + 1 0 [ 0][ 2] γ x = Atan2 ⎜ ;<br />

⎝ sin( βz )<br />

Tn+<br />

1 0 [ 0][<br />

1]<br />

⎞<br />

− ⎟<br />

sin(<br />

βz<br />

) ⎠<br />

βz<br />

= Arcsin ( −Tn<br />

+ 1 0 [ 0][ 1]<br />

)<br />

⎛Tn + 1 0 [ 2][ 1] αx<br />

= Atan2 ⎜ ;<br />

⎝ cos( βz )<br />

Tn+<br />

1 0 [ 1][ 1]<br />

⎞<br />

⎟<br />

cos(<br />

βz<br />

) ⎠<br />

⎛Tn + 1 0 [ 0][ 2]<br />

γ y = Atan2 ⎜ ;<br />

⎝ cos( βz )<br />

Tn+<br />

1 0 [ 0][ 0]<br />

⎞<br />

⎟<br />

cos(<br />

βz<br />

) ⎠<br />

βz<br />

= Arcsin ( Tn+ 1 0 [ 1][<br />

0]<br />

)<br />

⎛ Tn+ 1 0 [ 2][<br />

0] αy<br />

= Atan2 ⎜ − ;<br />

⎝ cos ( βz )<br />

Tn+<br />

1 0 [ 0][ 0]<br />

⎞<br />

⎟<br />

cos ( βz<br />

) ⎠<br />

⎛ Tn+ 1 0 [ 1][ 2] γ x = Atan2 ⎜ − ;<br />

⎝ cos ( βz )<br />

Tn+<br />

1 0 [ 1][ 1]<br />

⎞<br />

⎟<br />

cos(<br />

βz<br />

) ⎠<br />

βz<br />

= Arccos ( Tn+ 1 0 [ 1][ 1]<br />

)<br />

⎛Tn + 1 0 [ 2][ 1] αy<br />

= Atan2 ⎜ ;<br />

⎝ sin( βz )<br />

Tn+ 1 0 [ 0][<br />

1]<br />

⎞<br />

− ⎟<br />

sin(<br />

βz<br />

) ⎠<br />

⎛Tn + 1 0 [ 1][ 2] γ y = Atan2 ⎜ ;<br />

⎝ sin( βz )<br />

Tn+ 1 0 [ 1][<br />

0]<br />

⎞<br />

⎟<br />

sin(<br />

βz<br />

) ⎠<br />

βx<br />

= Arccos ( Tn+ 1 0 [ 1][ 1]<br />

)<br />

⎛Tn + 1 0 [ 0][ 1] αy<br />

= Atan2 ⎜ ;<br />

⎝ sin( βx )<br />

Tn+<br />

1 0 [ 2][ 1]<br />

⎞<br />

⎟<br />

sin(<br />

βx<br />

) ⎠<br />

⎛ Tn+ 1 0 [ 1][ 0]<br />

γ y = Atan2 ⎜ ;<br />

⎝ sin( βx )<br />

Tn+<br />

1 0 [ 1][ 2]<br />

⎞<br />

− ⎟<br />

sin(<br />

βx<br />

) ⎠<br />

Figura 2.6 Algoritmul de determinare a orientării efectorului final (prima parte)<br />

4<br />

3


ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />

βx<br />

= Arcsin ( −Tn<br />

+ 1 0 [ 1][ 2]<br />

)<br />

⎛Tn + 1 0 [ 0][ 2] α y = Atan2 ⎜ ;<br />

⎝ cos( βx )<br />

Tn+<br />

1 0 [ 2][ 2]<br />

⎞<br />

⎟<br />

cos(<br />

βx<br />

) ⎠<br />

⎛Tn + 1 0 [ 1][ 0]<br />

γ z = Atan2 ⎜ ;<br />

⎝ cos( βx )<br />

Tn+<br />

1 0 [ 1][ 1]<br />

⎞<br />

⎟<br />

cos(<br />

βx<br />

) ⎠<br />

βx<br />

= Arcsin ( Tn+ 1 0 [ 2][ 1]<br />

)<br />

⎛ Tn+ 1 0 [ 0][ 1] αz<br />

= Atan2 ⎜ − ;<br />

⎝ cos( βx )<br />

Tn+<br />

1 0 [ 1][ 1]<br />

⎞<br />

⎟<br />

cos(<br />

βx<br />

) ⎠<br />

⎛ Tn+ 1 0 [ 2][ 0]<br />

γ y = Atan2 ⎜ − ;<br />

⎝ cos( βx )<br />

Tn+<br />

1 0 [ 2][ 2]<br />

⎞<br />

⎟<br />

cos(<br />

βx<br />

) ⎠<br />

βx<br />

= Arccos ( Tn+ 1 0 [ 2][ 2]<br />

)<br />

⎛ Tn+ 1 0 [ 0][ 2] αz<br />

= Atan2 ⎜ ;<br />

⎝ sin( βx )<br />

Tn+<br />

1 0 [ 1][ 2]<br />

⎞<br />

− ⎟<br />

sin(<br />

βx<br />

) ⎠<br />

⎛Tn + 1 0 [ 2][ 0]<br />

γ z = Atan2 ⎜ ;<br />

⎝ sin( βx )<br />

Tn+<br />

1 0 [ 2][ 1]<br />

⎞<br />

⎟<br />

sin(<br />

βx<br />

) ⎠<br />

βy<br />

= Arccos ( Tn+ 1 0 [ 2][ 2]<br />

)<br />

⎛ Tn+ 1 0 [ 1][ 2] Tn+ 1 0 [ 0][<br />

2]<br />

⎞<br />

αz<br />

= Atan2 ⎜ ;<br />

⎜ ⎟<br />

sin( βy ) sin(<br />

βy<br />

) ⎟<br />

⎝ ⎠<br />

⎛ Tn+ 1 0 [ 2][ 1] Tn+ 1 0 [ 2][<br />

0]<br />

⎞<br />

γ z = Atan2 ⎜ ; −<br />

⎜ ⎟<br />

sin( βy ) sin(<br />

βy<br />

) ⎟<br />

⎝ ⎠<br />

βy<br />

= Arcsin ( −Tn<br />

+ 1 0 [ 2][<br />

0]<br />

)<br />

⎛Tn + 1 0 [ 1][<br />

0] αz<br />

= Atan2 ⎜ ;<br />

⎜<br />

⎝<br />

cos( βy )<br />

Tn+<br />

1 0 [ 0][ 0]<br />

⎞<br />

⎟<br />

cos ( βy<br />

) ⎟<br />

⎠<br />

⎛Tn + 1 0 [ 2][ 1] γ x = Atan2 ⎜ ;<br />

⎜<br />

⎝<br />

cos( βy )<br />

Tn+<br />

1 0 [ 2][ 2]<br />

⎞<br />

⎟<br />

cos(<br />

βy<br />

) ⎟<br />

⎠<br />

⎡Tn + 1 0 [ 0][ 3]<br />

⎤<br />

⎢Tn 1 0 [ 1][<br />

3]<br />

⎥<br />

+<br />

⎢Tn 1 0 [ 2][<br />

3]<br />

⎥<br />

+ X = ⎢ ⎥<br />

⎢<br />

α A[ i]<br />

⎥<br />

⎢ βB[<br />

i]<br />

⎥<br />

⎢⎣ γ C[ i]<br />

⎥⎦<br />

Figura 2.7 Algoritmul de determinare a orientării efectorului final (continuare)<br />

60


. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

Primul grup de ecuaţii (2.25) definește componentele vectorului de poziţie al sistemului { i } în raport cu<br />

sistemul{ i − 1}<br />

. Al doilea grup (2.26) reprezintă vectorul de orientare a sistemului{ i } în raport cu { i 1}<br />

exprimă rotaţia în jurul axelor mobile R( αx βy γ z )<br />

de situare rezultantă dintre sistemele, { i} şi{ i 1}<br />

61<br />

− şi<br />

− − . Utilizând aceste expresii, se determină matricea<br />

− în configuraţia iniţială a robotului:<br />

i−1 ( 0) i−1 ( 0) i−1 ( 0)<br />

i i− 1G T ( i i i ) R ( ; αx ) R ( ; βy ) R ( ; γ z )<br />

T = T x y z ⋅T x ⋅T y ⋅ T z . (2.27)<br />

Figura 2.8 Parametrii generalizaţi de tip PG<br />

În continuare, conform [N05] – [N22], se definesc etapele aplicării algoritmului operatorilor compuşi tip PG.<br />

1. Se cunoaște tipul de robot supus analizei: { 3R; RTTR; RRTR; 5R; RTT3R; 6R ... } .<br />

2. Matricea geometriei nominale este utilizată ca și dată de intrare în definirea schemei cinematice:<br />

T<br />

( 0) i−1 ( 0) T ( 0) T<br />

Mvn = ⎡ pii 1 k ⎤<br />

− i , unde i = 1 → n + 1.<br />

(2.28)<br />

⎣ ⎦<br />

( 0)<br />

3. Se reprezintă schema cinematică a robotului la configuraţia iniţială (de zero) θ .<br />

G2*. Stabilirea sistemelor de tip PG<br />

qi−1 ⋅k<br />

i−1<br />

xi<br />

qi ⋅k<br />

i<br />

În centrul geometric al fiecărei cuple motoare, se ataşează un sistem de coordonate, a căror orientare<br />

se stabileşte prin aplicarea unui algoritm, care va fi prezentat în continuare. Conform acestui algoritm,<br />

pentru început, se determină orientarea axelor i z şi i x , iar în final orientarea axei y i . Determinarea<br />

orientării fiecărei axe a sistemului de referinţă ataşat cuplei se realizează prin aplicarea paşilor următori:<br />

( 0)<br />

4. Orientarea axei z se determină, prin impunerea de la început a unei restricții, conform căreia,<br />

i<br />

z −<br />

i 1<br />

x −<br />

{ i− 1}<br />

i 1<br />

elementul i −1<br />

y −<br />

i−1<br />

xi<br />

i 1<br />

i−1<br />

rii<br />

−1<br />

orientarea acestei axe este considerată identică cu cea a axei motoare, definită în datele de intrare:<br />

{} i<br />

y<br />

i−1<br />

yi<br />

( ) T<br />

( 0) ( 0) ( 0) ( 0) ( 0)<br />

= = . (2.29)<br />

z k α β γ<br />

i i iz iz iz<br />

i<br />

i−1<br />

z α i i−1<br />

x −<br />

z ≡ z′′ −<br />

i<br />

γ i−1<br />

i 1<br />

i 1<br />

βi −1<br />

y′ −<br />

i 1


ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />

Pentru definirea axei x i este necesar ca mai întâi sa fie definit versorul care descrie lungimea<br />

orientată a elementului cinetic ( i ) , notat cu<br />

( 0) ( 0) ( 0)<br />

u = p / p ⊂ M . (2.30)<br />

i i+ 1i i+ 1i vn<br />

Luând în considerare restricțiile (2.29), respectiv orientarea versorului u i definită cu (2.30),<br />

orientarea axei x i se stabilește pe baza condițiilor prezentate în continuare:<br />

( ) ⎧ 0 T<br />

ui , daca ui ⋅ zi = 0<br />

( 0) ⎪ ( 0) T ( 0) T<br />

xi = ⎨ xi−1 , daca ui ⋅ zi = ± 1, xi ⋅ zi = 0;<br />

⎪ ( 0) ( 0) T ( 0) T<br />

( 0)<br />

⎩ zi−1 × zi , daca ui ⋅ zi = ± 1, xi ⋅ zi = ± 1; ui<br />

, .<br />

În cazul în care nici una dintre condițiile enunțate anterior nu este îndeplinită, se aplică condiția:<br />

5. Orientarea axei<br />

( 0)<br />

i<br />

x<br />

( 0) i<br />

i =<br />

i ⋅ i<br />

62<br />

(2.31)<br />

u<br />

. (2.32)<br />

u sα<br />

y se determină ținând cont de relația de ortogonalitate dintre cei trei versori:<br />

( 0) ( 0) ( 0)<br />

i i i<br />

y = z × x . (2.33)<br />

Matricele ce definesc poziţia şi orientarea fiecărei cuple, obţinute cu ajutorul expresiilor de mai sus, sunt<br />

utilizate pentru definirea matricei sistemelor de tip PG, a cărei expresie în formă generală este următoarea:<br />

T<br />

( 0) T ( 0) T ( 0) T ( 0) T<br />

TG = ⎡<br />

⎣pi xi yi z ⎤<br />

i ⎦ , unde i = 1 → n + 1 . (2.34)<br />

6. În cadrul acestei etape, pentru i = 1 → n+1 , se determină operatorii compuşi de tip PG.<br />

Pentru început, se stabilesc parametrii generalizaţi de translaţie, definiţi cu expresia de mai jos, astfel:<br />

( )<br />

T<br />

( ) ( )<br />

( )<br />

( 0) ( ) ( ) ( )<br />

0 0<br />

p = x y z = R ⋅ p − p . (2.35)<br />

i−1 i−1 0 i−1 0 i−1 0 T<br />

i i−1 i i i i−10 i i−1 Parametrii generalizaţi de rotaţie se determină cu ajutorul următoarei identităţii matriceale:<br />

( ) ⎛ 0 T<br />

x ⎞<br />

i−1 ⎜ ⎟<br />

( 0) T ( 0) ( 0) ( 0)<br />

R( αx − βy − γ z ) = ⎜ y ⎟<br />

i−1 ⋅ ⎡x i y i z ⎤<br />

i ; (2.36)<br />

⎜ ⎟ ⎣ ⎦<br />

⎜ ( 0) T<br />

z ⎟<br />

⎝ i−1 ⎠<br />

( ) ( ) ( ) ( ) ( ) ( )<br />

⎡ 0 T 0 0 T 0 0 T 0<br />

x i−1 ⋅ x i x i−1 ⋅ y i x i−1 ⋅ z ⎤<br />

i<br />

⎢ ( 0) T ( 0) ( 0) T ( 0) ( 0) T ( 0)<br />

⎥<br />

R( αx − βy − γ z ) = ⎢y i−1 ⋅ x i y i−1 ⋅ y i y i−1 ⋅ z i ⎥ ; (2.37)<br />

⎢ ( 0) T ( 0) ( 0) T ( 0) ( 0) T ( 0)<br />

⎥<br />

⎢z i−1 ⋅ x i z i−1 ⋅ y i z i−1 ⋅ z<br />

⎣ i ⎥⎦<br />

⎡ cβy ⋅cγ z −cβy ⋅sγ<br />

z sβy<br />

⎤<br />

R( αx − βy − γ z ) = ⎢cα x ⋅ sγ z + sα x ⋅sβ y ⋅cγ z cα x ⋅cγ z − sα x ⋅sβ y ⋅sγ z −sα x ⋅cβ<br />

⎥<br />

y . (2.38)<br />

⎢ ⎥<br />

⎢sα x ⋅ sγ z + cα x ⋅sβ y ⋅cγ z sα x ⋅ cγ z + cα x ⋅sβ y ⋅sγ z cα x ⋅cβ<br />

⎣ y ⎥⎦


. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

Expresiile ce caracterizează parametrii generalizați de rotație depind de produsul matriceal dintre<br />

( 0)<br />

versorii axelor x − , respectiv<br />

Dacă<br />

i 1<br />

( 0)<br />

z , impunând următoarele condiții:<br />

i<br />

( 0) T ( 0)<br />

xi−1 ⋅ zi ≠ ± 1 - parametrii generalizaţi de rotaţie sunt definiţi cu relațiile de mai jos:<br />

În situaţia în care<br />

( ) ( ) ( ) ( )<br />

⎡ 0 T 0 0 T 0<br />

yi−1 ⋅z i zi−1 ⋅ z ⎤<br />

i<br />

αx<br />

= Atan 2⎢−<br />

;<br />

⎥<br />

⎢⎣ cβy cβy<br />

⎥⎦<br />

( 0) T ( 0)<br />

βy = Arc sin xi−1 ⋅ zi<br />

63<br />

; (2.39)<br />

⎡ ⎤ ; (2.40)<br />

⎣ ⎦<br />

( ) ( ) ( ) ( )<br />

⎡ 0 T 0 0 T 0<br />

xi−1 ⋅ yi xi−1 ⋅ x ⎤<br />

i<br />

γ z = Atan 2⎢<br />

− ;<br />

⎥ . (2.41)<br />

⎢⎣ cβy cβy<br />

⎥⎦<br />

( 0) T ( 0)<br />

i 1 i<br />

x − ⋅ z = ± 1,<br />

rezultă că βy = ± π / 2 , soluție care definește aşa numita<br />

singularitate geometrică de orientare. Astfel, soluțiile anterioare vor fi degenerate, aplicarea restricţiei<br />

geometrice γ z = 0 conducând la determinarea corectă a parametrilor generalizaţi de rotaţie:<br />

π<br />

α β γ<br />

( 0) T ( 0)<br />

( 0) T ( 0)<br />

= Atan 2⎡ zi 1 y ; yi 1 y ⎤<br />

⎣ − ⋅ − ⋅ i ⎦ ; = ± ; = 0 . (2.42)<br />

2<br />

x i y z<br />

Rezultatele obținute sunt incluse în matricea operatorilor compuşi de tip PG, a cărei formă este următoarea:<br />

i−1 ( 0) i−1 ( 0) i−1 ( 0)<br />

MG = ⎡ xi yi zi αx βy γ ⎤<br />

⎣ z ⎦ , unde i = 1 → n + 1 . (2.43)<br />

7. Matricea de situare de tip PG dintre sistemele { i −1} → { i}<br />

, pentru i = 1 → n + 1 , se determină<br />

conform expresiei prezentate mai jos, astfel:<br />

⎡ c β y ⋅cγ z<br />

⎢<br />

cα x ⋅ sγ z + sα x ⋅sβ y ⋅cγ T<br />

z<br />

ii−1G =<br />

⎢<br />

⎢<br />

⎢<br />

sα x ⋅ sγ z + cα x ⋅sβ y ⋅cγ z<br />

⎢⎣ 0<br />

−cβy ⋅sγ<br />

z<br />

cα x ⋅cγ z − sα x ⋅sβ y ⋅sγ z<br />

sα x ⋅ cγ z + cα x ⋅sβ y ⋅sγ z<br />

0<br />

sβy −sα x ⋅cβ<br />

y<br />

cα x ⋅cβ<br />

y<br />

0<br />

i−1 ( 0)<br />

x ⎤<br />

i<br />

i−1 ( 0)<br />

⎥<br />

yi<br />

⎥<br />

i−1 ( 0)<br />

⎥<br />

. (2.44)<br />

zi<br />

⎥<br />

1 ⎥⎦<br />

Matricea de situare de tip PG, conform [N05] – [N22], se poate determina şi cu ajutorul expresiei<br />

prezentate mai jos. În această expresie sunt incluşi parametrii ce caracterizează matricea sistemelor PG :<br />

⎡ ( 0) T ( 0) ( 0) T ( 0) ( 0) T ( 0)<br />

( 0) T<br />

x i−1 ⋅ x i x i−1 ⋅ y i x i−1 ⋅ z ⎛<br />

i x ⎞<br />

⎤<br />

i−1 ⎢ ⎜ ⎟<br />

⎥<br />

⎢ ( 0) T ( 0) ( 0) T ( 0) ( 0) T ( 0) ( 0) T ( 0) ( 0)<br />

y 1<br />

i−1 ⋅ x i y i−1 ⋅ y i y i−1 ⋅ z ⎜<br />

i y ⎟<br />

i−1 ⋅( pi − p i 1 ) ⎥<br />

−<br />

−<br />

Ti i−1G = Ti−10 ⋅ Ti0<br />

= ⎢ ⎜ ⎟<br />

⎥ . (2.45)<br />

⎢ ( 0) T ( 0) ( 0) T ( 0) ( 0) T ( 0)<br />

( 0) T<br />

z i−1 ⋅ x i z i−1 ⋅ y i z i−1 ⋅ z ⎜<br />

i z ⎟<br />

⎥<br />

i−1 ⎢ ⎝ ⎠<br />

⎥<br />

⎢ 0 0 0 1 ⎥<br />

⎣ ⎦<br />

8. În conformitate cu aceleași lucrări, [N05] – [N22], matricele generalizate ale sistemelor şi<br />

operatorilor compuşi tip PG se stabilesc luând în considerare expresiile prezentate mai jos:<br />

T


ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />

T<br />

( ) ( ) ( )<br />

T<br />

⎡⎡ i−1 0 i−1 0 i−1 0<br />

xi k yi k z ⎤ ⎤<br />

i k<br />

G = ⎢⎣ ⎦ ⎥<br />

⎢ T<br />

⎡ α x k β y k γ ⎥<br />

z k ⎤<br />

M<br />

⎣ ⎣ ⎦ ⎦<br />

;<br />

64<br />

T<br />

G<br />

⎡ T T T T<br />

piGk xiGk yiGk z ⎤ iGk<br />

= ⎢ ⎥ . (2.46)<br />

⎣k = 1 → m, i = 1 → n⎦<br />

G2** Partea a doua a algoritmului operatorilor compuşi de tip PG (parametri generalizaţi)<br />

9. Pentru început, matricea configuraţiilor nominale, n Mθ , este utilizată ca și dată de intrare:<br />

{ ⎡ T T<br />

, = → ⎤,<br />

, = [ , = → ] }<br />

M θn = ⎣θk k 1 m ⎦ unde θk<br />

qik i 1 n . (2.47)<br />

În matricea generalizată, definită cu (2.47), q ik definește variabila generalizată din fiecare axă motoare<br />

i = 1 → n , a robotului iar k = 1 → m∈ N reprezintă numărul configuraţiilor robotului luate în studiu.<br />

10. În această etapă de aplicare a algoritmului operatorilor de tip PG, se efectuează o rotaţie cu<br />

coordonata generalizată q i în jurul axei zi ∈ { i}<br />

. Matricele de situare de tip PG, pentru fiecare<br />

configurație a robotului, k = 1→ m,<br />

se obţin prin aplicarea transformărilor în jurul axelor mobile:<br />

⎡ ⎤<br />

= ⋅ = ⎢ ⎥ ; (2.48)<br />

⎣ 0 0 0 1 ⎦<br />

i−1 i−1 i−1 i−1 i−1 [ ]<br />

xi yi zi pi<br />

i−1 i T Ti i−1 TΔ ( zi ; qi<br />

)<br />

( i ⋅Δ i ) − ( i ⋅Δ i )<br />

( i ⋅Δ i ) ( i ⋅ Δ i )<br />

⎡c q s q 0 0 ⎤<br />

⎢ ⎥<br />

s q c q 0 0<br />

TΔ ( zi ; qi ) = { TR ( zi ; qi ) ; TT ( zi ; qi<br />

) } = ⎢ ⎥ ; (2.49)<br />

⎢ 0 0 1 ± ( 1− Δ i ) ⋅q<br />

⎥<br />

i<br />

⎢ ⎥<br />

⎢⎣ 0 0 0 1 ⎥⎦<br />

⎡ ⎤<br />

⎢ ⎥<br />

= ⋅ = ⎢ ⎥ ; (2.50)<br />

⎢ ⎥<br />

⎢ ⎥<br />

⎢⎣ 0 0 0 1 ⎥⎦<br />

i−1 αix i−1 αiy i−1 αiz<br />

i−1 xi<br />

i−1G iG [ T ] Ti i−1 TΔ ( zi ; qi<br />

)<br />

i−1 βix i−1 γ ix<br />

i−1 βiy i−1 γ iy<br />

i−1 βiz<br />

i−1 γ iz<br />

i−1 yi<br />

i−1 zi<br />

⎡ i−1 αix ⎢ i−1 0 β<br />

[ ] ix<br />

iG T =<br />

⎢<br />

⎢ i−1 γ<br />

⎢ ix<br />

⎢⎣ 0<br />

i−1 αiy i−1 βiy i−1 γ iy<br />

0<br />

i−1 αiz<br />

i−1 βiz<br />

i−1 γ iz<br />

0<br />

p ⎤ xi ⎥<br />

pyi<br />

⎥<br />

.<br />

p<br />

⎥<br />

zi ⎥<br />

1 ⎥⎦<br />

(2.51)<br />

Dacă i = n + 1,<br />

matricea de situare dintre sistemele{ n + 1} → { 0}<br />

se determină cu expresia:<br />

⎡nx sx ax px<br />

⎤<br />

⎢n s a p ⎥<br />

[ T ] = ⎢ ⎥ . (2.52)<br />

⎢nz sz az pz<br />

⎥<br />

⎢⎣ 0 0 0 1 ⎥⎦<br />

0 y y y y<br />

n+ 1<br />

11. Pentru i =1 → n şi j = 1 → i matricele de transformare omogenă ce caracterizează situarea<br />

sistemului mobil { i } în raport cu un alt sistem mobil { j} se definesc cu ajutorul expresiilor de mai jos:


. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

⎡ i i<br />

i<br />

k−1 0 T ⎤<br />

− [ R] [ R] p<br />

[ T ] kG [ T ] ⎢ ∏ ∑ ⋅ −<br />

=<br />

⎥<br />

∏ = k= j+ 1<br />

k= j+ 1<br />

; (2.53)<br />

⎢ ⎥<br />

k= j+ 1<br />

⎢⎣ 0 0 0 1 ⎥⎦<br />

jG<br />

iG<br />

k 1G k j k k 1<br />

j ⎡ j j j<br />

α α ix iy αiz<br />

p ⎤<br />

x<br />

⎢ ij ⎥<br />

i<br />

j j j j<br />

− ⎢ β β β p ⎥<br />

[ T ] = ∏ kG [ T ] = ⎢ ⎥ . (2.54)<br />

j j j j<br />

k= j+ 1 ⎢ γ ix γ γ iy iz pzij<br />

⎥<br />

⎢<br />

0 0 0 1<br />

⎥<br />

⎣ ⎦<br />

jG k 1G ix iy iz yij iG<br />

12. Vectorul de orientare se determină pe baza următoarei identităţi:<br />

{ ; } ; ( )<br />

0 0<br />

( ) nG [ ] n+ 1G [ ]<br />

R α − β − γ = R R ψ = α β γ . (2.55)<br />

A B C A B C<br />

13. În ultima etapă, ecuaţiile MGD vor fi incluse în cadrul următoarelor matrice generalizate:<br />

0<br />

⎧ T<br />

⎡fj qi i i 1 n j 1 6⎤<br />

⎫<br />

( ⋅ δ , = → ) = →<br />

{ { 1, j 1 3} ; { , j 4 6}<br />

}<br />

⎡ p ⎤ ⎪ ⎪<br />

X =<br />

⎣ ⎦<br />

⎢ ⎥ = ⎨ ⎬ ; (2.56)<br />

⎣ ψ ⎦ ⎪δ = = → Δ = → ⎪<br />

[ T ]<br />

G<br />

⎩ i i<br />

⎭<br />

⎧ j j −1<br />

⎪ i [ T ] Gk ; i [ T ] ⎫<br />

Gk ⎪<br />

= ⎨ ⎬;<br />

(2.57)<br />

⎪⎩ k = 1 → m, i = 1 → n + 1, j = 0 → i⎪⎭<br />

MXG = ⎡<br />

⎣<br />

pxk pyk pzk α Ak βBk γCk<br />

⎤<br />

⎦<br />

, k = 1 → m.<br />

(2.58)<br />

Ultimele două expresii, definite cu (2.57) şi (2.59), reprezintă matricele generalizate ale transformărilor<br />

de situare, respectiv ecuaţiile geometriei directe (MGD) în spaţiul cartezian.<br />

2.1.4 Algoritmul operatorilor compuşi de tip Denavit – Hartenberg (DH)<br />

În literatura de specialitate, metoda operatorilor compuşi Denavit – Hartenberg este frecvent utilizată în<br />

modelarea preciziei structurilor seriale de roboţi. Parametrii de tip DH utilizaţi în cadrul acestui model sunt:<br />

{ ai 1 αi 1<br />

e<br />

βi ( 0) di<br />

( 0)<br />

θi<br />

}<br />

− − . (2.60)<br />

Metoda operatorilor compuși de tip DH poate fi aplicată în două variante, diferența dintre cele două<br />

variante făcându-se la nivelul modului de stabilire a parametrilor și sistemelor de tip D-H precum și a<br />

succesiunii transformărilor simple ce au loc între două sisteme de referință învecinate { }<br />

65<br />

T<br />

i şi { i − 1}<br />

.<br />

Grupul de parametri prezentați în cadrul expresiei (2.60), corespunde celei de-a doua variante a<br />

algoritmului operatorilor compuşi de tip DH. Astfel, în conformitate cu [N05] – [N22] și analizând Figura<br />

2.9 semnificaţia operatorilor compuşi tip DH reprezentați este următoarea:


ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />

• a i− 1 este lungimea normalei comune măsurată între cele două axe motoare învecinate i k<br />

respectiv i 1<br />

k − , acestea fiind conectate între ele prin elementul cinetic ( i 1)<br />

66<br />

− ;<br />

• αi − 1 este unghiul de încrucişare (răsucire) măsurat în planul normal pe perpendiculara dintre cele<br />

•<br />

•<br />

două axe motoare alăturate şi orientate prin ki − 1 şi respectiv prin k i ;<br />

( 0)<br />

d este distanţa dintre cele două elemente învecinate, măsurată în lungul axei motoare, k i ;<br />

i<br />

( 0)<br />

θ reprezintă unghiul dintre două elemente cinetice învecinate şi măsurat în jurul axei motoare<br />

i<br />

reprezentată prin versorul k i între cele două normale comune şi orientate ale acestei axe;<br />

e<br />

i<br />

• β se măsoară în jurul axei y i , iar pentru structura nominală valoarea sa este zero.<br />

De asemenea, este important de menționat faptul că ultimul parametru, dintre cei cinci definiți anterior,<br />

e<br />

notat cu β i , există numai în cazul structurilor afectate de erori .<br />

Un pas important în realizarea modelului matematic bazat pe operatorii de tip Denavit - Hartenberg<br />

constă în stabilirea sistemelor de referinţă ataşate centrului geometric al fiecărei cuple pe baza unui<br />

algoritm ai cărui paşi, descriși în cadrul [N05] – [N22], vor fi prezentaţi în continuare:<br />

elementul i −1<br />

q ⋅k<br />

i−1 i−1<br />

αi−1 z −<br />

i 1<br />

{ i−1} Figura 2.9 Reprezentarea parametrilor de tip Denavit – Hartenberg<br />

1. Ca și în cazul algoritmilor prezentați anterior și în acest caz se pornește de la definirea tipului de<br />

structură mecanică ce caracterizează robotul care urmează să fie studiat: { 3R; 5R; 2T3R ; 6R ... } .<br />

2. Pentru definirea structurii cinematice a robotului, se utilizează matricea geometriei nominale:<br />

T<br />

( 0)<br />

( 0) T<br />

Mvn = ⎡p ⎣ i<br />

( 0) T<br />

k ⎤<br />

i ⎦<br />

, unde i = 1 → n + 1 . (2.61)<br />

3. Schema cinematică a robotului analizat, se va reprezenta pentru configuraţia iniţială:<br />

[ ]<br />

( 0)<br />

T<br />

= qi = 0; i = 1 → n . (2.62)<br />

( n 1)<br />

θ ×<br />

O −<br />

i 1<br />

a −<br />

i 1<br />

x −<br />

{} i<br />

i 1<br />

qi ⋅ki<br />

zi<br />

Oi<br />

di<br />

elementul i<br />

xi<br />

O +<br />

i 1<br />

θi<br />

q ⋅k<br />

i+ 1 i+<br />

1


. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

G3*. Stabilirea sistemelor de tip DH<br />

În acest scop, a fost elaborată o schemă logică (a se vedea Figura 2.10) . Poziţia originii fiecărui<br />

sistem este definită impunând o serie de restricţii. Următorul pas constă în stabilirea orientării fiecărei<br />

axe i z , urmată de axa i x iar în final de axa y i .<br />

4. Schema logică corespunzătoare variantei a doua [N22], prezentată în Figura 2.10, cuprinde toți pașii<br />

necesari în stabilirea sistemelor de tip DH, având un rol esențial în determinarea parametrilor tip DH:<br />

• ai− 1 şi αi− 1 sunt distanţa, respectiv unghiul dintre axele zi− 1 şi i z , măsuraţi în jurul axei xi− 1 ;<br />

•<br />

( 0)<br />

( 0)<br />

d i şi θ i reprezintă distanţa, respectiv unghiul dintre axele xi−1 şi i x , măsuraţi în jurul axei z i .<br />

5. Rezultatele din 2.5 sunt incluse în matricea operatorilor tip DH, varianta a doua, astfel:<br />

( ) ( )<br />

{ ( ) }<br />

0 0<br />

MD = ⎡ ai 1 α i 1 di di 1 i qi θi θi<br />

i qi i 1 n⎤<br />

⎢ − − = ± − Δ ⋅ = ± Δ ⋅ = →<br />

⎥<br />

( n× 4)<br />

⎣ ⎦<br />

6. Rotaţia qi θi<br />

⊂ se realizează în jurul axei z { i}<br />

i<br />

67<br />

T<br />

. (2.63)<br />

∈ . Se determină matricea de situare de tip DH<br />

dintre sistemele{ i −1} → { i}<br />

, corespunzătoare celei de a doua variante. În acest scop se aplică<br />

proprietatea cu privire la transformările efectuate în jurul axelor mobile, conform expresiei:<br />

( )<br />

( )<br />

T = Ti i−1D ⋅ TΔ zi ; qi = TR x ; αi−1 ⋅TT x ; ai−1 ⋅TR ( z ; θi<br />

) ⋅T T ( z ; di ) ⋅ TΔ ( zi−1 ; qi<br />

) (2.64)<br />

[ ] ( ) ( ) ( )<br />

i−1D 0 0<br />

iD<br />

i−1D iD<br />

⎢ i−1 i i−1 i i−1 i i−1 ⎥<br />

= i i−1D ⋅ Δ i i = ⎢ ⎥<br />

sα i−1 ⋅sθ i sα i−1 ⋅cθ i cα i−1 di ⋅cα<br />

i−1 [ T ] T T ( z ; q )<br />

[ T ]<br />

i−1D −1<br />

i D<br />

⎡ cθi ⎢<br />

cα ⋅sθ −sθ<br />

i−1 cα ⋅cθ 0<br />

−sα ai−1<br />

−d ⋅sα<br />

⎤<br />

⎥<br />

; (2.65)<br />

⎢<br />

⎢<br />

⎣ 0 0 0 1<br />

⎥<br />

⎥<br />

⎦<br />

⎡ cθi ⎢<br />

⎢−sθ i<br />

= ⎢<br />

⎢ 0<br />

⎢<br />

⎣ 0<br />

cα i−1 ⋅sθ i<br />

cα i−1 ⋅cθ i<br />

−sα i−1 0<br />

sα i−1 ⋅sθ i<br />

sα i−1 ⋅cθ i<br />

cα i−1 0<br />

−ai−1 ⋅cθ<br />

i ⎤<br />

⎥<br />

ai−1 ⋅sθ<br />

i ⎥<br />

⎥ .<br />

−di<br />

⎥<br />

⎥<br />

1 ⎦<br />

(2.66)<br />

Schema logică de stabilire a orientării sistemelor de tip DH, conform [N05], [N22] pentru cea de-a<br />

doua variantă a algoritmului, este prezentată în Figura 2.10.<br />

G2** Partea a doua a algoritmului operatorilor compuşi de tip DH în varianta a doua<br />

7. Matricea configuraţiilor nominale n Mθ , definită cu (2.6) este cunoscută din datele de intrare:<br />

⎧ T T<br />

⎫<br />

M θn = ⎨ ⎡θk , k 1 m ⎤<br />

⎣<br />

= →<br />

⎦<br />

, unde θk<br />

= [ qik , i = 1 → n ] ⎬ . (2.67)<br />

( m× n)<br />

⎩ ⎭


ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />

unde similar cu varianta prezentată anterior, q ik definește variabila generalizată corespunzătoare fiecărei<br />

axe motoare pentru i = 1 → n , iar k = 1 → m∈ N reprezintă numărul de configuraţii ale robotului.<br />

8. Matricele generalizate ale sistemelor şi operatorilor DH se stabilesc conform relaţiilor:<br />

⎧ T T T T<br />

⎪⎡piDk xiDk yiDk z ⎤⎫<br />

iDk ⎪<br />

TD = Matrix ⎣ ⎦<br />

⎨ ⎬ ;<br />

m⋅ ( n+ 1) × 12⎪⎩<br />

k = 1 → m, i = 1 → n ⎪⎭<br />

⎧⎪ ai−1k αi−1k dik<br />

θik<br />

⎫⎪<br />

MG = Matrix ⎨ ⎬ . (2.68)<br />

m⋅ ( n+ 1) × 6 ⎪⎩ k = 1 → m i = 1 → n ⎪⎭<br />

68<br />

[ ]<br />

9. i = 1 → n+1 . Matricele de situare de tip DH pentru configuraţiile k = 1 → m sunt date de:<br />

i−1 i−1 i−1 ⎡ i−1 ⎛α ⎞ ⎛α ⎞ ⎛α ⎞ x ⎤<br />

i<br />

⎧TΔ ( zi−1 ; qi ) ⋅Ti<br />

i−1D ⎫ ⎢ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ i−1 ⎥<br />

β β β y<br />

[ T ]<br />

⎪ ⎪<br />

=<br />

⎢ ⎥<br />

⎨ ⎬ = ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ; (2.69)<br />

⎢ ⎜ −<br />

T ( ; )<br />

z<br />

ix iy iz i<br />

i i 1D T zi q γ ⎟ ⎜γ ⎟ ⎜γ ⎟ ⎥<br />

⎪<br />

⎩ − ⋅ Δ i ⎪<br />

⎭ ⎢ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎥<br />

⎢⎣ 0 0 0 1 ⎥⎦<br />

i−1D i<br />

iD i 1<br />

x<br />

⎡⎛α ⎞ ⎛α ⎞ ⎛α ⎞ p ⎤<br />

⎢ ⎥<br />

⎢ ⎥ . (2.70)<br />

⎢ ⎥<br />

⎢ ⎥<br />

⎢⎣ 0 0 0 1 ⎥⎦<br />

xi<br />

0<br />

0 ⎡<br />

[ ]<br />

[ R<br />

iD ] p ⎤<br />

⎜<br />

β<br />

⎟ ⎜<br />

β<br />

⎟ ⎜<br />

β<br />

⎟<br />

p<br />

iD<br />

yi<br />

T =<br />

iD ⎢ ⎥ = ⎜ ⎟ ⎜ ⎟ ⎜ ⎟<br />

0 0 0 1<br />

⎜γ ⎟ ⎜γ ⎟ ⎜γ ⎟<br />

⎢ ⎥ ⎝ ⎠<br />

p<br />

ix ⎝ ⎠iy<br />

⎝ ⎠iz<br />

zi<br />

ai 0<br />

⎣ ⎦<br />

= ( 0) ( 0)<br />

i i+ 1<br />

i = { R; T}<br />

O = a ∩ k<br />

i i i<br />

a<br />

( )<br />

0<br />

z = k<br />

( 0) ( 0)<br />

i i<br />

k × k = 0<br />

( 0) ( 0)<br />

Oi = ki ∩k i+ 1 Oi = Ci<br />

( 0) i<br />

i = ( 0) ( 0) ( 0)<br />

ai = 0<br />

xi = zi × z i+ 1<br />

ai<br />

y = z × x<br />

( 0) ( 0) ( 0)<br />

i i i<br />

Figura 2.10 Schema logică de stabilire a sistemelor de tip DH – a doua variantă<br />

10. Pentru i =1 → n şi j 1 i<br />

= → , matricele de situare dintre { i} { j}<br />

→ se determină astfel:


. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

Pentru cazul i n 1<br />

⎡ i i<br />

i<br />

k−1D 0 T ⎤<br />

− [ R] [ R] p<br />

[ T ] [ T ] ⎢ ∏ ∑ ⋅ −<br />

=<br />

⎥<br />

∏ ≡ k= j+ 1<br />

= +<br />

. (2.71)<br />

⎢ ⎥<br />

k= j+ 1<br />

⎢⎣ 0 0 0 1 ⎥⎦<br />

jD k 1D kD jD k k 1D<br />

iD kD k j 1<br />

= + , matricea de situare dintre sistemele { n 1} { 0}<br />

69<br />

+ → se determină cu expresia:<br />

⎡<br />

0<br />

n+ 1[<br />

T ] = ⎢<br />

⎣<br />

⎢<br />

0<br />

n+ 1[<br />

R] 0 0 0<br />

⎡⎛nx ⎞<br />

p⎤ ⎢⎜ ⎟<br />

ny ⎥ = ⎢⎜ ⎟<br />

1⎥<br />

⎢⎜n ⎟<br />

⎦ z ⎢⎝ ⎠<br />

⎢⎣ 0<br />

⎛ sx ⎞<br />

⎜ ⎟<br />

⎜<br />

sy ⎟<br />

⎜ s ⎟<br />

⎝ z ⎠<br />

0<br />

⎛a x ⎞<br />

⎜ ⎟<br />

⎜<br />

ay ⎟<br />

⎜a ⎟<br />

⎝ z ⎠<br />

0<br />

p ⎤<br />

x ⎥<br />

py<br />

⎥ .<br />

pz<br />

⎥<br />

⎥<br />

1 ⎥⎦<br />

(2.72)<br />

11. Vectorul de orientare se determină cu ajutorul următoarei identităţi matriceale:<br />

0 0<br />

( ) [ ] [ ]<br />

{ ; } ; ( )<br />

nD n+ 1<br />

R α − β − γ = R R ψ = α β γ . (2.73)<br />

A B C A B C<br />

12. În ultima etapă, ecuaţiile MGD vor fi incluse în cadrul următoarelor matrice generalizate:<br />

⎡<br />

0<br />

X = ⎢<br />

⎢<br />

⎣<br />

p ⎤ ⎡ ⎡px ⎥ = ⎢ ⎣<br />

ψ ⎥ ⎢<br />

⎦ ⎣[ α A<br />

py βB T<br />

p ⎤<br />

z ⎤<br />

⎦ ⎥ ;<br />

T<br />

γ C ] ⎥<br />

⎦<br />

(2.74)<br />

⎧ j j −1<br />

⎪<br />

[ ]<br />

[ T ] ; [ T ]<br />

T = i Dk i Dk<br />

D ⎨<br />

⎪⎩ k = 1 → m, i = 1 → n + 1, ⎫⎪<br />

⎬;<br />

j = 0 → i⎪⎭<br />

(2.75)<br />

⎡pxk pyk pzk<br />

αAk βBk γCk<br />

⎤<br />

MXD = Matrix ⎢ ⎥ . (2.76)<br />

( m× 6)<br />

⎣ k = 1 → m ⎦<br />

G3** Pentru toate configuraţiile robotului, conform [N22] se definesc următoarele matrice generalizate:<br />

⎧ [ T ]<br />

j j −1<br />

⎪ Q ⎫⎪ ⎪⎧ i [ T ] Qk ; i [ T ] Qk ⎪⎫<br />

⎨<br />

{ [ T ] L ; [ T ] G ; [ T ]<br />

⎬ = ⎨ ⎬;<br />

MXQ = { MXL ; MXG ; MXD<br />

} . (2.77)<br />

⎪⎩ D } ⎪⎭ ⎪⎩ k = 1 → m i = 1 → n + 1 j = 0 → i⎪⎭<br />

M determinate anterior, reprezintă matricele generalizate ale<br />

Cele două expresii matriceale, [ ] Q<br />

T şi XQ<br />

transformărilor de situare, respectiv ecuaţiile geometriei directe (MGD) în raport cu spaţiul cartezian. Aceste<br />

matrice conţin toate matricele generalizate corespunzătoare algoritmilor prezentaţi în cadrul acestui capitol.<br />

2.1.5 Algoritmul Exponenţialelor de Matrice (MEG)<br />

Exponenţialele de matrice [B04] şi transformările asociate acestora, sunt incluse în cadrul<br />

Algoritmului Exponenţialelor de Matrice, dezvoltat în [N12] - [N22], care poate fi utilizat în vederea<br />

stabilirii ecuaţiilor geometriei directe. Etapele care trebuie urmate în aplicarea acestui algoritm sunt:<br />

( 0)<br />

( 0)<br />

1. Matricea geometriei nominale M , caracteristică configuraţiei θ , se cunoaşte:<br />

vn<br />

{ }<br />

( 0)<br />

Mvn = Matrix<br />

⎡⎣ ( n+ 1) × 6⎤⎦<br />

⎡ ( 0) T<br />

p<br />

⎣ i<br />

( 0) T<br />

k ⎤<br />

i , i = 1 → n + 1<br />

⎦<br />

. (2.78)<br />

2. Pe baza acestei matrice se trasează schema cinematică a robotului analizat.<br />

T<br />

T


ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />

( 0) ( 0)<br />

3. Se determină parametrii de şurub { ki ; v i } , cunoscuţi sub denumirea de coordonate omogene.<br />

ki−1 x0<br />

zi −1<br />

xi−1 z0<br />

elementul ( i −1)<br />

{ }<br />

0<br />

yi −1<br />

{ i −1}<br />

pAi<br />

Figura 2.11 Reprezentarea coordonatelor omogene<br />

Noua matrice, a geometriei nominale, este simbolizată cu M și are următoarele componente:<br />

70<br />

( 0 )**<br />

vn<br />

{ }<br />

( 0)<br />

**<br />

( 0) T ( 0) T ( 0) T<br />

Mvn = Matrix ⎡pi ki v ⎤<br />

i , i = 1 → n + 1<br />

⎡( n+ 1) × 6⎤<br />

⎣ ⎦<br />

⎣ ⎦<br />

T<br />

. (2.79)<br />

4. Matricea diferenţială A i , în conformitate cu [N12] și [N21], se determină utilizând aceeaşi<br />

( 0)<br />

expresie pentru ambele configuraţii ale robotului θ şi θ , incluse în cadrul analizei.<br />

{ } i { } i { } i ( i )<br />

⎡ ( 0) ( 0) ( 0) ( 0) ( 0) ( 0)<br />

ki × Δ v ⎤ ⎡<br />

i ki × Δ pi × ki ⋅Δ + 1− Δ ⋅k<br />

⎤<br />

i<br />

Ai<br />

= ⎢ ⎥ = ⎢ ⎥ . (2.80)<br />

⎢⎣ 0 0 0 0 ⎥⎦ ⎢⎣ 0 0 0 0<br />

⎥⎦<br />

5. Exponenţiala matricei de rotaţie, se determină cu următoarea expresie:<br />

( 0)<br />

( ) { k × } qi ⋅Δ<br />

i i<br />

( 0) ( 0) ( 0) T<br />

R ki , qi ⋅Δ i = e = I3 ⋅c( qi ⋅Δ i ) + { ki × } s( qi ⋅ Δ i ) + ki ⋅ ki ⋅ ⎡⎣ 1− c( qi<br />

⋅ Δi<br />

) ⎤⎦<br />

. (2.81)<br />

6. Inversa exponenţialei matricei de rotaţie se determină cu expresia prezentată mai jos:<br />

( 0)<br />

−1<br />

−<br />

( )<br />

{ k × } qi ⋅Δ<br />

( 0)<br />

( ) ( )<br />

,<br />

i i<br />

0 0 T<br />

i i ⋅Δ i = = 3 ⋅ ( i ⋅Δ i ) − { i × } ⋅ ( i ⋅Δ i ) − i ⋅ i − i ⋅Δ i<br />

( )<br />

R k q e I c q k s q k k ⎡⎣ 1 c q ⎤⎦<br />

(2.82)<br />

ki<br />

zi<br />

7. Expresia de definiţie a vectorului coloană, notat cu b i , se stabileşte astfel:<br />

{ { } ⎡ ( ) ⎤ ⎡ ( ) ⎤ }<br />

( 0) ( 0) ( 0) T ( 0)<br />

i = 3 ⋅ i + i × − i ⋅Δ i + i ⋅ i ⋅ i − i ⋅ Δi ⋅ i<br />

b I q k ⎣1 c q ⎦ k k ⎣q s q ⎦ v (2.83)<br />

8. Exponenţiala de matrice se determină conform relaţiilor:<br />

y0<br />

pi<br />

xi<br />

Ai<br />

{ }<br />

i<br />

p<br />

i y<br />

xn<br />

{ }<br />

n<br />

yn<br />

zn<br />

n<br />

efectorul final<br />

s<br />

{ n + 1}<br />

a


. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

( 0)<br />

{ { i × } ⋅Δ }<br />

⎡<br />

A q exp k q i i i i b ⎤<br />

i<br />

e = ⎢ ⎥<br />

⎢⎣ 0 0 0 1 ⎥⎦<br />

( 0)<br />

, unde exp { i }<br />

71<br />

( 0)<br />

{ k × } q<br />

i i⋅Δi k × q ⋅Δ = e<br />

(2.84)<br />

{ i i}<br />

⎡ i i i<br />

( 0) ⎧ ( 0)<br />

⎫ ⎤<br />

⎧ i ⎫ exp{ { k j × } qj ⋅Δ j} ⎨ exp<br />

exp<br />

{ { kk × } qk ⋅ Δ k} ⎬ ⋅ bj+<br />

1<br />

Aj ⋅ qj<br />

=<br />

⎢ ∑<br />

⎥<br />

⎨ ∑ ⎬ j= 0 j= 0⎩<br />

k= 0<br />

⎭<br />

⎩ j= 0 ⎭<br />

⎢ ⎥<br />

⎢⎣ 0 0 0 1<br />

⎥⎦<br />

∏ ∏ . (2.85)<br />

9. Utilizând (2.85), se determină inversa exponenţialei de matrice, astfel:<br />

⎡ 0 0 j<br />

( 0) ⎧ ( 0)<br />

⎫ ⎤<br />

⎧ ⎧ 0 ⎫⎫ exp{ − { k j × } ⋅qj ⋅Δ j} − exp<br />

exp<br />

{ − { kk × } qk ⋅Δ k} ⋅ bj<br />

− Aj ⋅ qj<br />

=<br />

⎢ ∑⎨<br />

⎬ ⎥<br />

⎨ ⎨∑ ⎬⎬ j= i j= i k= i<br />

j= i ⎢ ⎩ ⎭ ⎥<br />

⎩ ⎩ ⎭⎭<br />

⎢⎣ 0 0 0 1<br />

⎥⎦<br />

unde<br />

∏ ∏ . (2.86)<br />

10. Expresiile exponenţiale ce caracterizează matricele de situare şi care exprimă poziţia şi orientarea<br />

sistemelor { }<br />

n şi { n 1}<br />

+ în raport cu sistemul { }<br />

0 se obţin în forma prezentată mai jos:<br />

⎧ x ⎫<br />

⎪ Tx0 = ∏Tii<br />

−1<br />

⎪ ⎡ Rx0 ⎨ i= 1 ⎬ = ⎢0 0<br />

⎪x { n; n 1}<br />

⎪ ⎣<br />

⎩ = + ⎭<br />

0<br />

n p⎤<br />

⎧ ⎫ ( 0)<br />

= ⎨ Ai ⋅qi ⎬⋅Tx0<br />

1<br />

⎥ ∑ ;<br />

⎦ ⎩ i= 1 ⎭<br />

(2.87)<br />

( )<br />

( )<br />

exp{ { } } n<br />

Rx0 0 0<br />

= ∑ ki × qi ⋅Δ i ⋅ Rx0<br />

; (2.88)<br />

i= 1<br />

{ }<br />

n ⎧ ⎧ i−1 ( 0) ⎫⎫<br />

n<br />

( 0) ( 0)<br />

p = ∑ ⎨exp⎨ ∑ { ki × } qj Δ j ⎬⎬bi<br />

+ exp ∑ ⋅ { ki × } qi Δi<br />

p δx<br />

; (2.89)<br />

i= 1 ⎩ ⎩ j= 0 ⎭⎭<br />

i= 1<br />

x<br />

{ { ; } ; { ; } }<br />

iar δ = 0 x = n 1 x = n + 1 . (2.90)<br />

11. În vederea determinării inversei matricei definită cu (2.87), conform algoritmului prezentat în<br />

[N12] – [N22], se utilizează următoarele expresii:<br />

{ }<br />

( )<br />

{ } { }<br />

⎡ T 1<br />

1<br />

T ( 0) ⎧ 0 ⎫ T ⎤<br />

−1<br />

−1<br />

( 0)<br />

⎧ ⎫ Rx0 = Rx0 ⋅exp − ∑ ki × qiΔ i −Rx0 ⋅ p<br />

Tx0 = { Tx0 } ⋅exp Ai q ⎢ ⎨ ⎬ ⎥<br />

⎨−∑ ⋅ i ⎬ =<br />

⎩ i= n<br />

⎭<br />

⎩ i= n ⎭ ⎢ ⎥<br />

⎢⎣ 0 0 0 1 ⎥⎦<br />

unde,<br />

{ } ( )<br />

(2.91)<br />

⎧ 1 ⎧ ⎧ 0<br />

( 0) ⎫⎫ ⎧ 1<br />

( 0) ⎫ 0 ⎫<br />

exp { } exp<br />

T ⎪− ∑⎨<br />

⎨ ∑ ki × qjΔ j ⎬⎬bi − ⎨− ∑ { ki × } qiΔ i ⎬p<br />

δx<br />

⎪<br />

−R i n j i 1 i n<br />

x0 ⋅ p = ⎨ = ⎩ ⎩ = − ⎭⎭<br />

⎩ =<br />

⎭ ⎬ . (2.92)<br />

⎪<br />

iar δx<br />

= { { 0; x = n} ; { 1; x = n + 1<br />

⎪<br />

⎩ } }<br />

⎭<br />

Observaţie: Algoritmul Exponenţialelor de Matrice, datorită avantajelor computaţionale şi independenţei<br />

faţă de sistemele de referinţă, poate fi aplicat în cazul oricărei structuri de robot. Schema cinematică<br />

pentru modelul geometric direct bazat pe exponențialele de matrice este prezentată în Figura 2.12:


ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />

T<br />

⎡1 ⎢<br />

=<br />

0<br />

⎢<br />

⎢<br />

0<br />

⎣0 0<br />

1<br />

0<br />

0<br />

0<br />

0<br />

1<br />

0<br />

p<br />

p<br />

p<br />

0,0 ⎤<br />

1,0 ⎥<br />

⎥<br />

2,0<br />

⎥<br />

1 ⎦<br />

T expA T<br />

n<br />

0<br />

( 0) n<br />

n 0 0<br />

n<br />

( 0)<br />

n 0 = n,0 ⋅ n 0<br />

{ }<br />

START<br />

Algoritmul<br />

de citire<br />

i=1<br />

0 −pi<br />

[ 2,0] pi<br />

[ 1,0]<br />

[ 2,0] [ 0,0]<br />

pi [ 1,0] pi [ 0,0]<br />

0<br />

{ } ( )<br />

⎡<br />

pi × = ⎢ pi ⎢<br />

⎣− 0 −pi<br />

⎤<br />

⎥<br />

⎥<br />

⎦<br />

v = p × k ⋅Δ + 1− Δ ⋅k<br />

( 0)<br />

{ ki<br />

× }<br />

expA0,0 = I4<br />

i i i i i i<br />

0<br />

ki [ 2,0] −k<br />

i [ 1,0] −k<br />

i [ 2,0] 0<br />

ki [ 0,0]<br />

ki<br />

[ 1,0]<br />

ki<br />

[ 0,0]<br />

0<br />

[ ] = exp ( ) ⋅ q ⋅ Δ<br />

⎡ ⎤<br />

= ⎢ − ⎥<br />

⎢<br />

⎣<br />

⎥<br />

⎦<br />

( { ki<br />

× } )<br />

i −1<br />

0<br />

i R<br />

i i<br />

{ { } ⎡ ( ) ⎤ ⎡ ( ) ⎤}<br />

b = I ⋅ q + k × ⎣1−c q ⋅Δ ⎦+ k ⋅k ⋅⎣q −s q ⋅Δ ⎦ ⋅v<br />

(0) (0) (0)T (0)<br />

i 3 i i i i i i i i i i<br />

( 0)<br />

[ ]<br />

( )<br />

[ ]<br />

( )<br />

[ ]<br />

(0 )<br />

(0 )<br />

{ k × } Δi<br />

vi<br />

⎡ ⎤<br />

A i<br />

i = ⎢ 0 0 0 0 ⎥<br />

⎣ ⎦<br />

(0)<br />

Ai q ⎡<br />

i<br />

exp<br />

( ) { { ki } qi i} b ⎤<br />

e = exp A i<br />

i ⋅ qi<br />

=<br />

× ⋅ Δ<br />

⎢ ⎥<br />

⎣ 0 0 0 1 ⎦<br />

72<br />

( )<br />

expA = expA ⋅exp A ⋅q<br />

NU<br />

i,0 i−1,0 i i<br />

i++<br />

i ≤ n<br />

Input x<br />

x=n+1<br />

NU<br />

DA<br />

DA<br />

T = expA ⋅T<br />

( 0)<br />

n+ 1 0 n,0 n+ 1 0<br />

STOP<br />

Figura 2.12 Algoritmul exponențialelor de matrice în geometria directă


. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

2.2 Algoritmi utilizați în modelarea cinematică directă a structurilor de roboți<br />

Determinarea poziției respectiv a orientării efectorului final este însoțit obligatoriu de studiul. vitezelor și<br />

accelerațiilor, respectiv a traiectoriei de mișcare a robotului. În analiza cinematică se ține cont atât de poziția<br />

și orientarea fiecărei cuple necesară pentru a descrie situarea efectorului final în spațiul de lucru al robotului<br />

cât și de variația vitezelor din cuple pe tot parcursul procesului de lucru, conform [C01] , [N05], [N22].<br />

2.2.1 Algoritmul iterativ<br />

În prima etapă de aplicare a acestui algoritm, pentru i = 1,<br />

se pornește de la realitatea conform căreia<br />

valorile parametrilor cinematici absoluţi ce corespund bazei fixe a structurii mecanice a robotului sunt<br />

0 0 0 0<br />

{ ω0 = 0, ω0<br />

= 0, v0 = 0, vɺ 0 = 0}<br />

ɺ . Pentru stabilirea ecuaţiilor MCD se determină mai întâi parametrii<br />

cinematici (viteze și accelerații liniare și unghiulare) ce definesc mișcarea fiecărui element în raport cu<br />

sistemul de referință fix { 0 } , respectiv sistemul de referință mobil { i } . În cazul în care, i = n , se determină<br />

parametrii cinematici ce caracterizează mişcarea absolută și relativă a efectorului final:<br />

( n) 0 ( n) 0 ( n) 0 ( n) 0<br />

{ ω ; ɺ<br />

n ωn ; vn; vɺ<br />

n } . În aplicarea algoritmului iterativ, dezvoltat în [N05], [N22], se parcurg etapele:<br />

1. Se stabilește modelul geometric direct pentru structura de robot supusă analizei utilizând unul<br />

dintre algoritmii prezentați anterior (Algoritmul matricelor de situare, Algoritmul operatorilor de tip PG,<br />

Algoritmul operatorilor compuși de tip DH, respectiv Algoritmul exponențialelor de matrice).<br />

Rezultatele obținute vor constitui date de intrare în modelarea cinematică directă (MCD).<br />

2. În prima etapă de aplicare a algoritmului se introduc vitezele și accelerațiile liniare și unghiulare<br />

0 0 0 0<br />

corespunzătoare bazei fixe a robotului sunt definite astfel:{ ω0 = 0, ɺ ω0<br />

= 0, v0 = 0, vɺ 0 = 0}<br />

3. Pentru i = 1 → n , se determină vitezele unghiulare și liniare ce definesc mișcarea absolută a<br />

fiecărui element, utilizând expresiile prezentate mai jos:<br />

0<br />

ω = ω + Δ ⋅qɺ ⋅ k = ω + Δ ⋅ [ R] ⋅qɺ ⋅ k ; (2.93)<br />

0 0 0 0 i<br />

i i−1 i i i i−1 i i i i<br />

( − ω − − ) ( )<br />

0 0 0 0<br />

vi = vi 1 + i 1 × pii 1 + 1− Δ i ⋅qi ⋅ ki<br />

73<br />

ɺ ; (2.94)<br />

4. Similar, pentru fiecare cuplă a robotului i = 1 → n , accelerațiile unghiulare și liniare<br />

corespunzătoare, proiectate pe sistemul de referință fix sunt definite astfel:<br />

ɺ 0 0<br />

ω = ɺ ω + Δ ⋅ { ω × qɺ ⋅ i [ R] ⋅ k + qɺɺ ⋅ i [ R] ⋅ k } ; (2.95)<br />

0 0 0 i i<br />

i i−1 i i−1 i i i i<br />

( − ω − − ω − ω − − ) ( ){ ω<br />

}<br />

ɺ ɺ ɺ ɺ ɺɺ ; (2.96)<br />

0 0 0 0 0 0 0 0<br />

vi = vi 1 + i 1 × pii 1 + i 1 × i 1 × pii 1 + 1− Δ i 2⋅ i × qi ⋅ ki + qi ⋅ ki


ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />

5. Pentru i = 1 → n , se determină parametrii cinematici, ce caracterizează mișcarea fiecărui<br />

element, cu proiecții pe sistemul de referință mobil { }<br />

i . Astfel, vitezele unghiulare și liniare se<br />

determină utilizând următoarele expresii:<br />

[ ] [ ]<br />

i 0 T 0 i i 1 i<br />

ωi R ωi R ω<br />

i i 1<br />

i 1 i qi ki<br />

−<br />

= ⋅ = ⋅<br />

−<br />

− + Δ ⋅ ⋅<br />

− − −<br />

[ ] [ ] { − ω − − } ( )<br />

74<br />

ɺ ; (2.97)<br />

i 0 T 0 i i 1 i 1 i 1 i<br />

vi = R ⋅ vi = R ⋅ v<br />

i i 1<br />

i 1 + ⋅ i 1 × pii 1 + 1− Δ i ⋅qi ⋅ k<br />

−<br />

i<br />

ɺ . (2.98)<br />

6. Expresiile accelerațiilor unghiulare și liniare, proiectate pe sistemul de referință mobil { }<br />

i ce<br />

caracterizează mișcarea fiecărui element, i = 1→ n,<br />

sunt definite pe baza expresiilor de mai jos:<br />

{ }<br />

i ɺ 0<br />

[ ] 0 i i<br />

[ ] i−1 [ ] i−1 i i<br />

ω = R ⋅ ɺ ω = R ⋅ ɺ ω + Δ ⋅ R ⋅ ω × qɺ ⋅ k + qɺɺ ⋅ k ; (2.99)<br />

i i i i−1 i−1 i i−1 i−1 i i i i<br />

[ ] − [ ] { −<br />

−<br />

ω −<br />

−<br />

−<br />

−<br />

ω −<br />

−<br />

ω −<br />

−<br />

− }<br />

i i i<br />

+ ( 1− Δ i ) ⋅( 2⋅ ω i × qɺ i ⋅ ki + qɺɺ i ⋅ ki<br />

)<br />

ɺ = ⋅ ɺ = ⋅ ɺ + ɺ × + × × +<br />

i i 0 i i 1 i 1 i 1 i 1 i 1 i 1<br />

vi R vi R vi 1 i 1 p<br />

i 1 i 1<br />

ii 1 i 1 i 1 p<br />

− −<br />

ii 1<br />

(2.100)<br />

7. În ultima etapă a aplicării algoritmului iterativ, pentru i = n , este definită mişcarea absolută a<br />

efectorului final, ținând seama de ecuaţiile de situare respectiv de vitezele şi acceleraţiile liniare şi<br />

unghiulare absolute (vitezele şi acceleraţiile operaţionale).<br />

( n) 0 ( n) 0 T ( n) 0 T<br />

X<br />

ɺ<br />

= ⎡ vn ω ⎤<br />

⎣ n ⎦<br />

T<br />

; (2.101)<br />

T<br />

( n) 0 ( n) 0 T ( n) 0 T<br />

X<br />

ɺɺ<br />

= ⎡ vɺ ɺ<br />

n ω ⎤<br />

⎣ n . (2.102)<br />

⎦<br />

Expresiile (2.101) și (2.102), reprezintă ecuațiile cinematicii directe (MCD) ce caracterizează mișcarea<br />

absolută a efectorului final și care vor fi utilizate ca și date de intrare în modelarea dinamică.<br />

2.2.2 Matricea Jacobiană bazată pe matricele de transfer<br />

Matricea Jacobiană este utilizată în mecanica roboților pentru a realiza transferul vitezelor din<br />

spațiul configurațiilor în spațiul cartezian al mișcării. Această matrice caracterizează o anumită<br />

configurație a robotului în spațiul de lucru. În continuare este prezentat un algoritm de determinare a<br />

componentelor matricei Jacobiene, conform cu [N22], bazat pe metoda matricelor de transfer. În<br />

aplicarea acestui algoritm, datele de intrare sunt reprezentate de ecuațiile modelului geometric direct.<br />

Din modelul geometric direct al structurii de robot supus analizei, se utilizează matricele de transformare<br />

omogenă dintre sistemele { i} →{ i− 1}<br />

, respectiv dintre sistemele { i} → { 0}<br />

, a căror componente au fost


. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

determinate anterior cu unul din algoritmii prezentați în paragraful §2.1.<br />

Etapele care trebuie parcurse în aplicarea algoritmului matricelor de transfer, [N22] sunt următoarele:<br />

1. În prima etapă, din modelul geometric direct se extrag matricele de transformare omogenă<br />

dintre sistemele i → j , notate cu i [ T ] ⎡ ⎣q ( ), k t k = j + 1 → i⎤⎦<br />

j<br />

75<br />

, unde i = 1 → n + 1 și<br />

j = 0 → i − 1 , definite corespunzător cu unul din algoritmii prezentați anterior în cadrul §2.1.<br />

2. Pe baza matricelor definite la pasul anterior, următorul pas constă în definirea matricei de transfer<br />

a vitezelor liniare V ( θ ) , a cărei componente, V i (i = 1 → n ) se determină astfel:<br />

V ( θ ) = V , i = 1 → n ; (2.103)<br />

( 3× n)<br />

∂ p<br />

[ ]<br />

0<br />

unde [ ] i<br />

V = = i R ⋅ k ⋅( p − p )<br />

unde<br />

i<br />

i i i<br />

∂qi<br />

. (2.104)<br />

3. Pentru i = 1 → n , în continuare se determină derivata în raport cu timpul a matricei de<br />

transfer a vitezelor liniare Vɺ ( θ ) . În acest scop, se utilizează următoarea expresie:<br />

Vɺ ( θ ) = ⎡ Vɺ ⎣ i , i = 1 → n ⎤⎦<br />

; (2.105)<br />

( 3× n)<br />

i j<br />

j= 1 ∂qi ⋅∂q<br />

j<br />

2<br />

n p<br />

Vɺ ∂<br />

= ⋅qɺ<br />

, i = 1 → n.<br />

(2.106)<br />

∑<br />

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

unghiulare Ω ( θ ) , având componentele, Ω i , i = 1→ n definite cu expresiile prezentate mai jos:<br />

Ω ( θ ) = Ω , i = 1 → n ; (2.107)<br />

( 3× n)<br />

[ ]<br />

i<br />

unde,<br />

⎧ ∂ 0 0 T 0 { [ ] } [ ] ⎫ [ ] i<br />

Ω i = vect ⎨ n R ⋅ n R ⎬⋅Δ<br />

i = i R ⋅ ki<br />

⋅ Δ i .<br />

⎩∂qi ⎭<br />

(2.108)<br />

5. Derivata în raport cu timpul a matricei de transfer a vitezelor unghiulare Ω( θ ) ɺ , având<br />

unde,<br />

componentele, i Ωɺ (i = 1→ n)<br />

se obține prin derivarea în raport cu timpul a componentelor Ω i , astfel:<br />

Ω ɺ ( θ ) = ⎡ Ω ɺ<br />

⎣ i,<br />

i = 1 → n ⎤⎦<br />

; (2.109)<br />

( 3× n)<br />

n<br />

⎧ ∂ 0 0 T 0<br />

{ [ ] } [ ] ⎫ [ ] i<br />

Ω ɺ<br />

i = ∑vect<br />

n R ⋅ n R ⋅ Δ i = i Rɺ ⎨ ⎬ ⋅ ki<br />

⋅ Δ i . (2.110)<br />

i= 1 ⎩∂qi ⎭<br />

6. Matricea de transfer a accelerațiilor liniare A( θ ) , este definită, astfel:<br />

( )<br />

3xn


ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />

A( θ ) = ⎡V ( θ ) Vɺ<br />

⎣ ( θ ) ⎤⎦<br />

. (2.111)<br />

( 3× n)<br />

unde V ( θ ) , respectiv Vɺ ( θ ) au fost determinate anterior la pasul 3 și 4<br />

7. Matricea de transfer a accelerațiilor unghiulare Ε ( θ ) este definită, cu expresia:<br />

Ε ( θ ) = ⎡⎣ Ω( θ ) Ωɺ<br />

( θ ) ⎤⎦<br />

. (2.112)<br />

( 3× n)<br />

8. Matricea Jacobiană, în raport cu sistemul fix, pentru care se va folosi notația ( ) 0<br />

J ( θ ) , este<br />

definită, utilizând matricele de transfer definite anterior, conform expresiei prezentată mai jos:<br />

( 0) ( ) ⎡ ( ) V1 V2 ... Vn<br />

J<br />

V θ ⎤ ⎡ ⎤<br />

θ =<br />

( 6xn) ⎢ ( θ ) ⎥ = ⎢<br />

1 2 ... ⎥ . (2.113)<br />

⎣Ω ⎦ ⎣Ω Ω Ωn<br />

⎦<br />

9. Derivata în raport cu timpul a matricei Jacobiene, față de sistemul de referință fix,<br />

( 0) Jɺ ( θ ) , se determină cu următoarea expresie matriceală:<br />

( 0) ( ) ⎡ ( ) V1 V2 ... Vn<br />

J<br />

V θ ⎤ ⎡ ɺ ɺ ɺ<br />

ɺ<br />

ɺ<br />

⎤<br />

θ =<br />

( 6xn) ⎢ =<br />

( θ ) ⎥ ⎢<br />

Ω1 Ω2 ... Ω<br />

⎥<br />

⎣Ωɺ ⎦<br />

ɺ ɺ ɺ<br />

. (2.114)<br />

⎣ n ⎦<br />

10. Ecuaţiile matriceale pentru vitezele și acceleraţiile operaţionale, ale efectorului final, proiectate<br />

pe sistemul de referință fix{ }<br />

0 , sunt prezentate în expresiile următoare:<br />

( )<br />

0<br />

0 ɺ ⎡ v ⎤ ⎡ n V θ ⎤ ( 0)<br />

X = ( )<br />

0 = ⋅<br />

ɺ<br />

θ = J θ ⋅<br />

ɺ<br />

⎢ ⎥ ⎢ θ<br />

( 6× 1)<br />

ω ( ) ⎥<br />

; (2.115)<br />

⎣ n ⎦ ⎣Ω θ ⎦<br />

0<br />

0 ⎡ v ⎤ ⎡ ( )<br />

n A θ ⎤ ⎡ ɺɺ<br />

ɺɺ<br />

ɺ<br />

θ ⎤ ( 0) ( ) ( ) 0<br />

X = ( )<br />

0 = ⋅ = J θ ⋅<br />

ɺɺ<br />

⎢ ⎥ θ + Jɺ<br />

θ ⋅<br />

ɺ<br />

⎢ ⎥ ⎢ θ<br />

( 6× 1)<br />

ω ( ) ⎥<br />

⎣ n ⎦ ⎣Ε θ ɺ<br />

; (2.116)<br />

ɺ<br />

⎦ ⎢⎣ θ ⎥⎦<br />

În expresiile (2.115), respectiv (2.116), definite anterior se poate observa că alături de matricea<br />

Jacobiană este implementată de asemenea şi derivata sa în raport cu timpul.<br />

În cazul în care se dorește exprimarea vitezelor și accelerațiilor operaționale în raport cu sistemul<br />

{ }<br />

n se introduce operatorul matriceal, n R care are rolul de a realiza transferul de la un sistem la altul.<br />

( ) ( ) n<br />

n vn<br />

n 0 n<br />

X<br />

ɺ ⎡ ⎤<br />

= = R ⋅ X<br />

ɺ<br />

= J( θ ) ⋅<br />

ɺ n<br />

⎢ θ<br />

n ⎥<br />

, unde ( ) n 0<br />

J θ = R ⋅ J(<br />

θ ) (2.117)<br />

⎣ ωn<br />

⎦<br />

−<br />

[ R] [ 0]<br />

[ 0] [ R]<br />

⎡ ɺ ⎤ ⎡ ⎤ ⎡ ɺ ⎤<br />

⎢ ⎥ ⎢ ⎥ . (2.118)<br />

⎢⎣ ⎥⎦ ⎣ ⎦ ⎢⎣ ⎥⎦<br />

n 0 1<br />

0<br />

n ɺɺ vn v<br />

n<br />

n<br />

X = = ⎢ ⎥<br />

n 0 −1<br />

⋅<br />

ɺ 0<br />

ωn ⎢ ⎥ ɺ ω<br />

n<br />

n<br />

Acceleraţiile operaţionale în sistemul mobil{ n } sunt definite astfel:<br />

76


. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

n 0<br />

n vn n vn<br />

n 0<br />

X<br />

ɺɺ ⎡ ɺ ⎤ ⎡ ɺ ⎤<br />

= ⎢ = R ⋅ = R ⋅ ⎡ J n 0<br />

( θ<br />

ɺ ⎥ ⎢ )<br />

ω ɺ ⎥<br />

n ω ⎣<br />

⎣ ⎦ ⎣ n ⎦<br />

⎡ ɺɺ<br />

0 θ ⎤<br />

Jɺ<br />

( θ ) ⎤<br />

⎦<br />

⋅ ⎢ ⎥ .<br />

⎢ ɺ<br />

⎣θ ⎥⎦<br />

(2.119)<br />

În final, ecuaţiile MCD în raport cu sistemul{ n } , exprimate cu ajutorul matricei Jacobiene, sunt:<br />

n<br />

n ⎡ v ⎤<br />

n<br />

n n<br />

X<br />

ɺ<br />

= = J n ( θ ) ⋅<br />

ɺ n vn<br />

n<br />

⎢ ⎥ θ , X<br />

ɺɺ ⎡ ɺ ⎤<br />

= ⎢ = ⎡ J n ( θ )<br />

⎣ ω<br />

ɺ ⎥<br />

n ⎦<br />

ω ⎣<br />

⎣ n ⎦<br />

⎡ ɺɺ<br />

n θ ⎤<br />

Jɺ<br />

( θ ) ⎤<br />

⎦<br />

⋅ ⎢ ⎥<br />

⎢ ɺ<br />

⎣θ ⎥⎦<br />

(2.120)<br />

Expresiile (2.117) respectiv (2.119) servesc la realizarea transferului matricei Jacobiene din sistemul de<br />

referinţă fix { }<br />

0 în sistemul de referinţă mobil{ }<br />

n , operatorul matriceal de transfer fiind simbolizat n R .<br />

2.2.3 Matricea Jacobiană definită pe baza matricelor diferenţiale<br />

În cadrul acestei secţiuni, în vederea determinării matricei Jacobiene în raport cu sistemul de<br />

referinţă fix şi respectiv mobil se recurge la aplicarea matricelor diferenţiale ale transformărilor omogene,<br />

model și algoritm dezvoltat în cadrul [N22].<br />

► Matricea Jacobiană proiectată pe sistemul fix { }<br />

0 și pe sistemul { }<br />

n .<br />

Fiecare coloană ( 6 × 1)<br />

din componența matricei Jacobiene, dar și a derivatei de ordinul întâi, în raport<br />

cu timpul, exprimate față de sistemele de referinţă{ }<br />

0 şi { }<br />

n se determină cu expresiile:<br />

0<br />

( )<br />

⎡ Ani p ⎤<br />

Ji<br />

= ⎢ 0<br />

[ ] i ⎥ ;<br />

⎢ i R ⋅ ki<br />

⋅ Δ<br />

⎣ i ⎥⎦<br />

0 T ⎡ n[<br />

R] [ 0]<br />

⎤<br />

Ji = R ⋅ Ji = ⎢ 0 T ⎥ ⋅ Ji<br />

; (2.121)<br />

⎢⎣ [ 0] n[<br />

R]<br />

⎥⎦<br />

n n 0 0<br />

n ⎡ ⎤<br />

⎢ ∑ Anij ( p) ⋅q<br />

j ⎥<br />

0<br />

0<br />

j= 1<br />

⎡<br />

Jɺ<br />

⎢ ⎥<br />

[ ] T<br />

n n 0 n R<br />

i = i<br />

; Jɺ i = R ⋅ Jɺ i = ⎢<br />

⎢⎧ ( )<br />

⎫ i ⎥<br />

⎢⎨∑ Aij R ⋅q j ⎬⋅<br />

ki<br />

⋅Δ<br />

⎢ [ ]<br />

i ⎥<br />

⎣ 0<br />

⎣⎩ j= 1 ⎭ ⎦<br />

[ 0]<br />

⎤<br />

0<br />

0 ⎥ ⋅ Jɺ<br />

i .<br />

[ ] T<br />

n R ⎥⎦<br />

(2.122)<br />

unde n R reprezintă operatorul matriceal de transfer între sistemul fix { 0} şi sistemul mobil { n } .<br />

Matricele diferențiale, ale transformărilor omogene, utilizate în definirea matricei Jacobiene se determină:<br />

0 j<br />

0 i<br />

A = [ T ] ⋅U ⋅ [ T ] ; A = [ T ] ⋅U ⋅ [ T ] ; (2.123)<br />

ij j j i<br />

77<br />

ni i i n<br />

0 k j<br />

0 j i<br />

A = [ T ] ⋅U ⋅ [ T ] ⋅U ⋅ [ T ] ; A = [ T ] ⋅U ⋅ [ T ] ⋅U ⋅ [ T ] . (2.124)<br />

ijk k k j j i<br />

nij j j i i n<br />

După cum se poate observa, din expresiile (2.123) respectiv (2.124), definite anterior, matricele<br />

diferențiale de ordinul întâi respectiv de ordinul al doilea rezultă în urma aplicării derivatei parțiale de ordinul<br />

întâi / al doilea asupra matricelor de transformare omogene, utilizând în acest sens un operator matriceal<br />

cunoscut sub denumirea de operatorul Uicker. De aceea, aceste matrice sunt întâlnite în literatura de


ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />

specialitate [N05] și [N22], sub denumirea de matricele diferențiale ale transformărilor omogene.<br />

Operatorul matriceal de derivare parțială Uicker din expresia de definiție a matricelor diferențiale, este:<br />

i<br />

În expresia (2.125), { }<br />

i<br />

U<br />

i<br />

{ } ( )<br />

⎡ i i<br />

kix ⋅Δ i 1− Δi ⋅ k ⎤<br />

= i<br />

⎢ ⎥ . (2.125)<br />

⎣ 0 0 0 0 ⎦<br />

k x reprezintă matricea antisimetrică asociată versorului axei motoare.<br />

2.2.4 Algoritmul Exponenţialelor de Matrice în cinematica directă<br />

În cadrul acestei secţiuni va fi prezentat algoritmul exponenţialelor de matrice din cinematica directă,<br />

dezvoltat în [N22]. Acest algoritm este utilizat în modelarea cinematică a roboților industriali pentru<br />

determinarea matricei Jacobiene (matricea de transfer a vitezelor) și a derivatei acesteia de ordinul întâi în<br />

raport cu timpul. Datele de intrare pentru acest algoritm sunt reprezentate de rezultatele obținute în urma<br />

aplicării algoritmului exponenţialelor de matrice din geometria directă (MEG), prezentat în cadrul §2.1.4,<br />

respectiv de funcţiile exponenţiale din cinematica directă. Etapele principale care trebuie parcurse în<br />

aplicarea algoritmul exponenţialelor de matrice din cinematica directă (MEK), conform [N22] sunt:<br />

1. Prima variantă a algoritmului constă în aplicarea directă a exponenţialei de matrice asupra celor<br />

două componente ale matricei Jacobiene (componenta liniară<br />

( 0)<br />

J ( θ ) ). Astfel, rezultă expresia în formă exponențială a matricei Jacobiene:<br />

iΩ<br />

{ } T<br />

T T<br />

⎣ iv ⎦ ⎣ iΩ<br />

⎦<br />

( 0) ( ) 0 ( ) 0<br />

J θ = ⎡ J θ ⎤ ⎡ J ( θ ) ⎤ { i = 1 → n}<br />

78<br />

( 0)<br />

J ( θ ) și cea unghiulară<br />

iv<br />

; (2.126)<br />

0<br />

Jiv ( θ ) Ani ( p) i−1 ⎧ ( 0) exp ⎨∑{ k j } qj ⎫<br />

j ⎬<br />

( 0) vi n ⎧ ( 0) exp ⎨∑ kk qk ⎫<br />

k ⎬<br />

0<br />

pn<br />

j= 0 k= i<br />

{ } ( )<br />

⎣⎡ ⎦⎤<br />

= = × ⋅Δ ⋅ + × ⋅Δ ⋅ +<br />

⎩ ⎭ ⎩ ⎭<br />

⎧ i−1 n k 1<br />

( 0) ⎫ ( ) ⎧ −<br />

0 ⎪ ⎧ ⎧ ( 0)<br />

⎫ ⎫<br />

+Δi ⋅ exp⎨ { k j × } qj ⋅Δ j ⎬⋅<br />

{ ki × } ⋅ ⎨ ⎨exp ⎨ { km × } qm⋅δ m⎬ ⋅bk<br />

⎬;<br />

⎩ j= 0 ⎭ ⎪⎩ k= i ⎩ ⎩m= i−1 ⎭ ⎭<br />

∑ ∑ ∑ (2.127)<br />

{ } ( )<br />

( )<br />

i 1<br />

0 ( )<br />

( ) 0 0<br />

Ji θ exp<br />

⎧ −<br />

k j q<br />

⎫<br />

⎣<br />

⎡<br />

Ω ⎦<br />

⎤= ⎨ ∑ × j ⋅ Δ j ⎬⋅<br />

ki<br />

⋅Δi<br />

. (2.128)<br />

⎩ j= 0<br />

⎭<br />

2. În această etapă de aplicare a algoritmului MEK, se deschide un ciclu exterior ( i = 1 → n)<br />

.<br />

În cadrul acestui ciclu se introduc următoarele matrice:<br />

{ }<br />

⎧ i−1 ( 0)<br />

⎫<br />

ME ( Vi1 ) = exp⎨ ∑ { k j × } qj<br />

⋅ Δ j ⎬<br />

( 3× 3) ⎩ j= 0<br />

⎭ ; ( 0)<br />

ME ( Vi2 ) = ⎡ I3 Δi ⋅ ki<br />

× ⎤<br />

( 3× 6)<br />

⎢⎣ ⎥<br />

; (2.129)<br />


. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

[ ] [ ]<br />

⎡ I3 0 0 ⎤<br />

⎢ ⎥<br />

ME ( V )<br />

k 1 n<br />

i3 = −<br />

⎢[ ]<br />

( 0)<br />

( 0)<br />

{ ( ) }<br />

0 exp{ { km } qm δm<br />

m} exp{<br />

{ kk } q ⎥ ; (2.130)<br />

6x ⎡9+ 3⋅ n−i ⎤<br />

∑ × ⋅ ⋅Δ ∑ × k ⋅ Δk<br />

⎣ ⎦ ⎢ }<br />

m= i− 1 k= i<br />

⎥<br />

⎣ ⎦<br />

{ { } { } }<br />

unde k = i → n, δ = 0; m = i −1 ; 1; m ≥ i .<br />

ME J<br />

( 6× 6)<br />

m<br />

3. Pentru matricea Jacobiană se mai introduc matricele prezentate mai jos și anume:<br />

{ }<br />

i1<br />

{ i1}<br />

[ ]<br />

[ 0] ME { V }<br />

⎡ME V 0 ⎤<br />

= ⎢ ⎥<br />

⎢⎣ i1 ⎥⎦<br />

; ME { J }<br />

( 6× 9)<br />

i2<br />

{ } [ ]<br />

⎡ME Vi2 0 ⎤<br />

⎡ME Vi3 0 ⎤<br />

= ⎢ ⎥ ; ME<br />

⎢<br />

[ 0] { Ji3}<br />

= ⎢ ⎥ . (2.131)<br />

I<br />

⎣ 3 ⎥<br />

[ ]<br />

⎦ { 9× [ 12+ 3⋅( n−i) ] } ⎢ 0 I<br />

⎣ 3 ⎥⎦<br />

79<br />

{ } [ ]<br />

4. Matricele obținute la pasul anterior, sunt utilizate în continuare pentru a determina elementele<br />

coloanei i a matricei Jacobiene, prin aplicarea următoarei transformări:<br />

( 0)<br />

ME { Ji} 6× 12+ 3⋅( n−i) ME Ji1 ME Ji2 ME Ji3<br />

{ } { } { }<br />

= ⋅ ⋅ . (2.132)<br />

{ [ ] }<br />

5. Matricea ce conține vectorii coloană definiți cu (2.127) la care se mai adaugă și componenta<br />

( 0) T<br />

k Δ ⋅ , este determinată cu expresia de mai jos, după cum urmează:<br />

i i<br />

( 0) T<br />

T ( 0) T ( 0) T<br />

Mivω = ⎡ vi bk ; k i n pn i k ⎤<br />

⎣<br />

⎡⎣ = → ⎤⎦<br />

Δ ⋅ i ⎦<br />

{ ⎡12+ 3⋅( n− i) ⎤ × 1}<br />

⎣ ⎦<br />

6. În cadrul acestei etape se determină matricea Jacobiană , în forma prezentată mai jos:<br />

( )<br />

J ( θ ) = ⎡ J i = 1 → n⎤ = ME { J } ⋅ME { J } ⋅ME { J } ⋅ M = ME J ⋅M<br />

( 6× n) ⎢⎣ ( 6× 1)<br />

⎥⎦<br />

T<br />

{ }<br />

0 0 0<br />

i i1 i2 i3 ivω i ivω<br />

unde matricele { } , { } , { }<br />

ME Ji1 ME Ji2 ME Ji3 respectiv iv<br />

. (2.133)<br />

; (2.134)<br />

M ω au fost definite cu expresiile (2.131) și (2.133)<br />

7. În determinarea operatorului de transfer şi a matricei Jacobiene față de sistemul{ n } , se<br />

consideră (2.88), care aplicată în (2.117) și (2.118) va conduce la următoarea expresie matriceală:<br />

( n) ( ) ( ) ( n ) 0<br />

J θ = ME R ⋅ J(<br />

θ )<br />

{ } [ ]<br />

( )<br />

−1<br />

1<br />

0 ⎧ ( 0)<br />

⎫<br />

( Rn0 ) ⋅e ⎨− ∑ { ki × } qi ⋅ Δ i ⎬<br />

0<br />

⎩ i= n ⎭<br />

0<br />

−1<br />

1<br />

[ ]<br />

( 0) ⎧ ( 0)<br />

⎫<br />

0 ( Rn0 ) ⋅exp ⎨− { ∑ { ki × } qi<br />

⋅Δ i}<br />

⎬<br />

i= n<br />

⎡ ⎤<br />

⎢ ⎥ ; (2.135)<br />

( ) ⎢ ⎥ ⋅ J(<br />

θ )<br />

⎢ ⎥<br />

⎢<br />

⎩ ⎭<br />

⎥<br />

⎣ ⎦<br />

unde ( ) 0<br />

J( θ ) va fi substituită cu expresia (2.134), determinată anterior.<br />

8. Următoarele etape ale aplicării algoritmului sunt consacrate determinării derivatei în raport cu<br />

timpul a matricei Jacobiene. Pentru început, sunt determinate derivatele în raport cu timpul ale


ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />

funcţiilor matriceale. Derivatele funcțiilor matriceale în formă exponențială sunt determinate astfel:<br />

( )<br />

{ j }<br />

d ⎧⎪ ⎧ p 0 ⎫⎫⎪<br />

⎨exp⎨ ∑ k × qj<br />

⋅Δ j ⎬⎬ =<br />

dt ⎪⎩ ⎩ j= l<br />

⎭⎪⎭<br />

; (2.136)<br />

i−1 ⎧ ⎧ j−1 ( 0) ⎫⎫ ( 0) ⎧⎪ ⎧ p ( 0)<br />

⎫⎫⎪<br />

= ∑⎨exp<br />

⎨ ∑ { kk × } qk ⋅δ jk ⋅Δ k ⎬⎬{ k j × } ⋅qɺ j ⋅Δ j ⎨exp⎨ ∑ { km × } qm<br />

⋅δm ⋅Δ m⎬⎬<br />

j= 1⎩<br />

⎩k= 0 ⎭⎭ ⎪⎩ ⎩m= j<br />

⎭⎪⎭<br />

unde, l = 0 → i; p = i −1 → n; δ = { { 0, j > p} ; { 1, j ≤ p}<br />

}<br />

k 1 ( 0<br />

k−1 d ⎧ ⎧ − ) ⎫⎫ ⎧⎪ ⎧ l−1 ( 0) ⎫⎫⎪<br />

( 0) ⎧ ⎧k−1 ( 0)<br />

⎫⎫<br />

⎨exp ⎨ ∑ { km × } qm⋅δm ⋅Δ m⎬⎬ = ∑ ⎨exp ⎨ ∑ { kp × } qp ⋅Δ p⎬⎬{ kl × } qɺ l ⋅Δ l ⎨exp ⎨∑ { kr × } qr<br />

⋅Δr<br />

⎬⎬;<br />

(2.137)<br />

dt ⎩ ⎩m= i− 1 ⎭⎭ l= i−1⎩⎪ ⎩p= i− 1 ⎭⎭⎪<br />

⎩ ⎩r= l ⎭⎭<br />

n<br />

d ⎧ ⎧ n ( 0) ⎫⎫ ⎧ ⎧ k−1 ( 0) ⎫⎫ ( 0) ⎧ ⎧ n ( 0)<br />

⎫⎫<br />

⎨exp⎨ ∑{ kk × } qk ⋅Δ k ⎬⎬ = ∑⎨exp⎨ ∑ { kl × } ql ⋅δl ⋅Δl ⎬⎬⋅ { kk × } qɺ k ⋅Δk ⋅ ⎨exp ⎨ ∑ { km × } qm⋅Δ<br />

m⎬⎬.<br />

(2.138)<br />

dt ⎩ ⎩k= i ⎭⎭ ⎩ ⎩l= i− 1 ⎭⎭ ⎩ ⎩m= k<br />

⎭⎭<br />

k= i<br />

jk<br />

9. Utilizând (2.136) - (2.138), rezultă derivatele în raport cu timpul ale expresiilor (2.131) în forma:<br />

{ ɺ<br />

i1}<br />

[ ]<br />

[ 0] ME { Vɺ<br />

}<br />

{ ɺ } [ ]<br />

⎡ME V<br />

ME { Jɺ<br />

i1}<br />

= ⎢<br />

⎢<br />

⎣<br />

0<br />

i1<br />

⎤<br />

⎡ME Vi2 ⎥ ; ME { Jɺ<br />

i2}<br />

= ⎢<br />

⎥<br />

⎢ [ 0] ⎦<br />

⎣<br />

0 ⎤<br />

⎡ME Vɺ i3<br />

⎥ ; ME { Jɺ<br />

i3}<br />

= ⎢<br />

I3<br />

⎥<br />

⎢ [ 0] ⎦<br />

⎣<br />

0 ⎤<br />

⎥ ; (2.139)<br />

I3<br />

⎥<br />

⎦<br />

unde, ME { Vi1} ɺ se determină conform pasului 8, în forma prezentată mai jos:<br />

d i−1 ( 0)<br />

{ ɺ } exp ∑ { j }<br />

80<br />

{ } [ ]<br />

⎧⎪ ⎧ ⎫⎫⎪<br />

ME Vi1 = ⎨ ⎨ k × qj<br />

⋅Δ j ⎬⎬ =<br />

dt ⎪⎩ ⎩ j= 0<br />

⎭⎪⎭<br />

; (2.140)<br />

i−1 ⎧ ⎧ j−1 ( 0) ⎫⎫ ( 0) ⎧⎪ ⎧ p ( 0)<br />

⎫⎫⎪<br />

= ∑⎨exp<br />

⎨ ∑ { kk × } qk ⋅δ jk ⋅Δ k ⎬⎬{ k j × } qɺ j ⋅Δ j ⋅ ⎨exp⎨ ∑ { km × } qm<br />

⋅δm ⋅Δm<br />

⎬⎬<br />

j= 1⎩<br />

⎩k= 0 ⎭⎭ ⎪⎩ ⎩m= j<br />

⎭⎪⎭<br />

Înlocuind (2.140) în prima expresie a grupului de relații (2.139) se obține:<br />

( ) { k } [ ]<br />

j × qj ⋅Δ j<br />

0<br />

⎡ d ⎧ ⎧ i−1 0 ⎫⎫<br />

⎤<br />

⎢ ⎨exp⎨ ∑<br />

⎬⎬<br />

⎥<br />

⎢dt ⎩ ⎩ j= 0<br />

⎭⎭<br />

⎥<br />

ME { Jɺ<br />

i1}<br />

= ⎢ ⎥ ; (2.141)<br />

d i−1 ⎢ ⎧ ( 0)<br />

[ 0] ⎧ ⎫⎫<br />

exp { k j } q<br />

⎥<br />

⎢ ⎨ ⎨ ∑ × j ⋅Δ j ⎬⎬<br />

dt<br />

⎥<br />

⎩ ⎩ j= 0<br />

⎢ ⎭<br />

⎣<br />

⎭⎥⎦<br />

Aplicând aceeași succesiune de transformări ca și în primul caz dar înlocuind relațiile (2.137) și<br />

(2.138) în derivata expresiei matriceale (2.130), va rezulta:<br />

⎡ I [ ] [ ]<br />

3<br />

0 0<br />

⎤<br />

⎢ ⎥<br />

d k−1 ( 0)<br />

ME { Vɺ ⎢ ⎡ ⎧ ⎧<br />

}<br />

exp { m } ⎫⎫⎤<br />

⎥<br />

m m m<br />

n<br />

i3 = ⎢ k q<br />

d<br />

( 0)<br />

[ 0] ⎢ ⎨ ⎨ ∑ × δ Δ ⎬⎬⎥<br />

⎧ ⎧ ⎫⎫⎥<br />

. (2.142)<br />

⎢ ⎢dt ⎩ ⎩m= i−1 ⎭⎭⎥ ⎨exp⎨ ∑ { kk × } qkΔ<br />

k ⎬⎬<br />

dt<br />

⎥<br />

⎩k= i<br />

⎢ ⎩ ⎭⎭<br />

⎣<br />

⎢ k = i → n ⎦<br />

⎥<br />

⎥<br />

⎢⎣ ⎥⎦<br />

În final, înlocuind (2.142) în a treia relație a sistemului (2.139), se obține expresia pentru ME { Ji3} ɺ .


. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

10. Coloana i a derivatei matricei Jacobiene,<br />

( )<br />

0<br />

( 0)<br />

J = M{ J } ⋅M{ J } ⋅M{ J } ⋅M{<br />

J }<br />

J ɺ poate fi scrisă ca un produs matriceal:<br />

i i1 i2 i3 i4<br />

i<br />

ɺ ɺ ɺ ɺ ɺ . (2.143)<br />

11. Se determină expresiile celor patru matrice din componența coloanei i a matricei Jacobiene:<br />

{ }<br />

{ i1} { i1} { i1} { i1}<br />

⎡ME { J } [ ] [ ]<br />

i2 0 0 ⎤<br />

⎢ ⎥<br />

ɺ [ ] { } [ ]<br />

i2 = ⎢ i2 ⎥ ; { }<br />

⎢ ⎥<br />

[ 0] [ 0] ME { J }<br />

M J 0 ME J 0<br />

⎢ i2 ⎥<br />

⎣ ⎦<br />

M Jɺ = ⎡ ME Jɺ ME J ME J ⎤ ; (2.144)<br />

⎣ ⎦<br />

81<br />

{ } [ ] [ ]<br />

⎡ME Ji3 ⎢<br />

0 0 ⎤<br />

⎥<br />

M Ji3 =<br />

⎢<br />

⎢<br />

⎣<br />

0<br />

[ 0] ME Ji3 [ 0] 0<br />

⎥<br />

ME { Ji3}<br />

⎥<br />

⎦<br />

ɺ ⎢ [ ] { ɺ } [ ] ⎥ ; (2.145)<br />

⎡ ( ) ( ) ( )<br />

T<br />

T<br />

M<br />

⎤ ⎡⎡ 0 T T 0 T 0 ⎤ ⎤<br />

⎢ ivω<br />

⎥ ⎢⎢⎣ vi ⎡⎣ bk ; k = i → n⎤⎦ p { ki<br />

⋅Δ i}<br />

⎥⎦<br />

⎥<br />

⎢ ⎥ ⎢ T ⎥<br />

*<br />

( 0) T T ( 0) T T<br />

M{ Jɺ i4} = ⎢ M ⎥<br />

ivω = ⎢ ⎡<br />

vi bk ; k i n p 0<br />

⎤ ⎥<br />

⎣<br />

⎡⎣ = → ⎤⎦<br />

⎦ . (2.146)<br />

⎢ ⎥ ⎢ ⎥<br />

⎢ ⎥ ⎢ T<br />

T<br />

⎡ T T T ⎤<br />

⎥<br />

⎢ Mɺ<br />

⎥ ⎢<br />

ivω<br />

0 ⎡ ɺ<br />

⎢ bk ; k = i → n⎤ ⎣ ⎦ 0 0 ⎥ ⎥<br />

⎣ ⎦ ⎣ ⎣ ⎦ ⎦<br />

12. Derivata în raport cu timpul a vectorului coloană b k , din expresia (2.146), se determină astfel:<br />

ɺT bk =<br />

( 0) exp { { kk × } qk ⋅Δ k} 0<br />

⋅ vk ⋅ qɺ k =<br />

0<br />

0<br />

R ( kk ; qk ) ⋅Δ k + I3 ⋅( 1− Δk ) ⋅vk ⋅qɺ<br />

k . (2.147)<br />

{ } ( ) ( )<br />

{ } ( )<br />

13. Aplicând expresia de mai jos se obţin elementele fiecărei coloane i a derivatei în raport cu<br />

timpul a matricei Jacobiene, ( 0 i Jɺ ):<br />

{ } { } { } { } { } { }<br />

0<br />

Jɺ i = ME<br />

( i= 1→n) Jɺ i1 ⋅ME Ji2 ⋅ME Ji3 ⋅ Mivω + ME Ji1 ⋅ME Ji2 ⋅ME Jɺ i3<br />

*<br />

⋅ Mivω<br />

+<br />

+ ME { J } ⋅ME { J } ⋅ME { J } ⋅Mɺ<br />

ω .<br />

i1 i2 i3 iv<br />

(2.148)<br />

14. Derivata în raport cu timpul a matricei Jacobiene cu proiecții pe sistemul { n } se determină<br />

conform expresiei (2.117) prin aplicarea operatorului matriceal n R , scris în formă exponențială:<br />

( ) ( ) ( ) ( )<br />

Jɺ θ = ME R ⋅ Jɺ<br />

θ ; (2.149)<br />

n n 0<br />

Operatorul matriceal ( n<br />

ME R) ce realizează transferul de la sistemul{ 0} la sistemul{ n} este definit astfel: .<br />

{ } [ ]<br />

⎡ −1<br />

1<br />

( 0) ( 0)<br />

⎢ { Rn0 } ⋅∏ exp − { ki × } qi ⋅Δ i<br />

( n )<br />

i= n<br />

ME R = ⎢<br />

⎢<br />

⎢ [ 0] ⎢⎣ ⎤<br />

0<br />

⎥<br />

⎥<br />

1 1<br />

.<br />

−<br />

( 0) ( 0)<br />

⎥<br />

{ Rn0 } ⋅∏ exp { − { ki × } qi<br />

⋅Δ i}<br />

⎥<br />

i= n<br />

⎥⎦<br />

(2.150)<br />

În expresia (2.149), ( ) 0<br />

Jɺ ( θ ) este cunoscut, fiind determinat luând în considerare (2.148), astfel:<br />

( 0) ( ) ( ) 0<br />

Jɺ θ = ⎡ Jɺ ⎣ i i = 1 → n⎤<br />

⎦ . (2.151)<br />

15. Ţinând seama de 7 şi 14, ecuaţia matriceală de transfer din sistemul fix { 0} în sistemul mobil { n } a


ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />

matricei Jacobiene şi a derivatei sale în raport cu timpul poate fi scrisă în forma:<br />

⎡ n ( ) { n } [ ] 0<br />

J θ ⎤ ⎡ME R 0 ⎤ ⎡ J ( θ ) ⎤<br />

⎢ ⎥ ⎢ ⎥<br />

=<br />

⎢ ⎥<br />

n ( )<br />

⎢<br />

[ ] { n ⎥<br />

⋅ . (2.152)<br />

⎢ } 0<br />

Jɺ ⎥ ⎢<br />

θ 0 ME R Jɺ<br />

( θ ) ⎥<br />

⎢⎣ ⎥⎦ ⎢<br />

⎣<br />

⎥<br />

⎦ ⎢⎣ ⎥⎦<br />

16. Se determină matricele diferenţiale de ordinul întâi şi doi, în formă exponențială,<br />

corespunzătoare transformărilor de situare utilizând expresiile prezentate mai jos:<br />

unde<br />

⎧ i−1 k<br />

⎪ ⎪⎧ ⎪⎪ ⎫⎫ ⎪⎧ ⎪⎧ ⎪⎪ ⎫⎫<br />

( 0)<br />

Aki = ⎨exp⎨ Aj ⋅q j ⎬⎬⋅ Ai ⋅⎨exp ⎨ Al ⋅ql ⎬⎬⋅Tk0<br />

⎪⎩ ⎪⎩ j= 0 ⎪⎭ ⎪⎭ ⎪⎩ ⎪⎩ l= i ⎪⎭<br />

⎪⎭<br />

A<br />

i<br />

∑ ∑ ; (2.153)<br />

i i i<br />

{ k ⋅Δ × } { p × } k ⋅Δ + k ⋅( 1−<br />

Δ )<br />

Matricele diferenţiale de ordinul doi sunt definite astfel:<br />

⎡ ⎤<br />

i i i i i i i<br />

= ⎢ ⎥ ; (2.154)<br />

⎢⎣ 0 0 0 0 ⎥⎦<br />

m−1 j−1 k<br />

⎪⎧ ⎪⎧ ⎪⎪ ⎫⎫<br />

⎪⎧ ⎪⎧ ⎪⎫ ⎪⎧ ⎪⎪ ⎫⎫<br />

( 0)<br />

Akjm = ⎨exp⎨∑ Al ⋅ql ⎬⎬⋅ Am ⋅⎨exp ⎨∑ Ai ⋅qi ⎬⋅ Ai ⋅exp ⎨∑ Ap ⋅qp ⎬⎬⋅Tk0<br />

;<br />

⎩⎪ ⎩⎪ l= 0 ⎭⎪ ⎭⎪ ⎩⎪ ⎩⎪ i= m ⎭⎪<br />

⎩⎪ p= i ⎭⎪<br />

⎭⎪<br />

(2.155)<br />

unde,<br />

⎡ i−1 ( 0) ⎧ i− 1 ⎫ ⎢∏exp{ { k j × } qj ⋅Δ j} exp⎨<br />

∑ Aj ⋅ qj<br />

⎬= ⎢ j= 0<br />

⎩ j= 0 ⎭ ⎢<br />

⎣<br />

0 0 0<br />

i−1 ⎧ i−1 ⎪ ( 0)<br />

⎫⎪<br />

⎤<br />

∑ ⎨∏exp{ − { kk × } qk ⋅Δ k} ⎬ ⋅ bj+<br />

1⎥<br />

j= 0 ⎪⎩ k= 0<br />

⎪⎭<br />

⎥<br />

1<br />

⎥<br />

⎦<br />

. (2.156)<br />

17. Pentru calculul vitezelor şi acceleraţiilor unghiulare absolute, pe sistemul { i } , corespunzătoare<br />

fiecărui element cinetic i = 1 → n al robotului, se utilizează următoarele expresii:<br />

i<br />

i 0 −1<br />

( ) [ ] 0<br />

ωi<br />

= i R ⋅∑ J jΩ ⋅qɺ<br />

j ; (2.157)<br />

j= 1<br />

i<br />

i 0 −1<br />

⎧ ⎫<br />

ɺ ⎪ 0 0 ⎪<br />

ω i =<br />

i [ R] ⋅⎨∑ ( J jΩ ⋅ qɺɺ j + Jɺ jΩ ⋅qɺ<br />

j ) ⎬ . (2.158)<br />

⎪⎩ j= 1<br />

⎪⎭<br />

18. Ecuaţiile de mai sus includ vitezele şi acceleraţiile generalizate ale axelor motoare:<br />

{ { ⎣ ⎦ } { ⎣ ⎦ } }<br />

{ ⎡q j , j 1 i⎤ qk 0, k i 1 n ; i n} ; { ⎡qj , j 1 i n⎤<br />

}<br />

ɺ ( i) T<br />

⎡qɺ j ; j 1 i⎤ [ qɺ k 0; k i 1 n] ; i n ; ⎡qɺ j ; j 1 i n⎤<br />

; (2.159)<br />

θ = = → = = + → < = → =<br />

{ ⎣ ⎦ ⎣ ⎦ }<br />

ɺɺ<br />

θ = ɺɺ = → ɺɺ = = + → < ɺɺ = → = . (2.160)<br />

( i) T<br />

[ ]<br />

19. Ţinând seama de pasul 16, vitezele şi acceleraţiile unghiulare absolute, pe sistemul fix { }<br />

0 pot<br />

fi definite cu ajutorul funcţiilor exponenţiale, după cum se observă din expresiile scrise mai jos:<br />

⎧ ⎧ ⎫⎫<br />

∑ ∑ ɺ ; (2.161)<br />

⎪⎩ ⎩ ⎭⎪⎭<br />

i j−1 0 ⎪ ⎪ ( 0) ⎪⎪ ( 0)<br />

ωi<br />

= ⎨exp ⎨ { kk × } ⋅qk ⋅ Δ k ⎬⎬ ⋅k j ⋅q j ⋅ Δ j<br />

j= 1 ⎪k = 1<br />

⎪<br />

( )<br />

{ M exp{ V } q M exp{<br />

Vɺ } q } k<br />

i<br />

0<br />

ωi<br />

= ∑<br />

j= 1<br />

j1 ⋅ j + j1 ⋅ j ⋅<br />

0<br />

j ⋅ Δ j<br />

ɺ ɺɺ ɺ ; (2.162)<br />

20. Vitezele şi acceleraţiile liniare ale originii O i , corespunzătoare fiecărui element cinetic ( i ) , se<br />

82


. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

determină cu ajutorul funcţiilor exponenţiale, după cum rezultă din expresiile de mai jos, astfel:<br />

unde<br />

i<br />

{ } { } { }<br />

0<br />

vi = ∑ Mexp J j1 ⋅M exp J j2 ⋅M exp J j3 ⋅M jv ⋅qɺ<br />

j ; (2.163)<br />

j= 1<br />

83<br />

{ }<br />

i<br />

0<br />

vi = ∑ { Mexp{ J j1} ⋅M exp{ J j2} ⋅M exp{<br />

J j3} ⋅M jv ⋅ q j} i<br />

+ ∑<br />

( 0)<br />

Jiv ⋅q<br />

j<br />

j= 1 j= 1<br />

ɺ<br />

ɺ ɺɺ ɺ (2.164)<br />

{ } { } { } { } { } { }<br />

+ Mexp{ J j1} ⋅M exp{ J j2} ⋅M exp { J j3} ⋅Mɺ<br />

jv .<br />

ɺ = ɺ ⋅ ⋅ ⋅ + ⋅ ⋅ ɺ ⋅ +<br />

(2.165)<br />

( 0)<br />

*<br />

Jiv Mexp J j1 Mexp J j2 Mexp J j3 Mjv Mexp J j1 Mexp J j2 Mexp J j3 Mjv<br />

⎧ −1<br />

1 I<br />

⎪ ( 0) ⎪⎧ ⎪⎧ ( 0)<br />

⎪⎪⎪ ⎫⎫⎫ ⎪⎧ ⎪⎫<br />

vi = ⎨{ Ri0 } exp⎨−<br />

⎨∑{ k j × } qjΔ j ⎬⎬⎬⋅ ⎨∑ ME { J j1} ⋅ME { J j2} ⋅ME { J j3} ⋅M jv ⋅qɺ<br />

j ⎬ ; (2.166)<br />

⎪⎩ ⎪⎩ ⎪⎩ j= i ⎪⎭ ⎪⎪ ⎭⎭<br />

⎪⎩ J= 1<br />

⎪⎭<br />

i<br />

i ⎧ 1<br />

0 1 ( ) ( )<br />

( )<br />

−1<br />

⎧<br />

−<br />

⎧ ( ) ⎫⎫⎫<br />

vɺ ⎧<br />

i [ ] ⎪ ⎫⎪ ⎪ ⎪ ⎪ ⎪⎪⎪<br />

i = R ⋅⎨∑ ( J jv ⋅ qɺɺ j + Jɺ jv ⋅ qɺ j ) = ⎨{ Ri0 } exp⎨−<br />

⎨ { k j × } ⋅q j ⋅Δ j ⎬⎬⎬⋅<br />

vɺ<br />

⎬<br />

∑<br />

i . (2.167)<br />

⎪⎩ j= 1 ⎪⎭ ⎩⎪ ⎪⎩ ⎪⎩ j= i<br />

⎪⎭<br />

⎪⎪ ⎭⎭<br />

i 0 0 0 0 0<br />

21. În vederea determinării ecuaţiilor cinematicii directe (MCD) (vitezele şi acceleraţiile operaţionale),<br />

se utilizează ecuațiile de mai jos, în care matricea Jacobiană și derivata acesteia în raport cu sistemul fix<br />

{ }<br />

0 / în raport cu sistemul { }<br />

n sunt exprimate cu funcții exponențiale:<br />

⎡ ⎤<br />

T<br />

⎡ ( n) 0 T ( n) 0 T<br />

( )<br />

[ ] ( n) 0<br />

n n<br />

( )<br />

n 0 v ω ⎤ ⎡ 0 J θ ⎤<br />

⎡ ɺ ⎢ ⎥<br />

⎡ ɺɺ<br />

⎤ θ ⎤<br />

⎣ ⎦ ⎢ ⎥ ⎢ ⎥<br />

X<br />

⎢ ⎥ = ⎢ ⎥ =<br />

( )<br />

T ⎢ ⎥ ⋅<br />

n 0<br />

⎢ ⎥ . (2.168)<br />

⎢ ɺɺ<br />

X ⎥ ⎢ ( n) 0 T ( n) 0 T ⎥ ( n) 0 ( ) ( n) 0<br />

⎣ ⎦ ⎡ vɺ ( )<br />

n ω ⎤ ⎢<br />

n J θ J θ ⎥<br />

⎢<br />

ɺ<br />

⎥<br />

ɺ ɺ<br />

⎢ θ ⎥<br />

⎣ ⎦ ⎢⎣ ⎥⎦<br />

⎣ ⎦<br />

⎣ ⎦<br />

În continuare este prezentată schema logică pentru algoritmul exponențialelor de matrice în cinematica<br />

directă. Similar cu schemele logice prezentate anterior și aceasta va fi utilizată pentru realizarea unui<br />

program de determinare a modelului cinematic direct pentru orice structură de robot serial.<br />

Observaţii: Algoritmul exponenţialelor de matrice utilizat în modelarea geometrică și cinematică a structurilor<br />

de roboți seriali prezintă o serie de avantaje dintre care cele mai importante sunt date de forma compactă,<br />

vizualizarea geometrică simplă a funcţiilor precum şi de faptul că determinarea acestora nu depinde de<br />

sistemele de referinţă atașate în originea fiecărui element cinetic. Exponenţialele de matrice au un rol esenţial,<br />

în analiza geometriei şi cinematicii directe, a funcţiilor de comandă geometrică, cinematică şi dinamică, dar şi<br />

a preciziei cinematice şi dinamice. Formalismul bazat pe exponenţiale de matrice, poate utilizat pentru<br />

evaluarea performanţelor oricărei structuri de robot, indiferent de nivelul de complexitate al acesteia.


ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />

{ { } }<br />

i−1 ( 0)<br />

ME ( Vi1 ) = exp ∑ k j × q j ⋅Δ j ;<br />

( 3× 3) ( )<br />

j= 0<br />

( ) ( 0<br />

ME V )<br />

i2 = ⎡ I3 i k ⎤<br />

3× 6 ⎣<br />

Δ ⋅ i × ⎦<br />

[ ] [ ]<br />

84<br />

{ }<br />

⎡ I 0 0 ⎤<br />

⎢ ⎥<br />

⎢ { }<br />

⎥<br />

=<br />

⎢ { } ⎥<br />

⎢ ⎥<br />

⎢⎣ ⎥⎦<br />

3<br />

ME ( Vi3<br />

)<br />

{ 6x ⎡⎣ 9+ 3⋅( n−i ) ⎤⎦<br />

} [ 0] ⎧ k−1 ⎡ ( 0)<br />

exp { km } qm<br />

δ<br />

⎤ ⎫<br />

⎪ ⎢ ∑ × ⋅ m ⋅Δ m<br />

m= i−1 ⎥ ⎪<br />

⎨ ⎢ unde k = i → n ⎥ ⎬<br />

⎪<br />

⎣ ⎦<br />

⎪<br />

⎩<br />

iar δm<br />

= { { 0; m = i −1 } ; { 1; m ≥ i}<br />

} ⎭<br />

n<br />

( 0)<br />

exp ∑{<br />

kk × } qk<br />

⋅Δ k<br />

k= i<br />

ME J<br />

(6× 6 )<br />

{ }<br />

i1<br />

{ i1}<br />

[ ]<br />

[ 0] ME { V }<br />

⎡ME V 0 ⎤<br />

= ⎢ ⎥<br />

{ }<br />

⎣ i1 ⎦<br />

ME J<br />

(6× 9 )<br />

{ }<br />

i2<br />

{ } [ ]<br />

[ ] i2<br />

0 I<br />

⎡ME V 0 ⎤<br />

= ⎢ ⎥<br />

⎣ 3 ⎦<br />

⎡ ⎤<br />

⎢⎣ ⎥⎦<br />

( 0) T<br />

T ( 0) T ( 0) T<br />

Mivω = v ⎡ i ⎣<br />

b k ; k = i → n⎤ ⎦<br />

pn Δi ⋅k<br />

i<br />

{ ⎡⎣ 12+ 3⋅( n− i) ⎤⎦<br />

× 1}<br />

{ } { } { }<br />

J = ME J ⋅ME J ⋅ME J ⋅M<br />

ω<br />

0<br />

i<br />

( 6× 1)<br />

i1 i2 i3 iv<br />

( )<br />

{ } ∑<br />

{ } [ ]<br />

{ }<br />

{ [ ] } [ ] i3 ⎡ME V 0 ⎤<br />

ME Ji3<br />

= ⎢ 0 I ⎥<br />

9× 12+ 3 ⋅(n− i ) ⎣ 3 ⎦<br />

i−1 j−1 i−1 ( 0) { } ( 0) 0<br />

k k jk k m q<br />

ME Vɺ ⎧ ⎫ ⎧ ⎫<br />

k q δ ⋅<br />

k x ⋅ m⋅δ m⋅Δ ⎧ > − ⎫<br />

m<br />

i1 = × ⋅ ⋅ ⋅Δ ∑⎨<br />

∑ ⎬ k j × q ɺ j ⋅Δ j ⎨ ⎬; δ jk = ⎨<br />

k= 0<br />

m= j<br />

1; j i 1<br />

⎬<br />

j= 1 ⎩e ⎭ ⎩e ⎭ ⎩ ≤ − ⎭<br />

[ 0] [ 0]<br />

T<br />

{ } { 0; j i 1}<br />

{ }<br />

d k−1 ( 0)<br />

{ exp { ∑ { km × } qmδ<br />

mΔ m } =<br />

dt m= i−1 k−1 ∑<br />

l= i−1 l−1 ( 0) exp { ∑ { k p<br />

p= i− 1 } qpδ p p} ( 0) { kl } qɺ lδ l<br />

k−1 ( 0)<br />

l { exp { ∑{<br />

k r<br />

r= l } q r r } ; δ p<br />

{ }<br />

; δl<br />

⎧⎡ I<br />

⎫<br />

3<br />

⎤<br />

⎪ ⎪⎢ ⎡ d k−1<br />

( 0)<br />

⎥⎪<br />

ME n<br />

{ Vɺ ⎤<br />

⎪<br />

}<br />

( )<br />

i = ⎨⎢[ ] { { ∑ { km × } qmδ<br />

mΔm} d<br />

0<br />

3 ⎢ exp<br />

0 dt<br />

} ⎥ m= i− { { { kk × } q<br />

⎥⎬<br />

kΔ ⎪⎢ 1<br />

exp ∑<br />

k<br />

⎢ dt<br />

}<br />

k= i<br />

⎥⎪<br />

k = i → n ⎥<br />

⎪⎩ ⎢⎣ ⎣ ⎦<br />

⎥⎦<br />

⎪⎭<br />

{ }<br />

{ }<br />

⎧ ⎫ ⎧⎪ 0;p > i − 1 ⎫⎪ ⎧⎪ 0;l > i −1<br />

⎫⎪<br />

= ⎨ × Δ ⎬ × Δ × Δ = ⎨ ⎬ = ⎨ ⎬<br />

⎩ ⎭ ⎪⎩ { 1; p ≤ i −1} ⎪⎭ ⎪⎩ 1; l ≤ i −1<br />

⎪⎭<br />

d 5 ( 0)<br />

{ exp{ ∑{<br />

kk × } qkΔ<br />

k<br />

dt<br />

} =<br />

k= i<br />

5 k−1 ( 0) ( 0) n ( 0)<br />

∑{<br />

{ ∑ { l } lδl l } { k } ɺk<br />

k ∑ { m } m m<br />

k= i l= i− 1 m= k<br />

{ { }<br />

= exp k × q Δ ⋅ k × q Δ exp k × q Δ .<br />

Figura 2.13 Algoritmul exponențialelor de matrice în cinematica directă (MEK, prima parte)


. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

ɺ<br />

b<br />

T<br />

k<br />

{ ɺ<br />

i1}<br />

ME J<br />

{ ɺ<br />

i1}<br />

[ 0]<br />

[ 0]<br />

ME { Vɺ<br />

i1}<br />

⎡ME V<br />

⎤<br />

= ⎢ ⎥<br />

⎢⎣ ⎥⎦<br />

1<br />

85<br />

ME<br />

{ } { Vɺ<br />

ɺ 3}<br />

[ 0]<br />

i3<br />

ME J<br />

[ ] i<br />

⎡ ⎤<br />

= ⎢ ⎥<br />

⎣ 0 I3<br />

⎦<br />

( ) T<br />

*<br />

T ( ) T T<br />

M ⎡ 0 0<br />

ivω = v ⎡ i bk k = i → n⎤ p ⎤<br />

⎢⎣ ⎣<br />

;<br />

⎦<br />

0<br />

⎥⎦<br />

2<br />

⎧ ( 0) ( 0) ( 0)<br />

⎫<br />

{ I + { kk × } s( qk ⋅Δ k ) + { kk × } ⎡ −c ( qk ⋅Δ ) ⎤ k } ⋅vk ⋅qɺ<br />

⎪ 3<br />

⎣<br />

1<br />

⎦<br />

k ⎪<br />

= ⎨ ( 0) ⎬<br />

( 0) ( 0) ( 0)<br />

⎪{ exp { { kk × } qk ⋅Δ k} } vk qɺ k = { R( kk ; qk ) ⋅Δ k + I ⋅( − Δk ) } ⋅vk ⋅qɺ<br />

3 1<br />

k ⎪<br />

⎩ ⎭<br />

⎡ T<br />

Mɺ ivω = ⎢0 ⎣<br />

T<br />

⎡ ɺ<br />

bk k = i → n⎤<br />

⎢<br />

;<br />

⎣ ⎥⎦<br />

T<br />

0<br />

T<br />

T ⎤<br />

0 ⎥<br />

⎦<br />

Jɺ<br />

0<br />

i<br />

( i= 1→n) { ɺ } { } { } { } { } { ɺ }<br />

⎧ *<br />

ME Ji1 ME Ji2 ME Ji3 Miv ME Ji1 ME Ji2 ME Ji3 M ⎫<br />

⎪<br />

⋅ ⋅ ⋅ ω + ⋅ ⋅ ⋅ ivω<br />

+<br />

⎪<br />

= ⎨ ⎬<br />

⎪ + ME J ⋅ME J ⋅ME J ⋅Mɺ<br />

⎪<br />

{ } { } { }<br />

⎩ i1 i2 i3 ivω<br />

⎭<br />

⎡ J ⎤<br />

≡ ⎢ ⎥<br />

⎢⎣ ( i = → n)<br />

⎥⎦<br />

0<br />

0<br />

J ( θ )<br />

( 6×<br />

n)<br />

i<br />

( 6× 1)<br />

1<br />

i++<br />

DA<br />

i ≤ n 2<br />

NU<br />

⎡ Jɺ<br />

⎤<br />

≡ ⎢ ⎥<br />

⎢<br />

⎣( i = → n)<br />

⎥<br />

⎦<br />

0<br />

0<br />

i<br />

Jɺ<br />

( θ ) ( 6× 1)<br />

( 6× n)<br />

1<br />

Algoritmul de determinare orientare<br />

0 ɺ 0<br />

X = J ( θ ) ⋅<br />

ɺ<br />

θ<br />

ɺɺ<br />

X = J ( θ ) ⋅<br />

ɺɺ<br />

θ + Jɺ<br />

( θ ) ⋅<br />

ɺ<br />

θ<br />

0 0 0<br />

STOP<br />

Figura 2.14 Algoritmul exponențialelor de matrice în cinematica directă (MEK, continuare)<br />

T


ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />

2.3 Algoritmi utilizați în modelarea dinamică a roboților industriali<br />

2.3.1 Algoritmul proprietăților de distribuție a maselor<br />

86<br />

În cadrul acestui paragraf sunt prezentate<br />

succint aspecte cu privire la proprietăţile<br />

(parametrii) distribuţiei maselor (DM).<br />

În conformitate cu [N05] - [N22], acești<br />

parametri sunt următorii: masa rigidului, poziţia<br />

centrului maselor, tensorul inerţial şi tensorul<br />

pseudoinerţial. În continuare se prezintă etapele<br />

care trebuie parcurse în stabilirea proprietăților<br />

de distribuție a maselor, etape care au fost<br />

incluse în cadrul algoritmului dezvoltat în [N22].<br />

1. Pentru i = 1→ n,<br />

structura de robot<br />

supusă analizei este modelată geometric și cinematic utilizând unul dintre algoritmii prezentați<br />

în paragrafele §2.1 respectiv §2.2. Modelul geometric și cinematic vor constitui date de intrare<br />

în algoritmul de determinare a proprietăților de distribuție a maselor.<br />

2. În cadrul următorului pas, fiecare ansamblu cinetic, i = 1→ n se divizează într-un număr finit<br />

j = 1→ pi<br />

de elemente cu formă geometrică simplă și regulată (vezi Figura 2.6). Pentru fiecare dintre<br />

aceste elemente se cunosc: masa m j , orientarea sistemelor { } j poziționate în centrul de masă C j al<br />

fiecărui element j = 1→ pi<br />

, poziția centrului de masă în raport cu sistemul propriu j<br />

r respectiv<br />

tensorii inerțiali<br />

j * j *<br />

j , pj<br />

I I și cel pseudoinerțial<br />

j *<br />

psj<br />

I , determinați în raport cu centrul de masă.<br />

În conformitate cu [N21], elementele tensorului inerțial, axial – centrifugal<br />

centrifugal<br />

( dm)<br />

j *<br />

pj<br />

i<br />

rj i<br />

rCj 0<br />

rj<br />

{ i}<br />

r<br />

j<br />

0<br />

i<br />

r<br />

j<br />

elementul j<br />

m ; v ; ω<br />

( j Cj j )<br />

C<br />

j<br />

{ i * }<br />

r<br />

0<br />

Cj<br />

{ 0}<br />

{ j}<br />

Figura 2.15 Proprietățile de distribuție a maselor<br />

j *<br />

j<br />

C j<br />

I respectiv planar<br />

I , pentru fiecare element j = 1 → pi<br />

, în raport cu centrul de masă se determină astfel:<br />

⎡ ⎤<br />

⎢ ⎥<br />

∫ ⎢ ⎥ ; (2.169)<br />

⎢ ⎥<br />

⎣ ⎦<br />

j *<br />

Ij =<br />

j *<br />

Ix j j<br />

T<br />

j * ( rjx ) ⋅( rjx ) ⋅ dm = − Iyx j *<br />

− Ixy j *<br />

Iy j *<br />

− Ixz<br />

j *<br />

− Iyz<br />

j *<br />

− Izx j *<br />

Izy j *<br />

− Iz<br />

j * ⎡ Ixx j * j j<br />

T ⎢ j *<br />

Ipj = ∫ ( rj ) ⋅( rj ) ⋅ dm = ⎢ Iyx ⎢ j *<br />

⎣<br />

Izx j *<br />

Ixy j *<br />

Iyy j *<br />

Izy j *<br />

I ⎤ xz<br />

j * ⎥<br />

Iyz<br />

⎥ .<br />

j *<br />

I ⎥<br />

zz ⎦<br />

(2.170)<br />

3. Pentru structura de robot supusă analizei se presupune că modelul geometric direct a fost


. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

Nr.<br />

crt.<br />

realizat, utilizând unul dintre algoritmii prezentați anterior. Astfel, din modelul geometric direct se<br />

{ i i<br />

}<br />

i−1 0<br />

apelează următoarele matrice: [ T ] , [ T ] , i = 1 → n .<br />

4. Pentru i 1 n<br />

= → și j 1 pi<br />

= → , în centrul geometric O j ≡ C j aparținând fiecărui element<br />

geometric simplu, se atașează un sistem de referință { j } a cărui orientare este identică cu cea<br />

sistemului atașat în centrul de masă a elementului ( i ) .<br />

5. Se cunosc: { mj ;<br />

j<br />

rC j<br />

= 0; j<br />

Ij}<br />

. Se determină vectorul i<br />

{ j } în raport cu sistemul { }<br />

87<br />

r care definește poziția sistemului<br />

i . De asemenea, se determină momentul de inerție i<br />

I :<br />

{ }{ } T<br />

i i i<br />

IC m<br />

j j rC r<br />

j C j<br />

C j<br />

= ⋅ × × . (2.171)<br />

6. Tensorul inerțial calculat în raport cu sistemul { }<br />

i are următoarea expresie:<br />

i<br />

[ ] ∗ i T<br />

I = I + I = I + R ⋅ I ⋅ [ R]<br />

(2.172)<br />

i i j i j<br />

j C j j C j<br />

j j j<br />

7. Pentru fiecare element i = 1 → n se determină parametrii distribuției maselor care vor fi utilizați<br />

în continuare în cadrul modelării dinamice directe și inverse.<br />

Parametrii distribuției maselor (simbol/denumire) Expresia de calcul<br />

1. Masa elementului ( i )<br />

i M<br />

2.<br />

2.<br />

4.<br />

Vectorul de poziție al centrului de masă al<br />

elementului ( i) proiectat pe sistemul { i }<br />

Vectorul de poziție al centrului de masă al<br />

elementului ( i) proiectat pe sistemul { 0 }<br />

Tensorului inerțial axial – centrifugal<br />

în raport cu centrul de masă<br />

5. Tensorul inerțial planar – centrifugal<br />

6. Tensorul pseudoinerțial<br />

i<br />

I psi<br />

i<br />

r Ci<br />

0 Ci<br />

p i<br />

∑<br />

C j<br />

M = σ ⋅m<br />

i j j<br />

j= 1<br />

pi i<br />

∑σ<br />

j ⋅mj ⋅ rC<br />

j<br />

i j= 1<br />

rC<br />

=<br />

i pi<br />

∑<br />

j= 1<br />

σ ⋅m<br />

j j<br />

Ci 0<br />

i Ci<br />

0<br />

r [ ] i<br />

r = T ⋅ r<br />

i<br />

Ii ∗<br />

i<br />

I pi<br />

i i i<br />

Ii Ii ICi<br />

∗ = − ;<br />

Tabelul 2.13<br />

pi i i<br />

Ii = ∑ σ j ⋅ IC<br />

j<br />

j= 1<br />

{ }{ } T<br />

i i i<br />

IC M<br />

i i rC r<br />

i Ci<br />

= ⋅ × ×<br />

∗ { j }<br />

pi i<br />

Ipi = ∑ σ j ⋅<br />

j= 1<br />

i<br />

IpC i<br />

+ Ipj<br />

∫<br />

i j j T<br />

pC j C j C j<br />

I = r ⋅ r ⋅dm<br />

⎡ ⎤<br />

= ⎢ ⎥<br />

⎢ ⎥<br />

⎢⎣ ⎥⎦<br />

i i<br />

Ipi Mi ⋅ rC<br />

i i<br />

Ipsi<br />

i T<br />

Mi ⋅ rC M<br />

i i<br />

;<br />

;


ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />

2.3.2 Algoritmul forțelor generalizate în dinamica structurilor de roboți seriali<br />

Structura mecanică a oricărui robot utilizat în cadrul unei aplicații este supusă acțiunii externe a unui<br />

sistem de forțe active, aplicate din exterior și care poate influența precizia cinematică și dinamică a acestuia.<br />

Prin transformări matriceale și diferențiale se obțin forțele generalizate statice din fiecare axă<br />

motoare necesare pentru menținerea structurii mecanice a robotului în echilibru static (forțele și<br />

momentele de legătură), forțele generalizate active datorate acțiunii sarcinilor gravitaționale Q ( ) g θ ,<br />

forța generalizată de manipulare aplicată la nivelul efectorului final Q ( ) SU θ , forțele generalizate<br />

motoare Q ( ) m θ , forțele generalizate de inerție și forțele generalizate de frecare Q ( ) fd θ . În<br />

continuare, este prezentat un algoritm generalizat de determinare a acestor forțe generalizate, dezvoltat<br />

în cadrul lucrării [N22]. Pentru determinarea forțelor generalizate ale dinamicii este necesar ca modelul<br />

geometric, cinematic precum și distribuția maselor să fie realizate în prealabil. Acestea vor constitui,<br />

date de intrare în cadrul algoritmului generalizat al dinamicii ai cărui pași sunt prezentați în continuare:<br />

1. Pentru i = 1 → n + 1 din modelul geometric direct se utilizează următoarele rezultate:<br />

j<br />

i<br />

[ ] ( ), ,<br />

T ⎡ q t k = j + 1 → i ⎤ j = 0 → i −1<br />

⎣ k<br />

⎦ ; (2.173)<br />

T<br />

( 0) ( ) ∗T<br />

( ) T<br />

X t p t ψ ( t)<br />

∗<br />

= ⎡⎣ ⎤⎦<br />

, unde ( ) n<br />

p t = p ( t) , p( t)<br />

. (2.174)<br />

88<br />

{ }<br />

2. Pentru i = 1→ n,<br />

se aplică algoritmul iterativ din modelarea cinematica directă rezultând valorile<br />

vitezelor liniare și unghiulare precum și cele pentru accelerațiile liniare și unghiulare, ale fiecărui<br />

element cinetic al robotului, în raport cu sistemul de referință fix{ }<br />

0 sau proiectate pe cel mobil { }<br />

i :<br />

( 0) i ( 0) i ( 0) i ( 0) i<br />

{ ωi, vi , ωi , vɺ<br />

i }<br />

ɺ . (2.175)<br />

3. În continuare, pentru i = 1→ n,<br />

se aplică algoritmul matricelor de transfer din cinematica directă<br />

obținându-se astfel expresiile matricelor de transfer ale vitezelor și accelerațiilor liniare și unghiulare,<br />

cu un rol esențial în determinarea matricei Jacobiene. Matricele de transfer obținute sunt:<br />

{ V ( θ ) , Ω( θ ) , A(<br />

θ ) , Ε ( θ ) } . (2.176)<br />

4. Matricele (2.176), definite anterior cu expresiile (2.103) - (2.112) vor fi utilizate pentru determinarea<br />

matricei Jacobiene ( ) 0 n (<br />

J( θ )<br />

0) n<br />

respectiv a derivatei acesteia în raport cu timpul Jɺ ( θ ) .<br />

La același pas se determină transpusa matricei Jacobiene ( ) T<br />

0 J θ . Inversa matricei Jacobiene, respectiv a<br />

transpusei acesteia , ( ) 1 0 −<br />

J θ<br />

și ( ) T 0 −<br />

J θ<br />

rezultă utilizând inversa de stânga sau inversa de dreapta.<br />

5. Următoarea etapă din aplicarea algoritmului generalizat al dinamicii constă în determinarea


. <strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

proprietăților de distribuție a maselor prin aplicarea pașilor prezentați în paragraful § 2.3.1.<br />

6. În continuare, pentru i = 1→ n,<br />

se determină expresiile forțelor generalizate active, din fiecare<br />

cuplă a robotului, reprezentate prin forțe generalizate gravitaționale, notate<br />

datorate sarcinii de manipulare<br />

unde g τ g k , k { x , y , z }<br />

unde<br />

unde<br />

i<br />

Q SU .<br />

n<br />

89<br />

i<br />

Q g respectiv a celor<br />

i ( n) 0 T ( n) 0<br />

0 T j<br />

Q = J ⋅ ö = M ⋅ g ⋅ A ⋅ r ; (2.177)<br />

g i Xi j= i<br />

j ji C j<br />

= ⋅ ⋅ 0 0 = 0 0 0 , iar { 1, T<br />

kg k0 1} ; { 1, T<br />

kg k0 1}<br />

( )<br />

n 0<br />

∑<br />

{ }<br />

τ = + ⋅ = − − ⋅ = ; (2.178)<br />

⎧ n<br />

( 0) n T ⎫<br />

( )<br />

[ ]<br />

⎧ n 0 Mj n R g<br />

( n) 0 F ⎫ ⎪ ∑ ⋅ ⋅ ⎪<br />

⎪ Xi ⎪ ⎪ j= i<br />

⎪<br />

ö X =<br />

i ⎨ ( n) 0 ⎬ = ⎨ n<br />

⎬ . (2.179)<br />

N<br />

( 0) n T<br />

X [ ] 0<br />

⎩⎪ i ⎭⎪<br />

⎪∑M j ⋅ n R ⋅ ⎡( rC − p<br />

j n ) × g ⎤⎪<br />

⎪ j= i<br />

⎣ ⎦<br />

⎩ ⎪⎭<br />

( ) ( )<br />

Q θ J ( θ )<br />

n 0 ( n) 0<br />

= ⋅ ö ; (2.180)<br />

SU X<br />

( ) [ ]<br />

( )<br />

( )<br />

( ) { [ ] } ( ) n 0<br />

⎧ n 0 n 1<br />

F ⎫ ⎧ +<br />

X<br />

n 1 R f<br />

⎫<br />

⎪ ⎪ ⎪ + ⋅ n+ 1<br />

⎪<br />

ö X = ⎨ n 0 ⎬ = ⎨ 0 n T n 0 ( 0) n ⎬ . (2.181)<br />

[ ] n+ 1 [ ] n+ 1<br />

⎪⎩ NX ⎪⎭ ⎪ n R ⋅ pn+ 1n × ⋅ n+ 1 R ⋅ fn+ 1 + n+ 1<br />

⎩<br />

R ⋅ nn+<br />

1⎭<br />

⎪<br />

7. Pentru i = 1 → n , adică pentru fiecare cuplă a robotului, se determină expresiile forțelor<br />

generalizate de inerție, simbolizate cu<br />

i<br />

Qiö , în conformitate cu [N22].<br />

i ( n) 0 T ( n) 0 ∗<br />

Q ö = J ⋅ ö ; (2.182)<br />

i i X i<br />

unde<br />

⎧ n<br />

( n) 0 j<br />

⎫<br />

( )<br />

[ ] j<br />

⎧ n 0 ∗<br />

j R F<br />

( n) 0 F ⎫ ⎪ ∑ ⋅<br />

⎪<br />

∗ ⎪ Xi ⎪ ⎪ j= i<br />

⎪<br />

ö X =<br />

i ⎨ ( n) 0 ∗ ⎬ = ⎨ n<br />

⎬ ;<br />

N<br />

( 0) n T<br />

[ ] 0<br />

( n) 0 j<br />

( ) [ ] ( n) 0 j<br />

⎩⎪ Xi ⎭⎪ ⎪ ⎡<br />

n R r j [ ]<br />

C pi j R F j R N ⎤<br />

∑<br />

− × ⋅ + ⋅ j ⎪<br />

⎢ j<br />

⎪ ⎥<br />

j= i ⎣ ⎦<br />

⎩ ⎪⎭<br />

(2.183)<br />

În ecuația (2.183), forțele de inerție ce caracterizează fiecare element cinetic, j<br />

F respectiv momentele<br />

forțelor de inerție corespunzătoare, sunt înlocuite de următoarele expresii:<br />

Forțele generalizate de inerție<br />

{ }<br />

ɺ ɺ ɺ ; (2.184)<br />

j j j j j j j<br />

F j = M j ⋅ v C =<br />

j M j ⋅ v j + ω j × r C + ω<br />

j j × ω j × r C j<br />

N<br />

ɺ ω ω ω . (2.185)<br />

j i ∗ j j i ∗ j<br />

j = I j ⋅ j + j × I j ⋅ j<br />

i<br />

Qiö se determină utilizând următoarele ecuații:<br />

i ( n) 0 T ( n) 0 ∗ d ⎛ ∂EC ⎞ ∂EC ∂E<br />

A<br />

Qiö = Ji<br />

⋅ ö X =<br />

i dt<br />

⎜<br />

q<br />

⎟ − = . (2.186)<br />

⎝ ∂ ɺi ⎠ ∂qi ∂qɺɺ<br />

i<br />

Expresia energiei cinetice rezultată din ecuația prezentată mai sus, este următoarea:<br />

j


ALGORITMI DE CALCUL ÎN CINEMATICA ȘI DINAMICA ROBOȚILOR .<br />

n n<br />

1 ⎡ i T i i T i ∗ i ⎤<br />

EC = ⋅ Mi vC v<br />

i C ω<br />

i i Ii<br />

ωi<br />

2<br />

⎢ ⋅ ⋅ + ⋅ ⋅ ⎥<br />

⎣ i= 1 i= 1<br />

⎦<br />

∑ ∑ , unde<br />

90<br />

i i i i<br />

vC v<br />

i i ωi<br />

rC<br />

i<br />

= + × ; (2.187)<br />

sau<br />

1 T<br />

E ( )<br />

C = ⋅<br />

ɺ<br />

θ ⋅M θ ⋅<br />

ɺ<br />

θ .<br />

2<br />

(2.188)<br />

unde M( θ ) reprezintă matricea maselor. În aplicații, expresia energiei accelerațiilor, se determină<br />

utilizând relația de mai jos care apoi se înlocuiește în (2.186) pentru a determina forțele generalizate.<br />

1 1 1<br />

E M vɺ vɺ ɺ ω I ɺ ω ω I ω ɺ ω ω I ω . (2.189)<br />

unde<br />

∗ ∗ ∗<br />

( ) ( )<br />

n n n<br />

i T i i T i i i i i i T i i i<br />

A = ⋅∑ i ⋅ C ⋅ C + ⋅<br />

i i ∑ i ⋅ i ⋅ i + i × i ⋅ i + ⋅∑ i ⋅ i × i ⋅ i<br />

2 i= 1 2 i= 1 2 i= 1<br />

ɺ ɺ ɺ ɺ ɺ . (2.190)<br />

i i i i i i i<br />

vC = vi + ω<br />

i i × rC + ω<br />

i i × ωi<br />

× rC<br />

i<br />

Forța generalizată datorată frecării vâscoase și uscate se determină astfel:<br />

i ⎡ di<br />

⎤ i i<br />

Qfd = bi ⋅ qɺ i + ( 1− Δi ) ⋅ μiT + Δi ⋅ ⋅ μiR<br />

⋅ ki × fi ⋅ sgn(<br />

qɺ<br />

⎢ i )<br />

⎣ 2 ⎥<br />

; (2.191)<br />

⎦<br />

( )<br />

i<br />

0<br />

i<br />

Xi Xi X<br />

i ( ) ( )<br />

unde [ ] 0 ∗ 0<br />

f = R ⋅ F + F + F . (2.192)<br />

8. Pentru i = 1 → n , se determină forțele generalizate motoare din fiecare cuplă motoare a<br />

robotului, simbolizate<br />

i<br />

Q m și definite astfel:<br />

i i i i i<br />

m = i + g + su + fd<br />

Q Q ö Q Q Q<br />

(2.193)<br />

i i i<br />

i<br />

unde, Qiö , Qg , Qsu<br />

respectiv Q fd se determină cu expresiile (2.177) – (2.191).<br />

unde<br />

9. Forța generalizată motoare Q ( ) m θ se poate determina pe baza matricelor diferențiale, astfel:<br />

Q ( ) ( ) ( ; ) ( ) ( ) ( )<br />

m θ = M θ ⋅<br />

ɺɺ<br />

θ + V θ<br />

ɺ<br />

θ + Qg θ + QSU θ + Qfd<br />

θ ; (2.194)<br />

În expresia prezentată anterior, M( θ ) reprezintă matricea maselor sau matricea de inerție definită cu:<br />

M( θ ) = ⎡⎣ Mij = Mji , i = 1 → n, j = 1 → n⎤⎦<br />

; (2.195)<br />

k T<br />

( )<br />

n<br />

( )<br />

( )<br />

T ∂ 0 0 i T<br />

Mij = M ji = ∑ Tr Aki ⋅ Ipsk ⋅ Akj<br />

; Aki = { k [ T ] } = { i [ T ] ⋅U i ⋅ k [ T ] } ; (2.196)<br />

k = i<br />

∂qk<br />

În cadrul aceleași expresii, V ( θ ; θ ) ɺ definește vectorul coloană al termenilor Coriolis și centrifugali:<br />

( )<br />

T<br />

j 1 n<br />

V θ ;<br />

ɺ ⎡ ⎡ = → ⎤<br />

⎤<br />

θ =<br />

ɺ<br />

θ ⋅ Vijm = Vimj , ⋅<br />

ɺ<br />

⎢ ⎢<br />

θ ; i = 1 → n<br />

⎣ m = 1 → n⎥⎦<br />

⎥<br />

⎣ ⎦<br />

n<br />

k<br />

Vijm = Vimj = Tr Aki ⋅ Ipsk ⋅ Akjm<br />

k = max ( i, j )<br />

T<br />

; (2.197)<br />

∑ ⎡ ⎤<br />

⎣ ⎦ , (2.198)<br />

0 m j<br />

iar A = A = [ T ] ⋅U ⋅ [ T ] ⋅U ⋅ [ T ] ; (2.199)<br />

kjm kmj m m j j k<br />

Observații: Noțiunile și algoritmii prezentați în cadrul acestui capitol au rolul de a evidenția rolul<br />

esențial pe care aceștia îl au în modelarea geometrică, cinematică și dinamică a structurilor de roboți seriali.


3. CONTRIBUȚII LA MODELAREA ERORILOR GEOMETRICE<br />

3.1 Matricele datelor de intrare<br />

Prima și cea mai importantă etapă în modelarea preciziei cinematice a erorilor constă în<br />

determinarea matricelor datelor de intrare, denumite și matricele geometriei robotului, stabilite încă din<br />

faza de proiectare respectiv de simulare a comportamentului structurii mecanice supusă studiului.<br />

Considerând o structură mecanică de robot, cu n grade de liberate, pentru fiecare element<br />

aparținând structurii mecanice nominale, respectiv reale (cu erori) se stabilesc următorii parametrii:<br />

coordonatele centrului geometric al fiecărei cuple motoare, notat cu O i , precum și poziția unui punct<br />

oarecare i A ales pe axa cinematică k i , ambele poziții fiind considerate în raport cu sistemul de<br />

referință fix, atașat bazei robotului, notat cu { }<br />

0<br />

i<br />

Paşii care trebuie urmaţi in determinarea matricelor datelor de intrare sunt următorii:<br />

1. Se precizează tipul robotului. Denumire şi simbol<br />

2. Se fac următoarele notaţii: n reprezintă numărul gradelor de libertate (numărul elementelor<br />

mobile sau numărul cuplelor cinematice motoare),<br />

3. Cu m se notează numărul configuraţiilor distinct ale robotului<br />

4. Geometria robotului pentru m = 1<br />

ij<br />

M vn<br />

4.1 Valorile nominale pentru poziţia cuplelor Oi− 1 şi O i , respectiv pentru poziţia unui punct<br />

situate pe axa cinematic ( i− 1)<br />

, se stabilesc în raport cu sistemul de referinţă fix { 0 } . Astfel, se<br />

obţine matricea valorilor nominale, notată simbolic vn M , având dimensiunea ( n+ 1) × 9 şi forma<br />

prezentată în Tabelul 3.1.<br />

j<br />

( 0) n<br />

Oi−1 n<br />

= pi−1<br />

n<br />

xi− 1<br />

n<br />

y i− 1<br />

n<br />

zi− 1<br />

M vn<br />

Tabelul 3. 1<br />

Poziţia elementului ( i− 1)<br />

Poziţia axei ( i− 1)<br />

n<br />

x i<br />

( 0) n n<br />

Oi = pi<br />

n<br />

y i<br />

n<br />

z i<br />

n<br />

x Ai− 1<br />

n<br />

pAi− 1<br />

n<br />

y A i− 1<br />

n<br />

z Ai− 1<br />

4.2 Prin măsurători fizice se stabilesc în raport cu sistemul de referinţa fix { 0} valorile reale ale<br />

poziţiei punctelor O , O , p<br />

M , având dimensiunea<br />

i−1 i Ai− 1<br />

. Rezultă matricea valorilor reale notată vr<br />

( n+ 1) × 9 şi forma prezentată în Tabelul 3.2.


<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

.<br />

Tabelul 3.2<br />

i<br />

ij<br />

M vr<br />

j<br />

( 0) n<br />

Oi−1 n<br />

= pi−1<br />

r<br />

xi− 1<br />

r<br />

y i− 1<br />

r<br />

zi− 1<br />

4.3 Se adoptă notaţia: q { n; r}<br />

M vr<br />

Poziţia elementului ( i− 1)<br />

Poziţia axei ( i− 1)<br />

r<br />

x i<br />

( 0) n n<br />

Oi = pi<br />

94<br />

r<br />

y i<br />

r<br />

z i<br />

r<br />

x Ai− 1<br />

n<br />

pAi− 1<br />

r<br />

y A i− 1<br />

= , unde n reprezintă valorile nominale, r valorile reale.<br />

4.3* Se determină orientarea sistemelor { i} cu originea în punctele O i .<br />

4.3.1 Se consideră q = n si se utilizează elementele matricei M vn .<br />

T T<br />

0 0<br />

q q<br />

4.3.2 Se scrie: x [ 1 0 0] ; z [ 0 0 1]<br />

4.3.3 Se consideră i = 1→ n+ 1<br />

= = ;<br />

4.3.4 Se calculează lungimea elementului ( i−1q) utilizând următoarea relaţie:<br />

1<br />

q q q q q<br />

2<br />

q q<br />

2<br />

q q<br />

2 2<br />

i−1= i − i−1= ⎡( i − i−1) + ( i − i−1) + ( i − i−1) ⎤<br />

r<br />

z Ai− 1<br />

l p p ⎣ x x y y z z ⎦ . (3.1)<br />

4.3.5 Se calculează orientarea axei cinematice ( i 1q)<br />

4.3.6 Dacă produsul vectorial<br />

q q ( pA−p i i )<br />

q q ( p − pi)<br />

În caz contrar, se trece direct la pasul 4.3.9<br />

4.3.7 Orientarea axei<br />

4.3.8 Se trece la pasul A1. 417. .<br />

4.3.9 Dacă<br />

q q ( pi+ 1−<br />

p )<br />

q q ( p − p )<br />

q q q q<br />

zi = = ⎡⎣ cαiz cβiz cγ<br />

⎤ iz⎦<br />

A i<br />

q q ( pi+ 1−<br />

p )<br />

q q ( p − p )<br />

i q<br />

⎢ ⎥ i<br />

⎢<br />

⎣ i+ 1 i ⎥<br />

⎦<br />

− , cu relaţia prezentată mai jos:<br />

⎡ ⎤<br />

× z = 0 , urmează pasul 4.3.7.<br />

q q q q q<br />

x i = x i−1 = ⎡⎣ cα ix cβ ix cγ<br />

⎤ ix ⎦<br />

i q<br />

⎢ ⎥ i<br />

⎢<br />

⎣ i+ 1 i ⎥<br />

⎦<br />

T<br />

T<br />

. (3.2)<br />

⎡ ⎤<br />

⋅ z = 0 , urmează pasul 4.3.10. Altfel, se aplică pasul 4.3.12<br />

q<br />

4.3.10 Orientarea axei x i este dată de expresia:<br />

q q<br />

q ( pi+ 1−<br />

pi)<br />

q q q<br />

T<br />

x i = = ⎡<br />

q q ⎣cα ix cβ ix cγ<br />

⎤ iz ⎦<br />

( pi+ 1−<br />

pi)<br />

4.3.11 Se trece la pasul 4.3.14<br />

⎡ q q<br />

q ( pi+ 1 − p ) ⎤<br />

i<br />

q<br />

4.3.12 Se calculează: cα= ⎢ ⎥⋅z<br />

q q i , respectiv ( )<br />

⎢ ( pi+ 1 − pi<br />

) ⎥<br />

⎣ ⎦<br />

1<br />

q 2 q 2<br />

sα =± ⎡<br />

⎣1−c α ⎤<br />

⎦ .<br />

(3.3)


i<br />

i<br />

i<br />

ij<br />

T n<br />

ij<br />

M Gn<br />

ij<br />

T r<br />

4.3.13 Orientarea axei<br />

q<br />

x i devine:<br />

{ ( i+ 1 ) ( i+ 1 ) }<br />

q<br />

xi= ⎡<br />

⎣<br />

q<br />

p<br />

q<br />

− pi q<br />

p<br />

q<br />

− pi ⎤ q<br />

⎦<br />

× zi q<br />

sα q<br />

= ⎡⎣ cαix q<br />

cβix q<br />

cγ<br />

⎤ ix ⎦ . (3.4)<br />

q<br />

4.3.14 Orientarea axei y i se determină prin intermediul următoarei expresii:<br />

q<br />

yi q q<br />

= zi × xi q<br />

= ⎡<br />

⎣<br />

cαiy q<br />

cβiy q<br />

T<br />

cγ<br />

⎤<br />

iy⎦<br />

. (3.5)<br />

4.3.15 Dacă i = n+<br />

1,<br />

urmează pasul 4.3.16. În caz contrar, i = i+<br />

1 și se revine la 4.3.3.<br />

4.3.16 Dacă q = n,<br />

urmează pasul 4.3.17. În caz contrar, q = r și se trece la pasul 4.3.21.<br />

4.3.17 Se scrie matricea sistemelor nominale, notată cu T n , având dimensiunea ( n + 2) × 9,<br />

j<br />

j<br />

j<br />

prezentată prin intermediul Tabelului 3.3:<br />

n<br />

cα ix<br />

n<br />

x i<br />

n<br />

cβ ix<br />

T n<br />

95<br />

T<br />

.<br />

Tabelul 3.3<br />

Poziţia elementului ( i− 1)<br />

Poziţia axei ( i− 1)<br />

n<br />

cγ ix<br />

n<br />

cα iz<br />

n<br />

z i<br />

n<br />

cβ iz<br />

n<br />

cγ iz<br />

4.3.18 Se stabilește matricea geometriei nominale a robotului M Gn și dimensiunea ( n + 1) × 7.<br />

Tabelul 3. 4<br />

Lungimea elementului<br />

( i− 1)<br />

n<br />

l i− 1<br />

[ ]<br />

mm<br />

M Gn<br />

Orientarea axei ( i− 1)<br />

în<br />

raport cu sistemul { 0 }<br />

n<br />

cα i− 1z<br />

n<br />

z i<br />

n<br />

cβ i− 1z<br />

n<br />

cγ i− 1z<br />

n<br />

x i<br />

n<br />

p i<br />

n<br />

y i<br />

n<br />

z i<br />

Orientarea axei ( i − ) în<br />

raport cu sistemul { i − 1}<br />

( i−1n) n<br />

z<br />

i−1 n<br />

iz<br />

c α<br />

i<br />

i−1 n<br />

iz<br />

c β<br />

4.3.19 Pentru q = r , se utilizează elementele matricei M vr , definită anterior cu Tabelul 3.2.<br />

4.3.20 Se revine la pasul 4.3.2.<br />

i−1 n<br />

iz<br />

c γ<br />

4.3.21 Se stabilește matricea sistemelor reale r T cu dimensiunea ( n+ 2) × 9 și forma de mai jos:<br />

r<br />

cα ix<br />

r<br />

x i<br />

r<br />

cβ ix<br />

T r<br />

Tabelul 3.5<br />

Poziţia elementului ( i− 1)<br />

Poziţia axei ( i− 1)<br />

r<br />

cγ ix<br />

r<br />

cα iz<br />

r<br />

z i<br />

r<br />

cβ iz<br />

r<br />

cγ iz<br />

r<br />

x i<br />

r<br />

p i<br />

r<br />

y i<br />

r<br />

z i


<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

.<br />

( ) ( ) T<br />

r<br />

k x<br />

i<br />

0 ⋅ 0 = ± 1<br />

( ) ( ) T<br />

r<br />

k z<br />

i<br />

0 ⋅ 0 = 0<br />

( ) ( ) T<br />

r<br />

k y<br />

i<br />

0 ⋅ 0 = 0<br />

( ) ( ) T<br />

r<br />

k x<br />

i<br />

0 ⋅ 0 = 0<br />

( ) r<br />

z 0<br />

i<br />

( ) r<br />

= k 0<br />

i<br />

( ) r<br />

x 0<br />

i =<br />

( ) r<br />

z 0<br />

i × z0<br />

( ) r<br />

z 0<br />

i × z0<br />

( ) r<br />

y 0<br />

i<br />

( ) r ( ) r<br />

= z 0<br />

i × x 0<br />

i<br />

( ) ( ) T<br />

r<br />

k y<br />

i<br />

0 ⋅ 0 =± 1<br />

( ) r ( ) r<br />

k 0<br />

i = y 0<br />

i<br />

( )r<br />

z 0<br />

i = z0<br />

( ) r ( ) r ( ) r<br />

y 0<br />

i = z 0<br />

i × x 0<br />

i<br />

( ) ( ) T<br />

r<br />

k z<br />

i<br />

0 ⋅ 0 =± 1<br />

( )r<br />

k 0<br />

i = x0<br />

( )r<br />

y 0<br />

i = y 0<br />

( ) r<br />

z 0<br />

i<br />

( ) r ( ) r<br />

= x 0<br />

i × y 0<br />

i<br />

( ) ( ) T<br />

r<br />

k y<br />

i<br />

0 ⋅ 0 =± 1<br />

( ) ( ) T<br />

r<br />

k z<br />

i<br />

0 ⋅ 0 =± 1<br />

( ) r ( ) r<br />

k 0<br />

i = z 0<br />

i<br />

( )r<br />

x 0<br />

i = x0<br />

( ) r ( ) r ( ) r<br />

y 0<br />

i = z 0<br />

i × x 0<br />

i<br />

Fig. 3.1 Schema logică de stabilire a sistemelor de referință reale<br />

96<br />

( )r<br />

x 0<br />

i = x 0<br />

( )r<br />

y 0<br />

i = y0<br />

( )r<br />

z 0<br />

i = z0


i<br />

i<br />

i<br />

i<br />

ij<br />

M Gr<br />

ij<br />

Mθ n<br />

ij<br />

Mθ n<br />

j<br />

4.3.22 Se stabilește matricea geometriei reale M Gr având dimensiunea ( n+ 1) × 7 și forma:<br />

Tabelul 3.6<br />

j<br />

Lungimea elementului<br />

( i− 1)<br />

r<br />

l i− 1<br />

[ ]<br />

mm<br />

M Gr<br />

Orientarea axei ( i− 1)<br />

în<br />

raport cu sistemul { 0 }<br />

r<br />

cα i− 1z<br />

r<br />

z i<br />

r<br />

cβ i− 1z<br />

97<br />

r<br />

cγ i− 1z<br />

Orientarea axei ( i − ) în<br />

raport cu sistemul { i − 1}<br />

( i−1r) r<br />

z<br />

i−1 r<br />

iz<br />

c α<br />

i<br />

i−1 r<br />

iz<br />

c β<br />

i−1 r<br />

iz<br />

c γ<br />

4.3.23 Pe structura nominală a robotului se stabilește matricea configurațiilor nominale Mθ n având<br />

dimensiunea n × 7 și forma prezentată în Tabelul 3.7:<br />

j<br />

Mθ n<br />

Tipul cuplei Valori nominale Limite mecanice<br />

R sau T<br />

n<br />

q i<br />

4.3.24 Se notează cu t [ s]<br />

m<br />

n<br />

q&<br />

i<br />

n<br />

q&&<br />

i<br />

max<br />

q in<br />

med<br />

q in<br />

= K timpul necesar atingerii configurației m = 1.<br />

.<br />

Tabelul 3.7<br />

min<br />

q in<br />

4.3.25 Prin măsurători fizice asupra structurii reale, se determină pentru același t m matricea<br />

configurațiilor reale având dimensiunea ( n × 9)<br />

și forma de mai jos (Tabelul 3.8):<br />

Mθ n<br />

Valori reale Erori ( Δθ , Δθ , Δθ<br />

)<br />

r<br />

q i<br />

r<br />

q&<br />

i<br />

r<br />

q&&<br />

i<br />

i q Δ i q<br />

& && Limite mecanice<br />

Δ &<br />

i q Δ&&<br />

max<br />

q ir<br />

med<br />

q ir<br />

Tabelul 3.8<br />

min<br />

q ir<br />

4.3.26 Pe structura nominală a robotului se stabilește matricea distribuției nominale a maselor,<br />

M având dimensiunea ( n× 11)<br />

și forma prezentată în Tabelul 3.9:<br />

dn<br />

M dn<br />

ij<br />

M dn Masa Centrul maselor Tensorul inerțial<br />

n<br />

M i<br />

i n<br />

x C i<br />

i n<br />

y C i<br />

i n<br />

z C i<br />

i n<br />

I x<br />

i n<br />

I y<br />

i n<br />

I z<br />

i n<br />

I x y<br />

i n<br />

I yz<br />

Tabelul 3.9<br />

j<br />

4.3.27 Prin măsurători fizice asupra structurii reale se determină matricea distribuției reale a<br />

i n<br />

I zx<br />

i n<br />

I act


<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

.<br />

maselor, notată M dr și având dimensiunea ( n× 11)<br />

(a se vedea Tabelul 3.10).<br />

i<br />

ij<br />

M dr<br />

j<br />

ij<br />

M S<br />

Valori<br />

4.3.28 Urmatorul pas constă în stabilirea matricei linie a sarcinii utile de manipulat, notată M S și<br />

având dimensiunea ( 1× 6)<br />

, după cum reiese din analiza Tabelului 3.11.<br />

M dr<br />

Masa Centrul maselor Tensorul inerțial<br />

r<br />

M i<br />

i r<br />

x C i<br />

i r<br />

y C i<br />

i r<br />

z C i<br />

i r<br />

I x<br />

98<br />

i r<br />

I y<br />

i r<br />

I z<br />

i r<br />

I x y<br />

i r<br />

I yz<br />

Tabelul 3.10<br />

i r<br />

I zx<br />

i r<br />

I act<br />

Tabelul 3.11<br />

M S<br />

n + 1<br />

f n + 1<br />

n + 1<br />

n n + 1<br />

f x<br />

y f z f x n y n z n<br />

4.4 Geometria robotului pentru m > 1<br />

4.4.1 Se adoptă următoarele notații: ε { ε ; ε ; ε ; ε }<br />

4.4.2 Dacă ε ε I<br />

= .<br />

I II III IV<br />

= , urmează pasul 4.4.3.În caz contrar, ε { ε ; ε ; ε }<br />

= și se trece la 4.4.9<br />

II III IV<br />

4.4.3 Condiția ε = ε I presupune variabile în raport cu p= 1→<br />

m atât matricele vr M și Gr M<br />

cât și M , M<br />

θ n θ r și dr<br />

M . Se presupune că matricea M S este constantă.<br />

4.4.4 Se utilizează datele conținute de matricea M S (determinată la pasul 4.3.28).<br />

4.4.5 Se consideră p= 1→<br />

m .<br />

4.4.6 Se utilizează matricele:<br />

⎧<br />

⎪ M ; T ; M ; T<br />

⎨<br />

⎪⎩ M ; M ; M ; M<br />

p p p p<br />

Gn n Gr r<br />

p p p p<br />

θ n θ r dn d r<br />

4.4.7 Dacă p = m,<br />

urmează pasul A1. 58. . Altfel, se consideră p= p+<br />

1 și se revine la 4.4.5<br />

4.4.8 Se trece la pasul 4.4.36.<br />

4.4.9 Dacă ε ε II<br />

= , urmează 4.4.10. În caz contrar, ε { ε ; ε }<br />

= și se aplică 4.4.19.<br />

III IV<br />

4.4.10 Condiția ε = ε II , presupune pentru p= 1→<br />

m fixat că matricele M , M , M<br />

(3.6)<br />

vr Gr dr


sunt constante, iar matricele Mθ n și r Mθ sunt variabile în raport cu k= 1→<br />

m unde, M = cst.<br />

4.4.11 Se utilizează datele conținute de matricea M S (determinată la pasul 4.3.28).<br />

4.4.12 Se consideră p= 1→<br />

m .<br />

4.4.13 Se utilizează matricele:<br />

4.4.14 Se consideră k = 1→<br />

m.<br />

⎧<br />

⎪ M ; T ; M ; T<br />

⎨<br />

⎪⎩ M ; M<br />

4.4.15 Se utilizează matricele: M ; M<br />

p p<br />

Gn n Gr r<br />

p p<br />

dn dr<br />

pk pk<br />

θ n θ r<br />

4.4.16 Dacă k = m , urmează pasul 4.4.17 . Altfel, se adoptă k = k+<br />

1și<br />

se revine la 4.4.16<br />

4.4.17 Dacă p = m,<br />

urmează pasul 4.4.18. Altfel, se adoptă p= p+<br />

1și<br />

se revine la 4.4.12 .<br />

4.4.18 Se trece la pasul 4.4.36 .<br />

4.4.19 Dacă ε = ε III , urmează pasul 4.4.20 . În caz contrar, ε = ε IV și se aplică 4.4.29.<br />

4.4.20 Condiția ε = ε III , presupune pentru p= 1→<br />

m fixat că matricele matricele Mθ n și r Mθ sunt constante, iar matricele , ,<br />

vr Gr dr<br />

Matricea M = cst.<br />

S<br />

99<br />

S<br />

.<br />

(3.7)<br />

M M M sunt variabile în raport cu k = 1→<br />

m.<br />

4.4.21 Se utilizează datele conținute de matricea M S (determinată la pasul 4.3.28).<br />

4.4.22Se consideră p= 1→<br />

m .<br />

4.4.23 Se utilizează matricele:<br />

4.4.24 Se consideră k = 1→<br />

m.<br />

⎧<br />

⎪ M ; T<br />

⎨<br />

⎪⎩ M ; M ; M<br />

p p<br />

Gn n<br />

p p p<br />

θ n θ r dn<br />

pk pk pk<br />

Gr r dr<br />

4.4.25 Se utilizează matricele: M ; T ; M<br />

. (3.8)<br />

4.4.26 Dacă k = m , urmează pasul 4.4.27. Altfel, se adoptă k = k+<br />

1și<br />

se revine la 4.4.24<br />

4.4.27 Dacă p = m,<br />

urmează pasul 4.4.28. Altfel, se adoptă p= p+<br />

1și<br />

se revine la 4.4.22.<br />

4.4.28 Se trece la pasul 4.4.36.<br />

4.4.29 Dacă condiția ε = ε IV este satisfăcută, aceasta presupune faptul că pentru o valoare<br />

p= 1→<br />

m , fixată, matricele M , M , M<br />

Gr θ n θ r și dr<br />

utile, notată M S , este variabilă în raport cu k = 1→<br />

m.<br />

M sunt constante iar matricea sarcinii


<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

.<br />

4.4.30 Se consideră p= 1→<br />

m .<br />

4.4.31 Se utilizează matricele:<br />

4.4.32 Se consideră k = 1→<br />

m.<br />

⎧<br />

⎪ M ; T ; M ; T<br />

⎨<br />

⎪⎩ M ; M ; M ; M<br />

p p p p<br />

Gn n Gr r<br />

p p p p<br />

θ n θ r dn d r<br />

pk<br />

4.4.33 Se utilizează matricea: M S .<br />

4.4.34 Dacă k = m , urmează pasul 4.4.35. Altfel, se adoptă k = k+<br />

1și<br />

se revine la 4.4.32.<br />

4.4.35 Dacă p = m,<br />

urmează pasul 4.4.36. Altfel, se adoptă p= p+<br />

1și<br />

se revine la 4.4.30.<br />

4.4.36 Se scrie matricea timpilor t M , de dimensiune ( 1× m)<br />

și forma prezentată mai jos:<br />

Tabelul 3.12<br />

1m<br />

M t<br />

1<br />

Valori<br />

M t<br />

t K K K<br />

4.4.37 Se reprezintă grafic schema cinematică a robotului (Denumire și simbolizare)<br />

4.4.38 Dacă ε = ε IV , ciclul se încheie. Altfel, se adoptă k = k+<br />

1 și se revine la 4.4.1.<br />

3.2 Modelarea erorilor geometrice<br />

În cadrul acestui paragraf, pentru început, se determină erorile primare din cuplele motoare datorate<br />

jocurilor, erorilor de fabricație sau erorilor de coordonate generalizate q i , partea a doua fiind dedicată<br />

determinării erorilor geometrice ce afectează performanțele în funcționare ale roboților cu structură serială.<br />

3.2.1 Determinarea erorilor primare<br />

Erorile primare se determină ținând seama de expresiile prezentate anterior.<br />

S-a realizat o analiză a erorilor primare pentru toate cele douăsprezece matrice de rotație rezultantă<br />

(prezentate în Cap. 2, §21, Tabelul 2.1 – Tabelul 2.12), obținându-se în final expresiile pentru erorile primare<br />

{ Δα, Δβ , Δ γ } , unde A { x, y, z} , B { y, z, x} , C { z, x, y}<br />

A B C<br />

= = = .<br />

În continuare este prezentat algoritmul de determinare a erorilor primare pentru toate cele douăsprezece<br />

seturi de rotații rezultante. Pentru matricea de tipul ( α β γ )<br />

determinarea erorilor primare sunt prezentați in continuare.<br />

100<br />

z x z<br />

tm<br />

− − , pașii care trebuie parcurși în


{ i − 1}<br />

nom<br />

pii −1<br />

{ nom<br />

i }<br />

r<br />

pii−1 pi −1<br />

Δ<br />

pii−1 nom<br />

pi<br />

{ } nom<br />

n−1 nom<br />

pn −1<br />

{ } r<br />

i<br />

z<br />

r<br />

pi<br />

{ 0}<br />

O<br />

x<br />

Fig.3.2 Reprezentarea erorilor geometrice<br />

⎡ 1 −Δα 0⎤ ⎡1 0 0 ⎤ ⎡ 1 −Δγ<br />

0⎤<br />

z z<br />

⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />

⎢Δαz 1 0⎥ ⎢0 1 −Δβx<br />

⎥ ⎢Δγ z 1 0⎥<br />

⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />

⎣ 0 0 1⎦ 0 Δβx<br />

1 ⎣ 0 0 1⎦<br />

⋅ ⋅ =<br />

⎣ ⎦<br />

( αz γ z) ( αz γ z)<br />

( αz βx)<br />

α γ ( Δα ⋅Δγ<br />

) 1 β<br />

⎡ 1 − Δ ⋅Δ − Δ +Δ Δ ⋅Δ ⎤<br />

⎢ ⎥<br />

⎢ Δ +Δ − + −Δ ⎥<br />

z z z z<br />

x<br />

⎢ ⎥<br />

⎢ Δβx ⋅Δγ z Δβx<br />

1 ⎥<br />

⎣ ⎦<br />

i−1 nT i−1 r ( xi ⋅ xi ) i−1 nT i−1 r ( xi ⋅ y i ) i−1 nT i−1 r<br />

( xi ⋅ zi<br />

)<br />

− ( − ) − ( − ) − ( − )<br />

i−1 nT i−1 r ( zi ⋅ xi ) i−1 nT i−1 r ( zi ⋅ y i ) i−1 nT i−1 r<br />

( zi ⋅ zi<br />

)<br />

101<br />

.<br />

(3.9)<br />

⎡ ⎤<br />

⎢ ⎥<br />

nT r i 1 nT i 1 r i 1 nT i 1 r i 1 nT i 1 r<br />

Rii−1⋅ Rii−1= ⎢ y i ⋅ xi yi⋅ yi yi⋅ z ⎥<br />

i . (3.10)<br />

⎢ ⎥<br />

⎢ ⎥<br />

⎣ ⎦<br />

Se identifică termenii din matricea rezultantă (3.10) cu termenii corespunzători din matricea (3.9), astfel:<br />

nom<br />

pn<br />

Δp<br />

r<br />

pn−1 ⎧Δ α +Δ γ = ⋅<br />

⎪<br />

⎨<br />

⎪<br />

⎩Δ<br />

α +Δ γ =− ⋅<br />

i−1 nT i−1 r<br />

z z y i xi<br />

i−1 nT i−1 r<br />

z z xi yi<br />

i−1 nT i−1 r<br />

x zi y i<br />

; (3.11)<br />

Δ β = ⋅ ; (3.12)<br />

i−1 nT i−1 r<br />

x z zi xi<br />

y<br />

r<br />

pn<br />

{} nom<br />

n<br />

⎡d ⎤<br />

d d<br />

{ } r<br />

n−1 {} r<br />

x<br />

= ⎢ ⎥<br />

y<br />

⎢ ⎥<br />

⎣d z ⎦<br />

n<br />

⎡δx⎤ δ = ⎢δ⎥ y<br />

⎢ ⎥<br />

⎣δz⎦ Δβ ⋅Δ γ = ⋅ ; (3.13)


<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

.<br />

1 i−1 ( nT ) i−1 ( r)<br />

Δ γz = ⋅ zi ⋅ xi , Δβx ≠ 0 ; (3.14)<br />

Δβ<br />

x<br />

Δ γ =<br />

( nT ) ( r)<br />

zi ⋅ xi<br />

. (3.15)<br />

( ) ( )<br />

z ⋅ y<br />

i−1 i−1 z i−1 nT i−1 r<br />

i i<br />

Pe baza exemplului prezentat anterior se vor analiza toate cele douăsprezece matrice de rotaţie, în final<br />

obţinându-se erorile unghiulare ( α , β , γ )<br />

Δ Δ Δ corespunzătoare fiecărui set de rotaţii generalizate.<br />

A B C<br />

A. Determinarea erorilor unghiulare pentru setul de unghiuri ( αz−βy − γ x)<br />

În determinarea erorilor unghiulare pentru cele douăsprezece seturi de unghiuri se pleacă de la<br />

ipoteza infinitelor mici de ordin superior. În acest scop se consideră trei seturi de unghiuri:<br />

= ( ; ; ) ; B = ( β ; γ; α)<br />

; C = ( γ ; α; β)<br />

A α β γ<br />

Sunt evidente relaţiile următoare: ΔA⋅ΔB ≅ 0 , ΔA⋅ΔC ≅ 0 , ΔB⋅ΔC ≅ 0 , respectiv ΔA⋅ΔB⋅ΔC ≅ 0<br />

Prin aplicarea ipotezelor simplificatoare menționate mai sus, produsul matriceal va deveni:<br />

⎡ 1 −Δαz 0⎤<br />

⎡ 1 0 Δβy<br />

⎤ ⎡1 0 0 ⎤<br />

⎢ ⎥⋅⎢ ⎥ ⎢ ⎥<br />

⎢Δαz1 0⎥<br />

⎢ 0 1 0 ⎥⋅ ⎢0 1 −Δγ<br />

x ⎥ =<br />

⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />

⎣ 0 0 1⎦<br />

⎣⎢−Δβy 0 1 ⎦⎥<br />

⎣0 Δγ<br />

x 1 ⎦<br />

⎡ 1 Δβy ⋅Δγ x −Δαz Δ βy +Δγ x ⋅Δαz⎤ ⎡ 1 −Δαz ⎢ ⎥ ⎢<br />

= ⎢ Δαz Δβy ⋅Δγ x ⋅Δ αz + 1 Δβy ⋅Δαz −Δγ x⎥ = ⎢ Δαz 1<br />

⎢ ⎥ ⎢<br />

⎢−Δβy Δγ x 1 −Δβy Δγ<br />

x<br />

⎣ ⎥⎦ ⎢⎣ ;<br />

Δβy<br />

⎤<br />

⎥<br />

−Δγ<br />

x⎥<br />

⎥<br />

1 ⎥⎦<br />

(3.16)<br />

Se identifică termenii din (3.16) cu termenii corespunzători din matricea (3.10) rezultând sistemul:<br />

⎧Δ α = ⋅<br />

⎪<br />

⎨Δ<br />

β =− ⋅<br />

⎪<br />

⎪⎩ Δ γ = ⋅<br />

i−1 nT i−1 r<br />

z yi xi<br />

i−1 nT i−1 r<br />

( z x )<br />

y i i<br />

x<br />

i−1 nT<br />

zi i−1 r<br />

yi<br />

;<br />

Pentru verificare, se mai pot scrie următoarele identităţi:<br />

⎧Δβ ⋅Δγ −Δ α = ⋅<br />

⎪<br />

⎨Δ<br />

β +Δγ ⋅Δ α = ⋅<br />

⎪<br />

⎪⎩ Δβ ⋅Δα −Δ γ = ⋅<br />

y x z<br />

i−1 nT<br />

xi i−1 r<br />

yi<br />

y x z<br />

i−1 nT<br />

xi i−1 r<br />

zi<br />

y z x<br />

i−1 nT<br />

y i<br />

i−1 r<br />

zi<br />

102<br />

;<br />

;<br />

;<br />

;<br />

;<br />

(3.17)<br />

(3.18)<br />

Pentru a demonstra identitatea de mai sus, se înlocuiesc expresiile ce caracterizează erorile<br />

unghiulare Δ αz<br />

, Δ βy<br />

şi Δ γ x , din sistemul (3.17) în prima expresie a sistemului de ecuaţii notat cu


(3.18) astfel obţinându-se următoarea identitate:<br />

( ) ( ) ( )<br />

i−1 nT i−1 r i−1 nT i−1 r i−1 nT i−1 r i−1 nT i−1 r<br />

zi xi zi yi yi xi xi y i<br />

− ⋅ ⋅ ⋅ − ⋅ = ⋅ . (3.19)<br />

Identitatea matriceală (3.19) mai poate fi scrisă şi într-o formă echivalentă, unde din condiţia de<br />

i−1 nT<br />

coliniaritate se poate observa că produsul scalar ( zi i−1 nT<br />

zi ) 1<br />

( ) ( ) ( )<br />

103<br />

⋅ = , expresia devenind:<br />

i−1 r i−1 nT i−1 nT i−1 r i−1 nT i−1 r i−1 r i−1 r i−1 nT i−1 nT i−1 r<br />

xi zi zi yi yi xi xi yi yi xi y i<br />

− ⋅ ⋅ ⋅ − ⋅ =− ⋅ − = ⋅ . (3.20)<br />

În continuare, expresia (3.20) se înmulţeşte în membrul stâng cu produsul<br />

i−1 r i−1 r<br />

unde ( )<br />

( ) ( )<br />

i−1 nT i−1 r<br />

i i<br />

x ⋅ x = 1,<br />

rezultând:<br />

i−1 nT i−1 r i−1 r i−1 r i−1 nT i−1 r i−1 r i−1 nT i−1 nT i−1 r<br />

xi xi xi y i xi xi xi y i xi y i<br />

− ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅ = ⋅ . (3.21)<br />

x ⋅ x = 1 , din aceeaşi condiţie de coliniaritate.<br />

i i<br />

După efectuarea tuturor transformărilor va rezulta următoarea expresie finală:<br />

Vectorii<br />

i−1 nT<br />

xi<br />

şi<br />

i−1 nT<br />

y i<br />

( ) ( )<br />

i−1 nT i−1 r i−1 nT i−1 nT i−1 nT i−1 r<br />

xi yi xi y i xi y i<br />

− ⋅ + ⋅ = ⋅ . (3.22)<br />

fiind ortogonali, produsul lor scalar va fi nul, identitatea (3.22) devenind:<br />

( )<br />

i−1 nT i−1 r i−1 nT i−1 r<br />

xi yi xi y i<br />

− ⋅ = ⋅ .<br />

Astfel, prima identitate a sistemului (3.18) a fost demonstrată. Semnul minus din membrul stâng ne<br />

indică faptul că termenul ( βy γ x αz)<br />

Δ ⋅Δ −Δ aparţine unei matrice antisimetrice.<br />

i−1 nT i−1 r<br />

y x z i i<br />

Următorul pas constă în verificarea celei de-a doua identităţi: Δ β +Δγ ⋅Δ α = x ⋅ z .<br />

În acest scop, se înlocuiesc expresiile ce caracterizează erorile unghiulare Δ αz<br />

, Δ βy<br />

şi Δ γ x , din<br />

sistemul (3.17) în cea de-a doua expresie a sistemului (3.18), rezultând următoarea identitate:<br />

( ) ( ) ( )<br />

i−1 nT i−1 r i−1 nT i−1 r i−1 nT i−1 r i−1 nT i−1 r<br />

zi xi zi yi yi xi xi zi<br />

− ⋅ + ⋅ ⋅ ⋅ = ⋅ . (3.23)<br />

i−1 nT i−1 r i−1 nT i−1 r i−1 nT i−1 nT i−1 r i−1 r<br />

unde, ( ) ( ) ( ) ( )<br />

z ⋅ y ⋅ y ⋅ x = z ⋅ y ⋅ y ⋅ x = 0 , rezultă din condiţia de<br />

i i i i i i i i<br />

ortogonalitate a axelor celor două sisteme, { }<br />

n , respectiv { }<br />

r .<br />

( )<br />

i−1 nT i−1 r i−1 nT i−1 r<br />

zi xi xi zi<br />

În continuare se verifică ultima identitate a sistemului:<br />

− ⋅ = ⋅ . (3.24)<br />

i−1 nT i−1 r<br />

y z x y i zi<br />

Δβ ⋅Δα −Δ γ = ⋅ . (3.25)<br />

Pentru a demonstra identitatea de mai sus, se înlocuiesc expresiile pentru erorile unghiulare Δ αz<br />

,<br />

Δ βy<br />

şi γ x<br />

Δ , din sistemul (3.17) în ultima expresie a sistemului (3.18), rezultând:<br />

.


<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

.<br />

i−1 nT i−1 r i−1 nT i−1 r i−1 nT i−1 r i−1 nT i−1 nT i−1 r i−1 r i−1 nT i−1 r<br />

− z ⋅ x ⋅ y ⋅ x − z ⋅ y =− z ⋅ y ⋅ x ⋅ x − z ⋅ y .(3.26)<br />

( ) ( ) ( )<br />

i−1 r<br />

Din aplicarea condiţiilor de coliniaritate ( xi i−1 r<br />

xi ) 1<br />

sistemului { n } i−1 nT<br />

, ( z<br />

i−1 nT<br />

y ) 0<br />

i i i i i i i i i i i i<br />

i i<br />

⋅ = , respectiv de ortogonalitate a axelor<br />

⋅ = , pentru identitatea (3.26), se obţine în final expresia:<br />

( ) ( )<br />

⎧ i−1 nT i−1 nT i−1 r i−1 r i−1 nT i−1 r i−1 nT i−1 r<br />

zi y i xi xi zi yi yi z ⎫<br />

⎪− ⋅ ⋅ ⋅ − ⋅ = ⋅ i ⎪<br />

⎨ ⎬,<br />

(3.27)<br />

i−1 nT i−1 r i−1 nT i−1 r<br />

⎪⎩ − zi ⋅ yi = yi ⋅ zi<br />

⎪⎭<br />

identitatea (3.25) este astfel verificată (se ţine seama de faptul că (3.16) este o matrice antisimetrică).<br />

B. Determinarea erorilor unghiulare pentru setul de unghiuri ( α x −βy − γ x)<br />

⎡1 ⎢<br />

⎢<br />

0<br />

⎢⎣0 0<br />

1<br />

Δαx 0 ⎤ ⎡ 1<br />

⎢<br />

−Δα ⎥<br />

x 0<br />

⎥<br />

⋅<br />

⎢<br />

1 ⎥⎦ ⎢<br />

⎣−Δβy 0<br />

1<br />

0<br />

Δβy<br />

⎤ ⎡1 0<br />

⎥ ⎢<br />

⎥<br />

⋅<br />

⎢<br />

0<br />

1 ⎥<br />

⎦ ⎢⎣0 0<br />

1<br />

Δγ<br />

x<br />

0 ⎤<br />

−Δγ<br />

⎥<br />

x⎥<br />

=<br />

1 ⎥⎦<br />

; (3.28)<br />

⎡ 1 Δβ ⋅Δγ Δβ ⎤ ⎡ 1 0 Δβ<br />

⎤<br />

y x y y<br />

⎢<br />

βy αx 1 γ x αx γ x α<br />

⎥ ⎢<br />

x 0 1 γ x α<br />

⎥<br />

⎢<br />

Δ ⋅Δ −Δ ⋅Δ −Δ −Δ<br />

⎥ ⎢<br />

−Δ −Δ x⎥<br />

⎢ −Δβy Δ γ x + Δαx 1−Δγ x ⋅Δαx⎥ ⎢−Δβy Δ γ x + Δαx<br />

1 ⎥<br />

= =<br />

⎣ ⎦ ⎣ ⎦<br />

Prin identificarea termenilor din matricea (3.28) cu termenii corespunzători din matricea (3.10), rezultă:<br />

i−1 nT i−1 r<br />

y xi zi<br />

Δ β = ⋅ ; (3.29)<br />

i−1 nT i−1 r i−1 nT i−1 r 1 i−1 nT i−1 r<br />

{ ( )<br />

Δβy ⋅Δ γ x = xi ⋅ yi , unde Δ βy = xi ⋅ zi ⇒ Δ γ x = ⋅ xi ⋅ y i , Δβy ≠ 0<br />

Δβ<br />

de unde rezultă:<br />

i−1 nT i−1 r<br />

xi ⋅ yi<br />

x i−1 nT i−1 r<br />

xi ⋅ zi<br />

Δ γ =<br />

i−1 nT i−1 r 1 i−1 nT i−1 r<br />

Δβy ⋅Δ αx = y i ⋅ xi , ⇒ Δ αx = ⋅( y i ⋅ xi ) , Δβy ≠ 0<br />

Δβ<br />

Din identitatea (3.29) se obţine următoarea valoare pentru eroarea unghiulară Δ α x :<br />

i−1 nT i−1 r<br />

y i ⋅ xi<br />

x i−1 nT i−1 r<br />

xi ⋅ zi<br />

Δ α =<br />

Următoarele ecuaţii suplimentare vor fi utilizate pentru verificarea validităţii calculelor efectuate anterior.<br />

⎧Δ ⎪ γ +Δ α = ⋅<br />

⎨<br />

⎪⎩ −Δ ( γ +Δ α ) = ⋅<br />

i−1 nT i−1 r<br />

x x zi yi<br />

i−1 nT i−1 r i−1 nT i−1 r<br />

⇒ z<br />

i 1 nT i 1 r<br />

i ⋅ yi =− yi ⋅ z<br />

− −<br />

i<br />

x x yi zi<br />

104<br />

y<br />

y<br />

( )<br />

C. Determinarea erorilor unghiulare pentru setul de unghiuri ( α −β −<br />

γ )<br />

x z x<br />

(3.30)<br />

(3.31)<br />

(3.32)


⎡1 0 0 ⎤ ⎡ 1 −Δβ<br />

1 z ⎤ ⎡1 0 0 ⎤ ⎡ −Δβz<br />

0 ⎤<br />

⎢0 1 −Δα ⎥⋅⎢Δβ1 0⎥⋅<br />

⎢0 1 −Δγ<br />

⎥=<br />

⎢Δβ1−Δγ −Δα<br />

⎥<br />

(3.33)<br />

x z<br />

x<br />

z x x<br />

⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />

⎢⎣0 Δα 0 x 1 ⎥⎦ ⎢⎣ 0 0 1⎥⎦<br />

⎢⎣0 Δγx 1 ⎥⎦<br />

⎢⎣ Δ γx +Δαx<br />

1 ⎥⎦<br />

de unde se obţine:<br />

i−1 nT i−1 r<br />

z y i xi<br />

Δ β = ⋅ (3.34)<br />

i−1 nT i−1 r 1 i−1 nT i−1 r<br />

Δβz ⋅Δ γ x = xi ⋅ zi ⇒ Δ γ x = ⋅( xi ⋅ zi ), Δβz ≠ 0<br />

Δβ<br />

i−1 nT i−1 r<br />

xi ⋅ zi<br />

x i−1 nT i−1 r<br />

y i ⋅ xi<br />

Δ γ =<br />

i−1 nT i−1 r 1 i−1 nT i−1 r<br />

Δβz ⋅Δ αx = zi ⋅ xi ⇒ Δ αx = ⋅( zi ⋅ xi ), Δβz ≠ 0<br />

Δβ<br />

Astfel, din ecuaţia (3.37) se obţine valoarea erorii unghiulare Δ α x , după cum rezultă din expresia:<br />

i−1 nT i−1 r<br />

zi ⋅ xi<br />

x i−1 nT i−1 r<br />

y i ⋅ xi<br />

Δ α =<br />

105<br />

z<br />

z<br />

.<br />

(3.35)<br />

(3.36)<br />

(3.37)<br />

; (3.38)<br />

Următoarele ecuaţii determinate prin identificarea termenilor corespunzători din matricea (3.28) sunt<br />

utile în verificarea calculului erorilor unghiulare:<br />

⎧Δ<br />

⎪<br />

γ + Δ α = ⋅<br />

⎨<br />

⎪⎩ 1−Δγ ⋅Δ α = z ⋅ z<br />

i−1 nT i−1 r<br />

x x zi y i<br />

i−1 nT i−1 r<br />

x x i i<br />

D. Determinarea erorilor unghiulare pentru setul de unghiuri ( α y −βz− γ x)<br />

; (3.39)<br />

⎡ 1 0 Δα y ⎤ ⎡ 1 −Δβ 1<br />

z ⎤ ⎡1 0 0 ⎤ ⎡ −Δβz Δαy<br />

⎤<br />

⎢<br />

0 1 0<br />

⎥ ⎢<br />

βz<br />

1 0<br />

⎥ ⎢<br />

0 1 γ<br />

⎥ ⎢<br />

Δβ x<br />

z 1 −Δγ<br />

⎥<br />

⎢ ⎥<br />

⋅ Δ ⋅ x<br />

⎢<br />

−Δ<br />

⎥<br />

= ⎢ ⎥ (3.40)<br />

⎢ ⎥<br />

⎢<br />

⎣−Δαy 0 1 ⎥<br />

⎦ ⎢⎣ 0 0 1⎥⎦<br />

⎢⎣0 Δγ<br />

x 1 ⎥⎦<br />

⎢−Δαy Δγ<br />

x 1 ⎥<br />

⎣ ⎦<br />

Se identifică termenii din matricea (3.40) cu termenii corespunzători din matricea (3.10), astfel:<br />

i−1 nT i−1 r<br />

( z x )<br />

⎧Δ α =− ⋅<br />

⎪<br />

⎨Δ<br />

β = ⋅<br />

⎪<br />

⎪⎩<br />

Δ γ =− ⋅<br />

y i i<br />

z<br />

i−1 nT<br />

y i<br />

i−1 r<br />

xi<br />

i−1 nT i−1 r<br />

( y z )<br />

x i i<br />

Pentru verificare, se mai pot scrie următoarele identităţi:<br />

i−1 nT i−1 r<br />

⎧Δ αy+Δβz ⋅Δ γ x = xi ⋅ zi<br />

;<br />

⎪ i−1 nT i−1 r<br />

⎨Δγ<br />

x ⋅Δαy −Δ βz<br />

= xi ⋅ yi<br />

;<br />

⎪ i−1 nT i−1 r<br />

⎪⎩ Δ γ x +Δβz ⋅Δ αy<br />

= zi ⋅ y i ;<br />

;<br />

;<br />

;<br />

(3.41)<br />

(3.42)


<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

.<br />

α −β − γ<br />

E. Determinarea erorilor unghiulare pentru setul de unghiuri ( x z y)<br />

⎡1 0 0 ⎤ ⎡ 1 −Δβz<br />

⎤ ⎡ 1 0 Δγ y ⎤ ⎡ 1 −Δβz Δγ<br />

y ⎤<br />

⎢<br />

0 1 α<br />

⎥ ⎢<br />

x β<br />

0 1 0<br />

z 1 0<br />

⎥ ⎢ ⎥ ⎢<br />

Δβz 1 −Δα<br />

⎥<br />

x<br />

⎢<br />

−Δ<br />

⎥<br />

⋅ Δ ⋅<br />

⎢ ⎥<br />

= ⎢ ⎥ ; (3.43)<br />

⎢ ⎥<br />

⎢⎣0 Δα x 1 ⎥⎦ ⎢⎣ 0 0 1⎥⎦<br />

⎢<br />

⎣−Δγ y 0 1 ⎥<br />

⎦<br />

⎢−Δγ y Δαx<br />

1 ⎥<br />

⎣ ⎦<br />

Se identifică termenii din matricea (3.43) cu termenii corespunzători din matricea (3.10), astfel:<br />

⎧Δ<br />

i−1 nT i−1 r<br />

α x = zi ⋅ y i<br />

⎪ i−1 nT i−1 r<br />

⎨Δ<br />

βz<br />

=−( xi ⋅ yi<br />

);<br />

⎪ i−1 nT i−1 r<br />

⎪⎩ Δ γ y = xi ⋅ zi<br />

Pentru verificare, se mai pot scrie următoarele identităţi:<br />

⎧Δβ ⋅Δγ −Δ α = ⋅<br />

⎪<br />

⎨Δ<br />

β +Δγ ⋅Δ α = ⋅<br />

⎪<br />

⎪⎩ Δβ ⋅Δα −Δ γ = ⋅<br />

z y x<br />

i−1 nT<br />

y i<br />

i−1 r<br />

zi<br />

z y x<br />

i−1 nT<br />

y i<br />

i−1 r<br />

xi<br />

z x y<br />

i−1 nT<br />

zi i−1 r<br />

xi<br />

F. Determinarea erorilor unghiulare pentru setul de unghiuri ( α y −βz− γ y)<br />

106<br />

;<br />

(3.44)<br />

(3.45)<br />

⎡ 1 0 Δαy⎤ ⎡ 1 −Δβz<br />

⎤ ⎡ 1 0 Δγy⎤ ⎡ 1 −Δβz Δ αy + Δγy⎤<br />

⎢<br />

0 1 0<br />

⎥ ⎢<br />

β<br />

0 1 0<br />

z 1 0<br />

⎥ ⎢ ⎥ ⎢<br />

Δβz<br />

1 0<br />

⎥<br />

⎢ ⎥<br />

⋅ Δ ⋅<br />

⎢ ⎥<br />

= ⎢ ⎥ (3.46)<br />

⎢ ⎥<br />

⎣<br />

⎢−Δαy 0 1 ⎦<br />

⎥ ⎢⎣ 0 0 1⎥⎦<br />

⎣<br />

⎢−Δγy 0 1 ⎦<br />

⎥ ⎢−Δαy −Δγy<br />

0 1 ⎥<br />

⎣ ⎦<br />

de unde se obţine:<br />

i−1 nT i−1 r<br />

z y i xi<br />

Δ β = ⋅ (3.47)<br />

i−1 nT i−1 r 1 i−1 nT i−1 r<br />

Δβz ⋅Δ γ y = y i ⋅ zi ⇒ Δ γ y = ⋅( y i ⋅ zi ), Δβz ≠ 0<br />

Δβ<br />

i−1 nT i−1 r<br />

y i ⋅ zi<br />

x i−1 nT i−1 r<br />

y i ⋅ xi<br />

Δ γ =<br />

i−1 nT i−1 r 1 i−1 nT i−1 r<br />

Δβz ⋅Δ αy = zi ⋅ y i ⇒ Δ αy = ⋅( zi ⋅ y i ), Δβz ≠ 0<br />

Δβ<br />

z<br />

z<br />

(3.48)<br />

(3.49)<br />

(3.50)<br />

Astfel, din ecuaţia (3.47) se obţine valoarea erorii unghiulare Δ α y , după cum rezultă din expresia de mai jos<br />

i−1 nT i−1 r<br />

zi ⋅ y i<br />

y i−1 nT i−1 r<br />

y i ⋅ xi<br />

Δ α =<br />

; (3.51)<br />

G. Determinarea erorilor unghiulare pentru setul de unghiuri ( α y −βx −<br />

γ y)


⎡ 1 0 Δαy⎤ ⎡1 0 0 ⎤ ⎡ 1 0 Δγ<br />

1 0<br />

y⎤<br />

⎡ Δ αy +Δγy⎤<br />

⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />

⎢ 0 1 0 ⎥⋅⎢0 1 −Δβ 0 1<br />

x ⎥⋅<br />

⎢ 0 1 0 ⎥=<br />

⎢ −Δβx<br />

⎥ (3.52)<br />

⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />

⎢−Δαy 0 1 ⎥ ⎣0 Δβx 1 ⎦ ⎢−Δγy 0 1 ⎥ ⎢−Δαy −Δγy Δβx<br />

1<br />

⎣ ⎦ ⎣ ⎦ ⎣ ⎥⎦<br />

de unde se obţine:<br />

i−1 nT i−1 r<br />

x zi y i<br />

Δ β = ⋅ (3.53)<br />

i−1 nT i−1 r 1 i−1 nT i−1 r<br />

Δβx ⋅Δ αy = xi ⋅ yi ⇒ Δ αy = ⋅( xi ⋅ y i ), Δβx ≠ 0<br />

Δβ<br />

i−1 nT i−1 r<br />

xi ⋅ yi<br />

y i−1 nT i−1 r<br />

zi ⋅ y i<br />

Δ α =<br />

i−1 nT i−1 r 1 i−1 nT i−1 r<br />

Δβx ⋅Δ γ y = y i ⋅ xi ⇒ Δ γ y = ⋅( y i ⋅ xi ), Δβx ≠ 0<br />

Δβ<br />

Astfel, din ecuaţia (3.53) se obţine valoarea erorii unghiulare Δ γ y , după cum rezultă din expresia:<br />

i−1 nT i−1 r<br />

y i ⋅ xi<br />

y i−1 nT i−1 r<br />

zi ⋅ y i<br />

Δ γ =<br />

107<br />

x<br />

x<br />

.<br />

(3.54)<br />

(3.55)<br />

(3.56)<br />

; (3.57)<br />

Următoarele ecuaţii determinate prin identificarea termenilor corespunzători din matricele (3.52),<br />

respectiv (3.10) sunt utile în verificarea calculului erorilor unghiulare:<br />

⎧Δ γ + Δ α = ⋅<br />

⎪<br />

⎨<br />

⎪<br />

⎩1−Δγ<br />

⋅Δ α = z ⋅ z<br />

i−1 nT i−1 r<br />

y y xi zi<br />

i−1 nT i−1 r<br />

y y i i<br />

H. Determinarea erorilor unghiulare pentru setul de unghiuri ( αz−βx − γ y)<br />

; (3.58)<br />

⎡ 1 −Δαz<br />

⎤ ⎡1 0 0 ⎤ ⎡ 1 0 Δγ y ⎤ ⎡ 1 −Δαz Δγ<br />

y ⎤<br />

⎢Δαz1 0⎥⋅⎢0 1 −Δβ<br />

⎥<br />

x ⋅ ⎢ 0 1 0 ⎥ = ⎢ Δαz 1 −Δβ⎥<br />

x ; (3.59)<br />

⎢<br />

0 0 1<br />

⎥ ⎢<br />

0 βx 1<br />

⎥ ⎢ ⎥ ⎢ ⎥<br />

⎣ ⎦ ⎣ Δ ⎦ ⎣−Δγ y 0 1 ⎦ ⎢⎣ −Δγ y Δβx<br />

1 ⎥⎦<br />

Se identifică termenii din matricea (3.59) cu termenii corespunzători din matricea (3.10), astfel:<br />

i−1 nT i−1 r<br />

( x y )<br />

⎧Δ α =− ⋅<br />

⎪<br />

⎨Δ<br />

β = ⋅<br />

⎪<br />

⎪⎩<br />

Δ γ =− ⋅<br />

z i i<br />

x<br />

i−1 nT<br />

zi i−1 r<br />

y i<br />

i−1 nT i−1 r<br />

( z x )<br />

y i i<br />

Pentru verificare, se mai pot scrie următoarele identităţi:<br />

;<br />

(3.60)


<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

.<br />

⎧Δ<br />

i−1 nT i−1 r<br />

αz +Δβx ⋅Δ γ y = y i ⋅ xi<br />

⎪ i−1 nT i−1 r<br />

⎨Δαz<br />

⋅Δγ y −Δ βx<br />

= y i ⋅ zi<br />

(3.61)<br />

⎪ i−1 nT i−1 r<br />

⎩Δ<br />

γ y +Δαz ⋅Δ βx<br />

= xi ⋅ zi<br />

I. Determinarea erorilor unghiulare pentru setul de unghiuri ( α y −βx − γ z)<br />

⎡ 1 0 Δα ⎤ ⎡1 0 0 ⎤ ⎡ 1 −Δγ0⎤<br />

⎡ 1 −Δγ Δα<br />

⎤<br />

y z<br />

z y<br />

⎢ ⎥<br />

0 1 0<br />

⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />

⎢ ⎥⋅ 0 1 βx γ z 1 0 Δγz 1 −Δβ<br />

⎢ −Δ ⎥⋅ ⎢Δ⎥ = ⎢ x⎥<br />

⎢−Δαy 0 1 ⎥ ⎢0 Δβx 1 ⎥ ⎢ 0 0 1⎥<br />

⎢−Δαy Δβx<br />

1 ⎥<br />

⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦<br />

Se identifică termenii din matricea (3.62) cu termenii corespunzători din matricea (3.10), astfel:<br />

i−1 nT i−1 r<br />

⎧Δ α y = xi ⋅ zi<br />

⎪ i−1 nT i−1 r<br />

⎨Δ<br />

βx<br />

=−( y i ⋅ zi<br />

);<br />

⎪<br />

⎪ i−1 nT i−1 r<br />

⎩Δ<br />

γ z = yi ⋅ xi<br />

Pentru verificare, se mai pot scrie următoarele identităţi:<br />

− −<br />

⎧Δβx⋅Δγ z −Δ αy<br />

= zi ⋅ xi<br />

⎪ − −<br />

⎨Δ<br />

β +Δα ⋅Δ γ = z ⋅ y<br />

⎪ − −<br />

⎪⎩ Δα ⋅Δβ −Δ γ = x ⋅ y<br />

108<br />

i 1 nT i 1 r<br />

i 1 nT i 1 r<br />

x y z i i<br />

i 1 nT i 1 r<br />

y x z i i<br />

J. Determinarea erorilor unghiulare pentru setul de unghiuri ( α −β − γ )<br />

z x<br />

z<br />

⎢ ⎥ ⎢ ⎥<br />

⎢⎣ 0 0 1⎥⎦ ⎢0 βx<br />

1 ⎥ ⎢⎣ 0 0 1⎥⎦<br />

z x z<br />

⎡ 1 Δαz 0⎤ ⎡1 0 0 ⎤ ⎡ 1 Δγ<br />

1 z 0⎤<br />

⎡ −Δγz−Δαz 0 ⎤<br />

⎢−Δα 1 0⎥⋅⎢0 1 −Δβ<br />

⎥⋅<br />

⎢−Δγ 1 0⎥=<br />

⎢Δ αz+Δγz 1 −Δβ<br />

⎥<br />

x<br />

⎢ ⎥<br />

⎢ ⎥<br />

⎣ Δ ⎦ ⎢⎣ 0 Δβx<br />

1 ⎥⎦<br />

astfel se obţine:<br />

i−1 nT i−1 r<br />

x zi y i<br />

(3.62)<br />

(3.63)<br />

(3.64)<br />

(3.65)<br />

Δ β = ⋅ (3.66)<br />

i−1 nT i−1 r 1 i−1 nT i−1 r<br />

Δβx ⋅Δ αz = xi ⋅ zi ⇒ Δ αz = ⋅( xi ⋅ zi ), Δβx ≠ 0<br />

Δβ<br />

i−1 nT i−1 r<br />

xi ⋅ zi<br />

z i−1 nT i−1 r<br />

zi ⋅ y i<br />

Δ α =<br />

i−1 nT i−1 r 1 i−1 nT i−1 r<br />

Δβx ⋅Δ γ z = zi ⋅ xi ⇒ Δ γz = ⋅( zi ⋅ xi ), Δβx ≠ 0<br />

Δβ<br />

Astfel, din ecuaţia (3.66) se obţine valoarea erorii unghiulare Δ γ z , după cum rezultă din expresia:<br />

i−1 nT i−1 r<br />

zi ⋅ xi<br />

z i−1 nT i−1 r<br />

zi ⋅ y i<br />

Δ γ =<br />

x<br />

x<br />

(3.67)<br />

(3.68)<br />

(3.69)<br />

; (3.70)


Următoarele ecuaţii determinate prin identificarea termenilor corespunzători din matricele (3.65),<br />

respectiv (3.10) sunt utile în verificarea calculului erorilor unghiulare:<br />

i−1 nT i−1 r<br />

⎧Δ ⎪ αz +Δ γ z= yi ⋅ xi<br />

⎨<br />

⎪⎩ 1−Δα ⋅Δ γ = x ⋅ x<br />

i−1 nT i−1 r<br />

z z i i<br />

K. Determinarea erorilor unghiulare pentru setul de unghiuri ( αz−βy − γz)<br />

109<br />

; (3.71)<br />

⎡ 1 −Δαz 0⎤ ⎡ 1 0 Δβ<br />

1<br />

y ⎤ ⎡ 1 −Δγz<br />

0⎤<br />

⎡ −Δγ z − Δαz Δβy⎤<br />

⎢ ⎢ ⎥<br />

⎢ ⎥<br />

Δαz 1 0⎥⋅ 0 1 0 ⎢ γz<br />

1 0⎥<br />

Δ αz +Δγz<br />

1 0<br />

⎢ ⎥<br />

⋅ Δ = ⎢ ⎥ (3.72)<br />

⎢ ⎥ ⎢ ⎥<br />

⎢⎣ 0 0 1⎥⎦ ⎢−Δ ⎣ βy<br />

0 1 ⎥⎦<br />

⎢⎣ 0 0 1⎥⎦<br />

⎢ −Δβy 0 1 ⎥<br />

⎣ ⎦<br />

de unde se obţine:<br />

i−1 nT i−1 r<br />

y xi zi<br />

Δ β = ⋅ (3.73)<br />

i−1 nT i−1 r 1 i−1 nT i−1 r<br />

( ) ( ),<br />

Δβ ⋅Δ α =− y ⋅ z ⇒ Δ α =− ⋅ y ⋅ z Δβ ≠ 0<br />

y z i i z i i y<br />

Δβy<br />

i−1 nT i−1 r<br />

y i ⋅ zi<br />

z i−1 nT i−1 r<br />

xi ⋅ zi<br />

Δ α =−<br />

i−1 nT i−1 r 1 i−1 nT i−1 r<br />

Δβy ⋅Δ γ z = zi ⋅ y i ⇒ Δ γ z = ⋅( zi ⋅ y i ), Δβy ≠ 0<br />

Δβ<br />

Din ecuaţia (3.73) se obţine valoarea erorii unghiulare Δ γ z , după cum rezultă din expresia de mai jos:<br />

i−1 nT i−1 r<br />

zi ⋅ y i<br />

z i−1 nT i−1 r<br />

xi ⋅ zi<br />

Δ γ =<br />

y<br />

.<br />

(3.74)<br />

(3.75)<br />

(3.76)<br />

; (3.77)<br />

Următoarele ecuaţii determinate prin identificarea termenilor corespunzători din matricele (3.72), respectiv<br />

(3.10) sunt utile în verificarea calculului erorilor unghiulare:<br />

i−1 nT i−1 r<br />

⎧Δ αz +Δ γz=<br />

yi ⋅ xi<br />

⎪<br />

⎨<br />

⎪<br />

⎩1−Δα<br />

⋅Δ γ = x ⋅ x<br />

i−1 nT i−1 r<br />

z z i i<br />

L. Determinarea erorilor unghiulare pentru setul de unghiuri ( α x −βy − γz)<br />

; (3.78)<br />

⎡1 0 0 ⎤ ⎡ 1 0 Δβ ⎤ ⎡ 1 −Δγ0⎤<br />

⎡ 1 −Δγ Δβ<br />

⎤<br />

y z<br />

z y<br />

⎢ ⎥ ⎢ ⎥<br />

z 0 1 0<br />

⎢ ⎥ ⎢ ⎥<br />

0 1 α γ z 1 0 Δγz 1 −Δα<br />

⎢ −Δ ⎥⋅⎢ ⎥⋅<br />

⎢Δ⎥ = ⎢ x⎥<br />

⎢0 Δαz 1 ⎥ ⎢−Δβy 0 1 ⎥ ⎢ 0 0 1⎥<br />

⎢−Δβy Δαx<br />

1 ⎥<br />

⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦<br />

Se identifică termenii din matricea (3.79) cu termenii corespunzători din matricea (3.10), astfel:<br />

(3.79)


<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

.<br />

⎧Δ<br />

i−1 nT i−1 r<br />

α x = −( y i ⋅ zi<br />

)<br />

⎪ i−1 nT i−1 r<br />

⎨Δ<br />

βy<br />

= xi ⋅ zi<br />

;<br />

(3.80)<br />

⎪ i−1 nT i−1 r<br />

⎪⎩<br />

Δ γ z =−( xi ⋅ yi<br />

)<br />

Pentru verificare, se mai pot scrie următoarele identităţi:<br />

i−1 nT i−1 r<br />

⎧Δ αx+Δβy ⋅Δ γz<br />

= zi ⋅ y i<br />

⎪ i−1 nT i−1 r<br />

⎨Δγ<br />

z ⋅Δαx −Δ βy<br />

= zi ⋅ xi<br />

(3.81)<br />

⎪<br />

i−1 nT i−1 r<br />

⎪Δ ⎩ αx⋅Δ βy +Δ γz<br />

= y i ⋅ xi<br />

Operatorul matriceal de diferențiere a erorilor a fost determinat pentru toate cele douăsprezece<br />

seturi de matrice de rotație rezultantă, acestea din urmă fiind prezentate în detaliu și în cadrul capitolului 3.<br />

Astfel, în Tabelul 3.13 sunt prezentate expresiile analitice ce definesc operatorul de diferențiere în<br />

raport cu erorile δTii− 1 , echivalentul operatorului Uicker, în cadrul modelului geometric cu erori.<br />

1. Pentru matricea de tipul (z – y – x)<br />

Operatorul matriceal al erorilor primare Tabelul 3.13<br />

110<br />

( ψ )<br />

⎡ Δ × Δ pii<br />

−1<br />

⎤<br />

δTii−1 ( z− y − x)<br />

= ⎢ ⎥<br />

⎢0 0 0 0 ⎥<br />

⎣ ⎦<br />

; (3.82)<br />

⎡ 0<br />

Δβy· sγ x −Δαz· cβy· cγ x Δ βy· cγ x +Δαz·<br />

cβy· sγ<br />

x⎤<br />

⎢ ⎥<br />

Δ ( ψ × ) = ⎢ Δαz· cβy· cγ x −Δβy· sγ x 0<br />

Δαz· sβy<br />

−Δγ<br />

x ⎥<br />

⎢ ⎥<br />

⎢−Δβy· cγ x −Δαz· cβy· sγ x Δγ x −Δαz·<br />

sβy<br />

0<br />

⎣ ⎥⎦<br />

⎡ Δpx · cα 1 z· cβy −Δ pz · sβ · ·<br />

1 y +Δpy<br />

cβ 1 y sαz<br />

⎤<br />

ii− ii− ii−<br />

⎢ ⎥<br />

Δ p p ·( · · · ) ·( · · · ) · ·<br />

1 y cα 1 z cγ x sα ii ii z sβy sγ x px cγ ii 1 x sαz cαz sβy sγ x pz cβ ii 1 y sγ<br />

− = ⎢ Δ + −Δ − +Δ<br />

⎥<br />

x<br />

⎢ − − − ⎥<br />

⎢Δ px ·( sα · c · · ) ·( · c · · ) · ·<br />

ii 1 z sγ x + αz cγ x sβy −Δpy cα ii 1 z sγ x − γ x sαz sβy +Δpz cβ ii 1 y cγ⎥<br />

⎣ − − −<br />

x ⎦<br />

2. Pentru matricea de tipul (x – y – x)<br />

( ψ )<br />

( ψ )<br />

⎡ Δ × Δ pii<br />

−1<br />

⎤<br />

δTii−1 ( x− y − x)<br />

= ⎢ ⎥<br />

⎢0 0 0 0 ⎥<br />

⎣ ⎦<br />

(3.83)<br />

(3.84)<br />

; (3.85)<br />

⎡ 0<br />

Δβy· sγ x −Δαx· cγ x· sβy Δ βy· cγ x +Δαx·<br />

sβy· sγ<br />

x⎤<br />

⎢ ⎥<br />

× =⎢ Δαx· cγ x· sβy −Δβy· sγ x 0<br />

−Δγ x −Δαx·<br />

cβy<br />

⎥ ; (3.86)<br />

⎢ ⎥<br />

⎢⎣ −Δβy· cγ x − Δαx· sβy· sγ x Δ γ x + Δαx·<br />

cβy<br />

0 ⎥⎦<br />

⎡ Δpx · cβ 1 y −Δ pz · cα · · ·<br />

1 x sβy +Δpy<br />

sα 1 x sβy<br />

⎤<br />

ii− ii− ii−<br />

⎢ ⎥<br />

Δ pii−1 = ⎢Δpy·( cα· · · ) ·( · · · ) · ·<br />

ii 1 x cγ x − cβysαxsγ x +Δ pz cγ ii 1 x sαx+ cαxcβysγ x +Δpxsβ<br />

ii 1 y sγ<br />

x ⎥<br />

− − −<br />

⎢ ⎥<br />

⎢Δpx· cγ · ·( · · · ) ·( · · · )<br />

ii 1 x sβy −Δpz sα ii 1 x sγ x −cαx cβy cγ x −Δ py cα ii 1 x sγ x + cβy cγ x sα<br />

− − −<br />

x ⎥<br />

⎣ ⎦<br />

;(3.87)


3. Pentru matricea de tipul (x – z – x)<br />

( ψ )<br />

δ ii−1<br />

111<br />

( ψ )<br />

⎡ Δ × Δ pii<br />

−1<br />

⎤<br />

T ( x−z− x)<br />

= ⎢ ⎥ ; (3.88)<br />

⎢0 0 0 0 ⎥<br />

⎣ ⎦<br />

⎡ 0<br />

Δβy· sγ x −Δαx· cγ x· sβy Δ βy· cγ x +Δαx·<br />

sβy· sγ<br />

x⎤<br />

⎢ ⎥<br />

× =⎢ Δαx· cγ x· sβy −Δβy· sγ x 0<br />

−Δγ x −Δαx·<br />

cβy<br />

⎥ ; (3.89)<br />

⎢ ⎥<br />

⎢⎣ −Δβy· cγ x − Δαx· sβy· sγ x Δ γ x + Δαx·<br />

cβy<br />

0 ⎥⎦<br />

⎡ Δpx · cβ 1 y −Δ pz · cα · · ·<br />

1 x sβy +Δpy<br />

sα 1 x sβy<br />

⎤<br />

ii− ii− ii−<br />

⎢ ⎥<br />

Δ pii−1 = ⎢Δpy·( cα· · · ) ·( · · · ) · ·<br />

ii 1 x cγ x − cβysαxsγ x +Δ pz cγ ii 1 x sαx+ cαxcβysγ x +Δpxsβ<br />

ii 1 y sγ<br />

x ⎥<br />

− − −<br />

⎢ ⎥<br />

⎢Δpx· cγ · ·( · · · ) ·( · · · )<br />

ii 1 x sβy −Δpz sα ii 1 x sγ x −cαx cβy cγ x −Δ py cα ii 1 x sγ x + cβy cγ x sα<br />

⎣ − − −<br />

x ⎥⎦<br />

4. Pentru matricea de tipul (y – z – x)<br />

( ψ )<br />

⎡ Δ × Δ pii<br />

−1<br />

⎤<br />

δTii−1 ( y −z− x)<br />

= ⎢ ⎥<br />

⎢0 0 0 0 ⎥<br />

⎣ ⎦<br />

.<br />

; (3.90)<br />

; (3.91)<br />

⎡ 0<br />

Δβy· sγ x −Δαx· cγ x· sβy Δ βy· cγ x +Δαx·<br />

sβy· sγ<br />

x⎤<br />

⎢ ⎥<br />

Δ ( ψ × ) =⎢ Δαx· cγ x· sβy −Δβy· sγ x 0<br />

−Δγ x −Δαx·<br />

cβy<br />

⎥ ; (3.92)<br />

⎢<br />

⎥<br />

⎢⎣<br />

−Δβy· cγ x − Δαx· sβy· sγ x Δ γ x + Δαx·<br />

cβy<br />

0<br />

⎦⎥<br />

⎡ Δpx · cβ 1 y −Δ pz · cα · · ·<br />

1 x sβy +Δpy<br />

sα 1 x sβy<br />

⎤<br />

ii− ii− ii−<br />

⎢ ⎥<br />

Δ pii−1 = ⎢Δpy·( cα· · · ) ·( · · · ) · ·<br />

ii 1 x cγ x − cβysαxsγ x +Δ pz cγ ii 1 x sαx+ cαxcβysγ x +Δpxsβ<br />

ii 1 y sγ<br />

⎥<br />

x<br />

⎢ − − − ⎥<br />

⎢Δpx· cγ · ·( · · · ) ·( · · · )<br />

ii 1 x sβy −Δpz sα ii 1 x sγ x −cαx cβy cγ x −Δ py cα ii 1 x sγ x + cβy cγ x sα<br />

⎥<br />

⎣ − − −<br />

x ⎦<br />

5. Pentru matricea de tipul (x – z – y)<br />

( ψ )<br />

⎡ Δ × Δ pii<br />

−1<br />

⎤<br />

δTii−1 ( z− x− y)<br />

= ⎢ ⎥<br />

⎢0 0 0 0 ⎥<br />

⎣ ⎦<br />

; (3.93)<br />

; (3.94)<br />

⎡ 0<br />

Δβy· sγ x −Δαx· cγ x· sβy Δ βy· cγ x +Δαx·<br />

sβy· sγ<br />

x⎤<br />

⎢ ⎥<br />

Δ ( ψ × ) =⎢ Δαx· cγ x· sβy −Δβy· sγ x 0<br />

−Δγ x −Δαx·<br />

cβy<br />

⎥<br />

⎢<br />

⎥<br />

⎢⎣<br />

−Δβy· cγ x − Δαx· sβy· sγ x Δ γ x + Δαx·<br />

cβy<br />

0<br />

⎦⎥<br />

⎡ Δpx · cβ 1 y −Δ pz · cα · · ·<br />

1 x sβy +Δpy<br />

sα 1 x sβy<br />

⎤<br />

ii− ii− ii−<br />

⎢ ⎥<br />

Δ pii−1 = ⎢Δpy·( cα· · · ) ·( · · · ) · ·<br />

ii 1 x cγ x − cβysαxsγ x +Δ pz cγ ii 1 x sαx+ cαxcβysγ x +Δpxsβ<br />

ii 1 y sγ<br />

⎥<br />

x<br />

⎢ − − − ⎥<br />

⎢Δpx· cγ · ·( · · · ) ·( · · · )<br />

ii 1 x sβy −Δpz sα ii 1 x sγ x −cαx cβy cγ x −Δ py cα ii 1 x sγ x + cβy cγ x sα<br />

⎥<br />

⎣ − − −<br />

x ⎦<br />

6. Pentru matricea de tipul (y – x – y)<br />

( ψ )<br />

⎡ Δ × Δ pii<br />

−1<br />

⎤<br />

δTii−1 ( y − x− y)<br />

= ⎢ ⎥<br />

⎢0 0 0 0 ⎥<br />

⎣ ⎦<br />

(3.95)<br />

(3.96)<br />

; (3.97)


<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

.<br />

⎡ 0<br />

Δαy· cγ y· sβx −Δβx· sγ y Δ γ y +Δαy·<br />

cβx<br />

⎤<br />

⎢ ⎥<br />

Δ ( ψ × ) =⎢Δβx· sγ y −Δαy· cγ y· sβx 0 −Δβx· cγ y −Δαy·<br />

sβx· sγ<br />

y⎥<br />

; (3.98)<br />

⎢ ⎥<br />

−Δγ − Δα · cβ Δ β · cγ + Δα<br />

· sβ · sγ<br />

0<br />

⎢⎣ y y x x y y x y<br />

⎥⎦<br />

⎡Δpx·( cα 1 y· cγ y −cβx· sαx· sγ y ) −Δ pz ·( cγ · · · ) · ·<br />

1 y sαx + cαy cβx sγ y +Δp<br />

ii ii y sβ ii 1 x sγ<br />

y⎤<br />

− − −<br />

⎢ ⎥<br />

Δ pii−1 = ⎢ Δ py· cβ · · · ·<br />

ii 1 x +Δ pzcα ii 1 y sβx+Δpxsα ii 1 x sβ<br />

⎥<br />

x<br />

⎢ − − −<br />

⎥<br />

⎢Δ px·( cα· · · ) ·( · · · ) · ·<br />

ii 1 y sγ y + cβx cγ y sαx −Δpz sα ii 1 x sγ y −cαy cβx cγ y −Δpy<br />

cγ ii 1 y sβ<br />

⎥<br />

⎣ − − −<br />

x⎦<br />

7. Pentru matricea de tipul (z – x – y)<br />

112<br />

( ψ )<br />

⎡ Δ × Δ pii<br />

−1<br />

⎤<br />

δTii−1 ( z− x− y)<br />

= ⎢ ⎥<br />

⎢0 0 0 0 ⎥<br />

⎣ ⎦<br />

(3.99)<br />

; (3.100)<br />

⎡<br />

0<br />

−Δβx· sγ y − Δαz· cβx· cγ y Δ γ y + Δαz·<br />

sβx<br />

⎤<br />

⎢ ⎥<br />

Δ ( ψ × ) =⎢Δ β x · sγ y +Δαz· cβx· cγ y 0<br />

Δαz·<br />

cβx· sγ y −Δβx·<br />

cγ<br />

y⎥<br />

; (3.101)<br />

⎢ ⎥<br />

⎢⎣ −Δγ y − Δαz· sβx Δβx· cγ y − Δαz·<br />

cβx· sγ<br />

y<br />

0 ⎥⎦<br />

⎡Δpx·( cα 1 z· cγ y − sαz· sβx· sγ y ) +Δ py ·( cγ · · · ) · ·<br />

1 y sαz + cαz sβx sγ y −Δp<br />

ii ii z cβ ii 1 x sγ<br />

y ⎤<br />

− − −<br />

⎢ ⎥<br />

Δ pii−1 = ⎢ Δ pz· sβ · · · ·<br />

ii 1 x +Δpycα ii 1 z cβx−Δpxcβ ii 1 x sα<br />

⎥<br />

z<br />

⎢ − − −<br />

⎥<br />

⎢Δ px·( cα· · · ) ·( · · · ) · ·<br />

ii 1 z sγ y + cγ y sαz sβx +Δpy sα ii 1 z sγ y − cαz cγ y sβx +Δpz<br />

cβ ii 1 x cγ<br />

⎥<br />

⎣ − − −<br />

y ⎦<br />

8. Pentru matricea de tipul (y – x – z)<br />

( ψ )<br />

⎡ Δ × Δ pii<br />

−1<br />

⎤<br />

δTii−1 ( y − x− z)<br />

= ⎢ ⎥<br />

⎢0 0 0 0 ⎥<br />

⎣ ⎦<br />

; (3.102)<br />

; (3.103)<br />

⎡ 0<br />

⎢<br />

Δ ( ψ × ) =⎢ Δγz −Δαy· sβx ⎢<br />

⎢⎣ Δβx· sγz −Δαy·<br />

cβx· cγz Δαy· sβx −Δγz 0<br />

Δ βx· cγz +Δαy·<br />

cβx· sγz<br />

Δαy· cβx· cγz −Δβx·<br />

sγz<br />

⎤<br />

⎥<br />

−Δβx· cγz −Δαy·<br />

cβx· sγz⎥<br />

;<br />

⎥<br />

0 ⎥⎦<br />

(3.104)<br />

⎡Δ px·( cα 1 y· cγz + sαx· sβx· sγz) −Δpz ·( cγ · · · ) · ·<br />

1 z sαx − cαy sβx sγz +Δp<br />

ii ii y cβ ii 1 x sγ<br />

z⎤<br />

− − −<br />

⎢ ⎥<br />

Δ pii−1 = ⎢Δ pz·( sα· · · ) ·( · · · ) · ·<br />

ii 1 x sγz+ cαycγzsβx−Δpxcα ii 1 y sγz− cγzsαxsβx+Δpycβ ii 1 x cγ<br />

⎥<br />

z ;<br />

⎢ − − − ⎥<br />

⎢ Δpz · cα · · · ·<br />

ii 1 y cβx −Δ py sβ ii 1 x +Δpx<br />

cβ ii 1 x sα<br />

⎥<br />

⎣ − − −<br />

x<br />

⎦<br />

(3.105)<br />

9. Pentru matricea de tipul (z – x – z)<br />

( ψ )<br />

⎡ Δ × Δ pii<br />

−1<br />

⎤<br />

δTii−1 ( z− x− z)<br />

= ⎢ ⎥<br />

⎢0 0 0 0 ⎥<br />

⎣ ⎦<br />

; (3.106)<br />

⎡ 0<br />

−Δγz − Δαz· cβx Δαz· cγz· sβx − Δβx·<br />

sγz<br />

⎤<br />

⎢ ⎥<br />

Δ ( ψ × ) =⎢ Δ γ z +Δαz· cβx 0<br />

−Δβx· cγz −Δαz·<br />

sβx· sγ<br />

z⎥<br />

; (3.107)<br />

⎢ ⎥<br />

⎢⎣Δβx· sγz −Δαz·<br />

cγz· sβx Δ βx· cγz +Δαz·<br />

sβx· sγ<br />

z<br />

0 ⎥⎦


⎡Δpx·( cα 1 z· cγz − cβx· sαz· sγz) +Δ py ·( cγ · · · ) · ·<br />

1 z sαz + cαz cβx sγ z +Δp<br />

ii ii z sβ ii 1 x sγ<br />

z⎤<br />

− − −<br />

⎢ ⎥<br />

Δ pii−1= ⎢Δpz · cγ · ·( · · · ) ·( · · · )<br />

ii 1 z sβx −Δpy sα ii 1 z sγz −cαz cβx cγz −Δ px cα ii 1 z sγ z + cβx cγ z sα<br />

⎥<br />

z<br />

⎢ − − −<br />

⎥<br />

⎢ Δpz · cβ · · · ·<br />

ii 1 x −Δ py cα ii 1 z sβx +Δpx<br />

sα ii 1 z sβ<br />

⎥<br />

⎣ − − −<br />

x<br />

⎦<br />

10. Pentru matricea de tipul (z – y – z)<br />

( ψ )<br />

⎡ Δ<br />

δTii−1 ( z− y − z)<br />

= ⎢<br />

⎢0 ⎣<br />

×<br />

0 0<br />

Δ pii<br />

−1<br />

0<br />

⎤<br />

⎥<br />

⎥<br />

⎦<br />

⎡ 0<br />

⎢<br />

Δ ( ψ × ) =⎢ Δ γ z +Δαz· cβy ⎢<br />

⎢⎣ −Δβy· cγz − Δαz· sβy· sγz −Δγ z − Δαz· cβy 0<br />

Δβy· sγz − Δαz·<br />

cγz· sβy<br />

Δ βy· cγz + Δαz·<br />

sβy· sγz⎤<br />

⎥<br />

Δαz· cγz· sβy −Δβy·<br />

sγz⎥<br />

⎥<br />

0 ⎥⎦<br />

⎡Δ py ·( cα 1 z· sγz + cβy· cγz· sαz) −Δpx ·( sα · · · ) · ·<br />

1 z sγz −cαz cβy cγ z −Δp<br />

ii ii z cγ ii 1 z sβy<br />

⎤<br />

− − −<br />

⎢ ⎥<br />

Δ pii−1 = ⎢Δpy·( cα· · · ) ·( · · · ) · ·<br />

ii 1 z cγz−cβysαzsγz−Δ px cγ ii 1 z sαz+ cαzcβysγz+Δpzsβ ii 1 y sγ<br />

⎥<br />

z<br />

⎢ − − − ⎥<br />

⎢ Δ pz · cβ · · · ·<br />

ii 1 y +Δ px cα ii 1 z sβy +Δpy<br />

sα ii 1 z sβ<br />

⎥<br />

⎣ − − −<br />

y<br />

⎦<br />

11. Pentru matricea de tipul (x – y – z)<br />

( ψ )<br />

ecuaţiile matriceale de modelare matematică a structurii mecanice. Ca urmare, ele influenţează precizia<br />

113<br />

.<br />

; (3.108)<br />

; (3.109)<br />

⎡ Δ<br />

δTii−1 ( x− y − z)<br />

= ⎢<br />

⎢0 ⎣<br />

×<br />

0 0<br />

Δ pii<br />

−1<br />

0<br />

⎤<br />

⎥<br />

⎥<br />

⎦<br />

⎡ 0<br />

⎢<br />

Δ ( ψ × ) =⎢ Δ γ z +Δαx· sβy ⎢<br />

⎢⎣ Δαx· cβy· sγz − Δβy· cγz −Δγ z − Δαx· sβy 0<br />

Δβy· sγz + Δαx·<br />

cβy· cγz<br />

Δβy· cγz − Δαx·<br />

cβy· sγz<br />

⎤<br />

⎥<br />

−Δβy· sγz −Δαx·<br />

cβy· cγz⎥<br />

⎥<br />

0 ⎥⎦<br />

⎡Δ py ·( cα 1 x· sγz + cγz· sαx· sβy ) +Δpz ·( sα · · · ) · ·<br />

1 x sγz − cαx cγz sβy +Δp<br />

ii ii x cβ ii 1 y cγ<br />

z⎤<br />

− − −<br />

⎢ ⎥<br />

Δ pii−1= ⎢Δpy ·( cα· · · ) ·( · · · ) · ·<br />

ii 1 x cγz − sαx sβy sγz +Δ pz cγ ii 1 z sαx + cαx sβy sγz −Δpx<br />

cβ ii 1 y sγ<br />

⎥<br />

z<br />

⎢ − − − ⎥<br />

⎢ Δ px · sβ · · · ·<br />

ii 1 y +Δpz cα ii 1 x cβy −Δpy<br />

cβ ii 1 y sα<br />

⎥<br />

⎣ − − −<br />

x<br />

⎦<br />

3.2.2 Matricele erorilor geometrice<br />

3.2.2.1 Modelarea erorilor geometrice ale parametrilor de tip DH şi PG<br />

(3.110)<br />

(3.111)<br />

; (3.112)<br />

; (3.113)<br />

. (3.114)<br />

Un aspect fundamental, legat de precizia roboţilor constă în stabilirea erorilor geometrice specifice<br />

parametrilor de poziţie-orientare relativă dintre elementele robotului. Astfel, situarea (poziţia-orientarea)<br />

dintre două elemente învecinate (i-1)-(i), aparţinând unui robot având n g.d.l. poate fi exprimată cu ajutorul<br />

parametrilor tip DH sau tip PG. Valorile reale ale acestor parametrii sunt caracterizate prin anumite erori<br />

geometrice, denumite erori tip DH respectiv erori tip PG. Ele sunt rezultatul abaterilor dimensionale şi<br />

elasticităţii elementelor, precum şi a jocurilor, uzurilor respectiv frecărilor din fiecare cuplă motoare a<br />

robotului. De asemenea, ele influenţează, considerabil, parametrii tip DM (distribuţia maselor) {masa,<br />

centrul maselor, momentele de inerţie mecanice}. Astfel, valorile lor reale conţin aşa numitele erori tip DM.<br />

Matricele diferenţiale de tip ΔT, ΔA şi ΔMD aparţinând erorilor tip DH, tip PG şi tip DM sunt incluse în


<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

.<br />

cinematico-dinamică a roboţilor. Luând în considerare modul de definire al parametrilor de tip DH şi tip PG,<br />

rezultă că erorile geometrice, în general, nu pot fi stabilite cu ajutorul măsurătorilor fizice. În cadrul acestui<br />

paragraf va fi prezentat un model de calcul al erorilor geometrice.<br />

3.3.1.1 Modelarea erorilor geometrice tip DH<br />

În figura 3.3 se consideră o secvenţă de două elemente învecinate (i-1)-(i) aparţinând structurii<br />

mecanice a unui robot cu n g.d.l. De asemenea, sunt reprezentate sistemele tip DH {i-1D} şi {iD}, precum<br />

şi parametrii tip DH. Matricea tip DH de transformare omogenă între sistemele { i-1D} şi {iD} are forma:<br />

i−1D iD<br />

[ T] T ( y ; β ) . T ( x ; α ) . T ( x ; a ) . T ( z ; θ ) . T ( z ; d )<br />

= (3.115)<br />

R i−1D i−1 R i−1D i−1 T i−1D i−1 R iD i T iD i<br />

unde unghiul β i−<br />

1 are valoarea nominală zero. Luând în considerare matricele geometriei robotului, in<br />

algoritmul operatorilor tip DH se prezintă modelul matematic pentru calculul sistemelor şi parametrilor tip<br />

DH. Astfel, matricele sistemelor respectiv parametrilor tip DH sunt următoarele:<br />

T<br />

⎧ T<br />

⎡TDqk ; k = 1→<br />

m⎤<br />

⎪<br />

⎣ ⎦<br />

⎪<br />

= ⎨ ⎡ q q q q<br />

T<br />

⎡<br />

Dqk ( piDk ) ( x iDk ) ( y iDk ) ( z<br />

⎤<br />

⎤<br />

⎪ =<br />

⎢ iDk ) i = 1→ n + 1<br />

⎢ ⎥<br />

⎥<br />

⎪⎩ ( n+ 1) x12<br />

⎣⎣ ⎦<br />

⎦<br />

Dq T T T T<br />

M<br />

⎧ T<br />

⎡M Dqk ; k = 1 → m⎤<br />

;<br />

⎪<br />

⎣ ⎦<br />

= ⎨<br />

T<br />

⎪ M Dqk = ⎡⎡a i−1k α i−1k d ik θ ⎤ ik i = 1→ n + 1 ⎤ ;<br />

⎣⎣ ⎦<br />

⎦<br />

⎪⎩ ( n+ 1) x 4<br />

Dq q q q q<br />

unde m reprezintă numărul configurațiilor luate in studiu, iar vectorul de poziţie<br />

114<br />

T<br />

; (3.116)<br />

(3.117)<br />

q<br />

p iD k şi versorii axelor<br />

sunt exprimaţi în sistemul fix {0}. Legătura dintre parametrii tip DH nominali şi reali este realizată cu<br />

ajutorul erorilor geometrice tip DH, a căror formă este prezentată în expresia următoare:<br />

[ β α θ ]<br />

∈ iD = Δ i−1 Δ i−1 Δai−1 ΔdiΔ i , i = 1→ n+<br />

1.<br />

(3.118)<br />

Aceste erori sunt, reprezentate în fig. 3.4 pentru cazul general când axa x i− 1D<br />

, aparţinând sistemului<br />

real {i – Dr}, formează un unghi β i−1<br />

n<br />

Δ cu planul i 1D 0<br />

T<br />

r<br />

z − = corespunzător sistemului nominal {i –<br />

1Dn}. Eroarea unghiulară tip DH, notată cu Δ 1,<br />

este măsurată în jurul axei y i− 1D<br />

astfel:<br />

β i−<br />

( ) ( )<br />

⎧ T T<br />

n r n r ⎫<br />

Δ β i−1 = Atan zi 1D xi 1D /<br />

⎡<br />

− − xi−1D x<br />

⎤<br />

⎨ ⋅ ⋅<br />

⎢ i−1⎥⎬.<br />

(3.119)<br />

⎩ ⎣ ⎦⎭<br />

n


Fig. 3.3 Reprezentarea parametrilor de tip Denavit – Hartenberg<br />

Orientarea sistemului {i-1} relativ la {i-1Dn} este definită cu ecuaţia matriceală:<br />

Eroarea unghiulară<br />

n [ R] R( y β ) [ R] [ x′ y′ z′<br />

]<br />

i−1Dn i−1Dn i−1' i−1D i−1 i−1Dr i−1 i−1 i−1<br />

= ; Δ ⋅ = ;<br />

(3.120)<br />

n ( x i−1D) ( )<br />

n ( z i−1D) ⎡ T ⎤<br />

⎢ ⎥<br />

⎢ ⎥<br />

⎢ ⎥ ⎡ ⎤ . (3.121)<br />

⎣ ⎦<br />

i−1Dn n<br />

T<br />

r r r<br />

1 [ R] = y<br />

i Dr<br />

i−1D ⋅ xi 1D y i 1D z<br />

−<br />

− − i−1D ⎢ T ⎥<br />

⎢ ⎥<br />

⎣ ⎦<br />

*<br />

n<br />

Δ θi−1 este măsurată în jurul lui zi− 1D<br />

între axele x i−1<br />

n<br />

zi−1 αi 1<br />

∗<br />

−<br />

z′ i−1 zi−1 o′′ i−1 n<br />

Oi−1 elementul i −1<br />

q ⋅k<br />

i−1 i−1<br />

⎧ * T n<br />

⎪<br />

sΔ θ i−1 =± x′ i−1× [ 1 0 0 ] / zi−1D<br />

;<br />

⎨<br />

⎪ * T<br />

T<br />

⎩ cΔ θ i−1 = ( x′<br />

i−1)<br />

⋅[<br />

1 0 0 ] ;<br />

Fig.3.4 Reprezentarea erorilor de tip DH<br />

115<br />

n ′ şi x − 1 şi se determină astfel:<br />

i D<br />

.<br />

(3.122)<br />

* * *<br />

Δ θi−1 = Atan2 ⎡s θi−1; c θ ⎤<br />

⎣<br />

Δ Δ i−1⎦<br />

.<br />

(3.123)<br />

Elementul ( i −1n<br />

)<br />

n<br />

zi−1D n<br />

i 1D<br />

n<br />

oi−1D o′ i−1 n<br />

zi−1D αi −1<br />

z −<br />

i 1<br />

{ i−1} y −<br />

n<br />

xi−1D x′ i−1 O −<br />

i 1<br />

Δ<br />

r<br />

oi−1D n<br />

oi−1D o′′ i−1 a −<br />

i 1<br />

x −<br />

θi 1<br />

∗<br />

−<br />

{} i<br />

i 1<br />

r<br />

z iD<br />

Δ<br />

qi⋅ki zi<br />

Oi<br />

βi 1<br />

∗<br />

−<br />

di<br />

ai−1n elementul i<br />

xi<br />

z′ i<br />

r<br />

Q iD<br />

n<br />

QiD<br />

n<br />

Oi<br />

n<br />

o iD<br />

O +<br />

i 1<br />

θi<br />

n<br />

zi<br />

n<br />

z iD<br />

z′′ i<br />

Q′′ i<br />

n<br />

QiD<br />

q ⋅k<br />

n<br />

x iD<br />

Q′ i<br />

i+ 1 i+<br />

1<br />

n<br />

OiD<br />

n<br />

QiD<br />

Q′′ i<br />

Δai−1<br />

Q′′ i<br />

O′′ i<br />

n<br />

d i<br />

Δdi


<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

.<br />

Eroarea unghiulară tip DH, notată Δ θ i−1<br />

, se determină cu relaţiile:<br />

Se introduce notaţia k { i 1, i}<br />

Unghiul<br />

⎧Δ<br />

*<br />

θ i−1+Δqi−1 − daca i − 1 = R ;<br />

⎪<br />

*<br />

Δ θi−1 = ⎨ Δθi−1− daca i − 1 = T ;<br />

⎪ 0− daca i = 1.<br />

⎪⎩<br />

= − . Orientarea sistemului { k′′ } relativ la sistemul{ i−1Dn} este definită:<br />

n *<br />

n<br />

i−1Dn ( −1 θ ) ( −1 β −1)<br />

[ ]<br />

⎧R z ; Δ ⋅R y ; Δ<br />

R ;<br />

i D 1<br />

i D i<br />

⎪<br />

i −<br />

kDr<br />

i−1Dn ⎪<br />

" [ R<br />

k ] = ⎨ ⎧⎪ x′′ i 1 y′′ i 1 z′′ i 1 − pentru k = i −1;<br />

⎪ ⎨<br />

⎪⎩ ⎪⎩<br />

[ − − − ]<br />

[ ]<br />

x′′ y′′ z′′ − pentru k = i .<br />

i i i<br />

*<br />

n<br />

α i−<br />

1 este măsurat după axele x i− 1D<br />

între z i−1<br />

⎧<br />

⎪sαz<br />

z′′ x<br />

⎨<br />

⎪ ⎩ = ⋅<br />

116<br />

′′ şi z′′ i . Acesta se determină cu ecuaţiile:<br />

*<br />

i−1 = i−1× i /<br />

n<br />

i−1D *<br />

cαi−1 T<br />

( z′′ i−1)<br />

z′′<br />

(3.124)<br />

(3.125)<br />

; (3.126)<br />

* * *<br />

αi−1 = Atan2 ⎡sαi 1; cα<br />

⎤<br />

⎣ − i−1⎦<br />

.<br />

(3.127)<br />

Eroarea unghiulară tip DH, simbolizată cu Δ 1,<br />

este definită cu expresia de mai jos:<br />

unde semnul ( − ) este introdus dacă<br />

α i−<br />

* n<br />

i−1 i−1 i−1<br />

Δ α = α ± α . (3.128)<br />

*<br />

n<br />

α i−<br />

1 şi i 1<br />

α − au acelaşi semn, iar ( )<br />

+ dacă sunt de semne<br />

contrare. Erorile liniare tip DH, notate cu Δ ai −1<br />

respectiv i d Δ , se stabilesc cu următoarele relaţii:<br />

Observaţie. Pentru cazul particular când axa 1<br />

r n<br />

i−1 i−1 i−1<br />

Δ a = a − a ; (3.129)<br />

r n ⎧⎪ d i − d i , daca i = R;<br />

Δ d i = ⎨ r n<br />

⎪⎩ d i − d i +Δ q i,<br />

daca i = T .<br />

r<br />

x i− D aparţine planelor n<br />

n<br />

y i− 1D = 0 sau i 1D 0<br />

(3.130)<br />

z − = , relaţiile<br />

(7.3) – ( 7.10) se modifică corespunzător. Rezultatele obţinute sunt incluse în matricea erorilor de tip DH<br />

simbolizată prin ED, având dimensiunea ( n + 1) × 5 şi forma:<br />

[ β α θ ]<br />

ED = ⎡⎣ Δ i−1 Δ i−1 Δai−1 Δdi Δ i ; i = 1→ n+<br />

1 ⎤⎦<br />

.<br />

(3.131)<br />

Acest model matematic permite determinarea erorilor tip DH pentru orice robot, indiferent de<br />

complexitatea structurii mecanice. În anumite situaţii, determinate de datele de intrare, algoritmul conduce la<br />

T


apariţia erorilor geometrice grosiere. De aceea, acesta este completat cu un test de eliminare a acestor erori.<br />

3.3.1.2 Modelarea erorilor geometrice tip PG<br />

Modelarea geometrică a roboţilor se poate realiza şi prin aplicarea algoritmului parametrilor tip PG<br />

care sunt reprezentaţi în cadrul Fig.3.5 Se observă că aceşti parametrii determină între sistemele<br />

{ i 1}<br />

{ i}<br />

− → , deplasări de translaţie şi rotaţie în lungul şi în jurul celor trei axe ale sistemului de referinţă.<br />

Astfel, matricea parametrilor tip PG de transformare omogenă între { i 1}<br />

{ i}<br />

i−1<br />

i<br />

[ T] T T( z ; q )<br />

ii−1 i i<br />

( ; ; ) . ( ; α ) . ( ; β ) . ( ; γ )<br />

ii−1 T i−1 i−1 i−1 R i−1 i−1 R i−1 i−1 R i−1 i−1<br />

117<br />

− → poate fi scrisă astfel:<br />

= ⋅ ; (3.132)<br />

T = T a b c T x T y T z ; (3.133)<br />

( ; )<br />

T z q<br />

i i<br />

( Δ⋅ i i) −( Δ⋅ i i)<br />

( Δ⋅ ) ( Δ⋅ )<br />

⎡c q s q 0 0 ⎤<br />

⎢<br />

s 0 0<br />

⎥<br />

⎢ i qi c i qi<br />

=<br />

⎥;<br />

(3.134)<br />

⎢ 0 0 1 ( 1−Δi)<br />

⋅qi<br />

⎥<br />

⎢<br />

⎣ 0 0 0 1 ⎥<br />

⎦<br />

{ { 1; } ; { 0; } }<br />

Δ i = i = R i = T ; (3.135)<br />

În expresiile prezentate anterior, Tii-1 reprezintă matricea tip PG corespunzătoare configuraţiei de<br />

zero, iar T( z ; qi) matricea de transformare omogenă, exprimând mişcarea relativă din fiecare cuplă<br />

motoare ( i = 1→<br />

n ). Aplicând modelul matematic, se obţin matricele sistemelor şi parametrilor tip PG:<br />

T<br />

⎧ T<br />

⎡<br />

⎣TGqk ; k = 1 → m⎤<br />

;<br />

⎪<br />

⎦<br />

= T<br />

⎨ ⎡⎡ T T T T ⎤<br />

⎤<br />

⎪ TGqk =<br />

⎢ ( p ) ( ) ( ) ( ) = 1→ + 1<br />

⎥<br />

;<br />

⎢ ik x ik y ik z ik i n<br />

⎥<br />

⎪⎩ ( n+ 1) x12<br />

⎣⎣ ⎦<br />

⎦<br />

Gq q q q q<br />

z −<br />

i 1<br />

qi−1⋅ki−1 x i qi ⋅ ki<br />

x −<br />

{ i−1} i 1<br />

elementul i − 1<br />

y −<br />

i −1<br />

x i<br />

i 1<br />

i −1<br />

rii<br />

−1<br />

{} i<br />

y<br />

i −1<br />

y i<br />

i −1<br />

z α i i −1<br />

x −<br />

Fig. 3.5 Reprezentarea parametrilor de tip PG<br />

i<br />

z ≡ z′′ −<br />

i<br />

γ i −1<br />

i 1<br />

i 1<br />

β i −1<br />

y′ −<br />

i 1<br />

.<br />

(3.136)


<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

.<br />

⎧ T<br />

⎡M Gqk ; k = 1 → m⎤<br />

;<br />

⎪<br />

⎣ ⎦<br />

M Gq = ⎨<br />

T (3.137)<br />

q q q q q q<br />

⎪ M Gqk = ⎡⎡a i−1k bi−1k c i−1k α i−1k β i−1k γ ⎤<br />

i−1k i = 1→ n + 1 ⎤ .<br />

⎣⎣ ⎦<br />

⎦<br />

⎪⎩ ( n+ 1) x 6<br />

Fig. 3.6 Reprezentarea erorilor de tip PG<br />

Conexiunea dintre parametrii tip PG nominali şi reali este realizată, conform fig. 3.5, cu ajutorul<br />

erorilor geometrice tip PG , simbolizate astfel:<br />

[ α β γ ]<br />

∈ = Δa −1 Δb −1 Δc −1 Δ −1 Δ −1 Δ −1<br />

; i = 1→ n+<br />

1.<br />

(3.138)<br />

iG i i i i i i<br />

Erorile geometrice liniare tip PG se determină cu ajutorul ecuaţiei matriceale:<br />

Dacă ( 1 )<br />

r<br />

zi−1 n ( x i )<br />

( )<br />

n ( z i )<br />

n<br />

T<br />

r<br />

i i<br />

r<br />

pi−1 n<br />

pi−1 x0<br />

Elementul ( i −1r<br />

)<br />

Elementul ( i −1n)<br />

n<br />

Δci−1 i 1<br />

n<br />

y i−1 r<br />

pi<br />

n<br />

Oi−1 Δai−1<br />

z<br />

y0<br />

n ( x i−1<br />

)<br />

( )<br />

( z i−1<br />

)<br />

⎡ T ⎤<br />

⎡Δa⎤ ⎢ ⎥<br />

⎢ ⎥<br />

⎢ ⎥<br />

⎡( ) ( ) ⎤<br />

⎢ ⎥<br />

.<br />

⎣ ⎦<br />

i−1<br />

n<br />

T<br />

r r n n<br />

Δ bi−1 =−⎢ yi−1 ⎥⋅<br />

pi −pi−1 − pi − pi−1<br />

⎢ c<br />

⎢ ⎥<br />

⎣Δi−1⎥⎦ T<br />

⎢ n ⎥<br />

⎢⎣ ⎥⎦<br />

⎡ T ⎤<br />

⎢ ⎥<br />

⎢ T ⎥<br />

n r r r n n n<br />

⎢ yi ⎥⋅ ⎡xi yi z ⎤<br />

⎣ i ⎦<br />

= R( zi ; Δγ i−1) ⋅R( yi ; Δβi−1) ⋅R( xi<br />

; Δαi−1)<br />

.<br />

⎢ ⎥<br />

T<br />

⎢ ⎥<br />

⎢⎣ ⎥⎦<br />

z − ⋅z ≠ ± 1,<br />

se obţin următoarele relaţii:<br />

0<br />

{ }<br />

0<br />

z −<br />

Δb<br />

−<br />

x −<br />

i 1<br />

n<br />

i 1<br />

n<br />

pi<br />

( ) ( )<br />

118<br />

r<br />

zi<br />

r<br />

Oi<br />

T<br />

(3.139)<br />

(3.140)<br />

n<br />

T<br />

r n<br />

T<br />

r<br />

Δ α i−1= A tan2<br />

⎡<br />

zi ⋅y i ; zi ⋅z<br />

⎤<br />

i ;<br />

⎢⎣ ⎥⎦<br />

(3.141)<br />

n<br />

zi<br />

n<br />

Oi<br />

Δα<br />

i−1 Δγ<br />

i−1 n<br />

xi<br />

n<br />

y i<br />

Δβi−1


Dacă ( 1)<br />

n<br />

T<br />

r<br />

i i<br />

z − ⋅ z =± 1,<br />

atunci rezultă expresiile:<br />

( ) ( )<br />

⎧ n<br />

T<br />

r n<br />

T<br />

r<br />

Atan2 ⎡<br />

− zi ⋅xi ; zi ⋅y<br />

⎤<br />

i ;<br />

⎪ ⎢⎣ ⎦⎥<br />

Δ β i−1<br />

=⎨<br />

n<br />

T<br />

r n<br />

T<br />

⎪ r<br />

Atan2 ⎡<br />

−( zi ) ⋅xi ; ( zi ) ⋅z<br />

⎤<br />

i ;<br />

⎪⎩ ⎢⎣ ⎥⎦<br />

( ) ( )<br />

119<br />

.<br />

(3.142)<br />

T T<br />

n r n r<br />

Δ γ i−1= Atan2 ⎡<br />

yi ⋅yi ; xi ⋅x<br />

⎤<br />

i .<br />

⎢⎣ ⎥⎦<br />

(3.143)<br />

( ) ( )<br />

T T<br />

n n r<br />

Δ α i−1= Atan2 ⎡<br />

x i ⋅yi; yi ⋅y<br />

⎤<br />

i ;<br />

⎢⎣ ⎥⎦<br />

(3.144)<br />

π<br />

Δ β i−1<br />

=± ; Δ γ i−1<br />

= 0.<br />

2<br />

Acestea din urmă aparţin aşa-numitor erori geometrice grosiere. De aceea, acest model matematic<br />

conţine un test de eliminare a erorilor grosiere. Rezultatele obţinute sunt incluse în matricea erorilor tip<br />

PG, simbolizată cu G<br />

E , având dimensiunea ( )<br />

n + 1 × 6şi<br />

forma prezentată mai jos:<br />

[ α β γ ]<br />

T<br />

⎧⎡⎣ Δai−1 Δbi−1 Δci−1 Δ i−1 Δ i−1 Δ i−1<br />

; i = 1→ n+<br />

1 ⎤⎦<br />

;<br />

⎪<br />

EG = ⎨ ⎡ i = 1→ n+<br />

1⎤<br />

⎪ ⎢∈ijG ; .<br />

j = 1→ 6<br />

⎥<br />

⎪⎩ ⎣ ⎦<br />

(3.145)<br />

În concluzie, modelele matematice prezentate stabilesc prin calcul analitic, erorile tip DH şi PG pentru<br />

orice structură mecanică de robot. De asemenea, este important de menţionat faptul că atât modelarea<br />

erorilor geometrice a parametrilor tip DH cât şi PG este inclusă în algoritmul generalizat MecROb<br />

3.3.3 Eliminarea erorilor grosolane utilizând matricea statisticii znα i−1 În continuare, se stabileşte operatorul [ δT<br />

]<br />

p<br />

Q<br />

i<br />

, luând în considerare următoarele notaţii:<br />

{ }<br />

∈ = ∈ ; ∈ ;<br />

(3.146)<br />

yQ yD yG<br />

{ }<br />

y = p ; e; g ;<br />

(3.147)<br />

Q<br />

= { β; α; ; ; θ}<br />

;<br />

{ α β γ}<br />

⎧⎪ pDa d<br />

= ⎨<br />

⎪⎩ pG= a; b; c;<br />

; ; ;<br />

(3.148)<br />

unde y reprezintă un indice care evidenţiază erorile tip DH (D) şi tip PG (G) corespunzătoare (pQ –<br />

fiecărui parametru; e – fiecărui element; g – structurii mecanice globale a robotului).<br />

Se stabilește matricea erorilor de tip DH, notată simbolic E de dimensiuni ( n+ 1) × 5,<br />

reprezentată:<br />

pk<br />

DH


<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

.<br />

Tabelul 3.14<br />

i<br />

j<br />

pk<br />

E DH<br />

Δ β i−1<br />

Δ α i−1<br />

Δ ai −1<br />

i d Δ i Δ<br />

În vederea eliminării erorilor grosolane, se formează tabelul cu valorile critice ale statisticii znα :<br />

Testul α<br />

Pearson-<br />

Hartley<br />

Grubbs<br />

D<br />

ε<br />

ij<br />

Testul Pearson - Hartley Testul Grubbs<br />

α sau ( 1− α )<br />

α sau ( 1− α )<br />

120<br />

θ<br />

Tabelul 3.15<br />

Tabelul 3.16<br />

Matricea statisticii znα n<br />

1 2 3 4 5 6 7 8<br />

0,05 1,65 1,96 2,12 2,23 2,32 2,39 2,44 2,49<br />

0,025 1,96 2,24 2,39 2,49 2,57 2,64 2,69 2,73<br />

0,01 2,33 2,58 2,71 2,81 2,88 2,93 2,98 3,02<br />

0,05 - - 1,41 1,71 1,92 2,07 2,18 2,27<br />

0,02 - - 1,41 1,72 1,96 2,13 2,27 2,37<br />

0,01 - - 1,41 1,73 1,97 2,16 2,31 2,43<br />

Pentru eliminarea erorilor grosolane, se aplică următoarea succesiune de pași:<br />

1. Se consideră pentru început i = 1→ 5<br />

2. Se introduce numărul<br />

⎧ D<br />

⎪ 0, 1 − daca ε<br />

[ ]<br />

ij este lungime mm ;<br />

ε = ⎨<br />

D<br />

⎪⎩<br />

− ε<br />

⎡o 1 daca ⎣ ⎤<br />

ij este unghi ⎦.<br />

3. Pentru fiecare i = 1→ n+ 1 se compară D<br />

ε cu ε .<br />

ij<br />

4. Dacă D<br />

2<br />

ε ij < ε , algoritmul se continuă cu determinarea mediei ε j și a dispersiei de selecție σ j .<br />

În caz contrar, se atribuie valoarea D<br />

ε ij = ε .<br />

2<br />

5. Media ε j și a dispersia de selecție σ j se determină cu următoarele relații:<br />

1<br />

ε ε<br />

+ ∑ ; (3.149)<br />

n+ 1<br />

D<br />

j = ⋅ ij<br />

n 1 i= 1<br />

( )<br />

n+ 1 2<br />

2 1<br />

D<br />

σ j = ⋅∑ε ij −ε<br />

j<br />

n<br />

6. Se calculează statistica ( j ; )<br />

i= 1<br />

D pk<br />

ij D H<br />

ϕ ε σ cu relația prezentată mai jos:<br />

, ε ∈ E . (3.150)


7. Se compară ( j ; )<br />

8. Dacă ( ; )<br />

⎡ D<br />

ε − ε<br />

⎤<br />

ϕ ( ε ; σ ) max ⎢ ij j<br />

= , = → + ⎥<br />

j<br />

i 1 n 1 . (3.151)<br />

⎢ σ<br />

⎥<br />

⎣ j<br />

⎦<br />

ϕ ε σ cu statistica znα prezentată în Tabelul 8.3<br />

j n z ϕ ε σ ≤ α și dacă j = 5 , se poate scrie matricea<br />

j = j+ 1 și se parcurge din nou întregul algoritm.<br />

9. Se trece la pasul 12<br />

10. Fiind erori grosolane, matricea<br />

11. Se stabilesc erorile grosolane<br />

12. Dacă ε εI<br />

pk<br />

E DH se elimină.<br />

= ,urmează pasul 14, în caz contrar, ε { ε , ε }<br />

121<br />

II III<br />

.<br />

pk<br />

E DH , în caz contrar, se face<br />

= și urmează pasul13.<br />

13. Dacă k = m , urmează pasul 14. În caz contrar, se consideră k = k+ 1 și se revine la<br />

determinarea parametrilor ε II respectiv ε III .<br />

14. Dacă p = m,<br />

urmează pasul 15. În caz contrar, se face p= p+ 1 și în acest caz, analiza se<br />

reia de la determinarea erorilor parametrilor de tip DH.<br />

15. Dacă toate matricele<br />

pk<br />

E DH sunt eliminate,se dă comanda de refacere a șirului de valori din<br />

algoritmul matricelor datelor inițiale. În caz contrar, analiza se oprește.<br />

3.4 Expresiile matricelor diferențiale ale erorilor<br />

Erorile geometrice tip DH respectiv tip PG sunt incluse, obligatoriu, în ecuaţiile matriceale de<br />

modelare cinematico-dinamică a structurii mecanice de robot. Influenţa erorilor geometrice asupra<br />

preciziei cinematică este evidenţiată cu ajutorul diferenţialelor aplicate asupra transformărilor omogene<br />

geometrice-cinematice, având ca variabile parametrii tip DH respectiv tip PG.<br />

3.4.1 Matricele erorilor geometrice<br />

Întrucât parametrii geometrici de poziţionare relativă între sistemele {i-1} şi {i} conţin erorile tip DH<br />

sau tip PG, rezultă că matricea de transformare omogenă prezintă o variaţie elementară infinitezimală:<br />

{ 4 } [ ];<br />

[ ] [ ] [ δ ]<br />

i−1 i−1 i−1 i−1 T + Δ T = I + T ⋅ T<br />

(3.152)<br />

i i i i<br />

[ T] [ δT]<br />

[ T];<br />

i−1 i−1 i−1 i i i<br />

Δ = ⋅ (3.153)


<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

.<br />

⎡ 0<br />

⎢<br />

i−1 e21 [ δT<br />

i ] = ⎢<br />

⎢e31 ⎢<br />

⎢⎣ 0<br />

e12 0<br />

e32 0<br />

e13 −e23<br />

0<br />

0<br />

e14<br />

⎤<br />

e<br />

⎥<br />

24 ⎥ ;<br />

e34<br />

⎥<br />

⎥<br />

0 ⎥⎦<br />

(3.154)<br />

i 1<br />

T<br />

i−1 δT<br />

un<br />

−<br />

unde [ Δ ] reprezintă matricea diferenţială de transformare omogenă între {i-1} şi {i}, iar [ ]<br />

i<br />

operator matriceal de diferenţiere, ale cărui componente sunt funcţii de erorile tip DH sau tip PG.<br />

În continuare, se determină expresia operatorului matriceal de diferențiere, luând în considerare:<br />

{ yD; yG}<br />

{ ; ; }<br />

ε yQ = ε ε ; (3.155)<br />

y = p e g ; (3.156)<br />

Q<br />

{ β; α; ; ; θ}<br />

{ ; ; ; α ; β; γ}<br />

⎧ pD= pQ<br />

= ⎨<br />

⎩pG=<br />

a b<br />

a<br />

c<br />

d<br />

. (3.157)<br />

unde y reprezintă un indice care evidențiază erorile de tip DH (D), respectiv de tip PG (G),<br />

corespunzătoare { p fiecarui parametru, e fiecarui element, g structurii mecanice a robotului}<br />

Q<br />

− − − .<br />

Expresia acestui operator de diferenţiere poate fi scrisă astfel:<br />

i−1 [ δT<br />

]<br />

i−1 i gG<br />

[ δT<br />

]<br />

i gD<br />

⎧<br />

⎪<br />

Dβ ⋅Δ β i−1+ Dα ⋅Δ αi−1+ Da⋅Δ ai−1+ Dd⋅Δ di+ Dθ<br />

⋅Δθi<br />

;<br />

= ⎨ i−1 i−1 i−1 i−1 i−1 ⎪⎩ [ δT] + [ δT] + [ δT] + [ δT] + [ δT]<br />

;<br />

i β i α i a i d i θ<br />

122<br />

i<br />

(3.158)<br />

⎧<br />

⎪<br />

Da⋅Δ ai−1 + Db⋅Δ bi−1 + Dc ⋅Δ ci−1 + Dα ⋅Δ α i−1 + Dβ ⋅Δ βi−1 + Dγ<br />

⋅Δγ<br />

i−1; = ⎨ i−1 i−1 i−1 i−1 i−1 i−1 (3.159)<br />

⎪⎩ [ δT] + [ δT] + [ δT] + [ δT] + [ δT] + [ δT]<br />

;<br />

i a i b i c i α i β i γ<br />

Termenii conţinuţi în cadrul expresiilor (3.158) – (3.159), se obţin cu ajutorul relaţiei:<br />

∂<br />

[ δ ] [ ]<br />

Luând în considerare erorile tip DH ( ε yQ ε yD )<br />

i−1 i<br />

[ δT<br />

]<br />

β<br />

{ } [ ] .<br />

i−1 i−1 i−1 −1<br />

T = T T<br />

i pQ i i<br />

∂pQ<br />

⎡ 0 0 Δβ<br />

i−1 0⎤<br />

⎢<br />

0 0 0 0<br />

⎥<br />

= ⎢ ⎥ ;<br />

⎢−Δβ i−1 0 0 0⎥<br />

⎢ ⎥<br />

⎣ 0 0 0 0⎦<br />

[ δT<br />

] ⎢ ⎥ ;<br />

i−1 i a<br />

⎡0 0 0 Δai−1⎤<br />

⎢<br />

0 0 0 0<br />

⎥<br />

=<br />

⎢0 0 0 0 ⎥<br />

⎢ ⎥<br />

⎣0 0 0 0 ⎦<br />

= , expresiile acestor operatori sunt următoarele:<br />

[ δT<br />

]<br />

⎡0 0 0 0⎤<br />

⎢<br />

0 0 −Δα<br />

0<br />

⎥<br />

= ⎢ ⎥ ;<br />

⎢0 0 0⎥<br />

⎢ ⎥<br />

⎣0 0 0 0⎦<br />

i−1 i−1 i α Δα<br />

i−1 ⎡0 0 0 0 ⎤<br />

⎢<br />

0 0 0 −sα⋅Δd ⎥<br />

=<br />

⎢ ⎥<br />

⎢ ⎥<br />

⎣0 0 0 0 ⎦<br />

[ δT<br />

] ⎢ ⎥ ;<br />

i−1 i−1 i<br />

i d 0 0 0 cαi−1⋅Δdi (3.160)<br />

(3.161)<br />

(3.162)


⎡ 0 −cαi−1⋅Δθi−sαi−1⋅Δθi 0 ⎤<br />

⎢<br />

cα⋅Δθ 0 0 −a ⋅cα ⋅Δθ<br />

⎥<br />

=<br />

⎢ α θ α θ ⎥<br />

⎢ ⎥<br />

⎣ 0 0 0 0 ⎦<br />

[ δT<br />

] ⎢ ⎥ .<br />

i−1 i−1 i i−1 i−1 i<br />

i θ s i−1⋅Δ i 0 0 −ai−1⋅s i−1⋅Δ i<br />

123<br />

(3.163)<br />

Înlocuind matricele (3.161) - (3.163), în expresia de definire a operatorului diferenţial (3.158) se<br />

obţin componentele operatorului de diferenţiere specific erorilor globale de tip DH, adică:<br />

⎧e21<br />

=− e12 = cαi−1⋅Δθi;<br />

⎪<br />

⎪<br />

e31 =− e13 = sαi−1⋅Δθi−Δβi−1;<br />

⎪ ⎪e32<br />

=− e23<br />

=Δαi−1<br />

;<br />

⎨<br />

.<br />

⎪e14<br />

=Δai−1;<br />

⎪ e24=−ai−1⋅cαi−1⋅Δθi−sαi−1⋅Δdi ;<br />

⎪<br />

⎪⎩ e34=−ai−1⋅sαi−1⋅Δ θi+ cαi−1⋅Δdi Aplicând expresia (3.160) pentru erori tip PG ( ε yQ ε yG)<br />

[ δT<br />

]<br />

i−1 i a<br />

⎡0 0 0 Δai−1⎤<br />

⎢<br />

0 0 0 0<br />

⎥<br />

= ⎢ ⎥ ;<br />

⎢0 0 0 0 ⎥<br />

⎢ ⎥<br />

⎣0 0 0 0 ⎦<br />

[ δT<br />

] ⎢ ⎥ ;<br />

i−1 i c<br />

[ δT<br />

]<br />

⎡0 0 0 0 ⎤<br />

⎢<br />

0 0 0 0<br />

⎥<br />

=<br />

⎢0 0 0 Δci−1⎥<br />

⎢ ⎥<br />

⎣0 0 0 0 ⎦<br />

⎡ 0 e12 e13 e14⎤<br />

⎢<br />

e 0 0 e<br />

⎥<br />

= ⎢ ⎥<br />

⎢ ⎥<br />

⎢ ⎥<br />

⎢⎣ 0 0 0 0 ⎥⎦<br />

i−1 21 24<br />

i β e31 0 0 e34<br />

.<br />

(3.164)<br />

= , se determină următorii operatori diferenţiali:<br />

[ δT<br />

]<br />

⎡0 0 0 0 ⎤<br />

⎢<br />

0 0 0 Δb<br />

⎥<br />

= ⎢ ⎥ ;<br />

⎢0 0 0 0 ⎥<br />

⎢ ⎥<br />

⎣0 0 0 0 ⎦<br />

i−1 i−1 i b<br />

⎡0 0 0 0 ⎤<br />

⎢<br />

0 0 −Δα c ⋅Δα<br />

⎥<br />

=<br />

⎢ ⎥<br />

⎢ ⎥<br />

⎣0 0 0 0 ⎦<br />

[ δT<br />

] ⎢ ⎥ ;<br />

i−1 i−1 i−1 i−1 i α 0 Δαi−1 0 −bi−1⋅Δαi−1 β<br />

⎧e21β<br />

=− e12β = sαi−1⋅Δβi−1;<br />

⎪<br />

⎪e31β<br />

=− e13β =−cαi−1⋅Δβi−1; ⎪<br />

⎨ β = ⋅ α − ⋅ α ⋅Δβ<br />

⎪<br />

⎪<br />

e24β=−ai−1⋅sαi−1⋅Δβi−1; ⎪<br />

⎩e34β=<br />

ai−1⋅cαi−1⋅Δβi−1; ; e ( b s c c )<br />

14 i−1 i−1 i−1 i−1 i−1 ⎡ 0 e12 e13 e14⎤<br />

⎢<br />

e 0 e e<br />

⎥<br />

=<br />

⎢ ⎥<br />

⎢ ⎥<br />

⎢⎣ 0 0 0 0 ⎥⎦<br />

[ δT<br />

] ⎢ ⎥ ;<br />

i−1 21 23 24<br />

i γ e31e32 0 e34<br />

γ<br />

;<br />

(3.165)<br />

(3.166)<br />

(3.167)<br />

(3.168)


<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

.<br />

⎧e21γ<br />

=− e12γ = cαi−1⋅cβi−1⋅Δγ i−1; ⎪<br />

⎪e31γ<br />

=− e13γ = sαi−1⋅cβi−1⋅Δγ i−1; ⎪<br />

⎨e32γ<br />

=− e23γ = sβi−1⋅Δγ<br />

i−1; (3.169)<br />

⎪<br />

⎪<br />

e14γ= ( bi−1⋅cαi−1⋅ cβi−1+ ci−1⋅sαi−1⋅cβi−1) ⋅Δγ<br />

i−1; ⎪<br />

⎩e24γ=<br />

( −ai−1⋅cαi−1⋅ cβi−1+ ci−1⋅sβi−1) ⋅Δγ<br />

i−1; Înlocuind (3.168) în (3.159), se determină componentele operatorului de diferenţiere aparţinând erorilor<br />

globale tip PG, după cum urmează:<br />

e =− e = sα⋅Δ β + cα ⋅cβ ⋅Δγ<br />

21 12 i−1 i−1 i−1 i−1 i−1 e =− e =−cα⋅Δ β + sα ⋅cβ ⋅Δγ<br />

31 13 i−1 i−1 i−1 i−1 i−1 e =− e =Δ α + sβ<br />

⋅Δγ<br />

32 23 i−1 i−1 i−1 ( α α ) β ( α β α β ) γ ;<br />

e =Δ a + b ⋅s −c ⋅c ⋅Δ + b ⋅c ⋅ c + c ⋅s ⋅c ⋅Δ (3.170)<br />

14 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 124<br />

;<br />

;<br />

( ) ;<br />

( ) .<br />

e =Δ b + c ⋅Δα −a ⋅sα⋅Δ β + −a ⋅cα⋅ cβ + c ⋅sβ ⋅Δ γ<br />

24 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 e =Δc −b ⋅Δ α + a ⋅cα ⋅Δβ − a ⋅sα ⋅ cβ + b ⋅sβ ⋅Δ γ<br />

34 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 i−1 Evaluarea performanţelor de precizie ale roboţilor se bazează pe modelul diferenţial al erorilor, având<br />

ordinul x={1; 2; 3}. Pentru început, acesta se aplică asupra transformării omogene dintre sistemele {0} - {n},<br />

ultimul fiind ataşat efectorului final. Astfel, matricea geometrică a erorilor specifică modelului liniar este:<br />

⎡ 0 −δz<br />

δy<br />

dx⎤<br />

⎢ n<br />

1 δz 0 −δx<br />

dy<br />

⎥<br />

−<br />

0<br />

⎡δT ⎤ ⎢ ⎥ ⎡δ T⎤<br />

⎣ ⎦<br />

= = ∑ .<br />

δy δx<br />

0 dz ⎣ ⎦<br />

(3.171)<br />

⎢−⎥ i= 1<br />

⎢ ⎥<br />

⎣ 0 0 0 0 ⎦<br />

0 i 1<br />

n yQ i yQ<br />

Expresia matriceală corespunzătoare modelului de ordinul al doilea, pentru erorile geometrice, este:<br />

0<br />

2<br />

0<br />

1<br />

0<br />

2<br />

⎡δT ⎤ ⎡δT ⎤ ⎡δT ⎤<br />

n ⎣ ⎦<br />

=<br />

yQ n ⎣ ⎦<br />

+<br />

yQ n ⎣ ⎦yQ<br />

Aceasta mai poate fi scrisă și sub următoarea formă:<br />

0<br />

2<br />

n ⎣<br />

δ<br />

⎦yQ<br />

0 n i−1 n−1 n i−1 j−1 ;<br />

;<br />

(3.172)<br />

⎡ 2 0 0 0<br />

δT ⎤ ⎡δ T⎤ ⎡δ T⎤ ⎡δ T⎤<br />

⎣ ⎦<br />

= ∑ ⎣ ⎦<br />

+ ∑ ∑ ⎣ ⎦ ⎣ ⎦<br />

.<br />

(3.173)<br />

n yQ i yQ i yQ j yQ<br />

i= 1 i= 1 j= i+ 1<br />

2 2 ( )<br />

⎡ 1<br />

⎤<br />

⎢<br />

− δy+ δz −δz<br />

δy<br />

dx<br />

2<br />

⎥<br />

⎢ 1<br />

⎥<br />

2 2<br />

⎢ δyδx δz ( δz δx ) δx<br />

dy⎥<br />

⎡ T ⎤<br />

⋅ + − + −<br />

= ⎢ 2<br />

⎥<br />

⎢ 1 2 2 ⎥<br />

⎢<br />

δz⋅δx−δyδz⋅ δy+ δx − ( δx + δy)<br />

dz<br />

2<br />

⎥<br />

⎢ 0 0 0 0 ⎥<br />

⎣ ⎦<br />

(3.174)


În vederea îmbunătăţirii performanţelor de precizie, se utilizează modelul diferenţial de ordinul al treilea:<br />

0 0 0 0<br />

3<br />

( 1) ( 2) ( 3<br />

⎡ )<br />

δT ⎤ ⎡δT ⎤ ⎡δT ⎤ ⎡δT ⎤<br />

n ⎣ ⎦<br />

= + +<br />

yQ n ⎣ ⎦yQ n ⎣ ⎦yQ n ⎣ ⎦yQ<br />

Ecuaţia (3.175) mai poate fi exprimată sub forma prezentată mai jos, astfel:<br />

sau,<br />

n i−1 n−1 n<br />

0<br />

i−1 0<br />

j−1 0<br />

∑ ⎡δ T⎤ ⎡δ T⎤ ⎡δ T⎤<br />

0 i ⎣ ⎦<br />

+ ∑ ∑<br />

yQ i ⎣ ⎦<br />

⋅<br />

yQ j ⎣ ⎦<br />

+<br />

yQ<br />

3<br />

i= 1 i= 1 j= i+ 1<br />

T<br />

n ⎣<br />

δ<br />

⎦ yQ n−2 n−1 n i−1 0<br />

j−1 0<br />

k−1 0<br />

+ ∑∑ ∑ ⎡δ T⎤ ⎡δ T⎤ ⎡δ T⎤<br />

i ⎣ ⎦<br />

⋅<br />

yQ j ⎣ ⎦ yQ k ⎣ ⎦ yQ<br />

i= 1 j= i+ 1k= j+ 1<br />

125<br />

; (3.175)<br />

⎧ ⎫<br />

⎪ ⎪<br />

⎡ ⎤<br />

⎪ ⎪<br />

= ⎨ ⎬;<br />

(3.176)<br />

⎪ ⎪<br />

⎪<br />

⎩<br />

⎪<br />

⎭<br />

⎡δ11 δ12δ13 dx ⎤<br />

⎢<br />

δ21 δ22δ23 dy<br />

⎥<br />

⎡ ⎤ ⎢ ⎥<br />

⎣ ⎦<br />

=<br />

. (3.177)<br />

⎢δ31 δ32δ33 dz⎥<br />

⎢ ⎥<br />

⎣ 0 0 0 0 ⎦<br />

0<br />

3<br />

δT<br />

n yQ<br />

1 2 2<br />

δ11 =− ( δy+ δz);<br />

2<br />

1 1<br />

δ21 = δx⋅ δy + δz− δz⋅δx − δz<br />

2 6<br />

2 3<br />

2 2 3<br />

( ) ;<br />

1 1<br />

δ31 = δz⋅δx− δy + δy⋅ δx + δy⋅ δz + δy<br />

2 6<br />

1 1<br />

δ12 =− δz+ δz⋅ δy + δz<br />

2 6<br />

2 3<br />

2 2 ( z x ) x y z ;<br />

1<br />

δ 22 = − δ + δ −δ ⋅δ ⋅δ<br />

2<br />

1 1<br />

δ32 = δz⋅ δy + δx− δx⋅δz − δy<br />

2 6<br />

1<br />

δ13 = δy− δy<br />

6<br />

3<br />

;<br />

;<br />

2 3<br />

1 1<br />

δ23 =− δx+ δx⋅ δy+ δx<br />

2 6<br />

2 3<br />

1 2 2<br />

δ33 =− ( δx + δy<br />

).<br />

2<br />

În cadrul expresiilor (3.171) – (3.177) există operatorul matriceal:<br />

i−1 0<br />

0 i−1 0 −1<br />

⎡δ T⎤ i ⎣ ⎦<br />

= T ⋅ δT<br />

⋅ T<br />

yQ i−1 Q i yQ i−1 Q<br />

[ ] [ ] [ ] ;<br />

;<br />

;<br />

;<br />

.<br />

(3.178)<br />

(3.179)


<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

.<br />

i−1 δT<br />

este înlocuit cu una dintre matricele (3.161) - (3.163) sau (3.170).<br />

unde [ ]<br />

i yQ<br />

Un alt tip de operatori de diferenţiere, cu semnificaţie importantă în modelarea preciziei, este:<br />

i−1 [ T] [ δT]<br />

[ T]<br />

;<br />

⎧ j−1 i−1 j−1 −1<br />

j−1 ⋅ ⋅<br />

⎡δT⎤ ⎪ i−1 Q i yQ i−1 Q<br />

⎣ ⎦<br />

= ⎨<br />

⎪⎩ unde i = 1 → n + 1; j = 1 → i .<br />

i yQ<br />

126<br />

(3.180)<br />

Utilizând (3.180), se pot determina toate matricele de erori corespunzătoare modelului diferenţial de<br />

ordin x={1; 2; 3}. Astfel, modelul liniar este caracterizat de următoarele expresii:<br />

i<br />

⎧ j−1 () 1 k−1 ⎡ j 1<br />

δT ⎤ −<br />

⎪ = ⎡δ T⎤<br />

;<br />

i ⎣ ⎦ ∑<br />

⎪<br />

yQ k ⎣ ⎦yQ<br />

k= j<br />

⎨<br />

j−1 j−1 ⎪ 1<br />

() 1 j−1 ⎡Δ T ⎤ = ⎡δT ⎤ ⋅ [ T<br />

⎪ ]<br />

⎩ i ⎣ ⎦yQ<br />

i ⎣ ⎦yQ<br />

i Q<br />

Matricele de erori, aparţinând modelului de ordinul al doilea, au forma:<br />

j 1 i−1 i<br />

⎧ −<br />

( 2) k−1 j 1<br />

l−1 ⎡ j 1<br />

δT ⎤ − −<br />

⎪ = ⎡δ T⎤ ⋅ ⎡δ T⎤<br />

i ⎣ ⎦ ∑∑<br />

yQ ⎣ ⎦ ⎣ ⎦<br />

⎪<br />

k= j l= k+ 1<br />

⎪ j−1 j−1 j−1 2<br />

() 1 ( 2<br />

⎨ ⎡ )<br />

δT ⎤ = ⎡δT ⎤ + ⎡δT ⎤ ;<br />

⎪ i ⎣ ⎦yQ i ⎣ ⎦yQ i ⎣ ⎦yQ<br />

⎪<br />

j−1 2<br />

j−1 2 j−1 ⎪ ⎡Δ T ⎤ = ⎡δT ⎤ ⋅ [ T]<br />

.<br />

⎩<br />

i ⎣ ⎦yQ i ⎣ ⎦yQ<br />

i Q<br />

k yQ l yQ<br />

Modelul diferenţial de ordinul al treilea conţine expresiile matriceale:<br />

⎧ j−1 i−2 i−1 i<br />

( 3) k−1 j 1<br />

l−1 j 1<br />

m−1 ⎡ j 1<br />

δT ⎤ − − −<br />

⎪ = ⎡δ T⎤ ⋅ ⎡δ T⎤ ⋅ ⎡δ T⎤<br />

i ⎣ ⎦ ∑∑ ∑<br />

yQ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦<br />

⎪<br />

k= j l= k+ 1m= l+ 1<br />

⎪ j−1 j−1 j−1 j−1 3<br />

( 1) ( 2) ( 3<br />

⎨ ⎡ )<br />

δT ⎤ = ⎡δT ⎤ + ⎡δT ⎤ + ⎡δT ⎤ ;<br />

⎪ i ⎣ ⎦yQ i ⎣ ⎦yQ i ⎣ ⎦yQ i ⎣ ⎦yQ<br />

⎪<br />

j−1 3<br />

j−1 ⎪ 3 j−1 ⎡Δ T ⎤ = ⎡δT ⎤ ⋅ [ T]<br />

.<br />

⎪⎩<br />

i ⎣ ⎦yQ i ⎣ ⎦yQ<br />

i Q<br />

k yQ l yQ m yQ<br />

Matricele de erori determinate cu expresiile de mai sus, au un rol esenţial în modelarea preciziei roboţilor.<br />

3.5 Algoritmul matricelor de transfer al erorilor geometrice bazat pe parametrii de situare<br />

;<br />

;<br />

;<br />

(3.181)<br />

(3.182)<br />

(3.183)<br />

Algoritmul matricelor de transfer pentru erorile de poziție și orientare ale efectorului final utilizând<br />

parametrii de situare, are ca și punct de plecare, conform cu [N22] următoarele expresii matriceale:<br />

n<br />

0 1 0 i−1 0 −1<br />

δ T i[ ] i[<br />

]<br />

n = ∑ T ⋅δ Tii−1⋅ T ; (3.184)<br />

i= 1


n n<br />

0 0 −1<br />

n ii−1 i−1 ii−1 i−1 i= 1 i= 1<br />

∑ ∑ . (3.185)<br />

0 1 0 i−1 δ T = δ T = [ T] ⋅δ T ⋅ [ T]<br />

Expresiile matriceale (3.184) și (3.185) prin transformări diferențiale și matriceale conduc la:<br />

{ ψ }<br />

i ⎡ Δ i ×<br />

δ Tii<br />

−1<br />

= ⎢<br />

⎣0 0 0<br />

Δpii−1⎤<br />

1 ⎥ ;<br />

⎦<br />

(3.186)<br />

unde (3.186) reprezintă operatorul de diferențiere în raport cu erorile.<br />

n<br />

n<br />

0<br />

∑ i<br />

i= 1<br />

ii−1 0<br />

i<br />

−1<br />

0 i<br />

Aplicând expresia δ T = [ T] ⋅δ T ⋅ [ T]<br />

matriceal al erorilor primare cu expresia (3.186), în final rezultă:<br />

0<br />

δ T<br />

0<br />

δ T<br />

n<br />

n<br />

{ ψ }<br />

127<br />

, prezentată anterior și înlocuind operatorul<br />

0 0 −1 0 −1<br />

⎡ i[R] p ⎤ i ⎡ Δ i × Δpii−1⎤<br />

⎡ i[R] − i[R] ⋅ p ⎤ i<br />

= ⎢ ⎥⋅⎢ ⎥⋅⎢<br />

⎥ ; (3.187)<br />

⎢0 0 0 1⎥ ⎢0 0 0 1 ⎥ ⎢0 0 0 1<br />

⎣ ⎦ ⎣ ⎦ ⎣ ⎥⎦<br />

{ ψ } { ψ }<br />

0 0 −1 0 0 0 −1<br />

⎡ i[R] ⋅ Δ i × ⋅ i[R] i[R] ⋅Δp ii−1 − i[R] ⋅ Δ i × ⋅ i[R] ⋅p⎤<br />

i<br />

= ⎢ ⎥ ; (3.188)<br />

⎢ 0 0 0 0<br />

⎣ ⎥⎦<br />

Se notează cu ε [ p ψ ]<br />

= Δ Δ vectorul erorilor primare de poziție și orientare. Separând erorile<br />

ii−1ii−1 primare Δ pii −1<br />

și Δ ψ ii−1 rezultă o expresie matriceală care pune în evidență legătura dintre matricea de<br />

T<br />

T<br />

⎡ T ⎤<br />

dimensiune 6x6n, notată cu d E δ și denumită matrice de transfer și vectorul ⎣d δ ⎦ .<br />

Expresia termenului general al acestei matrice se determină pornind de la următoarele relații:<br />

[ ] { } [ ]<br />

0 0 −1<br />

i R ψ i R<br />

⋅ Δ × ⋅ =<br />

⎡ 0 −δizδiy ⎤ ⎡αix αiy αiz⎤ ⎡ 0 −Δγ i Δβi⎤<br />

⎡αix βixγ ix ⎤<br />

⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ; (3.189)<br />

= ⎢ δ iz 0 − δix ⎥ = ⎢βix βiy βiz ⎥⋅⎢ Δγ i 0 −Δαi⎥⋅⎢αiy βiyγ iy ⎥<br />

⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />

⎢<br />

⎣−δiyδix 0 ⎥<br />

⎦<br />

⎢<br />

⎣γ ix γ iy γ ⎥ iz ⎦<br />

⎢⎣−ΔβiΔαi0 ⎥⎦ ⎢⎣αiz βizγ ⎥ iz ⎦<br />

unde δ ix αi( γ iz βiyγ iy βiz) βi( γ ix βiz γ iz βix ) γ i ( γ iy βix γ ix βiy)<br />

=Δ ⋅ ⋅ − ⋅ +Δ ⋅ − ⋅ +Δ ⋅ − ⋅ ; (3.190)<br />

( ) ( ) ( )<br />

δ =Δα ⋅ α ⋅γ −α ⋅ γ +Δβ α ⋅γ −α ⋅ γ +Δγ α ⋅γ −α ⋅ γ ; (3.191)<br />

iy i iz iy iy iz i ix iz iz ix i iy ix ix iy<br />

( ) ( ) ( )<br />

δ =Δα ⋅ α ⋅β −β ⋅ α +Δβ β ⋅α −β ⋅ α +Δγ α ⋅β −α ⋅ β ; (3.192)<br />

iz i iy iz iy iz i ix iz iz ix i ix iz iz ix<br />

( ) ( ) ( )<br />

( ) ( ) ( )<br />

( ) ( ) ( )<br />

⎡δix ⎤ ⎡ Δαi⋅ γ iz ⋅βiy −γ iy ⋅ βiz +Δβiγ ix ⋅βiz −γ iz ⋅ βix +Δγ i γ iy ⋅βix−γ ix ⋅βiy<br />

⎤<br />

⎢ ⎥ ⎢<br />

⎥<br />

δi= ⎢δiy ⎥ = ⎢ Δαi⋅ αiz⋅γ iy −αiy ⋅ γ iz +Δβiαix⋅γ iz −αiz ⋅ γ ix +Δγ i αiy⋅γ ix −αix ⋅γ<br />

⎥ iy ; (3.193)<br />

⎢ ⎥ ⎢ ⎥<br />

⎣⎢δiz ⎦⎥ ⎢<br />

⎣<br />

Δαi⋅ αiy⋅βiz−βiy⋅ αiz+Δβiβix ⋅αiz−βiz ⋅ αix +Δγ i αix ⋅βiz−αiz ⋅β<br />

⎥<br />

ix ⎦<br />

.


<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> .<br />

.<br />

unde (3.193) reprezintă termenul erorilor de orientare, corespunzător liniei i obținut prin separarea<br />

coeficienților corespunzători erorilor primare de orientare definite prin Δ α i , Δ βi<br />

respectiv Δ γ i .<br />

În continuare se determină erorile de poziție. Pentru aceasta se efectuează cel de-al doilea produs<br />

matriceal din (3.188), rezultând componentele vectorului ce caracterizează erorile de poziție, d i :<br />

T<br />

[ R] ⋅Δp [ ]<br />

i − R ⋅Δ ψ i × pi = ⎡⎣dix diy diz⎤⎦ = di<br />

=<br />

0 0 i<br />

i i<br />

⎡αixαiyαiz ⎤ ⎡Δpxi ⎤ ⎡αix αiy αiz⎤ ⎡ 0 −Δγ i Δβi⎤<br />

⎡pxi ⎤<br />

⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥;<br />

(3.194)<br />

= ⎢βixβiyβiz ⎥⋅⎢Δpyi⎥−⎢βix βiy βiz⎥⋅⎢ Δγ i 0 −Δαi⎥⋅⎢pyi⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />

⎢<br />

⎣γ ix γ iy γ ⎥ iz ⎦<br />

⎢⎣Δp ⎥ zi ⎦ ⎢<br />

⎣γ ix γ iy γ ⎥ ⎢ iz ⎦ ⎣−ΔβiΔαi0 ⎥⎦ ⎢⎣pzi⎦⎥<br />

Procedând la separarea coeficienților erorilor primare de poziție și orientare se obțin expresiile:<br />

( )<br />

( p p ) ( p p )<br />

dix = αix ⋅Δ pxi + αiy ⋅Δ pyi + αiz ⋅Δ pzi +Δαi⋅ αiy⋅pzi−αiz⋅ pyi+<br />

; (3.195)<br />

+Δβ ⋅ α ⋅ −α ⋅ + Δγ ⋅ α ⋅ −α ⋅<br />

i iz xi ix zi i ix yi iy xi<br />

128<br />

( )<br />

diy = βix ⋅Δ pxi + βiy⋅Δ pyi + βiz⋅Δ pzi +Δαi⋅ βiy⋅pzi−βiz⋅ pyi+<br />

; (3.196)<br />

+Δβ ⋅ β ⋅ − β ⋅ + Δγ ⋅ β ⋅ − β ⋅<br />

( p p ) ( p p )<br />

i iz xi ix zi i ix yi iy xi<br />

( )<br />

diz = γ ix ⋅Δ pxi + γ iy ⋅Δ pyi + γ iz ⋅Δ pzi +Δαi⋅ γ iy ⋅pzi−γ iz ⋅ pyi+<br />

; (3.197)<br />

+Δβi⋅( γ iz ⋅ pxi−γ ix ⋅ pzi) + Δγ i ⋅( γ ix ⋅ pyi −γ iy ⋅ pxi<br />

)<br />

unde cu expresiile (3.195) - (3.197) au fost definite proiecțiile pe axele sistemului cartezian ale<br />

vectorului d i . Drept urmare, se pot scrie următoarele expresii:<br />

[ ]<br />

T T<br />

i δi= ⎡ ix iy iz δix δiy δiz⎤<br />

d ⎣d d d<br />

⎦<br />

ε iS = ⎡⎣Δpxi Δpyi Δpzi ΔαiΔβiΔγ i ⎤⎦<br />

T<br />

; (3.198)<br />

; (3.199)<br />

unde (3.199) reprezintă vectorul erorilor de situare (poziție și orientare – erori primare)<br />

Elementul i al matricei de transfer a erorilor se determină în forma generală prezentată mai jos:<br />

E<br />

i<br />

d, δ<br />

( ⋅p − ⋅p ) ( ⋅p − ⋅p ) ( ⋅p − ⋅p<br />

)<br />

⎡αix αiy αiz αiy zi αiz yi αizxi αix zi αix yi αiyxi<br />

⎤<br />

⎢ ⎥<br />

⎢ ⎥<br />

⎢βixβiyβiz ( βiy ⋅pzi −βiz ⋅pyi ) ( βiz⋅pxi−βix ⋅pzi) ( βix⋅pyi −βiy ⋅pxi<br />

) ⎥<br />

⎢ ⎥<br />

⎢γ ix γ iy γ iz ( γ iy ⋅pzi −γ iz ⋅pyi ) ( γ iz ⋅pxi−γ ix ⋅pzi ) ( γ ix ⋅pyi −γ iy ⋅pxi<br />

) ⎥<br />

⎢ ⎥<br />

=<br />

⎢ ⎥<br />

; (3.200)<br />

⎢ 0 0 0 ( γ iz ⋅βiy −γ iy ⋅βiz) ( γ ix ⋅βiz −γ iz ⋅βix)<br />

( γ iy ⋅βix −γ ix ⋅βiy)<br />

⎥<br />

⎢ ⎥<br />

⎢<br />

0 0 0 ( αiz⋅γ iy −αiy ⋅γ iz ) ( αix⋅γ iz −αiz ⋅γ ix ) ( αiy⋅γ ix −αix ⋅γ<br />

⎥<br />

⎢ iy ) ⎥<br />

⎢ ⎥<br />

⎢<br />

⎣<br />

0 0 0 ( αiy ⋅βiz −βiy⋅αiz ) ( βix ⋅αiz−βiz⋅αix ) ( αix⋅βiz −αiz⋅βix) ⎥<br />


Matricea de transfer rezultantă d, E δ este alcătuită din n blocuri matriceale de tipul (3.200), având<br />

dimensiunea de ( 6× 6)<br />

fiecare, conform expresiei de mai jos:<br />

⎡<br />

E ⎢<br />

d, δ =<br />

⎢ ( 6× 6n)<br />

⎢⎣ 1<br />

Ed, δ<br />

2<br />

Ed, δ ...<br />

i<br />

Ed, δ ...<br />

n<br />

Ed,<br />

δ<br />

⎤<br />

⎥ ;<br />

⎥<br />

⎥⎦<br />

(3.201)<br />

unde E δ se înlocuiește cu expresia matriceală (3.200), rezultând astfel o matrice de dimensiuni ( 6× 6n)<br />

.<br />

i<br />

d,<br />

Efectuând produsul matriceal dintre matricea de transfer corespunzătoare cuplei ( i ) și vectorul<br />

coloană al erorilor primare (ce caracterizează de asemenea cupla ( i ) ) va rezulta:<br />

T<br />

T T T i<br />

i δ i ⎡ ix iy iz δix δiy δiz ⎤ d , εiS<br />

⎡⎣d ⎤ ⎦ = ⎣d d d ⎦ = E δ ⋅<br />

(3.202)<br />

unde ε iS reprezintă vectorul coloană al erorilor parametrilor de situare.<br />

⎡dix ⎤ ⎡αix ⎢ ⎥ ⎢<br />

⎢ ⎥ ⎢<br />

⎢<br />

diy ⎥ ⎢βix ⎢ ⎥ ⎢<br />

⎢d⎥ ⎢<br />

iz γix ⎢ ⎥ ⎢<br />

⎢ ⎥<br />

=<br />

⎢<br />

⎢δix ⎥ ⎢ 0<br />

⎢ ⎥ ⎢<br />

⎢δ⎥ ⎢<br />

iy 0<br />

⎢ ⎥ ⎢<br />

⎢ ⎥ ⎢<br />

⎢⎣δiz ⎥⎦<br />

⎢<br />

⎣<br />

0<br />

αiy βiy γiy 0<br />

0<br />

0<br />

αiz βiz γiz 0<br />

0<br />

0<br />

( αiy⋅pzi−αiz ⋅pyi) ( βiy⋅pzi−βiz ⋅pyi) ( γiy⋅pzi−γiz ⋅pyi) ( γiz ⋅βiy −γiy ⋅βiz )<br />

( αiz ⋅γiy −αiy ⋅γiz )<br />

( αiy ⋅βiz −βiy ⋅αiz )<br />

( αiz ⋅pxi−αix ⋅pzi) ( βiz ⋅pxi−βix ⋅pzi) ( γiz ⋅pxi−γix ⋅pzi) ( γix ⋅βiz −γiz ⋅βix )<br />

( αix ⋅γiz −αiz ⋅γix) ( βix ⋅αiz −βiz ⋅αix )<br />

( αix ⋅pyi−αiy ⋅pxi)<br />

⎤ ⎡Δpxi⎤ ⎥ ⎢ ⎥<br />

⎥<br />

( βix ⋅pyi−βiy ⋅p<br />

⎢ ⎥<br />

xi ) ⎥ ⎢<br />

Δpyi<br />

⎥<br />

⎥ ⎢ ⎥<br />

( γix<br />

⋅pyi<br />

−γiy⋅pxi ) ⎥ ⎢Δp⎥ zi<br />

⎥<br />

⎥<br />

⋅<br />

⎢ ⎥<br />

. (3.203)<br />

⎢ ⎥<br />

( γiy ⋅βix −γix ⋅βiy ) ⎥ ⎢Δαi⎥ ⎥ ⎢ ⎥<br />

( αiy ⋅γix −αix ⋅γ<br />

⎥<br />

iy ) ⎢<br />

⎥<br />

Δβ<br />

⎥<br />

i ⎢ ⎥<br />

⎥ ⎢ ⎥<br />

( αix ⋅βiz−αiz ⋅βix<br />

) ⎥<br />

⎦ ⎢⎣Δγi⎥⎦ unde cu expresia (3.202), respectiv (3.203) sunt definite componentele vectorului erorilor de<br />

poziție/orientare.<br />

Observații: După cum se poate observa din analiza prezentată anterior, matricele de transfer ale erorilor au<br />

un rol esențial atât în ceea ce privește modelarea directă cât și cea inversă a erorilor de poziție și orientare.<br />

De asemenea trebuie menționat că matricele de transfer sunt utilizate la stabilirea prin metode statistice a<br />

domeniului de variație pentru erorile de poziție și orientare. În cadrul capitolului șase este prezentată o<br />

aplicație numerică de determinare a matricelor de transfer ce caracterizează fiecare cuplă, respectiv a<br />

matricei de transfer pentru întreaga structură a unui robot cu cinci grade de libertate, model Fanuc LR Mate<br />

100iB aflat în dotarea laboratorului de Mecanică Aplicată și Robotică. Pentru aceeași structură de robot s-a<br />

determinat și inversa matricei de transfer, utilizată pentru corecția erorilor de poziție și orientare.<br />

129<br />

.


link i −1<br />

q ⋅k<br />

i−1 i−1<br />

{ i −1}<br />

4. MODELAREA ERORILOR CINEMATICE<br />

4.1 Matricele erorilor cinematice<br />

Modelarea cinematico-dinamică nominală a roboţilor se bazează, printre altele, pe aşa numitele<br />

matrice diferenţiale ale transformărilor omogene având ca variabile q = q ( t) ; i = 1→ n .<br />

qi⋅ki { i}<br />

{ 0}<br />

link i<br />

{ i + 1}<br />

q ⋅k<br />

i+ 1 i+<br />

1<br />

qn⋅kn { n}<br />

Figura 4.1 Reprezentarea schemei<br />

cinematice pentru un robot cu n g.d.l<br />

{ n+ 1}<br />

{ i i<br />

}<br />

Luând în considerare varianta a doua a metodei tip DH sau metoda tip PG, aceste transformări<br />

cinematice au următoarele expresii:<br />

unde i 1<br />

U<br />

{ ( ) , ( ) , , }<br />

A = A R A p i = 1→ n j = i → n ; (4.1)<br />

ijQ ijQ ijQ<br />

( )<br />

kl ( )<br />

AijQ R = Matrix AijQ ; k = 1→ 3; l = 1→ 3 ; (4.2)<br />

( 3x3)<br />

( )<br />

k4 ( ; )<br />

( 3x1)<br />

A p = Matrix A k = 1→ 3 . (4.3)<br />

ijQ ijQ<br />

0 j<br />

AijQ T U<br />

j Q j T<br />

i Q<br />

i=→ 1 n<br />

j=→ i n<br />

( ) ( )<br />

⎡AijQ R AijQ p ⎤<br />

= [ ] ⋅ ⋅ [ ] = ⎢ ⎥.<br />

(4.4)<br />

⎢ 000 0 ⎥<br />

⎣ ⎦<br />

Ele se obţin prin derivarea parţială de ordinul întâi<br />

respectiv al doilea, aplicată asupra transformărilor<br />

omogene, utilizând operatorul matriceal Uicker.<br />

⎡ 0 −Δi<br />

0 0 ⎤<br />

⎢<br />

Δ i 0 0 0<br />

⎥<br />

= τ ⋅⎢ ⎥ ;<br />

⎢ 0 0 0 1−Δi⎥<br />

⎢ ⎥<br />

⎣ 0 0 0 0 ⎦<br />

i i<br />

{ }<br />

τ =± în funcţie de qi = τ i ⋅qi ⋅ zi<br />

, iar Δ i = { 1; i= R} ; { 0; i= T}<br />

.<br />

Se poate observa că toate transformările cinematice (4.1) - (4.4) conţin parametrii tip DH sau tip PG.<br />

Aplicând erorile de tipul ∈=∈ { ; ∈ } asupra acestor transformări, se obţin matricele cinematice de erori:<br />

Nr.<br />

crt.<br />

Q D G<br />

Simbolizare Expresia Nr.<br />

ΔA<br />

xy<br />

ijQ<br />

1. ⎛i = 1→ n,<br />

⎞<br />

⎜ ⎟<br />

⎝ j = i → n ⎠<br />

0<br />

x j 0<br />

j<br />

x<br />

⎡ T ⎤ U j T T U ⎡<br />

i Q j Q j T ⎤<br />

j ⎣<br />

Δ<br />

⎦<br />

⋅ ⋅ + ⋅ ⋅ Δ<br />

yQ i ⎣ ⎦yQ<br />

[ ] [ ]<br />

xy<br />

A ( R) xy<br />

A ( p)<br />

⎡ ⎤<br />

xy<br />

ijQ ijQ<br />

Δ A ijQ = ⎢ ⎥<br />

⎢⎣ 000 0 ⎥⎦<br />

(4.5)<br />

(4.6)


MODELAREA ERORILOR CINEMATICE .I.<br />

2.<br />

3.<br />

4.<br />

xy xy<br />

ijmQ imjQ<br />

Δ A =ΔA<br />

⎛i = 1→ n,<br />

⎞<br />

⎜ j = 1→ i,<br />

⎟<br />

⎜m = j → i⎟<br />

⎝ ⎠<br />

( )<br />

xy xy<br />

( )<br />

A ijQ R = Matrix AijQkl ; k = 1 → 3; l = 1 → 3 ;<br />

( 3x3)<br />

( )<br />

xy xy<br />

ijQ ijQk 4<br />

A p = Matrix A k = 1 → 3<br />

( ; )<br />

( 3x1)<br />

0<br />

⎡<br />

j ⎣<br />

x<br />

T ⎤<br />

⎦yQ U j<br />

j<br />

[ T] m Q<br />

Um m<br />

[ T] i Q<br />

0<br />

[ T] j Q<br />

U j<br />

j<br />

⎡<br />

m⎣ x<br />

T ⎤<br />

⎦yQ<br />

Um<br />

m 0 j m<br />

x<br />

⋅ [ T] + [ T] ⋅U j ⋅ [ T] ⋅Um⋅ ⎡ T ⎤ ;<br />

i Q j Q m Q i ⎣<br />

Δ<br />

⎦yQ<br />

Δ ⋅ ⋅ ⋅ ⋅ + ⋅ ⋅ Δ ⋅ ⋅<br />

( )<br />

132<br />

( ) ( )<br />

xy xy<br />

⎡ΔAijmQ R ΔAijmQ<br />

p ⎤<br />

⎢ ⎥<br />

⎢⎣ 000 0 ⎥⎦<br />

xy xy<br />

( )<br />

Δ A ijmQ R = Matrix AijmQkl ; k = 1 → 3; l = 1 → 3<br />

( 3x3)<br />

xy xy<br />

Δ A ( p) = Matrix A ; k = 1 → 4 , y = { p ; g}<br />

ijmQ ijmQk 4<br />

( )<br />

( 3x1)<br />

Pentru y=e , exprimând influenţa erorilor geometrice corespunzătoare fiecărui element al robotului, matricele<br />

cinematice de erori sunt următoarele:<br />

Δ A<br />

xek<br />

ijQ<br />

⎛ k = 1 → n⎞<br />

⎜ i = 1 → n ⎟<br />

⎜ j = i → n ⎟<br />

⎝ ⎠<br />

xek xek<br />

ijmQ im jQ<br />

Δ A = ΔA<br />

⎛k = 1→ n,<br />

⎞<br />

⎜ ⎟<br />

⎜<br />

i = 1→ n,<br />

⎟<br />

⎜ j = 1→ i,<br />

⎟<br />

⎜ ⎟<br />

⎝m = j → i ⎠<br />

0 ⎧ x k j<br />

xek xek<br />

⎡ ⎡<br />

( ) ( ) T ⎤<br />

ΔA [ ] j [ ] ,<br />

ijQ R ΔAijQ p ⎤ Δ ⋅ T ⋅U ⋅ T dacak≤ j<br />

⎪k⎣<br />

⎦eQ<br />

j Q i Q<br />

⎢ ⎥= ⎨<br />

000 0<br />

0 j<br />

x k<br />

⎢⎣ ⎥⎦ ⎪ [ T] ⋅Uj⋅ ⎡ΔT ⎤ ⋅ [ T] , dacak≥ j+ 1<br />

⎩ j Q k⎣ ⎦eQ<br />

i Q<br />

( )<br />

xek xek<br />

( )<br />

Δ A ijQ R = Matrix Δ AijQlp ; l = 1 → 3; p = 1 → 3<br />

( 3x3)<br />

( )<br />

xek xek<br />

ijQ ijQl 4<br />

Δ A p = Matrix Δ A l = 1 → 3<br />

( ; )<br />

( 3x1)<br />

0 ⎧ x k j m<br />

⎡ΔT ⎤ ⋅ [ T] ⋅U j ⋅ [ T] ⋅Um⋅ [ T] , k ≤ j<br />

⎪ k ⎣ ⎦eQ<br />

j Q m Q i Q<br />

⎪ 0 j<br />

x k m<br />

⎨ [ T] ⋅U j ⋅ ⎡ T ⎤ [ ] m [ ] ,<br />

j Q k ⎣<br />

Δ<br />

⎦<br />

⋅ T ⋅U ⋅ T j+ 1≤ k ≤ m<br />

eQ m Q i Q<br />

⎪<br />

0 j m<br />

⎪ x k<br />

[ T] ⋅U j ⋅ [ T] ⋅Um⋅ ⎡ΔT ⎤ ⋅ [ T] , m+ 1≤ k ≤ i<br />

⎪⎩ j Q m Q k ⎣ ⎦eQ<br />

i Q<br />

( )<br />

xek xek<br />

( )<br />

Δ AijmQ R = Matrix Δ AijmQlp ; l = 1→ 3; p = 1→ 3<br />

( 3x3)<br />

( )<br />

xek xek<br />

ijmQ ijmQl 4<br />

Δ A p = Matrix Δ A l = 1 →<br />

3<br />

( ; )<br />

( 3x1)<br />

Q<br />

(4.7)<br />

(4.8)<br />

(4.9)


4.2 Matricea Jacobiană și proprietățile ei<br />

133<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />

Ecuaţiile MCD pot fi exprimate cu ajutorul matricei Jacobiene (matricea de transfer a vitezelor) şi a<br />

derivatei sale de ordinul întâi în raport cu timpul. Pentru definirea ei, se apelează vectorul diferenţial de mişcare<br />

exprimat în coordonate carteziene. Componentele sale, translaţia diferenţială şi vectorul de rotaţie, sunt:<br />

T<br />

⎡<br />

( )<br />

( n) ( n) ( n)<br />

⎤<br />

⎡ n<br />

( )<br />

d p ()<br />

xn yn zn<br />

n t ⎤<br />

⎡d p d p d p ⎤<br />

⎢ n0<br />

⎣ ⎦ ⎥<br />

d X = ⎢ ⎥=⎢<br />

( n)<br />

T ⎥<br />

⎢d ϕ () t ⎥ ( n) ( n) ( n)<br />

⎣ ⎦ ⎢ ⎡d ϕx d ϕy d ϕ ⎤ ⎥<br />

⎣ z<br />

⎢⎣ ⎦ ⎥⎦<br />

;<br />

T<br />

⎡<br />

( )<br />

( n) ( n) ( n)<br />

⎤<br />

⎡ n<br />

( ) d ⎤<br />

⎡ dx dy d ⎤<br />

⎢ z<br />

n0 ⎣ ⎦ ⎥<br />

d X=<br />

⎢ ⎥=⎢<br />

( n)<br />

T ⎥<br />

⎢ δ ⎥ ( n) ( n) ( n)<br />

⎣ ⎦ ⎢⎡ δx δy δ ⎤ ⎥<br />

⎣ z<br />

⎢⎣ ⎦ ⎥⎦<br />

.<br />

Luând in considerare funcţiile de situare ( q ; i = 1 → n)<br />

şi separând apoi variabilele generalizate,<br />

f j i<br />

vectorul diferenţial exprimat cu relaţia de mai sus se poate scrie sub forma:<br />

()<br />

()<br />

T<br />

0 ⎡ n<br />

d X t ⎤ ⎡ I6⎤ ⎡ ∂fj t ⎤ ⎡<br />

;<br />

I6 ⎤ ⎡∂fj t j= 1→6 ⎤<br />

dq 1<br />

i δi j 1 6<br />

δ<br />

⎡dq ⎤<br />

⎢ ⎥ ⎢ ⎥ ⎢∑⋅ ⋅ = → ⎥ i<br />

........ .... i 1 q ⎢ ⎥ ⎢ ⋅<br />

⎥<br />

i ..... qi<br />

i 1 n ⎢ ⎥<br />

⎢ ⎥= = ∂ ∂ = →<br />

⎢ ⎥⋅ ⎢ ⎥ = ⎢ ⎥⋅⎢ ⎥⋅<br />

⎢<br />

M<br />

⎥<br />

(4.10)<br />

⎢ n ⎥ n ()<br />

{ { ; } { ; n<br />

d X t<br />

⎢<br />

R<br />

⎥ ⎢ ⎥ ⎢ ⎥<br />

δi = 1j≤3Δ i j> 3} } ⎢<br />

R<br />

⎥ δi<br />

= { { 1j ; ≤3} { Δ i ; j> 3}<br />

} ⎢⎣dq n⎥<br />

⎣ ⎦ ⎣ ⎦ ⎢⎣ ⎥⎦ ⎣ ⎦ ⎢⎣ ⎥⎦<br />

⎦<br />

unde [ ] T<br />

d dq1 dqi dqn<br />

θ = K K este vectorul diferenţial al mişcării exprimat în spaţiul configuraţiilor.<br />

Matricea derivatelor parţiale din (4.10) este cunoscută ca matricea Jacobiană:<br />

( )<br />

0<br />

⎡ ∂f j t j = 1 → 6 ⎤<br />

⎡ J ⎡θ() t ⎤⎤ ⎡ I 6 ⎤ ⎢ ⋅δ<br />

i<br />

⎥<br />

⎢<br />

⎣ ⎦<br />

⎥ = q<br />

n<br />

i<br />

i 1 n<br />

n<br />

⎢ ⎥⋅⎢∂ = → ⎥ . (4.11)<br />

⎢ J ⎡θ() t ⎤⎥ R<br />

⎣ ⎣ ⎦⎦ ⎣⎢ ⎦⎥<br />

⎢ ⎥<br />

⎢ δ i = { { 1; j ≤ 3} , { Δ i ; j > 3<br />

⎣ } } ⎥⎦<br />

Astfel, rezultă că matricea Jacobiană este definită în raport cu sistemul {0} sau {n}, la fel ca și vectorul<br />

( )<br />

coloană al parametrilor operaţionali n 0 X . Luând în considerare relaţia (4.11) şi împărţind (4.10) cu timpul<br />

elementar( dt ) , rezultă ecuaţiile de legătură dintre vectorii diferenţiali de mişcare, adică:<br />

( n) 0<br />

( n) 0 ( n0 )<br />

d X<br />

d X = J⎡ ⎣θ() t ⎤<br />

( n) 0<br />

dθ<br />

⎦ ⋅dθ;<br />

J⎡θ() t ⎤<br />

( n) 0 ( n) 0<br />

= ⋅<br />

dt<br />

⎣ ⎦ ; X<br />

&<br />

() t = J⎡θ t ⎤⋅<br />

&<br />

θ t<br />

dt<br />

⎣ ⎦<br />

()<br />

() ()<br />

.(4.12)<br />

În continuare, procedând similar expresiilor de mai sus, asupra vectorilor coloană ai acceleraţiilor<br />

operaţionale, se efectuează câteva transformări diferenţiale. Separând termenii ce reprezintă pătratul<br />

variabilelor generalizate de termenii specifici produsului dintre variabilele generalizate, rezultă:


MODELAREA ERORILOR CINEMATICE .I.<br />

()<br />

()<br />

⎧ ⎡ 2 0<br />

d ⎡ X t ⎤⎤ 2<br />

⎡ I6 ⎤ ⎡∂fjt j= 1→6 ⎤ ⎡dq⎤ ⎫<br />

⎪ ⎢ ⎣ ⎦⎥ 1<br />

⎢ ⎥ ⎢ ⋅δi<br />

⎥<br />

............... ..... qi<br />

i 1 n<br />

⎢ ⎥<br />

⎪<br />

⎪ ⎢ ⎥= ∂<br />

= →<br />

⎢ ⎥⋅⎢<br />

⎥⋅ ⎢ M ⎥+<br />

⎪<br />

⎪ ⎢ ⎥<br />

2 n<br />

n 2<br />

d X() t<br />

⎢ R⎥ ⎢ ⎥<br />

δi<br />

{ { 1; j 3} , { i ; j 3}<br />

⎢ } d q<br />

⎥<br />

⎪<br />

⎪ ⎢ ⎡ ⎤<br />

= ≤ Δ ><br />

⎣ ⎦⎥<br />

⎣ ⎦ ⎢⎣ ⎥⎦<br />

⎣ n⎦<br />

⎪<br />

⎪ ⎣ ⎦<br />

⎪ ⎪<br />

⎨ ⎡ 2<br />

2<br />

j= 1→6 ⎤<br />

I ⎡∂ fj() t j= 1→6 ⎤ 2<br />

⎡ 6 ⎤<br />

()<br />

dq1 dq<br />

⎬;<br />

(4.13)<br />

⎪ fjt ⎡ ⋅ 2 ⎤<br />

⎡dq ⎤<br />

⎢ ⎥ ⎢ ⋅δ<br />

2 i<br />

⎥ 1 ⎡ I6<br />

⎤ ⎢ ∂<br />

δi δk<br />

i 1 n 1<br />

⎥ ⎪<br />

⎪ ⎢ ⎥<br />

..... ⋅⎢ ∂qi<br />

i= 1→n ⎢ ⎥<br />

⋅ ⋅ = → −<br />

⎢ ⎥ ⎢<br />

⎢ ⎥ ..... ∂qi⋅∂q ⎥ ⎪<br />

k<br />

⎢<br />

M<br />

⎪ ⎥⋅<br />

⎥<br />

⎢ M ⎥+ ⎢ ⎥⋅⎢ k=+→ i 1 n ⎥⋅<br />

⎪<br />

⎪⎢n ⎢<br />

R<br />

⎥ ⎥<br />

⎢ ⎥<br />

2 n<br />

⎣ ⎦ ⎢ δi<br />

= { { 1; j≤3} , { Δ i ; j> 3<br />

⎢<br />

⎣ } } dq<br />

⎥<br />

⎦ n R<br />

⎢ ⎥<br />

M<br />

⎢ ⎥ ⎪<br />

⎪ ⎥ ⎣ ⎦ ⎣ ⎦<br />

⎢ ⎥<br />

⎢δi( k) = { { 2j ; ≤3} , { Δ i( k)<br />

; j> 3} } ⎥ ⎣dqn−1⋅dq ⎪<br />

n<br />

⎩⎪ ⎣ ⎦<br />

⎦<br />

⎭⎪<br />

unde<br />

T<br />

2 2<br />

2 2<br />

d θ = ⎡d qi, i = 1→ n⎤<br />

⎣ ⎦ ; dθ= ⎡dqi, i = 1 → n⎤<br />

⎣ ⎦ ;<br />

T<br />

⎡ i = 1 → n −1<br />

⎤<br />

⎢ i k<br />

⎥<br />

dθ ⋅ dθ = dq ⋅dq<br />

. (4.14)<br />

⎣ k = i + 1 → n ⎦<br />

2<br />

Din relaţia (4.13) prin împărţire cu ( dt ) şi ţinând cont de (4.8), se determină într-o formă explicită,<br />

expresia derivatei de ordinul întâi în raport cu timpul a matricei Jacobiene:<br />

()<br />

⎧ 2 ⎡i−1 ∂ f j t 0<br />

j = 1→6 ⎤<br />

⎫<br />

⎪ ⎡ J&⎡ ⎣θ() t ⎤<br />

⎦<br />

⎤ ⎡ I6 ⎤ ⎢∑⋅δi ⋅δk ⋅q&k;<br />

⎥<br />

⎪<br />

⎪ ⎢ ⎥ = ⎢ ⎥⋅ ⎢k= 1∂qi ⋅∂qk<br />

i = 1→ n ⎥+<br />

⎪<br />

n n<br />

⎪ ⎢ J& ⎣<br />

⎡θ() t ⎦<br />

⎤⎥ ⎢ R ⎥ ⎢ ⎥<br />

⎪<br />

⎪ ⎣ ⎦ ⎣ ⎦<br />

⎢ δ i( k) = { { 1; j≤ 3} { Δ i( k)<br />

; j> 3}<br />

} ⎥<br />

⎪<br />

⎪ ⎣ ⎦<br />

⎪<br />

⎨ ⎬ (4.15)<br />

2<br />

2<br />

⎪ ⎡ ∂ f j () t j = 1→6 ⎤ ⎡ n ∂ f j () t<br />

j = 1→6⎤⎪ ⎪ ⎡I6 ⎤ ⎢ ⋅δi ⋅q&i;<br />

⎡I 2<br />

⎥ 6 ⎤ ⎢ ∑ ⋅δi ⋅δk ⋅q&k;<br />

⎥<br />

+ ⎢ ⎥⋅ ⎢ ∂q<br />

q<br />

i<br />

i = 1→ n ⎥+<br />

⎢ ⎥⋅<br />

k i 1∂ i ⋅∂qk<br />

i 1 n<br />

⎪<br />

⎪ ⎢ =+<br />

= → ⎥<br />

n n<br />

⎪<br />

⎪ ⎢⎣ R⎥⎦ ⎢ ⎥ ⎢ R⎥<br />

δ i = { { 1; j≤ 3} { Δ i ; j> 3}<br />

⎣ ⎦<br />

⎢ ⎥⎪<br />

⎪ ⎢⎣ } ⎥ δ<br />

⎦ ⎢ i( k) = { { 1; j≤ 3} { Δ i( k)<br />

; j> 3<br />

⎣ } } ⎥<br />

⎩ ⎦⎪⎭<br />

Pe baza expresiei (4.15) se poate stabili matricea ce conţine termenii Coriolis şi temenii complementari, în<br />

timp ce termenii referitori la acceleraţiile centripetale sunt conţinuţi în expresia celei de a doua matrice:<br />

( )<br />

n 0<br />

( )<br />

⎡ 2<br />

j = 1 → 6 ⎤<br />

⎡ I j ()<br />

6 ⎤ ⎢ ∂ f t<br />

⋅δ i ⋅ δ k i = 1→ n−1 ⎥<br />

⎢ ⎥ ⎢<br />

J () ......<br />

i k<br />

B θ t ∂q ⋅∂q<br />

⎥<br />

⎣<br />

⎡<br />

⎦<br />

⎤ = ⎢ ⎥⋅⎢<br />

k = i + 1→ n⎥;<br />

(4.16)<br />

2 ( 6× Cn) ⎢ n<br />

R ⎥ ⎢ ⎥<br />

⎣ ⎦ ⎢δ i( k) = { { 2; j ≤ 3} { Δ i( k)<br />

; j > 3}<br />

} ⎥<br />

⎣ ⎦<br />

n 0<br />

2<br />

⎡ I6<br />

⎤ ⎡ ∂ f j t j = 1 → 6 ⎤<br />

⎢ ⎥ ⎢ ⋅δ<br />

2 i<br />

⎥<br />

JC⎡θ() t ...... ∂q<br />

i<br />

i = 1 → n<br />

⎣<br />

⎤<br />

⎦ = ⎢ ⎥⋅⎢<br />

⎥ . (4.17)<br />

( 6× n) ⎢ n<br />

R<br />

⎥ ⎢ ⎥<br />

⎣ ⎦ ⎢δ i = { { 1; j ≤ 3}{ Δ i ; j > 3<br />

⎣ } } ⎥⎦<br />

În final, vectorul coloană al acceleraţiilor operaţionale din (4.13) poate fi scris şi sub forma:<br />

134<br />

( )<br />

T


( )<br />

n0<br />

X<br />

&&<br />

t<br />

()<br />

135<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />

⎧ ( n0 )<br />

( n0 )<br />

J⎡θ () t ⎤⋅ &&<br />

θ () t + J&⎡θ () t ⎤⋅<br />

&<br />

θ () t<br />

⎫<br />

⎪ ⎣ ⎦ ⎣ ⎦<br />

⎪<br />

= ⎨ ⎬ . (4.18)<br />

( n0 )<br />

( n0 )<br />

( n0 ⎪ )<br />

2<br />

J⎡θ () t ⎤⋅ &&<br />

θ () t + JB⎡θ () t ⎤⋅⎡& θ ⋅<br />

&<br />

θ ⎤+ JC⎡θ () t ⎤⋅⎡&<br />

θ ⎤ ⎪<br />

⎩ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎭<br />

Vectorii coloană (4.15) şi (4.18), cunoscuţi sub denumirea de ecuaţiile MCD, sunt incluşi în cadrul unei<br />

expresii matriceale, care poate fi scrisă în două variante, aşa cum reiese mai jos:<br />

( )<br />

T<br />

⎡ n 0 ( n) 0 ( n) 0<br />

n 0<br />

X<br />

& ⎤ ⎡⎡ T T<br />

v n ω ⎤ ⎤ ⎡ 0 J θ ⎤ ⎡&& θ ⎤<br />

⎢ ⎥ ⎢⎣ n ⎦ ⎥ ⎢ ⎥ ⎢ ⎥<br />

⎢ =<br />

( n) ⎥ ⎢<br />

0 T ⎥ = ⎢<br />

( n) 0 T ( n) 0 T<br />

( n) 0 ( n) 0 ⎥⋅⎢<br />

⎥ ; (4.19)<br />

X<br />

&&<br />

⎢ ⎥ ⎢⎡ v&<br />

&<br />

J<br />

n ω ⎤ ⎥<br />

n ⎢ ( θ ) J&(<br />

θ ) ⎥ ⎢θ &<br />

⎥<br />

⎣ ⎦ ⎣⎢⎣ ⎦<br />

⎦⎥<br />

⎣ ⎦ ⎣ ⎦<br />

[ ] ( ) ( )<br />

⎡ T<br />

⎡&& T T<br />

( n0 )<br />

( n) 0<br />

θ<br />

&<br />

θ ⎤ ⎤<br />

⎡ &<br />

X⎤<br />

⎡ [ 0] J( θ ) [ 0] [ 0]<br />

⎤ ⎢ ⎣ ⎦ ⎥<br />

⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />

⎢ =<br />

T<br />

( n0 )<br />

⎥ ⎢( n) 0 ( n) 0 ( n) 0 ⎥⋅⎢T<br />

T ⎥ . (4.20)<br />

&&<br />

⎢ X⎥<br />

⎢ J( θ) [ 0] J ( ) ( )<br />

2<br />

B θ JC<br />

θ ⎥ ⎢⎡ ⎡ & ⎤<br />

θ ⋅<br />

&<br />

θ ⎤ ⎡ &<br />

θ ⎤ ⎥<br />

⎣ ⎦ ⎣ ⎦ ⎢⎢ ⎣ ⎦ ⎣ ⎦ ⎥<br />

⎣ ⎦ ⎥<br />

⎢⎣ ⎥⎦<br />

Ecuaţiile cinematicii directe exprimate în raport cu sistemul mobil {n} pot fi scrise sub o altă formă, în<br />

funcţie de derivata în raport cu timpul a matricei Jacobiene. Această expresie de definiţie poate fi scrisă:<br />

⎡ &&<br />

n<br />

θ ⎤<br />

T<br />

⎡ n n T n T<br />

X<br />

& ⎤ ⎡ ⎡ [ 0] J( θ ) [ 0]<br />

⎤<br />

⎡ v n ω ⎤ ⎤<br />

⎢ ⎥<br />

n<br />

⎢ ⎥ ⎢⎣ ⎦ ⎥ ⎢ ⎥ ⎢ &<br />

θ ⎥<br />

⎢ ⎥ = ⎢ T ⎥ = ⎢ n ∂ n ⎥⋅⎢⎥.<br />

(4.21)<br />

n && n T n T J( ) J( ) I6<br />

n n<br />

X<br />

θ ⎡ θ ⎤<br />

⎢ ⎥ ⎢⎡ v& &<br />

n ω ⎤ ⎢ ⎥<br />

n ⎥ ∂ t ⎣ ⎦ ⎢⎡ ωn×<br />

v ⎤ n ⎥<br />

⎣ ⎦ ⎢⎣ ⎦<br />

⎣ ⎥⎦ ⎢ ⎥<br />

⎣ ⎦ ⎢⎢ ⎥⎥<br />

⎢⎣ ⎢⎣ [ 0]<br />

⎥⎦<br />

⎥⎦<br />

Ecuaţia (4.21), împreună cu expresiile diferenţiale obţinute pe baza matricei Jacobiene şi a derivatei<br />

sale în raport cu timpul, sunt cunoscute sub denumirea de ecuaţiile cinematicii directe. Legea de variaţie în<br />

raport cu timpul a variabilelor generalizate este cunoscută, conform datelor de intrare.<br />

Ecuaţiile cinematicii directe, împreună cu vectorul coloană al parametrilor de situare, definesc<br />

mişcarea efectorului final al robotului în spaţiul cartezian.<br />

4.3 Matricea Jacobiană bazată pe matricele de transfer<br />

Expresia vitezei liniare şi respectiv a vitezei unghiulare, ce caracterizează mişcarea absolută a oricărui<br />

elementului cinetic i = 1 → n , din structura mecanică a unui robot serial, pot fi scrise sub forma:<br />

i<br />

0 0 0 j<br />

ωi ≡ ω0 + ∑Δ j ⋅q j ⋅ [ R] ⋅ k<br />

j<br />

j<br />

j= 1<br />

i<br />

0 0<br />

≡ ω0<br />

+ ∑Δ<br />

j ⋅q j ⋅ k j<br />

j= 1<br />

0<br />

ωi ≡<br />

0 0 j<br />

kj⋅Δ j ≡ [ R] ⋅ k<br />

j<br />

j⋅Δ j j = 1→i ⋅ qj j = 1→i T<br />

≡ Ω j j = 1→i ⋅ qj j = 1→i T<br />

& & (4.22)<br />

( ) ( ) ( ) ( )<br />

& & ; (4.23)


MODELAREA ERORILOR CINEMATICE .I.<br />

i<br />

⎧ 0 0 0 j<br />

⎫<br />

⎪ vi = v0 + ∑(<br />

1−Δ j) ⋅q&j⋅ j [ R] ⋅ k j +<br />

⎪<br />

⎪ j= 1<br />

⎪<br />

⎨ ⎬;<br />

(4.24)<br />

i<br />

j−1 ⎪<br />

⎧⎪⎧⎧0 0 ⎫ ⎫ ( 0)<br />

⎫ 0 ⎪<br />

+ ω0 + Δ m⋅δm⋅qm⋅ km × ⋅ { pjj−1+ ( 1−Δ j) ⋅q j() t ⋅ k<br />

⎪<br />

⎪ ∑⎨⎨⎨ ∑ & ⎬ ⎬ j } ⎬⎪<br />

⎩ j= 1⎪⎩⎩⎩ m= 1<br />

⎭ ⎭<br />

⎪⎭⎭<br />

( ) ( ) ( ) ( )<br />

0 0 0<br />

T T<br />

vi = ⎡ kj× pij⋅Δ j + 1−Δ j ⋅ kj j = 1→i⎤⋅ qj j= 1→i ≡ Vj j= 1→i ⋅ qj j= 1→i & & . (4.25)<br />

⎣ ⎦<br />

Din expresiile (4.23) şi (4.24), se poate stabili ecuaţia matriceală corespunzătoare vitezelor generalizate<br />

(operaţionale) absolute ale efectorului final, proiectate pe sistemul fix:<br />

⎡ n ⎤<br />

Vi ⋅q<br />

0<br />

i<br />

v ⎡V n ( θ ) ⎤ ⎢∑& ⎡ ⎤<br />

⎥<br />

i= 1 ⎡Vi 0 & ⎢ ⎥<br />

X = ⎢ ⎥=<br />

⎢ ⎥<br />

⋅<br />

&<br />

θ = = ⎢<br />

( 6× 1) ⎢0⎥ ⎢ ⎥ ⎢ ⎥ ⎢<br />

n<br />

⎣ ωn<br />

⎦ ⎢⎣ Ω( θ ) ⎥⎦<br />

⎢ ⎥ i i<br />

i q<br />

⎢⎣ ΩΔ<br />

⎢∑Ω⋅&iΔ i⎥<br />

⎣i= 1 ⎦<br />

⎤<br />

i = 1→n⎥⋅ &<br />

θ .<br />

⎥<br />

⎥⎦<br />

(4.26)<br />

Matricea liniară şi respectiv matricea unghiulară de transfer a vitezelor sunt rescrise mai jos sub forma:<br />

V⎣ ⎡θ() t ⎦<br />

⎤<br />

( 3× n) ∂pn⎡θ() t ⎤ ⎧<br />

⎪<br />

≡<br />

⎣ ⎦<br />

= Matrix⎨Viθ() t<br />

T<br />

( 3× n)<br />

⎣<br />

⎡<br />

⎦<br />

⎤<br />

∂⎡θ() t ⎤ ( i=1→n ⎣ ⎦<br />

⎪<br />

⎩ )<br />

T<br />

∂pn⎡θ() t ⎤ ⎧ ⎡fj( qk() t ; k= 1→n ⎫<br />

⎣ ⎦ ⎪ ∂<br />

) ⎤⎪⎫⎪<br />

= ≡⎨ ⎢ ⎥⎬<br />

⎬;<br />

(4.27)<br />

∂qi() t<br />

⎩⎪∂ qi() t ⎢⎣ j= 1→3 ⎥⎦⎭⎪⎪<br />

⎭<br />

() () () ( ) ()<br />

Vi⎡ ⎣θ() t ⎤<br />

⎦<br />

( i=1→n )<br />

0 0<br />

∂ pn⎡θ() t ⎤ ⎧<br />

⎪<br />

Δ i ⋅ ki t × ⎡⎣pn t − pi t ⎤⎦+<br />

1−Δ i ⋅ ki ≡<br />

⎣ ⎦<br />

= ⎨<br />

∂ q ()<br />

0 0<br />

i t ⎪ Δ i ⋅ ki() t × pni() t + ( 1−Δ i) ⋅ ki() t<br />

⎩<br />

t ⎫<br />

⎪<br />

⎬;<br />

⎪⎭<br />

(4.28)<br />

⎧<br />

⎪ ⎪⎧ ⎪⎧ ∂ 0 0 T ⎪⎫ 0 ⎪⎫ ⎪<br />

⎫<br />

Ω ⎡<br />

⎣θΔ() t ⎤<br />

⎦= ⎨Ωi ⎡<br />

⎣θΔ() t ⎤<br />

⎦≡⎨vect<br />

⎨ [ ]()<br />

( )<br />

( ) () { R t } ⋅ [ R] () t i i ki() t<br />

n n ⎬⋅Δ ≡Δ ⋅ ⎬ ⎬.<br />

(4.29)<br />

∂q<br />

3 n i 1 n<br />

i t<br />

× ⎪⎩ = → ⎪⎩ ⎪⎩ ⎪⎭<br />

⎪⎭<br />

⎪⎭<br />

În ecuaţia (4.28) se implementează matricea de transfer a vitezelor, după cum urmează:<br />

0<br />

n<br />

⎢ ⎥ ( )<br />

( × ) ⎢ ⎥<br />

( θ )<br />

⎡ ⎤ ⎧ ⎡ ⎤ ⎫<br />

& ⎪ ⎪<br />

X = = J θ ⋅<br />

&<br />

θ =<br />

⎢ ⎥<br />

⋅<br />

&<br />

θ = J ⎢ ⎥<br />

⎨ = i = 1→ n⎬⋅<br />

&<br />

θ ; (4.30)<br />

⎢ ⎥ ⎢ ⎥<br />

⎣ ⎦ ⎢ ⎥ ⎪ ⎢ ⎥ ⎪<br />

⎣ ⎦ ⎩ ⎣ ⎦ ⎭<br />

0<br />

⎡ 0<br />

v ⎤<br />

0<br />

0<br />

Jv 0<br />

0<br />

J Iv<br />

6 1 0<br />

ωn<br />

0<br />

JΩ ( θ )<br />

i<br />

0<br />

J iΩΔi ( θ )<br />

( θ )<br />

⎡ ⎤ ⎡ ⎤ ⎧ ⎡ ⎤ ⎡ ⎤ ⎫<br />

⎪ ⎪<br />

J = = = ⎨ J = = i = 1→ n⎬;<br />

(4.31)<br />

⎢ ⎥ ⎢ ⎥ ⎪ ⎢ ⎥ ⎪<br />

⎣ ⎦ ⎣ ⎦ ⎩ ⎣ ⎦ ⎣ ⎦ ⎭<br />

0 0<br />

Jv V<br />

J Iv Vi<br />

0 0<br />

( θ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ )<br />

⎢ ⎥<br />

⎢ i<br />

0 ⎥ ⎢ ⎥ ⎢0⎥ ⎢ ⎥<br />

JΩ ( θ ) Ω( θ )<br />

J iΩΔi ⎢ΩΔ i i⎥<br />

( θ )<br />

( )<br />

[ ] [ ] [ ] [ ] ⎪ ⎪<br />

⎡ ∂p<br />

⎤<br />

n<br />

⎢<br />

⎥ ⎧ ⎡ ∂<br />

⎤ ⎫<br />

⎢ ⎜⎛<br />

T<br />

⎟⎞<br />

p<br />

⎥<br />

n<br />

∂ θ<br />

⎪ ⎢<br />

⎥ ⎪<br />

⎢ ⎝ ⎠ ⎥ ⎪ 0 ⎢ ∂q<br />

i ⎥ ⎪<br />

J θ = ⎢ ⎧<br />

⎫⎥=<br />

⎨ J i =<br />

i=<br />

1→n<br />

⎢<br />

⎥ ⎬<br />

⎪ ⎪⎧<br />

∂ ⎧ ⎫ ⎪⎫<br />

. (4.32)<br />

0 0 T<br />

⎢ ⎪ ∂ ⎧ 0 ⎫ 0 T ⎪⎥<br />

⎢<br />

⋅ ⎥<br />

⎪<br />

⎨ ⎨ ⎬⋅<br />

⎬<br />

⎢vect<br />

⎨ ⎨ R ⎬⋅<br />

R<br />

vect<br />

⎬<br />

n R n R Δ i<br />

n n ⎥<br />

⎩ ⎢⎣<br />

⎪⎩ ∂ ⎩ ⎭ ⎪⎭ ⎥<br />

⎢ ⎪ ∂⎜⎛<br />

T<br />

⎟⎞<br />

⎩ ⎭<br />

q i<br />

θ<br />

⎪⎥<br />

⎦ ⎭<br />

⎣ ⎩ ⎝ ⎠<br />

⎭⎦<br />

136


137<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />

Legătura dintre vectorii coloană ai vitezelor generalizate şi respectiv operaţionale se realizează prin<br />

intermediul matricei Jacobiene, denumită şi matricea de transfer a vitezelor sau matricea derivatelor<br />

parţiale. Expresia de definiţie bazată pe matricele de transfer, a fost obţinută anterior şi este descrisă prin<br />

intermediul relaţiilor (4.27) şi (4.28). În urma transformărilor efectuate,rezultă ecuaţia matriceală, ce<br />

caracterizează acceleraţiile operaţionale (generalizate), ale efectorului final în raport cu sistemul fix{ 0 } :<br />

( )<br />

( )<br />

( ) ( )<br />

⎡0 v&<br />

⎤ ⎧⎡V θ ⎤ ⎡V& θ ⎤⎫ n<br />

⎡&& ⎧⎡ V θ V& θ A θ<br />

0<br />

θ ⎤ ⎤⎫ ⎡ ⎤<br />

⎣ ⎦ ⎡&& θ⎤ ⎡&& && ⎪ ⎪ ⎪ ⎪<br />

θ⎤<br />

X = ⎢ ⎥= ⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />

⎨ ⎬ ⋅ ⎢ ⎥= ⎨ ⎬ ⋅ ⎢ ⎥= ⋅⎢<br />

⎥.<br />

(4.33)<br />

( 6× 1) ⎢ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />

0 &<br />

⎥<br />

ω ⎪ Ω n ( θ ) Ω& ( θ ) ⎢ &<br />

⎪ ⎣θ ⎥⎦ ⎪⎡Ω( θ ) Ω& ( θ ) ⎤⎪<br />

⎢& ⎣θ⎥⎦ Ε(<br />

θ)<br />

⎢& ⎣θ⎥ ⎣ ⎦ ⎩⎢⎣ ⎥⎦ ⎢⎣ ⎥⎦⎭ ⎩⎣ ⎦⎭ ⎣⎢ ⎦⎥<br />

⎦<br />

În expresia (4.33) alături de matricea Jacobiană este implementată şi derivata sa în raport cu<br />

timpul, rezultatul acestei operaţii fiind evidenţiat în cadrul expresiilor următoare:<br />

0 0<br />

⎡ 0<br />

v&<br />

⎤ ⎡ && ⎧⎡ Jv θ ⎤ ⎡ J&<br />

v θ ⎫<br />

θ ⎤ ⎤ ⎡&& ⎪ ⎪ θ ⎤<br />

= ⎢ ⎥= ⎡ ⎤ ⎢ ⎥ ⎢ ⎥<br />

⎣ ⎦<br />

⋅ ⎢ ⎥= ⎨ ⎬⋅⎢<br />

⎥ ; (4.34)<br />

⎢ ⎥ ⎢ & ⎢ ⎥ ⎢ ⎥<br />

⎣θ ⎥⎦ ⎪ ( θ ) & ( θ ) ⎪ ⎢& ⎣θ⎥ ⎣ ⎦ ⎩⎢⎣ ⎥⎦ ⎢⎣ ⎥⎦<br />

⎭<br />

⎦<br />

n<br />

0&& 0 0<br />

X J( θ ) J&(<br />

θ )<br />

( × )<br />

( )<br />

6 1 0 &<br />

0 0<br />

ω<br />

J J<br />

n<br />

Ω Ω<br />

( )<br />

( )<br />

0 0<br />

⎡A θ ⎤<br />

⎧ ⎡ Jv θ ⎤ ⎡ J&<br />

v θ ⎤ ⎫<br />

⎢ ⎥ 0 0 ⎪ ⎪<br />

= ⎡ J( θ ) J&(<br />

θ ) ⎤ ⎢ ⎥ ⎢ ⎥<br />

⎣ ⎦<br />

=⎨ ⎬ ; (4.35)<br />

⎢ ⎥<br />

⎢ 0 ⎥ ⎢0 ⎥<br />

Ε( θ )<br />

⎪ JΩ( θ ) J&<br />

⎢ ⎥<br />

⎢ ⎥ ⎢ Ω(<br />

θ ) ⎥ ⎪<br />

⎣ ⎦ ⎩⎣⎦ ⎣ ⎦ ⎭<br />

( )<br />

( )<br />

0 0<br />

⎡ J& v θ ⎤ ⎡V&θ⎤ ⎧ ⎡ J& ⎤ ⎡<br />

Iv V<br />

& ⎤ ⎫<br />

i<br />

⎪<br />

0 0<br />

⎢ ⎥ ⎪<br />

J&<br />

⎢ ⎥ ⎢ ⎥ ⎪ ⎢ ⎥<br />

⎪<br />

( θ ) = = = ⎨ J& ⎢0 ⎥ ⎢ ⎥ i = ⎢ i 1 n<br />

0 ⎥=<br />

⎢ ⎥ = → ⎬.<br />

(4.36)<br />

( 6× n) J& Ω( θ ) Ω& ⎢ ⎥ ( θ ) ⎪ ⎢ J&<br />

⎢ ⎥<br />

iΩΔ i⎥<br />

⎢ΩΔ &<br />

i i⎥<br />

⎪<br />

⎣ ⎦ ⎣ ⎦ ⎩⎪⎣ ⎦ ⎣ ⎦ ⎭⎪<br />

Expresia (4.31) evidenţiază matricele de transfer corespunzătoare acceleraţiilor liniare şi unghiulare, iar<br />

expresia (4.32) reprezintă derivata absolută, în raport cu timpul, a matricei Jacobiene, definită, în acest<br />

caz, cu ajutorul matricelor liniare şi unghiulare de transfer. Parametrii cinematici operaţionali, care<br />

exprimă mişcarea absolută a efectorului final pot fi proiectaţi pe sistemul de referinţă mobil{ n } . În acest<br />

caz se apelează, din cadrul modelării cinematice directe (MCD), următoarele ecuaţii:<br />

n<br />

−<br />

[ R] [ 0]<br />

n 0 1<br />

0<br />

⎡ v ⎤ ⎡ ⎤ ⎡ n v ⎤<br />

n<br />

n<br />

X<br />

&<br />

= ⎢ ⎥= ⎢ ⎥<br />

⋅⎢<br />

⎥<br />

⎢ n 0 −1⎥<br />

;<br />

⎢ ⎥ ⎢0 ⎥<br />

⎣ ωn⎦ ⎢⎣ [ 0] n [ R]<br />

⎥⎦<br />

⎣ ωn⎦<br />

n<br />

n<br />

−<br />

[ R] [ 0]<br />

( )<br />

( )<br />

−<br />

[ R] [ 0]<br />

( )<br />

n 0 1<br />

0<br />

⎡ v& ⎤ ⎡ ⎤ ⎡ n v&<br />

⎤<br />

n<br />

n<br />

X<br />

&&<br />

= ⎢ ⎥= ⎢ ⎥<br />

⋅⎢<br />

⎥<br />

⎢ n 0 −1⎥<br />

; (4.37)<br />

⎢<br />

&<br />

⎥ ⎢0 ⎥<br />

⎣ ωn⎦ ⎢⎣ [ 0] n [ R]<br />

⎥ &<br />

⎦ ⎣ ωn⎦<br />

n 0 1<br />

0<br />

⎡ v& ⎤ ⎡ ⎤ ⎡ n v&<br />

⎤<br />

n<br />

n<br />

&&<br />

X = ⎢ ⎥ =<br />

⎢ ⎥<br />

⋅⎢<br />

⎥;<br />

(4.38)<br />

⎢ ⎢ n 0 −1⎥<br />

&<br />

⎥ ⎢0 ⎥<br />

⎣ ωn⎦ ⎢⎣ [ 0] [ R]<br />

ω<br />

n ⎥ &<br />

⎦ ⎣ n⎦


MODELAREA ERORILOR CINEMATICE .I.<br />

⎡ ⎤ ⎡ ⎤<br />

X<br />

&<br />

= ⎢ ⎥ = R⋅ ⎢ ⎥ = R⋅ J( θ ) ⋅<br />

&<br />

θ ; (4.39)<br />

⎢ n ⎥ ⎢0 ⎥<br />

⎣ ωn⎦ ⎣ ωn⎦<br />

n 0<br />

vn vn<br />

n n n 0<br />

( θ ) ( θ )<br />

n n 0<br />

J = R⋅ J . (4.40)<br />

Expresiile, prezentate mai sus, caracterizează transferul matricei Jacobiene din sistemul de referinţă<br />

fix {} 0 în sistemul de referinţă mobil{ n } , operatorul matriceal de transfer fiind simbolizat n R . Acceleraţiile<br />

generalizate (operaţionale) în sistemul mobil{ n } sunt definite cu ajutorul expresiei:<br />

⎡n 0<br />

v& ⎤ ⎡ n v&<br />

⎤ n<br />

n n n 0<br />

X<br />

&&<br />

= ⎢ ⎥= R⋅ ⎢ ⎥= R⋅⎡ J( θ) ⎢ ⎣<br />

n& ⎥ ⎢0 ω &<br />

⎥<br />

⎣ n⎦ ⎣ ωn⎦<br />

⎡&& 0 θ ⎤<br />

J&<br />

n n 0<br />

( θ)<br />

⎤<br />

⎦<br />

⋅⎢⎥;<br />

J&( θ ) = R⋅ J&<br />

( θ ) .<br />

⎢ &<br />

⎣θ ⎥⎦<br />

(4.41)<br />

În final, ecuaţiile MCD în raport cu sistemul{ n } , exprimate cu ajutorul matricei Jacobiene, sunt:<br />

n ⎡ v ⎤<br />

n n<br />

n<br />

n<br />

&<br />

= ⎢ ⎥ = ( ) ⋅<br />

& n n n<br />

; X<br />

&&<br />

J( θ ) J&(<br />

θ )<br />

X J θ θ<br />

⎢ ⎥<br />

n<br />

⎣ ωn<br />

⎦<br />

n ⎡ v&<br />

⎤ ⎡ &&<br />

θ ⎤<br />

= ⎢ ⎥ = ⎡ ⎤<br />

⎣ ⎦<br />

⋅⎢⎥.<br />

(4.42)<br />

⎢ n &<br />

⎥<br />

ω<br />

⎢ &<br />

θ ⎥<br />

⎣ n ⎦<br />

⎣ ⎦<br />

De asemenea, derivata absolută, de ordinul întâi, în raport cu timpul, a matricei Jacobiene, precum şi<br />

acceleraţiile operaţionale, exprimate în sistemul mobil { n } , pot fi definite astfel:<br />

( θ )<br />

&(<br />

)<br />

n ** { ωn<br />

× } [ 0]<br />

[ ] n { n }<br />

& ⎡ ⎤<br />

⎪⎩ R⋅ =<br />

J θ ⎪ ⎭ ⎢⎣ 0<br />

J<br />

ω × ⎥⎦<br />

t<br />

J<br />

⎧ n<br />

⎪ J ⎫<br />

⎪ ⎢ ⎥ n ∂ n<br />

⎨ ⎬ ⋅ +<br />

n 0 ⎢ ⎥ ∂<br />

138<br />

{ }<br />

( θ ) ( θ )<br />

n<br />

vn<br />

n ** n<br />

n n n θ ωn<br />

× vn<br />

n ∂ n<br />

n<br />

⎣ ωn ⎦ ⎣ ⎦ ⎢⎣θ⎥⎦ ; (4.43)<br />

⎡ & ⎤ ⎡&& ⎡&& θ ⎤<br />

&&<br />

⎤ ⎡ ⎤ ⎡ ⎤<br />

X= ⎢ ⎥= ⎡ J( θ) J&( θ) ⎤ ⋅ ⎢ ⎥=<br />

⎢ ⎥+ J( θ) { J(<br />

θ ) ⎢ ⎥ } ⋅<br />

⎢ ⎥ ⎣ ⎦<br />

θ [ 0<br />

⎢ ] ⎣ ∂t<br />

⎥<br />

; (4.44)<br />

⎢&⎥ ⎢ ⎥<br />

⎦ ⎢ ⎥<br />

&<br />

⎣ ⎦<br />

&<br />

În expresia (4.41), viteza unghiulară este înlocuită cu expresia de mai jos, astfel:<br />

n<br />

[ ] −<br />

n n n−1 n ∂ n<br />

= ⋅ − ; vn [ R] { ωn−1<br />

} vn ( vn)<br />

n **<br />

n 1<br />

n n 1 n 1<br />

R ω ω<br />

−<br />

& ; (4.45)<br />

= ⋅ × +<br />

n1 −<br />

∂t<br />

n<br />

În vederea determinării vitezei unghiulare ω n , pe baza proprietăţii referitoare la derivata în raport cu<br />

timpul a oricărei matrice de rotaţie, ecuaţiile de plecare sunt:<br />

0<br />

0 − 0<br />

{ ω × } = ⎡R⎤⋅ [ R] = ⎡R⎤⋅ [ R]<br />

& & n 0 −1<br />

0<br />

ω = [ ] ⋅ ω . (4.46)<br />

0 1 0 T<br />

n<br />

n⎣ ⎦ n n⎣<br />

⎦ n<br />

n n n<br />

R<br />

0 −1 0 T<br />

0<br />

Expresia de mai sus se multiplică la stânga cu [ R] ≡ [ R]<br />

, iar la dreapta cu [ R] obţinându-se:<br />

n n<br />

0 −1 0<br />

0 −1 0 0 −1<br />

0 T 0 0 T<br />

[ R] { ωn<br />

× } = [ R] ⋅ ⎡R⎤ [ R] [ R] ⎡R⎤ [ R]<br />

n n n ⎣ ⎦<br />

⋅ = ⋅<br />

n n n ⎣ ⎦ n<br />

& & ; (4.47)<br />

n


139<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />

0 1 0 0 1 0 0 1 0 0 T 0 0 T 0<br />

n n n n n ⎣ ⎦ n n n n ⎣ ⎦ n n<br />

− 0<br />

− −<br />

[ R] { ω × } [ R] = [ R] ⋅ ⎡R⎤⋅ [ R] ⋅ [ R] = [ R] ⎡R⎤⋅ [ R] ⋅ [ R]<br />

& & . (4.48)<br />

Efectuând transformările din identitatea matriceală (8.89), se obţine expresia de definiţie:<br />

n<br />

−<br />

{ ω × } = [ ] ⋅ = [ ]<br />

0 1 0 0 T 0<br />

n n n n n<br />

0 0<br />

{ } { [ ]<br />

n n }<br />

R ⎡R&⎤ R ⎡R& n<br />

0 −1<br />

0 T<br />

⎤<br />

⎣ ⎦ ⎣ ⎦<br />

; ωn<br />

= vect [ R] ⋅ ⎡R&⎤ = vect R ⋅ ⎡R& ⎤<br />

n ⎣ ⎦ n ⎣ ⎦<br />

. (4.49)<br />

Ţinând cont de toate aspectele prezentate, până acum, se poate concluziona că algoritmul matricei<br />

Jacobiene, bazat pe aplicarea matricelor de transfer, are drept rezultat stabilirea ecuaţiilor cinematicii directe.<br />

4.4 Matricea Jacobiană bazată pe matricele diferenţiale<br />

În cadrul acestei secţiuni aplică matricele diferenţiale ale transformărilor omogene pentru<br />

determinarea matricei Jacobiene în raport cu sistemul de referinţă fix şi respectiv mobil.<br />

Matricea Jacobiană în raport cu sistemul fix { 0 } . Fiecare coloană ( 6 × 1)<br />

inclusă în matricea<br />

Jacobiană, precum şi în derivata, de ordinul întâi, în raport cu timpul, exprimate în raport cu sistemele de<br />

referinţă{ 0} şi{ n } , pot fi determinate cu ajutorul expresiilor de mai jos:<br />

( )<br />

⎡ Ani p ⎤<br />

0 ⎢ ⎥<br />

n n 0 J i ≡ ⎢ 0 i ⎥ ; J i = R ⋅ J i<br />

⎢ [ R] ⋅ k<br />

i<br />

i ⋅Δ i⎥<br />

⎣ ⎦<br />

⎡ 0 T<br />

n [ R] =<br />

⎢<br />

⎢<br />

⎢⎣ [ 0] [ 0]<br />

⎤<br />

⎥ 0<br />

⋅ J i ;<br />

0 T ⎥<br />

[ R]<br />

n ⎥⎦<br />

(4.50)<br />

⎡ n<br />

⎤<br />

⎢ ∑ Anij ( p) ⋅ q j ⎥<br />

⎢ j= 1<br />

⎥<br />

⎡ 0 T<br />

[ R] 0<br />

J&<br />

⎢ ⎥<br />

n n 0<br />

n<br />

i ≡ ; J& ⎢⎧ i ⎫ ⎥<br />

i = R ⋅ J& i =<br />

⎢<br />

⎢<br />

⎢<br />

⎪ ⎪ i<br />

⎨∑Aij ( R) ⋅q j ⎬⋅<br />

k ⎥ i ⋅Δ<br />

⎢ [ ] i<br />

⎣<br />

0<br />

⎢⎪⎩ j= 1 ⎪⎭<br />

⎥<br />

⎢⎣ ⎥⎦<br />

[ 0]<br />

⎤<br />

⎥ 0<br />

⋅ J&<br />

i .<br />

0 T ⎥ (4.51)<br />

n [ R]<br />

⎥⎦<br />

unde n R reprezintă operatorul matriceal de transfer între sistemul fix { 0} şi sistemul mobil { n } .<br />

De asemenea, matricea Jacobiană se poate determina prin apelarea expresiilor care exprimă diferenţiala<br />

matricei de transformare omogenă şi respectiv matricea diferenţială de ordinul întâi:<br />

0 0<br />

{ [ T] θ () t } n [ T] θ () t<br />

∑<br />

{ }<br />

⎧ ⎫<br />

⎧⎪ dTn0 () t ⎫⎪ ⎪∂ ⎡<br />

n ⎣<br />

⎤<br />

⎦ ∂ ⎡<br />

n ⎣<br />

⎤<br />

⎦ ⎪ 0 0<br />

⎨ dθ dq T i δ Tn [ T] θ () t<br />

0 ⎬= ⎨ ⋅ ≡ ⋅ ⎬≡ ⋅ ⎡ ⎤<br />

n<br />

pt. X () t<br />

θ i= 1 q<br />

⎣ ⎦<br />

;(4.52)<br />

⎪⎩ ⎪⎭ ⎪ ∂<br />

∂ i ⎪<br />

⎩ ⎭<br />

{ [ ] ⎡θ() ⎤}<br />

[ ] θ − () [ ] θ − ()<br />

0 0 i−1 i−1 ∂ T t ⎧<br />

n T i 1 t Ui T<br />

i 1 n<br />

ni 1 t qi k ⎫<br />

⎣ ⎦ ⎪ − ⎣<br />

⎡<br />

⎦<br />

⎤ ⋅ ⋅ ⎣<br />

⎡<br />

⎦<br />

⎤ L ⋅ i⎪<br />

Ani ⎡<br />

⎣θ() t ⎤<br />

⎦ = ≡ ⎨ ⎬ ;(4.53)<br />

∂ q<br />

0 i<br />

i<br />

i<br />

⎪ [ T] ⎡θi() t Ui [ T] θni()<br />

t q<br />

i ⎣<br />

⎤<br />

⎦ ⋅ ⋅ ⎡ ⎤<br />

n ⎣ ⎦<br />

i ⋅ ki<br />

⎪<br />

⎩<br />

L<br />


MODELAREA ERORILOR CINEMATICE .I.<br />

()<br />

()<br />

∂<br />

0<br />

{ [ T] ⎡θ() t ⎤}<br />

n<br />

⎪⎧ dTn0 t ⎪⎫<br />

n ⎣ ⎦ ⎧ 0 0<br />

⎫<br />

⎨ dθ δ T T n [ T] θ () t Ani θ () t dq<br />

0 ⎬= ⋅ ≡ ⎨ ⋅ ⎡ ⎤ ≡ ⎡ ⎤ ⋅<br />

n<br />

i<br />

ptr X t<br />

θ<br />

⎣ ⎦ ∑ ⎣ ⎦ ⎬<br />

i= 1<br />

⎪⎩ ⎪⎭<br />

[ ]<br />

. (4.54)<br />

∂ ⎩ ⎭<br />

Matricea diferenţială Ani θ () t este înlocuită prin expresia (4.53) în (4.54), astfel rezultând:<br />

⎧ n<br />

0 i−1 i−1 ⎪∑ [ T] ⎡θ i 1() t U i [ T] θni<br />

1() t dqi, qi() t k i;<br />

i−1 ⎣ − ⎤<br />

⎦ ⋅ ⋅ ⎡<br />

n ⎣ − ⎤<br />

⎦ ⋅ ⋅<br />

0 0 ⎪ i= 1<br />

δ Tn⋅ [ T] ⎡ () t<br />

n ⎣θ ⎤<br />

⎦ = ⎨<br />

; (4.55)<br />

n<br />

⎪ 0 i i<br />

[ T] ⎡θ i() t U i [ T] θni()<br />

t dqi, qi() t k<br />

i ⎣<br />

⎤<br />

⎦ ⋅ ⋅ ⎡ ⎤ ⋅ ⋅<br />

n ⎣ ⎦<br />

i<br />

⎪⎩<br />

∑<br />

i= 1<br />

Expresia de mai sus se multiplică la dreapta cu inversa matricei de situare, scrisă sub forma:<br />

[ ] θ () [ ] θ () , ()<br />

⎧ ⎡ ⎤ ⎡ ⎤<br />

i−1 −1 0 −1 i−1 T ni 1 t T i 1 t qit k<br />

0 −1 ⎪ n ⎣ − ⎦⋅ i−1 ⎣ − ⎦ ⋅ i<br />

[ T] ⎡ ()<br />

n ⎣θt ⎤<br />

⎦ = ⎨ i −1 0 −1<br />

i<br />

[ T] ⎡θni () t ⎤⋅ [ T] ⎡θi() t ⎤,<br />

qi() t ⋅ k<br />

n i<br />

i<br />

⎪<br />

⎩ ⎣ ⎦ ⎣ ⎦<br />

Ca urmare, se explicitează operatorul matriceal de diferenţiere al transformării omogene:<br />

140<br />

; (4.56)<br />

⎧ n<br />

0 0 −1 ⎪∑ [ T] ⎡θi 10() t Ui[ T] θi<br />

10() t dqi, i−1⎣ − ⎤<br />

⎦ ⋅ ⋅ ⎡<br />

i−1⎣ − ⎤<br />

⎦ ⋅<br />

0 ⎪ i= 1<br />

δ Tn<br />

≡ ⎨ n<br />

⎪ 0 −1 0 −1<br />

[ T] ⎡θi0 () t ⎤ ⋅Ui⋅ [ T] ⎡θi0 () t ⎤ ⋅dqi, ⎪⎩<br />

∑ i ⎣ ⎦ i ⎣ ⎦<br />

i= 1<br />

i−1 qi() t ⋅ ki;<br />

;<br />

i<br />

qi() t ⋅ ki.<br />

(4.57)<br />

⎧ n<br />

0 *<br />

i−1 , ()<br />

n<br />

⎪∑<br />

δ T ⋅dq i 1 i in cazul q i t ⋅ k<br />

−<br />

i<br />

0 0 * ⎪ i= 1<br />

δ Tn ≡ ∑ δ T ⋅dq i( i 1) i ≡<br />

− ⎨ ;<br />

n<br />

i= 1 ⎪ 0 *<br />

i<br />

δ T ⋅dq i , in cazul q i() t ⋅ k<br />

i<br />

i<br />

⎪⎩<br />

∑<br />

i= 1<br />

(4.58)<br />

0 *<br />

În această ecuaţie, δ T<br />

i(<br />

i−1<br />

) este un operator matriceal de diferenţiere ( 4× 4)<br />

constituit din elementele<br />

0<br />

vectorului diferenţial de mişcare d Xni ⎡<br />

⎣θni () t ⎤<br />

⎦ , pentru fiecare axă ( i = 1→ n)<br />

:<br />

0 * 0 *<br />

⎡ 0 0 −1 δ × d ⎤ ⎧<br />

i−1 ,<br />

0<br />

i i−1 i i−1⎪ T θi 10 t U<br />

i 1 i T θ<br />

i 1<br />

i 10 t qi t k<br />

− ⎣<br />

⎡ − ⎦<br />

⎤⋅ ⋅<br />

− ⎣<br />

⎡ − ⎦<br />

⎤ ⋅ i<br />

δ Ti(<br />

i−1) ≡⎢ ⎥≡⎨<br />

. (4.59)<br />

⎢ ⎥ 0 −1 0 −1<br />

i<br />

0 0 [ T] ⎡θi0 () t ⎤⋅Ui⋅ [ T] ⎡θi0 () t ⎤,<br />

qi() t ⋅ k<br />

⎣ ⎦<br />

⎪<br />

⎩ i ⎣ ⎦ i ⎣ ⎦<br />

i<br />

Operatorul matriceal de derivare parţială U i este substituit în ecuaţia (4.59) prin expresia de definiţie. După<br />

( ) ( ) [ ] () [ ] () ()<br />

efectuarea transformărilor matriceale rezultă expresiile:<br />

i i<br />

[ ] ⎡ ki i ki ( 1 i)<br />

⎤ [ ] [ ]<br />

⎧ 0 0 −1 0 −1<br />

⎡ R p ⎤<br />

i ×Δ ⋅ −Δ ⎡ R − R ⋅p<br />

⎤ ⎫<br />

0 0 1 i i i<br />

i<br />

⎪ −<br />

i[ T] ⋅Ui⋅ i[<br />

T]<br />

= ⎢ ⎥⋅⎢ ⎥⋅⎢<br />

⎥≡<br />

⎪<br />

⎪ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎪<br />

⎪ ⎢⎣000 1⎥⎦ ⎣ 000 0 ⎦ ⎢⎣ 000 1 ⎥⎦<br />

⎪<br />

⎨ ⎬ ; (4.60)<br />

0 i 0 0 i<br />

0 −1 0 −1<br />

⎪ ⎡ [ R] ⋅ ki× [ R] ⋅Δi [ R] ⋅ ki⋅( 1−Δi) ⎤ ⎡<br />

i i i i[ R] −<br />

i[<br />

R] ⋅p<br />

⎤<br />

i ⎪<br />

⎪ ≡⎢ ⎥⋅⎢ ⎥ ⎪<br />

⎪ ⎢ ⎥ ⎢ ⎥ ⎪<br />

⎩ ⎢⎣ 000 0 ⎥⎦ ⎢⎣ 000 1 ⎥⎦<br />


141<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />

i i i<br />

[ R] ⋅ k ×Δ − [ R] ⋅ k × p ⋅Δ + k ( 1−Δ<br />

)<br />

0 ⎡<br />

i<br />

0 0 −1<br />

⎢<br />

[ T] ⋅Ui⋅ [ T]<br />

=<br />

i i ⎢<br />

⎢<br />

⎣<br />

i<br />

0 0 0<br />

i<br />

0<br />

i<br />

i i<br />

0<br />

i i i<br />

⎤<br />

⎥<br />

⎥ ;<br />

⎥<br />

⎦<br />

(4.61)<br />

( )<br />

( ) ( )<br />

( )<br />

[ ] ( )<br />

( ) [ ] ( )<br />

( ) [ ] ⎧<br />

⎪<br />

⎪<br />

⎪<br />

⎨ ⎡ 0 i i−1 ⎪<br />

R ⋅ ki ×Δi ⎢ i i−1 ⎪≡ ⎢<br />

⎪ ⎢ 0 0 0<br />

⎪⎩ ⎣<br />

0 * 0 *<br />

⎡ δ × d ⎤<br />

⎫<br />

0 *<br />

i i−1 i i−1 δ T ≡⎢ ⎥ ≡<br />

⎪<br />

i i−1 ⎢ ⎥<br />

⎪<br />

⎣ 0 0 ⎦<br />

⎪<br />

0 i i−1 0 i( i−1) ⎬ ;(4.62)<br />

− R ⋅ ki × pi ⋅Δ i + R ⋅ ki ⋅( 1−Δi)<br />

⎤<br />

i i−1 i i−1⎥⎪ ⎥⎪<br />

0<br />

⎥⎪<br />

⎦⎪⎭<br />

0 * ⎡ δ ×<br />

0 *<br />

i( i−1) δ T = ⎢<br />

i( i−1) ⎢<br />

⎣<br />

0<br />

⎡ 0<br />

⎢<br />

0 *<br />

0 d ⎤ ⎢ δ z<br />

i( i−1) i( i−1 ⎥ )<br />

≡⎢<br />

0 0 ⎥ ⎢<br />

⎦ − δ yi( i−1 ⎢ )<br />

⎢<br />

⎣<br />

0<br />

0<br />

− δ zi( i−1) 0<br />

0<br />

δ xi( i−1) 0<br />

0<br />

δ yi( i−1) 0<br />

− δ xi( i−1) 0<br />

0<br />

0<br />

dx ⎤<br />

i( i−1) ⎥<br />

0<br />

dy ⎥<br />

i( i−1) ⎥ .<br />

0<br />

dz ⎥<br />

i( i−1) ⎥<br />

0 ⎥<br />

⎦<br />

(4.63)<br />

Operatorul matriceal de diferenţiere se poate scrie sub forma de mai jos:<br />

0 ⎡ δ ×<br />

δ Tn<br />

= ⎢<br />

⎣000 d− δ × pn⎤ ⎡ δ ×<br />

⎥≡⎢ 0 ⎦ ⎣000 d⎤ ⎡ 0× ⎥−⎢ 0⎦ ⎣000 δ × p ⎤ n ⎡ δ ×<br />

⎥≡⎢<br />

0 ⎦ ⎣000 d⎤<br />

⎡ I3 ⎥⋅⎢ 0⎦<br />

⎣000 −pn⎤<br />

1<br />

⎥.<br />

⎦<br />

(4.64)<br />

Componentele operatorului matriceal de diferenţiere se definesc cu expresiile cunoscute:<br />

n n n<br />

0 0 i 0 0 *<br />

{ } [ ]<br />

δ ≡ dψ≡ d ω = ∑ R ⋅ k ⋅Δ ⋅dq ≡∑ k ⋅Δ ⋅dq ≡∑ δ ⋅Δ ⋅dq<br />

; (4.65)<br />

n i<br />

i i i i i i i i i<br />

i= 1 i= 1 i= 1<br />

n n n<br />

0 i 0 0 *<br />

n i [ ] i n i i i n i i i n i i<br />

i= 1 i= 1 i= 1<br />

δ × p ≡∑ R ⋅ k × p ⋅Δ ⋅dq ≡ ∑ k × p ⋅Δ ⋅dq ≡ ∑ δ × p ⋅Δ ⋅dq<br />

. (4.66)<br />

0<br />

Componentele vectorului diferenţial de mişcare d X⎡ ⎣θ ( t)<br />

⎤<br />

⎦ se pot exprima în funcţie de componentele<br />

0<br />

vectorului diferenţial d Xi0 ⎡<br />

⎣θi0() t ⎤<br />

⎦ , conform identităţii:<br />

0 * 0 *<br />

n<br />

{ } δ × d<br />

i( i−1) i( i−1) ⎧ ⎡ δ × d ⎤ ⎡ ⎤ ⎡ 0× δ × p ⎤ ⎫<br />

∑<br />

⎪ n<br />

⎢ ⎥≡ ⎢ ⎥⋅<br />

dq i + ⎢ ⎥≡<br />

⎪<br />

⎪ i= 1<br />

0 0 0 0<br />

⎪<br />

⎣⎢0 0 0 0⎦⎥ ⎣<br />

⎢ 0 0 ⎥<br />

⎦ ⎣ ⎦<br />

⎪ ⎪<br />

⎨ ⎡ ⎤ ⎬;<br />

(4.67)<br />

n<br />

0<br />

⎪ n ⎡0 0 0<br />

ki×Δi − ki× pi ⋅Δ i + ki ⋅( 1−Δi)<br />

⎤ 0 ki pn<br />

i<br />

dq<br />

⎢ × ∑ × ⋅Δ ⎥ ⎪<br />

⎪≡∑⎢ ⎥⋅ i + i= 1<br />

⋅dq<br />

i⎪<br />

i= 1 0 0 0 0<br />

⎢ ⎥<br />

⎪ ⎣ ⎦ ⎢0 0 0 0 ⎥ ⎪<br />

⎩ ⎣ ⎦ ⎭<br />

⎡ n<br />

0 * 0 *<br />

⎤<br />

( di( i 1) i( i 1)<br />

pn i) dqi<br />

d<br />

⎢∑ − + δ − × ⋅Δ ⋅<br />

⎡ ⎤<br />

⎥<br />

0<br />

i= 1<br />

d X ⎡θ() t ⎢ ⎥<br />

⎣<br />

⎤<br />

⎦ ≡ ⎢ ⎥ ≡<br />

; (4.68)<br />

δ<br />

n<br />

⎢ ⎢ 0 *<br />

⎥<br />

⎣ ⎥⎦<br />

⎢ ∑ δ i( i−1) ⋅ dq i ⎥<br />

⎢⎣ i= 1<br />

⎥⎦


MODELAREA ERORILOR CINEMATICE .I.<br />

0 * 0 *<br />

⎡d⎤ ⎡⎛ di( i−1) + δ i( i−1) × pn⋅Δ<br />

⎞ ⎤<br />

i<br />

0 ⎢ ⎥ ⎢⎜ ⎟ ⎥ ⎡ dq i ⎤<br />

d X⎡ ⎣θ() t ⎤<br />

⎦ ≡ ⎢ ⎥ ≡ ⎢⎜ , i 1 n<br />

0 * ⎟ = → ⎥⋅⎢<br />

δ δ<br />

i 1 n<br />

⎥<br />

⎢ ⎥ ⎢⎜ = →<br />

i( i−1) ⎟ ⎥ ⎣ ⎦<br />

⎣ ⎦ ⎣⎝ ⎠ ⎦<br />

Vectorul diferenţial de mişcare în spaţiul cartezian şi respectiv în spaţiul configuraţiilor este:<br />

()<br />

T<br />

142<br />

T<br />

. (4.69)<br />

0<br />

d X ⎡<br />

⎣θ t<br />

T<br />

⎤<br />

⎦ ≡ ⎡<br />

⎣<br />

d<br />

T<br />

δ ⎤<br />

⎦<br />

dθ≡ dq i , i = 1 → n ; (4.70)<br />

Utilizând expresia de definiţie, vectorul diferenţial de mişcare în spaţiul cartezian devine:<br />

; [ ]<br />

n T<br />

0 ⎧ 0 0 ⎫ 0<br />

d X⎣ ⎡θ() t ⎦<br />

⎤= ⎨∑ Ji⎣ ⎡θi0() t ⎦<br />

⎤⋅dqi ≡ ⎡ Ji θi0() t i 1 n⎤ ⎣ ⎣<br />

⎡<br />

⎦<br />

⎤ = →<br />

⎦<br />

⋅ [ dqi i= 1→n] ⎬≡<br />

J⎣ ⎡θ() t ⎦<br />

⎤⋅dθ<br />

. (4.71)<br />

⎩i= 1<br />

⎭<br />

Dar, luând în studiu (4.67) şi (4.68), acelaşi vector diferenţial de mişcare se scrie astfel:<br />

()<br />

( ) ( )<br />

0 0<br />

⎡d ⎡θt ⎤ ⎤ ⎡⎛ ki × pn −pi ⋅Δ i + ki ⋅ 1−Δ<br />

⎞ ⎤<br />

i<br />

0 ⎢<br />

⎣ ⎦<br />

⎥ ⎢⎜ ⎟ ⎥<br />

d X⎡θ() t ⎤ = ⎢ ⎥ = ⎢⎜ ; i 1 n dθ<br />

0<br />

⎟ = → ⎥⋅<br />

. (4.72)<br />

⎣ ⎦<br />

⎢δ ⎡<br />

⎣θ () t ⎤<br />

⎦⎥<br />

⎢⎜ k i ×Δi<br />

⎟ ⎥<br />

⎣ ⎦ ⎣⎝ ⎠ ⎦<br />

Ca urmare, matricea Jacobiană cu exprimare în raport cu sistemul de referinţă fix devine:<br />

0<br />

J ⎣<br />

⎡θ () t ⎦<br />

⎤<br />

⎡<br />

⎢ 0<br />

= ⎢ J i ⎣<br />

⎡θ i0 () t ⎦<br />

⎤<br />

⎢<br />

⎣<br />

0 ⎛ d i ⎡<br />

⎣θi0 t ⎤<br />

⎦<br />

⎞<br />

⎜ ⎟<br />

= ⎜ ;<br />

0 ⎟<br />

⎜ δ i ⎡<br />

⎣θ i0 () t ⎤<br />

⎦⎟<br />

⎝ ⎠<br />

⎤<br />

⎥<br />

i = 1 → n⎥<br />

.<br />

⎥<br />

⎦<br />

(4.73)<br />

Componentele coloanei () i a matricei de transfer a vitezelor se exprimă cu următoarele relaţii:<br />

()<br />

∂p<br />

d V k p p k 1 A p<br />

( ) ( ) ( )<br />

0<br />

i ≡ i ≡<br />

0<br />

i × n − i ⋅Δ i +<br />

0<br />

i ⋅ −Δi ≡ n<br />

∂q<br />

i<br />

≡ ni<br />

0<br />

i i<br />

0<br />

ki i<br />

0<br />

[ R<br />

i ] i<br />

ki<br />

i<br />

T<br />

; (4.74)<br />

δ ≡Ω ≡ ⋅Δ = ⋅ ⋅Δ . (4.75)<br />

Aceeaşi matrice Jacobiană se poate exprima faţă de sistemul de referinţă mobil prin luarea în considerare a<br />

componentelor scrise mai sus, conform cu (4.70) şi (4.71), adică:<br />

⎡ ⎛ ⎞ ⎤<br />

J ⎡ () t ⎤ = ⎢ J = ⎜ ⎟ ; i = 1 → n⎥;<br />

(4.76)<br />

⎢⎣ ⎝ ⎠ ⎥⎦<br />

n<br />

n n d i<br />

⎣θ⎦ i n<br />

δ i<br />

[ ] [ ]<br />

n 0 −1 0 0 −1<br />

di R d<br />

n i R V<br />

n<br />

i<br />

n 0 −1 0 0 −1<br />

= ⋅ = ⋅ ; δ = [ R] ⋅ δ = [ R]<br />

⋅Ω . (4.77)<br />

i n i n<br />

i<br />

În expresiile ce exprimă componentele matricei Jacobiene (4.77) se înlocuieşte [ ] [ ] [ ] 1 0<br />

0 1 i 1<br />

R = R ⋅ R şi<br />

rezultă relaţiile de definiţie pentru acestea, sub forma următoare:<br />

{ }<br />

−<br />

[ ] ( )<br />

n n i 1 i i i<br />

di Vi R k<br />

n<br />

i pni i ki 1 i<br />

≡ ≡ × ⋅Δ + ⋅ −Δ ; (4.78)<br />

[ ]<br />

n n i 1 i<br />

i i R k<br />

n i i<br />

δ<br />

−<br />

≡ Ω = ⋅ ⋅Δ . (4.79)<br />

Expresiile (4.78) şi (4.79) definesc matricea Jacobiană bazată pe matricele diferenţiale.<br />

n<br />

−<br />

n<br />

−<br />

i<br />


4.5 Matricea Jacobiană a erorilor<br />

143<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />

Modelarea cinematico-dinamică nominală se bazează, de asemenea, pe aplicarea matricei Jacobiene<br />

respectiv a derivatei în raport cu timpul şi a inversei acesteia. Matricea Jacobiană şi derivata ei în raport cu<br />

timpul, ambele exprimate în sistemul {0}, arată astfel:<br />

Determinarea matricei Jacobiene și a derivatei acesteia în raport cu sistemul { }<br />

0<br />

Nr.crt Simbol Expresie de definire Explicații<br />

0<br />

1 J ( θ )<br />

0<br />

2 J& ( θ )<br />

Q<br />

Q<br />

⎧ ⎡0 JiQ ; i 1 n⎤<br />

⎣<br />

= →<br />

⎦<br />

;<br />

⎪<br />

⎨ ⎛ 0 j = 1→6⎞ ⎪Matrix ⎜ J jiQ , ⎟<br />

⎪ ( 6xn ⎩ ) ⎝ i = 1→n⎠ ⎧<br />

⎪<br />

T<br />

⎡0 J& iQ;<br />

i 1 n⎤<br />

⎣<br />

= →<br />

⎦<br />

;<br />

⎨ ⎛ 0<br />

⎪Matrix J&<br />

⎜ jiQ;<br />

⎪ ( 6xn ⎩ ) ⎝<br />

j = 1→6⎞ ⎟;<br />

i = 1→n⎠ 0<br />

niQ ( )<br />

[ ]<br />

⎡ A p ⎤<br />

⎢ ⎥<br />

0 i<br />

⎢ { R k } ⎥<br />

⎣ ⎦<br />

0<br />

J iQ =<br />

i=→ 1 n Δi ⋅<br />

i Q i<br />

0 0<br />

( )<br />

JiQ = Matrix J jiQ ; j = 1→ 6 ;<br />

( 6x1)<br />

i=→ 1 n<br />

J<br />

j4 ⎧ AniQ ; j = 1→3 ⎪<br />

= ⎨ 0<br />

⎪{<br />

Δ i ⋅ [ R] ⋅ ki} ; j = 4→6 i Q<br />

⎩<br />

j<br />

jiQ i<br />

unde, Δ i = { { 1; i= R} ; { 0; i= T}<br />

}<br />

n ⎡ ⎤<br />

⎢ ∑ AnijQ ( p) ⋅ q&j<br />

⎥<br />

j= 1<br />

0<br />

J&<br />

⎢ ⎥<br />

iQ = ⎢ i<br />

i=→ 1 n ⎧ ⎫ ⎥<br />

i<br />

⎢<br />

⎪ ⎪<br />

Δi⎨∑AijQ ( R) ⋅q&j⎬⋅ k ⎥ i<br />

⎢ j= 1<br />

⎥<br />

⎣<br />

⎪⎩ ⎪⎭<br />

⎦<br />

( )<br />

J& iQ = Matrix J& jiQ ; j = 1→ 6<br />

( 6x1)<br />

0 0<br />

i=→ 1 n<br />

&<br />

m ⎧<br />

j4<br />

⎪ ∑ AnikQ ⋅ q&k; j = 1→ 3;<br />

⎪ k= 1<br />

= ⎨<br />

⎪<br />

⎧ ⎧ j3 ⎫⎫<br />

⎨Δ i ⎨∑AikQ ⋅ q&k⎬⎬ ; j = 4 → 6;<br />

⎪⎩ ⎩k= 1 ⎩<br />

⎭⎭<br />

j<br />

Δ i = 1; i= R ; 0; i= T<br />

0<br />

J jiQ i<br />

j=→ 1 6<br />

unde, { { } { } }<br />

(4.80)<br />

(4.81)


MODELAREA ERORILOR CINEMATICE .I.<br />

4.6 Determinarea matricei Jacobiene a erorilor și a derivatei acesteia în raport cu sistemul { }<br />

0<br />

Aplicând erorile de tipul ∈=∈∈ { ; } asupra matricei Jacobiene, aceasta se transformă într-o matrice de erori:<br />

Q D G<br />

Nr.crt Simbol Expresie de definire Explicații<br />

1<br />

( ) xy<br />

0<br />

Δ J θ<br />

Q<br />

y = p ; g<br />

{ }<br />

Q<br />

⎧ ⎡ 0 xy<br />

JiQ ; i 1 n⎤<br />

⎣<br />

Δ = →<br />

⎦<br />

;<br />

⎪<br />

⎨ ⎛ 0 xy j = 1→6⎞ ⎪Matrix ⎜ΔJjiQ ; ⎟;<br />

⎪ ( 6xn ⎩ ) ⎝ i = 1→n⎠ 144<br />

( )<br />

⎡ xy<br />

ΔAniQ<br />

p ⎤<br />

0 xy<br />

Δ J iQ =<br />

⎢ ⎥<br />

0<br />

x i ;<br />

⎢<br />

i=→ 1 n Δ⋅ ⎡ i ΔR ⎤ ⋅ k ⎥<br />

i<br />

⎢ i ⎣ ⎦yQ<br />

⎣ ⎥⎦<br />

0 xy 0 xy<br />

( )<br />

Δ JiQ = Matrix Δ J jiQ ; j = 1→ 6 ;<br />

( 6x1)<br />

i=→ 1 n<br />

⎧ xy<br />

Δ AniQj 4 ; j = 1→3; 0 xy ⎪<br />

Δ J jiQ =⎨0<br />

x i<br />

j=→ 1 6 ⎪{ Δ⋅ ⎡ i R ⎤ ki} ; j 4 6;<br />

i ⎣<br />

Δ<br />

⎦<br />

⋅ = →<br />

Q<br />

⎩<br />

j<br />

Nr.crt Simbol Expresie de definire Explicații<br />

2 ( ) x<br />

0<br />

J θ<br />

Q<br />

Δ &<br />

⎧ 0 xy ⎡Δ J& iQ ; i 1 n⎤<br />

⎣<br />

= →<br />

⎦<br />

;<br />

⎪<br />

⎨ ⎛ 0 xy j = 1→6⎞ ⎪Matrix Δ J&<br />

⎜ jiQ ⎟;<br />

⎪ ( 6xn ⎩ ) ⎝ i = 1→n⎠ ( )<br />

0 xy 0 xy<br />

Δ J& iQ = Matrix Δ J& jiQ ; j = 1→6 ( 6x1)<br />

i=→ 1 n<br />

n ⎧<br />

xy<br />

⎪ ∑ΔAnikQj<br />

4 ⋅ q&k; j = 1, 3<br />

0 xy ⎪ k= 1<br />

Δ J&<br />

jiQ =⎨ i<br />

j=→ 1 6 ⎪<br />

⎧ ⎧ xy ⎫⎫<br />

⎨Δi⎨∑ΔAikQj3 ⋅ q&k⎬⎬ , j = 3, 6<br />

⎪⎩ ⎩k= 1 ⎩<br />

⎭⎭j<br />

Pentru y=e , se obţin următoarele matrice de erori:<br />

Nr.crt Simbol Expresie de definire Explicații<br />

1. ( ) xek<br />

0<br />

Δ J θ<br />

Q<br />

k=→ 1 n<br />

⎧ ⎡ 0 xek<br />

JjiQ ; i 1 n⎤<br />

⎣<br />

Δ = →<br />

⎦<br />

;<br />

⎪<br />

⎨ ⎛ 0 xek j= 1→6⎞ ⎪Matrix ⎜ΔJjiQ ; ⎟;<br />

⎪ ( 6xn ⎩ ) ⎝ i= 1→n⎠ 0 xek 0 xek<br />

( )<br />

Δ JiQ = Matrix Δ J jiQ ; j = 1→ 6<br />

( 6x1)<br />

i=→ 1 n<br />

xek<br />

⎧ Δ AniQj 4 ; j = 1→3; ⎪<br />

0 xek ⎪<br />

Δ J jiQ =⎨<br />

⎡ ⎤<br />

k ⎣ ⎦eQ<br />

j=→ 1 6 ⎪<br />

⎪<br />

⎩<br />

= → Δ = ≤ ><br />

(4.82)<br />

(4.83)<br />

0<br />

{ Δ⋅Δ i k ⋅<br />

x<br />

ΔR k i<br />

⋅ [ R] k<br />

i Q i}<br />

j<br />

j 4 6; k { { 1; k i} ; { 0; k i}<br />

}


2 ( ) xek<br />

0<br />

J θ<br />

Δ &<br />

Q<br />

k=→ 1 n<br />

⎧ 0 xek ⎡Δ J& iQ ; i 1 n⎤<br />

⎣<br />

= →<br />

⎦<br />

;<br />

⎪<br />

⎨ ⎛ 0 xek j = 1→6⎞ ⎪Matrix Δ J&<br />

⎜ jiQ ; ⎟<br />

⎪⎩ ⎝ i = 1→n⎠ 145<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />

0 xek<br />

iQ<br />

0 xek<br />

jiQ<br />

i=→ 1 n<br />

( ; )<br />

Δ J& = Matrix Δ J& j = 1→6 n<br />

∑<br />

0 xek xek<br />

Δ J& = Δ A ; j = 1 → 3<br />

jiQ nilQ j 4<br />

j= 1→ 6 k = 1<br />

⎧⎪<br />

Δ =Δ ⋅Δ Δ ⋅ ⋅ ⋅ +<br />

0 xek<br />

J& jiQ<br />

j=→ 1 6<br />

i<br />

k<br />

k ⎨∑<br />

⎪⎩ l= 1<br />

xy k<br />

AklQ ( R) i[ R] Q<br />

i<br />

kiq&l i 0<br />

∑ ⎡<br />

k ⎣<br />

l= k+ 1<br />

x⎤ ⎦eQ<br />

k<br />

ilQ ( ) i<br />

i<br />

⎫⎪<br />

&l<br />

⎬ ;<br />

⎪⎭ j<br />

+ ΔR ⋅ A R ⋅ k ⋅ q j = 4→ 6<br />

k<br />

k l<br />

( ) = [ ] ⋅ ⋅ [ ]<br />

unde A R R U R<br />

ilQ l l i<br />

Matricea de erori corespunzătoare inversei matricei Jacobi se stabileşte pentru y = { p ; e; g}<br />

, astfel:<br />

xy<br />

−1<br />

0 0 −1 0 xy 0 −1<br />

{ J( θ ) } J( θ ) J( θ ) J(<br />

θ ) .<br />

Q Q Q Q<br />

Δ =− ⋅Δ ⋅ (4.84)<br />

Ţinând seama de algoritmul MEcROb, alături de matricele geometrice de erori o semnificaţie<br />

importantă au şi matricele cinematice de erori. Ele se utilizează, obligatoriu, în cadrul modelării preciziei<br />

cinematico-dinamice. Conform algoritmului MecROb, aceste transformări sunt următoarele:<br />

J<br />

[ A]<br />

[ T ]<br />

Q<br />

⎧<br />

⎪<br />

⎪<br />

= ⎨<br />

⎪<br />

⎪<br />

⎩<br />

{ [ T] ; [ T]<br />

} ;<br />

D G<br />

{ [ T] ; k = 1 → m}<br />

;<br />

Qk<br />

j−1 j−1 −1<br />

{ [ T] [ T] i = 1→ n j = 1→ i<br />

i Qk i Qk<br />

}<br />

; ; ; ;<br />

⎧<br />

⎪<br />

⎡⎣AQk , k = 1 → m⎤⎦<br />

= ⎨<br />

⎪⎡AQk AQk, i = 1 → n; j = 1 → i; l = 1 → j⎤<br />

⎩⎣<br />

⎦<br />

Q ij ijl<br />

{ JQk ; k 1 m}<br />

;<br />

( )<br />

J( θ ) ( )<br />

j( θ ) ( )<br />

J( θ ) ( )<br />

j(<br />

θ )<br />

⎧ = →<br />

⎪<br />

= ⎨<br />

⎪⎩<br />

; ; ; ;<br />

+ +<br />

{ Qk Qk Qk Qk}<br />

Q n 0 n 0 n 0 n 0<br />

Q<br />

(4.85)<br />

(4.86)<br />

(4.87)<br />

Transformările geometrice sunt reprezentate prin [ T ] iar [ A ] şi J<br />

Q<br />

Q Q aparţin transformărilor cinematice.


MODELAREA ERORILOR CINEMATICE .I.<br />

Aplicând erorile de tip ∈=∈ { ; ∈ } asupra acestor transformări, ele se transformă în matrice diferenţiale:<br />

[ A]<br />

[ ]<br />

Q D G<br />

{ [ T] k 1 m}<br />

⎧ Δ ; = → ;<br />

Qk<br />

⎪<br />

⎪ j−1 ( x )<br />

j−1 x<br />

j−1 Δ T = x<br />

Q ⎨⎧ ⎫<br />

⎪ ⎡δT ⎤ ; ⎡δT ⎤ ; ⎡ΔT ⎤ ⎪<br />

⎪⎨ i ⎣ ⎦ yQk i ⎣ ⎦ yQk i ⎣ ⎦ yQk ⎬;<br />

⎪⎪<br />

⎩i = 1→ n; j = 1→ i;<br />

⎪<br />

⎩<br />

⎭<br />

{ A k 1 m}<br />

⎧<br />

⎪<br />

Δ Qk ; = → ;<br />

Δ =<br />

Q ⎨ xy xy<br />

⎪⎩ { ΔAijQk ; Δ AijlQk ; i = 1 → n; j = 1 → i; l = 1 → j}<br />

;<br />

{ J k 1 m}<br />

⎧ Δ Qk ; = → ;<br />

⎪<br />

Δ J Q = ⎨⎧ ( ) xy 1<br />

( ) xy<br />

−<br />

n 0 n 0 ( n) 0 xy ⎫<br />

⎪⎨Δ J( θ ) ; Δ j( θ ) ; { Δ JQk}<br />

⎬ .<br />

Qk Qk<br />

⎩⎩<br />

⎭<br />

146<br />

(4.88)<br />

(4.89)<br />

(4.90)<br />

În cadrul acestui paragraf se va prezenta modelul matematic de calcul, ca şi algoritmul matricelor<br />

diferenţiale corespunzătoare erorilor cinematice.<br />

Nr.crt Expresie de definire<br />

1.<br />

i−1 0 { [ ] j<br />

n<br />

∑ R k 0 } { ( [ ] k<br />

j× qj⋅Δ j j ∑ R⋅ kk) × } qk⋅Δk<br />

0 T ( )<br />

( ) j= 0<br />

k<br />

0<br />

Δ J k i<br />

iv θ = e ⋅ Δ vi+ e =<br />

⋅ Δ pn+<br />

i−1 0 { [ R] j<br />

∑ kj× } q<br />

j<br />

j⋅Δj i−1 j= 0 ⎧ 0 { [ ] j 0 } { [ ] j ⎫<br />

+ e ⋅⎨∑⎡ j R kj qj j R kj } q ⎤<br />

⎣<br />

⋅ × ⋅Δ + Δ ⋅ × j ⎦<br />

⋅Δj⎬⋅ vi+<br />

⎩j= 0<br />

⎭<br />

n<br />

0 { ( [ R] k<br />

∑ ⋅ kk) × } q<br />

k k⋅Δk n n<br />

⎧ k i<br />

0 ( )<br />

{ [ ] k 0 } { [ ] k ⎫ 0<br />

+ e =<br />

⋅⎨∑ k R ⋅ kk× ⋅Δ qk + ∑ Δk R ⋅ kk× } ⋅qk ⎬⋅Δk⋅<br />

pn<br />

+<br />

⎩k= i k= i<br />

⎭<br />

⎛ i−1 0 { ( [ ] j k−1 ∑ R⋅ k ) }<br />

{ ( 0 [ ] m<br />

j × qj⋅Δ ) ⎞<br />

j<br />

j n ∑ m R⋅ km × } qm⋅δ<br />

⎜ m<br />

j= 0 0<br />

+Δ<br />

{ ( [ ] i )<br />

m i 1<br />

i e i R ki } e =−<br />

⎟<br />

⋅⎜ ⋅ ⋅ × ⋅∑ ⎟⋅Δ<br />

bk+<br />

⎝ k= i<br />

⎠<br />

i−1 ⎡ 0 { ( [ R] j<br />

∑ ⋅ kj) × } q<br />

j<br />

j⋅Δ ⎤<br />

j i−1 ⎢ j= 0<br />

⎛ 0 { { ( [ ] j 0 ) } { ( [ ] j<br />

⎞⎥<br />

i ⎢<br />

e ⎜∑j R kj qj j R kj) } qj} j⎟⎥ Jim bk<br />

⎣ ⎝ j= 0<br />

⎠⎦<br />

i−1 ⎛ 0 { ( [ R] ⋅<br />

j k−1 ∑ k 0 ) } q [ R] m<br />

j j × j⋅Δj ( m ⋅ k ) ⎞<br />

n ∑ { m × } qm⋅δ<br />

⎜ m<br />

j= 0<br />

0 { ( [ ] i<br />

+Δi⋅e ⋅ Δi R ⋅ ki) × } ⋅ em=−<br />

i 1<br />

⎟<br />

⎜ ∑<br />

⎟⋅<br />

bk<br />

+<br />

⎝ k= i<br />

⎠<br />

i−1 ⎧ 0 k 1<br />

{ ( [ R] j −<br />

k ) } q { ( 0 [ R] m<br />

⎪ ∑ ⋅<br />

j j × j⋅Δj n m km) ⎫<br />

∑ ⋅ × } qm⋅δm<br />

⎪<br />

j= 0 0 { ( [ ] i<br />

+Δ )<br />

m i 1<br />

i⋅⎨e ⋅ i R ⋅ ki × } ⋅ e =− ∑<br />

⋅Jm⋅δ⎬ m ⋅bk<br />

⎪ k= i<br />

⎪<br />

+Δ ⋅ ⋅ Δ ⋅ × ⋅ + ⋅ × ⋅Δ ⋅Δ ⋅ ⋅ +<br />

⎩ ⎭<br />

Nr.<br />

ecuație<br />

(4.91)


2.<br />

im<br />

0<br />

i<br />

i<br />

i<br />

n<br />

∑<br />

k= i<br />

k−1 { ( 0 [ ] m<br />

∑ m R ⋅ km) × } qm⋅δm<br />

m=− i 1<br />

;<br />

k−1 ⎡ 0 { ( [ ] m 0 ) } { ( [ ] m ⎤<br />

Jm = ⎢ ∑ Δm R ⋅ km × ⋅ qm+ m R ⋅ km) × } ⋅Δqm⎥<br />

⎣m=− i 1<br />

⎦<br />

0<br />

J ( ) iΩθ i−1 0 { [ ] j<br />

∑ R ⋅ kj× } qj⋅Δ<br />

j<br />

j<br />

j= 0<br />

e<br />

i−1 ⎡ 0<br />

⎢∑{ [ ] j R<br />

⎣j= 0<br />

j<br />

kj } qj 0 { [ ] j R<br />

j<br />

kj }<br />

⎤<br />

qj⎥<br />

⎦<br />

j<br />

i−1 0 { [ R] j<br />

∑ ⋅ kj× } q<br />

j<br />

j⋅Δj j= 0<br />

0[ ] i<br />

+ e ⋅Δ i R ⋅ ki⋅Δi.<br />

unde, J = { ( [ R] ⋅ k ) × } ⋅ e<br />

⎧⎪ ⎫⎪<br />

Δ = ⋅⎨ Δ ⋅ × ⋅ + ⋅ × ⋅Δ ⋅Δ ⎬+<br />

⎪⎩ ⎪⎭<br />

0<br />

Δ J& i Q<br />

0<br />

= ⎡Δ J& ⎣ jiQ ; j = 1→ 6⎤ ⎦,<br />

i = 1→ n<br />

0<br />

Δ J& =ΔME J& ⋅ME J ⋅ME J ⋅ M + ME J& ⋅ΔME J ⋅ME J ⋅ M +<br />

4.7 Erori cinematice de viteze și accelerații<br />

147<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />

Erorile de tip DH şi PG conduc la apariţia unor abateri de la valorile nominale pentru parametrii<br />

cinematici operaţionali (viteze şi acceleraţii operaţionale). Acestea caracterizează mişcarea efectorului final<br />

în spaţiul cartezian, şi mai precis, în sistemul fix { 0 } . Parametrii de acest au în componenţa lor erorile de<br />

viteze-acceleraţii operaţionale, simbolizate conform expresiilor prezentate mai jos, astfel:<br />

0 T<br />

vQK<br />

{ } { } { } { } { } { }<br />

{ & } { } { } { & } { } { }<br />

iQ i1 i2 i3 ivω i1 i2 i3 ivω<br />

+ ME J i1 ⋅ME J i2 ⋅ΔME J i3 ⋅ Mivω+ ME J i1 ⋅ME J i2 ⋅ME Ji3 ⋅Δ Mivω+<br />

*<br />

+Δ ⎡ ME{ J i1} ⋅ ME { J i2} + ME{ J i1} ⋅ΔME{ J i2} ⎤⋅⎡ME{<br />

J& i3} ⋅ Mivω+ ME { J i3} ⋅ M&<br />

⎤<br />

⎣ ⎦ ⎣ ivω⎦+<br />

*<br />

+ ME{ J i1} ⋅ME{ J i2} ⋅⎡ΔME{ J& *<br />

i3} ⋅ Mivω +ΔME{<br />

Ji3}<br />

⋅ M& ivω+ ME{ J& i3} ⋅Δ Mivω+ ME{ Ji3} ⋅ΔM&<br />

⎤<br />

⎣ ivω⎦<br />

unde, ME{ J i1}<br />

& … ME{ J i3}<br />

& , ME{ J i1}<br />

… ME { J i3}<br />

, iv M ω ,<br />

*<br />

M ivω<br />

și iv M Cap.3, § 3.2.4<br />

&<br />

ω sunt definite<br />

{ }<br />

0 0 0 0 T<br />

Δ XVQ = Δ XVD ; Δ XVG = ⎡<br />

⎣Δ XvQK, k = 1→ m⎤<br />

⎦<br />

unde Δ X este definit cu următoarea relaţie:<br />

T<br />

; (4.93)<br />

⎧⎡ 0 & T 0 &&T<br />

X QK X ⎤<br />

QK ;<br />

0 T ⎪⎣Δ Δ<br />

Δ X vQK =<br />

⎦<br />

⎨ . (4.94)<br />

( 1× 12)<br />

T T T T<br />

⎪⎡ΔvQk ΔωQk Δv& ⎣ Qk Δ & ω ⎤<br />

⎩<br />

Qk ⎦<br />

Modelarea directă a erorilor de viteze şi acceleraţii se exprimă cu ajutorul următoarei ecuaţii matriceale:<br />

⎡ ⎤<br />

& & &<br />

; (4.95)<br />

0 xy<br />

Δ v Qk<br />

0 xy 0 xy<br />

( ) 0<br />

Δ X Qk ( )<br />

QK = ⎢ ⎥ = J θ ⋅Δ θ 0 xy<br />

k + Δ J θ Qk ⋅θ<br />

k<br />

( k= 1→ m) ⎢Δω⎥ Qk<br />

⎣ ⎦<br />

(4.92)


MODELAREA ERORILOR CINEMATICE .I.<br />

⎡ & ⎤<br />

0 xy<br />

Δ v Qk<br />

0 && xy 0 ( ) 0 xy xy xy<br />

( ) 0 ( ) 0<br />

Δ X Qk Qk Qk ( )<br />

QK = ⎢ ⎥ = J θ ⋅Δ<br />

&&<br />

θ 0 xy<br />

k + Δ J θ ⋅<br />

&&<br />

θk + J&θ ⋅<br />

&<br />

θk +Δ J θ Qk ⋅<br />

&<br />

θk<br />

( k=→ 1 m) ⎢Δ& ω ⎥<br />

Qk<br />

⎣ ⎦<br />

148<br />

. (4.96)<br />

⎡ T<br />

0 xy<br />

T<br />

0 xy<br />

T ⎤<br />

⎡ 0 xy ⎡<br />

X { v Qk } { ω<br />

⎤<br />

Δ<br />

& ⎤ Qk}<br />

0 xy xy<br />

QK ⎢ ⎣<br />

Δ Δ<br />

⎦ ⎥<br />

Δ X vQK = E vaQk ⋅ ε θ yQk = ⎢ ⎥ = ⎢ ⎥<br />

0 xy T<br />

( k= 1→m) ⎢ΔX &&<br />

. (4.97)<br />

⎥ ⎢ 0 xy<br />

T<br />

0 xy<br />

T ⎥<br />

⎢ QK ⎥ ⎡{ Δ ωQk} { Δ ω<br />

⎤<br />

⎣ ⎦ ⎢<br />

&<br />

⎣ Qk}<br />

⎦ ⎥<br />

⎣ ⎦<br />

În expresia (4.97), eroarea ε θ yQk , poate fi exprimată astfel:<br />

T T<br />

εθ yQk<br />

T<br />

= ⎡<br />

⎣ε yQk<br />

T<br />

T<br />

ε ⎤<br />

T<br />

θ ⎦ , unde εθ= ⎡Δ &<br />

⎣ θ<br />

T<br />

Δ<br />

&&<br />

θ ⎦<br />

⎤ T T<br />

= ⎡[ Δ qi, i= 1→n] [ Δ qi, i= 1→n] ⎤<br />

⎣<br />

& &&<br />

⎦ . (4.98)<br />

În cadrul ecuaţiei (4.98), determinată anterior, indicele y are următoarele semnificaţii:<br />

⎧<br />

⎪<br />

yQ = { pQ; e; g}<br />

=⎨<br />

⎪⎩<br />

{ β; α; a; d; θ; & θ; && θ;<br />

e; g}<br />

{ a; b; c; α; β; γ; & θ; && θ;<br />

e; g}<br />

; (4.99)<br />

⎧ ⎡β α a d θ & θ &&<br />

⎪ ⎣ θ⎤⎦<br />

pQ = ⎣⎡p jQ; jQ = 1→ NQ⎦⎤<br />

= ⎨<br />

; (4.100)<br />

⎪⎣ ⎩⎡a<br />

b c α β γ & θ && θ⎤⎦<br />

Matricea de transfer a erorilor notată<br />

Q<br />

{ { ; } ; { ; } }<br />

N = 7 Q = D 8 Q = G . (4.101)<br />

xy<br />

vaQk<br />

E are dimensiunea ( 12 × N ⋅ n)<br />

iar componentele ei sunt<br />

definite pe baza transformărilor geometrico – cinematice, respectiv a matricelor de erori, astfel:<br />

j−1 { i [ T] ; AniQ ; AnijQ ; i = 1 → n; j = 1 → i}<br />

; (4.102)<br />

j−1 { [ x] xy xy<br />

i T yQ ; AniQ ; AnijQ ; i 1 n; j 1 i}<br />

Δ Δ Δ = → = → . (4.103)<br />

Modelul de optimizare constă în stabilirea maximului şi minimului global corespunzător erorilor de<br />

viteze şi acceleraţii operaţionale. Pentru aceasta, se ia în studiu influenţa erorilor geometrice ε θ yQk . Pentru<br />

a simplifica scrierea ecuaţiilor, se introduce notaţia următoare:<br />

{ ; ω ; ; ω }<br />

Y v v&&<br />

. (4.104)<br />

xy 0 xy 0 xy 0 xy 0 xy<br />

vQk = Δ Qk Δ Qk Δ Qk Δ Qk<br />

Ținând seama de ordinul x = { 1; 2; 3}<br />

şi semnificaţiile indicelui y Q , modulul erorilor de viteze-<br />

acceleraţii, se poate scrie în forma prezentată mai jos:<br />

( ) T<br />

xy xy xy<br />

vQk vQk vQk<br />

Y = Y ⋅ Y . (4.105)<br />

Q


149<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />

Pentru început, se ia în analiză Y = { p ; e}<br />

. Astfel, maximul şi minimul funcţiilor de erori se stabilesc astfel:<br />

q Q<br />

{ } { }<br />

xp xpj<br />

max; min YvQk = max; min ⎡<br />

⎣YvQk ; jQ = 1 → N ⎤ Q ⎦ ; (4.106)<br />

{ } { }<br />

xe xei<br />

max; min YvQk = max; min ⎡<br />

⎣YvQk ; jQ= 1 → n⎤<br />

⎦ . (4.107)<br />

0 0 0 0<br />

unde, Y = { Δ v ; Δ ω ; Δ v ; Δ ω }<br />

vQ Q Q Q Q<br />

& & . (4.108)<br />

Aşadar, studiind orice structură mecanică de robot, indiferent de forma şi complexitatea ei, ecuaţiile<br />

(4.108) arată influenţa { p ; e; g} a erorilor ε θQ<br />

asupra preciziei de viteze – acceleraţii evaluată, de<br />

Q<br />

asemenea prin erorile diferenţiale de ordin 1 – 3. Matricea valorilor extreme conţine toate rezultatele cu<br />

privire la modelul de optimizare, ceea ce înseamnă că se poate scrie:<br />

{ { max; min } ; { ; ; } }<br />

EvQ = ⎡<br />

⎣Valori x y k Y ⎤ vQ ⎦ . (4.109)<br />

În literatura de specialitate, se arată că modelarea inversă a erorilor de viteze şi acceleraţii operaţionale<br />

se caracterizează prin următoarea ecuaţie matriceală:<br />

Conform acestui model,<br />

0<br />

vQk<br />

ε<br />

( ) 1 −<br />

x xy 0<br />

θ yQk EvaQk X vQk<br />

= ⋅Δ . (4.110)<br />

Δ X este cunoscut. Componentele lui pot fi stabilite fie prin măsurători fie<br />

sub formă analitică cu ajutorul modelării cinematice directe:<br />

0 0 r 0 n<br />

X vQk X vQk X vQk<br />

Δ = − . (4.111)<br />

Unde indicii n şi r corespund structurii mecanice, nominale, respectiv reale a robotului. Inversa<br />

matricei de transfer a erorilor poate fi definită cu ajutorul expresiei de mai jos, astfel:<br />

(<br />

1<br />

) ( )<br />

xy<br />

unde { E<br />

+<br />

}<br />

vaQk<br />

+<br />

xy xy xy xy<br />

E = E + X ; E ⋅ X = I − E ⋅ { E } . (4.112)<br />

xy<br />

−<br />

xy<br />

+<br />

xy<br />

vaQk vaQk EvQk<br />

vaQk EvQk vaQk vaQk<br />

reprezintă pseudoinversa matricei de transfer a erorilor, stabilită cu ajutorul unui algoritm .<br />

x<br />

θ yQk<br />

matricea de erori corespunzătoare modelului invers, conţine erorile cinematice ε , respectiv:<br />

( )<br />

∗ x<br />

E vQ = ⎡Valori x; y; k ; ε ⎤<br />

⎣ θ yQk ⎦ . (4.113)<br />

În cadrul algoritmului MEcROb este implementată modelarea directă – inversă cu privire la precizia<br />

viteze – acceleraţii. Toate matricele cinematice de erori sunt de asemenea apelate în cadrul modelelor<br />

matematice corespunzătoare atât domeniului statistic al erorilor cinematice cât şi preciziei dinamice.<br />

4.8 Modelarea statistică a erorilor cinematice<br />

I1 . Din datele de intrare se apelează următoarele matrice: matricele datelor de intrare, matricea<br />

parametrilor cinematici de tip DH, erorile geometrice de tip DH, matricea parametrilor generali (PG),


MODELAREA ERORILOR CINEMATICE .I.<br />

matricea erorilor geometrice tip PG şi matricele de transfer a erorilor.<br />

I2 . În continuare, se fac câteva precizări referitoare la notaţiile utilizate în cadrul acestui algoritm şi anume:<br />

I3 . Se scrie DS = DDH<br />

{ ; }<br />

{ I; II; III }<br />

{ ; ; }<br />

{ ; ; }<br />

D = D D ; (4.114)<br />

S DH PG<br />

D = D D D ; (4.115)<br />

q = D G Gθ;<br />

(4.116)<br />

ε = ε ε ε ; (4.117)<br />

D G Gθ<br />

{ , δ , , ω , , ω}<br />

Y = d Δv Δ Δv&Δ & ; (4.118)<br />

q q q q q q<br />

q<br />

{ 0; 1}<br />

I ∗ . Domeniul statistic al erorilor cinematice în funcţie de erorile de tip DH<br />

I4 . Se scrie Vε q = 0<br />

V ε = . (4.119)<br />

I5 . Se consideră p= 1→<br />

m , unde p reprezintă numărul de configuraţii ale robotului.<br />

I6 . Dacă D = DI,<br />

este adevarată, în continuare, se aplică pasul I 7 . În caz contrar, se urmează pasul I 6 .<br />

I7 . Conform algoritmului matricelor datelor iniţiale, se consideră variabile în raport cu k = p= 1→<br />

m,<br />

pk<br />

următoarele matrice: { M ;<br />

pk<br />

Mθ ;<br />

pk<br />

Mθ<br />

} , unde pk<br />

M , reprezintă matricea geometriei nominale<br />

Gr<br />

n r<br />

corespunzătoare configuraţiei p a robotului respectiv măsurătorii k iar<br />

configuraţiilor nominale respectiv reale ale robotului.<br />

150<br />

Gr<br />

pk<br />

Mθ n şi<br />

pk<br />

Mθ r reprezintă matricele<br />

I8 . Pentru început se consideră că k = p , adică numărul de configuraţii ale robotului supuse analizei<br />

coincide cu numărul măsurătorilor efectuate.<br />

I9 . În situaţia în care DS = DDH<br />

se va trece la următorul pas, I10 , în caz contrar, DS = DPG<br />

şi se trece<br />

direct la pasul I13 .<br />

I10 . Din algoritmul de determinare a parametrilor cinematici de tip DH, se utilizează matricele<br />

pk<br />

T DHn şi<br />

pk<br />

M DHn care definesc matricea sistemelor de tip DH în configuraţia nominală, respectiv matricea<br />

generalizată a parametrilor de tip DH, tot în configuraţie nominală iar din algoritmul de determinare a erorilor<br />

parametrilor de tip DH se preia matricea<br />

pk<br />

E DH .<br />

I11 . Se scriu următoarele expresii de definiţie:<br />

pk pk<br />

ε = εD = ⎡⎣ εDi<br />

; i = 1 → n+ 1⎤⎦<br />

; (4.120)<br />

T


unde, [ ] T<br />

pk<br />

ε Di βi−1αi−1 ai−1 diθi<br />

De asemenea, se poate scrie următoarea relaţie de egalitate: q = D .<br />

I12 . Se trece la pasul I35 .<br />

151<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />

= Δ Δ Δ Δ Δ . (4.121)<br />

I13 . Din algoritmul de determinare a parametrilor generalizaţi (PG) respectiv din algoritmul de determinare<br />

pk<br />

a erorilor geometrice de tip PG, se utilizează următoarele matrice: { M ,<br />

pk<br />

T ,<br />

pk<br />

E } .<br />

I14 . Se scrie următoarea relaţie:<br />

pk pk pk<br />

GθG θ<br />

pk pk<br />

unde, εG = ⎡<br />

⎣εGi ; i = 1 → n+ 1⎤<br />

⎦<br />

pk<br />

T<br />

PGn n PG<br />

ε = ε = ⎡<br />

⎣ε ε ⎤<br />

⎦ ; (4.122)<br />

[ ] T<br />

T<br />

, (4.123)<br />

εGi = Δai−1Δbi−1Δci−1ΔαiΔβiΔ γ i ; (4.124)<br />

pk<br />

θ<br />

De asemenea, se poate scrie, q = { G; Gθ}<br />

I15 . Se trece la pasul I35 .<br />

[ q ; i 1 n]<br />

i<br />

T<br />

ε = Δ = → . (4.125)<br />

I16 . Dacă D = DII<br />

, se continuă cu pasul I17 . În caz contrar, se trece direct la pasul I26 .<br />

I17 . Conform matricelor datelor de intrare se consideră:<br />

I18 . Se consideră k = 1→ m<br />

pk ⎧variabila<br />

in raport cu p = 1→ m;<br />

MGr<br />

− ⎨<br />

⎩constanta<br />

in raport cu k = 1→ m.<br />

(4.126)<br />

pk<br />

M ,<br />

pk<br />

M − variabile in raport cu k; p = 1→ m . (4.127)<br />

θn θr ( )<br />

I19 . Dacă DS = DDH<br />

, atunci se continuă cu pasul I20 . În caz contrar, DS = DPG<br />

, trecându-se direct la I23<br />

I20 . Din rezultatele obţinute în urma aplicării algoritmilor de determinare a parametrilor cinematici de tip DH<br />

pk<br />

respectiv a erorilor geometrice de tip DH, se utilizează următoarele matrice: { M ;<br />

pk<br />

T ;<br />

pk<br />

E } .<br />

I21 . Se apelează la relaţiile definite la pasul I11 .<br />

I22 . Se trece la pasul I35 .<br />

DH DH DH<br />

I23 . Din algoritmul parametrilor generalizaţi (PG) respectiv din algoritmul de determinare a erorilor<br />

pk<br />

cinematice de tip PG, se utilizează următoarele rezultate: { M ;<br />

pk<br />

T ;<br />

pk<br />

E } .<br />

I24 . Se apelează la relaţiile definite la pasul I14 .<br />

I25 . Se trece la pasul I35 .<br />

PGn n PG


MODELAREA ERORILOR CINEMATICE .I.<br />

I26 . Dacă D = DIII<br />

, urmează pasul I27 , in caz contrar se trece la pasul I125 (STOP).<br />

I27 . În conformitate cu matricele datelor iniţiale, se consideră:<br />

⎧variabile<br />

pentru p = 1→ m;<br />

− ⎨<br />

⎩constante<br />

pentru k = 1 → m.<br />

(4.128)<br />

pk<br />

M − variabila pentru p; k = 1→ m . (4.129)<br />

pk pk { M ; M }<br />

θn θr<br />

Respectiv, ( )<br />

I28 . Se consideră k = 1→ m<br />

Gr<br />

I29 . Dacă DS = DDH<br />

, algoritmul continuă cu pasul I30 . În caz contrar, DS = DPG<br />

şi în acest caz se<br />

trece direct la pasul I33 .<br />

I30 . Din rezultatele obţinute în urma aplicării algoritmilor de determinare a parametrilor cinematici de tip DH<br />

pk pk pk<br />

respectiv a erorilor geometrice de tip DH, se utilizează următoarele matrice: { M ; T ; E } .<br />

I31 . Se apelează relaţiile enunţate la pasul I11 .<br />

I32 . Se trece la pasul I35 .<br />

152<br />

DH DH DH<br />

I33 . Din algoritmul parametrilor generalizaţi (PG) respectiv din algoritmul de determinare a erorilor<br />

pk<br />

cinematice de tip PG, se utilizează următoarele rezultate: { M ;<br />

pk<br />

T ;<br />

pk<br />

E } .<br />

I34 . Se apelează relaţiile enunţate la pasul I14 .<br />

PGn n PG<br />

I35 . Dacă Vε q 0 = , urmează pasul I36 . În caz contrar, Vε q = 1 şi se continua cu pasul I66 .<br />

I36 . Dacă D = DI,<br />

urmează pasul I40 , in caz contrar se trece la pasul I37 .<br />

I37 . Dacă D= DII<br />

, se trece la pasul I39 , altfel urmează pasul I38 , adică se analizează cazul D= DIII<br />

.<br />

I38 . Dacă este îndeplinită condiţia k = m , atunci algoritmul se continuă cu pasul I40 . În caz contrar,<br />

k = k+ 1 şi se revine la pasul I28 .<br />

I39 . Dacă k = m , atunci urmează pasul I40 . În caz contrar, k = k+ 1 şi se revine la pasul I18 .<br />

I40 . Dacă este îndeplinită condiţia p= m,<br />

se continuă cu pasul I41. Altfel, p= p+ 1 şi se revine la I5<br />

I ∗ Matricea covariantă a erorilor geometrice de tip q = { D; G; Gθ}<br />

I41. În cadrul acestei etape, se construieşte matricea factorului de toleranţă notată simbolic cu Mk având<br />

dimensiunea de ( 10 × 10)<br />

.<br />

I42. În continuare se construieşte matricea funcţiilor inverse a erorilor, notată MΦ , cu dimensiunea ( × ) .<br />

I43. Dacă DS = DDH<br />

urmează pasul I44. În caz contrar, DS = DPG<br />

şi se trece la pasul I47 .<br />

I44. Se scrie vectorul coloană al erorilor de tip DH, definit cu următoarea expresie:


pk<br />

D<br />

unde, ε ∈ I11 , ceea ce înseamnă că:<br />

I45. Se consideră i = 1→ 5( n+ 1)<br />

.<br />

I46. Se trece la pasul I49 .<br />

I47. Se scrie vectorul coloană al erorilor de tip PG:<br />

I48. Se consideră i = 1→ 6( n+ 1) + n .<br />

( )<br />

153<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />

pk<br />

εD = ⎡<br />

⎣εD ; p; k = 1→ m⎤<br />

⎦ . (4.130)<br />

pk pk<br />

ε ; ( )<br />

D = ⎡⎣ εDi<br />

i = 1→ 5 n+ 1 ⎤⎦<br />

[ ] T<br />

a d<br />

pk<br />

Di i−1 i−1 i−1 i i<br />

T<br />

; (4.131)<br />

ε = Δβ Δα Δ Δ Δ θ . (4.132)<br />

( )<br />

pk<br />

εGθ= ⎡<br />

⎣εGθ; p; k = 1 → m⎤<br />

⎦ ; (4.133)<br />

T T<br />

pk pk pk pk<br />

ε ( )<br />

Gθ = ⎡<br />

⎣εG ε ⎤ θ ⎦ = ⎡<br />

⎣εGθi i = 1→ 6 n+ 1 + n⎤<br />

⎦<br />

pk<br />

θ<br />

[ q ; i 1 n]<br />

i<br />

T<br />

; (4.134)<br />

ε = Δ = → . (4.135)<br />

I49. Se impun ca date iniţiale probabilitatea ( 1 − α i ) şi procentul γ i de eşantionare. Din matricea k M<br />

definită la pasul I41. se obţine factorul de toleranţă i k corespunzător fiecărei erori ε qi .<br />

I ∗∗ Abaterea medie pătratică empirică σ ie pentru fiecare eroare ε qi<br />

.<br />

I50 Dacă I<br />

D = D , pasul următor este I51 . În caz contrar, D = { D ; D } şi se trece la pasul I53 .<br />

II III<br />

I51 . Se calculează abaterea medie pătratica empirică σ ie cu următoarea expresie:<br />

I52. Se trece la pasul I54 .<br />

I53. Se calculează:<br />

⎡ m 1 ⎛<br />

ie = ⎢ ⋅<br />

m<br />

⎜<br />

⎢ pk = 1<br />

pk<br />

qi −<br />

1<br />

m<br />

m<br />

⋅<br />

pk = 1<br />

1<br />

2<br />

pk ⎞⎤<br />

qi ⎟⎥<br />

⎥<br />

σ ∑ ε ∑ ε . (4.136)<br />

⎣ ⎝ ⎠⎦<br />

⎡ 1<br />

ie = ⎢ 2<br />

m<br />

m m ⎛<br />

⋅ ⎜<br />

p= 1 k= 1<br />

pk 1<br />

qi − 2<br />

m<br />

m m<br />

⋅<br />

p= 1 k= 1<br />

1<br />

2<br />

pk ⎞⎤<br />

qi ⎟⎥<br />

σ ∑∑ ε ∑∑ ε . (4.137)<br />

⎣ ⎝ ⎠⎦<br />

I54. Se calculează intervalul de toleranţă pentru eroarea geometrică qi<br />

T = 2⋅k ⋅ σ (4.138)<br />

ε : i i ie<br />

I55. Se impun ca date iniţiale (vezi I49 . ) probabilităţile ( 1 − α ) . Din matricea M ∈ I42 se obţine pentru<br />

−1<br />

fiecare eroare εqi , funcția inversă a erorilor, Φ ( 1−α)<br />

i i .<br />

i<br />

Φ


MODELAREA ERORILOR CINEMATICE .I.<br />

I56. Se calculează abaterea medie pătratică teoretică σ i , respectiv dispersia geometrică σ 2<br />

i :<br />

I ∗∗∗ Conform repartiţiei normale, se calculează:<br />

( )<br />

{ ⎡ 2 ( 1 ) ⎤}<br />

σ ⎡ 2<br />

= ⋅σ ⋅ −α<br />

⎤<br />

i T i ⎣<br />

2 i 1 i ⎦<br />

; (4.139)<br />

2 2<br />

σi = T i ⎣ ⋅σi ⋅ −αi<br />

⎦ . (4.140)<br />

I57. Funcţia densităţii de probablilitate a erorilor geometrice ε qi , se determină cu expresia de mai jos:<br />

pk ( ε qi ) exp<br />

154<br />

⎡ pk<br />

2<br />

⎛ε⎞ ⎤<br />

qi<br />

f<br />

1<br />

= ⋅<br />

σ i ⋅ 2 ⋅π ⎢ 1<br />

− ⋅⎜ ⎟<br />

⎢⎣ 2 ⎝ σ i ⎠<br />

⎥ .<br />

⎥⎦<br />

(4.141)<br />

I58. Funcţia erorilor se determină astfel:<br />

pk 2 ε 2<br />

qi<br />

−u<br />

( u ) ( e i du )<br />

Φ %<br />

i i = ⋅∫0 π<br />

⋅ i . (4.142)<br />

I59. Se reprezintă grafif funcţiile calculate la paşii I57 . respectiv I58 .<br />

.<br />

D = D , urmează pasul I61. În caz contrar, DS = DPG<br />

şi se trece la pasul I62 .<br />

I60 Dacă S DH<br />

I61. Dacă i = 5( n+ 1)<br />

, urmează pasul I63 . În caz contrar, i = i+ 1 si se revine la pasul I45 .<br />

I62. Dacă i = 6⋅ ( n+ 1) + n,<br />

urmează pasul I63 . În caz contrar, i = i+ 1 si se revine la pasul I48 .<br />

I63. Se scrie matricea covariantă a erorilor geometrice notată cu Vε q care este o matrice diagonal de<br />

dimensiuni ( i i )<br />

unde<br />

× , definită prin intermediul următoarei expresii:<br />

max max<br />

I64. Se scrie veq = 1<br />

I65 . Se revine la pasul I5 .<br />

i<br />

max<br />

2<br />

eq = ⎣σ j ; = → max ⎦<br />

2<br />

v Diag⎡i 1 i ⎤ . (4.143)<br />

⎧ ⎪5<br />

( n + 1) − daca DS = DDH<br />

= ⎨<br />

⎪⎩ 6( n+ 1) + n− daca D = D<br />

S PG<br />

I66. Se rezolva integral algoritmul matricelor de transfer a erorilor, rezultând:<br />

{ δ ; ω ; ε }<br />

pk pk pk pk<br />

Yq d q v q a q<br />

. (4.144)<br />

ε = ε ε ε . (4.145)<br />

I67 . Se calculează erorile cinematice de tip Y q (a se vedea pasul I2 ), astfel:<br />

I68 . În continuare, se fac următoarele notaţii:<br />

pk pk pk<br />

q Yq q<br />

Y = E ⋅ ε . (4.146)


I69 . Se adoptă următoarele notaţii:<br />

pk { ; ( ; ) }<br />

q q<br />

155<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />

Y = Y p k = 1→ m . (4.147)<br />

⎡v v ⎤<br />

V v . (4.148)<br />

11 13<br />

Yq = ⎢ ⎥<br />

ij<br />

⎢ ⎥<br />

⎣v31 v33<br />

⎦<br />

unde, V Yq reprezintă matricea covariantă a erorilor cinematice de tip Y q , o matrice simetrică de dimensiune<br />

( 3× 3)<br />

.<br />

I70. se calculează:<br />

unde, EYq ∈ I66 iar ε q<br />

V ∈ I63.<br />

Yq Yq ε q<br />

T<br />

Yq<br />

V = E ⋅V ⋅ E . (4.149)<br />

2<br />

I71 . Dispersia σ Yq şi abaterea medie pătratică σ Yq pentru erorile de tip Y q , se calculează cu relaţiile:<br />

2 2 2 2<br />

Yq Yq 11 22 33 12 23 31 12 33 23 11 31 22<br />

σ = det v = v ⋅v ⋅ v + 2⋅v ⋅v ⋅v −v ⋅v −v ⋅v −v ⋅ v . (4.150)<br />

respectiv,<br />

I72. Se notează:<br />

Yq ⎡<br />

1<br />

2 ⎤ 2<br />

Yq<br />

σ = ⎣σ ⎦ . (4.151)<br />

⎡ p p ⎤<br />

P p . (4.152)<br />

11 13<br />

Yq = ⎢ ⎥<br />

ij<br />

⎢ ⎥<br />

⎣p31 p33⎦<br />

matricea ponderilor pentru erorile de tip Y q care este o matrice simetrică de dimensiune ( 3× 3)<br />

.<br />

I73 . Se calculează:<br />

1<br />

Yq Yq<br />

Rezultă: ( )<br />

P V −<br />

= . (4.153)<br />

2 2<br />

11 22 33 32 Yq<br />

p = v ⋅v − v σ ; (4.154)<br />

( ) 2<br />

( ) 2<br />

( ) 2<br />

p = p = v ⋅v −v ⋅ v σ ; (4.155)<br />

21 12 13 32 12 33 Yq<br />

p = p = v ⋅v −v ⋅ v σ ; (4.156)<br />

31 13 12 32 13 22 Yq<br />

p = p = v ⋅v −v ⋅ v σ ; (4.157)<br />

32 23 12 31 23 11 Yq<br />

( )<br />

( )<br />

2 2<br />

22 11 33 31 Yq<br />

p = v ⋅v − v σ ; (4.158)<br />

2 2<br />

33 11 22 21 Yq<br />

p = v ⋅v − v σ . (4.159)<br />

1<br />

I74. Ponderea erorilor de tip Y q se stabileşte cu următoarea relaţie: PYq det VYq −<br />

= . (4.160)


MODELAREA ERORILOR CINEMATICE .I.<br />

I ∗ Conform repartiţiei normale a erorilor cinematice de tip Y q se calculează:<br />

I75 . Funcţia densităţii de probabilitate<br />

−15 .<br />

( ) ( ) −12 ⎡ 1 T ⎤<br />

f Yq = 2⋅π ⋅σYq ⋅exp ⎢<br />

− ⋅Yq ⋅PYq ⋅Yq<br />

⎣ 2 ⎥<br />

. (4.161)<br />

⎦<br />

{ }<br />

pk<br />

unde, ; ( ; )<br />

I76 . Funcţia de repartiţie (probabilitatea)<br />

se notează,<br />

iar funcţia de repartiţie devine:<br />

Y = Y p k = 1→ m . (4.162)<br />

q q<br />

pk<br />

−15<br />

.<br />

Y<br />

( ) ( ) 12 q ⎡ 1 T ⎤<br />

F Yq = 2⋅π ⋅σYq ⋅∫ exp Yq PYq Yq dY<br />

−∞ ⎢<br />

− ⋅ ⋅ ⋅ ⋅ q<br />

⎣ 2 ⎥ . (4.163)<br />

⎦<br />

( ) ( )<br />

T 2 2<br />

q Yq q q q<br />

Y ⋅P ⋅ Y = u = χ . (4.164)<br />

F<br />

2<br />

χq =<br />

pk<br />

−15 .<br />

Y 2<br />

−12<br />

q −χq<br />

2⋅π ⋅σYq ⋅∫ e<br />

−∞<br />

2 ⎛12⎞ ⋅d⎜ ⋅χq<br />

⎟.<br />

⎝2⎠ (4.165)<br />

I77 . Se calculează constanta erorilor:<br />

2 T<br />

Yq YqPYq Yq<br />

pk<br />

unde, ; ( ; )<br />

χ = ⋅ ⋅ ; (4.166)<br />

{ }<br />

(<br />

pk<br />

) ; ( ; )<br />

Y = Y p k = 1→ m ; (4.167)<br />

q q<br />

{ }<br />

2 2<br />

χYq = χYq<br />

p k = 1→ m . (4.168)<br />

I ∗ Valorile proprii ale matricelor covariante V Yq se determină astfel:<br />

I78 . Se scrie ecuaţia:<br />

Det V − χ ⋅ I = 0 . (4.169)<br />

Yq Yq 3<br />

I79 . Rezultă o ecuaţie algebrică de gradul al treilea şi având forma prezentată mai jos:<br />

3 2<br />

Yq λYq Yq λYq Yq λYq<br />

Yq<br />

A ⋅ + B ⋅ −C ⋅ + D = 0 ; (4.170)<br />

unde, AYq =− 1 ; BYqv11 v22 v33<br />

2 2 2<br />

Yq 21 32 13 11 22 11 33 22 33<br />

= + + ; (4.171)<br />

C = v + v + v + v ⋅ v + v ⋅ v + v ⋅ v ; D = σ = det V . (4.172)<br />

156<br />

Yq<br />

2<br />

Yq Yq<br />

Deoarece matricele V Yq sunt matrice simetrice, conform teoremei Kronecker, soluţiile ecuaţiei sunt reale.<br />

Aceste soluţii reprezintă valorile proprii ale matricelor covariante V Yq .<br />

I80 . Se rezolvă ecuaţia I79 . Soluţiile obţinute reprezintă valorile proprii ale matricelor V Yq , astfel:


I ∗ Vectorii proprii ortonormali ai matricelor covariante V Yq<br />

I81. Se adoptă următoarele notaţii:<br />

157<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />

λYq = ⎡⎣ λ jYq ; j = 1→3⎤⎦ . (4.173)<br />

ujYq = ⎡⎣α jY β jY γ jY ⎤⎦<br />

; j = 1→3 . (4.174)<br />

Expresia (1.61) defineşte vectorii proprii ortonormali care descriu în raport cu { nq} sau { 0} un sistem<br />

de axe principale { uYq} faţă de care se vor defini erorile cinematice principale de tip V q .<br />

UYq = ⎡⎣ ujYq ; j = 1→ 3⎤⎦<br />

. (4.175)<br />

(1.62) reprezintă matricea ( 3× 3)<br />

ce defineşte orientarea sistemului { u Yq}<br />

în raport cu { 0 } .<br />

I82. Se scrie ecuaţia matriceală:<br />

{ χ }<br />

Yq jYq 3 jYq<br />

T<br />

v − ⋅I ⋅ u = 0 . unde, j = 1→ 3<br />

(4.176)<br />

I83. Ecuaţia I82. se rezolvă pentru fiecare j = 1→ 3 . Soluţiile obţinute sunt componentele vectorilor<br />

proprii ortonormali u jYq :<br />

( v ) ( v ) v<br />

v v v ( v )<br />

v v v ( v )<br />

jYq 22 jYq 33 jYq<br />

2<br />

32<br />

α = −λ ⋅ −λ − ; (4.177)<br />

β = ⋅ − ⋅ − λ ; (4.178)<br />

jYq 23 31 21 33 jYq<br />

γ = ⋅ − ⋅ − λ . (4.179)<br />

jYq 21 32 31 22 jYq<br />

unde, j = 1→ 3 , λ jYq ∈ I80 iar ( v ij ∈VYq) ∈ I70<br />

I84. Se scrie matricea orientării sistemelor principale ale erorilor:<br />

I85. Se notează:<br />

U<br />

⎡α1Yq α2Yqα3Yq⎤ =<br />

⎢<br />

β β β<br />

⎥<br />

⎢ ⎥<br />

. (4.180)<br />

Yq 1Yq 2Yq 3Yq<br />

⎢<br />

⎣γ1Yq γ2Yqγ3Yq⎥ ⎦<br />

zYq = ⎡⎣ z1Yq z2Yq z3Yq<br />

⎤⎦<br />

. (4.181)<br />

variabila vector a erorilor cinematice în raport cu sistemul principal { u Yq}<br />

Locul geometric al punctului definit de z Yq în raport cu sistemul { 0} sau { nq} reprezintă un elipsoid al<br />

T


MODELAREA ERORILOR CINEMATICE .I.<br />

erorilor (hipersferă), iar în raport cu { uYq} este un elipsoid principal al erorilor.<br />

I86. Modulul vectorului z Yq este dat de expresia:<br />

Orientarea vectorului z Yq în raport cu { 0} este definită prin ecuaţia:<br />

z<br />

Yq<br />

[ α β γ ]<br />

λYq<br />

= , unde λYq ∈ I77<br />

(4.182)<br />

Y<br />

q<br />

Y<br />

c c c U ⎣z z z ⎦ (4.183)<br />

T T<br />

q<br />

z z z = ⋅ Yq ⋅⎡1Yq 2Yq 3Yq ⎤<br />

χYq<br />

I87. Se scrie ecuaţia elipsoidului principal al erorilor în forma prezentată mai jos:<br />

2 2 2<br />

1Yq<br />

2<br />

2Yq<br />

2<br />

3Yq<br />

2<br />

2<br />

χYq<br />

1Yq 2Yq 3Yq<br />

z z z<br />

= = = . (4.184)<br />

λ λ λ<br />

Acest elipsoid se consideră o suprafaţă de probabilitate egală şi caracterizează, în spaţiul cartezian al<br />

stărilor, domeniul statistic al erorilor cinematice de tip Y q .<br />

I88. Se determină semiaxele elipsoidului principal al erorilor:<br />

⎧Y<br />

⎪<br />

⎨Y<br />

⎪<br />

⎩Y<br />

= λ ⋅λ;<br />

= λ ⋅ λ ;<br />

= λ ⋅ λ .<br />

1q 1Yq Yq<br />

2q 2Yq Yq<br />

3q 3Yq Yq<br />

I89. Se calculează volumul elipsoidului principal al erorilor:<br />

V<br />

eYq<br />

3<br />

Yq 1Yq 2Yq 3Yq<br />

158<br />

(4.185)<br />

4 ⋅π<br />

= ⋅λ⋅λ ⋅λ ⋅ λ . (4.186)<br />

3<br />

I .<br />

∗ Se determină probabilitatea ca vectorul erorilor cinematice de tip V q să fie situat în interiorul elipsoidului<br />

erorilor. Se introduce repartiţia χ . Noua variabilă aleatoare χ este de forma I77 , posedă N = 3g. d. l şi<br />

are dispersia σ = 1 .<br />

2<br />

I90. Se calculează funcţia densităţii de probabilitate pentru variabila<br />

N<br />

N −1<br />

2<br />

−1<br />

2<br />

χ<br />

2<br />

−<br />

2 ( ) 2 ⎛N⎞ ⎛χ⎞ −<br />

f χ = 2 ⋅Γ e 2<br />

⎜ ⎟ ⋅⎜ ⎟ ⋅ , unde N = 3<br />

⎝ 2 ⎠ ⎝ 2 ⎠<br />

2<br />

2<br />

χ , conform expresiei de mai jos:<br />

, ( ) pk<br />

2 2<br />

χ χYq<br />

= ∈ I77 (4.187).<br />

⎛N⎞ ⎛N⎞ ∞ −<br />

y<br />

Γ⎜ ⎟ reprezintă funcţia gama care prezintă următoarea proprietate: Γ y 2<br />

⎜ ⎟=<br />

⋅e ⋅dy<br />

⎝ 2 ⎠ ⎝ 2 ⎠ ∫ . (4.188)<br />

0<br />

N 1


Ținând seama de faptul că N = 3 , rezultă: Γ ( 1. 5) = 0. 88623 .<br />

I91. Probabilitatea (funcţia de repartiţie teoretică) se determină cu expresia:<br />

( α) ( χ χ ) ( χ )<br />

159<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />

N<br />

−N −1<br />

1 2<br />

2 2<br />

−<br />

2<br />

χ<br />

2<br />

2 2 2 N χ χ χ<br />

2 ⎛ ⎞<br />

−<br />

2<br />

Yq ∫ 0<br />

⎛ ⎞ ⎛ ⎞<br />

1− ≡ P ≤ ≡ F = 2 ⋅Γ⎜ ⎟ ⋅ ⎜ ⎟ ⋅e ⋅d⎜<br />

⎟.<br />

(4.189)<br />

⎝ 2 ⎠ ⎝ 2 ⎠ ⎝ 2 ⎠<br />

unde, ( ) pk<br />

2 2<br />

χYq χYq<br />

I77<br />

≡ ∈ .<br />

I92. Dacă D = DI,<br />

se trece la pasul I102 . În caz contrar, D = { D ; D } şi urmează I93 .<br />

.<br />

I93 Dacă II<br />

II III<br />

D = D , se trece la pasul I95 . În caz contrar, D = DIII<br />

şi urmează pasul I94 .<br />

I94. Dacă k = m , urmează I96 . În caz contrar, k = k+ 1 si urmează pasul I28 .<br />

I95. Dacă k = m , urmează I96 . În caz contrar, k = k+ 1 si urmează pasul I18 .<br />

I96. Se calculează max / min pentru erorile cinematice de tip<br />

elipsoidului erorilor simbolizat<br />

pk<br />

VeYq ∈ I89 :<br />

pk<br />

Yq∈ I67 precum şi pentru volumul<br />

⎧ p pk<br />

max Y<br />

( )<br />

q = max ⎡Y ;<br />

min ( min)<br />

q k = 1 → m⎤<br />

⎪<br />

⎣ ⎦ ; (4.190)<br />

⎨<br />

p pk<br />

⎪max V max ;<br />

( min) eYq = ⎡V ( min)<br />

eYq k = 1 → m⎤<br />

⎩<br />

⎣ ⎦<br />

I97. Corespunzător valorilor max / min∈ I96 , se memorează ecuaţia elipsoidului determinată la pasul<br />

I87, erorile principale evidenţiate la pasul I88 , precum şi valoarea probabilităţii ( ) p<br />

1−α∈ I91.<br />

I98 . Dacă p= m,<br />

urmează pasul I99 . În caz contrar, p= p+ 1 şi se revine la pasul I5 .<br />

I99. Se calculează valorile max / min pentru erorile cinematice de tip<br />

erorilor<br />

p<br />

veYq ∈ I96 , conform expresiilor:<br />

⎧ p<br />

maxY ( )<br />

q = max⎡ max Y<br />

min ( min) ( min)<br />

q ; p = 1 → m⎤<br />

⎪ ⎣ ⎦<br />

⎨<br />

p<br />

⎪max<br />

v max max ;<br />

( min) eYq = ⎡ v<br />

( min) ( min)<br />

eYq p = 1 → m⎤<br />

⎩<br />

⎣ ⎦<br />

q<br />

p<br />

Y q şi pentru volumul elipsoidului<br />

(4.191)<br />

I100 . Corespunzător valorilor max / min∈ I99 , se memorează ecuaţiile elipsoidului definite la pasul I87 ,<br />

erorile principale de la pasul I88 şi valoarea max / min a probabilităţii ( 1 − α ) q .<br />

I101 . Se trece la pasul I105 .<br />

I102. Dacă p = m,<br />

urmează I103 . În caz contrar, p= p+ 1 şi urmează pasul I5<br />

.


MODELAREA ERORILOR CINEMATICE .I.<br />

I103. Se calculează valorile max / min ale erorilor de tip<br />

sistemul:<br />

160<br />

p<br />

Y q şi al volumului<br />

⎧ p<br />

max Y<br />

( )<br />

q = max ⎡Y ;<br />

min ( min)<br />

q k = 1 → m⎤<br />

⎪<br />

⎣ ⎦<br />

⎨<br />

p<br />

⎪max V max ;<br />

( min) eYq = ⎡V ( min)<br />

eYq k = 1 → m⎤<br />

⎩<br />

⎣ ⎦<br />

p<br />

V eYq , după cum rezultă din<br />

(4.192)<br />

I104. Se memorează, corespunzător valorilor max / min∈ I103 ecuaţiile elipsoidului determinate anterior la<br />

pasul I87 , respectiv erorile principale definite cu I88 şi valoarea max / min a probabilităţii ( 1 − α ) q .<br />

I105. Domeniul cuprins între suprafeţele de probabilitate egală ( 1 − α ) q min şi ( 1 − α ) q max este dat de:<br />

( 1−α) ≤ D ≤ ( 1−<br />

α)<br />

(4.193)<br />

qmin eq<br />

qmax<br />

Relaţia (1.80) reprezintă domeniul statistic al erorilor cinematice de tip Y q .<br />

I106 . Dacă DS ≡ DDH<br />

, urmează pasul I107 . În caz contrar, urmează pasul I108 .<br />

I107 . Dacă se doreşte calculul domeniului statistic în funcţie de erorile de tip PG, atunci se scrie DS ≡ DPG<br />

si se revine la pasul I4 . În caz contrar, urmează I108 .<br />

I .<br />

∗ Estimarea mediei şi dispersiei erorilor cinematice de tip Y q .<br />

I108 . În acest scop se aplică metoda verosimilităţii maxime. Funcţia de verosimilitate maximă în formă<br />

matriceală, este dată de:<br />

m 3 2 1 1<br />

k<br />

T<br />

k k<br />

( q Yq) =− ⋅ ⋅ ( ⋅π ⋅ σYq)<br />

+ ⋅ Yq − ⋅∑ ( q − q) ⋅ Yq ⋅( q − q)<br />

ln L Y ; V m ln 2 ln P Y Y P Y Y<br />

2<br />

2 2 2 ⋅<br />

k 2 k<br />

q Yq Yq Yq<br />

unde, Y ∈I67; σ ∈I71; P ∈I73; P ∈ I74 .<br />

σ Yq k= 1<br />

I109. Se impune următoarea condiţie:<br />

∂lnL = 0; ∂Y ∂lnL = 0; ∂Y ∂lnL<br />

= 0<br />

∂Y<br />

qx qy qz<br />

. (4.194)<br />

. (4.195)<br />

I110. Din I108 - I109 rezultă media pentru componentele carteziene ale vectorilor erorilor cinematice:<br />

Y<br />

=<br />

m<br />

∑<br />

k k k k k k<br />

( Yqx ⋅ p11 + Yqy⋅ p12+ Yqz ⋅p13)<br />

k= 1<br />

qx m<br />

Y<br />

=<br />

m<br />

∑<br />

∑<br />

k= 1<br />

p<br />

k<br />

11<br />

k k k k k k<br />

( Yqx ⋅ p21+ Yqy ⋅ p22+ Yqz ⋅p23)<br />

k= 1<br />

qy m<br />

∑<br />

k= 1<br />

p<br />

k<br />

22<br />

; (4.196)<br />

; (4.197)


I111. Se notează cu<br />

Y<br />

=<br />

m<br />

∑<br />

k k k k k k<br />

( Yqx ⋅ p31 + Yqy ⋅ p32 + Yqz ⋅p33<br />

)<br />

k= 1<br />

qz m<br />

T<br />

∑<br />

k= 1<br />

p<br />

161<br />

k<br />

33<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong> …<br />

Yq = ⎡<br />

⎣Yqx Yqy Yqz⎤<br />

⎦ , vectorul mediei erorii cinematice Y q .<br />

I112. Media erorii cinematice Y q , este dată de relaţia:<br />

I113. Se impune condiţia:<br />

( ) 1<br />

2 2 2 2<br />

q qx qy qz<br />

. (4.198)<br />

Y = Y + Y + Y . (4.199)<br />

∂ lnL<br />

= 0<br />

∂σ<br />

I114. Din I108 şi I113 rezultă dispersia de selecţie a erorilor cinematice Y q :<br />

σˆ<br />

2<br />

Yq<br />

( Y Y ) P ( Y Y )<br />

m T<br />

2 k k k<br />

Yq = ⋅ q − q ⋅ yq ⋅ q − q<br />

3 m 3 k= 1<br />

(4.200)<br />

1<br />

⋅ − ∑ . (4.201)<br />

I115. Pentru a evita influenţa erorilor sistematice în calculul dispersiei, se utilizează relaţia:<br />

σ<br />

( Y Y ) P ( Y Y )<br />

1<br />

− ∑ . (4.202)<br />

m T<br />

2 k k k<br />

Yq = ⋅ q − q ⋅ yq ⋅ q − q<br />

3m 3 k= 1<br />

I116 . se calculează eroarea medie pătratică cu expresia următoare:<br />

σ<br />

( ) ( ) 1<br />

k k k<br />

Y Y P Y Y<br />

⎧ 1<br />

⎫<br />

∑ . (4.203)<br />

⎩ ⎭<br />

m T 2<br />

Yq =± ⎨ ⋅ q − q ⋅ Yq ⋅ q − q ⎬<br />

3m − 3 k= 1<br />

I117 . Se calculează eroarea medie pătratică ponderată, a mediei erorilor Y q :<br />

σYq σ = ; Yqx ⎛ m<br />

k ⎞<br />

⎜∑p11 ⎟<br />

⎝ k= 1 ⎠<br />

σYq σ = ;<br />

Yqy⎛ m<br />

k ⎞<br />

⎜∑p22⎟ ⎝ k= 1 ⎠<br />

σYq<br />

σ =<br />

. Yqz<br />

⎛ m<br />

k ⎞<br />

⎜∑p33 ⎟<br />

⎝ k= 1 ⎠<br />

(4.204)<br />

I118 . Pentru m cunoscut, ( 1 −α) q ∈ I105 şi pentru o valoare γ impusă, din matricea Mk∈ I41 se<br />

determină factorul de toleranţă k Yq pentru fiecare max Y<br />

( )<br />

q .<br />

I119 . În continuare, se stabileşte intervalul de toleranţă pentru erorile cinematice de tip Y q , astfel:<br />

min<br />

T = Y −k ⋅ σ ; T = Y + k ⋅ σ . (4.205)<br />

1Yq q Yq Yq 2Yq q Yq Yq<br />

T<br />

I120 . Se scrie: 1Yq ≤ Yq≤T2Yq. (4.206)


5. MODELAREA ERORILOR DE DISTRIBUȚIE A MASELOR<br />

5.1 Matricele erorilor cinematice<br />

Structura mecanică conține alături de erorile geometrico – cinematice și erorile de tip DM (distribuția<br />

maselor). Acestea din urmă realizează conexiunea dintre parametrii nominali (fără erori) și cei reali de tip<br />

DM, după cum reiese și din Fig. 5.1. Ea conține elementele { ir} și { in} respectiv de tip DH { iDn } .<br />

Modelul matematic se bazează pe matricea<br />

Elementul ir z i+ 1<br />

Fig. 5.1 Reprezentarea r<br />

C<br />

erorilor de tip DH<br />

i<br />

r<br />

0<br />

Fig. 5.1 Reprezentarea erorilor de tip DH<br />

q<br />

M DMG a parametrilor de tip DM, respectiv pe algoritmul de<br />

modelare a distribuției maselor. Astfel, poziția centrului maselor pentru fiecare element iq { in; ir}<br />

la { }<br />

iDn se exprimă cu ecuația matriceală prezentată mai jos:<br />

unde<br />

162<br />

T<br />

= , relativ<br />

q<br />

rCi =<br />

iDn<br />

[ ] i<br />

iq T ⋅<br />

q<br />

rCi i q<br />

= ⎡<br />

⎣<br />

xCiD i q<br />

y CiD i q<br />

zCiD 1⎤<br />

⎦<br />

. (5.1)<br />

iq [ T ] reprezintă matricea de transformare omogenă între sistemele { iDn} → { iq}<br />

.Ținând cont de<br />

iDn<br />

expresia (5.1), eroarea geometrică a poziției centrului maselor relativ la { }<br />

iDn se determină cu ecuația:<br />

i<br />

Δ rCiD i r<br />

= rCiD i n<br />

− rCiD i<br />

= ⎡<br />

⎣<br />

Δ xCiD i<br />

Δ yCiD i<br />

Δ z ⎤ CiD<br />

⎦<br />

. (5.2)<br />

Eroarea de masă poate fi stabilită astfel:<br />

Δ M =<br />

r<br />

M<br />

n<br />

− M . (5.3)<br />

i i i<br />

i * q * q * q<br />

Se scrie tensorul inerțial: Ii Matrix( I jk Ikj , j 1 3, k 1 j)<br />

unde,<br />

r<br />

0i<br />

{ ir}<br />

n<br />

z i<br />

n<br />

0i<br />

z<br />

n<br />

iD<br />

n<br />

01D<br />

i r<br />

rC<br />

i<br />

{ in}<br />

{ 1Dn}<br />

1D r<br />

rC<br />

i<br />

i n<br />

rC<br />

i<br />

1D n<br />

rC<br />

i<br />

n<br />

y iD<br />

n<br />

x iD<br />

( )<br />

Δ<br />

= = = → = → . (5.4)<br />

* q<br />

T<br />

i * q i * q i * q i * q i * q i * q<br />

T<br />

jk , = → , = → = x − yx y − zx − zy z<br />

⎡I j 1 3 k 1 j⎤ ⎡ I I I I I I ⎤<br />

⎣ ⎦ ⎣ ⎦ . (5.5)<br />

( )<br />

1D r<br />

rC<br />

i<br />

i+ 1<br />

Elementul ( in)<br />

r<br />

z<br />

0<br />

n<br />

i+ 1<br />

n<br />

i+ 1


<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

Aplicând legea de variație a tensorului inerțial în raport cu axe concurente, se obține tensorul inerțial<br />

al elementului ( iq ) relativ la un sistem cu originea în centrul maselor, având aceeași orientare cu { iDn } :<br />

( , , ) iq [ ] iq [ ]<br />

i * q * q * q iDn i * q iDn 1<br />

iD jkD kjD i<br />

I Matrix I I j 1 3 k 1 j R I R −<br />

= = = → = → = ⋅ ⋅ . (5.6)<br />

Tensorul inerțial<br />

i **<br />

iD<br />

I al elementului real { ir } , se va calcula în raport cu sistemul cu aceeași orientare<br />

cu { }<br />

iDn , având originea în centrul maselor elementului nominal ( )<br />

in , după cum urmează:<br />

unde, { }<br />

( ) { }{ }<br />

** ** **<br />

I = Matrix I = I ; j = 1→ 3, k = 1→ j = I + M ⋅ Δ r × Δ r × . (5.7)<br />

i i i i r r i i<br />

iD jkD kjD iD i CiD CiD<br />

i<br />

rC<br />

iD<br />

i<br />

rC<br />

iD<br />

Δ × este matricea antisimetrică asociată vectorului<br />

și (5.7), eroarea tensorului inerțial se stabilește cu ecuația matriceală:<br />

( ; , )<br />

T<br />

i * q<br />

I iD<br />

Δ . Ținând seama de expresiile (5.6)<br />

i *<br />

IiD Matrix<br />

*<br />

I jkD<br />

*<br />

IkjD j 1 3 k 1 j<br />

i *<br />

IiD i *<br />

IiD<br />

*<br />

jkD , ,<br />

T<br />

i *<br />

xD<br />

i *<br />

yxD<br />

i *<br />

yD<br />

i *<br />

zxD<br />

i *<br />

zyD<br />

i *<br />

zD<br />

T<br />

Δ = Δ =Δ = → = → = − . (5.8)<br />

unde, ⎡Δ I j = 1→ 3 k = 1→ j⎤ = ⎡ΔI −Δ I Δ I −Δ I −Δ I Δ I ⎤<br />

⎣ ⎦ ⎣ ⎦ .(5.9)<br />

Rezultatele obținute sunt incluse în matricea erorilor de tip DM relativ la sistemul de tip DH, de aceeași<br />

orientare cu { iDn } , având însă originea în centrul maselor elementului nominal. Dimensiunea ei este<br />

( n× 10)<br />

iar forma este prezentată în continuare:<br />

( )<br />

* ⎡ i<br />

T<br />

i *<br />

⎤<br />

EDM =<br />

⎡<br />

M i rCI ⎤<br />

⎢<br />

Δ Δ Δ D , i 1 n<br />

iD δ = →<br />

⎣⎢⎣ ⎥⎦<br />

⎥<br />

; (5.10)<br />

⎦<br />

i * i * i * i * i * i * i *<br />

Δ IδD= ⎡ IxD IyD IzDIxyD IyzD I ⎤<br />

⎣<br />

Δ Δ Δ Δ Δ Δ zxD ⎦<br />

. (5.11)<br />

Tensorul pseudoinerțial este aplicat în cadrul ecuațiilor dinamice Lagrange – Euler. Pentru modelarea<br />

preciziei dinamice, eroarea tensorului pseudoinerțial trebuie cunoscută în raport cu sistemul { iDn } . De<br />

aceea, tensorul inerțial<br />

i q<br />

I iD al elementului ( iq ) se calculează față de { iDn } , astfel:<br />

( , , ) { }{ }<br />

i q<br />

IiD Matrix<br />

q<br />

I jkD<br />

q<br />

IkjD j 1 3 k 1 j<br />

i q<br />

IiD q<br />

M i<br />

i q<br />

rCiD i q<br />

rCiD<br />

i q<br />

i q<br />

r C × reprezintă matricea antisimetrică asociată vectorului r<br />

iD<br />

C .<br />

iD<br />

unde, { }<br />

= = = → = → = + × × (5.12)<br />

Se scrie tensorul pseudoinerțial<br />

i q<br />

I p siD al elementului ( iq ) în raport cu sistemul { iDn } . Acesta<br />

reprezintă o matrice pătrată de dimensiuni ( 4× 4)<br />

, simetrică și pozitiv definită, având forma:<br />

unde,<br />

i q q q<br />

psiD kjD jkD<br />

( , , )<br />

I = Matrix I = I j = 1 → 4 k = 1 → j<br />

(5.13)<br />

⎧ T<br />

⎡ q<br />

IkjD , j 1 4, k 1 j⎤<br />

⎫<br />

⎪ ⎣ = → = → ⎦ =<br />

⎪<br />

⎨ ⎬.<br />

(5.14)<br />

i q i q i q i q i q i q q i q q i q q i q q<br />

⎪= ⎡ IxxIyx Iyy Izx Izy Izz ( M i ⋅ xCiD ) ( Mi⋅ yCiD ) ( Mi⋅ zCiD ) M ⎤<br />

i ⎪<br />

⎩ ⎣ ⎦⎭<br />

T


i<br />

Eroarea Δ I în raport cu sistemul { iDn } , este:<br />

iD<br />

( , , )<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

i i r i n<br />

IiDMatrix I jkD IkjD j 1 3 k 1 j IiD IiD<br />

Δ = Δ = Δ = → = → = − . (5.15)<br />

Ținând seama de ecuațiile (5.12) – (5.14), eroarea tensorului pseudoinerțial relativ la { }<br />

iDn se<br />

determină cu ajutorul ecuației matriceale:<br />

( , , )<br />

i i r i n<br />

IpsiD Matrix IkjD I jkD j 1 4 k 1 j IiD IiD<br />

Δ = Δ = Δ = → = → = − . (5.16)<br />

Rezultatele sunt incluse în matricea erorilor de tip DM, raportată la sistemul { iDn } . Matricea are<br />

dimensiunea ( n× 10)<br />

și forma prezentată mai jos:<br />

i<br />

T<br />

i ( ) δ ,<br />

⎡ ⎤<br />

EDM =<br />

⎡<br />

M i rCI ⎤<br />

⎢⎢Δ Δ Δ<br />

iD<br />

D ⎥ i = 1→ n<br />

⎣⎣ ⎦ ⎥<br />

; (5.17)<br />

⎦<br />

unde,<br />

i<br />

Δ IδD i<br />

= ⎡<br />

⎣Δ IxD i<br />

Δ IyD i<br />

Δ IzD i<br />

Δ IxyD i<br />

Δ IxzD i<br />

Δ I ⎤ yzD ⎦ . (5.18)<br />

Acest model matematic este inclus în cadrul algoritmului MecROb. Astfe, aplocând funcțiile de meniu:<br />

CONFIGURAȚII, PARAMETRII DM, respectiv ERORI, aparținând aceluiași MecROb, se obțin matricele<br />

generalizate ale parametrilor și erorilor de tip DM, notate<br />

unde,<br />

q<br />

M MDQ și EMDQ după cum urmează:<br />

⎧ T<br />

⎡ q<br />

M MDQ ; k = 1 → m ⎤<br />

⎪ ⎣ ⎦<br />

⎪ *<br />

M = M = ⎡⎡M ( r ) T I ⎤ i = 1 → n⎤<br />

⎣ ⎦<br />

q q q i q i q<br />

MDQ ⎨ MDQk ⎣ ik CiQk δ Qk ⎦<br />

,<br />

⎪ ( n× 10)<br />

⎪ i * q i * q i * q i * q i * q i * q<br />

IδQk = I xk I yk I xyk I yzk I zxk<br />

⎪<br />

⎡ ⎤<br />

⎩ ⎣ ⎦<br />

i * q i * q * q * q<br />

Qk iQk<br />

( jlk ljk , , )<br />

T<br />

; (5.19)<br />

Iδ⊂ I = M atrix I = I j = 1 → 3 l = 1 → j ; (5.20)<br />

⎧ T<br />

⎡E MDQ ; k = 1 → m⎤<br />

⎪ ⎣ ⎦<br />

⎪<br />

E = E = ⎡ ΔM ( Δ r ) T Δ I i = 1 → n⎤<br />

⎣ ⎦<br />

T<br />

i i<br />

MDQ ⎨ ⎡ MDQk ε ⎤ ⎡ ⎤<br />

MDQk ⎣ ik CiQk δ Qk ⎦ ,<br />

⎪ ⎢⎣ ( n× 10)<br />

⎥⎦<br />

⎪ i i i i i i i<br />

Δ IδQk= Δ I xk Δ I yk Δ I zk Δ I xyk Δ I yzk Δ I zxk<br />

⎪<br />

⎡ ⎤<br />

⎩ ⎣ ⎦<br />

i i<br />

δ Qk iQk jlk ljk<br />

( 3× 3)<br />

( , , )<br />

T<br />

. (5.21)<br />

Δ I ⊂ Δ I = Matrix Δ I = Δ I j = 1 → 3 l = 1 → j ; (5.22)<br />

i<br />

M DQ psiQ k<br />

( )<br />

jlk ljk<br />

4× 4<br />

( , , )<br />

E ⊂ Δ I = Matrix Δ I = Δ I j = 1 → 4 l = 1 → j (5.23)<br />

În concluzie, din punct de vedere al distribuției maselor (DM), studiul preciziei roboților poate fi realizat<br />

cu ajutorul matricelor generalizate. Pentru aceasta, componentele lor ale căror expresii sunt anterior<br />

definite, trebuie luate obligatoriu în considerare.


6. MODELAREA ERORILOR DINAMICE<br />

6.1 Modelarea erorilor dinamice<br />

Se consideră structura mecanică a unui robot cu n g.d.l., formată din (n+1) elemente rigide, legate între<br />

ele prin (n) cuple cinematice motoareR rotatie ; T prismatice<br />

. Erorile tip DH şi tip DM determină<br />

abateri de la valorile nominale pentru forţele generalizate motoare şi pentru parametrii operaţionali, ce<br />

exprimă mişcarea electorului final în spaţiul cartezian al stărilor.<br />

Fig. 6.1 Reprezentarea erorilor de tip DH și DM<br />

În Fig. 6.1, sunt reprezentate erorile cinematice qi ; qi ; qi<br />

notate cu<br />

şi erorile dinamice din fiecare cuplă,<br />

i<br />

QmD<br />

. În efectorul final sunt aplicate mărimile specifice erorilor dinamice: 0; 0<br />

0 0<br />

0 0<br />

v0; 0;<br />

v0; 0<br />

i<br />

QmD<br />

d ;<br />

ce exprimă erorile de situare, viteze şi acceleraţii, în mişcarea absolută.<br />

Erorile dinamice pentru forţele generalizate motoare, variabilele generalizate şi variabilele operaţionale<br />

sunt simbolizate conform notațiilor prezentate mai jos, astfel:<br />

i Q , q , q , q<br />

0 0 0<br />

, , X , X<br />

<br />

, X<br />

,<br />

(6.1)<br />

m i i i<br />

q<br />

i<br />

q i<br />

<br />

q i i i<br />

Modelul direct al erorilor dinamice se exprimă prin intermediul următoarei ecuaţii matriceale:<br />

i<br />

k<br />

i<br />

i<br />

<br />

i<br />

<br />

Elementul i<br />

Ci<br />

Mig i 1<br />

QmD <br />

<br />

i 1<br />

0<br />

0<br />

<br />

v D<br />

D<br />

0<br />

v<br />

0<br />

D <br />

<br />

T<br />

x ix<br />

<br />

<br />

Q , , ; ; <br />

xy<br />

myk i 1 n x 1 2 3<br />

<br />

Q <br />

myk E QD <br />

<br />

<br />

<br />

x T xy<br />

y<br />

<br />

<br />

X 0 x 0 x<br />

<br />

. (6.2)<br />

, ; ; E <br />

yk v yk yk x 1 2 3 aD <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

dD<br />

D<br />

<br />

nn1 <br />

fn1 D<br />

n1


MODELAREA ERORILOR DINAMICE I.<br />

ix<br />

T<br />

⎡ x ⎡<br />

Q , , { ; ; }<br />

xy<br />

myk i 1 n x 1 2 3<br />

⎤<br />

ΔQ ⎤ ⎡ ⎤<br />

myk ⎣Δ = → = ⎦ ⎡E ( ) Q D θ ⎤<br />

⎢ ⎥<br />

⎢ ⎥<br />

= = ⎢ ⎥ ⋅ ε<br />

x T xy<br />

y<br />

⎢<br />

ɺɺ ⎢<br />

X 0 x 0 x<br />

⎥<br />

. (6.2)<br />

Δ , { ; ; } E ( )<br />

yk ⎥ ⎡Δ v yk Δ ω yk x = 1 2 3 ⎤ ⎢⎣ aD θ<br />

⎣ ⎦ ⎢<br />

ɺ ɺ<br />

⎥<br />

⎥<br />

⎣ ⎦<br />

⎦<br />

⎣ ⎦<br />

xy<br />

În expresia prezentată anterior, E ( θ ) reprezintă matricea de transfer a erorilor pentru forţe<br />

Q D<br />

generalizate motoare, având dimensiunea ( n× 17 ⋅ n)<br />

xy<br />

, E ( θ ) reprezintă matricea de transfer a erorilor<br />

pentru acceleraţii operaţionale, de dimensiune ( 6× 17 ⋅ n)<br />

iar ε y este vectorul coloană ( 17 ⋅ n× 1)<br />

al erorilor<br />

geometrice, acesta din urmă fiind exprimat în forma prezentată mai jos:<br />

Indicele y este caracterizat prin: y { p , e, g}<br />

168<br />

aD<br />

T T T<br />

y D θ DM<br />

T<br />

ε = ⎡⎣ ε ε ε ⎤⎦<br />

. (6.3)<br />

= , unde<br />

k<br />

i<br />

pk = ⎡β α a d θ<br />

ɺ<br />

θ<br />

ɺɺ<br />

θ M rCi I ⎤<br />

⎣ δ ⎦<br />

xy<br />

Elementele matricelor de erori E ( θ ) xy<br />

, E ( θ ) se definesc pe baza următorilor operatori matriceali:<br />

QD<br />

aD<br />

T<br />

. (6.4)<br />

xy xy xy xy<br />

M( θ ) ; B( θ ) ; C ( θ ) ; Q ( ) g θ ;<br />

xy<br />

i xy xy 1<br />

( ) 0<br />

; ( ) ; { 0<br />

Q ( ) }<br />

SU θ J θ J θ −<br />

⎧Δ Δ Δ Δ ⎫<br />

⎪ ⎪<br />

⎨ ⎬ . (6.5)<br />

⎪<br />

⎩ Δ Δ Δ<br />

⎪<br />

⎭<br />

Ca urmare a complexităţii ridicate a modului de stabilire a elementelor ce compun matricele de transfer<br />

a erorilor, se preferă o altă formă de exprimare a modelării directe a erorilor dinamice, obţinută pe baza<br />

ecuațiilor dinamice matriceale. În stabilirea matricelor de transfer a eroilor dinamice se porneşte de la<br />

expresia de definire a forţei generalizate motoare:<br />

unde,<br />

( ɺ ɺɺ )<br />

i i i i i<br />

Qm θ ; θ ; θ = ⎡Qm = QiF + Qg + QSU + Qfd ⋅ Δ f , i = 1 → n,<br />

⎤<br />

Qk ⎣ ⎦<br />

; (6.6)<br />

i ( n) 0 T ( n) 0<br />

Q = J ⋅ ö ; (6.7)<br />

g i X i<br />

( ) ( ) ( ) ( )<br />

Δ Q = Δ J ⋅ + J ⋅Δ<br />

ixy n 0 xyT n 0 n 0 T n 0 xy<br />

g i Xi i Xi<br />

ö ö ; (6.8)<br />

n ⎡ ( 0) n T ⎤<br />

⎡ ( n) 0 M j [ R] g<br />

( )<br />

F ⎤ ⎢ ∑ ⋅ ⋅<br />

n<br />

⎥<br />

n 0<br />

Xi j= i<br />

ö = ⎢ ⎥ ≡<br />

⎢ ⎥<br />

; X ( n) 0<br />

n<br />

i ⎢ N ⎥ ⎢ ( 0) n T ⎥<br />

X<br />

0<br />

i M<br />

( )<br />

⎢ ⎥ ⎢ j ⋅<br />

n [ R] ⋅ ⎡<br />

i 1 n<br />

( rC − p<br />

j n ) × g ⎤<br />

⎥<br />

= → ⎣ ⎦ ∑<br />

⎢ ⎥<br />

⎢ j= i<br />

⎣ ⎦<br />

⎣ ⎥⎦<br />

(6.9)<br />

⎡ ( n) 0<br />

( )<br />

Δ F ⎤<br />

n 0<br />

X i<br />

Δ ö = ⎢ ⎥ ; X ( n) 0<br />

i ⎢ Δ N ⎥<br />

X i<br />

( i = 1 → n)<br />

⎢⎣ ⎥⎦<br />

(6.10)<br />

0<br />

n<br />

xy<br />

Xi j= i<br />

j<br />

Δ F = ∑ ΔM ⋅ g ; (6.11)


( ) ( C )<br />

n n<br />

0 ⎧ xy 0 0 xy xy ⎫<br />

Δ NX = M ⎡<br />

i j rC p<br />

j n g⎤ M ⎡<br />

j r p<br />

j n g ⎤<br />

⎨ Δ ⋅<br />

⎢<br />

− ×<br />

⎥<br />

+ ⋅ Δ − Δ ×<br />

⎢ ⎥⎬<br />

⎩ j= i ⎣ ⎦ j= i ⎣ ⎦<br />

⎭<br />

∑ ∑ ; (6.12)<br />

i ( ) T ( ) ( ) ( θ ) ⎡ ⎤ ( θ )<br />

169<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

n 0 n 0 n 0 ( n) 0<br />

QSU = QSU = Ji ⋅ ö X i = 1 → n ≡ J ⋅ ö<br />

⎢ ⎥<br />

X ; (6.13)<br />

⎣ ⎦<br />

T<br />

xy<br />

i { ( n) 0 T } ( n) 0 ( n) 0 T ( n) 0 xy<br />

Δ Q = Δ J ⋅ ö + J ⋅Δ ö ; (6.14)<br />

SU i X i X<br />

i 0 T 0 ∗<br />

i = i ⋅ Xi Q ö J ö ; (6.15)<br />

xy<br />

* *<br />

( )<br />

i 0 T 0 0 T 0 xy<br />

i i Xi i Xi<br />

Δ Q ö = Δ J ⋅ ö + J ⋅Δ ö ; (6.16)<br />

n n<br />

⎡ 0 xy j * 0 [ ] [ ] j * xy<br />

⎤<br />

⎢ ∑ j ΔR ⋅ Fj + ∑ j R ⋅Δ Fj<br />

⎥<br />

⎢ j= 1 j= 1<br />

⎥<br />

⎢ n<br />

0 * ⎧ 0 xy xy 0 { ( ) [ ] j * 0 xy j * ⎫⎥<br />

Δ ö X = ⎢ C n j j j [ ]<br />

i ⎪ ∑ Δ r − Δ p × R ⋅ F + ΔR ⋅ N<br />

j<br />

j } + ⎪⎥<br />

(6.17)<br />

⎢⎪ j= 1<br />

⎪⎥<br />

⎢⎨ n ⎧ n<br />

⎬<br />

0 xy xy ⎡ 0 xy j * 0 ( ) [ ] [ ] j * xy ⎤ 0 j xy*<br />

⎫ ⎥<br />

⎢⎪ ⎪ ⎪<br />

∑⎨ rC − pn × j R Fj j R Fj j [ R] N ⎪<br />

j ⎢ Δ ⋅ + ∑ ⋅Δ ⎥ + ⋅Δ j ⎬ ⎥<br />

⎢⎪ ⎩ j= 1⎪⎩ ⎣ j= 1 ⎦<br />

⎪⎭<br />

⎪<br />

⎣ ⎭⎥<br />

⎦<br />

( ω ω ω<br />

j j )<br />

ɺ ɺ (6.18)<br />

j * j j j j j j<br />

Fj = Mj ⋅ v j + j × rC + j × j × rC<br />

( ) (<br />

⎧ j j j j j j j xy j xy j j j xy<br />

ΔMj ⋅ vɺ j + ɺ ω j × rC + ω<br />

j j × ω j × rC + M<br />

j j ⋅ Δ vɺ j + Δ ɺ ω j × rC + ɺ ω<br />

j j ×Δ r + ⎫<br />

j xy∗<br />

⎪ C j ⎪<br />

Δ Fj<br />

= ⎨ j xy j j j j xy j j j j xy<br />

⎬<br />

⎪ +Δ ɺ ω j × ω j × rC + ω<br />

j j ×Δ ω j × rC + ω<br />

j j × ω j × Δ r<br />

C j ) ⎪<br />

⎩ ⎭<br />

j xy∗ j * j j * j xy j xy j * j j xy j * j j xy j * j xy<br />

N j Ij ε j Ij ε j ω j Ij ω j ω j Ij ω j ω j Ij<br />

ω j<br />

Δ =Δ ⋅ + ⋅Δ +Δ × ⋅ + × Δ ⋅ + × ⋅Δ (6.19)<br />

⎧ j j<br />

j xy 0 T ⎧ 0 xy<br />

[ ] k 0<br />

[ ] [ ] k ⎫ ⎫<br />

j ⎪Δ ω j = j R ⋅ ⎨∑ ΔR ⋅ k<br />

k<br />

k ⋅ qɺ k + ∑ k R ⋅ kk ⋅Δ qɺ<br />

k ⎬ + ⎪<br />

0<br />

k [ ]<br />

⎪ = =<br />

⎪<br />

ω j = R kk qk<br />

;<br />

⎩ ⎭<br />

∑ ⋅ ⋅ ɺ ⎨ j<br />

⎬ (6.20)<br />

k= 1 ⎪ 0 xyT ⎧ 0 k ⎫<br />

+ j [ ΔR] ⋅⎨ k [ R] ⋅ kk ⋅q<br />

⎪<br />

k ⎬<br />

⎪ ∑ ɺ<br />

⎩ ⎩k= 1<br />

⎭<br />

⎪⎭<br />

0 k k 1 k 1<br />

0<br />

j<br />

j<br />

0<br />

∑ k k<br />

k<br />

k k<br />

j<br />

∑ k<br />

k<br />

k k<br />

k= 1 k= 1<br />

ɺ 0 0<br />

ω = ω × [ R] ⋅ k ⋅ qɺ + [ R] ⋅ k ⋅qɺɺ<br />

; (6.21)<br />

⎧ j j<br />

j xy 0 xyT ⎧ 0 0<br />

[ ] [ ] k 0<br />

[ ] k ⎫ ⎫<br />

⎪ Δ ɺ ω j = ΔR ⋅ j ⎨∑ ωk<br />

× k R ⋅ kk ⋅ qɺ k + ∑ k R ⋅ kk ⋅ qɺɺ<br />

k ⎬ + ⎪<br />

⎪ ⎩k= 1 k= 1<br />

⎭ ⎪<br />

⎪ ⎧ j j<br />

0 xy 0<br />

0 xy<br />

[ ] k 0 k ⎫⎪<br />

⎨ ⎪∑ Δ ωk × k R ⋅ kk ⋅ qɺ k + ∑ ωk<br />

× k [ ΔR] ⋅ kk ⋅ qɺ<br />

k + ⎪⎬<br />

; (6.22)<br />

⎪ 0 T<br />

[ ]<br />

⎪k= 1 k= 1<br />

⎪<br />

+ j R ⋅⎨ j j<br />

⎬<br />

⎪<br />

⎪ 0 0 0<br />

[ ] k [ ] k<br />

⎪<br />

⎪<br />

⎪ + ∑ ωk<br />

× k R ⋅ kk ⋅Δ qɺ k + ∑ k R ⋅ kk ⋅ Δqɺɺ<br />

⎪<br />

k<br />

⎪<br />

⎪<br />

⎩ ⎩ k= 1 k= 1<br />

⎪⎭<br />


MODELAREA ERORILOR DINAMICE I.<br />

0<br />

j<br />

v = ∑ A ⋅qɺ<br />

; (6.23)<br />

jQ jkQ k<br />

k= 1<br />

j j j<br />

j 0 T ⎧ xyQT<br />

[ ] xy ⎫ 0 ⎧ ⎫<br />

Δ v jQ = j R ⋅ ⎨∑ ΔAjkQ ⋅ qɺ k + ∑ AjkQ ⋅Δ qɺ k ⎬ + j [ ΔR] ⋅ ⎨∑ AjkQ ⋅qɺ<br />

k ⎬;<br />

(6.24)<br />

⎩k= 1 k= 1 ⎭ ⎩k= 1 ⎭<br />

0<br />

j j j<br />

vɺ = A ⋅ qɺɺ + A ⋅qɺ ⋅qɺ<br />

; (6.25)<br />

∑ ∑∑<br />

jQ jkQ k jklQ k l<br />

k= 1 k= 1 l= 1<br />

⎧ ⎧ j j j j<br />

xy xy ⎫ ⎫<br />

⎪ ⎪∑ ΔAjkQ ⋅ qɺɺ k + ∑ AjkQ ⋅ Δ qɺɺ k + ∑∑ ΔAjklQ ⋅qɺ k ⋅ qɺ<br />

l + ⎪ ⎪<br />

j 0 T<br />

⎪Δ [ ] k 1 k 1 k 1 l 1<br />

vɺ ⎪ = = = =<br />

⎪<br />

jQ = j R ⋅ ⎨ j j j j<br />

⎬ + ⎪<br />

⎪<br />

⎨<br />

⎪+ ∑∑ AjklQ ⋅ Δqɺ k ⋅ qɺ l + ∑∑ AjklQ ⋅qɺ k ⋅ Δqɺ<br />

⎪ ⎪<br />

l ⎬ . (6.26)<br />

⎪<br />

⎪⎩ k= 1 l= 1 k= 1 l= 1<br />

⎪⎭<br />

⎪<br />

⎪ j j j<br />

0 xyQT ⎧ ⎫ ⎪<br />

⎪ + j [ ΔR] ⋅ ⎨∑ AjkQ ⋅ qɺɺ k + ∑∑ AjklQ ⋅qɺ k ⋅qɺ<br />

l ⎬ ⎪<br />

⎩<br />

⎩k= 1 k= 1 l= 1 ⎭ ⎭<br />

În expresiile prezentate anterior,<br />

generalizată de inerţie iar<br />

i<br />

Q g şi<br />

i<br />

Q SU reprezintă forţele generalizate active,<br />

170<br />

i<br />

Qiö forţa<br />

i<br />

Q fd forţele generalizate datorate frecării vâscoase sau uscate care apar în<br />

cuplele motoare ale robotului. Expresia (6.6) mai poate fi scrisa în forma prezentata mai jos:<br />

( ) ( ) ( ) ( ) ( ) ( 2<br />

θ ;<br />

ɺ<br />

θ ;<br />

ɺɺ<br />

θ = θ ) Qk ⋅<br />

ɺɺ<br />

θ + θ<br />

ɺ<br />

Qk θ<br />

ɺ<br />

θ + θ<br />

ɺ<br />

Qk θ k + ( θ ) + ( θ )<br />

Q M B C Q Q<br />

m Qk k k<br />

g SU<br />

Pentru a obţine erorile forţei generalizate motoare, se diferențiază expresia (13.14), rezultând:<br />

xy<br />

( ) Qk ( ) Qk ( ) ( ) Qk ( )<br />

(6.27)<br />

⎧ xy<br />

xy ΔMQk ⋅<br />

ɺɺ<br />

θk + M θ ⋅Δ<br />

ɺɺ<br />

θk + ΔB θ ⋅<br />

ɺ<br />

θ<br />

ɺ<br />

θ + B θ ⋅ Δ<br />

ɺ<br />

θ<br />

ɺ<br />

θ ⎫<br />

⎪ +<br />

k k ⎪<br />

Δ QmQk<br />

= ⎨ xy ⎬ ;(6.28)<br />

( ) ( 2 ) ( ) ( 2 ) xy ( ) xy<br />

+ ΔC θ Qk ⋅<br />

ɺ<br />

θ k + C θ Qk ⋅ Δ<br />

ɺ<br />

⎪ θ k + Δ Q ( )<br />

⎩ g θ + ΔQSU<br />

θ ⎪⎭<br />

unde M ( Mij , i 1 n, j 1 n)<br />

Δ = Δ = → = → ; (6.29)<br />

⎧ ⎫<br />

⎪ Δ = Δ = Δ ⋅ ⋅ +<br />

Qk Qk<br />

⎪<br />

⎪ k = max ( i; j)<br />

⎪<br />

⎨ n n<br />

⎬ ; (6.30)<br />

⎪ k T k T<br />

+ ∑ Trace { Aki ⋅ Δ Ipsk ⋅ Akj} + ∑ Trace { ΔAki ⋅ Ipsk ⋅ ΔAkj<br />

} ⎪<br />

⎪<br />

⎩ k = max ( i; j) k = max ( i; j)<br />

⎪<br />

⎭<br />

n<br />

xy xy k T<br />

( Mij ) ( M ji ) ∑ Trace { Aki Ipsk Akj}<br />

⎡ i = 1 → n,<br />

⎤<br />

xy<br />

Δ B( θ ) Qk = ⎢2⋅ Δ Vijm, j = 1 → n −1,<br />

⎥ ; (6.31)<br />

⎢<br />

m = j + 1 → n<br />

⎥<br />

⎣ ⎦<br />

k T<br />

{ ki psk kjm}<br />

⎧ n<br />

⎫<br />

⎪ ∑ Trace ΔA ⋅ I ⋅ A +<br />

⎪<br />

xy xy ⎪ k= max ( i; j)<br />

⎪<br />

Δ ( Vijm ) = Δ ( Vimj<br />

) = ⎨ Qk Qk n n<br />

⎬<br />

⎪ k T k T<br />

∑ Trace { Aki ⋅ Δ Ipsk ⋅ Akjm} + ∑<br />

Trace { ΔAki ⋅ Ipsk ⋅ ΔAkjm}<br />

⎪<br />

⎪<br />

⎩k = max ( i; j) k= max ( i; j)<br />

⎪<br />


171<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

Ecuaţia matriceală ce caracterizează modelul dinamic invers al erorilor dinamice este exprimat astfel:<br />

{ M ( ) M ( ) }<br />

xy xy xy xy<br />

dQ k = DE Qzk ; XDF Qzk YdQk<br />

Y Δ τ Δ τ = Ε ⋅ ε ydQK ; (6.32)<br />

T T<br />

T<br />

Y dQ = { ΔQ mQ ; Δ X dQ }; Δ X dQ = ⎡Δ vɺ<br />

dQ Δ ɺ ω ⎤<br />

⎣ dQ ⎦<br />

; (6.33)<br />

xy<br />

În expresiile matriceale prezentate mai sus, { YdQk}<br />

T<br />

T T<br />

ε ydQ k = ⎡<br />

⎣ ε yQ k ε MDQ k ⎤<br />

⎦ . (6.34)<br />

Y dQ depinde de erorile forţelor generalizate motoare, Δ QmQ<br />

, iar XdQ<br />

−1<br />

( ) ( ) ( ) ( ) ( )<br />

Ε reprezintă matricea de transfer a erorilor dinamice,<br />

{ ⎡ ⎤ ⎡ ⎤ }<br />

ɺɺ ɺ ɺ ɺ ɺ ɺ<br />

;<br />

⎣ ⎦ ⎣ ⎦<br />

0 0 2<br />

Xp = J θ ⋅M θ ⋅ Qm θ −M⋅J ⋅ θ + B θ ⋅ θ ⋅θ C θ ⋅ θ<br />

Δ de variabilele operaţionale.<br />

θ { θ<br />

ɺ<br />

θ θ ⎡ ɺ<br />

θ<br />

ɺ<br />

θ ⎤ θ ⎡ ɺ<br />

θ ⎤<br />

⎣ ⎦ ⎣ ⎦ }<br />

ɺ<br />

{ ⎡ ⎤ ⎡ ⎤ }<br />

0 xy −1 −1<br />

2<br />

Δ J ⋅M( ) ⋅ Qm( ) + M⋅J ⋅Jɺ ⋅ −B( ) ⋅ ⋅ −C( ) ⋅ +<br />

0 ɺɺ 0 −1 −1<br />

2 i i<br />

Δ Xp = + J( θ ) ⋅ΔM ⋅ Qm( θ ) + M⋅J ⋅J⋅ ɺ<br />

θ −B( θ ) ⋅<br />

ɺ<br />

θ ⋅<br />

ɺ<br />

θ −C( θ ) ⋅<br />

ɺ<br />

θ −Qg − QSU<br />

+<br />

⎣ ⎦ ⎣ ⎦<br />

xy<br />

1<br />

( xy<br />

−<br />

)<br />

xy −1<br />

xy<br />

Δ Qm +ΔM⋅ Jɺ ⋅<br />

ɺ<br />

θ + M⋅Δ J ⋅Jɺ ⋅<br />

ɺ<br />

θ + M⋅ΔJɺ ⋅<br />

ɺ<br />

θ −M⋅J ⋅Jɺ ⋅Δ<br />

ɺ<br />

θ −ΔB ⋅⎡ ɺ<br />

θ ⋅<br />

ɺ<br />

θ ⎤ −<br />

0<br />

−1<br />

⎣ ⎦<br />

+ J( θ ) ⋅M( θ ) ⋅<br />

−B( θ ) ⋅<br />

( ) ( ) ( ) xy<br />

⎧ ⎫<br />

⎪ ⎪<br />

⎪ ⎪<br />

⎪ ⎪<br />

⎪ ⎪<br />

⎪ ⎪<br />

⎨ ⎬<br />

⎪<br />

⎧ ⎫<br />

⎪<br />

⎪<br />

⎪ ⎪<br />

⎪ ⎪⎪<br />

⎪ ⎨ ⎬⎪<br />

⎪ ⎪ ⎡ xy xy xy 2 ⎡ 2 ⎤ i i<br />

Δ<br />

ɺ<br />

θ ⋅<br />

ɺ<br />

θ ⎤−B θ ⋅⎡ ɺ<br />

θ ⋅Δ<br />

ɺ<br />

θ ⎤−ΔC ⋅⎡ ɺ<br />

θ ⎤ −C θ ⋅ Δ<br />

ɺ<br />

θ −ΔQg −ΔQ<br />

⎪⎪<br />

⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎢ ⎥<br />

SU<br />

⎪<br />

⎩<br />

⎪<br />

⎩ ⎣ ⎦<br />

⎪<br />

⎭⎪<br />

⎭<br />

0<br />

În expresia obţinută anterior pentru Δ X<br />

ɺɺ , forţele generalizate Δ Q şi Δ Q , se înlocuiesc cu valorile<br />

determinate anterior cu (6.8), respectiv (6.14).<br />

p<br />

Utilizând funcţiile polinomiale de interpolare, se determină legile de variaţie în raport cu timpul pentru<br />

variabilele operaţionale, exprimate în spaţiul cartezian al stărilor. Diferenţiala acestor funcţii este:<br />

0<br />

X<br />

p<br />

( τ )<br />

ɺɺ τ −τ τ −τ<br />

Δ Δ ɺ Δ ɺ ɺɺ ɺɺ<br />

= ⋅Δ + ⋅Δ ;<br />

( ) ( ) ( ) T p p-1<br />

⎡ ⎤<br />

0 0 xyT 0 xyT 0 xy 0 xy<br />

X p τ = v ndp τ ωndp τ X p 1<br />

X<br />

⎣ ⎦<br />

−<br />

p<br />

tp tp<br />

( ) ( ) 2<br />

2<br />

τ τ<br />

τ −τ<br />

p−1 i<br />

g<br />

( ) T<br />

ɺ<br />

Δ Δ Δ<br />

( τ ) ( τ ) ω ( τ )<br />

0 0 xy 0 xy<br />

X p = vndp<br />

ndp<br />

0 ɺ p− xy 0 ɺɺ xy 0ɺɺ ⎛ xy 0 xy 1 tp 0 ɺ ⎞ ⎛ xy 0 xy 1 tp<br />

0 ɺɺ ⎞ xy<br />

Δ X p = ⋅Δ X p−1 + ⋅Δ X p + ⎜Δ X p ⋅ − ⋅Δ X p ⎟−⎜ Δ X p−1 ⋅ − ⋅Δ Xp−1<br />

⎟;<br />

2⋅tp 2⋅t ⎜<br />

p<br />

tp 6 ⎟ ⎜ tp<br />

6 ⎟<br />

⎝ ⎠ ⎝ ⎠<br />

( ) ( )<br />

⎧ 3 3<br />

τ p- τ τ −<br />

⎫<br />

⎪ 0 ɺɺ xy τ p-1 0 ɺɺ xy<br />

= ⋅Δ X<br />

( ) ( )<br />

p-1 + ⋅Δ X p +<br />

⎪<br />

⎛ Δp τ ⎞ ⎛d τ ⎞ ⎪ 6 tp 6 tp<br />

⎪<br />

= ⎜<br />

( )<br />

⎟ = ⎜<br />

( )<br />

⎟ = ⎨ ⎬;<br />

⎜ ψ τ ⎟ ⎜δ τ ⎟<br />

⎝<br />

Δ<br />

⎠ ⎝ ⎠ ⎪ ⎛ 1 xy tp 0 ɺɺ ⎞ ⎛ xy 1 0 xy tp<br />

0 ɺɺ ⎞ xy ⎪<br />

⎪+ ⋅ΔX p − ⋅Δ X p ⋅( τ − τ p−1 ) + ⋅Δ X p-1 − ⋅Δ X p-1 ⋅(<br />

τ p-<br />

τ<br />

⎜ ⎟ ⎜ ⎟ ) ⎪<br />

tp 6 ⎟ ⎜ tp<br />

6 ⎟<br />

⎪⎩ ⎝ ⎠ ⎝ ⎠ ⎪⎭<br />

;<br />

i<br />

SU


MODELAREA ERORILOR DINAMICE I.<br />

unde ( ⊂ ; t = τ −τ<br />

)<br />

M −<br />

τ p τ p p p 1 , iar p<br />

0 X a fost determinat anterior cu algoritmul MGD.<br />

Prin aplicarea matricelor exponenţiale în dinamica roboţilor, matricea generalizată a erorilor dinamice se<br />

determină utilizând expresia prezentată în continuare:<br />

unde<br />

xy xy xy xy xy<br />

ΔM‹ Q = { ΔM‹ L; ΔM‹ D ; ΔM‹ G;<br />

ΔM‹<br />

ME}<br />

xy { ΔM‹ Qyk ; z = { Δm ; Δθ<br />

} ; k =1 → m }<br />

⎧<br />

xy ⎪<br />

ΔM‹ = ⎨<br />

⎪⎩ ⎫<br />

⎪<br />

⎬ ;<br />

⎪⎭<br />

(6.35)<br />

⎧ xy xy<br />

xy ⎫<br />

Δ M ( θ ) ; ΔV xy<br />

( θ ;<br />

ɺ<br />

⎪ θ ) ; Δ B(<br />

θ ) ⎪<br />

ΔM‹ Qzk = ⎨ ⎬<br />

xy xy xy xy<br />

⎪Δ C ( θ ) ; ΔQ ( θ ) ; ΔQ ; ΔQ<br />

⎪<br />

⎩ ⎭<br />

; (6.36)<br />

g SU fd<br />

Qzk<br />

xy<br />

Δ M‹<br />

Qzk reprezintă matricele diferenţiale ale erorilor dinamice în raport cu ε yQk şi ε MDQ<br />

⎧ n i−1 ⎪ ⎪⎪ ⎧⎧ ⎪⎧ ⎪⎪ ⎫⎫<br />

AT ⎪⎪ ⎫⎫<br />

Δ Mij = Δ Mji = Δ ⎨ Tr ⎨⎨exp⎨ Aj ⋅q j ⎬⎬⋅ Mij<br />

⎬⎬<br />

⎪k= max ( i; j) ⎪ ⎪ j= 0<br />

⎩ ⎪⎩ ⎩ ⎩ ⎪⎭<br />

⎪⎭<br />

⎪⎭<br />

⎪⎭<br />

∑ ∑ ; (6.37)<br />

( )<br />

exp k<br />

AT ⎧ ⎧ ⎫⎫<br />

0 k T<br />

Mij = Ai ⋅ ⎨ ⎨∑ Al ⋅ql ⎬⎬ ⋅Tk0 ⋅ Ipsk ⋅ Akj<br />

; (6.38)<br />

⎩ ⎩ l= i ⎭⎭<br />

⎧ j−1 k<br />

T ⎪⎧ ⎧ ⎫⎫<br />

⎪⎧ ⎪⎧ ⎪⎪ ⎫⎫<br />

( 0)<br />

⎪⎫<br />

Akj = ⎨⎨exp ⎨ Ai ⋅qi ⎬⎬ ⋅ Aj ⋅ ⎨exp ⎨ Al ⋅ql ⎬⎬ ⋅Tk0<br />

⎬<br />

⎪⎩ ⎩ ⎩i = 0 ⎭⎭ ⎩⎪ ⎪⎩ l= j ⎪⎭<br />

⎭⎪<br />

⎪⎭<br />

∑ ∑ ; (6.39)<br />

⎧ n i−1 ⎪ ⎡⎪⎧ ⎪⎧ ⎪⎪ ⎫⎫<br />

⎤<br />

AT ⎪<br />

⎫<br />

Δ Vijm = Δ ⎨ Tr ⎢⎨exp ⎨ Aj ⋅q j ⎬⎬ ⋅ Ai ⋅Vijm<br />

⎥ ⎬<br />

⎪k = max ( i; j; m) ⎢ ⎪ j= 0<br />

⎩ ⎣⎪⎩ ⎩ ⎪⎭<br />

⎪⎭<br />

⎥⎦<br />

⎪⎭<br />

∑ ∑ ; (6.40)<br />

k<br />

AT ⎧ ⎧ ⎫⎫<br />

( 0 ) k T<br />

Vijm = ⎨exp ⎨∑ Al ⋅ ql ⎬⎬ ⋅Tk 0 ⋅ Ipsk ⋅ Akjm<br />

. (6.41)<br />

⎩ ⎩ l = i ⎭⎭<br />

Erorile dinamice (6.34) sunt incluse în următoarele matrice ale dinamicii:<br />

⎡ i = 1 → n ⎤<br />

Δ M( θ ) =<br />

⎢<br />

Δ Mij = ΔMji<br />

⎣ j = 1 → n⎥<br />

; (6.42)<br />

⎦<br />

⎧<br />

⎪⎡ T ⎡⎧Vijm ⎫<br />

Δ V ( θ ;<br />

ɺ<br />

θ ) = Δ<br />

ɺ<br />

⎨⎢θ ⋅ ⎢⎨ V<br />

⎬<br />

⎪ imj<br />

⎩<br />

⎢⎣ ⎣⎩ ⎭<br />

T ⎫<br />

j = 1 → n ⎤<br />

⎤ ⎪<br />

⋅<br />

ɺ<br />

θ ; i = 1 → n<br />

m = 1 → n<br />

⎥<br />

⎥ ⎬ .<br />

⎦<br />

⎥⎦<br />

⎪⎭<br />

(6.43)<br />

În expresiile prezentate anterior, (6.42) conţine erorile dinamice ale matricei de inerţie iar (6.43) este un<br />

vector coloană care conţine matricea termenilor Coriolis şi a termenilor centrifugali. Din analiza ecuaţiilor<br />

(6.41) – (6.43), se poate observa că componentele acestora sunt scrise în formă exponenţială.<br />

astfel, eroarea dinamică a forțelor generalizate motoare poate fi definită cu ajutorul expresiilor de mai jos:<br />

T T<br />

⎧ i i<br />

i ⎪ ⎪⎧ ⎪⎫ ⎪⎫ ⎪⎧ ⎪⎧ ⎪⎫ ⎪⎫<br />

Δ Q = Δ⎨ ⎨∏Matrix { ME { V } } ⎬⋅ M ω ⎬ ⋅ + ⎨ ⎨∏Matrix { ME { V } } ⎬⋅ M ω ⎬ ⋅ Δ<br />

( i= 1→ n) ⎪⎩ ⎪⎩ j= 1 ⎪⎭ ⎪⎭ ⎪⎩ ⎪⎩ j= 1<br />

⎪⎭<br />

⎪⎭<br />

ö ö .<br />

m ij iv igX ij iv igX<br />

172<br />

T<br />

.


173<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

Conform modelului de optimizare, matricea valorilor limită (maximum-minimum) pentru erorile dinamice<br />

trebuie sa fie stabilită. Astfel, pentru x { 1; 2; 3}<br />

xy<br />

m iQ k<br />

= , y şi i = 1 → n se determină erorile diferenţiale<br />

Δ Q ce caracterizează forțele generalizate motoare din fiecare cuplă a robotului. Următorul pas<br />

constă în determinarea modulului erorilor diferențiale ale variabilelor operaţionale<br />

Dacă y { p; e}<br />

= , se stabilesc valorile minime şi maxime ale erorilor:<br />

p = ⎡⎣ pQ M rC Iδ ⎤⎦<br />

= ⎡<br />

⎣<br />

pj ; j = 1 →10<br />

⎤<br />

⎦<br />

xy { max; min } { Δ Q miQk<br />

xyj<br />

= ⎡ Q miQk ; j 1 10⎤<br />

⎣<br />

Δ = →<br />

⎦ }<br />

xy { max; min } { Δ X miQk<br />

xyj<br />

= ⎡ X miQk ; j 1 10⎤<br />

⎣<br />

Δ = →<br />

⎦ }<br />

T<br />

T<br />

xy<br />

dQ k<br />

Δ X .<br />

; (6.44)<br />

Valorile limită (maxime si minime) globale se determină conform ecuaţiilor prezentate mai jos:<br />

{ max ; min}<br />

{ ⎡<br />

⎣<br />

x<br />

; ⎤ ,<br />

⎦ { ; ; } }<br />

{ }<br />

; (6.45)<br />

. (6.46)<br />

⎧ Q mQ k Q miQ k i 1 n x 1 2 3 ⎫<br />

⎪<br />

Δ = Δ = → =<br />

⎪<br />

⎨ ⎬ ; (6.47)<br />

xp xe xg<br />

⎪{ ⎡Δ Q miQ k ; ΔQ miQ k ; Δ Q ⎤<br />

miQ k , i = 1 → n, x = 1; 2; 3<br />

⎣ ⎦<br />

} ⎪<br />

⎩ ⎭<br />

⎡ ⎤<br />

{ dQk ⎣ dQk dQk dQk<br />

⎦ }<br />

xp xe xg<br />

{ max ; min } Δ X = ΔX ; ΔQ ; Δ Q ; x = { 1; 2 ; 3}<br />

{ max; min } { Δ QmQ = ⎡Δ QmQk ; k = 1 → m⎤<br />

}<br />

{ max; min } { Δ XdQ = ⎡Δ XdQk ; k = 1 → m⎤<br />

}<br />

; (6.48)<br />

⎣ ⎦ ; (6.49)<br />

⎣ ⎦ . (6.50)<br />

Astfel, pentru orice structură mecanica de robot, indiferent de complexitatea acestuia, ecuaţiile<br />

(6.48) – (6.50) evidenţiază influenta erorilor { ; }<br />

ε ε asupra preciziei dinamice, prin intermediul erorilor<br />

Q MDQ<br />

de ordinul 1 - 3 ale forţelor generalizate motoare şi ale coordonatelor operaţionale. Rezultatele obținute sunt<br />

incluse în matricea valorilor limită pentru erorile dinamice, simbolizate astfel:<br />

{ { max;min } ; { ; ; ; } }<br />

EYdQ = ⎡<br />

⎣<br />

Values x y i k ΔQmQ ΔXdQ<br />

⎤<br />

⎦<br />

. (6.51)<br />

Precizia dinamica mai poate fi pusă în evidenţă si prin intermediul modelului statistic.<br />

În continuare, s-a optat pentru aplicarea metodei verosimilităţii maxime. Funcţia de verosimilitate<br />

maxima poate fi scrisă sub forma prezentată mai jos, astfel:<br />

m 3 2 1 1<br />

T<br />

ln ‹ ( YdQ ; VYdQ ) = − m⋅ln( 2π ⋅ σYdQ<br />

) + ln PYdQk − ⋅∑( YdQk −YdQ ) ⋅PYdQk ( YdQk −YdQ<br />

) . (6.52)<br />

2 2 2<br />

2<br />

σ YdQ k= 1


MODELAREA ERORILOR DINAMICE I.<br />

Matricea covariantă, notată cu V YdQ k şi analizată într-una din secţiunile anterioare, se determină astfel:<br />

V<br />

YdQk<br />

2<br />

unde: Vε dQ Diag ( σ jdQ ; jdQ idQ<br />

)<br />

Dispersia<br />

= = .<br />

⎧ T<br />

EYdQk V dQ E<br />

⎫<br />

⎪ ⋅ ε ⋅ YdQk<br />

⎪<br />

= ⎨Matrix ( v ijk v jik ; i 1 3; j 1 i)<br />

⎬ ; (6.53)<br />

= = → = →<br />

⎪⎩ ( 3× 3)<br />

⎪⎭<br />

2<br />

σ YdQk , matricea ponderilor P YdQk , precum şi P YdQk pentru erorile dinamice se exprimă astfel:<br />

2<br />

YdQk YdQK<br />

σ = det V ; P det V −<br />

= ; (6.54)<br />

−1<br />

YdQk YdQk ijk jik<br />

174<br />

1<br />

YdQk YdQk<br />

( ; ; )<br />

P = V = Matrix P = P i = 1 → 3 j = 1 → i<br />

(6.55)<br />

Valoarea medie a componentelor vectorului Y dQ se obţine conform relaţiilor:<br />

⎛ m 6 ⎞ ⎛ m ⎞<br />

M( YdQj ) = ⎜ YdQik ⋅ pijk ⎟ ⎜ pjjk<br />

⎟<br />

( j= 1→6) ⎝ k= 1 i= 1 ⎠ ⎝ k= 1 ⎠<br />

∑∑ ∑ ; ( dQj );<br />

Y = ⎡M Y j = 1 → 6⎤<br />

⎣ ⎦<br />

T<br />

. (6.56)<br />

Eroarea medie σ YdQ şi eroarea medie ponderată σ ce caracterizează erorile cinematice este:<br />

YdQ<br />

σ<br />

( Y Y ) P ( Y Y )<br />

m 1<br />

T<br />

= ± − ⋅ −<br />

− ∑ ;<br />

YdQ dQk dQ YdQk dQk dQ<br />

6m 6 k= 1<br />

⎧ m<br />

⎪<br />

⎫<br />

⎪ ⎛ ⎞<br />

⎨M ( YdQ j ) ⎬ = YdQ ⎜ ∑ p jjk ⎟ . (6.57)<br />

⎪ ( j = 1→ 6 ) ⎪ ⎝ k = 1<br />

⎩ ⎭<br />

⎠<br />

σ σ<br />

Luând în considerare expresia (6.57), se pot scrie în formă simbolică următoarele relaţii:<br />

T1YdQ ≤ YdQ ≤ T2YdQ<br />

; TjYdQ = − YdQ + Δ j ⋅τYdQ ⋅ σYdQ<br />

;<br />

= { m; ; ( 1−<br />

) } ; j { 1, j 1} ; { 1; j 2}<br />

τ τ γ α<br />

YdQ YdQ Q<br />

{ }<br />

Δ = − = = . (6.58)<br />

Expresiile (6.58) definesc intervalul de toleranţă pentru erorile dinamice Y dQ . Astfel, expresiile (6.58) vor<br />

conduce la optimizarea erorilor dinamice ce afectează orice structură de robot, indiferent de complexitate.


7. INFLUENȚA ERORILOR DINAMICE ASUPRA PRECIZIEI TRAIECTORIEI<br />

7.1 Matricele erorilor cinematice<br />

Studiul traiectoriei de mişcare se realizează, în general, cu ajutorul unor funcţii polinomiale notate simbolic:<br />

<br />

; <br />

h t t X t . (7.1)<br />

i i i<br />

Conform acestei relaţii, traiectoria de mişcare poate fi exprimată fie în spaţiul configurativ, fie în spaţiul<br />

cartezian al stărilor. Spre deosebire de valorile nominale ale funcţiilor polinomiale, valorile reale ale acestora<br />

prezintă anumite erori denumite erori ale traiectoriei de mişcare:<br />

<br />

<br />

hi<br />

t i t Xi<br />

t<br />

<br />

h<br />

i t i t Xi<br />

t<br />

<br />

h i t i t Xi<br />

t<br />

<br />

; <br />

<br />

<br />

;<br />

<br />

; <br />

<br />

. (7.2)<br />

Pentru evitarea coliziunii cu obstacolele existente în spaţiul de lucru geometric al robotului, la<br />

planificarea (generarea) traiectoriei de mişcare se introduc o mulţime de puncte intermediare între punctul<br />

iniţial <br />

1 1<br />

h t şi punctul final h t .<br />

m m<br />

Fig. 7.1<br />

Astfel, procedând întocmai ca în cazul valorilor nominale şi în cazul erorilor de traiectorie se impun<br />

respectarea condiţiilor restrictive privind:


INFLUENȚA ERORILOR DINAMICE ASUPRA PRECIZIEI TRAIECTORIEI DE MIȘCARE .I.<br />

Trecerea prin puncte impuse,<br />

Continuitatea în viteze şi acceleraţii<br />

<br />

<br />

h t q t ; j 1 n , i 1 m . (7.3)<br />

ji i ji i<br />

<br />

<br />

h ji<br />

<br />

h<br />

ji<br />

t<br />

t<br />

h<br />

ji<br />

1<br />

h<br />

ji<br />

1<br />

t<br />

t<br />

Eroarea de poziţie, viteză şi acceleraţie<br />

- în punctul iniţial,<br />

- în punctul final,<br />

j1 j1 j1 j1 j1 j1<br />

176<br />

(7.4)<br />

h q ; q v ; q a<br />

;<br />

(7.5)<br />

h q ; q v ; q a<br />

;<br />

(7.6)<br />

jm jm jm jm jm jm<br />

Existând opt condiţii restrictive, funcţia polinomială pentru erorile de traiectorie este un polinom de grad 7:<br />

7 6<br />

h t q t a t a t ... a t a . (7.7)<br />

j j<br />

Deoarece coeficienţii a k 0 7<br />

k<br />

7 6 1 0<br />

şi extremele acestor funcţii se determină cu mare dificultate,<br />

interpolarea traiectoriei se face între punctele succesive <br />

care se utilizează frecvent funcţiile spline cubice:<br />

3 2<br />

j j<br />

i şi i 1<br />

cu polinoame de grad n5 dintre<br />

h t q t a t a t a t a . (7.8)<br />

3 2 1 0<br />

Ţinând seama de aceste aspecte, în cele ce urmează se vor stabili funcţiile polinomiale ale erorilor de<br />

traiectorie prin minimizarea timpului de mişcare şi al erorilor dinamice.<br />

În acest scop se consideră cunoscute valorile nominale ale funcţiilor:<br />

respectiv, t ; t ; <br />

t<br />

ti ti1 X X t X<br />

<br />

X<br />

<br />

t X<br />

<br />

X<br />

<br />

t Q Q<br />

t<br />

<br />

<br />

; ; ; m m<br />

. (7.9)<br />

Pentru fiecare i 1 m puncte aparținând traiectoriei de mişcare, corespunzătoare momentelor<br />

se determină următoarele:<br />

respectiv, 1<br />

1<br />

<br />

<br />

T<br />

T T T<br />

X ti X Xi X <br />

<br />

m<br />

. (7.10)<br />

T<br />

T T T<br />

T<br />

ti<br />

i <br />

<br />

m <br />

, i <br />

qji ; j 1 n


Prin aplicarea modelului direct al erorilor dinamice se obţin funcţiile:<br />

respectiv, X t X t X t Q<br />

t<br />

177<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

…<br />

X t ; X <br />

t ; X <br />

t ; Qm<br />

t ; (7.11)<br />

max ; max<br />

<br />

; max<br />

<br />

; max m<br />

<br />

Prin integrarea ecuaţiilor dinamice rezultă: max t ; max t ; max<br />

t<br />

(7.12)<br />

Pentru fiecare i 1 m puncte ale traiectoriei de mişcare corespunzătoare momentelor ti ti1se determină: 1<br />

T<br />

T T T<br />

X ti X Xi X <br />

<br />

m<br />

. (7.13)<br />

T T T<br />

respectiv, ti1i <br />

<br />

m <br />

T<br />

, i <br />

qji ; j 1 n<br />

<br />

Conform ecuaţiilor de restricţii (7.2), se consideră cunoscuţi şi următorii parametri:<br />

T<br />

la momentul iniţial t 1 , qj1 ; qj1 ; q j1<br />

; j 1 n.<br />

(7.14)<br />

la momentul final t m , qjm; qj1m; qj1m; j 1 n . (7.15)<br />

Descrierea traiectoriei de mişcare într-un timp minim,<br />

m1 m1<br />

i i1i i1 i1<br />

. (7.16)<br />

T u t t<br />

se va realiza, din punct de vedere al erorilor dinamice, prin respectarea următoarelor condiţii restrictive:<br />

<br />

qji t max qj<br />

<br />

<br />

qji t max q<br />

j ; (7.17)<br />

<br />

<br />

Qjm t max Qjm<br />

Procedând în mod similar cu generarea traiectoriei de mişcare în timp minim [23], [78], pentru<br />

stabilirea funcţiilor spline cubice ale erorilor de traiectorie, se pleacă de la o funcţie liniară de timp pentru<br />

eroarea de acceleraţie:<br />

unde ui ti1ti 1 1<br />

q t t t q t tt q<br />

t . (7.18)<br />

<br />

ji i1 ji i i ji i1<br />

ui ui<br />

reprezintă timpul necesar pentru descrierea segmentului <br />

; <br />

t t t 1<br />

reprezintă timpul real;<br />

i i<br />

ji q reprezintă eroarea acceleraţiei generalizate la i<br />

t şi respectiv la i 1<br />

t .<br />

i de traiectorie;


INFLUENȚA ERORILOR DINAMICE ASUPRA PRECIZIEI TRAIECTORIEI DE MIȘCARE .I.<br />

Prin integrare succesivă de două ori a ecuaţiei (7.17) şi aplicarea condiţiilor restrictive pe capetele<br />

segmentului i de traiectorie, rezultă:<br />

respectiv,<br />

1 1<br />

q t t t q t tt q t <br />

2 2<br />

<br />

ji i1 ji i i ji i1<br />

2ui 2ui<br />

1<br />

u<br />

<br />

u<br />

6<br />

i<br />

i<br />

q 1 <br />

ji qji qjiti qjiti1 1 1<br />

q t t t q t tt q t <br />

3 3<br />

<br />

ji i1 ji i i ji i1<br />

6ui 6ui<br />

1 ui 1 u <br />

1 i<br />

q 1 ji qji tit tiqji qji ti ti1t ui 6 ui 6 <br />

unde i 1 m1; iar j 1 n.<br />

<br />

178<br />

; (7.19)<br />

Necunoscutele în ecuaţiile (7.18) – (7.20) sunt erorile acceleraţiilor generalizate q t <br />

; (7.20)<br />

în cele<br />

i 2, 3, , m1puncte<br />

intermediare ale traiectoriei de mişcare. Ele se vor determina prin scrierea<br />

condiţiilor de continuitate în viteze:<br />

Astfel, rezultă un sistem de 2<br />

unde A<br />

<br />

q t q<br />

t<br />

ji i1 ji1 i1<br />

m ecuaţii liniare neomogene de forma [23]:<br />

Aq b<br />

este o matrice pătrată m2m2 <br />

a coeficienţilor necunoscutelor,<br />

A11 A12A1m2 A <br />

21 A22 A2m2<br />

A <br />

<br />

.<br />

(7.21)<br />

<br />

A A A<br />

m21 m22 m2m2 ji i<br />

2<br />

u1<br />

A11<br />

3u12u2 <br />

u2<br />

2<br />

u1<br />

A21<br />

u2 ; (7.22)<br />

<br />

u2<br />

A31 Am21 0<br />

A12<br />

u2<br />

<br />

A22<br />

2 u2 u3<br />

; (7.23)<br />

A32<br />

u3<br />

A42 Am22 0<br />

A<br />

A 0<br />

<br />

A<br />

<br />

A<br />

u<br />

u u<br />

<br />

u<br />

u u<br />

u<br />

1m2 m42<br />

2<br />

m3m2 m2 m1 m2<br />

m2m2 3 m1 2 m2 2<br />

m1 m2<br />

; (7.24)


q este un vector coloană m21 un vector coloană m21 al termenilor liberi,<br />

<br />

179<br />

<strong>PRECIZIA</strong> ROBOȚILOR <strong>INDUSTRIALI</strong><br />

…<br />

T<br />

<br />

j2 2 jm1 m1<br />

<br />

<br />

al necunoscutelor, q qt q<br />

t <br />

T<br />

<br />

j1 j2 jm 2<br />

<br />

, b este<br />

b b b b<br />

; (7.25)<br />

1 1 1 1 1 2 <br />

b16 3 16 1 1 1 11 1 j qj qj qj u qj u qj u qj1<br />

u2 u1 u1 u2<br />

3 <br />

<br />

1 1 1 6 6<br />

<br />

<br />

b q q u u q q q u q<br />

<br />

2<br />

jm2 6 jm jm m1 m1 jm jm jm2 m1 jm<br />

um1 um2 3 um1 um1um2 Rezolvând sistemul (7.22), se determină elementele componente ale vectorului coloană q , adică<br />

erorile acceleraţiilor generalizate q t din cele 2<br />

ji i<br />

m puncte intermediare ale traiectoriei de<br />

mişcare. Înlocuind aceste valori în ecuaţiile (7.18) – (7.20) se obţin funcţiile polinomiale ale erorilor de<br />

traiectorie. Ţinând seama de aspectele descrise în [23], se fac notaţiile:<br />

qji tiji ; q ji ti1ji1 (7.26)<br />

Astfel, ecuaţiile (7.18) – (7.20) iau următoarele forme:<br />

1 3 1<br />

3<br />

qji t ti1t ji tti ji1 6ui 6ui<br />

;<br />

1 ui 1 ui<br />

<br />

qji1ji1tti qjijiti1t ui 6 ui 6 <br />

(7.27)<br />

1<br />

q ji t <br />

2u 2 1 2<br />

1<br />

ui<br />

ti1t ji tti ji1ti1 qji1qji ji ji1<br />

2u u<br />

6<br />

i i i<br />

unde i 1 m1; j 1 n<br />

1 1<br />

q t t t tt .<br />

(7.28)<br />

<br />

ji i1 ji i ji1<br />

ui ui<br />

Pentru descrierea traiectoriei de mişcare într-un timp minim, funcţiile polinomiale ale erorilor de traiectorie<br />

(7.27) – (7.28) trebuie să respecte condiţiile restrictive (7.17).<br />

Restricţia de eroare a vitezei este definită, pentru i 1 m1; j 1 n , prin inecuaţia:<br />

<br />

max qji max qji ti ; qji ti ; qji t <br />

i1 max q j , ti t t<br />

<br />

i1<br />

ti ti ; ti1reprezintă timpul pentru care este satisfăcută condiţia q ji ti0<br />

(7.29)<br />

ui 1<br />

ui<br />

q ji ti ji qji1qji ji ji1<br />

;<br />

2 u<br />

6<br />

(7.30)<br />

unde <br />

i<br />

ui 1<br />

ui<br />

q ji ti1 ji1 qji1qji ji ji1<br />

; (7.31)<br />

2 u<br />

6<br />

i


INFLUENȚA ERORILOR DINAMICE ASUPRA PRECIZIEI TRAIECTORIEI DE MIȘCARE .I.<br />

ui<br />

1<br />

dacă<br />

ji ji1 şi titi; ti1,<br />

ji ji1 <br />

2 ji ji1<br />

<br />

q ji ti ui 1<br />

. (7.32)<br />

<br />

ji ji1 qji1qji <br />

6<br />

ui<br />

dacă ji ji1 sau ti ti;<br />

ti<br />

1,<br />

0<br />

max j q reprezintă o valoare definită prin (7.12)<br />

Restricţia de eroare a accelerației<br />

Eroarea de accelerație fiind o funcție liniară de timp, rezultă că ea atinge valori maxime pe capetele<br />

fiecărui segment <br />

i 1m 1 de traiectorie, adică ji<br />

. Deci pentru j 1n<br />

de accelerație este definită prin inecuaţia: <br />

valoare cunoscută si data prin (7.12)<br />

Restricția de eroare dinamică a forţei generalizate motoare<br />

180<br />

restricția privind eroarea<br />

max ji ; i 1m max qji<br />

; unde max ji q este o<br />

Dacă restricțiile (7.29) sunt satisfăcute, atunci in ecuaţia erorilor dinamice, erorile de traiectorie (poziţieviteză<br />

- acceleraţie) se înlocuiesc prin ecuaţiile (7.28) - (7.30). Rezultă astfel pentru fiecare segment de<br />

traiectorie i 1m 1<br />

ecuaţiile:<br />

<br />

Qm <br />

<br />

<br />

t M <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

i i M i i B i i B i i i <br />

;<br />

i i i 2 i i g i ;<br />

<br />

<br />

(7.33)<br />

Unde Q ; m t Qjm t j 1n<br />

; ; 1 T<br />

i t qji t j n<br />

şi rezultă prin aplicarea algoritmului<br />

; 1 T<br />

i t qji t j n<br />

. (7.34)<br />

Pentru fiecare j 1n<br />

, se verifică restricţia privind eroarea dinamică a forţei generalizate motoare:<br />

<br />

2<br />

C <br />

C <br />

<br />

<br />

<br />

Q<br />

<br />

Q t max Q ;<br />

(7.35)<br />

jm jm<br />

unde max Q jm este valoare cunoscută şi definită prin (7.12)<br />

Dacă şi restricţia (7.35) este satisfăcută, atunci traiectoria de mişcare este optimă din punct de vedere<br />

al timpului T şi al erorilor dinamice. Daca una sau ambele restricţii (7.29) - (7.31) nu sunt satisfăcute<br />

pentru un segment i de traiectorie, atunci se impun valorile max j q sau/şi max j q , iar algoritmul<br />

de calcul se reia de la început. Daca restricţia (7.35) nu este satisfăcută pentru un segment <br />

i de<br />

traiectorie, atunci se impun valorile max j q , max j q , max Q jm , iar algoritmul de calcul se reia.


8.APLICAȚII PRIVIND DETERMINAREA PRECIZIEI GEOMETRICE, CINEMATICE<br />

ȘI DINAMICE A STRUCTURILOR SERIALE DE ROBOȚI<br />

Aplicaţia 1. Simularea numerică a geometriei unei structuri de tipul 5R utilizând aplicaţia SimMEcROb<br />

Simularea numerică a geometriei directe pentru o structură de tip 5R s-a realizat cu ajutorul aplicaţiei<br />

SimMEcROb. Funcţiile de comandă geometric sunt determinate în valoare numeric pentru fiecare<br />

configuraţie a robotului impusă de procesul tehnologic. Structura cinematică a robotului de tip 5R supus<br />

analizei este reprezentată în cadrul figurii 8.1.<br />

l 1<br />

0 k<br />

<br />

2<br />

0 k<br />

<br />

1<br />

l z<br />

0 0<br />

x0<br />

O<br />

q 2<br />

q 1<br />

0<br />

y 0<br />

Fig. 8.1<br />

Fig. 8.1<br />

În vederea realizării simulării numerice pentru structura de robot descrisă în figura de mai sus, se apelează<br />

valorile conţinute în matricea geometriei nominale, prezentată în tabelul de mai jos:<br />

Element Tipul cuplei<br />

l 2<br />

0 k<br />

<br />

3<br />

q 3<br />

Matricea geometriei nominale Tabelul 8.1<br />

T<br />

p i<br />

<br />

1 R 0 0 20 0 0 1<br />

2 R 0 0 200 1 0 0<br />

3 R 0 180 200 1 0 0<br />

4 R 0 360 200 1 0 0<br />

5 R 0 380 200 0 1 0<br />

6 - 0 450 200 0 1 0<br />

l 3<br />

0 k<br />

<br />

4<br />

q 4<br />

l 4<br />

q 5<br />

0 k<br />

<br />

5<br />

l 5<br />

s<br />

T<br />

k i<br />

n<br />

P<br />

a


APLICATII<br />

Matricea timpilor Tabelul 8.2<br />

τ p <br />

p=0-4<br />

0, 2, 4, 6, 8<br />

Matricea configuraţiilor nominale Tabelul 8.3<br />

Configuratia q 1<br />

2<br />

θ<br />

q 3 q 4 q 5 q<br />

<br />

0 0 0 0 0 0<br />

1 -120 -20 -40 -20 0<br />

2 -20 20 0 10 40<br />

3 20 70 -60 40 90<br />

4 80 80 -100 60 0<br />

În conformitate cu simulatorul SimMEcROb sistemele de tip PG respectiv DH se determină în formă<br />

grafică si sunt reprezentate în mod automat. Pe baza acestei aplicaţii sunt determinaţi parametrii<br />

generalizaţi de tip DH şi PG, precum şi situarea (poziţia si orientarea) efectorului final al robotului în spaţiul<br />

de lucru. De exemplu, în tabelul de mai jos sunt prezentate rezultatele simulării numerice pentru cea de-a<br />

treia configuraţie a robotului de tip 5R:<br />

Matricea parametrilor de tip PG Tabelul 8.4<br />

Element<br />

ai-1 bi-1<br />

<br />

ci-1 α i-1 β i-1<br />

<br />

γ i-1<br />

1 0 20 0 0 0<br />

2 0 0 180 -90 70 -180<br />

3 61.56 169.14 0 0 0 0<br />

4 177.26 31.25 0 0 0 0<br />

5 12.85 8.32 0 -90 40 90<br />

6 0 0 70 0 0 -137.28<br />

Matricea sistemelor de tip PG Tabelul 8.5<br />

z<br />

Element i p i x i<br />

1 1 0 0 0 1 0 0 0 1<br />

2 -0.34 0.94 0 0 0 1 0.94 0.34 0<br />

3 -0.34 0.94 0 0 0 1 0.94 0.34 0<br />

4 -0.34 0.94 0 0 0 1 0.94 0.34 0<br />

5 -0.94 -0.34 0 0.26 -0.72 0.64 -0.22 0.60 0.77<br />

6 0.51 0.74 -0.34 -0.83 0.29 -0.47 -0.22 0.60. 0.77<br />

Matricea parametrilor de tip DH Tabelul 8.6<br />

Element<br />

ai − 1<br />

α i−1<br />

i d <br />

θ i<br />

<br />

1 0 0 200 110<br />

2 0 90 0 70<br />

3 180 0 0 -60<br />

4 180 0 0 130<br />

5 0 90 20 90<br />

6 0 0 70 0<br />

181


APLICATII<br />

Matricea sistemelor de tip DH Tabelul 8.7<br />

Element p iD<br />

x iD<br />

y iD<br />

z iD<br />

1 0 0 200 -0.34 0.94 0 -0.94 -0.34 0 0 0 1<br />

2 0 0 200 -0.12 0.32 0.94 0.32 -0.88 0.34 0.94 0.34 0<br />

3 -21.06 57.85 369.14 -0.34 0.92 0.17 0.59 -0.16 0.98 0.94 0.34 0<br />

4 -81.68 224.43 400.40 0.26 -0.72 0.64 0.22 -0.60 -0.77 0.94 0.34 0<br />

5 -86.08 236.51 48.72 0.94 0.34 0 -0.26 0.71 -0.64 -0.22 0.60 0.77<br />

6 -101.47 278.79 469.35 0.94 0.34 0 -0.26 0.72 -0.64 -0.22 0.60 0.77<br />

Determinarea matricelor parametrilor de poziţie orientare pentru fiecare configuraţie a robotului<br />

Configuraţia {1} Tabelul 8.8<br />

Sistemele<br />

{ D G } T ; T<br />

x y<br />

<br />

z α β<br />

<br />

γ<br />

5DH 227.43 -131.31 -37.14 60 170 90<br />

5PG 227.43 -131.31 -37.14 60 170 0<br />

6DH 237.96 -137.39 -106.08 60 80 180<br />

6PG 237.96 -137.39 -106.08 60 -10 -90<br />

Configuraţia {2} Tabelul 8.9<br />

Sistemele<br />

{ D G } T ; T<br />

x y<br />

<br />

z α β<br />

<br />

γ<br />

5DH 121.63 334.16 333.13 160 60 130<br />

5PG 121.63 334.16 333.13 160 60 40<br />

6DH 142.36 391.13 368.13 160 -30 -140<br />

6PG 142.36 391.13 368.13 39.21 -41.56 41.93<br />

Configuraţia {3} Tabelul 8.10<br />

Sistemele<br />

{ D G } T ; T<br />

x y<br />

<br />

z α β<br />

<br />

γ<br />

5DH -86.08 236.51 48.72 -160 40 180<br />

5PG -86.08 236.51 48.72 -160 40 90<br />

6DH -101.47 278.79 469.35 -160 -50 -90<br />

6PG -101.47 278.79 439.35 110 0 50<br />

Configuraţia {4} Tabelul 8.11<br />

Sistemele<br />

{ D G } T ; T<br />

x y<br />

<br />

z α β<br />

<br />

γ<br />

5DH -212.44 37.45 328.56 -100 50 90<br />

5PG -212.44 37.45 328.56 -100 50 0<br />

6DH -265.25 46.77 373.55 -100 -40 180<br />

6PG -265.25 46.77 373.55 80 -50 90<br />

Matricele de tip PG ale transformărilor omogene ce exprimă poziţia şi orientarea sistemului { i } în raport cu<br />

sistemul { i − 1}<br />

, pentru i = 1 → 5 corespunzătoare structurii de robot analizate pot fi scrise în forma:<br />

0<br />

1<br />

⎡0. 94 − 0.<br />

34<br />

⎢<br />

0.<br />

34 0.<br />

94<br />

⎢<br />

⎢<br />

⎣<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0 ⎤<br />

0<br />

⎥<br />

20 ⎥<br />

⎥<br />

1 ⎦<br />

⎡ 0<br />

⎢<br />

0.<br />

34<br />

⎢0.<br />

94<br />

⎢<br />

⎣ 0<br />

− 0.<br />

94<br />

[ ] ⎢<br />

⎥ 1 [ ] = ⎢<br />

⎥ 2<br />

T =<br />

; T<br />

; [ T ]<br />

1<br />

0<br />

2<br />

0<br />

0.<br />

34<br />

0<br />

182<br />

1<br />

0<br />

0<br />

0<br />

0 ⎤<br />

0<br />

⎥<br />

180 ⎥<br />

⎥<br />

1 ⎦<br />

3<br />

=<br />

⎡<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎣<br />

−<br />

0.<br />

5<br />

0.<br />

87<br />

0<br />

0<br />

0.<br />

87<br />

0.<br />

5<br />

0<br />

0<br />

0<br />

0<br />

1<br />

0<br />

180 ⎤<br />

0<br />

⎥<br />

⎥ ;<br />

0 ⎥<br />

⎥<br />

1 ⎦


APLICATII<br />

3<br />

4<br />

⎡0. 77 −0.<br />

64<br />

⎢<br />

0.<br />

64 0.<br />

77<br />

⎢<br />

⎢<br />

⎣<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

180⎤<br />

0<br />

⎥<br />

0 ⎥<br />

⎥<br />

1 ⎦<br />

[ ] ⎢<br />

⎥ 4[<br />

] = ⎢<br />

⎥ 5<br />

T =<br />

; T<br />

; [ T ]<br />

1<br />

0<br />

5<br />

⎡0<br />

⎢<br />

1<br />

⎢0<br />

⎢<br />

⎣0<br />

0<br />

0<br />

1<br />

0<br />

183<br />

1<br />

0<br />

0<br />

0<br />

20⎤<br />

0<br />

⎥<br />

0 ⎥<br />

⎥<br />

1 ⎦<br />

6<br />

⎡−1<br />

⎢<br />

⎢<br />

0<br />

=<br />

⎢ 0<br />

⎢<br />

⎣ 0<br />

0<br />

0<br />

1<br />

0<br />

0<br />

1<br />

0<br />

0<br />

0 ⎤<br />

0<br />

⎥<br />

⎥ .<br />

70⎥<br />

⎥<br />

1 ⎦<br />

Matricele de tip DH ale transformărilor omogene ce exprimă poziţia şi orientarea sistemului { i } în raport cu<br />

sistemul { i − 1}<br />

, pentru i = 1 → 5 corespunzătoare structurii de robot analizate pot fi scrise în forma:<br />

0<br />

1<br />

⎡−<br />

0.<br />

34<br />

⎢<br />

0.<br />

94<br />

⎢ 0<br />

⎢<br />

⎣ 0<br />

− 0.<br />

94<br />

− 0.<br />

34<br />

0 ⎤<br />

0<br />

⎥<br />

200 ⎥<br />

⎥<br />

1 ⎦<br />

⎡0.<br />

34<br />

⎢<br />

0<br />

⎢0.<br />

94<br />

⎢<br />

⎣ 0<br />

− 0.<br />

94<br />

− 1<br />

[ ] ⎢<br />

⎥ 1[<br />

] = ⎢<br />

⎥ 2<br />

T =<br />

; T<br />

; [ T ]<br />

0<br />

0<br />

0<br />

0<br />

1<br />

0<br />

2<br />

0<br />

0.<br />

34<br />

0<br />

0<br />

0<br />

0<br />

0⎤<br />

0<br />

⎥<br />

0⎥<br />

⎥<br />

1⎦<br />

3<br />

=<br />

⎡<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎣<br />

0.<br />

5<br />

− 0.<br />

87<br />

0<br />

0<br />

0.<br />

87<br />

0.<br />

5<br />

0<br />

0<br />

0<br />

0<br />

1<br />

0<br />

180 ⎤<br />

0<br />

⎥<br />

⎥ ;<br />

0 ⎥<br />

⎥<br />

1 ⎦<br />

⎡−<br />

0.<br />

64 −0.<br />

77 0 180⎤<br />

⎡0<br />

−1<br />

0 0 ⎤ ⎡1<br />

0 0 0 ⎤<br />

⎢<br />

⎥ ⎢<br />

− −<br />

⎥ ⎢<br />

⎥<br />

3 −0.<br />

77 −0.<br />

64 0 0<br />

[ ] ⎢<br />

⎥ 4 0 0 1 20<br />

=<br />

[ ] = ⎢<br />

⎥ 5 0 1 0 0<br />

; [ T ] = ⎢<br />

⎥<br />

4 T<br />

; 5 T<br />

6<br />

.<br />

⎢ 0 0 1 0 ⎥ ⎢1<br />

0 0 0 ⎥ ⎢0<br />

0 1 70⎥<br />

⎢<br />

⎥ ⎢<br />

⎥ ⎢<br />

⎥<br />

⎣ 0 0 0 1 ⎦ ⎣0<br />

0 0 1 ⎦ ⎣0<br />

0 0 1 ⎦<br />

Matricele de tip PG ale transformărilor omogene ce exprimă poziţia şi orientarea sistemului { i } în raport cu<br />

sistemul fix { 0 } , pentru i = 1 → 5 sunt următoarele:<br />

0<br />

4<br />

0<br />

2<br />

⎡−0.<br />

21<br />

⎢<br />

0.<br />

60<br />

⎢ 0.<br />

77<br />

⎢<br />

⎣ 0<br />

⎡−0.<br />

12<br />

⎢<br />

0.<br />

32<br />

⎢ 0.<br />

94<br />

⎢<br />

⎣ 0<br />

0.<br />

32<br />

−0.<br />

88<br />

0 ⎤<br />

0<br />

⎥<br />

200⎥<br />

⎥<br />

1 ⎦<br />

[ ] ⎢<br />

⎥ 0<br />

T =<br />

; [ T ]<br />

0.<br />

34<br />

0<br />

0.<br />

26<br />

−0.<br />

72<br />

0.<br />

94<br />

0.<br />

34<br />

−81.<br />

68⎤<br />

224.<br />

43<br />

⎥<br />

0.<br />

64<br />

0<br />

0<br />

0<br />

400.<br />

40⎥<br />

⎥<br />

1 ⎦<br />

0.<br />

94<br />

0.<br />

34<br />

0<br />

0<br />

⎡ 0.<br />

26 0.<br />

94<br />

⎢<br />

−0.<br />

72 0.<br />

34<br />

⎢ 0.<br />

64<br />

⎢<br />

⎣ 0<br />

0<br />

0<br />

3<br />

⎡−0.<br />

34<br />

⎢<br />

= ⎢<br />

0.<br />

92<br />

⎢ 0.<br />

17<br />

⎢<br />

⎣ 0<br />

[ T]<br />

⎢<br />

⎥ 0<br />

; [ T]<br />

= ⎢<br />

⎥;<br />

5<br />

−0.<br />

22<br />

0.<br />

60<br />

−86.<br />

08⎤<br />

236.<br />

50<br />

⎥<br />

0.<br />

77<br />

0<br />

415.<br />

72⎥<br />

⎥<br />

1 ⎦<br />

0.<br />

06<br />

−0.<br />

16<br />

0.<br />

98<br />

0<br />

= [ T]<br />

6<br />

0<br />

0.<br />

94<br />

0.<br />

34<br />

0<br />

0<br />

− 21.<br />

06⎤<br />

57.<br />

85<br />

⎥<br />

⎥ ;<br />

369.<br />

14 ⎥<br />

⎥<br />

1 ⎦<br />

⎡−026 . −022 . 094 . −101.<br />

4⎤<br />

⎢<br />

072 . 060 . 034 . 278. 8<br />

⎥<br />

= ⎢ ⎥.<br />

⎢−064 . 077 . 0 469 . 3⎥<br />

⎢ ⎥<br />

⎣ 0 0 0 1 ⎦<br />

Matricele de tip DH ale transformărilor omogene ce exprimă poziţia şi orientarea sistemului { i } în raport cu<br />

sistemul fix { 0 } , pentru i = 1 → 5 sunt următoarele:<br />

0<br />

4<br />

0<br />

2<br />

⎡ 0.<br />

26<br />

⎢<br />

−0.<br />

72<br />

⎢ 0.<br />

64<br />

⎢<br />

⎣ 0<br />

⎡−<br />

0.<br />

12<br />

⎢<br />

0.<br />

32<br />

⎢ 0.<br />

94<br />

⎢<br />

⎣ 0<br />

0.<br />

32<br />

− 0.<br />

88<br />

⎡−<br />

0.<br />

34<br />

⎢<br />

0.<br />

92<br />

⎢ 0.<br />

17<br />

⎢<br />

⎣ 0<br />

0.<br />

06<br />

− 0.<br />

16<br />

0<br />

[ T ] = ⎢<br />

⎥ ; [ T ] = ⎢<br />

⎥;<br />

0.<br />

22<br />

−0.<br />

60<br />

0.<br />

34<br />

0<br />

−81.<br />

68⎤<br />

224.<br />

43<br />

⎥<br />

400.<br />

40⎥<br />

⎥<br />

1 ⎦<br />

0.<br />

94<br />

0.<br />

34<br />

0<br />

0<br />

0 ⎤<br />

0<br />

⎥<br />

200⎥<br />

⎥<br />

1 ⎦<br />

⎡0.<br />

94<br />

⎢<br />

0.<br />

34<br />

⎢ 0<br />

⎢<br />

⎣ 0<br />

3<br />

−0.<br />

26<br />

−86.<br />

08⎤<br />

236.<br />

50<br />

⎥<br />

415.<br />

72⎥<br />

⎥<br />

1 ⎦<br />

0.<br />

98<br />

[ ] ⎢<br />

⎥ 0[<br />

] = ⎢<br />

⎥ 0<br />

T =<br />

; T<br />

; [ T]<br />

−0.<br />

77<br />

0<br />

0.<br />

94<br />

0.<br />

34<br />

0<br />

0<br />

5<br />

0.<br />

72<br />

−0.<br />

64<br />

0<br />

−0.<br />

22<br />

0.<br />

60<br />

0.<br />

77<br />

0<br />

0<br />

6<br />

0.<br />

94<br />

0.<br />

34<br />

0<br />

0<br />

⎡−0.<br />

26<br />

⎢<br />

⎢<br />

0.<br />

72<br />

=<br />

⎢−0.<br />

64<br />

⎢<br />

⎣ 0<br />

− 21.<br />

06⎤<br />

57.<br />

85<br />

⎥<br />

369.<br />

14 ⎥<br />

⎥<br />

1 ⎦<br />

−0.<br />

22<br />

0.<br />

60<br />

0.<br />

77<br />

0<br />

0.<br />

94<br />

0.<br />

34<br />

0<br />

0<br />

−101.<br />

47⎤<br />

278.<br />

79<br />

⎥<br />

⎥.<br />

469.<br />

34⎥<br />

⎥<br />

1 ⎦<br />

Inversele matricelor de tip PG ale transformărilor omogene ce exprimă poziţia şi orientarea sistemului { i }<br />

în raport cu sistemul { i − 1}<br />

, pentru i = 1 → 5 corespunzătoare structurii de robot analizate sunt:<br />

0<br />

1<br />

⎡ 0.<br />

94<br />

⎢<br />

−0.<br />

34<br />

⎢ 0<br />

⎢<br />

⎣ 0<br />

0.<br />

34<br />

0.<br />

94<br />

0 ⎤<br />

0<br />

⎥<br />

− 20⎥<br />

⎥<br />

1 ⎦<br />

−169.<br />

14⎤<br />

−61.<br />

56<br />

⎥<br />

0 ⎥<br />

⎥<br />

1 ⎦<br />

−1<br />

[ ] ⎢<br />

⎥ 1 −1<br />

=<br />

[ ] = ⎢<br />

⎥ 2<br />

T<br />

; T<br />

; [ T]<br />

0<br />

0<br />

0<br />

0<br />

1<br />

0<br />

2<br />

⎡0<br />

⎢<br />

0<br />

⎢1<br />

⎢<br />

⎣0<br />

0.<br />

34<br />

−0.<br />

94<br />

0<br />

0<br />

0.<br />

94<br />

0.<br />

34<br />

0<br />

0<br />

3<br />

−1<br />

⎡ 0.<br />

5<br />

⎢<br />

= ⎢<br />

0.<br />

87<br />

⎢ 0<br />

⎢<br />

⎣ 0<br />

−0.<br />

86<br />

0.<br />

5<br />

0<br />

0<br />

0<br />

0<br />

1<br />

0<br />

−90<br />

⎤<br />

−155.<br />

88<br />

⎥<br />

⎥ ;<br />

0 ⎥<br />

⎥<br />

1 ⎦


3<br />

4<br />

APLICATII<br />

⎡ 0.<br />

77<br />

⎢<br />

−0.<br />

64<br />

⎢ 0<br />

⎢<br />

⎣ 0<br />

0.<br />

64<br />

0.<br />

77<br />

−137<br />

. 88⎤<br />

115 . 70<br />

⎥<br />

0 ⎥<br />

⎥<br />

1 ⎦<br />

−1<br />

[ ] ⎢<br />

⎥ 4 −1<br />

=<br />

[ ] = ⎢<br />

⎥ 5<br />

T<br />

; T<br />

; [ T ]<br />

0<br />

0<br />

0<br />

0<br />

1<br />

0<br />

5<br />

⎡0<br />

⎢<br />

0<br />

⎢1<br />

⎢<br />

⎣0<br />

184<br />

1<br />

0<br />

0<br />

0<br />

0<br />

1<br />

0<br />

0<br />

0 ⎤<br />

0<br />

⎥<br />

− 20⎥<br />

⎥<br />

1 ⎦<br />

6<br />

−1<br />

⎡−1<br />

⎢<br />

⎢<br />

0<br />

=<br />

⎢ 0<br />

⎢<br />

⎣ 0<br />

0<br />

0<br />

1<br />

0<br />

0<br />

1<br />

0<br />

0<br />

0 ⎤<br />

−70<br />

⎥<br />

⎥ .<br />

0 ⎥<br />

⎥<br />

1 ⎦<br />

Inversele matricelor de tip DH ale transformărilor omogene ce exprimă poziţia şi orientarea sistemului { i }<br />

în raport cu sistemul { i − 1}<br />

, pentru i = 1 → 5 sunt date de următoarele expresii matriceale:<br />

⎡−<br />

0.<br />

34<br />

⎢<br />

0 −1<br />

[ ] ⎢<br />

−0.<br />

94<br />

1 T =<br />

⎢ 0<br />

⎢<br />

⎣ 0<br />

0.<br />

94<br />

− 0.<br />

34<br />

0<br />

0<br />

0<br />

0<br />

1<br />

0<br />

0 ⎤ ⎡ 0.<br />

34<br />

0<br />

⎥ ⎢<br />

⎥ 1 −1<br />

[ ] ⎢<br />

−0.<br />

94<br />

; 2 T =<br />

− 200⎥<br />

⎢ 0<br />

⎥ ⎢<br />

1 ⎦ ⎣ 0<br />

0<br />

0<br />

1<br />

0<br />

0.<br />

94<br />

0.<br />

34<br />

0<br />

0<br />

0⎤<br />

⎡ 0.<br />

5<br />

0<br />

⎥ ⎢<br />

⎥ 2 −1<br />

[ ] = ⎢<br />

0.<br />

87<br />

; 3 T<br />

0⎥<br />

⎢ 0<br />

⎥ ⎢<br />

1⎦<br />

⎣ 0<br />

−0.<br />

86<br />

0.<br />

5<br />

0<br />

0<br />

0<br />

0<br />

1<br />

0<br />

−90<br />

⎤<br />

−155.<br />

88<br />

⎥<br />

⎥ ;<br />

0 ⎥<br />

⎥<br />

1 ⎦<br />

⎡−<br />

0.<br />

64<br />

⎢<br />

3 −1<br />

[ ] ⎢<br />

−0.<br />

77<br />

4 T =<br />

⎢ 0<br />

⎢<br />

⎣ 0<br />

0.<br />

77<br />

−0.<br />

64<br />

0<br />

0<br />

0<br />

0<br />

1<br />

0<br />

115 . 70⎤<br />

137 . 88<br />

⎥<br />

⎥ ;<br />

0 ⎥<br />

⎥<br />

1 ⎦<br />

⎡ 0<br />

⎢<br />

4 −1<br />

[ ] ⎢<br />

−1<br />

5 T =<br />

⎢ 0<br />

⎢<br />

⎣ 0<br />

0<br />

0<br />

−1<br />

0<br />

1<br />

0<br />

0<br />

0<br />

0 ⎤<br />

0<br />

⎥<br />

⎥ ;<br />

− 20⎥<br />

⎥<br />

1 ⎦<br />

⎡1<br />

⎢<br />

5 −1<br />

[ ] = ⎢<br />

0<br />

6 T<br />

⎢0<br />

⎢<br />

⎣0<br />

0<br />

1<br />

0<br />

0<br />

0<br />

0<br />

1<br />

0<br />

0 ⎤<br />

0<br />

⎥<br />

⎥ .<br />

−70⎥<br />

⎥<br />

1 ⎦<br />

Inversele matricelor de tip PG ale transformărilor omogene ce exprimă poziţia şi orientarea sistemului { i }<br />

în raport cu sistemul fix { 0 } , ataşat bazei robotului, pentru i = 1 → 5 sunt definite de următoarele expresii:<br />

0.<br />

12<br />

0.<br />

32<br />

[ T ]<br />

0.<br />

94<br />

0<br />

0.<br />

32<br />

0.<br />

88<br />

0.<br />

34<br />

0<br />

0.<br />

94<br />

0.<br />

34<br />

0<br />

0<br />

187 94<br />

68.<br />

40<br />

;<br />

0<br />

1<br />

1 0<br />

⎡−<br />

⎢<br />

−<br />

2 = ⎢<br />

⎢<br />

⎢<br />

⎣<br />

−<br />

− ⎤<br />

−<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎦<br />

⎡−<br />

0.<br />

34<br />

⎢<br />

0 −1<br />

0.<br />

06<br />

3[<br />

T ] = ⎢<br />

⎢ 0.<br />

94<br />

⎢<br />

⎣ 0<br />

0.<br />

92<br />

− 0.<br />

16<br />

0.<br />

34<br />

0<br />

0.<br />

17<br />

0.<br />

98<br />

0<br />

0<br />

−124<br />

. 73 ⎤<br />

− 352 . 85<br />

⎥<br />

⎥ ;<br />

0 ⎥<br />

⎥<br />

1 ⎦<br />

⎡0.<br />

26<br />

⎢<br />

0 −1<br />

0.<br />

22<br />

4[<br />

T ] = ⎢<br />

⎢0.<br />

94<br />

⎢<br />

⎣ 0<br />

− 0.<br />

72<br />

− 0.<br />

60<br />

0.<br />

34<br />

0<br />

0.<br />

64<br />

− 0.<br />

77<br />

0<br />

0<br />

−74<br />

. 42⎤<br />

460 . 24<br />

⎥<br />

⎥ ;<br />

0 ⎥<br />

⎥<br />

1 ⎦<br />

⎡ 0.<br />

94<br />

⎢<br />

0 −1<br />

0.<br />

26<br />

[ T ] ⎢<br />

−<br />

5 =<br />

⎢−<br />

0.<br />

22<br />

⎢<br />

⎣ 0<br />

0.<br />

34<br />

0.<br />

72<br />

0.<br />

60<br />

0<br />

0<br />

− 0.<br />

64<br />

0.<br />

77<br />

0<br />

0 ⎤<br />

74.<br />

42<br />

⎥<br />

⎥ ;<br />

− 480 . 24⎥<br />

⎥<br />

1 ⎦<br />

⎡ 0.<br />

94<br />

⎢<br />

0 −1<br />

0.<br />

26<br />

[ T ] ⎢<br />

−<br />

6 =<br />

⎢−<br />

0.<br />

22<br />

⎢<br />

⎣ 0<br />

0.<br />

34<br />

0.<br />

72<br />

0.<br />

60<br />

0<br />

0<br />

− 0.<br />

64<br />

0.<br />

77<br />

0<br />

0 ⎤<br />

74.<br />

42<br />

⎥<br />

⎥ .<br />

− 550 . 24⎥<br />

⎥<br />

1 ⎦<br />

i<br />

Inversele matricelor de tip DH ale transformărilor omogene ce exprimă poziţia şi orientarea sistemului<br />

în raport cu sistemul fix { 0 } , ataşat bazei robotului, pentru i = 1 → 5 sunt următoarele:<br />

{ }<br />

0<br />

5<br />

0<br />

3<br />

⎡−<br />

0.<br />

34<br />

⎢<br />

0.<br />

06<br />

⎢ 0.<br />

94<br />

⎢<br />

⎣ 0<br />

0<br />

2<br />

0.<br />

92<br />

− 0.<br />

16<br />

⎡−<br />

0.<br />

12 0.<br />

32<br />

⎢<br />

0.<br />

32 − 0.<br />

88<br />

⎢ 0.<br />

94<br />

⎢<br />

⎣ 0<br />

0.<br />

34<br />

0<br />

0.<br />

17<br />

0.<br />

98<br />

0<br />

0<br />

−124<br />

. 73⎤<br />

− 352.<br />

85<br />

⎥<br />

⎥ ;<br />

0 ⎥<br />

⎥<br />

1 ⎦<br />

0.<br />

94<br />

0.<br />

34<br />

[ T ] ;<br />

1 −<br />

= ⎢<br />

⎥<br />

0<br />

0<br />

− 187 94 ⎤<br />

− 68.<br />

40<br />

⎥<br />

0<br />

1<br />

⎥<br />

⎥<br />

⎦<br />

⎡0.<br />

26 − 0.<br />

72<br />

⎢<br />

0.<br />

22<br />

= ⎢<br />

⎢0.<br />

94<br />

⎢<br />

⎣ 0<br />

− 0.<br />

60<br />

0.<br />

34<br />

0<br />

0.<br />

64<br />

− 0.<br />

77<br />

−1<br />

[ T ] ⎢<br />

0 −1<br />

=<br />

[ T ] ⎥ .<br />

⎡ 0.<br />

94<br />

⎢<br />

− 0.<br />

26<br />

⎢−<br />

0.<br />

22<br />

⎢<br />

⎣ 0<br />

0.<br />

34<br />

0.<br />

72<br />

0.<br />

34<br />

0<br />

4<br />

⎡ 0.<br />

94<br />

⎢<br />

− 0.<br />

26<br />

⎢−<br />

0.<br />

22<br />

⎢<br />

⎣ 0<br />

0.<br />

72<br />

0<br />

0<br />

−74<br />

42⎤<br />

460 . 24<br />

⎥<br />

0 ⎥<br />

⎥<br />

1 ⎦<br />

−1<br />

[ T ] ⎢<br />

⎥ 0 −1<br />

=<br />

; [ T ] = ⎢<br />

⎥ .<br />

0.<br />

60<br />

0<br />

0<br />

− 0.<br />

64<br />

0.<br />

77<br />

0<br />

0 ⎤<br />

74.<br />

42<br />

⎥<br />

− 480 . 24⎥<br />

⎥<br />

1 ⎦<br />

6<br />

0.<br />

34<br />

0.<br />

60<br />

0<br />

0<br />

− 0.<br />

64<br />

0.<br />

77<br />

0<br />

0 ⎤<br />

74.<br />

42<br />

⎥<br />

− 550 . 24⎥<br />

⎥<br />

1 ⎦


APLICATII<br />

Simularea preciziei utilizând softul SimMEcROb<br />

Matricea erorilor geometriei nominale Tabelul 8.12<br />

Configuraţia Element<br />

x y<br />

<br />

z α β<br />

<br />

γ<br />

1 0 0 0 0,02 0 0<br />

{ 0 } 2 0 0 0 0 0.002 0<br />

3 0 0 0 0 0.002 0<br />

{ 1 } 1 0 0.02 0 0 0 0<br />

{ 2 } 1 0 0.02 0 0 0 0<br />

{ 3 } 1 0 0 0 0 0.2<br />

Matricea erorilor pentru coordonatele generalizate Tabelul 8.13<br />

q<br />

q<br />

q<br />

q<br />

q Δ <br />

Configuration 1 Δ 2 Δ 3 Δ 4 Δ 5<br />

{ 0 }<br />

0.2 0.1 0.3 -0.1 0<br />

{ 1 }<br />

0.02 0.01 0.01 0 0<br />

{ 2 }<br />

0.001 0.002 0.002 0 0<br />

{ 3 }<br />

0.002 0.002 0.001 0 0<br />

{ 4 }<br />

0.002 0.001 0.001 0 0<br />

Modulul erorilor de situare pentru configuraţia {1}: Tabelul 8.14<br />

Influenţa parametrilor de tip DH<br />

Erori globale<br />

a α d θ β<br />

d 0.05 0.175 0.071 0.279 0.184 0.370<br />

δ 0 0.002 0 0.001 0.001 0.002<br />

min d=0.049530; max d=0.370103; min δ=0; max δ=0.001850.<br />

Modulul erorilor de situare pentru configuraţia {2}: Tabelul 8.15<br />

Influenţa parametrilor de tip DH<br />

a α d θ β<br />

Erori globale<br />

d 0.05 0.066 0.071 0.113 0.175 0.157<br />

δ 0 0.001 0 0.001 0.001 0.001<br />

min d=0.000928; max d=0.1074587; min δ =0; max δ =0.049897.<br />

Modulul erorilor de situare pentru configuraţia {3}: Tabelul 8.16<br />

Influenţa parametrilor de tip DH<br />

a α d θ β<br />

Erori globale<br />

d 0.05 0.245 0.071 0.566 0.175 0.672<br />

δ 0 0.002 0 0.001 0.001 0.001<br />

min d=0.049695; max d=0.671523; min δ =0; max δ =0.001531.<br />

Modulul erorilor de situare pentru configuraţia {4}: Tabelul 8.17<br />

Influenţa parametrilor de tip DH<br />

a α d θ β<br />

Erori globale<br />

d 0.05 0.175 0.071 0.103 0.175 0.672<br />

δ 0 0.002 0 0.001 0.001 0.001<br />

min d=0.049700; max d=0.174594; min δ=0; max δ=0.001739.<br />

185


APLICATII<br />

Modulul erorilor vitezelor si acceleraţiilor operaţionale în configuratia {1} Tabelul 8.18<br />

a<br />

Erori cinematice<br />

α d θ β<br />

Erori globale<br />

v 0.047 0.245 0.047 0.244 0.322 0.434<br />

vɺ 0.175 0.939 0.175 0.963 0.161 1.615<br />

ω 0 0.001 0 0 0 0.001<br />

ωɺ 0 0.006 0 0 0 0.005<br />

min v =0.047; max v =0.434; min ω =0; max ω =0.001;<br />

min v ɺ =0.175; max v ɺ =1.615; min ω ɺ =0; max ω ɺ =0.006.<br />

Modulul erorilor vitezelor si acceleraţiilor operaţionale în configuratia {2} Tabelul 8.19<br />

a<br />

Erori cinematice<br />

α d θ β<br />

Erori globale<br />

v 0.049 0.230 0.049 0.158 0.243 0.105<br />

vɺ 0.079 0.226 0.179 0.239 0.219 0.247<br />

ω 0 0.001 0 0 0.001 0.001<br />

ωɺ 0 0.002 0 0 0.001 0.002<br />

min v =0.049; max v =0.243; min ω =0; max ω =0.001;<br />

min v ɺ =0.079; max v ɺ =0.247; min ω ɺ =0; max ω ɺ =0.002.<br />

Modulul erorilor vitezelor si acceleraţiilor operaţionale în configuratia {3} Tabelul 8.20<br />

a<br />

Erori cinematice<br />

α d θ β<br />

Erori globale<br />

v 0.032 0.124 0.032 0.092 0.112 0.270<br />

vɺ 0.061 0.196 0.061 0.189 0.157 0.505<br />

ω 0 0.001 0 0.001 0 0.001<br />

ωɺ 0 0.003 0 0.002 0.002 0.004<br />

min v =0.032; max v =0.270; min ω =0; max ω =0.001;<br />

min v ɺ =0.061; max v ɺ =0.505; min ω ɺ =0; max ω ɺ =0.004.<br />

Aplicația 2. Simularea numerică a preciziei structurii de robot tip 6R<br />

Pentru structura de tip 6R, a cărei schemă cinematică este prezentată în figura de mai jos, s-a realizat<br />

simularea numerica a preciziei, utilizând aplicaţia software SimMecRob.<br />

Fig. 8.2<br />

186


APLICATII<br />

Matricele datelor de intrare. Pentru realizarea simulării numerice cu SimMEcROb, este necesar să se<br />

introducă ca şi dată de intrare matricea geometriei nominale (Tabelul 8.12). In Fig. 8.3 este reprezentată<br />

simularea unui proces de lucru, în care este implementat robotul de tip 6R. Matricele coordonatelor<br />

operaţionale (Tabelul 8.13), matricea configuraţiilor nominale (Tabelul 8.14), precum şi matricea parametrilor<br />

de distribuţie a maselor (DM) (Tabelul 8.15) sunt de asemenea implementate încă de la început ca şi date de<br />

intrare. Fig. 8.4 evidenţiază ciclograma procesului de lucru pentru fiecare cupla motoare.<br />

Fig. 8.3<br />

Matricea geometriei nominale Tabel 8.21 Matricea coordonatelor operaţionale Tabel 8.22<br />

Cupla<br />

i = 1→7<br />

Tipul<br />

cuplei<br />

x i i y i z mm<br />

k ix k iy<br />

mm<br />

k iz<br />

Pas<br />

x y<br />

mm<br />

z α z β x<br />

°<br />

γ<br />

z<br />

1 R 0 0 75 0 0 1 1 50 295 280 π π 0<br />

2<br />

3<br />

R<br />

R<br />

0<br />

0<br />

0<br />

0<br />

175<br />

475<br />

1<br />

1<br />

0<br />

0<br />

0<br />

0<br />

2<br />

3<br />

50<br />

50<br />

295<br />

295<br />

270<br />

280<br />

π<br />

π<br />

π<br />

π<br />

0<br />

0<br />

4 R 0 50 500 0 1 0 4 -170 360 350 π<br />

2 π 0<br />

5 R 0 250 500 1 0 0 5 -170 360 330 π<br />

2<br />

6 R 0 250 500 0 1 0 6 -170 360 350 π<br />

2<br />

187<br />

π 0<br />

π 0<br />

7 - 0 350 500 1 0 0 7 50 275 280 π π 0<br />

Robot n Mθ 6 R<br />

Matricea configuraţiilor nominale Tabelul 8.23<br />

q 1<br />

2 q 3 q 4 q 5 q 6 q<br />

°<br />

1 -2 -3 -4 0 -16 20<br />

2 -7 -9 -10 0 -47 60<br />

3 -9,61972780 -12,30163138 -13,93899278 0 -63,75937584 80,3802722<br />

4 -9,61972780 -12,43 -14,29 0 -63,31 80,3802722<br />

5 -9,61972780 -12,88 -15,18 0 -61,96 80,3802722<br />

6 -9,61972780 -13,01523396 -15,47828639 0 -61,50647965 80,3802722<br />

7 -9,61972780 -12,88 -15,18 0 -61,96 80,3802722<br />

8 -9,61972780 -12,43 -14,29 0 -63,31 80,3802722<br />

9 -9,61972780 -12,30163138 -13,93899278 0 -63,75937584 80,3802722<br />

10 0 -17 -5 0 -68 66<br />

11 16 -25 16 0 -81 40<br />

12 25,27772224 -29,39386472 26,79079779 0 -87,39693307 25,27772224<br />

13 25,27772224 -29,382 25,86 0 -86,48 25,27772224<br />

14 25,27772224 -29,344 23,06 0 -83,72 25,27772224


APLICATII<br />

Robot M MD<br />

6 R<br />

15 25,27772224 -29,33156070 22,12940949 0 -82,79784879 25,27772224<br />

16 25,27772224 -29,344 23,06 0 -83,72 25,27772224<br />

17 25,27772224 -29,382 25,86 0 -86,48 25,27772224<br />

18 25,27772224 -29,39386472 26,79079779 0 -87,39693307 25,27772224<br />

19 14 -22 12 0 -79 43<br />

20 1 -15 -3 0 -71 62<br />

21 -10,30484647 -8,72844316 -18,34576858 0 -62,92578826 79,69515353<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

Matricea parametrilor de distribuţie a maselor Tabelul 8.24<br />

M i x Ci y Ci z i i i i i i<br />

Ci I x I y I z I xy I yz I zx<br />

kg mm<br />

9,676<br />

6,594<br />

3,481<br />

0,899<br />

0,269<br />

0,072<br />

0<br />

0<br />

6,990<br />

0<br />

0<br />

0<br />

-43,220<br />

-77,087<br />

-30,407<br />

187,699<br />

270,855<br />

284,576<br />

177,236<br />

313,947<br />

528,351<br />

496,590<br />

500,000<br />

500,000<br />

188<br />

120149<br />

56265<br />

7946<br />

5485<br />

75<br />

30<br />

91708<br />

60092<br />

15647<br />

4969<br />

109<br />

30<br />

2<br />

kg⋅ mm<br />

61189<br />

102967<br />

18698<br />

849<br />

130<br />

10<br />

0<br />

-1281<br />

-987<br />

0<br />

0<br />

0<br />

39817<br />

0<br />

-507<br />

162<br />

0<br />

0<br />

Rezultatele experimentului numeric. Prin utilizarea funcţiei CONFIGURAȚIE din meniul simulatorului<br />

SimMEcROb rezultă vitezele şi acceleraţiile generalizate precum şi coeficienţii polinomiali ce<br />

caracterizează fiecare cuplă motoare. De exemplu, în Tabelele 8.16, respectiv 8.17. sunt prezentate<br />

valorile obţinute pentru coeficienţii polinomiali specifici primei şi ultimei secvenţe de lucru din ciclogramă.<br />

Cupla<br />

i = 1→<br />

6<br />

0<br />

0<br />

190<br />

0<br />

0<br />

0<br />

Matricea coeficienţilor polinomiali pentru prima secvenţă de lucru Tabelul 8.25<br />

Valorile coeficienţilor polinomiali (valori preluate din SimMEcROb)<br />

a<br />

a i13<br />

a i14<br />

a i21<br />

a i22<br />

a i23<br />

a i213<br />

i214<br />

1 -0,070837 0,035931 -0,091718 0,005463 -0,001011 -0,246307 -0,314766<br />

2 -0,111328 0,058968 -0,130815 0,035245 -0,009150 0,292286 0,182826<br />

3 -0,155601 0,085787 -0,164870 0,085196 -0,025046 -0,649977 -0,382143<br />

4 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000<br />

5 -0,605147 0,325894 -0,682485 0,248753 -0,107320 0,315693 0,174771<br />

6 0,745371 -0,396305 0,867856 -0,251945 0,082220 0,810659 0,501820<br />

Cupla<br />

Matricea coeficienţilor polinomiali pentru ultima secvenţă de lucru Tabelul 8.26<br />

Valorile coeficienţilor polinomiali (valori preluate din SimMEcROb)<br />

i = 1→<br />

6<br />

a i10<br />

i11<br />

a a i12<br />

a i20<br />

a i210<br />

a i211<br />

a i212<br />

1 0 0 0 -0,034888 -0,179762 0 0<br />

2 0 0 0 -0,052333 -0,150323 0 0<br />

3 0 0 0 -0,069777 -0,320031 0 0<br />

4 0 0 0 0,000000 0,000000 0 0<br />

5 0 0 0 -0,279111 -1,097705 0 0<br />

6 0 0 0 0,348888 1,390244 0 0<br />

În conformitate cu Algoritmul de modelare cinematică inversă (MCI) legile de variaţie în raport cu timpul<br />

pentru coordonatele generalizate ale robotului de tip 6R pot fi scrise în forma prezentată mai jos, astfel:<br />

⎡ ⎤ ⎡ ⎤<br />

⎢ ( ) ⎥ ⎢ ⎥<br />

⎢ ⎥ ⎢ ⎥<br />

⎢ ⎥ ⎢ ⎥<br />

⎢ ⎥ ⎢ ⎥<br />

⎢ ⎥ ⎢ ⎥<br />

⎢ ⎥ ⎢ ⎥<br />

t<br />

⎢qɺɺ ij ( t) ⎥ ⎢12 6 2<br />

0 0<br />

⎥<br />

⎢<br />

0 0 0 0 A<br />

⎥ ⎢ ⎥<br />

⎢ ⎥ ij0 ⎢ 1 ⎥<br />

2 ⎢ 2 2 2 ⎥<br />

⎣ ⎦ ⎣ ⎦<br />

⎢ t ⎥ t<br />

j ⎢⎣ j t j t j<br />

⎣ ⎦<br />

⎥⎦<br />

qij t 1 1 1 1 1 ⎡A 4<br />

ij4 0 0 0 0 ⎤ ⎡t ⎤<br />

⎢ 0 A 3<br />

( )<br />

ij3 0 0 0 ⎥ ⎢ ⎥<br />

qɺ ij t 4 3 2 1 ⎢ ⎥ ⎢t ⎥<br />

= 0 ⋅⎢ 0 0 Aij2 0 0 ⎥ ⋅⎢ 2<br />

t t<br />

⎥<br />

j t j t j t j t j ⎢ 0 0 0 Aij1 0 ⎥ ⎢ ⎥


APLICATII<br />

⎡ ⎤ ⎡ ⎤<br />

⎢q ( t) ⎥ ⎢ 1 1 1 1 ⎥<br />

i2<br />

⎢ ⎥ ⎢ ⎥ 3<br />

⎡ai23 0 0 0 ⎤ ⎡t ⎤<br />

⎢<br />

qɺ i2 ( t<br />

⎥ ) ⎢ 3 2 1 ⎥ ⎢ 0 a 2<br />

i22 0 0 ⎥ ⎢ ⎥<br />

⎢ ⎥ = ⎢ 0 ⎥ ⋅ ⎢ t<br />

t 0 0 a<br />

2 t2 t2 t2 i21 0 ⎥ ⋅⎢<br />

⎥<br />

⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ t ⎥<br />

⎢ ⎥ 0 0 0 a<br />

q ( ) 6 2<br />

i20 1<br />

i2 t<br />

⎢ ⎥ ⎣ ⎦ ⎢ ⎥<br />

⎢<br />

ɺɺ<br />

⎥ ⎣ ⎦<br />

⎢ 0 0 ⎥<br />

⎢ 2 2 2<br />

t<br />

⎥ ⎢t 2 ⎣ 2 t ⎥<br />

2 ⎦<br />

⎣ ⎦<br />

unde j={1; 3}; A { { a ; b } ; k 0 4}<br />

ijk i1k i3k<br />

⎡bi34 ⎤ ⎡ 1 0 0 0 0 ⎤ ⎡ai34 ⎤<br />

⎢b ⎥<br />

i33 ⎢−4 1 0 0 0 ⎥ ⎢a ⎥<br />

i33<br />

⎢b ⎥<br />

= ⎢ 6 −3<br />

1 0 0 ⎥ ⋅<br />

⎢a ⎥<br />

⎢ i32 ⎥ i32<br />

b<br />

⎢<br />

i31 4 3 2 1 0 ⎥ ⎢ ⎥<br />

⎢ ⎥ −<br />

a<br />

⎢ ⎥ ⎢ i31 ⎥<br />

⎢⎣ b 1 −1 1 −1<br />

1<br />

i30 ⎥⎦ ⎣ ⎦ ⎢⎣ ai30<br />

⎥⎦<br />

= = → şi t ∈ [ 0; 1]<br />

reprezintă variabilele normalizate de timp.<br />

Funcţiile polinomiale prezentate anterior, descriu legea de mişcare din fiecare cuplă motoare<br />

(funcţiile de comandă cinematică). In Fig.8.4 – 8.6 sunt reprezentate, în formă grafică, conform<br />

SimMecRob, variaţiile în raport cu timpul pentru coordonatele generalizate ale robotului, viteze şi acceleraţii<br />

q t ; qɺ t ; qɺɺ t ; i = 1 → 6 .<br />

{ ( ) ( ) ( ) }<br />

i i i<br />

Prin aplicarea funcţiei CINEMATICĂ din meniul simulatorului SimMecRob, rezultă matricele<br />

generalizate ale coordonatelor operaţionale, viteze si acceleratii. In Fig.8.7.a sunt evidenţiate legile de<br />

variaţie în raport cu timpul pentru următorii parametrii: {POZ-poziţie; OR-orientare; V şi O viteza liniară si<br />

unghiulară; VD şi OD acceleraţie liniară şi unghiulară}. În Tabelul 8.27 este prezentat un exemplu de calcul<br />

bazat pe matricea Jacobiană. Utilizând funcţia DINAMICĂ din meniul SimMEcROb pot fi determinate<br />

matricele transformărilor dinamice, funcţiile de comandă şi variabilele operaţionale. De exemplu, în<br />

Fig.8.7.b sunt reprezentate grafic legile de variaţie ale funcţiilor de comandă dinamică { QMi; i = 1 → 6}<br />

.<br />

Sunt de asemenea prezentate matricele dinamicii care rezultă in urma simulării, forţele generalizate<br />

motoare precum şi funcţiile de comandă dinamică pentru coordonatele operaţionale.<br />

Fig.8.4<br />

189


APLICATII<br />

Fig.8.4<br />

Fig.8.5<br />

Fig.8.6<br />

190


APLICATII<br />

Fig.8.7.a<br />

Fig.8.7.b<br />

191


APLICATII<br />

192<br />

Algoritmul matricei Jacobiene. Viteze şi acceleraţii operaţionale Tabelul 8.27<br />

Tipul robotului <br />

Cfg<br />

k<br />

XVQ<br />

M<br />

( )<br />

( ) [ ] ( ) ( )<br />

T T<br />

0 0 0 T T<br />

12 12<br />

Matrix J 0 J J<br />

θ θ θ θ θ<br />

×<br />

⎧ ⎫<br />

⎪ ⎪<br />

⎡ ⎤<br />

⎡ ⎤ ⎡ ⎤ ⎡ ⎤<br />

⋅<br />

⎨ ⎬<br />

⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />

⎢ ⎥<br />

⎣ ⎦ ⎣ ⎦ ⎣ ⎦<br />

⎣ ⎦<br />

⎪ ⎪<br />

⎩ ⎭<br />

ɺ ɺɺ<br />

ɺ<br />

Valori<br />

Comp. Modul.<br />

1<br />

z<br />

y<br />

x<br />

z<br />

y<br />

x<br />

z<br />

y<br />

x<br />

z<br />

y<br />

x<br />

OD<br />

OD<br />

OD<br />

VD<br />

VD<br />

VD<br />

O<br />

O<br />

O<br />

V<br />

V<br />

V<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎦<br />

⎤<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎣<br />

⎡<br />

⋅<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎦<br />

⎤<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎣<br />

⎡<br />

−<br />

−<br />

−<br />

−<br />

−<br />

−<br />

−<br />

−<br />

−<br />

−<br />

−<br />

−<br />

−<br />

−<br />

−<br />

−<br />

−<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

q<br />

q<br />

q<br />

q<br />

q<br />

q<br />

q<br />

q<br />

q<br />

q<br />

q<br />

q<br />

1<br />

...<br />

1<br />

0<br />

...<br />

0<br />

0<br />

...<br />

0<br />

0<br />

...<br />

0<br />

0<br />

...<br />

50<br />

0<br />

...<br />

295<br />

0<br />

0<br />

04<br />

,<br />

0<br />

0<br />

0<br />

0<br />

04<br />

,<br />

0<br />

0<br />

02<br />

,<br />

0<br />

0<br />

0<br />

0<br />

01<br />

,<br />

0<br />

0<br />

01<br />

,<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

4<br />

03<br />

,<br />

0<br />

0<br />

0<br />

0<br />

0<br />

54<br />

,<br />

10<br />

4<br />

,<br />

11<br />

01<br />

,<br />

0<br />

0<br />

0<br />

0<br />

79<br />

,<br />

1<br />

93<br />

,<br />

1<br />

03<br />

,<br />

0<br />

0<br />

...<br />

0<br />

0<br />

...<br />

0<br />

0<br />

...<br />

0<br />

0<br />

...<br />

0<br />

0<br />

...<br />

0<br />

0<br />

...<br />

0<br />

1<br />

0<br />

44<br />

,<br />

0<br />

0<br />

0<br />

1<br />

0<br />

17<br />

,<br />

0<br />

88<br />

,<br />

0<br />

17<br />

,<br />

0<br />

17<br />

,<br />

0<br />

0<br />

0<br />

99<br />

,<br />

0<br />

15<br />

,<br />

0<br />

99<br />

,<br />

0<br />

99<br />

,<br />

0<br />

0<br />

0<br />

0<br />

0<br />

29<br />

,<br />

235<br />

21<br />

,<br />

299<br />

0<br />

0<br />

0<br />

0<br />

87<br />

,<br />

86<br />

12<br />

,<br />

202<br />

50<br />

0<br />

0<br />

0<br />

72<br />

,<br />

14<br />

26<br />

,<br />

34<br />

295<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

0<br />

002<br />

,<br />

0<br />

01<br />

,<br />

0<br />

79<br />

,<br />

2<br />

26<br />

,<br />

25<br />

33<br />

,<br />

4<br />

05<br />

,<br />

0<br />

01<br />

,<br />

0<br />

04<br />

,<br />

0<br />

57<br />

,<br />

11<br />

03<br />

,<br />

0<br />

01<br />

,<br />

0<br />

−<br />

−<br />

−<br />

−<br />

−<br />

01<br />

,<br />

0<br />

07<br />

,<br />

26<br />

05<br />

,<br />

0<br />

57<br />

,<br />

11<br />

2<br />

z<br />

y<br />

x<br />

z<br />

y<br />

x<br />

z<br />

y<br />

x<br />

z<br />

y<br />

x<br />

OD<br />

OD<br />

OD<br />

VD<br />

VD<br />

VD<br />

O<br />

O<br />

O<br />

V<br />

V<br />

V<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎦<br />

⎤<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎣<br />

⎡<br />

⋅<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎦<br />

⎤<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎣<br />

⎡<br />

−<br />

−<br />

−<br />

−<br />

−<br />

−<br />

−<br />

−<br />

−<br />

−<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

q<br />

q<br />

q<br />

q<br />

q<br />

q<br />

q<br />

q<br />

q<br />

q<br />

q<br />

q<br />

1<br />

...<br />

1<br />

0<br />

...<br />

0<br />

0<br />

...<br />

0<br />

0<br />

...<br />

0<br />

0<br />

...<br />

50<br />

0<br />

...<br />

295<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

...<br />

0<br />

0<br />

...<br />

0<br />

0<br />

...<br />

0<br />

0<br />

...<br />

0<br />

0<br />

...<br />

0<br />

0<br />

...<br />

0<br />

1<br />

0<br />

48<br />

,<br />

0<br />

0<br />

0<br />

1<br />

0<br />

17<br />

,<br />

0<br />

87<br />

,<br />

0<br />

17<br />

,<br />

0<br />

17<br />

,<br />

0<br />

0<br />

0<br />

99<br />

,<br />

0<br />

15<br />

,<br />

0<br />

99<br />

,<br />

0<br />

99<br />

,<br />

0<br />

0<br />

0<br />

0<br />

0<br />

64<br />

,<br />

231<br />

21<br />

,<br />

299<br />

0<br />

0<br />

0<br />

0<br />

92<br />

,<br />

95<br />

26<br />

,<br />

192<br />

50<br />

0<br />

0<br />

0<br />

26<br />

,<br />

16<br />

59<br />

,<br />

32<br />

295<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

3<br />

z<br />

y<br />

x<br />

z<br />

y<br />

x<br />

z<br />

y<br />

x<br />

z<br />

y<br />

x<br />

OD<br />

OD<br />

OD<br />

VD<br />

VD<br />

VD<br />

O<br />

O<br />

O<br />

V<br />

V<br />

V<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎦<br />

⎤<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎣<br />

⎡<br />

⋅<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎦<br />

⎤<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎢<br />

⎣<br />

⎡<br />

−<br />

−<br />

−<br />

−<br />

−<br />

−<br />

−<br />

−<br />

−<br />

−<br />

−<br />

−<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

q<br />

q<br />

q<br />

q<br />

q<br />

q<br />

q<br />

q<br />

q<br />

q<br />

q<br />

q<br />

1<br />

...<br />

1<br />

0<br />

...<br />

0<br />

0<br />

...<br />

0<br />

0<br />

...<br />

0<br />

0<br />

...<br />

50<br />

0<br />

...<br />

295<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

13<br />

,<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

02<br />

,<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

0<br />

...<br />

0<br />

0<br />

...<br />

0<br />

0<br />

...<br />

0<br />

0<br />

...<br />

0<br />

0<br />

...<br />

0<br />

0<br />

...<br />

0<br />

1<br />

0<br />

44<br />

,<br />

0<br />

0<br />

0<br />

1<br />

0<br />

17<br />

,<br />

0<br />

88<br />

,<br />

0<br />

17<br />

,<br />

0<br />

17<br />

,<br />

0<br />

0<br />

0<br />

99<br />

,<br />

0<br />

15<br />

,<br />

0<br />

99<br />

,<br />

0<br />

99<br />

,<br />

0<br />

0<br />

0<br />

0<br />

0<br />

29<br />

,<br />

235<br />

21<br />

,<br />

299<br />

0<br />

0<br />

0<br />

0<br />

87<br />

,<br />

86<br />

12<br />

,<br />

202<br />

50<br />

0<br />

0<br />

0<br />

72<br />

,<br />

14<br />

26<br />

,<br />

34<br />

295<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

ɺ<br />

0<br />

02<br />

,<br />

0<br />

09<br />

,<br />

0<br />

0<br />

0<br />

0<br />

0<br />

02<br />

,<br />

0<br />

13<br />

,<br />

0<br />

0<br />

0<br />

0<br />

−<br />

−<br />

09<br />

,<br />

0<br />

0<br />

13<br />

,<br />

0<br />

0


APLICATII<br />

Tipul robotului <br />

Matricele dinamicii Tabelul 8.28<br />

Matricele dinamicii<br />

Simbol Expresie numerică<br />

Prima<br />

configuratie<br />

M ( θ ) ⋅<br />

ɺ<br />

θ<br />

ɺ<br />

( 6×6<br />

)<br />

⎡266061,<br />

11<br />

⎢<br />

− 8084,<br />

79<br />

⎢<br />

⎢ −952,<br />

73<br />

⎢<br />

⎢<br />

2356,<br />

73<br />

⎢ 0<br />

⎢<br />

⎣ −10<br />

− 8084,<br />

79<br />

885318,<br />

77<br />

141844,<br />

61<br />

0<br />

−1297,<br />

32<br />

0<br />

− 952,<br />

73<br />

141844,<br />

61<br />

92717,<br />

21<br />

0<br />

1076,<br />

73<br />

0<br />

2356,<br />

73<br />

0<br />

0<br />

1151,<br />

27<br />

0<br />

4,<br />

42<br />

0<br />

−1297,<br />

32<br />

1076,<br />

73<br />

0<br />

363,<br />

07<br />

0<br />

−10⎤<br />

⎡qɺ<br />

ɺ 1 ⎤<br />

0<br />

⎥ ⎢qɺ<br />

ɺ ⎥<br />

⎥ ⎢ 2 ⎥<br />

0 ⎥ ⎢qɺ<br />

ɺ 3 ⎥<br />

⎥ ⋅ ⎢ ⎥<br />

4,<br />

42<br />

⎥ ⎢<br />

qɺ<br />

ɺ 4 ⎥<br />

0 ⎥ ⎢qɺ<br />

ɺ ⎥ 5<br />

⎥ ⎢ ⎥<br />

10 ⎦ ⎣qɺ<br />

ɺ 6 ⎦<br />

( ) [ ]<br />

( ) θ θ θ ⋅<br />

ɺ ɺ<br />

× 2 6<br />

C 6<br />

B<br />

⎡−179334<br />

35167 0 4847 0<br />

⎢ 0 0 2748,<br />

3 0 0<br />

⎢<br />

⎢ 0 0 −3308<br />

0 0<br />

⎢<br />

⎢<br />

−2748,<br />

3 3308 0 556 0<br />

⎢ 0 0 −556<br />

0 0<br />

⎢<br />

⎣ 0 0 0 0 0<br />

286,<br />

81 356,<br />

09<br />

118184 0<br />

0 0<br />

0 0<br />

−3811<br />

0<br />

0 −8,<br />

97<br />

0 0<br />

4847 0<br />

3811 0<br />

0 8,<br />

97<br />

0 0<br />

0 0<br />

356,<br />

09<br />

0<br />

0<br />

0<br />

0<br />

−8,<br />

97<br />

0 0<br />

4847 0<br />

3811 0<br />

0 8,<br />

97<br />

0 0<br />

0 0<br />

−2238<br />

0<br />

0 −8,<br />

97<br />

0 −8,<br />

97<br />

−204<br />

0<br />

0 −8,<br />

97<br />

8,<br />

97 0<br />

0⎤<br />

0⎥<br />

⎥<br />

0⎥<br />

⎥⋅<br />

9<br />

⎥<br />

0⎥<br />

⎥<br />

0⎦<br />

[ ] T<br />

⋅ qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

( θ )<br />

C ⋅ θ<br />

( 6×<br />

6)<br />

( θ ; θ ) ɺ<br />

V<br />

( 1×<br />

6)<br />

[ ɺ 2 ]<br />

T<br />

( θ )<br />

T<br />

g<br />

( 1×<br />

6 )<br />

Q<br />

T<br />

Q SU<br />

( 1×<br />

5)<br />

1 2<br />

⎡<br />

⎢<br />

⎢<br />

⎢−<br />

⎢<br />

⎢<br />

⎢−<br />

⎢<br />

⎣<br />

1 3<br />

0<br />

89667 1,<br />

k = 1 → 6 ( t)<br />

1<br />

2<br />

M XDF<br />

VD(<br />

t)<br />

OD(<br />

t)<br />

V(<br />

t)<br />

O(<br />

t)<br />

POZ(<br />

t)<br />

OR(<br />

t)<br />

VD(<br />

t)<br />

OD(<br />

t)<br />

V(<br />

t)<br />

O(<br />

t)<br />

POZ(<br />

t)<br />

OR(<br />

t)<br />

17583,<br />

3<br />

0<br />

2423,<br />

42<br />

0<br />

1 4<br />

1 5<br />

−1411,<br />

85<br />

0<br />

−59092<br />

0<br />

−2423,<br />

42<br />

0<br />

1 6<br />

0<br />

0<br />

0<br />

2 3<br />

143,<br />

4<br />

59092<br />

−1906<br />

2 4<br />

0<br />

1585<br />

2331,<br />

5<br />

0<br />

101,<br />

95<br />

0<br />

193<br />

2 5<br />

0<br />

0<br />

0<br />

0<br />

2 6<br />

2423,<br />

42<br />

1905,<br />

72<br />

3 4<br />

0⎤<br />

0⎥<br />

⎥<br />

0⎥<br />

⎥ ⋅<br />

0<br />

⎥<br />

0⎥<br />

⎥<br />

0⎦<br />

[ 0 0,<br />

111 − 0,<br />

011 0 − 0,<br />

004 0]<br />

[ 0 2232,<br />

454 2229,<br />

305 0 0 0]<br />

[ 0 0 0 0 0 0]<br />

3 5<br />

3 6<br />

4 5<br />

4 6<br />

[ ] T<br />

2 2 2 2 2 2<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

qɺ<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

5 6<br />

Funcţiile dinamice Tabelul 8.29<br />

Funcţiile dinamice ale coordonatelor operaţionale <br />

0,<br />

001⋅<br />

( 10 −t<br />

) + 0,<br />

009 ⋅(<br />

t −7)<br />

0,<br />

000 ⋅(<br />

10 −t<br />

) + 0,<br />

000 ⋅(<br />

t −7)<br />

2<br />

2<br />

0,<br />

000 ⋅(<br />

10 −t)<br />

+ 0.<br />

004⋅<br />

( t −7)<br />

−7,<br />

437<br />

2<br />

2<br />

0,<br />

000 ⋅(<br />

10 −t)<br />

+ 0.<br />

000 ⋅(<br />

t −7)<br />

−32,<br />

355<br />

3<br />

3<br />

0,<br />

000 ⋅(<br />

10 −t<br />

) + 0,<br />

001⋅<br />

( t −7)<br />

+ 161,<br />

206 ⋅(<br />

t −7)<br />

+ 168,<br />

631⋅<br />

( 10 −t<br />

)<br />

3<br />

3<br />

0,<br />

000 ⋅(<br />

10 −t<br />

) + 0,<br />

000 ⋅(<br />

t −7)<br />

+ 60,<br />

000 ⋅(<br />

t −7)<br />

+ 92,<br />

355 ⋅(<br />

10 −t<br />

)<br />

0,<br />

158 ⋅(<br />

11−<br />

t)<br />

+ 0,<br />

000 ⋅(<br />

t −10,<br />

8)<br />

0,<br />

000 ⋅(<br />

11−<br />

t)<br />

+ 0,<br />

000 ⋅(<br />

t −10,<br />

8)<br />

2<br />

2<br />

−0,<br />

079 ⋅(<br />

11−<br />

t)<br />

+ 0.<br />

000 ⋅(<br />

t −10,<br />

8)<br />

−7,<br />

572<br />

2<br />

2<br />

0,<br />

000 ⋅(<br />

11−<br />

t)<br />

+ 0.<br />

000 ⋅(<br />

t −10,<br />

8)<br />

−2,<br />

467<br />

3<br />

3<br />

0,<br />

026 ⋅(<br />

11−<br />

t)<br />

+ 0,<br />

000 ⋅(<br />

t −10,<br />

8)<br />

+ 2379,<br />

207 ⋅(<br />

t −10,<br />

8)<br />

+ 2386,<br />

780 ⋅(<br />

11−<br />

t)<br />

3<br />

3<br />

0,<br />

000 ⋅(<br />

11−<br />

t)<br />

+ 0,<br />

000 ⋅(<br />

t −10,<br />

8)<br />

+ 900,<br />

000(<br />

t −10,<br />

8)<br />

+ 902,<br />

467 ⋅(<br />

11−<br />

t)


APLICATII<br />

3<br />

4<br />

5<br />

6<br />

VD(<br />

t)<br />

OD(<br />

t)<br />

V(<br />

t)<br />

O(<br />

t)<br />

POZ(<br />

t)<br />

OR(<br />

t)<br />

VD(<br />

t)<br />

OD(<br />

t)<br />

V(<br />

t)<br />

O(<br />

t)<br />

POZ(<br />

t)<br />

OR(<br />

t)<br />

VD(<br />

t)<br />

OD(<br />

t)<br />

V(<br />

t)<br />

O(<br />

t)<br />

POZ(<br />

t)<br />

OR(<br />

t)<br />

VD(<br />

t)<br />

OD(<br />

t)<br />

V(<br />

t)<br />

O(<br />

t)<br />

POZ(<br />

t)<br />

OR(<br />

t)<br />

Q<br />

m<br />

( θ )<br />

0,<br />

219 ⋅(<br />

12 −t<br />

) + 0,<br />

000 ⋅(<br />

t −11,<br />

8)<br />

0,<br />

002⋅<br />

( 12 −t)<br />

+ 0,<br />

001⋅<br />

( t −11,<br />

8)<br />

2<br />

2<br />

−0,<br />

109 ⋅(<br />

12 −t)<br />

+ 0.<br />

000 ⋅(<br />

t −11,<br />

8)<br />

+ 8,<br />

555<br />

2<br />

2<br />

−0,<br />

001⋅<br />

( 12 −t)<br />

+ 0.<br />

000 ⋅(<br />

t −11,<br />

8)<br />

−2,<br />

417<br />

3<br />

3<br />

0,<br />

036 ⋅(<br />

12 −t<br />

) + 0,<br />

000 ⋅(<br />

t −11,<br />

8)<br />

+ 2418,<br />

290 ⋅(<br />

t −11,<br />

8)<br />

+ 2409,<br />

736 ⋅(<br />

12 −t)<br />

3<br />

3<br />

0,<br />

000 ⋅(<br />

12 −t)<br />

+ 0,<br />

000 ⋅(<br />

t −11,<br />

8)<br />

+ 900,<br />

000 ⋅(<br />

t −11,<br />

8)<br />

+ 902,<br />

417 ⋅(<br />

12 −t)<br />

0,<br />

000 ⋅(<br />

36 −t<br />

) + 0,<br />

000 ⋅(<br />

t −30)<br />

0,<br />

000 ⋅(<br />

36 −t<br />

) + 0,<br />

000 ⋅(<br />

t −30)<br />

2<br />

2<br />

0,<br />

000 ⋅(<br />

36 −t<br />

) + 0.<br />

000 ⋅(<br />

t −30)<br />

+ 4,<br />

452<br />

2<br />

2<br />

0,<br />

000 ⋅(<br />

36 −t<br />

) + 0.<br />

000 ⋅(<br />

t −30)<br />

+ 1,<br />

588<br />

3<br />

3<br />

0,<br />

000 ⋅(<br />

36 −t)<br />

+ 0,<br />

000 ⋅(<br />

t −30)<br />

+ 100,<br />

139 ⋅(<br />

t −30)<br />

+ 95,<br />

689 ⋅(<br />

36 −t<br />

)<br />

3<br />

3<br />

0,<br />

000 ⋅(<br />

36 −t)<br />

+ 0,<br />

000 ⋅(<br />

t −30)<br />

+ 33,<br />

541⋅<br />

( t −30<br />

) + 31,<br />

953⋅<br />

( 36 −t<br />

)<br />

0,<br />

050 ⋅(<br />

38 −t<br />

) + 0,<br />

000 ⋅(<br />

t − 37,<br />

6)<br />

0,<br />

000 ⋅(<br />

38 −t<br />

) + 0,<br />

000 ⋅(<br />

t − 37,<br />

6)<br />

2<br />

2<br />

−0,<br />

025 ⋅(<br />

38 −t<br />

) + 0.<br />

000 ⋅(<br />

t −37<br />

, 6)<br />

−7,<br />

559<br />

2<br />

2<br />

0,<br />

000 ⋅(<br />

38 −t)<br />

+ 0.<br />

000 ⋅(<br />

t −37,<br />

6)<br />

+ 0,<br />

000<br />

3<br />

3<br />

0,<br />

008 ⋅(<br />

38 −t<br />

) + 0,<br />

000 ⋅(<br />

t −37,<br />

6)<br />

+ 1465,<br />

009 ⋅(<br />

t −37,<br />

6)<br />

+ 1472,<br />

569 ⋅(<br />

38 −t<br />

)<br />

3<br />

3<br />

0,<br />

000 ⋅(<br />

38 −t<br />

) + 0,<br />

000 ⋅(<br />

t −37,<br />

6)<br />

+ 503,<br />

115 ⋅(<br />

t −37,<br />

6)<br />

+ 503,<br />

115 ⋅(<br />

38 −t<br />

)<br />

0,<br />

050 ⋅(<br />

40 − t)<br />

+ 0,<br />

000 ⋅(<br />

t −39,<br />

6)<br />

0,<br />

000 ⋅(<br />

40 − t)<br />

+ 0,<br />

000 ⋅(<br />

t −39,<br />

6)<br />

2<br />

2<br />

−0,<br />

025 ⋅(<br />

40 −t<br />

) + 0.<br />

000 ⋅(<br />

t −39,<br />

6)<br />

+ 7,<br />

247<br />

2<br />

2<br />

0,<br />

000 ⋅(<br />

40 −t)<br />

+ 0.<br />

000 ⋅(<br />

t −39,<br />

6)<br />

+ 0.<br />

000<br />

3<br />

3<br />

0,<br />

008 ⋅(<br />

40 −t)<br />

+ 0,<br />

000 ⋅(<br />

t −39,<br />

6)<br />

+ 1502,<br />

082⋅<br />

( t −39,<br />

6)<br />

+ 1494,<br />

837 ⋅(<br />

40 −t)<br />

3<br />

3<br />

0,<br />

000 ⋅(<br />

40 −t)<br />

+ 0,<br />

000 ⋅(<br />

t −39,<br />

6)<br />

+ 503,<br />

115 ⋅(<br />

t −39,<br />

6)<br />

+ 503,<br />

115 ⋅(<br />

40 −t)<br />

⎪<br />

⎧M<br />

= ⎨<br />

⎪⎩<br />

ɺ<br />

Forţele generalizate motoare Tabelul 8.30<br />

ɺ ɺ ɺ<br />

⎪<br />

⎫<br />

g SU<br />

⎬<br />

( θ ) + Qg<br />

( θ ) + QSU<br />

( θ ) ⎪⎭ 2<br />

( θ ) ⋅θ<br />

+ B(<br />

θ ) ⋅[<br />

θθ<br />

] + C(<br />

θ ) ⋅[<br />

θ ] + Q ( θ ) + Q ( θ )<br />

Q<br />

iö<br />

Cfg. Q m1<br />

Q m2<br />

Q m3<br />

Q m4<br />

Q m5<br />

Q m6<br />

〈 N ⋅mm〉<br />

Robot Type <br />

1 -0,584 2292,928 2232,339 0,000 -0,214 0,000<br />

2 0,000 2570,902 2276,202 0,000 0,000 0,000<br />

3 0,000 2232,375 2229,433 0,000 0,033 0,000<br />

4 0,000 8429,665 1546,357 0,000 0,000 0,000<br />

5 0,000 8562,875 1703,901 0,000 0,000 0,000<br />

6 0,000 8429,665 1546,357 0,000 0,000 0,000<br />

7 0,000 791,246 2247,063 0,000 0,000 0,000<br />

194


APLICATII<br />

Aplicația 3. Simularea numerică a preciziei unei structuri de robot tip 6R<br />

În vederea realizării simulării numerice pentru o structură de robot de tip 6R , implementat într-un<br />

proces de lucru, s-a utilizat aplicaţia software SimMEcROb. În figura următoare este reprezentată schema<br />

cinematică a robotului de tip 6R utilizat precum şi cele şapte configuraţii adoptate ( P1 → P7<br />

).<br />

Fig. 8.8<br />

Dintre matricele datelor iniţiale în tabelul următor este prezentată matricea datelor de intrare ce<br />

corespunde celei de-a treia configuraţii a structurii de robot studiată.<br />

Cupla<br />

{ }<br />

3 { }<br />

4<br />

970<br />

380<br />

520<br />

450<br />

{ }<br />

2<br />

{ }<br />

1<br />

{ }<br />

0<br />

950<br />

{ }<br />

5<br />

{ }<br />

6<br />

P2 = P6<br />

P7<br />

Matricea erorilor relative (geometriei reale) Tabelul 8.31<br />

z<br />

x<br />

y<br />

z<br />

q Δ<br />

Δ xi<br />

i y Δ i Δ Δ Ai Δ Ai Δ Ai<br />

i<br />

mm °<br />

1. 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000<br />

2. 0,0000 0,0000 0,0000 0,0000 0,0000 0,5000 0,2000<br />

3. 0,0000 0,0000 0,0000 0,0000 0,0000 0,5000 0,2000<br />

4. 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000<br />

5. 0,0000 0,0000 0,0000 0,0000 0,0000 0,5000 0,2000<br />

6. 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000 0,0000<br />

620<br />

Prin aplicarea următoarelor funcţii din meniul SimMEcROb şi anume: GEOMETRIE, CONFIGURAȚII,<br />

CINEMATICĂ, DISTRIBUȚIA MASELOR, DINAMICĂ şi ERORI, se obţin toate matricele amintite în<br />

capitolele anterioare, corespunzătoare celor şapte configuraţii luate în studiu.<br />

În continuare sunt prezentate tabelar, câteva dintre aceste matrice obţinute cu simulatorul<br />

SimMEcROb: matricea erorilor de tip DH, matricea erorilor de poziţie şi orientare, matricea erorilor de<br />

viteze şi acceleraţii, precum şi matricea erorilor dinamice.<br />

195<br />

P = P1<br />

{ }<br />

7<br />

P3 = P5<br />

P4


APLICATII<br />

Cupla<br />

Matricea erorilor de tip DH Tabelul 8.32<br />

d<br />

θ<br />

Δ<br />

Δ ai−1 i Δ Δ αi −1<br />

i Δ βi−1 mm °<br />

1. 0,0000 0,0000 -0,0500 0,0500 0,0000<br />

2. -0,0500 0,0500 0,0000 0,0500 -0,0500<br />

3. 0,0001 0,0000 0,0500 -0,0500 -0,0500<br />

4. 0,0000 0,0000 0,0500 0,0500 0,0500<br />

5. 0,0000 0,0000 0,0500 0,0500 -0,0500<br />

6. 0,0000 0,0000 0,0000 0,0500 -0,0500<br />

Valoarea<br />

{ }<br />

{ }<br />

Matricea erorilor de poziţie şi orientare Tabelul 8.33<br />

d δ<br />

mm °<br />

max. pentru x = 1, y = g<br />

4,5321 0,0044<br />

{ }<br />

min. pentru x = 3, y = p, e, g<br />

0,0000 0,0000<br />

Valoarea<br />

{ }<br />

{ }<br />

Matricea erorilor de viteze şi acceleraţii Tabelul 8.34<br />

Δ v<br />

Δ ω<br />

Δvɺ Δ ɺ ω<br />

1<br />

mm s −<br />

⋅<br />

196<br />

1<br />

rad s −<br />

⋅<br />

2<br />

mm s −<br />

⋅<br />

2<br />

rad s −<br />

⋅<br />

max. pentru x = 1, y = g 2,9550 0,0040 4,545 0,021<br />

{ }<br />

min. pentru x = 3, y = p, e, g 0,0000 0,0000 0,0000 0,0000<br />

Valoarea<br />

⎧x = 1 ⎫<br />

⎪ ⎪<br />

max. pentru ⎨y = β ⎬<br />

⎪ i = 2 ⎪<br />

⎩ ⎭<br />

⎧x = 3 ⎫<br />

⎪ ⎪<br />

min. pentru ⎨i = 3→6 ⎬<br />

⎪<br />

y = { p, e, g}<br />

⎪<br />

⎩ ⎭<br />

Δ QmQ<br />

N ⋅mm<br />

Valoarea<br />

⎧x = 1 ⎫<br />

42,800 max. pentru ⎨ ⎬<br />

⎩y = g ⎭<br />

⎧⎪ x = 3 ⎫⎪<br />

min. pentru ⎨ ⎬<br />

⎪⎩ y p e g ⎪⎭<br />

0,0000 = { , , }<br />

Matricea erorilor dinamice Tabelul 8.35<br />

Δvɺ d<br />

2<br />

mm s −<br />

⋅<br />

Valoarea<br />

⎧x = 1 ⎫<br />

0,545 max. pentru ⎨ ⎬<br />

⎩y = g ⎭<br />

⎧⎪ x = 3 ⎫⎪<br />

min. pentru ⎨ ⎬<br />

⎪⎩ y p e g ⎪⎭<br />

0,0000 = { , , }<br />

Δ ɺ ωd<br />

2<br />

rad s −<br />

⋅<br />

0,0592<br />

0,0000


BIBLIOGRAFIE<br />

[A01] Abderrahim, M. & Whittaker, A. R. Kinematic model identification of industrial manipulators, Robotics<br />

and Computer-Integrated Manufacturing, Vol. 16, Nº 1, February 2000, pp 1-8, 2000<br />

[A02] M. Abderrahim, A. Khamis, S. Garrido and Luis Moreno . Accuracy and Calibration Issues of<br />

Industrial Manipulators, Industrial Robotics: Programming, Simulation and Applications, Low Kin<br />

Huat (Ed.), ISBN: 3-86611-286-6, Publisher Pro Literatur Verlag, Germany / ARS, Austria, 2006<br />

[A03] A. Albers, M. Frietsch, C.Sander, Improving Positioning Accuracy of Robotic Systems by Using<br />

Environmental Support Constraints – A New Bionic Approach, Social Robotics , Lecture Notes in<br />

Computer Science Volume 6414, pp 192-201, Online ISBN 978-3-642-17248-9, 2010<br />

[B01] T.,Bailey, Elkan,L.C, Estimating the accuracy of learned concepts, Proceedings of International Joint<br />

Conference on Articial Intelligence Morgan Kaufmann Publishers<br />

[B01] Bennet, D.J, Hollerbach, J.M., Autonomous Calibration of Single Loop Kinematic Chains Formed by<br />

Manipulators with Passive Endpoint Constraints, IEEE Transactions on Robotics and Automation.<br />

pg. 597 – 606, 1991.<br />

[B02] Bernhardt, R., Albright, S.L., Robot Calibration, Chapman & Hall. ISBN 0-412-491-40-0, 311 p.<br />

[B03] Bernstein, D.S., So, W.G., Some explicit Formulas for the Matrix Exponential, IEEE Transaction on<br />

Automatic Control, Vol. 38, No. 8, August, 1993.<br />

[B04] I.Beyer, L. & Wulfsberg, J. Practical robot calibration with ROSY, Robotica, Vol. 22,pp.505-12, Sep<br />

2004, Cambridge University Press (UK), ISSN: 0263-5747, 2004<br />

[B04] Borm, J.H, Meng, C.H., Experimental Study of Observability, of Parameter Errors in Robot<br />

Calibration. Arizona : IEEE Scottsadale, Proceedings of IEEE International Conference on Robotics<br />

and Automation, pg. 587 – 592, 1989.<br />

[B05] Borm, J.H, Meng, C.H., Determination of Optimal Measurement Configurations for Robot Calibration<br />

Basesd on Observability Measure. Int. Journal of Robotics Research, Vol.10 No.1, 1991.<br />

[C01] Caenen, J.L., Angue J.C., de Douai, E.M, Identification of Geometric and Non Geometric Parameters<br />

of Robots, In Proceedings of the IEEE International Conference on Robotics and Automation,<br />

Cincinnati, OH, USA, 13-18 Mai 1990.<br />

197


[C02] H.Chung, L. Ojeda, J. Borenstein, Accurate Mobile Robot Dead-reckoning With a Precisioncalibrated<br />

Fiber Optic Gyroscope, IEEE Transactions on Robotics and Automation, Vol. 17, No. 1,<br />

Feb.2001, pp. 80-84.<br />

[C03] Craig, J.J., Introduction to Robotics, Addison-Wesley, Amsterdam, 1989.<br />

[D01] Davidoviciu, A., et al., Modelarea, simularea şi comanda manipulatoarelor şi roboţilor industriali,<br />

Editura Tehnică, Bucureşti, 1986.<br />

[D02] Drapikowski, P., Nowakowski, T. 3D Object Modelling in Mobile Robot Environment Using Bsplines<br />

Surfaces. Proc. Of the First Int. Symposium on 3D Data Processing Visualization and<br />

Transmission, 2002.<br />

[D03] Driels, M.R, Swayze, L.W, Potter, L.S., Full Pose Calibration of a robot Manipulator Using a Coordinate<br />

Measuring Machine, Journal of Advanced Manufacturing Technologies, Vol. 8, pg. 34 - 41., 1993<br />

[D04] P. Drouet, Modeling, identification and compensation of positioning errors in high accuracy<br />

manipulators under variable loading: application to a medical patient positioning system, Ph.D.<br />

Thesis, Universite´ de Poitiers, France, 1999<br />

[D05] Duca, A., Negrean, I., K. Kacso, Matrix Exponentials in the Fanuc Robot Geometry, Acta Technica<br />

Napocensis, Series: Applied Mathematics and Mechanics, Cluj – Napoca, 2008<br />

[D06] Duong, H.N., Landau, I.D., On Test Horizon for Model Validation by Output Error, IEEE Transactions<br />

on Automatic Control, Vol.39, No.1, January 1994.<br />

[E01] Elatta, A.Y. ; Gen, L.P; Zhi, F.L. ; Daoyuan Y. & Fei, L. An Overview of Robot Calibration,<br />

Information Technology Journal, Vol. 3, Nº 1, 2004, pp. 74-78, ISSN 1682-6027, 2004<br />

[E02] Everett, L., Driels, M., Mooring, B., Kinematic Modelling for Robot Calibration, Proceedings of the<br />

IEEE International Conference on Robotics and Automation, Raleigh, NC, USA, April 1987.<br />

[FO1] Fixel,P, Absolute Accuracy Marketing Presentation, ABB Automation Technologies AB,<br />

peter.fixell@se.abb.com, June 2006.<br />

[G01] Gong, C., Yuan, J., Non Geometric Error Identification and Compensation for Robotic System,<br />

Int. J Mach. Tools Manuf., 2000.<br />

[H01] Handra-Luca, V., Mătieş, V., Brişan, C., Roboţi, Editura Dacia, Cluj-Napoca, 1996.<br />

[H02] J.M. Hollerbach, C.W. Wampler, The calibration index and taxonomy for robot kinematic calibration<br />

methods, International Journal of Robotics Research 15 (6), pg. 573–591, 1996<br />

[H03] Horaud, R., Dornaika, F., Hand – eye Calibration. Int Journal of Robotics Research., 1995.<br />

[I01] Ispas, V., Aplicaţiile cinematicii în construcţia manipulatoarelor şi roboţilor industriali, Editura<br />

Academiei Române, Bucureşti, 1990.<br />

198


[J01] Järviluoma, M., Heikkilä, T., Modelling the Positioning Accuracy of Sensor Based Robots, SPIE<br />

Vol. 3208. 0277-786X97, 1997.<br />

[J02] Judd, R.P, Knasinky, A.B., A Technique to Calibrate Industrial Robots with Experimental Verification,<br />

1991, IEEE Transactions on Robotics and Automation, pg. 721 - 731.<br />

[K01] Kevin l. Conrad, Panayiotis s. Shiakolas - Robotic Calibration Issues: Accuracy, Repeatability and<br />

Calibration, Proceedings of the 8th Mediterranean Conference on Control & Automation (med 2000),<br />

Rio, Patras, Greece, 17-19 July 2000;<br />

[K02] Khalil, W., Gautier, M., Enguehard, Ch. , Identifiable Parameters and Optimum Configurations for<br />

Robots Calibration. Cambridge University Press. 1991, Robotica, Vol. IX, pg. 63 - 70.<br />

[K03] Kreyszig, E., Advanced Engineering Mathematics. New York, John Wiley & Sons, 1993.<br />

[K04] T. R. Kurfess , Robotics and automation handbook, Edited by Thomas R. Kurfess, CRC Press, 2005<br />

[K05] K. Kacso, Contribuții privind modelarea și simularea roboților mobili și roboților cu structură serială,<br />

teză de doctorat, februarie, 2011.<br />

[L01] F. Lange, J. Langwald, and G. Hirzinger. Predictive feedforward control for high speed tracking<br />

tasks. In European Control Conference, Karlsruhe, Germany, August / September 1999.<br />

[L02] Lewis, F.L., Abdallah, C.T., Dawson, D.M., Control of Robot Manipulators, MacMillan Publishing<br />

Company, New-York, 1993.<br />

[L03] Lung-Wen Tsai, Robot Analysis: The Mechanics of Serial and Parallel Manipulators Wiley-IEEE,<br />

pag.26, 1999<br />

[M01] C. Mavroidis, S. Dubowsky, P. Drouet, J. Hintersteiner, J. Flanz, A systematic error analysis of<br />

robotic manipulators: application to a high performance medical robot, Proceedings of the 1997 IEEE<br />

Int. Conference of Robotics and Automation, Albuquerque, New Mexico, pp. 980–985, 1997.<br />

[M02] M. Meggiolaro, C. Mavroidis, S. Dubowsky, Identification and compensation of geometric and elastic<br />

errors in large manipulators: application to a high accuracy medical robot, Proceedings of the 25th<br />

Biennial Mechanisms Conference, ASME, Atlanta, 1998.<br />

[M03] M. Meggiolaro, S. Dubowsky, An analytical method to eliminate the redundant parameters in robot<br />

calibration, Proceedings of the International Conference on Robotics and Automation (ICRA _2000),<br />

IEEE, San Francisco, pp. 3609–3615, 2000<br />

[M04] Menq, C-H., Yau, H-T., Lai, G-Y., Automated Precision Measurement of Surface Profile in CAD-<br />

Directed Inspection, IEEE Transaction on Robotics and Automation, 1992.<br />

[M05] Mekid, S., Design Strategy for precision engineering: Second order phenomena’, Journal of<br />

Engineering Design, 2005.<br />

[M06] Mekid, S., Introduction to Precision Machine Design and Error Assessment, CRC Press, 2008.<br />

199


[M07] Moorring, B.W, Roth, Z.S, Driels, M.R. Fundamental of Robot Calibration . s.l. : John Wiley and<br />

Sons, 1991. pg. 221 - 225. Vol. I.<br />

[N01] Negrean, Contribuţii la optimizarea parametrilor cinematici şi dinamici în vederea măririi preciziei de<br />

funcţionare a roboţilor, Teză de doctorat, Cluj-Napoca, Romania, 1995.<br />

[N02] Negrean, I., The influence of Denavit-Hartenberg type parameters upon robot kinematic accuracy, The<br />

Second ECPD International Conference on Advanced Robotics, Intelligent Automation and Active<br />

Systems, Vienna, 1996, pp.474-479.<br />

[N03] Negrean, I., Vuşcan, I., Modelling of Dynamic Accuracy for Robots, First Part - DH-type and DM-type<br />

Errors Modelling, The Seventh IFToMM International Symposium on Linkages and Computer aided<br />

Design Methods, Bucharest, August 1997, Vol.II,<br />

[N04] Negrean, I., Vuşcan, I., Modelling of Dynamic Accuracy for Robots, Second Part - The Model of<br />

Optimising Kinematic and Dynamic Accuracy, The Seventh IFToMM International Symposium on<br />

Linkages and Computer Aided Design Methods, Bucharest, August 1997, Vol.II, pp.239-244.<br />

[N05] Negrean, I, Vuşcan, I, Haiduc, N, Robotică. Modelarea cinematică şi dinamică, Editura<br />

Didactică şi Pedagogică, R.A., Bucureşi, 1997.<br />

[N06] Negrean, I., Vuşcan, I., Forgo, Z., Inverse Modelling of the Kinematical Errors of Industrial Robots,<br />

INES'97, IEEE International Conference on Intelligent Engineering Systems, Proceedings, Budapest,<br />

Hungary, September 1997, pp.135-140.<br />

[N07] Negrean, I., Forgo, Z., Inverse Modelling of the Dynamic Errors of Robots, INES'98, IEEE<br />

International Conference on Intelligent Engineering Systems, Proceedings, Vienna, Austria,<br />

September 1998, pp.457-462.<br />

[N08] Negrean, I., Forgo, Z., Modelling Formalism in the Robot Kinematic Control, the 9th DAAAM<br />

International Symposium, Cluj-Napoca, October 1998, pp.343-344.<br />

[N09] Negrean, I., et al, Robotics - Kinematic and Dynamic Modelling, Editura Didactică şi Pedagogică R.A.,<br />

ISBN 973-30-5958-7, Bucharest, 1998.<br />

[N10] Negrean, I., Kinematics and Dynamics of Robots-Modelling-Experiment-Accuracy, Editura Didactică şi<br />

Pedagogică R.A., ISBN 973-30-9313-0, Bucharest, 1999.<br />

[N11] Negrean, I., Matrix Exponentials in Robot Mechanics, Simpozionul Naţional cu Participare<br />

Internaţională ROBOTICA 2000, Ediţia a XV-a, Oradea, Octombrie 2000,<br />

[N12] Negrean, I., Negrean, D. C., Matrix Exponentials to Robot Kinematics, 17 th International Conference<br />

on CAD/CAM, Robotics and Factories of the Future, CARS&FOF 2001, Durban, South Africa, July<br />

2001, Vol.2, pp. 1250-1257.<br />

[N13] Negrean, I., Negrean, D. C., The Matrix Exponentials Formalism to Robotics, The Eight IFToMM<br />

International Symposium on Theory of Machines and Mechanisms, SYROM 2001, Bucharest,<br />

Vol.2, pp. 247-252.<br />

200


[N14] Negrean, I., Negrean, D. C., The Locating Matrix Algorithm in Robot Kinematics, Cluj-Napoca, October<br />

2001, Acta Technica Napocensis, Series: Applied Mathematics and Mechanics, 2001, Vol. 2, pp. 7-14<br />

[N15] Negrean, I., Negrean, D. C., The Matrix-Differentiating Operators in Robot Kinematics, Cluj-Napoca,<br />

Acta Technica Napocensis, Series: Applied Mathematics and Mechanics, 2001, Vol. 2, pp. 15-22.<br />

[N16] Negrean, I., Negrean, D. C., Matrix Exponentials in the Robot Control, Conferinţa ştiintifică<br />

Internaţională TMCR 2003, Chişinău, 2003, Vol.3, ISBN 9975-9748-3-X.<br />

[N17] Negrean, I., Albeţel, D.G., The Generalized Matrices in the Robot Accuracy, Conferinţa ştiintifică<br />

Internaţională TMCR 2003, Chişinău, 2003, Vol.3, ISBN 9975-9748-3-X.<br />

[N18] Negrean, I., Pîslă, D., Negrean, D. C., New Modeling with Matrix Exponentials in the Robot Accuracy,<br />

Proceedings, CSCS-14, 14 th International Conference on control Systems and Computer Science,<br />

2003, Bucharest, ISBN 973-8449-17-0, pp. 143-148.<br />

[N19] Negrean, I., Vuşcan, I., New Formulation in the Applied Mechanics to Robotics, Proceedings of AQTR<br />

2006 IEEE-TTTC (THETA 15), International Conference on Automation, Quality and Testing,<br />

Robotics, 2006, Cluj-Napoca, Romania.<br />

[N20] Negrean, I., Negrean, D.C., New Formulations about the Differential Matrices in Robotics, The first<br />

International Conference “Advanced Engineering in Mechanical Systems ADEMS’07” Published in<br />

the Acta Technica Napocensis, Series: Applied Mathematics and Mechanics, Vol. II, 2007, pp. 45-50,<br />

Cluj-Napoca, Romania.<br />

[N21] Negrean, I., Negrean, D.C., Duca, A.V., The Kinematics Equations in the Robot Cooperation,<br />

Proceedings, 8th International Conference MTeM, 2007, Cluj-Napoca.<br />

[N22] Negrean, I, Duca, A.V, Negrean, D.C., K. Kacso, Mecanica avansată în robotică, Editura UT Press,<br />

Cluj-Napoca, 2008, ISBN 978-973-662-420-9.<br />

[N23] Negrean, I., Duca, A.V, Kacso, K., Mura-Cozma, S., Schonstein, C, New formulations on serial<br />

robots dynamics, The 3rd International Conference on International Conference ″Computational<br />

Mechanics and Virtual Engineering″, COMEC 2009, vol.2, pag. 870-876, Editors S. Vlase, A. Chiru,<br />

Y. Niitsu, Brasov, Romania, ISBN 978-973-598-572-1.<br />

[N24] Negrean, I., Duca, A.V., Negrean, D.C., Kacso, K., “New Formulations on Acceleration Energy in the<br />

Robot Dynamics”, Proceedings of SYROM 2009, The 10th IFToMM International Symposium on<br />

Science of Mechanisms and Machines, ISBN: 978-90-481-3521-9 e-ISBN: 978-90-481-3522-6, DOI<br />

10.1007/978-90-481-3522-6, © Springer Science+Business Media, Brașov, 2009.<br />

[N25] Negrean, I., Duca A.V, Negrean, D.C., Kacso K., New Formulations on Acceleration Energy in the<br />

Robot Dynamics, Proceedings of the 10 th IFToMM International Symposium on Mechanisms and<br />

Machines, SYROM 2009, Brașov, Romania, pages 351-364, Editor Springer Science + Business<br />

Media, Brasov, 2010, DOI 10.1007/978-90-481-3522-6_28.<br />

[N26] Negrean, I., Schonstein C., Kacso, K., Negrean, C., Duca, A., Matrix Exponentials and Differential<br />

Principles in the Dynamics of Robots, 13th World Congress in Mechanism and Machine Science,<br />

Guanajuato, México, 19-25 June, 2011.<br />

201


[O01] L.Ojeda, L. Chung, H., and Borenstein, Precision-calibration of Fiber-optics Gyroscopes for Mobile<br />

Robot Navigation, Proc. of the 2000 IEEE Int. Conf. on Robotics and Automation, San Francisco,<br />

CA, April 24-28, pp. 2064-2069, 2000<br />

[O02] Okafor, A.C., Ertekin, Y.M., Derivation of machine tool error models and error compensation<br />

procedure for three axes vertical machining center using rigid body kinematics. International<br />

Journal of Machine Tools & Manufacture, 2000.<br />

[P01] Park, F.C., Computational Aspects of the Product-of-Exponentials Formula for Robot Kinematics,<br />

IEEE Transaction on Automatic Control, Vol. 39, No. 3, 1994.<br />

[P02] Park, F.C., Okamura, K., Kinematic Calibration and the Product of Exponential Formula. Advances<br />

in Robot Kinematics and Computational Geometry, Cambridge, 1994.<br />

[R01] Renders, J.M, Rossignol, E., Kinematic Calibration and Geometrical Parameter Identification for<br />

Robots, IEEE Transactions on Robotics and Automation, Vol. VII, pg. 721 – 731, 1991<br />

[S01] L. Sciavicco and B. Siciliano. Modeling and Control of Robot Manipulators. Electrical and Computer<br />

Engineering Series. McGraw-Hill, 1996<br />

[S02] Schilling, J.R., Fundamentals of Robotics Analysis and Control, Prentice Hall Inc., 1990.<br />

[T01] N.,Tagiyev; R. Alizade, A Forward and Reverse Displacement Analysis for a 6-DOF In-Parallel<br />

Manipulator. In: Mech. Mach. Theory, Vol. 29, No. 1, pp. 115–124, London 1994.<br />

[T02] J.P,Trevelyan, Robot Calibration with a Kalman Filter. Presentation at International Conference on<br />

Advanced Robotics and Computer Vision (ICARCV96), Singapore 1996.<br />

[Y01] T. Yamada and T. Yabuta. Application of learning type feedforward feedback neural network<br />

controller to dynamic systems. In IEEE Int. Conf. on Intelligent Robots and Systems, pages 225-231,<br />

Yokohama, Japan, Jul. 1993.<br />

[Z01] H. Zhuang, J. Wu, W. Huang, Optimal planning of robot calibration experiments by genetic<br />

algorithms, in: Proceedings of IEEE 1996 International Conference on Robotics and Automation,<br />

Minneapolis, pp. 981–986, 1996<br />

[Z02] H. Zhuang, S.H. Motaghedi, Z.S. Roth, Robot calibration with planar constraints, Proceedings of the<br />

IEEE International Conference of Robotics and Automation, Detroit, Michigan, pp.805–810, 1999<br />

202

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

Saved successfully!

Ooh no, something went wrong!