根轨迹图

根轨迹图（root locus）是控制理论及稳定性理论中，绘图分析的方式，可以看到在特定参数（一般会是回授系统的环路增益）变化时，系统极点的变化。根轨迹图是由Walter R. Evans所发展的技巧，是经典控制理论中的稳定性判据，可以判断线性非时变系统是否稳定。

根轨迹图是在复数s-平面中，系统闭回路传递函数的极点随着增益参数的变化（参照极零点图）。

## 用途

<image>

除了确认系统的稳定性外，根轨迹图也可以用来设计回授系统的阻尼比（ζ）及自然频率（ωn）。定阻尼比的线是从原点往外延伸的线，而固定自然频率的线是圆心在原点的圆弧。在根轨迹图上选择有想要的阻尼比及自然频率的点，可以计算增益K并且实现其控制器。在许多教材科书上有利用根轨迹图设计控制器的精细技巧，例如超前-滞后补偿器、PI、PD及PID控制器都可以用此技巧来近似设计。

以上使用阻尼比及自然频率的定义，前提是假设整个回授系统可以用二阶系统来近似，也就是说系统有一对主要的复数极点，不过多半的情形都不是如此，因此在实做时仍需要针对系统再进行模拟，确认符合需求。

## 定义

回授系统的根轨迹图是用绘图的方式在复数s-平面上画出在系统参数变化时，回授系统闭回路极点的可能位置。这些点是根轨迹图中满足角度条件（angle condition）的点。根轨迹图中特定点的参数数值可以用量值条件（magnitude condition）来计算。

假设有个回授系统，输入信号$X(s)$、输出信号$Y(s)$。其顺向路径传递函数为$G(s)$，回授路径传递函数为$H(s)$。

<image>

此系统的闭回路传递函数为

$$T(s) = \frac{Y(s)}{X(s)} = \frac{G(s)}{1+G(s)H(s)}$$

因此，闭回路传递函数的极点为特征方程式$1 + G(s)H(s) = 0$的根，方程式的根可以令$G(s)H(s) = -1$来求得。

若是一个没有纯粹延迟的系统，$G(s)H(s)$的乘积为有理的多项式函数，可以表示为

$$G(s)H(s) = K \frac{ (s + z_1) (s + z_2) \cdots (s + z_m)}{(s + p_1) (s + p_2) \cdots (s + p_n) }$$

其中$-z_i$为$m$个零点，$-p_i$为$n$个极点，而$K$为增益。一般而言，root locus diagram会标示在不同参数$K$时，传递函数极点的位置。而root locus plot就会画出针对任意$K$值下，使$G(s)H(s) = -1$的极点，但无法看出$K$值变化时，极点移动的趋势。

因为只有$K$的系数以及简单的单项，此有理多项式的值可以用向量的技巧来计算，也就是将量值相乘或是相除，角度相加或是相减。向量公式的由来是因为有理多项式$G(s)H(s)$的每一个因式$(s-a)$就表示一个s-平面下由$a$到$s$的向量，因此可以透过计算每一个向量的量值及角度来计算多项式。

根据矩阵数学，有理多项式的相角等于所有分子项的角度和，减去所有分母项的角度和。因此若要测试s-平面上的一点是否在根轨迹图上，只要看开回路的零点及极点即可，这称为角度条件。

有理多项式的量值也是所有分子项的量值乘积，再除以所有分母项量值的乘积。若只是要确认一个s-平面上的点是否在根轨迹图上，不需要计算有理多项式的量值，因为$K$值会变，而且可以是任意的整数。针对根轨迹图上的每一点，都可以计算其对应的$K$值，此即为量值条件。

以前绘制根轨迹图会使用名叫Spirule的特殊量角器，可以用来确认角度并且绘制根轨迹图

根轨迹图只能提供在增益$K$变化时闭回路极点的位置资讯。$K$的数值不影响零点的位置，闭回路零点和开回路的零点相同。

### 角度条件

复数s平面上的点$s$若满足下式，即符合角度条件（angle condition）

$$\angle (G(s)H(s)) = \pi+2k\pi$$

其中$k$为整数。

也就是说

$$\sum_{i=1}^{m}\angle(s+z_i) - \sum_{i=1}^{n}\angle(s+p_i) = \pi+2k\pi$$

开回路零点到$s$点角度的和，减去开回路极点到$s$点角度的和，除$2\pi$后的余数需等于$\pi$。

### 量值条件

在根轨迹图上的特定点$s$，数值$K$若使下式成立，就符合量值条件（magnitude condition）

$$|G(s)H(s)| = 1$$

也就是说

$K\frac{ |s + z_1| |s + z_2| \cdots |s + z_m|}{|s + p_1| |s + p_2| \cdots |s + p_n| } = 1$.

## 绘制根轨迹图

<image>

利用一些基本的技巧，可以用根轨迹法绘制Ｋ值变化时极点的轨迹。根轨迹图可以看出回授系统在不同 $K$ 下的稳定性以及动态特性。其规则如下：

- 标示开回路的极点及零点
- 将实轴上，在奇数个极点及零点左边的线段标示下来（例如一个、三个极点及零点）。
- 找渐近线

令P为极点的个数，Z为零点的个数，两者相减即为渐近线的数量：

$$P - Z = \text{number of asymptotes} \,$$

渐近线和实轴的交点在$\alpha$（称为形心），往外延伸的角度为$\phi$：

$$\phi_l = \frac{180^\circ + (l - 1)360^\circ}{P-Z}, l = 1, 2, \ldots, P - Z$$

$$\alpha = \frac{\sum_P - \sum_Z}{P - Z}$$

其中$\sum_P$为所有极点数值的和，$\sum_Z$为所有明确零点数值的和

- 根据测试点的相位条件判断其往外延伸的角度
- 计算分离点（breakaway/break-in points）

根轨迹图上的分离点（二条根轨迹图上的轨迹相交的点）是满足下式的根

$$\frac{dG(s)H(s)}{ds} = 0\text{ or }\frac{d\overline{GH}(z)}{dz} = 0$$

只要解开z，实根即为分离点，若是虚数，表示没有分离点。

## 外部链接

- Wikibooks: Control Systems/Root Locus
- Carnegie Mellon / University of Michigan Tutorial
- Excellent examples. Start with example 5 and proceed backwards through 4 to 1. Also visit the main page
- The root-locus method: Drawing by hand techniques
- "RootLocs": A free multi-featured root-locus plotter for Mac and Windows platforms
- "Root Locus": A free root-locus plotter/analyzer for Windows
- Root Locus at ControlTheoryPro.com
- Root Locus Analysis of Control Systems
- MATLAB function for computing root locus of a SISO open-loop model
- Mathematica function for plotting the root locus