Pacejka just doesnt make sense (yet)

Started by
22 comments, last by Bow_vernon 13 years, 1 month ago
Sorry if I flood the board with my own confusion, but I humbly ask for any help here....
So I finally give up on my tire physics model, and read about pacejka *magic* formula.
I dont understand what should I input to the formula. It said slip angle for lateral forces, and slip ratio for longtitudinal...
Suddenly, I said "Woa wait, where's the velocity of contact patch used?". I re-read it and it kept saying the same thing.
Im too confused to even start plotting a graph or something, so I desperately write this thread, and wanna know maybe someone have experienced the same thing??

Is pacejka truly depends on slip angle and slip ratio?? So far I know that the slip angle is the angle between tire's direction and tire's velocity.
Can I use the contact velocity instead??

So slip_angle = (lateral_direction_of_tire * velocity_of_contact);
and put it into the function.

and so slip_ratio = (forward_direction_of_tire * velocity_of_contact);

where
:
-velocity_of_contact is the velocity of the wheel's contact with the ground
-forward direction is the forward direction of the tire
-lateral direction is the lateral direction (orthogonal to forward direction)

Unh, I just cant understand it, why pacejka doesnt relate to velocity? I thank you for any help here....
Best Regards,
Bow Vernon

You can tell that Im confused just by reading this post.....zzz +.+
Advertisement
Hahah, welcome to the world of tyre physics Voodoo. They call the Pacejka Magic Formula "magic" for many reasons. ;)

Unh, I just cant understand it, why pacejka doesnt relate to velocity?[/quote]

The Pacejka formula is a unit-less function. It does not care what parameters you feed it, whether it be a slip ratio or a slip angle. The formula simply attempts to model traction forces due to the adhesion properties of the tyre's contact patch with the road surface. In a nutshell, tyre adhesion is not governed by velocity alone, it is mostly related to the tyre geometry and how it changes shape.

In order to experience traction, there always needs to be small discrepancy between the tangential velocity at the contact patch and linear velocity at the wheel hub. In other words, the tangential speed of the tyre needs to be slightly faster when accelerating, and slower when braking. If you think about it, this kinda make sense; a typical tyre has deformable properties. When the vehicle is accelerating or braking, the rubber experiences all sorts of dynamic compression and shear forces, which is never zero. To make life easier, we want to represent these shear forces using a much simpler slip ratio, and then use the the Pacejka formula to establish a relationship between the slip ratio and the traction forces that affects the car handling.

Visualise this with a simple experiment. Get a pencil eraser, hold one end with your finger and push the other end vertically down onto a table surface. Now slowly slide the eraser along the table surface. If you do this slowly enough, you will notice the eraser will not slide at all, rather it starts to deform (shear). This is the adhesion region of the Pacejka curve, which represents the almost linear slope from zero to the peak of the curve. You will feel a degree of resistance there, which is the actual traction/braking/lateral force (all the same concept really), it prevents your hand from "losing control" on the table surface! Suddenly the eraser gives way, and starts to slide. The very moment just before it starts to slide represents your peak traction in the curve; under ideal circumstances that is equivalent to the down-force you exert on the eraser. Beyond that, the eraser slides, the traction force starts to drop. The faster you go, less the traction you experience. That is the decaying part of the curve... basically this where the fun stuff happens in the car.

Slip ratios and slip angles are basically the same concepts, except you compute the ratios differently for each situation. For lateral forces, we use slip angles because the amount of deformation happens to be related to the angle between the direction they tyre is pointing and the actual direction of travel. For longitudinal forces, we use slip ratios because the amount of rubber deformation is mostly related to how fast the wheel moves with respect to the body of the car. The formula doesn't care what units they are. We simple choose a bunch of magic constants in the formula that's tailored for a particular input in order to get the output we want (or rather, to best approximate the physical behaviour of a tyre under that input condition).
Latest project: Sideways Racing on the iPad
I guess I have to make special cases (when long_vel or lat_vel is zero), right?
Suppose Ive calculated the right force magnitude, where do they point?
for lateral = lateral direction of the wheel?
I should apply the force to the chassis at wheel pos right? It surely will induce torque at the chassis
Sorry double post :)
How do I calculate slip angle? for slip ratio it's
(wheel contact vel-wheel vel)/wheel vel, right?
For slip angle is it
lat = contact vel * latdir
long = contact vel * longdir
slipangle= atan2(long, lat), is it right?(latdir and longdir is in world frame and normalized)

