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