外观
通用工件视觉参数调整指南
约 32887 字大约 110 分钟
2026-01-26
本章主要介绍如何在通用工件的有序上下料、无序抓取、定位装配中根据实际场景调整视觉参数。
入门引导:
背景介绍


搭建项目
(1)新建一个通用工件有序上下料/通用工件无序抓取/通用工件定位装配项目(项目名称、项目地址可以自定义,项目名称不能有中文)
工件类型:通用工件(不是圆、圆柱、四边形,且正反面差异较大)



(2)相机、机器人配置
(3)添加工件

- 工件信息
工件名称可自定义,工件类型默认为标准工件且不可更改,工件ID可自定义,用于机器人抓取时自动切换工件
点云文件:工件点云,在点云模板制作中制作工件点云
精匹配点云模板:用于精匹配
自定义关键点:通用工件需要上传工件的关键点文件
相机参数:不需要填

- 模型信息
视觉模型:通用工件应用的2D识别方案是基于CAD的合成数据训练(一键联通),3D匹配方案是刚体变换。不同的通用工件应用的视觉模型需要经过一键联通训练得到。



网格文件:一般上传工件CAD,为了摒弃一些噪声需要标准化网格文件,也可在点云模板制作标准化网格文件,
工件属性:长条型、对称型、高反型、Low solidity型
作业环境:录入环境文件,一键联通中数据生成的环境会被自动替换为录入的环境,提高识别效果
工件纹理:录入工件纹理,一键联通中训练模型时会使用录入的工件纹理做数据增强,提高识别效果
模型最大识别数:默认20,根据场景需求修改
- 抓取点:根据工件设置抓取点

绝对坐标系:以初始点为原点,初始点是工件点云和CAD自带的。
抓取点坐标系(偏移量):以当前抓取点为原点。
(4)添加末端工具、手眼标定、ROI
(5)可选的功能选项:实例优化、碰撞检测、碰撞检测(新版)、视觉分类、识别类型、识别正反(通过点云模板)、识别局部特征
实例优化:优化模型生成的实例,对实例掩膜进行处理。
碰撞检测(新版):碰撞检测功能用于检测末端工具与容器的碰撞,过滤可能碰撞的抓取姿态。碰撞检测使用指南
视觉分类:用于识别同一工件的不同纹理、不同朝向等特征。视觉分类使用指南
识别类型:用于识别多种类型工件。识别类型使用指南
识别局部特征:通过工件的局部特征来定位工件。识别局部特征使用指南
识别正反(通过点云模板):可导入工件正面和反面的点云模板,来匹配抓取工件的正面或反面,且可以针对工件正面或反面分别进行抓取点设置。识别正反(通过点云模板)使用指南
(6)测试数据(提供历史数据用于后续练习,可使用历史数据中foreground\input文件夹中的2D图像和3D点云替代相机取图来配置ROI)
通用工件有序上下料数据:
点云文件:
关键点文件:
网格文件:
视觉模型:
末端工具:
历史数据:

视觉参数
- 2D识别:从实际场景中识别分割出实例
预处理:在进行实例分割之前,对2D图像进行处理(常用:填充深度图空洞&边缘增强&提取最上层纹理&去除roi3d外的图片背景)
实例分割:分割实例(缩放比例&置信度下限阈值&自动增强),加速可取消勾选 返回掩膜
点云生成:生成实例点云的方式,使用分割后的实例掩膜或包围盒生成实例点云/使用过滤后的实例掩膜或包围盒生成实例点云
实例过滤:对分割出的实例进行过滤
实例排序:对实例进行排序
- 3D计算:计算实例在相机坐标系下的姿态并生成抓取点
预处理:在计算抓取点之前,对3D点云进行预处理
姿态估计:计算实例在相机坐标系下的姿态(粗匹配、精匹配)并生成抓取点
- 抓取点处理:对抓取点进行过滤、调整、排序
抓取点过滤:对抓取点进行过滤
抓取点调整:对抓取点进行调整
抓取点排序:对抓取点进行排序
1. 2D识别
本节主要对影响2D图像识别结果的预处理、实例分割、实例过滤、实例排序相关函数进行说明和调参建议
1.1 预处理
2D识别的预处理是在实例分割之前对2D图像进行处理

1.1.1 双边滤波

- 功能
基于双边滤波的图像平滑功能
- 参数说明
| 参数 | 说明 | 默认值 | 取值范围 |
|---|---|---|---|
| 最大深度差值 | 双边过滤的最大深度差值 | 0.03 | [0.01, 1] |
| 过滤核大小 | 双边过滤卷积核大小 | 7 | [1, 3000] |
1.1.2 深度转法向量图
- 功能
通过深度图计算像素法向量,并把图片转换成法向量图
1.1.3 图像增强

- 功能
常用图像增强,如色彩饱和度、对比度、亮度、锐利度
- 参数说明
| 参数 | 说明 | 默认值 | 取值范围 |
|---|---|---|---|
| 图像增强类型 | 对图像的某个元素进行增强 | 对比度 | 色彩饱和度、对比度、亮度、锐利度 |
| 图片增强阈值 | 对图像的某个元素增强多少 | 1.5 | [0.1, 100] |
1.1.4 直方图均衡

- 功能
提高图像的对比度
- 参数说明
| 参数 | 说明 | 默认值 | 取值范围 |
|---|---|---|---|
| 局部模式 | 局域或全局直方图均衡,勾选则局域直方图均衡,取消勾选则全局直方图均衡 | 勾选 | / |
| 对比度阈值 | 对比度阈值 | 3 | [1,1000] |
1.1.5 通过颜色过滤深度图

- 功能
根据颜色值过滤深度图
- 参数说明
| 参数 | 说明 | 默认值 | 取值范围 |
|---|---|---|---|
| 填充核大小 | 颜色填充的大小 | 3 | [1,99] |
| 根据hsv过滤深度-色域最大值 | 最大颜色值 | [180,255,255] | [[0,0,0],[255,255,255]] |
| 根据hsv过滤深度-色域最小值 | 最小颜色值 | [0,0,0] | [[0,0,0],[255,255,255]] |
| 保存颜色范围内的区域 | 勾选则保存颜色范围内的区域,不勾选则保存颜色范围外的区域 | / | / |
1.1.6 伽马图片校正

- 功能
gamma校正改变图片亮度
- 参数说明
| 参数 | 说明 | 默认值 | 取值范围 |
|---|---|---|---|
| gamma补偿系数 | 该值小于1,图片变暗该值大于1,图片变量 | 1 | [0.1,100] |
| gamma校正系数 | 该值小于1,图片变暗,适用于亮度过高的图片该值大于1,图片变亮,适用于亮度过低的图片 | 2.2 | [0.1,100] |
1.1.7 填充深度图空洞
- 功能
对深度图中的空洞区域进行填充,并对填充后的深度图进行平滑处理
- 使用场景
因工件本身结构遮挡、光照不均匀等问题,深度图可能缺失工件的部分区域
- 参数说明
| 参数 | 说明 | 默认值 | 取值范围 |
|---|---|---|---|
| 填充核大小 | 空洞填充的大小 | 3 | [1,99] |
填充核大小只能填入奇数
- 调参
根据检测结果调整,如果填充过度,应调小参数;如果填充不足,应调大参数
- 示例
1.1.8 边缘增强

- 功能
把图像中纹理的边缘部分置为背景色或者与背景色相差较大的颜色,以凸显工件的边缘信息
- 使用场景
工件相互遮挡或重叠导致边缘不清晰
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 | 调参建议 |
|---|---|---|---|---|
| 法向z方向过滤阈值 | 深度图每个点对应的法向量与相机坐标系Z轴正方向的角度过滤阈值,若点的法向量与相机坐标系的Z轴正方向的角度大于此阈值,则2D图中该点对应位置的颜色将会被置为背景色或者与背景色相差较大的颜色 | 30 | [0,180] | 对于平整工件表面,该阈值可以小一些,曲面工件根据表面倾斜程度适当增大 |
| 背景色 | 背景色的RGB颜色阈值 | 128 | [0,255] | |
| 自动调节反差背景 | 勾选 自动调节反差背景后,将2D图中角度大于过滤阈值的点的颜色设置为与背景色相差较大的颜色不勾选 自动调节反差背景,将2D图中角度大于过滤阈值的点的颜色设置为背景色对应的颜色 | 不勾选 | / |
- 示例


1.1.9 提取最上层纹理

- 功能
提取最上层或最底层的工件纹理,而把其他区域置为背景色或者与背景颜色相差较大的颜色。
- 使用场景
光照条件不佳、颜色纹理相近、紧密堆叠、交错堆叠或遮挡等因素可能导致模型难以区分上层和下层工件的纹理差异,因此容易误检测。
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 | 单位 | 调参建议 |
|---|---|---|---|---|---|
| 距离阈值(mm) | 点与最上层平面(最底层平面)的距离低于该阈值,则被认为是最上层平面(最底层平面)内的点,应当保留,否则认为是下层(上层)的点,将下层(上层)的点的颜色置为背景色或与背景色相差较大的颜色 | 50 | [0.1, 1000] | mm | 一般调整为工件高度的1/2 |
| 聚类点云数量 | 期望参与聚类的点数量,在ROI 3D区域内采样点云的数量 | 10000 | [1,10000000] | / | 聚类点云数量越多,模型推理速度下降而精度提升;聚类点云数量越少,模型推理速度提升而精度下降 |
| 类别点最小数量 | 用于过滤类别的最小点数 | 1000 | [1, 10000000] | / | / |
| 自动计算反差背景 | 勾选 自动计算反差背景后,将2D图中最上层(最底层)外的其他区域设置为与背景色阈值相差较大的颜色不勾选 自动计算反差背景,将2D图中最上层(最底层)外的其他区域设置为背景色阈值对应的颜色 | 勾选 | / | / | / |
| 背景色阈值 | 背景色RGB颜色阈值 | 128 | [0, 255] | / | / |
- 示例
1.1.10 去除roi3d外的图片背景

- 功能
去除2D图像中除了ROI3D区域以外的背景
- 使用场景
图像背景噪声较多影响检测结果
- 参数说明
| 参数名 | 说明 | 默认值 | 取值范围 |
|---|---|---|---|
| 填充核大小 | 空洞填充的大小 | 5 | [1,99] |
| 迭代次数 | 图片膨胀的迭代次数 | 1 | [1,99] |
| 自动计算反差背景 | 勾选 自动计算反差背景后,将2D图中roi以外的区域设置为与背景色阈值相差较大的颜色不勾选 自动计算反差背景,将2D图中roi以外的区域设置为背景色阈值对应的颜色 | 勾选 | / |
| 背景色阈值 | 背景色的RGB颜色阈值 | 128 | [0,255] |
填充核大小只能填入奇数
- 调参
如果需要去除图像中更多背景噪声,应当调小填充核大小
- 示例
1.2 实例分割
1.2.1 缩放比例

