I suspect the low temperature increasingly unstable GPS tracking flights are partly due to the LiPo power (fixed with the hand / pocket digital warmers), and partly the accelerometer drift over time / temperature. The problem with the latter is that gravity is recorded at the start of the flight and hence is fixed, meaning that accelerometer drift during the flight results in velocity and distance drift as the integration of (accelerometer – gravity) grows . This is currently overcome by having second sources of velocity and distance (down-facing LiDAR + video) fused with the drifting IMU integrated (accelerometer – gravity) values. The instability sets in over time as the IMU velocity and distance values drift increasingly over time but the LiDAR and video values don’t. Ultimately these sources increasingly diverge and the instability ensues.
I remembered using a Butterworth IIR filter to extract gravity from the accelerometer dynamically 3 years ago to account for the accelerometer drift in cold temperatures, but it either failed or I got distracted by a better solution.
Yesterday, I tried again, but this time with a little better understanding: I now have a way to prime the filter without taking many seconds to do so.
Here’s the result: a stable hover without drift despite the LiDAR / video disabled – only the IMU status is in use:
Once the windy weather’s gone next week, I’ll be heading out into the next-door field again to fly with more GPS-waypoint intermediate targets, and this time, hopefully I’ll be able to complete the flight without the increasingly instability seen so far.