A Self-Driving Car Architecture in ROS2

In this paper we report on an architecture for a self-driving car that is based on ROS2. Self-driving cars have to take decisions based on their sensory input in real-time, providing high reliability with a strong demand in functional safety. In principle, self-driving cars are robots. However, typical robot software, in general, and the previous version of the Robot Operating System (ROS), in particular, does not always meet these requirements. With the successor ROS2 the situation has changed and it might be considered as a solution for automated and autonomous driving. Existing robotic software based on ROS was not ready for safety critical applications like self-driving cars. We propose an architecture for using ROS2 for a self-driving car that enables safe and reliable real-time behaviour, but keeping the advantages of ROS such as a distributed architecture and standardised message types. First experiments with an automated real passenger car at lower and higher speed-levels show that our approach seems feasible for autonomous driving under the necessary real-time conditions.

[1]  Horst Lichter,et al.  Software Engineering - Grundlagen, Menschen, Prozesse, Techniken , 2007 .

[2]  Martin Törngren,et al.  A functional reference architecture for autonomous driving , 2016, Inf. Softw. Technol..

[3]  Simon Fürst AUTOSAR – A Worldwide Standard is on the Road . , 2009 .

[4]  Shinpei Kato,et al.  Autoware on Board: Enabling Autonomous Vehicles with Embedded Systems , 2018, 2018 ACM/IEEE 9th International Conference on Cyber-Physical Systems (ICCPS).

[5]  E. D. Dickmanns,et al.  The development of machine vision for road vehicles in the last decade , 2002, Intelligent Vehicle Symposium, 2002. IEEE.

[6]  M. Hanna,et al.  Self-Driving Cars , 2016, Computer.

[7]  Morgan Quigley,et al.  ROS: an open-source Robot Operating System , 2009, ICRA 2009.

[8]  Sebastian Thrun,et al.  Toward robotic cars , 2010, CACM.

[9]  Sanjiv Singh,et al.  The DARPA Urban Challenge: Autonomous Vehicles in City Traffic, George Air Force Base, Victorville, California, USA , 2009, The DARPA Urban Challenge.

[10]  Christian Berger,et al.  COTS-Architecture with a Real-Time OS for a Self-Driving Miniature Vehicle , 2013, ASCoMS@SAFECOMP.

[11]  Shinpei Kato,et al.  An Open Approach to Autonomous Vehicles , 2015, IEEE Micro.

[12]  Shinpei Kato,et al.  Exploring the performance of ROS2 , 2016, 2016 International Conference on Embedded Software (EMSOFT).

[13]  Christian Berger,et al.  Comparison of Architectural Design Decisions for Resource-Constrained Self-Driving Cars - A Multiple Case-Study , 2014, GI-Jahrestagung.

[14]  Kenji Funaoka,et al.  Towards Heterogeneous Computing Platforms for Autonomous Driving , 2019, 2019 IEEE International Conference on Embedded Software and Systems (ICESS).

[15]  Sagar Behere,et al.  A functional architecture for autonomous driving , 2015, 2015 First International Workshop on Automotive Software Architecture (WASA).