Blogに戻る

シン・トゥ・リアル・トランスファー:2026年の実践者のガイド

戦闘でテストされた7つのシム・トゥ・リアル 実践者のアドバイス ドメインランダム化 システム識別 ディープ・オーバー RGB ハイブリッドトレーニング シミュレーター選択 完全にシムをスキップする時

[←ブログ]

シミュレーションからリアルハードウェアに 政策を成功に転送したチームが共通する 実践や 他の全員が失敗するエラーを 明らかにします

シンとリアルとのギャップの現実

模擬は,無制限のデータ,ハードウェアの磨損ゼロ,並行訓練,完璧な再生可能性を約束します.実践では,すべての模擬は近似であり,その近似と現実の間のギャップは,政策が死ぬ場所です.模擬された材料と実際の材料の間の接触動力は異なります.アクチュエーター摩擦,反響,遅延はモデル化しにくい. レンダリング画像は人間にとって説得力のあるものですが ニューラルネットワーク機能検出器を実際のカメラ画像とは違う方法で活性化します センサーノイズ,ケーブル硬さ,テーブル振動 - シミュレーションが無視したり 単純化したりする 小さな効果を 数十個ずつ 処理されていない政策が 乗り越えることができない隙間に 合成します

しかしギャップは均一ではありません. いくつかのタスクは簡単に転送され,他のタスクは現在の方法では ほぼ不可能です. このスペクトルにあなたのタスクがどこに属しているのかを理解し,特定のギャップに適切な技術を適用することは, シム訓練されたポリシーを成功に展開するチームと リアルハードウェアに失敗するために数ヶ月間シミュレーションを費やするチームを区別します. 理論的基礎についての背景については, [sim-to-real transfer theory] (シム-トゥ-リアルの転送理論) についての同行記事を参照してください.

善い 転移 と 悪い 転移 の 特徴

** 移動が上手く行ける:** 平面で穏健な地形で移動,平行な爪のグリッパーで基本的な物体を握り,ナビゲーションと障害物回避,自由空間での動きを達成する.これらの作業は,模擬モデルを正確に動かす動力 (硬体メカニクス,基本的な摩擦) と,合理的に移動する視覚的特徴 (物体形,作業場幾何学) に依存する.

努力による移転: 硬い物体を拾い取ること,押しと滑り操作,ドアとドラフトの開き,寛大な寛容で簡単な組み立て.これらの作業には,シミュレーションがほぼ一致する接触動力が含まれていますが,完璧に一致しません.成功的な移転には,以下の技術が必要です.

うまく転送できない (まだ): 変形可能な物体の接触性操作 (布折,ケーブル路由),サブミリメートル許容量のある正確な組み立て (コネクタの配合,スナップフィット挿入),粒子の材料,流体,または柔らかい体を含む作業. これらの相互作用の物理は,差を埋めるためにドメインランダム化のために,正確にシミュレーションするには複雑すぎる.

提示 1: システム的なドメインランダム化を使用する

ドメインランダム化とは,シムからリアルへの転送の最も広く検証された技術ですが",すべてをランダム化"は戦略ではありません.効果的なドメインランダム化は,シミュレーションと実際の設定の違いを特定するパラメータをターゲットとしています. 初期に実用ハードウェアで故障モードを特定する (実用テストでも5〜10回が有用な信号を与えます) そして,その故障を引き起こす可能性が高いシミュレーションパラメータをランダム化します.

視覚的ポリシーでは,効果的なランダム化範囲には: 名前からプラスまたはマイナス10cmのカメラ位置のオフセット,プラスまたはマイナス10度のビュー角度変化,プラスまたはマイナス30%の明るさの変化,プラスまたはマイナス20%の色彩変化,プラスまたはマイナス15%の飽和度変化,シグマ0-2ピクセルを持つガウス模糊,画像の5-20%をカバーするランダムな長方形の遮蔽が含まれます. これらの範囲は シミュレーション画像を 不現実的に多様なものにします しかし,それはまさにそのポイントです. この政策はこれらの変異に不変な特徴を学びます. つまり,シミュレーションと実際のカメラの間の現実世界の視覚的違いも処理します.

物理パラメータについては,次のような優先順位を設定する.接触摩擦系数 (プラスまたはマイナス50%をランダム化),オブジェクト質 (プラスまたはマイナス30%),関節縮 (プラスまたはマイナス20%),アクチュエーター遅延 (ランダム遅延0~20 msを追加).継続的な接触を含むすべての作業にランダム化する.

技巧 2: リアル・トゥ・シム カリブレーション に 投資 する

標準シミュレーションパラメータは 関節硬さ 緩縮 摩擦 慣性テンサー 通常は実際のロボットと1050%異なります 訓練前に24時間システム識別をします それぞれの関節をその範囲で移動し,実際のトーク・ポジション・スピード関係を測定します この測定値をドメインランダム化分布の中心として使います このステップだけで,接触作業では sim-to-realエラーを30~50%減らすことが多い.

カメラモデルを校正する.実際のカメラの内在パラメータ (焦点長さ,主点,歪み系数) と外在パラメータ (ロボットベースとの関係で位置と方向) を測定し,シミュレーションカメラを一致させる. 焦点距離の5%の誤差が 把握精度を10%〜15%低下させる可能性があります 焦点距離の5%の誤差が 捉え精度を10%減少させる可能性があります

