最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

自動(dòng)控制的故事(中)

2018-10-17 03:15 作者:蘇維埃磁能戰(zhàn)貓  | 我要投稿

非常規(guī)PID

以頻率分析(也稱頻域分析)為特色的控制理論稱為經(jīng)典控制理論。經(jīng)典控制理論可以把系統(tǒng)的穩(wěn)定性分析得天花亂墜,但有兩個(gè)前提:一、要已知被控對(duì)象的數(shù)學(xué)模型,這在實(shí)際中不容易得到;二、被控對(duì)象的數(shù)學(xué)模型不會(huì)改變或漂移,這在實(shí)際中更難做到。對(duì)簡(jiǎn)單過(guò)程建立微分方程是可能的,但簡(jiǎn)單過(guò)程的控制不麻煩,經(jīng)驗(yàn)法參數(shù)整定就搞定了,不需要費(fèi)那個(gè)事,而真正需要理論計(jì)算幫忙的回路,建立模型太困難,或者模型本身的不確定性很高,使得理論分析失去意義。經(jīng)典控制理論在機(jī)械、航空、電機(jī)中還是有成功的應(yīng)用,畢竟從F=ma出發(fā),可以建立“所有”的機(jī)械系統(tǒng)的動(dòng)力學(xué)模型,鐵疙瘩的重量又不會(huì)莫名其妙地改變,主要環(huán)境參數(shù)都可以測(cè)量。但是經(jīng)典控制理論至少在化工控制中實(shí)用成功的例子實(shí)在是鳳毛麟角,給你一個(gè)50塊塔板的精餾塔,一個(gè)氣相進(jìn)料,一個(gè)液相進(jìn)料,塔頂、塔底出料加一個(gè)側(cè)線出料,塔頂風(fēng)冷冷凝器,塔底再沸器加一個(gè)中間再沸器,你就慢慢建模去吧,等九牛二虎把模型建立起來(lái)了,風(fēng)冷冷凝器受風(fēng)霜雨雪的影響,再沸器的高壓蒸汽的壓力受友鄰裝臵的影響,氣相進(jìn)料的溫度和飽和度受上游裝臵的影響而改變,液相進(jìn)料的混合組分受上游裝臵的影響而改變,但組分無(wú)法及時(shí)測(cè)量(在線氣相色譜分析結(jié)果要45分鐘才能出來(lái)),動(dòng)態(tài)特性全變了。?

老家伙歌德兩百年前就說(shuō)了,理論是灰色的,生命之樹(shù)常青。在實(shí)用中,PID有很多表兄弟,幫著大表哥一塊打天下。?

比例控制的特點(diǎn)是:偏差大,控制作用就大。但在實(shí)際中有時(shí)還嫌不夠,最好偏差大的時(shí)候,比例增益也大,進(jìn)一步加強(qiáng)對(duì)大偏差的矯正作用,及早把系統(tǒng)拉回到設(shè)定值附近;偏差小的時(shí)候,當(dāng)然就不用那么急吼吼,慢慢來(lái)就行,所以增益小一點(diǎn),加強(qiáng)穩(wěn)定性。這就是雙增益PID(也叫雙模式PID)的起源。想想也對(duì),高射炮瞄準(zhǔn)敵機(jī)是一個(gè)控制問(wèn)題。如果炮管還指向離目標(biāo)很遠(yuǎn)的角度,那應(yīng)該先盡快地把炮管轉(zhuǎn)到目標(biāo)角度附近,動(dòng)作猛一點(diǎn)才好;但炮管指向已經(jīng)目標(biāo)很近了,就要慢慢地精細(xì)瞄準(zhǔn)。工業(yè)上也有很多類似的問(wèn)題。雙增益PID的一個(gè)特例是死區(qū)PID(PIDwithdeadband),小偏差時(shí)的增益為零,也就是說(shuō),測(cè)量值和設(shè)定值相差不大的時(shí)候,就隨他去,不用控制。這在大型緩沖容器的液位控制里用得很多。本來(lái)緩沖容器就是緩沖流量變化的,液位到底控制在什么地方并不緊要,只要不是太高或太低就行。但是,從緩沖容器流向下游裝臵的流量要盡可能穩(wěn)定,否則下游裝臵會(huì)受到不必要的擾動(dòng)。死區(qū)PID對(duì)這樣的控制問(wèn)題是最合適的。但是天下沒(méi)有免費(fèi)的午餐。死區(qū)PID的前提是液位在一般情況下會(huì)“自動(dòng)”穩(wěn)定在死區(qū)內(nèi),如果死區(qū)設(shè)臵不當(dāng),或系統(tǒng)經(jīng)常受到大幅度的擾動(dòng),死區(qū)內(nèi)的“無(wú)控”狀態(tài)會(huì)導(dǎo)致液位不受限制地向死區(qū)邊界“挺進(jìn)”,最后進(jìn)入“受控”區(qū)時(shí),控制作用過(guò)火,液位向相反方向不受限制地“挺進(jìn)”,最后的結(jié)果是液位永遠(yuǎn)在死區(qū)的兩端振蕩,而永遠(yuǎn)不會(huì)穩(wěn)定下來(lái),業(yè)內(nèi)叫hunting。雙增益PID也有同樣的問(wèn)題,只是比死區(qū)PID好一些,畢竟只有“強(qiáng)控制”和“弱控制”的差別,而沒(méi)有“無(wú)控區(qū)”。在實(shí)用中,雙增益的內(nèi)外增益差別小于2:1沒(méi)有多大意義,大于5:1就要注意上述的持續(xù)振蕩或hunting的問(wèn)題。?

雙增益或死區(qū)PID的問(wèn)題在于增益的變化是不連續(xù)的,控制作用在死區(qū)邊界上有一個(gè)突然的變化,容易誘發(fā)系統(tǒng)的不利響應(yīng),平方誤差PID就沒(méi)有這個(gè)問(wèn)題。誤差一經(jīng)平方,控制量對(duì)誤差的曲線就成了拋物線,同樣達(dá)到“小偏差小增益、大偏差大增益”的效果,還沒(méi)有突然的不連續(xù)的增益變化。但是誤差平方有兩個(gè)問(wèn)題:一是誤差接近于零的時(shí)候,增益也接近于零,回到上面死區(qū)PID的問(wèn)題;二是很難控制拋物線的具體形狀,或者說(shuō),很難制定增益在什么地方拐彎。對(duì)于第一個(gè)問(wèn)題,可以在誤差平方PID上加一個(gè)基本的線性PID,使零誤差時(shí)增益不為零;對(duì)于后一個(gè)問(wèn)題,就要用另外的模塊計(jì)算一個(gè)連續(xù)變化的增益了。具體細(xì)節(jié)比較瑣碎,將偏差送入一個(gè)分段線性化(也就是折線啦)的計(jì)算單元,然后將計(jì)算結(jié)果作為比例增益輸出到PID控制器,折線的水平段就對(duì)應(yīng)予不同的增益,而連接不同的水平段的斜線就對(duì)應(yīng)于增益的連續(xù)變化。通過(guò)設(shè)臵水平段和斜線段的折點(diǎn),可以任意調(diào)整變?cè)鲆娴那€。要是“野心”大一點(diǎn),再加幾個(gè)計(jì)算單元,可以做出不對(duì)稱的增益,也就是升溫時(shí)增益低一點(diǎn),降溫時(shí)增益高一點(diǎn),以處理加熱過(guò)程中常見(jiàn)的升溫快、降溫慢的問(wèn)題。?

雙增益或誤差平方都是在比例增益上作文章,同樣的勾當(dāng)也可以用在積分和微分上。更極端的一種PID規(guī)律叫積分分離PID,其思路是這樣的:比例控制的穩(wěn)定性好,響應(yīng)快,所以偏差大的時(shí)候,把PID中的積分關(guān)閉掉;偏差小的時(shí)候,精細(xì)調(diào)整、消除余差是主要問(wèn)題,所以減弱甚至關(guān)閉比例作用,而積分作用切入控制。概念是好的,但具體實(shí)施的時(shí)候,有很多無(wú)擾動(dòng)切換的問(wèn)題。?

