Race Sim Central
Rec.Autos.Simulators Archive

My Sim: General Probs :)

9 posts by 4 people · 12 Apr 2002 11:36 UTC - 15 Apr 2002 12:55 UTC

Alex Smith 12 Apr 2002 11:36 UTC#125735
Okeydokey Q1. Before, I didnt have any road reaction force, I simply accelerated the car by using the FX from Pacejka * friction. Now that I do have road reaction, I was wondering how to calculate this reaction torque. At the moment is is simply (radius * FX) Right? (But see Q2) Am I then using this force to accelerate the car? Q2. To increase the angular velocity of the wheels I am doing angAcc = (engineTorque - brakeTorque - frictionTorque - roadReactionTorque)/inertia . However this is giving me a very jittery acceleration, even when beyond 40mph. Q3. How do you calculate the inertia of a wheel, or is there a standard value to give one. At the moment it is just 1.0 Thanks :-|) (For now!)
On Fri, 12 Apr 2002 11:36:57 +0000 (UTC), "Alex Smith" <[email hidden]> wrote:
Quoted text (8 lines)>Okeydokey > >Q1. >Before, I didnt have any road reaction force, I simply accelerated the car >by using the FX from Pacejka * friction. >Now that I do have road reaction, I was wondering how to calculate this >reaction torque. >At the moment is is simply (radius * FX) Right? (But see Q2)
torque = force * radius, that's right >Am I then using this force to accelerate the car? the force that accelerate the car is FX = Pacejka( SlipRatio, Load ), -(FX * radius) is the ground resistive torque >Q2. >To increase the angular velocity of the wheels I am doing >angAcc = (engineTorque - brakeTorque - frictionTorque - >roadReactionTorque)/inertia . Do your inertia take acount of all the drive train ? wheel + gearbox + engine + clutch + differential + other rolling stuff ;) ? If Inertia is too smal, then the wheel will change of velocity very quickly, creating jittery FX. >However this is giving me a very jittery acceleration, even when beyond >40mph. You 'll alway have jittery, but with good inertia value, low steps integration and robust inegrator ( we use a "triangle" method ) it might be okey. Euler : Integrate_M(new_val,last_val,val_int,last_val_int) ((new_val)=(last_val) + (val_int) * DYN_DT) Triangle : Integrate_M(new_val,last_val,val_int,last_val_int) ((new_val)=(last_val) + DYN_DT*0.5f*(val_int) ) exemple Integrate_M( Speed, LastSpeed, Accel, LastAccel ) Sebastien TIXIER - Game Developer Dynamics and Car Physics http://www.eden-studios.fr GPLRank Normal:-44.24 Monster:-124.44
S�bastien Tixier <[email hidden]> wrote in message news:[email hidden]...
Quoted text (12 lines)> On Fri, 12 Apr 2002 11:36:57 +0000 (UTC), "Alex Smith" > <[email hidden]> wrote: > > >Q2. > >To increase the angular velocity of the wheels I am doing > >angAcc = (engineTorque - brakeTorque - frictionTorque - > >roadReactionTorque)/inertia . > > Do your inertia take acount of all the drive train ? wheel + gearbox + > engine + clutch + differential + other rolling stuff ;) ? > If Inertia is too smal, then the wheel will change of velocity very > quickly, creating jittery FX.
Hehe I wish! I don't want to run before I can crawl :) My inertia is just the wheel, I found somewhere that you can calculate inertia by inertia = mass * radius * radius / 2 Dunno if anyone else uses this. At the mo I'm using a mass = 20 and a radius = 0.3 so I get an intertia of 0.9 ish > You 'll alway have jittery, but with good inertia value, low steps > integration and robust inegrator ( we use a "triangle" method ) > it might be okey. When I say jittery I mean *really* jittery, like osciliiating FX of around 1000N. even at 40mph. > > Euler : Integrate_M(new_val,last_val,val_int,last_val_int) > ((new_val)=(last_val) + (val_int) * DYN_DT) > > Triangle : Integrate_M(new_val,last_val,val_int,last_val_int) > ((new_val)=(last_val) + DYN_DT*0.5f*(val_int) ) So thats just the same as halving the timestep?
On Fri, 12 Apr 2002 11:36:57 +0000 (UTC), "Alex Smith" <[email hidden]> wrote: >Okeydokey > >Q1. >Before, I didnt have any road reaction force, I simply accelerated the car >by using the FX from Pacejka * friction. First, don't multiple Pacejka's Fx by friction. Friction is the 'D' in the Pacejka formula (some load dependencies; b1*Fz+b2 or something). So b2 is the friction coefficient (*1000); if b2=1655, the friction coefficient is 1655 (well, at peak force). And, Pacejka==road reaction! :) >Now that I do have road reaction, I was wondering how to calculate this >reaction torque. >At the moment is is simply (radius * FX) Right? (But see Q2) Yep, if Fx=1000, R=0.3, with T=F*r you get T=1000N*0.3m=300Nm. >Am I then using this force to accelerate the car? Yep, Pacejka's Fx.
Quoted text (7 lines)>Q2. >To increase the angular velocity of the wheels I am doing >angAcc = (engineTorque - brakeTorque - frictionTorque - >roadReactionTorque)/inertia . > >However this is giving me a very jittery acceleration, even when beyond >40mph.
Looks like your timestep is too large then. For about 100Hz and up this should be quite ok I think. On the other hand, if you only have the wheel inertia, then indeed it doesn't remain stable; you need to add the inertia of the entire drivetrain. But be careful; there are squares involved in adding up the intertiae of the drivetrain. There's an article on this on my site: www.racer.nl -> Docs -> Technical docs -> Calculating a single effective intertia for geared components. The idea behind it all is that you can replace the entire drivetrain inertia by just 1 number with an effective inertia (as 'felt' at the wheel). So add driveshaft inertia, gearbox inertia and engine inertia, with appropriate gear factors in there (as seen from the wheel -> engine), squared (!). >Q3. >How do you calculate the inertia of a wheel, or is there a standard value to >give one. >At the moment it is just 1.0 That's empirical. As Doug would say, 'it is all over the place'. ;-) But 1.0 is a nice start, perhaps a bit high even. Ruud van Gaal Free car sim: http://www.racer.nl/ Pencil art : http://www.marketgraph.nl/gallery/
Quoted text (7 lines)>> Euler : Integrate_M(new_val,last_val,val_int,last_val_int) >> ((new_val)=(last_val) + (val_int) * DYN_DT) >> >> Triangle : Integrate_M(new_val,last_val,val_int,last_val_int) >> ((new_val)=(last_val) + DYN_DT*0.5f*(val_int) ) >So thats just the same as halving the timestep?
OUPS, wrong copy-paste new_val = last_val + DYN_DT * ( val_int + 0.5f * last_val_int ) Sebastien TIXIER - Game Developer Dynamics and Car Physics http://www.eden-studios.fr GPLRank Normal:-44.24 Monster:-124.44
On Fri, 12 Apr 2002 17:37:17 +0200, S�bastien Tixier <[email hidden]> wrote:
Quoted text (11 lines)>>> Euler : Integrate_M(new_val,last_val,val_int,last_val_int) >>> ((new_val)=(last_val) + (val_int) * DYN_DT) >>> >>> Triangle : Integrate_M(new_val,last_val,val_int,last_val_int) >>> ((new_val)=(last_val) + DYN_DT*0.5f*(val_int) ) > >>So thats just the same as halving the timestep? > >OUPS, wrong copy-paste > >new_val = last_val + DYN_DT * ( val_int + 0.5f * last_val_int )
Ho Gosh, i can't wait we finish our game ! I'm so tired i post dumb integrator on RAS ;o) So the real one is = new_val = last_val + DYN_DT * 0.5f * ( val_int + last_val_int ) Sort of average damping/medium. I need vacancies !!! BTW, i'll be at L.A. from July 11st to August 8th I'll be at the Superbike round at Laguna Seca the 12 and 13 of July ... anyone from ras ? Sebastien TIXIER - Game Developer Dynamics and Car Physics http://www.eden-studios.fr GPLRank Normal:-44.24 Monster:-124.44
I was just thinking you guys were just making this up, just to have a laugh .. seems like you are serious ! In the first case, I would be able to make a contribution, but ... being the serious guy I am ... "Sbastien Tixier" wrote:
Quoted text (34 lines)> On Fri, 12 Apr 2002 17:37:17 +0200, Sbastien Tixier > <[email hidden]> wrote: > > >>> Euler : Integrate_M(new_val,last_val,val_int,last_val_int) > >>> ((new_val)=(last_val) + (val_int) * DYN_DT) > >>> > >>> Triangle : Integrate_M(new_val,last_val,val_int,last_val_int) > >>> ((new_val)=(last_val) + DYN_DT*0.5f*(val_int) ) > > > >>So thats just the same as halving the timestep? > > > >OUPS, wrong copy-paste > > > >new_val = last_val + DYN_DT * ( val_int + 0.5f * last_val_int ) > Ho Gosh, > i can't wait we finish our game ! I'm so tired i post dumb integrator > on RAS ;o) > > So the real one is = > > new_val = last_val + DYN_DT * 0.5f * ( val_int + last_val_int ) > > Sort of average damping/medium. > > I need vacancies !!! > > BTW, i'll be at L.A. from July 11st to August 8th > I'll be at the Superbike round at Laguna Seca the 12 and 13 of July > ... anyone from ras ? > > Sebastien TIXIER - Game Developer > Dynamics and Car Physics > http://www.eden-studios.fr > GPLRank Normal:-44.24 Monster:-124.44
-- rgds, Tony _____________________________________________________ Tony Van Cauter Staff Consultant Applications SysAdmin/DBA Oracle Belgium Airport Business Center Vuurberg 80, 1831 Diegem +32-(0)2-719.12.11 _____________________________________________________ 32-(0)2-719.57.95 0497/59.66.44 [email hidden]
Ruud van Gaal <[email hidden]> wrote in message news:[email hidden]...
Quoted text (15 lines)> On Fri, 12 Apr 2002 11:36:57 +0000 (UTC), "Alex Smith" > <[email hidden]> wrote: > > And, Pacejka==road reaction! :) > > >Now that I do have road reaction, I was wondering how to calculate this > >reaction torque. > >At the moment is is simply (radius * FX) Right? (But see Q2) > > Yep, if Fx=1000, R=0.3, with T=F*r you get T=1000N*0.3m=300Nm. > > >Am I then using this force to accelerate the car? > > Yep, Pacejka's Fx.
Thanks, thats cleared that up once and for all!
Quoted text (17 lines)> > >Q2. > >To increase the angular velocity of the wheels I am doing > >angAcc = (engineTorque - brakeTorque - frictionTorque - > >roadReactionTorque)/inertia . > > > >However this is giving me a very jittery acceleration, even when beyond > >40mph. > > Looks like your timestep is too large then. For about 100Hz and up > this should be quite ok I think. > On the other hand, if you only have the wheel inertia, then indeed it > doesn't remain stable; you need to add the inertia of the entire > drivetrain. But be careful; there are squares involved in adding up > the intertiae of the drivetrain. There's an article on this on my > site: www.racer.nl -> Docs -> Technical docs -> Calculating a single > effective intertia for geared components.
I've looked at the document, very helpful :) How does this sound for inertia at the wheel ( I think its in the right sequence :) inertia = engineInertia + [ square(onGear.ratio) * onGear.inertia ] + [ square(onGear.ratio * finaldrive.ratio) * finaldrive.inertia ] + [ square(onGear.ratio * finaldrive.ratio * wheel.radius) * wheel.inertia ] ?? This does actually reduce the oscillation considerably, thanks! Although the acceleration is quite slow, although I am only trying to simulate typical road vehicles that have 100hp or less. (i've used inertia values similar to that in racer's default car.ini)
On Fri, 12 Apr 2002 21:25:28 +0000 (UTC), "Alex Smith" <[email hidden]> wrote: >Ruud van Gaal <[email hidden]> wrote in message >news:[email hidden]...... >> But be careful; there are squares involved in adding up >> the intertiae of the drivetrain. There's an article on this on my >> site: www.racer.nl -> Docs -> Technical docs -> Calculating a single >> effective intertia for geared components. > >I've looked at the document, very helpful :) You're welcome. :)
Quoted text (10 lines)>How does this sound for inertia at the wheel ( I think its in the right >sequence :) > >inertia = engineInertia > + [ square(onGear.ratio) * onGear.inertia ] > + [ square(onGear.ratio * finaldrive.ratio) * finaldrive.inertia ] > + [ square(onGear.ratio * finaldrive.ratio * wheel.radius) * >wheel.inertia ] > >??
I think you need to take out the wheel.radius, since that isn't a gearing ratio. So you add finaldrive.inertia to wheel.inertia and multiply those with (gearRatio*finalDriveRatio)^2. It also depends on which torque you use. On the engine side, the engine torque is small (say 100Nm). On the tire side, it has increased (gearRatio*finalDriveRatio*engineTorque). Getting a 100m or 1000m track and do actual timing to see if it looks realistic may help here (taking a 1.5 friction coefficient and calculating what time it might take with a car with certain load). 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