a,0,0

Transkrypt

a,0,0
Ćwiczenia nr 3 z “Robotyki 1”
W SE(3) Bazowe translacje opisujemy macierzami:
"
#
I (a, 0, 0)T
,
T ran(x, a) = 3
0
1
"
#
I (0, b, 0)T
,
T ran(y, b) = 3
0
1
#
"
I (0, 0, c)T
,
T ran(z, c) = 3
0
1
a rotacje macierzami:
"
#
rot(x, α) 0 T
,
Rot(x, α) =
0
1
"
#
rot(y, β) 0 T
,
Rot(y, β) =
0
1
"
#
rot(z, γ) 0 T
.
Rot(z, γ) =
0
1
1. Pokazać, że złożenie translacji wzdłuż dowolnych osi jest przemienne.
2. Dla jakich sytuacji złożenie translacji z obrotem (i vice versa) wzdłuż wybranych osi jest
(nie-)przemienne.
3. Dla parametryzacji oś-kąt (kk , θ) macierz R ∈ SO(3) jej odpowiadająca ma postać:
rot(kk , θ) = R = I 3 + sin(θ)[kk ] + (1 − cos(θ))[kk ]2 ,
(1)
gdzie [kk ] jest znaną operacją tworzenia macierzy skośniesymetrycznej ze znanego wektora k . Pokazać, korzystając z (1), że macierz R odpowiadająca (kk , θ) jest identyczna z tą
dla (−kk , −θ).


r11 r12 r13


4. Na podstawie wzoru poprzedniego określić, jak dla danej macierzy R = r21 r22 r23  ∈
r31 r32 r33
SO(3) wyznaczyć wektor k i kąt θ przy pomocy elementów składowych macierzy R . Zastanowić się, dla jakich macierzy Państwa pomysł jest dobrze, a dla jakich źle, uwarunkowany
numerycznie. (czyli mogą wystąpić kłopoty z akceptowalnie dokładnym określeniem tych
danych)
5. Potrenować kolejne przemieszczanie układów współrzędnych np. przy transformacji:
rot(x, π/2)rot(z, π)rot(y, −π/2)rot(x, −π)rot(z, π/2)
zwracając szczególną uwagę jak określamy kąty obrotu dodatnie, a jak ujemne. Można
także dodać translacje wzdłuż osi x, y, z w różnych miejscach.
6. (*) Pokazać (korzystając z zależności i rysunku z wykładu), że
R = rot(z, α)rot(y, β)rot(z, θ)rot(y, −β)rot(z, −α)
z jednostkowym wektorem k = (kx , ky , kz )T = (cα sβ , sα sβ , cβ )T opisuje obrót dookoła osi
k o kąt θ, zgodnie z zależnością (1). Uwaga: sporo liczenia. Podpowiedź: wyliczyć R jako
funkcję sinusów i kosinusów α, β, θ, a potem to co się da wyrazić przez składowe wektora k .
7. (*) Niech będzie dany wektor v ∈ R3 obracany wokół wektora jednostkowego k ∈ R3 o
kąt θ. Pokazać, że wynikiem będzie
v rot = cos(θ)vv + sin(θ)kk × v + (1 − cos(θ))hkk , v ikk
Podpowiedź, a może rozbić wektor v na składowe?
1

Podobne dokumenty