- 功能
通过等比放缩原始图像后再推理以提升2D识别的准确率与召回率。
- 使用场景
检测结果不佳(如未检测到实例、漏识别、包围盒框到多个实例或框不满实例)应调整该函数。
- 参数说明
默认值:1.0
取值范围:[0.01, 3.00]
步长:0.01
调参
- 使用默认值运行,在可视化视窗查看检测结果,若出现未检测到实例、漏识别、包围盒框到多个实例或框不满实例的情况,应调整该函数。


2D识别中实例的百分数为置信度分数,数字为实例ID(实例的识别顺序)。
2D识别中实例上有颜色的阴影是掩膜,包围实例的矩形框是包围盒,有颜色的点是关键点。
如下图所示,缩放比例为0.83时检测结果显著提高,因此可以确定0.83为缩放比例范围的下限



缩放比例为1.5时检测结果显著降低,因此可以确定1.5为缩放比例范围的上限



1.2.2 置信度下限阈值

- 功能
仅保留深度学习模型识别结果分数高于置信度下限阈值的识别结果
- 使用场景
检测结果框取的实例不符预期时,可调整该函数
- 参数说明
默认值:0.5
取值范围:[0.01, 1.00]
调参
- 如果模型检测出的实例较少,应当调小该阈值;取值过小,可能会影响图像识别的准确度。


- 若因为置信度下限阈值过小导致检测出错误的实例,而需要去除这些错误的实例,应当调大该阈值;取值过大,可能会导致保留的检测结果为零,没有结果输出。
1.2.3 启用自动增强

- 功能
将输入的缩放比例和旋转角度中所有的值进行组合后推理,返回组合后大于设定置信度下限阈值的所有结果,可以提升模型推理精度, 但会增加耗时。
- 使用场景
单个缩放比例无法满足实际场景需求导致检测不完整或物体摆放倾斜度较高。
- 示例
如果自动增强-缩放比例设置为 [0.8, 0.9, 1.0] ,自动增强-旋转角度设置为 [0, 90.0] ,那么将缩放比例和旋转角度中的值两两组合,模型内部会自动生成6种图片进行推理,最后将这6种推理结果统一到一起,输出大于置信度下限阈值的结果。
自动增强-缩放比例
- 功能
对原始图像进行多次缩放并进行多次推理,输出综合的推理结果
- 使用场景
单个缩放比例无法满足实际场景需求导致检测不完整
- 参数说明
默认值:[1.0]
取值范围:每个缩放比例的范围为[0.1, 3.0]
可设置多个缩放比例,每个缩放比例之间用英文逗号隔开
- 调参
填入多个 1.2.1 缩放比例 获得的检测效果较好的缩放比例
自动增强-旋转角度
- 功能
对原始图像多次旋转并进行多次推理,输出综合的推理结果
- 使用场景
物体摆放偏离坐标轴较多时使用
- 参数说明
默认值:[0.0]
取值范围:每个旋转角度的取值范围为[0, 360]
可设置多个旋转角度,每个旋转角度之间用英文逗号隔开
- 调参
根据实际场景中的物体角度调整自动增强-旋转角度,可根据麻袋的图案和袋口形状、纸箱的棱边和品牌标志判断倾斜角度
1.3 点云生成

| 实例点云生成形式 | 掩膜形式(分割后) | — | 使用分割后的实例掩膜生成点云 |
| 包围盒形式(分割后) | 包围盒缩放比例(分割后) | 使用分割后的实例包围盒生成点云 | |
| 生成点云是否需要颜色(分割后) | 生成的实例点云是否需要附着颜色 | ||
| 掩膜形式(过滤后) | — | 使用过滤后的实例掩膜生成点云 | |
| 包围盒形式(过滤后) | 包围盒缩放比例(过滤后) | 使用过滤后的实例包围盒生成点云 | |
| 生成点云是否需要颜色(过滤后) | 生成的实例点云是否需要附着颜色 |
如果不需要加速,无需使用实例过滤函数,使用掩膜形式(分割后)或包围盒形式(分割后)生成实例点云,可在 项目存储文件夹\项目名称\data\PickLight\历史数据时间戳\Builder\pose\input文件夹查看生成的实例点云;


如果需要加速,可使用实例过滤函数对实例进行过滤,使用掩膜形式(过滤后)或包围盒形式(过滤后)生成实例点云,可在 项目存储文件夹\项目名称\data\PickLight\历史数据时间戳\Builder\pose\input文件夹查看生成的实例点云


1.4 实例过滤

1.4.1 基于包围盒面积过滤

- 功能介绍
根据检测出实例的包围盒的像素面积来进行过滤。
- 使用场景
适用于实例包围盒面积相差较大的场景,通过设置包围盒面积的上限和下限来过滤图像中的噪声,提升图像识别的准确度,避免噪声给后续处理增加耗时。
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 | 单位 |
|---|---|---|---|---|
| 最小面积(像素) | 该参数用于设置包围盒的最小过滤面积,包围盒面积低于这个值的实例会被过滤 | 1 | [1, 10000000] | 像素点 |
| 最大面积(像素) | 该参数用于设置包围盒的最大过滤面积,包围盒面积高于这个值的实例会被过滤 | 10000000 | [2, 10000000] | 像素点 |
- 示例
按默认值运行,可在日志中查看每个实例的包围盒面积,如下图所示。


根据每个实例的包围盒面积调整 最小面积 和 最大面积,如将最小面积设置为20000,将最大面积设置为30000,即可将像素面积为小于20000或大于30000的实例过滤掉,可在日志中查看实例过滤过程。


1.4.2 基于包围盒长宽比过滤

- 功能介绍
包围盒长宽比在指定范围外的实例将被过滤掉
- 使用场景
适用于实例的包围盒长宽比相差较大的场景
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 |
|---|---|---|---|
| 最小长宽比 | 包围盒长宽比的最小值,包围盒长宽比低于该值的实例会被过滤 | 0 | [0, 10000000] |
| 最大长宽比 | 包围盒长宽比的最大值,包围盒长宽比高于该值的实例会被过滤 | 10000000 | [0, 10000000] |
| 使用X/Y轴边长作长宽比 | 默认不勾选,使用包围盒的较长边/较短边的长度比值作为长宽比,适用于包围盒的长短边长度相差大的情况; 勾选后,则使用像素坐标系下包围盒在X轴/Y轴上的边的长度比值作为长宽比,适用于大部分正常实例包围盒的长边/短边比值近似,但部分异常识别的实例包围盒在X轴上的长度/在Y轴上的长度的比值相差较大的情况。 | 不勾选 | / |
1.4.3 基于类别ID过滤实例
- 功能介绍
根据实例类别过滤
- 使用场景
适用于来料有多种类型工件的场景
- 参数说明
| 参数 | 说明 | 默认值 |
|---|---|---|
| 保留的类别ID | 保留类别ID在列表内的实例,类别ID不在列表内的实例将被过滤 | [0] |
- 示例
1.4.4 基于实例点云的边长过滤

- 功能介绍
根据实例点云的长边和短边过滤
- 使用场景
适用于实例点云在x轴或y轴的距离相差较大的场景,通过设置实例点云的距离范围来过滤图像中的噪声,提升图像识别的准确度,避免噪声给后续处理增加耗时。
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 | 单位 |
|---|---|---|---|---|
| 短边长度范围(mm) | 点云短边的边长范围 | [0, 10000] | [0, 10000] | mm |
| 长边长度范围(mm) | 点云长边的边长范围 | [0, 10000] | [0, 10000] | mm |
| 边缘去噪下限(%) | 提取实例点云中X/Y值(相机坐标系)的百分比下限,去除上下限外的点云,避免噪点影响长度计算 | 5 | [0, 100] | / |
| 边缘去噪上限(%) | 提取实例点云中X/Y值(相机坐标系)的百分比上限,去除上下限外的点云,避免噪点影响长度计算 | 95 | [0, 100] | / |
| 边长类型 | 按实例点云的长边、短边过滤,长边、短边的长度不在范围内的实例将被过滤 | 实例点云短边 | 实例点云短边;实例点云长边;实例点云长边和短边 | / |
- 示例
1.4.5 基于分类器的类别ID过滤

- 功能介绍
基于分类器的类别 ID 过滤实例,不在参考类别内的实例将被过滤。
- 使用场景
在多类工件场景中,视觉模型可能会检测出多种类型的工件,但实际作业可能仅需其中某一种类别的工件,此时就可以使用该函数过滤掉不需要的工件
- 参数说明
默认值为[0],即默认保留类别 ID 为 0 的实例,类别 ID 不在列表内的实例将被过滤。
1.4.6 基于三通道颜色过滤

- 功能介绍
可通过三通道颜色阈值(HSV或者RGB)过滤掉实例。
- 使用场景
错误实例和正确实例颜色有明显区分的情况。
- 参数说明
| 参数 | 说明 | 默认值 | 取值范围 |
|---|---|---|---|
| 色域最大值 | 最大颜色值 | [180,255,255] | [[0,0,0],[255,255,255]] |
| 色域最小值 | 最小颜色值 | [0,0,0] | [[0,0,0],[255,255,255]] |
| 过滤百分比阈值 | 颜色通过率阈值 | 0.05 | [0,1] |
| 反向过滤 | 勾选则剔除颜色范围外的比例低于阈值的实例,不勾选则剔除实例图像中颜色范围内的比例低于阈值的实例 | 不勾选 | / |
| 颜色模式 | 颜色过滤中选择的颜色空间 | HSV色彩空间 | RGB色彩空间HSV色彩空间 |
- 示例

1.4.7 基于置信度过滤

- 功能介绍
根据实例的置信度分数过滤
- 使用场景
适用于实例的置信度相差较大的场景
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 |
|---|---|---|---|
| 参考置信度度 | 保留置信度大于阈值的实例,过滤置信度小于阈值的实例。 | 0.5 | [0,1] |
| 反转过滤结果 | 反转后,保留可见度置信度小于阈值的实例,过滤置信度大于阈值的实例。 | 不勾选 | / |
- 示例
1.4.8 基于点云数量过滤

- 功能介绍
根据降采样后的实例点云数量过滤
- 使用场景
实例点云带有较多噪声
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 |
|---|---|---|---|
| 点云数量最小值 | 点云数量的最小值 | 3500 | [1, 10000000] |
| 点云数量最大值 | 点云数量的最大值 | 8500 | [2, 10000000] |
| 过滤数量在区间内的实例 | 勾选则过滤点云数量在最小值和最大值区间内的实例,不勾选则过滤点云数量不在区间内的实例 | 不勾选 | / |
1.4.9 基于掩膜面积过滤

