- ABB工业机器人进阶编程与应用
- 陈瞭 肖辉编著
- 660字
- 2022-08-16 16:20:22
1.1.1 空间位姿的定义
对于坐标系A空间中的一个点的位置,可以表示为AP(Px,Py,Pz),如图1-4所示。用矩阵形式可以如下表示:
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_13_2.jpg?sign=1739294286-NG48S53PshCvgDEbLUmnrlSXsRC3etlW-0-71ba6790379d7a218310152530b05dc6)
对于空间同一个位置,其可以有不同的姿态(方向)。而对于姿态(方向)的表示,可以在该点处构建一个坐标系B(见图1-5)。新坐标系B的X轴方向使用该轴在原有坐标系A3个方向的投影表示。为了方便表示,选用单位向量。
新坐标系B的Y轴和Z轴同理表示。旋转姿态可由下述矩阵表示,且式(1-2)称为旋转矩阵:
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_13_3.jpg?sign=1739294286-9Y1ZBnFtvaaxa1agCl3rN19lTgheU9Yw-0-e6c96769b194c859ba361c38578f5266)
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_13_4.jpg?sign=1739294286-xBQr2F2qC5uNeIwxCMfFa0nSBha5S1Zr-0-4b7d88b5f111673116f3a6c70de4a258)
图1-4 空间点P的位置
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_13_5.jpg?sign=1739294286-uf38o4iJTsS9fzrL8MMnjDdGXrs4dyHs-0-259f88de71d6b6f93d908cd46b43abdd)
图1-5 空间点P的姿态表示
将位置和姿态统称为位姿(位置和姿态)。空间中一个点的位姿可以用矩阵表示(为了矩阵齐次化,构建4×4的矩阵)。式(1-3)称为位姿矩阵或者齐次变换矩阵:
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_14_1.jpg?sign=1739294286-3o2wL4MYA6jBNfl52ZpK0O9gGdGvoR0l-0-63d6e1dea76cefd4814ddb84cf9872da)
对于空间姿态,也可通过欧拉角表示(旋转顺序为Z、Y、X),即坐标系先绕原有坐标系的Z轴旋转α度,再绕新的坐标系的Y轴旋转β度,最后绕新的坐标系的X轴旋转γ度,如图1-6所示。
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_14_2.jpg?sign=1739294286-8n376gP7WmrSQAZqttlFvbJVAVCitZCm-0-e0da24e54ec7c6b820fc11ff468f1a29)
图1-6 Z-Y-X欧拉角
注:空间的旋转不满足交换律,不同的旋转顺序会导致不同的结果。
根据式(1-2)所示旋转矩阵的定义,结合图1-6的解释,可以整理得到基于Z-Y-X欧拉角的旋转矩阵如下:
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_14_3.jpg?sign=1739294286-5yf0tR6tq4RHqKgRMi1QOdEOh6Kn7CP5-0-367a1477b7f805ea79e0c39fd0d371a3)
式(1-4)中,cα=cosα,sα=sinα;cβ=cosβ,sβ=sinβ;cγ=cosγ,sγ=sinγ。整理式(1-4)后,可以得到旋转矩阵:
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_14_4.jpg?sign=1739294286-NteoBJrbkZOa93BS9aiqNku0MFyUSHwF-0-55ea2ecdc04a789a5cc8edc693a89c5e)
对于式(1-2)所示的旋转矩阵,还可以采用更简单的表达形式。四元数是一种描述此旋转矩阵更为简洁的方式。根据旋转矩阵的各元素,计算四元数。
令,则:
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_14_6.jpg?sign=1739294286-faqhM6zyGZeyBtv6CJdnnAC57VIHtXvg-0-82afd49a6157db3bba934668ebb82f1c)
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_15_1.jpg?sign=1739294286-sEoGoEir9YgYE7XeCicbjHSgufoG6ecK-0-b856a849f06a671caec72dc9b573d05a)
四元数不可直接做加减运算,且四元数的平方和须为1。
ABB工业机器人的pose数据采用空间位置pos(x,y,z)和四元数orient(q1,q2,q3,q4)来表示一个点的位姿(位置与姿态)。