有序变速箱壳体

本节提供有序变速箱壳体工程的使用指导,该工程概览如下。

工件

有序摆放、无混料的变速箱壳体

工作距离

1000~1500mm

技术指标

识别定位精度:±1mm

识别成功率:大于 99%

视觉系统耗时:小于 4s

工程介绍

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

适用场景

下文从工件、载具、光照条件等方面介绍该工程的适用场景。

工件

该工程对变速箱壳体的适用情况如下表所示。

工件特征

适用情况

图示

来料方式

适用于有序摆放的汽车变速箱壳体

icon_1

不适用于紧密贴合、无序堆叠的壳体

icon_2

形状尺寸

适用于异形壳体和长方体壳体

icon_3

材质

灰铸铁、铝合金等粗加工金属件

反光性

允许工件表面存在一定程度的反光

icon_4

点云质量

壳体上表面特征点云不能有明显缺失

icon_5

码放方式

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

icon_6

不适用于壳体嵌在仿形隔板中的场景(不利于点云聚类)

icon_7

载具

该工程对载具的适用情况如下表所示。

载具特征

适用情况

图示

载具类别

推荐使用托盘

icon_8

同样适用于深筐

icon_9

筐壁情况

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

不适用筐壁反光或存在塑料膜干扰的情况

筐壁变形情况

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

隔板情况

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

不适用于变形的隔板

点云质量

需保证隔板或隔板特征点云良好

光照条件

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

光照特征

适用情况

环境光

工件表面无阳光直射

投光

无需单独投光

技术指标

有序变速箱壳体工程的技术指标如下:

  • 识别定位精度:±1mm

  • 识别成功率:大于 99%

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

注解

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

工程规划

布局

工作站布局

工作站布局如下图所示。

../../../_images/workstation_layout2.png

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

  1. 壳体来料后,机器人携带相机至预设拍照位置识别壳体。

  2. 视觉引导机器人抓取托盘上的壳体,并放置到指定位置。

  3. 重复上述步骤,拍照并抓取,循环抓取一层壳体后,机器人抓取隔板放置到指定位置。

  4. 重复上述步骤,直至来料垛位上的壳体和隔板抓取完成。

视觉系统硬件组成

推荐型号

说明

相机

Pro S Enhanced

安装方式:Eye-in-Hand;工作距离:1000~1500mm

LSR L

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

工控机

标准机型 - 无GPU

(Q6WMV-B-1A1)

处理器:CPU I5-12400

内存:16G DDR4

硬盘:256G SSD

电源:DC24V 7.5A

系统:正版 Windows 10 21H1 版本

WIFI 模块

机器人夹具

夹具说明:

该工程常用的夹具分为两种,抱夹式夹具和插销定位抱夹式夹具。一般推荐使用插销定位抱夹式夹具。

夹具设计注意事项:

  • 夹具上如果存在插销/定位销,插销/定位销与销孔的间隙要适中。且夹持不能只依赖于定位销,需有更稳定的夹持装置。

  • 定位销强度要高,定位销倒角要加大,需起到引导定位的作用。

  • 夹具在抓取或放置过程中,应避免与旁边的工件发生碰撞。

抱夹式夹具

抱夹式夹具如下图所示。

../../../_images/clamps_13.png

夹具说明: 该夹具通过气缸控制夹爪,然后对壳体凹凸的特征部位进行抱夹。该类夹具适用于对放置位置精度要求不高的项目。

夹具优势:

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

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

夹具缺点:

  • 该夹具对工件与工件之间的距离有一定要求,否则可能会发生碰撞。

  • 该夹具的抓取和定位精度不够高,不适用于对放置精度要求高的项目。

插销抱夹式夹具

插销抱夹式夹具如下图所示。

../../../_images/clamps_23.png

夹具说明: 该夹具通过将定位销插入工件对应的销孔内,对工件进行抱夹。该类夹具适用于放置位精度要求较高的项目

夹具优势:

  • 抓取和定位精度更高。

夹具缺点:

  • 不便使用示教器操作机器人。

视觉相关

通信方式

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

一、切换 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_01.png
  1. 采集图像: 用于获取壳体的彩色图、深度图。

  2. 点云预处理: 用于获取比较稳定的工件表面点云。

  3. 0度/180度匹配: 如果来料工件只有一种角度,可以选择仅 0 度匹配;如果来料工件有两种角度,可以选择 0 度和 180 度匹配。

  4. 位姿处理及防错: 用于对抓取位姿进行变换、排序,并检查输出位姿的有效性。

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

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

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

