Sunteți pe pagina 1din 22

Modele geometrice şi cinematice 26

MODELE GEOMETRICE,
CINEMATICE ŞI DINAMICE

Sistemul mecanic al unui robot este format dintr-o configuraţie de corpuri


rigide, elementele sistemului, legate între ele succesiv prin articulaţii de rotaţie sau
translaţie. Poziţiile relative ale acestor elemente determină poziţia pe ansamblu a
braţului mecanic, această poziţie reprezentând de fapt una din condiţiile funcţionale
ale robotului.
Cele mai cunoscute versiuni de articulaţii mecanice întâlnite în sistemele
robotice sunt reprezentate prin lanţuri cinematice deschise în care poziţia viteza şi
acceleraţia unui element pot fi obţinute recursiv din parametrii elementului
precedent. În general, fiecare element conţine un singur grad de libertate în raport
cu elementul precedent astfel încât relaţiile de transformare între elemente conţin
un singur parametru variabil. Legarea în cascadă a tuturor transformărilor asociate
fiecărui element permite determinarea parametrilor mişcării întregii configuraţii
mecanice şi, în general, a elementului terminal.

2.1. Sisteme de coordonate

Operaţiile de manipulare specifice unui robot cer, în primul rând, o


poziţionare corespunzătoare a sistemului mecanic, deci atingerea unui punct din
spaţiul de lucru, şi în al doilea rând impun o anumită orientare a elementului
terminal. De exemplu, o operaţie de montaj prin filetare cere atât atingerea găurii
cât şi orientarea corectă a şurubului pentru realizarea asamblării. se impune deci
adoptarea unui sistem de coordonate corespunzător descrierii acestor cerinţe.
Un punct A, într-un sistem de coordonate S1, poate fi reprezentat prin
vectorul ce uneşte originea sistemului de coordonate şi punctul respectiv,
v A  x1A i  y 1A j  z 1A k (2.1)
unde i, j, k sunt versorii axelor X,Y,Z, respective. O altă modalitate de scriere este,
Modele geometrice şi cinematice 27


A1  x1A , y1A , z1A  (2.2)
unde indicele superior 1 precizează sistemul de coordinate S1.
În afară de aceasta, direcţia vectorului de poziţie se poate exprima prin
cosinuţii de direcţie,
x1A y1 z1
cos   ; cos   A ; cos   A (2.3)
v v v
Dacă acum, originea sistemului de coordonate O1 se exprimă în raport cu un
sistem S2 prin coordonatele

O1  xO21 , yO21 , z O21  (2.4)
atunci punctul A se va exprima în raport cu sistemul S2 prin,

z1 (s1)

A y1
(s1) o1
z1 z2
zA (s2)
x1
v A 1
y2
yA y
o1 o2
xA
x1 x2
Figura 2.1

A 2  x1A  xO21 , y1A  yO21 , z1A  z O21  (2.5)

Relaţia (2.5) corespunde unei reprezentări între două sisteme afectate de


operaţii de translaţie (axele sînt paralele, respectiv). Dacă sistemele de
coordonate sînt supuse unor mişcări de rotaţie, poziţia unui punct în diferite
sisteme se poate obţine printr-o transformare corespunzătoare. Considerăm,
de exemplu, sistemul S2 obţinut prin rotaţia cu unghiul θ în jurul axei Ζ a
sistemului Sj (figura 2.2).
Poziţia în noul sistem se obţine prin multiplicarea coordonatelor iniţiale
cu o matrice de rotaţie.
Modele geometrice şi cinematice 28

z1≡ z2

y2

θ y1
o
θ
1
x
x2

Figura 2.2

 x 2A  cos  sin  0  x1A 


 2   1 
 y A    sin  cos 0  y A  (2.6)
z2   0 0  1 
1 z A
 A   
În foarte multe situaţii este de preferat să se utilizeze o transformare globală
care să comaseze atît efectul de translaţie cît şi pe cel de rotaţie. O astfel de
transformare se numeşte omogenă. Această transformare poate fi definită ca
rezultatul concatenării a două matrici, de orientare (4 χ 3) şi de poziţie, un vector
(4x1).
matrice de vector coloană 
T   orientare al pozitiei  (2.7)

 4 x 3 4 x 1 
De exemplu, translaţia specificată în figura 2.1 b corespunde transformării
omogene definită prin
1 0 0 x012 
 2 

2 2 2

Trans x 01 , y 01 , z 01   0 1 0 y 01
0 0 1 z 2 
 (2.8)
01
 
0 0 0 1 
unde simbolul Trans este asociat funcţiei de translaţie. Calculul coordonatelor
punctului A în sistemul S2 definit prin componentele (2.2) în sistemul Sj se
obţine imediat prin simpla aplicare a operatorului de translaţie asupra jj
vectorului coordonatelor în S1
 1 2 
 x 01
 x1A   x A
2 

A 2  Transx x 01
2 2
, y 01 2
, z 01 
 1   y 1A
yA    1
 y 01
