Task and Motion Planning
- 又稱: TAMP, integrated task and motion planning, combined task and motion planning
- 類別: Planning & manipulation › Task-level
- 標籤: task-planning, motion-planning, manipulation
整合式規劃,同時求解要執行什麼樣的動作序列,以及如何以可行的機器人運動執行每個動作。
定義
任務與運動規劃(TAMP)是一種整合式的規劃方法,針對機器人操作與移動操作任務,同時求解高層的任務規劃問題(要執行什麼樣的動作序列)與低層的運動規劃問題(如何實際執行每個動作)。TAMP 解決了分開處理這兩個問題的根本限制:忽略幾何的任務計畫可能提出物理上不可能的動作,而忽略任務結構的運動規劃器則無法推理多步驟的目標。
設想一個機器人需要從雜亂的架子上、好幾個物體後方取出一個馬克杯。單純的任務規劃器可能會提出「拿起馬克杯」,卻沒考慮到馬克杯被遮擋、拿不到。單純的運動規劃器則無法推理先移開擋路物體的策略。TAMP 把兩者交錯進行:它在提出高層動作序列的同時持續檢查幾何可行性,一旦發現某個動作不可行就回溯,並探索替代策略。
技術上,TAMP 在兩個抽象層級上運作,兩者之間以稱為幾何落實(geometric grounding)的橋梁相連。任務層使用符號表示(物體、像「on(mug, shelf)」這樣的謂詞、帶有前置條件與效果的動作),並以傳統 AI 規劃演算法搜尋動作序列。運動層使用連續的幾何表示(機器人組態、物體位姿、碰撞幾何),並計算可行的軌跡、抓取與放置方式。幾何落實層則產生具體的抓取位姿、放置位置與運動計畫,把每個符號動作實例化。
關鍵的 TAMP 演算法包括 PDDLStream,它以串流函數擴充 PDDL 規劃語言,在搜尋過程中按需延遲產生幾何數值(抓取、IK 解、路徑)。邏輯幾何規劃(Logic-Geometric Programming)把 TAMP 表述為結合邏輯與非線性最佳化的問題。階層式規劃方法則把問題分解成多個層級,每一層細化上一層的計畫。
現代 TAMP 研究正在多個層級整合學習:學習而來的取樣器提出可能可行的抓取與放置(取代窮舉式的幾何搜尋),學習而來的啟發式引導任務層搜尋朝向有希望的動作序列,基礎模型則為物體操作提供常識先驗。結構化的 TAMP 推理與學習元件的結合,是讓機器人能在複雜、雜亂環境中可靠規劃的一條有前景的道路。
為何重要
任務與運動規劃(TAMP)是機器人處理涉及多個物體、先後相依關係與物理約束之真實世界操作任務所需的規劃框架。做三明治、把碗盤放進洗碗機或裝箱,都需要把要做什麼(任務規劃)與怎麼做(運動規劃)緊密整合起來推理。單靠任何一個元件都不夠。隨著機器人進入非結構化環境,任務無法事先寫好腳本,具體的動作序列必須根據當下場景的幾何即時規劃,TAMP 也就格外重要。
主要應用
- 雜亂環境中的操作:規劃重新排列的序列,以取得擺得很密的架子或料箱中的目標物體
- 組裝規劃:決定組裝順序,同時根據半成品的當前狀態驗證每一步在幾何上可行
- 廚房與家務:像準備餐點這類多步驟任務,每個動作都會改變場景並限制之後的動作
- 物流與棧板堆疊:規劃既節省空間、又能在機器人可及範圍與抓取約束下實現的裝箱排列
- 多機器人操作:協調由哪個機器人在何時執行哪個動作,並對每項分配進行幾何可行性檢查
- 營建機器人:為建造結構規劃序列,每個構件都必須以幾何上有效的順序放置
實際應用
MIT 的 PDDLStream 框架已被用來為 Franka Panda 手臂規劃雜亂桌面情境中的複雜操作任務。給定像「把紅色積木放到藍色積木上面」這樣的目標,PDDLStream 的任務規劃器會判斷出必須先移開擋路的物體,接著呼叫串流函數,為每個物體產生候選的抓取位姿、為每個抓取產生 IK 解,並為每次搬移產生無碰撞的運動計畫。如果提出的抓取到不了,或運動計畫會撞到其他物體,規劃器就會自動回溯並嘗試替代動作,例如先移開另一個擋路的物體,或改用不同的抓取朝向。這個系統能處理桌上有 10 個以上物體的情境,在 10 秒內產生完整的操作計畫。
常見誤解
- TAMP 只是先執行任務規劃器、再執行運動規劃器:關鍵在於交錯進行,運動可行性會影響任務層的決策,不可行的動作會觸發任務層的回溯與重新規劃
- TAMP 對即時機器人應用來說太慢:雖然完整的 TAMP 可能運算成本很高,但現代方法使用學習而來的啟發式與延遲評估,在實際問題上達到以秒計的規劃時間
- LLM 讓 TAMP 過時了:LLM 提供有用的常識先驗,但無法驗證幾何可行性;TAMP 的強項是保證計畫在物理上可以執行,這是單靠 LLM 做不到的
- TAMP 只能在完美的世界模型下運作:現代 TAMP 系統會納入感知的不確定性、在觀測後重新規劃,並使用信念空間規劃來處理部分可觀測性
誰需要了解
- 研究雜亂環境中操作的機器人學研究人員
- 為多步驟任務建置系統的運動規劃工程師
- 結合符號推理與幾何運算的 AI 研究人員
- 開發彈性揀貨與包裝系統的倉儲自動化工程師
- 研究 AI 規劃與機器人學交會處的研究生
相關技術
- PDDLStream
- 邏輯幾何規劃
- Fast Downward
- OMPL(運動規劃)
- Drake 工具箱
- Manipulation Station
相關專案
- LeRobot: HuggingFace ML library for real-world robotics in PyTorch
- Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim
- NVIDIA Isaac GR00T: NVIDIA open foundation model for humanoid robot reasoning and skills
- OpenVLA: 7B-parameter Vision-Language-Action model for robotic manipulation
- BehaviorTree.CPP: C++ behavior tree library for robot task planning, powering Nav2 and ROS 2 systems
- Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
影片
- MIT Robotics - Florian Shkurti - Learning to Plan and Planning to Learn: MIT Robotics
- Lecture 22: MIT 6.800 Robotics Manipulation - Task and Motion Planning: underactuated