當(dāng)?shù)貢r間10月13日7時32分許(北京時間同日20時32分),美國得克薩斯州星港發(fā)射基地的晨曦中,超重型助推器穿破重重云靄,以2000 km/h的速度“緩緩”飄落,拉出一道長長的軌跡云。猛禽發(fā)動機(jī)搖曳著明亮的尾焰,助推器隨之逐漸減速,在觀眾的一片驚呼聲中,近200噸的箭體“輕輕”落在塔架上。
這是美國SpaceX公司新一代重型運(yùn)載火箭“星艦”實施第五次試飛, 首次驗證了“筷子夾火箭”技術(shù)——通過發(fā)射塔的機(jī)械臂,在半空中成功捕獲回收火箭第一級助推器。這種方式可以減輕“星艦”重量,降低發(fā)射成本,同時有助于更快地回收、重復(fù)使用助推器,提高發(fā)射頻率。
“筷子夾火箭”被美國媒體稱為“史無前例”的全新火箭回收方式,對于火箭飛行控制系統(tǒng)的精度和懸停能力要求極高,略有差池就可能導(dǎo)致火箭在發(fā)射塔上傾倒或爆炸。SpaceX公司創(chuàng)始人埃隆·馬斯克此前預(yù)測,此次試飛回收成功率僅為50%。事實上,與其說“筷子夾火箭”,不如說是“把火箭停在筷子上”。其技術(shù)難度并不在于機(jī)械臂的靈巧強(qiáng)大,而在于如何將龐大的助推器精確懸停在兩根“筷子”之間。
而這一過程背后,自動控制理論功不可沒。所謂自動控制,是指“在沒有人直接參與的情況下,利用外加的設(shè)備或裝置(控制器),使機(jī)器、設(shè)備或生產(chǎn)過程(被控對象)的某個工作狀態(tài)或參數(shù)(被控量)自動地按照預(yù)定的規(guī)律運(yùn)行?!?/p>
這聽起來似乎有些費解,但其實我們對“控制”并不陌生:“用計算機(jī)控制宇宙飛船”“基因控制著遺傳”“這個病人的癌癥已經(jīng)不可控制了”……控制論(Cybernetics)作為一門方法性的交叉學(xué)科,它的眼光、世界觀早已深刻融入并塑造了我們的生活——無論是星艦火箭、神經(jīng)科學(xué)、人工智能,還是互聯(lián)網(wǎng)、哲學(xué)、戰(zhàn)爭??刂普摰臍v史是一段跨越了文化、學(xué)科和社會邊界的歷史。
1948年,控制論先驅(qū)諾伯特·維納(Norbert Wiener)在奠基性著作《控制論》(Cybernetics)中提到,Cybernetics一詞源自希臘語κυβερν?τη?,即“掌舵人”。這其中或許有更深刻的意味:舵手對風(fēng)、潮汐等干擾作出反應(yīng),糾正“誤差”,使他的船保持在航線上。在今天,科技、人文和社會暗流洶涌,我們比以往任何時候都更需要正確把握人與自身、機(jī)器、乃至社會的關(guān)系。
大學(xué)工科自動化專業(yè)所學(xué)習(xí)的自動控制理論(Control Theory),構(gòu)成了控制論的核心基礎(chǔ)[控制理論(Control Theory)可看作控制論(Cybernetics)的子集,后者的外延更大]。但是,控制理論運(yùn)用的數(shù)學(xué)工具令人望而生畏,給人以抽象、高深的印象;特別是初學(xué)者,往往被“復(fù)頻域”“極點”“濾波”“系統(tǒng)解耦”“運(yùn)動穩(wěn)定性”等一大堆名詞弄得暈頭轉(zhuǎn)向。與此同時,控制理論本身也還面臨著諸多局限和挑戰(zhàn)。
鑒于此,本文面向領(lǐng)域外讀者,將從具體例子著眼,談?wù)勛詣涌刂评碚摰睦砟詈头椒?,介紹它是一門什么樣的學(xué)問。
撰文 | 蔡寧(北京郵電大學(xué)副教授)
人類電子信息領(lǐng)域科技發(fā)展的愿景,其實就是不斷推動技術(shù)進(jìn)步,從而最終實現(xiàn)能夠自主工作的“智能體”,或者由很多智能體互聯(lián)協(xié)同工作的“超級智能體”。那么一個理想中的智能體應(yīng)具備哪些方面的能力呢?可總結(jié)如下:
* 推理:由已知判斷,根據(jù)一定規(guī)則從邏輯上推導(dǎo)出結(jié)論。
* 建模(學(xué)習(xí)):通過感知到的信息總結(jié)規(guī)律、獲得知識。
* 感官:通過傳感器感知信息。
* 記憶:信息的存儲和檢索。
* 運(yùn)動:能自主運(yùn)動,且具有平衡性和協(xié)調(diào)性。
* 情感:對于自主智能體來說,情感決定了行為的動機(jī)。
* 通信:不同智能體之間或者智能體與人之間能進(jìn)行交流。
電子信息科技領(lǐng)域內(nèi)各學(xué)科和方向,分別致力于解決以上不同方面的具體問題。其中自動控制學(xué)科所主要針對的問題就是運(yùn)動。這里“運(yùn)動”是廣義的,不僅僅指外在的位移運(yùn)動,也包括內(nèi)部狀態(tài)的變化。
動態(tài)系統(tǒng)和“反饋”
具體而言,自動控制學(xué)科的目標(biāo)是分析動態(tài)系統(tǒng),了解其運(yùn)動規(guī)律,進(jìn)而通過調(diào)整系統(tǒng)或設(shè)計控制器,實現(xiàn)所希望的運(yùn)動。傳統(tǒng)自動控制學(xué)科的基礎(chǔ)是動態(tài)系統(tǒng)的數(shù)學(xué)模型。所謂動態(tài)系統(tǒng),指的是現(xiàn)實中那些隨時間不斷發(fā)生變化,且當(dāng)前時刻的狀態(tài)受過去所有時刻的累積影響,存在“慣性”和“記憶”的對象。自動控制學(xué)科所涉及的動態(tài)系統(tǒng)數(shù)學(xué)模型主要用常微分方程和差分方程來描述。
現(xiàn)實中到處都是動態(tài)系統(tǒng)的實例,從機(jī)械臂、單擺到飛機(jī),從河流、沙丘、生物種群到大氣系統(tǒng),從計算機(jī)網(wǎng)絡(luò)、經(jīng)濟(jì)系統(tǒng)到人類社會,再到宇宙星系……這些系統(tǒng)的狀態(tài)都會隨時間而變化。例如,當(dāng)電路中含有電感、電容儲能元件時,就是一個動態(tài)系統(tǒng):RC串聯(lián)電路與恒壓源接通后,電容元件被充電,其電壓逐漸增長,要經(jīng)過一個暫態(tài)過程才能達(dá)到穩(wěn)定值;但如果沒有儲能元件,則不屬于動態(tài)系統(tǒng),因為電路狀態(tài)僅由代數(shù)方程所表示的即時關(guān)系所確定,在任一時刻的響應(yīng)只與同一時刻的激勵有關(guān),而不受過去時刻的累積影響。
一個自主運(yùn)動的動態(tài)系統(tǒng)數(shù)學(xué)模型如下:
這里x=x(t)是一個向量,稱為狀態(tài)向量,表示系統(tǒng)隨時間變化的運(yùn)動狀態(tài);
是x關(guān)于時間的導(dǎo)數(shù),表示狀態(tài)變化的趨勢。這是一個標(biāo)準(zhǔn)的狀態(tài)空間方程??梢钥闯?,系統(tǒng)取決于函數(shù)f(t, x)的具體形式,包括結(jié)構(gòu)和參數(shù)兩方面。系統(tǒng)結(jié)構(gòu)指f(t, x)的函數(shù)類型,系統(tǒng)參數(shù)則指函數(shù)表達(dá)式里面一些系數(shù)的確切取值。
為達(dá)到控制目標(biāo),需要設(shè)計控制器??刂破髟O(shè)計的基本機(jī)制,主要包括“負(fù)反饋”和“平行”兩方面。其中“負(fù)反饋”機(jī)制堪稱自動控制的靈魂,是任何一個有效的自動控制系統(tǒng)必需的前提??梢宰鰝€實驗:一個人蒙住眼睛,然后試著走直線。你會發(fā)現(xiàn)很難成功。原因在于,人體作為高效的自動控制系統(tǒng),在朝目標(biāo)行進(jìn)的過程中,需要不斷地通過反饋信息與實時位置進(jìn)行比較,動態(tài)修正運(yùn)動軌跡。而蒙上眼睛,等于喪失了反饋機(jī)制。在運(yùn)動過程中,誤差是不可避免的。沒有反饋機(jī)制,誤差會越來越大,無法糾正,最終實現(xiàn)不了期望的控制目標(biāo)。
學(xué)術(shù)界公認(rèn),近代自動控制技術(shù)應(yīng)用于工業(yè)肇始于瓦特蒸汽機(jī)的調(diào)速器。瓦特發(fā)現(xiàn)蒸汽機(jī)的轉(zhuǎn)速不穩(wěn),蒸汽忽大忽小,轉(zhuǎn)速忽快忽慢,于是采用離心調(diào)速器解決問題,如圖1所示。縱軸旋轉(zhuǎn)帶動小球做圓周運(yùn)動,形成錐面擺。轉(zhuǎn)速越高,離心力越大,小球連桿與縱軸的夾角也越大。再根據(jù)這個夾角控制閥門的開度,使夾角變大時減小蒸汽流,夾角變小時增大蒸汽流。這樣就通過引入負(fù)反饋機(jī)制,使蒸汽機(jī)的轉(zhuǎn)速變得穩(wěn)定。(瓦特“發(fā)明”離心調(diào)速器的說法流傳較廣,但這是誤傳。在蒸汽機(jī)之前,離心調(diào)速器已被大量應(yīng)用在風(fēng)車上?!幷咦ⅲ?/p>
圖1 瓦特的離心調(diào)速器
洗澡水溫怎么調(diào)?
那么,只要系統(tǒng)具有負(fù)反饋機(jī)制,就一定能實現(xiàn)有效控制嗎?生活經(jīng)驗就能告訴我們:不一定。大家都知道,張開手心,僅用單手托著木棍保持直立是個技術(shù)活,需要不斷進(jìn)行反饋調(diào)整。但是光有反饋還不夠,反饋的力度大小也很微妙,力度太小或者太大都容易傾倒。
用老式熱水器洗澡的時候,水溫靠手動調(diào)節(jié)一個機(jī)械閥門來控制。如何調(diào)節(jié)水溫也是一個技術(shù)活。水溫常常忽高忽低,閥門一會開大了一會關(guān)小了,半天也調(diào)不合適,甚至有時候“越描越黑”。這個場景其實是一個調(diào)節(jié)器系統(tǒng),屬于典型的自動控制系統(tǒng),包含了受控對象、測量機(jī)構(gòu)、控制器和執(zhí)行機(jī)構(gòu),具有負(fù)反饋機(jī)制。這里受控對象是冷熱水管路系統(tǒng),測量機(jī)構(gòu)是人的皮膚,控制器是人的大腦,執(zhí)行機(jī)構(gòu)是人的手和調(diào)節(jié)閥。
下面通過簡單仿真來具體演示假想情境(不一定是洗澡)下,一個由調(diào)節(jié)閥控制的溫控系統(tǒng)的調(diào)節(jié)過程。所使用的系統(tǒng)仿真工具是最常用的Simulink。
圖2 一個自動控制系統(tǒng)仿真結(jié)構(gòu)
圖2中的“Transfer Fcn”模塊表示假想的受控對象模型,該模型是傳遞函數(shù)形式,即模塊里的多項式分式,讀者可以視為黑箱,不用考慮細(xì)節(jié)。它的輸入信號是閥門開度,輸出信號是實際溫度?!癝tep”表示期望溫度,我們設(shè)定為40。期望溫度減去觀測到的實際溫度,就是反饋誤差信號,這是控制的依據(jù),在圖2中對應(yīng)“Subtract”模塊的輸出。顯然,最直觀自然的控制策略,是根據(jù)反饋誤差調(diào)節(jié)閥門開度。當(dāng)該誤差取正值,說明溫度偏低,水閥應(yīng)該向熱水方向調(diào)節(jié),誤差越大,閥門也開得越大。反之,如果誤差是負(fù)值,水閥向冷水方向調(diào)節(jié)??傊y門的開啟角度跟誤差成正比。這其實就是所謂的“比例控制”,“Gain”表示對信號的比例放大倍數(shù),中文一般翻譯為“增益”。
當(dāng)比例增益為1時,“Scope”模塊所顯示的輸出結(jié)果如圖3所示
圖3 比例增益為1時的輸出結(jié)果
可見經(jīng)過反復(fù)調(diào)節(jié),溫度會趨于穩(wěn)態(tài),系統(tǒng)的動態(tài)特性似乎也不算太差。但是出現(xiàn)了個意想不到的怪異現(xiàn)象:結(jié)果跟期望之間存在很明顯的誤差,無法消除。這用控制理論的術(shù)語叫“靜差”。
將比例增益增加到10,相當(dāng)于用更大的閥門開度去應(yīng)對溫度差異。結(jié)果如圖4:
圖4 比例增益為10時的輸出結(jié)果
這種情況下,溫度依然會趨穩(wěn),但是振蕩幅度與頻率都加大,動態(tài)特性變差了。靜差卻變小不少,已經(jīng)不那么明顯了。
以上是理想的比例控制。但是,現(xiàn)實總是跟理想存在差距。對于洗澡水溫控制系統(tǒng)來說,調(diào)節(jié)系統(tǒng)的實際控制器是人,是人都會有反應(yīng)時間。假定是0.1秒,已經(jīng)算反應(yīng)相當(dāng)快了。這相當(dāng)于在系統(tǒng)反饋回路中多了一個0.1秒的延時環(huán)節(jié),如圖5。
圖5 反饋回路有延時的控制系統(tǒng)
運(yùn)行結(jié)果如圖6所示:
圖6 反饋回路有延時的輸出結(jié)果
僅僅增加了一個看似微不足道的延時環(huán)節(jié),就使系統(tǒng)變得不再穩(wěn)定。可見,僅依賴反饋機(jī)制的控制并不一定可靠。
比例、導(dǎo)數(shù)、積分和“PID控制”
上面介紹了一個非常簡單的反饋調(diào)節(jié)系統(tǒng)。樸素的反饋控制思想來源于直觀的生活常識。但是,面對實際系統(tǒng)控制問題,這是遠(yuǎn)遠(yuǎn)不夠的,還會遇到各式各樣意料不到的問題。生活在今天的我們可以想見,瓦特時代的工程師在實踐中必定經(jīng)常面對層出不窮的怪問題、怪現(xiàn)象,令他們抓狂不已,一籌莫展。事實上,瓦特的離心調(diào)速器確實無法在任何工況都保持穩(wěn)定。有些情況下,調(diào)速器可能反倒會加劇系統(tǒng)振蕩,導(dǎo)致蒸汽機(jī)轉(zhuǎn)速忽快忽慢。
今天,我們已經(jīng)擁有了一整套理論體系,能對很多“怪問題”給出答案,有效地幫助我們分析動態(tài)系統(tǒng)的基本運(yùn)動規(guī)律,解釋運(yùn)動現(xiàn)象,和設(shè)計控制器解決各種實際問題。人手托木棍設(shè)法使其保持直立是一件很困難的事。因為這是一個倒立擺,屬于本質(zhì)上不穩(wěn)定的系統(tǒng),一晃就倒。但是運(yùn)用自動控制的知識方法,用機(jī)電系統(tǒng)解決這類平衡問題就易如反掌,而且能確保絕對可靠。對學(xué)自動化專業(yè)的本科生來說,自行設(shè)計制作兩輪平衡車是一件很簡單的事情,并不需要多么高深的技術(shù)。
控制理論告訴我們,如果在前面討論的調(diào)節(jié)系統(tǒng)中,決定閥門開度時不僅考慮誤差的大小,還考慮誤差變化的快慢,這就相當(dāng)于引入了阻尼。阻尼可以改善動態(tài)特性。把阻尼調(diào)小,動態(tài)響應(yīng)就變得更“賊”一些,響應(yīng)速度更快;而把阻尼調(diào)大,就變得更“笨”,響應(yīng)速度變慢。這在控制理論中叫“導(dǎo)數(shù)控制”。如果不僅考慮誤差的瞬時變化,而且讓誤差的歷史累積也來影響閥門的開度,就可以把靜差消除。這樣可在誤差為0時仍然能夠使調(diào)節(jié)閥保持所期望的角度。這在控制理論中叫“積分控制”。這樣一來,每時每刻的閥門開度都通過綜合考慮誤差大小、誤差變化快慢和累積誤差來決定??刂破魍瑫r包含比例、導(dǎo)數(shù)和積分環(huán)節(jié),就是著名的“PID控制”(
Proportional-Integral-Derivative Control)。合理運(yùn)用PID控制器,就可以解決不少實際控制問題。
整個控制理論的知識體系很豐富,PID控制只是基礎(chǔ)而已。目前控制理論的主干被大致劃分為兩部分內(nèi)容,分別是“經(jīng)典控制理論”和“現(xiàn)代控制理論”。經(jīng)典控制的理論體系發(fā)展成熟于20世紀(jì)中前期,現(xiàn)代控制的理論體系則發(fā)展成熟于20世紀(jì)中后期。決定二者分野的關(guān)鍵,就是電子計算機(jī)的發(fā)明所引發(fā)的計算、分析、仿真乃至控制方法的變革。在上世紀(jì)50年代之前,所有的科學(xué)計算都由人利用草稿紙、計算尺和數(shù)學(xué)用表等工具手工完成。那時候“Computer”可不是機(jī)器,而是人,是一種職業(yè)。如果翻譯成漢語,請務(wù)必譯成“計算員”或者“計算師”。因此,整個經(jīng)典控制理論,都力求能完全適用于純手工的計算、分析和設(shè)計。現(xiàn)代控制理論則沒有這個禁忌,所以能夠更自由、更精細(xì),適合解決更復(fù)雜的問題。自20世紀(jì)70年代以后,又出現(xiàn)了“先進(jìn)控制”的一些理念和方法,包括處理系統(tǒng)不確定性和擾動的影響的魯棒控制、能隨系統(tǒng)參數(shù)變化自動改變控制器的自適應(yīng)控制、以及結(jié)合人工神經(jīng)元和模糊邏輯等人工智能技術(shù)的智能控制等。這些控制方法充實了控制理論的內(nèi)涵,拓展了應(yīng)用范圍。
“平行”思想和兩個例子
反饋是自動控制的核心思想之一。而自動控制的第二個核心思想是平行。特別是當(dāng)需要設(shè)計某種裝置解決特定控制問題時,基于“平行”理念尋找答案,是一個基本思路。龍伯格觀測器和史密斯預(yù)估器都是這方面的典型例子。
圖7 “平行”系統(tǒng)
有時候一個動態(tài)對象的內(nèi)部狀態(tài)無法量測,能量測到的只有輸出信號。一般來說,輸出信號的維數(shù)低于內(nèi)部狀態(tài),只能體現(xiàn)內(nèi)部狀態(tài)的部分信息。剩余部分則被隱藏了,無法獲知。如何透過表象獲知本質(zhì),估測出隱藏的內(nèi)部狀態(tài)?龍伯格等人發(fā)明了一種巧妙的方法來解決這個問題,思路就是基于平行理念。觀測對象是客觀存在的,無法深入其內(nèi)部去量測。但是,我們可以構(gòu)建一個與觀測對象一樣的虛擬系統(tǒng),而這個系統(tǒng)是人造的,可以任意量測。只要兩個系統(tǒng)“一模一樣”,這時候?qū)θ嗽煜到y(tǒng)內(nèi)部狀態(tài)的量測值就可以拿過來當(dāng)作觀測對象的狀態(tài)估計。這個虛擬副本系統(tǒng),其作用只為生成觀測對象內(nèi)部狀態(tài)的估計值,所以叫“觀測器”。真實系統(tǒng)與其虛擬副本“一模一樣”是做不到的。因此實用的龍伯格觀測器還需要引入反饋,根據(jù)兩個平行系統(tǒng)輸出量之間的誤差修正觀測結(jié)果。
有些受控對象是存在固有時滯的,例如前面討論的溫度調(diào)節(jié)系統(tǒng)。利用史密斯預(yù)估器可以巧妙地把時滯給“消掉”,思路也是基于平行理念。讀者或許已經(jīng)猜到大致實現(xiàn)原理了。我們可以構(gòu)建一個與觀測對象一樣的虛擬系統(tǒng),而這個系統(tǒng)是人造的,可以做到?jīng)]有時滯。只要兩個系統(tǒng)“一模一樣”,這時候人造系統(tǒng)的輸出值就可以當(dāng)作受控對象輸出的提前預(yù)估。用人造系統(tǒng)代替受控對象進(jìn)行反饋控制,就相當(dāng)于把時滯給消除了。這個虛擬副本系統(tǒng),其作用只為預(yù)估時滯受控對象的輸出信息,所以叫“預(yù)估器”。
自動控制中很多其他用于解決特定問題的裝置也都蘊(yùn)含著平行理念,如內(nèi)??刂破?、魯棒補(bǔ)償器、模型預(yù)測控制等。
自動控制已經(jīng)形成了成熟豐富的知識體系,可以有效解決很多工程問題??刂评碚撛谏蟼€世紀(jì)迅速發(fā)展,經(jīng)歷了幾個重要階段,包括經(jīng)典控制、現(xiàn)代控制以及“先進(jìn)控制理論”。雖然這門學(xué)科似乎仍然年輕,但經(jīng)歷了這些階段之后,局限性已開始顯現(xiàn)。傳統(tǒng)自動控制方法特別擅長解決運(yùn)動體的機(jī)電控制以及相對比較簡單的過程控制等問題,如車輛控制、船舶控制、飛行器控制、機(jī)器人運(yùn)動控制、制導(dǎo)、火控系統(tǒng)實現(xiàn)等。對這類系統(tǒng),人們大都可以通過牛頓力學(xué)分析建立階次較低的數(shù)學(xué)模型,并能基于微分方程數(shù)值解實現(xiàn)精確的仿真。傳統(tǒng)控制理論體系的方法論范式依賴于數(shù)學(xué)的線性/非線性動力學(xué),對系統(tǒng)性質(zhì)的判斷和運(yùn)動趨勢的預(yù)測均強(qiáng)調(diào)嚴(yán)格的數(shù)學(xué)證明。然而,現(xiàn)實中有更多的復(fù)雜動態(tài)系統(tǒng)無法或很難建立明確的簡單微分方程模型。盡管如此,社會和經(jīng)濟(jì)發(fā)展的需求依然越來越迫切,要求人們盡快從科學(xué)、工程的角度為這些復(fù)雜系統(tǒng)的分析、預(yù)測、控制乃至決策和管理問題提供解決思路。錢學(xué)森先生早已指出:控制的未來在于整個方法論體系的質(zhì)變。未來方法論的變革應(yīng)該包含兩個趨向。一方面,控制理論自身的發(fā)展更趨向物理化、實驗化、智能化,從而對各種復(fù)雜工程對象有更好的適用性。另一方面,控制理論需要融合多學(xué)科知識,深化學(xué)科交叉,才有可能處理更廣域的復(fù)雜工程問題。
特 別 提 示
1. 進(jìn)入『返樸』微信公眾號底部菜單“精品專欄“,可查閱不同主題系列科普文章。
2. 『返樸』提供按月檢索文章功能。關(guān)注公眾號,回復(fù)四位數(shù)組成的年份+月份,如“1903”,可獲取2019年3月的文章索引,以此類推。
版權(quán)說明:歡迎個人轉(zhuǎn)發(fā),任何形式的媒體或機(jī)構(gòu)未經(jīng)授權(quán),不得轉(zhuǎn)載和摘編。轉(zhuǎn)載授權(quán)請在「返樸」微信公眾號內(nèi)聯(lián)系后臺。