Race Sim Central
Rec.Autos.Simulators Archive

Car physics: road reaction force

17 posts by 5 people · 13 Nov 2001 14:38 UTC - 17 Nov 2001 19:13 UTC

J. Perkins 13 Nov 2001 14:38 UTC#152730
First off, thanks to everyone who responded to the "slip ratio=0" thread. I've implemented SAE950311 and it seems to be working well, I can move forward and backward (no slip angle yet!) with somewhat appropriate amounts of wheel slip, and it looks good. Now I'm trying to close the loop and return the road reaction force back through the drivetrain. However the way things stand now, within 0.1-0.2 secs after the car starts to move, the road reaction force has climbed to an order of magnitude greater than the engine torque, and my engine gets slammed down to zero rpms. This may have something to do with the fact that I haven't implemented a proper clutch yet, but I was wondering if this is a typical result? I'm pretty sure I've got the drivetrain modeled properly, as everything spins up at the proper rates, and I've plugged some sample values into my Pacejka stuff and that looks okay. It's possible that I'm calculating the slip ratio wrong, though I've been over it a hundred times now. Anyway, intuitively it seems wrong to be getting 10x more torque back from the road, even if all of the formulas seems to be right, especially considering that everyone seems to be able to get away with a simple 'torque=engineTorque-reactionTorque'. Any insights would be appreciated. Jason
You passing the tyre torque back to the engine through the gear system properly ie 1/(gear ratio) "J. Perkins" <[email hidden]> wrote in message news:[email hidden]...
Quoted text (24 lines)> First off, thanks to everyone who responded to the "slip ratio=0" > thread. I've implemented SAE950311 and it seems to be working well, > I can move forward and backward (no slip angle yet!) with somewhat > appropriate amounts of wheel slip, and it looks good. > > Now I'm trying to close the loop and return the road reaction force > back through the drivetrain. However the way things stand now, within > 0.1-0.2 secs after the car starts to move, the road reaction force > has climbed to an order of magnitude greater than the engine torque, > and my engine gets slammed down to zero rpms. This may have something > to do with the fact that I haven't implemented a proper clutch yet, > but I was wondering if this is a typical result? I'm pretty sure I've > got the drivetrain modeled properly, as everything spins up at the > proper rates, and I've plugged some sample values into my Pacejka > stuff and that looks okay. It's possible that I'm calculating the > slip ratio wrong, though I've been over it a hundred times now. > > Anyway, intuitively it seems wrong to be getting 10x more torque > back from the road, even if all of the formulas seems to be right, > especially considering that everyone seems to be able to get away > with a simple 'torque=engineTorque-reactionTorque'. Any insights > would be appreciated. > > Jason
"Carol Bekker" <[email hidden]> wrote in message news:<fpaI7.18723$[email hidden]>... > You passing the tyre torque back to the engine through the gear system > properly ie 1/(gear ratio) I'm not using T/(gear ratio) to pass the torque back, rather I am calculating the acceleration and resulting torque loss at each component in the drivetrain - since all the parts are accelerating at the proper rates, I assumed that I had gotten that part right. That said, T/(gear ratio) results in a *much* lower torque arriving at the engine, enough to fix the problem, but I would have to question the accuracy? Jason
Surely the drivetrain is one system (ignoring slip at the clutches) so why calculate all the different speeds when you can calculate one and set the other speeds from that. You can still model the torque losses due to friction by adding up the torques with respect to ratios, and summing the moi's by using the square of the ratios. "J. Perkins" <[email hidden]> wrote in message news:[email hidden]... > "Carol Bekker" <[email hidden]> wrote in messagenews:<fpaI7.18723$[email hidden]>...
Quoted text (12 lines)> > You passing the tyre torque back to the engine through the gear system > > properly ie 1/(gear ratio) > > I'm not using T/(gear ratio) to pass the torque back, rather I > am calculating the acceleration and resulting torque loss at > each component in the drivetrain - since all the parts are > accelerating at the proper rates, I assumed that I had gotten > that part right. That said, T/(gear ratio) results in a *much* > lower torque arriving at the engine, enough to fix the problem, > but I would have to question the accuracy? > > Jason
"Carol Bekker" <[email hidden]> wrote in message news:<n7fI7.21502$[email hidden]>... > Surely the drivetrain is one system (ignoring slip at the clutches) so why > calculate all the different speeds when you can calculate one and set the > other speeds from that. You can still model the torque losses due to > friction by adding up the torques with respect to ratios, and summing the > moi's by using the square of the ratios. Essentially what I'm doing. Regardless, I end up with aw=ae/Ntf for my engine torque, and ae=aw*Ntf for my reaction force, so it would appear that my drivetrain is not the problem. I accelerate the wheel, then (in the next timestep) compute a slip ratio and Fx. Assuming that my drivetrain is correct, and my Pacejka formulas are correct, that would leave my slip ratio calculations at fault. I do notice that the SR I calculate with 950311 is considerably smaller than what I would get with the traditional slip formula, but I suppose that would be expected since it takes the relaxation length of the tire into account. I'll keep investigating. Jason
On Tue, 13 Nov 2001 20:11:37 -0000, "Carol Bekker" <[email hidden]> wrote: >Surely the drivetrain is one system (ignoring slip at the clutches) so why >calculate all the different speeds when you can calculate one and set the >other speeds from that. You'll have to use 2 speeds when you add the clutch; the engine speed then becomes separate from that of the drivetrain (which is indeed only modified by ratios depending on where on the train you are). Ruud van Gaal Free car sim : http://www.marketgraph.nl/gallery/racer/ Pencil art : http://www.marketgraph.nl/gallery/
On 13 Nov 2001 06:38:12 -0800, [email hidden] (J. Perkins) wrote: >First off, thanks to everyone who responded to the "slip ratio=0" >thread. I've implemented SAE950311 and it seems to be working well, >I can move forward and backward (no slip angle yet!) with somewhat >appropriate amounts of wheel slip, and it looks good. Did you add the damping as described in the appendix? Does that work with your code?
Quoted text (7 lines)>Now I'm trying to close the loop and return the road reaction force >back through the drivetrain. However the way things stand now, within >0.1-0.2 secs after the car starts to move, the road reaction force >has climbed to an order of magnitude greater than the engine torque, >and my engine gets slammed down to zero rpms. This may have something >to do with the fact that I haven't implemented a proper clutch yet, >but I was wondering if this is a typical result?
Apart from the ratio thing, yes, this also happens with braking; in my sim the rpm goes down to 0. With road reaction it doesn't happen as quick though (because of the ratio). I also make sure my engine doesn't generate 0 torque at 0 rpm (but instead start at the torque value for say 1000 rpm). Also note the double ratio; differential(s) and gears. That's often quite a factor. Ruud van Gaal Free car sim : http://www.marketgraph.nl/gallery/racer/ Pencil art : http://www.marketgraph.nl/gallery/
On 14 Nov 2001 11:22:41 -0800, [email hidden] (J. Perkins) wrote:
Quoted text (13 lines)>"Carol Bekker" <[email hidden]> wrote in message news:<n7fI7.21502$[email hidden]>... >> Surely the drivetrain is one system (ignoring slip at the clutches) so why >> calculate all the different speeds when you can calculate one and set the >> other speeds from that. You can still model the torque losses due to >> friction by adding up the torques with respect to ratios, and summing the >> moi's by using the square of the ratios. > >Essentially what I'm doing. Regardless, I end up with aw=ae/Ntf for >my engine torque, and ae=aw*Ntf for my reaction force, so it would >appear that my drivetrain is not the problem. I accelerate the wheel, >then (in the next timestep) compute a slip ratio and Fx. Assuming >that my drivetrain is correct, and my Pacejka formulas are correct, >that would leave my slip ratio calculations at fault.
You might want to check with the numbers. Take a reasonable acceleration of the car, divide that by 4, then you get a reasonable traction (= road reaction force) per wheel in Newtons. If that's ok, then it may be something else. >I do notice that the SR I calculate with 950311 is considerably >smaller than what I would get with the traditional slip formula, >but I suppose that would be expected since it takes the relaxation >length of the tire into account. I'll keep investigating. Yes, it acts like a filter somewhat. Ruud van Gaal Free car sim : http://www.marketgraph.nl/gallery/racer/ Pencil art : http://www.marketgraph.nl/gallery/
Check and make sure that the accelerating force at the tires is roughly enginePower / velocity (in proper units) at various speeds as you accelerate. (although you might be tire friction limited at very low speeds rather than having infinite acceleration ;) If you aren't reasonably close to this (within 10-20%) in the middle speeds where the acceleration is less and the aero drag is still low, then you have some major problem with units or gear ratios or something still to work out. - Matt
Ruud van Gaal wrote:
Quoted text (8 lines)> > >I do notice that the SR I calculate with 950311 is considerably > >smaller than what I would get with the traditional slip formula, > >but I suppose that would be expected since it takes the relaxation > >length of the tire into account. I'll keep investigating. > > Yes, it acts like a filter somewhat. >
It acts like a regularizing, physically sound filter. No reason not to use it :). -Gregor
Ruud van Gaal wrote:
Quoted text (11 lines)> > On 13 Nov 2001 06:38:12 -0800, [email hidden] (J. Perkins) wrote: > > >First off, thanks to everyone who responded to the "slip ratio=0" > >thread. I've implemented SAE950311 and it seems to be working well, > >I can move forward and backward (no slip angle yet!) with somewhat > >appropriate amounts of wheel slip, and it looks good. > > Did you add the damping as described in the appendix? Does that work > with your code? >
Speaking of relaxation length damping; I have no idea how the damping is done in the paper, but what I use is that not only do I feed the slip ratio (SR) into the force calculation, but the variable SR_enter = SR + tau * (dSR/dt), where dSR/dt is just the rate of change of SR as found in the basic equations in the paper, and tau is some time constant that should be played with. The same goes for the slip angle as well, although the time constant for that one might be much different. Works well in my sim. -Gregor
Thanks everyone for your suggestions, but I got it figured out last night (finally! whew!). It was, typically, a stupid error. When I recoded my drivetrain to handle the torque coming back from the road, I accidentally cancelled out one factor of the gear ratio in my torque/inertia calculations. Because it was in both calculations, the wheels and engine still accelerated at the proper ratio. The wheels weren't receiving as much engine torque as they should have, but the inertia at the engine was very low, so the car still accelerated at about the right rate. The return torque wasn't being reduced by the gear ratio and the change in inertia isn't as big at the wheels, so it ended up too high. Lesson learned: always validate your results in as many ways as possible. When I first wrote the drivetrain code, I checked it against all the equations in Gillespie ch. 2. When I modified it later, I only checked to be sure the accel ratios were correct and didn't catch the bad torque numbers. Whew, what a relief to have that out of the way. Thanks again for the suggestions. Jason
On Thu, 15 Nov 2001 10:09:39 +0100, Gregor Veble <[email hidden]> wrote:
Quoted text (23 lines)>Ruud van Gaal wrote: >> >> On 13 Nov 2001 06:38:12 -0800, [email hidden] (J. Perkins) wrote: >> >> >First off, thanks to everyone who responded to the "slip ratio=0" >> >thread. I've implemented SAE950311 and it seems to be working well, >> >I can move forward and backward (no slip angle yet!) with somewhat >> >appropriate amounts of wheel slip, and it looks good. >> >> Did you add the damping as described in the appendix? Does that work >> with your code? >> > >Speaking of relaxation length damping; I have no idea how the damping is >done in the paper, but what I use is that not only do I feed the slip >ratio (SR) into the force calculation, but the variable > >SR_enter = SR + tau * (dSR/dt), > >where dSR/dt is just the rate of change of SR as found in the basic >equations in the paper, and tau is some time constant that should be >played with. The same goes for the slip angle as well, although the time >constant for that one might be much different. Works well in my sim.
IIRC, the SAE950311 uses tanSR as a state variable, and derives SR each step from tanSR. tanSR is updated every step, where the relaxation coefficient comes into play (don't know how that was exactly). After all that, an extra damping *force* is applied at low speed (v<0.15 m/s is suggested), which is derived from the vibration frequency from the tire (just like a swing). So something like F_damping=sqrt(tire_longitudinal_spring_stiffness/tire_mass). Adding it to the other forces (F_long=pacejka_Fx(SR,...)) is where I go wrong. Must probably always counteract the F_long (so if F_long>0, F_damping<0 and vice versa). It looks here like you put the 'relaxation' factor a bit later on, but other than that its effect may be the same. Ruud van Gaal Free car sim : http://www.marketgraph.nl/gallery/racer/ Pencil art : http://www.marketgraph.nl/gallery/
Gregor Veble <[email hidden]> wrote in message news:<[email hidden]>...
Quoted text (10 lines)> Speaking of relaxation length damping; I have no idea how the damping is > done in the paper, but what I use is that not only do I feed the slip > ratio (SR) into the force calculation, but the variable > > SR_enter = SR + tau * (dSR/dt), > > where dSR/dt is just the rate of change of SR as found in the basic > equations in the paper, and tau is some time constant that should be > played with. The same goes for the slip angle as well, although the time > constant for that one might be much different. Works well in my sim.
I saw you mention this in another post, though I wasn't paying enough attention at the time. Is tau a function of relaxation length, or timestep? That is, does tau need to be set per tire or can one value suffice for the sim? I'll have to go find your original post. This approach is certainly simpler than what's in the paper (which I don't have with me right now or I'd try to give a quick overview). Jason
Hi Jason, tau is just some time constant that certainly cannot be larger than your timestep for the sake of stbility, but the higher it is the higher the damping. I should do an analysis again of how much it should be to dampen oscillations perfectly, but usually with a bit of experimentation a good value can be found for a tyre with given properties. Start with a tenth of your timestep and move up/down accordingly, while I will try to stop being lazy and perhaps give an estimate :). Just keep in mind that indeed the damping needs to be smaller in the longitudinal direction as the inertial part there is much smaller (the rotation of the wheel is easier to induce than the lateral car movement). -Gregor "J. Perkins" wrote:
Quoted text (10 lines)> > I saw you mention this in another post, though I wasn't paying > enough attention at the time. Is tau a function of relaxation > length, or timestep? That is, does tau need to be set per tire > or can one value suffice for the sim? I'll have to go find your > original post. This approach is certainly simpler than what's in > the paper (which I don't have with me right now or I'd try to give > a quick overview). > > Jason
Ruud van Gaal wrote: > > Adding it to the other forces (F_long=pacejka_Fx(SR,...)) is where I > go wrong. Must probably always counteract the F_long (so if F_long>0, > F_damping<0 and vice versa). > The above sign seems to be a good choice, but it looks as if you have an opposing frictional type of force which cannot be completely stable (it will jitter from positive to negative). I have another damping force (actually, just a damping torque) in my system for the longitudinal dampening, and while I can't remember all the details about its size (indeed some sqrt of inertias and tyre stiffness occur in it), the only thing I know is that I make it proportional to dSR/dt, so it is 0 in stationarty state. Perhaps that's an idea to consider? -Gregor
On Fri, 16 Nov 2001 09:48:23 +0100, Gregor Veble <[email hidden]> wrote:
Quoted text (9 lines)>Ruud van Gaal wrote: >> >> Adding it to the other forces (F_long=pacejka_Fx(SR,...)) is where I >> go wrong. Must probably always counteract the F_long (so if F_long>0, >> F_damping<0 and vice versa). > >The above sign seems to be a good choice, but it looks as if you have an >opposing frictional type of force which cannot be completely stable (it >will jitter from positive to negative).
Perhaps, but if I include velocity reversal checks in it, it might be fine (after all, it's only used at low speed). So if the damping+other forces makes the wheel swing the other way, I keep the position locked and set spin acceleration and velocity to 0. >I have another damping force (actually, just a damping torque) in my >system for the longitudinal dampening, and while I can't remember all >the details about its size (indeed some sqrt of inertias and tyre >stiffness occur in it), the only thing I know is that I make it >proportional to dSR/dt, so it is 0 in stationarty state. Perhaps that's >an idea to consider? Hm, sounds a nice one that also goes down to 0 at low speed. I'll have to implement it to see. First I want to get some ODE tests in though, before I get diverted. :) BTW The AABBTrees work really nice; use it for carbody-track triangle collisions now and most of the time I don't even check 1 triangle anymore, as the car floats above the surface (so in the end, you'll end up in an AABB that is the track, and since the body is almost always *above* the track, they never intersect and no polygons are tested; you just gotta love those O(logN) trees. :) ). Ruud van Gaal Free car sim : http://www.marketgraph.nl/gallery/racer/ 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