Skip to content

Latest commit

 

History

History
63 lines (44 loc) · 4.45 KB

File metadata and controls

63 lines (44 loc) · 4.45 KB

BB-8 阶段16:真机调试证据门

当前结论:HOLD_PHYSICAL_TESTS_NOT_RUN。Stage 16 已把真机验收拆成19个强制门,并建立串口遥测解析、实物证据文件、SHA-256和测量限值的机器审计;当前19项均为 NOT_RUN,因此不能声明整机已经实物跑通。

为什么需要这一阶段

阶段10–15已经覆盖闭环控制、传感器、电流保护、质量质心、驱动电源、硬件急停和动态坡道解析,但此前没有统一的方法把真实仪表记录、视频、照片、串口日志和测量表绑定到每一个验收结论。仅凭仿真PASS、固件编译或Blender几何,不能证明真实BB-8能安全运动。

Stage 16新增三层证据合同:

  1. engineering/commissioning_test_plan.json:19项真机测试、测量字段、上下限和允许的证据类型。
  2. engineering/commissioning_evidence.json:只填写真实硬件序列号、操作者、日期、测量值和证据文件。
  3. tools/verify_commissioning_evidence.py:校验测试覆盖、限值、相对路径、文件存在性和SHA-256;没有真实文件不能写成PASS。

19个强制验收门

分组 测试 关键验收线
机械/头部 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;每个测试仍必须补充相机、仪表或测量表证据。

填写和审计顺序

  1. 为每次真机测试建立独立目录,例如 evidence/BB8-001/2026-07-12-G01/
  2. 保留未经编辑的原始串口日志、视频/照片和仪表导出。
  3. 对每个文件计算SHA-256,在 commissioning_evidence.json 对应记录中填写相对路径、类型和哈希。
  4. 填写实测数值;状态只能是 NOT_RUNBLOCKEDPASSFAIL
  5. 运行 python3 tools/verify_commissioning_evidence.py。未完成时应得到 HOLD_PHYSICAL_TESTS_NOT_RUN
  6. 只有19项强制门全部有真实匹配文件、数值都满足限值、整机序列号/操作者/日期齐全时,--require-pass 才可能成功。

防止伪PASS的回归测试

  • 当前空白真实模板必须得到HOLD,而不是PASS。
  • 把所有状态直接改成PASS但不提供测量值和文件,必须得到 INVALID_EVIDENCE
  • 合成数据只能在单元测试的隐藏允许模式下验证程序分支,默认审计明确拒绝 SYNTHETIC_TEST_ONLY

当前不可跨越的边界

  • 真实BB-8硬件尚未在本项目中组装并接入,因此19项均为 NOT_RUN
  • 没有机械驻车制动,G04只验证带电坡道运行,不声明断电驻坡。
  • 驱动器、保险丝、接触器、BMS和电池最终型号未冻结前,相关限值必须与厂家额定和实测结果取更严格者。
  • L01不是首轮测试;它必须排在其余18项通过之后,并在软围栏、有线急停和观察员条件下执行。