天天看點

Hello 自動化!|開篇

"IT有得聊”是機械工業出版社旗下IT專業資訊和服務平台,緻力于幫助讀者在廣義的IT領域裡,掌握更專業、實用的知識與技能,快速提升職場競争力。

導語:自動化是一個好東西,不用去管它,自己就動上了。更加進階一點,還會揣摩人的心思,還沒使喚,就知道應該去幹什麼了。在迪士尼卡通電影《機器人總動員》裡,人們衣來伸手,飯來張口,什麼都是自動的,省心省事,這确實符合一些人對自動化的期望。

Hello 自動化!|開篇

自動化是什麼?就是衣來伸手、飯來張口嗎​

01​

自動化從哪裡來​

從電鍋到核電站,從汽車到航天飛機,自蒸汽機到人工智能,自動化貫穿于科技與生活的各個層面。自動化并非自己就能動,且自動化并不神秘。自動化的世界充滿了故事,在造福人類的同時還富有趣味,這是數學、計算機、電子、機械、化工和其他領域的融彙。自動化應用的成功還取決于設計與使用的互動,自動化的很多概念更是可以推廣到其他領域,其他領域的概念也可以延伸到自動化領域中來。

有人考證,古代就有自動化的執行個體,但現代意義上的自動控制開始于瓦特的蒸汽機。蒸汽機的原理并不複雜,用煤炭的火力把鍋爐裡的水燒開,産生高壓蒸汽,進入汽缸後,推動活塞往複運動,然後就可以通過曲軸轉化為轉軸的旋轉運動,這就可以帶動各種機械了。問題是,受到煤質和鼓風風力的影響,鍋爐的火力忽大忽小,産生的蒸汽壓力也随之變動;另一方面,機械負載也時大時小,對于蒸汽供應量的需求也随之變化,導緻蒸汽壓力變動。除非有人時時刻刻盯着壓力,随時調整汽閥,否則轉速可能忽高忽低,甚至失控,造成機械損壞甚至人身傷亡。托馬斯·紐考門比詹姆士·瓦特先發明蒸汽機,但瓦特臨門一腳,不僅改進了蒸汽機的熱力學循環,大大提高了蒸汽機的熱效率,還首先研制成實用的離心調速器,使得蒸汽機實作持續可靠的運作,把英國真正推入工業革命的時代。

Hello 自動化!|開篇

嚴格來說,蒸汽機在瓦特之前已經發明了

但缺乏有效控制的蒸汽機容易過熱過壓引起爆炸​

Hello 自動化!|開篇

瓦特蒸汽機在熱力學上有改進

但成功的核心在于離心調速器​

瓦特在蒸汽機的轉軸上安裝了一根小棍,小棍的一端與轉軸相連,另一端是一個小重錘。轉軸轉動時,重錘在離心力的作用下揚起升高,帶動小棍揮起。小棍通過連杆、提環和杠杆系統控制汽閥開度,自動調節進入汽缸的蒸汽流量。這樣,在正常情況下,重錘、小棍、汽閥都處在平衡位置,轉速保持在要求的數值。如果轉速意外升高,重錘揮舞得更高,小棍就通過支點和連杆把汽閥關小,使得蒸汽流量降低,轉速下降;如果轉速太低,重錘垂下來,汽閥就被開大,蒸汽流量增加,轉速回升。這樣,蒸汽機不需要人的照看,就可以自動保持穩定的轉速,既保證安全,又友善使用。也就是因為這個小小的離心調速器(轉速調節器),瓦特的名字和工業革命連在一起,而紐考門的名字就要到曆史書裡去找了。

類似的巧妙設計在機械控制系統裡有很多,家居必備的抽水馬桶是另一個例子。放水沖刷後,水箱裡水位降低,浮子随水位下降,通過杠杆将進水閥打開。随着水位的升高,浮子通過杠杆将進水閥逐漸關閉。水位達到規定高度時,進水閥正好完全關閉,水箱水位不再升高,儲水正好準備下一次使用。這是一個非常簡單但非常巧妙的水位控制系統,是一個經典的設計,但不容易用經典的控制理論來分析,不過這是題外話了。

這些機械系統構思巧妙、工作可靠,實在是巧奪天工。但是在實用中,如果每次都需要這樣的創造性思維,那就太累了,最好有一個系統的方法,可以解決“所有”的自動控制問題,這就是控制理論的由來。

02

走路要看路​

回報與動态​

從小大人就教導我們,走路要看路。為什麼呢?要是走路不看路,走歪了也不知道,結果就是東撞西撞的。要是走路看着路呢,走歪了,馬上就可以看到,趕緊調整腳步,走回正道上來,就不會東撞西撞了。這裡有自動控制裡的第一個重要概念:回報(feedback)。

Hello 自動化!|開篇

看路走路是一個回報過程​

回報是一個過程:

1)設定目标:以小朋友走路的例子來說,就是規定好前進的路線。

2)測量狀态:小朋友的眼睛看着路,就是在測量自己的前進方向。

3)将測量到的狀态和設定的目标比較:把眼睛看到的前進方向和心裡想的前進方向做比較,判斷前進方向是否正确;如果不正确,确定相差有多少。

4)調整行動:在心裡根據實際前進方向和設定目标的偏差,決定調整的量。

5)實際執行:也就是實際挪動腳步,重回正确的前進方向。

在整個走路的過程中,這個回報過程周而複始、不斷進行,這樣,小朋友就不會走得東倒西歪了。但是,這裡有一個問題:如果所有的事情都是在瞬時同時發生的,那這個回報過程就無法工作了。要使回報工作,一定要有一個過渡、漸變的過程,要有一定的反應時間。還好,世上之事都有這樣一個過程,這就為回報赢得了所需要的時間。這就是動态的概念。

Hello 自動化!|開篇

動态過程的變化有一個過程,一開始有一個滞後,然後開始上升(或者下降),升到一定程度後,上升速度慢下來,最終穩定在新的狀态。

一階過程(粗實線)在滞後之後直接上升,二階過程(粗虛線)有一個加速過程,然後轉入迅速上升,最終上升速度放慢,穩定在新的狀态。二階過程除了這樣單調上升(正式稱呼為過阻尼),還可以振蕩(也就是欠阻尼)

俗話說,心急吃不了熱豆腐。這是說,滾熱的豆腐不等涼下來就急着吃,那是要燙嘴的。但要是耐心等一會兒,豆腐就涼下來了。到底需要等多久,取決于豆腐的塊兒有多大,豆腐有多熱,還有就是房間裡有多通風、多涼快。豆腐涼下來是一個逐漸降溫的過程,這就是動态過程(dynamic process)。這裡面有兩個東西很關鍵:一個是降溫的過程有多快;另一個是最終的溫度可以降到多少。這就是時間常數和增益。要是知道了這兩個參數,知道一開始豆腐有多燙,同時又知道自己舌頭的耐受溫度,理論上就可以計算出熱豆腐需要涼多久才能吃了不燙嘴。

Hello 自動化!|開篇

豆腐的降溫過程

(豆腐大小、房間溫度及通風情況、鍋子保溫能力,都影響豆腐的降溫速度)​

時間常數有長有短。電網波動是分分秒秒的事情,要是有個三長兩短,瞬息之間停電就可以波及很大一片地區;但全球暖化卻是一兩百年甚至更長遠的事情。船小好掉頭也是一樣的道理。“泰坦尼克”号看到冰山已經來不及避讓了,但要是小快艇,可能一扭身就讓過去了。

Hello 自動化!|開篇

船小好掉頭,是因為轉向的時間常數較短​

增益有大有小:點一堆篝火在理論上增加了全球暖化,但實際上對全球暖化的作用微乎其微,這就是微小增益的情況;但是,一堆篝火對燒開一壺水的作用卻很大,這時的增益很大。增益也可正可負:一把火加上去,溫度是上升的,這就是正增益;一桶冷水澆下去,溫度是下降的,這就是負增益。

