IMUとは?
すべての Marvelmindビーコンには6D慣性計測ユニット(IMU)が内蔵されています。構成:3D 加速度計+3D ジャイロスコープ。
ジャイロスコープとは?
まずはWikiの定義をご覧ください:ジャイロスコープ
覚えておくべき重要な点:
- ジャイロスコープが提供するのは方向の変化であり、壁や固定ビーコンに対する方向ではありません。そのため、たとえばロボットにジャイロスコープを搭載していても、ロボットがどちらを向いているかは判定できません。一方で、たとえば13.7度の旋回なら、非常に高い分解能、非常に高い更新レート、低レイテンシで容易に測定できます
- ジャイロスコープはドリフトします。キャリブレーションを行えばドリフトは小さくなります
デモ
IMUの動作をライブで確認:回転するキューブ(この機能は当社の研究開発用で、標準のDashboardでは利用できません)。ただし、ジャイロスコープと加速度計のグラフはDashboardで簡単に確認できます:
- Dashboardで View (Tools) => Accelerometer data を開く
- Dashboardで View (Tools) => Gyroscope data を開く
方向にはペアードビーコンを使用
なお、当社のビーコンには磁気センサーは内蔵されていません。ただし、空いているI2C、UART、またはSPIインターフェースを介して、Super-Beaconに比較的簡単に接続できる可能性があります。
当社は屋内での磁気センサーの使用をお勧めしません。強磁性金属や移動体自体の強磁性金属ボディ、さらに屋内やモバイル機器の配線を流れる電流が作る磁場によって、地球の磁場が大きく歪む可能性が高いためです。
代わりに、ペアードビーコン構成の使用をお勧めします。移動体に2台以上のモバイルビーコンを、移動体が許す限り広い間隔(ベース)で取り付ければ、静止状態でも非常に正確な方向データが得られます:
IMUは方向を示さない
誤解のないよう、改めて強調します。IMU(ジャイロスコープ)は方向を提供しません。提供するのは方向の変化です。IMUは非常に正確・高精度・安定しており、キャリブレーションなしでもドリフトは比較的小さいです。しかし、それは方向ではありません。ある基準方向に対する方向の変化です。
GPSも方向を提供しません。GPSが与えるのは位置だけで、方向ではありません。
ビーコン1台とIMUだけで方向を得ることも可能です:
- IMUで現在の方向をロックする(IMUの読み値を記録する)
- 任意の方向に30〜100cm前進(走行/飛行)する。IMU/ジャイロスコープを使って直線を保つ
- 超音波測位で位置を測定する
- IMUの読み値と、同じく直線になるはずの超音波による位置の読み値を対応付ける
- 方向を計算する
- IMUの読み値は方向の素早い変化を捉えるためだけに使い、IMUの長期的なドリフトは超音波測位で常に補正し続ける
- かなり複雑で手間がかかる
- 方向を確定する前に、ある程度の距離を走行または飛行する必要がある。多くの場合、それは望ましくないか、実行が難しいか、そもそも不可能である
- 超音波 + IMUのロックと常時キャリブレーションを自分で実装する必要がある
- 静止状態でも方向が得られる
- 方向取得のための超音波 + IMUセンサーフュージョンは実装済みで、すでに有効:方向の更新レート100Hz、レイテンシ約10ms
- モバイルビーコン間の基線を30cm超にできる、比較的大きな物体にしか使えない。基線10cmで試すことも可能だが、方向がかなり不正確になり、不安定になることさえある
- モバイルビーコンが1台増える = 重量とコストが増える
このテーマについて詳しくは、関連するブログ記事をご覧ください:ドローン1機あたりに必要なモバイルビーコンの数は?
プロトコルとインターフェース
IMUデータは次から取得できます:
- モバイルビーコン:100HzのIMUデータ、レイテンシ約10ms
- モデム:超音波による位置更新と同時にIMUデータ(通常は約8Hz)
IMUデータの内容:
- 生のIMUデータ:3D加速度センサーと3Dジャイロスコープ
- クォータニオン
- ペアードビーコンに基づく方向(実質的にはクォータニオンのヨー)
ダウンロード:プロトコルの説明(詳しい情報が記載されています)。