1

小型のリモートコントロールカーの位置を計算したい(開始位置に対する)。車は、たとえば部屋の床などの平らな面を移動します。現在、加速度計とジャイロスコープを使用しています。正確には、このボード-> http://www.sparkfun.com/products/9623

最初のステップとして、x軸とy軸の加速度計データを取得し(車が表面上を移動するため)、データを二重に統合して位置を取得しました。私が使用した式は次のとおりです。

vel_new = vel_old + ( acc_old + ( (acc_new - acc_old ) / 2.0 ) ) * SAMPLING_TIME;
pos_new = pos_old + ( vel_old + ( (vel_new - vel_old ) / 2.0 ) ) * SAMPLING_TIME;
vel_old = vel_new;
pos_old = pos_new;
acc_new = measured value from accelerometer

上記の式は、このドキュメントに基づいています:http: //perso-etis.ensea.fr/~pierandr/cours/M1_SIC/AN3397.pdf

しかし、これは恐ろしいエラーを与えています。

このフォーラムで他の同様の質問を読んだ後、ジャイロスコープを使用して、上記の加速度値から重力の成分を(毎回acc_newから)差し引く必要があることがわかりました。このアイデアは、AndroidデバイスでのGoogle TechTalksビデオSensorFusion:A Revolution in Motion Processing attime23:49で非常によく説明されています。

今私の問題は、その重力成分をどのように差し引くかです。ジャイロスコープから角速度を取得します。加速度計の出力から差し引くことができるように、それを加速度に変換するにはどうすればよいですか?

4

3 に答える 3

2

それは機能しません、これらのセンサーは位置を計算するのに十分正確ではありません。

その理由は、あなたが参照しているビデオでも説明されています。

あなたができる最善のことは、車輪の回転数に基づいて速度を取得することです。速度に属する見出しもわかっている場合は、速度を統合して位置を取得できます。完璧にはほど遠いですが、それはあなたに位置の合理的な見積もりを与えるはずです。

車の方向をどうやって取得できるかわかりません。使用しているハードウェアによって異なります。

于 2012-06-18T16:59:24.933 に答える
0

残念ながら、それらのデバイスに関しては、Ali の答えはまったく正しいと思います。しかし、同様のボードを試している人々の話をカバーするarduino推測航法を検索してみてはいかがでしょうか?

検索後に表示されたリンクは次のとおりです。

IMU から INS への変換

それらのすべてが失敗したように見えても、エラーを許容可能な量に減らすか、他のセンサーでアルゴリズムをキャリブレーションして、加速度の二乗誤差とジャイロのホワイトノイズが精度を破壊するため、軌道に戻す回避策に遭遇する可能性があります.

于 2013-02-13T11:27:31.883 に答える