自動控制,聽起來是一個很高大上的東西。但其實,自動控制系統非常常見,幾乎到了無處不在的程度,甚至在地球生命還沒有出現的時候,宇宙中就布滿了自動控制系統。如果太陽內部沒有引力和聚變壓力的負反饋平衡,它很快就會爆炸或者坍縮成黑洞,不會穩定持續存在幾十億年。地球上的生物圈也是一個極為龐大複雜的有著不同層面負反饋的自動控制系統。這些系統都沒有人的幹預。

人體自身也充滿了各種負反饋,包括激素平衡,電解質平衡,血氧平衡等等數不勝數的控制。甚至我們平時稀鬆平常的一個動作,都是一套複雜自動控制的成果。比如,用筷子夾肉;這個動作包含了雙目視覺空間定位(確定所有相關物體的空間坐標),手臂肌肉驅動(調整手的位置),手部肌肉驅動(調整筷子的位置),還有最重要的,全過程中視覺對筷子定位的實時負反饋——筷子在肉左邊手就要往右移動,反之亦然。這個負反饋的週期不超過百毫秒,完全在人下意識完成,所以看起來手的運動非常輕鬆連貫,沒有跳變抖動或者思考的延時。為什麼我們的機器人動作不像人那麼靈活自然?因為人的動作真的不簡單吶。人類造的東西,自動控制的內容就更豐富了。我將使用一個小船的例子,來解釋各種控制理論及其發展歷史。

想像你有這樣一艘小船,零部件都比較齊全,但就是沒有任何控制系統,一發動,不是這裡冒煙就是那裡漏油。只能安安靜靜地停在港口。

公元前300年希臘人凱特斯比斯(Kitesibbios)給小船裝上了浮子調節器以保持油箱內油位高度穩定(這種系統後來在歷史的長河中被發揚光大,變成了現在家家戶戶都在使用的馬桶注水器)。從此小船的進油管路再也沒有出現過問題。

1788年,瓦特(J.Watt)給小船發動機裝上了飛錘調速器,可以使其按照設定轉速輸出功率,小船終於可以出海航行了。

但是這時候仍然有一個問題。我們可以設定小船的巡航速度,然而當海水和風給小船的阻力變大的時候,外力會讓小船速度降下來。發動機不得不增加輸出功率維持原速度。但如果增加得過猛,或者風突然減小,小船速度又會超過指定巡航速度,然後又不得不立即開始降功率,結果又很可能使得船速低於期望值。在比較極端的情況下,這種速度的往複振蕩會越來越劇烈,導致最後發動機再也跟不上調節,超負荷輸出然後爆缸。

如何判斷小船發動機到底會不會自毀?要先把這個系統簡化成數學模型,然後再進行理論分析。1868年麥克斯韋爾(J.C.Maxwell)完成了這個工作,他基於微分方程描述從理論上給出了負反饋系統的穩定性條件。1877年勞斯(E.J.Routh),1895年霍爾維茨(A.Hurwitz)分別獨立給出了高階線性系統的更簡潔的穩定性判據,這像數字遊戲一樣的判定方法,就是著名的勞斯判據,是所有學習自動控制這門課的人遇見的第一本難唸的經。1892年,李雅普諾夫(A.M.Lyapunov)給出了非線性系統的穩定性判據,順便也給出了第二本難啃的經。不過還好,通過這些理論的研究,我們終於確定小船發動機輸出的功率振蕩是收斂而不是發散的,小船終於可以駛向無邊無際的大海了。

小船在行駛的過程中看到了一羣壯觀的沙丁魚羣,於是船員們計劃追上去抓點海鮮打牙祭。捕魚網要在離魚羣十米左右發射纔有比較好的效果,太近了會嚇跑魚羣,太遠了又脫離了射程。但是你卻發現,想把船穩定在這個距離很有難度。首先,船速和魚羣的速度始終是有差距的,當船比魚快,距離就會縮小,反之亦然。所以你只能不斷升降油門來儘力減少這個速度差。這就是P(proportion)控制。然而你發現,即便自己非常努力地去控制,船和魚之間始終存在微小的速度差,在時間的作用下,你們之間的距離仍然在大幅改變。怎麼辦呢?於是在升降油門的時候,你除了考慮速度差,還要考慮這個微小速度差對時間積分產生的距離差,本來速度差只需要你增加一格的油門,但是考慮到距離差你又多增加了一格的油門。這個就是I(integral)控制。通過PI雙管齊下的控制,小船終於取得了很不錯的跟隨效果。就在船員準備發射捕魚網的時候,魚羣突然開始加速了!於是你也趕緊加速跟了上去。這個突發事件給了你啟發,就是要考慮船速和魚羣速度差值的變化快慢。如果這個速度差幾乎無變化,或者變化非常慢,就像剛才那樣,那麼PI控制就有足夠好的效果。但是如果這個速度差變化非常快,油門增量就必須要考慮這個速度差的變化了。這就是D(differential)控制。

