Hi,
If an engine produces say 100Nm of torque at 100% throttle, and is in
neutral, then all of this torque (ignoring any friction) is used to
spin the flywheel and thus accelerate the rpm of the engine. The
moment of inertia of the flywheel is used in the calculation
engineAcceleration = eng_out_torque / flywheel_inertia
For illustrative purposes, suppose the engine spins up from 1000rpm to
7000rpm in 3 seconds
Now, if the gearbox is put in gear, then the drivetrain comes into
effect and therefore the wheels. Obviously, there is more load on the
engine, and therefore it will spin up slower. My question is, what is
the load on the engine ? Is it the inertia of the drivetrain &
wheels, or is it a negative torque passed back from the wheels through
the drivetrain ?
e.g. Is it :
engineAcceleration = eng_out_torque / (flywheel_inertia +
drivetrain_inertia + wheel_inertia)
or is it
engineAcceleartion = (eng_out_torque - drivetrain_torque -
wheel_torque) / flywheel_inertia
If it is the former, then that would be relatively easy. If it is the
latter, how is the drivetrain and wheel torque calculated ?
Cheers,
Nick.
Hi Nick,
as always in physics, you need to define well what is your system, and
what are the surroundings.
With that in mind, both of the approaches are correct, only that in one
case you looked at the whole assembly, while at the other you only
focused on the engine.
As you noticed yourself, it is easier to implement the total assembly as
a single rotational unit. Bear in mind, though, that when adding
inertias that are coupled through gearings, the components are
multiplied by the square of the gear ratio; see the following page:
http://www.marketgraph.nl/gallery/racer/tech/effinertia.htm
-Gregor
Nick Bull wrote:
Quoted text (36 lines)
> > Hi, > > If an engine produces say 100Nm of torque at 100% throttle, and is in > neutral, then all of this torque (ignoring any friction) is used to > spin the flywheel and thus accelerate the rpm of the engine. The > moment of inertia of the flywheel is used in the calculation > > engineAcceleration = eng_out_torque / flywheel_inertia > > For illustrative purposes, suppose the engine spins up from 1000rpm to > 7000rpm in 3 seconds > > Now, if the gearbox is put in gear, then the drivetrain comes into > effect and therefore the wheels. Obviously, there is more load on the > engine, and therefore it will spin up slower. My question is, what is > the load on the engine ? Is it the inertia of the drivetrain & > wheels, or is it a negative torque passed back from the wheels through > the drivetrain ? > > e.g. Is it : > > engineAcceleration = eng_out_torque / (flywheel_inertia + > drivetrain_inertia + wheel_inertia) > > or is it > > engineAcceleartion = (eng_out_torque - drivetrain_torque - > wheel_torque) / flywheel_inertia > > If it is the former, then that would be relatively easy. If it is the > latter, how is the drivetrain and wheel torque calculated ? > > Cheers, > > Nick.Thanks for the reply. I actually found that link just after posting
the message! I think I've got it working correctly now, although I
did notice that I had to multiply the inertia by the inverse of the
square of the gear ratio although the link just says the square of the
gear ratio. I'm not sure if that is correct, or if I was just
lucky.....
Anyway, I've now got an engine that has engine braking, a gearbox,
drivetrain and the drive wheels. This is fun stuff !
To everyone else on this newsgroup that has posted messages regarding
vehicle simulations.... THANKS ! I've been searching through old
postings and found loads of really useful information. Keep it up !
Cheers,
Nick.
Gregor Veble <[email hidden]> wrote in message news:<[email hidden]>...
Quoted text (55 lines)
> Hi Nick, > > as always in physics, you need to define well what is your system, and > what are the surroundings. > > With that in mind, both of the approaches are correct, only that in one > case you looked at the whole assembly, while at the other you only > focused on the engine. > > As you noticed yourself, it is easier to implement the total assembly as > a single rotational unit. Bear in mind, though, that when adding > inertias that are coupled through gearings, the components are > multiplied by the square of the gear ratio; see the following page: > > http://www.marketgraph.nl/gallery/racer/tech/effinertia.htm > > -Gregor > > Nick Bull wrote: > > > > Hi, > > > > If an engine produces say 100Nm of torque at 100% throttle, and is in > > neutral, then all of this torque (ignoring any friction) is used to > > spin the flywheel and thus accelerate the rpm of the engine. The > > moment of inertia of the flywheel is used in the calculation > > > > engineAcceleration = eng_out_torque / flywheel_inertia > > > > For illustrative purposes, suppose the engine spins up from 1000rpm to > > 7000rpm in 3 seconds > > > > Now, if the gearbox is put in gear, then the drivetrain comes into > > effect and therefore the wheels. Obviously, there is more load on the > > engine, and therefore it will spin up slower. My question is, what is > > the load on the engine ? Is it the inertia of the drivetrain & > > wheels, or is it a negative torque passed back from the wheels through > > the drivetrain ? > > > > e.g. Is it : > > > > engineAcceleration = eng_out_torque / (flywheel_inertia + > > drivetrain_inertia + wheel_inertia) > > > > or is it > > > > engineAcceleartion = (eng_out_torque - drivetrain_torque - > > wheel_torque) / flywheel_inertia > > > > If it is the former, then that would be relatively easy. If it is the > > latter, how is the drivetrain and wheel torque calculated ? > > > > Cheers, > > > > Nick.On 28 Jun 2001 00:58:59 -0700, [email hidden] (Nick Bull) wrote:
>Thanks for the reply. I actually found that link just after posting
>the message! I think I've got it working correctly now, although I
>did notice that I had to multiply the inertia by the inverse of the
>square of the gear ratio although the link just says the square of the
>gear ratio. I'm not sure if that is correct, or if I was just
>lucky.....
Ah! I nearly missed this thread; perhaps prefixing 'Car physics' will
help for more people to see these. So many RAS posts every day...
I think it depends on how you use the gear ratios; I mean from which
side to which side you're looking. As 1:2 is the same as 2:1
basically, but it depends from which side of the engine you're coming
from.
And glad to see my link works. :) Not much info about hardcode race
sim programming problems on the net, I think though.
>Anyway, I've now got an engine that has engine braking, a gearbox,
>drivetrain and the drive wheels. This is fun stuff !
Certainly is. :)
>To everyone else on this newsgroup that has posted messages regarding
>vehicle simulations.... THANKS ! I've been searching through old
>postings and found loads of really useful information. Keep it up !
There's a couple of obscure Usenet snippets on my site too (somewhere
at Programmer Info). Although it was originally just some extracts I
copied & pasted for my own use, you may get some nice ideas from them.
Ruud van Gaal, GPL Rank +53.25
Pencil art : http://www.marketgraph.nl/gallery/
Free car sim : http://www.marketgraph.nl/gallery/racer/
I'll certainly put "Car Physics" in the next subject header (and I'm
sure there will be more...)
The current thing I'm trying to work out is how driving up a hill
affects the engine.
At present, I've got the car just sitting still. The throttle
controls the engine with the gearbox and the wheels can spin. If the
torque output at the wheels is too high, then the wheels slip. The
problem that I'm facing at the moment is how the rotationaly speed of
the wheels is tied in to the engine speed. I know they are linked
together because of the gears and driveshaft, but how does one affect
the other ?
The engine affects the wheels - I can understand that bit. But how do
the wheels affect the engine speed. For example, the throttle is set
at a certain value (say 50%) so the vehicle is just cruising along at
a set speed. Then, the vehicle starts going uphill. If the throttle
is left where it is, the vehicle will slow down, and so will the
engine speed. If the vehicle starts going downhill, the vehicle will
speed up, and so will the engine speed. But how do you model this ?
And how do you describe the forces at work ?
Nick.
[email hidden] (Ruud van Gaal) wrote in message news:<[email hidden]>...
Quoted text (9 lines)
> > Ah! I nearly missed this thread; perhaps prefixing 'Car physics' will > help for more people to see these. So many RAS posts every day... > I think it depends on how you use the gear ratios; I mean from which > side to which side you're looking. As 1:2 is the same as 2:1 > basically, but it depends from which side of the engine you're coming > from. > And glad to see my link works. :) Not much info about hardcode race > sim programming problems on the net, I think though.On 28 Jun 2001 08:47:05 -0700, [email hidden] (Nick Bull) wrote:
Assuming the clutch locks the engine to the wheels, basically what you
could do is take the average of the wheel speed, multiply by the final
and gear ratios, and that's your engine speed.
I don't really have an engine rpm until you engage the clutch (just
for fun mainly still, and it isn't even working at the moment ;-) ).
Actually, you have a differential probably inbetween, though one. But
for starters, ignore the diff and just average the wheel speed.
Basically you rotate the wheels because the engine delivers torque.
The wheels decide how fast they'll rotate, and that directly relates
to your engine rpm.
>The engine affects the wheels - I can understand that bit. But how do
>the wheels affect the engine speed.
There's two-way force/torque traffic. The engine gives out torque, the
tires feed back torque because it touches the road. The two work
against eachother. So say you pump in:
Te=300Nm from the engine
Tw=300*4.15*2.1 = something (the torque at the wheels) through the
gear ratios
You know T=F*r, so Fw=Tw/r (contact patch force of the engine)
Then you get acceleration using the wheel inertia. Once the wheel
rotates, the road reacts. You get an Fx (in SAE coordinate). This for
one pushes the car forward and for seconds this works against the
engine revving.
So the final wheel acceleration force becomes (Fw-Fr).
I'm avoiding rolling resistance for a moment, small stuff like that.
How to calculate Fx (and Fy, lateral force) is a topic which can go on
for about 100 years, and then some. Check out Pacejka for example. I
use that to get the forces, but it uses a lot of coefficients and
curve fitting techniques that are a bit obscure and should 'just' be
used. Otherwise, check some graphs in RCVD (Race Car Vehicle Dynamics)
from the Millikens, a book to own if you're doing this stuff. (no need
for an extra shameless plug, Dough ;-) ).
> For example, the throttle is set
>at a certain value (say 50%) so the vehicle is just cruising along at
>a set speed. Then, the vehicle starts going uphill. If the throttle
>is left where it is, the vehicle will slow down, and so will the
>engine speed. If the vehicle starts going downhill, the vehicle will
>speed up, and so will the engine speed. But how do you model this ?
Not directly. In my game, I think gravity is the reason why the car
slows down, because in the car's coordinate system, gravity pulls the
car backwards a bit. So that will automatically do the job.
>And how do you describe the forces at work ?
Just make sure gravity is rotated into the car's system, and it will
be just like, say, a strong wind pushing the car.
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 (7 lines)
>At present, I've got the car just sitting still. The throttle >controls the engine with the gearbox and the wheels can spin. If the >torque output at the wheels is too high, then the wheels slip. The >problem that I'm facing at the moment is how the rotationaly speed of >the wheels is tied in to the engine speed. I know they are linked >together because of the gears and driveshaft, but how does one affect >the other ?[email hidden] (Ruud van Gaal) wrote in message news:<[email hidden]>...
[snip]
So, how do you calculate Fr ? I've got a force acting at the wheel by
taking the torque from the engine and using the gearing and then
dividing by the radius of the wheel. This force can be used to make
the car accelerate forwards. But, the force in opposition to this
that gets translated back to the engine... How do you calculate that ?
Say the force at the contact patch on the tyre is 100N. The force
being fed back through the wheel from the road surely is 100N also.
That would mean that the torque being applied back through the system
to the engine is the same as being fed out and therefore no
acceleration of the engine. Or am I missing something ? My problem
is working out the amount of force that is fed back from the wheel so
I can add in things like accelerating up a hill.
Cheers guys.
Quoted text (15 lines)
> >The engine affects the wheels - I can understand that bit. But how do > >the wheels affect the engine speed. > > There's two-way force/torque traffic. The engine gives out torque, the > tires feed back torque because it touches the road. The two work > against eachother. So say you pump in: > Te=300Nm from the engine > Tw=300*4.15*2.1 = something (the torque at the wheels) through the > gear ratios > You know T=F*r, so Fw=Tw/r (contact patch force of the engine) > Then you get acceleration using the wheel inertia. Once the wheel > rotates, the road reacts. You get an Fx (in SAE coordinate). This for > one pushes the car forward and for seconds this works against the > engine revving. > So the final wheel acceleration force becomes (Fw-Fr).On 29 Jun 2001 03:03:13 -0700, [email hidden] (Nick Bull) wrote:
You don't accelerate the *car*, you accelerate the wheel with the
geared Te (Tw). Suppose you're in the air, you wouldn't want to
accelerate the car with Tw.
Just let the wheel spin, with all the attached inertia values, so
acc_wheel=Tw/total_inertia.
Then, the wheel starts to 'slip'; this will give reaction forces, see
sliptrac.crv from Racer for an example of a curve like that. What you
do is calculate a slip ratio; the ratio of the wheel speed vs. the
wheel speed if it was free rolling (the speed at which the suspension
moves in the world, so to say).
SR=V_wheel/V_free-1 (the -1 is to get it in a nice graph format) (or
V_free/V_wheel, and many other variations exist, but the principle is
the same).
At the start, you get SR going from 0 up to .1 for example. So the
wheel spins faster than the road going backwards underneath. The
rubber tightens up, and you get a reaction force. That's from the
curve (sliptrac.crv) for example. Pacejka is another (better) way,
with lots of sin() and tan(), but keep it simple for now.
The reaction force is what DOES push your car forward, and this
automatically brings in wheel spin and such, how nice. :)
The reaction force also fights Tw, hence Fw-Fr.
So you get:
Te=...
Tw=Te*gearing
Fw=Tw/r
Fr=curve_value
acc_wheel=(Fw-Fr)/I (I=total inertia attached to wheel assembly,
going all the way back to the engine)
>Say the force at the contact patch on the tyre is 100N. The force
>being fed back through the wheel from the road surely is 100N also.
>That would mean that the torque being applied back through the system
>to the engine is the same as being fed out and therefore no
>acceleration of the engine. Or am I missing something ?
Right. The engine doesn't accelerate, but the car does (it gets pushed
100N)! Remember the wheel isrotating, so you just get a static speed.
At the very start, there is Te=100N, but Fr=0N still. Only until the
wheel starts rotating it begins to create reaction forces. Remember,
there's rubber in those tires, and you can easily push it a little
around without immediately getting 100N back. It's more of a balancing
thing; engine starts pushing, wheel starts rotating and reacting.
> My problem
>is working out the amount of force that is fed back from the wheel so
>I can add in things like accelerating up a hill.
Check out my sliptrac.crv if you don't have RCVD. That gives the
reaction force (normalized) in response to a slip ratio.
As for the normalization, this mean the graph maxes at 1.0; you do the
rest yourself by having a friction coefficient, for example 1.7 for an
F1 tire (may be higher even), and using the normal force, the weight
so to say. => Fr=frictionCoeff*normalForce*curveValue
Hope this make things clearer,
Ruud van Gaal, GPL Rank +53.25
Pencil art : http://www.marketgraph.nl/gallery/
Free car sim : http://www.marketgraph.nl/gallery/racer/


































