Kinematyka prosta: reprezentacja...

27
Kinematyka prosta: reprezentacja Denavita-Hartenberga

Transcript of Kinematyka prosta: reprezentacja...

Page 1: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Kinematyka prosta: reprezentacja Denavita-Hartenberga

Page 2: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Przypomnienie: ruchy sztywne

• Ruch sztywny jest połączeniem obrotu i przesunięcia– zdefiniowany macierzą obrotu (R) i wektorem przesunięcia (d)– grupę wszystkich ruchów sztywnych (d,R) nazywa się specjalną grupą

euklidesową, SE(3)• Ruchy sztywne (obroty i przesunięcia) możemy reprezentować w

postaci mnożenia macierzy• Mnożenie przez macierz H określa się jako przekształcenie

jednorodne; mamy

• Przekształcenie odwrotne:

101 dRRH

TT

10dRH

T

Page 3: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Przypomnienie: przekształcenia jednorodne

• Przekształcenia podstawowe:– Trzy czyste obroty, trzy czyste przesunięcia

1000100

00100001

10000100

0100001

100001000010

001

,

,

,

c

b

a

cz

by

ax

Trans

Trans

Trans

100001000000

100000001000100000000001

,

,

,

cssc

cs

sc

cssc

z

y

x

Rot

Rot

Rot

Page 4: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Przykład

• Kąty Eulera: omawialiśmy tylko kąty Eulera ZYZ. Jaki jest zbiór wszystkich możliwych zestawów kątów Eulera, których można używać do reprezentacji dowolnej macierzy obrotu?– XYZ, YZX, ZXY, XYX, YZY, ZXZ, XZY, YXZ, ZYX, XZX, YXY, ZYZ– ZZY nie można użyć do opisu dowolnej zadanej macierzy obrotu ponieważ

dwa kolejne obroty wokół osi Z redukują się do jednego obrotu

Page 5: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Przykład

• Wyznaczyć przekształcenie jednorodne opisujące przesunięcie o 3 jednostki wzdłuż osi x, po którym następuje obrót o /2 wokół bieżącej osi z, a potem przesunięcie o 1 jednostkę wzdłuż osi y układu pierwotnego.

1000010010013011

1000010000010010

1000010000103001

1000010010100001

2/,3,1, zxy TTTT

Page 6: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Kinematyka prosta: wprowadzenie

• Zadanie: mając dane wszystkie parametry przegubów manipulatora, określić pozycję i orientację układu współrzędnych końcówki roboczej– Układ końcówki roboczej: układ współrzędnych związany na sztywno z

najbardziej odległym członem manipulatora– Układ inercyjny: ustalony (nieruchomy) układ współrzędnych związany na

sztywno z najbliższym podstawie członem manipulatora• W konsekwencji, poszukujemy odwzorowania między układem

końcówki roboczej i układem inercyjnym– Będzie ono funkcją parametrów wszystkich przegubów i geometrii

manipulatora – Problem czysto geometryczny: nie przejmujemy się momentami obrotowymi

ani dynamiką– Jednak…

Page 7: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Konwencja

• Manipulator o n stopniach swobody ma n przegubów (obrotowych albo pryzmatycznych) i n+1 członów (bo każdy przegub łączy dwa człony)– Zakładamy, że każdy przegub ma tylko jeden stopień swobody. Choć

wydaje się, że nie uwzględnia to np. przegubów kulowych lub kielichowych, zauważmy że możemy je traktować jak kombinacje przegubów o pojedynczych stopniach swobody z zerową długością członów między nimi.

– Układ o0 jest inercyjny.– on jest układem narzędzia. – Przegub i łączy człony i-1 and i.– oi jest związany z członem i.

• Zmienne przegubowe, qi

nypryzmatyczjest przegubgdy

obrotowyjest przegubgdy idi

qi

ii

Page 8: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Konwencja

• Powiedzieliśmy, że przekształcenie jednorodne pozwala na wyrażenie położenia i orientacji oj względem oi– To, czego chcemy, to położenie i orientacja układu końcówki roboczej

względem układu inercyjnego.– Pośrednim krokiem jest określenie macierzy transformacji dającej położenie

i orientację oi względem oi-1: Ai

– Teraz możemy zdefiniować przekształcenie oj do oi następująco:

ijjiji

TI

AAAAT

ji

jijiiij

gdy gdy gdy

...

1

21

Page 9: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Konwencja

• W końcu, położenie i orientacja układu narzędzia względem układu inercyjnego są dane macierzą przekształcenia jednorodnego:– Dla manipulatora o n stopniach swobody

• Tak więc, aby w pełni zdefiniować kinematykę prostą dla dowolnego manipulatora szeregowego, wszystko czego potrzebujemy to określić przekształcenia Ai i wykonać mnożenie macierzowe.

• Jednak istnieją pewne proste sposoby pozwalające dokonać tego przy mniejszym wysiłku…

nnnnn qAqAqAT

oRH

2211

