Sunteți pe pagina 1din 5

Curs7.

2.1.3. Generarea traiectoriei cu funcții de conducere polinomiale de gradul 5

Pentru reducerea la minim a şocurilor care apar în timpul funcţionării, în unele cazuri se
impune ca la capetele de cursă (pentru t=0 şi pentru t=tf) nu numai vitezele dar şi
acceleraţiile să fie nule. În acest caz se utilizează funcții de conducere polinomială de
gradul 5. În continuare se studiază modalitatea de generare a traiectoriei, simultan
pentru toate cele 6 ”axe”, cu funcții de conducere polinomiale de gradul 5, de forma:
q(t ) = a1 + a2 ⋅ t + a3 ⋅ t 2 + a4 ⋅ t 3 + a5 ⋅ t 4 + a6 ⋅ t 5 (1)
în care:
”t” este parametrul timp;
a1, a2, a3, a4, a5 şi a6 sunt coeficienții funcției de conducere;
q (t ) este coordonata cuplei cinematice, la momentul ”t”.

Derivând relația (1) în raport cu timpul (adică în raport cu parametrul t) se obține relația de
calcul a vitezei q (t ) , atinsă de cupla cinematică la momentul ”t”:
q (t ) = a2 + 2a3 ⋅ t + 3a4 ⋅ t 2 + 4a5 ⋅ t 3 + 5 ⋅ a6 ⋅ t 4 (2)
Derivând relația (2) în raport cu timpul (adică în raport cu parametrul t) se obține relația de
calcul a accelerației q(t ) , atinsă de cupla cinematică la momentul ”t”:
q(t ) = 2a3 + 6a4 ⋅ t + 12a5 ⋅ t 2 + 20a6 ⋅ t 3 (3)

Determinarea coeficienților funcției de conducere pentru o axă

Coeficienții a1, a2, a3, a4, a5 şi a6 se determină din următoarele condiții inițiale:
1. se cunoaște valoarea coordonatei în momentul 0, adică q(0) = q0
2. se cunoaște valoarea coordonatei în momentul tf, adică q(t f ) = q f
3. se impune ca valoarea vitezei în momentul 0 să fie nulă, adică q (0) = 0
4. se impune ca valoarea vitezei în momentul tf să fie nulă, adică q (t f ) = 0
5. se impune ca valoarea accelerației în momentul 0 să fie nulă, adică q(0) = 0
6. se impune ca valoarea accelerației în momentul tf să fie nulă, adică q(t f ) = 0

Aplicând condițiile inițiale 1, 3 și 5 rezultă:


q(0) = a1 + a2 ⋅ 0 + a3 ⋅ 02 + a4 ⋅ 03 + a5 ⋅ 04 + a6 ⋅ 05 = q0
q (0) = a2 + 2a3 ⋅ 0 + 3a4 ⋅ 02 + 4a5 ⋅ 03 + 5 ⋅ a6 ⋅ 04 = 0
q(0) = 2a3 + 6a4 ⋅ 0 + 12a5 ⋅ 02 + 20a6 ⋅ 03 = 0
Adică a1=q0, a2=0 și a3=0. Rezultă, că funcțiile de conducere q (t ) și derivatele sale vor fi
de forma:
q(t ) = q0 + a4 ⋅ t 3 + a5 ⋅ t 4 + a6 ⋅ t 5
q (t ) = 3a4 ⋅ t 2 + 4a5 ⋅ t 3 + 5 ⋅ a6 ⋅ t 4 (4)
q(t ) = 6a4 ⋅ t + 12a5 ⋅ t 2 + 20a6 ⋅ t 3
2 Curs7.

Aplicând în continuare condițiile inițiale 2, 4 și 6 pentru relațiile (4), rezultă:


q (t f ) = q0 + a4 ⋅ t 3f + a5 ⋅ t 4f + a6 ⋅ t 5f = q f
q (t f ) = 3a4 ⋅ t 2f + 4a5 ⋅ t 3f + 5a6 ⋅ t 4f = 0
q(t f ) = 6a4 ⋅ t f + 12a5 ⋅ t 2f + 20a6 ⋅ t 3f = 0

