文档澄清: --json 后是输出产物路径,非预置输入文件
phase1.json 只在 sim_fc.py 跑完后才生成,仓库内本就不该有。 统一改用绝对路径 ~/pod_logs/phase1.json,避免相对路径落在 utils/ 后找不到; 补充 §8.1.1 说明落盘结构(args/summary/samples)与 samples 为空的含义。
This commit is contained in:
@@ -123,11 +123,13 @@ rel_alt 50m,真实 UTC 递增时戳),同时观测下行。
|
|||||||
```bash
|
```bash
|
||||||
cd utils
|
cd utils
|
||||||
# 默认值已按 §7 设定,不必再写 lat/lon/rel-alt/rate
|
# 默认值已按 §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 \
|
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。
|
> 全部参数表与退出码见 §8。
|
||||||
@@ -250,13 +252,33 @@ python -m pod_bridge.sim_fc <port> [options]
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd utils
|
cd utils
|
||||||
|
mkdir -p ~/pod_logs
|
||||||
python -m pod_bridge.sim_fc /dev/ttyAMA0 \
|
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` 重跑即可
|
要在台架上跑阶段2 的高度扫描时,改 `--rel-alt` 重跑即可
|
||||||
(`30 / 50 / 80 / 120` 各一次,`--json` 分别落盘后做聚类对比)。
|
(`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 行为约定(实现已满足)
|
### 8.2 行为约定(实现已满足)
|
||||||
|
|
||||||
1. **单进程收发一体**——独占串口,同进程发 表3、收 表2-2/表4;
|
1. **单进程收发一体**——独占串口,同进程发 表3、收 表2-2/表4;
|
||||||
|
|||||||
+8
-3
@@ -124,7 +124,7 @@ pytest # 仅上机自测需要,部署运行可省
|
|||||||
(加 `--center` 可同时下发归中 0x2B 验证下行);脚本自动统计帧数并判读,
|
(加 `--center` 可同时下发归中 0x2B 验证下行);脚本自动统计帧数并判读,
|
||||||
遥测帧率 ≥48Hz(标称 60Hz 的 80%)退出码为 0 即链路正常。
|
遥测帧率 ≥48Hz(标称 60Hz 的 80%)退出码为 0 即链路正常。
|
||||||
4. **验证吊舱能否解算目标坐标**(不接飞控,避免绕过这一步):
|
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。这一步的结论直接决定后续架构取舍,
|
由树莓派伪造 表3 喂给吊舱,看是否回 表4。这一步的结论直接决定后续架构取舍,
|
||||||
详见 `docs/吊舱解算验证方案-模拟飞控喂表3.md`。
|
详见 `docs/吊舱解算验证方案-模拟飞控喂表3.md`。
|
||||||
⚠ 跑它的时候关掉 listen_pod / pod_console / bridge —— 同一个串口不能两人占。
|
⚠ 跑它的时候关掉 listen_pod / pod_console / bridge —— 同一个串口不能两人占。
|
||||||
@@ -218,8 +218,13 @@ rel_alt 50m,真实 UTC 递增时戳),同时观测下行。
|
|||||||
2. 吊舱要求 表3 的**时戳/位置有效性**满足某种条件(例如 GPS 有效标志)。
|
2. 吊舱要求 表3 的**时戳/位置有效性**满足某种条件(例如 GPS 有效标志)。
|
||||||
→ 可用 `--freeze-time` 做一次对照。
|
→ 可用 `--freeze-time` 做一次对照。
|
||||||
|
|
||||||
> 复测命令:`python -m pod_bridge.sim_fc /dev/ttyAMA0 --detect person --auto-lock
|
> 复测命令(`--json` 后是**输出产物路径**,非预置输入文件,建议给绝对路径):
|
||||||
> --seconds 60 --json phase1.json`,退出码 1 = 仍无表4。
|
> ```
|
||||||
|
> 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)
|
### 10.1 自动解锁机制(🔴 本设备实测禁用,2026-10-08)
|
||||||
|
|
||||||
`pod_console.py --auto-unlock SEC` 现按「锁定中 + 表4 超过 SEC 秒未更新」触发 0x0E。
|
`pod_console.py --auto-unlock SEC` 现按「锁定中 + 表4 超过 SEC 秒未更新」触发 0x0E。
|
||||||
|
|||||||
Reference in New Issue
Block a user