沒人給你的那張地圖
想像你在調一輛車的定速巡航。你只有一個旋鈕——增益 K——它決定控制器對給定的速度誤差要把油門踩多重。把 K 調大,車子更快貼上目標速度,但超過某個點就會開始衝過頭、過衝;再調大,它會永遠振盪、甚至失控。在這旋鈕的行程裡某處,藏著那個甜蜜點。第 3 級告訴你*哪些極點位置*能給出平順、阻尼良好的步階響應;第 4 級告訴你穩定系統住在左半平面。但兩者都沒告訴你的是:當你轉旋鈕時,極點怎麼移動。根軌跡正是那部電影。
情境是這樣的。你有一個受控體,其開迴路轉移函數為 G(s)(那輛車、那顆馬達、那台加熱器),你在它外面包一個單位迴授迴路,並在前向路徑放一個可調增益 K。閉迴路轉移函數是 K·G(s) / (1 + K·G(s))。*那個*的極點——閉迴路極點,也就是真正決定你響應的那些——是特徵方程式 1 + K·G(s) = 0 的根。當你把 K 從 0 掃到 ∞,這些根在 s 平面上畫出連續曲線。把每條曲線都畫出來,你就有了根軌跡:在你動手做出任何東西之前,這張地圖就完整標出你的設計可能走到的所有地方。
畫出每條分支的兩個條件
一個點 s *在*根軌跡上,當且僅當對某個正實數 K 有 1 + K·G(s) = 0。把它改寫成 K·G(s) = −1。由於 s 是複數,這其實同時是兩條方程式。幅值條件說 |K·G(s)| = 1,它只告訴你在那一點所需的 *K 值*——稍後讀取增益時會用到。相角條件才是畫出圖形的那條:G(s) 的總相角必須等於 −180°(或任意奇數倍,±180°、±540°……)。一個點住在軌跡上,唯有當所有開迴路極點與零點指向該點的相角加起來等於 180° 的奇數倍。
angle condition (the shape): Σ∠(zeros→s) − Σ∠(poles→s) = ±180°(2m+1)
magnitude condition (the gain): K = ───────────────────────────────
Π|zeros→s| / Π|poles→s| (inverted)
draw the branches with ANGLES, then label each point with K via MAGNITUDE你幾乎永遠不會用手逐點套用這些條件——那是電腦的工作。控制工程師把它們提煉成寥寥幾條手繪規則,讓你能在一分鐘內、在餐巾紙上畫出忠實的軌跡。懂這些規則不是懷舊:它培養的直覺,會在 MATLAB 的圖看起來不對時,告訴你*該往哪個方向微調補償器*。我們先把規則收齊,再拿來實作。
六條手繪規則
設 G(s) 有 n 個極點與 m 個零點(對真實受控體永遠 n ≥ m)。這些規則涵蓋了待做例題、以及九成考試與實務問題所需的一切。
- 分支與端點。 共有 n 條分支。每條從一個開迴路極點出發(K=0),終止於一個開迴路零點(K=∞)。那 n−m 條沒有有限零點可降落的「多餘」分支,會沿著漸近線奔向無限遠。
- 對稱性。 軌跡對實軸鏡像對稱,因為複數極點永遠成共軛對出現。畫上半部,下半部就是它的倒影。
- 實軸線段。 實軸上某點在軌跡上,若它右側的實數極點*與*零點總數為奇數。從 +∞ 往左掃,每越過一個實數極點/零點,軌跡就在「在」與「不在」之間翻轉一次。
- 漸近線。 那 n−m 條離家出走的分支,會逼近角度為 θ = ±180°(2k+1)/(n−m) 的直線,全都從實軸上一個共同點輻射出去,這點稱為重心:σ_a = (Σ極點 − Σ零點)/(n−m)。
- 分離點/匯合點。 當兩條分支在實軸上相遇、隨後分岔進入複數平面(或重新合併)時,增益 K 在該處取局部極大(或極小)。在實軸線段上解 dK/ds = 0 即可找到它們。
- jω 軸交點。 當一條分支穿越虛軸時,閉迴路極點純粹振盪——那個 K 就是穩定極限。用 Routh 表(第 4 級)或把 s = jω 代入特徵方程式即可求得。
一個從頭到尾的例題
拿一個經典的三階受控體——比方說一顆帶滯後放大器的直流馬達,那種你在實驗台上真的會遇到的東西:G(s) = 1 / [s(s+2)(s+4)]。三個開迴路極點在 s = 0、−2、−4;沒有有限零點。所以 n = 3、m = 0,三條分支都必須奔向無限遠。我們依序套用規則。
jω
|
K=Kcr → +j2.83 |* branches break away at s = -0.85,
| \ climb, and cross jω-axis at ±j2.83
| \ when K = Kcr = 48 (instability!)
────x────x───┴───x──────────► σ
-4 -2 -0.85 0
| /
| /
-j2.83 →|*
|
real-axis locus: [-4,-2] and [0 to -inf] (odd # of poles/zeros to the right)
asymptotes: ±60°, 180° from centroid σa = -2- 實軸線段。 從右往左掃。在 0 與 −2 之間,右側有一個極點(在 0)→ 奇數 → 軌跡*在*此。在 −2 與 −4 之間,右側有兩個極點 → 偶數 → *不在*此。−4 左側有三個 → 奇數 → 軌跡*在*此。所以線段是 [0, −2] 與 [−4, −∞)。
- 漸近線。 n−m = 3,所以有三條漸近線,角度為 60°、180°、300°,全都離開重心 σ_a = (0−2−4)/3 = −2。兩條分支會以 60°/300° 向上與向下航行;一條沿負實軸以 180° 直線奔出。
- 分離點。 在 [0, −2] 線段上,寫 K = −s(s+2)(s+4),解 dK/ds = 0 → 3s² + 12s + 8 = 0 → s = −0.85(另一根 −3.15 落在非軌跡線段上,捨去)。右側兩條分支在此分離。
- jω 交點與穩定極限。 把 s = jω 代入 1 + K·G = s³ + 6s² + 8s + K = 0。實部:−6ω² + K = 0;虛部:−ω³ + 8ω = 0 → ω = √8 = 2.83 rad/s,得 K_cr = 6·8 = 48。當 K 超過 48,迴路就不穩定。(第 4 級的 Routh 法給出相同答案。)
從地圖上讀出增益
現在是收成的時刻。第 3 級教過你,一對與負實軸夾角 β 的複數極點,其阻尼比 ζ = cos β;而 ζ ≈ 0.5(β = 60°)給出俐落的約 16% 過衝,ζ ≈ 0.7(β = 45°)則給出課本般的約 5%。假設你的規格是 ζ = 0.5。從原點畫一條與負實軸夾 60° 的射線,找它與軌跡的交點。那個交點*就是*滿足你阻尼規格的閉迴路極點。對我們的受控體,它落在 s ≈ −0.7 ± j1.2 附近。
要找出*把*極點放到那裡所需的增益 K,用幅值條件——它有個漂亮的圖解形式:K =(該點到每個開迴路極點的距離乘積)÷(到每個開迴路零點的距離乘積)。只要在你的草圖上量出長度、相乘即可。
target pole s* = -0.7 + j1.2 (ζ = 0.5 ray) distance s* → pole @ 0 : |(-0.7)+j1.2| = 1.39 distance s* → pole @ -2: |( 1.3)+j1.2| = 1.77 distance s* → pole @ -4: |( 3.3)+j1.2| = 3.51 K = 1.39 × 1.77 × 3.51 / (1) ≈ 8.6 settling time ts ≈ 4 / (ζωn) = 4 / |Re(s*)| = 4 / 0.7 ≈ 5.7 s (overshoot from ζ=0.5 → Mp = e^(-πζ/√(1-ζ²)) ≈ 16%)
所以 K ≈ 8.6 命中 ζ = 0.5——舒適地低於 K_cr = 48 的穩定天花板,還留有餘裕。若你的規格改成安定時間(比如 t_s ≤ 4 s ⇒ ζω_n ≥ 1 ⇒ 實部 ≤ −1),你會在 σ = −1 處畫一條*垂直線*,並在軌跡穿越它的地方讀出增益。阻尼規格 → 一條*射線*;安定時間規格 → 一條*垂直線*;自然頻率規格 → 一個*圓*。軌跡把每一條時域要求都化成地圖上的一塊區域,而增益就在曲線進入那塊區域之處。
從軌跡到補償器
如果軌跡根本不經過你想要的極點呢?這經常發生——受控體的極點就在它們所在之處,而單一個增益旋鈕只能讓閉迴路極點*沿著既有曲線*滑動。這正是根軌跡從單純的分析工具,升格為*設計*工具的地方:你藉由加入自己的極點與零點來重塑軌跡。這恰恰是PID 控制器或超前/滯後補償器所做的事。加一個零點會把軌跡*拉*向它(拉進左半平面 → 更穩定、更高阻尼);加一個極點會把軌跡*推*開(推向不穩定,但對塑造低頻行為有用)。
這就是根軌跡帶給你的心態轉變,也是它在 75 年來更花俏的方法中存活下來的原因。用 Ziegler–Nichols 或憑感覺調 PID,問的是「要什麼增益?」,靠試誤回答。根軌跡問的是「我希望閉迴路極點坐在哪裡?」——挑出 s 平面裡你想要的步階響應已經住著的那個位置——然後*反推*回能把極點放到那裡的控制器。你先設計*答案*,再解出旋鈕。再配上你接下來會遇到的波德圖與奈奎斯特準則,你就擁有一套完整的迴授設計圖解語言——在這套語言裡,穩定性、速度與阻尼,都是你在碰硬體之前就能*看見*的東西。