According to literature contact patch pressure distribution is not constant.

The probably most simple approximation is parabolic 3 / 4 (1 - x) (1 + x), which results in the following tire friction curve:

Now this is something we can work with.

Playing a bit with the parameters we get this:

The right half of the curve is constant (tire fully sliding) due to the simple constant sliding friction model I am using. Using Stribeck friction function should fix this.

I'd also like to try a few other distributions that should match the real pressure distribution a bit better: a skewed parabolic and a simpler trapezoid function.

The difference between the normal (red) and skewed (black) parabolic pressure distribution is not very large (at least for fx):

It is probably more noticeable for aligning torque, which I haven't implemented yet.

The trapezoid or piecewise linear distribution introduces a discontinuity at the full sliding transition point. I think I'll try out a piecewise quadratic variant next.

Using a quadratic segment fixes the discontinuity. The resulting friction curve seems to be somewhere between constant and parabolic pressure distributions.

It would be interesting to parametrize the piecewise distribution, be able to adjust the length of each segment, to see how it affects the friction curve shape. But that is quite a bit of work. So I'll stick with the parabolic distribution for now, will be implementing fy (lateral force) next.

Here is how the pressure distributions look like btw.

parabolic (red) vs piecewise linear/quadratic (black)

Implementing stribeck friction helped quite a bit. The combined forces model and a few other things are not there yet.

physical model vs pacejka

It looks like contact patch length calculated from inflation pressure, parabolic distribution and tire load is off by a factor of ~2.

I've found an empirical tire stiffness equation, derived from tire measurements over a wide range, which seems to produce a better match.

Still, would be interesting to know why tires appear to be softer than the inflation pressure would suggest.

Things are starting to shape up nicely. Fixed a bug in my force calculation and have been working on tire carcass bending, so that combined forces look as they should.

Still need to go through the math a couple of times, to be sure that I've got it right.

After that will be working on camber and aligning momentum.

Have got tire carcass bending working, softer carcass reduces peak and slope of lateral force fy.

stiff vs soft carcass

Now camber is somewhat harder to model. I've been thinking about approximating it, pacejka style, by shifting fy and some carcass bending.

Camber also has an effect on fx, mz though, which can not be approximated by simple shifting.

Carcass bending due to camber

-8 vs 8 degrees camber:

There are some additional effects that camber is causing. But this looks surprisingly good already, maybe good enough for us.

The graphs show a discontinuity at slip angle close to zero, but that is my fault, will be fixed.

(06-11-2016, 09:00 AM)NaN Wrote: [ -> ]-8 vs 8 degrees camber:

Something missing here I guess...

By the way, I've noticed some strange in-game tyre behavior that may be relevant to what you are doing.

One place at which it is very obvious is the left turn after the (closed) connections with the GP circuit in Ring2007. If you barely touch the kerb with "racing" tyres, you'll take a big hit, but with "sports" tyres nothing will happen.

I'd say it has to do with the interaction between track features (in this case, the kerb) and tyre features.

(06-12-2016, 04:54 PM)arturo Wrote: [ -> ]-8 vs 8 degrees camber:

I mean -8 vs +8 degrees here

You can look at the friction curves of the tires with tire.py from here: github.com/logzero/vdrift-tools

"Load" data/carparts/tire/racing.tire and "Load Ref" touring.tire as reference to compare with.

Compared to the graphs I've seen in the literature the camber effect of all three (touring, sports and racing) is somewhat exaggerated, way too much vertical shift.

Still, I don't think it is the reason for the behavior you are observing.

Initial aligning torque implementation, doesn't include carcass bending yet.

Compared to hankook tire data (light colored curves):

At large slip angles torque drops to zero due to symmetric contact pressure model. Will be interesting to see how/if carcass bending affects this.

Looks like I'll have to implement the asymmetric contact pressure model, as I don't see what else could cause non-zero aligning torque at high slip angles.

Implementing the asymetric model turned out to be a bit more compicated, had to move to a numeric solver (Newton-Raphson) for stick/slip contact length calculation.