1.指令与功能
PAPID 程序偏移生效、程序偏移设定指令可整体改变程序中所有程序点的位置,机器人和外部轴的偏移可分别指令,指令的名称与编程格式见表 3.6-1。
程序偏移生效、程序偏移设定指令的功能类似于工件坐标系设定,当机器人偏移生效时,可使所有程序点的XYZ坐标、工具姿态均产生整体偏移;外部轴偏移生效时,则可使所有程序点的外部轴位置产生整体偏移。
程序偏移不仅可改变图 3.6-1(a)所示的机器人XYZ位置,而且还可添加工具姿态偏移功能,使坐标系产生图 3.6-1(b)所示的旋转。程序偏移通常用来改变机器人的作业区,例如,当机器人需要进行多工件作业时,通过机器人偏移,便可利用同一程序完成作业区 1、作业区 2 的相同作业。
2.程序偏移生效与撤销
在 RAPID 程序中,机器人、外部轴的程序偏移可分别通过机器人程序偏移生效指令 PDisp On、外部轴程序偏移生效指令 EOffs On 来实现。
程序偏移生效指令的偏移量可通过指令中的参照点和目标点,由系统自动计算生成;程序偏移设定指令可直接定义机器人、外部轴的程序偏移量,无需指定参照点和目标位置。PDisp On、EOffs On 指令可在程序中同时使用,所产生的偏移量可自动叠加。
PDisp On、EOffs On 指令所产生的程序偏移,可分别通过指令 PDisp Off、EOffs Off 撤销,或利用后述的程序偏移量清除函数命令 ORob T 清除;此外,如果程序中使用了后述的程序偏移设定指令 PDisp Set、Eoffs Set,也将清除 PDisp On、EOffs On 指令的程序偏移。
PDisp On、EOffs On 指令中的添加项、程序数据作用如下。
\Rot:工具偏移功能选择,数据类型 switch。增加添加项\Rot,可使机器人在XYZ位置偏移的同时,根据目标位置调整工具姿态。
\Exe P:程序偏移目标位置,数据类型 robtarget。它用来定义参照点 Prog Point 经程序偏移后的目标位置;如不使用添加项\Exe P,则以当前位置(停止点 fine)作为程序偏移目标。
Prog Point:程序偏移参照点,数据类型 robtarget。参照点是用来计算机器人、外部轴程序偏移量的基准位置,目标位置与参照点的差值就是程序偏移量。
Tool:工具数据,数据类型 tooldata。指定程序偏移所对应的工具。
\WObj:工件数据,数据类型 wobjdata。增加添加项后,程序数据 Prog Point、\Exe P 为工件坐标系数据;否则,为大地坐标系数据。
机器人程序偏移生效/撤销指令的编程实例如下,程序的移动轨迹如图 3.6-2 所示。
Move L p0, v500, z10, tool1 ; // 无偏移运动
Move L p1, v500, z10, tool1 ;
……
PDisp On\Exe P := p1, p10, tool1 ; // 生效机器人偏移
Move L p20, v500, z10, tool1 ; // 偏移运动
Move L p30, v500, z10, tool1 ;
PDisp Off ; // 机器人偏移撤销
Move L p40, v500, z10, tool1 ;
……
外部轴程序偏移仅用于配置有外部轴的机器人系统,指令的编程实例如下。
Move L p1, v500, z10, tool1 ; // 无偏移运动
EOffs On \Exe P := p1, p10 ; // 外部轴程序偏移生效
Move L p20, v500, z10, tool1 ;
……
EOffs Off ; // 外部轴偏移撤销
如机器人当前位置是以停止点(fine)形式指定的准确位置,则该点可直接作为程序偏移的目标位置,此时,指令中无需使用添加项\Exe P,例如:
Move J p1, v500, fine \Inpos := inpos50, tool1 ;// 停止点定位
PDisp On p10, tool1 ; // 机器人偏移,目标点 P1
……
Move J p2, v500, fine \Inpos := inpos50, tool1 ;// 停止点定位
EOffs On p20 ; // 外部轴偏移,目标点 P2
……
机器人程序偏移指令还可结合子程序调用使用,使程序的运动轨迹整体偏移,以达到改变作业区域的目的。例如,实现图 3.6-3 所示 3 个作业区变换的程序如下。
Move J p10, v1000, fine\Inpos := inpos50, tool1 ;// 第 1 偏移目标点定位
draw_square ; // 调用子程序轨迹
Move J p20, v1000, fine \Inpos := inpos50, tool1 ;// 第 2 偏移目标点定位
draw_square ; // 调用子程序轨迹
Move J p30, v1000, fine \Inpos := inpos50, tool1 ;// 第 3 偏移目标点定位
draw_square ; // 调用子程序轨迹
……
!*************************************
PROC draw_square()
PDisp On p0, tool1 ; // 生效程序偏移,参照点 p0、目标点为当前位置
Move J p1, v1000, z10, tool1 ; // 需要偏移的轨迹
Move L p2, v500, z10, tool1 ;
Move L p3, v500, z10, tool1 ;
Move L p4, v500, z10, tool1 ;
Move L p1, v500, z10, tool1 ;
PDisp Off ; // 程序偏移撤销
ENDPROC
!*************************************
3.程序偏移设定与撤销
在 RAPID 程序中,机器人、外部轴的程序偏移也可通过机器人、外部轴程序偏移设定指令来实现。PDisp Set、EOffs Set 指令可直接定义机器人、外部轴的程序偏移量,而无需利用参照点和目标位置计算偏移量;因此,对于只需要进行坐标轴偏移的作业(如搬运、堆垛等),可利用指令实现位置平移,以简化编程与操作。
指令 PDispSet、EOffsSet 所生成的程序偏移,可分别通过偏移撤销指令 PDispOff、EOffsOff 撤销,或利用程序偏移指令 PDisp On、EOffs On 清除。此外,对于同一程序点,只能利用 PDispSet、EOffsSet 指令设定一个偏移量,而不能通过指令的重复使用叠加偏移。
机器人、外部轴程序偏移设定指令的程序数据含义如下。
DispFrame :机器人程序偏移量,数据类型 pose。机器人的程序偏移量需要通过坐标系姿态数据 pose 定义,pose 数据中的位置数据项 pos 用来指定坐标原点的偏移量;方位数据项 orient 用来指定坐标系旋转的四元数,不需要旋转坐标系时,orient 为[1,0,0,0]。
EAx Offs:外部轴程序偏移量,数据类型 extjoint。直线轴偏移量的单位为 mm,回转轴的单位为 °。
对于图 3.6-4 所示的简单程序偏移运动,程序偏移设定/撤销指令的编程实例如下。
VAR pose xp100 := [ [100, 0, 0], [1, 0, 0, 0] ] ; // 定义程序偏移量X+100
Move J p1, v1000, z10, tool1 ; // 无偏移运动
……
PDisp Set xp100 ; // 程序偏移生效
Move L p2, v500, z10, tool1 ; // 偏移运动
Move L p3, v500, z10, tool1 ;
PDisp Off ; // 程序偏移撤销
Move J p4, v1000, z10, tool1 ; // 无偏移运动
……
外部轴程序偏移设定仅用于配置有外部轴的机器人系统,指令的编程实例如下。
VAR extjoint eax_p100 := [100, 0, 0, 0, 0, 0] ; // 定义外部轴偏移量 e1+100
Move J p1, v1000, z10, tool1 ; // 无偏移运动
……
EOffs Set eax_p100 ; // 程序偏移生效
Move L p2, v500, z10, tool1 ; // 偏移运动
EOffs Off ; // 程序偏移撤销
Move J p3, v1000, z10, tool1 ; // 无偏移运动
了解更多库卡机器人知识欢迎点击咨询:库卡机器人集成
- 下一篇:库卡机器人集成|介绍什么是程序点偏置与镜像函数
- 上一篇:工业机器人的特点