Determinism across runs with different time steps in the same scenario?

Hello everyone,

I have a problem with determinism of the exact same simulation case run at different time steps under version 0.9.11.

Description of my use case:

  • 1 ego vehicle, 2 target vehicles, all operated by traffic manager on a small custom town course map
  • Simulation 1: sync mode, fixed time step 0.027 s, max phys substep 0.001 s, max substeps 26, 2 rgb cameras, random seed 42
  • Simulation 2: sync mode, fixed time step 0.005 s, max phys substep 0.001 s, max substeps 4, 3 custom sensors, random seed 42
  • Initial phase of vehicles dropping until their velocity magnitude goes below 1e-3 m/s, then traffic manager speed target is set to 20 km/h

I need to get both simulations exactly sync to be able to merge the images and the sensor data into one data stream later on. If I want to merge them into one simulation, which was my initial try, I have to go with a fixed time step of 1 ms which slows down simulation speed by an inacceptable amount.

Unfortunately even with the physics substep forced to 1 ms in both simulations, I get different vehicle accelerations, thus speeds, thus positions of the vehicles. The initial acceleration in the 5 ms case is about 50% higher than in the 27 ms case. I suppose this is due to the traffic managers velocity controller.

I’d appreciate any comment on how to fix my problem with 0.9.11. without the need to manually move the vehicles around. :slight_smile:

Best regards
Robert

I happen to have found a solution that fits my needs for now: increasing the substepping number to a larger value resulted in vehicle positions which only differ by a few centimeters instead of meters throughout the first 30 secs of my case.

settings.max_substeps=30

This keeps things comparable for 27 ms and 5 ms time step. :slight_smile: