Open Source Robotics

精選高品質的開源機器人專案、工具與軟體,推動機器人社群向前發展。

PlanSys2

以 PDDL 為基礎的 ROS 2 任務規劃系統:在真實機器人上進行符號 AI 規劃

授權條款

Apache-2.0

概述

PlanSys2(ROS 2 Planning System)是 ROS 2 生態系的參考任務規劃框架,由 Universidad Rey Juan Carlos 的 Intelligent Robotics Lab 打造。它把古典 AI 規劃帶到真實機器人上:領域與問題以 PDDL 撰寫,計畫由可插拔的求解器(POPF、TFD)計算,執行時則將計畫編譯成行為樹,其動作節點就是一般的 ROS 2 元件,從符號目標(「把物體送到 B 房間」)一路銜接到實際運作的機器人行為。

PlanSys2 的架構將規劃拆分成相互協作的 ROS 2 節點:保存 PDDL 模型的領域專家、以謂詞與目標維護世界狀態的問題專家、呼叫 PDDL 求解器的規劃器節點,以及將計畫轉換成行為樹的執行器,在計畫允許時進行平行執行。動作以具備生命週期管理的 ROS 2 外掛實作,因此像 (move robot room-a room-b) 這樣的 PDDL 動作會綁定到一次 Nav2 導航呼叫;也支援拍賣式的多機器人執行,以及失敗時重新規劃。終端機(CLI)讓開發者能以互動方式檢視與操作知識庫,教學則涵蓋與 Nav2 及感知的整合。PlanSys2 發表於 IROS 2021,並跨多個 ROS 2 發行版持續維護;它承襲自 ROSPlan 系譜,是 ROS 2 使用者在狀態機不再夠用時的去處:也就是機器人需要針對目標、前置條件與效果推理,而不是照著寫好的序列執行時。它填補了一個真正的平台缺口:在導航層之上的審慎式符號自主。

為何重要

PlanSys2 是 ROS 2 堆疊中缺少的審慎層:它是持續維護、發表於 IROS 的 ROSPlan 後繼者,讓真實機器人能進行目標層級的符號規劃,也就是 Nav2 之上的那一層,把「前往位姿」轉化為「完成這項任務」。

解決的問題

以狀態機編寫的複雜任務會變得難以維護且脆弱。PlanSys2 讓機器人能從 PDDL 目標自動規劃動作序列、在失敗時重新規劃,並透過綁定到真實 ROS 2 動作的行為樹來執行。

重點

  • 以 PDDL 進行領域/問題建模,搭配可插拔的求解器(POPF、TFD)
  • 計畫會編譯成行為樹,支援平行執行與失敗觸發的重新規劃
  • 動作是 ROS 2 生命週期外掛:一個 PDDL 動作可綁定到例如一次 Nav2 呼叫
  • 互動式規劃終端機,用於檢視知識庫
  • 發表於 IROS 2021;ROS 2 任務規劃中承襲 ROSPlan 系譜的標準

適用對象

  • 打造任務層級行為的自主工程師
  • 服務與物流機器人開發者
  • 在機器人上部署的 AI 規劃研究人員
  • 覺得狀態機不敷使用的 ROS 2 開發者

限制

  • 對非規劃領域的工程師而言,PDDL 建模有相當的學習曲線
  • 古典規劃大多假設動作結果是確定的:機率性的領域需要特別處理
  • 求解器效能限制了即時重新規劃所能處理的問題規模

本網站需要 JavaScript 才能正常運作。請啟用 JavaScript 以瀏覽我們的開源機器人專案。