2019年12月 2日 (月)

FlightGearの機体開発#11:FDMの作成③

先回からのつづきです。
今回は機体形状を決めるタグから解説します。

Ws000005_2

<fuselage>
胴体形状のタグです。X軸方向の円柱をイメージし、先端点、後端点、幅、先細具合、最幅位置を
設定します。このタグはいくつ作成してもよいので複数組み合わせて胴体形状を再現します。
FA-200では先端から後席までをほぼ円柱、後席から機尾までを円錐状にして組み合わせています。

<wing>
主翼形状のタグです。左翼の設定を行い、右翼は自動的にミラーされます。
このタグはFlightgear2018から複数作成することが可能になりました。
FA-200は直線翼&上反角のためsweep=0,dihedral=6.5となります。
flap0はフラップ、flap1はエルロンの設定です。

<hstab>
水平尾翼のタグです。FA-200の翼断面は逆キャンバーになっているためcamber=-0.1として
いるのが特徴です。このタグも右尾翼はミラーされます。
flap0がエレベータの設定となります。

<vstab>
垂直尾翼のタグです。F-15などはこのタグを2つ作成します。
後退角(sweep)の設定には注意が必要です。通常尾翼の場合は機体中心側から上に向けての
後退角となりますが、機体下に向けて尾翼が伸びるもの(ヘリコプターの尾翼など)の場合でも
下から上向きで設定する必要があります。つまり尾翼下端を基点に逆テーパー(マイナス値)で
設定します。
flap0はラダーの設定となります。FA-200のラダーは水平尾翼より下まで伸びていて垂直尾翼の
翼長より長くなっています。このためflap0のstart値は-0.2となっています。
Fgfs20191202140631

<mstab>
上図の例には記載ありませんが、主翼または水平尾翼を増やす場合にこのタグを使用します。
lift値を0としてdrag値を大きくすることでエアブレーキとして機能させる例もあります。

以上のタグにより機体形状を形成します。

次回エンジンにつづく。

2019年11月30日 (土)

FlightGearの機体開発#10:FDMの作成②

座標系の違いが理解できたら早速記述していきます。

Ws000004

XMLファイルのヘッダには文字コードの情報を付加しておきます。
そして日本語表記は絶対しないようにしてください。

続いて各タグについて解説しますが、私自身の経験による設定方法ですので本来の
タグ設定意図と異なる場合がありますのでご了承ください。

<airplane>
燃料や搭乗者、積載物の重量を含まない重量(ポンド)を記載します。
この値が自動的に振り分けられます。
(最近ではYASimツールで確認できるようになりました。)

<approach>
着陸時の飛行姿勢を設定します。ここでの飛行姿勢を”接地した瞬間の姿勢”として
考えると狙ったアプローチになりやすいです。ジェット機の場合はフレアかけて
接地した瞬間の姿勢を考えます。設定値はspeed=失速手前の速度(knot)とし
aoa=地面と機軸のなす角度を記述します。

<cruise>
設定方法は2通りあります。
方法1:speed=max速度 として throttle value=1.0 とする
方法2:speed=巡航速度 として throttle value=0.75 とする
ねらった飛行性能になるよう方を選んで設定します。

<cockpit>
パイロットの視点位置を設定します。Blenderから座標を読み取った場合は
YASim座標系に変換して記述することを忘れずに。

次回FDM作成機体形状のタグにつづく。

2019年11月28日 (木)

FlightGearの機体開発#9:FDMの作成①

いよいよモデルの要、FDM(Flight Dynamics Model)を作成します。

FDMは飛行特性を決める設定ファイルです。記述の種類はYASimかJSBSimが大半です。

・JSBSimの特徴
JSBSimは『この部分にこれだけの力が作用する』というようなパラメータ型の記述であり
自分の狙った飛行特性を細部まで反映することができます。数値の影響度を理解するのが
難しいですが、YASimに比べ明らかにスムーズな飛行をシミュレートします。
JSBSim作成ツールも公開されているようなので活用すれば感覚的に作成できそうです。

・YASimの特徴
YASimは『紙飛行機を作って飛ばす』感じです。線形で機体形状を描くように記述します。
飛行特性は機体形状から自動演算されます。まさに飛ばしてみないとわからない紙飛行機
のようですが、その分飛行特性の調整は感覚的に修正でき、記述文も解りやすいのが特徴
です。JSBSimに比べややカクカクしたシミュレートになります。

本章ではYASimによる作成を例にして進めていきます。

・YASimの座標系
YASimを記述する上で絶対的に把握しておかなければならないのが座標系の違いです。
3Dモデルを作成する際使用したBlenderの座標系は下図のようにX軸(+)=機体後方
Y軸(+)=機体右方向、Z軸(+)=機体上方、となります。

Ws000001

