理解工程搭建思路

本节内容将以一个简单的 Mech-Vision 工件上料工程为例,介绍工程搭建的思路和方法。

本次搭建的工程,将会用到匹配算法,实现对工件抓取点的计算。

工程框架

该工程由 从相机获取图像生成点云计算点云法向量点云粗略匹配点云精确匹配位姿变换输出 步骤组成。

../../../../_images/project_framework_01.png

其中,3D 匹配是工程中最核心的部分,目的是获得物体抓取点。

新建并保存工程

可参考 新建并保存工程

添加步骤

了解完工程框架并创建工程后,可开始添加步骤,进行工程的搭建。

提示

添加步骤的方法:创建工程后,在左侧步骤库中单击鼠标左键选中某个步骤,按住鼠标左键将该步骤拖拽至工程编辑区,即完成了步骤的添加。

  1. 添加 从相机获取图像 步骤,该步骤用于触发相机拍照,并获取彩色图和深度图。

    ../../../../_images/project_framework_11.png

    注意

    添加此步骤前,应确保 相机已安装 。且 与工控机连接 , 并且已经完成采集图像测试和 机器人手眼标定

    此步骤添加完成后,选中该步骤,然后单击 步骤参数 ,在步骤参数界面对相机相关参数进行配置,选择相机类型、相机编号、标定参数组,并填写 IP 地址。

    ../../../../_images/project_framework_1_11.png
  2. 添加 将深度图转换为点云 步骤,该步骤可将相机拍照得到的深度图转换为点云数据。

    将此步骤放置于 从相机获取图像 步骤下方,将 从相机获取图像 步骤的相机深度图输出端口,连接到 将深度图转换为点云 步骤的相机深度图输入端口。 同理,将这两个步骤的彩色图输出与输入端口也进行连接。运行工程时,此步骤采用默认参数即可。

    ../../../../_images/project_framework_21.png

    如上图所示,此时即完成了 将深度图转换为点云 步骤的添加及所需数据的输入。

    提示

    连接两个步骤的方法是:单击选中上一步骤,按下鼠标左键,从输出端口拖动至下一步骤的输入端口。

    注意

    只有对应的输入输出端口之间才能连接,例如 Image/Depth 输出端口只能与 Image/Depth 输入端口相连接,不对应的输入输出端口之间无法进行连接。

    此步骤添加完成后,为了减少无用点云对后续步骤的干扰,并缩短后续步骤处理时间,需框选 2D 感兴趣区域。

    首先选中该步骤,然后单击 步骤参数 ,最后单击 设置 2D 感兴趣区域(ROI) 。设置 2D ROI 的方法可参考 设置 ROI

    ../../../../_images/project_framework_2_11.png
  3. 添加 计算点云的法向量并滤波 步骤,该步骤可计算出输入点云中每一个点的法向量,使原本只带位置信息的点云数据转变成带法向量信息的点云数据。

    将此步骤放置于 将深度图转换为点云 步骤下方,将 将深度图转换为点云 步骤的点云输出端口连接到 计算点云的法向量并滤波 步骤的点云输入端口。

    ../../../../_images/project_framework_31.png

    获取到带法向的点云后,接下来即可进行点云匹配( 3D 粗匹配3D 精匹配 )。

  4. 添加 3D 粗匹配 步骤,该步骤可将预先制作好的点云模板与输入的带法向的点云进行粗略的特征匹配,匹配出结果后,根据模板匹配到的位置,生成对应的物体几何中心和抓取点。

    将此步骤放置于 计算点云的法向量并滤波 步骤下方,将 计算点云的法向量并滤波 步骤的带法向点云输出端口连接到 3D 粗匹配 步骤的带法向点云输入端口上。

    ../../../../_images/project_framework_41.png

    连线完成后,需导入提前制作好的模板文件和几何中心文件。

    首先选中 3D 粗匹配 步骤,然后单击 步骤参数 ,最后单击 icon_1 ,选择模板文件和几何中心文件并将其导入。

    ../../../../_images/project_framework_4_11.png

    提示

    模板文件和几何中心文件的制作方法可参考 匹配模板与抓取点编辑器

  5. 添加 3D 精匹配 步骤,该步骤可对 3D 粗匹配 中的匹配结果进行更精准的匹配计算,得到精度较高的匹配结果,并生成对应的高精度几何中心和抓取点。

    将此步骤放置于 3D 粗匹配 步骤下方,将 计算点云的法向量并滤波 步骤的带法向点云输出端口连接到 3D 精匹配 步骤的带法向点云输入端口,并将 3D 粗匹配 中的初始候选位姿输出端口连接到 3D 精匹配 步骤中的初始候选位姿输入端口中。

    ../../../../_images/project_framework_51.png

    通过 3D 精匹配 获得精确位姿后,接下来需对获取到的位姿进行变换。

    提示

    3D 精匹配 步骤添加模板文件和几何中心文件的方法同 3D 粗匹配 步骤。

  6. 添加 位姿变换 步骤,该步骤可将输入的相机坐标系下的位姿转换为机器人坐标系下的位姿。

    将此步骤放置于 3D 精匹配 步骤下方,将 3D 精匹配 步骤中的抓取点位姿输出端口连接到 位姿变换 步骤的原始位姿输入端口上。运行工程时,此步骤采用默认参数即可。

    ../../../../_images/project_framework_61.png
  7. 添加 输出 步骤,该步骤可将输入的数据发送给 Mech-Center ,由 Mech-Center 发送给后续用到该数据的软件及硬件。

    将此步骤放置于 位姿变换 步骤下方,将 位姿变换 步骤的变换后的位姿输出端口连接到 输出 步骤最左边的 Abstract Poses 输入端口上。连接后,该端口名称变为 PoseList poses。连接前后对比如下图所示,其中 ① 为连接前,② 为连接后。

    ../../../../_images/project_framework_71.png

    此时,即完成了一个简单匹配工程的搭建。可通过快捷键 Ctrl + S 或在菜单栏处依次单击 文件 ‣ 保存工程 来对工程进行保存。

    小技巧

    步骤添加完成后,可对步骤的排布进行整理,使数据传递关系更加直观。步骤排布的三种方法如下:

    • 使用鼠标左键选中步骤并移动步骤,直接对步骤进行排布;

    • 鼠标右键单击空白处,然后单击 自动排布

    • 通过快捷键 Alt + Shift + F 使步骤自动排布。

工程搭建完成后,即可 运行并调试工程