Main Content

自動運転用の Unreal Engine シミュレーションの仕組み

Automated Driving Toolbox™ は、Simulink® で運転アルゴリズムをモデル化し、バーチャル シミュレーション環境でパフォーマンスを可視化するために使用できるコシミュレーション フレームワークを提供します。この環境では、Epic Games® の Unreal Engine® を使用します。

このシミュレーション環境の仕組みを理解すると、問題のトラブルシューティングやモデルのカスタマイズに役立ちます。

3D シミュレーション環境との通信

Automated Driving Toolbox を使用してアルゴリズムを実行すると、Simulink は可視化エンジンでアルゴリズムをコシミュレートします。

Simulink 環境で、Automated Driving Toolbox は以下を行います。

  • 可視化環境 (具体的には、レイ トレーシング、カメラからのシーン取得、初期オブジェクト位置) を構成する

  • シミュレーション環境のフィードバックを使用して、オブジェクトの次の位置を判別する

次の図では、Simulink と可視化エンジン間の通信の概要を示します。

Communication between Simulink and the visualization engine

ブロック実行順序

シミュレーション中に、Unreal Engine シミュレーション ブロックは次の特定の実行順序に従います。

  1. Simulation 3D Vehicle with Ground Following ブロックが車両を初期化し、その信号データ [X][Y][ヨー]Simulation 3D Scene Configuration ブロックに送信する。

  2. Simulation 3D Scene Configuration ブロックが車両データを受信してセンサー ブロックに送信する。

  3. センサー ブロックが車両データを受信し、そのデータを使用して車両の位置を正確に特定して可視化する。

ブロックの [優先順位] プロパティにより、この実行順序を制御します。任意のブロックのこのプロパティにアクセスするには、ブロックを右クリックして [プロパティ] を選択し、[一般] タブをクリックします。既定では、Simulation 3D Vehicle with Ground Following ブロックの優先順位は -1Simulation 3D Scene Configuration ブロックの優先順位は 0、センサー ブロックの優先順位は 1 です。

次の図では、この実行順序を示します。

Execution order for Unreal Engine simulation blocks

センサーがシーン内の車両を検出していない場合、Unreal Engine シミュレーション ブロックの実行順序が正しくない可能性があります。実行順序を更新して再びシミュレーションしてみてください。実行順序の詳細については、実行順序の制御と表示 (Simulink)を参照してください。

また、すべての 3D シミュレーション ブロックが同じサブシステム内に配置されていることを確認してください。ブロックの [優先順位] 設定が正しくても、異なるサブシステム内に配置されている場合は、実行順序が正しくなくなることがあります。

関連するトピック