seegongsik
SC · 制御

定常状態誤差

閉ループが目標を最後まで追いきれずに残す誤差が定常状態誤差です。その大きさは、開ループが原点にもつ積分器の数、つまりシステムの型と、入力の種類で決まります。この講では入力(ステップ、ランプ、放物線)とシステムの型(0形、1形、2形)を切り替えながら、型が入力の次数より高ければ誤差が 0 へ消え、同じなら有限の値で残り、低ければ限りなく開いていくことを確かめます。

システム型と入力で誤差が決まる

金色の曲線は t = 0 から 12 までの追従誤差 e(t) = r(t) − y(t)、つまり目標入力と閉ループ出力の差で、点線はその誤差が時間とともに行き着く定常状態の値です。入力はステップ(一定)、ランプ(直線)、放物線(加速)から、システムの型は 0形、1形、2形(開ループが原点にもつ極の数)から選び、誤差が 0 へ向かうと曲線が緑に、限りなく大きくなると赤に変わります。最初はランプ入力に 1形、K = 2 なので、誤差は 2/K = 1 で止まります。システムの型が入力より一段以上高ければ誤差は 0 へ沈み、ちょうど同じなら 0 でない一定の値で止まり(K を上げれば減りますが 0 にはなりません)、低ければ限りなく大きくなります。1形のシステム K/(s(s + 1)(s + 2)) は F1 ~ F6 ユニットでずっと使ってきたまさにそのプラントで、このスライダーは K = 5 までなので、K = 6 での不安定は現れません。

追従誤差 e(t) = r − y (破線 = 定常状態誤差)
入力
システム型 (原点の極の数)
利得 K2.0
誤差定数と定常状態誤差
K_p = ∞ · K_v = 1.0 · K_a = 0
e_ss = 1.00
システムの型が入力の次数とちょうど同じなので、誤差は 0 でない一定の値で止まります。ステップと 0形なら e = 1/(1 + K_p) = 2/(2 + K)、ランプと 1形なら e = 1/K_v = 2/K、放物線と 2形なら e = 1/K_a = 1/K です。ゲイン K を上げると対応する誤差定数が大きくなって誤差は減りますが、有限で残るだけで 0 にはなりません。誤差を完全になくすには、システムの型をもう一段上げる必要があります。
有限誤差が残る

最終値定理で誤差を読む

定常状態誤差は最終値定理ですっきり求まります。単位フィードバックでは誤差のラプラス変換は E(s) = R(s)/(1 + L(s)) で、時間が無限にたったあとの値は e_ss = lim_{t→∞} e(t) = lim_{s→0} s·E(s) = lim_{s→0} s·R(s)/(1 + L(s)) です。ステップ入力は R = 1/s、ランプは R = 1/s²、放物線は R = 1/s³ なので、s·R はそれぞれ 1、1/s、1/s² になります。すると誤差は s → 0 で 1 + L(s) がどれだけ大きくなるかで決まり、L(s) が原点に極をもてば s → 0 で L が無限大になって誤差は 0 になります。結局、誤差を 0 へ送る力は、L が原点にもつ極、つまり積分器の数から生まれます。ただしこの定理は、閉ループが安定なときにしか使えません。

観察ess = lim(s→0) s·R(s) / (1+L(s))
最終値定理: ess = lims→0 s·R/(1 + L)。
選ぶステップ誤差 0 に必要なもの: L の ?
ステップ誤差を 0 にするには、原点の極(積分器)が一つあれば十分です。
空欄ランプ誤差 ess = 1 / ?
ランプ誤差 = 1/Kv、Kv = lim s·L。
自分で2形がステップとランプを追従するときの誤差 ?
2形はステップとランプを誤差 0 で追従します。

三つの誤差定数とシステム型の表

入力ごとに誤差を左右する量に付けた名前が誤差定数です。ステップ入力には位置誤差定数 K_p = lim_{s→0} L(s)、ランプ入力には速度誤差定数 K_v = lim_{s→0} s·L(s)、放物線入力には加速度誤差定数 K_a = lim_{s→0} s²·L(s) が対応し、誤差はステップで 1/(1 + K_p)、ランプで 1/K_v、放物線で 1/K_a とまとまります。システムの型は、これらの定数が有限か無限かを一度に決めます。0形は K_p だけが有限で K_v と K_a は 0 なので、ステップには有限の誤差、ランプと放物線には無限の誤差が残ります。1形は K_p が無限(ステップ誤差 0)、K_v が有限(ランプは有限の誤差)、K_a が 0(放物線は無限の誤差)で、2形は K_p と K_v が無限(ステップとランプの誤差 0)、K_a が有限(放物線は有限の誤差)です。この 3 × 3 の表が定常状態誤差のすべてで、最初の画面の表示欄には、いま選んだシステムの三つの定数が書かれています。

