5.6 Kinematyka odwrotna
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, hijoznaczają 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]
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.
|
|
|
|
Rysunek 5.42 Rozwiązanie osobliwe |
Rysunek 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. 5.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. 5.42). Poniżej 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);
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 np. Maple. Zapis funkcji w tym programie przedstawiono poniżej.
> 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}));
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 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]
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 Maple. Kod przedstawiono poniżej.
> 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]}));
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 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.
Zobacz też:


















