Image courtesy of Duality Robotics

ロボットのトレーニング:アニメーション映画から仮想環境へ

Sébastien Lozé
産業セクターでは長年にわたり自律型ロボットが活用されてきましたが、それはほとんどの場合、固定されたまま決まった作業を行うだけのものでした。本当の意味で自律したロボット、ドローン、自動車、つまり、人の多いビルの中、荒野、公道を人間と同じように進むことができる機械は、まだ現実のものとなっていません。

多くの企業がこの水準に到達することを目指し、こうした機械を仮想環境でテストしています。仮想環境なら、通常の状況と並行してエッジケースや例外的な状況を厳しくテストしても、人や物、機械自体が危険にさらされることはありません。しかし、こうしたテストでは、リアリティのある仮想的な世界をリアルタイムで実行する必要があります。また、物理的な世界と仮想的な世界の二重性を巧みに扱うことができなければなりません。

Duality Robotics は、この二重性を中核とし、ロボット工学や AI 開発用の Falcon プラットフォームに生かしています。Falcon は Unreal Engine を基盤に構築されています。その環境は非常にリアルで、合成された世界と現実の世界との違いを機械学習ネットワークが区別できないほどです。Falcon プラットフォームの将来性が評価され、その開発を進めるために、Duality Robotics は最近 Epic MegaGrant のサポートを受けました。

ロボット工学とアニメーションの融合

Duality Robotics は 2018 年に Mike Taylor 氏と Apurva Shah 氏によって立ち上げられました。Taylor 氏は、Caterpillar Inc. で、現場で使用される巨大なロボットの開発に携わった後、現在は Duality でロボット技術責任者とソリューション エンジニアリング責任者を兼任しています。Shah 氏は同社の CEO であり、ハイエンドのアニメーション映画の視覚効果担当スーパーバイザーを務めています。Shah 氏は以前、Pixar Animation Studios に 12 年間勤めていた経験があり、そこでは膨大なデータの処理という問題の解決に貢献しました。これはまさにロボット工学業界が現在直面している問題です。

Shah 氏と Taylor 氏は一見タイプの違う 2 人ですが、それぞれがシミュレーションというパズルの重要なピースを持っています。それは、環境内の複雑なシナリオを高精度でシミュレーションする方法、そしてセンサーや機械からのリアルタイムの反応にシーンを対応させる方法です。 
Image courtesy of Duality Robotics
その鍵を握るのが Universal Scene Description (USD) 標準です。これは Pixar で開発されたデータ形式であり、大規模で複雑な 3D モデルを効率的に定義できるようになっています。Shah 氏は「当社のデータ モデルに非常に強力な基盤が必要であることは初めからわかっていました」と述べています。

Shah 氏は、それぞれ 1995 年、2006 年、2012 年に公開された Pixar の映画、トイ・ストーリーカーズメリダとおそろしの森を例に、ロボット工学のテストに USD を採用した理由を説明してくれました。よく知られているように、トイ・ストーリーの大部分は、男の子の寝室という比較的小さな世界で起こる話です。

「それがカーズになると田園風景や市街地、メリダとおそろしの森では森全体を表現する必要がありました。USD 以前は、この複雑さに対応しきれず、パイプラインに詰まりが生じていました」と Shah 氏は述べています。

この課題がどのようにロボット工学に関連するのかを説明するため、Shah 氏はロボットの進化を引き合いに出します。「何十年もの間、大きなロボットがケージの中で稼動していました。その世界は非常にシンプルです。ここで、このケージがなくなり、ロボットが人の多い倉庫の中を動き回ることになったと想像してみてください。ロボットの立場になってみれば大混乱です。複雑さは 2 倍や 4 倍どころではなく指数関数的に高まります。この状況を効率的に表現するにはどうすればいいのでしょうか。問題を解決するには、最初にその問題を表現できなければなりません」

Shah 氏と Taylor 氏が、自律型のロボットや自動車、ドローンのテスト用ソリューションの作成に使用する膨大な環境データセットの標準形式として USD を採用したのは、この対比がきっかけでした。USD 形式を使用することで、Duality はリアルタイムで進行する充実した環境を作成できます。また、シミュレーションで、センサーや機械との間で大量のデータを入出力できます。 
Image courtesy of Duality Robotics
Duality の顧客である Honeywell Aerospace などのハイテク企業にはこの性能が重要な意味を持ちます。Honeywell Aerospace は、長年にわたり次世代の自律飛行システム技術をリードしてきました。Honeywell Aerospace の先進テクノロジー担当エンジニアリング ディレクターの Jeff Radke 氏は次のように述べています。「次世代ソリューションを効率的に開発し、アルゴリズムとシステムを短期間で設計、テスト、検証するには、ほかのツールとともに、安定したモジュール式 3D シミュレーション環境が不可欠です」 

