莫程凱,趙宇紅,段靈芝,王浩倫
(1.南華大學(xué) 電氣工程學(xué)院,湖南 衡陽 421001;2.湖南師范大學(xué),湖南 長沙 410081)
PID控制從問世以來,就一直是工業(yè)控制中最為成熟的控制方法,在諸多領(lǐng)域得到了廣泛的應(yīng)用。它具有原理通俗易懂、實現(xiàn)容易、對眾多場景都有很好的適應(yīng)性、魯棒性強以及性價比高等優(yōu)點[1]。PID的三個參數(shù)Kp、Ki、Kd取值的不同組合會對控制系統(tǒng)的輸出各項性能指標(biāo)造成影響,因此,確定Kp、Ki、Kd的最優(yōu)取值以及對三個系數(shù)進行優(yōu)化是PID控制最為重要的部分。最開始的對PID參數(shù)進行整定是采用Ziegler和Nichols所發(fā)明的公式整定法,它是突破傳統(tǒng)試湊法的一種方法,但隨著時代發(fā)展,它面對更加復(fù)雜的被控對象時,就顯得過于簡單,不易對實際的模型進行建立,以及魯棒性不好、超調(diào)量大都是它所存在的問題[2]。無論是傳統(tǒng)的實驗試湊法還是以上理論計算整定法,都不具備面對復(fù)雜系統(tǒng)發(fā)生特性變化時所需要的PID控制自適應(yīng)能力,只能重新人為地再去手動修改參數(shù)。
隨著人工智能技術(shù)的發(fā)展,涌現(xiàn)出很多新的為控制器提供參數(shù)優(yōu)化的方法。其中,群智能算法作為一種新興的優(yōu)化方法而受到眾多研究學(xué)者的歡迎,并將其運用到很多的優(yōu)化領(lǐng)域中。它的主要理論依據(jù)是模擬學(xué)習(xí)群居生活習(xí)性的動物行為,通過研究群體中每個個體的信息交流傳遞以及行為合作關(guān)系,如覓食等,來達到尋優(yōu)的目的。與其他優(yōu)化方法比較,群智能算法的顯著優(yōu)點在于原理通俗易懂、效率較高且實現(xiàn)過程簡單?;诖耍疚膶⒔榻B兩種最為常用和經(jīng)典的群智能優(yōu)化算法——蟻群算法和粒子群算法在PID參數(shù)優(yōu)化中的應(yīng)用。
PID控制器的工作原理如圖1所示。
圖1 PID控制器的工作原理框圖
在PID控制系統(tǒng)中,r(t)為輸入量,y(t)為輸出量,u(t)為PID輸出控制量,u(t)與偏差e(t)=r(t)-y(t)之間的關(guān)系可以用下式進行描述:
(1)
其中:Kp為比例系數(shù);Ti為積分時間系數(shù);Td為微分時間系數(shù)。進一步將其變換為:
(2)
其中:Ki為積分系數(shù),Ki=Kp/Ti;Kd為微分系數(shù),Kd=Kp·Td。
從式(2)可以看出,共有Kp、Ki、Kd3個參數(shù)需要確定,對PID的參數(shù)優(yōu)化正是通過不斷地調(diào)整Kp、Ki、Kd使得控制系統(tǒng)的各項性能都能實時達到所需要求,并盡可能保證系統(tǒng)特性最優(yōu)越。常規(guī)的PID參數(shù)優(yōu)化方法,往往只能對其中的一個量進行調(diào)整,無法兼顧調(diào)整3個參數(shù),所以對于復(fù)雜系統(tǒng)尤其是精確度要求較高的系統(tǒng)達不到控制要求,使得PID控制器應(yīng)用受限。本文將這兩種群智能算法運用到PID控制器中對其參數(shù)進行優(yōu)化,可以做到同時對3個參數(shù)進行有效調(diào)整,使得PID控制器的性能達到要求。
蟻群算法是一種基于種群的模仿生物的尋優(yōu)方法,是對組合尋優(yōu)問題進行尋解并對其尋優(yōu),在螞蟻不斷的找尋過程中,憑借正反饋原理對進化過程進行促進,最終找到最優(yōu)的解[3]。
螞蟻在搜尋過程中,會對自身移動的地方殘留它的一種特殊分泌物——信息素,信息素隨時間會逐漸變?nèi)?,同時螞蟻對每條路徑上存在的信息素濃度進行判斷,并向信息素濃度高的位置進行轉(zhuǎn)移?;镜南伻核惴P腿缦拢?/p>
(3)
每當(dāng)結(jié)束一次算法迭代后,必須對每條路徑中的信息素量進行更新處理,以防多余的信息素掩蓋了啟發(fā)信息,使得算法陷入局部最優(yōu)。更新公式如式(4)、式(5)所示:
τij(t+1)=(1-ρ)·τij(t)+Δτij.
(4)
(5)
(6)
其中:Q為信息素常數(shù),為螞蟻循環(huán)一次所釋放的信息素總量;Lk為螞蟻k于當(dāng)次游行所移動的路徑長度[4]。
蟻群算法與PID算法的結(jié)合,體現(xiàn)在對PID參數(shù)的優(yōu)化,也就是不斷地找尋Kp、Ki、Kd的最優(yōu)值。將Kp、Ki、Kd視成組合,而螞蟻在指定的空間中不斷搜尋,并根據(jù)信息素的強弱分布實時改變轉(zhuǎn)移方向,從而調(diào)整到最優(yōu)的路徑,此最優(yōu)路徑在蟻群算法PID控制器中所表示的就是PID控制的最優(yōu)參數(shù)?;谙伻核惴ǖ腜ID控制器原理如圖2所示[5]。
圖2 基于蟻群算法的PID控制器原理圖
蟻群算法具備較強的魯棒性,與PID控制方法能夠非常容易地結(jié)合使用;由于蟻群算法作為實際上的并行算法,其中的螞蟻都是相互獨立的個體,它們對路徑的搜尋互相之間不產(chǎn)生干擾,僅僅是通過信息素來傳遞信息,在整個問題空間中,有著非常強的全局搜索能力。另外,蟻群算法的參數(shù)設(shè)置簡單,且相對于其他算法,不依賴對最開始路線的選擇,中途也不需要再經(jīng)過人為調(diào)整,其與PID結(jié)合形成的控制器具有相當(dāng)?shù)目煽啃浴?/p>
但蟻群算法PID控制器也有其亟需改進的不足,如:由于算法收斂速度慢,需要花費更多的時間在計算上;容易陷入局部最優(yōu),對一些連續(xù)問題還不能夠很好地解決;蟻群算法PID控制器比較依賴人的經(jīng)驗,結(jié)果的產(chǎn)生過分依賴實驗,目前還缺乏一些理論的奠定。
粒子群算法(PSO)是基于對鳥類群體捕食行為的研究,得源于鳥群的規(guī)律性種群活動的靈感,通過人為地運用群體智能的方法來建立簡化模型。粒子群算法中群體的每個個體在尋找信息的同時,也在接受其他個體所傳遞共享過來的信息,不斷的信息共享下慢慢從無序的尋找變成有序的尋找,最終找到系統(tǒng)最優(yōu)解[6]。
組成粒子群算法的是一定規(guī)模的粒子,鳥群中每個個體都被看作一個粒子,首先需要確定粒子群的規(guī)模以及每個粒子的初始速度和位置,它們在區(qū)域內(nèi)不斷找尋,通過一個迭代公式,變換飛行軌跡,最終找到最優(yōu)解[7]。粒子在找尋過程中,會不斷地通過兩個值來調(diào)整自身位置,即粒子自身所找尋到的最優(yōu)解以及整個群體找尋到的群體最優(yōu)解。設(shè)粒子的個數(shù)為n,維度為d,粒子通過以下公式實時更新其位置:
(7)
(8)
在優(yōu)化中,首先對粒子的初速度以及初位置進行隨機賦值,隨后根據(jù)式(7)和式(8)不斷迭代。
粒子群算法與PID結(jié)合,基于它們所建立的控制器參數(shù)優(yōu)化模型,從而對系統(tǒng)輸出進行把控。在基于粒子群算法的PID控制器中,PID的三個參數(shù)Kp、Ki、Kd的組合被視作為粒子群中的粒子。在尋優(yōu)過程中,每個粒子依據(jù)自身的信息和群體的共享信息不斷地調(diào)整自己的速度與方位,最終都逐漸向最優(yōu)解靠近,從而得到理想結(jié)果,隨后將粒子群個體進行解碼操作,依次賦值給Kp、Ki、Kd。圖3為基于粒子群算法的PID控制器原理圖。
圖3 基于粒子群算法的PID控制器原理圖
粒子群算法自被提出就受到了萬眾矚目,它類似于遺傳算法,是基于迭代實現(xiàn)的優(yōu)化算法。系統(tǒng)的各項初始值都是隨機設(shè)置的,然后進行不斷地迭代以尋找到最優(yōu)解。同其他方法相比,粒子群PID控制器的優(yōu)勢在于沒有太多需要調(diào)整的參數(shù),易于在工程中實現(xiàn)。但它也存在一些弊端,如局部搜索能力較弱,可能在搜尋的過程中陷入局部最優(yōu),對一些精確度要求較高的系統(tǒng)可能難以滿足控制要求。
本文介紹了兩種最經(jīng)典的群智能算法——蟻群算法和粒子群算法在PID參數(shù)優(yōu)化中的應(yīng)用。與傳統(tǒng)的PID整定參數(shù)方法相比,基于群智能算法的PID控制器能夠有效對決定PID控制性能的三個參數(shù)進行實時調(diào)整,使之始終維持在一個最優(yōu)值,使得被控系統(tǒng)輸出各項指標(biāo)更加穩(wěn)定可靠。同時蟻群算法和粒子群算法與PID控制器的結(jié)合各有優(yōu)勢與不足,關(guān)于各種群智能算法與PID的結(jié)合也在不斷地進步和完善之中。