李飛飛團隊提出ReKep,讓機器人具備空間智能,還能整合GPT-4o
當兩只機器手絲滑地互相合作疊衣服、倒茶、將鞋子打包時,加上最近老上頭條的 1X 人形機器人 NEO,你可能會產(chǎn)生一種感覺:我們似乎開始進入機器人時代了。

事實上,這些絲滑動作正是先進機器人技術(shù) + 精妙框架設(shè)計 + 多模態(tài)大模型的產(chǎn)物。
我們知道,有用的機器人往往需要與環(huán)境進行復(fù)雜精妙的交互,而環(huán)境則可被表示成空間域和時間域上的約束。
舉個例子,如果要讓機器人倒茶,那么機器人首先需要抓住茶壺手柄并使之保持直立,不潑灑出茶水,然后平穩(wěn)移動,一直到讓壺口與杯口對齊,之后以一定角度傾斜茶壺。這里,約束條件不僅包含中間目標(如對齊壺口與杯口),還包括過渡狀態(tài)(如保持茶壺直立);它們共同決定了機器人相對于環(huán)境的動作的空間、時間和其它組合要求。
然而,現(xiàn)實世界紛繁復(fù)雜,如何構(gòu)建這些約束是一個極具挑戰(zhàn)性的問題。
近日,李飛飛團隊在這一研究方向取得了一個突破,提出了關(guān)系關(guān)鍵點約束(ReKep/Relational Keypoint Constraints)。簡單來說,該方法就是將任務(wù)表示成一個關(guān)系關(guān)鍵點序列。并且,這套框架還能很好地與 GPT-4o 等多模態(tài)大模型很好地整合。從演示視頻來看,這種方法的表現(xiàn)相當不錯。該團隊也已發(fā)布相關(guān)代碼。本文一作為 Wenlong Huang。

- 論文標題:ReKep: Spatio-Temporal Reasoning of Relational Keypoint Constraints for Robotic Manipulation
 - 論文地址:https://rekep-robot.github.io/rekep.pdf
 - 項目網(wǎng)站:https://rekep-robot.github.io
 - 代碼地址:https://github.com/huangwl18/ReKep
 
李飛飛表示,該工作展示了視覺與機器人學習的更深層次融合!雖然論文中沒有提及李飛飛在今年 5 年初創(chuàng)立的專注空間智能的 AI 公司 World Labs,但 ReKep 顯然在空間智能方面大有潛力。

方法

關(guān)系關(guān)鍵點約束(ReKep)
首先,我們先看一個 ReKep 實例。這里先假設(shè)已經(jīng)指定了一組 K 個關(guān)鍵點。具體來說,每個關(guān)鍵點 k_i ∈ ?^3 都是在具有笛卡爾坐標的場景表面上的一個 3D 點。
一個 ReKep 實例便是一個這樣的函數(shù):??: ?^{K×3}→?;其可將一組關(guān)鍵點(記為 ??)映射成一個無界成本(unbounded cost),當 ??(??) ≤ 0 時即表示滿足約束。至于具體實現(xiàn),該團隊將函數(shù) ?? 實現(xiàn)為了一個無狀態(tài) Python 函數(shù),其中包含對關(guān)鍵點的 NumPy 操作,這些操作可能是非線性的和非凸的。本質(zhì)上講,一個 ReKep 實例編碼了關(guān)鍵點之間的一個所需空間關(guān)系。
但是,一個操作任務(wù)通常涉及多個空間關(guān)系,并且可能具有多個與時間有關(guān)的階段,其中每個階段都需要不同的空間關(guān)系。為此,該團隊的做法是將一個任務(wù)分解成 N 個階段并使用 ReKep 為每個階段 i ∈ {1, ..., N } 指定兩類約束:

- 一組子目標約束
 

- 一組路徑約束
 
其中 
編碼了階段 i 結(jié)束時要實現(xiàn)的一個關(guān)鍵點關(guān)系,而 
編碼了階段 i 內(nèi)每個狀態(tài)要滿足的一個關(guān)鍵點關(guān)系。以圖 2 的倒茶任務(wù)為例,其包含三個階段:抓拿、對齊、倒茶。
階段 1 子目標約束是將末端執(zhí)行器伸向茶壺把手。階段 2 子目標約束是讓茶壺口位于杯口上方。此外,階段 2 路徑約束是保持茶壺直立,避免茶水灑出。最后的階段 3 子目標約束是到達指定的倒茶角度。
使用 ReKep 將操作任務(wù)定義成一個約束優(yōu)化問題
使用 ReKep,可將機器人操作任務(wù)轉(zhuǎn)換成一個涉及子目標和路徑的約束優(yōu)化問題。這里將末端執(zhí)行器姿勢記為 ?? ∈ SE (3)。為了執(zhí)行操作任務(wù),這里的目標是獲取整體的離散時間軌跡 ??_{1:T}:

也就是說,對于每個階段 i,該優(yōu)化問題的目標是:基于給定的 ReKep 約束集和輔助成本,找到一個末端執(zhí)行器姿勢作為下一個子目標(及其相關(guān)時間),以及實現(xiàn)該子目標的姿勢序列。該公式可被視為軌跡優(yōu)化中的 direct shooting。
分解和算法實例化
為了能實時地求解上述公式 1,該團隊選擇對整體問題進行分解,僅針對下一個子目標和達成該子目標的相應(yīng)路徑進行優(yōu)化。算法 1 給出了該過程的偽代碼。

