有的時(shí)候,對(duì)同一個(gè)變量有不止一個(gè)控制手段。比如說(shuō),風(fēng)冷器有風(fēng)扇的轉(zhuǎn)速可以調(diào)節(jié),也有百葉窗的開(kāi)度可以調(diào)節(jié)。風(fēng)扇轉(zhuǎn)速的效果快,控制精確;百葉窗開(kāi)度的效果猛,不容易掌握,但有利于節(jié)能。所以,可以用風(fēng)扇的快速響應(yīng)來(lái)控制溫度,但是用百葉窗開(kāi)度來(lái)通過(guò)溫度間接地緩慢地影響風(fēng)扇的轉(zhuǎn)速,使風(fēng)扇轉(zhuǎn)速回到最經(jīng)濟(jì)的設(shè)定。當(dāng)然百葉窗開(kāi)度的控制回路必須要比風(fēng)扇轉(zhuǎn)速的控制回路整定得慢得多,一般是緩慢的純積分控制,否則兩人要打架。由于這相當(dāng)于控制風(fēng)扇轉(zhuǎn)速的“閥位”,工業(yè)上稱(chēng)其為閥位控制(valve position control)。這個(gè)閥位控制也可以變一變,風(fēng)扇轉(zhuǎn)速高于某一數(shù)值(比如80%的最大轉(zhuǎn)速)時(shí),把百葉窗開(kāi)大一格,還是高就繼續(xù)開(kāi)大;風(fēng)扇轉(zhuǎn)速低于某一數(shù)值(比如低于20%最大轉(zhuǎn)速)時(shí),把百葉窗關(guān)小一格。這實(shí)際上是一個(gè)單向的積分作用,不同的地方有兩點(diǎn): 一、有兩個(gè)設(shè)定值,由風(fēng)扇轉(zhuǎn)速是高還是低而定 二、積分作用只有在風(fēng)扇轉(zhuǎn)速在這兩個(gè)“極限”的外面起作用,在里面時(shí),百葉窗的開(kāi)度不變 這樣,風(fēng)扇轉(zhuǎn)速不必回到一個(gè)特定值,而是可以在一個(gè)范圍內(nèi)浮動(dòng)。 另外一個(gè),兩個(gè)控制器“競(jìng)爭(zhēng)”一個(gè)控制閥的情況是選擇性控制(override control或selective control)。舉個(gè)例子,鍋爐的溫度由燃料流量控制,溫度高了,燃料流量就減下來(lái),但是燃料流量低到燃料管路壓力低于爐膛壓力,那要出現(xiàn)危險(xiǎn)的回火,所以,這時(shí),燃料管路壓力就要接管控制,而犧牲爐膛溫度。換句話說(shuō),正常時(shí)候,爐膛溫度控制起作用,燃料管路壓力低于一定數(shù)值時(shí),燃料管路壓力控制器作用。在實(shí)施時(shí),就是爐膛溫度控制器和燃料管路壓力控制器的輸出都接到一個(gè)高選器,然后高選器的輸出接到實(shí)際的燃料閥。這個(gè)概念很清楚,但是初次接觸選擇性控制的人,常常容易被高選還是低選搞糊涂,明明是壓力太低,怎么是高選呢?其實(shí),只要記住高選還是低選是從閥門(mén)這一頭看的,和溫度、壓力的高度沒(méi)有關(guān)系。如果“非常”變量超過(guò)界限了,你要閥門(mén)打開(kāi),那就是高選;你要閥門(mén)關(guān)閉,那就是低選。 PID從二、三十年到開(kāi)始在工業(yè)界廣泛應(yīng)用,戲法變了幾十年,也該換換花樣了。PID說(shuō)一千道一萬(wàn),還是經(jīng)典控制理論的產(chǎn)物。50-60年代時(shí),什么都要現(xiàn)代派,建筑從經(jīng)典的柱式、比例、細(xì)節(jié)的象征意義,變到“形式服從功能”的鋼架玻璃盒子;汽車(chē)從用機(jī)器牽引的馬車(chē),變到流線型的鋼鐵的藝術(shù);控制理論也要緊跟形勢(shì),要現(xiàn)代化。這不,美國(guó)佬卡爾曼隆重推出……現(xiàn)代控制理論。 都看過(guò)舞龍吧?一個(gè)張牙舞爪的龍頭氣咻咻地追逐著一個(gè)大繡球,龍身子扭來(lái)扭去,還時(shí)不時(shí)跳躍那么一兩下。中國(guó)春節(jié)沒(méi)有舞龍,就和洋人的圣誕節(jié)沒(méi)有圣誕老人一樣不可思議。想象一下,如果這是一條看不見(jiàn)的盲龍,只能通過(guò)一個(gè)人在龍尾巴后面指揮龍尾巴,然后再通過(guò)龍身體里的人一個(gè)接一個(gè)地傳遞控制指令,最后使龍頭咬住繡球。這顯然是一個(gè)動(dòng)態(tài)系統(tǒng),龍身越長(zhǎng),人越多,動(dòng)態(tài)響應(yīng)越遲緩。如果只看龍頭的位置,只操控龍尾巴,而忽略龍身子的動(dòng)態(tài),那就是所謂的輸入-輸出系統(tǒng)。經(jīng)典控制理論就是建立在輸入-輸出系統(tǒng)的基礎(chǔ)上的。對(duì)于很多常見(jiàn)的應(yīng)用,這就足夠了。 但是卡爾曼不滿足于“足夠”。龍頭當(dāng)然要看住,龍尾巴當(dāng)然要捏住,但龍身體為什么就要忽略呢?要是能夠看住龍身體,甚至操縱龍身體,也就是說(shuō),不光要控制龍尾巴,控制指令還要直接傳到龍身體里的那些人,那豈不更好?這就是狀態(tài)空間的概念:將一個(gè)系統(tǒng)分解為輸入、輸出和狀態(tài)。輸出本身也是一個(gè)狀態(tài),或者是狀態(tài)的一個(gè)組合。在數(shù)學(xué)上,卡爾曼的狀態(tài)空間方法就是將一個(gè)高階微分方程分解成一個(gè)聯(lián)立的一階微分方程組,這樣可以使用很多線形代數(shù)的工具,在表述上也比較簡(jiǎn)潔、明了。 卡爾曼是一個(gè)數(shù)學(xué)家。數(shù)學(xué)家的想法就是和工程師不一樣。工程師腦子里轉(zhuǎn)的第一個(gè)念頭就是“我怎么控制這勞什子?增益多少?控制器結(jié)構(gòu)是什么樣的?”數(shù)學(xué)家想的卻是什么解的存在性、唯一性之類(lèi)虛頭八腦的東西。不過(guò)呢,這么說(shuō)數(shù)學(xué)家也不公平。好多時(shí)候,工程師憑想象和“實(shí)干”,辛苦了半天,發(fā)現(xiàn)得出的結(jié)果完全不合情理,這時(shí)才想起那些“性”(不要想歪了啊,嘿嘿),原來(lái)那些存在性、唯一性什么的還是有用的。 還是回過(guò)來(lái)看這條龍,F(xiàn)在,龍頭、龍尾巴、龍身體都要看,不光要看,還要直接操控龍頭到龍尾的每一個(gè)人。但是,這龍不是想看就看得的,不是想舞就舞得的。說(shuō)到“看”,直接能夠測(cè)量/觀測(cè)的狀態(tài)在實(shí)際上是不多的,所謂看,實(shí)際上是估算。要是知道龍身體有多少節(jié)(就是有多少個(gè)人在下面撐著啦),龍身體的彈性/韌性有多少,那么捏住龍尾巴抖一抖,再看看龍頭在哪里,是可以估算出龍身體每一節(jié)的位置的,這叫狀態(tài)觀測(cè)。那么,要是這龍中間有幾位童子開(kāi)小差,手不好好拉住,那再捏住龍尾巴亂抖也沒(méi)用,這時(shí)系統(tǒng)中的部分狀態(tài)就是不可觀測(cè)的。如果你一聲令下,部分童子充耳不聞,那這些狀態(tài)就是不可控制的?柭鼜臄(shù)學(xué)上推導(dǎo)出不可控和不可觀的條件,在根本上解決了什么時(shí)候才不是瞎耽誤工夫的問(wèn)題。這是控制理論的一個(gè)重要里程碑。 再來(lái)看這條龍。如果要看這條龍整齊不整齊,排成縱列的容易看清楚;如果要清點(diǎn)人數(shù),看每一個(gè)人的動(dòng)作,排成橫列的容易看清楚。但是不管怎么排,這條龍還是這條龍,只是看的角度不同。那時(shí)候中國(guó)人的春節(jié)舞龍還沒(méi)有在美國(guó)的中國(guó)城里鬧騰起來(lái),不知道卡爾曼有沒(méi)有看到過(guò)舞龍,反正他把數(shù)學(xué)上的線性變換和線性空間的理論搬到控制里面,從此,搞控制的人有了工具,一個(gè)系統(tǒng)橫著看不順眼的話,可以豎著看,因?yàn)椴还茉趺纯,系統(tǒng)的本質(zhì)是一樣的。但是不同的角度有不同的用處,有的角度設(shè)計(jì)控制器容易一點(diǎn),有的角度分析系統(tǒng)的穩(wěn)定性容易一點(diǎn),諸如此類(lèi),在控制理論里就叫這個(gè)那個(gè)“標(biāo)準(zhǔn)型”。這是控制理論的又一個(gè)里程碑。 觀測(cè)狀態(tài)的目的最終還是控制。只用輸出的反饋叫輸出反饋,經(jīng)典控制理論里的反饋都可以歸到輸出反饋里,但是用狀態(tài)進(jìn)行反饋的就叫狀態(tài)反饋了。輸出反饋對(duì)常見(jiàn)系統(tǒng)已經(jīng)很有效了,但狀態(tài)反饋要猛得多。你想想,一個(gè)系統(tǒng)的所有狀態(tài)都被牢牢地瞄住,所有狀態(tài)都乖乖地聽(tīng)從調(diào)遣,那是何等的威風(fēng)?臺(tái)商的大奶們的最高境界呀。 盡管學(xué)控制的人都要學(xué)現(xiàn)代控制理論,但大多數(shù)人記得卡爾曼還是因?yàn)槟莻(gè)卡爾曼濾波器(Kalman Filter)。說(shuō)它是濾波器,其實(shí)是一個(gè)狀態(tài)觀測(cè)器(state observer),用來(lái)從輸入和輸出“重構(gòu)”系統(tǒng)的狀態(tài)。這重構(gòu)聽(tīng)著玄妙,其實(shí)不復(fù)雜。不是有系統(tǒng)的數(shù)學(xué)模型嗎?只要模型精確,給它和真實(shí)系統(tǒng)一樣的輸入,它不就乖乖地把系統(tǒng)狀態(tài)給計(jì)算出來(lái)了嗎?且慢:微分方程的解不光由微分方程本身決定,還有一個(gè)初始條件,要是初始條件不對(duì),微分方程的解的形式是正確的,但是數(shù)值永遠(yuǎn)差一拍?柭谙到y(tǒng)模型的微分方程后再加了一個(gè)尾巴,把實(shí)際系統(tǒng)輸出和模型計(jì)算的理論輸出相比較,再乘上一個(gè)比例因子,形成一個(gè)實(shí)際上的狀態(tài)反饋,把狀態(tài)重構(gòu)的偏差漸進(jìn)地消除,解決了初始條件和其他的系統(tǒng)誤差問(wèn)題?柭鼮V波器最精妙之處,在于卡爾曼推導(dǎo)出一個(gè)系統(tǒng)的方法,可以考慮進(jìn)測(cè)量噪聲和系統(tǒng)本身的隨機(jī)噪聲,根據(jù)信噪比來(lái)決定上述比例因子的大小。這個(gè)構(gòu)型其實(shí)不是卡爾曼的獨(dú)創(chuàng),隆伯格(Luenburg)也得出了類(lèi)似的結(jié)構(gòu),但是從系統(tǒng)穩(wěn)定性角度出發(fā),來(lái)決定比例因子。同樣的結(jié)構(gòu)大量用于各種“預(yù)測(cè)-校正”模型結(jié)構(gòu),在工業(yè)上也得到很多應(yīng)用,比如聚合反應(yīng)器的分子重量分布可以用反應(yīng)器的溫度、進(jìn)料配比、催化劑等來(lái)間接計(jì)算,但不夠精確,也無(wú)法把林林總總的無(wú)法測(cè)量的干擾因素統(tǒng)統(tǒng)包括進(jìn)數(shù)學(xué)模型里,這時(shí)用實(shí)驗(yàn)室測(cè)定的真實(shí)值來(lái)定期校正,就可以結(jié)合數(shù)學(xué)模型及時(shí)的特點(diǎn)和實(shí)驗(yàn)室結(jié)果精確的特點(diǎn),滿足實(shí)時(shí)控制的要求,這或許可以算靜態(tài)的卡爾曼濾波器吧。卡爾曼濾波器最早的應(yīng)用還是在雷達(dá)上。所謂邊掃描邊跟蹤,就是用卡爾曼濾波器估計(jì)敵機(jī)的位置,再由雷達(dá)的間隙掃描結(jié)果來(lái)實(shí)際校正。實(shí)際應(yīng)用中還有一個(gè)典型的問(wèn)題:有時(shí)候,對(duì)同一個(gè)變量可以有好幾個(gè)測(cè)量值可用,比如有的比較直接但不精確,有的是間接的估算,有很大的滯后但精確度高,這時(shí)可以用卡爾曼濾波器把不同來(lái)源的數(shù)據(jù)按不同的信噪比加權(quán)“整合”起來(lái),也算是民用版的“傳感器融合”(sensor fusion)吧。 除了卡爾曼濾波器外,卡爾曼的理論在實(shí)際中用得不多,但是卡爾曼的理論在理論上建立了一個(gè)出色的框架,對(duì)理解和研究控制問(wèn)題有極大的作用。順便說(shuō)一句,卡爾曼的理論基本局限于線形系統(tǒng),也就是說(shuō),十塊大洋買(mǎi)一袋米,二十塊大洋就買(mǎi)兩袋米,都是成比例的。實(shí)際系統(tǒng)中有很多非線性的,兩千塊大洋還能買(mǎi)兩百袋米,但兩千萬(wàn)大洋就要看米倉(cāng)有沒(méi)有貨了,市場(chǎng)漲不漲價(jià)了,不是錢(qián)越多,買(mǎi)的米越多,有一個(gè)非線性的問(wèn)題。非線性的問(wèn)題研究起來(lái)要復(fù)雜得多。實(shí)際系統(tǒng)還有其他特性,有的是所謂時(shí)變系統(tǒng),像宇宙火箭,其質(zhì)量隨時(shí)間和燃料的消耗而變,系統(tǒng)特性當(dāng)然也就變了。很多問(wèn)題都是多變量的,像汽車(chē)轉(zhuǎn)彎,不光方向盤(pán)是一個(gè)輸入,油門(mén)和剎車(chē)也是輸入變量。但是,狀態(tài)空間的理論在數(shù)學(xué)表述上為線性、非線性、單變量、多變量、時(shí)變、時(shí)不變系統(tǒng)提供了一個(gè)統(tǒng)一的框架,這是卡爾曼最大的貢獻(xiàn)。 前面說(shuō)到,搞控制有三撥人:電工出身的,化工出身的,和應(yīng)用數(shù)學(xué)出身的。在卡爾曼之前,電工出身的占主導(dǎo)地位,數(shù)學(xué)家們好在象牙塔里打轉(zhuǎn)轉(zhuǎn),化工出身則還對(duì)控制理論懵里懵懂,還在“實(shí)干”呢?柭,一大批數(shù)學(xué)出身的人,利用對(duì)數(shù)學(xué)工具的熟悉,轉(zhuǎn)攻控制理論。一時(shí)間,控制理論的數(shù)學(xué)化似乎成了“天下大勢(shì),順我者昌,逆我者亡”了。在狀態(tài)空間的框架下,多變量沒(méi)有太多的問(wèn)題好研究,于是最優(yōu)化成為控制理論的新時(shí)尚。 對(duì)于一根給定的曲線,求一階導(dǎo)數(shù)為零的點(diǎn),就是這個(gè)曲線的極點(diǎn);在對(duì)這一極點(diǎn)求二階導(dǎo)數(shù),大于零就是最小點(diǎn),小于零就是最大點(diǎn)。這時(shí)牛頓老爺子就整明白的東東,現(xiàn)在高中或大一人人都學(xué)過(guò)的東西。但是動(dòng)態(tài)系統(tǒng)是一個(gè)微分方程,對(duì)微分方程求一階導(dǎo)數(shù)為零,就導(dǎo)致變分法和所謂歐拉方程。但這個(gè)東西用起來(lái)不方便。實(shí)際的最優(yōu)控制不大直接使用變分。 俄羅斯是一個(gè)奇怪的地方。老毛子們要么蔫蔫的,要么瘋狂的。俄羅斯的悲劇電影看得你也郁悶得想去自殺。但是老毛子要是搭錯(cuò)筋整出一個(gè)喜劇呢?那你要么跟著瘋狂,要么被逼瘋狂。就是這么一個(gè)地方,除了無(wú)數(shù)托爾斯泰、柴可夫斯基、普希金、屠格涅夫等文藝巨璧外,俄羅斯也盛產(chǎn)數(shù)學(xué)家,其中兩個(gè)是龐特里亞京和河里學(xué)控制的人老惦記著的李亞普諾夫。 龐特里亞京的極大值原理聽(tīng)起來(lái)嚇人,其實(shí)說(shuō)白了很簡(jiǎn)單?匆(jiàn)那山嗎?山頂就是最高點(diǎn)(切,這還用你說(shuō)嗎?);看見(jiàn)那山坡嗎?要是在山腰劃一道線,從山下往上爬,盡管山坡還在繼續(xù)往上延伸,但是到線為止,不得逾越,那山腰上那道三八線就是最高點(diǎn)(切,這還用說(shuō)?)。這就是龐特里亞京的極大值原理。當(dāng)然啦,龐特里亞京是用精巧、深?yuàn)W的數(shù)學(xué)語(yǔ)言表述的,要不然他在數(shù)學(xué)界里也別混了。不過(guò)呢,意思就是這么一個(gè)意思。 龐特里亞京極大值原理的一個(gè)典型應(yīng)用就是所謂最速控制問(wèn)題,或者叫時(shí)間最優(yōu)控制(time optimal control)問(wèn)題,簡(jiǎn)單地說(shuō),就是給定最大馬力和最大剎車(chē)功率,怎么開(kāi)汽車(chē)能夠最快地從A點(diǎn)開(kāi)到B點(diǎn)(什么轉(zhuǎn)彎、上下坡、紅綠燈,這種瑣碎的事情也要拿來(lái)煩人?一點(diǎn)品味都沒(méi)有。D憧梢杂脙(yōu)美但繁瑣的數(shù)學(xué)求證,或者用膝蓋想想,最快的方法,就是一上來(lái)就加足馬力,全速前進(jìn);然后在不到終點(diǎn)的某一地點(diǎn),全力剎車(chē),使慢下來(lái)的汽車(chē)在到達(dá)終點(diǎn)時(shí)正好停下來(lái)。這時(shí)最快的方法,不可能比這更快了。稍微發(fā)揮一點(diǎn)想象力,可以想象“梆”的一下,控制量的油門(mén)板一腳到底,再是“梆”的一下,剎車(chē)板一腳到底,控制任務(wù)就完成了。所以最速控制也叫“梆-梆”控制(bang bang control)。 最速控制在理論上是一個(gè)很有趣的問(wèn)題,解法也是簡(jiǎn)潔、優(yōu)美,但在實(shí)際中直接使用的例子實(shí)在是鳳毛麟角,一般都是開(kāi)始時(shí)用“梆-梆”,或者勻速上升到最大控制,以緩和控制的沖擊力;到終點(diǎn)附近時(shí),改用PID作閉環(huán)微調(diào),以克服“梆-梆”的系統(tǒng)模型誤差十分敏感的缺點(diǎn)。電梯控制就是這樣一個(gè)例子。從一樓到四樓,電動(dòng)機(jī)很快勻速上升到最高轉(zhuǎn)速,一過(guò)三樓,電動(dòng)機(jī)就勻速下降到較低的轉(zhuǎn)速,然后根據(jù)電梯實(shí)際位置和樓面之差,有控制地減速,直至停下來(lái)。要是控制參數(shù)調(diào)得好的話,一下子就穩(wěn)穩(wěn)當(dāng)當(dāng)?shù)赝O聛?lái);要是調(diào)的不夠好,會(huì)在停下來(lái)之前上下晃蕩幾下。 小時(shí)候喜歡看雜書(shū),沒(méi)什么東西看,不正在*****嘛?不過(guò)看進(jìn)去了兩個(gè)“化”:機(jī)械化和自動(dòng)化。打小就沒(méi)有弄明白,這機(jī)械化和自動(dòng)化到底有什么差別,機(jī)器不是自己就會(huì)動(dòng)的嗎?長(zhǎng)大了,總算稍微明白了一點(diǎn),這機(jī)械化是力氣活,用機(jī)器代替人的體力勞動(dòng),但還是要人管著的,不然機(jī)器是不知道該干什么不該干什么的;這自動(dòng)化嘛,就是代替人的重復(fù)腦力勞動(dòng),是用來(lái)管機(jī)器的。也就是說(shuō),自動(dòng)化是管著機(jī)械化的,或者說(shuō)學(xué)自動(dòng)化的是管著學(xué)機(jī)械的……啊,不對(duì),不對(duì),哪是哪。 有人考證古代就有自動(dòng)化的實(shí)例,但現(xiàn)代意義上的自動(dòng)控制開(kāi)始于瓦特的蒸汽機(jī)。據(jù)說(shuō)紐考門(mén)比瓦特先發(fā)明蒸汽機(jī),但是蒸汽機(jī)的轉(zhuǎn)速控制問(wèn)題沒(méi)有解決,弄不好轉(zhuǎn)速飛升,機(jī)器損壞不說(shuō),還可能說(shuō)大事故。瓦特在蒸汽機(jī)的轉(zhuǎn)軸上安了一個(gè)小棍,棍的一端和放汽閥連著,放氣閥松開(kāi)來(lái)就關(guān)閉,轉(zhuǎn)速增加;按下去閥就打開(kāi),轉(zhuǎn)速降低;棍的另一端是一個(gè)小重錘,棍中間某個(gè)地方通過(guò)支點(diǎn)和轉(zhuǎn)軸連接。轉(zhuǎn)軸轉(zhuǎn)起來(lái)的時(shí)候,小棍由于離心力的緣故揮起來(lái)。轉(zhuǎn)速太高了,小棍揮會(huì)揮得很高,放汽閥就被按下去打開(kāi),轉(zhuǎn)速下降;轉(zhuǎn)速太低了,小棍揮不起來(lái),放汽閥就被松開(kāi)來(lái)關(guān)閉,轉(zhuǎn)速回升。這樣,蒸汽機(jī)可以自動(dòng)保持穩(wěn)定的轉(zhuǎn)速,即保證安全,又方便使用。也就是因?yàn)檫@個(gè)小小的轉(zhuǎn)速調(diào)節(jié)器,瓦特的名字和工業(yè)革命連在一起,而紐考門(mén)的名字就要到歷史書(shū)里去找了。 類(lèi)似的例子在機(jī)械系統(tǒng)里很多,家居必備的抽水馬桶是另一個(gè)例子。放水沖刷后,水箱里水位降低,浮子隨水面下降,進(jìn)水閥打開(kāi)。隨著水位的升高,進(jìn)水閥逐漸關(guān)閉,直到水位達(dá)到規(guī)定高度,進(jìn)水閥完全關(guān)閉,水箱的水正好準(zhǔn)備下一次使用。這是一個(gè)非常簡(jiǎn)單但非常巧妙的水位控制系統(tǒng),是一個(gè)經(jīng)典的設(shè)計(jì),但不容易用經(jīng)典的控制理論來(lái)分析,不過(guò)這是題外話了。 這些機(jī)械系統(tǒng)設(shè)計(jì)巧妙,工作可靠,實(shí)在是巧奪天工。但是在實(shí)用中,如果每次都需要這樣的創(chuàng)造性思維,那太累,最好有一個(gè)系統(tǒng)的方法,可以解決“所有”的自動(dòng)控制問(wèn)題,這就是控制理論的由來(lái)。 從小大人就教我們,走路要看路。為什么呢?要是不看著路,走路走歪了也不知道,結(jié)果就是東撞西撞的。要是看著路呢?走歪了,馬上就看到,趕緊調(diào)整腳步,走回到正道上來(lái)。這里有自動(dòng)控制里的第一個(gè)重要概念:反饋(feedback)。 反饋是一個(gè)過(guò)程: 1、設(shè)定目標(biāo),對(duì)小朋友走路的例子來(lái)說(shuō),就是前進(jìn)的路線。 2、測(cè)量狀態(tài),小朋友的眼睛看著路,就是在測(cè)量自己的前進(jìn)方向。 3、將測(cè)量到的狀態(tài)和設(shè)定的目標(biāo)比較,把眼睛看到的前進(jìn)方向和心里想的前進(jìn)方向作比較,判斷前進(jìn)方向是否正確;如果不正確,相差有多少。 4、調(diào)整行動(dòng),在心里根據(jù)實(shí)際前進(jìn)方向和設(shè)定目標(biāo)的偏差,決定調(diào)整的量。 5、實(shí)際執(zhí)行,也就是實(shí)際挪動(dòng)腳步,重回正確的前進(jìn)方向。 在整個(gè)走路的過(guò)程中,這個(gè)反饋過(guò)程周而復(fù)始,不斷進(jìn)行,這樣,小朋友就不會(huì)走得東倒西歪了。但是,這里有一個(gè)問(wèn)題:如果所有的事情都是在瞬時(shí)里同時(shí)發(fā)生的,那這個(gè)反饋過(guò)程就無(wú)法工作。要使反饋工作,一定要有一定的反應(yīng)時(shí)間。還好,世上之事,都有一個(gè)過(guò)程,這就為反饋贏得了所需要的時(shí)間。 小時(shí)候,媽媽在鍋里蒸東西,蒸好了,從鍋里拿出來(lái)總是一個(gè)麻煩,需要抹布什么的墊著,免得燙手。 但是碗和鍋的間隙不大,連手帶抹布伸進(jìn)去頗麻煩,我常常不知天高地厚,自告奮勇地徒手把熱的碗拿出來(lái)。只要?jiǎng)幼骺,手起碗落,可以不燙手。當(dāng)然嘍,要是捧著熱碗再東晃晃,西蕩蕩,那手上感覺(jué)的溫度最終會(huì)和熱碗一樣,肯定要把手心、手指燙熟不可的。在從接觸碗到皮膚溫度和碗表面一樣,這里面有一個(gè)逐漸升溫的過(guò)程,這就是動(dòng)態(tài)過(guò)程(dynamic process)。這里面有兩個(gè)東西要注意:一個(gè)是升溫的過(guò)程有多快,另一個(gè)是最終的溫度可以升到多少。要是知道了這兩個(gè)參數(shù),同時(shí)知道自己的手可以耐受多少溫度,理論上可以計(jì)算出熱的碗在手里可以停留多少時(shí)間而不至于燙手。 反饋過(guò)程也叫閉環(huán)(closed loop)過(guò)程。既然有閉環(huán),那就有開(kāi)環(huán)(open loop)。開(kāi)環(huán)就是沒(méi)有反饋的控制過(guò)程,設(shè)定一個(gè)控制作用,然后就執(zhí)行,不根據(jù)實(shí)際測(cè)量值進(jìn)行校正。開(kāi)環(huán)控制只有對(duì)簡(jiǎn)單的過(guò)程有效,比如洗衣機(jī)和烘干機(jī)按定時(shí)控制,到底衣服洗得怎么樣,烘得干不干,完全取決于開(kāi)始時(shí)的設(shè)定。對(duì)于洗衣機(jī)、烘干機(jī)這樣的問(wèn)題,多設(shè)一點(diǎn)時(shí)間就是了,稍微浪費(fèi)一點(diǎn),但可以保證效果。對(duì)于空調(diào)機(jī),就不能不顧房間溫度,簡(jiǎn)單地設(shè)一個(gè)開(kāi)10分鐘、關(guān)5分鐘的循環(huán),而應(yīng)該根據(jù)實(shí)際溫度作閉環(huán)控制,否則房間里的溫度天知道到底會(huì)達(dá)到多少。記得80年代時(shí),報(bào)告文學(xué)很流行。徐遲寫(xiě)了一個(gè)《哥德巴赫猜想》,于是全國(guó)人民都爭(zhēng)當(dāng)科學(xué)家。小說(shuō)家也爭(zhēng)著寫(xiě)科學(xué)家,成就太小不行,所以來(lái)一個(gè)語(yǔ)不驚人死不休,某大家寫(xiě)了一個(gè)《無(wú)反饋快速跟蹤》。那時(shí)正在大學(xué)啃磚頭,對(duì)這個(gè)科學(xué)新發(fā)現(xiàn)大感興趣,從頭看到尾,也沒(méi)有看明白到底是怎么無(wú)反饋快速跟蹤的,F(xiàn)在想想,小說(shuō)就是小說(shuō),不過(guò)這無(wú)良作家也太扯,無(wú)反饋還要跟蹤,不看著目標(biāo),不看著自己跑哪了,這跟的什么蹤啊,這和永動(dòng)機(jī)差不多了,怎么不挑一個(gè)好一點(diǎn)的題目,冷聚變什么的,至少在理論上還是可能的。題外話了。 在數(shù)學(xué)上,動(dòng)態(tài)過(guò)程用微分方程描述,反饋過(guò)程就是在描述動(dòng)態(tài)過(guò)程的微分方程的輸入項(xiàng)和輸出項(xiàng)之間建立一個(gè)關(guān)聯(lián),這樣改變了微分方程本來(lái)的性質(zhì)。自動(dòng)控制就是在這個(gè)反饋和動(dòng)態(tài)過(guò)程里做文章的。 房間內(nèi)的空調(diào)是一個(gè)簡(jiǎn)單的控制問(wèn)題。不過(guò)這只是指單一房間,整個(gè)高層大樓所有房間的中央空調(diào)問(wèn)題實(shí)際上是一個(gè)相當(dāng)復(fù)雜的問(wèn)題,不在這里討論的范圍。夏天了,室內(nèi)溫度設(shè)在28度,實(shí)際溫度高于28度了,空調(diào)機(jī)啟動(dòng)致冷,把房間的溫度降下來(lái);實(shí)際溫度低于28度了,空調(diào)機(jī)關(guān)閉,讓房間溫度受環(huán)境氣溫自然升上去。通過(guò)這樣簡(jiǎn)單的開(kāi)關(guān)控制,室內(nèi)溫度應(yīng)該就控制在28度。不過(guò)這里有一個(gè)問(wèn)題,如果溫度高于28度一點(diǎn)點(diǎn),空調(diào)機(jī)就啟動(dòng);低于28度一點(diǎn)點(diǎn),空調(diào)機(jī)就關(guān)閉;那如果溫度傳感器和空調(diào)機(jī)的開(kāi)關(guān)足夠靈敏的話,空調(diào)機(jī)的開(kāi)關(guān)頻率可以無(wú)窮高,空調(diào)機(jī)不斷地開(kāi)開(kāi)關(guān)關(guān),要發(fā)神經(jīng)病了,這對(duì)機(jī)器不好,在實(shí)際上也沒(méi)有必要。解決的辦法是設(shè)立一個(gè)“死區(qū)”(dead band),溫度高于29度時(shí)開(kāi)機(jī),低于27度時(shí)關(guān)機(jī)。注意不要搞反了,否則控制單元要發(fā)神經(jīng)了。有了一個(gè)死區(qū)后,室內(nèi)溫度不再可能?chē)?yán)格控制在28度,而是在27到29度之間“晃蕩”。如果環(huán)境溫度一定,空調(diào)機(jī)的制冷量一定,室內(nèi)的升溫/降溫動(dòng)態(tài)模型已知,可以計(jì)算溫度“晃蕩”的周期。不過(guò)既然是講故事,我們就不去費(fèi)那個(gè)事了。 這種開(kāi)關(guān)控制看起來(lái)“土”,其實(shí)好處不少。對(duì)于大部分過(guò)程來(lái)說(shuō),開(kāi)關(guān)控制的精度不高但可以保證穩(wěn)定,或者說(shuō)系統(tǒng)輸出是“有界”的,也就是說(shuō)實(shí)際測(cè)量值一定會(huì)被限制在一定的范圍,而不可能無(wú)限制地發(fā)散出去。這種穩(wěn)定性和一般控制理論里強(qiáng)調(diào)的所謂漸進(jìn)穩(wěn)定性不同,而是所謂BIBO穩(wěn)定性,前者要求輸出最終趨向設(shè)定值,后者只要求在有界的輸入作用下輸出是有界的,BIBO指bounded input bounded output。 對(duì)于簡(jiǎn)單的精度要求不高的過(guò)程,這種開(kāi)關(guān)控制(或者稱(chēng)繼電器控制,relay control,因?yàn)樽钤邕@種控制方式是用繼電器或電磁開(kāi)關(guān)來(lái)實(shí)現(xiàn)的)就足夠了。但是很多時(shí)候,這種“毛估估”的控制滿足不了要求。汽車(chē)在高速公路上行駛,速度設(shè)在定速巡航控制,速度飄下去幾公里,心里覺(jué)得吃虧了,但要是飄上去幾公里,被警察抓下來(lái)吃一個(gè)罰單,這算誰(shuí)的? 開(kāi)關(guān)控制是不連續(xù)控制,控制作用一加就是“全劑量”的,一減也是“全劑量”的,沒(méi)有中間的過(guò)渡。如果空調(diào)機(jī)的制冷量有三個(gè)設(shè)定,:小、中、大,根據(jù)室溫和設(shè)定的差別來(lái)決定到底是用小還是中還是大,那室溫的控制精度就可以大大提高,換句話說(shuō),溫度的“晃蕩”幅度將大幅度減小。那么,如果空調(diào)機(jī)有更多的設(shè)定,從小小到小中到……到大大,那控制精度是不是更高呢?是的。既然如此,何不用無(wú)級(jí)可調(diào)的空調(diào)機(jī)呢?那豈不可以更精確地控制室溫了嗎?是的。無(wú)級(jí)可調(diào)或連續(xù)可調(diào)的空調(diào)機(jī)可以精確控制溫度,但開(kāi)關(guān)控制不能再用了。家用空調(diào)機(jī)中,連續(xù)可調(diào)的不占多數(shù),但沖熱水淋浴是一個(gè)典型的連續(xù)控制問(wèn)題,因?yàn)樗堫^可以連續(xù)調(diào)節(jié)水的流量。沖淋浴時(shí),假定冷水龍頭不變,只調(diào)節(jié)熱水。那溫度高了,熱水關(guān)小一點(diǎn);溫度低了,熱水開(kāi)打一點(diǎn)。換句話說(shuō),控制作用應(yīng)該向減少控制偏差的方向變化,也就是所謂負(fù)負(fù)反饋。控制方向?qū)α,還有一個(gè)控制量的問(wèn)題。溫度高了1度,熱水該關(guān)小多少呢? 經(jīng)驗(yàn)告訴我們,根據(jù)具體的龍頭和水壓,溫度高1度,熱水需要關(guān)小一定的量,比如說(shuō),關(guān)小一格。換句話說(shuō),控制量和控制偏差成比例關(guān)系,這就是經(jīng)典的比例控制規(guī)律:控制量=比例控制增益*控制偏差,偏差越大,控制量越大?刂破罹褪菍(shí)際測(cè)量值和設(shè)定值或目標(biāo)值之差。在比例控制規(guī)律下,偏差反向,控制量也反向。也就是說(shuō),如果淋浴水溫要求為40度,實(shí)際水溫高于40度時(shí),熱水龍頭向關(guān)閉的方向變化;實(shí)際水溫低于40度時(shí),熱水龍頭向開(kāi)啟的方向變化。但是比例控制規(guī)律并不能保證水溫能夠精確達(dá)到40度。在實(shí)際生活中,人們這時(shí)對(duì)熱水龍頭作微調(diào),只要水溫還不合適,就一點(diǎn)一點(diǎn)地調(diào)節(jié),直到水溫合適為止。這種只要控制偏差不消失就漸進(jìn)微調(diào)的控制規(guī)律,在控制里叫積分控制規(guī)律,因?yàn)榭刂屏亢涂刂破钤跁r(shí)間上的累積成正比,其比例因子就稱(chēng)為積分控制增益。工業(yè)上常用積分控制增益的倒數(shù),稱(chēng)其為積分時(shí)間常數(shù),其物理意義是偏差恒定時(shí),控制量加倍所需的時(shí)間。這里要注意的是,控制偏差有正有負(fù),全看實(shí)際測(cè)量值是大于還是小于設(shè)定值,所以只要控制系統(tǒng)是穩(wěn)定的,也就是實(shí)際測(cè)量值最終會(huì)穩(wěn)定在設(shè)定值上,控制偏差的累積不會(huì)是無(wú)窮大的。這里再啰嗦一遍,積分控制的基本作用是消除控制偏差的余差(也叫殘差)。 比例和積分控制規(guī)律可以應(yīng)付很大一類(lèi)控制問(wèn)題,但不是沒(méi)有改進(jìn)余地的。如果水管水溫快速變化,人們會(huì)根據(jù)水溫的變化調(diào)節(jié)熱水龍頭:水溫升高,熱水龍頭向關(guān)閉方向變化,升溫越快,開(kāi)啟越多;水溫降低,熱水龍頭向開(kāi)啟方向變化,降溫越快,關(guān)閉越多。這就是所謂的微分控制規(guī)律,因?yàn)榭刂屏亢蛯?shí)際測(cè)量值的變化率成正比,其比例因子就稱(chēng)為比例控制增益,工業(yè)上也稱(chēng)微分時(shí)間常數(shù)。微分時(shí)間常數(shù)沒(méi)有太特定的物理意義,只是積分叫時(shí)間常數(shù),微分也跟著叫了。微分控制的重點(diǎn)不在實(shí)際測(cè)量值的具體數(shù)值,而在其變化方向和變化速度。微分控制在理論上和實(shí)用中有很多優(yōu)越性,但局限也是明顯的。 如果測(cè)量信號(hào)不是很“干凈”,時(shí)不時(shí)有那么一點(diǎn)不大不小的“毛刺”或擾動(dòng),微分控制就會(huì)被這些風(fēng)吹草動(dòng)搞得方寸大亂,產(chǎn)生很多不必要甚至錯(cuò)誤的控制信號(hào)。所以工業(yè)上對(duì)微分控制的使用是很謹(jǐn)慎的。 比例-積分-微分控制規(guī)律是工業(yè)上最常用的控制規(guī)律。人們一般根據(jù)比例-積分-微分的英文縮寫(xiě),將其簡(jiǎn)稱(chēng)為PID控制。即使在更為先進(jìn)的控制規(guī)律廣泛應(yīng)用的今天,各種形式的PID控制仍然在所有控制回路中占85%以上。 在PID控制中,積分控制的特點(diǎn)是:只要還有余差(即殘余的控制偏差)存在,積分控制就按部就班地逐漸增加控制作用,直到余差消失。所以積分的效果比較緩慢,除特殊情況外,作為基本控制作用,緩不救急。微分控制的特點(diǎn)是:盡管實(shí)際測(cè)量值還比設(shè)定值低,但其快速上揚(yáng)的沖勢(shì)需要及早加以抑制,否則,等到實(shí)際值超過(guò)設(shè)定值再作反應(yīng)就晚了,這就是微分控制施展身手的地方了。作為基本控制使用,微分控制只看趨勢(shì),不看具體數(shù)值所在,所以最理想的情況也就是把實(shí)際值穩(wěn)定下來(lái),但穩(wěn)定在什么地方就要看你的運(yùn)氣了,所以微分控制也不能作為基本控制作用。比例控制沒(méi)有這些問(wèn)題,比例控制的反應(yīng)快,穩(wěn)定性好,是最基本的控制作用,是“皮”,積分、微分控制是對(duì)比例控制起增強(qiáng)作用的,極少單獨(dú)使用,所以是“毛”。在實(shí)際使用中比例和積分一般一起使用,比例承擔(dān)主要的控制作用,積分幫助消除余差。微分只有在被控對(duì)象反應(yīng)遲緩,需要在開(kāi)始有所反應(yīng)時(shí),及早補(bǔ)償,才予以采用。只用比例和微分的情況很少見(jiàn)。 |