You are on page 1of 99

III.

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.

Conducerea unui RI poate fi descompusă în două etape:


aceea a planificării traiectoriei şi aceea a controlului
pentru îndeplinirea acesteia. In consecinţă şi structura
sistemului de comandă pentru RI poate fi considerată ca
fiind una ierarhică, având două nivele, corespunzătoare
celor două etape menţionate mai sus. Există două
abordări posibile în legătură cu planificarea traiectoriei şi
în funcţie de acestea vor rezulta arhitecturi
corespunzătoare pentru sistemul de conducere a RI 2

(Fig. 3.1 şi 3.2).


3
Astfel se poate face o planificare a traiectoriei în
spaţiul coordonatelor generalizate. Aceasta
înseamnă că se planifică poziţiile articulaţiilor
pentru ca RI să îndeplinească sarcina. Deoarece
se pleacă de la sarcina RI, adică de la specificaţii
asupra atitudinii cinematice a efectorului faţă
de reperul de referinţă, deci de la vectorul z(t),
iar planificarea traiectoriei se face operând cu
vectorul q(t), este necesar modelul cinematic
invers pentru transformarea q(t) = fi(z(t)). Ieşirea
din planificatorul de traiectorie se obţine prin
generatorul de traiectorie, care determină valorile
lui q(t) la momentele de eşantionare, momentele
stabilite în funcţie de modul în care lucrează cel
de-al doilea nivel al sistemului de comandă. 4
Acesta este sistemul de reglare, care lucrând în buclă
închisă, pe baza informaţiilor de la senzorii cu care este
dotat RI, determină îndeplinirea de către articulaţiile RI a
poziţiilor planificate; rezultă schema din Fig.3.1, în care
am notat cu zd şi qd valoarea dorită pentru vectorul z
respectiv q , iar cu qa valoarea actuală a vectorului q.
Cea de-a doua abordare, a planificării în spaţiul
coordonatelor operaţionale, presupune generarea
traiectoriei dorite pentru efector, adică a atitudinii
cinematice a acestuia la momentele de eşantionare.
Deoarece sistemul de reglare a mişcării necesită pentru
comanda articulaţiilor RI valorile vectorului q la
momentele de eşantionare, este necesar şi în acest caz
modelul cinematic invers, folosit după generatorul de
traiectorie pentru conversia respectivă şi rezultă astfel
schema din Fig. 3.2. 5
6
In cele ce urmează ne vom ocupa de generatorul
de traiectorie care deseori este numit tot
planificator de traiectorie.

Indiferent de varianta de abordare folosită


planificatorul de traiectorie trebuie să ţină seama
şi de următoarele aspecte:
•existenţa sau nu a obstacolelor în spaţiul de
operare a RI;
•impunerea de către procesul tehnologic a unei
anumite traiectorii de urmat de către efector (de
exemplu în linie dreaptă, în arc de cerc) sau doar
precizarea câtorva poziţii pe care trebuie să le
atingă efectorul; 7
• existenţa unor restricţii dinamice privind
momentul / forţa sau viteza /acceleraţia maximă
pe care le poate dezvolta sistemul de acţionare
a RI; conform acestor specificaţii, schemele din
Fig. 3.1 şi 3.2 se vor completa, în sensul că
restricţiile dinamice vor fi date de intrare în
planificatorul de mişcare, iar ca ieşiri din acesta
se vor obţine nu numai poziţiile dorite ale
articulaţiilor, ci şi vitezele sau vitezele şi
acceleraţiile acestora.
Conform acestor specificaţii se va putea alege
varianta de abordare a planificării traiectoriei
cea mai potrivită, având în vedere avantajele
/dezavantajele pe care le prezintă fiecare din
cele două variante şi care sunt următoarele.
8
Planificarea în coordonatele generalizate are ca
avantaje:
- planificarea se face direct în mărimile care se
folosesc drept comenzi pentru elementele de execuţie
(poziţii, viteze, acceleraţii ale articulaţiilor);
- complexitatea calculelor este mai mică decât la
varianta în coordonate operaţionale, aşa cum va rezulta
din algoritmii de planificare şi de aceea poate satisface
mai uşor cerinţa lucrului în timp real;
- restricţiile dinamice pot fi luate în considerare fără
complicaţii, deoarece se lucrează cu mărimile asociate
articulaţiilor, cele asupra cărora intervin restricţiile
dinamice;
9
-planificarea nu este restricţionată de evitarea
configuraţiilor singulare, aşa cum se întâmplă în cazul
abordării în coordonate operaţionale.
Dezavantajul planificării în coordonate-generalizate este
acela că nu se precizează forma traiectoriei pe care o
străbate efectorul RI în afara poziţiilor pe care le
impunem prin valorile dorite pentru z. De exemplu, o
situaţie frecventă este aceea în care este cunoscută
atitudinea cinematică iniţială şi se impune numai cea
finală pentru efectorul RI; acestea sunt date de intrare
în planificatorul de mişcare, care calculează traiectoriile
articulaţiilor în aşa fel încât să se atingă atitudinea
cinematică finală dorită pentru efector; nu va exista nici
un control asupra zonei străbătute de efectorul RI şi de
segmentele acestuia până la oprirea finală. 10
De aici observaţia că planificarea în coordonate
generalizate este dificil de folosit atunci când se
impune ca efectorul să urmeze o anumită
traiectorie precisă, fie din considerente
tehnologice, fie datorită faptului că RI lucrează
într-o zonă cu obstacole. Folosirea planificării în
coordonate generalizate într-o asemenea situaţie
impune discretizarea traiectoriei efectorului şi
impunerea unui număr mare de valori pentru
vectorul z, ceea ce poate fi dificil din punct de
vedere al lucrului în timp real (se ajunge la o
situatie apropiata de planificarea in coordonate
operaţionale). 11
Avantajele şi dezavantajele se inversează în cazul
variantei de planificare în coordonate operaţionale. Aici
planificarea făcându-se asupra traiectoriei efectorului se
va putea impune forma acesteia. Principala problemă
devine aceea a complexităţii calculelor: pentru toate
momentele de eşantionare, în care trebuie transmise
valori spre sistemul de reglare a mişcării, trebuie calculat
modelul cinematic invers (vezi Fig.3.2), a cărui
complexitate este mare şi care ridică probleme privind
neunivocitatea trecerii de la z la q. De asemenea, apar
complicaţii în ceea ce priveşte considerarea restricţiilor
dinamice şi a trecerii RI prin configuraţiile singulare
(atunci când matricea Jacobi nu este inversabilă).

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.

