To pytanie jest stare, ale odpowiem mimo wszystko, ponieważ jest to coś, o czym myślałem, ale nigdy nie doszło do realizacji.
Złącza obrotowe bez ograniczeń są nazywane przegubami kulowymi lub przegubami kulistymi; mają 3 stopnie swobody. Możesz także użyć formuły w samouczku dla połączeń sferycznych, jeśli sparametryzujesz każde połączenie sferyczne w kategoriach 3 obrotowych (obrotowych) połączeń o jednym stopniu swobody. Na przykład: Niech N
będzie liczbą złączy sferycznych. Załóżmy, że każde złącze posiada lokalne przemiany T_local[i]
i przekształcenie świata
T_world[i] = T_local[0] * ... * T_local[i]
Let R_world[i][k]
, k = 0, 1, 2
, bądź K p kolumna macierzy rotacji T_world[i]
. Określenie 3 * N
osie przegubów w
v[3 * j + 0] = R_world[i][0]
v[3 * j + 1] = R_world[i][1]
v[3 * j + 2] = R_world[i][2]
Oblicz jakobian J
pewnego końca efektora s[i]
pomocą wzoru z przewodnika. Wszystkie współrzędne znajdują się w ramce świata.
Stosowanie na przykład metody pseudo-odwrotnej daje przesunięcie dq
, które przesuwa efektor końcowy w danym kierunku dx
.
Długość dq
to 3 * N
. Określić
R_dq[j] =
R_x[dq[3 * j + 0]] *
R_y[dq[3 * j + 1]] *
R_z[dq[3 * j + 2]]
do j = 0, 1, ..., N-1
, gdzie R_x
, R_y
, R_z
są macierze transformacji dla obrotu wokół x-
, y-
i z
-axes.
Aktualizacja lokalne transformacje:
T_local[j] := T_local[j] * R_dq[j]
i powtórz czynności od góry, aby przenieść końcowego efektora w innych kierunkach dx
.