定常偏差とシステム型シミュレーター 戻る
制御工学

定常偏差とシステム型(タイプ)シミュレーター

ユニティフィードバック制御系の「定常偏差」を、システム型 N(積分器の数)と入力信号(ステップ/ランプ/放物)から決定する古典制御の基本原理を可視化します。ループゲイン K と時定数 τ を動かしながら、位置・速度・加速度定数と追従性能がどう変わるかを直感的に確認できます。

パラメータ設定
ループゲイン K
開ループ伝達関数 G(s) の DC ゲイン相当
システム型 N
G(s) に含まれる純粋な積分器 1/s の個数
入力信号
追従させる目標値の種類
入力振幅 A
ステップ高さ/ランプ傾き/放物の係数
代表的時定数 τ
s
非積分極 (τs+1) の時定数。応答の速さに影響
計算結果
システム型 N
位置定数 K_p
速度定数 K_v
加速度定数 K_a
選択入力の定常偏差
追従性能の判定
ユニティフィードバックループと追従応答

左側にブロック線図、右側に入力(青)と出力(緑)の時間波形を描画。実線間の隙間が定常偏差です。型 N が高いほど隙間は閉じます。

偏差 vs 時間 — 入力と出力の時間応答
静的誤差定数 K_p / K_v / K_a
理論・主要公式

$$e_{\text{step}}=\frac{A}{1+K_p},\quad e_{\text{ramp}}=\frac{A}{K_v},\quad e_{\text{parab}}=\frac{A}{K_a}$$

ユニティフィードバック系 G(s)=K/[s^N(τs+1)] の静的誤差定数は K_p=lim_{s→0}G(s)、K_v=lim_{s→0}sG(s)、K_a=lim_{s→0}s²G(s)。積分器が 1 つ加わるとシステム型 N が 1 つ上がり、1 段低い多項式入力に対する定常偏差がゼロになります(代償として位相余裕が 90°失われる)。

定常偏差とシステム型

🙋
「定常偏差」ってよく聞くんですけど、要するに何ですか?モーターを「角度 30° で止めて」と命令したら、ぴったり 30°で止まるんじゃないんですか?
🎓
いい質問だね。実は「ぴったり 30°」で止まるかどうかは、コントローラの中身次第なんだ。命令と実際の出力の差を「誤差 e(t)」と呼ぶんだけど、十分時間が経ってから残っている誤差を「定常偏差 e_ss」という。フィードバック制御の最初の関門は、まず「この e_ss がゼロになるか、有限値で残るか、それとも発散するか」を見極めることなんだ。
🙋
え、命令にちゃんと従わない場合もあるってことですか?何でそうなるんですか?
🎓
古典制御の一番美しい定理がここで出てくる。「多項式入力(ステップ・ランプ・放物)に対する定常偏差は、開ループ伝達関数 G(s) の中の純粋な積分器 1/s の数だけで決まる」というものだ。この積分器の数を「型 N」と呼ぶ。型 0 はステップでも誤差が残る。型 1 はステップに完全追従、でもランプには遅れる。型 2 はランプも追従、放物だけ残る。左の「システム型 N」を切り替えてみて。同じ入力でも 6 つの結果カードがガラッと変わるはずだ。
🙋
本当だ!型 0・ステップだと偏差が残って、型 1 にすると一気に 0 になりました。じゃあ常に型を高くすれば最強じゃないですか?
🎓
そう思うよね。でもそうはいかない。1/s という積分器は周波数領域で 90°の位相遅れを持ち込むんだ。型 1 で 90°、型 2 で 180°、型 3 で 270°…ナイキスト線図のループがどんどん −1 点に近づいて、位相余裕が削られていく。結果、サーボが振動的になったり、ちょっとした外乱で不安定になったりする。だから実務では「ステップ偏差をゼロにしたいから型 1」「精密位置決めだから型 2」と、必要最小限の積分器で設計するんだ。
🙋
なるほど…ループゲイン K を上げるのはどうですか?それでも偏差は減りますよね?
🎓
確かに、型 0・ステップなら e_step = A/(1+K) だから K を大きくすれば偏差は小さくなる。ただし完全にゼロにはならない。さらに K を上げすぎると、ゲイン交差周波数が高い方へ動いて、未モデル化の高周波ダイナミクスや時間遅れが効いてきて、やはり不安定化する。実務の鉄則は「定常偏差仕様を満たす最小の K を選ぶ。それでも足りなければ型を 1 段上げる」。本ツールでも、ループゲイン K を 100 まで上げてみると、定常偏差の数値がどんどん小さくはなるけど、いつまでもゼロにはならないのが分かるよ。
🙋
時定数 τ は何に効くんですか?動かしても定常偏差の数字が変わらないんですけど…
🎓
鋭い!それこそが定理のすごいところなんだ。τ は応答の「速さ」、つまり立ち上がりや整定時間には大きく効く。でも「最終的に残る偏差」には一切影響しない。右のキャンバスで τ を 0.05〜5 と変えてみて。波形の形は全然違うのに、入力と出力の距離(隙間)は同じだろう? 定常偏差は型 N と静的誤差定数 K_p / K_v / K_a でしか決まらない。これが古典制御を学ぶ最初の「目から鱗」のポイントなんだ。

