二、已知向量或坐标系位姿相对于固定、运动坐标系的变换方式,基于算子和映射的方法计算新的向量或坐标系的位姿

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=1000cos45sin450sin45cos45=100022 22 022 22
平移向量为 A P ⃗ B O R G = [ 0 , 10 , − 10 2 ] {}^A \vec{P}_{BORG} = [0,10,-10\sqrt{2}] AP BORG=[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 +AP BORG

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] AP BORG=[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φ0sinφ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=[BAR0 BAP BORG1]

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] AP BORG=010102

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φ0sinφ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=1000cos90sin900sin90cos90=100001010

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 =100001010101010=101010

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φ0sinφ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=cos90sin900sin90cos900001

绕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)=cos900sin90010sin900cos90

按操作顺序左乘, 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 =001010100010100001732=010001100732=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 =010100001001010100732=001100010732=327

出自:机器人学入门必看

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