Time for an update on my Android-powered fixed-wing drone project, which I’ve just picked up again after 1.5 years of neglect. After trying a few different approaches, I’ve come up with a fairly simple auto-thermaling algorithm which works very well. The glider flies itself up to 200 meters AGL, then cuts power and drifts around within a 200 m geofence until it finds lift (or gets too low). On finding lift it calculates the approximate core of the thermal and attempts to follow it as it drifts with the wind. Provided the thermal is strong enough to keep my heavy junk afloat, it generally succeeds and keeps going up until the thermal drifts away and it hits the edge of its geofence.
I fine-tuned it on virtual x-plane thermals before testing it on real ones. Some real-world results are shown above.
If I let it keep going, it would probably continue climbing until the thermal topped out. Maybe one day, in the middle of no-where, with telemetry and a camera or two.
While the android setup does work well and has novelty value, it is heavy, clunky, not a real-time OS, and involves a potentially flakey Bluetooth link. So I’m looking at moving to either an Ardupilot or the Matrixpilot/UDB, and porting my thermaling code over. If anyone else out there is working on similar systems on either of these platforms, I’d like to bounce some ideas around.