09 故障排查
串列埠命令透過串列埠助手/監視器傳送:在傳送框輸入後按 Enter(UartAssist 勾選"傳送新行"); 串列埠工具/串列埠助手(含 Windows UartAssist 下載)見 03 頁 3.3。
9.1 常見現象
| 現象 | 可能原因 | 處理 |
|---|---|---|
串列埠顯示 waiting for IMU startup 5000 ms... 後 IMU not ready | IMU 上電慢、接線不良、地址不對 | 等待 5–10 s;檢查 3V3 供電、SDA=GPIO6 / SCL=GPIO7、地址 0x23 |
IMU lost -> bus reset + re-init 反覆出現 | I²C 線過長、接觸不良 | 縮短 I²C 線、檢查焊接/杜邦頭 |
燒錄報 could not open port / Access is denied | 串列埠被監控或監視器佔用 | 先關閉 hw_monitor.py / 串列埠監視器再燒錄 |
| 放倒後長時間不動 | 身體未靜止或手仍扶著 | 鬆手並保持靜止 ≥0.5 s;觀察 getup start 事件 |
| 放倒後立即亂擺、方向錯誤 | 跌倒門在滾動中觸發、姿態分類錯誤 | 確認擺放後靜止;必要時重新放倒 |
執行到一半停住,14 s 後 executor timeout | 該姿態參考未完成 | 屬正常兜底;1.5 s 後自動重試;連續失敗請記錄日誌 |
偶爾出現 executor re-plan 切換 | roll_neg 按壓失敗後的正常兜底重試 | 觀察最終是否 done |
| 舵機發出持續吱聲/發熱 | 堵轉、目標頂死 | 立即 x 卸力或斷電;檢查關節限位與機械干涉 |
| 扶正時手臂掃到機身 | 肩部大幅動作 | 檢查 Q_SHOULDER_MAX 與機械間隙;保持底座結構高度(約 68 mm) |
| 放倒後 up 讀數與實際姿態不符(躺姿長期偏斜 5° 以上) | 加速度計零點未標定 | 站立在水平桌面發 c(見 06 除錯頁 6.2) |
| 收臂後手臂不在正中豎直 | 零點漂移(換齒/拆裝後未重定零) | 按 05 零點工具 重新定零並固化 |
| 扶正後舵機高頻顫抖 | 模擬舵機大幅運動/堵轉後的瞬態自激(韌體輸出恆定) | 會自行衰減;可墊橡膠減振或換數字舵機;捏住手臂應立即安靜 |
| 狀態頁/配網打不開 | 瀏覽器代理未放行,或熱點未開啟 | 把 192.168.4.1 加入代理例外;串列埠發 w 開啟 WiFi |
9.2 安全命令
| 情況 | 命令 |
|---|---|
| 需要立即停止動作 | s(保持當前目標)或 x(釋放 PWM,舵機卸力) |
| 舵機卸力後恢復 | r 重新初始化 PWM 並回中位 |
| 動作方向反了 | v(肩)/ b(肘)翻轉符號 |
9.3 記錄失敗現場
出現異常時保留 logs/hw_monitor.log 對應時間段,重點欄位:
text
<時間> getup start pose=... up=(x,y,z)
<時間> executor pose=... ph=... tick=... tgt=... up=... q=... sw=...
<時間> executor re-plan A -> B up=(x,y,z)
<時間> standing -> executor done | executor timeout
