库卡机器人的运动方式有
工业机器人 2022-03-21 15:57www.robotxin.com工业机器人教育
KUKA机器人的资料网上太少了,KUKA的文档也写得有点绕,我决定把这块补齐,可能不够全面深入,但基本能用(欢迎指出不足)。刚入门的工程师查不到资料,那可太艹了。
可以转载,但一定要通知作者
@Alef
BEGIN
此次主要分享以下内容
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},
表示 运动到此 笛卡尔坐标(也需参考基坐标和工具坐标);
上一篇:工业机器人的性能参数
下一篇:工业机器人的应用优点
机器人工业设计
- 工业机器人技术专业方向 工业机器人技术专业方
- 国际上第一台工业机器人产品诞生于 世界上第一
- 工业机器人编程属于什么专业 工业机器人编程属
- 工业机器人编程是学的什么专业课程
- 工业机器人技术需要学什么 工业机器人技术需要
- 工业机器人编程是学的什么内容 工业机器人编程
- 工业机器人发展趋势 工业机器人未来的发展趋势
- 国内工业机器人企业排名 2024年国内工业机器人企
- 工业机器人学起来难不难 工业机器人好不好学
- 工业机器人就业形势了解 工业机器人就业现状
- 工业机器人编程及操作的阅读内容 工业机器人编
- 工业机器人编程难不难 工业机器人编程难不难学
- 工业机器人入门实用教程 工业机器人入门应该学
- 工业机器人编程基本思路是什么 工业机器人编程
- 工业机器人难学吗 工业机器人学起来难不难
- 工业机器人岗位介绍 工业机器人岗位说明