Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Car physics: free rolling wheels

98 views
Skip to first unread message

Al Dukes

unread,
May 1, 2002, 8:39:50 AM5/1/02
to
Hi guys

I've been reading your car physics threads with great interest.

I'm writing a game at the moment and I'm experiencing a problem:

When I try to model a free-rolling wheel, I am getting a negative slip ratio
as the car accelerates off (I'm using SAE 950311). Of course the result is
that the wheel tries to brake the car - hence my wheel never rotates.

I'm sure I'm missing the road-reaction forces, but I'm not quite sure how to
calculate them. Any ideas?

Thanks for you help...

Al

Ashley McConnell

unread,
May 1, 2002, 9:05:35 AM5/1/02
to

>
> When I try to model a free-rolling wheel, I am getting a negative slip
ratio
> as the car accelerates off (I'm using SAE 950311). Of course the result is
> that the wheel tries to brake the car - hence my wheel never rotates.
>
> I'm sure I'm missing the road-reaction forces, but I'm not quite sure how
to
> calculate them. Any ideas?
>
> Thanks for you help...
>
> Al
>
Hi Al

Another Sim Programmer, we are multiplying (unite brothers and we shall take
the world!)....ahem :)

Ok, this is how I do it, I am quite prepared to be corrected - please do!

Calculate the linear speed of the wheel from the velocity of the car (both
linear and angular)

i.e. WheelVelocity = CarVelocity + CarAngularVelocity x
WheelPositionAtContactPatch

where all the variables a VECTORS (evil i know :)). and "x" is a cross
product.

Once you have the linear speed of the tyre at the contact patch you can
calculate the angular speed of the wheel using V = rw, where r = wheel
radius and V is linear speed (WheelVelocity.x) and w is a scalar angular
velocity.

This gives you a way to calculate the rotational position of the wheel,
while at the same time you can get the force produced by the inevitable -ve
slip. This force applied to the car and then you can forget about
accelerating the free wheels - as they will be rolling at the same speed as
the car.

Sorry if that is all a little illegible, I am not feeling very literate
today ;)

All the best,
Ash
http://www.siroccoracing.com

Al Dukes

unread,
May 1, 2002, 9:32:09 AM5/1/02
to

Thanks for your swift response Ash!

> Another Sim Programmer, we are multiplying (unite brothers and we shall
take
> the world!)....ahem :)

It's certainly an education :-)

> calculate the angular speed of the wheel using V = rw, where r = wheel

...


> This gives you a way to calculate the rotational position of the wheel,
> while at the same time you can get the force produced by the
inevitable -ve
> slip. This force applied to the car and then you can forget about

I think I see where you're coming from...

I can see how this would work for a completely free-rolling wheel, but I
need to be able to adjust power ratios front and rear.
(My 'definition' of free-rolling wheel is where I set all the power to one
axle)
So in the case of 20% power to the front axle, there must be a force from
the road also increasing the speed of the wheel as it's being 'pushed' from
behind - or by the road. So I really think I'll need to apply a torque or
force to the wheel from the road?

This has really got me wondering...

Cheers,

Al

Ashley McConnell <nos...@siroccoracing.com> wrote in message
news:IKRz8.28392$oK4.66282@NewsReader...


>
> >
> > When I try to model a free-rolling wheel, I am getting a negative slip
> ratio
> > as the car accelerates off (I'm using SAE 950311). Of course the result
is
> > that the wheel tries to brake the car - hence my wheel never rotates.
> >
> > I'm sure I'm missing the road-reaction forces, but I'm not quite sure
how
> to
> > calculate them. Any ideas?
> >
> > Thanks for you help...
> >
> > Al
> >
> Hi Al
>
>

Ashley McConnell

unread,
May 1, 2002, 9:52:36 AM5/1/02
to

>
> I think I see where you're coming from...
>
> I can see how this would work for a completely free-rolling wheel, but I
> need to be able to adjust power ratios front and rear.
> (My 'definition' of free-rolling wheel is where I set all the power to one
> axle)
> So in the case of 20% power to the front axle, there must be a force from
> the road also increasing the speed of the wheel as it's being 'pushed'
from
> behind - or by the road. So I really think I'll need to apply a torque or
> force to the wheel from the road?
>
> This has really got me wondering...
>

Hi Al

Yep, your right - that approach wouldnt work. Ok, I am going to have to try
and think harder :)

