JSBSim フライトモデルの解説
の編集
http://www.flightgear.jpn.org/wiki/index.php?JSBSim%20%A5%D5%A5%E9%A5%A4%A5%C8%A5%E2%A5%C7%A5%EB%A4%CE%B2%F2%C0%E2
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
2casinochaos.blogspot.com
2dcmnjos.xyz
2dqgdrmm.xyz
2ticizesk.xyz
2vinccfe.com
2zeaocv.com
3Dモデルの作成方法
3blackjackessentials
3pokerclash
77wincasino1
???á?ó?È/?¨Àᤴ¤È
Atlas起動オプション
AutoTicketLinkName
BETBLACKJACK
Bendix/King KAP140 オートパイロットについて
BracketName
Download Application
Download Scenery
Esmeralda
FAQ
Fanny01
Features
Fifth
FightForLove
FlightGear
FlightGear1.9.1以前/訳)バージョン履歴
FlightGear2.9.0以前/FGCom の利用方法
FlightGear2.9.0以前/ジョイスティックの設定
FlightGearの特徴(機械翻訳)
FlightGearバージョン遍歴
FlightGearフライトスクール
FlightGearフライトスクール/序文
FlightGearフライトスクール/第1章
FlightGearフライトスクール/第I部
FlightGearフライトスクール/第I部/第2章
FlightGearフライトスクール/第I部/第3章
FlightGearフライトスクール/第I部/第4章
FlightGearフライトスクール/付録
FlightGearマニュアル
FlightGearマニュアル/第10章
FlightGearマニュアル/第11章
FlightGearマニュアル/第1章
FlightGearマニュアル/第2章
FlightGearマニュアル/第3章
FlightGearマニュアル/第4章
FlightGearマニュアル/第5章
FlightGearマニュアル/第6章
FlightGearマニュアル/第7章
FlightGearマニュアル/第8章
FlightGearマニュアル/第9章
FlightGearマニュアル/第III部
FlightGearマニュアル/第II部
FlightGearマニュアル/第IV部
FlightGearマニュアル/第IV部/付録C
FlightGearマニュアル/第I部
FlightGearマニュアル/付録A
FlightGearマニュアル/付録B
FormattingRules
FrontPage
Help
InterWiki
InterWikiName
InterWikiSandBox
InterWikiテクニカル
JPオリジナルダウンロードへの登録方法
JSBSim フライトモデルの解説
Linuxクイックインストール
Linux版Atlas
MP Carrier の利用方法
Mac 向け説明
Mac版クイックインストール
MenuBar
NAVの簡単な使い方
Nasal スクリプト集
Nasal マニュアル
NumLock
OverView
PHP
PrivacySettings
PukiWiki
PukiWiki/1.4
PukiWiki/1.4/Manual
PukiWiki/1.4/Manual/Plugin
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/H-K
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/V-Z
PukiWiki/1.4/マニュアル/プラグイン
PukiWiki/1.4/マニュアル/プラグイン/a
PukiWiki/1.4/マニュアル/プラグイン/b
PukiWiki/1.4/マニュアル/プラグイン/c
PukiWiki/1.4/マニュアル/プラグイン/d
PukiWiki/1.4/マニュアル/プラグイン/e
PukiWiki/1.4/マニュアル/プラグイン/f
PukiWiki/1.4/マニュアル/プラグイン/h
PukiWiki/1.4/マニュアル/プラグイン/i
PukiWiki/1.4/マニュアル/プラグイン/l
PukiWiki/1.4/マニュアル/プラグイン/m
PukiWiki/1.4/マニュアル/プラグイン/n
PukiWiki/1.4/マニュアル/プラグイン/o
PukiWiki/1.4/マニュアル/プラグイン/p
PukiWiki/1.4/マニュアル/プラグイン/r
PukiWiki/1.4/マニュアル/プラグイン/s
PukiWiki/1.4/マニュアル/プラグイン/t
PukiWiki/1.4/マニュアル/プラグイン/u
PukiWiki/1.4/マニュアル/プラグイン/v
PukiWiki/1.4/マニュアル/プラグイン/y
PukiWiki練習場
Pukiwikiの練習場
RecentDeleted
SandBox
Sohbet
Sohbetodalari
Some Test Page
USEFUL LINK FOR SEO
Useful guarantee site
WikiEngines
WikiName
WikiWikiWeb
Win版クイックスタート(インストール編)
Win版クイックスタート(起動編)
Yasim フライトモデルのチューニング
YukiWiki
akawahuynh
animep
baccaratblogone01
baccaratblogxyz01
bloggingsite
bscnews023
calabarzon2
casinositeguidecom000
casinositeguidecom0000
casinositeguidecom00000
casinositeguidecom000001
casinositekimcom000
casinositekimcom0000
casinositekimcom00000
casinositekimcom000001
casinositekimcom000011
casinositenetcom000
casinositenetcom0000
casinositenetcom00000
casinositenetcom0000001
ce-top10
chchx
comment_on_manual
cwin05cc
daytime.nas
ddddddssssss
ffe.nas
gamegusto02
googredirect1
googredirect2
googredirect3
googredirect4
googredirect5
googredirect6
googredirect7
googredirect8
gwolf25805
gwolf7777
gwolf777700
gwolfinfo254
hantv
heguru
hen
henitub
henstrm
henti
hention
hentistram
heticu
hni
hnthavn
isabellabowen23
jolosjos
jolosjos234
kammey01
lienminhokvippet
linkbacarasite2
linkbacarasite3
linkbetsarang
linkmajor1
linkmajor2
linkmajor3
linkmajor4
linkmajor5
linkmajor6
linkmajor7
linkmajor8
linkoncablogxyz
linkoncablogxyz1
linkoncablogxyz2
linkoncablogxyz3
linkoncablogxyz4
linkoncablogxyz5
linkoncablogxyz6
linkoncablogxyz7
linkoncablogxyz8
linkoncasinosite
linkoncasinosite1
linkoncasinosite2
linkoncasinosite3
linkoncasinosite4
linkoncasinosite5
linkoncasinosite6
linkoncasinosite7
linkoncasinosite8
linkpowerballsite
linkpowerballsite1
linkpowerballsite2
linkpowerballsite3
linkpowerballsite4
linkpowerballsite5
linkpowerballsite6
linkpowerballsite7
linkpowerballsite8
linksmajor6
linksoncasinosite6
linksouthwestern
linksouthwestern1
linksouthwestern2
linksouthwestern3
linksouthwestern4
linksouthwestern5
linksouthwestern6
linksouthwestern7
linksportsblog
linksportsblog1
linksportsblog2
linksportsblog3
linksportsblog4
linksportsblog5
linksportsblog6
linksportsblog7
linksportsblog8
linkssportsblog
linkssportsblog6
linkstotolink6
linkstotopick6
linkstotositeinfo6
linkstotositepros6
linktotolink4
linktotolink5
linktotolink6
linktotolink7
linktotolink8
linktotopick
linktotopick1
linktotopick2
linktotopick3
linktotopick4
linktotopick5
linktotopick6
linktotopick7
linktotopick8
linktotositeinfo
linktotositeinfo1
linktotositeinfo2
linktotositeinfo3
linktotositeinfo4
linktotositeinfo5
linktotositeinfo6
linktotositeinfo7
linktotositeinfo8
linktotositeone
linktotositeone1
linktotositeone2
linktotositeone3
linktotositeone4
linktotositeone5
linktotositeone6
linktotositeone7
linktotositeone8
linktotositepros
linktotositepros1
linktotositepros2
linktotositepros3
linktotositepros4
linktotositepros5
linktotositepros6
linktotositepros7
linktotositepros8
linkviki
loversmoon
loversmoon22
malachitemajestybaccarat2023
mttotositecom000
mttotositecom0000
mttotositecom00000
mttotositecom000001
muses
nsisteej
nubko01
outlook8970
outlookindia03com
outlookspotlight4
pachinkosite45067
pecigie
performance.nas
playbackEx
pokerchipsupdate
r34
rats
rocking_nimitz.nas
rumbos viajeros
rumbos viajeros web
safetotositepro000
safetotositepro0000
safetotositepro00000
safetotositepro000001
safetotositepro0000011
simply
slotsite7890
sportstototv03698
taila
tokmatikbuytiktoklikes
toto365690
twicsybuyinstagramlikes
twicsydakopigfolgere
twicsyfracheterigfollowers
twicsyfreeinstagramlikes
twicsyitacquistafollowerins
twicsynl
verhe
vonser02
wapkw02
wikibetsarang
wikibetsarang0
wikibetsarang00
wikibetsarang1
wikibetsarang2
wikibetsarang3
wikibetsarang4
wikibetsarang5
wikibetsarang6
wikibetsarang7
wikimajor
wikimajor0
wikimajor00
wikimajor1
wikimajor2
wikimajor3
wikimajor4
wikimajor5
wikimajor6
wikimajor7
wikioncablogxyz
wikioncablogxyz0
wikioncablogxyz00
wikioncablogxyz1
wikioncablogxyz2
wikioncablogxyz3
wikioncablogxyz5
wikioncablogxyz6
wikioncablogxyz7
wikioncasinosite
wikioncasinosite0
wikioncasinosite00
wikioncasinosite1
wikioncasinosite2
wikioncasinosite3
wikioncasinosite5
wikioncasinosite6
wikioncasinosite7
wikipowerballsite
wikipowerballsite0
wikipowerballsite00
wikipowerballsite1
wikipowerballsite2
wikipowerballsite3
wikipowerballsite5
wikipowerballsite6
wikipowerballsite7
wikisouthwestern
wikisouthwestern0
wikisouthwestern00
wikisouthwestern1
wikisouthwestern2
wikisouthwestern3
wikisouthwestern5
wikisouthwestern6
wikisouthwestern7
wikisportsblog
wikisportsblog0
wikisportsblog00
wikisportsblog1
wikisportsblog2
wikisportsblog3
wikisportsblog5
wikisportsblog6
wikisportsblog7
wikitotopick
wikitotopick0
wikitotopick00
wikitotopick1
wikitotopick2
wikitotopick3
wikitotopick5
wikitotopick6
wikitotopick7
wikitotositeinfo
wikitotositeinfo0
wikitotositeinfo1
wikitotositeinfo2
wikitotositeinfo3
wikitotositeinfo5
wikitotositeinfo6
wikitotositeinfo7
wikitotositeone
wikitotositeone0
wikitotositeone00
wikitotositeone1
wikitotositeone2
wikitotositeone3
wikitotositeone6
wikitotositeone7
wikitotositepro
wikitotositepro0
wikitotositepro1
wikitotositepros00
wikitotositepros3
wikitotositepros7
wynn09
xanipo
zexyl01
zexyl02
すべての機器、キーストローク、およびメニューに関して
コンテンツ
シーナリーのインストール
ジョイスティックの設定
ジョイスティックの設定方法
ソースからのインストール(Unix編)
ソースコード
ソースコード機械翻訳
ソフトのダウンロード(機械翻訳)
チョコレートダイアリーディライト
テスト
ナビゲーションツールAtlasの設定方法
バージョン情報
バージョン情報機械翻訳
フライトデータの記録と再生
ヘルプ
マルチプレーヤー設定
機体データのサイト集
機体データの作成
機体データの作成/YASimフライトモデルの解説
機体データ開発FAQ
機体操作方法
空港ダイヤグラム作成ツールのインストール
現実の気象の反映方法
航空管制に挑戦
次期アップデート情報
新FGマニュアル第二章
新しいシーナリーをインストールしよう!!!
整形ルール
第1章
第2章
第3章
着陸練習
投稿ガイド(案)
日本語
風景のダウンロード(機械翻訳)
翻訳作業場トップページ
訳)FAQ
訳)FlightGearのダウンロード
訳)FlightGearショートリファレンス
訳)イントロダクション
訳)シーナリーのダウンロード
訳)ジョイスティック・キーボードの設定方法
訳)スクリーンショット
訳)スクリーンショット/v0.9.10
訳)スクリーンショット/v1.0
訳)スクリーンショット/v1.9
訳)ダウンロード
訳)トラブルシューティング
訳)動作環境
訳)特徴
鐃緒申鐃緒申鐃淑リー鐃塾ワ申鐃藷スト¥申鐃緒申
[[FrontPage]] ** はじめに [#jbf8e153] 本ドキュメントではJSBSim 用フライトモデルの XML ファイルについて、Aeromatic で自動生成してから、 とりあえず飛行可能な状態にするまでに必要な情報をT-4を例にして記述します。 ** XML ファイルのツリー構造 [#pedfd111] JSBSim のフライトモデルは XML のツリー構造により表現されています。以下にツリー構造を示します。 <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="http://jsbsim.sourceforge.net/JSBSim.xsl"?> <fdm_config> <fileheader> <metrics> <mass_balance> <ground_reactions> <propulsion> <flight_control> <aerodynamics> * fdm_config タグ [#e4479e97] JSBSim フライトモデルのトップタグです。このタグ内にすべてのフライトモデル情報が記述されます。 ** fileheader タグ [#tc058b5c] フライトモデルに関する情報を記述します。内包するタグには以下のものがあります。 - author タグ: フライトモデルの作者名 - filecreationdate: フライトモデルの作成日 - version: フライトモデルのバージョン - description: 機体情報 - reference: 以下の属性により参考文献を示す -- refID: リファレンス番号(ファイル内の通し番号) -- author: 著者 -- title: 書籍/記事名 -- date: 発行日付 ** metrics タグ [#w18286a1] 翼の寸法や面積、空力中心や視点を設定するタグの集合です。metrics タグに内包されるタグにはそれぞれ 単位が指定されています。例えば <chord unit="FT"> 7.87 </chord> は平均翼弦長を フィート単位で指定することとなります。フィート以外には "IN" (インチ), "M" (メートル) が 使えます。T-4 の例は FT や IN を使いましたが、後で調整する時に単位変換をするのが面倒でした。 新しく機体を作成する場合は、ac3d などの3Dモデル策説ツールと親和性の高い "M" を使うことをお勧めします。 面積も FT2 ではなくM2 の方が判りやすいでしょう。 では内包するタグを順に説明して行きます。寸法や面積は資料から参照しますが、無ければ ac3d を用いて 測ります。以下に T-4 における metrics タグの例を示します。 <metrics> <wingarea unit="FT2"> 226.05 </wingarea> <wingspan unit="FT"> 32.61 </wingspan> <wing_incidence> 2.00 </wing_incidence> <chord unit="FT"> 7.87 </chord> <htailarea unit="FT2"> 61.40 </htailarea> <htailarm unit="FT"> 15.84 </htailarm> <vtailarea unit="FT2"> 52.50 </vtailarea> <vtailarm unit="FT"> 12.04 </vtailarm> <!-- x:tail=positive; y:right=positive; z:up=positive --> <location name="AERORP" unit="IN"> <!-- 25% MAC @ 中心線より2.1m 外側--> <x> 23.62 </x> <y> 0.00 </y> <z> 12.60 </z> </location> <location name="EYEPOINT" unit="IN"> <!-- パイロットの視点 --> <x> -120.47 </x> <y> 0 </y> <z> 30.70 </z> </location> <location name="VRP" unit="IN"> <!-- Visual Reference Point (注: ここではノーズ先端ですが、これを (0, 0, 0) にすると 3Dモデルの座標と一致するので、ギアや重心位置を 記述するのに便利です ) --> <x> -230.70 </x> <y> 0 </y> <z> -6.3 </z> </location> </metrics> *** wingarea タグ [#d37b0034] 主翼の面積を指定します。T-4 の場合 226.05平方フィート(21平方メートル)です。翼面積の資料が無い場合は ASC で求めるか、ac3d から [Surface Area] -> [Calculate Surface Area] で翼の表面積を求め、それを 半分にした値を平方フィーとで記述します。(ac3d で求めたのは表面積ですので、翼面積のおよそ倍となります)。 水平尾翼、垂直尾翼の面積も同様です。なお、ASC を利用する場合、Desired Static Margin はとりあえず 10 にしておきます。 *** wingspan タグ [#v35f4984] 主翼の幅(左右の翼端間の距離)を指定します。T-4 の場合は 32.61フィート(9.9メートル)です。 *** wing_incidence タグ [#ta4d1e8e] 主翼の取り付け角度を指定します。T-4 の場合は 2°です。 *** htailarea, vtailarea タグ [#y3ed6bb2] 水平尾翼、垂直尾翼の翼面積をそれぞれ平方フィートで指定します。水平尾翼は ac3d で Root Chord(翼根弦長) と Tip Chord(翼端弦長)を計測しCGC ツールにより計算した所 61.40 となりました。垂直尾翼面積は ASC では計算できないので、ac3d で求めた表面積の半分の値 52.50 に変更しました。 *** htailarm, vtailarm タグ [#p992f3dd] 主翼の空力中心から水平尾翼の空力中心までの距離です。水平尾翼は ASC で簡単に求められます。垂直尾翼の場合、上下対象ではないので中心線がありません。そこで胴体の中心を通る線を中心線と見立てて、ac3d で計測し、ASC の水平尾翼の欄に値を書き込んで求めます。 *** location タグ [#h4c5cfd2] 機体の基準点となる座標を3Dモデルの中心からのオフセットとしてインチで記述します。JSBSim の場合は相対的な位置関係が判ればいいので、ac3d で計測した座標を用います。(注: VRP タグで (x,y,z)=(0,0,0) と指定した場合は、ac3d 上の座標の値をそのまま利用できます。但し、ac3d の (x, y, z) が JSBSIm では (x, z, y) に写像されます。) metrics タグ内では以下の3つ座標を指定します。 - AERORP: ASC で求めた主翼の空力中心位置を指定します。主翼の前縁の延長戦と機体の中心線との交点(root LE)から ASC の Wing Aerodynamic Center aft of root LE が示す値だけ後方になります。T-4 の場合は root LE の座標が (-1.37, 0.0, 0.32) で(単位はメートル)、Wing Aerodynamic Center aft of root が 1.85m なので 中心座標から 0.52m (20.47インチ) 後方となります。 - EYEPOINT: パイロットの視点位置を3Dモデルから求めます。なお、この値を設定してもフライトギアの3Dコクピットが表示されるわけではありません。機体の設定ファイル(T-4-set.xml)に記述してください。 - VRP: 胴体の先端座標を指定します。 ** mass_balance タグ [#u17d524e] その名の通り重量バランスを記述するタグの集合です。以下にT-4 の例をしめし、内包するタグについて説明します。 <mass_balance> <!-- by aeromatic; should be calculated properly --> <ixx unit="SLUG*FT2"> 5888 </ixx> <iyy unit="SLUG*FT2"> 13801 </iyy> <izz unit="SLUG*FT2"> 16770 </izz> <ixy unit="SLUG*FT2"> 0 </ixy> <ixz unit="SLUG*FT2"> -800 </ixz> <iyz unit="SLUG*FT2"> 0 </iyz> <emptywt unit="LBS" > 8356 </emptywt> <location name="CG" unit="IN"> <x> 26.37 </x> <y> 0.00 </y> <z> 12.60 </z> </location> <pointmass name="Pilot"> <weight unit="LBS"> 180 </weight> <location name="POINTMASS" unit="IN"> <x> -108.6 </x> <y> 0 </y> <z> 12 </z> </location> </pointmass> </mass_balance> *** ixx, iyy, izz, ixy, iyz, izx タグ [#ga1d829c] 機体の慣性モーメントです。重量分布が判らないと正確には計算できないので、とりあえずそのままにしておいて構いません。元々の emtpy-weight が実際の値よりも大きい場合は各値を少し小さめに設定しておくと良いでしょう。:-p *** empty-weight タグ [#ja2ff4eb] Aeromatic は 最大離陸重量から乾燥重量を推測しますので修正が必要です。集めた仕様に書かれた乾燥重量をポンドで記述します。T-4の場合 8,536 ポンドになります。 *** location タグ [#y8a72a69] 機体の基準点をインチで記述します。mass_balance タグ内では重心位置のみを指定します。 - CG: 重心座標です。rootLE から ASC の Ideal CG aft of root LEだけ後方の座標となります。但し、実際の重心位置はここでは無いかもしれません。テストフライトで調整するとします。 *** pointmass タグ [#h34a3868] パイロットやバラストウェイト、装備などの重量を指定します。T-4 のパイロット重量は以下のように指定しました。 <pointmass name="Pilot"> <weight unit="LBS"> 180 </weight> <location name="POINTMASS" unit="IN"> <x> -108.6 </x> <y> 0 </y> <z> 12 </z> </location> </pointmass> ** ground_reactions タグ [#r275e8ca] ランディングギアについて記述するタグの集合です。沢山のタグを含んでいますが、今回変更すべき箇所は <contact type="BOGEY"> タグ内のギアの位置情報のみです。"NOSE," "LEFT_MAIN," "RIGHT_MAIN" にそれぞれのタイヤの接地座標を記述します。 <contact type="STRUCTURE"> の項目はコメントアウトしておいて問題ありません。 ** propulsion タグ [#jb4eddd3] エンジンに関する記述を行います。T-4 ではエンジンが2基あるので、このタグ内で2つの engine タグを記述します。 *** engine タグ [#f2376681] file 属性 に Aeromatic で作成したエンジン名(JSBSim はこれに .xml を付けてエンジンファイルにアクセスします。)を指定します。T-4 の場合は F3-IHI-30.xml ですので F3-IHI-30 を指定します。内包するタグは location, orient, thruster, feed です。T-4 の例を以下に示します。 <engine file="F3-IHI-30"> <location unit="IN"> <x> 98.42 </x> <y> -27.16 </y> <z> -9.05 </z> </location> <orient unit="DEG"> <pitch> 0.00 </pitch> <roll> 0.00 </roll> <yaw> 0.00 </yaw> </orient> <feed>0</feed> <thruster file="direct"> <location unit="IN"> <x> 153.15 </x> <y> -18.11 </y> <z> -9.84 </z> </location> <orient unit="DEG"> <pitch> 0.00 </pitch> <roll> 0.00 </roll> <yaw> 0.00 </yaw> </orient> </thruster> </engine> *** location タグ [#x00bc724] エンジンの重心位置を記述します。レシプロエンジンの場合はプロペラから少し後方になります。ジェットエンジンの場合はノズルの位置とエンジンの大きさとから推定することとなります。推定が難しい場合は吸気口とノズルの中心から1-2m 前方を指定しましょう。 *** orient タグ [#fc0a74dd] 推力線の傾きをpitch, roll, yaw の角度でそれぞれ指定します。ジェットエンジンの場合、X軸の後方が推力線の向きになりますから、そこからの角度となります。仕様がなければ 全て 0.00 で構いません。 *** thruster タグ [#q7765283] 推力発生装置(プロペラやジェットエンジンのノズル)に関する設定を行います。 ジェットエンジンの場合は file 属性に "direct" と書き、Engines フォルダに direct.xml というファイルを作成します。 <?xml version="1.0"?> <!-- Thrust is computed directly by the engine --> <direct name="Direct"> </direct> *** feed タグ [#x326561b] エンジンに燃料を送り込む燃料タンクの番号を指定します。<feed>0</feed>とすれば tank 0 から燃料が注入されることになります。このタグを複数記述する事も可能です。 *** tank タグ [#xf8c1691] 燃料タンクの3Dモデル上の座標とタンク番号、容量を指定します。T-4の場合、以下のようになります。 <tank type="FUEL" number="0"> <location unit="IN"> <x> -27.55 </x> <y> 10.00 </y> <z> -11.81 </z> </location> <capacity unit="LBS"> 2000.00 </capacity> <contents unit="LBS"> 1820.00 </contents> </tank> capacity や contents は最大容量を示しています。FlightGear 起動時の搭載燃料容量は T-4-set.xml で指定します。 *** Flight_control タグ [#caae2fe7] 揚力、抗力などの空力データの集合です。ここを記述するには Xfoil や Digital Datcom+ などの解析ツールが必須です。また翼断面の形状や表面の粗さ等、多くの技術情報が必要となります。とりあえずはそのままにしておき、情報が集まり次第更新していくと良いでしょう。
画像と同じ番号を入力 :
[[FrontPage]] ** はじめに [#jbf8e153] 本ドキュメントではJSBSim 用フライトモデルの XML ファイルについて、Aeromatic で自動生成してから、 とりあえず飛行可能な状態にするまでに必要な情報をT-4を例にして記述します。 ** XML ファイルのツリー構造 [#pedfd111] JSBSim のフライトモデルは XML のツリー構造により表現されています。以下にツリー構造を示します。 <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="http://jsbsim.sourceforge.net/JSBSim.xsl"?> <fdm_config> <fileheader> <metrics> <mass_balance> <ground_reactions> <propulsion> <flight_control> <aerodynamics> * fdm_config タグ [#e4479e97] JSBSim フライトモデルのトップタグです。このタグ内にすべてのフライトモデル情報が記述されます。 ** fileheader タグ [#tc058b5c] フライトモデルに関する情報を記述します。内包するタグには以下のものがあります。 - author タグ: フライトモデルの作者名 - filecreationdate: フライトモデルの作成日 - version: フライトモデルのバージョン - description: 機体情報 - reference: 以下の属性により参考文献を示す -- refID: リファレンス番号(ファイル内の通し番号) -- author: 著者 -- title: 書籍/記事名 -- date: 発行日付 ** metrics タグ [#w18286a1] 翼の寸法や面積、空力中心や視点を設定するタグの集合です。metrics タグに内包されるタグにはそれぞれ 単位が指定されています。例えば <chord unit="FT"> 7.87 </chord> は平均翼弦長を フィート単位で指定することとなります。フィート以外には "IN" (インチ), "M" (メートル) が 使えます。T-4 の例は FT や IN を使いましたが、後で調整する時に単位変換をするのが面倒でした。 新しく機体を作成する場合は、ac3d などの3Dモデル策説ツールと親和性の高い "M" を使うことをお勧めします。 面積も FT2 ではなくM2 の方が判りやすいでしょう。 では内包するタグを順に説明して行きます。寸法や面積は資料から参照しますが、無ければ ac3d を用いて 測ります。以下に T-4 における metrics タグの例を示します。 <metrics> <wingarea unit="FT2"> 226.05 </wingarea> <wingspan unit="FT"> 32.61 </wingspan> <wing_incidence> 2.00 </wing_incidence> <chord unit="FT"> 7.87 </chord> <htailarea unit="FT2"> 61.40 </htailarea> <htailarm unit="FT"> 15.84 </htailarm> <vtailarea unit="FT2"> 52.50 </vtailarea> <vtailarm unit="FT"> 12.04 </vtailarm> <!-- x:tail=positive; y:right=positive; z:up=positive --> <location name="AERORP" unit="IN"> <!-- 25% MAC @ 中心線より2.1m 外側--> <x> 23.62 </x> <y> 0.00 </y> <z> 12.60 </z> </location> <location name="EYEPOINT" unit="IN"> <!-- パイロットの視点 --> <x> -120.47 </x> <y> 0 </y> <z> 30.70 </z> </location> <location name="VRP" unit="IN"> <!-- Visual Reference Point (注: ここではノーズ先端ですが、これを (0, 0, 0) にすると 3Dモデルの座標と一致するので、ギアや重心位置を 記述するのに便利です ) --> <x> -230.70 </x> <y> 0 </y> <z> -6.3 </z> </location> </metrics> *** wingarea タグ [#d37b0034] 主翼の面積を指定します。T-4 の場合 226.05平方フィート(21平方メートル)です。翼面積の資料が無い場合は ASC で求めるか、ac3d から [Surface Area] -> [Calculate Surface Area] で翼の表面積を求め、それを 半分にした値を平方フィーとで記述します。(ac3d で求めたのは表面積ですので、翼面積のおよそ倍となります)。 水平尾翼、垂直尾翼の面積も同様です。なお、ASC を利用する場合、Desired Static Margin はとりあえず 10 にしておきます。 *** wingspan タグ [#v35f4984] 主翼の幅(左右の翼端間の距離)を指定します。T-4 の場合は 32.61フィート(9.9メートル)です。 *** wing_incidence タグ [#ta4d1e8e] 主翼の取り付け角度を指定します。T-4 の場合は 2°です。 *** htailarea, vtailarea タグ [#y3ed6bb2] 水平尾翼、垂直尾翼の翼面積をそれぞれ平方フィートで指定します。水平尾翼は ac3d で Root Chord(翼根弦長) と Tip Chord(翼端弦長)を計測しCGC ツールにより計算した所 61.40 となりました。垂直尾翼面積は ASC では計算できないので、ac3d で求めた表面積の半分の値 52.50 に変更しました。 *** htailarm, vtailarm タグ [#p992f3dd] 主翼の空力中心から水平尾翼の空力中心までの距離です。水平尾翼は ASC で簡単に求められます。垂直尾翼の場合、上下対象ではないので中心線がありません。そこで胴体の中心を通る線を中心線と見立てて、ac3d で計測し、ASC の水平尾翼の欄に値を書き込んで求めます。 *** location タグ [#h4c5cfd2] 機体の基準点となる座標を3Dモデルの中心からのオフセットとしてインチで記述します。JSBSim の場合は相対的な位置関係が判ればいいので、ac3d で計測した座標を用います。(注: VRP タグで (x,y,z)=(0,0,0) と指定した場合は、ac3d 上の座標の値をそのまま利用できます。但し、ac3d の (x, y, z) が JSBSIm では (x, z, y) に写像されます。) metrics タグ内では以下の3つ座標を指定します。 - AERORP: ASC で求めた主翼の空力中心位置を指定します。主翼の前縁の延長戦と機体の中心線との交点(root LE)から ASC の Wing Aerodynamic Center aft of root LE が示す値だけ後方になります。T-4 の場合は root LE の座標が (-1.37, 0.0, 0.32) で(単位はメートル)、Wing Aerodynamic Center aft of root が 1.85m なので 中心座標から 0.52m (20.47インチ) 後方となります。 - EYEPOINT: パイロットの視点位置を3Dモデルから求めます。なお、この値を設定してもフライトギアの3Dコクピットが表示されるわけではありません。機体の設定ファイル(T-4-set.xml)に記述してください。 - VRP: 胴体の先端座標を指定します。 ** mass_balance タグ [#u17d524e] その名の通り重量バランスを記述するタグの集合です。以下にT-4 の例をしめし、内包するタグについて説明します。 <mass_balance> <!-- by aeromatic; should be calculated properly --> <ixx unit="SLUG*FT2"> 5888 </ixx> <iyy unit="SLUG*FT2"> 13801 </iyy> <izz unit="SLUG*FT2"> 16770 </izz> <ixy unit="SLUG*FT2"> 0 </ixy> <ixz unit="SLUG*FT2"> -800 </ixz> <iyz unit="SLUG*FT2"> 0 </iyz> <emptywt unit="LBS" > 8356 </emptywt> <location name="CG" unit="IN"> <x> 26.37 </x> <y> 0.00 </y> <z> 12.60 </z> </location> <pointmass name="Pilot"> <weight unit="LBS"> 180 </weight> <location name="POINTMASS" unit="IN"> <x> -108.6 </x> <y> 0 </y> <z> 12 </z> </location> </pointmass> </mass_balance> *** ixx, iyy, izz, ixy, iyz, izx タグ [#ga1d829c] 機体の慣性モーメントです。重量分布が判らないと正確には計算できないので、とりあえずそのままにしておいて構いません。元々の emtpy-weight が実際の値よりも大きい場合は各値を少し小さめに設定しておくと良いでしょう。:-p *** empty-weight タグ [#ja2ff4eb] Aeromatic は 最大離陸重量から乾燥重量を推測しますので修正が必要です。集めた仕様に書かれた乾燥重量をポンドで記述します。T-4の場合 8,536 ポンドになります。 *** location タグ [#y8a72a69] 機体の基準点をインチで記述します。mass_balance タグ内では重心位置のみを指定します。 - CG: 重心座標です。rootLE から ASC の Ideal CG aft of root LEだけ後方の座標となります。但し、実際の重心位置はここでは無いかもしれません。テストフライトで調整するとします。 *** pointmass タグ [#h34a3868] パイロットやバラストウェイト、装備などの重量を指定します。T-4 のパイロット重量は以下のように指定しました。 <pointmass name="Pilot"> <weight unit="LBS"> 180 </weight> <location name="POINTMASS" unit="IN"> <x> -108.6 </x> <y> 0 </y> <z> 12 </z> </location> </pointmass> ** ground_reactions タグ [#r275e8ca] ランディングギアについて記述するタグの集合です。沢山のタグを含んでいますが、今回変更すべき箇所は <contact type="BOGEY"> タグ内のギアの位置情報のみです。"NOSE," "LEFT_MAIN," "RIGHT_MAIN" にそれぞれのタイヤの接地座標を記述します。 <contact type="STRUCTURE"> の項目はコメントアウトしておいて問題ありません。 ** propulsion タグ [#jb4eddd3] エンジンに関する記述を行います。T-4 ではエンジンが2基あるので、このタグ内で2つの engine タグを記述します。 *** engine タグ [#f2376681] file 属性 に Aeromatic で作成したエンジン名(JSBSim はこれに .xml を付けてエンジンファイルにアクセスします。)を指定します。T-4 の場合は F3-IHI-30.xml ですので F3-IHI-30 を指定します。内包するタグは location, orient, thruster, feed です。T-4 の例を以下に示します。 <engine file="F3-IHI-30"> <location unit="IN"> <x> 98.42 </x> <y> -27.16 </y> <z> -9.05 </z> </location> <orient unit="DEG"> <pitch> 0.00 </pitch> <roll> 0.00 </roll> <yaw> 0.00 </yaw> </orient> <feed>0</feed> <thruster file="direct"> <location unit="IN"> <x> 153.15 </x> <y> -18.11 </y> <z> -9.84 </z> </location> <orient unit="DEG"> <pitch> 0.00 </pitch> <roll> 0.00 </roll> <yaw> 0.00 </yaw> </orient> </thruster> </engine> *** location タグ [#x00bc724] エンジンの重心位置を記述します。レシプロエンジンの場合はプロペラから少し後方になります。ジェットエンジンの場合はノズルの位置とエンジンの大きさとから推定することとなります。推定が難しい場合は吸気口とノズルの中心から1-2m 前方を指定しましょう。 *** orient タグ [#fc0a74dd] 推力線の傾きをpitch, roll, yaw の角度でそれぞれ指定します。ジェットエンジンの場合、X軸の後方が推力線の向きになりますから、そこからの角度となります。仕様がなければ 全て 0.00 で構いません。 *** thruster タグ [#q7765283] 推力発生装置(プロペラやジェットエンジンのノズル)に関する設定を行います。 ジェットエンジンの場合は file 属性に "direct" と書き、Engines フォルダに direct.xml というファイルを作成します。 <?xml version="1.0"?> <!-- Thrust is computed directly by the engine --> <direct name="Direct"> </direct> *** feed タグ [#x326561b] エンジンに燃料を送り込む燃料タンクの番号を指定します。<feed>0</feed>とすれば tank 0 から燃料が注入されることになります。このタグを複数記述する事も可能です。 *** tank タグ [#xf8c1691] 燃料タンクの3Dモデル上の座標とタンク番号、容量を指定します。T-4の場合、以下のようになります。 <tank type="FUEL" number="0"> <location unit="IN"> <x> -27.55 </x> <y> 10.00 </y> <z> -11.81 </z> </location> <capacity unit="LBS"> 2000.00 </capacity> <contents unit="LBS"> 1820.00 </contents> </tank> capacity や contents は最大容量を示しています。FlightGear 起動時の搭載燃料容量は T-4-set.xml で指定します。 *** Flight_control タグ [#caae2fe7] 揚力、抗力などの空力データの集合です。ここを記述するには Xfoil や Digital Datcom+ などの解析ツールが必須です。また翼断面の形状や表面の粗さ等、多くの技術情報が必要となります。とりあえずはそのままにしておき、情報が集まり次第更新していくと良いでしょう。
テキスト整形のルールを表示する