Main Content

UAV 用の Unreal Engine シミュレーションの仕組み

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

メモ

3D 可視化環境でモデルをシミュレーションするには、Simulink 3D Animation™ が必要です。

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

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

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

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

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

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

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

During 3D simulation, Simulink determine positions of objects and configure 3D environments. Simulink then sends translation, rotation, and scale information to Visualization engine. Visualization engine position objects in 3D environment and query 3D environment. Visualization engine then sends scene information back to Simulink

ブロック実行順序

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

  1. Simulation 3D UAV Vehicle ブロックがビークルを初期化し、その [Translation]、および [Rotation] の信号データを Simulation 3D Scene Configuration ブロックに送信する。

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

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

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

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

Execution order of the Unreal Engine Simulation blocks

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

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

関連するトピック