麻袋上料工程详解

此工程适用于吸盘或夹具的尺寸与麻袋尺寸相同的情况。若夹具特殊,则需要更改流程中的一些步骤,请联系我们。

背景描述

背景

麻袋抓取作业在物流行业十分常见。比如将麻袋搬运到传送带上。 其基本操作就是将麻袋抓起放到指定的位置。

项目要求

本工程中有两个需求要被实现。

  1. 通过识别并计算麻袋位姿得到机器人的抓取位姿。

  2. 判断目标麻袋的遮挡情况。在抓取过程中,被抓麻袋可能被其它麻袋遮挡,导致与机器人夹具碰撞,所以需要判断目标麻袋的遮挡情况,优先抓取无遮挡的麻袋。

视觉定位思路

首先在二维图上使用深度学习,将麻袋分割出来。 然后利用以上信息在三维的场景点云中找到每个麻袋对应的点云。 为了防止抓取被压的麻袋点云,被压的麻袋的位姿将不会被作为抓取对象考虑。 同时,增加对周围紧密贴合麻袋的判断,优先抓取无紧密贴合现象的麻袋。 最后为每个麻袋的点云计算一个吸取位姿,并发送到Mech-Viz。

麻袋柔软且容易变形所以没有匹配的模板。 因此在图片中识别麻袋时,使用了深度学习算法。

视觉流程

其流程如图1所示。

麻袋抓取视觉工程

图1 麻袋抓取视觉工程

麻袋尺寸为本工程必备的已知条件。

工程主要由交叠的两条主线组成:

  1. 生成场景点云并进行点云的预处理,在二维图片中找到每个麻袋并提取麻袋位姿。

  2. 过滤压叠的麻袋位姿,并优先给出无紧密贴合的麻袋位姿。

最后两条主线合并,计算抓取点顺序。

相关步骤详解

通用步骤可参考 点云预处理实例分割(彩色图)滤除点数超限的点云

获取掩膜中最高层正确尺寸的点云

根据二维图中分割出的麻袋位置、点云预处理后的场景点云及麻袋尺寸,过滤出场景最高层中符合尺寸的点云。

计算点云排序后的位姿

将符合尺寸的点云进行排序并拟合平面计算出麻袋表面位姿,将被压叠严重的位姿及点云滤除。

计算位姿排序基准

比较经过点云预处理后的场景点云与筛选后的麻袋点云在同一位姿包围盒内点云个数,包围盒尺寸为吸盘/夹具尺寸。计算两者差值,差值小可看作原始无压叠,易于抓取;反之,差值大证明已识别的物体周围还有紧密贴合的麻袋,抓此类麻袋易导致抓取时,夹具误抓取到周围的麻袋。

筛选最优抓取位姿

将相机坐标系下的麻袋位姿转换到机器人坐标系,并根据计算位姿排序基准得出的差值调整排序,作为抓取顺序。最后滤除角度偏大,机器人难以抓取的位姿。

参数调试

典型工程相关step的参数不能适应所有的场景,所以除需要配置的步骤外,若识别出现问题,快速定位问题的思路如图:

../../../_images/bag_problem_solution.png
  • 点云包围盒分辨率用于计算在包围盒内的点数量。计算点数量之后,会计算这些点在其它包围盒的重叠点数。

  • 用重叠的点数比原始的点数,得到重叠比例值,再和输入的重叠比例阈值比较,过滤出小于阈值的点云。