Shah 氏と Taylor 氏が、自律型のロボットや自動車、ドローンのテスト用ソリューションの作成に使用する膨大な環境データセットの標準形式として USD を採用したのは、この対比がきっかけでした。USD 形式を使用することで、Duality はリアルタイムで進行する充実した環境を作成できます。また、シミュレーションで、センサーや機械との間で大量のデータを入出力できます。
Image courtesy of Duality Robotics
Duality の顧客である Honeywell Aerospace などのハイテク企業にはこの性能が重要な意味を持ちます。Honeywell Aerospace は、長年にわたり次世代の自律飛行システム技術をリードしてきました。Honeywell Aerospace の先進テクノロジー担当エンジニアリング ディレクターの Jeff Radke 氏は次のように述べています。「次世代ソリューションを効率的に開発し、アルゴリズムとシステムを短期間で設計、テスト、検証するには、ほかのツールとともに、安定したモジュール式 3D シミュレーション環境が不可欠です」
「ほとんどの技術者は、自律制御シミュレーターの必要性を認識していますが、安定したシミュレーターの開発は難しい場合があります。多くの場合、着手するため、あるいは既存の資源を有効活用するためのスタッフが不足しています」と 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 シミュレーターのデータで強化することが重要です。
完成したソリューションでは、トラックの自律制御ソフトウェアからこの統合シミュレーションに指示を送り、Unreal Engine 内でトラックの 3D モデルを運転できるようになりました。「Unreal のアーキテクチャにより、非常に高精度の統合シミュレーションを構築できました。高速道路のスピードでダイナミックな操作をしている間でも、トラックのシミュレーションと現実世界のデータの誤差をわずか数センチ単位に収めることができました」と Taylor 氏は言います。
最初はシミュレーションの欠陥と思われましたが、その後、実際のロボットも同じ種類の影に対して同じ反応を示していたことがわかりました。シミュレーターは、ロボットの認識システムが同じ間違いを犯すほど、ロボットのセンサーを正確に再現していたのでした。「間違いは同じ種類であっただけでなく、同じ性質のものでした」と Taylor 氏は指摘します。「仮想環境と現実での機械の動作はまったく同じでした。これは重要なことです」
Duality の API により、Robot Operating System (ROS) とのネイティブ連携をすぐに利用できるようになっているため、技術者は、Shah 氏が機械学習の「共通言語」と呼ぶ Python でコーディングを行うこともできます。「自律制御について開発したスタックがすでにある場合は、わずかな作業で連携が可能です」と Shah 氏は述べています。