薛家祥,張俊紅
(華南理工大學(xué) 機(jī)械與汽車工程學(xué)院,廣州 510640)
傳統(tǒng)的比例積分微分PID(proportional-integralderivative)控制是最早的控制策略之一,由于使用簡(jiǎn)單,被廣泛運(yùn)用于各種控制過(guò)程中[1-3]。然而,PID控制也存在一定的不足,如Z-N(Ziegler-Nichols)法整定出的PID參數(shù)不能自適應(yīng),致使控制效果不佳。因此有必要尋找一種智能PID參數(shù)優(yōu)化控制方法。目前,已經(jīng)發(fā)展出了很多智能PID優(yōu)化方法,包括遺傳算法、模糊算法、粒子群算法等[4-5]。這些算法具有超調(diào)量小、收斂速度快和魯棒性好等優(yōu)點(diǎn),但仍然存在一些問(wèn)題,比如容易陷入局部收斂等。
在此以MIG(metal inert-gas)焊脈沖電流為研究對(duì)象,采用基于蟻群算法ACO的PID參數(shù)優(yōu)化控制,進(jìn)而達(dá)到快速控制MIG焊脈沖電流的效果。蟻群算法主要利用正反饋原理對(duì)參數(shù)進(jìn)行全局尋優(yōu)搜索,根據(jù)MatLab/Simulink仿真結(jié)果表明,該方法具有快速收斂、超調(diào)量小等優(yōu)點(diǎn)。
脈沖MIG焊電源框圖如1所示。其工作原理是:將工頻為50 Hz,380 V的三相工業(yè)用電經(jīng)過(guò)整流濾波,再對(duì)濾波后的直流電進(jìn)行IGBT全橋逆變,輸出中頻交流電,使用中頻變壓器將中頻交流電變成低電壓大電流。然后進(jìn)行二次整流濾波,最終輸出低電壓大電流的MIG焊電流。過(guò)程由主控芯片TMS320F280049控制IGBT的開通與關(guān)斷,合理控制開關(guān)管的通斷產(chǎn)生MIG焊脈沖電流。脈沖電流示意圖如圖2所示。
圖1 MIG焊電源Fig.1 MIG welding power supply
圖2 脈沖電流Fig.2 Pulse current
蟻群系統(tǒng)ACS(ant colony system)由意大利學(xué)者Dorigo,Maniezzo等人首先提出[6]。他們發(fā)現(xiàn)單個(gè)螞蟻的智力平平,但是蟻群整體會(huì)體現(xiàn)一些智能的行為,螞蟻覓食過(guò)程中,如果在螞蟻和食物源之間設(shè)置障礙,螞蟻能發(fā)現(xiàn)并最終選取最短路徑尋覓食物。研究發(fā)現(xiàn),螞蟻會(huì)在其經(jīng)過(guò)的路徑上釋放一種可以稱之為信息素(pheromone)的物質(zhì),螞蟻對(duì)信息素有感知能力,會(huì)往信息素多的地方走,每只螞蟻都會(huì)留下信息素,形成一種正反饋機(jī)制,經(jīng)過(guò)一段時(shí)間,蟻群就會(huì)找到到達(dá)食物源的最短路徑。
螞蟻覓食過(guò)程如圖3所示。在洞穴和食物之間有一障礙物,螞蟻如果想得到食物有2條路徑:A→C→B和A→D→B。由圖3a可見,剛開始螞蟻在路徑A→C→B和路徑A→D→B上是均勻分布的。但是,每只螞蟻經(jīng)過(guò)路途都會(huì)留下信息素,因?yàn)槁窂紸→C→B比路徑A→D→B的距離要短,所以經(jīng)過(guò)一段時(shí)間路徑A→C→B上的信息素會(huì)比路徑A→D→B上的多,就會(huì)吸引更多螞蟻從路徑A→C→B去尋找食物,如圖3b所示。隨著時(shí)間的推移,路徑A→C→B上的信息素會(huì)越來(lái)越多,吸引更多的螞蟻,最終確定螞蟻行走的最短路徑,如圖3c所示。
圖3 螞蟻覓食過(guò)程Fig.3 Ant foraging process
由上述螞蟻找食物模式演變而來(lái)的算法,即為蟻群算法。該算法具有信息正反饋機(jī)制等特征,是一種啟發(fā)式全局優(yōu)化算法[7]。
PID控制原理如圖4所示。
圖4 PID控制系統(tǒng)原理Fig.4 PID control system principle
PID控制是一種線性控制,通過(guò)控制給定值與實(shí)際輸出值的偏差來(lái)對(duì)被控對(duì)象進(jìn)行控制。PID控制規(guī)律為
式中:Kp為比例系數(shù);Ki為積分系數(shù);Kd為微分系數(shù)。這3個(gè)參數(shù)的選擇共同決定了PID控制系統(tǒng)的穩(wěn)定性和有效性,經(jīng)典的PID參數(shù)的選定常采用試湊法,效果難以保證,無(wú)法自適應(yīng)。
采用蟻群算法的系統(tǒng)結(jié)構(gòu)框圖如圖5所示。該系統(tǒng)主要包括2個(gè)部分,PID控制器和蟻群算法。系統(tǒng)采用蟻群算法不斷優(yōu)化更新PID參數(shù),直至達(dá)到最優(yōu)控制。
圖5 蟻群算法系統(tǒng)結(jié)構(gòu)Fig.5 Structure of ant colony algorithm system
對(duì) PID 控制的 3個(gè)參數(shù) Kp,Ki,Kd進(jìn)行優(yōu)化,都保留4位小數(shù),每個(gè)參數(shù)需由5個(gè)數(shù)字表示。定義:在xOy平面內(nèi),將參數(shù) Kp,Ki,Kd抽象為平面內(nèi)的點(diǎn);橫坐標(biāo) x1~x5,x6~x10,x11~x15分別為 Kp,Ki,Kd的數(shù)位;橫坐標(biāo)選取 1~15,縱坐標(biāo)選取 0~9,則在平面xOy上有150個(gè)節(jié)點(diǎn)。假設(shè),有m只螞蟻,螞蟻的行走路徑為 path(i)={y1,i,y2,i,…,y15,i},i=1,2,…,m。 其中,path(i)為第 i個(gè)螞蟻爬行路徑;yj,i為第 i只螞蟻爬行對(duì)應(yīng)的縱坐標(biāo)值。螞蟻爬行路徑優(yōu)化后如圖6所示。
圖6 第i只螞蟻爬行路徑示意圖Fig.6 Ant i crawling path diagram
參數(shù) Kp,Ki,Kd可由該路徑表示為
根據(jù)圖 6 以及式(2)求得,Kp,Ki,Kd分別為3.4344,6.7675,8.5336。 為了加快蟻群算法的收斂速度,可以根據(jù)所求得的Kp,Ki,Kd值縮小搜索范圍。按照式(3)進(jìn)行限定,即
式中:c為收斂因子,其取值范圍為 0<c<1。
由于螞蟻對(duì)路徑的選擇取決于路徑上的信息素,所以可以算得螞蟻i在t時(shí)刻由節(jié)點(diǎn)m轉(zhuǎn)移到節(jié)點(diǎn)n的概率為
其中
式中:τnm為時(shí)間 t時(shí)刻節(jié)點(diǎn)(n,m)上的信息素;a 為信息啟發(fā)因子;b為期望啟發(fā)因子;T為下一時(shí)刻可以選擇的節(jié)點(diǎn);ηnm(t)為時(shí)刻 t節(jié)點(diǎn)(n,m)上的能見度值;ynm*為當(dāng)前最優(yōu)路徑節(jié)點(diǎn)縱坐標(biāo)的大小。
假設(shè),螞蟻從一個(gè)節(jié)點(diǎn)爬到下一個(gè)節(jié)點(diǎn)的時(shí)間一樣,與節(jié)點(diǎn)間距離無(wú)關(guān),則所有螞蟻爬到終點(diǎn)的時(shí)間是一致的。當(dāng)時(shí)間等于15時(shí),所有螞蟻結(jié)束一次爬行,可以根據(jù)式(2)計(jì)算出 Kp,Ki,Kd值,利用所求得值對(duì)系統(tǒng)進(jìn)行仿真分析。目標(biāo)函數(shù)的建立需要根據(jù)系統(tǒng)的性能指標(biāo),選擇式(6)絕對(duì)誤差矩在時(shí)間t上的積累作為目標(biāo)函數(shù),反映系統(tǒng)快速性與實(shí)時(shí)性的指標(biāo),即
螞蟻經(jīng)過(guò)的路徑會(huì)遺留信息素,但是隨著時(shí)間的推移,信息素也會(huì)消失,所以信息素是動(dòng)態(tài)變化的。信息素的更新變化按式(7)進(jìn)行變化,即
其中
式中:ρ為揮發(fā)系數(shù),且 0<ρ<1;Δτ(xn,ynm,t)為節(jié)點(diǎn)c 在 t時(shí)刻信息素的變化總量;Δτk(xn,ynm,t)為 k 只螞蟻爬過(guò)節(jié)點(diǎn) c(xn,ynm)上信息素變化量;Fk為第 k只螞蟻的目標(biāo)函數(shù)值;Q為螞蟻完成一次探索釋放信息素總量,為一個(gè)常數(shù)。
步驟1設(shè)定初始參數(shù),螞蟻數(shù)量m只,將螞蟻放置在原點(diǎn)處;
步驟2按照式(3)計(jì)算出各節(jié)點(diǎn)轉(zhuǎn)移概率P,并且記錄螞蟻下一個(gè)可能爬行的節(jié)點(diǎn);
步驟3當(dāng)蟻群完成一次迭代后,計(jì)算出相應(yīng)Kp,Ki,Kd及性能指標(biāo),并賦值給 PID 控制器,系統(tǒng)運(yùn)行得到目標(biāo)函數(shù),記錄本次結(jié)果;
步驟4按式(6)更新信息素,增加一次迭代次數(shù),判斷是否達(dá)到最大迭代次數(shù),如果達(dá)到就退出;否則,進(jìn)入下一個(gè)循環(huán)直至達(dá)到最大迭代次數(shù)NC,輸出最優(yōu)PID參數(shù)。算法流程如圖7所示。
圖7 蟻群算法流程Fig.7 Ant colony algorithm flow chart
為了使得Kp,Ki,Kd可快速收斂,限定其范圍,下限為(3.4,0.67,0.85),上限為(6.53,11.5,15.6)。初始化選擇螞蟻數(shù)量 M=10 只,取 ρ=0.5,a=0.4,NC=20,選取被控對(duì)象為一階慣性1/(8s+1)。為了比較蟻群算法ACO-PID與經(jīng)典PID參數(shù)整定性能,在MatLab/Simulink中建立仿真模型如圖8所示,仿真結(jié)果如圖9所示,性能指標(biāo)見表1。
圖8 PID Simulink仿真模型Fig.8 PID simulink simulation model
圖9 仿真及試驗(yàn)波形Fig.9 Simulation and test waveform
表1 仿真結(jié)果性能指標(biāo)Tab.1 Simulation result performance index
圖9a,b中,信號(hào)選取單位階躍信號(hào),性能指標(biāo)選取上升時(shí)間tr,調(diào)節(jié)時(shí)間ts,超調(diào)量γ,啟動(dòng)MatLab中m文件調(diào)用PID仿真系統(tǒng),PID參數(shù)經(jīng)過(guò)蟻群算法優(yōu)化得到仿真圖形。圖9a中PID參數(shù)根據(jù)經(jīng)典PID的 Z-N 法 Kp,Ki,Kd分 別為 3.4344,6.7675,8.5336。圖9b中PID參數(shù)基于蟻群算法整定的最優(yōu)Kp,Ki,Kd分別為 6.5254,1.2121,0.8534。
PID與ACO-PID試驗(yàn)采集到的對(duì)比波形如圖9c所示。按照上述方法將PID參數(shù)設(shè)定在一定范圍得到圖 9c,PID 參數(shù)選取較大數(shù),下限為(10000,10,5),上限為(50000,100,20),進(jìn)行蟻群尋優(yōu)。經(jīng)過(guò) MatLab運(yùn)行蟻群算法程序得到PID參數(shù)最優(yōu)值Kp,Ki,Kd分別為 48622,86.6,18.5。
由表1可知,ACO-PID的超調(diào)量和調(diào)節(jié)時(shí)間明顯優(yōu)于PID控制,圖9c波形為 PID與基于蟻群優(yōu)化PID試驗(yàn)波形的對(duì)比。試驗(yàn)給定脈沖峰值電流280 A,峰值時(shí)間2 ms,脈沖基值電流 45 A,基值時(shí)間4 ms,ACO-PID控制波形比PID控制波形更穩(wěn)定。
對(duì)3 mm厚的鋁合金板材進(jìn)行焊接試驗(yàn),焊縫形貌如圖10所示。試驗(yàn)參數(shù)選取如下:?jiǎn)蚊}沖MIG焊,頻率為83 Hz,焊接電流為110 A,焊接電壓為22 V,焊接速度為43 cm/min,選取3 mm厚的AA6061-T6鋁合金,采用直徑1.2 mm的ER4043焊絲,保護(hù)氣體為體積分?jǐn)?shù)99.9%的高純Ar氣。試驗(yàn)結(jié)果表明:焊縫的余高和熔寬基本沒(méi)有變化,飛濺少,焊縫成形質(zhì)量高。結(jié)果證明,基于蟻群算法的PID參數(shù)自整定控制,在脈沖MIG電流波形控制中具有可行性。
圖10 焊縫形貌Fig.10 Weld appearance
基于蟻群算法的PID參數(shù)自整定具有良好的魯棒性和自適應(yīng)性,能夠快速搜索到合理有效的PID參數(shù),結(jié)合對(duì)焊接脈沖電流的控制,能夠高效整定出合理參數(shù),使得MIG焊脈沖電流快速收斂,提高穩(wěn)定性。該算法對(duì)PID參數(shù)整定具有快速響應(yīng)、調(diào)節(jié)時(shí)間比較短、超調(diào)量較小的特點(diǎn),與經(jīng)典PID控制相比,可以獲得更有效、準(zhǔn)確的整定PID參數(shù)。仿真和試驗(yàn)結(jié)果表明,蟻群算法在MIG焊脈沖電流PID參數(shù)優(yōu)化中具有可行性。