このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
Unreal Engine のビジュアライゼーションで De Havilland Beaver を飛ばす
この例では、Unreal Engine® (UE) ビジュアライゼーションを備えた Simulink ® および Aerospace Blockset ™ ソフトウェアを使用して De Havilland Beaver をモデル化する方法を示します。パイロット ジョイスティックを使用して、空港 または Griffiss Airport シーンまたは Cesium Ion® 環境で De Havilland Beaver を飛行させる方法を示します。
De Havilland Beaver モデルには、機体のダイナミクスと空気力学が含まれています。また、着陸段階の風のプロファイルなど、大気の影響もモデル化します。
デ・ハビランド・ビーバーを飛ばす サンプルは FlightGear フライト シミュレータとインターフェイスします。この例では、UE 視覚化の使用について説明します。
メモ: この例は Simulink Online ではサポートされていません。
UE ビジュアライゼーションを探索する
変換を開始するには、De Havilland Beaver Airframe > Aircraft Dynamics サブシステムを開き、パイロット コマンドを ACBus
に追加して、視覚化に操縦面の動きを含めます。
モデルの右側にある 3 つのアニメーション ブロックと FlightGear ブロックを、ACBus
を入力として受け取る「UE Visualization」という単一のサブシステムに置き換えます。
新しい UE Visualization サブシステムで、最初に Simulation 3D Aircraft ブロックを追加し、次に Simulation 3D Scene Configuration ブロックを追加します。航空機ブロックをダブルクリックし、高度センサータブで高度センサーとWoWセンサーを有効にするをオフにして、OKをクリックします。
Simulation 3D Sky Hogg Pack ブロックを追加し、その出力ポートを Simulation 3D Aircraft に接続します。パック ブロック マスクを開き、推進 タブの プロペラの回転 チェック ボックスをオンにします。コントロール タブで すべて選択 ボタンを押し、OK をクリックします。
ACBus
入力をバス セレクターに接続し、Xe
(ボディの位置)、[phi, theta, psi]
(ボディの回転)、および Pilot
(アクチュエータ コマンド) を出力するように設定します。図に示すように、そのデータをパック ブロックと回転サブシステムに送信します。
スカイホッグ航空機タイプはデ・ハビランド・ビーバーを表していますが、ビーバーよりも小型で軽量な機体です。ビーバーを適切に視覚化するには、General Aviation スケルトンを使用してビーバーのスケルタル メッシュを作成し、その FBX ファイルを Unreal Editor® にインポートします。詳細については、Unreal エディタ用のカスタム航空機メッシュを準備するおよびGeneral Aviationを参照してください。
Simulation 3D Aircraft ブロックへの Translation および Rotation 入力は、Sky Hogg 航空機タイプに必要な [11x3] のサイズになります。この表は、これらがそれぞれ航空機のどの部分に影響を与えるかを示しています。ボディ以外の各パーツでは、6 つの自由度のうち 1 つの回転のみが有効になっていることに注意してください。
回転サブシステムは、プロペラ RPM、ラダー、エレベーター、左右のエルロン、フラップの各パイロット アクチュエータ コマンドに対して [1x3] 行ベクトルを作成します。RPM ゲイン ブロックは 2*pi/60 を乗算してラジアン/秒に変換します。
モデルを開きます。
mdl = "asbdhc2_FlyBeaverUE";
open_system(mdl);
飛行
モデルを実行する前に、シミュレーション クロックがウォール クロックと一致するように、シミュレーション ペーシング がオンになっていることに注意してください。
ジョイスティックが接続されていることを確認してください。
実行 ボタンをクリックし、3D 視覚化ウィンドウが初期化されるまで数秒待ちます。
ジョイスティックを使用して航空機を操縦します。
シミュレーションが開始したら、まず 3D ウィンドウ内で左クリックし、次に
0
から9
までのキーを使用して、事前設定された 10 個のカメラ位置から選択することで、カメラ ビューを切り替えることができます。フライトシミュレーションでは、ビュー2
(後方) と5
(コックピット) が最も役立ちます。カメラ ビューの詳細については、Simulink および Unreal エディターを使用してシーンをカスタマイズする のシミュレーションの実行セクションを参照してください。
カスタムシーンとフライを使用してグリフィス空港をアップデートする
グリフィス空港 (またはカスタム) シーンで飛行するには:
Simulation 3D Scene Configuration ブロックをダブルクリックしてマスクを開き、シーン ソース を Unreal Editor に設定します。
サポート パッケージから
AutoVrtlEnv.uproject
ファイルを保存した プロジェクト の場所を入力し、[Unreal Editor を開く] ボタンをクリックします。変更内容を保存してマスクを閉じるには、「OK」をクリックします。
Unreal Editor が開いたら、MathWorksAerospaceContent Content > Maps フォルダーを見つけて
GriffissAirport
をダブルクリックし、マップをグリフィス空港に変更します。
次のワークスペース変数の値を変更します。
xme_0 = [0, 0, -200]
(航空機をマップの原点から 200 メートル上に配置します)heading0 = -45
(真北から約 -45 度の滑走路 33 に合わせます)
実行ボタンをクリックします。モデルがコンパイルされ、下部のバーに「初期化中」と表示されたら、Unreal Editor の 再生 ボタンをクリックします。接続が確立され、シミュレーションが開始されるまで数秒お待ちください。
CesiumとFlyを使用してボストンローガン空港またはセドナ空港にアップデートする
場所の 3D マップと地形データをストリーミングする Cesium を使用して飛行するには:
まだ実行していない場合は、まず Cesium で視覚化する を実行します。初期設定には、Cesium Ion アカウントとアクセス トークンの作成、および Cesium Ion トークンを保持するための Simulink 認証マネージャー での新しいトークンの作成が含まれます。
Simulation 3D Scene Configuration ブロック マスクを開き、地理空間 タブで 地理空間構成を有効にする を選択します。
アクセス トークン ID に Cesium Ion トークン名を入力します。
高度な太陽の空を使用するオプションを選択します。
[適用] をクリックして、変更を保存します。
シーン タブの シーン ソース で、デフォルトのシーン または Unreal Editor を選択します。
シーン ソースに Unreal Editor を使用している場合は、MathWorksGeoSpatial Content > Maps フォルダーを見つけて
GeoSpatialMap
をダブルクリックし、マップを GeoSpatial に変更します。変更内容を保存してマスクを閉じるには、「OK」をクリックします。
地理空間の原点のワークスペース変数 origin_height, origin_lat,
と origin_long
に注意してください。初期の方向は、上の最初の図に示す 6DOF (クォータニオン) ブロック内のワークスペース変数 heading0
によって設定されます。
次のワークスペース変数の値を変更します。
xme_0 = [0, 0, 0]
(セシウムイオンではオフセットは使用されません)heading0 = -135
(ボストン ローガン空港の滑走路 33 に合わせるため、真東から約 -135 度)
実行 ボタンをクリックし、3D 視覚化ウィンドウが初期化されるまで数秒待ちます。Cesium Ion では、3D イメージを読み込むのにさらに数秒かかります。
デフォルトの地理空間の原点は、ボストン ローガン空港の滑走路 33L です。初期の方向と場所を変更するには、上記の heading0
および origin_
変数の値を変更します。たとえば、セドナ空港の滑走路 3 への進入の場合は、次の値を使用します。
heading0 = -40
origin_height = 1500
origin_lat = 34.841435
origin_long = -111.797380
参考
Simulation 3D Aircraft | Simulation 3D Scene Configuration