first commit

This commit is contained in:
2026-09-02 15:13:13 +08:00
commit cb00322a50
107 changed files with 10918 additions and 0 deletions
+55
View File
@@ -0,0 +1,55 @@
"""视觉跟踪控制包(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",
]