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 developed by a tire. Given an input x and a list of coefficients (b0..b12 in the picture), the function calculates the force y developed 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 a curve that acceptably fits the experimental results.
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 critical part 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.
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 😉
EDIT (March 2015):
…and finally I’ve developed a fully coherent and accurate tire model and vehicle simulation that resolves all issues mentioned in this article. The tire and vehicle simulation react realistically to all situations with perfect continuity between all states.