提示3:視覚入力ではRGBよりも深さを好みます

フォトリアリティなRGBレンダリングは,多くのタスクで直接のゼロショット転送のために現実世界のカメラに十分に匹敵していない.照明モデル,素材シェダー,影アルゴリズムは,人間に似ているが,神経ネットワーク機能検出器が敏感である方法で異なるイメージを生成する. 深度画像は simから realまでの差がずっと小さいので 深度は幾何学の直接表現であり シミュレーションは幾何学を正確に表現します

視界の主要な入力として深さを使用するチームは (RGB がセマンティック情報のための次要チャネルとして) 捉え作業でゼロショットシム-リアル転送の20-40%の改善を一貫して報告します.あなたの作業にオブジェクトの差別のために色や質感情報を必要としない場合は,深度のみを使用してください. 色の情報が必要であれば (例えば,色によって物体を分類する) RGB チャンネルを使用するが,攻撃的な視覚ドメインランダム化を行います.

4 技法: 訓練 の 中 で 特権 的 な 情報 を 用い て ください

特殊情報技術 ― 時には教師と生徒の訓練と呼ばれます ― シン-トゥ-リアル移動の標準的なアプローチになり 操作に使われています 理想は:実際のハードウェア (正確なオブジェクトポーズ,実際の摩擦系数,地面真実接触場所) で利用できない基礎真実状態情報にアクセスできるシミュレーションにおける教師政策を訓練する. その後,実際のロボットで利用可能なセンサー観測のみを使用して,蒸留を通して教師の行動に一致する学生政策を訓練する.

これは教師の方針が完璧な情報を使用して,最適な作業を最適に解決することができ,生徒は実際のハードウェアでアクセスできる騒音や部分的な観察のみを使用して,最適な行動を近似することを学んでいます.教師は,原料報酬のみよりもはるかに強力なトレーニング信号を提供します. この技術は,チューリッヒETH,カーネギー・メロン,ユニットリーにおける四重移動移転の成功に中心となり,接触感知と力制御を含む操作作業に適応された.

提示 5: 特定に連絡先パラメータをランダム化する

連続接触を伴う作業 ― 挿入,滑り,押し,表面をフォローする ― 接触パラメータのランダム化が重要です そしてしばしば強調されていません. 摩擦系数だけでなく,接触硬さ,接触抑制,復元 (ブーンシー) と接触モデルのための溶解器の繰り返しの数もランダム化します. シンミュレーションにおける接触解明器は,現実世界にはないアーテファクト (浸透,ジッター,早期滑り) を導入し,解明器のパラメータをランダム化することで,政策はこれらのアーテファクトを搾取する代わりに処理するよう強制される.

実践的なアプローチ: 100 件の固定接触パラメータのシミュレーション試験でポリシーを実行し,接触力プロフィールを記録します. その後,重くランダム化された接触パラメータで繰り返します. ランダム化された接触では,ポリシーの成功率は著しく低下した場合,特定のシミュレーションアーテファクトを活用していた. ランダムな連絡先で 訓練を繰り返して 成功率は安定するまで リアルなハードウェアに転送する

技法 6: 洗浄 する 前 に 粗大 な 作業 を 始め て ください

精度作業のポリシーをシミュレーションから直接転送しようとすることは 挫折の秘訣です.代わりに,あなたの作業を粗大バージョンと細かいバージョンに分解します.粗大バージョンは,物体を接近し,グリッパーをほぼ並べ,最初の接触をします. 精細なバージョンは 決まった配列,挿入,制御された力適用は 実データに基づいて訓練または精細な調整をすべきです

この階層的なアプローチは,シミュレーションの量と実際のデータの信頼性を組み合わせます.シミュレーション政策は,自由空間運動と粗略な位置付けを含む作業の80%を処理します.少量の実際のデータ (50-200の示例) は,精密な接触動力を必要とする20%を処理します. このハイブリッドは,データ予算が限られている場合,シムのみとリアルのみのトレーニングを一貫して上回っています.

技法 7 常々 本物のハードウェア を テスト する

シム・トゥ・リアルプロジェクトでは最も一般的な間違いは,実際のハードウェアでテストする前にシミュレーションで最適化して数ヶ月を費やしていることです. チームは実際の政策が失敗したことを発見するまでに,彼らは間違ったもののために最適化するために膨大な努力を投入しました. 初期と頻繁に,実際のハードウェアでテストします. 活発な開発中に少なくとも1〜2週間ごとに.

リアルハードウェアテストをランダムな評価ではなく,体系的な乱乱測として構成する. 作業場の極端な角,到達可能な空間の端に近い物体,不典型的な高度または方向にある物体など,特定の挑戦的な位置で5〜10個テストする. この構造化された評価では,障害が特定の条件 (診断可能および修正可能) に集中するか,またはランダムに分布するか (修正するのが難しく,根本的なギャップを示唆する) が明らかになります.同じカテゴリを使用してシミュレーションと実際の故障モードの両方を記録し,分布を比較します.

