このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。
フライトシミュレーション アプリケーション用のプロジェクト テンプレート
フライトシミュレーションアプリケーション
プロジェクトを使用すると、大規模なフライト シミュレーション モデリング プロジェクトを整理し、他のユーザーとプロジェクトを簡単に共有できるようになります。このテンプレートは、フライト シミュレーション アプリケーションの共同開発のためのフレームワークを提供します。このプロジェクト構造は、特定のアプリケーションに合わせてカスタマイズできます。
メモ
この例を正常に実行するには、C/C++ コンパイラをインストールしてください。
Aerospace Blockset™ ソフトウェアは、独自のフライト シミュレーション アプリケーションを作成するために使用できるプロジェクト テンプレートを提供します。このテンプレートは、バリアント サブシステム、モデル バリアント、および参照モデルを使用して、次のようなフライト シミュレーション アプリケーション コンポーネントを実装します。
6DOFの運動方程式環境モデルとアクチュエータダイナミクスを備えた機体
慣性計測装置(IMU)センサーモデル
FlightGear向けの視覚化サブシステム
機体の非線形ダイナミクスのモデル
機体の線形ダイナミクスのモデル
フライトシミュレーションテンプレートをダウンロードする
Simulink® スタート ページから、Flight Simulation を選択します。
プロジェクトの作成ウィンドウの Name に、プロジェクト名 (例:
FlightSimProj
) を入力します。Folder で、プロジェクト フォルダーを入力するか、プロジェクトを格納するフォルダー (例:
FlightSimFolder
) を参照します。[OK] をクリックします。
フォルダーが存在しない場合は、フォルダーを作成するように求めるダイアログが表示されます。[はい] をクリックします。
ソフトウェアはプロジェクトをコンパイルし、プロジェクト フォルダーを作成して、メイン モデル
flightSimulation
を開きます。すべてのモデルとサポート ファイルは、フライト シミュレーション アプリケーションに合わせてカスタマイズできるように用意されています。
プロジェクトテンプレートの内容
フライトシミュレーションプロジェクトテンプレートには、次のフォルダが含まれています。
mainModels
最上位のシミュレーション モデル
flightSimulation
が含まれています。このモデルは起動時に開きます。このファイルには、フライト シミュレーション環境の最上位レベルのブロックが含まれています。Simulink は、このレベルの Variant Subsystem、Model Variants、および Model ブロックを使用して、さまざまなシミュレーション条件に適応します。航空機の機体は、非線形アプローチと線形アプローチの間で変化する可能性があります。
航空機へのコマンドは、Signal Editor ブロック、ジョイスティック、またはワークスペースからの変数の間で変化します。
センサーは、センサー ダイナミクスを含むモデルとフィードスルー (関連するダイナミクスなし) を含むモデルの間で異なる場合があります。
環境値は、状態に依存する値 (温度、圧力などの値はローカルの位置、緯度などに依存します) または状態値に依存しない定数値の間で変化します。
視覚化サブシステムは、状態を操作できるフックを提供します。たとえば、FlightGear を使用して状態を視覚化したり、ワークスペース内の変数に記録してさらに分析したりすることができます。状態は、シミュレーション データ インスペクターを使用して視覚化することもできます。
libraries
モデルで使用されるライブラリが含まれます。
nonlinearAirframe
機体の非線形ダイナミクスのモデルが含まれています。
航空機モデルのダイナミクスのプレースホルダーを含む特定のサブシステム (AC モデル)。このサブシステムの特徴は次のとおりです。
アクチュエータと環境入力。アクチュエータとは、航空機の動作に影響を与える可能性のある一般的な信号を指します (たとえば、エルロンなどの操縦翼面に接続された油圧アクチュエータの位置を変更する電圧の電気信号など)。
力とモーメントの出力。機体軸上の機体の重心に効果を発揮します。
力とモーメントの微分方程式を解いて航空機の状態を取得する 6DOF ボディ クォータニオン ブロック。
linearAirframe
機体の線形ダイナミクスと、これらの線形ダイナミクスを取得するためのモデルが含まれています。この例では、
trimLinearizeOpPoint
関数とtrimNonlinearAirframe
モデルを使用して非線形モデルを線形化することでこれらのダイナミクスを取得します。この関数は、Simulink Control Design ソフトウェアを使用して線形化を実行します。既知の入力と条件の特定のセットに対して非線形モデルの線形化を実行します。トリムと線形化に関する詳細については、Simulink Control Design™ ドキュメントを参照してください。trimLinearizeOpPoint
関数は出力を MAT ファイルに保存します。controller
飛行制御システム (FCS) とその設計のモデルが含まれています。これらのモデルには、航空機シミュレーションの設計に必要なさまざまなコントローラー アーキテクチャの参照モデルが含まれています。
src
C コードなどのソース コードが含まれています。シミュレーションの場合、シミュレーション用の S 関数を含む 2 つのフォルダーもあります。これらの S 関数は、線形機体モデルに対してバスをベクトルにマッピングし、その逆も行います。このマッピングは、線形化スキーム、およびモデルの入力と出力のセットに応じて変更できます。さまざまな信号のインデックスを編集するには、S-Function Builder ブロックを使用できます。
tasks
モデルを実行するためのスクリプトが含まれています。これらのスクリプトは、シミュレーション プロセス中に継続的に実行されるわけではありません。
このフォルダーには、状態、環境、センサー バスの非仮想バス定義も含まれています。これらの定義は、シミュレーション環境内のさまざまな要素が使用する信号と特性を設定します。このフォルダーには、Sensors、FlightGear、linearAirframe、nonlinearAirframe ブロックのマスク ワークスペースで使用される変数の定義も含まれています。これらのユーティリティは、パラメータ値をデータ構造に格納します。たとえば、非線形モデルが Gain ブロックのパラメータを使用する場合、構造体に格納される変数はパラメータを指す
Vehicle.Nonlinear.Gain.gainValue
になります。tests
サンプル テスト ハーネスが含まれています:
linearTest
ファイルには実際のテスト ポイントが含まれています。このファイルは、特定のトリム条件における線形化された機体モデルの出力のサブセットと非線形の機体の出力を比較します。runProjectTests
ファイルは、プロジェクト内で「テスト」として分類されている利用可能なすべてのファイルを実行します。
utilities
次のようなプロジェクト固有のメンテナンス タスク ユーティリティが含まれています。
projectPaths
- MATLAB® パスに追加するフォルダーの場所を一覧表示します。rebuildSFunction
-linearInputBus
およびlinearOutputBus
の S 関数を再構築します。startVars
- シミュレーション環境がベースワークスペースに配置する必要がある変数を定義します。このユーティリティは、Variants
構造を使用してバリアントも制御します。この構造により、例では、VSS_VEHICLE
を1
(非線形モデルの場合) から0
(線形モデルの場合) に変更することで、ワークスペースから非線形機体と線形機体を切り替えることができます。サブシステムバリアントの詳細については、Model を参照してください。
work
実行ごとに生成されたファイルが含まれます。これらのファイルは、S 関数 C コードから構築された MEX ファイルなどのソース ファイルから派生します。
ショートカットでは、プロジェクトによって一般的なタスクのショートカットが作成されます。
Initialize Variables —
startVars
スクリプトを実行し、変数をベースワークスペースに初期化します。Rebuild S-functions —
src
フォルダー内の S 関数を再構築します。Run Project Tests —プロジェクト内のテスト ファイルに対して、Tests というラベルの付いたテスト ポイントを実行します。
Top Level Simulation Model —
flightSimulation
モデルを開きます。プロジェクトの起動時に実行されます。
テンプレートラベル
自動ソートおよびコンポーネント化ソート用のファイル分類ラベルを提供します。このユーティリティは、Tests、Airframe Design、Flight Controller Design、Calibration Data などのテンプレート ラベルを追加します。
プロジェクトに機体ダイナミクスとコントローラアルゴリズムを追加する
linearAirframe
モデルを開くには、flightSimulation
で Airframe サブシステムをダブルクリックします。非線形サブシステムをダブルクリックします。
AC モデルで、機体のダイナミクスを追加します。
モデルを保存します。
プロジェクトにコントローラアルゴリズムを追加する
flightControlSystem
モデルを開くには、flightSimulation
で FCS サブシステムをダブルクリックします。コントローラー サブシステムで、コントローラー アルゴリズムを追加します。
モデルを保存します。
他に試してみること:
モデルをシミュレートします。
アプリケーションのサンプル テストについては、tests フォルダーを参照してください。