工件识别

在使用本教程前,你已经在“手眼标定”章节中使用案例工程“通用工件识别”创建了Mech-Vision方案。

在本教程中,你将先了解工程思路,然后通过调节步骤参数完成工程的部署,从而识别工件的位姿并输出视觉结果。

在本教程中,你将会需要将工件的CAD模型文件转化为点云匹配模板。因为准备CAD模型文件可能会花费较长时间,因此推荐在使用本教程前准备好工件的CAD模型文件。

工程思路介绍

工程中各步骤的作用如下表所示。

序号 阶段 步骤 图示 说明

1

采集图像

从相机获取图像

project build understand step function 1

连接相机并采集图像

2

识别工件

3D工件识别

project build understand step function 2

通过3D匹配算法计算工件的位姿(作为抓取点)

3

调整位姿

调整位姿

project build understand step function 3

将抓取点从相机坐标系变换至机器人坐标系

4

输出视觉结果

输出

project build understand step function 4

输出工件的位姿,用于机器人抓取

抓取点指机器人可以在工件表面进行抓取的点。

步骤参数调节

在本节,你将通过调节各个步骤的参数来完成工程的部署。

从相机获取图像

需调节“从相机获取图像”步骤参数,连接相机。

  1. 选中“从相机获取图像”步骤,在界面右下角步骤参数处单击选择相机

    project build click select camera
  2. 在弹出的窗口中单击某相机编号右侧的 image 按钮,即可连接至该相机。相机连接成功后, image 按钮将变为 image

    image

    连接相机后,需选择参数组。单击选择参数组,选择出现的参数组即可。

    image
  3. 连接相机并设置参数组后,相机标定参数组、IP 地址和端口等参数将自动获取,其余参数保持默认即可。

    image

此时即完成了相机的连接。

3D工件识别

“3D工件识别”步骤内置3D工件识别可视化配置工具,可对工件进行点云预处理、模板匹配,并计算工件的位姿(抓取点)。

选中“3D工件识别”步骤,在界面右下角步骤参数处单击打开编辑器

project build open 3d workpiece recognition visual configuration tool

3D工件识别可视化配置工具界面如下图所示。

project build check tool interface

接下来可按照如下操作流程识别工件。

project build 3d workpiece recognition workflow

选择工件

进入3D工件识别可视化配置工具后,需要制作待识别工件的点云模板。

  1. 打开模板编辑器。

    单击3D工件识别可视化配置工具界面右上角的选择工件按钮。

    project build click select workpiece

    在弹出的工件库窗口中单击模板编辑器

    project build click model editor

    模板编辑器界面如下图所示。

    project build model editor interface
  2. 导入CAD文件。

    在模板编辑器界面中单击导入CAD文件

    project build click import cad

    导入准备好的STL格式的工件模型,然后选择模型尺寸单位,单击确定

    project build set size

    CAD文件导入完成后,将显示在模板编辑器界面中心的可视化区域中。

    project build show cad
  3. 利用CAD文件制作点云模板。

    选中模板编辑器界面左侧资源列表中的CAD文件,单击工具栏中的 project build create model out surface point cloud icon 按钮,然后在弹出的采样间隔窗口中设置采样间隔,生成CAD模型外表面的点云。

    project build create model
    project build set down sample
  4. 查看生成的点云模板。

    利用CAD文件制作完成的点云模板文件将显示在资源列表中。

    project build chect model

    单击选中点云模板文件,可在模板编辑器的可视化区域中查看该点云模板。

    project build show model
  5. 添加抓取点。

    单击工具栏中 project build add pose icon 按钮,为工件点云模板添加位姿作为抓取点。

    project build click add pose

    添加完成的抓取点如下图所示。

    project build check pose
  6. 保存模板与抓取点。

    关闭模板编辑器,在弹出的窗口中单击是(Y)

    project build save model and pose
  7. 在工件库中选择工件。

    退出模板编辑器后,在工件库中勾选保存的工件点云模板,单击确定

    project build select workpiece

    随后,在3D工件识别可视化配置工具右上角将显示等待识别的目标工件。

    project build workpiece select result

此时即完成了工件的选择,单击3D工件识别可视化配置工具底部的下一步进入预处理流程。

project build click next step 1

预处理

预处理的目的是通过设置识别区来去除不必要的点云,仅保留工件点云,提升工程运行效率。

预处理界面如下图所示。

project build preprocess interface
  1. 设置识别区。

    单击设置

    project build click set 3d roi

    在设置识别区界面中设置3D识别区。按住Ctrl键,然后鼠标左键长按3D ROI选框顶点,拖动3D选框至合适的大小即可。3D识别区设置完成后如下图所示。

    project build set 3d roi
  2. 保存识别区。

    单击保存并使用,保存识别区。

    project build click save and use

此时即完成了预处理流程,单击3D工件识别可视化配置工具底部的下一步按钮,进入识别工件流程。

project build click next step 2

识别工件

在本流程中,可以通过可视化方式调整3D匹配相关参数,输出工件的位姿。

识别工件界面如下图所示。

project build recognize workpiece interface
  1. 由于本工程中最多可识别到5个工件,所以将输出个数上限调整为5。

    project build set output number
  2. 查看可视化输出结果

    单击运行步骤

    project build click run step

    即可在可视化区域中查看可视化输出结果。如下图所示,输出了4个工件的位姿。

    project build check recognize workpiece result
  3. 保存配置。

    单击3D工件识别可视化配置工具底部的完成按钮。

    project build click finish

    然后在弹出的窗口中单击保存

    project build click save

    此时即完成了工件的识别,并计算出了抓取点。

调整位姿

“3D工件识别”步骤输出的抓取点位于相机坐标系下,为了方便机器人抓取,还需对工件位姿进行调整,将位姿从相机坐标系变换到机器人坐标系。

  1. 打开位姿编辑工具。

    选中“调整位姿”步骤,在步骤参数处单击打开位姿编辑工具

    project build click open pose editor

    位姿编辑工具界面如下图所示。

    project build pose editor interface
  2. 调整坐标系变换类型。

    在位姿编辑工具右上角处,将坐标系变换类型调整为相机到机器人

    project build set transform type
  3. 查看坐标系变换效果。

    单击位姿编辑工具右下角的运行按钮。

    project build click pose editor run

    可在位姿编辑工具中心区域的场景视角中看到变换后的抓取点。

    project build transform pose
  4. 保存配置。

    关闭位姿编辑工具,在弹出的窗口中单击保存

    project build save pose editor set

此时即完成了抓取点的坐标系变换。

输出

“输出”步骤可将当前工程的结果发送给后台服务。

至此,你已完成了Mech-Vision工程的部署。

我们重视您的隐私

我们使用 cookie 为您在我们的网站上提供最佳体验。继续使用该网站即表示您同意使用 cookie。如果您拒绝,将使用一个单独的 cookie 来确保您在访问本网站时不会被跟踪或记住。