技法 8: 動力器 の モデル を 正しく 整え

デフォルトシミュレーションアクチュエーターモデルは理想化された行動をとる:即時トークレスポンス,ゼロトークレスポンス,完璧なポジション追跡.実際のサーボモーターには帯域幅制限 (通常位置コマンドでは5〜50Hz),ギア列車での反射 (0.1-2度,減速比に応じて) と,コンstant-torqueモデルから大きく異なるトークスピード曲線がある. OpenArm 1 のシリアル弾性アクチュエーターでは,トランスミッションのコンプライアンスが安全性の特徴であるが,MuJoCoまたはIsaac Simのデフォルトの硬体アクチュエーターモデルは完全に無視する動力性を導入する.

修正:実際のアクチュエーター応答を測定する.各関節にステップコマンドを送信し,時間とともにポジション応答を記録する.各関節に第二順次転送関数 (自然周波数,ダッピング比,および加給) をフィットする.シミュレーションでこれらのフィットモデルをアクチュエーターモデルとして使用する.MuJoCoでは,各アクチュエーターに一致する T3,T4,T5属性を設定する. イザック・シムでは,関節制御器でPDの増やし,減圧を設定します.このステップは2~4時間かかります.

技巧 9: 材料 と 質感 を ランダム に 編成 する

視覚的政策では,シミュレーションにおける物体や表面の姿は,現実と密接に一致するか,現実がランダム化された分布に該当するほど広くランダム化されなければなりません. 効果的質感ランダム化には:すべての物体および表面のための全HSV範囲のランダム固い色,テーブル表面および背景に適用される手続き質感生成 (パーリンノイズ,チェッカーボード,梯度) および照明のためのランダム HDRI環境地図 (ポリヘーブンから無料の20-50の HDRI地図をダウンロードしてトレーニング中にサイクルする) が含まれる.

逆直感的な発見:写真現実的なレンダリングは,しばしばシム-トゥ-リアル転送に逆効果的です.写真現実的なシミュレーションレンダリングで訓練された政策は,現実に一致しない視覚的な詳細 (特定の影パターン,表面反射) を利用することを学んでいます.高度にランダム化された,不現実的なテクストルで訓練された政策は,よりよい転送を行う幾何学および構造的特性を学んでいます. 評価やデバッグに使うのではなく 訓練データ生成に使うのです

技巧10: 物理パラメーター識別パイプラインを導入する

操作装置のモデリング以外にも,あなたの作業中のオブジェクトの物理的性質は,接触行動に大きく影響します.

  • 物体質: ロボットが操作するすべての物体を重量化します. シミュレーションの質量を一致させる. 重い物体で10%の質量のエラーが目に見える力と軌道のエラーを生む.
  • 摩擦系数: 物体を傾斜した表面に配置し,滑り始める角を記録する.静的摩擦系数を角として計算する.それに応じてシミュレーション摩擦を設定し,測定値の周りに +/-30%をランダム化する.
  • **質量中心:**不対称物体では,質量中心は握り安定と輸送動力に影響します.物体を点上にバランスしたり,懸垂方法を使用して測定します.相応にオフセットシミュレーション COM.
  • Inertia tensor: ほとんどのテーブルタップ操作では,正規質量と幾何学度の均等密度の固体として物体を近似するだけでは十分である.不規則または空っぽ物体では,主要的慣性の瞬間を測定または推定する.

この校正パイプラインは,オブジェクトセットが変更されるたびに自動化され,繰り返されるべきです.RCSVのRL環境サービスには,顧客ハードウェアのための標準化物理識別プロトコルが含まれます.

技巧 11 件: 適切な 連絡先 を 選ぶ

模擬器では異なる接触モデルが提供され,選択はほとんどのチームが認識するよりも重要である.MuJoCoの凸接モデルは高速で安定しているが,非凸接式幾何学 (物体は凸穴で相互に突入する) のアーテファクトを製造する. イザック・シムのGPU加速したPhysXは,不凸形をよりうまく処理するコンパクトなコンタクトモデルを使用しているが,コンタクト硬度設定が低いときに振動を発生させることができる.ジェネシスは,最適化に強力だが,一般用途のコンタクトシミュレーションには成熟していない,差別化可能なコンタクトを提供しています.

簡単なグリッパーで作業を把握するには: MuJoCoのデフォルト接触モデルが通常十分である. 狭いクリアランスの付いた組み立て作業では:溶解器の繰り返しの数を増加させ (MuJoCo: T6T7; Isaac Sim:溶解器の位置と速度繰り返しは) プリミティブな形ではなくメッシュベースの衝突を使用する. 変形可能または柔らかい物体については,硬体近似ではなく,FEMベースの柔らかい体シミュレーション (Isaac SimとSOFAで利用可能) を使用する.

提示 12: RLベースの転送でアシメトリック・アクター・クリチックを使用する

シンミュレーションにおける強化学習 (模倣学習ではなく) を利用している場合,非対称なアクター・批判アーキテクチャは sim-to-real転送の標準慣習となっています. 批評家 (値関数) は,シンミュレーションの訓練中に特権的な基礎真実状態情報にアクセスできます. 俳優 (ポリシー) は,実際のハードウェアで利用可能な観察のみを使用します. これは批評家が実世界との互換性のある観察のみを使用して効果的な行動を学ぶために演者に導かれる正確な価値推定を提供することを可能にします.

