I’ve been so focussed on sensor calibration and specifically accelerometer calibration, that I may be missing the blindingly obvious. As I’ve said many times, I simply cannot believe that any of the off-the-shelf quads out there bother with sensor calibration to anything like the extent I am, and yet there are commercial UAV’s out there which can hover at a fixed height without lateral drift.
It’s the fact these exist that’s stopping me from accepting that HoG is as good as she can be.
So what if I abandon calibration, and instead just rely on the Butterworth filters to track drifting offsets in the accelerometers? That code is there currently, working in parallel with the calibration code, and seemingly working well to manage vertical drift despite this being the axis with the least reliable calibration of the sensors. So what would happen if I throw away all my calibration code and just use the Butterworth filters to extract the accelerometer offsets? The answer is this:
Not perfect, but at the same time, not much different from the calibrated flights, and possibly actually slightly better. The wind was picking up at this point making life hard. I also think there are some extensions I can add since the angle calculations still are using the raw values in this flight, and that’s almost certainly the reason for the drift to the right. If I can use the Butterworth gravity offset readings to correct the angles also, I think I can get even better performance against drift.