梅卡曼德拆垛工程解析文档

工程名称:
版本日期:
工程师:


一、项目概述

1.1 基本信息

项目 内容
项目名称
客户名称
部署日期
负责工程师
软件版本 Mech-Vision _____ / Mech-Eye Viewer _____
相机型号
机器人品牌/型号
通信方式 标准接口 / Socket / 其他:______

1.2 应用场景

项目 内容
工件类型 纸箱
尺寸范围 长____ × 宽____ × 高____ mm
垛型特点 单品种垛 / 多品种混合垛
堆叠层数 ____ 层
纸箱表面 普通纸箱 / 带胶带 / 反光印刷面

二、系统架构

2.1 硬件拓扑

1
2
3
4
5
6
7
[相机] ←Eye to Hand固定安装→

[工控机 + Mech-Vision]
↓ 标准接口/Socket
[机器人控制器]

[执行拆垛动作]

2.2 软件流程总览

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
步骤1:相机采集

步骤2:深度图→点云 + 获取最高层点云及对应彩图

步骤3:深度学习推理 → 单个纸箱掩膜

步骤4:掩膜校验 → 点云提取 → 聚类 → 位姿尺寸计算

步骤5:尺寸校验(与基准尺寸对比,误差≤50mm)

步骤6:位姿统一朝向 + 调整到点云表面

步骤7:位姿防错(Z轴倾斜防错 + XY旋转防错)

步骤8:位姿调整V2(S形排序 + 机器人坐标系转换 + 固定补偿)

步骤9:输出坐标到机器人

三、工程步骤详解


步骤1:相机采集

作用: 从相机获取原始图像数据

输出:

  • 2D 彩色图像
  • 深度图

步骤2:深度图转点云 + 获取最高层点云

作用: 将深度图转换为点云,并提取最高层(最上层)的点云数据及其对应的彩色图

输入: 步骤1的彩色图像 + 深度图

输出:

输出 说明
输出1 最高层点云对应的彩色图
输出2 深度图
输出3 最高层点云

关键处理:

  • 深度图 → 点云转换
  • 提取最高层点云(过滤下层干扰)
  • 关联最高层点云对应的彩色图

步骤3:深度学习模型推理

作用: 使用深度学习模型对彩色图进行推理,识别出单个纸箱的精确掩膜

输入: 步骤2的输出1(最高层点云对应的彩色图)

输出:

  • 推理出的纸箱掩膜(二值化遮罩)

配置参数:

参数 设置值 说明
深度学习模型 模型文件名称/版本
输入图像 最高层彩色图
输出 纸箱掩膜 分割出单个纸箱区域

步骤4:掩膜校验 + 点云提取 + 聚类 + 位姿计算

作用: 验证掩膜质量,提取有效点云,聚类分割,计算位姿和尺寸

输入: 步骤2的输出3(最高层点云)+ 步骤3的输出(掩膜)

输出:

输出 说明
点云位姿 X, Y, Z, R, P, W
箱子尺寸 长、宽、高(mm)
聚类后的点云 用于可视化验证

处理流程:

1
2
3
4
5
6
7
8
9
10
11
12
13
掩膜验证
├── 漏识别校验:阈值 50%(掩膜面积/预期面积)
└── 矩形度校验:最小矩形度 80%
↓ 通过校验的掩膜
点云提取
└── 从原始点云中提取掩膜对应区域的点云

点云聚类
└── 对提取的点云进行聚类分割

位姿尺寸计算
└── 计算平面点云的位姿(位置+朝向)
└── 计算箱子实际尺寸

配置参数:

参数 设置值 说明
漏识别阈值 50% 掩膜面积不得低于预期面积的50%
最小矩形度 80% 掩膜轮廓的矩形拟合度要求
聚类方式 点云分割算法
位姿计算方式 平面拟合/轮廓匹配

步骤5:尺寸校验

作用: 将识别出的箱子实际尺寸与基准尺寸对比,剔除尺寸偏差过大的误识别

输入: 步骤4输出的箱子尺寸

输出:

  • 有效位姿(尺寸误差在 ±50mm 以内)
  • 无效位姿(尺寸偏差 > 50mm 的被过滤)

校验逻辑:

对比项 基准尺寸 允许误差 处理
长度 ____ mm ±50mm 超限则剔除
宽度 ____ mm ±50mm 超限则剔除
高度 ____ mm ±50mm 超限则剔除

尺寸偏差超过 50mm 的位姿视为无效,不输出


步骤6:位姿统一朝向 + 调整到点云表面

作用: 将通过校验的位姿进行统一化处理,调整为便于抓取的姿态

输入: 步骤5输出的有效位姿

输出: 调整后的位姿

处理内容:

  1. 统一朝向:将位姿旋转到统一的参考方向
  2. 表面校准:将位姿调整到紧贴点云表面(Z轴偏移补偿)

步骤7:位姿防错(过滤异常位姿)

作用: 剔除倾斜过度或旋转过大的位姿,防止抓取失败或碰撞

输入: 步骤6输出的调整后位姿

输出: 通过防错校验的有效位姿

防错规则:

