ROS and XCP in Traditional ECU Development 2020-01-1367
Originally developed for the service robot industry, the Robot Operating System (ROS) has lately received a lot of attention from the automotive sector with use cases, especially, in the area of advanced driver assistance systems and autonomous driving (ADAS/AD). Introduced as communication framework on top a of a host operating system, the value proposition of ROS is to simplify the software development in large-scale heterogeneous computing systems. Developers can focus on the application layer and let ROS handle the discovery of all participants in the system and establish communication in-between them. Despite the recent success of ROS, standardized automotive communication protocols such as the Universal Measurement and Calibration Protocol (XCP) are still dominant in the electronic control unit (ECU) development of traditional vehicle subsystems like engine, transmission, braking system, etc. XCP guarantees that common measurement and calibration tools can be used across different vehicles with ECUs from multiple suppliers. With the advancing area of ADAS/AD, we also expect the presence of ROS-based modules in the development of new vehicle platforms to increase. In this paper, we therefore propose a combination of ROS and XCP to reuse already established tools for the combined development and validation of both traditional ECUs and ADAS/AD functionality. In particular, an XCP slave is integrated into a ROS node to convert ROS messages into the corresponding XCP equivalent to enable the interface to the measurement and calibration tool.