您好!欢迎光临工博士智能制造网!平台热线:021-80392549
工博士机器人网
库卡机器人分销商
产品:133  浏览:92051
1
您当前的位置:首页 » 新闻中心 » KUKA机器人的运动指令--KUKA机器人
产品分类
新闻中心
KUKA机器人的运动指令--KUKA机器人
发布时间:2022-07-11        浏览次数:7003        返回列表

KUKA机器人的运动指令

此次主要分享以下内容:

1.直线运动

2.点到点

3.圆弧运动

4.参数变量解释

5.其他的不常用的运动

KUKA机器人的运动大致分为3类,分别是直线运动,点到点(P-to-P),以及圆弧运动

在介绍指令之前,我们需要了解kuka程序的2类文件。

第1类是“.SRC文件”,这里是程序主体,运动指令在此创建和执行。示教器R1目录下,很直观的能见到。

第2类是“.DAT文件”,也就是数据文件,运动指令相关参数一般声明在此。如在示教器上不可见,在***以或以上权限,“过滤”-“全部”即可看到。

一般在示教器新建“Modul”时会自动生成同名的2个文件。

下面回到主题,讲解运动指令

一 .直线运动

1.LIN 指令。

在示教器上折叠状态是“LIN P1 Vel=2 m/s CPDAT1 Tool[1] base[0]”,在展开之后是下列一串指令。

$BWDSTART =FALSE

LDAT_ACT = LCPDAT1

FDAT_ACT = FP1

