Scalable Multicore Motion Planning Using Lock-Free Concurrency

We present Parallel Rapidly Exploring Random Tree (PRRT) and Parallel RRT* (PRRT*), which are sampling-based methods for feasible and optimal motion planning designed for modern multicore CPUs. We parallelize RRT and RRT* such that all threads concurrently build a single-motion planning tree. Parallelization in this manner requires data structures, such as the nearest neighbor search tree and the motion planning tree, to be safely shared across multiple threads. Rather than relying on the traditional locks which can result in slowdowns due to lock contention, we introduce algorithms that are based on lock-free concurrency using atomic operations. We further improve scalability by using partition-based sampling (which shrinks each core's working dataset to improve cache efficiency) and parallel work-saving (in reducing the number of rewiring steps performed in PRRT*). Because PRRT and PRRT* are CPU-based, they can be directly integrated with existing libraries. In scenarios such as the Alpha Puzzle and Cubicles scenario and the Aldebaran Nao performing a twohanded task, we demonstrate that PRRT and PRRT* scale well as core counts increase, and in some cases they exhibit superlinear speedup.

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

[2]  Wen-mei W. Hwu,et al.  GPU computing gems , 2011 .

[3]  Lydia E. Kavraki,et al.  A Sampling-Based Tree Planner for Systems With Complex Dynamics , 2012, IEEE Transactions on Robotics.

[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]  Lydia E. Kavraki,et al.  The Open Motion Planning Library , 2012, IEEE Robotics & Automation Magazine.

[6]  Carlos Vázquez,et al.  C-space decomposition using deterministic sampling and distance , 2007, 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems.

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

[8]  Charles E. Leiserson,et al.  Cache-Oblivious Algorithms , 2003, CIAC.

[9]  Sam Ade Jacobs,et al.  A scalable distributed RRT for motion planning , 2013, 2013 IEEE International Conference on Robotics and Automation.

[10]  Maged M. Michael,et al.  Simple, fast, and practical non-blocking and blocking concurrent queue algorithms , 1996, PODC '96.

[11]  Ron Alterovitz,et al.  Parallel sampling-based motion planning with superlinear speedup , 2012, 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems.

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

[13]  Paul E. McKenney,et al.  Memory Barriers: a Hardware View for Software Hackers , 2010 .

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

[15]  Didier Devaurs,et al.  Parallelizing RRT on Large-Scale Distributed-Memory Architectures , 2013, IEEE Transactions on Robotics.

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

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

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

[19]  Dinesh Manocha,et al.  Cache‐Efficient Layouts of Bounding Volume Hierarchies , 2006, Comput. Graph. Forum.

[20]  Erik Elmroth,et al.  SIAM REVIEW c ○ 2004 Society for Industrial and Applied Mathematics Vol. 46, No. 1, pp. 3–45 Recursive Blocked Algorithms and Hybrid Data Structures for Dense Matrix Library Software ∗ , 2022 .

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

[22]  Peter N. Yianilos,et al.  Data structures and algorithms for nearest neighbor search in general metric spaces , 1993, SODA '93.

[23]  Lydia Tapia,et al.  A Machine Learning Approach for Feature-Sensitive Motion Planning , 2004, WAFR.

[24]  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).

[25]  Maxim Likhachev,et al.  High-dimensional planning on the GPU , 2010, 2010 IEEE International Conference on Robotics and Automation.

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

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

[28]  Donald E. Knuth,et al.  The art of computer programming, volume 3: (2nd ed.) sorting and searching , 1998 .

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

[30]  Matteo Frigo,et al.  Cache-oblivious algorithms , 1999, 40th Annual Symposium on Foundations of Computer Science (Cat. No.99CB37039).

[31]  Donald E. Knuth,et al.  The art of computer programming: sorting and searching (volume 3) , 1973 .

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

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

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

[35]  William Rowan Hamilton,et al.  ON QUATERNIONS, OR ON A NEW SYSTEM OF IMAGINARIES IN ALGEBRA , 1847 .

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