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