這些變態(tài)的PID在理論上很難分析系統(tǒng)的穩(wěn)定性,但在實(shí)用中解決了很多困難的問(wèn)題。大言不慚一句,這些PID本人在實(shí)際中都用過(guò)。

復(fù)雜結(jié)構(gòu)PID?

打仗時(shí),如果敵人太頑固,要么換更大的炮,把敵人轟倒;要么采用更巧妙的戰(zhàn)術(shù),把敵人暈倒??刂埔彩且粯樱瑔位芈稰ID難以解決的問(wèn)題,常常可以通過(guò)更巧妙的回路結(jié)構(gòu)來(lái)解決。?

單一的PID回路當(dāng)然可以實(shí)現(xiàn)擾動(dòng)抑制,但要是主要擾動(dòng)在回路中,而且是明確的,加一個(gè)內(nèi)回路作幫手是一個(gè)很不錯(cuò)的主意。還記得洗熱水澡的例子嗎?要是熱水壓力不穩(wěn)定,老是要為這個(gè)而調(diào)整熱水龍頭,那很麻煩。要是有一個(gè)人專門(mén)負(fù)責(zé)根據(jù)熱水壓力調(diào)節(jié)熱水流量,把熱水流量穩(wěn)定下來(lái),而且穩(wěn)定在標(biāo)定值,那洗澡的時(shí)候,水溫就容易控制多了,只要告訴那個(gè)人現(xiàn)在需要多少熱水流量,而不必?zé)┬臒崴畨毫?duì)熱水流量的影響。這個(gè)負(fù)責(zé)熱水流量的控制回路就是內(nèi)回路,也叫副回路,而洗澡的溫度就是外回路,也叫主回路,當(dāng)然是主回路指揮副回路,就像自動(dòng)化指揮機(jī)械化、學(xué)自控的人指揮學(xué)機(jī)電的人……打住打住……。這種主回路套副回路的結(jié)構(gòu)叫串級(jí)控制(cascadecontrol),曾經(jīng)是單回路PID后工業(yè)上第一種“先進(jìn)過(guò)程控制”,現(xiàn)在串級(jí)已經(jīng)用得很多了,也不再有人叫它“先進(jìn)過(guò)程控制”了。串級(jí)控制最主要的功用是抑制回路內(nèi)的擾動(dòng),增強(qiáng)總體控制性能。不過(guò)串級(jí)也不能亂用。如果主回路和副回路的響應(yīng)速度差不多,或者主回路的相應(yīng)速度甚至慢于副回路(通過(guò)變態(tài)的調(diào)試是可以做到的),這樣的串級(jí)要出問(wèn)題。理論上可以用共振頻率什么的分析,但是不用費(fèi)那個(gè)事,用膝蓋想想就知道,一個(gè)急性子的頭兒把一個(gè)溫吞水的下屬指揮得團(tuán)團(tuán)轉(zhuǎn),結(jié)果只能是大家都精疲力竭,事情還辦砸了。相反,一個(gè)鎮(zhèn)定自若的頭兒指揮一個(gè)手腳麻利的下屬,那事情肯定辦得好。?

