For the complete documentation index, see llms.txt. This page is also available as Markdown.

VTOL API

Requires APX4 3.3 or newer

Related C++ Header in the Auteroin SDK:

<auterion_sdk/control/vtol/vtol.hpp>

Auterion SDK provides an interface to command a VTOL transition.

Commanding a transition

Instantiate an auterion::VTOL object by passing your auterion::SDK instance:

auterion::VTOL vtol(*sdk);

You can set the desired target state by means of the set_target_state(auterion::VtolState target_state) method. For example, if you want to be in fixed-wing mode:

vtol.seTargetState(auterion::FIXED_WING); 

This will check whether the current state is different than fixed wing, and command a transition if needed.

Setpoint types when working with VTOLs

When writing external flight modes using the VTOL API, the right setpoint types need to be returned before, during and after the transition. Meaning:

  • When flying as a multicopter, the setpoint type used needs to be compatible with the PX4 multicopter control architecture.

  • When flying as a fixed-wing, the setpoint type needs to be compatible with the PX4 fixed wing control architecture.

See the setpoint types available here. (Note: when a setpoint type is not part of either the multicopter or fixed-wing namespace, it is compatible with both vehicle types). During transition, you should return the auterion::vtol::TransitionSetpoint type. This ensures that PX4 receives all the necessary inputs to successfully complete the transition. You can optionally supply a course input to this setpoint. This will realign the vehicle during transition if required.

Set up mode

In order to prepare your flight mode to accept TransitionSetpoint, you need to supply the auterion::vtol::TransitionSetpoint::Config object to your mode constructor. Make sure to also pass the objects required for fixed-wing and multicopter control like so:

Create setpoint

To create a setpoint, you can use the builder pattern like so:

Optionally, you can send a deceleration setpoint during the back-transition:

If no deceleration setpoint is set, a default value of 2 m/s^2 is used.

The SDK will ensure that the required inputs are sent to PX4 for a smooth transition. To ensure the drone follows your setpoints, return these setpoints in the onUpdateSetpoint callback method of your mode.

You can query the VtolState through the SystemStateAPI for the current state of the vehicle. See documentation on that here.

Last updated