2012/07/19

高度測定法の比較

超音波距離計、GPS、気圧計による高度計測の実験を行ったので、その結果をまとめて人力飛行機に向いた高度計測法は何かを考えてみたいと思います。

超音波高度

Daedalusにも使われた人力飛行機では標準的な高度計測法です。
超音波の放射点と地面等の反射点の(最短)距離を高度としています。

現在使用している超音波距離計モジュールMaxbotix MB1360はかなり広い範囲に超音波を放射するため、グラウンドクルーが機体近くにいた場合などには誤った高度が測定されることがあります。
対策としては、コーンを取り付けて超音波の届く範囲を制限することが考えられます。

波の反射時間を利用した高度計測にはレーザー・電波高度計もあります。
ただし、通常のレーザー距離計で使う光は水を通り抜けてしまい、水面との距離の測定はできないようです。

気圧高度

通常の航空機で使われる高度計測法です。
標準大気モデルでの気圧と高度の関係から高度を求めています。
ゼロ点を適当に定めれば地面との距離もわかります。

人力飛行機の典型的な飛行高度である10m程度で生じる気圧差は小さいものなので、簡単に手に入るものでは最も精度の高いモジュールMeasurement SpecialtiesMS5611-01BA03で実験を行いました。
詳しい特性は同じモジュールで実験を行った@ina111さんのブログ記事を参考にしてください。
気圧高度には0mのリファレンスとして使った気圧が変動すると指示される高度と実際の高度の差が出てしまうという弱点があります。
また、たいていのセンサはダイアフラムのひずみを気圧として検出する方式なので、機体に載せて振動が加わった場合にはノイズが出ることも考えられます。

GPS高度

通常のGPSによる高度で、GPSモジュールから出力されるものです。

WGS84楕円体と測定に使うGPSアンテナの距離を高度としています。
地面との距離に直すには、測定地点のジオイド高、標高データが必要になるため、精度の高い測定を行いたい場合は事前に測量を行うのが望ましいです。

地面の裏側に隠れているGPS衛星からの電波は届かず、水平方向と高度方向のGPS衛星の配置が非対称になるという事情で、GPSの高度情報は水平方向に比べて一般的に精度が悪くなります。

搬送波位相を使って後処理を行えばより高精度な情報が得られます。
(GPS受信機を2台用意すればリアルタイム測位も可能です)
搬送波位相を使う方法には、衛星数が変化するポイントやサイクルスリップが起こるポイントで不連続に座標が変化するという弱点があります。
また、精度は基準点との距離、可視衛星数によって変化します。

測定法の比較

以上の測定法を実績のある超音波高度と比較します。
超音波高度には、グラウンドクルー(?) から反射による乱れが入っています。
(気圧センサは試験飛行で使用したことがないので、データが取れ次第追記します)

単独測位との比較を行ったグラフを以下に示します。
超音波高度・GPS高度(単独測位)・INS/GPS高度の比較
機体が静止しているはずの593640秒程度までに2m程度の高度変化があることがわかります。
高度変化の傾向は似ていますが、変化量には大きな差があります。

後処理Kinematic測位との比較を行ったグラフを以下に示します。
超音波高度・GPS高度(後処理Kinematic)の比較
測量の結果を適用する前のものは、滑走路の南北でのGPS高度の違いを反映して全体的に傾いていますが、測量の結果を適用したものは超音波高度と比較的よく一致しています。
しかし、可視衛星数の変化やサイクルスリップの影響でKinematic測位による高度にはところどころ急激な飛びが見られます。

以上の測定法の特徴をセンサのスペックとともにまとめたものが以下の表になります。

高度測定法の比較

超音波気圧GPS
(単独)
GPS
(後処理Kinematic)
サンプルレート- 10 Hz- 100 Hz
(要平均化)
- 5 Hz- 5 Hz
リアルタイム
(2台の受信機が必要)
絶対高度
(基準点が必要)

(要標高データ)

(要標高データ)
測定範囲- 10 m- 5000 m
(精度の高い範囲)
- 10000 m
(設定で可変)
- 10000 m
(設定で可変)
精度- 数 cm- 数 m
(ノイズ・ドリフトあり)
- 数 m
(ドリフトあり)
- 数10 cm
(飛びあり)

