• Nie Znaleziono Wyników

Zadanie odwrotne kinematyki - przegląd metod

N/A
N/A
Protected

Academic year: 2021

Share "Zadanie odwrotne kinematyki - przegląd metod"

Copied!
15
0
0

Pełen tekst

(1)

Zadanie odwrotne kinematyki - przegląd metod

Aleksandra Gumieniak

12 listopada 2018

(2)

1 Wstęp

W kinematyce prostej pokazano jak określać pozycję i orientację końcówki ro- boczej w zależności od zmiennych przegubowych. Natomiast kinematyka od- wrotna 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.

(3)

2 Zadanie odwrotne kinematyki

Zadanie odwrotne kinematyki polega na określeniu zestawu wartości współ- rzędnych konfiguracyjnych na podstawie zadanej pozycji i orientacji układu wsp´łrzędnych końcówki roboczej względem układu podstawowego.

T60→ q

Zadanie odwrotne kinematyki może mieć kilka rozwiązań w przestrzeni zmien- nych konfiguracyjnych (np. cztery).

Istnieją także wyjątkowe przypadki, które mają miejsce w tzw. punktach oso- bliwych odwzorowania kinematyki.

Osobliwości

1. Osobliwości reprezentują konfiguracje, których pewne kierunki mogą być nieosiągalne.

2. W osobliwościach ograniczone prędkości chwytaka mogą odpowiedać nie- ograniczonym prędkościom przegubów.

3. W osobliwościach ograniczone siły i momenty na chwytaku mogą odpo- wiadać nieograniczonym momentom w przegubach.

4. Zwykle (ale nie zawsze) osobliwości odpowiadają punktom na brzegu prze- strzeni roboczej manipulatora, tzn. punktom jego maksymalnego zasięgu.

5. Osobliwości odpowiadają punktom w przestrzeni roboczej manipulatora, które mogą być nieosiągalne przy małych niedokładnościach parametrów członu manipulatora, takich jak długość, przesunięcie poprzeczne itp.

6. W pobliżu osobliwości nie isnieje jednoznaczne rozwiązanie zadania kine- matyki odwrotnej. W takich przypadkach może nie być rozwiązania lub też może istnieć ich nieskończenie wiele.

3 Metody kinematyki odwrotnej

Strategie rozwiązań:

a) rozwiązania w postaci jawnej:

- metoda geometryczna,

- metody algebraiczne (przez podstawianie, przez redukcję do wielomianu), b) rozwiązania numeryczne:

- z wykorzystaniem jakobianu,

- algorytmu iteracyjnego rozwiązywania zadania odwrotnego kinematyki:

• Metoda Newtona-Raphsona,

(4)

4 Rozwiązania w postaci jawnej

4.1 Metoda algebraiczna

4.1.1 Przez podstawienie

Rysunek 1: Trójczłonowy manipulator płaski αi-1 ai-1 di θi-1

1 0 0 0 θ1

2 0 l1 0 θ2

3 0 l2 0 θ3

Tablica 1: Parametry D-H Gdzie:

ai-1 - odległość od osi ˆZi do ˆZi+1 mierzona wzdłuż osi ˆXi

αi - kąt między osiami ˆZi i ˆZi+1 mierzona wokół osi ˆXi

di - odległość od osi ˆXi−1do ˆXimierzona wzdłuż osi ˆZi

θi - kąt między osiami ˆXi−1i ˆXi mierzona wokół osi ˆZi

B

WT =03T =

c123 −s123 0 l1c1+ l2c12

s123 c123 0 l1s1+ l2s12

0 0 1 0

0 0 0 1

(1)

Ponieważ zajmujemy się manipulatorem płaskim, punkty docelowe mogą być łatwo wyszczególnione przez podanie trzech liczb: x,y,φ, gdzie φ jest orientacją członu na 3 na płaszczyźnie (względem osi ˆX). Zatem zamiast podawać dowolne

B

WT jako specyfikację celu, przyjmujemy przekształcenie o strukturze:

B WT =

cφ −sφ 0 x sφ cφ 0 y

0 0 1 0

0 0 0 1

(2)

(5)

Przyrównując (1) i (2) dochodzimy do układu czterech nieliniowych równań, które trzeba rozwiązać względem θ1, θ2, θ3:

cφ= c123 (3)

sφ = s123 (4)

x = l1c1+ l2c12 (5)

y = l1s1+ l2s12 (6)

Jeśli podniesiemy do kwadratu równania (5) i (6) i dodamy je stronami, otrzy- mamy:

x2+ y2= l12+ l22+ 2l1l2c2 (7) gdzie wykorzystujemy:

c12= c1c2− s1S2 (8)

s12= c1s2+ s1c2 (9)

Rozwiązując (7) względem c2 otrzymujemy:

c2= (x2+ y2− l21− l22)

2l1l2 (10)

Ponieważ cosinus przyjmuje wartości od -1 do 1 prawa strona musi się zawierać w tym zakresie. Przyjmując, że cel znajduje się w przestrzeni roboczej napi- szemy wyrażenie na s2 jako:

s2= ± q

(1 − c22) (11)

Wybór znakó we wzorze (11) odpowiada wielokrotności rozwiązań, z których możemy wybrać konfigurację ”łokieć u góryalbo ”łokieć u dołu”.,

Ostatecznie obliczamy θ2

θ2= Atan2(s2, c2) (12)

Mając znalezione θ2 możemy rozwiązać równania (5) i (6) względem θ1. Zapi- sujemy (5) i (6) w postaci:

x = k1c1− k2s1 (13)

y = k1s1− k2c1 (14)

gdzie

k1= l1+ l2c2 (15)

k2= l2s2 (16)

W celu rozwiązania równania tej postaci dokonujemy zamiany zmiennych. Obec- nie zmieniamy sposób, w jaki zapisujemy stałe k1 i k2.

(6)

Jeśli r = +pk12+ k22 i γ = Atan2(k1, k2) to k1= rcosγ, k2= rsinγ

Równania (13) i (14) mogą być teraz zapisane w postaci:

x

r = cosγcosθ1− sinγsinθ1 (17)

y

r = cosγsinθ1− sinγcosθ1 (18)

lub

cos(γ + θ1) =x

r (19)

sin(γ + θ1) = y

r (20)

Stosując dwuargumentowy arctg dostajemy:

γ + θ1= Atan2(y r,x

r) = Atan2(y, x) (21)

i także

θ1= Atan2(y, x) − Atan2(k2, k1) (22) Ostatecznie możemy znaleźć sumę kątów θ1 do θ3

θ1+ θ2+ θ3= Atan2(sφ, cφ) = φ (23) z której możemy wyznaczyć θ3 ponieważ znamy pozostałe dwa kąty.

4.1.2 Przez redukcję do wielomianu

W celu uproszczenia zapisu np. zmiennej θ, która na ogół występuje jako sinθ i cosθ, możemy zastosować podstawienie zmiennej u:

u = tgθ

2 (24)

cosθ = 1 − u2

1 + u2 (25)

sinθ = 2u

1 + u2 (26)

stosując te podstawienia równaniaprzestępne przekształca się w rówania wielo- mianowe względem u.

(7)

Przykład:

Zadanie: Przekształcić równanie przestępne w wielomian z tangensem kąta po- łówkowego i rozwiązać względem θ.

acosθ + bsinθ = c (27)

Podstawiając z (24),(25),(26) i mnożąc przez 1 + u2 otrzymamy:

a(1 − u2) + 2bu = c(1 + u2) (28) Ułożenie względem potęg zmiennej u daje równanie kwadratowe:

(a + c)u2− 2bu + (c − a) = 0 (29) które rozwiązujemy stosując wzory na pierwiastki:

u = b ±√

b2− a2− c2

a + c (30)

Stąd:

θ = 2arctg(b ±√

b2− a2− c2

a + c ) (31)

Jeżeli rozwiązanie na u wz wzoru (30) jest zespolone, to nie ma rzeczywistego rozwiązania wyjściowego równania przestępnego. Jeśli a + c = 0, to wartość argumentu funkcji arctg zmierza do nieskończoności, dlatego θ = π rad.

4.2 Metoda geometryczna

Metoda geometryczna zadania kinematyki odwrotnej polega glównie na zasto- sowaniu twierdzenia kosinusów do wyznaczenia kąta θ2.

Rysunek 2: Płaskie zależności geometryczne związane z trójczłonowym robotem płaskim

Na rys. 2 pokazano trójkąt utworzony przez l1, l2 oraz prostą łączącą początek układu (0) z początkiem układu (3). Liniami przerywanymi zaznaczono inną

(8)

możliwą konfigurację trójkąta, która prowadziłaby do tego samego położenia układu (3). Rozpatrując stały trójkąt, możemy zastosować tiwerdzenie kosinu- sów do wyzanaczenia θ2.

x2+ y2= l21+ l22− 2l1l2cos(π + θ2) (32) Ponieważ cos(π + θ2) = −cosθ2, mamy:

