在機器人領域,讓機器人在現實世界中精準執行任務是大家一直追求的目標。可模擬環境和現實世界之間存在著不小的差距,特別是基于 RGB 圖像的操作策略,從模擬轉移到現實時總是狀況百出。
今天咱們就來聊聊 SplatSim 框架,看看它是怎么解決這個難題的。
工作鏈接:https://splatsim.github.io/assets/splatsim_paper.pdf
一、研究背景——sim研究的困境
在機器人的發展進程里,把在模擬環境中訓練的控制策略應用到現實世界,也就是 “Sim2Real” 問題,一直是個大挑戰。雖說最近在這方面有了些進展,像機器人能在復雜地形行走、靈活操作物體等,但大多是靠深度、觸覺這些感知方式實現的。為啥 RGB 圖像在機器人學習里不受重視呢?要知道,RGB 圖像能捕捉顏色、紋理這些重要視覺信息,而且獲取方便,和人類的視覺感知很接近,在很多任務里都很關鍵,比如挑水果的時候,看顏色就能知道熟沒熟。
可問題在于,機器人在模擬環境里看到的 RGB 圖像,和現實世界中的差別太大了。這就好比模擬世界是個 “理想國”,現實世界卻是 “真實戰場”,兩個世界的圖像分布完全不同。這使得基于模擬 RGB 圖像訓練的策略,一到現實世界就 “水土不服”,根本沒法正常發揮作用。所以,怎么縮小這個差距,讓機器人能靠 RGB 圖像在現實里好好干活,就成了科研人員急需攻克的難題。
二、SplatSim :用高斯濺射 “改造” 模擬世界
為了讓機器人在現實中能更好地依賴 RGB 圖像執行任務,SplatSim 框架帶來了新的思路。它的核心就是用高斯濺射(Gaussian Splatting)技術來生成超逼真的模擬數據,讓模擬世界更接近現實。
2.1 高斯濺射技術的神奇之處
高斯濺射是一種很厲害的渲染技術,它用 3D 高斯原語來描繪場景,能把復雜的幾何形狀展現得既高效又逼真。和其他類似技術比起來,它有個很大的優勢,就是結構像點云一樣清晰明確,操作起來特別方便。這種特性讓機器人領域的研究者們看到了希望,不少人開始把它應用到各種機器人任務里。
2.2 SplatSim 框架的具體實現步驟
- 定義問題與坐標框架?在 SplatSim 里,要解決的問題就是用現實場景的高斯濺射表示SrealSreal?,在模擬器(像 PyBullet)里生成超真實的渲染圖像IsimIsim,然后用這些圖像來訓練基于 RGB 的操作策略。為了把現實世界、模擬器和濺射點云之間的關系搞清楚,研究人員定義了好幾個坐標框架。現實世界坐標框架FrealFreal?是基準,模擬器坐標框架FsimFsim?和現實世界機器人框架FrobotFrobot?都和它對齊,而濺射坐標框架FsplatFsplat?表示場景高斯濺射里機器人底座的框架,它們之間的轉換靠特定的矩陣來完成。
- 構建機器人濺射模型?想要得到不同關節姿勢下機器人的渲染圖,得經過三步。首先,用迭代最近點(ICP)算法把機器人相關的 3D 高斯和模擬器里的真實點云對齊,算出轉換矩陣TFrobertFsplatTFrobert?Fsplat???,這一步就像是給機器人在模擬世界里找準位置。接著,利用機器人 CAD 模型提供的鏈接邊界框,把 3D 高斯和各個鏈接對應起來,分割出每個鏈接的 3D 高斯SreallSreall?。最后,用機器人的正向運動學,結合 PyBullet 里的正向運動學例程,算出每個鏈接的變換TfklTfkl??,再通過一系列矩陣運算得到 3D 高斯的最終變換,這樣就能渲染出不同姿勢的機器人啦。
- 處理物體濺射模型?和機器人渲染類似,物體的 3D 高斯SobjkSobjk?也要用 ICP 算法和模擬的真實點云對齊,得到轉換矩陣TFk?obj,simFk?obj,sialtTFk?obj,sim?Fk?obj,sialt??。根據物體在場景中的位置ptkptk?和方向RtkRtk?,算出物體在原始模擬器框架Fk?obj,simFk?obj,sim?的變換Tfkk?objTfkk?obj?,再通過矩陣運算得到在SrealSreal?框架下的變換,用高斯濺射渲染框架就能渲染出物體在新位置和方向的樣子。
- 攻克鉸接物體的分割難題?像平行夾爪這樣的鉸接物體,用普通的邊界框分割可不行,因為它們的鏈接和標準軸對不上。這時候,研究人員訓練了一個基于 K 近鄰(KNN)的分類器,用模擬器點云的真實標簽來訓練。這樣,就能準確判斷對齊后的濺射里每個 3D 高斯屬于哪個鏈接,解決了鉸接物體的分割難題。
- 渲染模擬軌跡與訓練策略?有了單個剛體的渲染能力,就可以用它來精確表示模擬軌跡了。把基于狀態的變換和前面提到的方法結合起來,得到用于策略學習的演示數據τGτG??。在訓練策略的時候,用的是擴散策略(Diffusion Policy),這是行為克隆領域很厲害的技術。考慮到模擬和現實環境還是有差異,比如模擬場景沒有陰影,一些柔性部件渲染得不準確,所以在訓練時會加入圖像增強操作,像加高斯噪聲、隨機擦除、調整亮度和對比度等,讓策略更能適應現實世界。
三、實驗:SplatSim 真的靠譜嗎?
為了驗證 SplatSim 框架的效果,研究人員做了一系列實驗,主要從數據收集、零樣本策略部署、渲染量化和增強效果這幾個方面來測試。
3.1 數據收集
在數據收集環節,現實世界里每個任務的演示數據都得靠人工收集,又費時間又費精力。但在模擬器里就方便多了,用基于特權信息的運動規劃器,能自動生成數據。像有些任務,在現實世界收集數據要 20.5 小時,在模擬器里只要 3 小時,效率大大提高,而且數據質量還不錯。這充分體現了模擬器在數據收集方面的強大優勢,能為后續的訓練提供充足的數據支持。
3.2 零樣本策略部署
研究人員在四個和接觸相關的現實任務里測試了零樣本策略部署的效果,用任務成功率作為主要衡量指標。結果顯示,SplatSim 框架訓練的策略,零樣本從模擬到現實的轉移平均成功率能達到 86.25%,雖然比直接用真實數據訓練的策略(97.5%)低了一些,但已經很厲害了。在 T - Push 任務里,機器人不用在現實數據上微調,就能在推物體的時候達到 90% 的成功率;Pick - Up - Apple 任務里,抓蘋果的成功率也有 95%;Orange on Plate 任務和 Assembly 任務同樣表現不錯,說明這個框架真的能讓模擬訓練的策略在現實世界發揮作用。
3.3 量化機器人渲染
為了看看渲染出來的機器人圖像有多逼真,研究人員對比了不同關節配置下的渲染圖像和現實世界圖像,用峰值信噪比(PSNR)和結構相似性指數(SSIM)這兩個指標來衡量。結果發現,即使關節配置變來變去,渲染圖像的平均 PSNR 能達到 22.62,SSIM 是 0.7845,這表明模擬圖像在視覺質量上和現實世界的 RGB 觀測很接近,生成的模擬數據確實能反映現實場景的特征。
3.4 增強的作用
點擊用高斯濺射技術跨越機器人模擬與現實的鴻溝:SplatSim 框架解析查看全文