2 
 z 01
 (2.9)
 z1   z A 
 A  1 

Modele geometrice şi cinematice 29

deci aceleaşi rezultate ca cele date în relaţia (2.5).


În mod similar, se pot defini operatori de rotaţie, corespunzători unei
rotaţii cu unghiul θ, în jurul fiecărei axe de coordonate,
1 0 0 0
0 cos   sin  0
Rot x,     (2.10)
0 sin  cos 0
 
0 0 0 1
 cos  0 sin  0
 0 1 0 0
Rot  y,    (2.11)
 sin  0 cos  0
 
 0 0 0 1
cos   sin  0 0
 sin  cos  0 0
Rot z ,     (2.12)
 0 0 1 0
 
 0 0 0 1
Aplicarea succesivă a acestor operatori permite calculul coordonatelor
pentru orice modificare a sistemului de coordonate. De exemplu, un punct de
coordonate (7,3,2) în sistemul S! este supus succesiv următoarelor transformări:
o rotaţie în jurul axei Ζ cu 90° (sistemul S2 ), o rotaţie în jurul axei Υ cu 90°
(sistemul S3 ) şi o translaţie cu vectorul (4,-3,7) (sistemul S4).
Deci, în noul sistem, coordonatele punctului vor fi date de
A 4  Trans 4,3,7 , Rot  y,90, Rot z ,90A 1
sau
1 0 0 4  0 0 1 0  0 1 0 0  7   6 
0 1 0  3  0 1 0 0 1 0 0 0 3  4 
  (2.13)
0 0 1 7   1 0 0 0  0 0 0 1 2 10
      
0 0 0 1  0 0 0 1  0 0 0 1  1   1 
Trebuie subliniată necesitatea respectării ordinei operaţiilor efectuate.
Evident,
Rot y, Rot z,   Rot z, Rot y,  (2.14)
Pentru generalizarea procedurilor de lucru, se va nota prin T. transformarea
generală a sistemului de coordonate Sj în raport cu sistemul S,· . în acest context,
funcţia de poziţionare a braţului unui robot se poate interpreta prin definirea
corespunzătoare a operatorilor transformărilor.
Modele geometrice şi cinematice 30

SM
SP1
M SP0
TP1
SB
TMB

TP00
TB0

S0

Figura 2.3

În figura 2.3. este prezentat un robot ce execută o operaţie tehnologică


(sudură, găurire, etc) asupra piesei P. Mişcările robotului sînt definite prin
transformări corespunzătoare în raport cu un sistem de referinţă absolut S ·
0
Elementele braţului mecanic, prin articulaţiile sale, permit determinarea unei
transformări generale a sistemului de referinţă a elementului terminal (mâna) în
B
raport cu baza S B , transformare desemnată prin TM , care la rîndul ei este definită
0
în raport cu sistemul de referinţă absolut S 0 prin transformarea TB .Deci, poziţia
B 0
absolută a mâinii este redată prin produsul transformărilor TM TB . Se va nota: TPM1
-transformarea implicată de operaţia tehnologică exercitată de mîna asupra piesei Ρ
P
în punctul 1 şi TP O , TPO , transformările ce desemnează poziţia punctului 1 faţă
1 O

de referinţa piesei S PO şi faţă de sistemul de referinţă absolut, respectiv.


În condiţiile realizării unei funcţii tehnologice corecte, coordonatele
punctului prelucrat trebuie să satisfacă transformarea de-a lungul lanţului cinematic
al robotului, deci
P
TPM T B T O  TP O TPOO
1 M B 1 (2.15)
Întrucât scopul final al oricărei prelucrări matematice de acest fel constă în
B
găsirea unui control adecvat al braţului mecanic, deci transformarea TM , din
relaţia (2.15) se obţine,
TMB  TPM
1
  1 P
TP O TPO TBO
1 O
  1

(2.16)
Modele geometrice şi cinematice 31

Deşi formula stabilită dă pur formal condiţiile funcţionale ale robotului, ea


sintetizează exact principalele cerinţe ce se impun pentru acoperirea unei funcţii
tehnologice date de către o anumită configuraţie mecanică. Aceste deziderate pot fi
rezumate în următoarele:
a) atingerea de către elementul terminal al braţului mecanic a unui
punct de coordonate impus, - transformarea TMB ;
b) asigurarea unei orientări adecvate a mâinii robotului în conformitate
cu funcţia tehnologică îndeplinită - transformarea TPM1 .
Pentru definirea corectă a ultimei condiţii se introduce o matrice de orientare
a mâinii TM definită prin [17]
nx ox px 
ax
n o y a y p y 
TM  y (2.17)
nzoz az pz 
 
0 0 0 1
unde a este un vector unitate în direcţia apropierii mâinii de obiect, o este un
vector unitate de orientare al elementului iar f n este definit prin
n  ox a (2.18)
În matricea TM se poate identifica o submatrice de orientare TMO
nx ox ax 
TMO   n y o y a y 
 n z o z a z 
