Sunteți pe pagina 1din 5

Curs6.

2.1.2. Generarea traiectoriei cu funcții de conducere polinomiale de gradul 3

La conducerea în coordonate CCC, se utilizează funcții de conducere (legi de


mișcare) polinomiale pentru calculul punctelor intermediare, de pe traiectoriile individuale
(generate la nivelul cuplelor cinematice conducătoare). Pentru fiecare cuplă cinematică se
alege separat, câte o funcție de conducere din aceeași clasă. Astfel, generarea traiectoriei
pe fiecare cuplă cinematică se realizează în mod identic, dar cu date diferite.

În continuare se prezintă modalitatea de generare a traiectoriei pentru o singură cuplă


cinematică (pentru restul se fac calcule similare), cu o funcție de conducere polinomi-
ală de gradul 3, de forma:
q(t ) = a1 + a2 ⋅ t + a3 ⋅ t 2 + a4 ⋅ t 3 (1)
în care:
”t” este parametrul timp;
a1, a2, a3 şi a4 sunt coeficienții funcției de conducere;
q (t ) este coordonata cuplei cinematice, la momentul ”t”.
În Robotică, funcțiile de conducere polinomiale sunt utilizate pentru generarea
punctelor intermediare de pe o traiectorie, definită de două puncte: de exemplu
punctul de START (cunoscut prin coordonata ”inițială” q0) și punctul ȚINTĂ (cunoscut
prin coodonata ”finală” qf). Dacă se conosc valori numerice concrete pentru coeficienții
funcției de conducere, adică pentru a1, a2, a3 şi a4 atunci dând valori parametrului ”t”, se
pot determina coordonatele q (t ) ale punctelor de pe traiectorie.

Dacă se consideră că mișcarea începe în momentul inițial t0=0 și se termină în momentul


tf (numit și moment final) atunci:
• q0 este coordonata obținută pentru momentul t=0, deci: q(0) = q0 .
• qf este coodonata, obținută pentru momentul t= tf, deci q(t f ) = q f .

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 (2)
Se notează cu:
• q0 viteza inițială, adică viteza obținută pentru momentul t=0, deci: q (0) = q0 .
• q f viteza finală, adică viteza obținută pentru momentul t=tf, deci: q (t f ) = q f .

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 (3)
Generarea punctelor se realizează la perioade de timp egale numite perioade de
generare – tg. Durata perioadei de generare este deobicei între 0,001 și 0,05 s. Momentul
curent, utilizat pentru calculul punctului, se determină prin incrementarea parametrului t cu
valoarea perioadei de generare:
t = t + tg
2 Curs6.

Generatorului de traiectorie calculează în fiecare perioadă de generare, pentru


momentul curent t, valori numerice concrete pentru funcţia de conducere q (t ) şi
derivatelor sale:
q (t ) = a1 + a2 ⋅ t + a3 ⋅ t 2 + a4 ⋅ t 3
q (t ) = a2 + 2a3 ⋅ t + 3a4 ⋅ t 2
q(t ) = 2a3 + 6a4 ⋅ t
Rezultatul acestui calcul reprezintă mărimile de prescriere pentru sistemele de conducere
locale, existente la nivelul fiecarei cuple cinematice conducătoare. Deci generatorul de
traiectorie generează punctele prin care trebuie să treacă cupla cinematică între t0 si tf
(calculând coordonata, viteza şi acceleraţia aferentă punctului).

Pentru efectuarea acestor calcule, pentru fiecare segment de mișcare definit prin
punctul de start și punctul final se determină în mod ”offline” (adică înainte de
începerea mișcării):
• timpul de deplasare între punctul de START şi punctul ȚINTĂ;
• coeficienții funcției de conducere, adică a1, a2, a3 şi a4;
• numărul perioadelor de generare (N);

Determinarea timpului de deplasare

La determinarea timpului de deplasare se consideră că este cunoscută coordonata q0 a


punctului de start și coodonata qf a punctului țintă.
De asemenea se consideră că, la nivelul cuplei cinematice se cunoaște viteza maximă
realizabilă vmax (se cunosc motoarele de acționare folosite şi masele puse în mişcare) şi
se consideră într-o primă etapă că mișcarea se realizează cu o viteză medie egală
aproximativ cu 2/3*vmax. Ca urmare se poate calcula timpul de deplasare realizabil cu
formula:
q f − q0
t depl =
2 / 3 ⋅ v max
unde s = q f − q0 este spațiul parcurs (adică distanța parcursă) în timpul mișcării.
Dacă se consideră că mișcarea începe în momentul t0=0 și se termină în momentul tf
atunci:
t depl = t f − t 0 = t f

