Fast and Realistic Automated Scenario Simulations and Reporting for an Autonomous Racing Stack
Giovanni Lambertini, Matteo Pini, Eugenio Mascaro, Francesco Moretti, Ayoub Raji, Marko Bertogna
TL;DR
The paper tackles the need for fast, realistic validation of autonomous racing software stacks. It introduces an FMU-based high-fidelity simulator tightly integrated with the stack, plus automated fault injection and a scalable reporting pipeline, all orchestrated via YAML-driven automatic simulations and GitHub CI. Key contributions include a robust initialization framework across localization, safety, mission, and control modules, speedup techniques to run faster-than-real-time, and a comprehensive testing/reporting system supporting both nominal and fault scenarios. The approach enables rapid, repeatable evaluation of critical racing behaviors (e.g., overtakes, safety braking) and fault tolerance, with practical impact for continuous integration and safer race development.
Abstract
In this paper, we describe the automated simulation and reporting pipeline implemented for our autonomous racing stack, ur.autopilot. The backbone of the simulation is based on a high-fidelity model of the vehicle interfaced as a Functional Mockup Unit (FMU). The pipeline can execute the software stack and the simulation up to three times faster than real-time, locally or on GitHub for Continuous Integration/- Continuous Delivery (CI/CD). As the most important input of the pipeline, there is a set of running scenarios. Each scenario allows the initialization of the ego vehicle in different initial conditions (position and speed), as well as the initialization of any other configuration of the stack. This functionality is essential to validate efficiently critical modules, like the one responsible for high-speed overtaking maneuvers or localization, which are among the most challenging aspects of autonomous racing. Moreover, we describe how we implemented a fault injection module, capable of introducing sensor delays and perturbations as well as modifying outputs of any node of the stack. Finally, we describe the design of our automated reporting process, aimed at maximizing the effectiveness of the simulation analysis.
