武志宏,楊瑞峰,郭晨霞,葛雙超
(中北大學儀器與電子學院,山西省自動化檢測裝備與系統(tǒng)工程技術(shù)研究中心,太原 030051)
建立電動舵機準確模型是研究伺服系統(tǒng)動態(tài)特性的關(guān)鍵所在。因此,有必要研究用于精確建立電動舵機的系統(tǒng)辨識策略并進行動態(tài)性能分析。系統(tǒng)辨識的定義是1962年由Zadeh[1]提出的:系統(tǒng)辨識是被識別系統(tǒng)按照優(yōu)化準則在預設模型中優(yōu)化出與數(shù)據(jù)擬合最好的模型參數(shù)。國內(nèi)外在舵機參數(shù)辨識研究方面提出了很多優(yōu)化方法,如經(jīng)典優(yōu)化算法有最小二乘法[2]、相關(guān)函數(shù)法[3]和頻率特性法[4]等。這些經(jīng)典優(yōu)化算法在優(yōu)化速度和優(yōu)化精度方面逐漸暴露了缺點和局限性。近幾十年,智能控制理論不斷發(fā)展成熟,形成了多種形式的智能優(yōu)化算法在參數(shù)辨識中的應用,如粒子群算法[5]、人工神經(jīng)網(wǎng)絡[6]、支持向量機[7]等。
遺傳算法(genetic algorithm,GA)是一種利用自然界“優(yōu)勝劣汰”的原理來搜索最優(yōu)解的特點,從而在參數(shù)辨識中有著重要的研究意義[8]。相比之下,遺傳算法應用于舵機系統(tǒng)辨識的優(yōu)點是不受諸如搜索空間和函數(shù)可導性等先驗條件的約束[8],但是與其他智能優(yōu)化算法相比,傳統(tǒng)的遺傳算法存在著早熟收斂、易陷入局部最優(yōu)以及收斂速度慢的缺點。
為了解決傳統(tǒng)遺傳收斂速度慢和早熟的缺點,提出了一種改進的自適應遺傳算法(improved adaptive genetic algorithm, IAGA),引入改進的交叉算子、變異算子操作、自適應交叉概率和變異概率。改進的算法使群體中最大適應度的個體交叉率和變異率不為零,使優(yōu)良個體不處于一種停滯狀態(tài)從而讓算法跳出局部最優(yōu)。在此基礎(chǔ)上將該算法應用于舵機系統(tǒng)參數(shù)辨識中,辨識結(jié)果表明,該算法與人工神經(jīng)網(wǎng)絡(artificial neural network, ANN)、粒子群算法(particle swarm optimization,PSO)和GA相比具有更好的參數(shù)優(yōu)化精度和優(yōu)化速度,證明了改進算法的有效性。
系統(tǒng)辨識原理如圖1所示。電動舵機系統(tǒng)是在相同的外部干擾下獲得實際系統(tǒng)輸出和識別模型輸出,然后比較兩者之間的差異來構(gòu)成誤差函數(shù)。最后,誤差函數(shù)作為優(yōu)化算法的適應度函數(shù)來不斷校正辨識參數(shù)。
圖1 系統(tǒng)辨識原理Fig.1 System identification schematic
采用參數(shù)誤差(Epe)和平均參數(shù)誤差(Eape)來評估算法的識別精度。Epe和Eape的計算方法為
(1)
(2)
i=1,2,…,m
1.2.1 控制器模型
控制器對控制輸入信號電壓U和反饋電壓Uf的偏差信號進行功率放大,從而驅(qū)動電機運動。PWM控制器的傳遞函數(shù)為
(3)
式(3)中:ua為電機的直流平均電壓;uc為輸入電壓;U為電源電壓;uDP為輸入信號的最大電壓;KPWM為線性工作區(qū)域中的常數(shù);s表示虛變量。
1.2.2 直流電機模型
電動舵機的主要構(gòu)件是直流電機。當負載為空時其傳遞函數(shù)可近似為
(4)
式(4)中:θ為電機旋轉(zhuǎn)的角度;Km為電機轉(zhuǎn)矩系數(shù);R為電驅(qū)動電路的總電阻;J為折疊到電機軸的慣性矩;Ke為反電動勢系數(shù)。
1.2.3 諧波減速器模型
諧波減速器是用于完成舵機轉(zhuǎn)動所需的角速度和扭矩的機構(gòu)。在忽略摩擦轉(zhuǎn)矩和諧波減速器滯后影響的情況下,傳遞函數(shù)可以簡化為比例環(huán)節(jié),即減速比的倒數(shù):
(5)
式(5)中:θm和θ分別為電機旋轉(zhuǎn)和方向舵旋轉(zhuǎn)的角度;i是諧波減速器與驅(qū)動負載之間的傳動齒輪半徑比。
舵機系統(tǒng)由電流反饋、速度反饋和角度反饋3個閉環(huán)系統(tǒng)組成?,F(xiàn)研究角度反饋和控制信號之間的關(guān)系,角度反饋電位器輸出電壓為
(6)
式(6)中:δ為舵機轉(zhuǎn)動的角度;ig為增速齒輪的增速比;up為施加到反饋電位計的電壓;θp為反饋電位計的角位移。
由于igδ/θp通常是常數(shù),則反饋電位器的傳遞函數(shù)可以表示為
(7)
滯后特性可以作為模型中的延遲率來執(zhí)行(可以表示為一階慣性環(huán)節(jié))。如圖2所示,k1是由于其他未知非線性因素的影響而導致的電動舵機輸出的校正值。極限d1的物理特性是運動部分的振幅。
圖2 非線性系統(tǒng)簡化模型Fig.2 Nonlinear system simplified model
根據(jù)以上描述,當假定機械振幅極限不被觸發(fā)時,d1可以忽略。電動舵機系統(tǒng)的輸入輸出為
(8)
整理后得:
(9)
遺傳算法的改進如下:
(1)編碼。將式(9)離散化為
3.每個隊員摸一次,摸球時不準看,每次摸球后都要放回箱子,負責拿箱子的同學晃動箱子,使球混合均勻,接著再摸,摸出紅球多的為勝。
(10)
因此要得到系統(tǒng)傳遞函數(shù),需要辨識的離散模型參數(shù)為a1、a2、a3、b1、b2和b3。根據(jù)問題的實際情況,采用近似二進制編碼的形式對染色體進行編碼,基因數(shù)為m×6,aij和bij為基因項,個體染色體為
(11)
式(11)中:k為染色體種群序號。
(2)生成初始群體。首先隨機產(chǎn)生的N個染色體作為算法迭代的初始值,并被定義為Q,N即為種群規(guī)模。
(3)適應度評價。適應度函數(shù)的建立是根據(jù)具體的實際問題進行設定的,適應度函數(shù)表示為
(12)
式(12)中:n為輸入的個數(shù);y為實際對象的輸出;y′為相同輸入下辨識模型的輸出。
(4)選擇操作。為了抑制傳統(tǒng)GA基于適應度比例的選擇策略帶來的早熟現(xiàn)象,將規(guī)模為N的群體Q={M1,M2,…,Mn}按個體適應值降序排列為f(a1)≥f(a2)≥…≥f(an),個體i的選擇概率為
(13)
式(13)中:q′為個體被選擇到的概率;r為種群個體的編號。
(14)
式(14)中:α∈(0,1)。
(6)變異算子。為了使優(yōu)化算法找到全局最優(yōu)解。假設矩陣(11)的個體染色體基因aij∈[Lk,Uk]為選中的變異,該基因的變異結(jié)果為
(15)
式(15)中:r1和r2為[0,1]的均勻隨機變量。
(7)自適應交叉、變異概率的改進。交叉概率Pc和變異概率Pm的選擇對于算法的優(yōu)化效率有很大影響。為此結(jié)合Srinvivas等[9]提出的自適應遺傳算法,作進一步改進,即
(16)
(17)
式中:fmax和favg分別為群體的最大和平均個體適應度;f′為兩個個體適應度大的值;Pc1=0.9,Pc2=0.6,Pm1=0.1,Pm2=0.01。
為了驗證方法的有效性進行了3個試驗,測試設備如圖3所示。試驗1:為了測試改進算法的優(yōu)化性能采用標準測試函數(shù)驗證。試驗2:為了驗證本文提出的辨識方法的精確性,根據(jù)第1節(jié)建立的系統(tǒng)模型,進行系統(tǒng)辨識優(yōu)化對比試驗并進行了實際信號跟隨測試。試驗3:為了驗證改進算法具有較強的抗噪聲能力,研究了不同噪聲水平下的參數(shù)辨識性能。
圖3 舵機測試設備Fig.3 Electric steering test equipmentdiagram
試驗參數(shù)設置為:控制臺PC配置為Intel(R)Core(TM)i7 CPU @ 2.20 GHz CPU和8 GB RAM。為使IAGA的有效性更具說服力、ANN,PSO和GA被應用于下面試驗。GA、PSO和IAGA的種群大小和迭代次數(shù)都設置為30和100。PSO的慣性權(quán)重w=0.6, 認知和社會加速度常數(shù)c1=c2=2。遺傳算法的其他參數(shù)設置按照第2節(jié)所示,最終結(jié)果取30次試驗結(jié)果的平均值。
參考CEC2013[10]評價標準選取了包括單峰函數(shù)、基本多峰函數(shù)的4個最小化標準函數(shù)進行仿真試驗,如表1所示。其中從上至下分別為Sphere函數(shù)為單峰函數(shù);Rosenbrock為凸病態(tài)函數(shù);Rastrigin’s和Schaffer為具有極多局部最小點的多峰函數(shù)。表2展現(xiàn)了不同算法之間性能比較的結(jié)果。一方面,改進算法對多維函數(shù)的優(yōu)化精度都優(yōu)于其他傳統(tǒng)智能算法。另一方面,IAGA的標準偏差小于其他算法,因此其優(yōu)化結(jié)果更可靠。
表1 測試函數(shù)Table 1 Test function
在表3中,PSO與GA相比得到了相似或更好的識別結(jié)果,PSO和GA的識別精度明顯優(yōu)于ANN。由于系統(tǒng)的強非線性和信號噪聲,ANN可能無法成功識別相關(guān)參數(shù)。IAGA的識別精度遠大于傳統(tǒng)GA,這表明改進的自適應交叉變異操作和精確保留策略可以有效地提高算法全局搜索性能。在圖4中可以看出,ANN最先收斂到局部最優(yōu)解,因此很難獲得全局最優(yōu)參數(shù)。PSO的收斂曲線在早期迅速下降,但達到一定精度時下降緩慢。GA的初始解性能很差,但是由于其適當?shù)慕徊婧妥儺惒呗?收斂曲線仍然可以保持下降趨勢。IAGA的收斂曲線呈現(xiàn)穩(wěn)定快速下降,反映了所提出的IAGA對系統(tǒng)參數(shù)識別的良好全局搜索能力。IAGA可以實現(xiàn)更快地收斂到最佳狀態(tài),并獲得比其他解決方案更好的全局最優(yōu)解決方案。
表2 不同測試算法性能對比Table 2 Performance comparison of different test algorithms
為了充分激勵舵機的各種模態(tài)以確保辨識效果,通過電動舵機實際實驗驗證所研究成果的可靠性。將正弦信號用作激勵信號,系統(tǒng)的采樣頻率設置為100 Hz,系統(tǒng)輸入幅度為1 V,初始相位是0°的正弦波。實驗結(jié)果如圖5所示,4種算法的誤差曲線如圖6所示。與其他3種算法相比,改進的算法正弦跟隨測試誤差從170 mV左右減小到5 mV左右。因此驗證了改進算法辨識精度較高的特點。
表3 不同算法辨識誤差Table 3 Identification error of different algorithms
圖4 不同算法平均收斂過程對比Fig.4 Compares the average convergence process different algorithm
圖5 正弦響應辨識測試Fig.5 Sinusoidal response identification test
圖6 正弦響應辨識誤差Fig.6 Sinusoidal response identification error
具有不同信噪比(SNR) (90、60和30 dB)的噪聲信號被添加到電動舵機的輸出端。應用MATLAB中的AWGN函數(shù)給舵機輸出信號添加不同信噪比噪聲后進行辨識試驗。選擇性能最好的IAGA算法作為試驗的優(yōu)化算法。
如表4所示,60 dB的參數(shù)識別誤差遠大于90 dB的參數(shù)識別誤差,這可能是由于電動舵機的死區(qū),間隙和極限振幅等非線性部分的存在造成的。當SNR為30 dB時誤差顯著增加。但是,30 dB以下的某些參數(shù)的識別精度仍然很好,可以滿足實際工程應用的要求。
表4 不同信噪比下辨識誤差Table 4 Identification error under different SNR
提出一種新的IAGA辨識參數(shù)的方法,該方法具有以下特點。
(1)改進后的GA算法在全局優(yōu)化和快速收斂能力都有較大的提高,性能上也明顯優(yōu)于現(xiàn)有的一些傳統(tǒng)優(yōu)化算法。
(2)經(jīng)過多維復雜經(jīng)典函數(shù)測試,與其他智能算法相比改進的算法能夠得到很好的優(yōu)化結(jié)果,并且有很高的穩(wěn)定性。說明改進的算法具有復雜優(yōu)化問題的通用性。
(3)改進后的算法用于電動舵機系統(tǒng)辨識,通過參數(shù)誤差和平均參數(shù)誤差評判結(jié)果,說明改進算法具有優(yōu)化精度高、速度快的特點。
(4)經(jīng)過抗干擾測試檢測,改進算法具有較強的抗噪聲能力,因此具有高的工程實踐價值。