1. Elementy składowe i struktura robotów
Manipulatory przemysłowe są zbudowane z członów połączonych przegubami w
otwarty łańcuch kinematyczny. Przeguby te są zazwyczaj obrotowe (rotacyjne) lub
pryzmatyczne (liniowe). Przeguby obrotowe są podobne do zawiasów i umo\liwiają obrót
jednego członu względem drugiego. Przeguby pryzmatyczne umo\liwiają ruch liniowy
jednego członu względem drugiego. Będziemy u\ywać oznaczenia (R) dla przegubu
obrotowego i oznaczenia (P) dla przegubu pryzmatycznego, jak to pokazano na rys. 1. Ka\dy
przegub reprezentuje wzajemne połączenie dwóch członów, oznaczonych l1 oraz li+1. Oś
obrotu przegubu obrotowego lub oś, wzdłu\ której następuje przemieszczenie w przegubie
pryzmatycznym, oznaczymy przez zi, dla przegubu łączącego człony i, i+1. Zmienna
przegubowa, oznaczona jako ¸1 dla przegubu obrotowego i jako d, dla przegubu
pryzmatycznego, reprezentuje względne przemieszczenie sąsiednich członów.
Przeguby manipulatora mogą być napędzane elektrycznie, hydraulicznie lub
pneumatycznie. Liczba przegubów determinuje liczbę stopni swobody manipulatora. Zwykle
manipulator powinien mieć co najmniej sześć niezale\nych stopni swobody: trzy do
pozycjonowania i trzy do orientowania. Przy liczbie stopni swobody mniejszej ni\ sześć
manipulator nie mo\e osiągnąć ka\dego punktu w przestrzeni z zadaną orientacją. Niektóre
zadania, takie jak sięganie wokół lub za przeszkodę, wymagają więcej ni\ sześciu stopni
swobody. Wraz ze wzrostem liczby stopni swobody manipulatora gwałtownie rośnie stopień
trudności jego sterowania. Manipulator mający więcej ni\ sześć stopni swobody jest
nazywany manipulatorem kinematycznie redundantnym.
Na rys. 1. Przedstawiono sposób symbolicznego przedstawiania obrotowych
przegubów robota, natomiast na rys. 2 przegubów pryzmatycznych.
Rys. 1. Graficzna reprezentacja przegubów obrotowych robota
Rys. 2. Graficzna reprezentacja przegubów pryzmatycznych robota
Przestrzeń robocza manipulatora jest całkowitym obszarem, do którego sięga jego
końcówka robocza przy pełnych zakresach wszystkich mo\liwych ruchów manipulatora. Jest
ona ograniczona przez geometriÄ™ manipulatora, jak te\ przez mechaniczne ograniczenia
zakresów ruchów w poszczególnych przegubach. Na przykład zakres ruchu przegubu
obrotowego mo\e być ograniczony do mniej ni\ 360°. W przestrzeni roboczej czÄ™sto
wyró\nia się przestrzeń roboczą osiągalną i przestrzeń roboczą pełnej sprawności. Przestrzeń
robocza osiągalna jest całkowitym zbiorem punktów osiągalnych przez manipulator, podczas
gdy przestrzeń robocza pełnej sprawności składa się z tych punktów, które manipulator mo\e
osiągnąć z wyznaczoną orientacją końcówki roboczej. Oczywiście przestrzeń robocza pełnej
sprawności jest podzbiorem przestrzeni roboczej osiągalnej.
1.1. Ogólna klasyfikacja kinematyki
Manipulatory przemysłowe są co prawda urządzeniami ogólnego przeznaczenia,
jednak w praktyce zwykle projektuje się je z myślą o pewnej klasie zastosowań, jak np.
spawanie, przenoszenie materiałów lub monta\. Rodzaj zastosowania w du\ym stopniu
warunkuje wybór ró\nych parametrów konstrukcyjnych manipulatora, w tym tak\e jego
strukturę kinematyczną. Przykładowo monta\ płytek drukowanych jest zadaniem
odpowiednim dla tzw. manipulatorów typu SCARA, podczas gdy tzw. manipulator sferyczny
mo\e lepiej obsługiwać prasę wykrawającą.
Do klasyfikacji manipulatorów mo\na stosować ró\ne kryteria, takie jak ich
geometria, struktura kinematyczna, rodzaj zastosowania, dla którego manipulator został
zaprojektowany, sposób sterowania itp. W tym rozdziale przedstawimy głównie klasyfikację
manipulatorów na podstawie ich geometrii. Dzisiejsze manipulatory mają przewa\nie sześć
lub mniej stopni swobody. Zwykle sÄ… one klasyfikowane kinematycznie, biorÄ…c pod uwagÄ™
ramię lub pierwsze trzy stopnie swobody; kiść jest opisywana osobno. Większość
manipulatorów nale\y do jednej z pięciu grup typów geometrii: stawowy (RRR), sferyczny
(RRP), SCARA (RRP), cylindryczny (RPP) lub kartezjański, (PPP).
1.1.1. Konfiguracja stawowa (RRR)
Manipulator stawowy jest nazywany równie\ manipulatorem obrotowym lub mani-
pulatorem antropomorficznym. W grupie tej mo\na wyró\nić dwa rozwiązania konstrukcyjne.
Pierwsze z nich to manipulator z łokciem (ang. elbow manipulator), którego przykładem jest
przedstawiony na rys. 3 manipulator PUMA.
Rys. 3. Manipulator UNIMATE PUMA 500
Budowę manipulatora z łokciem oraz związane z nim określenia przedstawiono rys. 4,
a na rys. 5 zilustrowano jego przestrzeń roboczą.
Rys. 4. Struktura manipulatora z Å‚okciem
Rys. 5. Przestrzeń robocza manipulatora z łokciem: a) widok z boku, b) widok z góry
Drugie zaś rozwiązanie konstrukcyjne jest strukturą z równoległobokiem i polega ono
na połączeniu kolejnych stopni swobody, tak jak to ma miejsce w modelu T3 735 firmy
Cincinnati Milacron, pokazanym na rys. 6. W tej konstrukcji oś z2 jest równoległa do osi z1, a
obie osie z1 i z2 są prostopadłe do osi Z0.
Konfiguracja manipulatora z Å‚okciem zapewnia stosunkowo du\o swobody ruchu w
dość zwartej przestrzeni. Natomiast struktura z równoległobokiem, chocia\ najczęściej mniej
zwinna ni\ manipulator z łokciem, ma rónie\ wiele zalet, które czynią ją atrakcyjną i
popularną. Najwa\niejszą cechą konfiguracji z równoległobokiem jest to, \e silnik trzeciej osi
jest umieszczony na członie l. Poniewa\ cały cię\ar silnika obcią\a człon 1, człony 2 i 3 mogą
być l\ejsze, a przez to do ich napędzania mogą być u\yte silniki o mniejszej mocy. Równie\
dynamika manipulatorów równoległobocznych jest prostsza ni\ manipulatorów z łokciem, co
w efekcie daje prostsze sterowanie.
Rys. 6. Manipulator T3 735 firmy Cincinnati Milacron
1.1.2. Konfiguracja sferyczna (RRP)
Jeśli w manipulatorze o konfiguracji stawowej trzeci przegub zastąpimy przegubem
pryzmatycznym, to otrzymamy konfiguracjÄ™ sferycznÄ… pokazanÄ… na rys. 7, a manipulator o tej
konfiguracji będziemy nazywać manipulatorem sferycznym.
Rys. 7. Konfiguracja manipulatora sferycznego
Nazwa tej konfiguracji wywodzi się stąd, \e współrzędne sferyczne, określające
poło\enie końcówki roboczej względem układu współrzędnych o początku w przecięciu osi z1
i z2, są takie same, jak trzy pierwsze zmienne przegubowe. Przykładem manipulatora o takiej
konfiguracji jest manipulator Stanforda (rys. 8), którego przestrzeń roboczą przedstawiono na
rys. 9.
Rys. 8. Manipulator Stanforda jako przykład manipulatora sferycznego
Rys. 9. Przestrzeń robocza manipulatora sferycznego
1.1.3. Konfiguracja SCARA (RRP)
Manipulator SCARA (z ang. Selective Compliant Articulated Robot for Assembly czyli
stawowy robot monta\owy selektywnie podatny) jest ostatnio coraz bardziej popularny. Jak
sama nazwa wskazuje, robot ten został zaprojektowany z myślą o zadaniach monta\owych.
Chocia\ konfiguracja SCARA ma strukturę RRP, jednak ró\ni się zdecydowanie od
konfiguracji sferycznej zarówno wyglądem, jak i obszarem zastosowań. W przeciwieństwie
do manipulatora sferycznego Stanforda, forda, który ma osie z0, z1, z2 wzajemnie prostopadłe,
manipulator SCARA ma osie z0, z1, z2 równoległe. Rysunek 10 przedstawia manipulator tego
typu o nazwie AdeptOne, a rys. 11 jego strukturę schematyczną. Przestrzeń robocza
manipulatora SCARA jest zobrazowana na rys.12.
Rys. 10. Widok robota AdeptOne jako przykład manipulatora typu SCARA
Rys. 11. Konfiguracja manipulatora SCARA
Rys. 12. Przestrzeń robocza manipulatora SCARA
1.1.4. Konfiguracja cylindryczna (RPP)
Konfiguracja manipulatora cylindrycznego jest przedstawiona na rys 1-5. Pierwszy
przegub jest obrotowy i wykonuje obrót wokół podstawy, podczas gdy przeguby drugi i trzeci
są pryzmatyczne. Jak sugeruje nazwa, zmienne przegubowe są zarazem współrzędnymi
cylindrycznymi końcówki roboczej względem podstawy.
Na rysunku 13 jest pokazana jest struktura schematyczna takiego robota, na rys. 14
przykładowy robot cylindryczny GMF M-100, a na rys. 15 jego przestrzeń robocza.
Rys. 13. Konfiguracja manipulatora cylindrycznego
Rys. 14. Robot cylindryczny GMF M-100
Rys. 15. Przestrzeń robocza manipulatora cylindrycznego
1.1.5. Konfiguracja kartezjańska (PPP)
Manipulator, którego trzy pierwsze przeguby są pryzmatyczne, jest nazywany
manipulatorem kartezjańskim. Jego konfigurację przedstawiono na rys. 16, a przestrzeń
roboczą na rys. 17. Dla manipulatora kartezjańskiego zmienne przegubowe są współrzędnymi
kartezjańskimi końcówki roboczej względem podstawy. Jak mo\na oczekiwać, opis
kinematyki tego manipulatora jest najprostszy spośród wszystkich konfiguracji. Konfiguracje
kartezjańskie są korzystne w zastosowaniach do monta\u na blacie stołu oraz do transportu
materiałów lub ładunków (jako robot portalowy).
y
z
l2
l1
l3
x
Rys. 16. Konfiguracja manipulatora kartezjańskiego
Rys. 17. Przestrzeń robocza manipulatora kartezjańskiego
1.1.6. Kiść i końcówka robocza
Pojęcie kiści manipulatora odnosi się do przegubów między ramieniem a dłonią.
Przeguby kiści są prawie zawsze obrotowe. Coraz więcej manipulatorów projektuje się z
kiścią sferyczna, w której osie przegubów przecinają się w jednym punkcie. Manipulatory
Cincinnati Milacron T3 (rys 6) oraz stanfordzki (rys. 8) mają kiście sferyczne o trzech
stopniach swobody.
Na rysunku 18 schematycznie przedstawiono kiść sferyczną. Taka konstrukcja kiści
znacznie upraszcza analizę kinematyki manipulatora oraz ułatwia efektywne rozłączenie
pozycjonowania i orientowania obiektu. Zatem typowy manipulator będzie miał trzy stopnie
swobody określające poło\enie, które są związane z trzema lub więcej przegubami ramienia.
Liczba stopni swobody określających orientację będzie wtedy zale\ała od stopni swobody
kiści. W zale\ności od rodzaju zastosowania dobiera się kiść z jednym, dwoma lub trzema
stopniami swobody. Na przykład robot AdeptOne (rys. 10) ma cztery stopnie swobody; jego
kiść ma tylko obrót wokół ostatniej osi z. Manipulator Cincinnati Milacron T3 735 ma pięć
stopni swobody kiść ma pochylanie i obrót, ale nie ma ruchu skręcania. Manipulator PUMA
z pełną kiścią o trzech stopniach swobody ma sześć stopni swobody.
Rys. 18. Struktura kiści sferycznej z zaznaczonymi tzw. kątami RPY
Mówi się, \e robot jest tak dobry, jak dobra jest jego dłoń lub końcówka robocza.
Ramię i kiść, tworzące robota, są u\ywane przede wszystkim do pozycjonowania końcówki
roboczej i narzędzia, którym robot operuje. Wybór końcówki roboczej lub narzędzia zale\y
od aktualnie wykonywanej pracy. Najprostszym typem końcówki roboczej jest chwytak,
którego dwa rodzaje pokazano na rys. 19 i rys. 20.
Rys .19. Chwytak szczękowy równoległy
Rys .20. Chwytak z dwoma palcami
Chwytak taki mo\e wykonywać tylko dwie operacje: otwierania i zamykania.
Wystarczy to do przenoszenia materiałów, operowania częściami lub chwytania prostych
narzędzi, nie nadaje się jednak do realizacji innych zadań, takich jak spawanie, monta\,
gratowanie itp. Dlatego du\o prac badawczych jest poświęconych projektowaniu specjalnych
końcówek roboczych oraz narzędzi, które mo\na szybko zmieniać stosownie do wymagań
wykonywanego zadania. Prowadzi się te\ wiele badań nad rozwojem sztucznej dłoni
antropomorficznej, a więc podobnej do dłoni człowieka. Takie dłonie są opracowywane
zarówno dla zastosowań w protetyce, jak i do wykorzystania w wytwarzaniu. Poniewa\
skoncentrujemy się na analizie i sterowaniu samego manipulatora, a nie na jego szczególnych
zastosowaniach czy końcówkach roboczych, więc nie będziemy dalej omawiać rozwiązań
budowy tych końcówek ani problemów chwytania i manipulacji.
2. Zagadnienia kinematyki prostej i odwrotnej
2.1. Wprowadzenie
Typowy przykład zastosowania manipulatora przemysłowego jest pokazany na rys.
21.
Rys. 21. Robot o sześciu stopniach swobody z narzędziem szlifierskim
Na powy\szym rysunku manipulator o sześciu stopniach swobody przedstawiono z
narzędziem do gratowania, którym robot usuwa określoną warstwę metalu z powierzchni.
Rozwa\ając niniejszy przykład skoncentrujemy się na pytaniu: Jakie są podstawowe
zagadnienia do rozwiązania i co musimy wiedzieć w celu zaprogramowania robota do
wykonania opisanego wy\ej zadania ?
Uzyskanie odpowiedzi na to pytanie dla pełnego manipulatora o sześciu stopniach
swobody jest zadaniem wysoce zło\onym i niezasadnym do przedstawienia w tym miejscu.
Mo\emy jednak wykorzystać prosty manipulator płaski o dwóch członach do przedstawienia
głównych zagadnień oraz do wstępnego przeglądu tego tematu.
Rozwa\my zatem robota o dwóch członach, przedstawionego na rys. 22. Na końcu
manipulatora jest zamontowane narzędzie w rodzaju tarczy szlifierskiej lub tnącej. Załó\my,
\e chcemy przemieścić manipulator z jego pozycji bazowej A do poło\enia B, od którego
robot powinien śledzić kontur powierzchni S a\ do punktu C, ze stałą prędkością i z
utrzymaniem określonej wartości siły docisku F prostopadłej do powierzchni. Przy takim
postępowaniu robot będzie ciął lub szlifował powierzchnię zgodnie z ustalonym powy\ej
opisem.
Rys. 22. Przykład zastosowanie dwuczłonowego robota płaskiego
2.2. Problem 1 zadanie kinematyki prostej
Pierwszym napotkanym problemem jest opisanie pozycji narzędzia oraz lokalizacji
punktów A i B (a najprawdopodobniej równie\ całej powierzchni S) we wspólnym układzie
współrzędnych. Ró\ne układy współrzędnych oraz związki między nimi przedstawiono w
dalszym cyklu wykładów.
Najczęściej manipulator rozpoznaje swoją pozycję za pomocą czujników
wewnętrznych (tzn. enkoderów pozycji), które są umieszczone na przegubach l i 2 w celu
bezpoÅ›redniego pomiaru kÄ…tów (zmiennych przegubowych) ¸1 i ¸2. Potrzebujemy zatem
wyrazić pozycje A i B w zale\ności od tych kątów. Prowadzi to do tzw. zadania kinematyki
prostej, którego istotą jest określenie pozycji i orientacji końcówki roboczej lub narzędzia w
zale\ności od zmiennych przegubowych.
Przyjęło się ustalać stały układ współrzędnych, nazywany układem odniesienia lub
układem bazowym, względem którego rozpatruje się wszystkie obiekty łącznie z
manipulatorem. W naszym przykładzie przyjmijmy układ bazowy O0x0z0 le\ący w podstawie
robota, jak to pokazano na rys. 23.
Rys. 23. Układ współrzędnych w dwuczłonowym robocie płaskim
W układzie tym współrzędne (x, y) narzędzia są wyra\one wzorami
x = a1 cos¸1 + a2 cos(¸1 + ¸2) (1)
y = a1 sin¸1 + a2 sin(¸1 + ¸2) (2)
Z kolei orientacja układu narzędzia względem układu bazowego jest opisana cosinusami
kierunkowymi osi .x2 i y2 względem osi x0 i y0, czyli
i2 " i0 = 1 · 1 · cos(¸1 + ¸2) = cos(¸1 + ¸2) (3)
i2 " j0 = 1 · 1 · cos[90 - (¸1 + ¸2)] = sin(¸1 + ¸2) (4)
j2 " i0 = 1 · 1 · cos[90 + (¸1 + ¸2)] = -sin(¸1 + ¸2) (5)
j2 " j0 = 1 · 1 · cos(¸1 + ¸2) = cos(¸1 + ¸2) (6)
Zale\ności te mo\emy przedstawić w postaci macierzy orientacji
i2i0 j2i0 cos(¸1 +¸2 ) - sin(¸1 +¸2 )
îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚
= (7)
ïÅ‚i j0 j2 j0 śł ïÅ‚sin(¸ +¸2 ) cos(¸1 +¸2 ) śł
ðÅ‚ 2 ûÅ‚ ðÅ‚ 1 ûÅ‚
gdzie i0, j0 sÄ… standardowymi ortonormalnymi wektorami jednostkowymi w bazowym
układzie współrzędnych, i2, j2 są standardowymi ortonormalnymi wektorami jednostkowymi
w układzie współrzędnych narzędzia.
Wzory (1)-(7) są nazywane równaniami kinematyki prostej. Dla robota o sześciu
stopniach swobody równania te są bardziej skomplikowane i nie da ich się napisać tak łatwo,
jak dla manipulatora dwuczłonowego. Ogólna procedura, którą opiszemy w czasie
pózniejszych wykładów, ustala układ współrzędnych w ka\dym przegubie i umo\liwia
przejście między tymi układami współrzędnych, wykorzystując przekształcenia macierzowe.
Jest ona oparta na konwencji Denavita-Hartenberga. W celu uproszczenia przejścia między
układami współrzędnych zastosujemy współrzędne jednorodne i przekształcenia jednorodne.
2.3. Problem 2 zadanie kinematyki odwrotnej
Teraz, majÄ…c dane w przegubach kÄ…ty ¸1 i ¸2, mo\emy okreÅ›lić współrzÄ™dne x i y
końcówki roboczej. Jednak\e aby nakazać robotowi ruch do pozycji B, potrzebujemy postąpić
odwrotnie, tzn. znalezć zmienne przegubowe ¸1 i ¸2 w zale\noÅ›ci od współrzÄ™dnych x i y w
pozycji B. Jest to tzw. zadanie kinematyki odwrotnej. Innymi słowy, mając współrzędne x i y
w równaniach (2) i (2) kinematyki prostej, chcemy je rozwiązać dla zmiennych
przegubowych. Poniewa\ równania kinematyki prostej są nieliniowe, znalezienie rozwiązania
mo\e nie być łatwe i w ogólności nie będzie to rozwiązanie jednoznaczne. Na przykład w
przypadku dwuczłonowego mechanizmu płaskiego mo\e w ogóle nie być rozwiązania, jeśli
dane współrzędne (x, y) są poza zasięgiem manipulatora. Gdy dane współrzędne (x, y)
mieszczą się w zasięgu manipulatora, mogą istnieć dwa rozwiązania, jak to pokazano na rys.
24. Konfiguracje te są określane łokieć u góry" lub łokieć u dołu". Mo\e równie\ istnieć
dokładnie jedno rozwiązanie, jeśli manipulator musi być całkowicie wyciągnięty w celu
osiągnięcia danego punktu. W pewnym przypadku mo\e te\ być nieskończenie wiele
rozwiązań.
y0
A
B
Aokieć u góry
x0
Aokieć u dołu
Rys. 24. RozwiÄ…zanie niejednoznaczne kinematyki odwrotnej
Rozwa\my schemat przedstawiony na rys. 25. Stosując równania cosinusów postaci
c2 = a2 + b2 2ab cos(Å‚), (8)
mo\na kÄ…t ¸2 opisać wzorem
2 2
x2 + y2 - a1 - a2
cos¸2 = := D (9)
2a1a2
Teraz mo\emy przedstawić ¸2 w postaci
¸2 = cos-1(D) (10)
y0
y
a2
c
¸2
a1
x0
¸1
x
Rys. 25. Wyznaczenie kÄ…ta ¸2 w przegubie drugim dwuczÅ‚onowego robota pÅ‚askiego
Jednak\e lepszym sposobem znalezienia kÄ…ta ¸2 jest zauwa\enie, \e jeÅ›li cos¸2 jest
dany wzorem (9), to sin¸2 jest dany odpowiednio wzorem
sin¸2 = Ä… 1- D2 (11)
i stąd mo\na wyznaczyć
Ä… 1-D2
¸2 = tan-1 (12)
D
Zaletą tego drugiego podejścia jest rozró\nienie obu konfiguracji łokieć u góry" i łokieć u
dołu" przez wybór odpowiedniego znaku w równaniu (12).
Wyznaczenie kÄ…ta ¸1 zrealizujemy w oparciu o rys. 26.
y0
y
a2
c
¸2
a1
¸Ä…
¸²
x0
¸1
x
Rys .26. Wyznaczenie kÄ…ta ¸1 w przegubie pierwszym dwuczÅ‚onowego robota pÅ‚askiego
Jeśli zauwa\ymy, \e
¸1 = ¸² - ¸Ä… (13)
oraz
y
¸² = tan-1 (14)
x
A następnie skorzystamy z twierdzenia sinusów, postaci
a b c
= = = 2R (15)
sinÄ… sin ² sin Å‚
w wyniku czego mo\emy napisać, \e
a2 sin(Ä„ -¸2 ) a2 sin¸2
sin¸Ä… = = (16)
x2 + y2 x2 + y2
Wykonując następnie proste przekształcenia, otrzymujemy następujące zale\ności
2
x2 - y2 - a2 sin¸2
cos¸Ä… = Ä… (17)
x2 + y2
a2 sin¸2
tg¸Ä… = Ä… (18)
2
x2 + y2 - a2 sin2 ¸2
Jeśli teraz poni\szą zale\ność
x2 + y2 = a12 + a22 + 2a1 a2 cos¸2 (19)
podstawimy do wzoru (18), wówczas otrzymamy
a2 sin¸2 a2 sin¸2
tg¸Ä… = Ä… = Ä… (20)
2 2 2
a1 + a2 + 2a1a2 cos¸2 - a2 sin2 ¸2 (a1 + a2 cos¸2 )2
a zatem
a2 sin¸2
¸Ä… = tg-1 (21)
a1 + a2 cos¸2
Podstawiając teraz zale\ności (14) i (21) do wzoru (13) otrzymamy zale\ności na wartość
kÄ…ta ¸1, okreÅ›lonÄ… wzorem
y a2 sin¸2
¸1 = ¸² -¸Ä… = arctg - tg-1 (22)
x a1 + a2 cos¸2
Na zakoÅ„czenie powy\szych rozwa\aÅ„ zauwa\my jeszcze, \e kÄ…t ¸1 zale\y od kÄ…ta ¸2.
Ma to znaczenie fizyczne, gdy\ oczekujemy ró\nych wartoÅ›ci kÄ…ta ¸1 w zale\noÅ›ci od tego,
które rozwiÄ…zanie wybierzemy dla kÄ…ta ¸2.
3. Pozostałe kwestie związane ze sterowaniem manipulatorem
3.1. Kinematyka prędkości
W celu śledzenia konturu ze stałą prędkością lub z określoną daną prędkością musimy
znać zale\ności między prędkością narzędzia a prędkościami przegubowymi. Po
zró\niczkowaniu równań (1) i (2) otrzymujemy
&- &+¸&)
&
x = -a1 sin¸1 Å"¸1 a2 sin(¸1 +¸2 )(¸1 2 (23)
&- &+¸&)
&
y = a1 cos¸1 Å"¸1 a2 cos(¸1 +¸2 )(¸1 2 (24)
x ¸1
îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚
Zastosowanie zapisu wektorowego x = i ¸ = pozwala przedstawić te zale\noÅ›ci w
ïÅ‚yśł ïÅ‚¸ śł
ðÅ‚ ûÅ‚ ðÅ‚ 2 ûÅ‚
postaci wyra\onej zapisem
îÅ‚- a1 sin¸1 - a2 sin(¸1 +¸2 ) - a2 sin(¸1 +¸2 ) îÅ‚ Å‚Å‚
Å‚Å‚ ¸& &
1
&
x = ïÅ‚ Å" = J¸ (25)
a1 cos¸1 + a2 cos(¸1 +¸2 ) a2 cos(¸1 +¸2 śł ïÅ‚ 2 śł
ðÅ‚ ûÅ‚
ðÅ‚¸&ûÅ‚
Macierz J zdefiniowana w równaniu (25) jest nazywana jakobianem manipulatora i
jest podstawowym obiektem określanym dla ka\dego manipulatora.
Wyznaczenie prędkości przegubowych na podstawie prędkości końcówki roboczej jest
koncepcyjnie proste, poniewa\ mamy tu zale\ność liniową. Zatem prędkości przegubowe
obliczamy z prędkości końcówki roboczej, stosując odwrotność jakobianu
&= &
¸ J-1x (26)
W celu wyznaczenia macierzy odwrotnej do macierzy Jacobiego skorzystamy ze
wzoru
1
J-1 = (JD )T (27)
det J
Po wykonaniu prostych, otrzymujemy
det J = a1 a2 sin¸2 (28)
oraz
a2 cos(¸1 +¸2 ) - a1 cos¸1 - a2 cos(¸1 +¸2 )
îÅ‚ Å‚Å‚
JD = ïÅ‚ (29)
śł
a2 sin(¸1 +¸2 ) - a1 sin¸1 - a2 sin(¸1 +¸2 )
ðÅ‚ ûÅ‚
A zatem podstawiając zale\ność (28) i (29) po transponowaniu, do wzoru (27) otrzymujemy
&
îÅ‚ Å‚Å‚ a2 cos(¸1 +¸2 ) a2 sin(¸1 +¸2 ) x
¸& îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚
1
1
= Å" (30)
ïÅ‚ śł
&
a1a2 sin¸2 ïÅ‚- a1 cos¸1 - a2 cos(¸1 +¸2 ) - a1 sin¸1 - a2 sin(¸1 +¸2 )śł ïÅ‚yśł
ðÅ‚ ûÅ‚ ðÅ‚ ûÅ‚
ðÅ‚¸&ûÅ‚
2
Zauwa\my, \e jeÅ›li wyznacznik det J jakobianu z wzoru (25) jest równy a1 a2 sin¸2.
Jakobian nie bÄ™dzie wiÄ™c miaÅ‚ odwrotnoÅ›ci, gdy ¸2 = 0 lub ¸2 = Ä„. W takim przypadku mówi
siÄ™, \e manipulator ma konfiguracjÄ™ osobliwÄ…, takÄ… jak pokazano na rys. 27 dla ¸2 = 0.
Rys. 27. konfiguracja osobliwa manipulatora
Wyznaczenie konfiguracji osobliwych jest wa\ne z kilku powodów. W konfiguracji
osobliwej mamy do czynienia z pewnymi nieskończenie małymi ruchami, które są
niewykonalne. Oznacza to, \e końcówka robocza manipulatora nie mo\e wykonywać ruchów
w pewnych kierunkach. W przedstawionym przykładzie końcówka robocza nie mo\e
poruszać się z konfiguracji osobliwej w kierunku równoległym do a1. Konfiguracje osobliwe
są tak\e związane z niejednoznacznością rozwiązań kinematyki odwrotnej. W omawianym
przykładzie dla danej pozycji końcówki roboczej, mamy w ogólności dwa mo\liwe
rozwiÄ…zania. Zauwa\my, \e konfiguracja osobliwa oddziela te dwa rozwiÄ…zania w takim
sensie, \e manipulator nie mo\e przejść z jednej konfiguracji do drugiej bez przejścia przez
osobliwość. Dlatego w wielu zastosowaniach bardzo wa\ne jest takie zaplanowanie ruchów
manipulatora, które pozwala ominąć konfiguracje osobliwe.
3.2. Problem dynamiki
Manipulator robota jest przede wszystkim urządzeniem pozycjonującym. Jeśli chcemy
sterować pozycją, to musimy znać właściwości dynamiczne manipulatora, \eby wiedzieć, jak
du\ą siłę nale\y wywrzeć w celu spowodowania ruchu. Gdy sita ta będzie za mała,
manipulator będzie zbyt wolny. Po przyło\eniu za du\ej siły mo\e nastąpić zderzenie z
obiektem lub oscylowanie wokół zadanej pozycji.
Wyprowadzenie dynamicznych równań ruchu dla robota nie jest zadaniem łatwym z
powodu du\ej liczby stopni swobody i występujących w układzie nieliniowości. W celu
realizacji tego zagadnienia (wyprowadzenia równań ruchu takiego systemu) stosuje się tzw.
metodykę wykorzystującą równania dynamiczne Lagrange'a. Dodatkowo dla członów
sztywnych pełny opis dynamiki robota obejmuje dynamikę silników, które są zródłem sił i
momentów, oraz dynamikę zespołów napędowych, które przenoszą moc z silnika do członu
manipulatora. Dlatego te\ zagadnienia dynamiki silników i zespołów napędowych oraz ich
wpływ na problemy sterowania nie mogą zostać pominięte.
3.3. Zagadnienie sterowania pozycyjnego
Do zaprojektowania algorytmów sterowania w celu wykonania zaprogramowanego
zadania wykorzystuje siÄ™ niejednokrotnie teoriÄ™ sterowania. Problem sterowania ruchem
składa się z problemu śledzenia i tłumienia zakłóceń. Polega on na określeniu wejścia
sterującego potrzebnego do śledzenia trajektorii, która została zaplanowana dla manipulatora,
przy równoczesnym tłumieniu zakłóceń, spowodowanych niemo\liwymi do modelowania
zjawiskami dynamicznymi, takimi jak tarcie i szum. Standardowe podejścia do sterowania
robota oparte są na metodzie analizy częstotliwościowej. Istotnymi zagadnieniami
dotyczącymi tych kwestii są tak\e pojęcia sterowania wyprzedzającego oraz techniki
obliczanego momentu dynamiki odwrotnej w celu uproszczenia zło\onych nieliniowych sił
oddziaływania między członami manipulatora. Ponadto przy u\yciu drugiej metody
Lapunowa korzysta się często z tzw. sterowania krzepkiego. inne dodatkowe zaawansowane
metody nieliniowej teorii sterowania, są niejednokrotnie przydatne do sterowania robotów o
du\ych mo\liwościach funkcjonalnych.
3.4. Sterowanie siłą
Gdy manipulator raz osiągnie pozycję B, musi odtwarzać kontur powierzchni S, zapewniając
stałą siłę prostopadłą do powierzchni. Mo\liwe jest, \e znając lokalizację obiektu i kształt
konturu, rozwiÄ…\emy to zadanie tylko za pomocÄ… sterowania pozycyjnego. W praktyce trudno
to jednak zrealizować. Poniewa\ sam manipulator ma du\ą sztywność, ka\dy błąd pozycji
spowodowany nieznajomością dokładnej lokalizacji powierzchni lub narzędzia mo\e
wywołać na końcówce roboczej wzrost sił do wartości ekstremalnych, które mogą zniszczyć
narzędzie, powierzchnię lub robota. Lepszym rozwiązaniem jest bezpośredni pomiar
działających sił i wykorzystanie schematu sterowania sitowego. W celu realizacji zagadnienia
sterowania siłą powszechnie stosowane są dwa rozwiązania: sterowanie hybrydowe i
sterowanie impedancyjne.
4. Ruchy sztywne i przekształcenie jednorodne
4.1. Wprowadzenie
Znaczna część kinematyki robota jest poświęcona ró\nym układom współrzędnych,
potrzebnym do przedstawienia poło\eń i orientacji obiektów sztywnych, oraz
przekształceniom tych układów współrzędnych. Rzeczywiście, geometria przestrzeni
trójwymiarowej i ruchów sztywnych odgrywa główną rolę we wszystkich aspektach
manipulacji robota. W tej części wykładu omówimy obroty (rotacje) i przesunięcia
(translacje) oraz wprowadzimy pojęcie przekształceń jednorodnych. Przekształcenie
jednorodne mo\na traktować jako operację, wyra\ającą jednocześnie obroty i przesunięcia za
pomocą jednej macierzy. W dalszej części wykładów zostanie to wykorzystane do
wyprowadzenia tzw. równań kinematyki prostej manipulatorów sztywnych.
4.2. Obroty
Rozpatrzmy zatem następującą sytuację: rys. 28 przedstawia sztywny obiekt S, do
którego przyło\ono układ współrzędnych Ox1y1z1.
Rys. 28. Układ współrzędnych związany z ciałem sztywnym
Załó\my, \e chcemy znalezć zale\ność pomiędzy współrzędnymi punktu P na
obiekcie S w układzie współrzędnych Ox1y1z1 a współrzędnymi tego punktu w stałym (nie
obróconym) układzie odniesienia Ox0y0z0. Niech {i0, j0, k0} oznacza standardową bazę
ortonormalną w układzie Ox0y0z0; wówczas i0, j0, k0 są wektorami jednostkowymi
odpowiednio wzdłu\ osi x0, y0, z0. Podobnie niech {i1, j1, k1} będzie standardową bazą
ortonormalną w układzie Ox1y1z1. Wektor od wspólnego początku O obu układów do punktu
P na obiekcie mo\e być przedstawiony w układzie Ox0y0z0 jako
p0 = p0x i0 + p0y j0 + p0z k0 (31)
albo w układzie Ox1y1z1 jako
p1 = p1x i1 + p1y j1 + p1z k1 (32)
Poniewa\ p0 i p1 są reprezentacjami tego samego wektora p, więc związki między
składowymi wektora p w obu układach współrzędnych mo\na zapisać w postaci
p0x = p0 i0= p1 i0 = p1x i1 i0 + p1y j1 i0+ p1z k1 i0 (33)
p0y = p0 j0= p1 j0 = p1x i1 j0 + p1y j1 j0+ p1z k1 j0 (34)
p0z = p0 k0= p1 k0 = p1x i1 k0 + p1y j1 k0+ p1z k1 k0 (35)
p0 x p1x
îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚
ïÅ‚ ïÅ‚
Jeśli przyjąć p0 = p0 y śł i p1 = p1y śł , to równania (33) (35) mo\emy zapisać jako równanie
ïÅ‚ śł ïÅ‚ śł
ïÅ‚ śł ïÅ‚ śł
p0z p1z
ðÅ‚ ûÅ‚ ðÅ‚ ûÅ‚
wektorowe
p0 = R01 p1, (36)
w którym
i1 Å"i0 j1 Å"i0 k1 Å"i0
îÅ‚ Å‚Å‚
ïÅ‚i
R1 = Å" j0 j1 Å" j0 k1 Å" j0 śł (37)
0 1
ïÅ‚ śł
ïÅ‚ śł
Å"k0 j1 Å" k0 k1 Å" k0 ûÅ‚
ðÅ‚i1
Macierz 3 x 3 reprezentuje przekształcenie punktu P ze współrzędnych w układzie
Ox1y1z1 na współrzędne w układzie Ox0y0z0. Je\eli punkt w układzie Ox1y1z1 jest określony za
pomocą wektora p1, wówczas R01 p1 reprezentuje ten sam wektor w układzie współrzędnych
Ox0y0z0.
Podobnie mo\emy napisać
p1x = p1 i1= p0 i1 = p0x i0 i1 + p0y j0 i1+ p0z k0 i1 (38)
p1y = p1 j1= p0 j1 = p0x i0 j1 + p0y j0 j1+ p0z k0 j1 (39)
p1z = p1 k1= p0 k1 = p0x i0 k1 + p0y j0 k1+ p0z k0 k1 (40)
gdzie
i0 Å"i1 j0 Å"i1 k0 Å"i1
îÅ‚ Å‚Å‚
0 ïÅ‚i
R1 = Å" j1 j0 Å" j1 k0 Å" j1 śł (41)
0
ïÅ‚ śł
ïÅ‚ śł
Å" k1 j0 Å" k1 k0 Å" k1ûÅ‚
ðÅ‚i0
Macierz R10 reprezentuje przekształcenie odwrotne do przekształcenia R01. Poniewa\ iloczyn
skalamy jest przemienny, tzn. i0 j0 = j0 i0 itd., więc
0 1 1
R1 = (R0 )-1 = (R0 )T (42)
Taka macierz, której odwrotność jest macierzą transponowaną, nazywa się macierzą
ortogonalną. Wektory kolumnowe macierzy R01 mają długość jednostkową i są wzajemnie
ortogonalne. Mo\na tak\e pokazać, \e det R01 = ą1. Je\eli ograniczymy się natomiast do
prawoskrętnego układu współrzędnych (rys. 29), wtedy det R01 = +1.
Macierze ortogonalne o wyznaczniku +1 są nazywane macierzami obrotów lub
rotacji. Zbiór wszystkich macierzy obrotów o wymiarze 3x3 określa się symbolem SO(3).
z
y
¸
x
Rys. 29. Prawoskrętny układ współrzędnych
Przykład 1.
Załó\my, \e ukÅ‚ad Ox1y1z1 obrócono o kÄ…t ¸ wokół osi z0 (rys. 30). Chcemy znalezć
macierz R01 tego przekształcenia. Zwróćmy uwagę, \e (zgodnie z konwencją) dodatni
kierunek kÄ…ta ¸ jest okreÅ›lony reguÅ‚Ä… prawej rÄ™ki, tzn. dodatni obrót o kÄ…t ¸ wokół osi z daÅ‚by
przesunięcie śruby prawoskrętnej wzdłu\ dodatniego kierunku osi z.
Rys. 30. Obrót wokół osi z0
Z rys. 30 widać, \e
i0 i1 = cos ¸ (43)
j1 i0 = -sin ¸ (44)
j0 j1 = cos ¸ (45)
i1 j0 = sin ¸ (46)
k0 k1 = 1 (47)
a wszystkie pozostałe iloczyny są równe 0. Wówczas to przekształcenie R01 jest postaci
cos¸
îÅ‚ -sin¸ 0
Å‚Å‚
ïÅ‚sin¸ cos¸ 0śł
R1 = (48)
0
ïÅ‚ śł
ïÅ‚ śł
0 0 1ûÅ‚
ðÅ‚
Macierz (48) jest nazywana podstawową macierzą obrotu lub rotacji (wokół osi z). W
takim przypadku bardziej przydatny jest opisowy zapis Rz,¸ zamiast R01 do oznaczenia tej
macierzy. Aatwo sprawdzić, \e podstawowa macierz obrotu Rz,¸ ma nastÄ™pujÄ…ce wÅ‚asnoÅ›ci
Rz,0 = I (49)
Rz,¸ Rz,Ć = Rz,¸ + Ć (50)
z czego wynika kolejna własność
Rz,¸-1 = Rz,-¸ (51)
Podobnie podstawowe macierze obrotów reprezentujące obroty wokół osi x i y są równe
1 0 0
îÅ‚ Å‚Å‚
ïÅ‚0 śł
R1 = R = cos¸ -sin¸ (52)
0 x,¸
ïÅ‚ śł
ïÅ‚
ðÅ‚0 sin¸ cos¸ śł
ûÅ‚
cos¸ 0 sin¸
îÅ‚ Å‚Å‚
ïÅ‚ śł
R1 = R = 0 1 0 (53)
0 y,¸
ïÅ‚ śł
ïÅ‚-sin¸ 0 cos¸
śł
ðÅ‚ ûÅ‚
i spełniają własności analogiczne do wyra\onych wzorami (49) (51).
Mo\emy tak\e interpretować daną macierz obrotu jako macierz wyznaczającą
orientację układu współrzędnych Ox1y1z1 względem układu Ox0y0z0. Rzeczywiście, kolumny
macierzy R01 są cosinusami kierunkowymi osi układu Ox1y1z1 w stosunku do osi układu
Ox0y0z0. Na przykład pierwsza kolumna (i1 i0, i1 j0, i1 k0)T macierzy R01 opisuje kierunek osi x1
względem układu Ox0y0z0.
Przykład 2.
Rozwa\my układy Ox0y0z0 i Ox1y1z1 pokazane na rys. 31.
Rys. 31. określenie wzajemnej orientacji dwóch układów współrzędnych
Rzutowanie wektorów jednostkowych i1, j1, k1 na i0, j0, k0 daje współrzędne wektorów
i1, j1, k1 w układzie Ox0y0z0. Widzimy, \e współrzędne wektora i1 są równe (l/ 2 , 0, l/ 2 )T,
współrzędne wektora j1 są równe (l/ 2 , 0, -l/ 2 )T i współrzędne wektora k1 są równe (0, 1,
0)T. Macierz obrotu R01 określająca orientację układu Ox1y1z1 względem układu Ox0y0z0
zawiera te współrzędne jako kolumny, tzn.
1 1
îÅ‚
0Å‚Å‚
ïÅ‚ śł
2 2
ïÅ‚
R1 = 0 0 1śł (54)
0
ïÅ‚ śł
1 -1
ïÅ‚
0śł
ïÅ‚ śł
2 2
ðÅ‚ ûÅ‚
W trzeciej interpretacji macierz obrotu R " SO(3) jest operatorem działającym na
wektory w ustalonym układzie współrzędnych Ox0y0z0. Inaczej mówiąc, zamiast odnoszenia
współrzędnych ustalonego wektora do dwóch ró\nych układów współrzędnych, wyra\enie
(41) mo\e reprezentować współrzędne punktu P1 w układzie Ox0y0z0 otrzymanego z punktu
P0 przez dany obrót.
Przykład 3.
Obracamy wektor p0 = (l, l, 0)T wokół osi y0 o kąt Ą/2, jak pokazano na rys. 32.
Rys. 32. Obrót wektora wokół osi
Otrzymany wektor p1 jest dany wzorem
0 0 1 1 0
îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚
ïÅ‚ ïÅ‚1śł ïÅ‚ śł
p1 = R Å" p0 = 0 1 0śł Å" = 1 (55)
y,Ä„ / 2
ïÅ‚ śł ïÅ‚ śł ïÅ‚ śł
ïÅ‚-1 0 0ûÅ‚ ðÅ‚0śł ðÅ‚
śł ïÅ‚ ïÅ‚-1ûÅ‚
śł
ðÅ‚ ûÅ‚
Podsumowanie:
W tym dziale zobaczyliśmy, \e macierz obrotu R " SO(3) mo\e być interpretowana na
trzy ró\ne sposoby:
1) reprezentuje przekształcenie współrzędnych punktu P w dwóch ró\nych układach,
2) wyznacza orientację przekształconego układu współrzędnych w odniesieniu do ustalonego
układu współrzędnych,
3) jest operatorem przekształcającym wektor p przez obrót w nowy wektor Rp w tym samym
układzie współrzędnych.
Konkretna interpretacja danej macierzy obrotu R zastosowanej w problemie musi być
sprecyzowana w kontekście tego problemu.
4.3. Składanie obrotów
W tym rozdziale omówimy składanie obrotów. Dla zrozumienia treści następnych
wykładów wa\ne jest, aby Czytelnik dobrze przyswoił sobie materiał z tej części, przed
przejściem dalej. Przypomnijmy, \e macierz R01 w równaniu (36) reprezentuje obrót między
układami współrzędnych Ox0y0z0 i Ox1y1z1. Załó\my, \e dokładamy trzeci układ
współrzędnych Ox2y2z2 powiązany z układami Ox0y0z0 i Ox1y1z1 przez obroty. Dany punkt P
mo\e być wtedy reprezentowany na trzy sposoby przez wektory: p0, p1, p2 w trzech układach
współrzędnych. Związki między tymi trzema reprezentacjami punktu P są następujące
p0 = R01 p1 (56)
p1 = R02 p2 (57)
p1 = R12 p2 (58)
gdzie ka\da macierz Rij jest macierzÄ… obrotu. Zauwa\my, \e macierze R01 i R02 reprezentujÄ…
obroty względem osi układu Ox0y0z0, podczas gdy R12 reprezentuje obrót względem układu
Ox1y1z1. Jeśli podstawimy wzór (58) do równości (56), to otrzymamy
p0 = R01 R12 p2 (59)
a po porównaniu zale\ności (57) i (59) dostajemy równość
R02 = R01 R12 (60)
Równanie (60) jest prawem składania dla obrotów. Oznacza, \e aby przekształcić
współrzędne punktu P z jego reprezentacji p2 w układzie Ox2y2z2 na reprezentację p0 w
układzie Ox0y0z0, mo\emy ją najpierw przekształcić na jego reprezentację p1, w układzie
Ox1y1z1, u\ywając macierzy R12, a potem przekształcić p1 na p0 u\ywając macierzy R01.
Natomiast równanie (59) mo\emy interpretować następująco. Załó\my początkowo,
\e wszystkie trzy układy pokrywają się. Najpierw obracamy układ Ox1y1z1 względem układu
Ox0y0z0 zgodnie z przekształceniem R01. Potem, przy pokrywających się układach Ox1y1z1 i
Ox2y2z2 obracamy układ Ox2y2z2 względem Ox1y1z1 zgodnie z przekształceniem R12. W
ka\dym przypadku układ, względem którego odbywa się obrót, nazywamy układem
bie\Ä…cym.
Uwaga! Odtąd dla wygody będziemy stosować skrócone zapisy funkcji
trygonometrycznych: c¸ = cos¸, S¸ = sin¸.
Przykład 4.
Załó\my, \e macierz R reprezentuje obrót o kąt Ć wokół bie\ącej osi y z następnym
obrotem o kÄ…t ¸ wokół bie\Ä…cej osi z. Wówczas macierz R jest okreÅ›lona wzorem
îÅ‚ cĆ 0 sĆ c¸ - s¸ 0 cĆ Å"c¸ - cĆ Å"s¸ sĆ Å‚Å‚
Å‚Å‚ îÅ‚
îÅ‚ Å‚Å‚
ïÅ‚ śł ïÅ‚ śł
ïÅ‚s
R = R Å" R = 0 1 0 Å" c¸ 0śł = s¸ c¸ 0 (61)
y,Ć z,¸ ¸
ïÅ‚ śł ïÅ‚ śł
ïÅ‚ śł
ïÅ‚- sĆ 0 cĆ śł
ïÅ‚ śł
0 0 1ûÅ‚ ïÅ‚-sĆ Å"c¸ sĆ Å"s¸ cĆ śł
ðÅ‚
ðÅ‚ ûÅ‚ ðÅ‚ ûÅ‚
Nale\y pamiętać, \e kolejność wykonywania obrotów, a co za tym idzie kolejność
mno\enia macierzy obrotów, jest decydująca. Obrót, w przeciwieństwie do poło\enia, nie jest
wielkością wektorową i nie podlega prawu dodawania wektorów, wobec tego składanie
obrotów na ogół nie jest przemienne.
Przykład 5.
Załó\my, \e poprzednio opisane obroty są wykonywane w odwrotnej kolejności, tzn.
najpierw obrót wokół bie\ącej osi z, potem obrót wokół bie\ącej osi y.
Wówczas macierz obrotu jest określona wzorem
c¸ îÅ‚ Å‚Å‚ îÅ‚
îÅ‚ -s¸ 0 cĆ 0 sĆ cĆ Å"c¸ - s¸ sĆ Å"c¸ Å‚Å‚
Å‚Å‚
ïÅ‚ śł ïÅ‚s
ïÅ‚s
R' = R Å" R = c¸ 0śł Å" 0 1 0 = Å"cĆ c¸ s¸ Å"sĆ śł (62)
z,¸ y,Ć ¸ ¸
ïÅ‚ śł ïÅ‚ śł
ïÅ‚ śł
ïÅ‚ śł
0 0 1ûÅ‚ ïÅ‚- sĆ 0 cĆ śł ïÅ‚ - sĆ 0 cĆ śł
ðÅ‚
ðÅ‚ ûÅ‚ ðÅ‚ ûÅ‚
Po porównaniu wzorów (61) i (62) wyraznie widać, \e R `" R'.
Często jest po\ądane wykonanie raczej ciągu obrotów, ka\dego wokół danego
ustalonego układu współrzędnych, ni\ wokół kolejnych bie\ących układów. Przykładowo
mo\emy chcieć dokonać obrotu wokół osi X0, a następnie obrotu wokół osi y0 (nie zaś y1).
Wtedy układ Ox0y0z0 jest tzw. układem ustalonym. W tym przypadku wcześniej określone
prawo składania nie jest prawdziwe, natomiast właściwym prawem składania jest po prostu
mno\enie kolejnych macierzy obrotów w kolejności odwrotnej do podanej wzorem (60).
Zauwa\my, \e same obroty nie są wykonywane w odwrotnej kolejności. Raczej są one
wykonywane wokół układu ustalonego ni\ wokół bie\ącego.
Przykład 6.
Załó\my, \e macierz obrotu R reprezentuje obrót o kąt Ć wokół osi y0, a następnie
obrót o kÄ…t ¸ wokół ustalonej osi Z0. OdnieÅ›my to do rys. 33. Niech p0, p1 i p2 bÄ™dÄ…
reprezentacjami wektora p.
Rys. 33. Składanie obrotów
PoczÄ…tkowo osie ustalone i bie\Ä…ce sÄ… te same, mianowicie Ox0y0z0, i dlatego mo\emy
napisać jak poprzednio
p0 = Ry,Ć p1 (63)
gdzie Ry,Ć jest podstawową macierzą obrotu wokół osi y. Teraz, poniewa\ drugi obrót odbywa
się wokół ustalonego układu Ox0y0z0, a nie bie\ącego układu Ox1y1z1, nie mo\emy stwierdzić,
czy
p1 = Rz,¸ p2 (64)
poniewa\ to wymagaÅ‚oby interpretacji Rz,¸ jako obrotu wokół osi z1. Aby móc u\yć naszego
wcześniejszego prawa składania, musimy mieć układy: ustalony i bie\ący. W tym przypadku
osie z0 i z1 nało\one na siebie. Dlatego trzeba najpierw cofnąć" poprzedni obrót, następnie
wykonać obrót wokół osi z0 i na koniec przywrócić wyjściowe przekształcenie, czyli
p1 = Ry,-Ć Rz,¸ Ry,Ć p2 (65)
To jest właściwe wyra\enie, a nie zale\ność (64). Teraz podstawiając je do wzoru (63),
otrzymujemy
P0 = Ry,Ć p1 = Ry,Ć Ry,-Ć Rz,¸ Ry,Ć p2 (66)
Nie musimy pamiętać powy\szego wyprowadzenia; wystarczy zauwa\yć przez
porównanie wzorów (61) i (66), \e otrzymujemy te same podstawowe macierze obrotów w
odwrotnej kolejności.
Prawo składania obrotów mo\emy podsumować następującą obserwacją. Dla danego
układu ustalonego Ox0y0z0, układu bie\ącego Ox1y1z1 i macierzy obrotu R01 wią\ącej te
układy, je\eli trzeci układ Ox2y2z2 jest otrzymany przez obrót R12 wykonany względem
układu bie\ącego, to aby otrzymać obrót R02 mno\ymy prawostronnie macierz R01 przez R12,
czyli
R02 = R01 R12 (67)
Je\eli drugi obrót ma być wykonany względem układu ustalonego, to mno\ymy
lewostronnie macierz R01 przez R12, i otrzymujemy
R02 = R12 R01 (68)
W ka\dym przypadku macierz R02 reprezentuje przekształcenie między układami Ox0y0z0 i
Ox2y2z2. Jednak\e układ, który powstaje z zale\ności (67), będzie inny od powstałego z
zale\ności (68).
4.4. Obrót wokół dowolnej osi
Obroty nie zawsze są wykonywane wokół osi układu współrzędnych. Często jesteśmy
zainteresowani obrotem wokół dowolnej osi w przestrzeni. Niech k = (kx, ky, kz)T będzie
wyra\onym w układzie Ox0y0z0 wektorem jednostkowym, definiującym pewną oś. Chcemy
wyprowadzić macierz obrotu Rk,¸ reprezentujÄ…cÄ… obrót o kÄ…t ¸ wokół tej osi (rys. 34).
Rys. 34. Obrót wokół dowolnej osi
Istnieje kilka sposobów otrzymania macierzy Rk,¸. NajÅ‚atwiejszym jest obrócenie
wektora k na jednÄ… z osi ukÅ‚adu, np. z0, potem obrócenie wokół osi z0 o kÄ…t ¸ i wreszcie
obrócenie wektora k z powrotem do jego wyjściowego poło\enia. Na rys. 34 pokazano, \e
mo\emy obrócić wektor k na oś z0, obracając najpierw wokół osi z0 o kąt -ą, potem zaś
obracajÄ…c wokół osi y0 o kÄ…t -². Poniewa\ wszystkie obroty sÄ… wykonywane wzglÄ™dem
ustalonego ukÅ‚adu Ox0y0z0, wiÄ™c macierz Rk,¸ otrzymamy jako zÅ‚o\enie
Rk,¸ = Rz,Ä… Ry,² Rz,¸ Ry,-² Rz,-Ä… (69)
Na podstawie rys. 34 widzimy, \e jeśli k jest wektorem jednostkowym, to
ky
sinÄ… = (70)
2 2
kx + ky
kx
cosÄ… = (71)
2 2
kx + ky
2 2
sin ² = kx + ky (72)
cos² = kz (73)
Po podstawieniu równań (70)-(73) do zale\ności (69) i dość długich lecz niezbyt
zło\onych obliczeniach otrzymujemy
2
îÅ‚ Å‚Å‚
kx v¸ + cos¸ kxkyv¸ - kz sin¸ kxkzv¸ + ky sin¸
ïÅ‚ śł
2
R = (74)
k,¸
ïÅ‚kxkyv¸ + kz sin¸ ky v¸ + cos¸ kykzv¸ - kx sin¸ śł
2
ïÅ‚kxkzv¸ - ky sin¸ kykzv¸ - kx sin¸ kz v¸ + cos¸ śł
ðÅ‚ ûÅ‚
Gdzie v¸ = 1 cos¸ .
4.4. Dalsze własności obrotów
Dziewięć elementów rij dowolnej macierzy obrotów R jak we wzorze (37) nie jest
wielkościami niezale\nymi. Rzeczywiście, ciało sztywne ma co najwy\ej trzy obrotowe
stopnie swobody i dlatego co najwy\ej trzy wielkości są potrzebne do wyznaczenia jego
orientacji. W tej części wykładu omówimy trzy sposoby reprezentacji dowolnego obrotu przy
u\yciu tylko trzech niezale\nych wielkości. Pierwszym jest tzw. reprezentacja os-kąt Drugi
to reprezentacja za pomocą kątów Eulera, a trzeci reprezentacja obrót-nachylenie-
odchylenie".
Reprezentacja oÅ›-kÄ…t
Macierz obrotu R " SO(3) mo\na zawsze przedstawić w postaci pojedynczego obrotu
wokół odpowiedniej osi o odpowiedni kąt jako
R = Rk,¸ (75)
gdzie k jest wektorem jednostkowym definiujÄ…cym oÅ› obrotu, a ¸ jest kÄ…tem obrotu wokół tej
osi. Równanie (75) jest nazywane reprezentacją oś-kąt macierzy R. Jeśli zatem mamy
dowolnÄ… macierz obrotu R o elementach (rij), to kÄ…t ¸ i oÅ› wektora k odpowiadajÄ…ce tej
macierzy sÄ… dane wyra\eniami
r11 + r22 + r33 -1
Tr(R) -1 ëÅ‚ öÅ‚
öÅ‚
¸ = cos-1ëÅ‚ = cos-1 (76)
ìÅ‚ ÷Å‚ ìÅ‚ ÷Å‚
2 2
íÅ‚ Å‚Å‚ íÅ‚ Å‚Å‚
Gdzie Tr(R) oznacza ślad macierzy R oraz
r32
îÅ‚ - r23
Å‚Å‚
1
ïÅ‚r - r31 śł
k = (77)
13
ïÅ‚ śł
2sin¸
ïÅ‚ - r12 ûÅ‚
śł
ðÅ‚r21
Reprezentacja oÅ›-kÄ…t" nie jest jednoznaczna, poniewa\ obrót o kÄ…t - ¸ wokół osi wektora k
jest taki sam, jak obrót o kÄ…t ¸ wokół osi wektora k, tzn.
Rk,¸ = R-k,-¸ (78)
Je\eli ¸ = 0, to R jest macierzÄ… jednostkowÄ…, a oÅ› obrotu nie jest okreÅ›lona.
Przykład 7.
Załó\my, \e macierz R zostaÅ‚a utworzona przez obrót o 90° wokół osi z0, nastÄ™pnie
przez obrót o 30° wokół osi y0, a w koÅ„cu przez obrót o 60° wokół osi x0. Wówczas
1 0 0 cos30° 0 sin 30°
îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚
ïÅ‚0 ïÅ‚ śł
R = R R R = cos60° - sin 60°Å›Å‚ Å" 0 1 0 Å"
x,60 y,30 z,90
ïÅ‚ śł ïÅ‚ śł
ïÅ‚ śł
ðÅ‚0 sin 60° cos60° śł ïÅ‚- sin 30° 0 cos30°ûÅ‚
ûÅ‚ ðÅ‚
îÅ‚ Å‚Å‚
3 1
0 -
ïÅ‚ śł (79)
2 2
cos90° - sin 90° 0
îÅ‚ Å‚Å‚
ïÅ‚ śł
1 3 3śł
ïÅ‚sin
ïÅ‚
Å" 90° cos90° 0śł = - -
ïÅ‚ śł
ïÅ‚
2 4 4śł
ïÅ‚ śł
0 0 1ûÅ‚ ïÅ‚ śł
ðÅ‚
3 1 3
ïÅ‚ śł
2 4 4
ïÅ‚ śł
ðÅ‚ ûÅ‚
Widzimy, \e Tr(R) = 0 i stąd odpowiedni kąt ze wzoru (76) jest równy
1
¸ = cos-1(- ) =120° (80)
2
Natomiast z wzoru (77) oś jest określona przez wektor
T
îÅ‚ Å‚Å‚
3 1 1 1 1
k = , - , + (81)
ïÅ‚ śł
3 2 2
2 3 2 3
ðÅ‚ ûÅ‚
Powy\sza reprezentacja oś-kąt" charakteryzuje dany obrót za pomocą czterech
wielkoÅ›ci, a mianowicie trzech skÅ‚adowych osi wektora k oraz kÄ…ta ¸. Jednak, poniewa\ oÅ›
wektora k jest wyznaczona przez wektor jednostkowy, tylko dwie z jej składowych są
niezale\ne. Trzecia jest narzucona przez warunek, \e wektor k ma długość jednostkową.
Dlatego tylko trzy niezale\ne wielkości są wymagane w tej reprezentacji obrotu R. Mo\emy
przedstawić reprezentację kąt-oś" za pomocą pojedynczego wektora r postaci
r = (rx ,ry ,rz )T = (¸ Å"kx,¸ Å" ky ,¸ Å" kz )T (82)
Zauwa\my, \e poniewa\ k jest wektorem jednostkowym, więc długość wektora r jest równa
mierze kÄ…ta ¸, a kierunek jest ten sam co osi k.
KÄ…ty Eulera
Bardziej ogólną metodą wyznaczania macierzy obrotu w zale\ności od trzech
niezale\nych wielkości jest u\ycie tzw. kątów Eulera. Rozwa\my ponownie ustalony układ
współrzędnych Ox0y0z0 i układ obrócony Ox1y1z1 pokazane na rys. 35. Mo\emy wówczas
okreÅ›lić orientacjÄ™ ukÅ‚adu Ox1y1z1 wzglÄ™dem ukÅ‚adu Ox0y0z0 za pomocÄ… trzech kÄ…tów (¸, Ć, È)
znanych jako kąty Eulera, a otrzymanych przez trzy kolejne, następujące obroty: najpierw
obrót wokół osi z o kÄ…t Ć, nastÄ™pnie obrót wokół bie\Ä…cej osi y o kÄ…t ¸, na koÅ„cu zaÅ› obrót
wokół bie\Ä…cej osi z o kÄ…t È.
Rys. 35. Reprezentacja kątów Eulera
W terminologii podstawowych macierzy obrotów wynikowy obrót R01 mo\e być
otrzymany jako iloczyn
cosĆ
îÅ‚ - sinĆ 0 cos¸ 0 sin¸ cosÈ - sinÈ 0
Å‚Å‚ îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚
ïÅ‚sinĆ cosĆ 0śł Å" ïÅ‚ śł ïÅ‚sinÈ cosÈ 0śł =
R1 = R Å" R Å" R = 0 1 0 Å"
0 z,Ć y,¸ z,È
ïÅ‚ śł ïÅ‚ śł ïÅ‚ śł
ïÅ‚ śł ïÅ‚-
śł ïÅ‚ śł
0 0 1ûÅ‚ ðÅ‚ sin¸ 0 cos¸ 0 0 1ûÅ‚
ðÅ‚ ûÅ‚ ðÅ‚
(83)
cosĆ cos¸ cosÈ - sinĆ sinÈ - cosĆ cos¸ sinÈ - sinĆ cosÈ cosĆ sin¸
îÅ‚ Å‚Å‚
ïÅ‚sinĆ śł
= cos¸ cosÈ + cosĆ sinÈ - sinĆ cos¸ sinÈ + cosĆ cosÈ sinĆ sin¸
ïÅ‚ śł
ïÅ‚ śł
- sin¸ cosÈ sin¸ sinÈ cos¸
ðÅ‚ ûÅ‚
KÄ…ty obrotu, nachylenia i odchylenia
Macierz obrotu R mo\e tak\e być określona jako iloczyn kolejnych obrotów wokół osi
układu współrzędnych x0, y0, z0 wziętych w określonej kolejności. Obroty te określają tzw. kąty
obrotu, nachylenia i odchylenia, które mo\emy tak\e zapisać jako Ć, ¸, È. Zilustrowano je na
rys. 36.
Rys. 36. KÄ…ty obrotu, nachylenia, odchylenia (RPY Roll, Pitch, Yaw)
Określamy kolejność obrotów jako x-y-z, innymi słowy najpierw odchylenie wokół osi
x0 o kÄ…t È, potem nachylenie wokół osi y0 o kÄ…t ¸ i ostatecznie obrót wokół osi Z0 kÄ…t Ć.
Poniewa\ kolejne obroty są odnoszone do układu ustalonego, wynikowa macierz
przekształcenia jest dana przez iloczyn
cosĆ
îÅ‚ - sinĆ 0 cos¸ 0 sin¸ 1 0 0
Å‚Å‚ îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚
ïÅ‚sinĆ cosĆ 0śł Å" ïÅ‚ śł ïÅ‚0 śł
R1 = R Å" R Å" R = 0 1 0 Å" cosÈ - sinÈ =
0 z,Ć y,¸ x,È
ïÅ‚ śł ïÅ‚ śł ïÅ‚ śł
ïÅ‚ śł ïÅ‚-
śł ïÅ‚ śł
0 0 1ûÅ‚ ðÅ‚ sin¸ 0 cos¸ sinÈ cosÈ
ðÅ‚ ûÅ‚ ðÅ‚0 ûÅ‚
(84)
cosĆ cos¸ - sinĆ cosÈ + cosĆ sin¸ sinÈ sinĆ sinÈ + cosĆ sin¸ cosÈ
îÅ‚ Å‚Å‚
ïÅ‚sinĆ śł
= cos¸ cosĆ sinÈ + sinĆ sin¸ sinÈ - cosĆ sinÈ + sinĆ sin¸ cosÈ
ïÅ‚ śł
ïÅ‚ - sin¸ cos¸ sinÈ cos¸ cosÈ
śł
ðÅ‚ ûÅ‚
Oczywiście zamiast odchylenia-nachylenia-obrotu względem układów ustalonych
mo\emy tak\e interpretować powy\sze przekształcenie jako obrót-nachylenie-odchylenie, w
tej kolejności, rozpatrując ka\de w stosunku do układu bie\ącego. Końcowym rezultatem jest
ta sama macierz (84).
Wyszukiwarka
Podobne podstrony:
CHRAPEK,podstawy robotyki, Przyk?y konstrukcji robotów przemys owychCHRAPEK,podstawy robotyki, Definicje i klasyfikacja robotów przemysłowychCHRAPEK,podstawy robotyki, Metodyka wprowadzania robotów do przemysłuCHRAPEK,podstawy robotyki, Sterowanie robotów przemysłowychCHRAPEK,podstawy robotyki, Urz dzenia chwytaj? i g owice technologiczne robotów przemys owych cz 2Elementy składowe i struktura robotów cz 1Elementy składowe i struktura robotów cz 2CHRAPEK,podstawy robotyki, Roboty przemysłowe jako narzędziaszafran,podstawy automatyki, elementy wykonawczePodstawy RobotykiPodstawy Robotyki PR W 31 33szafran,podstawy automatyki,elementy UAR obiektuwer 7 Podstawy Robotyki skrypt 13 Kopiujwięcej podobnych podstron