Race Sim Central
Rec.Autos.Simulators Archive

Car Physics : Traction Forces

15 posts by 7 people · 18 Jul 2001 11:18 UTC - 24 Jul 2001 22:14 UTC

Nick Bull 18 Jul 2001 11:18 UTC#172768
Hi, I've got a bit of a problem that I hope you guys can help with. I've got a wheel and an engine and all the drivetrain. In the wheel, I calculate the following : 1) Calculate the slip ratio This is calculated from the following (wheelAngVel * wheelRadius - vehicleVelocity) / (wheelAngVel * wheelRadius) 2) Calculate the traction force applied by the wheel on the road This is calculated by the following Traction = (axleTorque / wheelRadius) * slipRatio 3) Calculate the angular acceleration on the wheel angAcceleration = axleTorque / wheelInertia 4) Calculate the angular velocity of the wheel angVelocity += (angAcceleration * deltaTime) The Traction is returned and is used to calculate the force applied on the vehicle to move it forward. First question - Is this right ? Is this how you calculate the traction force and the rotational acceleration of the wheel ? Now, I take the force from each of the rear wheels and apply it to the vehicle using f=ma and calculate the acceleration and thus the speed of the vehicle. The problem I have is that in first gear (ratio of 3.5, rear diff of 3.6, efficiency of 0.7, engine max torque = 190Nm), I get up to a speed of approx. 70mph.... I'm not sure if I'm calculating the traction force wrong, the resistive force, or something else. So, I just want to check this bit first. Cheers, Nick.
Nick Bull <[email hidden]> wrote in message news:[email hidden]... > Now, I take the force from each of the rear wheels and apply it tothe > vehicle using f=ma and calculate the acceleration and thus the speed > of the vehicle. The problem I have is that in first gear (ratio of > 3.5, rear diff of 3.6, efficiency of 0.7, engine max torque =190Nm), > I get up to a speed of approx. 70mph.... I'm not sure if I'm > calculating the traction force wrong, the resistive force, or > something else. So, I just want to check this bit first. Erm... you've missed two of the parameters we need to look at speed: engine redline and drive wheel rolling radius. 70 is perfectly feasible if you've got tractor tyres, or a bike engine... Rolling radius is also required before you can calculate acceleration. Jonny
On 18 Jul 2001 04:18:35 -0700, [email hidden] (Nick Bull) wrote: >2) Calculate the traction force applied by the wheel on the road > This is calculated by the following > > Traction = (axleTorque / wheelRadius) * slipRatio Actually, this is only right for small slip ratios. The slipRatio -> tractionForce curve is a complicated curve (approximated by Pacejka for example). There's a nice one in RCVD, and you could look at a curve from my sim (sliptrac.crv) in Windows (it isn't even used though; it uses Pacejka now). The curve goes up almost linearly upto an optimum slipRatio (say 0.15 for example), then goes down again and settles a bit (at about 60% of the maximum generally). Same for braking, but the curve looks different (although, OMG! I use the same curves for braking); it hasn't got the sharp peak that traction curves have. >Now, I take the force from each of the rear wheels and apply it to the >vehicle using f=ma and calculate the acceleration and thus the speed >of the vehicle. The problem I have is that in first gear (ratio of >3.5, rear diff of 3.6, efficiency of 0.7, engine max torque = 190Nm), >I get up to a speed of approx. 70mph.... This really depends on how RPM you let the engine generate. You can top it off hard (like a revlimiter) which would simulate the max sparking rate, or (what I do) let the torque generation curve of the engine go down to 0 at near maxRPM so the transition is more gradual. Ruud van Gaal, GPL Rank +53.25 Pencil art : http://www.marketgraph.nl/gallery/ Free car sim : http://www.marketgraph.nl/gallery/racer/
"Jonny Hodgson" <[email hidden]> wrote in message news:<Ipz57.50920$[email hidden]>...
Quoted text (19 lines)> Nick Bull <[email hidden]> wrote in message > news:[email hidden]... > > > Now, I take the force from each of the rear wheels and apply it to > the > > vehicle using f=ma and calculate the acceleration and thus the speed > > of the vehicle. The problem I have is that in first gear (ratio of > > 3.5, rear diff of 3.6, efficiency of 0.7, engine max torque = > 190Nm), > > I get up to a speed of approx. 70mph.... I'm not sure if I'm > > calculating the traction force wrong, the resistive force, or > > something else. So, I just want to check this bit first. > > Erm... you've missed two of the parameters we need to look at speed: > engine redline and drive wheel rolling radius. 70 is perfectly > feasible if you've got tractor tyres, or a bike engine... Rolling > radius is also required before you can calculate acceleration. > > Jonny
The engine redline is 7000 and the wheel radius is .45m. I think the problem is that 1) I'm not calculating the slip ratio/traction force properly and that 2) I'm not tying the engine rpm to the wheel rpm. Therefore, The wheel just keeps accelerating without taking the engine to the redline. I'm not quite sure how to tie the engine rpm to the wheel properly. One thought I had was to take the wheel rpm and then work back what the engine rpm should be and then just set it to that. I thought this seemed a bit "cheesy" though, and would rather have it work itself out. But maybe this is the only way to do it ? Cheers, Nick.
"Nick Bull" <[email hidden]> wrote in message news:[email hidden]... > "Jonny Hodgson" <[email hidden]> wrote in messagenews:<Ipz57.50920$[email hidden]>...
Quoted text (8 lines)> > Nick Bull <[email hidden]> wrote in message > > news:[email hidden]... > to the redline. I'm not quite sure how to tie the engine rpm to the > wheel properly. One thought I had was to take the wheel rpm and then > work back what the engine rpm should be and then just set it to that. > I thought this seemed a bit "cheesy" though, and would rather have it > work itself out. But maybe this is the only way to do it ? >
That's how I do it. I'm not sure if it is the correct way, it seems a bit cheesy to me as well, but all the text I found suggested that was the way to do it. Basically the engine produces torque which turns the wheel, the wheel rotation rate is then fed back to give engine RPM. There's a bit about this in the physics of racing series http://www.esbconsult.com.au/ogden/locost/phors/phors09.htm Mike.
The other option is to model the engine, clutch, transmission input shaft, gears, pinion shaft (drive line), differential and two halfshafts and wheels as separate objects spinning at different rates and/or passing torque and experiencing friction losses... But that might take awhile to implement ;) - Matt Nick Bull wrote:
Quoted text (12 lines)> "Jonny Hodgson" <[email hidden]> wrote in message news:<Ipz57.50920$[email hidden] > The engine redline is 7000 and the wheel radius is .45m. I think the > problem is that 1) I'm not calculating the slip ratio/traction force > properly and that 2) I'm not tying the engine rpm to the wheel rpm. > Therefore, The wheel just keeps accelerating without taking the engine > to the redline. I'm not quite sure how to tie the engine rpm to the > wheel properly. One thought I had was to take the wheel rpm and then > work back what the engine rpm should be and then just set it to that. > I thought this seemed a bit "cheesy" though, and would rather have it > work itself out. But maybe this is the only way to do it ?
Mike Stanley <[email hidden]> wrote in message news:ZFc67.506$[email hidden]... > > to the redline. I'm not quite sure how to tie the engine rpm tothe > > wheel properly. One thought I had was to take the wheel rpm andthen > > work back what the engine rpm should be and then just set it tothat. > > I thought this seemed a bit "cheesy" though, and would rather haveit > > work itself out. But maybe this is the only way to do it ? > > That's how I do it. I'm not sure if it is the correct way, it seemsa bit > cheesy to me as well, but all the text I found suggested that wasthe way to Sounds fine to me too - the only major "improvement" would be to model transmission wind-up, which is generally unnecessary unless you're investigating "shuffle" or "rattle" behaviour, although it can be useful to cushion gearchanges. The trick then is to model large lumps of the powertrain (wheels, gearbox, flywheel+crankshaft) as lumps of angular (rotary) inertia and then connect them with springs. IOW you apply engine torque to accelerate the flywheel, but then subtract a back-torque obtained by integrating the difference in speed between engine and gearbox (i.e. how much the clutch has wound up); apply this back torque as the forwards input to the gearbox, and repeat the process downstream with propshaft, diff, driveshafts and wheels (if you really want!) Jonny
Quoted text (13 lines)>Sounds fine to me too - the only major "improvement" would be to model >transmission wind-up, which is generally unnecessary unless you're >investigating "shuffle" or "rattle" behaviour, although it can be >useful to cushion gearchanges. > >The trick then is to model large lumps of the powertrain (wheels, >gearbox, flywheel+crankshaft) as lumps of angular (rotary) inertia and >then connect them with springs. IOW you apply engine torque to >accelerate the flywheel, but then subtract a back-torque obtained by >integrating the difference in speed between engine and gearbox (i.e. >how much the clutch has wound up); apply this back torque as the >forwards input to the gearbox, and repeat the process downstream with >propshaft, diff, driveshafts and wheels (if you really want!)
Probably overkill for a video game though. You'd need a really high sampling rate to keep everything stable, and not many people would notice the difference. I see a little play like this in my thing, but it's due to changes in tire slip ratio with throttle/braking input and would undoubtedly mask the effect of modeling drivetrain component flex/play, IMO. Todd Wasson --- Performance Simulations Drag Racing and Top Speed Prediction Software http://PerformanceSimulations.Com
J. Todd Wasson <[email hidden]> wrote in message news:[email hidden]... > >Sounds fine to me too - the only major "improvement" would be tomodel > >transmission wind-up, which is generally unnecessary unless you're > >investigating "shuffle" or "rattle" behaviour, although it can be > >useful to cushion gearchanges. > Probably overkill for a video game though. You'd need a reallyhigh sampling > rate to keep everything stable, and not many people would notice the > difference. I see a little play like this in my thing, but it's dueto changes > in tire slip ratio with throttle/braking input and would undoubtedlymask the > effect of modeling drivetrain component flex/play, IMO. Yeah, agreed. I did include a single wind-up stage in a vehicle model I developed during my final semester, partly 'cos the previous author hadn't actually connected the engine to the wheels (it transferred torque without any speed linkage!) and it was easier than completely re-coding. It was primarily a handling model in any case, and I ended up using a sort of 'fluid flywheel' more often than the wind-up since this allowed the car to change gears pretty smoothly without bothering with a clutch/driver model, for things like constant-steer-angle skid pad tests. Jonny
"Jonny Hodgson" <[email hidden]> wrote in message news:<0jD67.5056$[email hidden]>...
Quoted text (33 lines)> Mike Stanley <[email hidden]> wrote in message > news:ZFc67.506$[email hidden]... > > > > to the redline. I'm not quite sure how to tie the engine rpm to > the > > > wheel properly. One thought I had was to take the wheel rpm and > then > > > work back what the engine rpm should be and then just set it to > that. > > > I thought this seemed a bit "cheesy" though, and would rather have > it > > > work itself out. But maybe this is the only way to do it ? > > > > That's how I do it. I'm not sure if it is the correct way, it seems > a bit > > cheesy to me as well, but all the text I found suggested that was > the way to > > Sounds fine to me too - the only major "improvement" would be to model > transmission wind-up, which is generally unnecessary unless you're > investigating "shuffle" or "rattle" behaviour, although it can be > useful to cushion gearchanges. > > The trick then is to model large lumps of the powertrain (wheels, > gearbox, flywheel+crankshaft) as lumps of angular (rotary) inertia and > then connect them with springs. IOW you apply engine torque to > accelerate the flywheel, but then subtract a back-torque obtained by > integrating the difference in speed between engine and gearbox (i.e. > how much the clutch has wound up); apply this back torque as the > forwards input to the gearbox, and repeat the process downstream with > propshaft, diff, driveshafts and wheels (if you really want!) > > Jonny
Thanks for the pointers. I've currently got several objects. An Engine that has a flywheel. Then I've got a drivetrain object that has the gearbox and final diff in it. Then finally I've got the wheels. I think for now, if it is in gear and the clutch is engaged, then I'll tie the wheels to the engine speed (ie the wheels determine the engine speed), then I'll sort it out later. The problem is when it comes to engine braking. Obviously if I tie the speed of the engine to the wheels, then travelling downhill would have no engine braking. Or would it..... I think I need to think about that.
In article <[email hidden]>, [email hidden] (Nick Bull) writes: > [...] > Obviously if I tie the speed of the engine to the wheels, then > travelling downhill would have no engine braking. Or would it..... I > think I need to think about that. Yes, you would actually have engine braking. If you draw the curve engine torque = f(engine rotational speed, throttle), you would have a point where it goes below zero. -- Johann Deneux
On 22 Jul 2001 15:19:41 -0700, [email hidden] (Nick Bull) wrote: ...
Quoted text (9 lines)>Thanks for the pointers. I've currently got several objects. An >Engine that has a flywheel. Then I've got a drivetrain object that >has the gearbox and final diff in it. Then finally I've got the >wheels. I think for now, if it is in gear and the clutch is engaged, >then I'll tie the wheels to the engine speed (ie the wheels determine >the engine speed), then I'll sort it out later. The problem is when >it comes to engine braking. Obviously if I tie the speed of the >engine to the wheels, then travelling downhill would have no engine >braking. Or would it..... I think I need to think about that.
Yes you have like Johann pointed out. It's just you have an RPM->torque connection, but that doesn't mean that RPM can be anything. For starters, you can just take the average speed of all driven wheels, multiply that by the gear ratios and there's your engine speed. It's really not that bad. It's the clutch that makes things different. But even there, what I now still have is 2 modes; clutch engaged or disengaged. When engaged, you just lock all things together like above. If disengaged, I let the engine run by itself using only it's own inertia. Ruud van Gaal, GPL Rank +53.25 Pencil art : http://www.marketgraph.nl/gallery/ Free car sim : http://www.marketgraph.nl/gallery/racer/
[email hidden] (Ruud van Gaal) wrote in message news:<[email hidden]>...
Quoted text (28 lines)> On 22 Jul 2001 15:19:41 -0700, [email hidden] (Nick Bull) wrote: > > ... > >Thanks for the pointers. I've currently got several objects. An > >Engine that has a flywheel. Then I've got a drivetrain object that > >has the gearbox and final diff in it. Then finally I've got the > >wheels. I think for now, if it is in gear and the clutch is engaged, > >then I'll tie the wheels to the engine speed (ie the wheels determine > >the engine speed), then I'll sort it out later. The problem is when > >it comes to engine braking. Obviously if I tie the speed of the > >engine to the wheels, then travelling downhill would have no engine > >braking. Or would it..... I think I need to think about that. > > Yes you have like Johann pointed out. It's just you have an > RPM->torque connection, but that doesn't mean that RPM can be > anything. > For starters, you can just take the average speed of all driven > wheels, multiply that by the gear ratios and there's your engine > speed. It's really not that bad. It's the clutch that makes things > different. But even there, what I now still have is 2 modes; clutch > engaged or disengaged. When engaged, you just lock all things together > like above. If disengaged, I let the engine run by itself using only > it's own inertia. > > > Ruud van Gaal, GPL Rank +53.25 > Pencil art : http://www.marketgraph.nl/gallery/ > Free car sim : http://www.marketgraph.nl/gallery/racer/
I think for now I'll tie the wheels to the engine speed like you've suggested. At least then I can get something approximating reality. This is just for fun and as a "mental exercise" so my brain doesn't just seize up writing programs for work (read data from a database, display the data, write the data back... repeat ad nauseum)... Why can't I find a job where I can do stuff like this instead ? Anyway, thanks guys. I really enjoy reading your posts on here and keep up the good work. Nick. Oh, one more thing. Ruud - I tried downloading your racer, but the files on High Gear don't have the sources.
On 24 Jul 2001 00:46:44 -0700, [email hidden] (Nick Bull) wrote: >Oh, one more thing. Ruud - I tried downloading your racer, but the >files on High Gear don't have the sources. Yep, some downloads are offline, and I thought the sources would hurt less. Will be up again starting the beginning of next month. Ruud van Gaal, GPL Rank +53.25 Pencil art : http://www.marketgraph.nl/gallery/ Free car sim : http://www.marketgraph.nl/gallery/racer/
Quoted text (12 lines)>Yeah, agreed. I did include a single wind-up stage in a vehicle model >I developed during my final semester, partly 'cos the previous author >hadn't actually connected the engine to the wheels (it transferred >torque without any speed linkage!) and it was easier than completely >re-coding. > >It was primarily a handling model in any case, and I ended up using a >sort of 'fluid flywheel' more often than the wind-up since this >allowed the car to change gears pretty smoothly without bothering with >a clutch/driver model, for things like constant-steer-angle skid pad >tests. >
Good way to go about it and it accomplished what you needed. Suppose it worked like a loose, high stall drag racing torque converter :-) Todd Wasson --- Performance Simulations Drag Racing and Top Speed Prediction Software http://PerformanceSimulations.Com

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