矩形平面点云包围框

功能描述

该算子为输入的每个点云计算一个有向最小包围盒(有向最小包围盒是一个可以任意旋转的长方体,它以最小的体积紧密地包围一个物体,包围盒的边不一定平行于坐标轴),输出这个有向最小包围盒的参数,包括中心点、尺寸、变换矩阵、法向量以及一个可调整的ROI。

使用场景

  • 精确位姿估计 : 获取物体的精确尺寸、中心和朝向,特别是对于那些在平面上任意旋转放置的矩形或近似矩形的物体。

  • 抓取规划 : 为机器人抓取提供精确的包围框信息,包括物体的长、宽、高和方向。

  • 尺寸测量 : 测量物体的三维尺寸。

  • ROI生成 : 生成紧密贴合物体的、带有方向的ROI,用于后续的精细处理或分析。

输入输出

输入项

点云:输入的点云或点云列表,主要是针对平面点云的。

平面法向:一个列表,包含与输入点云列表一一对应的平面法向量 [nx, ny, nz]。这个法向量定义了寻找最小面积包围框时所参考的平面方向。

输出项

包围框法向:计算得到的最小包围框所在平面的法向量列表 (Nx3)。

包围框中心点:计算得到的每个包围框的中心点列表 (Nx3),计算方法由参数中心点类型决定。

包围框:每个包围框的详细信息列表,包含中心、尺寸和3x3旋转变换矩阵。

包围框大小:每个包围框的X, Y, Z尺寸列表 (Nx3)。

3维ROI:根据计算出的包围框生成的、可能经过缩放调整的三维ROI列表。

参数说明

该算子有两个版本:

  • 矩形平面点云包围框 : 处理不带法线信息的点云。

  • 矩形平面点云包围框(带法向) : 处理带有法线信息的点云。

两者核心功能和参数完全相同,仅处理的点云数据类型不同。

输入对应 : 输入的点云列表 和平面法向列表必须一一对应,且法向量必须是有效的3维向量。

角度阵列范围

参数说明

在寻找最小面积包围框时,围绕输入法向量旋转点云的角度搜索范围,算子会在此范围内尝试不同的旋转角度。

调参说明

指定一个从0到该值的角度范围。例如,设置为 90 表示在 0 到 90 度之间搜索最佳旋转角度。如果物体的可能朝向范围已知且较小,可以适当减小此值以提高速度。如果物体可能任意旋转,通常需要设置为 90 或 180 度以覆盖所有可能的平面内旋转。

参数范围

[0, 180],默认值:90,单位:度

角度阵列步长

参数说明

在“角度阵列范围”内进行搜索时的角度增量。

调参说明

减小步长可以提高找到最优角度的精度,但会增加计算时间。

增大步长则相反,默认值 1.0 度通常在精度和速度之间取得了较好的平衡。

参数范围

[0, 50] ,默认值:1,单位:度

中心点类型

参数说明

选择输出的“包围框中心点”是以何种方式计算得到的。

调参说明

  • 包围框中心(默认): 直接使用计算得到的最小面积OBB的几何中心。

  • 点云均值: 使用构成该OBB的原始点云的XYZ坐标均值。

  • 点云中位数: 使用构成该OBB的原始点云的XYZ坐标中位数,对离群点更鲁棒。 选择哪种方式取决于后续应用对中心点定义的需求。

缩放方法

参数说明

选择如何调整(缩放/外扩)最终输出的3维 ROI 区域。

调参说明

  • 不允许缩放(默认): 不进行任何缩放或外扩,ROI与计算得到的最小包围框一致。

  • 指定值: 在包围框的每个轴的最小/最大坐标基础上,加上或减去下面“X/Y/Z方向缩放范围”参数指定的绝对值。

  • 指定比例: 将包围框的尺寸按照下面“X/Y/Z方向缩放比例”参数进行缩放。

X/Y/Z方向缩放范围

参数说明

当“缩放方法”选择“指定值”时生效。指定在包围框的X、Y、Z三个方向上各自向外扩展(正值)或向内收缩(负值)的距离。

例如,x=10表示 ROI 在 X 方向比原始包围框宽 20mm(两边各加10mm)。

调参说明

用于精确控制ROI的大小,例如,稍微扩大 ROI 以包含可能的抓取误差范围,或稍微缩小以排除边缘噪声。

参数范围

[-5000, 10000],默认值:0,单位:mm

X/Y/Z方向缩放比例

参数说明

当“缩放方法”选择“指定比例”时生效,指定ROI(及可能的包围框)在X、Y、Z三个方向上各自的缩放比例因子。

调参说明

比例因子为1表示保持原尺寸,大于1表示放大,小于1表示缩小。例如,x=1.1 表示 ROI 在 X 方向的尺寸变为原来的 1.1 倍。

参数范围

[0, 5],默认值:1