自动控制原理:根轨迹法核心规则与MATLAB实战解析
2026/7/30 14:20:01 网站建设 项目流程

1. 从“根”说起:为什么我们需要根轨迹?

如果你正在学习自动控制原理,或者正在准备相关考试,那么“根轨迹”这个词对你来说一定不陌生。它可能是课本里一个章节的标题,是作业里一道复杂的计算题,甚至是考研真题里让你头疼的简答题。但很多时候,我们只是机械地画着那些从极点出发、终止于零点的曲线,却很少停下来想一想:我们为什么要画它?它到底解决了什么问题?

让我从一个最朴素的工程场景说起。假设你是一个控制工程师,面前有一个系统,比如一个电机、一个水箱的温度,或者一个无人机的姿态控制器。你设计了一个控制器,比如一个简单的比例(P)控制器。这个控制器有一个关键参数,我们叫它增益K。现在,老板问你:“小张啊,这个K值我们调到多大合适?调大了会不会不稳定?调小了响应是不是太慢了?”

这就是根轨迹要回答的核心问题:当系统某个参数(最常见的就是开环增益K)从0变化到无穷大时,闭环系统特征方程的根(也就是闭环极点)在复平面上的运动轨迹。这些轨迹,直观地展示了系统性能(稳定性、动态响应速度、阻尼程度)随参数变化的“地图”。

为什么这如此重要?因为闭环极点直接决定了系统的瞬态响应特性。极点实部决定了衰减速度,虚部决定了振荡频率,极点在复平面上的位置决定了系统的阻尼比和自然频率。在计算机仿真和数值计算还不发达的年代,根轨迹法由伊文思(W. R. Evans)在1948年提出,它提供了一种强大的图解分析法。工程师不需要对每一个K值都去解一个高阶方程,只需要根据一套规则画出根轨迹,就能一目了然地看到:

  • 稳定性边界:轨迹何时会穿过虚轴进入右半平面(系统变得不稳定)。
  • 动态性能趋势:增大K,主导极点是更靠近虚轴(响应变慢、振荡加剧)还是远离(响应变快)。
  • 参数设计指导:为了达到特定的超调量、调节时间等指标,K应该取在轨迹的哪一段上。

所以,根轨迹不是一堆枯燥的绘图规则,它是连接控制器参数(原因)与系统闭环性能(结果)的一座桥梁。今天,我们就抛开应试的条条框框,从工程应用的视角,重新梳理一遍线性系统的根轨迹分析。我会结合常见的考研知识点(如武大856、西工大卢京潮老师的经典内容)和MATLAB工具的使用,不仅告诉你怎么画,更告诉你为什么这么画,以及画出来之后怎么用。

2. 绘制根轨迹的“宪法”:十大基本规则全解析

绘制根轨迹有一套严谨的规则,这是伊文思留给我们的宝贵遗产。很多教材会列出七八条甚至更多,但核心逻辑是连贯的。我们在这里将其归纳为十大步骤,并深入解释每一条背后的数学和物理意义。

2.1 规则一:起点与终点——故事的开始与结束

  • 起点(K=0):根轨迹起始于开环极点。
  • 终点(K→∞):根轨迹终止于开环零点或无穷远处。

为什么?这源于根轨迹方程的本质:1 + KG(s)H(s) = 0, 可改写为KG(s)H(s) = -1。将开环传递函数写成零极点形式:G(s)H(s) = (Π(s-z_i)) / (Π(s-p_j))。那么根轨迹方程变为K * (Π(s-z_i)) / (Π(s-p_j)) = -1。当K=0时,要使等式成立,分母必须为无穷大,即s必须趋近于某个开环极点p_j。当K→∞时,要使等式成立,分子必须为无穷大,即s必须趋近于某个开环零点z_i。如果开环零点数m少于极点数n,那么将有n-m条轨迹趋向于无穷远。

注意:这里的“开环”指的是绘制根轨迹所依据的传递函数G(s)H(s),即前向通道与反馈通道传递函数的乘积。务必在绘制前正确确定开环零极点。

