机器人学 算子和映射
二、已知向量或坐标系位姿相对于固定、运动坐标系的变换方式,基于算子和映射的方法计算新的向量或坐标系的位姿Exp.1: 坐标系{B}与{A}初始相同,{B}绕{A}x轴逆时针旋转45°,原点沿y轴移动10个单位,沿z轴移动−102-10\sqrt{2}−102 个单位,BP=[10,10,10]^BP=[10, 10,10]BP=[10,10,10],求AP^APAP旋转矩阵 BAR=[
二、已知向量或坐标系位姿相对于固定、运动坐标系的变换方式,基于算子和映射的方法计算新的向量或坐标系的位姿
Exp.1: 坐标系{B}与{A}初始相同,{B}绕{A}x轴逆时针旋转45°,原点沿y轴移动10个单位,沿z轴移动 − 10 2 -10\sqrt{2} −102 个单位, B P = [ 10 , 10 , 10 ] ^BP=[10, 10,10] BP=[10,10,10],求 A P ^AP AP
旋转矩阵
B
A
R
=
[
1
0
0
0
cos
4
5
∘
−
sin
4
5
∘
0
sin
4
5
∘
cos
4
5
∘
]
=
[
1
0
0
0
2
2
−
2
2
0
2
2
2
2
]
\text { }_{B}^{A} R=\left[\begin{array}{ccc} 1 & 0 & 0 \\ 0 & \cos 45^{\circ} & -\sin 45^{\circ} \\ 0 & \sin 45^{\circ} & \cos 45^{\circ} \end{array}\right]=\left[\begin{array}{ccc} 1 & 0 & 0 \\ 0 & \frac{\sqrt{2}}{2} & -\frac{\sqrt{2}}{2} \\ 0 & \frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2} \end{array}\right]
BAR=⎣⎡1000cos45∘sin45∘0−sin45∘cos45∘⎦⎤=⎣⎢⎡100022220−2222⎦⎥⎤
平移向量为
A
P
⃗
B
O
R
G
=
[
0
,
10
,
−
10
2
]
{}^A \vec{P}_{BORG} = [0,10,-10\sqrt{2}]
APBORG=[0,10,−102],
B
P
=
[
10
,
10
,
10
]
^BP=[10, 10,10]
BP=[10,10,10]
A P ⃗ = B A R B P ⃗ + A P ⃗ B O R G ^A \vec{P}={}^A_{B}R^{B} \vec{P}+{ }^{A} \vec{P}_{B O R G} AP=BARBP+APBORG
Exp.2: {B}从{A}坐标系而来,经以下操作,求变换矩阵 B A T {}^A_BT BAT
平移向量为 A P ⃗ B O R G = [ 2 , 1 , 0 ] {}^A \vec{P}_{BORG} = [2,1,0] APBORG=[2,1,0],旋转矩阵为 B A R = [ 1 0 0 0 cos φ − sin φ 0 sin φ cos φ ] {}^A_B R=\left[\begin{array}{ccc}1 & 0 & 0 \\ 0 & \cos \varphi & -\sin \varphi \\ 0 & \sin \varphi & \cos \varphi\end{array}\right] BAR=⎣⎡1000cosφsinφ0−sinφcosφ⎦⎤
B A T = [ B A R B A P ⃗ B O R G 0 → 1 ] {}^A_BT=\left[\begin{array}{cc}^A_{B} R & {}^A_B \vec{P}_{B O R G} \\ \overrightarrow{0} & 1\end{array}\right] BAT=[BAR0BAPBORG1]
A P ⃗ B O R G = [ 0 10 − 10 2 ] {}^A \vec{P}_{B O R G}=\left[\begin{array}{c}0 \\ 10 \\ -10 \sqrt{2}\end{array}\right] APBORG=⎣⎡010−102⎦⎤
Exp.3 坐标系{B}与{A}初始相同,假设P点和{B}一起运动, B P = [ 10 , 10 , 10 ] ^BP=[10,10,10] BP=[10,10,10],{B}绕x轴逆时针旋转90°,求 A P ^AP AP
绕x的旋转矩阵是 R x ( φ ) = [ 1 0 0 0 cos φ − sin φ 0 sin φ cos φ ] R_{x}(\varphi)=\left[\begin{array}{ccc}1 & 0 & 0 \\ 0 & \cos \varphi & -\sin \varphi \\ 0 & \sin \varphi & \cos \varphi\end{array}\right] Rx(φ)=⎣⎡1000cosφsinφ0−sinφcosφ⎦⎤
算子方法 B A R = [ 1 0 0 0 cos 9 0 ∘ − sin 9 0 ∘ 0 sin 9 0 ∘ cos 9 0 ∘ ] = [ 1 0 0 0 0 − 1 0 1 0 ] ^A_{B} R=\left[\begin{array}{ccc}1 & 0 & 0 \\ 0 & \cos 90^{\circ} & -\sin 90^{\circ} \\ 0 & \sin 90^{\circ} & \cos 90^{\circ}\end{array}\right]=\left[\begin{array}{ccc}1 & 0 & 0 \\ 0 & 0 & -1 \\ 0 & 1 & 0\end{array}\right] BAR=⎣⎡1000cos90∘sin90∘0−sin90∘cos90∘⎦⎤=⎣⎡1000010−10⎦⎤
A P ⃗ = B A R B P ⃗ = [ 1 0 0 0 0 − 1 0 1 0 ] [ 10 10 10 ] = [ 10 − 10 10 ] ^A \vec{P}={ }_{B}^{A} R^{B} \vec{P}=\left[\begin{array}{ccc}1 & 0 & 0 \\ 0 & 0 & -1 \\ 0 & 1 & 0\end{array}\right]\left[\begin{array}{c}10 \\ 10 \\ 10\end{array}\right]=\left[\begin{array}{c}10 \\ -10 \\ 10\end{array}\right] AP=BARBP=⎣⎡1000010−10⎦⎤⎣⎡101010⎦⎤=⎣⎡10−1010⎦⎤
Exp.4:坐标系{B}与{A}初始相同,假设点P固连于坐标系{B}(P和{B}一起运动, B P = [ 7 , 3 , 2 ] T ^BP=[7,3,2]^T BP=[7,3,2]T,坐标系{B}绕坐标系{A}的z轴逆时针旋转90°,再绕{A}的y轴逆时针旋转90°,求 A P ^AP AP
绕x的旋转矩阵是 R z ( φ ) = [ cos φ − sin φ 0 sin φ cos φ 0 0 0 1 ] R_{z}(\varphi)=\left[\begin{array}{ccc} \cos \varphi & -\sin \varphi &0\\ \sin \varphi & \cos \varphi &0\\0 & 0 & 1\end{array}\right] Rz(φ)=⎣⎡cosφsinφ0−sinφcosφ0001⎦⎤
算子方法 B A R z = [ cos 9 0 ∘ − sin 9 0 ∘ 0 sin 9 0 ∘ cos 9 0 ∘ 0 0 0 1 ] ^A_{B} R_z=\left[\begin{array}{ccc}\cos 90^{\circ} & -\sin 90^{\circ} & 0 \\ \sin 90^{\circ} & \cos 90^{\circ} & 0 \\ 0 & 0 & 1\end{array}\right] BARz=⎣⎡cos90∘sin90∘0−sin90∘cos90∘0001⎦⎤
绕y的旋转矩阵是 R y ( 9 0 ∘ ) = [ cos 9 0 ∘ 0 sin 9 0 ∘ 0 1 0 − sin 9 0 ∘ 0 cos 9 0 ∘ ] R_{y}(90^{\circ})=\left[\begin{array}{ccc}\cos 90^{\circ} & 0 & \sin 90^{\circ} \\ 0 & 1 & 0 \\ -\sin 90^{\circ} & 0 & \cos 90^{\circ}\end{array}\right] Ry(90∘)=⎣⎡cos90∘0−sin90∘010sin90∘0cos90∘⎦⎤
按操作顺序左乘, A P ⃗ = [ 0 0 1 0 1 0 − 1 0 0 ] [ 0 − 1 0 1 0 0 0 0 1 ] [ 7 3 2 ] = [ 0 0 1 1 0 0 0 1 0 ] [ 7 3 2 ] = [ 2 7 3 ] ^A \vec{P}=\left[\begin{array}{lll}0 & 0 & 1 \\ 0 & 1 & 0 \\ -1 & 0 & 0\end{array}\right]\left[\begin{array}{lll}0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1\end{array}\right]\left[\begin{array}{l}7 \\ 3 \\ 2\end{array}\right]=\left[\begin{array}{lll}0 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0\end{array}\right]\left[\begin{array}{l}7 \\ 3 \\ 2\end{array}\right]=\left[\begin{array}{l}2 \\ 7 \\ 3\end{array}\right] AP=⎣⎡00−1010100⎦⎤⎣⎡010−100001⎦⎤⎣⎡732⎦⎤=⎣⎡010001100⎦⎤⎣⎡732⎦⎤=⎣⎡273⎦⎤
Exp.5:坐标系{B}与{A}初始相同,假设点P固连于坐标系{B}(P和{B}一起运动, B P = [ 7 , 3 , 2 ] T ^BP=[7,3,2]^T BP=[7,3,2]T,坐标系{B}绕坐标系{A}的y轴逆时针旋转90°,再绕{A}的z轴逆时针旋转90°,求 A P ^AP AP
旋转矩阵相同,但操作顺序不同,所以
A P ⃗ = [ 0 − 1 0 1 0 0 0 0 1 ] [ 0 0 1 0 1 0 − 1 0 0 ] [ 7 3 2 ] = [ 0 − 1 0 0 0 1 − 1 0 0 ] [ 7 3 2 ] = [ − 3 2 − 7 ] ^A \vec{P}=\left[\begin{array}{ccc}0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1\end{array}\right]\left[\begin{array}{ccc}0 & 0 & 1 \\ 0 & 1 & 0 \\ -1 & 0 & 0\end{array}\right]\left[\begin{array}{l}7 \\ 3 \\ 2\end{array}\right]=\left[\begin{array}{ccc}0 & -1 & 0 \\ 0 & 0 & 1 \\ -1 & 0 & 0\end{array}\right]\left[\begin{array}{l}7 \\ 3 \\ 2\end{array}\right]=\left[\begin{array}{c}-3 \\ 2 \\ -7\end{array}\right] AP=⎣⎡010−100001⎦⎤⎣⎡00−1010100⎦⎤⎣⎡732⎦⎤=⎣⎡00−1−100010⎦⎤⎣⎡732⎦⎤=⎣⎡−32−7⎦⎤
出自:机器人学入门必看
更多推荐
所有评论(0)