Ok, I am kind of thinking aloud here, when calculating the angular
acceleration of the rear wheels I use the road reaction force of the wheel
from the previous timestep. But in your case (and in mine if I actually
calculated the angular velocity of the front tyres) the tyres arent
accelerated by the force exerted by that tyre directly. Perhaps we need to
use the acceleration of the car to get the combined force of the road.

My head hurts - I'll try to come up with something a little more intelligent
later on :P

Gregor where are you? :)

Ash

Al Dukes

unread,
May 1, 2002, 10:14:28 AM5/1/02
to

Hi Ash

> acceleration of the rear wheels I use the road reaction force of the wheel

How are you calculating and defining 'road reaction force'? I think this is
key. Also, I think this would be limited somehow (by the drivetrain) on
driven wheels/axles.

Al

Ashley McConnell <nos...@siroccoracing.com> wrote in message

news:RqSz8.28468$oK4.66490@NewsReader...

Ashley McConnell

unread,
May 1, 2002, 10:28:24 AM5/1/02
to
>
> > acceleration of the rear wheels I use the road reaction force of the
wheel
>
> How are you calculating and defining 'road reaction force'? I think this
is
> key. Also, I think this would be limited somehow (by the drivetrain) on
> driven wheels/axles.
>
> Al
>

The road reaction force is simply the force produced by the tyre in the
previous timestep (but in the opposite direction as its a reaction).

I am not sure this will work for "free rolling" wheels, hence I was
suggesting using the acceleration of the car to determine the force that was
used to accelerate the car in the previous timestep. This force would need
to be "distributed" around the wheels somehow.

Has anyone any comments/suggestions?

I am sure I saw a post by Gregor Veble on this very subject not that long
ago. perhaps a google groups search will yield something. He isnt in today
or I would ask him.

Thanks for the help
Ash


Ruud van Gaal

unread,
May 1, 2002, 11:03:19 AM5/1/02
to
On Wed, 1 May 2002 13:39:50 +0100, "Al Dukes"
<a...@g3interactive.freeserve.co.uk> wrote:

>Hi guys
>
>I've been reading your car physics threads with great interest.
>
>I'm writing a game at the moment and I'm experiencing a problem:
>
>When I try to model a free-rolling wheel, I am getting a negative slip ratio
>as the car accelerates off (I'm using SAE 950311). Of course the result is
>that the wheel tries to brake the car - hence my wheel never rotates.

Sounds like you're not applying the right forces. Here's what I do,
more or less:
- Calculate engine torque
- Calculate resulting torque at wheel contact patch (geared).
- Calculate slip ratio (through the relaxation length or whatever)
- Calculate Fx=Pacejka(SR,...)

Note that the torque at the wheel because of the engine then is:
T=T_engine*gearing

Then:
- Apply Fx to body
- Apply (F_engine-Fx) as rotational acceleration for the wheel
spinning. (note that T=F*r, so from Fx you can make torque by
Tx=Fx*wheelRadius and then you get T_engine-Tx, so T=I*w => w=angular
acceleration = (T_engine-T_x)/I_wheel).

Even if this would in the first few timesteps make the wheel stop,
that shouldn't matter, since then SR gets down to 0, making Fx move to
0 (check that; with low speed & Pacejka you may want to damp Fx down
to 0 as well). In that case, F_engine-Fx ~ F_engine, and the wheel
should start rotating. In bits, the body should accelerate, jittering
a bit around the wheel's origin at first.


Ruud van Gaal
Free car sim: http://www.racer.nl/
Pencil art : http://www.marketgraph.nl/gallery/

Al Dukes

unread,
May 1, 2002, 11:25:41 AM5/1/02
to
Thanks Ruud

> - Apply (F_engine-Fx) as rotational acceleration for the wheel

I think I may have misunderstood, but off the top of my head, for the case
of 0% power to a wheel, wouldn't the wheel rotate backwards. (Beacuse I'd
simply get -Fx)

