Professional Documents
Culture Documents
Capitol3 2022
Capitol3 2022
Planificarea traiectoriei
3.1 Introducere
Ţinând seama de problema centrală pentru un RI,
definită anterior, unul din subsistemele sistemului de
conducere a unui RI trebuie să fie planificatorul de
traiectorie (sau de mişcare). Acesta determină
traiectoriile pe care să le urmeze articulaţiile RI în aşa fel
încât efectorul acestuia să rezolve sarcina impusă. In
robotică prin traiectorie se înţelege o curbă căreia i se
asociază o variabilă temporală. Astfel vom putea vorbi
de traiectorie în spaţiul coordonatelor generalizate, ceea
ce va însemna precizarea lui q(t)Rn adică descrierea
variaţiei în timp a poziţiei celor n articulaţii ale RI; în
acest sens se vor defini curbele q1(t), . . . ,qn(t).
1
De asemenea, vom putea avea o traiectorie în spaţiul
coordonatelor operaţionale, ceea ce va însemna
precizarea lui z(t)R6 , adică descrierea poziţiei şi
orientării efectorului RI, în timp. Indiferent de tipul
traiectoriei cu care se lucrează, variabila temporală se
va situa în intervalul de timp corespunzător mişcării RI.
z = fd(q) ---> z = J q
12
Ţinând seama de aspectele de mai sus, alegerea
variantei de planificare se va face în funcţie de specificul
aplicaţiei în care este folosit RI. Dacă se lucrează într-un
mediu fără obstacole şi din punct de vedere tehnologic
traiectoria de străbătut de către efector poate fi definită
printr-un număr redus de puncte, atunci se va prefera
planificarea în coordonate generalizate, făcându-se
trecerea de la z la q numai pentru punctele ce definesc
traiectoria, cu ajutorul modelului cinematic invers; în
acest fel se ajunge la algoritmi de planificare având o
complexitate a calculelor redusă şi care pot îndeplini şi
planificări de viteză şi acceleraţie optime din punct de
vedere al sistemului de acţionare a fiecărei articulaţii.
13
Toate acestea fac din planificarea în coordonate
generalizate varianta cea mai folosită în prezent.
Planificarea în coordonate operaţionale se va
folosi numai atunci când trebuie realizat un
anumit tip de traiectorie pentru efectorul RI, cazul
cel mai citat fiind cel al deplasării efectorului în
linie dreaptă; de asemenea se folosesc traiectorii
de tip arc de cerc pentru efector. In continuare se
va insista pe varianta mai folosită, cea a
planificării în coordonate generalizate.
14
3.2 Planificarea traiectoriei în coordonate generalizate.
Obstacol
19
f(∆q1, . . ., ∆qn) = c1 ∆q1 + . . . + cn ∆qn
20
O dată rezolvată această alegere rezultă pentru
planificatorul de mişcare un set de valori ale
vectorului q corespunzătoare atitudinilor
cinematice dorite pentru efector; pe baza lor se
vor determina legile de mişcare pentru toate
articulaţiile RI. In funcţie de numărul de valori
fixate ale vectorului q putem avea planificarea
traiectoriei atunci când interesează numai poziţia
iniţială şi cea finală, sau o traiectorie definită şi
prin poziţii intermediare; aceste două cazuri sunt
analizate în continuare.
21
3.2.1.Planificarea traiectoriei între două poziţii
precizate; cazul mişcării necoordonate.
a)Traiectoria liniară.
Variaţia în timp a fiecărei coordonate generalizate este
liniară, astfel că relaţia (3.2) devine de forma:
coordonată generalizată:
qj(t) = qji + 3 Dj t2/tf2 – 2 Dj t3/tf3 0 ≤ t ≤ tf (3.7)
t .. t
..
qj
qj
10 D j / 3 t 2f
6 D j / t 2f
t t
Fig.3.5 Fig.3.6
29
|qjmax| = 3|Dj|/2tf ; |qjmax| = 6|Dj|/tf2 (3.8)
33
In Fig.3.7 sunt prezentate formele de variaţie
pentru coordonata generalizată, viteza şi
acceleraţia corespunzătoare articulaţiei j. Se
pot deduce valorile maxime pentru viteza
respectiv acceleraţia articulaţiei j, cele care
trebuie verificate cu restricţiile dinamice;
aceste valori maxime sunt (3.13):
. max 2 Dj .. max 4 Dj
qj , qj (3.13)
2
tf t f
34
qj
q jf
q ij t
.
qj
2 Dj / t f
.. t
qj
4 D /t2
j f
Fig.3.7
35
Aceste ultime trei variante prezentate sunt dintre cele
mai utilizate în practică, asigurând toate o continuitate
a funcţiilor ce descriu poziţia şi viteza articulaţiilor;
comparativ, traiectoria polinomială de grad 3
determină o expresie simplă pentru poziţia articulaţiei
în timp, cea polinomiala de grad 5 are avantajul
asigurării continuităţii şi pentru acceleraţia articulaţiei,
iar traiectoria de tip “Bang – Bang conduce spre legea
de mişcare ce asigură timpul minim de deplasare, aşa
cum vom arăta în paragraful următor. In toate cele
patru variante de traiectorie prezentate am folosit o
valoare unică tf (timpul de mişcare) pentru toate cele
n articulaţii ale RI.
36
Cum însă valoarea deplasării D j este în general
diferită de la o articulaţie la alta, ca şi valorile limitelor
pentru viteză şi acceleraţie, rezultă că fără a lua
măsuri suplimentare, mişcările diferitelor articulaţii s-
ar încheia la momente de timp diferite. O asemenea
situaţie nu este de obicei acceptată în planificarea
traiectoriei RI, ci se cere obţinerea mişcării
coordonate a RI, în care toate articulaţiile încep dar
şi termină deplasarea în acelaşi moment. Motivaţia
acestei cerinţe este aceea că printr-o mişcare
necoordonată structura mecanică a RI este supusă la
şocuri mai mari, determinate de fiecare oprire a câte
unei articulaţii. De aceea se prezintă în paragraful
următor modul de planificare a traiectoriei care să
asigure mişcarea coordonată şi o optimizare din
punct de vedere a timpului de deplasare. 37
3.2.2. Planificarea mişcării coordonate şi în timp
minim între două poziţii precizate
39
Dacă pentru toate articulaţiile aceste condiţii pot fi
respectate, atunci traiectoria poate fi planificată, cu
îndeplinirea timpului tf ca timp de deplasare.
Comparând cele trei tipuri de traiectorie discutate în
paragraful anterior (traiectoria liniară este puţin
folosită), din punct de vedere a restricţiilor dinamice
(expresiile (3.8), (3.11) şi (3.13)), constatăm că
traiectoria polinomială de grad 3 este cel mai puţin
restrictivă din punct de vedere al vitezei maxime, iar
traiectoria de tip “Bang – bang” este cel mai puţin
restrictivă din punct de vedere al acceleraţiei maxime.
Se va putea ţine seama şi de acest aspect în
alegerea variantei de traiectorie care sa satisfacă
valoarea tf impusă.
40
Valorile maxime ale vitezei şi accelerației
41
O situaţie frecventă în practică este aceea în care durata
deplasării între poziţia iniţială şi cea finală nu este fixată, ci se
cere obţinerea mişcării coordonate şi în timp minim şi acest
caz va fi analizat în continuare. Se poate determina valoarea
timpului minim în care fiecare articulaţie poate atinge poziţia
finală. Pentru aceasta vom impune respectarea condiţiilor
(3.14):
. max .. max
qj v max
j , qj a max
j , j 1, .... , n
44
Tip traiectorie Timp minim
Polinom de grad 3 3D 6 Dj
t fj Max max ,
j
2v j aj
max
Polinom de grad 5 15 D 10 D j
t fj Max max ,
j
8v j 3a max
j
Bang – Bang 2 D Dj
t fj Max max , 2 max
j
vj aj
45
t f max t f 1 , ... , t fn (3.15)
1 max
q i
j a j sgn D j t 2
daca 0 t j
2
sgn D j t j / 2
i
qj(t)= jq v max
j daca j t t fj j
f 1 max
q
j a j sgn D j t fj t 2
daca t fj j t t fj
2
49
unde am notat cu sgn funcţia signum. Se constată
că este vorba despre o traiectorie în care variaţia
poziţiei este liniară pe porţiunea mediană a deplasării,
această porţiune fiind completată, la începutul şi
sfârşitul mişcării, de două porţiuni parabolice, cu
asigurarea continuităţii în poziţie şi viteză la punctele
de contact. Conform Fig. 3.9:
f
Dj q q v
j
i
j
max
j t v
fj j
max 2
/a max
j
9D2 6D 3D 2
> => >
4v2 a 4v2 a
v 3D D
< <
a 8v 2v
54
v D ? 3D
+ <
a v 2v
v ? D
< Conform celor de pe slide-ul
a 2v anterior, răspunsul este afirmativ.
55
2) Al doilea caz este cel în care vjmax şi ajmax sunt astfel
încât se produce saturarea în acceleraţie şi nu se
produce cea în viteză. Conform Tabelului 3.1 legea de
mişcare care asigură timpul cel mai mic de deplasare
este, în acest caz, cea de tip “Bang – Bang”. Mişcarea
articulaţiei se va face după cele prezentate în Fig.3.7,
în care valoarea palierelor de acceleraţie corespunde
limitei posibile pentru articulaţia respectivă, iar la
momentul tfj/2 se obţine viteza maximă, care este mai
mică decât limita admisă pentru articulaţia respectivă,
după reprezentarea din Fig. 3.10. In acest caz timpul
minim de mişcare rezultă din saturarea acceleraţiei şi
conform celei de-a doua relaţii (3.13) are valoarea:
56
.
qj
V jmax
~ max
V j V jmax tg a max
j
t
t fj / 2 t fj
Fig.3.10
Dj
t fj 2
a max
j (3.22)
57
In concluzie pentru cele două cazuri prezentate,
obţinerea timpului minim de mişcare pentru o
articulaţie a unui RI între două poziţii precizate,
presupune folosirea unei traiectorii definită prin
(3.16). Aceasta înseamnă o lege de variaţie
trapezoidală pentru viteza articulaţiei, în care
porţiunile de accelerare şi decelerare se
desfăşoară cu acceleraţia maximă admisibilă
pentru articulaţie, iar palierul de viteză (dacă
există) corespunde limitei maxime pentru viteza
articulaţiei.
58
In cazul în care restricţiile dinamice sunt astfel
încât folosind acceleraţia maximă nu se ajunge
nici la jumătatea timpului de mişcare la viteza
maximă, legea de mişcare corespunde
traiectoriei “Bang – Bang” , adică forma
trapezoidală de variaţie a vitezei degenerează
într-o formă triunghiulară.
59
• Problema 1
Se consideră o articulaţie de translaţie a unui
robot care pleacă din poziţia iniţială q = 0 şi
trebuie să efectueze o deplasare D = 6 cm.
Să se planifice traiectoria articulaţiei în aşa fel
încât aceasta să ajungă în poziţia finală în timpul
cel mai scurt, ştiind urmǎtoarele valori limită
pentru elementul de execuţie din articulaţie:
viteza maximă este 24 cm/sec, iar acceleraţia
maximă este 6 cm/sec2.
60
Primul pas este sa vedem daca restrictiile pentru
viteza si acceleratie vor determina pentru
traiectoria de timp mimin o saturatie in viteza sau
in acceleratie. Pentru aceasta putem folosi
conditiile de la oricare din cele trei tipuri de
traiectorie (polinomiala de grad 3, de grad 5 sau
Bang-Bang).
Cele mai simple sunt conditiile de traiectoria
Bang-Bang, adica:
61
2 D D
t fj Max max , 2 max
j j
vj aj
Acestea s-au luat din Tabelul de la pg. 45.
Obtinem:
q(2) = -6 + 24 -12 = 6 cm
64
• Problema 2
Se consideră o articulaţie de rotaţie a unui
robot care pleacă din poziţia iniţială q = 1°
şi trebuie să efectueze o deplasare D = 4°.
Să se planifice traiectoria articulaţiei în aşa
fel încât aceasta să ajungă în poziţia finală
în timpul cel mai scurt, ştiind următoarele
valori limită pentru elementul de execuţie
din articulaţie: viteza maximă este 1
grad/sec, iar acceleraţia maximă este 4
grade/sec2.
65
Din nou, primul pas este sa stabilim tipul de
traiectorie. Asta inseamna sa verificam,
dupa restrictiile de viteza si acceleratie daca
se produce saturatia in viteza sau in
acceleratie. Folosim conditiile de la
traiectoria de tip B-B:
2 D D
t fj Max max , 2 max
j j
vj aj
66
t = Max(2x4; 2x1) = 8
67
Ƭ = vmax/ amax = ¼ sec = 0,25 sec
q jf Zona 2
1
q j Zona 3
2
q j
q ij
Zona 1
t
0
t t t
1 2 f
Fig. 3.15
77
Avem un total de 14 condiţii, la cele 8 anterioare
adăugându-se:
9 ), 1 0 ) , 1 1 ) c o n t i n u i t a t e a î n p o z i ţ i e , v i t e z ă ş i
acceleraţie la momentul t1 (cel corespunzător primului
punct intermediar);
12), 13), 14) continuitatea în poziţie, viteză şi
acceleraţie la momentul t2.
Cele trei polinoame ce definesc traiectoria în cele trei
zone vor trebui să aibă un total de 14 coeficienţi, ce vor
putea fi determinaţi din condiţiile astfel formate. Cele mai
folosite traiectorii sunt cele de tip 4-3-4 (aceasta
însemnând că prima şi ultima porţiune sunt descrise de
polinoame în variabila timp de grad 4, iar porţiunea
mediană de un polinom de grad 3), 3-5-3, 5-2-4. 78
Vom ilustra pe cazul traiectoriei de tip 4-3-4. Am
putea determina traiectoria pe fiecare zonă
aplicând metodele date în paragrafele 3.2.1 şi
3.2.2; aceasta ar presupune însă că RI să se
oprească în punctele intermediare, ceea ce nu
convine din punct de vedere a productivităţii.
Apar astfel noi aspecte pentru planificarea
traiectoriei în cazul în care viteza în punctele
intermediare este nenulă, ce sunt prezentate în
continuare. Deoarece avem de exprimat cele 3
porţiuni diferite ale traiectoriei este util să lucram
cu o variabilă temporală normalizată, care să
varieze pe fiecare porţiune între 0 şi 1. 79
In acest fel, dacă t este variabila ce exprima
timpul real, considerat în planificarea traiectoriei
ca variind între 0 şi tf , vom folosi şi variabila timp
normalizat, notată cu şi dată de:
t t i 1
(3.42)
t i t i 1
(3.43)
considerându-le în variabila normalizată . Pentru
a putea scrie condiţiile de determinare a
coeficienţilor a kl ce apar în (3.43) trebuie să
exprimăm viteza şi acceleraţia în variabila .
Astfel, pentru viteza pe zona i a traiectoriei avem
expresia: 81
v
i dq i
d
1 dq i
1 dq i
d dt t i t i 1 d t i d (3.44)
unde am notat cu ti intervalul de timp în care se
parcurge zona i a traiectoriei. In mod similar,
pentru acceleraţia în variabila normalizată , pe
zona i, se obţine expresia:
a
dv i
d 1 d q
2 i
i
2 (3.45)
d dt t i d 2
v(t ) = 0
f f
q3 q
a(t ) = 0
f
q1
qi
v(0) = 0
a(0) = 0 q2
t
0
t t t =t
1 2 3 f
qt1 qt1 qt 2 qt 2
vt1 vt1 vt 2 vt 2
at1 at1 at 2 at 2
Fig. 3.16
83
Putem determina cei 14 coeficienţi akl din (3.43)
folosind cele 14 condiţii formulate anterior şi care
sunt reluate pe Fig. 3.16. Pentru poziţia iniţială,
care este impusă, avem conform (3.43), şi astfel
rezultă valoarea coeficientului respectiv:
i
a10 q (3.46)
q q a13 a14
1 i 3 4
(3.51)
t1 (3.53)
t12 (3.54)
87
Trecând la zona a doua a traiectoriei, punem mai
întâi condiţia de continuitate a poziţiei, q2(0) = q1
şi folosind (3.43) rezultă:
a20 = q1 (3.55)
t 2 (3.56)
88
2a 22 6a 23
a
2 (3.57)
t 22
a30 = q2 (3.61)
Pentru a putea pune celelalte condiţii de
continuitate calculăm expresiile vitezei şi
acceleraţiei în zona a treia a traiectoriei, folosind
(3.43), (3.44) şi (3.45):
a 2 a 3a 2
4 a 3
v 3 31 32 33 34
(3.62)
t 3
2 a 6 a 12 a 2
a 3 32 33 34
t 32 (3.63)
Condiţiile de continuitate v2(1) = v3(0) şi a2(1) =
a 3 (0) conduc la (vezi (3.56), (3.57), (3.62),
(3.63)): 91
a 21 2a 22 3a 23 a31
(3.64)
t 2 t 3
a 22 3a 23 a32
2
2 (3.65)
t 2 t 3
92
95
Ca şi în cazul planificării unei traiectorii
specificate prin doar doua puncte, intră şi aici tot
în sarcina planificatorului de mişcare verificarea
restricţiilor dinamice. Aceasta va implica în cazul
metodei prezentate mai sus să se calculeze pe
fiecare zonă a traiectoriei valorile maxime ale
vitezei şi acceleratiei, pentru fiecare articulaţie a
RI şi să se compare cu limitele maxime
admisibile. In cazul în care una sau ambele din
aceste limite sunt depăşite se va putea proceda
în unul din următoarele moduri:
96
- Se modifică poziţia unui punct intermediar,
aceasta implicând şi modificarea momentului de
timp al trecerii prin punctul respectiv. In principiu,
poate fi suficientă doar modificarea momentului
de timp al atingerii punctului respectiv, în sensul
acordării unui interval de timp mai lung. Se pot
formula unele recomandări în legătură cu
stabilirea optimă a acestor momente de timp. Se
refac apoi calculele traiectoriilor pentru toate
articulaţiile şi se verifică respectarea restricţiilor
dinamice.
97
- Se adaugă un nou punct intermediar, împărţind
zona în care restricţiile dinamice nu au putut fi
respectate în două zone distincte. Pentru fiecare
nouă zonă traiectoria va fi apoi planificată ca un
nou polinom. In acest sens este uşor de
generalizat metoda prezentată aici la un număr al
zonelor mai mare decât trei, punând mai întâi în
evidenţă toate condiţiile care trebuie îndeplinite
pentru asigurarea continuităţii în poziţie viteză şi
acceleraţie, iar apoi planificând traiectoriile pe
zonele respective prin funcţii polinomiale de
variabila de timp. Numărul total al coeficienţilor
polinoamelor ce intervin trebuie să fie egal cu
numărul condiţiilor formulate.
98
Din cele prezentate până aici rezultă cum se
poate planifica o traiectorie specificată prin patru
puncte, în cazul când se cunosc restricţiile
dinamice şi momentele de timp ale trecerilor prin
punctele ce definesc traiectoria. Ca şi în
paragraful referitor la traiectoria specificată prin
două puncte, ne putem pune şi problema
planificării traiectoriei pentru care momentele de
timp corespunzătoare punctelor de parcurs nu
sunt impuse; evident într-un asemenea caz ne-ar
interesa planificarea în care să obţinem timpul de
deplasare minim. Se poate arăta că în cazul unei
traiectorii specificate prin patru puncte,
optimizarea în ceea ce priveşte timpul de parcurs
determină calcule complicate. 99