缸体与缸盖

本节提供缸体与缸盖方案的使用指导,该方案概览如下。

工件

有序摆放的发动机缸体、缸盖

工作距离

1500~2000mm 或 2000~2500mm

技术指标

识别定位精度:±2mm

识别成功率:大于 99%

视觉系统耗时:小于 4s

方案介绍

下文将从适用场景、技术指标方面介绍该方案。

适用场景

本节将从工件、载具、光照条件方面介绍该方案的适用场景。

缸体工件

缸体工程对缸体的适用情况如下表所示。

缸体特征

适用/不适用情况

图示

来料方式

适用于有序摆放的发动机缸体,上表面结构简单,边缘清晰

icon_1

不适用于上表面结构复杂的缸盖

icon_2

形状尺寸

适用于上表面为平面的类长方体/异形体工件

icon_3

材质

铸铁、铸铝

反光性/点云质量

适用于存在一定程度反光的工件

icon_4

工件上表面边缘质量良好,不能有明显缺失

icon_5

码放方式

适用于单层/多层有序码放

缸盖工件

缸盖工程对缸盖的适用情况如下表所示。

缸盖特征

适用/不适用情况

图示

来料方式

适用于有序摆放的发动机缸盖

icon_6

不适用于圆环缸盖

icon_7

形状尺寸

适用于上表面为平面的类长方体/异形体工件

材质

灰铸铁、合金铸铁

反光性/点云质量

适用于存在一定程度反光的工件

icon_8

工件上表面点云质量良好,不能有明显缺失

icon_10

不适用于点云存在明显缺失的工件

icon_9

码放方式

适用于单层/多层有序码放

载具

该方案对载具的适用情况如下表所示。

载具特征

适用/不适用情况

图示

载具类别

推荐使用托盘载具

icon_11

也可使用料筐,但需特别注意避免料筐与夹具发生碰撞

icon_12

筐壁工况

适用于金属筐壁、金属网筐壁

不适用筐壁反光和塑料膜干扰的情况

筐壁变形情况

若不进行动态料筐检测,则允许筐壁变形

隔板工况

适用于塑料隔板、透明隔板,或有油印压痕的隔板

不适用于变形的隔板

点云质量

适用于隔板特征点云良好的载具

光照条件

该方案对光照条件的适用情况如下表所示。

光照特征

适用情况

环境光

工件表面无阳光直射

投光

无需单独投光

技术指标

缸体与缸盖方案的技术指标如下:

  • 识别定位精度:±2mm

  • 识别成功率:大于 99%

  • 视觉系统耗时:小于 4s

注解

视觉系统耗时指从相机采集图像至输出物体位姿所用的时间。

工程规划

布局

缸体工作站布局

缸体工作站布局如下图所示。其中,1 处为缸体在辊道线上的来料位置,箭头方向为辊道线方向;2 处为缸体在辊道线上的下料位置;3 处为反转清洁平台。

../../../_images/workstation_layout_1.png

该工作站内的工作流程如下:

  1. 缸体到达辊道线上的来料位置后,机器人触发相机识别缸体。

  2. 视觉引导机器人抓取辊道线上的缸体,并放置到翻转清洁平台上进行清洁作业。

  3. 作业完成后,机器人抓取缸体工件放置回辊道线上的下料位置。

  4. 重复以上流程。

缸盖工作站布局

缸盖工作站布局如下图所示。其中,1 处为缸盖来料垛位;2 处为二次定位平台;3 处为加工机台;4 处为缸盖下料垛位。

../../../_images/workstation_layout_2.png

该工作站内的工作流程如下:

  1. 当来料的缸盖被运送到指定位置后,上位系统告知机器人缸盖来料信息,机器人触发相机拍照,识别缸盖。

  2. 视觉引导机器人抓取托盘上的缸盖,并放置到加工机台前的二次定位平台进行定位。

  3. 二次定位后,机器人再次抓取工件至机台内加工。

  4. 单层缸盖抓取完成后,机器人触发相机识别来料垛位隔板和下料垛位中心,视觉引导机器人抓取隔板放置到下料垛位。

  5. 机台加工完成后,机器人抓取加工完成的缸盖放置到下料垛位。

  6. 重复以上流程,直至来料垛位的缸盖抓取完成。

视觉系统硬件组成

推荐型号

说明

相机

Pro M Enhanced