2.2 规则二:分支数、对称性与连续性

  • 分支数:根轨迹的分支数等于开环极点数n,也等于闭环特征方程的阶数。
  • 对称性:根轨迹关于实轴对称。因为特征方程的系数为实数,其根必为实数或共轭复数对。
  • 连续性:根轨迹是连续的。

实操提示:分支数告诉你需要画多少条线。对称性让你只需要计算实轴上方或下方的轨迹,下方可以通过对称补全。连续性意味着轨迹是光滑曲线,不会突变。

2.3 规则三:实轴上的根轨迹

在实轴上,若某线段右侧的实轴上的开环零极点数目之和为奇数,则该线段是根轨迹的一部分。

理解窍门:在实轴上取一个试验点s0。每个实轴上的零极点向这个试验点引矢量,角度只能是0°或180°。只有那些位于试验点左侧的零极点,其矢量角才是0°,不影响总相角;位于右侧的,其矢量角为180°。要满足相角条件(总相角为180°的奇数倍),右侧的零极点数目之和必须是奇数。这是一个非常快速判断实轴哪些区间有轨迹的方法。

2.4 规则四:渐近线——无穷远处的“指南针”

n > m时,有n-m条根轨迹趋向于无穷远。这些渐近线由两部分决定:

  1. 渐近线与实轴的交点(重心)σ_a = (Σ开环极点 - Σ开环零点) / (n - m)
  2. 渐近线与实轴正方向的夹角φ_a = (2k+1)π / (n - m)k = 0, 1, 2, ..., n-m-1

计算示例:假设开环传递函数有3个极点p1, p2, p3和1个零点z1。则n-m=2。渐近线交点σ_a = (p1+p2+p3 - z1)/2。两条渐近线的夹角分别为φ_a = (2*0+1)π/2 = π/2 (90°)φ_a = (2*1+1)π/2 = 3π/2 (270°或-90°)。这意味着这两条轨迹将沿着垂直于实轴的方向趋向无穷。

2.5 规则五:分离点与会合点——轨迹的“交汇站”

分离点(Breakaway Point)是多条根轨迹离开实轴的点;会合点(Break-in Point)是多条根轨迹进入实轴的点。它们通常出现在实轴上两相邻极点或两相邻零点之间。

  • 计算方法:由方程dK/ds = 0解出,其中K = -1/G(s)H(s)。或者,求解满足Σ 1/(s-p_i) = Σ 1/(s-z_i)s值(在实轴上寻找)。
  • 物理意义:在分离/会合点,系统特征根出现重根,对应临界阻尼状态。这是参数调整的一个关键点。

避坑指南:解出的s必须满足相角条件(即在实轴根轨迹线段上)才是有效的分离/会合点。有时需要验证解是否在合理的区间内。

2.6 规则六:起始角与终止角——轨迹出发和到达的方向

  • 起始角(出射角):根轨迹离开开环复数极点时的切线与实轴正方向的夹角。
  • 终止角(入射角):根轨迹进入开环复数零点时的切线与实轴正方向的夹角。

计算公式(以起始角θ_p为例)θ_p = 180° + (Σ 所有零点对该极点的相角) - (Σ 其他极点对该极点的相角)。 这里的相角都是矢量角度。这个规则对于准确描绘从复数极点出发的轨迹走向至关重要,尤其是在分析复杂系统稳定性时。

2.7 规则七:虚轴交点——稳定性的“生死线”

根轨迹与虚轴的交点,对应于系统临界稳定状态(等幅振荡)。此时s = jω

  • 计算方法
    1. s = jω代入特征方程1+KG(s)H(s)=0
    2. 令实部和虚部分别等于零,得到一个关于Kω的方程组。
    3. 解出使系统稳定的临界增益K_cr和振荡频率ω
  • 替代方法(劳斯判据):利用劳斯表第一列全为正,且出现全零行的条件,解出临界K和辅助方程的解ω。两种方法结果一致。

2.8 规则八:根之和与根之积——轨迹的“守恒律”

对于特征方程s^n + a_{n-1}s^{n-1} + ... + a_0 + K*... = 0,当n-m >= 2时,闭环极点之和等于开环极点之和,且为常数。闭环极点之积与K有关。

  • 根之和守恒Σ(闭环极点) = Σ(开环极点)。这意味着当一条轨迹向左移动(极点实部更负),必有另一条轨迹向右移动以保持总和不变。这解释了为什么有些系统增益增大会导致部分极点反而向右半平面移动,引发不稳定。
  • 应用:可用于估算当部分主导极点已知时,其他极点的位置。

2.9 规则九:闭环极点的确定(模值条件)

在画出的根轨迹上,对于特定的K值,可以通过模值条件确定具体的闭环极点位置。

  • 模值条件K = |Π(s-p_j)| / |Π(s-z_i)|。即,在轨迹上任取一点s,测量其到所有开环极点的距离之积,除以到所有开环零点的距离之积,就等于该点对应的K值。
  • 实操:通常用于验证或精确读数。在MATLAB中,我们可以直接通过rlocusrlocfind命令交互式地获取。

2.10 规则十:参数根轨迹与零度根轨迹

以上九条是针对正反馈系统(1 - KG(s)H(s) = 0)的180°根轨迹,其相角条件是∠KG(s)H(s) = 180° + 360°k。还存在另一种:

  • 零度根轨迹:对应于负反馈但开环传递函数分子或分母包含(s+a)偶次幂,或正反馈系统(1 - KG(s)H(s) = 0等价于KG(s)H(s) = +1)。其相角条件变为∠KG(s)H(s) = 0° + 360°k
  • 规则变化:零度根轨迹的绘制规则中,凡涉及(2k+1)π的都要改为2kπ。例如,实轴上的根轨迹段是其右侧实轴零极点数目之和为偶数的线段;渐近线夹角公式变为φ_a = 2kπ / (n-m)

常见误区:很多同学会混淆。记住核心:相角条件是180°还是,取决于你最终的闭环特征方程是1+...=0还是1-...=0。务必先化成标准形式再判断。

3. 手把手实战:从理论到MATLAB绘图

理解了规则,我们通过一个经典例题,结合MATLAB,完整走一遍绘制和分析流程。这是考试和实践中都极其常见的类型。

例题:已知单位负反馈系统的开环传递函数为G(s) = K / [s(s+1)(s+2)]。绘制其根轨迹,并确定使系统稳定的K值范围,以及主导极点阻尼比约为0.5时的K值。

3.1 第一步:手动分析与草图绘制

  1. 开环零极点:极点:p1=0, p2=-1, p3=-2。零点:无。n=3, m=0
  2. 规则一:3条分支,起始于0, -1, -2,均终止于无穷远。
  3. 规则三:实轴上,区间(-∞, -2],[-1, 0]右侧的零极点数目分别为1和1(奇数),是根轨迹。(-2, -1)(0, +∞)不是。
  4. 规则四:渐近线。n-m=3
    • 交点:σ_a = (0 + (-1) + (-2) - 0) / 3 = -1
    • 夹角:φ_a = (2k+1)π/3k=0,1,2=>π/3 (60°), π (180°), 5π/3 (300°或-60°)
  5. 规则五:分离点。在实轴区间[-1, 0]上寻找。
    • dK/ds = 0, 其中K = -s(s+1)(s+2)。求导并令为0:d/ds [s^3+3s^2+2s] = 3s^2+6s+2=0
    • 解得s1 = -0.4226,s2 = -1.5774(舍去,不在[-1,0]区间)。故分离点d ≈ -0.4226
  6. 规则七:虚轴交点。
    • 特征方程:s^3 + 3s^2 + 2s + K = 0
    • 劳斯表:
      s^3: 1 2 s^2: 3 K s^1: (6-K)/3 s^0: K
    • s^1行首项为0,得K = 6。代入辅助方程3s^2 + K = 0, 得s = ±j√2 ≈ ±j1.414
    • 所以,临界增益K_cr = 6, 振荡频率ω = √2 rad/s
  7. 规则八:根之和。Σ(闭环极点) = 0+(-1)+(-2) = -3。当K增大,一条轨迹沿负实轴趋向-∞,另外两条沿±60°渐近线趋向无穷,它们的实部之和会趋向-∞ + Re + Re, 但根据守恒律,Re+Re必须趋向一个有限值以保持总和为-3,这意味着这两条轨迹的实部会逐渐向右移动,最终穿过虚轴。

根据以上信息,我们已经可以画出根轨迹草图:三条轨迹分别从0, -1, -2出发。从0和-1出发的轨迹在实轴区间[-1,0]上相向而行,在d≈-0.4226处分离进入复平面,然后随着K增大,沿±60°渐近线趋向无穷远。从-2出发的轨迹始终沿实轴向左移动,趋向负无穷。轨迹与虚轴交于±j1.414, 对应K=6

3.2 第二步:MATLAB验证与精细化

手动草图对于定性分析至关重要,但定量分析需要工具。在MATLAB中,只需几行命令:

% 定义系统 num = [1]; % 分子系数, K*1 den = conv([1 0], conv([1 1], [1 2])); % 分母系数, s(s+1)(s+2) sys = tf(num, den); % 创建传递函数对象 % 绘制根轨迹 figure; rlocus(sys); title('根轨迹图: G(s) = K / [s(s+1)(s+2)]'); grid on; % 交互式选取点,获取增益和极点 % [K, poles] = rlocfind(sys); % 运行此命令后,在图形上点击你感兴趣的点

运行rlocus后,你会得到一张精确的根轨迹图,完全验证我们的手动分析。使用rlocfind可以点击轨迹上任一点,MATLAB会显示该点对应的K值和所有闭环极点。

针对本题问题

  1. 稳定K范围:从根轨迹图可知,当K>6时,有两条轨迹进入右半平面,系统不稳定。因此,使系统稳定的K值范围是 0 < K < 6
  2. 阻尼比ζ=0.5时的K值:阻尼比ζ=0.5的射线,是从原点出发,与负实轴夹角为arccos(0.5)=60°的直线。在根轨迹图上,找到复平面中那条与60°射线相交的轨迹分支(即从分离点出发向上走的那支)。使用rlocfind命令,在图形窗口中将光标移动到该交点附近点击,MATLAB会给出近似值。实测大约在K≈0.525附近,此时主导极点约为-0.33 ± j0.58

3.3 第三步:结果分析与工程意义

通过这个例子,我们可以看到根轨迹如何将抽象的数学(特征方程)转化为直观的图形:

  • 稳定性:K必须小于6。这给控制器增益设定了一个明确的上限。
  • 动态性能:当K很小时(如0.1),三个极点都在实轴上,系统过阻尼,响应缓慢无超调。K增大到约0.525时,出现一对共轭复极点,阻尼比0.5,响应具有适度的超调(约16%)和较快的调节速度。K继续增大,主导极点向虚轴靠近(阻尼比减小),超调量增加,振荡加剧。K接近6时,极点接近虚轴,系统处于临界振荡状态。
  • 设计指导:如果我们希望系统响应既不太慢又有合理的阻尼(如ζ=0.5~0.7),那么K就应该设置在0.5到2之间。这比盲目试凑要高效得多。

4. 考研真题与典型题型深度拆解

根轨迹是自动控制原理考研的重中之重。结合武汉大学856、西北工业大学等高校的真题风格,我梳理了几类高频题型和解题要点。

4.1 题型一:基础绘图与概念简答

这类题直接要求绘制给定开环传递函数的根轨迹,并回答稳定范围、分离点坐标、渐近线等。

  • 解题要点:严格按照十大规则逐步计算、绘制。实轴区间、渐近线、分离点、虚轴交点是必算点。草图要清晰体现轨迹走向、分离/会合点、与渐近线的关系。
  • 常见失分点
    1. 开环零极点找错:特别是反馈环节H(s)不为1时,开环传递函数是G(s)H(s)
    2. 渐近线夹角计算错误:记错公式或k取值不全。
    3. 分离点有效性未验证:解出的分离点必须同时满足相角条件(在实轴根轨迹段上)。
    4. 虚轴交点求解遗漏:忘记使用劳斯判据或代入s=jω求解。

4.2 题型二:参数根轨迹(广义根轨迹)

当可变参数不是开环增益K,而是其他参数(如时间常数、微分系数等)时,需要先通过特征方程变形,构造出以该参数为变量的等效开环传递函数。

  • 解题核心:将特征方程化为标准形式1 + λ * P(s) = 0, 其中λ为可变参数,P(s)为等效开环传递函数。然后针对P(s)绘制根轨迹。
  • 例题:系统特征方程为s^3 + as^2 + s + 1 = 0, 绘制以a为参数的根轨迹。
    1. 变形:s^3 + s + 1 + a * s^2 = 0=>1 + a * [s^2/(s^3+s+1)] = 0
    2. 等效开环传递函数P(s) = s^2/(s^3+s+1)。找出P(s)的零极点,然后按常规规则绘制关于参数a的根轨迹。
  • 易错点:等效开环传递函数P(s)的零极点可能很复杂,需要仔细计算。有时P(s)不是真分式,需要先处理。

4.3 题型三:基于根轨迹的系统分析与设计

这类题综合性强,常要求根据性能指标(如超调量、调节时间、阻尼比)确定参数,或分析增加零极点对系统的影响。

  • 根据阻尼比ζ确定K:在复平面上画出等阻尼比射线(β = arccos(ζ)),找到根轨迹与射线的交点,利用模值条件求K。
  • 根据调节时间Ts确定K:调节时间主要由主导极点的实部决定(Ts ≈ 4/(ζω_n), 对于欠阻尼二阶系统,实部σ = ζω_n)。在复平面上做一条垂直直线s = -σσ = 4/Ts), 找到根轨迹与该线的交点求K。
  • 增加零极点的影响(必考!)
    • 增加开环负实零点:相当于在轨迹上施加一个“吸引力”,会将根轨迹向左半平面“拉”,通常能提高稳定性,改善动态性能(减小超调,加快响应)。零点越靠近虚轴,效果越显著。
    • 增加开环负实极点:相当于施加一个“排斥力”,会将根轨迹向右半平面“推”,通常对稳定性不利,可能使系统响应变慢、振荡加剧,甚至导致不稳定。极点越靠近虚轴,负面影响越大。
    • 增加开环偶极子(零极点非常接近):对远处根轨迹影响很小,主要用于抵消系统中不希望的极点(如一个远离虚轴的慢极点),或微调稳态性能。

4.4 题型四:零度根轨迹与正反馈系统

遇到特征方程为1 - KG(s)H(s) = 0或开环传递函数包含(s+a)^2这类因子时,要警惕是否是零度根轨迹。

  • 识别关键:将特征方程化为KG(s)H(s) = 1的形式。如果右边是+1, 就是零度根轨迹;如果是-1, 就是常规180度根轨迹。
  • 规则变化:重点记住实轴段和渐近线夹角规则的变化。考试时很容易在这里粗心丢分。

5. 从根轨迹到系统设计:不只是看图说话

绘制根轨迹本身不是目的,利用它来分析和设计系统才是。在实际工程和考研进阶题中,根轨迹是进行控制器设计(如PD, PI, PID, 超前滞后校正)的强有力图形工具。

5.1 利用根轨迹进行PD控制器设计

PD控制器传递函数为K_p + K_d s = K_d (s + z_c), 其中z_c = K_p / K_d。它增加了一个开环零点。

  • 设计思路:原系统性能不满足要求(如阻尼太小,超调大)。我们希望通过增加一个PD控制器(即增加一个零点),将原有的根轨迹“拉”到更理想的区域(如阻尼比更大的区域)。
  • 步骤
    1. 在原系统根轨迹图上,标出期望的闭环主导极点位置s_d(根据ζ和ω_n要求确定)。
    2. 计算未校正系统在s_d点的相角贡献Φ_unc = ∠G(s_d)。要使s_d成为新根轨迹上的点,需满足相角条件:∠[G(s_d) * (s_d + z_c)] = -180°
    3. 因此,需要PD控制器提供的附加相角为Φ_c = -180° - Φ_unc。这个角度就是零点-z_cs_d点的矢量角度。
    4. 根据几何关系,在复平面上确定零点-z_c的位置。
    5. 利用模值条件,确定总增益K(包含了K_d)。

5.2 利用根轨迹进行滞后校正设计

滞后校正主要目的是在不显著改变动态性能的前提下,提高系统的稳态误差系数(如开环增益)。

  • 设计思路:滞后校正传递函数为(s + z_c) / (s + p_c), 其中|z_c| > |p_c|(零极点非常接近,且靠近原点)。它在原点附近增加了一个开环偶极子。
  • 原理:由于零极点靠得很近,它们对远处主导极点产生的相角贡献很小(∠(s_d+z_c) - ∠(s_d+p_c) ≈ 0°),因此基本不改变原根轨迹的形状和主导极点位置。但是,它们改变了根轨迹增益K与开环增益K_vK_p之间的比例关系。通过精心设计z_c/p_c的比值,可以在保持动态性能不变的情况下,将开环增益提高z_c/p_c倍,从而减小稳态误差。
  • 注意:滞后校正的零极点必须非常靠近,且非常接近原点(通常位于主导极点左侧10倍以上距离),才能保证其对动态性能的影响可忽略。

5.3 结合MATLAB的迭代设计流程

在实际工作中,纯手工计算和绘图效率低下。我的经验是:

  1. 手工草图定性分析:先用规则快速画出草图,理解系统随参数变化的大致趋势,确定设计方向(该加零点是加极点)。
  2. MATLAB精确绘图:用rlocus绘制精确根轨迹。
  3. 交互式试探:使用rlocfind或直接在sisotool(单输入单输出系统设计工具)中,用鼠标拖拽增加零极点,实时观察根轨迹、阶跃响应的变化。
  4. 验证与微调:得到一组初步参数后,进行时域(step)和频域(bode)仿真,看是否完全满足所有指标。不满足则返回微调。

这种“理论指导+工具辅助”的模式,既能加深对概念的理解,又能高效地完成设计任务。

6. 常见“坑点”与个人心得分享

最后,分享一些我在学习和教学中总结的容易出错的地方和实用技巧。

  • 坑点一:开环传递函数搞错。这是最致命的错误。一定要看清系统结构图。对于单位反馈,开环就是前向通道G(s);对于非单位反馈H(s), 开环是G(s)H(s)。在求稳态误差时,用的是G(s)H(s)的类型和增益;在画根轨迹时,同样也是基于G(s)H(s)

  • 坑点二:分离点计算只解方程不验证。由dK/ds=0解出的可能是分离点,也可能是会合点,甚至可能是无效点(不满足相角条件)。务必把解代入实轴根轨迹区间进行验证。

  • 坑点三:渐近线夹角计算时k取值错误k0, 1, ..., n-m-1, 一共n-m个值。计算后检查一下,这些角度在复平面上是否关于实轴对称分布。

  • 坑点四:忽略根之和守恒定律的隐含信息。这个定律能帮你快速判断轨迹走向。例如,如果一个三阶系统有两条轨迹趋向无穷,那么剩下那条一定趋向实轴某处,且三条轨迹的实部之和为常数。这可以用来辅助绘图或检查结果合理性。

  • 个人技巧一:快速手绘草图顺序。我习惯按这个顺序:1)标零极点;2)画实轴轨迹段;3)算渐近线(交点、夹角);4)找分离/会合点;5)算虚轴交点;6)如有复数零极点,算出射/入射角;7)用光滑曲线连接,注意从极点出发时与实轴的夹角(实轴上的极点,轨迹沿实轴离开;复数极点,按出射角离开)。

  • 个人技巧二:利用MATLAB的sisotool进行反向设计。对于复杂的设计问题,sisotool是神器。你可以直接在里面添加零极点,图形化地调整它们的位置,同时看到根轨迹、伯德图、阶跃响应的实时变化。这比纯计算直观太多了,尤其适合找感觉和理解零极点的影响。

  • 个人技巧三:理解根轨迹的“物理感”。不要把根轨迹看成纯粹的数学曲线。把它想象成一个“力场”:开环极点是“斥力源”,开环零点是“引力源”。轨迹上的点就像在力场中运动的粒子,总是从斥力源(极点)出发,被引力源(零点)吸引。如果没有零点吸引,就被无穷远吸引。这样想,很多规则(如增加零点改善性能)就非常直观了。

根轨迹分析是经典控制理论中极具美感的一部分,它将代数问题几何化,将参数变化的影响可视化。掌握它,不仅能帮你通过考试,更能让你在面临实际控制系统调参时,心中有图,手里有术。希望这篇结合了原理、规则、实战和心得的笔记,能帮你真正打通这根轨迹的“任督二脉”。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询