APP下载

kuka机器人循环指令码垛编程探索

2018-02-16张宝强

信息记录材料 2018年8期
关键词:码垛指令编程

张宝强

(佛山市顺德区胡宝星职业技术学校 广东 佛山 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.

猜你喜欢

码垛指令编程
听我指令:大催眠术
编程,是一种态度
元征X-431实测:奔驰发动机编程
可控机构式码垛机器人的运动学误差分析
编程小能手
移动式码垛机器人移动臂的优化设计
纺织机上诞生的编程
GSK工业机器人码垛程序编写技巧
ARINC661显控指令快速验证方法
LED照明产品欧盟ErP指令要求解读