I'm making a car demo with correct physics 2
Demo on YouTube: https://www.youtube.com/watch?v=1eryDtrRavA
While I was looking for suspension parameters, I dug through all sorts of sites and kept finding posts by people who actually changed something in the suspension of their Zhiguli (Lada), respect to them. For me just the process of searching “so what does it look like and what’s the stiffness and length of this or that spring” took a ton of time. The rear suspension more or less matches reality and some drawings I found, the front one I did more “by eye” from some photos and scattered numbers. I assume that the dampers’ resistance depends linearly on the speed of movement. Maybe that’s not the case and the dependence there is quadratic, but I didn’t find any decent data and decided to go with linear.
Fun fact - on a Zhiguli the damper’s stiffness in compression is many times lower than in rebound. Because of this, when you flick the car from one side to the other, the movement comes out in two phases - first one damper compresses quickly, then the other one extends more slowly. You can literally see it with your own eyes in left-right turns.
Added a gearbox, an engine and a clutch. With the gearbox I spent a long time thinking about whether neutral is a gear or the absence of one, in the end I decided that it’s a full-fledged gear :) What’s interesting, in the Zhiguli the same gearboxes were reused across different models, but in places they also played around with the gear ratio in the differential (final drive). The kopeyka (VAZ-2101) had 4.3, in some models the number was a little different and with the very same gearbox you got slightly different numbers. You can take a closer look here: https://www.drive2.ru/b/2029919/
For the engine I found some torque curves (I’m trying to replicate the engine from the VAZ-2103, it’s a bit more powerful), but they don’t have the “engine braking” torque, when the gas pedal is released. At first I wanted to make those numbers up entirely, then I remembered that in automation: car tycoon I’d tried making VAZ engines and fitting their parameters to the real ones, opened the game and took the engine braking torque from there. So my engine is defined by two torque curves - for a fully open throttle and for a closed one. Generally speaking, for intermediate throttle positions one does not simply interpolate linearly between these values, because at low RPM the engine consumes little air and even with a half-open throttle the torque will be close to the maximum. But I’ll finish the engine later. For now it’s enough that the parameters are close to the real ones. The only liberty I took - the tachometer’s red zone starts at 5.5 thousand RPM, but I allowed the engine to rev up to 7.5 and there’s still torque up there. Because it has a carburetor and there’s no rev limiter. In the last (fourth) gear at 5.5k RPM the speed is 145 km/h, and that looks plausible.
The clutch has an intermediate mode where it slips, but I don’t have a joystick or a wheel right now, and on a keyboard it’s only on/off, so slipping only happens when you dump the clutch.
I also found the torsional stiffness of the body and supposedly it’s around 7500 N*m / degree. Instead of a monolithic body I made a body out of two parts and connected them with little springs. Simplified - two boxes pressed against each other, with springs of zero rest length at the corners. I put the little car together, admired the result and realized that it bends kind of a lot. At first I thought I’d made a mistake somewhere, recalculated it by hand, then realized that’s just how it is. And if you put a real car into a diagonal wheel lift - it really does deform by noticeable distances on the order of a few millimeters and twists by an angle on the order of one degree. It’s possible that I’m wrong and the torsional stiffness of a car body around the other axes is much higher - write to me if you know. Because the middle part of my car noticeably sags down a little.
Added a front anti-roll bar. I didn’t find how strongly it affects the suspension stiffness, so I fitted some parameters so that in body roll it’s noticeable next to the suspension springs, but doesn’t have too strong an effect.
And I also made a tachometer and got a real kick out of it. You’d think it’s just a little circle with numbers and a little needle, but it really helps to understand what’s actually going on with the car. It’s like it became more real.
While looking for all sorts of info, I stumbled upon an interesting article about the Zhiguli in Assetto Corsa: https://www.drive2.ru/l/649594769298705203/
Maybe in the future I’ll just write a loader for cars from Corsa’s files - some modders clearly put in the effort. The difference from Corsa is that in it, it seems, the suspension control arms are perfectly rigid, and mine aren’t, and thanks to the rubber bushings you get displacements on the order of a few millimeters under load.
It’s dizzying how much more there is that could still be done - friction forces in the gearbox and the differential, air resistance and so on. But I think that right now the suspension and the engine work more or less adequately, while the tire model - doesn’t. I’ll work on it next, right now the wheels only know how to intersect with the plane y=0 and other obstacles are unknown to them. But overall it’s very pleasant to watch a puzzle of scattered tables and formulas start coming together into a model of a car :)