王 寧,潘慕絢,黃金泉
(南京航空航天大學能源與動力學院,南京210016)
直升機是1個多自由度、強耦合的系統,與發動機系統之間相互耦合[1]。隨著新一代直升機性能不斷提高,對直升機控制系統、操縱品質和機動性的要求越來越高,各子系統復雜程度和耦合效應大大增加,傳統串級PID控制方法難以獲得較好的控制效果[2]。此外,直升機機動飛行時,由于旋翼扭矩相對于操縱量變化的滯后特性和發動機控制系統動態特性造成的不容忽視的時滯特性,使得發動機不能及時針對操縱量變化進行調整,因此,在設計發動機控制律時必須考慮這種滯后性,而傳統串級PID方案處理上述時滯效應時顯得能力不足,最終導致控制系統性能較差[3]。
模型預測控制(MPC)技術[4]由于具有對模型寬容性、有限時域滾動優化有效性以及在設計中考慮各種軟硬約束可能性等突出特點,若將該動態優化技術應用到發動機控制系統中,對解決上述時滯效應問題、改善閉環系統動態特性無疑是1種可期待的控制方法。預測控制方法的核心是基于1個預測模型在一定控制時域內進行滾動優化控制,其間考慮到相關約束并利用反饋校正機制準確控制目標。預測控制方法的突出優點是可利用大量有效信息進行優化控制,在有擾動或模型失配的情況下具有良好的魯棒性。
2007年,美國NASA研究中心在1次重要會議上介紹了有關智能發動機NMPC的應用[5]。從國內、外文獻來看,NMPC在航空發動機控制方面已有相關探索研究[6-7];文獻[8]利用神經網絡訓練預測模型實現了帶旋翼負載的渦軸發動機在小擾動情況下的預測控制;文獻[9-10]通過串聯穩態非線性模型和ARX動態線性模型作為預測模型進行渦軸發動機動力渦輪轉速控制;文獻[11]建立MRR-LSSVR預測模型進行渦軸發動機預測控制;文獻[12]通過在線滾動更新OPS-LSSVR預測模型進行渦軸發動機預測控制等。以上研究大多利用神經網絡或者支持向量機進行多輸出預測模型辨識,但神經網絡以及支持向量機有自身的缺陷,如需要多次迭代,訓練時間長,容易陷入局部最優解等。極限學習機(ELM)算法具有訓練速度快、泛化能力強的特點,在辨識多輸出參數耦合模型方面具有較大優勢[13]。其中核極限學習機(KELM)由于具有可調參數少、收斂速度快、泛化能力強等諸多優點,在模型辨識等方面已經得到廣泛的研究與應用[14-15]。此外,大多研究僅考慮了燃油量及燃油變化量限制約束,對于渦軸發動機控制問題,除了考慮以上約束限制外,還需要考慮發動機轉速、燃氣渦輪出口溫度、壓氣機喘振裕度限制,保證發動機平穩、安全、可靠地工作。
本文針對渦軸發動機控制系統中時滯特性問題,提出了1種基于在線滾動序列的核極限學習機(OSS-KELM)的非線性模型預測控制方法。
渦軸發動機控制的目的是保證當直升機操縱量發生改變時,發動機動力渦輪轉速恒定,抑制動力渦輪轉速的超調/下垂量。NMPC控制是1種基于有限時域帶約束的目標函數的開環優化方法,運用非線性模型預測渦軸發動機未來時刻的輸出,并利用在線滾動優化算法求解發動機動力渦輪轉速控制器。本文提出的渦軸發動機NMPC控制方案原理如圖1所示。