După schema de principiu din Fig. 3.1 se pleacă de la


sarcina de îndeplinit, specificată prin valori ale vectorului
z. Conform celor menţionate în paragraful introductiv
această abordare este folosită atunci când sarcina poate
fi precizată printr-un număr redus de valori ale atitudinii
cinematice a efectorului. De la aceste valori ale
vectorului z trebuie să se ajungă la valorile
corespunzătoare ale vectorului q, pe baza cărora se va
materializa algoritmul de planificare în coordonate
generalizate. Trecerea de la z la q se face pe baza
modelului cinematic invers. Conform celor menţionate
anterior o problemă care apare la această trecere este
aceea a soluţiilor multiple. 15
Considerând cazul RI cu 2 gdm analizat
anterior (RI plan bimobil) şi presupunând că
sarcina este specificată numai prin poziţia iniţială
şi cea finală, atunci pentru o poziţie finală a
efectorului în interiorul spaţiului de operare de
poziţionare vor exista două soluţii pentru vectorul
q care determină atingerea poziţiei finale a
efectorului. Este sarcina planificatorului de
mişcare ca după determinarea celor două valori
ale lui q să aleagă una singură pe care o
foloseşte apoi în planificarea traiectoriei fiecărei
articulaţii. In acest sens planificatorul de mişcare
va folosi unul din următoarele criterii. 16
 Dacă sarcina este specificată prin valori ale
tuturor componentelor vectorului z, adică este
precizată atât poziţia cât şi orientarea dorită
pentru efector, atunci, pentru RI cu numărul gdm
mai mic decât 6, va putea fi aleasa soluţia care
se apropie cel mai mult de valoarea dorită pentru
z. De exemplu, în cazul robotului considerat se
va putea alege dintre cele două soluţii pe aceea
care se apropie mai mult de orientarea dorită a
efectorului (cele două soluţii determină aceeaşi
poziţie a efectorului, dar orientări diferite).
 Anumite condiţii tehnologice sau existenţa
obstacolelor pot determina necesitatea unei
anumite soluţii. 17
Atunci când criteriile de mai sus nu permit selecţia unei
singure soluţii, alegerea se va face pentru acea soluţie
care determină deplasări minime ale articulaţiilor. De
exemplu, în cazul din Fig.3.3, dacă obstacolul nu există,
nu interesează orientarea finală a efectorului şi poziţia
iniţială a RI este cea notată cu a, atunci se va alege
soluţia notată cu b, deoarece determină deplasări mai
mici ale articulaţiilor în comparaţie cu soluţia c. In
legătură cu acest criteriu pot apare şi cazuri în care două
soluţii să determine o situaţie de forma ∆q11< ∆q12 şi
∆q21> ∆q22, unde ∆qi1 si ∆qi2 sunt deplasările determinate
de soluţia 1 respectiv 2, pentru articulaţia i. Ar fi deci un
caz de dubiu, deoarece fiecare soluţie determină o
deplasare mai mică pentru una din cele două articulaţii.
Intr-un asemenea caz se va folosi pentru decizie o
funcţie cost, care pentru un RI cu n gdm va fi de forma:
18
a

Obstacol

19
f(∆q1, . . ., ∆qn) = c1 ∆q1 + . . . + cn ∆qn

în care coeficienţii de ponderare pozitivi ci ţin


seama de dificultatea diferită a mişcării diferitelor
articulaţii ale unui RI (de obicei articulaţiile finale
au dimensiuni mai mici şi sunt mişcate cu un
consum de energie mai mic decât primele
articulaţii, cele situate înspre baza RI); se va
prefera acea soluţie pentru care f este minimă,
primii coeficienţi ci având valori mai mari decât
ultimii.

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.

Fie qi, qf valorile vectorului q corespunzătoare poziţiilor


iniţială, respectiv finală, dorite pentru articulaţii, acestea
fiind date. Legea de mişcare pentru articulaţiile RI poate
fi scrisă sub forma:

q(t) = qi + Dr(t) 0 ≤ t ≤ tf (3.2)

unde tf este momentul final la care trebuie sa se termine


mişcarea, iar D este vectorul având drept componente
deplasările totale ale articulaţiilor:
22
D = qf – qi (3.3)

forma lui r(t) determinând legea de mişcare, iar relaţia


vectorială (3.2) va furniza pentru un RI cu n gdm
traiectoriile celor n articulaţii. In planificarea traiectoriei
trebuie să ţinem seama de restricţiile dinamice. Vom
considera că sunt precizate valorile vectorilor vmax şi
amax având drept componente vitezele şi respectiv
acceleraţiile maxime admisibile pentru articulaţiile RI.
Valoarea lui vmax se va deduce ţinând seama de
caracteristicile elementelor de acţionare ale articulaţiilor
şi de rapoartele de reducere ale sistemelor de transmisie,
iar valoarea lui amax în funcţie de momentul /forţa
maximă pe care o poate dezvolta fiecare articulaţie şi de
caracteristicile inerţiale ale acestora (se poate determina
pe baza modelului dinamic al RI).
23
In funcţie de forma lui r(t) rezultă mai multe tipuri de
traiectorie, cele mai folosite fiind prezentate în
continuare.

a)Traiectoria liniară.
Variaţia în timp a fiecărei coordonate generalizate este
liniară, astfel că relaţia (3.2) devine de forma:

q(t) = qi + D t/tf 0 ≤ t ≤ tf (3.4)

Deşi această lege de variaţie este simplă, aşa cum este


prezentat în Fig.3.4, determină o discontinuitate pentru
variaţia vitezei fiecărei articulaţii, care prezintă un salt în
momentul iniţial şi cel final al mişcării, ceea ce nu este
acceptabil în practică. 24
25
b)Traiectorie polinominală de grad trei

Pentru a elimina deficienţa cazului anterior,


impunând o variaţie continuă pentru viteza
articulaţiilor RI, putem folosi o lege de variaţie a
fiecărei coordonate generalizate de tip polinomial.
Condiţiile pe care trebuie să le satisfacă
polinomul descriind variaţia în timp pentru o
coordonată generalizată sunt:
qj(0) = qji
qj(tf) = qjf (3.5)
qj(0) = 0
qj(tf) = 0 26
deoarece se pleacă şi se ajunge în repaus.
Relaţiile (3.5) sunt valabile pentru j = 1, . . . ,n,
considerând RI cu n gdm. Mişcarea fiecărei
articulaţii poate fi atunci planificată în timp ca un
polinom de grad 3, adică de forma:

qj(t) = a0 + a1t + a2t2 + a3t3 (3.6)

unde t este variabila temporală (0 ≤ t ≤ tf) ,iar


coeficienţii polinomului se determină astfel încât
să respecte condiţiile (3.5). După calcule simple
rezultă legea de variaţie pentru fiecare 27

coordonată generalizată:
qj(t) = qji + 3 Dj t2/tf2 – 2 Dj t3/tf3 0 ≤ t ≤ tf (3.7)

unde am notat cu Dj deplasarea de efectuat de către


articulaţia j (Dj = qjf – qji), relaţia (3.7) fiind valabilă pentru
j = 1, . . . ,n.
Conform Fig.3.5 se obţine o variaţie continuă pentru
poziţia şi viteza articulaţiilor, dar o discontinuitate în ceea
ce priveşte acceleraţia acestora. Totuşi o asemenea
lege de variaţie poate fi folosită în practică, apreciindu-
se că datorită rigidităţii structurii mecanice a RI se
produce o filtrare a acestei discontinuităţi [14], [16].
Pentru verificarea restricţiilor dinamice, se observă că
viteza maximă pentru fiecare articulaţie se atinge la
momentul t = tf/2, iar acceleraţia maximă la momentul t =
0, valorile respective fiind, în modul: 28
qj
qj
q jf
q jf
q ij
q ij
. tf /2 tf t . tf /2 tf t
qj qj
3 D j / 2t f 15 D j / 8t f

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)

şi aceste valori trebuie să fie inferioare vitezei,


respectiv acceleraţiei maxime, admisibile pentru
articulaţia respectivă. Evident valorile date de
relaţiile (3.8) depind de valoarea timpului de
mişcare tf şi modul în care se stabileşte acesta va
fi discutat în continuare.
c)Traiectorie polinomială de grad cinci.
Pentru a obţine şi continuitatea acceleraţiei
pentru fiecare articulaţie a RI se poate folosi tot o
lege de variaţie polinomială, în care pe lângă
condiţiile (3.5) se vor adăuga şi: 30
qj(0) = 0 (3.9)
qj(tf) = 0

In acest caz se ajunge la un polinom de grad 5 şi cei 6


coeficienţi ai acestuia se determină astfel încât să se
respecte condiţiile (3.5) şi (3.9). Se obţine forma:

qj(t) = qji + 10 Dj t3/tf3 – 15 Dj t4/tf4 + 6 Dj t5/tf5 0 ≤ t ≤ tf


(3.10)
In Fig.3.6 sunt prezentate formele de variaţie pentru
poziţia, viteza şi acceleraţia unei articulaţii; valorile
maxime pentru viteză şi acceleraţie se calculează uşor 31

şi sunt date de:


|qjmax| = 15|Dj|/8tf ; |qjmax| = 10|Dj|/√3 tf2 (3.11)

Acestea vor fi comparate cu limitele admise pentru


articulaţia respectivă.

d)Traiectorie de tip “Bang – Bang”.


Sub această denumire este cunoscută o traiectorie
în care articulaţia RI este supusă la accelerare
constantă până la momentul t f /2, după care
urmează o decelerare constantă până la momentul
final. In acest fel sunt îndeplinite condiţiile ca
articulaţia să plece şi să fie în momentul final cu
viteza nulă, nerespectându-se însă continuitatea
în acceleraţie.
32
Este vorba tot despre o variaţie polinomială în
raport cu timpul a poziţiei fiecărei articulaţii, în
care însă sunt două polinoame diferite pentru
cele două porţiuni ale traiectoriei, cea de
accelerare respectiv decelerare. Forma
traiectoriei este dată de expresia următoare
(3.12):
 i 2 2
 q j  2
D j t daca 0  t  t f / 2
 t
q j t    f
4 2
2q ij  q jf  Dj t  2 Dj t 2 daca t f / 2  t  t f

 tf tf

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

Dacă timpul de deplasare a RI între poziţia iniţială şi


cea finală este impus şi valoarea respectivă poate fi
respectată de toate articulaţiile RI, ţinând seama de
deplasările acestora şi de limitările lor dinamice,
atunci valoarea respectivă se introduce în expresia
tipului de traiectorie ales, rezultând modul concret de
mişcare pentru fiecare articulaţie. De exemplu, dacă
se doreşte pentru articulaţii o deplasare care să
asigure continuitatea în poziţie, viteză şi acceleraţie,
vom folosi o traiectorie polinomială de grad 5,
introducând în expresia (3.10) valorile D j şi q j i
corespunzătoare deplasării, respectiv poziţiei iniţiale
pentru fiecare articulaţie (j =1, . . . ,n) şi aceeaşi
valoare tf reprezentând timpul impus pentru deplasare.
38
Prin folosirea aceleiaşi valori a duratei
deplasării pentru toate articulaţiile se obţine
mişcarea coordonată. Este însă necesar ca
valoarea tf să verifice restricţiile dinamice; în
cazul considerat este vorba despre relaţiile
(3.11) prin care se calculează viteza şi
acceleraţia maximă necesară pentru fiecare
articulaţie, conform valorilor fixate pentru Dj şi tf
şi aceste valori trebuie sa fie mai mici sau
egale cu limitele de viteză şi acceleraţie
admise pentru articulaţia respectivă.

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

Traiectoria polinomiala de grad 3:


|v max| = 3|D |/2t ; |a max| = 6|D |/t 2 (3.8)
j j f j j f

Traiectoria polinomiala de grad 5:

|v max| = 15|D |/8t ; |a max| = 10|D |/√3 t 2 (3.11)


j j f j j f

Traiectoria de tip Bang-bang:


|v max| = 2|D |/t ; |a max| = 4|D |/ t 2 (3.13)
j j f j j f

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

