祝順風(fēng)
(吉安職業(yè)技術(shù)學(xué)院,江西 吉安 343000)
PID控制器具有使用簡單、性能穩(wěn)定、操作方便、控制效果好等特點,與其它一些新型智能控制技術(shù)相比,已經(jīng)非常成熟,被廣泛應(yīng)用到自動控制領(lǐng)域中[1-2]。但PID控制器參數(shù)的整定比較難獲得,工程技術(shù)人員往往需要反復(fù)試驗確定,需要大量的時間,并且獲得參數(shù)的準(zhǔn)確性依賴于工程技術(shù)人員的經(jīng)驗,影響了PID控制的性能。由于對焊接自動化設(shè)備焊接工作臺的控制直接影響到焊接的質(zhì)量,為此有必要對焊接工作臺的PID控制器的參數(shù)進行整定。關(guān)于PID參數(shù)整定的研究也比較多,比如PSO算法整定PID、GA算法整定PID,但GA算法操作復(fù)雜[3],不容易掌握,PSO算法容易早熟,易陷入局部最優(yōu)解,且需設(shè)定的參數(shù)較多。差分進化(DE)算法是一種全局搜索能力強、性能高效、使用簡單的新型智能優(yōu)化算法[4],為此本文提出了采用DE算法整定PID參數(shù)。
隨著計算機技術(shù)的快速發(fā)展,PID控制技術(shù)也越來越受到重視,PID控制器結(jié)構(gòu)簡單、操作方便、魯棒性好,是目前應(yīng)用最為普遍的控制方法,廣泛應(yīng)用在化工、航天航空、機械、汽車、電力、農(nóng)業(yè)、冶金、煤礦等行業(yè)中。
如圖1所示,PID控制是一種線性控制器,它是根據(jù)給定的值r(t)與實際的輸出值y(t)構(gòu)成的偏差e(t)=r(t)-y(t),然后將偏差e(t)的比例環(huán)節(jié)、積分環(huán)節(jié)、微分環(huán)節(jié)進行線性組合得到控制量u(t),實現(xiàn)對被控對象的控制,其控制規(guī)律如下:
圖1 PID控制原理圖
式中:kp為比例系數(shù);ki為微分系數(shù);kd為積分系數(shù)。
對于不同的被控制對象,需要調(diào)整PID控制器參數(shù)kp、ki、kd,使其控制性能達到最優(yōu)。
但對PID參數(shù)的整定往往需要通過經(jīng)驗法,經(jīng)過多次試驗得到,因此具有一定的局限性,很難達到理想的控制效果。
焊接工作臺伺服系統(tǒng)的控制原理是:首先通過光電編碼器檢測直流電動機的速度信號和位置信號,并將其反饋到DSP控制器中,再經(jīng)控制器運算處理后發(fā)出控制信號,實現(xiàn)對直流電動機的閉環(huán)控制,直流電動機通過聯(lián)軸器帶動絲桿實現(xiàn)焊接工作臺在X、Y、Z三個方向的運動,從而達到對焊接工作臺的控制[5]。
DE算法是一種結(jié)構(gòu)簡單、性能高效、參數(shù)設(shè)定少的仿生尋優(yōu)算法,具有全局搜索能力強、操作簡單、搜索速度快等特點。其基本原理是隨機產(chǎn)生一個種群,種群內(nèi)有一定規(guī)模的個體,每個個體是一個向量,代表優(yōu)化目標(biāo)函數(shù)的一組解,然后通過變異、交叉操作不斷更新個體,增加種群的多樣性,再通過選擇操作,淘汰掉適應(yīng)度值不好的個體,保留優(yōu)良的個體,經(jīng)過不斷的迭代和計算,不斷逼近最優(yōu)解,找到適應(yīng)度值最優(yōu)的個體。DE算法的運行過程主要包括初始化種群、變異操作、交叉操作和選擇操作4部分[6]。其中對算法影響最大的是變異操作中的變異算子F和交叉操作中的交叉算子CR。
DE算法運算過程如圖2所示,主要包括以下7個步驟:
圖2 DE 算法運行過程圖
步驟1:初始化算法參數(shù),包括種群規(guī)模NP、變異算子F、交叉算子CR、最大迭代次數(shù)K。
步驟2:初始化種群。
步驟3:對種群中的每個個體計算適應(yīng)度值。
步驟4:判斷是否達到終止條件,如果達到,輸出最優(yōu)解,否則繼續(xù)下一步。
步驟5:執(zhí)行變異操作和交叉操作,得到新的臨時種群。
步驟6:執(zhí)行選擇操作,計算原種群個體和臨時種群個體的適應(yīng)度值,保留適應(yīng)度值優(yōu)的個體,得到新種群。
步驟7:重新執(zhí)行步驟4~步驟6,直到最大迭代次數(shù)為止。
由式(1)可知,控制器的輸出量u(t)是關(guān)于kp、ki、kd的函數(shù),因此利用DE算法對參數(shù)kp、ki、kd進行尋優(yōu),找到最好的一組解使得PID控制器的控制性能最好。圖3為DE算法優(yōu)化PID控制器參數(shù)的結(jié)構(gòu)圖。
圖3 DE算法優(yōu)化PID參數(shù)結(jié)構(gòu)圖
2.3.1 帶懲罰機制的目標(biāo)函數(shù)
在DE算法對PID參數(shù)進行尋優(yōu)時,需要構(gòu)建一個優(yōu)化目標(biāo)函數(shù),它要能夠很好地反映PID控制效果。本文以誤差絕對值乘以時間積分作為優(yōu)化目標(biāo)函數(shù)。
2.3.2 變異算子的選取
變異算子F的選取對算法的尋優(yōu)性能有重要影響,增大F值,會增加種群的多樣性,會使得算法搜索的范圍變大,但會導(dǎo)致算法的收斂速度變慢。減小F值,雖然收斂速度快,但會陷入局部搜索,會導(dǎo)致搜索到局部最優(yōu)解。在算法的尋優(yōu)過程中,剛開始的時候,F(xiàn)應(yīng)取較大值,增加算法的全局搜索能力,到了后期,F(xiàn)應(yīng)取較小的值,能夠增加在局部進行搜索的能力,提高算法的搜索精度和搜索速度,因此變異算子F應(yīng)該是逐步變小的。F的值按式(8)進行調(diào)整[7]。
式中:K為最大迭代次數(shù);k為當(dāng)前迭代次數(shù);FMIN為變異算子的最小值;FMAX為變異算子的最大值。
按照式(8),變異算子F的值是從FMAX逐步減到FMIN,滿足了變異算子F值逐步變小的要求。
2.3.3 搜索空間的確定待優(yōu)化PID參數(shù)為3個,因此DE算法每組解的維度為3個,為了避免算法盲目地搜索,提高尋優(yōu)的精度,需要確定待優(yōu)化參數(shù)kp、ki、kd的搜索范圍。根據(jù)文獻[8]中Ziegler-Nichols法得到PID參數(shù),然后以該參數(shù)為基礎(chǔ)拓展搜索范圍。DE算法的全局搜索能力強,可以適當(dāng)擴大參數(shù)的搜索范圍,但考慮到避免控制量u(t)過大,kp的搜索范圍不宜太大。
2.3.4 DE算法與Simulink關(guān)聯(lián)
在Matlab中通過M文件編寫DE算法程序,在Simulink環(huán)境中建立PID控制仿真模型,DE算法將待優(yōu)化參數(shù)kp、ki、kd輸送到Simulink仿真模型中參與PID控制運算,得到目標(biāo)函數(shù)值,并將其返回到DE算法中。它們之間數(shù)據(jù)的傳遞是通過中間關(guān)聯(lián)子程序?qū)崿F(xiàn),如下所示:
x(1)、x(2)、x(3)是DE算法尋優(yōu)的3個參數(shù),在中間關(guān)聯(lián)子程序中通過assignin函數(shù)將該3個參數(shù)送到Simulink仿真模型中,然后通過sim函數(shù)驅(qū)動運行Simulink仿真模型,得到的目標(biāo)函數(shù)值又通過J=y_out(end,1)返回到主程序DE算法中。
圖4 Ziegler-Nichols整定的PID控制階躍響應(yīng)
圖5 DE算法優(yōu)化的PID控制階躍響應(yīng)
分別對兩種PID 控制器輸入方波信號,輸出的跟蹤結(jié)果如圖6、圖7 所示,圖中虛線代表理想信號,實線代表跟蹤信號。由圖6 和圖7可知,DE算法優(yōu)化的PID 控制跟蹤效果更優(yōu),跟蹤準(zhǔn)確性更高。
圖6 Ziegler-Nichols整定的PID控制方波跟蹤
圖7 DE算法優(yōu)化的PID控制方波跟蹤
差分進化算法是一種高效、使用簡單、全局尋優(yōu)能力強的智能優(yōu)化算法。本文對DE算法進行改進,引入自適應(yīng)變異算子及在優(yōu)化目標(biāo)函數(shù)中增加懲罰機制,然后將其對PID參數(shù)進行尋優(yōu),并應(yīng)用到焊接機器人的焊接工作臺伺服控制系統(tǒng)中。從仿真結(jié)果可知,DE算法優(yōu)化的PID控制器的跟蹤效果明顯好于Ziegler-Nichols整定的PID控制器,能夠較好地實現(xiàn)工作臺伺服系統(tǒng)的控制。