旋转矩阵学习

旋转矩阵 Rotation Matrix

关于Rotation Matrix

  • 三个用法:
  1. 描述一个frame相对于另一个frame的姿态
  2. 将point由某一个frame的表达转换到另一个frame(仅有相对转动变化)来表达
  3. 将point(vector)在同一个frame中进行转动
  • 思考——空间中的Rotation是3DOFs,那要如何把一般rotation matrix所表达的姿态,拆解成3次旋转角度,以应对到3个DOFs?

  • 注意事项:

    • Rotation前后顺序需要明确定义(与移动不同,先向X移动后向Y移动与先向Y移动后向X移动可以互换顺序,而旋转不可以)
    • 旋转转轴也需要明确定义。一般有两种:【固定不动】旋转轴和【Body frame(随动)】转轴。
  • 两个拆解方式:

    • 对方向【固定不动】的旋转轴旋转:Fixed angles
    • 【转动的frame当下所在】的旋转方向旋转:Euler angles

Fixed Angles—X-Y-Z Fixed Angles

由angles推算旋转矩阵R

X-Y-Z Fixed Angles — 由angles推算旋转矩阵R(三次旋转分别针对X,Y,Z轴来做,X,Y,Z轴是固定不动的,如下图蓝色坐标系)(逆时针为正)

如何由三个角度推算出Rotation Matrix?

对应外旋概念

由R推算angles

Euler Angles—Z-Y-X Euler Angles

由angles推算R (绕被转动转轴去做旋转)—Z-Y-X

对应 内旋概念

由angles推算Rotation Matrix—Z-Y-Z Eulers Angles

争取一个特定的R,有多种的拆解组合:

  • 12种Euler Angles和12种Fixed Angles;
  • 存在Duality—-共12种对Principal Axes连3次转动的拆解方法;

轴-角表示— Angle-Axis表达法:

四元数表示

参考了 台大 机器人学 课程)

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2020-2023 cyg
  • 访问人数: | 浏览次数: