Search Unity

BMWは、AR や VR を使った生産プロセスの変革から、画期的な方法での車両のマーケティングまで、自動車のライフサイクル全体にわたる多彩なユースケースにおいて Unity を採用しています。BMW の最も革新的なリアルタイム 3D テクノロジーの応用先の 1 つである、自動運転(AD)の複雑さを容易に克服し、何百万ものシミュレートされたシナリオにわたって AD 機能を検証する方法を探ってみましょう。

BMW、MINI、ロールスロイス、BMW モトラッドなどのブランドを擁する BMW グループは、2006 年から高度に自動化された自動運転(AD)に取り組んできました。今後数年の間に、同社は車を運転する人に、ほとんど人間が運転する必要がない乗り物を購入するという、画期的な機会を提供したいと考えています。

BMW グループは、運転支援システム、高速道路走行、駐車について「レベル 3」に対応した自動車を、今後数年で販売することを目標としています(SAE レベル 3 は、ある程度の人間の介入が必要な条件付き自動運転と定義されています)。

バーチャル空間でテスト走行距離の 95% を走行

BMW のテスト走行距離のうち、実車で走行される割合はわずか 5% となる見込み(動画クレジット:BMW)

世界中で、BMW グループのテスト車両のフリートが、自動運転技術をプレッシャーテストすることになっています。このフリートだけでは AD 開発に必要なすべてのデータを収集することができないため、BMW のテスト走行距離の約 95% は、バーチャル世界でバーチャル車両によってカバーされています。

これらのシミュレーションは、ミュンヘンのすぐ北に位置するドイツのウンターシュライスハイムにある BMW の自動運転のために設けられたキャンパスで行われています。BMW グループのグラフィカルシミュレーション開発者である Nicholas Dunning 氏は、12 人からなるコア開発チームの一員で、BMW のキャンパスにいる 1,800 人の AD 開発者が作業を視覚化して推進するために役立つよう、Unity でカスタムツールを構築しました。

「BMW では、自動運転の開発にはシミュレーションが重要であると考えられています。」と Dunning 氏は語ります。「Unity は、当社のチームが自動運転の大きな目標を達成するために必要な何百万ものバーチャルな路上運転を作成し、視覚化し、評価する上で、極めて重要な役割を果たしています。」

BMW が AD 開発に Unity をどのように活用しているか

テストの大部分が BMW の AD 開発用に特別に設けられたデータセンターで行われているため、BMW は AD 開発者に以下の事柄を簡単に行える方法を提供する必要がありました。

  1. グラフやチャートを超えた、シミュレーションの生データを直ちに、真実に迫るような形で理解できるように可視化すること
  2. 無数のシミュレートされたシナリオにわたって AD 機能の現状を評価すること

Dunning 氏のチームは、Unity の拡張性を活かし、これらのニーズに対応するために Unity ベースのカスタムソリューションを開発しました。BMW グループが安全で信頼性の高い AD システムをスケジュール通りに公道に投入するために彼らが Unity を使用して実践しているユニークな方法を詳しく見てみましょう。

シナリオ作成のプロセスを迅速かつ簡単にする

BMW のグラフィカルシナリオエディターは、シミュレーションで AD 機能をテストするための複数のパラメータを提供します。

BMW は Unity を使用して、開発中の機能のテストと検証のプロセスを大幅に簡素化するグラフィカルシナリオエディターを開発しました。このインターフェイスにより、AD 開発者は、機能の成熟度や対応力を高める何千ものシミュレートされたシナリオを簡単に視覚化して設定することができます。

ここでは、シミュレーションを使って、実際の条件に近い形で機能をテストするために、シナリオエディターでパラメーター化することができるさまざまな要素のサンプルを紹介します。

  • 交通車両(自動車、バスなど)の数と種類
  • 歩行者
  • 交通標識(地上設置または取付式)
  • レーン(直線、曲線など)
  • 車線境界(なし、一本線、二本線、破線など)
  • 環境条件(時間帯、霧の濃さ、降水量のレベル)
  • 車両の軌道計画

BMW の開発者が手動で作成したシナリオに加え、テストフリートが記録した交通シーンからもシナリオが抽出されます。このデータは後処理され、シミュレーションシナリオへと自動的に変換されます。さらに詳細な分析ステップでは、開発・変化させたいシナリオを選出します。

