Mocking a vehicle on a Linux laptop
Volvo Cars have been pioneers in using and providing feedback during the initial development of RemotiveLabs tool for virtual development of vehicle topologies. The tool enables developers to iterate and perform integration tests directly on their laptops. This left-shifting approach significantly reduces dependencies on costly and scarce/unavailable hardware.
“We use RemotiveLabs tooling to simulate the topology of a Usage Mode. With the Docker Container setup, developers can start testing the core computer functionality early in an environment that closely resembles an actual Hardware-in-the-Loop (HIL) rig.”
– Pär-Olof Håkansson, Senior Software Engineer at Volvo Cars
Case Study: Early integration testing with RemotiveTopology
Challenge: Automotive software development often relies on Hardware-in-the-Loop (HIL) rigs for integration testing. However, these rigs are scarce, expensive, require complex maintenance and are unavailable in early project stages, limiting early integration testing opportunities for software engineers. The challenge was to simulate the necessary vehicle topology to test a specific Usage Mode (UM) — driving in reverse. This was done using a virtualized environment that mimics a HIL rig, allowing early integration testing automatically on a developer’s Linux laptop or in a CI pipeline.
Solution & key elements included
With RemotiveTopology Volvo Cars has created a virtualized environment that allows engineers to mock the required ECUs for testing the required “Usage mode”. Using the framework from RemotiveLabs, engineers mocked each ECU and ran them containerized using Docker. The topology produces real CAN frames for the entire mechatronic rim and the test replicates the start-up sequence of a real vehicle. The solution is highly flexible, allowing developers to test the core functionality of the vehicle’s central computer early in the process without needing the physical hardware typically required for these kinds of tests.
- ECU simulation: Starting with an ECU restbus which can be extended with behavioral code.
- Containerization and orchestration: Each ECU simulation is containerized, enabling deployment on any Linux system. The ECUs are orchestrated by a central controller, typically a test framework, e.g. pytest.
- Integration to CI pipeline: The setup can be run on a Linux laptop or integrated with a CI pipeline typically hosted in a cloud, e.g. Zuul, where parts can be deployed on architectures closely resembling target hardware, e.g. AWS/Graviton.
Result & key outcomes
The implementation of RemotiveTopology provides Volvo Cars with an advantage in their software development process. The ability to perform early integration tests on core computers accelerates development timelines and reduces dependency on scarce hardware. Running integration tests locally left-shift the testing effort with the result of identifying and resolving issues earlier in the development cycle.
- Increased testing access: Running an integrations test in the Usage mode driving takes approximately 20 minutes and over 400 integration tests were conducted in one week by engineers in Lund.
- Scalability: A single developer laptop is capable of hosting at least 20 virtual ECUs and can be scaled with more laptops/hardware or in the cloud.
- High test throughput early on: Developers can run tests and iterate as often as needed for the task, ensuring well-tested software early on rather than having engineers waiting in line for a HIL-rig.
Volvo Cars has been leveraging RemotiveLabs’ toolchain since the start in 2020, integrating it into software prototyping, development, and testing processes. This lightweight, open platform is gaining recognition within the company for setting its developers up for success.