如果主要擾動(dòng)在回路以外,但是可以預(yù)知,那就要用另一個(gè)辦法,就是前饋了。還是用洗熱水澡的例子。如果冷水管和同一個(gè)水房的抽水馬桶共用,你在洗澡,別人一抽水,那你就變煮熟的龍蝦了(本想說(shuō)猴子PP的,但是那個(gè)不雅,我們要五講四美不是?)。這個(gè)時(shí)候,要是那個(gè)人在抽水的同時(shí)告訴你一聲,你算好時(shí)間,算好量,猛減熱水,那溫度還是可以大體不變的。這就是所謂前饋控制(feedforwardcontrol)。前饋控制有兩個(gè)要緊的東西:一是定量的擾動(dòng)對(duì)被控變量的影響,也就是所謂前饋增益;二是擾動(dòng)的動(dòng)態(tài),別人抽水到洗澡龍頭的水溫變熱,這里面有一個(gè)過(guò)程,不是立時(shí)三刻的。如果可以精確知道這兩樣?xùn)|西,那前饋補(bǔ)償可以把可測(cè)擾動(dòng)完全補(bǔ)償?shù)?。但?shí)際上沒(méi)有精確知道的事情,要是指望前饋來(lái)完全補(bǔ)償,弄巧成拙是肯定的。所以前饋通常和反饋一起用,也就是在PID回路上再加一個(gè)前饋。一般也只用靜態(tài)前饋,也就是只補(bǔ)償擾動(dòng)對(duì)被控變量的靜態(tài)影響,而忽略擾動(dòng)的動(dòng)態(tài)因素,主要是因?yàn)殪o態(tài)前饋已經(jīng)把前饋80%的好處發(fā)掘出來(lái)了。動(dòng)態(tài)前饋既復(fù)雜又不可靠,在PID回路里很少有人用。理論上的前饋都是在PID的控制作用上再加一個(gè)前饋?zhàn)饔?,?shí)際上也可以乘一個(gè)控制作用。乘法前饋的作用太猛,我從來(lái)沒(méi)有用過(guò),一般都是用加法。在實(shí)施中,前饋是和擾動(dòng)的變化(也就是增量)成比例,所以擾動(dòng)變量不變了,前饋?zhàn)饔镁拖В駝t,整定前饋控制增益會(huì)對(duì)PID主回路造成擾動(dòng)。前饋增益可以根據(jù)粗略計(jì)算得到,比如說(shuō),抽水的量會(huì)造成溫度下降多少、需要調(diào)整多少熱水流量才能維持溫度,這不難從熱量平衡算出來(lái)。不想費(fèi)這個(gè)事的話,也可以從歷史數(shù)據(jù)中推算。一般算出來(lái)一個(gè)前饋增益后,打上7折甚至5折再用,保險(xiǎn)一點(diǎn),不要矯枉過(guò)正。?

前饋?zhàn)饔靡话闶怯米鬏o助控制作用的,但是在特殊情況下,前饋也可以作為“預(yù)加載”(pre-loading)作為基準(zhǔn)控制作用。比如說(shuō),在一個(gè)高壓系統(tǒng)的啟動(dòng)過(guò)程中,壓力可以從靜止?fàn)顟B(tài)的常壓很快地升到很高的壓力。正常情況下,高壓系統(tǒng)不容許閥門(mén)大幅度運(yùn)動(dòng),所以控制增益都比較低,但是這樣一來(lái),啟動(dòng)升壓過(guò)程中,壓力控制的反應(yīng)就十分遲緩,容易造成壓力過(guò)高。這時(shí)用壓縮機(jī)的轉(zhuǎn)速或高壓進(jìn)料的流量作前饋,將壓力控制閥“預(yù)先”放到大概的位臵,然后再用反饋慢慢調(diào)節(jié),就可以解決這個(gè)問(wèn)題。?

