任潞 何屏 張曉磊 郭秀林
摘 要: 自抗擾控制器在強(qiáng)干擾系統(tǒng)和大時(shí)滯條件下的控制效果不好,主要影響因素是靜態(tài)參數(shù)機(jī)制,為此設(shè)計(jì)了一種基于差分進(jìn)化算法和粒子群算法聯(lián)合優(yōu)化的自抗擾控制器。使用粒子群算法對自抗擾控制器中抗擴(kuò)張狀態(tài)觀測器的動量估計(jì)系數(shù)進(jìn)行在線優(yōu)化,使用誤差閾值觸發(fā)啟動的伺服機(jī)制提高動態(tài)優(yōu)化的計(jì)算速度,并使用差分進(jìn)化算法的變異、交叉和選擇算子提高粒子群算法的多樣性,防止陷入局部最優(yōu)值以提高算法的收斂精度。在熱工時(shí)滯系統(tǒng)中的實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的算法在強(qiáng)干擾系統(tǒng)和大時(shí)滯條件下的控制效果得到提高,抗干擾性能和魯棒性得到提高。
關(guān)鍵詞: 自抗擾控制器; 粒子群算法; 差分進(jìn)化算法; 抗干擾; 魯棒性
中圖分類號: TN02?34; TP183 文獻(xiàn)標(biāo)識碼: 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é)模型就能實(shí)現(xiàn)高精度控制,在魯棒性、抗干擾能力和響應(yīng)速度方面具有獨(dú)特的優(yōu)勢,在機(jī)器人控制、電機(jī)控制、電力系統(tǒng)和飛行控制等領(lǐng)域得到廣泛應(yīng)用,具備較強(qiáng)的工業(yè)實(shí)用價(jià)值[2]。但是由于ADRC的相關(guān)參數(shù)較多,調(diào)整存在較大難度,因此目前對ADRC的改進(jìn)優(yōu)化算法較多,主要包括使用混沌粒子群[3]、免疫粒子群[4]和模擬控制[5]等算法優(yōu)化的ADRC,這些改進(jìn)算法有效提高了ADRC的參數(shù)調(diào)整效率,對ADRC的實(shí)際應(yīng)用起到較好的促進(jìn)作用,但還是采用靜態(tài)優(yōu)化機(jī)制,而ADRC本身是參數(shù)線下靜態(tài)優(yōu)化機(jī)制,在熱工系統(tǒng)之類的強(qiáng)干擾和大時(shí)滯環(huán)境系統(tǒng)下易導(dǎo)致輸出超調(diào)和不穩(wěn)定,系統(tǒng)誤差易超差導(dǎo)致系統(tǒng)紊亂[6],針對這一缺陷,本文使用差分進(jìn)化算法(Difference Hybrid Algorithm,DE)和粒子群算法(Particle Swarm Optimization Algorithm,PSO)的聯(lián)合算法對ADRC算法進(jìn)行動態(tài)優(yōu)化,利用PSO對ADRC內(nèi)擴(kuò)張狀態(tài)觀測器的動量估計(jì)系數(shù)進(jìn)行優(yōu)化,同時(shí)結(jié)合差分進(jìn)化算法的變異、交叉和選擇算子提高粒子群算法的多樣性,防止PSO陷入局部最優(yōu)值,提高PSO的全局搜索能力。
1 PSODE算法
1.1 PSO算法
PSO算法[7]是基于種群的隨機(jī)優(yōu)化算法,模擬鳥群、昆蟲、魚群等的群集行為,算法初始化為一組隨機(jī)解,經(jīng)迭代后獲得最優(yōu)解,在各次迭代中粒子通過跟蹤局部最優(yōu)解[Pbest]和全局最優(yōu)解[Gbest]進(jìn)行更新。在種群數(shù)目為[m]的群體中,在[D]維解空間中第[i]個(gè)粒子的位置為[xi=xi1,xi2,…,xid,]其中[i=1,2,…,m,]粒子速度為[vi=vi1,vi2,…,vid],將粒子位置代入到目標(biāo)函數(shù)中能獲得適應(yīng)值,設(shè)第[i]個(gè)粒子搜索到的最優(yōu)位置為[Pi=Pi1,Pi2,…,Pid],整個(gè)群體獲取的最優(yōu)位置為[Pg=Pg1,Pg2,…,Pgd],各粒子通過更新粒子速度和位置在整個(gè)狀態(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)的隨機(jī)函數(shù)。
1.2 差分進(jìn)化算法
差分進(jìn)化算法[8]的主要原理是按照雜交、變異和選擇等操作進(jìn)行進(jìn)化運(yùn)算,通過雜交、變異后的新個(gè)體參與父體的競爭,根據(jù)新一代和父體的適應(yīng)度好壞情況選擇適應(yīng)度好的一代作為下一代。設(shè)[pkt]是在變異過程中的獨(dú)立個(gè)體,對其運(yùn)算生成的變異個(gè)體[pkt+1]如下所示:
[pkt+1=pr3t+ξ?pr1t-pr2t] (3)
式中:[pr1,pr2,pr3]是從群體中任意選擇的三個(gè)互異個(gè)體;[ξ]為縮放因子,其功能是對變異運(yùn)算的影響進(jìn)行調(diào)整以提高變異運(yùn)算的可控性。
雜交操作是產(chǎn)生多樣性較好的個(gè)體,以便于群體的差分進(jìn)化,通過獨(dú)立個(gè)體與變異個(gè)體的二項(xiàng)分布雜交運(yùn)算重組,生成新型的雜交個(gè)體,雜交運(yù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]是同一隨機(jī)數(shù)發(fā)生器的第[j]個(gè)值。在差分進(jìn)化算法中選擇操作時(shí)使用遺傳替代最優(yōu)原則,在子代進(jìn)化指標(biāo)優(yōu)于父代時(shí)進(jìn)行選擇替換,若子代并沒有優(yōu)化則父代直接延續(xù)到子代。
1.3 PSODE混合優(yōu)化算法
PSO算法和差分進(jìn)化算法都是在群體內(nèi)部的啟發(fā)算法,但PSO算法的全局搜索能力不足,容易陷入局部最優(yōu)解[9],可通過改進(jìn)群體多樣性方法提高算法的局部搜索能力,為此提出了粒子群算法與差分進(jìn)化算法的混合優(yōu)化算法,使用差分進(jìn)化算法的交叉算子和選擇算子提高局部搜索和記憶能力,同時(shí)其變異算子在保證種群多樣性的同時(shí)可有效提高算法的相關(guān)性和檢索速度,綜合利用差分進(jìn)化算法的變異、交叉、選擇算子確保種群中優(yōu)秀個(gè)體的存在,并使算法避免陷入局部最優(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)重隨時(shí)間變化曲線的平滑度進(jìn)行控制。PSODE算法(Particle Swarm Optimization′s Differential Evolution Algorithm)的原理是在群體中某個(gè)粒子陷入局部最優(yōu)值時(shí),根據(jù)粒子群體方向確定后續(xù)位置的同時(shí)還要根據(jù)差分進(jìn)化算法的最優(yōu)個(gè)體信息確定后續(xù)位置,兩種算法的位置信息結(jié)合優(yōu)化引導(dǎo)陷入局部最優(yōu)的粒子向全局最優(yōu)解的位置進(jìn)化。為了預(yù)防算法在最大迭代次數(shù)完成之前位置更新陷入停滯,設(shè)置變異機(jī)制產(chǎn)生新的位置,其運(yùn)算如下:
[xt+q+1k=Xmin+rand0,1?Xmax-Xmin] (7)
式中:[Xmin,Xmax]為算法預(yù)設(shè)的搜索邊界;[rand0,1]為隨機(jī)生成的[0,1]區(qū)間內(nèi)的隨機(jī)數(shù),通過這種措施將使粒子不斷更新。
2 組合優(yōu)化的自抗擾控制器設(shè)計(jì)
2.1 ADRC結(jié)構(gòu)
ADRC[10]主要由三個(gè)組成部分,對應(yīng)的作用分別是:非線性跟蹤微分器,用于實(shí)現(xiàn)對系統(tǒng)輸入信號快速無超調(diào)跟蹤并給出良好的微分信號;擴(kuò)張狀態(tài)觀測器,用于對系統(tǒng)的擾動和狀態(tài)進(jìn)行估計(jì);非線性狀態(tài)誤差反饋控制器,用于獲取控制量。一般情況下最簡單的ADRC只包含非線性狀態(tài)誤差反饋控制律,而最復(fù)雜的ADRC則由上述三個(gè)部分組成。典型的二階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)擾動補(bǔ)償后的控制信號。
非線性跟蹤微分器生成微分信號的同時(shí)為輸入控制信號提供過渡過程,其計(jì)算過程如下:
[v1=v2v2=-fstv1,v2,vt,r,h0] (8)
式中:[r]是跟蹤速度參數(shù);[h0]是濾波因子。隨后擴(kuò)張狀態(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]為擴(kuò)張狀態(tài)觀測器的動量估計(jì)系數(shù),決定了擴(kuò)張狀態(tài)觀測器估算擾動量的準(zhǔn)確性;[fal?]為非線性反饋函數(shù)[11]。狀態(tài)誤差反饋控制器則根據(jù)擴(kuò)張狀態(tài)觀測器的狀態(tài)變量反饋值和非線性跟蹤微分器的微分信號計(jì)算輸出控制量,實(shí)際使用非線性PID控制算法如下:
[u0k=kpfale1(k),α1,δ1+kdfale2(k),α2,δ2] (10)
由于ADRC的靜態(tài)估算機(jī)制不足,誤差估計(jì)范圍在面對系統(tǒng)干擾跳動大或者時(shí)滯嚴(yán)重時(shí)易超差,將會導(dǎo)致系統(tǒng)紊亂,因此本文引入差分進(jìn)化算法和粒子群算法的聯(lián)合算法對ADRC進(jìn)行動態(tài)優(yōu)化,以提高ADRC強(qiáng)干擾系統(tǒng)和大時(shí)滯條件下的控制效果。
2.2 ADRC優(yōu)化
PSODE混合優(yōu)化算法從隨機(jī)解出發(fā),通過差分進(jìn)化算法控制PSO算法避免陷入局部最優(yōu)解,從而快速獲取全局最優(yōu)解,其實(shí)現(xiàn)結(jié)構(gòu)簡單、計(jì)算速度快,可采用實(shí)數(shù)編碼,在實(shí)時(shí)在線優(yōu)化算法中具有一定優(yōu)勢。采用PSODE混合優(yōu)化算法的ADRC結(jié)構(gòu)如圖2所示,將PSODE混合優(yōu)化算法置于擴(kuò)張狀態(tài)觀測器之前,對擴(kuò)張狀態(tài)觀測器的三個(gè)動量估計(jì)系數(shù)[β01,][β02,][β03]進(jìn)行優(yōu)化。
由于ADRC本身具備抗干擾能力,因此在優(yōu)化后的體系中為了確保PSODE混合優(yōu)化算法的實(shí)時(shí)性,提高計(jì)算效率,設(shè)置一個(gè)誤差閾值[ηT,]在誤差超過該誤差閾值后實(shí)施PSODE的在線優(yōu)化,并非每次運(yùn)算都進(jìn)行優(yōu)化,從而在保證算法性能的同時(shí)有效減少優(yōu)化時(shí)間。同時(shí)PSODE混合優(yōu)化算法的復(fù)雜度較高,出手系統(tǒng)實(shí)時(shí)性考慮必須對PSODE算法進(jìn)行兼容性改進(jìn)。在PSODE算法中為確定差分進(jìn)化后的選擇操作,需確定適應(yīng)度[12]以比較父代個(gè)體與子代個(gè)體的優(yōu)劣。為此設(shè)定粒子的密集度[Ni]的計(jì)算如下:
[Ni=k=1Dfkmax-fkminfi+1k-fi-1k] (11)
式中:[D]為解空間維數(shù);[fi+1k, fi-1k]分別對應(yīng)相鄰的兩個(gè)粒子的待優(yōu)化函數(shù)值;[fkmax, fkmin]是對應(yīng)待優(yōu)化函數(shù)的極大值和極小值,并定義優(yōu)勢度[Yi]的計(jì)算:
[Yi=j=1qndi,j] (12)
式中:[q]為鄰域范圍;[ndi,j]為粒子優(yōu)勢值,在粒子[i]優(yōu)于粒子[j]時(shí)取值為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算法運(yùn)行中粒子選擇操作可根據(jù)適應(yīng)度[F]確定變異個(gè)體和父代的優(yōu)劣從而保留整個(gè)群體中的精英,使優(yōu)化算法更容易獲取全局最優(yōu)值。
3 實(shí)驗(yàn)驗(yàn)證
為了驗(yàn)證本文的PSODE聯(lián)合優(yōu)化算法的性能,在熱工時(shí)滯系統(tǒng)[13]這種典型的時(shí)滯系統(tǒng)中進(jìn)行實(shí)驗(yàn)驗(yàn)證,并與ADRC和PSO優(yōu)化的ADRC算法進(jìn)行性能比較。熱工時(shí)滯系統(tǒng)的傳遞函數(shù)為:
[Gps=1-αs1+Tps2kpe-τs] (14)
式中:[kp,Tp,τ]均為系統(tǒng)狀態(tài)參數(shù),隨鍋爐運(yùn)行工況的變化而變化,實(shí)驗(yàn)中使用[65%]負(fù)荷狀態(tài),主要相關(guān)參數(shù)設(shè)置如表1所示。
為測試各種算法的魯棒性,設(shè)置系統(tǒng)負(fù)載從[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é)時(shí)間,PSO?ADRC和PSODE?ADRC的調(diào)節(jié)時(shí)間分別延長了67 s,81 s。
為測試各種算法的魯棒性,設(shè)置一段較長時(shí)間的擾動信號,三種算法的階躍響應(yīng)曲線如圖4所示??梢夾DRC,PSO?ADRC和PSODE?ADRC三種控制器的輸出超調(diào)量分別為21.87%,9.13%和5.26%,但相較于ADRC的系統(tǒng)調(diào)節(jié)時(shí)間,PSO?ADRC和PSODE?ADRC的調(diào)節(jié)時(shí)間分別延長了52 s,62 s。
從實(shí)驗(yàn)結(jié)果可以看出,使用PSODE算法優(yōu)化的自抗擾控制器相較于PSO?ADRC和ADRC的魯棒性和抗干擾性能均有一定程度的提升,但對應(yīng)的調(diào)節(jié)時(shí)間也相應(yīng)增加,在一定程度上影響了系統(tǒng)的實(shí)時(shí)性。
4 結(jié) 語
本文針對ADRC系統(tǒng)靜態(tài)估算機(jī)制不足導(dǎo)致在系統(tǒng)干擾跳動大或者時(shí)滯嚴(yán)重時(shí)適應(yīng)性較差的缺陷,使用PSO算法和差分進(jìn)化算法對ADRC在系統(tǒng)誤差超過閾值后實(shí)施在線優(yōu)化,調(diào)節(jié)擴(kuò)張狀態(tài)觀測器的動量估計(jì)系數(shù)從而提高擴(kuò)張狀態(tài)觀測器估算擾動量的準(zhǔn)確性,在保證實(shí)時(shí)性的同時(shí)提高ADRC在時(shí)滯嚴(yán)重和強(qiáng)干擾環(huán)境下的抗干擾性能。實(shí)驗(yàn)結(jié)果表明,PSODE混合優(yōu)化算法的ADRC魯棒性和抗干擾性能均得到提高,但系統(tǒng)復(fù)雜度增大導(dǎo)致實(shí)時(shí)性受到一定影響,這將是后續(xù)研究需要重點(diǎn)解決的問題。
參考文獻(xiàn)
[1] HAN J. From PID to active disturbance refection control [J]. IEEE transactions on industrial electronics, 2009, 56(3): 900?906.
[2] 楊瑞光,孫明瑋,陳增強(qiáng).飛行器自抗擾姿態(tài)控制優(yōu)化與仿真研究[J].系統(tǒng)仿真學(xué)報(bào),2010,22(11):2689?2693.
[3] 宗陽,張科,王靖宇.一種基于模糊ADRC的舵機(jī)控制算法設(shè)計(jì)與實(shí)現(xiàn)[J].西北工業(yè)大學(xué)學(xué)報(bào),2011,29(2):217?221.
[4] 程啟明,程尹曼,汪明媚,等.基于混沌粒子群算法優(yōu)化的自抗擾控制在蒸汽發(fā)生器水位控制中的應(yīng)用研究[J].華東電力,2011,39(6):957?963.
[5] 劉朝華,張英杰,章兢,等.基于免疫雙態(tài)微粒群的混沌系統(tǒng)自抗擾控制[J].物理學(xué)報(bào),2011,60(1):69?74.
[6] 張墩利,周國棟,張健.PSO動態(tài)優(yōu)化的ADRC控制器研究[J].控制系統(tǒng),2015,60(9):60?63.
[7] 劉曉麗,胡翠華,李蘭英.基于微粒群優(yōu)化的機(jī)器人自抗擾控制[J].現(xiàn)代電子技術(shù),2009,32(10):25?26.
[8] 劉波,王凌,金以慧.差分進(jìn)化算法研究進(jìn)展[J].控制與決策,2007,22(7):721?729.
[9] 劉小華,林杰.基于遺傳粒子群混合算法的供應(yīng)鏈調(diào)度優(yōu)化[J].控制與決策,2011,26(4):501?506.
[10] 楊婷婷,李愛軍,侯震,等.基于粒子群算法的自抗擾飛行控制器優(yōu)化設(shè)計(jì)[J].計(jì)算機(jī)仿真,2009,26(9):59?61.
[11] 張超,朱紀(jì)洪,高亞奎.基于最小拍觀測器的自抗擾控制器設(shè)計(jì)與性能分析[J].控制理論與應(yīng)用,2015,32(1):29?34.
[12] 于泓博,李會,韓德麗.基于PSODE的網(wǎng)格任務(wù)調(diào)度算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33(4):1447?1451.
[13] 張吉禮,趙天怡,盧振,等.環(huán)境試驗(yàn)室熱工系統(tǒng)規(guī)則自提取模糊控制仿真[J].控制理論與應(yīng)用,2010,27(4):457?465.