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?
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/
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?On 14 Nov 2001 11:22:41 -0800, [email hidden] (J. Perkins) wrote:
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/
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.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:
It acts like a regularizing, physically sound filter. No reason not to
use it :).
-Gregor
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. >Ruud van Gaal wrote:
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
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? >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:
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/
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.Gregor Veble <[email hidden]> wrote in message news:<[email hidden]>...
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
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.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). > > JasonRuud 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:
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/


