防错类型 检查内容 阈值 处理
Z轴防错 防止纸盒过渡倾斜 Z方向倾斜角度 > ____° 则剔除
XY轴防错 防止纸盒旋转角度过大 X或Y方向旋转 > ____° 则剔除

只有同时通过 Z轴防错 和 XY轴防错 的位姿才会被输出


步骤8:位姿调整V2(后处理)

作用: 对位姿进行最终调整,包括S形排序、坐标系转换、固定补偿,使位姿匹配机器人实际抓取姿态

输入: 步骤7输出的防错后位姿

输出: 最终机器人抓取位姿

处理流程:

1
2
3
4
5
6
7
8
9
10
11
12
13
防错后位姿

S形排序
└── 按照S形路径排序,确定抓取顺序

机器人坐标系转换
└── 从视觉坐标系转换到机器人坐标系

固定补偿(xyzabc)
└── 示教一次后固定的补偿值
└── 补偿量:X:____ Y:____ Z:____ A:____ B:____ C:____

最终位姿输出

补偿说明:

  • xyzabc 固定补偿只需示教一次后记录
  • 用于补偿视觉与机器人 TCP 之间的系统误差

步骤9:输出到机器人

作用: 将最终位姿数据通过通信协议发送给机器人执行抓取

输入: 步骤8输出的最终位姿

输出: 发送到位姿给机器人控制器

通信配置:

项目 设置
通信方式 标准接口 / Socket
机器人品牌
IP 地址 ..._
端口
数据格式 X, Y, Z, R, P, W + 状态码

四、工程完整流程图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
┌─────────────────────────────────────────────────────────────────────────────┐
│ 步骤1:相机采集 │
│ 输出:彩色图 + 深度图 │
└─────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────┐
│ 步骤2:深度图→点云 + 获取最高层点云 │
│ 输出1:最高层点云对应的彩色图 │
│ 输出2:深度图 │
│ 输出3:最高层点云 │
└─────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────┐
│ 步骤3:深度学习模型推理 │
│ 输入:最高层彩色图 │
│ 输出:纸箱掩膜(二值化遮罩) │
└─────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────┐
│ 步骤4:掩膜校验 → 点云提取 → 聚类 → 位姿尺寸计算 │
│ 掩膜校验:漏识别阈值50% + 矩形度≥80% │
│ 输出:点云位姿 + 箱子尺寸 + 聚类点云 │
└─────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────┐
│ 步骤5:尺寸校验 │
│ 与基准尺寸对比,误差>50mm则剔除 │
│ 输出:有效位姿 │
└─────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────┐
│ 步骤6:位姿统一朝向 + 调整到点云表面 │
│ 输出:调整后位姿 │
└─────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────┐
│ 步骤7:位姿防错 │
│ Z轴防错:倾斜过大 → 剔除 │
│ XY轴防错:旋转过大 → 剔除 │
│ 输出:通过防错的位姿 │
└─────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────┐
│ 步骤8:位姿调整V2 │
│ S形排序 → 机器人坐标系转换 → xyzabc固定补偿 │
│ 输出:最终抓取位姿 │
└─────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────┐
│ 步骤9:输出到机器人 │
│ 发送位姿坐标给机器人执行抓取 │
└─────────────────────────────────────────────────────────────────────────────┘

五、关键参数汇总

5.1 尺寸校验参数

参数 设置值
允许误差 ±50mm
对比项 长度、宽度、高度

5.2 掩膜校验参数

参数 设置值
漏识别阈值 50%
最小矩形度 80%

5.3 位姿防错参数

参数 设置值
Z轴倾斜阈值 ____°
XY旋转阈值 ____°

5.4 固定补偿参数(xyzabc)

补偿项 X Y Z A B C
补偿值

此补偿值由示教得出,一次示教后固定使用


六、测试验证

6.1 识别率测试

测试条件 测试次数 成功次数 识别率
单个纸箱
多层堆叠
密集排列

6.2 尺寸校验过滤率

测试项目 数量 被过滤 通过率
尺寸校验

6.3 位姿防错过滤率

测试项目 数量 被过滤(倾斜) 被过滤(旋转) 通过率
位姿防错

6.4 最终位姿精度测试

测试项 要求 实测值
X/Y 精度 ≤ ±____ mm
Z 精度 ≤ ±____ mm
角度精度 ≤ ±____ °

6.5 连续运行测试

测试项目 要求 结果
连续运行次数 ____ 次
成功率 ≥ 98%
平均节拍 ____ s/件

七、常见问题与处理

现象 可能原因 处理方法
深度学习掩膜缺失 光照不均 / 模型不适应 调整打光 / 优化模型
掩膜漏识别过多 阈值设置过高 降低漏识别阈值(如50%→40%)
矩形度校验不过 纸箱变形 / 遮挡 降低矩形度要求或优化图像
尺寸校验过滤多 基准尺寸不准 / 纸箱规格差异 修正基准尺寸 / 放宽误差范围
Z轴防错过滤多 垛型倾斜 / 地面不平 检查垛型或调整阈值
位姿抓取偏斜 xyzabc补偿值不准 重新示教补偿值
点云缺失 曝光/激光功率不足 调整相机参数

八、版本记录

版本 日期 修改内容 修改人
V1.0 初始版本