對話程旭欣:Open-TeleVision教你如何沉浸式遙操機器人

小說三體中有一個場景:汪淼帶上VR裝置和動捕裝置進入三體遊戲,在三體遊戲中沉浸式解密三體世界。未來,如果Elon Musk開啟了火星殖民地,你是想肉身坐著Starship去火星還是考慮租一個Optimus機器人分身先替你體驗一下火星生活?如果是我,我一定是先租一個Optimus,用類似三體裡的VR和動捕裝置體驗火星生活。那要如何操控遠在火星的Optimus呢?科技照進現實:UCSD和MIT的學者在2024年公開的Open-TeleVision可以幫你實現。
Open-TeleVision是一套基於VR頭顯遙操機器人的系統,這個系統可以支援不同的VR硬體平臺,透過適當的對映可以接入任何一種機器人,並且這個系統擁有類人的雙目立體視覺加上可以扭動的脖子,和人類日常生活中觀察和感知周圍環境非常類似。人只需要帶上VR頭顯,不需要任何其他可穿戴裝置就可以隔空操作機器人。

我們採訪了Open-TeleVision Teleoperation with Immersive Active Visual Feedback的一作程旭欣博士,他目前是UCSD博士生,由王小龍教授指導,之前在CMU Deepak Pathak組裡讀碩士。程博士在四足和雙足locomotion方面有很多優秀工作,包括去年公佈的人形機器人全身控制的Expressive Whole-Body Control for Humanoid Robots和四足狗跑酷Extreme Parkour with Legged Robots等。接下來,讓我們沉浸式瞭解下,Open-TeleVision如何讓人類沉浸式遙操機器人吧。

以下為本文目錄
👇
1. Open-TeleVision介紹
     Open-TeleVision的核心思想
     機器人眼睛部分的兩個攝像頭有什麼特殊安排?
     你們是第一個用VisionPro來做人形的遙操的嗎?
     人形機器人和人自由度匹配的問題
     Mapping是一個什麼過程?
     透過這種遙操方式採資料學習的效果如何?
     VR系統只能是VisionPro嗎?
     如何人手解決隔空操作的精準度問題?
     Open Television有什麼問題?
2. 關於人形機器人本體的控制訓練
為什麼人形機器人不能像訓練狗一樣只用RL?
    關於動捕資料集
    透過人類動捕資料學習和模仿學習有什麼區別?
    可否介紹下現在對於人形機器人訓練的各種路徑?
    人形機器人上半身和下半身的訓練策略不同如何解決?
    為什麼locomotion用RL效果很好而不是IL?
    Extreme Parkour有什麼特點?

3. 一些想法

