5.6. Kinematyka odwrotna
W kinematyce prostej pokazano jak określać pozycję i
orientację końcówki roboczej w zależności od zmiennych przegubowych. Natomiast
kinematyka odwrotna polega na znalezieniu zmiennych przegubowych w zależności
od pozycji i orientacji końcówki roboczej. W ogólnym przypadku jest ono
trudniejsze niż zadanie kinematyki prostej ponieważ czasami nie istnieje
jednoznaczne rozwiązanie wynikające z nieliniowości równań kinematyki. Problem
kinematyki odwrotnej można przedstawić następująco. Dana jest jednorodna
macierz przekształcenia w postaci 4´4
(5.30):
(5.34)
należy
znaleźć (jedno lub wszystkie) rozwiązania równania:
(5.35)
gdzie
(5.36)
Równanie
(5.35) daje 12 nieliniowych równań z n niewiadomymi, które mogą być
zapisane jako:
(5.37)
gdzie Tij,
hij oznaczają 12 nieliniowych elementów macierzy,
odpowiednio Tn,0 i H. (Ponieważ dolne wiersze obu
macierzy Tn,0 i H wynoszą (0,0,0,1), więc spośród 16
równań reprezentowanych przez zależność (5.35) cztery są niewykorzystywane.
Podobnie
jak w przypadku kinematyki prostej istnieje kilka sposobów rozwiązywania tego
typu zagadnień w zależności od stopnia skomplikowania struktury manipulatora.
Tak więc można próbować rozwiązać zadanie geometrycznie lub analitycznie (bazując
na notacji DH).
|
Przykład
5.15
|

|
|
|
Wyznaczyć
współrzędne konfiguracyjne poszczególnych członów manipulatora 2-członowego
przedstawionego na rys.5.41. Dana jest długość członów manipulatora
odpowiednio a1, a2 oraz znane jest położenie chwytaka w
przestrzeni C=[x,y]
|
|
|
Rys.5.41
Manipulator 2-członowy
|
|
Rozwiązanie
Równania kinematyki prostej są najczęściej nieliniowe co
powoduje, że równania nie są proste do rozwiązania, a czasami nie istnieje
jednoznaczne ich rozwiązanie. Na przykład w przypadku dwuczłonowego mechanizmu
płaskiego może nie być w ogóle rozwiązania, gdy współrzędne (x,y) są poza
zasięgiem manipulatora.
|

|

|
|
Rys.5.42
Rozwiązanie osobliwe
|
Rys.5.43
Współrzędne złączowe
|
Może
istnieć jedno rozwiązanie, jeśli manipulator ma całkowicie wyprostowane
ramiona. Gdy współrzędne (x,y) mieszczą się w zasięgu manipulatora, mogą
istnieć dwa rozwiązania, tak jak to pokazano na rys.5.42, czyli konfiguracje
"łokieć do góry" i "łokieć w dół". Rozwiązując to zadanie metodą geometryczną
można zapisać (rys.43):
Wykorzystując
prawo sinusów zapisano:

następnie
można napisać iż pierwsza współrzędna złączowa ma postać:

gdzie:
uwaga!:
należy zaznaczyć iż kąt a jest
związana z wartością funkcji tangens w odpowiedniej ćwiartce układu
współrzędnych.
ostatecznie
q1 można zapisać w postaci:

Wykorzystując
prawo cosinusów zapisanoq2 w postaci:

Analizując
powyższe rozwiązanie można stwierdzić iż rozwiązując zadanie odwrotne
kinematyki dla tego 2-członowego manipulatora można otrzymać kilka rozwiązań
(rys.42). Poniżej w tabeli 5.21 zamieszczono kod w programie MapleTM
umożliwiający rozwiązanie powyższego przykładu.
|
>
|
restart:
|
|
>
|
equation_1:=(sin(beta))/a[2]=(sin(Pi-theta[2]))/(x^2+y^2)^(1/2);
|
|
>
|
beta:=solve(equation_1,beta);
|
|
>
|
equation_2:=tan(alpha)=y/x;
|
|
>
|
alpha:=solve(equation_2,alpha);
|
|
>
|
theta[1]:=beta+alpha;
|
|
>
|
equation_3:=(x^2+y^2)=a[1]^2+a[2]^2-2*a[1]*a[2]*cos(Pi-theta[2]);
|
|
>
|
theta[2]:=simplify((solve(equation_3,theta[2])),trig);
|
Tabela
5.21 Zapis funkcji w programie MapleTM dla rozwiązania graficznego.
Istnieje
możliwość rozwiązania kinematyki odwrotnej również w sposób analityczny
wykorzystując odpowiednie zależności trygonometryczne lub wykorzystanie Notacji
Denavita-Hartenberga. Poniżej przedstawiono sposób rozwiązania analitycznego
manipulatora 2-członowego wykorzystując Notację DH oraz program do obliczeń
symbolicznych MapleTM.
Aby
rozwiązać kinematykę odwrotną z wykorzystaniem Notacji DH (zależności 5.34,
5.35, 5.36, 5.37) należy wykorzystać macierz T2,0 otrzymaną dla tego
manipulatora z zadania prostego kinematyki (przykład 5.9):

następnie
znając pozycję i orientację końcówki efektora w przestrzeni porównać
odpowiednie komórki w macierzy T2,0. W analizowanym przypadku znana
jest pozycja efektora C (x,y) oraz widać z macierzy T2,0, iż układ
posiada 2 stopnie swobody, tak więc wystarczy wykorzystać 2 równania aby
wyznaczyć współrzędne złączowe.


tak
przygotowany układ równań należy rozwiązać np. w programie do obliczeń
symbolicznych MapleTM tak jak przedstawiono to w tabeli 5.22.
|
>
|
restart:
|
|
>
|
T[2,0]:=matrix([[cos(theta[1]+theta[2]),-sin(theta[1]+theta[2]),
0,a[2]*cos(theta[1]+theta[2])+cos(theta[1])*a[1]],
[sin(theta[1]+theta[2]),cos(theta[1]+theta[2]),0,a[2]*sin(theta[1]+theta[2])+sin(theta[1])*a[1]],[0,0,1,0],[0,0,0,1]]);
|
|
>
|
equ_1:=subs({theta[2]=theta_2,theta[1]=theta_1},T[2,0][1,4])=x;
|
|
>
|
equ_2:=subs({theta[2]=theta_2,theta[1]=theta_1},T[2,0][2,4])=y;
|
|
>
|
evalf(solve({equ_1,equ_2},{theta_1,theta_2}));
|
Tabela
5.22 Zapis funkcji w programie MapleTM dla rozwiązania
analitycznego.
W celu interpretacji rozwiązania zadania odwrotnego
kinematyki dla przykładu 5.15 przyjęto parametry konstrukcyjne a1=0.1
[m], a2=0.2 [m]. Natomiast pozycja w przestrzeni została określona
przez współrzędne x=0.2 [m], y=0.1 [m].
Wykonując
obliczenia z wykorzystaniem programu MapleTM (Tabela 5.22)
otrzymano następujące rozwiązanie:

Otrzymane rozwiązanie należy poddać interpretacji
geometrycznej. Wynik pierwszy jest osiągalny przez analizowaną strukturę i jest
to prawidłowe rozwiązanie przykładu, natomiast wynik 2 jest rozwiązaniem
osobliwym czyli niemożliwym do osiągnięcia z punktu widzenia geometrycznego.
|
Przykład
5.16
|

|
|
|
Wyznaczyć
współrzędne konfiguracyjne poszczególnych członów manipulatora 2-członowego
przedstawionego na rys.5.44. Dana jest długość członów manipulatora
odpowiednio a1, d3 oraz znane jest położenie chwytaka w
przestrzeni C=[x,y]
|
|
|
Rys.5.44
Manipulator 2-członowy
|
|
Rozwiązanie
Podobnie
jak w przykładzie 5.15 zaprezentowano rozwiązanie analityczne oparte na notacji
Denavita-Hartenberga:



tak
przygotowany układ równań należy rozwiązać np. w programie do obliczeń
symbolicznych MapleTM tak jak przedstawiono to w tabeli 5.23.
|
>
|
restart:
|
|
>
|
T[3,0]:=
matrix([[sin(theta[1]),0,cos(theta[1]),
cos(theta[1])*d[3]+cos(theta[1])*a[1]],[-cos(theta[1]),
0,sin(theta[1]),sin(theta[1])*d[3]+sin(theta[1])*a[1]],[0,-1,0,
0],[0,0,0,1]]);
|
|
>
|
equ_1:=T[3,0][1,4]=x;
|
|
>
|
equ_2:=T[3,0][2,4]=y;
|
|
>
|
evalf(solve({equ_1,equ_2},{d[3],theta[1]}));
|
Tabela
5.23 Zapis funkcji w programie MapleTM dla przykładu5.16.
W celu interpretacji rozwiązania zadania odwrotnego
kinematyki dla przykładu 5.16 przyjęto parametry konstrukcyjne a1=1
[m]. Natomiast pozycja w przestrzeni została określona przez współrzędne x=1.5
[m], y=0 [m].
Wykonując
obliczenia z wykorzystaniem programu MapleTM (Tabela 5.23)
otrzymano następujące rozwiązanie:

Otrzymane rozwiązanie należy poddać interpretacji
geometrycznej. Wynik drugi jest osiągalny przez analizowaną strukturę i jest to
prawidłowe rozwiązanie przykładu, natomiast wynik 1 jest rozwiązaniem osobliwym
czyli niemożliwym do osiągnięcia z punktu widzenia geometrycznego.
|