曹訓(xùn)訓(xùn),李凌杰(武漢船用電力推進(jìn)裝置研究所,武漢 430064)
?
基于遺傳算法和CMAC的雙電機(jī)協(xié)調(diào)控制
曹訓(xùn)訓(xùn),李凌杰
(武漢船用電力推進(jìn)裝置研究所,武漢 430064)
摘要:提出一種小腦模型神經(jīng)網(wǎng)絡(luò)(CMAC)和自適應(yīng)在線遺傳算法(GA)相結(jié)合的新型控制算法,應(yīng)用于機(jī)器人中兩軸永磁無刷直流電機(jī)的速度協(xié)調(diào)控制,利用MATLAB/SIMULINK仿真,結(jié)果證明了GA和CMAC復(fù)合控制器可以有效的消除協(xié)調(diào)控制中的轉(zhuǎn)矩脈動(dòng)。
關(guān)鍵詞:小腦模型神經(jīng)網(wǎng)絡(luò)遺傳算法協(xié)調(diào)控制
永磁無刷直流電機(jī)具有良好的靜、動(dòng)態(tài)調(diào)速性能,且結(jié)構(gòu)簡單、運(yùn)行可靠、易于控制,近年來廣泛應(yīng)用于移動(dòng)機(jī)器人中。當(dāng)機(jī)器人多軸協(xié)調(diào)控制系統(tǒng)中的兩個(gè)電機(jī)主、輔電機(jī)需要同步運(yùn)行時(shí),由于電機(jī)參數(shù)的變化和負(fù)載大小的不同,兩電機(jī)轉(zhuǎn)速的協(xié)調(diào)會(huì)受到干擾。此時(shí),可采用遺傳算法、粒子群優(yōu)化、神經(jīng)網(wǎng)絡(luò)以及模糊控制等方法來取代或優(yōu)化傳統(tǒng)的PID調(diào)速,使輔電機(jī)嚴(yán)格按照主電機(jī)的轉(zhuǎn)速來調(diào)整PWM觸發(fā)電壓的大小,從而實(shí)現(xiàn)協(xié)調(diào)同步。
其中,遺傳算法作為一種高級(jí)啟發(fā)式搜索的優(yōu)化方法,簡單通用、魯棒性強(qiáng),無需任何初始信息就可尋求全局最優(yōu)解。但遺傳算法局部搜索能力較弱,收斂速度慢,影響系統(tǒng)的高精度控制和穩(wěn)定運(yùn)行[1]。小腦模型神經(jīng)網(wǎng)絡(luò)算法,是一種模擬人腦的學(xué)習(xí),即模擬種群中單個(gè)個(gè)體的自學(xué)習(xí)算法,具有很強(qiáng)的局部泛化能力,收斂速度快,且其最小值是唯一的,迭代次數(shù)少,程序執(zhí)行速度快,適合于實(shí)時(shí)控制[2]。但小腦模型神經(jīng)網(wǎng)絡(luò)在控制的初始階段需要調(diào)節(jié)好PID參數(shù),以啟動(dòng)系統(tǒng)。將這兩種算法相結(jié)合,取長補(bǔ)短,為協(xié)調(diào)控制提供了一種新的更佳的解決方案。
永磁無刷直流電動(dòng)機(jī)的氣隙磁場波形、反電動(dòng)勢(shì)波形以及定子電流波形都是非正弦的,這為建模帶來了一定的困難。為了簡化數(shù)學(xué)模型,現(xiàn)對(duì)該電動(dòng)機(jī)的工作情況作如下假設(shè):
1) 電動(dòng)機(jī)本體的三相定子繞組是完全對(duì)稱的,相應(yīng)的電氣時(shí)間常數(shù)可以忽略不計(jì)。2) 忽略定子電流磁通以及齒槽效應(yīng)和磁路飽和對(duì)氣隙磁通的影響。3) 電機(jī)運(yùn)行時(shí),忽略溫度等外界因素對(duì)電機(jī)參數(shù)的干擾。在滿足上述假設(shè)條件的基礎(chǔ)上,永磁無刷直流電機(jī)動(dòng)態(tài)特性方程組描述如下:
其中,U-觸發(fā)電壓,Ea-感應(yīng)電動(dòng)勢(shì),R-三相定子電阻,L-電樞電感,i-相電流,Ke-反電勢(shì)常數(shù),Kt-轉(zhuǎn)矩系數(shù),n-電機(jī)轉(zhuǎn)速,Ta-電磁轉(zhuǎn)矩,J-電機(jī)慣性系數(shù),D-摩擦系數(shù)。
在電機(jī)動(dòng)態(tài)運(yùn)行時(shí),對(duì)式(1)~(4)進(jìn)行拉普拉斯變換,可得拉式方程組,即,
在機(jī)器人兩軸協(xié)調(diào)控制系統(tǒng)中,輔電機(jī)的參數(shù)為:Ke=0.125 v·s/rad,Kt=15 Nm/A,L=5×10-3H,D=0.01 Nm·s/rad,J=0.03kg·m2,R=5?。由式(5)~(8)求得輔電機(jī)轉(zhuǎn)速調(diào)節(jié)器的傳遞函數(shù)為:
在計(jì)算機(jī)控制系統(tǒng)中采用離散控制,Z變換后,傳遞函數(shù)為,
遺傳算法是模擬達(dá)爾文生物進(jìn)化論的自然選擇和遺傳學(xué)機(jī)理的生物進(jìn)化過程的計(jì)算模型,是一種通過模擬自然進(jìn)化過程搜索最優(yōu)解的方法,它最初由美國Michigan大學(xué)J.Holland教授于1975年首先提出來的,J.Holland教授所提出的GA通常為簡單遺傳算法。
本文采用自適應(yīng)遺傳算法在線整定PD參數(shù),在采樣時(shí)刻k,選取足夠多的個(gè)體,計(jì)算不同個(gè)體的自適應(yīng)度,通過優(yōu)化,選擇自適應(yīng)度大的個(gè)體所對(duì)應(yīng)的PD參數(shù)作為該采樣時(shí)刻下的控制參數(shù)。為使協(xié)調(diào)控制過程平穩(wěn),防止產(chǎn)生超調(diào),采用誤差絕對(duì)值及誤差變化率的加權(quán)和作為采樣時(shí)刻k中個(gè)體i的最小目標(biāo)函數(shù)[3]。參數(shù)選擇的最小目標(biāo)函數(shù)為:
式中,error(i)為采樣時(shí)刻k個(gè)體i的速度跟蹤誤差,?e(i)為采樣時(shí)刻k個(gè)體i的跟蹤誤差變化率,θ1、θ2為經(jīng)驗(yàn)系數(shù)。
采用懲罰功能避免超調(diào),即將超調(diào)量作為最優(yōu)指標(biāo)的一項(xiàng),此時(shí)最優(yōu)指標(biāo)為:
自適應(yīng)度越大,變異概率越小,自適應(yīng)變異概率取為:
其中,pop為種群的個(gè)體數(shù)。
遺傳算法優(yōu)化PD參數(shù)的步驟如下:
1) 確定PD參數(shù)的大致范圍,并對(duì)其進(jìn)行編碼;2) 隨機(jī)生成個(gè)體數(shù)為n的種群,初始化適應(yīng)度值;3) 將種群中的個(gè)體解碼成對(duì)應(yīng)的參數(shù)值,用此參數(shù)求代價(jià)函數(shù)值J及適應(yīng)函數(shù)值f,取f=1/J ;4) 進(jìn)行復(fù)制、交叉和變異操作,產(chǎn)生下一代種群;5) 若參數(shù)收斂或達(dá)到預(yù)定的指標(biāo),輸出最優(yōu)值,否則,返回步驟(3)和(4)。
3.1 CMAC前饋控制系統(tǒng)
小腦模型神經(jīng)網(wǎng)絡(luò)是一種表達(dá)復(fù)雜非線性函數(shù)的表格查詢型自適應(yīng)神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)可通過學(xué)習(xí)算法改變表格的內(nèi)容,具有信息分類存儲(chǔ)的能力。CMAC比一般神經(jīng)網(wǎng)絡(luò)具有更好的非線性逼近能力,更適合于復(fù)雜動(dòng)態(tài)環(huán)境下的非線性實(shí)時(shí)控制[4]。CMAC前饋控制的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示。
圖1 CMAC網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
圖1所示CMAC和PID并行控制系統(tǒng)中,CMAC控制器起前饋?zhàn)饔?。CMAC前饋控制的基本思想在于:將輸入值在概念存儲(chǔ)器中進(jìn)行映射,從實(shí)際存儲(chǔ)單元中找到對(duì)應(yīng)于該映射狀態(tài)的地址,將這些存儲(chǔ)單元中的網(wǎng)絡(luò)權(quán)值求和得到CMAC的輸出;將此實(shí)際輸出值與總輸出值進(jìn)行比較,并根據(jù)梯度下降法修改這些被激活的存儲(chǔ)單元的權(quán)值。
3.2 遺傳算法取代常規(guī)PID控制器
在機(jī)器人雙電機(jī)協(xié)調(diào)控制系統(tǒng)中,改進(jìn)傳統(tǒng)的CMAC前饋控制器,將傳統(tǒng)的PID控制器替換為遺傳算法控制器,采用遺傳算法和CMAC復(fù)合控制。改進(jìn)后的雙電機(jī)智能協(xié)調(diào)控制系統(tǒng)框圖如圖2所示。
圖2 雙申機(jī)智能協(xié)調(diào)控制系統(tǒng)框圖
其中,CMAC控制器的一維輸出Cout(k)為:
式中,δi為二進(jìn)制算子,ωi為CMAC網(wǎng)絡(luò)權(quán)值,f為CMAC網(wǎng)絡(luò)的泛化參數(shù)。
將圖2中主電機(jī)的轉(zhuǎn)速信號(hào)n1(k)作為CMAC的輸入值Uj。將U在區(qū)間[Umin,Umax]上分成(L+2f)個(gè)量化間隔:
其中,?u為泛化常量,比量化間隔稍大,通常取為:
在泛化區(qū)間內(nèi),CMAC的網(wǎng)絡(luò)權(quán)值才有效,故二進(jìn)制算子δi為:
基于遺傳算法的CMAC復(fù)合控制器的總輸出為GA控制器和CMAC控制器的輸出之和,即:
其中,GAout(k)為遺傳控制器的輸出。
每一控制周期結(jié)束時(shí),CMAC的輸出Cout(k)與總控制器輸出u(k)相比較,修正權(quán)值,進(jìn)入學(xué)習(xí)過程。CMAC網(wǎng)絡(luò)權(quán)值的調(diào)整指標(biāo)為:
將式(14)和式(20)代入式(21)得CMAC網(wǎng)絡(luò)權(quán)值的修正量:
其中,η∈(0,1)為網(wǎng)絡(luò)學(xué)習(xí)速率。
為了避免訓(xùn)練過程發(fā)生振蕩,加快收斂速度,考慮k時(shí)刻以前的梯度方向,引入動(dòng)量項(xiàng),權(quán)值修正公式為:
式中,α∈(0,1)為動(dòng)量項(xiàng)慣性系數(shù)。當(dāng)系統(tǒng)開始運(yùn)行時(shí),置ω=0,此時(shí)Cout(k)=0,u(k)= Cout(k),系統(tǒng)由遺傳算法控制器進(jìn)行全局搜索,尋找最優(yōu)PD參數(shù)。隨著CMAC的學(xué)習(xí),遺傳算法PD控制器產(chǎn)生的輸出控制量GAout(k)逐漸為零,CMAC的網(wǎng)絡(luò)權(quán)值趨向穩(wěn)定,CMAC產(chǎn)生的輸出控制量Cout(k)逐漸逼近控制器總輸出u(k)。u(k)即為輔電機(jī)的脈寬調(diào)制電壓,它通過驅(qū)動(dòng)電路實(shí)時(shí)改變輔電機(jī)的轉(zhuǎn)速,使其精確地與主電機(jī)同步。
4.1 仿真實(shí)驗(yàn)
為了比較基于遺傳算法的小腦模型控制器的控制效果,在MATLAB/SIMULINK軟件環(huán)境中進(jìn)行了仿真研究,并與遺傳算法PID控制和小腦模型PID控制分別在同樣的參數(shù)設(shè)置和運(yùn)行環(huán)境中進(jìn)行了速度協(xié)調(diào)控制性能的比較。GA+CMAC、GA、CMAC+PID三種算法在雙電機(jī)協(xié)調(diào)控制系統(tǒng)中的仿真模型如圖3所示。
圖3 三種算法同環(huán)境運(yùn)行的仿真模型
利用S函數(shù)實(shí)現(xiàn)算法的離散控制器的設(shè)計(jì)。誤差的初始化是通過時(shí)鐘功能實(shí)現(xiàn)的,從而在S函數(shù)中實(shí)現(xiàn)了誤差的積分和微分。仿真時(shí)間為1 s,采樣時(shí)間為0.001 s,階躍信號(hào)rin(k)=1750 r/min為主電機(jī)的轉(zhuǎn)速信號(hào),yout(k)為輔電機(jī)的轉(zhuǎn)速跟蹤信號(hào)。
在遺傳算法程序中,取θ1=0.95,θ2=0.05;使用的個(gè)體數(shù)為pop=120,進(jìn)化代數(shù)為10代,交叉概率為Pc=0.9,采用實(shí)數(shù)編碼方式。為了避免參數(shù)選取范圍過大,先按經(jīng)驗(yàn)選取一組Kp、Kd參數(shù),然后在這組參數(shù)的周圍利用遺傳算法進(jìn)行設(shè)計(jì),從而減少初始尋優(yōu)的盲目性,節(jié)省計(jì)算量。取參數(shù)Kp的取值范圍為[20,25],Kd的取值范圍為[0.001,0.02]。小腦模型神經(jīng)網(wǎng)絡(luò)程序中參數(shù)為:L=100,f=5,α=0.04,η=0.1。CMAC和PID并行控制器中的PID參數(shù)分別為:Kp=23, Ki=0,Kd=5,即采用PD控制。
圖4 三種算法中雙申機(jī)的協(xié)調(diào)控制轉(zhuǎn)速波形
4.2 三種算法控制效果比較
仿真實(shí)驗(yàn)中GA和GA+CMAC兩種控制方案中的參數(shù)均已調(diào)節(jié)到最優(yōu)。輔電機(jī)轉(zhuǎn)速跟蹤主電機(jī)的響應(yīng)曲線如圖4所示。由圖4可知,采用傳統(tǒng)PID和小腦模型神經(jīng)網(wǎng)絡(luò)復(fù)合控制時(shí),在沒有找到最優(yōu)PID參數(shù)的情況下,輔電機(jī)產(chǎn)生較大轉(zhuǎn)矩脈動(dòng),且調(diào)節(jié)時(shí)間很長,無法與主電機(jī)實(shí)時(shí)協(xié)調(diào)。單獨(dú)采用遺傳算法控制器時(shí),輔電機(jī)轉(zhuǎn)速雖能在較短的時(shí)間內(nèi)與主電機(jī)協(xié)調(diào)同步,但與遺傳算法和小腦模型復(fù)合控制器相比,輔電機(jī)會(huì)產(chǎn)生轉(zhuǎn)矩脈動(dòng),即圖中GA控制器的波形上下抖動(dòng),很難收斂到極值點(diǎn)。這在實(shí)際應(yīng)用中是無法實(shí)現(xiàn)高精度協(xié)調(diào)控制的。只有采用遺傳算法和小腦模型復(fù)合控制時(shí),輔電機(jī)不僅能快速高精度地跟蹤主電機(jī)指令,而且轉(zhuǎn)矩非常平滑,沒有脈動(dòng),在實(shí)際應(yīng)用中具有重要的意義。
遺傳算法單獨(dú)控制時(shí),增益Kp的值在很大程度上決定著控制效果,而引入CMAC復(fù)合控制時(shí),電機(jī)轉(zhuǎn)速不依賴于Kp的值,Kp的值只需在一個(gè)合理的范圍內(nèi)即可,系統(tǒng)的魯棒性得到改善,且CMAC的局部泛化能力很好的解決了轉(zhuǎn)矩脈動(dòng)問題,提高了控制精度。
在雙電機(jī)協(xié)調(diào)控制中,結(jié)合遺傳算法全局搜索性能好和小腦模型神經(jīng)網(wǎng)絡(luò)局部泛化能力強(qiáng)的優(yōu)點(diǎn),模擬種群個(gè)體之間及種群中最優(yōu)個(gè)體自身的學(xué)習(xí),實(shí)現(xiàn)PID最優(yōu)參數(shù)的全局搜索,同時(shí)又加快了局部收斂速度,減少了電機(jī)的轉(zhuǎn)矩脈動(dòng),提高了協(xié)調(diào)控制的精度,且不需要繁瑣的調(diào)試PID參數(shù)。
參考文獻(xiàn):
[1] Shiu Yin Yuen,Chi Kin Chow.A genetic algorithm that adaptively mutates and never revisits[J].IEEE transactions on evolutionary computation,2009,13(2):454-472.
[2] W.Thomas Miller,Felson H.Glanz,L.Gordon Kraft.CMAC:An associative neural network alternative to backpropagation[J].Proceedings of the IEEE,1990,78,(10):1561-1567.
[3] 劉金琨.先進(jìn)PID控制MATLAB仿真[M].北京:電子工業(yè)出版社,2004:193-238.
[4] 韓力群.人工神經(jīng)網(wǎng)絡(luò)理論、設(shè)計(jì)及應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2007:154-163.
Coordinating Control Based on Hybrid Genetic Algorithm and CMAC For Double Motors
Cao Xunxun,Li Lingjie
(Wuhan Institute of Marine Electric Propulsion,Wuhan 430064,China )
Abstract:A new kind of control method combined hybrid cerebellar model articulation controller (CMAC)with online adaptive genetic algorithm (GA) control method is proposed.It is used to control two brushless DC motors applied in a robot.Experimental results in MATLAB/SIMULINK software show that the torque ripple of the coordinate control is eliminated by using the hybrid CMAC and genetic algorithm.
Keywords:CMAC;genetic algorithm;coordinated control
作者簡介:曹訓(xùn)訓(xùn)(1983-),男,工程師。研究方向:神經(jīng)網(wǎng)絡(luò)控制、預(yù)測(cè)控制。
收稿日期:2015-09-09
中圖分類號(hào):TM331
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1003-4862(2015)11-0049-04