宅中地 - 每日更新
宅中地 - 每日更新

贊助商廣告

X

萊斯大學造出「多平行世界」訓練法,機器人接球成功率高達68%,這究竟是什麼黑科技?

2026年05月27日 首頁 » 熱門科技

這項由萊斯大學電腦科學系與機器人與人工智慧研究院聯合開展的研究,以預印本形式發布於2025年5月10日,論文編號為arXiv:2605.09789,感興趣的讀者可通過該編號查詢完整論文。

教一個機器人接球,聽起來好像沒什麼難度——畢竟小孩子幾歲就能學會這件事。但如果告訴你,這個機器人用的不是籃筐、不是網兜、不是任何有弧度的接收容器,而是一塊平平的硬板子,而且這塊板子表面還特意做得很光滑,球一碰上去就容易溜走,你還覺得簡單嗎?

這正是萊斯大學的研究團隊設定的挑戰場景。他們讓一台機械臂手持一塊平板,去接住從空中飛來的球——皮球、桌球、羽毛球、泡沫球,甚至形狀不規則的玩具蘋果和木質方塊。而且,這一切都是機器人在模擬器里練習之後,直接"畢業"上崗,沒有經過任何真實世界的額外訓練,成功率依然達到了68%。

這背後的核心思想,可以用一個非常形象的比方來理解。

**一、為什麼教機器人接球這麼難**

現實世界裡,沒有任何兩個球的物理特性是完全一樣的。一個皮球和一個桌球,彈跳方式不同;同樣是皮球,充氣程度不一樣,彈性也不一樣;球碰到板子的那一剎那,接觸面的摩擦力、板子的角度、球的旋轉方向,任何一個細節出了偏差,球就會飛出去。

對於機器人來說,這件事更加棘手。在虛擬的訓練環境(也就是"模擬器")里,研究人員可以把物理規律設定得非常精確。但真實世界裡的物理規律是模糊的、充滿噪聲的——攝影機捕捉球的位置時會有誤差,機械臂執行動作時會有輕微的抖動,球的彈性係數也不可能提前精確測量。這種"虛擬練習場"和"真實球場"之間的落差,研究人員把它叫做"仿真到現實的鴻溝"(Sim-to-Real Gap)。

傳統的解決辦法叫做"域隨機化"(Domain Randomization)。思路很直接:既然真實世界充滿隨機性,就在訓練時也引入隨機性。每一次訓練,就隨機給球設定一套物理參數——也許今天練的球很有彈性,明天練的球彈性差一點,後天再換一個摩擦力不同的球。通過大量這樣的隨機練習,機器人理論上應該能適應各種情況。

但問題在於,這種方法每次只隨機生成一種情況,然後讓機器人去應對那一種情況。這就好像一個籃球運動員每次練習只用一種特定的球,換一種球就要重新適應。每一次訓練,機器人只能看到一個"可能世界"的樣本,對整體情況的理解仍然是片面的。

**二、"平行宇宙"式訓練:同時在十個世界裡練球**

萊斯大學的研究團隊提出了一個完全不同的思路,他們把這個方法叫做"域隨機化實例集"(Domain-Randomized Instance Set,簡稱DRIS)。

DRIS的核心思想是:與其每次只給機器人看一個世界的樣本,不如同時給它看一批世界的樣本,讓它在所有這些世界裡同時做出同一個動作,然後綜合考察這個動作在所有世界裡的表現好不好。

具體操作是這樣的:訓練時,不只生成一個球,而是同時生成比如十個球,每個球的物理參數都不一樣——有的彈性強,有的摩擦力大,有的半徑更大,有的密度不同。這十個球同時飛向機械臂,機械臂做出一個統一的接球動作。結果,有些球被成功穩在了板子上,有些球還是滾走了。訓練系統記錄下所有這些結果的平均表現,然後以此來更新機器人的"接球策略"。

這和傳統方法的差別,可以用一個貼切的場景來理解。假設你是一名廚師,正在學習調味的技巧。傳統方法是:今天做一道菜,加了一克鹽,嘗嘗味道;明天再做,加了兩克鹽,再嘗;日復一日,一次只嘗一種搭配。DRIS的方法是:今天同時做十道菜,每道菜的鹽量都不一樣,一次性嘗遍所有版本,然後做出一個綜合所有反饋的判斷,找到一個對各種情況都相對合適的調味比例。顯然,後者對"不確定性"的覆蓋更全面,學到的規律也更經得起考驗。

從數學的角度來說,這個方法實際上在做一件很精妙的事情:它讓機器人的訓練信號變得更"穩定"。傳統方法每次只看一個隨機樣本,學習方向會隨著樣本的隨機性而飄忽不定,就像羅盤在強磁場附近亂轉。DRIS用多個樣本的平均結果來指導學習,就像把多個羅盤的讀數平均起來,隨機噪聲相互抵消,指向反而更準確。研究團隊在論文的理論分析部分正式證明了這一點:當DRIS里的實例數量N增大時,梯度估計器(可以理解為"告訴機器人該往哪個方向改進"的信號)的方差會顯著降低,最終收斂到一個更穩健的優化方向。

**三、從數學上看,DRIS到底做了什麼**

在論文的理論分析部分,研究團隊用了一個叫做"信念狀態傳播"(Belief State Propagation)的概念來解釋DRIS的數學意義,聽起來很抽象,但實質上非常直觀。

當機器人面對一個不確定的物理世界時,它其實無法精確知道當前球的彈性係數是多少、摩擦力是多少。它能做的,是維護一個"可能性分布"——這個球有30%的概率很有彈性,有50%的概率彈性中等,有20%的概率彈性很差。這個分布就叫"信念"(Belief)。隨著時間推移,這個信念會根據觀測到的新資訊不斷更新,這個更新過程就叫"信念傳播"。

DRIS里的每一個並行實例,正是這個"可能性分布"的一個採樣點。當所有實例同時向前演化時,整個集合就精確地追蹤了這個不確定性的時間演化。研究團隊證明,DRIS等價於對系統信念狀態做了精確的粒子近似(Particle Approximation)——這是一種經典的概率推斷方法,在導航、氣象預測等領域早有應用。傳統的單實例域隨機化,則相當於每次只用一個粒子來近似整個分布,精度自然差很多。

研究團隊進一步通過一個局部代價函數的泰勒展開分析,證明了隨著DRIS實例數量增大,訓練目標函數會逐漸從"被隨機噪聲主導"變為"被物理不確定性的方差懲罰項主導"。換句話說,機器人學到的策略會越來越傾向於找那些在各種物理條件下都表現穩定的動作,而不是只在某一特定條件下最優的動作。這正是"魯棒性"(Robustness)的本質含義。

此外,研究團隊還給出了一個"仿真到現實的誤差上界"(Sim-to-Real Transfer Bound)。這個上界告訴我們:機器人在真實世界裡的表現,不會比它在模擬器里的表現差太多,差距的大小由兩部分決定——一部分是有限樣本帶來的估計誤差(這部分隨著DRIS實例數N增大而減小),另一部分是模擬器和真實世界之間的物理參數分布差異(這部分和N無關,是固有的)。DRIS通過增大N來壓縮前一部分誤差,使得整體的仿真到現實誤差儘可能小。

**四、機器人是怎麼"理解"這十個球的狀態的**

有一個實際問題需要解決:訓練時有十個球,但真實接球時只有一個球。機器人的輸入維度不能隨著球的數量變化而變化,否則部署時就沒法用了。

研究團隊用了一個叫做"點雲自編碼器"(Point Cloud Autoencoder)的工具來處理這個問題。點雲是三維空間中一堆點的集合,原本用於處理三維物體的形狀數據。研究團隊把這個工具擴展了一下,用來處理"一堆球的狀態"——每個球的狀態包括它相對於板子的位置(三個數字)和它當前的速度(三個數字),合起來是六個數字。把N個球的狀態堆在一起,就得到了一個N×6的數據集合,像一朵由N個點組成的"點雲"。

自編碼器的工作原理是:先用一個編碼器網路把這朵"狀態點雲"壓縮成一個固定長度的向量(比如64個數字),再用一個解碼器網路把這個向量還原回原始狀態點雲。訓練時用"倒角距離"(Chamfer Distance)作為衡量還原質量的指標——直觀來說,就是衡量還原出來的點雲和原始點雲有多像。

關鍵在於,編碼器里用了一個叫做"逐特徵最大池化"(Feature-wise Max Pooling)的操作,這個操作天然地對輸入點的順序和數量不敏感——不管輸入是10個球還是200個球,輸出都是同樣維度的向量。這樣一來,訓練時可以用N個球,部署時只需要把單個球的狀態當作"只有一個點的點雲"輸入,編碼器照樣可以工作,輸出同樣維度的向量供策略網路使用。

策略網路的設計也有一個有趣的細節。研究團隊引入了一個叫做"FiLM條件調製"(Feature-wise Linear Modulation)的機制。簡單來說,就是讓板子當前的傾斜角度來"調節"狀態特徵的解讀方式。當板子是水平的,球在板面上的滑動趨勢和板子傾斜時完全不同;把傾斜角度資訊注入到特徵處理過程中,策略網路就能更準確地預測球的下一步行為,從而做出更合理的動作。

**五、接球任務的具體設計:平板接球為什麼難**

在進入實驗結果之前,有必要理解一下這個接球任務到底難在哪裡。

大多數機器人接球的研究用的是碗形、杯形或者網狀的接收器。這些容器有一個天然優勢:即使接觸時機或角度不太準,球碰到容器邊緣之後,在重力作用下也會自然地滑向中心,最終穩定下來。這是一種"被動穩定"——不需要主動控制,形狀本身就幫你兜底了。

萊斯大學的研究團隊偏偏選擇了一塊平板,表面還覆蓋了一層光滑的氯丁橡膠泡沫墊(用於保護機械臂,但同時讓球更容易在上面滑動)。平板沒有任何被動穩定能力——球碰上去之後,如果板子的角度、速度和時機不對,球就會直接彈飛或者滾走。每一個細節都必須由機器人主動控制。

為了讓訓練更高效,研究團隊設計了一個巧妙的"運動坐標系"(Motion Frame)。這個坐標系以板子初始位置為原點,X-Z平面對準來球方向。所有的狀態量(球相對於板的位移、球的速度)和動作量(板的平移、板的傾斜)都在這個坐標系裡表達。這樣做的好處是:不管球從哪個方向飛來,問題的表達形式都是一樣的,策略網路不需要去學"不同來球方向"這個額外的變量,訓練效率更高,泛化能力也更強。

動作的定義分兩部分:一部分是板子中心的平移(沿X、Y、Z三個方向各移動多少),另一部分是板子的傾斜配置——用一個水平軸的方向角和繞該軸的旋轉角來描述板子的朝向。獎勵函數的設計也很精細,主要懲罰球的速度過大(特別是沿板面方向的速度,代表球在板上亂滑)以及球離開板面或超出板子邊緣的情況。

**六、訓練過程與模擬實驗結果**

整個訓練過程分兩步完成,在一塊單張NVIDIA GeForce RTX 3060 GPU(12GB顯存)上運行,硬體要求並不算高。

第一步是訓練DRIS編碼器。讓機器人用隨機動作和一堆球互動,收集大量的"球群狀態快照",然後用這些數據訓練點雲自編碼器。這一步用了大約10分鐘。

第二步是訓練策略網路。把訓練好的編碼器凍結(不再更新它的參數),然後用近端策略優化算法(PPO)訓練FiLM條件調製的策略網路。訓練時同時運行128個並行仿真環境,每個環境裡有一套DRIS球群,總共訓練了1000個周期,用時約2小時。

模擬實驗裡,研究團隊比較了五種配置:一種是完全端到端訓練的基線(E2E,直接從單球狀態到動作,不用DRIS),以及DRIS實例數分別為1、10、50、200的四種配置。測試時,無論訓練時用了多少個球,測試都只用單球,以反映真實部署場景。

測試從三個角度考察魯棒性。第一個角度是觀測噪聲:往球的位置和速度觀測值里加入不同強度的高斯噪聲,模擬攝影機測量誤差。結果顯示,E2E基線和DRIS(1)在無噪聲時表現尚可,但噪聲一增大,成功率就急劇下滑;而DRIS(10)即使只用了10個並行實例,魯棒性就已經有了明顯提升,DRIS(50)和DRIS(200)則更加穩健。更有趣的是,E2E和DRIS(1)在訓練時間拉長後還會出現"過擬合到無噪聲條件"的現象——在無噪聲環境裡越練越好,但一遇到噪聲就越來越差。DRIS則沒有這個問題。

第二個角度是執行誤差:往機器人的關節目標角度里加入隨機擾動,模擬控制器跟蹤不準的情況。結論與觀測噪聲實驗類似,DRIS明顯優於E2E基線,且實例數越多效果越好,但10個實例就已經帶來了顯著提升。

第三個角度是分布外物理參數:在訓練時,球的彈性係數(恢復係數)的範圍是0.4到0.7;測試時,換成了彈性係數在0.7到0.8之間的球,這是訓練時從未見過的參數範圍。結果同樣支持DRIS:實例數越多,對未見過的彈性係數的泛化能力越強。

研究團隊還做了一個計算公平性對比。他們把E2E基線擴展到128×50=6400個並行單球環境,使總的球交互次數和DRIS(128環境×50實例)一樣多。在2σ噪聲下,擴展後的E2E成功率從0.55提升到0.73,但顯存占用從0.65GB暴增到2GB;而DRIS(50)在同等交互量下達到了0.89的成功率,顯存只增加到0.71GB。這說明DRIS的性能提升不只是因為"看了更多數據",而是因為"看數據的方式"本身更高效。

**七、真實機器人實驗:從模擬直接上崗**

實驗在一台7自由度的Franka Research 3(FR3)機械臂上進行,沒有做任何針對真實環境的參數調整或策略微調,唯一做的是在真實機器人上標定控制器的剛度和阻尼參數,使其行為與模擬器里一致。

球的狀態估計通過兩台攝影機(幀率80FPS)來完成。攝影機捕捉球的圖像,用顏色分割加輪廓圓擬合的方法檢測球的位置,再通過三角測量還原三維坐標,最後用拋物線擬合平滑軌跡。球的速度則通過對最近0.1秒內的位置數據做線性回歸來估算。推理在一顆AMD Ryzen 9 5950X CPU上實時運行,延遲完全滿足要求。

為了讓不同策略的對比更公平,研究團隊設計並3D列印了一個帶有三種可互換下段的斜坡裝置,把球從斜坡頂端釋放,斜坡彎曲半徑分別為0.13m、0.20m、0.32m,對應三種不同的出口速度。四種測試球——網球狀穿孔球(wiffle)、橡膠球、桌球、泡沫球——覆蓋了從輕到重、從彈性強到彈性弱的廣泛範圍。每種球每種斜坡配置各做5次試驗,共60次試驗。成功的定義是球在板上保持穩定超過10秒。

最終結果:手工設計的VelTrack基線(根據第一次碰撞後的球速來控制板子水平跟隨)成功率只有5%,且僅在球偶然卡進板子和手指之間的縫隙時才算成功,稱不上真正意義上的接球。E2E基線能做出合理的接觸動作,但對觀測噪聲極其敏感,會產生抖動性動作,把球彈飛,成功率13%。DRIS(200)策略成功率68%,四種球全部至少成功接到過,且在多個配置上達到了滿分5/5的成績。

研究團隊還做了若干定性測試。機器人能穩定接住人類直接扔出的球(比斜坡釋放的隨機性更大);雖然只訓練了接球,但策略直接泛化到了"平衡一個已經在板子上的球"的任務,完全沒有額外訓練;甚至能接住玩具蘋果、玩具草莓等形狀不規則的物體。木質方塊只能偶爾成功,因為方塊碰撞時的動力學行為極難預測,"連人類都很難穩定接住",研究團隊在論文裡如是說。

**八、這套方法的局限性和未來方向**

研究團隊在論文中坦誠地指出了幾個尚待解決的問題。

第一個局限是編碼器的設計問題。當前使用點雲自編碼器處理低維狀態(位置和速度)效果很好,但如果任務需要輸入圖像或者複雜的幾何資訊,編碼器的規模和訓練成本會大幅增加,需要專門設計。

第二個局限是計算依賴問題。DRIS需要同時並行推進多個物理實例,這依賴於高效的並行仿真器支持。在涉及複雜多體接觸(比如多個物體之間相互碰撞)的場景里,同時處理整個實例集的碰撞檢測會帶來很大的計算開銷。

第三個也是最根本的局限,是"單一動作服務所有實例"這個設計本身的限制。DRIS里所有實例共享同一個動作,這意味著各實例的狀態不能差異過大,否則沒有一個動作能同時照顧所有實例的需求,訓練會變得不穩定。研究團隊引用了一篇關於機器人雜耍的經典研究,指出這種發散在"耗散性"系統(比如接球——接觸本身會消耗能量,把球速降下來)中比較容易控制,但在"注能性"系統(比如拋球——每次接觸都要把能量注入球,讓它越來越快)里,各實例的狀態會快速分化,難以用一個共同動作協調。這意味著DRIS天然適合"減速、穩定、抓取"類任務,但對於需要精確控制能量注入的任務(如雜耍、拋擲)可能效果有限。未來的研究方向之一,是設計自適應的或課程式的實例隨機化策略,在訓練過程中逐步增大實例間的差異,而不是一開始就引入最大隨機性。

---

說到底,這項研究解決的是一個很根本的問題:如何讓機器人在不確定的世界裡做出穩健的決策。研究團隊給出的答案是:不要試圖精確預測不確定性,而是直接把不確定性的全貌納入訓練過程。同時練習十個"平行宇宙"里的接球,比只在一個宇宙里練一萬次更能培養出真正經得起考驗的能力。這個直覺不只適用於機器人接球,對任何需要在不確定環境裡工作的自動化系統都有參考價值。

當然,68%的成功率還不是人類水平,失敗案例主要集中在球的初始接觸力道過大、球速太快來不及吸收動能的情況。但在沒有任何真實環境訓練、板子本身毫無被動穩定輔助的前提下,這個結果已經相當有說服力。感興趣的讀者可以通過arXiv編號2605.09789找到完整論文,其中附錄部分包含了所有理論證明的完整推導。

---

**Q&A**

Q1:DRIS訓練方法和普通的域隨機化訓練有什麼實質區別?

A:普通域隨機化每次訓練只隨機生成一種物理參數配置,機器人每次只在一種假設情境下練習。DRIS則同時生成一批參數各不相同的實例,讓機器人用同一個動作同時面對所有這些情境,綜合所有結果來更新策略。這樣訓練出來的動作在統計上對更大範圍的不確定性都表現合理,而不是只對某一特定隨機情境最優。

Q2:機器人接球時只有一個球,但訓練時用了幾十個球,這個矛盾是怎麼解決的?

A:靠一個叫做點雲自編碼器的網路。這個網路能把任意數量球的狀態壓縮成固定長度的特徵向量,無論輸入是10個球還是200個球,輸出維度都一樣。部署時把單個球的狀態當作"只有一個點的集合"輸入,編碼器照樣能處理,策略網路的輸入維度完全不受影響。

Q3:平板接球比用碗或網兜接球難在哪裡?

A:碗形或網兜容器有被動穩定效果,球碰上邊緣後會自然滑向中心,不需要機器人主動控制每一個細節。平板完全沒有這種機制,球一旦碰上板子,如果角度、時機或速度哪個環節稍有偏差,球就會直接彈走或滾走。所有的穩定都必須靠機器人實時主動控制板子的平移和傾斜來實現,對感知誤差和控制誤差的容忍度極低。

宅中地 - Facebook 分享 宅中地 - Twitter 分享 宅中地 - Whatsapp 分享 宅中地 - Line 分享
相關內容
Copyright ©2026 | 服務條款 | DMCA | 聯絡我們
宅中地 - 每日更新