高超,白國振,周同,馮春華
(上海理工大學(xué)機(jī)械工程學(xué)院,上海200093)
蝸輪蝸桿機(jī)構(gòu)作為一種機(jī)械裝置,廣泛用于汽車、船舶、建筑用重型機(jī)械中。蝸輪蝸桿傳動裝置結(jié)構(gòu)緊湊、減速比較大、工作狀態(tài)較平穩(wěn)、噪聲污染較小且具有一定的自鎖性[1],因此承載能力成為其主要性能要求之一,同時(shí)在一些特殊工況下,例如: 高速、重載等情況下,系統(tǒng)的質(zhì)量、體積、振動等均為參考指標(biāo)。在蝸輪蝸桿減速器設(shè)計(jì)完成后,有必要通過測試來驗(yàn)證減速器整體是否符合實(shí)際使用要求。
為了模擬實(shí)際工況,需要使用外部設(shè)備來模擬負(fù)載,常見的加載系統(tǒng)有: 傳統(tǒng)機(jī)械式加載系統(tǒng)、電液式加載系統(tǒng)、電動式加載系統(tǒng)。本文選用電動式加載系統(tǒng),該系統(tǒng)屬于被動式加載系統(tǒng),具有結(jié)構(gòu)簡單、質(zhì)量輕、體積小、控制方便等突出特點(diǎn),但由于自身轉(zhuǎn)矩較小,大部分電動式加載系統(tǒng)采用減速器來增大輸出轉(zhuǎn)矩,從而引入了摩擦,間隙等非線性環(huán)節(jié),這些都會對系統(tǒng)的控制精度帶來影響。如何通過合理的控制策略來提高控制精度成為目前電動式加載系統(tǒng)領(lǐng)域研究的課題之一。
針對上述問題,近些年出現(xiàn)了許多關(guān)于電動式加載系統(tǒng)的控制方案。文獻(xiàn)[2]針對H∞混合靈敏度優(yōu)化設(shè)計(jì)問題,提出了一種基于系統(tǒng)動態(tài)跟蹤性能的加權(quán)函數(shù)確定方法。文獻(xiàn)[3]設(shè)計(jì)了一種模糊自適應(yīng)PID控制器,優(yōu)化了PID參數(shù),提高了電動式加載系統(tǒng)的加載精度。
本文將模糊控制、神經(jīng)網(wǎng)絡(luò)控制、增量式PID控制相結(jié)合,設(shè)計(jì)出一種模糊神經(jīng)網(wǎng)絡(luò)PID控制器。該控制器在保持增量式PID結(jié)構(gòu)簡單的同時(shí),有效地避免了神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過程中的“黑箱”問題[4],并且還克服了存在于模糊邏輯的主觀因素。但模糊神經(jīng)網(wǎng)絡(luò)控制收斂速度慢,有陷入局部最優(yōu)的問題,且初始參數(shù)對控制器的控制效果影響較大,針對這些問題,專家學(xué)者采用了各種尋優(yōu)算法,如魚群算法,遺傳算法等用于解決初始值優(yōu)化的問題[5]。本文中采用了基于模擬退火的粒子群算法優(yōu)化算法訓(xùn)練模糊神經(jīng)網(wǎng)絡(luò)的控制參數(shù)。
基于模擬退火的粒子群算法在保留了粒子群算法優(yōu)點(diǎn)的同時(shí),繼承了模擬退火算法在搜索過程中具有概率突跳的能力,能夠有效避免搜索過程陷入局部最優(yōu)解,使得整個(gè)控制器初始參數(shù)近似最優(yōu)解。
本文所用電動式加載系統(tǒng)控制研究是在蝸輪蝸桿疲勞試驗(yàn)臺上進(jìn)行的。疲勞試驗(yàn)臺的硬件組成包括加載電機(jī)、負(fù)載電機(jī)、扭矩傳感器、聯(lián)軸器、蝸輪蝸桿減速器、驅(qū)動器及配套組件、I/O模塊、工控機(jī)等[6]。
1)在加載電機(jī)側(cè),使用TwinCAT3軟件將扭矩加載信號經(jīng)過模擬量輸出模塊輸出至拓展模塊的模擬量輸入端子中[7],控制系統(tǒng)根據(jù)拓展模塊所接收到的模擬量信號控制加載電機(jī)輸出轉(zhuǎn)矩,扭矩傳感器將扭矩信號通過模擬量輸入模塊實(shí)時(shí)反饋給TwinCAT3軟件,將加載信號與反饋信號進(jìn)行對比,獲得誤差,并在TwinCAT3軟件中通過控制算法得到控制量,實(shí)現(xiàn)反饋信號趨近于加載信號。
2)在負(fù)載電機(jī)側(cè),使用TwinCAT3軟件將速度信號通過模擬量輸出模塊輸出至拓展模塊的模擬量輸入端子中,控制系統(tǒng)根據(jù)拓展模塊所接收到的模擬量信號控制負(fù)載電機(jī)輸出轉(zhuǎn)速,同時(shí)電機(jī)編碼器將電機(jī)位置信號通過拓展模塊中編碼器端子輸出至編碼器模塊中,并實(shí)時(shí)反饋給TwinCAT3軟件中,從而在TwinCAT3軟件中使用配軸的形式完成位置閉環(huán)。
試驗(yàn)臺整體系統(tǒng)結(jié)構(gòu)如圖1所示,根據(jù)試驗(yàn)臺系統(tǒng)結(jié)構(gòu),并將扭矩傳感器1模型帶入后,可得圖2所示的系統(tǒng)開環(huán)結(jié)構(gòu)框圖[8]。
圖1 試驗(yàn)臺整體系統(tǒng)結(jié)構(gòu)示意
圖2 系統(tǒng)開環(huán)結(jié)構(gòu)示意
由圖2可知,加載系統(tǒng)以電壓指令U與負(fù)載端角度θ1為輸入,以加載電機(jī)實(shí)際輸出加載扭矩M為輸出,系統(tǒng)的開環(huán)傳遞函數(shù)為
M(s)=G1(s)U(s)+G2(s)θ1(s)
(1)
(2)
(3)
式中:K——扭矩傳感器1剛度系數(shù);KM——加載電機(jī)扭矩常數(shù);KE——加載電機(jī)反電動勢常數(shù);L——電機(jī)勵(lì)磁電感;Rs——電機(jī)定子電阻;J——電機(jī)軸轉(zhuǎn)動慣量。
G1(s)為加載系統(tǒng)根據(jù)輸入的電壓指令所產(chǎn)生的扭矩,而G2(s)為位置端運(yùn)動的速度變化所產(chǎn)生的多余扭矩。本文所研究的內(nèi)容主要是如何實(shí)現(xiàn)加載端的扭矩跟隨實(shí)時(shí)性,不考慮位置端的運(yùn)動,即研究目標(biāo)系統(tǒng)開環(huán)傳遞函數(shù)。傳遞函數(shù)中各參數(shù)見表1所列。
表1 開環(huán)傳遞函數(shù)參數(shù)
將表1參數(shù)帶入式(2)中得到實(shí)際控制對象的傳遞函數(shù)為
(4)
(5)
本文所設(shè)計(jì)的基于模擬退火的粒子群-模糊神經(jīng)網(wǎng)絡(luò)PID控制器結(jié)構(gòu)如圖3所示。
圖3 基于模擬退火的粒子群-模糊神經(jīng)網(wǎng)絡(luò)PID控制器結(jié)構(gòu)示意
圖3中rin(t)為t時(shí)刻的輸入扭矩信號,u(t)為t時(shí)刻PID控制器輸出控制量信號,yout(t)為t時(shí)刻的電機(jī)輸出扭矩信號。模糊神經(jīng)網(wǎng)絡(luò)采用“雙輸入三輸出”結(jié)構(gòu)[9]: 輸入為e(t),ec(t),其中e(t)表示t時(shí)刻的扭矩信號誤差值,ec(t)扭矩信號誤差變化率;KP,KI,KD分別為增量式PID控制參數(shù)。
PID控制作為一種常用的控制算法,其控制器輸出為[10]
(6)
式中:KP——比例系數(shù);KI——積分系數(shù);KD——微分系數(shù)。
在實(shí)際應(yīng)用中,由于計(jì)算機(jī)控制屬于采樣控制,需要將上式離散化,得到增量式PID控制算法,其控制規(guī)律如下:
u(t)=u(t-1)+Δu(t)
(7)
Δu(t)=KP(e(t)-e(t-1))+KIe(t)+
KD(e(t)-2e(t-1)+e(t-2))
(8)
式中:KI=KP/TI;KD=KPTD。
PID控制器的控制效果由KP,KI,KD決定,傳統(tǒng)的PID控制器采用手動的方法進(jìn)行調(diào)節(jié),該方法受操作者的調(diào)節(jié)經(jīng)驗(yàn)影響,且耗時(shí)耗力。
本文所用的模糊神經(jīng)網(wǎng)絡(luò)為基于Mamdani 模型的模糊神經(jīng)網(wǎng)絡(luò)[11],結(jié)構(gòu)如圖4所示,各層節(jié)點(diǎn)功能分述如下。
圖4 模糊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意
2.2.1輸入層
第1層為輸入層,其中節(jié)點(diǎn)為輸入節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)與輸入變量相連接,該層中節(jié)點(diǎn)功能僅為將輸入信號傳遞至下一層。在本文中,輸入變量為X1=e(t)(扭矩信號誤差值),X2=ec(t)(扭矩信號誤差變化率)。
2.2.2隸屬度函數(shù)層
第2層為隸屬度函數(shù)層,其中節(jié)點(diǎn)功能為對第1層輸入變量進(jìn)行模糊處理,該層的單個(gè)節(jié)點(diǎn)表示輸入變量的1個(gè)模糊子集及對應(yīng)隸屬度函數(shù),本文中所選用的隸屬度函數(shù)為高斯函數(shù):
(9)
式中:mji,σji——輸入變量Xi的第j個(gè)隸屬度函數(shù)(高斯函數(shù))的均值與標(biāo)準(zhǔn)差;N——每個(gè)輸入的模糊子集個(gè)數(shù)。
2.2.3模糊推理層
第3層為模糊推理層,其中每個(gè)節(jié)點(diǎn)代表了1條模糊規(guī)則的前件,該層中每個(gè)節(jié)點(diǎn)本質(zhì)上為1個(gè)乘法器,將輸入信號相乘,并且輸出乘積結(jié)果。
模糊規(guī)則如式(10)所示:
(10)
k=1, 2, …,N2
j1=1, 2, …,N
j2=1, 2, …,N
式中:μk——第k條模糊規(guī)則輸出。
2.2.4歸一化層
第4層進(jìn)行歸一化運(yùn)算,調(diào)整網(wǎng)絡(luò)整體結(jié)構(gòu)。
(11)
(12)
2.2.5輸出層
第5層為輸出層,使用重心法解模糊,該層輸出即為增量式PID控制器中的KP,KI,KD。
(13)
(14)
使用BP算法可將性能指標(biāo)函數(shù)降至最小。
各參數(shù)學(xué)習(xí)公式如式(15)~式(17)所示:
(15)
(16)
(17)
式中:η——學(xué)習(xí)速率;α——動量因子。
粒子群優(yōu)化算法—PSO(particle swarm optimization)算法是一種進(jìn)化計(jì)算技術(shù),由Eberhart博士與Kennedy博士于1995年發(fā)明[13],該算法源于對鳥群捕食的行為進(jìn)行研究,PSO算法與遺傳算法相類似,是一種基于迭代的優(yōu)化算法。
該算法在N維可行解空間中初始化m個(gè)粒子X=(X1,X2,X3, …,Xm),每個(gè)粒子都代表極值優(yōu)化問題的一個(gè)潛在最優(yōu)解,粒子根據(jù)當(dāng)前的最優(yōu)粒子在可行解空間中搜索,通過迭代找到最優(yōu)解,假設(shè)n維空間中第i個(gè)粒子位置為Xi=(xi1,xi2,xi3, …,xin),飛行速度Vi=(vi1,vi2,vi3, …,vin),每個(gè)粒子將搜索過程中最優(yōu)位置記為pbest,Pi=(pi1,pi2,pi3, …,pin),將整個(gè)粒子群中最優(yōu)位置記為gbest,Pg即指gbest是pbest中的最優(yōu)值,每次迭代過程中每個(gè)粒子通過對應(yīng)的pbest與gbest的值,再根據(jù)式(18)~式(19)來更新自己的位置與速度。
vij(t+1)=vij(t)+c1r1[pij-xij(t)]+
c2r2[pgj-xij(t)]
(18)
xij(t+1)=xij(t)+vij(t+1)
i=1, 2, …,m
j=1, 2, …,n
(19)
式中:c1,c2——正的學(xué)習(xí)因子或加速度因子;r1,r2——均勻分布于[0, 1]內(nèi)的隨機(jī)數(shù)。
由于粒子群算法存在陷入局部最優(yōu)的問題,本文選用模擬退火粒子群算法(SAPSO)進(jìn)行改進(jìn)。
SAPSO算法在搜索過程中會以概率接受較差的解,這種概率受到溫度參數(shù)的控制,隨著溫度的下降而減小,能夠有效地跳出在搜索過程中陷入的局部最小值。
(20)
退火溫度按照式(21)更新:
Tt+1=λTt
(21)
式中:f(Pg)——當(dāng)前整體最優(yōu)值Pg的適應(yīng)度值;λ——退火常數(shù)。
根據(jù)式(22)計(jì)算出當(dāng)前溫度Tt下各個(gè)Pi的適配值:
(22)
vij(t+1)=χ{vij(t)+c1r1[Pij-xij(t)]+c2r2[P′gj-xij(t)]}
(23)
xij(t+1)=xij(t)+vij(t+1)
(24)
更新各粒子的速度與位置后,根據(jù)式(21)更新退火溫度。
兩種粒子群算法的適應(yīng)度函數(shù)如式(25)所示:
(25)
式中:e(i)——系統(tǒng)誤差;u2(i)——控制量的平方;tr——上升時(shí)間;ω1,ω2,ω3,ω4——權(quán)重系數(shù),其中ω4為防止系統(tǒng)超調(diào)量過大所采取的懲罰因子。
本文中:
(26)
使用SAPSO算法表示本文所設(shè)計(jì)的結(jié)合模擬退火、基本粒子群算法、模糊神經(jīng)網(wǎng)絡(luò)的控制器。其基本流程如圖5所示。
圖5 SAPSO算法基本流程示意
通過Matlab對蝸輪蝸桿試驗(yàn)機(jī)的加載部分進(jìn)行仿真,利用SAPSO算法和PSO算法[14]對模糊神經(jīng)網(wǎng)絡(luò)初始參數(shù)進(jìn)行離線優(yōu)化,比較兩種算法在優(yōu)化過程中適應(yīng)度曲線的下降情況,再將優(yōu)化所得初始參數(shù)帶入控制器中,與基本PID控制器在階躍信號輸入的條件下進(jìn)行比較。使用階躍信號進(jìn)行實(shí)驗(yàn)加載,通過實(shí)驗(yàn)驗(yàn)證算法在實(shí)際上中的可行性。
仿真中所用模糊神經(jīng)網(wǎng)絡(luò)為5層“雙輸入三輸出”,每層的神經(jīng)元個(gè)數(shù)為2,18,81,81,3,相關(guān)參數(shù)分別為: 神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)速率η=0.2,動量因子α=0.02,網(wǎng)絡(luò)權(quán)重ωij∈[-1, 1],隸屬度函數(shù)寬度bij∈[-40, 40],隸屬度函數(shù)中間值cij∈[-96, 96]。神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)迭代次數(shù)為500。SAPSO中群體個(gè)數(shù)m=300,空間維數(shù)n=243,加速度因子c1,c2均為2.05,SAPSO算法的迭代次數(shù)為300,退火常數(shù)λ=0.9,粒子的移動速度vmax=0.5,vmin=-0.5。使用Matlab進(jìn)行仿真,PSO算法與SAPSO算法優(yōu)化過程中的適應(yīng)度曲線如圖6所示。
圖6 尋優(yōu)過程示意
由圖6可以看出,由于SAPSO算法會在一定概率上接收較差的值,導(dǎo)致在適應(yīng)度值下降速度方面,SAPSO算法稍慢于PSO算法,但同時(shí)由于SAPSO算法具有較強(qiáng)的跳出局部最優(yōu)解的能力,使得SAPSO算法所求最優(yōu)解的精度高于PSO算法,改善了PSO算法本身的不足,更好地跳出局部最優(yōu)解。將SAPSO與PSO兩種算法帶入模糊神經(jīng)網(wǎng)絡(luò)PID控制器中,比較階躍輸入信號在各個(gè)算法下的響應(yīng),仿真結(jié)果如圖7所示,階躍響應(yīng)仿真性能指標(biāo)見表2所列。
由圖7與表2可以看出基本PID算法下的響應(yīng)較差,上升時(shí)間最長,且存在超調(diào)量。相比于PSO-FNN,SAPSO-FNN算法響應(yīng)速度更快,且超調(diào)量更小。
圖7 三種階躍響應(yīng)仿真示意
算 法M-max/(N·m)超調(diào)量,%上升時(shí)間/sPID1.01831.830.027PSOFNN1.00030.030.020SAPSOFNN1.00010.010.014
使用TwinCAT3軟件中的ST語言進(jìn)行編程,實(shí)現(xiàn)對加載電機(jī)的扭矩加載控制,輸入幅值為0.5 N·m的階躍信號,比較基本PID,PSO-FNN以及SAPSO-FNN的控制結(jié)果。其中PSO-FNN和SAPSO-FNN中的模糊神經(jīng)網(wǎng)絡(luò)參數(shù)初始值采用上一部分仿真的優(yōu)化結(jié)果如圖8所示,實(shí)驗(yàn)中各個(gè)算階躍響應(yīng)參數(shù)見表3所列。
圖8 三種階躍響應(yīng)優(yōu)化結(jié)果示意
表3 階躍響應(yīng)實(shí)驗(yàn)性能指標(biāo)
由圖8與表3可知,在控制加載電機(jī)的扭矩加載時(shí),使用SAPSO-FNN的控制效果最佳,相比于基本PID,PSO-FNN,SAPSO-FNN算法具有調(diào)整時(shí)間短、上升時(shí)間短且超調(diào)量較小的優(yōu)點(diǎn),驗(yàn)證了本文所設(shè)計(jì)的SAPSO-FNN控制算法的可行性。
1)電動式加載系統(tǒng)采用了減速器來增大輸出轉(zhuǎn)矩,引入了摩擦、間隙等非線性環(huán)節(jié)。基本PID控制器對于這些問題的控制效果較差,將模糊神經(jīng)網(wǎng)絡(luò)與PID控制器相結(jié)合,產(chǎn)生的模糊神經(jīng)網(wǎng)絡(luò)PID控制器對于該類問題的解決性較好。
2)模糊神經(jīng)網(wǎng)絡(luò)PID控制器受初值影響較大,考慮使用基本粒子群算法進(jìn)行參數(shù)優(yōu)化易陷入局部最優(yōu),使用將模擬退火與粒子群算法相結(jié)合的基于模擬退火的粒子群算法進(jìn)行參數(shù)優(yōu)化。
3)使用Matlab軟件仿真,通過適應(yīng)度函數(shù)的下降大小證明: 基于模擬退火的粒子群算法相比于基本粒子群算法在優(yōu)化問題上具有跳出局部最優(yōu)解的能力。
4)通過搭建蝸輪蝸桿試驗(yàn)臺證明控制算法在實(shí)際中的可行性與SAPSO-FNN控制算法相比于PSO-FNN的優(yōu)越性。