KRL运动编程指令语法总结

KRL是“KUKA Robot Language”的缩写。KUKA机器人编程语言是一种类Python的高级编程语言,编程方式灵活多样,语句指令功能强大,本文对其运动编程的指令及含义进行简要归纳总结如下:在实际编程中,语句不区分大小写。

KRL中用于表示、记录、存储机器人空间位置的特定变量,其类型为结构体Structure,有如下几类:

(1)AXIS { A1, A2, A3, A4, A5, A6 } ,用于存储机器人6根轴的轴角度数据。

(2)E6AXIS { A1, A2, A3, A4, A5, A6,E1, E2, E3, E4, E5, E6},用于存储机器人6根轴和6个外部轴的轴角度数据。

(3)POS {X, Y, Z, A, B, C, S, T },用于存储机器人的TOOL(工具坐标)相对于BASE(工件坐标系)或世界坐标系(WORLD)的笛卡尔三维坐标值及分别绕三维旋转的角度值;S即Status,T即Turn,这两个参数用来规避奇异点,确保机器人空间坐标对应轴坐标的唯一性。

(4)E6POS {X, Y, Z, A, B, C, S, T,E1, E2, E3, E4, E5, E6},上述POS结构体增加6根外部轴的角度位置。

(5)FRAME {X, Y, Z, A, B, C},用于存储机器人的TOOL(工具坐标)相对于BASE(工件坐标系)或世界坐标系(WORLD)的笛卡尔三维坐标值及分别绕三维旋转的角度值。

说明:机器人程序中示教的路径点都是以E6POS结构体保存,机器人的起始点HOME是以E6AXIS结构体保存,工具坐标、工件坐标都是以FRAME结构体保存。

一、SPTP-轴运动指令:

SPTP是"Spline Point to Point"的缩写即“样条点到点运动”。SPTP是机器人轴运动即关节型运动,特点是运动轨迹非线性、路径由机器人自主决定、节拍速度通常最快,适用于无特定轨迹要求、空间中位移等场合。

SPTP指令可以定义并使用的结构体类型有:AXIS,E6AXIS,POS,E6POS,FRAME

1、sptp xp1 with $tool=tool_data[1],$base=base_data[1]  ;xp1 机器人程序中示教保存的第一个路径点,存储在DAT数据列表中的名称为"XP1"

2、sptp {a1 0,a2 -90,a3 90,a4 0,a5 0,a6 0}  ;让机器人的6根轴回到零点位置。

sptp {a2 -45}       ;仅让机器人的A2轴运动到-45度的位置。

说明:tool和base在运动前初始化或在运动指令中给定,针对E6POS,POS类型位置。

$tool=tool_data[1]   ;指定当前工具为1号工具;(工具号:1-16)

$base=base_data[1]  ;指定当前工件为1号工件;(工件号:1-32)

sptp {x 100,y -100,z 200,a 0,b 0,c 0}

sptp {x 1000}

3、逼近点设置

sptp xp1  c_spl  ;c_spl代表xp1是一个逼近点,非精确到达的点,旧的PTP指令用c_dis代表逼近点(ptp xp1  c_dis)。

二、SLIN-直线运动指令

SLIN指令可以定义并使用的结构体类型有:E6POS,POS,FRAME

例:slin xp1 with $tool=tool_data[1],$base=base_data[1],$vel.cp=0.5,$jerk={cp 50} c_spl

slin {x 100} with …….

三、SCIRC-圆弧运动指令

SCIRC指令可以定义并使用的结构体类型有:E6POS,POS,FRAME

例:

1、scirc xp7,xp8 c_spl with ….   ;xp7是圆弧的辅助点,xp8是圆弧的目标点,

scirc xp7,xp8, ca 360 with ….   ; ca 用来定义圆弧的圆心角,360度代表运动一周。

2、scirc {x 100,y 300} , {x 200,y 280} with…

   Scirc {x 100,y 300} , {x 200,y 280},ca 180 with…

四、运动参数初始化的指令:

1、$tool=tool_data[1]      ;指定当前工具是1号工具

   $load=load_data[1]      ;指定当前工具负载是1号工具负载

2、$base=base_data[1]   ;指定当前工件是1号工件

3、$ipo_mode=#base,#tcp   ;指定机器人运动模式

4、axis velocity      ;指定机器人6根轴的移动速度

   for n=1 to 6

      $vel_axis[n]=100    ;100%全速移动

   endfor

   cp velocity    ;指定机器人轨迹移动速度

   $vel.cp=3 (max.3m/s)    ;指定机器人工具TCP当前的轨迹移动速度为3米/秒

   $vel.ori1= 100 (A,B)   ;指定机器人工具绕Y、Z轴旋转的角速度为100度/秒

   $vel.ori2=100 (C)    ;指定机器人工具绕X轴(工具作业方向)旋转的角速度为100度/秒

5、$acc_axis[1]=100    ;指定机器人A1轴加速度为100%

     $acc.cp=100   ;指定机器人TCP轨迹加速度为100%

    $acc.ori1=150   ;指定机器人工具绕Y、Z轴旋转加速度

    $acc.ori2=200    ;指定机器人工具绕X轴(工具作业方向)旋转加速度

6、$apo.cdis=100   c_spl (c_dis)   ;指定机器人轨迹逼近距离为100mm

   $apo.cvel=100   c_vel  ;指定机器人速度逼近

  $apo.cori=50    c_ori   ;指定机器人姿态角逼近

   说明:CP运动要设置以上参数,可指定其中一种即可,最常用的是距离逼近 c_dis

7、CP-PTP,也需要指定以上参数中的一种。

纯PTP的逼近: c_ptp, $apo.cptp=100,轴运动的路点逼近

ptp  xp1 c_ptp

ptp xp2 c_ptp

ptp xp3 c_ptp

ptp xp4 c_ptp

四、相对运动指令:

sptp_rel   ;PTP相对运动指令

slin_rel    ;LIN相对运动指令

slin_rel {x 100} #base (默认相对工件坐标,可省略)

slin_rel {x 100} #tool (相对工具坐标,沿工具作业方向X+移动100,须做工具标定)

scirc_rel    ;CIRC相对运动指令

你可能感兴趣的:(KUKA机器人,高级编程,机器人)