000

10

Page 10: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Konwencja Denavita-Hartenberga (DH)

• Reprezentowanie każdego pojedynczego przekształcenia jednorodnego jako iloczynu czterech przekształceń podstawowych:

10000

100000000001

100001000010

001

1000100

00100001

100001000000

,,,,

i

i

i

i

i

xaxdzzi

dcssascccscasscsc

cssc

a

dcssc

A

ii

iiiiii

iiiiii

ii

iiii

ii

iiii

RotTransTransRot

Page 11: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Konwencja Denavit-Hartenberg (DH)

• Cztery parametry DH:– ai: długość członu– i: skręcenie członu– di: odsunięcie przegubu– i: kąt przegubu

• Ponieważ każda macierz Ai jest funkcją tylko jednej zmiennej, dla danego członu trzy z tych parametrów będą stałe.– di będą zmienne dla przegubów pryzmatycznych, a i będą zmienne dla

przegubów obrotowych• Stwierdziliśmy jednak, że podanie położenia i orientacji każdego ciała

sztywnego wymaga 6 parametrów:– trzech kątów (np. kąty Eulera) oraz trójelementowego wektora położenia.– Jak więc można mówić tylko o czterech parametrach 4 DH?...

Page 12: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Istnienie i jednoznaczność

• Kiedy możemy reprezentować przekształcenie jednorodne stosując cztery parametru DH?

• Przykładowo, rozważmy dwa układy współrzędnych o0 oraz o1.– Istnieje jednoznaczne przekształcenie jednorodne miedzy tymi układami.

• Teraz przyjmijmy dwa założenia:1. DH1: 2. DH2:

• Jeżeli są spełnione, twierdzimy, że istnieje jednoznaczne przekształcenie A:

01 ˆˆ zx

01 ˆˆ zx

10

01

01

,,,,

oR

A xaxdzz RotTransTransRot

Page 13: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Istnienie i jednoznaczność

• Dowód:1. Zakładamy, że R1

0 ma postać2. Użyjmy DH1 do sprawdzenia postaci R1

0

– Wiersze i kolumny R10 są wektorami jednostkowymi:

– Pozostałe elementy R10 wynikają z własności macierzy

obrotu.– Zatem nasze założenie, że istnieje jednoznaczne

oraz dające R10 jest poprawne po spełnieniu DH1.

0100

0ˆˆ

31

31

21

11

00

0101

rrrr

zxzxT

,,01 xz RRR

3332

232221

13121101

0 rrrrrrrr

R

1

12

332

32

221

211

rr

rr

Page 14: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Istnienie i jednoznaczność

• Dowód:1. Użyjmy DH2 do określenie postaci o1

0.– Ponieważ dwie osie przecinają się, przesunięcie między dwoma

rozważanymi układami współrzędnych można przedstawić jako liniową kombinację tych dwóch osi (w obrębie płaszczyzny utworzonej przez x1 i z0)

dasac

sc

ado

axdzozx

0100

ˆˆ

01

01

00

0101

Page 15: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Interpretacja fizyczna parametrów DH

• ai: długość członu, odległość między osiami z0 i z1 (wzdłuż x1)• i: skręcenie członu, kąt między z0 i z1 (mierzony wokół x1)• di: odsunięcie przegubu, odległość między o0 a przecięciem osi z0 i x1

(wzdłuż z0)• i: kąt przegubu, kąt między x0 i x1 (mierzony wokół z0)

Znaki kątów:

Page 16: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Przypisywanie układów współrzędnych

• Dla dowolnego manipulatora n-członowego, można zawsze wybrać układy współrzędnych pozwalające spełnić DH1 and DH2.– Wybór nie jest jednoznaczny, ale końcowy rezultat będzie zawsze taki sam.

1. Wybierz zi jako oś obrotu przegubu i+1– z0 jest osią obrotu przegubu 1, z1 jest osią obrotu przegubu 2, itd.– Gdy przegub i+1 jest obrotowy, zi jest osią obrotu przegubu i+1.– Gdy przegub i+1 jest pryzmatyczny, zi jest osią przesunięcia dla przegubu

i+1.

Page 17: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Przypisywanie układów współrzędnych

2. Przypisz układ bazowy– Początkiem może być dowolny punkt na osi z0.

3. Wybierz x0, y0 dające układ prawoskrętny.4. Rozpoczynamy iteracyjny proces definiowania układu i względem i-1:

– Rozważamy trzy przypadki związków zi-1 i zi:i. zi-1 i zi nie leżą w jednej płaszczyźnieii. zi-1 i zi przecinają sięiii. zi-1 i zi są równoległe

zi-1 i zi leżą w jednej płaszczyźnie

Page 18: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Przypisywanie układów współrzędnych

i. zi-1 i zi nie leżą w jednej płaszczyźnie– Istnieje (i jest tylko jeden) najkrótszy odcinek łączący obie osie.– Wybierz ten odcinek do wyznaczenia kierunku osi xi

• oi leży na przecięciu zi i xi

– Wybierz yi na podstawie reguły prawej dłoni.

Page 19: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Przypisywanie układów współrzędnych

ii. zi-1 i zi przecinają się– Jako oś xi wybierz normalną do płaszczyzny wyznaczonej przez zi i zi-1

• oi leży na przecięciu zi i xi

– Wybierz yi wg reguły prawej dłoni.

Page 20: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Przypisywanie układów współrzędnych

iii. zi-1 i zi są równoległe– Istnieje nieskończenie wiele odcinków normalnych do zi oraz zi-1 i łączących

te osie. Mają one jednakową długość.– Można wybrać oi gdziekolwiek na zi, jednak gdy wybierzemy xi wzdłuż

normalnej przechodzącej przez punkt oi-1, odpowiednia odległość di będzie zerowa.

– Wybierz yi wg reguły prawej ręki.

Page 21: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Przypisywanie układu końcówki roboczej

• Poprzednie przypisania obowiązują aż do układu n-1.– Przypisanie układu narzędzia najczęściej definiuje się osiami n, s, a:

• a jest kierunkiem zbliżania (ang. approach direction);• s jest kierunkiem przesuwania (ang. sliding direction); w tym kierunku przesuwają

się palce typowego chwytaka podczas zamykania i otwierania;• n jest kierunkiem normalnym (ang. normal) do płaszczyzny wyznaczonej przez

a i s.

Page 22: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Przykład 1: dwuczłonowy manipulator planarny

• 2 stopnie swobody: należy przypisać trzy układy współrzędnych1. Wybierz oś z0 (oś obrotu przegubu 1, układ bazowy)2. Wybierz oś z1 (oś obrotu przegubu 2)3. Wybierz oś z2 (układ końcówki roboczej)

• Dla tego przypadku jest dowolny ponieważ nie opisano żadnej kiści/chwytaka.• W takim razie, zdefiniujmy z2 jako równoległą do z1 i z0 (dla jednolitości).

4. Wybierz osie xi• Wszystkie osie zi są równoległe.• Wybierzmy więc xi tak, by przeciąć oi-1.

Page 23: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Przykład 1: dwuczłonowy manipulator planarny

• Zdefiniujmy parametry DH – najpierw zdefiniujmy stałe parametry ai, i;– dalej, zdefiniujmy zmienne parametry i, di;

– i są zerowe bo wszystkie zi są równoległe;– Zatem tylkoi są zmienne.

człon ai i di i

1 a1 0 0 1

2 a2 0 0 2

10000100

00

10000100

00

2222

2222

21111

1111

1sacscasc

Asacscasc

A ,

10000100

00

122111212

122111212

210

2

10

1

sasacscacasc

AAT

AT

Page 24: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Przykład 2: trójczłonowy robot cylindryczny

• 3 stopnie swobody: należy przypisać cztery układy współrzędnych.1. Wybierz oś z0 (oś obrotu przegubu 1, układ bazowy).2. Wybierz oś z1 (oś przesunięcia przegubu 2).3. Wybierz oś z2 (oś przesunięcia przegubu 3).4. Wybierz oś z3 (układ końcówki roboczej)

• Wybór jest znowu dowolny, bo nie opisujemy ani kiści, ani chwytaka.• Zamiast tego, definiujemy z3 jako równoległą do z2.

Page 25: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Przykład 2: trójczłonowy robot cylindryczny

• Zdefiniujmy parametry DH:– najpierw, zdefiniujmy stałe parametry ai, i;– potem, zdefiniujmy zmienne parametry i, di.

człon ai i di i

1 0 0 d1 1

2 0 -90 d2 03 0 0 d3 0

1000100

00100001

1000010

01000001

1000100

0000

33

22

1

11

11

1 dA

dA

dcssc

A , ,

1000010

00

21

3111

3111

3210

3 dddccsdssc

AAAT

Page 26: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Przykład 3: kiść sferyczna

• 3 stopnie swobody: należy przypisać cztery układy współrzędnych– odchylenie, nachylenie, obrót (4, 5, 6) wszystkie przecinające się w

jednym punkcie o (punkt środkowy kisci)

Page 27: Kinematyka prosta: reprezentacja Denavita-Hartenbergastaff.uz.zgora.pl/wpaszke/materialy/air/PRwyklad_4.pdf · Konwencja • Manipulatoro nstopniach swobody ma nprzegubów(obrotowych

Przykład 3: kiść sferyczna

człon ai i di i

4 0 -90 0 4

5 0 90 0 5

6 0 0 d6 6

• Zdefiniujmy parametry DH:– najpierw, stałe parametry ai, i;– potem, zmienne parametry i, di.

1000100

0000

100000100000

100000100000

6

66

66

355

55

244

44

1 dcssc

Acssc

Acssc

A , ,

10006556565

654546465464654

654546465464654

6543

6 dcccscsdssssccscsscccsdscsccssccssccc

AAAT