Plan collision-free trajectories
Learn how to configure collision detection and plan collision-free trajectories. For conceptual background on collision handling components, see Collision handling.
Build a collision-free workflow
This workflow applies to single motion group planning. Support for multi-motion group planning with collision handling is currently not available.
Create robot link colliders
You have three options to create your robot link chain:
Use Wandelbots NOVA’s default model
Retrieve the optimized model generated by Wandelbots using getMotionGroupCollisionModel
Import from controller
Retrieve safety link colliders directly from your robot controller using getMotionGroupDescription
Create custom model
Build your own link chain according to Wandelbots NOVA specifications.
Optional: Store your link chain using storeCollisionLinkChain
Define tool colliders
Create tool shapes defined in the flange coordinate system.
Optional: Store using storeCollisionTool .
Add environment obstacles
Create colliders for obstacles in your workspace.
Optional: Store using storeCollider .
Create collision setups
Combine your components into a collision setup.
Self-collision-detection can be used for the full range of motion when using Wandelbots NOVA’s optimized robot models. It checks for collisions between each of the robots links the attached tool. Adjacent links are excluded from self-collision checks.
Safety zones
- Read safety data from your robot controller using getMotionGroupDescription .
- Add
safety_zones,safety_link_colliders, andsafety_tool_collidersproperties to a dedicated collision setup. - Set self-collision to false, the safety models are not suited for it.
Optional: Store your collision setup using storeCollisionSetup
Plan collision-free trajectories
Pass one or multiple collision setups into your planning request.
Wandelbots NOVA offers multiple collision-free algorithms using planCollisionFree
Collision-detection only
Use standard trajectory planning to detect collisions without automatic avoidance. Planning returns the valid trajectory up to the collision point plus details about colliding shapes using planTrajectory .
Execute trajectories
Execute your validated trajectory directly using executeTrajectory
OR
Add the trajectory to receive an ID for execution and pass the ID to the execution endpoint at a later point.
Endpoints used
| Endpoint | Endpoint |
|---|---|
| Store Collision Components > Store Collider | POST /api/v2/cells/{cell}/collision-components/colliders |
| Store Collision Components > Store Link Chain | POST /api/v2/cells/{cell}/collision-components/link-chains |
| Store Collision Components > Store Tool | POST /api/v2/cells/{cell}/collision-components/tools |
| Motion Group > Description | GET /api/v2/cells/{cell}/motion-groups/{motion-group}/description |
| Motion Group Models > Get Collision Model | GET /api/v2/cells/{cell}/motion-groups/{motion-group}/collision-model |
| Trajectory Planning > Plan Collision-Free Trajectory | POST /api/v2/cells/{cell}/trajectory-planning/plan-collision-free |
| Trajectory Planning > Plan Trajectory | POST /api/v2/cells/{cell}/trajectory-planning/plan-trajectory |
| Trajectory Execution > Execute trajectory | GET /api/v2/cells/{cell}/execution/trajectory |