推荐安装方式:Eye-to-Hand;工作距离:1500~2000mm

LSR L

推荐安装方式:Eye-in-Hand;工作距离:2000~2500mm

工控机

标准机型,无 GPU

(Q6AMV-B-1A1)

处理器:CPU I5-12400

内存:16G DDR4

硬盘:256G SSD

电源:DC24V 7.5A

系统:正版 Windows 10 21H1 版本

WIFI 模块

机器人夹具

夹具说明: 常用夹具有三种,分别为内撑式夹具、抱夹式夹具、侧夹式夹具。由于缸体工件上表面一般有孔,所以推荐使用内撑式夹具。缸盖项目推荐使用抱夹式夹具。

夹具设计注意事项:

  • 缸体缸盖工件一般较重,需保证夹具整体强度及刚性较好。

  • 如果夹具含有插销、定位销,一方面,定位销与销孔的间隙要适中,且抓取工件时不能只靠定位销,需要有更稳定的夹持装置;另一方面,定位销强度要高,并且需加大定位销倒角,起到引导定位的作用。

  • 夹具抓取或者放置工件时,应避免与旁边的工件发生碰撞。

内撑式夹具

内撑式夹具如下图所示。

../../../_images/clamps_11.png

夹具说明: 内撑式夹具通过气缸/伺服电机控制内撑夹爪,撑住缸体圆孔。

夹具优势:

  • 可适应多种尺寸工件。

  • 可兼容更大的抓取偏差,抓取成功率更高。

  • 机器人端 TCP 设置简单,可便捷地添加示教抓取点。

夹具缺点:

  • 不适用于重量过大,或中间圆孔较小的工件。

  • 抓取和定位精度不够高。

抱夹式夹具

抱夹式夹具如下图所示。

../../../_images/clamps_21.png

夹具说明: 抱夹式夹具可通过气缸/伺服电机控制夹爪夹持工件底部,完全包裹住工件。

夹具优势:

  • 抓取精度一般要求在 ±2mm 左右,允许存在一定的抓取偏差,抓取稳定性较好。

  • 机器人端 TCP 设置简单,可便捷地添加示教抓取点。

夹具缺点:

  • 抓取和定位精度不够高,对于放置精度要求高的项目可能达不到精度要求。

侧夹式夹具

侧夹式夹具如下图所示。

../../../_images/clamps_3.png

夹具说明: 通过视觉识别工件上表面,从工件侧面进行抱夹。需将夹具的定位销插到工件对应的侧面销孔内。

夹具优势: 抓取和定位精度更高。

夹具缺点:

  • 机器人端示教操作较复杂。

  • 由于只靠定位销来夹持工件,定位销受力较大,稳定性不够好。

  • 对精度要求很高,一般在 ±0.5mm 以内,典型工程较难达到此要求,需根据现场拍照距离和工件情况评估该夹具的适用性。

提示

如果采用侧夹式夹具,建议夹具插销和工件侧面销孔留 ±1mm 左右的余量。

视觉相关

通信方式

推荐使用标准接口通信方式。

一、切换 Mech-Vision 配方

机器人 -> 工控机

请求指令

Mech-Vision 工程编号

配方编号

103

Mech-Vision 工程列表中工程名左侧的数字

1~99

示例

103, 1, 2

工控机 -> 机器人

返回指令

状态码

103

1107:配方切换成功 1012:Mech-Vision 配方编号不存在

示例

103, 1107

二、启动 Mech-Viz 工程

机器人 -> 工控机

请求指令

位姿类型

机器人位姿

201

0:不发送位姿 1:传入 Mech-Viz 的位姿为关节角及法兰位姿形式 2:机器人端自定义的关节角

机器人当前关节角及法兰位姿(若“位姿类型”为 1)

示例

201, 1, 0, -20.632, -107.812, 0, -92.818, 0.003

工控机 -> 机器人

返回指令

状态码

201

2103:执行正常 2008:工程运行错误 ……

示例

201, 2103

三、选择 Mech-Viz 分支

机器人 -> 工控机

请求指令

分支步骤编号

出口号

203

该参数应为正整数,用于指定分支选择将在哪个步骤上进行

该参数为正整数,该参数用于指定工程将沿消息分支步骤的哪个出口运行。

示例

203, 1, 1

工控机 -> 机器人

返回指令

状态码

203

2105:执行正常 2018:无效的分支出口号 ……

示例

203, 2105

四、获取规划路径(推荐)

机器人 -> 工控机

请求指令

路径点类型

205

1:路径点将以机器人关节角形式返回 2:路径点将以机器人工具位姿形式返回

示例

205, 1

工控机 -> 机器人

返回指令

状态码

是否发送完成

路径点数量

“视觉移动”位置

路径点

205

2100:执行正常 2007:路径规划失败 ……

0:未发送完路径中的全部路径点 1:已发送完路径中的全部路径点

默认范围:0~20 若路径中含有 20 个以上个路径点,请多次执行该指令。

“视觉移动”步骤路径点在整个路径中的位置

物体位姿 标签 速度

示例

205, 2100, 1, 2, 2, 8.307, 15.163, -142.177, -2.775, -31.440, -96.949, 0, 64

五、获取视觉目标点(无 Mech-Viz 时使用,不推荐)

机器人 -> 工控机

请求指令

Mech-Vision 工程编号

102

Mech-Vision 工程列表中工程名左侧的数字

示例

102, 1

工控机 -> 机器人

返回指令

状态码

是否发送完成

TCP 数量

保留字段

视觉目标点

102

1100:执行正常 1102:无视觉结果 ……

0:未完全发送 1:已完全发送

默认范围:0~20

该字段未使用,默认值为 0

物体位姿 标签 速度

示例

102, 1100, 1, 1, 0, 95.780, 644.567, 401.101, 91.120, -171.130, 180.0, 0, 0

关于标准接口通信的详细内容,可参考 标准接口通信

如果采用 Adapter 通信方式,需另外开发。

机器人 -> 工控机

请求指令

Mech-Vision 工程编号

工件型号

“P”:拍照请求

1~9

1~99

示例

P, 1, 2

说明

拍照命令,工程编号1,工件型号2

工控机 -> 机器人

状态码

工件型号

工件正反

抓取点

0:识别成功 1:空料 2:识别失败

1~99

1:正面 2:反面

X,Y,Z,A,B,C

示例

102, 1100, 1, 1, 0, 95.780, 644.567, 401.101, 91.120, -171.130, 180.0, 0, 0

说明

拍照成功, 工件型号1,反面,抓取点 1.574 , -0.443 , -1.122 , 43.12 , -24.25 ,179.66

工程说明

缸体工程 总体流程如下图所示。

../../../_images/project_overall_framework_11.png
  1. 采集图像: 用于获取缸体的彩色图、深度图。

  2. 点云预处理: 用于对缸体的原始点云进行预处理。

  3. 3D 边缘匹配: 利用缸体点云的边缘模板进行边缘模板匹配,并生成抓取点。

  4. 调整位姿: 用于将缸体的抓取点变换至机器人坐标系下,再进行排序,并滤除角度超限的位姿。

  5. 路径规划: 规划机器人的抓取路径。

  6. 输出结果: 将当前工程的结果发送给后台服务。

注解

隔板识别: 当没有工件位姿输出时,则进行隔板识别,并计算并输出隔板位姿。

缸盖工程 总体流程如下图所示。

../../../_images/project_overall_framework_21.png
  1. 采集图像: 用于获取缸盖的彩色图、深度图。

  2. 点云预处理: 用于对缸盖的原始点云进行预处理。

  3. 3D 边缘匹配: 利用缸盖点云的面模板进行面模板匹配,并生成抓取点。

  4. 调整位姿: 用于将缸盖的抓取点变换至机器人坐标系下,再进行排序,并滤除角度超限的位姿。

  5. 路径规划: 规划机器人的抓取路径。

  6. 输出结果: 将当前工程的结果发送给后台服务。

注解

隔板识别: 当没有工件位姿输出时,则进行隔板识别,并计算并输出隔板位姿。

点云模板和抓取点设置方式

模板设置方式:

  • 缸体工程采用 3D 方法提取点云边缘,然后进行边缘匹配方式(如下图中左图所示)。原因是缸体上表面结构简单,边缘清晰,采用边缘匹配可使抓取精度较高、视觉系统耗时较短。

  • 缸盖工程采用面匹配方式(如下图中右图所示)。原因是缸盖上表面结构复杂,不能稳定的提取其边缘点云,所以相比边缘匹配,采用面匹配时的更具有稳定性。

../../../_images/matching_model_and_pick_point_edit.png

抓取点设置方式:

