← Notesengineering · simulation

Connecting a team's autonomous stack to a simulator

2 min read420 tokens

At Auria, I worked on bridges that let the team’s autonomous software run inside two vehicle simulators. CarMaker is developed by IPG. EUFS Sim 2 comes from Edinburgh University Formula Student. My contribution was integrating them with our system.

Translate at the boundary

A simulator and the autonomous stack need to agree on what they exchange: vehicle state and perceived cones in one direction, steering and acceleration commands in the other. Message formats, units and coordinate frames all matter at that boundary.

I built CarMaker bridges for our system and participated in Lap Time Simulation, where our team placed third. For EUFS Sim 2, I adapted the integration to NATS, the messaging system used by Auria’s autonomous stack.

Keeping translation at the bridge gives the rest of the system an explicit interface to work with. It also makes the boundary the place to check when simulator output and a consumer disagree about a measurement.

Make the run repeatable

The EUFS integration includes a packaged runtime and a launcher for the simulator and the required autonomous-system processes. The launcher handles startup, timeout and cleanup.

I also added deterministic perception profiles. Holding the profile and seed fixed makes a scenario repeatable, so a change in the controller can be examined against the same simulated conditions. That is useful alongside tests of individual components because the run exercises their integration.

Make the run visible

I integrated Rerun to inspect the simulated vehicle, cones and trajectory. A completion status tells us whether a run finished. Seeing the run gives us more context for understanding its behaviour.

This simulation work sits alongside my Trackdrive controller and CAN bus integration. The complete autonomous system is a team effort, with perception, localisation, planning, control and vehicle interfaces working together.

Case studyRepoNoteTF-IDF + PCA · 25 documents

Search by project name or topic↑↓ move ↵ open