![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=1739361827-foQyPAwpBpZ8zL9sbQLwtXAk1RRpyGjk-0-2c830788392711e6a05dc299a1552475)
对于存储类型不是CONST的点位数据,也可采用Offs函数赋值。例如:
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_52_3.jpg?sign=1739361827-c88449DF50rpXbYcItJM0M75rfbs1jdk-0-b1a6b831ff1ba5d63b3d933b7ed757c3)
在示教器中插入Offs函数赋值时,确认被赋值数据的存储类型不能是CONST。可以通过“程序数据”编辑器,选择对应点位数据,单击“编辑”—“更改声明”(见图1-48),修改对应点位的存储类型(见图1-49)。
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_52_4.jpg?sign=1739361827-LMKPJCM6azSfjMhxShZdqCui4cOIhzml-0-5806655617bf369d5374c93730099f18)
图1-48 在“程序数据”中更改声明
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_52_5.jpg?sign=1739361827-PMcTRpUHTDCxaj7cCpBRHCG4IRsKt9Hv-0-5a3d0405bb0d0849b992ed7558b5d915)
图1-49 修改对应点位的存储类型
Offs函数本质上就是在Robtarget数值的x、y、z基础上增加对应差量并返回,可以自行编写函数如下,同样实现Offs函数功能:
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_53_1.jpg?sign=1739361827-bec1PqNtdxWDTgCJfNTnA4FlDnooSFPG-0-e2c4318c2c393d96d26996f827dcdb6a)
ABB工业机器人只提供了基于Robtarget类型的偏移函数,没有提供基于Jointtarget类型的偏移函数。以下代码示例可以实现让机器人基于某个点位的1~6轴数据偏移一定的角度:
![](https://epubservercos.yuewen.com/315336/23950325101463306/epubprivate/OEBPS/Images/43597_53_2.jpg?sign=1739361827-SadHzdBDuck26WezdFwd4T6ojXIpA3hs-0-6115ee16f9e3e6eb39421a3bf27b7a4f)