王龍飛,鄧 亮,劉 萍
上海電力大學(xué) 自動(dòng)化工程學(xué)院,上海200090
近年來,隨著航天、納米生物工程、微電子、精密制造等領(lǐng)域的快速發(fā)展,壓電執(zhí)行器在微納米定位受到越來越廣泛的關(guān)注[1-2]。然而,輸出位移與驅(qū)動(dòng)電壓之間的遲滯非線性限制了其在快速高精度定位系統(tǒng)中的推廣[3-4]。為此,研究人員采用各種數(shù)學(xué)模型描述遲滯非線性,如Preisach模型[5]、Prandtl-Ishlinskii模型[6],Bouc-Wen模型[7]和Jiles-Atherton模型[8]等。Bouc-Wen模型可描述各種遲滯非線性和遲滯動(dòng)態(tài)行為,在壓電精密定位平臺(tái)、磁流變阻尼器、音圈電機(jī)等遲滯系統(tǒng)建模中得到廣泛應(yīng)用[9-10]。然而,由于模型復(fù)雜的非線性特性和辨識(shí)參數(shù)較多,其參數(shù)辨識(shí)已成為具有挑戰(zhàn)的問題[11]。
利用Bouc-Wen模型對(duì)壓電精密定位平臺(tái)實(shí)施建模需辨識(shí)五個(gè)參數(shù),其參數(shù)對(duì)滯環(huán)形狀的影響呈現(xiàn)強(qiáng)非線性,很難根據(jù)大量的數(shù)據(jù)總結(jié)具體模型的參數(shù)范圍。據(jù)此,Bouc-Wen 模型在磁性材料領(lǐng)域的應(yīng)用相對(duì)較少。隨著有效數(shù)值算法的發(fā)展,Bouc-Wen 模型參數(shù)辨識(shí)已更為準(zhǔn)確,模型的動(dòng)態(tài)性能有望得到改善[12-13]。文獻(xiàn)中討論了幾種實(shí)現(xiàn)這一目標(biāo)的方法,包括解析法、高斯-牛頓法、單純形法、簡(jiǎn)化梯度法和擴(kuò)展卡爾曼濾波[14-15]。由于遲滯非線性辨識(shí)的復(fù)雜性,隨機(jī)優(yōu)化被認(rèn)為是一種很好的解決策略。近年來,已有學(xué)者采用遺傳算法[16]、粒子群優(yōu)化[17-18]、差分進(jìn)化[19-20]等算法辨識(shí)遲滯非線性模型。此外,Laudani等人運(yùn)用度量-拓?fù)溥M(jìn)化優(yōu)化算法獲得了Bouc-Wen模型參數(shù)[21]。盡管前述方法已產(chǎn)生準(zhǔn)確的辨識(shí)結(jié)果,但依然可開發(fā)新穎的群智能優(yōu)化算法以獲得更快的收斂速度和更高的辨識(shí)精度。為此,本文提出一種改進(jìn)的果蠅優(yōu)化算法(IFOA)對(duì)壓電精密定位平臺(tái)遲滯Bouc-Wen模型參數(shù)進(jìn)行辨識(shí)。
果蠅優(yōu)化算法(Fruit fly Optimization Algorithm,F(xiàn)OA)是由中國(guó)臺(tái)灣學(xué)者潘文超于2011年6月提出的一種全局優(yōu)化智能算法[22]。該算法已成功應(yīng)用于科學(xué)和工程領(lǐng)域,并在求取函數(shù)極值、微調(diào)Z-SCORE 模型系數(shù)、優(yōu)化廣義遞歸神經(jīng)網(wǎng)絡(luò)參數(shù)和支持向量機(jī)回歸參數(shù)等方面有著廣泛應(yīng)用。與其他智能優(yōu)化算法相比,F(xiàn)OA具有簡(jiǎn)單易懂、調(diào)節(jié)參數(shù)較少、計(jì)算量小、尋優(yōu)能力較強(qiáng)且尋優(yōu)精度較高等優(yōu)點(diǎn)。因此,設(shè)計(jì)改進(jìn)的FOA 并將其應(yīng)用于Bouc-Wen模型的參數(shù)辨識(shí)具有重要的研究意義。迄今為止,尚未有基于改進(jìn)果蠅優(yōu)化的壓電精密定位平臺(tái)遲滯Bouc-Wen模型的辨識(shí)報(bào)道。為了提高算法的優(yōu)化性能,本文從種群多樣性保持、迭代搜索步長(zhǎng)設(shè)置和后期精確尋優(yōu)三個(gè)方面對(duì)FOA 進(jìn)行改進(jìn),提出改進(jìn)的果蠅優(yōu)化算法(Improved Fruit fly Optimization Algorithm,IFOA),使算法尋優(yōu)性能得到提升并將其成功應(yīng)用于壓電精密定位平臺(tái)Bouc-Wen模型的參數(shù)辨識(shí)。
FOA 是基于果蠅覓食行為而推演出的一種尋找全局最優(yōu)解的群智能優(yōu)化算法。果蠅本身具有敏銳的視覺和嗅覺系統(tǒng),對(duì)漂浮在空氣中的氣味顆粒具有超強(qiáng)的感知能力。果蠅個(gè)體利用其嗅覺系統(tǒng)能迅速地向接近食物源的方向飛去,同時(shí)其利用敏銳的視覺系統(tǒng)發(fā)現(xiàn)同伴聚集的位置,并向該位置飛去。果蠅尋找食物的過程是不斷地從食物味道濃度低的地方飛向濃度高的地方,直至發(fā)現(xiàn)食物源為止。
果蠅群體迭代搜索食物的過程如圖1 所示,F(xiàn)ly group 表示果蠅群體的初始位置;Fly1,Fly2,Fly3為果蠅個(gè)體的搜索方向;Dist 為果蠅個(gè)體與原點(diǎn)之間的距離;S 表示果蠅個(gè)體的味道濃度判定值,其為距離的倒數(shù);Smell 為果蠅個(gè)體對(duì)應(yīng)的味道濃度值,其是味道濃度判定值的函數(shù)。
根據(jù)果蠅的覓食特征,果蠅優(yōu)化算法的具體步驟如下:
步驟1 初始化果蠅群體位置(xp,yp),并給出種群規(guī)模SizePop 和最大迭代次數(shù)MaxIter。
圖1 果蠅群體迭代搜索食物示意圖
步驟2 賦予果蠅個(gè)體隨機(jī)方向和距離,利用嗅覺尋找食物。
式中,i=1,2,…,SizePop,xi,yi為第i 個(gè)果蠅種群的初始位置;randx,i,randy,i為[0,1]內(nèi)的兩個(gè)任意隨機(jī)數(shù)。
步驟3 估算果蠅個(gè)體距原點(diǎn)的距離Di并計(jì)算味道濃度判定值Si:
步驟4 將Si代入味道濃度判定函數(shù)(即適應(yīng)度函數(shù)f)得到果蠅個(gè)體的味道濃度值Smelli:
步驟5 找出味道濃度最佳的果蠅個(gè)體(這里取最小值)并記錄該果蠅的最佳氣味濃度值bestSmell 和在此種群對(duì)應(yīng)的標(biāo)號(hào)bestIndex:
步驟6 將最佳氣味濃度值bestSmell 記為Smellbest,并記錄相應(yīng)的位置坐標(biāo)和最佳氣味濃度判斷值bestS。果蠅群體將利用視覺飛向該位置:
步驟7 算法完成初始化,開始進(jìn)入迭代尋優(yōu)過程。
對(duì)步驟2~5重復(fù)執(zhí)行,判斷當(dāng)前最佳味道濃度值與上一代最佳味道濃度值的大小,若當(dāng)前最佳味道濃度值小于上一代最佳味道濃度值(此時(shí)目標(biāo)函數(shù)是求最小值),則執(zhí)行步驟6,否則繼續(xù)進(jìn)行迭代,直至達(dá)到最大迭代次數(shù)為止。
原始的FOA結(jié)構(gòu)簡(jiǎn)單,代碼易于實(shí)現(xiàn),相比于其他智能算法,具有調(diào)節(jié)參數(shù)少,計(jì)算速度快,尋優(yōu)精度高等優(yōu)點(diǎn)。然而,原始的FOA依然存在以下缺陷:
(1)在算法尋優(yōu)時(shí),每次迭代果蠅都飛向適應(yīng)度值最高的果蠅個(gè)體,這在一定程度上降低了果蠅群體的多樣性。一旦該果蠅個(gè)體位于局部最優(yōu)值附近,算法極易陷入局部最優(yōu)解。
(2)算法每次迭代都取固定步長(zhǎng)。搜索步長(zhǎng)若取值較大,在迭代前期會(huì)加快算法的尋優(yōu)速度,但迭代后期,過大的搜索步長(zhǎng)會(huì)使算法在最優(yōu)解附近徘徊,始終達(dá)不到精度要求;若取值較小,則大大降低算法尋優(yōu)速度,使得算法的整體尋優(yōu)性能下降。
(3)在后期的精確搜索中,果蠅個(gè)體位置通過x、y坐標(biāo)的微小變化進(jìn)行更新。當(dāng)算法的優(yōu)化函數(shù)為多維函數(shù),且多維的目標(biāo)解彼此不在同一數(shù)量級(jí),則此更新方法不會(huì)使目標(biāo)解進(jìn)一步向精確解靠近,使得算法只能保持當(dāng)前精度而不會(huì)進(jìn)一步提高精度。
因此,本文重點(diǎn)從群體多樣性、迭代搜索步長(zhǎng)和后期精確搜索三個(gè)方面對(duì)FOA進(jìn)行改進(jìn)。
遺傳算法利用交叉因子產(chǎn)生代表新解集的種群,這一過程將使該種群所產(chǎn)生的后代種群比前代種群更能適應(yīng)當(dāng)前環(huán)境,從而逐漸搜索到問題的全局最優(yōu)解。同時(shí),后代種群與前代種群相結(jié)合,在很大程度上增加了種群多樣性,使得算法不易陷入局部最優(yōu)值。
在改進(jìn)的果蠅優(yōu)化算法中,將上次迭代隨機(jī)產(chǎn)生的果蠅群體兩兩交叉組合,得到的新群體代入味道濃度判定函數(shù),并與交叉前的最優(yōu)個(gè)體進(jìn)行比較,選出交叉前后的最優(yōu)個(gè)體作為下次迭代的初始位置。通過交叉操作不僅能增加迭代過程中果蠅群體的多樣性,跳出局部最優(yōu),同時(shí)還能加快收斂速度。交叉操作的公式如下:
式中,j=1,2,…,d;x,y 為d 維位置向量;childk(x),childk(y)和parentk(x),parentk(y)分別表示子代群體和父代群體位置;k=1,2 分別為群體中前半部分和后半部分成員;P 表示d 維隨機(jī)分布的任意數(shù)向量,其中的每一個(gè)分向量都在[0,1]中取值。
根據(jù)果蠅優(yōu)化算法的基本原理,果蠅群體的隨機(jī)搜索方式為:
式中,h 為搜索步長(zhǎng),randx,i,randy,i為(0,1)內(nèi)的兩個(gè)任意隨機(jī)數(shù)(當(dāng)x,y 為多維時(shí),rand 為多維向量)。
在此,加入對(duì)味道濃度判定因子S(i)的尋優(yōu)機(jī)制,即果蠅在以后的迭代過程中,不再對(duì)其位置x,y 進(jìn)行每一次更新,而是直接對(duì)味道濃度判定因子bestS 更新。這樣,合理設(shè)置對(duì)判定因子的尋優(yōu)步長(zhǎng),即能向最優(yōu)解進(jìn)一步靠近。
假設(shè)上一次迭代尋優(yōu)后得到的最佳味道濃度判定因子為bestS,且bestS 已在最優(yōu)解附近。設(shè)置判定因子的尋優(yōu)步長(zhǎng)時(shí),根據(jù)bestS 的數(shù)量級(jí)進(jìn)行針對(duì)性的步長(zhǎng)調(diào)整。此搜索方法的搜索機(jī)制為:
式中,v 為慣性權(quán)重函數(shù);g 為當(dāng)前迭代次數(shù);k1,k2為設(shè)定常數(shù);r 為根據(jù)前一步迭代得出的尋優(yōu)步長(zhǎng);A 為bestS 的數(shù)量級(jí),可在Matlab 中通過指令floor(lg(bestS))求得;w(i)為當(dāng)前迭代次數(shù)下的搜索方向;S(i)為味道濃度判定因子。
結(jié)合3.1~3.3 節(jié)中對(duì)果蠅優(yōu)化算法進(jìn)行的改進(jìn),改進(jìn)的果蠅優(yōu)化算法具體步驟如下:
步驟1 初始化果蠅群體位置(xp,yp),并給出種群規(guī)模SizePop 和最大迭代次數(shù)MaxIter。
步驟2 賦予果蠅個(gè)體隨機(jī)方向和距離,利用嗅覺尋找食物。
式中,i=1,2,…,SizePop,xp,yp為第i 個(gè)果蠅種群的初始位置;randx,i,randy,i為[0,1]內(nèi)的兩個(gè)任意隨機(jī)數(shù)。
步驟3 估算果蠅個(gè)體距原點(diǎn)的距離Di并計(jì)算味道濃度判定值Si:
步驟4 將Si代入味道濃度判定函數(shù)(即適應(yīng)度函數(shù)f)得到果蠅個(gè)體的味道濃度值Smelli:
步驟5 找出味道濃度最佳的果蠅個(gè)體(這里取最小值)并記錄該果蠅的最佳氣味濃度值bestSmell 和在此種群對(duì)應(yīng)的標(biāo)號(hào)bestIndex:
步驟6 對(duì)此果蠅群體進(jìn)行交叉操作,得到新的種群位置x1i,y1i,重復(fù)執(zhí)行步驟3~5,找出味道濃度最佳的新果蠅個(gè)體:
步驟7 若Smellbest1<Smellbest ,則更新原來的最佳位置:
步驟8 若Smellbest1>Smellbest ,則保持下一次迭代的初始位置xp和yp不變。
步驟9 引入自適應(yīng)搜索步長(zhǎng)hi,并將其代入果蠅個(gè)體利用嗅覺覓食的公式中:
步驟10 進(jìn)入迭代尋優(yōu),重復(fù)執(zhí)行步驟2~8,直至達(dá)到最大迭代次數(shù)為止,輸出尋優(yōu)結(jié)果bestS。
步驟11 啟動(dòng)算法后期精確搜索機(jī)制,設(shè)置新的最大迭代次數(shù),并將得出的尋優(yōu)結(jié)果bestS 作為精確搜索的初始值。將步驟2~3更改為式(18)所示S(i)后,繼續(xù)執(zhí)行步驟4~8,直至達(dá)到設(shè)置的最大迭代數(shù)為止并輸出bestS 新的值。
壓電精密定位平臺(tái)的遲滯非線性是指執(zhí)行器升壓和降壓曲線之間存在位移差,其在很大程度上會(huì)影響壓電執(zhí)行器的控制精度。Bouc-Wen模型既包含了非線性阻尼,又包含了非線性剛度,能對(duì)各種光滑的遲滯曲線進(jìn)行描述。本章將改進(jìn)的果蠅優(yōu)化算法應(yīng)用于壓電精密定位平臺(tái)Bouc-Wen模型的參數(shù)辨識(shí),通過建模比較,驗(yàn)證辨識(shí)結(jié)果的準(zhǔn)確性。
壓電精密定位平臺(tái)的遲滯曲線如圖2所示,圖中虛線為曲線上最大和最小位移之間的連線。壓電精密定位平臺(tái)的遲滯曲線可看成是該虛線與曲線上的遲滯分量之和:
式中,x(t)為平臺(tái)輸出位移,u(t)為系統(tǒng)輸入電壓,kv為輸入電壓與輸出位移之間的比例常量,h(t)為遲滯分量,x0為初始位移(一般默認(rèn)為0)。其一階導(dǎo)數(shù)為:
式中,kv、α、β、γ 和n 為待求參數(shù)。
圖2 壓電精密定位平臺(tái)輸入電壓與輸出位移的遲滯曲線
取均方根誤差作為改進(jìn)果蠅優(yōu)化算法中味道濃度判定函數(shù),即:
式中,y1i和y0i為第i 個(gè)采樣時(shí)刻的模型輸出位移和實(shí)測(cè)位移,N 為采樣個(gè)數(shù)。將最大迭代次數(shù)設(shè)置為100,種群規(guī)模設(shè)置為20,具體辨識(shí)步驟如3.4節(jié)所示。
壓電精密定位實(shí)驗(yàn)平臺(tái)如圖3所示,包括RHAC系列精密定位控制器和壓電精密定位平臺(tái)。RHAC 系列控制器具有過流、過熱、短路保護(hù),高頻率響應(yīng)、極低的靜態(tài)電壓紋波,其內(nèi)置標(biāo)準(zhǔn)模擬PID 閉環(huán)控制,可加快閉環(huán)調(diào)整速度,保證閉環(huán)壓電精密定位平臺(tái)的最佳控制精度,并具有開、閉環(huán)切換功能,可以開環(huán)或閉環(huán)方式對(duì)壓電精密定位平臺(tái)控制。RHAC 系列控制器輸出電壓穩(wěn)定性<0.1%FS/8 h,電壓分辨率35 PPmFS±10%,電壓監(jiān)控分辨率0.1%FS,輸出電壓范圍0~140 V,輸出電壓紋波≤10 mV ,平臺(tái)輸出的非線性為0.1%FS(標(biāo)定行程)。計(jì)算機(jī)通過RS232 串口與控制器相連,通過控制器上位機(jī)軟件獲取輸出位移。輸入電壓設(shè)計(jì)為V=60-60e-0.35tcos(2πe-0.06tt),采樣頻率100 Hz,仿真時(shí)間5 s。
為了直觀地反映改進(jìn)果蠅優(yōu)化算法步驟的合理性,將其分為三部分加以比較。IFOA1、IFOA2、IFOA 分別為引入交叉因子、引入交叉因子和自適應(yīng)搜索步長(zhǎng)和提出的改進(jìn)果蠅優(yōu)化算法。將輸入和輸出數(shù)據(jù)保存為原始數(shù)據(jù),選取前2 s和后3 s數(shù)據(jù)集分別作為訓(xùn)練和泛化數(shù)據(jù),采用FOA、IFOA1、IFOA2和IFOA對(duì)Bouc-Wen模型參數(shù)辨識(shí),具體步驟同3.4節(jié)。種群規(guī)模設(shè)置為30,迭代次數(shù)為100 次。表1 給出了FOA、IFOA1、IFOA2 和IFOA 辨識(shí)出的壓電精密定位平臺(tái)Bouc-Wen 模型參數(shù)和適應(yīng)度值。
表1 四種優(yōu)化算法辨識(shí)的Bouc-Wen模型參數(shù)和適應(yīng)度函數(shù)值
辨識(shí)結(jié)果如圖4~7所示,圖4為算法收斂特性比較,圖5 給出了輸出位移跟蹤曲線,相應(yīng)的遲滯環(huán)如圖6 所示,辨識(shí)出的模型的輸出位移與實(shí)驗(yàn)數(shù)據(jù)之間的誤差如圖7。從辨識(shí)結(jié)果可見,IFOA 建模效果明顯優(yōu)于IFOA1、IFOA2 和FOA,充分證明了改進(jìn)方法的有效性和辨識(shí)優(yōu)勢(shì)。
圖4 算法收斂特性比較
圖5 不同算法對(duì)應(yīng)的位移跟蹤曲線
圖6 不同算法下辨識(shí)出的遲滯環(huán)與實(shí)驗(yàn)數(shù)據(jù)的對(duì)比
圖7 不同算法對(duì)應(yīng)的位移跟蹤誤差曲線
本文采用廣泛應(yīng)用于遲滯系統(tǒng)的Bouc-Wen模型描述壓電精密定位平臺(tái)遲滯非線性特性,提出一種改進(jìn)的果蠅優(yōu)化算法對(duì)其參數(shù)實(shí)施辨識(shí)。為了驗(yàn)證所采用模型和相應(yīng)參數(shù)辨識(shí)方法的有效性,對(duì)壓電精密定位實(shí)驗(yàn)平臺(tái)遲滯非線性特性進(jìn)行了實(shí)驗(yàn)建模。研究結(jié)果表明,所提出的改進(jìn)果蠅優(yōu)化算法能將建模平均絕對(duì)值誤差控制在0.1 μm以內(nèi)。