Work in the field of Automated Driving (AD) requires many multi-faceted processes incorporating a variety of software tools. In particular, any software that will be used in a vehicle must undergo rigorous testing, increasingly including vehicle and traffic simulation, as part of the verification and validation (V&V) strategy.
As of yet, there is no standard for interoperability between various simulation tools and the AD software in development. Coupling the system-under-test with tools provided by simulation vendors often leads to a lock-in effect, where use of one tool makes use of another prohibitively expensive. This costs the automotive industry more time and money than should be necessary.
Cloe is one part of such an Automated Driving toolchain, which will be handled in the OpenADx working group.
Eclipse Cloe provides simulation middleware and simulation-engine bindings for connecting simulation engines to the "software under test".
Cloe is an enhanced middleware solution for closed-loop simulations, with a focus on functional software tests on system level. Cloe is used as a development tool for interactive and scripted workstation simulations, for code debugging, and for automated tests on servers. Cloe covers a central part of the verification and validation strategy, needed by all vendors in the field of Automated Driving.
Cloe acts as closed-loop simulation master and middleware for all involved components, such as simulator engine, vehicle controller, and component models.
Cloe provides a tool for orchestrating such closed-loop simulations in a variety of environments, e.g. on localhost or in a Kubernetes cluster.
Cloe provides a lightweight web-based user-interface for visualizing the simulation state.
Simulations are described through Cloe stack-files for reproducibility.
These core characteristics of Cloe allow it to (partially) fulfil the closed-loop simulation in the V&V strategy. Vehicle controllers and models can be easily integrated with Cloe and immediately have access to multiple simulator engines. Given M simulator engines and N vehicle controllers, Cloe allows the number of integrations to be reduced to M+N, rather than M×N that would otherwise be necessary. Multiple simulator engines are supported, proprietary as well as open source. This allows a user to mix-and-match engines to their system-under-test based on test requirements. Cloe provides generalized interfaces allowing ground truth and key-performance indicator extraction, as well as fault injection.
Orchestration features provided by Cloe allow faster scaling of simulation tests and evaluation. Through containerization and the simulation description files, development artifacts along with their tests can be easily archived and the results quickly reproduced.
The OpenADx working group is currently under preparation for becoming an official Eclipse WG. OpenADx information is currently hosted at the Eclipse Wiki.
Bosch uses "Cloe" internally for the simulation middleware and we have a logo for it, but we do not have a trademark for Cloe. It should be clarified whether trademarking the name "Cloe" is a good idea, as it is a given name for certain people, and may already be in widespread usage.
Bosch legal still has a say in which license will be used.
It should be clarified whether our current simulation-engine bindings (to Vires VTD and IPG CarMaker, for example) can be open-sourced alongside Cloe.
Initial contribution is planned for middle of July 2019
- API and data model – As Cloe’s user base grows and usage requirements are better understood, the API, REST interface and data model of Cloe will be adapted.
- Compatibility – In the future, Cloe shall support additional simulator engines, both open source and proprietary. We also plan to support upcoming automotive industry standards like the Open Simulation Interface and OpenSCENARIO.
- Usability – From upgrading the web interface to support for additional operating systems, there are still a lot of usability features we have in mind for Cloe.