unde v j max şi a j max sunt limitele pentru viteza şi acceleraţia


articulaţiei j, asupra cărora am făcut precizări anterior, iar
q j max şi q j max sunt limitele la care se ajunge în funcţie de
varianta de traiectorie ce se planifică. 42
Pentru cele trei tipuri de traiectorie pe care le-am luat în
discuţie acestea sunt date prin expresiile (3.8), (3.11) şi
(3.13). Folosind aceste expresii în relaţiile (3.14) se obţine
valoarea timpului minim necesar articulaţiei pentru a
atinge poziţia finală, ca valoare determinată de saturarea
în viteză şi /sau acceleraţie. Timpul minim depinde de
tipul traiectoriei planificate şi expresiile pentru cele trei
cazuri în discuţie sunt prezentate în Tabelul 3.1. Pentru
fiecare articulaţie se va obţine o anumită valoare t fj în
funcţie de distanţa de parcurs Dj şi de limitele admisibile
pentru viteza şi acceleratie. Cum se doreşte o mişcare
coordonată se va alege timpul corespunzător articulaţiei
care ajunge cel mai târziu la poziţia finală şi se impune
timpul respectiv şi celorlalte articulaţii, adică timpul de
mişcare este dat de:
43
Valorile maxime ale vitezei şi accelerației

Traiectoria polinomiala de grad 3:


|v max| = 3|D |/2t ; |a max| = 6|D |/t 2 (3.8)
j j f j j f

Traiectoria polinomiala de grad 5:

|v max| = 15|D |/8t ; |a max| = 10|D |/√3 t 2 (3.11)


j j f j j f

Traiectoria de tip Bang-bang:


|v max| = 2|D |/t ; |a max| = 4|D |/ t 2 (3.13)
j j f j j f

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)

Cu valoarea lui t f astfel determinată se pot


obţine expresiile traiectoriilor de deplasare
pentru toate cele n articulaţii, înlocuind
valoarea tf, cât şi valorile Dj şi qji în expresiile
corespunzătoare timpului de traiectorie ales
(una din expresiile (3.7), (3.10), (3.12)).
Dacă timpul minim de deplasare este criteriul
urmărit atunci se poate face următoarea
analiză, în funcţie de restricţiile dinamice
exprimate prin limitările de viteză şi acceleraţie.
46
1) Un prim caz este acela în care vjmax şi ajmax
sunt astfel încât se produce saturarea în viteză
şi nu se produce saturarea în acceleraţie.
Există în acest caz un alt tip de traiectorie care
permite obţinerea unui timp de deplasare mai
mic decât variantele prezentate mai sus. In
acest sens plecăm de la traiectoria de tip
“Bang – Bang”. Pentru a reduce timpul de
deplasare modificăm legea de tip “Bang –
Bang”: faţă de cele prezentate în Fig. 3.7 şi
reluate cu linie întreruptă în Fig. 3.8, creştem
valoarea palierelor de acceleraţie până la limita
maximă admisibilă pentru aceasta, obţinând şi
saturaţia în acceleraţie. 47
48
In acest fel saturaţia de viteză se obţine mai rapid
decât în legea “Bang – Bang”, ajungând la un palier
de viteză, adică o lege de variaţie trapezoidală pentru
viteză, aşa cum este prezentat în Fig. 3.9. Se obţine
o variaţie continuă pentru poziţie şi viteză, expresia
pentru traiectorie fiind (3.16):

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:

tgα = vjmax/ j = ajmax

şi deci are loc:

j = vjmax/ ajmax (3.17)


50
Valoarea timpului în care articulaţia j ajunge în
poziţia finală în cazul acestei legi de mişcare se
poate calcula observând că aria trapezului dat de
graficul de variaţie a vitezei este egală cu modulul
distanţei străbătute de articulaţie. Deci are loc
(3.18):

f
Dj  q  q  v
j
i
j
max
j t  v
fj  j 
max 2
/a max
j

din care rezultă timpul în care articulaţia este în


mişcare:
51
max max max max
t fj  v j /a j  Dj / v j   j  Dj / v j (3.19)

Putem arăta că acest timp este mai mic decât al


oricărui alt tip de traiectorie, pentru cazul în care
ne situăm pentru articulaţia respectivă –
producerea saturaţiei în viteză. Din Tabelul 3.1
se constată că traiectoria de tip polinom de grad
3 este cea care determină cel mai mic timp de
deplasare pentru cazul saturării în viteză, de
valoare:
52
3Dj
t fj  (3.20)
2v max
j

şi deci trebuie să comparăm valoarea dată de


