2014年1月28日火曜日

iBeaconで屋内測位成功のヒントをつかんだ!






本ブログ「屋内測位をやってみました」で、始めた屋内測位ですが、あれからいろいろやってみて、だいぶまともに動くようになってきました。今回はある会議室にビーコンをだいたい3m四方に12個配置しました。使用したビーコンは、Estimote社のものを使っています。このビーコン出力が弱いため、精度を出すには3mという短い間隔で置くしかありませんでした。使用した測位アルゴリズムも、トリラテレーション(Trilateration)ではなく、近辺のビーコン位置にRSSI値をもとにした加重平均をとる方法を採用しました。

では、実際の実験の様子をご覧ください。





動画は実行の様子ですが、予め会議室のマップやビーコンの位置と校正値は設定しておく必要があります。

会議室の様子




会議室のマップの設定の様子


 
 マップ入力画面
 
 方向入力画面


ビーコン配置の様子

 この実験では、天井に貼付ける形で配置した。実際の利用シーンでも地面や人の通る高さに置くと、人やものによって遮られるため、天井に貼付けた方がよいとの判断。柱や機材が障害物としてあるが、今回の実験ではそれほど影響はでなかった。
 
  

座標設定とキャリブレーションの様子

 
 各ビーコンに対して、座標設定と校正値の設定を行う。対象のビーコンに近づけて測定開始し、どのビーコンが測定されているのか確認する(アプリでは色で確認できるようにしてある)。

CoreLocation のBeaconを用いて、測位を行うためのポイントは、ProximityがFarのビーコンは、RSSI値はそれほど精度がよくないので、無視してしまうことです。このやり方をすれば、今回は加重平均をとるやり方を採用しましたが、おそらく、トリラテレーションをとるやり方でもそれなりの精度は出せると思います。また、近隣ビーコン位置のRSSI値による加重平均に加えて、時間的な平均もとっておく必要もあります。こうして、測位したのが上の実験です。


140 180 iBeacon , 屋内測位

記載されている会社名、および商品名等は、各社の商標または登録商標です。

5 コメント:

  1. 向きは、地磁気センサーの情報ですか?

    返信削除
    返信
    1. はい、そうです。CoreLocationのHeadingを用いています。

      削除
    2. 地磁気センサーの情報を使ってます。地磁気センサーも建物の中だとかなりいろいろなものに影響されて場所によってはまともに動かないですね。ビーコンをだいたいの方角を決めるのに使うってのもありかもしれません。

      削除
    3. なるほど、そうなんですね。面白い。

      削除
  2. やってみたい.アプリをパブリックしていますか.あるいはopen sourceですか?

    返信削除

Related Posts Plugin for WordPress, Blogger...