下の動画は、ドイツの高速道路で車両が割り込む現実のシナリオと、シミュレーションで変換したシナリオを示しています。これが興味深いシナリオと認識されたため、シナリオに変化をつける対象に選ばれたわけです。この場合、これらのバリエーションで、雨、太陽の位置が低い、霧があるなどさまざまな気象条件の中で、割り込んでくる車両と安全な距離を維持する能力をテストしていることになります。

フリートテストから変換されたシミュレーションシナリオをいくつかの気象条件にわたって変化させている。

シミュレーションされたテストをリアルタイムで可視化

AD 開発者がシナリオを設定した後、シミュレートされたテストを実行中の Unity でそのまま可視化することができます。

シミュレートされたテストの可視化フロントエンドとして Unity を使用することは、BMWの AD 開発者にとって大きなメリットがあります。リアルタイム 3D を使うことで、開発者はこの没入型のデジタルリアリティとの対話方法を完全にコントロールすることができます。

下のビデオに示されているように、バーチャルシーン内の車両やその他のオブジェクトの視点を変更することで、視点の変化、それぞれを繋いだ形で、リアルタイムに体験することができます。拡大して詳細を確認したり、視点を引いてスケール感を掴んだりすることができるので、シミュレートされたシナリオの中で起こっているすべてのことを包括的に理解することが容易になります。

BMW の AD 開発者は、Unity を使用することで、どのような視点からでもシミュレーションされたシナリオを調べることができます。このシナリオでは、未知のオブジェクト(紫色のブロックとして視覚化されています)に囲まれた車両を表示し、既知と未知のデータが混在した状態で動作する AD 機能の能力を評価するのに役立ちます。

当初、BMW は非常に詳細でリアルな環境を構築していましたが、時間の経過とともに、より抽象的な可視化スタイルに切り替え、主要なコンポーネント(道路、車両など)のみをレンダリングすることで、データのノイズを排除し、AD 開発者が各シミュレーションの結果に集中できることを発見しました。

テストからコンテキストに沿ったフィードバックを即時に得る

BMW の AD 開発者は、テスト用のシナリオを素早く作成できるだけでなく、AD 機能の対応力に関するフィードバックを即座に視覚化できることをができます。2D のチャートやグラフでデータを解析するのではなく、文字通り、テスト中に車両がどのようなパフォーマンスを示したかを 3D でリアルタイムに見ることができます。

シミュレートされたテスト結果の例を示す、従来のデータ可視化のやり方。

可視化データと評価データ(右下)がリアルタイムで表示、同期されるため、開発者は結果をコンテキストに沿って簡単に分析することができる。

将来の計画

BMW が AD の大きな目標に向けて前進を続ける中、Dunning 氏と彼のチームは、最終的には Unity ベースのソリューションを AD 開発者のコアなオーディエンス以外もカバーするようにしたいと考えています。チームは、本格的な生産に入る前に「レベル 3」の車両が要求通りのパフォーマンスを発揮することを保証するために、車載テストを担当するチームと協力することに大きな可能性を感じており、そのためにオーディエンスの拡大を検討しています。

本記事の続編では、BMW がどのように Unity を使って AD 開発の日々の課題を克服しているかをご紹介します。

ホワイトペーパー「Top 5 Ways Real-Time 3D Is Revolutionizing the Automotive Product Lifecycleでは、AD シミュレーションでの Unity の活用法について、さらに詳しい内容を解説しています。

7 replies on “BMW の自動運転の未来を可視化する”

Great Visual post, Nick!

I like the way you have presented the content, by placing Image, Screenshot and video. Thank you

“In addition to scenarios generated manually by BMW’s developers, scenarios are also extracted from traffic scenes recorded by the test fleet. This data is post-processed and automatically converted into simulation scenarios. A further analytic step identifies scenarios that would be interesting to develop and vary them.”

This is awesome! I’m the President of an AI Club, and I’m excited to send this to the club!

What they should do, to generate a LOT of unique data, would be to make a small driving game, with real players, in order to test their AI against extreme human behavior. You could both collect data on how the AI performs, and gather unique scenarios.

Also having multiple companies AI driving around in the same simulation would probably be beneficial.

Zoom in for a closer look, or go back to see the scale. You will find it easy to find the problem here

Perhaps try Vehicle Physics Pro (paid enterprise version or free community version on the asset store) if you are struggling with creating your own vehicle controller. It’s really good!

Comments are closed.