盧艷軍,冷文龍,張曉東
(沈陽航空航天大學自動化學院,遼寧 沈陽 10136)
比例積分微分(proportion integration differentiation,PID)控制具有原理簡單、易于實現和魯棒性強等特性,廣泛應用于無刷直流電機(brushless direct current motor,BLDCM)角度控制領域[1]。在PID控制中,kp、ki、kd三個參數直接決定控制性能指標。PID控制器優化設計的重點在于PID控制器參數的優化。因此,在自動控制領域中,PID控制一直是研究的重點及熱點[2-3]。
在BLDCM控制過程中,使用自然啟發式算法優化PID控制器參數是常用的方法之一。對此,中外學者進行了廣泛而深入的研究,取得了較好的進展。Premkumar等在調整PID控制器的控制增益時采用蝙蝠算法,使控制器的控制效果優于經典的PID控制器和模糊調節PID控制器[4];Ibrahim等對粒子群算法和細菌覓食算法進行了深入的研究分析,提出了粒子群算法優化PID控制器的增益,提高了控制器的控制性能[5];文獻[6]~文獻[9]則分別采用了人工神經網絡、模擬退火遺傳和改進微分進化等算法,優化PID控制器參數,以提高控制器的控制性能。
本文以無人機三軸增穩云臺控制電機為例,對電機控制器的參數優化問題進行研究,提出基于布谷鳥搜索(cuckoo search,CS)算法的BLDCM PID控制器參數優化方法。
無人機三軸增穩云臺控制系統是一種典型的位置伺服控制系統。BLDCM為三軸增穩云臺執行機構,電機與負載之間采用直接驅動方式。三軸增穩云臺控制框圖如圖1所示。

圖1 三軸增穩云臺控制框圖 Fig.1 Three-axis stabilization gimbal control block diagram
由圖1可知:增穩云臺控制系統為雙閉環控制結構,從內到外可分為速度環、位置環[10]。當對其中一軸電機進行控制時,需要綜合考慮三軸增穩云臺的驅動負載及運行過程中可能存在的擾動。
BLDCM的工作原理是:在輸入電壓的激勵下,電路產生電流,使得電能轉化為電機的動能;在電機繞組的驅動下,產生驅動力矩,從而驅動電機帶動負載進行運動。BLDCM原理如圖2所示[10]。

圖2 BLDCM原理圖 Fig.2 Schematic diagram of BLDCM
圖2中:ur為輸入電壓;La為回路電感;Ra為回路電阻;Ea為反向電動勢。
通過分析電機原理電路,可得出如下電路方程:
(1)
Ea(t)=Ceω(t)
(2)
Mm(t)=Cmia(t)
(3)
式中:Ce為比例系數,v/(rad.s-1);Mm(t)為電磁轉矩;Cm為電機轉矩系數,(N·m)/A。
從工作原理及功能需求來看,三軸增穩云臺中三個通道的BLDCM控制系統差別較小,可以采用相同的控制模型。單個電機及視軸負載回路如圖3所示。

圖3 電機及視軸負載回路 Fig.3 Motor and sight axis load circuit
圖3中:Ra為電樞回路的總電阻;La為電樞回路的總感抗;Cm為電機力矩系數;J為轉動慣量。
控制系統的傳遞函數為:

(4)
(5)
根據所選增穩云臺電機參數,計算得出控制系統的傳遞函數:
(6)
PID控制器優化的核心,是選擇一組合理的控制器參數,使系統誤差性能指標積分誤差絕對值(integral absolute error,ISAE)、積分平方誤差(integral square error,ISE)、時間乘絕對誤差積分(integral of time multiplied by absolute error,ITAE)、時間乘平方誤差積分(integral of time multiplied by square error,ITSE)等到達最優。其中,ITAE公式如下:

(7)
ITAE為時間乘以絕對誤差的積分,能夠放大系統參數對性能指標的作用,因此具有較好的實用性。本文選擇該指標作為布谷鳥搜索算法的適應性函數,為PID控制器參數優化的合理性提供參考。
布谷鳥搜索算法是2009年由Xin-She Yang和Suash Deb依據布谷鳥育雛行為與萊維飛行相聯系而聯合提出的一種群智能優化算法[11]。布谷鳥是典型的具有巢寄生育幼雛行為的鳥類,他們不會親自孵卵和育雛,而是將自己的卵偷偷產在其他鳥類的鳥巢中,由其他鳥類進行孵卵和育雛。其育雛行為具有以下特點。
①提前尋找在孵卵與育雛過程中,生活習慣相似的鳥類作為寄生宿主。
②一旦確定宿主,利用其外出時間,迅速產卵,并且移走多余鳥蛋,保證鳥蛋數量不變。
③當第一只布谷鳥雛鳥破殼而出后,它的第一反應就是盲目地將寄主蛋推出巢外,增加了自身被提供的食物份額。
④寄生鳥蛋有一定概率被宿主發現,若發現,宿主則放棄鳥巢。
在算法實現過程中,為便于模擬布谷鳥育雛行為,提出以下前提假設[12]。
①每只布谷鳥每次只孕育一只鳥蛋,產卵的寄生鳥巢也是隨機生成的。
②每一組鳥巢中,最優良的鳥巢會得到保存,并作為初始值參與下一次更新。
③寄生鳥巢數量是固定的,同時寄生蛋被寄主發現的概率Pa∈[0 1]。
基于以上假設,布谷鳥搜索算法的鳥窩位置更新如式(8)所示:
(8)

L~u=t-λ,1<λ≤3
(9)

由于目前萊維飛行還不能簡單地用數學公式描述,大部分文獻均采用Mantegna代替萊維飛行[13]。公式如下:
(10)
式中:s為隨機游動的步長;u、v服從正態分布。
(11)
參數σu、σv定義如下:
(12)
σv=1
(13)
式中:β∈[1 2],本文設定為1.5。
BLDCM PID控制框圖如圖4所示。BLDCM PID控制器kp、ki、kd取決于CS算法,由CS算法實時產生并更新。在該控制器參數優化設計中,選用ITAE指標作為CS算法的優化函數,經過一系列迭代及運算,產生ITAE指標的最優值。

圖4 BLDCM PID控制框圖 Fig.4 BLDCM PID control block diagram
首先,鳥巢數量及位置通過CS算法隨機生成。然后,使用鳥巢位置矢量分別作為PID控制系統中的三個參數賦值給PID控制器,運行SIMULINK PID控制系統,得到ITAE指標適應度值。同時,將計算得到的ITAE值返回并作為CS算法的適應度函數,為鳥巢位置的更新提供依據。最后,經過一系列運算,獲得最優的kp、ki、kd這3個參數。該設計實現過程如下。
(1)參數初始化設置:鳥巢數目、尋優維數、運行次數、鳥蛋被發現概率和β的取值。
(2)鳥巢初始化:隨機生成一定數量的鳥巢位置。
(3)調用Matlab Simulink里的BLDCM電機PID控制模型,計算每個鳥窩對應的ITAE值,即適應度值。
(4)排列出當前組別內的ITAE最優值及對應的鳥巢位置,將其記錄下來參與下一次計算。
(5)循環體。
①鳥窩循環更新。利用布谷鳥搜索算法的鳥窩更新公式隨機更新一定數量的鳥巢,并執行步驟(3)中的ITAE適應度值計算。然后將計算結果與上一次鳥巢適應度值進行對比,保留更優值,淘汰差值,形成新一組鳥巢適應度值。
②鳥窩隨機更新。鳥窩位置的更新取決于寄主發現概率。寄主發現布谷鳥鳥窩的概率r∈[0 1],隨機產生該概率并與設定值Pa相比較。如果r≥Pa,則更新。
基于CS算法的PID優化設計流程如圖5所示。