- 功能介绍
根据检测出实例的掩膜像素和(即像素面积)过滤图像掩膜。
- 使用场景
适用于实例掩膜面积相差较大的场景,通过设置掩膜的面积上限和下限来过滤图像掩膜中的噪声,提升图像识别的准确度,避免噪声给后续处理增加耗时。
- 参数设置说明
| 参数名 | 说明 | 默认值 | 参数范围 | 单位 |
|---|---|---|---|---|
| 参考最小面积 | 该参数用于设置掩膜的最小过滤面积,掩膜面积低于这个值的实例会被过滤 | 1 | [1, 10000000] | 像素点 |
| 参考最大面积 | 该参数用于设置掩膜的最大过滤面积,掩膜面积高于这个值的实例会被过滤 | 10000000 | [2, 10000000] | 像素点 |
- 示例
1.4.10 基于可见度过滤

- 功能介绍
根据实例的可见度分数过滤
- 使用场景
适用于实例的可见度相差较大的场景
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 |
|---|---|---|---|
| 参考可见度阈值 | 保留可见度大于阈值的实例,过滤可见度小于阈值的实例。可见度用于判断图像中的实例可见的程度,工件被遮挡越多,可见度越低。 | 0.5 | [0,1] |
| 反转过滤结果 | 反转后,保留可见度小于阈值的实例,过滤可见度大于阈值的实例。 | 不勾选 | / |
1.4.11 过滤包围盒重叠的实例

- 功能介绍
过滤包围盒交叉重叠的实例
- 使用场景
适用于实例的包围盒相互交叉的场景
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 |
|---|---|---|---|
| 包围盒重叠比例阈值 | 包围盒交叉的面积与实例包围盒的面积的占比阈值 | 0.05 | [0, 1] |
| 过滤包围盒面积较大的实例 | 勾选则过滤两个包围盒交叉的实例中面积较大的实例,不勾选则过滤两个包围盒交叉的实例中面积较小的实例 | 勾选 | / |
- 示例

新增 过滤被包围实例,以默认值运行,在日志中查看实例包围盒交叉的情况,实例过滤后剩余2个实例

由日志可知,12个实例因为包围盒交叉被过滤掉,剩余2个包围盒没有交叉的实例

将 包围盒重叠比例阈值 设置为0.1,勾选 是否过滤较大的实例,在日志中查看实例例过滤过程,9个实例因为包围盒交叉面积与实例包围盒面积的占比大于0.1被过滤掉,3个实例因为包围盒交叉面积与实例包围盒面积的占比小于0.1被保留,2个实例包围盒没有交叉。


将 包围盒重叠比例阈值 设置为0.1,取消勾选 是否过滤较大的实例,在日志中查看实例例过滤过程,9个实例的包围盒交叉面积与实例包围盒面积的占比大于0.1,但其中2个实例因为包围盒面积小于与其交叉的实例被保留,因此7个实例被过滤,3个实例因为包围盒交叉面积与实例包围盒面积的占比小于0.1被保留,2个实例包围盒没有交叉。


1.4.12 【大师】基于掩膜/掩膜外接多边形面积比,过滤掩膜凹凸的实例

- 功能介绍
计算掩膜/掩膜外接多边形的面积比值,若小于设置的阈值则会过滤掉实例
- 使用场景
适用于工件掩膜存在锯齿/凹凸的情况。
- 参数说明
| 参数 | 说明 | 默认值 | 取值范围 |
|---|---|---|---|
| 面积比阈值 | 掩膜/凸包面积比阈值,若小于设置的阈值则会过滤掉实例。 | 0.1 | [0,1] |
1.4.13 【大师】基于点云平均距离过滤

- 功能介绍
基于点云中点到拟合平面的距离的平均值进行过滤,剔除不平整的实例点云
- 使用场景
适用于平面型工件点云弯曲的场景
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 | 单位 |
|---|---|---|---|---|
| 平面分割距离阈值(mm) | 在弯曲的实例点云中提取一个平面,与平面的距离小于该阈值的点视为该平面的点 | 10 | [-1000, 1000] | mm |
| 平均距离阈值(mm) | 实例点云中的点到提取平面的距离的平均值 | 20 | [-1000, 1000] | mm |
| 剔除平均距离小于阈值的实例 | 勾选则过滤点到提取平面的平均距离小于平均距离阈值的实例,不勾选则过滤点到提取平面的平均距离大于平均距离阈值的实例 | 不勾选 | / | / |
1.4.14 【大师】基于掩膜/包围盒面积比,过滤被遮挡的实例

- 功能介绍
计算掩膜/包围盒面积比值,比值不在最大最小范围内的实例将被过滤
- 使用场景
用于过滤被遮挡工件的实例
- 参数说明
,相反,代表可能被遮挡。
| 参数 | 说明 | 默认值 | 取值范围 |
|---|---|---|---|
| 最小面积比 | 掩膜/包围盒面积比例范围下限,比值越小,说明实例被遮挡程度越高 | 0.1 | [0,1] |
| 最大面积比 | 掩膜/包围盒面积比例范围上限,比值越接近1,说明实例被遮挡程度低 | 1.0 | [0,1] |
1.4.15 【大师】判断最上层实例是否全量检出

- 功能介绍
防呆机制之一,判断最上层的实例是否全部被检出,若存在没有被检出的最上层实例则会报错并结束工作流
- 使用场景
适用于拍一次抓多次或者必须要按顺序进行抓取的场景,防止因实例检出不完整造成漏抓影响后续作业
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 | 单位 | 调参 |
|---|---|---|---|---|---|
| 距离阈值 | 用于判断最上层的工件,点与工件点云最高点的距离小于距离阈值,则认为这个点是最上层点云,否则认为这个点不是最上层点云。 | 5 | [0.1, 1000] | mm | 应当小于工件的高度 |
1.5 实例排序

- 功能介绍
根据选择的策略对实例进行分组、排序、提取
- 使用场景
拆垛、无序抓取、有序上下料场景通用
如果不需要排序,可以不配置具体的策略。
1.5.1 基准坐标系

- 功能介绍
为所有实例设定一个统一的坐标系,进行实例的分组排序
- 使用场景
拆垛场景、无序抓取场景、有序上下料场景通用
使用坐标相关的策略应当先设置基准坐标系
- 参数说明
| 参数 | 说明 | 图示 |
|---|---|---|
| 相机坐标系 | 坐标系原点在物体上方,Z轴正方向朝下;XYZ取值是物体中心点在该坐标系下的值 | ![]() |
| ROI坐标系 | 坐标系原点大致在垛中心,Z轴正方向朝上;XYZ取值是物体中心点在该坐标系下的值 | ![]() |
| 机械臂坐标系 | 坐标系原点在机械臂自身,Z轴正方向一般朝上;XYZ取值是物体中心点在该坐标系下的值 | ![]() |
| 像素坐标系 | 坐标系原点在RGB图的左顶点,是二维平面坐标系;X、Y取值是bbox识别框的x值、bbox识别框的y值,Z是0 | ![]() |
1.5.2 通用抓取策略

- 参数说明
| 参数 | 说明 | 默认值 |
|---|---|---|
| 策略 | 选择依据哪个值进行分组排序以及如何排序,包括实例点云中心XYZ坐标值、包围盒长宽比、实例点云中心距离ROI中心等可叠加多条,按顺序依次执行 | 实例点云中心X坐标值从小到大(mm) |
| 分组步长 | 依据选择的策略、按照步长将实例划分为若干组,分组步长即两组实例之间的间隔如策略选择”实例点云中心Z坐标值从大到小(mm)“,则将所有实例点云中心的Z坐标从大到小排序,然后按照步长把Z坐标分组,相应的实例也划分为若干组 | / |
| 提取前几组 | 分组排序之后,需要保留多少组实例 | 10000 |
| 策略名* | 说明 | 分组步长 | 提取前几组 | |
|---|---|---|---|---|
| 默认值 | 取值范围 | 默认值 | ||
| 实例点云中心XYZ坐标值从大到小/从小到大(mm) | 使用每个实例的点云中心的XYZ坐标值来进行分组排序 使用该策略进行排序前应当先设置基准坐标系 | 200.000 | (0, 10000000] | 10000 |
| 从实例点云中心XY坐标轴向的中间到两侧/从实例点云中心XY坐标轴的两侧到中间(mm) | 使用每个实例的点云中心的 XY 坐标值,按照 “中间到两侧” 或 “两侧到中间” 的方向进行分组排序 使用该策略进行排序前应当先设置基准坐标系 | 200.000 | (0, 10000000] | 10000 |
| 包围盒中心XY坐标值从大到小/从小到大(mm) | 使用像素坐标系下,每个实例的包围盒中心点的XY 坐标值进行分组排序 | 200.000 | (0, 10000000] | 10000 |
| 包围盒长宽比从大到小/从小到大 | 使用包围盒的长边/宽边的比值进行分组排序 | 1 | (0, 10000] | 10000 |
| 从包围盒中心XY坐标轴向的中间到两侧/两侧到中间(mm) | 使用包围盒的中心点的XY坐标值,按照 “中间到两侧” 或 “两侧到中间” 的方向进行分组排序 | 200.000 | (0, 10000000] | 10000 |
| 工件类型ID从大到小/从小到大 | 使用工件类型的ID进行分组排序,适用于多类工件场景 | 1 | [1, 10000] | 10000 |
| 局部特征ID从大到小/从小到大 | 使用局部特征的ID进行分组排序 | 1 | [1, 10000] | 10000 |
| 置信度从大到小/从小到大 | 使用每个实例的置信度进行分组排序 | 1 | (0, 1] | 10000 |
| 可见度从小到大/从大到小 | 使用每个实例的可见度进行分组排序 | 1 | (0, 0.1] | 10000 |
| 掩膜面积从大到小/从小到大 | 使用每个实例的掩膜面积进行分组排序 | 10000 | [1, 10000000] | 10000 |
| 实例点云中心距离ROI中心近到远/远到近(mm) | 使用每个实例的点云中心与ROI坐标系的中心的距离进行分组排序 | 200.000 | (0, 10000000] | 10000 |
| 实例点云中心距离机器人坐标原点近到远/远到近(mm) | 使用每个实例的点云中心与机器人坐标系的原点的距离进行分组排序 | 200.000 | (0, 10000000] | 10000 |
- 示例
1.5.3 自定义抓取策略

