mixed_pallet_pattern

Description

mixed_pallet_pattern is used to stack objects with different sizes. The pallet pattern can be automatically generated according to the parameters set by user and the size of the target box.

Parameters

In addition to Parameters , the following parameters can be set for mixed_pallet_pattern Task:

workmode
  • Online: Plan the stacking for each new box without knowing the size.

  • Offline: Plan all the boxes when the size for all boxes to be stacked are known. This function is used to adjust the stacking parameters during the debugging phase. You may read the json file to view the planned stacking. It does not support connecting and running physical robots.

  • fileName: Read box json file name in Offline mode.

captureTwiceToUpdate

Default False, it can be choose when you can’t get the full size at the first photo, and you need to take a second photo because of the lack of the height information of the box.

When visual_move has grasped the box but has no box height information, mixed_pallet_pattern will estimate the box height and plan according to the estimated height when calculating the placement position and weight;

When running this Task to take a second photo to get the height of the box, the software makes a second planning. At this time, mixed_pallet_pattern will uses the box size given by two visual recognition to calculate.

Pallet Type

Pallet common parameters:

PalletDimension
  • palletSizeX: Set pallet length

  • palletSizeY: Set pallet weight

  • palletMaxZ: Set max pallet height

FixedSequence
  • isFixedSequence: Default False, it can be choose when the order of boxes is fixed.

  • futureGainFactor: This parameter takes effect when :guilabel:` isFixedSequence` is checked. If this parameter is increased, more consideration will be given to the subsequent box stackability when palletizing, and more space will be reserved.

gapWidth

The width of the gap between boxes, the unit is meter (m). To ensure that the given box size is smaller than the actual size to prevent collisions. Recommended setting: 0.01 – 0.02m

TaggedBox
  • Tag on Boundary: Default False.it can be choose when the boxes have the tag and the tag is on boundary.

  • tagToBoundaryDist: The farthest distance from the box tag face to the edge of the pallet when stacking.

Structured
  • Setting

    • allowedExcess: Allow the box to exceed the width of the edges. The recommended setting is 0.02 – 0.05m, as shown below:

      ../../../../_images/eg_allowedExcess.png
    • boxExceedRatio: The upper box is allowed to exceed the maximum proportion of the plane on which it is pressed. As shown in the figure, the maximum Y/X does not exceed this parameter.

      ../../../../_images/boxExceedRatio.png
    • layerHeightDiff: When the size of the box to be stacked on the upper layer is larger than the box on the lower layer, the large box on the upper layer is allowed to be stacked on a plane whose height difference does not exceed this parameter.

      ../../../../_images/layerHeightDiff.png
    • samplingRate: Plan the sampling rate (sample/meter) for the box position. The higher the sampling rate, the more accurate the result, but the slower the speed. Recommended values are 200, 500, and 1000 sample/m.

    • cornerFreeAngle: In the projection direction of the pallet, the angle between the entry path of the box and the side of the adjacent box. As shown in the figure, if this parameter is set too large, a U-shaped empty area may be left during stacking; if it is set too small, the actual stacking boxes may collide with adjacent boxes. It is recommended to set 15 – 30 degrees.

      ../../../../_images/cornerAngle.png
    • endEffectorDimZ: The vertical distance from the bottom surface of the robot’s end to the bottom surface of the robot’s penultimate joint, as shown in the figure below, to prevent some placement poses from causing the end to collide with the robot body.

      ../../../../_images/endEffectorDimZ.png
    • enableMidPoint: The default is True. In addition to the corner points will be as candidate positions, the midpoint between the corner points will also be used as candidate positions. When there are U-shaped grooves in the stack, the boxes may be inserted into the grooves in a trajectory parallel to the adjacent boxes. The middle point is displayed in cyan. As shown in the figure

      ../../../../_images/midPoint.png
    • midPointSafeGap: This parameter will be effective when setting Use Midpoint to True. When the box is inserted at the midpoint candidate position, the gap left on both sides will be larger than this value. As shown in the figure below.

      ../../../../_images/midPointGap.png

      If the robot motion error and the box size error allow, this parameter can be set to a value smaller than gapWidth, which will significantly improve the pallet pattern when workMode is online.

  • Weight: The parameters in this group are weights, which decides the box’s place position in the pallet.

    • adjacentAreaWeight: The higher the value of this parameter, the more likely that the candidate position where the side touches the box in the stack will be executed, and vice versa.

    • supportAreaWeight: The higher the value of this parameter, the larger the supported area (area which is less exceed the lower surface area) is more likely to be executed, and vice versa.

    • baseHeightWeight: The higher the value of this parameter, the lower the target position is more likely to be executed, and vice versa.

    • projectedDistToCornerWeight: The higher the value of this parameter, the shorter the distance from the position to the priority corner is projected on the diagonal of the pallet, which is easier to be performed.

    • supportBoxNumWeight: The higher the value of this parameter, the position above where more boxes have been stacked is more likely to be executed, and vice versa. The higher the value makes it easier to plan a relatively more stable stack with reducing the compactness of the stack.

    It is recommended to use multiples as the adjustment interval during initial adjustment.

Unstructured

  • Weight: The parameters in this group are weights, which decides the box’s place position in the pallet.

    • heightWeight: The higher this parameter, the more consideration should be given to the height of the stack type. The height of the stack type should not be too high.

    • capacityWeight: The lower this parameter, the more compact the stack.

    • roughnessWeight: The higher this parameter, the smoother the top layer of the stack.

    • areaWeight: When stacking from boxes, the lower this parameter, the boxes with larger projected area will be selected first.

    • distanceToBoundaryWeight: The higher this parameter, the closer the box to the pallet boundary.

    • baseHeightWeight: In multi-layer stacking, the lower this parameter, the easier it is to stack the boxes on the lower plane