Re: Pilatus PC-9M の設定に関して
toshi
投稿数: 1540
こんばんは、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
の定義が用いられています。
引用:
ここで、プロパティ /systems/vacuum/suction-inhg はエンジンの回転数(rpm)と外気圧(pressure)に応じてFlightGearが計算して書き込む負圧の値であり、以下のようにvacuum.cxxソースコードでハードコードされてしまっています。
src / Systems / vacuum.cxxより引用:
そこで、-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
引用:
attitude_indicator.cxx の中では、スピンの回転数が<spin-thresh>以下の場合にADIの角度誤差を追加するようにプログラムされています。
src / Instrumentation / attitude_indicator.cxxより引用:したがって、<spin-thresh>を初期値の0.8ではなく、思い切って0に設定することで、誤差をなくすことができるのではないかと思います。
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 ) {
投票数:17
平均点:4.71
投稿ツリー
-
Pilatus PC-9M の設定に関して
(Hyde, 2012-7-5 1:08)
- Re: Pilatus PC-9M の設定に関して (hide, 2012-7-5 9:32)
-
Re: Pilatus PC-9M の設定に関して
(Hyde, 2012-7-5 11:22)
-
Re: Pilatus PC-9M の設定に関して
(hide, 2012-7-5 12:16)
-
Re: Pilatus PC-9M の設定に関して
(Hyde, 2012-7-8 6:09)
-
Re: Pilatus PC-9M の設定に関して
(Hyde, 2012-7-8 22:45)
-
Re: Pilatus PC-9M の設定に関して
(hide, 2012-7-9 3:18)
-
Re: Pilatus PC-9M の設定に関して
(Hyde, 2012-7-14 20:32)
-
Re: Pilatus PC-9M の設定に関して
(hide, 2012-7-16 19:38)
- Re: Pilatus PC-9M の設定に関して (Hyde, 2012-7-16 20:39)
-
Re: Pilatus PC-9M の設定に関して
(Hyde, 2012-7-22 6:56)
-
Re: Pilatus PC-9M の設定に関して
(toshi, 2012-7-24 1:29)
-
Re: Pilatus PC-9M の設定に関して
(Hyde, 2012-7-24 8:19)
- Re: Pilatus PC-9M の設定に関して (hide, 2012-7-24 10:06)
-
Re: Pilatus PC-9M の設定に関して
(sambar, 2013-1-1 0:51)
- Re: Pilatus PC-9M の設定に関して (Hyde, 2013-1-2 2:00)
-
Re: Pilatus PC-9M の設定に関して
(Hyde, 2012-7-24 8:19)
-
Re: Pilatus PC-9M の設定に関して
(toshi, 2012-7-24 1:29)
-
Re: Pilatus PC-9M の設定に関して
(Hyde, 2012-9-1 5:04)
-
Re: Pilatus PC-9M の設定に関して
(hide, 2012-9-1 13:22)
-
Re: Pilatus PC-9M の設定に関して
(Hyde, 2012-9-1 21:57)
-
Re: Pilatus PC-9M の設定に関して
(hide, 2012-9-13 12:01)
-
Re: Pilatus PC-9M の設定に関して
(Hyde, 2012-9-13 23:57)
-
Re: Pilatus PC-9M の設定に関して
(Hyde, 2012-10-5 10:38)
-
Re: Pilatus PC-9M の設定に関して
(hide, 2012-10-6 7:56)
-
Re: Pilatus PC-9M の設定に関して
(Hyde, 2012-10-6 20:21)
-
Re: Pilatus PC-9M の設定に関して
(hide, 2012-10-6 21:18)
- Re: Pilatus PC-9M の設定に関して (hide, 2012-10-9 0:09)
-
Re: Pilatus PC-9M の設定に関して
(hide, 2012-10-6 21:18)
-
Re: Pilatus PC-9M の設定に関して
(Hyde, 2012-10-6 20:21)
-
Re: Pilatus PC-9M の設定に関して
(Hyde, 2012-11-7 7:07)
-
Re: Pilatus PC-9M の設定に関して
(hide, 2012-11-9 12:08)
- Re: Pilatus PC-9M の設定に関して (Hyde, 2012-11-10 13:28)
-
Re: Pilatus PC-9M の設定に関して
(hide, 2012-11-9 12:08)
-
Re: Pilatus PC-9M の設定に関して
(hide, 2012-10-6 7:56)
-
Re: Pilatus PC-9M の設定に関して
(Hyde, 2012-10-5 10:38)
-
Re: Pilatus PC-9M の設定に関して
(Hyde, 2012-9-13 23:57)
-
Re: Pilatus PC-9M の設定に関して
(hide, 2012-9-13 12:01)
-
Re: Pilatus PC-9M の設定に関して
(Hyde, 2012-9-1 21:57)
-
Re: Pilatus PC-9M の設定に関して
(hide, 2012-9-1 13:22)
-
Re: Pilatus PC-9M の設定に関して
(hide, 2012-7-16 19:38)
-
Re: Pilatus PC-9M の設定に関して
(Hyde, 2012-7-14 20:32)
-
Re: Pilatus PC-9M の設定に関して
(hide, 2012-7-9 3:18)
-
Re: Pilatus PC-9M の設定に関して
(Hyde, 2012-7-8 22:45)
-
Re: Pilatus PC-9M の設定に関して
(Hyde, 2012-7-8 6:09)
-
Re: Pilatus PC-9M の設定に関して
(hide, 2012-7-5 12:16)
-
Re: Pilatus PC-9M の設定に関して
(toshi, 2012-8-22 1:13)
- Re: Pilatus PC-9M の設定に関して (Hyde, 2012-8-23 0:18)
- Re: Pilatus PC-9M の設定に関して (Hyde, 2013-4-29 1:50)