李飛飛團隊新作:讓機器人更懂家務!(附開源代碼)

最近,斯坦福大學李飛飛教授的研究團隊讓家務機器人玩出了新花樣!

能夠靈活自如地倒茶、疊衣服、整理書籍、扔垃圾:

要知道今年三月份的時候,他們的家務機器人還只能簡單地擦個桌子,切個水果:

而僅過了半年,機器人就能如此流暢地自學家務,做得有模有樣了:

這源於他們發明的一種叫ReKep的黑科技,ReKep讓機器人學會了"看重點"做家務。它把複雜動作拆解成簡單步驟,並標記出關鍵點。

以倒茶爲例,機器人先用攝像頭找到茶具位置,然後識別茶壺把手、壺嘴、杯口等關鍵點。

ReKep會告訴機器人這些點之間該保持什麼關係,比如怎麼拿壺、傾倒角度和力度等。機器人按這些規則行動就能漂亮地完成任務。

更厲害的是,機器人還能自主學習。它會記住哪些動作效果好,不斷改進自己的"倒茶技能"。這種方法很靈活,換了新茶具機器人也能應對自如。

目前,關於 ReKep 技術的論文已在 arXiv 公開,代碼已開源。

論文標題:ReKep: Spatio-Temporal Reasoning of Relational Keypoint Constraints for Robotic Manipulation

論文地址:https://arxiv.org/pdf/2409.01652

項目網站:https://rekep-robot.github.io/

項目代碼:github.com/huangwl18/ReKep

下面讓我們再深入瞭解一下ReKep是如何工作的~

▍關係關鍵點約束:靈活而高效的任務表示

傳統的機器人操作方法通常依賴於預定義的物體模型和嚴格的任務規劃,難以適應複雜多變的現實環境。ReKep提出了一種新的思路 - 用一系列關鍵點之間的約束關係來描述任務目標和過程。

具體來說,ReKep將每個操作任務分解爲多個階段,每個階段包含兩類約束:

子目標約束:描述該階段結束時需要滿足的關鍵點關係

路徑約束:描述該階段執行過程中需要持續滿足的關鍵點關係

這些約束被表示爲Python函數,輸入是一組3D關鍵點的座標,輸出是一個數值成本。約束滿足時,成本應該小於等於0。

舉個例子,倒茶這個任務可以分爲三個階段:抓握、對準、傾倒。第一階段的子目標約束可能是"機器人末端執行器應該靠近茶壺把手"。第二階段的路徑約束可能是"茶壺應該保持直立,避免溢出",而子目標約束是"茶壺嘴應該在杯口上方"。第三階段的子目標約束則可能指定傾倒的角度。

這種表示方法非常靈活,可以描述各種複雜的空間和時序關係,適用於多階段、實際場景、雙臂協調、動態響應等各種類型的任務。同時,由於約束是以Python函數的形式給出,可以直接被優化求解器使用,從而高效地生成機器人動作。

▍優化求解:從約束到動作的橋樑

有了ReKep約束,如何生成具體的機器人動作呢?研究人員採用了一種分層優化的方法。

首先,對於每個階段,求解一個"子目標問題",得到該階段結束時機器人末端執行器應該達到的位姿。這個優化問題的目標是滿足子目標約束,同時考慮一些輔助成本,如避免碰撞、保證可達性等。

然後,求解一個"路徑問題",規劃從當前位置到子目標位置的軌跡。這個優化問題的目標是滿足路徑約束,同時最小化路徑長度、避免碰撞等。

這兩個優化問題被反覆求解,形成一個滾動時域的控制過程。研究人員使用SciPy庫實現了求解器,通過精心的問題分解和算法設計,使得系統能夠以約10Hz的頻率實時運行,快速響應環境變化。

此外,系統還具備"回溯"能力。如果檢測到之前階段的約束被違反(比如茶杯被拿走),就會自動回到前一個階段重新規劃。這使得機器人能夠靈活應對各種意外情況。

▍自動生成:視覺智能賦能任務規劃

ReKep最獨特的優勢在於,它可以藉助大型視覺模型和視覺語言模型,從RGB-D觀察和自然語言指令自動生成約束,無需人工標註。

具體來說,系統首先使用DINOv2模型從圖像中提取有意義的關鍵點候選。然後,將標註了關鍵點的圖像和語言指令輸入GPT-4v模型,生成一系列Python函數形式的ReKep約束。

這個過程可以看作是用代碼(GPT-4v支持的輸出模態)來表達細粒度的空間關係,這些關係往往難以用自然語言準確描述。比如,"把茶壺傾斜到45度"這樣的指令,通過視覺參考就能被準確地轉化爲關鍵點之間的幾何關係。

這種方法極大地提高了系統的通用性和可擴展性。它可以處理各種新穎的任務和環境,而無需針對每個任務進行專門的數據收集或模型訓練。同時,由於約束是以代碼形式給出,它們可以被直接用於優化求解,形成了從高層指令到底層控制的端到端pipeline。

總的來說,ReKep巧妙地結合了約束優化的高效性、關鍵點表示的靈活性,以及大型模型的通用性,爲機器人操作開闢了一條新的道路。研究人員在輪式單臂和固定式雙臂平臺上進行了實驗,展示了系統在多階段、實際場景、雙臂協調、人機協作等各種任務中的出色表現。

這項工作爲未來更加智能、靈活的機器人系統指明瞭方向。隨着視覺和語言模型的進一步發展,我們可以期待看到能夠理解更復雜指令、適應更多樣環境的機器人助手,爲人類的工作和生活帶來便利。