圖1 渦軸發動機NMPC控制系統方案
NMPC控制器包括在線更新預測模型、在線滾動優化以及反饋校正3部分,其中預測模型能夠實現在線更新,保證預測精度。預測模型根據當前時刻燃油Wf以及歷史的輸入和輸出信息,在線實時預測發動機系統輸出,如旋翼扭矩Qh、動力渦輪轉速np、燃氣渦輪轉速nG、渦輪級間溫度T45和壓氣機喘振裕度等;基于預測模型以有限時域帶約束的動力渦輪轉速恒定為尋優目標,利用SQP算法求解未來有限時域內的燃油輸入,并將下一時刻的輸入通過執行機構輸入到發動機燃燒室;根據KELM模型與實際系統輸出誤差修正控制指令,提高控制精度。
當訓練數據集過大時,學習算法中矩陣求逆計算耗時嚴重。而且對于復雜的直升機/發動機系統,系統參數變化速度較快,變化范圍較廣,離線辨識的預測模型精度難以保證。因此,若能根據系統實時有效信息在線辨識預測模型實現預測控制,可以改善控制系統控制品質。
文獻[16]將離線KELM推廣到在線訓練,提出了在線序列KELM算法。但是該方法的缺陷是隨著時間的推移,模型結構隨訓練樣本的增加呈線性增長。為此,本文采用基于線性相關分析的滾動窗法進一步稀疏模型結構,稱之為在線滾動序列核極限學習機(OSS-KELM)。
給定樣本集{(xi,yi),i=1,2,…,N},其中,xi=[xi1xi2…xin]T∈n,yi=[yt1yt2…yim]∈m,N 為樣本數。針對具有 L 個隱含層神經元的ELM網絡,這個學習問題可以描述為

式中:ak=[a1ka2k… ank]T,為連接第k個隱含節點的輸入權值向量;b為第k個隱含節點偏置;h(x)=[g(ki+b1)g(+b2)… g(+bL)]T,為特征映射;g(x)i為隱含層神經元激活函數;βj=[β1β2… βL]T,為第 j個輸出參數輸出權值向量。
在ELM中,學習問題可以理解為尋找預測函數f保證 (fx)i→yi,建立如下最優化問題

式中:C為人為選定的正則化參數;εij為松弛變量,表征ELM預測值與實際值之間的誤差。
求解式(2)得到

式中:H=[h(x1)h(x2)… h(xN)]T,為隱含層輸出矩陣;Y=,為樣本輸出向量;IN為1個N維的單位矩陣。
借鑒 SVM等核方法,定義核函數 k(x,y)=〈h(x)h(y)〉,〈·,·〉表示特征映射的內積,定義核矩陣 K 為

將核函數代入式(1)、(3)得到 KELM的預測函數

式中:x為待估計樣本輸入向量;α為KELM的輸出權值

由于OSS-KELM訓練可以看作是1個迭代學習過程,每次新樣本加入都需要更新輸出權值α以及求解逆矩陣R,計算耗時費力,為解決這一問題,考慮核矩陣迭代求逆加快計算速度。
定義1個在線索引集合Q,利用第1個樣本初始化逆矩陣R1和輸出權值向量α1,此時Q={1}。假設在第n+1步時,在線索引集合Q={Qi|i=1,2,…,q},q為在線索引集合Q元素的個數,訓練樣本數據集為(X,Y),其中,X=[xQ1xQ2…xQ4]T,Y=[yQ1yQ2…yQ4]T。
新加入樣本數據(xn+1,yn+1),則有

式中:Kn為第 n 步計算得到的核矩陣,kn+1=[k(xQ1,xn+1)k(xQ2,xn+1)… k(xQ4,xn+1)]T。
Sherman-Morrison公式[17]:給定矩陣A以及D、V、U,以下等式是成立的。

由于 Rn=(K+InC-1)-1在第n步中已經得到,則求逆問題的更新式為

式中:β=Rnkn+1;λ=(k(xn+1,xn+1)-β),將得到的求逆結果代入式(6),得到第n+1步的輸出權值

這樣逆矩陣以及輸出權值便可以通過迭代計算得到。考慮到輸出權值向量的維度隨訓練樣本的增加呈線性增長,為了降低輸出權值向量維度,引入線性相關性作為評判的準則,從而降低數據的冗余程度,精簡模型的結構。由于在線數據是按時間序列交替出現的,在第n+1步根據式(12)判斷新加入的樣本(xn+1,yn+1)與當前樣本訓練樣本集合(X,Y)的線性相關程度