其中子目標問題的求解公式為:

路徑問題的求解公式為:

回溯
現(xiàn)實環(huán)境復(fù)雜多變,有時候在任務(wù)進行過程中,上一階段的子目標約束可能不再成立(比如倒茶時茶杯被拿走了),這時候需要重新規(guī)劃。該團隊的做法是檢查路徑是否出現(xiàn)問題。如果發(fā)現(xiàn)問題,就迭代式地回溯到前一階段。

關(guān)鍵點的前向模型
為了求解 2 和 3 式,該團隊使用了一個前向模型 h,其可在優(yōu)化過程中根據(jù) ??? 估計 ???。具體來說,給定末端執(zhí)行器姿勢 ??? 的變化,通過應(yīng)用相同的相對剛性變換 ??′[grasped] = T_{???}???[grasped] 來計算關(guān)鍵點位置的變化,同時假設(shè)其它關(guān)鍵點保持靜止。
關(guān)鍵點提議和 ReKep 生成
為了讓該系統(tǒng)能在實際情況下自由地執(zhí)行各種任務(wù),該團隊還用上了大模型!具體來說,他們使用大型視覺模型和視覺 - 語言模型設(shè)計了一套管道流程來實現(xiàn)關(guān)鍵點提議和 ReKep 生成。
關(guān)鍵點提議
給定一張 RGB 圖像,首先用 DINOv2 提取圖塊層面的特征 F_patch。然后執(zhí)行雙線性插值以將特征上采樣到原始圖像大小,F(xiàn)_interp。為了確保提議涵蓋場景中的所有相關(guān)物體,他們使用了 Segment Anything(SAM)來提取場景中的所有掩碼 M = {m_1, m_2, ... , m_n}。
對于每個掩碼 j,使用 k 均值(k = 5)和余弦相似度度量對掩碼特征 F_interp [m_j] 進行聚類。聚類的質(zhì)心用作候選關(guān)鍵點,再使用經(jīng)過校準的 RGB-D 相機將其投影到世界坐標 ?^3。距離候選關(guān)鍵點 8cm 以內(nèi)的其它候選將被過濾掉??傮w而言,該團隊發(fā)現(xiàn)此過程可以識別大量細粒度且語義上有意義的對象區(qū)域。
ReKep 生成
獲得候選關(guān)鍵點后,再將它們疊加在原始 RGB 圖像上,并標注數(shù)字。結(jié)合具體任務(wù)的語言指令,再查詢 GPT-4o 以生成所需階段的數(shù)量以及每個階段 i 對應(yīng)的子目標約束和路徑約束。
實驗
該團隊通過實驗對這套約束設(shè)計進行了驗證,并嘗試解答了以下三個問題:
1. 該框架自動構(gòu)建和合成操作行為的表現(xiàn)如何?
2. 該系統(tǒng)泛化到新物體和操作策略的效果如何?
3. 各個組件可能如何導(dǎo)致系統(tǒng)故障?
使用 ReKep 操作兩臺機器臂
他們通過一系列任務(wù)檢查了該系統(tǒng)的多階段(m)、野外 / 實用場景(w)、雙手(b)和反應(yīng)(r)行為。這些任務(wù)包括倒茶 (m, w, r)、擺放書本 (w)、回收罐子 (w)、給盒子貼膠帶 (w, r)、疊衣服 (b)、裝鞋子 (b) 和協(xié)作折疊 (b, r)。
結(jié)果見表 1,這里報告的是成功率數(shù)據(jù)。

整體而言,就算沒有提供特定于任務(wù)的數(shù)據(jù)或環(huán)境模型,新提出的系統(tǒng)也能夠構(gòu)建出正確的約束并在非結(jié)構(gòu)化環(huán)境中執(zhí)行它們。值得注意的是,ReKep 可以有效地處理每個任務(wù)的核心難題。
下面是一些實際執(zhí)行過程的動畫:


操作策略的泛化
該團隊基于疊衣服任務(wù)探索了新策略的泛化性能。簡而言之,就是看這套系統(tǒng)能不能疊不一樣的衣服 —— 這需要幾何和常識推理。
這里使用了 GPT-4o,提詞僅包含通用指令,沒有上下文示例?!覆呗猿晒Α故侵干傻?ReKep 可行,「執(zhí)行成功」則衡量的是每種衣服的給定可行策略的系統(tǒng)成功率。
結(jié)果很有趣??梢钥吹皆撓到y(tǒng)為不同衣服采用了不同的策略,其中一些疊衣服方法與人類常用的方法一樣。


分析系統(tǒng)錯誤
該框架的設(shè)計是模塊化的,因此很方便分析系統(tǒng)錯誤。該團隊以人工方式檢查了表 1 實驗中遇到的故障案例,然后基于此計算了模塊導(dǎo)致錯誤的可能性,同時考慮了它們在管道流程中的時間依賴關(guān)系。結(jié)果見圖 5。

可以看到,在不同模塊中,關(guān)鍵點跟蹤器產(chǎn)生的錯誤最多,因為頻繁和間或出現(xiàn)的遮擋讓系統(tǒng)很難進行準確跟蹤。















 
 
 


















 
 
 
 