曹文凱 洪杰 袁也 吳懷江 姜沖
(1.江蘇省新能源開發(fā)股份有限公司 江蘇省南京市 210018 2.南京金寧匯科技有限公司 江蘇省南京市 211899)
在工業(yè)控制中,PID控制是歷史最悠久,應(yīng)用最廣泛的控制方式。PID控制器是將比例、積分和微分環(huán)節(jié)按照一定的規(guī)律組合起來,利用系統(tǒng)偏差來進(jìn)行控制的一種方法。PID控制器雖然具有結(jié)構(gòu)簡單、魯棒性強(qiáng)、控制品質(zhì)對被控對象變換不太敏感、適用于環(huán)境惡劣的工業(yè)現(xiàn)場等優(yōu)點(diǎn),但是PID控制系統(tǒng)的控制效果完全取決于控制器的三個(gè)控制參數(shù)kp,ki和kd,因此PID參數(shù)的選取成為一個(gè)很重要的研究課題。
常規(guī)的PID整定方法有理論計(jì)算法和工程整定法,理論計(jì)算法由于計(jì)算繁瑣,一般在工程實(shí)踐中很少應(yīng)用。工程整定法是現(xiàn)場技術(shù)人員根據(jù)經(jīng)驗(yàn)進(jìn)行試湊。工程整定法雖然操作簡單,但是這種方法控制效果的好壞過于依賴于技術(shù)人員的經(jīng)驗(yàn),而且比較費(fèi)時(shí),控制效果也不是很好。因此,很多學(xué)者將蟻群算法、粒子群算法,遺傳算法等啟發(fā)式算法用于PID參數(shù)尋優(yōu),并取得了很好的控制效果。近年來,強(qiáng)化學(xué)習(xí)方法成為智能系統(tǒng)設(shè)計(jì)的核心技術(shù)之一,被廣泛應(yīng)用于機(jī)器人、游戲等領(lǐng)域,2017年AlphaGo擊敗世界圍棋冠軍李世石和柯杰事件更是舉世矚目。強(qiáng)化學(xué)習(xí)算法通過“探索與利用”來對未知的環(huán)境進(jìn)行探索,從而得到一段時(shí)間內(nèi)的最大獎(jiǎng)勵(lì)。強(qiáng)化學(xué)習(xí)的這種屬性在大規(guī)模的尋優(yōu)問題中具有天然優(yōu)勢,因此很多學(xué)者也把強(qiáng)化學(xué)習(xí)用在路徑規(guī)劃和組合優(yōu)化問題中,文獻(xiàn)將強(qiáng)化學(xué)習(xí)中的q學(xué)習(xí)算法用于土石方的調(diào)配問題,文獻(xiàn)等將強(qiáng)化學(xué)習(xí)方法應(yīng)用于機(jī)器人路徑規(guī)劃問題。本文將強(qiáng)化學(xué)習(xí)中的Q-學(xué)習(xí)算法引入到PID參數(shù)優(yōu)化問題中進(jìn)行研究,提出了一種適應(yīng)于Q-學(xué)習(xí)算法的PID參數(shù)自整定方法,仿真結(jié)果表明,該方法具有很好的控制效果。
強(qiáng)化學(xué)習(xí)是從動(dòng)物行為學(xué)以及自適應(yīng)控制等理論發(fā)展而來的一種交互式學(xué)習(xí)方式。強(qiáng)化學(xué)習(xí)通過模仿人類的學(xué)習(xí)過程,通過不斷的“試錯(cuò)”來對環(huán)境進(jìn)行探索,并在嘗試過程中利用已經(jīng)學(xué)到的經(jīng)驗(yàn)來選擇最佳的策略,以獲得最大的獎(jiǎng)勵(lì)。強(qiáng)化學(xué)習(xí)的基本模式如圖一所示:agent在當(dāng)前時(shí)刻t,根據(jù)所處的狀態(tài)s選擇動(dòng)作a,并且得到環(huán)境對它的反饋信號(hào)作為獎(jiǎng)勵(lì)r,環(huán)境轉(zhuǎn)移到下一個(gè)狀態(tài)s。強(qiáng)化學(xué)習(xí)的目標(biāo)就是通過學(xué)習(xí)來得到一個(gè)最優(yōu)策略P:s-a,從而使得整個(gè)過程中的獎(jiǎng)勵(lì)最大。
Q-學(xué)習(xí)算法是強(qiáng)化學(xué)習(xí)中最為經(jīng)典的算法,它不需要了解模型的任何信息,是一種基于值函數(shù)的在線學(xué)習(xí)算法。Q-學(xué)習(xí)通過優(yōu)化迭代計(jì)算的狀態(tài)-動(dòng)作對函數(shù)Q(s,a)來得到最優(yōu)策略,使得長期的累積折扣獎(jiǎng)勵(lì)總和最大。值函數(shù)可以定義為式(1)。
其中,α為學(xué)習(xí)率,γ為獎(jiǎng)勵(lì)衰減系數(shù)。
Q-學(xué)習(xí)算法利用Lookup-table(數(shù)組)的方法來存儲(chǔ)狀態(tài)-動(dòng)作對,因此在實(shí)際應(yīng)用中,其狀態(tài)和動(dòng)作是有限的,每一個(gè)狀態(tài)-動(dòng)作對會(huì)對應(yīng)一個(gè)相應(yīng)的Q值。在與環(huán)境進(jìn)行交互時(shí),Q-算法總是傾向于選擇當(dāng)前狀態(tài)下Q值更高的動(dòng)作,這也被稱為“ε‐greedy”策略,即agent以小于ε的概率隨機(jī)選擇動(dòng)作,以1‐ε的概率選擇當(dāng)前的最優(yōu)動(dòng)作,為了達(dá)到更好的搜索效果,可以在算法剛開始選擇較大的ε值,從而可以充分探索空間中的動(dòng)作,跳出局部最優(yōu),在算法后期選擇較小的ε值,收斂到全局最優(yōu)。Q-學(xué)習(xí)算法的偽代碼如圖1所示。
圖1:Q-learning偽代碼
Q-學(xué)習(xí)算法利用與環(huán)境交互過程中的獎(jiǎng)勵(lì)來進(jìn)行學(xué)習(xí),因此獎(jiǎng)懲機(jī)制也是Q-學(xué)習(xí)算法的核心機(jī)制,合理的獎(jiǎng)勵(lì)函數(shù)可以得到更加好的策略,通常情況下需要根據(jù)任務(wù)的目的來設(shè)計(jì)獎(jiǎng)勵(lì)函數(shù),并可以通過獎(jiǎng)勵(lì)塑性來加速算法收斂速度。
在強(qiáng)化學(xué)習(xí)問題中,agent需要根據(jù)所處的狀態(tài)來對環(huán)境做出動(dòng)作響應(yīng)。因此,需要定義agent在k、k、k的尋優(yōu)問題中的狀態(tài)和動(dòng)作。在文獻(xiàn)中,研究者在利用蟻群算法進(jìn)行PID控制器參數(shù)尋優(yōu)的過程中,建立了螞蟻的爬行路徑圖。參照螞蟻爬行路徑圖設(shè)置過程,可以定義agent的狀態(tài)動(dòng)作空間。假設(shè)k、k、k各有五位數(shù),整數(shù)位占一位,小數(shù)點(diǎn)后占四位。將kp,ki,kd按照十進(jìn)制編碼,組成相應(yīng)的編碼序列,每一個(gè)位置的動(dòng)作范圍均為0-9之間的整數(shù)。用XOY坐標(biāo)系表示如圖2所示。圖中的藍(lán)色軌跡顯示了agent從原點(diǎn)開始,從左邊運(yùn)動(dòng)到右邊界的軌跡圖。圖中機(jī)器人所在的位置即是當(dāng)時(shí)所處的狀態(tài),可以用機(jī)器人所在位置的坐標(biāo)C(x,y)表示。圖二的狀態(tài)轉(zhuǎn)移可以表示為:
圖2:agent運(yùn)動(dòng)軌跡圖
C(1,3)→ C(2,1)→ C(3,5)→ C(4,8)→ C(5,2)→ C(6,0)→C(7,4)→ C(8,3)→ C(9,6)→ C(10,2)→ C(11,2)→ C(12,4)→C(13,7)→ C(14,5)→ C(15,3)
假設(shè)agent從原點(diǎn)出發(fā),當(dāng)agent從最左邊的運(yùn)動(dòng)到最右邊時(shí),agent的運(yùn)動(dòng)軌跡對應(yīng)著一組PID參數(shù)值:
獎(jiǎng)勵(lì)函數(shù)的設(shè)計(jì)應(yīng)該綜合考慮到控制過程中的綜合性能指標(biāo)。在PID控制參數(shù)優(yōu)化問題中,一般習(xí)慣用控制過程中超調(diào)量、上升時(shí)間、調(diào)節(jié)時(shí)間和穩(wěn)態(tài)誤差等指標(biāo)來評(píng)價(jià)系統(tǒng)性能,這些指標(biāo)也被稱作確定性指標(biāo)。確定性指標(biāo)所得到的值是離散化的,不能準(zhǔn)確反映整個(gè)控制過程的變化情況。因此,可以將時(shí)間因素引入控制品質(zhì)評(píng)價(jià)指標(biāo)中統(tǒng)籌考慮,建立誤差積分指標(biāo)。誤差積分指標(biāo)是一種綜合性的指標(biāo)評(píng)價(jià)標(biāo)準(zhǔn),包括絕對誤差積分、平方誤差積分、時(shí)間與絕對值誤差積分、時(shí)間誤差積分四種。本文選用絕對誤差積分指標(biāo)來對控制過程性能進(jìn)行評(píng)價(jià)。絕對誤差積分表達(dá)式如式(2-2)所示。
絕對誤差積分:
強(qiáng)化學(xué)習(xí)的目標(biāo)是值函數(shù)的最大化。在該問題中,當(dāng)agent還未到達(dá)右邊界時(shí),獎(jiǎng)勵(lì)函數(shù)可以設(shè)計(jì)為0,當(dāng)agent到達(dá)右邊界后,獎(jiǎng)勵(lì)函數(shù)可以設(shè)計(jì)為誤差積分指標(biāo)的倒數(shù)。如式(2-3)所示。
獎(jiǎng)勵(lì)函數(shù)如式(2-3)所示。
探索策略的設(shè)計(jì)要考慮到“探索和利用”平衡。探索初始化時(shí),應(yīng)該保證完全隨機(jī)分配,這樣可以保證迭代過程中每個(gè)狀態(tài)行為對理論上都有可能被選中。探索后期,則應(yīng)該更多的利用已學(xué)習(xí)到的策略。本文采用的ε‐greedy探索策略如式(3)所示,其中step表示agent的回合數(shù),max_step表示總的回合數(shù),隨著step的增大,ε會(huì)逐漸減小,最后達(dá)到完全貪婪。
(1)初始化
生成Q值表并初始化為0,設(shè)置學(xué)習(xí)率α=0.6,獎(jiǎng)勵(lì)衰變系數(shù) γ=0.8
(2)尋優(yōu)
①Agent從原點(diǎn)出發(fā),根據(jù)式(3)選擇每個(gè)狀態(tài)的動(dòng)作。
②當(dāng)agent走到右邊界時(shí),按照式(2-1)分別計(jì)算kp,ki,kd的值,并通過m文件賦給PID控制器
③調(diào)用simulink模型,按照式(2-6)計(jì)算獎(jiǎng)勵(lì)函數(shù)
(3)按照式(1-1)對Q值表進(jìn)行更新,step=step+1
(4)進(jìn)入下一次循環(huán),直到滿足終止條件,得到最終的kp,ki,kd參數(shù)值,具體流程圖3所示。
圖3:程序流程圖
實(shí)際工業(yè)控制中的對象一般均可用二階系統(tǒng)來進(jìn)行表征,因此本文選取一個(gè)二階的廣義控制對象。在matlab2017b的simulink仿真平臺(tái)上搭建控制回路,如圖4所示。根據(jù)控制流程圖編寫m文件調(diào)用simulink模型來進(jìn)行PID的參數(shù)尋優(yōu)。
圖4:PID控制模型
在matlab2017b的simulink仿真平臺(tái)上搭建控制回路,如圖()所示。根據(jù)控制流程圖編寫m文件調(diào)用simulink模型來進(jìn)行PID的參數(shù)尋優(yōu)。
本文采用積分誤差的倒數(shù)作為獎(jiǎng)勵(lì)函數(shù)。經(jīng)過試驗(yàn),當(dāng)回合數(shù)為3000時(shí),其獎(jiǎng)勵(lì)函數(shù)基本收斂。使用Q-學(xué)習(xí)算法隨機(jī)進(jìn)行六次不同訓(xùn)練過程,由于探索策略的隨機(jī)探索操作,每次訓(xùn)練過程中的獎(jiǎng)勵(lì)值隨著回合數(shù)的增長上下波動(dòng),但依然呈現(xiàn)上升的趨勢,最終收斂于一個(gè)較大的獎(jiǎng)勵(lì)值。探索概率在每回合初始時(shí)比較大,隨著回合數(shù)的增加而逐漸減小探索概率。
表1中列出六次不同訓(xùn)練過程中得到的尋優(yōu)結(jié)果,以及每種結(jié)果所對應(yīng)的超調(diào)量和調(diào)節(jié)時(shí)間(±0.03)。圖5是其系統(tǒng)響應(yīng)曲線圖。
圖5:Q-學(xué)習(xí)尋優(yōu)系統(tǒng)響應(yīng)曲線
表1:不同訓(xùn)練過程的尋優(yōu)結(jié)果
由圖6可以看出,RL-5的超調(diào)量最大,響應(yīng)速度最快,調(diào)節(jié)時(shí)間較短。RL-3的超調(diào)量最小,但是響應(yīng)速度最慢。RL-2的響應(yīng)速度較快,超調(diào)量僅大于RL-3,而且調(diào)節(jié)時(shí)間也較短??傮w來看利用Q學(xué)習(xí)算法尋優(yōu)得到的六組控制參數(shù)控制效果都比較好,控制曲線都比較平滑,超調(diào)量也不大。
圖6:不同算法系統(tǒng)單位階躍響應(yīng)
(1)為了驗(yàn)證本文中提出的Q學(xué)習(xí)方法在PID參數(shù)尋優(yōu)中的優(yōu)越性,本文將Q-學(xué)習(xí)中RL-5的尋優(yōu)結(jié)果與Z-N法,遺傳算法以及粒子群算法[a][b]到的優(yōu)化參數(shù)進(jìn)行對比,其結(jié)果如表2所示。系統(tǒng)的響應(yīng)曲線如圖6所示。
表2:不同算法尋優(yōu)結(jié)果
從仿真結(jié)果可以看出,工程整定常用的Z-N法得到的PID控制系統(tǒng)雖然響應(yīng)最快,但是超調(diào)量也比較大,達(dá)到了32%,并且出現(xiàn)了強(qiáng)烈的波動(dòng)。PSO算法的超調(diào)量和調(diào)節(jié)時(shí)間都比Z-N法要好,但是響應(yīng)速度比較慢。PSO-II算法在響應(yīng)速度和調(diào)節(jié)時(shí)間上均要優(yōu)于PSO算法。GA算法和PSO-I算法雖然超調(diào)量很小,但是響應(yīng)速度慢,調(diào)節(jié)時(shí)間長,GA算法在接近4s才到達(dá)設(shè)定值誤差允許范圍內(nèi)。利用Q-學(xué)習(xí)算法得到的PID控制系統(tǒng),不僅響應(yīng)速度僅次于Z-N法,而且超調(diào)量最低,波動(dòng)較小,在很短的時(shí)間內(nèi)就達(dá)到了控制要求,表現(xiàn)出了良好的性能。
(2)在實(shí)際工業(yè)現(xiàn)場,控制對象的波動(dòng)是不可避免的,因此改變模型的部分參數(shù),取傳遞函數(shù)為3-2所示,其仿真結(jié)果如圖7所示。
圖7:模型失配后不同算法的系統(tǒng)響應(yīng)曲線
從控制圖像可以看出,在模型失配的情況下,GA、PSO和PSO-I控制曲線都出現(xiàn)了很大的波動(dòng),達(dá)到設(shè)定值所需時(shí)間到了10s左右,不再滿足控制要求。Q-學(xué)習(xí)算法(RL-5)得到的優(yōu)化參數(shù)控制效果仍然是最好的,具有很好的魯棒性。
本文針對PID參數(shù)的尋優(yōu)問題,提出了一種基于Q學(xué)習(xí)的PID參數(shù)尋優(yōu)方法。所作的工作主要有:
(1)通過對問題的分析,將pid參數(shù)尋優(yōu)問題轉(zhuǎn)化為強(qiáng)化學(xué)習(xí)中agent的路徑尋優(yōu)問題,并建立了相應(yīng)的模型。
(2)通過多次隨機(jī)試驗(yàn),驗(yàn)證了Q學(xué)習(xí)算法在解決PID尋優(yōu)問題中的收斂性
(3)通過與傳統(tǒng)的工程整定方法Z-N法、遺傳算法、粒子群算法的對比,充分說明了利用Q學(xué)習(xí)算法得到的參數(shù)具有更好的控制效果。
在進(jìn)一步的研究中,可以在獎(jiǎng)勵(lì)函數(shù)中引入超調(diào)量、響應(yīng)時(shí)間等確定性評(píng)價(jià)指標(biāo)作為限制,對于不滿足確定性指標(biāo)評(píng)價(jià)的結(jié)果予以懲罰,加快Q學(xué)習(xí)算法的學(xué)習(xí)過程。