MinimumBoundingBox 最小包围立方体

MinimumBoundingBox 算子用于根据目标上表面点云来获取点云的最小立方体包围框,常用于箱包等物体的姿态定位。

type 功能
SimpleMVBB 获取点云的最小立方体包围框,与 ApproxMVBB 功能类似。推荐使用 SimpleMVBB,运算速度更快。
ApproxMVBB 获取点云的最小立方体包围框。本算子与 SimpleMVBB 算子功能一致,不再进行介绍。

算子参数

  • 包围立方体/box:设置包围框在 3D 视图中的可视化属性。

    • icon_visOn 打开包围框可视化。

    • icon_visOff 关闭包围框可视化 。

    • icon_color 设置 3D 视图中包围框的颜色。取值范围:[-2,360] 。默认值:-1 。

    • icon_opacity 设置包围框的透明度。取值范围:[0,1] 。默认值:0.5 。

  • 包围立方体中心坐标/box_pose:设置包围框中心点 pose 在 3D 视图中的可视化属性。

    • icon_visOn 打开包围框中心点 pose 可视化。

    • icon_visOff 关闭包围框中心点 pose 可视化。

    • icon_size 设置包围框中心点 pose 的尺寸大小。取值范围:[0.001,10] 。默认值:0.1 。

  • 包围立方体列表/box_list:设置包围框列表在 3D 视图中的可视化属性。 值描述与 包围立方体 一致。

  • 包围立方体列表中心坐标/box_pose_list:设置包围框中心点 pose 列表在 3D 视图中的可视化属性。 值描述与 包围立方体中心坐标 一致。

数据信号输入输出

输入:

说明:根据需求选择 cloud 或者 cloud_list 其中一种数据信号输入即可。

  • cloud

    • 数据类型:PointCloud

    • 输入内容:点云数据

  • cloud_list

    • 数据类型:PointCloudLIst

    • 输入内容:点云数据列表

  • ref_pose

    • 数据类型:Pose

    • 输入内容:参照 pose 数据

      说明:当连接 ref_pose ,结果 Cube 则会参照算子左侧的 ref_pose 端口输入的 pose 姿态进行 Height - Width - Depth 同 X Y Z 的匹配。如果该端口不连接数据,则 Height - Width - Depth 同 X Y Z 的匹配是随机的。一般我们选择连接该参数,并且给 ref_pose 端口输入 Pose(0,0,0,0,0,0) 即可。

输出:

  • box

    • 数据类型:Cube

    • 输出内容:最小立方体包围框

  • box_pose

    • 数据类型:Pose

    • 输出内容:最小立方体包围框 pose 数据

  • box_list

    • 数据类型:Cubelist

    • 输出内容:最小立方体包围框列表

  • box_pose_list

    • 数据类型:Poselist

    • 输出内容:最小立方体包围框 pose 列表数据

功能演示

使用 MinimumBoundingBox 获取加载点云的最小立方体包围框,并根据生成的原点 pose 进行姿态匹配。

步骤1:算子准备

添加 Trigger 、Load 、Emit 、MinimumBoundingBox 算子至算子图。

步骤2:设置算子参数

  1. 设置 Load 算子参数:

    • 类型 → PointCloud

    • 文件 → icon_more → 选择点云文件名( example_data/pointcloud/model.pcd )

    • 点云 → icon_visOn 可视

  2. 设置 Emit 算子参数:

    • 类型 → Pose

    • 坐标 → 0 0 0 0 0 0

    • 坐标 → icon_visOn 可视

  3. 设置 MinimumBoundingBox 算子参数:

    • 包围立方体 → icon_visOn可视

    • 包围立方体中心坐标 → icon_visOn可视

步骤3:连接算子

3D_MinimumBoundingBox_nodes

步骤4:运行

点击 RVS 运行按钮,触发 Trigger 算子。

运行结果

结果如下图所示,在 3D 视图中加载的点云以及 MinimumBoundingBox 的结果。最小包围框 Cube 和中心点 pose 。

3D_MinimumBoundingBox_result