複雑な世界のシミュレーション

Duality のクライアントは、Honeywell を含め、通常は問い合わせをしてくる時点である程度シミュレーションの経験があります。Taylor 氏によると、多くのクライアントは、自社内でソリューションの開発を続けると、プログラムが成功しないリスクが高まっていき、予定が延びていく傾向があるため、自社開発に代わる手段としてスピードと柔軟性を求めて問い合わせをしてきます。

「ほとんどの技術者は、自律制御シミュレーターの必要性を認識していますが、安定したシミュレーターの開発は難しい場合があります。多くの場合、着手するため、あるいは既存の資源を有効活用するためのスタッフが不足しています」と Taylor 氏は言います。「一般に、ゲームや映像制作の方面に詳しい人がいないという問題がハードルとなります」

Shah 氏はさらに、ある 1 つの用途に特化し、その用途には優れている市販のシミュレーション製品はいくつか存在することを挙げます。たとえば、風洞シミュレーターはその用途を果たしますが、その用途にしか使うことができません。クライアントがこうしたツールを独自のカスタム シミュレーションと連携させようとすると、結果は不完全、不正確、あるいはリアルタイム再生には速度が不十分なものになります。

スピードとリアリティの両面で競争の激しいこの業界で、Duality が高水準のシミュレーション ソリューションを開発できたのは、複数の要因のおかげでした。それは、リアルな環境の制作における Shah 氏の経験、Taylor 氏のロボット工学に関する深い知識、USD ファイル形式による拡張性、相互運用性、効率性、そして Unreal Engine のグラフィックスとシミュレーションの機能です。
Image courtesy of Duality Robotics
「この分野のソリューションは、高いパフォーマンスをアピールしていますが、実際のパフォーマンスはその数分の 1 程度であることもあります」と Taylor 氏は言います。「現場ロボットには、コア シミュレーターだけでなく、現実世界の多様性と混沌を表すシミュレーション環境が必要です」

Shah 氏は、Duality の付加価値として、センサー ストリームに実際のカメラ エフェクトを加える Falcon の機能を挙げます。これにより、現実世界で実際に機械が認識する状況に極めて近いビジュアルを作成できます。「レンズとカメラのモデル、被写界深度、ボケ効果のすべてが、電気工学センサーの合成出力を視覚システムが認識する前に画像に取り入れられます」と Shah 氏は述べています。
Image courtesy of Duality Robotics

高品質データを使ったシミュレーション

現実世界を対象とする自律型システムを開発する企業にとって、シミュレーションのリアリティとスピードは極めて重要です。たとえば、Honeywell の次世代自律制御ソリューションの開発においては、システムが Honeywell 独自の厳しい品質基準を満たしていることを確認する必要があります。このような高度なシステムでは、考えられるシナリオや環境にわたり現実世界のデータを収集するプロセスを、高忠実度のフォトリアルな 3D シミュレーターのデータで強化することが重要です。

こうしたシステムの中核にあることが多い、AI や機械学習の手法が急速に進化していることから、高品質の多様な合成データの必要性がさらに高まっています。適切なシミュレーション ツールを適切に導入することで、技術チームはラボでアルゴリズムを段階的に改善し、品質を犠牲にすることなく開発のスピードを上げることができます。
Image courtesy of Duality Robotics
Honeywell Aerospace のオルタナティブ ナビゲーションと自律制御グループのオファリング ディレクターを務める Thandava Edara 氏は次のように述べています。「Duality のシミュレーターは、当社のアルゴリズムを簡単に取り込み、さまざまなシナリオ用に質の高いデータを短時間で生成できるフレームワークとなりました。その結果、データの収集とテストにかかるコストや時間を減らし、リスクを下げることができました」

Duality は最近、別のプロジェクトで、長距離トラックの自動運転のデジタル ツインを作成しました。この顧客には、自動運転のためにセンサーやアクチュエーターを装備したトラックがすでにあったため、Duality ではそれを生かし、物理センサーからデータを収集し、トラックに同乗して運転時の特性を学びました。

その後、デジタル ツインに取りかかりました。「Unreal Engine の外でカスタム アクチュエーターのシミュレーションを構築し、Unreal Engine 内で大型トラックのマルチボディ ダイナミクス モデルを、トラクターとトレーラーを連結した状態で構築しました。その後、この統合システムのダイナミクスを実際のデータに合わせて調整しました」と Taylor 氏は説明します。

