前言
这周继续机器人学导论的学习(Fixed angles 和 Euler angles),另外整体了解了ros操作系统的实现原理。
学习内容
一、机器人学导论
空间中的rotation是3DOFs,那么如何把前面学到的rotation matrix所表达的姿态,拆解成三次旋转角度,以对应到三个DOFs?
这里有几个需要注意的点,一是需要定义多次旋转的先后顺序,不同顺序旋转后得到的姿态是不一样的;二是旋转转轴需要定义,是固定不动的旋转转轴(Fixed angles),还是对转动的frame当下所在的转轴旋转(Euler angles)?
Fixed angles 在一开始定义好之后便是固定的,而Euler angles 则是随着frame转动而产生位置变换,可以理解为一个是绝对的,一个是相对的。
X-Y-Z Fixed angles — 由angles推算R
针对x-y-z顺序的旋转来说明一下,如下图所示蓝色的为Fixed angles
在三次旋转的过程中,蓝色坐标是不动的。
γ、β、α分别表示三次旋转的角度,则
这里先旋转的要放在后面,顺序不能颠倒。
X-Y-Z Fixed angles — 由R推算angles
我们也可以通过已知的rotation反过来推算出三个旋转角度。
由上面的式子计算得到的矩阵,可以用cos和sin函数表示出来
那么,这里可以用Atan2函数可以求出各个角度的值
Z-Y-X Euler angles — 由angles推算R
与Fixed angles不同,这里的每一次旋转,都以旋转前的姿态作为参考 。
同样地,γ、β、α分别表示三次旋转的角度,数学表达式可以写成
(这里有一点要注意与Fixed angles进行区分,就是先旋转的要放在前面先乘)
Z-Y-Z Euler angles — 由R推算angles
同样地,这个也可以由矩阵反推出旋转角。
类似上述方法解出 γ、β、α即可
二、ROS机器人操作系统原理
https://mp.weixin.qq.com/s/oYEZGm-A7KewJPE0C_pKMw
结语
学得很顺利但安逸得有点心虚(因为看的东西都比较简单哈哈)。