圖5 基于CS算法的PID優化設計流程圖 Fig.5 Flowchart of PID optimization design based on CS algorithm
(6)終止循環。當系統尋優次數等于最大迭代次數設定值時,輸出ITAE最優值及kp、ki、kd3個尋優參數,并終止系統運行。反之,若尋優次數未達到最大迭代次數,則系統保持正常工作。
BLDCM的角度控制需要綜合考慮系統工作的環境、功能需求等因素。最終目標是實現調速范疇寬、靜差小、響應性好、 超調量較小和抗負載擾動性能優越的角度控制系統。
在電機持續長時間的工作運行中,電機的部分原始參數(如電阻、電感和轉動慣量等)會發生較小的改變,從而有可能影響電機控制性能。當然,電機的部分固定參數與電機轉矩之間存在比較復雜的非線性關系。文獻[14]指出,在采用雙閉環調速方式對BLDCM進行控制時,電阻會對控制性能產生微弱影響。比如,電感在電機運行過程中會減少,直接導致速度穩定值稍微上升但不會超過0.1%。當系統轉動慣量改變50%時,對轉速的影響不會超過0.2%。所以,通過一系列試驗求取PID控制器三個參數的方案是可行的。
本文應用 MATLAB 2018b環境進行仿真,分別采用粒子群算法和布谷鳥搜索算法優化BLDCM PID控制器參數,并對上述兩種算法的仿真結果進行比較分析。
粒子群算法優化PID控制器參數的核心思想與布谷鳥算法基本相同。其基本思想是選擇PID控制器常用的誤差性能指標ITAE作為目標優化函數,經過若干次的迭代后,利用粒子群算法尋找使ITAE數值最優的系統參數。
針對本文所設計的基于CS的BLDCM PID控制器,選取如式(6)所示的控制對象進行試驗測試。BLDCM PID控制模型如圖6所示。

圖6 BLDCM PID控制模型 Fig.6 BLDCM PID control model
首先,將時間t和偏差u的絕對值相乘,然后將兩個參數的乘積通過積分產生ITAE指標,經由端口1輸出至CS算法中。
由于試驗仿真所需時間較長,且工作任務量較大,故選用的初始化參數可能不是最優參數。粒子群算法參數設置:粒子數量為50,慣性權重為0.6,學習因子1和學習因子2都為1,最大迭代次數為40,變量取值下界為[0 0 0],變量取值上界為[50 50 50]。布谷鳥搜索算法參數設置:鳥巢數量為50,鳥窩被發現概率為0.25,步長參數為1.5,變量取值下界為[0 0 0],變量取值上界為[50 50 50]。
第一種情況是無刷直流電機通過給出一個恒定的階躍函數來跟蹤電機轉速趨近于θd→50,使其控制時間為10 s。BLDCM位置跟蹤曲線如圖7所示。從圖7可以看出,PSO-PID控制器和CS-PID控制器在解決傳統PID控制器參數優化費時的前提下,均能快速跟蹤參考電機角度位置,并且兩個控制器都成功地達到系統設定跟蹤時間。但是每個控制器在跟蹤性能都有所不同,特別是CS-PID控制器性能更加優越。圖7中,PSO-PID控制器比CS-PID控制器的上升時間更快,但是PSO-PID控制器存在明顯的超調。

圖7 BLDCM位置跟蹤曲線 Fig.7 BLDCM angle position tracking curves
在優化增益時,采用ITAE函數作為布谷鳥搜索算法優化的PID控制器的成本函數。適應值收斂曲線如圖8所示。從圖8可以看出,在第8次迭代時,成本顯著下降,并在第16次迭代后開始收斂到一定的值,優化過程具有很強快速性。

圖8 適應值收斂曲線 Fig.8 Fitness comvergemce curve
同時,為了獲得更加可靠的數據,在給定單位階躍函數的前提下,每種算法獨立運行15次,然后計算15次仿真試驗中的ITAE性能指標的最優值、最差值、平均值和方差,并作比較分析。PID控制器ITAE指標值對比如表1所示。

表1 PID控制器ITAE指標值對比 Tab.1 PID controller ITAE index value comparison
從表1可知,布谷鳥搜索算法的仿真結果在最優值、最差值、平均值和方差指標方面,都優于粒子群算法,表明基于布谷鳥搜索算法的BLDCM PID角度控制器的優化設計明顯在控制性能和穩定性上更加優良。
針對傳統PID控制器參數優化費時且最佳控制性能難以保證的問題,本文提出了基于布谷鳥搜索算法優化的PID控制器。首先,根據BLDCM實際參數,推導出BLDCM與負載框架數學模型。同時,在給定恒定階躍函數的前提下,對布谷鳥搜索算法和粒子群算法優化PID角度控制器進行大量的試驗仿真。
試驗仿真數據表明:基于布谷鳥搜索算法的BLDCM PID控制器雖然上升時間稍慢,但是不存在超調量的問題。同時,通過對ITAE適應度值的比較分析表明,CS-PID控制器能有效地改善BLDCM的跟蹤性能,因此在工業控制領域有著廣闊的應用前景。