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

 

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

z

 

y

 

l

l

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

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  

końcówki roboczej. JednakŜe aby nakazać robotowi ruch do pozycji B, potrzebujemy postąpić 
odwrotnie, tzn. znaleźć zmienne przegubowe 

θ

1

 i 

θ

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 

θ

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ć 

θ

w postaci 

 

θ

 = cos

-1

(D

(10) 

 
 

x

0

 

y

0

 

Łokie

ć

 u góry 

Łokie

ć

 u dołu 

background image

 

 

Rys. 25. Wyznaczenie kąta  

θ

 w przegubie drugim dwuczłonowego robota płaskiego 

 

JednakŜe  lepszym  sposobem  znalezienia  kąta 

θ

jest  zauwaŜenie,  Ŝe  jeśli  cos

θ

jest 

dany wzorem (9), to sin

θ

 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 

θ

zrealizujemy w oparciu o rys. 26. 

 

Rys .26. Wyznaczenie kąta  

θ

 w przegubie pierwszym dwuczłonowego robota płaskiego 

 
Jeśli zauwaŜymy, Ŝe 
 

θ

1

 = 

θ

β

 - 

θ

α

 

(13) 

oraz 

x

0

 

y

0

 

θ

1

 

θ

2

 

a

1

 

a

2

 

x

0

 

y

0

 

θ

1

 

θ

2

 

a

1

 

a

2

 

θ

α

 

θ

β

 

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 = aa2 sin

θ

(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

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

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

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

=

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

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

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

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

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

R

0

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

obrócono  o  kąt 

θ

  wokół  osi  z

0

  (rys.  30).  Chcemy  znaleźć 

macierz  R

0

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

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 

θ

 

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

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

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

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

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

są równe (0, 1, 

0)

T

.  Macierz  obrotu  R

0

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

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

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

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

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 

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 

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

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