Race Sim Central
Rec.Autos.Simulators Archive

Car physics: free rolling wheels

12 posts by 3 people · 01 May 2002 12:39 UTC - 01 May 2002 18:49 UTC

Al Dukes 01 May 2002 12:39 UTC#122643
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
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 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 speedas
Quoted 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'
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
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...
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 to
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
Quoted 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 to
try
Quoted 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 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 moreintelligent
Quoted 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:
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.
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/
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]...
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 slip
ratio > >as the car accelerates off (I'm using SAE 950311). Of course the resultis
Quoted 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:
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)
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/
On Wed, 1 May 2002 16:25:41 +0100, "Al Dukes" <[email hidden]> wrote:
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.
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/
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]...
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 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 generatinga
Quoted 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/

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