Race Sim Central
Rec.Autos.Simulators Archive

Car physics: SAE950311 once more

15 posts by 4 people · 23 Aug 2002 09:45 UTC - 27 Aug 2002 12:03 UTC

Ruud van Gaal 23 Aug 2002 09:45 UTC#101593
Hi all, I've finally managed to get my weight transfer fixed for anti-pitch and anti-roll (or high roll centers) I think. Hehe, yes a basic requirement actually, but well. :) And ofcourse, a new problem crept in; the car could become unstable, it jitters left/right quite violently at times, as if something like this happens (at low speed, at higher speeds things are better): - a small lateral force spike occurs - the car gets a torque, weight transfer and weight shifts to the other side - the a larger lateral force is generated in return - larger torque to the other side In other words, a kind of blowup which doesn't settle down by itself. I didn't use the SAE950311 lateral relaxation length approach (since I had trouble with that), but to find the problem I reintroduced it. Small summary of lateral relaxation length to fight slipangle jittering at low speed: instead of calculating slipangle (SA) directly from wheel velocities, you make it a state variable. You vary it according to the wheel spinning velocity: tan(SA)dt - u/b*tan(SA) = v/b where u=wheel longitudinal speed, v=lateral speed, b=relaxation length (say 0.91). Ok, so I tested it again by throwing the car sideways. The car stops, then swings BACK again! Like a spring. Here's what I think happens: - v is large, the car goes laterally with great speed - u is 0, it doesn't move forward - from the above formula, it reduces to tan(SA)dt=v/b. This means tan(SA) will constantly go up. This is ok, since SA then goes progressively to 180 degrees (as tan(SA) approaches infinite). - Fy (lateral tire forces) are generated to stop the car going sideways, assume Fy>0 for this direction. - The car stops., SA is still 180 and forces are still generated, so the car starts going the other way. - v begins small, so tan(SA) doesn't go down that quickly at the start, and Fy stays well >0. - only as the car builds speed into the other direction, v becomes higher and gains the 'power' to reduce tan(SA). In the mean time, the car has gained seriously notable speed. In fact, if the car was thrown sideways for 5 meters, it will 'bounce' back just about the same 5 meters. I think Petri once, a long time ago, suggested capping tan(SA). I believe that was 20 or something which worked for him. But given the above, I fail to see how tan(SA) could become 0 quickly so that SA becomes 0, and the lateral forces cease. In other words, I don't see how the car would be able to stop without bouncing back more than just a little bit (which is to be expected with this differential SA approach). A lowspeed hack like reducing tan(SA) more quickly if u/v are both close to 0 seems like a paradox, since SAE950311 was designed to work for low-speed situations. ;-) Anybody with any experiences with this? Ruud van Gaal Free car sim: http://www.racer.nl/ Pencil art : http://www.marketgraph.nl/gallery/
Hi Ruud, Can't help with your question but just wondering - did you have camber enabled whilst carrying out these tests and if so how good is the pacejka you're using? "Ruud van Gaal" <[email hidden]> wrote in message news:[email hidden]...
Quoted text (67 lines)> Hi all, > > I've finally managed to get my weight transfer fixed for anti-pitch > and anti-roll (or high roll centers) I think. Hehe, yes a basic > requirement actually, but well. :) > > And ofcourse, a new problem crept in; the car could become unstable, > it jitters left/right quite violently at times, as if something like > this happens (at low speed, at higher speeds things are better): > - a small lateral force spike occurs > - the car gets a torque, weight transfer and weight shifts to the > other side > - the a larger lateral force is generated in return > - larger torque to the other side > > In other words, a kind of blowup which doesn't settle down by itself. > > I didn't use the SAE950311 lateral relaxation length approach (since I > had trouble with that), but to find the problem I reintroduced it. > > Small summary of lateral relaxation length to fight slipangle > jittering at low speed: instead of calculating slipangle (SA) directly > from wheel velocities, you make it a state variable. You vary it > according to the wheel spinning velocity: > > tan(SA)dt - u/b*tan(SA) = v/b > > where u=wheel longitudinal speed, v=lateral speed, b=relaxation length > (say 0.91). > > Ok, so I tested it again by throwing the car sideways. The car stops, > then swings BACK again! Like a spring. Here's what I think happens: > - v is large, the car goes laterally with great speed > - u is 0, it doesn't move forward > - from the above formula, it reduces to tan(SA)dt=v/b. This means > tan(SA) will constantly go up. This is ok, since SA then goes > progressively to 180 degrees (as tan(SA) approaches infinite). > - Fy (lateral tire forces) are generated to stop the car going > sideways, assume Fy>0 for this direction. > - The car stops., SA is still 180 and forces are still generated, so > the car starts going the other way. > - v begins small, so tan(SA) doesn't go down that quickly at the > start, and Fy stays well >0. > - only as the car builds speed into the other direction, v becomes > higher and gains the 'power' to reduce tan(SA). In the mean time, the > car has gained seriously notable speed. In fact, if the car was thrown > sideways for 5 meters, it will 'bounce' back just about the same 5 > meters. > > I think Petri once, a long time ago, suggested capping tan(SA). I > believe that was 20 or something which worked for him. But given the > above, I fail to see how tan(SA) could become 0 quickly so that SA > becomes 0, and the lateral forces cease. > In other words, I don't see how the car would be able to stop without > bouncing back more than just a little bit (which is to be expected > with this differential SA approach). > > A lowspeed hack like reducing tan(SA) more quickly if u/v are both > close to 0 seems like a paradox, since SAE950311 was designed to work > for low-speed situations. ;-) > > Anybody with any experiences with this? > > > Ruud van Gaal > Free car sim: http://www.racer.nl/ > Pencil art : http://www.marketgraph.nl/gallery/
"Ruud van Gaal" <[email hidden]> wrote in message news:[email hidden]... > Hi all, > > I've finally managed to get my weight transfer fixed for anti-pitch > and anti-roll (or high roll centers) I think. Hehe, yes a basic > requirement actually, but well. :) Hi Ruud, I think that Alex Smith had this exact same problem (the spring effect). I think he got it resolved in the end. Mine doesnt seem to have the same effect, or perhaps it just isnt noticable, or perhaps my relax lengths are completely wrong. You have made me paranoid now :D Have a quick slide in my sim and see if you see the same effect, if not, I may be doing something right for a change and i'll have another look at the code and see if I can help All the best, Ash http://www.siroccoracing.com
On Fri, 23 Aug 2002 09:45:56 GMT, [email hidden] (Ruud van Gaal) wrote: ... >tan(SA)dt - u/b*tan(SA) = v/b > >where u=wheel longitudinal speed, v=lateral speed, b=relaxation length >(say 0.91). BTW Gregor Veble once stated (for longitudinal relaxation lengths) that you could skip the relaxation (or perhaps SHOULD) when: u*dt/B > 0.5 (where B=longitudinal relaxation length, dt=timestep). I don't know the reasoning behind this, but would something like this need to be applied to the lateral direction as well, perhaps? Thanks, Ruud van Gaal Free car sim: http://www.racer.nl/ Pencil art : http://www.marketgraph.nl/gallery/
On Fri, 23 Aug 2002 11:30:54 +0100, "Jim Seamus" <[email hidden]> wrote: >Hi Ruud, > >Can't help with your question but just wondering - did you have camber >enabled whilst carrying out these tests and if so how good is the pacejka >you're using? Camber was off, mainly because the Fer312 Pacejka camber effects are dreadful! ;-) Need to get those 195R<something> Pacejka figures in the 312. Ruud van Gaal Free car sim: http://www.racer.nl/ Pencil art : http://www.marketgraph.nl/gallery/
On Fri, 23 Aug 2002 11:45:27 +0100, "Ashley McConnell" <[email hidden]> wrote:
Quoted text (12 lines)>"Ruud van Gaal" <[email hidden]> wrote in message >news:[email hidden]... >> Hi all, >> >> I've finally managed to get my weight transfer fixed for anti-pitch >> and anti-roll (or high roll centers) I think. Hehe, yes a basic >> requirement actually, but well. :) > >Hi Ruud, > >I think that Alex Smith had this exact same problem (the spring effect). I >think he got it resolved in the end.
*shouts* Alex? ALEX?? ;-)
Quoted text (7 lines)> Mine doesnt seem to have the same >effect, or perhaps it just isnt noticable, or perhaps my relax lengths are >completely wrong. You have made me paranoid now :D > >Have a quick slide in my sim and see if you see the same effect, if not, I >may be doing something right for a change and i'll have another look at the >code and see if I can help
Please, if you could. I have some debug variables so that I can ignore all user input (for repeatability), and have initial car velocity variables so I can throw the car out laterally quite precisely. If it does work at your place, can you figure out what tan(SA) is doing and why it returns to 0 so fast when the car gets to a stop. To me, it sounds logical to say that whatever v/b ADDS to tan(SA) it must also take away (subtract) later on when the car stops. In other words, this takes as much time, hence the car wants to go back completely to its original position. Perhaps you do some more low-speed checks to reduce Fx/Fy when standing still? (that still doesn't explain why SA would return back to 0). Thanks! This is an ancient problem here for some time now, and I must get it fixed. Notice I left out the damping near lowspeed currently; are you using that? (if so, where do you get the cornering stiffness from?). Ruud van Gaal Free car sim: http://www.racer.nl/ Pencil art : http://www.marketgraph.nl/gallery/
What relax lengths are you using? I was using 0.1 for both lateral and longitudnal. I just tried upping the longitudnal to 0.8 and it seemed to work well, with maybe just a little spring action. I remember the paper (or maybe gregor) suggesting that the lateral should be around 10 times lower that the longitudnal. I'll try and dig the code that I am using out tonight, although there is a bit of a family emergency in progress at the minute so I might not have a chance :( All the best, Ash http://www.siroccoracing.com
On Fri, 23 Aug 2002 15:15:44 +0100, "Ashley McConnell" <[email hidden]> wrote: >What relax lengths are you using? I'm using the Barnard paper defaults; 0.91 for lateral, 0.091 (1/10th) for longitudinal. I'll try changing those, although it should work with 0.91 I guess, since they suggest 'a part of the circumference of the tire'. Which seems physically a reasonable thing to do. >I was using 0.1 for both lateral and longitudnal. I just tried upping the >longitudnal to 0.8 and it seemed to work well, with maybe just a little >spring action. I remember the paper (or maybe gregor) suggesting that the >lateral should be around 10 times lower that the longitudnal. Hm, I thought it was the other way round (in the paper); longitudinal being 10x stiffer. Since laterally the tire walls are much less stiff than around the circumference. >I'll try and dig the code that I am using out tonight, although there is a >bit of a family emergency in progress at the minute so I might not have a >chance :( Ok thanks, good luck with the emergency; hope it isn't too serious. If you (at some point) mail me a source code extract (if you want to disclose it) that might be helpful enough as well. Thanks, Ruud van Gaal Free car sim: http://www.racer.nl/ Pencil art : http://www.marketgraph.nl/gallery/
Woh, Just tried it the other way round.....horrible springing motion. It eventually comes to a stop, but nasty indeed. I have the same problem :/. Gregor is back from holiday, hopefully he can shed some light! All the best, Ash
On Fri, 23 Aug 2002 16:02:19 +0100, "Ashley McConnell" <[email hidden]> wrote: >Woh, > >Just tried it the other way round.....horrible springing motion. It >eventually comes to a stop, but nasty indeed. Wow! I must be a psychic to discover a bug in your code that far from home. ;-) (well, just a sea away) What do you mean by the other way round? Perhaps the answer lies in there. Do you mean using 0.8 for lateral relaxation length? Or do you mean throwing the car the other way? (that would suggest some fabs() calls to correct, but that's just blowing in the wind). >I have the same problem :/. > >Gregor is back from holiday, hopefully he can shed some light! Ah, back from Italy? Hope he's reading the newsgroups. :) He's using his own integration scheme, but that looks a lot the same; I think that wasn't the tangent but perhaps SA itself, or the sine or something. Petri Blomqvist (sp?) also has it running IIRC. Let's hope we'll get this fixed then, Ruud van Gaal Free car sim: http://www.racer.nl/ Pencil art : http://www.marketgraph.nl/gallery/
"Ruud van Gaal" <[email hidden]> wrote in message news:[email hidden]... > I think Petri once, a long time ago, suggested capping tan(SA). I > believe that was 20 or something which worked for him. Hi Ruud, that was one of the things I tried... a long time ago, indeed! I've been concentrating more on eye candy lately - yes I know, shame on me :-) In my defense, I *have* also implemented double a-arm and macpherson suspension geometries, viscous limited slip diffs (front, rear and center), a pretty good autoclutch, and some other stuff. :-) Quite frankly, I don't even remember how anymore, but I got it working without the capping - it's exactly like in the SAE paper now. There's a little bit of wibbly-wobbly behavior if you're going at a very low speed and make sudden drastic steering movements, but not that much more than would be expected given that the tires are supposed to be springy (it looks like a few centimeters movement, part of which is of course body roll too). It could probably use a little bit of damping, but I'm not getting 5-meter rebounds from sliding for sure! One thing I did do was switch to treating fully locked, non-rolling tires as springy contact patches that use a straightforward Coulomb friction model. Maybe that would help you as well, at least in some situations, if you're not doing so already? It also ensures you can't steer the car with fully locked wheels. Intuitively, it would also seem to match reality closer than using Pacejka in that situation. Petri Blomqvist
Um, disregard my last post, Ruud. :-( I did a little testing and revisited my code, and looks like I hadn't quite made it work after all. I tested full sideways slides without applying any brakes, and I do occasionally get a rebound. It's not quite 5 meters - maybe 1 meter or so max - and it does dampen pretty quickly, but obviously even that is totally unacceptable. From looking at the code, I have at some point also tried a hack of using a minimum of 7.5 m/s for the forward velocity of the tire in the equation. That eliminates the huge lurches and wobbles at low speeds, but has the unfortunate side effect of making the car crawl sideways on banked surfaces at those same speeds. Back to ye olde drawing board... Petri Blomqvist
On Sat, 24 Aug 2002 16:11:28 +0300, "Petri Blomqvist" <[email hidden]> wrote:
Quoted text (15 lines)> >"Ruud van Gaal" <[email hidden]> wrote in message >news:[email hidden]... > >> I think Petri once, a long time ago, suggested capping tan(SA). I >> believe that was 20 or something which worked for him. > >Hi Ruud, that was one of the things I tried... a long time ago, indeed! I've >been concentrating more on eye candy lately - yes I know, shame on me :-) In >my defense, I *have* also implemented double a-arm and macpherson suspension >geometries, viscous limited slip diffs (front, rear and center), a pretty >good autoclutch, and some other stuff. :-) > >Quite frankly, I don't even remember how anymore, but I got it working >without the capping - it's exactly like in the SAE paper now.
I read your other post and you seem to have the same problem, although perhaps you're using damping at low speed, and that reduces the amount of travel when the car springs back. There might be something fundamentally wrong with the formula when u~0. At that point, tan(SA)dt=v/b, so no way this is going to work. With u well above 0, I'd bet this model works far better. Where's my pencil? ;-) >One thing I did do was switch to treating fully locked, non-rolling tires as >springy contact patches that use a straightforward Coulomb friction model. >Maybe that would help you as well, at least in some situations, if you're >not doing so already? I don't do that, but I think the friction circle combination method takes care of most of that. Steering with locked wheels doesn't work in any case. :) Thanks for responding, and perhaps someone knows a solution/hack to get around the sideways problem... Ruud van Gaal Free car sim: http://www.racer.nl/ Pencil art : http://www.marketgraph.nl/gallery/
"Ruud van Gaal" <[email hidden]> wrote in message news:[email hidden]...
Quoted text (9 lines)> On Sat, 24 Aug 2002 16:11:28 +0300, "Petri Blomqvist" <[email hidden]> > wrote: > > >"Ruud van Gaal" <[email hidden]> wrote in message > >news:[email hidden]... > I read your other post and you seem to have the same problem, although > perhaps you're using damping at low speed, and that reduces the amount > of travel when the car springs back.
I'm not using any damping, but at some point the wheels are bound to stop rolling and switch to using the different model I mentioned which immediately resets the slip angle state variable (even if the wheel only stops rolling for one physics update). I think that's what's happening, anyway. :-) One possibility might be to use this model even when the wheel is rolling slowly... will have to try that. Naturally, it's very likely to create some other problems. :-) Petri Blomqvist
On Sun, 25 Aug 2002 16:05:37 +0300, "Petri Blomqvist" <[email hidden]> wrote:
Quoted text (18 lines)> >"Ruud van Gaal" <[email hidden]> wrote in message >news:[email hidden]... >> On Sat, 24 Aug 2002 16:11:28 +0300, "Petri Blomqvist" <[email hidden]> >> wrote: >> >> >"Ruud van Gaal" <[email hidden]> wrote in message >> >news:[email hidden]... > >> I read your other post and you seem to have the same problem, although >> perhaps you're using damping at low speed, and that reduces the amount >> of travel when the car springs back. > >I'm not using any damping, but at some point the wheels are bound to stop >rolling and switch to using the different model I mentioned which >immediately resets the slip angle state variable (even if the wheel only >stops rolling for one physics update). I think that's what's happening, >anyway. :-)
Yep, I was thinking about that. I have some other options, I must post about that at the end of the week when I get more time (too much real work). When u switches sign, it might indeed be a good idea to recalculate SR/SA entirely, where with lowspeed you just set it to 0. Although that might be tricky for 'standing still on a hill'. :) >One possibility might be to use this model even when the wheel is rolling >slowly... will have to try that. Naturally, it's very likely to create some >other problems. :-) Probably. ;-) Ruud van Gaal Free car sim: http://www.racer.nl/ 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