Documente Academic
Documente Profesional
Documente Cultură
7
Fie că este vorba de proiectarea unui RI sau de utilizarea sa,
problema care apare mai frecvent în practică este problema
cinematică inversă: cunoscând sarcina de rezolvat de către RI
rezultă ca fiind precizată atitudinea cinematică a efectorului la
anumite momente de timp şi trebuie determinate comenzile
necesare pentru elementele de acţionare ale articulaţiilor, în
aşa fel încât să se obţină atingerea atitudinii cinematice impuse
pentru efector. Aceste comenzi vor putea fi găsite dacă se
cunosc atitudinile cinematice relative ale segmentelor RI la
momentele respective (poziţiile articulaţiilor), adică trebuie
rezolvată problema cinematică inversă. Totuşi, aşa cum vom
arăta în continuare, problema cinematică inversă nu poate fi
explicitată fără rezolvarea în prealabil a problemei directe,
care este necesară şi în simularea RI.
8
Scopul acestui capitol este acela de a prezenta metodele de
rezolvare pentru cele două probleme cinematice şi în legătură
cu ele se pot face următoarele observaţii. Atât în problema
cinematică directă cât şi în cea inversă apare necesitatea
determinării atitudinii cinematice a diferitelor corpuri faţă de
un reper de referinţă. În robotică acesta va fi cel mai frecvent
un reper triortogonal staţionar, pe care îl vom considera de
obicei fixat de baza RI (batiul acestuia). Atitudinea cinematică
în spaţiul tridimensional a unui corp oarecare faţă de un reper
triortogonal fixat poate fi precizată prin intermediul a 6
parametri: 3 reprezentând poziţia şi 3 orientarea. Ansamblul
acestor 6 parametri se numeşte în robotică vectorul
parametrilor de poziţionare atunci când se referă la un
segment oarecare al RI şi respectiv vectorul coordonatelor
operaţionale atunci când se referă la efectorul RI. 9
y
10
Pe de altă parte, ţinând seama că articulaţiile cele mai
frecvent întâlnite în practică sunt cele realizate prin
cuple cinematice de clasa a V-a, adică acelea care
creează un singur grad de libertate (gdl), rezultă că
modificarea atitudinii cinematice relative a două
segmente vecine ale unui RI, legate printr-o asemenea
articulaţie, poate fi precizată printr-un singur
parametru, ceilalţi 5 parametri ce exprimă poziţia şi
orientarea fiind constanţi în timp în cazul unei
asemenea legături. În fig. 2.1 sunt prezentate două
asemenea segmente vecine legate printr-o cuplă
cinematică de clasa a V-a, de translaţie şi respectiv
rotaţie. 11
segment mobil
3. segment
mobil
segment fix
P
r (rx,ry,rz)
k
O
i y
j
x
Fig. 2.3. Reprezentarea unui punct într-un
reper triortogonal drept
17
unde am notat cu i, j, k versorii celor
trei axe ale reperului. Poziţia
punctului P faţă de reperul dat se
exprimă în coordonate omogene prin
matricea coloană:
18
unde w este factorul de scară, ales de utilizator, cu respectarea
condiţiei w ≠ 0. O dată fixat w celelalte componente ale
reprezentării omogene pot fi determinate în funcţie de expresia
(2.1) prin relaţiile de legătură:
ax = rx w; ay = ry w; az = rz w; (2.3)
ro se numeşte vectorul de poziţie în coordonate omogene al
punctului P. Dacă nu există pericol de confuzie acest vector va
fi notat în cele ce urmează fără indicele o. În legătură cu
reprezentarea în coordonate omogene se pot face următoarele
observaţii.
1. Dacă w = 1 atunci primele trei coordonate omogene ale
punctului P coincid cu coordonatele carteziene: ax = rx, ay = ry,
az = rz
19
2. În coordonate omogene poziţia originii reperului
(vectorul nul) este dată prin matricea coloană:
[0 0 0 w]T cu w ≠ 0.
3. Dacă renunţăm la condiţia w ≠ 0, atunci un vector de
forma [a b c 0]T cu a, b, c nenule simultan,
reprezintă în coordonate omogene un vector de
modul infinit, ce defineşte o anumită direcţie, în
funcţie de valorile a, b, şi c.
4. Vectorul [0 0 0 0]T este în coordonate omogene un
vector nedefinit.
5. Produsul scalar şi cel vectorial pentru vectorii în
coordonate omogene au aceleaşi definiţii, cunoscute
din algebra vectorială. 20
În acest fel, având un reper triortogonal drept precizat, se pot
reprezenta în coordonate omogene punctele, prin vectorii lor
de poziţie de forma (2.2) şi respectiv obiectele. Acestea vor fi
reprezentate prin mulţimi de puncte care să le caracterizeze,
puncte alese în mod corespunzător, în funcţie de scopul
urmărit. Un obiect specificat prin n puncte va avea ca
reprezentare omogenă o matrice de dimensiune 4 x n, fiecare
coloană a matricei respective fiind reprezentarea omogenă a
unui punct.
Exemplul 2.2. În fig. 2.4 apare un paralelipiped, care poate fi
specificat într-o reprezentare omogenă prin precizarea
coordonatelor omogene ale punctelor ce sunt vârfurile sale.
Astfel, obţinem ca reprezentare omogenă a corpului respectiv
matricea (s-a folosit factorul de scară w = 1):
21
z D1(-1, 4, 5) C (-1, 8, 5)
1
A1(1, 4, 5) B1(1, 8, 5)
D(-1, 4, 0) C(-1, 8, 0)
y
A(1, 4, 0) B(1, 8, 0)
x
Fig. 2.4. Poziţia unui paralelipiped
faţa de un reper de referinţă
22
23
De observat că pentru toate punctele prin care se reprezintă un
obiect factorul de scară trebuie să fie acelaşi. Ordinea de
considerare a punctelor în matricea P este arbitrară, dar o dată
aceasta fixată, trebuie să rămână neschimbată la eventualele
mişcări pe care le suferă obiectul.
rb = rbs + rs (2.7)
28
xb a11 a12 a13 xs xOs
yb = a21 a22 a23 ys + yOs (2.10)
zb a31 a32 a33 zs zOs
rb = Abs rs (2.12)
în care vectorii care apar sunt exprimaţi în coordonate
omogene, iar matricea Abs:
30
a11 a12 a13 xOs
a21 a22 a23 yOs
Abs = a31 a32 a33 zOs (2.13)
0 0 0 1
33
a11 = is ib = cos(Osxs, Obxb) ;
a12 = js ib = cos(Osys, Obxb) ;
... (2.16)
a33 = ks kb = cos(Oszs, Obzb)
34
După relaţia (2.8) observăm că ultima coloană a matricei Abs
conţine coordonatele originii Os a reperului secundar în
reperul de bază. Concluzionând, matricea de transformare
omogenă Abs conţine atât informaţii cu privire la poziţia
reperului secundar faţă de reperul de bază (prin ultima
coloană), cât şi informaţii cu privire la orientarea reperului
secundar faţa de cel de bază, prin primele trei coloane. Astfel,
este uşor de dedus importanţa acestei matrice pentru
modelarea cinematică în robotică. Aici va fi necesar să
exprimăm atitudinea cinematică relativă a diferitelor segmente
ale RI şi, după precizările făcute, vom putea face aceasta
ataşând repere triortogonale acestor segmente şi folosind
matricele de transformare omogenă. În plus, după relaţiile
(2.11), (2.12), rezultă că atunci când matricea de transformare
omogenă este determinată, aceasta ne permite să aflăm
coordonatele omogene ale unui punct faţă de reperul de bază,
dacă sunt cunoscute coordonatele omogene ale punctului
respectiv faţă de reperul secundar.
35
Se pune acum problema inversă de a exprima poziţia şi
orientarea reperului Obxbybzb faţă de reperul Osxsyszs.
Aceasta înseamnă că rolul celor două repere în fig. 2.5
se inversează şi, refăcând acelaşi raţionament ca mai
sus, vom obţine o relaţie de aceeaşi formă cu (2.12) -
rb = Abs rs, adică:
rs = Asb rb (2.17)
38
ib = a11is + a12js + a13ks
jb = a21is + a22js + a23ks (2.20)
kb = a31is + a32js + a33ks
41
- se transpune submatricea de dimensiune 3 x 3 care
apare în colţul din stânga, sus, a matricei de la care
se pleacă;
- se calculează primele trei elemente ale ultimei
coloane ca produsele scalare ale primelor trei
coloane din matricea de inversat cu ultima coloană
din această matrice, înmulţind rezultatele cu –1;
- ultima linie are aceleaşi elemente ca şi în matricea de
inversat, adică 0, 0, 0, 1.
rOn = 4 im + 0 jm – 10 km (2.28)
1 0 0 px
Abs = Tp = 0 1 0 py (2.33)
0 0 1 pz
0 0 0 1
53
deoarece axele celor două repere sunt paralele, iar
coordonatele punctului Os în reperul de bază sunt date
de componentele vectorului p. Spunem despre
matricea Abs de forma (2.33) că este matricea unei
transformări omogene elementare de translaţie.
54
zs z
b
z
s ϕ
y
s
zb
ks
Os js ks
js ϕ
ys
p is y
kb Ob = O s b
xs is = i b
Ob
jb yb xb=xs
ib
xb
55
zb
zs
ys
ObA = cos ϕ
Os
VjsA = sin ϕ
kb
Vks B Vjs
ks
ϕ js
ϕ BVks = -sin ϕ
yb Ob = Os
ObB = cos ϕ
A jb yb
ib = is
is = 1 x ib + 0 x jb + 0 x kb
xb=xs
js = 0 x ib + cosϕ x jb + sinϕ x kb
ks = 0 x ib - sinϕ x jb + cosϕ x kb 56
Dacă atitudinea relativă a celor două repere este
rezultată în urma unei rotaţii, de exemplu în jurul axei
Obxb de unghi ϕ, ca în fig. 2.8, atunci originile celor
două repere coincid, iar descompunerile versorilor
axelor reperului secundar faţă de reperul de bază sunt
uşor de exprimat:
is = i b
js = cos ϕ jb + sin ϕ kb (2.34)
ks = -sin ϕ jb + cos ϕ kb
57
ceea ce detemină următoarea formă pentru matricea de
transformării omogene corespunzătoare:
1 0 0 0
Abs = Rϕx = 0 cosϕ -sinϕ 0 (2.35)
0 sinϕ cosϕ 0
0 0 0 1
62
1 0 0 0
A = 0 1 0 0 (2.39)
0 0 1 0
0 0 0 s
unde s ≠ 1, s ≠ 0 putem constata că pentru un punct
având coordonatele omogene [x y z 1]T, matricea A,
considerată că reprezentând o transformare omogenă,
determină conform relaţiei (2.12) vectorul coloană
[x y z s]T. Aceasta înseamnă, după semnificaţia
factorului de scară (vezi relaţiile (2.3)), o multiplicare
a tuturor coordonatelor cu 1/s.
(rb = Abs rs)
63
De aceea o matrice de forma (2.39) se spune că
determină o transformare de deformare (mărire
pentru 0 < s < 1, şi micşorare pentru s > 1); o
asemenea transformare nu apare în modelarea
cinematică a RI (considerând segmentele RI ca
fiind nedeformabile) şi de aceea în cele ce
urmează vom avea pentru w valoarea 1.
64
2.5. Compunerea transformărilor omogene
67
Această regulă se poate explica în felul următor, luând
în considerare cele două cazuri enunţate mai sus. Să
presupunem cele două repere Obxbybzb şi Osxsyszs
aflate la un moment dat în situaţia din fig. 2.9, când
atitudinea reperului secundar faţă de cel de bază este
dată de matricea de transformare omogenă Abs, adică
are loc:
rb = Abs rs (2.40)
68
zs1
zb1
Os1
xs1
zs
ys1
xs
Ob1 Os
zb yb1
ys
A Abs
Ob yb
xb1
xb
z = zs
zs2
xs4 P
xs3 zs1
ys3 = ys4
Os4
xs2 Os3
ys1 = ys2
30°
-45° O = Os=Os1=Os2 y = ys
x = xs = xs1
Fig. 2.11. O succesiune de mişcări pentru un
segment al unui RI
78
A = T2z R30x I4 R-45y T4y (2.46)
79
1 0 0 0 1 0 0 0 √2/2 0 -√2/2 0
0 1 0 0 0 √3/2 -1/2 0 0 1 0 0
A= 0 0 1 2 0 1/2 √3/2 0 √2/2 0 √2/2 0
0 0 0 1 0 0 0 1 0 0 0 1
1 0 0 0 √2/2 0 -√2/2 0
0 1 0 4 -√2/4 √3/2 -√2/4 2√3 (2.47)
0 0 1 0 √6/4 1/2 √6/4 4
0 0 0 1 0 0 0 1
80
Coordonatele punctului P faţă de reperul de referinţă
Oxyz pot fi culcalate folosind matricea A, conform
relaţiei (2.12):
pf = A p (2.48)
A1(1, 4, 5) B1(1, 8, 5)
D(-1, 4, 0) C(-1, 8, 0)
y
A(1, 4, 0) B(1, 8, 0)
x
Fig. 2.4. Poziţia unui paralelipiped
faţa de un reper de referinţă
85
z
D(0, 1, 0) A(0, 3, 0)
C(4, 1, 0)
y
B(4, 3, 0)
86
A = T2y R180x T-4x R-90z I4 =
0 1 0 -4
1 0 0 2
0 0 -1 0 (2.50)
0 0 0 1
În relaţia de mai sus matricea I4 este cea care exprimă
atitudinea cinematică iniţială între reperul de bază şi cel
secundar. Dacă suntem în cazul în care trebuie determinată
situarea finală a obiectului, atunci matricea A ne permite să
determinăm poziţiile finale ale punctelor ce reprezintă
paralelipipedul. Calculul se bazează pe relaţia (2.12) şi poate fi
efectuat simultan pentru toate punctele reprezentând
paralelipipedul. Astfel, folosind matricea P dată de relaţia
(2.4), care reprezintă situarea iniţială a corpului în coordonate
omogene, situarea finală a acestuia faţă de reperul Oxyz este
87
dată de matricea Pf:
0 4 4 0 0 4 4 0
Pf = A P = 3 3 1 1 3 3 1 1 (2.51)
0 0 0 0 -5 -5 -5 -5
1 1 1 1 1 1 1 1
88
Exemplul 2.6. Fie celula robotizată reprezentată în fig. 2.13
care este dotată cu o cameră de luat vederi. Se consideră că
elementele din celulă – un RI, camera de luat vederi şi obiectul
de manipulat – au ataşate repere triortogonale; în ceea ce ne
interesează aici, RI are ataşate două repere: unul fixat de baza
sa şi altul de apucător, notate cu Obxbybzb şi respectiv
Oapxapyapzap. Prin intermediul camerei de luat vederi se poate
determina atitudinea cinematică a obiectului de manipulat şi
respectiv a apucătorului robotului (reprezentate prin reperele
ataşate acestora) faţă de reperul camerei de luat vederi.
Aceasta înseamnă că sunt cunoscute matricele de transformare
omogenă Acamob, Acamap care dau atitudinile cinematice ale
reperelor Oobxobyobzob şi respectiv Oapxapyapzap faţă de reperul
Ocamxcamycamzcam, pentru care considerăm următoarele valori
numerice (am folosit notaţia Abs = Abs) : 89
Ocam xcam
ycam
zcam
zb
yap
zap
yb
Oap
xap
Ob
xb xob
yob
Oob zob
91
0 1 0 √2
-√2/2 0 √2/2 0
Abap = √2/2 0 √2/2 10√2 (2.53)
0 0 0 1
Pe baza acestor matrice putem afla atitudinea cinematică
a obiectului de manipulat faţă de reperul bazei
robotului, aplicând compunerea transformărilor
omogene. Astfel, presupunând că reperul Oobxobyobzob ar
fi iniţial suprapus peste reperul Obxbybzb, atunci el poate
fi adus printr-o succesiune de mişcări, pe care nu le
cunoaştem explicit, mai întâi în poziţia reperului
Oapxapyapzap; matricea care dă aceste mişcări este
matricea Abap. 92
Din această situare intermediară, pentru că ştim
matricea Acamap, ne imaginăm că obiectul suferă o altă
succesiune de mişcări prin care reperul ataşat lui
ajunge să se suprapună peste reperul camerei de luat
vederi. Pentru a aplica regula compunerii
transformărilor omogene, ceea ce ne este necesar este
matricea de transformare omogenă care să exprime
atitudinea cinematică a camerei de luat vederi faţă de
apucătorul robotului, adică matricea Aapcam; evident
aceasta va putea fi calculată prin: 93
0 -1 0 6
0 0 -1 5√2
Aapcam = (Acamap)-1 = 1 0 0 -4√2 (2.54)
0 0 0 1
ycam
zcam
zb
yap
zap
yb
Oap
xap
Ob
xb xob
yob
Oob zob
0 0 1 5√2
√2/2 √2/2 0 -5√2 (2.56)
√2/2 -√2/2 0 3√2
0 0 0 1
ap Acamap cam
b ob
ob
Abap Acam
Aapcam
100
A0n = A01 A12 … Ai-2i-1 Ai-1i … An-1n (2.57)
101
În matricea dată prin relaţia (2.56) avem informaţiile
cu privire la poziţia şi orientarea obiectului faţă de
baza RI. Ceea ce interesează mai frecvent este
atitudinea cinematică a obiectului faţă de apucătorul
RI, pentru a putea extrage informaţiile cu privire la
mişcările pe care trebuie să le facă RI pentru a-şi
aduce apucătorul în apropierea obiectului, în vederea
prinderii acestuia. Din fig. 2.14 sau din relaţia (2.56)
putem deduce direct valoarea matricei respective,
adică:
102
Aapob = Aapcam Acamob = (Acamap)-1 Acamob =
0 -1 0 -2
0 0 1
4√2 (2.58)
1 0 0
-8-4√2
0 0 0 1
Conform matricei Aapob, şi anume pe baza valorilor din
submatricea de translaţie a acesteia, rezultă că apucătorul
robotului va trebui să se deplaseze (să efectueze o translaţie)
cu 2 unităţi în sensul negativ al axei x a reperului de bază,
cu distanţa 4√2 pe axa y şi respectiv distanţa -8-4√2 pe axa
z pentru a-şi aduce originea propriului reper în originea
reperului obiectului. 103
Submatricea de rotaţie a matricei Aapob ne dă informaţii
cu privire la orientarea relativă a celor două repere:
axa x a reperului obiectului este paralelă sau coincide
cu direcţia axei z a reperului apucătorului şi are
aceeaşi orientare cu aceasta, axa y este paralelă sau
coincide cu direcţia axei x a reperului apucătorului
fiind orientată în sens contrar acesteia, iar axa z a
reperului obiectului este paralelă sau coincide cu
direcţia axei y a reperului apucătorului. Având aceste
informaţii sistemul de comandă al RI poate calcula şi
mişcările de rotaţie necesare pentru a aduce reperul
apucătorului într-o anumită orientare faţă de reperul
obiectului de manipulat. 104