CHRAPEK,podstawy robotyki, elementy sk adowe i struktura robotów

background image

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 l

1

oraz l

i+1

. Oś

obrotu przegubu obrotowego lub oś, wzdłuż której następuje przemieszczenie w przegubie
pryzmatycznym, oznaczymy przez z

i

, 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

background image

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

background image

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 T

3

735 firmy

Cincinnati Milacron, pokazanym na rys. 6. W tej konstrukcji oś z

2

jest równoległa do osi z

1

, a

obie osie z

1

i z

2

są prostopadłe do osi

Z

0

.

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.

background image

Rys. 6. Manipulator T

3

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

background image

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 z

1

i z

2

, 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

background image

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 z

0

, z

1

, z

2

wzajemnie prostopadłe,

manipulator SCARA ma osie z

0

, z

1

, z

2

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

background image

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

background image

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

background image

kartezjańskie są korzystne w zastosowaniach do montażu na blacie stołu oraz do transportu

materiałów lub ładunków (jako robot portalowy).

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 T

3

(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 T

3

735 ma pięć

l

2

z

y

l

1

l

3

x

background image

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

background image

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.

background image

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

background image

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 O

0

x

0

z

0

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 .x

2

i y

2

względem osi x

0

i y

0

, czyli

i

2

• i

0

= 1 · 1 · cos(

θ

1

+

θ

2

) = cos(

θ

1

+

θ

2

)

(3)

i

2

• j

0

= 1 · 1 · cos[90 - (

θ

1

+

θ

2

)] = sin(

θ

1

+

θ

2

)

(4)

j

2

• i

0

= 1 · 1 · cos[90 + (

θ

1

+

θ

2

)] = -sin(

θ

1

+

θ

2

)

(5)

j

2

• j

0

= 1 · 1 · cos(

θ

1

+

θ

2

) = cos(

θ

1

+

θ

2

)

(6)

Zależności te możemy przedstawić w postaci macierzy orientacji

+

+

+

+

=

)

cos(

)

sin(

)

sin(

)

cos(

j

j

j

i

i

j

i

i

2

1

2

1

2

1

2

1

0

2

0

2

0

2

0

2

θ

θ

θ

θ

θ

θ

θ

θ

(7)

gdzie

i

0

,

j

0

są standardowymi ortonormalnymi wektorami jednostkowymi w bazowym

układzie współrzędnych,

i

2

,

j

2

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

background image

późniejszych 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. znaleźć 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ń.

Rys. 24. Rozwiązanie niejednoznaczne kinematyki odwrotnej


Rozważmy schemat przedstawiony na rys. 25. Stosując równania cosinusów postaci

c

2

= a

2

+ b

2

– 2ab cos(

γ

),

(8)

można kąt

θ

2

opisać wzorem

D

a

a

a

a

y

x

=

+

=

:

2

cos

2

1

2

2

2

1

2

2

2

θ

(9)

Teraz możemy przedstawić

θ

2

w postaci

θ

2

= cos

-1

(D)

(10)


x

0

y

0

A

B

Łokie

ć

u góry

Łokie

ć

u dołu

background image

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

2

2

1

sin

D

±

=

θ

(11)

i

stąd można wyznaczyć

D

-D

2

1

2

1

tan

±

=

θ

(12)

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.

Rys .26. Wyznaczenie kąta

θ

1

w przegubie pierwszym dwuczłonowego robota płaskiego


Jeśli zauważymy, że

θ

1

=

θ

β

-

θ

α

(13)

oraz

x

x

0

y

0

y

θ

1

θ

2

a

1

a

2

c

x

0

y

0

y

x

θ

1

θ

2

a

1

a

2

c

θ

α

θ

β

background image

x

y

1

tan

=

β

θ

(14)

A następnie skorzystamy z twierdzenia sinusów, postaci

R

c

b

a

2

sin

sin

sin

=

=

=

γ

β

α

(15)

w wyniku czego możemy napisać, że

2

2

2

2

2

2

2

2

sin

)