式中:KQ=(kij)∈q·q,kij=k(xi,xj),i,j∈Q。
該算法中盡管樣本數沒有上限,對于實時性要求很高的在線預測模型而言,仍不能滿足精簡模型的要求。下面以滾動窗法進行改進(如圖 2所示),當n+1時刻加入新樣本(xn+1,yn+1)時,首先判斷新樣本與當前樣本集(X,Y)的線性相關程度,定義1個較小的常數 δ,如果 Δ<δ,不引入新樣本對在線索引集合Q以及模型進行更新,否則,引入新樣本更新(X,Y),Q以及α,若此時樣本窗口中的數據量超過窗口規模L+1,則剔除離當前時刻最遠的樣本數據(xQ1,yQ1),將擴維后的逆矩陣R進行降維,得到降維后的逆矩陣R。根據Sherman-Morrison定理[18]分解逆矩陣

式中:R11∈、R12∈1×(L+1)、R21∈(L+1)×1,以及 R22∈(L+1)×(L+1),為 R 的分塊矩陣;為剔除(xQ1,yQ1)后的核矩陣;g=k(xQ1,yQ1)+C-1,G=[k(xQ1,yQ2)k(xQ1,yQ3)… k(xQ1,yQn+1)]
根據式(13)可以得到,剔除(xQ1,yQ1)后的逆矩陣

剔除(xQ1,yQ1),構造新的樣本集合(X,Y)以及在線索引集合Q,此時輸出權值矩陣

從而保證輸出權值α維度不變,即滾動窗口數據規模恒定,從而提高計算實時性。

圖2 滾動窗原理

圖3 H=3 km、VX=20 m/s模型相對誤差
本文在高度H=1 km、前飛速度VX=0 m/s狀態下,對直升機以及發動機輸入進行充分激勵,取其歸一化后動態響應數據,利用上述的多輸出OSS-KELM算法進行模型訓練,在包線范圍內對模型泛化能力進行驗證。限于篇幅,僅列出高度H=3 km、前飛速度VX=20 m/s的測試相對誤差(如圖3所示),模型精度可達1‰,滿足設計要求,其他點精度與之類似。

圖4 迭代預測模型
利用2.1節設計的OSS-KELM算法辨識渦軸發動機KELM動態模型,模型輸入為當前時刻燃油Wf、歷史時刻的Wf、旋翼扭矩Qh、燃氣渦輪轉速nG、動力渦輪轉速np、渦輪級間溫度T45以及壓氣機喘振裕度SMC,輸出為當前時刻的 Qh、nG、np、T45和 SMC。在線辨識KELM時,首先將前一時刻系統輸出、輸入以及歷史信息看作新樣本,并與之前訓練樣本進行相關性分析,若新樣本與當前樣本線性不相關,則更新輸出權值矩陣α,同時若當前樣本數量達到窗口規模L+1,則對擴維的逆矩陣R進行降維處理,保證數據窗口規模恒定不變以提高計算實時性。此時,KELM動態模型可以描述為

為了減少計算量,需要降低模型結構的復雜程度,而同時又要保證預測模型的預測精度,因此需要選擇合適的預測模型結構。由于發動機一般可以簡化為1個2階過程,因此可以選擇控制時域NC=2。由于控制器通過滾動優化求解動力渦輪轉速恒定為目標函數的優化問題,使得下一時刻的輸入總是最優值,則預測時域Np=3,可以按照如圖4所示的方案,由當前時刻燃油Wf(k)、未來Np步的燃油 序 列 {Wf(k+1),Wf(k+2),…,Wf(k+Np)}、歷史輸入和輸出信息根據式(16)推導出迭代NP步之后的預測模型


基于上述的OSS-KELM學習算法辨識的預測模型,利用SQP規劃算法實現在線滾動優化求解約束下的最優問題,即給定燃油量、渦輪轉速、渦輪級間溫度以及喘振裕度限制,保證轉速恒定為優化目標,進行控制器求解。本文選擇如下的二次型性能指標

