payload.modes.PayloadScanForTagMode#

Attributes#

Classes#

PayloadScanForTagParams

PayloadScanForTagMode

Spin in place looking for a specific AprilTag.

Module Contents#

_TWO_PI = 6.283185307179586#
class PayloadScanForTagParams#

Bases: vehicle_common.mode_loader.ParamsBase

tag_id: int = 0#
tag_size_m: float = 0.0508#
tag_family: str = 'tag36h11'#
spin_angular_speed: float = 0.4#
loop: bool = False#
compressed_image: bool = False#
class PayloadScanForTagMode#

Bases: vehicle_common.mode.Mode

Spin in place looking for a specific AprilTag.

Returns:

  • “found”: target tag is visible; stop and hand off to approach mode.

  • ”not_found”: completed a full 360° without seeing the tag; caller should reposition and try again.

Return type:

The transition label

required_vision_nodes#
transition_labels = ('found', 'not_found')#
requires_camera = True#
initialize(node: rclpy.node.Node, vehicle: payload.payload.Payload, params: PayloadScanForTagParams) None#
on_enter() None#
_image_cb(msg) None#
_get_bgr() numpy.ndarray | None#
_publish_annotated(bgr: numpy.ndarray, response) None#
_request_state() uav_interfaces.srv.PayloadAprilTagState.Response | None#
on_update(time_delta: float) None#
check_status() str#
on_exit() None#