上邊介紹的就是著名的PID演算法,在1922年由米羅斯基(N.Minorsky)首次提出。1942年,齊格勒(J.G.Zigler)和尼科爾斯(N.B.Nichols)又給出了PID控制器的最優參數整定法。從此PID演算法在工程領域大行其道,其工業地位無人能及。甚至可以說,目前工業上的自動控制系統,其核心演算法絕大部分都是PID或者PID的變體,還沒有什麼其他理論可以挑戰其地位。人類花式玩PID已經快一百年,可能還會繼續再玩個幾百年,畢竟PID實在是太經典太好用。在海上航行久了,你越來越覺得船上的小牀睡起來太不舒服了,總是隨著海浪上下顛簸。於是你決定給小牀做一個懸掛系統。你把小牀從船艙內徹底分開,然後在小牀下面加了一個可以往複運動的直線電機用來調節小牀的高度,又在牀和電機之間增加了彈簧和液壓緩衝器。你心想,這下牀總該舒服了吧。結果令你大失所望,牀的晃動不但沒有減弱反而更加嚴重了。的確,當船被海浪推高的時候,電機就開始下降,但是在液壓緩衝器的作用下,牀下降得很緩慢。甚至當船進入海水波谷的時候,牀還沒有降到位,此時電機又開始抬升。似乎牀永遠都沒有達到指定位置,下一波操作又開始了。而彈簧又始終給你帶來討厭的小震動,整個系統沒有一個地方是安定的。1932年柰奎斯特(Nyquist)看到這個情況,提出了負反饋系統的頻率域穩定性判據。他告訴你,系統的傳遞函數經過拉普拉斯變換後,明顯可見在頻域上有正極點,所以是不穩定的,需要增加彈簧的剛度,提高電機運行速度,把極點都移到平面左側才能實現穩定控制。1940年,波德(H.Bode)針對你的小牀進一步提出了頻域響應的對數坐標圖描述方法,這就是著名的波德圖。會畫波德圖,會看波德圖,能從波德圖找到系統的零極點,這早已成為自控、電氣、通訊等專業學生的必會技能。1943年,霍爾(A.C.Hall)利用傳遞函和方框圖,把頻域響應方法和時域方法統一起來,創造了復域法。1948年伊文斯(W.Evans)又進一步提出了根軌跡設計法,給出了系統參數變換與時域性能變化之間的關係。

在這幾位大神的指點下,你基本上可以任意設置小牀在海浪中的震動模式了,當然,你最後選擇了最舒服的參數配置。

有一天你突然接到國家指派的任務,為了海洋圖的精確測繪,你需要到指定的海域,豎直向海面下發射大功率激光束,激光束不允許擺動,要作為位置信標,給水下測繪潛艇提供參考。你這時候面臨的問題是,如何保證激光束在船身晃動的情況下,始終保持豎直向下呢?這個時候,要綜合考慮小船晃動的角速度,角加速度,激光發射器和小船相對角度,相對角加速度,發射器自身質量和轉動慣量,旋轉軸阻尼等等許多因素。這時候傳統的單變數分析法已經無力解決,於是針對多輸入多輸出的狀態空間法被提出。狀態空間本質上是對不同變數的歸類,然後用矩陣把他們之間的關係表達清楚。有很多大神從數學上理清了這種形式下,找到了系統的穩定性判斷方法和觀測性判斷方法。於是這種方法得以推廣開來。並且在上世紀六七十年代的大航天運動中大放異彩。你圓滿完成了國家指派的任務,拿到一筆可觀的獎勵,於是你決定去熱帶海島度個假。正當你躺在沙灘上喝著椰汁曬著太陽的時候,旁邊兩個當地人的對話引起了你的興趣。原來,本地一個修船廠正在為牽引船的定位問題大傷腦筋。牽引船在把無動力船舶往港口拉的時候,每條船都有事先規劃好的最佳路徑。但是牽引船都是靠人工去操作,經常在錯誤的時間通過錯誤的地點,導致幾條牽引船經常互相內耗動力。而因為這樣錯誤的拖拽,修船廠每年要多損失幾百萬美金的油錢。你決定幫幫他們。首先你在牽引船上安裝了幾個感測器,如GPS,陀螺儀,水速管等。然後你打算綜合利用這些感測器來定位船的實時位置。但是你發現每個感測器彙報的位置都不一樣,該相信誰的呢?1960年卡爾曼(R.E.Kalman)提出了卡爾曼濾波演算法。他假設每個感測器返回的數據都符合高斯分佈,也就是我們最常見的正態分佈,然後再假設數據都是馬爾科夫鏈的一環,也就是說前後時刻的數據沒有直接的影響關係。最後給每個感測器分配不同的置信係數,或者稱之為卡爾曼增益。多次迭代後就可以獲得比較理想的結果。

修船廠老闆看到你的方案如此有效,非常開心,但他又提出了新的想法。每次牽引船其實都是在走固定路線,而且每個月也走不了幾趟,但他不得不花錢白白養著一羣人來做這種低級的重複勞動。他希望可以讓牽引船自動駕駛。

你接下了這個工作,並去學習了概率機器人的所有相關課程,在船上增加了激光雷達和雙目攝像頭。利用SLAM等技術完成了老闆的要求。老闆說,小夥子真能幹。但是我覺得你這個系統前期建地圖的時候太慢了,還需要人工幹預。我船廠環境一天一個樣,你天天都要掃地圖。有沒有辦法解決一下?於是你又找來搞神經網路和機器學習的大牛,訓練了一套自行掃地圖,自行對圖像進行特徵識別的系統,解決了老闆的終極問題。你興沖沖地把全套方案提交上去,但是老闆發現,新增加的硬體成本比人工幹十年還要貴得多。於是老闆十分感動然後拒絕了你的方案。

故事講到這裡,基本上也算點到了大部分主要控制理論。其實每一部分理論展開寫細節的話內容都是相當多的,而且會涉及到許多數學運算,不利於閱讀,所以就先這樣泛泛地談一下。

雖然人類提出瞭如此繁多的控制理論,解決了無數棘手的控制問題,甚至可以把飛船送上月球,但是人類設計製造的任何精巧複雜的機械,連一隻蒼蠅的設計水平都達不到。我們的控制理論和造物水平還遠遠沒有達到值得我們自豪的水平。

未來的路還很長,自動控制這門學科以後必將繼續在人類的科技樹上建功立業,發光發亮。


推薦閱讀:
相關文章