"Cruise control" for an e-glider.
I am building an e-glider that is controlled normally until you release the sticks. Then the autopilot kicks in and keeps the model around and starts looking for thermals or starts the motor when the glider is too low. No waypoints, its all about finding thermals.
Here is a video of my first long autonomous flight.
Finally, an update about my project:
I have converted the telemetry log into subtitles, so You can see what's going on. This video explains a "Thermalling method for Model Glider Autopilots" in more detail.
I am gradually replacing my autopilot code with MatrixPilot. Please have a look and feel free to comment.
Local Endurance Thermalling mission in MP
Currently I fly with a Topmodel CZ Linea with an Auav3 autopilot and a Topmodel CZ Fantasy with a UDB5 autopilot board.
Recently I removed my "ATV autopilot pic-chip", so that I now have a 'MatrixPilot only' solution.
I wrote a LOGO script and some extra commands.
!!!!! The code is public and free to use !!!!!
I posted al the needed code and mods here: (May 24 '14)
"Support for (E-)Glider local endurance thermalling mission in MP"
Special thanks to the MatrixPilot development team.
Why an ATV?
- Wider search area
- More control (confidence) when further out
- Longer flight times, more searching
- Less effort / concentration
- More time to look around to find thermals (e.g. birds)
- Safety (failure transmitter / receiver)
- More efficient turning
- More efficient use of motor
- More options for trimming, mixing, speed, engine power
- Documenting flights, instructive
The unit can navigate in an circular area of 400 m in diameter. The model remains between 100 and 300 m altitude, using the engine if needed. The pilot can fly model until one releases the controls. In case of problems, including failure of the transmitter, the unit automatically land in the middle of the area.
An on-board camera allows video from the cockpit to be viewed after the flight. On the ground, I have a receiver that displays information about altitude, climb rate, airspeed etc. The data is also stored for later processing.
My goal is to develop techniques to have an e-glider autonomous fly as long and efficiently as possible. It is a challenge to make the electronics as small and simple as possible. My first goal was to have 100 m gain in a single autonomous flight using thermals, and I did.
I named my project ATV, which stands for Autonomous Thermalling Vehicle (and because I think the ESA variant is a wonderful piece of technology).
The unit starts with the electric motor. It then climbs to 200m, then the engine is switched off while full throttle is still given on the transmitter. When the unit has dropped to 100m, this suppression of the engine will be lifted, and the engine will start again.
Through four parameters, a semi circular area is defined within which the unit should remain. Once the aircraft is outside this area turns will be used to automatically bring it back in the area. It will only be flown within visual range.
When the unit reaches 200 m, the motor will turn off and it will search for thermals. Only if there is good reception of the RC controller and GPS receiver is good and the height is between 100 and 300, there a right turn will be started as soon as rising air is detected.
Currently I fly with a Reichard Champion and a Topmodel CZ Fantasy . These models are just big enough for all the electronics to fit, and have decent performance. The heart of the autopilot is a micro-controller of Microchip, the PIC18F2550.
For the GPS receiver I have a GPS SkyTraq with updates every 1 second.
To measure the altitude and airspeed I use the VAT / VAM 300 with VAT GS by ELV.
I use an FMA CoPilot for stabilization.
I have two XBEEPRO modules for telemetry, which also supports a beep vario on the ground.
I don't have a website but I added some more information. Just let me know if you want more.
Kudos for ATV, You nailed it!
What type of cover material is used on piggy back pod? Is it IR clear? Do you have holes for CP thermopile sensors? Very tight install looks great, Will you post auto pilot and vario code ? I would like to add a thermal seeker mode to ArduPilotMega.
Glad you like it.
The covermaterial is transparant shrink wrap for DIY battery packs. And you're right, i had to make holes in it, but i coverthose with magnetron foil, which is thin enough.
I haven't posted my code yet, but i might. It's in Jal v2,0 so its won't be very portable.
This is the method I currently use. It is known in the Netherlands glider-community as the "270 degrees method":
-- devide the circle in eight sectors
-- start thermal turn if not started and climbrate is above threshold but decreasing
-- measure and store climbrate per sector passed (270 degrees)
-- determine the best climb sector
-- exit thermal 2 sectors before best climb sector
-- fly straight on for 3 sec.
-- this causes leveling off and flying to the better part of the thermal
-- there a new cycle will start if rising air is found again
-- all actions are monitored with a timer, so they cannot run for too long
-- when only 1 sector has positive climbrate, the plane will head there
-- when all sectors are below ThermalThreshold10 climbrate, turning stops
Good luck with your Megaproject, it would be great to have APM with thermalling.
Thanks for your 270° method algorithm, This may be a bit more than I can handle but, time will tell.
What is magnetron foil?
I watched that too.
Here is my list of favorites;
- Nasa Autonomous Soaring Project UAV Cloud Swift (http://www.technovelgy.com/ct/Science-Fiction-News.asp?NewsNum=471)
- Dan Edwards - Aloft (http://soaring.goosetechnologies.com/)
- Staffan Kjerrström (http://hem.passagen.se/skj/engelska/NEWS2005.HTM)
- Andrea Salvatore http://diydrones.com/profiles/blogs/705844:BlogPost:31255
Great stuff. Thanks for inspiring me.
Very interesting project!
Estaré pendiente de tus futuras publicaciones.