目標姿勢からのずれを3種の制御量"PID"で自動補正


M5 StampFlyで実習マルチコプタ制御プログラミング

PID制御ループの構成

図1 マルチコプタの姿勢を安定させるには,目標姿勢からのずれを瞬時に補正する制御が不可欠であり,その基本は比例制御(P),積分制御(I),微分制御(D)である.画像クリックで動画を見る.または記事を読む.[提供・著]伊藤恒平
詳細[VOD/KIT/data]ドローン・キット``drone Fly''で学ぶマルチコプタ制御入門

マルチコプタの安定した飛行には,目標姿勢からのずれを瞬時に補正する制御が不可欠です.この補正にはPID制御が広く用いられます.PID制御は比例(P),積分(I),微分(D)の3種類の要素を組み合わせて制御信号を生成する方法です.

制御誤差と補正の考え方

制御対象の位置や姿勢が目標からずれると,その差を誤差として計算します.

例えば,車両やドローンが中心線からずれた場合,目標値を0とすると実測値との差が誤差です.この誤差に基づいて制御量を調整することで,目標姿勢に戻します.

誤差の符号と補正方向の関係は重要です.誤差が正の場合は逆方向に補正し,負の場合は順方向に補正します.

PID制御ループの構成

制御ループは以下のような流れで構成されます.

  1. 目標姿勢の設定(ホバリング状態や希望のピッチ角など)
  2. ジャイロ・センサや加速度センサで現在の姿勢角や角速度を取得
  3. 目標値と実測値の差(誤差)を計算
  4. 誤差に基づき,PID制御で各モータ出力$U$を補正
  5. 補正後の状態を再度センサで検出し,ループを継続

比例制御(P)の役割

比例制御は誤差に比例した制御量を生成します.誤差が大きいほど強く補正し,誤差が小さくなると補正も弱まります.

積分制御(I)の役割

積分制御は誤差の累積値に基づいて補正します.長期間の微小な誤差を解消し,定常誤差を減らす効果があります.

微分制御(D)の役割

微分制御は誤差の変化率を見て補正します.誤差が急速に変化する場合に先回りして補正し,振動やオーバーシュートを抑えます.

M5 StampFlyでの実習

M5 StampFlyを使用することで,ドローンの各モータ出力$U$をPID制御でリアルタイムに補正するプログラムを実装できます.

水平状態を保つための各モータ制御入力$U$に加え,外乱や操作によるロールの傾きを修正するデルタ$U_{roll}$を加えることで,安定したホバリングを実現します.

〈著:ZEPマガジン〉

動画を見る,または記事を読む