I have a plane running ArduPlane 4.1.0beta3 without an airspeed sensor. During the first takeoff after startup, I routinely observe a sudden spike in the synthetic airspeed estimate. As the groundspeed passes through 2-3 m/s, the wind estimate suddenly jumps from zero to between 9-12 m/s. This happens seemingly instantaneously, between two log points. This causes auto takeoffs to rotate too early, often resulting in a stall. Once the aircraft is flying, the wind estimate slowly decays back down to a reasonable value, but after I land, the wind estimate starts to climb back up to around 12 m/s.
I don’t understand why the wind estimate is changing on the ground or during takeoff, as it seems like there is no valid information available about the wind at these times.
I suspect this is a bug in EKF3. I looked back at an older log from when I was running 4.0.9 and the airspeed looks much better. I’ll try switching back to EKF2 on my next flight to confirm this.
Sorry, I may have used the wrong terminology here. I don’t really understand the difference between CTUN.As and CTUN.SAs, but, yes, the core problem is the wind estimate jumps, which in turn affects CTUN.As and the auto-takeoff code.
I saw that issue, although I’m not sure it affects me since I have a compass. I’m going to update to the 4.1.0 release anyway and check that first before trying EKF2.
this was a bug that we fixed in the final release of 4.1.0. We were incorrectly initialising the wind states in EKF3. It primarily impacted uses without a compass, but could impact users with a compass too.
If you get the issue with 4.1.0 final then we will need a replay log to diagnose it properly. That means setting:
LOG_REPLAY=1
LOG_DISARMED=1
and also raising LOG_FILE_BUFSIZE as much as you can based on the amount of free memory in the PM.Mem message.