Best way to simulate weight distribution between car wheels

Started by
23 comments, last by adriansnetlis 8 years ago

Well yeah, the remaining thing is calculating load correctly. Calculating directly from suspension force is wrong when suspension is moving(meaning that either it's exceeding more force than load that way lifting up or that it's exceeding not as much force as load that way getting more compressed.

No. You definitely need to reconsider your ideas. Calculating the load from the suspension force is entirely correct. In fact, they are exactly the same magnitude but opposite directions.

  • When the suspension is not moving then load = suspension force = stiffness * compression_distance.
  • When the suspension is moving and the suspension has no damper then the load = suspension force = stiffness * compression_distance.
  • When the suspension is moving and the suspension has damper then the load = suspension force = stiffness * compression_distance + damper * movement_speed.

The last point is the generic case: if suspension has no damper then damper = 0; if suspension is not moving then movement_speed = 0. In either case leaves load = suspension force = stiffness * compression_distance.

It's fair that you might not fully understand it, but please trust other people that actually do. Use this load calculation for now and move forward to the other aspects of the simulation. It will work correctly. Get back to this in the future if you think something is still wrong.

You might also check out these demos and videos. This simulation model calculates load as the suspension force:

http://vehiclephysics.com/about/demos/

The telemetry shows the instant load on each wheel. You can see how load is redistributed as for the weight transfer when he vehicles accelerate, brake or steer:

attachicon.gif2016-03-31_133007_suspension_load.jpg attachicon.gif2016-01-26_195905_vpp_suspension_load.jpg

In the first picture the car is accelerating, so there is more load (=weight) at the rear wheels. In the second picture the car is performing a strong turn to the right (1.7G), so most of the weight (=load) has been transferred to the left wheels.

I want a Linux version for the Ferrari(keyboard one as I don't have steer wheel controller:( ).

I'll assume that you're right about the suspension force and load.

Advertisement

I have a question there in the end of video - why're the results so different?

Why is that so different from the Marco Monster doc, you ask?

You shouldn't consider any document as a "bible" for vehicle physics. Each document typically analyses specific aspect from different points of view, considering different things and calculating different properties in different ways. Everything is correct when considered separately. But these won't likely give you a generic vehicle simulation model.

nVidia PhysX committed that same mistake. When designing the PhysX Vehicles SDK at PhysX 3 someone considered that the concept of "sprung mass" was the Holy Grail of vehicle simulation. They designed and built the simulation around that concept. The result is a terrible vehicle simulation causing lots of troubles unless you find a specific combination of settings. Part of my code consists exclusively on neutralizing that sprung mass implementation so the suspension can work in the physically correct way, as described in my previous post.

The best recommendation I can give is to adhere to essential physics concepts as much as possible (rigid bodies, forces, torques, etc). Use the documents for learning, but build the vehicle simulation out of correct physic principles.

Thanks for information.

By the way, does all of the suspension types act like in that equation or do they have differences in their force outputs?

I have a question there in the end of video - why're the results so different?


Why is that so different from the Marco Monster doc, you ask?

You shouldn't consider any document as a "bible" for vehicle physics. Each document typically analyses specific aspect from different points of view, considering different things and calculating different properties in different ways. Everything is correct when considered separately. But these won't likely give you a generic vehicle simulation model.

nVidia PhysX committed that same mistake. When designing the PhysX Vehicles SDK at PhysX 3 someone considered that the concept of "sprung mass" was the Holy Grail of vehicle simulation. They designed and built the simulation around that concept. The result is a terrible vehicle simulation causing lots of troubles unless you find a specific combination of settings. Part of my code consists exclusively on neutralizing that sprung mass implementation so the suspension can work in the physically correct way, as described in my previous post.

The best recommendation I can give is to adhere to essential physics concepts as much as possible (rigid bodies, forces, torques, etc). Use the documents for learning, but build the vehicle simulation out of correct physic principles.
Thanks for information.
By the way, does all of the suspension types act like in that equation or do they have differences in their force outputs?

That equation is infinite spring and dampener. In more practical case of car suspension you want to have limits of how far spring can compress and expand. Another part is dampener, real dampener produce different amount of force if spring is compressing or expanding. Expanding dampening is usually 75% and compression is 25% of dampener force. This way when you drive over the ditch in the road, wheel won't drop into it fast. When you drive over the obstacle wheel have to react fast so only quarter of dampening force is applied.
Anyway all this fine and dandy only for "vertical" spring suspension, more complicated suspension setups can act as a lever. I don't know much about car suspension, for tanks, torsion bar suspension or Christie suspension can be approximated with angular and linear spring. In these cases spring force is as close to wheel load as it gets. In cases of quarter-leaf suspension with bogie and multi wheels, you have to rely on "normal impulse" returned from collision of the wheel with the ground.

I have a question there in the end of video - why're the results so different?


Why is that so different from the Marco Monster doc, you ask?

You shouldn't consider any document as a "bible" for vehicle physics. Each document typically analyses specific aspect from different points of view, considering different things and calculating different properties in different ways. Everything is correct when considered separately. But these won't likely give you a generic vehicle simulation model.

nVidia PhysX committed that same mistake. When designing the PhysX Vehicles SDK at PhysX 3 someone considered that the concept of "sprung mass" was the Holy Grail of vehicle simulation. They designed and built the simulation around that concept. The result is a terrible vehicle simulation causing lots of troubles unless you find a specific combination of settings. Part of my code consists exclusively on neutralizing that sprung mass implementation so the suspension can work in the physically correct way, as described in my previous post.

The best recommendation I can give is to adhere to essential physics concepts as much as possible (rigid bodies, forces, torques, etc). Use the documents for learning, but build the vehicle simulation out of correct physic principles.
Thanks for information.
By the way, does all of the suspension types act like in that equation or do they have differences in their force outputs?

That equation is infinite spring and dampener. In more practical case of car suspension you want to have limits of how far spring can compress and expand. Another part is dampener, real dampener produce different amount of force if spring is compressing or expanding. Expanding dampening is usually 75% and compression is 25% of dampener force. This way when you drive over the ditch in the road, wheel won't drop into it fast. When you drive over the obstacle wheel have to react fast so only quarter of dampening force is applied.
Anyway all this fine and dandy only for "vertical" spring suspension, more complicated suspension setups can act as a lever. I don't know much about car suspension, for tanks, torsion bar suspension or Christie suspension can be approximated with angular and linear spring. In these cases spring force is as close to wheel load as it gets. In cases of quarter-leaf suspension with bogie and multi wheels, you have to rely on "normal impulse" returned from collision of the wheel with the ground.

Hm... I don't understand some of the things. I don't know how could I obtain the normal impulse:D

Also I've got a question - in case when I apply anti-roll bars on suspension, do I account them for the load or does the force that they transfer not change the load?

OK! Here a question appears - do I need to take in account the slope angle when calculating load? Is the load actually normalforce? Where it's actually Weight*cos(angle). If so, it's not hard, as the cos(angle) is obtained using the surface normal vector dotted by world gravity vector. Am I right at this point?:)

This topic is closed to new replies.

Advertisement