As autonomous systems mature, the ability to test, validate, and debug them efficiently has become as critical as the underlying software and algorithms. This paper outlines an approach to enabling simulation, record and replay, and time control native to the development and validation process. The underlying application brings deterministic control, scalable recording, and simulator integration into one cohesive development workflow, enabling faster iteration, smarter testing and deployment.
This approach uses a unified testing pipeline, across MiL, SiL, and HiL, supporting flexible testing and integration through interchangeable data feeds, recordings, or simulation inputs. The same application used to test in simulation can run unchanged on a vehicle, greatly accelerating iteration and de-risking deployment. Virtual time support systems allow for executing faster or slower than real time, while preserving correct behavior and deterministic timing. Built on ROS 2’s rosbag2 framework, this application enables selective data capture from sensors and applications, coordinates distributed recording across multiple ECUs, and has a plugin-based architecture for efficient serialization (CDR), compression, and backend storage. This solution uses deterministic replay to consistently reproduce behavior during playback. Fixed-order replay forces a strict execution sequence, improving regression and integration testing. Reproduced-order mode replays the original runtime behavior exactly for post-mortem analysis or incident reproduction. Replay modes are coordinated through replay executors and a centralized replay coordinator, which precisely control timing and task order across the system.
This application integrates with common simulation platforms, such as CARLA and other proprietary, production-grade simulators. A simulator bridge ensures seamless translation between the application and DDS-based messages and simulator-specific protocols, enabling realistic sensor data input, full control loop testing with feedback into the simulation, and accurate synchronization via virtual time. Testing is no longer a stage. It’s a continuous loop of simulation, validation, and improvement.