有時(shí)用單個(gè)閥門(mén)難以控制大范圍變化的流量,這是一個(gè)很實(shí)際的問(wèn)題。工業(yè)閥門(mén)一般turndown只有10:1,也就是說(shuō),如果這個(gè)閥門(mén)的最大流量是100噸/小時(shí)的話,低于10噸/小時(shí)就難以控制了,當(dāng)然,高于90噸/小時(shí)也幾近失去控制。所以,要真的保證0-100的精確控制,需要將一個(gè)大閥和一個(gè)小閥并列,小閥負(fù)責(zé)小流量時(shí)的精確控制,大閥負(fù)責(zé)大流量時(shí)的精確控制,這就是所謂的分程控制(splitrangecontrol)。分程控制時(shí),小閥首先打開(kāi),超過(guò)小閥最大流量時(shí),小閥就固定在全開(kāi)位臵,大閥開(kāi)始打開(kāi),接過(guò)控制。這是開(kāi)-開(kāi)型分程控制。也有關(guān)-開(kāi)型分程控制,比如反應(yīng)器夾套溫度控制,隨溫度逐漸上升,冷卻水逐漸關(guān)閉,直到冷卻水全關(guān),加熱蒸氣開(kāi)始打開(kāi)。分程控制當(dāng)然不一定只有兩截,三截甚至更多都是可以的,道理都一樣。分程控制的問(wèn)題在于不同閥門(mén)的交接點(diǎn)。閥門(mén)在特別小的開(kāi)度時(shí),控制非常不靈敏,前面說(shuō)到的10:1也是這個(gè)道理。所以實(shí)用中,開(kāi)-開(kāi)型分程控制常常在交接點(diǎn)附近有一段重疊,也就是小閥快要全開(kāi)但還沒(méi)有全開(kāi)時(shí),大閥已經(jīng)開(kāi)始動(dòng)作,這樣,到小閥全開(kāi)、不能再動(dòng)彈時(shí),大閥已經(jīng)進(jìn)入有效控制范圍。關(guān)-開(kāi)型分程控制常常在交接點(diǎn)設(shè)臵一個(gè)死區(qū),避免出現(xiàn)兩個(gè)閥都有一點(diǎn)點(diǎn)開(kāi)度的情況。分程控制的交接點(diǎn)的設(shè)臵有一點(diǎn)講究,應(yīng)該根據(jù)閥的大小。比如A閥比B閥大一倍,那分程點(diǎn)應(yīng)該設(shè)在1/3先開(kāi)B閥,而不是懶漢做法的1/2。?

很多過(guò)程參數(shù)都是可以測(cè)量的,但也有很多參數(shù)是沒(méi)法直接測(cè)量的,這時(shí),如果能夠通過(guò)別的可以測(cè)量的過(guò)程參數(shù)來(lái)間接計(jì)算真正需要控制的參數(shù),這就是所謂的推斷控制(inferentialcontrol)。比如精餾塔頂?shù)漠a(chǎn)品純度可以用氣相色譜(gaschromatograph,GC)來(lái)測(cè)量,但結(jié)果要等40分鐘才能出來(lái),用來(lái)做實(shí)時(shí)控制,黃花菜都涼了。推斷控制是和“軟傳感器”(softsensor)的概念緊密相連的。對(duì)精餾塔塔頂純度這個(gè)例子來(lái)說(shuō),可以用純度和塔頂溫度、壓力作一個(gè)數(shù)學(xué)模型,用可以測(cè)量的溫度和壓力,間接計(jì)算出純度。在計(jì)算機(jī)控制普及的今天,這是很容易實(shí)現(xiàn)的,但是在很多地方,推斷控制仍然被看成很神秘的東西,悲哀。?

有的時(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è)上稱其為閥位控制(valvepositioncontrol)。這個(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è)控制閥的情況是選擇性控制(overridecontrol或selectivecontrol)。舉個(gè)例子,鍋爐的溫度由燃料流量控制,溫度高了,燃料流量就減下來(lái),但是燃料流量低到燃料管路壓力低于爐膛壓力,那要出現(xiàn)危險(xiǎn)的回火,所以,這時(shí),燃料管路壓力就要接管控制,而犧牲爐膛溫度。換句話說(shuō),正常時(shí)候,爐膛溫度控制起作用,燃料管路壓力低于一定數(shù)值時(shí),燃料管路壓力控制器作用。在實(shí)施時(shí),就是爐膛溫度控制器和燃料管路壓力控制器的輸出都接到一個(gè)高選器,然后高選器的輸出接到實(shí)際的燃料閥。這個(gè)概念很清楚,但是初次接觸選擇性控制的人,常常容易被高選還是低選搞糊涂,明明是壓力太低,怎么是高選呢?其實(shí),只要記住高選還是低選是從閥門(mén)這一頭看的,和溫度、壓力的高度沒(méi)有關(guān)系,就不會(huì)搞暈了。如果“非?!弊兞砍^(guò)界限了,你要閥門(mén)打開(kāi),那就是高選;你要閥門(mén)關(guān)閉,那就是低選。

