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