【IMU】BNO055とBNO085の繰り返し精度比較<ドリフト精度倍以上違う>

上記グラフ 黒線はBNO085 yaw角 青緑線がBNO055 yaw角です。
10か月もBNO055をいじってきたので、BNO085に乗り換える意義をしっかりと確認しておきます。

●やった方法
 プラボックスの側壁にBNO055とBNO085を貼り付けて、ESP32Dとバッテリーも収納して
BlueToothで両者のyaw,pitch,rollを同期送信して、PCのCPLTでリアルタイムグラフを記録する

ESP32のプログラムは、GISTにおいてあります。BNO055は、I2C  BNO085は、UART-RVCモードです。
 https://gist.github.com/dj1711572002/ecd6f1c11f9b52f38688d08af5a4a437

BNO055は、NDOFモードでフルFUSIONです。Quarternion からyaw,pitch,roll角を計算出力
BNO085は、RVCモードのyaw,pitch,rollを出力

周期は50msec
磁気環境は、1m距離にデスクトップPCとか20cmにノートPCがあるとか、決して磁気センサにはよろしくない環境ですが、両者同じ環境です。
●結果
①基準位置から360度回転して基準位置での誤差を見る
どんどんドリフトしていきますが、14回転させて累積誤差でみると
BNO055は、ドリフト幅18度、BNO085は、8度と半分以下のドリフト精度で収まってます。
いずれにせよ、360度回転の累積精度は、センサのファームでは想定範囲外の使い方みたいです。

②BNO085のUART-RVCモードは、Z軸が重力下方向の姿勢とZ軸が水平方向でノイズがはいります。
Z軸水平方向だとノイズがはいってますが、BNO055と比べると半分以下の誤差精度です。

③0-90度往復、0-180度往復、0-360度回転でどんどんドリフトが大きくなりますが。
BNO085は、180度以下の往復回転では、2度以内なので優秀です。


●感想
BNO055は、キャリブレーションを随時行ってるのですが、BNO085は、自分がどういう使われ方をしているかという動作分類機能をもっているので、それにしたがって、キャリブレーションしているので、BNO055より賢くキャリブレーションするのではないかと類推してます。ハードが同じなので、ドリフトは同じなので、ファームでいかに補正するかの違いですので、ファームの賢さが重要です。データシート見ると、BNO085は、電子機器メーカーの技術者が機器に組み込むための様々な機能をもってます。これらの機能を使えば、詳細なセンサとファームの状態が把握できると思いますが、私は、ユーザーなので、出力の精度が確保されていれば、それで、アプリケーションを開発する方向でいきます。

※その後
回転運動と手で振り回す運動で、RTK Heading角とBNO085のyaw角精度比較して2σ=±5度程度の実測値を得たので、使えると判断しました。私の場合はRTKがあるので、直線運動時にBNO085のyaw角とRTKのheadMot角が一致するので、そこで、補正値を決めれば、BNO085でも±1度以内になると見込んでます。IMU単体だと±1度以内の精度の良いyaw角を得るには、数十万円から百万円のIMUが必要ですが、5万円のRTKと組み合わせることで、yaw角精度が高精度になる方法を開発してます。

【STA24】BNO085yaw回転精度をRTK Heading角基準で測定<2σで5度以内>

 

●以後
BNO055は、pitch roll専用センサとして太ももにでも装着するように使います。
BNO085は、RTKシステムBOX内に収納しようと思います。ただし、Z軸下方向の姿勢を維持できるように
レイアウトすることが重要です。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です