完成したソリューションでは、トラックの自律制御ソフトウェアからこの統合シミュレーションに指示を送り、Unreal Engine 内でトラックの 3D モデルを運転できるようになりました。「Unreal のアーキテクチャにより、非常に高精度の統合シミュレーションを構築できました。高速道路のスピードでダイナミックな操作をしている間でも、トラックのシミュレーションと現実世界のデータの誤差をわずか数センチ単位に収めることができました」と Taylor 氏は言います。 
Image courtesy of Duality Robotics
リアルな環境内での高精度のシミュレーションでは、物理システムを検証できると同時に、物理的な装置やデータの欠陥が明らかになることもあります。Duality は、歩道を自動走行するロボットの仮想訓練環境の開発を任されたことがありました。このロボットは、シミュレーションの中で、ある特定の種類の影を常に物体と誤って認識しました。

最初はシミュレーションの欠陥と思われましたが、その後、実際のロボットも同じ種類の影に対して同じ反応を示していたことがわかりました。シミュレーターは、ロボットの認識システムが同じ間違いを犯すほど、ロボットのセンサーを正確に再現していたのでした。「間違いは同じ種類であっただけでなく、同じ性質のものでした」と Taylor 氏は指摘します。「仮想環境と現実での機械の動作はまったく同じでした。これは重要なことです」 

プラットフォームとしての Unreal Engine

Duality が、シミュレーション ソリューションのベースとなるツールとして Unreal Engine を採用する際には、精密さが要求されるテクノロジーにゲーム エンジンを使用することに対するクライアントの誤解を解くという課題がありました。「ゲーム エンジンに決定性を求めることはできないと考えるお客様がいますが、それが可能であることを簡単に見せることができます」と Taylor 氏は言います。「また、以前にゲーム エンジンの使用を試みたが、うまくいかなかったという声も聞きます。人、車、草木の正確な動きへの懸念もあります。こうした懸念は理解できるものです。私たちは、Unreal Engine の性能を示し、どのように問題解決に役立つのかを理解してもらうための努力はいとわないつもりです」

Duality は、当該分野を対象とした詳細なデモにより、クライアントの具体的な問題にリアルタイムで対処できることを示し、このような懸念を解消できています。「百聞は一見にしかずです。説明するだけでなく、実際に見てもらうようにしています」と Taylor 氏は述べています。
Image courtesy of Honeywell
Image courtesy of Honeywell
Duality が Falcon のプラットフォームとして Unreal Engine を選んだのには複数の理由があります。Shah 氏は次のように述べています。「環境の忠実度は非常に重要です。幅 0.5 センチを超えるものはすべてモデル化します。アングルや距離によっては、例外的なものがモデルではなくテクスチャとして表現されていた場合、センサーが認識を誤る可能性があります。Unreal Engine なら、そのような忠実度のグラフィックスを実現できます」

別のメリットとして、技術者が各自で管理、拡張できるシミュレーションを Duality が容易に構築できる点が挙げられます。たとえば、Duality のシステムには、USD ファイル形式で公開される属性を調整可能なパラメーターとして含めることができるため、技術者は Unreal Editor の使用方法を知らなくてもレンズ情報をすぐに変更できます。

しかし、Shah 氏が Unreal Engine について最も気に入っているのは、アーキテクチャに強力なビジュアル スクリプティング システム、ブループリントが含まれる点です。Shah 氏は言います。「3D オペレーティング システムのようなものです。C++、ブループリント、そして強力なエディタを備えた優れた基盤で、レベルを構築し、こうしたシナリオに対応できます。私たちにとって重要なのは、このエコシステム全体、そしてこのエコシステムのアーキテクチャです」

Duality の API により、Robot Operating System (ROS) とのネイティブ連携をすぐに利用できるようになっているため、技術者は、Shah 氏が機械学習の「共通言語」と呼ぶ Python でコーディングを行うこともできます。「自律制御について開発したスタックがすでにある場合は、わずかな作業で連携が可能です」と Shah 氏は述べています。

Duality では、当面は自律制御シミュレーターへの取り組みを継続し、目標に向けて Unreal Engine を使い続ける予定です。
「仮想環境と物理環境の境界を曖昧にするにはどうすればいいのでしょうか」と Shah 氏は疑問を投げかけます。「これが、私たちが取り組んでいる二重性です。その答えが見つかるまで、数年では足りず、おそらく 10 年か 15 年程度かかるでしょう。そのために必要な忠実度、拡張性を提供してくれるのが Unreal Engine です」

    お問い合わせください!

    Unreal Engine の力をトレーニングやシミュレーションで活用することにご興味がありますか?
    是非ご連絡ください。