Air speed error then crash

Every single one of my crashes had this symptom. Airspeed goes crazy and control lost.
I’m either doing something fundamentally wrong with my builds/configs or there is a serious issue with Ardu. I’ve contemplated flying with an airspeed sensor because of this but I don’t even think this will fix the issue. 15-32-31.tlog (854.6 KB)

hi Gus, do you have the onboard log too? (the one from the microSD).
As the F405-wing has a single IMU we can’t do as detailed analysis of IMU performance as we could on a board with two or more IMUs, but we can still do some analysis. The key graph is this:

That is showing the two estimates of roll and pitch. The one coming from ATTITUDE message is the EKF, the other is from the old DCM algorithm.
The two agree for the first two thirds of the flight, then the pitch diverges. DCM says the nose goes down (the yellow line) whereas the EKF thinks the nose is coming up.
There are likely two causes:

  • You have something causing vibration at over 990Hz and that causes a DC bias in the accelerometers due to aliasing. It is probably a harmonic of your motor RPM.
  • you have the compass disabled (with COMPASS_USE=0) and are not being careful to only carry the aircraft nose forward when moving on the ground

The 2nd point is one that really should be made clearer in the documentation. If you don’t have a compass then the initial yaw alignment of the EKF comes from the GPS ground course when the aircraft first gains a significant speed. In this log it locked in the yaw alignment when the speed got to 7 m/s before you armed. I suspect that yaw alignment was bad.

For the vibration testing I suggest you do the following test:

  • setup the plane outdoors (with good sky view for GPS) on a bench so you can hold it down
  • wait for the EKF to fully initialise
  • arm, and while holding the plane steady slowly raise throttle through the full range
  • watch the HUD in MissionPlanner and see if the attitude changes. If it does then you have vibration induced attitude error

To fix it you need to use isolation that prevents high frequencies getting through to the IMU. Note that as the 405-Wing uses a MPU6000 it can’t sample the accels at over 1kHz, so it is more vulnerable to high frequencies than a newer IMU which can sample at 4kHz.
For the yaw please make sure you don’t move the aircraft significantly backwards before takeoff if you have no compass.

an airspeed sensor won’t help with this issue

1 Like

How do I actually realize that the EKF is fully initialised , except that I realize that arming does not work - provided ARMING_CHECK is enabled.

@tridge thanks. This is actually my log/flight that Gus uploaded. I believe that I may have carried the plane sideways from the back of my vehicle to the field where I threw it. I didn’t arm the plane until it was on the ground and facing the direction I threw it during launch. However, 7 m/s is way faster than my walking pace. Here is a link to the BIN from the micro SD:
I will try the vibration test this weekend.
Onboard was a raspberry pi b3+ with a Huawei E3372-510 modem. I do not think the modem would cause interference. Here are the operating frequencies for the modem:

  • LTE FDD: Band1(2100MHz)/Band2(1900MHz)/Band4(AWS)/Band5(850MHz)/ Band7(2600MHz)/Band28(700MHz)
  • DC-HSPA+/HSPA+/HSPA/UMTS: Band1(2100MHz)/Band2(1900MHz)/Band4(AWS)/Band5(850MHz)
  • EDGE/GPRS/GSM: 850MHz/900MHz/1800MHz/1900MHz

The vibration will be coming from the motors/props, not the radio.

the EKF initialises yaw when it sees a ground speed of greater than 5m/s. In your case it peaked briefly at 7m/s well before you armed. It was probably a false peak as the GPS was reporting poor accuracy at the time.
Also, even if you don’t want to use the compass, please leave MAG_ENABLE=1 so that we see the compass logs for comparison with the GPS yaw.

When I set MAG_ENABLE=1 I see “Bad Compass Health” in the HUD, and compass is enabled under Mandatory Hardware - Compass -General Compass Settings. Is this OK?

@tridge . I did the vibration test and went through the full throttle range several times. The most change I saw in altitude was +/- 2ft. This is with 12 sats locked. I don’t think there is a vibration issue. What do you think?

it isn’t altitude change you’re looking for, it is attitude (roll and pitch). If that doesn’t change then most likely the primary problem was the yaw alignment. I am considering a change to re-do the yaw alignment if the ground speed drops below a threshold while disarmed.


Oops, sorry misread that in your original response. I replayed the log file and took a look. No movement in roll/pitch.

@tridge I’m in the field now and not confident to launch. EKF status is red and I can see velocity_horiz OFF and pos_horiz_abs OFF with a red status. I left the plane sitting for about 10mins. 12 sats locked. I then walked around the field holding the plane from the tail to try and get the orientation squared away but EKF status does not change. In the past, I would launch despite this EKF warning and it would sort itself out. But maybe that wasn’t such a good thing considering I’ve had 3 crashes due to something with EKF I suspect? Here is the log and a screenshot. Winds are pretty gusty so think I’m not going to risk it with this current state.

Still nothing on this. I have searched and found tons of threads about people mentioning velocity_horiz OFF and pos_horiz_abs OFF. None of them have a solution. Is this a major flaw in ardu? I’m really losing confidence in this.

Ed, Did you get any type of reply on this ?

I have the same thing, ready for a maiden transition from VTOL and this concerns me.

Thanks Steve

Never got an answer and have not had the issue after nearly a year. Go figure :slight_smile:

I hit same issue and crashed my flight during taking off. Which version of arduplane you use?