規畫(Planning)
規畫負責根據感知結果產生決策與行動策略,決定要去哪、怎麼走及何時動作。
1. 目標規畫
- 目標: 定義任務位置或行動目標
- 輸入: 使用者命令、任務排程
- 輸出: 目標姿態或任務狀態
- 範例: 到指定座標、沿固定路線、執行取放任務
- ROS 2 範例:
/goal_pose
2. 全域規畫
- 目標: 在已知地圖上找出無碰撞路徑
- 輸入: 地圖 + 目前姿態 + 目標
- 輸出: 全域路徑
- 常見演算法: A*、Dijkstra、Hybrid A*
- ROS 2 Topic 範例:
/plan
3. 區域規畫
- 目標: 依照即時感測結果調整短期路徑或速度命令
- 輸入: 全域路徑、動態障礙資訊
- 輸出: 短期軌跡或速度命令
- 常見方法: DWA、MPC
- ROS 2 Topic 範例:
/local_plan
/cmd_vel
4. 行為規畫
- 目標: 依情境切換高階策略
- 範例: 為障礙物停下、路徑受阻時重新規畫、切換導航模式
- 應用: Autoware 行為規畫、服務型機器人任務管理
5. 實務實作(ROS 2)
- 規畫模組會訂閱感知輸出:
/map
/perception/objects
/localization/pose - 並產生供執行模組使用的命令:
/plan
/cmd_vel - 常見套件:Nav2(行動機器人)、Autoware(自駕規畫)
- 視覺化:RViz2(路徑、軌跡、障礙)、rqt_graph(資料流)
規畫模組將感知資訊轉成可執行的策略,下一步即交給 執行(Action)模組執行。