在一個家庭環境中,家庭成員常常被要求去拿電視櫃上的遙控器。有時連寵物狗也無法倖免。但總有時候,人們會遇到無法支使他人的情況。而寵物狗也未必能理解指令。人類對機器人的期望,就是能夠幫助完成這些瑣事,這是我們對機器人的最終夢想。
最近,紐約大學和Meta合作研發了一款具備自主行動能力的機器人。當你告訴它:“請把桌子上的玉米片放到床頭櫃上”,它就會通過自主尋找玉米片,並規劃最佳路線和相應動作,成功地完成任務。此外,機器人還具備整理物品和處理垃圾的能力,為你提供便利。
這個機器人名為OK-Robot,是由紐約大學和Meta的研究者共同建構的。他們將視覺語言模型、導航和抓取的基礎模組整合到一個開放知識型框架中,為機器人的高效拾放操作提供了解決方案。這意味著當我們年紀大了以後,購買一個機器人來幫助我們端茶和倒水可能會成為現實。
OK-Robot的「開放知識」定位是指它透過在大型公開資料集上進行訓練的學習模型。當OK-Robot被放置在新的家庭環境中時,它會從iPhone上獲得掃描結果。根據這些掃描結果,它會使用LangSam和CLIP計算出密集的視覺語言表徵,並將其儲存在語義記憶體中。然後,當給定一個需要拾取的物體的語言查詢時,查詢的語言表徵會與語義記憶進行匹配。接下來,OK-Robot會逐步應用導航和拾取模組,移動到所需的物體並將其拾取。類似的過程也可用來丟棄物體。
為了研究OK-Robot,研究者在10個真實的家庭環境中對其進行了測試。透過實驗,他們發現在一個未見過的自然家居環境中,該系統的零樣本部署成功率平均為58.5%。然而,這一成功率在很大程度上取決於環境的"自然程度"。他們還發現,透過改進查詢方式、整理空間以及排除明顯具有對抗性的物體(如太大、太半透明、太滑),這一成功率可以提高至約82.4%。
在紐約市的 10 個家庭環境中,OK-Robot 嘗試了 171 個拾取任務。
###為了鼓勵和支持其他研究者在開放知識機器人領域的工作,作者表示將共享 OK-Robot 的程式碼和模組。更多資訊請見:https://ok-robot.github.io。 ######
研究主要解決這個問題:從B 上拿起A 並將其放在C 上,其中A 是一個物體,B 和C 是現實世界環境中的某個地方。要實現這一點,所提系統需要包含以下模組:開放詞彙物件導航模組,開放詞彙 RGB-D 抓取模組以及釋放或放置物件的啟發式模組(dropping heuristic)。
開字詞彙物件導覽
#首先是掃描房間。開放詞彙物件導航遵循了 CLIP-Fields 的方法,並假設有一個預先映射階段,即使用 iPhone 手動掃描家庭環境。這種手動掃描只是用 iPhone 上的 Record3D 應用程式拍攝家庭視頻,這將產生一系列帶有位置的 RGB-D 圖像。
掃描每個房間的時間不到一分鐘,一旦資訊收集完畢,RGB-D 影像以及相機的姿態和位置就被匯出到專案庫中進行地圖建構。錄製時必須捕捉地面表面以及環境中的物體和容器。
接下來是進行物件偵測。在掃描的每一幀上,會有一個開放詞彙物件偵測器對掃描的內容進行處理。本文選擇 OWL-ViT 物件偵測器,因為這種方法在初步查詢中表現較好。研究者在每一幀上應用偵測器,並提取每個物件邊界框、CLIP 嵌入、偵測器置信度,並將它們傳遞到導航模組的物件儲存模組中。
然後進行以物件為中心的語意儲存。本文借助VoxelMap 來完成這一步,具體來說,他們使用深度影像和相機收集的姿態將物件掩模反向投影到現實世界座標中,這種方式可以提供一個點雲,其中每個點都有一個來自CLIP 的關聯語意向量。
之後是查詢記憶模組:給定一個語言查詢,本文使用 CLIP 語言編碼器將其轉換為語義向量。由於每個體素都與家中的真實位置相關聯,因此可以找到最有可能找到查詢對象的位置,類似於圖 2 (a)。
必要時,本文將「A on B」實作為「A close B」。為此,查詢 A 選擇前 10 個點,查詢 B 選擇前 50 個點。然後計算 10×50 成對歐氏距離,並選擇與最短 (A, B) 距離相關的 A 點。
完成上述過程,接下來就是導航到現實世界中的物件:一旦得到了現實世界中的3D 位置座標,就可以將其用作機器人的導航目標來初始化操作階段。導航模組必須將機器人放置在手臂可觸及的範圍,以便機器人隨後可以操縱目標物體。
機器人對現實世界物件的抓握
#與開放詞彙導航不同,為了完成抓取任務,演算法需要與現實世界中的任意物件進行物理交互,這使得這部分變得更加困難。因此,本文選擇使用預先訓練的抓取模型來產生現實世界中的抓取姿態,並使用 VLM 進行語言條件過濾。
本文使用的抓取生成模組是 AnyGrasp,它在給定單一 RGB 影像和點雲的場景中使用平行鉗口夾具產生無碰撞抓取。
AnyGrasp 提供了場景中可能的抓握(圖3 第2 列),包括抓握點、寬度、高度、深度和抓握分數,該分數表示每次抓握中未校準的模型置信度。
使用語言查詢過濾抓握:對於從 AnyGrasp 獲得的抓握建議,本文採用 LangSam 過濾抓握。本文將所有建議的抓握點投影到影像上,並找到落入物件遮罩的抓握點(圖 3 第 4 列)。
抓握執行。一旦確定了最佳抓握(圖 3 第 5 列),就可以使用簡單的預抓握方法來抓握目標物。
釋放或放置物件的啟發式模組
#抓握物件後,接下來就是將物件放置在什麼地方。與 HomeRobot 的基線實現不同,該方法假設物體放下的位置是一個平坦的表面,本文進行了擴展,還涵蓋了凹物體,如水槽、箱子、盒子和袋子。
至此,導航、抓握和放置都有了,之後就可以直接將它們組合起來,該方法可以直接應用於任何新的家庭。對於新的家居環境,該研究可以在一分鐘內掃描房間。然後,只需不到五分鐘即可將其處理到 VoxelMap 中。一旦完成,機器人就可以立即放置在選定的場地並開始運作。從到達一個全新的環境到開始在其中自主操作,該系統平均需要不到 10 分鐘即可完成第一個取放任務。
在超過 10 個家庭實驗中,OK-Robot 在取放任務上實現了 58.5% 的成功率。
該研究也對 OK-Robot 進行了深入探索以更好地理解其故障模式。研究發現,故障的主要原因是操作故障,然而,仔細觀察後注意到失敗的原因是長尾造成的,如圖4 所示,失敗的三大原因包括未能從語義記憶中檢索到要導航到的正確物件(9.3%) ,從操作模組獲得的姿態難以完成(8.0%),以及硬體原因(7.5%)。
由圖 5 可得,OK-Robot 中使用的 VoxelMap 略微優於其他語意記憶模組。至於抓取模組,AnyGrasp 明顯優於其他抓取方法,在相對規模上比最佳候選方法(自上而下抓取)的效能高出近 50%。然而,基於啟發式的演算法,HomeRobot 的自上向下抓取擊敗了開源 AnyGrasp 基線和 Contact-GraspNet,這一事實表明建立真正的通用抓取模型仍然很困難。
圖 6 展示了 OK-Robot 在各個階段失敗的完整分析。由分析可得,當研究者對環境進行清理並刪除模糊物體時,導航準確率會上升,總錯誤率從 15% 下降到 12%,最後一直下降到 4%。同樣,當研究者清理環境中的雜物時,操作準確率也提高了,錯誤率從 25% 下降到 16%,最後下降到 13%。
以了解更多內容,請參考原文。
以上是Meta和紐約大學開發的OK-Robot:茶倒水機器人已經出現的詳細內容。更多資訊請關注PHP中文網其他相關文章!