式中:p、q、r為各目標權值。
該二次型指標函數可以保證動力渦輪轉速恒定的同時,盡量減少燃油消耗和降低轉速波動。通過滾動優化求解約束下的最優問題,即可計算出使得二次型性能指標最小的燃油流量序列{Wf(k+1),Wf(k+2),…,Wf(k+NP)},而后將Wf(k+1)與當前時刻實際燃油流量Wf(k)的差值作為燃油補償輸入。除此之外,引入補償燃油限制,克服因模型失配造成的不穩現象,從而在滿足發動機對操縱量變化快速響應需求的同時抑制系統的波動。
由于NMPC是通過模型預測系統未來輸出進行控制的,模型輸出與實際發動機輸出之間的誤差就必然存在。為了保證控制精度,本文通過上一時刻發動機輸出與預測模型輸出的誤差對控制指令進行修正,從而減小控制誤差。


圖5 H=3 km、VX=20 m/s前飛加減速控制效果
基于某型直升機/渦軸發動機綜合仿真平臺,在主頻3.30 GHz/內存4 GB的仿真環境下,分別對直升機前飛和垂飛加減速機動飛行進行仿真,仿真步長為20 ms,數據作歸一化處理,驗證本文提出的基于OSS-KELM的NMPC控制方案,并與傳統串級PID控制進行對比分析。經數值仿真驗證在每個20 ms的仿真周期內,NMPC控制器計算花費時間小于5 ms,滿足實時性要求。
直升機在高度H=1 km,前飛速度VX=0 m/s的狀態下平飛加減速的響應如圖5所示。
從圖5(b)可見,NMPC動態控制效果顯著優于串級PID控制,NMPC控制器對應的動力渦輪轉速最大超調量為0.56%,而串級控制器為2.21%,NMPC控制器對應的最大下垂量為0.68%,而串級控制為2.65%,這是由于在直升機機動飛行過程中,NMPC相對于串級控制,采用預測手段,有效地根據歷史信息預測系統未來輸出,預測旋翼需用扭矩以及發動機轉速等參數的變化,通過求解帶約束的以減小動力渦輪轉速波動以及降低燃油消耗的性能指標,保證每一時刻的燃油輸入為最優值,所以NMPC控制對應燃油波動量小于串級控制,而且可以快速地調節燃氣渦輪轉速和降低動力渦輪轉速波動量,使得動力渦輪轉速下垂/超調量很小。


圖6 H=3 km、VX=20 m/s垂飛加減速控制效果
為進一步驗證NMPC的控制效果,針對直升機垂飛加減速過程進行仿真驗證。直升機在高度H=1 km、垂飛速度VZ=0 m/s狀態下垂飛加減速機動飛行的仿真結果如圖6所示。
從圖6(b)可見,NMPC控制器的動態效果明顯優于串級控制,NMPC控制器對應的動力渦輪轉速最大超調量為0.27%,而串級控制器為1.98%,NMPC控制器對應的最大下垂量為0.16%,而串級控制器為1.53%,說明了采用NMPC方案能夠通過預測旋翼扭矩、渦輪轉速等未來時刻輸出數據,在線滾動優化求解輸出最優的輸入,使得發動機快速滿足旋翼功率的需求,動力渦輪轉速能夠快速響應并調節至穩定,從而有效地抑制動力渦輪轉速超調/下垂,提升控制系統控制品質。
本文針對渦軸發動機控制系統設計,基于直升機/發動機綜合仿真模型,提出了1種非線性模型預測控制方法。采用多輸出在線滾動序列核極限學習機訓練預測模型,利用在線滾動優化手段和反饋校正機制實現帶約束的模型預測控制。最終運用于直升機機動飛行過程中,仿真結果表明,與傳統串級控制相比,NMPC控制器能夠有效地抑制動力渦輪轉速超調/下垂量,具有更好的控制性能。