One of the major problems we inherited along with the AD Simluation project was related to positional accuracy and temporal synchronization.
The customer needed to run their simulator in a "co-simulation" mode along side another simulator with a different clock rate. Neither simulator runs at a constant speed, although the second simulator attempts to provide "real-time" behavior. Previous developers originally tried a solution to bridge these two simulators together using a third simulator. This was barely functional, having a high degree of variability in the positions and velocities at each step due to the relative rates and offsets of the respective simulation clocks.
This first graph shows time on the x-axis, and speed on the y-axis. The blue line is a vehicle's speed as controlled and reported by one simulator, the red is what was actually observed for the vehicle by the other simulator across the bridge. As can be clearly seen, while the reported velocity of a vehicle across the simulations was supposed to be changing in a smooth, natural way, what one simulator actually saw was extremely "jittery", with lots of artificial step-by-step variation -- frequently more than 20% error.
We eliminated the third simulator by writing our own bridge between the simulators that took into account the different clock rates and their skews, smoothing and kinematically extrapolating from the state of the simulation with the faster clock within local time windows to provide precise coordination with the slower simulation at its step points, and vice versa. This also involved changing the interface to (and temporal granularity of) the physics simulation engine to support variable-width time steps to make the state updates as realistic as possible.
When we finished, the relative "jitter" between the two simulations was virtually eliminated.