Remove Stack Tray Point Cloud

Functional Description

This operator is designed to process point cloud data placed on a pallet. It can receive a list containing multiple point clouds, attempt to identify the point cloud representing the pallet, and separate it from the point clouds representing objects. The operator judges which point cloud is the pallet by analyzing the number of points and spatial position (especially height) of the point clouds. It also calculates and outputs an ROI surrounding the object point clouds.

Usage Scenarios

  • Robot Depalletizing/Palletizing: In automated depalletizing or palletizing applications, it is necessary to separate the pallet from the goods on the pallet to process the goods individually or locate the pallet itself.

  • Point Cloud Preprocessing: As part of a point cloud processing workflow, remove support structures (such as pallets, tabletops) from the scene, retaining only the point clouds of interest.

Inputs and Outputs

Input Items

Point cloud after clustering: A list containing one or more point clouds (usually representing object clusters and the pallet).

Output Items

Stack inventory cloud: The point cloud identified as the pallet (may be None).

Point cloud after removal: The list of remaining point clouds after removing the pallet point cloud from the input list.

Point Cloud ROI: A 3D bounding box ROI containing the pallet point cloud.

Parameter Description

This operator has two versions:

  • Remove Stack Tray Point Cloud : Processes point clouds without normal information.

  • Remove stacked inventory clouds (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 Requirement: The operator expects a list of point clouds as input, typically the result of clustering, where one element represents the pallet and other elements represent clusters of goods. The number of input point clouds must be greater than 1.

Ceiling height

Parameter Description

Height threshold used to distinguish between pallets and layers of goods. The operator calculates the Z-coordinate of the center of the point cloud clusters. If the difference in the Z-coordinate of the center of a point cloud cluster and the Z-coordinate of the center of the point cloud cluster with the most points (usually considered to be the object point cloud) is greater than this layer height, then this point cloud cluster is considered to potentially belong to a different layer (possibly the pallet).

Tuning Description

Set according to the actual height difference between the pallet and the lowest layer of goods. If the height difference between the pallet and the lowest goods is significantly greater than 100mm, the default value may be applicable. If the layer height is smaller or the pallet is thinner, this value needs to be appropriately reduced. If the height difference within the goods layer itself is large, this value may need to be increased to avoid misidentifying a goods layer as a pallet.

Parameter Range

[1,10000], Default: 100, Unit: mm

Center calculation method

Parameter Description

Selects the method for calculating the Z-coordinate of the center point of each point cloud cluster. The center point is used to judge layer height differences.

Tuning Description

  • Point cloud mean (Default): Calculates the average of the XYZ coordinates of all points in the point cloud. Simple and fast, but susceptible to outliers.

  • Point cloud median : Calculates the median of the XYZ coordinates of all points in the point cloud. Less sensitive to outliers, more robust.

  • Oriented Bounding Box Center: Calculates the center of the Oriented Bounding Box of the point cloud. Can better reflect the center of elongated or tilted objects.

  • Axis-Aligned Bounding Box Center: Calculates the center of the Axis-Aligned Bounding Box of the point cloud. Simple to calculate, suitable for objects with relatively regular shapes.

    The choice of method depends on the shape and noise level of the pallet/goods clusters. For irregularly shaped or noisy pallets/goods, median or bounding box center may be more stable.

Z-axis orientation

Parameter Description

Defines the expected orientation of the pallet in the scene relative to the top of the stack (highest point of the goods).

Tuning Description

  • Pallet below stack top (Default): Suitable for regular scenarios, mainly for robot coordinate system point clouds, where the pallet is below the goods (pallet Z-coordinate is usually smaller, i.e., lower than the stack top).

  • Pallet above stack top: Suitable for special scenarios, usually for camera coordinate system point clouds, where the camera captures from above, and the pallet Z-coordinate value is larger, i.e., higher than the stack top.

    Selecting the correct orientation helps the operator correctly judge which is the pallet based on the Z-coordinate. An incorrect selection may lead to incorrect results.

X/Y/Z-axis Negative/Positive Extension Value

Parameter Description

Defines the extension amount of the output ROI (3D bounding box) relative to the center and range of the detected pallet area. Negative extension values usually mean extending in the negative direction of the coordinate axis; positive extension values usually mean extending in the positive direction of the coordinate axis.

Tuning Description

These parameters are used to adjust the size of the output ROI. The default values will extend or shrink by the specified distance in the positive and negative directions of each axis, based on the calculated pallet center and the XY range of the entire point cloud.

Parameter Range

Except for the Z-axis positive extension value which ranges from [0,500], all others range from [-5000,5000], Unit: mm.

Enable node

Parameter Description

Controls whether this operator performs pallet removal and ROI calculation.

Tuning Description

  • Enabled (default): The operator performs its function normally;

  • Disabled: The operator performs no operations and directly passes the input point cloud to the output port.