şi un vector de poziţie
 px 
TMP   p y 
 p z 
Matricea TMC este o matrice ortonormală iar elementele ei au o serie de
proprietăţi care simplifică considerabil prelucrările matematice.
În plus, matricea de orientare TM admite o inversă de forma,
 n x n y n z  pn 
o o o z  po 
TM1   x y
(2.19)
a x a y a z  pa 
 
0 0 0 1 
unde pn, po, pa desemnează produsele scalare ai vectorilor respective.
Modele geometrice şi cinematice 32

2.2. Modele cinematice


După cum s-a văzut în paragraful precedent, prima condiţie necesară
B
funcţionării robotului este determinarea transformării TM ce asigură atingerea
B
unui punct dorit. Dar TM definit de (2.16) este numai o reprezentare matematică
formală. Ea trebuie corelată cu structura mecanică a robotului astfel încât să poată
fi determinate toate transformările individuale, pe fiecare articulaţie controlată a
braţului mecanic.
După cum s-a mai arătat, sistemul mecanic al robotului este realizat prin
legarea succesivă a unor articulaţii simple de rotaţie şi translaţie, poziţia fiecărui
element putînd fi definită în raport cu elementul precedent printr-o singură
variabilă de rotaţie (unghi) sau de translaţie (deplasare).Dacă se notează cu Ai
matricea transformării ce descrie translaţia şi rotaţia relativă între sistemul de
coordonate al elementului i şi al elementului i-1, atunci transformarea asociată
mâinii robotului se poate scrie ca,
B
TM = A1 A2 A3 ... An (2.20)

p
n
a
o
Figura 2.4

unde n reprezintă numărul de elemente al braţului.


Calculul matricei de transformare Ai pentru o articulaţie dată este riguros
prezentat într-un număr mare de lucrări de specialitate. în cadrul acestui capitol se
va utiliza metoda Denavit-Hartenberg datorită avantajelor deosebite privind atât
simplitatea tratării cât şi posibilităţile mari de generalizare pe care le oferă.
Convenţiile impuse de această metodă sunt [4,5,24,25]
 se aliniază axele X ale tuturor sistemelor de referinţă ale
articulaţiilor în aceeaşi direcţie cu cea a sistemului de bază.
 axa Zi coincide cu axa de rotaţie a articulaţiei i;
Modele geometrice şi cinematice 33

 se roteşte cu un unghi  i în jurul axei Z i 1


 se translatează cu mărimea d i , în lungul axei Z i 1
 se translatează cu mărimea ai în lungul axei X i 1
 se roteşte cu un unghi  i în sensul orar, în jurul axei X i , axa Z i
spre Z i 1

zi-1║zi
y2
xi

αi
o

zi-1

yi-1
θi
xi-1

Figura 2.5

În figura 2.5. sînt reprezentaţi parametrii Denavit-Hartenberg pentru o


articulaţie de formă generală.În practică, configuraţia geometrică a unei articulaţii
este reprezentată printr-o serie de parametri constanţi, lungimea ai şi unghiul  i
parametrii variabili fiind unghiul  i la o articulaţie de rotaţie sau lungimea d i la o
articulaţie de translaţie.
Deci, matricea transformării omogene Ai între articulaţia i şi i-1 va fi,
Ai  Rot z , i Trans 0,0, d i Trans ai ,0,0Rot x, i 
Utilizând formulele stabilite (2.8), (2.10) - (2.12) şi substituind în (2.21)
rezultă,
cos  i  sin  i 0 0 1 0 0 0  1 0 0 a i  1 0 0 0
 sin       
cos  i 0 0 0 1 0 0  0 1 0 0  0 cos  i  sin  i 0
Ai   i
 0 0 1 0 0 0 1 d i  0 0 1 0  0 sin  i cos  i 0
    
 0 0 0 1  0 0 0 1  0 0 0 1  0 0 0 1
sau
Modele geometrice şi cinematice 34

cos   sin  i cos  i sin  i sin  i ai 


 sin  cos  i cos  i  cos  i cos  i 0 
Ai   (2.22)
 0 sin  i cos  i di 
 
 0 0 0 1

1
φ2 l2 φ3 l3
1 1 1 φ4
l1 l4
1 1
1 φ1 φ5
1
φ6

l6

Figura 2.6

Pentru exemplificarea procedeurilor de calcul privind construcţia modelului


cinematic, se va analiza robotul din figura (2.6)[17,62] al cărui lanţ cinematic
conţine numai articulaţii de rotaţie.
Robotul prezentat în figura 2.6 a are şase grade de libertate. Pentru
determinarea parametrilor de transformare, în figura 2.6, b este reprezentat
simbolic lanţul cinematic orientat pentru respectarea condiţiilor expuse mai sus
(axele X i au aceeaşi direcţie).
Modele geometrice şi cinematice 35

y1 y1 y2 y2 y3
l2 l3
x1 x1 x2 x2 x3
z1 z1 z2 z2 z3
φ2 φ3
θ2= φ2 θ3= φ3
y1 l1 a2=l2 a3=l3
φ1 d2=0 d3=0
x1 α1=0 α3=0
z1
y3 y5
φ5 x4

θ1= φ1 x3 z4 φ6 x5
φ4 y4
a1=0 z3 l5 z5
d1=0
l4
α1=90o θ6= φ6
l6
a6=0 y6
θ4= φ4 x2 x5 d6=l6
a4=0 θ5= φ5 α6=0 x6
d4=l4
z2 a5=0 z5 y5
y2 d5=l5 z6
α4=90o
α5=90o

Figura 2.7

În figura 2.7. sunt reprezentate axele de coordonate pentru fiecare pereche


de articulaţii. De exemplu, pentru sistemele de referinţă S 0 , S1 
alinierea axelor X 0 şi Χ 1 determină următorii parametri: unghiul de rotaţie 1 în
jurul axei Z 0 este parametrul  i , distanţa l1 măsurată pe axa Z 0 între cele două
origini este parametrul d 1 , parametrul  1 este unghiul măsurat în sens orar între
Z 1 şi Zo , deci  1 = 90° , iar abaterea măsurata pe axele X între cele două origini
dă a 1 =0.
Matricea transformării între cele două sisteme, pentru această primă
articulaţie, se obţine înlocuind parametrii determinaţi în relaţia (2.23). Rezultă,
cos 1 0 sin 1 0
 sin  0  cos  0 
A1   1 1 
 0 1 0 l1 
 
 0 0 0 1
Parametrii celorlalte articulaţii se pot obţine în aceeaşi manieră din figura
2.7, iar matrlcele corespunzătoare vor fi
Modele geometrice şi cinematice 36

cos  2 sin 1 0 l 2 cos  2 


 sin  cos  2 0 l 2 sin  2 
A2   2
 0 0 1 0 
 
 0 0 0 1 
cos  3  sin  3 0 l3 cos  3 
 sin  cos  3 0 l3 sin  3 
A3   3
 0 0 0 0 
 
 0 0 0 1 
cos  4 0 sin  4 0
 sin  0  cos  4 0 
A4   4
(2.23)
 0 1 0 l4 
 
 0 0 0 1
cos  5 0  sin  54 0 
 sin  0 cos  5 0 
A5   5
 0 1 0 l5 
 
 0 0 0 1
cos  6  sin  6 0 0 
 sin  cos  6 0 0 
A6   6
 0 0 1 l6 
 
 0 0 0 1
O tratare similară poate fi obţinută pentru lanţuri cinematice care conţin şi
articulaţii de translaţie. În figura 2.8 este prezentat un astfel de robot cu trei grade
de libertate.Din analiza parametrilor asociaţi celor trei articulaţii de translaţie,
rezultă:
Modele geometrice şi cinematice 37

2 3

1
a
z0 z2 z3

y0 d2 y2 y3
a1 y1
x0 x1 x2 x3 z2
y1 z1 d3
y2
x1
z1 x2
b
Figura 2.8

1 0 0 a1  1 0 0 0 1 0 0 0 
0 0 1 0  0 0  1 0   
A1    A   A  0 1 0 0  (2.24)
0  1 0 0  2  0 1 0 d 2  3  0 0 1 d 3 
     
0 0 0 1  0 0 0 1  0 0 0 1 
Transformarea generală asociată întregului lanţ cinematic va fl:
TMB  A1 A2 A3
1 0 0 a1 
0 1 0 d 
TMB   2
(2.25)
0 0 1 d 3 
 
0 0 0 1 
Variabilele mişcării sunt cele trei deplasări liniare a1, d2, d3, de şi ele apar, în
mod firesc, în cadrul coloanei vectorului de poziţie.
Modele geometrice şi cinematice 38

Modelele prezentate s-au referit la roboţi cu articulaţii numai de rotaţie sau


numai de translaţie. Procedura se poate aplica în aceeaşi manieră pentru lanţuri
cinematice cu diverse tipuri de articulaţii. Structurile mecanice uzuale întîlnite la
cele mai cunoscute familii de roboţi industriali se grupează, după coordonatele ce
descriu poziţiile braţului, în: roboţi de coordonate carteziene, cilindrice, sferice, de
rezoluţie etc. Indiferent de tipul utilizat, calculul cinematic se realizează după
metoda expusă, determinînd parametrii D.H. ai fiecărei articulaţii şi formînd cu
aceştia matricele de transformare.

2.3. Problema controlului poziţiei

Paragraful anterior a stabilit procedurile de determinare a transformărilor


