ABSTRACT
The complexity of the Robot Operating System (ROS) based autonomous software grows as autonomous vehicles get more intelligent. It is a big challenge for system designers to rapidly understand runtime behaviors and performance of such sophisticated software because the conventional tools are insufficient for characterizing the high-level interactions of the modules within the software. In this paper, a new graphical representation, execution flow graph, is devised to represent the execution sequences and related performance statistics of the ROS modules. The execution flow aware profiling is applied on the autonomous software, Autoware and Navigation Stack, with encouraging results.
- Frances E. Allen. 1970. Control flow analysis. In Proc. of ACM Symposium on Compiler optimization. 1–19.Google ScholarDigital Library
- Shinpei Kato, Eijiro Takeuchi, Yoshio Ishiguro, Yoshiki Ninomiya, Kazuya Takeda, and Tsuyoshi Hamada. 2015. An Open Approach to Autonomous Vehicles. 35 (Dec. 2015), 60–68.Google Scholar
- Shinpei Kato, Shota Tokunaga, Yuya Maruyama, Seiya Maeda, Manato Hirabayashi, Yuki Kitsukawa, Abraham Monrroy, Tomohito Ando, Yusuke Fujii, and Takuya Azumi. 2018. Autoware on board: Enabling autonomous vehicles with embedded systems. In ICCPS. 287–296.Google Scholar
- Kernel.org. 2019. perf: Linux profiling with performance counters. https://perf.wiki.kernel.org/index.php/Main_PageGoogle Scholar
- LG Electronics. 2019. LGSVL Simulator. https://www.lgsvlsimulator.com/Google Scholar
- Edward S Lowry and Cleburne W Medlock. 1969. Object code optimization. Commun. ACM 12 (Jan. 1969), 13–22.Google Scholar
- Eitan Marder-Eppstein, Eric Berger, Tully Foote, Brian Gerkey, and Kurt Konolige. 2010. The Office Marathon: Robust navigation in an indoor office environment. In ICRA. 300–307.Google Scholar
- Open Source Robotics Foundation. 2019. How to profile roslaunch nodes. http://wiki.ros.org/roslaunch/Tutorials/Profiling%20roslaunch%20nodesGoogle Scholar
- Python Software Foundation. 2019. The Python Profilers. https://docs.python.org/2/library/profile.html#Google Scholar
- Morgan Quigley, Brian Gerkey, Ken Conley, Josh Faust, Tully Foote, Jeremy Leibs, Eric Berger, Rob Wheeler, and Andrew Ng. 2009. ROS: an open-source Robot Operating System. In ICRA. 5.Google Scholar
- Dirk Thomas. 2019. ROS wiki: rqt_graph. http://wiki.ros.org/rqt_graphGoogle Scholar
- Lijun Wei, Cindy Cappelle, and Yassine Ruichek. 2013. Camera/Laser/GPS Fusion Method for Vehicle Positioning Under Extended NIS-Based Sensor Validation. 62 (Nov. 2013), 3110–3122.Google Scholar
Index Terms
- Execution Flow Aware Profiling for ROS-based Autonomous Vehicle Software
Recommendations
From the desks of ROS maintainers: A survey of modern & capable mobile robotics algorithms in the robot operating system 2
AbstractThe Robot Operating System 2 (ROS 2) is rapidly impacting the intelligent machines sector — on space missions, large agriculture equipment, multi-robot fleets, and more. Its success derives from its focused design and improved ...
Highlights- ROS 2’s Nav2 has a number of new algorithms and capabilities suitable for a large number of applications.
ROS for educators: teaching with the robot operating system and Microsoft Kinect (abstract only)
SIGCSE '12: Proceedings of the 43rd ACM technical symposium on Computer Science EducationThe Microsoft Kinect and Willow Garage's Robot Operating System (ROS) are changing the way robots are developed. Together, these tools can enable today's CS educators to provide richer and more research-representative experiences with robots and ...
Evo-ROS: integrating evolution and the robot operating system
GECCO '18: Proceedings of the Genetic and Evolutionary Computation Conference CompanionIn this paper, we describe the Evo-ROS framework, which is intended to help bridge the gap between the evolutionary and traditional robotics communities. Evo-ROS combines an evolutionary algorithm with individual physics-based evaluations conducted ...
Comments