Car simulation - Pacejka, slip angle and oversteer

Started by
5 comments, last by K_J_M 14 years, 5 months ago
Hello, I have read this thread: http://www.gamedev.net/community/forums/topic.asp?topic_id=462784&forum_id=20&gforum_id=0 And I decided to create another one, because the previous thread is old, and I need some specific clarifications. I am trying to simulate oversteer with my current car simulation, but I am not sure what I need to change to add this behaviour to the car. By definition, the oversteer is having bigger slip angle on the rear wheels, than the front wheels. But since the force returned by Pacejka is greater at higher slip, the yaw rate velocity will tend to stabilize, and so the oversteer wont be possible. Maybe there is some tuning on stiffness that would "build" an angular momentum on the car before the car can stabilize the yaw rate, that would give an oversteer. But still, the car will begin to understeer, and maybe after enter an oversteering state. I am trying to get oversteering as soon as I begin to steer. Is that possible? By the way, power oversteer is not a problem right now, since the power of the engine can easily take off the rear traction. Maybe I am missing something... Thanks.
Advertisement
The force is applied relative to the CG. The placement of the CG will create over steer or under steer effects. If you can imagine the car as a dart, the car will want to orient itself heavy end first. This is because any force applied to the light end is going to be on a longer torque arm, having a greater effect on angular acceleration than if it were applied to the heavy end or closer to the mass.

Move the mass to the back and you'll get over steer. Move the mass to the front and you'll get understeer.

Also, akerman and toe will have an effect on steer properties. Bump toe in the rear will reduce oversteer by having the rear of the car turn in as the weight is transfered to the outside. Like all properites, reversing the property will reverse the effect.
I'm not intimately familiar with the Pacejka magic formula, but I am a licensed road racer, and used to instruct back when it was worth my while. What physics are you already accounting for?

A lot of things can cause significant oversteer, but it can be simplified as the rear traction being less than the front traction, which is what enables and allows you to maintain that higher rear slip angle. Many factors contribute to each tire's traction at any given moment, but the biggest one is weight balance. As you brake, accelerate, turn, hit a bump, etc., the car's weight flows from one area of the car to another, like if you were tilting a pool of water. The car will tilt too, but that's actually an effect of the weight shifting, rather than the cause (which is momentum). The weight being balanced on each tire majorly affects how much traction it has at that moment. Get on the brakes, and the weight shifts to the front of the car, leaving the rear end light with not much traction. When you make a turn, the momentum is making the car want to continue going straight, so your tires need to have enough traction to overcome that forward momentum and hold the turn. If the front tires can't pull that off, you'll understeer and the car wont turn as much as you are turning the wheel (and turning it more actually makes it worse), and you may just plow right off the track. If the rear tires don't have enough traction, you'll oversteer and the rear end will just obey that momentum and keep going straight, while the rest of the car is turning, causing you to be sideways or spinning in the turn. We specifically teach new drivers to not brake and turn at the same time, because it tends to result in oversteer, which can quickly lead to a spin if not immediately sensed and controlled. Combining turning and braking can be great move once they've developed more car control skills, but the ideal amount of oversteer in racing is too small for most spectators to even notice (actually going sideways just slows you down and overheats tires pretty quick). The car's suspension comes into play by controlling the weight transfer and how fast.

To induce oversteer, there are many things you can do to the car's setup to reduce the rear tire contact patches and lower rear tire adhesion, but the most common is biasing the weight balance by use of suspension changes and driving style. Race cars really only want a small amount of oversteer on command (hardly noticeable) unless they're racing on dirt, but the drift show guys do the sideways stuff all the time on pavement, much to the dismay of their tires. The stiffer the rear suspension is (relative to the front), the more it will resist weight being transferred to it, and make the car more prone to oversteer. As for driving style, braking as you enter a turn (ie trail-braking), can help initiate it... just as long as you aren't braking so much that you kill the front traction and cause understeer. Jerky steering, brake, and throttle inputs are also able to upset the car's balance and get it going sideways. It's just hard to properly do car control stuff in a game, because it's largely based on feeling the car out and adjusting accordingly. A simple but hacky method would be just pulling the parking brake to engauge the rear brakes. If you can get a tire to lock up and skid, it looses about 30% of its traction.