omogene Af pentru diferite tipuri de braţe mecanice. Pe baza lor se obţine, prin
multiplicare succesivă, transformarea generală ce exprimă poziţia elementului final
(terminalul sau mîna robotului) în raport cu sistemul de referinţă al bazei.
Nu trebuie să uităm însă că scopul final al oricărei aplicaţii robotice este de a
realiza o anumită funcţie tehnologică şi, în cadrul ei, o primă cerinţă este
poziţionarea corectă a braţului mecanic într-un punct sau de-a lungul unei
traiectorii impuse.
Aceasta înseamnă implicit că transformarea generală TMB trebuie să
verifice coordonatele punctului de lucru. Se poate formula, deci următoarea
problemă de control: "care sunt parametrii variabili asociaţi fiecărei articulaţii
pentru ca coordonatele elementului „terminal să verifice un punct dat în
spaţiul de operare, asigurînd totodată şi o anumită orientare a mâinii
robotului.
În acest fel, relaţiile ce definesc transformările cinematice devin ecuaţii de
control cinematic.
Rezolvarea ecuaţiilor cinematice reprezintă în general o problemă dificilă.
Acest lucru este determinat nu atît de numărul ecuaţiilor cît de neliniaritatea lor.
Pentru ilustrarea dificultăţilor ce apar în ecuaţiile de acest tip vom aborda
problema controlului cinematic al modelelor deduse în paragraful precedent.
În cazul robotului în coordonate carteziene din figura (2.8) ecuaţia generală a
braţului este dată de produsul celor trei matrici în formula (2.25). Deci, poziţia -
orientarea braţului va fi din (2.19).
1 0 0 a1 
0 1 0 d 
TMB   2
(2.25)
0 0 1 d 3 
 
0 0 0 1 
Modele geometrice şi cinematice 39

Este evident că un astfel de robot va controla numai poziţia elementului


terminal nu şi orientarea, calculul vectorial de poziţie fiind obţinut direct
 px 
p   p y  (2.26)
 p z 
unde,
p x  a1
p y  a2 (2.27)
p z  a3
Simplitatea soluţiei este datorată absenţei neliniarităţii la aceste
transformări specifice articulaţiilor de translaţie, dar apare clar faptul că un astfel
de robot nu asigură funcţia de orientare a braţului. ţ
Se va considera acum robotul cu articulaţii de rotaţie prezentat în figura 2.6.
Modelul cinematic al braţului se obţine prin multiplicarea matricilor Ai din (2.23),
TMB  A1 A2 A3 A4 A5 A (2.29)
Efectuând înmulţirea matricilor şi identificînd componentele generale ale
matricei de orientare - poziţia (2.19) se obţine [62]
n x  cos 1 cos 2   3   4  cos  5 cos  6  sin 1 sin  5 cos  6 
 sin  2   3   4  cos 1 sin  6
n y  sin 1 cos 2   3   4  cos  5 cos  6  cos 1 sin  5 cos  6 
 sin  2   3   4 sin 1 sin  6
n z  sin  2   3   4  cos  5 cos  6  cos 2   3   4 sin  6
o x   cos 1 cos 2   3   4  cos  5 sin  6  sin 1 sin  5 sin  6 
 cos 1 sin  2   3   4  cos  6
o y   sin 1 cos 2   3   4  cos  5 sin  6  cos 1 sin  5 sin  6 
 sin 1 sin  2   3   4  cos  6
o z  cos 2   3   4  cos  6  sin  2   3   4  cos  5 sin  6 (2.30)
a x  sin 1 cos  5  cos 1 cos 2   3   4 sin  5
a y   sin 1 cos 2   3   4 sin  5  cos 1 cos  5
a z   sin  2   3   4 sin  5 (2.31)
p x  l 2 cos 1 cos  2  l3 cos 1 cos 2   3   l5 sin  2   3   4  cos 1 
 l 6 sin 1 cos  5  cos 1 cos 2   3   4 sin  5 
p y  l 2 sin 1 cos  2  l3 sin 1 cos 2   3   l5 sin 1 sin  2   3   4  
 l 6 sin 1 cos 2   3   4 sin  5  cos 1 cos  5 
Modele geometrice şi cinematice 40

p z  l1  l 2 sin  2  l3 sin  2   3   l5 cos 2   3   4  


 l6 sin  2   3   4 sin  5 
