The main loop is too slow for a QuadPlane
What ArduPilot says:
- PreArm: quadplane needs SCHED_LOOP_RATE >= 100
The flight controller's main loop runs at less than 100 Hz. A plain plane runs at 50 Hz, too slow to keep a hovering aircraft level; when Q_ENABLE is already set at power-on, the default becomes 300 Hz. The rate is read once at start-up, so a change of SCHED_LOOP_RATE or of Q_ENABLE takes effect only after a reboot.
What to do, most likely first
Q_ENABLEwas set and the flight controller has not been rebooted since, so it still runs at the plane's 50 Hz.FixReboot the flight controller. If
SCHED_LOOP_RATEwas never saved by hand, it comes up at 300.SCHED_LOOP_RATEis saved with a value below 100, for example from a plain plane's parameter file; a saved value beats the QuadPlane default.CheckRead
SCHED_LOOP_RATEafter a reboot.FixSet
SCHED_LOOP_RATEto 300 and reboot.
Parameters to look at
| Parameter | What it is |
|---|---|
SCHED_LOOP_RATE | Scheduling main loop rate |
Q_ENABLE | Enable QuadPlane |
Where to do it:Parameter Compare & Migrate
The code that sends it
PreArm: quadplane needs SCHED_LOOP_RATE >= 100
ArduPlane/AP_Arming.cpp AP_Arming_Plane::quadplane_checks() · Open in ArduPilot Plane-4.6.3
ArduPlane/AP_Arming_Plane.cpp AP_Arming_Plane::quadplane_checks() · Open in ArduPilot Plane-4.7.1