Open Source Robotics

精選高品質的開源機器人專案、工具與軟體,推動機器人社群向前發展。

Domain Randomization

  • 又稱: DR, sim-to-real randomization
  • 類別: Learning & autonomy › RL & simulation
  • 標籤: sim-to-real, transfer-learning, simulation, reinforcement-learning, robot-learning, generalization

一種模擬到現實(Sim2Real)遷移技術,在視覺外觀、物理參數與環境條件都經大量隨機化的模擬中訓練機器人學習演算法。

定義

領域隨機化是機器人學習中用來縮小模擬訓練環境與真實世界之間落差的技術。它不試圖讓模擬完全逼真(那極為困難),而是採取相反的做法:在訓練期間刻意在大範圍內改變模擬參數,讓學到的策略對這些變化具有強健性。部署到真實機器人上時,真實世界只不過是又一種變化,落在策略已經經歷過的分布之內。

這項技術在 2017-2018 年前後由 OpenAI 與 NVIDIA 的研究人員推廣開來,已成為模擬到現實(Sim2Real)遷移流程的標準環節。領域隨機化可以套用在視覺屬性(光線、紋理、顏色、攝影機位置、物體外觀)、物理參數(摩擦、質量、阻尼、馬達延遲、感測器雜訊)與環境條件(物體位置、干擾物體、背景場景)上。透過在數千種隨機變化中訓練,學到的策略無法依賴任何特定的視覺或物理細節,因此被迫學習可泛化的特徵與行為。

視覺領域隨機化對以感知為基礎的任務特別有效。以隨機紋理、光線條件與攝影機角度渲染的影像訓練物體偵測的機器人,所學到的特徵能遷移到真實攝影機上,而訓練期間從未看過任何一張真實影像。這免除了對大型真實世界資料集的需求,而在機器人學中,這類資料集的蒐集既昂貴又耗時。

物理領域隨機化處理的是動力學上的現實落差,也就是模擬的物理永遠無法完全吻合真實世界的物理。在訓練期間改變摩擦係數、物體質量、致動器延遲與接觸參數,策略就能學會對真實機器人特定(且未知)的物理具有強健性。這對接觸動力學難以準確建模的操作與行走運動任務特別重要。

領域隨機化的主要限制是,過寬的隨機化可能讓學習問題變得太困難,產生強健但次佳的策略:在哪裡都表現尚可,卻沒有一處表現出色。領域適應與系統識別等更精細的方法,可以根據真實世界的校正資料縮小隨機化範圍,與領域隨機化互補。

為何重要

領域隨機化解決了機器人學習中最大的實際問題之一:如何在模擬中訓練、再部署到真實硬體上,而不讓策略因模擬的不準確而失敗。它促成了 OpenAI 能解魔術方塊的機器手等里程碑成果,也讓模擬到現實(Sim2Real)遷移成為可行的工程方法,而不只是研究上的新奇玩意。

主要應用

  • 靈巧操作:在模擬中訓練機器手,以便在真實世界中操作物體
  • 足式行走運動:學習能從模擬遷移到實體四足機器人的步行策略
  • 視覺物體偵測:以隨機化的合成影像訓練能在真實攝影機上運作的感知模型
  • 無人機導航:學習能從隨機化模擬環境遷移出來的避障策略
  • 抓取與取放:訓練對物體形狀、位置與表面變化具有強健性的抓取策略
  • 組裝作業:學習在物理模擬不完美的情況下仍能遷移的大量接觸操作

實際應用

訓練機器人抓取策略的典型領域隨機化流程如下:在 Isaac Gym 或 MuJoCo 等物理模擬器中,數百個平行環境同時執行。在每個環境中,桌上放著一個物體,其位置、朝向、質量、摩擦與視覺外觀都經過隨機化。機器人在隨機化的光線、攝影機雜訊與致動器延遲下嘗試抓取它。經過橫跨所有這些變化的數百萬回合,策略學會不論具體條件為何都能可靠地抓取。

OpenAI 在 2019 年以機器手解魔術方塊的里程碑研究,使用了激進的領域隨機化:在訓練期間改變 37 個物理參數與數十個視覺參數。得到的策略遷移到真實的 Shadow Hand 機器人上,即使從未以真實世界資料訓練,也能解開方塊。這次展示讓機器人學界許多人相信,領域隨機化是實用的工程工具,而不只是研究上的技巧。

常見誤解

  • 領域隨機化讓模擬精度變得無關緊要:仍然需要一定的基本逼真度;隨機化處理的是落差,而不是鴻溝
  • 隨機化越多越好:隨機化過多會讓學習變得不可能,或產生過度保守的策略
  • 領域隨機化只適用於強化學習:它對監督式學習、模仿學習與感知訓練同樣有用
  • 領域隨機化之後一定需要真實世界的微調:只要隨機化設計得當,許多策略都能零樣本遷移(不需真實世界訓練)

誰需要了解

  • 從事模擬到現實(Sim2Real)遷移的機器人學習研究人員
  • 以合成資料訓練感知模型的電腦視覺工程師
  • 把強化學習(RL)應用到實體機器人上的實務人員
  • 為機器人學習設計訓練環境的模擬工程師
  • 探索 AI 與實體系統交會處的機器人學學生

相關技術

  • 模擬到現實(Sim2Real)遷移
  • 領域適應
  • 系統識別
  • Isaac Gym
  • MuJoCo
  • 程序化生成

相關專案

  • GENESIS: World's fastest physics engine: 43M FPS for embodied AI learning
  • LeRobot: HuggingFace ML library for real-world robotics in PyTorch
  • MuJoCo: DeepMind physics engine for robotics and ML research
  • PyBullet: Python physics simulator for robotics and RL research with fast CPU-based simulation
  • OpenPI: Physical Intelligence VLA foundation models for general robot control
  • Microduck: Pollen Robotics' $399 walking duck robot: open-source software, closed hardware

影片

  • Lecture 22 Sim2Real and Domain Randomization -- CS287-FA19 Advanced Robotics at UC Berkeley: Pieter Abbeel

本網站需要 JavaScript 才能正常運作。請啟用 JavaScript 以瀏覽我們的開源機器人專案。