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]>...
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.
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
"Nick Bull" <[email hidden]> wrote in message
news:[email hidden]...
> "Jonny Hodgson" <[email hidden]> wrote in messagenews:<Ipz57.50920$[email hidden]>...
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.
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 ? >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!)
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]>...
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.
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!) > > JonnyIn 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:
...
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/
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.[email hidden] (Ruud van Gaal) wrote in message news:<[email hidden]>...
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.
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/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/


































