DF Support DF Support

Dynamic Obstacle Avoidance (DOA) - NavWiz 3.2

8 min read · NavWiz

Dynamic Obstacle Avoidance (DOA)

Dynamic Obstacle Avoidance (DOA) is able to slightly alter the user's default path of AMRs if the default path is blocked by an obstacle, so that AMRs can continue to move without hitting the obstacle. This is a powerful feature to reduce human intervention and AMRs down time due an unforeseen obstacle is misplaced onto the default path, especially a trunk path.

Requirement

Hardware
Robot TypeTrackless
Obstacle Sensor2D Lidar with scan data
Software
NavWizV3.1.0 patch v3.0 and above

Setup

  1. In web user interface /config/robot-config, add a new Environment Variable of MAP_RESOLUTION with value of 0.05 and DYNAMIC_PATH_PLANNING with value of TRUE.NavWiz Config Panel showing environment variables for robot configuration — This image displays the environment variable settings for a robot, including map resolution and dynamic path planning.
  2. In web user interface /config/agv, in Executor Settings check Allowed Motions of Dynamic Path Planning.NavWiz Config Panel showing executor settings with dynamic path planning enabled — The executor settings page confirms that dynamic path planning is enabled for the AGV, allowing adaptive navigation.

Dynamic Default Path

Represented by Dash Line in map.

A simple path drawn on a grid map with two circular nodes connected by a curved line — This image shows a basic path planning example on a grid map, illustrating a route between two points.

Forbidden Zone

Forbidden zones are areas where AGV must NOT travel into during dynamic path following. The usages of forbidden zone are: 1. Act as a virtual wall or fence to avoid AGV dynamically traveling out from an area. 2. To cover any static obstacle which cannot be detected by 2D laser sensors. 3. To cover the area of holes and cliffs.

An empty grid map with plus signs indicating a coordinate system — This image displays an empty map grid, likely used as a base for designing robot navigation paths.

Example in Map

Example in Map.

A complex path with multiple waypoints navigating around obstacles on a grid map — This image illustrates a detailed navigation path with multiple waypoints, demonstrating obstacle avoidance.

Robot Radius

Robot Radius = Body Radius + Margin of Safety Body Radius is the maximum distance from Center of Wheels to all body parts of AGV with Payload. Margin of Safety is essential for unsensible parts of dynamic obstacles. It is also important to have space for deceleration before hitting dynamic obstacles.

Diagram showing robot dimensions and safety margins for corridor width — This diagram illustrates the minimum corridor width required for safe robot navigation, including body and payload dimensions.

Laser Sensors

In /config/laser-sensors, Region: Near for dynamic actions must be within the circle of Robot Radius (calculated according to value set as in AGV Dimension Profiles).

Laser sensor configuration interface with sensor area and obstacle detection settings — This image shows the laser sensor configuration page, allowing users to define sensor areas and activation parameters.

Parameter List

In /config/parameters/agv05_obstacle_sensor/edit, up to 10 profiles with different values of Robot Radius and Safety Areas can be stored and selected during runtime.

Obstacle sensor parameter settings for forward movement with dynamic area highlighted — This image displays obstacle sensor settings for forward movement, with the dynamic forward area parameter highlighted.

Group [a-c] dynamic forward area [1-10]

Obstacle sensor parameter settings for reverse movement with dynamic area highlighted — This image displays obstacle sensor settings for reverse movement, with the dynamic reverse area parameter highlighted.

Group [a-c] dynamic reverse area [1-10]

Obstacle sensor parameter settings for reverse movement with dynamic area highlighted — This image displays obstacle sensor settings for reverse movement, with the dynamic reverse area parameter highlighted.

In profile for dynamic path planning, e.g. Navx Profile 1 in /config/parameters/agv05_navx/edit, limit the Straight max speed and Bezier max speed to the same value according to use case.

Navigation profile settings for straight and bezier path speeds — This image shows navigation profile settings for straight and Bezier path maximum speeds, crucial for motion planning.

In Dynamic Path Planning Action Config of /config/parameters/agv05_navx/edit, update the settings accordingly.

NavWiz Config Panel showing dynamic path planning parameters for AGV navigation — This image displays the dynamic path planning configuration settings for an AGV, allowing users to adjust obstacle detection and planner frequency.

Dynplan obstacle sensors - Obstacle sensors to be used during dynamic path planning. - Must select at least one and then perform soft-reboot.