(3.19) cu cea dată de (3.20). Ţinând seama că
suntem în cazul în care se produce saturaţia în
viteză şi nu se produce saturaţia în acceleraţie,
pentru o lege polinomială de grad 3, conform
Tabelului 3.1, aceasta înseamnă că are loc
inegalitatea:
3 Dj 6 Dj
max
 max (3.21)
2v j a j 53
Folosind această inegalitate se arată uşor că valoarea
lui tfj dată de (3.19) este mai mică decât aceea dată
de (3.20), adică traiectoria determinată asigură cel mai
mic timp de mişcare.

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:

t = Max(2x6/24; 2 x 1)= Max(1/2; 2)

De aici rezulta ca se va produce saturatia in


acceleratie (a doua valoare este mai mare, deci se
va proiecta o traiectorie care va ajunge la
acceleratia maxima, dar nu va ajunge la viteza
maxima). Timpul de deplasare este tf = 2 sec
62
Concluzia este ca trebuie sa folosim o
traiectorie de tip B-B (cazul 2 din partea
teoretica).
 i 2 2
 q j  2
D j t daca 0  t  t f / 2
 t
q j t    f
4 2
2q j  q j 
i f
Dj t  2 Dj t 2 daca t f / 2  t  t f

 tf tf

• q(t) = 0 + 2/4 x 6 t2 = 3t2 pentru 0 <= t <= 1

• q(t) = -6 + 4/2 x 6t – 2/4 x 6t2 = -6 + 12t – 3t2

pentru 1 < t <= 2 63


• Verificare
|v max| = 2|D |/t ; |a max| = 4|D |/ t 2 (3.13)
j j f j j f

vmax = 2 x 6/2 = 6 cm/sec (mai mica decat 24 cm/sec)

amax = 4 x 6/4 = 6 cm/sec2 (se ajunge la amax,


saturatie in acceleratie)

q(1)- = 3 cm; q(1)+ = -6 +12 -3 = 3 cm

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

Rezulta ca se produce saturatia in viteza. In


consecinta, va trebui folosita traiectoria cu
lege de variatie trapezoidala pentru viteza
articulatiei (cazul 1 din partea teoretica).

Calculam valorile care definesc traiectoria: Ƭ


si tf.

67
Ƭ = vmax/ amax = ¼ sec = 0,25 sec

tf = Ƭ + D/ vmax = 0,25 + 4 = 4,25 sec

Forma traiectoriei este: qj


1 max

 q i
j  a j sgn D j  t 2
daca 0  t   j
2
sgn D j  t   j / 2 
 i
q
qj(t)=  j  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
68
Pentru valorile din problema rezulta
traiectoria (vom avea nevoie de qf = qi + D =
1+4=5):
q(t) = 1 + ½ x 4t2 = 1 + 2t2 pentru 0 <= t <=0,25

q(t) = 1+t – 1/8 =t+7/8 = 0,875+t pentru 0,25 <t <= 4

q(t) = 5 – ½ x4 (4,25 – t)2 = 5 – 2 (4,25 – t)2 pentru


4 < t <= 4,25
Se poate verifica faptul ca traiectoria este o functie
continua, care sunt viteza si acceleratia maxime pe
aceasta traiectorie si atingerea pozitiei finale la
momentul tf. 69
3.2.3. Planificarea unei traiectorii cu puncte
intermediare.
3.2.3.1.Specificarea traiectoriei – variante de
planificare.

In afară de poziţia iniţială şi cea finală traiectoria


unui RI este frecvent specificată şi prin câteva
poziţii intermediare, impuse fie din considerente
tehnologice, fie pentru evitarea unor obstacole.
Cel mai des se citează necesitatea a două
puncte intermediare, a căror definire şi justificare
este următoarea. 70
Primul punct intermediar este lângă poziţia de
plecare, fiind situat pe direcţia versorului normal
(versorul n) al reperului ataşat de efector în
poziţia iniţială, la o distanţă de 5/4 dn de poziţia
iniţială, unde dn este parametrul D-H
corespunzător ultimului reper ataşat RI, şi în
sensul convenabil părăsirii poziţiei iniţiale.
Condiţii analoage se folosesc pentru specificarea
unui punct intermediar aflat în apropierea poziţiei
finale: acesta este plasat pe direcţia versorului n
corespunzător situării finale a reperului ataşat de
efector, în sensul convenabil apropierii de poziţia
finală şi la o distanţă egală cu 5/4 d n de poziţia
finală respectivă.
71
Traiectoria ce trece prin aceste puncte este una
mai sigură decât aceea în care sunt precizate
numai poziţia iniţială şi cea finală; în plus, se pot
impune şi timpii de ajungere la aceste puncte
(sau vitezele de trecere prin ele); se asigură
astfel o mişcare mai precisă în apropierea
poziţiilor iniţială şi finală, aşa cum este cerut în
aplicaţiile de manipulare (sarcini de tip
“pink–and–place”). De exemplu, asemenea
condiţii se impun atunci când RI trebuie să apuce
un obiect a cărui poziţie este cunoscută, sau să
elibereze obiectul într-o poziţie dată.
72
Considerând aceste două puncte intermediare rezultă
următoarele condiţii de specificare a traiectoriei:
1) poziţia iniţială precizată;
2), 3) viteza şi acceleraţia iniţială precizate, anume
egale cu zero;
4) prima poziţia intermediară precizată;
5) a doua poziţie intermediară precizată;
6) poziţia finală precizată;
7), 8) viteza şi acceleraţia finală precizate, anume egale
cu zero.
Folosind aceste specificaţii am putea deduce traiectoria
pentru fiecare articulaţie ca o funcţie polinomială de
variabila timp, la fel ca în paragrafele anterioare; pentru
a îndeplini cele 8 condiţii de mai sus, ar trebui să folosim
un polinom de grad 7, adică traiectoria să fie definită,73

