Saturday, 26 March 2011

UDK Motorsport: Pacejka's tyre model (the theory)

I've covered at length how to move the car. I needed to get a car with proper behaviour regarding acceleration in order to study the next topic in appropriate conditions.

That topic is tyre adhesion model. As the tyres are the only points of contact the car has with the road, they account for much of the vehicle's behaviour and that is why, from a design perspective, they're the most important aspect of car physics to understand. Unfortunately, it happens to be one of the most complex ones.

"Fortunately", I have studied physics and general mechanic just long enough not to be completely lost in the whole Pacejka model thing. I'd also like to thank XFennec and his blog (in french) which shed a lot of light on what the different values involved in that model mean. Racer's page on Pacejka explains a few things as well. But here I'll be trying to explain that model in simple and practical terms.

For starters, I'll give you the short version of that model's definition. A guy (Hans B. Pacejka) decided to test sh*tloads of tyres in order to figure out a mathematical model that describes their behaviour. Pacejka curves were born. One describes longitudinal force (the direction the tyre is rolling in) and another one describes lateral force (when the tyre is steering, the centrifugal force).

Nevermind the green curve, it's used for force feedback. (Picture taken from racer.nl website)

In games, these curves are used to determine how well the tyres (and thus the car) grips the road.

Unreal's approximation of Pacejka curves

According to Racer.nl, "value" is a force generated by the tyre to make it move. We don't really need to care about the unit it's stated in, it doesn't really matter. The only thing we should keep in mind is that this value represents in some way the actual adhesion to the ground. The higher the value, the more the tyre will be able to resist sliding.

Now for the slip. Depending on which curve we're talking about (longitudinal or lateral), it means quite different things.

On the longitudinal curve, the variable is the slip ratio (SR). It's the difference in linear velocity between the wheel and the ground.

  • A ratio of 0 means the wheel's linear velocity is the same as the vehicle's linear velocity, which should be the normal situation.
  • A positive slip ratio means the wheel has a higher velocity than the vehicle. This usually happens when you accelerate too much, as when you're doing a burnout.
  • A negative slip ratio means the wheel has a lower velocity than the vehicle. This usually happens when you brake, especially if you lock the wheels. Note that as seen earlier, in Unreal it's very unlikely to find a negative Slip ratio as the we can't lock the wheels.


On the lateral curve, the variable is the slip angle. It's the angle between the wheel axis and the direction of the force currently applied to it. Note that the wheel axis and the the steering angle are slightly different things. That said, the sharper your turn is (high steering at high speed), the higher your slip angle is likely to be.

With that information, we should be able to read (i.e. understand) Pacejka curves. You can see on the first graph that those curves have a peak which represent the point where the tyre is the most efficient. If you go past that peak in either direction, the tyre is likely to have not enough grip and as a result will start sliding.

Note that those curves are applied "as is" only if the other components are null. Because a tyre can only generate so much force, it will be distributed along the longitudinal and the lateral axes. If you've played a racing simulation game, you should have noticed that when making a turn, for equivalent steering angle, the car will turn much more easily if you stop accelerating/braking. That's a direct application of that force distribution. This can actually be visualized with something called the friction circle.

Picture from www.driftingstreet.com
The following video explains quite well how this works:



Finally, if you've asked Google to tell you more about Pacejka, you should know that the Pacejka curves depend on the vertical force (called the load, i.e. the car's weight plus all forces applied to it downwards) applied to the wheel.