Skip to Content
Guide: Collision-free paths

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.

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

  1. Read safety data from your robot controller using getMotionGroupDescription .
  2. Add safety_zones, safety_link_colliders, and safety_tool_colliders properties to a dedicated collision setup.
  3. 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

EndpointEndpoint
Store Collision Components > Store ColliderPOST /api/v2/cells/{cell}/collision-components/colliders
Store Collision Components > Store Link ChainPOST /api/v2/cells/{cell}/collision-components/link-chains
Store Collision Components > Store ToolPOST /api/v2/cells/{cell}/collision-components/tools
Motion Group > DescriptionGET /api/v2/cells/{cell}/motion-groups/{motion-group}/description
Motion Group Models > Get Collision ModelGET /api/v2/cells/{cell}/motion-groups/{motion-group}/collision-model
Trajectory Planning > Plan Collision-Free TrajectoryPOST /api/v2/cells/{cell}/trajectory-planning/plan-collision-free
Trajectory Planning > Plan TrajectoryPOST /api/v2/cells/{cell}/trajectory-planning/plan-trajectory
Trajectory Execution > Execute trajectoryGET /api/v2/cells/{cell}/execution/trajectory
Last updated on