屋内測位はBluetoothビーコンの最も価値のあるアプリケーションの一つです。GPS信号はコンクリート天井の下で減衰し、ビーコンベースのシステムが屋内の主要な代替手段となります。本記事では、2つの主要な測位アルゴリズム — RSSI三辺測量とフィンガープリント方式 — を実測精度データと導入トレードオフとともに比較します。
RSSIとパスロス
すべてのビーコン測位は受信信号強度指示(RSSI、dBm単位)に依存します。RSSIと距離の基本関係は対数正規パスロスモデルに従います:
RSSI(d) = A - 10 * n * log10(d)
各パラメータ:
- A:1m基準距離でのRSSI(CR2032駆動ビーコンで通常-60〜-70 dBm)
- n:パスロス指数(自由空間2.0、オフィス環境2.7〜3.5、障害物の多い工業空間4.0以上)
- d:距離(メートル)
距離の計算:
d = 10 ^ ((A - RSSI) / (10 * n))
課題:RSSIはマルチパスフェージング、人体吸収、アンテナ向きにより屋内環境で±5〜8 dBm変動します。5 mでの6 dBm誤差は40〜60%の距離誤差に変換され、生の単一ビーコン測距は信頼性に欠けます。
アプローチ1:三辺測量
三辺測量は少なくとも3つのビーコンからの距離円の交点から位置を推定します。各ビーコンは上記パスロス式で距離推定値を提供します。
アルゴリズム
- 各可視ビーコンからRSSIを収集(ノイズ低減のため5〜10サンプル平均)
- 較正済みパスロスモデルでRSSIを距離に変換
- 距離円の最小二乗交点を求解
ビーコン位置(xi, yi)、推定距離diの場合、目標位置(x, y)は以下を最小化します:
F(x,y) = Σ [(x - xi)² + (y - yi)² - di²]²
この非線形最小二乗問題は通常ガウス・ニュートン反復で解きます。初期推定にはビーコン位置の重心を使用できます。
精度ベンチマーク
12m × 8mオフィス空間、天井設置6ビーコン、CR2032駆動、0 dBm / 100ms送信での実測:
| シナリオ | 可視ビーコン | 中央値誤差 | 90パーセンタイル |
|---|---|---|---|
| オープンオフィス | 4–5 | 1.8 m | 3.5 m |
| キュービクルエリア | 3–4 | 2.6 m | 5.1 m |
| 廊下 | 2–3 | 3.2 m | 6.8 m |
| 身体遮蔽あり | 3–4 | 4.1 m | 8.3 m |
可視ビーコンが3未満の場合やユーザーの体が視線経路を遮る場合、精度は著しく低下します。
較正要件
三辺測量はビーコンごとのパスロスパラメータ(A, n)の較正が必要です。実用的な較正手順:
- 各ビーコンから1 mの位置に基準受信機を設置、100 RSSIサンプル記録、中央値計算 → A値
- 2 m、5 m、10 mでRSSIを測定
- log10(d) vs RSSIの線形回帰でnをフィッティング
- 四半期ごとに再較正 — バッテリー電圧低下によりビーコンライフサイクル中にTX電力が1〜3 dBmシフト
アプローチ2:フィンガープリント方式
フィンガープリント方式は距離推定ステップを完全にバイパスします。代わりに、オフライン調査フェーズで空間のラジオマップを構築し、ライブRSSI観測をこのマップと照合します。
オフラインフェーズ(調査)
- 床平面をグリッドに分割(通常1〜2メートル間隔)
- 各グリッドポイントで全可視ビーコンから10〜30秒間RSSI収集
- RSSIベクトルとビーコンIDリストをフィンガープリントとして保存
1000 m²の床で1 mグリッド間隔では約1000フィンガープリント。各フィンガープリントは5〜15ビーコンのRSSI値とメタデータ(タイムスタンプ、向き)を含みます。
オンラインフェーズ(測位)
最も一般的なマッチングアルゴリズムは重み付きK近傍法(WKNN)です:
- 可視ビーコンからライブRSSIベクトルを収集(2〜5秒窓)
- 全フィンガープリントとの類似度(ユークリッド距離またはタニモト係数)を計算
- K個の最も近いフィンガープリントを選択(K=3〜5が典型的)
- 距離の逆数で重み付けし、位置の重み付き重心を計算
精度ベンチマーク
同一12m × 8mオフィス空間、6ビーコン、1 mグリッド間隔、WKNN K=4:
| シナリオ | 中央値誤差 | 90パーセンタイル | 調査時間 |
|---|---|---|---|
| オープンオフィス | 1.1 m | 2.3 m | 2.5時間 |
| キュービクルエリア | 1.5 m | 3.0 m | 3.0時間 |
| 廊下 | 1.3 m | 2.8 m | 1.5時間 |
| 身体遮蔽あり | 2.0 m | 4.2 m | — |
フィンガープリント方式はマルチパスが支配的なクラッタ環境で特に、中央値誤差で三辺測量を30〜50%上回ります。ラジオマップはパスロスモデルが表現できないマルチパスパターンを暗黙的にキャプチャします。
直接比較
| 要因 | 三辺測量 | フィンガープリント |
|---|---|---|
| 精度(中央値) | 1.8–4.1 m | 1.1–2.0 m |
| セットアップ時間 | ビーコンあたり~30分 | 階あたり2〜4時間 |
| ビーコン再配置 | A,nの再較正 | 全再調査 |
| 環境変化 | 段階的劣化 | 再調査が必要 |
| 計算コスト | 低(行列求解) | 中(KNN探索) |
| スケーラビリティ | 優秀 | DB線形増大 |
| 最小ビーコン数 | 3 | 4+推奨 |
ハイブリッドアプローチ
本番システムは両手法を組み合わせることが多いです。一般的なハイブリッドパイプライン:
- 三辺測量で粗位置推定を取得(3〜5 m精度)
- 三辺測量推定の5 m半径内にフィンガープリントマッチングを制限
- この縮小検索空間内でWKNNを適用
フィンガープリントDB検索を~1000エントリから~50に削減し、計算時間を80%短縮しながらフィンガープリントレベルの精度を維持します。
ビーコン密度と配置
測位精度はビーコン配置に大きく依存します。主要ガイドライン:
- 密度:1〜2 m精度でビーコン25〜50 m²あたり1個、3〜5 m精度で100 m²あたり1個
- 設置高:2.5〜3.0 m天井設置が最適なカバレッジ均一性を提供
- 配置:直線配置を避ける。三角形/六角形テセレーションが精度の幾何学的劣化(GDOP)を最小化
- TX電力:屋内測位では+4〜0 dBm。高電力は干渉増大、低電力は範囲が有用閾値を下回る
- アドバタイズ間隔:リアルタイム追跡100 ms、定期監視300〜500 ms。100 ms未満はCR2032を2〜3ヶ月で消費
フィルタリングと平滑化
生の測位推定は大幅にジッターします。カルマンフィルタやパーティクルフィルタが軌跡を平滑化します:
- カルマンフィルタ:ユーザー運動を等速モデル化。最小計算で90パーセンタイル誤差を20〜30%削減。状態ベクトル:[x, y, vx, vy]。
- パーティクルフィルタ:非線形運動とマルチモーダル位置分布をより良く処理。500〜1000パーティクルで5 Hz更新レートのスムーズ追跡を提供。
- マップ制約:フィルタ後位置を歩行可能エリア(壁、障害物を除外)にクランプ。物理的に不可能なジャンプを排除。中央値誤差を追加で10〜15%削減。
一般的な導入ミス
- ビーコン数不足:ゾーンあたり2〜3ビーコンのみ配置。三辺測量は3+可視が必要、フィンガープリントは4+が堅牢なマッチングに有益。
- 向きの無視:人体は2.4 GHz信号を10〜20 dB減衰。一方向のみでフィンガープリントを収集すると、ユーザーが別方向を向いた際に系統バイアスを生む。
- 古いフィンガープリント:家具再配置、新規パーティション、季節変化(湿度が2.4 GHz伝播に影響)がラジオマップを無効化。四半期再調査をスケジュール。
- 未較正TX電力:部品公差によりビーコンTX電力は±3 dBm変動。ビーコンごとに測定・補正しないとフィンガープリントが誤差を引き継ぐ。
- 過剰フィルタリング:過度の平滑化はシステムの遅延感を生む。良いルール:フィルタ時定数は歩行速度アプリで1秒を超えないこと。
結論
ほとんどの屋内Bluetoothビーコン測位導入において、WKNNマッチングによるフィンガープリント方式は三辺測量より30〜50%優れた精度を提供しますが、セットアップ時間が長くなります。ハイブリッドアプローチ — 粗推定に三辺測量、精緻化にフィンガープリント — が精度、計算量、保守性の最適バランスを提供します。アルゴリズムの選択に関わらず、ビーコン密度、配置、個体較正がアルゴリズム選択自体よりも重要です。