缸体、缸盖工程的抓取点设置方式均采用示教法,使用几何中心点进行点云模板匹配,然后将几何中心点映射到抓取点,可提高抓取精度。原因是使用拖拽法拖拽时不够准确,难以保证抓取精度。

抓取排序策略

缸体、缸盖的抓取排序策略,一般根据工件离机器人原点的距离进行抓取排序,即由近及远进行抓取。抓取排序相关参数需根据现场实际情况进行设置。

如下图所示,底部的坐标系为机器人基座标系,机器人将按图中标注的顺序依次抓取工件。

../../../_images/sort_method.png

方案优点

  • 该方案点云预处理过程稳定。

  • 该方案采用边缘匹配方式识别缸体,面匹配方式识别缸盖,识别稳定性高,还可同时识别隔板。

  • 该方案适用于多种角度摆放的来料工件。

  • 该方案具有完善的防错步骤,并输出隔板、工件的标签。

方案部署

参数调节建议(缸体工程)

点云预处理

该步骤组合外部显示的参数均为常用参数。

“点云预处理”后输出的点云需保证完整,且不包含多余的场景点云。如下图所示,左图为点云预处理之前的缸体点云,右图为点云预处理之后的缸体点云。

../../../_images/point_cloud_preprocessing.png
  • 获取最高层点云 :用于获取准确的最高层缸体点云,尽量不包含需要匹配的工件点云之外的其它点云。在该过程中,需先将工件点云转换到机器人坐标系下,再获取最高层点云,以避免因为相机拍照姿态的原因,获取到不准确的最高层点云。

../../../_images/get_highest_layer_clouds.png
  • 3D 方法估计点云边缘 :一般选择 KNN 邻近点搜索方式,设置 邻近点个数角度阈值 ,获取完整的缸体上表面边缘。

3D 边缘匹配

该步骤组合外部显示的参数均为常用参数。

匹配策略 包括 Match0 和 Match0And180。当来料工件只有一种角度时,选择 Match0 匹配策略,此时只需制作一个方向的点云模板,并设置几何中心点和示教抓取点;当来料有两种角度或多种角度时,选择 Match0And180 匹配策略,此时需分别制作 0 度和 180 度摆放的工件的点云模板,并设置几何中心点和示教抓取点。

在该步骤组合中,1 处 3D 粗匹配 V23D 精匹配 步骤采用 0 度工件模板,2 处 3D 粗匹配 V23D 精匹配 步骤采用 180 度工件模板。

../../../_images/3d_matching_1.png

0 度、180 度缸体工件点云模板分别如下图中左、右图所示。

../../../_images/3d_matching_2.png

提示

在 3D 边缘匹配过程中,需避免漏识别。

另外,还需测试工件静止不动时的位姿重复识别精度,其中,位姿 X、Y、Z 值的误差需在 0.2mm 以内,欧拉角误差需在 0.1° 以内。

位姿处理及防错

该步骤组合外部显示的参数均为常用参数。

在该步骤组合中,1 处步骤采用 0 度点云模板匹配输出的位姿,2 处步骤采用 180 度点云模板匹配输出的位姿。

../../../_images/pose_processing_1.png

隔板识别

该方案的隔板识别采用的是计算平面抓取点的方式,适用于平面隔板。缸盖工程内的隔板识别采用的是点云模板匹配方式。

路径规划

该方案需配置三个路径规划工作流程,分别为:缸体抓取、隔板抓取、缸盖抓取。

  1. 路径规划 步骤参数中单击 打开路径规划工具 ,进入路径规划工具。

  2. 路径规划流程为:Home 点 -> 料筐上方固定点 -> 工件接近点 -> 视觉目标 -> 工件接近点 -> 料筐上方固定点 -> Home 点。配置每个路径规划流程前,需先设置对应的机器人夹具,再根据现场实际场景设置机器人原点(Home 点),然后调整料筐上方固定点和工件接近点,并添加场景物体和碰撞检测设置。

  3. 路径规划 步骤参数 工作流程配置 处选择对应的工作流程。

参数调节建议(缸盖工程)

点云预处理

该步骤组合外部显示的参数均为常用参数。

