点云包围框(贴近长边)

功能描述

该算子为输入的每个点云计算一个定向三维包围框(OBB),与标准的 OBB 计算不同,此算子在计算时会强制包围框的一个主轴(通常是长度最长的轴)与用户输入的直线方向对齐,最终输出这个对齐后的OBB的参数,包括中心点、尺寸、变换矩阵、法向量以及一个可调整的三维ROI。

使用场景

  • 定向物体位姿估计 : 当需要获取一个已知其主方向(例如,一个长条形工件的长边方向)的物体的精确包围框时。通过输入该主方向(长边直线),可以得到更稳定、更贴合物体实际朝向的包围框。

  • 约束下的包围框计算 : 在某些应用中,需要计算一个特定方向约束下的物体边界范围。

  • 抓取与放置 : 为已知主方向的物体生成对齐的包围框,方便机器人进行定向抓取或放置操作。

输入输出

输入项

点云:输入的点云或点云列表。

长边直线方程参数:一个列表,包含与输入点云列表一一对应的直线模型参数,这个方向向量定义了包围框需要对齐的主方向。

输出项

包围框法向:计算得到的OBB的一个法向量(通常是短边方向)列表。

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

包围框:每个包围框的详细信息列表,包含中心、尺寸和3x3旋转变换矩阵(该变换将包围框从其自身坐标系转换到世界坐标系)。

包围框大小:每个包围框沿其主轴的X, Y, Z尺寸列表。

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

参数说明

该算子有两个版本:

  • 点云包围框(贴近长边) : 处理不带法线信息的点云。

  • 带法向点云包围框(贴近长边) : 处理带有法线信息的点云。 两者核心功能和参数完全相同,仅处理的点云数据类型不同。

  • 输入对应 : 输入的点云列表和长边直线方程参数列表必须一一对应,且直线模型参数必须包含6个值(点+方向)。

  • 长边假设 : 算子的有效性依赖于输入的直线方向确实能较好地代表点云的一个主方向(通常是长度方向)。如果输入的直线与点云实际形状偏差很大,计算出的包围框可能不准确。

中心点类型

参数说明

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

调参说明

  • 包围框中心 (默认) : 直接使用计算得到的、与输入直线对齐的OBB的几何中心。

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

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

法向Z方向

参数说明

指定输出的“包围框法向”的Z分量应该是正值还是负值。算子会根据此设置调整计算出的法向量方向。

调参说明

用于统一输出法向量的朝向。如果希望法向量总是指向Z轴正方向(“朝上”),选择“正Z”;如果希望指向Z轴负方向(“朝下”),选择“负Z”。

缩放方法

参数说明

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

调参说明

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

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

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

X/Y/Z方向缩放范围

参数说明

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

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

调参说明

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

参数范围

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

X/Y/Z方向缩放比例

参数说明

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

调参说明

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

参数范围

[0, 5],默认值:1