Hang on, I'm getting a negative SR , so I the sim is probably generating a
negative Fx on this wheel. -Fx would make this positive, which means that
the wheel may start rolling forward. Hmmm :)

I'll give that a try...

Thanks

Al


Ruud van Gaal <ru...@marketgraph.nl> wrote in message
news:3cd201ee...@news.xs4all.nl...

Ruud van Gaal

unread,
May 1, 2002, 12:37:49 PM5/1/02
to
On Wed, 1 May 2002 16:25:41 +0100, "Al Dukes"
<a...@g3interactive.freeserve.co.uk> wrote:

>Thanks Ruud
>
>> - Apply (F_engine-Fx) as rotational acceleration for the wheel
>
>I think I may have misunderstood, but off the top of my head, for the case
>of 0% power to a wheel, wouldn't the wheel rotate backwards. (Beacuse I'd
>simply get -Fx)

0% power means F_engine=0 (well, if the engine isn't running;
otherwise you get engine braking).
It then depends on how you define + and -. Draw pictures so you have
your force directions thought out. I think I personally do some funny
bits to get mostly + torques and forces in the most common situations.
This might mean a '-' is in order somewhere.

If SR>0 and Fx>0, just make sure that the angular acceleration makes
the wheel rotate in the right direction. Also, as I said, check that
at SR=0 -> Fx=0. If not, get rid (zero) of some of Pacejka's
coefficients.

You could always try F_engine+Fx instead, but it's better to take a
close look at some forces in a shell for the first couple of steps of
acceleration. That way you'll be sure. And keep that image handy to
check the signs! ;-)

You won't believe the number of minuses can add up to believable, yet
totally wrong things. :)

Ruud van Gaal

unread,
May 1, 2002, 12:41:25 PM5/1/02
to
On Wed, 1 May 2002 16:25:41 +0100, "Al Dukes"
<a...@g3interactive.freeserve.co.uk> wrote:

>Thanks Ruud
>
>> - Apply (F_engine-Fx) as rotational acceleration for the wheel
>
>I think I may have misunderstood, but off the top of my head, for the case
>of 0% power to a wheel, wouldn't the wheel rotate backwards. (Beacuse I'd
>simply get -Fx)
>
>Hang on, I'm getting a negative SR , so I the sim is probably generating a
>negative Fx on this wheel.

Oh btw, you'd expect (with throttle pressed):
- step 1: SR=0, Fx=0. T_e>0 (say 100Nm). Wheel starts spinning
forwards.
- step 2: SR>0 (probably infinite, hehe, but keep it at 10 or 1 or
something), Fx>0, T_e>0

from there on, jittering starts with the forces, but in average the
body will move forward, and the wheel will spin the right way (on
average!).
It might help to do one velocity-reversal hack here; if the wheel spin
velocity changes sign, reset it to 0 for that step. Although probably
you shouldn't need that with SAE950311.

Al Dukes

unread,
May 1, 2002, 1:17:34 PM5/1/02
to
Hi Ruud

I've just tried your idea and the results seem to be about right

(I'm losing grip on undriven wheels at certain points, but this may be
something to do with relaxation length)

I shall be testing it this evening :)

Can I confirm that the Fx in (Fengine - Fx) is the force from the tyre/road,
and not the force from the car body?

Thanks again

Al


Ruud van Gaal <ru...@marketgraph.nl> wrote in message

news:3cd119eb...@news.xs4all.nl...

Ruud van Gaal

unread,
May 1, 2002, 2:49:15 PM5/1/02
to
On Wed, 1 May 2002 18:17:34 +0100, "Al Dukes"
<a...@g3interactive.freeserve.co.uk> wrote:

>Hi Ruud
>
>I've just tried your idea and the results seem to be about right

That sounds good. :)

>(I'm losing grip on undriven wheels at certain points, but this may be
>something to do with relaxation length)

Or load.

>I shall be testing it this evening :)
>
>Can I confirm that the Fx in (Fengine - Fx) is the force from the tyre/road,
>and not the force from the car body?

Fx = Pacejka, which is the road reaction force. All forces are
couples, but this is the one that the road exerts on the tire, which
makes the car move forward. More Fx=more grip.

0 new messages