由于目前机器人的编程语言尚未统一,本文将以ABB公司的RAPID语言中的运动指令详细讲解,并给各位提供实现类似运动轨迹的FANUC机器人的运动指令作为参考。让各位从中了解不同工业机器人编程的相似之处,从而更快上手新接触的机器人设备。
ABB运动指令的格式
运动指令就是让机器人移动到对应位置进行作业的指令,如图所示,运动指令由运动类型、位置点、运行速度、平滑度参数及执行坐标系组成。通过设置,调用这些组成指令的参数,便可让机器人按照规划的路径进行移动。
常见的运动类型
MoveJ关节移动
MoveJ,关节(Joint)移动即让以机器人以默认的移动方式至位置点。该移动类类型适合两点间的大范围移动,但移动的路径由机器人自行规划,无法保证具体路线。
MoveL直线移动
使用MoveL,直线(Line)移动时,位置点到位置点的移动路径为点到点的直线运动,一般运用于焊接、涂胶等对路径要求高的场合。需注意运用该指令进行大范围移动时容易出现死点。
MoveC圆弧运动
使用MoveC,圆弧(Curve)移动时,设定中间点、结束点与当前位置点三点构成一个圆弧,实现机器人的圆弧轨迹运动。
MoveAbsJ绝对位置移动
与前面三种移动方式的目的位置点表示方式不同(以直角坐标系间的相对位置表示),MoveAbsJ绝对位置移动的目的位置点以关节坐标表示。运动时机器人会以单轴运行的方式,绝对不会存在死点但运动状态完全不可控。常用于让机器人各轴回原点。
位置点
在RAPID语言中,位置点的数据类型为Jointtarget(关节坐标表示)与robtarget(直角坐标表示)。
关节坐标数据 直角坐标数据
运行速度
数据类型为speeddata,此参数定义了该行运行指令的运行速度,常见以下两种形式:
【\V】:该项目用来在指令中直接指定TCP的速度,单位mm/s。
【\T】: 该项目用来指定机器人执行该运动指令的总时间,单位为秒。
平滑度参数
数据类型为zonedata,单位mm,可理解为转角区域。如图所示,通过设置zone参数,两条指令间的轨迹路线变得圆滑,该参数也可运于设置有弧度的路径。此外,在不需要对路径进行平滑处理的情况下,z0(参数为0)与fine(完全到位)为同样功能。
如图,实现该路径的运动指令分别为:
MoveL P2,v500,z50,Tool1\wobj:=wobj1;
MoveL P3,v500,z50,Tool1\wobj:=wobj1;
MoveL P4,v500,z50,Tool1\wobj:=wobj1;
三行指令均为直线移动指令,但在移动到p2点的路径中zone参数为z50,故路线直接跳过p2点,以半径为50的圆角移动到p3点。
执行坐标系
即进行当前运动指令时使用的工具坐标系与工件坐标系,在上文的位置点中,robtarget数据表示的是两个直角坐标系的相对位置,机器人移动到哪里,是由位置点及两个执行坐标系决定的。因此在修改、添加机器人的移动指令前,一定要确认好所使用的工具坐标与工件坐标。
FANUC的机器人运动指令
J P[1] 100% CNT80 ;
L PR[2] 200mm/sec FINE ;
C PR[3] PR[4] 200mm/sec FINE ;
从其他位置以100%的关节速度以关节运动到位置点1
从位置点1以200mm/s直线运动到位置点2
(其中路径1到路径2间转角为80mm)
最后从位置点2,经过位置点3以200mm/s的速度圆弧运动到点4.
楼主最近还看过