BNO055とRTK Heading角基準での精度評価実験で、データの統計処理で困ったので、
新しい方法を考えました。
●データ処理でやりにくい課題
BNO yaw角もRTK Heading角も0-360度で出力されますが、ぐるぐる回転していると360度を超えると0度から始まるので、数値として断続してしまって、計算処理しにくい。
●解決策
①回転角を累積して足していって、距離を出す感覚で、角度を累積数に換算する
1回転が終わって、360度こえて2度になったら、360度たして362度として
2回転目がおわって、720度が3度になったら、720度足して723度とします。
メリット:折り返しで、BNOとRTKの誤差が大きくなっていたのが、折り返しがなくなるので
フラットな直線として、全箇所統計計算にのるようになった。
デメリット:円回転のみ、一般の運動で使える方法かどうかは不明
②統計処理にのるので直線回帰式を求めて、その式で逆算して誤差を求める
BNO yaw角とRTK Heading角の周期を補間したデータを
XYプロットして、相関グラフにして直線回帰式を求めて、得られた回帰式を
BNO yaw角で計算させて、得られたデータとRTK Heading角の周期補間したデータを比較します。回帰式で最小二乗法で、最もばらつきが少ない処理をしているのでその誤差をBNOの誤差とします。
●前回までのやりかた
生データは、折り返しが激しく、両者を比較するために、前回までは、VBAで周期を合わせた後に差分をとって、誤差のレンジでみてました。
●今回からの統計処理
①回転速度での差を実験した。2.5m/secと勢いよく回す高速と0.5m/sec付近で手でゆっくりと押しながら回す低速の2水準で、誤差を測定
②直線回帰して、誤差を茶色の線でプロットすると、スタートは、+15度誤差
だんだん減少してー10度と変化しました。
③低速では、±4度レンジに収まってます。明らかに低速のほうがばらつきが少ないです。
●考察
①基準となるRTK Heading角の速度特性が分ってないので、速度特性を調べる必要がある。絶対的な角度基準として、エンコーダで角度のマーキングする必要がある。
②BNOのyaw角の速度依存性があるなら、センサフュージョンの影響なので、リニアの加速度、各加速度もデータとしてログして速度変化による影響をみる必要がある。
●以後
いろいろな条件をふりながら、様子をみてみます。
RTKの速度特性の基礎実験の準備もしていきます。
BNOの全データログもプログラム変更しておきます。