現在の状況:
屋内ローカリゼーション システム用のパーティクル フィルターを実装しました。磁場の指紋を使用します。粒子フィルターの実装は非常に単純です。
- エリア全体に均一に分布するすべてのパーティクルを作成します
- 各粒子は、速度 (「通常の」歩行速度の平均でガウス分布) と方向 (すべての方向に均一に分布) を取得します。
- 速度と方向の変更 (どちらもガウス分布)
- 最後の測定と現在の測定の時間差を乗じた速度で、指定された方向にすべての粒子を移動します
- 各粒子の最も近い指紋を見つける
- 最も近い指紋と指定された測定値を比較して、各粒子の新しい重みを計算します
- ノーマライズ
- リサンプル
- 測定ごとに #3 から #9 を繰り返します
問題:
ここで、基本的に同じことを行いたいのですが、システムに別のセンサーを追加します (つまり、WiFi 測定)。測定値が同時に表示される場合、問題はありません。次に、最初のセンサーの確率を計算し、これに 2 番目のセンサーの確率を掛けて、#6 の粒子の重みを取得します。
しかし、磁場センサーのサンプルレートは非常に高く (約 100 Hz)、WiFi 測定値はほぼ毎秒表示されます。
問題を処理する最善の方法が何であるかはわかりません。
可能な解決策:
- WiFi 測定値が表示されるまですべての磁場測定値を破棄 (または平均化) し、最後の磁場測定値 (または平均値) と WiFi 信号を一緒に使用できます。基本的に、磁場センサーのサンプルレートをWiFiセンサーのレートに下げます
- 磁場測定ごとに、最後に見た WiFi 測定値を使用します
- センサーを分離して使用しています。つまり、1 つのセンサーの測定値を取得した場合、他のセンサーの測定データを使用せずに、ステップ 3 から 9 のすべてを実行します。
- 私が考えていない他の解決策;)
どちらが最善の解決策になるかはわかりません。すべてのソリューションが良いとは限りません。
#1では、情報を失っていると言えます。粒子フィルターに約 100 Hz のサンプル レートを使用することが理にかなっているのかどうかはわかりませんが。
#2では、WiFi信号がすぐに偶然ではないと仮定する必要がありますが、これは証明できません.
センサーを個別に使用すると、WiFi 測定値が 1 つ表示されるまで、すべてのステップが磁気データで 100 回発生するため、磁場測定値が WiFi 測定値よりも重要になります。
この問題を扱っている良い論文を知っていますか?
粒子フィルターでサンプルサイズが異なる複数のセンサーを処理する方法の標準ソリューションは既にありますか?
100 Hz のサンプル サイズは意味がありますか? または、粒子フィルターの 1 ステップの適切な時間差はどれくらいでしょうか?
あらゆる種類のヒントや解決策をありがとう:)