Deci rezultă următorul sistem de ecuații:


a4 ⋅ t 3f + a5 ⋅ t 4f + a6 ⋅ t 5f = q f − q0
3a4 ⋅ t 2f + 4a5 ⋅ t 3f + 5a6 ⋅ t 4f = 0 (5)
6a4 ⋅ t f + 12a5 ⋅ t 2f + 20a6 ⋅ t 3f = 0

În care necunoscutele sunt chiar coeficienții a4, a5 şi a6. Sistemul (5) este un sistem
”Cramer” care se rezolvă în felul următor:

Se calculează întâi determinantul sistemului:

t 3f t 4f t 5f
∆ = 3t 2f 4t 3f 5t 4f = 2t 9f
6t f 12t 2f 20t 3f
Apoi pentru determinarea coeficienţilor polinomiali a4, a5 şi a6 se calculează deter-
minanţii ∆j, j=4,5,6;

q f − q0 t 4f t 5f
∆4 (q f − q 0 )
∆4 = 0 4t 3f 5t 4f = 20(q f − q 0 )t 6f de unde: a4 = = 10
∆ t 3f
0 12t 2f 20t 3f

t 3f q f − q0 t 5f
∆5 (q f − q 0 )
∆ 5 = 3t 2f 0 5t 4f = −30(q f − q 0 )t 5f de unde: a5 = = −15
∆ t 4f
6t f 0 20t 3f

t 3f t 4f q f − q0
∆6 (q f − q 0 )
∆ 6 = 3t 2
f 4t 3
f 0 = 12(q f − q 0 )t 4f de unde: a6 = =6
2
∆ t 5f
6t f 12t f 0

Determinarea funcțiilor de conducere pentru un robot cu 6 axe

În cazul unui robot cu 6 grade de mobilitate (adică cu 6 mișcări independente), deci cu 6


axe, se alege câte o funcție de conducere independentă, separat pentru fiecare cuplă
cinematică conducătoare. Dacă notăm cu j numărul axei (sau numărul cuplei cinematice)
atunci funcțiile de conducere și derivatele sale vor fi de forma:
Curs7. 3

q( j ) = q0 ( j ) + a(4, j ) ⋅ t 3 + a(5, j ) ⋅ t 4 + a(6, j ) ⋅ t 5 j=1÷6

q ( j ) = 3a(4, j ) ⋅ t 2 + 4a(5, j ) ⋅ t 3 + 5a(6, j ) ⋅ t 4 j=1÷6

q( j ) = 6a(4, j ) ⋅ t + 12a(5, j ) ⋅ t 2 + 20a(6, j ) ⋅ t 3 j=1÷6


Coeficienții funcțiilor de conducere se calculează cu relațiile:

q f ( j ) − q0 ( j )
a(4, j ) = 10 j=1÷6
t 3f
q f ( j ) − q0 ( j )
a(5, j ) = −15 j=1÷6
t 4f
q f ( j ) − q0 ( j )
a(6, j ) = 6 j=1÷6
t 5f

Determinarea timpului de deplasare

La determinarea timpului de deplasare se consideră că sunt cunoscute coordonatele


CCC ale punctului de start: q01, q02, q03, q04, q05 și q06 pentru cele 6 axe (adică q0j,
j=1÷6) respectiv coordonatele CCC ale punctului de țintă: qf1, qf2, qf3, qf4, qf5 și qf6
pentru cele 6 axe (adică qfj, j=1÷6).

De asemenea se consideră că, la nivelul fiecărei cuple cinematice se cunosc vitezele


maxime realizabile vmaxj, j=1÷6 (se cunosc motoarele folosite şi masele puse în mişca-
re) şi se consideră într-o primă etapă că fiecare c.c.c. se deplasează cu viteza medie,
care este aproximativ 53,1% din viteza maximă (pentru funcții de conducere polinomiale
de gradul 5). Se calculează astfel, pentru fiecare c.c.c. „j” timpul de deplasare realizabil:

qf j − q 0 j
tj = (6)
0,53 ⋅ v max j
unde:
• q0j este coordonata punctului de start pentru c.c.c. „j”;
• qfj este coordonata punctului țintă pentru c.c.c. „j”;
• vmaxj este viteza maximă realizabilă în deplasare pentru c.c.c . „j”;
• s j = qf j − q 0 j este spațiul parcurs (adică distanța parcursă) în timpul mișcării de
cupla cinematică „j”, j=1÷6.

Pe de altă parte, la nivelul fiecărei cuple cinematice se cunoaște și acceleraţia maximă


realizabilă şi astfel se pot calcula timpii: taccj de accelerare de la 0 la vmaxj şi de
decelerare tdecj de la vmaxj la 0 (deobicei egali) pentru fiecare cupla cinematică „j”, j=1÷6.
4 Curs7.

Se alege ca timp de deplasare între cele două puncte maximul dintre tj obținut din
relațiile (6), sau în cazul unor deplasări mici (scurte), durata maximă rezultată din suma
timpilor de accelerare taccj și de decelerare tdecj, pentru o cuplă cinematică j=1÷6.

t depl = max{t j , t accj + t decj }

Se consideră că mișcarea începe în momentul t0=0 și se termină în momentul tf deci:

t depl = t f − t 0 = t f
Astfel tf, prin valoarea s-a, reprezintă chiar durata deplasării, adică ”timpul de deplasare”.
Acest tf se rotunjeşte la cel mai apropiat număr care este multiplu întreg al perioadei de
generare tg.

Determinare număr perioade de generare (N)

Numărul perioadelor de generare N (în timpul deplasării între cele două puncte), este egal
cu raportul dintre timpul de deplasare tf şi durata perioadei de generare tg.

tf
N=
tg

Generarea punctelor de pe traiectorie

Punctele de pe traiectorie se generează la perioade de timp egale, numite perioade de


generare. Durata unei perioade de generare se notează cu tg și poate să fie între 0,001 și
0,05 secunde.

În fiecare perioadă de generare se realizează, pentru momentul curent t, calculul


coordonatei q (t ) , a vitezei q (t ) și a accelerației q(t ) , separat pentru fiecare cinematică „j” (
j=1÷6.), pentru câte un punct de pe traiectorie. Împreună cu punctul de START și punctul
ȚINTĂ sunt în total N+1 puncte. Dacă utilizăm o variabilă i pentru contorizarea punctelor,
atunci primul punct (i=1) generat va fi punctul de start, iar ultimul punct (i=N+1) generat va
fi punctul țintă.

Momentul curent t, utilizat pentru calculul punctului, se determină prin incrementarea


parametrului t cu valoarea perioadei de generare:
t = t + tg
Notând cu:
• coordonata(j), coordonata cuplei cinematice "j" (j=1÷6.), în momentul curent t;
• viteza(j), viteza cuplei cinematice "j" (j=1÷6.), în momentul curent t;
• acceleratia(j), accelerația cuplei cinematice "j" (j=1÷6.), în momentul curent t;
pentru generarea traiectoriei se utilizează relațiile:
Curs7. 5

coordonata( j ) = q0 ( j ) + a(4, j ) ⋅ t 3 + a(5, j ) ⋅ t 4 + a(6, j ) ⋅ t 5 j=1÷6


viteza( j ) = 3a(4, j ) ⋅ t 2 + 4a(5, j ) ⋅ t 3 + 5a(6, j ) ⋅ t 4 j=1÷6
acceleratia( j ) = 6a(4, j ) ⋅ t + 12a(5, j ) ⋅ t + 20a(6, j ) ⋅ t
2 3
j=1÷6

Dacă se reprezintă evoluția în timp a coordonatei q (t ) , vitezei q (t ) și a accelerației q(t ) se


obțin graficile:

Fig.5.3. Variația coordonatei, vitezei și accelerației la funcții de conducere de gradul 5


În fig.5.3. se poate observa, că în momentul t=0 și în momentul tf nu numai vitezele dar și
accelerațiile sunt sunt nule.

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