(1)功能说明
将抓取策略切换为自定义抓取策略,点击 新增 可增加一条自定义抓取策略。
自定义每个工件按照什么顺序抓取,使用通用抓取策略很难实现抓取或者因为点云噪点等问题很难调到合适的参数,可以考虑使用自定义抓取策略
自定义抓取策略适用于拆垛场景、有序上下料场景,无序抓取场景不适用,因为自定义抓取策略的工件必须是有序的(即工件的顺序固定)
自定义抓取策略只能和单个通用抓取策略组合使用,且策略只能选择Z坐标从小到大
(2)参数说明
| 参数 | 说明 | 默认值 | 取值范围 | 调参 |
|---|---|---|---|---|
| IOU阈值 | 表示标注的bbox框和检测出来的bbox框的重叠度阈值,通过重叠度来确定当前工件实例排序时应该选择哪一张图片上的排序方式。 | 0.7 | [0,1] | 阈值越大,匹配越严格,抗干扰性会越差,微小的形状或位置变化都可能导致匹配失败,可能匹配到错误的自定义策略,按错误的顺序进行排序 |
| 像素距离阈值 | 表示可以匹配上的bbox框和检测出来的bbox框在尺寸上的差异性。 | 100 | [0,1000] | 阈值越小,匹配越严格,抗干扰性也会更好。如果不同层之间的工件摆放比较相似,也可能误匹配自定义策略,导致排序顺序错误。 |
(3)选择基准坐标系
使用自定义抓取策略,只能选择相机坐标系或像素坐标系
如果有多层工件,则选择相机坐标系;如果只有一层工件,则选择像素坐标系
(4)策略、分组步长、提取前几组
| 参数 | 说明 | 默认值 |
|---|---|---|
| 策略 | 只能选择实例点云中心Z坐标值从大到小/从小到大(mm) | / |
| 分组步长 | 依据Z坐标从小到大策略,将实例的Z坐标从小到大排序,按照步长将实例划分为若干组 | 10000 |
| 提取前几组 | 分组排序之后,需要保留多少组实例 | 10000 |
(5)拍照取图/添加本地图像
点击拍照取图从当前连接的相机获取图像,或点击添加本地图像从本地导入图像,有多少层或有多少种工件的不同摆放形式,就需要拍照取图或添加本地图像得到多少张图片,如果每一层相同,只需要一张即可。鼠标右键点击图像可删除。
在获取的图像上长按拖动鼠标左键标注bbox框,DELETE键可逐步删除标注的bbox框。
2. 3D计算
本节主要对影响抓取点生成的相关函数进行说明和调参建议
2.1 预处理
3D计算的预处理是在对实例进行姿态估计、生成抓取点之前对3D点云进行处理
2.1.1 点云聚类去噪

- 功能
通过点云聚类方式去除噪声
- 使用场景
实例点云中噪声较多
点云聚类去噪可能因为工件点云和噪声点云粘连而把部分工件点云过滤
- 参数说明
| 参数名 | 说明 | 默认值 | 取值范围 | 单位 | 调参建议 |
|---|---|---|---|---|---|
| 点云聚类的距离阈值(mm) | 判断空间中的点云是否为同一类别,点云之间的距离低于该阈值则为同一类别 | 5 | [0.1, 1000] | mm | 一般不需更改大于工件点云的点间距,小于工件点云与噪声点云的最小距离 |
| 最小点数阈值 | 小于该点数的点云簇将被过滤 | 100 | [1,10000000] | / | 一般不需更改根据实例点云中的噪声大小,调大 最小点数阈值 |
| 最大点数阈值 | 大于该点数的点云簇将被过滤 | 100000 | [1,10000000] | / | 一般不需更改如果工件点云数量大于100000,调大 最大点数阈值 |
| 选取ROI顶部点云 | 勾选则计算ROI坐标系下同一类别点云的Z坐标平均值并排序,保留Z坐标平均值最大的点云类别(顶部点云),不勾选则保留全部满足条件的点云 | 不勾选 | / | / | 如果工件点云在噪声点云之上,勾选则保留工件点云;如果工件点云在噪声点云之下,勾选的同时应当调整ROI坐标系的Z轴朝下,才能保留工件点云 |
| 可视化过程数据 | 勾选则保存去噪后的点云,可在C:_data | 不勾选 | / | / | 调试模式下,如需保存可视化数据可勾选 |
- 示例
(1)不使用点云聚类去噪,生成的实例点云如下图所示,实例0、1、2都有较多背景噪声



(2)勾选点云聚类去噪,使用默认值运行,如果聚类成功,实例点云中点云数量大于100、小于100000的类别都会保留,点云数量小于100或大于100000的类别会被过滤。查看日志可知,实例4、5、9聚类后点云数量均大于100小于100000,不过滤点云。



(3)调大最小点数阈值为400,实例4、5、9的噪声去除只保留第0类点云



(4)勾选 选取ROI顶部点云,只保留ROI坐标系下Z坐标平均值最大的点云类别。
如下图,实例7聚类后有5类点云,如果把最小点数阈值设置为400,则实例7的第3、4类点云被过滤,第0、1、2类点云被保留。


勾选 选取ROI顶部点云,实例7只保留第0类点云

如果噪声在上工件点云在下,应当在可视化视窗将ROI的Z轴调整向下,让工件点云的Z坐标平均值最大,保留工件点云,否则保留的顶部点云是噪声

(5)如果聚类失败,日志报错如下图,应当调大点云聚类的距离阈值,点云聚类的距离阈值应当大于工件点云的点间距,小于工件点云与噪声点云之间的最小距离

使用meshlab测量生成的实例点云中工件点云的点间距、工件点云与噪声点云的最小距离,如下图所示



如果工件点云数量大于最大点数阈值,那么可能因为点云数量大于100000全部被过滤,导致聚类失败,应当调大最大点数阈值
2.1.2 点云降采样

- 功能
按照指定的点间距来采样点云,以减少计算点的数量,提高模型推理速度,但精度可能下降
- 使用场景
实际场景点云数量过多,勾选点云降采样。
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 | 单位 |
|---|---|---|---|---|
| 降采样的点间距(mm) | 按照指定的点间距来采样点云 | 5.0 | [0.1, 1000] | mm |
调参
降采样的点间距取值越大,降采样后的点云数量越少,抓取点计算速度会加快,但精度可能下降
降采样的点间距取值越小,降采样后的点云数量越多,抓取点计算速度下降,精度提升
2.1.3 计算法向量

- 功能
计算点云法向量,供后续处理点云使用
- 参数说明
| 参数名 | 说明 | 默认值 | 取值范围 |
|---|---|---|---|
| 固定法向量朝向 | 计算点云法向量时是否固定朝向,启用后法向量由朝向参考向量决定 | 勾选 | / |
| 法向量计算邻域点数 | 数值越大,参考的邻域点越多,但可能导致局部变化被忽略,数值越小则相反 | 30 | [1,200] |
| 朝向参考向量 | 法向量计算朝向参考向量 | [0,0,1] | / |
- 调参
不能更改
2.1.4 点云轮廓提取

- 功能
从实例点云中提取工件轮廓
- 使用场景
使用 **2.2.2 物体姿态修正 **中的 **使用轮廓模式 **应同时勾选 点云轮廓提取
- 参数说明
| 参数名 | 说明 | 默认值 | 取值范围 | 单位 | 调参建议 |
|---|---|---|---|---|---|
| 参考半径(mm) | 在实例点云中提取轮廓的搜索半径 | 10 | [0.1,10000000000] | mm | 参考半径建议设置为 2.1.2点云降采样中降采样的点间距的1/2,且必须大于点云间距 |
| 点云轮廓搜索模式 | 搜索点云轮廓的模式 | 普通模式 | 普通模式;平面模式 | / | 一般选择普通模式,平面工件选择平面模式 |
- 示例
2.1.5 根据色域hsv(色调、饱和度、亮度)过滤点云

- 功能
根据点云图中的色调、饱和度、亮度过滤点云,筛选出与目标范围匹配的点云区域
- 参数说明
| 参数名 | 说明 | 默认值 | 取值范围 |
|---|---|---|---|
| 根据hsv过滤深度-色域最大值 | 过滤点云的最大颜色值 | [0.9,0.9,0.9] | [[0,0,0],[1,1,1]] |
| 根据hsv过滤深度-色域最小值 | 过滤点云的最小颜色值 | [0.0,0.0,0.0] | [[0,0,0],[1,1,1]] |
- 示例
2.1.6 根据三通颜色过滤点云

- 功能
根据三通颜色过滤点云,筛选出与目标范围匹配的点云区域
- 参数说明
| 参数名 | 说明 | 默认值 | 取值范围 |
|---|---|---|---|
| 根据三通颜色过滤点云-颜色最大值 | 过滤点云的最大颜色值 | [0.9,0.9,0.9] | [[0,0,0],[1,1,1]] |
| 根据三通颜色过滤深度-颜色最小值 | 过滤点云的最小颜色值 | [0.0,0.0,0.0] | [[0,0,0],[1,1,1]] |
- 示例
2.1.7 选取ROI区域内点云
- 功能
从实例点云中选取ROI 3D区域内点云,默认函数不可删除
- 示例
2.1.8 移除法线大于角度阈值的点

- 功能
去除法向量与标准法向量轴向的角度大于法向量角度阈值的点云
- 使用场景
面型工件上下料(物料相互孤立)
- 参数说明
| 参数名 | 说明 | 默认值 | 取值范围 | 单位 |
|---|---|---|---|---|
| 角度阈值 | 大于该角度阈值的点云认为是不同实例 | 15 | [-360, 360] | |
| 标准法向量轴向 | 点云的法向量与标准法向量轴向形成的角度 | Z轴 | X/Y/Z轴 | / |
| 是否使用ROI坐标系 | 勾选则计算法向量与ROI坐标系的轴之间的角度,不勾选则计算法向量与相机坐标系的轴之间的角度 | 不勾选 | / | / |
2.1.9 点云平面分割

- 功能
保留或去除实例点云中点云数量最大的平面
- 使用场景
实例点云中带有噪声平面
- 参数说明
| 参数 | 说明 | 默认值 | 取值范围 | 单位 | 调参建议 |
|---|---|---|---|---|---|
| 平面拟合的参考距离(mm) | 点与平面的距离低于参考距离则被认为是平面内的点,否则认为是平面外的点 | 3 | [0.001,10000] | mm | 一般不更改 |
| 去除平面 | 勾选则去除点云数量最大的平面,不勾选则保留点云数量最大的平面 | 不勾选 | / | / | 如果点云数量最大的平面是工件,则保留平面,不勾选;如果点云数量最大的平面是噪声,则去除平面,应勾选 |
2.1.10 点云去除离群点

