任务
任务部分利用视觉部分的计算结果和运动部分的运动规划,控制整个项目的流程运行。本章节将详细介绍任务部分的配置。
适用场景
控序混码 场景分为输送线来料和托盘来料两种,各自的适用场景如下。
输送线来料
一个抓取空间,一个放置空间。
一个抓取空间,多个放置空间。
托盘来料
一个抓取空间,一个放置空间。
多个抓取空间,多个放置空间。
同时,在运行控序混码场景时,需要注意如下事项。
清空环境的同时会清空订单。
异常处理之后,添加箱子会自动发送本轮抓取完成。
只有在对应的工作空间就绪时,任务才能顺利执行。
任务流图
控序混码 场景始终需要两个任务流图同时运行,一个用于规划,一个用于执行。配置任务流图时,首先在 任务 中选择“文件 > 新建 > 拆码垛”路径下的 纸箱混码-控序-规划 任务流图,然后在相同路径下选择 纸箱混码-控序-执行 任务流图。请参见 流图配置。
添加好基础模板之后,用户可根据需求添加或修改模块。
以纸箱单码项目为例,任务流图从上到下主要分为五个部分:主程序、流图初始化、任务初始化、运动规划和运动执行。主程序控制整个任务流程。流图初始化主要用来设置三色灯、数字输出、机械臂数字输出等流图运行的基本信息。任务初始化主要用来设置工作空间、纸箱的技术参数。运动规划主要负责进行垛型规划、计算抓取方案,并形成完整的运动规划方案。运动执行用来处理吸盘开合、掉箱检测,并回报任务状态等。
下面详细介绍该任务流图的配置步骤。
在任务流图模块当中选择“功能 > 一键更新节点机械臂属性”,系统自动根据当前设置更新机械臂路径。也可在模块的属性中设置机械臂路径。
单击 规划并移动 模块,在右侧 属性 页签中设置设置初始位置,即目标关节角,还可设置位置和速度等参数。初始即起始点位置。
提示
一般来说,初始位置不应干涉相机视野,且与障碍物保持安全距离。设置完成后,可以连接虚拟机械臂,移动并查看效果。
单击 创建运动工作空间编号和视觉服务工作空间编号的映射 模块,在右侧 属性 页签中设置关键字(即工作空间编号)和内容(即视觉ID)。
单击 获取箱子视觉结果 模块,在右侧 属性 页签中设置各参数,主要参数设置如下。默认进行空托盘、顶层点云完整度、尺寸一致性检查。当使用的是流水线拆垛的视觉流图时,要取消勾选任务模块中的这些选项。
单击 混码初始化 模块,填写配置文件路径。
单击 混码垛型规划 模块,填写注册抓取流程文件路径。
单击 生成抓取放置方案 模块,填写组合规划配置文件路径。
异常处理
运动规划过程中的几种异常类型及其处理方式如下。
掉箱异常处理:需人工添加纸箱,或者将抓取纸箱放回原抓取位置。
来料错误异常:需检查来料是否错误,来料错误则需要更换来料,如果来料正确则需检查视觉识别是否准确。
运动规划无解:对于控序混码项目来说,不应出现运动规划无解。首先检查碰撞检测参数设置是否一致。对于当前订单来说,可以选择放弃订单,也可以将箱子按照掉箱处理,人工添加纸箱。在此之后需要联系星猿哲工程师定位问题。
订单下发
在真实项目中,用户会通过WCS下发订单信息。WCS、HMI后端以及Max任务流图的运行顺序如下图所示。在模拟项目中,可以使用Insomnia和Mockoon软件模拟。
Insomnia
Insomnia是一款功能强大的开源API测试和调试工具,主要用于模拟WCS下发任务。它提供了一个直观和易用的界面,用于发送HTTP请求、查看响应、检查接口状态以及进行调试。
用户可以通过 Insomnia 下载。下载后使用浏览器打开http://127.0.0.1:7002/docs#/ ,然后配置使用。
Mockoon
Mockoon是一款开源的本地API模拟工具,主要用于模拟WCS接受反馈。它可以帮助开发人员在本地创建和模拟API端点,进行开发、测试和调试。Mockoon提供了一个直观的界面,使用户能够轻松设置和定义API的行为、响应和路由规则。
用户可以通过 Mockoon 下载。
如果是单机调试,可以在HMI设置中打开虚拟服务,保存并重启。对于实际项目,需按照实际需求配置。
订单下发
在纸箱单码场景中,订单下发的示例信息如下。
{
"order_id": "string", // 可不带此字段,此时会自动生成订单ID
"order_type": 4, // 控序混码必须为4
"global_barcode_direction": -1,
"time_budget": -1, // 规划时间限制
"place_pallet_budget": -1,
"supply_pallet_budget": -1, // 输送线来料为 -1, 如果是托盘来料,一次能来多少托盘就填多少
"order_items": [
{
"from": [
"0",
"1"
],
"to": [
"2",
"3"
],
"target_num": 1, // 实际此类物料有多少就设置多少
"sku_info": {
"id": "string", // 不同的物料ID必须保证不同
"type": "box",
"length": 500,
"width": 400,
"height": 300,
"weight": 1,
"weight_unit": "kg",
"length_unit": "mm",
"barcode_direction": 0,
"load_bearing": -1,
"direction_options": [
"Ori",
"RotZ"
]
},
"clear_from_ws": true,
"clear_to_ws": true
}
]
}
运行
运行前,先新建物流HMI,配置HMI后端,HMI相关的基本设置,请参见 基本HMI操作。
然后设置HMI运行界面,步骤如下。
设置HMI权限,专家密码采用星猿哲默认密码。
设置HMI显示,可以根据实际项目需求,订阅3D可视化、日志、Web HMI、新增图像、新增位姿等功能。
运行时,将需要执行的任务流图放在第一位,HMI运行模式默认执行排在第一位的任务流图。在Max软件右上角点击“运行HMI”按钮,界面切换到HMI运行页面。在HMI运行界面依次进行如下操作。
单击“连接机械臂”,将机械臂正确连接。(也可点击Max界面右上角的“虚拟示教器”进行连接。)
单击“I/O设备”,连接PLC。
单击“运行”按钮,确认订单和环境信息后,执行程序。