![ABB工业机器人进阶编程与应用](https://wfqqreader-1252317822.image.myqcloud.com/cover/794/44819794/b_44819794.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.1.2 四元数与欧拉角的转换
对于空间姿态的表述,显然欧拉角更直观(见图1-7)。其中,ψ、θ和φ分别为绕Z轴、Y轴和X轴的旋转角度。
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_15_2.jpg?sign=1739581434-20AArMUSAFGuv49olJg08vSfvOS3qRb4-0-47718e2812cac6298c436b5c1df75483)
图1-7 Z-Y-X欧拉角
四元数无法直接做加减法运算,且四元数的平方和应为1。故对空间点位的姿态运算时,通常先将四元数转化为欧拉角后进行几何的加减法运算,最后将运算结果再次转化为四元数。
ABB工业机器人提供了欧拉角与四元数转化的相关函数,其中:
①函数EulerZYX(\X,object.rot)可以将四元数转化为对应的欧拉角,此处举例提取绕X轴旋转的角度,也可提取绕Y轴和绕Z轴旋转的角度。
②函数OrientZYX(anglez,angley,anglex)可以将欧拉角转化为四元数。注意,函数中的参数顺序为Rz、Ry、Rx。
例如,平面2D相机得到某点位绕Z轴旋转α度,则可以先计算其姿态对应的欧拉角:
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_15_3.jpg?sign=1739581434-K7mCkRmXFAUJuVAoWyfQGq0UUzZ3xG5Z-0-5bcd18a4c2a7d53a2ac5aa88565f8f9d)
再对欧拉角中绕Z轴旋转的角度做加法,最后重新转化为四元数:
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_15_4.jpg?sign=1739581434-dfcTayju5Qik4t7uO8v3MUxKgIy9ApjJ-0-6728d89a9165dd57124649b3d198d766)
综合式(1-5)和式(1-6)及图1-7,可以得到Z-Y-X欧拉角(ψ、θ和φ)到四元数的转化公式:
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_15_5.jpg?sign=1739581434-Xx8dMSxlvVrDmMa1X96piFyaqAXBsJ4u-0-353c2fd44331642bd40b35518963de02)
综合式(1-5)和式(1-6)及图1-7,可以得到四元数到Z-Y-X欧拉角(ψ、θ和φ)的转化公式:
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_16_1.jpg?sign=1739581434-7KdCquqM8wmyDTyLQUcxUt76RtgcnOB7-0-e354bc14704699302446c33a3f6e521d)
arctan和arcsin的结果是,并不能覆盖所有朝向,因此使用atan2函数来代替arctan:
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_16_3.jpg?sign=1739581434-og2xEtVJD9aWmuxbeyVwZPykDGZGxE94-0-55b28f2ff5814de1ef21466159ab9425)
综合式(1-7)和式(1-9),可以在RAPID中自己编写函数,实现欧拉角与四元数的转化。欧拉角与四元数转化的RAPID代码如下:
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_16_4.jpg?sign=1739581434-m6AECLCefmVf9wLJWRnayuWcVmJ7ylHB-0-b765685dfad7b389d879081e79615058)
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_17_1.jpg?sign=1739581434-36t4ndk6kAHwxLR2rPsU4dCL62nJZJYU-0-2f93cd48389a9c7d666813143a7222a9)