これは,ETHチューリッヒ (ANYmal),カーネギー・メロン,ユニトリの成功な移動移転作業の背後にある建築です.操作のパターンは同じです.批評家は正確なオブジェクトポーズと接触状態を見る.俳優はカメラ画像とプロピオセプションのみを見る.結果は,現実世界のセンサーのみを使用する政策ですが,トレーニング中に完璧な情報によって導かれた.

提示 13: シムからリアルに 逆転テストを 作成する

ソフトウェアエンジニアリングのようにシムからリアルへの転送を扱う:テスト・suiteを構築して,ポリシー更新ごとに実行する.10〜20の特定のテスト構成 (オブジェクトタイプ,位置,方向) を定義し,シミュレーションとリアルハードウェアの両方で実行する. simとリアルでの成功率の関連を追跡する. 試験設定で sim-to-realのパイプラインは sim と実際のパフォーマンスとの間に 0.8 の関連を示します. 関連性が 0.6 未満に低下した場合,シミュレーションの何かが現実から異動し (カメラが移動,オブジェクトセットが変更,アクチュエーターが劣化) され,再校正が必要になります.

技巧14: 観察空間 の 違い を 明確に 処理 する

模擬は完璧なプロピオセプションを提供します. すべての時間ステップで正確な関節位置,速度,加速.実際のロボットはコード音,量子化,通信遅延,そして時々落下された読み取りを持っています. リアルなノイズをシミュレーション観測に追加する: 標準偏差がコードの仕様に一致するガウスノイズ (通常は 0.001-0.01 半径で結合位置),ランダムな落下値は 0.1-1%の速度で,および実際のコードの解像度に一致する量化.これらの場合は,ポリシーは実際のハードウェアに利用できない精度に依存することを学んでいます.

15 技法: 欠陥 が 切れない 時 を 知る

現行の技術によって シン-トゥ-リアルのギャップを 解決することはできません そして これを早期に認識することは 何ヶ月もかかる労力を節約します Sim-to-real直線転送があなたの作業に効果がない兆候:あなたの作業の成功は物体インスタンスの間によって異なる材料特性 (繊維の硬さ,表面の質の摩擦) に依存する,あなたの作業は接触のミリメートル以下の精度を必要とする (ロボットが1mm以上重複性を持っている),またはあなたの作業は流体,粒子の材料,または高度に変形可能な物体を含む. これらの場合,作業の粗大段階でのシミュレーションを使用して,細い段階での実際のデータを収集するか,シミュレーションを完全にスキップして,RCSVの [実データ収集サービス]T16) を最初から使用してください.

シミュレーター専用のヒント

Simulator Best Practice Common Pitfall
Isaac Sim Use GPU-accelerated environments with at least 256 parallel instances for RL; disable ray-traced rendering during training Leaving ray tracing on tanks throughput 10x; Omniverse USD scene setup takes days if unfamiliar
MuJoCo Use mj_step with 4-5 substeps for contact stability; set solimp and solref per-geom for different materials Default solver settings produce unstable contacts for tight assemblies; convex decomposition needed for non-convex meshes
Genesis Leverage differentiable physics for system identification (optimize sim parameters to match real trajectories) Ecosystem is less mature; fewer pre-built robot models; community support is smaller
PyBullet Good for quick prototyping and education; use URDF models directly from manufacturer Contact physics is less accurate than MuJoCo; no longer actively developed; avoid for production sim-to-real

物理パラメーター識別:測定プロトコル

システム識別は,シムからリアルへのパイプラインにおける最も高いROIステップですが,ほとんどのチームはそれをスキップするか,ランダムに行う.ここでは, 4-6時間かかる厳格な測定プロトコルで,転送信頼性を劇的に向上します.

関節動力識別 (2時間). ロボット腕の各関節:

  1. 0.1 Hz, 0.5 Hz, 1 Hz, 2 Hz でシヌソイド位置軌道を指揮する. 1 kHz で指揮された位置,実際の位置,およびモーター電流を記録する.
  2. 各周波数で周波数応答 (加益・相) を計算する.第2順の転送関数:H(s) = K * omega_n^2 / (s^2 + 2*zeta*omega_n*s + omega_n^2) を設定する.各関節にK (加益), omega_n (自然周波数) と zeta (ダamping ratio) を記録する.
  3. 逆転を測定する:ゆっくりとランプを上下に指示する.位置の痕跡のヒステリーゼス幅は逆転である.典型的な値は:ハーモニックドライブ (フランカ),惑星ギアボックス (OpenArm,Kinova) に 0.1-0.0°C,直走用の0.02-0.05°C.
  4. 摩擦を測定する:各関節を非常に低速で (<0.01rad/s) 移動するために必要なトークを記録する.これはクーロンブ摩擦です.その後,摩擦を高速で摩擦と速度を測定して粘性摩擦を推定します.モデル:tau_friction = tau_coulomb * sign(v) + b_viscous * v.

**オブジェクトの性質測定 (10個につき1時間) **

  • 台所スケール 1gに準確で グラムに記録する
  • 摩擦系数:_ デジタル傾斜計に固定された平面表面に物体を配置する.物体が滑るまで角をゆっくりと増加する. mu_s = tan(角.少なくとも3つの表面 (金属,木,ゴムマット) で測定する.平均を模擬デフォルトとして,範囲をランダム化境界として使用する.
  • 質量の中心 (不対称物体):_ 弦を使って物体を2つの異なる点から吊るします.吊る点から2本のパイプラインの交差点により2次元COMが得られます. 3次元で3番目の吊るで繰り返します.精度:約5mm,これはほとんどの操作に十分です.
  • 回復系数:_ 物を30cmから硬い表面に落とし,跳ね上げの高さを記録する. COR = sqrt(h_bounce / h_drop) 操作対象のほとんどは, COR が0.1-0.5である.
# sys_id.py -- Minimal joint dynamics identification
import numpy as np
from scipy.optimize import curve_fit

def second_order_response(t, K, wn, zeta):
    """Second-order underdamped step response."""
    wd = wn * np.sqrt(1 - zeta**2)
    return K * (1 - np.exp(-zeta * wn * t) *
           (np.cos(wd * t) + (zeta / np.sqrt(1 - zeta**2)) * np.sin(wd * t)))

# Record step response: send a 0.1 rad step command and log at 1kHz
# t_data, pos_data = record_step_response(joint=3, amplitude=0.1)

# Fit parameters
popt, pcov = curve_fit(second_order_response, t_data, pos_data,
                       p0=[1.0, 50.0, 0.7], bounds=([0.5, 5, 0.1], [1.5, 200, 1.0]))
K, wn, zeta = popt
print(f"Joint 3: K={K:.3f}, wn={wn:.1f} rad/s, zeta={zeta:.3f}")
# Typical values for OpenArm 1: K=0.95-1.0, wn=30-60, zeta=0.6-0.9

この測定パラメータは,直接あなたのシミュレーション構成に移動します.MuJoCoでは,各アクチュエーターに[K * wn^2,0,0]と\T12を[0, -K * wn^2, -2 * K * zeta * wn]に設定します.Isaac Simでは,関節制御器内のPDの増加を特定された自然周波数と抑制に一致するように設定します.

作業タイプによるシムからリアルへの転送成功率

公開された結果とRCSV評価データに基づいて,以下の表は,上記説明された技術が正しく適用されていると仮定して,タスクカテゴリーによって予想されるシム-リアル転送成功率を示しています.

Task Category Sim Success Real Transfer (naive) Real Transfer (w/ DR + SysID) Gap Closure
Flat-ground locomotion 98% 70-80% 90-95% High
Rigid object pick-and-place 95% 40-55% 75-85% Medium-High
Door/drawer opening 92% 30-45% 65-80% Medium
Peg insertion (>1mm tolerance) 90% 15-25% 55-70% Medium
精度(再現性) assembly (<0.5mm) 88% 5-15% 30-50% Low-Medium
Cloth folding 85% 5-10% 15-30% Low
Fluid pouring 80% < 5% 10-20% Very Low

図解は明らかである.転送成功は接触複雑性と逆の関連がある.自由空間運動と単純な硬い接触が支配するタスクは良好な転送である.複雑な接触動力 (変形可能な材料,密切な許容量,流体) が支配するタスクは技術に関係なく,うまく転送されない. "低"ギャップの閉じるカテゴリーにおける作業では,訓練前および粗略なスキルの学習においてシミュレーションは依然として価値あるが,導入品質のパフォーマンスのために,実際のデータ微調整は不可欠である.

ドメインランダム化設定:完全な例

MuJoCoでテーブルタップ操作の作業のための 実践的なドメインランダム化設定です. シムからリアルへの転送にとって 最も重要なパラメータをカバーします.

# domain_randomization.py -- MuJoCo domain randomization for manipulation
import numpy as np
import mujoco

class DomainRandomizer:
    """Randomize physics and visual parameters each episode."""

    def __init__(self, model):
        self.model = model
        self.defaults = {
            'friction': model.geom_friction.copy(),
            'mass': model.body_mass.copy(),
            'damping': model.dof_damping.copy(),
        }

    def randomize(self):
        m = self.model
        # Contact friction: +/- 50% (critical for grasping)
        m.geom_friction[:] = self.defaults['friction'] * np.random.uniform(0.5, 1.5, m.geom_friction.shape)

        # Object mass: +/- 30%
        for i in range(m.nbody):
            if m.body_mass[i] > 0.01:  # Skip fixed bodies
                m.body_mass[i] = self.defaults['mass'][i] * np.random.uniform(0.7, 1.3)

        # Joint damping: +/- 25%
        m.dof_damping[:] = self.defaults['damping'] * np.random.uniform(0.75, 1.25, m.dof_damping.shape)

        # Actuator latency: 0-20ms random delay (model in policy loop)
        self.actuator_delay_ms = np.random.uniform(0, 20)

        # Camera perturbation: +/- 3cm position, +/- 5deg rotation
        for cam_id in range(m.ncam):
            m.cam_pos[cam_id] += np.random.uniform(-0.03, 0.03, 3)
            m.cam_quat[cam_id] += np.random.uniform(-0.05, 0.05, 4)
            m.cam_quat[cam_id] /= np.linalg.norm(m.cam_quat[cam_id])

        # Lighting randomization
        for light_id in range(m.nlight):
            m.light_diffuse[light_id] = np.random.uniform(0.3, 1.0, 3)
            m.light_pos[light_id] += np.random.uniform(-0.5, 0.5, 3)

訓練中の各エピソード開始時に T13 を呼びましょう.このポリシーは,初期的には固定パラメータよりも悪いパフォーマンスを発揮しますが,収束後,特定のシミュレーション値を利用するよりもパラメータ変異に堅く対応することを学んだため,実際のハードウェアに大幅に改善します.

シン-トゥ-リアル 失敗 の 診断: 体系 的 な 方法

リアルハードウェアでシム訓練されたポリシーが失敗した場合,この診断フレームワークを使用して故障の原因となる特定のギャップを特定します.

  1. 実用ハードウェアで故障動画を記録する. すべてのカメラがアクティブで少なくとも10回の故障を記録する. 障害をカテゴリーに分類する: アプローチエラー,キャプチャエラー,輸送エラー,配置エラー.
  2. **シミュレーションで同じ初期条件を実行する.**シミュレーションを可能な限り実際の失敗条件に準拠するように設定する.この条件でシミュレーションが成功しているのだろうか.そうなら,物理や視覚領域のギャップです.そうでない場合,シミュレーションでも存在する根本的な能力ギャップがあります.
  3. 視覚観測を比較する. 失敗の時間段でシムカメラ画像と実際のカメラ画像を並べてみてください. 画像は,政策が敏感になるような点で意味深く異なるのでしょうか.照明,反射,影,オブジェクトの質感をチェックしてください.
  4. プロピオセプティブ状態を比較する. リアルハードウェアのコマンドされた位置と実際の位置の間のプロット関節位置追跡エラー. 追跡エラーが任意の関節で2-3度を超えると,シム内のアクチュエーターモデルが問題となる可能性があります.
  5. 接触行動を比較する. 接触中に故障が発生した場合 (握り込み,挿入) リアルハードウェアのF/Tセンサーの読み込みとシミュレーションされた接触力を比較する.大きな不一致 (>50%ピークフォースの差) は接触モデルの問題を示します.

この診断パイプラインは,通常2-3回の回転で根本原因を特定します.最も一般的な原因は,周波数順序で: (1) カメラ位置/校正不一致, (2) アクチュエーターモデル不正確, (3) 接触摩擦不一致, (4) 視覚域差.#1と#2の対処により,Sim-to-Real障害の60〜70%が解決します.

シミュレーター選択: イザック・シム,ミュジョコ,またはジェネス

NVIDIA Isaac Sim (PhysX5で構築され,Omniverseと統合されている) は2026年から高素度シミュレーションの主要な選択である. GPU加速物理は数千の並行シミュレーションインスタンスを可能にし,強化学習を複雑な作業に操作可能にする. Isaac Simは視覚政策訓練のために最高のレンダリング品質を提供しています. 主要な欠点は,設定複雑性,ハードウェア要件 (高級NVIDIA GPU) とオムニバースの生態系のための学習曲線です.

MuJoCo (現在はDeepMindからオープンソース) は,研究環境における高速で正確な接触物理学の標準であり続けています.環境ごとにアイザック・シムよりも速い,よりシンプルなAPIがあり,より広範な既構築環境とベンチマークのエコシステムを提供しています. MuJoCoは,政策構造や報酬デザインの迅速な繰り返しが必要であり,光現実的なレンダリングを必要としない場合の正しい選択です.そのコンタクトモデルはよく特徴付けられ,一貫した結果を生成します.

Genesisは,速度と差異性を強調する新しいシミュレーターである.このシステムは,差異性物理をサポートし,シミュレーションを通じて梯度ベースの最適化が可能で,接触豊かなタスク学習を加速することができます. ゲネシスは 微型シミュレーションが 明確な利点をもたらす パラメータ最適化 軌道の最適化が 可能な課題に 採用されつつあります しかし その生態系は MuJoCoや Isaac Simよりも 成熟していないのです

視覚ドメインのランダム化:レンダリングギャップを埋めること

物理パラメータランダム化では,ダイナミックギャップを処理しますが,シミュレーションされたカメラと実際のカメラ画像の間の視覚ギャップは,視覚ベースのポリシーに転送失敗の主要な源となります.視覚ドメインランダム化では,視覚的外観に不変になるようにポリシーを訓練することによって,これを解決します.

Visual Parameter Randomization Range Impact on Transfer Notes
Object texture Random RGB per face or procedural noise High (+15-25%) Prevents policy from relying on sim-specific textures
Lighting position + color +/-1m position, 3000K-6500K color temp High (+10-20%) Shadows are the biggest visual gap; randomize shadow direction
Camera position + orientation +/-3cm position, +/-5deg rotation Medium (+8-15%) Matches real-world camera mounting imprecision
Table/background color Random RGB or texture from dataset Medium (+8-12%) Prevents background shortcuts; use real-photo textures for best results
Distractor objects 0-5 random objects in workspace Medium (+5-10%) Crucial for cluttered deployment environments
Camera noise + blur Gaussian noise (sigma 0-0.05), motion blur (0-3px) Low (+3-5%) Simulates real camera imperfections; more important for low-light deployment

視覚ランダム化における重要順序は:オブジェクトのテクスチャー > 照明 > カメラの位置 > 背景 > 気を散らす装置 > 騒音.エンジニアリング時間が限られているチームはトップ3に集中すべきである.光現実的な代替品では,アイザック・シムのパス・トラセッドレンダリングによるトレーニングは,攻撃的なテクスチャーランダム化が必要性をなくすが,エピソードごとに显著により多くのGPU時間を要する.

ハイブリッド 方法: シム 訓練 前 + リアル 精細 調節

2026年に最も高いパフォーマンスのシム-トゥ-リアルパイプラインは,大規模なシミュレーショントレーニングと少量のリアル・ワールドの微調整を組み合わせます.このハイブリッドアプローチは,粗いスキルを学ぶためのシミュレーションのスケーラビリティと最終的なギャップを埋めるための実際のデータの信頼性を活用します.

# hybrid_sim_real_pipeline.py -- Sim pre-train + real fine-tune
from pathlib import Path

def hybrid_pipeline(task_name, sim_episodes=10000, real_episodes=100):
    """
    Stage 1: Pre-train in simulation with domain randomization
    Stage 2: Fine-tune on real-world demonstrations
    Stage 3: Evaluate on real hardware
    """
    # Stage 1: Sim pre-training (runs on GPU cluster, 4-24 hours)
    sim_config = {
        "environment": f"sim/{task_name}",
        "domain_randomization": True,
        "visual_randomization": True,
        "num_episodes": sim_episodes,
        "architecture": "act",
        "epochs": 500,
        "checkpoint_dir": f"checkpoints/{task_name}_sim",
    }
    sim_model = train_policy(**sim_config)

    # Stage 2: Real fine-tuning (uses sim checkpoint as init)
    real_config = {
        "dataset": f"data/real/{task_name}",
        "num_episodes": real_episodes,
        "pretrained_checkpoint": sim_model.checkpoint_path,
        "learning_rate": 1e-5,  # 10x lower than sim training
        "epochs": 200,
        "freeze_encoder_epochs": 100,  # Freeze visual encoder initially
        "checkpoint_dir": f"checkpoints/{task_name}_hybrid",
    }
    hybrid_model = finetune_policy(**real_config)

    # Expected results:
    # Sim-only: 40-60% real success (pick-place)
    # Real-only (100 demos): 70-80% success
    # Hybrid (10K sim + 100 real): 80-90% success
    return hybrid_model

ハイブリッドアプローチは通常,35倍以上の実用デモのパフォーマンスを匹敵します.100個の実用デモと10Kのシムエピソードが300500個の実用デモと比べて性能を達成します.エンジニアリング時間から1-2週間以内にシム環境の設定が達成できる場合,経済学者はハイブリッドアプローチを好む. RCSVの RL環境サービス は,一般的な操作作業のために,設定時間を1-2日に短縮して,プリビルドされたシミュレーション環境を提供します.

シンプリング後 リアルワールド 精準調整 の 技法

訓練前でのメリットを否定する誤りを犯すのが 調整の段階です

  • Simトレーニングより10倍低い学習率を使用します. sim訓練前のモデルでは既に視覚的特徴と粗い運動能力を学習しています.
  • ** 視覚エンコーダーを,細かな調節時代の最初の50%に凍結する.** シンプリングエンコーダーは,実際の100つのデモが教えることができるより一般的な視覚的特徴を学びました. まずアクション予測ヘッドを適応させ,その後非常に低い LR (1/100分の1のアクションヘッド LR) でエンコーダーを解凍します.
  • ** 細かな調整中に10~20%のシムデータを混ぜます.** 細かな調整の実際のパッチにシムエピソードの小部分を追加することで,シム学習のスキルを壊滅的な忘れを防ぐことができ,調節剤として機能します.
  • Sim 障害モードを対象とした実際のデモを収集します. 細かな調整データを収集する前に,実際のハードウェアで sim 訓練を進める方針を実行します.特定の障害モード (通常は連絡動力や視覚的外観の不一致) を特定し,実際のデータ収集を均等に収集する代わりに,それらの障害条件に焦点を当てます.

ロボット学習のためのシミュレーションエンジン比較

適切なシミュレーターを選ぶことは, Sim の訓練データの質と環境の設定に必要な技術的努力の両方に影響します. 2026 年における操縦作業の主要な選択肢は,どのように比較されるか,以下です.

Simulator Physics Quality Rendering Quality Speed (steps/sec) Setup Effort Best For
MuJoCo 3.x Excellent Good (basic PBR) 100K+ (CPU) Low (MJCF/URDF) RL training, contact-rich tasks, rapid prototyping
Isaac Sim / Isaac Lab Very Good Excellent (RTX raytracing) 10K-50K (GPU) High (USD, NVIDIA stack) Visual sim-to-real, domain randomization, GPU-parallel RL
Genesis Good Good 50K-200K (GPU) Low-Medium Fast parallel sim, soft body, generative tasks
PyBullet Adequate Basic 5K-20K (CPU) Very Low Quick experiments, education, lightweight benchmarks
RoboCasa / Robosuite Good (MuJoCo-based) Good 10K-50K (CPU) Low (pre-built tasks) Home/kitchen manipulation, benchmark tasks, multi-task RL

ほとんどのチームに推奨: 物理品質,速度,低設定の組み合わせのためにMuJoCo 3.x を開始します.視覚ドメインランダム化または大規模な規模 (1000+ 段ボール環境) でGPU並行訓練のために光現実的なレンダリングが必要な場合のみ,Isaac Sim に切り替えます. 変形可能な物体で作業するチームや可能な限り高速な並行通路が必要とするチームにとって,ゲネシスは評価に値する.PyBulletは迅速なプロトタイプ作成に適しているが,信頼性が低いトレーニングデータを生成し,信頼性が低い転送を行う.

シム対リアルギャップを測定する:量化プロトコル

複雑なドメインランダム化に投資する前に,特定のタスクのベースライン sim-to-realギャップを測定してください.この測定はギャップを閉じる作業がどれくらい必要なのかを教えてくれます.

  1. ** サイミュレーションのみでポリシーを訓練する** (デフォルトシミュレーターレンダーを使用してドメインランダム化なし). 100回の評価でシム成功率を記録する.
  2. ** 変更なしに実際のハードウェアに同じポリシーを実装する. 20 つの実際の評価試験を実行する. sim の成功率と実際の成功率の違いは, sim から real の 差である.
  3. 故障を分類する. 実世界の故障ごとに,根本原因を特定する.視覚的外観の不一致 (シムレンダリングは実際のカメラと一致しない),物理の不一致 (オブジェクトの動力学が異なる) または制御の不一致 (モーター反応はシミュレーションされたアクチュエーターと異なる).この分類は,ギャップを埋める努力をどこに投資すべきか教えてくれます.
  4. **標的型ギャップクローズを適用する.**視覚障害が支配している場合は,ドメインランダム化とより良いレンダリングに投資する.物理障害が支配している場合は,システム識別に投資する.制御障害が支配している場合は,アクチュエーターモデリングまたは残留政策学習に投資する.
  5. 再測定. ギャップの閉じる各回戦後,ステップ2〜3を繰り返します.実際の成功率は部署の限界を超えたとき,または残りのギャップが5%未満 (収益減少) になったとき,停止します.

典型的なベースラインギャップ (ドメインランダム化なし,システムIDなし):ピックアンドプレイス硬いオブジェクト:2040%ギャップ 挿入タスク3050%ギャップ 変形可能なオブジェクト操作5070%ギャップ 完全ドメインランダム化加えてシステム識別後,これらのギャップは通常それぞれ515%,10~25%,25%に減少します.残りのギャップは現実世界の微調整によって閉鎖されます.

シンを完全にスキップする時

シミュレーションは必ずしも正しい選択ではありません シミュレーションをスキップして,実際のデータ収集に直接進む場合:あなたのタスクは,歪み可能な物体や不良のシミュレーションされた材料 (服,ケーブル,食品) を含む場合;あなたは,リアル世界のデータ収集に迅速なアクセスを有する場合 (RCSVの [データサービス]T18) は,1日500+エピソードを収集することができます);あなたのタスクには, 1,000 以上の示範が必要です;または正確なシミュレーション環境を構築する努力が,実際のデータ収集の努力を上回る場合.

決定の枠組みはシンプルです.特定のタスク (エンジニアリング時間,レンダリングのためのハードウェア,シムからリアルへの転送のデバッグ時間を含む) に合わせてシミュレーション環境を構築し,校正するコストを推定します.実際のデータの相当量の収集コストと比較します.2026年に多くの操作タスクでは,リアルデータ経路は速く,予測可能になります. 模擬は数百万回のエピソード (強化学習) が必要であるとき, 作業がうまく移転するとき (移動) または実際のデータ収集が危険または高価であるとき (外科ロボット工学,危険な環境) で優れている.

移転パイプラインを始める

RCSVの RL環境サービス は,特定のハードウェアのためのシステム識別と物理校準化による管理されたシミュレーション環境を提供します.ハイブリッドアプローチを追求するチームには,最終的なギャップを埋める実体デモでシミュレーショントレーニングを補完するために,当社の [データサービス] (T20) を通じて実際のデータ収集も提供します.

関連 読書

  • [ロボット政策一般化:なぜロボットが新しい物体で失敗する]
  • [ロボット学習対古典ロボット:いつ使えばいいか]
  • [ロボット学習のスケーリング法:2026年我々が知っていること]
  • [ロボット配備チェックリスト: 開始前に12歩]
  • [ACT vs. Diffusion Policy: いつどれを使えばいいのか]
  • [RCSV RL環境サービス]
  • [RCSVデータ収集サービス]

校準式 シミュレーション 環境 を 入手 する

RCSVのRL環境サービスには,特定のロボットハードウェアのシステム識別と物理の校正が含まれます.

[RL環境を調査する]