任意物体吸取工程详解

Mech-Vision工程流程

物体放置于料筐之中,为了更准确区分物体在料筐内的相对位置,首先可以通过获取最高层点云的方式得到料筐的位姿。

任意物体吸取工程的视觉流程如图1所示。

../../../_images/with_box_process.png

图1 任意物体吸取工程流程

图2为该工程截图。

../../../_images/with_box_projrct.png

图2 工程截图

相关步骤详解

从相机获取图像

该步骤用于实现与相机的通信。通过此步骤可以获得场景的深度图、彩色图、点云,为后续的视觉计算提供数据。

此步骤详解请参考:从相机获取图像

点云预处理

对原始点云进行预处理,便于缩短后续步骤的处理时间。在此步骤组合中先用深度图和彩色图生成点云,然后计算点云的法向,删除稀疏点和凹凸点,最后提取感兴趣区域内的点云。

此步骤组合详解请参考:点云预处理

点云预处理结果如图3所示。

../../../_images/with_box_cloud.png

图3 点云预处理结果

缩放2D ROI 内的图像

该步骤用于将图片感兴趣区域缩放至指定尺寸。预测物体位姿的结果很大程度上受感兴趣区域及缩放比例的影响,若想获得较理想的位姿结果,必须调整好感兴趣区域及缩放比例。

具体调节方法请参考:深度学习部署ROI设置

预测料筐位姿

获取料筐的上沿点云进而计算料筐位姿。在此步骤组合中先对点云进行采样以减小点云大小,再根据指定规则进行点云聚类,获取最高层的点云,最后计算平面点云的位姿和尺寸并翻转Z轴后输出料筐的位姿。

料筐位姿如图4所示。

../../../_images/with_box_size.png

图4 预测料筐位姿

任意物体抓取位姿预测

由于物体种类不定、形状各异,所以使用深度学习方法来预测抓取点。 运行此步骤前需在该步骤属性中加载经过深度学习训练后的模型文件、配置文件、位姿估计模型文件、压叠检测模型文件与配置文件。

输入彩色图、深度图、ROI参数及料筐位姿后,利用深度学习算法可得到:相机坐标系下的物体可吸取表面位姿(如图5所示)、可吸物体3D空间尺寸、可吸物体表面对应的吸盘标签。

注解

输入料筐位姿是为了更准确区分物体在料筐内的相对位置。

../../../_images/with_box_result.png

图5 抓取位姿预测结果

该步骤还可以实时显示标记了区域标签的图片,方便用户观察所识别的物体。 按吸盘大小显示检测区域的图片如图6所示。 用户在可视化属性中可更改显示类型。

注解

开启可视化会降低工程整体运行速度。

../../../_images/sucker_size.png

图6 按吸盘大小显示

位姿变换&输出

将得到的位姿列表从相机坐标系转换到机器人坐标系(步骤详解请参考:位姿变换 ),之后将机器人坐标系下的位姿列表发送到数据接口(步骤详解请参考:输出)。