Action

class mavsdk.action.Action(async_plugin_manager)

Bases: AsyncBase

Enable simple actions such as arming, taking off, and landing.

Generated by dcsdkgen - MAVSDK Action API

async arm()

Send command to arm the drone.

Arming a drone normally causes motors to spin at idle. Before arming take all safety precautions and stand clear of the drone!

Raises:

ActionError – If the request fails. The error contains the reason for the failure.

async disarm()

Send command to disarm the drone.

This will disarm a drone that considers itself landed. If flying, the drone should reject the disarm command. Disarming means that all motors will stop.

Raises:

ActionError – If the request fails. The error contains the reason for the failure.

async do_orbit(radius_m, velocity_ms, yaw_behavior, latitude_deg, longitude_deg, absolute_altitude_m)

Send command do orbit to the drone.

This will run the orbit routine with the given parameters.

Parameters:
  • radius_m (float) – Radius of circle (in meters)

  • velocity_ms (float) – Tangential velocity (in m/s)

  • yaw_behavior (OrbitYawBehavior) – Yaw behavior of vehicle (ORBIT_YAW_BEHAVIOUR)

  • latitude_deg (double) – Center point latitude in degrees. NAN: use current latitude for center

  • longitude_deg (double) – Center point longitude in degrees. NAN: use current longitude for center

  • absolute_altitude_m (double) – Center point altitude in meters. NAN: use current altitude for center

Raises:

ActionError – If the request fails. The error contains the reason for the failure.

async get_maximum_speed()

Get the vehicle maximum speed (in metres/second).

Returns:

speed – Maximum speed (in metres/second)

Return type:

float

Raises:

ActionError – If the request fails. The error contains the reason for the failure.

async get_return_to_launch_altitude()

Get the return to launch minimum return altitude (in meters).

Returns:

relative_altitude_m – Return altitude relative to takeoff location (in meters)

Return type:

float

Raises:

ActionError – If the request fails. The error contains the reason for the failure.

async get_takeoff_altitude()

Get the takeoff altitude (in meters above ground).

Returns:

altitude – Takeoff altitude relative to ground/takeoff location (in meters)

Return type:

float

Raises:

ActionError – If the request fails. The error contains the reason for the failure.

async goto_location(latitude_deg, longitude_deg, absolute_altitude_m, yaw_deg)

Send command to move the vehicle to a specific global position.

The latitude and longitude are given in degrees (WGS84 frame) and the altitude in meters AMSL (above mean sea level).

The yaw angle is in degrees (frame is NED, 0 is North, positive is clockwise).

Parameters:
  • latitude_deg (double) – Latitude (in degrees)

  • longitude_deg (double) – Longitude (in degrees)

  • absolute_altitude_m (float) – Altitude AMSL (in meters)

  • yaw_deg (float) – Yaw angle (in degrees, frame is NED, 0 is North, positive is clockwise)

Raises:

ActionError – If the request fails. The error contains the reason for the failure.

async hold()

Send command to hold position (a.k.a. “Loiter”).

Sends a command to drone to change to Hold flight mode, causing the vehicle to stop and maintain its current GPS position and altitude.

Note: this command is specific to the PX4 Autopilot flight stack as it implies a change to a PX4-specific mode.

Raises:

ActionError – If the request fails. The error contains the reason for the failure.

async kill()

Send command to kill the drone.

This will disarm a drone irrespective of whether it is landed or flying. Note that the drone will fall out of the sky if this command is used while flying.

Raises:

ActionError – If the request fails. The error contains the reason for the failure.

async land()

Send command to land at the current position.

This switches the drone to ‘Land’ flight mode.

Raises:

ActionError – If the request fails. The error contains the reason for the failure.

name = 'Action'
async reboot()

Send command to reboot the drone components.

This will reboot the autopilot, companion computer, camera and gimbal.

Raises:

ActionError – If the request fails. The error contains the reason for the failure.

async return_to_launch()

Send command to return to the launch (takeoff) position and land.

This switches the drone into [Return mode](https://docs.px4.io/master/en/flight_modes/return.html) which generally means it will rise up to a certain altitude to clear any obstacles before heading back to the launch (takeoff) position and land there.

Raises:

ActionError – If the request fails. The error contains the reason for the failure.

async set_actuator(index, value)

Send command to set the value of an actuator.

Parameters:
  • index (int32_t) – Index of actuator (starting with 1)

  • value (float) – Value to set the actuator to (normalized from [-1..1])

Raises:

ActionError – If the request fails. The error contains the reason for the failure.

async set_current_speed(speed_m_s)

Set current speed.

This will set the speed during a mission, reposition, and similar. It is ephemeral, so not stored on the drone and does not survive a reboot.

Parameters:

speed_m_s (float) – Speed in meters/second

Raises:

ActionError – If the request fails. The error contains the reason for the failure.

async set_maximum_speed(speed)

Set vehicle maximum speed (in metres/second).

Parameters:

speed (float) – Maximum speed (in metres/second)

Raises:

ActionError – If the request fails. The error contains the reason for the failure.

async set_return_to_launch_altitude(relative_altitude_m)

Set the return to launch minimum return altitude (in meters).

Parameters:

relative_altitude_m (float) – Return altitude relative to takeoff location (in meters)

Raises:

ActionError – If the request fails. The error contains the reason for the failure.

async set_takeoff_altitude(altitude)

Set takeoff altitude (in meters above ground).

Parameters:

altitude (float) – Takeoff altitude relative to ground/takeoff location (in meters)

Raises:

ActionError – If the request fails. The error contains the reason for the failure.

async shutdown()

Send command to shut down the drone components.

This will shut down the autopilot, onboard computer, camera and gimbal. This command should only be used when the autopilot is disarmed and autopilots commonly reject it if they are not already ready to shut down.

Raises:

ActionError – If the request fails. The error contains the reason for the failure.

async takeoff()

Send command to take off and hover.

This switches the drone into position control mode and commands it to take off and hover at the takeoff altitude.

Note that the vehicle must be armed before it can take off.

Raises:

ActionError – If the request fails. The error contains the reason for the failure.

async terminate()

Send command to terminate the drone.

This will run the terminate routine as configured on the drone (e.g. disarm and open the parachute).

Raises:

ActionError – If the request fails. The error contains the reason for the failure.

async transition_to_fixedwing()

Send command to transition the drone to fixedwing.

The associated action will only be executed for VTOL vehicles (on other vehicle types the command will fail). The command will succeed if called when the vehicle is already in fixedwing mode.

Raises:

ActionError – If the request fails. The error contains the reason for the failure.

async transition_to_multicopter()

Send command to transition the drone to multicopter.

The associated action will only be executed for VTOL vehicles (on other vehicle types the command will fail). The command will succeed if called when the vehicle is already in multicopter mode.

Raises:

ActionError – If the request fails. The error contains the reason for the failure.

exception mavsdk.action.ActionError(result, origin, *params)

Bases: Exception

Raised when a ActionResult is a fail code

class mavsdk.action.ActionResult(result, result_str)

Bases: object

Result type.

Parameters:
  • result (Result) – Result enum value

  • result_str (std::string) – Human-readable English string describing the result

class Result(value)

Bases: Enum

Possible results returned for action requests.

Values

UNKNOWN

Unknown result

SUCCESS

Request was successful

NO_SYSTEM

No system is connected

CONNECTION_ERROR

Connection error

BUSY

Vehicle is busy

COMMAND_DENIED

Command refused by vehicle

COMMAND_DENIED_LANDED_STATE_UNKNOWN

Command refused because landed state is unknown

COMMAND_DENIED_NOT_LANDED

Command refused because vehicle not landed

TIMEOUT

Request timed out

VTOL_TRANSITION_SUPPORT_UNKNOWN

Hybrid/VTOL transition support is unknown

NO_VTOL_TRANSITION_SUPPORT

Vehicle does not support hybrid/VTOL transitions

PARAMETER_ERROR

Error getting or setting parameter

UNSUPPORTED

Action not supported

FAILED

Action failed

BUSY = 4
COMMAND_DENIED = 5
COMMAND_DENIED_LANDED_STATE_UNKNOWN = 6
COMMAND_DENIED_NOT_LANDED = 7
CONNECTION_ERROR = 3
FAILED = 13
NO_SYSTEM = 2
NO_VTOL_TRANSITION_SUPPORT = 10
PARAMETER_ERROR = 11
SUCCESS = 1
TIMEOUT = 8
UNKNOWN = 0
UNSUPPORTED = 12
VTOL_TRANSITION_SUPPORT_UNKNOWN = 9
class mavsdk.action.OrbitYawBehavior(value)

Bases: Enum

Yaw behaviour during orbit flight.

Values

HOLD_FRONT_TO_CIRCLE_CENTER

Vehicle front points to the center (default)

HOLD_INITIAL_HEADING

Vehicle front holds heading when message received

UNCONTROLLED

Yaw uncontrolled

HOLD_FRONT_TANGENT_TO_CIRCLE

Vehicle front follows flight path (tangential to circle)

RC_CONTROLLED

Yaw controlled by RC input

HOLD_FRONT_TANGENT_TO_CIRCLE = 3
HOLD_FRONT_TO_CIRCLE_CENTER = 0
HOLD_INITIAL_HEADING = 1
RC_CONTROLLED = 4
UNCONTROLLED = 2