趙廣元 王 超
(西安郵電大學(xué)自動(dòng)化學(xué)院 西安 710121)
隨著計(jì)算機(jī)技術(shù)的飛躍發(fā)展,人工智能技術(shù)已逐漸滲透到自動(dòng)控制領(lǐng)域[1]。近年來(lái)針對(duì)不同的控制要求、不同的系統(tǒng)先驗(yàn)知識(shí),研究人員提出了許多PID 控制器參數(shù)整定方法[2],根據(jù)發(fā)展階段的劃分,可分為常規(guī)PID 參數(shù)整定方法及智能PID 參數(shù)整定方法[3]。傳統(tǒng)的控制方法不能滿(mǎn)足控制精度的要求,而且抗干擾的能力較差[4]。因此,如何建立有效的直流電機(jī)控制系統(tǒng)的仿真模型成為研究人員迫切需要解決的關(guān)鍵問(wèn)題[5]。
1992 年,瑞典學(xué)者Karl Astrom 等推出的智能型PID 參數(shù)整定控制器簡(jiǎn)化了傳統(tǒng)PID 控制器的參數(shù)整定[6],將群智能優(yōu)化算法應(yīng)用于PID 參數(shù)整定優(yōu)化已得到廣泛的認(rèn)可和應(yīng)用[7];程準(zhǔn)等學(xué)者利用粒子群算法改進(jìn)拖拉機(jī)驅(qū)動(dòng)防滑的PID 控制器算法,提出了改進(jìn)PSO 算法,加快了算法的收斂速度[8];白國(guó)振等利用改進(jìn)的模糊神經(jīng)網(wǎng)絡(luò),對(duì)控制器PID 參數(shù)進(jìn)一步的優(yōu)化,提出了混沌人工魚(yú)群—模糊神經(jīng)網(wǎng)絡(luò)算法,使得控制器具有良好的控制性、穩(wěn)定性和有效性[9];朱堅(jiān)民等人利用神經(jīng)網(wǎng)絡(luò)動(dòng)態(tài)改進(jìn)球桿系統(tǒng)PID 控制器的算法,使得系統(tǒng)可以快速的響應(yīng)并保持穩(wěn)定的狀態(tài)[10]。
雖然以上方法在一定程度上克服了傳統(tǒng)PID的缺陷,但將其用于工業(yè)過(guò)程控制中,振蕩幅度和周期的測(cè)量值在噪聲環(huán)境下準(zhǔn)確度會(huì)下降,顯然難以獲得滿(mǎn)意的控制效果。甚至當(dāng)參數(shù)變化范圍太大時(shí),系統(tǒng)性能會(huì)明顯變差[11]。
針對(duì)PID 控制器參數(shù)優(yōu)化問(wèn)題,本文根據(jù)具體的直流電機(jī)機(jī)械參數(shù)[12]并結(jié)合人群搜索算法(SOA)搜索最佳的PID 控制器參數(shù)。仿真結(jié)果表明,相比于傳統(tǒng)的PID 控制器參數(shù)整定優(yōu)化方法,該算法優(yōu)化的自抗擾控制器能夠更好地滿(mǎn)足控制要求,具有魯棒性好,響應(yīng)速度快,系統(tǒng)具有更好的控制性能。
PID 控制器是通過(guò)對(duì)輸入信號(hào)值和輸出信號(hào)值之間存在的偏差信號(hào),通過(guò)比例、積分、微分的方式實(shí)現(xiàn)對(duì)被控對(duì)象的控制[12]。經(jīng)典的PID 控制原理如圖1所示。
圖1 經(jīng)典PID控制原理圖
PID控制器的控制規(guī)律可表示為
式(1)中,Kp,Ki和Kd三個(gè)參數(shù)分別是對(duì)輸入信號(hào)e(t)及其比例、積分、微分量的加權(quán)值,通過(guò)調(diào)整這三個(gè)參數(shù)可獲得最佳的控制效果[13]。
對(duì)式(1)進(jìn)行拉普拉斯變化,將其轉(zhuǎn)換到頻域時(shí),可得到直流電機(jī)頻域的傳遞函數(shù)。
SOA 是最近幾年提出的一種智能隨機(jī)搜索算法,人群搜索算法對(duì)人類(lèi)的行為進(jìn)行自主分析[13],利用人類(lèi)的一系列優(yōu)秀的行為,如:個(gè)體向優(yōu)秀個(gè)體進(jìn)化、優(yōu)秀個(gè)體向優(yōu)秀群體進(jìn)化、優(yōu)秀群體向優(yōu)秀種群進(jìn)化。所有的個(gè)體都參與搜索,通過(guò)個(gè)體來(lái)確定方向和步長(zhǎng)的搜尋,實(shí)現(xiàn)所處位置的更新,以獲取所處范圍內(nèi)的最優(yōu)的解[14]。
3.2.1 適應(yīng)度函數(shù)的確定
為了防止控制能量的過(guò)大輸入,提高系統(tǒng)的穩(wěn)定性,引入控制輸入平方項(xiàng),性能指標(biāo)函數(shù)為
式(2)中,φ(t)是系統(tǒng)輸入和輸出之間的偏差;u(t)是SOA 控制器輸出值;h1、h2分別是各項(xiàng)權(quán)值,取值范圍為[0,1]。
為了避免超調(diào)量對(duì)系統(tǒng)帶來(lái)誤差,采用一定措施的懲罰控制,以增強(qiáng)系統(tǒng)的穩(wěn)定性。當(dāng)系統(tǒng)運(yùn)行過(guò)程中發(fā)生超調(diào)時(shí),選取最優(yōu)指標(biāo)為
式(3)中,h3為每次新添加項(xiàng)權(quán)值,并且h3?h1,假設(shè)h1=0.999,h2=0.001,h3=100。
3.2.2 搜索步長(zhǎng)的確定
根據(jù)SOA搜索原理,搜索步長(zhǎng)根據(jù)模糊系統(tǒng)的逼近能力,采用高斯隸屬函數(shù)[15],如
式(4)中,uA(x)是高斯隸屬度;x 是輸出變量;a、δ 是隸屬度函數(shù)的參數(shù);根據(jù)式(4),輸出變量超出[-3δ,3δ]的概率小于0.0111,因此設(shè)定最小隸屬度值是uA=0.0111可以進(jìn)行忽略。
3.2.3 搜索方向的確定
SOA的搜索方向算法是利用:個(gè)體向優(yōu)秀個(gè)體進(jìn)化、優(yōu)秀個(gè)體向優(yōu)秀群體進(jìn)化、優(yōu)秀群體向優(yōu)秀種群進(jìn)化的三個(gè)行為進(jìn)行分析和建模,最終確定搜索方向。
聯(lián)立上述三個(gè)公式,根據(jù)三個(gè)搜索方向的隨機(jī)加權(quán)幾何平均值確定搜索方向如式(8):
3.2.4 個(gè)體位置的更新
在確定搜索的方向和步長(zhǎng)后,對(duì)搜索個(gè)體的位置進(jìn)行更新以找到最優(yōu)解。
流程圖如圖2所示。
圖2 人群搜索算法SOA流程圖
直流電動(dòng)機(jī)動(dòng)態(tài)數(shù)學(xué)模型的建立是獲取傳遞函數(shù)的前提[12],根據(jù)如圖3 所示的直流電動(dòng)機(jī)的電樞原理圖,當(dāng)控制直流電動(dòng)機(jī)兩端的電壓大小為Ua時(shí),電機(jī)的轉(zhuǎn)速為ω,時(shí),在如圖3 中的Ra,La分別是電驅(qū)電路的電阻和電感;Ml是電動(dòng)機(jī)軸上的總負(fù)載的折合阻力矩,Ma是電樞電流產(chǎn)生的電磁轉(zhuǎn)矩。
列舉直流電機(jī)的電壓平衡方程和轉(zhuǎn)矩平衡方程式(3),經(jīng)過(guò)整理后,再進(jìn)行拉普拉斯變化,帶入直流電機(jī)的各項(xiàng)硬件參數(shù),可得到直流電機(jī)的傳遞函數(shù)。
圖3 他勵(lì)直流電動(dòng)機(jī)的電驅(qū)原理圖
4.1.1 列出各電網(wǎng)的平衡方程式
圖3 是直流電動(dòng)機(jī)的工作原理等效電路圖,在該電路中有兩個(gè)子系統(tǒng),一個(gè)是電網(wǎng)絡(luò)系統(tǒng),為整個(gè)電機(jī)系統(tǒng)提供電能,產(chǎn)生電磁轉(zhuǎn)矩;另一個(gè)是機(jī)械運(yùn)動(dòng)系統(tǒng),為負(fù)載提供轉(zhuǎn)動(dòng)的動(dòng)能。當(dāng)電機(jī)輸出轉(zhuǎn)速為n 時(shí),根據(jù)上述的工作原理列出如下的平衡方程式。
1)電樞網(wǎng)絡(luò)電壓平衡方程式
式(11)中,La是電樞電感;Ia是電樞電流;Ra分別是電樞電阻;Ea是電樞反轉(zhuǎn)時(shí)產(chǎn)生的電樞繞組反電動(dòng)勢(shì),它的大小與激磁磁通的大小以及轉(zhuǎn)速成正比,與電樞電量輸入量方向相反;Ua是電樞電量輸入量。
2)機(jī)械平衡方程
式(12)中,Ja是電動(dòng)機(jī)和負(fù)載的合力在電動(dòng)機(jī)軸上的轉(zhuǎn)動(dòng)慣量;Ma是電樞電流所產(chǎn)生的電磁轉(zhuǎn)矩。
3)電磁轉(zhuǎn)矩平衡方程
式(13)中,Kc是電磁力矩常數(shù),由電動(dòng)機(jī)自身的硬件參數(shù)所確定。
4)電動(dòng)勢(shì)平衡方程
式(14)中,Ke是電動(dòng)勢(shì)常數(shù),由電動(dòng)機(jī)自身的硬件參數(shù)所確定;ω 是電動(dòng)機(jī)的角速度。
聯(lián)立式(11)~(14),建立方程組。在實(shí)際應(yīng)用中,因空載下的阻力矩和電樞的電感都很小,略去Ml,La,消除中間變量Ia,Ea,Ma得到直流電機(jī)簡(jiǎn)化的一階微分方程式:
4.1.2 拉普拉斯變換
在直流電機(jī)系統(tǒng)中,拉普拉斯變換將系統(tǒng)從時(shí)域轉(zhuǎn)換到頻域,這樣做的好處是可以解決一些在時(shí)域計(jì)算復(fù)雜的問(wèn)題[16]。
性質(zhì)1[17]:拉普拉斯變換的常用性質(zhì)
根據(jù)上述的定理,假設(shè)初始條件為零,一階導(dǎo)數(shù)為零,可得到直流電機(jī)的傳遞函數(shù)為
根據(jù)上述的內(nèi)容可以得知直流電機(jī)的傳遞函數(shù)方程式如式(19)所示,將某型號(hào)直流電機(jī)相關(guān)的參數(shù)帶入式(19)中可得該直流電機(jī)傳遞函數(shù)為
傳統(tǒng)上獲取PID 控制器參數(shù)方法較為繁瑣,專(zhuān)業(yè)性強(qiáng),當(dāng)系統(tǒng)更換直流電機(jī)時(shí),需對(duì)PID 控制器參數(shù)重新進(jìn)行整定優(yōu)化。利用直流電機(jī)的機(jī)械參數(shù)快速的獲取傳遞函數(shù),方法簡(jiǎn)單、傳遞函數(shù)獲取簡(jiǎn)單,獲取傳遞函數(shù)后通過(guò)SOA快速的獲取范圍內(nèi)最優(yōu)參數(shù)。
PID參數(shù)整定的SOA算法流程如下:
1)初始化個(gè)體的位置,為每個(gè)搜索者賦予初值;
2)根據(jù)式(2)和式(3)計(jì)算每一個(gè)個(gè)體通過(guò)搜索獲取的適應(yīng)度值;
3)對(duì)每個(gè)個(gè)體位置與其個(gè)體歷史搜索獲取的最佳位置相比較,記錄個(gè)體最佳的位置;
4)對(duì)每個(gè)搜索者個(gè)體位置與其種群歷史最佳位置相比較,記錄種群最佳的位置;
5)根據(jù)式(9)和式(10),進(jìn)行位置更新;
6)如果未達(dá)到結(jié)束條件,返回步驟2)循環(huán)執(zhí)行,否則結(jié)束循環(huán)。
在過(guò)程控制系統(tǒng)中,直流電機(jī)系統(tǒng)通常是典型的一階或二階系統(tǒng)。選取上文獲取的傳遞函數(shù)如式(20)所示,分別采用傳統(tǒng)方法和SOA對(duì)該系統(tǒng)進(jìn)行PID 控制器參數(shù)進(jìn)行整定優(yōu)化,對(duì)上述的直流電機(jī)控制系統(tǒng)的傳遞函數(shù)進(jìn)行軟件仿真。假設(shè)種群大小為50,最大的迭代次數(shù)為100,Kp、Ki、Kd 三個(gè)參數(shù)的搜索范圍分別為0~6,0~100,0~100,輸入信號(hào)為單位階躍信號(hào),采樣間隔時(shí)間0.001s,仿真時(shí)間10s。
利用SOA對(duì)直流電機(jī)控制系統(tǒng)進(jìn)行仿真,得到SOA 優(yōu)化適應(yīng)度函數(shù)控制曲線和系統(tǒng)模擬的曲線分別如圖4,圖5所示。
從圖4 優(yōu)化適應(yīng)度函數(shù)變化曲線進(jìn)行分析,SOA在參數(shù)尋優(yōu)時(shí)具有很好的收斂能力,為快速地搜索出最優(yōu)參數(shù)提供了參考依據(jù)。
從圖5可以看出,Kp、Ki、Kd三個(gè)參數(shù)逐漸的收斂到一個(gè)常數(shù)。通過(guò)人群搜索算法會(huì)的系統(tǒng)階躍響應(yīng)輸出曲線如圖6所示。
圖6 系統(tǒng)階躍響應(yīng)輸出曲線
從圖6 的系統(tǒng)階躍響應(yīng)輸出曲線來(lái)看,利用直流電機(jī)的各項(xiàng)機(jī)械參數(shù)獲取傳遞函數(shù),通過(guò)人群搜索算法(SOA)可以快速地搜索出Kp、Ki、Kd 參數(shù),響應(yīng)時(shí)間短,使系統(tǒng)快速地收斂到最佳狀態(tài)。
PID 控制器參數(shù)整定優(yōu)化的結(jié)果對(duì)于直流電機(jī)的控制效果具有決定性的影響。在實(shí)際應(yīng)用中,因電機(jī)的型號(hào)或者生產(chǎn)廠家的不同,PID 控制器之間也會(huì)存在差異,給使用者帶來(lái)不便。本文利用直流電機(jī)的各項(xiàng)硬件參數(shù),結(jié)合電壓平衡方程和轉(zhuǎn)矩平衡方程式能夠準(zhǔn)確地獲取傳遞函數(shù),通過(guò)SOA對(duì)參數(shù)進(jìn)行智能搜索以獲取種群范圍內(nèi)的最優(yōu)參數(shù),從而改善了以上問(wèn)題。軟件仿真結(jié)果表明,該方法可以快速獲取PID 控制器參數(shù),為簡(jiǎn)單、快速獲取直流電機(jī)的PID控制器參數(shù)提供參考依據(jù)。