该工程采用面匹配模板,针对壳体来料有不同角度可以选择两种角度的模板分别匹配输出位姿以提高抓取精度。

由于夹具比较复杂,不太容易拖拽准确,因此请 通过示教器移动机器人来添加抓取点

方案优点

  • 该工程可使用“点云预处理”步骤组合获得稳定的场景点云。

  • 该工程的匹配模式采用面匹配,并且已对多种类似的壳体进行验证,识别稳定性较高。

  • 该工程适应性强,针对一种方向/多种方向来料的场景,均有相应的匹配策略。

  • 该工程具备完善的点云防错和位姿防错步骤。

工程难点

  • 该工程对于来料要求较高,一般要求来料整齐摆放。

  • 该工程要求工件表面不反光,点云质量较好。

  • 该工程需要自适应识别正反朝向码放的壳体。

工程部署

注意事项

  • 该工程对于来料要求较高,一般要求来料整齐摆放。

  • 该工程要求工件表面不反光,点云质量较好。

参数调节建议

点云预处理

  • 点云降采样 :需通过设置 采样间隔 ,降低场景点云的点数至合适范围内(建议降至 100000 以内),以便提高后续处理速度。

  • 点过滤 :一般使用 NormalsFilter 方法来滤除杂点,可过滤掉工件上表面与下层结构相连的杂点,以获取完整的上表面点云,但要注意保证工件点云完整。

../../../_images/point_filter.png
  • 在机器人坐标系下获取最高层点云

    • 点云变换 :由于相机拍照姿态原因,可能导致在相机坐标系下获取的最高层点云不准确。所以需选择 CameraToRobot 变换类型,将点云转换到 机器人坐标系 下后,再获取最高层点云。

    • 获取最高层点云 :需获取准确的最高层点云,尽量不包含待匹配的工件点云之外的其它点云。

../../../_images/get_highest_layer_clouds1.png

0 度/180 度匹配

“0 度/180 度”并不是严格意义上的角度。若工件来料时只有一种角度,则为 0 度;若工件来料时有两种角度,则需制作两个点云模板(0 度/180 度)来分别进行匹配。

在该步骤组合 匹配策略 参数下拉栏选择 Match0 ,即仅用 0 度模板匹配;下拉栏选择 Match0And180 ,即同时用 0 度和 180 度模板匹配。两个模板需要分别 通过示教器移动机器人来添加抓取点

  • 3D 粗匹配 V2匹配模式 建议选择 面匹配 ,且将 采样后模型的期望点数 设置为 1000 ,也可根据现场实际情况来调整该数值,前提是应保证匹配准确。

  • 3D 精匹配点方向的计算方法 建议选择 Origin (直接使用输入点云的法向), 采样间隔1.000mm置信度阈值 建议设置为 0.700 以上, 结果评价搜索半径 建议设置为 5.000mm 以下。以上参数设置完成后,需使点云完整的工件能够准确匹配,且无错位。

位姿处理

  • 调整位姿 :需将工件在相机坐标系下的位姿转换到 机器人坐标系 下,即 坐标系变换类型 选择 相机到机器人排序类型 选择 按位姿的平移向量在参考方向的投影距离排序按位置的 XYZ 值排序位置的指定量Z )。

  • 根据与参考方向的夹角判断位姿是否有效 :需设置 位姿指定轴X 轴, 参考方向的 X 值-1.00001.0000最大角度差45° ,用于根据位姿指定轴与参考方向 X 轴的夹角保留 0 度或 180 度左右的工件。

路径规划

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

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

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

常见问题及解决方法

“3D 精匹配”步骤无输出结果

需检查“点云预处理”步骤组合输出的点云是否正常。

如果“点云预处理”步骤组合输出的点云不正常,则查看 点云聚类获取最高层点云 的输出结果和原始深度图是否正常。

如果“点云预处理”步骤组合输出的点云正常,可查看“3D 粗匹配 V2”步骤的可视化输出结果。若 3D 粗匹配 V2 步骤可视化输出结果异常,需确认 采样后模型的期望点数参考点采样步长 参数是否设置合理。

如果 3D 粗匹配 V2 步骤输出结果正常但 3D 精匹配 步骤无输出结果,需确认 标准偏差置信阈值结果评价搜索半径 等参数是否设置合理。

抓取工件时存在偏差

当机器人抓取工件时存在偏差时,可做如下检查:

  • 分析是有规律的偏差还是无规律的偏差;

  • 检查当前匹配结果是否有偏差和明显错位;

  • 统计单个工件的识别精度;

  • 检查相机外参精度。

确认以上无问题后,需再次排查机器人精度和 TCP 精度。