payload.modes.PayloadAprilTagApproachMode#
Classes#
Drive the payload toward one AprilTag and terminate once close enough. |
Module Contents#
- class TagObservation#
- tag_id: int#
- tvec_x: float#
- tvec_y: float#
- tvec_z: float#
- center_x: float#
- center_y: float#
- yaw_error: float#
- area: float#
- class PayloadAprilTagApproachParams#
Bases:
vehicle_common.mode_loader.ParamsBase- tag_id: int | None = None#
- tag_size_m: float = 0.0508#
- tag_family: str = 'tag36h11'#
- max_forward_speed: float = 0.2#
- forward_gain: float = 0.5#
- angular_gain: float = 0.003#
- yaw_gain: float = 0.0#
- stop_distance_m: float = 0.2#
- tag_lost_coast_s: float = 0.5#
- compressed: bool = False#
- completion_state: str = 'done'#
- class PayloadAprilTagApproachMode#
Bases:
vehicle_common.mode.ModeDrive the payload toward one AprilTag and terminate once close enough.
- required_vision_nodes = ()#
- requires_camera = True#
- transition_labels = ('done', 'tag_lost')#
- initialize(node: rclpy.node.Node, vehicle: payload.payload.Payload, params: PayloadAprilTagApproachParams) None#
- _on_image(msg: sensor_msgs.msg.Image) None#
- _on_compressed_image(msg: sensor_msgs.msg.CompressedImage) None#
- _on_camera_info(msg: sensor_msgs.msg.CameraInfo) None#
- _get_bgr_frame() object | None#
- on_enter() None#
- _detect_observations() dict[int, TagObservation] | None#
- _publish_drive(linear: float, angular: float) None#
- _now() float#
- _handle_tag_timeout(now: float) bool#
- _select_target(observations: dict[int, TagObservation]) TagObservation | None#
- on_update(time_delta: float) None#
- check_status() str#
- on_exit() None#