Choosing how the ego vehicle moves

A progress note, not a release. We are building an explicit, per-vehicle dynamics model for the ego vehicle in every run, one you choose, that is recorded with the result and never falls back silently. The work is in review.
A closed-loop run is only as honest as the way its car moves. Today a run can move the ego vehicle by different rules depending on entry point, and the result does not say which. We are changing that. This note describes what is under review and what is still to come. None of it is released yet.
- In review: a dynamics pack for each vehicle, so each car moves as itself.
- In review: a dynamics model you choose, recorded with every run.
- In review: Helios moves to the dynamic model by default, with its two physics decisions settled and implemented.
- In review: faster full-vehicle physics, and a feasibility check for recorded drives.
- Coming: a read-only Studio panel that shows which model a run used.
A dynamics pack for each vehicle
A pack is the set of numbers that describe one car: mass, weight distribution, wheelbase, tyres, springs and steering. Packs now exist for all 18 vehicles in our catalog, but they are sealed behind an internal engine flag and off in every build you can use today. You cannot select one yet: --ego-vehicle refuses with ego_vehicle_unsupported until they ship. The four heavy vehicles are refused (below). Each value carries a source, or is labelled synthetic where we chose it ourselves. Our Lincoln MKZ pack gives an understeer gradient of 2.15 deg/g, reproduced independently in review.
Heavy vehicles are refused. A bus or a truck would otherwise borrow the tyre and suspension rules of a passenger car and look plausible while being wrong, so a run that asks for one stops with a clear error until a heavy-vehicle class exists.
You choose the model, and the run says which
The ego vehicle's dynamics model becomes an explicit setting. Whatever you pick, or the default if you pick nothing, is recorded with the run's result. If a model cannot be used for the chosen vehicle, the run stops with a named error. It does not quietly substitute another model.
In Helios we propose moving the default from the simple kinematic model to the dynamic single-track model. That change is in review; both physics decisions it needed are settled and implemented there: the default car brakes to its profile's 8 m/s² limit with a gradual onset, and a held brake at a standstill holds, so reversing needs an explicit reverse gear. Until it lands the default stays the kinematic model.
Measured consequences of the flip: from 20 m/s, a -8 m/s² bicycle command stops in 25.0 m and 2.5 s on kinematic-bicycle, and in 38.0 m and 3.1 s on dynamic-v1 (31.3 m with the brake pedal at 1.0). A +3 m/s² launch covers 22.7 m instead of 26.7 m in 4.2 s. Log-following episodes inside the 0.5 m replay tube end 1–39% earlier, because the plant lags the authored path. The way back is --ego-dynamics kinematic-bicycle.
Faster full-vehicle physics
The full vehicle model, with a suspension and tyre at each corner, has to run fast enough to be useful in a loop. On one CPU core of a quiet machine it ran 17.5 times faster than real time. A faster evaluator, now in review, ran at about 27 to 30 times real time on a different, busier and slower machine, so we expect more on a quiet core. For comparison, the single-track model alone runs at about 3,100 times real time. These are engineering measurements on our own hardware, not a promise for your workload.
Recorded drives
For recorded drives we are adding a feasibility report that says whether the logged motion is something the chosen vehicle could physically do, and a tracked replay that follows the recorded path with the vehicle model instead of teleporting along it.
What is not settled
- Not released. Everything above is under review and can change before it ships.
- Synthetic parameters. Several pack values are chosen by us, not measured on the real vehicle, and are labelled that way.
- Decisions settled. How hard the default car brakes, and how the car behaves when reversing from a stop, are decided and implemented in the change under review.
- Hosted runs. Hosted runs will accept the choice only once our cloud workers support it.
This follows our earlier note on vehicle dynamics. To follow this work, write to contact@simforge.ai.