🧪 新教程持續更新中 · 由機械臂到傳感器,跟隨教程從零搭建
跳到主要內容

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 的時間戳檢索。


← 返回教程目錄