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.
Robot link models
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.
- Access these with getMotionGroupDescription as
safety_zones,safety_link_colliders, andsafety_tool_colliders. - 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. - 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:
| Shape | Description |
|---|---|
sphere | Simple radius-based shape |
box | Cuboid with FULL (solid) or HOLLOW (thin walls) types |
rectangle | 2D rectangular shape |
plane | Infinite plane |
cylinder | Cylindrical shape |
capsule | Cylinder with hemispherical end caps |
rectangular_capsule | Rectangular cylinder with rounded caps |
convex_hull | Custom shape defined by vertices |
Additional safety margins
- Add a safety buffer to any shape using the
marginparameter (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.
- Store collision setups persistently with full CRUD operations.
- 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.