私は現在、最近飛行して安定した自律型クワッドコプターを実装していますが、大きな外乱が存在する場合は自動補正できません。これは、飛行中にさらに調整する必要がある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