🧪 新教程持续更新中 · 从机械臂到传感器,跟着教程从零搭建
跳到主要内容

07 自扶正使用与监控 ​

成品出厂前已逐台完成四方向扶正测试。首次使用时建议仍按 7.2 节把四个方向各验证一次, 确认运输后状态正常。

7.1 操作步骤 ​

  1. 上电时保持机器人直立,等待串口出现 autorun on: get-up waits for a fall;
  2. 把机器人放倒(任意方向),松手并保持静止约 0.5 秒;
  3. 串口出现 getup start pose=<姿态> 后开始自动扶正;
  4. 扶正完成后串口出现 standing -> executor done,执行器回到待命;
  5. 若 14 秒内未完成,串口出现 executor timeout,1.5 秒冷却后跌倒门会再次触发重试。

7.2 四个方向的预期过程 ​

姿态机制实机用时
pitch_neg(顶部朝 −X)肘部撑地 + 肩部回摆直接撬起≈3 s
pitch_pos(顶部朝 +X)直接撬起;若收臂时翻向对侧,姿态重规划接 pitch_pos 再扶正≈5–6 s
roll_pos(顶部朝 −Y)肩部大行程直接杠杆扶正≈3 s
roll_neg(顶部朝 +Y)全行程直接按压 → 肘部楔形泵 ×2 → 必要时鞭甩下砸重试;无需翻滚≈2–6 s

早期固件中 roll_neg 需要"滚过顶部 + 姿态重规划"(5–14 秒);现版本已改为与 +Y 侧镜像的 直接按压机制,四方向动作对称、速度接近。若偶尔出现 executor re-plan roll_neg -> ...,说明该次按压失败进入了兜底重试,属正常退路。

7.3 执行器逻辑(固件内) ​

  • 每个参考路点 20 拍(0.4 s),线性插值;每拍输出限速 0.08 rad;
  • 参考走完后以 0.033 rad/拍把手臂收回中立位;
  • up_z > 0.95 且目标归零持续 50 拍 → 判定完成;
  • 身体停在另一躺姿轴(up_z<0.6、|ω|<0.8 持续 15 拍)→ 中立回撤后切换新姿态参考,最多 5 次;
  • roll_neg 参考带分阶段自适应保持:按压/泵阶段在 up_z<0.92 时保持(各阶段有上限拍数, 按压 40 / 泵 30 / 泵 30 / 鞭甩 40 / 收尾 90 拍);序列中途站起会立即跳到收臂阶段,避免站好后 再被后续动作打倒。

7.4 监控与日志 ​

bash
python tools/hw_monitor.py COM27

(在 SR-Support 目录、已激活 .venv 的终端里运行,见 02 页。 运行前先关闭串口助手/其他监视器;串口工具/串口助手(含 Windows UartAssist 下载)见 03 页 3.3。)

  • 持续读取串口,每 5 秒汇总一次遥测,事件与摘要追加到 logs/hw_monitor.log;
  • 自动记录事件:getup start、executor re-plan、standing、executor timeout、 IMU lost 等;
  • 自动检查舵机越界(肩 [-1.85,+1.82]、肘 ±1.55),越界时写 !! VIOLATION;
  • 执行器运行期间每 0.2 s 输出轨迹:
text
executor pose=roll_neg ph=3 tick=9 tgt=(2.00,-0.80) up=(0.58,-0.24,-0.77) q=(2.00,-0.80) sw=0
字段含义
pose当前参考姿态
ph / tick当前路点相位 / 相位内拍数
tgt目标关节角
up当前 up 向量
q当前关节指令
sw已发生的姿态切换次数

监控程序打开串口会复位 ESP32;烧录前必须先关闭监控。

7.5 记录与复测 ​

建议每次测试记录:姿态、是否 done、用时、切换次数、是否有越界。日志文件即为记录, 可直接用 logs/hw_monitor.log 的时间戳检索。


← 返回教程目录