Files
code-test-drone/legacy
keita df91b1110e 精简仓库结构并增强任务链路:归档双目可选后端、新增LOS判据与自定义返航
归档 legacy/:stereo_yolo/stereo_ranger/target_tracker 三包 + 175 条测试 + demo/配置/权重/三份规格;运行链路不再依赖,默认 pytest 446 条,归档测试按需运行。

目标有效性第二判据改为 LOS 运动学一致性(pod_bridge/los_consistency.py),删除 require_vision;pod_locked() 叠加该判据,状态机随之后退重搜。

自定义返航(task_runner/return_home.py):保持转场高度回起飞点 → 恢复初始航向 → 垂直降落,不再爬 RTL_RETURN_ALT;未起飞/无起飞点/超时/异常仍退回 PX4 原生 RTL。

任务链安全兜底:主循环异常→紧急返航、stop 幂等、landing_stop 保留遥测、in_air 流复用+超时、解锁/起飞与吊舱识别仅执行一次、rtl_timeout 上限。

入口共享件拆到 utils/sitl_support.py;pod_sitl_test.py→l1_sitl_test.py;删除旧架构 test.py;相机脚本移入 tools/。

新增 .gitignore 并剔除历史误跟踪的 59 个 .pyc;requirements 按实际依赖重写;文档全面对齐,新增 legacy/README.md 与 tools/README.md。
2026-10-21 14:48:41 +08:00
..

legacy/ —— 已归档的「双目 + YOLO」可选感知后端

归档日期:2026-10-20

自 2026-10-19 起,光电吊舱取代双目 + YOLO,成为唯一目标源。运行链路是 pod_bridge → task_runner → PX4(见仓库根 README.md 与 .workbuddy/memory/ARCHITECTURE.md §11)。

这里的内容不参与运行链路,也不在默认 pytest 收集范围内。保留原因:日后若要 重新引入双目作为「独立身份旁证」或「距离源」,可从本目录恢复;对应的设计文档 也一并归档。

归档内容

路径 原位置 说明
utils/stereo_yolo/ utils/stereo_yolo/ 双目 YOLO 检测前端
utils/stereo_ranger/ utils/stereo_ranger/ 双目稀疏测距
utils/target_tracker/ utils/target_tracker/ 多目标追踪 + 主目标选举
utils/tests/{stereo_yolo,stereo_ranger,target_tracker}/ 同名 共 175 条单测
utils/demo_*.py utils/demo_*.py 三个演示(track_control / stereo_ranger / stereo_yolo)
utils/config/stereo_*.json utils/config/ 对应配置
utils/assets/ utils/assets/ demo 占位素材
models/yolo26n-drone.pt models/ YOLO 权重(5.2MB)
docs/双目*.md docs/ 三份双目规格/作业指导
stereo_calib_params.npz 仓库根 双目相机标定结果

怎么跑归档测试(默认不跑)

归档代码依赖 utils/ 里的 visual_track_control(控制律仍在运行链路中), 所以需要同时把两处加进 PYTHONPATH:

cd legacy/utils
PYTHONPATH="../../utils" "D:/program file/conda/envs/pytorch/python.exe" -m pytest -q

预期 175 passed(111 stereo_ranger + 36 stereo_yolo + 28 target_tracker)。

怎么跑归档 demo

cd "D:/ProgramData/code_drone-test"
PYTHONPATH="utils;legacy/utils" "D:/program file/conda/envs/pytorch/python.exe" legacy/utils/demo_stereo_ranger.py

demo_stereo_yolo.py 需要 ultralytics 与 legacy/models/yolo26n-drone.pt (demo 内按 legacy/ 为仓库根解析相对模型路径)。

若要正式接回

不要直接 git mv 回来就完事:先读 ARCHITECTURE.md §11.1 的约定 —— 需要给 PodBridge 增加「距离源」与「独立旁证源」两个显式注入点, 并重新评估 Pi 4 的算力预算(YOLO 双路推理在 Pi 4 上跑不动实时)。