Concurrent dynamic programming for grid-based problems and its application for real-time path planning

This paper presents a concurrent approach for solving dynamic programming optimization problems such as the generation of optimal cost-to-go functions for robot motion planning in dense environments. Such optimization techniques are core to many robotics problems, but traditional approaches are inherently impractical due to their computational complexity. This limitation usually results in a configuration space being subsampled, lower configuration space coverage, less frequent planner updates, or the use of sub-optimal graph-based road map methods. The proposed approach provides mathematically identical results to traditional grid-based motion planning solvers in at least an order of magnitude less time by leveraging the concurrent architecture found in modern graphics hardware. Although results given here are presented in a robot navigation context, they are also applicable to other dynamic programming problems. We present a highly concurrent grid-based robot motion planner.The planner is implemented to run on modern graphics hardware.The algorithm runs in O ( N ) time for N cells in the grid.Can exhaustively plan on a 50ha campus with 1 m × 1 m resolution in real-time.

[1]  David Patterson The trouble with multi-core , 2010, IEEE Spectrum.

[2]  Favio R. Masson,et al.  Navigation and Mapping in Large Unstructured Environments , 2004, Int. J. Robotics Res..

[3]  Mark J. Harris Mapping computational concepts to GPUs , 2005, SIGGRAPH Courses.

[4]  Daniel E. Koditschek,et al.  Exact robot navigation by means of potential functions: Some topological considerations , 1987, Proceedings. 1987 IEEE International Conference on Robotics and Automation.

[5]  Gregory R. Andrews,et al.  Concurrent programming - principles and practice , 1991 .

[6]  Nancy M. Amato,et al.  A randomized roadmap method for path and manipulation planning , 1996, Proceedings of IEEE International Conference on Robotics and Automation.

[7]  Jean-Claude Latombe,et al.  Robot motion planning , 1970, The Kluwer international series in engineering and computer science.

[8]  Cole Trapnell,et al.  Optimizing data intensive GPGPU computations for DNA sequence alignment , 2009, Parallel Comput..

[9]  Michael Barbehenn,et al.  A Note on the Complexity of Dijkstra's Algorithm for Graphs with Weighted Vertices , 1998, IEEE Trans. Computers.

[10]  Sebastian Thrun,et al.  Integrating Grid-Based and Topological Maps for Mobile Robot Navigation , 1996, AAAI/IAAI, Vol. 2.

[11]  Riccardo Scattolini,et al.  A stabilizing model-based predictive control algorithm for nonlinear systems , 2001, Autom..

[12]  Roland Siegwart,et al.  Hybrid simultaneous localization and map building: a natural integration of topological and metric , 2003, Robotics Auton. Syst..

[13]  Nils J. Nilsson,et al.  A Formal Basis for the Heuristic Determination of Minimum Cost Paths , 1968, IEEE Trans. Syst. Sci. Cybern..

[14]  Pam Frost Gorder Multicore Processors for Science and Engineering , 2007, Computing in Science & Engineering.

[15]  R. Schaller,et al.  Moore's law: past, present and future , 1997 .

[16]  José E. Guivant,et al.  Efficient path planning in deformable maps , 2009, 2009 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[17]  Dinesh Manocha,et al.  Randomized Path Planning for a Rigid Body Based on Hardware Accelerated Voronoi Sampling , 1999 .

[18]  Kevin Skadron,et al.  Accelerating SQL database operations on a GPU with CUDA , 2010, GPGPU-3.

[19]  Hugh F. Durrant-Whyte,et al.  Parallel grid-based recursive Bayesian estimation using GPU for real-time autonomous navigation , 2010, 2010 IEEE International Conference on Robotics and Automation.

[20]  Jose Guivant,et al.  Parallel Evaluation of a Spatial Traversability Cost Function on GPU for Efficient Path Planning , 2011 .

[21]  Maxim Likhachev,et al.  Path Planning with Adaptive Dimensionality , 2011, SOCS.

[22]  Alberto Elfes,et al.  Using occupancy grids for mobile robot perception and navigation , 1989, Computer.

[23]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.