今回行った比較から、試験飛行や琵琶湖など絶対高度が重要な場合は超音波は優れた高度計測法であるといえます。
したがって、人力飛行機での高度計測には超音波距離計をメインに使い、その他の方法は補助的に使うのがよいと思います。

2012/07/18

XFLR5による安定微係数の推算

テストフライトで取得したログが結構な量たまってきたので、詳しい解析にかけてみるつもりです。
具体的には安定微係数の推定を行う予定ですが、初期値・参照値として安定微係数の値が必要になるので、XFLR5を使って求めてみました。

XFLRに機体モデルを入力し、Polars -> Define Stability Analysisで設定を行い解析すると、XFLR5.log等に縦・横の有次元・無次元安定微係数が出力されます。

XFLRで計算した安定微係数
エレベータ入力\delta_eに対する安定微係数は計算できましたが、エルロン入力\delta_a、ラダー入力\delta_rに対する安定微係数をどうやって計算するのかはよくわかりませんでした。
何か設定項目があるのかもしれません。

計算には機体の慣性モーメント・慣性乗積が必要になります。
これらの値は3次元CAD等を使って求めるのが正攻法なんでしょうが、とりあえず大体の値をつかむために、F-tecの設計計算書にあった値を使いました。
(余談ですが、この設計計算書にある安定微係数の推定プログラムでは、主翼・水平尾翼・垂直尾翼の揚力傾斜にDAE11のものを使っているので、安定微係数には多少の誤差があると思います)

安定微係数の推定には簡易推算公式がよく使われます。
XFLRの出力が妥当なものかどうか、簡易推算公式によるものと比較した結果が以下の表です。

縦の無次元安定微係数の比較

簡易推算公式XFLR
C_xu-0.0920 -0.0252
C_zu 0(仮定)-0.000831
C_mu 0(仮定)0.0239
C_xa 0.8830.917
C_za -6.19-6.02
C_ma -1.6-2.76
C_zq -4.98-1.13
C_mq -32.4-31.1
C_zde-0.383 -0.362
C_mde -2.49-2.28

符号・値ともよい一致を示しています。

XFLRが出力する有次元安定微係数の定義は航空機力学入門にあるものとは違うようなので、比較する際には機体重量・慣性モーメント等での規格化が必要です。
また、無次元では迎え角\alphaについての微係数だったものが、有次元では下方向速度\omegaについての微係数になっていたりする点にも注意が必要です。

飛行機設計入門2には、人力飛行機の運動の解析・安定微係数の例が載っています。
この本の安定微係数はいわゆるprimed derivativeであったりするので、こちらの値と比べる場合にも多少の換算が必要になると思います。

ここで得た値を初期値として使い、Filter Error Methodでフライトログから安定微係数を推定してみるつもりです。

2012/07/01

GPSによる閏秒の観測

1秒長い2012年7月1日」をGPSで観測してみました。

GPSの航法メッセージの第18フレーム・サブフレーム4にはUTCとGPS時刻の差などを表す補正パラメータがあります。
このパラメータが正しく解釈されていれば、UTCが59秒、60秒、00秒と変化する様子が見られるはずです。
何年かに1度しかない閏秒挿入なので、モジュールから出てくるGPS時刻・UTC・Leap Secondsがどのようになっているのか0.2秒刻みで観測してみました。
結果は下の図の通りです。

GPS Time of Week = 14.4s
Leap Secondsが挿入直前
GPS Time of Week = 14.6s
Leap Secondsが16秒に
内部計算の影響(?)でUTCが58秒に
GPS Time of Week = 14.8s
GPS Time of Week = 15.0s
UTCが60秒に
ここからが閏秒
GPS Time of Week = 15.2s
GPS Time of Week = 15.4s
GPS Time of Week = 15.6s
内部計算の影響(?)でUTCが59秒に
GPS Time of Week = 15.8s
ここまで閏秒
GPS Time of Week = 16.0s
UTCが00秒に
ここからは通常の時刻出力
モジュール内部でどのような計算が行ってUTCを計算しているかはわかりませんが、米国沿岸警備隊ナビゲーションセンターの資料にある計算式に従っているのではないかと思います。
GPSモジュールによっては閏秒付近で異常な時刻出力をするものもあるようですが、u-blox LEA-6Tでは(UTCが一時的に巻き戻って見えることがあるものの)正しく処理できているようです。