Ecuaţiile stabilite pun în evidenţă foarte bine complexitatea problemei
controlului cinematic. Pentru o poziţie şi orientare a elementului terminal al
robotului impuse, deci px, py, pz, nx, ny, nz, ox, oy, oz, ax, ay, i luînd valori prescrise,
se cere calcularea valorilor unghiurilor φ1, φ2,..., φ6 care satisfac ecuaţiile (2.30).
Este evident că determinarea variabilelor de control φ1, φ2,..., φ6 pentru
asigurarea atît a poziţiei dorite, cît şi a orientării mîinii nu este posibilă, în
principiu, se impune numai o poziţionare riguroasă şi o orientare parţial satisfăcută
(care se presupune că, totuşi, acoperă cerinţele tehnologice impuse). Chiar în acest
caz, o soluţionare analitică este evident extrem de dificilă. Tratarea numerică pe un
calculator adecvat implică şi ea dificultăţi serioase şi în orice caz efortul de calcul
este extrem de mare, problema de control neputînd fi abordată ca o problemă în
timp real. O tratare off-line pe un calculator numeric este practic singura modalitate
de utilizare a controlului cinetic. Pentru diferite puncte, de-a lungul traiectoriei
impuse, se calculează aprioric valorile variabilelor de control ale articulaţiilor, ele
urmînd să reprezinte mărimile de referinţă în sistemul propiu-zis de conducere al
mişcării.
În literatura de specialitate se pot menţiona eforturile diverşilor autori pentru
soluţionarea acestei probleme. Menţionăm metoda propusă de Paul Shimano şi
Meyer [5,25] care izolează seccesiv fiecare variabilă de elementul terminal prin
premultiplicarea cu inversele matricilor Ai. Lee şi Siegler [24] separă problema
controlului general în problema poziţionării braţului de cea a orientării mâinii. Într-
o asemenea abordare, transformarea totală poate fi rescrisă ca,
TMB  TMO  TBR
O BR
TM , unde s-a considerat baza robotului ca sistem de referinţă
O
absolut, sistemul O, iar TBR şi TMBR desemnează transformările ce definesc
poziţionarea braţului robotului faţă de baza şi respectiv mâna robotului în raport cu
braţul [24]. De exemplu, pentru robotul discutat mai sus, această partajare a
transformărilor impune următoarea rescriere a relaţiei (2.19)
TMO   A1 A2 A3  A4 A5 A6  (2.32)
unde prima submulţime desemnează poziţionarea braţului,
TMO  A1 A2 A3  A123 1 , 2 , 3   T3O (2.33)
iar a doua orientare,
TMBR  A4 A5 A6  A456  4 ,  5 ,  6   T63 (2.34)
Pe de altă parte, atît transformarea globală TMO , cât şi cele parţiale, T3O şi
T63 , pot fi rescrise în termenii matricei poziţie - orientare (2.10).
Modele geometrice şi cinematice 41

nx ox ax px 
 p y 
 R P  n y oy ay
TMO    (2.35)
 0 1  nz oz az pz 
 
0 0 0 1
nbx obx pbx 
abx
 R3O n pby 
P3O  oby aby

by
T3O   (2.36)
 0 1   nbz obz pbz 
abz
 
 0 0 0 1 
nMx oMx a Mx p Mx 
 R6 P6  nMy oMy a My p My 
3 3
 
3
T6   (2.37)
 0 1   nMz oMz a Mz p Mz 
 
 0 0 0 1 
Înlocuind expresiile (2.35) - (2.37) in (2.31) rezultă,
 R O P3O   R63 P63   R3O R63 R3O R63  P3O 
T3O   3    (2.38)
 0 1   0 1   0 1 
Deci, din (2.35) se obţine,
R  R3O R63 (2.39)
P  R3O P63  P3O (2.40)
În această ultimă relaţie, vectorul P63 , defineşte poziţia mâinii faţă de
punctul terminal al braţului. Prin multiplicarea cu R03 exprimă acelaşi vector faţă
de sistemul absolut (figura 2.9, a).
Acest vector va fi deci reprezentat prin
PMO  R3O P63 (2.41)
deci, din (2.40) se obţine
P  PMO  P3O  PMO  PBR O
(2.42)
sau, astfel spus, translaţia totală este obţinută prin însumarea translaţiilor braţului şi
mîinii. În această relaţie vectorul PM0 coincide cu versorul a al matricei de
orientare (2.35) (figura 2.4), deci componentele acestui vector pot fi determinate
relativ uşor. Într-o primă fază se determină unghiurile φ şi θ
ay a x2  a y 2
  arctan ,   arctan
ax az
iar ulterior, componentele vectorului
Modele geometrice şi cinematice 42

z0 zBR zBR
xB PM a
PBR kaz PM
P yBR θ kay yBR
y0
kax φ

x0 xBR

a b
Figura 2.9

PMx  PM sin  cos 


PMy  PM sin  sin  (2.43)
PMz  PM cos 
Ţinînd cont de faptul că vectorul Ρ este dat prin matricea generală a
robotului (2.35), din (2.42) şi (2.43) se pot calcula componentele vectorului de
O
poziţie al braţului PBR
 PBRx   Px   PMx 
 P    Py    P y  (2.44)
 BRy     M 
 PBRz   Pz   PMz 
Pe de altă parte, din formula (2.34) se obţine,
 PBRx 
 P   PA  ,    (2.45)
 BRy  123 1 2 3
 PBRz 
unde P[A] desemnează vectorul de poziţie din transformarea A.
Această ultimă relaţie constituie ecuaţia de bază ce permite calculul
unghiurilor φ1, φ2, φ3 ce definesc articulaţiile braţului.
Pentru calculul unghiurilor mâinii φ4, φ5, φ6 se utilizează componenta de
rotaţie R63 care poate fi exprimată din relaţia (2.39) sub forma,
1
R63  R30 R
Cele două matrici R30 şi R sînt uşor obţinute ca matrici de rotaţie din
transformările respective. În plus, inversa lui R30 se calculează conform regulilor
matricelor de orientare. Introducînd aceste rezultate în matricea de orientare a
transformării (2.34), rezultă,
Modele geometrice şi cinematice 43

