视觉

本章节将针对具体场景详细介绍视觉服务的配置过程。在进行视觉配置前,请先参见 连接机械臂,完成机械臂连接。

场景要求

纸箱单码的场景采用 流水线拆垛 模板,该流图适用于单一规格的纸箱从输送线来料,并码放到托盘上。

本章节描述的相关配置仅供参考,具体操作请以实际项目为准。

基本配置

配置前,请依次完成 新建项目添加容器,并使用 流水线拆垛 模板创建视觉服务,请参见 创建流图。创建完成之后会在左上角生成节点树,如下图所示。

../../../_images/boxsinpal.png

根据需求,依次配置这些模块。

步骤1. 配置相机模块

  1. 单击左侧节点树中的 相机 模块,然后在右侧单击 相机资源管理器 以连接相机,接着在 相机配置 区域设置相机基本信息,请参见 连接相机

  2. 相机参数 区域单击 验证相机精度

../../../_images/camconfig1.png
  1. 依次选择标定板、标定内参数、验证标定结果等步骤,以验证相机精度。

../../../_images/intrcali1.png

步骤2. 配置加载标定信息模块

  1. 单击左侧节点树中的 加载标定信息 模块,然后在右侧依次标定相机和工作空间。

../../../_images/caliconfig1.png
  1. 单击 相机标定 区域中的 新建标定数据,设置标定数据名称,然后在 相机标定 页签设置标定方法和其它标定信息,请参见 手眼标定

../../../_images/excali4.png
  1. 依此单击 开始计算标定结果 完成数据标定,然后单击 下一步 进入 检查标定结果 页签。

../../../_images/excali22.png
  1. 检查并根据界面提示确认标定误差后,单击 完成,即可完成相机标定。

    ../../../_images/excali32.png
  2. 若要提高精度,则勾选 点云标定,完成点云标定,请参见 手眼标定 中的步骤5点云标定的相关内容。

  3. 标定工作空间,请参见 工作空间标定。3D相机使用3D拖拽的方式标定工作空间。

步骤3. 配置去除料筐外点云模块

  1. 单击左侧节点树中的 去除料框外点云 模块,然后在右侧配置点云切割参数,然后单击预览窗口中的 触发

    ../../../_images/toteout3.png
    • X方向收缩长度:料筐沿X方向的收缩长度,负值则意味着扩张。

    • Y方向收缩长度:料筐沿Y方向的收缩长度,负值则意味着扩张。

    • 底部抬升高度:料筐底部抬升高度,负值则意味着下降。

    • 顶部下降高度:料筐顶部下降高度,负值则意味着抬升。

  2. 在预览视图中移动料筐模型,使之与点云中的料筐位置吻合。

  3. 可视化显示 区域选择需要查看的图像。

    • 未切割点云图:仅显示未去除料筐外点云的图像。

    ../../../_images/cloud13.png
    • 切割对比图:对比显示切割前后的图像,被切割的点云用白色显示。

    ../../../_images/cloud23.png
    • 切割完点云图:仅显示去除料筐外点云的图像。

    ../../../_images/cloud33.png

步骤4. 配置降采样点云模块

  1. 单击左侧节点树中的 降采样点云 模块,然后在右侧配置降采样参数。

    ../../../_images/desample.png
    • 栅格边长:将点云中的点划分到指定大小的三维栅格(即正方体)中,栅格边长越大,输出的点云越稀疏。

    • 输出点云尺寸上限值:如果该值大于0,将会进行两次采样,第二次降采样操作将会基于第一次进行。

  2. 可视化显示 区域选择需要查看的图像。

    • 降采样点云前:仅显示降采样前的图像。

    ../../../_images/desample1.png
    • 降采样点云对比图:对比显示降采样前后的图像,被去除的点云部分用白色显示。

    ../../../_images/desample2.png
    • 降采样点云后:仅显示降采样后的图像。

    ../../../_images/desample3.png

流图详解

视觉流图的配置是Max中的高级用法,对于一般用户而言,配置完节点树中的模块即可运行整个视觉流程,无需再配置视觉流图。视觉流图中包含了节点树中没有的模块,可以配置一些高级参数,如有需要可以按照以下内容操作。

流水线拆垛的标准视觉流图配置如下。

  1. 创建工作空间,使用 流水线拆垛 模板创建流图,请参见 创建流图。创建成功的视觉流图如下。

../../../_images/conveyerdep.png
  1. 配置 相机 模块,获取彩色图、深度图及点云。请参见 连接相机

  2. 配置 加载标定信息 模块,请参见 标定

  3. 配置 变换点云坐标系去除料筐外点云 模块,将点云从相机坐标系转换到工作空间坐标系,并去除料筐以外的点云。

    ../../../_images/toteout3.png
  4. 配置 降采样点云 模块,合理降低点云数量。

  5. 基于步骤3得到的彩色图和步骤5得到的点云,配置 计算包围盒 模块,得到3D工件,各参数如下。

    ../../../_images/boxesti.png
    • 平面距离阈值:平面拟合的距离阈值,大于此值的点会被过滤。

    • 平面最大角度。

    • 最少点云数:如果点云数低于该阈值,模块直接返回空。

    • 边缘降噪(edge_denoise):针对边缘毛刺噪声的降噪功能,缓解边缘毛刺噪声对包围盒估计偏大的现象。

      • 开启:用户决定是否开启边缘降噪。

      • 使用平面点云:是否只使用平面上的点云进行边缘降噪。注意箱子表面高度起伏大时,开启此选项可能会导致边缘降噪效果不佳。

      • 步长:降噪的步长。

      • 降噪阈值:每行(列)点云占长(宽)的最小比例。该值越大,计算所得的长宽越容易缩小。

  6. 配置 变换工件位姿3D 模块,将物体位姿从相机坐标系转换到世界坐标系。

  7. 配置 输出结果发布3D位姿 模块,输出最终的3D工件结果。