c2= x2+ y2− l21− l22 2l1l2

(33)

Aby ten trójkąt istniał, odległość punktu docelowego r = p

x2+ y2 musi być mniejsza lub równa sumie długości członów l1+l2.Równaine ma więc rozwiązanie dla θ2 między 0 i −π. Inne możliwe rozwiązanie (zaznaczone linią przerywaną) może być znalezione przez symetrię jako θ02= −θ2.

Aby wyznaczyć θ1, znajdujemy wyrażenia dla kątów ψ i β, pokazanych na rys.2 . Ponieważ β może być w każdej ćwiartce zależnie od znaków x i y, musimy użyć dwuargumentowej funkcji arctg:

β = Atan2(y, x) (34)

Znów stosujemy twierdzenie kosinusów w celu znalezenia ψ:

cosψ = x2+ y2+ l12− l22 2l1p

x2+ y2 (35)

Otrzymujemy:

θ1= β ± ψ (36)

Gdzie znak + gdy θ1< 0, a znak - , gdy θ2> 0

Wiemy, że kąty na plaszczyźnie się dodają, więc suma trzech kątów obrotu przegubów musi być orientacją ostatniego członu:

θ1+ θ2+ θ3= φ (37)

W celu uzupełnienia zadania równianie to naleźy rozwiązać względem θ3.

(9)

5 Rozwiązania numeryczne

5.1 Z wykorzystaniem jakobianu

Jakobian analityczny definiuje się jako macierz pochodnych cząstkowych kine- matyki manipulatora wyrażonej we współrzędnych:

Ja(θ) = ∂f (θ)

∂θ (38)

Poza jakobianem analitycznym definiujemy również jakobiany geometryczne. Do tej grupy jakobianów należą: jakobian geometryczny w przestrzeni, rozumiany jako przekształcenie wektora prędkości zmiennych przegubowych w wektor pręd- kości efektora w przestrzeni

 vs

ws



= Js(q) ˙q (39)

oraz jakobian geometryczny w ciele, zdefiniowany jako przekształcenie wektora prędkości zmiennych przegubowych w wektor prędkości efektora w ciele

 vb wb



= Jb(q) ˙q (40)

Jakobian manipulatora jest rozumiany jako macierz przekształcenia prędkości ruchu w przegubach w prędkość liniową efektora względem układu podstawo- wego i prędkość kątową efektora w przestrzeni

 T˙0n ws



= Jm(q) ˙q (41)

Dla jakobianu geometrycznego w przestrzeni definiujemy kolejne jego kolumny osobno dla przegubu obrotowego, osobno dla przesuwnego. Dla i -tego przegubu obrotowego i -ta kolumna jakobianu geometrycznego jest nastepująca:

Jis(q) =

 T0i−1(qi−1) × Ri−103kol(qi−1) Ri−103kol(qi−1)



(42)

natomiast dla i -tego przegubu przesuwnego i -ta kolumna ma posta’c Jis(q) =

 Ri−103kol(qi−1) 0



(43) Element Ri−103kol(qi−1) oznacza trzecią kolumnę macierzy Ri−10 (qi−1) występują- cej w transformacji:

Ai−10 (qi−1) =

 Ri−10 qi−1 T0i−1qi−1

0 1



(44) Dla jakobianu geometrycznego w ciele można przedstawić podobne definicje, aczkolwiek prościej jest skorzystać z jakobianu Js(q) i zależności

Jb(q) =

 Rn0T(q) −Rn0T(q)[T0n(q)]

0 Rn0T(q)



Js(q) (45)

(10)

5.2 Z wykorzystaniem algorytmu iteracyjnego rozwiązy- wania zadania odwrotnego kinematyki

Algorytm: 1. Ustawić i=0.

2. Znaleźć q(0).

3. Obliczyć residuum δT (Q(i)) = J (q(i))(i) 4. Obliczyć q(i+1)= q(i)+ J−1(q(i))δT (q(i)) 5.Obliczyć dla i=i+1 od kroku 3.

Tolerancja błędu:

q(i+1)− q(i)<  lub

J − I <  Przykład: Dla planarnego manipulatora 2R.

Dane:

 X Y



=

 l11+ l2c(θ1+ θ2) l11+ l2s(θ1+ θ2)



(46) Rozwiązanie:

q =

 θ1

θ2



(47) T =

 X Y



(48) Otrzymujemy Jakobian:

J (q) =h ∂T

i

∂qj

i

=

