テクノロジー

Sim-to-Real:ロボットがまずシミュレーションでテストされる理由

シミュレーションの中なら、墜落しても費用はかからず、何千回もの試行をひと晩で回せ、突風も好きなときに起こせます。だからロボットは、実際に動く前にソフトウェアの中で学習し、テストされます。問題は、シミュレーションと現実の世界とのあいだの隔たりです。

要点:シミュレーションを使えば、エンジニアは、実際に用意できるよりはるかに多くの状況で、危険な状況やまれな状況も含めてロボットをテストできます。しかし、どのシミュレーターもどこかが間違っていて、それに合わせすぎて調整した制御器は、実機ではうまく動かないことがあります。これがリアリティギャップです。答えの1つは、現実の世界がもう1つのバリエーションに見えるほど、シミュレーションを幅広くランダム化することです。もう1つは、実際のロボットを測定して、シミュレーションを修正することです。シミュレーションの結果は、その裏にある物理の確かさ以上にはなりません。

シミュレーションする理由

リアリティギャップ

Tobin らは、シミュレーション上のロボット工学と実機での実験とを隔てるものを「リアリティギャップ」と呼びました。摩擦、モーターの遅れ、動く空気、それぞれのセンサーのノイズ、反射は、どれも近似にすぎません。シミュレーターが誤って再現している細部に知らないうちに頼っている制御器は、本物に出会ったときにうまく動かなくなります。

すべてをランダムに

2017年の彼らの研究では、ランダムで、あえて非現実的なテクスチャをつけたシミュレーション画像だけを使って、物体検出器を学習させました。この検出器は、実際の画像で物体の位置を1.5cm以内の精度で特定し、紛らわしいものや一部が隠れた物体にも対応でき、散らかった中から物をつかむロボットを誘導できるほどの性能を示しました。著者たちの言葉を借りれば、その考え方は、シミュレーターに十分なばらつきがあれば「現実の世界は、モデルにとって単なるもう1つのバリエーションに見えるかもしれない」というものです。

同じ考え方は、物理にも使えます。何千ものシミュレーション上のロボットで、質量、モーター、遅れ、センサーのノイズを変えてみてください。そのすべてでうまく動く制御器は、あなたがつくる1台でもうまく動く可能性が高くなります。

測ってギャップを埋める

ランダム化には限界があります。実際のロボットが、試したどの範囲からも外れていれば、シミュレーションはそれについて何も語れません。仕事のもう半分は測定です。実際のモーター、プロペラ、センサーをテストスタンドに載せ、どうふるまうかを測り、シミュレーションを更新し、もう一度テストします。

シミュレーションの結果が意味すること

シミュレーションの結果は、そのシミュレーションについての記述です。信頼する前に、その中で何が測定され、何が文献から取られ、何が仮定されたのか、そして仮定を変えても結果が成り立つのかを確かめましょう。

Alkyon での私たちの進め方

Alkyon は、家の中を飛ぶコンパニオンとして私たちが構想しているコンセプトで、シミュレーションを先行させて開発しています。その飛行制御器は、ランダムに条件を変えた多数のロボットでテストしています。モーターの遅い速い、重さやバランスのわずかな違い、ノイズの多いセンサー、そして扇風機や開いた窓からの風です。このシミュレーションの物理定数はどれも、実際の部品をテストスタンドで測るまでは、文献からの見積もりか仮定にとどまります。結果を示すたびに、そのことを明記しています。開発中のコンセプトで、ヨーロッパ向けのみです。自律飛行する屋内ドローン(英語)。

出典(2026年11月4日閲覧):Tobin ほか「domain randomization for transferring deep neural networks from simulation to the real world」2017年(arXiv)。

よくある質問

ロボット工学でいうリアリティギャップとは何ですか?

シミュレーション上のロボットと現実のロボットとの違いです。摩擦、モーターの遅れ、空気、センサーのノイズ、光は、シミュレーターの中ではどれも近似にすぎません。シミュレーターが誤って再現している何かに頼った制御器やモデルは、実機ではうまく動かないことがあります。

ドメインランダム化とは何ですか?

テクスチャ、照明、質量、遅れ、センサーのノイズなどをランダムに変えた、たくさんのバージョンのシミュレーションで、学習やテストを行うことです。そうすると現実の世界はバリエーションの1つにすぎないように見え、そのすべてでうまくいくものは、現実でもうまくいく可能性が高くなります。