タグ付けされた質問 「sensor-fusion」

2
センサーからの線形データと角度データを融合する方法
私のチームと私は、エンコーダー、商用グレードのIMU、GPSセンサーを備えた屋外ロボットをセットアップしています。ロボットは基本的なタンク駆動を備えているため、エンコーダーは左右の車輪から十分にティックを供給します。IMUは、ロール、ピッチ、ヨー、およびx、y、zの線形加速度を与えます。後で冗長性を与える他のIMUを追加できますが、ロール、ピッチ、ヨーの角速度も追加で提供できます。GPSは、グローバルなx、y、およびz座標を公開します。 ロボットのxy位置と方向を知ることは、ロボットがその環境をローカライズおよびマップしてナビゲートするのに役立ちます。ロボットの速度は、スムーズな動きの決定にも役立ちます。地上のロボットなので、z軸についてはあまり気にしません。ロボットにはLIDARセンサーとカメラもあります。したがって、ロールとピッチはLIDARとカメラのデータを変換して向きを変えるのに役立ちます。 すべてのセンサーの精度を最適に活用する方法で、これらすべての数値を融合する方法を見つけようとしています。現在、カルマンフィルターを使用[x, x-vel, x-accel, y, y-vel, y-accel]して、単純な遷移行列の推定値を生成しています。 [[1, dt, .5*dt*dt, 0, 0, 0], [0, 1, dt, 0, 0, 0], [0, 0, 1, 0, 0, 0], [0, 0, 0, 1, dt, .5*dt*dt], [0, 0, 0, 0, 1, dt], [0, 0, 0, 0, 0, 1]] フィルタは、IMUによって提供される加速度にのみ基づいて状態を推定します。(IMUは最高の品質ではありません。約30秒以内に、ロボットが(静止状態で)初期位置から20メートルほどドリフトするのが表示されます。)ロール、ピッチ、ヨーの使用方法を知りたいIMU、および潜在的にロール、ピッチ、およびヨーレート、車輪からのエンコーダデータ、および状態推定を改善するためのGPSデータ。 少しの数学を使用して、2つのエンコーダーを使用して、ロボットのx、y、およびヘッディング情報、および線速度と角速度を生成できます。エンコーダーは非常に正確ですが、屋外のフィールドで滑りやすくなります。 ここには、融合するのが難しい2つの別個のデータセットがあるように思えます。 x、x-vel、x-accel、y、y-vel、y-accelの推定 ロール、ピッチ、ヨーの推定値、およびロール、ピッチ、ヨーの速度 これら2つのセットの間にはクロスオーバーがありますが、それらをどのように組み合わせるかについて推論するのに苦労しています。たとえば、ロボットが一定の速度で移動している場合、x-velおよびy-velによって決定されるロボットの方向は、ヨーと同じになります。ただし、ロボットが停止している場合、ヨーはxおよびyの速度によって正確に決定できません。また、角速度に変換されたエンコーダーによって提供されるデータは、ヨーレートの更新になる可能性があります... …

1
高度推定に加速度計をどのように使用できますか?
私は現在、最近飛行して安定した自律型クワッドコプターを実装していますが、大きな外乱が存在する場合は自動補正できません。これは、飛行中にさらに調整する必要があるPIDゲインの調整が不十分なためだと思います。 現在の進行度合: 私の研究の範囲は屋内飛行のみであり、同僚によると気圧計の偏差は+ -5メートルであるため、気圧計を除外しました。 私は現在、高度推定に超音波センサー(HC-SR04)を使用しています。これは0.3cmの解像度を持っています。しかし、超音波センサーのリフレッシュレート20Hzは遅すぎて、高度補正に十分な速度で応答できないことがわかりました。 カスケードpidコントローラースキームで速度PIDに使用する速度を取得するために加速度を統合することにより、加速度計からZ軸の加速度を使用して高さデータを取得しようとしました。高度PIDコントローラーの現在の実装は、超音波センサーからの位置入力でPコントローラーを使用するシングルループpidコントローラーです。 重力による負の加速度測定値を考慮に入れていましたが、オフセットをどれだけ計算しても、負の加速度(たとえば-0.0034)が存在します。クワッドコプターを平らな面に置いたまま重力オフセットを計算し、加速度計のz軸から20,000個のサンプルを収集して平均化して、定数変数として保存されている「オフセット」を取得しました。次に、この変数が加速度計のZ軸出力から差し引かれ、オフセットが削除され、加速していない場合は「ゼロ」になります。質問で述べたように、負の加速度(例:-0.0034)がまだ存在しています。次に、私のクワッドは、常に高度を上昇させます。超音波センサーPコントローラーのみで、クワッドが50 cm振動します。 この一貫した負の加速度測定値をどのように効果的に処理できますか? 考えられる解決策:加速度計を使用して内部ループ(PIDコントローラー)とソナーセンサーを使用して外部ループ(Pコントローラー)で高度ホールドのカスケードPIDコントローラーを実行することを計画しています。私の顧問は、クワッドコプターが高度の遅いセンサーでも高度を保持できるようにするには、シングルループのPコントローラーで十分だと述べました。これで十分ですか?Pゲインだけでは、クワッドコプターが高度をオーバーシュートすることに気づきました。 Leaky Integrator:私はこの記事を見つけて、彼がLeaky integratorを使用して負の加速をどのように処理したかを説明しましたが、負のエラーが正のエラーになって問題を解決しないと思うので、なぜそれが機能するのか少し理解できません。私はあまりよく分からない。http://diydrones.com/forum/topics/multi-rotors-the-altitude-yoyo-effect-and-how-to-deal-with-it 超音波センサーのみのシングルループPDコントローラー:これは遅いセンサーからのフィードバックを使用して実現可能ですか? 出典: LSM303DLHCデータシート:http ://www.st.com/web/en/resource/technical/document/datasheet/DM00027543.pdf 漏れやすいインテグレーター:http : //diydrones.com/forum/topics/multi-rotors-the-altitude-yoyo-effect-and-how-to-deal-with-it ArduPilot PIDループ:http ://copter.ardupilot.com/wp-content/uploads/sites/2/2012/12/Alt-Hold-PID-version-3.0.1.jpg

1
複数の位置推定の融合
ロボットの位置を推定するために2つのサブシステムがあるシステムがあります。最初のサブシステムは、ロボットが保持しているマーカーを検出するために使用され、ロボットの位置と向きの3つの推定値を出力する3つのカメラで構成されています。2番目のサブシステムは、ロボットに配置され、ロボットの2点の速度を測定するシステムです。これら2つを数値的に統合することで、ロボットの位置と向きの推定値を取得できます(2つの点を同時に追跡しているため)。 最初のシステムは精度が低くなりますが、2番目のシステムはドリフトします。最初のシステムは約1秒に1回の出力を提供しますが、2番目のシステムはより頻繁に出力します(1秒あたり100〜200回)。 最初のシステムの推定値で位置をリセットするだけではなく(100%正確ではないため)、2番目のセンサーシステムからの累積位置を使用し、それを最初のシステム。また、最初のシステムの3つの推定値をどのように融合するかという質問がありますか?2つの推定値がまったく同じで、3番目の推定値が完全に異なる(たぶんもっと間違っているという意味)ので、純粋な平均よりも良い方法があるはずです。 そのようなシステムでの使用を推奨する融合アルゴリズムはありますか?カルマンフィルターについては知っていますが、2つのシステムが異なる周波数でデータを出力するため、フィルターの使用方法を理解するのに苦労しています。 質問が十分に明確であることを願っています。見積もりをより正確で正確な見積もりに融合するための最良のアプローチは何ですか? ありがとう
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.