ドローンの自作|PID制御とアルゴリズムの確認

Pocket

プロペラ&コアレスモーター 3Dモデル

 ドローン(クアッドコプター)の姿勢制御プログラムの改良とPIDゲインのチューニングをいろいろ試しているのですが、テストフライトしながら調整しているとなかなか時間が掛かって埒が明きません。フライトしながらだと何が効いているのかもよくわからないですし、クラッシュも怖いです。

 

 ということで機体を吊り下げて確認・調整することにしました。

これまでのドローン製作記録はこちらに纏めていってます。)

 

▼ある程度調整後の動画▼

 動画前半のアルゴリズムは「角速度のPID制御」です。後半は「角速度のPID制御ループ」の外側に「角度のP制御」を追加してます。

 

 「角速度のPID制御」ではコントローラーのスティック操作で機体が傾き、その傾きを維持するようにしてます。(角速度が発生しないように制御されます)

 

<スポンサーリンク>

 動画後半はその外側に「角度のP制御」を追加して、常に「角度」を維持するようにしてます。スティック位置(角度)に合わせて機体が傾きます。スティックがニュートラルにある場合は常に水平になるように制御してます。

 

 まだゲイン調整がしっかりできていないためピタッと決まってませんが、ゲインは今後もう少し調整したいと思います。

 

 角度は最初「PI制御」で試していたのですが、なぜか機体が暴れてなかなかゲイン調整がうまくいかなかったです。「P」制御にしたところ動画のような状態になりました。

 

 それなりの制御ができるようになってきたので少しずつ制御アルゴリズムを紹介していきたいと思います。

ドローンのモーター制御

ドローンの姿勢制御(PID)

 

Pocket

<スポンサーリンク>


この投稿へのコメント

  1. masa said on 2018-02-27 at 20:28

    はじめまして。参考にさせて頂いております。pidについての質問ですが、なぜ、角速度を制御するのでしょうか?直接、角度のpid制御では
    問題ありますか?よろしくお願いいたします。

    • imo said on 2018-02-27 at 22:31

      masaさん、はじめまして。
      それほど制御工学は専門でないので確かなことはわからないですが、角度のPID制御でもできるのではないでしょうか。(試してないのでわかりませんが・・・。)ただ、直接角度制御すると応答が遅くなりそうな気もします。(適当ですみません。)

      • masa said on 2018-02-28 at 13:32

        ありがとうござい。私は、角度でのpid係数の最適化にトライしていますが、ゆるい制御になっており、安定性にもかけています。角速度での制御をしてみたいと思いますが、これは、現時点での角度誤差を制御時間で除した角速度を目標値とし、現時点でのセンサーからの角速度を変化させるという考え方となりますでしょうか?よろしくお願いいたします。

  2. imo said on 2018-02-28 at 16:36

    角速度制御ですが、私も「今のところ」、角度誤差(偏差)を角速度の目標値としてPID制御をしています。
    ただ、物理量を合わせるため??に角度偏差を「制御間隔で除する」と言われてるかと思いますが、それはそのまま角度偏差のゲインとなり角速度の目標値としては恐らく過大になると思います。
    「角度偏差×Kp」 ⇒ 「目標の角速度」のイメージで私は制御してます。
    仮に制御周期が250Hz(0.004s)の場合、「制御間隔で除する」=250=Kpとなってしまい過大かと・・。
    (そもそも物理量(スケール)いじっているようであればすみません。忘れてください)

    • masa said on 2018-03-01 at 12:42

      ありがとうございます。つまり、角度誤差を見ながら、モーターへのパルス幅を調整するということで、角速度を指標には、されていないということですか?すいません、少し混乱しています。もし、可能でしたら、pid制御のコードを参照できる場所を教えていただくことは、可能ですか?

      • imo said on 2018-03-01 at 13:04

        いえ、姿勢制御は角速度のPIDで行ってます。目標となる角速度を角度から算出しているだけです。こちらのページの中ほどでイメージを紹介してます。(既にご覧になっていたらすみません)
        オープンソースとなっているmultiwii(ここから)なども角速度制御してたかと思います。少々難解ですが・・・。

        • masa said on 2018-03-01 at 15:34

          どうもありがとうございます。勉強させて頂きたいと思います。

コメントを残す

メールアドレスが公開されることはありません。

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL