Files
code-test-drone/legacy/README.md
T
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

55 lines
2.4 KiB
Markdown
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.
# 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`:
```bash
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
```bash
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 上跑不动实时)。