- 功能
识别和去除点云中的离群点噪声,提高点云质量
- 使用场景
实例点云带有较多离群点噪声
- 参数说明
| 参数名 | 说明 | 默认值 | 取值范围 |
|---|---|---|---|
| 参考邻域点数 | 点云中每个点相邻的点的数量,即邻域大小稠密的点云,即使邻域较小也足以反映出工件的特征,因此可以取值较小;较稀疏的点云,需要较大的邻域才能反映出工件的特征,因此应当取值较大。 | 30 | [1, 10000000] |
| 标准差倍数 | 用于识别离群点噪声,如果点的坐标与实例点云的坐标平均值的偏差超过标准差倍数,则该点被认为是离群点。取值越小,更多的点被认为是离群点,去除的离群点也越多,但可能导致误判而去除了工件的重要特征;取值越大,更少的点被认为是离群点,去除的离群点也越少,但可能保留了一些离群点而影响工件识别准确度。 | 0.005 | [0.0001, 2] |
- 调参
一般不更改,若点云去除离群点后点云过于稀少,应当增大标准差倍数
- 示例
2.1.11 滤除物体距离超限的点云

- 功能
滤除指定方向上的点云,去除噪点,提升图像识别的准确度
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 | 单位 | 调参建议 |
|---|---|---|---|---|---|
| 指定轴 | 点云指定轴,用于滤除指定方向的点云 | Z轴 | X/Y/Z轴 | / | 指定轴一般无需更改 |
| 阈值(mm) | 在指定轴方向,若下层的点云与工件点云的距离大于该阈值,则下层点云会被滤除;若下层的点云与工件点云的距离小于该阈值,则下层点云会被保留 | 750 | [0, 1000] | mm | 根据实际场景调整阈值,阈值越大,滤除的点云越少;阈值越小,滤除的点云越多 |
| 选择坐标系 | 在选择的坐标系下滤除点云 | ROI坐标系 | 相机坐标系;ROI坐标系;物体自身坐标系 | / |
- 示例
2.1.12 根据点云优化掩膜
- 功能
基于ROI 3D内的点云,剔除掩膜中不在ROI 3D内的点云,提高掩膜的精确度
2.2 姿态估计

2.2.1 粗匹配评判阈值(mm)
- 功能
在粗匹配过程中,模板点云的关键点与模型对实例点云预测的关键点进行匹配,若匹配后两组关键点的平均距离低于评判阈值,则认为两组关键点能够匹配,若匹配后两组关键点的平均距离高于评判阈值则认为两组关键点不能匹配。
- 使用场景
通用工件有序上下料、通用工件无序抓取、通用工件定位装配场景
- 参数说明
默认值:10
取值范围:[1, 1000]
单位:mm
- 调参
通常不更改
- 示例
可在可视化视窗查看使用关键点进行粗匹配的结果,如下图所示。

2.2.2 物体姿态修正

精匹配搜索半径(mm)
- 功能
在精匹配过程中,模板点云与实例点云进行匹配,模板点云中每个点都需要在实例点云中搜索最邻近点。精匹配搜索半径既表示在实例点云中的搜索半径,又表示模板点云中的每个点与实例点云中的最邻近点的距离阈值。若点与最邻近点的距离小于精匹配搜索半径,则认为这两个点能够匹配,否则认为两个点不能匹配。
- 使用场景
通用工件有序上下料、通用工件无序抓取、通用工件定位装配场景
- 参数说明
默认值:10
取值范围:[1, 500]
单位:mm
- 调参
通常不更改
- 示例
可在可视化视窗查看精匹配结果,如下图所示。

精匹配搜索模式
- 功能
在精匹配过程中,模板点云在实例点云中搜索最邻近点的方式
- 使用场景
模板点云与实例点云的精匹配结果不佳,应调整该函数
- 参数说明
| 参数 | 说明 |
|---|---|
| 点到点 | 模板点云中的每个点在实例点云中搜索最邻近点(搜索半径内直线距离最短的点)适用于所有工件 |
| 点到面 | 模板点云中的每个点沿着其法向量在实例点云中搜索最邻近点适用于几何特征明显的工件 |
| 点到点和点到面两种方式结合 | 先采用点对点模式优化实例点云中的工件姿态,再采用点对面模式优化实例点云中的工件姿态适用于几何特征明显的工件
|
使用轮廓模式
- 功能
提取模板点云和实例点云中的轮廓点云进行粗匹配
- 使用场景
通用工件有序上下料、通用工件无序抓取、通用工件定位装配场景,若使用关键点进行粗匹配的结果不佳,应当勾选该函数使用轮廓点云再次进行粗匹配
- 调参
粗匹配的结果会影响精匹配结果,如果精匹配结果不佳,可勾选 使用使用轮廓
可在可视化视窗查看精匹配结果,如下图所示。

轮廓搜索范围(mm)
- 功能
在模板点云和实例点云中提取轮廓点云的搜索半径
- 使用场景
通用工件有序上下料、通用工件无序抓取、通用工件定位装配场景
- 参数说明
默认值:5
取值范围:[0.1, 500]
单位:m
- 调参
取值较小,搜索轮廓点云的半径较小,适合提取细致的工件轮廓,但提取的轮廓可能包含离群点噪声;
取值较大,搜索轮廓点云的半径较大,适合提取较宽的工件轮廓,但提取的轮廓可能会忽略一些细节特征。
保存姿态估计[精匹配]数据
- 功能
勾选则保存精匹配数据
- 使用场景
通用工件有序上下料、通用工件无序抓取、通用工件定位装配场景
- 示例
精匹配数据保存在项目保存路径\项目文件夹\data\PickLight\历史数据时间戳\Builder\pose\output文件夹中。

2.2.3 基于轴旋转的姿态调整

- 功能
将实例点云基于工件的第一个抓取点围绕给定轴旋转、平移,计算每次旋转、平移后的实例点云与模板点云的匹配分数,选择匹配分数最高的实例点云作为旋转对称工件的最终姿态。
- 使用场景
旋转对称工件的实例点云与模板点云进行匹配时出现偏差,需要旋转一定角度才能完全匹配
不能与功能选项的识别类型、识别正反(通过点云模板)、识别局部特征联用
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 | 调参建议 |
|---|---|---|---|---|
| 旋转角度间隔 | 对实例点云进行等间隔角度的旋转,相邻两次旋转之间的角度差值。比如第一次旋转30°、第二次旋转60°、第三次旋转90°,则旋转角度间隔为30°。 | 5 | \[1, 180\] | 若工件特征较多匹配较难,追求高精度匹配,可设置较小的角度间隔,进行更多次匹配,但计算量会增加。若工件形状简单特征较少,可设置较大的角度间隔,提高计算效率。 |
| 旋转角度范围 | 实例点云从初始状态开始,能旋转多大的角度范围。 | 90 | \[1, 180\] |
|
| 模板点云文件路径 | 上传工件的模板点云文件,不上传则使用在工件界面上传的点云模板 | / | / | |
| 评估模式 | 从不同角度评估匹配结果好坏 | Iso-target | Iso-target;Iso-source;Average;Strict;Loose;Fast |
|
| ICP阈值 | 判断配准是否成功的标准,匹配结果误差小于该阈值则匹配成功,匹配结果误差大于该阈值则匹配不成功 | 0.005 | \[0.000001, 1\] | 一般不更改若实际场景对匹配精度要求较高,则调小该阈值;若实际场景对匹配速度要求较高而对精度要求较低,则调大该阈值。若工件点云质量较好,可调小该阈值;若工件点云质量较差,可调大该阈值。 |
| 旋转轴选择 | 实例点云围绕该轴旋转 | Z轴 | X/Y/Z轴 | 一般不更改若旋转对称工件的某条轴对识别工件姿态很重要,可将旋转轴设置为该特征轴 |
| 保存可视化数据 | 是否保存可视化数据 | 不勾选 | / | |
| 使用边缘进行优化 | 使用工件的边缘轮廓优化匹配,减少匹配结果误差,使实例点云和模板点云匹配更精细 | 不勾选 | / | 若工件的边缘轮廓具有独特的几何特征,勾选该函数提升匹配精度,比如形状复杂的工件,边缘轮廓差异大,使用边缘轮廓的点云可以更准确地识别工件姿态。 |
| 边缘点云文件路径 | 上传工件的边缘点云文件,不上传则从工件界面上传的点云模板中提取边缘点云 | / | / | |
| 优化旋转结果 | 匹配过程中找到最佳姿态后再次优化,减少匹配结果误差,使实例点云和模板点云匹配更精细 | 勾选 | / | 默认勾选以提高匹配精度,一般不更改 |
| 优化模式 | 优化匹配结果的模式 | Point | Point;Plane;Full |
|
| 优化阈值 | 在优化过程中,判断配准是否达到预期精度的标准。配准误差小于该阈值,则优化成功;配准误差大于该阈值,则优化失败需要继续迭代。 | 0.002 | \[0.0001, 1\] | 一般不更改对配准精度要求较高的场景,调小该阈值;对配准精度要求较低的场景,调大该阈值。 |
| 启用中心移动模式 | 开启则会同时加入平移模式,对实例点云旋转的同时叠加平移 | 不勾选 |
| |
| x 轴移动范围 | 中心移动模式沿抓取点 x 轴移动的范围(mm) | 0 | \[0,100\] |
|
| x 轴移动步长 | 中心移动模式沿抓取点 x 轴移动的步长(mm) | 2 | \[0.01,10\] | 步长需根据偏移情况以及精度合理设置,设置过小的步长将导致节拍增加较多 |
| y 轴移动范围 | 中心移动模式沿抓取点 y 轴移动的范围(mm) | 0 | \[0,100\] |
|
| y 轴移动步长 | 中心移动模式沿抓取点 y 轴移动的步长(mm) | 2 | \[0.01,10\] | 步长需根据偏移情况以及精度合理设置,设置过小的步长将导致节拍增加较多 |
| z 轴移动范围 | 中心移动模式沿抓取点 z 轴移动的范围(mm) | 0 | \[0,100\] |
|
| z 轴移动步长 | 中心移动模式沿抓取点 z 轴移动的步长(mm) | 2 | \[0.01,10\] | 步长需根据偏移情况以及精度合理设置,设置过小的步长将导致节拍增加较多 |
- 示例



轴向匹配偏移

增加中心移动模式之后
- 基于轴旋转的姿态调整所评估的姿态数目说明
总的姿态计算数目 = x 轴移动的点位数目 * y 轴移动的点位数目 * z 轴移动的点位数目 * 角度的点位数目
移动范围过大或步长设置过小将导致需要评估的姿态总数目增多,节拍变长,需合理设置范围以及步长参数
2.3 空ROI判断

- 功能
判断ROI 3D内是否还有工件(点云)剩余,如果ROI 3D内的3D点的数量小于该值,表示没有工件点云剩余,此时不返回点云
- 参数说明
默认值:1000
取值范围:[0, 100000]
- 使用流程
设置ROI 3D最小点数判断阈值,小于该阈值即ROI 3D中工件点云不足,从而判断为无工件在ROI 3D中;
机器人配置中,新增视觉状态码,便于后续机器人进行信号处理。
3. 抓取点处理
本节主要对抓取点过滤和调整相关函数进行说明和调参建议
3.1 抓取点调整

3.1.1 当位姿不在角度范围内时,旋转位姿

