Wykład5 - Kinematyka prosta i odwrotna

Transkrypt

Wykład5 - Kinematyka prosta i odwrotna
Kinematyka prosta i odwrotna
ES159/259
Przypomnienie: ruch ciała sztywnego
•
Ruch ciała sztywnego jest kombinacją obrotów i przesunięć
– Zdefiniowany przez macierz rotacji (R) i wektor przesunięcia (d)
– Grupa wszystkich takich par (d,R) jest znana jako Specjalna grupa
Euklidesowa (ang. Special Euclidean group, SE(3))
•
•
Można przedstawić ruch ciała sztywnego (obroty i przesunięcia) jako
odpowiednie operacje mnożenia macierzy
Mnożenie macierzy H jest znane jako transformaty homogeniczne:
•
⎡RT
H=⎢
⎣0
Transformacja odwrotna:
H
−1
d⎤
⎥
1⎦
⎡RT
=⎢
⎣0
− RT d ⎤
⎥
1 ⎦
ES159/259
Przypomnienie: transformacje homogeniczne
•
Transformacje podstawowe:
– Trzy czyste przesunięcia, trzy czyste obroty
⎡1
⎢0
Trans x ,a = ⎢
⎢0
⎢
⎣0
⎡1
⎢0
Trans y ,b = ⎢
⎢0
⎢
⎣0
⎡1
⎢0
Trans z,c = ⎢
⎢0
⎢
⎣0
0 0 a⎤
1 0 0⎥⎥
0 1 0⎥
⎥
0 0 1⎦
0 0 0⎤
1 0 b ⎥⎥
0 1 0⎥
⎥
0 0 1⎦
0 0 0⎤
1 0 0⎥⎥
0 1 c⎥
⎥
0 0 1⎦
0
⎡1 0
⎢0 c − s
α
α
Rot x ,α = ⎢
⎢0 sα cα
⎢
0
⎣0 0
⎡ c β 0 sβ
⎢ 0
1 0
Rot y ,β = ⎢
⎢− s β 0 c β
⎢
0 0
⎣ 0
⎡cγ − sγ 0
⎢s
cγ 0
Rot z,γ = ⎢ γ
⎢0
0
1
⎢
0 0
⎣0
ES159/259
0⎤
0⎥⎥
0⎥
⎥
1⎦
0⎤
0⎥⎥
0⎥
⎥
1⎦
0⎤
0⎥⎥
0⎥
⎥
1⎦
Przykład
•
Kąty Eulera : przedstawiliśmy kąty Eulera ZYZ. Jaki jest zbiór
wszystkich możliwych kątów Eulera, który może być użyty do
reprezentacji dowolnej macierzy obrotu?
– XYZ, YZX, ZXY, XYX, YZY, ZXZ, XZY, YXZ, ZYX, XZX, YXY, ZYZ
– ZZY nie może być użyty do opisu dowolnej macierzy obrotu ponieważ dwa
kolejne obroty względem osi Z mogą być złożone w jeden obrót
ES159/259
Przykład
•
Obliczyć transformatę homogeniczną reprezentującą przesunięcie o 3
jednostki wzdłuż osi x, następnie rotację o π/2 względem bieżącej osi z
oraz przesunięcie jednostkowe wzdłuż ustalonej osi y
T = Ty ,1Tx ,3Tz ,π / 2
⎡1
⎢0
=⎢
⎢0
⎢
⎣0
0
1
0
0
⎡1 − 1
⎢1 0
=⎢
⎢0 0
⎢
⎣0 0
0
0
1
0
0⎤ ⎡1
1⎥⎥ ⎢⎢0
0 ⎥ ⎢0
⎥⎢
1 ⎦ ⎣0
0
1
0
0
0
0
1
0
3⎤ ⎡ 0 − 1
0⎥⎥ ⎢⎢1 0
0 ⎥ ⎢0 0
⎥⎢
1 ⎦ ⎣0 0
0 3⎤
0 1⎥⎥
1 0⎥
⎥
0 1⎦
ES159/259
0
0
1
0
0⎤
0⎥⎥
0⎥
⎥
1⎦
Kinematyka prosta - wprowadzenie
•
Zadanie: mając dane wszystkie parametry złączowe manipulatora,
znaleźć pozycję i orientację układu narzędzia (ang. tool frame)
– Układ narzędzia: układ współrzędnych związany z najdalszym elementem
manipulatora
– Układ odniesienia, ukł. bezwładny (ang. inertial frame): ustalony
(nieruchomy) system współrzędnych związany z najbliższym elementem
manipulatora
•
Zatem, chcemy znaleźć odwzorowanie pomiędzy ukł. narzędzia a ukł.
odniesienia
– Będzie to funkcja zależna od wszystkich parametrów złączowych i
fizycznych parametrów (geometrii) manipulatora
•
Czysta geometria: nie musimy brać pod uwagę momentów
skręcających na złączach czy dynamiki
– (na razie !!!)
ES159/259
Oznaczenia
•
Manipulator z n stopniami swobody ma n złączy (obrotowych lub
pryzmatycznych) i n+1 członów (każde złącze łączy dwa człony)
– Zakładamy, że każde złącze ma tylko 1 stopień swobody( złącza sferyczne
lub uniwersalne, mające wiele stopni swobody, mogą być traktowane jako
kombinacja złącz z 1 st. sw. połączonych bezpośrednio ze sobą
– o0 oznacza bazowy układ odniesienia
– on oznacza układ narzędzia
– Złącze i łączy człony i-1 z i
– Układ oi jest stowarzyszony z członem i
•
Zmienne złączowe, qi
⎧θ
qi = ⎨ i
⎩d i
dla zlacza i obrotowego
dla zlacza i pryzmatycznego
ES159/259
Oznaczenia
•
Pokazaliśmy, że transformata homogeniczna pozwala wyrazić pozycję i
orientację oj względem oi
– Szukamy pozycji i orientacji ukł. narzędzia względem bazowego układu
odniesienia
– Krok pośredni polega na znalezieniu macierzy transformacji opisującej
pozycję i orientację oi względem oi-1: oznaczonej Ai
– Teraz można zdefiniować transformację oj w oi jako:
⎧ Ai +1Ai + 2 ...A j −i A j if i < j
⎪
T ji = ⎨
I
if i = j
j −1
⎪
T
if j > i
i
⎩
( )
ES159/259
Wynik:
•
Ostatecznie, pozycja i orientacja ukł. narzędzia względem bazowego
ukł. odniesienia jest dana jedną macierzą transf. homogenicznej:
– Dla manipulatora z n st. Swobody:
⎡Rn0
H=⎢
⎣0
on0 ⎤
0
⎥ = Tn = A1 (q1 )A2 (q2 ) ⋅ ⋅ ⋅ An (qn )
1⎦
•
Podsumowując, aby w pełni określić kinematykę prostą dowolnego
manipulatora z szeregowym łańcuchem kinematycznym, wystarczy
znaleźć transformacje Ai i wykonać mnożenie macierzy
•
Ale można szybciej, ‘na skróty’…
ES159/259
Konwencja zapisu Denavita-Hartenberga (DH)
•
Każda indywidualna transformacja homogeniczna przedstawiona jako
iloczyn czterech transformacji bazowych:
Ai = Rot z,θ i Trans z,d i Trans x ,ai Rot x ,α i
⎡cθ i
⎢s
= ⎢ θi
⎢0
⎢
⎣0
− sθ i
⎡cθ i
⎢s
= ⎢ θi
⎢0
⎢
⎣0
− sθ i cα i
cθ i cα i
sα i
sθ i sα i
− cθ i sα i
cα i
0
0
cθ i
0
0
0 0⎤ ⎡ 1
0 0⎥⎥ ⎢⎢0
1 0⎥ ⎢0
⎥⎢
0 1⎦ ⎣0
0 ⎤ ⎡1
1 0 0 ⎥⎥ ⎢⎢0
0 1 d i ⎥ ⎢0
⎥⎢
0 0 1 ⎦ ⎣0
0 0
ai cθ i ⎤
ai sθ i ⎥⎥
di ⎥
⎥
1 ⎦
ES159/259
0 0 ai ⎤ ⎡ 1 0
1 0 0 ⎥⎥ ⎢⎢0 cα i
0 1 0 ⎥ ⎢0 sα i
⎥⎢
0 0 1 ⎦ ⎣0 0
0
− sα i
cα i
0
0⎤
0⎥⎥
0⎥
⎥
1⎦
Konwencja zapisu Denavita-Hartenberga (DH)
•
Cztery parametry DH:
–
–
–
–
•
ai: długość członu
αi: skręcenie członu
di: przesunięcie (offset) członu
θi: kąt na złączu
Ponieważ każda mac. Ai jest funkcją tylko 1 zmiennej, 3 z powyższych
param. DH będą stałe dla każdego złącza
– di będzie zmienną dla złączy pryzmatycznych a θi - dla złączy obrotowych
•
Ale dla każdego ciała sztywnego potrzeba 6 parametrów aby opisać
jego pozycję i orientację
– Trzy kąty (np. kąty Eulera) i wektor pozycji 3x1
– Więc dlaczego są tylko 4 parametry DH ?...
ES159/259
Istnienie i jednoznaczność
•
•
Kiedy możemy wyrazić transformację homogeniczną używając 4
parametrów DH ?
Jako przykład, rozważmy 2 ukł. współrzędnych o0 i o1
– Istnieje jednoznaczna transformacja homogeniczna pomiędzy tymi dwoma
układami
•
•
Zakładamy, że zachodzi:
1. DH1: xˆ1 ⊥ zˆ0
2. DH2: xˆ1 ∩ zˆ0
Jeśli tak, to istnieje jednoznaczna
transformacja A:
A = Rot z,θ Trans z,d Trans x ,aRot x ,α
⎡R10
=⎢
⎣0
o10 ⎤
⎥
1⎦
ES159/259
Istnienie i jednoznaczność
•
Dowód:
R1 = Rz,θ R x,α
1. Zakładamy, że R10 ma postać:
2. Używamy DH1 w celu weryfikacji postaci R10
0
xˆ1 ⊥ zˆ0 ⇒ x10 ⋅ z00 = 0
⎡r11 ⎤
⇒ ⎢⎢r21 ⎥⎥
⎢⎣r31 ⎥⎦
T
⎡0⎤
⎢0⎥ = r = 0
⎢ ⎥ 31
⎢⎣1⎥⎦
⎡r11 r12
R10 = ⎢⎢r21 r22
⎢⎣ 0 r32
r13 ⎤
r23 ⎥⎥
r33 ⎥⎦
– Wiersze i kolumny R10 muszą być wersorami:
– Postać reszty elementów R10 wynika z własności mac.
rotacji
– Tak więc założenie, ze istnieje jednoznaczne θ i α
dające R10 jest prawdziwe z DH1
ES159/259
2
2
r11 + r21 = 1
2
2
r32 + r33 = 1
Istnienie i jednoznaczność
•
Dowód:
1. Używamy DH2 w celu znalezienia postaci o10
– Ponieważ dwie osie przecinają się, można wyrazić linię pomiędzy dwoma
ukł. wsp. jako liniową kombinację dwóch osi (na płaszczyźnie zdefiniowanej
przez x1 i z0)
xˆ1 ∩ zˆ0 ⇒ o10 = dz00 + ax10
⎡0⎤
⎡cθ ⎤ ⎡acθ ⎤
⇒ o10 = d ⎢⎢0⎥⎥ + a ⎢⎢sθ ⎥⎥ = ⎢⎢asθ ⎥⎥
⎢⎣1⎥⎦
⎢⎣ 0 ⎥⎦ ⎢⎣ d ⎥⎦
ES159/259
Fizyczna baza parametrów DH
•
•
•
•
ai: długość członu, dystans pomiędzy z0 i z1 (wzdłuż x1)
αi: skręcenie członu, kat pomiędzy z0 i z1 (mierzony wokół x1)
di: przesunięcie (offset) członu, dystans pomiędzy o0 i przecięciem z0 i x1
(wzdłuż z0)
θi: kąt złącza, kąt pomiędzy x0 i x1 (mierzony wokół z0)
Konwencja dodatnia:
ES159/259
Przypisanie układów współrzędnych
•
Dla dowolnego n-członowego manipulatora, zawsze możemy tak
dobrać ukł. wsp. żeby założenia DH1 i DH2 były spełnione
– Wybór taki nie jest unikalny, ale końcowy rezultat zawsze będzie taki sam
1. Wybierz zi jako oś obrotu dla złącza i+1
– z0 jest osią obrotu dla złącza 1, z1 jest osią obrotu dla złącza 2, etc
– Jeśli złącze i+1 jest obrotowe, zi jest osią obrotu złącza i+1
– Jeśli złącze i+1 jest pryzmatyczne, zi jest osią przesunięcia dla złącza i+1
ES159/259
Przypisanie układów współrzędnych
2. Wyznacz układ bazowy
–
Może to być dowolny punkt wzdłuż z0
3. Wybierz x0, y0 tak, aby spełnić zasadę ‘prawej ręki’
4. Start procesu iteracyjnego definiującego ukł. i względem ukł. i-1
–
i.
ii.
iii.
Rozważ trzy przypadki zależności zi-1 i zi:
zi-1 i zi nie są koplanarne (nie leżą na wspólnej płaszczyźnie)
zi-1 i zi przecinają się
zi-1 i zi są koplanarne
zi-1 i zi są równoległe
ES159/259
Przypisanie układów współrzędnych
i.
zi-1 i zi nie są koplanarne
–
–
Zawsze istnieje najkrótszy odcinek łączący te osie (najmniejsza odległość
pomiędzy tymi osiami)
Wybierz tą linię jako xi
•
–
oi jest w punkcie przecięcia zi i xi
Wybierz yi zgodnie z konwencją ‘prawej ręki’
ES159/259
Przypisanie układów współrzędnych
ii.
zi-1 i zi przecinają się
–
Wybierz xi tak, aby był normalny do płaszczyzny zdefiniowanej przez zi i zi-1
•
–
oi jest w punkcie przecięcia zi i xi
Wybierz yi zgodnie z konwencją ‘prawej ręki’
ES159/259
Przypisanie układów współrzędnych
iii. zi-1 i zi są równoległe
–
–
–
Nieskończenie wiele normalnych o równej długości pomiędzy zi i zi-1
Dowolny wybór oi gdziekolwiek wzdłuż zi, aczkolwiek jeśli wybierzemy xi
wzdłuż normalnej przecinającej oi-1, wynikowe di będzie równe zero
Wybierz yi zgodnie z konwencją ‘prawej ręki’
ES159/259
Przypisanie układu narzędzia
•
Poprzednie przypisania są poprawne aż do ukł. n-1
– Przypisanie ukł. narzędzia jest najczęściej definiowane przez osie n, s, a:
•
•
•
a jest kierunkiem zbliżenia (ang. approach direction)
s jest kierunkiem ślizgu (ang. ‘sliding’) (kierunek, wzdłuż którego otwiera się i
zamyka chwytak)
n jest kierunkiem normalnym (ang. normal) do a i s
ES159/259
Przykład 1: dwuczłonowy manipulator planarny
•
2 st. swobody: musimy przypisać 3 ukł. wsp.
1. Wybierz oś z0 (oś obrotu dla złącza 1, ukł. bazowy)
2. Wybierz oś z1 (oś obrotu dla złącza 2)
3. Wybierz oś z2 (ukł. narzędzia)
•
•
W tym przypadku dowolnie, jako że brak jest chwytaka
Zamiast tego, zdefiniujmy z2 jako równoległe do z1 i z0 (dla konsekwencji)
4. Wybierz osie xi
•
•
wszystkie osie zi są równoległe
Zatem wybierz oś xi tak aby przecinała oi-1
ES159/259
Przykład 1: dwuczłonowy manipulator planarny
•
Zdefiniowanie parametrów DH
– najpierw definiujemy parametry stałe ai, αi
– potem definiujemy parametry zmienne θi, di
człon
ai
αi
di
θi
1
a1
0
0
θ1
2
a2
0
0
θ2
– elementy αi są 0 bo wszystkie zi są równoległe
– Tak więc tylko θi są zmienne
⎡c1 − s1
⎢s
c1
A1 = ⎢ 1
⎢0
0
⎢
0
⎣0
0 a1c1 ⎤
⎡c 2
⎢s
0 a1s1 ⎥⎥
, A2 = ⎢ 2
⎢0
1 0 ⎥
⎥
⎢
0 1 ⎦
⎣0
− s2
c2
0
0
0 a2c 2 ⎤
0 a2s2 ⎥⎥
1
0 ⎥
⎥
0
1 ⎦
ES159/259
T10 = A1
⎡c12
⎢s
0
T2 = A1A2 = ⎢ 12
⎢0
⎢
⎣0
− s12
c12
0
0
0 a1c1 + a2c12 ⎤
0 a1s1 + a2s12 ⎥⎥
⎥
1
0
⎥
0
1
⎦
Przykład 2: trójczłonowy robot cylindryczny
•
3 st. swob.: trzeba przypisać 4 ukł. wsp.
1.
2.
3.
4.
Wybierz oś z0 (oś obrotu dla złącza 1, ukł. bazowy)
Wybierz oś z1 (oś przesunięcia dla złącza 2)
Wybierz oś z2 (oś przesunięcia dla złącza 3)
Wybierz oś z3 (ukł. narzędzia)
•
•
W tym przypadku znowu dowolnie jako że nie rozważamy chwytaka
Zamiast tego, zdefiniujmy z3 jako równoległą do z2
ES159/259
Przykład 2: trójczłonowy robot cylindryczny
•
Definicja parametrów DH
– najpierw definiujemy parametry stałe ai, αi
– potem definiujemy parametry zmienne θi, di
⎡c1 − s1
⎢s
c1
A1 = ⎢ 1
⎢0
0
⎢
0
⎣0
0⎤
⎡1 0
⎢0 0
0 0 ⎥⎥
, A2 = ⎢
⎢0 − 1
1 d1 ⎥
⎥
⎢
0 1⎦
⎣0 0
0
0⎤
⎡1
⎢0
1 0 ⎥⎥
, A3 = ⎢
⎢0
0 d2 ⎥
⎥
⎢
0 1⎦
⎣0
0
0⎤
1 0 0 ⎥⎥
0 1 d3 ⎥
⎥
0 0 1⎦
0 0
⎡c1 0 − s1 − s1d 3 ⎤
⎢s
0
c1
c1d 3 ⎥⎥
1
0
⎢
T3 = A1A2 A3 =
⎢ 0 − 1 0 d1 + d 2 ⎥
⎢
⎥
0
1 ⎦
⎣0 0
ES159/259
człon
ai
αi
di
θi
1
0
0
d1 θ1
2
0
-90 d2 0
3
0
0
d3 0
Przykład 3: przegub sferyczny
•
3 st. swob.: trzeba przypisać 4 ukł. wsp.
– Odchylenie(yaw), nachylenie(pitch), obrót (θ4, θ5, θ6): wszystkie przecinają
się w punkcie o (środek przegubu)
ES159/259
Przykład 3: przegub sferyczny
•
Definicja parametrów DH
– najpierw definiujemy parametry stałe ai, αi
– potem definiujemy parametry zmienne θi, di
⎡c 4
⎢s
A1 = ⎢ 4
⎢0
⎢
⎣0
0
− s4
0
−1
0
c4
0
0
0⎤
⎡c5
⎢s
0⎥⎥
, A2 = ⎢ 5
⎢0
0⎥
⎥
⎢
1⎦
⎣0
⎡c 4c5c 6 − s 4s6
⎢s c c + c s
4 6
3
T6 = A4 A5 A6 = ⎢ 4 5 6
⎢ − s5 c 6
⎢
0
⎣
0
− s5
0
−1
0
c5
0
0
0⎤
⎡c 6
⎢s
0⎥⎥
, A3 = ⎢ 6
⎢0
0⎥
⎥
⎢
1⎦
⎣0
− c 4c 5s6 − s 4c 6
c 4 s5
− s 4c 5s6 + c 4c 6
s 4 s5
c5
0
s5 c 6
0
− s6
c6
0
0
c 4 s5 d 6 ⎤
s 4s5d 6 ⎥⎥
c5d 6 ⎥
⎥
1 ⎦
ES159/259
0⎤
0 0 ⎥⎥
1 d6 ⎥
⎥
0 1⎦
0
człon
ai
αi
di
θi
4
0
-90 0
θ4
5
0
90
0
θ5
6
0
0
d6 θ6
Co za tydzień…
•
•
•
Więcej przykładów dla popularnych konfiguracji manipulatorów
Co z równoległym łańcuchem kinematycznym?
Kinematyka odwrotna
ES159/259

Podobne dokumenty