🔷Rectangular Plane Point Cloud Bounding Box

Functional Description

This operator calculates an oriented minimum bounding box (an oriented minimum bounding box is a cuboid that can be arbitrarily rotated to tightly enclose an object with minimum volume, where the box edges are not necessarily parallel to coordinate axes) for each input point cloud, outputting parameters of this oriented minimum bounding box including center point, dimensions, transformation matrix, normal vector, and an adjustable ROI.

Usage Scenarios

  • Precise Pose Estimation: Obtain precise dimensions, center, and orientation of objects, especially for rectangular or approximately rectangular objects arbitrarily rotated and placed on planes.

  • Grasp Planning: Provide precise bounding box information for robot grasping, including object length, width, height, and orientation.

  • Dimension Measurement: Measure three-dimensional dimensions of objects.

  • ROI Generation: Generate tightly fitted, oriented ROI for objects for subsequent fine processing or analysis.

Input Output

Input

Point Cloud: Input point cloud or point cloud list, mainly targeting planar point clouds.

Plane Normal: A list containing plane normal vectors [nx, ny, nz] that correspond one-to-one with the input point cloud list. This normal vector defines the plane direction referenced when finding minimum area bounding boxes.

RectanglePlanePointsBbox input

Output

Bounding Box Normal: List of normal vectors (Nx3) of planes where calculated minimum bounding boxes are located.

Bounding Box Center Point: List of center points (Nx3) for each calculated bounding box, calculation method determined by Center Point Type parameter.

Bounding Box: Detailed information list for each bounding box, containing center, dimensions, and 3x3 rotation transformation matrix.

Bounding Box Size: List of X, Y, Z dimensions (Nx3) for each bounding box.

3D ROI: List of three-dimensional ROIs generated based on calculated bounding boxes, possibly adjusted through scaling.

RectanglePlanePointsBbox output

Parameter Description

This operator has two versions:

  • Rectangular Plane Point Cloud Bounding Box: Processes point clouds without normal information.

  • Rectangular Plane Point Cloud Bounding Box (With Normals): Processes point clouds with normal information.

Both versions have identical core functionality and parameters, differing only in processed point cloud data types.

Input Correspondence: Input point cloud list and plane normal list must correspond one-to-one, and normal vectors must be valid 3D vectors.

Angle Array Range

Parameter Description

Angle search range for rotating point clouds around input normal vectors when finding minimum area bounding boxes. The operator will try different rotation angles within this range.

Parameter Adjustment

Specifies an angle range from 0 to this value. For example, setting to 90 means searching for optimal rotation angle between 0 to 90 degrees. If object’s possible orientation range is known and small, can appropriately reduce this value to improve speed. If objects may rotate arbitrarily, usually need to set to 90 or 180 degrees to cover all possible in-plane rotations.

Parameter Range

[0, 180], Default value: 90, Unit: degrees

Angle Array Step

Parameter Description

Angle increment when searching within "Angle Array Range".

Parameter Adjustment

Reducing step size can improve precision of finding optimal angles but increases computation time.

Increasing step size has opposite effect. Default value 1.0 degrees usually achieves good balance between precision and speed.

Parameter Range

[0, 50], Default value: 1, Unit: degrees

Center Point Type

Parameter Description

Choose how output "Bounding Box Center Point" is calculated.

Parameter Adjustment

  • Bounding Box Center (Default): Directly use geometric center of calculated minimum area OBB.

  • Point Cloud Mean: Use XYZ coordinate mean of original point cloud constituting this OBB.

  • Point Cloud Median: Use XYZ coordinate median of original point cloud constituting this OBB, more robust to outliers. Choice depends on subsequent application requirements for center point definition.

Scaling Method

Parameter Description

Choose how to adjust (scale/expand) final output 3D ROI region.

Parameter Adjustment

  • No Scaling (Default): No scaling or expansion performed, ROI consistent with calculated minimum bounding box.

  • Specified Value: Add or subtract absolute values specified by "X/Y/Z Direction Scaling Range" parameters to minimum/maximum coordinates of bounding box on each axis.

  • Specified Ratio: Scale bounding box dimensions according to "X/Y/Z Direction Scaling Ratio" parameters below.

X/Y/Z Direction Scaling Range

Parameter Description

Effective when "Scaling Method" selects "Specified Value". Specifies distances to expand outward (positive values) or contract inward (negative values) in X, Y, Z directions of bounding box.

For example, x=10 means ROI is 20mm wider than original bounding box in X direction (10mm added on each side).

Parameter Adjustment

Used to precisely control ROI size. For example, slightly expand ROI to include possible grasping error ranges, or slightly contract to exclude edge noise.

Parameter Range

[-5000, 10000], Default value: 0, Unit: mm

X/Y/Z Direction Scaling Ratio

Parameter Description

Effective when "Scaling Method" selects "Specified Ratio". Specifies scaling ratio factors for ROI (and possibly bounding box) in X, Y, Z directions.

Parameter Adjustment

Ratio factor 1 means maintain original size, greater than 1 means enlarge, less than 1 means shrink. For example, x=1.1 means ROI size in X direction becomes 1.1 times the original.

Parameter Range

[0, 5], Default value: 1