桑英軍,陳 奇,范媛媛
(淮陰工學(xué)院電子與電氣工程學(xué)院,江蘇 淮安 223003)
倒立擺系統(tǒng)是時(shí)變的、非線性、強(qiáng)耦合、多變量和自然不穩(wěn)定系統(tǒng),在控制過程中,它能有效的反映可鎮(zhèn)定性、魯棒性、隨動(dòng)性以及跟蹤等許多控制中的關(guān)鍵問題,是檢驗(yàn)各種控制理論的理想模型??刂频哪繕?biāo)是“擺桿不倒,小車停住”。人工神經(jīng)網(wǎng)絡(luò)中的BP算法,在多變量輸入情況下具有精度高、實(shí)現(xiàn)快、算法簡單、魯棒性好等優(yōu)點(diǎn),從而滿足了系統(tǒng)的要求。
人工神經(jīng)網(wǎng)絡(luò)(ANN)由于具有信息的分布存儲(chǔ)、并行處理以及自學(xué)習(xí)能力等優(yōu)點(diǎn),在信息處理、模式識(shí)別、智能控制及系統(tǒng)建模等領(lǐng)域得到越來越廣泛的應(yīng)用。近年來,已有多種ANN模型被提出并得以深入研究。其中,80% ~90%的人工神經(jīng)網(wǎng)絡(luò)模型是采用BP網(wǎng)絡(luò)或它的改進(jìn)形式,它是前向網(wǎng)絡(luò)的核心部分,體現(xiàn)了網(wǎng)絡(luò)最精華的部分。標(biāo)準(zhǔn)的BP網(wǎng)絡(luò)是根據(jù)Widrow-Hoff規(guī)則,采用梯度下降算法,主要由信息信號(hào)的正向傳播和誤差信號(hào)的反向傳播兩部分組成。圖1給出了BP算法的流程圖。
但BP網(wǎng)絡(luò)存在自身的限制與不足,如需要較長的訓(xùn)練時(shí)間、會(huì)收斂于局部極小值等,使得BP算法在實(shí)際應(yīng)用中不是處處能勝任。為此人們對(duì)BP算法進(jìn)行了許多改進(jìn)。改進(jìn)主要有兩類:一類采用啟發(fā)式技術(shù),如附加動(dòng)量法、自適應(yīng)學(xué)習(xí)率法;另一類是采用數(shù)字優(yōu)化技術(shù),如共軛梯度法,擬牛頓法、Levenberg-Marquardt(LM)法。由于LM算法是收斂速度最快的,而且精度也較高,其它算法就相對(duì)遜色一些,且經(jīng)過大量仿真實(shí)驗(yàn)分析比較,LM效果最好,所以本文采用LM法對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
圖1 BP算法的流程圖
LM優(yōu)化方法權(quán)重和閾值更新公式為:
其中J為誤差對(duì)權(quán)值微分的雅可比矩陣,e為誤差向量,μ為一個(gè)標(biāo)量。依賴于μ的幅值,該方法光滑地在兩種極端情況之間變化:即牛頓法(當(dāng)μ→0)和著名的最陡下降法(當(dāng)μ→∞)。采用LM優(yōu)化方法,可以使學(xué)習(xí)時(shí)間更短,在實(shí)際應(yīng)用中效果較好。但對(duì)于復(fù)雜的問題,這種方法需要很大的內(nèi)存。在MATLAB工具箱中,解決了這個(gè)問題。
在MATLAB工具箱中帶有LM優(yōu)化方法的訓(xùn)練函數(shù)trainlm.m,其訓(xùn)練參數(shù)有:訓(xùn)練次數(shù)epochs、訓(xùn)練步長show、誤差函數(shù)指標(biāo)goal、訓(xùn)練時(shí)間time、最小梯度min-grad、減少內(nèi)存系數(shù)mem-reduc以及μ的初始值、增加系數(shù)、減小系數(shù)和最大值。
采用固高科技有限公司的直線一級(jí)倒立擺為實(shí)驗(yàn)控制對(duì)象,傳遞函數(shù):
系統(tǒng)能控性分析:
系統(tǒng)的能控性是控制器設(shè)計(jì)的前提,故在設(shè)計(jì)前進(jìn)行能控性分析。由能控性矩陣 M =[B A2B A3B],在 MATLAB中利用可控性矩陣的 ctrb命令來計(jì)算,可以得出 Rank(M)=4,可知系統(tǒng)可控,因此可以對(duì)系統(tǒng)進(jìn)行控制器的設(shè)計(jì),使系統(tǒng)穩(wěn)定。倒立擺參數(shù)如表1所示:
表1 倒立擺參數(shù)
BP神經(jīng)網(wǎng)絡(luò)在未經(jīng)任何訓(xùn)練的情況下,不能作為系統(tǒng)控制器使用。訓(xùn)練樣本數(shù)的多少對(duì)訓(xùn)練結(jié)果有很大影響。樣本數(shù)越多,網(wǎng)絡(luò)訓(xùn)練結(jié)果越精確,但運(yùn)行時(shí)間加長,計(jì)算成本也增加,所以合理選擇樣本數(shù)據(jù)非常重要。在實(shí)際仿真過程中,我們選擇極點(diǎn)配置控制為BP網(wǎng)絡(luò)的老師進(jìn)行學(xué)習(xí),經(jīng)過試探訓(xùn)練樣本數(shù)為2000時(shí)結(jié)果較為合理,此時(shí)樣本數(shù)據(jù)能夠反映系統(tǒng)的基本特征,可以得到預(yù)期的仿真結(jié)果。極點(diǎn)配置控制系統(tǒng)結(jié)構(gòu)如圖2所示,極點(diǎn)配置-2+5i、-2-5i、-5+4i、-5-4i;
圖2 極點(diǎn)配置控制系統(tǒng)結(jié)構(gòu)
在進(jìn)行BP網(wǎng)絡(luò)設(shè)計(jì)前,一般從網(wǎng)絡(luò)層數(shù)、每層神經(jīng)元數(shù)、初始值、以及學(xué)習(xí)方法等方面來考慮。增加層數(shù)主要可以進(jìn)一步降低誤差,提高精度,但同時(shí)使網(wǎng)絡(luò)復(fù)雜化。而增加隱含層的神經(jīng)元數(shù)也可提高誤差精度,且訓(xùn)練效果更易觀察和調(diào)整。為了使誤差盡可能小,需要合理選擇初始權(quán)重和偏置,如果太大就容易陷入飽和區(qū),導(dǎo)致停頓,一般應(yīng)選為均勻分布的小數(shù),介于(-1,1)。
根據(jù)需要,在網(wǎng)絡(luò)初始化時(shí),B P采用0.5*rands函數(shù)初始化權(quán)值,權(quán)值初始值選在(-0.5,0.5),選取訓(xùn)練目標(biāo)誤差為0.0001,訓(xùn)練次數(shù)上限為5000次。通過多次仿真實(shí)驗(yàn)性能比較,選?。?91]的單隱層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),隱含層、輸出層分別采用tansig、purelin函數(shù),仿真實(shí)驗(yàn)表明變學(xué)習(xí)率訓(xùn)練算法訓(xùn)練時(shí)間長,5000次還不能達(dá)到所要求的精度,且系統(tǒng)容易發(fā)散,控制倒立擺效果不好,采用改進(jìn)的LM訓(xùn)練算法對(duì)網(wǎng)絡(luò)進(jìn)行學(xué)習(xí)訓(xùn)練可以得到較好的控制效果且訓(xùn)練時(shí)間短。在實(shí)際仿真過程中,BP網(wǎng)絡(luò)經(jīng)過53次訓(xùn)練達(dá)到訓(xùn)練目標(biāo)。用Matlab6.5建立BP網(wǎng)絡(luò)的語句為:
圖3為BP網(wǎng)控制系統(tǒng)結(jié)構(gòu),圖4為BP網(wǎng)訓(xùn)練誤差曲線,圖5分別給出了倒立擺小車位移、下擺角度、上擺角度以及控制力的BP算法與極點(diǎn)配置仿真曲線對(duì)比圖,其中虛線為改進(jìn)BP算法仿真曲線,實(shí)線為極點(diǎn)配置仿真曲線。實(shí)驗(yàn)仿真結(jié)果表明:相較極點(diǎn)配置,BP算法精度高、實(shí)現(xiàn)快、魯棒性好,倒立擺小車在BP算法下只需2.5s左右就可以達(dá)到所設(shè)定精度的穩(wěn)定效果,且超調(diào)量很小,滿足了系統(tǒng)的要求。
圖3 BP網(wǎng)控制系統(tǒng)結(jié)構(gòu)
圖4 BP網(wǎng)訓(xùn)練誤差曲線
圖5 極點(diǎn)配置(實(shí)線)與BP(虛線)控制位置、擺角、控制力的仿真曲線對(duì)比圖
通過對(duì)一級(jí)倒立擺數(shù)學(xué)模型分析,進(jìn)行了倒立擺小車改進(jìn)BP算法的控制系統(tǒng)仿真實(shí)驗(yàn)。仿真表明該改進(jìn)BP算法收斂性好、計(jì)算量小,尤其在非線性和魯棒控制等領(lǐng)域具有良好的應(yīng)用前景。BP神經(jīng)網(wǎng)絡(luò)從理論上可以逼近任意非線性函數(shù),所以它特別適合控制像倒立擺這樣的嚴(yán)重非線性、多變量系統(tǒng)。
[1]于秀芬,段海濱,龔華軍.基于人工神經(jīng)網(wǎng)絡(luò)BP算法的倒立擺控制研究[J].測控技術(shù),2003,22(3):41-44.
[2]張志華,朱章森,李儒兵.幾種修正的自適應(yīng)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法及其應(yīng)用[J].地球科學(xué),1998,23(2):179-182.
[3]袁曾任.人工神經(jīng)元網(wǎng)絡(luò)及其應(yīng)用[M].北京:清華大學(xué)出版社,1999.
[4]蘇高利,鄧芳萍.論基于Matlab語言的BP神經(jīng)網(wǎng)絡(luò)的改進(jìn)算法[J].科技通報(bào),2003,19(2):130-135.
[5]張吉軍,曹永強(qiáng).改進(jìn)B-P算法及其在圍巖穩(wěn)定性分類中的應(yīng)用[J].煤炭技術(shù),2004,23(4):1-3.
[6]Hagan M T ,Menhaj M.Training feedforward networks with the Mar2quardt algorithm[J].IEEE Transactions on Neural Networks,1994,5(6):989-993.
[7]楊平,徐春梅,曾婧婧,等.PID控制在倒立擺實(shí)時(shí)控制系統(tǒng)中的應(yīng)用[J].微計(jì)算機(jī)信息,2006,11(27):83-85.
[8]楊平,徐春梅,賀茂康,等.直線二級(jí)倒立擺的PID實(shí)時(shí)控制[J].上海電力學(xué)院學(xué)報(bào),2008,24(3):236-247.