pentru fiecare articulaţie, sub forma:


qj(t) = a0j + a1j t + . . . + a7j t7 0 ≤ t ≤ tf j = 1, 2, ..., n

unde n este numărul gdm al RI, iar tf timpul de


parcurs. Având precizată valoarea lui tf, ca şi
momentele de timp pentru trecerile prin poziţiile
intermediare (specificate din sarcina de îndeplinit
sau din restricţiile dinamice),coeficienţii a0j, a1j,...,a7j
se determină dintr-un sistem de ecuaţii liniare, scris
pe baza celor 8 condiţii de mai sus. O asemenea
abordare nu este convenabilă din motivele
următoare.
74
- Polinomul fiind de grad mare va putea avea un
număr mare de puncte de extrem, care nu sunt de dorit
din punct de vedere dinamic.
- Se impune cerinţa determinării tuturor acestor
puncte de extrem, ca şi a punctelor de extrem pentru
viteză şi acceleraţie, în scopul controlării încadrării
traiectoriei în spaţiul de operare a RI şi a verificării
restricţiilor dinamice.
- Determinarea celor 8 coeficienţi ai polinomului ce
descrie traiectoria, ca şi a punctelor de extrem,
determină calcule mai complicate faţă de cazul folosirii
unor polinoame de grad mic.
Se ajunge astfel la o nouă soluţie pentru a elimina
aceste dezavantaje, aceea a împărţirii traiectoriei în mai
multe zone şi descrierea traiectoriei prin câte un polinom
de grad mic, distinct pe fiecare zonă. Există câteva
variante de planificare, pentru cazul când traiectoria este
definită pe porţiuni. 75
3.2.3.2 Planificarea unei traiectorii cu două
puncte intermediare
Ţinând seama de cele două puncte intermediare precizate
în paragraful anterior, o împărţire firească este aceea în
trei zone distincte, conform Fig. 3.15, în care valorile qj1
şi q j 2 definesc cele două puncte intermediare pentru
articulaţia j. Intr-o asemenea abordare, pe lângă cele 8
condiţii precizate anterior, se mai adaugă alte câteva.
Acestea rezultă din faptul că traiectoria este, pe intervalul
de definiţie 0 – tf, precizată ca o funcţie definită pe porţiuni
şi apare astfel necesitatea asigurării continuităţii în poziţie,
viteza şi acceleraţie în punctele intermediare, unde
limitele la dreapta şi la stânga ale funcţiei ce descrie
traiectoria sunt date de expresii diferite.
76
q(t)

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

unde ti-1 şi ti marchează timpul de început şi


de sfârşit al parcurgerii fiecărei zone (i =1, 2, 3
cu t0 = 0 şi t3 = tf), iar  variază între 0 şi 1 pentru
fiecare zonă a traiectoriei. Funcţiile care descriu,
în cazul considerat, cele 3 zone sunt : 80
q 1    a10  a11  a12 2  a13 3  a14 4 pentru zona 1

q 2    a 20  a 21  a 22 2  a 23 3 pentru zona 2


q 3    a30  a31  a32 2  a33 3  a34 4 pentru zona 3

(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

Dând lui i valorile 1, 2 şi 3 în relaţiile (3.44) şi


(3.45) vom obţine valoarea vitezei, respectiv
acceleraţiei, pe fiecare din cele trei zone. 82
q(t)

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
qt1    qt1   qt 2    qt 2  
vt1    vt1   vt 2    vt 2  
at1    at1   at 2    at 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)

unde q i este poziţia iniţială pentru articulaţia


respectivă. Conform (3.44) calculăm viteza
pentru zona 1 a deplasării:
84
a  2 a   3a  2
 4 a  3