- 功能介绍
当位姿不在设定的角度范围内时,将位姿绕固定轴逆时针旋转一定角度,若旋转后仍不在设定的角度范围内,则会发出警告。
- 使用场景
仅适用于拆垛场景,该函数可使机器人抓取时的方向保持稳定,避免抓取过程中出现末端工具反复旋转 180° 的情况,可防止绕线等异常。
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 | 单位 |
|---|---|---|---|---|
| 固定轴 | 抓取姿态的某个轴,将位姿绕该固定轴逆时针旋转 | Z轴 | X/Y/Z轴 | / |
| 旋转角度 | 位姿绕固定轴逆时针旋转的角度,通过调整旋转角度使抓取姿态满足角度范围 | 0 | [-360,360] | 角度 |
| 角度范围 | 抓取姿态的角度范围,根据物料的摆放情况、末端工具类型以及节拍等因素设置角度范围 | [0,180] | [-180,180] | 角度 |
| 使用当前机器人欧拉角 | 默认使用欧拉角“XYZ”进行位姿计算,勾选后使用当前机器人配置的欧拉角,可使位姿与机器人示教器保持一致。 | 不勾选 | / | / |
| 自定义坐标系 | 抓取位姿所在的坐标系 | 机械臂坐标系 | 默认坐标系;相机坐标系;ROI坐标系;机械臂坐标系 | / |
- 示例
3.1.2 旋转位姿,使旋转轴方向与目标轴方向一致

- 功能介绍
位姿绕固定轴旋转一次,并使旋转轴(根据右手定则确定)的方向与目标坐标系的目标轴正方向或负方向一致。
使用场景
- 使用场景
避免机器人末端工具与料框发生碰撞
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 |
|---|---|---|---|
| 旋转轴 | 抓取位姿的某个轴,根据右手定则确定,抓取位姿绕固定轴逆时针旋转一次,使旋转轴的方向与目标坐标系的目标轴正方向或负方向一致 | X轴 | X/Y/Z轴 |
| 固定轴 | 抓取位姿绕固定轴逆时针旋转一次,使旋转轴的方向与目标坐标系的目标轴正方向或负方向一致 | Z轴 | X/Y/Z轴 |
| 目标轴 | 目标坐标系的某个轴,抓取位姿绕固定轴逆时针旋转一次,使旋转轴的方向与目标坐标系的目标轴正方向或负方向一致 | X轴 | X/Y/Z轴 |
| 目标轴负方向 | 勾选则使旋转轴的方向与目标坐标系的目标轴负方向一致,不勾选则使旋转轴的方向与目标坐标系的目标轴正方向一致 | 不勾选 | / |
| 自定义坐标系 | 抓取位姿所在的坐标系 | 默认坐标系 | 默认坐标系;相机坐标系;ROI坐标系;机械臂坐标系 |
- 示例
3.1.3 旋转位姿,使旋转轴与目标轴夹角最小

- 功能介绍
将位姿绕固定轴分别旋转0、90、180、270度,分别计算旋转后的旋转轴与相机坐标系的目标轴正方向或负方向之间的夹角,最终输出旋转后夹角最小的位姿。
- 使用场景
避免机器人末端工具与料框发生碰撞
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 |
|---|---|---|---|
| 固定轴 | 抓取位姿的某个轴,将位姿绕该固定轴逆时针旋转 | Z轴 | X/Y/Z轴 |
| 旋转轴 | 抓取姿态的某个轴,旋转位姿时计算该旋转轴与目标轴正方向或负方向之间的夹角 | X轴 | X/Y/Z轴 |
| 目标轴 | 相机坐标系的某个轴,旋转位姿时计算旋转轴与该目标轴正方向或负方向之间的夹角 | X轴 | X/Y/Z轴 |
| 目标轴负方向 | 勾选则计算旋转轴与目标轴的负方向之间的夹角,不勾选则计算旋转轴与目标轴的正方向之间的夹角 | 勾选 | / |
| 自定义坐标系 | 抓取位姿所在的坐标系 | 默认坐标系 | 默认坐标系;相机坐标系;ROI坐标系;机械臂坐标系 |
- 示例
3.1.4 翻转位姿,使旋转轴与目标轴夹角最小

- 功能介绍
将抓取位姿绕固定轴旋转一次,使旋转轴与 ROI 坐标系中的目标轴的正方向或负方向之间形成的夹角是锐角。
- 使用场景
避免机器人末端工具与料框发生碰撞
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 |
|---|---|---|---|
| 固定轴 | 抓取位姿的某个轴,将位姿绕该固定轴逆时针旋转 | Z轴 | X/Y/Z轴 |
| 旋转轴 | 抓取位姿的某个轴,旋转位姿使该旋转轴的方向与目标轴的正方向或负方向一致 | X轴 | X/Y/Z轴 |
| 目标轴 | ROI坐标系中的某个轴,旋转位姿使旋转轴的方向与该目标轴的正方向或负方向一致 | X轴 | X/Y/Z轴 |
| 目标轴负方向 | 勾选则旋转位姿使旋转轴的方向与目标轴的负方向一致,不勾选则旋转位姿使旋转轴的方向与目标轴的正方向一致 | 勾选 | / |
| 自定义坐标系 | 抓取位姿所在的坐标系 | 默认坐标系 | 默认坐标系;相机坐标系;ROI坐标系;机械臂坐标系 |
- 示例
3.1.5 将位姿的轴指向 ROI 中心

- 功能
将抓取位姿绕固定轴旋转,使抓取位姿的指向轴指向ROI 中心。
- 使用场景
避免机器人末端工具与料框发生碰撞
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 |
|---|---|---|---|
| 指向轴 | 抓取位姿中需要调整的轴 | X轴 | X/Y/Z轴 |
| 固定轴 | 旋转时不变的轴 | Z轴 | X/Y/Z轴 |
| 反向对齐 | 勾选则将指向轴反向对齐roi中心,不勾选则将指向轴对齐roi中心 | 勾选 | / |
| 严格指向 | 勾选则强制旋转抓取位姿,使指向轴指向ROI中心 | 不勾选 | / |
| 自定义坐标系 | 抓取位姿所在的坐标系 | 默认坐标系 | 默认坐标系;相机坐标系;ROI坐标系;机械臂坐标系 |
- 示例
3.1.6 旋转位姿,使Z轴方向与目标坐标系的Z轴一致

- 功能介绍
旋转位姿,使位姿的Z轴方向与目标坐标系的Z轴一致
- 使用场景
通常仅在拆垛场景默认使用且不可删除,需要使抓取位姿的Z轴垂直于ROI坐标系的Z轴(四轴)或者与工件表面方向一致(六轴)
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 |
|---|---|---|---|
| 机器人构型 | 根据现场的机器人构型设置,可选四轴或六轴如果把六轴机器人实际当作四轴机器人使用,应设置为 四轴 | 四轴 | 四轴/六轴 |
| 使用 ROI Z轴作为目标方向 | 当机器人构型选择四轴时,勾选后则会将位姿绕X轴旋转,使旋转后的位姿Z轴方向与 ROI Z轴正方向 一致;不勾选则会将位姿绕X轴旋转,使旋转后的位姿Z轴方向与 相机坐标系的Z轴正方向 一致当机器人构型选择六轴时,无论勾选与否,均会将位姿绕X轴旋转,使旋转后的位姿Z轴方向与 物体自身坐标系的Z轴正方向 一致 | 不勾选 | / |
| 自定义坐标系 | 抓取位姿所在的坐标系 | 相机坐标系 | 默认坐标系;相机坐标系;ROI坐标系;机械臂坐标系 |
- 示例
3.1.7 绕固定轴旋转位姿

- 功能介绍
将位姿绕固定轴旋转一定角度。
- 使用场景
避免机器人末端工具与料框发生碰撞
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 | 单位 |
|---|---|---|---|---|
| 旋转角度 | 位姿绕固定轴逆时针旋转的角度 | 90 | [-360, 360] | 角度° |
| 固定轴 | 抓取位姿的某个轴,将位姿绕该固定轴逆时针旋转 | Z轴 | X/Y/Z轴 | / |
| 自定义坐标系 | 抓取位姿所在的坐标系 | 默认坐标系 | 默认坐标系;相机坐标系;ROI坐标系;机械臂坐标系 | / |
- 示例
3.1.8 平移位姿

- 功能介绍
将位姿沿平移轴移动一定距离。
- 使用场景
避免机器人末端工具与料框发生碰撞
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 | 单位 |
|---|---|---|---|---|
| 平移量 | 位姿沿平移轴移动的距离,平移量取值为正数表示向平移轴的正方向平移,平移量取值为负数表示向平移轴的负方向平移 | 0 | [-1.0,1.0] | m |
| 平移轴 | 位姿移动的方向 | X轴 | X/Y/Z轴 | / |
| 自定义坐标系 | 抓取位姿所在的坐标系 | 机械臂坐标系 | 默认坐标系;相机坐标系;ROI坐标系;机械臂坐标系 | / |
- 示例
3.1.9 抓取点示教

- 功能介绍
记录软件生成的抓取点坐标以及该工况下示教出来的抓取点坐标,利用两者的偏差输出转换后的抓取姿态。
- 使用场景
系统视觉生成抓取点明显存在有规律的偏差,机器人本体TCP坐标精度有限或难以标定时,可以用此方法直接按照规律的偏差映射到后续的抓取点,从而避开机器人TCP的标定
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 |
|---|---|---|---|
| 视觉位姿 | 检测结果的抓取坐标 | ||
| X(mm) | 视觉位姿X坐标 | 0.00 | ±10000000,表示不设限。 |
| Y(mm) | 视觉位姿Y坐标 | 0.00 | ±10000000,表示不设限。 |
| Z(mm) | 视觉位姿Z坐标 | 0.00 | ±10000000,表示不设限。 |
| RX(°) | 视觉位姿X轴旋转量 | 0.00 | ±180 |
| RY(°) | 视觉位姿Y轴旋转量 | 0.00 | ±180 |
| RZ(°) | 视觉位姿Z轴旋转量 | 0.00 | ±180 |
| 抓取位姿 | 手动示教的抓取点 | ||
| X(mm) | 抓取位姿X坐标 | 0.00 | ±10000000,表示不设限。 |
| Y(mm) | 抓取位姿Y坐标 | 0.00 | ±10000000,表示不设限。 |
| Z(mm) | 抓取位姿Z坐标 | 0.00 | ±10000000,表示不设限。 |
| RX(°) | 抓取位姿X轴旋转量 | 0.00 | ±180 |
| RY(°) | 抓取位姿Y轴旋转量 | 0.00 | ±180 |
| RZ(°) | 抓取位姿Z轴旋转量 | 0.00 | ±180 |
3.1.10 根据平面法线细化姿态函数

