Files
code-test-drone/utils/visual_track_control/__init__.py
T
2026-09-02 15:13:13 +08:00

56 lines
1.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""视觉跟踪控制包(visual_track_control Python 版)。
对应 C++ 参考实现 reference-c++/visual_track_control/。本包与 target_tracker
包互不依赖(TrackState 为字段对齐的独立值类型,胶水层负责转换)。
分层:
纯算法构件 rate_limiter / staleness_checker / line_of_sight /
frame_transform / pid_controller
配置 config(TrackingConfig + load_from_json)
主控律 tracking_control_law(TrackingControlLaw)
指令输出 command_sender(抽象 Protocol)+ mavsdk_gateway(MAVSDK offboard)
"""
from .command_sender import CommandSender
from .config import (AccelLimitConfig, CameraGroupConfig, ControlGroupConfig,
DistanceGroupConfig, HeadingGroupConfig, HeadingMode,
NoDistanceAction, TrackingConfig, VerticalGroupConfig,
load_from_json)
from .frame_transform import rotate_body_to_ned
from .line_of_sight import PixelToAngle
from .mavsdk_gateway import MavsdkCommandGateway
from .pid_controller import PidController, PidParams
from .rate_limiter import SlewRateLimiter, clamp
from .staleness_checker import is_stale
from .tracking_control_law import TrackingControlLaw
from .types import (ControlMode, ControlOutput, ControlSnapshot, DegradedReason,
TrackState)
__all__ = [
"CommandSender",
"MavsdkCommandGateway",
"TrackingControlLaw",
"TrackingConfig",
"load_from_json",
"HeadingMode",
"NoDistanceAction",
"ControlGroupConfig",
"CameraGroupConfig",
"HeadingGroupConfig",
"VerticalGroupConfig",
"DistanceGroupConfig",
"AccelLimitConfig",
"ControlMode",
"DegradedReason",
"TrackState",
"ControlSnapshot",
"ControlOutput",
"PidController",
"PidParams",
"SlewRateLimiter",
"clamp",
"is_stale",
"PixelToAngle",
"rotate_body_to_ned",
]