通常,動态系統的響應是一路上升或者一路下降的,但複雜系統可以在上升或者下降的過程中還晃蕩幾下。比如說,給一個彈簧秤吊上一隻雞,最後肯定是把彈簧拉下去。但彈簧不是老老實實地直接被拉下去,而是上下來回彈幾下,最後才穩定在較低的位置。這裡,上下反彈的幅度和頻率與彈簧的“松”或者“緊”有關,或者說與彈簧的阻尼因子有關,阻尼因子其實是時間常數的特殊表現。

Hello 自動化!|開篇

動态響應不僅可以單調上升下降,還可以振蕩幾下

更加複雜一點的動态過程還可以曲裡拐彎繞兩下,才最後上升到頂點或者下降到底點。比如說,燒水時水開了往水壺裡加水後,水壺裡的水位在開始的時候可能出現暫時的反向響應。一般說來,往水壺裡加水,水位應該是上升的。但水壺裡的水是熱的,還可能因為沸騰泡沫造成水位虛高而漫出來。另一方面,新加的水是冷的,剛加入時,反而“壓”住熱水,尤其是壓掉了泡沫,造成水位下降的表象。但水壺裡的水畢竟是比先前多了,繼續加水的話,最終是會緩過來的,水位會重新開始上升。這就是典型的暫态反向響應的例子,最初的響應方向與最終的響應方向是反的。煮餃子時也一樣,煮開了,加點冷水把沸水“壓”下去,在短時間裡,鍋裡的水位不是上升,而是下降了。加水不是使水更容易漫出來嗎?加太多了當然還是會漫出來,但加得剛好把沸水“壓”住,還是可以不使其漫出來的。這就是巧妙利用沸水水位反向響應的例子。​

還有一種逆天的響應是非對稱響應。比如說,燒一壺水,猛開瓦斯,水溫很快上升;但關掉瓦斯,水溫要靠自然散熱才能降下來,水溫變化就要慢得多。另一種特别逆天的響應會随過程條件而改變響應的方向,也就是說,根據系統狀态的不同,正的增益可能變成負的增益,或者反過來。比如說,用引自山洞裡的恒溫泉水在室外玻璃暖房的水池裡養殖珍貴魚,水池一頭注水、一頭出水,是以水位保持不變。注入的泉水溫度是固定的,但玻璃暖房裡的溫度随季節而變:冬天泉水溫度高于池水溫度,注水導緻池内升溫;夏天泉水溫度低于池水溫度,注水則導緻池内降溫。這樣,用泉水控制池水溫度就有趣了,池水溫度太高的話,冬天要減少新加泉水的流量,但夏天則要增加新加泉水的流量。春秋換季的時候,池水溫度可能反複與泉水溫度錯肩而過,控制增益就要随之反向,否則該加泉水的時候反而減少,該減少的時候反而增加,池水溫度就要失控,珍貴魚就要死掉了。實際中,這樣的過程很罕見,即使對于泉水養魚這樣的問題,我們更可能通過夏天通風和冬天取暖來保持室溫,間接使得池水恒溫,而不是浪費稀缺的泉水資源。但真要是碰上了這樣可以增益反向的過程,就要異常小心了。

動态系統不光出現在自然過程中,也出現在社會和人文過程中。經濟危機時政府出手救市,這就是一個典型的動态過程。有的措施很給力,立刻可以産生很大的效果,這就是高增益的情況;有的措施要很長時間才能展現效果,這就是大時間常數的情況。2009年世界性經濟危機時,中國政府4萬億砸下去,要過幾年才逐漸顯示出全部效果;2015年中國央行調整人民币匯率時,隔夜就在全世界各大金融市場引起強烈反應。這就是不同經濟過程具有不同時間常數的例子。

