Collisions
This topic introduces the collision detection feature in Mech-Viz.
Introduction
In applications such as machine tending and (de)palletizing, avoiding collisions between the robot and other objects is crucial to keeping the project going non-stop. Mech-Viz can detect possible collisions and plan the robot path accordingly, so that the resulting path is collision-free. If collision cannot be avoided, Mech-Viz will stop the project and display the detected collision in the 3D simulation area, so that you can adjust the project accordingly.
Computation Settings
In Computation Settings, you can set the extent of collision computation to perform and plan history to save. The options affect the speed of project execution.
During project testing and debugging, it is recommended to select the Compute complete collision contacts of each candidate solution and Save in plan history options in Computation Settings, in order to save the complete record in Plan History for locating and solving problems.
Collision Detection Configuration
Collision occurs between two objects. In Collision Detection Configuration, you can set between which two types of objects to check for collisions, such as point cloud and other objects. Object collision models are required for detecting collisions between certain types of objects. Before enabling collision detection, please add and configure the corresponding collision models in the Resources panel.
-
For adding and configuring the robot tool models, please refer to Tools.
-
For adding and configuring the scene object models, please refer to Scene Objects.
-
The workobject models are automatically generated from the data provided by Mech-Vision. See below for detailed configuration instructions.
By default, Mech-Viz detects collisions between the following objects:
1 |
Robot links |
Robot links |
2 |
Robot links |
Scene objects |
3 |
Robot links |
Robot tool |
4 |
Scene objects |
Robot tool |
You can also configure the detection of collisions between the following objects.
To configure the following collision detection, click Collision detection configuration in the Collisions tab to open the Collision Detection Configuration window.
Collision between Point Cloud and Other Objects
Click the Detect collision between point cloud and others option in the Configuration on point cloud pane on the left to enable the detection of collisions between point cloud and other objects. In addition, you can configure the detection of collisions between point cloud and robot links, and collisions between point cloud and held objects.
Collisions with point cloud is only detected for the “Vision Move” Step and the “Relative Move” Steps that depend on the “Vision Move” Step, but not for the other move-type Steps. |
- Configuration on point cloud—Point cloud cube edge length
-
Point cloud cubes are the cubes centered at each point in the point cloud. A point cloud is made of points, which are zero-dimensional and thus cannot be used for collision detection. Therefore, the cubes are generated for the purpose of collision detection. If these cubes collide with other objects, the point cloud is considered to have collided with these objects.
Please adjust this parameter according to the requirements of collision detection accuracy and speed.
- Configuration on tool—Collision volume threshold
-
Set how large a volume of the robot tool model is allowed to collide with the point cloud. If the collision volume of the tool model with the point cloud cubes exceeds this threshold, a collision between the robot tool and point cloud is considered to have occurred.
Please adjust this parameter according to the actual tolerance of collision.
- Configuration on robot links—robot links
-
Robot links are divided into wrist, forearm, upper arm and base. By default, collisions between the robot links and point cloud are not detected.
Please enable the collision detection for robot links according to the actual needs.
- Configuration on robot links—Collision volume threshold
-
Set how large a volume of a robot link is allowed to collide with the point cloud. If the collision volume of the tool model with the point cloud cubes exceeds this threshold, a collision between the robot tool and point cloud is considered to have occurred.
Please adjust this parameter according to the actual tolerance of collision.
Collision between Held Workobject and Other Objects
Click the Detect collision between held workobject and others option in the Configuration on held workobject pane on the right to enable the detection of collisions between the held workobject and other objects.
Cuboid
- Add cuboid collision models
-
Collision models of cuboid workobjects are automatically generated by Mech-Viz based on the workobject dimensions provided by Mech-Vision. Therefore, please complete the following configurations in Mech-Vision to have the workobject dimensions output.
-
In the Mech-Vision project, use either of the following Steps to obtain the workobject dimensions: Calc Poses and Dimensions from Planar Point Clouds: recommended for applications with multiple types of workobjects; Read Object Dimensions: recommended for applications with a single type of workobjects
-
Output the workobject dimensions to Mech-Viz with the “Procedure Out” Step. Mech-Viz will generate the corresponding collision models.
-
Number of “vision poses” and that of “object dimensions” should match. |
- Cuboid bottom safety distance
-
For mixed-case palletizing applications, please set an appropriate cuboid bottom safety distance for the cuboid workobject models. The cuboid bottom safety distance adds a collision detection zone to the bottom of the workobject model. If other objects enter this zone, these objects are considered to have collided with the workobjects. Therefore, setting a cuboid bottom safety distance is helpful for avoiding collisions between the held workobjects and those that have been placed.
To set a cuboid bottom safety distance, enable For cuboid workobjects, also detect collision within a bottom safety distance during holding and placing in mixed-case palletizing, and then adjust the value of Cuboid bottom safety distance.
- Collision volume threshold
-
Set how large a volume of the held workobject model is allowed to collide with the point cloud. If the collision volume of the held workobject model with the point cloud cubes exceeds this threshold, a collision between this workobject and the point cloud is considered to have occurred. To adjust this parameter, enable Detect collision between point cloud and others option in the Configuration on point cloud pane on the left.
Please adjust this parameter according to the actual tolerance of collision.
Custom
- Add custom models
-
-
Move the STL and BINVOX model files of the workobject to the
collision_models
folder under the Mech-Viz project folder. If there is no collision_models folder, please create one. -
Check the label name through the “Pose labels” port of the corresponding Step in Mech-Vision, and rename the model files to the label name. If you add a workobject configuration in “Resources” of Mech-Viz, you must set the “workobject name” as the label name.
-
In the “Send Point Cloud to External Service” Step of the corresponding Mech-Vision project, check the Send Object Information parameter and uncheck the Input Point Cloud in Camera Frame parameter. Connect all the input ports of this Step to the corresponding data streams.
-
The output point cloud and pose must be in the robot reference frame. |
- Collision volume threshold
-
Set how large a volume of the held workobject model is allowed to collide with the point cloud. If the collision volume of the held workobject model with the point cloud cubes exceeds this threshold, a collision between this workobject and the point cloud is considered to have occurred. To adjust this parameter, enable Detect collision between point cloud and others option in the Configuration on point cloud pane on the left.
Please adjust this parameter according to the actual tolerance of collision.