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¶