周转箱

本节提供周转箱工程的使用指导,该工程概览如下。

工件

有序摆放、多层重叠的长方体塑料无盖周转箱,无明显反光,且点云缺失低于 20%

载具

托盘

工作距离

1200~3500mm

技术指标

识别定位精度:±4mm

识别成功率:大于 99.9%

视觉系统耗时:4s 以内

工程介绍

下文将从适用场景、技术指标方面介绍周转箱工程。

适用场景

本节将从工件、载具方面介绍该工程的适用场景。

工件

该工程对周转箱的适用情况如下表所示。

工件特征

适用情况

图示

工件类型

适用于无盖周转箱,且允许周转箱之间贴合紧密

icon_1

不适用于带盖周转箱

icon_2

形状尺寸

长方体

icon_3

工件材质

塑料

反光性

不存在明显反光

码放方式

多层、有序码放

icon_8

点云质量

允许周转箱边缘点云少量缺失(点云缺失不超过 20%)

icon_4

不适用于点云缺失过多的情况,以及周转箱边缘被物体遮挡

icon_5

载具

该工程对载具的适用情况如下表所示。

载具特征

适用情况

图示

载具类别

托盘 1

icon_7

托盘 2

icon_6

技术指标

周转箱工程的技术指标如下:

  • 识别定位精度:±4mm

  • 识别成功率:大于 99.9%

  • 视觉系统耗时:4s 以内

注解

视觉系统耗时指从相机采集图像至输出物体位姿所用的时间。

工程规划

布局

工作站布局

工作站布局如下图所示。

../../../_images/workstation_layout5.png

该工作站内的工作流程如下:

  1. 周转箱由 AGV 运送到拆垛位置。

  2. 机器人向视觉系统发送拍照指令,对周转箱进行拍照识别,然后视觉系统将周转箱的位置发送给机器人。

  3. 机器人根据视觉系统给出的周转箱位置信息进行拆垛,并将周转箱放到传送带上。

  4. 重复以上步骤,直至上料完成。

视觉系统硬件组成

推荐型号

说明

相机

DEEP

推荐安装方式:Eye-to-Hand;工作距离:1200~3500mm

工控机

标准机型,无 GPU

处理器:CPU I5-12400

内存:16G DDR4

硬盘:256G SSD

电源:DC24V 7.5A

系统:正版 Windows 10 21H1 版本

WIFI 模块

机器人夹具

周转箱工程的夹具通常为左右抱夹式夹具、邻边抱夹式夹具两种。无缝拆垛(周转箱之间紧密贴合)时,建议采用邻边抱夹式夹具。

左右抱夹式夹具

左右抱夹式夹具如下图所示。

../../../_images/clamps_16.png

夹具说明:

该夹具可通过两个夹板对周转箱进行夹持。

夹具优点:

  • 适用于多种尺寸规格的周转箱。

  • 夹具与箱体的接触面采用软性材质,具备一定的缓冲作用,可降低周转箱变形的程度。

夹具缺点:

  • 该夹具不能实现无缝拆垛。

邻边抱夹式夹具

邻边抱夹式夹具如下图所示。

../../../_images/clamps_24.png

夹具说明:

该夹具工作过程中,先夹持周转箱相邻两边,抓取后,托钩放下,然后对周转箱进行四面夹取,到达放置位上方时,托钩打开,放置周转箱。

夹具优点:

  • 可实现无缝拆垛。

  • 可兼容多种尺寸规格的周转箱。

  • 夹具与箱体的接触面采用软性材质,具备一定的缓冲作用,可降低周转箱变形的程度。

夹具缺点:

  • 该夹具不适合抓取重量较大(如 50kg)的周转箱。

视觉相关

通信方式

推荐使用标准接口通信方式。

一、切换 Mech-Vision 配方

机器人 -> 工控机

请求指令

Mech-Vision 工程编号

配方编号

103

Mech-Vision 工程列表中工程名左侧的数字

1~99

示例

103, 1, 2

工控机 -> 机器人

返回指令

状态码

103

1107:配方切换成功 1012:Mech-Vision 配方编号不存在

示例

103, 1107

二、启动 Mech-Viz 工程

机器人 -> 工控机

请求指令

位姿类型

机器人位姿

201

0:不发送位姿 1:传入 Mech-Viz 的位姿为关节角及法兰位姿形式 2:机器人端自定义的关节角

机器人当前关节角及法兰位姿(若“位姿类型”为 1)

示例

201, 1, 0, -20.632, -107.812, 0, -92.818, 0.003

工控机 -> 机器人

返回指令

状态码

201

2103:执行正常 2008:工程运行错误 ……

示例

201, 2103

三、选择 Mech-Viz 分支

机器人 -> 工控机

请求指令

分支步骤编号

出口号

203

该参数应为正整数,用于指定分支选择将在哪个步骤上进行

该参数为正整数,该参数用于指定工程将沿消息分支步骤的哪个出口运行。

示例

203, 1, 1

工控机 -> 机器人

返回指令

状态码

203

2105:执行正常 2018:无效的分支出口号 ……

示例

203, 2105

四、获取规划路径(推荐)

机器人 -> 工控机

请求指令

路径点类型

205

1:路径点将以机器人关节角形式返回 2:路径点将以机器人工具位姿形式返回

示例

205, 1

工控机 -> 机器人

返回指令

状态码

是否发送完成

路径点数量

“视觉移动”位置

路径点

205

2100:执行正常 2007:路径规划失败 ……

0:未发送完路径中的全部路径点 1:已发送完路径中的全部路径点

默认范围:0~20 若路径中含有 20 个以上个路径点,请多次执行该指令。

“视觉移动”步骤路径点在整个路径中的位置

物体位姿 标签 速度

示例

205, 2100, 1, 2, 2, 8.307, 15.163, -142.177, -2.775, -31.440, -96.949, 0, 64

五、获取视觉目标点(无 Mech-Viz 时使用,不推荐)

机器人 -> 工控机

请求指令

Mech-Vision 工程编号

102

Mech-Vision 工程列表中工程名左侧的数字

示例

102, 1

工控机 -> 机器人

返回指令

状态码

是否发送完成

TCP 数量

保留字段

视觉目标点

102

1100:执行正常 1102:无视觉结果 ……

0:未完全发送 1:已完全发送

默认范围:0~20

该字段未使用,默认值为 0

物体位姿 标签 速度

示例

102, 1100, 1, 1, 0, 95.780, 644.567, 401.101, 91.120, -171.130, 180.0, 0, 0

关于标准接口通信的详细内容,可参考 标准接口通信

工程说明

该工程总体思路如下图所示。

../../../_images/project_overall_framework_04.png
  1. 采集图像: 用于获取周转箱的彩色图、深度图。

  2. 点云预处理: 用于对周转箱原始点云进行预处理,并提取周转箱上边缘点云,便于缩短后续步骤的处理时间。

  3. 3D 匹配: 利用边缘点云模板,与点云预处理获得的周转箱上边缘点云进行匹配,获得候选抓取位姿。

  4. 位姿防错: 用于根据设定的规则滤除不合格的抓取位姿,并判断工程运行过程中是否存在漏识别、多识别等情况。

  5. 位姿处理: 用于对抓取位姿进行变换、排序。

  6. 输出结果: 将当前工程的结果发送给后台服务。

点云模板与抓取点设置方式

模板设置:

  • 设置方法:采用 2D 方法估计点云边缘 步骤提取点云边缘模板,在该步骤参数中, 2D 线宽 设置为 2 px。

  • 原因:当点云质量较高时,2D 边缘模板相比 3D 边缘模板可实现更高的位姿匹配精度。同时 2D 边缘模板相比 3D 边缘模板可以设置点云模板的线宽,所以 2D 边缘模板在匹配过程中更加稳定。