So, assuming that your physics code isn't missing something important, I would say to just arbitrarily lower the rear traction if you want to drift, unless you're trying to do a proper simulation, in which case start with the above information...
Thanks a lot for the detailed answers, I really appreciate it.

@Wes22

I already tried several things like messing with the suspensions to control how the load is transfered from one wheel to the other. Also tried to increased the weight transfer effect on the car. I spent "a lot" of time tuning the vehicle trying to get oversteer, but it does not seem to reduce the understeer, and the oversteer is absent.

I already have the power oversteer, and can managed to produce some snap oversteer. The only thing I'm concerned about is the oversteer in a steady state turn, where all the wheels have the traction.

Your idea of imposing a friction reduction on the rear wheels is really nice. I already tried it, and it works great! But like you said, I am at a point where the simulation of the vehicle is really important, and do not want to hack the thing, since it will mess up with the hole tire model.

Since I was not able to get the behaviour I want from suspension settings, load transfer, weight transfer, etc, etc, I tried to remove those, to see how the tire react in a turn. i.e. Center of mass on the same level as the ground, so no weight transfer. Roll centers at the same level as the center of mass, so no load transfer. Same suspension setting for every wheel too.

The problem can be resumed as this:

I'm reducing the friction on rear wheels, and I get the oversteer. Fine (but I'm trying to avoid hacks at all cost)
Now when I try to move the center of mass nearer to the rear, the load increase on the rear wheels, the friction is lowered, but I'm still having understeering. I mean, the fact that the friction is reduced from the higher load should provide oversteer, but it is not the case. So what's different between both solutions? Maybe there is bug somewhere, but I wanted to ask first if it is physical, because I hate chasing non-existing bug ;)

@Bzroom

Exactly! moving the center of mass to the rear should give oversteer! But it doesnt happen when I do that, that's one of my biggest concern. I will implement Akerman, toe out, and camber soon, so more tuning stuff will be avaible. I just want the basic stuff to work first.

Oh well, maybe this is a bug after all, or maybe only wrong Pacejka tuning (wouldnt be the first time)

"By definition, the oversteer is having bigger slip angle on the rear wheels, than the front wheels. But since the force returned by Pacejka is greater at higher slip, the yaw rate velocity will tend to stabilize, and so the oversteer wont be possible."


Your quote above is incorrect.

The forces returned for both longtitude and lateral pacejka peak at a maximum slip angle, then reduce as the slip angle increases further.

Assuming the pacejka tire coeficients are similar to real world tire data.

Therefore, as a tires lateral slip angle increases, so does the force returned from pacejka, until this peak slip angle is reached, then the force declines again.

Hope that helps.

KJM
Yeah sorry, I know the force decreases after the peak. But currently, I'm observing the behaviour inside the traction circle (before peak).

No matter what, the front tires tend to always slipping out first. In that case, the oversteer is not possible.
I've said this before for other car physics developers, but have you tried simplifying your physics down from a 4 point ( 4 wheel ) system to a 1 point single wheel. Treating the chassis as 1 wheel.

I can get oversteer very easily using single point physics.

4 point physics is simply a case of summing all 4 wheel forces to act on the chassis. But since you're having trouble with this, i suggest simplyfing things further.

Oversteer happens with single point physics when the lateral pacejka force returned is insufficient to bring the angular velocity to 0, if the car is in motion. ie, lateral slip angle never reaches 0.

It should simply be a case of either redefining your lateral pacejka coeficients to give a curve which returns less force, or use some scaling amount to reduce the force.


K_J_M

This topic is closed to new replies.

Advertisement