- 功能介绍
通过拟合平面的法线来校正工件的姿态,使工件姿态的Z轴方向与工件平面法线的方向保持一致
- 使用场景
工件中有平面,模板点云与实例点云匹配时平面的倾斜角度有偏差,使用该函数微调工件平面,提高抓取精度
不适用于拆垛场景
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 | 单位 |
|---|---|---|---|---|
| 距离阈值 | 点云拟合平面的距离阈值 | 0.01 | [-1, 1] | m |
| 保存可视化数据 | 勾选则将可视化数据保存到历史数据时间戳下 | 勾选 | / | / |
| 自定义坐标系 | 抓取位姿所在的坐标系 | 相机坐标系 | 默认坐标系;相机坐标系;ROI坐标系;机械臂坐标系 | / |
- 示例
3.1.11 基于轴间角度排序抓取点

- 功能
根据抓取位姿的某个轴与ROI的目标轴之间的夹角大小,对抓取点进行排序
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 |
|---|---|---|---|
| 轴选择 | 抓取位姿的某个轴 | Z轴 | X/Y/Z轴 |
| 目标轴选择 | ROI坐标系的某个轴 | Z轴 | X/Y/Z轴 |
| 选择反向 | 勾选则与目标轴负方向计算夹角,不勾选则与目标轴正方向计算夹角 | 不勾选 | / |
| 选择降序 | 勾选则根据夹角从小到大对抓取点进行排序,不勾选则根据夹角从大到小对抓取点进行排序 | 不勾选 | / |
3.1.12 【大师】旋转位姿,自动补偿与指定轴夹角过大的抓取姿态角度

- 功能介绍
判断抓取姿态的指定轴与目标轴形成的夹角角度是否在指定范围内,若不在则调整抓取姿态至指定范围内
- 使用场景
避免机器人末端工具与料框发生碰撞
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 | 单位 |
|---|---|---|---|---|
| 角度范围 | 将抓取姿态调整至角度范围内 | 30 | [0, 180] | 角度° |
| 指定轴 | 抓取姿态的某个轴,将该轴调整至与roi坐标系的目标轴在角度范围内 | Z轴 | X/Y/Z轴 | / |
| 目标轴 | roi坐标系的某个轴,与抓取姿态的指定轴进行角度范围对比 | Z轴 | X/Y/Z轴 | / |
| 与roi的负半轴进行对比 | 不勾选则与roi坐标系的目标轴的正方向进行角度范围对比,勾选则与roi坐标系的目标轴的负方向进行角度范围对比 | 不勾选 | / | / |
| 自定义坐标系 | 抓取位姿所在的坐标系 | 默认坐标系 | 默认坐标系;相机坐标系;ROI坐标系;机械臂坐标系 | / |
3.1.13 【大师】对称中心姿态优化

- 功能
基于实例掩膜搜索工件的对称中心,结合实例的平面或ROI 3D中心点的姿态,计算最优抓取位姿
使用此函数前,应先确保实例掩膜是对称的
- 使用场景
适用于对称工件的实例掩膜也对称,但抓取点位姿不在期望中心附近的情况;同时,工件有可参考的平面,比如物体顶部有平面,或者存在ROI 3D可作为投影姿态参考。
可参考的项目场景有:刹车盘(通用圆)、耐火砖(拆垛)、对称的异形件、加油口等等。
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 | 调参建议 |
|---|---|---|---|---|
| 对称中心类型 | 实例掩膜的对称类型 | 旋转对称 | 旋转对称:工件绕中心点旋转一定角度后,形状与原位置完全重合;镜像对称:工件以某个轴 / 平面为镜面,左右或上下两边完全对称。 | 圆形、矩形既是旋转对称的又是镜像对称的,优先使用旋转对称;梯形等仅沿某轴或平面两边对称的,选镜像对称。 |
| 高斯模糊程度 | 判断实例点云旋转后是否重合的宽容程度 | 3 | \[1,99\] |
|
| 旋转角度设置 | 当对称模式为旋转对称时,表示旋转角度间隔,即相邻两次旋转之间的角度差值。当对称模式为镜像对称时,表示旋转范围,即点云围绕对称轴可旋转的角度区间。 | 180 | \[1,360\] |
|
| 图像缩放比例 | 调整点云图的大小。该比例越大,点云图尺寸变小,占用显存降低,但图像细节损失大,导致计算精度降低 。 | 2 | \[1,10000000\] | |
| 搜索范围 | 基于初始确定的工件中心向外扩展搜索点云特征的范围,实际范围为(搜索范围*2*图像缩放比例) | 10 | \[1,10000000\] | 比如一个正方形工件,初始确定的工件中心位置是点O。如果设置搜索范围为10,图像缩放比例为1,那么实际搜索范围就是以点O为中心,边长为10×2×1=20的正方形区域。在这个区域内搜索点云特征,进一步确定工件的对称中心以及最优抓取位姿。再比如一个圆形工件,若搜索范围设为8,图像缩放比例为2,则实际搜索范围是以初始确定的工件中心为圆心、直径为8×2×2=32的圆形区域内,在这个区域内搜索点云特征,进一步确定工件的姿态以及最优抓取位姿。 |
| 使用ROI3D作为参考投影平面 | 勾选则将ROI3D作为参考投影平面 | 不勾选 | / | 点云无明显平面,难以确定投影平面时勾选;点云有清晰平面则不勾选。 |
| 保存对称中心过程数据 | 勾选则保存对称中心过程调试数据,可在项目文件夹`\项目名称`{=tex}`\data`{=tex}`\PickLight`{=tex}`\历史数据时间戳`{=tex}`\find`{=tex}\_symmetry_center文件夹查看 | 不勾选 | / | 需要检查具体过程图像时勾选 |
| 对称轴先验类型 | ``{=html}镜像对称``{=html}模式下生效,指定工件已知的对称类型,固定非对称朝向 | 自动搜索 | 自动搜索沿长轴对称沿短轴对称 | 工件的对称轴是长轴,选择 "沿长轴对称" 工件的对称轴是短轴,选择 "沿短轴对称" 不确定时,选择 "自动搜索" |
| 姿态调整类型 | 是否继承输入姿态相关信息 | 默认姿态 | 默认姿态继承旋转继承平移 | / |
| 对称分数阈值 | 对称分数小于该阈值的对称结果为异常结果,设置0时不过滤 | 0.0 | \[0.0, 1.0\] | / |
3.2 抓取点过滤

3.2.1 基于精匹配分数过滤

- 功能介绍
基于姿态精匹配分数过滤抓取点
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 |
|---|---|---|---|
| 分数阈值 | 保留精匹配分数大于该阈值的抓取点 | 0.5 | [0, 1] |
- 示例
3.2.2 过滤被遮挡工件的抓取点

- 功能介绍
判断抓取工件的抓取点在ROI指定轴或抓取姿态轴向上的目标检测区域内,是否存在过多的遮挡物点云,若存在则判定为存在遮挡物,并过滤该抓取点。
- 使用场景
适用于拆垛和有序场景中,按层抓取工件,但模型识别到下层工件,抓取下层工件时夹具会与上层工件发生碰撞
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 | 单位 |
|---|---|---|---|---|
| 长方体X方向长度 | 设置长方体在抓取姿态的X方向长度 | 1500 | [1, 10000] | mm |
| 长方体Y方向长度 | 设置长方体在抓取姿态的Y方向长度 | 1500 | [1, 10000] | mm |
| 长方体Z方向长度 | 设置长方体在抓取姿态的Z方向长度 | 800 | [1, 10000] | mm |
| 检测区域与抓取点原点距离阈值 | ROI轴向上,距离抓取点原点超过该距离阈值的长方体表面近邻区域,被认为是目标检测区域 | 50 | [1, 1000] | mm |
| 检测区域内点云数量阈值 | 目标检测区域内遮挡物点云数量超过该阈值,则认为该抓取点被遮挡 | 1000 | [0, 100000] | / |
| 指定轴向 | 基于姿态基准指定轴向,设定目标检测区域在长方体空间内的具体方位(如长方体前/后/左/右/上/下表面的近邻区域) | [0,0,-1] | [1,0,0]:X轴正方向[-1,0,0]:X轴负方向[0,1,0]:Y轴正方向[0,-1,0]:Y轴负方向[0,0,1]:Z轴正方向[0,0,-1]:Z轴负方向 | / |
| 使用ROI 3D姿态基准 | 勾选则根据ROI 3D姿态基准调整碰撞检测区域 | 不勾选 | / | / |
| 保存可视化数据 | 勾选则根据保存数据路径来存储可视化的数据,用于观察长方体生成是否合理,不勾选则不保存 | 不勾选 | / | / |
- 示例
3.2.3 基于抓取姿态角度范围过滤

- 功能介绍
判断抓取姿态的角度是否在约束的角度范围内,过滤所有不满足条件的抓取点。
- 使用场景
防止机械臂抓取姿态的角度异常导致发生碰撞。
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 | 单位 |
|---|---|---|---|---|
| 角度过滤阈值 | 计算ROI 的指定轴与抓取姿态的指定轴之间的最大夹角,夹角大于当前阈值的抓取点将被过滤 | 30 | [-360, 360] | 角度° |
| ROI指定轴向取反 | 勾选则使用ROI指定轴的负方向进行角度计算,不勾选则使用ROI指定轴的正方向进行角度计算 | 勾选 | / | / |
| 抓取姿态指定轴 | 指定抓取位姿的某个轴计算夹角 | Z轴 | X/Y/Z轴 | / |
| ROI指定轴 | 指定ROI坐标系的某个轴计算夹角 | Z轴 | X/Y/Z轴 | / |
- 示例
3.2.4 过滤ROI 3D类型区外的抓取点

- 功能介绍
判断抓取点是否在ROI 3D的范围内,去除不在ROI 3D区域内的抓取点。
- 使用场景
防止抓取超出ROI区域,导致机械臂与目标物体发生碰撞。
- 参数说明
| 参数 | 说明 | 默认值 |
|---|---|---|
| ROI3D类型区 | 通常为”工作区”;“抓取区”是比”工作区”更小的ROI区域,可将抓取点限制在比”工作区”更小的ROI区域内,避免一些碰撞情况的发生。 | 工作区 |
3.2.5 过滤工件与夹具存在碰撞的抓取点

