通過面向目標的獎勵彌合人與機器人的靈活性差距

24年10月來自紐約大學的論文“Bridging the Human to Robot Dexterity Gap through Object-Oriented Rewards”。

直接通過人類視頻訓練機器人是機器人技術和計算機視覺領域的一個新興領域。盡管雙指機械手在雙指夾持器方面取得了顯著進展,但以這種方式讓多指機械手學習自主任務仍然充滿挑戰。造成這一困難的一個關鍵原因是,由于形態差異,在人手上訓練的策略可能無法直接遷移到機械手上。本研究提出 HUDOR 技術,它能夠通過直接從人類視頻中計算獎勵來在線微調策略。重要的是,該獎勵函數基于從現成的點跟蹤器中獲取的面向目標軌跡構建,即使人手和機械手之間存在形態差異和視覺差異,也能提供有意義的學習信號。給定一段人類解決任務(例如輕輕打開音樂盒)的視頻,HUDOR 能夠讓四指 Allegro 機械手僅通過一小時的在線交互就能學會該任務。在四項任務中的實驗表明,HUDOR 的性能比基線提升 4 倍。

人類在日常生活中能夠毫不費力地完成各種靈巧的任務 [1]。讓機器人具備類似的能力對于它們在現實世界中的有效部署至關重要。為此,最近的進展使得雙指夾持器 [2, 3, 4, 5] 能夠利用從遙控機器人數據中進行的模仿學習 (IL) 來學習多模態、長視界和靈巧的行為。然而,事實證明,將此類方法擴展到多指手的復雜任務具有挑戰性。

將基于遙控操作的學習應用于多指手的挑戰源于兩個關鍵問題。首先,即使是通過這種方式實現中等程度的魯棒性也需要大量數據。涉及雙指夾持器 [6, 7, 8, 9] 的任務通常需要數千次演示來訓練魯棒策略。對于動作維度更大的手以及需要更高精度和靈巧性的任務,這種數據需求可能甚至更大。其次,由于在控制多個自由度時需要低延遲和持續反饋,遙操作多指手提出一個具有挑戰性的系統問題 [10, 11, 12]。這使得收集完成靈巧任務所需的大量數據變得更加困難。

一種繞過遙操作的替代方法,是使用人類執行任務的視頻來為機器人制定策略 [13, 14, 15]。然而,之前的大多數方法都需要額外的遙機器人演示 [16] 或人為干預學習 [17] 來進行微調。這些額外的信息通常是必要的,以彌合人手(如在人類視頻數據中看到的那樣)和機器人手(在機器人交互中觀察的那樣)之間的形態和視覺差異。

機器人靈巧操作學習。學習多指手的靈巧策略一直是一個長期存在的挑戰,并引起機器人學習社區的廣泛關注 [18, 19, 10]。一些研究通過在模擬環境中訓練策略并將其部署到現實世界中來解決這個問題 [20, 19]。盡管這種方法在手部操作方面取得了深刻的成果 [21, 22],但在操作場景中的物體時,縮小模擬與現實之間的差距變得十分困難。其他研究則側重于開發不同的遙操作框架 [23, 24, 11, 25],并使用通過這些框架收集的機器人數據訓練離線策略。雖然這些框架響應速度很快,但由于當前機械手形態不匹配,且遠程操作員缺乏觸覺反饋,在不直接與物體交互的情況下遠程操作靈巧手對用戶來說仍然很困難。

從人類視頻中學習。為了利用更容易獲取的來源擴大數據收集,視覺和機器人社區一直致力于從人類視頻中學習有意義的行為和模式 [31, 32, 33, 34]。一些研究側重于學習模擬器,這些模擬器使用生成模型 [32, 35, 31] 從人類視頻中緊密模擬機器人的真實環境,并使用這些模擬器訓練策略,通過預測潛在的未來結果來做出決策。其他研究則使用互聯網規模的人類視頻來學習更高級的技能或 affordance [33, 36]。然而,這些研究要么需要低級策略來學習與物體交互的動作原語 [33],要么只關注單個接觸點即可完成操作的簡單任務 [36]。還有一些方法利用現場人類視頻來學習多階段規劃 [16, 14],但需要額外的機器人數據來學習低級物體交互。值得注意的是,所有這些研究都集中在雙夾持機器人上,其操縱能力有限,物體的關節較少。一些研究[17, 37, 38]利用多臺攝像機結合手部運動捕捉系統采集的場景內人體視頻,解決靈巧手的這一問題。這些研究要么側重于簡單的抓取任務[38, 37],要么需要針對靈巧任務設置一個帶有人工反饋的在線微調階段[17]。此外,這些方法的離線學習過程需要大量的預處理,以便從環境點云中屏蔽人手。

這項工作提出 HUDOR,一種通過在線模仿學習來彌合人類視頻和機器人策略之間差距的新方法。HUDOR 引入了一個框架,用于從單個場景中的人類任務執行視頻中學習靈巧策略。其方法包含三個步驟:(1)使用 VR 頭戴設備和 RGB 攝像頭錄制人類視頻及其對應的手勢軌跡;(2)使用姿勢變換和全-機器人逆運動學 (IK) 將手勢傳輸到機器人上并執行;(3)使用強化學習 (RL) 成功模仿專家軌跡。如圖所示:

請添加圖片描述

機器人設置和人體數據采集

硬件設置包括一個 Kinova JACO 6 自由度機械臂,以及一個 16 自由度四指 Allegro 手 [10]。兩臺 RealSense RGBD 攝像頭 [39] 放置在手術臺周圍,用于標定和視覺數據采集。Meta Quest 3 VR 頭戴設備用于收集手部姿勢估計值。第一步是計算 VR 框架和機器人框架之間的相對變換,以便將記錄的手部姿勢軌跡從人體視頻直接傳輸到機器人,如圖所示。使用兩個 ArUco 標記點(一個在手術臺上,另一個在 Allegro 手的頂部)來計算相對變換。第一個標記點??用于定義世界框架并將指尖位置從 VR 框架轉換到世界框架,而第二個標記點用于確定機器人底座和世界框架之間的變換。

請添加圖片描述

使用 Quest 3 VR 頭戴設備上現有的手勢檢測器收集人類手勢估計值,并使用 RGBD 攝像頭捕捉視覺數據。

使用開發的 VR 應用,用戶可以捏住右手的食指和拇指,開始用自己的手直接與物體交互。收集演示數據后,用戶可以再次捏住手指,表示演示結束。計算演示開始時相對于世界坐標系的手腕姿勢,并在部署過程中將機器人手臂初始化到該初始手腕姿勢。這使得機器人能夠從合適的起始位置開始探索。

在數據收集過程中,會記錄所有 t = 1 … T 的指尖位置 a_rt 和圖像數據 ot,其中 T 是軌跡長度。由于這些分量是以不同的頻率收集的,因此會根據收集的時間戳將它們對齊,從而為每個時間 t 生成同步的三元組 (a_rt, o^t)。然后將數據下采樣至 5 Hz。

為了確保機器人的指尖相對于其底座遵循所需的位置,為整個機器人手臂系統實現一個自定義的逆運動學 (IK) 模塊。該模塊對關節角度使用梯度下降法,利用機器人指尖相對于關節角度的雅可比矩陣,最小化所需指尖位置與當前指尖位置之間的距離 [41]。對于 IK 優化器,對手部和手臂關節應用不同的學習率,使其能夠優先處理手部運動。手部學習率設置為手臂學習率的 50 倍,從而實現更自然、更精確的手指控制。總而言之,IK 模塊將所需的指尖位置 a_rt 以及手部和手臂的當前關節位置 jt 作為輸入,并輸出達到目標所需的下一個關節位置 j?t+1 = I(a_rt, j^t)。

使用上述標定和 IK 程序,機器人手臂系統可以直接從場景中的人體視頻中跟蹤指尖軌跡。如圖展示使用的人類演示。

請添加圖片描述

殘差策略學習

由于人機形態差異以及 VR 手勢估計的誤差,即使物體位于同一位置,單純地在機器人上重放重定位的指尖軌跡通常也無法成功完成任務。為了緩解這個問題,利用強化學習 (RL) 來學習一種在線殘差策略,以增強軌跡重放。傳統的現實世界機器人強化學習算法,依賴于基于圖像的匹配獎勵 [42, 30, 29] 等簡單方法,并使用領域內演示數據得出的獎勵函數。然而,由于人手和機器人手的視覺外觀存在顯著差異,這些方法無法提供有效的獎勵信號。為了彌補這一域差距,提出了一種以目標為中心的軌跡匹配獎勵算法。

a) 目標點跟蹤和軌跡匹配:獎勵計算涉及使用現成的計算機視覺模型來跟蹤感興趣物體上點的運動。計算人類專家視頻中這些點的二維軌跡與機器人策略展開之間的均方誤差,并將其作為在線學習框架中每個時間步的獎勵。

目標狀態提取:給定一條軌跡 τ = [o1, … , oT],其中 T 是軌跡長度,ot 是時刻 t 的 RGB 圖像。將第一幀 o1 作為基于語言的“SAM”[43, 44] – langSAM 的輸入。langSAM 使用文本提示和 GroundingDINO [45]提取物體的邊框,然后將其輸入到SAM [44]生成掩碼。langSAM對應于 o1 的輸出,是初始物體位置 P1 的分割掩碼,P^1表示為物體上N個檢測點的集合,其中N是超參。參數 N 決定目標追蹤的密度,并根據目標在攝像機視圖中的大小進行調整。

點跟蹤:掩碼 P1 用于初始化基于 Transformer 的點跟蹤算法 Co-Tracker [46]。給定 RGB 圖像的軌跡 τ 和第一幀分割掩碼 P1,Co-Tracker 會在整個軌跡 τ 上跟蹤圖像中的點 p_it = (x_it, y_it),其中 t ∈ {1…T},P1 = [p_11,…p_N1]。使用 τp = [P1,…P^T] 表示由跟蹤點集組成的點軌跡。如圖所示說明了人類和機器人軌跡的目標跟蹤情況。

請添加圖片描述

匹配軌跡:首先,定義兩個附加量:檢測點的質心 ?Pt 和時間 t 時的平均平移 δ_transt。 δ_transt 定義為 Pt 中所有點相對于 P1 的平均位移。給定時間 t 的兩個獨立目標運動,一個對應于機器人 T_Rt,另一個對應于人類 T_H^t,獎勵通過計算它們之間的負均方根誤差來計算。

b) 探索策略:選擇動作維度子的一個集進行探索和學習。例如,在卡片滑動任務中,只關注拇指的 X 軸和 Y 軸,而不是探索所有手指的所有軸。這種方法加快學習過程并實現快速適應。對于探索策略,使用預定的加性 Ornstein-Uhlenbeck (OU) 噪聲 [47, 48] 來確保機器人動作流暢。

在提取有意義的獎勵函數并確定動作空間的相關子集后,通過使用 DrQv2 [49] 最大化中每個 episode 的獎勵函數,在該子集上學習殘差策略 π_r(·)。

殘差策略 a_+^t = π_r() 在時間 t 的輸入包括:(a) 人類重定位的指尖相對于機器人基座 a_r^t 的位置,(b) 當前機器人指尖位置的變化 ?s^t = s^t ? s^t?1,? 機器人軌跡 P?_R^t 上追蹤點的質心,以及 (d) 在 t 時刻的目標運動 T_Rt。最后,計算執行的動作:at = a_r^t + a_+^t。
動作 a^t 被發送到 IK 模塊,該模塊將其轉換為機器人的關節命令。隨著機器人與目標交互的經驗不斷積累,該策略會使用 DrQv2 進行改進。

本文實驗四項靈巧任務,如圖所示。圖中提到的探索軸均相對于機器人底座。

請添加圖片描述

a) 拾取面包:機器人必須找到一塊橙色面包,將其拾起并保持一段時間。在驗證過程中,面包的定位和方向應在 15cm × 10cm 的空間內。在此任務中探索所有手指的 X 軸。用于檢索遮罩的文本提示是“橙色面包”。
b) 滑動卡片:機器人必須用拇指找到并滑動一張薄卡片,然后用其余手指支撐卡片將其拾起。在驗證過程中,卡片的定位和方向應在 10cm × 10cm 的空間內。用于檢索物體掩碼的文本提示是“橙色卡片”。僅探索拇指的 X 軸和 Y 軸。
c) 打開音樂盒:機器人必須找到并打開一個小音樂盒。它用拇指穩定盒子,同時用食指打開盒蓋。驗證過程中,盒子被放置在10cm×10cm的空間內并定向。探索拇指和食指的所有軸,使用的文本提示是綠色音樂盒。
d) 紙張滑動:機器人必須將給定的紙張向右滑動。在驗證過程中,紙張被放置在 15 厘米 × 15 厘米的空間內并定向。用于檢索面具的文本提示是一張印有披薩圖案的藍色紙張。紙張向右移動的距離越遠,獎勵就越高。此任務的成功程度以紙張向右移動的距離(以厘米為單位)來衡量。探索所有手指的 X 軸和 Z 軸。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/902164.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/902164.shtml
英文地址,請注明出處:http://en.pswp.cn/news/902164.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++入門篇(下)

