本文回顾 2026 年 7—8 月的项目,包含后续整理与补充。实验数字和验证范围按原始项目记录陈述;文末仓库路径为记录索引。

电脑里的闭环接好了,接下来总得碰一碰真实小车。

但先别急着让它跑。主机掉线了怎么办,程序报错了怎么办,结束实验时能不能把它停下来?这些不确定,后面调什么参数都不踏实。所以这一步先查命令和状态怎么走,尤其是怎么收场。

主机与固件分别负责什么

当前路径以 STM32 固件为实时控制边界,通过 ESP-01S 和 TCP 与主机交换命令、状态和遥测:

主机
  -> TCP / ESP-01S
  -> STM32 运行时协议
  -> 参数、启动或停止状态机
  -> 电机 PWM 与传感器遥测

分工先定清楚:主机管实验会话和记录,STM32 管实时控制、看门狗、心跳租约、超时保护和停止。上面的程序可以出错,但底下不能因为等不到下一条命令,就一直按上一条跑。

先做一次小范围 Smoke

这里的 Smoke 可以理解成一次小范围的接入检查。目标暂时很朴素,把下面这串事情走完:

  • 参数命令是否被正确解析;
  • 每个参数更新是否得到匹配的 ACK/STATUS;
  • START 是否进入 RUNNING;
  • 主机是否持续发送心跳;
  • 心跳中断或会话结束时,系统是否回到停止状态;
  • 主机是否发送终态 STOP,并观察到 STOPPED;
  • TCP、相机、读取线程和原始日志是否都能完成清理。

到这一步,就算全部通过,也只说明这次控制会话能正常开始、维持和结束。车跑得好不好,还没测。

2026-08-06:这条链路通了

在 2026-08-06 的一次授权抬轮 Smoke 中,报告记录了:

检查项 结果 范围
控制生命周期 VERIFIED SHAKEDOWN_PASS,没有报告主流程、解析或清理错误
参数更新 VERIFIED 580、480、380、280、260 五个受限速度更新均返回相关 APPLIED ACK
启动与停止 VERIFIED 同一会话观察到 START/RUNNING 和 STOP/STOPPED
心跳与清理 VERIFIED 心跳、静默确认、socket 关闭和采集清理完成
物理性能 INSUFFICIENT EVIDENCE 抬轮实验没有测量地面轮速、位移、循迹效果或轨迹改善

这一轮总算把入口和出口走通了:参数有人收,启动有状态,最后也停下并清理了会话。车轮是抬起来的,所以地面上的表现先别算进去。

ACK 不能代替运动观测

ACK 确认的是协议层对命令或状态的响应。它不包含下面这些运动测量:

  • 轮子实际转了多少转;
  • 车体是否发生了位移;
  • 电机负载变化后 PWM 是否仍然对应同样速度;
  • 车辆是否沿着预期轨迹行驶;
  • 新候选是否比 baseline 更好。

这里特别容易看错的是 m1..m4。遥测里有四个电机数值,看起来很像反馈,但它们仍然是命令值,没有经过编码器变成实测 RPM。就算以后用相机算出车体速度,那也是整车运动,不能顺手改名叫轮速。

通过了,然后又发现 IMU 有问题

后续抬轮记录出现了控制会话通过、IMU 输入无效的情况。SHAKEDOWN_PASS 只覆盖控制与清理流程,不包含所有传感器的有效性。

一次后续运行仍然返回了控制和清理层面的 SHAKEDOWN_PASS,但原始 26 字节 telemetry 中的 imu_init_status 为 0x21,对应的有效性信息也没有持续满足 IMU 输入要求。因此,这次运行不能被用作有效 IMU 姿态观测证据。

因此这次保留两个结果:控制会话通过,IMU 观测无效。后续相机、物理运动和算法效果也分别验收,避免总状态掩盖具体故障。

候选上车时复用控制生命周期

对真实机器人来说,安全状态机应该先于候选优化存在。当前路径保留了这些约束:

参数更新
  -> ACK/STATUS 相关确认
  -> START/RUNNING
  -> 心跳租约维持
  -> 超时、line loss 或异常时禁止运动
  -> STOP/STOPPED

以后挑出了仿真候选,也得人工确认,再从这条受控路径上车。传输、协议、心跳、停止都已经有入口了,新实验继续复用。临时再写一个“发条命令试试”的客户端,很容易把前面刚做好的保护绕掉。

从抬轮检查到地面实验还缺什么

这次受控硬件 Smoke 连通了 STM32、ESP-01S、TCP、运行时协议、ACK、心跳、START/RUNNING、STOP/STOPPED 和清理流程。后续可以考虑沿用它采集真实数据、进行 baseline/candidate 对照;这是对复用方式的判断,尚无地面运动、轮速、位移、循迹、数字孪生校准或控制器改进的结果。

当时计划先在明确授权、固定赛道和完整观测条件下采集真实运动数据,再做匹配的实机比较。项目现已基本停止维护,此处保留原阶段路线。

相关记录