BAS(#CP_PARAMS,2.0)

SET_CD_PARAMS(0)

LIN XP1

我们现在来解析这一串指令:在“LIN XP1”之前的都是LIN指令参数的设置,“LIN XP1”运动到“XP1”这个位置。

$BWDSTART =FALSE--->开始动作的说明,无特殊含义。

LDAT_ACT = LCPDAT1---> 加载LCPDAT1中数据至临时变量:含速度,加速度,圆滑过渡等参数。

FDAT_ACT = FP1--->加载FP1中数据至临时变量:含工具,坐标等参数。

BAS(#CP_PARAMS,2.0)--->函数运行后,会检查计算临时变量里的数值,并设定2.0的速度。

LIN XP1 --->根据以上参数,机器人执行运动。

2.SLIN指令。

在示教器上折叠状态是“SLIN P1 Vel=2 m/s CPDAT2 Tool[2] base[0]”,在展开之后是一条长指令。

SLIN XP1 WITH $VEL =SVEL_CP(2.0,, LCPDAT2), $TOOL =STOOL2(FP2), $base =Sbase(FP2.base_NO), $IPO_MODE =SIPO_MODE(FP2.IPO_frame), $LOAD =SLOAD(FP2.TOOL_NO), $ACC =SACC_CP(LCPDAT2), $ORI_TYPE =SORI_TYP(LCPDAT2), $APO =SAPO(LCPDAT2), $JERK =SJERK(LCPDAT2), $COLLMON_TOL_PRO[1]=USE_CM_PRO_VALUES(0)

我们手动把每个逗号换行来看

SLIN XP1 --->本次运动目标为XP1

WITH --->后面都是参数修饰

$VEL =SVEL_CP(2.0,, LCPDAT2)--->使用LCPDAT2中的速度 和其他参数

$TOOL =STOOL2(FP2)--->使用FP2中的工具

$base =Sbase(FP2.base_NO)--->使用FP2中的基坐标

$IPO_MODE =SIPO_MODE(FP2.IPO_frame)--->使用FP2中的IPO模式设置

$LOAD =SLOAD(FP2.TOOL_NO)--->使用FP2中的负载

$ACC =SACC_CP(LCPDAT2)--->使用LCPDAT2中的加速度

$ORI_TYPE =SORI_TYP(LCPDAT2)--->使用LCPDAT2中的回转设置

$APO =SAPO(LCPDAT2)--->使用LCPDAT2中的圆滑距离

$JERK =SJERK(LCPDAT2)--->使用LCPDAT2中的加加速度

$COLLMON_TOL_PRO[1]=USE_CM_PRO_VALUES(0)--->使用碰撞监控表0的数据

---------------------------------------------------------

明后天续后面的,写完P2P,圆弧,再具体说下运动参数。今天先这样。

2021.08.22.22.33更

开始续杯 .......

----------------------------------------------------------

二. 点到点运动

1.PTP 指令。

在示教器上折叠状态是“PTP p3 CONT Vel=100 % PDAT4 Tool[3] base[0] ColDetect[1]”,在展开之后是下列一串指令。

$BWDSTART = FALSE
PDAT_ACT = PPDAT4
FDAT_ACT = Fp3
BAS(#PTP_PARAMS, 100.0)
SET_CD_PARAMS (1)
PTP Xp3 C_DIS

我们现在来解析这一串指令:在“PTP XP3”之前,都是PTP指令参数的设置,“PTP XP3”,运动到“XP3”这个位置。

$BWDSTART =FALSE--->开始动作的说明,无特殊含义。

PDAT_ACT = PPDAT4---> 加载LCPDAT4中数据至临时变量:含速度,加速度,圆滑过渡等参数。

FDAT_ACT= FP3--->加载FP3中数据至临时变量:含工具,坐标等参数。

BAS(#PTP_PARAMS,100.0)--->函数运行后,会检查计算临时变量里的数值,并设定100%的速度。

SET_CD_PARAMS (1)--->使用碰撞监控表1的数据,

PTP XP4 --->根据以上参数,机器人执行运动。

C_DIS --->启用圆滑过渡

2.SPTP指令。

在示教器上折叠状态是“SPTP p4 CONT Vel=100 % PDAT4 Tool[4] base[0] ColDetect[1]”,在展开之后是一条长指令。

SPTP Xp4 WITH $VEL_AXIS[1]=SVEL_JOINT(100.0), $TOOL =STOOL2(Fp4), $base =Sbase(Fp4.base_NO), $IPO_MODE =SIPO_MODE(Fp4.IPO_frame), $LOAD =SLOAD(Fp4.TOOL_NO), $ACC_AXIS[1]=SACC_JOINT(PPDAT4), $APO =SAPO_PTP(PPDAT4), $GEAR_JERK[1]=SGEAR_JERK(PPDAT4), $COLLMON_TOL_PRO[1]=USE_CM_PRO_VALUES(1) C_Spl

我们手动把每个逗号换行来看

SPTP XP4 --->本次运动目标为XP4

WITH --->后面都是参数修饰

$VEL_AXIS[1] = SVEL_JOINT(100.0)--->将100(%)的轴速度,分配到6个轴

$TOOL = STOOL2(FP4) --->使用FP4中的工具

$base = Sbase(FP4.base_NO) --->使用FP4中的基坐标

$IPO_MODE = SIPO_MODE(FP4.IPO_frame) --->使用FP4中的

$LOAD = SLOAD(FP4.TOOL_NO) --->使用FP4中的负载

$ACC_AXIS[1] = SACC_JOINT(PPDAT4) --->使用PPDAT4中的轴加速度

$APO = SAPO_PTP(PPDAT4) --->使用FP4中的圆滑距离

$GEAR_JERK[1] = SGEAR_JERK(PPDAT4) --->使用PPDAT4中的轴加加速度

$COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(1) --->使用碰撞监控表1的数据

C_SPL --->本次运动启用圆滑过渡

三.圆弧运动

1.CIRC 指令。

在示教器上折叠状态是“CIRC p7 p8 CONT Vel=2 m/s CPDAT6 Tool[4] base[0] ColDetect[1]”,在展开之后是下列一串指令。

$BWDSTART =FALSE

LDAT_ACT = LCPDAT6

FDAT_ACT = Fp8

BAS(#CP_PARAMS,2)

SET_CD_PARAMS(1)

CIRC Xp7, Xp8 C_Dis C_Dis

我们现在来解析这一串指令:在“CIRC Xp7, Xp8”之前的都是CIRC指令参数的设置,“CIRC Xp7, Xp8”,从当前点经过XP7, XP8生成圆弧路径。

$BWDSTART =FALSE--->开始动作的说明,无特殊含义。

LDAT_ACT = LCPDAT6---> 加载LCPDAT1中数据至临时变量:含速度,加速度,圆滑过渡等参数。

FDAT_ACT = FP8--->加载FP8中数据至临时变量:含工具,坐标等参数。

BAS(#CP_PARAMS,2)--->函数运行后,会检查计算临时变量里的数值,并设定2.0的速度。

SET_CD_PARAMS(1)--->使用碰撞监控表1的数据

CIRC Xp7, Xp8 --->从当前点经过XP7,XP8执行圆弧运动。

C_Dis C_Dis --->本次运动启用圆滑过渡

2.SCIRC指令。

在示教器上折叠状态是“SCIRC p7 p8 CONT Vel=2 m/s CPDAT6 ANGLE=90° Tool[4] base[0] ColDetect[1]”,在展开之后是一条长指令。

SCIRC Xp7, Xp8, CA 90 WITH $VEL =SVEL_CP(2.0,, LCPDAT6), $TOOL =STOOL2(Fp8), $base =Sbase(Fp8.base_NO), $IPO_MODE =SIPO_MODE(Fp8.IPO_frame), $LOAD =SLOAD(Fp8.TOOL_NO), $ACC =SACC_CP(LCPDAT6), $ORI_TYPE =SORI_TYP(LCPDAT6), $CIRC_TYPE =SCIRC_TYP(LCPDAT6), $APO =SAPO(LCPDAT6), $CIRC_MODE =SCIRC_M(LCPDAT6), $JERK =SJERK(LCPDAT6), $COLLMON_TOL_PRO[1]=USE_CM_PRO_VALUES(1) C_Spl

我们手动把每个逗号换行来看

SCIRC Xp7, Xp8, CA 90 --->本次运动目标为 经过XP7,XP8 的圆弧,长度为90°(π/4)

WITH --->后面都是参数修饰

$VEL =SVEL_CP(2.0,, LCPDAT6)--->2M/S的速度,使用LCPDAT6中的速度 和其他参数

$TOOL =STOOL2(Fp8)--->使用FP8中的工具

$base =Sbase(Fp8.base_NO)--->使用FP8中的基坐标

$IPO_MODE =SIPO_MODE(Fp8.IPO_frame)--->使用FP8中的IPO模式设置

$LOAD =SLOAD(Fp8.TOOL_NO)--->使用FP8中的负载

$ACC =SACC_CP(LCPDAT6)--->使用LCPDAT6中的加速度

$ORI_TYPE =SORI_TYP(LCPDAT6)--->使用LCPDAT6中的回转设置

$CIRC_TYPE =SCIRC_TYP(LCPDAT6)--->使用LCPDAT6中的姿态引导

$APO =SAPO(LCPDAT6)--->使用LCPDAT6中的圆滑距离

$CIRC_MODE =SCIRC_M(LCPDAT6)--->使用LCPDAT6中姿态参考模式

$JERK =SJERK(LCPDAT6)--->使用LCPDAT6中加加速度

$COLLMON_TOL_PRO[1]=USE_CM_PRO_VALUES(1)--->使用碰撞监控表1的数据

C_Spl --->本次运动启用圆滑过渡

四.参数变量解释

1.点位

有两种表达方式,1是以笛卡尔坐标系来描述的POS一般含6个元素 {x ,y ,z ,a ,b ,c },E6POS还额外含{s,t,e1,e2,e3,e4,e5,e6}。2是以轴坐标系描述AXIS {A1,A2,A3,A4,A5,A6},E6AXIS 也额外包含了{e1,e2,e3,e4,e5,e6}。当然也可用frame等其他方式定义。

我们通过示教生成的点位都是E6POS的结构,系统还会在点位名前自动加一个 'X' ,如示教一个叫'pos_temp'的点位,那么实际出来的变量名是'Xpos_team' 。

2.参考坐标

$TOOL :参考的工具坐标

$base :参考的基坐标

3.速度

$VEL:插补(直线,圆弧)速度,单位M/S

$ACC:插补加速度

$VEL_AXIS[n]:第n个轴的速度

$ACC_AXIS[1] :第n个轴的加速度

$GEAR_JERK[1] :第n个轴的加加速度

4.其他参数

$IPO_MODE:工具状态(在外部或是在TCP上)

$LOAD:负载参数

$ORI_TYPE :回转时,方向引导的设置(恒定或是变化)

$APO :圆滑距离,单位mm

$COLLMON_TOL_PRO[n] : 第n个轴的碰撞识别数值

以上是在做项目时非常具体参数,至于更多的参数解释需要翻看说明书。一般的参数阅读说明文档《机器人编程2》第5章可查到。更多解释需要看说明文档《system Variables》,目前中文译本较旧,英文版较新。

五.不常用的运动指令

1.偏移(这个相对常用)

LIN {X 10,Y 20,Z 0,A 0,B 0,C 0}:XP1

PTP {X 10,Y 20,Z 0,A 0,B 0,C 0}:XP1

SLIN {X 10,Y 20,Z 0,A 0,B 0,C 0}:XP1

SPTP {X 10,Y 20,Z 0,A 0,B 0,C 0}:XP1

以上都表示,在运动至XP1点的 x 方向10mm,y 方向 20 mm 的位置

2.***定位

PTP {A1 0, A2 -80, A3 75, A4 30, A5 30, A6 110},

表示 运动到此 轴坐标;

PTP {A1 30} ,

仅 A1 移动至 30° ;

PTP {X 100, Y -50, Z 1500, A 0, B 0, C 90, S 3, T3 35},

表示 运动到此 笛卡尔坐标(同时也需参考基坐标和工具坐标);

了解更多信息请咨询:KUKA机器人


 

联系热线:13127732113 联系人:申采鑫 联系地址:上海市宝山机器人产业园宝联一路88号

技术和报价服务:星期一至星期六 8:00-22:00 库卡机器人分销商