稳态误差
型别与输入决定误差
金色曲线是从 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(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 在原点处的极点,也就是积分器的个数。不过,这个定理只有在闭环稳定时才能使用。
三个误差常数与型别表
为左右各种输入误差的量起的名字,就是误差系数。阶跃输入对应位置误差系数 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 单元的滞后补偿则是在同一格里增大误差系数、减小了误差。
至此,控制这一章绕完了一圈。用劳斯判据判定稳定(F1),用根轨迹跟踪极点的路径(F2),用伯德图的两个裕度测量距离(F3),用奈奎斯特图看是否绕 −1(F4),用 PID 塑造响应(F5),用超前、滞后补偿整形相位(F6),现在又用稳态误差读出了跟踪的极限(F7)。稳定性、响应速度、稳态精度这三个目标相互拉扯,最终被捆成一个设计,这就是经典控制的主干。再往前走,还有同时处理多输入多输出的状态空间、把极点放到想要位置的极点配置、用采样信号控制的数字控制,以及使代价最小的最优控制在等着。而所有这些道路,也都建立在本章所见的极点、零点、裕度和误差的语言之上。