Race Sim Central
Rec.Autos.Simulators Archive

Car Physics: Suspension Load

9 posts by 5 people · 07 Nov 2001 15:56 UTC - 11 Nov 2001 21:42 UTC

Mike Stanley 07 Nov 2001 15:56 UTC#153742
Hi Everybody, Well I finally got the mechanics of the suspension system working in my sim. I have constrained joints, springs and dampers all working in perfect harmony. I now get the correct pitch and roll from the car body when cornering, accelerating and braking, which makes me happy :) The next step is to calculate supension load correctly for inputting to the Pacejka formulae. Until now, I've just been assuming that a quarter of the car's weight acts at each wheel, but now I'm ready for something more accurate. I have a couple of questions about this. Firstly, I've seen spring rate mentioned a couple of times in relation to calculating suspension load. What exactly is this? Is it just the spring stiffness constant used in the spring formula (ie k in F = k*extension). Secondly, assuming you've calculated the suspension load, then to calculate the load on the wheel for Pacejka, is it just this value, or do you have to add the weight of the wheel, axle etc to this? I would think this would be the case, but I haven't seen any reference to this anywhere. Thanks in advance, Mike.
In the case that your suspension is not completly compressed. The load on tire is equal to the suspension force. Neglecting tire spring effect. a simple exeprience : if the car is NOT moving at all, in equilibrium. If you add all 4 suspensions force you must have Ffl + Ffr + Frl + Frr = 9.81 * M suspensions forces gravity force because at equilibrium, Sum forces = 0 If your suspension is completly compressed it's more complicated, because in this case the wheel could be consider to be rigidly attached to the car body. So you need to compute it as a contact of your rigid body with the ground ( neglecting tire spring effect ), this must be easy with a constrained rigid body model. Just add this contact in your constrained model and get the force result . btw, do you use Lagrange multiplier and Jacobian matrices ? regards, -- Sebastien TIXIER - Game Developer Dynamics and Car Physics http://www.eden-studios.fr GPLRank Normal:-44.24 Monster:-124.44
Quoted text (11 lines)> In the case that your suspension is not completly compressed. > > The load on tire is equal to the suspension force. Neglecting tire spring > effect. > > a simple exeprience : if the car is NOT moving at all, in equilibrium. > > If you add all 4 suspensions force you must have > > Ffl + Ffr + Frl + Frr = 9.81 * M > suspensions forces gravity force
OK that gives you the force acting on the wheel from the suspension. But shouldn't the Pacejka formulae need the forces acting on the contact patch, ie suspension force + weight of wheel? > > because at equilibrium, Sum forces = 0 > > If your suspension is completly compressed it's more complicated, becausein > this case the wheel could be consider to be rigidly attached to the carbody. So > you need to compute it as a contact of your rigid body with the ground ( > neglecting tire spring effect ), this must be easy with a constrainedrigid body > model. Just add this contact in your constrained model and get the forceresult Same question as before, but in reverse :) Shouldn't the spring force also play a part in this? > . > > btw, do you use Lagrange multiplier and Jacobian matrices ? > Yes and no. I eventually coded 2 methods for imposing constraints. The first was the LM technique. I eventually got it working, except for the feedback (spring) term that's used to correct for numerical drift. The spring force itself was OK, but if I applied any non-zero damping to it the system immediately became completely unstable :(. Not sure if this is just a bug in my code (I'm still looking into it) but at the moment it works with a zero damping term. The result works basically OK, except you get lots of ugly little oscillations on the wheels. The second attempt is non-physical and limited, but easy to implement. It's based on the observation that the rigid constraints in the suspension system will restrict the motion of the wheel centre to a 2D circle (relative to the car body). I think this was pointed out by somebody in another thread recently? So the idea is that firstly the wheel and car body are both moved independently (as unconstrained rigid bodies). Then a force is applied to the wheel to move it to a position that satisfies the constraints. This position is determined by first projecting the wheel onto the plane defined by the circular motion (the wheel is projected along the plane normal) and then moving it the correct distance from the centre of the circle. Of course this means that any force applied to the wheel alone will basically have no effect - it may move the wheel initially, but then the constraint step will bring the wheel back to a legal position, without affecting the position of the car body. To get around this, I have a force transfer system between rigid joints - when a force is applied to a body, I look at all bodies joined to this one by joint constraints. The proportion of the force along the constraint vector is then transferred to the connected body. Like I said, not physically correct but it looks OK. Other than the oscillations with the LM method, both techniques look pretty much the same in practise. I'm currently going with the second approach, because it's working, but intend to switch to LM when I iron out the bugs, since this will give me a solution that will work in more general situations (eg modelling an articulated lorry :).
Quoted text (10 lines)> regards, > > > -- > Sebastien TIXIER - Game Developer > Dynamics and Car Physics > http://www.eden-studios.fr > GPLRank Normal:-44.24 Monster:-124.44 > >
>Well I finally got the mechanics of the suspension system working in my sim. >I have constrained joints, springs and dampers all working in perfect >harmony. I now get the correct pitch and roll from the car body when >cornering, accelerating and braking, which makes me happy :) Congratulations, genious! :0)
Quoted text (8 lines)>The next step is to calculate supension load correctly for inputting to the >Pacejka formulae. Until now, I've just been assuming that a quarter of the >car's weight acts at each wheel, but now I'm ready for something more >accurate. I have a couple of questions about this. > >Firstly, I've seen spring rate mentioned a couple of times in relation to >calculating suspension load. What exactly is this? Is it just the spring >stiffness constant used in the spring formula (ie k in F = k*extension).
Yes. >Secondly, assuming you've calculated the suspension load, then to calculate >the load on the wheel for Pacejka, is it just this value, or do you have to >add the weight of the wheel, axle etc to this? I would think this would be >the case, but I haven't seen any reference to this anywhere. Most people don't talk about the "unsprung weight" here. You'll need the vertical force from the sum of the suspension spring *and damper* force (from the wheel velocity) as well, plus the weight of the wheel, axle, a-arm's, etc., I believe. It seems I read somewhere that an a-arm can act partially as sprung and partially as unsprung weight depending on its orientation though... I might have misunderstood that of course. I think you'll also need to make sure that the "unsprung" weight is applied as a force in the proper direction, i.e., on a hill it will cause less tire load. There's also a vertical force at the wheel that's a reaction through the suspension linkages due to any longitudinal or lateral tire force as well, called jacking. I'm not sure how this is handled in a constraint type system like yours, although I bet Gregor Veble or Matt Jessick would know. Todd Wasson --- Performance Simulations Drag Racing and Top Speed Prediction Software http://PerformanceSimulations.Com
Mike Stanley wrote: > OK that gives you the force acting on the wheel from the suspension. But > shouldn't the Pacejka formulae need the forces acting on the contact patch, > ie suspension force + weight of wheel? Yes,oups sry, i thought it was obvious.you must consider all forces at the contact patch.In many case using just the suspension load is a very good approximation for the load ;o) For our game i used this. With a constraint body you could consider the forces needed to keep the wheel from penetrating in the ground. This is the REAL load ! The load IS the reaction from the ground to counter-act the other forces that could do the wheel penetrate the ground ( err.. this sentences is surely not a correct english ;o) ) If you could do this it's perfect , because even if you simulate that something press the car from above and compress completly the suspensions, you'll have the right load. With a constrained model it's must be easy ;o) If you use another way to compute the reaction force from the ground maybe impulse forces. It's a lot less easy. You should consider the contact between ground and wheel as a resting contact not a dynamic collision contact, well, that's my understanding of the problem ;o) > Same question as before, but in reverse :) Shouldn't the spring force also > play a part in this? yes sure, in that case the suspension force keep constant.
Quoted text (10 lines)> > btw, do you use Lagrange multiplier and Jacobian matrices ? > > Yes and no. I eventually coded 2 methods for imposing constraints. The first > was the LM technique. I eventually got it working, except for the feedback > (spring) term that's used to correct for numerical drift. The spring force > itself was OK, but if I applied any non-zero damping to it the system > immediately became completely unstable :(. Not sure if this is just a bug in > my code (I'm still looking into it) but at the moment it works with a zero > damping term. The result works basically OK, except you get lots of ugly > little oscillations on the wheels.
I made some years ago a flexibal models. Every constrained stuff was modeled with stiff spring and dampers. The main problem was to keep spring and damper value coherent with the integration step time. If the step time was too big compared to the spring/damper values, the objects exploded ;o) A RK4 integrator was really helping ;o)
Quoted text (19 lines)> The second attempt is non-physical and limited, but easy to implement. It's > based on the observation that the rigid constraints in the suspension system > will restrict the motion of the wheel centre to a 2D circle (relative to the > car body). I think this was pointed out by somebody in another thread > recently? So the idea is that firstly the wheel and car body are both moved > independently (as unconstrained rigid bodies). Then a force is applied to > the wheel to move it to a position that satisfies the constraints. This > position is determined by first projecting the wheel onto the plane defined > by the circular motion (the wheel is projected along the plane normal) and > then moving it the correct distance from the centre of the circle. > > Of course this means that any force applied to the wheel alone will > basically have no effect - it may move the wheel initially, but then the > constraint step will bring the wheel back to a legal position, without > affecting the position of the car body. To get around this, I have a force > transfer system between rigid joints - when a force is applied to a body, I > look at all bodies joined to this one by joint constraints. The proportion > of the force along the constraint vector is then transferred to the > connected body. Like I said, not physically correct but it looks OK.
Well, the second method seems to me to be a specific case of the first method and IMO seems quite physically correct ;o) > Other than the oscillations with the LM method, both techniques look pretty > much the same in practise. I'm currently going with the second approach, > because it's working, but intend to switch to LM when I iron out the bugs, > since this will give me a solution that will work in more general situations > (eg modelling an articulated lorry :). I also, implementing a constrained rigid body model, just looking the theory for now :o) I'll certainly use "Fast Contact Force Computation for Nonpenetrating Rigid Bodies" from David Baraff, that used very interesting stuff for resting contact, static and dynamic frictions ;o) regards, -- Sebastien TIXIER - Game Developer Dynamics and Car Physics http://www.eden-studios.fr GPLRank Normal:-44.24 Monster:-124.44
> > I made some years ago a flexibal models. Every constrained stuff wasmodeled > with stiff spring and dampers. The main problem was to keep spring anddamper > value coherent with the integration step time. If the step time was toobig > compared to the spring/damper values, the objects exploded ;o) > A RK4 integrator was really helping ;o) Yeah, I'm thinking about moving to RK4, but I don't thing that's the problem here. The system blows up however small the values of the damper and timestep. Think it's more likely to be a bug of mine, but I'll stick with what I've got for now and look at it again in a few weeks - I need to take a step away from it for a while and do something easier (my brain needs a rest :O) > Well, the second method seems to me to be a specific case of the firstmethod > and IMO seems quite physically correct ;o) > Hmmm .... not sure it is. But after posting this message last night I realised I could combine the 2 techniques. I could use LM for the bulk of it, then use the second technique in place of the spring term to correct for numerical drift. But like I said, not for a few weeks ... > I also, implementing a constrained rigid body model, just looking thetheory for > now :o) > I'll certainly use "Fast Contact Force Computation for NonpenetratingRigid > Bodies" from > David Baraff, that used very interesting stuff for resting contact, staticand > dynamic frictions ;o) > Well, Baraff's the Daddy as far as this stuff's concerned :) Good luck Mike.
On Thu, 08 Nov 2001 07:54:22 +0100, Sebastien Tixier <[email hidden]> wrote: >With a constraint body you could consider the forces needed to keep the wheel >from >penetrating in the ground. This is the REAL load ! Note I myself let the wheel penetrate the ground a little (although that may change ;-)), because that is how the tire gives reaction responses (through F=k*tire_rate) to go up again. So it sinks in a little into the tarmac. >> Yes and no. I eventually coded 2 methods for imposing constraints. The first >> was the LM technique.... >> The result works basically OK, except you get lots of ugly >> little oscillations on the wheels. Except from Sebastien's RK4 hint, what may also help is implicit integration. Not that I'm experienced with that, but I'm going to try it for damper forces, since these make my suspension system (just Newtonian stuff) unstable. See Baraff's papers; he has one on differential equations basics, and the next is implicit differential integration. This looks at values from the future perspective, and may help in cases where a forward approach gets unstable quickly. Also nice on the wishlist is a variable stepsize integrator. >I also, implementing a constrained rigid body model, just looking the theory for >now :o) >I'll certainly use "Fast Contact Force Computation for Nonpenetrating Rigid >Bodies" from >David Baraff, that used very interesting stuff for resting contact, static and >dynamic frictions ;o) Do you know if any code has been published on this method? I'm entirely unsure how to do the A11*x calculations, for starters. ;-) Ruud van Gaal Free car sim : http://www.marketgraph.nl/gallery/racer/ Pencil art : http://www.marketgraph.nl/gallery/
"Sebastien Tixier" <[email hidden]> wrote in message news:[email hidden]... > In the case that your suspension is not completly compressed. > > The load on tire is equal to the suspension force. Neglecting tire spring > effect. Plus the unsprung mass and the forces accelerating it. Neglecting the... why??
Quoted text (10 lines)> a simple exeprience : if the car is NOT moving at all, in equilibrium. > > If you add all 4 suspensions force you must have > > Ffl + Ffr + Frl + Frr = 9.81 * M > suspensions forces gravity force > > because at equilibrium, Sum forces = 0 > > If your suspension is completly compressed it's more complicated,
I see it as the same as the no movement case: the wheels are not in motion relative to the sprung mass. > because in > this case the wheel could be consider to be rigidly attached to the carbody. So > you need to compute it as a contact of your rigid body with the ground ( > neglecting tire spring effect ), this must be easy with a constrainedrigid body > model. Just add this contact in your constrained model and get the forceresult Why?
On Fri, 9 Nov 2001 21:43:59 -0600, "Michael Young" <[email hidden]> wrote:
Quoted text (7 lines)>"Sebastien Tixier" <[email hidden]> wrote in message >news:[email hidden]... >> The load on tire is equal to the suspension force. Neglecting tire spring >> effect. > >Plus the unsprung mass and the forces accelerating it. Neglecting the... >why??
It's more stable that way. If you have Racer, try debug.ini's use_susp_force to test it using tire forces, or suspension forces. Definite differences! (will be much better though since the implicit integrator, ouch).
Quoted text (13 lines)>> a simple exeprience : if the car is NOT moving at all, in equilibrium. >> >> If you add all 4 suspensions force you must have >> >> Ffl + Ffr + Frl + Frr = 9.81 * M >> suspensions forces gravity force >> >> because at equilibrium, Sum forces = 0 >> >> If your suspension is completly compressed it's more complicated, > >I see it as the same as the no movement case: the wheels are not in motion >relative to the sprung mass.
Right. Take a look at your model, and you may find that it's all a bunch of steady state solutions used over small time steps. Nothing dynamic about that. :) Ofcourse, it may be more brilliant and I should shut up. ;-)
Quoted text (10 lines)>> because in >> this case the wheel could be consider to be rigidly attached to the car >body. So >> you need to compute it as a contact of your rigid body with the ground ( >> neglecting tire spring effect ), this must be easy with a constrained >rigid body >> model. Just add this contact in your constrained model and get the force >result > >Why?
If the suspension bottoms out, it can go no further. Then it's like there is NO suspension, just the tire hooked to the car directly. No spring, so then it becomes a collision point, instead of a smoothly varying differential function. Compare it with the left side of the front bumper touching the ground. Same thing as a bottoming suspension (except for the tire which is still there and is a spring, but tires are quite stiff). Ruud van Gaal Free car sim : http://www.marketgraph.nl/gallery/racer/ Pencil art : http://www.marketgraph.nl/gallery/

Sponsors

Affiliate Links

Sim Gaming Expo MOZA Racing Sim-Lab Fanatec TrakRacer Asetek Internet Privacy From NordVPN Dreamhost Capital One Credit Card Application Fanatical CDKeys Amazon Amazon UK Project Motor Racing iRacing Get your racing gloves, boots and more from Demon Tweeks. Enlist at Roberts Space Industries, developers of Star Citizen and Squadron 42


Back from the ashes since July, 2019. First created in 2001 with the merger of Legends Central (founded 1999) and simracing.dk.

A site by a sort of sim racer, for sim racers, about racing sims. News and information on both modern and historic sim racing software titles.

All products and licenses property of their respective owners.


Facebook Threads Bluesky Twitter Mastodon Instagram YouTube Tiktok Twitch Reddit Google News Apple News Subscribe via WordPress Flipboard eBay

Race Sim Central © 1999-2026 | Some links pay RSC a commission. Advertising does not equal endorsement.Cookie Policy