現(xiàn)代控制理論?

PID從二、三十年代開(kāi)始在工業(yè)界廣泛應(yīng)用,戲法變了幾十年,也該換換花樣了。PID說(shuō)一千道一萬(wàn),還是經(jīng)典控制理論的產(chǎn)物。50-60年代時(shí),什么都要現(xiàn)代派,建筑從經(jīng)典的柱式、比例、細(xì)節(jié)的象征意義,變到“形式服從功能”的鋼架玻璃盒子;汽車從用機(jī)器牽引的馬車,變到流線型的鋼鐵的藝術(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é)家想的卻是什么解的存在性、唯一性之類虛頭八腦的東西。不過(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è)。那么,要是這龍中間有幾個(gè)童子開(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)橫著看不順眼的話,可以豎著看,興趣來(lái)了,還可以斜著看、倒著看、擰著看,因?yàn)椴还茉趺纯?,系統(tǒng)的本質(zhì)是一樣的。但是不同的角度有不同的用處,有的角度設(shè)計(jì)控制器容易一點(diǎn),有的角度分析系統(tǒng)的穩(wěn)定性容易一點(diǎn),諸如此類,在控制理論里就叫這個(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è)卡爾曼濾波器(KalmanFilter)。說(shuō)它是濾波器,其實(shí)是一個(gè)狀態(tài)觀測(cè)器(stateobserver),用來(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)也得出了類似的結(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)吧。?

除了卡爾曼濾波器外,卡爾曼的理論在實(shí)際中用得不多,但是卡爾曼的理論在理論上建立了一個(gè)出色的框架,對(duì)理解和研究控制問(wèn)題有極大的作用。?

順便說(shuō)一句,卡爾曼的理論基本局限于線形系統(tǒng),也就是說(shuō),十塊大洋買一袋米,二十塊大洋就買兩袋米,都是成比例的。實(shí)際系統(tǒng)中有很多非線性的,兩千塊大洋還能買兩百袋米,但兩千萬(wàn)大洋就要看米倉(cāng)有沒(méi)有貨了,不是錢(qián)越多,買的米越多,有一個(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)彎,不光方向盤(pán)是一個(gè)輸入,油門(mén)和剎車也是輸入變量。狀態(tài)空間的理論在數(shù)學(xué)表述上為線性、非線性、單變量、多變量、時(shí)變、時(shí)不變系統(tǒng)提供了一個(gè)統(tǒng)一的框架,這是卡爾曼最大的貢獻(xiàn)。

最優(yōu)控制?

前面說(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)。這是牛頓老爺子就整明白的東東,現(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)控制(timeoptimalcontrol)問(wèn)題,簡(jiǎn)單地說(shuō),就是給定最大馬力和最大剎車功率,問(wèn)題是怎么開(kāi)汽車能夠最快地從A點(diǎn)開(kāi)到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)想象力,可以想象“梆”的一下,控制量的油門(mén)板一腳到底,再是“梆”的一下,剎車板一腳到底,控制任務(wù)就完成了。所以最速控制也叫“梆-梆”控制(bangbangcontrol)。?

最速控制在理論上是一個(gè)很有趣的問(wèn)題,解法也是簡(jiǎn)潔、優(yōu)美,但在實(shí)際中直接使用的例子實(shí)在是鳳毛麟角,一般都是開(kāi)始時(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)之前上下晃蕩幾下。?

最速控制問(wèn)題是較早的最優(yōu)控制問(wèn)題,它提供了一個(gè)很有趣的思路,但這顆樹(shù)上開(kāi)花結(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è):?

1、如果不包括控制量,那最優(yōu)控制的解是沒(méi)有意義的,因?yàn)闊o(wú)窮大的控制量可以使累計(jì)平方偏差為最小,但無(wú)窮大的控制量是不現(xiàn)實(shí)的。?

2、控制量的大小通常和能量、物料的消耗連在一起,實(shí)際控制問(wèn)題一般是“在最小能量、物料消耗小達(dá)到最高的控制精度”,所以在“山峰”中同時(shí)包含控制偏差和控制量是很自然的。?

3、系統(tǒng)模型總是有誤差的,誤差“總是”在高頻、大幅度控制作用下最突出,所以為了減低系統(tǒng)對(duì)模型誤差的敏感性,也有必要限制控制量的大小。?

所以線性二次型最優(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)的。?

線型二次型最優(yōu)控制開(kāi)創(chuàng)了一整個(gè)新的控制領(lǐng)域,很快從狀態(tài)空間走出來(lái),進(jìn)入其他領(lǐng)域,子孫繁衍,人丁興旺。這一支是當(dāng)今最優(yōu)控制在應(yīng)用中的主體。?

線性二次型控制具有各種各樣的優(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)邪門(mé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)定嘍。?

李亞普諾夫比卡爾曼還要數(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)定性連到一起。?

再扯一句李亞普諾夫,他的第二個(gè)定理非常威猛,但是有點(diǎn)像一個(gè)奇形怪狀的大錘,到現(xiàn)在人們還在找合適的釘子,好用這把大錘砸?guī)紫隆>€性二次型控制是已知的僅有的幾個(gè)釘子之一,另一個(gè)是變結(jié)構(gòu)控制,也可以用李亞普諾夫方法,這是題外話了。

數(shù)字控制?

都說(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ù)、離散兩套,不盡相同,但是大同小異。?

要是數(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ò)程。回到洗熱水澡的例子,如果熱水龍頭不在跟前,而是在村外一里地的小鍋爐房里,你只能用電話遙控,那水溫或許可以表示為?

下一分鐘水溫=0.7*現(xiàn)在水溫+0.2*上一分鐘水溫+0.1*再上一分鐘水溫+0.4*(5分鐘前鍋爐房龍頭開(kāi)度-6分鐘前鍋爐房龍頭開(kāi)度)?

顯然,下一分鐘的水溫受現(xiàn)在水溫的影響比上一分鐘和再上一分鐘的水溫的影響要大,但鍋爐房龍頭開(kāi)度要是不變,現(xiàn)在、上一分鐘、再上一分鐘水溫都一樣的話,下一分鐘的水溫也應(yīng)該和現(xiàn)在的水溫一樣。為什么用5分鐘前鍋爐房的龍頭開(kāi)度呢?那是因?yàn)闊崴畯拇逋饬鞯较丛璺恳幸欢ǖ臅r(shí)間,這個(gè)時(shí)間就是滯后。要是把時(shí)間向前推,那現(xiàn)在的龍頭開(kāi)度就會(huì)影響5分鐘后的水溫。這說(shuō)明了離散模型的一個(gè)重要特質(zhì):預(yù)估能力。所有預(yù)報(bào)模型都是建立在離散模型的這個(gè)預(yù)估能力上,不管是天氣預(yù)報(bào),還是經(jīng)濟(jì)預(yù)測(cè),還是自動(dòng)控制里對(duì)有滯后的過(guò)程的控制。?

