AAAAAAAAAAAAAAAAAAAAAARRRRRRRRRRRRRRRGGGGGHHHHHHHHH!!!!!! !@#%!! %@
%**@!!!!
WHY CAN'T IT JUST WORK??!!!!!
Thanks, I feel a little better now.....
Todd Wasson
---
Performance Simulations
Drag Racing and Top Speed Prediction
Software
http://PerformanceSimulations.Com
Notable threadHobbyist physics coders discuss tyre relaxation length models
J. Todd Wasson vented frustration at implementing tyre relaxation lengths from SAE paper 950311 in his RC car sim. Ruud van Gaal (author of Racer) shared code and the key insight that the paper uses the tangent of the slip angle, which got it working; Gregor Veble and vehicle dynamics author Doug Milliken explained low-speed oscillation and when relaxation effects can be ignored at high speed. The thread also covered integration rates and scaling physics for small RC cars.
physics/realism debate
Automated summary.
I hear ya :)
Ash
"J. Todd Wasson" <[email hidden]> wrote in message
news:[email hidden]...
Quoted text (13 lines)
| AAAAAAAAAAAAAAAAAAAAAARRRRRRRRRRRRRRRGGGGGHHHHHHHHH!!!!!! !@#%!! %@ | %**@!!!! | | WHY CAN'T IT JUST WORK??!!!!! | | | Thanks, I feel a little better now..... | Todd Wasson | --- | Performance Simulations | Drag Racing and Top Speed Prediction | Software | http://PerformanceSimulations.ComJust for the sake of it.... try increasing the wheel inertia. Maybe
there's the problem.
-Gregor
"J. Todd Wasson" wrote:
Quoted text (13 lines)
> > AAAAAAAAAAAAAAAAAAAAAARRRRRRRRRRRRRRRGGGGGHHHHHHHHH!!!!!! !@#%!! %@ > %**@!!!! > > WHY CAN'T IT JUST WORK??!!!!! > > Thanks, I feel a little better now..... > Todd Wasson > --- > Performance Simulations > Drag Racing and Top Speed Prediction > Software > http://PerformanceSimulations.Com
"J. Todd Wasson" <[email hidden]> wrote in message
news:[email hidden]...
Todd, dear Todd, and your thesis review board has been waiting patiently in
the other room, but now they're starting to get itchy.
I'm sorry, I feel your pain. Been there, done that, ate my damned T-shirt
out of frustration, but you're on your own on this one. It's so far out of
anything I've ever dealt with that I can't even comment.
Hey Doug, got your ears on? Poor Todd's about to explode and needs emergency
tire physics treatment.
KFG
Quoted text (13 lines)
> AAAAAAAAAAAAAAAAAAAAAARRRRRRRRRRRRRRRGGGGGHHHHHHHHH!!!!!! !@#%!! %@ > %**@!!!! > > WHY CAN'T IT JUST WORK??!!!!! > > > Thanks, I feel a little better now..... > Todd Wasson > --- > Performance Simulations > Drag Racing and Top Speed Prediction > Software > http://PerformanceSimulations.Com
Just because tires know what to do,
doesn't mean that we know how they do it...
The tire modeler's version of:
Just because you are paranoid,
doesn't mean that they are not watching you.
I don't think that I can say much at this point - things are so
implementation dependent.
-- Doug
Douglas Milliken <[email hidden]>
Milliken Research Associates Inc.
On Tue, 24 Apr 2001, Kevin Gavitt wrote:
Quoted text (32 lines)
> > "J. Todd Wasson" <[email hidden]> wrote in message > news:[email hidden]... > > AAAAAAAAAAAAAAAAAAAAAARRRRRRRRRRRRRRRGGGGGHHHHHHHHH!!!!!! !@#%!! %@ > > %**@!!!! > > > > WHY CAN'T IT JUST WORK??!!!!! > > > > > > Thanks, I feel a little better now..... > > Todd Wasson > > --- > > Performance Simulations > > Drag Racing and Top Speed Prediction > > Software > > http://PerformanceSimulations.Com > > Todd, dear Todd, and your thesis review board has been waiting patiently in > the other room, but now they're starting to get itchy. > > I'm sorry, I feel your pain. Been there, done that, ate my damned T-shirt > out of frustration, but you're on your own on this one. It's so far out of > anything I've ever dealt with that I can't even comment. > > Hey Doug, got your ears on? Poor Todd's about to explode and needs emergency > tire physics treatment. > > KFG > > > >Nirvana Fan! :)
"Doug Milliken" <[email hidden]> wrote in message
news:[email hidden]...
%@
in
| > the other room, but now they're starting to get itchy.
| >
| > I'm sorry, I feel your pain. Been there, done that, ate my damnedT-shirt
| > out of frustration, but you're on your own on this one. It's so far outof
| > anything I've ever dealt with that I can't even comment.
| >
| > Hey Doug, got your ears on? Poor Todd's about to explode and needsemergency
Quoted text (23 lines)
| | Just because tires know what to do, | doesn't mean that we know how they do it... | | The tire modeler's version of: | Just because you are paranoid, | doesn't mean that they are not watching you. | | I don't think that I can say much at this point - things are so | implementation dependent. | | -- Doug | Douglas Milliken <[email hidden]> | Milliken Research Associates Inc. | | | | On Tue, 24 Apr 2001, Kevin Gavitt wrote: | | > | > "J. Todd Wasson" <[email hidden]> wrote in message | > news:[email hidden]... | > > AAAAAAAAAAAAAAAAAAAAAARRRRRRRRRRRRRRRGGGGGHHHHHHHHH!!!!!! !@#%!!Quoted text (14 lines)
| > > %**@!!!! | > > | > > WHY CAN'T IT JUST WORK??!!!!! | > > | > > | > > Thanks, I feel a little better now..... | > > Todd Wasson | > > --- | > > Performance Simulations | > > Drag Racing and Top Speed Prediction | > > Software | > > http://PerformanceSimulations.Com | > | > Todd, dear Todd, and your thesis review board has been waiting patientlyQuoted text (8 lines)
| > tire physics treatment. | > | > KFG | > | > | > | > |>Just for the sake of it.... try increasing the wheel inertia. Maybe
>there's the problem.
>
Nope, I'm just trying to get the very, very, very simple basic equation at
the beginning of the SAE paper we just read to work without even including it
in the model yet! The differential equations? Good grief.... lol
Todd Wasson
---
Performance Simulations
Drag Racing and Top Speed Prediction
Software
http://PerformanceSimulations.Com
Quoted text (52 lines)
>Just because tires know what to do, > doesn't mean that we know how they do it... > >The tire modeler's version of: > Just because you are paranoid, > doesn't mean that they are not watching you. > >I don't think that I can say much at this point - things are so >implementation dependent. > >-- Doug > Douglas Milliken <[email hidden]> > Milliken Research Associates Inc. > > > >On Tue, 24 Apr 2001, Kevin Gavitt wrote: > >> >> "J. Todd Wasson" <[email hidden]> wrote in message >> news:[email hidden]... >> > AAAAAAAAAAAAAAAAAAAAAARRRRRRRRRRRRRRRGGGGGHHHHHHHHH!!!!!! !@#%!! %@ >> > %**@!!!! >> > >> > WHY CAN'T IT JUST WORK??!!!!! >> > >> > >> > Thanks, I feel a little better now..... >> > Todd Wasson >> > --- >> > Performance Simulations >> > Drag Racing and Top Speed Prediction >> > Software >> > http://PerformanceSimulations.Com >> >> Todd, dear Todd, and your thesis review board has been waiting patiently in >> the other room, but now they're starting to get itchy. >> >> I'm sorry, I feel your pain. Been there, done that, ate my damned T-shirt >> out of frustration, but you're on your own on this one. It's so far out of >> anything I've ever dealt with that I can't even comment. >> >> Hey Doug, got your ears on? Poor Todd's about to explode and needs >emergency >> tire physics treatment. >> >> KFG >> >> >> >> >
On 24 Apr 2001, J. Todd Wasson wrote:
> Nope, I'm just trying to get the very, very, very simple basic equation at
> the beginning of the SAE paper we just read to work without even including it
> in the model yet! The differential equations? Good grief.... lol
What paper is this - # and title?
>What paper is this - # and title?
SAE 9503111
"Tire modeling for low-speed and high-speed calculations"
Todd Wasson
---
Performance Simulations
Drag Racing and Top Speed Prediction
Software
http://PerformanceSimulations.Com
On 24 Apr 2001 04:58:36 GMT, [email hidden] (J. Todd Wasson) wrote:
> AAAAAAAAAAAAAAAAAAAAAARRRRRRRRRRRRRRRGGGGGHHHHHHHHH!!!!!! !@#%!! %@
>%**@!!!!
>
> WHY CAN'T IT JUST WORK??!!!!!
Hehe, yes, tirerelax.c. It sometimes seems faster to just generate a
bunch of random letters which will work faster than if you try to
derive your own work.
How are you implementing them? I use SAE950311 but have been a lot of
problems as well, to the point where I'm now doing collision detection
and AI to get my mind on 'simpler' things. ;-)
Strange to see how a slipratio can stay beyond 20 for some time after
some firm braking. And that with a relaxation length of 0.7m. :(
If only Genta had given me the units of the Pacejka longitudinal tire
stiffness, than I could do some searching...
Ruud van Gaal, GPL Rank +53.25
Pencil art : http://www.marketgraph.nl/gallery/
Free car sim : http://www.marketgraph.nl/gallery/racer/
On 25 Apr 2001 04:30:51 GMT, [email hidden] (J. Todd Wasson) wrote:
>>What paper is this - # and title?
>
>SAE 9503111
>"Tire modeling for low-speed and high-speed calculations"
That's the one. :)
Here's what I do. It's been modified here & there, now & then to check
for the ugly damping swinging at low speed. Better to start out at
some speed (both world velocity and spin speed), since the diff
equations work out better.
Hope it helps a bit. And don't forget to multiple Fx (road reaction
force) by sgn(u)! Funny stuff like that. In itself, it works pretty
ok, UNTIL you get at low speed, OFCOURSE! ;-)
/***********************
* Calculate Slip Angle *
***********************/
void RWheel::CalcSlipAngle()
// Based on the wheel world velocity and heading, calculate
// the angle from the wheel heading to the wheel's actual velocity
// Contrary to SAE, our Y-axis points up, and slipAngle>0 means
// in our case that the you're in a right turn (basically)
// 31-03-01: SAE950311 implementation (using relaxation lengths
// and a differential equation for the slip angle) for low-speed etc.
{
DVector3 velWheelWC;
if(!IsOnSurface())
{
//qdbg("CalcSA; not on surface\n");
// Not touching the surface, no need to do slip angle
slipAngle=0;
// Tire springs back to 0 instantly (should be slowly actually)
tanSlipAngle=0;
velWheelTC.SetToZero();
velWheelCC.SetToZero();
return;
}
// Get velocity of contact patch wrt the track (=world)
DVector3 cpPos,*p;
p=susp->GetPosition();
cpPos.x=p->x;
cpPos.y=p->y+susp->GetLength()+radius;
cpPos.z=p->z; // Kingpin effects are ignored
car->GetBody()->CalcBodyVelForBodyPos(&cpPos,&velWheelCC);
car->ConvertCarToWorldOrientation(&velWheelCC,&velWheelWC);
ConvertCarToTireOrientation(&velWheelCC,&velWheelTC);
qdbg("velWheelTC.z=%f, rotZ=%f\n",velWheelTC.z,rotationV.x*radius);
// Derive change in tan(slipAngle) using SAE950311
// u=longitudinal velocity, v=lateral velocity
rfloat u,b,v,delta;
u=velWheelTC.z;
v=velWheelTC.x;
b=relaxationLengthLat;
delta=(v/b)-(fabs(u)/b)*tanSlipAngle;
// Integrate
tanSlipAngle+=delta*RMGR->time->span;
// Derive new slip angle from state variable 'tanSlipAngle'
slipAngle=atanf(tanSlipAngle);
}
/***********************
* Calculate Slip Ratio *
***********************/
void RWheel::CalcSlipRatio(DVector3 *velWheelTC)
// Calculate current slip ratio.
// Assumes that CalcSlipAngle() has been called (for velWheel?C to be
valid)
// 31-03-01: SAE950311 implementation (using relaxation lengths
// and a differential equation for the slip ratio) for low-speed etc.
{
rfloat vGround,vFreeRolling;
//velWheelTC->DbgPrint("velWheelTC in CalcSR");
if(!IsOnSurface())
{
//qdbg("CalcSR; not on surface\n");
// Not touching the surface, no slip ratio
slipRatio=0;
// Tire vibrations stop
differentialSlipRatio=0;
return;
}
// SAE950311 algorithm
rfloat u,delta,B;
// Calculate new u (actual velocity of wheel)
u=velWheelTC->z;
B=relaxationLengthLong;
if((lastU<0&&u>=0)||(lastU>=0&&u<0))
{
// 'u' changed sign, reverse slip
differentialSlipRatio=-differentialSlipRatio;
}
lastU=u;
// Detect sign of 'u' (real velocity of wheel)
if(u<0)signU=-1.0f; else signU=1.0f;
// Eq. 26
//delta=(fabs(u)-rotationV.x*radius*signU)/B-(fabs(u)/B)*differentialSlipRatio;
if(u<0)
{
// Eq. 25
delta=(-u+rotationV.x*radius)/B+(u/B)*differentialSlipRatio;
} else
{
// Eq. 20
delta=(u-rotationV.x*radius)/B-(u/B)*differentialSlipRatio;
}
// Integrate
differentialSlipRatio+=delta*RMGR->time->span;
if(differentialSlipRatio>2)differentialSlipRatio=2;
else if(differentialSlipRatio<-100)differentialSlipRatio=-100;
// Set slip ratio for the rest of the sim
slipRatio=differentialSlipRatio;
qdbg("CSR; u=%f, R=%.2f, w=%f, B=%f, delta=%f, DSR=%f, SR=%f\n",
u,radius,rotationV.x,B,delta,differentialSlipRatio,slipRatio);
}
Ruud van Gaal, GPL Rank +53.25
Pencil art : http://www.marketgraph.nl/gallery/
Free car sim : http://www.marketgraph.nl/gallery/racer/
Oh, boy, where has this group come to! Posting source code... it is
actually starting to live up to its name! ;)
-Gregor
Hi Ruud,
I know we discussed this before, but anyway. Does the slip ratio not
relax soon after you release the brakes? I believe that in that case the
force on the tires should rotate them and return the slip ratios to
normal values very rapidly.
Also, does this happen only when the car ends up sliding sideways, or
also when braking in a straight line?
-Gregor
Ruud van Gaal wrote:
Quoted text (25 lines)
> > On 24 Apr 2001 04:58:36 GMT, [email hidden] (J. Todd Wasson) wrote: > > > AAAAAAAAAAAAAAAAAAAAAARRRRRRRRRRRRRRRGGGGGHHHHHHHHH!!!!!! !@#%!! %@ > >%**@!!!! > > > > WHY CAN'T IT JUST WORK??!!!!! > > Hehe, yes, tirerelax.c. It sometimes seems faster to just generate a > bunch of random letters which will work faster than if you try to > derive your own work. > > How are you implementing them? I use SAE950311 but have been a lot of > problems as well, to the point where I'm now doing collision detection > and AI to get my mind on 'simpler' things. ;-) > > Strange to see how a slipratio can stay beyond 20 for some time after > some firm braking. And that with a relaxation length of 0.7m. :( > > If only Genta had given me the units of the Pacejka longitudinal tire > stiffness, than I could do some searching... > > Ruud van Gaal, GPL Rank +53.25 > Pencil art : http://www.marketgraph.nl/gallery/ > Free car sim : http://www.marketgraph.nl/gallery/racer/
Certainly the Abstract makes the paper seem like "the right stuff".
Because it's from Iowa State, there is a good chance that the work
was connected with the National Advanced Driver Simulator (NADS),
which is located nearby...a www search should turn up info on this
huge government funded project (last I heard it was over US$40M).
<political comment>
Personally, I think that fraction of my taxes (maybe $0.50??) could
have been spent on something better than the NADS...
</political comment>
-- Doug
On 25 Apr 2001, J. Todd Wasson wrote:
Quoted text (15 lines)
> >What paper is this - # and title? > > SAE 950311 > "Tire modeling for low-speed and high-speed calculations" > > > > Todd Wasson > --- > Performance Simulations > Drag Racing and Top Speed Prediction > Software > http://PerformanceSimulations.Com > >
Afaik, whenever the tire operating condition (slip angle, slip ratio, etc)
is changed, it takes some distance (the relaxation length) for the
resulting forces to transition from one condition to the next. The
distance is usually assumed to be constant, regardless of speed...so the
response time is very short at high speeds. If you think of the tire as a
stretchy thing, this makes more sense physically -- a change at the hub
will first change the shape of the tire before the forces get through to
the ground.
The relaxation length for slip angle (steer angle) is some fraction (could
be 1/2, more or less) of the tire circumference, depending on the tire
construction. For slip ratio changes, the tire is a lot stiffer and I
noticed that in SAE 950311 they are using 1/10 of the distance that they
use for slip angle...but they admit that they have no data.
-- Doug
Douglas Milliken <[email hidden]>
Milliken Research Associates Inc.
On Wed, 25 Apr 2001, Gregor Veble wrote:
Quoted text (40 lines)
> Hi Ruud, > > I know we discussed this before, but anyway. Does the slip ratio not > relax soon after you release the brakes? I believe that in that case the > force on the tires should rotate them and return the slip ratios to > normal values very rapidly. > > Also, does this happen only when the car ends up sliding sideways, or > also when braking in a straight line? > > -Gregor > > Ruud van Gaal wrote: > > > > On 24 Apr 2001 04:58:36 GMT, [email hidden] (J. Todd Wasson) wrote: > > > > > AAAAAAAAAAAAAAAAAAAAAARRRRRRRRRRRRRRRGGGGGHHHHHHHHH!!!!!! !@#%!! %@ > > >%**@!!!! > > > > > > WHY CAN'T IT JUST WORK??!!!!! > > > > Hehe, yes, tirerelax.c. It sometimes seems faster to just generate a > > bunch of random letters which will work faster than if you try to > > derive your own work. > > > > How are you implementing them? I use SAE950311 but have been a lot of > > problems as well, to the point where I'm now doing collision detection > > and AI to get my mind on 'simpler' things. ;-) > > > > Strange to see how a slipratio can stay beyond 20 for some time after > > some firm braking. And that with a relaxation length of 0.7m. :( > > > > If only Genta had given me the units of the Pacejka longitudinal tire > > stiffness, than I could do some searching... > > > > Ruud van Gaal, GPL Rank +53.25 > > Pencil art : http://www.marketgraph.nl/gallery/ > > Free car sim : http://www.marketgraph.nl/gallery/racer/ > >Quoted text (12 lines)
> // Derive change in tan(slipAngle) using SAE950311 > // u=longitudinal velocity, v=lateral velocity > rfloat u,b,v,delta; > u=velWheelTC.z; > v=velWheelTC.x; > b=relaxationLengthLat; > delta=(v/b)-(fabs(u)/b)*tanSlipAngle; > > // Integrate > tanSlipAngle+=delta*RMGR->time->span; > // Derive new slip angle from state variable 'tanSlipAngle' > slipAngle=atanf(tanSlipAngle); My uncle is a professor at Iowa State, if I'm not mistaken. There's tons of
good reading on NADS online. First found out about it probably a year or two
ago. $40M?? Wow... I wonder if it's as realistic as GPL ;-)
Quoted text (33 lines)
>Certainly the Abstract makes the paper seem like "the right stuff". > >Because it's from Iowa State, there is a good chance that the work >was connected with the National Advanced Driver Simulator (NADS), >which is located nearby...a www search should turn up info on this >huge government funded project (last I heard it was over US$40M). > ><political comment> >Personally, I think that fraction of my taxes (maybe $0.50??) could >have been spent on something better than the NADS... ></political comment> > >-- Doug > > >On 25 Apr 2001, J. Todd Wasson wrote: > >> >What paper is this - # and title? >> >> SAE 950311 >> "Tire modeling for low-speed and high-speed calculations" >> >> >> >> Todd Wasson >> --- >> Performance Simulations >> Drag Racing and Top Speed Prediction >> Software >> http://PerformanceSimulations.Com >> >> >Quoted text (7 lines)
> For slip ratio changes, the tire is a lot stiffer and I >noticed that in SAE 950311 they are using 1/10 of the distance that they >use for slip angle...but they admit that they have no data. > >-- Doug > Douglas Milliken <[email hidden]> > Milliken Research Associates Inc.
"J. Todd Wasson" <[email hidden]> wrote in message
news:[email hidden]...
the
> tangent of the slip angle the paper referred to, rather than the slipangle
> itself. I'll play with the slip ratio part and try it in my modelshortly.
The power of the open source development model aptly demonstrated.
KFG
Quoted text (14 lines)
> > // Derive change in tan(slipAngle) using SAE950311 > > // u=longitudinal velocity, v=lateral velocity > > rfloat u,b,v,delta; > > u=velWheelTC.z; > > v=velWheelTC.x; > > b=relaxationLengthLat; > > delta=(v/b)-(fabs(u)/b)*tanSlipAngle; > > > > // Integrate > > tanSlipAngle+=delta*RMGR->time->span; > > // Derive new slip angle from state variable 'tanSlipAngle' > > slipAngle=atanf(tanSlipAngle); > > I'll be darned, it works. Thanks, Ruud. I didn't realize that it wasQuoted text (9 lines)
> > Thanks again, > > Todd Wasson > --- > Performance Simulations > Drag Racing and Top Speed Prediction > Software > http://PerformanceSimulations.ComHi Doug,
(phew, great fun discussing stuff with your idols ;) !)
That part about lengths is certainly true and should happen in a very
accurate model, but the close to 0 speed behaviour, according to the
very specific model Ruud and I are using, should cause oscillations in
the rotations of the wheels (when the dampening is close to zero), and
not really freeze the slip ratios when brakes are released. The model is
(pseudoequation):
d Slip/ dt = 1/L_relax (|u| Slip - V_slip) (1)
where |u| is the longitudinal component of velocity, V_slip is the
corresponding component ofslipping velocity and Slip the slip ratio or
Tan(slip angle).
However, I am using a slightly different model myself,
d Slip/ dt = 1/L_relax (|V| Slip - V_slip) (2),
where |V| is now the absolute value of the total velocity, and for the
lateral direction I do not deal with Tan(slip angle) but Sin(slip
angle). The difference between the two models is, that if the car is
sliding fully sideways (|u|=0), there is no relaxation going on in the
longitudinal direction in the case (1), and the slip ratios can increase
indefinitely, while in the other model it is, I believe, slightly better
behaved.
That's why I asked if the slip ratio 'freezing' is only present in the
sideways sliding case.
Just a comment; the above model is also good for stopping on a banked
surface, as the 'slip' variables will settle automatically and give
nonzero forces which will balance the car. The only 'problem' is, the
car will shift for about the order of magnitde of L_relax, which is a
bit more than what the tire flexibility should allow for. Nevertheless,
it's great fun to see your car jitter in yaw when stopping after a
sideways slide!
Thanks for the input on the lateral vs. longitudinal relaxation lengths,
it will sure come in handy!
-Gregor
Doug Milliken wrote:
Quoted text (20 lines)
> > Afaik, whenever the tire operating condition (slip angle, slip ratio, etc) > is changed, it takes some distance (the relaxation length) for the > resulting forces to transition from one condition to the next. The > distance is usually assumed to be constant, regardless of speed...so the > response time is very short at high speeds. If you think of the tire as a > stretchy thing, this makes more sense physically -- a change at the hub > will first change the shape of the tire before the forces get through to > the ground. > > The relaxation length for slip angle (steer angle) is some fraction (could > be 1/2, more or less) of the tire circumference, depending on the tire > construction. For slip ratio changes, the tire is a lot stiffer and I > noticed that in SAE 950311 they are using 1/10 of the distance that they > use for slip angle...but they admit that they have no data. > > -- Doug > Douglas Milliken <[email hidden]> > Milliken Research Associates Inc. >On Wed, 25 Apr 2001 13:50:35 +0200, Gregor Veble
<[email hidden]> wrote:
>Hi Ruud,
>
>I know we discussed this before, but anyway. Does the slip ratio not
>relax soon after you release the brakes? I believe that in that case the
>force on the tires should rotate them and return the slip ratios to
>normal values very rapidly.
Well, the problem is perhaps somewhere in the damping. I have bad
values for cornering stiffness (I think) which need to be corrected
before I can get the damping correct. So this bad damping can keep
things going astray (making the slipratio behave a bit obscure). No
real need to look into that now.
As for Todd, and myself (and other interested people), yesterday I did
a test run on Monza, and I noticed something about the SAE950311
method. When driving >60km/h, the slipratio got unstable (@100Hz
frequency).
I noticed that since eq. 20 is like:
deltaSR=(u-Rw)/B-(u/B)*SR
Where 'u' is positive and is the velocity of the wheel vs. track. Now
when 'u' gets big, the term (u/B)*SR will become larger and larger, no
matter how fast or slow the wheel itself is spinning.
So the system becomes unstable at large 'u'. I upped the frequency to
250Hz and things got better again. However, estimating I want to go as
far as 400km/h, this might be a deciding factor that I don't want in.
Check out SAE980243 as well, which uses a 3D spring tire method. It's
not pretty since it doesn't deal with aligning moment (force feedback)
and camber (Nascar anyone?), but it doesn't seem to have an unstable
factor like the 'u' from SAE950311, *at first glance*. Haven't
actually implemented the model.
It seems like for low speed, a slipvelocity model will do nicely. That
was the first attempt in Racer0.1, remember? ;-)
Problem is that you don't get slipAngle lags; that may be used from
SAE950311 still. As tan(SA) goes to infinity, unstable delta's are
less of a problem there (since the atan() catches up on that).
I never had low-speed problems in Racer0.1, which used a RARS method,
which is:
F=-slipVel*friction
Add in here an added spring model on top to get the 'my car drives
back when I stop and then lift the brakes quickly' and it might do
nicely (note I did an extra: if(slipVelocity<1)F*=slipVelocity for the
road reaction force, something like that). I think I'll have a good
think about my own tire model (mixing lots of those out there)
somewhere soon. For now, I'm giving my brain some relaxation length,
eh, time, ;-) and am working on a first no-brainer AI car (grandpa
driving around the track, should be fun as target practice).
In conclusion, I think for SAE950311 you're better off not using the
slipRatio equations, because of the large 'u' problems (and damping).
For slip angle it shouldn't be that bad.
Ruud van Gaal, GPL Rank +53.25
Pencil art : http://www.marketgraph.nl/gallery/
Free car sim : http://www.marketgraph.nl/gallery/racer/
On Wed, 25 Apr 2001 13:46:54 +0200, Gregor Veble
<[email hidden]> wrote:
>Oh, boy, where has this group come to! Posting source code... it is
>actually starting to live up to its name! ;)
Most all of it is even at my homepage, including all underlying
platform code (which works for Linux/Win32/SGI IRIX). It's all a hobby
for me (well, QLib and D3 aren't really), so that's all possible
fortunately. :)
Ruud van Gaal, GPL Rank +53.25
Pencil art : http://www.marketgraph.nl/gallery/
Free car sim : http://www.marketgraph.nl/gallery/racer/
On 25 Apr 2001 23:11:36 GMT, [email hidden] (J. Todd Wasson) wrote:
Ouch, make sure you read my other post about the SAE950311 slip ratio
model. I'm not too fond of it anymore (drives frequencies higher).
Ruud van Gaal, GPL Rank +53.25
Pencil art : http://www.marketgraph.nl/gallery/
Free car sim : http://www.marketgraph.nl/gallery/racer/
Quoted text (16 lines)
>> // Derive change in tan(slipAngle) using SAE950311 >> // u=longitudinal velocity, v=lateral velocity >> rfloat u,b,v,delta; >> u=velWheelTC.z; >> v=velWheelTC.x; >> b=relaxationLengthLat; >> delta=(v/b)-(fabs(u)/b)*tanSlipAngle; >> >> // Integrate >> tanSlipAngle+=delta*RMGR->time->span; >> // Derive new slip angle from state variable 'tanSlipAngle' >> slipAngle=atanf(tanSlipAngle); > > I'll be darned, it works. Thanks, Ruud. I didn't realize that it was the >tangent of the slip angle the paper referred to, rather than the slip angle >itself. I'll play with the slip ratio part and try it in my model shortly.Ruud van Gaal wrote:
Hi Ruud,
I noticed exactly the same 'problem' as well, but it's not really an
issue. What it means is that the relaxation time, which is relaxation
length divided by velocity, becomes comparable or smaller than your
timestep. This means that on the scale you are looking at, the
relaxation length effects can in fact be neglected.
In fact, I do the following; if
Velocity*timestep/Relax_length < 0.5
I use the relaxation length model, and if not so, I revert to the usual
slip angle/ratio definitions, which are exactly the solutuions of the
rel. length diff. equations in the quazistationary case. There is
absolutely no perceived switch between the two models.
-Gregor
Quoted text (16 lines)
> > As for Todd, and myself (and other interested people), yesterday I did > a test run on Monza, and I noticed something about the SAE950311 > method. When driving >60km/h, the slipratio got unstable (@100Hz > frequency). > I noticed that since eq. 20 is like: > > deltaSR=(u-Rw)/B-(u/B)*SR > > Where 'u' is positive and is the velocity of the wheel vs. track. Now > when 'u' gets big, the term (u/B)*SR will become larger and larger, no > matter how fast or slow the wheel itself is spinning. > So the system becomes unstable at large 'u'. I upped the frequency to > 250Hz and things got better again. However, estimating I want to go as > far as 400km/h, this might be a deciding factor that I don't want in. >On 25 Apr 2001 23:24:56 GMT, [email hidden] (J. Todd Wasson) wrote:
It did in fact roll down a slope nicely, and rolled back on the
following up-slope again. Very nice. It's just that for high-speed, I
still think switching to a regular kinematic slipRatio calculation (
something like (V-Rw)/V ) will be better since the (u/B)*SR term in
the SAE950311 differential equations (for SR) makes it unstable at
high speed (and relatively low frequencies; I try to keep close to
100, which seems ok for a lot of things).
(esp. at B=0.091, a large forward speed, u, makes for large d/dt(SR)
values, because of (u/B)*SR, so if your dt is too large, you get the
same problems as with braking tire forces etc etc).
Ruud van Gaal, GPL Rank +53.25
Pencil art : http://www.marketgraph.nl/gallery/
Free car sim : http://www.marketgraph.nl/gallery/racer/
Quoted text (13 lines)
>> For slip ratio changes, the tire is a lot stiffer and I >>noticed that in SAE 950311 they are using 1/10 of the distance that they >>use for slip angle...but they admit that they have no data. >> >>-- Doug >> Douglas Milliken <[email hidden]> >> Milliken Research Associates Inc. > > I noticed that too. Still, as long as the car will stop and do mild >accelerations on an embankment properly, I'd be happy. This would let me get >rid of my low speed (low tech) rigid ring type model, although I do like the >way it lets the car "wind up" on the tire during sudden acceleration or during >a quick stop, springing the car back just a touch.On Thu, 26 Apr 2001 14:42:42 +0200, Gregor Veble
<[email hidden]> wrote:
>Ruud van Gaal wrote:
>> ...
>> Where 'u' is positive and is the velocity of the wheel vs. track. Now
>> when 'u' gets big, the term (u/B)*SR will become larger and larger, no
>> matter how fast or slow the wheel itself is spinning.
>> So the system becomes unstable at large 'u'. I upped the frequency to
>> 250Hz and things got better again....
Aha, interesting. Nice to hear the switch will be painless. I will
print this and implement it soon then. Might be a good incentive to go
and hunt good cornering-stiffness numbers again, to see if that
damping model works correctly after all! (it probably does, but I must
say the idea of having an AI car driving around is quite fun as well).
Thanks Gregor,
Ruud van Gaal, GPL Rank +53.25
Pencil art : http://www.marketgraph.nl/gallery/
Free car sim : http://www.marketgraph.nl/gallery/racer/
Quoted text (14 lines)
>I noticed exactly the same 'problem' as well, but it's not really an >issue. What it means is that the relaxation time, which is relaxation >length divided by velocity, becomes comparable or smaller than your >timestep. This means that on the scale you are looking at, the >relaxation length effects can in fact be neglected. > >In fact, I do the following; if > >Velocity*timestep/Relax_length < 0.5 > >I use the relaxation length model, and if not so, I revert to the usual >slip angle/ratio definitions, which are exactly the solutuions of the >rel. length diff. equations in the quazistationary case. There is >absolutely no perceived switch between the two models.Quoted text (19 lines)
>It did in fact roll down a slope nicely, and rolled back on the >following up-slope again. Very nice. It's just that for high-speed, I >still think switching to a regular kinematic slipRatio calculation ( >something like (V-Rw)/V ) will be better since the (u/B)*SR term in >the SAE950311 differential equations (for SR) makes it unstable at >high speed (and relatively low frequencies; I try to keep close to >100, which seems ok for a lot of things). > >(esp. at B=0.091, a large forward speed, u, makes for large d/dt(SR) >values, because of (u/B)*SR, so if your dt is too large, you get the >same problems as with braking tire forces etc etc). > > >Ruud van Gaal, GPL Rank +53.25 >Pencil art : http://www.marketgraph.nl/gallery/ >Free car sim : http://www.marketgraph.nl/gallery/racer/ > > >Quoted text (8 lines)
>Velocity*timestep/Relax_length < 0.5 > >I use the relaxation length model, and if not so, I revert to the usual >slip angle/ratio definitions, which are exactly the solutuions of the >rel. length diff. equations in the quazistationary case. There is >absolutely no perceived switch between the two models. > >-GregorQuoted text (15 lines)
>As for Todd, and myself (and other interested people), yesterday I did >a test run on Monza, and I noticed something about the SAE950311 >method. When driving >60km/h, the slipratio got unstable (@100Hz >frequency). >I noticed that since eq. 20 is like: > >deltaSR=(u-Rw)/B-(u/B)*SR > >Where 'u' is positive and is the velocity of the wheel vs. track. Now >when 'u' gets big, the term (u/B)*SR will become larger and larger, no >matter how fast or slow the wheel itself is spinning. >So the system becomes unstable at large 'u'. I upped the frequency to >250Hz and things got better again. However, estimating I want to go as >far as 400km/h, this might be a deciding factor that I don't want in. >On 26 Apr 2001 22:39:04 GMT, [email hidden] (J. Todd Wasson) wrote:
...
>>(esp. at B=0.091, a large forward speed, u, makes for large d/dt(SR)
>>values, because of (u/B)*SR, so if your dt is too large, you get the
>>same problems as with braking tire forces etc etc)....
> Yeah, I figured that might happen. I'm checking all this in a seperate,
>small program to make sure it works BEFORE putting it in this time :-)
Ouch, I never do that. :) Too much work if it interferes with other
parts of the program. But then again, my rwheel.cpp file is quite a
mess. :)
> I just checked now, and it sure will become unstable at high speed. Probably
>the best thing to do would be to calculate a relaxation length "on-the-fly"
>once you're at a high enough speed that lets the slip angle/ratio hit the right
>number and stay put in a couple cycles.
As Gregor stated in another post, forget about relaxation length
altogether at high speed. His turning point is:
velocity*timeStep/relaxationLen < 0.5
Now if I go for F=-slipvelocity*frictionCoeff at lowspeed, that leaves
almost nothing for SAE950311! ;-) No, I'd better test it with this
enhancement again, with a fresh burst of programming desire to tweak
the tire model once more.
Ruud van Gaal, GPL Rank +53.25
Pencil art : http://www.marketgraph.nl/gallery/
Free car sim : http://www.marketgraph.nl/gallery/racer/
On 26 Apr 2001 23:00:30 GMT, [email hidden] (J. Todd Wasson) wrote:
...
Holy crap! I run these at 100Hz and it's not that bad. Just the
braking forces which must be controlled, I guess, but it doesn't
really change either when I move to 250Hz...
I think you should be able to do a little less for them, but I may not
be intimate enough with your way of rotating the tire.
It may solve the 'u' problem, but really, 10-60kHz?
Ruud van Gaal, GPL Rank +53.25
Pencil art : http://www.marketgraph.nl/gallery/
Free car sim : http://www.marketgraph.nl/gallery/racer/
Quoted text (7 lines)
>>250Hz and things got better again. However, estimating I want to go as >>far as 400km/h, this might be a deciding factor that I don't want in. >> > > I split the frequencies so shouldn't have much of a problem with this. The >main physics run at 200-300Hz, while the tire rotation runs upwards of >10,000-60,000Hz.Quoted text (26 lines)
>>>250Hz and things got better again. However, estimating I want to go as >>>far as 400km/h, this might be a deciding factor that I don't want in. >>> >> >> I split the frequencies so shouldn't have much of a problem with this. >The >>main physics run at 200-300Hz, while the tire rotation runs upwards of >>10,000-60,000Hz. > >Holy crap! I run these at 100Hz and it's not that bad. Just the >braking forces which must be controlled, I guess, but it doesn't >really change either when I move to 250Hz... > >I think you should be able to do a little less for them, but I may not >be intimate enough with your way of rotating the tire. > >It may solve the 'u' problem, but really, 10-60kHz? > > >Ruud van Gaal, GPL Rank +53.25 >Pencil art : http://www.marketgraph.nl/gallery/ >Free car sim : http://www.marketgraph.nl/gallery/racer/ > > > >On 27 Apr 2001 03:38:24 GMT, [email hidden] (J. Todd Wasson) wrote:
...
> You read that right. This is going into an RC Car racing sim. You think YOU
>have stability problems?? lol Try a car that weighs 5 lbs and has a 1-2hp
>motor, does 0-100 km in 1.6 seconds, and corners at 6.4g at 70km/hr with wheels
>that weigh essentially nothing. Yikes!
Cool, RC cars, hadn't thought of that. You might want to scale things
up somehow and pretend that the car weight 5*100 = 500lbs and see how
that influences the rest. You speed up time so that it still looks as
a tiny fast-rotating (little inertia) car. Like an old movie. I don't
know, just a far-fetched hunch.
> I do most testing with a full size car though, and for that, yes, I can
>reduce the rate substantially. However, it still seems twitchy at only 300-600
>Hz. 3000Hz does very nicely and lets me drive really slow with the slip ratio
>model (not the SAE relaxation model yet.) Either way, if there are stability
>problems, I can just crank up that part of the model.
Then do try the relaxation model; it does keep SR's quite stable at
low speed. You just need to tweak braking torque and such a bit
(friction reversal stopping mainly).
Ruud van Gaal, GPL Rank +53.25
Pencil art : http://www.marketgraph.nl/gallery/
Free car sim : http://www.marketgraph.nl/gallery/racer/
On Fri, 27 Apr 2001 10:11:31 GMT, [email hidden] (Ruud van Gaal)
wrote:
This weekend, I did 0-160km/h in 1.0 second btw. ;-)
It was in a reversed bungee jump thingy on a fancy fair (I believe
that's the word(s)). You sit in a small ball, tightly wrapped, get
shot with 4.6G into the air where you again assume a free fall of
about 20 to 30 meters. Really blew my socks off (fortunately not
literally, although it was close, lol).
Perhaps I should go drag racing after all. ;-)
Ruud van Gaal, GPL Rank +53.25
Pencil art : http://www.marketgraph.nl/gallery/
Free car sim : http://www.marketgraph.nl/gallery/racer/
Quoted text (7 lines)
>On 27 Apr 2001 03:38:24 GMT, [email hidden] (J. Todd Wasson) wrote: > >... >> You read that right. This is going into an RC Car racing sim. You think YOU >>have stability problems?? lol Try a car that weighs 5 lbs and has a 1-2hp >>motor, does 0-100 km in 1.6 seconds, and corners at 6.4g at 70km/hr with wheels >>that weigh essentially nothing. Yikes!>Cool, RC cars, hadn't thought of that. You might want to scale things
>up somehow and pretend that the car weight 5*100 = 500lbs and see how
>that influences the rest. You speed up time so that it still looks as
>a tiny fast-rotating (little inertia) car. Like an old movie. I don't
>know, just a far-fetched hunch.
>
Actually, I do most of the testing with full size car specs. The physics
work fine, no matter how big or small the car is as long as I change the
frequencies to match. I couldn't keep little foam wheels stable any other way,
and even a little RC car doesn't need more than 300Hz or so of main frequency,
but the tires, man! They become unstable quickly. And no, the time scale
isn't sped up at all for the RC cars. Everything's real time.
If I remember right, I got friction reversal licked awhile ago, even in the
clutch. I'll try the relaxation model one of these days. Thanks for your help
on that BTW.
Todd Wasson
---
Performance Simulations
Drag Racing and Top Speed Prediction
Software
http://PerformanceSimulations.Com
Quoted text (13 lines)
>> I do most testing with a full size car though, and for that, yes, I can >>reduce the rate substantially. However, it still seems twitchy at only >300-600 >>Hz. 3000Hz does very nicely and lets me drive really slow with the slip >ratio >>model (not the SAE relaxation model yet.) Either way, if there are >stability >>problems, I can just crank up that part of the model. > >Then do try the relaxation model; it does keep SR's quite stable at >low speed. You just need to tweak braking torque and such a bit >(friction reversal stopping mainly). >Quoted text (7 lines)
>This weekend, I did 0-160km/h in 1.0 second btw. ;-) >It was in a reversed bungee jump thingy on a fancy fair (I believe >that's the word(s)). You sit in a small ball, tightly wrapped, get >shot with 4.6G into the air where you again assume a free fall of >about 20 to 30 meters. Really blew my socks off (fortunately not >literally, although it was close, lol). >Perhaps I should go drag racing after all. ;-)On 27 Apr 2001 22:02:33 GMT, [email hidden] (J. Todd Wasson) wrote:
Perhaps some damping could help, but that's hard to get right and not
undermine the accuracy of the sim. But what I meant was something like
the effect of the whales in a Star Trek movie, IIRC. They were shot
with a highspeed camera in a pool, then played back at normal speed,
and this way you get the sense of really big whales, while they're in
fact tiny ones. A movie trick often used; slomo's add drama, but can
also add an effect of greatness, or in Mickey Mouse's case, of
littleness.
Likewise, one wonders if you could perform such tricks in simulation
land, where you just stick to 'large' models and modify the speed of
time itself to get an RC feel.
It's funny, I always worked from a PAL/NTSC point of view; a
fullscreen polygon was always about 720x576 'units'. Then I got my
first SCGT car, and it was in meters, so only 4 pixels large. It was
strange, since it sometimes gives me the feeling that I'm racing tiny
little Matchbox cars on a tiny track in my youth. But when you place
the camera's right, and get the timing right, it looks as though
everything's big, even though the whole track will fit onto my window.
Gosh, I should go for the weekend now... ;-)
And no, I didn't even drink. :)
You're welcome. I must say it keeps the SR/SA from going haywire,
making an overall much more stable system.
Ruud van Gaal, GPL Rank +53.25
Pencil art : http://www.marketgraph.nl/gallery/
Free car sim : http://www.marketgraph.nl/gallery/racer/
Quoted text (12 lines)
>>Cool, RC cars, hadn't thought of that. You might want to scale things >>up somehow and pretend that the car weight 5*100 = 500lbs and see how >>that influences the rest. You speed up time so that it still looks as >>a tiny fast-rotating (little inertia) car. Like an old movie. I don't >>know, just a far-fetched hunch. > > Actually, I do most of the testing with full size car specs. The physics >work fine, no matter how big or small the car is as long as I change the >frequencies to match. I couldn't keep little foam wheels stable any other way, >and even a little RC car doesn't need more than 300Hz or so of main frequency, >but the tires, man! They become unstable quickly. And no, the time scale >isn't sped up at all for the RC cars. Everything's real time.Quoted text (7 lines)
>>Then do try the relaxation model; it does keep SR's quite stable at >>low speed. You just need to tweak braking torque and such a bit >>(friction reversal stopping mainly). > > If I remember right, I got friction reversal licked awhile ago, even in the >clutch. I'll try the relaxation model one of these days. Thanks for your help >on that BTW.On 27 Apr 2001 22:03:26 GMT, [email hidden] (J. Todd Wasson) wrote:
...
>>Perhaps I should go drag racing after all. ;-)
>
> Wow! I saw that at the state fair here in MN last year. Looked really fun,
>but no one wanted to go with me. Chickens!
Yes, Weenies they all are. ;-) Well, there was 1 girl that wanted to
go, but the price was about $15 for a 1 minute ride, so she decided
not to. But I couldn't turn it down, and will happily pay for it again
next time. :)
Ruud van Gaal, GPL Rank +53.25
Pencil art : http://www.marketgraph.nl/gallery/
Free car sim : http://www.marketgraph.nl/gallery/racer/
J. Todd Wasson <[email hidden]> wrote in message
news:[email hidden]...
physics
> work fine, no matter how big or small the car is as long as I change the
> frequencies to match. I couldn't keep little foam wheels stable any otherway,
> and even a little RC car doesn't need more than 300Hz or so of mainfrequency,
> but the tires, man! They become unstable quickly. And no, the time scale
> isn't sped up at all for the RC cars. Everything's real time.
Jumping in here as a long-time R/Cer (and a final year auto eng student),
I'll just add my pet theory that if you're scaling values between model and
1:1 scale then I agree, time needs to be scaled by the square root of the
scale IMHO. (This is based on keeping acceleration equal, since gravity
doesn't scale which is why these cars look 'wrong' pulling 1g in corners.)
IOW, my 1/10th scale car running five minute races at an average of, say,
20mph is equivalent to a 'real' car running ~15 minute races at an average
of ~65 mph (not five minutes at 200!) I'm not quite sure what you do
with mass and power, but with an estimated (real) 170 hp/tonne my
electric off-roader seems to run much like a Group A rally car.
This reckoning for typical speeds, at least, seems to link the various
classes
of R/C racing quite well with their full-size equivalents.
Jonny


































