I added this at line 1665 of cardynamics.cpp to get the output:
Code:
std::cout << normal_force[0] << "," << normal_force[1] << "," << normal_force[2] << "," << normal_force[3] << std::endl;
The oscillations are running in phase with each other, there also seems to be another at a frequency of about 60 ticks but nothing like as obvious.
One thing that has become obvious when testing the cars with the reduced stiffness is the suspension topping out, the spring/damper values in most of the .car files is causing this happen very suddenly and corespondingly the rollovers are happening suddenly. Feels almost like the wheels are becoming weightless as soon as they leave the ground. Not checked anything with that yet, just doesnt feel right when testing.
EDIT probably unrelated but I have yet to see values of 0 for all 4 wheels, even when the car is upside down and stationary.
EDIT2 oops. Tried a heavier car and its undrivable with the tires stiffness so low. Will try and find out where the hysteresis is coming from instead.
EDIT3 noting things down, will clean up this post later.
As far as I can see the wheels are sinking every step of the interpolation, then jumping back next loop. Looks like CARDYNAMICS::UpdateWheelTransform() is setting the wheel a little lower every loop, tried forcing the wheel to the correct distance from the ground in CARDYNAMICS::InterpolateWheelContacts(T dt), car wouldnt go anywhere
Will have another look at it tomorrow.