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