1. 适用场景
    ● 产品尺寸规整,长宽高都有数值,最好是箱型体
    ● 简单的“长X宽X高”的码法,非五花垛等复杂垛型,垛型方向一致,无需旋转产品。
    ● 抓取和放置方式为从上方进行抓取和放置
  2. 要求
    ● 工业机器人需要有位置信息变量且X、Y、Z、W、P、R能被计算
    ● 工业机器人夹爪需要有夹取放置的功能
  3. 程序简介
    该程序能够实现简单的码垛,可以根据外部输入如PLC等设置码垛的个数,码垛垛型(XXX),码垛各方向的偏移量,垛满后输出信号提示。
  4. 程序设计
    注:该代码块使用KUKA工业机器人编程语言KRL编写,本程序注重提供思路。如有不对的地方还请大佬指正
DEF Pallet1 ( )
//======================================================================================
// 定义变量
DECL INT num_count  //码垛个数计数器
DECL INT num_x,num_y,num_z  //码垛时XYZ方向上的计数器,如x方向上码一个则num_x就等于1
DECL INT num_limit_x,num_limit_y,num_limit_z  //外部输入的码垛限制,如需要码3x3x3的垛。
DECLINT fxied_offset_x,fxied_offset_y,fxied_offset_z  //外部输入的码垛偏移量
//======================================================================================//======================================================================================
//定义信号
GLOBAL SIGNAL GI_Gap_X $IN[1] TO $IN[16]  //xyz方向的偏移量
GLOBAL SIGNAL GI_Gap_Y $IN[17] TO $IN[32]
GLOBAL SIGNAL GI_Gap_Z $IN[33] TO $IN[49] GLOBAL SIGNAL GI_num $IN[50] TO $IN[65]  //需要的码垛数量GLOBAL SIGNAL GI_limit_x $IN[61] TO $IN[68]  //需要的码垛垛型,如3x3x3,这里使用8位组成
GLOBAL SIGNAL GI_limit_y $IN[71] TO $IN[78]  //的信号已经够使用了,最大可以输入255
GLOBAL SIGNAL GI_limit_z $IN[81] TO $IN[88] GLOBAL SIGNAL GO_Act_Count $OUT[1] to $OUT[16]  //组输出,实际码垛数量GLOBAL SIGNAL OUT_Pallet_OK $OUT[100]  //bool量,码垛垛满信号
GLOBAL SIGNAL IN_Pallet_OK $IN[100]  //bool量,确认收到垛满信号
//======================================================================================INI
//======================================================================================
//初始化所有变量
num_count = 0
num_x = 0
num_y = 0
num_z = 0
num_limit_x = 0
num_limit_y = 0
num_limit_z = 0
fxied_offset_x = 0
fxied_offset_y = 0
fxied_offset_z = 0
OUT_Pallet_OK = FALSE
//======================================================================================//======================================================================================
//接收外部输入的各种参数
LOOP
fxied_offset_x = GI_Gap_X  //接收偏移量
fxied_offset_y = GI_Gap_Y
fxied_offset_z = GI_Gap_Znum_limit_x = GI_limit_x  //接收垛型要求
num_limit_y = GI_limit_y
num_limit_z = GI_limit_zIF (fxied_offset_x <> 0) AND (fxied_offset_y <> 0) AND ( fxied_offset_z <> 0) THENIF (num_limit_x > 0) AND (num_limit_y > 0) AND (num_limit_z > 0) THEN
EXIT  //判断是否全部参数都已接收完成,如果完成,执行EXIT跳出死循环
ENDIFENDIFENDLOOP
//======================================================================================//======================================================================================
LOOP  //开始循环TAKE()  //取料程序XP_put = XP_TEACH  //将固定点位赋值给临时点位
XP_put_up = XP_put  //临时点位上方点
XP_put_up.Z = XP_put_up.Z + 100XP_put.X = XP_put.X + (num_x * fxied_offset_x)  //偏移量计算
XP_put.Y = XP_put.Y + (num_y * fxied_offset_y)
XP_put.Z = XP_put.Z + (num_z * fxied_offset_z);------------------------------
;主动作程序
PTP Xhome
PTP XP_put_up
LIN XP_put
Gripper_Opn () //夹爪打开程序
LIN XP_put_up
PTP Xhome
;-------------------------------num_count = num_count + 1  //码垛计数器自增
GO_Act_Count = num_count  //反馈给外部当前码垛个数
num_x = num_x + 1  //x方向计数IF num_x >= num_limit_x THEN //判断条件,x方向是否码完
num_x = 0
num_y = num_y + 1
ENDIFIF num_y >= num_limit_y  THEN  //判断条件,y方向是否码完
num_x = 0
num_y = 0
num_z = num_z + 1
ENDIFIF num_z >= num_limit_z  THEN  //判断条件,z方向是否码完
num_x = 0
num_y = 0
num_z = 0
ENDIFIF num_count == GI_num  THEN  //如果码垛个数已经达到外部所输入的个数,则发出垛满完成信号
OUT_Pallet_OK = TRUE
num_count = 0
WAIT IN_Pallet_OK == TRUE  //等待外部确认
OUT_Pallet_OK = FALSE  //垛满信号复位
GO_Act_Count = 0
EXIT  //跳出码垛死循环
ENDIFENDLOOP
//======================================================================================
END
---------------------------------------------------------------------------
DEF Pos_store()  //点位存放程序
PTP XP_put_up
PTP XP_put
PTP XP_TEACH
END
---------------------------------------------------------------------------
DEF Gripper_Opn ()  //夹爪打开程序END
---------------------------------------------------------------------------
DEF TAKE ()  // 取料程序END

一种适用于主流工业机器人的简单的码垛算法相关推荐

  1. 汇博工业机器人码垛机怎么写_一文带您理解码垛机器人,原来它这么简单!

    随着科技的进步以及现代化进程的加快,人们对搬运速度的要求越来越高,传统的人工码垛只能应用在物料轻便.尺寸和形状变化大.吞吐量小的场合,这已经远远不能满足工业的需求,机器人码垛机应运而生. 机器人码垛机 ...

  2. 工业机器人码垛教学实施_工业机器人课程丨看似简单的工业机器人码垛,你会操作吗?...

    原标题:工业机器人课程丨看似简单的工业机器人码垛,你会操作吗? [文章由犀灵机器人培训中心推荐] 转载请联系授权 搬运码垛是工厂里面最常见的一道工序,搬运码垛机器人因其生产效率高.人工劳动强度低.动作 ...

  3. fanuc roboguide_ROBOGUIDE码垛简单工作站的创建

    更多精彩内容请点击上方推荐搜索查看... 正文共: 814字 26图 预计阅读时间: 3分钟 FANUC机器人简单的码垛工作站的演示:1.打开roboguide,找到文件,选择新建工作单元,和我们上次 ...

  4. 工业机器人码垛教学实施_码垛教学在ABB工业机器人的教学应用

    随着机器人在工业中的普遍应用,各地职业院校工业机器人专业的开设如火如荼,增长迅速.但工业机器人品牌繁多,各家的控制系统不一致,对开设的专业也没有一个统一的标准,各院校只能根据自己的教学设备和计划实施教 ...

  5. 论文笔记:一种适用于NILM的暂态事件检测算法(滑动窗双边CUSUM)

    目录 1. 前言 2. 双边CUSUM算法原理 3. 引入滑动窗 4. 算法参数 5. 算法流程 6. Next Action 1. 前言 本文是对以下论文的阅读笔记,附有一定的解读和思考. 牛卢璐, ...

  6. python 水位_一种适用于利用图像识别水位的水位尺的制作方法

    本实用新型涉及水利信息化领域,特别涉及一种适用于利用图像识别水位的水位尺. 背景技术: 水位是反映江河.水库等水体涨落的重要指标.掌握水位变化情况对做好涉水工程规划建设与管理.防汛抗旱,群众避险转移等 ...

  7. 人造地球卫星轨道外推Matlab,一种适用于圆轨道卫星的星上自主轨道外推方法

    一种适用于圆轨道卫星的星上自主轨道外推方法 [专利摘要]本发明公开了一种适用于圆轨道卫星的星上自主轨道外推方法,其利用地面注入的平根数,采用简化的外推模型,由星载计算机轨道处理模块根据该简化的外推模型 ...

  8. 转发:区块链产业平台建设领域发展情况:公有链/联盟链/BaaS是三种较主流平台模式

    中商情报网讯:区块链各细分领域蓬勃发展,从硬件制造.基础设施到底层技术开发.平台建设,再到安全防护.行业应用,以及媒体社区等区块链行业服务机构,已经初步形成了一个完整的产业生态链.在平台建设方面,区块 ...

  9. 东北大学 | 一种适用于大规模公路环境的鲁棒激光惯性里程计和建图系统

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 标题: A Robust Laser-Inertial Odometry and Mapping Me ...

最新文章

  1. detectmultiscale函数参数含义_OpenCV detectMultiScale函数
  2. Kali Linux重设root密码
  3. 中国移动开发者社区专访:学习Android的两大法宝
  4. Eclipse配置自动提示(eclipse设置代码API自动出现)
  5. python实时连接oracle_Python连接Oracle
  6. alibaba实习生代码大赛
  7. ZOJ1101-赌徒【二分查找】
  8. 正则表达式与html信息提取,基于正则表达式的HTML信息提取.pdf
  9. linux 文件-s,Linux下访问文件的基本模式
  10. wxAdditions使用小结
  11. (转)基于MVC4+EasyUI的Web开发框架经验总结(7)--实现省份、城市、行政区三者联动...
  12. Eclipse中配置CORBA环境
  13. android 应用搬家 分区,把安装在SD卡的应用存在DATA分区的数据移到SD卡上
  14. Sparsity and Some Basics of L1 Regularization
  15. html中的日期框怎么写,HTML5日期输入框(date)
  16. ic 主动均衡_分享几种锂电池均衡电路的工作原理
  17. 【技法操作】UI界面设计,用PS绘制录音页面教程
  18. 菜鸟用编辑器做传送门——kura酱长期更新
  19. Linux- 系统随你玩之--文本、字符串处理摸金校尉--RE
  20. 数字IC前端面试常见问题整理

热门文章

  1. 压缩PDF文件的一个绝妙做法
  2. 学生DW静态网页设计我的家乡——四川文化(4页) HTML+CSS+JavaScript 家乡主题HTM5网页设计作业成品
  3. far word 远指针
  4. Facebook新财报:不惧“隐私门“事件影响,广告业务依然增长强劲
  5. 水の三角(超级卡特兰数/大施罗德数)
  6. pandas中访问使用多个索引的Series
  7. Android电子书翻页效果
  8. JAVA学习-JDK8环境的安装与卸载
  9. 打开office时提示错误窗口“向程序发送命令时出现问题”的解决方案
  10. 高通8155/8295 boot分析