よくある質問

ユニティフィードバック制御系の開ループ伝達関数 G(s) に含まれる「純粋な積分器 1/s」の個数を、システムの「型(タイプ)」または「TYPE 番号 N」と呼びます。N=0 は積分器なし、N=1 は積分器が 1 個、N=2 は 2 個、というように数えます。古典制御の最も重要な定理の一つは「ステップ・ランプ・放物のような多項式入力に対する定常偏差は、プラントの詳細なダイナミクスではなく、この型 N だけで決まる」というもので、本ツールはその関係を可視化します。
これらは静的誤差定数(static error constants)と呼ばれ、K_p = lim_{s→0} G(s)、K_v = lim_{s→0} s·G(s)、K_a = lim_{s→0} s²·G(s) で定義されます。型 0 の系では K_p は有限値(ループゲイン K に等しい)、K_v=K_a=0。型 1 では K_p=∞、K_v=K、K_a=0。型 2 では K_p=K_v=∞、K_a=K。それぞれステップ・ランプ・放物入力に対する定常偏差を支配し、本ツールでも入力を切り替えると対応する定数が点灯します。
純粋な積分器 1/s は周波数領域で 90°の位相遅れを持ち込みます。型を 1 つ上げるたびに位相が 90°余分に遅れるため、ナイキスト線図のループが −1 に近づき、位相余裕(PM)が減って制御系が振動的・不安定になりやすくなります。多くのサーボはステップ偏差 0 と良好な位相余裕を両立できる「型 1」、精密追従が必要なときだけ「型 2」、それ以上は限定的、というのが実務の選択です。
理論上は K を上げれば e_step = A/(1+K_p) や e_ramp = A/K_v は限りなく小さくなりますが、ゲイン交差周波数(GCO)が上がりすぎると未モデル化高周波ダイナミクスや時間遅れが効いてきて、位相余裕が崩れ振動・不安定になります。実務では「定常偏差を許容範囲に収めるのに必要な最小の K」を選び、足りない分は積分器の追加(型の昇格)や前置補償器で稼ぎます。

実世界での応用

サーボモータの位置制御:産業用ロボットの関節や工作機械の送り軸では、命令角度に対して「ぴったり止まる」ことが求められます。これはステップ入力に対する定常偏差ゼロ=型 1 以上の要求です。実際のサーボアンプは積分器を内蔵した PI 制御を使うことで型を 1 段上げ、e_step = 0 を実現します。一方、滑らかに連続的に動くランプ追従(連続切削など)には型 2 が必要で、ここから二重積分器を持つ位置形 P-PI カスケードや高度な前置補償が登場します。

HDD・光学ドライブのトラッキング:ハードディスクや BD/DVD のヘッドはトラックの偏心(ランプ的成分)を追従しなければなりません。型 1 のままでは速度定数 K_v が有限で偏差が残り、データを正しく読み書きできません。実機では繰り返し外乱除去(Repetitive Control)や PI² 構造で実効的に型 2 化し、偏心追従誤差を 1µm 以下に抑えています。

