cvl-robot's diary

研究ノート メモメモ https://github.com/dotchang/

安価なIMU(AHRS)センサのBosch BNO055USBStickを試す(その1)

今まで姿勢センサとして、SparkFunのRazor 9DOFシリーズを愛用してきましたが、廃版になってしまい代替品を探していました。欲しい仕様は、

  • 基板面積が小さいこと
  • 簡単にWindowsPCにつながること
  • 方位が取れる6自由度出力であること

です。

姿勢センサ探し

同社から後継の9DoF Razor IMU M0というのも出ているのですが、1.無駄なピンが配置されていて基板のフットプリントが大きい、2.AHRSとして使いたいときの良さげな既存のソフトウェアが見当たらない、等の問題があり単純に置き換えて使うのは躊躇していました。

世の中の安価なIMUセンサの流行りを調べてみると、TDKが買収したInvenSenseのもの(MPU-9250など)と、BoschのBNO055というのが人気を集めているようです。どちらも、3軸加速度、3軸ジャイロ、3軸コンパスを小さいICに内蔵しているのですが、BNO055の方は更に、センサの校正(キャリブレーション)とIMU, AHRS(電子コンパス)出力へのデータ処理まで内部でやってくれるそうです。データ出力速度はMPU-9250の方がずっと速いようですが、生データを受け取って自分でキャリブレーションしたうえでカルマンフィルタなりMadgwickフィルタなりを計算しなければならず、かなり面倒臭そうです。BNO055の出力速度は良くても100Hz未満です。
ここでは、お手軽な方が良いですからBNO055を試してみたいと思います。

BNO055搭載のお手軽そうな製品探し

BNO055は、インターフェースにI2CとUARTを持っており、多くの製品はI2Cでマイコンボードに接続して使うことを前提にしているようです。UARTを直接出力に使っている製品を探したところ、2つあり一つはとても値段が高く折り合わなかったのですが、灯台下暗しでBosch純正の評価ボードがとても良い感じの大きさ(USBメモリぐらい)と値段(3~4000円ぐらい)で見つかりました。
BNO055USBStick
www.digikey.jp
f:id:cvl-robot:20180806153728j:plain

BNO055USBStickのテスト

BNO055 USB Stickのアプリケーションノートは、ここにありますが、文書中のソフトウェアへのリンクが壊れています。
BoschのWEBページはとても分かりにくいのですが、よく探すと
www.bosch-sensortec.com
のDevelopment Desktop Software 2.0というのが、BNO055USBStickのテスト用プログラムとして見つかります。簡単な操作方法は以下の通りです。

1.適切なCOMポートにつなぐ
2.Operation ModeのConfig ModeをチェックしてNDoFを選び、Confi Modeのチェックを外す
3.左下のStart Streamingを押す
f:id:cvl-robot:20180806163307p:plain
f:id:cvl-robot:20180806163311p:plain

BNO055USBStickの更新用ファームウェアはたぶんまだ配られていない

アプリケーションノート中にはBNOinUSBStick.fwu3という名前のファイルがfirmwareなので他のファイルで更新するな!との注意書きがあります。BNO055用のファームウェアアップデータはありますが、ファイル名が違うのでUSBStick用では無いようです。注意。
追記 Development Desktop 2.0(DD2.0)用のhelp updaterを追加インストールすると、ファームウェアのアップデートの方法が分かります。DD2.0を使ってアップデートを行います。ver.1.4のファームウェアファイルがhelpファイルのpdfと同じところに置かれています。

ドライバソースコード探し

USB延長ケーブルに刺したセンサを振り回すとグラフが動くので、センサは動いているようです。でも、自分のC++プログラムからアクセスする方法が見つかりません。標準で用意されているBNO055の汎用ドライバーは、I2CのものでUARTの参考にはしづらいです。
github.com

次は、自前のプログラムでBNO055USBStickを使う方法を調べていきます。

[1] GitHub - yoshito-n-students/bno055_usb_stick: A ROS driver of Bosch BNO055 USB Stick
[2] GitHub - yoshito-n-students/bno055_usb_stick_msgs
[3] https://ae-bst.resource.bosch.com/media/_tech/media/application_notes/BST_BNO055_AN009_01.pdf
[4] https://www.bosch-sensortec.com/en/bst/support_tools/downloads/overview_downloads
SoftwareのDevelopment Desktop Softwareを参照のこと。

今日の京都まんが

京都の老舗の菓子屋の家族の話。それぞれ問題を色々抱えながらもあたたかい話。

であいもん (4) (角川コミックス・エース)

であいもん (4) (角川コミックス・エース)

であいもん (5) (角川コミックス・エース)

であいもん (5) (角川コミックス・エース)