1. Open-TeleVision介紹
Open-TeleVision的核心思想
遙操作(Tele-operation)並不是一個新的課題,之前已經有很多工作用遙操作的方式收集資料,然後進行模仿學習(learning from demonstrations)。如果你想在機器人上部署這些學習成果,最直接的方法就是收集機器人自身的資料(on-robota data),即機器人實際執行任務時的資料。之前的工作,比如ALOHA等都是探索了怎麼透過Joint-copy(關節複製)的遙操作方法來控制機器人。
這類方法的問題是,首先,操作人員必須在機器人旁邊,人的操作視角和機器人的操作視角有空間差異,導致操作不夠直觀。其次,你需要為遠端操作構建一套與實際執行任務的機器人類似的硬體系統。也就是說,你需要兩套相同的裝置才能完成任務,這種做法成本比較高。再次,它需要人和機器人保持近距離操作,操作人員必須站在機器人旁邊,人眼有很大的視野,但機器人的視野一般是透過固定在不同位置的攝像頭(例如頂部、前面、後面或抓取器上)來實現的。這帶來了一個問題,即操作人員看到的資訊比機器人更多,也許人的操作決策是基於那些機器人無法捕捉到的資訊做出的,這在訓練策略時可能導致資訊差異。Mobile Aloha這種方法使用四個攝像頭可以覆蓋較大的工作空間,並且人可以在整套裝置的後方來操作,也相對直觀。
我們的工作,針對前述工作的問題和人形機器人時代的特性提出的一種新方法。對於人形機器人而言,操作人員不可能站在機器人後面,因為會被其軀幹擋住;站在旁邊歪著頭看也不直觀,還得一直扭著脖子。此外,人形機器人是移動平臺,設定過多的固定攝像頭並不實際。因此,最直觀的方式是讓操作人員沉浸式地控制機器人,就像自己變成機器人一樣。Open-TeleVision這個工作也是受這個想法啟發,它的主要特點是操作人員無需站在機器人旁邊或後面,也不需要以第三人稱視角操作,而是戴上頭盔後沉浸式地操作機器人。
這種遠端操作具有以下特點:
第一,沉浸式(imversive)體驗,操作人員透過沉浸式遠端操作看到的不是2D影片,而是3D影片,就像觀看3D電影一樣。左右眼看到的影像不同,從而形成自然的立體視覺。這種立體視覺可以實現對空間距離的精確估計,使操作人員能夠完成很多精細的任務,例如包裝透明盒子或處理小物件。沒有3D視覺的話,很難準確判斷物體的遠近,第一次嘗試可能就會失敗。
透明塑膠管瞄準沒問題
透明塑膠盒和小耳塞精準拿捏
第二,我們的機器人系統還配備了活動頸部(active neck),使頭部能夠移動。人眼在執行任務時,會使用中心視網膜的一個小區域來聚焦(foveal vision)。使用固定攝像頭時,如果需要看其他地方,只能斜視或用邊緣視覺,非常不便。因此,加入活動頸部使系統更加沉浸和直觀。操作人員只需轉動頭部即可看到目標區域,而不需要歪著眼睛或使用邊緣視覺。
透過活動頸部加上逆運動學和重定向,操作者只需直觀地看著感興趣的點,機器人將跟隨相同的頭部運動。

頭部轉來轉

