メインコンテンツ

Unreal Engine 環境でのシンプルなフライト シナリオとセンサーのシミュレーション

UAV Toolbox™ には、Epic Games® の Unreal Engine® を使用するシミュレーション環境でセンサーを可視化するためのブロックが用意されています。このモデルは、あらかじめ用意されたシーンでシンプルなフライト シナリオのシミュレーションを実行し、魚眼カメラ センサーを使用してシーンからデータを取得します。このモデルを使用して、シーン、ビークル、およびセンサーの構成とシミュレーションの基礎を学習します。Unreal Engine シミュレーション環境の予備知識については、無人航空機用の Unreal Engine シミュレーションを参照してください。

モデルの概要

このモデルは次の主要コンポーネントで構成されています。

  • シーン – Simulation 3D Scene Configurationブロックがシミュレーションのシーンを構成します。

  • UAV – Simulation 3D UAV Vehicleブロックがシーン内のクワッドローターを構成し、その軌跡を指定します。

  • センサー – Simulation 3D Fisheye Cameraが、シミュレーション データの取得に使用する魚眼カメラの取り付け位置とパラメーターを構成します。Video Viewer (Computer Vision Toolbox)ブロックが、このセンサーのシミュレーション出力を可視化します。

次のコマンドを使用して、モデルを開きます。

open_system("uav_simple_flight_model.slx")

Simulink model with Simulation 3D scene configuration, Simulation 3D Fisheye camera, and simulation 3D UAV blocks.

モデルの検証

Simulation 3D Scene Configuration ブロックの [シーン名] パラメーターは、シミュレーションを実行するシーンを決定します。このモデルでは、US City Blockシーンを使用します。シーンを調べるには、Unreal Engine のシーンに対応する 2D イメージを開きます。

imshow('USCityBlock.jpg',...
    'XData', [-250, 210],...
    'YData', [-225, 235]);
set(gca,'YDir','reverse')

このブロックの [シーン ビュー] パラメーターは、シーンを表示する Unreal Engine ウィンドウからのビューを決定します。このブロックの [シーン ビュー] は、シーンのルート ([シーン原点]) に設定されています。ルートを選択します。シーン ビューをクワッドローター UAV に変更することもできます。

ビークルの検証

Simulation 3D UAV Vehicle ブロックが、シナリオで Quadrotor1 という名前のクワッドコプターをモデル化します。シミュレーション中、クワッドローターは高度 1.5 m で、シーンの中心から半径 5 m の円を 1 周飛行します。クワッドローターの視点のヨー角が、移動方向の左から右に振動します。より現実的な軌跡を作成するには、シーンからウェイポイントを取得し、それらのウェイポイントを Simulation 3D UAV Vehicle ブロックの入力として指定します。

センサーの検証

Simulation 3D Fisheye Camera ブロックが、シナリオで使用するセンサーをモデル化します。このブロックを開いて、パラメーターを検証します。

  • [取り付け] タブには、センサーの取り付け位置を決定するパラメーターがあります。魚眼カメラ センサーは、エゴ ビークルの中心から X 軸上の前方 0.1 メートルの位置に取り付けられています。

  • [パラメーター] タブには、魚眼カメラの内部カメラ パラメーターがあります。これらのパラメーターは、マッピング係数を除いて既定値に設定されています。マッピング係数の 2 番目の係数は、レンズ歪みをモデル化するために -0.0005 に設定されています。

  • [グラウンド トゥルース] タブには、センサーの位置と向きをメートル単位とラジアン単位で出力するためのパラメーターがあります。このモデルで、ブロックはそれらの値を出力するので、シミュレーション中におけるそれらの変化がわかります。

このブロックは、シミュレーションから取得したイメージを出力します。シミュレーション中に、Video Viewer ブロックがそれらのイメージを表示します。次のイメージは、Video Viewer ブロックのストリームからのサンプル スナップショットを示しています。

fisheye image of the US city block scene as captured by fisheye camera block

モデルのシミュレーション

シミュレーションの開始時に、可視化エンジンを初期化するために数秒かかることがあります (特に、初めて実行する場合)。[MathWorks_Aerospace] ウィンドウに、Unreal Engine 環境におけるシーンのビューが表示されます。

Unreal engine simulation with UAV flying inside US city block scene

シミュレーション中にシーンのビューを変更するには、テンキーの数字 1 ~ 9 キーを使用します。シーンの鳥瞰ビューの場合は、0 キーを押します。

モデルのシミュレーション後に、内部カメラ パラメーターを変更して、シミュレーションへの影響を観察してみてください。センサー ブロックのタイプも変更できます。たとえば、3D Simulation Fisheye Camera を 3D Simulation Camera ブロックに置き換えてみてください。使用できるセンサー ブロックの詳細については、Unreal Engine シミュレーション用のセンサーの選択を参照してください。

参考

| |