車の現在の速度を知り、通過経路を作りたい。加速度計とジャイロスコープを備えた Android 携帯を持っていて、データを送ってくれました。これは電話の座標系のデータで、車の座標系とはおそらく同じではありません。
この加速度と回転を車の座標系に変換するにはどうすればよいですか?
車の現在の速度を知り、通過経路を作りたい。加速度計とジャイロスコープを備えた Android 携帯を持っていて、データを送ってくれました。これは電話の座標系のデータで、車の座標系とはおそらく同じではありません。
この加速度と回転を車の座標系に変換するにはどうすればよいですか?
一般的な質問に対する一般的な答えは ですno
。加速度は速度の変化を測定するため、加速度から得られる最高のものは速度の変化です。
を取得するには、 を取得して速度変更に追加するabsolute speed
必要があります。initial speed
v(t) = v0 + a*t
したがって、車が直線に沿って移動し、デバイスが車に固定されている場合、速度の変化を簡単に取得できます (ただし、測定誤差が加算され、すぐに不一致につながります)。
実際には、それを実装しようとすると多くの問題に直面します。
initial speed
加速度と同じ基準に基づいて決定する必要があります。これには、異なるセンサーから異なる速度で両方の値を取得するため、いくつかの測定と多くの三角法が必要になります。よろしく。
ある種の外部参照が必要です (たとえば、GPS はそのようなものです): 加速度を統合するだけでは、エラーは無期限に発生します。
これらのセンサーは十分に正確ではないためです。エラーはすぐに制御不能になります。(リンクされた回答は位置に関するものですが、速度についても同じことが言えます。)
車の場合は、GPS があると便利です。何か凝ったことをしたい場合は、地図から推定される環境制約を強制することができます。つまり、車は建物を通らずに道路を走ると仮定します。これについての詳細は、博士論文の第 5 章に記載されています。屋内環境のための歩行者のローカリゼーションと題されています。
出来そうです。私は Android 固有の例を持っていませんが、このフォーラムにはそれについてかなり多くのチャットがあります: http://www.edaboard.com/thread119232.html
ただし、Android Location クラスを使用すると、はるかに簡単になります。具体的には、getSpeed() メソッドで必要なものが得られるはずです: http://developer.android.com/reference/android/location/Location.html
ただし、Location クラスはロケーション プロバイダーに依存しているため、アプリには適切な権限が必要です。
車がしばらくの間同じ一定の速度で移動すると、どちらも何も提供しません。唯一の方法は、提供するすべての場所で計算された速度を持つ GPS です。