---
# System prepended metadata

title: The Reality Gap
tags: [Sim-to-Real, Reality Gap, Isaac]

---

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/)