sin(

sin

y

x

a

y

x

a

+

=

+

=

θ

θ

π

θ

α

(16)

Wykonując następnie proste przekształcenia, otrzymujemy następujące zależności

2

2

2

2

2

2

2

sin

cos

y

x

a

y

x

+

±

=

θ

θ

α

(17)

2

2

2

2

2

2

2

2

sin

sin

tg

θ

θ

θ

α

a

y

x

a

+

±

=

(18)

Jeśli teraz poniższą zależność

x

2

+ y

2

= a

1

2

+ a

2

2

+ 2a

1

a

2

cos

θ

2

(19)

podstawimy do wzoru (18), wówczas otrzymamy

2

2

2

1

2

2

2

2

2

2

2

2

1

2

2

2

1

2

2

)

cos

(

sin

sin

cos

2

sin

tg

θ

θ

θ

θ

θ

θ

α

a

a

a

a

a

a

a

a

a

+

±

=

+

+

±

=

(20)

a zatem

2

2

1

2

2

1

-

cos

sin

tg

θ

θ

θ

α

a

a

a

+

=

(21)

Podstawiając teraz zależności (14) i (21) do wzoru (13) otrzymamy zależności na wartość
kąta

θ

1

, określoną wzorem

2

2

1

2

2

1

-

1

cos

sin

tg

arctg

θ

θ

θ

θ

θ

α

β

a

a

a

x

y

+

=

=

(22)

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

)

)(

sin(

sin

2

1

2

1

2

1

1

1

θ

θ

θ

θ

θ

θ

&

&

&

&

+

+

=

a

a

x

(23)

)

)(

cos(

cos

2

1

2

1

2

1

1

1

θ

θ

θ

θ

θ

θ

&

&

&

&

+

+

=

a

a

y

(24)

Zastosowanie zapisu wektorowego

=

y

x

x

i

=

2

1

θ

θ

θ

pozwala przedstawić

te zależności w

postaci wyrażonej zapisem

background image

θ

J

cos(

)

cos(

cos

)

sin(

)

sin(

sin

x

2

1

2

1

2

2

1

2

1

1

2

1

2

2

1

2

1

1

&

&

&

&

=

+

+

+

+

+

=

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

a

a

a

a

a

a

(25)

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

x

J

θ

-1

&

&=

(26)

W celu wyznaczenia macierzy odwrotnej do macierzy Jacobiego skorzystamy ze

wzoru

T

D

)

J

(

J

det

1

J

1

-

=

(27)

Po wykonaniu prostych, otrzymujemy

det

J = a1 a2 sin

θ

2

(28)

oraz

+

+

+

+

=

)

sin(

sin

)

sin(

)

cos(

cos

)

cos(

J

2

1

2

1

1

2

1

2

2

1

2

1

1

2

1

2

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

a

a

a

a

a

a

D

(29)

A zatem podstawiając zależność (28) i (29) – po transponowaniu, do wzoru (27) otrzymujemy

+

+

+

+

=

y

x

a

a

a

a

a

a

a

a

&

&

&

&

)

sin(

sin

)

cos(

cos

)

sin(

)

cos(

sin

1

2

1

2

1

1

2

1

2

1

1

2

1

2

2

1

2

2

2

1

2

1

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

(30)

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

a

1

. 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

background image

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 dynamic

z

ne 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 syst

e

mu) 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ą źró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.

background image

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 Ox

1

y

1

z

1

.

Rys. 28. Układ współrzędnych związany z ciałem sztywnym


Załóżmy, że chcemy znaleźć zależność pomiędzy współrzędnymi punktu P na

obiekcie S w układzie współrzędnych Ox

1

y

1

z

1

a współrzędnymi tego punktu w stałym (nie

obróconym) układzie odniesienia Ox

0

y

0

z

0

. Niech {i

0

, j

0

, k

0

} oznacza standardową bazę

ortonormalną w układzie Ox

0

y

0

z

0

; wówczas i

0

, j

0

, k

0

są wektorami jednostkowymi

odpowiednio wzdłuż osi x

0

,

y

0

,

z

0

.

Podobnie niech {i

1

, j

1

, k

1

} będzie standardową bazą

ortonormalną w układzie Ox

1

y

1

z

1

. Wektor od wspólnego początku O obu układów do punktu

P na obiekcie może być przedstawiony w układzie Ox

0

y

0

z

0

jako

p

0

= p

0x

i

0

+ p

0y

j

0

+ p

0z

k

0

(31)

albo w układzie Ox

1

y

1

z

1

jako

p

1

= p

1x

i

1

+ p

1y

j

1

+ p

1z

k

1

(32)

background image

Ponieważ p

0

i p

1

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

p

0x

= p

0

i

0

= p

1

i

0

= p

1x

i

1

i

0

+ p

1y

j

1

i

0

+ p

1z

k

1

i

0

(33)

p

0y

= p

0

j

0

= p

1

j

0

= p

1x

i

1

j

0

+ p

1y

j

1

j

0

+ p

1z

k

1

j

0

(34)

p

0z

= p

0

k

0

= p

1

k

0

= p

1x

i

1

k

0

+ p

1y

j

1

k

0

+ p

1z

k

1

k

0

(35)

Jeśli przyjąć

=

z

y

x

p

p

p

0

0

0

0

p

i

=

z

y

x

p

p

p

1

1

1

1

p

, to równania (33) – (35) możemy zapisać jako równanie

wektorowe

p

0

=

R

0

1

p

1

,

(36)

w którym

=

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

1

0

k

k

k

j

k

i

j

k

j

j

j

i

i

k

i

j

i

i

R

(37)

Macierz 3 x 3 reprezentuje przekształcenie punktu P ze współrzędnych w układzie

Ox

1

y

1

z

1

na współrzędne w układzie Ox

0

y

0

z

0

. Jeżeli punkt w układzie Ox

1

y

1

z

1

jest określony za

pomocą wektora

p

1

, wówczas

R

0

1

p

1

reprezentuje ten sam wektor w układzie współrzędnych

Ox

0

y

0

z

0

.

Podobnie możemy napisać

p

1x

=

p

1

i

1

=

p

0

i

1

= p

0x

i

0

i

1

+ p

0y

j

0

i

1

+ p

0z

k

0

i

1

(38)

p

1y

=

p

1

j

1

=

p

0

j

1

= p

0x

i

0

j

1

+ p

0y

j

0

j

1

+ p

0z

k

0

j

1

(39)

p

1z

=

p

1

k

1

=

p

0

k

1

= p

0x

i

0

k

1

+ p

0y

j

0

k

1

+ p

0z

k

0

k

1

(40)

gdzie

=

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

0

1

k

k

k

j

k

i

j

k

j

j

j

i

i

k

i

j

i

i

R

(41)

Macierz

R

1

0

reprezentuje przekształcenie odwrotne do przekształcenia

R

0

1

.

Ponieważ iloczyn

skalamy jest przemienny, tzn.

i

0

j

0

=

j

0

i

0

itd., więc

T

R

R

R

)

(

)

(

1

0

1

1

0

0

1

=

=

(42)

Taka macierz, której odwrotność jest macierzą transponowaną, nazywa się macierzą

ortogonalną. Wektory kolumnowe macierzy

R

0

1

mają długość jednostkową i są wzajemnie

ortogonalne. Można także pokazać, że det

R

0

1

= ±1. Jeżeli ograniczymy się natomiast do

prawoskrętnego układu współrzędnych (rys. 29), wtedy det

R

0

1

= +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).


background image

Rys. 29. Prawoskrętny układ współrzędnych

Przykład 1.

Załóżmy, że układ Ox

1

y

1

z

1

obrócono o kąt

θ

wokół osi z

0

(rys. 30). Chcemy znaleźć

macierz R

0

1

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 z

0

Z rys. 30 widać, że

i

0

i

1

= cos

θ

(43)

j

1

i

0

= -sin

θ

(44)

j

0

j

1

= cos

θ

(45)

i

1

j

0

= sin

θ

(46)

k

0

k

1

= 1

(47)

a wszystkie pozostałe iloczyny są równe 0. Wówczas to przekształcenie R

0

1

jest postaci

x

y

z

θ

background image

=

1

0

0

0

cos

sin

0

sin

-

cos

R

1

0

θ

θ

θ

θ

(48)

Macierz (48) jest nazywana

podstawową macierzą obrotu lub rotacji (wokół osi z). W

takim przypadku bardziej przydatny jest opisowy zapis

R

z,

θ

zamiast R

0

1

do oznaczenia tej

macierzy. Łatwo sprawdzić, że podstawowa macierz obrotu

R

z,

θ

ma następujące własności

R

z,0

=

I

(49)

R

z,

θ

R

z,

φ

= R

z,

θ

+

φ

(50)

z czego wynika kolejna własność

R

z,

θ

-1

= R

z,-

θ

(51)

Podobnie podstawowe macierze obrotów reprezentujące obroty wokół osi

x i y są równe

=

=

θ

θ

θ

θ

θ

cos

sin

0

sin

-

cos

0

0

0

1

R

R

,

1

0

x

(52)

=

=

θ

θ

θ

θ

θ

cos

0

sin

-

0

1

0

sin

0

cos

R

R

,

1

0

y

(53)

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

Ox

1

y

1

z

1

względem układu

Ox

0

y

0

z

0

. Rzeczywiście, kolumny

macierzy

R

0

1

są cosinusami kierunkowymi osi układu

Ox

1

y

1

z

1

w stosunku do osi układu

Ox

0

y

0

z

0

. Na przykład pierwsza kolumna (i

1

i

0

,

i

1

j

0

,

i

1

k

0

)

T

macierzy

R

0

1

opisuje kierunek osi

x

1

względem układu

Ox

0

y

0

z

0

.

Przykład 2.

Rozważmy układy

Ox

0

y

0

z

0

i

Ox

1

y

1

z

1

pokazane na rys. 31.

Rys. 31. określenie wzajemnej orientacji dwóch układów współrzędnych


Rzutowanie wektorów jednostkowych

i

1

,

j

1

,

k

1

na

i

0

,

j

0

,

k

0

daje współrzędne wektorów

i

1

,

j

1

,

k

1

w układzie

Ox

0

y

0

z

0

. Widzimy, że współrzędne wektora i

1

są równe (l/

2

, 0, l/

2

)

T

,

background image

współrzędne wektora j

1

są równe (l/

2

, 0, -l/

2

)

T

i współrzędne wektora k

1

są równe (0, 1,

0)

T

. Macierz obrotu R

0

1

określająca orientację układu Ox

1

y

1

z

1

względem układu Ox

0

y

0

z

0

zawiera te współrzędne jako kolumny, tzn.

=

0

2

1

2

1

1

0

0

0

2

1

2

1

R

1

0

(54)

W trzeciej interpretacji macierz obrotu R

SO(3) jest operatorem działającym na

wektory w ustalonym układzie współrzędnych

Ox

0

y

0

z

0

. 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

P

1

w układzie

Ox

0

y

0

z

0

otrzymanego z punktu

P

0

przez dany obrót.

Przykład 3.

Obracamy wektor p

0

= (l, l, 0)

T

wokół osi

y

0

o kąt

π

/2, jak pokazano na rys. 32.

Rys. 32. Obrót wektora wokół osi

Otrzymany wektor

p

1

jest dany wzorem

=

=

=

1

1

0

0

1

1

0

0

1

-

0

1

0

1

0

0

p

R

p

0

2

/

,

1

π

y

(55)

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.

background image

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 R

0

1

w równaniu (36) reprezentuje obrót między

układami współrzędnych Ox

0

y

0

z

0

i Ox

1

y

1

z

1

. Załóżmy, że dokładamy trzeci układ

współrzędnych Ox

2

y

2

z

2

powiązany z układami Ox

0

y

0

z

0

i Ox

1

y

1

z

1

przez obroty. Dany punkt P

może być wtedy reprezentowany na trzy sposoby przez wektory: p

0

, p

1

, p

2

w trzech układach

współrzędnych. Związki między tymi trzema reprezentacjami punktu P są następujące

p

0

= R

0

1

p

1

(56)

p

1

= R

0

2

p

2

(57)

p

1

= R

1

2

p

2

(58)

gdzie każda macierz R

i

j

jest macierzą obrotu. Zauważmy, że macierze R

0

1

i R

0

2

reprezentują

obroty względem osi układu Ox

0

y

0

z

0

, podczas gdy R

1

2

reprezentuje obrót względem układu

Ox

1

y

1

z

1

. Jeśli podstawimy wzór (58) do równości (56), to otrzymamy

p

0

= R

0

1

R

1

2

p

2

(59)

a po porównaniu zależności (57) i (59) dostajemy równość

R

0

2

= R

0

1

R

1

2

(60)

Równanie (60) jest prawem składania dla obrotów. Oznacza, że aby przekształcić

współrzędne punktu P z jego reprezentacji p

2

w układzie Ox

2

y

2

z

2

na reprezentację p

0

w

układzie Ox

0

y

0

z

0

, możemy ją najpierw przekształcić na jego reprezentację p

1

, w układzie

Ox

1

y

1

z

1

, używając macierzy R

1

2

, a potem przekształcić p

1

na p

0

używając macierzy R

0

1

.

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 Ox

1

y

1

z

1

względem układu

Ox

0

y

0

z

0

zgodnie z przekształceniem R

0

1

.

Potem, przy pokrywających się układach Ox

1

y

1

z

1

i

Ox

2

y

2

z

2

obracamy układ Ox

2

y

2

z

2

względem Ox

1

y

1

z

1

zgodnie z przekształceniem R

1

2

. 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

s

s

c

s

-

0

c

s

s

s

c

c

c

1

0

0

0

c

s

0

s

-

c

c

0

s

0

1

0

s

0

c

R

R

R

,

,

z

y

(61)

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.

background image

Wówczas macierz obrotu jest określona wzorem

=

=

=

φ

φ

φ

θ

θ

φ

θ

θ

φ

θ

θ

φ

φ

φ

φ

φ

θ

θ

θ

θ

φ

θ

c

0

s

-

s

s

c

c

s

c

s

s

c

c

c

0

s

0

1

0

s

0

c

1

0

0

0

c

s

0

s

-

c

R

R

R

,

,

'

y

z

(62)

Po porównaniu wzorów (61) i (62) wyraźnie widać, że

RR'.

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

X

0

,

a następnie obrotu wokół osi

y

0

(nie zaś

y

1

).

Wtedy układ

Ox

0

y

0

z

0

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

y

0

, a następnie

obrót o kąt

θ

wokół ustalonej osi

Z

0

.

Odnieśmy to do rys. 33. Niech

p

0

,

p

1

i

p

2

będą

reprezentacjami wektora

p.

Rys. 33. Składanie obrotów

Początkowo osie ustalone i bieżące są te same, mianowicie

Ox

0

y

0

z

0

, i dlatego możemy

napisać jak poprzednio

p

0

=

R

y,

φ

p

1

(63)

gdzie

R

y,

φ

jest podstawową macierzą obrotu wokół osi

y. Teraz, ponieważ drugi obrót odbywa

się wokół ustalonego układu

Ox

0

y

0

z

0

, a nie bieżącego układu

Ox

1

y

1

z

1

, nie możemy stwierdzić,

czy

p

1

=

R

z,

θ

p

2

(64)

ponieważ to wymagałoby interpretacji

R

z,

θ

jako obrotu wokół osi

z

1

. Aby móc użyć naszego

wcześniejszego prawa składania, musimy mieć układy: ustalony i bieżący. W tym przypadku
osie

z

0

i

z

1

nałożone na siebie. Dlatego trzeba najpierw „cofnąć" poprzedni obrót, następnie

wykonać obrót wokół osi

z

0

i na koniec przywrócić wyjściowe przekształcenie, czyli

p

1

=

R

y,-

φ

R

z,

θ

R

y,

φ

p

2

(65)

To jest właściwe wyrażenie, a nie zależność (64). Teraz podstawiając je do wzoru (63),
otrzymujemy

P

0

=

R

y,

φ

p

1

=

R

y,

φ

R

y,-

φ

R

z,

θ

R

y,

φ

p

2

(66)

background image

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 Ox

0

y

0

z

0

, układu bieżącego Ox

1

y

1

z

1

i macierzy obrotu R

0

1

wiążącej te

układy, jeżeli trzeci układ Ox

2

y

2

z

2

jest otrzymany przez obrót R

1

2

wykonany względem

układu bieżącego, to aby otrzymać obrót R

0

2

mnożymy prawostronnie macierz R

0

1

przez R

1

2

,

czyli

R

0

2

= R

0

1

R

1

2

(67)

Jeżeli drugi obrót ma być wykonany względem układu ustalonego, to mnożymy

lewostronnie macierz R

0

1

przez R

1

2

, i otrzymujemy

R

0

2

= R

1

2

R

0

1

(68)

W każdym przypadku macierz R

0

2

reprezentuje przekształcenie między układami Ox

0

y

0

z

0

i

Ox

2

y

2

z

2

. 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 = (k

x

, k

y

, k

z

)

T

będzie

wyrażonym w układzie Ox

0

y

0

z

0

wektorem jednostkowym, definiującym pewną oś. Chcemy

wyprowadzić macierz obrotu R

k,

θ

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 R

k,

θ

. Najłatwiejszym jest obrócenie

wektora k na jedną z osi układu, np. z

0

, potem obrócenie wokół osi z

0

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ś z

0

,

obracając najpierw wokół osi z

0

o kąt -

α

, potem zaś

obracając wokół osi y

0

o kąt -

β

. Ponieważ wszystkie obroty są wykonywane względem

ustalonego układu Ox

0

y

0

z

0,

więc macierz R

k,

θ

otrzymamy jako złożenie

R

k,

θ

= R

z,

α

R

y,

β

R

z,

θ

R

y,-

β

R

z,-

α

(69)

background image

Na podstawie rys. 34 widzimy, że jeśli k jest wektorem jednostkowym, to

2

2

sin

y

x

y

k

k

k

+

=

α

(70)

2

2

cos

y

x

x

k

k

k

+

=

α

(71)

2

2

sin

y

x

k

k

+

=

β

(72)

cos

β

= k

z

(73)

Po podstawieniu równań (70)-(73) do zależności (69) i dość długich lecz niezbyt

złożonych obliczeniach otrzymujemy

+

+

+

+

+

=

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

cos

sin

sin

sin

cos

sin

sin

sin

cos

R

2

2

2

v

k

k

v

k

k

k

v

k

k

k

v

k

k

v

k

k

v

k

k

k

v

k

k

k

v

k

k

v

k

z

x

z

y

y

z

x

x

z

y

y

z

y

x

y

z

x

z

y

x

x

k,

(74)

Gdzie v

θ

= 1 – cos

θ

.

4.4. Dalsze własności obrotów

Dziewięć elementów r

ij

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 = R

k,

θ

(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 (r

ij

), to kąt

θ

i oś wektora

k odpowiadające tej

macierzy są dane wyrażeniami

+

+

=

=

2

1

cos

2

1

)

R

(

cos

33

22

11

1

1

r

r

r

Tr

θ

(76)

Gdzie Tr(

R) oznacza ślad macierzy R oraz

=

12

21

31

13

23

32

2sin

1

k

r

r

r

r

r

r

θ

(77)

background image

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.

R

k,

θ

= 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 z

0

,

następnie

przez obrót o 30° wokół osi y

0

, a w końcu przez obrót o 60° wokół osi x

0

. Wówczas

=

°

°

°

°

°

°

°

°

°

°

°

°

=

=

4

3

4

1

2

3

4

3

4

3

2

1

2

1

2

3

0

1

0

0

0

90

cos

90

sin

0

90

sin

90

cos

30

cos

0

30

sin

0

1

0

30

sin

0

30

cos

60

cos

60

sin

0

60

sin

60

cos

0

0

0

1

R

R

R

R

90

,

30

,

60

,

z

y

x

(79)

Widzimy, że Tr(

R) = 0 i stąd odpowiedni kąt ze wzoru (76) jest równy

°

=

=

120

)

2

1

(

cos

1

θ

(80)

Natomiast z wzoru (77) oś jest określona przez wektor

T

+

=

2

1

3

2

1

,

2

1

3

2

1

,

3

3

k

(81)

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

T

z

y

x

T

z

y

x

k

k

k

r

r

r

r

)

,

,

(

)

,

,

(

=

=

θ

θ

θ

(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

Ox

0

y

0

z

0

i układ obrócony

Ox

1

y

1

z

1

pokazane na rys. 35. Możemy wówczas

określić orientację układu

Ox

1

y

1

z

1

względem układu

Ox

0

y

0

z

0

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

ψ

.

background image

Rys. 35. Reprezentacja kątów Eulera


W terminologii podstawowych macierzy obrotów wynikowy obrót R

0

1

może być

otrzymany jako iloczyn

+

+

=

=

=

=

θ

ψ

θ

ψ

θ

θ

φ

ψ

φ

ψ

θ

φ

ψ

φ

ψ

θ

φ

θ

φ

ψ

φ

ψ

θ

φ

ψ

φ

ψ

θ

φ

ψ

ψ

ψ

ψ

θ

θ

θ

θ

φ

φ

φ

φ

ψ

θ

φ

cos

sin

sin

cos

sin

sin

sin

cos

cos

sin

cos

sin

sin

cos

cos

cos

sin

sin

cos

cos

sin

sin

cos

cos

sin

sin

cos

cos

cos

1

0

0

0

cos

sin

0

sin

cos

cos

0

sin

0

1

0

sin

0

cos

1

0

0

0

cos

sin

0

sin

cos

R

R

R

R

z,

y,

z,

1

0

(83)


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

x

0,

y

0,

z

0

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)

background image

Określamy kolejność obrotów jako x-y-z, innymi słowy najpierw odchylenie wokół osi

x

0

o kąt

ψ

, potem nachylenie wokół osi y

0

o kąt

θ

i ostatecznie obrót wokół osi

Z

0

kąt

φ

.

Ponieważ kolejne obroty są odnoszone do układu ustalonego, wynikowa macierz
przekształcenia jest dana przez iloczyn

+

+

+

+

=

=

=

=

ψ

θ

ψ

θ

θ

ψ

θ

φ

ψ

φ

ψ

θ

φ

ψ

φ

θ

φ

ψ

θ

φ

ψ

φ

ψ

θ

φ

ψ

φ

θ

φ

ψ

ψ

ψ

ψ

θ

θ

θ

θ

φ

φ

φ

φ

ψ

θ

φ

cos

cos

sin

cos

sin

cos

sin

sin

sin

cos

sin

sin

sin

sin

cos

cos

sin

cos

sin

cos

sin

sin

sin

sin

cos

cos

sin

cos

cos

cos

sin

0

sin

cos

0

0

0

1

cos

0

sin

0

1

0

sin

0

cos

1

0

0

0

cos

sin

0

sin

cos

R

R

R

R

x,

y,

z,

1

0

(84)

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, Urz dzenia chwytaj ce i g owice technologiczne robotów przemys owych cz 2
CHRAPEK,podstawy robotyki, Przyk ady konstrukcji robotów przemys owych
CHRAPEK,podstawy robotyki, Rozwój robotów
CHRAPEK,podstawy robotyki, Nap dy robotów nap dy pneumatyczne
CHRAPEK,podstawy robotyki, Sterowanie robotów przemys owych
CHRAPEK,podstawy robotyki, Nap dy robotów nap dy hydrauliczne
CHRAPEK,podstawy robotyki, Nap dy robotów nap dy elektryczne
CHRAPEK,podstawy robotyki, Metodyka wprowadzania robotów do przemys u
CHRAPEK,podstawy robotyki, Roboty i manipulatory o strukturach równoleg ych
CHRAPEK,podstawy robotyki, Urz dzenia chwytaj ce i g owice technologiczne robotów przemys owych cz 2

więcej podobnych podstron