邢 航,張鐵民,張建桃,楊秀麗,漆海霞
(華南農(nóng)業(yè)大學(xué),廣州510642)
超聲波電動(dòng)機(jī)是通過(guò)壓電元件產(chǎn)生超聲波振動(dòng)來(lái)驅(qū)動(dòng)的新型電機(jī),它具有很多優(yōu)點(diǎn),如起動(dòng)轉(zhuǎn)矩大、結(jié)構(gòu)簡(jiǎn)單、不受電磁干擾、不產(chǎn)生電磁干擾等,但它隨著驅(qū)動(dòng)條件不同具有嚴(yán)重非線性以及負(fù)載依賴性,因此,超聲波電動(dòng)機(jī)建模是一件困難并有挑戰(zhàn)性的工作,其建模的理論和方法有很多,如等效電路建模、有限元建模、解析法建模等,但這些方法都較復(fù)雜,難以實(shí)用。從實(shí)現(xiàn)超聲波電動(dòng)機(jī)高精度控制的角度,系統(tǒng)辨識(shí)法可以克服上述方法在控制器設(shè)計(jì)中存在的問(wèn)題[1]。
文獻(xiàn)[2]提出了一種基于Hammerstein 結(jié)構(gòu)的超聲波電動(dòng)機(jī)建模方法,但該方法不僅復(fù)雜而且由于采用試湊法提取參數(shù),不適合所有超聲波電動(dòng)機(jī),因?yàn)榧词故峭愋偷某暡妱?dòng)機(jī),除了動(dòng)態(tài)特性不同外,靜態(tài)特性也是不同的,且該方法處理時(shí)間長(zhǎng)。文獻(xiàn)[1]提出一種超聲波電動(dòng)機(jī)Hammerstein模型建模方法,該方法需要識(shí)別死區(qū),但考慮了驅(qū)動(dòng)電壓對(duì)模型參數(shù)的影響。文獻(xiàn)[3]提出的Hammerstein 模型,其非線性靜態(tài)部分采用RBFNN 結(jié)合遺傳算法來(lái)近似,線性動(dòng)態(tài)部分采用一階傳遞函數(shù)。
粒子群優(yōu)化算法(以下簡(jiǎn)稱PSO)與遺傳算法很相似,都是基于迭代的優(yōu)化算法,都具有全局、并行搜索特性,都可以用于識(shí)別非線性系統(tǒng)模型的參數(shù)。但與遺傳算法相比,PSO 算法的優(yōu)點(diǎn)是實(shí)現(xiàn)簡(jiǎn)單,性能良好,因此在短短幾年間得到了快速發(fā)展。本文提出一種超聲波電動(dòng)機(jī)的Hammerstein 模型的建立方法,其非線性靜態(tài)部分采用改進(jìn)的粒子群優(yōu)化BP(以下簡(jiǎn)稱MPSO-BP)算法來(lái)近似,線性動(dòng)態(tài)部分采用一階傳遞函數(shù)模型。
Hammerstein 模型由非線性靜態(tài)模塊和線性動(dòng)態(tài)模塊串聯(lián)而成,結(jié)構(gòu)如圖1 所示。
圖1 Hammerstein 模型結(jié)構(gòu)
在本文中,超聲波電動(dòng)機(jī)兩相電壓的相位差Φ 是輸入的控制變量,v 是非線性部分的輸出,是一個(gè)中間變量,ω 是Hammerstein 模型的輸出。Hammerstein 模型的非線性靜態(tài)部分采用MPSO-BP 算法建模,線性部分采用一階傳遞函數(shù)模型,如圖2 所示。
圖2 超聲波電動(dòng)機(jī)的模型結(jié)構(gòu)
一階傳遞函數(shù)[4]:
式中:Km是超聲波電動(dòng)機(jī)的靜態(tài)增益;τ 是時(shí)間常數(shù);模型的參數(shù)可以從測(cè)量數(shù)據(jù)中提取。USR60 超聲波電動(dòng)機(jī)的參數(shù)如下[4]:Km=10.25,τ =0.003 5 s。
Hammerstein 模型的非線性靜態(tài)部分采用如圖3 所示的BP 神經(jīng)網(wǎng)絡(luò)來(lái)建模。輸入層一個(gè)節(jié)點(diǎn),為Φ,輸出層一個(gè)節(jié)點(diǎn),為ω。設(shè)隱層節(jié)點(diǎn)n 個(gè),ω1i(i=1,2,…,n)是輸入層和隱層節(jié)點(diǎn)間的連接權(quán)值,vi1(i=1,2,…,n)是隱層與輸出層節(jié)點(diǎn)間的連接權(quán)值。隱層輸出函數(shù)如下:
輸出層單元的輸出函數(shù)如下:
式中:yi(i=1,2,…,n)為隱層輸出;θi是隱層閾值;φ 是輸出層閾值,f(·)為神經(jīng)元激活函數(shù)。
圖3 BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
由于BP 算法的優(yōu)劣主要取決于初始權(quán)值和閾值選擇,如果選擇不合適,容易陷入局部最小,因此,本文利用MPSO 算法的全局搜索能力以及BP 算法的局部搜索能力,來(lái)優(yōu)化初始權(quán)值和閾值,使其避免陷入局部最小。
PSO 算法是1995 年提出的一種迭代進(jìn)化算法,該方法從隨機(jī)解出發(fā),通過(guò)不斷地尋找當(dāng)前空間中的最優(yōu)值來(lái)搜尋全局最優(yōu)解。
1)標(biāo)準(zhǔn)PSO 算法
標(biāo)準(zhǔn)PSO 算法假設(shè)N 維空間中有m 個(gè)粒子,第i 個(gè)粒子在N 維空間中的位置用xi=(xi1,xi2,…,xiN)來(lái)描述,粒子的飛行速度vi=(vi1,vi2,…,viN),適應(yīng)度值由目標(biāo)函數(shù)確定,每個(gè)粒子當(dāng)前位置為xi,截止當(dāng)前最好的位置為pbest,在整個(gè)群體中最好的位置為gbest(gbest是pbest的最優(yōu)值)[5],并用下面的公式來(lái)更新第i 個(gè)粒子的速度和位置,即通過(guò)第k 級(jí)推導(dǎo)第k+1 級(jí)的數(shù)據(jù):
式中:c1,c2為加速度因子,用于調(diào)節(jié)每個(gè)迭代步的大小;rand()為[0,1]之間的隨機(jī)數(shù),i =1,2,…,N;k 為迭代個(gè)數(shù);ω 為慣性因子。
2)改進(jìn)的粒子群優(yōu)化算法
在PSO 算法中,慣性因子較大,有利于跳出局部最小,實(shí)現(xiàn)全局搜索;慣性因子較小,便于實(shí)現(xiàn)局部搜索,算法易收斂。為了在全局和局部搜索之間找到最好的慣性因子,本文采用改進(jìn)的慣性因子來(lái)改變收斂速度和精度。為了解決局部粒子早熟線性,并避免后面所有粒子集中于一個(gè)極值點(diǎn)附近,采用自適應(yīng)速度調(diào)節(jié)因子,改進(jìn)后的粒子群算法如下:
式中:α(m)是速度調(diào)節(jié)因子,m=1,2,…,j,j 是速度區(qū)間系數(shù);ω'為改進(jìn)的慣性因子。
慣性因子的改進(jìn)策略如下:
式中:ωmax和ωmin分別是慣性因子的極大、極小值;t和tmax分別為當(dāng)前的迭代個(gè)數(shù)和最大迭代個(gè)數(shù);e 是用來(lái)調(diào)節(jié)速度變化的控制因子,一般e =10。這種方法可以實(shí)現(xiàn)在尋優(yōu)的早期粒子保持高速飛行,在尋優(yōu)中期逐漸將飛行速度減速,在尋優(yōu)的后期保持一定的飛行速度以進(jìn)行最后的收斂[6]。
速度調(diào)節(jié)因子α(m)用于決定放大或縮小粒子的新位置,函數(shù)如下[7]:
假設(shè)最大速度為vi1max,最小速度為vi2max,當(dāng)≥vi1max時(shí),α(m)減小尋優(yōu)速度;當(dāng)≤vi2max時(shí),α(m)增大尋優(yōu)速度;當(dāng)vi2max≤≤vi1max時(shí),將兩個(gè)方向的大小放大或縮小,于是粒子可以有足夠求解空間。
3)基于MPSO 算法的BP 神經(jīng)網(wǎng)絡(luò)算法
假設(shè)MPSO 中位置向量X 的元素是神經(jīng)網(wǎng)絡(luò)各個(gè)節(jié)點(diǎn)之間的權(quán)值和閾值,p 為樣本數(shù),c 為輸出節(jié)點(diǎn)數(shù)為神經(jīng)網(wǎng)絡(luò)的期望輸出,xi,j是神經(jīng)網(wǎng)絡(luò)的實(shí)際輸出。每次迭代都找到一個(gè)最優(yōu)的權(quán)值和閾值使得下面的均方誤差最小:
基于MPSO 算法的BP 神經(jīng)網(wǎng)絡(luò)優(yōu)化過(guò)程如下:1)建立BP 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。2)初始化粒子群。初始化粒子的隨機(jī)位置和速度,初始化迭代次數(shù)的最大值,將當(dāng)前位置作為粒子的初始最好位置。3)將粒子的初始位置作為初始權(quán)值和閾值賦予BP 網(wǎng)絡(luò)。4)確定個(gè)體的極值點(diǎn)。訓(xùn)練網(wǎng)絡(luò),計(jì)算粒子的適應(yīng)度值(用式(6)),如果粒子的當(dāng)前適應(yīng)度值比歷史上最佳適應(yīng)度值更好,則將粒子當(dāng)前位置賦予歷史最好位置。5)確定全局最優(yōu)極值。將每個(gè)粒子的當(dāng)前閾值與gbest進(jìn)行比較,如果當(dāng)前適應(yīng)度值比gbest小,則將當(dāng)前適應(yīng)度值賦給gbest。6)根據(jù)式(3)、式(4)、式(5)來(lái)更新粒子的速度和位置。7)當(dāng)?shù)螖?shù)達(dá)到最大值或最小誤差限時(shí),停止迭代,全局極值就是訓(xùn)練過(guò)程的最優(yōu)解,它就是神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值,否則轉(zhuǎn)到步驟4)執(zhí)行。
采用上述訓(xùn)練結(jié)果,結(jié)合一階線性模型來(lái)完成超聲波電動(dòng)機(jī)Hammerstein 模型的建模和測(cè)試。
超聲波電動(dòng)機(jī)控制變量主要為兩相輸入電壓頻率、幅值和相位。本文的研究對(duì)象為USM60 超聲波電動(dòng)機(jī),負(fù)載TL=0,本文主要討論當(dāng)輸入為相位差時(shí)的Hammerstein 速度模型。超聲波電動(dòng)機(jī)的動(dòng)態(tài)線性部分采用一階傳遞函數(shù)描述,非線性靜態(tài)部分采用MPSO-BP 算法來(lái)逼近,在BP 神經(jīng)網(wǎng)絡(luò)中輸入層為一個(gè)神經(jīng)元φ,隱層為3 個(gè)神經(jīng)元,傳遞函數(shù)為logsig,輸出層一個(gè)神經(jīng)元ω,傳遞函數(shù)為purelin,神經(jīng)網(wǎng)絡(luò)誤差限為10-4,迭代次數(shù)為1000,超聲波電動(dòng)機(jī)輸入相位在[-90°,90°]之間每隔10°輸入,分別在輸入電壓頻率為41.5 kHz,42 kHz,42.5 kHz情況下輸入相位差信號(hào),獲得三組數(shù)據(jù),將這三組數(shù)據(jù)作為網(wǎng)絡(luò)訓(xùn)練樣本集。本文中,采用MPSO-BP神經(jīng)網(wǎng)絡(luò)建模方法建立Hammerstein 模型靜態(tài)非線性部分,MPSO 算法的參數(shù)設(shè)置如下:ωmin=0.1,ωmax=0.9,c1=2,c2=2,r1,r2是[0,1]之間的隨機(jī)數(shù),粒子群數(shù)量為100,粒子速度范圍在(0,0.5)之間。
下面給出仿真結(jié)果以說(shuō)明本文給出的方法的意義。驅(qū)動(dòng)電壓峰峰值為360 V,驅(qū)動(dòng)頻率分別為41.5 kHz,42 kHz 和42.5 kHz,系統(tǒng)輸入信號(hào)為相位差,輸出為速度,測(cè)試數(shù)據(jù)和仿真數(shù)據(jù)的比較如圖4 所示,誤差分析如圖5 所示。三種情況下,系統(tǒng)的均方誤差分別為1.38,0.9,0.45,最大相對(duì)誤差為2.79%,3.3%,3.14%。可以看出,采用MPSO-BP 神經(jīng)網(wǎng)絡(luò)的Hammerstein 模型預(yù)測(cè)精度更高一些,采用此方法建立的超聲波電動(dòng)機(jī)模型可行且實(shí)用。
本文采用MPSO-BP 算法建立超聲波電動(dòng)機(jī)Hammerstein 模型,其中非線性靜態(tài)部分采用MPSOBP 神經(jīng)網(wǎng)絡(luò)建模,線性動(dòng)態(tài)部分采用一階傳遞函數(shù)模型。仿真和實(shí)驗(yàn)分析結(jié)果顯示,該方法建立的模型和實(shí)驗(yàn)數(shù)據(jù)較吻合,準(zhǔn)確度較高,是復(fù)雜非線性系統(tǒng)的一種可行的建模方法,為高性能控制器的設(shè)計(jì)提供了基礎(chǔ)研究。
[1] ZHANG Xin-liang,TAN Yong-h(huán)ong.Modelling of ultrasonic motor with dead-zone based on Hammerstein model structure[J]. Journal of Zhejiang University:SCIENCE A. 2008,9(1):58-64.
[2] BIGDELI N,HAERI M.Modeling of an ultrasonic motor based on hammerstein model structure[C]//Control,Automation,Robotics and Vision Conference,2004,2(8):1374-1378.
[3] JAHANI M,MOJALLALI H. Neural network based modeling of traveling wave ultrasonic motor using genetic algorithm[C]//International Conference on Computer and Automation Engineering(ICCAE),2010,(5):486-490.
[4] SENJYU T,YOKODA S,GUSHIKEN Y,et al. Position control of ultrasonic motors with adaptive dead-zone compensation[C]//Institute of Electric and Electronic Engineer Industry Applications Conference,33rd IAS Annual Meeting,1998,(1):506-512.
[5] 郭亮,陳維榮,賈俊波,等.基于粒子群算法的BP 神經(jīng)網(wǎng)絡(luò)光伏電池建模[J].電工電能新技術(shù),2011,30(2):84-88.
[6] 王建國(guó),陽(yáng)建宏,云海濱,等.改進(jìn)粒子群優(yōu)化神經(jīng)網(wǎng)絡(luò)及其在產(chǎn)品質(zhì)量建模中的應(yīng)用[J]. 北京科技大學(xué)學(xué)報(bào),2008,30(10):1188-1193.
[7] 師彪,李郁俠,于新花,等.改進(jìn)粒子群-BP 神經(jīng)網(wǎng)絡(luò)模型的短期電力負(fù)荷預(yù)測(cè)[J].計(jì)算機(jī)應(yīng)用,2009,29(4):1036-1039.