MAVLink
We’ll be using ArduPlane with MAVLink.
QuadPlane Auto-Flight Flow:
The plane is disarmed on the ground. Set configurations such as
Q_GUIDED_MODE=1
(tells the plane to switch to VTOL flight mode and hover over the waypoint when it's reached)
Arm the plane by sending
MAV_CMD_COMPONENT_ARM_DISARM
.Transition to AUTO mode by sending
MAV_CMD_DO_SET_MODE
.Take off by sending
MAV_CMD_NAV_VTOL_TAKEOFF
.Transition to GUIDED mode by sending
MAV_CMD_DO_SET_MODE
.Fly to waypoints using
MAV_CMD_NAV_WAYPOINT
. The plane will automatically fly to the waypoint in fixed wing mode and hover in place in VTOL mode when the waypoint is reached.Transition to QLOITER mode by sending
MAV_CMD_DO_SET_MODE
.Let CV control the plane until it's about 5 meters above the landing pad.
Transition to QLAND mode by sending
MAV_CMD_DO_SET_MODE
. The plane will land itself.Once the plane has landed, disarm the plane by sending
MAV_CMD_COMPONENT_ARM_DISARM
.
Switching to User Control:
Transition to QSTABILIZE mode by sending
MAV_CMD_DO_SET_MODE
.Cancel all missions by sending
MISSION_CLEAR_ALL
.
Resources:
ArduPlane Wiki: https://ardupilot.org/plane/index.html
ArduPilot-MAVLink Interface: https://ardupilot.org/dev/docs/mavlink-commands.html
MAVLink Developer Guide: https://mavlink.io/en/
ArduPilot Github: https://github.com/ArduPilot/ardupilot
MAVLink Github: https://github.com/mavlink/mavlink
LOS_Mav: LOS_Mav