Skip to Content
Core conceptsCollision handling

Collision handling

With Wandelbots NOVA you can plan collision-free trajectories, detect collisions along trajectories, and stop unsafe jogging.

In detail this means that calculated paths can automatically avoid obstacles, you can identify potential collisions in planned motions and return details about the colliding shapes, and you can halt manual robot movements that would enter restricted zones. Note that automatic collision avoidance is not supported for jogging.

Components of collision setup

Collision detection uses 3D models to represent your robot, tools, and workspace. This information is organized into collision setups. A collision setup defines the 3D geometry used for trajectory planning. Planning requests can include multiple collision setups to represent different aspects of the environment. Each setup is checked for collisions independently.

Each collision setup consists of three types of 3D models, robot link models, tool colliders, and environment colliders.

Wandelbots NOVA provides performance-optimized 3D models for supported motion groups, generated from original CAD data. These models are automatically applied for jogging and support self-collision detection across the full range of motion.

Customize robot models if

  • your robot has cable packages or attachments extending beyond the bare links
  • you need additional safety margins
  • the motion group model is not provided by Wandelbots NOVA

Links are defined as an array where each element represents one link in the kinematic chain. Each link contains a dictionary of named colliders positioned in the link’s reference frame.

The reference frame for a link is obtained by applying all Denavit-Hartenberg parameter transformations from the robot base up to and including that link. Links without collision shapes can be defined as empty objects {}.

Tool colliders

Define tool shapes in the flange coordinate system.

Tools are structured as a dictionary of named colliders, all positioned relative to the flange frame and moving with the robot.

Environment colliders

Environment colliders represent obstacles in your workspace, e.g., walls, machines, workbenches, or safety barriers.

Like tools, environment colliders are organized as a dictionary of named colliders. All environment colliders are positioned relative to the frame where the robot is mounted.

Safety zones

Most robot controllers provide safety zones that trigger safety stops when breached.

  1. Access these with getMotionGroupDescription  as safety_zones, safety_link_colliders, and safety_tool_colliders.
  2. Always include safety shapes in your collision checks, even when using highly accurate CAD-based setups.
    The robot controller uses these shapes internally and triggers safety stops when they’re violated.
  3. Create a separate collision setup for safety zones and keep your detailed 3D representations in another setup.

Safety colliders are currently unavailable for most controllers.

Shape types

All colliders are composed of basic geometric shapes.

Wandelbots NOVA supports the following shapes:

ShapeDescription
sphereSimple radius-based shape
boxCuboid with FULL (solid) or HOLLOW (thin walls) types
rectangle2D rectangular shape
planeInfinite plane
cylinderCylindrical shape
capsuleCylinder with hemispherical end caps
rectangular_capsuleRectangular cylinder with rounded caps
convex_hullCustom shape defined by vertices

Additional safety margins

  1. Add a safety buffer to any shape using the margin parameter (in mm).

For FULL boxes, margins expand the shape. For HOLLOW boxes, margins reduce the inner cavity size.

How to treat complex geometries

Convert CAD data or 3D scans into combinations of basic shapes using convex decomposition. Contact Wandelbots Customer Success for assistance with format conversion tools.

Self-collision detection

Self-collision detection checks for collisions between the robot’s links and its attached tool. This feature works best with NOVA’s optimized robot models.

Key behaviors:

  • Adjacent links in the kinematic chain are automatically excluded from self-collision checks
  • Each collision setup can be activated or deactivated individually
  • Safety models from robot controllers are not suited for self-collision detection

Storage and organization

Store collision setups to easily reuse the collision components across multiple clients and sessions, and to simplify updates when your workspace changes.

  1. Store collision setups persistently with full CRUD operations.
  2. Store individual colliders as standalone objects for reusable components.

Limitations

Jogging: Collision detection during jogging uses the robot model from GET /api/v2/cells/{cell}/motion-groups/{motion-group}/collision-model but currently does not respect tool or environment colliders. Jogging will stop when detecting collisions but cannot plan avoidance paths.

Multi-motion group: Collision handling applies to single motion group planning. Support for multi-motion group planning with collision handling is planned.

Last updated on