Well, it's been a while since a new physics thread has appeared so
how's about this :-
I've been thinking about suspension geometry lately and the path that
it prescribes on the hub centre. Assuming that we don't want any
forward / backward motion of the hub centre with up and down
movements, the path of the hub centre with relation to the body is a
2d path. Assuming that this is correct, rather than waste all of that
CPU power on constraining the links of the suspension in order to
remove the 5 DOFs necessary, why not just move the wheel / hub through
this path?
Just food for thought, I know that Gregor is calculating all of the
links realtime, and from the research that I have done into rigid body
dynamics, closed-loop constraint systems are quite expensive CPU wise.
Is there something that I am blatantely missing?
Colin
Modelling suspension geometry and roll centres
Colin Reed proposed modelling the wheel hub path from suspension geometry as a precomputed 2D curve. Todd Wasson and Gregor Veble agreed it is adequate for games, while others planned full constraint systems. The discussion covered simulation frequency, unsprung mass, roll centre heights and real F1 roll centre data shared by Todd Wasson.
physics/realism debateRacer
Automated summary.
Quoted text (18 lines)
>Well, it's been a while since a new physics thread has appeared so >how's about this :- > >I've been thinking about suspension geometry lately and the path that >it prescribes on the hub centre. Assuming that we don't want any >forward / backward motion of the hub centre with up and down >movements, the path of the hub centre with relation to the body is a >2d path. Assuming that this is correct, rather than waste all of that >CPU power on constraining the links of the suspension in order to >remove the 5 DOFs necessary, why not just move the wheel / hub through >this path? > >Just food for thought, I know that Gregor is calculating all of the >links realtime, and from the research that I have done into rigid body >dynamics, closed-loop constraint systems are quite expensive CPU wise. > >Is there something that I am blatantely missing? >I think that for most all intents and purposes, this is the way to go,
esp. if the forces in the links aren't directly relevant to you (and
these can be tacked on independently afterwards). I did my system the
way it is just to see if it works, but nothing special comes out of it
(esp. as I currently waste in on a suspension as stiff as a Champ Car ;)
).
-Gregor
Colin Reed wrote:
Quoted text (20 lines)
> > Well, it's been a while since a new physics thread has appeared so > how's about this :- > > I've been thinking about suspension geometry lately and the path that > it prescribes on the hub centre. Assuming that we don't want any > forward / backward motion of the hub centre with up and down > movements, the path of the hub centre with relation to the body is a > 2d path. Assuming that this is correct, rather than waste all of that > CPU power on constraining the links of the suspension in order to > remove the 5 DOFs necessary, why not just move the wheel / hub through > this path? > > Just food for thought, I know that Gregor is calculating all of the > links realtime, and from the research that I have done into rigid body > dynamics, closed-loop constraint systems are quite expensive CPU wise. > > Is there something that I am blatantely missing? > > ColinQuoted text (12 lines)
> Not missing anything at all as far as I can tell. I'm doing it just as > you've described. The only possible drawback that I can see is that > acceleration laterally of the wheel in relation to the body from lateral force > at the contact patch (it can arc towards/away from the body since it's a 2-D > path now) isn't accurately calculated as it would be with methods like Gregor > uses. My method isn't as perfectly correct as it could be, but since > compliance isn't modelled too often, even in really high end simulation, it's > negligable enough to forget about in comparison imo. The only time I can see > it making a difference is on suspension systems that are so wildly out of > typical design that the wheels can travel further along the track width axis > than they can vertically. Nobody does this in real cars anyway, so I plan to > follow my current course.
Colin Reed <[email hidden]> wrote in message
news:[email hidden]...
> Just food for thought, I know that Gregor is calculating all of the
> links realtime, and from the research that I have done into rigidbody
> dynamics, closed-loop constraint systems are quite expensive CPUwise.
>
> Is there something that I am blatantely missing?
Out of curiosity, since I'm not into coding stuff, how much are you
guys worrying about roll centre location and movement? Though that
too could be pre-mapped in 2D...
Jonny
Quoted text (7 lines)
>Well, seeing as I'm going for a 'game' simulation I don't think I >would really have to worry about the lateral forces mentioned above. >But if I do it right, I'll be able to have realtime editable >suspension geometry with camber / caster / WPI / toe etc all >calculated automatically :-) > >ColinI haven't got around to implementing suspension yet, but when I do I intend
to do a full constraint system. I don't expect to gain anything much over
the 2D system that you suggest, but the way I'm doing my modelling it should
just be something that drops out of my rigid body simulator.
My reason is that I don't only want to use it for suspension, but if I just
develop a method of generally linking and constraining rigid bodies together
(either with rigid links or springs) then it can also be used for other
things (eg towing a trailer, or towing another car using tow rope). It also
means it's not just limited to vehicle simulation, but any physics system
involving linked rigid bodies.
Just thought I'd add another perspective onto things.
Mike.
"Colin Reed" <[email hidden]> wrote in message
news:[email hidden]...
Quoted text (19 lines)
> Well, it's been a while since a new physics thread has appeared so > how's about this :- > > I've been thinking about suspension geometry lately and the path that > it prescribes on the hub centre. Assuming that we don't want any > forward / backward motion of the hub centre with up and down > movements, the path of the hub centre with relation to the body is a > 2d path. Assuming that this is correct, rather than waste all of that > CPU power on constraining the links of the suspension in order to > remove the 5 DOFs necessary, why not just move the wheel / hub through > this path? > > Just food for thought, I know that Gregor is calculating all of the > links realtime, and from the research that I have done into rigid body > dynamics, closed-loop constraint systems are quite expensive CPU wise. > > Is there something that I am blatantely missing? > > ColinOn 7 Aug 2001 21:53:39 -0700, [email hidden] (Colin Reed) wrote:
>I've been thinking about suspension geometry lately and the path that
>it prescribes on the hub centre. Assuming that we don't want any
>forward / backward motion of the hub centre with up and down
>movements, the path of the hub centre with relation to the body is a
>2d path.
You can still have fore/aft movement of the hub due to bushing compliance under
acceleration and deceleration. I wouldn't model it in a Formula Ford sim,
because of the low power and spherical bearings in the suspension, but a Gran
Turismoish game with hopped up street cars would be more realistic if it was
included.
Bushing compliance is why static toe-out is so great on the front end of FWD
street cars - they toe-in under power and toe-out under braking.
-Scott Johnson
"There is nothing, I think, more unfortunate than
to have soft, chubby, fat-looking children who go
to watch their school play basketball every Saturday
and regard that as their week's exercise."
- John F. Kennedy, 1962
> I think that for most all intents and purposes, this is the way to go,
> esp. if the forces in the links aren't directly relevant to you (and
> these can be tacked on independently afterwards). I did my system the
> way it is just to see if it works, but nothing special comes out of it
> (esp. as I currently waste in on a suspension as stiff as a Champ Car ;)
> ).
If you don't mind me asking Gregor, what method do you use for the
constraints, I've looked into generalized coords and constraint forces
but neither handle closed systems very well (plus I'm not very good
with large matrices :-(). I've read some stuff on Lagrangian
multipliers but that went straight over my head :-}
I think I'll stick with the 2d method for the while until I find a
system that satisfies my requirements.
The best 'feeling' suspension that I have done so far was a system of
two REALLY stiff springs for the two lower links with a macpherson
strut connecting the wheel and body. 'Twas absolutely lovely, until
you hit a wall or steep slope and the wheels exploded because the
springs became unstable. (:-( deep sigh)
I also had a system using the Dynamo dynamics package which looked
really realistic but for some reason when specifying the inertia
tensor using the correct method it would blow up and bodies of about
1000kg would make it totally upset :-(
Colin
P.s. Todd, when are we gonna be seeing some graphical shots of your
sim, I'm really interested :-)
Hush, I'll tell you a little secret, don't say this to anyone ;). As you
correctly said, Lagrangian mechanics would be the way to go. On the
other hand, as my sim currently specializes in hard suspensions, and I
cannot run it at much more than about 100Hz general frequency (due to
the complex part based approach that takes too many cycles), I must
neglect the mass properties of the wheel. Therefore, the suspension only
acts to directly absorb the road forces on the wheel, which are not
'buffered' by the mass properties of the wheel.
I therefore do as if I were calculating static loads on the suspension
(a matrix inversion), and after I get the load on each of the links, the
load on the spring-damper link gives the rate of change of the length of
that link. I also take into account the rate of change on the steering
link, and then I need to (iteratively, three iterations suffice) solve a
nonlinear set of equations to find the velocity and angular velocity of
the wheel mount. After that, I update the position and orientation of
the wheel mount based on these velocities, but again need to solve a
nonlinear system of equations to take into account any errors due to
initial linear movement of the wheel mount. I repeat the procedure then.
By not taking into account the mass of the wheel I'm not actually
loosing much, and certainly nothing about car response. The only thing I
am missing here is the high-frequency wheel hopping mode, as this
one is eliminated. I could introduce accelerations of the wheel along
the instantaneous travel axis, and as such take wheel hopping into
account, but that would be somewhat faking it as not all forces would be
properly taken into account should the link forces interest you (but
would be almost perfectly well for almost any other application). I'll
probably do a full Lagrangian picture in the future, it is definitely on
my to-do list, but not anytime soon. I need to learn how to program more
efficiently first :).
Cheers,
-Gregor
Colin Reed wrote:
Quoted text (7 lines)
> > If you don't mind me asking Gregor, what method do you use for the > constraints, I've looked into generalized coords and constraint forces > but neither handle closed systems very well (plus I'm not very good > with large matrices :-(). I've read some stuff on Lagrangian > multipliers but that went straight over my head :-} >>Colin
>
>P.s. Todd, when are we gonna be seeing some graphical shots of your
>sim, I'm really interested :-)
>
>
Funny you should ask. I just put this up in this thread. Don't get excited,
it's pretty ugly :-) I'll put up a couple more from outside one of the cars
sometime soon.
http://performancesimulations.com/scnshots.htm
Todd Wasson
---
Performance Simulations
Drag Racing and Top Speed Prediction
Software
http://PerformanceSimulations.Com
Quoted text (11 lines)
>> Just food for thought, I know that Gregor is calculating all of the >> links realtime, and from the research that I have done into rigid >body >> dynamics, closed-loop constraint systems are quite expensive CPU >wise. >> >> Is there something that I am blatantely missing? > >Out of curiosity, since I'm not into coding stuff, how much are you >guys worrying about roll centre location and movement? Though that >too could be pre-mapped in 2D...It is interesting that you are only running at 100hz, I have my
simulator cranked up to 240hz at the moment, I have the quaternions
for each of the bodies double buffered which I then interpolate for
the current frame, (makes for some really pretty replays :-))
The other thing that I was thinking about last night is that because 5
dofs are removed from a wheel that means I can effectively model the
wheels with weighted 'fat' particles taking into account only the
vertical velocity of the wheel, once the position has been decided,
calculate the orientation.
I really wish I had more time to work on this stuff, I am in crunch
mode right now to finish my 'other' game for the GameCube launch here
in Japan. Still I manage to get about an hour a day (whilst eating
lunch) so that's not so bad.
Colin
Hi Colin!
Colin Reed wrote:
>
> It is interesting that you are only running at 100hz, I have my
> simulator cranked up to 240hz at the moment, I have the quaternions
> for each of the bodies double buffered which I then interpolate for
> the current frame, (makes for some really pretty replays :-))
>
I'm running at whatever is stable :). Seriously, I can run at 200Hz
easily, but since I am optimizing stuff, sometimes it means that you are
'unoptimizing' it at times ;), it doesn't bring the game to a halt if
that happens (I have my timing routines set so that they catch up with
the system time, and if the calcs become too slow, this never happens
and the program exits when the preset difference between real and
simulation time is reached). Also, there is no diference in handling
between the two, so I guess there is no need to waste more cycles on
that.
> The other thing that I was thinking about last night is that because 5
> dofs are removed from a wheel that means I can effectively model the
> wheels with weighted 'fat' particles taking into account only the
> vertical velocity of the wheel, once the position has been decided,
> calculate the orientation.
>
Indeed. If you manage to find a path for the vehicle, and the
orientation on the path, you solved the problem completely. The
Lagrangian multilpliers are only used when you cannot solve for the
explicit path and orientation, but if you can do that, you are set to
rock :). It may be hard to do with the general suspensions, but with
some compromises I'm sure it's possible.
Be aware, though, that if you want to do things really properly, you
must also take the changes of orientation and subsequent changes of dhe
direction wheel angular momentum into account, and that is probably the
hardest part (I do handle that in my sim, but I neglect the actuall mass
of the wheels, which is indeed far less relevant). If you neglect this,
though, things are much easier.
>
> I really wish I had more time to work on this stuff, I am in crunch
> mode right now to finish my 'other' game for the GameCube launch here
> in Japan. Still I manage to get about an hour a day (whilst eating
> lunch) so that's not so bad.
>
Good luck with your game! Man, you've gone Japanese, haven't you,
cramming all free time activities (such as eating etc. :) ) into one
hour ;).
Cheers,
-Gregor
The roll centre description is a linear approximation to a full
suspension system. If you build the latter properly, the roll centers
etc. come automatically correct out of it.
-Gregor
Jonny Hodgson wrote:
>
> Out of curiosity, since I'm not into coding stuff, how much are you
> guys worrying about roll centre location and movement? Though that
> too could be pre-mapped in 2D...
>
> Jonny
On Fri, 10 Aug 2001 10:05:57 +0200, Gregor Veble
<[email hidden]> wrote:
>The roll centre description is a linear approximation to a full
>suspension system. If you build the latter properly, the roll centers
>etc. come automatically correct out of it.
Yes well, they're static here. :)
I was wondering, as a general rule, the front RC is lower than the
rear (in racing), right? But is the rear RC generally lower or higher
than the CG?
Or are there indications of how much a RC generally is below the CG at
the front or rear? This one is still an unknown one for me (as a lot
of other parameters ;-)), and it seems like I could abuse the RC's
height as a sort of anti-rollbar.
Thanks,
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, 10 Aug 2001 10:04:33 +0200, Gregor Veble
<[email hidden]> wrote:
Geez, the F1 cars and Kart cars people are making for Racer seem to
need at least 1000Hz. I should really do something about that and have
multiplying factors (or RK4 or midpoint things, see gdmag, april '99)
in to get separate frequencies. Probably even dynamic ones depending
on the spring constants (or when touching bumper stops).
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)
>Hi Colin! > >Colin Reed wrote: >> >> It is interesting that you are only running at 100hz, I have my >> simulator cranked up to 240hz at the moment, I have the quaternions >> for each of the bodies double buffered which I then interpolate for >> the current frame, (makes for some really pretty replays :-)) >> > >I'm running at whatever is stable :). Seriously, I can run at 200Hz >easily,Hi Ruud,
that's because I don't take into account the mass of the wheels in
suspension movement, that's all. Very stiff suspensions/tyres will move
the wheel hopping mode to high frequencies, and if you want that in
you'll need to run at approximately that frequency to keep it stable. No
such problem when you neglect the mass and with it (only) this high
frequency hopping mode. If you keep the wheels rigidly attached to the
suspension (as in a Kart), the required frequency will be much less, as
that eliminates the wheel hopping as well.
-Gregor
Ruud van Gaal wrote:
Quoted text (10 lines)
> > Geez, the F1 cars and Kart cars people are making for Racer seem to > need at least 1000Hz. I should really do something about that and have > multiplying factors (or RK4 or midpoint things, see gdmag, april '99) > in to get separate frequencies. Probably even dynamic ones depending > on the spring constants (or when touching bumper stops). > > Ruud van Gaal, GPL Rank +53.25 > Pencil art : http://www.marketgraph.nl/gallery/ > Free car sim : http://www.marketgraph.nl/gallery/racer/
Ruud van Gaal <[email hidden]> wrote in message
news:[email hidden]...
> On Fri, 10 Aug 2001 10:05:57 +0200, Gregor Veble
> <[email hidden]> wrote:
>
> >The roll centre description is a linear approximation to a full
> >suspension system. If you build the latter properly, the rollcenters
> >etc. come automatically correct out of it.
Yup, I know this; I was wondering how much processing power you were
throwing at doing this as opposed to hard-coding a suitable
approximation ;-)
> Yes well, they're static here. :)
> I was wondering, as a general rule, the front RC is lower than the
> rear (in racing), right? But is the rear RC generally lower orhigher
> than the CG?
Lower, I'm pretty sure. IIRC a modern slick-and-wings car tends to
run front RC at ground level, rear maybe 50mm up; my 1/10th scale
off-road buggy runs (very approximately) 3mm front, 7mm rear (this is
a carpet setup; off-road uses a slightly higher rear I /think/).
> Or are there indications of how much a RC generally is below the CGat
> the front or rear? This one is still an unknown one for me (as a lot
> of other parameters ;-)), and it seems like I could abuse the RC's
> height as a sort of anti-rollbar.
Yes you can, but this has at least two downsides. One, it can
eliminate body roll in transients to the point where the driver has
too little feedback; and two (which is more serious) it introduces
large jacking effects. I suspect that the camber curves would also
end up being far from optimal.
HTH,
Jonny
On Fri, 10 Aug 2001 21:50:42 +0100, "Jonny Hodgson"
<[email hidden]> wrote:
Thanks, I'll try that in some F1 car I have here.
>Yes you can, but this has at least two downsides. One, it can
>eliminate body roll in transients to the point where the driver has
>too little feedback;
Not that in simming this is too much of an issue. :)
> and two (which is more serious) it introduces
>large jacking effects. I suspect that the camber curves would also
>end up being far from optimal.
That may be more severe, although jacking effects are still a bit
implicit in my sim.
Thanks for the info,
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 (9 lines)
>> I was wondering, as a general rule, the front RC is lower than the >> rear (in racing), right? But is the rear RC generally lower or >higher >> than the CG? > >Lower, I'm pretty sure. IIRC a modern slick-and-wings car tends to >run front RC at ground level, rear maybe 50mm up; my 1/10th scale >off-road buggy runs (very approximately) 3mm front, 7mm rear (this is >a carpet setup; off-road uses a slightly higher rear I /think/). Here's a little RC info for F-1 cars:
"This information was provided by M. Mazumdar from the USA.
Regarding your discussion of roll centers and how much movement is permissible,
I can tell you that current F-1 ,Indy and IRL cars tend to limit the movement
of RC in the lateral & vert. directions to about 10 thousandths of an inch or
less. Of course, the roll center moves vertically with the chassis. For one F-1
car from last year, the front RC was 6mm BELOW ground level and the rear about
an inch ABOVE with a pitch sensitivity of 1:2 front to rear. Typical damper
movements are 7mm or less for a F-1 car. Generally speaking, in F-1 front susp.
rising rate is NOT used. Motion ratios tend to be 1 or greater. I can't recall
exactly what the wheelrates are as of now but I will find out but they are
pretty high. Indy cars tend to have different RC configurations as they run on
4 different courses. They generally run much stiffer at the front than at the
rear. Wheelrates vary widely according to the type of course being run."
Todd Wasson
---
Performance Simulations
Drag Racing and Top Speed Prediction
Software
http://PerformanceSimulations.Com
On 13 Aug 2001 22:18:56 GMT, [email hidden] (J. Todd Wasson) wrote:
>Regarding your discussion of roll centers and how much movement is permissible,
>I can tell you that current F-1 ,Indy and IRL cars tend to limit the movement
>of RC in the lateral & vert. directions to about 10 thousandths of an inch or
>less. Of course, the roll center moves vertically with the chassis. For one F-1
>car from last year, the front RC was 6mm BELOW ground level and the rear about
>an inch ABOVE with a pitch sensitivity of 1:2 front to rear.
Thanks for the info! :)
Seems dynamic rollcenters don't do too much here.
Ruud van Gaal, GPL Rank +53.25
Pencil art : http://www.marketgraph.nl/gallery/
Free car sim : http://www.marketgraph.nl/gallery/racer/
Hi Todd,
wow, good info, thanks for sharing it!
It appears that the reports of understeer of modern F1 cars from certain
F1 drivers are indeed true, considering how the roll centers need to pe
positioned to cure that.
Also, could you please explain the following statement, as I don't think
I get it:
"Generally speaking, in F-1 front susp. rising rate is NOT used."
Does that mean that dampers are extremely soft on bump?
-Gregor
"J. Todd Wasson" wrote:
Quoted text (25 lines)
> > Here's a little RC info for F-1 cars: > > "This information was provided by M. Mazumdar from the USA. > > Regarding your discussion of roll centers and how much movement is permissible, > I can tell you that current F-1 ,Indy and IRL cars tend to limit the movement > of RC in the lateral & vert. directions to about 10 thousandths of an inch or > less. Of course, the roll center moves vertically with the chassis. For one F-1 > car from last year, the front RC was 6mm BELOW ground level and the rear about > an inch ABOVE with a pitch sensitivity of 1:2 front to rear. Typical damper > movements are 7mm or less for a F-1 car. Generally speaking, in F-1 front susp. > rising rate is NOT used. Motion ratios tend to be 1 or greater. I can't recall > exactly what the wheelrates are as of now but I will find out but they are > pretty high. Indy cars tend to have different RC configurations as they run on > 4 different courses. They generally run much stiffer at the front than at the > rear. Wheelrates vary widely according to the type of course being run." > > > Todd Wasson > --- > Performance Simulations > Drag Racing and Top Speed Prediction > Software > http://PerformanceSimulations.ComOn Tue, 14 Aug 2001 09:41:23 GMT, [email hidden] (Ruud van Gaal)
wrote:
BTW More info on this at:
http://www.presspley.com/racecarresearc/roll.htm
Quite a coincidence, I just had some talks with Mark, who runs the
site, if I estimate correctly.
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 (11 lines)
>On 13 Aug 2001 22:18:56 GMT, [email hidden] (J. Todd Wasson) wrote: > >>Regarding your discussion of roll centers and how much movement is permissible, >>I can tell you that current F-1 ,Indy and IRL cars tend to limit the movement >>of RC in the lateral & vert. directions to about 10 thousandths of an inch or >>less. Of course, the roll center moves vertically with the chassis. For one F-1 >>car from last year, the front RC was 6mm BELOW ground level and the rear about >>an inch ABOVE with a pitch sensitivity of 1:2 front to rear. > >Thanks for the info! :) >Seems dynamic rollcenters don't do too much here.
Gregor Veble <[email hidden]> wrote in message
news:[email hidden]...
> Also, could you please explain the following statement, as I don'tthink
> I get it:
>
> "Generally speaking, in F-1 front susp. rising rate is NOT used."
>
> Does that mean that dampers are extremely soft on bump?
Rising rate: motion ratio (between wheel movement and shock movement)
varies with suspension travel, such that the effective spring rate at
the wheel increases as the suspension moves into bump.
Is that what you were unclear on?
HTH,
Jonny
Oh yes. :) Thanks!
-Gregor
Jonny Hodgson wrote:


































