Dual Flight Controllers

I am conducting some trials regarding dual flight controllers. I know there are pros and cons and various pitfalls about this and that is the purpose of the trials so if we can keep away from those discussions in this thread it would be hugely appreciated. The question for this thread is: can a 2nd flight controller (Cube) be set in such a state that it can be on a copter in a ‘standby mode’ of such so that it is not building up errors and that on activation it is able to take over flight control. How the controllers outputs are then managed is not part of the question as I already have a solution for this it is purely about how the flight controller manages itself and the transition from ‘standby’ into ‘control’. Thank you.

1 Like

A standby mode was introduced in Copter 4.0.0-rc1 25-Oct-2019. I can’t find any instructions about how it works and how to set it up.

merge to master:

Ah ha, that’s great. Thank you. That looks just the ticket so will go out and test this and see how it goes.

1 Like

Anyone has any update now how to set up a standby flight controller?

@Josephjj,

We don’t have instructions on how to setup dual autopilots yet. In fact, I think only one developer has gotten it working and while the ArduPilot part of it is open source, I think they haven’t open sourced the external hardware and software they developed. That doesn’t stop others from coming up with a good open source solution for this part as well though.

As it is in 4.1 (and higher) I think on both autopilots an auxiliary switch must be setup to be “Standby Mode” by setting RCx_OPTION = 76. Then this RC switch should be pulled high for the autopilot that is inactive and low for the autopilot that is active.

I can imagine that if you wanted to do it all manually you could setup a receiver connected to both autopilots and then setup the transmitter so that when the pilot moves a single switch it pulls one RC channel low and the other high. Then the RCx_OPTION parameters on the two autopilots could be setup so one autopilot looks at one channel and the other autopilot looks at the other channel.

Ideally there should also be some external hardware to ensure that only the PWM outputs from the active autopilot is sent to the ESCs because I think that for now at least, even when the autopilot is in “Standby Mode” it will still output PWM values. It might also be important for that external hardware to handle the change in the active autopilot to ensure no PWM messages are chopped in half during the transition because this could result in a very short pulse being sent to the ESCs which could cause a twitch in flight or maybe even cause the ESCs to shutdown (maybe… maybe not).

For automatic switching that external hardware should also be programmed with logic to decide which autopilot should be active. Maybe it could monitor the mavlink telemetry stream from each autopilot and check the EKF’s health…

1 Like

Thanks for the information. Maybe will need to do alittle testing myself and see how it works.

I personally would prefer not to create a hardware with logic to switch the signal between sensors and ESC. it be complicating the entire system especially if there are many onboard sensors. Maybe need to create a special made PCB board for it.

I prefer if we could solder wires and split to 2 flight controller where both controller could read the same signal and send through the same wire. Of course if one is on standby it should remain silent.
Anyway having a standby flight controller is the step forward to realizing flying over people.

Hi, sorry for replying to a topic of over 10 months, but it seemed better to continue here than create a new thread with the same subject.

Since the time of your reply, were there any developments regarding the use of dual autopilots with ardupilot?

Actually Rmackay answer makes alot of sense. I might try this sometime in the future.

My rough idea is splitting all the sensor wires to 2 FC. Both FC are receiving identical signal from sensors.
Both FC is running at the same time.
Program a script and use a microprocessor to switch the ESC ground wires to the second FC when first FC fails.

Now question is what kind of conditions reliably dictates a FC fails.

And how about some sensors like GNSS tend to have an RX TX.
So there still need some testing to make it work. Maybe in the near future I will try it out.

Hi, I’m doing research on how to manage controller outputs. How did you go about it?

Servo multiplexers- pololu

Can you explain in a little more detail how you did it? This will be quite an amazing configuration for me :slight_smile: I would be very grateful if you could help.