実践で使えるDCモータのロバスト速度制御をマイコンで構築する

ギアを介した負荷側にエンコーダが装着しているレゴEV3LモータにPI速度制御と2自由度ロバスト制御を適用してみてそれらの運転特性と効果を調べてみます。簡易モータでも実装が簡単で効果があれば積極的に採用したいものです。

PI速度フィードバックコントロール

めかのとろ

一般的なフィードバック制御といえばPID制御がまず挙げられます。難しい理論抜きでも感覚的にゲインを設定して出力を調整することも多いです。

めかのとろ

もともと安定しているEV3モータに多少の条件が変わっても一定の目標値を維持するための制御です。偏差eをゼロに近づけるためにPIDゲインのなかでP(比例)とI(積分)要素を使い、特に積分を重視します。

PI制御システム
めかのとろ

これまで制御システムを評価するシミュレーションはScilabなどのツールを使用してきました。設計評価のときには、制御対象の伝達関数もPI補償器も連続系のs関数でよいのですが、実機で実現する場合、PI補償器はプログラム内で離散系として記述する必要があります。

めかのとろ

そのため、実機に近い最終的な動作確認にはExcelによるシミュレーションで評価するのが効果的です。モータなど実モデルは連続系の時間関数、例えばステップ応答時の1次遅れは1-ext(-t/Tm)で記述できます。補償器は離散系で実際のプログラムではサイクル周期を考慮して積分器等を記述します。

めかのとろ

Excelにおいて1次遅れのモータ制御対象を連続系として、PI補償器を離散系とした場合の応答です。実際のプログラムではサイクル周期を5msとするために、シミュレーションで5ms刻みの離散系としています

めかのとろ

ステップ入力200時のシミュレーションです。入出力特性は積分ゲインを入れているため、2次遅れ系となっています。比例ゲインKpは0.5、積分ゲインを15とすると振動はおさまっていますが、積分ゲインが大きいため立ち上がりはややゆるやかです。比例ゲインがゼロの場合は積分ゲイン値によりすこしオーバーシュート気味になるかもしれません。

制御パラメータ
めかのとろ

定常時には出力のモータ回転速度は制御器の積分要素のおかげで定常偏差はゼロに近づき安定していますが、立ち上がりの応答は任意に改善することができないことがPI制御の限界です。定値制御であればPI制御でも十分ですが、入力が変化する追従サーボ制御には適用は厳しいかもしれません。

Microsoft ExcelによるPI制御シミュレーション
めかのとろ

Excelで動作に問題がないことが確認できれば、あとは同じ記述をプログラム内に移植するだけです。離散系のPI補償器の部分はすでにExcel内で記述しているので移植は簡単です。実機のプログラムでの注意点はシミュレーションでは現れない変数の初期値の処理などです。最終的なモータへの出力はPWMのデューティ比で設定します。

PI制御実システム
めかのとろ

シミュレーションと同じ条件の実機の動作です。シミュレーションと同じ応答特性が実機でもみられ、出力速度はオープンPWM制御に比べて定常偏差がなくなり安定しています

PI制御実測値

2自由度ロバスト速度コントロール

めかのとろ

これまで、DCモータの速度をコントロールするのにPWMオープン制御方式、ハイゲインフィードバック制御方式、PI制御方式を行ってきましたがここで集大成のロバスト制御に挑戦したいと思います。

めかのとろ

今回実機で実現する2自由度ロバスト制御の詳細はマイコンで実現するフィードバック制御のための基礎知識【発展編】で解説しています。

2自由度ロバスト制御システム
めかのとろ

まずEV3Lモータに2自由度ロバスト制御を適用する場合のパラメータをシミュレーションツールScilabで評価しながら決定します。2自由度制御システムを実機で実現するには制御対象P(s)の規定モデルPn(s)を逆システムとして離散化しなければならなく結構複雑になってしまいます。そこで、ここでは思い切って補償器で設定する時定数Tm2を規定モデルの時定数Tnと同じにして近似化します。

制御パラメータ
めかのとろ

近似化すると2自由度ロバスト制御のブロック線図は以下のようにすっきりした形になります。

めかのとろ

よくみるとハイゲインフィードバック方式のものに似ていて違いは入力に1次遅れフィルタGry(s)があることです。フィードバック部で外乱抑制を向上させてこの部分で応答特性を調整していると考えられます。

めかのとろ

ここでもPI制御と時と同じようにまずExcelでシミュレーションして評価します。青色点線で囲まれた制御対象は連続系緑色点線で囲まれたロバスト補償器は離散系で記述します。

2自由度ロバスト制御実システム
めかのとろ

外乱抑制に関してはフィードバックゲインCを大きくすればより効果があります。シミュレーションでは立ち上がりは設定した1次遅れ系時定数50msで起動しています。

Microsoft Excelによる2自由度ロバスト制御シミュレーション
めかのとろ

実機での2自由度ロバスト制御の応答です。時定数Tm2は50msが今回の近似システムの条件ですが、試しに、時定数Tm2を違う値に設定してみたところ、近似モデルにおいても時定数により立ち上がりに違いは多少現れていました。ここでは現れていませんが、外乱負荷を与えても出力の回転数はとても安定しています。

2自由度制御ロバスト制御実測値
めかのとろ

いわゆるロバスト制御の特長がよく現れていて比較的に簡単に実現できますので、ちょっとしたアプリケーションに積極的に採用できるのではないかと思います。

めかのとろ

これまでは速度フィードバック制御について、定値制御のステップ応答で検証してきました。実践的な速度入力としては台形波パターンなどを与えることが多いので次回は入力に追従する速度サーボ制御について、各制御方式で比較検証していきたいと思います。

コラム

2自由度ロバスト制御を簡易に実現するために目標値応答特性を決める1次遅れフィルタGry(s)の時定数を規範モデルと同じものとし近似化しています。定値制御でのステップ応答であればこの近似化した条件でも応答はある程度改善できますが、ランプ応答などのサーボ追従制御では近似した簡易タイプでは性能に限度があるため簡易でない本来の制御補償器をプログラム内で構成するほうが確実です。ただし、実現には浮動小数点演算が必要となってきますので、比較的動作の緩やかな用途では簡易な近似タイプで十分ではないでしょうか。