在介紹了幾種數(shù)據(jù)驅(qū)動控制算法(比例-積分-微分控制PID、迭代學(xué)習(xí)控制ILC、無模型自適應(yīng)控制MFAC)后,本文試圖探討這么一個問題:針對處于給定應(yīng)用場景下的被控對象,如何選擇合適的動態(tài)控制方法以保證優(yōu)異的控制系統(tǒng)性能?為限定討論的范圍,這里動態(tài)控制指在參考輸入(ReferenceInput)已知的情況下,控制方法根據(jù)內(nèi)部觀測和被控對象信息計算出控制輸入指令(ControlInput)使得被控對象輸出跟隨參考輸入的過程。如圖1紅色虛線框所示,系統(tǒng)對外部環(huán)境的感知以及據(jù)此做出的軌跡規(guī)劃/決策暫不在本文的討論范圍。
圖1.自動化系統(tǒng)組成部分[1]
對于工業(yè)自動化系統(tǒng)來說,動態(tài)控制算法應(yīng)該具備實(shí)時(運(yùn)算時間可短至毫秒級別或者更低)、可靠(始終保持對系統(tǒng)的一致、有效控制,保證控制系統(tǒng)的穩(wěn)定性)、魯棒性(干擾或不確定情況下,輸出偏差在給定范圍內(nèi),不能相差很大或得到完全相反的結(jié)果)、確定(輸出確定性指令使系統(tǒng)盡可能精確地跟隨參考輸入,而不是概率意義上的判斷)以及可解釋性(和現(xiàn)實(shí)的被控對象關(guān)聯(lián))的特點(diǎn)。根據(jù)在控制實(shí)施過程中是否引入被控對象動力學(xué)模型,可將控制方法分為兩類:基于模型的控制和數(shù)據(jù)驅(qū)動控制,分別如圖2(a)和(b)所示?;谀P偷目刂圃诤侠斫<僭O(shè)下,首先建立被控對象模型描述其動力學(xué)特性并以該模型為中心,完成控制器設(shè)計、參數(shù)整定、性能分析以及實(shí)時運(yùn)算;數(shù)據(jù)驅(qū)動控制則直接從系統(tǒng)可用數(shù)據(jù)出發(fā),通過對數(shù)據(jù)的有效組織和整理(表現(xiàn)為數(shù)據(jù)模型),完成包含設(shè)計、分析以及實(shí)時運(yùn)算的整個控制流程。
圖2不同控制方法實(shí)施流程基于模型的控制
基于模型的控制根植于這樣一種理念:既然是對被控對象進(jìn)行動態(tài)控制,如果能夠準(zhǔn)確知道被控對象動力學(xué)行為,便能有針對性地設(shè)計控制器以給出正確的控制指令;被控對象動力學(xué)行為如果能夠通過數(shù)學(xué)模型精確描述,即數(shù)學(xué)模型所代表的系統(tǒng)和實(shí)際被控對象等效,那以模型為中心得到的理論控制性能和控制器實(shí)際實(shí)施中性能一致。因此,如圖2(a)所示,基于模型的控制器設(shè)計第一步就是建立被控對象模型,最終控制性能分析和實(shí)際運(yùn)算也是依據(jù)模型,其中模型可以經(jīng)辨識得到或者從作用機(jī)理(物理、化學(xué)定理定律)出發(fā)推導(dǎo)而來。
理想情況下,如果建模精確、參數(shù)準(zhǔn)確,模型能夠正確反映被控系統(tǒng)在各種激勵/工況下的變化情況:那么就能夠通過模型的計算結(jié)果得到被控系統(tǒng)的實(shí)時輸出值,代替?zhèn)鞲衅鞯淖饔茫@對于不便于安裝傳感器或傳感測量系統(tǒng)成本較高的場合至關(guān)重要;機(jī)理模型自動保證了被控系統(tǒng)輸入、輸出以及內(nèi)部狀態(tài)變量之間結(jié)構(gòu)化、可解釋的聯(lián)系(這種聯(lián)系已經(jīng)自動包含在由大量實(shí)驗(yàn)和理論發(fā)現(xiàn)總結(jié)得到的各種普適性定理定律中),這正是利用深度學(xué)習(xí)利用各種深層神經(jīng)網(wǎng)絡(luò)所渴望達(dá)到的(相對于支持向量機(jī)等‘淺層學(xué)習(xí)’方法,深度學(xué)習(xí)在多層次網(wǎng)絡(luò)結(jié)構(gòu)的架構(gòu)下,通過對原始數(shù)據(jù)進(jìn)行逐層處理,逐步組合低層特征形成更加抽象的高層類別或特征)。充分利用模型所給出的信息,可以達(dá)到對被控對象最優(yōu)的控制效果。從上世紀(jì)60年代以來,最優(yōu)控制(OptimalControl)、模型預(yù)測控制MPC(ModelPredictive)、自適應(yīng)控制(IndirectAdaptiveControl)以及針對非線性系統(tǒng)的反饋線性化控制(FeedbackLinearization)、反步控制(Back-steppingcontrol)等各種基于模型的控制方法取得了重要研究進(jìn)展,在實(shí)際應(yīng)用中也已經(jīng)體現(xiàn)了巨大威力,如模型預(yù)測控制(即根據(jù)數(shù)學(xué)模型預(yù)測被控系統(tǒng)未來動態(tài)變化情況,并根據(jù)此預(yù)測和當(dāng)前約束計算出最優(yōu)的控制輸入指令)已經(jīng)成功地控制人形機(jī)器人Atlas(@BostonDynamics))優(yōu)雅地完成奔跑、跳躍、后空翻以及高難度體操動作(在這些動作過程中,需要全身多達(dá)幾十個關(guān)節(jié)以及相應(yīng)執(zhí)行機(jī)構(gòu)同步、精準(zhǔn)完成規(guī)定動作)。
由于高度依賴于模型,模型的準(zhǔn)確性決定了基于模型的控制系統(tǒng)性能。為簡化模型并方便控制器設(shè)計,如圖2(a)所示,在建模時通常會進(jìn)行合理假設(shè),未建模動態(tài)不可避免地存在。加之未知外界干擾或噪聲,使得被控對象實(shí)際的動力學(xué)行為和模型所代表的動力學(xué)行為出現(xiàn)偏差,等效原則不再適用,會導(dǎo)致基于模型的控制系統(tǒng)性能惡化甚至系統(tǒng)失穩(wěn)。此時,在對未建模動態(tài)或干擾進(jìn)行假設(shè)的前提下,可通過相應(yīng)的魯棒性設(shè)計以保證控制系統(tǒng)的控制性能。
當(dāng)被控對象無法準(zhǔn)確建模(如隨機(jī)性或不確定性系統(tǒng))或者為高復(fù)雜性系統(tǒng)(用來等效描述其動力學(xué)行為的模型復(fù)雜度也隨之提高),基于模型的控制方法面臨著控制算法結(jié)構(gòu)復(fù)雜以及由此帶來的設(shè)計、分析、實(shí)時運(yùn)算難度加大等問題,甚至無法設(shè)計出有效的基于模型的控制器。另一方面,隨著自動化系統(tǒng)數(shù)字化程度不斷增強(qiáng),系統(tǒng)可用數(shù)據(jù)量也隨著增加。以上兩方面為數(shù)據(jù)驅(qū)動控制的發(fā)展及應(yīng)用開辟了道路。
數(shù)據(jù)驅(qū)動控制
從字面上來看,數(shù)據(jù)驅(qū)動控制包含數(shù)據(jù)驅(qū)動和控制兩個詞,即利用數(shù)據(jù)驅(qū)動方法完成控制任務(wù)。從數(shù)據(jù)驅(qū)動的角度來看,一種常見的觀念是將數(shù)據(jù)驅(qū)動和機(jī)器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)直接對應(yīng)起來。實(shí)際上,機(jī)器學(xué)習(xí)或神經(jīng)網(wǎng)絡(luò)等方法并不代表著數(shù)據(jù)驅(qū)動的全部內(nèi)涵。數(shù)據(jù)驅(qū)動可以理解為利用特定框架或結(jié)構(gòu)來組織整理數(shù)據(jù)并挖掘相關(guān)信息以完成特定任務(wù),這個意義上來看,神經(jīng)網(wǎng)絡(luò)或者決策樹、支持向量機(jī)都可以理解為‘特定框架/結(jié)構(gòu)’中的一種,對于工業(yè)自動化控制的應(yīng)用場合來說,當(dāng)然也存在著其它類型的組織、整理數(shù)據(jù)的方法。從控制的角度來看:數(shù)據(jù)驅(qū)動控制作為動態(tài)控制方法的一類,其性能應(yīng)該滿足工業(yè)自動化系統(tǒng)對動態(tài)控制算法的一般性要求。在綜合了數(shù)據(jù)驅(qū)動控制的不同描述后,參考文獻(xiàn)[2]給出了數(shù)據(jù)驅(qū)動控制嚴(yán)格定義:
【數(shù)據(jù)驅(qū)動控制定義】:數(shù)據(jù)驅(qū)動控制包含所有這樣的控制理論及方法:這些理論和方法通過直接利用(被控系統(tǒng)在線/離線輸入/輸出數(shù)據(jù)或從數(shù)據(jù)處理過程中得到的知識),而并不通過(顯式地利用從被控對象數(shù)學(xué)模型得到的信息)來設(shè)計控制器;這些理論和方法的穩(wěn)定性、收斂性和魯棒性能夠在合理假設(shè)前提下能夠通過嚴(yán)格的數(shù)學(xué)分析得到保證。如圖2(a,b)所示,與基于模型的控制方法相比,數(shù)據(jù)驅(qū)動控制方法直接從系統(tǒng)可用數(shù)據(jù)(數(shù)據(jù)本身包含了系統(tǒng)結(jié)構(gòu)變化、未建模動態(tài)和未知干擾等信息)出發(fā),擺脫了對被控對象模型的依賴由此提高了控制系統(tǒng)的魯棒性、并能夠有效地處理難以建模的被控對象的控制問題。值得注意的是,盡管目前機(jī)器學(xué)習(xí)、深度神經(jīng)網(wǎng)絡(luò)等數(shù)據(jù)驅(qū)動方法已經(jīng)成功地應(yīng)用到外部環(huán)境感知、推理決策、故障診斷及預(yù)測等不同環(huán)節(jié)中(見圖1),但其在動態(tài)控制中的應(yīng)用、理論分析仍有待進(jìn)一步發(fā)展。作為參考,這里給出參考文獻(xiàn)[1]對機(jī)器學(xué)習(xí)控制(MachineLearningControl)的定義:【機(jī)器學(xué)習(xí)控制定義】:機(jī)器學(xué)習(xí)控制是一種使用機(jī)器學(xué)習(xí)算法來學(xué)習(xí)有效控制率的概念,該概念用來因應(yīng)難以或不可能(對要處理復(fù)雜控制任務(wù)的系統(tǒng))進(jìn)行建模的場合。在該定義中,機(jī)器學(xué)習(xí)控制也是針對基于模型的控制方法無法應(yīng)用的場合,以已經(jīng)存在的有效控制率為學(xué)習(xí)對象或內(nèi)容。然而關(guān)鍵性的問題正是面臨復(fù)雜控制任務(wù)時,如何設(shè)計這一有效控制率以保證系統(tǒng)正常運(yùn)轉(zhuǎn),并提供機(jī)器學(xué)習(xí)所需要的足夠數(shù)據(jù)。參考文獻(xiàn)[1]給出了這樣的例子:在受控/訓(xùn)練環(huán)境下,用動作捕捉系統(tǒng)準(zhǔn)確獲知無人機(jī)位置,并根據(jù)位置信息通過模型預(yù)測控制器準(zhǔn)確控制無人機(jī)避障,然后使用強(qiáng)化學(xué)習(xí)對模型預(yù)測控制器進(jìn)行學(xué)習(xí);在測試環(huán)境中,撤掉動作捕捉系統(tǒng)(只有機(jī)載傳感器),利用已經(jīng)訓(xùn)練好的深度神經(jīng)網(wǎng)絡(luò)來控制無人機(jī)運(yùn)動。這里實(shí)際利用了深度神經(jīng)網(wǎng)絡(luò)強(qiáng)大的擬合和泛化能力,使得控制系統(tǒng)面臨未知新情況也能進(jìn)行有效控制。按照參考文獻(xiàn)[2]對數(shù)據(jù)驅(qū)動控制的定義,深度神經(jīng)網(wǎng)絡(luò)作為控制器雖然使用了離線數(shù)據(jù)進(jìn)行訓(xùn)練,但該訓(xùn)練數(shù)據(jù)從模型預(yù)測控制而來,仍然顯式地使用了被控對象模型信息,并不嚴(yán)格屬于數(shù)據(jù)驅(qū)動控制的范疇。實(shí)際上,在深度學(xué)習(xí)取得重要進(jìn)展的領(lǐng)域(如計算機(jī)視覺、自然語言處理等)中,所針對的系統(tǒng)已經(jīng)獨(dú)立自主地運(yùn)行,而且存在著大批量相對容易獲取的‘場域’數(shù)據(jù)。對于工業(yè)自動化系統(tǒng)來說,如何對被控對象進(jìn)行有效動態(tài)控制以保證其良好運(yùn)轉(zhuǎn)已經(jīng)是一項(xiàng)艱巨的任務(wù);加之?dāng)?shù)據(jù)大多為小批量、單點(diǎn)的數(shù)據(jù),某些場景下甚至無法安裝傳感器獲取數(shù)據(jù),如何提供足夠數(shù)據(jù)保證深度學(xué)習(xí)的訓(xùn)練效果以用于動態(tài)控制又是另一項(xiàng)重大課題。因此,如何將以各類機(jī)器/深度學(xué)習(xí)算法和動態(tài)控制具體需求相結(jié)合,是一個開放性問題,需要不斷進(jìn)行探索和研究。針對工業(yè)自動化系統(tǒng)的特點(diǎn),應(yīng)該開發(fā)適用于工業(yè)自動化場合的數(shù)據(jù)驅(qū)動控制方法。除已經(jīng)在前面文章介紹的PID,ILC,MFAC,去偽控制(unfalsifiedcontrol)、懶惰學(xué)習(xí)(lazylearning)、迭代反饋調(diào)節(jié)(iterativefeedbacktuning)等其它數(shù)據(jù)驅(qū)動控制方法也取得重要研究進(jìn)展并得到了實(shí)際應(yīng)用,會在后續(xù)文章中逐一進(jìn)行介紹。
總結(jié)
回到最開始的問題,在選擇控制方法時應(yīng)該清醒地意識到:沒有一類控制方法能夠適用于所有應(yīng)用場合,各類控制方法的優(yōu)缺點(diǎn)也是相對應(yīng)用場景來說的;不應(yīng)存在對某一類控制方法的偏執(zhí),控制算法的設(shè)計應(yīng)該建立在對被控對象和應(yīng)用場景的深入理解和把握的基礎(chǔ)上。如圖3(a)所示,參考文獻(xiàn)[2]給出了一種根據(jù)被控對象建模情況選用控制方法的方式:對于能夠建立精確模型的被控對象,應(yīng)該優(yōu)先使用基于模型的控制方法(考慮到該方法能夠?qū)崿F(xiàn)對被控對象的最優(yōu)控制);對于被控對象模型不太精確且有不確定性的情況,既可選用各種魯棒、自適應(yīng)控制,也可選擇數(shù)據(jù)驅(qū)動控制方法;對于基于模型的控制力有不逮的場合則選擇數(shù)據(jù)驅(qū)動控制方法。從另一個層面來說,為達(dá)到最佳的控制效果,兩種控制方法也可根據(jù)各自優(yōu)勢結(jié)合使用,形成各種混合控制方法。例如:在基于模型的控制方法中利用數(shù)據(jù)驅(qū)動方法處理難以建模部分或未知干擾(利用神經(jīng)網(wǎng)絡(luò)擬合能力)以提高魯棒性或者在線調(diào)節(jié)基于模型的控制器;在數(shù)據(jù)驅(qū)動控制方法中利用機(jī)理模型提供有用信息、數(shù)據(jù)給數(shù)據(jù)驅(qū)動控制器、或修正數(shù)據(jù)驅(qū)動控制器給出的控制指令。
圖3.控制方法總結(jié)[2]
綜上,基于模型和數(shù)據(jù)驅(qū)動控制方法不是互相排斥‘or’的關(guān)系,而是互為補(bǔ)充‘a(chǎn)nd’的關(guān)系,兩者結(jié)合構(gòu)成了整個動態(tài)控制方法體系,如圖3(b)所示。
【參考文獻(xiàn)】
[1].S.Moe,RustadAM,HanssenKG."Machinelearningincontrolsystems:Anoverviewofthestateoftheart."InternationalConferenceonInnovativeTechniquesandApplicationsofArtificialIntelligence.Springer,Cham,2018:250-265.[2].Zhong-ShengHouandZhuoWang."Frommodel-basedcontroltodata-drivencontrol:Survey,classificationandperspective."InformationSciences2013,vol.235,pp.3-35.