飛行体・ミサイル誘導:加速し続ける目標(一定加速度=放物入力)を追跡するシーカは、型 3(K_a 有限)を要求されます。古典的にはこれを純粋積分器の追加だけで実現するとロバスト性が崩壊するため、目標加速度フィードフォワードを組み合わせて「実効的な型」を上げる設計が一般的です。型と追従性能の関係は、こうした高性能追従系の仕様策定で最初に確認する事項です。

プロセス制御(温度・流量):化学プラントの温度ループは外乱(外気温・原料温度)への定常偏差をゼロにしたいため、ほぼ全てに積分動作(PI / PID)が入っています。これも「型 1 化して、ステップ的外乱と設定値変更に対する e_ss を 0 にする」古典制御の応用です。逆に整定時間が惜しい高速ループで P 制御のままにすると、必ず有限のオフセット(型 0 のステップ偏差)が残り、運転員が手動でバイアスを足す羽目になります。

よくある誤解と注意点

まず多いのが、「定常偏差はループゲイン K を上げれば常にゼロにできる」という誤解です。型 0 の系では確かに K→∞ で e_step→0 ですが、決して厳密にはゼロになりません。さらに高ゲインは位相余裕を削り、未モデル化ダイナミクスを励振して系を不安定化させます。e_ss を厳密ゼロにする唯一の方法は「型を 1 段上げる」こと、すなわち入力多項式の次数より多くの積分器をループに入れることです(内部モデル原理)。ゲインの調整と型の選択は別物として扱ってください。

次に、「型と入力次数の対応表を暗記すれば十分」という落とし穴。表は単位フィードバック・連続時間・線形時不変系という強い前提に依存しています。実機には飽和(アクチュエータの出力リミット)・量子化(センサ分解能)・むだ時間・外乱が常に存在し、これらは表の通りには動きません。例えば積分器を入れて型 1 化しても、アクチュエータが飽和すると積分ワインドアップで応答が大きく崩れます。表は「素の理想系で何が起きるか」を示す出発点で、実機検証は必須です。

最後に、「定常偏差が小さければ良い制御系」と思いがちなこと。実は良い制御は (1) 定常偏差、(2) 過渡応答(行き過ぎ・整定時間)、(3) 外乱抑圧、(4) ノイズ感度、(5) ロバスト性、の 5 つのトレードオフで決まります。型を上げて e_ss = 0 にしても、立ち上がりが遅い・行き過ぎが大きい・ノイズに弱い、では使い物になりません。本ツールで τ を動かしても定常偏差が変わらないのは、まさに「定常偏差は性能の一側面に過ぎない」ことの裏返しです。

使い方ガイド

  1. システム型Nを選択します(0型:積分器なし、1型:積分器1個、2型:積分器2個)
  2. ゲイン定数Kを0.5~10の範囲で調整し、位置定常偏差Kp、速度定常偏差Kv、加速度定常偏差Kaを計算します
  3. ステップ入力、ランプ入力(速度1m/s)、パラボラ入力(加速度2m/s²)から入力形式を選択し、各々の定常偏差εsを確認します
  4. 時定数τを0.1~2秒の範囲で変更して応答速度の変化を観察し、最適なゲイン値を決定します

具体的な計算例

N=1型システムにK=5を設定した場合、速度定常偏差Kv=5(無次元)となります。ランプ入力r(t)=0.5t(速度0.5m/s)を与えると、定常偏差εs=0.5/5=0.1mになります。同じゲインでステップ入力1mを印加すれば定常偏差は0(1型システムの特性)、パラボラ入力では無限大に発散します。τ=0.5秒、K=8に調整するとKv=8となり、εs=0.5/8=0.0625mに改善でき、応答速度も早まります。

実務での注意点

  1. 産業用サーボ制御:N=2型(速度・加速度追従可能)を選択してもゲイン過大でオーバーシュート20%超の場合は、K値を段階的に0.5刻みで低減し安定性を確保してください
  2. 位置制御装置(工作機械軸)ではN=1型で十分ですが、Kを過度に上げると振動発生(τ=0.2秒以下での不安定化)するため、Kv=2~3の範囲推奨
  3. 定常偏差がゼロでもゲイン不足(K<1)では応答時間が10秒超となり実用的でないため、追従性能判定で「良好」評価を得るまでKを調整してください