Facts and myths on the Pacejka curves

When developing vehicle physics the tire is the single component that has the most influence in the entire system. When designing a tire simulation the Pacejka Curves arise sooner or later.

What’s “Pacejka” exactly?

First of all, the Pacejka Magic formula, also called simply Magic Formula “MF” or “MF-tyre”, is a function y=f(x) which is used to predict and simulate the forces exerted by a tire. Given an input x and a list of coefficients (b0..b12 in the picture), the function calculates the force y exerted by the tire. Three different functions are used, one for longitudinal forces, other for lateral forces, and the last one for the self-aligning torque (the feedback force you experiment on your car’s steering wheel). Each function has its own set of coefficients.

The coefficients affect the final shape of the curve in a wide variety of ways (see the pic). The goal is matching the results obtained in the empiric experiments on the specific tire the curve is being calculated for. Once the proper coefficients for the curve are found, the behavior of that tire can be easy and realistically predicted without having to actually use the real tire. One can imagine using a tire testing facility, testing a specific tire in a wide variety of conditions and measuring the results. Then, based on those results, one could start toying with the coefficients of the Pacekja curves until getting shapes that acceptably match the experimental results.

The magic behind the Magic Formula is that the coefficients are calculated from specific measures on isolated excitation tests performed on the tire. Instead of testing the tire in a broad range of conditions and then “randomly” toying with the parameters of the curve for fitting the results, all that you need is to gather some specific measures from the tire under controlled conditions. Voila! You get the coefficient set for the Pacejka curves that will magically predict the real behavior of the tire in almost all conditions.

What about the coefficient sets for Pacejka curves?

Pacejka and other models are developed by and for the automotive industry. Real coefficient sets are scarce and hard to find, as they are heavily protected intellectual data. Tire manufacturers sell the coefficient sets to interested customers who can then predict how a specific tire would behave in a vehicle without actually testing it (the MSC Adams software is an industry-standard for modelling this kind of simulations). A Pacejka coefficient set for a single tire model can easily cost around $1000-1500.

You may find many Pacejka sets over there (for instance as part of the car add-ons for the Racer.nl simulator). But most of them are not real Pacejka sets as they haven’t been calculated based on measures on the real tires. Anyone can use a Pacejka editor and get an arbitrary set of coefficients. For that, the Pacejka formula is a realistic and flexible method for simulating an imaginary tire based on the behavior expected in a simulated vehicle.

I’ve written a document which describes how each Pacejka coefficient affects the resulting curve. This is useful for designing tire friction curves matching a specific gameplay in vehicle simulation games.

Is Pacejka a necessary or best method for simulating wheels in video games?

Surprisingly, the curves themselves are not the most important part for simulating wheels. Remember, a Pacejka curve is just a trigonometric function y=f(x). Any function with similar shape (peak – asymptote) will work. It could result more or less realistic, but even a clamped slope will do a decent work.

The crucial component for simulating a wheel is how are you calculating the parameters you will feed the curves with. The “x” in y=f(x). And here, my friend, is where we begin talking seriously.

What are the problems with the Pacejka-based methods?

Pacejka and other models are based on the amount of slip of the tire over the ground. The longitudinal version uses the difference between the tire’s angular velocity and the actual velocity over the ground (slip ratio). The lateral version is based on the angle between the wheel’s heading direction and the true movement direction (slip angle).

However the slip ratio is a tricky concept. Having slip doesn’t mean that the tire is sliding over the ground. The slip ratio reflects the fact that the drive wheels compress the tire at the front of the contact patch where the radius of the wheel is smaller, so it effectively travels faster than the ground underneath. A portion of the contact patch is adherent to the surface while the other portion is slipping. This slip ratio generates the force that moves the car. In a car cruising at constant speed the drive wheels will be spinning a bit faster than the non-drive wheels.

There are several different definitions for slip ratio and slip angle available. These ones are a commonly used definition borrowed from the great book from Brian Beckman The Physics Of Racing:

ω    angular velocity
Re  effective radius
V    lineal velocity
Vy  lateral velocity
Vx  longitudinal velocity

The slip ratio σ and slip angle α are the input for the Pacejka formulas, which yield the longitudinal and lateral forces exerted by the tire. Although this kind of methods is known to provide the state-of-the-art tire simulation, they still have several important problems and deficiencies.

  • A quick look at the formulas reveal an evident and inconvenient fact: the slip formulas become numerically unstable when V approaches zero and are not defined at all when the vehicle is stopped (0/0). Other definitions of the slip ratio also suffer of this problem in a similar way.
  • The lateral force is based on the slip angle. However the slip angle does not account for any variation with the speed. Intuitively, the forces generated at high speed must be greater than the forces at low speed with the same slip angles. But V = (0.2, 0.1) produces the same slip angle (and thus the same lateral force) as V = (20, 10).
  • A typical video game runs its physics engine at 50 Hz (50 calculation cycles per second). The slip formulas require a very high calculation rate (~500 – 700 Hz) in order to provide acceptable results. One of the causes is that calculating ω involves the wheel’s inertia and the torque from the vehicle’s engine. This generates rapidly changing values which cause huge slip ratios at low calculation rates. Some implementations (i.e. the Alternate Physics Model from the Unity 3D official Car Tutorial) “solve” this by pseudo-calculating the values in a loop inside a single physics cycle until an acceptable result is obtained.
  • Dealing with slip ratio in practice means assuming that the wheel is rotating faster than the ground underneath. This produces the visually unrealistic result of the drive wheels sliding when traction is applied. This effect can be clearly observed on most vehicle physics implementations for Unity.

Is there a better method?

Of course there are always better methods. The challenge here is to design a method being pretty realistic yet simple enough to be used at the typical 50Hz rate. The method should also cover all situations of the tire including the forces with the vehicle stopped.

This is what I’m currently working on ;)