- 功能介绍
夹具和抓取点附近点云的碰撞检测,与夹具接触的点云数量超过抓取碰撞阈值,则判定该工件的抓取点存在碰撞风险
- 使用场景
需要判断夹具和抓取工件附近点云的碰撞检测
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 |
|---|---|---|---|
| 抓取碰撞阈值 | 夹具在抓取点附近可以包含的最大点云数量,比如20,即夹具包含场景点云的数量超过20就认为是碰撞 | 20 | 0-10000 |
| 碰撞点云采样(m) | 碰撞区域点云降采样的大小。值越大,检测速度越快,但精度会降低。适用场景:高节拍需求场景 | 0.002 | 0.0001 - 0.5000 |
| 保存夹具碰撞检测的可视化数据 | 保存夹具与抓取工件碰撞检测的可视化数据 | 不勾选 | 勾选/不勾选 |
| 导入夹具模型 | 在文件夹中选择并导入用于碰撞检测的夹具模型 | / | / |
**夹具应该做简化处理,面片数量少于500**
- 示例
3.2.6【大师】保留实例抓取点中姿态值最大/小的一个抓取点,过滤剩余抓取点

- 功能介绍
将姿态转换到指定坐标系,根据指定排序轴的数值对姿态进行排序,保留最大或最小的姿态,适用于圆柱工件保留顶部或底部的抓取点
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 |
|---|---|---|---|
| 指定坐标系 | 选择要将姿态转换到哪个坐标系进行处理 | ROI坐标系 | ROI坐标系/相机坐标系 |
| 指定排序轴 | 选择要按姿态的哪个轴的数值进行排序 | Z轴 | X/Y/Z轴 |
| 取最小值 | 勾选则保留排序轴最小值的姿态,不勾选则保留排序轴最大值的姿态 | 不勾选 | / |
- 示例
3.2.7 【大师】过滤与前N次抓取点相近的抓取点

- 功能介绍
若当前抓取点与缓存中的任一抓取点的变化量在阈值范围内,则该抓取点将被过滤
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 | 单位 |
|---|---|---|---|---|
| 抓取点变化量上限(+) | ||||
| X(mm) | X坐标上限 | 2 | [0, 10000000] | mm |
| Y(mm) | Y坐标上限 | 2 | [0, 10000000] | mm |
| Z(mm) | Z坐标上限 | 2 | [0, 10000000] | mm |
| RX(°) | RX旋转量上限 | 1 | [0, 180] | 角度° |
| RY(°) | RY旋转量下限 | 1 | [0, 180] | 角度° |
| RZ(°) | RZ旋转量下限 | 1 | [0, 180] | 角度° |
| 抓取点变化量下限(-) | ||||
| X(mm) | X坐标下限 | 2 | [0, 10000000] | mm |
| Y(mm) | Y坐标下限 | 2 | [0, 10000000] | mm |
| Z(mm) | Z坐标下限 | 2 | [0, 10000000] | mm |
| RX(°) | RX旋转量下限 | 1 | [0, 180] | 角度° |
| RY(°) | RY旋转量下限 | 1 | [0, 180] | 角度° |
| RZ(°) | RZ旋转量下限 | 1 | [0, 180] | 角度° |
| 抓取点缓存个数 | 缓存的抓取点个数,当前抓取点比较完成后将实时增加到缓存中 | 5 | [1, 100] | / |
3.2.8 【大师】过滤与前N次工件姿态相近的工件姿态

- 功能介绍
若当前工件姿态与缓存中的任一工件姿态的变化量在阈值范围内,则该工件姿态将被过滤;当工件姿态判定相似,工件上的所有抓取点都会被过滤
- 参数说明
| 参数 | 说明 | 默认值 | 参数范围 | 单位 |
|---|---|---|---|---|
| 工件姿态变化量上限(+) | ||||
| X(mm) | X坐标上限 | 2 | [0, 10000000] | mm |
| Y(mm) | Y坐标上限 | 2 | [0, 10000000] | mm |
| Z(mm) | Z坐标上限 | 2 | [0, 10000000] | mm |
| RX(°) | RX旋转量上限 | 1 | [0, 180] | 角度° |
| RY(°) | RY旋转量下限 | 1 | [0, 180] | 角度° |
| RZ(°) | RZ旋转量下限 | 1 | [0, 180] | 角度° |
| 工件姿态变化量下限(-) | ||||
| X(mm) | X坐标下限 | 2 | [0, 10000000] | mm |
| Y(mm) | Y坐标下限 | 2 | [0, 10000000] | mm |
| Z(mm) | Z坐标下限 | 2 | [0, 10000000] | mm |
| RX(°) | RX旋转量下限 | 1 | [0, 180] | 角度° |
| RY(°) | RY旋转量下限 | 1 | [0, 180] | 角度° |
| RZ(°) | RZ旋转量下限 | 1 | [0, 180] | 角度° |
| 工件姿态缓存个数 | 缓存的视觉工件姿态个数,当前工件姿态比较完成后将实时增加到缓存中 | 5 | [1, 100] | / |
3.2.9 【大师】过滤抓取坐标上下限外的抓取点

- 功能介绍
保留某个参考抓取点指定范围内的其他抓取点,过滤异常抓取点。
- 使用场景
防止机械臂误抓取,保证抓取准确度。
该函数不适用于拆垛场景
- 参数说明
| 参数 | 说明 | 默认值 | 单位 |
|---|---|---|---|
| 参考抓取坐标 | |||
| X(mm) | 参考抓取点的X坐标 | 0 | mm |
| Y(mm) | 参考抓取点的Y坐标 | 0 | mm |
| Z(mm) | 参考抓取点的Z坐标 | 0 | mm |
| RX(°) | 参考抓取点的RX旋转量 | 0 | 角度 |
| RY(°) | 参考抓取点的RY旋转量 | 0 | 角度 |
| RZ(°) | 参考抓取点的RZ旋转量 | 0 | 角度 |
| 抓取坐标上限(+) | |||
| X(mm) | X坐标的上限, 例如参考抓取点的X坐标为100, 上限设置为10, 则允许的范围为: [100-下限, 110] | 10000000,表示不设限。 | mm |
| Y(mm) | Y坐标的上限, 例如参考抓取点的Y坐标为100, 上限设置为10, 则允许的范围为: [100-下限, 110] | 10000000 | mm |
| Z(mm) | Z坐标的上限, 例如参考抓取点的Z坐标为100, 上限设置为10, 则允许的范围为: [100-下限, 110] | 10000000 | mm |
| RX(°) | RX旋转量的上限, 例如参考抓取点的RX旋转量为180, 上限设置为10, 则允许的范围为(默认度数会跳变): [[-180, -170], [180-下限, 180]] | 180,表示不设限。 | 角度° |
| RY(°) | RY旋转量的上限, 例如参考抓取点的RY旋转量为180, 上限设置为10, 则允许的范围为(默认度数会跳变): [[-180, -170], [180-下限, 180]] | 180 | 角度° |
| RZ(°) | RZ旋转量的上限, 例如参考抓取点的RZ旋转量为180, 上限设置为10, 则允许的范围为(默认度数会跳变): [[-180, -170], [180-下限, 180]] | 180 | 角度° |
| 抓取坐标下限(-) | |||
| X(mm) | X坐标的下限, 例如参考抓取点的X坐标为100, 下限设置为10, 则允许的范围为: [100-下限值, 110] | 10000000 | mm |
| Y(mm) | Y坐标的下限, 例如参考抓取点的Y坐标为100, 下限设置为10, 则允许的范围为: [100-下限, 110] | 10000000 | mm |
| Z(mm) | Z坐标的下限, 例如参考抓取点的Z坐标为100, 下限设置为10, 则允许的范围为: [100-下限, 110] | 10000000 | mm |
| RX(°) | RX旋转量的下限, 例如参考抓取点的RX旋转量为180, 下限设置为10, 则允许的范围为(默认度数会跳变): [[-180, -180+上限], [170, 180]] | 180,表示不设限。 | 角度° |
| RY(°) | RY旋转量的下限, 例如参考抓取点的RY旋转量为180, 下限设置为10, 则允许的范围为(默认度数会跳变): [[-180, -180+上限], [170, 180]] | 180 | 角度° |
| RZ(°) | RZ旋转量的下限, 例如参考抓取点的RZ旋转量为180, 下限设置为10, 则允许的范围为(默认度数会跳变): [[-180, -180+上限], [170, 180]] | 180 | 角度° |
- 示例
3.3 抓取点排序

- 功能介绍
根据选择的策略对抓取点进行分组、排序、提取
- 使用场景
无序抓取场景、有序上下料场景通用
如果不需要排序,可以不配置具体的策略。
3.3.1 基准坐标系

- 功能介绍
为所有抓取点设定一个统一的坐标系,进行抓取点的分组排序
- 使用场景
拆垛场景、无序抓取场景、有序上下料场景通用
使用坐标相关的策略应当先设置基准坐标系
- 参数说明
| 参数 | 说明 | 图示 |
|---|---|---|
| 相机坐标系 | 坐标系原点在物体上方,Z轴正方向朝下;XYZ取值是物体中心点在该坐标系下的值 | ![]() |
| ROI坐标系 | 坐标系原点大致在垛中心,Z轴正方向朝上;XYZ取值是物体中心点在该坐标系下的值 | ![]() |
| 机械臂坐标系 | 坐标系原点在机械臂自身,Z轴正方向一般朝上;XYZ取值是物体中心点在该坐标系下的值 | ![]() |
| 像素坐标系 | 坐标系原点在RGB图的左顶点,是二维平面坐标系;X、Y取值是bbox识别框的x值、bbox识别框的y值,Z是0 | ![]() |
3.3.2 通用抓取策略

- 参数说明
| 策略名* | 说明 | 分组步长 | 提取前几组 | |
|---|---|---|---|---|
| 默认值 | 取值范围 | 默认值 | ||
| 精匹配分数从大到小/从小到大 | 使用3D匹配后实例的精匹配分数进行分组排序 | 1 | (0, 1] | 10000 |
| 工件姿态XYZ值从大到小/从小到大(mm) | 使用3D匹配后的实例点云中心点的XYZ坐标值进行分组排序 使用该策略进行排序前应当先设置基准坐标系 | 200.000 | [0, 10000000] | 10000 |
| 从工件姿态XY坐标轴向的中间到两侧/两侧到中间 | 使用3D匹配后的实例点云中心点的XY坐标值,按照 “中间到两侧” 或 “两侧到中间” 的方向进行分组排序 | 200.000 | [0, 10000000] | 10000 |
| 先正面模板后反面模板/先反面模板后正面模板 | 使用工件点云的双模板ID进行分组排序 正面模板的ID:0,反面模板的ID:1 | 2 | [1, 2] | 2 |
| 抓取点中心X/Y/Z坐标值从大到小/从小到大(mm) | 使用抓取点中心的X/Y/Z坐标值进行分组排序 使用该策略进行排序前应当先设置基准坐标系 | 200.000 | [0, 10000000] | 10000 |
| 从抓取点XY坐标轴向的中间到两侧/从两侧到中间 | 使用抓取点中心的X/Y/Z坐标值,按照 “中间到两侧” 或 “两侧到中间” 的方向进行分组排序 | 200.000 | [0, 10000000] | 10000 |




