本ブログ「屋内測位をやってみました」で、始めた屋内測位ですが、あれからいろいろやってみて、だいぶまともに動くようになってきました。今回はある会議室にビーコンをだいたい3m四方に12個配置しました。使用したビーコンは、Estimote社のものを使っています。このビーコン出力が弱いため、精度を出すには3mという短い間隔で置くしかありませんでした。使用した測位アルゴリズムも、トリラテレーション(Trilateration)ではなく、近辺のビーコン位置にRSSI値をもとにした加重平均をとる方法を採用しました。
では、実際の実験の様子をご覧ください。
会議室の様子
会議室のマップの設定の様子
マップ入力画面
方向入力画面
ビーコン配置の様子
座標設定とキャリブレーションの様子
各ビーコンに対して、座標設定と校正値の設定を行う。対象のビーコンに近づけて測定開始し、どのビーコンが測定されているのか確認する(アプリでは色で確認できるようにしてある)。
CoreLocation のBeaconを用いて、測位を行うためのポイントは、ProximityがFarのビーコンは、RSSI値はそれほど精度がよくないので、無視してしまうことです。このやり方をすれば、今回は加重平均をとるやり方を採用しましたが、おそらく、トリラテレーションをとるやり方でもそれなりの精度は出せると思います。また、近隣ビーコン位置のRSSI値による加重平均に加えて、時間的な平均もとっておく必要もあります。こうして、測位したのが上の実験です。
記載されている会社名、および商品名等は、各社の商標または登録商標です。
向きは、地磁気センサーの情報ですか?
返信削除はい、そうです。CoreLocationのHeadingを用いています。
削除地磁気センサーの情報を使ってます。地磁気センサーも建物の中だとかなりいろいろなものに影響されて場所によってはまともに動かないですね。ビーコンをだいたいの方角を決めるのに使うってのもありかもしれません。
削除なるほど、そうなんですね。面白い。
削除やってみたい.アプリをパブリックしていますか.あるいはopen sourceですか?
返信削除