9

車の現在の速度を知り、通過経路を作りたい。加速度計とジャイロスコープを備えた Android 携帯を持っていて、データを送ってくれました。これは電話の座標系のデータで、車の座標系とはおそらく同じではありません。

この加速度と回転を車の座標系に変換するにはどうすればよいですか?

4

4 に答える 4

16

一般的な質問に対する一般的な答えは ですno。加速度は速度の変化を測定するため、加速度から得られる最高のものは速度の変化です。

を取得するには、 を取得して速度変更に追加するabsolute speed必要があります。initial speed

v(t) = v0 + a*t

したがって、車が直線に沿って移動し、デバイスが車に固定されている場合、速度の変化を簡単に取得できます (ただし、測定誤差が加算され、すぐに不一致につながります)。

実際には、それを実装しようとすると多くの問題に直面します。

  • initial speed加速度と同じ基準に基づいて決定する必要があります。これには、異なるセンサーから異なる速度で両方の値を取得するため、いくつかの測定と多くの三角法が必要になります。
  • 車は直線で移動しないため、加速度の参照は常に移動します (三角法と微積分がさらに多くなります)。
  • デバイスがユーザーの手の中にある場合、車に対するデバイスの動きにより、計算 (および累積誤差) がさらに増加し​​ます。

よろしく。

于 2012-11-08T10:20:01.383 に答える
4

ある種の外部参照が必要です (たとえば、GPS はそのようなものです): 加速度を統合するだけでは、エラーは無期限に発生します。

これらのセンサーは十分に正確ではないためです。エラーはすぐに制御不能になります。(リンクされた回答は位置に関するものですが、速度についても同じことが言えます。)

車の場合は、GPS があると便利です。何か凝ったことをしたい場合は、地図から推定される環境制約を強制することができます。つまり、車は建物を通らずに道路を走ると仮定します。これについての詳細は、博士論文の第 5 章に記載されています。屋内環境のための歩行者のローカリゼーションと題されています。

于 2012-11-08T11:57:20.507 に答える
3

出来そうです。私は Android 固有の例を持っていませんが、このフォーラムにはそれについてかなり多くのチャットがあります: http://www.edaboard.com/thread119232.html

ただし、Android Location クラスを使用すると、はるかに簡単になります。具体的には、getSpeed() メソッドで必要なものが得られるはずです: http://developer.android.com/reference/android/location/Location.html

ただし、Location クラスはロケーション プロバイダーに依存しているため、アプリには適切な権限が必要です。

于 2012-11-08T09:09:00.860 に答える
3

車がしばらくの間同じ一定の速度で移動すると、どちらも何も提供しません。唯一の方法は、提供するすべての場所で計算された速度を持つ GPS です。

于 2012-11-08T09:20:58.390 に答える