1
R3o R   A456  4 ,  5 ,  6  (2.47)
unde R[A] desemnează matricea de orientare a transformării A.
Relaţia (2.47) reprezintă ecuaţia ce permite calculul unghiurilor  4 ,  5 ,  6
ce definesc poziţia mâinii. Procedura expusă permite deci calculul decuplat al
parametrilor geometrici ai robotului, analizând separat ecuaţiile de poziţie de cele
de orientare. Cu toate că această metodă simplifică şi facilitează, în mare măsură,
efortul de calcul, abordarea analitică a soluţiilor de control cinematic rămâne în
continuare o problemă complexă.
În ciuda dificultăţilor prezentate, controlul cinematic este cea mai utilizată
metodă de control a mişcării unui robot, soluţionare problemei fiind dată, în mod
paradoxal, chiar de robot, de implementarea sa fizică. Conceptul de bază în această
abordare îl constituie faptul că rezolvarea ecuaţiilor (2.30) implică evident
modelarea lor (numerică sau analogică), ori cea mai bună modelare, cea mai
exactă, o reprezintă robotul însuşi. În acest sens, robotul este „forţat” să execute o
anumită traiectorie în spaţiul său de lucru. În punctele prestabilite, dorite, sunt
măsurate valorile variabilelor de control, aceste valori reprezentând soluţiile exacte
ale ecuaţiilor cinetice asociate punctelor respective. Valorile astfel obţinute vor
constitui mărimi de control impuse în faza de operare propriu - zisă a robotului.
Procedura este curent cunoscută sub denumirea de „ instruirea robotului” şi va fi
discutată pe larg într-unul din capitolele ulterioare.

2.4. Controlul cinematic diferenţial


Analiza precedentă s-a axat pe problema determinării variabilelor de control
pe fiecare articulaţie astfel încât comportarea cinematică a întregului braţ, ca
poziţie şi orientare, să fie cea dorită, insistându-se în special asupra cerinţelor de
calcul şi complicaţiilor care derivă din acestea într-o conducere în timp real.
O altă modalitate de tratare a controlului cinematic poate fi obţinută dacă nu
se iau în consideraţie valorile totale ale parametrilor mişcării ci variaţiile acestora
în raport cu anumite mărimi de referinţă. O astfel de abordare este desemnată ca
analiză cinematică diferenţială.
Modelul diferenţial al unui robot este deci un model care permite calculul
diferenţial dx a coordonatelor operaţionale (variabilele ce definesc poziţia în spaţiul
de lucru) în funcţie de diferenţiala dq a coordonatelor generalizate (variabilele
asociate fiecărei articulaţii mecanice). Într-o transpunere analitică, această
dependenţă se poate scrie printr-o matrice iacobian, în forma:
dx  j (q )dq (2.48)
Dacă, pentru un anumit model cinematic, coordonatele operaţionale şi
generalizate variază în cantităţi mici, atunci diferenţialele pot fi înlocuite cu
variaţiile corespunzătoare şi modelul (2.48) se scrie sub forma,
x  J (q )q (2.49)
Modele geometrice şi cinematice 44

În cazul în care acestor variaţii li se asociază şi variaţii în timp, diferenţialele


pot fi înlocuite cu derivate,
. .
x  J (q) q (2.50)
Indiferent de modul de scriere, într-o analiză diferenţială, o etapă importantă
o constituie calculul matricei iacobiene J(q). Considerând modelele cinematice
stabilite în paragrafele anterioare, redate analitic în forma,
x  f (q ) (2.51)
atunci matricea iacobian este matricea derivatelor parţiale ale funcţiei în raport cu
coordonatele generalizate.
f
J (q)  (2.52)
q
sau, pe componente
f (q )
J .. (q )  i (2.53)
y qi
Dacă coordonatele operaţionale utilizate sunt date de vectorul,
X 
Y 
 
Z 
x  (2.54)
 x 
 y 
 
 z 
atunci relaţia (2.50) poate fi scrisă ca,
 q1 
 
 X   X 1 X 2 X 3 ... X n   q2 
 Y   Y  
   1 Y2 Y3 ... Yn   q3 
 Z   Z1 Z 2 Z 3 ... Z n   . 
   
(2.55)
  x  1x  2 x  3 x ...  nx   . 
 y  1 y  2 y  3 y ...  ny   . 
    
  z  1z  2 z  3 z ...  nz  qn 1 
 qn 
unde qi   i pentru o articulaţie de rotaţie, qi  di pentru o articulaţie de translaţie
x 
iar X i   ix  .
qi qi
Pentru exemplificare, să considerăm robotul cu articulaţii de translaţie
prezentat în figura 2.8. Coordonatele elementului terminal în raport cu sistemul de
referinţă (X0, Y0, Z0) sunt date de,
Modele geometrice şi cinematice 45

