このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
UAV 用の Unreal Engine シミュレーションの仕組み
UAV Toolbox は、Simulink® で UAV アルゴリズムをモデル化し、バーチャル シミュレーション環境でパフォーマンスを可視化するために使用できるコシミュレーション フレームワークを提供します。この環境では、Epic Games® の Unreal Engine® を使用します。
メモ
3D 可視化環境でモデルをシミュレーションするには、Simulink 3D Animation™ が必要です。
このシミュレーション環境の仕組みを理解すると、問題のトラブルシューティングやモデルのカスタマイズに役立ちます。
3D シミュレーション環境との通信
UAV Toolbox を使用してアルゴリズムを実行すると、Simulink は可視化エンジンでアルゴリズムをコシミュレートします。
Simulink 環境で、UAV Toolbox は以下を行います。
可視化環境 (具体的には、レイ トレーシング、カメラからのシーン取得、初期オブジェクト位置) を構成する
シミュレーション環境のフィードバックを使用して、オブジェクトの次の位置を判別する
次の図では、Simulink と可視化エンジン間の通信の概要を示します。
ブロック実行順序
シミュレーション中に、Unreal Engine シミュレーション ブロックは次の特定の実行順序に従います。
Simulation 3D UAV Vehicle ブロックがビークルを初期化し、その [Translation]、および [Rotation] の信号データを Simulation 3D Scene Configuration ブロックに送信する。
Simulation 3D Scene Configuration ブロックがビークルのデータを受信してセンサー ブロックに送信する。
センサー ブロックがビークル データを受信し、そのデータを使用してビークルの位置を正確に特定して可視化する。
ブロックの [優先順位] プロパティにより、この実行順序を制御します。任意のブロックのこのプロパティにアクセスするには、ブロックを右クリックして [プロパティ] を選択し、[一般] タブをクリックします。既定では、Simulation 3D UAV Vehicle ブロックの優先順位は -1
、Simulation 3D Scene Configuration ブロックの優先順位は 0
、センサー ブロックの優先順位は 1
です。
次の図では、この実行順序を示します。
センサーがシーン内のビークルを検出していない場合、Unreal Engine シミュレーション ブロックの実行順序が正しくない可能性があります。実行順序を更新して再びシミュレーションしてみてください。実行順序の詳細については、実行順序の制御と表示 (Simulink)を参照してください。
また、すべての 3D シミュレーション ブロックが同じサブシステム内に配置されていることを確認してください。ブロックの [優先順位] 設定が正しくても、異なるサブシステム内に配置されている場合は、実行順序が正しくなくなることがあります。