WRO国際大会出場
WRO国際大会inシンガポールの表彰台にチャレンジ!
FOR GOOD
プロジェクト実行者が支援金を全額受け取れるよう、支援者さまからのシステム利用料(220円+決済手数料5%)により運営しています。
2025/10/29 10:00
BFC活動報告_6
こんにちは!
本日は、BOSH社の9軸IMU(3軸ジャイロ+3軸加速度+3軸地磁気)の動作確認を行いました。私たちはEV3にラズパイ4Bを搭載しており、ラズパイ4Bで走行ログを残せないか検討してきました。
そこで、ロボットの回転制御を監視するためにジャイロセンサーを搭載することにしました。しかし、EV3純正ジャイロセンサーは精度が低く、出力も整数型(int型)のため、実用には向きません。
そのため、ラズパイにジャイロセンサーを搭載することにしました。今回使用したのは、BOSH社のBNO055です(後継機種としてBNO085もありますが、価格や入手のしやすさからBNO055を選びました)。
BNO055は9軸IMU(Inertial Measurement Unit)で、ジャイロセンサーのドリフトを地磁気センサーで補正できます。また、キャリブレーション機能も備わっており、大会会場での測定に最適化可能です。

ラズパイ4BとはI2C接続で接続でき、電源3.3VのVinとGND、SCL、SDAの4本のジャンパー線で簡単に接続できます。今回はキャリブレーションを行い、そのデータを.batファイルで保存し、読み出してジャイロセンサーの角度をリアルタイムで監視するプログラムを作成しました。
チップ内部のEEPROMにキャリブレーションデータを保存する方法もありますが、ライブラリのバージョンの関係で.batファイル経由にしました。
ロボットにはまだ搭載せず、ブレッドボード上での実験ですが、精度はかなり高く、ジャイロのドリフトはほぼなく、誤差も0.5度以内に収まる印象です。
加速度も搭載されているため、x軸上の加速度を二回積分して移動距離を計算するプログラムも試しました。
しかし、途中から加速度にオフセットが乗り、積分の影響で停止しているのに移動距離が増える現象が発生しました。
そのため、移動距離のマッピングには使用できなさそうです。I2Cセンサーについてはさらに研究したいところですが、大会まで1ヶ月を切っているため、今回はBNO055で開発を進めます。
競技でのBNO055の活用方法が確立できたら、改めてご報告します!
リターンを選ぶ