PATRONI ROBOTYKI:
 

TEORIA ROBOTYKI

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):

http://www.robotyka.com/teoria/grafika/image445.gif

(5.34)

Należy znaleźć (jedno lub wszystkie) rozwiązania równania:

http://www.robotyka.com/teoria/grafika/image446.gif

(5.35)

Gdzie:

http://www.robotyka.com/teoria/grafika/image447.gif

(5.36)

Równanie (5.35) daje 12 nieliniowych równań z n niewiadomymi, które mogą być zapisane jako:

http://www.robotyka.com/teoria/grafika/image448.gif

(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 

http://www.robotyka.com/teoria/grafika/image338.gif

Rysunek 5.41 Manipulator 2-członowy

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.

 

http://www.robotyka.com/teoria/grafika/image449.gif

http://www.robotyka.com/teoria/grafika/image450.gif

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:

http://www.robotyka.com/teoria/grafika/image451.gif

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

http://www.robotyka.com/teoria/grafika/image452.gif

Gdzie:

http://www.robotyka.com/teoria/grafika/image453.gif

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:

http://www.robotyka.com/teoria/grafika/image454.gif

Wykorzystując prawo cosinusów zapisanoq2 w postaci:

http://www.robotyka.com/teoria/grafika/image455.gif

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):

http://www.robotyka.com/teoria/grafika/image456.gif

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.

http://www.robotyka.com/teoria/grafika/image457.gif

http://www.robotyka.com/teoria/grafika/image458.gif

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:  

http://www.robotyka.com/teoria/grafika/image459.gif

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

http://www.robotyka.com/teoria/grafika/image348.gif

Rys.5.44 Manipulator 2-członowy

 

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:

http://www.robotyka.com/teoria/grafika/image460.gif

http://www.robotyka.com/teoria/grafika/image461.gif

http://www.robotyka.com/teoria/grafika/image462.gif

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:  

http://www.robotyka.com/teoria/grafika/image463.gif

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.