" ∂X

∂θ1

∂X

∂θ2

∂Y

∂θ1

∂y

∂θ2

#

=

 −l1sinθ1− l2sin(θ1+ θ2) −l2sin(θ1+ θ2) l1cosθ1+ l2cos(θ1+ θ2) l2cos(θ1+ θ2)



(49) Odwrotność otrzymanego Jakobianu:

J−1 = −1 l1l22

 −l2c(θ1+ θ2) −l2s(θ1+ θ2) l11+ l2c(θ1+ θ2) l11+ l2s(θ1+ θ2)



(50) Formuła itaracji:

 θ1

θ2

(i+1)

=

 θ1

θ2

(i) +

 X Y



 X Y

(i)!

(51)

Załóżmy, że

l1= l2 = 1 (52)

T =

 X Y



=

 1 1



(53) Zacznijmy od wartości domyślnej

q(0)=

 θ1

θ2

(0)

=

 π/3

−π/3



(54)

(11)

dla której:

δT =

 1 1



 cosπ/3 + cos(π/3 + (−π/3)) sinπ/3 + sin(π/3 + (−π/3))



=

 1 1



 3 12 2

3



=

 12

12 3 + 1

 (55) Jakobian i jego odwrotność

J =

 12 3 0

3

2 1



(56)

J−1=

 23 3 0

3 1



(57)

 θ1

θ2

(1)

=

 θ1

θ2

(0)

+J(−1)δT =

 π/3

−π/3

 +

 23 3 0

3 1

  12

12 3 + 1



=

 1.6245

−1.7792

 (58)

Iteracja 1.

J =

 12 3 0

3

2 1



(59)

δT =

 12

12 3 + 1



(60)

q(1)=

 1.6245

−1.7792



(61) Iteracja 2.

J =

 −0.844 0.154 0.934 0.988



(62) δT =

 6.516 × 10−2 0.15553



(63) q(1) =

 1.583

−1.582



(64) Iteracja 3.

J =

 −1.00 −0.433 × 10−3 0.988 0.999



(65) δT =

 0.119 × 10−1

−0.362 × 10−3



(66) q(1) =

 1.570795886

−1.570867014



(67) Iteracja 4.

J =

 −1.00 0.0 × 10−3 0.98850 1.0



(68) δT =

 0.438 × 10−6

−0.711 × 10−4



(69) q(1) =

 1.570796329

−1.570796329



(70)

(12)

Wyniki iteracji q(4) są bliskie dokładnemu wynikowi, który wynosi:

q =

π/2 −π/2 T

(71) .

5.2.1 Metoda Newtona-Raphsona

Metodę zailustrowano dla funkcji zmiennej f(x). Jak w każdej metodzie nume- rycznej, wymagane jest oszacowanie przybliżonej wartości x(1) poszukiwanego pierwiastka x0(f (x0) = 0). Niech przybliżona (oszacowana) wartość wynosi x(1) (rys. 3). Wtedy za pomocą linearyzacji funkcji f(x) w punkcie x(1) można przy- jąć, że funkcja w punkcie x(2)= x(1)+4x, ma postać:

