Monthly Questions and Discussion Thread

Did we read the same articles? I've been following SpaceX for a while and I found a bunch of new things.

-- Software just runs in a big I/O loop, much like programming a robot. Main loop runs at a surprisingly sluggish 10 Hz, with systems needing more "fast twitch" response running on separate computers running a 50 Hz loop.

-- They have more bandwidth when the rocket is on the pad because it has a hard-wired connection. Rather than limiting the number of telemetry channels to the speed of the radio link, they send more telemetry on the pad, then after it lifts off the computer switches to only sending a sub-set of vehicle telemetry.

-- They've been given the explicit goal of making Dragon fully autonomous for the entire mission, not just the critical docking phase. Personally I was expected this, but it's nice to get some actual confirmation from the horse's mouth.

-- It's not just manual vs. automatic, crew can override individual "aspects" of the control algorithms themselves. So if only one part of the code is misbehaving they can tweak or ignore just that part, leaving everything else controlled by the normal automated systems. This is an extremely powerful and general tool for combining the best of both autonomous and manual operation.

-- There can be a learning curve for some developers because they're at the complete opposite end of the spectrum from traditional datacenter philosophy on achieving reliability. In a datacenter individual processes or even computers / racks are isolated and treated as expendable (massive redundancy = high reliability), whereas here everything needs to 'fail gracefully,' and having redundant computers is an additional reliability measure on top of that (limited redundancy plus high reliability). This distinction has a huge effect on your implementation and testing strategy.

... and that's just the first article!

I found it interesting at least. Naturally much of this is old hat to people who write spacecraft software for a living (except to reassure them "yes Virginia SpaceX does it right"), but then again most folks don't write code that runs on a spacecraft! :)

/r/SpaceXLounge Thread Parent