kuka机器人循环指令码垛编程探索
2018-02-16张宝强
张宝强
(佛山市顺德区胡宝星职业技术学校 广东 佛山 528325)
1 kuka机器人码垛工作原理
首先,输送带将获取托盘或货物运送到指定位置并能准确定位,以便于机器人能准确抓取。其次,机器人检测到物料准确到位后,机器人通过专用夹具抓取货物。最后,机器人经过指定路径将货物按一定规律摆放的码盘上。机器人码垛过程是一个货物抓取点,经过中间路径过渡点,有规律的多个货物放置点。
2 kuka机器人循环指令
(1)for循环指令
指令格式:for i=1 to n
;程序内容。
endfor
指令含义:如果n=5,for循环内的指令循环执行5次。该指令中不需要对循环变量i进行操作,系统会自动递增或递减处理。
(2)while循环指令
指令格式:while <条件>
;程序内容。
e
ndwhile
指令含义:当条件为真实,即满足条件是执行while循环内程序。如果条件为i<5,只要i的值小于5就执行while内程序,执行到endwhile再次判断条件是否成立,成立继续执行while内程序,条件不成了跳出循环。
3 kuka机器人循环指令码垛编程探索
kuka机器人有独立的编程语言KRL(Kuka Roboter Language),与我们熟悉的C语言、C++语言等不同,这就加大了kuka机器人编程的难度。只有对kuka机器人进行编程和控制,才能使kuka机器人按照设计、生产工艺要求进行工作、运行。如果机器人的编程和控制设置不好,将影响生产,甚至不能生产,可见机器人编程的重要性。
(1)kuka机器人码垛路径
机器人从生产线固定位置抓取物品,经过中间一个或多个安全过渡点,到达放置点正上方,下落到放置点。整个过程只有放置点及正上方点有变化,其他路径相同。
(2)kuka机器人码垛编程
以简单重叠式2×2×2码垛为例用,物料尺寸为200×150×100,单层摆放见图1所示,物料间隙为5mm。用while指令编程。
xfangzhi = xpos_md;xpos_md码垛基准点变量名,即1号位置点
xfangzhi10 = xpos_md10;xpos_md码垛基准点上方10mm点变量名
xfangzhi100 = xpos_md100;xpos_md码垛基准点上方100mm点变量名
i = 0
while(i<2);z轴方向摆放
j = 0
while(j<2);y轴方向摆放
k = 0
while(k<2); x轴方向摆放
PTP起点 vel=100% PDAT1;工作起点
wait for in 1;检测物料是否到位
PTP P1 vel=100% PDAT2;抓取点正上方100mm处
LIN P2 vel=0.2m/s CPDAT1;抓取点正上方10mm处
LIN zhuaqu vel=0.05m/s CPDAT2;抓取点
wait time= 0.2 sec;等待
out 1 state=true;夹具加紧抓取物品
wait time= 0.2 sec;等待
LIN P2 vel=0.2m/s CPDAT3;抓取点正上方100mm处
PTP guodu vel=100% PDAT3;安全过渡点
xfangzhi.x=xfangzhi.x + k*205;x轴方向偏移
xfangzhi.y=xfangzhi.y + j*155;y轴方向偏移
xfangzhi.z=xfangzhi.z +i*102 ;z轴方向偏移
xfangzhi10.x=xfangzhi10.x + k*205
xfangzhi10.y=xfangzhi10.y + j*155
xfangzhi10.z=xfangzhi10.z +i*102
xfangzhi100.x=xfangzhi100.x + k*205
xfangzhi100.y=xfangzhi100.y + j*155
xfangzhi100.z=xfangzhi100.z +i*102
PTP fangzhi100 vel=100% PDAT4;放置点正上方100mm处
LIN fangzhi10 vel=0.2m/s CPDAT4; 放置点正上方10mm处
LIN fangzhi vel=0.05m/s CPDAT5;放置点
wait time= 0.2 sec;等待
out 1 state=false;夹具加紧抓取物品
wait time= 0.2 sec;等待
LIN fangzhi100 vel=0.2m/s CPDAT6; 放置点正上方100mm处
PTP qidian vel=100% PDAT5;工作起点
k = k + 1
endwhile
j = j + 1
endwhile
i = i + 1
endwhile
(3)注意事项
①变量i、j、k程序名和ini之间用decl int i,j,k语句定义,使用前要进行初始化。
②程序中指令后显示的点名和点的变量名不同,程序中指令后显示的点名前加x为该点变量名,如显示点名为p1,点的变量名为xp1。
③pos_md, pos_md10, pos_md100三个点通过指令示教后删除指令。
④fangzhi,fangzhi10,fangzhi100三个点的定义有两种方法。
一是在date文件中定义,该方法不会定义过多不用的变量,但要熟悉KRL语言,较难掌握。定义语句为:
decl pos xfanghzi
decl pos xfanghzi10
decl pos xfanghzi100
二是通过创建运动指令定义。创建运动指令将点名称修改为需要的点名,如fangzhi等,创建完删除或注释掉该运动语句,使其不能运行。该方法简单易懂,但会在date文件中增加其他变量。
4 结语
本文首先介绍了码垛基本原理及方式,使读者对码垛过程有一定的了解。然后以简单的重叠式码垛为例,分析了机器人码垛路径特点,讲解了kuka机器人编程,阐述了变量定义方法及点变量引用方法和编程的难点及注意事项,给出了kuka机器人while循环指令码垛编程程序。
[1]宰守香,王蕾,申俊.基于VC++与Open Inventor的工业机器人切割仿真系统设计[J].制造技术与机床.2017(10).
[2]机器人编程1,库卡系统软件8.2,KUKA Roboter GmbH(库卡机器人有限公司)培训资料,2011.11.10.