2026/10/12 7:38:53

根轨迹法详解:从相角条件到闭环系统稳定性分析

根轨迹法详解:从相角条件到闭环系统稳定性分析 说到自动控制原理根轨迹大概是很多同学觉得“会画图但不知道自己在画什么”的部分。我最早学的时候也是这样八个绘图规则背得滚瓜烂熟分离点、出射角都算得飞快但你要问我“这条曲线到底在告诉你系统的什么事情”我反而答不上来。后来在反复做习题、折腾实际系统的过程中才慢慢想明白根轨迹方法解决的是一个非常朴素的问题——闭环之后系统的极点会落在哪里而当某个参数最常见的就是开环增益连续变化时这些极点会怎么跑。不求解特征方程就能追踪闭环极点这就是根轨迹方法最核心的价值。这篇笔记我会把根轨迹方法从头到尾理一遍重点不是堆规则而是把“相角条件”这个源头讲透再从它推导出所有绘图规则最后落到如何用根轨迹图读系统性能、如何用工具验证手绘图以及我踩过的几个容易犯迷糊的坑。不管是正在学《自动控制原理》的本科生还是复习考研、准备面试的工程专业同学这篇应该都能帮上忙。1. 根轨迹到底在画什么1.1 闭环极点为什么值得被盯着看一个反馈控制系统稳定不稳定、动作快不快、振荡得多不多归根结底看的是闭环传递函数的极点。比如负反馈系统的闭环传递函数分子写成前向通道G分母写成1加上回路开环传递函数G乘H特征方程就是1加开环传递函数等于零。闭环极点一旦确定系统的自由响应模态就由它们决定了实数极点对应单调指数衰减共轭复数极点对应衰减振荡如果极点落在虚轴右边系统就不稳定。所以我们分析师一个系统核心任务之一就是找到闭环极点。问题是开环增益K一旦变化特征方程的系数就会变极点位置也跟着变。以前用二阶系统可以直接解出解析解但到了三阶、四阶特征方程可能是三次、四次甚至更高次K又是个未知参数每个K都要重新解一遍方程这根本不是人干的事。这里需要先统一一下说法。以后讨论的根轨迹默认是针对负反馈闭环系统开环传递函数记为G(s)H(s)特征方程写成1加G(s)H(s)等于零也就是G(s)H(s)等于负一。根轨迹画的就是当某个参数从0变到正无穷时满足这个方程的闭环特征根在复平面上的轨迹。绝大多数教材里这个参数就是开环增益K所以根轨迹画的是闭环极点随K增大的移动路径。1.2 为什么不能直接解特征方程很多同学会问现在有各种计算工具根解不出来吗当然能解出来。学习根轨迹重点不是解不出方程而是“方程解出来以后你还是没有直觉”。你算出一组数比如某个K下极点是某几个复数你只知道这一组极点的性质K换一个值你又得重新算。就算你用循环算一百个K值得到一桌子数字你依然看不清“系统从稳定走向临界、再走向不稳定”的过程。根轨迹方法最漂亮的地方在于它能把“单调变化的过程”图形化。横轴实部、纵轴虚部K从0到∞时极点画出一条连贯的曲线。你一眼就能看出增益在哪个范围系统稳定哪段增益阻尼比最大要不要加零点来把轨迹往左拉。这种全局视角是逐点求解给不了的。1.3 把代数问题翻译成几何问题根轨迹方法的出发点是“幅值条件”和“相角条件”。因为G(s)H(s)等于负一等号右边是一个模长为1、相角为180度奇数倍的复数。于是两个条件自然成立幅值条件G(s)H(s)的模长等于1相角条件G(s)H(s)的相角等于(2k1)倍的180度k取任意整数关键点在于如果只看轨迹的形状相角条件才是硬标准幅值条件只用来确定轨迹上某一点对应的K值。为什么因为相角条件只和零极点的相对位置有关和K的大小无关幅值条件则会引入K。所以“某个点是不是根轨迹上的点”只看相角条件就够了而“这个点对应多大的K”才需要动用幅值条件。我第一次学到这个区分的时候有一种“原来如此”的感觉。以前总觉得两个条件要一起用其实在判断轨迹形状时幅值条件完全靠边站。这也解释了一个常见困惑为什么画根轨迹时经常说“K值等分不好标”因为轨迹形状不依赖KK只是一个沿着轨迹走的“刻度尺”。2. 两个条件才是根轨迹的判断标准2.1 幅角条件和幅值条件的由来把开环传递函数写成零极点形式G(s)H(s) K * [(s-z1)(s-z2)...] / [(s-p1)(s-p2)...]从复平面上看s角点到一个零点zi的向量角度计作∠(s-zi)到一个极点pj的向量角度记作∠(s-pj)。那么整个开环传递函数的相角就是所有零点角度之和减去所有极点角度之和。所谓相角条件就是要求这个总角度等于180度的奇数倍Σ∠(s-zi) - Σ∠(s-pj) (2k1)×180°而幅值条件是K × 各零点向量长度之积 / 各极点向量长度之积 1这里K不再藏在系数里而是直接以参数形式出现。于是对于一个已知零极点布局的开环系统任何满足相角条件的三维空间里的点就都是根轨迹上的点。而K的具体值在确认该点在轨迹上之后用幅值条件一算就能得到。2.2 相角条件是轨迹幅值条件是刻度为了把这个想法真正变成手绘工具需要利用一个简单事实判断实轴上的点在最容易画。假设我们只看实轴上的一个点s它到实轴上零极点的向量都沿水平方向角度不是0度就是180度。复数零极点对实轴成共轭对称它们在实轴上点的角度贡献之和对实轴点来说是2倍的关系而一对共轭复数零极点对实轴点贡献的总角度正好是360度或其倍数可以抵消。于是画面就简单了实轴上的点左侧的每个实极点和实零点对它贡献0度右侧的每个实极点和实零点对它贡献180度。复平面共轭对贡献总和是360度的整数倍不影响条件。整体看下来如果这个点右侧的实极点和实零点总数是奇数那么总相角就是180度的奇数倍满足相角条件如果是偶数就是360度的整数倍不满足。这就是大家背过的规则实轴上某一段如果位于奇数个开环实极点和实零点右侧就是根轨迹的一部分。注意这条规则里根本不看左侧有几个零极点也不管终点渐近线那些事。先有基于角度判断才有后续规则。2.3 用一个小例子体会一下条件的作用假设开环极点有三个0、负2、负4开环传递函数为K除以s(s2)(s4)。在实轴负无穷到负4这一段里任取一个点右侧有0、负2、负4三个极点所以是奇数这一段在根轨迹上。在负4到负2之间取点右侧只有0和负2两个极点偶数不在根轨迹上。在负2到0之间取点右侧只有0一个极点奇数在根轨迹上。正实轴上取点右侧零个极点偶数不在。这个例子很经典几乎自动控制教材都会用。第一次手绘根轨迹时我建议先别管规则老老实实地在实轴上找一两个点拿尺子比划一下角度你会直观感受到“为什么正好是这些实轴段在轨迹上”。这种动手体验比背十遍规则都有用。3. 手绘根轨迹的六条规则一条一条过现在开始正式画图。为了不让规则显得碎片化我统一用一个贯穿性例子开环传递函数为K除以s(s2)(s4)负反馈单位反馈系统。这个系统的开环传递函数有3个极点没有零点。3.1 分支数、起点和终点第一件事根轨迹分支数等于开环极点数。为什么因为闭环特征方程的阶数由开环传递函数分母阶数决定n阶系统就有n个闭环特征根每个特征根随K变化形成一条轨迹所以根轨迹有n条分支。这个例子n等于3所以有3条根轨迹分支。起点是K等于0时闭环极点的位置。K等于0时特征方程退化成开环特征方程即闭环极点和开环极点重合所以每条根轨迹从开环极点出发。终点是K趋向无穷大时闭环极点的位置。这个例子里没有零点三条分支都要奔向无穷远。更一般地有m个零点就有m条分支终结于零点其余n减m条分支沿渐近线趋向无穷远。道理不难但很有用画图之前先画好开环零极点然后标出“从哪出发、往哪结束”整个图的大框架就有了。3.2 实轴上的根轨迹段前面已经通过相角条件得出了实轴段的判断方法看某段右侧实零极点数奇数则在根轨迹上。所以本例中实轴上的根轨迹段是负无穷到负4以及负2到0。这里有个容易犯糊涂的地方渐近线的实轴交点可能要落在负2附近有人会以为“渐近线是负2出发的所以负4到负2那段应该在轨迹上”。这是把渐近线交点和实轴段规则混为一谈了。实轴上的根轨迹段只能由相角条件决定和渐近线交点没关系。两个实轴段中间隔着负4到负2这段空白这段空白不是落笔随便补上的因为这段右侧零极点数不是奇数。有些同学画到后面图歪了往往就是在这里凭感觉连了一条线。3.3 渐近线当系统没有足够的零点接收所有分支时多出来的n减m条分支会趋向无穷远。这些分支最终逼近一组直线叫渐近线。渐近线的个数是n减m它们交于实轴上的一点交点公式是σa (所有极点实部之和 - 所有零点实部之和) / (n - m)本例中就是(0-2-4)/3等于负2所以三条渐近线交在负2。渐近线方向角为(2k1)乘以180度除以n减m本例中n减m等于3三个方向角分别是60度、180度、300度。所以在图上从负2出发画三条射线一条沿负实轴向左一条朝正60度方向一条朝负60度方向。前面算出来的实轴根轨迹段里去无穷远的那段负无穷到负4正好是负实轴渐近线的一部分这也对得上。渐近线告诉我们的核心信息是当K很大时闭环极点会沿着这些方向跑到无穷远。如果渐近线进入右半平面那么增益大到一定程度系统必然不稳定。3.4 分离点与会合点两条或者更多条根轨迹在实轴上相遇然后分开的那个点叫分离点有时候也叫会合点。分离点对应特征方程出现重根的位置。人工计算分离点用的是以下条件对特征方程中K等于某个关于s的函数令dK/ds等于0解出的s就是可能的分离点。本例中特征方程是s^3加6s^2加8s加K等于0所以K等于负s^3减6s^2减8s。求导得负3s^2减12s减8等于0解出s等于负2加减根号(4/3)约等于负2加减1.1547即s1约等于负0.845s2约等于负3.155。这两个解只有落在实轴根轨迹段里的那个才是真正的分离点。负0.845落在负2到0区间内是分离点负3.155落在负4到负2区间之外这个区间不在根轨迹上所以舍去。最终分离点约在负0.845。从这条根轨迹看起点为0和负2的两条分支K增大时沿实轴相向运动到了负0.845处相遇后脱离实轴进入复平面形成共轭复数极点。这是根轨迹图上最经典的“实轴汇合再分离”模式。3.5 出射角与入射角当开环极点或零点位于复平面内时根轨迹从复极点出发、到复零点终止的角度不是随便画的。出射角的意思是根轨迹从一个开环复极点出发时的切线方向。入射角则是根轨迹到达一个开环复零点时的切线方向。出射角公式某复极点p处出发的出射角等于180度减去从p到其他所有开环极点的角度之和再加上从p到所有零点的角度之和。注意这里都是“向量角度”的代数和最后取一个合适的等价角。拿一个经典例子开环极点0、负1加j、负1减j三个极点没有零点。对于负1加j这个极点它到极点0的向量角度是135度到负1减j的向量角度是90度所以出射角等于180度减去135度再减去90度等于负45度。这说明从负1加j出发的根轨迹初始方向朝右下偏45度。由于共轭对称负1减j极点处的出射角自然是正45度。入射角的计算完全对称某复零点处入射角等于180度减去到其他零点角度之和再加上到所有极点角度之和。这个公式不容易记但本质上还是回到相角条件根轨迹上的点必须满足总相角等于180度奇数倍把其他零极点的角度减掉剩下的就是该点应当朝向的角度。3.6 与虚轴的交点和稳定范围根轨迹穿过虚轴的点直接对应系统临界稳定状态。求这个交点有两种常见办法一种是把s等于jω代入特征方程分离实部和虚部另一种是用劳斯判据求临界增益K再把K代回去求ω。熟练之后两种方法可以互相验证。回到贯穿例子特征方程为s^3加6s^2加8s加K等于0。令s等于jω代入后得到实部为负6ω^2加K等于0虚部为负jω^3加8jω等于0从虚部可以解出ω等于0或ω等于根号8约等于2.828。ω等于0对应K等于0也就是起点。取ω等于根号8代回实部得K等于48。所以这条根轨迹在ω约2.828处穿越虚轴对应增益K等于48。K小于48时系统稳定大于48时根轨迹进入右半平面系统不稳定。也可以拿劳斯判据验证。列出劳斯表第三列第一行是1和8第二行是6和K第三行是(48减K)/6第四行是K。要保证系统稳定需要K大于0且48减K大于0因此0到48之间稳定。这个结果和根轨迹穿越虚轴得到的临界K完全一致。两个方法对上了图才画得踏实。4. 从根轨迹图读出系统的性能4.1 增益K对应的极点怎么找根轨迹画出来以后最常用的操作是“给定K找极点位置”。具体做法是在轨迹上任取一点量出该点到每个开环零极点的距离然后用幅值条件算出该点对应的K。还是看刚才的三阶例子。如果想知道K等于10的时候闭环主导极点在哪可以先在复平面那一对共轭分支上找一个点使幅值条件正好等于1。幅值条件是K乘以零点向量长度的乘积除以极点向量长度的乘积等于1。这个系统没有零点所以K就等于该点到三个开环极点距离之乘积。这件事手算很繁琐但它是理解软件“点击轨迹自动读取增益和极点”过程的基础。那句给轨迹上色显示增益的命令本质上就是在做这件事。4.2 阻尼比线、自然频率圆极点的位置和系统的时域指标直接挂钩。从原点向复平面左半平面引一条射线射线与负实轴的夹角定义为β。这对共轭复极点对应的阻尼比就是cosβ。自然频率ωn则是极点离原点的距离。所以你看根轨迹图时可以在图上画两条参照线一是等阻尼比线即从原点出发的射线它告诉你系统在这段增益范围内阻尼比多大二是等自然频率圆即以原点为圆心的同心圆它告诉你响应快慢。用二阶系统举例开环传递函数为K除以s(s2)特征方程s^2加2s加K等于0。这个系统的根轨迹从0和负2出发在负1处分离之后沿垂直线走向实部为负1的上下两侧。系统自然频率ωn等于根号K阻尼比ζ等于1除以根号K。当K等于2时极点在负1加减j阻尼比是0.707对应约4.3%的超调量当K等于10时阻尼比只有0.316超调量会窜到35%以上。这就是根轨迹图最实用的地方它让你一眼看到你想获得更快的响应更大ωn往往要付出更小阻尼比的代价增益不是越大越好。4.3 主导极点的思想高阶系统动态性能主要由离虚轴最近的一对共轭复数极点决定这一对极点叫主导极点。距虚轴较远的极点对应模态衰减极快对动态过程的贡献衰减得也快对整个响应形态影响不大。在根轨迹图上应用主导极点思想非常有价值。比如三阶系统的根轨迹K小于分离点值时三个极点都在实轴上系统是过阻尼的过了分离点之后出现一对共轭复极点和一条伸向负实轴无穷远的实极点。那对共轭复极点离虚轴较近而那条沿负实轴向左的分支离虚轴较远所以动态性能主要由前者决定。但这个思想也不能乱用。如果系统的开环传递函数里有一个非常靠近原点的零点它会“吃掉”临近极点的影响这时候再只看主导极点就会得出错误结论。根轨迹图只能给出极点轨迹零点对动态响应的抵消作用要结合零零点分析这是后续时域分析的内容。真正常用的方法是先画根轨迹定出大致增益范围再用阶跃响应验证。4.4 把根轨迹图和稳定性判断对应起来根轨迹穿虚轴那一点是把“系统稳定”和“参数范围”联系起来的桥梁。在贯穿例子里K在0到48之间稳定从根轨迹图上你看到的画面是K接近48时两条复平面分支慢慢压向虚轴系统振荡越来越剧烈越过48时分支进入右半平面系统失稳。这种“看着根轨迹走进右半平面”的直观感觉比单纯背劳斯判据的表格要深刻得多。劳斯判据只给你一个区间根轨迹则把“为什么在这个区间”的过程展示出来。所以我的建议是算劳斯判据判断稳定范围的题目画完结果后顺手在根轨迹图上标一下临界点两道题的知识就打通了。5. 参数根轨迹与零度根轨迹两大变体5.1 把别的参数变成“等效增益”课堂上常用的开环增益K只是特例。工程上我们常想知道某个时间常数、某个积分系数或某个零点位置变化时系统会怎么走。幸好根轨迹方法不挑参数。方法很简单把特征方程改写成“1加参数乘以某个等效传递函数等于0”的形式。新的那个参数扮演了原来K的角色这个新的“开环传递函数”被称为等效开环传递函数。之后画图规则全部照用。举个例子系统特征方程为s^2加as加1等于0。我想让参数a从0变到无穷看特征根怎么变。先把方程改写成1加a乘以s除以(s^2加1)等于0的形态这样等效开环传递函数就是a乘以s除以(s^2加1)它有一个零点0两个极点正负j。于是对a画根轨迹起点在正负j终点在0以及无穷远。从图上就能看出a等于什么值时系统变成两个负实根什么值时变成共轭复根。5.2 正反馈系统零度根轨迹标准根轨迹的本质是负反馈特征方程为GH等于负1相角条件要求180度奇数倍。如果是正反馈特征方程变成1减GH等于0也就是GH等于1幅值条件不变相角条件变成360度的整数倍。因为是0、360、720这种角度所以叫零度根轨迹。零度根轨迹的绘制规则有明显变化。最主要的有两条一是实轴上的根轨迹段判断标准变成该段右侧实零极点总数为偶数二是渐近线方向角公式变成2kπ除以(n减m)而不是(2k加1)π除以(n减m)。正反馈根轨迹很容易出现沿正实轴跑到无穷远的分支。比如系统开环传递函数为K除以s(s2)且正反馈时渐近线方向是0度和180度实轴段会在负无穷到负2以及0到正无穷两段上出现。第一条对应负实轴方向系统还压得住第二条直接沿正实轴跑向右半平面系统必然失稳。这也是现实中很少用正反馈闭环的原因。5.3 两种轨迹的分辨技巧考试题和实际系统里分辨标准根轨迹和零度根轨迹看的是特征方程形式。负反馈闭合回路如果反馈符号为正用零度根轨迹反馈符号为负用180度根轨迹。做题时千万别直接套默认规则先看一眼反馈通道的极性。有些系统还存在局部正反馈与局部负反馈叠加的情况画根轨迹时要在等效开环传递函数这一步就确定整体等效开环传递函数然后看特征方程右侧到底是正1还是负1。一句话相位条件定轨迹幅值条件定刻度极性决定用哪个角度系列。6. 借助计算工具画图但别只依赖工具6.1 手绘与软件分工现在随手打开一个数学软件都能画出根轨迹肯定不是让你放弃手画。手绘的价值是逼着你理解每条曲线为什么长那样。软件的价值是当系统零极点超过五六个的时候手绘布满了无法承受的量它可以快速给结果并顺便验证你的手绘。我常用的做法是先手绘一遍草稿实轴段、渐近线、分离点、出射角、虚轴交点这些关键要素先标出来。然后用软件画一遍对比数据。如果两者吻合说明你对系统结构的判断是对的如果不吻合十有八九是我在计算分离点或出射角时某个符号搞错了。在常见的数学计算软件里创建零极点模型并调用根轨迹函数的命令大致像这样sys zpk([], [0 -2 -4], 1) rlocus(sys) grid on sgrid第一行代码创建开环极点0、负2、负4、无零点的系统第二行画根轨迹第四行在图上叠加阻尼比线和自然频率线。这里面sgrid画出来的等阻尼比放射线和等ωn圆正好对应前面讲的性能读取方法。6.2 工具结果和手绘结果对不上的时候对不上先别怀疑软件。按我的经验出现对不上最常见的原因是四个第一系统里存在开环零极点对消分子分母约掉了一项这部分模态从根轨迹中消失了但它依然影响实际闭环响应这个要先判断要不要对消第二你把正反馈当负反馈用了或者反之所以轨迹的实轴段正好反掉第三K的范围设置不对软件默认可能只画到某个上限而你的问题关心K非常大时的渐近线走向第四你在手绘时把分离点解出来但没检查它是否落在有效实轴段拿一个舍掉的解去对图怎么都对不上。工具真的很方便但工具不会告诉你方向对不对。你拿一张“看起来平滑”的根轨迹图截取某一点验证一下相角条件如果差得远那说明你对系统的理解有根本问题而不是算错一个数值。6.3 验证根轨迹图的几个快速检查点画完一张图我用下面这套检查点快速自检基本能发现绝大多数错误分支数是否等于开环极点数每条分支是否从开环极点出发并最终到达零点或无穷远实轴上的轨迹段右侧极零点和是否奇数渐近线的交点坐标和方向角是否和公式一致分离点解出的候选值是否落在实轴轨迹段上把临界K代回特征方程是否真的能解出纯虚根整条图是否关于实轴对称。如果你手绘出来的根轨迹关于实轴不对称那一定画错了因为特征方程系数全是实数时复根必共轭出现。7. 我踩过的坑和记住的几个检查点7.1 相角条件里漏了“奇数倍”刚开始做题时我总爱把一个具体点的相角差算成某个固定值比如算出来相差180度就觉得是根轨迹上的点算出来90度就觉得不是。后来才意识到相角条件是(2k1)乘以180度也就是180度的奇数倍不是“正好等于180度”。一个点算出来的总相角如果等于180度、540度、900度全都满足。所以写相角条件时那个k千万别丢它解释了复平面上很多“看似不该在轨迹上却在轨迹上”的点。这个看似只是符号问题实际影响巨大。因为一旦漏掉k你会在很多场景里误判实轴段和出射角尤其是复数零极点较多的系统一个角度多加一圈差出360度点就被错误地排除了。7.2 把幅值条件当成轨迹判据另一个非常经典的误用是看到某个点满足幅值条件就认为它在根轨迹上。幅值条件只决定K的取值只有相角条件决定轨迹。一个点不管几何位置离零极点多远只要总相角不对它永远不可能通过调节K变成闭环极点。做题时如果某道题让你判断一个给定的s值“是不是闭环极点”正确流程是先算相角是否满足奇数倍180度只有满足才用幅值条件求对应K。顺序不能反过来。7.3 分离点解出来却不检查范围分离点计算最容易得到的是一堆数学候选解比如那个负3.155。如果不检查它是否落在实轴根轨迹段上直接把它标进图里整张图就会有一个奇怪的缺角。正确方法是解出一堆s候选值后逐一检查它是否属于前面判断出来的实轴根轨迹区间同时还要确认那个点确实对应正增益K因为计算过程中K的符号可能为负。这是一个典型的“数学解”和“工程解”的区别。用软件画图的人会自动忽略错误候选但手绘时就暴露出来了。每次算分离点后我都会专门写一句“哪些候选值合法、哪些舍去以及为什么”防止自己下次再犯。7.4 劳斯判据和虚轴交点不一致有一次我画一个四阶系统劳斯判据算出的临界K是某个数但根轨迹图上穿越虚轴的点对应K值明显不太对。排查半天才发现我代入的特征方程少写了一个系数导致劳斯表和根轨迹画的是两个不同的系统。这个教训后来变成了我的固定动作算完成临界K后一定把它代回原来的特征方程看一下s等于jω时实部虚部是否真的同时为零。两边对不上就说明中间有低级错误一定是哪里抄错或者化简错了。根轨迹图和劳斯判据是相互校验的关系不是两个独立的结论。7.5 画完图之后没标方向根轨迹上的箭头方向表示K增大的方向。很多人画完图只有一个线条轮廓没标方向后来读图时很难说清“随着增益增大系统怎么样”。我自己也吃过亏有一次复盘一个设计题看着图想半天才回忆起“哦原来这一段是K增大时从右往左走的”。所以我会在每条分支上标至少一个箭头配合在几个关键点旁边写对应的K值比如分离点对应K等于多少虚轴交点对应K等于48。一张带刻度的根轨迹图比一张只有曲线的图信息量大得多。这篇文章整理了很久写到现在我自己回头再看根轨迹方法真正重要的不是那六条绘图规则而是它给了一个往复的闭环视觉参数变化如何影响极点位置极点位置如何影响动态性能动态性能反过来又如何指导你选择参数。学完这章你会慢慢习惯“图上一根线牵着一个系统的稳定性”这个直觉在后面的频域分析、系统校正里还会一直被用到。