“点云预处理”后输出的点云需保证完整,且不包含多余的场景点云。

  • 获取最高层点云 :用于获取准确的最高层缸盖点云,尽量不包含需要匹配的工件点云之外的其它点云。在该过程中,由于缸盖表面结构复杂,不便进行点云聚类,若直接获取最高层点云,有可能获取到整个缸盖的点云,不利于后续匹配。所以需先将工件点云转换到机器人坐标系下,再获取最高层点云,以避免因为相机拍照姿态的原因,获取到不准确的最高层点云。

../../../_images/get_highest_layer_clouds_2.png

3D 面匹配

0 度、180 度缸盖工件点云模板分别如下图中左、右图所示。其他相关介绍可参考 3D 边缘匹配

../../../_images/3d_surface_matching.png

位姿处理及防错

相关介绍可参考 位姿处理及防错

隔板识别

相关介绍可参考 隔板识别

路径规划

需要设置对应的机器人夹具,再根据现场实际场景设置机器人原点,然后调整料筐上方固定点和工件上方接近点,并添加场景物体和碰撞检测设置。

常见问题及解决方法

工件未被正常识别

当出现工件未被正常识别的情况时,可尝试按如下流程解决该问题。

  1. 检查“点云预处理”后输出的点云是否正常,如不正常,则检查 点云聚类获取最高层点云 步骤的输出和原始深度图,重点检查 最大角度差类的最小/最大点数层高 参数的设置是否合理。

  2. 如果“点云预处理”后输出的点云正常,可检查 3D 粗匹配 V2 步骤的匹配效果。如果发现有明显的匹配错位,则建议先尝试增大 采样后模型的期望点数 ,并降低 参考点采样步长 ,增大 预期单个输入点云结果个数

  3. 如果 3D 粗匹配 V2 步骤匹配结果正常,但 3D 精匹配 步骤无输出,建议调整 置信阈值结果评价搜索半径

抓取存在偏差

当抓取存在偏差时,可尝试按如下流程解决该问题。

  1. 检查当前匹配结果是否有偏差和明显错位,并测试单个工件是否满足重复识别精度,如不满足则优先调整如下匹配相关参数。

    • 3D 粗匹配 V2 :优先调整 采样后模型的期望点数单个特征包含最多点对数量 ,降低 参考点采样步长 、调整 体素长度下限/上限预期单个输入点云结果个数

    • 3D 精匹配 :优先调整 标准偏差 ,降低 采样间隔结果评价搜索半径

  2. 当单个工件的重复识别精度满足要求时:

    • 如果来料方向一致;建议主要排查相机和机器人在抓取区域附近的精度。

      • 检查相机内参;

      • 在抓取区域附近识别标定板,检查标定板位姿的波动程度;

      • 检查机器人零点是否在安全位置,并检查机器人抓取位姿的重复识别精度。

    • 如果来料有多种角度,在以上基础上需重点检查相机外参。

      • 相机在 ±180° 方向分别识别同一标定板,比较标定板位姿在机器人坐标系下的值,外参误差约为该值的二分之一。

相机冷启动后由于温漂导致的 Z 向偏差

当相机冷启动后,由于温漂导致抓取方向上存在 Z 向偏差时,可尝试采用标志物补偿方法解决该问题。

  1. 在相机视野内固定一个标志物,识别工件的同时,也可识别标志物的位姿。

    • 如果用某物体作为标志物,需用点云模板匹配方式对其进行识别;

    • 如果用地面作为标志物,可直接计算平面点云的位姿。

  2. 在相机正常运行一段时间后识别标志物,保存标志物的基准位姿。

    • 标志物的位姿要求为:抓取点的 Z 向重复精度需控制在 0.1mm 以内。

  3. 读取标志物基准位姿,和当前识别的标志物位姿比较,得到 Z 值误差。然后将标志物的 Z 值误差补偿到当前工件位姿上。

    • 注意对位姿误差补偿值进行防错处理。如果位姿误差补偿值超过阈值,则不进行补偿;

    • 如果位姿误差补偿值在阈值内,则接受当前 Z 值误差对当前工件位姿进行补偿。

纯黑工件的点云缺失(缸盖)

可尝试两次曝光:一次低曝光,一次高曝光。另外还可适当增加相机增益和调整投影画幅。

型号识别问题

缸体工程中,当辊道上来料时,可能出现缸体型号未知的问题,需视觉识别工件型号及抓取点。可先识别工件尺寸,判断工件的大致型号。再通过多模板匹配,为相似型号的工件点云模板进行多模板匹配,输出工件型号的标签。