当前结论:
HOLD_PHYSICAL_TESTS_NOT_RUN。Stage 16 已把真机验收拆成19个强制门,并建立串口遥测解析、实物证据文件、SHA-256和测量限值的机器审计;当前19项均为NOT_RUN,因此不能声明整机已经实物跑通。
阶段10–15已经覆盖闭环控制、传感器、电流保护、质量质心、驱动电源、硬件急停和动态坡道解析,但此前没有统一的方法把真实仪表记录、视频、照片、串口日志和测量表绑定到每一个验收结论。仅凭仿真PASS、固件编译或Blender几何,不能证明真实BB-8能安全运动。
Stage 16新增三层证据合同:
engineering/commissioning_test_plan.json:19项真机测试、测量字段、上下限和允许的证据类型。engineering/commissioning_evidence.json:只填写真实硬件序列号、操作者、日期、测量值和证据文件。tools/verify_commissioning_evidence.py:校验测试覆盖、限值、相对路径、文件存在性和SHA-256;没有真实文件不能写成PASS。
| 分组 | 测试 | 关键验收线 |
|---|---|---|
| 机械/头部 | M01、H01 | 整机质量不超过当前10.628 kg包络;质心低于球心至少20 mm;实际8 mm气隙拉脱力≥40 N |
| 电气/控制 | E01–E03、C01 | 双通道常闭、极性/绝缘、SAFE_A/B与ALERT独立拉低PWM、3.3 V掉电、接触器释放、双INA226误差≤3%、编码器重复误差≤1% |
| 驱动/热 | D01–D02、T01–T02 | 架空空载、≤300 ms受控堵转切断、20 min开壳与15 min封壳热试验 |
| 地面 | G01–G04 | 5 m/0.10 m/s直行、0.8 m半径转弯、0.30 m/s急停距离≤0.50 m、3°带电坡道 |
| 故障/电源 | F01–F02、P01 | 指令丢失、IMU/编码器/电流失效均撤销EN;再生母线峰值≤16.8 V |
| 维护/综合 | S01、L01 | 20次开合无损;全部前置门通过后才能进行10 min封闭区域综合运行 |
这些限值是当前设计包络的保守首轮门槛。如果最终驱动器、电池、保险丝、接触器或电机厂家额定更低,必须采用更低限值,不能用本表放宽器件约束。
ESP32每200 ms输出一行带 t_ms 的固定键值:使能、故障、命令速度、电池、温度、急停、遥控、IMU、编码器、倾角、偏航、左右轮速、左右电流、保护状态、硬件ALERT和PWM。保存串口原始文本后运行:
该遥测版本已用 Arduino-ESP32 3.3.10 / Generic ESP32-S3重新编译:程序370095 bytes(28%),全局变量24676 bytes(7%)。这仍是编译证据,不是开发板上传或带电试验。
python3 tools/parse_bb8_telemetry.py \
--input evidence/run-001/serial.log \
--output evidence/run-001/telemetry.csv \
--summary evidence/run-001/telemetry_summary.json解析器拒绝缺字段、非有限数值和不递增的时间戳。它不会自动把遥测变成PASS;每个测试仍必须补充相机、仪表或测量表证据。
- 为每次真机测试建立独立目录,例如
evidence/BB8-001/2026-07-12-G01/。 - 保留未经编辑的原始串口日志、视频/照片和仪表导出。
- 对每个文件计算SHA-256,在
commissioning_evidence.json对应记录中填写相对路径、类型和哈希。 - 填写实测数值;状态只能是
NOT_RUN、BLOCKED、PASS或FAIL。 - 运行
python3 tools/verify_commissioning_evidence.py。未完成时应得到HOLD_PHYSICAL_TESTS_NOT_RUN。 - 只有19项强制门全部有真实匹配文件、数值都满足限值、整机序列号/操作者/日期齐全时,
--require-pass才可能成功。
- 当前空白真实模板必须得到HOLD,而不是PASS。
- 把所有状态直接改成PASS但不提供测量值和文件,必须得到
INVALID_EVIDENCE。 - 合成数据只能在单元测试的隐藏允许模式下验证程序分支,默认审计明确拒绝
SYNTHETIC_TEST_ONLY。
- 真实BB-8硬件尚未在本项目中组装并接入,因此19项均为
NOT_RUN。 - 没有机械驻车制动,G04只验证带电坡道运行,不声明断电驻坡。
- 驱动器、保险丝、接触器、BMS和电池最终型号未冻结前,相关限值必须与厂家额定和实测结果取更严格者。
- L01不是首轮测试;它必须排在其余18项通过之后,并在软围栏、有线急停和观察员条件下执行。