杜慧東, 邱 婷, 朱明澤
(1.西華大學 電氣與電子信息學院, 成都 610039; 2.哈爾濱電氣國際工程有限責任公司,哈爾濱 150028)
基于PSO的近似動態(tài)規(guī)劃及其在電機控制中的應用
杜慧東1, 邱 婷1, 朱明澤2
(1.西華大學 電氣與電子信息學院, 成都 610039; 2.哈爾濱電氣國際工程有限責任公司,哈爾濱 150028)
提出一種采用粒子群優(yōu)化思想的改進近似動態(tài)規(guī)劃算法,并用以控制永磁同步電機。近似動態(tài)規(guī)劃是一種基于強化學習原理的在線學習算法,并以PID神經網絡為工具求解Bellman問題。傳統(tǒng)算法的權值更新采用反向傳播算法,要求有精確的一階導數,如果梯度不精確就會使得算法對網絡初始值選取十分敏感,穩(wěn)定性與收斂速度就會受到影響。針對這一問題,采用改進的粒子群優(yōu)化算法不需要任何梯度信息,能保證算法快速穩(wěn)定地收斂。設計一種用粒子群優(yōu)化算法與神經網絡近似動態(tài)規(guī)劃相結合的在線學習PID控制器用于永磁同步電機矢量控制系統(tǒng)中,仿真結果表明,該算法設計的控制器提高了控制系統(tǒng)的響應速度與精度,具有更強的適應性和魯棒性。
近似動態(tài)規(guī)劃;粒子群算法;PID神經網絡;永磁同步電機
由Bellman提出的動態(tài)規(guī)劃算法在工程控制中有著重要的意義,而近似動態(tài)規(guī)劃(approximate dynamic programming,ADP)[1-2]的研究一直受到重視,研究者提出了許多改進以及在眾多領域中的運用[3-6]。J W Park將啟發(fā)式動態(tài)規(guī)劃與多層感知器神經網絡和徑向基神經網絡相結合來控制同步發(fā)電機[7]。Jennie Si等[8]提出直接啟發(fā)式動態(tài)規(guī)劃算法(direct heuristic dynamic programming, DHDP)并將其應用于倒立擺系統(tǒng),DHDP不要求建模的優(yōu)點使得它被廣泛運用。文獻[9]在DHDP的基礎上提出了根據設計好的PID控制器來選取初值的改進方法,并將其使用在SVC控制中,達到了很好的效果。
DHDP的訓練過程中采用BP神經網絡的權值更新算法,但梯度下降法收斂速度慢,且對初值選取十分敏感,使得算法易陷入局部收斂,限制了算法的發(fā)展。然而PSO收斂速度快,引入變異因子后不易陷入局部最優(yōu)[10],因此本文對DHDP算法進行改進,即將改進的PSO替換梯度下降法來更新評價網絡和動作網絡兩個神經網絡的權值,這能夠保證HDHP的在線學習方式能夠更快地收斂,達到最優(yōu)控制效果。
1.1 DHDP基本原理
離散非線性系統(tǒng):
x(t+1)=f[x(t),u(t)]
(1)
式中:x(t)為系統(tǒng)狀態(tài)變量;u(t)為系統(tǒng)控制變量。
系統(tǒng)指標函數,或叫代價函數:
(2)
式中:r為效用函數,代表系統(tǒng)的獎懲;α(0<α<1)為折扣因子,代表r在不同時期對指標函數的影響。為了解決式(1)、(2)組成的優(yōu)化問題,需要找到合適的決策序列u(t),使指標函數J最小化。根據Bellman最優(yōu)理論,即J*是t時刻與t+1時刻的最小代價和,相應的t時刻u(k)也達到最優(yōu):
DHDP使用評價網絡,動作網絡與模型網絡的結構,原理圖如圖1所示。
圖1 DHDP原理圖Fig.1 DHDP schematic diagram
圖1中評價網絡的作用是根據狀態(tài)變量計算指標函數并根據誤差函數對其進行訓練。評價網絡的誤差函數為
(3)
為了保證指標函數向目標收斂,評價網絡采用反向傳播思想,通過計算誤差對權值的一階偏導,對網絡權值進行更新:
wc(t+1)=wc(t)+Δwc(k)
式中:wc(t)為評價網絡權值;λc(λc>0)為評價網絡的學習率,隨t線性衰減。
動作網絡旨在間接地反向傳播指標函數J和目標值之間的誤差。指標函數目標值為Uc(t),將Uc(t)設為0代表指標函數訓練的目標值為0。將狀態(tài)變量作為動作網絡的輸入,網絡輸出的控制信號作為模型網絡的輸入,這樣動作網絡就可以在線性或非線性模型中投入使用。動作網的誤差函數為
(4)
權值更新算法與評價網絡類似:
wa(t+1)=wa(t)+Δwa(k)
式中:wa(t)為動作網絡權值;λa(λa>0)為動作網絡的學習率,隨t線性衰減。
1.2 PID神經網絡
評價網絡與動作網絡均采用PID神經網絡結構。PID神經網絡是一種融合了PID簡單實用的控制規(guī)律與神經網絡的“萬能”逼近能力的神經網絡,PID神經網絡基本形式結構如圖2所示。
圖2 PID神經網絡Fig.2 PID neural network
1.3 改進的PSO算法
粒子群算法(Particle Swarm Optimization)是一種智能優(yōu)化算法,源于鳥類捕食行為,算法初始化M維N個隨機粒子,在不斷迭代更新粒子個體極值(pbest)與種群極值(gbest)的過程中最終找到最優(yōu)解。
PSO算法粒子更新:
(5)
式中:w為慣性權重;β為速度因子;i(i=1,2,…,N)代表第i個粒子;m(m=1,2,…,M)代表第m維;Xim(t)、Vim(t)分別表示第m維中的第i個粒子在第t次迭代中的位置和速度;c1、c2為非負的學習因子;r1、r2為[0,1]之間的隨機數。達到最大迭代次數或預設的最小閾值則終止。
為了避免PSO容易陷入局部最優(yōu),在基本算法基礎上引入變異因子,即在Xi接連無變化或變化很小時,保留該最優(yōu)位置,隨機初始化一部分粒子[11]。此外采用線性遞減的方法適當調節(jié)慣性權值,有利于平衡算法搜索能力。
評價網絡與訓練網絡分別建立PIDNN,兩個網絡分別實現對算法的訓練,實現控制功能。但是網絡的權值更新都根據常規(guī)的反向傳播算法,算法因此受到局限,本文采用改進的PSO替代,形成PSO-DHDP算法。
2.1 評價網絡訓練
網絡訓練算法如下:
(6)
式中:wcij(1)代表第j個輸入與第i個隱層之間的權值;qi(t)為輸入層到第i個隱層的中間變量;pi(t)為第i個隱層輸入;pci(t)為第i個隱層輸出;wci(2)為第i個隱層到輸出層間的權值,Nc為隱層層數;xj為評價網絡輸入;輸入有n+1個,包括n個模型狀態(tài)變量和動作網絡輸出u(t)。
2.2 動作網絡訓練
動作網絡訓練如下:
(7)
式中:waij(1)代表第j個輸入與第i個隱層之間的權值;hi(t)為輸入層到第i個隱層的中間變量;gi(t)為第i個隱層輸入;gai(t)為第i個隱層輸出;wai(2)為第i個隱層到輸出層間的權值;v(t)為輸出層的中間變量;Na為隱層層數;xj為動作網絡輸入,輸入包括n個模型狀態(tài)變量,相比評價網絡少一個u(t)。
2.3 改進DHDP算法流程
將PSO-DHDP與PID神經網絡有機結合,構建一種在線學習的PID控制器。評價網絡輸入神經元個數為i,隱含層有j個神經元,根據被控系統(tǒng)設置PID控制模式,神經元均采用tansig函數,單輸出。動作網絡輸入層不需要u(t),神經元為i-1個,其余同評價網絡。兩個網絡權值更新算法均采用改進的PSO算法。
控制器采用的算法流程如下:
流程圖如圖3所示。
圖3 PSO-DHDP算法流程圖Fig.3 PSO-DHDP algorithm flow chart
Setp1 初始化網絡權值wa1、wa2、wc1、wc2等相關參數。初始化評價網絡和動作網絡的PSO參數,最大迭代次數為Kmax,種群數量為N,種群維數為2*i*j。
Setp2 根據式(6)、(7)計算u輸出給模型網絡,同時反饋模型狀態(tài)變量,形成閉環(huán)控制。
Setp3 評價網絡的誤差函數如式(3)所示,則評價網絡的PSO適應度函數為
Fc=1/Ec
(8)
結合式(3)、(8)計算計算評價網粒子的適應度,初始化c_pbest、c_gbest。
Setp4 已知動作網絡的誤差函數如式(4)所示,則評價網絡的PSO適應度函數為
Fa=1/Ea
(9)
由式(4)、(9)計算計算動作網粒子的適應度,同時得到a_pbest、a_gbest。
Setp5 首先根據式(5)分別更新評價網與動作網粒子的位置與速度,將新的粒子代入網絡中并收集輸出的相關數據,然后運算得到相應的適應度值,并更新c_pbest、c_gbest、a_pbest、a_gbest,迭代次數k+1。
Setp6 判斷是否達到終止條件,如果當前迭代次數k≥kmax,則將c_gbest、a_gbest輸出分別代替評價網絡和動作網絡的權值系數;如果k Setp7 用更新了的評價網絡、動作網絡來實現對系統(tǒng)的控制,得到新的模型反饋變量。重復步驟Step2~Step7不斷訓練網絡參數,獲得最優(yōu)控制效果。 為了測試PSO-DHDP的可行性與優(yōu)劣,將上述算法加入到PMSM的矢量控制系統(tǒng)中,用以實現 電機的快速啟動與穩(wěn)定運行。 矢量控制系統(tǒng)采用電流、速度的雙閉環(huán)控制,電流傳感器、轉速傳感器采集電機運行參數得到反饋信號。速度環(huán)實現電機反饋轉速ω自動跟蹤參考轉速ω*,輸出iq*作為iq的參考電流。令id參考電流為0,實現磁場定向控制,參考電流與電機反饋電流比較得到控制信號。經SVPWM控制逆變器產生脈沖控制電機轉動,在仿真系統(tǒng)中速度控制器是以PSO-DHDP為支持的控制器。系統(tǒng)框圖如圖4所示,粒子群參數設定如表1所示。 表1 粒子群參數設定Table 1 PSO parameter setting 圖4 PMSM矢量控制系統(tǒng)框圖Fig.4 PMSM vector control system block diagram 由于電機控制不需要微分調節(jié),故而全部為1-2-1的PIDNN模型。三相電機參數設定:轉速n=2 000 r/min;轉動慣量J=0.0008 kg·m2;定子相電感Ls=8.5 mH;極對數p=4;R=2.875 Ω;永磁體磁鏈ψf=0.175 WB;直流電壓Vdc=450 V;SVPWM采樣頻率Ts=0.0025 s,在0.1 s電機加入負載轉矩TN=5 N·m。 分別利用傳統(tǒng)DHDP與PSO-DHDP構成的速度控制器與電流控制器,實現對PMSM的控制。電機轉速、轉矩波形圖如圖5、圖6所示。兩項實驗的結果如表2所示。 在電機變載試驗中,加入負載后的運行狀態(tài)出現明顯變動。PSO-DHDP在加入負載擾動后需要0.028 s恢復系統(tǒng)穩(wěn)定,傳統(tǒng)DHDP算法需要0.046 s。 圖5 電機轉速Fig.5 Motor speed 圖6 電機轉矩Fig.6 Motor torque表2 實驗結果 Table 2 Experiment results 算法啟動時間/s啟動轉速波峰值/(r·m-1)加入負載后轉速波谷/(r·m-1)波動時間/s啟動轉矩波峰值/(N·m)加負載轉矩波峰/(N·m)PSO-DHDP0.048203317590.02818.17.3傳統(tǒng)DHDP0.059225617500.04627.68.6 電機轉速出現短暫波動,轉速經過一個波谷恢復轉速,PSO-DHDP控制電機受到干擾后轉速下降了12.05%,傳統(tǒng)DHDP則下降了12.5%;在轉矩增加過程中,PSO-DHDP的超調量為46%,傳統(tǒng)DHDP達到了72%??梢奝SO-DHDP比傳統(tǒng)DHDP有更快的收斂速度、更好的動態(tài)穩(wěn)定性和更強的抗干擾能力。 PSO-DHDP方法采用改進的PSO算法代替?zhèn)鹘y(tǒng)DHDP算法中的梯度下降法,結合了PSO的快速收斂、不依賴梯度運算與DHDP的在線學習能力的優(yōu)勢,改進后的權值更新方法使算法對權值的敏感度大為下降,保證了算法在無先驗經驗的條件下也可以快速收斂。用PSO-DHDP和傳統(tǒng)DHDP分別設計PID控制器運用在PMSM控制系統(tǒng)中,較于傳統(tǒng)DHDP,PSO-DHDP具有快速的收斂速度以及穩(wěn)定的控制效果,在工程中有巨大的實用潛力。 [1] 段艷杰, 呂宜生, 張杰,等. 深度學習在控制領域的研究現狀與展望[J]. 自動化學報,2016,42(5):643-654. DUAN Yanjie, LU Yisheng, ZHANG Jie, et al. Deep learning for control: the sate of the art and prospects[J]. Acta Automation Sinica, 2016, 42(5): 643-654. [2] 張化光, 張欣, 羅艷紅,等. 自適應動態(tài)規(guī)劃綜述[J]. 自動化學報, 2013,39(4)303-311. ZHANG Huaguang, ZHANG Xin, LUO Yanhong, et al. An overview of research on adaptive dynamic programming[J]. Acta Automation Sinica, 2013, 39(4): 303-311. [3] WHITE D A, SOFGE D A. Handbook of Intelligent Control: Neural Fuzzy and Adaptive Approaches[M]. New York: Van Nostrand Reinhold, 1992. [4] SI J, BARTO A G, POWELL W B, et al. Handbook of learning and approximate dynamic programming: Scalingup to the real world[M]. New York: IEEE Press and John Wiley & Sons, 2004:1-17. [5] WANG F Y, ZHANG H G, LIU D R.Adaptive dynamic programming: an introduction[J]. IEEE Computational Intelligence Magazine, 2009, 4(2): 39-47. [6] LIU Wenxin, VENAYAGAMOORTHY G K, WUNCH D C. A heuristic dynamic programming based power system stabilizer for a turbogenerator in a single machine power system[J]. IEEE Transactions on Industry Applications, 2005,41(5):1377-1385. [7] PARK J W, HARLEY R G, VENAYAGAMOORTHY G K.Adaptive-critic-based optimal neurocontrol for synchronous generators in a power system using MLP/RBF neural networks[J].IEEE Transactions on Industry Applications, 2003, 39(5): 1529-1540. [8] SI J, WANG Y T. On-line learning control by association and reinforcement[J]. IEEE Transactions On Neural Networks, 2001, 12(2): 264-276. [9] 孫健, 劉鋒, SI J,等. 一種改進的近似動態(tài)規(guī)劃方法及其在SVC的應用[J]. 電機與控制學報,2011,15(5):95-102. SUN Jian, LIU Feng, SI J, et al. An improved approximate dynamic programming and its application in SVC control, 2011, 15(5): 95-102. [10] 馮冬青, 邢廣成, 費敏銳,等. 基于改進PSO算法的多變量PID型神經網絡控制[J]. 系統(tǒng)仿真學報,2011(2):363-366. FENG Dongqing, XING Guangcheng, FEI Minrui, et al. Improved PSO-based multivariable PID-like neural network control[J]. Journal of System Simulation, 2011 (2): 363-366. [11] 胡海波, 黃友銳. 基于混合PSO神經網絡的自整定分數階PID控制器[J]. 微電子學與計算機,2010,27(5):157-161. HU Haibo, HUANG Yourui. Self-tuning fractional order PID based on hybrid PSO neural networks[J]. Microelectronics & Computer, 2010, 27(5): 157-161. (編輯 陳銀娥) Approximate dynamic programming based on PSO and its application in motor control DU Huidong1, QIU Ting1,ZHU Mingze2 (1.School of Electric Engineering and Electronic Information, Xihua University, Chengdu 610039, China;2.Harbin Electric International Company Limited,Harbin 150028,China) An improved approximate dynamic programming algorithm based on particle swarm optimization (PSO) is proposed in order to control permanent magnet synchronous motor. Approximate dynamic programming is an online learning algorithm based on reinforcement learning theory, which can solve the Bellman problem by using the PID neural network as a tool. In traditional algorithm, back-propagation algorithm is introduced into the weight updating, which requires accurate first order derivative. If the gradients are not exact, algorithm will be very sensitive to make the choice of the network initial value, thus stability and convergence speed will be affected. As to the problem, the improved particle swarm optimization (PSO) algorithm is adopted which does not requires any gradient information and can guarantee the fast and stable convergence of the algorithm. Design of an online learning PID controller with particle swarm optimization algorithm and neural network approximate dynamic programming combined is used in the vector control system of permanent magnet synchronous motor (PMSM). The simulation results show that controller designed by algorithm improves response speed and accuracy of the control system, with better adaptability and robustness. approximate dynamic programming; particle swarm optimization; PID neural network; permanent magnet synchronous motor 2017-02-16。 教育部“春暉計劃”資助項目(Z2012029),四川省信號與信息處理重點實驗室開放基金資助項目(szjj2012-015),西華大學研究生創(chuàng)新基金資助項目(ycjj2015098)。 杜慧東(1991—),男,碩士研究生,研究方向為智能控制、電機控制。 TM301.2 A 2095-6843(2017)03-0235-053 PMSM矢量控制
4 結 語