ABB工业机器人点位绕工件坐标系旋转及点位姿态角度计算
1. ABB机器人提供reltool函数,使得机器人能够绕TCP旋转,旋转的方向为TCP的xyz方向
2. 下图为机器人原始位置,
![](http://n4.ikafan.com/assetsj/blank.gif)
原始位置
使用reltool绕tcp的z方向旋转45°后,如下图
![](http://n4.ikafan.com/assetsj/blank.gif)
![](http://n4.ikafan.com/assetsj/blank.gif)
绕tcp的z方向旋转45°
3. 若希望机器人绕工件坐标系的z方向旋转45°,如下图的变化,如何实现?
![](http://n4.ikafan.com/assetsj/blank.gif)
4. 由于ABB机器人点位姿态使用四元数,四元数不能直接做加减法,可以通过eulerzyx函数得到欧拉角并计算。
5. 创建函数如下
![](http://n4.ikafan.com/assetsj/blank.gif)
6 插入如下代码,即可实现绕工件坐标系旋转。
![](http://n4.ikafan.com/assetsj/blank.gif)
点位姿态角度计算
1.ABB机器人点位的姿态数据用四元数(q1-q4)表示,不像其他品牌机器人直接用ABC来表示欧拉角
2.比如通过视觉拍照,发现点位需要旋转,通常做法如下:
![](http://n4.ikafan.com/assetsj/blank.gif)
3.以上做法容易理解
4.其实可以直接对四元数做乘法,注意:四元数乘法不满足交换律
5.四元数乘积pq表示两个旋转的合成(即旋转了Q之后再旋转P)
6.如果q表示原四元数,p表示角度差量四元数,使用p*q(即对原四元数左乘!
![](http://n4.ikafan.com/assetsj/blank.gif)
7.运行代码结果如下:(即在原角度z角度上增加10度)
![](http://n4.ikafan.com/assetsj/blank.gif)
赞 (0)