Since 2007, researchers around the world have been working on advancing the Robot Operating System (ROS)—initially at the Stanford Artificial Intelligence Laboratory, and now as part of the Open Source Robotics Foundation (OSRF). Even if the name suggests otherwise, ROS is, strictly speaking, not a standalone operating system, and instead builds on systems such as Linux or Windows to act as a mediation layer between hardware and software. Among other components, ROS provides a wide range of device drivers, which means that new sensors and actuators can be easily integrated into existing systems. In addition, ROS sees itself as a “software toolbox” for research and for application-driven automation.

Assembly carrier for software functions

Porsche Engineering has been using ROS since 2019. The company’s engineers, working together with ADAS engineers at Porsche, have developed their own complex software interfaces to link the ROS layer with the bus systems of series production vehicles. This means that new features can be seamlessly integrated into existing vehicles, which can in turn be used as a new form of “assembly carrier for software functions”. This is the approach taken by Porsche Engineering in its JUPITER test vehicles (Joint User Personalized Integrated Testing and Engineering Resource). These vehicles can be equipped with numerous sensors for automated driving functions, including, at the moment, stereo cameras and lidar. “Thanks to ROS, the lidar sensors were installed and integrated within just one week, and after a day of commissioning, we were able to start recording test data straight away,” reports Marcel Pelzer, a development engineer for driver assistance systems and the head of the JUPITER project at Porsche Engineering. “Integration and commissioning times that take between several days and several weeks are quite common.”

ROS applications are made up of individual nodes that communicate with each other. To support this, ROS also supplies many software libraries for the purposes of standardized data exchange, data visualization, debugging, and more. “This allows new nodes to start using the data from other nodes immediately,” explains Pelzer. “You don’t need to know from the start who should talk to whom, and the standardized Messages also help to adapt algorithms to a wide range of sensors.”

This makes ROS attractive not only for robot construction but also for developing new automated or connected driving functions, because these applications demand that new software and sensors are available to experience in prototype vehicles quickly. In addition to simple integration of new hardware, the node concept in particular offers a decisive advantage: Advanced Driver Assistance Systems (ADAS) functions can be flexibly implemented as new nodes, and how they interact with one another can be tested on a unified platform. As another example, Pelzer cites the implementation of an advanced parking assistance function as a prototype. “In series development, it usually takes several months before supplier solutions for a driver assistance function are available in the vehicle. In the JUPITER vehicle, we were able to implement a reversing assist function for automatic pedestrian recognition with only one developer and within half the usual time.”

As well as rapid implementation of new sensors and functions, the JUPITER vehicles offer the developers further benefits: Sensors are installed at potential positions for future series production in order to evaluate how the positioning affects the algorithm. In addition, access to sensors’ raw data is possible—as is access to the vehicle bus and, in turn, to all actuators.

50 to 60 nodes in a JUPITER vehicle

By using ROS, developers can implement new driving functions as nodes in ROS at any time without much additional work. A total of 50 to 60 nodes are active for various functions and sub-functions in a JUPITER vehicle—always with the option of dynamically expanding the system with additional nodes during runtime. What’s more, the ROS source code is open source, ROS supports various programming languages such as C++ and Python, and there is a large community on hand to offer inspiration and help with problems. This allows engineers at Porsche Engineering to concentrate on the essentials: Function development.

The new version, ROS 2, builds on the experience gained with ROS. Its communication infrastructure is also certified for automotive applications thanks to the DDS standard (Data Distribution Services), meaning that ROS 2 could theoretically be used in series production vehicles. Depending on the data source, DDS offers the major advantage of being able to configure properties (quality of service), transport mechanisms, and access rights, thereby making the best possible use of hardware resources. “ROS has proven to be an excellent platform for testing new technologies and offering cutting edge technologies to our customers,” Pelzer concludes. “This allows us to quickly demonstrate use cases and significantly reduce the time-to-delivery to our customers. We are proud of this, because the intelligent acceleration of delivery and provision times of solutions to complex tasks is an essential part of our activities to optimize processes and methods. In addition, ROS makes it possible to use a standardized basis to investigate how several technology domains such as ADAS, V2X, artificial intelligence, and simulation interact with one another. This allows us to take advantage of many synergies in the development of tomorrow’s connected and intelligent vehicles.”


Text first published in the Porsche Engineering Magazine, issue 1/2024.

Text: Christian Buck

Illustration: Supertotto

Copyright: All images, videos and audio files published in this article are subject to copyright. Reproduction in whole or in part is not permitted without the written consent of Dr. Ing. h.c. F. Porsche AG. Please contact for further information.

Related Content

Consommation et émissions

Macan Turbo Electric

  • 0 g/km
  • 20,7 – 18,8 kWh/100 km
  • 518 – 591 km

Macan Turbo Electric

Consommation de combustible / Émissions
émissions de CO₂ en cycle mixte (WLTP) 0 g/km
consommation électrique en cycle mixte (WLTP) 20,7 – 18,8 kWh/100 km
Autonomie électrique combinée (WLTP) 518 – 591 km
Autonomie électrique en zone urbaine (WLTP) 670 – 765 km
Classe d'efficacité: B