當前位置: 華文星空 > 汽車

控制系統中的零極點有什麽物理意義麽?

2013-11-14汽車

搞非線性的試著答一波...這是非線性控制方法論vs頻域方法論的大順風局,是說明非線性方法論可提供更深刻直覺的絕佳領域,看了看沒人推那我一定要試著推一推。什麽是極點?什麽是零點?左右半平面零極點到底意味著啥?為什麽要求系統最小相位?相信學本科控制系統的朋友都痛苦過

這時候頻域老哥就會說了,極點往下拐,零點往上拐,最小相系統可以畫出唯一bode圖..(這還是我碩士入學面試題…)簡直比抽象更抽象。在頻域裏來回浸潤的同誌對著bode圖可以一頓「直觀理解」,很容易忘記這一切都是馴化的觀點,所謂的直觀也只是在所構建工具之上的直觀,僅限於線性+SISO,不容易跟真實物件建立物理對應,所獲得的直覺性觀點也少之又少。真做了工程師,站在真實系統面前也只知道掃個頻看個頻譜...誠然電力電子/通訊領域,頻域的故事講得很漂亮,但電氣化的大航海時代早就結束了,現在是造高達的時代,更廣闊的控制領域,不敢說頻域害人不淺,也只能說過於rookie level了。

實際上就是害人不淺,你可以聽到很多高精尖領域裏的人聲稱還是用頻域這一套,有的時候團隊帶頭人是懂非線性的,他只是照顧成員用老一套來講故事罷了…(當然不排除有些高精尖領域高精尖在裝備上而不是演算法上,用線性SISO就夠了。)為了跟行內人士打交道,學校不得不教,學生不得不學,學完了已經對進階的東西毫無興趣了..實際上所謂進階的東西一開始就學也不會有什麽問題。國內高校懂的人也不太多,做控制的海龜又難拿教職,這何嘗不是一種新式技術封鎖?

