任潞 何屏 張曉磊 郭秀林
摘 要: 自抗擾控制器在強干擾系統(tǒng)和大時滯條件下的控制效果不好,主要影響因素是靜態(tài)參數(shù)機制,為此設(shè)計了一種基于差分進化算法和粒子群算法聯(lián)合優(yōu)化的自抗擾控制器。使用粒子群算法對自抗擾控制器中抗擴張狀態(tài)觀測器的動量估計系數(shù)進行在線優(yōu)化,使用誤差閾值觸發(fā)啟動的伺服機制提高動態(tài)優(yōu)化的計算速度,并使用差分進化算法的變異、交叉和選擇算子提高粒子群算法的多樣性,防止陷入局部最優(yōu)值以提高算法的收斂精度。在熱工時滯系統(tǒng)中的實驗結(jié)果表明,改進后的算法在強干擾系統(tǒng)和大時滯條件下的控制效果得到提高,抗干擾性能和魯棒性得到提高。
關(guān)鍵詞: 自抗擾控制器; 粒子群算法; 差分進化算法; 抗干擾; 魯棒性
中圖分類號: TN02?34; TP183 文獻標識碼: A 文章編號: 1004?373X(2017)03?0092?04
Design of active disturbance rejection controller based on
joint optimization algorithm of PSODE
REN Lu, HE Ping, ZHANG Xiaolei, GUO Xiulin
(Faculty of Metallurgical and Energy Engineering, Kunming University of Science and Technology, Kunming 650093, China)
Abstract: Since the active disturbance rejection controller in strong interference system and under large?delay condition has bad control effect due to the influence of the static parameter mechanism, an active disturbance rejection controller based on the joint optimization of the particle swarm optimization algorithm and difference evolution algorithm was designed. The particle swarm optimization algorithm is used to optimize the momentum estimation coefficient of the anti?expansion state observer in the controller online. The servo mechanism started by the error threshold trigger is adopted to improve the computation speed of the dynamic optimization. The mutation, crossover and selection operators of the difference evolution algorithm are employed to improve the diversity of the particle swarm optimization algorithm and prevent it from falling into the local optimum, so as to improve the convergence precision of the algorithm. The experimental results of the thermal time delay system show that the control effect of the improved controller in strong interference system and under large?delay condition is improved, and the anti?jamming performance and robustness are enhanced.
Keywords: active disturbance rejection controller; particle swarm optimization; differential evolution algorithm; anti?jamming performance; robustness
0 引 言
自抗擾控制器[1](Active Disturbances Rejection Control,ADRC)因其不需受控對象具備精確的數(shù)學(xué)模型就能實現(xiàn)高精度控制,在魯棒性、抗干擾能力和響應(yīng)速度方面具有獨特的優(yōu)勢,在機器人控制、電機控制、電力系統(tǒng)和飛行控制等領(lǐng)域得到廣泛應(yīng)用,具備較強的工業(yè)實用價值[2]。但是由于ADRC的相關(guān)參數(shù)較多,調(diào)整存在較大難度,因此目前對ADRC的改進優(yōu)化算法較多,主要包括使用混沌粒子群[3]、免疫粒子群[4]和模擬控制[5]等算法優(yōu)化的ADRC,這些改進算法有效提高了ADRC的參數(shù)調(diào)整效率,對ADRC的實際應(yīng)用起到較好的促進作用,但還是采用靜態(tài)優(yōu)化機制,而ADRC本身是參數(shù)線下靜態(tài)優(yōu)化機制,在熱工系統(tǒng)之類的強干擾和大時滯環(huán)境系統(tǒng)下易導(dǎo)致輸出超調(diào)和不穩(wěn)定,系統(tǒng)誤差易超差導(dǎo)致系統(tǒng)紊亂[6],針對這一缺陷,本文使用差分進化算法(Difference Hybrid Algorithm,DE)和粒子群算法(Particle Swarm Optimization Algorithm,PSO)的聯(lián)合算法對ADRC算法進行動態(tài)優(yōu)化,利用PSO對ADRC內(nèi)擴張狀態(tài)觀測器的動量估計系數(shù)進行優(yōu)化,同時結(jié)合差分進化算法的變異、交叉和選擇算子提高粒子群算法的多樣性,防止PSO陷入局部最優(yōu)值,提高PSO的全局搜索能力。
1 PSODE算法
1.1 PSO算法
PSO算法[7]是基于種群的隨機優(yōu)化算法,模擬鳥群、昆蟲、魚群等的群集行為,算法初始化為一組隨機解,經(jīng)迭代后獲得最優(yōu)解,在各次迭代中粒子通過跟蹤局部最優(yōu)解[Pbest]和全局最優(yōu)解[Gbest]進行更新。在種群數(shù)目為[m]的群體中,在[D]維解空間中第[i]個粒子的位置為[xi=xi1,xi2,…,xid,]其中[i=1,2,…,m,]粒子速度為[vi=vi1,vi2,…,vid],將粒子位置代入到目標函數(shù)中能獲得適應(yīng)值,設(shè)第[i]個粒子搜索到的最優(yōu)位置為[Pi=Pi1,Pi2,…,Pid],整個群體獲取的最優(yōu)位置為[Pg=Pg1,Pg2,…,Pgd],各粒子通過更新粒子速度和位置在整個狀態(tài)空間內(nèi)搜索,如下所示:
[vidt+1=vidt+c1randpid-xid+c2randpgd-xid] (1)
[xidt+1=xidt+vidt+1] (2)
式中:[c1,c2]為學(xué)習(xí)因子,又稱加速度常數(shù);[rand?]是在區(qū)間[0,1]內(nèi)的隨機函數(shù)。
1.2 差分進化算法
差分進化算法[8]的主要原理是按照雜交、變異和選擇等操作進行進化運算,通過雜交、變異后的新個體參與父體的競爭,根據(jù)新一代和父體的適應(yīng)度好壞情況選擇適應(yīng)度好的一代作為下一代。設(shè)[pkt]是在變異過程中的獨立個體,對其運算生成的變異個體[pkt+1]如下所示:
[pkt+1=pr3t+ξ?pr1t-pr2t] (3)
式中:[pr1,pr2,pr3]是從群體中任意選擇的三個互異個體;[ξ]為縮放因子,其功能是對變異運算的影響進行調(diào)整以提高變異運算的可控性。
雜交操作是產(chǎn)生多樣性較好的個體,以便于群體的差分進化,通過獨立個體與變異個體的二項分布雜交運算重組,生成新型的雜交個體,雜交運算如下:
[pkt+1=pk1t+1,pk2t+1,…,pkjt+1,…,pkDt+1] (4)
[pkjt+1=pkjt+1,rand bj≤PCRpkjt,rand bj>PCR] (5)
式中:[j∈1,D,][D]為解空間維數(shù);[PCR]為變異概率且有[PCR∈0,1;][rand bj]是同一隨機數(shù)發(fā)生器的第[j]個值。在差分進化算法中選擇操作時使用遺傳替代最優(yōu)原則,在子代進化指標優(yōu)于父代時進行選擇替換,若子代并沒有優(yōu)化則父代直接延續(xù)到子代。
1.3 PSODE混合優(yōu)化算法
PSO算法和差分進化算法都是在群體內(nèi)部的啟發(fā)算法,但PSO算法的全局搜索能力不足,容易陷入局部最優(yōu)解[9],可通過改進群體多樣性方法提高算法的局部搜索能力,為此提出了粒子群算法與差分進化算法的混合優(yōu)化算法,使用差分進化算法的交叉算子和選擇算子提高局部搜索和記憶能力,同時其變異算子在保證種群多樣性的同時可有效提高算法的相關(guān)性和檢索速度,綜合利用差分進化算法的變異、交叉、選擇算子確保種群中優(yōu)秀個體的存在,并使算法避免陷入局部最優(yōu)值。
PSO算法使用非線性動態(tài)自適應(yīng)慣性權(quán)重策略,慣性權(quán)重的更新過程如下:
[ωt=ωe+ωs-ωe?e-k?t2/t2max] (6)
式中:[ωs,ωe]分別為起始慣性權(quán)重和最終慣性權(quán)重;[k]為控制因子,對慣性權(quán)重隨時間變化曲線的平滑度進行控制。PSODE算法(Particle Swarm Optimization′s Differential Evolution Algorithm)的原理是在群體中某個粒子陷入局部最優(yōu)值時,根據(jù)粒子群體方向確定后續(xù)位置的同時還要根據(jù)差分進化算法的最優(yōu)個體信息確定后續(xù)位置,兩種算法的位置信息結(jié)合優(yōu)化引導(dǎo)陷入局部最優(yōu)的粒子向全局最優(yōu)解的位置進化。為了預(yù)防算法在最大迭代次數(shù)完成之前位置更新陷入停滯,設(shè)置變異機制產(chǎn)生新的位置,其運算如下:
[xt+q+1k=Xmin+rand0,1?Xmax-Xmin] (7)
式中:[Xmin,Xmax]為算法預(yù)設(shè)的搜索邊界;[rand0,1]為隨機生成的[0,1]區(qū)間內(nèi)的隨機數(shù),通過這種措施將使粒子不斷更新。
2 組合優(yōu)化的自抗擾控制器設(shè)計
2.1 ADRC結(jié)構(gòu)
ADRC[10]主要由三個組成部分,對應(yīng)的作用分別是:非線性跟蹤微分器,用于實現(xiàn)對系統(tǒng)輸入信號快速無超調(diào)跟蹤并給出良好的微分信號;擴張狀態(tài)觀測器,用于對系統(tǒng)的擾動和狀態(tài)進行估計;非線性狀態(tài)誤差反饋控制器,用于獲取控制量。一般情況下最簡單的ADRC只包含非線性狀態(tài)誤差反饋控制律,而最復(fù)雜的ADRC則由上述三個部分組成。典型的二階ADRC結(jié)構(gòu)如圖1所示,其中[v(t)]是設(shè)定信號;[v1,v2]是[v(t)]和其微分的跟蹤信號;[e1,e2]是誤差;[y(t)]是被控系統(tǒng)的輸出;[w(t)]是系統(tǒng)擾動;[z1,z2]是輸出[y(t)]的跟蹤信號;[z3]是未知擾動的觀測值;[u0]是非線性狀態(tài)誤差反饋控制器輸出的控制信號;[u]是經(jīng)擾動補償后的控制信號。
非線性跟蹤微分器生成微分信號的同時為輸入控制信號提供過渡過程,其計算過程如下:
[v1=v2v2=-fstv1,v2,vt,r,h0] (8)
式中:[r]是跟蹤速度參數(shù);[h0]是濾波因子。隨后擴張狀態(tài)觀測器估算ADRC與被控系統(tǒng)的內(nèi)外擾動總和:
[ε=z1-yz1=z2-β01fal(ε,α1,δ1)z2=z3-β02fal(ε,α2,δ1)+b0uz3=β03fal(ε,αe,δ1)] (9)
式中:[β01,][β02,][β03]為擴張狀態(tài)觀測器的動量估計系數(shù),決定了擴張狀態(tài)觀測器估算擾動量的準確性;[fal?]為非線性反饋函數(shù)[11]。狀態(tài)誤差反饋控制器則根據(jù)擴張狀態(tài)觀測器的狀態(tài)變量反饋值和非線性跟蹤微分器的微分信號計算輸出控制量,實際使用非線性PID控制算法如下:
[u0k=kpfale1(k),α1,δ1+kdfale2(k),α2,δ2] (10)
由于ADRC的靜態(tài)估算機制不足,誤差估計范圍在面對系統(tǒng)干擾跳動大或者時滯嚴重時易超差,將會導(dǎo)致系統(tǒng)紊亂,因此本文引入差分進化算法和粒子群算法的聯(lián)合算法對ADRC進行動態(tài)優(yōu)化,以提高ADRC強干擾系統(tǒng)和大時滯條件下的控制效果。
2.2 ADRC優(yōu)化
PSODE混合優(yōu)化算法從隨機解出發(fā),通過差分進化算法控制PSO算法避免陷入局部最優(yōu)解,從而快速獲取全局最優(yōu)解,其實現(xiàn)結(jié)構(gòu)簡單、計算速度快,可采用實數(shù)編碼,在實時在線優(yōu)化算法中具有一定優(yōu)勢。采用PSODE混合優(yōu)化算法的ADRC結(jié)構(gòu)如圖2所示,將PSODE混合優(yōu)化算法置于擴張狀態(tài)觀測器之前,對擴張狀態(tài)觀測器的三個動量估計系數(shù)[β01,][β02,][β03]進行優(yōu)化。
由于ADRC本身具備抗干擾能力,因此在優(yōu)化后的體系中為了確保PSODE混合優(yōu)化算法的實時性,提高計算效率,設(shè)置一個誤差閾值[ηT,]在誤差超過該誤差閾值后實施PSODE的在線優(yōu)化,并非每次運算都進行優(yōu)化,從而在保證算法性能的同時有效減少優(yōu)化時間。同時PSODE混合優(yōu)化算法的復(fù)雜度較高,出手系統(tǒng)實時性考慮必須對PSODE算法進行兼容性改進。在PSODE算法中為確定差分進化后的選擇操作,需確定適應(yīng)度[12]以比較父代個體與子代個體的優(yōu)劣。為此設(shè)定粒子的密集度[Ni]的計算如下:
[Ni=k=1Dfkmax-fkminfi+1k-fi-1k] (11)
式中:[D]為解空間維數(shù);[fi+1k, fi-1k]分別對應(yīng)相鄰的兩個粒子的待優(yōu)化函數(shù)值;[fkmax, fkmin]是對應(yīng)待優(yōu)化函數(shù)的極大值和極小值,并定義優(yōu)勢度[Yi]的計算:
[Yi=j=1qndi,j] (12)
式中:[q]為鄰域范圍;[ndi,j]為粒子優(yōu)勢值,在粒子[i]優(yōu)于粒子[j]時取值為1,否則為0。在密集度和優(yōu)勢度的基礎(chǔ)上定義PSODE算法的適應(yīng)度[F]為:
[F=Kssess+Ke0ttetdt+KmpMpND] (13)
式中:[et,ess,Mp]分別是反饋誤差、穩(wěn)態(tài)誤差和超調(diào)量,[Ke,Kss,Kmp]分別是對應(yīng)系數(shù)。這樣在PSODE算法運行中粒子選擇操作可根據(jù)適應(yīng)度[F]確定變異個體和父代的優(yōu)劣從而保留整個群體中的精英,使優(yōu)化算法更容易獲取全局最優(yōu)值。
3 實驗驗證
為了驗證本文的PSODE聯(lián)合優(yōu)化算法的性能,在熱工時滯系統(tǒng)[13]這種典型的時滯系統(tǒng)中進行實驗驗證,并與ADRC和PSO優(yōu)化的ADRC算法進行性能比較。熱工時滯系統(tǒng)的傳遞函數(shù)為:
[Gps=1-αs1+Tps2kpe-τs] (14)
式中:[kp,Tp,τ]均為系統(tǒng)狀態(tài)參數(shù),隨鍋爐運行工況的變化而變化,實驗中使用[65%]負荷狀態(tài),主要相關(guān)參數(shù)設(shè)置如表1所示。
為測試各種算法的魯棒性,設(shè)置系統(tǒng)負載從[65%]跳變到[100%],對應(yīng)各參數(shù)隨之跳變攝動,三種算法的階躍響應(yīng)曲線如圖3所示??梢夾DRC,PSO?ADRC和PSODE?ADRC三種控制器的輸出超調(diào)量分別為[23.75%,][14.53%]和[9.71%],但相較于ADRC的系統(tǒng)調(diào)節(jié)時間,PSO?ADRC和PSODE?ADRC的調(diào)節(jié)時間分別延長了67 s,81 s。
為測試各種算法的魯棒性,設(shè)置一段較長時間的擾動信號,三種算法的階躍響應(yīng)曲線如圖4所示。可見ADRC,PSO?ADRC和PSODE?ADRC三種控制器的輸出超調(diào)量分別為21.87%,9.13%和5.26%,但相較于ADRC的系統(tǒng)調(diào)節(jié)時間,PSO?ADRC和PSODE?ADRC的調(diào)節(jié)時間分別延長了52 s,62 s。
從實驗結(jié)果可以看出,使用PSODE算法優(yōu)化的自抗擾控制器相較于PSO?ADRC和ADRC的魯棒性和抗干擾性能均有一定程度的提升,但對應(yīng)的調(diào)節(jié)時間也相應(yīng)增加,在一定程度上影響了系統(tǒng)的實時性。
4 結(jié) 語
本文針對ADRC系統(tǒng)靜態(tài)估算機制不足導(dǎo)致在系統(tǒng)干擾跳動大或者時滯嚴重時適應(yīng)性較差的缺陷,使用PSO算法和差分進化算法對ADRC在系統(tǒng)誤差超過閾值后實施在線優(yōu)化,調(diào)節(jié)擴張狀態(tài)觀測器的動量估計系數(shù)從而提高擴張狀態(tài)觀測器估算擾動量的準確性,在保證實時性的同時提高ADRC在時滯嚴重和強干擾環(huán)境下的抗干擾性能。實驗結(jié)果表明,PSODE混合優(yōu)化算法的ADRC魯棒性和抗干擾性能均得到提高,但系統(tǒng)復(fù)雜度增大導(dǎo)致實時性受到一定影響,這將是后續(xù)研究需要重點解決的問題。
參考文獻
[1] HAN J. From PID to active disturbance refection control [J]. IEEE transactions on industrial electronics, 2009, 56(3): 900?906.
[2] 楊瑞光,孫明瑋,陳增強.飛行器自抗擾姿態(tài)控制優(yōu)化與仿真研究[J].系統(tǒng)仿真學(xué)報,2010,22(11):2689?2693.
[3] 宗陽,張科,王靖宇.一種基于模糊ADRC的舵機控制算法設(shè)計與實現(xiàn)[J].西北工業(yè)大學(xué)學(xué)報,2011,29(2):217?221.
[4] 程啟明,程尹曼,汪明媚,等.基于混沌粒子群算法優(yōu)化的自抗擾控制在蒸汽發(fā)生器水位控制中的應(yīng)用研究[J].華東電力,2011,39(6):957?963.
[5] 劉朝華,張英杰,章兢,等.基于免疫雙態(tài)微粒群的混沌系統(tǒng)自抗擾控制[J].物理學(xué)報,2011,60(1):69?74.
[6] 張墩利,周國棟,張健.PSO動態(tài)優(yōu)化的ADRC控制器研究[J].控制系統(tǒng),2015,60(9):60?63.
[7] 劉曉麗,胡翠華,李蘭英.基于微粒群優(yōu)化的機器人自抗擾控制[J].現(xiàn)代電子技術(shù),2009,32(10):25?26.
[8] 劉波,王凌,金以慧.差分進化算法研究進展[J].控制與決策,2007,22(7):721?729.
[9] 劉小華,林杰.基于遺傳粒子群混合算法的供應(yīng)鏈調(diào)度優(yōu)化[J].控制與決策,2011,26(4):501?506.
[10] 楊婷婷,李愛軍,侯震,等.基于粒子群算法的自抗擾飛行控制器優(yōu)化設(shè)計[J].計算機仿真,2009,26(9):59?61.
[11] 張超,朱紀洪,高亞奎.基于最小拍觀測器的自抗擾控制器設(shè)計與性能分析[J].控制理論與應(yīng)用,2015,32(1):29?34.
[12] 于泓博,李會,韓德麗.基于PSODE的網(wǎng)格任務(wù)調(diào)度算法[J].計算機工程與設(shè)計,2012,33(4):1447?1451.
[13] 張吉禮,趙天怡,盧振,等.環(huán)境試驗室熱工系統(tǒng)規(guī)則自提取模糊控制仿真[J].控制理論與應(yīng)用,2010,27(4):457?465.