楊彬彬,單 梁,戚志東,呂 璐,錢建新
(南京理工大學(xué) 自動化學(xué)院,南京 210094)
PID控制是最早發(fā)展起來,也是迄今為止最通用的控制方法[1]。在工業(yè)控制過程中,95%以上的回路具有PID結(jié)構(gòu),而且許多高級控制都是以PID控制為基礎(chǔ)的。PID參數(shù)的調(diào)節(jié)和優(yōu)化決定了控制系統(tǒng)最終能達到的控制性能,所以PID參數(shù)的整定過程是控制系統(tǒng)設(shè)計的核心。
實際工程中,PID控制器的參數(shù)調(diào)節(jié)往往依賴技術(shù)人員的調(diào)試經(jīng)驗,這不僅需要熟練的技巧,往往還相當(dāng)費時。隨著技術(shù)理論的發(fā)展,出現(xiàn)了區(qū)別于傳統(tǒng)整定方法的智能整定方法。文獻[2-3]分別將模糊自整定PID算法應(yīng)用在駕駛機器人油門機械腿控制和直流鍋爐機組控制中,均說明了基于該方法的控制系統(tǒng)具有較強的魯棒性和良好的動態(tài)性能,但模糊控制規(guī)則的確定較為困難;文獻[4]在無刷直流電機控制系統(tǒng)中應(yīng)用了基于專家整定的PID控制方法,該方法具有快速、準(zhǔn)確的參數(shù)整定優(yōu)勢,但專家知識庫的建立存在局限性;文獻[5]將基于遺傳算法的自適應(yīng)PID控制應(yīng)用在工業(yè)過程中,該整定方法具有全局性,但遺傳算法理論上還不完善;文獻[6]對基于粒子群算法的參數(shù)整定做了相應(yīng)研究,指出了其并行全局搜索的特點,但其實際實現(xiàn)比較復(fù)雜。
基于智能算法的PID參數(shù)整定雖然能夠?qū)崿F(xiàn),但其計算量大、適用性窄、理論尚不完善、收斂性差等問題不可忽視。自1922年美國的Nicholas Minorsky提出PID控制器的設(shè)計方法以來,PID控制器的應(yīng)用及其參數(shù)整定已經(jīng)經(jīng)過了幾十年的改進與發(fā)展,在這期間人們積累了大量的實用經(jīng)驗,基于此本文結(jié)合二分查找法和插值查找法提出一種復(fù)合參數(shù)整定方法,并在實際伺服系統(tǒng)中進行了驗證。
自整定模糊PID控制是應(yīng)用廣泛的一種智能PID控制方法,可以取得很好的控制效果,但其存在計算量大、過程復(fù)雜、不利于計算機控制實現(xiàn)等缺點。而且,一些慣量大的伺服系統(tǒng),要求速度快、控制精度高,用常規(guī)PID算法不能滿足系統(tǒng)要求,為獲得更好的控制效果,本文將自整定模糊PID控制的思想與常規(guī)PID控制相結(jié)合,提出智能分區(qū)PID控制算法。
智能分區(qū)PID控制算法通過檢測系統(tǒng)誤差所處的區(qū)域,采取不同的控制策略或者控制參數(shù),其示意圖如圖 1所示,θ1、θ2和 θ3是跟蹤誤差絕對值。
圖1 智能分區(qū)PID控制算法Fig.1 Intelligent partition PID control algorithm
當(dāng)系統(tǒng)誤差處于Ⅳ區(qū)(急速區(qū))時,采用Bang-Bang控制策略,使系統(tǒng)盡快向消除誤差的方向運動,提高系統(tǒng)的快速性。
當(dāng)系統(tǒng)誤差處于Ⅲ區(qū)(減速區(qū))時,選取Kp2較小、Kd2較大,兩者在此區(qū)為恒值。減速區(qū)的作用是使電機軸角速度迅速下降,防止系統(tǒng)從Bang-Bang區(qū)以最大速度直接進入Ⅰ區(qū)出現(xiàn)大振蕩,減小系統(tǒng)超調(diào)量,縮短調(diào)節(jié)時間。
當(dāng)系統(tǒng)誤差處于Ⅰ區(qū)(精調(diào)區(qū))時,選取的Kp1較大、Kd1和Ki較小,三者在此區(qū)為恒值,這樣的參數(shù)選擇主要考慮系統(tǒng)在跟蹤等速、正弦信號時均工作在Ⅰ區(qū),本區(qū)控制的目標(biāo)是保證系統(tǒng)的靜止誤差和穩(wěn)態(tài)誤差的精度要求。精調(diào)區(qū)范圍的大小根據(jù)工程經(jīng)驗取值,一般為最大跟蹤精度范圍的3~5倍,以保證此區(qū)間內(nèi)控制量變化平穩(wěn)。
系統(tǒng)從減速區(qū)到精調(diào)區(qū),由于Kp和Kd的變化,控制量上的不連續(xù)會直接表現(xiàn)為系統(tǒng)運行的不平穩(wěn)。為了減少不平穩(wěn)運行對機械結(jié)構(gòu)的損壞,控制方案在減速區(qū)和精調(diào)區(qū)之間設(shè)置了Ⅱ區(qū)(過渡區(qū))。此區(qū)中,Kp和Kd的值是線性變化的,Kp由減速區(qū)的Kp2線性增大到精調(diào)區(qū)的Kp1,Kd由減速區(qū)的Kd2線性減小到精調(diào)區(qū)的Kd1。
對于Ⅰ型系統(tǒng)的伺服系統(tǒng)而言,如果PID控制器中不含積分環(huán)節(jié),階躍響應(yīng)是無靜差的,但對速度信號和正弦信號的響應(yīng)都會存在穩(wěn)態(tài)誤差。積分環(huán)節(jié)的作用有利于消除靜差,但會影響系統(tǒng)的穩(wěn)定性,使系統(tǒng)過渡過程變長[7]。為了滿足系統(tǒng)對各種信號的高精度動態(tài)跟蹤要求,本文的分區(qū)PID控制選用PD控制,同時在此基礎(chǔ)上引入了前饋控制信號,即增加前饋通道以超前的控制來補償系統(tǒng)的動態(tài)滯后,且不影響原閉環(huán)系統(tǒng)的穩(wěn)定性,共同構(gòu)成復(fù)合控制。
分區(qū)PID復(fù)合控制原理如圖2所示。
圖2 分區(qū)PID復(fù)合控制原理Fig.2 Block diagram of partition PID composite control
圖中,分區(qū) PID 控制量 F1(s)為
式中:θ為架位差的絕對值;CtrlConst表示 Bang-Bang區(qū)控制量;Kp和Kd分別為
可以看出,分區(qū)PID復(fù)合控制算法需要確定的參數(shù)有 Kp1、Kp2、Kd1、Kd2、Kq和 Kqq,其中 Kp2和 Kd2可以直接計算得到,將在下文中介紹。
復(fù)合參數(shù)整定法根據(jù)二分查找法思想整定Kp1和Kd1,根據(jù)插值查找法思想整定Kq和Kqq,最終整定出一組滿足系統(tǒng)性能要求的控制參數(shù)。該整定法需要伺服系統(tǒng)的性能指標(biāo)數(shù)據(jù)和實際運行的誤差進行分析計算,表1中列出了系統(tǒng)響應(yīng)階躍、等速和正弦信號的性能指標(biāo)參數(shù)和整定算法需要的誤差數(shù)據(jù)。
表1 性能指標(biāo)參數(shù)和實際誤差數(shù)據(jù)表Tab.1 Table of performance index parametersand actual error data
所謂的二分查找法,是根據(jù)二進制檢索的思想,已知變量的最小值與最大值(從左往右變大),取中間值作為比較對象,若中間值對應(yīng)的關(guān)鍵字與給定值相等,則查找成功;若給定值小于中間值的關(guān)鍵字,則在中間值左半?yún)^(qū)繼續(xù)查找;否則,在右半?yún)^(qū)查找。不斷重復(fù),直到查找成功或者查找失敗為止。文獻[8]探討了二分查找法是一種簡單而有效的IP地址查找方法。文獻[9]采用了二分查找法來調(diào)節(jié)PWM的占空比,實驗結(jié)果表明,該方法具有調(diào)節(jié)次數(shù)少、電路穩(wěn)定速度快的特點,是一種高效的調(diào)節(jié)方法。
伺服系統(tǒng)中使用的是16位D/A轉(zhuǎn)換芯片,即數(shù)字控制量范圍為-32768~32767,為保證系統(tǒng)運行的安全性,控制量限幅為-32600~32600。旋轉(zhuǎn)變壓器的信號經(jīng)過編碼后為16位的數(shù)字量,即65536對應(yīng)360°,換算得1°對應(yīng)182.04。對應(yīng)圖1中所示的分區(qū)PID算法,本文精調(diào)區(qū)上界θ1取0.5°,數(shù)字量為 90.6;過渡區(qū)上界 θ2取 3.0°,數(shù)字量為 543.6;減速區(qū)上界θ3取25.0°,數(shù)字量為4527.8。
為保證系統(tǒng)從Ⅳ區(qū)平穩(wěn)過渡到Ⅲ區(qū),Kp2的取值由θ3和Ⅳ區(qū)中最大控制量決定:
過渡區(qū)比例增益由減速區(qū)的Kp2線性增大到穩(wěn)態(tài)跟蹤區(qū)的Kp1,比例控制量為
式中:變量Dif為跟蹤誤差的絕對值。為滿足系統(tǒng)穩(wěn)定運行,隨著跟蹤誤差的減小,CtrlKp的值不應(yīng)出現(xiàn)上下波動,而且應(yīng)該是變小的趨勢。記x=Dif,y=CtrlKp,將式(6)寫為
式中:Kp2<Kp1,θ2>θ1, 根據(jù)一元二次函數(shù)的知識,該函數(shù)開口朝下,要使 y 在區(qū)間[θ1,θ2]上單調(diào)遞增,其對稱軸應(yīng)在直線x=θ2右邊,計算得到Kp1≤13.20,最終 7.20<Kp1≤13.20。
基于本文的分區(qū)PID算法,減速區(qū)Kd較大,精調(diào)區(qū)Kd較小的原理,則取為
響應(yīng)等速信號的過程可以整定一次前饋增益Kq的值,測試系統(tǒng)性能時選擇30°/s的等速信號,據(jù)此估算Kq的最大值:
響應(yīng)正弦信號的過程可以整定出二次前饋增益Kqq的值,測試系統(tǒng)性能時選擇幅值60°,周期12.56 s的正弦信號,據(jù)此估算Kqq的最大值:
保證系統(tǒng)運行的安全性及參數(shù)最大可調(diào)性,Kp1、Kq和 Kqq的取值范圍分別為[7.2,13.2]、[0,60]和[0,450]。
二分查找法整定過程如圖3所示。
圖3 二分查找法整定Kp1和Kd1Fig.3 Tuning Kp11 and Kd1based on binary search algorithm
若用變量low和high分別表示Kp1取值區(qū)間的下界和上界,則 Kp1=(low+high)/2,首次設(shè)定比例系數(shù)Kp1時,由上文的計算結(jié)果取其上下界分別為low=7.2,high=13.2,系統(tǒng)根據(jù)初始參數(shù)跟蹤階躍指令,計算出此階躍響應(yīng)的超調(diào),若超調(diào)較小,可以通過增加Kd1抑制超調(diào);若超調(diào)較大,須通過減小Kp1減小超調(diào);若無超調(diào),計算出階躍響應(yīng)的調(diào)節(jié)時間。若調(diào)節(jié)時間少于3 s(針對90°階躍),則整定完成;若調(diào)節(jié)時間多于3 s,要判斷Kd1是否偏大,偏大則要減小Kp1和Kd1,因為Kd1能夠抑制超調(diào),但是會增加調(diào)節(jié)時間;否則,要增大Kp1,加快響應(yīng)速度。如此反復(fù),其中Kp1的增大與減小都采用二分法計算。
從權(quán)重的角度看,二分查找算法是將low和high的權(quán)重固定設(shè)定為0.5(即二分),對mid值進行計算。因為固定權(quán)值的限制,使得二分查找算法存在很大的局限,也就是說任何數(shù)列(即使是有規(guī)律的等差數(shù)列)都會在查找最后一個元素時進行l(wèi)og2n+1次比較[10]。對于表長較大,關(guān)鍵字被排好序,而且呈現(xiàn)均勻分布特征的查找表來說,可以采用如下插值多項式對mid值進行計算:
該方法是對二分查找法的改進,稱為插值查找法。每次查找均由已知的 low、high、A[Low]和 A[high]得到對應(yīng)的插值公式,再由需要查找的key值計算出mid值,這就是插值查找算法的核心思想。low、high、A[low]和 A[high]是動態(tài)變化的,所對應(yīng)的插值公式也是動態(tài)變化的,系統(tǒng)具有很強的靈活性。
插值法查找適用于關(guān)鍵字分布比較均勻的查找表,表2和表3分別記錄了系統(tǒng)響應(yīng)等速信號時不同Kq值對應(yīng)的誤差和系統(tǒng)響應(yīng)正弦信號時不同Kqq值對應(yīng)的誤差。
表2 不同Kq值對應(yīng)的平均誤差Tab.2 Average error of different Kq
表3 不同Kqq值對應(yīng)的平均誤差Tab.3 Average error of different Kqq
分析表中數(shù)據(jù)可以發(fā)現(xiàn):等速指令跟蹤時,不同Kq值對應(yīng)的平均誤差分布均勻;正弦指令跟蹤時,不同Kqq對應(yīng)的平均誤差分布均勻。因此,可以嘗試通過插值查找整定控制參數(shù),基于插值查找法思想整定Kq的流程圖如圖4所示。
整定出Kp1和Kd1后,讓系統(tǒng)首先以Kq=0的值對等速信號響應(yīng),計算出相應(yīng)誤差;然后Kq取其允許范圍內(nèi)任意值進行第二次控制,計算出相應(yīng)誤差;接著將2個不同Kq的值及其對應(yīng)的誤差代入插值公式計算出新的Kq值進行下一次的跟蹤控制;如此反復(fù),直到整定出滿足系統(tǒng)性能指標(biāo)的參數(shù)。Kqq的整定過程與Kq類似,只需將系統(tǒng)對正弦信號響應(yīng)的實際誤差與指標(biāo)要求一起作為參數(shù)整定的依據(jù)。
圖4 插值查找法整定KqFig.4 Tuning Kqbased on interpolation search algorithm
本文的參數(shù)整定方法測試與研究基于實驗室搭建的伺服系統(tǒng)縮比臺。整個系統(tǒng)主要由上位機、伺服控制器、電機和位置編碼器等構(gòu)成。伺服控制器接收上位機位置指令和編碼器反饋的位置信息計算控制量,經(jīng)D/A模塊輸出,驅(qū)動電機運動到指定的位置。同時,上位機軟件可以繪出系統(tǒng)實時跟蹤曲線和誤差曲線,以便分析。
圖5 復(fù)合參數(shù)整定法在實際系統(tǒng)中的工作流程Fig.5 Work flow chart of composite parameter tuning in actual system
復(fù)合參數(shù)整定法在實際系統(tǒng)實現(xiàn)的流程如圖5所示,Adapt_Step()函數(shù)基于二分查找法,通過多次循環(huán)可以整定出 Kp1和 Kd1,Adapt_Speed()和Adapt_Sin()函數(shù)均基于插值查找法,通過多次循環(huán)即可整定出Kq和Kqq。
按照二分查找法對Kp1和Kd1進行整定,得到的整定過程數(shù)據(jù)如表4所示。
表4 Kp1和Kd1整定過程數(shù)據(jù)Tab.4 Process data of Kp1and Kd1Tuning
系統(tǒng)按照參數(shù) Kp1=11.7,Kp2=7.2(式(5)計算得到),Kd1=4,Kd2=8(式(8)計算得到),跟蹤 90°的階躍信號,響應(yīng)曲線如圖6所示,系統(tǒng)調(diào)節(jié)時間為2.95 s,超調(diào)為0°,穩(wěn)態(tài)誤差為0.011°,滿足系統(tǒng)要求。
圖6 跟蹤90°階躍響應(yīng)曲線Fig.6 Response curve of 90°step signal
插值查找法對Kq進行整定,得到的整定過程數(shù)據(jù)如表5所示。系統(tǒng)按照參數(shù)Kq=35.5跟蹤30°/s的等速信號,響應(yīng)曲線如圖7所示,系統(tǒng)快速進入穩(wěn)態(tài),穩(wěn)態(tài)均方差為0.03°,滿足系統(tǒng)要求。
插值查找法對Kqq進行整定,得到的整定過程數(shù)據(jù)如表6所示。
系統(tǒng)參數(shù)Kqq=247.9跟蹤幅值60°、周期12.56 s的正弦信號,響應(yīng)曲線如圖8所示,系統(tǒng)快速進入穩(wěn)態(tài),穩(wěn)態(tài)均方差為0.055°,滿足系統(tǒng)要求。
表5 Kq整定過程數(shù)據(jù)Tab.5 Process data of KqTuning
圖7 跟蹤30°/s等速信號響應(yīng)曲線Fig.7 Response curve of tracking 30°/s constant signal
表6 Kqq整定過程數(shù)據(jù)Tab.6 Process data of KqqTuning
圖8 跟蹤60°正弦信號響應(yīng)曲線Fig.8 Response curve of tracking 60°sine signal
上文介紹了插值查找法整定Kq和Kqq的過程與結(jié)果,其實根據(jù)二分查找法也能夠?qū)q和Kqq進行整定,具體過程數(shù)據(jù)如表7和表8所示。
表7 Kq整定過程數(shù)據(jù)Tab.4 Process data of KqTuning
表8 Kqq整定過程數(shù)據(jù)Tab.8 Process data of KqqTuning
由表7和表8可以看出,二分查找法整定得到的參數(shù)雖然能夠很好地滿足系統(tǒng)控制要求,但與插值法整定相比需要更多次循環(huán)調(diào)節(jié),尤其是在參數(shù)范圍較大時,參數(shù)整定過程會較長。
在實際系統(tǒng)中測試時,首先用基于二分查找法的參數(shù)整定方法分別對Kp1、Kd1、Kq和Kqq進行整定,結(jié)果表明基于二分查找法的整定方法能夠快速整定出Kp1和Kd1,使得系統(tǒng)的任何階躍響應(yīng)快速且穩(wěn)定,但該方法整定前饋參數(shù)Kq和Kqq的過程會隨著參數(shù)范圍的增加線性增長。接著,采用復(fù)合參數(shù)整定法即基于二分查找對Kp1和Kd1整定,基于插值查找法對Kq和Kqq進行整定,結(jié)果表明基于插值查找法的前饋參數(shù)整定過程簡單快速,不受參數(shù)范圍大小的影響,整定結(jié)果也能很好地滿足系統(tǒng)動態(tài)跟蹤要求。
本文選用復(fù)合參數(shù)整定法在實際伺服系統(tǒng)中做了大量測試實驗,測試中將Kp1、Kd1、Kq和Kqq四個參數(shù)都整定完成作為一次成功的整定結(jié)果。由于Kp1和Kd1沒有初始值的任意性,測試中對Kq和Kqq選取不一樣的初始值進行約50次整定實驗,其中49次都能順利地整定出滿足系統(tǒng)要求的控制參數(shù),成功率為98%。同時,整定成功的49次實驗,整定過程快速,循環(huán)均不超過4次。伺服系統(tǒng)又分別根據(jù)49組成功整定出的參數(shù)對其他信號(不同于90°的階躍、30°/s的等速和幅值60°、周期12.56 s的正弦信號)進行跟蹤響應(yīng),控制效果均滿足要求。
PID控制及其改進控制算法是最通用的控制方法,對其參數(shù)整定有著重要的實際意義。本文提出了針對分區(qū)PID加前饋控制器的復(fù)合參數(shù)整定法,該方法基于二分查找法和插值查找法思想,將系統(tǒng)各項指標(biāo)性能作為控制器參數(shù)整定的依據(jù),避免了傳統(tǒng)PID參數(shù)整定方法的盲目性。該復(fù)合整定方法主要通過3個函數(shù)實現(xiàn),使得該方法的移植及維護完善相當(dāng)方便?;趯嶋H系統(tǒng)的測試結(jié)果在表明該方法的有效性的同時,也體現(xiàn)了其實現(xiàn)簡單,易被工程人員理解和掌握的特點。
隨著各種智能控制算法的有機結(jié)合,各種自適應(yīng)調(diào)節(jié)器參數(shù)整定方法的完善,參數(shù)的整定出最終達到全局最優(yōu),進一步提高控制系統(tǒng)的各項性能。
[1]王偉,張晶濤,柴天佑.PID參數(shù)先進整定方法綜述[J].自動化學(xué)報,2000,26(3):347-355.
[2]袁安富,伏俊杰.駕駛機器人油門機械腿模糊自整定PID控制方法[J].自動化與儀表,2013,28(3):5-9.
[3]王印松,岑煒,劉鴻達.直流鍋爐機組參數(shù)自適應(yīng)模糊PID控制[J].自動化與儀表,2010,25(1):29-33.
[4]陳煒峰,陳喜楊,余莉.基于DSP的專家PID控制在無刷直流電機的應(yīng)用[J].計算機測量與控制,2015,23(8):2834-2840.
[5]Zhang Ping,Yuan Mingzhe,et al.Self-tuning PID based on adaptive genetic algorithms with the application of activated sludge aeration process[C]//The Sixth World Congress on Intelligent Control and Automation,2006:9327-9330.
[6]晏亭太.智能自適應(yīng)PID/PD控制器設(shè)計及仿真研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2014.
[7]喬震.大慣量伺服系統(tǒng)智能PID算法研究[D].南京:南京理工大學(xué),2008.
[8]Hyesook Lim,Nara Lee.Survey and proposal on binary search algorithms for longest prefix match[J].IEEE Communications Surveys&Tutorials,2012,14(4):681-697.
[9]李從宏,王飛.二分查找法在PWM技術(shù)中的應(yīng)用[J].南京工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報,2012,12(2):28-29.
[10]葉三星,高偉.基于插值預(yù)測的快速查找算法[J].軟件導(dǎo)刊,2011,10(11):63-65.