其實這事兒跳出線性SISO系統可能反而更直觀,否則能舉的例子太少了。如果說整個大系統是由一堆小系統互聯的,每個小系統都有自己的動態(或說狀態/微分方程式因變量),那麽:

  • 極點對應可透過輸出測量的系統動態
  • 零點對應著透過輸出測不到的系統動態
  • 這裏和可觀性有緊密關聯。測不到的動態就是觀測及其導數的核空間,線性情況下就是observability Gramian,非線性下會復雜很多,不過道理相通,我們可以線上性MIMO下建立insight:

  • 零點對應著不可觀部份的特征值
  • 極點對應著可觀部份的特征值
  • 「系統分解」是控制理論裏幾乎不可能再重要的思維方式了,看到後面的舉例相信你也會深刻地建立這個直覺。關於線性系統可觀/不可觀的分解見kalman的論文 [1]

    你會發現壓根就沒有所謂的「零點過程」、「極點過程」,系統就在那裏,都是ODE的特征值,一個動態對應零點還是極點取決於視角。本科的時候納悶既然零/極點會確定性地對應bode圖,那應該對應著不同的物理過程。為什麽閉環以後零點沒變,但又會翻到分母上改變極點?進而改變所謂的特征方程式?大部份課程都會告訴你特征方程式決定系統效能,但他不會告訴你這實際上是一種妥協..研究它是因為這是輸出真正能測的部份,零點對應的動態我們壓根測不到,只能期望它是漸進穩定的(即頻域法的大前提,也是缺陷之一——最小相位)

    拿搖晃酒杯舉例,視手上施的力為輸入,酒杯位移為輸出,可用輸出及其導數測得的是酒杯位移/速度/加速度,這些動態對應著極點(一個二階系統);但是酒的狀態不能透過輸出測得,就對應著零點了。如果你一定建立成傳遞函式,會發現它有左半平面的零點,這是因為水的波動是耗散、漸進穩定的。

    酒杯位移作為輸出往往不是選擇,而是不得不接受的事實..比如領導讓你用工業機械臂拿水杯,沖咖啡什麽的。控制杯子位移精準很簡單,反饋+高增益控制就可以;但要保證酒不灑出來,就要對輸入及其導數進行限幅,對應的是小增益控制/飽和控制。

    前面說零/極點取決於視角,怎麽理解呢?

    機械臂的力還是輸入,但加了一個網路攝影機,這樣輸出就變成杯子和水的位移了,杯子+水就變成了串聯品質,此時系統沒有「零點」,只不過變成了SIMO系統,不能用傳遞函式理解。線性化從狀態空間看的話,系統一直都是四個特征值,只不過從兩個不可觀/兩個可觀變成了全都可觀。

    另外,我們說的「輸出」是指我們最關心的指標、最想跟蹤的軌跡,並不一定非得是可測得的量,特別是跟蹤問題,有一個因果關系在。比如藤原拓海運豆腐,如果他只關註跑的安全跑得快,那豆腐就是零點;如果他一邊看著車一邊用屁股測力關心著豆腐,那車和豆腐都是極點,但是車輛動態會影響豆腐的平衡點,沒法提前規劃。另外,即使用內模觀點構造成一個誤差鎮定問題,那也成兩個模型兩個insight了;但事實上我們想要一個模型好多insight——既然目的是汽車安全下山,同時鎮定豆腐在汽車狀態決定的平衡點附近(並不能提前求得),我們需要透過把汽車軌跡設為輸出來說明:僅做輸出反饋是不夠的,用屁股做個狀態反饋吧。再聊一個作者領域的例子——液壓機械臂軌跡跟蹤,液壓油可壓縮會產生不小的形變(也對應不同的壓力),這顯然是個零點,因為你並不能確定位移是泵入液壓油導致的還是壓縮導致的;但我們的目的是跟蹤位置軌跡而不是跟蹤壓力軌跡,即便加壓力傳感器,也不能把壓力視為「系統輸出」。這是一個常見錯誤。

    延伸出來,零/極點可以舉出特別特別多的現例項子。極點沒太有必要舉,因為只要能測它都可以對應極點...nontrivial的東西是零點。零點在非線性控制裏叫zero dynamics,即零動態。沒有零動態/零點的性質在非線性裏叫平坦性,是一類可以直接高增益壓住的系統。而包含零動態的系統有:

  • 串聯的電容/電感(但也不一定)。電路元件是零/極點判斷不能歸於定式。如果一個儲能元件的能量可以不依賴輸入直接用輸出測得,那就是極點,否則會出現在零點上。
  • 欠約束剛體桿。只關註某一點位移/旋轉的話,一定有一個自由度觀測不到。由於旋轉非線性,會有詭異的正零點:想象用筷子向上打筷子,質心一定是向上的,但一端可能會先向下。這是大多數人會遇到的第一個「非最小相位系統」(但它顯然是耗散的,並不是座標無關的不穩定零動態。頻域法充滿了對座標的妥協,它無法反過來指導你從哪取輸入輸出)
  • 固定翼飛機俯仰,和上一條類似。記得之前有飛控大佬分享固定翼的傳函,上面就有正零點,這裏雖然不是耗散的,但明顯也是取座標的問題:總能找到一個不是質心的點,使得升降舵對高度沒有正零點。如果含鴨翼就更有意思了(相信飛控領域是傳統和現代方法沖突最多的領域之一)
  • 幾乎所有PDE控制。比如熱控制/過程控制/管道壓力控制。下面連續說幾個。
  • 想象管道流動的1維pde,我們只知道有限個點的壓力,其余地方我們根本測不到。
  • 過控也是座標相關正零點的重災區,學校開了專門的過控/預測控制課,除了理論和演算法基本就是正零點處理技巧,每次都想沖上去說換個地方裝傳感器/多裝兩個就好了(很可能並不現實
  • 炸火箭的管道/結構耦合振動。把加速度傳感器裝錯了位置(對箭體平坦但對油管不平坦),導致沒處理好PDE裏的零動態;
  • 艦船主軸振動,這一類被動抑振問題都是找個好地方加軸承/阻尼,其實本質上是在pde上找一個低階振型的平坦輸出並約束之。這裏和inverse system聯系密切
  • 汽車白車身振動。搞nvh的應該有體會
  • 機械臂顫振/加工顫振/薄壁件鉆孔顫振,也是上面這一類,是把PDE形變桿視為剛體的鍋。所謂input shaping/reference shaping抑振,只不過是小增益鎮定被搞伺服的頻域老哥們重新發明了一遍...
  • 汽車懸架的底盤變形/輪胎變形;如果懸架是被動的,那所謂的輪上品質也變成了零點
  • 火箭/飛機內晃動的油料
  • 高速電梯繩索振動
  • 桁吊/港口吊機/起重機等
  • 摩天大樓的風阻尼器
  • 直升機上用繩索掛的任務載荷(駕駛員看不到繩索狀態)
  • 運動員倒立上單杠,運動員透過訓練只明確知道曲髖角度的軌跡,其整體質心就是零動態。對應acrobot模型
  • 和上面例子一樣,人步行時整體質心相對於地面的移動是零動態。加上接觸切換/系統降階,再找一個穩定orbit,就是HZD了(
  • 再舉幾個身邊的例子:

  • 走路時掛在胳膊上的東西
  • 小時候都背著一書包的書跑過吧
  • 新手學遊泳,如果身體不太協調,無法感受到腿的位置,只會曲髖和搖手臂,這個時候下肢的俯仰角就是零動態
  • 騎自由車往一邊歪的角度(你能測但它不是輸出)
  • 騎自由車時掛在車把上的購物袋(這個例子很有趣,因為鎮定上面一條本來就需要小增益,但是對購物袋來說增益還是過大了,因此要進一步縮小增益,同時會縮小保持自由車平衡的收斂域,導致容易摔倒)
  • 甩魚竿時魚竿上栓的勾點
  • 射箭。找到一個對映,把箭的最終位置作為輸出,拉弓方式作為輸入,那麽中間過程統統都是零動態(希望有讀者能想到poincare mapping進而想到軌域動力學)
  • 用杯子碼骰子時,沒有貼緊杯子的骰子(此時系統輸出是位移+力,貼緊杯子的骰子狀態是可觀的)
  • 管理團隊時,除了你信任的人之外都是零動態..這一觀點可以推廣到任一管理問題/治理問題(所以領導要加網路攝影機啊
  • 單向的心理治療基本都是零動態鎮定問題..實際上雙向的賽局也算是這類問題(還記得奈許求得的那個著名平衡點嗎)
  • 傳統中醫幾乎就是輸出反饋零動態鎮定…現代醫學算是強行狀態反饋。
  • 讀者可能已經意識到,首先零極點精確對消是件多麽荒唐的事,它只是因為頻域沒有對應響應而把對應物理物件都刪掉了,但是老師除了說「這樣不魯棒」之外,幾乎不會跟你講清楚為什麽(比如大樓的風阻尼器就是零極點對消,但有用不代表真的可以消掉,把樓當剛體怎麽算阻尼器發熱?)。在看了以上例子之後,讀者也能發現零動態穩定性決定了系統能不能鎮定,直接說結論:

  • 如果零動態是指數穩定的,這時候頻域觀點叫最小相系統,非線性也講strong minimum phase。我們可以不太管它,用高增益鎮定就好。如果振動不可接受,當然也可以分析一下給輸入的導數加個飽和;按頻域觀點,也可以給控制器加幾個極點壓一壓高頻。這裏給輸入導數限幅和壓高頻的操作是等價的,都是不希望把零動態激振起來。
  • 如果零動態是「弱」漸近穩定的,比如線性化後零點在虛軸上或者虛軸附近,但其中心流形是穩定的。這個時候頻域觀點就傻了眼了;非線性上叫weak minimum phase,在一定條件下整個系統semiglobally可鎮定的(至少構造一個確定的吸引域,比local的臨域可鎮定強,但又不是全域的),至於怎麽鎮定又是另外的故事了。
  • 如果零動態是不穩定的(有右半平面特征值/有右半平面零點),輸出反饋的鎮定是不可能的,此時你需要加傳感器做狀態反饋,當然這也是MIMO設計的範疇了。
  • 但你要明白這根本不是搞理論的在做什麽空中樓閣的東西,都是實實在在的真-常見問題。理論上說鎮定不了的事,他就真的不可能鎮定啊,不要再浪費錢改控制器了,請直接加反饋或改設計。再不提高國內控制工程姿勢水平的話,在造高達的路上我們會落後一大截(

    零動態的故事大概就是這樣了,相信你也理解了極點和零點是什麽。如果讀者學完了線性控制、多少接觸過非線性,一定聽說過Isidori老爺子,老爺子關註的topic之一就是零動態(根據上面的舉例,讀者應該不會低估這個方向的潛力吧),提出了isidori標準型,清清楚楚地分離出了零動態;用他自己的話說是「a long,painful but eventually successful story」 [2] 。回頭再看老爺子的書,你也許就理解系統分解為什麽如此重要;而如果你多少知道一點Lie理論,也就能明白為什麽要用幾何觀點:系統分解的必要步驟-非線性換元法(座標變換)是要用到微分幾何的;哪有什麽高處不勝寒,一切的努力都是希望我們看到系統的數學形式時,就像看到「自由車把上掛個購物袋」一樣那麽直觀——用正確的語言講故事是多麽重要。也許你也能理解當這一切都用正確的語言講明白之後,大佬們攀上高峰的空虛,以及為什麽「control is dead」是一句充滿驕傲的宣言。

    但作為學生又能怎麽辦呢?頻域還是要學的。畢竟考研/保研面試要考啊。

    參考

    1. ^ Kalman, Rudolf Emil. "Mathematical description of linear dynamical systems." Journal of the Society for Industrial and Applied Mathematics, Series A: Control 1.2 (1963): 152-192. https://epubs.siam.org/doi/abs/10.1137/0301010
    2. ^ isidori talk, 2017 https://www.youtube.com/watch?v=zcvnVCH7IcY&t=2593s