18
1. Wolfram Mathematica
Gravity vector: |
[0, g, 0] | |
Link mas 1 ml 2 m2 com vector |
s | |
[-11/2., 0, |
0] | |
[-12/2., 0, |
0] | |
Inertia [1] |
= | |
1 (1/3)11- |
2 ml |
0 0 1 |
1 0 |
0 0 1 | |
1 0 |
0 0 | | |
Inertia [2] |
= | |
1 (1/3)12- |
2 m2 |
0 0 1 |
1 0 |
0 0 1 | |
1 0 |
0 0 1 |
Aby możliwe było modelowanie kinematyki robota, konieczne jest wywołanie funkcji ELDynamics[], która wyliczy macierze A [i], będące odpowiednikami macierzy przekształceń A\_x algorytmu Denavita-Hartenberga [4]. Wyznaczone także zostaną macierze T[j,k], będące odpowiednikami macierzy przekształceń Aj (dla j = 0...n — 1, k = j + 1... n) oraz jakobian manipulatora J.
Macierz T[0,2], której wygenerowanie opisano powyżej, umożliwia przekształcanie wektorów z przestrzeni przegubowej do przestrzeni zadaniowej. Polecenie
T[0,2]//MatrixForm
pozwala na obejrzenie tej macierzy. Jej postać dla rozpatrywanego robota podano poniżej
' Cos[ql + q2] —Sin[ql + q2] 0 llCos[ql] + 12Cos[ql + q2] >
Sin[ql + q2] Cos[ql + q2] 0 llSin[ql] + 12Sin[ql + q2] , .
Zatem dla zadanej trajektorii przegubowej q(t) możliwe jest wyznaczenie trajektorii efek-tora y(t). Sposób takiego przekształcenia trajektorii pokazano na wydruku 1.4.
Wydruk 1.4. Proste zadanie kinematyki dla dwuwahadła sztywnego
11=3;12=1/2;
ql = 1/5 t; q2 =l/2t;
T[0,2][[;;,4]]//MatrixForm
Plot [-CT [0,2] [[1 ,4]] ,T[0,2] [[2,4]]},{t ,0,10},
PlotStyle->Thick ,AxesLabel->{"t" , " yl , uy2"}]
Parametr i cP lot [{T [0,2] [[1,4]] , T [0,2] [[2,4]]},
{t ,0,10} , Axes0rigin ->{0,0} , Plot Rangę ->A11 , AspectRatio->l,PlotStyle->Thick,AxesLabel->{"yl" , 11 y2"}]