[AR] Re: Flight Controller Features

  • From: Henry Spencer <hspencer@xxxxxxxxxxxxx>
  • To: "arocket@xxxxxxxxxxxxx" <arocket@xxxxxxxxxxxxx>
  • Date: Tue, 12 Jan 2016 17:35:59 -0500 (EST)

On Tue, 12 Jan 2016, Ben Brockert wrote:

Back in the day, attitude was a physical state of an actual mechanical
gyroscope that could be measured at any point.

Or not, as the case might be. In the Apollo LM, for example, the abort guidance system used strap-down gyros whose output had to be integrated in software. Moreover, the critical information was not just attitude, but also velocity and position, and both primary and abort systems had to integrate *those* mostly in software. Plus little sidelines like correcting for gyro drift, which was an issue even for stabilized-platform attitude sensors.

The idea that those computers could be rebooted easily because, well, after all, they didn't have to remember anything or maintain continuity for anything important, is sheer ignorance. No, things were not that easy for software in the old days.

In a modern MEMS/FOG/RLG strapdown system, attitude is just a filtered integration of data against a starting state. If something goes wrong that corrupts that attitude information, or a reboot wipes that data, it's not possible to continue.

True, which means the software must do its best to ensure that such information does *not* get corrupted or wiped, not permanently. You can always imagine disastrously bad cases where loss is inevitable, but far more often, clean recovery is possible, given careful design. Oddly enough, the techniques that were used back in the old days -- to meet exactly such requirements -- are still relevant today, with adjustments.

When it's important enough to pay the price, that is, which is a non-trivial decision.

You could add a bunch of new and mostly useless sensors that can derive attitude from scratch, or you can proceed with the reasonable plan that the flight computer can run for a few minutes without rebooting, like every modern computer in the world.

Or you could write the software so that crucial information in memory survives a reboot, in case one should happen by surprise -- say, because you goofed.

Apollo computers could and normally did run for whole missions -- many days -- without rebooting. The reboots during the Apollo 11 landing were not due to the computer being unreliable; they were due to a human oversight that resulted in the computer becoming overloaded, as tasks stacked up during a complex phase of flight. Are such things really unthinkable for rocket flights today?

Henry

Other related posts: