Tesseract Collision Package¶
Background¶
This package is a used for performing both discrete and continuous collision checking. It understands nothing about connectivity of the object within. It purely allows for the user to add objects to the checker, set object transforms, enable/disable objects, set contact distance per objects and perform collision checks.
Features¶
- Add/Remove collision objects consisting of multiple collision shapes.
- Enable/Disable collision objects
- Set collision objects transformation
- Set contact distance threshold. If two objects are further than this distance they are ignored.
- Perform Contact Test with various exit conditions
- Exit on first tesseract::ContactTestType::FIRST
- Store only closets for each collision object tesseract::ContactTestType::CLOSEST
- Store all contacts for each collision object tesseract::ContactTestType::ALL
Discrete Collision Checker Example¶
Example Explanation¶
Create Contact Checker¶
There are several available contact checkers.
- Recommended
- BulletDiscreteBVHManager
- BulletCastBVHManager
- Alternative
- BulletDiscreteSimpleManager
- BulletCastSimpleManager
- Beta
- FCLDiscreteBVHManager
Add Collision Objects to Contact Checker¶
Add collision object in a enabled state¶
Note
A collision object can consist of multiple collision shape.
Add collision object in a disabled state¶
Add another collision object¶
Set the active collision object’s¶
Set the contact distance threshold¶
Set the collision object’s transform¶
Perform collision check¶
Note
One object is inside another object
Set the collision object’s transform¶
Perform collision check¶
Note
The objects are outside the contact threshold
Change contact distance threshold¶
Perform collision check¶
Note
The objects are inside the contact threshold