精简仓库结构并增强任务链路:归档双目可选后端、新增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。
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
# 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 上跑不动实时)。
|
||||
Reference in New Issue
Block a user