婁 坤
?
采用神經(jīng)網(wǎng)絡(luò)PID控制器改進(jìn)單桿液壓執(zhí)行器的研究
婁 坤
(安徽省科昌機(jī)械制造股份有限公司,安徽 滁州 239500)
針對(duì)單桿液壓執(zhí)行器運(yùn)動(dòng)軌跡誤差較大問題,采用改進(jìn)神經(jīng)網(wǎng)絡(luò)PID控制器進(jìn)行改進(jìn)。建立單桿液壓執(zhí)行器簡(jiǎn)圖模型,給出末端執(zhí)行器位移方程式和液壓缸流量方程式。分析PID控制器控制流程,引用BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),采用粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)PID控制器參數(shù),通過MATLAB軟件對(duì)單桿液壓執(zhí)行器跟蹤誤差進(jìn)行仿真。結(jié)果顯示:?jiǎn)螚U液壓執(zhí)行器采用PID控制器,X和Y方向產(chǎn)生的最大誤差分別為8.10×10-5m和8.90×10-5m,跟蹤誤差較大;單桿液壓執(zhí)行器采用改進(jìn)BP神經(jīng)網(wǎng)絡(luò)PID控制器,X和Y方向產(chǎn)生的最大誤差分別為1.80×10-5m和2.10×10-5m,跟蹤誤差較小。采用改進(jìn)BP神經(jīng)網(wǎng)絡(luò)PID控制器,單桿液壓執(zhí)行器跟蹤精度較高,能夠?qū)崿F(xiàn)高精度定位要求。
單桿; 液壓; BP神經(jīng)網(wǎng)絡(luò); PID控制器; 誤差; 仿真
單桿液壓執(zhí)行器通過控制液壓缸移動(dòng),執(zhí)行不同任務(wù)精度的要求。單桿液壓缸驅(qū)動(dòng)機(jī)構(gòu)因結(jié)構(gòu)簡(jiǎn)單、成本低及安全性高等優(yōu)點(diǎn)而廣泛應(yīng)用于機(jī)械手、挖掘機(jī)及鏟車等許多領(lǐng)域[1]。單桿液壓控制裝置包括液壓系統(tǒng)、傳感器部分及控制部分三個(gè)方面。液壓系統(tǒng)采用液壓泵將機(jī)械能轉(zhuǎn)換為壓力能,通過液壓缸將壓力能轉(zhuǎn)換為機(jī)械能[2]。傳感器主要用來采集系統(tǒng)各種信息,將其放大處理,然后通過控制器進(jìn)行處理。控制器將傳感器檢測(cè)信號(hào)進(jìn)行轉(zhuǎn)換和處理,在利用模擬信號(hào)完成單桿運(yùn)動(dòng)軌跡的定位控制。單桿液壓驅(qū)動(dòng)在執(zhí)行特殊任務(wù)時(shí),若控制精度較低,則會(huì)造成重大損失。因此,研究高精度的單桿液壓執(zhí)行器控制方法具有重要意義。
當(dāng)前,很多研究人員對(duì)單桿液壓執(zhí)行器控制進(jìn)行了研究。例如:文獻(xiàn)[3-4]研究了數(shù)字化單桿控制系統(tǒng),設(shè)計(jì)了單桿控制主電路板,給出了系統(tǒng)控制軟件方案。實(shí)驗(yàn)結(jié)果表明,數(shù)字化單桿控制系統(tǒng)采用精度高,抗干擾能力強(qiáng),能夠?qū)崿F(xiàn)遠(yuǎn)距離傳輸。文獻(xiàn)[5-6]研究了單桿液壓挖掘機(jī)控制系統(tǒng)方法,分析了液壓挖掘機(jī)驅(qū)動(dòng)裝置,設(shè)計(jì)了系統(tǒng)控制的硬件和軟件,編制控制系統(tǒng)流程圖,采用了PID控制方法。單桿液壓挖掘機(jī)采用PID控制方法,可以提高工作效率。以往研究的單桿液壓執(zhí)行器控制精度較低,很難滿足高精度定位的要求。因此,對(duì)傳統(tǒng)控制方法進(jìn)行改進(jìn)研究,創(chuàng)建單桿液壓執(zhí)行器簡(jiǎn)圖模型,推導(dǎo)執(zhí)行器末端位移運(yùn)動(dòng)方程式,在傳統(tǒng)PID控制器上,結(jié)合BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),通過粒子群算法進(jìn)行優(yōu)化。采用MATLAB軟件對(duì)單桿液壓執(zhí)行器跟蹤效果進(jìn)行仿真驗(yàn)證,為提高單桿液壓執(zhí)行器運(yùn)動(dòng)精度提供理論參考。
單桿液壓執(zhí)行器簡(jiǎn)圖如圖1所示。由圖1可推導(dǎo)出單桿液壓執(zhí)行器末端位置方程式,結(jié)果如(1)所示:
式中:x0、y0分別為原點(diǎn)坐標(biāo);x1、y1分別為末端執(zhí)行器x軸、y軸坐標(biāo);l1為單桿長(zhǎng)度;θ1為單桿與水平面之間的夾角。
單桿執(zhí)行器采用液壓缸驅(qū)動(dòng),使末端實(shí)際輸出運(yùn)動(dòng)軌跡與理論運(yùn)動(dòng)軌跡誤差最小。執(zhí)行器輸出誤差方程式如(2)所示:
式中:x為理論運(yùn)動(dòng)軌跡;為實(shí)際運(yùn)動(dòng)軌跡。
伺服閥采用PID控制器采集到液壓缸的流量和壓力信號(hào),然后轉(zhuǎn)換為驅(qū)動(dòng)單桿執(zhí)行器推力和位移信號(hào)。流量經(jīng)過伺服閥閥口方程式如(3)和(4)所示[7]:
式中:1為伺服閥入口流量;2為伺服閥控制流量;C為剛度系數(shù);1為負(fù)載進(jìn)口壓力;2為負(fù)載出口壓力;P為進(jìn)油壓力;為伺服閥閥芯位移;為流體密度;為窗口面積梯度。
負(fù)載流量方程式如(5)和(6)所示[7]:
式中:=2/1為流量比;P=1-2為負(fù)載壓力;為閥芯端面積。
傳統(tǒng)PID控制器包采用輸入()和輸出()之間的誤差來調(diào)節(jié)PID控制器參數(shù),完成對(duì)控制對(duì)象的閉環(huán)控制,其控制流程如圖2所示。
圖2 PID控制器控制過程
根據(jù)圖2,可推導(dǎo)出PID控制器的偏差方程式,如(7)所示:
通常情況下,采用差分進(jìn)化方法將PID控制器離散化,其控制方程式如(8)所示[8]:
式中:K為比例系數(shù);T為積分時(shí)間常數(shù);T代為微分時(shí)間常數(shù);2代表差分的二次方。
粒子群算法對(duì)隨機(jī)一群粒子進(jìn)行初始化,采用迭代方式搜索到最優(yōu)解。在每次迭代過程中,粒子對(duì)比兩個(gè)極值來更新自身。粒子有個(gè)體最優(yōu)解和全局最優(yōu)解:1)個(gè)體最優(yōu)解是粒子本身當(dāng)前搜索到最優(yōu)解;2)全局最優(yōu)解是整個(gè)群體搜到到最優(yōu)解。粒子就是比較個(gè)體最優(yōu)解和全局最優(yōu)解,從而不斷更新自身位置,生成下一代群體。
粒子速度和位置迭代方程式如(9)和(10)所示[9]:
式中:V+1為粒子迭代(+1)次后的速度;V為粒子迭代次后的速度;為慣性權(quán)重修正系數(shù);1和2為學(xué)習(xí)因子,取值范圍為[0,2];1和2為隨機(jī)數(shù),取值范圍為[0,1];P為粒子的最佳位置;為種群中最佳位置;X為粒子迭代次后的位置。
為了使搜索能力發(fā)揮得更好,使局部搜索能力和全局搜索能力都能得到充分發(fā)揮,慣性權(quán)重修正系數(shù)方程式變換如(11)式所示:
式中:0為初始權(quán)重值;1為最終權(quán)重值;為當(dāng)前迭代次數(shù);為最大迭代次數(shù)。
BP神經(jīng)網(wǎng)絡(luò)采用調(diào)節(jié)輸入節(jié)點(diǎn)與隱含層節(jié)點(diǎn)和隱含層節(jié)點(diǎn)與輸出層節(jié)點(diǎn),使誤差呈現(xiàn)出梯度下降,通過反復(fù)在線學(xué)習(xí),得出最小誤差相適應(yīng)的神經(jīng)網(wǎng)絡(luò)參數(shù)。BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
在圖3中,1、2、x為神經(jīng)網(wǎng)絡(luò)輸入值,1、2、y為神經(jīng)網(wǎng)絡(luò)輸出值,ω和ω為神經(jīng)網(wǎng)絡(luò)權(quán)值。
隱含層的輸出計(jì)算式如(12)所示[10]:
式中:為隱含層激勵(lì)函數(shù);a為隱含層節(jié)點(diǎn)。
隱含層的激勵(lì)函數(shù)]如(13)所示[10:
BP神經(jīng)網(wǎng)絡(luò)輸出值如(14)所示:
采用粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),輸入層信號(hào)采用3個(gè)神經(jīng)元,分別為輸入信號(hào)r(t)、輸出信號(hào)()和誤差信號(hào)();隱含層采用4個(gè)神經(jīng)元;輸出層采用3個(gè)神經(jīng)元,分別為PID控制器參數(shù)k、k、k。采用粒子群算法更新網(wǎng)絡(luò)參數(shù)具體操作步驟如下所示:
(1)初始化BP神經(jīng)網(wǎng)絡(luò)和粒子群算法參數(shù);
(2)計(jì)算誤差函數(shù)(),得到神經(jīng)網(wǎng)絡(luò)輸入信號(hào);
(3)將誤差信號(hào)輸送給神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),調(diào)整PID控制器的k、k、k參數(shù);
(4)粒子群算法開始搜索,通過誤差設(shè)置不斷更新自身的速度和位置;
(5)計(jì)算粒子的適應(yīng)度值,更新個(gè)體極值和全局極值;
(6)若滿足條件,則輸出k、k、k參數(shù),否則迭代次數(shù)增加1次,返回步驟(3)。
采用改進(jìn)BP神經(jīng)網(wǎng)絡(luò)PID控制單桿液壓執(zhí)行器的流程如圖4所示。
圖4 單桿液壓執(zhí)行器控制優(yōu)化流程
采用MATLAB軟件對(duì)單桿液壓執(zhí)行器運(yùn)動(dòng)位移誤差進(jìn)行仿真,仿真參數(shù)設(shè)置如下:種群數(shù)量為50,最大迭代次數(shù)為200,慣性權(quán)重系數(shù)0=0.85、1=0.55,學(xué)習(xí)因子為1=2=2,隨機(jī)數(shù)1=2=0.7,單桿質(zhì)量為1=1.0 g,單桿長(zhǎng)度為1=1.0 m,PID控制器參數(shù)為k=4.62×105、k=1.36×105、k=6.58×105。假設(shè)單桿執(zhí)行器理論軌跡為=sin2πt,y=cos2πt,則X軸方向仿真誤差如圖5所示,Y軸方向仿真誤差如圖6所示。
由圖5可得:在X軸方向,采用改進(jìn)BP神經(jīng)網(wǎng)絡(luò)PID控制器,單桿液壓執(zhí)行器末端產(chǎn)生的最大誤差為1.80×10-5m;而采用PID控制器,單桿液壓執(zhí)行器末端產(chǎn)生的最大誤差為8.10×10-5m。由圖6可得:在Y軸方向,采用改進(jìn)BP神經(jīng)網(wǎng)絡(luò)PID控制器,單桿液壓執(zhí)行器末端產(chǎn)生的最大誤差為2.10×10-5m;而采用PID控制器,單桿液壓執(zhí)行器末端產(chǎn)生的最大誤差為8.90×10-5m。因此,采用改進(jìn)神經(jīng)網(wǎng)絡(luò)PID控制器,單桿液壓執(zhí)行器末端運(yùn)動(dòng)軌跡誤差較小,能夠精確完成單桿液壓末端執(zhí)行器運(yùn)動(dòng)軌跡的跟蹤任務(wù)。
圖5 X軸方向誤差
圖6 Y軸方向誤差
采用粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)PID控制器,對(duì)控制結(jié)果進(jìn)行仿真。創(chuàng)建單桿液壓執(zhí)行器模型簡(jiǎn)圖,推導(dǎo)出執(zhí)行器末端位移方程式。采用PID控制器耦合BP神經(jīng)網(wǎng)絡(luò),引用粒子群算法在線優(yōu)化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),搜索出最佳PID控制器參數(shù)并進(jìn)行單桿液壓執(zhí)行器仿真驗(yàn)證。傳統(tǒng)PID控制器跟蹤誤差較大,改進(jìn)BP神經(jīng)網(wǎng)絡(luò)PID控制器跟蹤誤差較小,其控制性能較好,定位精度高。
[1] 張翼鵬.液壓變壓器控制直線執(zhí)行機(jī)構(gòu)工作特性研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2013.
[2] 吳杰.新型單軌機(jī)車液壓系統(tǒng)的研發(fā)[D].青島:山東科技大學(xué),2014.
[3] Karvonen M, Heikkil? M, Huova M, et al. Analysis by Simulation of Different Control Algorithms of A Digital Hydraulic Two-Actuator System[J]. International Journal of Fluid Power, 2014, 15(1):33-44.
[4] 陳健,高慧斌,郭勁,等.?dāng)?shù)字化單桿控制系統(tǒng)設(shè)計(jì)[J].光學(xué)精密工程,2013,21(11):2844-2849.
[5] Bender F A, G?ltz S, Br?unl T, et al. Model -ing and Offset-Free Model Predictive Control of a Hydraulic Mini Excavator[J]. IEEE Transactions on Automation Science and Engineering, 2017, 14(4): 1683 -1692.
[6] 王鵬飛,刁修慧.液壓式挖掘機(jī)單桿操作系統(tǒng)的設(shè)計(jì)[J].機(jī)床與液壓,2014,42(20):117-119.
[7] 龐文杰,王云超,葉存達(dá),等.多軸車輛轉(zhuǎn)向系統(tǒng)神經(jīng)網(wǎng)絡(luò)控制算法研究[J].計(jì)算機(jī)仿真,2015,32(6):172-176.
[8] Anupam Kumar, Vijay Kumar. Evolving an interval type-2 fuzzy PID controller for the redundant robotic manipul -ator[J]. Expert Systems with Applications, 2017, 73(8): 162 -176.
[9] 隨聰慧.粒子群算法的改進(jìn)方法研究[D].成都:西南交通大學(xué),2010.
[10] Boukens M, Boukabou A. Design of an intelligent optimal neural network-based tracking controller for nonholonomic mobile robot systems[J]. Neurocomputing, 2016, 226.
Single Pole Hydraulic Actuator Control based on Improved Neural Network PID Control
LOU Kun
( Anhui Kechang Machinery Manufacturing Co. Ltd, Chuzhou 239500, Anhui, China )
An improved neural network PID controller is adopted to solve the problem of large trajectory error of single rod hydraulic actuator. A simple model of single hydraulic actuator is established, and displacement equation of end effector and flow equation of hydraulic cylinder are given. The control flow of PID controller is analyzed, BP neural network structure is quoted and particle swarm optimization (PSO) is used to optimize the parameters of BP neural network PID controller. The tracking error of single rod hydraulic actuator is simulated by MATLAB software. The results show that the single bar hydraulic actuator uses PID controller, the maximum error in X and Y direction is 8.10×10-5m and 8.90×10-5m respectively. The single bar hydraulic actuator uses improved BP neural network PID controller, the maximum error of X and Y direction is 1.80×10-5m and 2.10×10-5m, and the tracking error is small. Using the improved BP neural network PID controller, the single rod hydraulic actuator has higher tracking accuracy and can achieve high precision positioning requirements.
single pole, hydraulic, BP neural network, PID controller, error, simulation
TP273
A
1673-9639 (2018) 09-0045-05
(責(zé)任編輯 謝 勇)(責(zé)任校對(duì) 楊凱旭)