目錄 1、引用 1.1 引用概念 1.2 引用特性 1.3 常引用 1.4 使用場景 1.4.1 引用做參數 1.4.2 引用做返回值 1.5 引用和指針的區別 2、內聯函數 2.1 概念 2.2 特性 3、auto關鍵字 4、基于范圍的for循環 5、指針空值nullptr 5.1 C98 中的指針空值處理 5.2 C11 …

Multi-Query Attention (MQA) PyTorch 實現

和多頭注意力機制的唯一區別:K、V在不同的head之間實現了復用,而對于不同的頭,Q依然不同。 因此這里的代碼和標準多頭注意力的實現也是幾乎完全一樣: import torch import torch.nn as nn import torch.nn.functional as Fclass…

visual studio無法跳轉到函數定義、變量定義、跳轉函數位置不準問題解決

參考:https://blog.csdn.net/snakehacker/article/details/135438353 程序有時會出現大部分函數都不能準確的從頭文件中正確定位到函數定位,這是因為數據庫錯亂造成的,可以通過重構數據庫來解決,操作方法如下: 菜單欄:工具——選項 文本編輯…

Java優雅實現判空方法

在 Java 開發中,頻繁的 if (obj ! null) 判空代碼會導致代碼冗余、可讀性差,且容易遺漏判空導致 NullPointerException。以下從 語言特性、設計模式、工具類 和 編碼規范 四個維度,結合實際案例,詳解如何優雅處理空值問題。 一、…

京東百億補貼殺入外賣市場:一場關乎即時零售未來的攻防戰

當美團和餓了么在外賣市場雙雄爭霸十余年之際,京東突然以"百億補貼免傭金"的組合拳高調入場。這場看似跨界的外賣大戰,實則是互聯網巨頭對萬億級即時零售市場的生死爭奪。 外賣只是表象,即時零售才是終極戰場 京東黑板報4月10日官…

UNION和UNION ALL的主要區別

UNION和UNION ALL的主要區別在于處理重復數據和排序的方式。 UNION和UNION ALL都是SQL語言中用于合并兩個或多個SELECT語句結果集的關鍵字。它們的主要區別如下: 1、對重復結果的處理:UNION在進行表鏈接后會篩選掉重復的記錄,而UNION ALL不會…

七段碼 路徑壓縮 并查集 dfs

