簡易檢索 / 詳目顯示

研究生: 王紹華
Wang, Shao-Hua
論文名稱: 一個基於 ROS 的自動駕駛系統效能分析框架
A Performance Profiling Framework for ROS Based Autonomous Driving Systems
指導教授: 涂嘉恒
Tu, Chia-Heng
學位類別: 博士
Doctor
系所名稱: 電機資訊學院 - 資訊工程學系
Department of Computer Science and Information Engineering
論文出版年: 2024
畢業學年度: 113
語文別: 英文
論文頁數: 87
中文關鍵詞: 機器人作業系統自動駕駛系統自動駕駛車輛效能分析設計空間探索資料流感知效能分析執行流程感知效能分析端對端延遲
外文關鍵詞: Robot Operating System, Autonomous Driving Systems, Autonomous Driving Vehicles, Performance Profiling, Design Space Explaration, Data Flow Aware Profiling, Execution Flow Aware Profiling, End-to-End Latency
相關次數: 點閱:62下載:19
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 機器人作業系統 (ROS) 是一個開源軟體平台,適合用來構建複雜的機器人系統。自動駕駛系統是其中一個基於 ROS 的新興機器人系統。然而,ROS 行程之間的複雜通訊給自動駕駛車輛中高效計算硬體的設計帶來了巨大挑戰。這種複雜性來自這些行程之間隱含的數據相依性。當某個行程受限於計算或通訊時,可能會導致依賴鏈中後續行程的數據生成時間增加。不幸的是,現有的 ROS 工具要麼是用來追蹤通訊延遲,要麼是通過抽象的性能圖表展示通訊效能。而要分析計算資源的使用情況,還需要進一步採用通用的分析工具,例如 perf。整合和分析這些工具生成的所有效能數據以找出潛在的效能問題,會需要大量的人工作業。

    為了解決這一挑戰,我們提出了一個基於 ROS 的效能分析框架。該框架利用資料流感知和執行流程感知分析方法,來自動分析收集到的 ROS 效能數據,並在效能分析圖表上強調潛在的計算和通訊效能問題,幫助使用者快速識別系統瓶頸。得益於所提出的數據分析方法,系統設計師能夠通過強調潛在效能問題的圖形化數據表示,迅速識別並解決相關效能問題。針對商業級 ROS 自動駕駛軟體 Autoware 的實驗結果證明,我們的框架在快速識別自動代客泊車潛在效能問題方面非常有用。此外,框架對系統的整體影響約為 2%,表明該框架確實對加速自動駕駛車輛的硬體設計探索有幫助。

    Robot operating system (ROS) is an open-source software platform that is well-suited for building complex robotic systems. Autonomous driving systems are one of the emerging robotic systems that are built on top of ROS. However, complicated communications among ROS processes pose a great challenge for system designers to design efficient computing hardware in autonomous vehicles. This complexity stems from the implicit data dependencies among these processes. When a process is bound by computation or communication, it can lead to increased data generation time for subsequent processes in the dependency chain.Unfortunately, existing tools for ROS are either built for tracking the communication latencies or revealing the communication performance with abstracted performance graphs. For analyzing computational resource utilization, general-purpose profiling tools like perf should be further adopted. Substantial human effort is required to consolidate and analyze all the performance data generated by the above tools so as to pinpoint potential performance issues. To address this challenge, a ROS-based performance profiling framework is proposed. Our framework leverages data-flow-aware and execution-flow-aware analysis methods to automatically analyze collected ROS performance data, and highlights potential computation and communication performance issues on our profile graph, helping users promptly identify system bottlenecks. Thanks to the proposed data analysis methods, the system designers are able to identify and solve the performance issues rapidly through the graphical data representation that accentuates the potential performance issues. The experimental results on the commercial-grade ROS-based autonomous driving software Autoware demonstrate our framework is useful for quickly identifying the potential performance issues for autonomous valet parking. Moreover, its overall impact on the system is around 2%, indicating that our framework is indeed useful for accelerating hardware design exploration in autonomous driving vehicles.

    摘要 i Abstract ii 誌謝 iv Table of Contents vi List of Tables viii List of Figures ix Chapter 1. Introduction 1 1.1. Organization of the Dissertation 3 Chapter 2. Background and Motivation 5 2.1. Robotics Operating System (ROS) and Autonomous Driving Software 5 2.1.1. Publish-subscribe model and causal relationship 6 2.1.2. Autonomous driving software, Autoware 7 2.2. Extended Berkeley Packet Filter (eBPF) 9 2.3. Motivation and Contributions 11 Chapter 3. Related Work 17 3.1. General Purpose Performance Profilers 17 3.2. ROS Specific Tools 18 3.2.1. Latency measurement 19 3.2.2. Abstracted performance graphs 21 3.3. Discussion 22 Chapter 4. Methodology 26 4.1. Performance Profiling Framework for ROS based System 26 4.1.1. System-level Profiler in the Proposed Framework 29 4.1.2. Implementation Remarks 31 4.2. Data-Flow-Aware Performance Analysis 33 4.2.1. Data Frequency Bound Analysis 34 4.2.2. CPU Bound Analysis 37 4.2.3. Network Latency Analysis 39 4.3. Execution-Flow-Aware Performance Analysis 40 4.3.1. Execution Flow Performance Graph Construction 43 4.3.2. Critical Execution Path Selection 44 4.3.3. Critical Execution Paths Performance Analysis 45 4.3.4. Function-level Performance Analysis 47 Chapter 5. Experimental Results 51 5.1. Improper Configuration Analysis 53 5.2. Communication Performance Analysis 54 5.3. Cost Efficient Hardware Design 59 5.3.1. Baseline configurations 59 5.3.2. An alternative design choice 63 5.4. Overhead Evaluation for Our Framework 68 Chapter 6. Conclusion 73 References 74

    [1] Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman. Compilers: Principles, Techniques, and Tools (2nd Edition). Addison Wesley, August 2006.
    [2] Frances E. Allen. Control flow analysis. In Proc. of ACM Symposium on Compiler optimization, pages 1–19, July 1970.
    [3] Agata Barciś, Michał Barciś, and Christian Bettstetter. Robots that sync and swarm: A proof of concept in ros 2. In 2019 International Symposium on Multi-Robot and Multi-Agent Systems (MRS), pages 98–104, 2019.
    [4] Rhaian J. F. Barros, Jorge L. P. Silva Filho, João V. S. Neto, and Tiago P. Nascimento. An open-design warehouse mobile robot. In 2020 Latin American Robotics Symposium (LARS), 2020 Brazilian Symposium on Robotics (SBR) and 2020 Workshop on Robotics in Education (WRE), pages 1–6, 2020.
    [5] Pedro Henrique Exenberger Becker, José-María Arnau, and Antonio González. Demystifying power and performance bottlenecks in autonomous driving systems. In IEEE International Symposium on Workload Characterization, (IISWC 2020), pages 205–215, 2020.
    [6] Lorenzo Bianchi, Daniele Carnevale, Fabio Del Frate, Roberto Masocco, Simone Mattogno, Fabrizio Romanelli, and Alessandro Tenaglia. A novel distributed architecture for unmanned aircraft systems based on robot operating system 2. IET Cyber-Systems and Robotics, 5(1):e12083, 2023.
    [7] P. Biber and W. Strasser. The normal distributions transform: a new approach to laser scan matching. In Proceedings 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2003) (Cat. No.03CH37453), volume 3, pages 2743–2748 vol.3, 2003.
    [8] Tobias Blass, Arne Hamann, Ralph Lange, Dirk Ziegenbein, and Björn B. Brandenburg. Automatic latency management for ros 2: Benefits, challenges, and open problems. In 2021 IEEE 27th Real-Time and Embedded Technology and Applications Symposium (RTAS), pages 264–277, 2021.
    [9] bpftrace. bpftrace, 2019.
    [10] Christophe Bédard, Pierre-Yves Lajoie, Giovanni Beltrame, and Michel Dagenais. Message flow analysis with complex causal links for distributed ros 2 systems. Robotics and Autonomous Systems, 161:104361, 2023.
    [11] Christophe Bédard, Ingo Lütkebohle, and Michel Dagenais. ros2_tracing: Multipurpose low-overhead framework for real-time tracing of ros 2. IEEE Robotics and Automation Letters, 7(3):6511–6518, 2022.
    [12] Daniel Casini, Tobias Blaß, Ingo Lütkebohle, and Björn B. Brandenburg. Responsetime analysis of ros 2 processing chains under reservation-based scheduling. In 31st Euromicro Conference on Real-Time Systems (ECRTS 2019), volume 133 of Leibniz International Proceedings in Informatics (LIPIcs), pages 6:1–6:23. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2019.
    [13] Alexey Dosovitskiy, German Ros, Felipe Codevilla, Antonio Lopez, and Vladlen Koltun. CARLA: An open urban driving simulator. In Proceedings of the 1st Annual Conference on Robot Learning, pages 1–16, 2017.
    [14] Matt Fleming. A thorough introduction to eBPF., 2017.
    [15] Autoware foundation. Autoware.Auto, July 2020.
    [16] Autoware foundation. Autonomous Valet Parking Demonstration, January 2021.
    [17] Free Software Foundation. The GNU Profiler, November 1998.
    [18] Python Software Foundation. The Python Profilers, October 2023.
    [19] Pierre-Marc Fournier, Mathieu Desnoyers, and Michel R. Dagenais. Combined tracing of the kernel and applications with LTTng. In Proceedings of the 2009 Linux Symposium, July 2009.
    [20] Johann Haselberger, Marcel Pelzer, Bernhard Schick, and Steffen Müller. Jupiter–ros based vehicle platform for autonomous driving research. In 2022 IEEE International Symposium on Robotic and Sensors Environments (ROSE), pages 1–8, 2022.
    [21] Red Hat. Performance Co-Pilot. Performance Co-Pilot is a system performance analysis toolkit., 2024.
    [22] Apex.AI Inc. Apex.ai, 2023.
    [23] Lyft Inc. Lyft autonomous, 2023.
    [24] Shinpei Kato, Shota Tokunaga, Yuya Maruyama, Seiya Maeda, Manato Hirabayashi, Yuki Kitsukawa, Abraham Monrroy, Tomohito Ando, Yusuke Fujii, and Takuya Azumi. Autoware on board: Enabling autonomous vehicles with embedded systems. In 2018 ACM/IEEE 9th International Conference on Cyber-Physical Systems (ICCPS), pages 287–296, 2018.
    [25] Kernel.org. perf: Linux profiling with performance counters, October 2019.
    [26] Zihang Li, Atsushi Hasegawa, and Takuya Azumi. Autoware_perf: A tracing and performance analysis framework for ros 2 applications. Journal of Systems Architecture, 123:102341, 2022.
    [27] Chunmei Liu, Chengmin Zhou, Wen Cao, Fei Li, and Pengfei Jia. A novel design and implementation of autonomous robotic car based on ros in indoor scenario. Robotics, 9(1), 2020.
    [28] Hongyi Liu and Lihui Wang. Remote human–robot collaboration: A cyber–physical system application for hazard manufacturing environment. Journal of Manufacturing Systems, 54:24–34, 2020.
    [29] Edward S Lowry and Cleburne W Medlock. Object code optimization. Commun. ACM, 12:13–22, January 1969.
    [30] Ingo Lütkebohle. ros1_tracetools, June 2018.
    [31] Steven Macenski, Tully Foote, Brian Gerkey, Chris Lalancette, and William Woodall. Robot operating system 2: Design, architecture, and uses in the wild. Science Robotics, 7(66):eabm6074, 2022.
    [32] Keisuke Nishimura, Takahiro Ishikawa, Hiroshi Sasaki, and Shinpei Kato. Raplet: Demystifying publish/subscribe latency for ros applications. In 2021 IEEE 27th International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA), pages 41–50, 2021.
    [33] Renning Pang, Jianzhao Cao, Yuxia Wang, Yuanwei Qi, and Liangliang Sun. Transportation robot based on multi-sensor fusion and machine vision. In 2022 34th Chinese Control and Decision Conference (CCDC), pages 6282–6287, 2022.
    [34] IO Visor Project. BPF Compiler Collection (BCC), 2015.
    [35] Morgan Quigley, Brian Gerkey, Ken Conley, Josh Faust, Tully Foote, Jeremy Leibs, Eric Berger, Rob Wheeler, and Andrew Ng. Ros: an open-source robot operating system. In ICRA, page 5, May 2009.
    [36] Sean Rivera, Antonio Ken Iannillo, Sofiane Lagraa, Clément Joly, and Radu State. Rosfm: Fast monitoring for the robotic operating system(ros). In 2020 25th International Conference on Engineering of Complex Computer Systems (ICECCS), pages 187–196, 2020.
    [37] Guodong Rong, Byung Hyun Shin, Hadi Tabatabaee, Qiang Lu, Steve Lemke, Mārtiņš Možeiko, Eric Boise, Geehoon Uhm, Mark Gerow, Shalin Mehta, Eugene Agafonov, Tae Hyung Kim, Eric Sterner, Keunhae Ushiroda, Michael Reyes, Dmitry Zelenkovsky, and Seonman Kim. Lgsvl simulator: A high fidelity simulator for autonomous driving. In 2020 IEEE 23rd International Conference on Intelligent Transportation Systems (ITSC), pages 1–6, 2020.
    [38] ROS.org. Version 2 of the Robot Operating System (ROS) software stack. Performance tests which run regularly on the buildfarm, 2024.
    [39] Alberto Soragna, Juan Oxoby, and Dhiraj Goel. Intra-process Communications in ROS 2, March 2020.
    [40] Dirk Thomas. Ros wiki: rqt_graph, October 2019.
    [41] Shao-Hua Wang, Chia-Heng Tu, Ching-Chun Huang, and Jyh-Ching Juang. Execution flow aware profiling for ros-based autonomous vehicle software. In ICPP Workshops’22: Workshop Proceedings of the 51st International Conference on Parallel Processing, pages 1–7, 2022.
    [42] C.-Q. Yang and B.P. Miller. Critical path analysis for the execution of parallel and distributed programs. In [1988] Proceedings. The 8th International Conference on Distributed, pages 366–373, 1988.

    下載圖示 校內:立即公開
    校外:立即公開
    QR CODE