Plotterで使用されている座標系を用いて、Mission Plannerで作成されたLOGファイル上の、GPSの位置情報、およびPOSの位置情報並びにFlight Coachで作成されるJSONファイルの位置情報を比較したグラフを添付致します。
グラフの横軸はFlight Controllerが起動してからの経過時間、x軸はPlotter座標の右手方向、y軸は奥手方向、z軸は高さ方向で、原点はPilotの位置です(右手系)。図中のGPSはLOGファイルのGPS、MPはLOGファイルのPOS、FCはJSONファイルを示しています。なおグラフにおいて、MPとFCの値は重なっていますので、MPの値(赤線)は表示されていません。このことから、Flight Coachはその位置情報にLOGファイルのPOSの値を用いているものと思われます。
グラフを見ますと、ジャンプが発生する約30秒ほど前からGPSの値とMP及びFCの値はズレてきており、ジャンプによってそのズレが解消されているように見えます(高さ方向はその後も少しズレていますが)。私のフライトデータでは、他のジャンプの際も同じような傾向です。ジャンプ前のいつ頃からズレ始めるかは、それぞれのジャンプによって異なり、私のフライトでは大体10~30秒前からズレ始めています。GPSの信号は0.2秒毎に受信されていますので、かなりの回数GPSのデータとMP及びFCの値がズレていることになります。
以上の考察によれば、GPSのデータとPOS及びJSONファイルのデータがかなりの期間ズレていることから、Mission PlannerがGPSのエラーをどのように補正しているのか、そのアルゴリズムが分からないと、LOGファイル並びにJSONファイルを用いてジャンプエラーを修正するのはかなり難しいと思われます。
TakJP様、皆様
JSONファイルを開いてみたのですが数値が何を意味するのか分からずにいます。
{"time":215925738,"N":61.32136154174805,"E":26.48275375366211,"D":-10.169696807861328,・・・
●"time":215925738 ってLOGファイルの TimeUSに対応しているの?
●"N"=North とすると数値(61.321・・)は何?、
●"E"=East とすると数値(26.482・・)は何?
●"D":-10.169696807861328って何? ・・・
など私には歯が立ちません。
ご存じであればご教示していただけるとありがたいです。