Servers by jDrones

Soaring/Gliding for Planes

Today i’ve tuned “well” all the “Polar” parameters for this glider and now i think the SOAR mode is perfect.
I’ve found only one really good thermal condition n this flight and my Elipsoid try to follow it in Loiter, see the new logs on my Google Drive linked in the previous post.
See the tlog at 36%, the Loiter start at 220 meters, at 340 i engage RTL because the glider is out the VLOS… :joy:


1 Like

Hi Marco,

Glad you had some success! I had a look at your log and indeed that thermal was pretty well hooked. I can also see there were quite a few false positives. You can reduce these by improving your airspeed tracking, which in turn relies on the pitch controller. Although the variometer does correct for increases in height at the expense of airspeed it’s not perfect, so variations in airspeed can still cause false positives. This is a feature of the soaring code that could do with some improvement.


Hi @Samuel_Tabor,

I’m doing now some SOAR tests with X-Plane 10 to understand how the code works.
Behavior is completely different from reality, if you look at my Aileron (CH1 and CH5) when enter Loiter they move fast, up and down very quickly and repeatedly, on the SITL instead they act as they should, so there is something that doesn’t work.
Here a screenshot using SITL, there’s clearly a point where it has entered thermal…


In the first image the AIL channel in SITL during thermal, in the second the AIL channel of my Elipsoid during thermal.

Hi @Samuel_Tabor, no news = good news? :relaxed:

Hey Marco,

Sorry I haven’t managed to take a look at that issue yet, thanks for the reminder though!

As far as I’m aware there should be no difference between SITL and flight in how the soaring code works. I think the most likely cause is that the higher variance in the real-world measured vertical speed is causing more movement in the loiter waypoint, and the navigation controller is trying to track this, causing more aileron movement. Hopefully I can take a proper look though the log this week and make some suggestions.


I had a whacky Idea for some fun coding: a flight mode for “exit thermal”. Imagine a combination of the following: butterfly to kill lift, rudder in the direction that is most likely to exit the thermal, and down elevator up to the point of Vne, watching max air speed, and holding this configuration until vertical air speed is zero or negative. If the above protocol does not succeed inexiting massive lift, DefCon 1 would be “bury the sticks”, i. e., hard rudder and elevator. What do you think?


It looks like I’ll be able to get the ArduSoar code flying on a couple of my gliders soon. After many months away from RC, I’ve downloaded the latest MP, and ArduPlane, v3.7.1. Is the soaring code in there? Or do I need to use some other beta version or other branch of the code to try the ArduSoar code?


Ignore my post from yesterday. I downloaded the latest Arduplane beta, and the soaring parameters appear now in MP.


All the SOARing parameters are now available in the latest 3.8 released version of ArduPlane. You first need to set SOAR_ENABLE to 1, then reboot and then the parameters will be available.

Thanks, Grant.

Looking forward to trying out the soaring code in 3.8. Unfortunately I am waaaay too deep into aerial mapping with Pix4D, initially with Phantom 4 Pro, but now launching a MyTwinDream build that will run Arduplane 3.8, making use of terrain following for some large mapping missions, and hopefully incorporating Reach RTK GPS. I might be a while in this current bent, but look forward to ArduSoar shortly after that.


Hi @Samuel_Tabor, please read this:

Any news in this topic ? I’m realy interested in soaring functions. For this UAV motoglider:

Plane is designed for using a termal conditions so automatic functions for this should do a really very long flights.

ArduPlane supports Soaring. Install an Autopilot and let us know how you go. :slight_smile:

I would say the update is, yes it works :wink:

Interesting bit of research from the Microsoft team. This extends the current soaring capability by replacing the normal heading/navigation controller with a specific soaring guidance controller. This numerically optimises the trajectory to maximise lift and improve the estimate of the thermal position and strength. Should result in very smooth flightpaths and improved thermal centreing!

Happy soaring!


How to use Soar mode correctly on the flight controller Pixhawk 4?
I want to experience the soaring mode using Holybro Pixhawk 4. For my experiments I built a glider DG-808S with a size of wings of 4 meters.
I have Pixhawk 4 with firmware 3.9.4. I realized that this SOAR_ENABLE mode is implemented for AUTO, FBWB or CRUISE. How to build a flight plan AUTO there is also necessary for waypoints to specify the altitude, and for the SOAR mode, I previously had to install SOAR_ALT_MIN and SOAR_ALT_CUTOFF here is unclear what to put in the waypoints in height, because there is no clarity as he plans to the next point. However, there is a calculation of the error of hitting the height on the waypoint, but this is also uncertainty. The Pixhawk itself includes a "throttle " If the plane reaches the SOAR_ALT_MIN height, so it is necessary to set the parameters for the motor max and minimum? However I think that it is not enough, it is not clear how will gain height, with what angle (pitch) What parameter to set on lifting? As for the planning is clear in the description says: The TECS needs to be set up to fly the aircraft at a consistent airspeed when gliding To achieve this, set TECS_SPDWEIGHT to 2.0, set SOAR_ENABLE to 1 and set SOAR_VSPEED to a large number, say 50.0. This means that the aircraft will glide but will never begin thermalling. Set SOAR_ALT_CUTOFF to an altitude you feel comfortable with. It should be high enough to allow a good length of time to be spent gliding. Launch the aircraft and put it in AUTO mode. It should climb to SOAR_ALT_CUTOFF and then begin a gliding descent. Watch the telemetry graphs or look at the Dataflash logs. Is the aircraft maintaining the demanded airspeed? The demanded airspeed can be seen in the Dataflash log as TECS.spdem, and via telemetry you can use NAV_CONTROLLER_OUTPUT.aspd_error. You will probably need to increase PTCH2SRV_IMAX and TECS_INTEG_GAIN to achieve good airspeed tracking in gliding flight.How to use SOAR_ENABLE_CH A channel that includes the SOAR mode at what point should it be enabled?

Hi Aleksandr,

I think there’s a few questions there.

Any altitude above SOAR_ALT_CUTOFF like it say in the docs.

Throttle and pitch limits work as normal. You have to set these up using the standard TECS tuning methods.

Set SOAR_ENABLE_CH to the channel number you want to use. When this channel is below 1700 soaring will not occur - the effect is the same as setting SOAR_ENABLE=0.

Hope that helps

Thanks for the quick and understandable reply and attention to my questions ! I wanted to know in what sequence to include the modes SOAR_ENABLE_CH and AUTO. Is it possible to first use the mode of SOAR_ENABLE_CH then turn on AUTO or first AUTO then turn SOAR_ENABLE_CH? ? Can I enable this mode SOAR_ENABLE_CH at any time modes AUTO, FBWB or CRUISE?

Yes you can use SOAR_ENABLE_CH with any of those modes with SOAR_ENABLE=1. Or you can leave SOAR_ENABLE_CH set to 0 - in which case soaring is always enabled when SOAR_ENABLE=1.

Servers by jDrones