台大机器人学——林沛群
1.复习:关于Rotation Matrix
- 三个用法:
- 描述一个frame相对于另一个frame的姿态
- 将point由某一个frame的表达转换到另一个frame(仅有相对转动变化)来表达
- 将point(vector)在同一个frame中进行转动
- 思考——空间中的Rotation是3DOFs,那要如何把一般rotation matrix所表达的姿态,拆解成3次旋转角度,以应对到3个DOFs?
- 注意事项:
- Rotation前后顺序需要明确定义(与移动不同,先向X移动后向Y移动与先向Y移动后向X移动可以互换顺序,而旋转不可以)
- 旋转转轴也需要明确定义。一般有两种:【固定不动】旋转轴和【Body frame(随动)】转轴。
- 两个拆解方式:
- 对方向【固定不动】的旋转轴旋转:Fixed angles ...
- 对【转动的frame当下所在】的旋转方向旋转:Euler angles ...
2. Fixed Angles
2.1 X-Y-Z Fixed Angles -- 由angles推算旋转矩阵R(三次旋转分别针对X,Y,Z轴来做,X,Y,Z轴是固定不动的,如下图蓝色坐标系)(逆时针为正)

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



EX1:

可以发现,更换转动顺序后,旋转矩阵数值与frame姿态都不相同,即是转动角度相同,顺序不同,最后的状态不同。

2.2 X-Y-Z Fixed Angles——由R推算angles


EX1 先给旋转矩阵内容,计算三个角度

3. Euler Angles
3.1 Z-Y-X Euler Angles-由angles推算R (绕被转动转轴去做旋转)

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

先转的放【前面】:以mapping来想,对某一个向量,从最后一个frame【逐渐转动或移动】来回到第一个frame:


EX1:

EX2: Euler(Y30,X60) v.s. Fixed(X60,Y30)

3.2 Z-Y-Z Euler Angles - 由angles推算Rotation Matrix.

旋转矩阵表达法:先转放前面,后转放后面(反向mapping)

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

EX: Revisit Euler Angles-2的范例

争取一个特定的R,有多种的拆解组合:
- 12种Euler Angles和12种Fixed Angles;
- 存在Duality---共12种对Principal Axes连3次转动的拆解方法;
4. Angle-Axis表达法:

5. Quaternion(四元数)表达法
其中:
这里,四个参数加一个条件约束,也为3DOFs。
评论(0)
您还未登录,请登录后发表或查看评论