12.七段碼 - 藍橋云課 將七個二極管映射為 1-7 開一個二維矩陣 為 相鄰的邊連上線 edge[1][2] edge[1][6] 1;edge[2][1] edge[2][3] edge[2][7] 1;edge[3][2] edge[3][4] edge[3][7] 1;edge[4][3] edge[4][5] 1;edge[5][4] edge[5][6] edge[5][7] 1;edge[6][1…

科技如何改變世界?

技術是我們日常生活中不可或缺的一部分,以至于我們常常忘記了它的重要性。如果你正在科技領域工作,或者希望進入該領域,你可能是眾多有使命感的人之一,希望知道自己的日常工作能為社會或地球的長遠利益做出貢獻。 別再四處尋找了…

抽象的https原理簡介

前言 小明和小美是一對好朋友,他們分隔兩地,平時經常寫信溝通,但是偶然被小明發現他回給小美的信好像被人拆開看過,甚至偷偷被篡改過。 對稱加密算法 開頭的通信過程比較像HTTP服務器與客戶端的通信過程,全明文傳輸…

高級java每日一道面試題-2025年4月13日-微服務篇[Nacos篇]-Nacos如何處理網絡分區情況下的服務可用性問題?

如果有遺漏,評論區告訴我進行補充 面試官: Nacos如何處理網絡分區情況下的服務可用性問題? 我回答: 在討論 Nacos 如何處理網絡分區情況下的服務可用性問題時,我們需要深入理解 CAP 理論以及 Nacos 在這方面的設計選擇。Nacos 允許用戶根據具體的應用…

python解壓文件 zip tar.gz tar.xz

以下代碼為解壓zip包 tar包文件 zip_path:文件絕對路徑 output_folder:文件解壓后存放的文件夾路徑 def extract_file(zip_path, output_folder):# 支持解壓zip tar tar.gz tar.xz .tar.bz2# 確保輸出文件夾存在os.makedirs(output_folder, exist_okT…

網絡基礎(協議,地址,OSI模型、Socket編程......)

目錄 一、計算機網絡發展 二、協議 1.認識協議 2.OSI七層模型 3.TCP/IP 五層(或四層)模型 4.協議本質 三、網絡傳輸流程 1.MAC地址 2.協議棧 3.IP地址 IP地址 vs MAC地址 1. 核心區別 2. 具體通信過程類比 3. 關鍵總結 為什么需要兩者? 4.協議棧圖解…

生成式AI對話中提示詞策略:明確問題、明確目標和提供背景信息是最有效的策略

生成式AI對話中提示詞策略:明確問題、明確目標和提供背景信息是最有效的策略 最有效的提示詞策略包括明確問題、明確目標和提供背景信息。普適性有效提示詞策略可分為三類:明確需求與精確指引型、清晰解釋與邏輯排序型、拆解任務與多樣化表達型。[局限]數據來源于中國用戶,…

AtCoder ABC402 ABCD

A - CBC 把大寫字母按順序連起來 B - Restaurant Queue 一眼隊列,stl模擬就行 C - Dislike Foods 顯然,每次克服暴力枚舉每個菜肴會超時。 然而題目中給了每個菜肴的配菜個數,不妨換過來統計每個配菜用在了哪些菜肴。每次克服時&#x…

Transformer 架構 - 解碼器 (Transformer Architecture - Decoder)

歡迎回到我們的 Transformer 系列教程!在上一篇中,我們詳細探討了 Transformer 的編碼器,它負責將輸入的源序列(比如源語言句子)轉換為一系列包含豐富上下文信息的向量表示。 現在,我們將把目光投向 Transformer 的另一半——解碼器 (Decoder)。解碼器負責接收編碼器的輸…

神經網絡與模型訓練過程筆記

1.專有名詞 ANN 人工神經網絡,一種受生物神經元啟發的監督學習算法。輸入數據通過網絡中的層級函數傳遞,激活特定神經元。函數復雜度越高,模型對數據的擬合能力越強,預測精度越高。 偏置項 其中x下表從1開始的是輸入變量&#xf…

【計算機網絡 | 第二篇】常見的通信協議(一)

HTTP和HTTPS有什么區別? 端口號:HTTP默認是80端口,HTTPS默認是443。 URL前綴:HTTPHTTP 的 URL 前綴是 http://,HTTPS 的 URL 前綴是 https://。 安全性和資源消耗:HTTP協議運行在TCP上,都是明…

【python實用小腳本系列】用 Python 自己手搓一個給視頻“靜音”的小腳本,批量處理,輕松高效制作“無聲電影”!

嘿,小伙伴們!今天我來給大家介紹一個超實用的 Python 小工具——一個能給視頻“靜音”的“聲音消除器”!是不是聽起來很酷?想象一下,你可以把任何有聲視頻變成無聲視頻,是不是很有趣?接下來&…

【gpt生成-總覽】怎樣才算開發了一門編程語言,需要通過什么測試

開發一門真正的編程語言需要經歷完整的設計、實現和驗證過程,并通過系統的測試體系驗證其完備性。以下是分階段開發標準及測試方法: 一、語言開發核心階段 1. 語言規范設計(ISO/IEC 標準級別) ??語法規范??:BNF/…

leetcode222 完全二叉樹的節點個數

完全二叉樹 的定義如下:在完全二叉樹中,除了最底層節點可能沒填滿外,其余每層節點數都達到最大值,并且最下面一層的節點都集中在該層最左邊的若干位置。若最底層為第 h 層(從第 0 層開始),則該層…