(3.47)
v1    11 12 13 14
t1

şi punând condiţia ca în momentul iniţial viteza să


fie nulă rezultă:
a11 = 0 (3.48)

Procedăm în mod similar pentru acceleraţie,


folosind (3.45):
2 a  6 a   12 a  2

a  
1
 12 13
2
14
(3.49)
t1 85
şi valoarea la momentul iniţial trebuie să fie nulă,
adică:
a12 = 0 (3.50)
Cu aceste valori determinate forma traiectoriei pe
prima zonă este:

q    q  a13  a14
1 i 3 4
(3.51)

şi folosind valoarea cunoscută a poziţiei în primul


punct intermediar, pe care am notat-o cu q 1 ,
obţinem pe baza egalităţii q1 = q1(1):
86
i
q1  q  a13  a14 (3.52)
Mai calculăm valorile vitezei şi acceleraţiei la
capătul primei zone, înlocuind  = 1 în (3.47) şi
(3.49).
3a13  4a14
v 1 
1

t1 (3.53)

în care am ţinut seama de valorile deja


determinate ale lui a11 şi a12, şi respectiv:
6a13  12a14
a 1 
1

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)

Pentru a pune condiţiile de continuitate pentru


viteză şi acceleraţie, determinăm expresiile
acestora pentru a doua zonă folosind (3.43),
(3.44) şi (3.45):
a  2 a   3a  2
v 2    21 22 23

t 2 (3.56)
88
2a 22  6a 23 
a   
2 (3.57)
t 22

Folosind aceste expresii, cât şi valorile deja


determinate ale limitelor la stânga în primul
punct intermediar pentru viteză şi acceleraţie
(valorile (3.53) şi (3.54)) , punem condiţiile de
continuitate v 1 (1) = v 2 (0) şi a 1 (1) = a 2 (0),
obţinând:
3a13  4a14 a 21

t1 t 2
(3.58)
89
3a13  6a14 a 22 (3.59)
2
 2
t1 t 2
In continuare luăm în considerare condiţiile din cel de-al
doilea punct intermediar. Dacă notăm valoarea
cunoscută a poziţiei în acest punct cu q2 şi o egalăm cu
q2(1) obţinem:

q1 + a21 + a22 +a23 = q2 (3.60)

Aceasta trebuie să fie egală cu q3(0) pentru a asigura


continuitatea în poziţie, adică folosind (3.43) obţinem:
90

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

Mai trebuie considerate condiţiile din punctul final.


Pentru poziţie, dată de q 3 (1), conform (3.43)
avem:

q2 + a31 + a32 + a33 + a34= qf (3.66)

92

unde qf este valoarea cunoscută a poziţiei finale.


Viteza şi acceleraţia în momentul final trebuie să fie nule
şi din condiţiile v3(1) = 0 şi a3(1) = 0, conform (3.62) şi
(3.63) obţinem:

a31 + 2a32 + 3a33 + 4a34 = 0 (3.67)

2a32 + 6a33 + 12a34 = 0 (3.68)

In acest fel putem determina toţi coeficienţii akl care apar


în definiţia traiectoriei (3.43). Pentru coeficienţii a10, a11,
a12, a20, a30 am determinat valorile explicite, prin relaţiile
(3.46), (3.48), (3.50), (3.55) şi (3.61), iar pentru restul
de coeficienţi se formează, prin relaţiile (3.52), (3.58) –
(3.60), (3.64) – (3.68), un sistem de ecuaţii liniare, din
care aceştia pot fi determinaţi. 93
Se poate arăta că sistemul respectiv are soluţie şi
aceasta este unică; mai mult matricea
coeficienţilor sistemului respectiv este una de tip
tridiagonal, adică având elemente nenule numai
pe diagonala principală şi în vecinătatea acesteia,
astfel că determinarea necunoscutelor se va face
uşor. Mai precizăm că, după determinarea
expresiei traiectoriei prin metoda data mai sus,
este necesar să revenim la variabila temporală
reprezentând timpul real; aceasta se va face prin
înlocuirea, în expresia traiectoriei, a lui  cu
valoarea sa în funcţie de t, dată de (3.42).
94
In ceea ce s-a prezentat mai sus ne-am referit la
cazul unei singure articulaţii. Formulele
respective sunt valabile pentru toate cele n
articulaţii ale RI, particularizările făcându-se
asupra valorilor lui q – qi, q1, q2 şi qf – care vor fi
cele corespunzătoare articulaţiei ce se planifică.
Pentru obţinerea mişcării coordonate este
necesar ca pentru toate articulaţiile să se lucreze
cu aceleaşi valori ale lui t, adică t1, t2 şi tf să fie
aceleaşi, indiferent de articulaţia ce se planifică.

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

You might also like