|
把剩下的兩篇給你們貼出來(lái)吧。
# y. e# z9 q* T0 k7 }9 i8 L1 x: H6 |7 G
O+ \" o$ U4 R都看過(guò)舞龍吧?一個(gè)張牙舞爪的龍頭氣咻咻地追逐著一個(gè)大繡球,龍身子扭來(lái)扭去,還時(shí)不時(shí)跳躍那么一兩下。中國(guó)春節(jié)沒(méi)有舞龍,就和洋人的圣誕節(jié)沒(méi)有圣誕老人一樣不可思議。想象一下,如果這是一條眼睛看不見的盲龍,只能通過(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ì)于很多常見的應(yīng)用,這就足夠了。, w2 e- e8 L, i# l& \% f3 n7 i$ A
: s1 |6 G; j" L: l; u
! r$ c% j% M' ~+ i; |2 b: b
7 E% f1 i' O' j但是卡爾曼不滿足于“足夠”。龍頭當(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)潔、明了。, H) O- e- e- C: w
7 M, k8 M. u4 Y* }2 `
) \2 H1 A9 p6 D8 l( J5 k7 S' K) k; O" u
卡爾曼是一個(gè)數(shù)學(xué)家。數(shù)學(xué)家的想法就是和工程師不一樣。工程師腦子里轉(zhuǎn)的第一個(gè)念頭就是“我怎么控制這勞什子?增益多少?控制器結(jié)構(gòu)是什么樣的?”數(shù)學(xué)家想的卻是什么解的存在性、唯一性之類虛頭八腦的東西。不過(guò)呢,這么說(shuō)數(shù)學(xué)家也不公平。好多時(shí)候,工程師憑想象和“實(shí)干”,辛苦了半天,發(fā)現(xiàn)得出的結(jié)果完全不合情理,這時(shí)才想起那些“性”(不要想歪了啊,嘿嘿),原來(lái)那些存在性、唯一性什么的還是有用的。
7 [) x& A/ p- y- j2 n, F, Z( i7 d7 I3 \# M' Q9 H
. x( Q3 d+ ^, |! v1 p0 R o# g! i& o9 j7 v% Y
還是回過(guò)來(lái)看這條龍?,F(xiàn)在,龍頭、龍尾巴、龍身體都要看,不光要看,還要直接操控龍頭到龍尾的每一個(gè)人。但是,這龍不是想看就看得的,不是想舞就舞得的。說(shuō)到“看”,直接能夠測(cè)量/觀測(cè)的狀態(tài)在實(shí)際上是不多的,所謂看,實(shí)際上是估算。要是知道龍身體有多少節(jié)(就是有多少個(gè)人在下面撐著啦),龍身體的彈性/韌性有多少,那么捏住龍尾巴抖一抖,再看看龍頭在哪里,是可以估算出龍身體每一節(jié)的位置的,這叫狀態(tài)觀測(cè)。那么,要是這龍中間有幾個(gè)童子開小差,手不好好拉住,那再捏住龍尾巴亂抖也沒(méi)用,這時(shí)系統(tǒng)中的部分狀態(tài)就是不可觀測(cè)的。如果你一聲令下,部分童子充耳不聞,那這些狀態(tài)就是不可控制的??柭鼜臄?shù)學(xué)上推導(dǎo)出不可控和不可觀的條件,在根本上解決了什么時(shí)候才不是瞎耽誤工夫的問(wèn)題。這是控制理論的一個(gè)重要里程碑。# ]# I2 ]" y" p! ]% q; B7 F
5 O+ e: }( `" c: h
; d& Y7 Q0 b8 a1 f2 ^4 a+ y. h
5 E: Y8 g6 Y y; I) ~再來(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)橫著看不順眼的話,可以豎著看,興趣來(lái)了,還可以斜著看、倒著看、擰著看,因?yàn)椴还茉趺纯?,系統(tǒng)的本質(zhì)是一樣的。但是不同的角度有不同的用處,有的角度設(shè)計(jì)控制器容易一點(diǎn),有的角度分析系統(tǒng)的穩(wěn)定性容易一點(diǎn),諸如此類,在控制理論里就叫這個(gè)那個(gè)“標(biāo)準(zhǔn)型”。這是控制理論的又一個(gè)里程碑。: S4 J# S; e7 \; u$ X5 Q
; g3 Z+ K4 L2 x1 Q8 x5 S& F% z, ]( a
5 c9 u. K1 G+ g! g7 @6 S$ f5 ~& n& \' Y0 B- ]0 N( j
觀測(cè)狀態(tài)的目的最終還是控制。只用輸出的反饋叫輸出反饋,經(jīng)典控制理論里的反饋都可以歸到輸出反饋里,但是用狀態(tài)進(jìn)行反饋的就叫狀態(tài)反饋了。輸出反饋對(duì)常見系統(tǒng)已經(jīng)很有效了,但狀態(tài)反饋要猛得多。你想象,一個(gè)系統(tǒng)的所有狀態(tài)都被牢牢地瞄住,所有狀態(tài)都乖乖地聽從調(diào)遣,那是何等的威風(fēng)?臺(tái)商大奶們的最高境界呀。! k" q+ ]5 B# V% p* ^" R! e
9 v- b' ], u9 f8 i( k' ` ) r- ]$ `5 |; Q* a7 H0 W! L3 q
# S" }" K; f5 g盡管學(xué)控制的人都要學(xué)現(xiàn)代控制理論,但大多數(shù)人記得卡爾曼還是因?yàn)槟莻€(gè)卡爾曼濾波器(KalmanFilter)。說(shuō)它是濾波器,其實(shí)是一個(gè)狀態(tài)觀測(cè)器(stateobserver),用來(lái)從輸入和輸出“重構(gòu)”系統(tǒng)的狀態(tài)。這重構(gòu)聽著玄妙,其實(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)題。卡爾曼濾波器最精妙之處,在于卡爾曼推導(dǎo)出一個(gè)系統(tǒng)的方法,可以考慮進(jìn)測(cè)量噪聲和系統(tǒng)本身的隨機(jī)噪聲,根據(jù)信噪比來(lái)決定上述比例因子的大小。這個(gè)構(gòu)型其實(shí)不是卡爾曼的獨(dú)創(chuàng),隆伯格(Luenburg)也得出了類似的結(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)的卡爾曼濾波器吧??柭鼮V波器最早的應(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),也算是民用版的“傳感器融合”(sensorfusion)吧。4 T) I+ D9 @: s- G& _
8 i3 ]# D- q+ c( u
8 r: f! m& }) i0 W, y; U$ w9 x
8 Q1 m: H4 T$ h; N. ?/ G除了卡爾曼濾波器外,卡爾曼的理論在實(shí)際中用得不多,但是卡爾曼的理論在理論上建立了一個(gè)出色的框架,對(duì)理解和研究控制問(wèn)題有極大的作用。7 O4 f- H% n7 u- m7 w4 t3 g
! o. R% \1 v4 F( S' C. z 3 ]% b& p' N+ c6 l, N8 y M5 R+ `" t
( Z! ^9 x3 P2 |' B順便說(shuō)一句,卡爾曼的理論基本局限于線形系統(tǒng),也就是說(shuō),十塊大洋買一袋米,二十塊大洋就買兩袋米,都是成比例的。實(shí)際系統(tǒng)中有很多非線性的,兩千塊大洋還能買兩百袋米,但兩千萬(wàn)大洋就要看米倉(cāng)有沒(méi)有貨了,不是錢越多,買的米越多,有一個(gè)“飽和”的問(wèn)題。另一方面,要是米倉(cāng)有足夠的貨,兩千萬(wàn)大洋的集團(tuán)購(gòu)買力強(qiáng),或許就可以買三百萬(wàn)袋米了。這些只是非線性的簡(jiǎn)單例子。所有偏離線性問(wèn)題的都是非線性,所以非線性的問(wèn)題研究起來(lái)要復(fù)雜得多。實(shí)際系統(tǒng)還有其他特性,有的是所謂時(shí)變系統(tǒng),像宇宙火箭,其質(zhì)量隨時(shí)間和燃料的消耗而變,系統(tǒng)特性當(dāng)然也就變了。很多問(wèn)題都是多變量的,像汽車轉(zhuǎn)彎,不光方向盤是一個(gè)輸入,油門和剎車也是輸入變量。狀態(tài)空間的理論在數(shù)學(xué)表述上為線性、非線性、單變量、多變量、時(shí)變、時(shí)不變系統(tǒng)提供了一個(gè)統(tǒng)一的框架,這是卡爾曼最大的貢獻(xiàn)。
1 B5 Y. R" E1 S- d, N& G( I1 X4 Q. s9 d- g+ g$ A* ?" { ~
! Q, q0 q: q: s3 s+ M# E" g
$ g. V# J, Q1 M- e6 t. R最優(yōu)控制
' a: A5 ^3 y8 G9 i
( o0 O( y/ t( s. z. S8 Z ( z. D+ J# _; y/ i) n6 h+ o$ {$ s
$ [! d; L. t: ^5 L+ L前面說(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í)尚。
6 p+ i( l1 N9 k7 S
0 ^( f F$ x, x% v 2 F& D: h9 E5 `
! g7 p1 i. |( k* m# E" p
對(duì)于一根給定的曲線,求一階導(dǎo)數(shù)為零的點(diǎn),就是這個(gè)曲線的極點(diǎn);在對(duì)這一極點(diǎn)求二階導(dǎo)數(shù),大于零就是最小點(diǎn),小于零就是最大點(diǎn)。這是牛頓老爺子就整明白的東東,現(xiàn)在高中或大一人人都學(xué)過(guò)的東西。但是動(dòng)態(tài)系統(tǒng)是一個(gè)微分方程,對(duì)微分方程求一階導(dǎo)數(shù)為零,就導(dǎo)致變分法和所謂歐拉方程。但這個(gè)東西用起來(lái)不方便。實(shí)際的最優(yōu)控制不大直接使用變分。
3 w8 S o3 ^3 {& O# O% G6 S/ m9 m% b% s
, g# z: Q3 D( m9 B$ f
@# D$ ]% Y( E& w+ O俄羅斯是一個(gè)奇怪的地方。老毛子們要么蔫蔫的,要么瘋狂的。俄羅斯的悲劇電影看得你也郁悶得想去自殺。但是老毛子要是搭錯(cuò)筋整出一個(gè)喜劇呢?那你要么跟著瘋狂,要么被逼瘋狂。就是這么一個(gè)地方,除了無(wú)數(shù)托爾斯泰、柴可夫斯基、普希金、屠格涅夫等文藝巨璧外,俄羅斯也盛產(chǎn)數(shù)學(xué)家,其中兩個(gè)是龐特里亞京和學(xué)控制的人老惦記著的李亞普諾夫。
6 S$ ?8 J% n+ z, ~1 ?+ I6 s7 K
" h3 }; M( G0 Z" k9 W+ J
' p# F+ v9 b# c/ ^( z! @9 o
3 n6 w2 x: E4 U6 l龐特里亞京的極大值原理聽起來(lái)嚇人,其實(shí)說(shuō)白了很簡(jiǎn)單??匆娔巧絾??山頂就是最高點(diǎn)(切,這還用說(shuō)?);看見那山坡嗎?要是在山腰劃一道線,從山下往上爬,盡管山坡還在繼續(xù)往上延伸,但是到線為止,不得逾越,那山腰上那道三八線就是最高點(diǎn)(切,這還用說(shuō)?)。這就是龐特里亞京的極大值原理。當(dāng)然啦,龐特里亞京是用精巧、深?yuàn)W的數(shù)學(xué)語(yǔ)言表述的,要不然他在數(shù)學(xué)界里也別混了。不過(guò)呢,意思就是這么一個(gè)意思。
0 Y6 ~; i9 F0 C' H5 A" j+ V
# ^, B( P3 W4 F ! C% w) B( h/ \. I$ ^
& _" R. a# f9 U% e _/ A6 A* b
龐特里亞京極大值原理的一個(gè)典型應(yīng)用就是所謂最速控制問(wèn)題,或者叫時(shí)間最優(yōu)控制(timeoptimalcontrol)問(wèn)題,簡(jiǎn)單地說(shuō),就是給定最大馬力和最大剎車功率,問(wèn)題是怎么開汽車能夠最快地從A點(diǎn)開到B點(diǎn)(什么轉(zhuǎn)彎、上下坡、紅綠燈,這種瑣碎的事情也要拿來(lái)煩人?一點(diǎn)品味都沒(méi)有?。?。你可以用優(yōu)美但繁瑣的數(shù)學(xué)求證,或者用膝蓋想想:最快的方法,就是一上來(lái)就加足馬力,全速前進(jìn);然后在不到終點(diǎn)的某一地點(diǎn),全力剎車,使慢下來(lái)的汽車在到達(dá)終點(diǎn)時(shí)正好停下來(lái)。這是最快的方法,不可能比這更快了。稍微發(fā)揮一點(diǎn)想象力,可以想象“梆”的一下,控制量的油門板一腳到底,再是“梆”的一下,剎車板一腳到底,控制任務(wù)就完成了。所以最速控制也叫“梆-梆”控制(bangbangcontrol)。
; U8 X9 B. Z0 y1 `+ S5 r7 q w7 a0 A/ @( J4 h" [$ u
; F7 ^( G3 B" P7 P) p: A% T
( j) s1 u* ~4 n# w! Z6 a) V" d最速控制在理論上是一個(gè)很有趣的問(wèn)題,解法也是簡(jiǎn)潔、優(yōu)美,但在實(shí)際中直接使用的例子實(shí)在是鳳毛麟角,一般都是開始時(shí)用“梆-梆”,或者勻速上升到最大控制,以緩和控制的沖擊力;到終點(diǎn)附近時(shí),改用PID作閉環(huán)微調(diào),以克服“梆-梆”對(duì)系統(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)之前上下晃蕩幾下。
b, U# x6 F& _% e+ l% i) K6 ~# O+ T7 @4 r3 s, }
# G( N! N! v3 t2 I0 k
' s" m: {2 q6 ~6 o* d, |5 f; R$ `6 ?8 m9 S5 h6 L
最速控制問(wèn)題是較早的最優(yōu)控制問(wèn)題,它提供了一個(gè)很有趣的思路,但這顆樹上開花結(jié)果不多。相比之下,最優(yōu)控制的另外一支枝繁葉茂,有生氣得多了。這一支就是線型二次型最優(yōu)控制(linearquadraticcontrol)。數(shù)學(xué)是有趣的,但數(shù)學(xué)也是盲目的。在數(shù)學(xué)上,最優(yōu)化問(wèn)題就是一個(gè)在曲面上尋找凸點(diǎn)的問(wèn)題,只要你能把一個(gè)物理問(wèn)題表述成一個(gè)曲面,數(shù)學(xué)是不理會(huì)姓無(wú)姓資的。既然如此,控制偏差的平方在時(shí)間上的累積就是很自然的選擇,二次型就是平方在線性代數(shù)里的說(shuō)法。線型系統(tǒng)的偏差平方有很好的性質(zhì),這山峰是一個(gè)饅頭山,沒(méi)有懸崖峭壁,沒(méi)有溝坎,容易爬;一山只有一峰,不用擔(dān)心找錯(cuò)地方。不過(guò)這山峰不能只包含控制偏差,還要包含控制量,原因有三個(gè):
. K4 h5 Y: w% W7 V* l; S! z% k6 l+ v
6 A3 `; q+ y' I S' ?/ M( c
% b( O0 a6 O; p+ H7 W& x6 s7 \+ z6 ?( z' p- a9 g7 F
1、如果不包括控制量,那最優(yōu)控制的解是沒(méi)有意義的,因?yàn)闊o(wú)窮大的控制量可以使累計(jì)平方偏差為最小,但無(wú)窮大的控制量是不現(xiàn)實(shí)的。$ k0 Y2 }2 x2 I# ~5 s
8 ~, B m) P/ a& @5 @/ } 4 j5 G/ n: a/ ]. f$ Z' j
! K, i3 g4 I9 O/ f' {2、控制量的大小通常和能量、物料的消耗連在一起,實(shí)際控制問(wèn)題一般是“在最小能量、物料消耗小達(dá)到最高的控制精度”,所以在“山峰”中同時(shí)包含控制偏差和控制量是很自然的。
2 E. U# H, |& E, n% A! D" \+ t5 r) k! U4 F5 _& O' y4 r- J
% k) L" p, l, K. r3 ]8 p
) c0 r1 v9 I- }! B% p. D3、系統(tǒng)模型總是有誤差的,誤差“總是”在高頻、大幅度控制作用下最突出,所以為了減低系統(tǒng)對(duì)模型誤差的敏感性,也有必要限制控制量的大小。
; B# f' j8 z& o9 E& v& j2 K# ?& j4 [8 E( e% F- M6 D. E2 |( h/ y
- y7 s8 w, J# Q2 ]3 I9 e
4 Q/ K( m; G" `$ k! p1 ?* [: b( x
所以線性二次型最優(yōu)控制的“目標(biāo)函數(shù)”(也就是定義山峰形狀的數(shù)學(xué)表述)是一個(gè)控制偏差和控制量各自平方的加權(quán)和的積分。積分當(dāng)然就是“在時(shí)間上的累積”了,加權(quán)和其實(shí)就是在控制偏差的平方項(xiàng)和控制量的平方相前分別乘以比例因子,然后再相加。兩個(gè)比例因子的相對(duì)大小決定了誰(shuí)更重要。運(yùn)用矩陣微分和線型代數(shù)工具,不難導(dǎo)出線性二次型控制律—一個(gè)基本的狀態(tài)反饋控制律!只是反饋增益矩陣是按最優(yōu)化的要求計(jì)算出來(lái)的。
8 X4 U8 B7 r; z1 z7 {, I( M$ i- D( h" q
& g* `5 t6 S8 [$ F6 ` z
- I0 ?5 s4 \0 _8 _. m$ ^
& a( G$ M* u/ i I, s- @線型二次型最優(yōu)控制開創(chuàng)了一整個(gè)新的控制領(lǐng)域,很快從狀態(tài)空間走出來(lái),進(jìn)入其他領(lǐng)域,子孫繁衍,人丁興旺。這一支是當(dāng)今最優(yōu)控制在應(yīng)用中的主體。' G4 u; {' f9 m# V. k. z s2 L
/ ^1 u" C# P; j* L ) v! I) {' i4 g. o' Q* T' F' W9 B- ?
]0 P2 H# l5 S" B* ?1 }
線性二次型控制具有各種各樣的優(yōu)點(diǎn),但是,線性二次型沒(méi)有回答一個(gè)最基本的控制問(wèn)題:這個(gè)閉環(huán)系統(tǒng)是不是穩(wěn)定。這里,我們的飽受牽記的李亞普諾夫同志出場(chǎng)了。李亞普諾夫也是一個(gè)腦子搭錯(cuò)筋的人,一百多年前,玩微分方程玩出了癮,整出兩個(gè)穩(wěn)定性(或者叫收斂性)的定理,前一個(gè)沒(méi)有什么太了不起的,把非線性系統(tǒng)線性化,就是把一根曲線用很多一小段、一小段的直線近似,然后按直線來(lái)分析。后一個(gè)就有點(diǎn)邪門了。老李琢磨出一個(gè)定理,說(shuō)是對(duì)于任意一個(gè)系統(tǒng),如果能找到一個(gè)自我耗散的能量函數(shù)(數(shù)學(xué)說(shuō)法是正定函數(shù)),也就是其數(shù)值永遠(yuǎn)為正,但隨時(shí)間漸進(jìn)地趨向零,或者說(shuō)這個(gè)能量函數(shù)對(duì)時(shí)間的導(dǎo)數(shù)永遠(yuǎn)為負(fù),那這個(gè)系統(tǒng)就是穩(wěn)定的。據(jù)說(shuō)定理的證明是一個(gè)天才的杰作,我等凡人只有頻頻點(diǎn)頭的份。不過(guò)想想也對(duì),系統(tǒng)的能量耗散沒(méi)了,系統(tǒng)不也就安分下來(lái)了嗎?當(dāng)然就穩(wěn)定嘍。7 N% m% h6 a! K% e
" N7 B) U$ A1 E& I7 n
! H2 o! t4 c3 j" b
: _) N9 O1 Z& \& t" w" w% S李亞普諾夫比卡爾曼還要數(shù)學(xué)家,他的定理只給出“如果存在……就……”,怎么找這個(gè)自我耗散的能量函數(shù)他沒(méi)說(shuō),這個(gè)函數(shù)一般是什么樣他也沒(méi)說(shuō)。這難不倒搞自動(dòng)控制的廣大革命群眾。不是要正定函數(shù)嗎?不是沒(méi)有限制什么形式的正定函數(shù)嗎?那就用控制偏差的平方吧。說(shuō)干就干,但是干著干著,好玩的事情出現(xiàn)了,對(duì)偏差平方(或二次型)的求導(dǎo),導(dǎo)出了和線性二次型最優(yōu)控制推導(dǎo)過(guò)程中同樣出現(xiàn)的一個(gè)所謂黎卡蒂方程(Riccatiequation),感情這是殊途同歸呀。換句話說(shuō),線性二次型控制總是穩(wěn)定的。這是線性二次型控制的一個(gè)重要貢獻(xiàn):把最優(yōu)性和穩(wěn)定性連到一起。0 R9 }8 e( U9 H( G( N3 A3 C
0 d/ T6 O5 g% t( N: R0 d
9 ~. l- w$ ~2 M% W! e' N
7 K7 E% G: J7 {8 H0 Z" b再扯一句李亞普諾夫,他的第二個(gè)定理非常威猛,但是有點(diǎn)像一個(gè)奇形怪狀的大錘,到現(xiàn)在人們還在找合適的釘子,好用這把大錘砸?guī)紫?。線性二次型控制是已知的僅有的幾個(gè)釘子之一,另一個(gè)是變結(jié)構(gòu)控制,也可以用李亞普諾夫方法,這是題外話了。. p5 D1 J0 ^" Y1 z
8 P- M* [" X1 i' U6 Z, Z
! F3 T& _/ ^3 u3 b% i/ E4 F* A h: H4 P4 }: p: `" R
數(shù)字控制
`" ?8 a9 U. `! r2 Y* {1 D# F
g6 q- c/ d5 Z! d3 N - L% O" H! ]+ u4 b" Z
7 b _# u- Y9 x9 y* T# e) [
都說(shuō)瓦特的蒸汽機(jī)后,計(jì)算機(jī)是影響人類進(jìn)程最大的發(fā)明,計(jì)算機(jī)當(dāng)然也對(duì)自動(dòng)控制帶來(lái)深刻的影響。如前所述,控制理論基本上都是圍繞微分方程轉(zhuǎn)的,所以在“本質(zhì)”上是連續(xù)的。但是數(shù)字計(jì)算機(jī)是離散的,也就是說(shuō),數(shù)字控制器的眼睛不是一直盯著被控對(duì)象看的,而是一眨一眨的。數(shù)字控制器的“手腳”也不是一刻不停地連續(xù)動(dòng)作的,而是一頓一頓的。這是數(shù)字計(jì)算機(jī)的天性使然。于是,傳統(tǒng)的控制理論全部“翻譯”到離散時(shí)間領(lǐng)域,微分方程變成了差分方程,所有方法、結(jié)論都有了連續(xù)、離散兩套,不盡相同,但是大同小異。
2 M0 m! o' S0 Q) c8 B* `) _5 Y2 N- D2 o l) r* I/ [
! i& N7 \( C/ \; q1 q$ E+ n- P
% O; v' q" V n0 I' K0 F0 W3 f) b- K) t要是數(shù)字控制就是簡(jiǎn)單的連續(xù)系統(tǒng)離散化,計(jì)算機(jī)控制也就沒(méi)有什么了不起。離散控制帶來(lái)了一些連續(xù)控制所不可能具備的新特點(diǎn),這就是:差分方程用清晰界定的時(shí)刻之間的關(guān)系來(lái)描述動(dòng)態(tài)過(guò)程。回到洗熱水澡的例子,如果熱水龍頭不在跟前,而是在村外一里地的小鍋爐房里,你只能用電話遙控,那水溫或許可以表示為
: y7 e% ^! Z {6 V& v
/ z- r% U& e* {8 V. E ! R' ^& G' [7 I. C E" S
+ o# I; L: ^, J L下一分鐘水溫=0.7*現(xiàn)在水溫+0.2*上一分鐘水溫+0.1*再上一分鐘水溫+0.4*(5分鐘前鍋爐房龍頭開度-6分鐘前鍋爐房龍頭開度); b3 Z- \& Z! l; B) \' u
$ m8 Z0 @; E5 ~* M
! e4 K5 q2 n# i, _& J; e5 `
/ h7 K! i% Q" M+ D- e* M顯然,下一分鐘的水溫受現(xiàn)在水溫的影響比上一分鐘和再上一分鐘的水溫的影響要大,但鍋爐房龍頭開度要是不變,現(xiàn)在、上一分鐘、再上一分鐘水溫都一樣的話,下一分鐘的水溫也應(yīng)該和現(xiàn)在的水溫一樣。為什么用5分鐘前鍋爐房的龍頭開度呢?那是因?yàn)闊崴畯拇逋饬鞯较丛璺恳幸欢ǖ臅r(shí)間,這個(gè)時(shí)間就是滯后。要是把時(shí)間向前推,那現(xiàn)在的龍頭開度就會(huì)影響5分鐘后的水溫。這說(shuō)明了離散模型的一個(gè)重要特質(zhì):預(yù)估能力。所有預(yù)報(bào)模型都是建立在離散模型的這個(gè)預(yù)估能力上,不管是天氣預(yù)報(bào),還是經(jīng)濟(jì)預(yù)測(cè),還是自動(dòng)控制里對(duì)有滯后的過(guò)程的控制。" c* q" j o" G# ^+ F" ^
# h$ `6 R! y( [1 F) p5 W/ m : I- }1 `4 j% K; t6 i! O
]2 ]& q/ N" U數(shù)字控制的另一特質(zhì)是可以實(shí)施一些不可能在連續(xù)時(shí)間實(shí)現(xiàn)的控制規(guī)律。工業(yè)上常有控制量的變化需要和當(dāng)前的實(shí)際值有關(guān)的情況。比如對(duì)于不同的產(chǎn)品,反應(yīng)器的轉(zhuǎn)化率總是大體在88-92%之間,沒(méi)有太大的變化,但是催化劑可以在0.5到35ppm之間變化,采用常規(guī)的PID的話,增益就非常難設(shè),對(duì)一個(gè)情況合適了,對(duì)另一個(gè)情況就不合適。所以催化劑需要按百分比變化率調(diào)整,而不是簡(jiǎn)單地按偏差比例調(diào)整。比如說(shuō),轉(zhuǎn)化率偏離1%時(shí),催化劑要是在0.5ppm,應(yīng)該調(diào)整0.05ppm;但是在15ppm的時(shí)候,就應(yīng)該是1.5ppm。這樣,控制律就可以表示為8 v! v' S" z& J; d1 s/ _2 v$ r
; h- Y- A- ^) O" B; q( q! {
* N( Q9 G; `( B3 s0 v
, g$ Y$ O8 t8 |- d1 r
當(dāng)前的控制量=上一步的控制量*(設(shè)定值/當(dāng)前的測(cè)量值)
, {3 `* U5 r( {9 L; I
l. n4 C4 r' q
B+ }7 ~6 x1 @9 { t/ o) ^5 k: T: Q
也就是說(shuō),在被控變量高于設(shè)定值10%的情況下,控制量也增加10%;測(cè)量值和設(shè)定值一樣時(shí),控制量不再變化。實(shí)際使用時(shí),誰(shuí)除以誰(shuí)要根據(jù)測(cè)量值上升你是要控制量上升還是下降來(lái)決定,控制律也要稍微修改一下,成為
: \( \9 W- A+ X+ A& p6 X2 r) s( U- I$ G3 s8 H( k
0 g% D1 _* }3 j- G1 A
& [) b5 x4 ^: E' j( p9 u1 E0 Z+ r* @- n當(dāng)前的控制量=上一步的控制量*(當(dāng)前的測(cè)量值/設(shè)定值)^k
4 R) D! x- U& s7 l$ Q0 `8 V8 V5 W3 H; T$ a7 r
" N( ?4 P( k" D( V7 ]9 C
+ S+ g5 K8 Y- D1 \/ s
k次方是用來(lái)調(diào)整控制律對(duì)“偏差”(這是已經(jīng)不是差值,而是比值了,嚴(yán)格地說(shuō),應(yīng)該叫“偏比”?)的靈敏度,相當(dāng)于比例增益。這個(gè)控制律實(shí)際上相當(dāng)于對(duì)數(shù)空間的純積分控制,要是有興趣,對(duì)很多常見的非線性過(guò)程有相當(dāng)不錯(cuò)的效果,實(shí)現(xiàn)也簡(jiǎn)單。然而,這是一個(gè)本質(zhì)離散的控制律,在連續(xù)時(shí)間里無(wú)法實(shí)現(xiàn)。$ w6 k8 v4 H8 _. ]1 P
2 O9 y4 c! x8 x, c/ ~) {
8 [# Q! a8 y+ j, P' l- V" m
- R0 z, t7 Z' k8 Q, Z1 \7 R離散控制可以“看一步、走一步”的特性,是連續(xù)控制很難模仿的,也是在實(shí)際中極其有用的。" M3 ?" J X! G! ?& {2 W8 u
* i: }; P/ @# _/ p. D- |8 s# i . b9 [, [0 y( j+ e0 Z
: L/ h6 u. h8 k5 B; S, b1 R3 h3 [辨識(shí)
' w* n# t; i6 {% c
# _( M( f; C- n2 {- }* S( T 6 d+ C) x# `7 _
( q$ x+ o8 U- T6 J# Z( u- ~# A
形形色色的控制理論再牛,沒(méi)有被控過(guò)程的數(shù)學(xué)模型,照樣抓瞎。前面的洗澡水溫就是一個(gè)數(shù)學(xué)模型。這個(gè)模型是杜撰的,當(dāng)然可以很容易地給它所有模型參數(shù)。但在實(shí)際中,模型參數(shù)不會(huì)從天上掉下來(lái)。多少科學(xué)家畢生致力于建立某一特定的物理、生物、化學(xué)或別的學(xué)科的數(shù)學(xué)模型,基本機(jī)制已經(jīng)清楚的模型都不容易建立,更不用說(shuō)很多過(guò)程的基本機(jī)制或深層機(jī)制并不清楚。所以靠機(jī)理推導(dǎo)被控過(guò)程的數(shù)學(xué)模型是可能的,但對(duì)日常的控制問(wèn)題來(lái)說(shuō),并不實(shí)際。這就是控制理論的另一個(gè)分支—辨識(shí)—一顯身手的地方了。. N( i$ K* y, e8 n9 \4 s" g9 |
! Q. l6 ^2 I) Q5 G1 C! y; M( W 1 {8 P$ u. i. A4 A
+ i& _" i' w8 I1 `4 q5 K; J0 L9 q
如果給定一個(gè)模型,也就是一個(gè)數(shù)學(xué)公式,給它一組輸入數(shù)據(jù),模型就可以計(jì)算出對(duì)應(yīng)的輸出數(shù)據(jù)。比如說(shuō),給定模型y=2*x+1,再給出x=1,2,3,4,那y就等于3,5,7,9,就這么很簡(jiǎn)單。辨識(shí)的問(wèn)題反過(guò)來(lái),先給定一個(gè)模型結(jié)構(gòu),在這里就是y=a*x+b,已知輸入-輸出數(shù)據(jù)是x=1,2時(shí)y=3,5,要求計(jì)算出a和b。顯然,這是一個(gè)二元一次方程,誰(shuí)都會(huì)解。在實(shí)際中,輸入-輸出的觀察數(shù)據(jù)含有測(cè)量噪聲,這對(duì)參數(shù)估計(jì)的精度不利;但通常積累觀察的數(shù)據(jù)量遠(yuǎn)遠(yuǎn)超過(guò)未知參數(shù)的個(gè)數(shù),不說(shuō)數(shù)學(xué),感覺(jué)上這就應(yīng)該對(duì)克服測(cè)量噪聲有利,關(guān)鍵是怎么利用這“多余”的數(shù)據(jù)。一個(gè)辦法是把數(shù)據(jù)組兩兩配對(duì),借眾多的二元一次方程,然后對(duì)解出來(lái)的a和b作平均。還有一個(gè)辦法就是有名的最小二乘法了,說(shuō)穿了,就是以a和b為最優(yōu)化的“控制量”,使模型輸出和實(shí)際觀測(cè)值之間的累積平方誤差為最小。
/ g$ s/ C/ O( o6 |, |0 X& Q. @) }" e% o
8 X& Z% g! D1 l7 s) \( L+ p6 Z9 {0 ^' J
+ p" Y% ?6 B9 a m
, W" w' i( R5 Z( ~) ]: C& T2 _2 S實(shí)際工業(yè)過(guò)程大多有多年的運(yùn)行經(jīng)驗(yàn),大量的數(shù)據(jù)不成問(wèn)題。對(duì)于大多數(shù)常見過(guò)程,模型的基本結(jié)構(gòu)和定性性質(zhì)也可以猜一個(gè)八九不離十,有了如此有力的數(shù)學(xué)“大錘”,那么應(yīng)該可以砸開一切建模的硬核桃啦。且慢,世上沒(méi)有真正的“神奇子彈”,一個(gè)問(wèn)題解決了,另一個(gè)同等難度的問(wèn)題又會(huì)出現(xiàn)。對(duì)于辨識(shí)來(lái)說(shuō),問(wèn)題有好幾個(gè)。& ^+ u: L% q/ ]) C
+ ~ C' X7 g0 r3 c- C
+ ?8 j3 _ s+ i
4 m5 ? ?3 V4 Q; [, M4 X+ R
第一個(gè)問(wèn)題是工業(yè)數(shù)據(jù)的閉環(huán)性。大多數(shù)重要參數(shù)都有閉環(huán)回路控制。如果沒(méi)有閉環(huán)回路控制,那要么就是過(guò)程特性實(shí)在太復(fù)雜,簡(jiǎn)單回路控制不了;要么就是這個(gè)參數(shù)其實(shí)不重要,飄移一點(diǎn)沒(méi)人在乎。然而,一旦閉環(huán),系統(tǒng)地輸入和輸出就是相關(guān)的了。這一相關(guān)不要緊,輸入-輸出數(shù)據(jù)之間的因果性就全亂了:輸出通過(guò)被控過(guò)程本身和輸入相關(guān)(這是好的,辨識(shí)就是要測(cè)算出這個(gè)相關(guān)關(guān)系,輸出要是和輸入不相關(guān),也沒(méi)有控制或辨識(shí)什么事了),輸入通過(guò)反饋和輸出相關(guān);輸入-輸出成為一個(gè)閉合系統(tǒng),你可以用任意多條定理或方法證明同樣的事:由于因果不分,閉環(huán)辨識(shí)是不可能的,除非另外加入“新鮮”的激勵(lì),比如使勁變?cè)O(shè)定值,或者在閉環(huán)回路里額外施加獨(dú)立于輸入、輸出的激勵(lì)信號(hào),比如“莫名其妙”地把閥門動(dòng)幾下。弄到最后,工業(yè)數(shù)據(jù)到底能用多少,就不是一個(gè)簡(jiǎn)單的回答。有的過(guò)程常年穩(wěn)定操作,像乙烯裝置,只有小范圍的微調(diào)。這倒不是人家懶或者不求上進(jìn),而是這些裝置早已高度優(yōu)化,常年操作在極其接近極限的位置,但原料和產(chǎn)品單一,所以工藝狀況不怎么大變。這種系統(tǒng)的閉環(huán)數(shù)據(jù)用起來(lái)很吃力,常常必須做一定的開環(huán)試驗(yàn)。有的過(guò)程經(jīng)常在不同的狀態(tài)之間轉(zhuǎn)換(transition),或者由于不同的原料,如“吃”得很雜的煉油廠,或者由于不同的產(chǎn)品,如聚乙烯裝置,這實(shí)際上就是“使勁變?cè)O(shè)定值”,是新鮮的激勵(lì)。這種系統(tǒng)的閉環(huán)數(shù)據(jù)比較好用,但有別的問(wèn)題,下面要談到。
! W4 K$ h) h( A; z" O% {
* i( w5 m& P; e& F' S2 u # K' w0 T: Y1 o1 i5 O" n! j
" Q3 m: }9 M" L+ j" S
第二個(gè)問(wèn)題是動(dòng)態(tài)和穩(wěn)態(tài)。動(dòng)態(tài)模型的作用有兩個(gè):一是描述需要多少時(shí)間輸出才能達(dá)到某一數(shù)值;二是輸出最終能夠達(dá)到什么數(shù)值。用股票市場(chǎng)舉一個(gè)例子,你需要知道兩件事:一是這支股票最后會(huì)升到多少,二是需要多少時(shí)間才能升到那里,只知道其中一個(gè)對(duì)你并沒(méi)有太大的用處。當(dāng)然為了簡(jiǎn)化,這里假定這支股票一路飆升,不來(lái)忽升忽降(也就是非線性)或跌買漲賣(也就是閉環(huán)影響)的名堂。這就要求輸入-輸出數(shù)據(jù)必須包含充分的動(dòng)態(tài)和穩(wěn)態(tài)信息,過(guò)于偏頗其中一方面對(duì)另一方面會(huì)不利。所以,長(zhǎng)期穩(wěn)定運(yùn)行的過(guò)程中可能包含足夠的穩(wěn)態(tài)數(shù)據(jù),但動(dòng)態(tài)不足;常年不怎么穩(wěn)定的過(guò)程可能包含足夠的動(dòng)態(tài)數(shù)據(jù),但穩(wěn)態(tài)不足。用PID控制打比方,精確的穩(wěn)態(tài)數(shù)據(jù)有助于計(jì)算正確的比例控制增益,精確的動(dòng)態(tài)數(shù)據(jù)有助于計(jì)算正確的積分和微分增益,顯然,把比例增益整對(duì)了更為重要。為了獲得精確的穩(wěn)態(tài),在辨識(shí)中常常需要等過(guò)程開環(huán)穩(wěn)定下來(lái)才進(jìn)行下一步,但是問(wèn)題是,實(shí)際過(guò)程有時(shí)時(shí)間常數(shù)很長(zhǎng),幾個(gè)精餾塔一串聯(lián),時(shí)間常數(shù)幾個(gè)小時(shí)是客氣的,一、兩天都是可能的。這樣一來(lái),一個(gè)不太大的模型,十來(lái)個(gè)變量,開環(huán)試驗(yàn)一做就是一、兩個(gè)星期或者更長(zhǎng)。要是一個(gè)裝置能夠兩個(gè)星期開環(huán),那也不需要什么控制了。1 W! h) u N5 E) P( g! x
! b" h/ R5 m' C& j 1 C% ]' `1 C* Y2 A' }, I
% j. n* F, P( L1 O" O* l n4 A
第三個(gè)問(wèn)題是激勵(lì)的信噪比。都說(shuō)人類活動(dòng)是二氧化碳和溫室效應(yīng)的主要原因,但要是你去生一堆篝火,再去高空大氣層去測(cè)一測(cè)二氧化碳和溫室效應(yīng),肯定什么也測(cè)不出來(lái),本來(lái)多少,現(xiàn)在還是多少。為什么呢?不是因?yàn)檫@堆篝火沒(méi)有效果,而是環(huán)境中的自然的變化遠(yuǎn)遠(yuǎn)超過(guò)了篝火的作用,換句話說(shuō),就是噪聲遠(yuǎn)遠(yuǎn)超過(guò)了信號(hào)。工業(yè)測(cè)試也是一樣,信號(hào)一定要有一定的強(qiáng)度,否則是白耽誤工夫。信號(hào)強(qiáng)度應(yīng)該使過(guò)程達(dá)到嚴(yán)重失穩(wěn)的邊緣,這樣才好獲得在大范圍內(nèi)都精確的模型,以便控制器不光在“風(fēng)平浪靜”的情況下可以正常工作,在“驚濤駭浪”的情況下也能使系統(tǒng)恢復(fù)穩(wěn)定。然而,工廠以生產(chǎn)為主,在一切都“斤斤計(jì)較”的今天,如此大范圍的測(cè)試所帶來(lái)的產(chǎn)品損失甚至對(duì)設(shè)備的可能的危害,都是工廠極不愿意見到的。理論家們?cè)O(shè)計(jì)了一個(gè)偽隨機(jī)信號(hào),用一連串寬窄不等的方波信號(hào),作為激勵(lì)過(guò)程的輸入,在理論上可以使過(guò)程參數(shù)的平均值不致偏離設(shè)定值太多,但I(xiàn)SO9000不僅要求產(chǎn)品質(zhì)量的平均值要保證,產(chǎn)品質(zhì)量的一致性也要保證。再說(shuō),偽隨機(jī)信號(hào)的脈寬不好確定,太窄了,穩(wěn)態(tài)數(shù)據(jù)不夠;太寬了,和常規(guī)的階躍信號(hào)也沒(méi)有什么兩樣。所以偽隨機(jī)信號(hào)在實(shí)際上用得很少。
# P& L: l- V) m; V) S
% r$ ?! ] s7 U: {6 Y" j
+ A4 M/ E3 h8 z9 ~1 [1 a, O5 _& B) J0 T8 G. v( ?
第四個(gè)問(wèn)題是輸入的相關(guān)性。實(shí)際工業(yè)過(guò)程到了要用辨識(shí)來(lái)確定模型的時(shí)候,都是單回路對(duì)付不了了,所以都是多變量過(guò)程。在理論上,多個(gè)輸入變量可以同時(shí)變化,只要輸入變量的變化是相互獨(dú)立的,數(shù)學(xué)上容許多個(gè)輸入變量同時(shí)變化,而辨識(shí)可以正確地辨別模型。然而,在使用實(shí)際過(guò)程的歷史數(shù)據(jù)時(shí),常常遇到多個(gè)輸入變量并不相互獨(dú)立的問(wèn)題。比如說(shuō),在制作巧克力的過(guò)程中,香草巧克力比較“苦”,或者說(shuō)不太甜,而牛奶巧克力比較甜。問(wèn)題是做牛奶巧克力時(shí),不光加糖,還要加牛奶(廢話,不加牛奶那還是牛奶巧克力嗎?)由于兩者總是同時(shí)出現(xiàn),從純數(shù)學(xué)角度來(lái)說(shuō),在甜度模型里,就難以辨別甜度是由于加糖的關(guān)系,還是由于加牛奶的關(guān)系。有的時(shí)候可以根據(jù)對(duì)具體過(guò)程的認(rèn)識(shí),人工地限制辨識(shí)的過(guò)程,來(lái)消除這種影響,有的時(shí)候,就不太容易了,只好不用歷史數(shù)據(jù),專門做試驗(yàn),用各自獨(dú)立的輸入,便是模型。
/ i# G& u3 j8 y( y7 s: F
7 h" I+ H9 N3 b- q% C
+ p# x$ V( p8 x8 g/ u2 J, a% D# I- w5 r `9 r
第五個(gè)問(wèn)題是模型結(jié)構(gòu)。模型結(jié)構(gòu)包括兩個(gè)方面,一是模型的階數(shù),二是剔除在物理上不可能的模型。辨識(shí)的模型歸根結(jié)蒂還是差分方程,這就有一個(gè)如何預(yù)設(shè)階數(shù)的問(wèn)題。數(shù)學(xué)上有很多驗(yàn)前和驗(yàn)后的檢驗(yàn)方法,在工業(yè)上,人們偷一個(gè)懶,改用非參數(shù)模型,也就是用一條響應(yīng)曲線而不是一個(gè)方程來(lái)表述一個(gè)模型,這樣就可以繞過(guò)階數(shù)的問(wèn)題。但是剔出不現(xiàn)實(shí)的模型還是一個(gè)手工活,需要對(duì)每一個(gè)模型仔細(xì)研究,以確定模型所描述的動(dòng)態(tài)關(guān)系是否合理。數(shù)學(xué)方法還是不夠可靠。
0 i" V7 O. `+ ~) H. p$ b, f+ e5 v1 _9 h X a0 ?
' p+ ?/ f1 _* M" p( [1 F8 _
9 v. m% h" M. T在搞模型的人中間,常常會(huì)聽到黑箱、白箱和灰箱的說(shuō)法。黑箱模型就是不理會(huì)實(shí)際過(guò)程的物理、化學(xué)等性質(zhì),純粹從數(shù)學(xué)出發(fā),假設(shè)一個(gè)模型結(jié)構(gòu),然后用種種數(shù)學(xué)方法找出一個(gè)最好的模型。白箱反其道而行之,從物理、化學(xué)等性質(zhì)出發(fā),建立機(jī)理模型。黑箱模型的好處是“放之四海而皆準(zhǔn)”,不需要對(duì)具體過(guò)程有深入的了解。黑箱模型是一種削足適履的作法,但是如果履本身就做得比較好,具有相當(dāng)?shù)撵`活性和適應(yīng)性,就并不需要削太多的足。由于黑箱模型可以自由假設(shè)模型結(jié)構(gòu),黑箱模型的處理和使用都比較方便。黑箱模型是經(jīng)驗(yàn)主義的,數(shù)據(jù)里沒(méi)有包含的情況,黑箱模型無(wú)法預(yù)測(cè)。白箱模型則是“量身度造”的,反映了過(guò)程的物理、化學(xué)等性質(zhì),對(duì)實(shí)際過(guò)程的數(shù)據(jù)依賴較少,對(duì)數(shù)據(jù)中不包含的情況也能可靠地預(yù)測(cè)。但是白箱模型的結(jié)構(gòu)由具體問(wèn)題決定,得出的模型不一定容易使用。在實(shí)際中,人們經(jīng)常在假設(shè)一個(gè)模型結(jié)構(gòu)的時(shí)候考慮進(jìn)大大簡(jiǎn)化的過(guò)程機(jī)理,所以模型結(jié)構(gòu)不是憑空拍腦袋出來(lái),而是粗略地抓住了過(guò)程的基本特質(zhì),然后再用黑箱方法的“數(shù)據(jù)絞肉機(jī)”,將簡(jiǎn)化模型沒(méi)有能夠捕捉的細(xì)微末節(jié)一網(wǎng)打盡。這種模型結(jié)合了黑箱和白箱的特點(diǎn),所以稱為灰箱。實(shí)際建模中,純粹黑箱或白箱的成功例子很少,灰箱的成功機(jī)會(huì)就要多得多。3 B, F! _7 P4 [; p
! `& P& K4 B! H+ W- g8 F
! T: M* S9 A( g( m
7 @7 I* W" s9 k7 \* M不管什么箱,最后還是有一個(gè)如何辨識(shí)實(shí)際過(guò)程的問(wèn)題。閉環(huán)辨識(shí)的好處不用多說(shuō)了,問(wèn)題是如何從閉環(huán)辨識(shí)中獲得有用的模型。工業(yè)上有一個(gè)辦法,沒(méi)有一個(gè)“官名”,但實(shí)際上是一個(gè)開環(huán)-反饋過(guò)程。具體做法是這樣的:先用粗略的過(guò)程知識(shí)構(gòu)造一個(gè)簡(jiǎn)單的多變量控制器,其任務(wù)不是精確控制被控過(guò)程,而是將被控變量維持在極限之內(nèi),一旦逼近或超過(guò)極限,就采取動(dòng)作將其“趕”回極限內(nèi);但只要在極限內(nèi),就按部就班地作階躍擾動(dòng),測(cè)試過(guò)程特性。測(cè)試的結(jié)果用來(lái)改進(jìn)控制器的模型,然后再來(lái)一遍。幾遍(一般兩遍就夠了)之后,模型精度應(yīng)該很不錯(cuò)了。這個(gè)方法比較好地解決了辨識(shí)精度和過(guò)程穩(wěn)定性的要求。! l( @, F( ~8 f$ V5 y2 M. D
# t q5 }) p* p" S @' }. \ ) `, [% v# [7 B- U% P
% X' L) V1 ?5 Z
自適應(yīng)% b, x# m. w. N0 b( |* I
; e$ U0 |# r" A- }- q
* O4 q& ]# A8 Z2 E5 K1 g/ d# W1 T, O0 c; ^
西游記里最好看的打斗是孫悟空大戰(zhàn)二郎神那一段。孫悟空打不過(guò)就變,二郎神則是“敵變我變”,緊追不舍,最后把個(gè)無(wú)法無(wú)天的頑皮猴子擒拿歸案。用控制理論的觀點(diǎn)看,這“敵變我變”的本事就是自適應(yīng)控制控制器結(jié)構(gòu)根據(jù)被控過(guò)程的變化自動(dòng)調(diào)整、自動(dòng)優(yōu)化。( k. d5 r5 ?: z( q$ Z
% K5 ~3 ?+ _+ `
4 Q5 j0 d/ z5 A2 W# S* W4 c x8 Y% F) @) k' {# q% c% b
自適應(yīng)控制有兩個(gè)基本思路,一是所謂模型跟蹤控制,二是所謂自校正控制。模型跟蹤控制也叫模型參考控制,在概念上對(duì)人們并不陌生。毛主席那陣子,經(jīng)常樹立各種榜樣,目的就是要在黨發(fā)出號(hào)召時(shí),普通人們比照榜樣的行為,盡量調(diào)整自己的行為,使我們的行為和榜樣的行為接近。這就是模型跟蹤控制的基本思路。模型跟蹤控制在航空和機(jī)電上用得比較多,在過(guò)程控制中很少使用。5 K8 W+ U! \) i1 @1 L) `3 r4 |
2 {& o! a) Y: Y+ j
1 o; b H i1 \/ N; w& P+ J4 ?! a# M. v1 p: d9 b" l
自校正控制的思路更接近人們對(duì)自適應(yīng)的理解。自校正控制是一個(gè)兩步走的過(guò)程,首先對(duì)被控過(guò)程作實(shí)時(shí)辨識(shí),然后再辨識(shí)出來(lái)的模型的基礎(chǔ),實(shí)時(shí)地重新構(gòu)造控制器。思路簡(jiǎn)單明了,實(shí)施也不算復(fù)雜,但自校正控制在一開始的歡呼后,并沒(méi)有在工業(yè)上取得大范圍的成功,原因何在呢?
, \+ X, |$ ?+ w) [ _: j+ l4 l5 ^6 ?- x$ v
" A5 g! L$ \# W2 w y: e* u, p! H+ u8 M
原因之一是閉環(huán)辨識(shí)。雖然自校正控制不斷改變控制器的參數(shù),在一定程度上打破了固定增益反饋控制對(duì)輸入、輸出帶來(lái)的因果關(guān)系,但是因果關(guān)系還是存在,還是相當(dāng)強(qiáng)烈,對(duì)辨識(shí)模型的質(zhì)量帶來(lái)影響。( j6 N. K/ J/ _* D, x' R1 E
, p6 B& F/ O. V6 q
1 H2 ^5 ^4 O% l2 b* l: ^
: f+ h/ K" i' \6 o, u! h% S& y
原因之二是所謂“協(xié)方差爆炸”。數(shù)學(xué)上當(dāng)然有嚴(yán)格的說(shuō)法,但簡(jiǎn)單地說(shuō),就是自校正控制器的目的當(dāng)然還是使系統(tǒng)穩(wěn)定下來(lái),但是在系統(tǒng)越來(lái)越穩(wěn)定的過(guò)程中,自校正控制器對(duì)偏差和擾動(dòng)的敏感度越來(lái)越高,最后到“萬(wàn)籟俱靜”的時(shí)候,敏感度在理論上可以達(dá)到無(wú)窮大,然而,這時(shí)如果真的擾動(dòng)來(lái)了,控制器一下子就手足無(wú)措了。- t5 H" g3 Q. V8 X" W) P
. i% a6 \3 r1 f0 c, b( [4 x# D2 y - F* D5 `, N! H1 L) X% [
8 D6 Z9 ^) f" ^, M原因之三是實(shí)際過(guò)程的復(fù)雜性。在辨識(shí)實(shí)際過(guò)程時(shí),最重要的步驟不是后面的“數(shù)學(xué)絞肉機(jī)”,而是對(duì)數(shù)據(jù)的篩選,必須把各種異常數(shù)據(jù)剔除出去,否則就是“垃圾進(jìn)來(lái),垃圾出去”。但是,要實(shí)時(shí)、自動(dòng)地剔除異常數(shù)據(jù),這個(gè)要求非同小可,比設(shè)計(jì)、投運(yùn)一個(gè)自校正控制器費(fèi)事多了。這是自校正控制在實(shí)際中成功例子有限的最大原因。6 Q6 ^7 `- i2 F# @9 _5 i. a
$ {* l4 g/ y; C/ h o9 J1 Y
# [& g, I P( w" z' a' k; ?9 t @4 h# e( v3 L4 Z
模型預(yù)估控制; K5 r+ S+ e% {
* p1 S; z# F. {
. G. {3 C) g: W& d% H e
( l" f6 h1 q% f! F4 @7 p自動(dòng)控制從一開始就是以機(jī)電控制為主導(dǎo)的。60年代數(shù)學(xué)派主導(dǎo)了一段時(shí)間后,70年代化工派開始“小荷才露尖尖角”。自校正控制已經(jīng)有很多化工的影子,但化工派的正式入場(chǎng)之作是模型預(yù)估控制(modelpredictivecontrol,MPC)。這是一個(gè)總稱,其代表作是動(dòng)態(tài)矩陣控制(dynamicmatrixcontrol,DMC)。DMC是CharlieCuttler的PhD論文,最先在殼牌石油公司獲得應(yīng)用,以后Cuttler自立門戶,創(chuàng)辦DMC公司,現(xiàn)在是AspenTechnology公司的一部分。
3 y7 t7 J+ `3 `7 r l+ Q5 c) o3 B0 {% M- z8 r9 N
5 g, q3 C6 R5 _- n
數(shù)學(xué)控制理論非常優(yōu)美,放之四海而皆準(zhǔn),但是像老虎一樣,看起來(lái)威猛,卻是干不得活的,干活畢竟靠老牛。DMC的成功之處在于應(yīng)用偽理論,將一些本來(lái)不相干的數(shù)學(xué)工具一鍋煮,給一頭老老實(shí)實(shí)的老牛披上一張絢爛的老虎皮,在把普羅大眾唬得一愣一愣的時(shí)候,悄悄地把活干了。 |
|