Documente Academic
Documente Profesional
Documente Cultură
DOROFTEI
BAZELE ROBOTICII
CURS
(revizuit 2016)
O lucrare aduce greeli: greelile snt
un ndemn spre a face mai bine; vine o
zi cnd lucrtorul moare zdrobit; dar lumii
i-a folosit i munca lui i durerile ce au
adus o munc nou.
N. Iorga
J. W. Goethe
Autorul
i
Bazele roboticii
ii
PREFA
iii
Bazele roboticii
Ioan D. Doroftei
15.03.2016
iv
CUPRINS
Cuprins ................................................................... v
v
Cuprins
vi
Bazele Roboticii
vii
Cuprins
6.1 Generaliti......................................................................173
6.2 Micarea general a corpului rigid........................................174
6.2.1 Viteza unghiular a unui corp rigid..........................174
6.2.1.1 Exemplu.................................................176
6.2.2 Viteza liniar a unui punct......................................177
6.2.3 Acceleraia liniar a unui punct...............................179
6.3 Propagarea vitezelor i acceleraiilor de la un element la altul..180
6.3.1 Scrierea ecuaiilor n raport cu sistemul de
referin {0}........................................................181
6.3.1.1 Viteza unghiular, exprimat n raport cu
sistemul de referin {0}..........................181
6.3.1.2 Acceleraia unghiular, exprimat n raport
cu sistemul de referin {0}......................181
6.3.1.3 Viteza liniar, exprimat n raport cu
sistemul de referin {0}.........................182
viii
Bazele Roboticii
7.1 Generaliti......................................................................231
7.2 Momentele de torsiune din cuple.........................................233
7.3 Metoda recursiv..............................................................234
7.4 Exemplu..........................................................................235
ix
Cuprins
x
Bazele Roboticii
9.1 Generaliti......................................................................319
9.2 Generarea n spaiul cuplelor cinematice.............................. 320
9.2.1 Polinoame de ordinul trei.......................................321
9.2.2 Funcii polinomiale cubice pentru o traiectorie cu
puncte intermediare.............................................323
9.2.3 Polinoame de ordin mai mare ca trei.......................327
9.2.4 Funcii liniare cu segmente parabolice.....................328
9.2.4 Funcii liniare cu segmente parabolice, pentru
traiectorii cu puncte intermediare...........................330
9.3 Generarea n spaiul cartezian de lucru.................................333
9.3.1 Micare dup o dreapt.........................................334
9.4 Probleme geometrice la generarea traiectoriilor n spaiul de
lucru...............................................................................334
9.4.1 Probleme de tipul 1: puncte intermediare din afara
spaiului de lucru..................................................334
9.4.2 Probleme de tipul 2: viteze mari ale cuplelor n
vecintatea singularitilor.....................................335
9.4.3 Probleme de tipul 3: soluii diferite de atingere a
punctului iniial i final..........................................336
xi
1
INTRODUCERE
1.1 Generaliti
Robotica este un domeniu fascinant, interdisciplinar, ce merit
abordat de cei pasionai de tehnic. Pe de o parte, exist o mare
diversitate de aplicaii excitante, n permanen fiind posibil
conceperea unor noi sisteme. Pe de alt parte, roboii sunt interesani
prin ei nii, crearea de oameni artificiali, spre exemplu, constituind
preocuprile multor cercettori.
n prezent, datorit realizrilor n domeniul interdisciplinar
numit robotic, roboii nu mai sunt doar nite chestii specifice
filmelor tiinifico-fantastice, ci fac parte integrant din viaa noastr.
Dac la nceput acetia erau utilizai doar pentru nlocuirea omului n
activitile industriale grele i murdare, evoluia rapid a acestui
domeniu conduce la o explozie a aplicaiilor roboilor, n special n
sfera serviciilor. Astzi, roboii vopsesc, sudeaz caroserii sau
monteaz diverse subansamble n industria de autoturisme,
efectueaz diverse operaii (manipulare, ambalare, etc.) n industria
alimentar, dozeaz i ambaleaz medicamente ntr-o unitate de
profil, pesc n cratere de vulcani activi, conduc trenuri, in
companie unor persoane, efectueaz operaii chirurgicale, asist
persoane handicapate, alimenteaz autoturismele cu combustibil,
efectueaz diverse activiti pe staiile orbitale, detecteaz i
dezamorseaz bombe, contribuie la educarea studenilor n domeniul
roboticii, etc. Deoarece roboii devin tot mai tenace, mai ageri i mai
inteligeni, acetia efectueaz tot mai multe activiti, pe care
oamenii nu pot sau nu vor s le fac.
Roboii au aprut n jurul nostru de mai puin de 50 de ani,
dar ideea realizrii unor creaturi care s execute poruncile noastre
este mult mai veche. Poetul grec Homer descrie servitoarele de aur,
ajutoare mecanice construite de Hephaistos. n 1495, Leonardo da
Vinci concepe planurile unui om mecanic. Dar apariia roboilor
adevrai nu putea fi posibil nainte de 19501960, cnd au fost
inventai tranzistorii i, apoi, circuitele integrate. Astfel, electronica i
1
1. Introducere
1.2 Definiii
n prezent, nu exist o definiie precis a robotului dar, n
accepiunea general a specialitilor n domeniu, acesta este o
main programabil, care imit aciunile sau aspectul unei creaturi
inteligente de obicei omul. Pentru a fi considerat robot, maina
respectiv trebuie s fie capabil s fac dou lucruri: a) s culeag
informaii din mediul nconjurtor i b) s efectueze o activitate fizic,
ca de exemplu, s se deplaseze sau s manipuleze un obiect.
Definiiile existente n literatura de specialitate sunt mult mai
restrictive, acestea limitndu-se la robotul industrial. n cele ce
urmeaz vor fi exemplificate doar cteva dintre aceste definiii.
Dup Institutul American de Robotic:
Robotul este un manipulator multifuncional reprogramabil,
conceput s manipuleze materiale, componente, scule sau
dispozitive specializate, prin micri variabil programate, n
scopul executrii unei varieti de misiuni.
Att standardul international ISO 8373, ct i standardul
romnesc STAS R 12928/1-90, definesc robotul industrial astfel:
Un manipulator cu comand automat, cu program flexibil,
reprogramabil, multifuncional, cu mai multe grade de
mobilitate, fix sau mobil, destinat utilizrii n cadrul proceselor
industriale automatizate.
Astzi, aceste definiii sunt prea restrictive, limitnd roboii la
aplicaiile industriale i, ntr-adevr, unii oameni cred c robotica ar
trebui s fie o ramur a tehnologiei de fabricaie. Odat cu trecerea
timpului, robotica s-a extins i se extinde foarte mult, incluznd:
platforme mobile, roboi pentru servicii, telerobotica, etc., ceea ce
justific o definire mai larg a robotului.
O definiie, considerat de V. Kumar (University of
Pennsylvania) ca fiind mbuntit, poate fi urmtoarea:
Robotul este un mecanism controlat de calculator, care
2
Bazele Roboticii
1.3 Istoric
3
1. Introducere
1920 Scriitorul ceh Karel Capek folosete cuvntul robot n piesa de teatru
Roboii universali ai lui Rossum (R.U.R.). Cuvntul provine din limba
ceh, n care robotnik nseamn muncitor sau sclav.
1938 Este proiectat prima main programabil de vopsire prin
pulverizare, de americanii Willard Pollard i Harold Roselund,
DeVilbiss Company.
1942 Scriitorul canadian de origine rus Isaac Asimov utilizeaz pentru
prima dat cuvntul robotic n povestirile sale tiinifico-fantastice
(public Runaround) i formuleaz cele trei legi fundamentale ale
roboticii
1946 Americanul George Devol obine patentul pentru un sistem de
nregistrare magnetic a informaiei, utilizat pentru controlul
mainilor (utiliznd un nregistrator magnetic); J. Presper Eckert i
John Mauchly au realizat primul calculator electronic (ENIAC) la
Universitaty of Pensilvania; La MIT, primul calculator digital Whirlwind
rezolv prima sa problem.
1948 Norbert Wiener, profesor la MIT, public Cybernetics or Control
Communication in the Animal, o carte care descrie conceptul de
comunicare i control n electronic, mecanic i sisteme biologice.
1951 Raymond Goertz, Frana, proiecteaz primul manipulator articulat
4
Bazele Roboticii
5
1. Introducere
6
Bazele Roboticii
7
1. Introducere
8
Bazele Roboticii
9
1. Introducere
1.5.1 Generaliti
10
Bazele Roboticii
Mare
Automatizare
flexibil
Varietatea
produciei
Medie Automatizare
programabil
11
1. Introducere
12
Bazele Roboticii
13
1. Introducere
14
Bazele Roboticii
15
1. Introducere
Cr
P = (1.1)
(
S + E + U Ci + C p )
unde:
P - perioada de amortizare, n numr de ani;
C r - cheltuielile totale fcute pentru realizarea robotului,
inclusiv cheltuielile de punere n funciune;
S salariul anual al muncitorilor nlocuii de robot, inclusiv
primele;
E economiile fcute prin instalarea robotului, economii
datorate: creterii productivitii, a calitii muncii, economiei de
materiale, absenei locurilor de parcare i a cantinelor, nevoii mai
16
Bazele Roboticii
unde:
R rata anual a rentabilitii investiiei;
N durata de via util, n numr de ani, a robotului (cel
puin 8 ani).
17
1. Introducere
18
Bazele Roboticii
19
1. Introducere
20
Bazele Roboticii
21
1. Introducere
Roboi
de tip manipulator
oRoboi seriali
oRoboi paraleli
Roboi
mobili
oRoboi mobili cu roi sau enile
oRoboi pitori (dintre acetia, o categorie aparte o
constituie roboii umanoizi)
o Roboi mobili cu locomoie hibrid, etc.
Roboi de tip hibrid (manipulator montat pe o platform
mobil)
(a) (b)
22
Bazele Roboticii
(a) (b)
(c) (d)
Roboi industriali
Roboi pentru servicii
Roboi comandai la distan
Interfee mecanice pentru realitatea virtual
23
1. Introducere
24
Bazele Roboticii
25
1. Introducere
mbinare;
lipire;
manipulare pentru operaii de asamblare;
altele;
Roboi pentru operaii de manipulare n vederea
paletizrii/ambalrii;
Roboi pentru msurare/inspecie/testare;
Roboi pentru manipularea de materiale;
Roboi pentru antrenament/educaie/cercetare;
Alte tipuri de roboi.
Robot
articulat
sau antro-
pomorf
Robot n
coordona-
te sferi-ce
sau
polare
Robot tip
SCARA
(Selected
Compli-
ance Ar-
ticulated
Robot
Arm)
26
Bazele Roboticii
Robot n
coordo-
nate
cilindrice
Robot n
coordo-
nate
cartezie-
ne
Robot
paralel
27
1. Introducere
28
Bazele Roboticii
29
1. Introducere
- Asamblare;
- Debavurare;
- Decupare;
- Manipulare;
- Msurare-control;
- Paletizare;
- Sudare:
- prin puncte;
- cu arc electric;
- cu gaz;
- cu laser;
- Tiere cu plasm;
30
Bazele Roboticii
31
1. Introducere
32
Bazele Roboticii
Fig. 1.19 Robot pentru prjit cartofi Fig. 1.20 Bar automat
33
1. Introducere
34
Bazele Roboticii
1.7.3.2 Teleroboi
35
1. Introducere
36
Bazele Roboticii
(a)
(b)
37
1. Introducere
38
Bazele Roboticii
39
1. Introducere
40
2
STRUCTURA SISTEMULUI
MECANIC
2.1 Definiii
Elementul cinematic este un corp solid, format dintr-o singur
pies mecanic sau din mai multe piese mbinate rigid ntre ele.
Elementele cinematice pot fi rigide sau flexibile (cabluri, curele). n
lucrarea de fa, elementele cinematice vor fi considerate corpuri
rigide.
Legtura direct i mobil dintre dou elemente cinematice
poart numele de cupl cinematic. Numrul de parametri
independeni care determin complet poziia relativ a celor dou
elemente reprezint gradul de mobilitate al cuplei, m, acesta fiind
egal i cu numrul micrilor elementare pe care le poate executa un
element cinematic al cuplei n raport cu cellat.
Principalele tipuri de cuple cinematice ntlnite n structura
roboilor sunt prezentate n Tabelul 2.1. Pentru comparaie, n Fig.
2.1 sunt prezentate tipurile de articulaii ntlnite n anatomia uman,
exemplificndu-se i zonele corpului omenesc unde apar aceste
legturi.
Lanul cinematic este o niruire de elemente cinematice,
legate ntre ele prin cuple cinematice.
Mecanismul este un lan cinematic, care are urmtoarele
proprieti:
Conine un element de referin, considerat fix, numit baz
sau batiu, n raport cu care are loc micarea celorlalte
elemente;
Are un numr de cuple cinematice conductoare, stabilit
astfel nct micarea tuturor elementelor s fie determinat.
Mecanismul poate fi constituit din lanuri cinematice: deschise
(Fig. 2.2.a i 2.2.b) sau nchise (Fig. 2.2.c i 2.2.d), seriale (Fig. 2.2.a
i 2.2.b) sau paralele (Fig. 2.2.c i 2.2.d), plane (Fig. 2.2.a i 2.2.c)
sau spaiale (Fig. 2.2.b i 2.2.d).
Un lan cinematic este denumit nchis dac acesta formeaz o
41
2. Structura sistemului mecanic
1
Rotaie (R)
-plan -spaial
1
Translaie (T)
Cilindric (C) 2
Elicoidal (E) 1
Sferic (S) 3
Universal (U) 2
42
Bazele Roboticii
43
2. Structura sistemului mecanic
(a) (b)
(c) (d)
44
Bazele Roboticii
Sistem mecanic
45
2. Structura sistemului mecanic
46
Bazele Roboticii
47
2. Structura sistemului mecanic
48
Bazele Roboticii
49
2. Structura sistemului mecanic
50
Bazele Roboticii
(a) (b)
51
2. Structura sistemului mecanic
6
M = 6 (7 6 1) + mi = 0+6 = 6
i 1
52
Bazele Roboticii
unde:
= l1 AB
= ; l2 BM
53
2. Structura sistemului mecanic
M' xM
M
1 M' M M"
1 1 1
A
A
M" 0
(a) (b)
M' M"
B 2
M 2 O2 M
B' 2 1
B 1
A M'
V
M'"
r
1 B" 0 Spatiul de y1
r lucru
A
0 Spatiul de
lucru O1
(a) (b)
x2
2 B
M' M" 2 lucru
1 M M
1 1 Spatiul de B' B B"
A r
lucru
0 M' V
O1
M'" A 0
x1
(c) (d)
54
Bazele Roboticii
xM = x1
(2.8)
yM = y1
(c) - RT
xM =l1 cos 1 + x2 cos 1 2
(2.9)
y =l sin + x sin
M 1 1 2 1 2
unde:
= l1 OB
= ; l2 BM
(d) - TT
x=M x1 + l2 cos 2
(2.10)
yM= l1 + l2 sin 2
unde:
= l1 AB
= ; l2 BM .
Cunoscnd coordonatele xM , yM ale punctului caracteristic, se
pot determina suprafeele spaiilor de lucru generate de mecanismul
de poziionare. Aici s-au discutat doar variantele structurale ale unui
mecanism de poziionare format dintr-un lan cinematic deschis. ns,
aa cum s-a menionat anterior, acesta poate fi conine n structura
sa i bucle nchise.
Configuraiile posibile de mecanisme de poziionare cu spaiu
de lucru tridimensional sunt prezentate n Fig. 2.9. Se poate observa
c, la creterea numrului de cuple cinematice de rotaie, crete
numrul configuraiilor de mecanisme de poziionare. Numrul
configuraiilor devine maxim atunci cnd toate cuplele cinematice
sunt de rotaie.
Forma spaiilor de lucru pentru configuraiile din Fig. 2.9 sunt
prezentate n Fig. 2.10. Dintre aceste configuraii de mecanisme de
poziionare se desprind cteva, foarte ntlnite n practic, ce intr n
structura urmtoarelor tipuri de roboi:
robot articulat sau antropomorf, asemenea braului uman
RRR;
robot n coordonate sferice sau polare RRT;
robot tip SCARA (Selected Compliance Articulated Robot
Arm), cu toate axele cuplelor pe direcie vertical RRT;
robot n coordonate cilindrice RTT;
robot n coordonate carteziene - TTT.
55
2. Structura sistemului mecanic
C M
3 C M
2 B 3 M C 3
2 B B C 3
M
RRR
B 2
1 Antropomorf 1 1 1
2
A 0 A 0 A 0 A 0
C M
C C
B 3 M 3 2
3
2 B M
RTR
2 B
1 1 1
A 0 A 0 A 0
C C B 2
B 3 M B
2 2 M
3 M 3
TRR
1 C
1 1
0 A 0 A 0 A
C
C 3 M B
B
2 B 2
RRT
2
1 3
1 In 1 3 M
M coordonate C
0 A 0 A sferice 0 A
SCARA
C C
3 M
3 M 2
B
2
TRT
1 B
1
0 A 0 A
C
3 M
B
2
RTT
1 In
coordonate
0 A cilindrice
B M
TTR
1 2 3
0 A C
M
2 3
1
TTT
B C
A In
0
coordonate
carteziene
56
Bazele Roboticii
RRR
RTR
TRR
RRT (antropomorf)
In coordonate
TRT
sferice
SCARA
RTT
In coordonate
cilindrice
TTR
TTT
In coordonate
carteziene
57
2. Structura sistemului mecanic
58
Bazele Roboticii
59
2. Structura sistemului mecanic
60
Bazele Roboticii
61
2. Structura sistemului mecanic
62
Bazele Roboticii
63
2. Structura sistemului mecanic
MP D z
1 1 R 3 4
MP mecanism de poziionare
(considerat cu M=3)
MP O E z
Axe
2 2 RR concurente
3 5
4 n O
4
y
MP O
z 5 Axe
ay neconcurente
3 2 Ra y R 4 E
offset
x O' OO=a y
5
y
D
4 6 Axe
MP E F
4 3 RRR concurente
O z n O
3 6
5 y 5
x
F 6
MP D E Axe
5 3 RRR O z concurente
3 4 6
5 n O
y 5
64
Bazele Roboticii
MP D O E
z Axe
6 3 RRR 3 4 5 concurente
5
x 6 n O
F
6
y
D
6 Axe
3 4 E F z neconcurente
7 3 Ra z RR O'
O offset
az 6 OO=a z
5
5
y
4 4
D O'
MP 6 Axe
ax
F z neconcurente
8 3 Ra x RR 3 O
E offset
6 OO=a x
x
5
5
y
D O 4
MP z
E Axe
3
neconcurente
ax
9 3 RRa x R 5 6
offset
OO=a x
x O' F 6
5
y
4
F 6
RRR O Axe
MP z neconcurente
10 3 3 E 6
a
(RRa4 R 4 ) 3 4 5 offset
D O' 4 OO=a
x 5 y
65
2. Structura sistemului mecanic
z
6
dreapta
caracteristica
unghi
4
auxiliar ' dreapta
auxiliara
4
5 z y
unghi
x x
y de serviciu
66
Bazele Roboticii
67
2. Structura sistemului mecanic
68
Bazele Roboticii
69
2. Structura sistemului mecanic
70
Bazele Roboticii
71
2. Structura sistemului mecanic
72
Bazele Roboticii
73
2. Structura sistemului mecanic
74
Bazele Roboticii
75
2. Structura sistemului mecanic
76
Bazele Roboticii
(a)
(b)
77
2. Structura sistemului mecanic
78
3
TRANSFORMRI DE
COORDONATE
3.1 Generaliti
n studiul roboticii suntem n mod constant confruntai cu
problema localizrii unor obiecte n spaiul tridimensional. Aceste
obiecte sunt elementele cinematice ale manipulatorului, obiectul
manipulat sau scula de lucru, precum i alte obiecte din mediul de
operare al manipulatorului. Aceste obiecte sunt descrise de dou
caracteristici: poziie i orientare. Problema de interes imediat o
constituie maniera n care reprezentm aceste cantiti i modelarea
matematic a acestora.
Poziiile i orientrile relative ale elementelor cinematice, ale
unui robot de tip manipulator, sunt definite de parametrii variabili ai
cuplelor cinematice. Deoarece fiecare element reprezint un corp
rigid, este necesar ca acestuia s i se ataeze un sistem de
coordonate cartezian. n aceste condiii, configuraia robotului este
definit de poziiile i orientrile relative ale sistemelor de axe ataate
fiecrui element cinematic (Fig. 3.1). Aceste poziii depind de
geometria robotului i de parametrii cinematici ai cuplelor.
n robotic, sistemele de coordonate utilizate respect regula
minii drepte (vezi Fig. 3.2). Sensurile pozitive ale axelor unui sistem
cartezian ce respect aceast regul se obine astfel: innd mna
dreapt deschis, cu degetul mare desfcut, direcia palmei (celor
patru degete) va indica sensul pozitiv al axei x , iar degetul mare va
indica sensul pozitiv al axei z . Sensul pozitiv al axei y se va obine
ndoind cu 90 cele patru degete.
Un astfel de sistem de axe se obine i aplicnd regula
burghiului drept. Conform acestei reguli, rotind axa x spre dreapta,
pentru a o suprapune peste axa y , sensul pozitiv al axei z ar fi cel
dat de sensul de deplasare axial a burghiului drept, rotit n acelai
sens.
79
3. Transformri de coordonate
z z
x x y
x
y y
80
Bazele Roboticii
zn
P
_ yn
rn
_ On
r n-1
zn-1
_
r
xn
yn-1
On-1
x n-1
unde:
xn 1 x xn
n 1
P = yn 1 ; nTr = y ; P = yn ;
n 1 n
zn 1 z zn
81
3. Transformri de coordonate
zn-1
zn x
yn
x yn-1
_
On-1=On
_
x n-1=x n
82
Bazele Roboticii
1 0 0
Rx ( x ) 0 cos x
= sin x (3.4)
0 sin x cos x
cos y 0 sin y
( )
Ry y = 0 1 0 (3.5)
sin 0 cos y
y
cos z sin z 0
Rz ( z ) = sin z cos z 0 (3.6)
0 0 1
R ( ) =
RT ( ) (3.7)
83
3. Transformri de coordonate
1 0 0
I3 = 0 1 0 (3.11)
0 0 1
84
Bazele Roboticii
0 1 0
0
2R = 10R 21R = 0 0 1 (3.14)
1 0 0
z0 z0 z1
y1
y1 y2
y0 x1
z2
x0
(a)
x2
z' 0 y' 2
y' 0
y' 0 y' 1 x' 2
z' 1 z' 1
x' 0 z' 2
x' 1
(b)
Fig. 3.5 Rotaii succesive: a) succesiunea z0 y1 ;
b) succesiunea y0' z1'
0 0 1 0 1 0
0'
1' R = 0 1 0 ; 1'
2' R = 1 0 0 (3.15)
1 0 0 0 0 1
85
3. Transformri de coordonate
z0 z0 z1 y2
y1 y0
y0 x1 x2
x0 z2
(a)
z' 0 z' 0
y' 0
y' 2
y' 0 y' 1
z' 2
z' 1
x' 0
x' 1 x' 2
(b)
Fig. 3.6 Rotaii succesive: a) succesiunea z0 y0 ;
b) succesiunea y0' z0'
0 0 1
0
2R = 0 1
1R 2 R = 1 0 0 (3.19)
0 1 0
86
Bazele Roboticii
0 0 1 1 0 0
0'
1' R = 0 1 0 ; 1'
2' R = 0 0 1 (3.20)
1 0 0 0 1 0
0 1 0
0'
2' R = 0' 1'
1' R 2' R = 0 0 1 (3.21)
1 0 0
0 0'
i n acest caz 2R 2' R , ceea ce nseamn c succesiunea
rotaiilor nu este comutativ. ns, se poate observa c succesiunea
(a) din Fig 3.5 este comutativ cu succesiunea (b) din Fig. 3.6, iar
succesiunea (b) din Fig 3.5 este comutativ cu succesiunea (a) din
Fig. 3.6.
n robotic, rotaiile succesive sunt raportate la sistemul de
axe curent, ca n exemplul prezentat n Fig. 3.5.
87
3. Transformri de coordonate
unde:
xn
xn 1
y
n 1
P = yn 1 ; n
P = n;
zn
zn 1
1 1
88
Bazele Roboticii
1 0 0 0
0 cos sin x 0
Rx ( x ) = x
(3.27)
0 sin x cos x 0
0 0 0 1
cos y 0 sin y 0
0 1 0 0
( )
Ry y =
sin y 0 cos y 0
(3.28)
0 0 0 1
cos z sin z 0 0
sin cos z 0 0
Rz ( z ) = z
(3.29)
0 0 1 0
0 0 0 1
89
3. Transformri de coordonate
1 0 0 0 1 0 0 0
0 1 0 y 0 1 0 0
Try = ; Trz = (3.32)
0 0 1 0 0 0 1 z
0 0 0 1 0 0 0 1
n-1
yn-1
zn On-1
x n-1
x
yn
On
respectiv
0 0
P
= 1T 1P (3.34)
90
Bazele Roboticii
0
2
P y2
z1 P {2}
{1} O2
z0
{0}
O1 y1 x2
y0
O0 x1
x0
3 1
0 0
2 2 1 0 0 50
0 1 0 0 1 0 1 0 0
=0
1T R=
y 30
( ) 2T
;= Tr
= x
0 0 1 0
;
1 0
3
0
2 2 0 0 0 1
0 0 0 1
91
3. Transformri de coordonate
1 3
0 0
2 2
=2
3T R
=z 60
( ) 3
2
1
2
0 0
0 0 1 0
0 0 0 1
0
z1 30 0
_
y0=y1
O0(2,4,1)
x0
0
30
y3 x1 50
_
z2=z3
0
60
y2
_
O2=O3
0 x3
60
92
Bazele Roboticii
Rezult:
n
P= n 1 1
nR ( n 1
P n 1
nTr ) (3.36)
93
3. Transformri de coordonate
n n1Tr
0= n 1 T
nR n 1
nTr , adic
n
n 1Tr n n1RT
= n 1
nTr (3.39)
respectiv
0 0
4T = 2T 23T 34T (3.42)
94
Bazele Roboticii
z4
z1 y4
{4}
y1 O4
{1}
O1
x4
z3
x1
y3
{3}
z0 O3
{0}
z2 x3
y0
{2}
O0
x0
O2 y2
x2
95
3. Transformri de coordonate
z2
y4
y2 {4}
{2} O4
O2
z1
{1} x4
x2
O1 y1 z3
x1
y3
z0 {3}
O3
{0}
y0
O0 x3
96
Bazele Roboticii
97
3. Transformri de coordonate
0 0 0
z1
z2 y3
y2
y1 z3
y0 y0 y0
_ x0 x0
x 0=x 1
x2
x3
cos sin 0
0
1 Rxyz ( , , ) = Rz ( ) Ry ( ) Rx ( ) = sin cos 0
0 0 1
(3.53)
cos 0 sin 1 0 0
0 1
0 0 cos sin
sin 0 cos 0 sin cos
98
Bazele Roboticii
( 2
= Atan2 r31 , r11 2
+ r21 ) (3.56)
99
3. Transformri de coordonate
trei rotaii este numit unghiurile lui Euler. Trebuie menionat faptul c
fiecare rotaie are loc n jurul unei axe a crei amplasare depinde de
rotaiile precedente. Deoarece cele trei rotaii se desfoar n jurul
axelor z, y i x, reprezentarea este numit unghiurile Euler Z-Y-X
(Fig. 3.14).
z0=z1 z1 z2 z2
y3
y1 z3
_
y0 y1=y2 y2
x0
x1 x2 x1 _
x 2=x 3
cos sin 0
0
1 Rz ' y ' x ' ( , , ) = Rz ( ) Ry ( ) Rx ( ) = sin cos 0
0 0 1
(3.60)
cos 0 sin 1 0 0
0 1 0 0 cos sin
sin 0 cos 0 sin cos
c c c s s s c c s c + s s
1 Rz ' y ' x ' ( , , ) = s c
0
s s s + c c s s c c s (3.61)
s c s c c
100
Bazele Roboticii
c c s c s
Rx ' z ' y ' ( , , ) =
c s c + s s c c c s s s c (3.63)
s s c c s s c s s s + c c
s s s + c c s s c c s s c
=Ry ' x ' z ' ( , , ) c s c c s (3.64)
c s s s c c s c + s s c c
101
3. Transformri de coordonate
c c c s c + s s c s s + s c
Ry ' z ' x ' ( , , ) s
= c c c s (3.65)
s c s s c + c s s s s + c c
s s s + c c s c s s c + c s
Rz ' x ' y ' ( , , )= c s s + s c c c c s c + s s (3.66)
c s s c c
c c c s s s c c s c + s s
Rz ' y ' x ' ( , , ) = s c s s s + c c s s c c s (3.67)
s c s c c
c s s s c
Rx ' y ' x ' ( , , )= s s s c s + c c s c c c s (3.68)
c s c c s + s c c c c s c
c s c s s
Rx ' z ' x ' (
= , , ) c c c c c s s c c s s c (3.69)
s s s c c + c s s c s + c c
s c s + c c s s s c c + c s
Ry ' x ' y ' ( , , )
= s s c s c (3.70)
c c s s c c s c c c s s
c c c s s c s c c s + s c
Ry ' z ' y ' ( , , ) = s c c s s (3.71)
s c c c s s s s c s + c c
s c s + c c s c c c s s s
Rz ' x ' z ' ( , , )= c c s + s c c c c s s c s (3.72)
s s s c c
102
Bazele Roboticii
c c c s s c c s s c c s
Rz ' y ' z ' ( , , )= s c c + c s s c s + c c s s (3.73)
s c s s c
c c c s c + s s c s s + s c
=Rxzy ( , , ) s c c c s (3.75)
s c s s c + c s s s s + c c
s s s + c c s c s s c + c s
Ryxz ( , , )= c s s + s c c c c s c + s s (3.76)
c s s c c
c c s c s
Ryzx ( , , ) =
c s c + s s c c c s s s c (3.77)
s s c c s s c s s s + c c
s s s + c c s s c c s s c
=Rzxy ( , , ) c s c c s (3.78)
c s s s c c s c + s s c c
c c c s s
Rzyx ( , , )= s s c + c s s s s + c c s c (3.79)
c s c + s s c s s + s c c c
c s s s c
Rxyx ( , , )= s s s c s + c c s c c c s (3.80)
c s c c s + s c c c c s c
103
3. Transformri de coordonate
c s c s s
Rxzx (=
, , ) c c c c c s s c c s s c (3.81)
s s s c c + c s s c s + c c
s c s + c c s s s c c + c s
=Ryxy ( , , ) s s c s c (3.82)
c c s s c c s c c c s s
c c c s s c s c c s + s c
Ryzy ( , , ) = s c c s s (3.83)
s c c c s s s s c s + c c
s c s + c c s c c c s s s
Rzxz ( , , )= c c s + s c c c c s s c s (3.84)
s s s c c
c c c s s c c s s c c s
Rzyz ( , , )= s c c + c s s c s + c c s s (3.85)
s c s s c
104
Bazele Roboticii
z1 z0
k
y1
y0
x0
x1
Se obin:
r11 + r22 + r33 1
= arccos (3.88)
2
105
3. Transformri de coordonate
r32 r23
1
k
= r13 r31 (3.89)
2 sin
r21 r12
106
Bazele Roboticii
0.707
= 30 n jurul vectorului k = 0.707 , ce trece prin punctul P de
0
1
coordonate P = 2 . Calculai matricea de transformare omogen la
3
trecerea de la sistemul {0} la {1}.
nainte de efectuarea rotaiei, sistemele de axe {0} i {1}
coincid. Pentru rezolvarea problemei se definesc dou sisteme de axe
noi, {0} i {1}, care au aceeai origine, aflat n punctul P, a cror
orientare este cea a sistemelor {0} i {1} dar care sunt translate fa
de originea sistemului de referin (Fig. 3.16). n condiiile
menionate, putem scrie:
1 0 0 1
0 1 0 2
0
T = (3.91)
0'
0 0 1 3
0 0 0 1
z1' z0'
k
{0'}
{1'} y1'
y0'
z0
x 0'
{0} x 1' z1
{1} y1
y0
x0
x1
107
3. Transformri de coordonate
1 0 0 1
0 1 0 2
1'
T = (3.92)
1
0 0 1 3
0 0 0 1
108
Bazele Roboticii
e0 = cos (3.96)
2
e=
1 k x sin (3.97)
2
e=
2 ky sin (3.98)
2
e=
3 kz sin (3.99)
2
Aceti parametri nu sunt independeni, ntre ei existnd
relaia:
r13 r31
e2 = (3.105)
4e0
109
3. Transformri de coordonate
r21 r12
e3 = (3.106)
4e0
110
4
CINEMATICA DIRECT A
POZIIILOR
4.1 Generaliti
Cinematica este tiina care se ocup cu studiul micrii
sistemelor mecanice n general, fr a ine seama de forele care
cauzeaz acea micare. n cadrul cinematicii pot fi studiate poziiile,
vitezele i acceleraiile sistemelor menionate.
n acest capitol vom studia poziia i orientarea roboilor de tip
manipulator, n situaii statice. Relaiile existente ntre parametrii de
micare i forele ce o cauzeaz vor fi discutate n cadrul capitolului
de dinamic.
4.2.1 Introducere
111
4. Cinematica direct a poziiilor
M(x,y)
l3
3
l2
C
y 2
B
1 2
l1
A
x
0
Fig. 4.1 Exemplu de manipulator plan
112
Bazele Roboticii
M(x,y)
3
d3
C
y 2
2
l1
B
1
1
A
x
0
113
4. Cinematica direct a poziiilor
4.3.1 Generaliti
b n se ae pe
eT = e (4.2)
0 0 0 1
114
Bazele Roboticii
115
4. Cinematica direct a poziiilor
Oi zi
yi
Oi-1
z1
x1 yi-1
xn
O1
yn
On
z0 y1
y0 zn
O0 0
nT
x0
116
Bazele Roboticii
Cupla i+1
Cupla i
Element i
Cupla i-1
Element i-1 zi
yi
xi
ai
z i-1
a i-1 yi-1
di
x i-1 i
Perpendiculara
comuna
i
117
4. Cinematica direct a poziiilor
118
Bazele Roboticii
respectiv
1 0 0 0 cos i sin i 0 0
i 1
T 0 1 0 0 sin i cos i
=
0 0
i
0 0 1 di 0 0 1 0
0 0 0 1 0 0 0 1
1 0 0 ai 1 0 0 0
0 1 0 0 0 cos i sin i 0
=
0 0 1 0 0 sin i cos i 0
0 0 0 1 0 0 0 1
cos i sin i cos i sin i sin i ai cos i
sin i cos i cos i cos i sin i ai sin i
=
0 sin i cos i di
0 0 0 1
(4.6)
Matricea de transformare omogen a unui robot cu n
elemente, scris n raport cu originea O 0 a sistemului de referin, va
fi:
0 0 1 j 1 n 1
nT= 1T 2T jT nT (4.7)
119
4. Cinematica direct a poziiilor
120
Bazele Roboticii
Cupla i+1
Cupla i
Element i
Cupla i-1
Element i-1
z i-1
zi
yi ai
yi-1
xi
x i-1
a i-1 di
i
Perpendiculara
i-1 comuna
121
4. Cinematica direct a poziiilor
1 0 0 0 1 0 0 ai 1
0 cos 0 0 0 0
i-1 -sini-1 1
=
0 sini-1 cosi-1 0 0 0 1 0
(4.8)
0 0 0 1 0 0 0 1
1 0 0 ai-1
0 cos -sini-1 0
= i-1
0 sini-1 cosi-1 0
0 0 0 1
Screw(zi , di , i ) =
Rot(zi , i ) Transl(zi , di ) =
cosi -sini 0 0 1 0 0 0
sin cos 0 0 0 1 0 0
= i i
=
0 0 1 0 0 0 1 di
(4.9)
0 0 0 1 0 0 0 0
cosi -sini 0 0
sin cos 0 0
= i i
0 0 1 di
0 0 0 1
122
Bazele Roboticii
123
4. Cinematica direct a poziiilor
Element i+1'
Element i
Element i+1"
Cupla i+1"
(a)
zi+1' zj-1
x i+1' j-1
jT xj
Oj-1
Oi+1'
i
i+1' T yj-1
z0 zj xn
zi yi+1' yj Oj
Oi yi On zn
O0 y0 xk
x i+1"
x0 xi zi+1" yn
i
i+1"T
Ok zk
Oi+1" yk
yi+1"
(b)
124
Bazele Roboticii
x3
y3 _
M=O3
3
y2
l3
x2
C
y0 y1 2
l2
x1
l1 B
A 1
x0
125
4. Cinematica direct a poziiilor
126
Bazele Roboticii
0 0 1 0
0 1 0 0
3
T = (4.15)
e
1 0 0 0
0 0 0 1
127
4. Cinematica direct a poziiilor
x3'
y3' _
M=O3'
x3 3
l3
y3
C
l2
y0 x2 2
y2
y1
x1 B
l1
A 1
x0
cos 1 sin1 0 0
sin cos 1 0 0
0
T = 1
(4.17)
1
0 0 1 0
0 0 0 1
cos 2 sin2 0 l1
sin cos 2 0 0
1
T = 2
(4.18)
2
0 0 1 0
0 0 0 1
cos 3 sin3 0 l2
sin cos 3 0 0
2
T = 3
(4.19)
3
0 0 1 0
0 0 0 1
128
Bazele Roboticii
1 0 0 l3
0 1 0 0
3
T = (4.20)
3'
0 0 1 0
0 0 0 1
3
C
y2 x1'
l3
l2
2 y1
D
x1 y1'
y0 y3 l4
B l1 x3
l1'
1'
1 x4
A
x0 y4
129
4. Cinematica direct a poziiilor
130
Bazele Roboticii
1 0 0 l4
0 1 0 0
3
T = (4.26)
4
0 0 1 0
0 0 0 1
c123 s123 0
0
3R = s123 c123 0 (4.28)
0 0 1
adic
131
4. Cinematica direct a poziiilor
1
c123 s123 0 l1 c1 + l2 c12 + l3 c123 l1' c1' 0
s
123 c123 0 l1 s1 + l2 s12 + l3 s123 l1' c1' = 0 (4.31)
0 0 1 0 3d
1'
3
Deoarece l1 = l3 , l2 = l1' , 1' d = 0 i
s123 c123 0
3 0 1 c s123 0 ,
0R
= 3=R 123 (4.32)
0 0 1
aceasta nseamn:
=
2 1' 1
(4.34)
3 = 2 = 1' + 1
nlocuind condiiile (4.34) n matricea (4.27), matricea
omogen total a manipulatorului va fi:
c1 s1 0 l1' c1' l4 c1
s c1 0 l1' s1' l4 s1
0
T = 0
T 3
T = 1 (4.35)
4 3 4
0 0 1 0
0 0 0 1
unde: si = sin i , ci = cos i , i = 1,1' .
Relaiile (4.35) demonstreaz faptul c braul tip paralelogram
este echivalent din punct de vedere cinematic cu un manipulator plan
cu dou grade de mobilitate. Diferena este c cele dou cuple
cinematice conductoare sunt amplasate la baza manipulatorului.
Aceasta simplific mult modelul dinamic al acestei structuri.
132
Bazele Roboticii
cos 2 0 sin2 0
sin 0 cos 2 0
1
T = 2
(4.37)
2
0 1 0 l2
0 0 0 1
133
4. Cinematica direct a poziiilor
1 0 0 0
0 1 0 0
2
T = (4.38)
3
0 0 1 d3
0 0 0 1
134
Bazele Roboticii
135
4. Cinematica direct a poziiilor
sin5 0 cos 5 0
cos 0 sin5 0
4
T = 5
(4.45)
5
0 1 0 0
0 0 0 1
136
Bazele Roboticii
sin6 cos 6 0 0
cos sin6 0 0
5
T = 6
(4.46)
6
0 0 1 l6
0 0 0 1
137
4. Cinematica direct a poziiilor
sin5 cos 5 0 0
0 0 1 0
4
T = (4.49)
5
cos 5 sin5 0 0
0 0 0 1
sin6 cos 6 0 0
0 0 1 l6
5
T = (4.50)
6
cos 6 sin6 0 0
0 0 0 1
138
Bazele Roboticii
139
4. Cinematica direct a poziiilor
cos 2 0 sin2 0
sin 0 cos 2 0
1
T = 2
(4.53)
2
0 1 0 l2
0 0 0 1
1 0 0 0
0 1 0 0
2
3T = (4.54)
0 0 1 d3
0 0 0 1
sin4 0 cos 4 0
cos 0 sin 4 0
3 4
4T = (4.55)
0 1 0 0
0 0 0 1
sin5 0 cos 5 0
cos 0 sin5 0
4
T = 5
(4.56)
5
0 1 0 0
0 0 0 1
sin6 cos 6 0 0
cos sin6 0 0
5
T = 6
(4.57)
6
0 0 1 l6
0 0 0 1
0 0 0n 60 s 06 a 60 p
6T = 1T 12T 23T 34T 45T 56T = 6 (4.58)
0 0 0 1
unde
140
Bazele Roboticii
60nx c1 c2 ( s4 s5 s6 + c4 c6 ) s2c5 s6 s1 ( c4 s5 s6 + s4 c6 )
0
6 n = 0
6 yn = s c
1 2 ( s s s
4 5 6 + c c
4 6 ) s c s
2 5 6 + c1 ( c s s
4 5 6 + s c )
4 6 (4.60)
60nz s2 ( s4 s5 s6 + c4 c6 ) c2c5 s6
60ax c ( c s c + s s ) s c c
1 2 4 5 2 5 1 4 5
6 a = 6 ay = s1 ( c2 s4 c5 + s2 s5 ) + c1c4 c5
0 0
(4.62)
60az s2 s4 c5 + c2 s5
141
4. Cinematica direct a poziiilor
cos 2 sin2 0 0
0 0 1 l2
1
2T = (4.64)
sin2 cos 2 0 0
0 0 0 1
1 0 0 0
0 0 1 d3
2
3T = (4.65)
0 1 0 0
0 0 0 1
sin4 cos 4 0 0
cos sin4 0 0
3
T = 4
(4.66)
4
0 0 1 0
0 0 0 1
sin5 cos 5 0 0
0 0 1 0
4
T = (4.67)
5
cos 5 sin5 0 0
0 0 0 1
142
Bazele Roboticii
sin6 cos 6 0 0
0 0 1 l6
5
T = (4.68)
6
cos 6 sin6 0 0
0 0 0 1
143
4. Cinematica direct a poziiilor
144
Bazele Roboticii
adic
t w 1
gT= tT wbT 1 bsT gsT (4.72)
145
4. Cinematica direct a poziiilor
146
5
CINEMATICA INVERS A
POZIIILOR
5.1 Generaliti
n capitolul anterior s-a considerat problema determinrii
poziiei i orientrii efectorului final, n raport cu un sistem de
referin fix, atunci cnd se cunosc parametrii cinematici ai cuplelor
robotului. n acest capitol, se va rezolva o problem mult mai dificil
i anume, fiind date poziia i orientarea efectorului final n raport cu
sistemul de referin, se vor determina parametrii cinematici ai
cuplelor, parametri ce sunt necesari asigurrii poziiei i orientrii
impuse. Aceast abordare este numit cinematica invers a roboilor
i const n rezolvarea unor ecuaii matematice. Deoarece aceste
ecuaii sunt, n general, neliniare i complicate, analiza cinematic
invers poate deveni dificil. De asemenea, chiar dac rezolvarea
ecuaiilor neliniare este posibil, acestea nu au soluii unice.
147
5. Cinematica invers a poziiilor
148
Bazele Roboticii
y2
y1
l2 x2
y0 2 M
x1
B
l1
A
x0
0
149
5. Cinematica invers a poziiilor
3 M
2
C
B
1
A B'
0
150
Bazele Roboticii
M
3
M'
C
2
B
Obstacol
A
0
151
5. Cinematica invers a poziiilor
152
Bazele Roboticii
y = sin x
arccos y = x i arccos y = x
respectiv
arctgy = x i arctgy= + x .
s
arctg c , pentru c > 0
s
Atan2
= (s,c ) arctg + sign ( s ) , pentru c < 0 (5.1)
c
sign ( s ) , pentru c = 0
2
153
5. Cinematica invers a poziiilor
x3 3
l3
y3
C
l2
y0 x2 2
y2
y1
x1 B
l1
A 1
x0
154
Bazele Roboticii
c s 0 l1 c1 + l2 c12
0
T = s c 0 l1 s1 + l2 s12
(5.3)
3
0 0 1 0
0 0 0 1
cos
= cos (1 + 2 + 3 ) (5.4)
sin (1 + 2 + 3 )
sin= (5.5)
155
5. Cinematica invers a poziiilor
Fcnd notaiile
t = l1 + l2 cos 2 (5.16)
u= l2 sin2 (5.17)
vom obine
xC = t cos 1 u sin1 (5.18)
v
= t 2 + u2 (5.20)
i
= Atan2 ( u, t ) (5.21)
atunci
156
Bazele Roboticii
t= v cos (5.22)
u= v sin (5.23)
respectiv
=1 Atan2 (=
yC , xC ) Atan2 ( yC , xC ) Atan2 ( u, t ) (5.29)
1 + 2 + 3 Atan2
= = (
s , c ) (5.30)
157
5. Cinematica invers a poziiilor
(
xC2 + yC2 = l12 + l22 2 l1 l2 cos 2 180 ) (5.31)
y0
3 M
yC
l2 C
2
B 2
l1
1
B'
A
xC x0
0
tim c
(
cos 2 180 = )
cos 2 (5.32)
158
Bazele Roboticii
de unde obinem
= Atan2 ( yC , xC ) (5.36)
de unde
unde semnul plus este utilizat atunci cnd 2 < 0 , iar semnul minus
atunci cnd 2 > 0 .
Cunoscnd unghiurile 1 i 2 , putem acum determina unghiul
3 tiind c pentru manipulatorul plan
1 + 2 + 3 =
(5.40)
adic
3 = 1 2 (5.41)
159
5. Cinematica invers a poziiilor
b a
= Atan2 , (5.44)
2 2
a +b a2 + b2
n aceste condiii, ecuaia noastr poate fi rescris astfel:
respectiv
c
cos cos + sin sin + 0
= (5.46)
a + b2
2
sau
160
Bazele Roboticii
c
cos ( ) = (5.47)
a2 + b2
Vom avea dou soluii ale lui , n funcie de cunoscut:
c
= arccos (5.48)
2 2
a +b
1 u2
cos = (5.50)
1 + u2
2u
sin = (5.51)
1 + u2
Aceste substituii transform ecuaia noastr ntr-un polinom
n u
1 u2 2u
a + b +c =
0 (5.52)
1 + u2 1 + u2
respectiv
( ) (
a 1 u2 + 2 b u + c 1 + u2 =
0 ) (5.53)
( a + c ) u2 + 2 b u + ( a + c ) =0 (5.54)
b a2 + b2 c 2
u= (5.55)
ca
Rezult
161
5. Cinematica invers a poziiilor
b b2 c 2 + a2
= 2 arctg (5.56)
ca
Dac soluia (5.55) este un numr complex, nu exist o soluie
real pentru ecuaia (5.42). Trebuie notat faptul c, dac c a =0,
argumentul funciei arctg devine infinit i = 180 .
(t l1 cos 1 )2 + (u l1 sin1 )2 =
(5.60)
2 2
= l2 cos (1 + 2 ) + l2 sin (1 + 2 )
162
Bazele Roboticii
1= arccos
(
t 2 + u2 + l 2 l 2
1 2 ) (5.62)
2 2
2 l1 t + u
unde
u t
= atan2 , (5.63)
2 2
t +u t 2 + u2
t l1 cos 1
cos (1 + 2 ) = l
2
(5.64)
cos ( + ) = 1 sin1
u l
1 2
l2
u l1 sin1 t l1 cos 1
2 Atan2 , 1 (5.65)
l2 l2
Aceasta nseamn c i pentru 2 vom avea tot dou soluii
(funcie de 1 ).
n final, 3 poate rezulta simplu:
3 = 1 2 (5.66)
163
5. Cinematica invers a poziiilor
M
y0 3
2 C
B 2
2'
1
1 B'
1'
A
x0
164
Bazele Roboticii
165
5. Cinematica invers a poziiilor
1 u2
cos 1 = , (5.71)
1 + u2
2u
sin1 = . (5.72)
1 + u2
Substituind aceste ecuaii n al treilea termen al matricei din
stnga a relaiei (5.70), obinem
( l2 + yM ) u2 + 2 xM u + l2 zM =0, (5.73)
(2
1 =2 Atan2 xM xM 2
+ yM l22 , l2 + yM . ) (5.75)
de unde
=2 Atan2 ( xM cos 1 + yM sin1 , zM ) . (5.77)
166
Bazele Roboticii
xM =
l2 cos 2 + l3 cos (2 + 3 ) sin1
, (5.80)
yM = l2 cos 2 + l3 cos (2 + 3 ) cos 1
de unde
xM
sin1 = l cos + l cos +
2 2 3 ( 2 3)
, (5.81)
cos = yM
1
l2 cos 2 + l3 cos (2 + 3 )
respectiv
=1 Atan2 ( xM , yM ) . (5.82)
167
5. Cinematica invers a poziiilor
respectiv
de unde rezult
2 2 2
xM + yM + zM l22 l32
cos 3 = , (5.86)
2l2l3
adic
x 2 + y 2 = l cos + l cos cos l sin sin
3 (5.91)
M M 2 2 3 2 3 3 2
z
M = l2 sin 2 + l3 sin 2 cos 3 + l3 sin 3 cos 2
sin2 =
zM ( l2 + l3 cos 3 ) ( 2
xM 2
+ yM )
l3 sin3
, (5.92)
2 2 2
xM + yM + zM
respectiv
cos 2 =
( l2 + l3 cos 3 ) 2
xM 2
+ yM + zM l3 sin3
(5.93)
2 2 2
xM + yM + zM
i
2 = Atan2 ( sin2 , cos 2 ) . (5.94)
168
Bazele Roboticii
=5 Atan2 (r 2
13
2
+ r23 )
, r33 . (5.98)
respectiv
=4 Atan2 ( sin4 , cos
= 4 ) A tan2 ( r13 , r23 ) . (5.100)
169
5. Cinematica invers a poziiilor
r31
sin6 = cos
5
, (5.101)
cos = r32
6
cos 5
i
=6 Atan2 ( sin6 , cos
= 6 ) A tan2 ( r31, r32 ) . (5.102)
=
5 (
2
Atan2 r13 2
+ r23 )
, r33 , (5.104)
170
Bazele Roboticii
171
5. Cinematica invers a poziiilor
172
6
CINEMATICA VITEZELOR I
ACCELERAIILOR
6.1 Generaliti
Atunci cnd se controleaz deplasarea unui robot dintr-o
anumit poziie n alta, nu este suficient determinarea coordonatelor
cuplelor cinematice i ale efectorului final, coordonate
corespunztoare poziiei ce trebuie atins. n plus, uneori poate fi
necesar controlul continuu al traiectoriei robotului, pe durata
deplasrii acestuia spre poziia cerut, n scopul evitrii obstacolelor.
De asemenea, exist cazuri cnd efectorul final trebuie s
urmreasc precis o anumit traiectorie. Spre exemplu, n cazul
operaiei de sudare este necesar meninerea electrodului la o
anumit distan (constant) i cu o anumit orientare fa de pies,
pe toat durata efecturii operaiei respective. Acest lucru necesit
controlul vitezei efectorului final sau al sculei. Deoarece controlul
micrii robotului se realizeaz prin controlul cuplelor cinematice,
viteza efectorului final va fi controlat efectund un control al
vitezelor acestor cuple. n acest sens, cunoscnd viteza impus
efectorului final, este necesar determinarea vitezei fiecrei cuple
cinematice.
n acest capitol este prezentat analiza cinematic a vitezelor,
care ofer legtura dintre vitezele cuplelor cinematice i vitezele
unghiular i liniar corespunztoare efectorului final. Acest lucru
este descris de o matrice, numit matrice Jacobian geometric, care
depinde de configuraia manipulatorului. Alternativ, dac este
exprimat localizarea efectorul final n raport cu un sistem de
referin printr-un set de ecuaii analitice, atunci este posibil
calcularea matricei Jacobiene prin derivarea direct a ecuaiilor
respective, n raport cu variabilele cuplelor cinematice. Matricea
Jacobian rezultat, numit matrice Jacobian analitic, difer n
general de cea geometric. Matricea Jacobian constituie unul din
cele mai importante instrumente de caracterizare a roboilor de tip
manipulator. Aceasta este util pentru gsirea configuraiilor
173
6. Cinematica vitezelor i acceleraiilor
( p)
A
B
P n raport cu sistemul de axe {B}, iar denot exprimarea
B
vectorului P n raport cu sistemul de referin {A}. Similar, viteza
punctului P, definit prin derivarea vectorului BP n raport cu timpul,
va fi:
B d Bp
vP = .
dt
Vectorul vitez poate fi, de asemenea, exprimat n raport cu
un alt sistem de axe, respectiv
A
d Bp
( )
A
B
vP = .
dt
Aceast relaie indic faptul c derivarea se face n raport cu
sistemul de axe {B}, iar vectorul rezultat este exprimat n raport cu
sistemul de axe {A}.
174
Bazele Roboticii
( )
T
A
BR BART + A
BR BAR T =BAR BAR 1 + A 1
BR BAR T =0 (6.2)
zA
zB A
B Corp
yB
O yA
xA xB
( )
T
A
BR BAR 1 + A
BR BAR 1 0.
= (6.3)
175
6. Cinematica vitezelor i acceleraiilor
respectiv
0 z y
A A 1
S =BR BR = z 0 x . (6.5)
x 0
y
Aceast matrice definete vectorul vitez unghiular a
sistemului de axe {B}, exprimat n sistemul de referin {A},
x
A
B = y . (6.6)
z
6.2.1.1 Exemplu
176
Bazele Roboticii
d A p d Aq d
A
vP =
dt
=
dt
+
dt
( A
BR )
Bp , (6.8)
A d Aq
unde vP = este viteza originii OB n raport cu sistemul de
dt
referin {A}. Al doilea termen poate fi dezvoltat dup cum urmeaz:
d B p d BAR
d
dt
( A
BR )
Bp = A
BR
dt
+
dt
( p) =
B A
BR Bv P + A
BR B p , (6.9)
B d Bp
unde vP = reprezint viteza punctului P n raport cu originea
dt
OB a sistemului de axe {B}.
A A 1
S
Din relaia (6.4), = R R . nmulind ambii termeni ai
B B
A
acestei expresii cu BR , vom avea
A
BR= S BAR . (6.10)
177
6. Cinematica vitezelor i acceleraiilor
zB A
B Corp
P
Bp
yB
zA
Ap OB
Aq
xB
OA yA
xA
S BAR B p = A
B ( A
BR )
Bp . (6.12)
178
Bazele Roboticii
A
aP = A
aOB + ) A
BR Bv P + A
BR
d
dt
( B
vP +
+
d
dt
( ) ( R p ) + + dtd ( R p ) =.
A
B
A
B
B A
B
A
B
B
(6.16)
= A
a + R v + R a + ( R p ) +
OB
A
B
B
P
A
B
B
P
A
B
A
B
B
+ ( R p ) + ( R v )
A
B
A
B
B A
B
A
B
B
P
A
Utiliznd iar egalitatea BR= S BAR , vom avea
A
a=
P
A
aOB + S BAR Bv P + A
BR B aP + A
B ( A
BR Bp + ) . (6.17)
(
+ AB S BAR B p + AB ) ( A
BR Bv P )
Dup nlocuirea matricei vitez unghiular S prin vectorul
A
corespunztor B , obinem
A A
aP = aOB + AB BAR Bv P +
+ BAR B aP + A
B ( A
BR Bp + ) , (6.18)
+ AB ( A
B BAR B p + AB ) ( A
BR Bv P )
respectiv
179
6. Cinematica vitezelor i acceleraiilor
A
aP = A
aOB + A
BR B aP + A
B ( A
BR Bp + ) . (6.19)
+ AB ( A
)
B BAR B p + 2 AB ( A
BR Bv P )
xn
yn
_
yn-1 On M
yn-2 n
xn-2
n-1
n-1 xn-1
y2
y1 On-2 n-1 On-1
x1 x2
y0 2 n-2
2
O2
1 O1
1
O0
x0
0
180
Bazele Roboticii
0
unde: i = 1...n ; 0,i 1 reprezint vectorul vitez unghiular a
sistemului de axe {i-1} n raport cu sistemul de referin {0},
0
raportat la sistemul de referin; i 1 R este matricea de rotaie la
scris la trecerea de la sistemul de referin {0} la sistemul de axe
i 1
{i-1}; i 1,i este vectorul vitez unghiular a sistemului de axe {i}
n raport cu sistemul {i-1}, raportat la sistemul de axe {i-1}.
obinndu-se
0 0 0 i 1 0 i 1
0,i= 0,i 1 + i 1 R i 1,i + i 1 R i 1,i . (6.22)
0 0
Utiliznd relaia i 1 R
= S i 1 R , obinem
0 0 0 i 1 0 i 1
=0, i 0,i 1 + S i 1 R i 1,i + i 1 R i 1,i . (6.23)
181
6. Cinematica vitezelor i acceleraiilor
i 1 i 1
unde, cu ip = iTr s-a notat vectorul de translaie la trecerea de la
sistemul de axe {i-1} la sistemul {i}, coninnd primele trei elemente
ale coloanei a patra din matricea de transformare omogen, vezi
relaia (3.24) din volumul 1.
+2 00,i 1 ( 0
i 1 R i 1
v i 1,i )
182
Bazele Roboticii
( )
i
i
0,i = i 0,i 1 + 0
i 1 R i 1
i 1,i =
. (6.27)
i
i 1 R
= ( i 1
0,i 1 + i 1
i 1,i )
Pentru cupla cinematic de translaie
i
0,i = i
i 1 R ( i 1
0,i 1 + i 1
i 1,i = i
)
i 1 R
i 1
0,i 1 . (6.28)
( )
i
i
0,i = i
0,i 1 + 00,i 1 0
i 1 R i 1
i 1,i +
( )
i
0 i 1
+ i 1 R i 1,i =
.(6.29)
= i
i 1 R i 1
0,i 1 + i
i 1 R i 1
0,i 1 ( i
i 1 R i 1
i 1,i + )
i i 1
+ i 1 R i 1,i
i 1 i 1
Pentru o cupl cinematic de rotaie, i 1,i = i 1,i , ceea
ce nseamn c relaia (6.29) devine
i
0,i = i
i 1 R ( i 1
0,i 1 + i 1
0,i 1 i 1
i 1,i + i 1
i 1,i ). (6.30)
i 1
Pentru o cupl cinematic de translaie, i 1,i = 0 , iar
ecuaia (6.29) capt forma
i i i 1
0,i
= i 1 R 0,i 1 . (6.31)
183
6. Cinematica vitezelor i acceleraiilor
( ) ( ) =
i i
i
v0,i = i
v0,i 1 + 0
i 1 R v0,i + i 0,i 1
i 1 0
i 1 R i 1
ip
i i 1 i i 1
= i 1 R v0,i 1 + i 1 R v i 1,i +
( )=
i
+ i i 1 0
i 1 R i 1
ip
. (6.32)
i i 1 i i 1
= i 1 R v0,i 1 + i 1 R v i 1,i +
+ i
i 1 R i 1
0,i 1 ( i
i 1 R i 1
ip )=
i
i 1 R
= ( i 1
v0,i 1 + i 1
v i 1,i + i 1
0,i 1 i 1
ip )
i 1
Componenta v i 1,i este viteza relativ a cuplei cinematice i
relativ la sistemul de axe {i-1}, scris n raport cu sistemul de
coordonate {i-1}.
Pentru o cupl cinematic de rotaie,
i 1 i 1 i 1 i 1 i 1
v i 1,=
i i 1,i i=p i 1,i ip (6.33)
( )+
i
i i i 1 i i 1 i i 1
v0,i = i 1 R v0,i 1 + i 1 R 0,i 1 i 1 R ip
( )=
i
0 i 1 0 i 1
+ i 1 R i 1,i i 1 R ip
( R )+
i
i i 1 i i 1 0 i 1
= i 1 R v0,i 1 + i 1 R 0,i 1 i 1 ip
i i 1
i 1,i i i 1 . (6.34)
+ i 1 R i 1 R ip =
i i 1 i i 1 i i 1
= i 1 R v0,i 1 + i 1 R 0,i 1 i 1 R ip +
i i 1 i i 1
+ i 1 R i 1,i i 1 R ip
= i
i 1 R i 1
v0,i 1 + ( i
i 1 R i 1
0,i 1 + i
i 1 R i 1
i 1,i ) i
i 1 R i 1
ip
i 1 i 1
Pentru o cupl cinematic de translaie v i 1,i = ip , iar
ecuaiile capt forma:
184
Bazele Roboticii
( )+
i
i i i 1 i i 1 0 i 1
v0,i = i 1 R v0,i 1 + i 1 R 0,i 1 i 1 R ip
( )=
i
0 i 1
+ i 1 R ip
( )+
i
i i 1 i i 1 0 i 1
= i 1 R v0,i 1 + i 1 R 0,i 1 i 1 R ip
i i 1
+ i 1 R ip = . (6.36)
i i 1 i i 1 i i 1
= i 1 R v0,i 1 + i 1 R 0,i 1 i 1 R ip +
i i 1
+ i 1 R ip =
= i
i 1 R i 1
v0,i 1 + i
i 1 R ( i 1
0,i 1 i 1
i pi + i 1
ip )
i 1
ai 1,=
i
i 1
i 1,i i 1
ip + i 1
i 1,i ( i 1
i 1,i i 1
ip= ) ,
= i 1
i 1,i i 1
ip + i 1
i 1,i ( i 1
i 1,i i 1
ip )
atunci
0
a0,i = 0
a0,i 1 + 00,i 1 ( 0
i 1 R i 1
ip )+
+ 00,i 1 ( 0
0,i 1 0
i 1 R i 1
i p) +
+2 00,i 1 ( 0
i 1 R i 1
i 1,i 0
i 1 R i 1
ip )+ . (6.37)
+ i 10R i 1
i 1,i 0
i 1 R i 1
ip +
+ i 10R i 1
i 1,i ( 0
i 1 R i 1
i 1,i 0
i 1 R i 1
ip )
Exprimnd relaia (6.37) n raport cu sistemul de axe {i},
obinem
185
6. Cinematica vitezelor i acceleraiilor
i
a0,i = i
i 1 R i 1
a0,i 1 + i
i 1 R i 1
0,i 1 ( i
i 1 R i 1
ip )+
+ i 1i R i 1
0,i 1 ( i
i 1 R i 1
0,i 1 i
i 1 R i 1
i p) +
+2 i
i 1 R i 1
0,i 1 ( i
i 1 R i 1
i 1,i i
i 1 R i 1
ip) +
+ i 1i R i 1
i 1,i i
i 1 R i 1
ip +
. (6.38)
+ i 1i R i 1
i 1,i ( i
i 1 R i 1
i 1,i i
i 1 R i 1
ip )
i 1a0,i 1 + i 10,i 1 i 1i p +
i 1
i
+ 0,i 1
i 1
(
0,i 1 i 1i p + )
= i 1 R
+2
i 1
0,i 1 i 1i 1,i i 1i p + ( ) i 1
i 1,i i 1
i p +
i 1
+ i 1,i
i 1
(
i 1,i i 1i p )
i 1 i 1
Pentru o cupl cinematic de translaie v i 1,i = ip ,
i 1 i 1
ai 1,i = ip , iar acceleraia liniar are expresia
i
a0,i = i
i 1 R i 1
a0,i 1 + i
i 1 R i 1
0,i 1 ( i
i 1 R i 1
ip )+
+ i 1i R i 1
0,i 1 ( i
i 1 R i 1
0,i 1 i
i 1 R i 1
i p) +
+2 i
i 1 R i 1
0,i 1 ( i
i 1 R i 1
ip )+ i
i 1 R i 1
ip
. (6.39)
i 1
ai 1 + i 1 + i 1
i 1
iP
= i i 1
i 1 R + i 1 i 1 i 1
i 1 i P +
( )
+2 i 1i 1 i 1i P + i 1i P
186
Bazele Roboticii
i i i 1
v0,i = i 1 R v0,i 1 + i 0,i i
i 1 R i 1
ip pt. cuple de rotatie
(6.41)
i
v0,i = i
i 1 R ( i 1
v0,i 1 + i 1
0,i 1 i 1
ip + i 1
ip ) pt. cuple de transl.
i
0,i = i
i 1 R ( i 1
0,i 1 + i 1
0,i 1 i 1
i 1,i + i 1
i 1,i ) pt. cuple de rotatie
(6.42)
i
0,i
= i
i 1 R i 1
0,i 1 pt. cuple de transl.
i 1a0,i 1 + i 10,i 1 i 1i p +
i i
+ i 1
0, i 1
i 1
(
0,i 1 i 1i p + )
pt. cuple
a0,i
= i 1 R
+2
i 1
(
0,i 1 i 1i 1,i i 1i p + )
de rotatie
+ i 1
i 1, i
i 1
ip +
i 1
i 1,i i 1i 1,i ( i 1
ip ) (6.43)
i 1a0,i 1 + i 1i 1 i 1i p +
pt. cuple
i
a0,i
= i 1
i
R + i 1
0, i 1 i 1
0, i 1( i 1
i p +
) de transl.
i 1 i 1 i 1
+2 0,i 1 i p + i p
i i 1
Cunoatem i 1 R , ip din cinematica poziiilor robotului. Din
convenia Denavit-Hartenberg
standard,
i 1 i 1 T
ip ai cos i ai sin i di . De asemenea, se cunosc
= i 1,i ,
i
i 1,i pentru cuplele cinematice de rotaie, respectiv i 1 p = d , i
i 1 pentru cuplele de translaie.
iP =d
i
Se pot calcula, recursiv, o,i , i v0,i , i
0,i , i
a0,i , pentru i =
1...n.
Ecuaiile vitezelor i acceleraiilor scrise n raport cu sistemul
de referin {0} sunt:
0 0 0 i 1
0,=
i 0,i 1 + i 1 R i 1,i pentru cuple de rotatie
0
(6.44)
0,i = 00,i 1 pentru cuple de translatie
187
6. Cinematica vitezelor i acceleraiilor
0
v0,i = 0
v0,i 1 + 00,i 1 ( 0
i 1 R i 1
ip ) pt. cuple de rot.
(6.45)
0
v0,=
i
0
v0,i 1 + 0
i 1 R i 1
ip + 00,i 1 ( 0
i 1 R i 1
ip ) pt. cuple de transl.
0
0,i= 0
0,i 1 + 00,i 1 ( 0
i 1 R i 1
i 1,i +
) 0
i 1 R i 1,i
i 1
pentru cuple de rotatie (6.46)
0
0,i = 00,i 1 pentru cuple de translatie
0
a0,i = 0
a0,i 1 + 00,i 1 ( 0
i 1 R
i 1
ip )+
( p ))
0 0 0
+ 0,i 1 0,i 1 i 1 R i i 1
( pt. cuple de rot.
.(6.47)
0
a0,i= 0a0,i 1 + i 10R i 1i p
+ 00,i 1 i 10R i 1i p +
( )
(
+ 00,i 1 00,i 1 i 10R i 1i p + (
))
(
+2 00,i 1 i 10R i 1i p pt. cuple de transl. )
188
Bazele Roboticii
y6
z6
y5
O6 z5
z4
x6 5
6 y3
l6=0 F
x5 E z3
l5=0 x4 y4
D d3
l4=0
x3
4
x2
z2
y2
B C
z1
2 l2
x1
z0
y1 y0
l1=0
A
1
x0
cos 1 sin 1 0
0
sin 1 0 cos 1 0
0
1T = , (6.48)
0 1 0 0
0 0 0 1
cos 2 0 sin 2 0
1 sin 2 0 cos 2 0
2T = , (6.49)
0 1 0 l2
0 0 0 1
0 1 0 0
2 1 0 0 0
3T = , (6.50)
0 0 1 d3
0 0 0 1
189
6. Cinematica vitezelor i acceleraiilor
cos 4 0 sin 4 0
sin 4 0 cos 4 0
3
4T = , (6.51)
0 1 0 0
0 0 0 1
cos 5 0 sin 5 0
sin 5 0 cos 5 0
4
5T = , (6.52)
0 1 0 0
0 0 0 1
cos 6 sin 6 0 0
sin 6 cos 6 0 0
5
6T = . (6.53)
0 0 1 0
0 0 0 1
cos 1 sin 1 0
1
=0R 0 0 1 , (6.55)
sin 1 cos 1 0
cos 2 0 sin 2
1
=2 R sin 2 0 cos 2, (6.56)
0 1 0
cos 2 sin 2 0
2
1R = 0 0 1 , (6.57)
sin 2 cos 2 0
190
Bazele Roboticii
0 1 0
2
3R = 1 0 0 , (6.58)
0 0 1
0 1 0
3
2 R = 1 0 0 , (6.59)
0 0 1
cos 4 0 sin 4
3
4 R = sin 4 0 cos 4 , (6.60)
0 1 0
cos 4 sin 4 0
4
=3R 0 0 1 , (6.61)
sin 4 cos 4 0
cos 5 0 sin 5
4
=5R sin 5 0 cos 5 , (6.62)
0 1 0
cos 5 sin 5 0
5
4R = 0 0 1 , (6.63)
sin 5 cos 5 0
cos 6 sin 6 0
5
6 R = sin 6 cos 2 0 , (6.64)
0 0 1
cos 6 sin 6 0
6
5 R = sin 6 cos 6 0 . (6.65)
0 0 1
191
6. Cinematica vitezelor i acceleraiilor
0
1
2 p = 0 , (6.67)
l2
0
2
3p = 0, (6.68)
d3
0
3 3 3
=
4 p =
4 p =
4 p 0 , (6.69)
0
0
0
0,1 = 0 , (6.70)
1
0
1
1,2 = 0 , (6.71)
2
0
2
2,3 = 0, (6.72)
3
0
3
3,4 = 0 , (6.73)
4
192
Bazele Roboticii
0
4
4,5 = 0, (6.74)
5
0
5
5,6 = 0. (6.75)
6
i
v0,i = i
i 1 R i 1
v0,i 1 + i
i 1 R ( i 1
0,i 1 i 1
ip + i 1
ip ).
n continuare, vom determina aceste viteze pentru fiecare
cupl cinematic.
Cupla cinematic A, de rotaie
1
0,1 =1
0R ( 0
0,0 + 00,1 =1
)0
0 R 0,1 =
cos 1 sin 1 0 0 0
, (6.76)
= 0 0 1 0 = 1
sin 1 cos 1 0 1 0
1 1
v0,1 = 0R 0v0,0 + 10,1 01R 10 p = 10,1 01R 10 p =
0 cos 1 sin 1 0 0 0
. (6.77)
= 1 0 0 1 0 =0
0 sin 1 cos 1 0 0 0
193
6. Cinematica vitezelor i acceleraiilor
cos 2 sin 2 0 0 0
= 0 0 1 1 + 0
= , (6.78)
sin 2 cos 2 0 0 2
cos 2 sin 2 0 0 1 sin 2
= 0 = 0 1 1 2
sin 2 cos 2 0 2 1 cos 2
2 2
v0,2 = 1R 1v0,1 + 20,2 12R 21 p =
cos 2 sin 2 0 0
= 0 0 1 0 +
sin 2 cos 2 0 0
1 sin 2 cos 2 sin 2 0 0
+ 2 0 0 1 0 =
cos sin cos 0 l2
1 2 2 2
1 sin 2 0 l2 1 cos 2
= 2 =
l2 0 . (6.79)
cos 0 l sin
1 2 2 1 2
0 1 0 1 sin 2
3 3 2 =
0,3 =2 R 0,2 = 1 0 0 2
0 0 1 1 cos 2
, (6.80)
2
= 1 sin 2
cos
1 2
194
Bazele Roboticii
3
v0,3 = 3
2R 2v0,2 + 23R ( 2
)
0,2 32 p + 32 p =
0 1 0 l2 1 cos 2
= 1 0 0 0 +
0 0 1 l2 1 sin 2
0 1 0 1 sin 2 0 0
+ 1 0 0 2 0 + 0
0 0 1 1 cos 2 d3 d3
0 0 1 0 d3 2
= l2 1 cos 2 + 1 0 0 d3 1 sin 2 =
l2 1 sin 2 0 0 1 d3
0 d3 1 sin 2
= l2 1 cos 2 + d3 2 =
l2 1 sin 2 d3
d3 1 sin 2
= l2 1 cos 2 + d3 2 . (6.81)
l2 1 sin 2 + d3
cos 4 sin 4 0 2
, (6.82)
= 0 0 1 1 sin 2 =
sin 4 cos 4 0 1 cos 2 + 4
2 cos 4 1 sin 2 sin 4
= 1 cos 2 + 4
2 sin 4 1 sin 2 cos 4
195
6. Cinematica vitezelor i acceleraiilor
4 4
v0,4 = 3R 3v0,3 + 40,4 34R 43 p =
cos 4 sin 4 0 d3 1 sin 2
= 0 0 1 l2 1 cos 2 + d3 2 +
sin 4 cos 4 0 l2 1 sin 2 + d3
2 cos 4 1 sin 2 sin 4
+ 1 cos 2 + 4
sin sin cos
2 4 1 2 4
cos 4 sin 4 0 0
0 0 1 0
sin 4 cos 4 0 0
cos 4 sin 4 0 d3 1 sin 2
= 0 0 1 l2 1 =
cos 2 + d3 2
sin 4 cos 4 0 l2 1 sin 2 + d3
d3 1 s2 c4 l2 1 c2 s4 + d3 2 s4
= l2 1 s2 + d3 . (6.83)
d s s l c c + d c
3 1 2 4 2 1 2 4 3 2 4
196
Bazele Roboticii
197
6. Cinematica vitezelor i acceleraiilor
6 6
0,6 =
5R ( 5
)
0,5 + 55,6 =
c c s s c + c s + s
2 4 5 1 2 4 5 1 2 5 4 5
2 s4 1 s2 c4 + 5 +
c6 s6 0
2 c4 s5 1 s2 s4 s5 1 c2 c5 4c5
= s6 c6 0 =
0
0 0 1
+ 0
,(6.86)
6
c6 s6 0 2 c4 c5 1 s2 s4 c5 + 1 c2 s5 + 4 s5
= s6 c6 0 2 s4 1 s2 c4 + 5 =
0 0 1 2 c4 s5 1 s2 s4 s5 1 c2 c5 4c5 + 6
( ) (
c6 2 c4 c5 1 s2 s4 c5 + 1c2 s5 + 4 s5 + s6 2 s4 1 s2 c4 + 5
)
( ) (
= s6 2 c4 c5 1 s2 s4 c5 + 1c2 s5 + 4 s5 + c6 2 s4 1 s2 c4 + 5
)
2 c4 s5 1 s2 s4 s5 1c2c5 4c5 + 6
6 6
v0,6 = 5R 5v0,5 + 60,6 56R 65 p =
d31 s2 c4 c5 l21c2 s4 c5 + d32 s4 c5
c6 s6 0 l21 s2 s5 + d3 s5
= s6 c6 0 d31 s2 s4 l21c2c4 + d32c4 +
0 0 1 d31 s2 c4 s5 l21c2 s4 s5 + d32 s4 s5 +
+ l21 s2 c5 d3c5
(
c6 2 c4 c5 1 s2 s4 c5 + 1c2 s5 + 4 s5 +
)
(
+ s6 2 s4 1 s2 c4 + 5 )
s c c s s c + c s + s +
6 ( 2 4 5 1 2 4 5 1 2 5 4 5)
+
+ c6(
2 s4
1 s 2 c 4 + )
5
2 c4 s5 1 s2 s4 s5 1c2c5 4c5 + 6
c6 s6 0 0
s6 c6 0 0
, (6.87.a)
0 0 1 0
198
Bazele Roboticii
=
(
s6 d31 s2 c4 c5 l21c2 s4 c5 + d32 s4 c5 l21 s2 s5 + d3 s5 +
)
(
+c d s s l c c + d c
6 3 1 2 4 2 1 2 4 3 2 4 )
s c s l c s s + d s s + l s c d c
d
3 1 2 4 5 2 1 2 4 5 3 2 4 5 2 1 2 5 3 5
(6.87.b)
Pentru a sintetiza calculul vitezelor efectorului final, putem
scrie:
d3 s2 c4 c5 c6 l2c2 s4 c5 c6 l2 s2 s5c6 +
( 6
v0,6 ) x
+d3 s2 s4 s6 l2c2c4 s6
1 +
+ (d s c c + d c s ) + d s c
3 4 5
6 3 4 6 2 3 5 6
d3 s2 c4 c5 s6 + l2c2 s4 c5 s6 + l2 s2 s5 s6 +
( 6
v0,6 ) y
+d3 s2 s4c6 l2c2c4c6
1 +
+ ( d s c s + d c c ) d s s
3 4
5
6 3 4 6 2 3 5 6
( 6
v0,6 ) z
= ( d3 s2 c4 s5 l2c2 s4 s5 + l2 s2 c5 ) 1 +
+d32 s4 s5 d3c5
. (6.88)
( 6
0,6 ) x
( s2 s4 c5 c6 + c2 s5 c6 s2 c4 s6 ) 1 +
=
+ ( c4 c5 c6 + s4 s6 ) 2 + ( s5 c6 ) 4 + ( s6 ) 5
( 6
0,6 = ) y
( s2 s4 c5 s6 c2 s5 s6 s2 c4c6 ) 1 +
+ ( c4 c5 s6 + s4c6 ) 2 ( s5 s6 ) 4 + ( c6 ) 5
( 6
0,6 ) z
( s2 s4 s5 c2c5 ) 1 ( c4 s5 ) 2 ( c5 ) 4 + 6
=
199
6. Cinematica vitezelor i acceleraiilor
(
00,6 )
y
5
0 6
(
0,6
)z
200
Bazele Roboticii
n0R ( q ) 0
np ( q )
0
nT ( )
q = , (6.92)
0 1
T
unde q = q1 , q2 , , qn este vectorul variabilelor cuplelor
cinematice, qi = i pentru o cupl cinematic de rotaie i qi = di
pentru o cupl de translaie. Att poziia, ct i orientarea efectorului
final, depind de aceste variabile.
Scopul analizei cinematice a vitezelor este de a gsi legtura
dintre vitezele cuplelor i vitezele liniar i unghiular ale efectorului
final. Cu alte cuvinte, se cere determinarea expresiei vitezei liniare p
i unghiulare , ca funcii de vitezele q ale cuplelor cinematice:
=p JP ( q ) q , (6.93)
= JO ( q ) q . (6.94)
p
v =
= J ( q ) q , (6.95)
J
J = P, (6.96)
JO
care este, n general, o funcie de variabilele cuplelor cinematice.
201
6. Cinematica vitezelor i acceleraiilor
R (t ) RT (t ) =
I, (6.97)
R (t ) RT (t ) + R (t ) R T (t ) =
0, (6.98)
unde 0 este matricea nul. Ecuaia (6.98) poate fi rescris sub forma
( )
T
R (t ) RT (t ) + R (t ) RT (t ) 0.
= (6.99)
Notnd cu
(t ) R (t ) RT (t ) ,
S= (6.100)
vom avea
S (t ) + S T (t ) =
0. (6.101)
(t ) S (t ) R (t ) .
R= (6.102)
(t ) R (t ) R1 (t ) ,
S= (6.103)
202
Bazele Roboticii
cu
0
z0 = 0 ; (6.107)
1
0
vectorul i 1 p este reprezentat de primele trei elemente ale
0
coloanei a patra din matricea omogen i 1T sau se poate calcula
astfel
0 0
=
i1p i 1T 00 p , (6.108)
cu
0
0
0
0 p = ; (6.109)
0
1
0
vectorul np este reprezentat de primele trei elemente ale
0
coloanei a patra din matricea omogen nT sau se poate calcula cu
relaia
203
6. Cinematica vitezelor i acceleraiilor
0 0
n=p nT 00 p . (6.110)
0
Din 0p , respectiv din produsele (6.108) i (6.110), se rein
numai primii trei termeni.
Cu alte cuvinte, matricea Jacobian geometric a unui
manipulator cu n grade de mobilitate, avnd toate cele n cuple
cinematice de rotaie, capt forma
J =
0 n(
z 0p 0p
0 ) .. zi 1 ( 0
np 0
i 1 p ) .. zn 1 ( 0
np 0
n 1 p ) .(6.111)
z0 .. zi 1 .. zn 1
Pentru un manipulator cu n grade de mobilitate, avnd n-1
cuple cinematice de rotaie i cupla cinematic i de translaie,
matricea Jacobian are forma general
J =
0 n (
z 0p 0p
0 ) .. zi 1 .. zn 1 ( 0
np 0
n 1 p ) . (6.112)
z0 .. 0 .. zn 1
204
Bazele Roboticii
0 p
0 0
v =
= J q . (6.113)
0
Presupunem c dorim s calculm vitezele efectorului n raport
cu alt sistem de axe, sistemul {a} spre exemplu. Mai nti, trebuie
notat faptul c vectorul vitez 0v cu dimensiunea 6x1 este descris n
raport cu sistemul {a} de transformarea
a p 0aR 0 0 p 0aR 0 0
a = = v.
v = (6.114)
a 0 0 0 a
a R 0 0R
205
6. Cinematica vitezelor i acceleraiilor
x3
y3 _
M _ O3
3
y2
l3
x2
C
y0 y1
2
l2
x1
l1 B
A 1
x0
206
Bazele Roboticii
s12 sin (1 + 2 ) ,
unde s-au fcut notaiile: s1 = sin 1 , c1 = cos 1 ,=
= = sin (1 + 2 + 3 ) , c123
c12 cos (1 + 2 ) , s123 = cos (1 + 2 + 3 ) .
De asemenea, matricele de rotaie corespunztoare sunt:
cos 1 sin 1 0
0
1 R = sin 1 cos 1 0 , (6.122)
0 0 1
cos 2 sin 2 0
1
2 R = sin 2 cos 2 0 , (6.123)
0 0 1
cos 3 sin 3 0
2
3 R = sin 3 cos 3 0 , (6.124)
0 0 1
c12 s12 0
0 0 1
2 R = 1 R 2 R = s12 c12 0 . (6.125)
0 0 1
207
6. Cinematica vitezelor i acceleraiilor
0
J =
0 3 (
z 0p 0p
0 ) z1 ( 0
3p 10 p ) z2 ( 0
3p )
20 p
. (6.126)
z0 z1 z2
Conform paragrafului 6.4.2,
cos 1 sin 1 0 0 0
z1 = 10R z0 = sin 1 cos 1 0 0 = 0 , (6.127)
0 0 1 1 1
c12 s12 0 0 0
0
z2 = 2R z0 = s12 c12 0 0 = 0 ; (6.128)
0 0 1 1 1
c1 s1 0 l1 c1 0 l1 c1
s1 c1 0 l1 s1 0 l1 s1
0 0
=1T 0 p = , (6.129)
0 0 1 0 0 0
0 0 0 1 1 1
adic
l1 c1
0
1=p l1 s1 ; (6.130)
0
ceea ce inseamn
l2 c12 + l1 c1
0
2 p = l2 s12 + l1 s1 ; (6.132)
0
208
Bazele Roboticii
adic
l1 c1 + l2 c12 + l3 c123
0
3 p = l1 s1 + l2 s12 + l3 s123 ; (6.134)
0
l1 c1 + l2 c12 + l3 c123
0 0
3p 0p = l1 s1 + l2 s12 + l3 s123 ; (6.135)
0
l2 c12 + l3 c123
0 0
3 p 1 p = l2 s12 + l3 s123 ; (6.136)
0
l3 c123
0 0
3 p 2 p = l3 s123 . (6.137)
0
0 0 0
Vectorii z1 , z2 i 1p , 2p , 3p se pot obine direct, fr
efectuarea calculelor prezentate anterior, acetia reprezentnd a treia
0 0
coloan a matricelor 1R ,2 R , respectiv primele trei elemente ale
coloanei a patra din matricele 01T , 02T , 03T .
n aceste condiii, matricea (6.126) devine
209
6. Cinematica vitezelor i acceleraiilor
210
Bazele Roboticii
y1
B l2
2
x1 y2
z1 2
1 C l3
3 y3
z0
l1=0 x2 3
z2 _
A 0 M _ O3
x0 y0
z3 x3
1
s1 c2 s1 s2 c1 l2 s1 c2
c1 c2 c1 s2 s1 l2 c1 c2
0 0 1
2T = 1T 2T = , (6.142)
s2 c2 0 l2 s2
0 0 0 1
cos 2 sin 2 0
1
2 R = sin 2 cos 2 0 , (6.145)
0 0 1
211
6. Cinematica vitezelor i acceleraiilor
cos 3 sin 3 0
2
3R = sin 3 cos 3 0 , (6.146)
0 0 1
s1c2 s1s2 c1
0 0 1
2 R = 1 R 2 R = c1c2 c1s2 s1 . (6.147)
s2 c2 0
0
J =
0 3 (
z 0p 0p
0 ) z1 ( 0
3p 10 p ) z2 ( 0
3p )
20 p
, (6.148)
z0 z1 z2
unde:
s1 0 c1 0 c1
z1 = 10R z0 = c1 0 s1 0 = s1 ; (6.149)
0 1 0 1 0
s1c2 s1s2 c1 0 c1
0
z2 = 2R z0 = c1c2 c1s2 s1 0 = s1 ; (6.150)
s2 c2 0 1 0
s1 0 c1 0 0 0
c1 0 s1 0 0 0
0 0
=
1T 0 p = , (6.151)
0 1 0 0 0 0
0 0 0 1 1 1
adic
0
0
1 p = 0 ; (6.152)
0
212
Bazele Roboticii
s1 c2 s1 s2 c1 l2 s1 c2 0 l2 s1 c2
c1 c2 c1 s2 s1 l2 c1 c2 0 l2 c1 c2
0
2T 00 p = , (6.153)
s2 c2 0 l2 s2 0 l2 s2
0 0 0 1 1 1
adic
l2 s1 c2
0
2 p = l2 c1 c2 ; (6.154)
l2 s2
adic
( l2 c2 + l3 c23 ) s1
0
3 p=
( l2 c2 + l3 c23 ) c1 ; (6.156)
l s + l s
2 2 3 23
( l2 c2 + l3 c23 ) s1
0 0
3 p 0 p=
( l2 c2 + l3 c23 ) c1 ; (6.157)
l s + l s
2 2 3 23
( l2 c2 + l3 c23 ) s1
0
3 p 0
1 p
= ( l2 c2 + l3 c23 ) c
1 ; (6.158)
l s + l s
2 2 3 23
213
6. Cinematica vitezelor i acceleraiilor
l3 s1 c23
0 0
3p 2p = l3 c1 c23 . (6.159)
l3 s23
6.5 Singulariti
Aa cum se vede n relaia (6.95), matricea Jacobian depinde
de parametrii cinematici ai cuplelor, reprezentai prin vectorul q .
Muli roboi prezint configuraii cu valori ale acestor parametri,
pentru care matricea Jacobian devine singular (determinantul ei
este zero). Aceste configuraii sunt numite singulariti cinematice ale
mecanismului sau, pe scurt, singulariti. Toate manipulatoarele au
singulariti la grania spaiului lor de lucru, i multe dintre ele au o
serie de singulariti n interiorul acestui spaiu. Descoperirea
singularitilor unui manipulator prezint un interes deosebit din
urmtoarele motive:
Singularitile reprezint configuraii pentru care
mobilitatea structurii cinematice este redus, spre
exemplu, impunerea unei micri arbitrare efectorului final
nu este posibil;
Cnd manipulatorul este ntr-o asemenea configuraie
(singular), poate exista un numr infinit de soluii pentru
cinematica invers;
n vecintatea unei poziii singulare (unei singulariti),
vitezele mici ale efectorului final pot cauza viteze mari ale
cuplelor cinematice.
Singularitile pot fi clasificate n dou categorii:
214
Bazele Roboticii
y0
l2 M
B
2 =0
l1
1
A
x0
215
6. Cinematica vitezelor i acceleraiilor
J12 = z3
( 0
6p 30 p ) z4 ( 0
6p 0
4p ) z5 ( 0
6p )
50 p
(6.164)
i
J22 = z3 z4 z5 . (6.165)
216
Bazele Roboticii
J12 = 0 0 0 . (6.166)
217
6. Cinematica vitezelor i acceleraiilor
y6
z6
y5
O6 z5
z4
x6 5 =0
6 y3
F
x5 E z3
l5=0 x4 y4
l4=0 D
x3
4
218
Bazele Roboticii
y1 y1
B B 2
2 2
x1 y2 x1 3
z1 2 z1
C x2 C
1 1
3 =0 z0
3 =
z0
z2 x2 3 z2
A 0 A 0 y2
x0 y0 x0 y0
1 1
(a) (b)
p=
x p=
y 0 (6.174)
219
6. Cinematica vitezelor i acceleraiilor
3
x2
y2
3
C
x1 2
z2
2
y1
B
z1
z0
1
A 0
x0 y0
1
220
Bazele Roboticii
T
unde: v = [ p ] este vectorul vitez a efectorului final, iar
q = q1 q2 q n reprezint vectorul vitez al cuplelor cinematice.
Dac matricea Jacobian nu este singular i este patratic, se
poate determina inversa acesteia, respectiv se pot calcula vitezele
cuplelor cinematice cunoscnd vitezele efectorului final
=q J 1 ( q ) v . (6.176)
(J )
1
T
J += J J T , daca m < n, J + J= Im ; (6.177)
( )
1
J + = JT J JT , daca m > n, J J + = In . (6.178)
221
6. Cinematica vitezelor i acceleraiilor
222
Bazele Roboticii
p JP
x = = q = J A q . (6.182)
J
px px px
q
1 q2 qn
py py py
q
q2 qn
1
py py
py
P q1
J q2 qn
J A =
= . (6.183)
J x x
x
q1 q2 qn
y y y
q1 q2 qn
z z z
q1 q2 qn
q J A1 x .
= (6.184)
223
6. Cinematica vitezelor i acceleraiilor
z z' z"
. . .
y' y"
y
x
x' x"
T T
ca o contribuie a lui , x y z = 0 0 1 ;
T T
ca o contribuie a lui , x y z = sin cos 0 ;
T T
contribuia lui , x y z = c s s s c ,
unde s-au fcut notaiile, c = cos , s = sin , c = cos ,
s = sin .
z
.
. .
y
224
Bazele Roboticii
0 s c s
= 0 c
T ( ) .
s s = (6.185)
1 0 c
I 0
v
= x TA ( ) x ,
= (6.186)
0 T ( )
=J A TA1 ( ) J . (6.188)
225
6. Cinematica vitezelor i acceleraiilor
respectiv
T T
= 0 / 2 0 , pt. 0 t 1 = / 2 0 0 , pt. 1 t 2 .
226
Bazele Roboticii
z z
t=0
y y
x x
z z
t=1
y y
x x
z z
t=2
y y
x x
227
6. Cinematica vitezelor i acceleraiilor
= + +
1 2 3
228
Bazele Roboticii
229
6. Cinematica vitezelor i acceleraiilor
230
7
STATICA ROBOILOR DE
TIP MANIPULATOR
7.1 Generaliti
n cazul unui robot de tip manipulator, fiecare element
cinematic este conectat la unul sau alte dou elemente, prin
intermediul unor cuple cinematice, ce pot avea diverse tipuri. Figura
7.1 prezint forele i momentele ce acioneaz asupra unui element
cinematic i, conectat la elementul i-1 prin cupla cinematic i i la
elementul i+1 prin cupla i+1.
Pentru a descrie forele i momentele ce acioneaz asupra
elementului i, folosim urmtoarele notaii:
0
Fi ,i +1 - fora rezultant exercitat de elementul i asupra
elementului i+1 n originea Oi a sistemului de axe {i},
raportat la sistemul de axe de referin {0}, 0Fi ,i +1 = 0Fi +1,i ;
0
g - vectorul acceleraie unghiular;
mi - masa elementului i;
0
Mi ,i +1 - momentul rezultant exercitat de elementul i asupra
elementului i+1 n originea Oi a sistemului de axe {i},
raportat la sistemul de axe de referin {0},
0 0
Mi ,i +1 = Mi +1,i ;
0
pi ,Ci - vectorul de poziie al centrului de mas al elementului
cinematic i, relativ la originea Oi a sistemului de axe {i},
0
raportat la sistemul de axe de referin {0}, pi ,Ci = Oi Ci ;
0
pi 1,i - vectorul de poziie al originii Oi a sistemului de axe
{i}, fa de originea Oi 1 a sistemului de axe i-1, raportat la
0
sistemul de axe de referin {0}, pi 1,i = Oi 1Oi ;
231
7. Statica roboilor de tip manipulator
0
Fi 1,i - fora rezultant exercitat de elementul i-1 asupra
elementului i n originea Oi 1 a sistemului de axe {i-1},
raportat la sistemul de axe de referin {0}, 0Fi 1,i = 0Fi ,i 1 ;
0
Mi 1,i - momentul rezultant exercitat de elementul i-1 asupra
elementului i n originea Oi 1 a sistemului de axe {i-1},
raportat la sistemul de axe de referin {0}, 0Mi 1,i = 0Mi ,i 1 .
232
Bazele Roboticii
0 0
Pentru i = 0 , F0,1 i M0,1 reprezint fora i momentul
exercitate de elementul fix asupra primului element mobil.
0 0
Pentru i = n , Fn,n+1 i Mn,n+1 reprezint fora i momentul
exercitate de mediu asupra efectorului final. n aceast situaie,
mediul este considerat ca fiind un element suplimentar, notat cu n+1.
Pentru mai mult comoditate, forele i momentele vor fi
combinate ntr-un vector de forma:
0Fi 1,i
0
Fi 1,i = , (7.3)
0
Mi 1,i
0
unde Fi 1, i este numit torsorul forelor scrise n raport cu originea
Oi 1 .
Atunci cnd manipulatorul efectueaz o anumit operaie,
efectorul final exercit o anumit for sau/i un anumit moment
asupra mediului. Pe de alt parte, cnd manipulatorul manipuleaz un
obiect, fora de greutate a acestuia acioneaz asupra efectorului
final. Din acest motiv, considernd c se cunosc fora i momentul ce
0 0
acioneaz asupra efectorului final, Fn,n+1 i Mn,n+1 , ecuaiile (7.1)
i (7.2) pot fi rezolvate pentru determinarea celorlalte fore i
momente de reaciune.
233
7. Statica roboilor de tip manipulator
0
Mi 1,i = 0Mi ,i +1 + 0 pi 1,i 0Fi 1,i 0 pi ,Ci mi 0 g . ( ) (7.7)
i i i 1 i i 1
pi 1,i = i 1 R pi 1,i = i 1 R ip =
cos i sin i 0 ai cos i
= sin i cos i cos i cos i sin i ai sin i = . (7.9)
sin i sin i cos i sin i cos i di
ai
= di sin i
di cos i
234
Bazele Roboticii
0
pi ,Ci = 0i R i pi ,Ci , (7.11)
7.4 Exemplu
Considerm, pentru exemplificare, un robot de tip manipulator
serial cu structur plan, avnd 3 grade de mobilitate i toate cuplele
cinematice de rotaie (Fig. 7.2).
235
7. Statica roboilor de tip manipulator
236
Bazele Roboticii
cos 2 sin 2 0
1
2R = sin 2 cos 2 0 , (7.16)
0 0 1
cos 3 sin 3 0
2
3 R = sin 3 cos 3 0 , (7.17)
0 0 1
cos (1 + 2 ) sin (1 + 2 ) 0
2 R = sin (1 + 2 ) cos (1 + 2 ) 0 ,
0 (7.18)
0 0 1
cos (1 + 2 + 3 ) sin (1 + 2 + 3 ) 0
3 R = sin (1 + 2 + 3 ) cos (1 + 2 + 3 ) 0 .
0 (7.19)
0 0 1
Vectorul acceleraie gravitaional este dat de
0
0
g = g . (7.20)
0
l2
2
p1,2 = 0 ; (7.22)
0
237
7. Statica roboilor de tip manipulator
l3
3
p2,3 = 0 ; (7.23)
0
l1 c1 s1 0 l1 l1 c1
0 0
p0,1 = 1R 0 = s1 c1 0 0 = l1 s1 , (7.24)
0 0 0 1 0 0
unde: c1 = cos 1 , s1 = sin 1 ;
l2 c12 s12 0 l2 l2 c12
0
p1,2 = 20R 0 = s12 c12 0 0 = l2 s12 , (7.25)
0 0 0 1 0 0
l2
2
2
p2,C 2 = 0 , (7.28)
0
238
Bazele Roboticii
l3
2
3
p3,C 3 = 0 ,
(7.29)
0
l
l1 l1 1 c1
2 c s1
0 2 2
1
l
0
p1,C1 = 10R 0 = s1 c1 0 0 = 1 s1 , (7.30)
2
0 0 0 1 0
0
l
l2 l2 2 c12
2 c s12
0 2 2
12
l
0
p2,C 2 = 2 R 0 = s12
0 c12 0 0 = 2 s12 , (7.31)
2
0 0 0 1 0
0
l
l3 l3 3 c123
2 c s123
0 2 2
123
l3
0
p3,C 3 0
= 3 R 0 = s123 c123 0 0 = s123 . (7.32)
2
0 0 0 1 0
0
Pentru i = 3 avem:
Fx
0
F2,3 = 0F3,4 m3 0 g = Fy + m3 g , (7.33)
0
239
7. Statica roboilor de tip manipulator
0
(
M2,3 = 0M3,4 + 0 p2,3 0F2,3 0 p3,C 3 m3 0 g = )
l3
2 c123
0 l3 c123 Fx 0
l
= 0 + l3 s123 Fy + m3 g 3 s123 m3 g =
2
Mz 0 0 0
0
0 0 0
= 0 + 0 0 =
( )
Mz l3 c123 Fy + m3 g l3 s123 Fx l3
c123 m3 g
2
0
= 0 =
l3
( )
Mz + l3 c123 Fy + m3 g l3 s123 Fx c123 m3 g
2
0
= 0 =
,(7.34)
l3
Mz + l3 c123 Fy l3 s123 Fx + c123 m3 g
2
0
= 0
M
3,2 z
l3
unde, M3,2 z = Mz + l3 c123 Fy l3 s123 Fx + c123 m3 g .
2
Pentru i = 2:
Fx
0
F1,2 = 0F2,3 m2 g = Fy + ( m2 + m3 ) g ,
0
(7.35)
0
0
(
M1,2 = 0M2,2 + 0 p1,2 0F1,2 0 p2,C 2 m2 0 g )
240
Bazele Roboticii
l2
2 c12
0 l2 c12 Fx 0
l2
0
M1,2 = 0 + l2 s12 Fy + ( m2 + m3 ) g s12 m2 g =
2
M3,2 z 0 0 0 0
0 0 0 ,(7.36)
= 0 + 0 0 =
M3,2 z l2 c12 Fy + ( m2 + m3 ) g l2 s12 Fx l2
c12 m2 g
2
0
= 0
M2,1z
l2
unde, M2,1z = M3,2 z + l2 c12 Fy + ( m2 + m3 ) g l2 s12 Fx c12 m2 g .
2
Dup nlocuiri, obinem
Mz + Fy ( l2 c12 + l3 c123 ) Fx ( l2 s12 + l3 s123 ) +
M2,1z = l l2
.(7.37)
3
+
2 m3 g c123 + l2 m 3 g c12 + m2 g c12
2
Pentru i =1,
Fx
0
F0,1 = 0F1,2 m1 g = Fy + ( m1 + m2 + m3 ) g ,
0
(7.38)
0
0
M0,1 = 0M1,2 + 0 p0,1 0F0,1 0 p1,C1 m1 0 g = ( )
0 l1 c1 Fx
= 0 + l1 s1 Fy + ( m1 + m2 + m3 ) g
M2,1z 0 0
l1
2 c1
0
l1
s1 m1 g
2
0 0
241
7. Statica roboilor de tip manipulator
0 0
0
M0,1 = 0 + 0
M l c F + ( m + m + m ) g l F s
2,1z 1 1 y 1 2 3 1 x 1
, (7.39)
0 0
0 = 0
l M
1 m1 g c1 1,0 Z
2
unde
l1
M0,1z = M1,2z + l1 Fy + ( m1 + m2 + m3 ) g c1 l1 Fx s1 m1 g c1 =
2
Mz + Fy ( l2 c12 + l3 c123 ) Fx ( l2 s12 + l3 s123 ) +
l l
= + 3 m3 g c123 + l2 m3 g c12 + 2 m2 g c12 + =
2 2
l1
+l1 Fy + ( m1 + m2 + m3 ) g c1 l1 Fx s1 m1 g c1
2
M + F ( l c + l c + l c ) F ( l s + l s + l s ) +
z y 1 1 2 12 3 123 x 1 1 2 12 3 123
l l
= + 1 m1 g c1 + m2 g l1 c1 + 2 c12 +
2 2
l3 .(7.40)
+ l1 c1 + l2 c12 + c123 m3 g
2
1 = z0T 0
M0,1 = M0,1z , (7.41)
2 = z1T 0
M1,2 = M1,2 z , (7.42)
3 = z2T 0
M2,3 = M2,3 z , (7.43)
242
Bazele Roboticii
M + F ( l c + l c + l c ) F ( l s + l s + l s ) +
z y 1 1 2 12 3 123 x 1 1 2 12 3 123
l l
1 = + 1 m1 g c1 + m2 g l1 c1 + 2 c12 + ,(7.44)
2 2
+m g l c + l c + 3 c l
3 1 1 2 12 123
2
l3
3 = Mz + l3 Fy c123 l3 Fx s123 + m3 g c123 . (7.46)
2
Dar,
1 Fx Gx
0 T 0 T
2 = J F3,4 + G = J Fy + Gy , (7.47)
3 Mz Gz
0 0
unde: J - matricea Jacobian geometric a vitezelor, F3,4 - fora
ce acioneaz asupra efectorului final, G - matricea forelor de
gravitate.
243
7. Statica roboilor de tip manipulator
l1 l
m1 c1 + m2 l1 c1 + 2 c12 +
2 2
l
+ m3 l1 c1 + l2 c12 + 3 c123
2
Gx
l l
3
G = Gy = 2 m2 c12 + m3 c123 + l2 c12 g . (7.49)
2 2
Gz
l3
m3 c 123
2
Trebuie notat faptul c, n absena gravitii, momentele de
torsiune ale actuatorilor i forele ce acioneaz asupra efectorului
final sunt legate ntre ele prin intermediul transpusei matricei
Jacobiene.
244
8
DINAMICA ROBOILOR DE
TIP MANIPULATOR
dV zC
u vC
w r
C yC
z p xC
Au Corp
p
C
O
y
unde
m= dV . (8.2)
V
245
8. Dinamica roboilor de tip manipulator
IuO = p ( u p ) dV , (8.3)
V
Iuw = IuO w = ( u ) ( )(
w p2 pT u pT w dV ,)
T
(8.5)
V
( )
2
Iuu = IuO w = p
2
pT u 2
dV = m ra , (8.6)
V
( )
2 2
unde ra = p2 pT u =( u p ) este un numr pozitiv i se
V
numete raz de giraie.
Atunci cnd scriem expresia anterioar sub urmtoarea form
O
I=
u IBO u , (8.7)
I xx I xy I xz
IBO = Iyx Iyy Iyz . (8.8)
I zz
I zx I zy
246
Bazele Roboticii
(y )
2
I xx
= + z 2 dV , (8.9)
V
(x )
2
Iyy
= + z 2 dV , (8.10)
V
(x )
2
I zz
= + y 2 dV , (8.11)
V
I xy =Iyx = x y dV , (8.12)
V
Iyz =I zy = y z dV , (8.13)
V
I xz =I zx = x z dV . (8.14)
V
O
I xx C
= I xx (
+ m yC2 + zC2 , ) (8.15)
O
Iyy C
= Iyy (
+ m xC2 + zC2 , ) (8.16)
O
I zz C
= I zz + m (x 2
C + yC2 ), (8.17)
O C
I xy = I xy + m xC yC , (8.18)
O C
Iyz = Iyz + m yC zC , (8.19)
O C
I xz = I xz + m xC zC . (8.20)
247
8. Dinamica roboilor de tip manipulator
IBO u = u . (8.21)
I xx I xy I xz
Iyx Iyy Iyz = 0. (8.22)
I I zy I zz
zx
Din acest motiv, valorile proprii i vectorii proprii ai matricei de
inerie IBO corespund momentului principal de inerie i direciei axei
principale de inerie.
8.1.2 Impulsul
Dar se tie c
248
Bazele Roboticii
0
p = pC + r = pC + CR Cr . (8.25)
ceea ce nseamn c
0 dpC
H= dt
= m vC ,
dV (8.28)
V
dpC
unde vC = reprezint viteza liniar a centrului de mas n raport
dt
cu sistemul de referin.
0 dp
dK= p dt dV . (8.29)
Momentul cinetic total al corpului B n raport cu originea O
este
dp
K0
= p dt dV . (8.30)
V
249
8. Dinamica roboilor de tip manipulator
dpC dr dr dp
K 0 = pC dV + r dV + pC dV + r dV C .
dt V V
dt V
dt V dt
dpC dr
K 0 = pC dv + r dv +
dt V V
dt
. (8.32)
d dp
+ pC x r dV + r dV C
dt dt
V V
Ultimii doi termeni ai relaiei (8.32) vor disprea atunci cnd
definiia centrului de mas conduce la
r dV = 0. (8.33)
V
dpC
De asemenea, tim c m = dV i vC =
dt
.
V
De aceea,
K 0 =m ( pC vC ) + K C , (8.34)
C dr
unde K
= r dt dV reprezint momentul cinetic al micrii n
V
jurul centrului de mas, n raport cu un sistem de referin fix A.
Dac privim cu atenie expresia
dr
dt
=d ( A
BR B
)
r = ( B r ) ,
atunci
KC = ( r ( B r ) ) dV . (8.35)
V
250
Bazele Roboticii
251
8. Dinamica roboilor de tip manipulator
B
zC
C
F
C
yC
C
M
z
xC Corp B
O p
M C
O
F
O y
dH O
FO = , (8.42)
dt
dK O
MO = , (8.43)
dt
unde:
H O - impulsul unui corp rigid B n raport cu originea O a
sistemului de referin {A} i exprimat n sistemul de axe
respectiv;
K O - momentul cinetic corespunztor;
F O , MO - forele i momentele rezultante ce acioneaz
asupra corpului rigid B, n punctul O.
Ecuaiile (8.42) i (8.43) reprezint ecuaiile fundamentale ale
dinamicii.
252
Bazele Roboticii
dK O dK C dv C
= + m pC . (8.45)
dt dt dt
FO = FC , (8.46)
M O = M C + pC F C , (8.47)
dK C dv C
M O = M C + pC F C = + m pC . (8.48)
dt dt
dK C
MC = . (8.49)
dt
Rata modificrii momentului cinetic al corpului B, n centrul
su de mas, este egal cu momentul rezultant ce acioneaz n
acelai punct.
C
nlocuind K= IBC B n ecuaia (8.49), obinem:
M C
=
(
d IBC B ). (8.50)
dt
C
M =
d ( C
IB C B ). (8.51)
dt
253
8. Dinamica roboilor de tip manipulator
(
Mx = I xx x y z Iyy I zz , ) (8.54)
My = Iyy y z x ( I zz I xx ) , (8.55)
(
Mz = I zz z x y I xx Iyy . ) (8.56)
254
Bazele Roboticii
Cupla i+1
0 *
Fi
Cupla i
Element i 0
Mi*
Cupla i-1 Ci
0p
Element i-1 i,C i zi 0
Fi,i+1
0
mi .g yi
xi
0
Fi-1,i ai Oi
z i-1
0
yi-1 Mi,i+1
ai-1 0p
Oi-1 i-1,i
xi-1
Perpendiculara
comuna 0
Mi-1,i
z0 0p 0p
i-1 i
O0 y0
x0
0
g - vectorul acceleraie gravitaional;
mi - masa elementului cinematic i;
0
Mi ,i +1 - momentul rezultant exercitat de elementul cinematic
i asupra elementului i+1, n originea Oi a sistemului de axe
{i}, 0Mi ,i +1 = 0Mi +1,i ;
0
Mi* - momentul de inerie ce acioneaz n centrul de mas al
elementului cinematic i;
255
8. Dinamica roboilor de tip manipulator
0
pi ,Ci - vectorul de poziie al centrului de mas al elementului
cinematic i n raport cu originea Oi a sistemului de axe {i},
0
pi ,Ci = Oi C i ;
0
pi 1,i - vectorul de poziie al originii Oi a sistemului de axe
{i} n raport cu originea Oi 1 a sistemului de axe {i-1},
0
pi 1,i = Oi 1Oi ;
0
v0,i - viteza liniar absolut a originii Oi ;
0
v0,Ci - viteza liniar absolut a centrului de mas al
elementului cinematic i;
0
a0,i - acceleraia liniar absolut a originii Oi ;
0
a0,Ci - acceleraia liniar absolut a centrului de mas al
elementului cinematic i;
0
0,i - viteza unghiular absolut a originii Oi ;
0
0,i - acceleraia unghiular absolut a originii Oi ;
0
Fi 1,i - fora rezultant exercitat de elementul cinematic i-1
asupra elementului i, n originea Oi 1 a sistemului de axe {i-
1}, exprimat n sistemul de referin {0}, 0Fi 1,i = 0Fi ,i 1 ;
0
Mi 1,i - momentul rezultant exercitat de elementul cinematic
i-1 asupra elementului i, n originea Oi 1 a sistemului de axe
{i-1}, 0Mi 1,i = 0Mi ,i 1 .
256
Bazele Roboticii
i =
0,i
i
i 1 R ( i 1
0,i 1 + i 1
i 1,i ) pt. cuple de rotatie
. (8.57)
i i i 1
0,i 1
= 0, i i 1 R pt. cuple de translatie
i= i i 1
0,i i 1 R 0,i 1 pt. cuple de transl.
i
i 1 R ( i 1
v0,i 1 + i 1
0,i 1 i 1
ip + i 1
ip ) pt. cuple de transl.
i i
+ i 1
0, i 1
i 1
(
0,i 1 i 1i p + )
pt. cuple
= a0,i i 1 R
+2
i 1
(
0,i 1 i 1i 1,i i 1i p + )
de rotatie
+ i 1
i 1, i
i 1
ip +
i 1
i 1,i i 1i 1,i ( i 1
)
ip
(8.60)
i 1a0,i 1 + i 1i 1 i 1i p +
pt. cuple
i
= a0,i i i 1
i 1 R + 0, i 1
i 1
(
0,i 1 i 1i p +
) de transl.
i 1 i 1 i 1
+2 0,i 1 i p + i p
Acceleraia gravitaional
i i
= g 0R 0g (8.62)
257
8. Dinamica roboilor de tip manipulator
i
Mi* = i Ii i 0,i i 0,i (I
i
i )
i 0,i . (8.64)
i
Mi* + i Mi 1,i i Mi ,i +1 (p i
i 1, i )
+ i pi ,Ci i Fi 1,i +
. (8.66)
+ i pi ,Ci i Fi ,i +1 =
0
i
Mi 1,i = i
Mi ,i +1 + (p
i
i 1, i )
+ i pi ,Ci i Fi 1,i
. (8.68)
i i i
pi ,Ci Fi ,i +1 Mi*
i 1 i 1
Mi=
1, i iR i Mi 1,i . (8.70)
258
Bazele Roboticii
8.3.1 Generaliti
259
8. Dinamica roboilor de tip manipulator
T
Q - vectorul forelor generalizate, Q = Q1 , Q2 , , Qn ;
qi - coordonata generalizat i;
T
q - vectorul coordonatelor generalizate, q = q1 , q2 , , qn ;
N - vectorul forelor Coriolis i centrifugale,
T
N = N1 , N2 , , Nn ;
L - lucrul mecanic virtual.
Funcia Lagrange este definit ca fiind diferena dinte energia
cinetic i cea potenial a sistemului mecanic:
L Ec E p .
= (8.73)
d L L
= Qi , i= 1, 2, , n. (8.74)
dt qi qi
260
Bazele Roboticii
1 T 1
Eci = vCi mi vCi + iT Ii i , (8.75)
2 2
unde: vCi este vectorul vitez liniar a centrului de mas al
elementului i n raport cu sistemul de referin; i este vectorul
vitez unghiular a elementului i n raport cu sistemul de referin;
0
Ii este matricea de inerie a elementului i n jurul centrului su de
mas, exprimat n raport cu sistemul de referin.
Dac i Ii este matricea de inerie a elementului i n raport cu
centrul su de mas, exprimat n sistemul de axe {i}, atunci se
poate scrie:
0 0
Ii = iR i Ii 0i RT . (8.76)
v J
unde, x C = Ci i Ji = vi .
Ci J i
i
J i = J1 i , J2i , , Ji i , 0, 0, , 0 . (8.79)
261
8. Dinamica roboilor de tip manipulator
adic,
v=Ci Jvi q
. (8.83)
=
Ci J i q
1 n
Ec
=
2 i =1
(
vCiT mi vCi + iT Ii i . ) (8.84)
262
Bazele Roboticii
= QT q .
W (8.93)
263
8. Dinamica roboilor de tip manipulator
T
= 1 , 2 , , n (8.94)
W = T q + FeT x . (8.96)
QT q = T q + FeT J q , (8.98)
de unde rezult:
QT = T + FeT J , (8.99)
respectiv
( )
T
Q= + FeT J = + J T FeT . (8.100)
Q= + J T FeT Ff . (8.101)
264
Bazele Roboticii
1 n n n
=L
2=i 1=j 1
Mij qi q j + mi gT pCi . (8.103)
=i 1
d L n dq j n dM
ij
= Mij +
dt q=
j
dt q
=j 1=j 1
i dt . (8.105)
n dMij n
= Mij q
j + q j
=j 1=j 1 dt
d L n n n Mij
dt
= Mij q j + q j qk . (8.107)
qi =j 1 =j 1=
k 1 t
L 1 n n n pCj
= M jk q j qk + m j gT . (8.108)
qi 2 qi =j 1= =j 1 qi
k 1
pCj
Se poate demonstra faptul c Jvj = , ceea ce nseamn c
qi
putem scrie
265
8. Dinamica roboilor de tip manipulator
L 1 n n n
= M jk q j qk + m j gT Jvj
i . (8.109)
qi 2 qi =j 1= =j 1
k 1
unde
n n Mij 1 M jk
=Ni q
2 qi
q j qk , (8.111)
k 1
=j 1= k
n
m j gT Jvj
Gi = i . (8.112)
j =1
n
Primul termen al ecuaiei (8.110) Mij qj este fora de
j =1
inerie, al doilea termen Ni reprezint termenul neliniar, constituind
forele Coriolis i centrifugale, iar al treilea termen Gi este fora
gravitaional. Sub form matriceal, ecuaia (8.110) poate fi scris
astfel,
+ N + G ,
Q = Mq (8.113)
T T
unde N = N1 , N2 , Nn i G = G1 , G2 , Gn .
266
Bazele Roboticii
0
pi 1,Ci =0i R i pi ,Ci + 0
i 1 R i 1
pi 1,i sau 0 0
pi 1,Ci =iR (p
i
i ,Ci + i pi 1,i )
0 0 k 1
pk 1,Ci =
k 1 R pk 1,k + 0 pk ,Ci , pentru k =
i 1, i 2, , 2, 1 ,
li cos i li
unde i 1 sau i ;
pi 1,
= i li sin i pi =
1, i d
i sin i
di
di cos i
1 2 i
Jvi = Jvi , Jvi , , Jvi , 0, 0, , 0 ,
J i = J1 i , J2i , , Ji i , 0, 0, , 0 ;
j =1
Q= + J T FeT Ff .
267
8. Dinamica roboilor de tip manipulator
x2
y2 _
M _ O2
l2
m2
y1
2
y0 x1
l1 m1
A 1
x0
Tabelul 8.1
Elem. ai i di i
1 l1 0 0 1
2 l2 0 0 2
268
Bazele Roboticii
cos 2 sin 2 0
1
2 R = sin 2 cos 2 0 , (8.118)
0 0 1
cos (1 + 2 ) sin (1 + 2 ) 0
0 sin (1 + 2 ) cos (1 + 2 ) 0 .
2R = (8.119)
0 0 1
269
8. Dinamica roboilor de tip manipulator
cos 2 sin 2 0
2 1 1 1 T
1 R = 2 R = 2 R = sin 2 cos 2 0 , (8.121)
0 0 1
cos (1 + 2 ) sin (1 + 2 ) 0
2
0 R 0 1
=
2 R 0 T
=
2 R
= sin ( 1 + 2 ) cos (1 + 2 ) 0 . (8.122)
0 0 1
l2 cos 2
1
2=p l2 sin 2 . (8.125)
0
270
Bazele Roboticii
ceea ce nseamn
l1
1
p0,1 = 0 , (8.127)
0
l2
2
p1,2 = 0 . (8.128)
0
l2
2
2
p2,C 2 = 0 . (8.130)
0
0 0 0
2
1 m l
1 1
=I1 0 1 0 , (8.131)
12
0 0 1
271
8. Dinamica roboilor de tip manipulator
0 0 0
m2 l22
2
=I2 0 1 0 . (8.132)
12
0 0 1
cos 1 sin 1 0 0 0
. (8.135)
= sin 1 cos 1 0 0 = 0
0 0 1 1 1
272
Bazele Roboticii
1
0,1 =01R ( 0
)
0,0 + 00,0 00,1 + 00,1 =01R 00,1 =
cos 1 sin 1 0 0 0
. (8.137)
sin 1 cos 1 0 0 =
= 0
0 0 1 1 1
273
8. Dinamica roboilor de tip manipulator
2 2
v0,2 = 1R 1v0,1 + 20,2 12R 21 p =
cos 2 sin 2 0 0
= sin 2 cos 2 0 l1 1 +
0 0 1 0
0 cos 2 sin 2 0 l2 cos 2
+ 0 sin 2 cos 2 0 l2 sin 2 =
1 + 2 0 0 1 0
l1 sin 2 1 0 l2
( )
= l1 cos 2 1 + l2 1 + 2 0 =
. (8.140)
0 1 0
l1 sin 2 1
(
= l1 cos 2 1 + l2 1 + 2
)
0
0a
0,0 (
+ 00,0 10 p + 00,0 00,0 10 p +
)
1 1 0 0
( 0 0
)
a0,1= 0 R +2 0,0 0,1 1 p + 0,1 1 p + 0
=
(
+ 00,1 00,1 10 p )
1
0 0 0 0
(
= 0 R 0,1 1 p + 0,1 0,1 1 p =
0
) . (8.141.a)
0 l1 cos 1
0 l1 sin 1 +
cos 1 sin 1 0
1 0
= sin cos 0
1 1 0 0 l cos
0 0 1 1 1
+ 0 0 l1 sin 1
1 1 0
274
Bazele Roboticii
l sin 1 1
1
l cos +
1 1 1
cos 1 sin 1 0
0
1
a0,1 = sin 1 cos 1 0 =
l1 sin 1 1
0 0
0 1
+ 0 l1 cos 1 1
1 0
l sin 1 1
1
l cos +
1 1 1
cos 1 sin 1 0
0
= sin 1 cos 1 0 =
l1 cos 1 12
0 0 1
+ l sin 2
1 1 1
0
( 1 1 1 1 )
l sin + l cos 2 cos +
1 1 1
( 2
)
+ l1 cos 1 1 l1 sin 1 1 sin 1
=
( 2
)
l1 sin 1 1 + l1 cos 1 1 sin 1 +
=
( 2
)
+ l1 cos 1 1 l1 sin 1 1 cos 1
0
.(8.141.b)
l1 12
= l1 1
0
Pentru a doua cupl cinematic, de rotaie (i=2),
1a + 1 1 p + 1 1 1 p +
0,1 0,1 2 0,1 0,1 2
( )
2 2 1
(
1 1
)1 1
a0,2= 1 R +2 0,1 1,2 2 p + 1,2 2 p +
. (8.142)
(
+ 11,2 11,2 21 p )
275
8. Dinamica roboilor de tip manipulator
cos 2 sin 2 0 l1 12
2 1
1 R a0,1 = sin 2 cos 2 0 l1 1 =
0 0 1 0
, (8.143)
2
l1 cos 2 1 + l1 sin 2 1
= l1 sin 2 12 + l1 cos 2 1
0
2
1R 10,1
(
0,1 21 p =
1
)
cos 2 sin 2 0 0 0 l2 cos 2
= sin 2 cos 2 0 0 0 l2 sin 2 =, (8.145.a)
0 0 1 1 1 0
cos 2 sin 2 0 0 l2 sin 2 1
= sin 2 cos 2 0 0 l2 cos 2 1
0 0
1 1 0
276
Bazele Roboticii
2
1R 10,1
(
1
0,1 )
21 p =
cos 2 sin 2 0 l2 cos 2 12 l2 12
, (8.145.b)
= sin 2 cos 2 0 l2 sin 2 12 = 0
0 0 1 0 0
2 12R 10,1
( 1,2 21 p =
1
)
cos 2 sin 2 0 0 0 l2 cos 2
= 2 sin 2 cos 2 0 0 0 l2 sin 2 =
0 0 1 1 2 0
cos 2 sin 2 0 0 l2 sin 2 2
,(8.146)
= 2 sin 2 cos 2 0 0 l2 cos 2 2 =
0 0 1 1 0
cos 2 sin 2 0 l2 cos 2 1 2 2 l2 1 2
= 2 sin 2 cos 2 0 l2 sin 2 1 2 = 0
0 0 1 0
0
2
1R ( 1
1,2 21 p = )
cos 2 sin 2 0 0 l2 cos 2
= sin 2 cos 2 0 0 l2 sin 2 = , (8.147)
0 0 1 2 0
cos 2 sin 2
0 l2 sin 2 2 0
= sin 2 cos 2 0 l2 cos 2 2 = l2 2
0 0 1 0 0
2
1R 11,2
( 1
1,2 )
21 p =
cos 2 sin 2 0 0 0 l2 cos 2
, (8.148.a)
= sin 2 cos 2 0 0 0 l2 sin 2
0 0 1 2 2 0
277
8. Dinamica roboilor de tip manipulator
2
1R 11,2
(
1
1,2 )
21 p =
cos 2 sin 2 0 0 l2 sin 2 2
= sin 2 cos 2 0 0 l2 cos 2 2 = . (8.148.b)
0 0 1 2 0
cos 2 sin 2 0 l2 cos 2 22 l2 22
= sin 2 cos 2 0 l2 sin 2 22 = 0
0 0 1 0 0
Adunnd termenii (8.143 8.148) obinem:
l1 cos 2 12 + l1 sin 2 1 0
2
a0,2 = l1 sin 2 1 + l1 cos 2 1 + l2 1 +
2
0 0
l2 12 2 l2 1 2 0 l2 22
+ l + 0 =
+ 0 + 0
2 2
0 0 0 0
l1 cos 2 12 + l1 sin 2 1 l2 12
2 l2 1 2 l2 22
2
= l1 sin 2 1 + l1 cos 2 1 + l2 1 + l2 2 =
0
l cos 2 + l sin l + 2
1 2 1 1 2 1 (
2 1 ) 2
2
(
= l1 sin 2 1 + l1 cos 2 1 + l2 1 + 2 ) . (8.149)
0
278
Bazele Roboticii
1
a0,C1 = 1
a0,1 + 10,1 1 p1,C1 + 10,1 ( 1
)
0,1 1 p1,C1 =
l1 l1
l1 12 0 2 0 0 2
= l1 1 + 0 0 + 0 0 0 =
0 0 0
1 1 1
l1 2
l1 2 2 1
l1 12 0 2 1
l
l1
= l1 1 + 1 + 0 = 1 1
2 2
0
0
0 0
, (8.150)
2
a0,C 2 = 2
a0,2 + 20,2 2 p2,C 2 + 20,2 ( 2
)
0,2 2 p2,C 2 =
l cos 2 + l sin l + 2
1 2 1 1 2 1 2 1( 2 )
2
( )
= l1 sin 2 1 + l1 cos 2 1 + l2 1 + 2 + (8.151.a)
0
l2 l2
0 2 0 0 2
+ 0 0 + 0 0 0 =
1 + 2 0 1 + 2 1 + 2 0
279
8. Dinamica roboilor de tip manipulator
2
l cos 2 + l sin l +
1 2 1 1 2 1 2 (1 2 )
2
(
a0,C2 = l1 sin 2 12 + l1 cos 2 1 + l2 1 + 2 ) +
0
l 2
0
2
(
2 1 + 2 )
l2
( )
+ 1 + 2 +
0 =
2
0
0
l 2
2
l1 cos 2 1 + l1 sin 2 (
1 2 1 + 2
2
)
l
= l1 sin 2 12 + l1 cos 2
2
(
1 + 2 1 + 2 )
0
. (8.151.b)
0
0
g = g , (8.152)
0
280
Bazele Roboticii
cos (1 + 2 ) sin (1 + 2 ) 0 0
2
g = 02R 0 g = sin (1 + 2 ) cos (1 + 2 ) 0 g =
0 0 1 0
. (8.154)
g sin (1 + 2 )
= g cos (1 + 2 )
0
2
M2,3 = 0 . (8.156)
0 0 0 0
1 2
= m2 l2 0 1 0 0
12
0 0 1 1 + 2
0 0 0 0 0 , (8.158)
1 2
0 m2 l2 0 1 0 0 =
12
1 + 2 0 0 1 1 + 2
0
1 2
= m2 l2 0
12
1 + 2
281
8. Dinamica roboilor de tip manipulator
g s12
2 2 2 2
F1,2 = F2,3 m2 g + m2 a0,C2 =m2 g c12 +
0
2 l2 ( 2
)
l1 c2 1 + l1 s2 1 2 1 + 2
l
(
2
)
+ m2 l1 s2 12 + l1 c2 1 + 2 1 + 2 =
0
2 l2( 2
)
l1 c2 1 + l1 s2 1 2 1 + 2 + g s12
l
(2
)
= m2 l1 s2 12 + l1 c2 1 + 2 1 + 2 + g c12
0 , (8.159)
1
F1,2 =21R 2F1,2 =
2 l2 ( 2
)
l1 c2 1 + l1 s2 1 2 1 + 2 +
+ g s12
c2 s2 0
l s 2 + l c + l2 + +
( )
=m2 s2 c2 0 1 2 1 1 2 1
2
1 2 =
+ g c
0
0 1 12
0
2 l2 ( 2 )
l2 ( )
l1 1 2 c2 1 + 2 + g s1 2 s2 1 + 2
l 2 l
2
( ) 2
(
= m2 l1 1 2 s2 1 + 2 + g c1 + 2 c2 1 + 2
) , (8.160)
0
282
Bazele Roboticii
2
M1,2 = 2
M2,3 + ( 2
)
p1,2 + 2 p2,C 2 2F1,2 2 p2,C 2 2F2,3 2M2* =
2 l2 ( 2
)
l1 1 2 c2 1 + 2 + g s1
l2
2 2 s (
+
1 2 )
l2
2 l 2
( )
l1 1 2 s2 1 + 2 + g c1 +
2
= 0 m2 +
l2
0 + c2 1 + 2( )
2
0
0
1
+ m2 l22 0 =
12
1 + 2
0
= m2 0 +
l2 2 + l c + l2 + + g c
l
2 1 2 1 s 1 2 1
2
1 2 ( ) 12
0
1
2
+ m2 l2 0 =
12
1 + 2
0
= m2 0
1 l 2 + 1 l l c + 1 l 2 + 1 l l s 2 +
3 2 2 1 2 2 1 3 2 2 2 1 2 2 1
+ 1 l g c ,(8.161)
2 2 12
283
8. Dinamica roboilor de tip manipulator
c2 s2 0
2 1 2
M1,2 =2 R M2,3 s2
= c2 0 2M2,3 =
0 0 1
. (8.162)
0
= m2 0
1 l 2 + 1 l l c + 1 l 2 +
3 2 2 1 2 2 1 3 2 2
+ 1 l l s 2 + 1 l g c
2 1 2 2 1 2 2 12
284
Bazele Roboticii
1
M1* =
1I1 10,1 10,1 ( 1
I1 10,1 = )
0 0 0 0
1
= m1 l12 0 1 0 0 , (8.165)
12
0 0 1 1
0 0 0 0 0 0
1 1
0 m1 l12 0 1 0 0 = m1 l12 0
12 12
1 0 0 1 1 1
1 1
F0,1= F1,2 m1 1g 1F1*= 1
F1,2 m1 1g m2 2a0,C1=
2 l2 ( 2 )
l1 c2 1 + l1 s2 1 2 1 + 2 + g s12
l
2
( )
= m2 l1 s2 1 + l1 c2 1 + 2 1 + 2 + g c12
2
0
l1 2
1
g s1 2
l
m1 g c1 + m1 1 1 =
2
0
0
m1 m 2
(
+ m2 l1 12 2 l2 c2 1 + 2 + )
2 2
m2
+ ( m1 + m2 ) g s1
2
(
l2 s2 1 + 2 )
m1 + m l m2 l s + 2 + ,(8.166)
2 2 1 1
2
2 2 1 ( 2 )
=
m2
+ ( m1 + m2 ) g c1 + 2 l2 c2 1 + 2
(
)
0
285
8. Dinamica roboilor de tip manipulator
c1s1 0
0
F0,1 =10R
F0,1 1
= s1
c1 0
00 1
m1 m 2
(
+ m2 l1 12 2 l2 c2 1 + 2 + )
2 2
m2
( 1
+ m + m 2) g s1
2
l2 s2 (
1 + )
2
m m 2 ,(8.167)
( )
1 + m2 l1 1 2 l2 s2 1 + 2 +
2 2
m2
+ ( m1 + m2 ) g c1 +
2
( )
l2 c2 1 + 2
0
1
M0,1 = 1
M1,2 + ( 1
)
p0,1 + 1 p1,C1 1F0,1 1 p1,C1 1F1,2 1M1* =
l1 l1
l 2
1 2
= 1
M1,2 + 0 + 0 1F0,1 0 1F1,2 + (8.168.a)
0
0
0
0
1
+ m1 l12 0
12
1
286
Bazele Roboticii
0
1
M0,1 = m2 0 +
1 2 1 1
l2 + l1 l2 c2 1 + l22 2 +
3 2 3
1 2 1
+ l1 l2 s2 1 + l2 g c12
2 2
0
+ 0 +
m1 l12 m2 + 2 +
2 + m 2 1 l
1 2l ( s2 )1 2
2 4
+ ( m + m ) l1 g c + m2 l l c +
1 2
2
1
4
1 2 ( 2 1) 2
0
l1
+ m2 0 +
2
l2 2
2
( )
l1 1 s2 1 + 2 + g c1 + , (8.168.b)
l
2
2(
+ 2 c +
1 ) 2
0
+ 0
1
2
m1 l1 1
12
287
8. Dinamica roboilor de tip manipulator
0
1
M0,1 = 0 ,(8.169)
m2 1 l22 + l1l2c2 + l12 + 1 m1l12 1 + 1 2 1
m2 l2 + l1l2c2 2
3 3
3 2
1
2
( ) 1
m2 l1l2 s2 212 + 22 + m1g l1c1
2
1
+ m2 g l1c1 + m2 g l2c12
2
c1 s1 0
0 0 1
M0,1 =1 R M0,1 = s1 c1 0 1M0,1 =
0 0 1
. (8.170)
0
= 0
m2 1 l22 + l1l2c2 + l12 + 1 m1l12 1 +
m
2 2
1
2
l +
1
l l c
1 2 2 2
3 3
3 2
1
2
( 2
)
1
m2 l1l2 s2 212 + 2 + m1g l1c1
2
1
+ m2 g l1c1 + m2 g l2c12
2
288
Bazele Roboticii
1 1 1 1
1 m2 l22 + l1l2c2 + l12 + m1l12 1 + m2 l22 + l1l2c2 2
=
3 3 3 2 ,(8.172)
1
2
( 2 1
) 1
m2 l1l2 s2 212 + 2 + m1g l1c1 + m2 g l1c1 + m2 g l2c12
2 2
adic:
1 2 2 1 2 1 1
m2 l2 + l1l2c2 + l1 + m1l1 m2 l22 + l1l2c2
1 3 3 3 2 1
+
2 1 1 1 2
m2 l22 + l1l2c2 2
m2 l2
3 2 3 .(8.175)
1
(
2
2 m2 l1l2 s2 212 + 2 ) 1 1
2 m1g l1c1 + m2 g l1c1 + 2 m2 g l2c12
+ +
1 1
m2 l1l2 s212 m2 l2 g c12
2 2
289
8. Dinamica roboilor de tip manipulator
N1
1
( 2
2 m2 l1l2 s2 212 + 2 )
, q ) =
N ( q= , (8.178)
N2 1
m2 l1l2 s212
2
este o matrice neliniar a vitezelor;
1 1
G1 2 m1g l1c1 + m2 g l1c1 + 2 m2 g l2c12
G =
= , (8.179)
G2 1
m2 l2 g c12
2
reprezint matricea forelor de gravitaie.
l1
A
1 z1
l2
1 B y1
m1
x1
0 l 2
z0
2 m2 C
y2 x2
m3 3
x0 y0 z2 l3
d3
y3 x3
z3
290
Bazele Roboticii
Tabelul 8.2
Elem. ai i di i
1 l1 0 l 1
2 l2 0 2
3 0 0 d3 0
cos 1 sin 1 0
0
1 R = sin 1 cos 1 0 (8.180)
0 0 1
cos 2 sin 2 0
1
=2R sin 2 cos 2 0 (8.181)
0 0 1
1 0 0
2
3 R = 0 1 0 (8.182)
0 0 1
cos (1 + 2 ) sin (1 + 2 ) 0
0
2R = 0
1R 1
2R = sin (1 + 2 ) cos (1 + 2 ) 0 (8.183)
0 0 1
cos (1 + 2 ) sin (1 + 2 ) 0
0
3R = 0
2R 2
3R = sin (1 + 2 ) cos (1 + 2 ) 0 (8.184)
0 0 1
cos 1 sin 1 0
0 0 -1 0 T
R
1= 1 R= 1 R= sin 1 cos 1 0 (8.185)
0 0 1
291
8. Dinamica roboilor de tip manipulator
cos 2 sin 2 0
2 1 -1 1 T
1R
= 2R
= 2R
= sin 2 cos 2 0 (8.186)
0 0 1
1 0 0
3 2 -1 2 T
2R
= 3R
= 3R
= 0 1= 0 I (8.187)
0 0 1
l2 cos 2
1
2=p l2 sin 2, (8.190)
0
0
2
3p = 0 . (8.191)
d3
292
Bazele Roboticii
cos 1 sin 1 0 0 0
(8.193)
sin 1 cos 1 0 0 =
= 0
0 0 1 1 1
cos 2 sin 2 0 0 0
2
0,2 =12R (
1
0,1 + 12 ) = sin 2
cos 2 0 0 + 0 =
0 0 1 1 2
.(8.194)
0
= 0
(
+
1 2 )
Pentru a treia cupl cinematic C, de translaie :
1 0 0 0 0
3 3
0,3 =
2R
2
0,2 =0 1 0 0 = 0 .(8.195)
0 0 1 1 + 2
( ) (
1 + 2 )
293
8. Dinamica roboilor de tip manipulator
294
Bazele Roboticii
1
v0,1 = 01R 0v0,0 + 10,1 ( 1
0R 0
1p )=
cos 1 sin 1 0 0
= sin 1 cos 1 0 0 +
0 0 1 0
0 cos 1 sin 1 0 l1 cos 1
(8.199)
+ 0 sin 1 cos 1 0 l1 sin 1 =
1 0 0 1 l
0
= l1 1 .
0
Pentru cupla cinematic B, de rotaie, viteza liniar se
determin cu relaia:
2
v0,2 = 12R 1v0,1 + 20,2 ( 2
1R )
12 p =
cos 2 sin 2 0 0 0
= sin 2 cos 2 0 l1 1 + 0
0 0 (
1 0 1 + 2 )
cos 2 sin 2 0 l1 cos 2
sin 2 cos 2 0 l1 sin 2 =
0 0 1 0
l1 1 sin 2 0 l2
= l1 1 cos 2 + 0 0 =
0 ( )
1 + 2 0
l1 1 sin 2 0
(
= l1 1 cos 2 + l2 1 + 2 = )
0 0
l1 1 sin 2
(
= l1 1 cos 2 l2 1 + 2 . ) (8.200)
0
295
8. Dinamica roboilor de tip manipulator
0 1
a0,1 =
0a
0 0 0
0,0 + 0,0 1 p + 0,0
0
(
0,0 10 p + )
0R =
0 0 0
( 0 0
) 0
+2 0,0 1 1 p + 1 1 p + 1 1
0
(
10 p
)
(8.202.a)
= 0
1
0R 1 1 1 (
0 p + 0 0 0 p =
1 1 )
cos 1 sin 1 0 0 l1 cos 1 0 0 l1 cos 1
sin 1 cos 1 0 0 l1 sin 1 + 0 0 l1 sin 1 =
=
0 0 1 1 l 1 1
l
296
Bazele Roboticii
1 ( 1 1 1 1 ) 1 1 1 1 (
l s + 2 c c + l c 2 s s
1 1 1
) 2
l1 1
( ) ( )
= l1 1 s1 + 12 c1 s1 + l1 1 c1 12 s1 c1 = l1 1 .
0
0 (8.202)
2
a0,2 2
0 a + 1 1 p + 1 1 1 p +
0,1 0,1 2 0,1 0,1 2 (
. (8.203) )
= 1R
1 1
(
1 1 1 1
)1 1
+2 0,1 2 2 p + 2 2 p + 2 2 2 p ( )
Deoarece calculul este destul de laborios, acesta se va face pe
etape, dup cum urmeaz.
cos 2 0 l1 12
sin 2
2 0
1R a=
0,1 sin 2 cos 2 0 l1 =
1
0 0 1 0
(8.204)
(
l cos + sin
1
2
1 2 1 2
)
2
(
= l1 1 sin 2 + 1 cos 2
)
0
297
8. Dinamica roboilor de tip manipulator
0 0 1 1 0
cos 2 sin 2
0 l2 1 sin 2
= sin 2 cos 2 0 l2 1 cos=2 (8.205)
0 0 1 0
0
= l2 1
0
c2 s2 0 0 0 l2 c2
2
1R
0,1 (
1 0 1 p = s
0,1 2 2 ) c2 0 0 0 l2 s2 =
0 0 1 1 1 0
c2 s2 0 0 l2 1 s2
(8.206)
= s2 c2 0 0 l2 1 c2 =
0 0 1 1 0
c2 s2 0 l2 12 c2 l2 22
= s2 c2 0 l2 21s2=
0
0 0 1 0 0
0 0 l2 c2
2
1R
0,1 (2 2 1 )
2 1 1 1 p =2 2R 0 0 l s =
2 2
0
1 2
(8.207.a)
c2 s2 0 0 l2 1 s2
= 2 s2 c2 0 0 l2 1 c2
0 0 1 1 0
298
Bazele Roboticii
c2 s2 0 l2 1 2 c2
2
1R
1
0,1
1
2
1
2 (
2 p = 2 s
2 ) c2 0 l2 1 2 s2 =
0 0 1 0
(8.207.b)
2 l2 1 2
= 0
0
c2 s2 0 0 l2 c2
2
1R ( 1
2 1
2p )
= s2
c2 0 0 l2 s2 =
0 0 1 2 0
(8.208)
c2 s2 0 l2 2 s2 0
= s2 c2 0 l2 2 c2 = l2 2
0 0 1 0 0
c2 s2 0 0 0 l2 c2
2
1R
1
2 (
p = s
1
2
1
2 2 ) c2 0 0 0 l2 s2 =
0 0 1 2 2 0
c2 s2 0 0 l2 2 s2
= s2 c2 0 0 l2 2 c2 = (8.209)
0 0
1 2 0
c2 s2 0 l2 22 c2 l2 22
= s2 c2 0 l2 22 s2=
0
0 0 1 0 0
Adunnd termenii (8.204 8.209), obinem:
299
8. Dinamica roboilor de tip manipulator
1 (
l 2 c + s
1 2 1 2)
2
0 l2 2 2l2 1 2
2
a0,2
( )
= l1 21s2 + 1 c2 + l2 1 + 0 +
0 +
0 0 0
0
.(8.210)
0 l2 2 12 ( 1 2 1 2 2 1)
l 2 c + s l + 2
2 ( )
( )
+ l2 2 + 0 = l1 21s2 + 1 c2 l2 1 + 2
( )
0 0
0
3 3
a0,3 =
2a
2 2 2
0,2 + 0,2 3 p + 0,2
2
0,2 32 p ( ) + =
2R
2 2 1
+2 0,2 3 p + 3 p
0 0
2a + 0 0+
0,2
1 (
+ d
2 3 )
1 0 0 0 0 0
= 0 1 0 + 0 0 0 + =
( )
0 0 1 1 + 2 1 + 2 d3
( )
0 0 0
+2 0 0+0
1 2 3 (
+ d d
3 )
0 0 0 0
= 0 1 0 2a0,2 + 0 =
0 0 1 d3
300
Bazele Roboticii
2 ( ) 2
1 0 0 l1 1 c2 + 1 s2 l2 1 + 2 0 ( )
3
= ( )
a0,3 0 1 0 l1 12 s2 + 1 c2 l2 1 + 2 +=
(
0
)
0 0 1 d3
0
2 (
1 0 0 l1 1 c2 + 1 s2 l2 1 + 2
) 2
( )
(
= 0 1 0 l1 12 s2 + 1 c2 l2 1 + 2 =
)
( ) (8.211)
0 0 1
d3
1 1 (
l 2 c + s l + 2
2 1 2 2 1 )
2 ( )
( )
= l1 12 s2 + 1 c2 l2 1 + 2 .
( )
d 3
301
8. Dinamica roboilor de tip manipulator
Aceasta nseamn c:
cos 1 sin 1 0 li cos 1 l1
1
p0,1 =01R 10 p = sin 1 cos 1 0 li sin 1 = 0 , (8.214)
0 0 1 l l
1 0 0 0 0
3
p2,3 = 23R 32 p = 0 1 0 0 = 0 . (8.216)
0 0 1 d3 d3
l1
2
1
p1,C1 = 0 , (8.217)
0
302
Bazele Roboticii
l2
2
2
p2,C2 = 0 ,
(8.218)
0
0
3
p3,c3 = 0 . (8.219)
l
3
2
1
a0,C1 = 0
a0,1 + 10,1 1 p1,C1 + 10,1 (
1
0,1 )
1 p1,C1 =
l1 l1
l1 12 0 2 0 0 2
= l1 1 + 0 0 + 0 0 0 =
0 0 0
1 1 1
l1 2
l1 2 2 1
l1 12 0 2 1
l
l1
= l1 1 + 1 + 0 = 1 1
2 2
0
0
0 0
(8.220)
303
8. Dinamica roboilor de tip manipulator
2
a0,C2 =2a0,2 + 20,2 2 p2,C2 + 20,2 ( 2
0,2 2 p2,C2 = )
l2 l2
0 2 0 0 2
0 =
2
= a0,2 + 0 0 + 0 0
(
+ ) 0 + ( ) + ( ) 0
1 2 1 2 1 2
1 1 (
l 2 c + s l +
2 1 2 1 1 ) 2 ( )
2
0
l
( )
= l1 12 s2 + 1 c2 l2 1 + 2
( ) (
+ 2 1 + 2
2
) +
0
0
l2
l2
2 1 + 2(
2
)
( 2 2
l1 1 c2 + 1 s2 2 1 + 2 ) ( )
l
+
0 1 (
= l 2 s + c 2 +
1 2 1 2
2
1 2
) ( )
0
0
(8.221)
3
a3,C3 = 3
a0,3 + 30,3 3 p3,C3 + 30,3 ( 3
0,3 3 p3,C3 = )
0 0 0 0 0
(8.222)
3
= a0,3 + 0 0 + 0 0 0 =
l
1 (
+
2 )
l3 1 + 2 (
1 + 2 ) ( ) 3
2 2
1 1 2 (
l 2 c + s l + 2
1 2 2 1 2 ) ( )
(
= 3a0,3 = l1 12 s2 + 1 c2 l2 1 + 2
)
( )
0
304
Bazele Roboticii
0
0
g = 0 , (8.223)
g
0
1
g = 0 , (8.224)
g
0
2
g = 0 , (8.225)
g
0
3
g = 0 . (8.226)
g
1 ( 1 2 1 2 2 )
l 2 c + s l + 2
1 ( 2 )
3 *
F3 =-m3 3a0,C3 ( ) ( )
=m3 l1 12 s2 + 1 c2 l2 1 + 2 ,(8.227)
d 3
3
M3* =
3I3 30,3 30,3 ( 3
)
I3 30,3 =
1 0 0 0
1
= m3 l32 0 1 0 0 , (8.228)
12
(
0 0 0 1 + 2
)
0 1 0 0 0 0
1 0 1 0 =
m3 l32 0 0 0
12
(1 )
+ 0 0 0 +
2 1 2 ( ) 0
305
8. Dinamica roboilor de tip manipulator
3 3
F2,3 =F3,4 m3 3 g 3F3* =
m3 3 g + m3 3a0,C3 =
0 1 (
l 2 c + s l + 2
1 2 1 2 2 1 2 ) ( )
=m3 0 + m3
( )
l1 12 s2 + 1 c2 l2 1 + 2 =, (8.229)
( )
g
d3
1 (
l 2 c + s l + 2
1 2 1 2 2 1 ) 2 ( )
( )
= m3 l1 12 s2 + 1 c2 l2 1 + 2
( )
d3 g
2 2 2
F2,3 =3 R F2,3 =
1 0 0 1 1(
l 2 c + s l + 2
2 1 2 2 1 2 ) ( )
= 0 1 0 m3
(
l1 12 s2 + 1 c2 l2 1 =
+ 2
) ( ) (8.230)
0 0 1 g
d 3
1 1(
l 2 c + s l + 2
2 1 2 2 1 ) 2 ( )
( )
= m3 l1 12 s2 + 1 c2 l2 1 + 2
( )
g
d 3
3
M2,3 = 3
M3,4 + ( 3
)
p2,3 + 3 p3,C3 3F2,3 3 p3,C3 3F3,4 3M3* =
0
0 0
2 (
l1 1 c2 + 1 s2 l2 1 + 2
2 ) ( )
= 0 + 0 + 0 m3
(
l1 12 s2 + 1 c2 l2 1 + 2
) ( ) ,
0 d3 l3 d3 g
2
0 0 0
0
1 ( 1 2 1 2 2 1 )
l 2 c + s l + 2
2 ( )
0 0=
0
0 m3
( )
l1 12 s2 + 1 c2 l2 1 + 2
( )
l3 0 0 d l3 d3 g
2 2
3
306
Bazele Roboticii
1 2 ( 1 2 2 )
l 2 s + c + l +
1 1 2 ( )
l
3
( )
M2,3= m3 d3 3 l1 12 c2 + 1 s2 l2 1 + 2
2
( )
2
, (8.231)
0
1 0 0
2 2 3
M2,3 =3 R M2,3 = 0 1 0 3M2,3 =
0 0 1
1 (
2 1 2 2 1)
l 2 s + c + l +
1 2 ( ) . (8.232)
l
( )
= m3 d3 3 l1 12 c2 + 1 s2 l2 1 + 2
2
(
2
)
0
Fora actuatorului cuplei C, de translaie, va fi:
3 =2 z2T 2F2,3 =
1 1 (2 1 2 2 1 )
l 2 c + s l + 2
2 ( )
( )
= 0 0 1 m3 l1 12 s2 + 1 c2 l2 1 +=
(
2 . (8.233)
)
g
d 3
(
= m3 d3 g )
Pentru elementul cinematic 2,
l2
2
(
)
l1 1 c2 + 1 s2 2 1 + 2
2 ( )
l
2 *
F2 =m2 2a0,C2 ( ) (
= m2 l1 12 s2 + 1 c2 2 1 + 2 , (8.234)
2
)
0
307
8. Dinamica roboilor de tip manipulator
2
M2* =
2I2 20,2 20,2 ( 2
I2 2
0,2 = )
0 0 0 0 0
1 1 m l2
= m2 l22 0 1 0 0 2 2 0
12 12
(
0 0 1 1 + 2
)
+
1 2 ( )
0 0 0 0 0
, (8.235)
1
0 1 0 0 = m2 l22 0
12
(
0 0 1 +
1 2 ) +
1 2
0 0 0
1 2 1 2
m2 l2 0 0 = m2 l2 0
12 12
( 1 2 )
+ +
1 2( )
1 + 2
2 2
F1,2= F2,3 m2 2 g 2F2*=
2
= F2,3 m2 2 g + m2 2a0,C2=
1 1 ( 2 1 2 2 )
l 2 c + s l + 2
1 2 ( 0 )
( ) (
=m3 l1 12 s2 + 1 c2 l2 1 + 2 m2 0 +
)
g
d3 g
l2
2 ( )
l1 1 c2 + 1 s2 2 1 + 2
2 ( )
l
2
( )
+m2 l1 1 s2 + 1 c2 2 1 + 2 =
2
( )
0
, (8.236)
m2 2
(
( m2 + m3 ) l1 1 c2 + 1 s2
2
2
)
+ m3 l2 1 + 2
( )
m2
2
(
= ( m2 + m3 ) l1 1 s2 + 1 c2
2
)
+ m3 l2 1 + 2
( )
m3 d3 ( m2 + m3 ) g
308
Bazele Roboticii
c2 s2 0
1
F1,2 =21R 2F1,2 = s2 c 2 0 2F1,2 =
0 0 1
2 m2 + m l + 2 c + + s ( ) ( )
( m2 + m3 ) l1 1 3 2 1 2 2 1 2 2 , (8.237)
2
m 2
( )
= ( m2 + m3 ) l1 1 2 + m3 l2 1 + 2 s2 1 + 2 c2
2
( )
m3 d3 + ( m2 + m3 ) g
2
M1,2 = 2
M2,3 + ( 2
)
p1,2 + 2 p2,C2 2F1,2 2 p2,C2 2F2,3 2M2* =
l2 l2
l 2 0
2 2
1
= 2
M2,3 + 0 + 0 2F1,2 0 2F2,3 m2 l22 0 =
12
0 1 + 2
0 0
1 1 2 (
l 2 s + c + l +
1 2 2 1 2 ) ( )
l
(
= m3 d3 3 l1 12 c2 + 1 s2 l2 1 + 2
2
) (
2
)
+
0
m2 2
(
)
l2 ( m2 + m3 ) l1 1 c2 + 1 s2 2 + m3 l2 1 + 2
2
( )
2
m
(
)
+ 0 ( m2 + m3 ) l1 12 s2 + 1 c2 2 + m3 l2 1 + 2
2
( )
0
m3 d3 ( m2 + m3 ) g
(8.238.a)
l2
2
(2
l1 1 c2 + 1 s2 l2 1 + 2 )
2 ( 0 )
1
( )
0 m3 l1 12 s2 + 1 c2 l2 1 + 2
12
(
m2 l22 0
)
0 1 + 2
d g
3
309
8. Dinamica roboilor de tip manipulator
1 1 2 (
l 2 s + c + l +
1 2 2 1 2 ) ( )
l
2
M1,2
(
= m3 d3 3 l1 12 c2 + 1 s2 l2 1 + 2
2
) ( )
2
+
0
0
l
+ 2 m3 d3 ( m2 + m3 ) g
2
l m
(
)
2 ( m2 + m3 ) l1 12 s2 + 1 c2 + 2 + m3 l2 1 + 2
2 2
( )
0
0
l2 1
m3
2
(
d3 g )
12
m2 l22 0 =
1 + 2
l2 l 2 s + c + l +
2
(
1 1 2 1 2 2 1) 2 ( )
l3
2 ( )
m3 d3 l1 1 s2 + 1 c2 + l2 1 + 2
2
( )
l3
2
(
2
m3 d3 l1 1 c2 + 1 s2 l2 1 + 2 ) 2
(
) (8.238.b)
=
l
2 2m3 d3 ( m2 + 2m3 ) g
2
l2 ( m + 2m ) l 2 s + c + m2 + 2m l +
2 2
3 1 1 2 ( 1 2
2
)
3 2 1
2
( )
1
(
2
m2 l2 1 + 2
2
)
c2 s2 0
1 1 2
M1,2 =2 R M1,2 = s2 c 2 0 2M1,2 (8.239.a)
0 0 1
310
Bazele Roboticii
l3 2
( ) ( )
m3 d3 l11 + l2 1 + 2 c2 l2 1 + 2 s2
2
l2
2m3d3 ( m2 + 2m3 ) g s2
2
l3 2 2
( ) ( )
m3 d3 2 l11 + l2 1 + 2 s2 + l2 1 + 2 c2 + .(8.239.b)
1
M1,2 =
l2
+ 2m3d3 ( m2 + 2m3 ) g c2
2
l2 ( m + 2m ) l 2 s + c + m2 + 2m l +
2 2 3 1 1 2( 1 2 )
2
(
3 2 1
)
2 +
1
(
2
+ 12 m2 l2 1 + 2
)
311
8. Dinamica roboilor de tip manipulator
1
M1* =
1I1 10,1 10,1 ( 1
I1 10,1 = )
0 0 0 0 0 0 0 0 0
1 1
=
m1l12 0 1 0 0 m1l12 0 0 1 0 0 = , (8.242)
12 12
0 0 1 1 1 0 0 1 1
0 0 0 0
1 1 1
=
m1l12 0 m1l12 0 0 = m1l12 0
12 12 12
1 1 1 1
1 1
F0,1= F1,2 m1 1g 1F1*=
2 m2 + m l + 2 c + + s
( ) ( )
( m2 + m3 ) l1 1 3 2 1 2 2 1 2 2
2
m2 2
= ( m2 + m3 ) l1 1
2
( )
+ m3 l2 1 + 2 s2 1 + 2 c2
( )
m d
3 3
+ ( m 2 + m 3 ) g
l1 2
2 1
0
l
m1 0 + m1 1 1 =
2
g
0
m1 m 2
2 2
( )
+ m2 + m3 l112 2 + m3 l2 1 + 2 c2 + 1 + 2 s2
( )
m m 2
( )
= 1 + m2 + m3 l11 2 + m3 l2 1 + 2 s2 1 + 2 c2
2 2
( )
,
+ ( m + m + m ) g
m 3 3d 1 2 3
(8.243)
312
Bazele Roboticii
c 1 s1 0
0
F0,1 =10R 1
F0,1 = s1 c1 0
0 0 1
m1 m 2
( )
+ m2 + m3 l112 2 + m3 l2 1 + 2 c2 + 1 + 2 s2 ( )
2 2
m m 2
( )
1 + m2 + m3 l11 2 + m3 l2 1 + 2 s2 1 + 2 c2 =
2 2
( )
m d
3 3 + ( m1 + m 2 + m3 ) g
+ 2 c +
m1 + m + m l 2c + s m 2 + m l ( )
2 2 3 1 1 1 (1 1 )3 2
1
2 12
2 ( )
+ 1 + 2 s12
+ 2 s
m1 m2 ( )
=
2 (
)
2 + m2 + m3 l1 1 s1 1c1 2 + m3 l2
1
2 12
(8.244)
(
1 + c
)
2 12
m3d3 + ( m1 + m2 + m3 ) g
1
M0,1 = 1
M1,2 + ( 1
)
p0,1 + 1 p1,C1 1F0,1 1 p1,C1 1F1,2 1M1* =
l3 (
l11 + l2 1 + 2 c2
)
l2 2m3d3
m3 d3 2 2
2 ( m + 2m ) g 2
s
(
l2 1 + 2 s2 )
2 3
2 (
l3 l11 + l2 1 + 2 s2 + l2 2m3d3 )
=m3 d3 + c +
2 +l + 2 c 2 ( m + 2m ) g 2
2 1 ( 2 2 ) 2 3
l 2 3 1 1 (
( m + 2m ) l 2 s + c +
2 1 2
1
)
2
2 + m2 + 2m3 l2 1 + 2
+ m2 l22 1 + 2 ( )
( 12)
2
313
8. Dinamica roboilor de tip manipulator
2
m1 + m + m l 2 m 2 + m l 1 + 2 c2 + ( )
2 2 3 1 1 3 2
+ 1 + 2 s2
l1
2
( )
l
2
1
+ 2 s
m m
+ 0 + 0 1 + m2 + m3 l11 2 + m3 l2
(1 2 )2
2 2
1(+
2 c 2 )
l 0
m3d3 + ( m1 + m2 + m3 ) g
m 2
( )
l1 ( m2 + m3 ) l1 1 2 + m3 l2 1 + 2 c2 + 1 + 2 s2
2 2 ( )
2
m2 2
0 ( m2 + m3 ) l1 1
2
( )
+ m3 l2 1 + 2 s2 1 + 2 c2 + (
)
0
m d + ( m + m ) g
3 3 2 3
0
1
2
+ m1l1 0 =
12
1
l3 m1 m
m3 d3 ( l1 + l2c2 ) + + m2 + m3 l1l + 2 + m3 l2 lc2 1 +
2 2 2
+ m d l3 l c + m2 + m l lc 2m l2 s d
3 3 2 2 2 2 3 2 2 2
3
2
2 3
l3 m2 2 l
m3 d3 +
2 2
( )
+ m3 l l2 1 + 2 s2 + ( m2 + 2m3 ) 2 gs2
2
l3 m2
m3 d3 + + m3 l l2 s21 +
2 2
l m l
+ m3 d3 3 + 2 + m3 l l2 s22 + 2m3 2 s2d3 +
2 2 2
= +
l m
( )
2
+m3 d3 3 l112 + l2 1 + 2 c2 + 1 + m2 + m3 l1l12 +
2 2
m 2 l
( )
+ 2 + 2m3 l2 l 1 + 2 c2 ( m2 + 2m3 ) 2 gc2
2 2
m1 m
+ m2 + m3 l12 + ( m2 + 2m3 ) l1l2c2 + 2 + m3 l22 1 +
3 3
m m m
+ 2 + m l 2 + 2 + m l l c 2 + m l l s 2 + 2
3 3 2
2
3 12 2
2
2
3 12 2
1 2 2( )
314
Bazele Roboticii
0
1
2
+ m1l1 0 =
12
1
l3 m1 m
m3 d3 ( l1 + l2c2 ) + + m2 + m3 l1l + 2 + m3 l2 lc2 1 +
2 2 2
l m
+ m d 3 l c + 2 + m l lc 2m 2 s d l
3 3 2 2 2 2 3 2 2 2
3
2
2 3
l3 m2 2 l
m3 d3 +
2 2
( )
+ m3 l l2 1 + 2 s2 + ( m2 + 2m3 ) 2 gs2
2
l3 m2
m3 d3 + + m3 l l2 s21 +
2 2
+ m d l3 + m2 + m l l s + 2m l2 s d +
3 3 3 2 2 2 3 2 3
2 2 2
=
l3 2 2 m1 2
( )
+m3 d3 2 l11 + l2 1 + 2 c2 + 2 + m2 + m3 l1l1 +
m2 2 l
+ ( )
+ 2m3 l2 l 1 + 2 c2 ( m2 + 2m3 ) 2 gc2
2 2
(8.245)
m1 m
+ m2 + m3 l12 + ( m2 + 2m3 ) l1l2c2 + 2 + m3 l22 1 +
3 3
m m
+ 2 + m3 l22 + 2 + m3 l1l2c2 2
3 2
m
(
2 + m3 l1l2 s2 212 + 22
2
)
c 1 s1 0
0
M0,1 =0
1R
1
M0,1 = s1 c1 0 1M0,1 . (8.246)
0 0 1
315
8. Dinamica roboilor de tip manipulator
m m
= 1 + m2 + m3 l12 + ( m2 + 2m3 ) l1l2c2 + 2 + m3 l22 1 +
3 3
. (8.247)
m m
+ 2 + m3 l22 + 2 + m3 l1l2c2 2
3 2
m
(
2 + m3 l1l2 s2 212 + 22
2
)
m1 m
1= + m2 + m3 l12 + ( m2 + 2m3 ) l1l2c2 + 2 + m3 l22 1 +
3 3
m m
+ 2 + m3 l22 + 2 + m3 l1l2c2 2 , (8.248)
3 2
m
(
2 + m3 l1l2 s2 212 + 22
2
)
m2 m m
2 = + m3 l1l2c2 + 2 + m3 l22 1 + 2 + m3 l2 22 +
2 3 3 , (8.249)
m2
+ + m3 l1l212 s2
2
(
3 = m3 d3 g . ) (8.250)
unde:
1
= 2 , (8.252)
3
316
Bazele Roboticii
317
8. Dinamica roboilor de tip manipulator
G1 0
G =
= G2 0 , (8.256)
G3 m3 g
318
9
GENERAREA TRAIECTORIEI
9.1 Generaliti
Pentru realizarea unei anumite operaii n spaiul
tridimensional, efectorul final al manipulatorului trebuie s descrie o
anumit traiectorie n interiorul spaiului de lucru, ceea ce nseamn o
modificare n timp a poziiei i orientrii sistemului de axe ataat
acestui efector (Fig. 9.1). Pentru manipulator, acest lucru presupune
o modificare n timp a matricei omogene totale 0nT , matrice scris n
raport cu sistemul de referin fix.
z0 y3 z0 y3 Traiectorie
_ B
_ M _ O3
O0 M _ O3 O0
x0 y0 x0 y0
z3 x3 z3 x3
Obstacol
Traiectorie
A A
(a) (b)
319
9. Generarea traiectoriei
320
Bazele Roboticii
(t)
t0 tf t
(tf ) = f . (9.2)
321
9. Generarea traiectoriei
(0) = 0 , (9.3)
(tf ) = 0 . (9.4)
(tf ) = a0 + a1 t + a2 t 2 + a3 t 3 , (9.5)
(tf ) = a1 + 2 a2 t + 3 a3 t 2 , (9.6)
(tf ) = 2 a2 + 6 a3 t . (9.7)
322
Bazele Roboticii
care cupla cinematic are valoarea zero pentru viteza iniial i cea
final (Fig. 9.3).
..
. (t)
(t) (t) ..
0
f
tf
t0 t
. . ..
0 0 =f =0 f
t0 tf t t0 tf t
(0) = 0 , (9.10)
(tf ) = f , (9.11)
323
9. Generarea traiectoriei
0 = a0
f = a0 + a1 tf + a2 tf2 + a3 tf3
. (9.12)
0 = a1
f = a1 + 2 a2 tf + 3 a3 tf2
324
Bazele Roboticii
(t)
B
B
f
f
A
C A
C
0
t0 tA tB tC tf t
325
9. Generarea traiectoriei
326
Bazele Roboticii
(t ) = a0 + a1 t + a2 t 2 + a3 t 3 + a4 t 4 + a5 t 5 , (9.18)
a0 = 0
a1 = 0
0
a2 =
2
a3 =
( ) ( )
20 0 + 20 f 8 f + 12 0 tf 3 0 f tf2
. (9.20)
2 tf3
( ) ( )
30 0 30 f + 14 f + 16 0 tf 3 0 2 f tf2
a4 =
2 tf4
a5 =
( ) ( )
12 0 + 12 f 6 f + 6 0 tf 0 f tf2
2 tf5
327
9. Generarea traiectoriei
(t)
t0 tf t
328
Bazele Roboticii
(t)
t0 tp tf - tp tf t
(t)
t0 tm tf t
329
9. Generarea traiectoriei
t p2 t t p + ( f 0 ) =0, (9.23)
t 2 t 2 4 ( f 0 )
t p= (9.24)
2 2
Condiia impus pentru acceleraia n zona parabolic este
4 ( f 0 )
. (9.25)
t2
330
Bazele Roboticii
(t)
j
t jk
l
.
Viteza jk k
tk
0
i
t
td12 tdjk
331
9. Generarea traiectoriei
2 1
= 1 t1 . (9.27)
1
td12 t1
2
Dac se determin t1 , atunci pot fi calculai simplu parametrii
12 i t12 ,
(
1 sign 2 1 1
=
)
2 (2 1 )
=t1 td12 - td212
1
2 1 . (9.28)
12 = 1
td12 t1
2
1
t12= td12 t1 t2
2
Asemntor, pentru ultimul segment, avem
n 1 n
= n tn (9.29)
1
td ( n 1) n tn
2
i
n sign n 1 n n
=
( )
2 ( n n 1 )
=tn td n 1 n - td2 n 1 n
( ) ( ) n
n n 1 . (9.30)
( n 1) n = 1
td ( n 1) n tn
2
1
t( n=
1) n td ( n 1) n tn tn 1
2
Utiliznd relaiile (7.26 - 7.30), putem determina duratele i
vitezele zonelor parabolice ale unei traiectorii cu mai multe segmente.
De obicei, utilizatorul specific doar punctele intermediare i durata
fiecrui segment al traiectoriei. n acest caz, sistemul folosete valori
oarecare pentru acceleraiile n fiecare punct intermediar. Uneori,
pentru a simplifica problema, sistemul va calcula timpii necesari
332
Bazele Roboticii
(t) Pseudo-puncte
intermediare
Punct intermediar
original
t1 t2 t3 t
333
9. Generarea traiectoriei
334
Bazele Roboticii
A
Spatiu de
lucru
335
9. Generarea traiectoriei
Spatiu de
lucru
336
Bazele Roboticii
Spatiu de
lucru
337
9. Generarea traiectoriei
338
A
ALGEBR LINIAR
A.1 Definiii
Se numete matrice, un aranjament de (m x n) elemente
aij (reale sau complexe), aezate ntr-un tablou dreptunghiular cu m
linii i n coloane
339
A. Algebr liniar
a11 0 0
a a22 0
A = 21 . (A.3)
an1 an2 ann
a11 0 0
0 a 0
=A = 22 diag a , a , a .
11 22, nn (A.4)
0 0 ann
1 0 0
0 1 0
In = . (A.5)
0 0 1
340
Bazele Roboticii
0 a12 a1n
a 0 a2n
A = 12 . (A.8)
a1n a2n 0
( 1)
Aij =
i+ j
( )
det Aij , (A.10)
341
A. Algebr liniar
C= A + B . (A.12)
Avem urmtoarele proprieti pentru adunarea matricelor:
A+0 =A,
A+ B = B + A,
( A + B) + C = A + (B + C ) .
( + ) A = A + A ,
( A + B) = A + B .
342
Bazele Roboticii
p
matricei B, adic cij = ai1 b1 j + ai 2 b2 j + + aip bpj = aik bkj ;
k =1
i = 1,2, , m ; j = 1,2, , n . Acest lucru nseamn c numrul
coloanelor matricei A trebuie s fie egal cu numrul liniilor matricei B.
Produsul matricelor satisface urmtoarele proprieti:
A = A I p =I m A ,
( A B) C = A (B C ) ,
( A + B) C = AB + BC ,
A (B + C ) = A B + A C ,
( A B )T =BT AT .
det ( A) = det AT , ( )
det ( A) = n det ( A) ,
B ) det ( A) det ( B ) ,
det ( A =
A A1= A1 A= In , (A.16)
343
A. Algebr liniar
A
A 1 = . (A.17)
det ( A)
( )
det A1 =
1
det ( A)
,
n 1
deoarece det ( A) = det ( A) . Avem proprietile
1
( A)1 1
= A1 ; ( A B ) =B 1 A1 ;
(A ) = (A ) ( )
T 1 1
1 T
; A 1 = A.
AT = A1 , (A.18)
atunci matricea respectiv se numete ortogonal; n acest caz avem
A AT = AT A = In . (A.19)
A+ = Q2 + Q1T . (A.20)
344
Bazele Roboticii
1
0 0 0
1
1
+ 0 0 0
= 2 , (A.21)
0 0 0
0 1
0 0
r
( )
1
A+ = AT A AT , dac m < n , A+ A =
Im (A.22)
( )
1
A+ = AT A AT , dac m > n , A A+ =
In (A.23)
(A )
+
+
= A.
( x + y ) + z = x + (y + z ) ,
x +0 = 0+ x,
345
A. Algebr liniar
x + ( x ) =0 ,
1 x =x,
( x ) = ( ) x ,
( + ) x =x+x,
(x + y) = x + y .
< x , y= = xT =
> x1 y1 + x2 y2 + + xm ym y yT x . (A.24)
xT y =
0. (A.25)
x (y + z ) = x y + x z .
Fiind dai trei vectori x, y i z n spaiul tridimensional,
produsul scalar triplu este dat de urmtoarea expresie
x T ( y z ) = y T ( z x ) = zT ( x y ) . (A.27)
Dac oricare doi dintre cei trei vectori sunt egali, atunci
produsul scalar triplu este nul,
xT (y z ) =
0. (A.28)
346
B
FORMULE
TRIGONOMETRICE
sin = sin ( ) = (
cos + 90 = )
cos 90 , ( ) (B.1)
cos =cos ( ) = (
sin + 90 = ) (
cos 90 . )
Funciile sin i cos pentru suma i diferena unghiurilor 1 i
2 :
sin2 + cos2 =
1 (B.3)
Dac notm unghiurile unui triunghi oarecare cu A, B i C,
unde a este unghiul opus laturii a, i aa mai departe, atunci legea
cosinusului este
a2 = b2 + c 2 2 b c cos A , (B.4)
iar legea sinusului
a b c
= = . (B.5)
sin A sin B sin C
Fcnd substituia
347
B. Formule trigonometrice
t = tg , (B.6)
2
putem scrie:
1 t2
cos = ,
1 + t2
2t
sin = .
1 + t2
(B.7)
348
C
FORMULE UTILE PENTRU
CINEMATICA INVERS
Ecuaia
sin = a (C.1)
are dou soluii, date de
(
Atan2 1 a2 , a .
= ) (C.2)
= (
Atan2 b, 1 b2 . ) (C.4)
Ecuaia neliniar
a cos + b sin =0 (C.6)
are dou soluii
= Atan2 ( a, b ) (C.7)
i
= Atan2 ( a, b ) . (C.8)
Ecuaia
a cos + b sin =c (C.9)
349
C. Formule pentru cinematica invers
= Atan2 ( b, a ) Atan2 ( )
a2 + b2 c 2 , c . (C.10)
Setul de ecuaii
a cos b sin =c,
(C.11)
a sin + b cos =d,
are soluia
= Atan2 ( a d b c, a c + b d ) . (C.12)
350
BIBLIOGRAFIE
351
Bibliografie
352