數(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。這樣,控制律就可以表示為?

當(dāng)前的控制量=上一步的控制量*(設(shè)定值/當(dāng)前的測(cè)量值)?

也就是說(shuō),在被控變量高于設(shè)定值10%的情況下,控制量也增加10%;測(cè)量值和設(shè)定值一樣時(shí),控制量不再變化。實(shí)際使用時(shí),誰(shuí)除以誰(shuí)要根據(jù)測(cè)量值上升你是要控制量上升還是下降來(lái)決定,控制律也要稍微修改一下,成為?

當(dāng)前的控制量=上一步的控制量*(當(dāng)前的測(cè)量值/設(shè)定值)^k?

k次方是用來(lái)調(diào)整控制律對(duì)“偏差”(這是已經(jīng)不是差值,而是比值了,嚴(yán)格地說(shuō),應(yīng)該叫“偏比”?)的靈敏度,相當(dāng)于比例增益。這個(gè)控制律實(shí)際上相當(dāng)于對(duì)數(shù)空間的純積分控制,要是有興趣,對(duì)很多常見(jiàn)的非線性過(guò)程有相當(dāng)不錯(cuò)的效果,實(shí)現(xiàn)也簡(jiǎn)單。然而,這是一個(gè)本質(zhì)離散的控制律,在連續(xù)時(shí)間里無(wú)法實(shí)現(xiàn)。?

離散控制可以“看一步、走一步”的特性,是連續(xù)控制很難模仿的,也是在實(shí)際中極其有用的。

辨識(shí)?

形形色色的控制理論再牛,沒(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í)—一顯身手的地方了。?

如果給定一個(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è)值之間的累積平方誤差為最小。?實(shí)際工業(yè)過(guò)程大多有多年的運(yùn)行經(jīng)驗(yàn),大量的數(shù)據(jù)不成問(wèn)題。對(duì)于大多數(shù)常見(jiàn)過(guò)程,模型的基本結(jié)構(gòu)和定性性質(zhì)也可以猜一個(gè)八九不離十,有了如此有力的數(shù)學(xué)“大錘”,那么應(yīng)該可以砸開(kāi)一切建模的硬核桃啦。且慢,世上沒(méi)有真正的“神奇子彈”,一個(gè)問(wèn)題解決了,另一個(gè)同等難度的問(wèn)題又會(huì)出現(xiàn)。對(duì)于辨識(shí)來(lái)說(shuō),問(wèn)題有好幾個(gè)。?

第一個(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),比如“莫名其妙”地把閥門(mén)動(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)很吃力,常常必須做一定的開(kā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)題,下面要談到。

第二個(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ò)程開(kāi)環(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è)變量,開(kāi)環(huán)試驗(yàn)一做就是一、兩個(gè)星期或者更長(zhǎng)。要是一個(gè)裝臵能夠兩個(gè)星期開(kāi)環(huán),那也不需要什么控制了。

第三個(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è)備的可能的危害,都是工廠極不愿意見(jiàn)到的。理論家們?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í)際上用得很少。

第四個(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ù),專門(mén)做試驗(yàn),用各自獨(dú)立的輸入,便是模型。?

第五個(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é)方法還是不夠可靠。?

在搞模型的人中間,常常會(huì)聽(tīng)到黑箱、白箱和灰箱的說(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ì)就要多得多。?

不管什么箱,最后還是有一個(gè)如何辨識(shí)實(shí)際過(guò)程的問(wèn)題。閉環(huán)辨識(shí)的好處不用多說(shuō)了,問(wèn)題是如何從閉環(huán)辨識(shí)中獲得有用的模型。工業(yè)上有一個(gè)辦法,沒(méi)有一個(gè)“官名”,但實(shí)際上是一個(gè)開(kāi)環(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)定性的要求。


自動(dòng)控制的故事(中)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
武汉市| 湄潭县| 浦北县| 长武县| 平利县| 达拉特旗| 祁门县| 星子县| 勐海县| 南召县| 阳谷县| 伊通| 宽城| 山东| 文成县| 时尚| 瑞丽市| 丰顺县| 邹城市| 湖州市| 比如县| 修水县| 和平县| 察哈| 上高县| 榕江县| 龙口市| 襄城县| 玉山县| 太仆寺旗| 鄂伦春自治旗| 高邑县| 丹巴县| 鄂尔多斯市| 中超| 宁河县| 那曲县| 大埔区| 武强县| 台南县| 永新县|