定位抓取(2D Blob 分析)
本文将介绍 2D Blob 分析方式下的工件识别配置流程。该方式用于检测图像中的明暗区域,即 Blob,并根据面积、圆度等几何特征筛选目标 Blob,实现工件定位。适用于通过明暗差异特征进行识别的场景,工件表现为明显的亮区或暗区。
单击配置向导,选择定位抓取场景,并选择2D Blob 分析识别方式,即可进入该配置流程。
使用流程
整体识别流程包括四个步骤:
-
图像预处理:对输入图像进行色彩转换、增强、降噪、形态学变换等预处理,提升图像质量,突出工件特征并减少背景干扰,为后续工件识别提供可靠的数据基础。
-
工件识别:设置感兴趣区域,并根据工件特征灵活配置 Blob 分析参数,以准确识别工件。
-
工件位姿计算:结合 2D 相机的外参标定数据和基准工件(即用于示教的工件)的示教信息,将识别到的工件 2D 位姿自动转换为机器人抓取所需的 3D 位姿,实现精准抓取。
-
通用设置:配置位姿过滤规则和输出端口,确保输出结果满足后续抓取需求。
图像预处理
在识别工件之前,可根据输入图像质量,选择开启转换图像色彩空间或图像预处理,进行相应的参数调整,使图像特征更清晰,从而提高识别的准确度和效率。
转换图像色彩空间
转换图像色彩空间可以将输入图像从一种色彩空间转换为另一种色彩空间,例如从 BGR 转灰度图、BGR 转 HSV等。通过色彩空间的转换,可以更好地突出图像特征,方便后续图像处理。
具体参数说明和调参案例请阅读 转换图像色彩空间。
工件识别
完成图像预处理后,进行识别设置,包括设置感兴趣的识别区域并调整 2D Blob 分析参数,实现对工件的精准识别。
添加识别参数组
进入工件识别流程后,系统会默认创建一个识别参数组,用于管理当前识别的感兴趣区域和相关参数。
-
管理操作:右键单击参数组名称,或直接单击参数组右侧的功能按钮,可执行重命名、删除或创建副本等操作。
-
新建参数组:如需配置新的参数组,单击右上方的添加按钮即可新建参数组。每个参数组都可以独立设置识别区域和参数,互不影响。
识别工件
完成识别区域设置后,可根据工件实际特征和识别需求调整其他参数,以优化识别效果。
| 参数 | 解释 |
|---|---|
Blob 极性 |
参数解释:该参数用于定义与背景相比,何种像素区域将被识别为目标连通区域,即 Blob。 值列表:
|
阈值类型 |
参数解释:该参数用于指定图像二值化的阈值计算方法。灰度值大于阈值的像素被归为前景,小于阈值的像素被归为背景。 值列表:
|
邻域类型 |
参数解释:该参数用于指定像素之间的连通规则,从而决定图像中哪些像素被归为一个 Blob。 值列表:
|
轮廓检索模式 |
参数解释:该参数用于设定提取 Blob 轮廓时的检索方式。 值列表:
|
过滤设置 |
参数解释:该参数用于设置过滤条件,以筛选出符合特定几何特征的 Blob。单击打开编辑器按钮,在”过滤设置“窗口中设置相关参数。 |
条件间逻辑 |
参数解释:逻辑筛选规则。用于为添加的多种筛选条件(如面积、外接矩形宽高比、圆度等)统一设置条件间逻辑(AND/OR)。不同条件项按“条件间逻辑”(AND/OR)组合;同一条件项重复添加时固定按 OR 组合,不受“条件间逻辑”设置影响。 值列表:AND、OR 调节说明:单击添加条件按钮,从下拉列表中选择需要过滤的条件并设置条件间逻辑。关于条件的定义和说明详见筛选条件说明。你可根据“参考值范围”设置“过滤值范围”。同时,可对每个条件可单独启用/禁用筛选或删除。 |
过滤参数组 |
参数解释:该参数用于选择在编辑器中已创建的过滤参数组,以便在识别过程中应用相应的过滤条件。 |
排序依据 |
参数解释:该参数用于指定排序的依据,以对检测到的 Blob 进行排序。 值列表:面积、总面积、外接矩形宽度、外接矩形高度、外接矩形宽高比、主轴角度、圆度、外接矩形中心点 X、外接矩形中心点 Y、内切圆半径、外接圆半径、内接矩形宽度、内接矩形高度、质心 X、质心 Y、外接矩形左上角 X、外接矩形左上角 Y、外接矩形右下角 X、外接矩形右下角 Y、旋转外接矩形宽度、旋转外接矩形高度、Z 形 调节说明:当选择Z 形时,需设置排序起始方向、跨行/跨列方向、层间隔和分层基准。 |
排序方向 |
参数解释:该参数用于指定排序的方向。 值列表:升序、降序 |
排序起始方向 |
参数解释:该参数用于指定 Z 形排序的起始方向。 值列表:
|
跨行/跨列方向 |
参数解释:该参数用于指定 Z 形排序的跨行或跨列方向。 值列表:
|
层间隔 |
参数解释:根据该间隔对Blob进行分层。当排序方式为先按行排序时,该参数表示 Blob 的行间隔;当排序方式为先按列排序时,该参数表示 Blob 的列间隔。 |
分层基准 |
参数解释:该参数用于指定分层时的起始位置。例如,当排序方式为先按行排序时,系统将按该位置排布第一行,然后在该行上、下方向上按设置的“层间隔”继续排布其他行。 |
你也可以通过 调参案例 进一步了解各参数的使用。
工件位姿计算
该流程通过示教操作采集基准数据,建立视觉识别和机器人抓取位姿之间的对应关系,将实时识别到的工件 2D 位姿,自动计算为机器人 3D 抓取位姿。
根据相机安装方式(Eye to hand 或 Eye in hand)不同,示教所需的操作和参数有所不同。
| 在开始具体示教操作前,请确保相机视野范围内仅有一个工件(若有其他工件,请先从载具中取出),并单击运行工程,以便系统仅识别该基准工件。 |
ETH 场景下示教说明
EIH 场景下示教说明
操作流程
-
通过示教器控制机器人移动至拍照点。单击编辑按钮,输入机器人在拍照点时的法兰位姿。该位姿为示教器上读取的机器人坐标系下的法兰位姿。
-
将基准工件放置在相机视野范围内进行拍照识别,并在整个示教过程中保持工件位置不变。
-
单击获取按钮,获取当前识别到的基准工件 2D 位姿。
-
通过示教器控制机器人精准到达工件的预期抓取点。单击编辑按钮,输入抓取基准工件时的机器人法兰位姿。该位姿为示教器上读取的机器人法兰位姿。
-
完成后,在保证工件位置不动的情况下,使用示教器控制机器人离开抓取点。
参数说明
| 参数 | 解释 |
|---|---|
选择相机步骤 |
参数解释:该参数用于选择已完成外参标定的 2D 相机步骤,以确保标定数据正确应用于当前步骤。 |
基准工件 2D 位姿 |
参数解释:拍照时,识别到的基准工件 2D 位姿。 |
基准抓取位姿 |
参数解释:机器人抓取基准工件时的法兰位姿,该位姿为示教器上读取的机器人坐标系下的法兰位姿。 |
拍照时法兰位姿 |
参数解释:机器人在拍照点时的法兰位姿,该位姿为示教器上读取的机器人坐标系下的法兰位姿。 |
通信组件中的机器人服务名 |
参数解释:该参数用于选择机器人型号,需与通信组件中连接的机器人型号一致。 |
| 示教完成后,可将其他工件放回载具,并再次单击运行工程,以便系统批量识别和输出所有工件的位姿。 |
完成工件位姿计算后,单击下一步进入通用设置流程。