[AR] Re: Flight Controller Features
- From: Henry Spencer <hspencer@xxxxxxxxxxxxx>
- To: Arocket List <arocket@xxxxxxxxxxxxx>
- Date: Tue, 12 Jan 2016 00:01:43 -0500 (EST)
On Mon, 11 Jan 2016, Robert Watzlavick wrote:
If the S/W architecture is sufficiently decoupled, then in theory it doesn't
matter where any routine executes... But a good state
machine will not take very many CPU cycles so if there's capacity on the
primary processor, it would be better to avoid another one. Distributed
processing can have its benefits but it also makes it potentially harder to
debug, especially if halting one of them causes side effects in the other.
One reason to split things up is if you've got critical functions (e.g.
landing control) and non-critical functions (e.g. data recording). You
really want the critical-function code to be on a computer by itself, and
all the non-critical code somewhere else, where misbehavior in it can't
crash or hang the computer that's running the critical stuff. See the
first Ariane 5 for an example of getting this wrong.
In theory, a well-designed operating system on a machine with memory
protection etc. can provide similar levels of isolation between processes.
In practice, closing off all the ways a berserk process can interfere with
another is really hard; running them in different boxes provides much
greater confidence at rather lower cost.
Henry
Other related posts: