![ABB工业机器人进阶编程与应用](https://wfqqreader-1252317822.image.myqcloud.com/cover/794/44819794/b_44819794.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.4 偏移与旋转
1.4.1 基于Offs的偏移及实现原理
对于点位(Robtarget)的偏移,ABB工业机器人编程提供了Offs(p1,x1,y1,z1)函数,返回值为基于p1点位,在pos数据中的x、y、z三个方向上叠加x1、y1和z1。该函数不改变原有p1的点位。例如,可以有以下用法,即机器人走到“p3000”沿着wobj2坐标系的z方向偏移100的位置:
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_52_2.jpg?sign=1739240865-kFwVSsnVjHqGfnPtHSGRyYJXwA4zkoDE-0-fc383a01707a2200de5db7ff1391dab5)
对于存储类型不是CONST的点位数据,也可采用Offs函数赋值。例如:
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_52_3.jpg?sign=1739240865-ekXMcuylhEKZJAJlBQoa0x9lCheR5FxB-0-4a59f5b300d88cfbfc32fa7eca7d9fbc)
在示教器中插入Offs函数赋值时,确认被赋值数据的存储类型不能是CONST。可以通过“程序数据”编辑器,选择对应点位数据,单击“编辑”—“更改声明”(见图1-48),修改对应点位的存储类型(见图1-49)。
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_52_4.jpg?sign=1739240865-RJG5eSlQRVD6PFwCIh8nkiaMQhCytu8q-0-835dc394cf46c6d846780ab06da5cf7a)
图1-48 在“程序数据”中更改声明
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_52_5.jpg?sign=1739240865-oqiMAGxUyOoK1Y0hs5jKluGNdXpY0qkJ-0-c363542f549f866b3eb8790f762399b4)
图1-49 修改对应点位的存储类型
Offs函数本质上就是在Robtarget数值的x、y、z基础上增加对应差量并返回,可以自行编写函数如下,同样实现Offs函数功能:
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_53_1.jpg?sign=1739240865-GydnnEpH9VSna1rmVQOiWiVym3Rys8ot-0-da6683502a176e03681b70af4f3c6136)
ABB工业机器人只提供了基于Robtarget类型的偏移函数,没有提供基于Jointtarget类型的偏移函数。以下代码示例可以实现让机器人基于某个点位的1~6轴数据偏移一定的角度:
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_53_2.jpg?sign=1739240865-h1szJ2PxsQIbDVYZXQmjxdgoLPhQRmkQ-0-f292b6eb70b617599a09187ba24718f5)