第三,活動頸部還降低了計算成本,因為操作人員只需要看到攝像頭中心的一小部分影像,而不需要處理高解析度的廣角影像。大解析度影像中有很多無用的視覺資訊,處理這些資訊對計算機的需求很高。聚焦於中間小部分影像後,只需轉頭就能看到所需內容,從而大大提高了計算效率。我們的系統可以達到大約80赫茲的幀率,而處理更大影像時只能達到40赫茲,高幀率對系統的直觀性幫助很大。
這些都是關於視覺部分。那接收視覺資訊後,如何將動作傳遞給機器人也很關鍵。我們使用了一套非常好的逆運動學(IK)演算法,將Vision Pro提供的API對映到機器人身上。這部分主要涉及工程實現,使用的技術相對成熟,只需整體最佳化即可達到理想效果。
我們這套系統的感知和活動頸部的部分,都是構建在一個基於Web的平臺上的,我們借用了MIT Yang Ge的一套名為Vuer的框架,本質上類似於一些Web伺服器,透過現有的網路技術來實現遠端資料傳輸。可以將其想象成類似於視訊會議或視訊通話的技術,整個系統類似於玩網路遊戲,需要低延遲和高響應速度。該系統可以輕鬆從任何裝置上的Web瀏覽器訪問(包括Vision Pro、Quest,甚至是Mac、iPad、iPhone等裝置)。
總體來說,這套系統實現了低延遲和高效能的遠端操作,確保操作人員能夠即時、快速、準確地控制機器人。
即時性和精準度都不錯
機器人眼睛部分的兩個攝像頭有什麼特殊安排?
為了確保操作人員獲得真實的立體視覺體驗,系統必須模擬人眼的距離。兩個RGB攝像頭之間的距離應該接近人眼的間距,不能太遠也不能太近,這樣才能呈現出真實的視覺效果,避免讓人感到暈眩。你也可以使用兩個Web攝像頭,將它們放在適當的位置以實現相同的效果。這種配置可以確保操作人員在遠端操作時獲得逼真的視覺感受。這些攝像頭在硬體上做了同步處理,並且提供了很好的API介面,我們直接利用這些現成的功能來實現系統。
你們是第一個用VisionPro來做人形的遙操的嗎?
MIT團隊也在進行類似的工作,但他們的實現略有不同。MIT Pulkit組的VisionProTeleop寫了一個VisionOS應用和Python庫,透過WiFi網路使用gRPC來同步傳輸(streaming)Vision Pro API提供的各種資料(如頭部、手腕和手部追蹤結果),這樣,任何連線到相同WiFi網路的機器人都可以訂閱並使用這些資料。但它們的系統存在一個問題,即操作人員必須站在旁邊斜著眼看。近期的OmniH2O和HumanPlus也探索瞭如何投射人的全身動作到人形機器人上。
我們的創新在於,我們將機器人的兩個攝像頭做成了非常仿生的配置。當操作人員戴上Vision Pro時,就相當於從機器人的視角進行操作,這種設計使得操作體驗更加自然和直觀。而且我們是基於Web的資料傳輸,可以實現長距離的同步。
人形機器人和人自由度匹配的問題
人形機器人和人體自由度不匹配對我們的工作來說,影響不大,只要這個人形機器人的自由度小於人類。以末端執行器為例,我們的系統不僅限於五指手,你可以看到在我們的網站上還有夾爪,這取決於你mapping的方式。基於不同的對映方式,幾乎任何機器人都可以操作,除非它的自由度超出了人的範圍(比如這個機器人有三個胳膊,六個手指),對於低於人的自由度的機器人,都可以找到合適的對映方式來應對。如下面影片所示,傅立葉的GR-1和宇樹的H1都可以,夾爪或五指手也都可以。
不同的機器人都可以很好的匹配
Mapping是一個什麼過程?
Mapping過程通常涉及到Retargeting或逆運動學(IK,Inverse Kinematic),透過末端動作來反推關節的自由度。只要機器人的自由度低於人類的基準,我們就能有效地實現控制。然而,如果機器人的自由度超過人類的水平,那麼就會出現自由度冗餘的問題,需要更復雜的處理方法。現階段,機器人的手部自由度遠遠不及人類的手部,例如人類手部可能有20多個自由度,而我們使用的機器人手部通常只有六個自由度。這導致機器人無法執行某些複雜的動作,如四指張開或大拇指的靈活動作。
透過這種遙操方式採資料學習的效果如何?
我們透過這種遙控方式讓機器人學習自主完成任務的策略效果非常好,可以看到我們採集的資料是非常有效的,特別是使用頸部轉動+兩個RGB攝像頭,我們驗證了這種方法非常高效地訓練機器人。
透過VisionPro遙操機器人採資料
我們的任務都強調長程任務、並且具備一定的泛化能力。例如,對於放置罐子的任務,無論你將罐子放置在哪個位置,機器人都能夠成功抓取。相比之前的一些演示,可能需要多次嘗試才能成功一次,但我們的系統連續成功了12次,每個罐子都插在不同的位置。這證明了我們系統在決策和執行方面的可靠性。
透過遙操採集的資料訓練機器人自主完成任務
VR系統只能是VisionPro嗎?
我們是直接拿蘋果的API而不是簡單的用一些開源系統來自己搭建識別系統,VisionPro基於視覺的識別精度是很高的,尤其對於人手的識別精度非常高。當然這個VR裝置也可以用其他的VR裝置比如Meta Quest,硬體便宜很多,但對我們這套系統也是適用的。
不挑VR裝置
如何解決人手隔空操作的精準度問題?
可以考慮到增加觸覺或者其他反饋,我們有幾種思路可以探索。一種方法是開發一種手套,它能夠模擬各種感覺,從機器人那邊傳輸到使用者這邊。另一種比較簡單的方法是,例如當機器人在另一端拿起物體時,你在這端也拿一個類似的物體。
這種簡單方法反饋的資訊有限,例如如果機器人手裡的物體掉落了,這邊還拿在手上,那感覺明顯不一樣。這個領域需要進一步探索,特別是在觸覺反饋方面。目前我們還未加入觸覺反饋,但我們也發現,僅僅依靠視覺資訊有時也能推斷出一些觸覺資訊。人類在適應和理解這些資訊方面有很強的能力,比如觀察到一個罐子放置時,透過看手鬆開的方式,可以大致推測手和罐子之間的力量關係。
Open Television有什麼問題?
問題主要在於這種mapping不如joint copy那麼直觀,例如,對於具有六個自由度的機器人手臂,joint copy直接將每個電機位置複製到另一個裝置就好了。我們需要對末端執行器進行逆向運動學(IK)計算,這可能導致一些不自然的動作,初始階段可能會有調整不到位的情況,導致一些奇怪的運動或者動作。
另一個問題是操作延遲,人透過相機來觀察也會有一定的延遲。與Aloha這種直接人眼看到馬上透過遙操反饋到機器人動作上相比,肯定還是會有一定的延遲。此外,觸覺感知也是一個潛在的改進方向,儘管當前的技術並未完全解決這個問題。
2. 關於人形機器人本體的控制訓練
關於四足和人形機器人本體的控制,程博士也有一些不錯的工作,比如去年春節前公開的Expressive Whole-Body Control for Humanoid Robots(RSS 2024)和更早一些的機器狗跑酷Extreme Parkour with Legged Robots(ICRA 2024)。我們也在這兩個工作的基礎上,針對人形和四足的控制學習問題進行了一些交流。
為什麼人形機器人不能像訓練狗一樣只用RL?
在之前做狗主要就是用模擬資料,在模擬環境中,我們設定一些獎勵,以使機器狗的步態看起來更自然。然而,對於人形機器人來說,它具有更多的自由度,難以直接透過獎勵函式來有效地生成優秀的動作。例如,想讓機器人執行某個動作時,無法為每個動作都設計一個合適的獎勵函式。
因此,我們不僅利用模擬資料,還利用人類動作捕捉資料(mocap data)來引導模擬裡訓練的這個RL,就相當於透過給這些多餘的自由度設定一些條件,使機器人能夠執行多樣化的動作。這個動捕的來源可以很多樣,比如從YouTube隨機找到的影片,經過處理後,可以適應機器人接收的格式,使其能夠執行這些動作,即使機器人之前未曾見過這些動作。
關於動捕資料集
在訓練過程中,我們有一個動作資料集。但一旦訓練完成,新的動作就不再需要額外訓練,可以zero-shot直接交付給機器人使用。我們使用的是CMU MoCap,一個很老很經典的動捕資料集。
透過人類動捕資料學習和模仿學習有什麼區別?
很難去精準的界定,這種方法不完全是監督學習,但透過引導訊號(例如指令)進行模仿,也算是一種模仿學習。當你的動作越接近人類資料,獎勵訊號也會越高。這可以看作是間接的模仿學習,不僅是簡單的模仿,還涉及最大化其他因素,我們是透過RL這種方式來實現。
可否介紹下現在對於人形機器人訓練的各種路徑?
我理解的是,整體思想都差不多,即透過某種方式獲取人類的動作,然後將這些動作retarget到合適的機器人動作,然後用RL policy去追蹤。做locomotion沒有什麼特別花的方法,基本就是做Teacher-Student 訓練,然後做Sim2Real。
人形機器人上半身和下半身的訓練策略不同如何解決?
有些工作是用全身RL,但這種對上肢的控制精度可能不夠高,但協調性可能比較好。可能未來的一些工作會把上半身操作用模仿學習訓練和下半身移動用強化學習訓練frame成一種方法,都是Teacher-Student學習方法。因為你訓練locomotion也是在模擬環境裡,用一個先驗的強化學習策略(Privileged RL Policy)作為老師,然後用模仿學習訓練一個學生網路,這有點像訓練操作時用到的模仿學習。操作常用的模仿學習只是不使用RL來獲取老師,而是直接使用人類作為老師。但由於人類無法示範如何行走,因此很難將其作為Locomotion的老師,因此,我們的locomotion的老師都是在模擬環境中使用RL進行訓練的。
為什麼locomotion用RL效果很好而不是IL?
這裡的關鍵點是機器人學習人類動作時的限制。雖然可以透過影片等方式採集和重新目標化(retarget)人類的動作,但這些動作通常是在計算機模擬中運動學可行(kinematics feasible)但不是動力學可行(dynamics/physics feasible),因此無法適應真實物理世界的各種動力學定律。在模擬環境中使用RL訓練機器人,最關鍵的是讓機器人適應模擬環境中的物理定律,如物理引擎模擬的動力學和運動學,以此來適應真實世界中存在複雜的動力學和力學要求。
Teacher和Student在強化學習中的角色不同,Teacher通常能夠獲取更多的Privileged information,就像不論是跑酷還是盲走,Teacher能夠獲得更多的資訊,這是強化學習中的一種普遍現象。如果強化學習中的探索不足,就很難訓練出最優的行為。因此,我們希望儘可能為老師提供更多的資訊。由於在模擬環境中,我們可以獲取到各種奇怪的資訊,全餵給它。例如在訓練機器狗時,直接告訴它你揹負了多重的東西,這樣教師可以更好地、更快地學習。
而學生需要在現實世界中適應環境,我們不能僅僅依賴模擬環境中的Privileged information來訓練學生,學生的訓練需要使用現實世界中可用的資料和資訊。總體思路是,在模擬環境中,Teacher的訓練是怎麼能夠更快更好的訓練出來一個能work的東西,然後再把它distill成現實世界中可以用的東西。
Extreme Parkour有什麼特點?
整體思想是相同的,但我們在這裡增加了視覺反饋,機器人不再盲目地行動,而是需要視覺反饋。在師生學習的框架中,主要的區別在於,你需要同時精確執行腳部動作,並即時調整方向。同時進行師生學習可能會帶來一些挑戰,因此我們採用了一種稱為混合師生學習(mix teacher-student)的方法來提高資料的質量,最終才能訓練出這樣一個系統。
3. 一些想法
去年開始,在從日常看綜藝切換到日常看論文的狀態之後,我就有一個非常強的體會:為什麼有些人在上大學之前就明確的知道自己要做啥?日常看機器人學習領域的Paper很多都是出自真學霸之手,本科基本都是清華、北大、上交、浙大這類,很多還是姚班、圖靈班、ACM班或者竺可楨的,博士去到美國四大(MIT、斯坦福、伯克利、CMU),從旁觀者的角度看這些人的履歷,就覺得他們在專業選擇上沒有浪費任何時間。有些人甚至更小,比如小學、初中或者高中的時候就知道自己喜歡機器人或計算機,以後要從事機器人或AI相關的工作。這種對自身興趣和能力的清晰認知,著實佩服。我到現在都不知道自己喜歡什麼,所以只能做做投資,樣樣通樣樣松。
說回到投資人,我從去年深入看具身智慧,也才對一件事情恍然大悟:難怪個別頭部美元基金可以投到最頭部的創始人,他們對牛人的sourcing能力和力度真的是太優秀了,這絕對不是一般小基金能比的。23年6月開始,我只看機器人方向,確切的說,只看機器人學習,更確切的說,只看透過學習的方式解決機器人通用操作這個方向,看了一年,算是把人都摸透。但僅僅是透過網線摸透,還很少機會能夠面對面處一處,但個別投資人已經和這些學者處了好幾年了。可謂看到差距,才有進步空間!加油吧!
References:

https://github.com/Improbable-AI/VisionProTeleop/blob/main/assets/short_paper_new.pdf

https://github.com/Improbable-AI/VisionProTeleop
https://extreme-parkour.github.io/
https://expressive-humanoid.github.io/
https://chengxuxin.github.io/
https://robot-tv.github.io/
原創不易,歡迎“點贊”“打賞”“在看”三連
也歡迎我微信交流


相關文章