Vision Continue Palletizing

Function

Recognize the existing boxes in an unfinished stack by vision, and then match the recognized boxes with those in a known pallet pattern to find the empty spaces for palletizing.

Usage Scenario

The Vision Continue Palletizing Step is usually used in scenarios where production needs to be continued after a production pause, or in scenarios that require high space utilization (such as the three-dimensional warehouse), where multiple unfilled pallets need to be merged.

Mech-Viz provides a relevant example project to the “Vision Continue Palletizing” Step to help you learn more about the process of continuing the palletizing through vision. For the example project, you can go to File > New > Example projects > Box palletizing > Vision Continue Palletizing in the software.

Parameter Description

Move-Type Step Common Parameters

Send Waypoint

Selected by default to send waypoint poses to the receiver, such as the robot. When this option is unselected, the waypoint pose will not be sent. However, the waypoint will remain in the planned path.

Try Continuously Running through Succeeding Non-Moves

Unselected by default. When non-move Steps, such as Vision Look, Set DO, Check DI, etc., are connected between move-type Steps, the robot’s path planning will be interrupted, and the actual robot will take a short pause, reducing the smoothness of running.

When this option is selected, the project will continue to run without waiting for the current move-type Step to complete execution, and therefore the robot can move in a smooth way without pauses. However, enabling this option may cause the execution of the Step to end prematurely.

Why will this option cause the execution of the Step to end prematurely?

Mech-Viz will send multiple poses simultaneously to the robot when the project is running. When the currently returned JPs of the robot correspond to the last pose sent by Mech-Viz, Mech-Viz will assume that the robot has moved to the last position.

For example, there are 10 move-type Steps in a path, and the pose of the 5th move-type Step is the same as that of the last move-type Step. When the robot moves at low speed, it sends JPs to Mech-Viz when it moves to the 5th move-type Step, Mech-Viz may mistakenly determine that the robot has finished the move-type Steps and prematurely ends the Steps since the poses of the 5th move-type Step and the last move-type Step are the same in the path.

Do Not Check Collision with Placed Workobject

Unselected by default, namely that the collision with the already placed objects will not be detected. When this option is selected, the collisions between the robot, end tool, and placed objects will be detected.

In palletizing scenarios, the two possible cases of error are as follows:

  1. When the robot is placing a carton, the robot may come into light contact with the placed cartons while no deformation will be caused. After Mech-Viz detects this collision in simulation, it will plan other positions for placing the carton, and therefore a full stack cannot be formed.

  2. Usually, the TCP of a suction cup is inside the suction cup model instead of on the surface of it. Under this circumstance, the suction cup may be embedded in the model of the picked carton in the simulation of picking, while the software does not detect the collision between the end tool and the picked object. After the robot places the object and the carton model turns into an object model in the scene, a collision between the suction cup and the carton will be detected and the palletizing cannot be completed.

When this option is selected, no collision between the robot, end tool, and the placed object will be detected, and the above two cases of errors can be avoided.

Point Cloud Collision Detection Mode

Select the proper mode according to the requirement of the on-site situation. Usually, the default setting Auto can be used. Do not check collision mode can be used in move-type Steps before the robot picks the object, and Check collision mode can be used after the robot picks the object.

Auto

Default setting. Collision with point cloud is checked only for the “Vision Move” Step and the “Relative Move” Step that depends on the “Vision Move” Step, but not for all move-type Steps.

Do not check collision

Point cloud collisions for all move-type Steps will not be detected.

Check collision

Point cloud collisions for all move-type Steps will be detected.

When Collisions  Collision detection configuration  Detect collision between point cloud and others is switched on, Mech-Viz will detect collisions between the robot model, end tool model, and point cloud when planning the path. By default, the collisions between the robot and the target objects will be detected during picking and placing. When there are point cloud outliers, non-exiting collisions will be detected, which leads to errors in path planning.
Ignore Workobject Symmetry

This parameter will only take effect when Waypoint type of the Step is set to Workobject pose.

None

Default setting, i.e., do not disable symmetry on any axis.

Around workobject frame Z axis

Only disable symmetry on Z-axis of the workobject reference frame.

Around workobject frame X&Y axis

Disable symmetry on X-axis and Y-axis of the workobject reference frame.

Around all axes

Once the object symmetry is disabled, the robot will place the objects strictly according to the workobject poses.

In some special cases, objects are not pickable due to their peculiar poses. Setting Rotational symmetry under Workobjects  Workobject Configuration in Resources may solve this problem. Candidate poses of the recognized workobjects will be calculated according to the set rotational symmetry angle. When Mech-Viz plans to pick workpieces, if the default pose is not feasible for picking, the candidate poses will be tried. As the candidate poses calculated based on the settings of Rotational symmetry are different from the original poses output from Mech-Vision, the consistency of the objects’ place poses cannot be guaranteed.
Plan Failure Out Port

Once this parameter is selected, a “Plan failure” exit port will be added to the Step.

During the planning process, planning is carried out along the branch after the “Success” exit port. If the planning fails in the current Step, the branch process after the “Planning failure” exit port will be executed.

Held Workobject Collision Detection Settings

Do Not Check Collision with Scene Object/Robot

Unselected by default. Once this option is selected, the collisions between the held workobject with the scene objects or robot will not be detected, and therefore the calculation workload of collision detection will be reduced, the planning speed can be increased, and the cycle time can be shortened. It is usually enabled in the first one or two move-type Steps after the robot picks the object.

Please enable this option cautiously as there may be collision risks.

When Detect collision between held workobject and others under Collision detection configuration  Configuration on held workobject is enabled, the software will detect whether the model of the held object collides with the models of the scene objects and the robot.

In palletizing projects, the calculated carton dimensions have millimeter-level errors with the actual dimensions, and frictions between cartons may occur during picking but no collisions will occur. For some move-type Steps that will obviously not cause collisions, detecting such collisions only adds to the calculation workload and planning time, and consequently extending the cycle time. In palletizing projects, enabling Do Not Check Collision with Scene Objects does not affect the collision detection between the held carton and the placed cartons. This option can be enabled when there are scene objects under the stack to avoid failure of finding the palletizing solution.

Do Not Check Collision with Point Cloud

Unselected by default. Once this option is selected, the collisions between the held workobject with the point clouds in the scene will not be detected, and therefore the calculation workload of collision detection will be reduced, the planning speed can be increased, and the cycle time can be shortened.

  • When both Detect collision between held workobject and others under Collision detection configuration  Configuration on held workobject and Configuration on point cloudDetect collision between point cloud and others are enabled, the software will detect whether the model of the held workobject will collide with the point cloud in the scene.

  • When Mech-Vision sends the point cloud and object model to Mech-Viz, the point cloud and the object model are fitted together. After the robot picks the object, the model moves along the planned path, and the collision between the model of the held workobject and the point cloud will occur.

  • It is known that the model of the held workobject will have false collisions with the point cloud. Detecting such collisions unnecessarily adds to the calculation workload and extends the planning time.

Visual Match

This parameter group is used to determine whether the boxes recognized by the vision service match those in the known pallet pattern. The pallet pattern is obtained from the Palletizing Step specified in the Select Palletizing Step parameter.

If a box in a known pallet pattern recognized by the vision service has a distance deviation from the box in the known pallet pattern in the X and Y directions, a distance deviation in the Z direction, or a rotation deviation around the Z-axis that exceeds the following threshold, the vision matching of the box fails. If the “Match Symmetry” parameter is set to Auto, Symmetry180Deg or Symmetry90Deg, the box’s symmetry will be considered during matching.

Max XY Plane Distance Deviation

The maximum distance deviation (mm) between the box recognized by the vision service and the box in the known pallet pattern in the X and Y directions.

Height Threshold for Pallet Pattern Matching

This parameter only takes effect when the Check Placed Boxes Order parameter is selected. It is used to confirm whether the boxes palletized in sequence are correct. If the height difference between the box recognized by the vision service and the box in the known pallet pattern exceeds this threshold, the box matching fails, indicating that the box palletized in sequence is incorrect.

Max Z-Direction Distance Deviation

The maximum distance deviation (mm) between the box recognized by the vision service and the box in the known pallet pattern in the Z-direction.

Max Rotational Deviation around Z-Axis

The maximum rotation deviation (°) between the box recognized by the vision service and the box in the known pallet pattern around the Z-axis.

Max Z-Direction Deviation Angle

The maximum angular deviation (°) between the Z-axis of the box recognized by the vision service and the Z-axis of the robot base reference frame.

Match Symmetry

When the orientations of the boxes recognized by the vision service did not match those in the known pallet pattern, the matching failed. Applying the symmetry can solve this problem during matching.

Option Description

Auto

When the difference between the length and width of the upper surface of the box is less than 2 cm, the upper surface of the box will be recognized as a square and Symmetry90Deg will be applied automatically. When the difference between the length and width of the upper surface of the box is more than 2 cm, the upper surface of the box will be recognized as a rectangular and Symmetry180Deg will be applied automatically.

NoSymmetry

Do not apply symmetry.

Symmetry180Deg

Select this option when the upper surface of the box is rectangular.

Symmetry90Deg

Select this option when the upper surface of the box is square.

Pose Correction

Correction Type

If the matching between the vision result and the known pallet pattern is successful, this parameter corrects the known pallet pattern obtained from the Select Palletizing Step parameter according to the average deviation of all matched boxes.

Option Description

Total

Correct both the translation error and rotation error.

TranslationOnly

Only correct the translation in the X-, Y- and Z-direction.

RotationOnly

Only correct the rotation around Z-axis.

Judgment Criteria