NavWiz Config Panel showing dynamic path planning parameters for AGV navigation — This image displays the dynamic path planning configuration settings for an AGV, allowing users to adjust obstacle detection and planner frequency.

Dynplan planner frequency - Planner update rate. - Map resolution 50mm: 4Hz ~ 10Hz - Map resolution 20mm: 2Hz ~ 4Hz - Typical: Start testing with 10Hz and gradually reduce if System Overload triggered.

NavWiz Config Panel showing dynamic path planning parameters for AGV navigation — This image displays the dynamic path planning configuration settings for an AGV, allowing users to adjust obstacle detection and planner frequency.

Dynplan search direction - Direction of on spot rotation when there is no valid path found if Dynplan search time is non 0.

NavWiz Config Panel showing dynamic path planning parameters for AGV navigation — This image displays the dynamic path planning configuration settings for an AGV, allowing users to adjust obstacle detection and planner frequency.

Dynplan search time - Timer in second for on spot rotation when there is no valid path found before prompting Safety Trigger – Path blocked. - Set to 0 to disable. - Typical: 0

NavWiz Config Panel showing dynamic path planning parameters for AGV navigation — This image displays the dynamic path planning configuration settings for an AGV, allowing users to adjust obstacle detection and planner frequency.

Dynplan retry time - Timer in second before user resume is allowed for Safety Trigger – Path blocked. - Set to 0 to disable manual resume. - Safety Trigger – Path blocked will be auto-resumed if no other Safety Triggered at the same time. - Typical: 3s

NavWiz Config Panel showing dynamic path planning parameters for AGV navigation — This image displays the dynamic path planning configuration settings for an AGV, allowing users to adjust obstacle detection and planner frequency.

Dynplan distance max - Maximum distance of dynamic path, in term x% of static pre-planned path. - x% is greater than 100%. - Typical: 200%

NavWiz Config Panel showing dynamic path planning parameters for AGV navigation — This image displays the dynamic path planning configuration settings for an AGV, allowing users to adjust obstacle detection and planner frequency.

Dynplan tolerance path - Distance error tolerance from dynamic constrained path in meter. - Typical: 0.15m

NavWiz Config Panel showing dynamic path planning parameters for AGV navigation — This image displays the dynamic path planning configuration settings for an AGV, allowing users to adjust obstacle detection and planner frequency.

Dynplan tolerance mid - Midway junction tolerance in meter. - If AGV is within the tolerance from the target midway junction of the current dynamic path, it will start to travel on the next dynamic path. - Typical: 0.5m

NavWiz Config Panel showing dynamic path planning parameters for AGV navigation — This image displays the dynamic path planning configuration settings for an AGV, allowing users to adjust obstacle detection and planner frequency.

Dynplan tolerance goal - Default stopping junction tolerance in meter. - In case the target stopping junction is blocked with an obstacle, the planner will attempt to create a plan with a goal position which is within tolerance from the target stopping junction. - Must be smaller than Straight out of path distance in /config/parameters/agv05_navx/edit#miscellaneous-config. - Typical: 0.1m

NavWiz Config Panel showing dynamic path planning parameters for AGV navigation — This image displays the dynamic path planning configuration settings for an AGV, allowing users to adjust obstacle detection and planner frequency.

To increase or decrease the preferred zone border of the dynamic path planning, change Straight out of path distance in /config/parameters/agv05_navx/edit.

Highlighted safety parameter in NavWiz Config Panel for navigation failure threshold — This image highlights the 'Straight out of path distance' parameter, which determines when navigation is considered failed.

To change the waiting distance from the obstacle during Safety Trigger – Path blocked, change Max obstacle range in /config/parameters/agv05_navx/costmap/obstacle_layer/edit.

Highlighted safety parameter in NavWiz Config Panel for navigation failure threshold — This image highlights the 'Straight out of path distance' parameter, which determines when navigation is considered failed.

Max obstacle range - The maximum distance in meters from the sensor at which an obstacle will be inserted into the cost map. - Typical: 3m

Highlighted safety parameter in NavWiz Config Panel for navigation failure threshold — This image highlights the 'Straight out of path distance' parameter, which determines when navigation is considered failed.

If the obstacle sensors have blind spots and AMR occasionally hits obstacles at its blind spots even though these obstacles have been sensed just a few seconds ago, parameters in /config/parameters/agv05_navx/costmap/obstacle_layer/edit can be altered.

Highlighted safety parameter in NavWiz Config Panel for navigation failure threshold — This image highlights the 'Straight out of path distance' parameter, which determines when navigation is considered failed.

Footprint clearing enabled - Uncheck to disable clearing of the lethal obstacles found within robot footprint radius. - Typical: ✔

Highlighted safety parameter in NavWiz Config Panel for navigation failure threshold — This image highlights the 'Straight out of path distance' parameter, which determines when navigation is considered failed.

Obstacle timeout - Timer in second before a registered obstacle by 3D camera in costmap is removed. - Set to 0 to have all registered obstacles can only be cleared manually or after action done. - Typical: 30s

Highlighted safety parameter in NavWiz Config Panel for navigation failure threshold — This image highlights the 'Straight out of path distance' parameter, which determines when navigation is considered failed.

Raytrace timeout - Timer in second before a registered obstacle by 2D LiDAR in costmap is removed. - Set to 0 to have all registered obstacles can only be cleared by obstacle sensors or manually or after action done. - Typical: 0

Highlighted safety parameter in NavWiz Config Panel for navigation failure threshold — This image highlights the 'Straight out of path distance' parameter, which determines when navigation is considered failed.

Decay model - The time decaying model as the distance in between obstacles and AGV increases. - Constant : All registered obstacles will have the same decaying time of Obstacle timeout or Raytrace timeout: $t=t_{\scriptscriptstyle \Omega}$ - Linear : The decaying time is reduced linearly starting from Obstacle timeout or Raytrace timeout: $t = t_0(1 - 0.2d)$ - Exponential : The decaying time is reduced exponentially starting from Obstacle timeout or Raytrace timeout: $t = t_0 \left[ e^{-0.2d^2} \right]$ - Typical: Constant

Highlighted safety parameter in NavWiz Config Panel for navigation failure threshold — This image highlights the 'Straight out of path distance' parameter, which determines when navigation is considered failed.

If AMR occasionally overshoots and is stuck forever within the inscribed inflated region of obstacles (or even sensing noise), parameters in /config/parameters/agv05_navx/costmap/inflation_layer/edit can be altered.

Highlighted safety parameter in NavWiz Config Panel for navigation failure threshold — This image highlights the 'Straight out of path distance' parameter, which determines when navigation is considered failed.

Footprint clearing enabled - Check to enable clearing of the inscribed inflated obstacles found within robot footprint radius. - Typical: ✔

Highlighted safety parameter in NavWiz Config Panel for navigation failure threshold — This image highlights the 'Straight out of path distance' parameter, which determines when navigation is considered failed.

Golden value can be used for all of the parameters which are not in the list below.

Highlighted safety parameter in NavWiz Config Panel for navigation failure threshold — This image highlights the 'Straight out of path distance' parameter, which determines when navigation is considered failed.

Zalpha with 180° Lidar /config/parameters/agv05_navx/edit#dynamic-path-planning-config - Dynplan retry time: 3

Highlighted safety parameter in NavWiz Config Panel for navigation failure threshold — This image highlights the 'Straight out of path distance' parameter, which determines when navigation is considered failed.

/config/parameters/agv05_navx/costmap/obstacle_layer/edit - Footprint clearing enabled: Unchecked - Raytrace timeout: 0

Highlighted safety parameter in NavWiz Config Panel for navigation failure threshold — This image highlights the 'Straight out of path distance' parameter, which determines when navigation is considered failed.

/config/parameters/agv05_navx/costmap/inflation_layer/edit - Footprint clearing enabled: Checked

Highlighted safety parameter in NavWiz Config Panel for navigation failure threshold — This image highlights the 'Straight out of path distance' parameter, which determines when navigation is considered failed.

Task Skills

Station - Destination station. Align Station Type - Station alignment. - 0 : front line sensor. - 1 : rear line sensor. - -1 : trackless localization. Next Motion - Next motion after the final junction. - 0 : Idle - 1 : Non-Stop - 2 : Rotate Left - 3 : Rotate Right - 4 : Bezier Path Next Speed - Maximum moving speed in meters per second after the final junction. Sense Line - Sense line option. - 0 : Disable. - 1 : Stop after reaching the distance past the line. - 2 : Stop immediately when the line is sensed. - 3 : Stop after reaching the distance past the full line. - 4 : Stop immediately when the full line is sensed. Speed - Maximum moving speed in meters per second. Forward - true : Forward motion. - false : Reverse motion. Enable Sensor - true : Enable obstacle sensor. - false : Disable obstacle sensor. Goal Tolerance - Goal tolerance in meters from end position. - Values equal or greater than 0 will be used directly. - -1 : Dynplan tolerance mid. - -2 : Dynplan tolerance goal.

Four navigation action panels showing parameters for different movement commands — This image shows four navigation action panels with parameters for Navigate To, Reverse Navigate To, Ambi Navigate To, and Go To Station Waypoint.

Distance - Distance in meters to move. End X - End position X (positive to front of AGV) in meters from center of wheels of AGV. End Y - End position Y (positive to left of AGV) in meters from center of wheels of AGV. Cp1 X - Bezier curve 1st control point X (positive to front of AGV) in meters from center of wheels of AGV. Cp1 Y - Bezier curve 1st control point Y (positive to left of AGV) in meters from center of wheels of AGV. Cp2 X - Bezier curve 2nd control point X (positive to front of AGV) in meters from center of wheels of AGV. Cp2 Y - Bezier curve 2nd control point Y (positive to left of AGV) in meters from center of wheels of AGV. Marker Type - Refer to Docking Actions. Target X - X coordinate of the target (in meters) in the marker frame (positive to front of marker). Target Y - Y coordinate of the target (in meters) in the marker frame. Target Heading - Target heading (in degrees) in the marker frame. - -1 : random final AGV heading. Timeout - Timeout duration in seconds. Speed - Maximum moving speed in meters per second. Forward - true : Forward motion. - false : Reverse motion. Absolute Heading - 0 : Forward motion. - -1 : Reverse motion. - 1-360 : Lock heading in degrees with respect to map. Enable Sensor - true : Enable obstacle sensor. - false : Disable obstacle sensor. Goal Tolerance - Goal tolerance in meters from end position. - Values equal or greater than 0 will be used directly. - -1 : Dynplan tolerance mid. - -2 : Dynplan tolerance goal.

Six dynamic movement panels showing parameters for trackless motion commands — This image displays six dynamic movement panels for trackless navigation, including forward, reverse, and omni-directional motion.

Example in Map.

Go To Marker Waypoint panel with parameters for target location and speed — This image shows the 'Go To Marker Waypoint' panel with parameters for target coordinates, speed, and timeout.

X - Coordinate X reference to map. Y - Coordinate Y reference to map. Heading - Final AGV heading in degree with respect to map. - 0 : random final AGV heading. Speed - Maximum moving speed in meters per second. Forward - true : Forward motion. - false : Reverse motion. Enable Sensor - true : Enable obstacle sensor. - false : Disable obstacle sensor. Goal Tolerance - Goal tolerance in meters from end position. - Values equal or greater than 0 will be used directly. - -1 : Dynplan tolerance mid. - -2 : Dynplan tolerance goal.

Go To Waypoint panel with parameters for X, Y coordinates and heading — This image displays the 'Go To Waypoint' panel with parameters for target coordinates, heading, and speed.

Once activated, touch on map to set target position, and optional drag before releasing touch on map to set final heading of AGV.

Manual Control interface showing map with robot position and control buttons — This image shows the manual control interface with a map view, speed slider, and forward/reverse motion controls.

Example in Map.

Manual Control interface showing robot navigating around obstacles on map — This image displays the robot navigating around obstacles in the manual control interface, with a highlighted position on the map.

Precautions

The software is using a map grid resolution of 0.05 m. Minimum Corridor Width = 2 x Robot Radius + 0.15 m.

Yellow diamond-shaped road sign indicating a winding road ahead — This image shows a yellow diamond-shaped warning sign indicating a winding road ahead.

If there is a dynamic obstacle moving at high speed in the environment, AGV has to move at slow speed or it may hit the dynamic obstacle which jumps into its way.

Yellow rectangular road sign indicating school zone with 30 km/h speed limit — This image displays a yellow rectangular sign indicating a school zone with a 30 km/h speed limit.

Limitations

Zalpha with 180° Lidar With 0 value of Raytrace timeout, Zalpha with 180° lidar is not able to plan a path to a target position in its blind spot even after the removal of the obstacle at the target position. The only solution for this is to manually clear the obstacle that blocks the sight towards target position or manual resume from the user interface.

Test Results

List of related tests which have been carried out: - TRF 1.00.00079 Dynamic Path Planning - TRF 1.00.0098 Dynamic Path Planning for Zalpha with 180deg Lidar - TRF 1.00.0099 Limitations of Dynamic Path Planning for Zalpha with 180deg Lidar

Was this article helpful?

Still stuck? How can we help?

Reach out to our support team on WhatsApp for personalized assistance.

Chat with us on WhatsApp

Updated on August 28, 2026