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