祝順風
(吉安職業技術學院,江西 吉安 343000)
PID控制器具有使用簡單、性能穩定、操作方便、控制效果好等特點,與其它一些新型智能控制技術相比,已經非常成熟,被廣泛應用到自動控制領域中[1-2]。但PID控制器參數的整定比較難獲得,工程技術人員往往需要反復試驗確定,需要大量的時間,并且獲得參數的準確性依賴于工程技術人員的經驗,影響了PID控制的性能。由于對焊接自動化設備焊接工作臺的控制直接影響到焊接的質量,為此有必要對焊接工作臺的PID控制器的參數進行整定。關于PID參數整定的研究也比較多,比如PSO算法整定PID、GA算法整定PID,但GA算法操作復雜[3],不容易掌握,PSO算法容易早熟,易陷入局部最優解,且需設定的參數較多。差分進化(DE)算法是一種全局搜索能力強、性能高效、使用簡單的新型智能優化算法[4],為此本文提出了采用DE算法整定PID參數。
隨著計算機技術的快速發展,PID控制技術也越來越受到重視,PID控制器結構簡單、操作方便、魯棒性好,是目前應用最為普遍的控制方法,廣泛應用在化工、航天航空、機械、汽車、電力、農業、冶金、煤礦等行業中。
如圖1所示,PID控制是一種線性控制器,它是根據給定的值r(t)與實際的輸出值y(t)構成的偏差e(t)=r(t)-y(t),然后將偏差e(t)的比例環節、積分環節、微分環節進行線性組合得到控制量u(t),實現對被控對象的控制,其控制規律如下:

圖1 PID控制原理圖

式中:kp為比例系數;ki為微分系數;kd為積分系數。
對于不同的被控制對象,需要調整PID控制器參數kp、ki、kd,使其控制性能達到最優。
但對PID參數的整定往往需要通過經驗法,經過多次試驗得到,因此具有一定的局限性,很難達到理想的控制效果。
焊接工作臺伺服系統的控制原理是:首先通過光電編碼器檢測直流電動機的速度信號和位置信號,并將其反饋到DSP控制器中,再經控制器運算處理后發出控制信號,實現對直流電動機的閉環控制,直流電動機通過聯軸器帶動絲桿實現焊接工作臺在X、Y、Z三個方向的運動,從而達到對焊接工作臺的控制[5]。
DE算法是一種結構簡單、性能高效、參數設定少的仿生尋優算法,具有全局搜索能力強、操作簡單、搜索速度快等特點。其基本原理是隨機產生一個種群,種群內有一定規模的個體,每個個體是一個向量,代表優化目標函數的一組解,然后通過變異、交叉操作不斷更新個體,增加種群的多樣性,再通過選擇操作,淘汰掉適應度值不好的個體,保留優良的個體,經過不斷的迭代和計算,不斷逼近最優解,找到適應度值最優的個體。DE算法的運行過程主要包括初始化種群、變異操作、交叉操作和選擇操作4部分[6]。其中對算法影響最大的是變異操作中的變異算子F和交叉操作中的交叉算子CR。

DE算法運算過程如圖2所示,主要包括以下7個步驟:

圖2 DE 算法運行過程圖
步驟1:初始化算法參數,包括種群規模NP、變異算子F、交叉算子CR、最大迭代次數K。
步驟2:初始化種群。
步驟3:對種群中的每個個體計算適應度值。
步驟4:判斷是否達到終止條件,如果達到,輸出最優解,否則繼續下一步。
步驟5:執行變異操作和交叉操作,得到新的臨時種群。
步驟6:執行選擇操作,計算原種群個體和臨時種群個體的適應度值,保留適應度值優的個體,得到新種群。
步驟7:重新執行步驟4~步驟6,直到最大迭代次數為止。
由式(1)可知,控制器的輸出量u(t)是關于kp、ki、kd的函數,因此利用DE算法對參數kp、ki、kd進行尋優,找到最好的一組解使得PID控制器的控制性能最好。圖3為DE算法優化PID控制器參數的結構圖。

圖3 DE算法優化PID參數結構圖
2.3.1 帶懲罰機制的目標函數
在DE算法對PID參數進行尋優時,需要構建一個優化目標函數,它要能夠很好地反映PID控制效果。本文以誤差絕對值乘以時間積分作為優化目標函數。

2.3.2 變異算子的選取
變異算子F的選取對算法的尋優性能有重要影響,增大F值,會增加種群的多樣性,會使得算法搜索的范圍變大,但會導致算法的收斂速度變慢。減小F值,雖然收斂速度快,但會陷入局部搜索,會導致搜索到局部最優解。在算法的尋優過程中,剛開始的時候,F應取較大值,增加算法的全局搜索能力,到了后期,F應取較小的值,能夠增加在局部進行搜索的能力,提高算法的搜索精度和搜索速度,因此變異算子F應該是逐步變小的。F的值按式(8)進行調整[7]。

式中:K為最大迭代次數;k為當前迭代次數;FMIN為變異算子的最小值;FMAX為變異算子的最大值。
按照式(8),變異算子F的值是從FMAX逐步減到FMIN,滿足了變異算子F值逐步變小的要求。
2.3.3 搜索空間的確定待優化PID參數為3個,因此DE算法每組解的維度為3個,為了避免算法盲目地搜索,提高尋優的精度,需要確定待優化參數kp、ki、kd的搜索范圍。根據文獻[8]中Ziegler-Nichols法得到PID參數,然后以該參數為基礎拓展搜索范圍。DE算法的全局搜索能力強,可以適當擴大參數的搜索范圍,但考慮到避免控制量u(t)過大,kp的搜索范圍不宜太大。
2.3.4 DE算法與Simulink關聯
在Matlab中通過M文件編寫DE算法程序,在Simulink環境中建立PID控制仿真模型,DE算法將待優化參數kp、ki、kd輸送到Simulink仿真模型中參與PID控制運算,得到目標函數值,并將其返回到DE算法中。它們之間數據的傳遞是通過中間關聯子程序實現,如下所示:

x(1)、x(2)、x(3)是DE算法尋優的3個參數,在中間關聯子程序中通過assignin函數將該3個參數送到Simulink仿真模型中,然后通過sim函數驅動運行Simulink仿真模型,得到的目標函數值又通過J=y_out(end,1)返回到主程序DE算法中。

圖4 Ziegler-Nichols整定的PID控制階躍響應

圖5 DE算法優化的PID控制階躍響應
分別對兩種PID 控制器輸入方波信號,輸出的跟蹤結果如圖6、圖7 所示,圖中虛線代表理想信號,實線代表跟蹤信號。由圖6 和圖7可知,DE算法優化的PID 控制跟蹤效果更優,跟蹤準確性更高。

圖6 Ziegler-Nichols整定的PID控制方波跟蹤

圖7 DE算法優化的PID控制方波跟蹤
差分進化算法是一種高效、使用簡單、全局尋優能力強的智能優化算法。本文對DE算法進行改進,引入自適應變異算子及在優化目標函數中增加懲罰機制,然后將其對PID參數進行尋優,并應用到焊接機器人的焊接工作臺伺服控制系統中。從仿真結果可知,DE算法優化的PID控制器的跟蹤效果明顯好于Ziegler-Nichols整定的PID控制器,能夠較好地實現工作臺伺服系統的控制。