f (x(2)) = f (x(1)+ df

dx|x(1)4 x (72)

Wówczas punkt przecieęcia stycznej t z osią odciętych (x), oddalony od x(1) o wartość 4x , wyznacza się z zależności:

0 = f (x(1)) + df

dx|x(1)4 x → 4x =−f (x(1))

df dx|x(1)

(73)

Kolejna wartość pierwiastka x(2) funkcji f (x) wynosi:

x(2)= x(1)+ 4x (74)

Następnym krokiem jest wyznaczenie wartości funkcji dla kolejnych wartości pierwiastka x(2) - sprawdzeniu warunku:

|f (x(2))| ¬  (75)

Rysunek 3: Idea metody Newtona-Raphsona

Przykład: Rozpatrzmy układ kinematyczny o ruchliwości dwa (rys. 4), któ- rego zadanie polega na przemieszczeniu punktu M po założonej trajektorii µM. Zadanie polega na wyznaczeniu konfiguracji układu, zwłaszcza współrzędnych punktu M, którą zajmie układ dla znanych wartości wymuszeń q1i q2. Według przyjętych na rys. 4 oznaczeń obowiązuje równanie wektorowe:

a + b − c − q2= 0 (76)

(13)

które skutkuje dwoma równaniami nieliniowymi (rzuty na osie układu współ- rzędnych) o postaci:

f1= acosq1+ bcosx1− c − q2cosx2= 0 (77) f2= asinq1+ bsinx1− q2sinx2= 0 (78) Dla uogólnienia metody funkcje f1i f2można zapisać łącznie jako F = [f 1f 2]T,

Rysunek 4: Generator trajektorii o ruchliwości dwa a w rozpatrywanym układzie jako:

F (q1, q2, x1, x2) = 0 (79) przy czym:

• q1, q2 - zmienne niezależne (znane wymuszenia),

• x1, x2 - zmienne zależne (niewiadome),

a pozostałe wielkości są stałe. Analogicznie do zależności (72) w przypadku układu równań F(x) wielu zmiennych mamy:

F (x(i+1)) = F (x(i)) +δF

δx|x(i)4 x (80)

Poprawkę 4x określa zależność:

0 = F (x(i)) +δF

δx|x(i)4 x → 4x =

 4x1 4x2



= − δF

δx|x(i)

−1

F (x(i)) (81) Poprawka oszacowanego wektora rozwiązania prowadzi do nowej wartości:

x(i+1)= x(i)+ 4x (82)

Potrzebny w obliczeniach jakobian wyznacza się z zależności:

δF δx =

" δf

1

δx1 δf1 δx2 δf2

δx1

δf2

δx2

#

(83)

W przypadku omawianego przyk´ladu (rys. 4) jakobian ma posatć:

δF δx =

 −bsinx1 q2sinx2

bcosx1 −g2cosx2



(84)

(14)

Zgodnie z (81) mamy:

 4x1

4x2



=

 −bsinx1 q2sinx2

bcosx1 −q2cosx2



|−1x(i)

 f1(x(i)) f2(x(i))



(85) i kolejne przybliżenie pierwiastka z zależności (82). Współrzędne punktu M w przyjętym układzie współrzędnych, dla wartości zmiennych zależnych x1 oraz x2wyznacza się z zależności:

xM = acosq1+ dcos(x1+ β) (86) yM = asinq1+ dsin(x1+ β) (87) Patrząc na podany wyżej przykład widać, że łatwo tę metodę uogólnić na przy- padki układów o wielu niewiadomych - zależności (81)(82)(83) są ogólne.

(15)

Literatura

[1] Craig, J. J.: Wprowadzenie do robotyki. Mechanika i sterowanie., Warszawa, WNT, 1995

[2] Spong M.W., Vidyasagar M.: Dynamika i sterowanie robotów., Warszawa, WNT, 1997

[3] Kozłowski K., Dutkiewicz P., Wróblewski W.: Modelowanie i sterowanie robotów., Wydawnictwo Naukowe PWN, Warszawa 2003.

[4] Morecki A., Knapczyk J.: Podstawy robotyki. Teoria i elementy manipula- torów i robotów., WNT, Warszawa 1999.

[5] Tochoń K., Mazur A., Hossa R., Dulęba I., Muszyński R.: Manipulatory i roboty mobline., Warszawa, Akademicka Oficyna Wydawnicza PLJ, 2000 [6] Gracia L., Tornero J.: Tracking Trajectories with a Robotic Manipulator

with Singularities., LNCS, 4729 (2007), 595-605.

Cytaty

Powiązane dokumenty

[r]

Rys. Baran, Konstrukcja manipulatora rehabilitacyjnego dla osób po endoprotezoplastyce stawu kolanowego, praca magisterska, Gliwice, 2015.. 19), osoba rehabilitowana może

Przedstaw ione tu rów nania są także podstaw ą do wyznaczenia analitycznych rozw iązań zadania odw ro tn eg o kinem atyki, które um ożliw ia obliczanie wartości zadanych

Poniżej zostanie przedstawiony przykład symulacji sterowania ruchem manipulatora robota przemysłowego IRb-6 wykorzystujący drugą z koncepcji sterowania przedstawionych

W celu określenia siłowników głównych manipulatora antropo- morficznego przyjęto, że za ich pośrednictwem możliwe jest wykona- nie trzech prostoliniowych ruchów

W niniejszej pracy przedstawiono zastosowanie metody roju cząstek (PSO - Particle Swarm Optimization) i kilku wariantów metody planowania ścieżki (RRT -

Na podstawie przeprowadzonych badań można zweryfi- kować poprawność dobranych napędów poszczególnych członów analizowanego obiektu. Jeśli wartość obliczone- go

Identyfikacja nieliniowych układów dynamicznych z zastosowaniem sieci neuronowych zwykle sprowadza się do dwóch kroków: w pierwszym kroku wybiera się strukturę