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
>
> When I try to model a free-rolling wheel, I am getting a negative slipratio
> 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 howto
> 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
Thanks for your swift response Ash!
> Another Sim Programmer, we are multiplying (unite brothers and we shalltake
> 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 theinevitable -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 <[email hidden]> 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 resultis
> > 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 surehow
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 speedas
Quoted text (28 lines)
> to > > calculate them. Any ideas? > > > > Thanks for you help... > > > > Al > > > Hi Al > > > 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 theQuoted text (11 lines)
> 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 > > >Quoted text (9 lines)
> > 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'
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 <[email hidden]> wrote in message
news:RqSz8.28468$oK4.66490@NewsReader...
one
> > axle)
> > So in the case of 20% power to the front axle, there must be a forcefrom
> > 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 torqueor
try
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 moreintelligent
Quoted text (7 lines)
> > > > > 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 toQuoted text (8 lines)
> > 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 toQuoted text (7 lines)
> 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 needQuoted text (8 lines)
> later on :P > > Gregor where are you? :) > > Ash > > >>
> > acceleration of the rear wheels I use the road reaction force of thewheel
>
> How are you calculating and defining 'road reaction force'? I think thisis
> 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
On Wed, 1 May 2002 13:39:50 +0100, "Al Dukes"
<[email hidden]> wrote:
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/
Quoted text (9 lines)
>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.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 <[email hidden]> wrote in message
news:[email hidden]...
ratio
> >as the car accelerates off (I'm using SAE 950311). Of course the resultis
Quoted text (10 lines)
> On Wed, 1 May 2002 13:39:50 +0100, "Al Dukes" > <[email hidden]> 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 slipQuoted text (30 lines)
> >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/On Wed, 1 May 2002 16:25:41 +0100, "Al Dukes"
<[email hidden]> wrote:
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
Free car sim: http://www.racer.nl/
Pencil art : http://www.marketgraph.nl/gallery/
Quoted text (7 lines)
>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)On Wed, 1 May 2002 16:25:41 +0100, "Al Dukes"
<[email hidden]> wrote:
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.
Ruud van Gaal
Free car sim: http://www.racer.nl/
Pencil art : http://www.marketgraph.nl/gallery/
Quoted text (10 lines)
>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.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 <[email hidden]> wrote in message
news:[email hidden]...
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 generatinga
Quoted text (8 lines)
> On Wed, 1 May 2002 16:25:41 +0100, "Al Dukes" > <[email hidden]> 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 theQuoted text (19 lines)
> >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. > > > Ruud van Gaal > Free car sim: http://www.racer.nl/ > Pencil art : http://www.marketgraph.nl/gallery/On Wed, 1 May 2002 18:17:34 +0100, "Al Dukes"
<[email hidden]> 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.
Ruud van Gaal
Free car sim: http://www.racer.nl/
Pencil art : http://www.marketgraph.nl/gallery/


































