30
Ruchy ciała sztywnego i przekształcenia jednorodne

Ruchy ciała sztywnego i przekształcenia jednorodne

  • Upload
    lyxuyen

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

Ruchy ciała sztywnego i przekształcenia jednorodne

• Definicja: układ współrzędnych– Zbiór n bazowych wektorów ortonormalnych rozpinających Rn

– Na przykład,

• Rerezentując punkt p, musimy podać układ współrzędnych– Względem o0: – Względem o1:

• v1 oraz v2 są niezmienniczymi obiektami geometrycznymi– Ale ich reprezentacja jest zależna od wyboru

układu współrzędnych

Reprezentowanie pozycji

650p

2.48.21p

100

ˆ

010

ˆ

001

ˆ kji , ,

2.48.2

11.5

8.077.7

65 1

202

11

01 vvvv , , ,

• Obroty 2D – Reprezentowanie jednego układu współrzędnych w kategoriach innego

– gdzie wektory jednostkowe definiuje się następująco:

– Jest to macierz obrotu

Obroty

01

01

01 yxR

cossinˆ

sincosˆ 0

010

01 yyxx ,

cossinsincos0

1R

• Macierze obrotu jako projekcje– Rzutowanie osi o1 na osie układu o0

Podejście alternatywne

01

0101

01

0101 ˆˆ

ˆˆˆˆˆˆ

yyxy

yyxxx

x ,

cossinsincos

cosˆˆ2

cosˆˆ

2cosˆˆcosˆˆ

ˆˆˆˆˆˆˆˆ

0101

0101

0101

010101

yyyx

xyxx

yyyxxyxx

R

Własności macierzy obrotu

• Obroty odwrotne:

• Lub też, inna interpretacja używa relacji parzystości/nieparzystości:

TR

yyyx

xyxx

yyyxxyxx

R

01

1010

1010

1010

101010

cossinsincos

cosˆˆ2

cosˆˆ

2cosˆˆcosˆˆ

ˆˆˆˆˆˆˆˆ

TR

R

01

10

cossinsincos

cossinsincos

Własności macierzy obrotu

• Odwrotność macierzy obrotu:

• Wyznacznik macierzy obrotu jest zawsze równy ±1– +1 jeżeli ograniczamy się do układów prawoskrętnych

TRR

yyyx

xyxx

yyyxxyxx

R

010

1

1

1

0101

0101

1

0101

0101101

cossinsincos

det1

cossinsincos

cosˆˆ2

cosˆˆ

2cosˆˆcosˆˆ

ˆˆˆˆˆˆˆˆ

Własności macierzy obrotu

• Podsumowanie:– Kolumny (wiersze) R są wzajemnie ortogonalne– Każda kolumna (wiersz) R jest wektorem jednostkowym

• Zbiór wszystkich n x n macierzy mających te własności nazywa sięgrupą obrotów (ang. Special Orthogonal group) rzędu n

1det

1

RRRT

nSOR

Obroty trójwymiarowe

3ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ

010101

010101

01010101 SO

zzzzzxyxyyyxxzxyxx

R

• Ogólny obrót 3D:

• Przypadki szczególne– Podstawowe macierze obrotu

cos0sin010

sin0cos

cossin0sincos0001

,

,

y

x

R

R

1000cossin0sincos

,

zR

Ćwiczenie: Wyznacz macierz obrotu R10

Własności macierzy obrotu (c.d.)

• SO(3) jest grupą ze względu na mnożenie1. Zamkniętość: 2. Jedność:

3. Odwrotność:4. Łączność:

• W ogólności, elementy SO(3) nie są przemienne:

33 , 2121 SORRSORR

3100010001

SOI

1 RRT

321321 RRRRRR Pozwala składać obroty:bcabac RRR

1221 RRRR

Obroty względem zadanej osi

Blok na rys. (b) powstał przez obrót bloku z rys. (a) o kąt π względem osi z0.

• Załóżmy, że p jest danym punktem obiektu sztywnego z ustalonym układem współrzędnych o1– Punkt p może być przedstawiony w układzieo0 (p0) poprzez projekcję na osie układu

bazowego

Przekształcenia z zastosowaniem obrotów

wvu

p1

101

010101

010101

010101

010101

010101

010101

0111

0111

0111

01

01

01

0

ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ

ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ

ˆˆˆˆˆˆˆˆˆˆˆˆ

ˆˆˆ

pRwvu

zzzyzxyzyyyxxzxyxx

zzwzyvzxuyzwyyvyxuxzwxyvxxu

zzwyvxuyzwyvxuxzwyvxu

zpypxp

p

Obracanie wektora

• Jeszcze jedna interpretacja macierzy obrotu:– Obracanie wektora dookoła pewnej osi w ustalonym układzie

współrzędnych– Np.: obróć v0 dookoła y0 o kąt /2

110

0v

011

110

001010100

110

cos0sin010

sin0cos

2/

02/,

1

vRv y

Podsumowanie macierzy obrotu

• Trzy interpretacje roli macierzy obrotu:1. Reprezentuje przekształcenie współrzędnych punktu w dwóch różnych

układach odniesienia.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.

Przekształcenia przez podobieństwo

• Wszystkie układy współrzędnych są zdefiniowane przez zbiór wektorów bazowych– Te rozpinają Rn

– Np. wektory jednostkowe i, j, k• W algebrze liniowej, n x n macierz A stanowi odwzorowanie z Rn do Rn

– y = Ax, gdzie: y – obraz x poprzez przekształcenie A.– Myśl o x jak o liniowej kombinacji wektorów jednostkowych (wektorów

bazwoych), np. wektorów jednostkowych

– Wtedy kolumny A są obrazami tych wektorów bazowych.– Jeśli chcemy reprezentować wektory względem innej bazy, np. f1, …, fn,

przekształcenie A można przedstawić w postaci

– przy czym kolumny T są wektorami f1, …, fn.

TnT ee 1...000...011 ..., ,

ATTA 1

Przekształcenia przez podobieństwo

• A’ oraz A mają identyczne wartości własne.• Wektor własny x macierzy A odpowiada wektorowi wł. T-1x macierzy A’.• Macierz obrotu stanowi również zmianę bazy

– Jeśli A jest przekształceniem liniowym w o0 oraz B jest przekształceniem liniowym w o1, wtedy są one związane relacją

• Np. układy o0 oraz o1 są związane macierzą obrotu

• Jeśli A jest też macierzą obrotu Rz, (względem o0), ten sam obrót wyrażony w o1 jest postaci

01

101 ARRB

001010100

01R

cossin0sincos0

001

001010100

1000cossin0sincos

001010100

01

101 ARRB

Składanie obrotów

• względem bieżącego układu współrzędnych– Np. rozważmy trzy układy współrzędnych o0, o1, o2

• To definiuje prawo składania dla kolejnych obrotów względem bieżącego układu współrzędnych: mnożenie prawostronne.

202

0

212

1

101

0

pRppRp

pRp

21

201

0 pRRp 12

01

02 RRR

Składanie obrotów

• Np. niech R reprezentuje obrót względem bieżącej osi y o kąt po którym następuje obrót o kąt względem bieżącej osi z.

• Co zrobić w przypadku odwróconej kolejności obrotów?

cossinsincossin0cossin

sinsincoscoscos

1000cossin0sincos

cos0sin010

sin0cos,, zy RRR

Składanie obrotów

• względem ustalonego układu współrzędnych (o0)– Niech obrót pomiędzy układami o0 oraz o1 będzie zdefiniowany przez R1

0

– Niech R będzie zadanym obrotem względem ustalonego układu współrzędnych o0.

– Stosując definicję przekształcenia przez podobieństwo, mamy:

• Definiuje to prawo składania dla obrotów względem ustalonego układu współrzędnych: mnożenie lewostronne.

01

01

101

01

02 RRRRRRR

Składanie obrotów

• Np. chcemy wyznaczyć macierz obrotu R, która jest złożeniem obrotu o kąt względem y0 (Ry,), a następnie o kąt względem x0 (Rx,).– Drugi obrót należy sprowadzić do bazowego układu współrzędnych

– Teraz kombinacją dwóch obrotów jest

,,,

,,1

,02

yzy

yzy

RRRRRRR

,,,,,, yzyzyy RRRRRRR

Składanie obrotów

• Podsumowanie:– Kolejne obroty względem bieżącego układu współrzędnych:

• Mnożenie prawostronne przez kolejne macierze obrotu– względem ustalonego układu współrzędnych (o0)

• Mnożenie lewostronne przez kolejne macierze obrotu– Możemy również mieć do czynienia z hybrydowym składaniem obrotów

względem bieżącego i ustalonego układu współrzędnych, stosując te same reguły.

Parametryzacja obrotów

• Aby zdefiniować dowolny obrót ciała sztywnego, wystarczy użyć trzech parametrów.– Opiszemy trzy takie parametryzacje:1. Kąty Euler2. Kąty obrotu, nachylenia i odchylenia3. Reprezentacja „oś–kąt”

Parametryzacja obrotów• Kąty Euler

– Kolejno obrót o kąt wokół osi z, potem o kąt by wokół bieżącej osi y, i dalej o kąt wokół bieżącej osi z

csscsssccscsscccssccssccssccc

cssc

cs

sccssc

RRRR zyzZYZ

10000

0010

0

10000

,,,

Parametryzacja obrotów

• Kąty obrotu, nachylenia, odchylenia– Trzy kolejne obroty względem ustalonych osi głównych:

• Odchylenie – Yaw (x0) , nachylenie – pitch (y0) , obrót – roll (z0)

ccscscssscssscccs

cscssssccscc

cssc

cs

sccssc

RRRR xyzXYZ

00

001

0010

0

10000

,,,

Parametryzacja obrotów

• Reprezentacja „oś–kąt”– Każdą macierz z grupy SO(3) można przedstawić w postaci pojedynczego

obrotu wokół odpowiedniej osi o odpowiedni kąt– Np. załóżmy, że mamy wektor jednostkowy: – Mając dany kąt , chcemy znaleźć Rk,:

• Krok pośredni: zrzutuj oś z na k:

• przy czym obrót R jest zdefiniowany przez

z

y

x

kkk

1,,

RRRR zk

,,,,,,

,,

zyzyzk

yz

RRRRRRRRR

Parametryzacja obrotów

• Reprezentacja „oś–kąt”– Jest dana przez

– Problem odwrotny:• Mając dane dowolne R, znaleźć k oraz

cvkskvkkskvkkskvkkcvkskvkkskvkkskvkkcvk

R

zxzyyzx

xzyyzyx

yzxzyxx

k2

2

2

,

1221

3113

2332

1

sin21ˆ

21cos

rrrrrr

k

RTr

Ruchy sztywne

• Ruch sztywny jest kombinacją czystego obrotu i czystego przesunięcia– Zdefiniowany przez macierz obrotu (R) oraz wektor przesunięcia (d)

– Grupa wszystkich ruchów sztywnych (d,R) znana jest jako grupa euklidesowa (ang. Special Euclidean group), SE(3)

– Rozważmy trzy układy, o0, o1, oraz o2 razem z odpowiednimi macierzami obrotu R2

1 oraz R10

• Niech d21 będzie wektorem od początku o1 do o2, d1

0 od o0 do o1

• Dla punktu p2 związanego z o2, możemy przedstawić wektor położenia w układach o0 and o1:

3

3R

dSOR

33 SOSE n R

01

12

01

212

01

01

12

212

01

01

101

0

12

212

1

ddRpRR

ddpRRdpRp

dpRp

Przekształcenia jednorodne

• Ruchy sztywne (obroty i przesunięcia) można przedstawić za pomocąmnożenia macierzowego– Zdefiniujmy:

– Teraz punkt p2 można przedstawić w układzie o0:– gdzie P0 oraz P1 są postaci

10

1012

121

2

01

010

1

dRH

dRH

212

01

0 PHHP

11

11

00 pPpP ,

Przekształcenia jednorodne

• Mnożenie przez macierz H nazywa się przekształceniem jednorodnym i oznacza zapisem

• Przekształcenie owrotne:

3SEH

101 dRRH

TT

Przekształcenia jednorodne

• Podstawowe przekształcenia:– Trzy czyste przesunięcia, trzy czyste obroty

1000100

0010000110000100

0100001100001000010

001

,

,

,

c

b

a

cz

by

ax

Trans

Trans

Trans

100001000000100000001000100000000001

,

,

,

cssc

cs

sc

cssc

z

y

x

Rot

Rot

Rot