前稿の二円指向三点測位(以下、旧版、と呼びます)では端末を正方形型に配置し(図1のA~I)、ビーコン(図1のB)のRSSIを測定して端末とビーコン間の距離(=半径)を算出しました。通常の三点測位では3円が重なっていないとエラーとなりますが、本測位モデルでは C1 と C2 (図では E と F)で x 座標を、C1 と C3(図では E と B) で y 座標を算出することにより、ビーコン(B)の位置と推定しました。
図1:二円指向三点測位(旧版)のイメージ
Image of 2 circles-oriented trilateration (old ver)
端末は安価で定評も実績もある Raspberry Pi を使用しています。RPには多くの機種があり、信号受信アンテナの設置位置や無線チップも異なる(最新の3B+ではBCM2837B0、その他はBCM2837)ので、こちらも1つの機種限定したほうが簡単ですが、将来的な入手の容易性、拡張性、柔軟性を念頭に複数のシリーズを使用しています。
ビーコンから送信される信号はRaspberry Pi で受信・加工され、アプリケーションサーバを介して、データベースに書き込まれます。今回はデータベースに SQLite を使用しましたが、多数の端末を使用する場合はマルチユーザ利用に適した MySQL や PostgreSQL 等を使用する方が良いと思います。
3つ目の補正方法が領域補正です。上述の式1に n という係数がありますが、この n は伝搬損失係数(Path-loss index)と呼ばれ、理想的な環境では2となります。しかし、電波は干渉、減衰、回折、反射、吸収の影響を受けるため、端末とビーコンの配置場所により変動します。
式1を展開して n を求めると以下のようになります。
式2:伝搬損失係数 n の算出式
本補正法では、この n を使用して補正を実施します。
まず、アプリケーション(tpclocation.js)は、図のように近接する2つの固定ビーコン間で n を求めます。
下図のように監視対象とするエリアを正方形で区切り、各正方形の頂点に監視端末(Raspberry Pi、図のピンクのマーク)を配置して、ビーコン信号をスキャンします。図の青いマークがビーコンで、これらが人やモノに取り付けられて移動します。Raspberry Pi の間隔、つまり各正方形の辺の長さは、障害物や人の多い場所や、高い測位精度が求められる環境では狭くします。 逆に障害物や人が少ない場所や、測位精度を重視しない環境では広く取り、端末の台数を減らすことができます。