INTRODUCTION Overview Download and Install Quick Start Documentation Publications NONFRAMEWORK CODE Driver Interfaces Drivers Libraries Utilities FRAMEWORK CODE Interfaces Components Libraries Utilities Full Software Listings DEVELOPER Tutorials Examples Dev Guide Dashboard PEOPLE Contributors Users Project Download Mailing lists
|
PathPlanner
|
Computes a path in a 2D occupancy grid map.
The pathplanner acts like a service receiving tasks from third parties and returning a computed path in a 2D world represented by an occupancy grid map. An example for a third party is the orca_component_pathplantester.
PathPlanner.Config.Algorithm
(string)PathPlanner.Config.TraversabilityThreshhold
(double)PathPlanner.Config.RobotDiameterMetres
(double) [m]PathPlanner.Config.DoPathOptimization
(bool)PathPlanner.Config.JiggleWaypointsOntoClearCells
(bool)PathPlanner.Config.Skeleton.Cost.DistanceThreshold
(double)PathPlanner.Config.Skeleton.Cost.CostMultiplier
(double)PathPlanner.Config.Skeleton.SparseSkelAddExtraNodes
(bool)PathPlanner.Config.Skeleton.SparseSkelExtraNodeResolution
(double)PathPlanner.Config.Skeleton.ProvideGraphics
(bool)An example configuration file is installed into [ORCA-INSTALL-DIR]/share/orca/cfg/ directory.
Algorithms are listed below. The quoted (approximate) speed of each algorithm is for a Release build, for a single path segment on a 500x500-cell world.
This algorithm is described in Latombe, "Robot Motion Planning", sec. 4.2.1. It is a simple grid-potential based method using wavefront propagation. We added the consideration of the robot platform's size.
This algorithm is described in Latombe, "Robot Motion Planning", sec. 4.2.2. It computes an improved numverical navigation function by first extracting a skeleton.
This algorithm uses the Skeleton navigation algorithm. After generating a dense skeleton, it extracts a sparse set of nodes and arcs between those nodes. This is much faster to plan on.
Both skeleton navigation algorithms can display the computed skeleton in OrcaView2d using the orca_interface_qgraphics2d interface. This is useful for debugging purposes. The skeleton is not part of the orca_interface_pathplanner2d interface data.
This algorithm takes a fine-grained path and tries to find shortcuts by raytracing between waypoints. If no obstacle is in the way it will discard all the waypoints in between. The path it computes contains much fewer waypoints than the original path. A negative side-effect is that the path gets close to the walls but the local navigation should take care of this.
This algorithm uses the famous A* search algorithm to guarantee the shortest path from start to goal. The heuristic takes diagonal traversing into account. Original implementation was done by Pham Ngoc Hai (h dot pham at acfr.usyd.edu.au).
Bibtex reference to the LaTombe book which contains the gridpotential-based algorithms (Simple navigation and Skeleton navigation):
@Book{latombe91robot, author = {Jean-Claude Latombe}, title = {Robot Motion Planning}, publisher = {Kluwer Academic Publishers}, year = {1991} }
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)