Nearness Diagram Navigation. More...

Nearness Diagram Navigation.

This driver implements the Nearness Diagram Navigation algorithm. This algorithm handles local collision-avoidance and goal-seeking and is designed for non-holonomic, non-circular robots operating in tight spaces. The algorithm is in the following papers:

This driver reads pose information from a position2d device, sensor data from a laser device and/or sonar device, and writes commands to a position2d device. The two position2d devices can be the same. At least one device of type laser or sonar must be provided.

The driver itself supports the position2d interface. Send PLAYER_POSITION2D_CMD_POS commands to set the goal pose. The driver also accepts PLAYER_POSITION2D_CMD_VEL commands, simply passing them through to the underlying output device.

Compile-time dependencies
Provides
Requires
Configuration requests
Configuration file options
Example
driver
(
  name "nd"
  provides ["position2d:1"]
  requires ["output:::position2d:0" "input:::position2d:0" "laser:0" "sonar:0"]

  max_speed [0.3 30.0]
  min_speed [0.1 10.0]
  goal_tol [0.3 15.0]
  wait_on_stall 1

  rotate_stuck_time 5.0
  translate_stuck_time 5.0
  translate_stuck_dist 0.15
  translate_stuck_angle 10.0

  avoid_dist 0.4
  safety_dist 0.0

  laser_buffer 1
  sonar_buffer 1
)
Author
Javier Minguez (underlying algorithm), Brian Gerkey (driver integration)