Race Sim Central
Rec.Autos.Simulators Archive

[PHYSICS] Wheel spring at low speed

7 posts by 3 people · 09 Apr 2002 07:01 UTC - 11 Apr 2002 10:59 UTC

Sebastien Tixier 09 Apr 2002 07:01 UTC#126166
Hi , I'm currently solving the problem of the car moving when it's stopped because the slip angle is not good when the wheel are not rolling. My first intuition was to use an usual friction force, F = � . Load. Because the forces involved in the tires are friction forces. Fm = maximal force �d = dynamic coef �n = static coef L = load v = linear wheel speed so the equation is If v == 0 Fm = - Sign(v) * �s * Load else Fm = -Sign(v) * �d * Load The difficulty is that you compute a MAXIMUM force that CAN'T reverse motion. And because of how i made the dynamic engine and collision detection and resolution , i cant compute the real force needed. I would need to resolve an equation in realtime for all the contacts ( 4 wheels in the easiest case ). However it's for a realtime game on PS2, so CPU is not infinite here ;o) I try with something proportional to wheel load anc wheel acceleration but it didn't seem to be good :o) Another solution should be to compute the amout of force to that would make the speed null but it's not right with 4 wheel acting on the car because each wheel act on the other wheel by the car chassis. So i heard about wheel spring to handle a car stoped on a banked surface. We resolve the problem for the longitudinal. But i still have problem with lateral force. So how i'm searching for archive about wheel spring... Anyway, this is how i understood it ;o) : At low speed, i need to simulate a wheel as spring. Spring forces are F = k .dl. So Can i use lateral wheel speed as delta length or do i need to store a wheel information when entering in low speed behaviour to compute the delta length ? What information i need ? wheel position doesn't seems good ;o) any help will ne apreciate for wheel spring or to compute effeciently the frictional force thanks in advance Sebastien TIXIER - Game Developer Dynamics and Car Physics http://www.eden-studios.fr GPLRank Normal:-44.24 Monster:-124.44
Hi Sebastien, check the other ongoing thread (Pacejka probs) to hear about the possible solution. The best solution that I have seen so far is the relaxation length approach, I believe Ruud put a link to the proper SAE paper in a post in the other thread. But to give you a general idea what it is about; as you say, the problem with slip angle/ratio is that you need to divide by the value of longitudinal velocity when calculating them. The way around this problem is that you don't consider slip angle and ratio as direct functions of the wheel velocities, but as state variables that change with time. Let me just put the eqs. here: d(Slip_lat)/dt = 1/L * (V_lat - |V| Slip_lat) d(Slip_long)/dt= 1/L * (V_long - Omega*R - |V| Slip_long) where L is the relaxation length (of the order of a fraction of wheel radius R), V_lat/V_long corresponding velocity components, |V| the absolute value of the velocity with which you would normally divide when calculating the slip angle/ratio (depends a bit on your definition), and Slip_lat and Slip_long the (function of) slip angle and slip ratio, respectively, again depending on what definition you use. To see why these equations are good, consider the stationary situation where the left side is equal to 0. Then you will get Slip_lat = V_lat/|V| Slip_long= (V_long - Omega*R)/|V| which are just the usual definitions for the slip angle/ratio or functions of those. From these equations you may also see how you need to modify the original equations should your definitions of slip angle/ratio or the functions of those that you might use be different. When the values do change with time you can see that the dynamic equations do not have any divisions (well, apart from 1/L ;) ) in them and are thus well behaved at all speeds. It's also possible to show that they allow the car to stop well on hills as they behave sort of like a spring at small velocities. It's best to try that and see. Oh, the forces are calculated from the dynamic slip angle/ratio just as before. I hope this helps (and maybe someone else as well :) ). Greetings, -Gregor P.S.: Got a PS2 last weekend. When can I expect to see the final results :)? On Tue, 9 Apr 2002, Sébastien Tixier wrote:
Quoted text (65 lines)> Hi , > > I'm currently solving the problem of the car moving when it's stopped > because the slip angle is not good when the wheel are not rolling. > > My first intuition was to use an usual friction force, F = µ . Load. > Because the forces involved in the tires are friction forces. > > Fm = maximal force > µd = dynamic coef > µn = static coef > L = load > v = linear wheel speed > > so the equation is > > If v == 0 > Fm = - Sign(v) * µs * Load > else > Fm = -Sign(v) * µd * Load > > The difficulty is that you compute a MAXIMUM force that CAN'T reverse > motion. > > And because of how i made the dynamic engine and collision detection > and resolution , i cant compute the real force needed. I would need to > resolve an equation in realtime for all the contacts ( 4 wheels in the > easiest case ). However it's for a realtime game on PS2, so CPU is > not infinite here ;o) > I try with something proportional to wheel load anc wheel acceleration > but it didn't seem to be good :o) > > Another solution should be to compute the amout of force to that would > make the speed null but it's not right with 4 wheel acting on the car > because each wheel act on the other wheel by the car chassis. > > So i heard about wheel spring to handle a car stoped on a banked > surface. We resolve the problem for the longitudinal. > But i still have problem with lateral force. > > So how i'm searching for archive about wheel spring... > > Anyway, this is how i understood it ;o) : > > At low speed, i need to simulate a wheel as spring. > Spring forces are F = k .dl. > > So > > Can i use lateral wheel speed as delta length or do i need to store a > wheel information when entering in low speed behaviour to compute > the delta length ? What information i need ? wheel position doesn't > seems good ;o) > > any help will ne apreciate for wheel spring or to compute effeciently > the frictional force > > > thanks in advance > > Sebastien TIXIER - Game Developer > Dynamics and Car Physics > http://www.eden-studios.fr > GPLRank Normal:-44.24 Monster:-124.44 >
On Tue, 9 Apr 2002 11:06:29 +0200, Gregor Veble <[email hidden]> wrote: >Hi Sebastien, >[SNIP] Very interesting :o) Meanwhile, i correct the problem by adding a force F = -k * lat_speed * Load , at very low speed ( < .5 ms-1 ). It works good, with k = 5.0 for our range of application. As we have to finish the game in some* weeks, i dont have time to try more elegant solution :o) Anyway i'll definitvly implement this in the new car physics for the next game, i also have to implement the Jacobian matrices and Lagrange stuff for the resting contacts , real friction forces , rigd body joint constraint for REAL suspensions system ( Mc Pherson suspensions, etc... ) >P.S.: Got a PS2 last weekend. When can I expect to see the final results >:)? V-Rally 3, on PS2, out on June 2002 in Europe, dont know for US. * : i cant tell when we finish the game www.vrally.com Believe me, there a real Car physics on this game , however we have to add driving help because you just cant drive a car with a PS2 pad :o( BTW,have you try GT3 with ALL helps off ? you need to explorer options a bit but, it's far better with all helps off. regards, Sebastien TIXIER - Game Developer Dynamics and Car Physics http://www.eden-studios.fr GPLRank Normal:-44.24 Monster:-124.44
Hi Sebastien! On Tue, 9 Apr 2002, Sébastien Tixier wrote: > > Meanwhile, i correct the problem by adding a force > F = -k * lat_speed * Load , at very low speed ( < .5 ms-1 ). > It works good, with k = 5.0 for our range of application. > As we have to finish the game in some* weeks, i dont have time to > try more elegant solution :o) This solution is practically the same in essence as the one Dave mentions he used for Viper. I believe he says he limits the absolute value of velocity with which you divide to get the slip angle/ratio. Mathematically what you propose is quite equivalent, only the parameters are given in a different way. The only artifact is that the car will slide slightly when stopped on a hill, but I think you can live with that (not that much stopping in rallying ;) ). > Anyway i'll definitvly implement this in the new car physics for > the next game, i also have to implement the Jacobian matrices > and Lagrange stuff for the resting contacts , real friction forces , > rigd body joint constraint for REAL suspensions system ( Mc Pherson > suspensions, etc... ) > Sounds like an amazing, do keep us updated! > > V-Rally 3, on PS2, out on June 2002 in Europe, dont know for US. > > Believe me, there a real Car physics on this game , however we have to > add driving help because you just cant drive a car with a PS2 pad :o( I have the Logitech FF GT wheel, can you add a last minute cheat in there to enable us to disable this help? (pretty please :) ?) > > BTW,have you try GT3 with ALL helps off ? you need to explorer options > a bit but, it's far better with all helps off. > I believe I turned off everything I could, and the result is pretty amazing. They (deliberately) left the inertias of the cars pretty high to make them easier to handle, but the physics engine itself seems to be rather good, certainly it does what is asked of it as it doesn't ever spoil the illusion. It's indeed a very fine racing game and a driving sim (did I get definitions correctly ;)?) Good luck with the game, I'll be sure to get it when it's out! -Gregor
On Tue, 9 Apr 2002 14:29:02 +0200, Gregor Veble <[email hidden]> wrote:
Quoted text (9 lines)>Hi Sebastien! > >This solution is practically the same in essence as the one Dave mentions >he used for Viper. I believe he says he limits the absolute >value of velocity with which you divide to get the slip >angle/ratio. Mathematically what you propose is quite equivalent, only >the parameters are given in a different way. The only artifact is that the >car will slide slightly when stopped on a hill, but I think you can live >with that (not that much stopping in rallying ;) ).
Well, not so much , because in fact in my implementation i made the coef factor dependant with the ground banking ;o) I also plan to add a force to counter act the amout of force the gravity add that makes the car move perpendicular to ground normal. ( this sentences sounds incomprehesible to my french hear :o( ) >Sounds like an amazing, do keep us updated! i will ! my evening readings are mathematicals for the moment. I have to revise all my algebrical studies :o) >I have the Logitech FF GT wheel, can you add a last minute cheat in there >to enable us to disable this help? (pretty please :) ?) The cheat already exists .. oups.. i whish an infogrammes marketing guys is not listening at the moment ;o) Plus some more cheats :o) ( hehehe ! ) I'll tell when the game will be released. BTW, we manage FF in the game. And officialy support the blue PS2 logiteck FF.
Quoted text (10 lines)>> BTW,have you try GT3 with ALL helps off ? you need to explorer options >> a bit but, it's far better with all helps off. >> > >I believe I turned off everything I could, and the result is pretty >amazing. They (deliberately) left the inertias of the cars pretty high to >make them easier to handle, but the physics engine itself seems to be >rather good, certainly it does what is asked of it as it doesn't ever >spoil the illusion. It's indeed a very fine racing game and a driving sim >(did I get definitions correctly ;)?)
Some of us went to the GDC, and the presentation of GT3 car physics where pretty amazing !!! I try to get a summuray and post it here if there's no confidential stuff. Too bad the colision engine and collision responses sucks , IMO. >Good luck with the game, I'll be sure to get it when it's out! Thanks ! Sebastien TIXIER - Game Developer Dynamics and Car Physics http://www.eden-studios.fr GPLRank Normal:-44.24 Monster:-124.44
On Tue, 9 Apr 2002 11:06:29 +0200, Gregor Veble <[email hidden]> wrote: ...
Quoted text (10 lines)>But to give you a general idea what it is about; as you say, the problem >with slip angle/ratio is that you need to divide by the value of >longitudinal velocity when calculating them. The way around this problem >is that you don't consider slip angle and ratio as direct functions of the >wheel velocities, but as state variables that change with time. Let me >just put the eqs. here: > >d(Slip_lat)/dt = 1/L * (V_lat - |V| Slip_lat) > >d(Slip_long)/dt= 1/L * (V_long - Omega*R - |V| Slip_long)
Are you sure it shouldn't be: d(tan(Slip_lat))/dt = 1/L * (V_lat - |V| tan(Slip_lat)) ? This is what is used in SAE950311 I think (a paper highly recommended to just buy from sae.org). >where L is the relaxation length (of the order of a fraction of wheel >radius R) BTW L_lat and L_long differ; L_long is estimated as about 1/10th of L_lat (in the paper anyway ;-) ). For a real implementation, I'd get the paper; there are some quirks when the wheel velocity's sign changes (those pesky sign reversals are a source of trouble in every spot in a sim). Ruud van Gaal Free car sim: http://www.racer.nl/ Pencil art : http://www.marketgraph.nl/gallery/
Hi Ruud! On Thu, 11 Apr 2002, Ruud van Gaal wrote:
Quoted text (21 lines)> On Tue, 9 Apr 2002 11:06:29 +0200, Gregor Veble > <[email hidden]> wrote: > > ... > >But to give you a general idea what it is about; as you say, the problem > >with slip angle/ratio is that you need to divide by the value of > >longitudinal velocity when calculating them. The way around this problem > >is that you don't consider slip angle and ratio as direct functions of the > >wheel velocities, but as state variables that change with time. Let me > >just put the eqs. here: > > > >d(Slip_lat)/dt = 1/L * (V_lat - |V| Slip_lat) > > > >d(Slip_long)/dt= 1/L * (V_long - Omega*R - |V| Slip_long) > > Are you sure it shouldn't be: > d(tan(Slip_lat))/dt = 1/L * (V_lat - |V| tan(Slip_lat)) ? > > This is what is used in SAE950311 I think (a paper highly recommended > to just buy from sae.org). >
It doesn't really matter (I didn't say what Slip_lat was anyway, did I ;) ), as the core behaviour doesn't change. I personally don't like to use tan anyway as it tends to somewhat strange behaviour at angles close to 90 degrees, and also it is much harder to reproduce proper sliding behaviour when wheels are locked and sideways with it. Still, engineers love it and most data is given in those units. But since sin x is approx tan x for small x where stuff is most important anyway, it's really irrelevant what one uses. > >where L is the relaxation length (of the order of a fraction of wheel > >radius R) > > BTW L_lat and L_long differ; L_long is estimated as about 1/10th of > L_lat (in the paper anyway ;-) ). Sure that's true, but that's the material for lesson 2 :). > > For a real implementation, I'd get the paper; there are some quirks > when the wheel velocity's sign changes (those pesky sign reversals are > a source of trouble in every spot in a sim). > Ah, the sign of the velocity; of course that is terrible, even more so since it's also very much dependent on how you define your force vs. slip curves. Better to keep it out of the discussion for now (let's keep the lion sleeping just a tad longer ;) ) -Gregor

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