The basic premise of the Eclipse Chariott project is to enable development and deployment of new in-vehicle software capabilities. In a similar context, we at Mercedes-Benz wanted to investigate and explore various Software Defined Vehicle (SDV) technologies for upgradable cars. We built a lab environment and as an area of application, we chose massage seats as they are easily accessible and well suited for tangible demonstrations. We used Eclipse Chariott for a proof-of-concept (PoC) implementation that should make the massage seats flexibly expandable and thus prepare them for future new use cases. It remains to be decided whether these functions will be incorporated into series development.
But before we get into the details, here is some important background information.
The Transformation to Software Defined Vehicles
Mercedes-Benz Tech Innovation, a wholly owned subsidiary of Mercedes-Benz, joined the Eclipse Software Defined Vehicle (SDV) Working Group in late 2022. Mercedes-Benz was already looking at ways we could offer improvements to our products over their whole lifecycle. Of course, this goal aligns well with the mission of the working group, which is to provide the non-differentiating basis and underlying open technologies for the SDVs of the future.
In the context of massage seats, the massage programs delivered with a car are usually static. They cannot be easily extended, as the massage control logic is tightly coupled with the massage seat controller. We wanted to be able to continuously improve the user experience and add new massage programs at any time. Another potential scenario should allow, for example, in-car apps to dynamically control the massage functionality. Beyond that, several of the use cases in the SDV realm may benefit from the possibility of dynamically allocating software components to hardware resources in the car.
We started looking at the different technologies that were available in the working group to see how we could use them as a basis for our own offerings. In this case, Chariott had a lot to offer.
Three Key Capabilities
Chariott offers three key functionalities that make it well-suited for our particular use case.
Service Registry With Lookup Functionality
Chariott provides a service registry with lookup functionality. This is crucial because some of the SDV scenarios we were looking at are highly dynamic, where components may need to be relocated from one piece of hardware to another during runtime. When this is happening, you need to be able to easily and quickly figure out which piece of hardware is running the software at any given time.
Broker Service Requests Between Providers and Clients
In order to avoid hardwiring the components, you need to add another layer of abstraction: Chariott provides this feature in terms of a service request broker between providers and clients.
Provide Event-Streaming Functionality
Finally, event-streaming capability was needed to continuously provide the updated state of the massage seat’s air chambers to dependent components while the massage is performed. Chariott also provides this capability.
Initial Integration Successful
We started integrating Chariott with our platform at the beginning of this year. And at this point we have a proof-of-concept.
We built an evaluation setup that focuses on the software components running in the vehicle. Here you can see the components without the integration of Chariott:
And here’s how the high-level architecture looks after we integrated Chariott:
Our system is composed of a vehicle massage controller, a head unit and an interface that provides access to the massage seat. To represent the massage seat itself in our virtual environment, we included a corresponding mock component. It also includes a simple UI that shows which of the air chambers in the seat get inflated at a specific point in time. This amounts to a proof-of-concept system that integrates Eclipse Chariott.
Here's a breakdown of what’s currently possible with the existing integration:
This includes the service registry functionality where interested parties can look up their communication partners. Moreover, we further decoupled the depending components by using Chariott’s brokering capabilities. For example, it is not necessary for the head unit to talk directly to the massage controller for retrieving the available massage programs. The method call is rather delegated by the Chariott runtime. We’ve also done some initial testing with the event streaming functionality, but it has been quite limited. Now we have to do a more thorough investigation and make sure it’s really robust and works under all conditions.
Mercedes-Benz Supports Open Source Development
Mercedes-Benz is proud to support open source and the Eclipse Software Defined Vehicle Working Group, of which Mercedes-Benz Tech Innovation is a strategic member. If you’re curious about the APIs and projects Mercedes-Benz has available, you can check out our developer page or our GitHub page.