到根軌跡:掌握自動控制系統(tǒng)穩(wěn)定性分析的底層邏輯)
簡介面向控制理論初學者、考研備考生或即將接觸控制方向的研究生這份Dr.CAN《自動控制原理》13期完整課程筆記濃縮了B站硬核博主關于傳遞函數(shù)、開環(huán)與閉環(huán)系統(tǒng)、反饋控制、穩(wěn)定性分析、根軌跡、終值定理與穩(wěn)態(tài)誤差、PID控制器等核心專題的講解。筆記基于GoodNotes手寫并輔以QQ截屏附有推導過程與示意圖幫助理解極點位置如何決定系統(tǒng)穩(wěn)定性、如何通過根軌跡與PID參數(shù)設計改善動態(tài)性能。適合不愿邊看視頻邊截屏記錄、想要直接對照整理內容復習的讀者也適用于期末速查與復試前知識拾遺。整個包為單份PDF大小12.27MB章節(jié)連貫可按專題快速翻閱。目前已有847人學習下載熱度較高也可為后續(xù)學習卡爾曼濾波、模型預測控制MPC與最優(yōu)控制夯實基礎。1. 控制原理不是玄學為什么系統(tǒng)穩(wěn)不穩(wěn)跟輸入長什么樣無關一個反直覺的結論要先放在最前面一個自動控制系統(tǒng)穩(wěn)不穩(wěn)定跟你給它多大的輸入、輸入是什么形狀幾乎沒有關系。單位階躍按下去系統(tǒng)是平緩收斂還是原地發(fā)散在接通信號之前就已經被寫死在它的傳遞函數(shù)分母里了。控制原理里最容易讓新手跳過的一環(huán)就是極點這個內置性格——它決定了擾動消失之后系統(tǒng)能不能自己回到原來的位置。這套課程資源的十三期筆記里反復追問過一句為什么穩(wěn)定就等價于極點全在復平面左半邊想通這一句后面所有開環(huán)閉環(huán)、反饋控制、PID、根軌跡的討論才有共同的錨點。這份筆記的推導順序正是從這條主線展開的。2. 傳遞函數(shù)與極點為什么輸出的性格只由分母決定2.1 拉普拉斯變換把微分方程變成一張除法圖線性時不變系統(tǒng)的動態(tài)行為通常寫成一堆微分方程。微分方程難就難在同時含位置、速度、加速度。拉普拉斯變換干的第一件事是把求導變成乘法時域里的 dy/dt 對應 s 域的 s·Y(s)初始條件為零時整條微分方程鏈就塌縮成一個純代數(shù)公式。于是輸入端和輸出端的關系可以寫成Y(s) G(s) · U(s)這里的 G(s) 就是傳遞函數(shù)它只描述系統(tǒng)自己U(s) 描述外界想怎么提問。筆記里開環(huán)系統(tǒng)那一講給出的信號流圖本質就是輸入過一個框輸出等于輸入乘框里的代數(shù)式而反饋只是把輸出再接回去參與一次減法。這里值得深挖一層為什么微分方程變代數(shù)方程就能成立因為 e^{st} 是線性時不變系統(tǒng)的特征函數(shù)——系統(tǒng)對它的響應還是同一個 e^{st} 乘一個復數(shù)增益。這就是傳遞函數(shù)存在的數(shù)學根基也是后面一切用算子代替微積分操作合法性的來源。import sympy as sp s, t sp.symbols(s t) G 2 / ((s 1) * (s 3)) # 一個二階慣性系統(tǒng)的傳遞函數(shù) Y G / s # 輸入單位階躍 1/s求輸出響應 sp.factor(sp.apart(Y, s)) # 部分分式展開這行代碼做的是部分分式展開。展開結果形如幾項分母為一次式的分式之和比如 2/(3s) - 1/(s1) 1/(3(s3))。每一項反變換回時域就是一個指數(shù)函數(shù)。注意關鍵第一項的極點 0 是輸入帶來的階躍信號本身是 1/s后兩項的極點 -1、-3 全是 G(s) 分母的根。輸入只在 s0 處放了一個極點系統(tǒng)自己身上的極點一個沒少地出現(xiàn)在輸出里。這就是傳遞函數(shù)的性格你把任何信號灌進去系統(tǒng)都會按自己的腔調把它重唱一遍——腔調由分母定唱多響由分子和輸入一起定。2.2 極點與模態(tài)分母為零的地方藏著系統(tǒng)自帶的振動模式為什么偏偏要看分母因為部分分式展開后的每一項時域形態(tài)都是 A_i · e^{p_i t}其中 p_i 是分母等于零的根也就是極點A_i 是由分子和輸入共同決定的常數(shù)。e^{p_i t} 這個指數(shù)項就是系統(tǒng)的模態(tài)——它不依賴外界是齊次方程的解也就是沒人推它它也在演的部分。系統(tǒng)有多少個極點就至少有多少個這樣的指數(shù)模態(tài)虛部決定振蕩頻率實部決定每個模態(tài)是越來越大還是越來越小。二階欠阻尼系統(tǒng)最好體會這一點一對共軛極點寫成 -σω_n ± jω_dω_d 就是振蕩頻率σ 決定衰減快慢二者組合成超調量和調節(jié)時間。極點往左挪衰減變快、調節(jié)時間變短極點帶上虛部響應就多出振蕩成分。筆記里那句最終輸出里含有分母的極點說的正是這件事無論你輸入什么只要系統(tǒng)是線性的輸出里那些瞬態(tài)項必然由分母的根生成。分子在這里唯一能做的事是調整每一項前面的系數(shù) A_i——分子改的是音量分母改的是音色。2.3 分子只發(fā)入場券零點改變權重不改變生死有一個常見誤用必須點破有人看到仿真輸出爆炸第一反應是輸入給得太大了。其實輸入只決定振幅決定爆不爆的是極點的實部符號。分子上的零點確實有用零點靠近某個極點時那個模態(tài)的權重 A_i 會變得極小輸出里幾乎看不見它這就是零極點抵消現(xiàn)象的原理。但零點改變的是哪些模態(tài)被激得響不改變系統(tǒng)到底有哪些模態(tài)。所以任何穩(wěn)定性分析的第一步永遠是看分母根的位置分子先放一邊等做性能分析時再回來討論零點怎么影響超調。注意零極點抵消可以在數(shù)學上約分但物理上那個模態(tài)照樣存在。實際系統(tǒng)的參數(shù)一漂移零點挪開被約掉的模態(tài)立刻原形畢露。課堂上允許約分工程上要留個心眼。3. 穩(wěn)定性分析左半平面、勞斯判據(jù)與終值定理原來是同一件事3.1 s σ jω極點的橫坐標是生死線把極點寫成 s σ jωe^{st} 就變成 e^{σt}·e^{jωt}。e^{jωt} 是等幅旋轉真正決定振幅走向的是 σ。于是極點位置與時域行為有了嚴格的一一對應σ 小于 0指數(shù)衰減振蕩也會被壓住σ 等于 0系統(tǒng)落在虛軸上進入等幅振蕩或不收斂的臨界狀態(tài)σ 大于 0指數(shù)發(fā)散哪怕一開始數(shù)值很小遲早穿破屏幕。極點位置實部 σ時域形態(tài)左半平面σ 0指數(shù)衰減或衰減振蕩收斂虛軸上σ 0等幅振蕩或保持恒值回不去右半平面σ 0指數(shù)發(fā)散或發(fā)散振蕩筆記里用單擺講這事單擺放在最低點拿手一撥擺著擺著停回原位對應一對左半平面共軛極點把單擺倒過來立在頂點稍微偏一點就直接倒下去對應右半平面極點。兩個平衡位置都存在但只有左半平面那個是穩(wěn)定平衡。系統(tǒng)通常有一堆極點只要其中任何一枚落在右半平面整體就宣告不穩(wěn)定——這是木桶效應不需要等仿真炸穿屏幕。反饋控制干的第一件正事就是想辦法把可能出現(xiàn)在右半平面的極點拽回左半。3.2 勞斯判據(jù)不解特征方程也能判斷橫坐標符號判斷一堆極點是否全在左半最笨的辦法是解特征方程。三階以上沒有通用求根公式每次解都不現(xiàn)實于是有了勞斯判據(jù)把特征方程系數(shù)排成一張三角表表的第一列如果符號全部相同所有極點就都在左半平面第一列符號變化幾次右半平面就有幾個極點。它繞開了求出具體的根這個費力問題只數(shù)橫坐標符號翻了幾次車。以特征方程 s3 s2 2s 8 為例勞斯表第一列依次是 1、1、?6、8出現(xiàn) 1→?6 和 ?6→8 兩次變號說明該系統(tǒng)有兩個右半平面極點。不用真的解三次方程結論已經出來。和所有系數(shù)必須為正這種必要條件不同勞斯表第一列不變號是充要條件這也是為什么教材敢把它當穩(wěn)定性判據(jù)而不是經驗法則。工程里我一般這么用它先花十秒排勞斯表確認沒有右半極點再放心去畫根軌跡、調參數(shù)如果勞斯表這關都不過后面所有時域分析都是白做。3.3 終值定理與穩(wěn)態(tài)誤差誤差是系統(tǒng)的結構稅終值定理說的是如果極限存在穩(wěn)態(tài)值等于 lim_{s→0} s·Y(s)。極限存在四個字最容易丟無阻尼振蕩系統(tǒng)永遠在擺談不上穩(wěn)態(tài)此時硬套公式會算出個假值。筆記里專門舉了這個矛盾——系統(tǒng)在無限振動理論上回不到某個固定數(shù)可終值公式卻能給出一位數(shù)二者沖突。問題就出在 s·Y(s) 有一對虛軸極點前提不成立。穩(wěn)態(tài)誤差是同一個框架的延伸。設誤差 E(s) R(s) / (1 G(s)H(s))套終值定理會發(fā)現(xiàn)開環(huán)傳遞函數(shù)里含幾個積分器s0 的極點決定了系統(tǒng)對階躍、斜坡這類典型輸入的誤差等級。0 型系統(tǒng)對階躍有固定比例誤差怎么調比例增益都消不掉1 型系統(tǒng)開環(huán)含一個積分器對階躍輸入誤差歸零但對斜坡輸入還有常數(shù)誤差。讀到這里你應該明白誤差不是控制器不夠努力而是系統(tǒng)結構里沒有 s0 的極點來承接那一類輸入。要消除某類輸入的穩(wěn)態(tài)誤差唯一的路是往回路里注入對應的積分環(huán)節(jié)——這正是接下來 PID 控制中積分項的動機。4. PID 控制器的底層分工比例、積分、微分各自在補什么洞4.1 比例控制 P能加速但調不到目標拿一階慣性對象 G(s) K/(Ts1) 試比例控制 C(s) Kp。閉環(huán)傳遞函數(shù)變成 KpK/(Ts 1 KpK)極點從 ?1/T 挪到 ?(1KpK)/T。Kp 越大極點越靠左響應越快——比例控制的全部本事就是這一點把極點往左推。但看穩(wěn)態(tài)階躍輸入下的終值是 KpK/(1KpK)永遠小于 1誤差 1/(1KpK) 只在 Kp 無窮大時才歸零。所以比例控制改的是快慢不是準不準系統(tǒng)類型沒變結構性誤差就還在。這也是為什么單靠 P 旋鈕調不出好性能它把響應調快了但目標值永遠差一截追求零誤差只能把 Kp 調大調大又帶來噪聲和超調。4.2 積分控制 I用升階換穩(wěn)態(tài)精度PI 控制 C(s) Kp Ki/s 引入了一個位于 s0 的開環(huán)極點。這一步的本質是把系統(tǒng)類型從 0 型抬成 1 型階躍輸入在 s0 的極點被誤差傳遞函數(shù)分母里的積分環(huán)節(jié)頂?shù)舴€(wěn)態(tài)誤差歸零。代價立刻顯現(xiàn)——對象本來一階回路里多一個積分器閉環(huán)至少變二階。二階系統(tǒng)可能欠阻尼超調、振蕩隨之而來Ki 越大振蕩越兇甚至可能把閉環(huán)極點推回右半平面。筆記里的說法很直白純比例反應快但穩(wěn)不到理想值加積分能穩(wěn)到理想值但反應變慢。一階系統(tǒng)加純積分變二階這是教科書反復強調的積分會讓系統(tǒng)升階理解了這個就不會奇怪為什么積分增益不是越大越好。4.3 微分控制 D給系統(tǒng)提前量代價是怕噪聲微分項 Kd·de/dt 干的事是對誤差的變化趨勢做預測誤差還在增大時提前反向施力等效于給系統(tǒng)注入一個左半平面零點起到相位超前、增加阻尼的作用能壓住 P 和 I 帶出來的超調。但理想微分沒法物理實現(xiàn)實際都是帶慣性的一階微分更麻煩的是微分對高頻噪聲極其敏感——噪聲是高頻信號s 在高頻處幅值暴漲一個 Kd 稍大噪聲就攻城略地。環(huán)節(jié)改什么副作用P把極點往左推加快響應穩(wěn)態(tài)誤差消不掉I開環(huán)加 s0 極點抬系統(tǒng)類型升階導致振蕩、響應變慢D加零點增阻尼壓低超調噪聲放大需加濾波所以調 PID 從來不是三個旋鈕各管一攤。P 動快慢I 動精度D 動阻尼但它們共享同一組閉環(huán)極點牽一發(fā)動全身。這也是為什么課堂寧可花大篇幅講極點位置也不愿意給一套萬能參數(shù)表——參數(shù)表是黑匣子極點位置才是地圖。你理解了 P 是推極點、I 是加極點、D 是加零點再去讀任何一篇文章里的調參口訣都能立刻反推出它背后的極點邏輯。5. 根軌跡與排查增益掃過去之前先看清分離點和實軸規(guī)則5.1 根軌跡的本質讓閉環(huán)極點跟著增益 K 走路閉環(huán)特征方程 1 KG(s) 0。把 G(s) 寫成零極點形式這個方程在復平面上等價于兩個條件相角條件 ∠G(s) 180°幅值條件 |G(s)| 1/K。相角條件只跟零極點位置有關跟 K 無關K 只改變幅值。所以根軌跡的本質是滿足相角條件的所有點連成的曲線就是閉環(huán)極點可能待的地方K 只是在這條曲線上選座。K→0 時閉環(huán)極點趨近開環(huán)極點K→∞ 時趨向開環(huán)零點或無窮遠——起點終點就這樣定死了。理解這一點就會明白為什么根軌跡畫出來就贏了它把參數(shù)空間里所有可能發(fā)生的事壓縮成一張圖不用逐個試 K。5.2 五條幾何規(guī)則從開環(huán)零極點畫出閉環(huán)軌跡不需要計算機手畫根軌跡靠五條規(guī)則支路數(shù)等于開環(huán)極點個數(shù)整張圖關于實軸對稱實軸上的軌跡段其右側開環(huán)零極點總數(shù)必須是奇數(shù)n m 時無窮遠處的漸近線與實軸夾角是 (2k1)π/(n?m)分離點與匯合點由 dK/ds 0 的根確定等價形式是所有極點與該點的倒數(shù)之和等于所有零點與該點的倒數(shù)之和。分離點那一張圖信息量最大軌跡從幾個極點出發(fā)中途在實軸上某點撞在一起再分開飛向復平面那個撞點就是分離點。它直接決定了增益大到什么程度時系統(tǒng)會從單調響應變成振蕩響應——分離點越靠左臨界增益的余量就越大。import numpy as np Ks np.linspace(0, 20, 201) roots [np.roots([1, 5, 6, K]) for K in Ks] # 特征多項式 s^3 5s^2 6s K即 s(s2)(s3) K 0 # 對每個 K 求一次根把所有根的實部虛部收集起來就是根軌跡這是最常見的驗證手段對每個 K 直接求特征方程根把根的位置畫出來就是計算機眼中的根軌跡。注意這里的陷阱——代碼得到的是某個 K 下的閉環(huán)極點教材里的根軌跡是所有 K 的集合。兩者信息等價代價完全反過來手畫快但不精確掃 K 精確但看不到趨勢結構。我一般建議先手畫定趨勢再用代碼驗證拐點兩個方法互相兜底。5.3 排查五個手畫根軌跡的翻車現(xiàn)場現(xiàn)象一實軸上的軌跡段畫反。明明該畫線的段是空的不該畫的段反而畫上了。原因右側零極點總數(shù)數(shù)成偶數(shù)忘了復數(shù)極點也要數(shù)進去。解決數(shù)實軸某點右側的零極點總數(shù)時把共軛復極點、復零點統(tǒng)統(tǒng)算上只關心右側總數(shù)是奇是偶永遠奇數(shù)是軌跡段?,F(xiàn)象二分離點求出來兩個解不知道取哪個。原因dK/ds 0 是必要條件不是充分條件可能是分離點可能是匯合點也可能是根本不在軌跡上的假根。解決把兩個解代回幅值條件算 KK 必須為正且該點必須落在實軸軌跡段上不滿足的直接劃掉?,F(xiàn)象三用軟件畫根軌跡結果跟手畫差很遠。原因工具默認的特征方程約定不同有的用 1KG(s)0有的增益定義方向相反還有的繪圖工具做了增益歸一化。解決軌跡形狀其實一樣差異全在 K 的刻度和正負號。第一次用某個工具前先拿一個已知系統(tǒng)比如 s(s2)(s3) 驗一下方向再投入實際設計?,F(xiàn)象四畫完軌跡就定增益完全不管零點。根軌跡只畫閉環(huán)極點但超調量是零點、極點共同決定的主極點位置選得漂亮零點一搗亂階躍照樣沖過頭。解決定完 K 必須回到時域看 step 響應看著超調超了就回來調 K。現(xiàn)象五高階系統(tǒng)用主導極點近似結果翻車。原因主導極點近似的前提是其余極點離虛軸足夠遠且附近沒有強零點系統(tǒng)存在靠近虛軸的共軛副極點時近似的誤差極大。解決先用勞斯判據(jù)確認全體極點都在左半平面再比較最近兩對極點的實部比值別默認高階都是二階。5.4 驗證根軌跡是地圖不是目的地選增益的標準做法是沿軌跡找一個阻尼比合適的點比如 ξ≈0.707讀出對應的 K然后立刻回到時域驗證。這一步經常暴露出根軌跡說不出口的短板它只告訴你在某 K 下極點在哪不告訴你零點在哪、輸入幅值多大、非線性環(huán)節(jié)什么時候觸發(fā)。所以根軌跡上看著是 0.707 阻尼只代表線性小信號下的期望真正落實驗收得跑一步階躍響應再掃幾組輸入幅值看看線性假設還成不成立。筆記把這一步叫從根軌跡和頻域回到時域看終值本質上是一個閉環(huán)設計工具負責猜時域仿真負責驗收。6. 最后一公里的取舍極點位置不是全部回到時域才算數(shù)這套筆記停在奈奎斯特圖第一部分再往后走一步就是狀態(tài)空間、卡爾曼濾波和模型預測控制。值得停下來想清楚的是為什么 MPC 和最優(yōu)控制里幾乎不再提極點因為根軌跡和勞斯判據(jù)解決的是單個標量增益下閉環(huán)怎么變而現(xiàn)代控制把設計對象換成了狀態(tài)空間模型把目標換成了代價函數(shù)最小化。極點還在但不再以分母的根的形式出現(xiàn)而是變成狀態(tài)矩陣的特征值并且整個框架一次性處理多輸入多輸出。換句話說傳遞函數(shù)是單入單出時代的優(yōu)秀抽象它的表達力有邊界這份筆記的定位恰恰是把邊界內最硬核的部分講透。我的看法是學完根軌跡最該形成的習慣不是會畫圖而是畫完圖必須回到時域驗收。極點位置決定收斂不發(fā)散零點決定起步方向輸入幅值決定非線性是否被觸發(fā)——這三個因素只有湊齊了才能解釋一個真實的階躍響應。從那以后我每次用根軌跡或者 PID 設計完參數(shù)都強制走一遍同樣的流程先勞斯判據(jù)排除右半極點再畫閉環(huán)階躍看超調和調節(jié)時間最后掃三組輸入幅值看非線性有沒有偷偷上線。這套檢查比任何一張軌跡圖都值錢。這套十三期筆記的價值也正在于把每一步推導都還原成先問機制、再動筆算的順序適合對照著親手推一遍把自動控制原理的骨架搭起來。希望幫到你。本文還有配套的精品資源點擊獲取