金德發(fā),呂 勇,夏潤秋,陳青山
(北京信息科技大學(xué) 儀器科學(xué)與光電工程學(xué)院,北京 100192)
音圈電機是一種通過安培力驅(qū)動的線性運動電機,具有結(jié)構(gòu)簡單、響應(yīng)速度快、運動精度高等特性[1]。隨著對高速、高精度定位系統(tǒng)性能的要求提高,音圈電機被廣泛應(yīng)用于天文望遠鏡、自適應(yīng)光學(xué)、相移補償、精密跟蹤等領(lǐng)域[2]。
目前,常用的音圈電機控制算法有PID控制、自適應(yīng)控制、模糊PID控制等[3]。文獻[4]借鑒直流電機控制方式,分析音圈電機的控制方法,以DSP TMS320F2812作為控制核心,以高精度光柵尺作為位置檢測裝置,采用前饋微分先行PID 控制器實現(xiàn)位置閉環(huán)控制,取得了較好的控制效果。文獻[5]采用了自尋優(yōu)PID控制策略和模糊PID算法控制策略,利用模糊規(guī)則對PID的3個參數(shù)進行實時更新優(yōu)化,克服了常規(guī)PID參數(shù)無法實時調(diào)整的缺點,降低了控制系統(tǒng)響應(yīng)時間,減小了控制系統(tǒng)的超調(diào)量。這些算法在一定程度上均取得了較好的控制效果,但是由于音圈電機種類的多樣性,常規(guī)的控制算法對于控制器初始值的選取不易掌握,容易產(chǎn)生系統(tǒng)誤差[6-7]。主要表現(xiàn)為當(dāng)外界條件變化時,需要重新設(shè)計控制器來調(diào)整初始參數(shù),對系統(tǒng)控制帶來不便。本文通過對音圈電機驅(qū)動特性的研究,提出了基于RBF神經(jīng)網(wǎng)絡(luò)的智能控制算法,選取適當(dāng)?shù)目刂破鞒跏贾?,利用神?jīng)網(wǎng)絡(luò)的自組織、自適應(yīng)功能,既減小了控制器初始值對控制系統(tǒng)的影響,又能通過FPGA對隱層節(jié)點的矩陣運算能力提高運算速度,并將該算法應(yīng)用于激光精密指向系統(tǒng)中[9]。
音圈電機工作原理和其他電機類似,都是將電能轉(zhuǎn)化為其他形式的能量,其結(jié)構(gòu)示意圖如圖1所示。F為線圈在磁場中受力,其大小:
F=Blni(t)
(1)
式中:B為間隙中磁感應(yīng)強度;i為流過線圈電流的大小;l為線圈在磁場中的長度;n為線圈的匝數(shù)。
因此,線圈電流的大小決定了音圈電機出力大小。
圖1 音圈電機結(jié)構(gòu)示意圖
將音圈電機連接至驅(qū)動電路后,改變電流的方向即可改變音圈電機線圈運動的方向,通過開環(huán)階躍響應(yīng)測得線圈中電流上升時間約為300 μs。
由于音圈電機電壓直接驅(qū)動負(fù)載,在線圈組件高速往復(fù)運動中,會表現(xiàn)出強烈的非線性特性,即復(fù)雜遲滯特性和與運動特性有關(guān)的摩擦特性。其出現(xiàn)的非增函數(shù)變化、非光滑復(fù)雜遲滯特性,導(dǎo)致了系統(tǒng)的振動,造成性能的下降。尤其是在高速運動下,音圈電機表現(xiàn)出與一般直線電機完全不同的復(fù)雜遲滯特性[10]。因此,針對音圈電機電壓與位移之間的非光滑、復(fù)雜遲滯特性,采用音圈電機遲滯模型與神經(jīng)網(wǎng)絡(luò)模型串聯(lián),建立音圈電機混合遲滯模型框圖,如圖2所示。
圖2 音圈電機遲滯混合模型框圖
圖2中的Z-1是一個采樣周期滯后單元,以獲得音圈電機前一時刻的位移輸出y(t-1)。音圈電機遲滯模型的結(jié)構(gòu)表達式:
(2)
式中:u為音圈電機線圈電壓;d(t)為音圈電機線圈位移;k,β,γ及n均為參數(shù)??梢缘玫?,音圈電機的非線性結(jié)構(gòu)影響著線圈電壓大小,從而對線圈位移產(chǎn)生影響[11]。
RBF神經(jīng)網(wǎng)絡(luò)是一種三層前向網(wǎng)絡(luò),包括輸入層、隱含層及輸出層,隱含層神經(jīng)元激活函數(shù)由徑向基函數(shù)構(gòu)成,結(jié)構(gòu)如圖3所示。
圖3 RBF神經(jīng)網(wǎng)絡(luò)控制器結(jié)構(gòu)圖
隱含層組成的數(shù)組運算單元稱為隱含層節(jié)點,每個隱含層節(jié)點包含一個中心向量c以及基寬參數(shù)b,其激活函數(shù)表達式:
(3)
控制目標(biāo)函數(shù):
(4)
式中:r(k)為輸入目標(biāo)值;y(k)為實際輸出值;e(k)為誤差。
結(jié)構(gòu)為3-4-1的RBF神經(jīng)網(wǎng)絡(luò)算法,取前三次的誤差e(k),e(k-1),e(k-2)作為RBF網(wǎng)絡(luò)的3個輸入節(jié)點。由于FPGA對于浮點數(shù)的計算較復(fù)雜,對于指數(shù)函數(shù)等計算不方便,故取高斯基函數(shù)的泰勒級數(shù)展開式的前幾項作為RBF網(wǎng)絡(luò)的激活函數(shù)式(5),其產(chǎn)生的誤差可以通過權(quán)值更新調(diào)整。
(5)
控制器為RBF網(wǎng)絡(luò)的輸出:
u(k)=h1w1+…+hjwj+…+hmwm
(6)
式中:m為RBF網(wǎng)絡(luò)隱層神經(jīng)元的個數(shù);wj為第j個網(wǎng)絡(luò)隱層神經(jīng)元與輸出間的連接權(quán)值;hj為第j個隱層神經(jīng)元輸出。
按梯度下降法及鏈?zhǔn)椒▌t,可得權(quán)值的學(xué)習(xí)算法如下:
(7)
wj(k)=wj(k-1)+Δwj(k)+αΔwj(k)
(8)
式中:η為學(xué)習(xí)速率;α為動量因子。同理可得RBF神經(jīng)網(wǎng)絡(luò)隱層神經(jīng)元的高斯函數(shù)基寬參數(shù)及中心向量學(xué)習(xí)算法如下:
(9)
bj(k)=bj(k-1)+ηΔbj(k)+
α[bj(k-1)-bj(k-2)]
(10)
(11)
cij(k)=cij(k-1)+
ηΔcij(k)α[cij(k-1)-cij(k-2)]
(12)
圖4 RBF網(wǎng)絡(luò)控制算法流程圖
RBF網(wǎng)絡(luò)輸入到輸出的映射是非線性的,隱層空間到輸出空間的映射是線性的,是一種局部逼近的神經(jīng)網(wǎng)絡(luò)。采用RBF網(wǎng)絡(luò)可大大加快學(xué)習(xí)速度并避免局部極小問題,適合于實時控制的要求[12]。
在MATLAB上分別對單神經(jīng)元自適應(yīng)控制算法和RBF神經(jīng)網(wǎng)絡(luò)控制算法進行仿真,選取音圈電機電流環(huán)二階傳遞函數(shù):
(13)
輸入指令為方波信號:
r(k)=3 276.8sign[sin(2πtsk)]
采樣頻率100 kHz,其中幅值3 276.8對應(yīng)于1 A電流。設(shè)置兩種算法各節(jié)點的初始權(quán)值均為w=0.1,學(xué)習(xí)速率0.1,仿真時間0.5 ms,得到兩種算法的階躍響應(yīng)及誤差變化如圖5所示。
圖5 兩種算法仿真階躍響應(yīng)曲線
從圖5中可以看出,單神經(jīng)元自適應(yīng)控制的上升時間為19 μs;當(dāng)RBF神經(jīng)網(wǎng)絡(luò)控制器隱含層節(jié)點數(shù)為4時,上升時間為26 μs,與單神經(jīng)元自適應(yīng)控制器相比性能相對較低;當(dāng)隱含層節(jié)點數(shù)為6時,上升時間僅為14 μs,相對于單神經(jīng)元自適應(yīng)控制器縮短了26.3%,對上升時間的控制效果優(yōu)于單神經(jīng)元自適應(yīng)控制。由于單神經(jīng)元自適應(yīng)控制的3個神經(jīng)元權(quán)值更新有先后順序,故計算時間長,迭代74次后到達最大值;RBF控制器權(quán)值更新是通過權(quán)值矩陣來計算的,各節(jié)點同時更新,隱含層節(jié)點為6時,迭代30次后就能達到最大值。
搭建音圈電機驅(qū)動系統(tǒng)如圖6所示。上位機采用NI公司的PXIe-1071機箱,其中插入NI PXI-7852R系列板卡,配有型號為Virtex-5 LX50的FPGA。LabVIEW FPGA模塊采用LabVIEW可視化編程,與FPGA通過DMA FIFO通信,配合FPGA豐富的觸發(fā)器和邏輯片以及并行傳輸數(shù)據(jù)能力,可大大加快神經(jīng)網(wǎng)絡(luò)的計算能力和收斂速度。被測音圈電機部分參數(shù)如表1所示。
圖6 音圈電機驅(qū)動系統(tǒng)連接圖
表1 音圈電機驅(qū)動系統(tǒng)部分參數(shù)
在LabVIEW中采用隨機數(shù)生成的方式產(chǎn)生網(wǎng)絡(luò)初始權(quán)值,并根據(jù)經(jīng)驗設(shè)置激活函數(shù)的基寬參數(shù)、中心向量,權(quán)值學(xué)習(xí)速率取0.015。將大小為1 A的電流信號作為輸入值,得到系統(tǒng)的階躍響應(yīng)。將隱層節(jié)點為4的RBF神經(jīng)網(wǎng)絡(luò)控制器與單神經(jīng)元自適應(yīng)控制器及常規(guī)PID控制器進行對比,控制曲線如圖7所示。
圖7 音圈電機電流階躍響應(yīng)曲線對比
圖7中,單神經(jīng)元自適應(yīng)控制在采樣頻率為100 kHz時電流上升時間為17 μs。受LabVIEW FPGA資源限制,在實驗過程中僅采用了隱層節(jié)點為4的3-4-1結(jié)構(gòu),控制系統(tǒng)依然可以較好地跟蹤目標(biāo)輸入,上升時間約為25 μs,比常規(guī)PID控制器縮短了28.6%。從仿真結(jié)果來看,RBF神經(jīng)網(wǎng)絡(luò)在隱含層節(jié)點大于6時是優(yōu)于單神經(jīng)元自適應(yīng)的,在FPGA上由于邏輯片等資源限制,隱層節(jié)點僅為4,但效果與PID控制及單神經(jīng)元自適應(yīng)控制效果相差不大,實驗結(jié)果與仿真結(jié)果基本吻合,驗證了在LabVIEW FPGA上使用神經(jīng)網(wǎng)絡(luò)算法控制音圈電機的可行性。
本文針對激光精密指向系統(tǒng)中優(yōu)化、簡化不同音圈電機的控制算法調(diào)試過程,對音圈電機出力效果及對線圈位移的影響進行分析,提出了一種改進的RBF神經(jīng)網(wǎng)絡(luò)控制算法。將算法與單神經(jīng)元自適應(yīng)控制算法在MATLAB上進行了仿真,并搭建了系統(tǒng),與經(jīng)典PID算法對比,對算法的可行性進行了實驗驗證。仿真與實驗結(jié)果表明,當(dāng)實驗裝置及條件相同時,RBF神經(jīng)網(wǎng)絡(luò)控制算法在隱含層節(jié)點大于6時,對音圈電機電流環(huán)的控制效果優(yōu)于單神經(jīng)元自適應(yīng)控制。隱層節(jié)點為6時,上升時間縮短了26.3%;上升時間在隱含層節(jié)點較少時也與單神經(jīng)元比較接近,且相對經(jīng)典PID控制器也縮短了28.6%,提高了系統(tǒng)的快速性,取得了較好的控制效果。
RBF神經(jīng)網(wǎng)絡(luò)控制不僅適用于音圈電機驅(qū)動的高速精密光束指向系統(tǒng),同時還可應(yīng)用于PWM控制的其它伺服控制系統(tǒng)中。不但能提高系統(tǒng)的動態(tài)響應(yīng)和穩(wěn)態(tài)性能,還能在自動調(diào)節(jié)參數(shù)的同時,提高系統(tǒng)的魯棒性。實驗受限于硬件條件,RBF網(wǎng)絡(luò)控制為3-4-1結(jié)構(gòu),故對系統(tǒng)的控制效果有一定的影響??梢酝ㄟ^降低FPGA的計算精度(浮點改為定點)、增加隱含層節(jié)點數(shù)、繼續(xù)修正激活函數(shù)的基寬及中心向量等方法來提高系統(tǒng)的采樣頻率和速度,增強系統(tǒng)的穩(wěn)態(tài)性能。