この記事に引き続き、飛行機の運動シミュレーション。今回は横系運動モデルのコンポーネント。線形・時不変なのは前回と同様。
重複する事が多々有るので、それらは省略する。従って、この縦系シミュレーションの記事を先に読まれるか、セットでお読み頂きたい。
記事を通して言いたいこと(結論)
例によって、冒頭で述べておく。
- Modelicaにて、飛行機の、横系運動・線形・時不変シミュレーションモデルのコンポーネントを作成・リリースした。
- parameterとして無次元空力微係数を直接与える必要が有る。本コンポーネントは、無次元空力微係数は既知として、運動予測や制御設計に用いることにフォーカスしたものである。機体の飛行力学的形態を表すparameter、ex.翼アスペクト比や重心から尾翼空力中心までの距離etc、から空力微係数を算出する機能は別途コンポーネントを作成予定。
- 有次元空力微係数を直接与えての動作テストが、専門書の例題と完全一致。また、専門書付録データの無次元微係数を与えての動作テスト結果も定性的に妥当な動きを示している。
モデル化対象(とその周辺について)
横系運動
ピッチングと速度の運動と、ローリング・ヨーイング・横滑りの運動は互いに独立、影響を及ぼし合わないと仮定する。横系運動モデルはそのうちの後者を取り扱う。
運動モデルを成す状態変数は、下図に記しているように、横滑り角、ロール角速度、ヨー角速度、ロール(バンク)角、機首方位角(heading)の5つ(機首方位角は無でも姿勢変化の解析は行えるが、軌跡を可視化するために必要なので入れている)。制御入力はエルロン舵角操作とラダー舵角操作。微分方程式はy方向の力、ローリングモーメント、ヨーイングモーメントについて立式される。方程式やその導出などの詳細については省略する。後ほど参考資料を紹介するので興味が有れば参照されたい。
線形時不変 -微小攪乱-
これについては縦系運動コンポーネントの記事と内容が完全に同じになるのでそちらを参照願う。
参考資料:
Aircraft Dynamics: From Modeling to Simulation Amazon |
|
Flight Stability and Automatic Control Amazon |
|
Modeling and Simulation of Aerospace Vehicle Dynamics Amazon |
|
航空機の飛行力学と制御 Amazon |
コンポーネント
コンポーネントのインターフェイスや造りも、この記事の縦系運動コンポーネントと基本的にほぼ同じなので説明は割愛する。入出力される物理量が多少異なる程度だ。
内部に”environmentAircraftDynSim”が有り、シミュレーションモデルに同じものを置く必要が有るのも同様。
シミュレーションモデル
Diagram
動作確認用の例モデルを下図に示す。
これも縦系運動シミュレーションのものとほぼ同じなので、説明を割愛。そちらを先に一読されたい。
シミュレーション実行
- ラダー角(基準飛行状態からの変化): FltDynLateralSS.u_deltaR
- 横滑り角: FltDynLateralSS.y_beta
- 横滑り角速度(参考):der(FltDynLateralSS.x[1])
- ヨー角速度: FltDynLateralSS.y_r
- ヨー角加速度(参考): der(FltDynLateralSS.x[3])
- ロール(バンク)角:FltDynLateralSS.y_phi
- ロール角速度:FltDynLateralSS.y_p
- ロール角加速度(参考):der(FltDynLateralSS.x[2])
- 機首方位角, or “heading”: FltDynLateralSS.y_psi
- 機首方位角速度, or “turn rate”: der(fltDynLateralSS.x[5])
Input
Inputの値・動きが意図通りか、inpurtが反映されるvariablesを確認する。
右舵、左舵の順に短いパルスを与える。右に横滑りを起こし、振動しながら短時間で静定へ向かう。このとき、右に若干ロール運動もを生じる。その後、左舵入力によって逆方向への動きとなることを期待する。
Variables
右ラダー入力に伴って大きく負の横滑り(機体の進行方向に対して機首が右を向いている)を起こし、高周波・高減衰の振動を起こして直ぐに静定に向かう。22 [sec] での左ラダー入力も方向が逆で同様の動き。
右ラダー入力に伴って正の角速度(右方向へのヨーが正で、横滑り角とは正負が逆)を生じて、高周波・高減衰の振動となる。静定は0 [deg] ではなく、若干右方向への角速度を残したままとなる。そして、左ラダー入力による振動の後に0 [deg] へと向かう。
右ラダーの入力と同時に右にロールを始める。ラダーはヨーイング運動だけでなく作用するのではなく、ロール運動にも働くものなのだ。これは、横滑りを起こすと主翼の気流の受け方が左右で異なったものとなることを考えると納得出来る筈だ。
そして、入力が無くなると減衰の大きな僅かな振動とともに静定へ向かう。ただ、振動が収まった後も一定のロール姿勢で止まるのではなく、ゆっくりとだが水平姿勢へと戻ろうとする動きを見せる。これは高翼機や上反角の強い、ロール安定性の強い飛行機では自然な動きでフライトシミュレータでも簡単に体験することができるもの。その後、左ラダーの入力により左ロール姿勢となった後、再度ゆっくりと水平姿勢へと向かう。
少し興味深いのが、ロール角速度とロール角加速度の、ラダーを入力し始めた瞬間の動き。右ラダーを入力した次の瞬間、左バンクの角加速度と角速度が生じているのが読み取れるだろうか。
これは、垂直尾翼・ラダーが上下非対称な形状であるから生じるもの。ラダーを右に動かすと垂直尾翼には左向きの揚力が生じ、尾翼が上半分にしかないため、この力が機体を左にロールさせようと作用してしまう。しかし、それも極めて短時間のこと。直ぐに、横滑りによる主翼の気流の非対称が生じ、主翼の揚力は垂直尾翼のそれに比して格段に大きいので機体は右にロールを始める。
値の増加が右旋回、減少が左旋回の運動を示す。
右ラダー入力により、振動を伴いつつも右旋回の状態が続き、その後の左ラダー入力で旋回停止を通り越して左への緩やかな旋回となる。これはロール角がゆっくりと水平へと戻りつつある途中で、右と同じ操作量の左ラダー入力を与えた為だ。
挙動はヨー角速度と同一のもの。縦方向の姿勢がに水平であれば2つは同じものとなるが、縦姿勢が水平でない(基準飛行状態のピッチ角≠0)場合は一致しない。ピッチ角が大きいとヨー角速度は”水平線をスライスする”ような動きを生み、その総てが機首方位変化に寄与はしなくなる。(模型を動かして考えると理解しやすい。)
本題と逸れるが市販されているフライトシミュレーションソフトを紹介しておく。機体挙動の観点ではx-planeがリアリティが高く、工学参考シミュレーションソフトとしては最も魅力的。x-plane9なら古いだけあり、表示の精細レベルを下げれば、pocket PCの初代のGPD pocketでも動く程だ。
X-plane 9 Amazon |
|
X-plane 10 Amazon |
|
X-plane 11 Amazon |
|
Microsoft Flight Simulator X Amazon |
|
Microsoft Flight Simulator 2020 Amazon |
因みにだが、筆者は先日、長らく愛用してきたGPD pocketの電池周辺不調の多発を受けて、One-Mix3SのCore-i3 CPUのモデル を仕入れた。もうこの代の初代とにくらべて格段に能力が高い。既にポケットサイズでいながら何代か前の廉価ラップトップと同じような性能を発揮する。X-plane 10でさえ、レンダリング・シーナリーオブジェクトの設定を低くすれば実用可能な速さで動作する。正直、pocket PCで出先でフライトシミュレータに勤しもうなどとは考えておらず、飽くまでどこでも1D-CAE、ブログ書き、専門書読みに勤しめるようにと購入したものなのだが、”フライトシミュレータも動く”というのはポイントが高い。(まだ出来ていないが)自作した飛行モデルやエンジンモデルをフライトシミュレータと繋げ、フライトシミュレータをエンジニアリングの可視化ツールとして使えるように出来た際に、その可視化作業も手の内で出来るということになるからだ。
OneMix 3 Amazon |
|
OneMix 2s Amazon |
|
GPD Pocket Amazon |
|
GPD Pocket 2 Amazon |
後書き・まとめ
毎度同様、ほぼ冒頭で述べたことの繰り返しとなるが、
- Modelicaにて、飛行機の、横系運動・線形・時不変シミュレーションモデルのコンポーネントを作成・リリースした。
- 有次元空力微係数を直接与えての動作テストが、専門書の例題と完全一致。また、専門書付録データの無次元微係数を与えての動作テスト結果も定性的に妥当な動きを示している。
- 6自由度の機体運動全体をシミュレートするモデル(縦横分離/連成)、LTVSS(線形時可変状態空間)モデル、非線形モデルなどの作成。
- 機体の飛行力学的形態を表すparameter、ex.翼アスペクト比や重心から尾翼空力中心までの距離etc、から空力微係数を算出するコンポーネントの作成。
- 機体の代表形状(ex. 翼アスペクト比、重心位置, etc)と機体運動特性のシミュレーションスタディ。例えば、何故高性能セイルプレーン(滑空機)はアドバースヨー傾向が強いのかなど。
- コンポーネントのフルパス: AircraftDynamics.RigidBodyFDM.Components.LateralLTISS00
- 例モデルのフルパス: AircraftDynamics.RigidBodyFDM.Examples.sampleAircrafts.LateralLTISS00_ex02
- githubのライブラリページリンク
- 例モデル実行用jupyter notebookファイル:ipynbs4OMPython/AircraftDynamics/RigidBodyFDM.Examples.sampleAircrafts.LateralLTISS00_ex02_rev001.ipynb *動かすにはディレクトリ設定などの書き換えが必要なので、jupyterの基本的使い方を一通り知っている方向け。
課題・今後の取り組み
モデル情報
コメント