The Reality Gap === > Source:NVIDIA — *Transferring Robot Learning Policies From Simulation to Reality* 課程整理 ## 1. 什麼是 Reality Gap? 在研究領域,我們常說有兩個 **Domain(領域)**: * **Source Domain**:模擬 (Simulation) * **Target Domain**:真實世界 (Real World) 這兩個領域包含機器人可能面對的所有條件:地形、馬達參數、摩擦係數……等。 問題是:模擬 ≠ 真實,兩者間存在巨大的落差,這就是 **Reality Gap(現實落差)**。 --- ## 2. Reality Gap 的三大來源 ### (1) Approximation Errors — 近似誤差 * 物理與渲染本質上都是近似,不可能完美複製自然法則。 * 離散化導致非物理現象(例如:物體相互穿透)。 * 有時甚至無法維持動量守恆等基本物理原則。 ### (2) Model Errors — 模型誤差 * 模擬中設定的連桿長度、質量、摩擦係數不會 100% 準確。 * 製造公差、零件磨損,會讓真實機器人和模擬模型不一致。 ### (3) Unmodelled Dynamics — 未建模動態 * 彈性致動器、彈簧等複雜機構常被過度簡化。 * 真空吸盤、特殊接觸行為很難準確建模。 * 感測器雜訊、馬達誤差常被忽略。 * 系統延遲(網路延遲、致動器反應時間)不一定納入模擬。 > 這些因素累積起來,就是造成模擬與現實差異的來源。 --- ## 3. Reality Gap 的圖像化 <p style="display:flex; align-items:center; justify-content:center;"> <img src="https://hackmd.io/_uploads/SJV4ejMsxe.png" width="100%"> </p>> 想像「模擬」和「真實」各是一個高維度空間,我們簡化成兩個圓: * 綠色圓:模擬 Domain * 紅色圓:真實世界 Domain 兩個圓會 **部分重疊**,但永遠不會完全重合。 未重疊的部分,就是 **Reality Gap**。 目標就是讓綠色圓和紅色圓的重疊區域盡可能大,確保機器人策略在模擬學到的技能,能順利轉移到真實世界。 --- ## 4. 部署考量 (Deployment Considerations) * **理想情況**:機器人運行點落在「重疊區域」 → 策略可直接適用。 * **次佳情況**:落在模擬未覆蓋的區域 → 仍可能運作,但依賴策略的泛化能力。 因此,我們必須設法 **擴展並調整模擬的覆蓋範圍**,讓它更接近真實世界。 --- ## 5. 解決 Reality Gap 的三大方向 1. **Simulation Enhancement**(提升模擬真實度) * 例:Domain Randomization、點雲擾動 (Point Cloud Perturbations)。 2. **Real-World Data Integration**(整合真實世界資料) * 例:致動器建模、建立世界模型 (World Models)。 3. **Policy Robustness**(強化策略的穩健性) * 例:正則化 (Regularization)、使用特權資訊 (Privileged Information)。 --- ## 6. 系列文章規劃 接下來我會把這三大方向拆成三篇筆記來深入探討: * \[下一篇] **Simulation Enhancement:讓模擬更接近真實** * \[第二篇] **Real-World Data Integration:把真實帶進模擬** * \[第三篇] **Policy Robustness:打造更穩健的策略** --- 希望我的內容對你有所幫助,想看到更多內容歡迎追蹤我的 IG、Threads 等平台。 Threads:[@minimalist_shine](https://www.threads.com/@minimalist_shine) IG:[@minimalist_shine](https://www.instagram.com/minimalist_shine/)