Autonomous Gliding


I am a university student working on a mission where I’m planning to release a completely underpowered glider from a carrier airplane at around 50-100 ft. The glider is to autonomously land at a landing site immediately after release. I was hoping to use ArduPlane to land the glider but I was very confused if or how I can configure it for this type of aircraft and mission. Most of the glider related application I’ve seen involve soaring which I definitely do not want to do. I’m also not sure how to configure everything without a motor of any kind as it seems like many of configuration guides assume there is motor(even for gliders). I was wondering how this can be done or if it is even possible. Can anyone help?


Hi Safa,

Sounds like a cool project.

You’re right, most of the gliding is geared to soaring applications. However, you can certainly use ArduPlane for your mission. The key things to do are:

  • set TECS_SPDWEIGHT to 2.0. This causes ArduPlane to control airspeed using pitch, rather than using pitch to control height, which will not work for a glider.
  • ArduPlane will detect that it is losing height and will trigger a special routine that sets target airspeed to ARSPD_FBW_MIN. So make sure ARSPD_FBW_MIN is set to the airspeed you want to fly at.
  • make sure that 0 degrees pitch gives a glide speed close to what you are looking for, with sufficient stall margin. You can do this by setting the plane at a few degrees nose-down when you calibrate level in Mission Planner, or by using the TRIM_PITCH_CD parameter.

Any questions let me know.


Hi Sam

Thanks for your help. I wanted make sure I got your last point. So we are basically telling ArduPlane that 0 degrees pitch is actually a few degrees lower than true 0 degrees? Are we doing this so that when ArduPlane pitches up to maintain glide speed it doesn’t the stall the glider?

Also. I had a question on how ArduPlane follows the glide slope for landing. From my research on glide polars the glide airspeed speed depends on the glide ratio or L/D. So where we release the glider from can change the necessary glide ratio needed to make the landing site. My question is will ArduPlane adjust the glide speed in order to meet the proper glide ratio to land or will it always try to maintain ARSPD_FBW_MIN?

This will impact how we plan our mission since we must drop from at least 200ft away and between 50-100 ft in altitude and we need to know what kind a “window” we have to release the glider. This is an original design built from scratch so we don’t a have a glide polar to work with yet. We also need to land at a sink rate of less than -16 ft/ s which further complicates things.

Thanks for help

Hi Safa,

Yes that’s exactly right.

ArduPlane will not control approach angle in this case, as this is generally done with throttle. So the release window may be rather small depending on the landing precision needed.

Actually a lower L/D helps a lot in this regard - high performance gliders are very difficult to land accurately unless fitted with airbrakes or spoilers to reduce L/D on landing. Usually these devices, rather than airspeed changes, are used to control approach angle. This is not currently implemented in ArduPlane.

If you would like to add this to the code let me know. It is something I am interested in and I could help out quite a bit.


Hey Sam, I’m having trouble setting up the exact scenario. By any chance, did you ever figure out how to do the autonomous glide and land?

@Samuel_Tabor I know it’s an old thread, but I’m curious where this stands now. I’m very curious about using aerodynamic drag (flaps, spoilers, side slips) to control glide slope in unpowered applications.

If the topic is still relevant (but hasn’t been addressed yet) I am happy to work on the code as well as IRL testing. I imagine that existing reverse thrust code already handles much of this use case; it may be a question of redirecting this output to spoilers or flaps. Side slips would require a little extra work.