フィードフォワード制御

08. フィードフォワード制御

はじめに

世の中の制御システムに多く実装されているもう1つの制御手法がフィードフォワード制御です。フィードフォワード制御は、システムの作動目標に対する外乱要素を事前に予測または検知し、システムが所望の応答になるよう制御入力を決定する制御方法です。制御システムの数学モデルを使って制御入力を決定する場合や、あらかじめテストによって検知したシステムの状態での制御入力を決定しておくなどの方法があります。

遅れ補償制御によるシステムの応答遅れの改善

ここでは、フィードフォワード制御の例として、システムの応答遅れを改善してみます。
システム同定で扱った車両走行モデルは、指示値に対して1次遅れで加速度が追従するシステムでした。

この1次遅れの特性は、システムの作動目標に対する外乱要素ですから、制御によって改善すべき特性です。システム同定で得られた数学モデルがあれば、その逆関数により制御入力を求めることで応答特性を改善することができます。この制御手法を遅れ補償制御とよびます。

遅れ補償制御を適用したときの時間応答をシミュレーションで確認することで制御適用の効果を確認していきます。

Excelファイルのダウンロード

こちらからExcelファイルをダウンロードできます。Excelの状態方程式のシート
車両走行モデルと共通です。遅れ補償の実装について、Trial1の内容は遅れ補償(逆関数) のシートで、Trial2の内容は遅れ補償(特性指定) のシートでシミュレーションしています。

Trial1

システムの同定では、車両の加減速挙動の情報からARMAモデルを同定しました。ARMAモデルのような入出力情報からシステムの挙動を予測する数学モデルは、遅れ補償制御のように制御にも応用できます。

車両の加減速挙動のARMAモデルは以下のモデルで同定しました。
\[y(n)=a_{1} * y(n-1)+b_{1} * u(n-1)\]
ここで、目標加速度 𝐴𝑜𝑏𝑗 になる制御入力を加減速指示 𝐴𝑐𝑚𝑑 とする
\[A_{obj}(n)=a_{1}*A(n-1)+b_{1}*A_{cmd} \hspace{0.5cm} \text{より}\]
目標加速度 𝐴𝑜𝑏𝑗(𝑛) を得るための加減速指示 𝐴𝑐𝑚𝑑 は
\[A_{cmd}=\frac{A_{obj}(n)-a_{1} * A(n-1)}{b_{1}}\]
とすれば、システムの応答遅れを補償する加減速指示値を逆関数により得ることができます。

シミュレーション

車両走行モデルの35秒から45秒の10秒間の加減速区間に遅れ補償制御を適用しています。


結果

遅れ補償制御を適用した区間の応答性は、元々の1次遅れの挙動からほぼステップ応答に改善しています。しかし、遅れ補償制御におけるAcmd算出値は、目標加減速値1.0m/s^2に対して、10倍以上の加減速要求値になっています。

実システムの制御出力には限界があり、システムが許容する範囲で制御性の改善が可能です。

このままでは制御入力Acmdが大きすぎるため、次は現実的な遅れ補償制御を検討してみます。

Trial2

システムに完全なステップ応答を要求するような無理のある応答性の改善ではなく、システムが許容する制御ゲインの範囲で応答性(時定数)を改善する方が現実的な場合も多いでしょう。

車両の加減速挙動のARMAモデルは以下のモデルで同定しました。
\[y(n)=a_{1} * y(n-1)+b_{1} * u(n-1)\]
a1,b1 は、時定数 T1=1.0秒 の応答特性を同定しています。

例えば、目標加速度を Aobj として
\[e^{-\frac{\Delta t}{T_{2}}}=\gamma\]とすると、時定数 T2 (0.5秒)に改善した加速度の応答は
\[A(n)=\gamma * A(n-1)+(1-\gamma) * A_{obj}\]
応答時間を時定数 T2 に改善するための遅れ補償制御の加速指示 Acmd は
\[\gamma * A(n-1)+(1-\gamma) * A_{obj}=a_{1} * A(n-1)+b_{1} * A_{cmd} \] よりシステム応答を改善する遅れ補償制御指示値 Acmd は
\[A_{cmd}=\frac{\gamma-a_{1}}{b_{1}} A(n-1)+\frac{1-\gamma}{b_{1}} A_{obj}\]になります。

シミュレーション

車両走行モデルの35秒から45秒の10秒間の加減速区間に遅れ補償制御(特性指定)を適用。



結果

遅れ補償制御を適用した区間の応答性は設定通り時定数T2 (0.5秒)に改善しています。また、遅れ補償制御時の加減速指示値 Acmd は実システムがどこまで許容できるかによりますが、より現実的な範囲で制御できています。

クルマを加速させる時に、一般的にドライバーはクルマの特性を学習してアクセルを操作しています。クルマの応答性の遅さを改善するために一旦過剰に制御量を持ち上げ、その後徐々に戻す操作を行いますが、ドライバーのアクセル操作と同様の制御になっています。

まとめ

システム同定できていれば、遅れ補償制御によりシステムが許容する範囲で所望の応答特性を得ることができることを見てきました。フィードフォワード制御は、システムを同定したモデルが正しい範囲で効果がありますが、経年変化や個体ばらつき、外乱に起因する制御性能の劣化に対しては効果がないため、一般的にはフィードバック制御の併用も検討していく必要があります。

最後までお読みいただき、ありがとうございました。

さて、ここまでは線形システムを前提にしてきましたが、現実的には非線形な要素を持つシステムも多く、非線形性をどのように扱うかも知っておく必要があります。ということで、次は非線形なシステムへの対応です。


QooQ