diff --git a/docs/吊舱解算验证方案-模拟飞控喂表3.md b/docs/吊舱解算验证方案-模拟飞控喂表3.md index d51b141..154f801 100644 --- a/docs/吊舱解算验证方案-模拟飞控喂表3.md +++ b/docs/吊舱解算验证方案-模拟飞控喂表3.md @@ -123,11 +123,13 @@ rel_alt 50m,真实 UTC 递增时戳),同时观测下行。 ```bash cd utils # 默认值已按 §7 设定,不必再写 lat/lon/rel-alt/rate -python -m pod_bridge.sim_fc /dev/ttyAMA0 --seconds 60 --json phase1.json +python -m pod_bridge.sim_fc /dev/ttyAMA0 --seconds 60 \ + --json ~/pod_logs/phase1.json # 台架上验证目标识别 + 自动锁定同时进行解算观测 python -m pod_bridge.sim_fc /dev/ttyAMA0 \ - --detect person --auto-lock --seconds 60 --json phase1.json + --detect person --auto-lock --seconds 60 \ + --json ~/pod_logs/phase1.json ``` > 全部参数表与退出码见 §8。 @@ -250,13 +252,33 @@ python -m pod_bridge.sim_fc [options] ```bash cd utils +mkdir -p ~/pod_logs python -m pod_bridge.sim_fc /dev/ttyAMA0 \ - --detect person --auto-lock --seconds 60 --json phase1.json + --detect person --auto-lock --seconds 60 \ + --json ~/pod_logs/phase1.json ``` +> ⚠ **`--json` 后面的路径是「输出产物」,不是预置输入文件**——仓库里没有、 +> 也不该有 `phase1.json`,它只有在脚本跑完后才会被写出来。用相对路径会落在 +> 当前工作目录(`utils/`),建议直接给绝对路径(如上 `~/pod_logs/`), +> 免得跑完找不到。 + 要在台架上跑阶段2 的高度扫描时,改 `--rel-alt` 重跑即可 (`30 / 50 / 80 / 120` 各一次,`--json` 分别落盘后做聚类对比)。 +### 8.1.1 `--json` 落盘内容(跑完会得到什么) + +顶层三个键: + +| 键 | 内容 | +|---|---| +| `args` | 本次运行的全部命令行参数(复现用) | +| `summary` | 汇总:帧计数/频率、首次锁定与首次表4 时刻、经纬度均值与 σ、相对我方的 east/north 偏移与散布、表4 高度 vs 喂入高度 | +| `samples` | 逐帧表4 原始采样:`{t_s, lat, lon, abs_alt_m, rel_alt_m, east_m, north_m, locked}` | + +实测拿到后,把这份 JSON 和终端汇总一起回传即可做阶段2 的聚类/散布分析。 +**注意**:`samples` 为空即代表本次没收任何表4(对应退出码 1)。 + ### 8.2 行为约定(实现已满足) 1. **单进程收发一体**——独占串口,同进程发 表3、收 表2-2/表4; diff --git a/docs/树莓派4B部署注意事项.md b/docs/树莓派4B部署注意事项.md index 8fdb089..aedf3b3 100644 --- a/docs/树莓派4B部署注意事项.md +++ b/docs/树莓派4B部署注意事项.md @@ -124,7 +124,7 @@ pytest # 仅上机自测需要,部署运行可省 (加 `--center` 可同时下发归中 0x2B 验证下行);脚本自动统计帧数并判读, 遥测帧率 ≥48Hz(标称 60Hz 的 80%)退出码为 0 即链路正常。 4. **验证吊舱能否解算目标坐标**(不接飞控,避免绕过这一步): - `python -m pod_bridge.sim_fc /dev/ttyAMA0 --seconds 60 --json phase1.json` + `python -m pod_bridge.sim_fc /dev/ttyAMA0 --seconds 60 --json ~/pod_logs/phase1.json` 由树莓派伪造 表3 喂给吊舱,看是否回 表4。这一步的结论直接决定后续架构取舍, 详见 `docs/吊舱解算验证方案-模拟飞控喂表3.md`。 ⚠ 跑它的时候关掉 listen_pod / pod_console / bridge —— 同一个串口不能两人占。 @@ -218,8 +218,13 @@ rel_alt 50m,真实 UTC 递增时戳),同时观测下行。 2. 吊舱要求 表3 的**时戳/位置有效性**满足某种条件(例如 GPS 有效标志)。 → 可用 `--freeze-time` 做一次对照。 -> 复测命令:`python -m pod_bridge.sim_fc /dev/ttyAMA0 --detect person --auto-lock -> --seconds 60 --json phase1.json`,退出码 1 = 仍无表4。 +> 复测命令(`--json` 后是**输出产物路径**,非预置输入文件,建议给绝对路径): +> ``` +> cd utils && mkdir -p ~/pod_logs +> python -m pod_bridge.sim_fc /dev/ttyAMA0 --detect person --auto-lock \ +> --seconds 60 --json ~/pod_logs/phase1.json +> ``` +> 退出码 1 = 仍无表4。落盘内容结构见方案文档 §8.1.1。 ### 10.1 自动解锁机制(🔴 本设备实测禁用,2026-10-08) `pod_console.py --auto-unlock SEC` 现按「锁定中 + 表4 超过 SEC 秒未更新」触发 0x0E。