推測航法用の加速度計の選択


11

これまでに加速度計を使用したことはありませんが、I2C、SPI、およびアナログ出力が付属していることを認識しています。I2cまたはSPI、デバイスを使用することを選択した場合、通信時間によるエラーが蓄積されますか?

アナログ信号の高速サンプリングは、I2Cを使用するよりも正確な推定位置を取得する可能性がありますか?

これは本当ですか

  1. 部屋を移動するロボット
  2. 屋外の地形を移動するロボットで、坂道を滑り落ちる可能性があります。

また、Gsの感覚がありません。私の拳でandro-sensorを実行している携帯電話で手をすばやく動かそうとすると、読み取り値が20m / s 2で飽和することがわかりました。ロボットが別の脂肪の動くボットにぶつかったり、速く歩く人間にぶつかったりした場合、ロボットはどのようなGを体験することができますか?

回答:


5

センサーのサンプリング周波数を上げても、センサーの精度や精度は向上しません。これは、通常は変更できないセンサーの機能です。加速度のみを積分して位置を推定しようとすると、すべてのセンサーにノイズが発生するため、時間の経過とともに間違いなくエラー蓄積されます。位置または速度を決定するために加速度計を使用する場合は、それらを実際に位置(精度が低くても)または速度を測定する他のセンサーと組み合わせる必要があります。次に、これらのさまざまなセンサー信号をカルマンフィルターと組み合わせて、現在地と移動速度の合理的な推定値を取得できます。

Gの力を考えると、1 Gは9.81 m / s ^ 2であると考えてください。これは、少なくとも屋内ロボットでは、小さな趣味のロボットのコンテキストでは、私にはよくあることです。エンジンがどれほど強力かによって、アウトドアは別の話になる可能性があります。20m / s ^ 2の飽和で十分です。


4

制御ループ速度について考えます。典型的な高速制御ループ速度は1kHzです。一部のロボットはより高速な速度を使用し、一部は低速です。通常、制御ループの速度は、実際に必要な速度よりも高速です。

したがって、各制御フレームは1000us持続します。この制御フレーム内で、次のことを行う必要があります。

  • センサーをサンプリングする
  • 制御計算を実行する
  • 新しい出力をモーターに送信します

時間枠内でこれらすべてを快適に行える限り、問題はありません。それでは、加速度計を読み取るのにどのくらい時間がかかりますか?400 kbps I2Cを使用する3軸デバイスの場合、データの読み取りに約160usかかる可能性があります。これにより、840usで計算を実行し、モーターを更新できます。8ビットPICでもこれを管理できます。


G軍について。インパクト中、それらは驚くほど高くなる可能性があります。たとえば、ハードドライブを壊すのにどれだけの打撃が必要だと思いますか?おそらくそれほど多くはありません。さて、最近私が言ったハードドライブは75Gの最大加速に定格されていました。したがって、2つのロボットが衝突して少なくとも数Gを生成することを期待してください。ロボットの機械設計に大きく依存するため、正確に推定することは不可能です。スヌーカーボールのように両方とも完全に固体である場合、非常に高い加速が期待できます。彼らが彼らにある種の柔軟なシェルを持っているなら、これはそれから加速を大いに減らすでしょう。しかし、問題は、インパクト中の加速の実際の値を本当に知る必要があるかということです。


1

あなたの質問から、私はあなたが加速度計から自分の位置を取得しようとしていると思います。どのようなエラーを見てくださいあなたは以前に期待していて、おそらく再考します。位置推定には、主に方向の不確実性が原因で、非常に大きな誤差があります。船、飛行機、ロケットなどのアプリケーションは、非常に高価な高精度航法グレードのIMUを使用します。あなたの質問が要約する待ち時間はそれほど問題ではありません。より適切なのは、他のセンサー(ジャイロなど)間の同期です。加速度計は通常、位置の推定には使用されません(役立つ場合もありますが、それは短期間の場合に限られます)ではなく、方向の推定におけるジャイロドリフトの補償に使用されます。それらを直接使用して方向を推定することもできますが、その場合、推定は動的加速度によって乱されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.