FMS(R/C用フライトシミュレータ)のヘリコプタParファイル解析
FMSは、フリーソフトとして海外で開発されているラジコン用のフライトシミュレータです。Windows95/98/Meパソコン上で動作し、自分の使っているプロポをコントローラーとして使用できること、機体や風景のデータを作成/流用しやすいこと、リアルな操作感が得られることなどから、日本でも利用者が増加中です。
ここでは、ヘリコプタ用parファイルの内容について、少しずつ解明していきたいと思います。
[1]パラメータ推定
ヘリコプタのパラメータは、飛行機よりも多くなっていますが、比較的シンプルな構成になっているようです。
ヘリコプタには詳しくないので、すごくあやしいですが、パラメータの推定を行いました。
(行番号は、空白行を除いてカウントしています)
行 | 記号 | 名称 | Cobra | 単位 | コメント |
1 | Type | 機体タイプ | 1 | - | 0=飛行機/1=ヘリコプター |
2 | m | 機体質量 | 7.5 | kg |
ヘリコプターの質量です。 |
3 | Izz | ヨー慣性モーメント | 0.05 | Kg*m^2 | ヨー軸まわりの慣性モーメントです。 大きくすると、ラダーの操舵応答が少し遅くなります。 |
4 | Iyy | ピッチ慣性モーメント | 0.05 | Kg*m^2 | ピッチ軸まわりの慣性モーメントです。 大きくすると、エレベーターの操舵応答が少し遅くなります。 |
5 | Ixx | ロール慣性モーメント | 0.05 | Kg*m^2 | ロール軸まわりの慣性モーメントです。 大きくすると、エルロンの操舵応答が少し遅くなります。 |
6 | Ct | 機体回転抵抗 | 2.2 | - | 機体が回転したときの、回転抵抗の係数です。 ラダー、エルロン、エレベーターを操舵して機体が回転するときの、回転速度に影響します。 値を大きくすると、操舵時の回転速度が遅くなります。操舵初期は慣性モーメントの影響が大きく、緩やかな操舵では、回転抵抗の影響が大きくなります。 |
7 | ExpE | エレベーターExp比 | 35 | % | エレベーター操舵におけるExp比率を設定します。 値を大きくすると、ニュートラル付近の操舵応答がマイルドになります。 キーボード操縦には影響しません。 |
8 | ExpA | エルロンExp比 | 35 | % | エルロン操舵におけるExp比率を設定します。 値を大きくすると、ニュートラル付近の操舵応答がマイルドになります。 キーボード操縦には影響しません。 |
9 | ExpR | ラダーExp比 | 0 | % | ラダー操舵におけるExp比率を設定します。 値を大きくすると、ニュートラル付近の操舵応答がマイルドになります。 キーボード操縦には影響しません。 |
10 | ExpP | ピッチExp比 | 0 | % | ブレードのピッチ操作(スロットル操作)におけるExp比率を設定します。 値を大きくすると、ニュートラル付近の応答がマイルドになります。 キーボード操縦には影響しません。 |
11 | R | メインブレード長 | 0.65 | m | メインローターのブレードの長さ(ローターの回転半径)です。 大きくすると、推力(浮力)が大きくなります。 |
12 | S | メインブレード面積 | 0.04 | m^2 | メインローターのブレード面積の合計です。回転円盤の面積ではなく、各ブレードの面積を合計したものです。 大きくすると、推力(浮力)が大きくなります。 |
13 | N | メインローター回転数 | 1800 | rpm | メインローターの1分間の回転数です。 大きくすると、推力(浮力)が大きくなります。 計算上、回転数はこの値に固定されていて、ブレードのピッチを制御することで推力(浮力)をコントロールします。 ブレードのピッチ操作による回転数の変動は計算されず、回転数は一定として計算されます。 |
14 | Pmax | コレクティブ・ピッチ | 0.1 | rad | スロットルスティック(ピッチスティック)操作における、メインブレードの最大ピッチ角を指定します。 ブレードを回転する翼とみなして計算を行い、失速しない範囲内では、値を大きくすると推力(浮力)が大きくなります。 |
15 | Emax | 縦サイクリック・ピッチ | 0.011 | rad | エレベーター操舵による、メインブレードの最大縦サイクリック・ピッチ角を指定します。 値を大きくすると、エレベーター操舵応答が敏感になります。 |
16 | Amax | 横サイクリック・ピッチ | 0.011 | rad | エルロン操舵による、メインブレードの最大横サイクリック・ピッチ角を指定します。 値を大きくすると、エルロン操舵応答が敏感になります。 |
17 | Hm | メインローター位置 | 0.1 | m | 重心からメインローターまでの高さを指定します。 メインローター中心は、重心の真上にあると仮定しています。 値を大きくすると、復元力が大きくなります。 |
18 | fhorzd | 0.001 | - | 水平方向の流れによる、ローターを傾ける力の係数です。 水平飛行をしている場合、ブレードの対気速度はローターの回転速度と飛行速度の影響を受け、前進側と後進側で対気速度の差が発生し、揚力差分だけ、ローターを傾ける力が発生します。 値が小さいと、素直な動きになります。 | |
19 | Rt | テールブレード長 | 0.18 | m | テールローターのブレードの長さ(ローターの回転半径)です。 テールローターは、メインローターのトルクによるヨー回転を打ち消すためのもので、大きくすると、打ち消しトルクが大きくなります。 |
20 | St | テールブレード面積 | 0.02 | m^2 | テールローターのブレード面積の合計です。回転円盤の面積ではなく、各ブレードの面積を合計したものです。 大きくすると、打ち消しトルクが大きくなります。 |
21 | Nt | テールローター回転数 | 4800 | rpm | テールローターの1分間の回転数です。 大きくすると、打ち消しトルクが大きくなります。 計算上、回転数はこの値に固定されていて、ラダーを操作すると、テールブレードのピッチが変更されます。 |
22 | Rmax | テールブレードピッチ | 0.12 | rad | ラダー操作による、テールブレードの最大ピッチ変更角を指定します。実際のピッチ角は、テールブレード基準ピッチを中心に制御されます。 値を大きくすると、ラダー操作応答が敏感になります。 |
23 | at0 | テールブレード基準ピッチ | 0.009 | rad | ラダーがニュートラルでの、テールブレードのピッチ角を指定します。 想定したスロットル位置で、メインローターのトルクを打ち消すような値に設定します。 |
24 | Lt | テールローター位置 | 0.9 | m | 重心から、テールローター中心までの水平距離を指定します。 重心とテールローター中心は、同じ高さになっていると仮定しています。 |
25 | fhorzdh | 0.25 | - | 横風によるヨーモーメントの係数です。 横風を受けると、テールローターに発生する推力が変化するため、ヨーモーメントが発生します。 値を大きくすると、風見安定性(横滑りしたとき、機首を進行方向に向ける効果)が強くなります。 | |
26 | kG | ジャイロ感度 | 0.05 | rad/(rad/s) | ジャイロスコープの感度を設定します。 |
27 | mG | ジャイロミキシング率 | 80 | % | ジャイロスコープのテールローターへのミキシング率を設定します。 |
28 | CLa | 揚力傾斜 | 6.2 | 1/rad | ブレードの揚力傾斜です。迎角を大きくしていくときの、揚力の増加割合を表しています。2次元翼(無限長の翼幅を持つ翼)での理論値は2*π=6.28319です。 メインブレードとテールブレードで、同じ値が使用されます。 値を大きくすると、失速しない範囲で推力が大きくなります。 |
29 | CLmax | 最大揚力係数 | 1 | - | ブレードの最大揚力係数です。 |
30 | CLmin | 最小揚力係数 | -1 | - |
ブレードの最小揚力係数です。 |
31 | Cd0 | 形状抗力係数 | 0.02 | - | ゼロ揚力時の、ブレードの抗力係数です。 値が大きいと、メインローターの回転による定常トルクが大きくなります。 |
32 | kCdi | 誘導抗力増加係数 | 0.02 | - | メインブレードに揚力が発生しているときの、ブレードの抗力係数の増加率です。 誘導抗力による抗力増加分 Cdi=kCdi*迎角が、Cd0に加算され、CLが大きいとき(推力が大きいとき)、メインローターの回転によるトルクが大きくなります。 値が大きいと、推力を大きくしたときのトルク増加割合が大きくなり、ヨー変動が大きくなるため、ラダーの当て舵を大きくする必要があります。 |
33 | Cdb | 胴体抗力係数 | 0.3 | - | 胴体の抗力係数です。 値が大きいと、最大飛行速度が遅くなります。 抗力は、メインブレード面積を基準に計算されます。 |
34 | nb | 胴体ポイント数 | 9 | - | 着地時の計算を行うための、胴体着地データのポイント数です。 PosXからfmaxまでの7項目は、ここで指定したポイント数分だけ記述します。 胴体ポイントが9個のときは、ヘリの下側(スキッド)に4ポイント、上側に4ポイント、テールローターに1ポイントが使用されるようです。 下側4ポイントの剛性がバネの効果を持つため、離陸時にバネではねあげられるようになりますが、Cobraでは、下側4ポイントの剛性は同じにして、X位置は非対称にすることで、離陸時に少し前傾する効果が発生します。 |
35 | PosX | X位置 | 0.3 | m | 胴体ポイントのX座標(原点からの前後位置)です。 原点=空力計算における重心位置=Geoファイルの座標原点です。 |
36 | PosY | Y位置 | 0.3 | m | 胴体ポイントのY座標(原点からの左右位置)です。 |
37 | PosZ | Z位置 | -0.15 | m | 胴体ポイントのZ座標(原点からの上下位置)です。 着地時に自然に見えるように、Geoファイル上の機体サイズに合わせる必要があります。Geoファイルの原点は、ロールなどの回転中心=重心位置なので、Geoファイルの原点は重心に合わせておいて、着地姿勢はZ位置で調整するのが良いと思います。 |
38 | muh | 水平摩擦係数 | 1 | - | 胴体ポイントの、路面の摩擦係数です。 値を小さくすると、地上滑走も可能になります。 着地している各ポイントの水平摩擦係数が異なると、まっすぐに滑走できません。 |
39 | h | 剛性 | 2000 | N/m | 胴体ポイントの、圧縮バネとしての剛性です。 値を小さくすると、柔らかいバネの着陸装置を装備しているような着地感になり、大きいと固い着地感になります。 あまり小さくすると、着地状態で周期振動が発生する場合があるようです。 2000N/mの脚4本で7.5kgの機体をささえると、7.5/4*9.8/2000=0.0092(m)なので、9mm程度変形していることになります。 |
40 | muv | 垂直摩擦係数 | 10 | - | 胴体ポイントの、着地エネルギー吸収特性です。胴体ポイントが圧縮バネとして変形するとき、摩擦によりエネルギーを吸収して、振動をダンピングします。 値を大きくすると、着陸装置にダンパーを装着したように、着地時のバウンドが小さくなります。 |
41 | fmax | 強度 | 800 | N | 胴体ポイントの、破壊強度です。 着地の衝撃がこれよりも大きいとシミュレーションがストップします。 剛性を大きく指定した場合、同じ速度で着地しても衝撃力が大きくなるため、強度も大きくしておく必要があります。 ヘリの下側(スキッド)には大きな値を設定し、それ以外には小さな値が設定されています。 800Nの脚4本で7.5kgの機体をささえると、静的には、800/(7.5/4*9.8)=43.5倍のマージンがあることになります。 |
名称や記号は、もう少しヘリコプターの勉強をしてから付け直したいと思います。
[2]パラメータの静的検証
推定したパラメータの検証のため、モデルを変更してフライトを行い、定常飛行状態(直線飛行とホバリング)の飛行特性について、シミュレーション結果と予想値の比較を実施中です。FMS画面に表示される速度と高度の桁数が少ないため、検証精度はあまり高くありません。
(A)メインローターの静止推力(浮力)FL(Kg重)は
FL=1/2*1.2/9.8*S*CL*(π*2*R*N/60)^2
CL=CLa*kp*Pmax
になるように計算されているようです(失速しない場合)。ここで、kpはブレードピッチ制御の操舵率で、フルパワーでkp=1、フルダウンでkp=-1です。普通に計算すると、この値の1/3になるはずですが、なぜか、これで計算されているようです。
フルパワーのとき、FL=1/2*1.2/9.8*S*CLa*Pmax*(π*2*R*N/60)^2
Cobraでは、FL=1/2*1.2/9.8*0.04*6.2*0.1*(π*2*0.65*1800/60)^2=22.79 (kg重)なので、機体質量は、これ以下の必要があります。
静止していない場合は、ローターへの流入風速により実行的なブレードピッチが減少し、推力が低下します。
(B)メインローターによって発生するトルクTm(m*Kg重)は
Tm=4/3*FD*R
FD=1/2*1.2/9.8*S*CD*(π*2*R*N/60)^2
CD=Cd0+kCdi*kp*Pmax
になるように計算されているようです(失速しない場合)。普通に計算すると、Tm=1/4*FD*Rになるはずですが、なぜか、これで計算されているようです。CDも、普通はCD=Cd0+kCdi*Sqr(CL)になりそうですが。。。
CL=CLa*kp*Pmaxが大きい(推力が大きい)と、CDが大きくなり、トルクも大きくなります。
(C)テールローターによって発生するトルクTt(m*Kg重)は
Tt=Lt*FLt
FLt=1/2*1.2/9.8*St*CLt*(π*2*Rt*Nt/60)^2
CLt=CLa*(at0+kr*Rmax)
になるように計算されているようです(失速しない場合)。ここで、krはラダーの操舵率で、-1から1の範囲です。
at0をうまく設定して、ラダーがニュートラルの状態(Kr=0)で、メインローターのトルクをちょうど打ち消すようにすることができます。Tt=Tmより、at0=4/3*R/Lt*S/St*(Cd0+kCdi*kp*Pmax)/CLa*(R/Rt*N/Nt)^2
なので、フルピッチ(フルスロットル)状態で打ち消されるには、
at0=4/3*R/Lt*S/St*(Cd0+kCdi*Pmax)/CLa*(R/Rt*N/Nt)^2
Cobraでは、at0=4/3*0.65/0.9*0.04/0.02*(0.02+0.02*0.1)/6.2*(0.65/0.18*1800/4800)^2=0.01253(rad)ホバリング状態で打ち消されるには、FL=mより、CL=m/(1/2*1.2*9.8*S*(π*2*R)^2) なので、
at0=4/3*R/Lt*S/St*(Cd0+kCdi*m/(1/2*1.2/9.8*S*(π*2*R*N/60)^2)/CLa)/CLa*(R/Rt*N/Nt)^2
Cobraでは、at0=4/3*0.65/0.9*0.04/0.02*(0.02+0.02*7.5/(1/2*1.2/9.8*0.04*(π*2*0.65*1800/60)^2)/6.2)/6.2*(0.65/0.18*1800/4800)^2=0.01177mCobraのat0は0.009なので、ラダー中立ではトルクが0にならないようです。
(D)抗力係数CDは、
CD=CDb
になっているようです。ローターの空気抵抗は飛行特性には考慮されていません。
V-Tailsのトップへ戻る
Copyright(C)
2001-10-02 桝岡 秀昭