3D空间位置表示方法
- 姿态和旋转 Orientation and Rotation
- 旋转刚体坐标系
- 旋转矩阵表示方法
- 任意旋转的旋转矩阵
- 特殊正交群
- 四元数
-
- 性质
- 单位四元数和旋转
- 欧拉角
姿态和旋转 Orientation and Rotation
? 对Orientation这个词的翻译还是有点迷茫,姿势一般都是用的pose,我下面用的方向不准确,如果有好的翻译,留言,我会更新,谢谢。
- 方向和旋转的概念 方向:状态是旋转的结果 旋转:改变状态的过程/动作 方向是一个周期,每个方向可以通过两个旋转产生。 绕 x x x轴旋转 π 2 \frac{\pi}{2} 2π和绕 ? x -x ?x轴旋转 3 π 2 \frac{3\pi}{2} 23π 产生相同的方向。
- 欧拉旋转定理:在三维空间中,假设刚体在旋转时至少有一点固定,这个位移相当于包含固定点的固定轴的旋转。(来自百度百科全书) 几乎每个方向都是唯一的旋转轴 j j j 和旋转角 α ∈ [ 0 , π ] \alpha \in[0,\pi] α∈[0,π]决定的
旋转刚体的坐标系
- 正交坐标系定义:[x,y,z]
- 坐标定义 刚体A的某一点 A P {}_{}^{A}P AP在A坐标系下表示为: A A P {}_{A}^{A}P AAP,与旋转体对应的点 B P {}_{}^{B}P BP 在B坐标系的坐标相同。 A A P = B B P {}_{A}^{A}P = {}_{B}^{B}P AAP=BBP
旋转矩阵表示方法
A B P = [ A B x , A B y , A B z ] B B P {}_{A}^{B}P = [{}_{A}^{B}x,{}_{A}^{B}y,{}_{A}^{B}z] {}_{B}^{B}P ABP=[ABx,ABy,ABz]BBP [ A B x , A B y , A B z ] = A B M [{}_{A}^{B}x,{}_{A}^{B}y,{}_{A}^{B}z] = {}_{A}^{B}M [ABx,ABy,ABz]=ABM A B M {}_{A}^{B}M ABM :旋转矩阵 性质: A B M = ( B A M ) − 1 = ( B A M ) T {}_{A}^{B}M = ({}_{B}^{A} M)^{-1}=({}_{B}^{A}M)^T ABM=(BAM)−1=(BAM)T
经过多次旋转,旋转矩阵的拼接 (该矩阵运算满足结合律但不满足交换律): C P = C B M B A M A P {}_{C}^{}P = {}_{C}^{B}M{}_{B}^{A}M{}_{A}^{}P CP=CBMBAMAP
任意旋转的旋转矩阵
- 旋转轴和旋转角度 例如: 绕 x x x轴旋转角度 θ \theta θ,旋转矩阵如下: A B M = [ 1 0 0 0 c o s θ − s i n θ 0 s i n θ c o s θ ] (3) {}_{A}^{B}M = \left[ \begin{matrix} 1 & 0 & 0 \\ 0 & cos\theta& -sin\theta\\ 0 & sin\theta& cos\theta \end{matrix} \right] \tag{3} ABM=⎣⎡1000cosθsinθ0−sinθcosθ⎦⎤(3) 通用写法:旋转轴 [ x , y , z ] T [x,y,z]^T [x,y,z]T,旋转角度 θ \theta θ,图片来自百度百科。
特殊正交群
这部分我还是省略吧,就是公式和定义,除了百度百科一样的内容,没有更深理解了,如果有推荐材料,请留言给我吼!
四元数
四元数是由一个实数和三个复数组成。 q = a + b i + c j + d k q = a + b i + c j + d k q=a+bi+cj+dk i 2 = j 2 = k 2 = i j k = − 1 i^2 = j^2 = k^2 = i j k = -1 i2=j2=k2=ijk=−1 表示 i j = k , j k = i , k i = j , j i = − k , k j = − i , i k = − j i j = k, j k = i, k i = j, j i = -k, kj = -i, i k = - j ij=k,jk=i,ki=j,ji=−k,kj=−i,ik=−j
性质
- 性质1,四元数相乘: q 1 ⊗ q 2 = ( a 1 a 2 − b 1 b 2 − c 1 c 2 − d 1 d 2 ) + ( a 1 b 2 + b 1 a 2 + c 1 d 2 − d 1 c 2 ) i + ( a 1 c 2 + c 1 a 2 − b 1 d 2 + d 1 b 2 ) j + ( a 1 d 2 + d 1 a 2 + b 1 c 2 − c 1 b 2 ) k q1\otimes q2 = (a1a2 - b1b2 - c1c2 - d1d2) + (a1b2 + b1a2+c1d2 - d1c2) i + (a1c2+c1a2-b1d2+d1b2) j+(a1d2+d1a2+b1c2-c1b2) k q1⊗q2=(a1a2−b1b2−c1c2−d1d2)+(a1b2+b1a2+c1d2−d1c2)i+(a1c2+c1a2−b1d2+d1b2)j+(a1d2+d1a2+b1c2−c1b2)k
- 性质2,共轭: q ∗ = a − b i − c j − d k q^* = a - b i - c j - d k q∗=a−bi−cj−dk
- 性质3,模: ∣ ∣ q ∣ ∣ = q ⊗ q ∗ = a 2 + b 2 + c 2 + d 2 ||q|| = \sqrt{q\otimes q^*} = \sqrt{a^2+b^2+c^2+d^2} ∣∣q∣∣=q⊗q∗ =a2+b2+c2+d 标签: kj90传感器位移传感器pa1c