Open Source Robotics

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

Task Planning

  • 又稱: robot task planning, symbolic planning, high-level planning, action planning
  • 類別: Planning & manipulation › Task-level
  • 標籤: task-planning, planning, autonomous

推理前置條件與效果,決定機器人為達成目標必須執行的高層動作序列。

定義

任務規劃是決定機器人為達成指定目標必須執行的高層動作序列的過程,它推理動作的前置條件、效果與動作之間的相依關係,但還不計算具體的運動。它在運動規劃回答「機器人該怎麼移動?」之前,先回答「機器人該做什麼?」

設想一個負責煮咖啡的機器人。任務規劃決定這樣的序列:走到櫃子前、打開櫃子、拿起馬克杯、把馬克杯放到咖啡機下、按下沖煮按鈕、等待、拿起馬克杯、送到桌上。每一步都有前置條件(拿馬克杯之前櫃子必須是開的)與效果(按下沖煮會把馬克杯裝滿)。任務規劃對這些邏輯關係進行推理,找出有效的順序。

傳統的任務規劃源自 AI 規劃研究,使用 PDDL(Planning Domain Definition Language)等形式化表示來定義帶有前置條件與效果的動作綱要。Fast Downward 與 STRIPS 等規劃器在狀態空間中搜尋,找出把初始狀態轉換成目標狀態的動作序列。這些方法提供形式化的保證(完備性、最佳性),但需要人工撰寫領域模型。

現代方法越來越常使用大型語言模型作為任務規劃器。給定像「把廚房餐桌收拾乾淨」這樣的自然語言目標,LLM 會運用它對物體如何運作、有哪些動作可用的常識知識,產生逐步的計畫。SayCan(Google)等系統把每個提出的動作與機器人學到的技能庫進行比對評分,讓 LLM 的建議落實在機器人的實際能力上。

任務規劃研究的前沿是任務與運動規劃(TAMP),它把高層的任務推理與幾何及運動學可行性檢查整合在一起。TAMP 不把任務與運動分開規劃,而是交錯進行:當任務規劃器提出「拿起馬克杯」時,運動規劃器會立即檢查是否有可行的無碰撞抓取,若沒有,任務規劃器就會探索替代的動作序列。這種整合能避免產生邏輯上正確、物理上卻不可能的計畫。

隨著機器人在正確動作序列並未預先決定的非結構化環境中承擔時間跨度更長的多步驟任務,任務規劃也變得越來越重要。

為何重要

任務規劃區分了只能執行個別技能的機器人,與能自主完成複雜多步驟目標的機器人。沒有任務規劃,機器人在每個新情境都需要明確的逐步程式設計。有了它,被賦予高層目標的機器人就能推理如何把目標分解成可達成的步驟,在步驟失敗時調整,並找出替代策略。隨著機器人進入任務多變且難以預測的住家與非結構化工作場所,在任務層級進行規劃、而不是被寫死成固定流程的能力,就成為實用自主性的關鍵能力。

主要應用

  • 家用機器人:為涉及許多物體與步驟的備餐、清潔與整理任務規劃序列
  • 物流與倉儲:在對順序與時間有約束的多步驟工作流程中,規劃揀貨、包裝與配送序列
  • 組裝規劃:考量幾何約束、工具需求與緊固件相依關係,決定零件的組裝順序
  • 服務型機器人:為醫療照護協助、餐旅與零售情境規劃互動序列
  • 多機器人協調:把子任務分配給機器人團隊,並安排動作順序以避免衝突
  • 災害應變:在動態、不確定的環境中規劃搜尋、清除瓦礫與救出受困者的序列

實際應用

Google 的 SayCan 系統展示了現代機器人的任務規劃。給定像「我把可樂打翻了,你能幫忙嗎?」這樣的自然語言指令,系統會使用大型語言模型產生候選的下一個動作(「找一塊海綿」、「拿起罐子」、「走到水槽」)。每個候選動作都依兩個因素評分:LLM 評估該動作對目標有多大用處(語言分數),以及一個學習而來的可供性函數,估計機器人在目前狀態下是否真的能執行該動作(落實分數)。兩個分數的乘積決定下一個動作。機器人執行它、觀察結果,並重複這個過程直到達成目標。

常見誤解

  • 任務規劃與運動規劃是同一件事:任務規劃決定「做什麼」(邏輯動作序列),運動規劃決定「怎麼移動」(無碰撞軌跡);兩者在不同的抽象層級運作
  • LLM 已經取代了傳統的任務規劃器:LLM 提供彈性的常識推理,但缺乏形式化保證;對安全關鍵應用來說,傳統規劃器或混合方法仍然重要
  • 任務規劃需要完整的世界知識:現代規劃器透過重新規劃、應變分支,以及在執行期間以線上感測更新世界狀態來處理不確定性
  • 簡單的任務不需要任務規劃:即使是擺餐桌這樣看似簡單的任務,也涉及順序約束(先放盤子再放餐具、先清出空間再擺放),能從明確的規劃中受益

誰需要了解

  • 為多步驟任務建置自主系統的機器人工程師
  • 整合語言模型與機器人執行的 AI 研究人員
  • 設計彈性製造工作流程的工業自動化工程師
  • 打造家用或醫療照護助理的服務型機器人開發者
  • 研究 AI 規劃及其機器人應用的研究生

相關技術

  • PDDL
  • SayCan
  • Fast Downward 規劃器
  • 任務與運動規劃(TAMP)
  • PDDLStream
  • 行為樹
  • HTN 規劃

相關專案

  • OpenMower: Open-source project converting commercial mowers into autonomous RTK-GPS guided robots
  • Nav2: ROS 2 navigation stack with path planning and obstacle avoidance for mobile robots
  • BehaviorTree.CPP: C++ behavior tree library for robot task planning, powering Nav2 and ROS 2 systems
  • Linorobot2: Low-cost open-source autonomous mobile robots built on ROS 2 with Nav2 navigation
  • PlanSys2: The PDDL-based task planning system for ROS 2 — symbolic AI planning on real robots
  • MiniHawk VTOL: 3D-printable VTOL aircraft that takes off as a tricopter and cruises as a fixed wing

影片

  • Big Change in How We Train Robots: Cleo Abram

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