2012-03-28 20 views
10

私はAndroidで走行速度と走行距離を記録できるフィットネスアプリを実装しようとしています。GPS V.S.加速度計を使って距離を計算する

私はこれらの情報を計算するためにGPSまたは加速度計を使うことができるようです。

ランナーは、携帯電話を肩やポケットに置くことができるので、私の最初の直感は、GPSを使用して位置を取得し、走行速度と走行距離を計算することです。しかし、最近、誰かが私にも加速度計を使うことができると教えてくれました。

私の質問は次のとおりです:Androidでは、実行速度と走行距離、GPSまたは加速度計を計算する方が良いですか?

答えて

7

歩数計は加速度計がGPSよりも安価であるため、歩数計が加速度計に基づいていると思われます。実際に私は歩数計の多くは距離を測定しようとしないと思う。均等なステップだけの加速ジョルト。それらがあなたに距離測定を与えるならば、それは、検出されたステップに、推測されたステップサイズまたは平均ステップサイズを乗算することによるものです。

GPS(あなたが動作しているエリアにいる場合は!)は、距離の非常に良い測定を行います。非常に安いGPS受信機でも。基本的にはすべてOKですが、開始位置と終了位置が10m以内にあることを期待してください.1km旅行の場合、無認可の距離は2mです。この無認可は、距離の移動に伴って直線的に減少します(つまり、2kmの走行は1%の無認可、4kmの走行は0.5%の無認可などあります)。ここでの問題はリアルタイム表示になります(衛星の切り替えによるGPS位置のジャンプは、 、または直ちに表示可能なすべてのデータを失う信号の即時損失)

私は良い加速度計で、停止から始めると、信号を継続的に積分して速度を得て、その結果を継続的に積分して距離を得ることができると思います。私は、特定の携帯電話でどのような種類の加速度計の品質が得られるか確信していますか?ノイズやゴミデータをフィルタリングする必要があるかもしれません。また、正確さについても考慮する必要があります。あなたのセンサーの20%の精度は非常に悪い距離のトラッカーになります。したがって、ステップカウントとステップサイズ推測で作業する必要があります。

おそらく両方の組み合わせが機能しますか?

短い時間枠で速度と距離を追跡するために加速度計データを使用する(積分するか歩進するかに応じて積算するか歩進するか)、長いGPSデータを使ってGPSデータを修正することができますそのデータを加速度計からスケールすることができます。特に、任意の時点で無差別測定に基づいてGPSデータをフィルタリング/ブロックした場合。

+0

GPSが奇妙な結果を得ることがあると付け加えたいと思います。 _ランニング_時に最大40km/hの速度を表示するため、速度を測定するためには加速度計が適しています。 –

+0

人々は通常直線的に移動しないので、GPSデータで計算された距離の不確実性ははるかに大きくなります。 – Foreever

2

私が知っているすべての歩数計は、加速度計に基づいています。私は、GPSはこのようなもののために十分正確ではないと思います。いくつかのステップを実行している間は「動きなし」と表示され、使用しようとしている領域にも依存します。

4

ジュリアンの言葉に加えて...通常、GPSは屋根の下では機能しませんので、屋内のジムでは機能しません。理論的にはGPS信号は雲には悩まされませんが、自分のGPSアプリケーションで作業していたときには本当に悪天候でGPS信号が得られないという経験がありました(これは雷雨でジョギングする人がいないため、 Julianに同意するには、GPSと加速度計の両方を使用して、あらゆる状況に対応する信頼できるアプリを構築する必要があります。

+0

ええ、悪天候はGPS受信の方法になります。ツリーの枝でさえ、マルチパス反射のために正確なRTKシステムで大きなエラーを引き起こします。 –

+2

GPSのRF信号は実際には電波のノイズフロアの下にあるため、GPSがまったく動作するということは素晴らしいことです。ハードコアの物理学者の多くは、数え切れないほどの数々の優れた数学の結果を生み出しています。 :-) –

3

をセンサー融合によって得た場合、最良の結果が得られます。参照:

Android accelerometer accuracy (Inertial navigation)

あなただけのGPSや歩数計アルゴリズムのいずれかを使用する場合は、精度に問題があります。

関連する問題