Sensor redundancy behaviour in 3.5

Hi I’m trying to understand how the multiple sensors in the PH2 are handled in 3.5

I can see GPS blending is now sorted but I’m trying to figure out the below and am struggling to find any info on it.

Duel Baro on The Cube, I believe the carrier Baro is default and it’s been mentioned the cubes internal one may be removed but I assume here and now it’s still there so how is this used, are both inputs taken into account or can it switch between them ?

The multiple compasses, for this I’m assuming the 2 internal ones are not getting motor or frame interfearance and there is one external, or perhaps 2 external duel ones, really it’s how is the redundency handled.

Finally the multiple IMU’s , how does redundancy work with these.

Sorry if this is a little long winded and I have tried searching but am struggling to get to the bottom of this info, my 2.1 is here tomorrow and I’m just trying to understand how all the multiple sensors come into play on the latest release.

Thank in advance.

Thanks for using ardupilot.

I can’t answer all your questions but I can answer some:

  • regarding compasses, the external one will be used by default, if that completely fails it will fall back to the internal compasses. If there’s more than one internal compass (and I think there is on the PH2) I’m slightly unsure which of the two will be used next. The EKF is quite good at rejecting bad compasses or flying with no compass if they fail in flight. I’ve experienced this once with a development board (that was not a PH2) and the vehicle flew absolutely fine as if nothing had happened.
  • regarding IMUs, we run a separate EKF instance for each IMU and switch between the EKFs if an IMU goes bad.

I don’t know how the dual baro is being used (or even if it’s used) but I’ve ping’d Philip Rowse so perhaps he can answer that one. If we are not using it at the moment, I’m sure we will in a future release.

Will step through it…

Assuming 3.5 code… (3.6 should be able to use all hardware…)

Starting with IMU’s
EKF3 runs a seperate EKF per IMU used.

The EKF switching is done based on the consistency of the data.

Compass, checks at preflight, so just pick your best… I always use an external. The EKF will reject bad data, so multiple are useful here…

The Baro reports both, but uses the heated #1 as primary.

The cube has two internal barometers. Pull requests welcome to make better use of this.

Though the Baro does not do switching in flight, the data is very useful in the logs if you are having issues, as you can compare the two sources, and eliminate hardware as a cause of issues (or verify that the issue was hardware)

Ardupilot is open, so anyone wishing to join in on the conversation, and help drive code to be more robust, is welcome


I’ll just add that although we don’t switch to the second baro if the first is giving bad data, we do switch if the first dies and stops sending any data - so there is still some usefulness in having the second.

1 Like

Superb info thank you all, thats exactly what I was looking to find out.

My understanding of how the redundancy works was the issue for me.

Now to start building.