6.4. Dynamika odwrotna
W zadanie odwrotnym dynamiki należy wyznaczyć parametry
związane z ruchem manipulatora będącego pod działaniem sił i momentów
napędowych, tzn. dany jest wektor t,
a należy wyznaczyć położenie, prędkości i przyspieszenia.
|
Przykład
6.3
|
|
Rozwiązać zadanie odwrotne dynamiki, czyli wyznaczyć
przemieszczenia, prędkości i przyspieszenia poszczególnych członów
występujące na dwuczłonowym manipulatorze z przykładu 6.1, mając następujące
dane:
masa
członu I m1=3 [kg], długość członu I l1=0.2[m],
|
|
moment
bezwładności I członu J1=0.38 [kg×m2], masa członu II m2=1.5 [kg], moment
bezwładności II członu J2=0.1 [kg×m2] oraz przyspieszenie ziemskie g=9.81 [m/s2].
W chwili początkowej człon II znajdował się w odległości l0=0.4 [m] od środka obrotu
manipulatora. Znane są przebiegi czasowe momentu występującego na członie I
oraz siły na członie II, zilustrowane na rys.6.7.
|
|
 
|
|
Rys.6.7
Przebiegi czasowe momentu dla członu I i siły dla członu II.
|
Rozwiązanie:
W celu
rozwiązania zadania odwrotnego dynamiki wykorzystano dynamiczne równania ruchu
wyznaczone dla przykładu 6.1, traktując analizowany układ jako zachowawczy, w
postaci przekształconej względem drugich pochodnych:


Do obliczeń wykorzystano program MapleTM, w
którym podstawiono dane liczbowe do równań i przygotowano je do symulacji w
środowisku programu MatlabTM-Simulink. Poniżej w tabeli 6.3
przedstawiono zapis funkcji w programie MapleTM umożliwiający
rozwiązanie zadania prostego dynamiki.
|
>
|
restart:
|
|
>
|
Digits:=2;
|
|
>
|
r1:=2*d(theta[1])*m[2]*lambda[2]*d(lambda[2])+(J[1]+m[1]*l[1]^2+J[2]+m[2]*lambda[2]^2)*d(d(theta[1]))+m[1]*g*l[1]*cos(theta[1])+m[2]*g*lambda[2]*cos(theta[1])=tau[1];
|
|
>
|
r2:=m[2]*d(d(lambda[2]))-m[2]*lambda[2]*d(theta[1])^2
+m[2]*g*sin(theta[1])=tau[2];
|
|
>
|
m[1]:=3;l[1]:=0.2;J[1]:=0.38;m[2]:=1.5;J[2]:=0.1;g:=9.81;
|
|
>
|
g:=9.81;
|
|
>
|
norma4:={tau[1]=u[1],tau[2]=u[2],theta[1]=u[3],d(theta[1])=u[4],lambda[2]=u[5],d(lambda[2])=u[6]};
|
|
>
|
solve(r1,d(d(theta[1])));
|
|
>
|
solve(r2,d(d(lambda[2])));
|
|
>
|
subs(norma4,solve(r1,d(d(theta[1]))));
|
|
>
|
subs(norma4,solve(r2,d(d(lambda[2]))));
|
Tabela
6.3 Zapis funkcji w programie MapleTM dla przykładu 6.3.
Wykorzystując
program MatlabTM-Simulink przygotowano układ rozwiązujący zadanie
odwrotne dynamiki, przedstawiony na rys.6.8.
|

|
|
Rys.6.8 Układ rozwiązujący zadanie odwrotne
dynamiki dla przykładu 6.3
|
|