許玉昆, 陳 彬, 尤傳富
(1.長(zhǎng)春工業(yè)大學(xué)電氣與電子工程學(xué)院,吉林長(zhǎng)春 130012; 2.裝甲兵技術(shù)學(xué)院電子系,吉林長(zhǎng)春 130117)
傳統(tǒng)的直流伺服電機(jī)位置控制策略以經(jīng)典PID控制為代表[1-2],由于其具有結(jié)構(gòu)簡(jiǎn)單、穩(wěn)定性好、可靠性高等優(yōu)點(diǎn),在伺服控制系統(tǒng)中得到了廣泛的應(yīng)用。然而經(jīng)典PID控制只適合于用數(shù)學(xué)模型精確描述的控制系統(tǒng),當(dāng)系統(tǒng)中存在未知或隨機(jī)變化的動(dòng)態(tài)量時(shí),這種控制方式就不能取得比較好的控制效果,甚至?xí)鹣到y(tǒng)的不穩(wěn)定。隨著控制理論的不斷發(fā)展,針對(duì)經(jīng)典PID控制的不足,一些先進(jìn)的控制策略結(jié)合經(jīng)典PID控制應(yīng)用到直流電機(jī)伺服控制系統(tǒng)中,如神經(jīng)網(wǎng)絡(luò)控制[3-4]、最優(yōu)控制[5]、模糊控制[6]等。神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的魯棒性、記憶能力、非線(xiàn)性映射能力以及強(qiáng)大的自學(xué)習(xí)能力[7-8]。因此,文中提出將神經(jīng)網(wǎng)絡(luò)PID應(yīng)用到直流伺服電機(jī)位置控制過(guò)程中,實(shí)驗(yàn)結(jié)果表明,該算法滿(mǎn)足實(shí)際控制需要,達(dá)到預(yù)期目標(biāo)。
采用一種在線(xiàn)訓(xùn)練的方法,網(wǎng)絡(luò)在實(shí)時(shí)測(cè)試中不斷在線(xiàn)學(xué)習(xí)。通過(guò)神經(jīng)網(wǎng)絡(luò)自身的學(xué)習(xí),可以找到某一最優(yōu)控制下的PID參數(shù)。BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)的PID控制系統(tǒng)結(jié)構(gòu)如圖1所示。
BP神經(jīng)網(wǎng)絡(luò)的控制系統(tǒng)結(jié)構(gòu)由兩個(gè)部分組成:
1)PID控制器。直接對(duì)被控對(duì)象進(jìn)行閉環(huán)控制,KP,KI,KD3個(gè)參數(shù)為在線(xiàn)整定。
2)BP神經(jīng)網(wǎng)絡(luò)NN。根據(jù)系統(tǒng)運(yùn)行狀態(tài)調(diào)節(jié)PID控制器的參數(shù),以期達(dá)到某種性能指標(biāo)的最優(yōu)化,神經(jīng)網(wǎng)絡(luò)的輸出對(duì)應(yīng)于PID控制器的KP,KI,KD3個(gè)可調(diào)參數(shù),通過(guò)神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)、調(diào)整權(quán)系數(shù),使其穩(wěn)定狀態(tài)對(duì)應(yīng)于某種最優(yōu)控制規(guī)律下的PID控制器參數(shù),即網(wǎng)絡(luò)權(quán)值的調(diào)整也就是BP神經(jīng)網(wǎng)絡(luò)對(duì)PID的參數(shù)進(jìn)行調(diào)整,同時(shí)形成閉環(huán)控制系統(tǒng)。
模擬PID控制器的控制規(guī)律為:
式中:KP——比例系數(shù);
KI——積分時(shí)間常數(shù);
KD——微分時(shí)間常數(shù)。
式中:e(n)——給定值r(t)與實(shí)際輸出值c(t)構(gòu)成的控制偏差;
u0——偏差為零時(shí)的初值。
數(shù)字PID增量型控制算式為:
從式(3)可得數(shù)字PID位置型控制算式為:
1.3.1 BP神經(jīng)網(wǎng)絡(luò)模型的建立
BP網(wǎng)絡(luò)是一個(gè)前向3層(輸入層、隱層和輸出層)的神經(jīng)網(wǎng)絡(luò)。網(wǎng)絡(luò)除輸入、輸出節(jié)點(diǎn)外,還有一層或多層的隱層節(jié)點(diǎn),同層節(jié)點(diǎn)中沒(méi)有任何耦合。BP網(wǎng)絡(luò)的學(xué)習(xí)過(guò)程是由正向傳播和誤差反向傳播所組成。在正向傳播過(guò)程中,輸入信息經(jīng)隱層單元逐層處理并傳向輸出層,每一層神經(jīng)元的狀態(tài)只影響下一層神經(jīng)元的狀態(tài)。如果在輸出層不能得到所期望的輸出,則計(jì)算輸出層的誤差變化值,然后轉(zhuǎn)入反向傳播過(guò)程,將實(shí)際值與網(wǎng)絡(luò)輸出之間的誤差沿原來(lái)的聯(lián)接通路返回,通過(guò)修改各層神經(jīng)元的聯(lián)接權(quán)值使誤差減少,然后再轉(zhuǎn)入正向傳播過(guò)程,如此反復(fù)計(jì)算,直至誤差小于設(shè)定值為止。
文中選擇建立3層BP神經(jīng)網(wǎng)絡(luò)模型。由于擬合非線(xiàn)性函數(shù)有4個(gè)輸入?yún)?shù),3個(gè)輸出參數(shù),隱含層根據(jù)經(jīng)驗(yàn)公式(5),經(jīng)過(guò)試算后選擇為6個(gè)隱含層節(jié)點(diǎn)
式中:n0——輸出層節(jié)點(diǎn)數(shù);
ni——輸入層節(jié)點(diǎn)數(shù);
k——1~10之間的常數(shù);
nh——隱含層節(jié)點(diǎn)數(shù)。
輸出節(jié)點(diǎn)分別對(duì)應(yīng)PID的3個(gè)可調(diào)參數(shù)KP,KI,KD。由于KP,KI,KD不能為負(fù)值,所以輸出層神經(jīng)元的活化函數(shù)取非負(fù)的sigmoid函數(shù),而隱含層神經(jīng)元的活化函數(shù)取正負(fù)對(duì)稱(chēng)的sigmoid函數(shù)。
輸出層活化函數(shù)為非負(fù)的sigmoid函數(shù):
隱含層神經(jīng)元的活化函數(shù)為正負(fù)對(duì)稱(chēng)的sigmoid函數(shù):
1.3.2 BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型的建立
輸入向量分別對(duì)應(yīng)影響直流伺服電機(jī)位置和速度的主要因素,設(shè)輸入向量為:
式中:r1——傳感器的位置(由傳感器的返回電壓值確定,比如返回電壓3.8 V,則距離陀螺為1 mm);
r2——電機(jī)的速度;
r3——傳感器獲取的振動(dòng)頻率;
r4——振動(dòng)位移(位移測(cè)量范圍:0.01~1.999 mm,位移測(cè)量帶寬:5~1 000 Hz)。
輸出向量為PID的3個(gè)可調(diào)參數(shù)KP,KI,KD,設(shè)輸出向量為{o1,o2,o3},其中,o1為比例系數(shù)KP,o2為積分時(shí)間常數(shù)KI,o3為微分時(shí)間常數(shù)KD,系統(tǒng)訓(xùn)練網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖2所示。
圖2 BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
為了使直流伺服電機(jī)位置和速度按照預(yù)定最優(yōu)工作狀態(tài)工作,那么BP-PID控制器的目的就是使下式最小:
依最速下降法修正網(wǎng)絡(luò)的加權(quán)系數(shù),即按J對(duì)加權(quán)系數(shù)的負(fù)梯度方向搜索調(diào)整,并附加一使搜索快速收斂全局極小的慣性項(xiàng),則有
并且:
同理,可得隱含層加權(quán)系數(shù)的計(jì)算公式:
其中:
式中:Q——隱含層節(jié)點(diǎn)數(shù)目。
采用LabVIEW實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)PID控制算法的編程,其軟件流程如下:
1)選定BP神經(jīng)網(wǎng)絡(luò)NN的結(jié)構(gòu),即選定輸入層節(jié)點(diǎn)數(shù)M和隱含層節(jié)點(diǎn)數(shù)Q,并給出各層權(quán)系數(shù)的初值,(0)(0),選定學(xué)習(xí)速率η和平滑因子α;
2)采樣得到r(k)和y(k),計(jì)算e(k)=r(k)-y(k);
3)對(duì)r(i),y(i),u(i-1),e(i)(i=k,k-1,…,k-p)進(jìn)行歸一化處理,作為NN的輸入;
4)計(jì)算NN的各層神經(jīng)元的輸入和輸出,NN輸出層的輸出即為PID控制器的3個(gè)可調(diào)參數(shù)KP,KI,KD;
5)根據(jù)式(4),計(jì)算PID控制器的控制輸出u(k),參與系統(tǒng)閉環(huán)控制和計(jì)算;
6)根據(jù)性能指標(biāo)函數(shù)式(12)計(jì)算誤差,若誤差滿(mǎn)足要求,則結(jié)束,退出程序;否則繼續(xù)。
控制器中的加權(quán)系數(shù)采用BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法進(jìn)行自整定,加權(quán)系數(shù)初始矩陣區(qū)間為[0,0.5]。按照上面的算法用Matlab編程[9],仿真圖形如圖3所示。
圖3 直流伺服電機(jī)位置控制
仿真結(jié)果表明,神經(jīng)網(wǎng)絡(luò)PID控制的各項(xiàng)性能指標(biāo)均優(yōu)于常規(guī)PID控制,具有響應(yīng)快、過(guò)渡時(shí)間短等特點(diǎn),顯示出了良好的動(dòng)態(tài)性能和穩(wěn)態(tài)精度。滿(mǎn)足了系統(tǒng)超調(diào)量δ小于5%,調(diào)節(jié)時(shí)間tP小于0.2 s的性能要求。
從仿真結(jié)果可知,神經(jīng)網(wǎng)絡(luò)PID不論在超調(diào)量還是在調(diào)節(jié)時(shí)間上均優(yōu)于常規(guī)PID控制,仿真結(jié)果見(jiàn)表1。
表1 仿真結(jié)果分析
該直流伺服電機(jī)位置和速度控制調(diào)節(jié)系統(tǒng)采用LabVIEW完成整個(gè)軟件的編程,實(shí)現(xiàn)了基于BP神經(jīng)網(wǎng)絡(luò)的PID控制算法,并且用于直流伺服電機(jī)調(diào)速的現(xiàn)場(chǎng)實(shí)際中?,F(xiàn)場(chǎng)結(jié)果表明,采用BP神經(jīng)網(wǎng)絡(luò)的PID控制系統(tǒng)具有超調(diào)量小、調(diào)節(jié)速度快、準(zhǔn)確率高等特點(diǎn),得到了較理想的控制效果。
[1] 羅有明.基于神經(jīng)網(wǎng)絡(luò)的無(wú)刷直流調(diào)速系統(tǒng)[D]: [碩士學(xué)位論文].哈爾濱:哈爾濱理工大學(xué),2007.
[2] 朱洪波,黃家棟,楊艷,等.基于神經(jīng)網(wǎng)絡(luò)的直流電機(jī)轉(zhuǎn)速控制[J].電站系統(tǒng)工程,2004,20(1):57-58.
[3] 時(shí)文飛.基于人工神經(jīng)網(wǎng)絡(luò)與PID的復(fù)合控制研究[J].重慶大學(xué)學(xué)報(bào),2007(3):24-28.
[4] 郭前崗,孫瑜.一種新型神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的PID控制器及其仿真研究[J].西北輕工業(yè)學(xué)院學(xué)報(bào),1998(3):108-113.
[5] P Comins.PID controllers:recent tuning methods and design to specification[J].IEEE.Proc-Control Theory Appl,2002,149(1):46-53.
[6] 石辛民,郝整清.模糊控制及其 MATLAB仿真[M].北京:清華大學(xué)出版社,2008.
[7] 夏長(zhǎng)亮,王娟,史婷娜,等.基于自適應(yīng)徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的無(wú)刷直流電機(jī)直接電流控制[J].中國(guó)電機(jī)工程學(xué)報(bào),2003(6):23-26.
[8] 劉家洪,張磊.運(yùn)用神經(jīng)網(wǎng)絡(luò)算法的汽車(chē)預(yù)熱器點(diǎn)火判別[J].長(zhǎng)春工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2008,29(4):420-423.
[9] 洪乃剛.電力電子和電力拖動(dòng)控制系統(tǒng)的MATLAB仿真[M].北京:機(jī)械工業(yè)出版社,2006.
長(zhǎng)春工業(yè)大學(xué)學(xué)報(bào)2010年6期