対してYASimの座標系は下図のようにX軸(+)=機体前方、Y軸(+)=機体左方向
Z軸(+)=機体上方、となります。これを知らないと先尾翼機のようなFDMを
必死になって調整し続けることになります。

Ws000002

2019年11月23日 (土)

FlightGearの機体開発#8:ファイル構成


作成した3DモデルをFlightgearに表示させるために
XMLファイルを作成していきます。

XMLファイルの編集はメモ帳などでも可能ですが
テキストエディタのフリーソフトを使った方が見やすいです。

・フォルダ構成
新規にフォルダを作成しフォルダ名を『FA-200』とします。
そしてフォルダ配下にフォルダ及びファイルを作成していきます。
フォルダ名や構成にルールはありませんが一般的に下図のような
構成となります。

Ws000003_5

Dialogsフォルダ:メニューバーに関するファイル
Modelsフォルダ:機体モデルに関するファイル
Nasalフォルダ:Nasalファイル及びキー入力、視点に関するファイル
Soundsフォルダ:効果音に関するファイル
COPYING:ライセンス種別を記述したテキストファイル
FA-200-160-set:機体名などモデル情報の設定ファイル
FA-200-160-splash:Flightgear実行時に表示される画像ファイル
FA-200-160-yasim:飛行シミュレートの設定ファイル(Flight Dynamics Model)
FA-200-base:各種ファイルの読み込みやパラメータ設定のファイル
README:インストールや操作など説明事項(.mdはGitHub登録の形式)
thumbnail:ランチャー機体選択時のサムネイル画像ファイル

・FA-200-160-setの記述
機体名などモデル情報を記述していきます。

Ws000005_2

description:ランチャーで機体選択時に表示される機体名
long-description:ランチャーで機体選択時に表示されるモデル説明文
author:開発者
rating:ランチャーで機体選択時に表示される完成レベル値
flight-model:FDMの記述形式(yasim,jsbsim,他)
aero:FDMのファイル名
model:3Dモデルのファイルパス

FA-200-160-setとFA-200-baseを分けて作成する意図は、のちに仕様違いの
FA-200-180-setを作成したときにFA-200-baseを共有化することができるためです。
ランチャーで機体選択する際、ひとつの機体から仕様の違う機体を選ぶことができます。

・FA-200-baseの記述
各種ファイルの読み込みやパラメータを記述します。

Ws000001_4

下図は上図の続きです。

Ws000003_6

fuel-fraction:燃料の積載量のパラメータ(満タン=1.0)
start-up:起動時の画像のパス
sound:音設定ファイルのパス
airport:ランウェイスタート位置のオフセット値(メートル)
flaps:フラップ操作をキー入力した際の変化値(上図ではハーフ、フルの2段階)
multiplay:マルチプレイ時に送信するパラメータ
help:メニューバーの[Help/Aircraft help]に機体固有のキー操作など表示する
menubar:機体固有のメニューの設定ファイルのパス
input:キー入力などの設定ファイルのパス
instrumentation:計器関連の設定ファイルのパス
nasal:Nasalファイルの各ファイルパス

今回のFA-200は公開済みの機体YMF-5Dをベースに手を加えて進めています。
上図の記述も未完成状態のものであることをご了承ください。

次回いよいよFDM作成。



2019年11月21日 (木)

FlightGearの機体開発#7:gearの作成とエクスポート

ミラーによって仮の右形状が完成しましたので続いて主脚と前脚のタイヤを作成
していきます。

円柱を作成して直径を側面図のタイヤ径に合わせます。その後正面図でタイヤ幅を
合わせます。この時タイヤ位置は図面と一致することになりますが、緩衝装置が
ある場合は伸びた状態に配置します。アプローチ時の写真を参考に配置します。
FA-200の場合は図面より150mm下方に伸ばした位置に配置します。


Ws000003_2

タイヤの形状を作成するには円柱のエッジに対し面取りを繰り返して形を整えます。
案外タイヤは目立つ存在であり、幅が細かったりすると機体が貧弱に見えたりする
ので納得がいくまで形状調整します。とりあえずタイヤのみ作ります。

Ws000004

回転するものついでに機首のスピナーも作りましょう。
球形を作成して半分を使います。スピナ外形に合わせて形状を整えます。
このスピナも機体外観に大きな影響を及ぼすパーツですから微調整を繰返して
仕上げます。作成時はX軸からずれないように注意します。

Ws000005

ここまで完成すればフライトデータモデル(FDM)を作成するうえで必要な
座標点を3Dモデルから取得することができます。

・ACファイルのエクスポート
ここで3DモデルをACファイルでエクスポートします。
blender4.9bはファイル/エクスポート/AC3Dを選択します。
この時エクスポートされるのは選択されたオブジェクトのみですのでご注意。
"FA-200-160.ac"のファイル名で任意の場所に保存します。

Ws000006

次回はフォルダ及びファイル構成の話をします。