logo
ホーム •  フォーラム •  日本語wikiトップ •  アカウント情報 •  サイト内検索 •  新規登録
 ログイン
ユーザー名:

パスワード:


パスワード紛失

新規登録
 メインメニュー
 米国サイト
 オンライン状況
47 人のユーザが現在オンラインです。 (3 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 47

もっと...

Re: Pilatus PC-9M の設定に関して

このトピックの投稿一覧へ

なし Re: Pilatus PC-9M の設定に関して

msg# 1.2.1.1.1.1.1.1.2.1
depth:
9
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2012-7-24 1:29 | 最終変更
toshi  長老   投稿数: 1531
こんばんは、toshiです。

Hydeさんがお書きになった「Vacume Pumpで引いてやらないとspinが落ちてくる」という内容を手がかりに、ソースコードを少し調べてみました。
具体的な方法を示すには至っていない上、間違っている部分があるかもしれませんが、ご参考になれば幸いです。

まず、FlightGearのジャイロは、エンジンに連動した真空ポンプの負圧が不足すると正常に動作しなくなるように「設計」されています。
従って、計器の表示を現実世界により近づけようとすることと、高高度でもジャイロが正常に動作するように修正することは、相反する可能性があることをご考慮いただきたいと思います。
http://wiki.flightgear.org/Avionics_and_instruments の「3 Directional Gyro」と「4 Attitude Indicator」もご参照ください。

次に、問題のAttitude Indicator(ADI)で誤差が出ないようにする方法については、「spinを落とさないようにする」方法は見つかっていませんが、他の方法であれば2つ候補があります。

1つ目の候補は、-set.xmlで<heading-indicator>を定義する方法です。

-set.xmlで<heading-indicator>の定義をしておらず、かつFlightGear標準のinstrumentation/attitude-indicator 以下のプロパティ値をADIとして用いる機種(PC-9Mなど)の場合は、
Aircraft/Generic/generic-instrumentation.xml
の定義が用いられています。
引用:
<attitude-indicator>
<name>attitude-indicator</name>
<number>0</number>
<suction>/systems/vacuum/suction-inhg</suction>
</attitude-indicator>

ここで、プロパティ /systems/vacuum/suction-inhg はエンジンの回転数(rpm)と外気圧(pressure)に応じてFlightGearが計算して書き込む負圧の値であり、以下のようにvacuum.cxxソースコードでハードコードされてしまっています。

src / Systems / vacuum.cxxより引用:
81 // This magic formula yields about 4 inhg at 700 rpm
82 suction = pressure * rpm / (rpm + 4875.0);

そこで、-set.xmlで<heading-indicator>を再定義し、<suction>にダミーの(ある一定値の)プロパティ値を用ることで、ADIに誤差が出ないように出来るのではないかと思います。


2つ目の候補は、<spin-thresh>を設定する方法です。

2009年3月9日付けで、attitude_indicator.cxxとattitude_indicator.hxxのソースコードに、ハードコードされていた値を設定可能にするための以下の変更が加えられています。
http://mapserver.flightgear.org/git/gitweb.pl?p=flightgear;a=commit;h=43880b201cea2b120fefd99696ae0b43227358dc
引用:
Make hardcoded error values configurable.

This patch introduces the optional elements

<config>

<spin-thresh>0.8</spin-thresh>

<max-roll-error-deg>40</max-roll-error-deg>

<max-pitch-error-deg>12</max-pitch-error-deg>

</config>

under the corresponding /instrumentation/attitude-indicator element.

The values are initialized to the shown default values if omitted.

These are the values of the former hardcoded constants.

attitude_indicator.cxx の中では、スピンの回転数が<spin-thresh>以下の場合にADIの角度誤差を追加するようにプログラムされています。
src / Instrumentation / attitude_indicator.cxxより引用:
151 // add in a gyro underspin "error" if gyro is spinning too slowly
154 if ( spin <= spin_thresh ) {
したがって、<spin-thresh>を初期値の0.8ではなく、思い切って0に設定することで、誤差をなくすことができるのではないかと思います。
投票数:13 平均点:6.15

投稿ツリー

  条件検索へ


 検索

高度な検索
 新しい登録ユーザ
MukaiKaede 2024-7-21
otumije 2024-7-21
eryxowep 2024-7-21
alexistoxx 2024-7-20
orycycut 2024-7-20
sasasa 2024-7-20
hyperionyD 2024-7-20
validactiv 2024-7-20
scrubmusli 2024-7-20
iretez 2024-7-20
 最近の画像(画像付)
自作11機目 F/A-18... (2022-5-27)
自作11機目 F/A-18...
飛んでみる八尾空港 (2022-4-10)
飛んでみる八尾空港
作ってみる八尾空港 (2022-4-2)
作ってみる八尾空港
F117 nighthawk (2021-5-19)
F117 nighthawk
HiTouchさん宛の画像... (2020-11-8)
HiTouchさん宛の画像...
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Theme designed by OCEAN-NET