TODO: move this information into the node code, as Doxygen comments. Change links to this page to point to the autogenerated node docs. Delete this page.

wavefront player

The wavefront_player node provides global planning and local control of a laser-equipped robot moving in 2-D, given a map.

Theory of operation

Under the hood, we're using the wavefront driver from Player. It implements the standard wavefront algorithm, using dynamic programming to find the lowest cost path on a grid. The robot is assumed to be circular.


Subscribes to:

  • name: scan, type: LaserScan. Pose-stamped laser scans, coming from a planar laser that is affixed to the robot, aimed parallel to the ground.

  • name: pose, type: Pose2DFloat32. Globally accurate pose estimates from the robot, e.g., from localization.

  • name: goal, type: Pose2DFloat32. Global goal

Uses RPC services:

  • name: map, type: OccMap2D. A 2-D occupancy grid map. The node will retrieve this map once, as part of its startup procedure. TODO: reference the RPC type, and explain about tile-by-tile retrieval.

Publishes to:

  • name: status, type: PlannerStatus. Status of the planner (path valid? waypoints, etc.)


Local name, type, and semantics of each parameter

Desired feature set

  • Details of required operation
  • Hardware considerations
  • Update rates, modes of operation
  • Error conditions to be detected, recovery behavior

Development Milestones

First milestone

  • done (date)

Second milestone

  • Needed to test Alphas by July 7


Wiki: wavefront_player (last edited 2009-08-14 20:53:51 by localhost)