视觉
本章节将针对具体场景详细介绍视觉服务的配置过程。在进行视觉配置前,请先参见 连接机械臂,完成机械臂连接。
场景要求
橡胶圆环抓取采用 3D平铺抓取 模板,该场景适用于工作空间内同种物体平铺有序摆放,且拥有物体 STL 模型的情况。目前广泛应用于汽车零件、机加工件等多种场景,场景要求如下。
相机为结构光相机
已知工件的三维模型
本章节描述的相关配置仅供参考,具体操作请以实际项目为准。
基本配置
配置前,请依次完成 新建项目、 添加容器,并使用 3D平铺抓取 模板创建视觉服务,请参见 创建流图。创建完成之后会在左上角生成节点树,如下图所示。
根据需求,依次配置这四个模块。
步骤1. 配置相机模块 (请参见 连接相机。)
步骤2. 配置加载标定信息模块 (请参见 手眼标定。)
提示
对3D相机进行标定时,推荐进行点云标定。
步骤3. 配置去除料筐外点云模块
单击左侧节点树中的 去除料筐外点云 模块,然后在右侧配置点云切割参数。
X方向收缩长度:料筐沿X方向的收缩长度,负值则意味着扩张。
Y方向收缩长度:料筐沿Y方向的收缩长度,负值则意味着扩张。
底部抬升高度:料筐底部抬升高度,负值则意味着下降。
顶部下降高度:料筐顶部下降高度,负值则意味着抬升。
单击 触发 拍照后可获取点云。需要注意的是,这里设置的参数使得工作空间中完整包含工件点云即可,点云不是越多越好,点的数量过多会影响计算速度。
在预览视图中移动料框模型,使之与点云中的料筐位置吻合。
在 可视化显示 区域选择需要查看的图像。
未切割点云图:仅显示未去除料筐外点云的图像。
切割对比图:对比显示切割前后的图像,被切割的点云用白色显示。
切割完点云图:仅显示去除料筐外点云的图像。
步骤4. 配置3D模板匹配模块
单击 创建模板,在弹出窗口单击 选择模板,选择模板文件,并输入模板名称。工件类型必须和注册抓取时使用的工件名称一致。
提示
在右下角 属性 页签下,将 是否使用已创建的模板 设置为true,再次打开Max时会自动读取已创建的模板,不必重新创建。
根据需要设置模板参数,单击 确认,完成参数设置。
提示
根据需要选择 特征类型,如果模型表面有棱有角或者整体较扁平,建议尝试edge-I/edge-II模式。限制物体朝向 建议使用no_limit。
根据需要设置检测参数。模板匹配时,小于 最小分数 的结果将被过滤。
设置不同检测阶段的参数,系统会根据物体模型在点云中寻找匹配结果,单击 执行检测,然后在左侧查看检测结果。如下图所示,检测出的工件上有分数显示则表明检测成功。
流图详解
视觉流图的配置是Max中的高级用法,对于一般用户而言,配置完节点树中的模块即可运行整个视觉流程,无需再配置视觉流图。视觉流图中包含了节点树中没有的模块,可以配置一些高级参数,如有需要可以按照以下内容操作。
单击“视图 > 节点视图”可查看创建成功的视觉流图,3D平铺抓取 场景的流图如下。
3D平铺抓取场景的流图可大致分成四个功能组:图像获取、图像预处理、图像计算处理和图像输出,各模块的配置及使用流程如下。
获取待处理图像。
相机 模块获取彩色图和点云。
加载标定信息 模块完成相机和工作空间的标定。
对图像进行预处理。
使用 变换点云坐标系 和 去除料筐外点云 模块,将点云从相机坐标系转换到工作空间坐标系,并去除料筐以外的点云。
基于上一步得到的料筐内点云,配置 变换点云坐标系 模块,将点云从工作空间坐标系转换到相机坐标系。
对图像进行计算处理,结合步骤1.b得到的彩色图和步骤2.b得到的点云,配置 3D模板匹配 模块,根据物体模型在点云中寻找匹配结果。
针对步骤3的计算结果,输出或保存图像。
配置 变换工件位姿3D 模块,将物体位姿从相机坐标系转换到世界坐标系。然后配置 输出结果 模块,查看3D物体位姿。
也可使用 保存图像 模块保存结果,或使用 可视化图像 模块查看可视化彩色图。
重复上述步骤,完成其它料筐的视觉流图的设置。