Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Meseria se fura, ingineria se invata.Telecomunicatii, comunicatiile la distanta, Retele de, telefonie, VOIP, TV, satelit




Aeronautica Comunicatii Constructii Electronica Navigatie Pompieri
Tehnica mecanica

Tehnica mecanica


Index » inginerie » Tehnica mecanica
» Cinematica robotului rb 4 ev - proiect-ri


Cinematica robotului rb 4 ev - proiect-ri


PROIECT-RI

CINEMATICA ROBOTULUI RB 4 EV

Modelul robotului RB 4 EV este proiectat in scop educational sau ca hobby; nu are precizia si robustetea unui robot industrial Robotul are 6 axe, fiecare din ele fiind actionata de un motor pas cu pas. Are 5 grade de libertate: rotatie a trunchiului, a umarului, a cotului, a incheieturii; al cincilea grad de libertate este balansul incheieturii. Robotul este controlat prin manipularea fiecarei incheieturi in parte. Nu exista senzori care sa transmita computerului informatii despre robot.'Limitele soft' sunt calculate si mentinute de catre sistemul de control, pentru a proteja robotul. Acesta este departe de a fi ideal si prezinta multe probleme. De exemplu: daca sistemul de alimentare cade, cand este reconectat, nu exista nici o modalitate de a afla pozitia robotului.

Cele 6 axe sunt controlate simultan. Aceasta inseamna ca daca o operatie este programata, cele 6 axe vor realiza o miscare coordonata, astfel incat vor ajunge simultan in pozitia dorita.



Fig. 1 (d1=214mm, a2=200mm, a3=150mm, d5=85mm)

Cerinte:

-o schita a robotului in pozitia zero; precizarea coordonatelor;

-tabelul coordonatelor Denavit-Hartemberg;

-determinarea matricilor individuale T;

-ecuatia cinematicii directe pentru RM-101;

-un algoritm pentru rezolvarea problemei cinematicii inverse, folosind datele de mai jos:

MISCARE    UNGHI DE ROTATIE

R a trunchiului 240 grade

R a umarului 150 grade (75 grade inainte,75 grade inapoi)

R a cotului 120 grade (75 grade inainte,45 grade inapoi)

Balans al incheieturii 180 grade

R a incheieturii 360 grade

Date pentru robotul RB 4 EV:

-distanta de la masa la incheietura umarului: 214mm;

-lungime a elementului superior: 200mm;

-lungime a elementului inferior: 150mm;

-lungimea efectorului final: 85mm.

Parametrii Denavit-Hartemberg

Nr. crt.

tetha

d

a

alfa

Var

d1

Var

a2

Var

a3

Var

var

d5

Din table rezulta:

[c1 0 s1 0 [c2 -s2 0 a2*c2 [ c3 -s3 0 a3*c3

A1= s1 0 -c1 0 A2= s2 c2 0 a2*s2 A3= s3 c3 0 a3*s3

0 1 0 d1 0 0 1 0 0 0 1 0

0 0 0 1] 0 0 0 1] 0 0 0 1]

[c4 0 s4 0 [c5 -s5 0 0

A4= s4 0 -c4 0 A5= s5 c5 0 0

0 1 0 0 0 0 1 d1

0 0 0 1] 0 0 0 1]

d1=214mm;

a2=200mm;

a3=150mm;

d5=85mm.

Cinematica directa

T5=A1*A2*A3*A4*A5

-elementele lui T5:

nx=c5*c1*c234+s1*s5

ny=c5*s1*c234-c1*s5

nz=c5*s234

ox=-c1*s5*c234

oy=-s1*s5*c234-c1*c5

oz=-s5*s234

ax=c1*s234

ay=s1*c234

az=-c234

px=d5*c1*s234+a3*c1*c23+a2*c1*c2

py=d5*c1*s234+a3*s1*c23+a2*s1*c2

pz=d1-d5*c234+a3*s23+a2*s2

Pentru toate unghiurile incheieturilorconmsiderate zero, rezulta matricea transformarii pentru efectorul final; ne da directia axelor sistemului 5 si pozitia originii fata de sistemul zero.

[1 0 0 350

T5= 0 -1 0 0

0 0 -1 129

0 0 0 1]

Cinematica inverse

Pornim de la relatia :

T5=A1*A2*A3*A4*A5

*T5=A2*A3*A4*A5

Din elementele (3,3) si (3,4) rezulta: s1*ax-c1*ay=0si/sau s1*px-c1*py=0

Rezulta: tetha1=atan2(py,px) sau tetha1=atan2(-py,-px)

Sau

Tetha1=atan2(ay,ax) sau tetha2(-ay,-ax)

Cele mai bune solutii sunt cele care implica pe px si py, in afara de cazul cand ambele sunt zero; doar atunci s-ar folosi ax si ay. Daca si acestea sunt zero, rezulta pozitia data deT5 este pe axa z0, cu efectorul final indreptat in sus. In acest caz tetha1=0. A doua solutie, cu o rotatie de 180grade, poate fi folosita daca limitele imbinarii sunt depasite de prima solutie.

Din relatiile (1,3) si (2,3) rezulta: s234=c1*ax+s1*ay; -c234=az.

Theta1 se cunoaste..

Rezulta: theta2+theta3+theta4=atan2(c1*ax+s1*ay, -az)

Comparand elementele (1,4) si (2,4) si folosind variabilele:

t1=c1*px+s1*py-d5*s234

t2=pz-d1+d5*c234

rezulta sistemul de ecuatii:

t1=a3*c23+a2*c2

t2=a3*s23+a2*s2

rezulta:

c3=(t1^2+t2^2 -a3^2-a2^2)/(2*a2*a3)

Folosind relatia: tetha3=atan2(,c3)

Pentru robotul Mitsubishi, unghiul cotului trebuie sa fie intotdeauna negativ, deci putem lua intotdeauna varianta negative. Daca c3>1, rezulta functia radacina patrata nu s-ar mai putea folosi; inseamna ca pozitia dorita nu exista, nu se poate gasi (t1 si/sau t2, care depind de px si py sunt prea mari).

Rezulta: t1=(a3*c3+a2)*c2-a3*s3*s2

t2=a3*s3*c2+(a3*c3+a2)*s2

Rezulta:    tetha2=atan2[(a3*c3+a2)*t2-a3*s3*t1,(a3*c3+a2)*t1-a3*s3*t2)

Tetha4=tetha234-tetha3-tetha2

Unghiul ultimei incheieturi este obtinut din (3,1) si (3,2):

s5=s1*nx-c1*ny

c5=s1*ox-c1*oy

rezulta: tetha5=atan2(s1*nx-c1*ny,s1*ox-c1*oy)

ANALIZA VITEZEI CU AJUTORUL JACOBIANULUI

Un manipulator 3R este aratat in figura de mai jos. Incheietura umaului este la 0.5m deasupra planului XY. Elementele umarului si cotului sunt de 1m, respectiv 0.8m lungime.

Parametrii DH si matricile A sunt identice cu ale robotului Mitsubishi.

Cerinte:

-cinematica directa a robotului;

-Jacobianul manipulatorului; sunt necesare doar primele 3 linii si coloane, deoarece avem data doar pozitia;

-completati tabelul de mai jos cu coordonatele vitezei;

Joint positions(deg.) joint rates(rad/s) tip velocity(m/s)

x

y

z



completati tabelul de mai jos cu datele care lipsesc

Joint positions(deg.) tip speed(m/s) joint rates(rad/s)

x

y

z



-determinati pozitiile singulare ale manipilatorului, examinand jacobianul; determinati semnificatia fizica a acestora;

-consideram o traiectorie a efectorului final, care incepe in pozitia (x,y,z)=(0.8,0,0.6); acesta se misca in linie dreapta, paralel cu axa y, cu o viteza constanta de 0.2m/s; sa se calculeze pozitiile incheieturilor si ratele incheieturilor pentru asceasta traiectorie, la fiecare 0.025m; reprezentati grafic ratele     incheieturilor atat cat se poate.Pastrati valorile lui det(J) de-a lungul traiectoriei si reprezentati grafic

-se considera o alta traiectorie, care incepe din pozitia (x,y,z)=(0.1,-1.0,0.8); efectorul se misca in directia +y cu viteza de 0.2m/s; aceleasi cerinte ca la punctul anterior;

Analiza vitezei folosind Jacobianul

Cinematica directa

Parametrii DH:

Nr. crt.

Unghi-teta

d

a

Alfa

Var

d1=0.5

Var

a2=1.0

Var

a3=0.8

Matricile A sunt aceleasi ca si primele 3 ale robotului Mitsubishi studiat anterior. Inmultind aceste matrici vom obtine matricea T3, din care extragem pozitia efectorului final:

X=c1*(a2*c2+a3*c23);

Y=s1*(a2*c2+a3*c23);

Z=d1+a2*s1+a3*s23.

Acestea sunt singurele elemente care ne intereseaza, din moment ce nu avem niic o incheietura care sa afecteze sau sa controleze pozitia efectorului final.

Jacobianul

[-s1*(a2*c2+a3*c23) -c1*(a2*s2+a3*s23) -a3*c1*s23

J=     c1*(a2*c2+a3*c23 -s1*(a2*s2+aa3*s23) -a3*s1*s23

0 a2*c2+a3*c23 a3*c23 ]

Evaluarea numerica a acestui Jacobian a fost programata in jacob3r.m.

Viteza efectorului final

Programul kinem3r.m a fost scris pentru arealiza calculele cerute la acest punct.Viteza efectorului final se poate gasi evaluand:

Mai jos avem o parte a fisierului:

Fiecare coloana contine datele dintr-o linie a tabelului din acest punct al cerintei. Pentru ratele incheieturilor se folosesc valori in rad/sec. Primele doua coloane sunt simple vrificari daca totul merge corect-aceste viteze pot fi verificate usor prin geometrie.

Ratele incheieturilor:

Ratele incheieturilor cerute se opt obtine calculand jacobianul si evaluand relatia

In Matlab vom obtine urmatoarele

Aflam ca unghiul teta3 este egal zero, jacobianul este singular-de aici datele pentru prima coloana a ratei incheieturilor eset NaN. De fapt, din aceasta pozitie, robotul nu este capabil sa se miste in directia +x. Viteza va fi, deci, -1; de aici o alta problema:robotul poate sa se miste cu pozitia cotului sus sau jos. Acesta se numeste, in teoria mecanismelor, un punct de bifurcatie, din moment ce sunt doua cai posibile de a parasi pozitia. In teoria mecanismelor, o indicatie a faptului ca avem un punct de bifurcatie este faptul ca jacobianul este singular.

Ultimele cinci coloane ne arata ca, pe masura ce bratul robotic se apropie de o configuratie complet intinsa, ratele cerute pentru a pastra aceeasi viteza in sistem cartezian cresc foarte mult si foarte repede. Vom vedea aceasta mai detaliat la punctul 6.

Pe masura ce robotul se apropie de aceasta pozitie, jacobianul se apropie din ce in ce mai mult de a deveni singular si se cer rate din ce in ce mai mari ale incheieturilor.

Pozitiile singulare

Examinand determinantul jacobianului dat mai sus aflam ca det(J)=0 =>

det(J)=-a2*a3*s3*(a2*c2+a3*c23).

Daca teta3=0=>Jeste singular.Aceasta reprezinta suprafata exterioara a spatiului de lucru pentru acest robot si are forma unei sferecu centrul in incheietura umarului. O alta posibilitate este aceea de a alege teta3=+sau-180grade, cand bratele se indoaie unul peste altul. Aceasta este suprafata interioara a spatiului de lucru-tot o sfera cu centrul in incheietura umarului. Ultima posibilitaet o reprezinta termenul din paranteze. Aceasta reprezin ta pozitia radiala a efectorului final de la axa z. Astfel, daca acesta ajunge la zero cu efectorul final oriuned pe axa z, jacobianul devine singular.

Analiza traiectoriei

Pentrua rezolva aceasta cerinta, trebuie sa realizam cinematica inversa. In mod esential, aceasta se face ca la robotul Mitsubishi, exceptant primele trei imbinari. Din moment ce se aseamana atat de mult, nu vom mai face aceste calcule (punctul2). O solutie in Matlab se gaseste in fiiserul invkin3r.m . Cu aceasta rutina se cauta o pozitie ilegala specificandu-se un punct din afara spatiului de lucru dar nu impune limite pentru articulatii. Se poate folosi doar varianta cu cotul sus (teta3<0).

In fisierul kinem3r.m poate fi setata o pizitie initiala (x,y,z) si o viteza constanta pentru efectorul final si un increment intre pozitiile dorite. Pozitia initiala si viteza ceruta sunt:

Programul incrementeaza vectorul x cu o anumita valoare (s-a folosit [0,0.025,0]) pana cand cinematica inversa va da o eroare (daca punctul cerut este prea departe). Aceasta s-a intamplat pentru

Pe masura ce calculele se realizeaza, vom obtine caracteristicile:

Pe masura ce efectorul final se apropie de marginea spatiului de lucru, vitezele articulatiilor incep sa se schimbe foarte rapid. Este interesant de reprezentat numarul conditional al jacobianului pe masura ce programul ruleaza. Se obtine urmatoarea reprezentare:

Stim ca, pe masura ce o matrice se apropie de singularitate, numarul conditional al sau devine foarte mare. Aceasta se poate vedea in figura de mai sus.

Vom analiza o alta traiectorie. Aceasta incepe cu datele initiale:

Starting location:

X =

Tip Speed:

XDOT =

Acest drum incepe din directia -y a robotului si trece foarte aproape de axa z (la doar 0.1m departare) la o inaltime de 0.8m (0.3m deasupra umarului), pe masura ce se indreapta spre directia +y. Avem mai jos reprezentate vitezele articulatiilor:

Este de notat faptul ca pe masura ce efectorul final se deplaseaza de-a lungul axei x, (y=0), viteza incheieturii trunchiului devine foarte mare. Iata ce se intampla cu numarul conditional al jacobianului:

In apropiere de y=0, numarul conditional creste foarte mult-aceasta se intampla cand efectorul final se apropie foarte mult de suprafata inetrioara a spatiului de lucru si de axa z.

Operatii simbolice folosind Matlab 4.0

Din moment ce multi oameni ar vrea sa prelucreze date in Matlab dar au avut probleme (mai ales cu simplificaera expresiilor) a fost pregatit un fisier pentru aceasta: jac3rsym.m Se procedeaza dupa cum urmeaza:

Se defineste simbolic cinematica directa:

Pretty-print of Forward kinematics:

[ cos(t1) (a2 cos(t2) + a3 cos(t2 + t3)) ]

[ sin(t1) (a2 cos(t2) + a3 cos(t2 + t3)) ]

[ d1 + a2 sin(t2) + a3 sin(t2 + t3) ]

Aceasta matrice, care ne da pozitia (x,y,z) a efectorului final, o notam cu w. Variabilele sunt definite in vectorul v. Jacobianul poate fi generat folosind comenzile Matlab:

% evaluate the Jacobian symbolically

J = jacobian(w,v);

disp('Pretty-print of the Jacobian:')

pretty(J)

Se obtin rezultatele urmatoare:

[- sin(t1) (a2 cos(t2) + a3 cos(t2 + t3)),

cos(t1) (- a2 sin(t2) - a3 sin(t2 + t3)), - cos(t1) a3 sin(t2 + t3)]

[cos(t1) (a2 cos(t2) + a3 cos(t2 + t3)),

sin(t1) (- a2 sin(t2) - a3 sin(t2 + t3)), - sin(t1) a3 sin(t2 + t3)]

[0, a2 cos(t2) + a3 cos(t2 + t3), a3 cos(t2 + t3)]

Cu jacobianul aflat, putem calcula determinantul:

% get the determinant of J

d = determ(J);

d2 = simplify(d); % perform a couple of simplifications

d3 = simple(d2);

% make a substitution for a trig identity MATLAB can't recognize

d4 = subs(d3,'-sin(t3)','cos(t2+t3)*sin(t2)-sin(t2+t3)*cos(t2)');

disp('Pretty-print of det J :')

pretty(d4)

Rezultatele obtinute sunt urmatoarele:

Pretty-print of det J :

a2 sin(t3) a3 (a2 cos(t2) + a3 cos(t2 + t3))

Aceasta expresie se potriveste cu cea data mai sus. Vom calcula in continuare inversul jacobianului. Avem mai jos secventele de comanda in Matlab, inclusiv comenzile de simplificare:

% get the inverse of the Jacobian

invJ = inverse(J);

inv1 = simple(invJ);



% make a substitution for an identity MATLAB can't recognize

inv2 = subs(inv1,'-sin(t3)','cos(t2+t3)*sin(t2)-sin(t2+t3)*cos(t2)');

disp('Pretty-print the inverse of the Jacobian:')

pretty(inv2)

Mai jos avem rezultatele in Matlab

Pretty-print the inverse of the Jacobian:

[ sin(t1) cos(t1) ]

[ cos(t1) cos(t2 + t3) sin(t1) cos(t2 + t3) sin(t2 + t3) ]

[ sin(t3) a2 sin(t3) a2 sin(t3) a2 ]

[ %1 cos(t1) %1 sin(t1) a2 sin(t2) + a3 sin(t2 + t3) ]

[ sin(t3) a2 a3 sin(t3) a2 a3 sin(t3) a2 a3 ]

%1 := a2 cos(t2) + a3 cos(t2 + t3)

Este evident ca inversul jacobianului va fi singular daca sin(t3)=0 sau daca termenul notat cu %1 este 0. S-a ajuns la aceleasi rezultate ca mai sus.

ANALIZA DINAMICA CU AJUTORUL ECUATIILOR LAGRANGE-EULER

Aceasta problema priveste analiza dinamica a unui robot simplu 2R reprezentat in figura de mai jos. Modelul dinamic a fost mult simplificat daca am considerat ca masa fiecarei articulatii este concentrata in centrul de greutate, la mijlocul fiecarei articulatii. Se va tine cont de faptul ca robotul se afla intr-un plan vertical si gravitatia actioneaza in jos. Masele articulatiilor sunt 2m si, respectiv m si toate au lungimea l.

  1. Derivati ecuatiile miscarii pentru acest mani[pulator folosind analiza Lagrangiana.
  2. In ecuatiile miscarii, identificati contributia cuplurilor T1 si T2 ale articulatiilor:

-inertia proprie;

-inertia de cuplu;

-cuplul coriolis;

-cuplul centripet;

-cuplul gravitational.

3. Vom calcula cuplurile incheieturilor necesare pentru deplasarea robotului intre doua puncte din interiorul spatiului de lucru. Pentru a asigura o miscare lina intre punctul de inceput si cel de final, se cere ca pozitia fiecaeri articulatii sa se modifice dupa urmatoarea caracteristica normalizata:

Figura reprezinta graficul unei functii s(t*) in functie de t*, un timp normalizat obtinut astfel:

T*=t/Tseg

Unde Tseg este timpul total real (in secunde) necesar miscarii. Aceasta functie trebuie sa aiba urmatoarele proprietati:

Va trebui sa determinam ce fel de functie se poate folosi pentru aceasta.

Cunoscand functia s(t*) a miscarii se poate calcula pozitia, viteza si acceleratia fiecarei articulatii (separat) folosind urmatoarele relatii:

In partea stanga se afla parametrii cinematici doriti pentru calcularea cuplurilor incheieturilor. Tseg apare in partea dreaptadeoarece derivatele lui s sunt raportate la t*.

Cu rezultatele obtinute se pot calcula cuplurile incheieturilor, necesaredeplasarii robotului din pozitia initiala (30, -60) in pozitia finala (80,-30) (toate unghiurile sunt in grade) intr-un timp de 3 secunde. Ni se da masa:m=20kg si lungimea:l=0.75m.

Avand aceste rezultate, se poate reprezenta cuplul in functie de timp.

Cat de mult se modifica cuplul maxim necesar daca incercam sa realizam deplasarea intr-un timp de 1 secunda in loc de 3 secunde?

Se poate, de asemenea, separa cuplul fiecarei incheieturi in termeni ai inertiei, centrifugali, coriolis si gravitationali si sse poate reprezenta fiecare separat.

  1. Se poate crea o animatie a robotului.Nu se cere la acest subiect dar nu este foarte greu de realizat si ar fi inersant de privit.

Cerinta speciala: S-a pus pe retea o rutina Matlab care realizeaza dinamica inversa. Aceasta a fost realizata de NEDYN, unul dintre generatoarele simbolice bazate pe algoritmul Newton-Euler si convertit de FORTRAN in fisier Matlab. Fisierul se numeste r2idyn.m . Aceasta rutina poate fi folosita pentru a verifica rezultatele dinamicii inverse calculate dupa cerintele de mai sus.

Dinamica inversa a manipulatorului 2R

Avem mai jos schita robotului. Pentru analizele urmatoare , teta1 va fi masurat de la axa x si teta2 raportat la articulatia anterioara.

Ecuatiile miscarii

Calculand viteza centrului de masa a fiecarei articulatii si combinand cu energia potentiala gravitationala vom obtine Lagrangeanul, dupa cum urmeaza:

De aici putem obtine cateva derivate ale lui L pentru a obtine cuplurile incheieturilor, dupa cum urmeaza:

Se va ajunge la urmatoarele expresii ale cuplurilor:

Acesti termeni dinamici pot fi asezati sub forma unor ecuatii dinamice:

Unde:

Daca scriem astfel ecuatiile, vom obtione urmatorii termeni dinamici:

-matricea de inertie:

In matrice, termenii diagonali sunt cei ai inertie proprii iar cei nediagonali sunt inertiile de cuplu. De retinut este faptul ca matricea de iertie este patratica.

-termenii coriolis si centripetic:

Termenii care contin produsul vitezelor sunt termenii coriolis, termenii care contin patratele vitezelor fiind cei centripetici.

-termenii gravitationali:

Verificare

Trebuie sa ne asiguram ca ecuatiile sunt dimensionate corect. Apoi trebuie sa ne asiguram de ce ar trebui sa contina ecuatiile si ce ar trebui sa lipseasca din ele. Termenii garvitationali pot fi verificati direct. Cu putina imaginatie, s-ar putea examina cel putin semnele celorlalti termeni. De exemplu, daca vrem sa mentinem constanta pozitia primei articulatii si sa acceleram pe cea de-a doua, atunci un teremen trebuie sa contina cceleratia lui teta2 in expresia lui T1. Mai mult, acest termen trebuie sa fie in aceeasi directie cu acceleratia articulatiei 2. Verificarea termenilor coriolis si centripet este ceva mai dificeil.

Este intotdeauna folositor sa avem un mod independent de calcul. Un fisier Matlab (r2idyn.m) a fost creat sa calculeze dinamica inversa a acestui manipulator folosind u generator simbolic (bazat pe algoritmul Newton-Euler). Ecuatiile obtinute anterior au fost incluse intr-un al doilea fisier (idyn2r.m). Cele doua rutine au aceleasi date de intrare. Un program de testare (idyntest.m) a fost scris in care starile cinematice sunt generate cu valori ale pozitiei, vitezei si acceleratiei pentru cele doua articulatii alese la intamplare in domeniul [-2,2]. Rezultatele celor doua rutine sunt afisate mai jos:

>idyntest

TH =

THD =

THDD =

Lagrangian 203.6962 17.1286 flops = 48

symbolic 203.6965 17.1289 flops = 40

>idyntest

TH =

THD =

THDD =

Lagrangian 286.4453 71.8239 flops = 48

symbolic 286.4456 71.8242 flops = 40

>idyntest

TH =

THD =

THDD =

Lagrangian 288.6881 46.6037 flops = 48

symbolic 288.6873 46.6029 flops = 40

>idyntest

TH =

THD =

THDD =

Lagrangian 393.3998 64.8382 flops = 48

symbolic 393.4007 64.8391 flops = 40

>idyntest

TH =

THD =

THDD =

Lagrangian 269.8307 23.6807 flops = 48

symbolic 269.8299 23.6799 flops = 40

>idyntest

TH =

THD =

THDD =

Lagrangian 57.9049 61.8500 flops = 48

symbolic 57.9066 61.8517 flops = 40

Din fericire, cele doua rutine dau aceleasi rezultate. Este de-a dreptul interesant ca diferentele sunt atat de mici (la a cincea sau a sasea zecimala). Explicatie este ca in codul generat in mod simbolic, cateva constante care sunt pre-calculate nu sunt scrise in cod cu cea mai mare percizie, ci doar cu o precizie de 5 zecimale. Aceasta ar explica micile diferente regasite aici.

Este, de asemenea, interesanta de notat eficienta codului generat simbolic, comparativ cu cel scris de mana. Codul scris manual ar putea sa fie putin modificat, pentru a se reduce greselile de calcul.

Un alt mod de a verifica ecuatia ar acela de a compara cu rezultatele date de functia rne0 din Robotics Toolbox.

Polinomul miscarii

Examinand cerintele functiei s a traiectoriei, se observaca pentru 6 conditii finale impuse, va trebui sa folosim un polinom de ordinul 5. Daca vom considera cei 6 coeficienti ai polinomului necunoscuti, putem inlocui cele 6 conditii finale cu 6 ecuatii care trebuie satisfacute de coeficienti. De fapt, aceasta se reduce la a obtine doar trei coeficienti, din moment ce trei dintre ei se obtin imediat folosind conditiile pentru t*=0. Polinomul rezultant este:

Unde:

O reprezentare a acestui polinom si ai derivatelor sale pentru deplasarea in 3 secunde, folosita in partea urmatoare:

Este de notat ca, desi aceleratia incepe si se termina la zero, rata de modificaer a acceleratiei in acest punct (cunoscut si sub numele de "smucitura") este discontinua. Aceasta poate cauza probleme la comanda miscarilor rapide, deoarece va genera vibratii la frecvente inalte in sistemul fizic. S-ar fi putut evita acest lucru daca s-ar fi olosit un polinom de ordinul 7.

Cuplurile articulatiilor

Avand toate datele la indemana, se poate calcula cuplurile cerute pentru articulatii, in cazul miscarii cerute. Un fisier Matlab (trajdyn.m) a fost scris in acest scop. Traiectoria incepe in punctul [teta1, teta2]=(30,-60) si se termina in (80,=30). Se poate, de asemenea, seta si valoarea lui Tseg.

Mai intai se calculeaza cuplul daca miscarea trebuie sa se realizeze in 3 secunde:

Este de notat faptul ca cea mai mare parte a cuplului ia nastere din termenii gravitationali. Ne putem imagina ca, daca miscarea este foarte lenta, nici un alt termen (inertial, coriolis etc.) nu va avea un efect prea mare..

Aceasta sse numeste miscare cvasi-statica, din moment ce doar cuplurile statice gravitationale sunt necesaer. Din acest motiv, controrelele robotului care compenseaza doar gravitatia au tendinta de lucra doar la viteza mica.

Vom repeta calculele astfel incat miscarea sa se realizeze in 1 secunda:

Se poate vedea ca sunt foarte importante cuplurile de inertie. Chiar si cuplurile coriolis si centripet sun tsuficient de mari, astfel ca ele nu pot fi neglijate. Cuplul maxim necesar amanduror articulatiilor este considerabil mai mare decat cel pentru o miscare realizata in 3 secunde. Robotii care se misca rapid au nevoie de actuatori foarte puternici.







Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate