工程详解

样例场景背景描述

汽车装配中存在轮毂定位、轮胎拧紧和齿轮箱装配等多个对位置精度要求较高的过程。传统的自动化生产流程无法为机器人提供物体的准确的位置信息,需要人为干预,因此效率较低。

为解决这一问题,提出了视觉识别结果和模板文件多次匹配的 3D 视觉定位技术,精准获取物体的三维姿态和位置信息,提高了高精度装配过程的效率。

视觉定位思路

高精度定位工程的流程如下图所示。

../../../../_images/high_precision_locating_flow_chart.png

视觉流程

根据上述思路,设计由从相机获取图像、点云预处理、滤除点数超限的点云、3D 匹配(高精度)、位姿变换和输出六个主要部分组成的视觉工程,如下图所示。各部分组成和作用将在下文进行讲解。

../../../../_images/high_precision_locating_vision.png

相关步骤详解

从相机获取图像

该步骤用于实现与相机的通信,可以获得场景的彩色图像及其深度图,为后续的视觉计算提供数据。详细解释请参考 从相机获取图像

点云预处理

使用场景的彩色图像及其深度图生成点云,去除干扰,得到在感兴趣区域内的点云,加快后续计算速度。详细解释请参考 点云预处理, 结果如下图所示(左图为原始点云,右图为预处理后点云)。

../../../../_images/high_precision_locating_point_cloud_preprocessing.png

滤除点数超限的点云

设置点云中点的数量,去除不符合要求的点云,加快后续计算速度,详细解释请参考 滤除点数超限的点云

3D 匹配(高精度)

采用粗匹配和两次精匹配的组合,得到精确的位姿列表。

3D 粗匹配结果如下图所示(左图为正视图,右图为侧视图),白色部分为场景点云,红色部分为匹配结果,两者不能完全重合,说明存在较大误差。

../../../../_images/high_precision_locating_3d_matching1.png

将此结果经过两次“3D精匹配”,最终结果如下图所示(左图为正视图,右图为侧视图),此时场景点云和匹配结果几乎完全重合,此时结合模板文件中设置的抓取点,可以计算出精确的实际抓取点。

../../../../_images/high_precision_locating_3d_matching2.png

位姿变换

将得到的位姿列表从相机坐标系转换到机器人坐标系,详细解释请参考 位姿变换

输出

将机器人坐标系下的位姿列表发送到服务器,详细解释请参考 输出