誤差を減らす二つのつまみ、そして代償

定常状態誤差を減らす道は二つあります。一つはシステムの型を上げること、つまり制御器に積分器を加えて原点に極を足すことで、そうすればその入力の誤差がまるごと 0 になります(F5 ユニットの積分項)。もう一つは誤差定数を大きくすることで、ゲインを上げるか、F6 ユニットの遅れ補償のように原点の近くに極を置いて低い周波数のゲインを大きくする方法ですが、有限の誤差を減らすだけでなくすことはできません。どちらの道もただではありません。原点の極は位相を 90° 遅らせて位相余裕を削るのでシステムを不安定の側へ押しやり(F3、F6 ユニットで見た位相の損失)、ゲインを上げるとある線を越えた瞬間に閉ループが不安定になります。1形のプラント K/(s(s + 1)(s + 2)) が K = 6 で不安定になった F1 ~ F4 ユニットのあの境目は、ここでもそのまま生きています。そのため実際の設計は、定常状態の正確さと安定性、応答の速さの綱引きで、積分器は進み補償で位相を補いながら、本当に必要な分だけ加えます。

最初の画面に戻ると

最初の画面では、追従誤差 e(t) を直接表示し、入力とシステムの型を切り替えながらその行き着く値を調べました。型が入力の次数より高ければ誤差は 0 へ消え、同じなら 1/(1 + K_p)、1/K_v、1/K_a のような有限の値で止まり、低ければ限りなく開いていきました。そのすべてが最終値定理 e_ss = lim_{s→0} s·R/(1 + L) 一つから出てきて、原点にある極の数が 1 + L をどれだけ大きくするかが、誤差を 0 へ送るかどうかを決めていました。ゲイン K は有限の誤差の大きさを変えるだけで、次数の壁は越えられませんでした。F5 ユニットの積分項はこの表でシステムの型を一段上げて誤差を消したもので、F6 ユニットの遅れ補償は同じ段のまま誤差定数を大きくして誤差を減らしたものです。

定常状態誤差 ess は、閉ループが目標を最後まで追いきれずに残る誤差で、閉ループが安定なとき最終値定理 ess = lims→0 s·R(s)/(1 + L(s)) で求めます。入力ごとの誤差はステップ 1/(1 + Kp)、ランプ 1/Kv、放物線 1/Ka で、誤差定数は Kp = lim L、Kv = lim sL、Ka = lim s²L です。システムの型(L が原点にもつ極の数)が入力の次数より高ければ誤差 0、同じなら有限、低ければ無限で、0形はステップだけが有限、1形はステップ 0 とランプ有限、2形はステップとランプが 0 で放物線が有限です。誤差を 0 にする道は積分器を加えてシステムの型を上げること(F5 ユニットの積分項)で、遅れ補償(F6 ユニット)は誤差定数を大きくして誤差を減らしますが、原点の近くの極は位相余裕を削って安定と引き換えになります(F1 ~ F4 ユニットの K = 6 の境目はここでも有効です)。
制御の章を終えて

これで制御の章が一回りしました。ラウスで安定を判定し(F1)、根軌跡で極の道筋をたどり(F2)、ボード線図の二つの余裕で距離を測り(F3)、ナイキスト線図で −1 を囲むかを見て(F4)、PID で応答を形づくり(F5)、進み・遅れ補償で位相の形を整え(F6)、そしていま定常状態誤差で追従の限界を読みました(F7)。安定性、応答の速さ、定常状態の正確さという三つの目標が互いに引っ張り合いながら一つの設計にまとまるのが、古典制御の骨組みです。ここからさらに進めば、多くの入出力を一度に扱う状態空間、極を望みの場所に置く極配置、標本化した信号で制御するデジタル制御、コストを最小にする最適制御が待っています。そのどの道も、この章で見た極、零点、余裕、誤差の言葉の上に築かれています。