自己平衡型ロボットの加速度計、もっと上手くいけませんか?


9

現在、IMU(ジャイロスコープ+加速度計)を使用して現在の傾斜角を推定する自己平衡型ロボットについて読んでいます。

私が見つけたほとんどの文書は同じことを言っています:

  • 加速度計データは「慣性ノイズ」の影響を受けるため、加速度計データのアークタンジェントを使用して重力方向を見つけることはできません。
  • ジャイロスコープの出力はドリフトするため、経時的に積分することはできません。
  • これらのデータをマージするには、一般的に受け入れられている2つのソリューションがあります。
    1. 現在のジャイロスコープバイアスと共に現在の傾きを推定するカルマンフィルター
    2. 相補フィルタ加速度計データにローパスフィルタを適用すること(これらは長期的に信頼することができる)、及びジャイロスコープデータに対してハイパスフィルタ(それは短期的に信頼することができます)。

私が見つけたすべての情報源は、これらのフィルターで加速度計からの生データを使用しているようですが、自己平衡型ロボットでは、上記の「慣性ノイズ」の非常に良い推定値を得ることができます。

ここが私のです

可動支点を備えた倒立振子でロボットをモデル化し、この貧弱な図面を参照として使用してみましょう。

ここに画像の説明を入力してください

Cの加速度計が感じる慣性力は、(間違いがなければ)から導出でき

(cr¨cΘ¨)=(x¨sin(Θ)RΘ˙2x¨cos(Θ)+RΘ¨)

仮定して

  • 私たちのロボットは滑ることなく転がっています
  • xを測定できます(エンコーダー付きのステッピングモーターまたはDCモーターを使用)

次に、これらすべての変数の適切な見積もりを得ることができます。

  • x¨^k:現在および以前の測定値との差分x
  • Θ˙^k:現在のジャイロスコープの読み取り
  • Θ^k:前の推定プラスの統合及び人以上ΘΘ˙^kΘ˙^k1Δt
  • Θ¨^k:および有限の違いΘ˙^kΘ˙^k1

それが得られたら、加速度計の慣性力の影響を打ち消すことができ、重力の非常に優れた測定値のみが残ります。

上記の1.のように、これを通常のカルマンフィルターの入力として使用することは、おそらく良い考えです。

たぶん、これらすべての変数を一度に推定できるカルマンフィルターを構築することさえできますか?やってみます。

どう思いますか?ここで何か不足していますか?

セルフバランシングロボットは良いタグになると思いますが、作成できません


レーザー距離計は非常に便利でしょう。
holmeski 2017

回答:


1

「x」入力を使用してカルマンフィルターを適切に構築すると、はい、それがより良くなります。特に、慣性センサーはどのような場合でもxの絶対値を提供できません。これは、(本質的に)加速度計信号を位置に二重積分しようとしているため、加速度計出力のノイズに非常に敏感であるためです。

旅行で考慮したいことがいくつかあります。

  1. 本格的なカルマンフィルターは計算量が多いですが、定常状態のカルマンは基本的に、b'guessやb'goshではなく、構造によってロールオフ周波数が選択される補完的なフィルターです。
  2. b'guessとb'goshについて言えば、カルマンを(場合によってはまったく)うまく機能させたい場合は、分散に入るすべてのものを非常に正確に説明する必要があります。カルマンは、モデルと現実の間のミスマッチにうまく反応しないことで有名です。数学をやる気があるなら、H無限大やその他のロバストな状態推定手法を調べてください。
  3. Hインフィニティの道を進むと、定常Hインフィニティフィルターも見つかり、同じ計算上の利点を得ることができます(実際、埋め込みコードの実際のフィルター構造は同じです;それはllは係数に異なる値を持つだけです)。

フルカルマンフィルターの計算コストを過大評価していると思います。ジュリアンの状態はおそらく6つ未満であり、ほとんどのボードでは問題にはなりません。
holmeski 2017

1

これはあなたの質問に対する完全な答えではありませんが、私の考えのいくつかを残したいと思います。私はあなたが逃したと思います:

  1. 重力自体。下向きで、通常は約9.81 m /s²ですが、場所によって異なる場合があります(ロボットが自由落下しているときは重力0のみを測定します)
  2. 通常、センサーはx / y / z軸に100%位置合わせされていません(チップはPCBで完全に水平ではありません... PCBは完全に水平/垂直にロボットに取り付けられていないなど)。あなたはこれを補償する必要があります
  3. 加速度センサーにはオフセット値とゲイン値があり、これらを補正する必要があります。それらは、温度や製造公差などの影響を受けます。このためのオンライン校正アルゴリズムがあります。しかし、これらの未知の変数をカルマンフィルターに入れることもできます。
  4. ジャイロスコープにはドリフトがあり、これは温度にも依存します。これは定数ではありませんが、時間の経過とともに変化する可能性があります。このドリフトは、磁力計を使用してわずかに補正できます。
  5. 磁力計、つまり3Dのコンパスセンサーは、ジャイロスコープのドリフトを補正するために使用できます。ただし、電磁界(モーター、磁石、壁の鋼など)の影響を受ける場合があります。そのため、完全に信頼することはできません。

カルマンフィルターモデルは良いアプローチです。モデルに組み込んだモーションモデルについての知識が多ければ多いほど、うまく機能します。また、すべての変数の(共)分散を知っておく必要があります...各センサーの測定値がどれほど確実であると思うか。


キャリブレーション、ドリフト、温度などの実際の問題に関する良い点
ベン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.