热线电话:18250891972 / 18250891971
Language : 中文版
欢迎来到厦门鸿智达官网

新闻中心

喷涂机器人RAPID运动指令系统

* 来源: * 作者: * 发表时间: 2019-09-12 5:28:03 * 浏览: 0

RAPID语言作为一款由ABB公司开发的功能非常强大的离线编程语言,除了允许用户根据个性需求自定义指令函数,程序库中预定义的指令(Instruments)和函数(Functions)多达数百个。由于篇幅有限,这里根据喷涂机器人离线编程的实际需求具体研究一些常用的指令。
直线运动是轨迹运动中最常见的运动,直线运动指令MoveL语法格式也是RAPID语言中其他运动指令书写的基本模板。
指令的定义格式为:MoveLposition,v_num,zone_num,Tool_obj\Wobj;其中position为运动的目标点,其数据类型为常量型的机器人目标(即CONSTrobtarget型)v_num为轨迹运动速度(num单位为毫米),zone为跟踪position时的接近精度(单位为毫米,z0=fine即为完全精确接近目标点),Tool-obj\Wobj为当前执行机器人的工具坐标系及轨迹目标点所在工件坐标系。执行下列代码得到结果如下图4.11所示。



从图中可以看出从从p10到p20机器人末端工具本来执行直线运动,但由于参数z50的设置在p10点50mm的接近精度范围内走出了一个圆角的效果。这个效果是有意义的,事实证明在涂装行业中,当喷涂对象工件角点位置时,这样适度的圆角轨迹可以有效减少涂料的边角损失。为了进一步说明问题,执行如下一个完整的程序片段,执行结果如图4.12所示。




可以注意到上图中在p10和p30点处定义的接近精度为fine,而在p20和p40处的zone精度分别为z20和z50。故p10,p30位置是精确到达,而p20和p40位置各自发生了一定的轨迹偏离。这里会有一个疑问,具体轨迹何时发生偏移何时精确到达?这就需要根据机器人当前末端工具所执行的具体任务来决定了。如果当前的任务是点焊,水切割或者激光焊接那么毫无疑问接近精度都为fine;如进行涂装作业或者车身的滚边操作那么就需要酌情的加入轨迹接近的偏移。
除了直线轨迹外,在实际离线编程中圆弧轨迹也十分常见,这里引入MoveC指令。
MoveC指令的格式为:MoveCpositionl,position2,v,z,Tool_obj\Wobj;
其中上一条运动指令的终点作为圆弧轨迹的起点,positionl是中间点,position2是轨迹终点。三点间弧弦的中垂线连线的交点即为圆心。如下指令段执行结果轨迹如下图4.13所示。



这里不得不提一下MoveJ指令,MoveJ指令是喷涂机器人轴关节运动指令,同样也是一条在RAPID程序中出现频率很高的指令。设计这条指令的初衷是对机器人运动过程中轨迹没有严格要求而只需机器人能快速平滑的运动到下个目标点。通常在轨迹之间的过渡位置或者在任务开始或结束阶段回归机器人Home点时会经常使用到这个指令。在一些机人回归轨迹上的奇异点位置通常会与AbsMoveJ指令结合使用。其语法格式为:
MoveJ\AbsMoveJposition,v,zone,Tool-obj\Wobj;
注意一个重要的规定,指令MoveL、MoveC、Move)操作对象的数据类型是CONSTrobtarget,而AbsMoveJ指令的操作对象数据类型只能是CONSTJointtarget。为了以示区分并对RAPID中的数据类型(DataTypes)声明进行一些理解,这里自然地对离线编程中的数据结构定义进行一下介绍。