Deci tf, prin valoarea s-a, reprezintă chiar durata deplasării, adică ”timpul de deplasare”.
Pe de altă parte, la nivelul cuplei cinematice se cunoaște și acceleraţia maximă realizabilă
şi astfel se poate calcula timpii: tacc de accelerare de la 0 la vmax şi de decelerare tdec
de la vmax la 0 (deobicei egali).

Timpul de deplasare trebuie să fie mai mare sau cel puțin egal cu suma timpilor de
accelerare și de decelerare (chiar și pentru realizarea unor deplasări mici sau scurte,
Curs6. 3
trebuie asigurată o durată minimă, suficientă atât pentru acelerare cât și pentru
decelerare). Deci:
t f ≥ (t acc + t dec )
Acest tf se rotunjeşte la cel mai apropiat număr care este multiplu întreg al
perioadei de generare tg.

Determinarea coeficienților a1, a2, a3, a4

Pentru determinarea coeficienților a1, a2, a3 şi a4 se consideră, că pentru segmentul


următor de mișcare, se cunoaște valoarea:
• coordonatei în momentul 0, adică q(0) = q0
• coordonatei în momentul tf, adică q(t f ) = q f
• vitezei în momentul 0, adică q (0) = q0
• vitezei în momentul tf, adică q (t f ) = q f

Din cele 4 ”condiții inițiale” de mai sus, se formează următorul sistem de ecuaţii:
q(0) = a1 + a2 ⋅ 0 + a3 ⋅ 02 + a4 ⋅ 03 = q0
q(t f ) = a1 + a2 ⋅ t f + a3 ⋅ t 2f + a4 ⋅ t 3f = q f
q (0) = a2 + 2a3 ⋅ 0 + 3a4 ⋅ 02 = q0
q (t f ) = a2 + 2a3 ⋅ t f + 3a4 ⋅ t 2f = q f
Adică:
a1 = q0
a1 + a2 ⋅ t f + a3 ⋅ t 2f + a4 ⋅ t 3f = q f
a2 = q0
a2 + 2a3 ⋅ t f + 3a4 ⋅ t 2f = q f

în care necunoscutele sunt coeficienţii a1, a2, a3 şi a4. Rezolvând sistemul de mai sus se
obţine:
a1 = q0 a2 = q0
3
a3 = 2
(q f − q0 ) − 2 q0 − 1 q f a4 = −
2
3
(q f − q0 ) + 12 (q0 + q f )
tf tf tf tf tf

Dacă se consideră că cupla cinematică are viteza inițială (adică viteza în punctul de
START) și viteza finală (adică viteza în punctul ȚINTĂ) nulă, adică q0 = q f = 0 , se obţine:

a1 = q0 ; a2 = 0;
3 2
a 3 = 2 (q f − q 0 ) ; a4 = − (q f − q 0 ) ;
tf t 3f
4 Curs6.

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

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


coordonatei q (t ) , vitezei q (t ) și accelerației q(t ) , pentru câte un punct de pe traiectorie,
fig.5.1.

Fig.5.1. Elementele generării punctelor de pe traiectorie


Observație:
• Conform fig.5.1., pentru cele N perioade de generare, rezultă (împreună cu punctul
de START și punctul ȚINTĂ) î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Ă.

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


obțin graficile:
Curs6. 5

Fig.5.2. Variația coordonatei, vitezei și accelerației la funcție de conducere de gradul 3


Așa cum rezultă din fig.5.2., deși în momentul t=0 și în momentul tf vitezele sunt nule,
totuși accelerațiile sunt maxime. Ca urmare, pornirea și oprirea mișcării se realizează
cu ”șocuri”, datorită forțelor mari de inerție (accelerații mari conduc la forțe mari de
inerție). Acest dezavantaj se poate elimina, dacă în cadrul condițiilor inițiale se pune
suplimentar condiția ca și accelerațiile să fie nule, atât la pornire cât și la oprire.

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