盧艷軍,冷文龍,張曉東
(沈陽航空航天大學(xué)自動(dòng)化學(xué)院,遼寧 沈陽 10136)
比例積分微分(proportion integration differentiation,PID)控制具有原理簡(jiǎn)單、易于實(shí)現(xiàn)和魯棒性強(qiáng)等特性,廣泛應(yīng)用于無刷直流電機(jī)(brushless direct current motor,BLDCM)角度控制領(lǐng)域[1]。在PID控制中,kp、ki、kd三個(gè)參數(shù)直接決定控制性能指標(biāo)。PID控制器優(yōu)化設(shè)計(jì)的重點(diǎn)在于PID控制器參數(shù)的優(yōu)化。因此,在自動(dòng)控制領(lǐng)域中,PID控制一直是研究的重點(diǎn)及熱點(diǎn)[2-3]。
在BLDCM控制過程中,使用自然啟發(fā)式算法優(yōu)化PID控制器參數(shù)是常用的方法之一。對(duì)此,中外學(xué)者進(jìn)行了廣泛而深入的研究,取得了較好的進(jìn)展。Premkumar等在調(diào)整PID控制器的控制增益時(shí)采用蝙蝠算法,使控制器的控制效果優(yōu)于經(jīng)典的PID控制器和模糊調(diào)節(jié)PID控制器[4];Ibrahim等對(duì)粒子群算法和細(xì)菌覓食算法進(jìn)行了深入的研究分析,提出了粒子群算法優(yōu)化PID控制器的增益,提高了控制器的控制性能[5];文獻(xiàn)[6]~文獻(xiàn)[9]則分別采用了人工神經(jīng)網(wǎng)絡(luò)、模擬退火遺傳和改進(jìn)微分進(jìn)化等算法,優(yōu)化PID控制器參數(shù),以提高控制器的控制性能。
本文以無人機(jī)三軸增穩(wěn)云臺(tái)控制電機(jī)為例,對(duì)電機(jī)控制器的參數(shù)優(yōu)化問題進(jìn)行研究,提出基于布谷鳥搜索(cuckoo search,CS)算法的BLDCM PID控制器參數(shù)優(yōu)化方法。
無人機(jī)三軸增穩(wěn)云臺(tái)控制系統(tǒng)是一種典型的位置伺服控制系統(tǒng)。BLDCM為三軸增穩(wěn)云臺(tái)執(zhí)行機(jī)構(gòu),電機(jī)與負(fù)載之間采用直接驅(qū)動(dòng)方式。三軸增穩(wěn)云臺(tái)控制框圖如圖1所示。
圖1 三軸增穩(wěn)云臺(tái)控制框圖 Fig.1 Three-axis stabilization gimbal control block diagram
由圖1可知:增穩(wěn)云臺(tái)控制系統(tǒng)為雙閉環(huán)控制結(jié)構(gòu),從內(nèi)到外可分為速度環(huán)、位置環(huán)[10]。當(dāng)對(duì)其中一軸電機(jī)進(jìn)行控制時(shí),需要綜合考慮三軸增穩(wěn)云臺(tái)的驅(qū)動(dòng)負(fù)載及運(yùn)行過程中可能存在的擾動(dòng)。
BLDCM的工作原理是:在輸入電壓的激勵(lì)下,電路產(chǎn)生電流,使得電能轉(zhuǎn)化為電機(jī)的動(dòng)能;在電機(jī)繞組的驅(qū)動(dòng)下,產(chǎn)生驅(qū)動(dòng)力矩,從而驅(qū)動(dòng)電機(jī)帶動(dòng)負(fù)載進(jìn)行運(yùn)動(dòng)。BLDCM原理如圖2所示[10]。
圖2 BLDCM原理圖 Fig.2 Schematic diagram of BLDCM
圖2中:ur為輸入電壓;La為回路電感;Ra為回路電阻;Ea為反向電動(dòng)勢(shì)。
通過分析電機(jī)原理電路,可得出如下電路方程:
(1)
Ea(t)=Ceω(t)
(2)
Mm(t)=Cmia(t)
(3)
式中:Ce為比例系數(shù),v/(rad.s-1);Mm(t)為電磁轉(zhuǎn)矩;Cm為電機(jī)轉(zhuǎn)矩系數(shù),(N·m)/A。
從工作原理及功能需求來看,三軸增穩(wěn)云臺(tái)中三個(gè)通道的BLDCM控制系統(tǒng)差別較小,可以采用相同的控制模型。單個(gè)電機(jī)及視軸負(fù)載回路如圖3所示。
圖3 電機(jī)及視軸負(fù)載回路 Fig.3 Motor and sight axis load circuit
圖3中:Ra為電樞回路的總電阻;La為電樞回路的總感抗;Cm為電機(jī)力矩系數(shù);J為轉(zhuǎn)動(dòng)慣量。
控制系統(tǒng)的傳遞函數(shù)為:
(4)
(5)
根據(jù)所選增穩(wěn)云臺(tái)電機(jī)參數(shù),計(jì)算得出控制系統(tǒng)的傳遞函數(shù):
(6)
PID控制器優(yōu)化的核心,是選擇一組合理的控制器參數(shù),使系統(tǒng)誤差性能指標(biāo)積分誤差絕對(duì)值(integral absolute error,ISAE)、積分平方誤差(integral square error,ISE)、時(shí)間乘絕對(duì)誤差積分(integral of time multiplied by absolute error,ITAE)、時(shí)間乘平方誤差積分(integral of time multiplied by square error,ITSE)等到達(dá)最優(yōu)。其中,ITAE公式如下:
(7)
ITAE為時(shí)間乘以絕對(duì)誤差的積分,能夠放大系統(tǒng)參數(shù)對(duì)性能指標(biāo)的作用,因此具有較好的實(shí)用性。本文選擇該指標(biāo)作為布谷鳥搜索算法的適應(yīng)性函數(shù),為PID控制器參數(shù)優(yōu)化的合理性提供參考。
布谷鳥搜索算法是2009年由Xin-She Yang和Suash Deb依據(jù)布谷鳥育雛行為與萊維飛行相聯(lián)系而聯(lián)合提出的一種群智能優(yōu)化算法[11]。布谷鳥是典型的具有巢寄生育幼雛行為的鳥類,他們不會(huì)親自孵卵和育雛,而是將自己的卵偷偷產(chǎn)在其他鳥類的鳥巢中,由其他鳥類進(jìn)行孵卵和育雛。其育雛行為具有以下特點(diǎn)。
①提前尋找在孵卵與育雛過程中,生活習(xí)慣相似的鳥類作為寄生宿主。
②一旦確定宿主,利用其外出時(shí)間,迅速產(chǎn)卵,并且移走多余鳥蛋,保證鳥蛋數(shù)量不變。
③當(dāng)?shù)谝恢徊脊萨B雛鳥破殼而出后,它的第一反應(yīng)就是盲目地將寄主蛋推出巢外,增加了自身被提供的食物份額。
④寄生鳥蛋有一定概率被宿主發(fā)現(xiàn),若發(fā)現(xiàn),宿主則放棄鳥巢。
在算法實(shí)現(xiàn)過程中,為便于模擬布谷鳥育雛行為,提出以下前提假設(shè)[12]。
①每只布谷鳥每次只孕育一只鳥蛋,產(chǎn)卵的寄生鳥巢也是隨機(jī)生成的。
②每一組鳥巢中,最優(yōu)良的鳥巢會(huì)得到保存,并作為初始值參與下一次更新。
③寄生鳥巢數(shù)量是固定的,同時(shí)寄生蛋被寄主發(fā)現(xiàn)的概率Pa∈[0 1]。
基于以上假設(shè),布谷鳥搜索算法的鳥窩位置更新如式(8)所示:
(8)
L~u=t-λ,1<λ≤3
(9)
由于目前萊維飛行還不能簡(jiǎn)單地用數(shù)學(xué)公式描述,大部分文獻(xiàn)均采用Mantegna代替萊維飛行[13]。公式如下:
(10)
式中:s為隨機(jī)游動(dòng)的步長(zhǎng);u、v服從正態(tài)分布。
(11)
參數(shù)σu、σv定義如下:
(12)
σv=1
(13)
式中:β∈[1 2],本文設(shè)定為1.5。
BLDCM PID控制框圖如圖4所示。BLDCM PID控制器kp、ki、kd取決于CS算法,由CS算法實(shí)時(shí)產(chǎn)生并更新。在該控制器參數(shù)優(yōu)化設(shè)計(jì)中,選用ITAE指標(biāo)作為CS算法的優(yōu)化函數(shù),經(jīng)過一系列迭代及運(yùn)算,產(chǎn)生ITAE指標(biāo)的最優(yōu)值。
圖4 BLDCM PID控制框圖 Fig.4 BLDCM PID control block diagram
首先,鳥巢數(shù)量及位置通過CS算法隨機(jī)生成。然后,使用鳥巢位置矢量分別作為PID控制系統(tǒng)中的三個(gè)參數(shù)賦值給PID控制器,運(yùn)行SIMULINK PID控制系統(tǒng),得到ITAE指標(biāo)適應(yīng)度值。同時(shí),將計(jì)算得到的ITAE值返回并作為CS算法的適應(yīng)度函數(shù),為鳥巢位置的更新提供依據(jù)。最后,經(jīng)過一系列運(yùn)算,獲得最優(yōu)的kp、ki、kd這3個(gè)參數(shù)。該設(shè)計(jì)實(shí)現(xiàn)過程如下。
(1)參數(shù)初始化設(shè)置:鳥巢數(shù)目、尋優(yōu)維數(shù)、運(yùn)行次數(shù)、鳥蛋被發(fā)現(xiàn)概率和β的取值。
(2)鳥巢初始化:隨機(jī)生成一定數(shù)量的鳥巢位置。
(3)調(diào)用Matlab Simulink里的BLDCM電機(jī)PID控制模型,計(jì)算每個(gè)鳥窩對(duì)應(yīng)的ITAE值,即適應(yīng)度值。
(4)排列出當(dāng)前組別內(nèi)的ITAE最優(yōu)值及對(duì)應(yīng)的鳥巢位置,將其記錄下來參與下一次計(jì)算。
(5)循環(huán)體。
①鳥窩循環(huán)更新。利用布谷鳥搜索算法的鳥窩更新公式隨機(jī)更新一定數(shù)量的鳥巢,并執(zhí)行步驟(3)中的ITAE適應(yīng)度值計(jì)算。然后將計(jì)算結(jié)果與上一次鳥巢適應(yīng)度值進(jìn)行對(duì)比,保留更優(yōu)值,淘汰差值,形成新一組鳥巢適應(yīng)度值。
②鳥窩隨機(jī)更新。鳥窩位置的更新取決于寄主發(fā)現(xiàn)概率。寄主發(fā)現(xiàn)布谷鳥鳥窩的概率r∈[0 1],隨機(jī)產(chǎn)生該概率并與設(shè)定值Pa相比較。如果r≥Pa,則更新。
基于CS算法的PID優(yōu)化設(shè)計(jì)流程如圖5所示。
圖5 基于CS算法的PID優(yōu)化設(shè)計(jì)流程圖 Fig.5 Flowchart of PID optimization design based on CS algorithm
(6)終止循環(huán)。當(dāng)系統(tǒng)尋優(yōu)次數(shù)等于最大迭代次數(shù)設(shè)定值時(shí),輸出ITAE最優(yōu)值及kp、ki、kd3個(gè)尋優(yōu)參數(shù),并終止系統(tǒng)運(yùn)行。反之,若尋優(yōu)次數(shù)未達(dá)到最大迭代次數(shù),則系統(tǒng)保持正常工作。
BLDCM的角度控制需要綜合考慮系統(tǒng)工作的環(huán)境、功能需求等因素。最終目標(biāo)是實(shí)現(xiàn)調(diào)速范疇寬、靜差小、響應(yīng)性好、 超調(diào)量較小和抗負(fù)載擾動(dòng)性能優(yōu)越的角度控制系統(tǒng)。
在電機(jī)持續(xù)長(zhǎng)時(shí)間的工作運(yùn)行中,電機(jī)的部分原始參數(shù)(如電阻、電感和轉(zhuǎn)動(dòng)慣量等)會(huì)發(fā)生較小的改變,從而有可能影響電機(jī)控制性能。當(dāng)然,電機(jī)的部分固定參數(shù)與電機(jī)轉(zhuǎn)矩之間存在比較復(fù)雜的非線性關(guān)系。文獻(xiàn)[14]指出,在采用雙閉環(huán)調(diào)速方式對(duì)BLDCM進(jìn)行控制時(shí),電阻會(huì)對(duì)控制性能產(chǎn)生微弱影響。比如,電感在電機(jī)運(yùn)行過程中會(huì)減少,直接導(dǎo)致速度穩(wěn)定值稍微上升但不會(huì)超過0.1%。當(dāng)系統(tǒng)轉(zhuǎn)動(dòng)慣量改變50%時(shí),對(duì)轉(zhuǎn)速的影響不會(huì)超過0.2%。所以,通過一系列試驗(yàn)求取PID控制器三個(gè)參數(shù)的方案是可行的。
本文應(yīng)用 MATLAB 2018b環(huán)境進(jìn)行仿真,分別采用粒子群算法和布谷鳥搜索算法優(yōu)化BLDCM PID控制器參數(shù),并對(duì)上述兩種算法的仿真結(jié)果進(jìn)行比較分析。
粒子群算法優(yōu)化PID控制器參數(shù)的核心思想與布谷鳥算法基本相同。其基本思想是選擇PID控制器常用的誤差性能指標(biāo)ITAE作為目標(biāo)優(yōu)化函數(shù),經(jīng)過若干次的迭代后,利用粒子群算法尋找使ITAE數(shù)值最優(yōu)的系統(tǒng)參數(shù)。
針對(duì)本文所設(shè)計(jì)的基于CS的BLDCM PID控制器,選取如式(6)所示的控制對(duì)象進(jìn)行試驗(yàn)測(cè)試。BLDCM PID控制模型如圖6所示。
圖6 BLDCM PID控制模型 Fig.6 BLDCM PID control model
首先,將時(shí)間t和偏差u的絕對(duì)值相乘,然后將兩個(gè)參數(shù)的乘積通過積分產(chǎn)生ITAE指標(biāo),經(jīng)由端口1輸出至CS算法中。
由于試驗(yàn)仿真所需時(shí)間較長(zhǎng),且工作任務(wù)量較大,故選用的初始化參數(shù)可能不是最優(yōu)參數(shù)。粒子群算法參數(shù)設(shè)置:粒子數(shù)量為50,慣性權(quán)重為0.6,學(xué)習(xí)因子1和學(xué)習(xí)因子2都為1,最大迭代次數(shù)為40,變量取值下界為[0 0 0],變量取值上界為[50 50 50]。布谷鳥搜索算法參數(shù)設(shè)置:鳥巢數(shù)量為50,鳥窩被發(fā)現(xiàn)概率為0.25,步長(zhǎng)參數(shù)為1.5,變量取值下界為[0 0 0],變量取值上界為[50 50 50]。
第一種情況是無刷直流電機(jī)通過給出一個(gè)恒定的階躍函數(shù)來跟蹤電機(jī)轉(zhuǎn)速趨近于θd→50,使其控制時(shí)間為10 s。BLDCM位置跟蹤曲線如圖7所示。從圖7可以看出,PSO-PID控制器和CS-PID控制器在解決傳統(tǒng)PID控制器參數(shù)優(yōu)化費(fèi)時(shí)的前提下,均能快速跟蹤參考電機(jī)角度位置,并且兩個(gè)控制器都成功地達(dá)到系統(tǒng)設(shè)定跟蹤時(shí)間。但是每個(gè)控制器在跟蹤性能都有所不同,特別是CS-PID控制器性能更加優(yōu)越。圖7中,PSO-PID控制器比CS-PID控制器的上升時(shí)間更快,但是PSO-PID控制器存在明顯的超調(diào)。
圖7 BLDCM位置跟蹤曲線 Fig.7 BLDCM angle position tracking curves
在優(yōu)化增益時(shí),采用ITAE函數(shù)作為布谷鳥搜索算法優(yōu)化的PID控制器的成本函數(shù)。適應(yīng)值收斂曲線如圖8所示。從圖8可以看出,在第8次迭代時(shí),成本顯著下降,并在第16次迭代后開始收斂到一定的值,優(yōu)化過程具有很強(qiáng)快速性。
圖8 適應(yīng)值收斂曲線 Fig.8 Fitness comvergemce curve
同時(shí),為了獲得更加可靠的數(shù)據(jù),在給定單位階躍函數(shù)的前提下,每種算法獨(dú)立運(yùn)行15次,然后計(jì)算15次仿真試驗(yàn)中的ITAE性能指標(biāo)的最優(yōu)值、最差值、平均值和方差,并作比較分析。PID控制器ITAE指標(biāo)值對(duì)比如表1所示。
表1 PID控制器ITAE指標(biāo)值對(duì)比 Tab.1 PID controller ITAE index value comparison
從表1可知,布谷鳥搜索算法的仿真結(jié)果在最優(yōu)值、最差值、平均值和方差指標(biāo)方面,都優(yōu)于粒子群算法,表明基于布谷鳥搜索算法的BLDCM PID角度控制器的優(yōu)化設(shè)計(jì)明顯在控制性能和穩(wěn)定性上更加優(yōu)良。
針對(duì)傳統(tǒng)PID控制器參數(shù)優(yōu)化費(fèi)時(shí)且最佳控制性能難以保證的問題,本文提出了基于布谷鳥搜索算法優(yōu)化的PID控制器。首先,根據(jù)BLDCM實(shí)際參數(shù),推導(dǎo)出BLDCM與負(fù)載框架數(shù)學(xué)模型。同時(shí),在給定恒定階躍函數(shù)的前提下,對(duì)布谷鳥搜索算法和粒子群算法優(yōu)化PID角度控制器進(jìn)行大量的試驗(yàn)仿真。
試驗(yàn)仿真數(shù)據(jù)表明:基于布谷鳥搜索算法的BLDCM PID控制器雖然上升時(shí)間稍慢,但是不存在超調(diào)量的問題。同時(shí),通過對(duì)ITAE適應(yīng)度值的比較分析表明,CS-PID控制器能有效地改善BLDCM的跟蹤性能,因此在工業(yè)控制領(lǐng)域有著廣闊的應(yīng)用前景。