USB出力9軸IMUセンサモジュール

usb9s

InvenSense社(インベンセンス)の9軸センサ(3軸加速度,3軸ジャイロ,3軸コンパス)MPU9250を使用したセンサモジュールです.

本モジュール上には9軸センサとマイコン(lpc1343)が実装されており, センサデータの取得とデータの処理を一枚の基板で実現が可能です.

USB出力9軸IMUセンサモジュール(以下, 9軸センサモジュール)はロボット,マルチコプタ,ゲーム・アミューズメント,モーションセンサ,ポータブルナビゲーション,ラジコン,模型ヘリ,ヘッドマウントディスプレイなどの製品の開発段階での使用を想定して設計されています.
インターフェースはUSBとUARTがあり,すでにマイコン側にサンプルプログラムが書き込まれているので,接続するだけですぐにセンサ値を取得することができます.また,マイコンのプログラムを自分で書き換えることでボード側にてレンジやフィルタ等を設定することもできます.

microUSBケーブルを用いてPCと接続した際にはVirtual COM Portとして認識されます.

アプリケーション側からは通常のシリアルポートでのアクセスとまったく同様に使用することが可能です.

出力されるデータは3軸加速度, 3軸地磁気, 3軸ジャイロセンサ, 温度になります.データ更新の周期は100Hzです.各センサの測定レンジは加速度 ±16[g] , ジャイロ±2000[deg/sec], 地磁気 ±1200[μT]になります.

また, ROS(Robot Operating System)にも対応しており, ROS用パッケージも公開しています。

仕様

  • サイズ:30mm×30mm×4.4mm
  • 重量:4g
  • センサ:MPU9250
  • サンプリングレート:100Hz
  • ローパスフィルタ :100Hz以上カット
  • プロトコル(USB,UART):115.2kpbs
  • USBバスパワー動作
  • マイコン:LPC1343 72MHz
  • 各センサの測定レンジはMPU9250の最大レンジに設定
  • ROS対応

ROS (Robot Operating System)用のパッケージをご用意しておりますので、ROSシステムにそのまま組み込めます。
GitHubリポジトリ
解説wiki

サンプルプログラム

  • Processing用プログラム (モジュール動作確認用)
  • センサ値取得用Firmware
  • LPCXpresso用サンプルプロジェクト (lpc1343の開発用)

サンプルプログラムはこちら(GitHub)

Q & A

Q.ジャイロセンサや角速度センサが静止状態にもかかわらず, 出力値0とならないのはなぜですか?
A.MEMSジャイロセンサや加速度センサには原点のオフセットが存在します.
静止時のオフセットを出力値から差し引いてください. より詳しい説明が
マニュアル4章の「センサ出力値のバイアス」という項目にあります.

Q.方位の出力はできますか?
A.地磁気センサの出力は方位や角度ではなく, 各軸の磁気の強さになります.
磁気の強さから方位や角度の計算は可能です.

Q.地磁気センサの出力値は周辺のパソコンや金属の影響を受けるか?
A.はい, 影響を受けます. また, 地磁気センサの出力値には周囲に磁気を
発生するものがない場合でもセンサ出力にオフセットが存在します.

Q.Linux用環境においてUSB経由でセンサを使用した場合, どのように認識されますか?
A./dev配下にデバイスファイルができます. データの取得にはioctlという仕組みを使う
必要があります. Linux用のサンプルプログラムがダウンロードファイル一式の中にありますので,
そちらも参考にしてください.

Q.PCで読み込むデータが数秒~数十秒遅延しているのはなぜですか?
A.USBシリアルデータはPC側である程度バッファされています。
リアルタイムでデータを読み込むときは、バッファクリアをしてください。

お気軽にお問い合わせください。