This parameter group is used to determine whether the vision result matches the known pallet pattern successfully. By default, when all boxes recognized by the vision service match those on the known pallet pattern, the vision result matches the known pallet pattern successfully.

Box Label of Interest

This parameter specifies the labels of the boxes involved in vision matching. Once this parameter is set, only the boxes with the specified label will be involved in the vision matching. If no object label is set, all boxes recognized by vision projects will be used for visual matching.

Check Placed Boxes Order

Select to check the order of the palletized boxes in the project. This option is disabled by default.

The “Vision Continue Palletizing” Step requires that the box serial number must be continuous, and that serial number 1 cannot be empty. If these requirements are not met, an error will occur.

Take the following pallet pattern for example: There are 10 boxes on one layer, and the palletizing order will be calculated automatically.

pallet number

For the following situations:

  • If position indicated by 1 is not occupied with a box, and position 2 and 3 are occupied with boxes, an error will occur.

  • If positions indicated by 1, 2, 3, 4, and 6 are occupied, while position 5 is not occupied, an error will occur.

  • If the order number of the palletized box starts from 1 and the subsequent numbers are continuous, the project runs normally.

Select Palletizing Step

This Step does not generate pallet patterns; instead, it requires selecting other palletizing Steps that can configure pallet patterns to obtain actual pallet pattern information.

Vision Service Name

This parameter specifies the vision project that is used to recognize and locate the boxes on the pallet.

The vision result usually includes the poses of recognized boxes and recognized pallet. The pallet pose is not mandatory data. When the pose of the pallet is not provided in the vision result, the pallet pose in the specified pallet pattern will be used. When the boxes are not centered on the pallet, the relative positions of the box and the pallet in the simulation area may differ greatly from the actual situation. In this case, it is recommended to use the vision result with the pallet pose to improve the matching accuracy.

Basic Move Settings

Some of the trajectories during box palletization are shown in the figure below.

alt

alt

alt

alt

  • P0: reference point; P1: intermediate point; P2: entry point; P3: adjustment point; P4: placement point.

  • P0-P1: intermediate point segment; P1-P2: entry segment; P2-P3: adjustment segment; P3-P4: placement segment.

Motion type

Joint move

Joint motion, which guides the robot to move in a curved path. It is less likely to reach singularities in the path for joint motion.
This motion type is applicable to scenarios where the requirement of path accuracy is not strict and the robot moves in a large space.

Linear move

Linear motion, which guides the robot to move linearly.
This motion type is applicable to scenarios where there is a strict requirement for path accuracy, such as welding, gluing, and certain types of picking.

Singularity Avoidance

When the motion type is Linear move, enabling this function can simulate linear move by joint move with multiple segments, thus reducing singularity problems to a certain extent.

Parameters Setting

Limit to Motion Segments Specific Number No Limit

Feature

Simulate linear move using joint move with a user-specified number of segments.

The software calculates the number of segments needed to simulate linear move.

Advantages

  • The waypoints are more evenly distributed and the number is controlled.

  • Applicable to Standard Interface communication.

  • The success rate of path planning is higher.

  • Only move to the required number of waypoints.

Disadvantages

  • If the number of motion segments is set too much, the robot will jam and slow down.

  • Setting the number of segments manually may slightly increase the probability of avoidance failure.

  • The waypoints may be unevenly distributed.

  • Not available for Standard Interface communication.

Parameter Description

Number of Segments

When the Limit to Motion Segments is set to Specific Number, it refers to the number of joint motion segments specified by the user.

Max Position Deviation

The maximum allowable deviation of the new multi-segment joint motion path from the original linear motion path. The greater the max position deviation, the higher the success rate of singularity avoidance, and the lower the similarity between the actual trajectory and the straight line.

Max Angle Deviation

The maximum allowable angular deviation of the new multi-segment joint motion path from the original linear motion path. The greater the max angle deviation, the higher the success rate of singularity avoidance, and the lower the similarity between the actual trajectory and the straight line.

Velocity & Acceleration

Velocity and acceleration determine how fast the robot can move. Usually, the set acceleration should be lower than the velocity. When the set acceleration is higher than the velocity, the robot will move in a choppy way.

The velocities of Vision Move and its prior and subsequent Steps should be relatively low to ensure that the objects can be picked steadily.
Blend radius

Usually, the default setting can be used.

  • The blend radius refers to the distance between the target point and the point where the robot starts to turn. The larger the blend radius, the more smoother the robot motion transitions are. If the robot moves in a relatively small space, please set the blend radius to a smaller value.

  • If the robot moves in a relatively large space without obstacles and the distance between two consecutive path segments is long, please set the blend radius to a larger value.

We Value Your Privacy

We use cookies to provide you with the best possible experience on our website. By continuing to use the site, you acknowledge that you agree to the use of cookies. If you decline, a single cookie will be used to ensure you're not tracked or remembered when you visit this website.