Rectangular Planar Point Cloud Bounding Box

Functional Description

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

Usage Scenarios

  • Precise Pose Estimation: Obtain the precise dimensions, center, and orientation of an object, especially for rectangular or nearly rectangular objects placed arbitrarily rotated on a plane.

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

  • Dimensional Measurement: Measure the 3D dimensions of an object.

  • ROI Generation: Generate an oriented ROI that tightly fits the object for subsequent fine processing or analysis.

Inputs and Outputs

Input Items

Pointcloud: Input point cloud or list of point clouds, primarily for planar point clouds.

Plane normals: A list containing plane normal vectors [nx, ny, nz] corresponding one-to-one with the input point cloud list. This normal vector defines the plane direction referenced when searching for the minimum area bounding box.

Output Items

Bounding box normal: A list of normal vectors (Nx3) of the plane where the calculated minimum bounding box lies.

Bounding box center point: A list of center points (Nx3) for each calculated bounding box, the calculation method is determined by the Center point type parameter.

Bounding box: A list of detailed information for each bounding box, including center, dimensions, and a 3x3 rotation transformation matrix.

Bounding box size: A list of X, Y, Z dimensions (Nx3) for each bounding box.

3D ROI: A list of 3D ROIs generated based on the calculated bounding box, possibly scaled or adjusted.

Parameter Description

This operator has two versions:

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

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

Both have identical core functionality and parameters, only differing in the type of point cloud data they process.

Input Correspondence: The input Pointcloud list and the Plane normals list must correspond one-to-one, and the normal vector must be a valid 3D vector.

Angle array range

Parameter Description

The angle search range for rotating the point cloud around the input normal vector when searching for the minimum area bounding box. The operator will try different rotation angles within this range.

Tuning Description

Specify an angle range from 0 to this value. For example, setting it to 90 means searching for the optimal rotation angle between 0 and 90 degrees. If the possible orientation range of the object is known and small, this value can be appropriately reduced to improve speed. If the object can rotate arbitrarily, it usually needs to be set to 90 or 180 degrees to cover all possible in-plane rotations.

Parameter Range

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

Angle array step

Parameter Description

The angle increment when searching within the "Angle array range".

Tuning Description

Decreasing the step size can improve the accuracy of finding the optimal angle but will increase computation time.

Increasing the step size has the opposite effect. The default value of 1.0 degree usually provides a good balance between accuracy and speed.

Parameter Range

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

Center point type

Parameter Description

Selects how the output "Bounding box center point" is calculated.

Tuning Description

  • Bounding box center (Default): Directly uses the geometric center of the calculated minimum area OBB.

  • Point cloud mean : Uses the XYZ coordinate mean of the original point cloud constituting this OBB.

  • Point cloud median : Uses the XYZ coordinate median of the original point cloud constituting this OBB, which is more robust to outliers. The choice depends on the subsequent application’s requirements for the center point definition.

Zoom method

Parameter Description

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

Tuning Description

  • Do not allow zoom (Default): No scaling or expansion is performed; the ROI is consistent with the calculated minimum bounding box.

  • Specified value: Adds or subtracts the absolute values specified by the "Scale range in X direction"/"Scale range in Y direction"/"Z scaling range" parameters below to/from the min/max coordinates of each axis of the bounding box.

  • Specified ratio: Scales the dimensions of the bounding box according to the "Scale X"/"Scale Y"/"Zoom" parameters below.

Scale range in X direction/Scale range in Y direction/Z scaling range

Parameter Description

Effective when "Zoom method" is set to "Specified value". Specifies the distance to expand outwards (positive value) or shrink inwards (negative value) in the X, Y, and Z directions of the bounding box, respectively.

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

Tuning Description

Used for precise control of ROI size, e.g., slightly expanding the ROI to include possible grasping error margins, or slightly shrinking it to exclude edge noise.

Parameter Range

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

Scale X/Scale Y/Zoom

Parameter Description

Effective when "Zoom method" is set to "Specified ratio", specifies the scaling factor for the ROI (and possibly the bounding box) in the X, Y, and Z directions, respectively.

Tuning Description

A scaling factor of 1 means maintaining the original size, greater than 1 means enlarging, and less than 1 means shrinking. For example, x=1.1 means the size of the ROI in the X direction becomes 1.1 times the original.

Parameter Range

[0, 5], Default: 1