X 30  a1
Y30  d 2 (2.56)
Z 30  d3
unde a1, d 2 , d3 exprimă în acelaşi timp şi coordonatele generalizate q1, q2 , q3 . În
consecinţă, utilizând o formulă de tipul (2.53) se obţine iacobianul sistemului,

1 0 0
0 1 0 
 
0 0 1 
J   (2.57)
0 0 0 
0 0 0 
 
0 0 0
Pentru sisteme mecanice mari, procedurile de calcul ale matricei, deşi mai
complexe, se bazează pe o tehnică similară sau prin derivate ale celei prezentate în
(5.25).
În forma definită mai sus, iacobianul permite calcului variaţiilor
coordonatelor operaţionale în funcţie de variaţiile coordonatelor generalizate (din
articulaţii).
De fapt, o problemă de conducere impune o procedură inversă: „dându-se
variaţii impuse ale coordonatelor operaţionale se cer variaţiile coordonatelor
generalizate corespunzătoare”. O astfel de formulare conduce la o relaţie de forma,
q  J 1 (q) x (2.58)
Calculul inversei iacobianului este în general o problemă complexă,
dificultatea fiind determinată de faptul că matricea iacobian este foarte rar o
matrice pătrată. În general se va impune deci calculul unei pseudoinverse J-1 după
proceduri specifice (38,25,62). De exemplu, pentru iacobianul obţinut mai sus,
x  Jq (2.59)
prin transpunere rezultă
xT  qqT J T (2.60)
unde admite o pseudoinversă (JT)-1 de forma
1 0 0 0 0 0
J  0 1 0 0 0 0
T
(2.61)
0 0 1 0 0 0

 
admite o pseudoinversă J T
1
de forma
Modele geometrice şi cinematice 46

1 0 0
0 1 0 
 
 
J T 1

0 0 1 
 (2.62)
0 0 0 
0 0 0 
 
0 0 0
Se verifică uşor că
 
JT JT
1
I (2.63)
  ambii membri ai relaţiei (2.60), rezultă
Multiplicând cu J T 1

xT T J   q J J   q
1 T T T 1 T
(2.64)
Desigur că această metodă poate fi aplicată numai pentru forme particulare
ale matricei J. Pentru o formă generală a acesteia se poate utiliza procedura
specificată în (12,17). În acest sens, se înmulţesc ambii membrii ai relaţiei (2.59)
cu JT,
J T x  J T Jq (2.65)
T
Se determină inversa matricei J J şi prin multiplicarea rezultatului cu (2.65)
se obţine
J J 
T 1 T
J x  q (2.66)
  1 T
În acest caz J T J J poate fi definită ca o pseudoinversă a matricei J.
Exemplul pe care l-am analizat se bazează pe o matrice iacobian cu
coeficienţi constanţi. În cele mai multe cazuri, coeficienţii matricei depind de
coordonatele generalizate qi, ceea ce impune o recalculare a elementelor ei la orice
modificare a acestor parametrii.
Calculul variaţilor qi, asociate fiecărei articulaţii a structurii mecanice, pe
baza variaţiilor xi impuse în sistemul operaţional, sugerează introducerea unei
structuri de conducere specifice. În figura 2.10 este prezentat un astfel de sistem.
Traiectoria, în spaţiul de operare al robotului, este dată prin mulţimea de
puncte xdi. Aceste valori sunt comparate cu cele realizate efectiv de sistemul
mecanic xi. Parametrii operaţionali reali xi sunt obţinuţi la rândul lor din
coordonatele generalizate qi pe baza modelului cinematic direct (2.51). Abaterile
obţinute,
Modele geometrice şi cinematice 47

xdi xi qi


J-1(q) SA
-

xi

f(q)
qi

Figura 2.10

xi  xdi  xi (2.67)


-1
sunt aplicate unui bloc de calcul ce implementează pe J (q) la ieşirea căruia se
generează noile variaţii qi ce asigură corectarea traiectoriei. Evident, dependenţa
iacobianului de parametrii qi determină recalcularea sa la fiecare pas de operare.
Avantajul principal al unui astfel de sistem de conducere este dat de
simplitatea legii de conducere utilizate, modelul cinematic diferenţial asociat fiind
un model liniar. Spre deosebire de modelele cinematice propriu-zise prezentate
anterior şi de cele dinamice, care vor fi studiate ulterior, modele caracterizate prin
neliniarităţi deosebit de complexe, modelele diferenţiale oferă avantajul liniarizării.
Din nefericire, acest avantaj este, în mare măsură, anulat de efortul de calcul
cerut, în special pentru calculul inversei matricei iacobiene, calcul ce nu poate fi
realizat off-line datorită dependenţei coeficienţilor matricei de parametrii qi. Cu
toate că în literatură s-au dezvoltat o serie de metode [4,6] care permit calculul
rapid al lui J-1(q), ele cer, în general, sisteme hardware de mare viteză, cu un preţ
de cost întotdeauna prohibitiv, pentru o operare eficientă în timp real.

S-ar putea să vă placă și