PawAI
GO2開發歷程總整理
-


-
展示現有功能
可透過 D435 攝影機偵測人臉,使用 YuNet + SFace 辨識已註冊的人,例如 Roy。辨識結果會進入 PawAI Brain,讓 PawAI 可以回答「你看到誰?」或主動對熟人打招呼。
-
功能限制
低光、側臉、臉太小、多人同框時辨識穩定度會下降。陌生人警報目前不適合主打,因為 unknown 只代表沒有穩定辨識成資料庫中的人,不一定是真正陌生人。
-
未來想加的功能
加入更完整的人臉註冊 CLI,讓使用者現場新增、驗證、刪除人臉資料。未來也希望加入 re-ID、多人追蹤優化,以及更可靠的陌生人二次確認機制。
-
-
導航避障功能 簡單介紹 和 看影片
影片一:
https://youtu.be/uauIndDDyiE
影片二: https://youtu.be/5Cz16Pounok
-
展示現有功能
目前已整合 RPLIDAR、AMCL、Nav2、reactive_stop、twist_mux 和 nav_capability。可以做短距離相對導航,並在前方障礙進入 danger zone 時透過 reactive_stop 停車。
-
功能限制
導航是目前風險最高的功能。nav_ready 還是 basic gate,D435 depth 目前只阻止新任務,不會自動停掉正在跑的 Nav2 goal。語音直接觸發導航的 Executive NAV executor 還沒完全完成。
-
未來想加的功能
把 D435 depth 融合進 Nav2 local costmap,導入 Nav2 collision_monitor,升級 nav_ready 健康檢查,並補完 Executive NAV executor,讓語音可以安全觸發導航。
-
開發工具介紹和遇到的困難
- [人臉辨識]
- 光線、側臉、臉太小會讓 YuNet 偵測不穩。
- SFace 需要足夠多角度樣本,否則會 unknown 或相似度不足。
- 多人同框時 track 會抖,可能造成重複打招呼。
- 陌生人警報容易誤觸,因為 unknown 不等於真正陌生人,只代表 DB 沒穩定辨識到。
- 註冊流程還是 script,沒有完整 CLI,現場新增教授/同學的臉不夠順。
- [導航避障功能]
- Go2 Pro 內建 LiDAR 對外資料不足,後來改外接 RPLIDAR。
- Nav2、AMCL、TF、costmap、driver 任一層出問題都會讓狗不動。
- 曾發生 5/11 撞牆事件,根因不是 Nav2 看不到,而是 reactive_stop clear 後沉默,mux timeout 後讓 hot teleop 接管。
- /cmd_vel_obstacle 不是限速器,而是高優先權命令通道,設錯會反而主動命令狗前進。
- D435 depth_clear=false 目前只阻止新任務,不會停掉已執行的 Nav2 goal。
- Executive NAV executor 還沒完全接上,所以語音直接導航還不是完整主線。
- [PawAI Brain x PawAI Studio]
- LLM 不能直接控制機器狗,必須只產生 proposed_skill,再交給 Executive 仲裁。
- LLM 可能 timeout、回 invalid JSON、或 persona 沒載入導致回答罐頭。
- single-flight guard 會避免多輪 LLM 同時跑,但 rapid input 可能被 drop。
- Capability injection 太多會讓 PawAI 變成念功能清單,太少又不會介紹能力。
- Studio 一開始只顯示使用者問答,自主 TTS 如 object_remark / greet 沒有進 chat bubble,debug 不方便。
- Gateway 要處理純文字 /tts 和 JSON envelope,否則前端會顯示整段 JSON。
- 文件網站方向
- [人臉辨識]