The soaring system reports what it is doing
What ArduPilot says:
- Soaring: Enabled, automatic mode changes.
- Soaring: Thermal detected, entering …
- Soaring: …, restoring …
- Soaring: Disabled.
- Soaring: Enabled, manual mode changes.
- Soaring: Outside SOAR_MAX_RADIUS, RTL
With SOAR_ENABLE 1 a glider looks for rising air (thermals) with the motor stopped and circles in it. The first three lines follow the soaring switch (RCn_OPTION 88): automatic mode changes, changes left to you, or off. “Thermal detected, entering THERMAL”: lift was found and the plane circles in it. “Soaring: …, restoring …” gives the reason it stopped circling and the mode it returned to: it reached SOAR_ALT_MAX or SOAR_ALT_MIN, the climb fell below SOAR_VSPEED, it drifted further than SOAR_MAX_DRIFT, or you used the switch. “Outside SOAR_MAX_RADIUS, RTL”: it was too far from home and returns.
Parameters to look at
| Parameter | What it is |
|---|---|
SOAR_ENABLE | Is the soaring mode enabled or not |
SOAR_ALT_MAX | Maximum soaring altitude, relative to the home location |
SOAR_ALT_MIN | Minimum soaring altitude, relative to the home location |
SOAR_VSPEED | Vertical v-speed |
SOAR_MAX_DRIFT | (Optional) Maximum drift distance to allow when thermalling. |
SOAR_MAX_RADIUS | (Optional) Maximum distance from home |
The code that sends it
Soaring: Enabled, automatic mode changes.
libraries/AP_Soaring/AP_Soaring.cpp SoaringController::update_active_state() · Open in ArduPilot Plane-4.7.1
Soaring: Thermal detected, entering …
ArduPlane/soaring.cpp Plane::update_soaring() · Open in ArduPilot Plane-4.7.1
Soaring: …, restoring …
ArduPlane/mode_thermal.cpp ModeThermal::restore_mode() · Open in ArduPilot Plane-4.7.1
Soaring: Disabled.
libraries/AP_Soaring/AP_Soaring.cpp SoaringController::update_active_state() · Open in ArduPilot Plane-4.7.1
And 2 more messages, sent from the same places.