Popis polohy tělesa 1 2
Robotika
3 4 5 6 7 8
Popis polohy tělesa
9 10 11 12
Vladimír Smutný
13 14
Centrum strojového vnímání
17 18
15 16
19 20
České vysoké učení technické v Praze
21 22 23 24 25 26 27 28 29 30
Body, vektory, geometrie, algebra 1 2 A
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Body, vektory, geometrie, algebra 1 2 v
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Body, vektory, geometrie, algebra 1 2 A
v
B
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Body, vektory, geometrie, algebra 1 2 A
v
B
3 4 5 6 7 8 9 10
a
b
11 12 13 14 15 16 17 18 19 20
O
21 22 23 24 25 26 27 28 29 30
Body, vektory, geometrie, algebra 1 2 3 4
A
5 6 7 8 9 10
z
11 12 13 14 15 16 17 18 19 20 O
21 22 y
23 24 25 26 x
27 28 29 30
Body, vektory, geometrie, algebra 1 2 3 4
A
5 6 7 8 9 10
z
11 12
a
13 14 15 16 17 18 19 20 O
21 22 y
23 24 25 26 x
27 28 29 30
Body, vektory, geometrie, algebra 1 2 A
v
B
3 4 5 6 7 8 9 10
z a
b
11 12 13 14 15 16 17 18 19 20
O
21 22 y
23 24 25 26 x
27 28 29 30
Technická poznámka 1 2
C
3 4 5 6 u
γ
β B
α
7 8 9 10 11 12 13 14
y
v A
α
15 16 17 18 19 20 21 22 23 24
O
x
25 26 27 28 29 30
Technická poznámka II 1 2
C
3 4 u
β
w
α
δ B
y A
α
γ
5 6 7 8 9 10 11 12 13 14
v
15 16 17 18 19 20 21 22 23 24
O
x
25 26 27 28 29 30
Těleso v souřadnicovém systému 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Popis polohy tělesa 1 2
Tuhé těleso v 3D prostoru – popsáno šesti souřadnicemi: x0 3 souřadnice referenčního bodu t00 = y0 , z0
3 4
Bod v 3D prostoru – popsán třemi souřadnicemi.
orientace může být popsána jedním ze způsobů: • souřadnicemi vektorů spojených s tělesem (n, t, b), • Eulerovými úhly (φ, θ, ψ), • rotační maticí R, • osou – úhlem, • kvaternionem, • rotačním vektorem.
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Souřadnice referenčního bodu a rotační matice mohou být kombinovány do transformační matice.
25 26 27 28 29 30
Osa–úhel, kvaterniony a rotační vektor 13/30
s Sp θ P1
z r1
P2 r2
Eulerova věta o rotaci říká, že každá rotace ve 3–D lze reprezentovat jako rotace okolo určité osy s o určitý úhel θ. Tuto dvojici (s, θ) nazýváme osa–úhel. Kvaterniony popisují rotaci pomocí polohy osy rotace s a úhlu otočení θ takto: q = (cos(θ/2), sin(θ/2)sT ) = (cos(θ/2), sin(θ/2)sx, sin(θ/2)sy , sin(θ/2)sz )
y O x
Rotační vektor využívá skutečnosti, že směrový vektor s definující osu rotace je jednotkový a má tedy jen dva stupně volnosti. Rotaci tedy můžeme vyjádřit vektorem délky tři: v = (θs).
Rodriguesův vzorec pro rotaci 14/30
s
Rodriguesův vzorec pro rotaci vektoru:
Sp
r2 = r1 cos θ + (s × r1) sin θ + s(s · r1)(1 − cos θ)
θ P1
z r1
r2
y O x
P2
Rotační matice z reprezentace osa-úhel: R = I cos θ + [s]x sin θ + ssT (1 − cos θ) kde [s]x je skew symmetric (antisymetrická) matice: 0 −sz sy 0 −sx [s]x = sz −sy sx 0
Definice Eulerových úhlů 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 – precese
2 – nutace
15 16 17 18 19 20 21 22 23 24 25 26 27 28
3 – rotace
29 30
Rotation Matrix Resulting from Euler Angles 16/30
Eulerovy úhly podle definice v těchto přednáškách (Asada, Slotine): cos ϕ cos ψ − cos ϑ sin ϕ sin ψ − cos ϑ cos ψ sin ϕ − cos ϕ sin ψ sin ϑ sin ϕ cos ψ sin ϕ + cos ϑ cos ϕ sin ψ cos ϑ cos ϕ cos ψ − sin ϕ sin ψ − cos ϕ sin ϑ sin ϑ sin ψ cos ψ sin ϑ cos ϑ Rotační matice definována úhly Yaw, Pitch, Roll použitými například v robotu CRS, tedy rotujeme postupně okolo z, y, x’: cos α cos β cos α sin β sin γ − cos γ sin α cos α cos γ sin β + sin α sin γ cos β sin α cos α cos γ + sin α sin β sin γ cos γ sin α sin β − cos α sin γ − sin β cos β sin γ cos β cos γ
Jiné systémy popisu orientace třemi úhly 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Srovnání popisů rotace Systém Matice rotace Vektory os Eulerovy úhly Osa, úhel Kvaternion Vektor rotace
Symbol R n, t, b φ, θ, ψ s, θ q v
Ekvivalent R yaw, pitch, roll,. . . osa, úhel osa, úhel
Par. 9 9 3 4 4 3
1 2 Podmínky orthonormální 3 4 vektory jednotkové, navzájem kolmé 5 6 jednotkový vektor jednotkový vektor
7 8 9 10 11 12
Systém R n, t, b φ, θ, ψ s, θ q v
Výhody snadné výpočty poloh srozumitelný neredundantní
Nevýhody redundantní redundantní složitá topologie
srozumitelný snadná interpolace snadná interpolace dobrá topologie neredundantní
redundantní redundantní
Užíván Matlab toolbox
13 14 15 16
Mitsubishi Staubli, CRS
17 18 19 20
ABB odhadování rotace
21 22 23 24 25 26 27 28 29 30
Transformace souřadnic 1 2
z0 P
z1
3 4 5 6 7 8
w
p0
t0
p1 b O1 t u v A n
y1
9 10 11 12
B
13 14 15 16 17 18
O0
x1
19 20 21 22 23 24
x0
y0
25 26 27 28 29 30
Homogenní souřadnice 1 2
z
3 4
Ph
5 6 7 8 9 10 1
Pe
11 12 13 14 15 16 y
17 18 19 20
x
21 22 23 24 25 26 27 28 29 30
Posloupnost transformací souřadnic 1 2
P
3 4 5 6 7 8
xb
pa
pb
zb
9 10
pc
za
11 12
yc
13 14
Ob t1 Oa xa
t2
15 16 17 18
yb
zc
Oc
19 20 21 22
ya xc
23 24 25 26 27 28 29 30
Pasivní versus aktivní transformace — Pasivní 1 2 3 4
P
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Pasivní versus aktivní transformace — Pasivní 1 2 3 4
ya
5 6
P
7 8 9 10 11 12 13 14 15 16 17 18 19 20
xa
21 22 23 24 25 26 27 28 29 30
Pasivní versus aktivní transformace — Pasivní 1 2
ya
3 4 5 6
P
yb
7 8 9 10 11 12
xb
13 14 15 16 17 18 19 20
γ
xa
21 22 23 24 25 26 27 28 29 30
Pasivní versus aktivní transformace — Pasivní 1 2
ya yb
3 4 5 6
P
ya
7 8 9 10 11 12
xb
yb
13 14 15 16
xb
17 18 19 20
γ xa
xa
21 22 23 24
~xa = Rab(γ)~xb
25 26 27 28 29 30
Pasivní versus aktivní transformace - Aktivní 1 2 3 4 5 6
Pa
7 8 9 10
Pb
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Pasivní versus aktivní transformace - Aktivní 1 2 3 4 5 6
Pa
7 8 9 10
Pb
11 12 13 14 15 16
γ
17 18 19 20 21 22 23 24 25 26 27 28 29 30
Pasivní versus aktivní transformace - Aktivní 1 2 3 4
y
5 6
Pa
7 8 9 10
Pb
11 12 13 14 15 16
γ
17 18 19 20
x
21 22 23 24 25 26 27 28 29 30
Pasivní versus aktivní transformace - Aktivní 1 2 3 4
y
5 6
Pa
ya
7 8 9 10
Pb
yb
11 12 13 14 15 16
γ
17 18 19 20
xa
xb
x
21 22 23 24
~xb = Rab(−γ)~xa = Rab(γ)−1~xa = Rba(γ)~xa
25 26 27 28 29 30
Pasivní versus aktivní transformace - Srovnání Pasivní
Aktivní
.
1 2 3 4
ya yb
y P
ya
ya
7 8 Pb
yb
xb
yb
5 6
Pa
9 10 11 12
xb
13 14
γ γ xa
xa
xa
xb
x
15 16 17 18
~xa = Rab(γ)~xb
~xb = Rab(−γ)~xa = Rab(γ)−1~xa = Rba(γ)~xa
19 20 21 22 23 24 25 26 27 28 29 30
A
v
A
v
B
A
a
O
v
b
B
A
z
O
x
y
A
z a
O
x
y
A
v
z a
O
x
b
y
B
C
u
γ
β B y
v A
O
α
α
C u
β
w
α
δ B
y A
O
α
γ
v
s Sp θ P1
z r1
r2
y O x
P2
s Sp θ P1
z r1
r2
y O x
P2
z0 P
z1
p0
t0 O0
x0
w p1 b O1 t u v A n
x1
y0
y1 B
z Ph
1
Pe
y
x
P
xb
pa
pb
zb
pc
za
yc Ob t1
Oa xa
yb
t2 zc
Oc
ya xc
P
ya P
xa
ya P
yb
xb
γ
xa
ya yb
P
ya
xb
yb xb γ xa
xa
Pa Pb
Pa Pb
γ
y Pa Pb
γ
x
y Pa
ya
Pb
yb
γ xa
xb
x
ya yb
y P
ya
Pa
ya
xb
yb
Pb
yb
xb γ γ xa
xa
xa
xb
x