T-4 製作記
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
T-4 製作記
msg# 1
Tat
投稿数: 375
「機体開発って?」のスレッドで具体的な機体開発の話が盛り上がってきましたので、触発されて T-4 を制作してみることにしました。
時間があるときにちょっとずつ作業していくので、完成までには時間がかかると思います。またこのスレッドも不定期な書き込みになるかもしれません。機体作成に興味のある方の参考になればと思います。ここに書かれた内容は少しずつ作業場の3Dモデルの作成方法へ反映していきます。
作成中の機体データはここから取得できますので、興味のある方は試してみてください。但しあくまで制作中のデータですので動作も精密さもいっさい保証しませんので悪しからずご了承ください。
時間があるときにちょっとずつ作業していくので、完成までには時間がかかると思います。またこのスレッドも不定期な書き込みになるかもしれません。機体作成に興味のある方の参考になればと思います。ここに書かれた内容は少しずつ作業場の3Dモデルの作成方法へ反映していきます。
作成中の機体データはここから取得できますので、興味のある方は試してみてください。但しあくまで制作中のデータですので動作も精密さもいっさい保証しませんので悪しからずご了承ください。
投票数:27
平均点:4.07
T-4 製作記 - 機体パッケージについて
msg# 1.1
Tat
投稿数: 375
まずは機体パッケージについて説明します。T-4 には以下のファイルが存在することになります。(2007/12/17現在はまだ上の3つしか存在しませんが、完成時にはこれだけあるはずです :-p)
- 機体設定ファイル: <機体名>-set.xml
- フライトモデル: <機体名>.xml
- エンジン設定ファイル: Engines/*.xml
- 機体の3Dモデル: Models/*.{ac, xml}
- 計器の3Dモデル: Instruments/*.{ac, xml}
- 計器用テキスチャ: Instruments/*.rgb
- Nasal スクリプト: Nasal/*.nas
- スプラッシュスクリーン画像: splash*.rgb
- サムネイル加増: thumbnail.jpg
- サウンド設定ファイル: <機体名>-sound.xml
フォルダ構成やファイル名は機体設定ファイルで自由に設定できるため、機体ごとに異なります。しかし、それぞれおおよそ想像の付くフォルダ名やファイル名になっていると思います。また、機体設定ファイルを見れば、どこに何があるかがわかります。
さて、1つの機体にはどのくらいのファイルが必要なのでしょうか。 A6M2 では57ファイルありますし、p51に至っては 92ファイルが存在しています。何がそんなに多いのでしょうか? 実はこれらの機体データのほとんどが計器の3Dモデルとテキスチャです。エンジンなどのサウンドもそれぞれのパッケージに含まれるでしょう。
では、最低限必要なファイルは何でしょうか? それは機体設定ファイルとフライトモデルです。フライトモデルが Yasim の場合はxmlファイルが1つです、T-4は現在 JSBSim ですので これに加えて Engines フォルダ内の2つのファイルが必要になります。これら数個のファイルさえあれば FlightGear 上で機体を飛ばせるようになります。但し3Dモデルがないので、ポリゴングライダーを見ながら飛ぶことになります。機体の3D モデルは最低限欲しいなということであれば3Dモデル設定ファイル(T-4xml)と3Dモデルファイル(T-4.ac) の2つを追加すればとりあえず遊べる機体となるでしょう。
- 機体設定ファイル: <機体名>-set.xml
- フライトモデル: <機体名>.xml
- エンジン設定ファイル: Engines/*.xml
- 機体の3Dモデル: Models/*.{ac, xml}
- 計器の3Dモデル: Instruments/*.{ac, xml}
- 計器用テキスチャ: Instruments/*.rgb
- Nasal スクリプト: Nasal/*.nas
- スプラッシュスクリーン画像: splash*.rgb
- サムネイル加増: thumbnail.jpg
- サウンド設定ファイル: <機体名>-sound.xml
フォルダ構成やファイル名は機体設定ファイルで自由に設定できるため、機体ごとに異なります。しかし、それぞれおおよそ想像の付くフォルダ名やファイル名になっていると思います。また、機体設定ファイルを見れば、どこに何があるかがわかります。
さて、1つの機体にはどのくらいのファイルが必要なのでしょうか。 A6M2 では57ファイルありますし、p51に至っては 92ファイルが存在しています。何がそんなに多いのでしょうか? 実はこれらの機体データのほとんどが計器の3Dモデルとテキスチャです。エンジンなどのサウンドもそれぞれのパッケージに含まれるでしょう。
では、最低限必要なファイルは何でしょうか? それは機体設定ファイルとフライトモデルです。フライトモデルが Yasim の場合はxmlファイルが1つです、T-4は現在 JSBSim ですので これに加えて Engines フォルダ内の2つのファイルが必要になります。これら数個のファイルさえあれば FlightGear 上で機体を飛ばせるようになります。但し3Dモデルがないので、ポリゴングライダーを見ながら飛ぶことになります。機体の3D モデルは最低限欲しいなということであれば3Dモデル設定ファイル(T-4xml)と3Dモデルファイル(T-4.ac) の2つを追加すればとりあえず遊べる機体となるでしょう。
投票数:36
平均点:5.28
T-4 製作記 - 作業手順
msg# 1.1.1
Tat
投稿数: 375
今回は機体作成作業がどのようなものであるかを紹介します。
作業ステップは以下のようになります。
1.資料収集
2.ラフな3Dモデル作成
3.フライトモデル作成
4.機体設定ファイル作成
5.テストフライト
6.詳細な3Dモデルの作成
7.サウンドの作成(必要なら)
8.フライトモデルの洗練
9.計器の作成
資料収集では、最低限三面図、機体仕様、及びエンジン仕様が必要となります。この他にも機体やコクピットの写真、計器類の説明など出来るだけ多くの資料が欲しい所です。まずはgoogleを駆使して集め、なければ書店で集めましょう。
次に、ラフな3Dモデルを作成します。3Dモデリングソフトを用いて三面図から機体の大雑把な形を作ります。このモデルを作成する意図はフライトモデルを作成するために必要な機体の座標情報を得やすくすることです。従って、ジェットエンジンは円柱で構わないし、ランキングギアは円柱とドーナツだけでよいのです。重要なのは各パーツの位置と大体の大きさです。作業目安は1,2時間程度です。最初から詳細な3Dモデルが作れるならこの段階で作成して構いません。T-4ではT-4-mockup.acがラフなモデルになります。
ラフな3Dモデルが出来たら、フライトモデルを作ります。T-4はJSBSimを利用していますので、aeromaticというツールを使ってフライトモデルの初期データを作成します。その後、T-4-mockup.ac から機体パーツの座標情報や重心位置を割り出して初期データを更新します。
ここまできたら、最初のテストフライトです。機体設定ファイルに作成したファイル情報を書き、機体データフォルダをFligtGearのAircpaftフォルダにコピーします。あとはFligtGearを起動してとりあえず飛ぶかどうかを確認します。まだ大半のデータは適当なのでもっさりした動作で構いません。重要なのはランキングギアと空力中心、及び重心位置です。これらを調整し、離陸、上昇、宙返りが安定して出来るようになれば、第一段階はクリアです。
詳細な3Dモデルの作成では、ハリボテモデルにオサラバして、丁寧に作り込んで行きます。三面図を基に作ることはハリボテと変わりませんが、形状を実機に近いものにしていきます。コクピットやキャノピ、舵、ランディングギアのアニメーションもここで作成します。また、テキスチャも貼付けて行きます。ここまでくると外見はほぼ完成となります。完成度はα版というところですが、Web 上で公開するにはいい時期かもしれません。
サウンド作成はオプションです。フライトギアには既にジェット機やプロペラ機の様々なサウンドが利用できます。これらを再利用するのが一番楽な手です。もちろん録音したりFXを作り出すのもよいでしょう。私にはできませんが。
フライトモデルの洗練は利用するフライトモデルの処理系により異なります。先ずはカタログスペックからパラメタを算出して、テストフライトやシュミレーションを行います。次に飛行特性や仕様とのズレを少なくするためのチューニングを行います。
この作業は以後機体が完成する迄繰り返し行われるでしょう。
計器の作成はフライトモデルの洗練と同じ位に手間がかかります。全ての計器に対して3Dモデルを作成し、xml ファイルで取り付け位置と計器のアニメーションに関する設定を行います。また、必要であれば Nasal スクリプトで動作を追加します。
Web 上で段階的にリリースすることを考慮すれば、重要度の高い計器から先に作って行くのがよいでしょう。しかし資料等の関係で作りやすい順に作らざるを得ない場合もあります。
なお、フライトモデルの洗練と計器作成は少しずつ繰り返し行って行きます。
作業ステップは以下のようになります。
1.資料収集
2.ラフな3Dモデル作成
3.フライトモデル作成
4.機体設定ファイル作成
5.テストフライト
6.詳細な3Dモデルの作成
7.サウンドの作成(必要なら)
8.フライトモデルの洗練
9.計器の作成
資料収集では、最低限三面図、機体仕様、及びエンジン仕様が必要となります。この他にも機体やコクピットの写真、計器類の説明など出来るだけ多くの資料が欲しい所です。まずはgoogleを駆使して集め、なければ書店で集めましょう。
次に、ラフな3Dモデルを作成します。3Dモデリングソフトを用いて三面図から機体の大雑把な形を作ります。このモデルを作成する意図はフライトモデルを作成するために必要な機体の座標情報を得やすくすることです。従って、ジェットエンジンは円柱で構わないし、ランキングギアは円柱とドーナツだけでよいのです。重要なのは各パーツの位置と大体の大きさです。作業目安は1,2時間程度です。最初から詳細な3Dモデルが作れるならこの段階で作成して構いません。T-4ではT-4-mockup.acがラフなモデルになります。
ラフな3Dモデルが出来たら、フライトモデルを作ります。T-4はJSBSimを利用していますので、aeromaticというツールを使ってフライトモデルの初期データを作成します。その後、T-4-mockup.ac から機体パーツの座標情報や重心位置を割り出して初期データを更新します。
ここまできたら、最初のテストフライトです。機体設定ファイルに作成したファイル情報を書き、機体データフォルダをFligtGearのAircpaftフォルダにコピーします。あとはFligtGearを起動してとりあえず飛ぶかどうかを確認します。まだ大半のデータは適当なのでもっさりした動作で構いません。重要なのはランキングギアと空力中心、及び重心位置です。これらを調整し、離陸、上昇、宙返りが安定して出来るようになれば、第一段階はクリアです。
詳細な3Dモデルの作成では、ハリボテモデルにオサラバして、丁寧に作り込んで行きます。三面図を基に作ることはハリボテと変わりませんが、形状を実機に近いものにしていきます。コクピットやキャノピ、舵、ランディングギアのアニメーションもここで作成します。また、テキスチャも貼付けて行きます。ここまでくると外見はほぼ完成となります。完成度はα版というところですが、Web 上で公開するにはいい時期かもしれません。
サウンド作成はオプションです。フライトギアには既にジェット機やプロペラ機の様々なサウンドが利用できます。これらを再利用するのが一番楽な手です。もちろん録音したりFXを作り出すのもよいでしょう。私にはできませんが。
フライトモデルの洗練は利用するフライトモデルの処理系により異なります。先ずはカタログスペックからパラメタを算出して、テストフライトやシュミレーションを行います。次に飛行特性や仕様とのズレを少なくするためのチューニングを行います。
この作業は以後機体が完成する迄繰り返し行われるでしょう。
計器の作成はフライトモデルの洗練と同じ位に手間がかかります。全ての計器に対して3Dモデルを作成し、xml ファイルで取り付け位置と計器のアニメーションに関する設定を行います。また、必要であれば Nasal スクリプトで動作を追加します。
Web 上で段階的にリリースすることを考慮すれば、重要度の高い計器から先に作って行くのがよいでしょう。しかし資料等の関係で作りやすい順に作らざるを得ない場合もあります。
なお、フライトモデルの洗練と計器作成は少しずつ繰り返し行って行きます。
投票数:33
平均点:4.85
T-4 製作記 - Step1: 資料収集
msg# 1.1.1.1
Tat
投稿数: 375
さて今回からいよいよ実際の作業内容を記述して行きます。
資料収集のステップでは、まず google を駆使して三面図、機体の基本仕様、及びエンジン仕様を取得します。
まずは三面図から始めましょう。川崎 T-4 三面図というキーワードで検索すると、T-4 誕生というサイトにありました。ところがなんだかちょっと違う気がします。きっと制作過程での三面図案なのでしょう。そこで "three view drawing" T-4 で検索した所、ようやく 航空自衛隊 T-4 プロフィール というサイトが見つかりました。(って同じサイトじゃん!)コクピットの写真もあるし、真正面からの写真もあります。これはかなり嬉しいですね。
次に基本仕様です。川崎 T-4 というキーワードで簡単に見つかりました。結構多いので幾つか抜粋して紹介します。
- Wikipedia T-4(練習機)
一般的な情報が得られます。
- 川崎 T-4
性能諸元が載っています。巡航速度や最高速度はフライトモデル洗練時に役立ちます。
- The Mitsubishi T-2 / F-1 and Kawasaki T-4
翼面積などの情報が得られました。フライトモデルには必須な情報です
- 戦後の名機(川崎 T-4)
離着陸距離が載っています。フライトモデル洗練時に有効です。
- 航空自衛隊 T-4 中等練習機 海面上昇率があるのは嬉しいですね。
- The vietual aviation museum - Kawasaki T-4 翼面負荷も見つかりました。
T-4 のエンジンはF3-IHI-30ですので、これをキーに検索しました。色んな所にデータがありましたが、大体 推力が1679kg/一基ということでした。それ以上の情報は今の所得られていません。
この機体はブルーインパルスに使用されているため、コクピットの写真や様々な角度からの写真、スモークによる軌道などの資料を、Web上で多く見つける事ができます。ありがたいものです。とりあえずこの辺の情報は必要な時にお伝えするとして、これまでの収拾活動で得られた情報をまとめておきます。
- 外寸: L=13.02m (アンテナを含めないと 12m), W=9.9m, H=4.6m
- 翼面積: 21 m2 (226.044 ft2) ※ 30.84 m2 という情報もあり
- 翼面負荷: 262.00 kg/m2 (53.71 lbs/ft2)
- 平均コード長(mean chord @ M.A.C.): 不明
- 乾燥重量: 3790kg (8356 lb)
- 最大離陸重量: 7650 kg (16,865 lb)
- 標準離陸重量: 5828kg (12,848 lb)
- 最大速度: 560 kts (1038 km/h)
- 巡航速度: 475 kts (880 km/h)
- 着陸速度: 90 kts (167 km/h)
- 上昇限界: 15240m (50000 ft)
- 荷重制限: -3.0G 〜 +7.33G
- 上昇率: 50 m/s (9842.52 ft/min)
- エンジン出力: 1666 kg (3674 lb) * 2基
サイトによってデータがまちまちだったりしますので、多数決で決めるようにしています。大きく離れた値がある場合は注釈つきでメモしておきます。
なお、ここに挙げた情報が間違っている場合や詳しい情報をお持ちの方は連絡して頂けると有り難いです。このスレッドに返信してもらっても構いません。
資料収集のステップでは、まず google を駆使して三面図、機体の基本仕様、及びエンジン仕様を取得します。
まずは三面図から始めましょう。川崎 T-4 三面図というキーワードで検索すると、T-4 誕生というサイトにありました。ところがなんだかちょっと違う気がします。きっと制作過程での三面図案なのでしょう。そこで "three view drawing" T-4 で検索した所、ようやく 航空自衛隊 T-4 プロフィール というサイトが見つかりました。(って同じサイトじゃん!)コクピットの写真もあるし、真正面からの写真もあります。これはかなり嬉しいですね。
次に基本仕様です。川崎 T-4 というキーワードで簡単に見つかりました。結構多いので幾つか抜粋して紹介します。
- Wikipedia T-4(練習機)
一般的な情報が得られます。
- 川崎 T-4
性能諸元が載っています。巡航速度や最高速度はフライトモデル洗練時に役立ちます。
- The Mitsubishi T-2 / F-1 and Kawasaki T-4
翼面積などの情報が得られました。フライトモデルには必須な情報です
- 戦後の名機(川崎 T-4)
離着陸距離が載っています。フライトモデル洗練時に有効です。
- 航空自衛隊 T-4 中等練習機 海面上昇率があるのは嬉しいですね。
- The vietual aviation museum - Kawasaki T-4 翼面負荷も見つかりました。
T-4 のエンジンはF3-IHI-30ですので、これをキーに検索しました。色んな所にデータがありましたが、大体 推力が1679kg/一基ということでした。それ以上の情報は今の所得られていません。
この機体はブルーインパルスに使用されているため、コクピットの写真や様々な角度からの写真、スモークによる軌道などの資料を、Web上で多く見つける事ができます。ありがたいものです。とりあえずこの辺の情報は必要な時にお伝えするとして、これまでの収拾活動で得られた情報をまとめておきます。
- 外寸: L=13.02m (アンテナを含めないと 12m), W=9.9m, H=4.6m
- 翼面積: 21 m2 (226.044 ft2) ※ 30.84 m2 という情報もあり
- 翼面負荷: 262.00 kg/m2 (53.71 lbs/ft2)
- 平均コード長(mean chord @ M.A.C.): 不明
- 乾燥重量: 3790kg (8356 lb)
- 最大離陸重量: 7650 kg (16,865 lb)
- 標準離陸重量: 5828kg (12,848 lb)
- 最大速度: 560 kts (1038 km/h)
- 巡航速度: 475 kts (880 km/h)
- 着陸速度: 90 kts (167 km/h)
- 上昇限界: 15240m (50000 ft)
- 荷重制限: -3.0G 〜 +7.33G
- 上昇率: 50 m/s (9842.52 ft/min)
- エンジン出力: 1666 kg (3674 lb) * 2基
サイトによってデータがまちまちだったりしますので、多数決で決めるようにしています。大きく離れた値がある場合は注釈つきでメモしておきます。
なお、ここに挙げた情報が間違っている場合や詳しい情報をお持ちの方は連絡して頂けると有り難いです。このスレッドに返信してもらっても構いません。
投票数:29
平均点:3.45
T-4 製作記 - Step2: ラフな3Dモデル作成
msg# 1.1.1.1.1
Tat
投稿数: 375
データもある程度揃ったので、ラフな 3Dモデルを作成します。
... と言っても、実は先日アップロードした T-4 の 3D モデルは、ラフっちゃラフだけど、そこまでラフでもないという事に気づきました。ここでは ac3d を使って 10分でできる3Dモデルの作成方法を説明します。
まずは 3面図を Gimp などのグラフィックエディタで開き 上面、側面、正面の3つの画像へ切り出します。次に切り取った画像をそれぞれ機体全体がギリギリ入る大きさでトリムします。次に、斜めになっている中心軸を「上面」「側面」の図は機体の先端が左に来るように、そして正面図はギアが下にくるように回転させます、最後に 1m=100ピクセルとなるように拡大して保存します。
さて、ここで ac3d を開きます。無ければ ここからダウンロードできます。4分割されたウィンドウが出てきますので、Front, Left, Top の所に先ほど保存した三面図の画像をそれぞれ背景画像として貼付けます。ac3d での背景画像の貼付けは、各ペインの Orth -> Set Background Image というメニューから選んでください。
ここで注意が必要なのは、FlightGear の機体を編集する際には Front のペインに左側面図を、Left のペインに 正面図を貼付けなければならないということです。FlightGear の世界ではX軸が前後になっている為にこのようになります。
画像の中心位置や微妙なズーム調整は Mac の場合は Command-カーソルキー, 及びCommand-Shift 上下キー で行います。グリッドの1マスが 1m になりますので、飛行機の外寸から微妙な大きさを調整してください。
さて、ここからがラフモデルの作成方法になります。注意すべき項目はたったの3点です。
- ランディングギアの位置を合わせる
- 翼の位置と大きさを合わせる
- 球、円柱、ボックスのみで作成する(時間を掛けすぎないため)
ac3d の詳しい使い方はここでは書きませんが、利用する ac3d の機能は回転、vertex(点)の移動、Z軸上のミラーリング、サイズ変更のみです。球、円柱、角柱のみを使ったラフな3Dモデルの編集中画像はこんな感じ になります。(ここでは写真を使っていますが、写真だとどうしてもズレが生じるので三面図の方がよいです)。そして完成した ac3d ファイルは T-4-rough.acになります。
ところで、ラフな3Dモデルは最初にフライトモデルを作成する時の重心位置や寸法を測りやすくすることが主な目的です。机上で計算できる場合はスキップしても構いません。最初から詳細な 3D モデルを作れる方はこのステップで詳細なモデルを作成してください。
... と言っても、実は先日アップロードした T-4 の 3D モデルは、ラフっちゃラフだけど、そこまでラフでもないという事に気づきました。ここでは ac3d を使って 10分でできる3Dモデルの作成方法を説明します。
まずは 3面図を Gimp などのグラフィックエディタで開き 上面、側面、正面の3つの画像へ切り出します。次に切り取った画像をそれぞれ機体全体がギリギリ入る大きさでトリムします。次に、斜めになっている中心軸を「上面」「側面」の図は機体の先端が左に来るように、そして正面図はギアが下にくるように回転させます、最後に 1m=100ピクセルとなるように拡大して保存します。
さて、ここで ac3d を開きます。無ければ ここからダウンロードできます。4分割されたウィンドウが出てきますので、Front, Left, Top の所に先ほど保存した三面図の画像をそれぞれ背景画像として貼付けます。ac3d での背景画像の貼付けは、各ペインの Orth -> Set Background Image というメニューから選んでください。
ここで注意が必要なのは、FlightGear の機体を編集する際には Front のペインに左側面図を、Left のペインに 正面図を貼付けなければならないということです。FlightGear の世界ではX軸が前後になっている為にこのようになります。
画像の中心位置や微妙なズーム調整は Mac の場合は Command-カーソルキー, 及びCommand-Shift 上下キー で行います。グリッドの1マスが 1m になりますので、飛行機の外寸から微妙な大きさを調整してください。
さて、ここからがラフモデルの作成方法になります。注意すべき項目はたったの3点です。
- ランディングギアの位置を合わせる
- 翼の位置と大きさを合わせる
- 球、円柱、ボックスのみで作成する(時間を掛けすぎないため)
ac3d の詳しい使い方はここでは書きませんが、利用する ac3d の機能は回転、vertex(点)の移動、Z軸上のミラーリング、サイズ変更のみです。球、円柱、角柱のみを使ったラフな3Dモデルの編集中画像はこんな感じ になります。(ここでは写真を使っていますが、写真だとどうしてもズレが生じるので三面図の方がよいです)。そして完成した ac3d ファイルは T-4-rough.acになります。
ところで、ラフな3Dモデルは最初にフライトモデルを作成する時の重心位置や寸法を測りやすくすることが主な目的です。机上で計算できる場合はスキップしても構いません。最初から詳細な 3D モデルを作れる方はこのステップで詳細なモデルを作成してください。
投票数:30
平均点:4.67
T-4 製作記 - Step3: フライトモデルの作成 (1)
msg# 1.1.1.1.1.1
Tat
投稿数: 375
いよいよ機体作成の胆となるフライトモデルの作成に移ります。フライトギアは何種類かのフライトモデルを扱えますが、主流なのは JSBSim と Yasimです。JSBSimのフライトモデルが揚力係数を初めとして様々な航空力学的なデータの集合であるのに対して、Yasimのモデルは幾何学情報を中心としたデータの集合です。
今回はT-4に利用しているJSBSim用のフライトモデルの作成について説明します。Yasimについては作業場の機体データの作成/YASimフライトモデルの解説に詳しい説明がありますのでそちらをご覧ください。
航空力学情報を必要とするJSBSimのフライトモデル作成は一見敷居が高そうな気がしますが、ある程度までならYasimのフライトモデルより短時間で作成できます。JSBSimの公式サイトにある aeromatic というツールに集めてきた仕様からデータを入力すれば、標準的な機体形状を基にして必要となる航空力学情報を推測してくれるので、とりあえずのフライトモデルが得られます。今回はこのとりあえずのモデルを出発点として、T-4の情報に更新していくこととします。
では、T-4を例にしてこのツールの使い方から説明します。
JSBSimの公式サイトのナビゲーションメニューから aeromatic をクリックして version 2.0 のリンクへジャンプしてください。Aeromatic version 0.9 というページが出てきます。紛らわしいですが前者は JSBSim のバージョンで、後者は aeromatic のバージョンです。
まずは、The Engine configuration の項目を入力します。Engine Name に T-4 のエンジン である F3-IHI-30 を入力します。次に Engine Type を turbine に指定します。(Piston, turboporp はプロペラ機です)。Engine Thrust (推力)にはエンジン一基毎の値と単位の項目です。JSBSim のフライトモデルでは 米慣習単位(フィート、ポンドなど)が良く利用されていますので、ここでも単位は Pounds にしておきます。F3-IHI-30 は 1666 kg (3674 lb) ですので、3674 を入力します。T-4 にはアフターバーナーもウォーターインジェクションもありませんので、Augumentation (afterburning) と Water Injection の項目は no と答えます。(最初は知らずに Augumentation を yes にしました。さぞかしパワフルになったことでしょう)。ここで generate ボタンを押すと、XMLドキュメントがページに書き出されます。これをテキストエディタにコピペして T-4/Engines/F3-IHI-30.xml に保存します。(Engines というフォルダ名は変更できません) このファイルにはテーブルのようなデータの羅列がありますが、これらの値は入力した推力等から算出された物です。正確には機体形状や重量によって変わってきますが、とりあえずはこのままにしておきます。
次に、The Aero configuration の項目を入力して行きます(T-4 はプロペラ機ではありませんので、The Prop configuration は飛ばします)。Chose a system of measurement を English(feet, pounds) にしました。Name of aircraftは当然 T-4 です。Type of aircraft では、空力特性が最も近い形状の機体を選択します。T-4 は 2エンジンでマッハ 0.96 程度ですので two-engine transonic or supersonic fighter を選択します。なお、最高速度により亜音速(subsonic speed: マッハ0.75以下), 遷音速(transonic speed: 0.75-1.25), 超音速(supersonic speed: 1.25-5.0), 極超音速(hypersonic speed: 5.0以上)という区分になります。
Maximum Takeoff Weight には最大離陸重量 16865 lb を入力します。この値から乾燥重量を算出してファイルに書き出されますが、カタログスペックの値とは異なります。とりあえずカタログスペックをニュ力し、後で修正することとします。
Length には機体の長さ (T-4 はアンテナ無しで 12m = 39.37 ft) にしました。Wing Area (翼面積) は 資料探しで2つの値 (21 m2 と 30.84 m2) がありました。どちらかを調べる為にラフな 3D モデルを使ってよく面積を割り出します。ac3d で翼のオブジェクトを選択して、 Surface -> calculate surface area を実行してみると、45.93 という値が得られました。上下の表面積を計算しているので 2 で割ると役 22.5 です。従って 21 m2 の方が信頼できるので フィートにして 226.05 を入力しました。
これ以降の項目は比較的判りやすいので項目名と入力値を書いておきます。
- gear type: tricycle
- retractable?: yes
- # engines: 2
- engine type: turbine
- engine layout: middle fuselage
- yaw damper? yes
と思ったら、2つだけ悩ましいのがありました.engine layout と yaw damper です。T-4 の場合はサイドにエンジンが2基あります。これがどれに該当するかというのは正直判りません。スラスターなら間違いなく aft_fuselage(胴体後方)なのですがエンジンとなると微妙です。エンジンとスラスターの位置はどうせ後で調整するので、とりあえず mid_fuselage にしておきます。yaw damper は大抵のジェット戦闘機には付いているはずなので yes としました。
全ての項目を入力し終えたので エンジンデータ作成と同様に Generat ボタンを押して XML 形式のファイルを取得しました。このファイルを T-4/T-4.xml として保存します。
(つづく)
今回はT-4に利用しているJSBSim用のフライトモデルの作成について説明します。Yasimについては作業場の機体データの作成/YASimフライトモデルの解説に詳しい説明がありますのでそちらをご覧ください。
航空力学情報を必要とするJSBSimのフライトモデル作成は一見敷居が高そうな気がしますが、ある程度までならYasimのフライトモデルより短時間で作成できます。JSBSimの公式サイトにある aeromatic というツールに集めてきた仕様からデータを入力すれば、標準的な機体形状を基にして必要となる航空力学情報を推測してくれるので、とりあえずのフライトモデルが得られます。今回はこのとりあえずのモデルを出発点として、T-4の情報に更新していくこととします。
では、T-4を例にしてこのツールの使い方から説明します。
JSBSimの公式サイトのナビゲーションメニューから aeromatic をクリックして version 2.0 のリンクへジャンプしてください。Aeromatic version 0.9 というページが出てきます。紛らわしいですが前者は JSBSim のバージョンで、後者は aeromatic のバージョンです。
まずは、The Engine configuration の項目を入力します。Engine Name に T-4 のエンジン である F3-IHI-30 を入力します。次に Engine Type を turbine に指定します。(Piston, turboporp はプロペラ機です)。Engine Thrust (推力)にはエンジン一基毎の値と単位の項目です。JSBSim のフライトモデルでは 米慣習単位(フィート、ポンドなど)が良く利用されていますので、ここでも単位は Pounds にしておきます。F3-IHI-30 は 1666 kg (3674 lb) ですので、3674 を入力します。T-4 にはアフターバーナーもウォーターインジェクションもありませんので、Augumentation (afterburning) と Water Injection の項目は no と答えます。(最初は知らずに Augumentation を yes にしました。さぞかしパワフルになったことでしょう)。ここで generate ボタンを押すと、XMLドキュメントがページに書き出されます。これをテキストエディタにコピペして T-4/Engines/F3-IHI-30.xml に保存します。(Engines というフォルダ名は変更できません) このファイルにはテーブルのようなデータの羅列がありますが、これらの値は入力した推力等から算出された物です。正確には機体形状や重量によって変わってきますが、とりあえずはこのままにしておきます。
次に、The Aero configuration の項目を入力して行きます(T-4 はプロペラ機ではありませんので、The Prop configuration は飛ばします)。Chose a system of measurement を English(feet, pounds) にしました。Name of aircraftは当然 T-4 です。Type of aircraft では、空力特性が最も近い形状の機体を選択します。T-4 は 2エンジンでマッハ 0.96 程度ですので two-engine transonic or supersonic fighter を選択します。なお、最高速度により亜音速(subsonic speed: マッハ0.75以下), 遷音速(transonic speed: 0.75-1.25), 超音速(supersonic speed: 1.25-5.0), 極超音速(hypersonic speed: 5.0以上)という区分になります。
Maximum Takeoff Weight には最大離陸重量 16865 lb を入力します。この値から乾燥重量を算出してファイルに書き出されますが、カタログスペックの値とは異なります。とりあえずカタログスペックをニュ力し、後で修正することとします。
Length には機体の長さ (T-4 はアンテナ無しで 12m = 39.37 ft) にしました。Wing Area (翼面積) は 資料探しで2つの値 (21 m2 と 30.84 m2) がありました。どちらかを調べる為にラフな 3D モデルを使ってよく面積を割り出します。ac3d で翼のオブジェクトを選択して、 Surface -> calculate surface area を実行してみると、45.93 という値が得られました。上下の表面積を計算しているので 2 で割ると役 22.5 です。従って 21 m2 の方が信頼できるので フィートにして 226.05 を入力しました。
これ以降の項目は比較的判りやすいので項目名と入力値を書いておきます。
- gear type: tricycle
- retractable?: yes
- # engines: 2
- engine type: turbine
- engine layout: middle fuselage
- yaw damper? yes
と思ったら、2つだけ悩ましいのがありました.engine layout と yaw damper です。T-4 の場合はサイドにエンジンが2基あります。これがどれに該当するかというのは正直判りません。スラスターなら間違いなく aft_fuselage(胴体後方)なのですがエンジンとなると微妙です。エンジンとスラスターの位置はどうせ後で調整するので、とりあえず mid_fuselage にしておきます。yaw damper は大抵のジェット戦闘機には付いているはずなので yes としました。
全ての項目を入力し終えたので エンジンデータ作成と同様に Generat ボタンを押して XML 形式のファイルを取得しました。このファイルを T-4/T-4.xml として保存します。
(つづく)
投票数:33
平均点:3.94
T-4 製作記 - メリークリスマス
msg# 1.1.1.1.1.1.1
Tat
投稿数: 375
今日はクリスマスイブです。そこでみなさんに、ささやかながらクリスマスプレゼントとして現時点での T-4 を贈ります。
ここのダウンロード置き場の新規機体から取得してください。
T-4-2007xmas.tar.gzからもダウンロードできます。
では、メリークリスマス!
ここのダウンロード置き場の新規機体から取得してください。
T-4-2007xmas.tar.gzからもダウンロードできます。
では、メリークリスマス!
投票数:22
平均点:5.00
T-4 製作記 - Step3 フライトモデルの作成 (2)
msg# 1.1.1.1.1.1.1.1
Tat
投稿数: 375
さて、機体作成の方が説明よりも随分と進んでしまったので、頑張って追いつきます。前回は Aeromatic を利用して機体とエンジンのとりあえずモデルを作成しました。今回は Aeromatic で作ったフライトモデルをT-4の資料を基に更新していきましょう。更新する値は胴体、翼、視点、ギア、エンジンの座標位置、空力中心、重心位置、乾燥重量などです。いきなり正確なモデルに仕上げるのは難しいので、とりあえず計測可能な物だけを更新して飛べるものにしていきます。
座標は3Dモデルのものを使用しますが、JSBSimとac3dとで座標系が異なりますので注意が必要です。x軸は共通ですがy軸とz軸が入れ替わります。また、ac3dは左側が正方向ですがJSBSimは右側が正方向となります。計算を必要とするものはネット上の計算ツールを利用します。例えば Aircraft Super Calculator(以下 ASC)等があります。
では T-4.xml ファイルのタグを順番に変更して行きましょう。
** metrics タグ
翼の寸法や面積、空力中心や視点を設定するタグの集合です。metrics タグに内包されるタグにはそれぞれ単位が指定されています。例えば <chord unit="FT"> 7.87 </chord> は平均翼弦長を フィート単位で指定することとなります。では内包するタグを順に説明して行きます。寸法や面積は資料から参照しますが、無ければ ac3d を用いて測ります。
*** wingarea タグ
主翼の面積を指定します。T-4 の場合 226.05平方フィート(21平方メートル)です。翼面積の資料が無い場合は ASC で求めるか、ac3d から [Surface Area] -> [Calculate Surface Area] で翼の表面積を求め、それを半分にした値を平方フィーとで記述します。(ac3d で求めたのは表面積ですので、翼面積の倍となります)。水平尾翼、垂直尾翼の面積も同様です。なお、ASC を利用する場合、Desired Static Margin はとりあえず 10 にしておきます。
*** wingspan タグ
主翼の幅(左右の翼端間の距離)を指定します。T-4 の場合は 32.61フィート(9.9メートル)です。
*** wing_incidence タグ
主翼の取り付け角度を指定します。T-4 の場合は 2°です。
*** htailarea, vtailarea タグ
水平尾翼、垂直尾翼の翼面積をそれぞれ平方フィートで指定します。水平尾翼は ac3d で Root Chord(翼根弦長) と Tip Chord(翼端弦長)を計測しCGC ツールにより計算した所 61.40 となりました。垂直尾翼面積は ASC では計算できないので、ac3d で求めた表面積の半分の値 52.50 に変更しました。
*** htailarm, vtailarm タグ
主翼の空力中心から水平尾翼の空力中心までの距離です。水平尾翼は ASC で簡単に求められます。垂直尾翼の場合、上下対象ではないので中心線がありません。そこで胴体の中心を通る線を中心線と見立てて、ac3d で計測し、ASC の水平尾翼の欄に値を書き込んで求めます。
*** location タグ
機体の基準点となる座標を3Dモデルの中心からのオフセットとしてインチで記述します。JSBSim の場合は相対的な位置関係が判ればいいので、ac3d で計測した座標を用います。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 タグ
その名の通り重量バランスを記述するタグの集合です。以下に内包するタグについて説明します。
*** ixx, iyy, izz, ixy, iyz, izx タグ
機体の慣性モーメントです。重量分布が判らないと正確には計算できないので、とりあえずそのままにしておいて構いません。元々の emtpy-weight が実際の値よりも大きい場合は各値を少し小さめに設定しておくと良いでしょう。:-p
*** empty-weight タグ
Aeromatic は 最大離陸重量から乾燥重量を推測しますので修正が必要です。集めた仕様に書かれた乾燥重量をポンドで記述します。T-4の場合 8,536 ポンドになります。
*** location タグ
機体の基準点をインチで記述します。mass_balance タグ内では重心位置のみを指定します。
- CG: 重心座標です。rootLE から ASC の Ideal CG aft of root LEだけ後方の座標となります。但し、実際の重心位置はここでは無いかもしれません。テストフライトで調整するとします。
*** pointmass タグ
パイロットやバラストウェイト、装備などの重量を指定します。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>
(つづく)
座標は3Dモデルのものを使用しますが、JSBSimとac3dとで座標系が異なりますので注意が必要です。x軸は共通ですがy軸とz軸が入れ替わります。また、ac3dは左側が正方向ですがJSBSimは右側が正方向となります。計算を必要とするものはネット上の計算ツールを利用します。例えば Aircraft Super Calculator(以下 ASC)等があります。
では T-4.xml ファイルのタグを順番に変更して行きましょう。
** metrics タグ
翼の寸法や面積、空力中心や視点を設定するタグの集合です。metrics タグに内包されるタグにはそれぞれ単位が指定されています。例えば <chord unit="FT"> 7.87 </chord> は平均翼弦長を フィート単位で指定することとなります。では内包するタグを順に説明して行きます。寸法や面積は資料から参照しますが、無ければ ac3d を用いて測ります。
*** wingarea タグ
主翼の面積を指定します。T-4 の場合 226.05平方フィート(21平方メートル)です。翼面積の資料が無い場合は ASC で求めるか、ac3d から [Surface Area] -> [Calculate Surface Area] で翼の表面積を求め、それを半分にした値を平方フィーとで記述します。(ac3d で求めたのは表面積ですので、翼面積の倍となります)。水平尾翼、垂直尾翼の面積も同様です。なお、ASC を利用する場合、Desired Static Margin はとりあえず 10 にしておきます。
*** wingspan タグ
主翼の幅(左右の翼端間の距離)を指定します。T-4 の場合は 32.61フィート(9.9メートル)です。
*** wing_incidence タグ
主翼の取り付け角度を指定します。T-4 の場合は 2°です。
*** htailarea, vtailarea タグ
水平尾翼、垂直尾翼の翼面積をそれぞれ平方フィートで指定します。水平尾翼は ac3d で Root Chord(翼根弦長) と Tip Chord(翼端弦長)を計測しCGC ツールにより計算した所 61.40 となりました。垂直尾翼面積は ASC では計算できないので、ac3d で求めた表面積の半分の値 52.50 に変更しました。
*** htailarm, vtailarm タグ
主翼の空力中心から水平尾翼の空力中心までの距離です。水平尾翼は ASC で簡単に求められます。垂直尾翼の場合、上下対象ではないので中心線がありません。そこで胴体の中心を通る線を中心線と見立てて、ac3d で計測し、ASC の水平尾翼の欄に値を書き込んで求めます。
*** location タグ
機体の基準点となる座標を3Dモデルの中心からのオフセットとしてインチで記述します。JSBSim の場合は相対的な位置関係が判ればいいので、ac3d で計測した座標を用います。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 タグ
その名の通り重量バランスを記述するタグの集合です。以下に内包するタグについて説明します。
*** ixx, iyy, izz, ixy, iyz, izx タグ
機体の慣性モーメントです。重量分布が判らないと正確には計算できないので、とりあえずそのままにしておいて構いません。元々の emtpy-weight が実際の値よりも大きい場合は各値を少し小さめに設定しておくと良いでしょう。:-p
*** empty-weight タグ
Aeromatic は 最大離陸重量から乾燥重量を推測しますので修正が必要です。集めた仕様に書かれた乾燥重量をポンドで記述します。T-4の場合 8,536 ポンドになります。
*** location タグ
機体の基準点をインチで記述します。mass_balance タグ内では重心位置のみを指定します。
- CG: 重心座標です。rootLE から ASC の Ideal CG aft of root LEだけ後方の座標となります。但し、実際の重心位置はここでは無いかもしれません。テストフライトで調整するとします。
*** pointmass タグ
パイロットやバラストウェイト、装備などの重量を指定します。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>
(つづく)
投票数:24
平均点:6.25
T-4 製作記 - Step3 フライトモデルの作成 (3)
msg# 1.1.1.1.1.1.1.1.1
Tat
投稿数: 375
T-4.xml の更新を続けて行きます。前半を書いていて思ったのですが、いちいちメートルをフィートやインチに変換するのは面倒ですね。やっぱり単位をインペリアルではなくメトリックにしておけば良かったと痛感しています... 皆さんはAeromatic で単位をメトリックに指定しておきましょう。
** ground_reactions タグ
ランディングギアについて記述するタグの集合です。沢山のタグを含んでいますが、今回変更すべき箇所は <contact type="BOGEY"> タグ内のギアの位置情報のみです。"NOSE," "LEFT_MAIN," "RIGHT_MAIN" にそれぞれのタイヤの接地座標を記述します。
<contact type="STRUCTURE"> の項目はコメントアウトしておいて問題ありません。
** propulsion タグ
エンジンに関する記述を行います。T-4 ではエンジンが2基あるので、このタグ内で2つの engine タグを記述します。
*** engine タグ
file 属性 に Aeromatic で作成したエンジン名(JSBSim はこれに .xml を付けてエンジンファイルにアクセスします。)を指定します。T-4 の場合は F3-IHI-30.xml ですので F3-IHI-30 を指定します。
*** location タグ
エンジンの重心位置を記述します。レシプロエンジンの場合はプロペラから少し後方になります。ジェットエンジンの場合はノズルの位置とエンジンの大きさとから推定することとなります。推定が難しい場合は吸気口とノズルの中心から1-2m 前方を指定しましょう。
*** orient タグ
推力線の傾きをpitch, roll, yaw の角度でそれぞれ指定します。ジェットエンジンの場合、X軸の後方が推力線の向きになりますから、そこからの角度となります。仕様がなければ 全て 0.00 で構いません。
*** thruster タグ
推力発生装置(プロペラやジェットエンジンのノズル)に関する設定を行います。
ジェットエンジンの場合は file 属性に "direct" と書き、Engines フォルダに direct.xml というファイルを作成します。
<?xml version="1.0"?>
<!--
Thrust is computed directly by the engine
-->
<direct name="Direct">
</direct>
*** feed タグ
エンジンに燃料を送り込む燃料タンクの番号を指定します。<feed>0</feed>とすれば tank 0 から燃料が注入されることになります。このタグを複数記述する事も可能です。
** tank タグ
燃料タンクの3Dモデル上の座標とタンク番号、容量を指定します。T-4の場合、以下のようになります。capacity や contents は最大容量を示しています。実際の搭載燃料容量は T-4-set.xml で指定します。
<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>
</propulsion>
*** Flight_control タグ
揚力、抗力などの空力データの集合です。ここを記述するには Xfoil や Digital Datcom+ などの解析ツールが必須です。また翼断面の形状や表面の粗さ等、多くの技術情報が必要となります。現時点ではこのままにしておきましょう。
T-4 では2007/12/27の段階でブルーインパルスのデモ飛行のデータ(書籍から得られた情報)に近づける為に、最高速度と音速付近での抗力、ピッチ方向に対する揚力を若干変更しています。しかしながら正確である保証はありません。
ある程度はブルーインパルスのデモ飛行に近い動きをするようになって来たので、当たらずとも遠からずというところでしょうか。しかし、これらのパラメタに手を出すと、多大な労力と時間を費やします。川崎重工の方からデータを入手できれば嬉しいのですが、残念ながら誰にコンタクトすればいいかまでは判りません。論文でも調査してコンタクト先を探してみたいですね。
ちなみに、12/24にリリースした機体は燃料が多すぎますので、上昇がもっさりしすぎています。
T-4 2007-12-27 版を入手してください。
** ground_reactions タグ
ランディングギアについて記述するタグの集合です。沢山のタグを含んでいますが、今回変更すべき箇所は <contact type="BOGEY"> タグ内のギアの位置情報のみです。"NOSE," "LEFT_MAIN," "RIGHT_MAIN" にそれぞれのタイヤの接地座標を記述します。
<contact type="STRUCTURE"> の項目はコメントアウトしておいて問題ありません。
** propulsion タグ
エンジンに関する記述を行います。T-4 ではエンジンが2基あるので、このタグ内で2つの engine タグを記述します。
*** engine タグ
file 属性 に Aeromatic で作成したエンジン名(JSBSim はこれに .xml を付けてエンジンファイルにアクセスします。)を指定します。T-4 の場合は F3-IHI-30.xml ですので F3-IHI-30 を指定します。
*** location タグ
エンジンの重心位置を記述します。レシプロエンジンの場合はプロペラから少し後方になります。ジェットエンジンの場合はノズルの位置とエンジンの大きさとから推定することとなります。推定が難しい場合は吸気口とノズルの中心から1-2m 前方を指定しましょう。
*** orient タグ
推力線の傾きをpitch, roll, yaw の角度でそれぞれ指定します。ジェットエンジンの場合、X軸の後方が推力線の向きになりますから、そこからの角度となります。仕様がなければ 全て 0.00 で構いません。
*** thruster タグ
推力発生装置(プロペラやジェットエンジンのノズル)に関する設定を行います。
ジェットエンジンの場合は file 属性に "direct" と書き、Engines フォルダに direct.xml というファイルを作成します。
<?xml version="1.0"?>
<!--
Thrust is computed directly by the engine
-->
<direct name="Direct">
</direct>
*** feed タグ
エンジンに燃料を送り込む燃料タンクの番号を指定します。<feed>0</feed>とすれば tank 0 から燃料が注入されることになります。このタグを複数記述する事も可能です。
** tank タグ
燃料タンクの3Dモデル上の座標とタンク番号、容量を指定します。T-4の場合、以下のようになります。capacity や contents は最大容量を示しています。実際の搭載燃料容量は T-4-set.xml で指定します。
<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>
</propulsion>
*** Flight_control タグ
揚力、抗力などの空力データの集合です。ここを記述するには Xfoil や Digital Datcom+ などの解析ツールが必須です。また翼断面の形状や表面の粗さ等、多くの技術情報が必要となります。現時点ではこのままにしておきましょう。
T-4 では2007/12/27の段階でブルーインパルスのデモ飛行のデータ(書籍から得られた情報)に近づける為に、最高速度と音速付近での抗力、ピッチ方向に対する揚力を若干変更しています。しかしながら正確である保証はありません。
ある程度はブルーインパルスのデモ飛行に近い動きをするようになって来たので、当たらずとも遠からずというところでしょうか。しかし、これらのパラメタに手を出すと、多大な労力と時間を費やします。川崎重工の方からデータを入手できれば嬉しいのですが、残念ながら誰にコンタクトすればいいかまでは判りません。論文でも調査してコンタクト先を探してみたいですね。
ちなみに、12/24にリリースした機体は燃料が多すぎますので、上昇がもっさりしすぎています。
T-4 2007-12-27 版を入手してください。
投票数:29
平均点:6.55
T-4 製作記 - Coffee Break
msg# 1.1.1.1.1.1.1.1.1.1
Tat
投稿数: 375
FlightGear の IRC でチャットしていたら、FlightGear の機体を多く作成している helijah が、T-4 に非常に良く似た Alpha Jet を 作成していることを教えてくれました。T-4 と Alpha Jet は形状も重量も良く似ていますので、きっと同じ様な飛行特性になるでしょう。更に良い事に彼は Yasim で作成していますので、互いにフライトモデルを交換し合うことになりました。少しAlpha Jet を飛ばして見たところ、ちょっと重心位置が前にある気がします。近々修正して彼にフィードバックしてみる事にします。そのうち T-4 の Yasim 版も出来上がるでしょう。
Alpha Jet は ここ から Fichier TAR.GZ をクリックすればダウンロードできます。
更に色々話しているうちに、彼が震電 (J7W) の Yasim モデルをベースにして Henschel Hs P75 というカナード機を作成したという話をしてくれました。こういう話を聞くと、なんだか嬉しくなりますね。こいつもなかなか震電譲りの不安定振りを発揮してくれる事でしょう。この他にも沢山の機体を彼は作成しています。是非彼のハンガー を覗いてみてください。
ちなみに彼の3Dモデルは私の作成するものよりも数倍、いや数十倍奇麗に仕上がっています。私には3Dモデリングの才能がない(のと、あまり外観に凝る性格じゃない)ため、いつも適当な仕上がりになってしまいます。嬉しい事に、彼のサイトには Blender を用いた3Dモデル作成ガイドがあります。フランス語ですが、英語に翻訳すれば読めるようになりますし、写真が多いので大体雰囲気は掴めるでしょう。皆さんも参考にしてみて下さい
- Creation of Brequet 761 "Two bridges" - (英訳) (原文)
Alpha Jet は ここ から Fichier TAR.GZ をクリックすればダウンロードできます。
更に色々話しているうちに、彼が震電 (J7W) の Yasim モデルをベースにして Henschel Hs P75 というカナード機を作成したという話をしてくれました。こういう話を聞くと、なんだか嬉しくなりますね。こいつもなかなか震電譲りの不安定振りを発揮してくれる事でしょう。この他にも沢山の機体を彼は作成しています。是非彼のハンガー を覗いてみてください。
ちなみに彼の3Dモデルは私の作成するものよりも数倍、いや数十倍奇麗に仕上がっています。私には3Dモデリングの才能がない(のと、あまり外観に凝る性格じゃない)ため、いつも適当な仕上がりになってしまいます。嬉しい事に、彼のサイトには Blender を用いた3Dモデル作成ガイドがあります。フランス語ですが、英語に翻訳すれば読めるようになりますし、写真が多いので大体雰囲気は掴めるでしょう。皆さんも参考にしてみて下さい
- Creation of Brequet 761 "Two bridges" - (英訳) (原文)
投票数:16
平均点:6.25
T-4 製作記 - Coffee Break (2) Yasim モデルのチューニング
msg# 1.1.1.1.1.1.1.1.1.1.1
Tat
投稿数: 375
再び脇道にそれますが、Alpha-Jet の Yasim モデルをチューニングしていて気づいた事を忘れないうちに記述しておきます。
** 重心位置の調整
機体作成において割と時間が掛かるのが重心位置の調整と重量の調整です。重心が前過ぎるとなかなか離陸しませんし、後ろ過ぎると尻餅をついてしまいます。また重心が後ろ過ぎるからといって、重り(ballast) を前方に追加するとピッチ方向の操作性が鈍くなります。重心位置の調整には、fuselage タグ、エンジン(jet 又は propeller タグ)、及び ballast タグを利用します。
ジェットエンジンの場合、重心が後ろに行きがちですが、これを燃料や ballast を増やす事で釣り合いを取ろうとするとノーズが重すぎて離陸距離が伸びたり、舵が聞きにくくなり、ピッチ方向にもっさりとした動きになります。この場合は fuselage タグの値を調整してみましょう。
チューニング前の Alpha-Jet の fuselage タグはこんな感じでした。
<fuselage ax="6.141" ay="0" az="-1.039" bx="-5.909" by="0" bz="-0.203" width="1.164" taper="1" midpoint="0.5"/>
この設定から読み取れるのは以下の情報です。
- 胴体の中心線は (6.141, 0, -1.039) - (-5.909, 0, -0.203) の2点を結ぶ線
(ac3d の座標と Yasim の座標はX軸の前後が逆で、Y軸とZ軸が入れ替わります)
- 最大幅は 1.164m
- 最大幅となる場所は先端から 50% の位置 (中間点)
- 胴体は完全な円柱である (taper = 1)
3D モデルと見比べてみると、a, b 点は正しいのですが、taper と midpoint, width がちょっと怪しいです。Alpha-Jet を側面からみてみると、コックピット付近と吸気口の辺りがふくれていまして、先端は尖っています。末尾は割と細めに絞られています。3D モデルから読み取れることをまとめると
- 最大幅は 1.64m
- 最大幅となる場所は 先端から 36.7% の位置 (3Dモデルの中心から 1.71m 前方)
- 胴体は先端が完全な点、末尾は点に近い程度に小さい (末尾も加味すると taper は 0.1 程度?)
これをタグで表現するとこうなります。
<fuselage ax="6.141" ay="0" az="-1.039" bx="-5.909" by="0" bz="-0.203" width="1.64" taper="0.1" midpoint="0.34"/>
次に、ジェットエンジンの取り付け位置と重量を見てみましょう。
<jet x="-5.20" y="-0.70" z="-0.33"
mass="2118"
thrust="8660"
tsfc="0.371"
egt="950">
<actionpt x="-9.3" y="-1.03" z="-0.37"/>
エンジンが 機体中心から 5.2m後方にあります。ノズルは 9.3m後方にあります。3Dモデルでこの位置を調べると、エンジンは水平尾翼の真下で、ノズルは更に後方になります。3Dモデル上のエンジンとノズルはそれぞれ機体中心から 1.5m, 2.83m 後方にあるように見えます。ジェットエンジンのデータ表を参照すると Alpha-Jet のエンジンは46.4インチの長さ(1.17m) になります。重心が真ん中にあるとすれば ノズル位置 (2.83m後方)から 1.17/2 を引くと 2.245m になります。 これがエンジンの重心位置のはずです。エンジンの重量も 640lb なので修正します。修正後は以下のようになります。
<jet x="-2.245" y="-0.70" z="-0.33"
mass="640"
thrust="8660"
tsfc="0.371"
egt="950">
<actionpt x="-2.83" y="-0.64" z="-0.93"/>
バラストも重すぎたので調整してみます。
<!-- pilots -->
<ballast x="3.28" y="0" z="-0.61" mass="230"/>
<ballast x="1.96" y="0" z="-0.38" mass="230"/>
<!-- armament -->
<ballast x="2.33" y="0" z="-1.03" mass="190"/>
この状態で コマンドライン版 yasim を動作させてみると、このような出力が得られました。
Solution results: Iterations: 2617
Drag Coefficient: 9.778578
Lift Ratio: 103.775475
Cruise AoA: -2.670801
Tail Incidence: 2.443516
Approach Elevator: -0.523635
CG: x:-0.550, y:0.000, z:-0.399
3Dモデル上でこの位置を確認してみると、後ろのランディングギアが 機体中心から0.470m 後方にあります。重心位置(CG の X座標は ランディングギアよりも後方にありますね。ということは尻餅をついてしまいます。)
これらの値は3Dモデルに基づいているである程度は正確なはずですが、それでも合いません。実機と同様の重量分布を得る為に、fuselage, jet, のタグを若干調整することとします。重心位置はランディングギアより前方で主翼空力中心よりも後方になるはずですから、重心位置の x座標を =0.2m 程前方に移動する必要があります。これを調整する為には再び fuselage タグを調整し、胴体の前後は若干太めにし、胴体の最大幅を少し前方に移動(0.34 → 0.23)しました。
<fuselage ax="6.141" ay="0" az="-1.039" bx="-5.909" by="0" bz="-0.203" width="1.64" taper="0.4" midpoint="0.23"/>
次に jet タグも調整し、エンジンの重心位置を前方へずらしました。
<jet x="-1.15" y="-0.70" z="-0.93" ...
Yasim で重心位置をチェックすると、CG: x:-0.423, y:0.000, z:-0.416 となりました。なんとかランディングギアの前方に移動しました。これで少しは軽快になるでしょう。
** 揚力、抗力の調整、最高速度、失速速度の調整
機体の挙動を調整するには、機体の揚力や抗力、着陸時/巡航時の迎え角など、様々な要素を調整する必要があります。ここでは、フライトモデルのタグをどのように変更すれば、どのような現象が起こるかを説明して行きます.
*** approach タグの変更による影響
approach タグの aoa (迎え角) を大きくすると、以下の現象が起きます。
- 抗力係数(Drag Coefficient) が増す
- 揚力比(Lift Ratio) が減る (揚力が小さいので着陸時の迎え角を大きくとるという意味)。
- 巡航時の迎え角である Cruise AoA が少し大きく(上向き)になる
- Tail incidence が減る
- 着陸時のエレベータ操作量が増大する (迎え角が大きくなるため)
実際に aoa が 8 の時と 7 の時とで比較してみます。
<approach speed="120" aoa="7" fuel="0.3"> の時の yasim の出力:
Drag Coefficient: 9.160148
Lift Ratio: 113.896637
Cruise AoA: -2.690489
Tail Incidence: 2.303423
Approach Elevator: -0.572742
CG: x:-0.423, y:0.000, z:-0.416
<approach speed="120" aoa="8" fuel="0.3"> の時の yasim の出力:
Drag Coefficient: 9.369031
Lift Ratio: 106.831940
Cruise AoA: -2.474701
Tail Incidence: 1.990073
Approach Elevator: -0.615560
CG: x:-0.423, y:0.000, z:-0.416
お判り頂けたでしょうか?
次に approach タグの speed を 120 から 110 に変更してみます。どうなるでしょうか?
<approach speed="110" aoa="8" fuel="0.3"> の時の yasim の出力:
Drag Coefficient: 8.563505
Lift Ratio: 138.939148
Cruise AoA: -3.319333
Tail Incidence: 3.216748
Approach Elevator: -0.669531
CG: x:-0.423, y:0.000, z:-0.416
変化をまとめると、以下のようになります。
- 抗力係数が減少
- 揚力比が増加 (低速で着陸時の揚力が得られるのと、抗力が減ったため)
- 巡航時の AoA が下向きになる
- Tail incidence が増大する
- 着陸時のエレベータ操作量が増大する
*** cruise タグの変更による影響
cruise タグを変更するとどうなるでしょうか? <approach speed="110" aoa="8" fuel="0.3">の設定にしたまま、cruise タグの speed と altitude をそれぞれ変更してみます。
speed を 500 から 510 に変更した場合の出力
Drag Coefficient: 8.101376
Lift Ratio: 146.837555
Cruise AoA: -3.492537
Tail Incidence: 3.468721
Approach Elevator: -0.680664
興味深いのは、approach の速度を減速した時と同じ様な値の変化が見られます。次に speed は 510 のままで altitude を 30000 から 31000 に変更してみます。
alt を 30000 から 31000 に変更した場合の出力
Drag Coefficient: 8.275223
Lift Ratio: 143.781418
Cruise AoA: -3.338158
Tail Incidence: 3.240537
Approach Elevator: -0.670667
今度は speed を増加した場合と逆の値の変化となっています。
** エンジン出力の調整による揚力、抗力への影響
重心位置の調整で参照したジェットエンジンの一覧表によると Alpha-Jet のエンジン1基あたりの推力は 2980lb でした。そこでエンジン出力をカタログスペックに併せます。
<jet x="-1.15" y="-0.70" z="-0.93" mass="640" thrust="2980" tsfc="0.371" egt="950">
この状態での出力は以下のようになります。
thrust = 2980 の時の出力:
Drag Coefficient: 8.275223
Lift Ratio: 143.781418
Cruise AoA: -3.338158
Tail Incidence: 3.240537
Approach Elevator: -0.670667
ここで、thrust を 4980 に変更してみるとどうなるでしょうか?
thrust = 4980 の時の出力:
Drag Coefficient: 13.823707
Lift Ratio: 81.984703
Cruise AoA: -3.057622
Tail Incidence: 2.914496
Approach Elevator: -0.610547
cruise タグの alt を増加させた時と同じ傾向が見られますね。
** まとめ
さて、これまでの実験結果のまとめます。
揚力を増す為の設定には以下のものが挙げられます。
- approach の speed を減少させる
- approach の aoa を減少させる
- cruise の speed を増加させる
- cruise の alt を減少させる
- jet の thrust を減少させる
揚力を減らす為には上に書いたものの逆の変更になります。揚力を増加させた時の副作用として以下の現象が発生します。
- 抗力係数が減少する
- 巡航時の AoA が下向きになる
- Tail incidence が増大する
- 着陸時のエレベータ操作量が増大する
この他にも wing タグを調整すれば揚力や抗力は変化します。これに関してはまた別の機会に紹介します。
** 重心位置の調整
機体作成において割と時間が掛かるのが重心位置の調整と重量の調整です。重心が前過ぎるとなかなか離陸しませんし、後ろ過ぎると尻餅をついてしまいます。また重心が後ろ過ぎるからといって、重り(ballast) を前方に追加するとピッチ方向の操作性が鈍くなります。重心位置の調整には、fuselage タグ、エンジン(jet 又は propeller タグ)、及び ballast タグを利用します。
ジェットエンジンの場合、重心が後ろに行きがちですが、これを燃料や ballast を増やす事で釣り合いを取ろうとするとノーズが重すぎて離陸距離が伸びたり、舵が聞きにくくなり、ピッチ方向にもっさりとした動きになります。この場合は fuselage タグの値を調整してみましょう。
チューニング前の Alpha-Jet の fuselage タグはこんな感じでした。
<fuselage ax="6.141" ay="0" az="-1.039" bx="-5.909" by="0" bz="-0.203" width="1.164" taper="1" midpoint="0.5"/>
この設定から読み取れるのは以下の情報です。
- 胴体の中心線は (6.141, 0, -1.039) - (-5.909, 0, -0.203) の2点を結ぶ線
(ac3d の座標と Yasim の座標はX軸の前後が逆で、Y軸とZ軸が入れ替わります)
- 最大幅は 1.164m
- 最大幅となる場所は先端から 50% の位置 (中間点)
- 胴体は完全な円柱である (taper = 1)
3D モデルと見比べてみると、a, b 点は正しいのですが、taper と midpoint, width がちょっと怪しいです。Alpha-Jet を側面からみてみると、コックピット付近と吸気口の辺りがふくれていまして、先端は尖っています。末尾は割と細めに絞られています。3D モデルから読み取れることをまとめると
- 最大幅は 1.64m
- 最大幅となる場所は 先端から 36.7% の位置 (3Dモデルの中心から 1.71m 前方)
- 胴体は先端が完全な点、末尾は点に近い程度に小さい (末尾も加味すると taper は 0.1 程度?)
これをタグで表現するとこうなります。
<fuselage ax="6.141" ay="0" az="-1.039" bx="-5.909" by="0" bz="-0.203" width="1.64" taper="0.1" midpoint="0.34"/>
次に、ジェットエンジンの取り付け位置と重量を見てみましょう。
<jet x="-5.20" y="-0.70" z="-0.33"
mass="2118"
thrust="8660"
tsfc="0.371"
egt="950">
<actionpt x="-9.3" y="-1.03" z="-0.37"/>
エンジンが 機体中心から 5.2m後方にあります。ノズルは 9.3m後方にあります。3Dモデルでこの位置を調べると、エンジンは水平尾翼の真下で、ノズルは更に後方になります。3Dモデル上のエンジンとノズルはそれぞれ機体中心から 1.5m, 2.83m 後方にあるように見えます。ジェットエンジンのデータ表を参照すると Alpha-Jet のエンジンは46.4インチの長さ(1.17m) になります。重心が真ん中にあるとすれば ノズル位置 (2.83m後方)から 1.17/2 を引くと 2.245m になります。 これがエンジンの重心位置のはずです。エンジンの重量も 640lb なので修正します。修正後は以下のようになります。
<jet x="-2.245" y="-0.70" z="-0.33"
mass="640"
thrust="8660"
tsfc="0.371"
egt="950">
<actionpt x="-2.83" y="-0.64" z="-0.93"/>
バラストも重すぎたので調整してみます。
<!-- pilots -->
<ballast x="3.28" y="0" z="-0.61" mass="230"/>
<ballast x="1.96" y="0" z="-0.38" mass="230"/>
<!-- armament -->
<ballast x="2.33" y="0" z="-1.03" mass="190"/>
この状態で コマンドライン版 yasim を動作させてみると、このような出力が得られました。
Solution results: Iterations: 2617
Drag Coefficient: 9.778578
Lift Ratio: 103.775475
Cruise AoA: -2.670801
Tail Incidence: 2.443516
Approach Elevator: -0.523635
CG: x:-0.550, y:0.000, z:-0.399
3Dモデル上でこの位置を確認してみると、後ろのランディングギアが 機体中心から0.470m 後方にあります。重心位置(CG の X座標は ランディングギアよりも後方にありますね。ということは尻餅をついてしまいます。)
これらの値は3Dモデルに基づいているである程度は正確なはずですが、それでも合いません。実機と同様の重量分布を得る為に、fuselage, jet, のタグを若干調整することとします。重心位置はランディングギアより前方で主翼空力中心よりも後方になるはずですから、重心位置の x座標を =0.2m 程前方に移動する必要があります。これを調整する為には再び fuselage タグを調整し、胴体の前後は若干太めにし、胴体の最大幅を少し前方に移動(0.34 → 0.23)しました。
<fuselage ax="6.141" ay="0" az="-1.039" bx="-5.909" by="0" bz="-0.203" width="1.64" taper="0.4" midpoint="0.23"/>
次に jet タグも調整し、エンジンの重心位置を前方へずらしました。
<jet x="-1.15" y="-0.70" z="-0.93" ...
Yasim で重心位置をチェックすると、CG: x:-0.423, y:0.000, z:-0.416 となりました。なんとかランディングギアの前方に移動しました。これで少しは軽快になるでしょう。
** 揚力、抗力の調整、最高速度、失速速度の調整
機体の挙動を調整するには、機体の揚力や抗力、着陸時/巡航時の迎え角など、様々な要素を調整する必要があります。ここでは、フライトモデルのタグをどのように変更すれば、どのような現象が起こるかを説明して行きます.
*** approach タグの変更による影響
approach タグの aoa (迎え角) を大きくすると、以下の現象が起きます。
- 抗力係数(Drag Coefficient) が増す
- 揚力比(Lift Ratio) が減る (揚力が小さいので着陸時の迎え角を大きくとるという意味)。
- 巡航時の迎え角である Cruise AoA が少し大きく(上向き)になる
- Tail incidence が減る
- 着陸時のエレベータ操作量が増大する (迎え角が大きくなるため)
実際に aoa が 8 の時と 7 の時とで比較してみます。
<approach speed="120" aoa="7" fuel="0.3"> の時の yasim の出力:
Drag Coefficient: 9.160148
Lift Ratio: 113.896637
Cruise AoA: -2.690489
Tail Incidence: 2.303423
Approach Elevator: -0.572742
CG: x:-0.423, y:0.000, z:-0.416
<approach speed="120" aoa="8" fuel="0.3"> の時の yasim の出力:
Drag Coefficient: 9.369031
Lift Ratio: 106.831940
Cruise AoA: -2.474701
Tail Incidence: 1.990073
Approach Elevator: -0.615560
CG: x:-0.423, y:0.000, z:-0.416
お判り頂けたでしょうか?
次に approach タグの speed を 120 から 110 に変更してみます。どうなるでしょうか?
<approach speed="110" aoa="8" fuel="0.3"> の時の yasim の出力:
Drag Coefficient: 8.563505
Lift Ratio: 138.939148
Cruise AoA: -3.319333
Tail Incidence: 3.216748
Approach Elevator: -0.669531
CG: x:-0.423, y:0.000, z:-0.416
変化をまとめると、以下のようになります。
- 抗力係数が減少
- 揚力比が増加 (低速で着陸時の揚力が得られるのと、抗力が減ったため)
- 巡航時の AoA が下向きになる
- Tail incidence が増大する
- 着陸時のエレベータ操作量が増大する
*** cruise タグの変更による影響
cruise タグを変更するとどうなるでしょうか? <approach speed="110" aoa="8" fuel="0.3">の設定にしたまま、cruise タグの speed と altitude をそれぞれ変更してみます。
speed を 500 から 510 に変更した場合の出力
Drag Coefficient: 8.101376
Lift Ratio: 146.837555
Cruise AoA: -3.492537
Tail Incidence: 3.468721
Approach Elevator: -0.680664
興味深いのは、approach の速度を減速した時と同じ様な値の変化が見られます。次に speed は 510 のままで altitude を 30000 から 31000 に変更してみます。
alt を 30000 から 31000 に変更した場合の出力
Drag Coefficient: 8.275223
Lift Ratio: 143.781418
Cruise AoA: -3.338158
Tail Incidence: 3.240537
Approach Elevator: -0.670667
今度は speed を増加した場合と逆の値の変化となっています。
** エンジン出力の調整による揚力、抗力への影響
重心位置の調整で参照したジェットエンジンの一覧表によると Alpha-Jet のエンジン1基あたりの推力は 2980lb でした。そこでエンジン出力をカタログスペックに併せます。
<jet x="-1.15" y="-0.70" z="-0.93" mass="640" thrust="2980" tsfc="0.371" egt="950">
この状態での出力は以下のようになります。
thrust = 2980 の時の出力:
Drag Coefficient: 8.275223
Lift Ratio: 143.781418
Cruise AoA: -3.338158
Tail Incidence: 3.240537
Approach Elevator: -0.670667
ここで、thrust を 4980 に変更してみるとどうなるでしょうか?
thrust = 4980 の時の出力:
Drag Coefficient: 13.823707
Lift Ratio: 81.984703
Cruise AoA: -3.057622
Tail Incidence: 2.914496
Approach Elevator: -0.610547
cruise タグの alt を増加させた時と同じ傾向が見られますね。
** まとめ
さて、これまでの実験結果のまとめます。
揚力を増す為の設定には以下のものが挙げられます。
- approach の speed を減少させる
- approach の aoa を減少させる
- cruise の speed を増加させる
- cruise の alt を減少させる
- jet の thrust を減少させる
揚力を減らす為には上に書いたものの逆の変更になります。揚力を増加させた時の副作用として以下の現象が発生します。
- 抗力係数が減少する
- 巡航時の AoA が下向きになる
- Tail incidence が増大する
- 着陸時のエレベータ操作量が増大する
この他にも wing タグを調整すれば揚力や抗力は変化します。これに関してはまた別の機会に紹介します。
投票数:22
平均点:2.73
Re: T-4 製作記 Step4: 機体設定ファイル作成
msg# 1.1.1.1.1.1.1.1.1.1.1.1
Tat
投稿数: 375
とりあえずの3Dモデルとフライトモデルとが出来ましたので、機体設定ファイルを作成して飛ばしてみたいと思います。機体設定ファイルは特に難しい解釈や設定はないと思いますので、ベタに xml ファイルを記述してみます。説明は <!-- と --> とに囲まれた xml のコメントとして書いておきます。質問等があればこのスレッドに投稿してください。
<?xml version="1.0"?>
<PropertyList>
<sim>
<!-- 機体名称 -->
<description>Kawasaki T-4 "Blue Impluse"</description>
<!-- 作者、開発状況 -->
<author>Tatsuhiro Nishioka</author>
<status>just started</status>
<!-- フライトモデル情報 -->
<flight-model>jsb</flight-model> <!-- FDMエンジン (jsb/yasim)-->
<aero>T-4</aero> <!-- フライトモデルファイル名(.xml) -->
<!-- サウンドファイル(あれば) -->
<!--
<sound>
<path>Aircraft/A-10/Sounds/A-10-sound.xml</path>
</sound>
-->
<!-- 3D モデルの設定 -->
<model>
<path>Aircraft/T-4/Models/T-4.xml</path>
</model>
<!-- 視点の設定 -->
<!-- chase view の時の視点から機体への距離 (m) -->
<chase-distance-m type="double" archive="y">-35.0</chase-distance-m>
<!-- デフォルトの視点オフセット、距離の設定 -->
<view>
<config>
<pitch-offset-deg>-8.8</pitch-offset-deg>
<default-field-of-view-deg>80</default-field-of-view-deg>
</config>
</view>
<!-- コクピット視点の設定 -->
<view n="0">
<name>Cockpit View</name>
<type>lookfrom</type> <!-- 指定した座標から見ることを意味 -->
<internal archive="y">true</internal> <!-- 機体内部の視点という意味 -->
<config>
<!-- 視点位置 -->
<x-offset-m archive="y">0.0</x-offset-m>
<y-offset-m archive="y">0.66</y-offset-m>
<z-offset-m archive="y">-2.80</z-offset-m>
<!-- 見る方向 (上下方向) -->
<pitch-offset-deg>-10</pitch-offset-deg>
<!-- ズーム率 -->
<default-field-of-view-deg>67.0</default-field-of-view-deg>
</config>
</view>
<!-- ユーザ定義視点 - 後部座席のコクピット視点 -->
<view n="100">
<name>Trainer View</name>
<type>lookfrom</type>
<internal archive="y">true</internal>
<config>
<from-model type="bool">true</from-model>
<from-model-idx type="int">0</from-model-idx>
<ground-level-nearplane-m type="double">0.03</ground-level-nearplane-m>
<x-offset-m archive="y">0.0</x-offset-m>
<y-offset-m archive="y">1.03</y-offset-m>
<z-offset-m archive="y">-1.33</z-offset-m>
<pitch-offset-deg>-10</pitch-offset-deg>
<default-field-of-view-deg>67.0</default-field-of-view-deg>
</config>
</view>
<!-- 機体毎のキー設定のヘルプメッセージ -->
<help>
<key>
<name>Ctrl-B</name>
<desc>toggle speed brake</desc>
</key>
</help>
</sim>
<!-- キー設定: まだ何もない -->
<input>
<keyboard>
</keyboard>
</input>
<!-- エンジンの初期状態設定: 2基共に起動 -->
<engines>
<engine n="0">
<running>true</running>
</engine>
<engine n="1">
<running>true</running>
</engine>
</engines>
<!-- 燃料設定: 130ガロンずつ搭載 -->
<consumables>
<fuel>
<tank n="0">
<level-gal_us archive="y">130</level-gal_us>
</tank>
<tank n="1">
<level-gal_us archive="y">130</level-gal_us>
</tank>
</fuel>
</consumables>
</PropertyList>
投票数:28
平均点:4.29
T-4 製作記 Step5: テストフライト
msg# 1.1.1.1.1.1.1.1.1.1.1.1.1
Tat
投稿数: 375
あけましておめでとうございます。今年も宜しくお願います。
さて、機体設定ファイルも作成できたので早速テストフライトしてみます。今回は 3D Model も少し充実して来た 2008/01/04 版を使用します。
テストフライトでは、重心位置、最大速度、離着陸距離、海面上昇率、静的/動的安定性、前方向での最小半径、機体の挙動などさまざまな項目があります。T-4 はブルーインパルスとして活躍しているので、幸いな事に航空ショーでの展示課目のデータ(高度、機体の向き及び速度)が書籍等で取得できます。従って今回のテストでは重心位置の確認をすると共に、航空ショーでの展示課目とモデルの挙動とを比較してみることにします。これ以外のテスト項目については別の機会にどこかに記述したいと思います。
それでは私がテストした項目と結果を順に紹介して行きます。
** 重心位置の確認
重心位置の確認は燃料をほぼ空にした状態と、満タンに積んだ状態で行います。空にした状態で機体が尻餅をついてしまうようであれば、重心位置が後ろ過ぎます。また、満タンにした状態で離陸に時間が掛かりすぎたり、機体の挙動がもっさりしすぎるようだと重心位置が前過ぎます。
*** 空燃料での重心位置の確認
まずは T-4 を指定してフライトギアを起動します。機体が利用できるようになったら、メニューから "File" >> "Browse Internal Properties" を選択して、プロパティーダイアログを表示します。
次にダイアログから /consumables/fuel/tank を選択し、level_gal_us を0 にします。同様に /consumables/fuel/tank[1] の level_fal_us も 0 にします。この状態で尻餅をつかなければ大丈夫でしょう。
*** 満タン時の離陸速度と距離
機体の燃料が満タンの時の離陸距離や速度が正しいかどうかで重心位置が前過ぎないかどうかを確認します。まずは "h" キーを押して現在位置の緯度、軽度を確認します。次に普通に離陸して140kts 付近で離陸します。機体高度が地上からの相対高度で10ft になった所で "p" ボタンで一時停止し、現在位置を確認します。最初に計測した位置と比較する事で離陸距離が計算できます。
距離計算には次のサイトが便利です。
http://vldb.gsi.go.jp/sokuchi/surveycalc/bl2stf.html
T-4 の場合、以下の様な結果になります。
出発点
北緯 35°33′34.6000″
東経 139°46′09.7000″
到着点
北緯 35°33′16.6000″
東経 139°46′23.8000″
離陸距離: 658.674(m)
手元にある T-4のデータと比較してみると、離陸距離は 610m となっています。燃料の搭載量が記述されていないので満タン時だと仮定すると、今回の 658.674m は8%の誤差ですので、そんなに大きく外れた値ではありません。ほんの少し後方に移動させるか、若干機首の重りを軽くする程度でカタログ値から±5% 以内になりそうです。
** 機体の挙動確認
T-4 の展示課目は色々あるのですが、今回はその中の2つについて確認して行きます。
*** Vertical climb roll
この展示課目は、高度 300 ft @ 400 - 430 kt で水平飛行中に 6-6.5G で引き起こして垂直上昇します。右に4.25回ロールして、9,000ft まで上昇した時に速度が 100-120kt となるものです。
フライトギアで実演してみますと、320 ft @ 400 kt で6Gで引き起こし 90°で上昇、4.5回ロールして 9250 ft に達した所で 120kt になりました。垂直距離の誤差が 2% ですから、かなり実機に近い近い値がでているといえるでしょう。上がりきった後の挙動がわからないのですが、120kt は失速寸前の状態です。そのまま背面ループで急降下して、なんとか失速を逃れました。
*** Low Angle Cuban
この課目はピッチを低く保ちながら滑走路上のわずか10数フィート上を加速して、速度が240kt のところで3-4Gで引き起こします。160-180kt で 700-800ft で垂直になり、そのまま背面になるまでループを維持し、-20°のピッチ角で1.5回ロールしながら降下し、300ft でレベルオフとなります。ループ頂点での速度と高度は 2500ft @ 150kt だそうです。
これについても実際にフライトギアでテストしてみる事にします。燃料を 200ガロンにした状態で 140kt で離陸後数ftを必死に維持し240kt まで加速。240kt で3.5G で引き起こします。1100ft @ 204kt で垂直になり、2700ft @ 145kt で背面になりました。-20°でロールしながら降下して 300ft では 425kt となりました。
実機のデータと比較すると 垂直時の高度/速度差が +300ft(+30%)/+24kt(+13%) と結構大きいですね。背面時には +200ft(+8%)/-5kt(+3%) ですから割と近い値になっています。このデータだけで判断すると、フライトギア上のT-4 の挙動は、引き起こし直後から垂直になるまでは速度の減少率が実機よりも小さく、垂直姿勢後は速度の減少率が実機よりも大きいことになります。つまるところピッチ変化に寄る揚力係数と抗力係数がずれている事が判ります。
このデータを得る為に10回程飛行しましたので、正直なところ私の操縦が下手だけなのかもしれません。垂直になる迄はもう少し G を掛けて速度を落とし、垂直から背面まではスティックを若干起こし気味にして速度低下を抑えれば課目データに記述された通りの飛行が可能なのかもしれませんが、結構難しいです。
** 考察ちっくなまとめ
2008/1/4 現在での T-4 の重心位置は、とりあえずフライトギアの世界では許容範囲内であることが判りました。重心や空力中心位置に関しては引き続き静的/動的安定性等も含めてテストしていく必要があります。
展示課目データに基づいた挙動に関しては実機の T-4 と比較して非常に小さい差 (Vertical climb roll で 2%)と、大きな差(Low Angle Cuban の垂直姿勢時の高度/速度差が +30%/+13%)との両方が計測できました。Vertical Climb Roll での誤差が小さいことからは、エンジンの推力係数と機体の抗力との関係が比較的実機に近くなっている事が推測されます。Vertical Climb に関してはスロットル全開と90°ピッチの維持とパイロットの操作が明確なので、実機との比較に適した課目だと言えます。
Low Angle Cuban の垂直時の誤差からは、引き起こし時の揚力/抗力が実機よりも少ないのではないかということを想像させます。但し、実機のパイロットがどのような操作を行っているか迄はデータから読み取れないので、実機にどれだけ近いかは想像の域を出ません。この意味では厳密な比較には詳細なパイロットの操作方法を知る必要があります。(あとは私がその操作方法をどの程度追従できるかですね)
実はこのデータは最初のテストフライトデータとしては出来過ぎです。というのも、実はこの状態にするまでには2週間程度の時間を要しています。最初にテストデータを記述した際にはもっともっさりしていました。機会があればその時のデータを利用して、作業場のページにでも最初に作成したモデルでのテストフライトデータをまとめてみたいと思います。多分まともに垂直ループはできないでしょう。また、その状態から何を変更して現在の状況になったかも記述して行きたいと思います。
さて、機体設定ファイルも作成できたので早速テストフライトしてみます。今回は 3D Model も少し充実して来た 2008/01/04 版を使用します。
テストフライトでは、重心位置、最大速度、離着陸距離、海面上昇率、静的/動的安定性、前方向での最小半径、機体の挙動などさまざまな項目があります。T-4 はブルーインパルスとして活躍しているので、幸いな事に航空ショーでの展示課目のデータ(高度、機体の向き及び速度)が書籍等で取得できます。従って今回のテストでは重心位置の確認をすると共に、航空ショーでの展示課目とモデルの挙動とを比較してみることにします。これ以外のテスト項目については別の機会にどこかに記述したいと思います。
それでは私がテストした項目と結果を順に紹介して行きます。
** 重心位置の確認
重心位置の確認は燃料をほぼ空にした状態と、満タンに積んだ状態で行います。空にした状態で機体が尻餅をついてしまうようであれば、重心位置が後ろ過ぎます。また、満タンにした状態で離陸に時間が掛かりすぎたり、機体の挙動がもっさりしすぎるようだと重心位置が前過ぎます。
*** 空燃料での重心位置の確認
まずは T-4 を指定してフライトギアを起動します。機体が利用できるようになったら、メニューから "File" >> "Browse Internal Properties" を選択して、プロパティーダイアログを表示します。
次にダイアログから /consumables/fuel/tank を選択し、level_gal_us を0 にします。同様に /consumables/fuel/tank[1] の level_fal_us も 0 にします。この状態で尻餅をつかなければ大丈夫でしょう。
*** 満タン時の離陸速度と距離
機体の燃料が満タンの時の離陸距離や速度が正しいかどうかで重心位置が前過ぎないかどうかを確認します。まずは "h" キーを押して現在位置の緯度、軽度を確認します。次に普通に離陸して140kts 付近で離陸します。機体高度が地上からの相対高度で10ft になった所で "p" ボタンで一時停止し、現在位置を確認します。最初に計測した位置と比較する事で離陸距離が計算できます。
距離計算には次のサイトが便利です。
http://vldb.gsi.go.jp/sokuchi/surveycalc/bl2stf.html
T-4 の場合、以下の様な結果になります。
出発点
北緯 35°33′34.6000″
東経 139°46′09.7000″
到着点
北緯 35°33′16.6000″
東経 139°46′23.8000″
離陸距離: 658.674(m)
手元にある T-4のデータと比較してみると、離陸距離は 610m となっています。燃料の搭載量が記述されていないので満タン時だと仮定すると、今回の 658.674m は8%の誤差ですので、そんなに大きく外れた値ではありません。ほんの少し後方に移動させるか、若干機首の重りを軽くする程度でカタログ値から±5% 以内になりそうです。
** 機体の挙動確認
T-4 の展示課目は色々あるのですが、今回はその中の2つについて確認して行きます。
*** Vertical climb roll
この展示課目は、高度 300 ft @ 400 - 430 kt で水平飛行中に 6-6.5G で引き起こして垂直上昇します。右に4.25回ロールして、9,000ft まで上昇した時に速度が 100-120kt となるものです。
フライトギアで実演してみますと、320 ft @ 400 kt で6Gで引き起こし 90°で上昇、4.5回ロールして 9250 ft に達した所で 120kt になりました。垂直距離の誤差が 2% ですから、かなり実機に近い近い値がでているといえるでしょう。上がりきった後の挙動がわからないのですが、120kt は失速寸前の状態です。そのまま背面ループで急降下して、なんとか失速を逃れました。
*** Low Angle Cuban
この課目はピッチを低く保ちながら滑走路上のわずか10数フィート上を加速して、速度が240kt のところで3-4Gで引き起こします。160-180kt で 700-800ft で垂直になり、そのまま背面になるまでループを維持し、-20°のピッチ角で1.5回ロールしながら降下し、300ft でレベルオフとなります。ループ頂点での速度と高度は 2500ft @ 150kt だそうです。
これについても実際にフライトギアでテストしてみる事にします。燃料を 200ガロンにした状態で 140kt で離陸後数ftを必死に維持し240kt まで加速。240kt で3.5G で引き起こします。1100ft @ 204kt で垂直になり、2700ft @ 145kt で背面になりました。-20°でロールしながら降下して 300ft では 425kt となりました。
実機のデータと比較すると 垂直時の高度/速度差が +300ft(+30%)/+24kt(+13%) と結構大きいですね。背面時には +200ft(+8%)/-5kt(+3%) ですから割と近い値になっています。このデータだけで判断すると、フライトギア上のT-4 の挙動は、引き起こし直後から垂直になるまでは速度の減少率が実機よりも小さく、垂直姿勢後は速度の減少率が実機よりも大きいことになります。つまるところピッチ変化に寄る揚力係数と抗力係数がずれている事が判ります。
このデータを得る為に10回程飛行しましたので、正直なところ私の操縦が下手だけなのかもしれません。垂直になる迄はもう少し G を掛けて速度を落とし、垂直から背面まではスティックを若干起こし気味にして速度低下を抑えれば課目データに記述された通りの飛行が可能なのかもしれませんが、結構難しいです。
** 考察ちっくなまとめ
2008/1/4 現在での T-4 の重心位置は、とりあえずフライトギアの世界では許容範囲内であることが判りました。重心や空力中心位置に関しては引き続き静的/動的安定性等も含めてテストしていく必要があります。
展示課目データに基づいた挙動に関しては実機の T-4 と比較して非常に小さい差 (Vertical climb roll で 2%)と、大きな差(Low Angle Cuban の垂直姿勢時の高度/速度差が +30%/+13%)との両方が計測できました。Vertical Climb Roll での誤差が小さいことからは、エンジンの推力係数と機体の抗力との関係が比較的実機に近くなっている事が推測されます。Vertical Climb に関してはスロットル全開と90°ピッチの維持とパイロットの操作が明確なので、実機との比較に適した課目だと言えます。
Low Angle Cuban の垂直時の誤差からは、引き起こし時の揚力/抗力が実機よりも少ないのではないかということを想像させます。但し、実機のパイロットがどのような操作を行っているか迄はデータから読み取れないので、実機にどれだけ近いかは想像の域を出ません。この意味では厳密な比較には詳細なパイロットの操作方法を知る必要があります。(あとは私がその操作方法をどの程度追従できるかですね)
実はこのデータは最初のテストフライトデータとしては出来過ぎです。というのも、実はこの状態にするまでには2週間程度の時間を要しています。最初にテストデータを記述した際にはもっともっさりしていました。機会があればその時のデータを利用して、作業場のページにでも最初に作成したモデルでのテストフライトデータをまとめてみたいと思います。多分まともに垂直ループはできないでしょう。また、その状態から何を変更して現在の状況になったかも記述して行きたいと思います。
投票数:18
平均点:3.89
T-4 製作記 Step6: 詳細な3Dモデルの制作 (その1)
msg# 1.1.1.1.1.1.1.1.1.1.1.1.1.1
Tat
投稿数: 375
一通りテストも行った事ですので、そろそろ詳細な3Dモデルの制作について説明したいと思います。ただ、このスレッドで3Dモデルの作成方法を記述するのは大変そうなので、これに関しては作業場にまとめる際に記述したいと思います。ここでは詳細な3Dモデルがあるものとして説明を進めて行きます。
3Dモデルの舵やギア等をフライトギア上で動作させるには、 フライトモデル上の設定とアニメーションの設定とが必要になります。JSBSim ではキーボードやジョイスティックから制御した舵やギアの状態をアニメーションに必要な情報へと変換してフライトギア上のプロパティに値を設定します。アニメーションの設定では、FDM で変換したプロパティの値を参照して、3Dモデル上の部品を回転させたり移動させたりするための設定を記述します。
** JSBSim を利用した機体のアニメーション関連プロパティについて
フライトギアではキーボードやジョイスティックで制御した舵やブレーキ、ギアなどの情報をプロパティとして保持しています(プロパティの内容はフライトギアのメニューの File >>Browse Internal Properties ダイアログから閲覧したり設定したりする事ができます)。JSBSim では 舵の状態は fcs/xxxxx-pos-rad や fcs/xxxx-pos-deg、あるいはfcs/xxxx-pos-norm などのプロパティに保持しています。ここで xxxx には left-aileron や elevator などの制御対象の名前が入るものとします。
一方、アニメーションを行うには surface-positions/xxxx-pos-norm 等のプロパティを参照して3Dモデル上のオブジェクトの位置や向きを調整します(norm はnormalized のことで -1 から 1 までの間に正規化された値が入ります)。JSBSim は fcs/xxxx-pos-norm というプロパティを surface-positions/xxxx-pos-norm というプロパティへと自動的に写像します。従って fcs/xxxx-pos-norm というプロパティに制御対象の位置情報を -1 から 1 の範囲で設定しておけばよいことになります。以下では T-4 におけるの位置情報の設定方法を示します。
※ 実際には、surface-positions/xxxx-pos-norm 以外の値を利用してアニメーションさせている機体もあります。しかし多くの機体は surface-positions/xxxx-pos-norm を参照していますので、ここでは慣例に従ってアニメーションの設定を行うものとします。
** T-4 におけるアニメーション対象となる位置情報の設定
T-4 では以下のものがアニメーションの対象となります。
- エレベータ
- 左右エルロン
- フラップ
- ラダー
- スピードブレーキ
- ランディングギア(出し入れ, サスペンション)
- キャノピ
これらの状態は残念ながら fcs/xxxx-pos-norm というプロパティに保持されているとは限りません。xxxx-pos-rad であったり xxx-pos-deg だったりします。前述したように3Dモデルのアニメーションに必要な位置情報は fcs/xxxx-pos-norm ですから、この値を設定するための処理をフライトモデルに記述する必要があります。これらの設定は flight_control タグ内にある aerosurface_scale タグに記述します。
*** エレベータの位置情報
エレベータの位置情報は fcs/elevator-pos-norm というプロパティに設定します。Aeromatic で自動生成したフライトモデルには既にエレベータ用の位置情報への変換処理が記述されていますので、ここでは何も記述する必要はありません。
*** 左右エルロンの位置情報
左右エルロンの位置情報はそれぞれ fcs/left-aileron-pos-norm 及び fcs/right-aileron-pos-norm プロパティに設定します。Aeromatic が生成した 左エルロン制御の記述は以下のようになっています。
この記述により、左エルロンは -0.35rad 〜 0.35rad (-20°〜20°))の範囲で制御されることになります。アニメーションに必要な left-aileron-pos-norm を設定する為には、以下の記述を追加します。
この記述は fcs/left-aileron-pos-deg (-20〜15の範囲)を -1〜 0.75に変換して fcs/left-aileron-pos-norm に設定することを意味しています。T-4 のエルロン可動範囲は -20°から 15°までですのでこのような変換になります。本来なら素直に fcs/left-aileron-pos-rad から fcs/left-aileron-pos-norm に変換する方が説明上判りやすいのですが、degree 単位の方が理解しやすいのでこのようにしています。ちなみに fcs/aileron-pos-deg は JSBSim 内部で fcs/aileron-pos-rad から自動生成されます。right-aileron に関しても同様に記述しておけば良いです。
*** フラップの位置情報
フラップも Aeromatic により fcs/flap-pos-norm が設定されているため、何も記述する必要はありません。
*** ラダーの位置情報
Aeromatic により自動生成された状態では、ラダーは ±20°の範囲で動作します。しかしながら T-4 は最大±15°の動作範囲です。そこで、自動生成された設定を以下のように変更しました。
最初の aerosurface_scale では ±15°の可動範囲であることを指定しています。次の aerosurface_scale タグでは fcs/rudder-pos-deg の値を ±1の範囲で正規化して rudder-pos-norm に設定しています。
エルロンと同様に、rad ではなく deg から正規化しています。
*** スピードブレーキ
エレベータと同様、スピードブレーキも既に Aeromatic で fcs/speedbrake-pos-norm に正規化されているので記述する必要はありません。
*** ランディングギアの位置情報
ランディングギアの位置情報は2種類あります。ギアを出し入れする時の位置情報と、サスペンションの伸縮に関する位置情報です。これらの値は gear/gear[n]/position-norm, gear/gear[n]/compression-norm で表現されています。T-4 にはノーズギアと2つのメインギアがありまして、n=0 はノーズギアを 1 は左メインギアを、2は右メインギアを表しています。これらのプロパティの値は JSBSim により自動的に設定されるため、記述する必要はありません。
*** キャノピの位置情報
キャノピの位置情報に関しては JSBSim のフライトモデルではなく、Nasal スクリプトとして設定しています。フライトギアにはキャノピやドアの動作を処理するための Nasal スクリプトがベースパッケージに含まれています。(T-4 用の Nasal スクリプトは T-4/Nasa/jwarbirds.nas に記述されています)。これを利用すると、キャノピの位置情報は controls/canopy/position-norm というプロパティに 0〜1の間で設定されます。参考迄に jwarbirds.nas に記述されたキャノピクラスを示します。
ここでは Nasal スクリプトに関する説明は割愛しますが、T-4-jsbsim-set.xml のファイルで Ctrl-D キーが押されると toggleOpenClose() メソッドが呼び出されるように設定しているため、フライトギア内で勝手にキャノピの位置情報を設定してくれます。
この段階でアニメーション設定ファイルを作成するための準備は整いました。
今回はとりあえずここ迄にしておきます。次回はアニメーション設定ファイルについて説明します。
3Dモデルの舵やギア等をフライトギア上で動作させるには、 フライトモデル上の設定とアニメーションの設定とが必要になります。JSBSim ではキーボードやジョイスティックから制御した舵やギアの状態をアニメーションに必要な情報へと変換してフライトギア上のプロパティに値を設定します。アニメーションの設定では、FDM で変換したプロパティの値を参照して、3Dモデル上の部品を回転させたり移動させたりするための設定を記述します。
** JSBSim を利用した機体のアニメーション関連プロパティについて
フライトギアではキーボードやジョイスティックで制御した舵やブレーキ、ギアなどの情報をプロパティとして保持しています(プロパティの内容はフライトギアのメニューの File >>Browse Internal Properties ダイアログから閲覧したり設定したりする事ができます)。JSBSim では 舵の状態は fcs/xxxxx-pos-rad や fcs/xxxx-pos-deg、あるいはfcs/xxxx-pos-norm などのプロパティに保持しています。ここで xxxx には left-aileron や elevator などの制御対象の名前が入るものとします。
一方、アニメーションを行うには surface-positions/xxxx-pos-norm 等のプロパティを参照して3Dモデル上のオブジェクトの位置や向きを調整します(norm はnormalized のことで -1 から 1 までの間に正規化された値が入ります)。JSBSim は fcs/xxxx-pos-norm というプロパティを surface-positions/xxxx-pos-norm というプロパティへと自動的に写像します。従って fcs/xxxx-pos-norm というプロパティに制御対象の位置情報を -1 から 1 の範囲で設定しておけばよいことになります。以下では T-4 におけるの位置情報の設定方法を示します。
※ 実際には、surface-positions/xxxx-pos-norm 以外の値を利用してアニメーションさせている機体もあります。しかし多くの機体は surface-positions/xxxx-pos-norm を参照していますので、ここでは慣例に従ってアニメーションの設定を行うものとします。
** T-4 におけるアニメーション対象となる位置情報の設定
T-4 では以下のものがアニメーションの対象となります。
- エレベータ
- 左右エルロン
- フラップ
- ラダー
- スピードブレーキ
- ランディングギア(出し入れ, サスペンション)
- キャノピ
これらの状態は残念ながら fcs/xxxx-pos-norm というプロパティに保持されているとは限りません。xxxx-pos-rad であったり xxx-pos-deg だったりします。前述したように3Dモデルのアニメーションに必要な位置情報は fcs/xxxx-pos-norm ですから、この値を設定するための処理をフライトモデルに記述する必要があります。これらの設定は flight_control タグ内にある aerosurface_scale タグに記述します。
*** エレベータの位置情報
エレベータの位置情報は fcs/elevator-pos-norm というプロパティに設定します。Aeromatic で自動生成したフライトモデルには既にエレベータ用の位置情報への変換処理が記述されていますので、ここでは何も記述する必要はありません。
*** 左右エルロンの位置情報
左右エルロンの位置情報はそれぞれ fcs/left-aileron-pos-norm 及び fcs/right-aileron-pos-norm プロパティに設定します。Aeromatic が生成した 左エルロン制御の記述は以下のようになっています。
<aerosurface_scale name="Left Aileron Control">
<input>fcs/roll-trim-sum</input>
<range>
<min> -0.35 </min>
<max> 0.35 </max>
</range>
<output>fcs/left-aileron-pos-rad</output>
</aerosurface_scale>
この記述により、左エルロンは -0.35rad 〜 0.35rad (-20°〜20°))の範囲で制御されることになります。アニメーションに必要な left-aileron-pos-norm を設定する為には、以下の記述を追加します。
<aerosurface_scale name="Left Aileron position normalized">
<input>fcs/left-aileron-pos-deg</input>
<domain>
<min>-20</min>
<max>15</max>
</domain>
<range>
<min>-1</min>
<max>0.75</max>
</range>
<output>fcs/left-aileron-pos-norm</output>
</aerosurface_scale>
この記述は fcs/left-aileron-pos-deg (-20〜15の範囲)を -1〜 0.75に変換して fcs/left-aileron-pos-norm に設定することを意味しています。T-4 のエルロン可動範囲は -20°から 15°までですのでこのような変換になります。本来なら素直に fcs/left-aileron-pos-rad から fcs/left-aileron-pos-norm に変換する方が説明上判りやすいのですが、degree 単位の方が理解しやすいのでこのようにしています。ちなみに fcs/aileron-pos-deg は JSBSim 内部で fcs/aileron-pos-rad から自動生成されます。right-aileron に関しても同様に記述しておけば良いです。
*** フラップの位置情報
フラップも Aeromatic により fcs/flap-pos-norm が設定されているため、何も記述する必要はありません。
*** ラダーの位置情報
Aeromatic により自動生成された状態では、ラダーは ±20°の範囲で動作します。しかしながら T-4 は最大±15°の動作範囲です。そこで、自動生成された設定を以下のように変更しました。
<aerosurface_scale name="Rudder Control">
<input>fcs/rudder-command-sum</input>
<range>
<min> -0.25 </min>
<max> 0.25 </max>
</range>
<output>fcs/rudder-pos-rad</output>
</aerosurface_scale>
<aerosurface_scale name="Rudder position normalized">
<input>fcs/rudder-pos-deg</input>
<domain>
<min>-15</min>
<max>15</max>
</domain>
<range>
<min>-1</min>
<max>1</max>
</range>
<output>fcs/rudder-pos-norm</output>
</aerosurface_scale>
エルロンと同様に、rad ではなく deg から正規化しています。
*** スピードブレーキ
エレベータと同様、スピードブレーキも既に Aeromatic で fcs/speedbrake-pos-norm に正規化されているので記述する必要はありません。
*** ランディングギアの位置情報
ランディングギアの位置情報は2種類あります。ギアを出し入れする時の位置情報と、サスペンションの伸縮に関する位置情報です。これらの値は gear/gear[n]/position-norm, gear/gear[n]/compression-norm で表現されています。T-4 にはノーズギアと2つのメインギアがありまして、n=0 はノーズギアを 1 は左メインギアを、2は右メインギアを表しています。これらのプロパティの値は JSBSim により自動的に設定されるため、記述する必要はありません。
*** キャノピの位置情報
キャノピの位置情報に関しては JSBSim のフライトモデルではなく、Nasal スクリプトとして設定しています。フライトギアにはキャノピやドアの動作を処理するための Nasal スクリプトがベースパッケージに含まれています。(T-4 用の Nasal スクリプトは T-4/Nasa/jwarbirds.nas に記述されています)。これを利用すると、キャノピの位置情報は controls/canopy/position-norm というプロパティに 0〜1の間で設定されます。参考迄に jwarbirds.nas に記述されたキャノピクラスを示します。
#
# Canopy class - this is not an observer
#
Canopy = {
new : func {
var obj = { parents : [Canopy],
canopy : aircraft.door.new("/controls/canopy", 2) };
setlistener("/controls/canopy/opened",
func { obj.toggleOpenClose(cmdarg().getBoolValue()); }, 1);
return obj;
},
toggleOpenClose : func(state) {
me.canopy.move(state);
}
};
この段階でアニメーション設定ファイルを作成するための準備は整いました。
今回はとりあえずここ迄にしておきます。次回はアニメーション設定ファイルについて説明します。
投票数:18
平均点:5.56
T-4 製作記 Step6: 詳細な3Dモデルの制作 (その2)
msg# 1.1.1.1.1.1.1.1.1.1.1.1.1.1.1
Tat
投稿数: 375
では、アニメーション設定ファイルの説明に移ります。
今回はアニメーションの説明をする都合上、 T-4 の2008/01/14版を基に説明して行きます。
アニメーション設定ファイル(というよりも 3Dモデルの設定ファイル)は、
になります。ファイルの最初の方は、こんな感じになっています。
chordinae system という typo は放置しておくとして、FlightGear ではおなじみの XML ファイルです。また PropertyList タグで始まるのも FlightGear の他の設定ファイルと同じです。PropertyList のすぐ下にある <path> タグでは 3Dモデルの AC3D ファイルを指定します。そして、その次の行から始まるのが、今回説明するアニメーション定義となります。アニメーションの種類には rotate, translate, interpolation などがありますが、1つの書き方さえ覚えてしまえば大体なにをしているかの見当がつくようになります。そこで、今回はまず animation タグの構成要素について左エルロンの例を説明します。より詳細なアニメーションについての設定については、$FG_ROOT/Docs/model-howto.html を参照ください。
** animation タグ
FlightGear 内のアニメーション定義を行います。内包するタグには type, property, factor, center, axis 等があります。このタグ内に記述した情報により 3Dモデル上のオブジェクト、フライトモデル上のオブジェクトの位置や状態、アニメーションの中心位置、回転軸などを記述します。では、内包するタグ(animation タグの属性)の説明に移ります。
*** type 属性
アニメーションの種別を記述します。値には rotate(回転), translate(移動), interpolation(補間), billboard, scale, blend, select などがありますが、良く利用するのは rotate, translate, interpolation, select でしょう。この値を none にするとアニメーションは行わず、object-name 属性に記述されたオブジェクトをグルーピングを行います。ギアの構成オブジェクトの複雑なアニメーションなどを記述する時などは、グルーピングが便利でしょう。
*** object-name 属性
アニメーションを行う AC3D モデルのオブジェクト名です。複数記述する事ができます。
*** property 属性
object-name のアニメーションに関連付ける フライトギアのプロパティを指定します。エルロン等のオブジェクトは surface-positions/xxxx-pos-norm に保持されています。上述した T-4.xml の例では左エルロンのオブジェクトである aileron.left は
という風に surface-positions/left-aileron-pos-norm に関連づけられます。この値は -1 から 1 までの範囲で変化します。なお、左エルロンの場合は -1 から 0.75 の間で変化します。(JSBSim のフライトモデルでそう定義しました)
※ アニメーション定義の属性とフライトギアの属性とを区別する為に、前者は属性とし、後者はプロパティとします。
*** factor 属性
T-4の場合、左エルロンは -11.75°〜15°の間で変化しますが、property 属性は -1 から 0.75 の間で変化するようになっています。factor 属性では property 属性の値を回転する際の角度に変換する際の乗数を指定します。左エルロンの場合 -1 から 0.75 を -11.75 から 15 にマップするので、乗数は -15 となります。
*** center 属性
回転軸の中心点を x-m, y-m, z-m のサブ属性で指定します。この座標は AC3D 又は Blender で確認してください。T-4の左エルロンでは付け根の機体中心側である (1.8, -3.21, 0.23) を指定しています。ちなみに AC3D の y軸、z軸はフライトギア上では z軸、y軸にそれぞれマッピングされていますので注意してください。
*** axis 属性
回転軸を指定します。左エルロンの場合、center 属性で指定した座標(エルロンの内側の端)とエルロンの外側の端とを結ぶ直線の傾きになります。Blender ではこの軸を自動計算してくれるスクリプトがあるようですが、AC3D には無いので、2点の座標から割り出します。単純に2点間を結ぶベクトルとして記述しても構いません(多分)。
アニメーションタグを指定したら、早速フライトギア上で動作するかを確認してみましょう。正しく記述できていればエルロンを操作したらオブジェクトも回転するはずです。軸や中心が間違えていたら面白い動きをするでしょう。良くある間違いは axis のベクトルを逆向きにすることと、y軸とz軸とを入れ替えてしまうといったものです。
説明を簡単にするために、今回は左エルロン以外のオブジェクトのアニメーションは省略しました。機体を開発する際に一番複雑なアニメーションはランディングギアの収納です。これに関しては参考になるリンクを紹介しておきます。
- Animating Landing Gear Retraction in FGFS: A Tutorial (英文)
今回はアニメーションの説明をする都合上、 T-4 の2008/01/14版を基に説明して行きます。
アニメーション設定ファイル(というよりも 3Dモデルの設定ファイル)は、
T-4/Models/T-4.xml
<?xml version="1.0"?>
<!-- chordinate system :-fwd/back+, y:-LR+, z:-down/up+ -->
<PropertyList>
<path>T-4.ac</path>
<!-- ailerons -->
<animation>
<type>rotate</type>
<object-name>aileron.left</object-name>
<property>surface-positions/left-aileron-pos-norm</property>
<factor>-15</factor>
<center>
<x-m>1.8</x-m>
<y-m>-3.21</y-m>
<z-m>0.23</z-m>
</center>
<axis>
<x> 0.260</x>
<y>-0.955</y>
<z>-0.135</z>
</axis>
</animation>
(以下略)
chordinae system という typo は放置しておくとして、FlightGear ではおなじみの XML ファイルです。また PropertyList タグで始まるのも FlightGear の他の設定ファイルと同じです。PropertyList のすぐ下にある <path> タグでは 3Dモデルの AC3D ファイルを指定します。そして、その次の行から始まるのが、今回説明するアニメーション定義となります。アニメーションの種類には rotate, translate, interpolation などがありますが、1つの書き方さえ覚えてしまえば大体なにをしているかの見当がつくようになります。そこで、今回はまず animation タグの構成要素について左エルロンの例を説明します。より詳細なアニメーションについての設定については、$FG_ROOT/Docs/model-howto.html を参照ください。
** animation タグ
FlightGear 内のアニメーション定義を行います。内包するタグには type, property, factor, center, axis 等があります。このタグ内に記述した情報により 3Dモデル上のオブジェクト、フライトモデル上のオブジェクトの位置や状態、アニメーションの中心位置、回転軸などを記述します。では、内包するタグ(animation タグの属性)の説明に移ります。
*** type 属性
アニメーションの種別を記述します。値には rotate(回転), translate(移動), interpolation(補間), billboard, scale, blend, select などがありますが、良く利用するのは rotate, translate, interpolation, select でしょう。この値を none にするとアニメーションは行わず、object-name 属性に記述されたオブジェクトをグルーピングを行います。ギアの構成オブジェクトの複雑なアニメーションなどを記述する時などは、グルーピングが便利でしょう。
*** object-name 属性
アニメーションを行う AC3D モデルのオブジェクト名です。複数記述する事ができます。
*** property 属性
object-name のアニメーションに関連付ける フライトギアのプロパティを指定します。エルロン等のオブジェクトは surface-positions/xxxx-pos-norm に保持されています。上述した T-4.xml の例では左エルロンのオブジェクトである aileron.left は
<property>surface-positions/left-aileron-pos-norm</property>
という風に surface-positions/left-aileron-pos-norm に関連づけられます。この値は -1 から 1 までの範囲で変化します。なお、左エルロンの場合は -1 から 0.75 の間で変化します。(JSBSim のフライトモデルでそう定義しました)
※ アニメーション定義の属性とフライトギアの属性とを区別する為に、前者は属性とし、後者はプロパティとします。
*** factor 属性
T-4の場合、左エルロンは -11.75°〜15°の間で変化しますが、property 属性は -1 から 0.75 の間で変化するようになっています。factor 属性では property 属性の値を回転する際の角度に変換する際の乗数を指定します。左エルロンの場合 -1 から 0.75 を -11.75 から 15 にマップするので、乗数は -15 となります。
*** center 属性
回転軸の中心点を x-m, y-m, z-m のサブ属性で指定します。この座標は AC3D 又は Blender で確認してください。T-4の左エルロンでは付け根の機体中心側である (1.8, -3.21, 0.23) を指定しています。ちなみに AC3D の y軸、z軸はフライトギア上では z軸、y軸にそれぞれマッピングされていますので注意してください。
*** axis 属性
回転軸を指定します。左エルロンの場合、center 属性で指定した座標(エルロンの内側の端)とエルロンの外側の端とを結ぶ直線の傾きになります。Blender ではこの軸を自動計算してくれるスクリプトがあるようですが、AC3D には無いので、2点の座標から割り出します。単純に2点間を結ぶベクトルとして記述しても構いません(多分)。
アニメーションタグを指定したら、早速フライトギア上で動作するかを確認してみましょう。正しく記述できていればエルロンを操作したらオブジェクトも回転するはずです。軸や中心が間違えていたら面白い動きをするでしょう。良くある間違いは axis のベクトルを逆向きにすることと、y軸とz軸とを入れ替えてしまうといったものです。
説明を簡単にするために、今回は左エルロン以外のオブジェクトのアニメーションは省略しました。機体を開発する際に一番複雑なアニメーションはランディングギアの収納です。これに関しては参考になるリンクを紹介しておきます。
- Animating Landing Gear Retraction in FGFS: A Tutorial (英文)
投票数:20
平均点:3.00
フライトモデルの修正
msg# 1.2
Tat
投稿数: 375
T-4 のフライトモデルを修正して cvs にコミットしました。
お気づきの方もいらっしゃったかもしれませんが、ラダーによるロールモーメントの方向が逆でしたので、T-4 の翼はアンヘドラル(翼根より翼端が低い翼)なので、ラダーを操作した時のロールモーメントはダイヘドラル翼(翼根より翼端が高い)のゼロ戦と逆になります。ゼロ戦はラダーを左に切ると左向きに、つまり反時計回りにロールモーメントが発生します。これに対して T-4 や F-16 などの翼は右向き、つまり時計回りのロールモーメントとなります。
ラダー操作時のダイヘドラル翼によるロールモーメントの説明は
MIT Open Course - Basic Aircraft Design Rules の Dihedral Sizing – Roll Control を参照ください。図を見れば原理が判ります。アンヘドラル翼の場合は、ロールモーメントがこの逆になります。(図を上下反転させた状態になります)。Yasim モデルでも 主翼の dihedral パラメタを負の値にするとラダーによるロールモーメントが逆になります。ゼロ戦と helijah の alpha-jet で試してみるとよいでしょう。
T-4 の機体は、そのうち本家のダウンロードサイトの T-4 も更新されるでしょうが、それまではT-4.xml の 890 行目辺りを以下のように変更してください。(<!-- HERE --> の部分だけでいいです。)
ただ、0.1 は大きいかもしれないので、ちょっとずつ調整してみます。
紙飛行機でちょっと実験してみたのですが、アンヘドラルな機体はそもそも安定せず、すぐに180°ロールしてしまいます。また、T-4 のビデオを見てもラダーだけを操作するような動きはないため(通常はそんな動作はしないはずなので)参考になる動きが見つかりません。
いや、それにしても航空力学は奥が深いですね。
お気づきの方もいらっしゃったかもしれませんが、ラダーによるロールモーメントの方向が逆でしたので、T-4 の翼はアンヘドラル(翼根より翼端が低い翼)なので、ラダーを操作した時のロールモーメントはダイヘドラル翼(翼根より翼端が高い)のゼロ戦と逆になります。ゼロ戦はラダーを左に切ると左向きに、つまり反時計回りにロールモーメントが発生します。これに対して T-4 や F-16 などの翼は右向き、つまり時計回りのロールモーメントとなります。
ラダー操作時のダイヘドラル翼によるロールモーメントの説明は
MIT Open Course - Basic Aircraft Design Rules の Dihedral Sizing – Roll Control を参照ください。図を見れば原理が判ります。アンヘドラル翼の場合は、ロールモーメントがこの逆になります。(図を上下反転させた状態になります)。Yasim モデルでも 主翼の dihedral パラメタを負の値にするとラダーによるロールモーメントが逆になります。ゼロ戦と helijah の alpha-jet で試してみるとよいでしょう。
T-4 の機体は、そのうち本家のダウンロードサイトの T-4 も更新されるでしょうが、それまではT-4.xml の 890 行目辺りを以下のように変更してください。(<!-- HERE --> の部分だけでいいです。)
<function name="aero/coefficient/Cldr">
<description>Roll_moment_due_to_rudder</description>
<product>
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>metrics/bw-ft</property>
<property>fcs/rudder-pos-rad</property>
<value>0.1</value> <!-- HERE -->
</product>
</function>
ただ、0.1 は大きいかもしれないので、ちょっとずつ調整してみます。
紙飛行機でちょっと実験してみたのですが、アンヘドラルな機体はそもそも安定せず、すぐに180°ロールしてしまいます。また、T-4 のビデオを見てもラダーだけを操作するような動きはないため(通常はそんな動作はしないはずなので)参考になる動きが見つかりません。
いや、それにしても航空力学は奥が深いですね。
投票数:23
平均点:5.22
Re: フライトモデルの修正
msg# 1.2.1
hide
居住地: 兵庫県
投稿数: 650
hideです。こんにちは。
Tatさんの「T-4制作記」を、楽しく拝読しております。私にはとても
手が届かないレベルの内容ですが、お陰様でFlightGearの航空機
が、どうやって飛んでいるのか、少しでも垣間見ることができます。
22日にお書きになっておられた、ラダーが発生するロール・モーメン
トの向きの問題は、これまであまり考えたことがなかったので、非常に
面白く拝読しました。
…なるほど! 例えばゼロ戦で左ラダーを踏むと、機首が左に振れて
スキッド(外滑り)を起こし、右から風が当たって、上反角(dihedral
angle)効果で右翼の揚力が増し、左向きロール・モーメントが発生す
る…というわけですね。ヨーの角速度によって発生する、左翼と右翼の
気速(=揚力)の差も、同時に影響するのでしょう。
しかし、下反角(anhedral angle)を持つ後退翼機の場合、ラダー操
作に対するロール応答が反転するかどうかは、一概には言えないような
気がしました。
と言いますのも後退翼は、たとえ上反角がゼロでも、ロール復元力を
発生します。また高翼機は、スリップ(内滑り)を起こした場合、胴体
側面が空気をせき止めるため、スリップ側の主翼下面の気圧が上がって
揚力が増え、ロール復元力を発生するとの指摘もあります。
従って、高翼や肩翼の後退翼機では、ロール復元力が過大となる場合
があり、これを相殺するため、機種によっては下反角を付けると聞いた
ことがあります。またロール復元力は、垂直尾翼の効き具合(風見効果
の大小)によっても変化します。
こう考えてきますと、ロール復元力の大小や、機体固有のロール安定
性が正か負かは、実際は主翼の取り付け角度だけでは、判断できそうに
ありません。となりますと、ラダー操作で発生するロール・モーメント
の向きも、上反角効果が絡んでいますので、機体の外観だけでは決まら
ないのではないか、と感じました。
ただT-4については、少々ネットを調べましても、詳しいデータが得ら
れませんので、実際のところは私には分かりません。以上の指摘が的は
ずれでしたら、どうかご容赦下さい。今後も「制作記」を楽しみにして
おります。
Tatさんの「T-4制作記」を、楽しく拝読しております。私にはとても
手が届かないレベルの内容ですが、お陰様でFlightGearの航空機
が、どうやって飛んでいるのか、少しでも垣間見ることができます。
22日にお書きになっておられた、ラダーが発生するロール・モーメン
トの向きの問題は、これまであまり考えたことがなかったので、非常に
面白く拝読しました。
…なるほど! 例えばゼロ戦で左ラダーを踏むと、機首が左に振れて
スキッド(外滑り)を起こし、右から風が当たって、上反角(dihedral
angle)効果で右翼の揚力が増し、左向きロール・モーメントが発生す
る…というわけですね。ヨーの角速度によって発生する、左翼と右翼の
気速(=揚力)の差も、同時に影響するのでしょう。
しかし、下反角(anhedral angle)を持つ後退翼機の場合、ラダー操
作に対するロール応答が反転するかどうかは、一概には言えないような
気がしました。
と言いますのも後退翼は、たとえ上反角がゼロでも、ロール復元力を
発生します。また高翼機は、スリップ(内滑り)を起こした場合、胴体
側面が空気をせき止めるため、スリップ側の主翼下面の気圧が上がって
揚力が増え、ロール復元力を発生するとの指摘もあります。
従って、高翼や肩翼の後退翼機では、ロール復元力が過大となる場合
があり、これを相殺するため、機種によっては下反角を付けると聞いた
ことがあります。またロール復元力は、垂直尾翼の効き具合(風見効果
の大小)によっても変化します。
こう考えてきますと、ロール復元力の大小や、機体固有のロール安定
性が正か負かは、実際は主翼の取り付け角度だけでは、判断できそうに
ありません。となりますと、ラダー操作で発生するロール・モーメント
の向きも、上反角効果が絡んでいますので、機体の外観だけでは決まら
ないのではないか、と感じました。
ただT-4については、少々ネットを調べましても、詳しいデータが得ら
れませんので、実際のところは私には分かりません。以上の指摘が的は
ずれでしたら、どうかご容赦下さい。今後も「制作記」を楽しみにして
おります。
投票数:23
平均点:4.35
Re: フライトモデルの修正
msg# 1.2.1.1
Tat
投稿数: 375
T-4のラダー操作時のロールモーメントに関して、hideさんの話を読んでから、なんか忘れている気がしてきましたので真面目に考えています。
hide さんのおっしゃる通り、ラダー操作時のロールモーメントには様々な要因が絡んでいます。ロールモーメントに影響を与えるのはエルロン操作、上反角効果(高翼によるもの、後退角によるもの、物理的な上反角を含む)、ヨーレート、垂直尾翼によるサイドフォース、ロールダンピング、ラダーの揚力(ロール軸より上にあるラダーを右に切ると左に回ろうとする)、スキッド・スリップ時の翼面→胴体→翼面の空気の流れ、ロール慣性力....という感じでしょうか。まだありそうです。
FlightLab - Lateral Directional Stability によると、左ラダー操作時の左ヨーで生じる後退角によるロールモーメントは、右翼が上がる方向、つまり左に曲がる方向のモーメントとなります。うーん、こいつをすっかり忘れていましたね。いかんいかん。なお、このこのモーメントはロール中心軸(x軸)より上方にあるラダーの揚力による右向きのモーメントと逆向きなので、ある程度弱まるはずです。また、私が述べた下反角による右向きのロールモーメントでもある程度弱められるはずです。さらに、ロール慣性力でも弱められます。までも左にロールしようとするんでしょうね。
さて、左ラダー操作時に後退角で発生した左向きのロールモーメントにより機体は左に傾きます。その直後に主翼付近は重力で左にスリップします。で、復元力が発生して元にもどろうとします。 FlightLab - Effective Dihedral のデータを利用して、高翼による「みなし上反角」を5°、ある速度での後退角による「みなし上反角」(揚力で変わります)を20°と仮定します。T-4 のアンヘドラル(負の上反角)7°を差し引くと、主翼全体のみなし上反角は 20 + 5 - 7 =18°となります。結構大きな上反角ですので、後退角によるロールモーメントに対する復元力として十分に働きますね。
まとめると、左ラダーを操作した際にロールモーメントに影響を与えるものは、
- ヨー発生時の後退角によるロールモーメント(左)
- ラダーの揚力によるロールモーメント(右)
- スリップ時の下反角によるロールモーメント(右)
- ロール方向の慣性力(上3つの合成モーメントを止めようとする)
- ロール開始後の上反角効果による復元力(右)
これらの値がなかなか求められないのですが、直感的に考えてそんなにロールしないんではないかという気がしてきました。
ちなみに、「世界の傑作機 No.116 T-2」によると『T-2で特筆すべき特性の1つとして、ラダー・ピックアップ・ロールがある。これはラダーを踏み込んだ際に生じるヨーにより発生するロールを利用するもので、後退角(または上反角)を有する航空機に顕著な減少である。通常はロールモーメントが生じる時点で復元力が働き(横の正安定性効果)、ロールまでには発展しないことが多いが、T-2のように翼が小さく、胴体にマス(質量)が集中している機体では、見事に360°のロールが可能となる。すなわち右にロールしたければ、右のラダーを強く踏み込むだけで右のヨーが発生した直後に右ロールが発生する。この間スポイラーは全く使用する必要がなく、ラダーのみでロールの制御が可能である』とのことです。
この記述が正しいとすると、『通常は.....ロールまでには発展しない』という部分が今までの長ーい説明を補足してくれています。
んー、やはり正確なデータがないと文献があっても全然計算できませんね。なんかむず痒いです。色々考えているうちに、混乱してどこかで間違っているかもしれません。(航空力学の専門家の方や実際の挙動を知っている方に話を聞いてみたいですね。) T-4 に関する技術的な文献は、私の知る限り1つしかないのですが、ブルーインパルスの風防とスモークに関するもので、この辺の話はありませんでした。国会図書館でも調べてみましたが.... ないですね。
hide さんのおっしゃる通り、ラダー操作時のロールモーメントには様々な要因が絡んでいます。ロールモーメントに影響を与えるのはエルロン操作、上反角効果(高翼によるもの、後退角によるもの、物理的な上反角を含む)、ヨーレート、垂直尾翼によるサイドフォース、ロールダンピング、ラダーの揚力(ロール軸より上にあるラダーを右に切ると左に回ろうとする)、スキッド・スリップ時の翼面→胴体→翼面の空気の流れ、ロール慣性力....という感じでしょうか。まだありそうです。
FlightLab - Lateral Directional Stability によると、左ラダー操作時の左ヨーで生じる後退角によるロールモーメントは、右翼が上がる方向、つまり左に曲がる方向のモーメントとなります。うーん、こいつをすっかり忘れていましたね。いかんいかん。なお、このこのモーメントはロール中心軸(x軸)より上方にあるラダーの揚力による右向きのモーメントと逆向きなので、ある程度弱まるはずです。また、私が述べた下反角による右向きのロールモーメントでもある程度弱められるはずです。さらに、ロール慣性力でも弱められます。までも左にロールしようとするんでしょうね。
さて、左ラダー操作時に後退角で発生した左向きのロールモーメントにより機体は左に傾きます。その直後に主翼付近は重力で左にスリップします。で、復元力が発生して元にもどろうとします。 FlightLab - Effective Dihedral のデータを利用して、高翼による「みなし上反角」を5°、ある速度での後退角による「みなし上反角」(揚力で変わります)を20°と仮定します。T-4 のアンヘドラル(負の上反角)7°を差し引くと、主翼全体のみなし上反角は 20 + 5 - 7 =18°となります。結構大きな上反角ですので、後退角によるロールモーメントに対する復元力として十分に働きますね。
まとめると、左ラダーを操作した際にロールモーメントに影響を与えるものは、
- ヨー発生時の後退角によるロールモーメント(左)
- ラダーの揚力によるロールモーメント(右)
- スリップ時の下反角によるロールモーメント(右)
- ロール方向の慣性力(上3つの合成モーメントを止めようとする)
- ロール開始後の上反角効果による復元力(右)
これらの値がなかなか求められないのですが、直感的に考えてそんなにロールしないんではないかという気がしてきました。
ちなみに、「世界の傑作機 No.116 T-2」によると『T-2で特筆すべき特性の1つとして、ラダー・ピックアップ・ロールがある。これはラダーを踏み込んだ際に生じるヨーにより発生するロールを利用するもので、後退角(または上反角)を有する航空機に顕著な減少である。通常はロールモーメントが生じる時点で復元力が働き(横の正安定性効果)、ロールまでには発展しないことが多いが、T-2のように翼が小さく、胴体にマス(質量)が集中している機体では、見事に360°のロールが可能となる。すなわち右にロールしたければ、右のラダーを強く踏み込むだけで右のヨーが発生した直後に右ロールが発生する。この間スポイラーは全く使用する必要がなく、ラダーのみでロールの制御が可能である』とのことです。
この記述が正しいとすると、『通常は.....ロールまでには発展しない』という部分が今までの長ーい説明を補足してくれています。
んー、やはり正確なデータがないと文献があっても全然計算できませんね。なんかむず痒いです。色々考えているうちに、混乱してどこかで間違っているかもしれません。(航空力学の専門家の方や実際の挙動を知っている方に話を聞いてみたいですね。) T-4 に関する技術的な文献は、私の知る限り1つしかないのですが、ブルーインパルスの風防とスモークに関するもので、この辺の話はありませんでした。国会図書館でも調べてみましたが.... ないですね。
投票数:21
平均点:3.81
Re: フライトモデルの修正
msg# 1.2.1.1.1
hide
居住地: 兵庫県
投稿数: 650
hideです。
ラダーとロールの関係は、私が想像していたより、ずっと複雑なようですね。問題点を詳細に整理し、
ご教示下さいまして、本当にありがとうございました。このT−4ロール問題では、国会図書館まで足を
運ばれたそうで、ご努力に脱帽します。
空力に関しましては、私は完全に素人レベル(模型飛行機に熱中した程度)ですので、これまでに
読んだ本も、あまり数式が出てこないものばかりです。従って、ある空力現象について、
・どんな要素が、いくつ関係しているのか。
・要素間の、影響力の大小はどうか。
・パイロットから、その事象はどう感じられるのか。
…などが、ほとんど分かりません。
またフライトシミュレーターの機体設計は、パソコンの計算量の限界から、時には幾つかの要素を大胆
に省略・簡略化し、比較的リアルな挙動を再現するのだろうと想像しますが、私はこの知識も欠いてい
るため、さらにもどかしさを感じます。(好きな航法分野でも、常に同様の悩みがありますが)(^^;)
○
実機の挙動に関しては、ご指摘のように、やはり専門家に当たるのがベストでしょうね。
もし、何らかの「大義名分」を設定することが可能でしたら、自衛隊に聞くという手も、まったくの夢では
ありません。知人のアニメーターが数年前、戦車戦ゲームソフト開発に加わった時は、防衛庁の広報
に食い込みました。最終的には熱意が通って、陸自の戦車乗りと長時間の面談が実現して、すっかり
盛り上がってしまい、いっしょに痛飲したそうです。
逆に軍事評論家の江畑謙介さんは、湾岸戦争で広く顔を知られる前、ジェーン年鑑取材のため基地
祭などに通い、素人を装って隊員に質問を重ね、戦車や火砲の欠陥をせっせと聞き出したそうです。
しかしどちらの方法も、すごいエネルギーと時間が掛かりますね。
もう少し現実的な方法としては、例えば…下反角機の一般的な挙動についてであれば、ブログなどを
開いておられる実機のアマチュア・パイロットで、メールアドレスを公開されている方に、お訊ねする方法
もあるかも知れません。ご本人には下反角機の操縦経験が無くても、顔の広い方でしたら、或いはプロ
の体験談をご存じかも知れません。特に在米中の方ですと、「世話になった教官が、元空軍だった」なん
ていうケースもあるのでは。礼を尽くしてお訊ねすれば、必ずしも無理とは限りません。
(もちろん、単なる可能性を挙げただけですので、雑談として聞き流してくださいね)
ラダーとロールの関係は、私が想像していたより、ずっと複雑なようですね。問題点を詳細に整理し、
ご教示下さいまして、本当にありがとうございました。このT−4ロール問題では、国会図書館まで足を
運ばれたそうで、ご努力に脱帽します。
空力に関しましては、私は完全に素人レベル(模型飛行機に熱中した程度)ですので、これまでに
読んだ本も、あまり数式が出てこないものばかりです。従って、ある空力現象について、
・どんな要素が、いくつ関係しているのか。
・要素間の、影響力の大小はどうか。
・パイロットから、その事象はどう感じられるのか。
…などが、ほとんど分かりません。
またフライトシミュレーターの機体設計は、パソコンの計算量の限界から、時には幾つかの要素を大胆
に省略・簡略化し、比較的リアルな挙動を再現するのだろうと想像しますが、私はこの知識も欠いてい
るため、さらにもどかしさを感じます。(好きな航法分野でも、常に同様の悩みがありますが)(^^;)
○
実機の挙動に関しては、ご指摘のように、やはり専門家に当たるのがベストでしょうね。
もし、何らかの「大義名分」を設定することが可能でしたら、自衛隊に聞くという手も、まったくの夢では
ありません。知人のアニメーターが数年前、戦車戦ゲームソフト開発に加わった時は、防衛庁の広報
に食い込みました。最終的には熱意が通って、陸自の戦車乗りと長時間の面談が実現して、すっかり
盛り上がってしまい、いっしょに痛飲したそうです。
逆に軍事評論家の江畑謙介さんは、湾岸戦争で広く顔を知られる前、ジェーン年鑑取材のため基地
祭などに通い、素人を装って隊員に質問を重ね、戦車や火砲の欠陥をせっせと聞き出したそうです。
しかしどちらの方法も、すごいエネルギーと時間が掛かりますね。
もう少し現実的な方法としては、例えば…下反角機の一般的な挙動についてであれば、ブログなどを
開いておられる実機のアマチュア・パイロットで、メールアドレスを公開されている方に、お訊ねする方法
もあるかも知れません。ご本人には下反角機の操縦経験が無くても、顔の広い方でしたら、或いはプロ
の体験談をご存じかも知れません。特に在米中の方ですと、「世話になった教官が、元空軍だった」なん
ていうケースもあるのでは。礼を尽くしてお訊ねすれば、必ずしも無理とは限りません。
(もちろん、単なる可能性を挙げただけですので、雑談として聞き流してくださいね)
投票数:18
平均点:3.33
Re: T-4 製作記
msg# 1.3
Tat
投稿数: 375
T-4 に幾つか計器を追加してみました。また、3Dモデルの細部も少し追加しました。最新版は FlightGear の cvs から取得できます。
計器については、基本的な物は A-10 とほぼ同じだったので使い回しています。
それ以外はまだ機能しませんし、ホットスポットも動作しませんが、
徐々に良くして行こうと思います。
とりあえずご報告まで。
計器については、基本的な物は A-10 とほぼ同じだったので使い回しています。
それ以外はまだ機能しませんし、ホットスポットも動作しませんが、
徐々に良くして行こうと思います。
とりあえずご報告まで。
投票数:18
平均点:5.56
Re: フライトモデルの修正
msg# 1.2.1.1.1.1
sambar
居住地: 岡山
投稿数: 484
>もし、何らかの「大義名分」を設定することが可能でしたら、自衛隊に聞くという手も、まったくの夢ではありません。
MB-339PANのように、「大学・研究機関での研究のため」という名目で、自衛隊や川重の人に聞くのもアリかもしれませんね。
#まあ、そう都合がいい話はまずありませんが・・・高校の時の同級生に川崎重工に就職した人が居ますが・・・確か二輪か鉄道か造船(現川崎造船)だったと思います。
さすがにそこまで大仰な事をやらないまでも、基地祭の時にブルーインパルスの隊員にサインを貰うついでに「T-4のラダーだけを踏んだらどんな動き方をするか」程度の軽い質問を聞いてみるのも一つの手でしょう。少なくとも、参考程度にはなると思います。
#直接ラダーだけを踏んだときの事はありませんが、色々な戦闘機の挙動について解説されたサイトがあったので、参考にしてください。
http://www2m.biglobe.ne.jp/~ynabe/mach/truemach.htm
MB-339PANのように、「大学・研究機関での研究のため」という名目で、自衛隊や川重の人に聞くのもアリかもしれませんね。
#まあ、そう都合がいい話はまずありませんが・・・高校の時の同級生に川崎重工に就職した人が居ますが・・・確か二輪か鉄道か造船(現川崎造船)だったと思います。
さすがにそこまで大仰な事をやらないまでも、基地祭の時にブルーインパルスの隊員にサインを貰うついでに「T-4のラダーだけを踏んだらどんな動き方をするか」程度の軽い質問を聞いてみるのも一つの手でしょう。少なくとも、参考程度にはなると思います。
#直接ラダーだけを踏んだときの事はありませんが、色々な戦闘機の挙動について解説されたサイトがあったので、参考にしてください。
http://www2m.biglobe.ne.jp/~ynabe/mach/truemach.htm
--
Powerd by Phenom X4_9350e, nVidia GeForce GTX550Ti,Linux(x86_64)
旧callsign=sambar
新callsign=JA26FB
投票数:15
平均点:4.00
Re: T-4 製作記
msg# 1.4
Tat
投稿数: 375
CVS リポジトリの T-4 を微妙に更新しました。
修正点は 3D モデルだけですが、こんな感じです。
- なぜかコクピット後部の点が「ぽこっ」と出っ張っていたのを修正
- これまたなぜかテキスチャが出ないのを修正
- cvs 版で車輪が車軸から離れてしまうバグを修正
- ラダーによるロール係数の修正
そのうち、FlightGear のダウンロードページにも反映されるでしょう....
ものすごく遅くなりましたが、 sambar さん、hide さん、アドバイスありがとうございました。やはりラダーは右にきると右にロールするようですね。そのように戻しておきました。自衛隊には聞いていませんが、機会があれば自衛隊か川崎重工に色んな事をじっくりと聞いてみたいと思います。
修正点は 3D モデルだけですが、こんな感じです。
- なぜかコクピット後部の点が「ぽこっ」と出っ張っていたのを修正
- これまたなぜかテキスチャが出ないのを修正
- cvs 版で車輪が車軸から離れてしまうバグを修正
- ラダーによるロール係数の修正
そのうち、FlightGear のダウンロードページにも反映されるでしょう....
ものすごく遅くなりましたが、 sambar さん、hide さん、アドバイスありがとうございました。やはりラダーは右にきると右にロールするようですね。そのように戻しておきました。自衛隊には聞いていませんが、機会があれば自衛隊か川崎重工に色んな事をじっくりと聞いてみたいと思います。
投票数:18
平均点:3.89
Re: T-4 製作記
msg# 1.5
Tat
投稿数: 375
久しぶりにT-4 を更新しました。
なぜかリポジトリが修正できないので、
とりあえず、以下から取得してください。
http://macflightgear.sourceforge.net/wp-content/uploads/aircraft/T-4/T-4-20120721.tar.gz
修正点は以下です。
- ラダーによるロール方向が逆だったのを修正(ラダーによるロール係数が大きすぎたことが問題。前回の修正値が間違っていた)
- 地上でのラダー操作による前輪の角度が小さすぎた問題を修正
なお、この修正は、他スレッドでの投稿に端を発しています。
http://flightgear.jpn.org/modules/d3forum/index.php?post_id=3523
http://flightgear.jpn.org/modules/d3forum/index.php?post_id=3528
kozenigata さん、情報ありがとうございました!
なぜかリポジトリが修正できないので、
とりあえず、以下から取得してください。
http://macflightgear.sourceforge.net/wp-content/uploads/aircraft/T-4/T-4-20120721.tar.gz
修正点は以下です。
- ラダーによるロール方向が逆だったのを修正(ラダーによるロール係数が大きすぎたことが問題。前回の修正値が間違っていた)
- 地上でのラダー操作による前輪の角度が小さすぎた問題を修正
なお、この修正は、他スレッドでの投稿に端を発しています。
http://flightgear.jpn.org/modules/d3forum/index.php?post_id=3523
http://flightgear.jpn.org/modules/d3forum/index.php?post_id=3528
kozenigata さん、情報ありがとうございました!
投票数:10
平均点:4.00
Re: T-4 製作記
msg# 1.5.1
Hyde
居住地: ジョージア
投稿数: 169
Tatさん。 はじめまして、Hydeです。
引用:今は、CVSリポジトリではなくGITになっています。 さらに、2.8.0のリリース準備期間中でリリースストリームには制限がかかっています。 私の方で777に修正があるので、一緒にマージリクエストをかけておきましょうか?
引用:
なぜかリポジトリが修正できないので、
投票数:9
平均点:4.44
Re: T-4 製作記
msg# 1.5.1.1
Tat
投稿数: 375
Hyde さん
ありがとうございます。
言葉が足りなかったようですね。
Mac 版の開発もあるので、私も GIT を使っているのですが、
今、私のMac 側の設定の問題で、GIT リポジトリ上への反映が
上手くいっていないという状況です。
マージリクエストを一緒にしていただけると大変助かります。
よろしくお願いいたします m_o_m
ありがとうございます。
言葉が足りなかったようですね。
Mac 版の開発もあるので、私も GIT を使っているのですが、
今、私のMac 側の設定の問題で、GIT リポジトリ上への反映が
上手くいっていないという状況です。
マージリクエストを一緒にしていただけると大変助かります。
よろしくお願いいたします m_o_m
投票数:8
平均点:5.00
Re: T-4 製作記
msg# 1.5.1.1.1
Hyde
居住地: ジョージア
投稿数: 169
Tatさん。
TatさんがMACのリリースパッケージャーだということを失念していました。
Committer権限もお持ちであれば、まことに差し出がましいことでした。
マージリクエストかけておきます。
TatさんがMACのリリースパッケージャーだということを失念していました。
Committer権限もお持ちであれば、まことに差し出がましいことでした。
マージリクエストかけておきます。
投票数:10
平均点:5.00
Re: T-4 製作記
msg# 1.6
kozenigata
投稿数: 18
kozenigataです。
ノーズギアの設定の変更ありがとうございました。
ノーズギアの設定の変更ありがとうございました。
投票数:7
平均点:5.71