6

I'm using GPS units and mobile computers to track individual pedestrians' travels. I'd like to in real time "clean" the incoming GPS signal to improve its accuracy. Also, after the fact, not necessarily in real time, I would like to "lock" individuals' GPS fixes to positions along a road network. Have any techniques, resources, algorithms, or existing software to suggest on either front?

A few things I am already considering in terms of signal cleaning: - drop fixes for which num. of satellites = 0 - drop fixes for which speed is unnaturally high (say, 600 mph)

And in terms of "locking" to the street network (which I hear is called "map matching"): - lock to the nearest network edge based on root mean squared error - when fixes are far away from road network, highlight those points and allow user to use a GUI (OpenLayers in a Web browser, say) to drag, snap, and drop on to the road network

Thanks for your ideas!

4

5 に答える 5

6

これは歩行者追跡用であると述べていますが、道路網についても言及しています。歩行者は、車が移動できない多くの場所を移動できます。実際、「道路網」で見つけた地図にはおそらく載っていません。ほとんどのロード マップには、公園内の遊歩道やハイキング コースなどはありません。「道路ネットワークから離れている」からといって、GPS が正確な情報を取得していないことを意味するとは思わないでください。

于 2008-12-01T16:10:37.443 に答える
6

危険な読み取りによって引き起こされる誤ったスパイクを削除するために、データを「クリーン」にしたいと思います。これは基本的な dsp プロセスです。これにはいくつかのアプローチがありますが、どれだけ賢くしたいかによって異なります。

はい、基本的なレベルでは、非常に大きな数字を探すことができますが、本当に大きな数字とは何ですか? ええ、600mphは速いですが、コンコルドに乗っている場合はそうではありません. 「普通ではない」値を探している間、「普通」を効果的にハードコーディングしています。より良いアプローチは、過去のデータを調べて「通常」とは何かを判断し、偏差を探すことです。小さなローカル ウィンドウでデータの分散を計算し、現在のデータの Z スコアがあるしきい値より大きいかどうかを確認し、大きい場合は除外することを検討してください。

于 2008-12-01T09:13:56.690 に答える
6

1 つの注意: 最小衛星として 0 ではなく 3 を使用する必要があります。GPS が水平位置を計算するには、少なくとも 3 つのソースが必要です。私が使用したすべての GPS には、データ ストリームにステータス フラグが含まれています。3 つ未満の衛星は何らかの形で「不良」データとして報告されます。

「定常」データも考慮する必要があります。一定時間静止している歩行者をどのように処理しますか? おそらく、横断歩道で待っているか、露天商とやり取りしていますか?

データをどう処理するかによって、余分なデータ ポイントを抑制するか、単一のポイントまたは場所に平均化する必要がある場合があります。

于 2008-12-01T15:45:10.957 に答える
4

posfixを読んで、シグナルが有効かどうかを確認します(生のNMEA文字列を解析する場合は$ GPGGA文のどこかにあります)。0の場合、メッセージを無視します。

それに加えて、信号が非常に正確であることを本当に確認する必要がある場合は、HDOPと衛星の数の組み合わせを調べることができますが、通常の状況では必要ありません。

もちろん、GPS信号の健全性チェックを行うことは問題ありません。

  • -90..90の間の緯度;
  • -180..180(または生のNMEA文字列を読んでいる場合はE..W、N..S、0..90および0..180)の間の経度。
  • 0から255の間の速度(通常の車の場合);
  • 以前の測定一致までの距離(緯度/経度に基づく)は、示された速度とほぼ一致します。
  • システム時間がx以下の時差(システムクロックが信頼できない場合、またはGPS同期に依存している場合を除く:-));

マップマッチングを行うには、基本的に道路セグメントを反復処理し、現在の位置、方向、速度、および場合によっては以前のgps測定とマッチングに最も適したセグメントを確認します。リアルタイムアプリケーションを実行していない場合、またはフィードバックの遅延が許容できる場合は、「将来」を調べて、どのセグメントが最も可能性が高いかを確認することもできます。

それをきちんとやるのはそれ自体が芸術であり、ここのこの空間は短すぎて深く掘り下げることはできません。誰かがどの道路セグメントに住んでいるかを100%の自信を持って判断するのは難しいことがよくあります。たとえば、現在の位置に等しく近い2つの平行な道路がある場合、それは創造的なヒューリスティックの問題です。

于 2008-12-23T03:40:02.917 に答える
4

Andrew のコメントに加えて、マルチパスなどの干渉要因と、それらが着信 GPS データ ストリームにどのように影響するか (NMEA0183 の GSA ラインの HDOP など) を考慮することもできます。私自身の GPS コントローラー ソフトウェアでは、QA 関連のパラメーターの範囲に対してユーザー指定の拒否基準を許可しています。

また、この点に関して、移動ウィンドウの原則に取り組む傾向があります。この場合、同じウィンドウ内の周囲のデータに基づいてスパイクを表すデータを拒否することを検討できます。

于 2008-12-01T10:17:39.883 に答える