Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3470496.3527383acmconferencesArticle/Chapter ViewAbstractPublication PagesiscaConference Proceedingsconference-collections
research-article
Open access

RACOD: algorithm/hardware co-design for mobile robot path planning

Published: 11 June 2022 Publication History
  • Get Citation Alerts
  • Abstract

    RACOD is an algorithm/hardware co-design for mobile robot path planning. It consists of two main components: CODAcc, a hardware accelerator for collision detection; and RASExp, an algorithm extension for runahead path exploration. CODAcc uses a novel MapReduce-style hardware computational model and massively parallelizes individual collision checks. RASExp predicts future path explorations and proactively computes its collision status ahead of time, thereby overlapping multiple collision detections. By affording multiple cheap CODAcc accelerators and overlapping collision detections using RASExp, RACOD significantly accelerates planning for mobile robots operating in arbitrary environments. Evaluations of popular benchmarks show up to 41.4× (self-driving cars) and 34.3× (pilotless drones) speedup with less than 0.3% area overhead.
    While the performance is maximized when CODAcc and RASExp are used together, they can also be used individually. To illustrate, we evaluate CODAcc alone in the context of a stationary robotic arm and show that it improves performance by 3.4×--3.8×. Also, we evaluate RASExp alone on commodity many-core CPU and GPU platforms by implementing it purely in software and show that with 32/128 CPU/GPU threads, it accelerates the end-to-end planning time by 8.6×/2.9×.

    References

    [1]
    2012. Intel Xeon Processor E5-2670. https://ark.intel.com/content/www/us/en/ark/products/64595/.
    [2]
    2012. LoCoBot: An Open Source Low Cost Robot. http://www.locobot.org/.
    [3]
    2015. Arduino Ant Hexapod Robot. https://antdroid.grigri.cloud/.
    [4]
    2016. GeForce GTX 1060. https://www.nvidia.com/en-in/geforce/products/10series/geforce-gtx-1060/.
    [5]
    2018. Intel Core I3-8109U Processor. https://ark.intel.com/content/www/us/en/ark/products/135936/.
    [6]
    Maleen Abeydeera and Daniel Sanchez. 2020. Chronos: Efficient Speculative Parallelism for Accelerators. In International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS).
    [7]
    Ron Alterovitz, Sven Koenig, and Maxim Likhachev. 2016. Robot Planning in the Real World: Research Challenges and Opportunities. AI Magazine (2016).
    [8]
    Sotiris Apostolakis, Ziyang Xu, Greg Chan, Simone Campanoni, and David I August. 2020. Perspective: A Sensible Approach to Speculative Automatic Parallelization. In International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS).
    [9]
    Mohammad Bakhshalipour, Maxim Likhachev, and Phillip B. Gibbons. 2022. RTRBench: A Benchmark Suite for Real-Time Robotics. In IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS). https://cmu-roboarch.github.io/rtrbench.
    [10]
    Sven Behnke. 2003. Local Multiresolution Path Planning. In Robot Soccer World Cup.
    [11]
    Joshua Bialkowski, Sertac Karaman, and Emilio Frazzoli. 2011. Massively Parallelizing the RRT and the RRT*. In International Conference on Intelligent Robots and Systems (IROS).
    [12]
    Ethan Burns, Seth Lemons, Wheeler Ruml, and Rong Zhou. 2010. Best-First Heuristic Search for Multicore Machines. Journal of Artificial Intelligence Research (2010).
    [13]
    Trishul M. Chilimbi and Martin Hirzel. 2002. Dynamic Hot Data Stream Prefetching for General-Purpose Programs. In Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation.
    [14]
    Steve Cousins. 2010. ROS on the PR2 [ROS Topics]. IEEE Robotics & Automation Magazine (2010).
    [15]
    Sina Darabi, Negin Mahani, Hazhir Baxishi, Ehsan Yousefzadeh-Asl- Miandoab, Mohammad Sadrosadati, and Hamid Sarbazi-Azad. 2022. NURA: A Framework for Supporting Non-Uniform Resource Accesses in GPUs. Proceedings of the ACM on Measurement and Analysis of Computing Systems (2022).
    [16]
    Rina Dechter and Judea Pearl. 1985. Generalized Best-First Search Strategies and the Optimality of A. Journal of the ACM (JACM) (1985).
    [17]
    Christer Ericson. 2004. Real-Time Collision Detection.
    [18]
    Hadi Esmaeilzadeh, Adrian Sampson, Luis Ceze, and Doug Burger. 2012. Neural Acceleration for General-Purpose Approximate Programs. In International Symposium on Microarchitecture (MICRO).
    [19]
    Matthew Evett, James Hendler, Ambuj Mahanti, and Dana Nau. 1995. PRA*: Massively Parallel Heuristic Search. J. Parallel and Distrib. Comput. (1995).
    [20]
    Peter E Hart, Nils J Nilsson, and Bertram Raphael. 1968. A Formal Basis for the Heuristic Determination of Minimum Cost Paths. IEEE Transactions on Systems Science and Cybernetics (1968).
    [21]
    Maurice Herlihy and J Eliot B Moss. 1993. Transactional Memory: Architectural Support for Lock-Free Data Structures. In International Symposium on Computer Architecture (ISCA).
    [22]
    Kekib Irani and Yi-Fon Shih. 1986. Parallel A* and AO* Algorithms-An Optimality Criterion and Performance Evaluation. In International Conference on Parallel Processing.
    [23]
    Hakbeom Jang, Yongjun Lee, Jongwon Kim, Youngsok Kim, Jangwoo Kim, Jinkyu Jeong, and Jae W Lee. 2016. Efficient Footprint Caching for Tagless Dram Caches. In International Symposium on High-Performance Computer Architecture (HPCA).
    [24]
    Mark C. Jeffrey, Suvinay Subramanian, Cong Yan, Joel Emer, and Daniel Sanchez. 2015. A Scalable Architecture for Ordered Parallelism. In International Symposium on Microarchitecture (MICRO).
    [25]
    Lydia E Kavraki, Petr Svestka, J-C Latombe, and Mark H Overmars. 1996. Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces. IEEE Transactions on Robotics and Automation (1996).
    [26]
    Akihiro Kishimoto, Alex Fukunaga, and Adi Botea. 2009. Scalable, Parallel Best-First Search for Optimal Sequential Planning. In International Conference on Automated Planning and Scheduling.
    [27]
    Dan Klein and Christopher D Manning. 2003. A* Parsing: Fast Exact Viterbi Parse Selection. In Human Language Technology Conference of the North American Chapter of the Association for Computational Linguistics.
    [28]
    Yoshiaki Kuwata, Justin Teo, Gaston Fiore, Sertac Karaman, Emilio Frazzoli, and Jonathan P How. 2009. Real-Time Motion Planning with Applications to Autonomous Urban Driving. IEEE Transactions on control systems technology (2009).
    [29]
    Steven M LaValle et al. 1998. Rapidly-Exploring Random Trees: A New Tool for Path Planning. (1998).
    [30]
    Jiaoyang Li, Zhe Chen, Daniel Harabor, P Stuckey, and Sven Koenig. 2021. Anytime Multi-Agent Path Finding Via Large Neighborhood Search. In International Joint Conference on Artificial Intelligence (IJ- CAI).
    [31]
    Shiqi Lian, Yinhe Han, Xiaoming Chen, Ying Wang, and Hang Xiao. 2018. Dadu-P: A Scalable Accelerator for Robot Motion Planning in a Dynamic Environment. In Design Automation Conference (DAC).
    [32]
    Pejman Lotfi-Kamran, Boris Grot, Michael Ferdman, Stavros Volos, Onur Kocberber, Javier Picorel, Almutaz Adileh, Djordje Jevdjic, Sachin Idgunji, Emre Ozer, et al. 2012. Scale-Out Processors. (2012).
    [33]
    Samuel Moore. 2019. 3 New Chips to Help Robots Find Their Way Around. IEEE Spectrum (2019).
    [34]
    Sean Murray, Will Floyd-Jones, George Konidaris, and Daniel J Sorin. 2019. A Programmable Architecture for Robot Motion Planning Acceleration. In International Conference on Application-specific Systems, Architectures and Processors (ASAP).
    [35]
    Sean Murray, William Floyd-Jones, Ying Qi, George Konidaris, and Daniel J Sorin. 2016. The Microarchitecture of a Real-Time Robot Motion Planning Accelerator. In International Symposium on Microarchitecture (MICRO).
    [36]
    Sean Murray, Will Floyd-Jones, Ying Qi, Daniel J Sorin, and George Dimitri Konidaris. 2016. Robot Motion Planning on a Chip. In Robotics: Science and Systems.
    [37]
    Mike Phillips, Maxim Likhachev, and Sven Koenig. 2014. PA*SE: Parallel A* for Slow Expansions. In Proceedings of the International Conference on Automated Planning and Scheduling.
    [38]
    Ira Pohl. 1970. Heuristic Search Viewed As Path Finding in a Graph. Artificial intelligence (1970).
    [39]
    Daniel Sanchez and Christos Kozyrakis. 2013. ZSim: Fast and Accurate Microarchitectural Simulation of Thousand-Core Systems. In International Symposium in Computer Architecture (ISCA).
    [40]
    Manjunath Shevgoor, Sahil Koladiya, Rajeev Balasubramonian, Chris Wilkerson, Seth H Pugsley, and Zeshan Chishti. 2015. Efficiently Prefetching Complex Address Patterns. In International Symposium on Microarchitecture (MICRO).
    [41]
    Egor Shipovalov and Valentin Pryanichnikov. 2020. Scalable State Space Search on the GPU with Multi-Level Parallelism. In 2020 19th International Symposium on Parallel and Distributed Computing (ISPDC).
    [42]
    Nathan R Sturtevant. 2012. Benchmarks for Grid-Based Pathfinding. IEEE Transactions on Computational Intelligence and AI in Games (TCIAIG) (2012).
    [43]
    Richard Anthony Valenzano, Nathan Sturtevant, Jonathan Schaeffer, Karen Buro, and Akihiro Kishimoto. 2010. Simultaneously Searching with Multiple Settings: An Alternative to Parameter Tuning for Sub-optimal Single-Agent Search Algorithms. In International Conference on Automated Planning and Scheduling.
    [44]
    Vincent Vidal, Lucas Bordeaux, and Youssef Hamadi. 2010. Adaptive K-Parallel Best-First Search: A Simple but Efficient Algorithm for Multi-Core Domain-Independent Planning. In Annual Symposium on Combinatorial Search.
    [45]
    Zishen Wan, Bo Yu, Thomas Yuang Li, Jie Tang, Yuhao Zhu, Yu Wang, Arijit Raychowdhury, and Shaoshan Liu. 2020. A Survey of FPGA-Based Robotic Computing. arXiv preprint arXiv:2009.06034 (2020).
    [46]
    Christopher Makoto Wilt and Wheeler Ruml. 2012. When Does Weighted A* Fail?. In SOCS.
    [47]
    Kai M Wurm, Armin Hornung, Maren Bennewitz, Cyrill Stachniss, and Wolfram Burgard. 2010. OctoMap: A Probabilistic, Flexible, and Compact 3D Map Representation for Robotic Systems. In Proc. of the ICRA 2010 workshop on best practice in 3D perception and modeling for mobile manipulation.
    [48]
    Victor A Ying, Mark C Jeffrey, and Daniel Sanchez. 2020. T4: Compiling Sequential Code for Effective Speculative Parallelization in Hardware. In International Symposium on Computer Architecture (ISCA).
    [49]
    Bo Yu, Wei Hu, Leimeng Xu, Jie Tang, Shaoshan Liu, and Yuhao Zhu. 2020. Building the Computing System for Autonomous Micromobility Vehicles: Design Constraints and Architectural Optimizations. In International Symposium on Microarchitecture (MICRO).
    [50]
    Zhijia Zhao, Bo Wu, and Xipeng Shen. 2014. Challenging the "Embarrassingly Sequential": Parallelizing Finite State Machine-Based Computations Through Principled Speculation. In International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS).
    [51]
    Yichao Zhou, Wei Xu, Bruce R Donald, and Jianyang Zeng. 2014. An Efficient Parallel Algorithm for Accelerating Computational Protein Design. Bioinformatics (2014).

    Cited By

    View all
    • (2024)Agents of Autonomy: A Systematic Study of Robotics on Modern HardwareACM SIGMETRICS Performance Evaluation Review10.1145/3673660.365504352:1(25-26)Online publication date: 13-Jun-2024
    • (2024)Agents of Autonomy: A Systematic Study of Robotics on Modern HardwareAbstracts of the 2024 ACM SIGMETRICS/IFIP PERFORMANCE Joint International Conference on Measurement and Modeling of Computer Systems10.1145/3652963.3655043(25-26)Online publication date: 10-Jun-2024
    • (2024)Collision Prediction for Robotics Accelerators2024 ACM/IEEE 51st Annual International Symposium on Computer Architecture (ISCA)10.1109/ISCA59077.2024.00048(566-581)Online publication date: 29-Jun-2024
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ISCA '22: Proceedings of the 49th Annual International Symposium on Computer Architecture
    June 2022
    1097 pages
    ISBN:9781450386104
    DOI:10.1145/3470496
    This work is licensed under a Creative Commons Attribution International 4.0 License.

    Sponsors

    In-Cooperation

    • IEEE CS TCAA: IEEE CS technical committee on architectural acoustics

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 11 June 2022

    Check for updates

    Author Tags

    1. collision detection
    2. hardware acceleration
    3. path planning
    4. robotics
    5. speculative parallelism

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    ISCA '22
    Sponsor:

    Acceptance Rates

    ISCA '22 Paper Acceptance Rate 67 of 400 submissions, 17%;
    Overall Acceptance Rate 543 of 3,203 submissions, 17%

    Upcoming Conference

    ISCA '25

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)478
    • Downloads (Last 6 weeks)40
    Reflects downloads up to 11 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Agents of Autonomy: A Systematic Study of Robotics on Modern HardwareACM SIGMETRICS Performance Evaluation Review10.1145/3673660.365504352:1(25-26)Online publication date: 13-Jun-2024
    • (2024)Agents of Autonomy: A Systematic Study of Robotics on Modern HardwareAbstracts of the 2024 ACM SIGMETRICS/IFIP PERFORMANCE Joint International Conference on Measurement and Modeling of Computer Systems10.1145/3652963.3655043(25-26)Online publication date: 10-Jun-2024
    • (2024)Collision Prediction for Robotics Accelerators2024 ACM/IEEE 51st Annual International Symposium on Computer Architecture (ISCA)10.1109/ISCA59077.2024.00048(566-581)Online publication date: 29-Jun-2024
    • (2024)Tartan: Microarchitecting a Robotic Processor2024 ACM/IEEE 51st Annual International Symposium on Computer Architecture (ISCA)10.1109/ISCA59077.2024.00047(548-565)Online publication date: 29-Jun-2024
    • (2024)MOPED: Efficient Motion Planning Engine with Flexible Dimension Support2024 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA57654.2024.00043(483-497)Online publication date: 2-Mar-2024
    • (2023)Characterizing and Improving Resilience of Accelerators to Memory Errors in Autonomous RobotsACM Transactions on Cyber-Physical Systems10.1145/3627828Online publication date: 23-Oct-2023
    • (2023)Agents of Autonomy: A Systematic Study of Robotics on Modern HardwareProceedings of the ACM on Measurement and Analysis of Computing Systems10.1145/36267747:3(1-31)Online publication date: 12-Dec-2023
    • (2022)RTRBench: A Benchmark Suite for Real-Time Robotics2022 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS)10.1109/ISPASS55109.2022.00024(175-186)Online publication date: May-2022

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media