ひとことで言うと「系の極を、設計者が好きな場所へ引っ越しさせる」手法だよ。系の応答の速さや揺れ方は、特性方程式の根=極の位置でほぼ決まる。だから「もっと速く・もっと減衰よく応答してほしい」という要求を、まず「極をこの位置に置きたい」という目標に翻訳する。そして、その極になるようにフィードバックゲイン K を逆算するんだ。このツールは、その K を 2 次系で計算して見せている。
🙋
極を引っ越しさせるって、具体的には何をいじるんですか?左に A のスライダーと希望極のスライダーがありますけど。
🎓
使うのは状態フィードバック u=-Kx だ。状態 x を測って、それに K を掛けた分を入力として戻す。すると系のダイナミクスは元の A から A-BK に変わる。つまり入力で系の「中身」を作り替えているわけだ。左で希望極 p1, p2 をデフォルトの -3, -4 にしておくと、A-BK の極がちょうど -3 と -4 になるように K=[10, 6.5] が計算される。結果カードの k1, k2 を見てごらん。
気持ちは分かるけど、それは罠だよ。極を左に置くほど応答は速くなるけど、その分フィードバックゲイン K が大きくなる。K が大きいと制御入力 u がドカンと跳ね上がって、モーターやバルブが飽和したり、センサーのノイズを増幅して系がガタガタになったりする。実務では減衰比 0.7 くらいを目安に、整定時間や行き過ぎ量の仕様から「ちょうど良い速さ」を逆算する。下のステップ応答グラフで p1, p2 を動かすと、速くしすぎたときの暴れ方が見えるよ。極配置は「速ければ勝ち」ではなく「狙いどおりに置く」のが本質なんだ。
よくある質問
極配置法は、状態フィードバック u=-Kx のゲイン K を選んで、閉ループ系 A-BK の極(固有値)を設計者が指定した希望の位置にぴったり移す手法です。極の位置が応答の速さ・減衰・安定性を決めるので、応答仕様を「極の場所」に翻訳して K を逆算する、という設計の流れになります。対象が可制御であれば、極は複素平面上のどこにでも自由に配置できます。
極を任意に配置できる条件は、対象システムの組 (A,B) が可制御であることです。可制御でないモードがあると、そのモードの極は K でいくら頑張っても動かせません。本ツールの式では a12 がゼロに近いと k1 の計算で分母がゼロになり配置不可になります。これは入力 u が状態の一部にしか効かず、その方向のモードが不可制御になっているためです。
閉ループ極の実部が負であれば安定、負に大きいほど応答は速くなります。ただし極を左に置くほどフィードバックゲイン K が大きくなり、制御入力が増えてアクチュエータが飽和したり、測定ノイズを増幅したりします。実務では「必要十分な速さ」に留め、減衰比 0.7 前後、整定時間や行き過ぎ量の仕様から逆算して極を決めます。速ければ良いというものではありません。
実世界での応用
倒立振り子・台車系の安定化:制御工学の定番である倒立振り子は、放っておくと倒れる不安定な系です。状態は「台車位置・速度・振り子角度・角速度」で、開ループ極のひとつが右半平面(不安定)にあります。極配置法で全ての極を左半平面に移すよう K を設計すれば、台車を押す力だけで振り子を直立させられます。本ツールの2次系は、その「不安定極を安定領域へ引っ越しさせる」操作を最小構成で体験するものです。
サーボモーター・位置決め機構:工作機械や半導体製造装置のステージ位置決めでは、「指令にどれだけ速く・行き過ぎなく追従するか」が生産性を左右します。応答仕様(整定時間・オーバーシュート)を減衰比と固有角周波数に翻訳し、それを満たす閉ループ極を決めて K を求めます。極配置は、要求仕様を直接ゲインに落とし込める点で現場で扱いやすい手法です。
現代制御の教育・設計フローの起点:極配置はLQRやオブザーバ設計の前段として、状態フィードバックの考え方を学ぶ標準的な題材です。MATLAB の place / acker、Python python-control の place など、現場のツールチェーンにも極配置関数が標準で備わっています。観測器(オブザーバ)の極設計も、同じ係数マッチングを双対系に適用したものです。
よくある誤解と注意点
まず多いのが、「極配置は可制御性と無関係に常にできる」と思い込むことです。極を任意の位置に配置できる保証があるのは、組 (A,B) が可制御なときに限ります。不可制御なモードが含まれていると、その極は K でまったく動かせません。たまたまそのモードが安定なら実害は小さい(可安定)ですが、不可制御かつ不安定なモードがあると、状態フィードバックではどうやっても安定化できません。本ツールで a12 を 0 にすると配置不可になるのは、まさにこの不可制御の状況を再現しています。極配置の前に、必ず可制御性を確認してください。
次に、「閉ループ極を左に置けば置くほど良い制御系になる」という誤解です。極を左へ動かすほど応答は速くなりますが、それに比例してフィードバックゲイン K が大きくなります。ゲインが大きいと、わずかな状態誤差に対して制御入力 u が過大になり、アクチュエータが飽和して設計どおりの線形挙動から外れます。さらにセンサーの測定ノイズが K 倍に増幅され、入力がガタガタに暴れます。「速さ」と「入力の大きさ・ノイズ感度」はトレードオフであり、極は仕様を満たす範囲で最も穏当な位置に置くのが鉄則です。
最後に、「極配置だけで制御系が完成する」と考えてしまう点。極配置は状態 x が全て測定できることを前提にしています。実際には全状態を直接測れないことが多く、その場合はオブザーバ(状態推定器)を併用します。また、極配置は応答の「形」は決められますが、定常偏差をゼロにする積分動作や、外乱・モデル誤差への頑健性は別途考える必要があります。極配置は強力な出発点ですが、実機ではオブザーバ・積分器・ロバスト性の検討と組み合わせて初めて使える制御系になります。
使い方ガイド
システム行列 A の要素(a11, a12, a21, a22)をスライダーで設定します。例えば倒立振子の場合、a12=1(位置から速度への遷移)、a21=9.8(重力加速度)などです