MavrosPositionController

class suave.mavros_position_controller.MavrosPositionController(node: Node, ground_depth_gz: float, callback_group: CallbackGroup)

Manage MAVROS local-position state for an owning ROS node.

__init__(node: Node, ground_depth_gz: float, callback_group: CallbackGroup) None

Create MAVROS position entities through the owning node.

destroy() None

Destroy controller-owned ROS entities.

is_setpoint_reached(setpoint: PoseStamped, tolerance: float) bool

Return whether the current pose is within XYZ tolerance.

is_xy_setpoint_reached(setpoint: PoseStamped, tolerance: float) bool

Return whether the current pose is within XY tolerance.

publish_gazebo_setpoint(pose: Pose, altitude: float) PoseStamped | None

Publish a Gazebo XY pose at the requested ground altitude.

publish_xy_setpoint(x: float, y: float, altitude: float) PoseStamped | None

Publish an XY setpoint at the requested ground altitude.

Methods

__init__(node, ground_depth_gz, callback_group)

Create MAVROS position entities through the owning node.

destroy()

Destroy controller-owned ROS entities.

is_setpoint_reached(setpoint, tolerance)

Return whether the current pose is within XYZ tolerance.

is_xy_setpoint_reached(setpoint, tolerance)

Return whether the current pose is within XY tolerance.

publish_gazebo_setpoint(pose, altitude)

Publish a Gazebo XY pose at the requested ground altitude.

publish_xy_setpoint(x, y, altitude)

Publish an XY setpoint at the requested ground altitude.

Attributes

has_local_pose

Return whether MAVROS has published a local pose.

local_pose

Return the latest MAVROS local pose, if one was received.