Parallel sampling-based motion planning with superlinear speedup

We present PRRT (Parallel RRT) and PRRT* (Parallel RRT*), sampling-based methods for feasible and optimal motion planning that are tailored to execute on modern multi-core CPUs. Our algorithmic improvements enable PRRT and PRRT* to achieve a superlinear speedup: when p processor cores are used instead of 1 processor core, computation time is sped up by a factor greater than p. To achieve this superlinear speedup, our algorithms utilize three key features: (1) lock-free parallelism using atomic operations to eliminate slowdowns caused by lock overhead and contention, (2) partition-based sampling to reduce the size of each processor core's working data set to improve cache efficiency, and (3) parallel backtracking to reduce the number of rewiring steps performed in PRRT*. Our parallel algorithms retain the ability to integrate with existing CPU-based libraries and algorithms. We demonstrate fast performance and superlinear speedups in two scenarios: (1) a holonomic disc-shaped robot moving in a planar environment and (2) an Aldebaran Nao small humanoid robot performing a 2-handed manipulation task using 10 DOF.

[1]  David M. Mount,et al.  It's okay to be skinny, if your friends are fat , 1999 .

[2]  Nancy M. Amato,et al.  Probabilistic roadmap methods are embarrassingly parallel , 1999, Proceedings 1999 IEEE International Conference on Robotics and Automation (Cat. No.99CH36288C).

[3]  David A. Patterson,et al.  Computer Architecture - A Quantitative Approach (4. ed.) , 2007 .

[4]  Lydia E. Kavraki,et al.  Distributed Sampling-Based Roadmap of Trees for Large-Scale Motion Planning , 2005, Proceedings of the 2005 IEEE International Conference on Robotics and Automation.

[5]  Nikolaus Correll,et al.  Path Planning with Forests of Random Trees: Parallelization with Super Linear Speedup ; CU- , 2011 .

[6]  Steven M. LaValle,et al.  Improving Motion-Planning Algorithms by Efficient Nearest-Neighbor Searching , 2007, IEEE Transactions on Robotics.

[7]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[8]  Enrico Pagello,et al.  On Parallel RRTs for Multi-robot Systems , 2002 .

[9]  Dinesh Manocha,et al.  A Voronoi-based hybrid motion planner , 2001, Proceedings 2001 IEEE/RSJ International Conference on Intelligent Robots and Systems. Expanding the Societal Role of Robotics in the the Next Millennium (Cat. No.01CH37180).

[10]  Dinesh Manocha,et al.  g-Planner: Real-time Motion Planning and Global Navigation using GPUs , 2010, AAAI.

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

[12]  Wen-mei W. Hwu,et al.  GPU Computing Gems Jade Edition , 2011 .

[13]  Steven M. LaValle,et al.  Planning algorithms , 2006 .

[14]  Emilio Frazzoli,et al.  Massively parallelizing the RRT and the RRT , 2011, 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[15]  Martin Barland Motion Planning Framework for Industrial Manipulators using the Open Motion Planning Library (OMPL) , 2012 .

[16]  Bruce Randall Donald,et al.  Real-time robot motion planning using rasterizing computer graphics hardware , 1990, SIGGRAPH.

[17]  John D. Valois Lock-free linked lists using compare-and-swap , 1995, PODC '95.

[18]  Jon Louis Bentley,et al.  Multidimensional binary search trees used for associative searching , 1975, CACM.

[19]  LengyelJed,et al.  Real-time robot motion planning using rasterizing computer graphics hardware , 1990 .

[20]  Emilio Frazzoli,et al.  Sampling-based algorithms for optimal motion planning , 2011, Int. J. Robotics Res..

[21]  Dinesh Manocha,et al.  Interactive motion planning using hardware-accelerated computation of generalized Voronoi diagrams , 2000, Proceedings 2000 ICRA. Millennium Conference. IEEE International Conference on Robotics and Automation. Symposia Proceedings (Cat. No.00CH37065).