Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Suspension subclassing; CARSUSPENSIONINFO struct.
11-21-2010, 07:36 AM,
I think the correct name would be trailing-arm?

chassis = -0.35, 1.27, -0.07
hub = -0.64, 1.27, -0.12
11-21-2010, 11:30 AM,
I'd prefer to avoid referring to the current single-hinge system as trailing arm. Well, it's very similar to trailing arm suspension, provided it's in the right direction to be trailing arm. The model itself could be better described as "swing axle with physically improbable perfect camber retention."
Ideally I'm treating it as a last resort for where the desired system isn't in place yet, and the one thing I can think of that it accurately simulates is those 100% parallel guide arms you find on some beach buggies (I have no idea what that's called). It's pretty close to the results of some multi-link systems, also – how it arrives at those results, of course, is completely different by about six thousand degrees of complexity.

My next trick, when I have time for it, was going to be putting together the generic structure for codependent suspension, for which the basic linkage is, of course, a trailing arm and coil on either side. This would involve a "slight" refactoring of the order in which the suspension simulation does things (Break interface to a stricter set/get model, update all suspension positions before retrieving them, and then of course fixing everything the change breaks, which is the time consuming part).

I'm not sure how to avoid referring to sections by name in the config without making great assumptions about which wheels are liable to be linked together (I mean, such assumptions should be safe, but what if someone wants to try drifting a prototype mars rover with vertically paired isolateral suspension? Those need directly corresponding camber dynamics to even function). So I'd end up with something like:

hinge = x, y, z
hub = x, y, z
link = live-axle.rear

lateral-center = x, y, z
lateral-stiffness = k
#et cetera
11-21-2010, 02:20 PM,
The joeserialize stuff is used to write out the state of the car for replay and multiplayer (although multiplayer has been broken/disabled for at least a couple years). The idea is that any variables which change state during execution should be seriailzed. The replay system works by playing back all inputs and then also snapping to output state every second or so.
11-21-2010, 09:02 PM,
Guess I better make it play nice, then....
11-22-2010, 07:51 PM,
One more for Serializer:

I'm not sure how well this actually works because replays seem to be broken at the moment (can't load parts from referenced files), but it should record the data just fine.
11-26-2010, 01:24 AM,
Re: Basic/Trailing Arm — SEMIARMSUSPENSION?
11-26-2010, 07:53 PM,
The class name doesn't matter that much. I'd like to get the hinge parameter out of the wheel specs, to have wheel.fl.double-wishbone, wheel.fl.macpherson-strut or wheel.fl.hinge to choose from.
12-01-2010, 06:08 AM,
More stuff
Couple of fixes for wishbone suspension (actually fairly important because I missed something that would cause a whole bunch of magnitude 0 quaternions)

Load basic suspension from wheel.blah.arm subsection
This will alternately spout an error and then try to load the hinge directly from wheel.blah for backwards compat.

I think this should more or less cover code changes for this round. I would like to add more suspension types, but I think adapting the data to work with these is probably higher priority, so I'll concentrate on that next.
12-01-2010, 12:59 PM,
Will apply asap, thanks.

Forum Jump:

Users browsing this thread: 2 Guest(s)