抓取点设置:

  • 设置方法:拖拽法。可直接在 匹配模板与抓取点编辑器 、中添加抓取点。

  • 原因:周转箱一般为标准的长方体,易于对抓取点进行拖拽,且拖拽的精度符合现场抓取需求。

工程难点

  • 周转箱贴合紧密时,很难通过 点云预处理 将不同周转箱的点云分开。

  • 部分周转箱点云质量较差、点云缺失以及点云表面波动较大。

  • 部分项目对周转箱的抓取精度要求较高(如 Z 轴垂直周转箱表面向上时,抓取位姿绕 Z 轴偏转的偏差小于 0.5°)。

工程优点

  • 该工程采用边缘匹配,可提升识别精度。

  • 该工程中增加了漏识别和多识别的防错步骤,提升了工程运行的稳定性。

  • 该工程使用的夹具,可适用于无缝拆垛。

工程部署

注意事项

在该工程中,一般采用抱夹式夹具。对于周转箱紧密贴合的场景(如下图所示),在设计夹具时,须考虑夹取周转箱的过程中夹具不会与旁边的周转箱发生碰撞。

../../../_images/project_attention.png

参数调节建议

点云预处理

  • 点云聚类 :去除杂点,同时尽量保留周转箱边缘点云,需调整 点过滤 、以及“点云聚类”步骤参数。如果周转箱内有物品,需使用“点云聚类”将周转箱边缘点云和物体点云分开,否则将影响边缘提取效果。

../../../_images/point_cloud_clustering_advice.png
../../../_images/get_highest_layer_clouds_advice.png
../../../_images/estimate_point_cloud_edges_by_2d_method_advice.png

3D 匹配

  • 将位姿的某个轴指向给定方向 :为了减少末端工具不必要的旋转,可设置校正方法为 ROTATION ,待调整轴为 X ,对称角度为 180° , X 轴参考方向为 -1.0000

位姿防错

../../../_images/collect_poses_in_3d_roi_advice.png
  • 根据与参考方向的夹角判断位姿是否有效 :更改步骤参数中的 参考方向

  • 判断是否漏识别、多识别:检查是否有漏识别或者多识别,需根据提取到的最上层周转箱上边缘点云的投影和单个周转箱上边缘点云的投影做比较。

点云预处理 无法只提取周转箱上边缘点云(因为输入的点云中也包含周转箱内物品的点云),该防错步骤组合需删除,可考虑其他有效的防错策略。

位姿处理

  • 3D 位姿排序 :需根据现场情况调整,默认选择 Z 字形排序,即排序方式选择 SORT_BY_Z

../../../_images/sort_3d_poses_advice.png

常见问题及解决方法

问题一

  • 问题描述: 2D 方法估计点云边缘 步骤提取到的周转箱内边缘点云很少。

  • 解决方法:在 2D 方法估计点云边缘 步骤参数处设置合适的 形态学操作设置 参数。例如:当膨胀核尺寸核腐蚀核尺寸为 21px 时,边缘点云如下图中左图所示;当膨胀核尺寸核腐蚀核尺寸为 5px 时,边缘点云如下图中右图所示。

../../../_images/problem_1.png

问题二

  • 问题描述:位姿匹配存在偏差。

  • 解决方法:首先要检查输入到 3D 匹配 步骤组合的点云质量,如果点云质量较差,则需要优化 点云预处理 步骤组合,使得周转箱内边缘点云能够被完整提取。然后优化 3D 粗匹配 V23D 精匹配 步骤参数,可优先尝试调整“3D 粗匹配 V2”步骤的 采样后模板的期望点数体素长度 (参数调试等级为 Advance 时可见)。

问题三

  • 问题描述:点云质量差,或周转箱内物品遮挡周转箱上边缘,导致无法通过 2D 方法估计点云边缘 步骤提取周转箱内边缘点云。

  • 解决方法:可尝试使用全模板匹配。