動态過程是一個很有用的概念。很多時候,心不能太急,換句話說,要是做法對頭,要給點時間才能看到效果,這就是動态系統的概念。世界市場原油價格下跌,加油站汽油價格要好一陣子才跌下來,說是石油公司現有庫存還是高價原油時買進來的,要等到降價原油逐漸頂替掉高價原油庫存後,加油站的汽油價格才能降下來。說起來,這倒也是動态系統的概念。不過原油漲價的時候,汽油價格立刻漲上去了,盡管庫存原油還是低價時買進來的。動态系統可不帶這麼玩的,這是濫用動态系統概念了。

有了動态過程,回報就“玩”得起來了。回報過程也叫作閉環(closed loop)過程。既然有閉環,那就有開環(open loop)。說起來挺繞口,閉環其實是睜着眼睛的,開環反而是盲目的,一廂情願的。

Hello 自動化!|開篇

開環控制就是隻有願望、不看實際的“我下指令、你執行”,執行結果到底怎麼樣,對于下一步指令沒有影響,這對于結果隻要差不多就行了的簡單過程是夠用的​

Hello 自動化!|開篇

閉環控制不光根據願望下指令,還要看執行結果,并根據觀察到的執行結果調整下一步的指令,這個過程循環反複,最終逐漸使得結果與願望相符​

開環是沒有回報的控制過程,隻設定一個控制作用,然後就執行,不看實際結果到底怎麼樣,不根據實際測量值進行校正。

對于簡單過程,開環控制是有效的,比如洗衣機和烘幹機按定時控制,到底衣服洗得怎麼樣,烘得幹不幹,完全取決于開始時的設定。對于洗衣機、烘幹機這樣的簡單問題,憑經驗設定一般無大錯,否則多設一點時間就是了,稍微浪費一點,但可以保證效果。但要是換了空調,就不能不顧房間溫度,簡單地設一個開10min、關5min的循環,而應該根據實際溫度做閉環控制,否則房間裡的溫度天知道到底會達到多少。對于政府行為,更不能隻顧計劃不顧變化,盲目瞎指揮。

在20世紀80年代時,報告文學很流行。作家徐遲寫了一個《哥德巴赫猜想》,于是全國人民都争當科學家,小說家也争着寫科學家。成就太小不行,是以要語不驚人死不休。某大家寫了一篇《無回報快速跟蹤》,據說可以消除回報過程的本質滞後,革命性地再造自控。不過從頭看到尾,也沒有看明白到底是怎麼無回報快速跟蹤的。現在想想,小說就是小說,不過這無良作家也太扯了,無回報還要跟蹤,不看着目标,不看着自己跑哪了,這跟的什麼蹤啊,這和永動機差不多了,怎麼不挑一個好一點的題目,冷聚變、暗能量什麼的,至少在理論上還是可能的(這是題外話了)。

回報本身分正回報和負回報。在平常日子裡,正面的事情總是比負面的強,正能量總是比負能量給力。但在回報世界裡,倒是負回報通常是好孩子,正回報是壞孩子。說到底,回報就是根據觀察到的偏差修正控制量,修正的控制量使得偏差減少,這就是負回報;修正的控制量使得偏差變大,這就是正回報。

自然界和社會上不乏負回報的例子。肉食動物和獵物的生态平衡就是典型的負回報:肉食動物太多了,獵物不夠吃,肉食動物自然減員;肉食動物減員太多了,獵物繁殖一發不可收拾,肉食動物又有吃的了,也繁殖增速;然後開始新的循環。正常的股市也是一個負回報:股票價格低了,買家大買,推高股值;股值高了,賣家出手,股值回跌;如此往複。

通常控制系統都是負回報,要是進入正回報,那就糟糕了,無軌電車一開起來就一發不可收拾了。不過跳出狹義的自動控制的話,有時候正回報也可以是好事情。比如說,在經濟領域裡,有一個良性循環的說法,說的就是一旦條件建立好了,發展會像滾雪球一樣,越來越快,自己給自己加勁,這就是正回報了,這時就是好事。但要是青少年叛逆,做了錯事,告訴他們不能這麼做,還偏擰着幹,變本加厲,這樣的正回報就不好了。​

— 未完待續 —

以上内容節選自:

Hello 自動化!|開篇

繼續閱讀