ArduPilot / ArduPilot/ardupilot

QuadPlane 4.6.3: Q_LAND_FINAL_SPD Applied From High Altitude, Q_WP_SPEED_DN Ignored During Q_LAND/Q_RTL

Open
#32,155 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

VTOL-Plane
Dominant language
C++
Stars
15.9k
Forks
21.4k
Avg merge
3d 17h
Merged PRs (30d)
119

Description

In ArduPlane firmware 4.6.3 (QuadPlane), the parameter Q_LAND_SPEED is no longer available. Previously, this parameter allowed control of the vertical descent speed during the main VTOL descent phase, before the vehicle reached the final landing altitude defined by Q_LAND_FINAL_ALT.

Current behavior observed:

Vehicle starts Q_LAND / Q_RTL from ~100 meters altitude

Parameters set:

Q_LAND_FINAL_SPD = 0.5 m/s

Q_LAND_FINAL_ALT = 7 m

Expected behavior (based on earlier firmware logic):

Descend from 100 m → 7 m at 1 m/s (Q_LAND_SPEED)

Below 7 m descend at 0.5 m/s (Q_LAND_FINAL_SPD)

However, in 4.6.3:

The vehicle descends at 0.5 m/s from the full 100 m altitude

Q_WP_SPEED_DN (which appears to replace Q_LAND_SPEED) does not affect descent rate during Q_LAND/Q_RTL

The aircraft appears to use only Q_LAND_FINAL_SPD for the entire landing profile

Operational impact

For heavy QuadPlanes:

Very long descent time (~200 seconds from 100 m)

Excessive battery drain

Voltage sag risk

Possibility of brownout or crash before touchdown

This creates a serious safety risk, especially for:

Logistics drones

Agricultural VTOLs

Heavy-lift QuadPlanes

The absence of a parameter to control pre-final descent speed removes an important safety and endurance control previously available.

Suspected issue

Landing logic may be entering final descent mode prematurely, or the firmware may not be properly using Q_WP_SPEED_DN during Q_LAND/Q_RTL vertical descent.

Version

ArduPlane 4.6.3

Platform

[ ] All
[ ] AntennaTracker
[ ] Copter
[✔] Plane
[ ] Rover
[ ] Submarine

Airframe type

QuadPlane VTOL (multirotor + fixed wing hybrid)

Hardware type

Pixhawk-class flight controller

Logs

Logs showing descent from ~100 m at constant 0.5 m/s despite Q_WP_SPEED_DN changes can be provided upon request.

Contributor

SUNDAR C

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing Q_LAND and Q_RTL from about 100 m with Q_LAND_FINAL_SPD, Q_LAND_FINAL_ALT, and Q_WP_SPEED_DN configured as described; collect the referenced descent logs. Inspect the landing logic to determine which parameter controls the pre-final descent, and consider the issue resolved when the configured pre-final and final descent speeds are applied at the expected altitude.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
embedded-iot, robotics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.