姿勢制御プログラム実装の準備:PIDの制御量を式で表す
M5 StampFlyで実習マルチコプタ制御プログラミング
PID制御入力の計算
|
|---|
|
図1 PID制御プログラムでは,比例,積分,微分の各要素を組み合わせて最終的な制御入力$U$を生成し,各モータや制御軸ごとに独立して計算する.画像クリックで動画を見る.または記事を読む.[提供・著]伊藤恒平 詳細:[VOD/KIT/data]ドローン・キット``drone Fly''で学ぶマルチコプタ制御入門 |
マルチコプタの安定した飛行には,PID制御を用いた姿勢制御が不可欠です.制御対象の誤差を計算し,比例(P),積分(I),微分(D)の3つの要素を組み合わせて制御入力を生成します.
PID制御の誤差計算と準備
制御対象の目標値と実測値の差を誤差として計算します.誤差は以下の手順で取得します.
- 目標値と現在値の差を計算して誤差$E$を求める
- 積分用変数$s$を用意して,誤差に制御周期$T_S$をかけて前の$s$に加算する
- 微分値は現在の誤差と前回の誤差の差を$T_S$で割って求める
積分は誤差の累積を数値的に加算する手法で,微分は誤差の変化率を算出して先回り補正を行います.これにより,長期間の微小誤差や急な変化にも対応できます.
PID制御入力の計算
比例,積分,微分の各要素を組み合わせて最終的な制御入力$U$を生成します.各モータや制御軸ごとに独立して計算します.
- 比例制御:誤差$E$に比例ゲイン$K_P$をかけて制御量を生成
- 積分制御:累積誤差$s$に積分ゲイン$K_I$をかけて制御量を生成
- 微分制御:誤差変化率に微分ゲイン$K_D$をかけて制御量を生成
- 3つの制御量を合算して最終制御入力$U$を算出
これらの制御入力はM5 StampFly上でリアルタイムに適用され,各モータ出力に反映されます.水平姿勢の維持やロール・ピッチの補正により,安定したホバリングが可能です.
M5 StampFlyでの実習
M5 StampFlyを使用することで,PID制御の各要素をプログラムで実装し,リアルタイムで姿勢を補正できます.各モータの制御入力$U$に加えて,ロール補正用のデルタ$U_{roll}$も適用します.
この手順を理解することで,マルチコプタ制御の基礎を学び,PID制御の数値実装方法を実習で体験できます.
〈著:ZEPマガジン〉