Sorry double post :)
How do I calculate slip angle? for slip ratio it's
(wheel contact vel-wheel vel)/wheel vel, right?
For slip angle is it
lat = contact vel * latdir
long = contact vel * longdir
slipangle= atan2(long, lat), is it right?(latdir and longdir is in world frame and normalized)


Slip is basically the difference between the velocity of the tire at the contact point and the velocity of the center of the "hub" of the tire. This "slip" is what actually generates the forces to move the car. There is lateral slip and longitudinal slip.

So

longSlip = (velocity_at_contact_point - velocity_hub) / velocity_hub....which is more specifically....(wheel_angular_velocity * wheel_radius) - (velocity_hub) / velocity_hub.

velocity_hub is the same as saying GetVelocity(wheel_hub_offset_from_car_center_of_mass); or more specifically....bodyVelocity + (offset - center_of_mass) x bodyAngularVelocity

latSlip is different...its still the delta between the velocity of the tire contact and hub but on the lateral axis of the wheels world facing vector (or just angle)...or in other words this is the difference between the actual path line of the car and the angle of the wheel

latSlip = VectorToAngle(wheel_hub_velocity) - wheel_angle;

That's the basics of it. If you want to see some of this stuff in practice you should take a look at TORCS...its an open source racer. Its a little dated but the concepts are all there. Hope that helps.

Also, don't worry about the Magic Formula. It works but its not all its cracked up to be. Just use friction to scale your forces based on the slip you calculated. All the magic formula does is give you a scalar for the force based on properties of the wheel.
I guess I have to make special cases (when long_vel or lat_vel is zero), right?


Yes, at near zero conditions I just take the sign of the tangential velocity and use either s=-1 or s=1 to compute traction force vector. On top of that, I use a static rolling resistance function to dampen the system to 0.

Suppose Ive calculated the right force magnitude, where do they point?
for lateral = lateral direction of the wheel?[/quote]

For lateral, the force vector is usually in the opposite direction of travel. For longitudinal, it depends on the tyre rotation. The slip ratio can be computed as:

s = (V[sub]T[/sub] - V) / |V|

Where, V[sub]T[/sub] is the tyre tangential velocity, and V is the velocity of the wheel hub. The equation above will produce a signed result. Use the sign to determine the direction of the traction force. You may need to use sign reversal, depending where you measure the tangential velocity (top or bottom of tyre) .

I should apply the force to the chassis at wheel pos right? It surely will induce torque at the chassis[/quote]

Yes, and yes. It's ok, the torque is correct behaviour. If you are worried that the car body is going to rotate by itself, it won't happen. Remember that lateral forces are resistive, they will always act in the opposite direction of the contact patch travel.

Also, don't worry about the Magic Formula. It works but its not all its cracked up to be. Just use friction to scale your forces based on the slip you calculated. All the magic formula does is give you a scalar for the force based on properties of the wheel.[/quote]
I reckon it's worthwhile to experiment with it, you can get some pretty interesting results when shaping the traction curve. What I usually do is setup a spreadsheet, plot out the Pacejka, then plug in different constants to get a nice shape that works really well. Computationally Pacejka is really not a big deal on modern processors, so might as well give it a shot.
Latest project: Sideways Racing on the iPad
Excuse me tachikoma, but you said the lateral force is against the direction of travel, right? that means it will only slow down the car and wont turn the chassis?? (+.+)a doh I think it works in lateral direction of wheels...
Push one corner of the car laterally, while resting on rubber wheels. The resistive force you are experiencing is the actual lateral forces acting at the contact patches, due to the slip angle being 90 degrees to the alignment of the wheels. So the net angular component of the body will largely zero as a result.
Latest project: Sideways Racing on the iPad
yes, but it acts in a lateral direction of the wheel (suppose a wheel is facing front, I push it to the left, there'll be a resistive force in the lateral direction of the wheel, it will push back to the right). And the lateral direction is perpendicular to up and forward direction, right?
(=.=)a
Yep correct.
Latest project: Sideways Racing on the iPad

This topic is closed to new replies.

Advertisement