問題タブ [inertial-navigation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
5505 参照

matlab - 間接 (エラー状態) カルマン フィルターの構造と、エラー方程式の導出方法を教えてください。

私は、慣性測定ユニット (IMU) と既知のランドマークのカメラ観測を使用して、その環境で自分自身をローカライズするロボット用のナビゲーション システムを実装しようとしています。これを行うために、間接フィードバック カルマン フィルター (別名エラー状態カルマン フィルター、ESKF) を選択しました。また、Extended KF である程度の成功を収めました。

私は多くのテキストを読みましたが、ESKF を実装するために使用している 2 つは、「エラー状態 KF の四元数運動学」と「IMU カメラ キャリブレーションのためのカルマン フィルター ベースのアルゴリズム」です (有料ウォールペーパー、Google 対応)。 . 最初のテキストは ESKF の構造をよりよく説明しているため、2 番目のテキストはビジョン測定モデルに関する詳細が含まれているため使用しています。私の質問では、最初のテキストの用語「公称状態」、「エラー状態」、および「真の状態」を使用します。これは、IMU インテグレーター、カルマン フィルター、および 2 つの構成 (公称マイナス誤差) を指します。

下の図は、Matlab/Simulink で実装された私の ESKF の構造を示しています。Simulink に慣れていない方のために、図について簡単に説明します。緑色のセクションは公称状態積分器、青色のセクションは ESKF、赤色のセクションは公称状態とエラー状態の合計です。「RT」ブロックは無視できる「レート遷移」です。

ここに画像の説明を入力

私の最初の質問:この構造は正しいですか?

2 番目の質問:測定モデルのエラー状態方程式はどのように導出されますか? 私の場合、2 番目のテキストの測定モデルを使用してみましたが、うまくいきませんでした。

敬具、

0 投票する
1 に答える
7474 参照

c++ - 9DOF IMU とセンサー フュージョンを使用した C++ での二重積分アクセラレーション

数値積分と速度/位置推定の調査に数時間を費やしましたが、脳が理解できる、または自分の状況に適した答えを実際に見つけることができませんでした。

ジャイロ、加速度計、磁力計を備えた IMU (慣性測定装置) があります。これらのセンサーはすべて融合しています。つまり、たとえばジャイロを使用して、加速度計の読み取り値で重力を補正し、磁力計がドリフトを補正します。つまり、このような設定を使用して、純粋な加速度の読み取り値を取得できます。

今、私は加速度に基づいて位置を正確に推定しようとしていますが、ご存知かもしれませんが、これには二重積分が必要であり、それを行うにはさまざまな方法があります。しかし、ここでどれが最も適切かはわかりません。誰かがこれについていくつかの情報を共有してもらえますか? また、複雑な数式/記号を使用せずに説明していただければ幸いです。私は数学者ではなく、これは情報を探す際の問題の1つでした.

ありがとう

0 投票する
1 に答える
541 参照

android - Android の加速度計、ジャイロ、磁力計のサンプル数が不均等

慣性データをスマートフォンに記録してさらに処理する Android アプリを開発しています。Android デバイスが異なれば、慣性センサーを Android に接続するファームウェアに応じて動作も異なりますが、これは明らかです。自分で答えられないことの 1 つは、アプリが記録しているときにセンサー サンプルの数が大幅に異なることを moto g 第 2 世代だけが示したのはなぜですか?

たとえば、数秒の録音で次のように表示されます。

  • ジャイロの最大 6000 サンプル

  • acc の ~5200 サンプル

  • 磁力計のサンプルは約 2000 個

同様に、記録しているアクティビティが常にすべてのセンサーに影響を与えると仮定すると、 onSensorChange 関数が均等に呼び出されることが期待されます。これは、私が試した他のすべてのスマートフォン(5つまたは6つの異なるスマートフォン)で発生します。

onSensorChange がそれを記録するために、マグネトーが他のセンサーほど頻繁に値を変更しないように見えるのはなぜですか?

明らかな答えはファームウェアによるものですが、私が見ている影響を軽減する方法はありますか?

ありがとう!

0 投票する
1 に答える
463 参照

raspberry-pi - ラズベリーパイでカメラシャッターを使用してMPU6050をトリガーする

GPIO で DSLR を RPi に接続しました。I2Cを使用してMPU6050からRPiへ。カメラのシャッター ボタンを押したときに、ジャイロと加速度計のデータを短い時間枠 (通常は 50 ミリ秒未満) で記録しようとしています。希望するサンプリング レートは 500Hz から 1000Hz の間です。また、FIFO を使用してセンサー データを一時的に保存します。

現在の問題は、コードが時々オーバーサンプリングすることです (理論値と比較して大きなオフセット)。たとえば、500Hz を 100ms に設定した場合、50 サンプルを期待していましたが、62 サンプルでした。カメラを同期せずに MPU6050 を実行している場合、この問題は発生しません。

また、私は混乱しています

為に?

誰かが助けてくれれば本当にありがたいです。ありがとう!

Python コード:

0 投票する
1 に答える
308 参照

kalman-filter - IMU で使用されるカルマン フィルター、融合プロセスはどの信号を結合しますか?

私が読んだことから、カルマンフィルターは基本的に、この変数の履歴に基づいて1つの変数の予測を「調整」しようとし、この変数を実際に観察します。IMU の位置を見つける場合、 x_(k+1) = v * dt + x_(k) を予測できるように、速度を読み取る必要があると想像します。また、直接も必要になります。 z_(k+1) を読み取ります。

しかし実際には、IMU ではこの z を読み上げません。では、IMU でのカルマン フィルタリングは正確には何を行うのでしょうか。

ありがとうヤン

0 投票する
1 に答える
3315 参照

accelerometer - 9 軸 IMU を使用した位置への加速度の二重統合

このフォーラムへの最初の投稿です。これが正しく行われていることを願っています。過去に加速度の二重積分に関するいくつかのスレッドがあったことを知っています。また、200k+ 軍用グレードのセンサーではない加速度計に固有のエラーについても知っています。幸いなことに、私の目的では、10 秒以内でほぼ正確 (+/- 3 インチ) である必要があります。

私はもうほとんどそこにいます。bno055 IMU の線形加速を使用しています。50hz (20ms ごと) のレートでサンプリングしています。サンプリングするたびに、基本的な台形積分を使用して、ACC から速度、速度から位置に移動します。静止エラーをスローする「識別ウィンドウ」と、特定のカウント数で加速度が 0 になった後に速度を 0 に戻す「移動終了検出」コードがあります。

それはファッションの後に機能しています。もう少しうまく機能する必要があります。加速度計を動かすと、停止するまで位置がかなり正確に移動するという、非常に奇妙なキックバックが見られます。その後、位置が数インチ「キックバック」します。私よりずっと賢い友人を連れてきて、台形積分で使用する最後の 2 つのデータ ポイントの代わりに 4 つまたは 5 つのデータ ポイントを使用して、よりスマートに統合することを勧めました。

私の質問: 最後の 4 つまたは 5 つのデータ ポイントを使用して、基本的な台形積分よりも正確に積分するにはどうすればよいですか? Euler と RK4 を調べてみましたが、高度な数学をやったのは久しぶりで、どこから始めればよいかわかりませんでした。誰かがかなり簡単に説明できれば、それは素晴らしいことです. ありがとう。背景として、このコードはすべてマイクロコンピューターで実行されているため、matlab を介してデータを実行することはできません。

PS。ハイパスフィルターの使用も推奨されましたが、デジタルハイパスフィルターについて読み始めたとき、私はそれを理解できませんでした. よりスマートな統合から始めて、それが何をするか見てみようと思いました。

0 投票する
0 に答える
101 参照

html - モバイル Safari を混乱させることなく、固定ヘッダーの下にスクロール可能な div を作成するにはどうすればよいですか?

上部の固定ヘッダー。以下のスクロール可能な div。この質問はよく聞かれます:

しかし、モバイル Safari を破壊しない解決策を見つける必要があります。

上記の質問に対する受け入れられた解決策には、2 つの問題があります。1 つは、スクロール可能な div 内の慣性スクロールが機能しないことです。2 つ目は、スクロール可能な div の下部で上にスクロール (下にスワイプ) しようとすると、ラバー バンド効果が発生する可能性があることです。Mobile Safari は、スワイプを div または html ドキュメントのどちらをスクロールしようとする試みとして解釈するかについて、明らかに混乱しています。

0 投票する
0 に答える
1296 参照

java - Jython エラー 'ImportError: type_check という名前のモジュールがありません'

Java の rpi センス ハットで 9 DOF IMU を使用できるようにするためのクイック インターフェイスに取り組んでいますが、Python をうまく動作させることができないようです。Python 2.7 ライブラリを Jython 環境の sys パスに追加しましたが、まだこの「type_check」モジュールが見つかりません。

Javaコードは次のとおりです。

これは、RPI センスハット python API を使用しようとします。実行すると、次のエラーが発生します。