一種基于粒子群算法pid分離的參數(shù)整定方法
【專利摘要】本發(fā)明公開了一種基于粒子群算法PID分離的參數(shù)整定方法,包括以下步驟:初始化設定粒子群的粒子個數(shù),慣性系數(shù),加速系數(shù),粒子最大迭代次數(shù),初始速度,對應每個粒子的空間位置分量和PID初始值;計算每個粒子對應的目標函數(shù)值;根據(jù)目標函數(shù)值更新個體最優(yōu)的粒子位置、全局最優(yōu)粒子位置、每個粒子的位置分量,再根據(jù)PID映射公式,更新對應每個粒子此次迭代的PID的值;重復迭代,直到迭代結束;輸出全局最優(yōu)PID參數(shù)值和對應的PID值。本發(fā)明在常規(guī)的粒子群優(yōu)化算法中加入了PID映射的算法,可以將粒子空間位置分量映射到三維的PID參數(shù)空間中,這樣便于算法篩選出最優(yōu)的粒子位置,提高PID參數(shù)整定的效率。
【專利說明】
一種基于粒子群算法PID分離的參數(shù)整定方法
技術領域
[0001]本發(fā)明涉及一種交流電機的PID參數(shù)整定方法,特別涉及一種基于粒子群算法PID 分離的參數(shù)整定方法。
【背景技術】
[0002] PID(比例(proportion)、積分(integral)、導數(shù)(derivative))控制器作為最早實 用化的控制器已有近百年歷史。PID控制器簡單易懂,使用中不需精確的系統(tǒng)模型等先決條 件,因而成為應用最為廣泛的控制器,廣泛應用于工業(yè)控制,比如電機速度控制系統(tǒng)等。但 傳統(tǒng)的PID值通常使用手動調(diào)節(jié),耗費較多的時間且往往不容易得到最優(yōu)的PID參數(shù)。因此 國內(nèi)外研究人員對PID的整定放大進行了大量的研究,但交流電機的速度控制器PID參數(shù)整 定仍然是一個待完善和待解決的問題。
【發(fā)明內(nèi)容】
[0003] 為了解決上述技術問題,本發(fā)明提供一種方便、快捷的基于粒子群算法PID分離的 參數(shù)整定方法。
[0004] 本發(fā)明解決上述問題的技術方案是:一種基于粒子群算法PID分離的參數(shù)整定方 法,包括以下步驟:
[0005] 步驟一:初始化設定粒子群的粒子個數(shù),慣性系數(shù),加速系數(shù),粒子最大迭代次數(shù), 初始速度,對應每個粒子的空間分量和PID初始值;
[0006] 步驟二:計算每個粒子在交流電機中對應的目標函數(shù)值;
[0007] 步驟三:根據(jù)目標函數(shù)值,更新個體最優(yōu)的粒子位置,更新全局最優(yōu)粒子位置;更 新每個粒子的位置分量,再根據(jù)PID映射公式,更新對應每個粒子此次迭代的PID的值;
[0008] 步驟四:判斷當前迭代次數(shù)是否和最大迭代次數(shù)相等,若是,則跳出迭代,執(zhí)行步 驟五;若否,則當前迭代次數(shù)加1,跳到步驟二;
[0009] 步驟五:輸出全局最優(yōu)PID參數(shù)值和對應的PID值。
[0010] 上述基于粒子群算法PID分離的參數(shù)整定方法,所述步驟二中,目標函數(shù)為:
[0011] f = /t I S-Sref I dt
[0012]其中,S為電機實測速度,Sref為預期速度,t為時間。
[0013] 上述基于粒子群算法PID分離的參數(shù)整定方法,所述步驟三中,更新個體最優(yōu)的粒 子位置具體步驟為:將此次迭代個體最優(yōu)值與歷史個體最優(yōu)值進行比較,如果此次迭代個 體最優(yōu)值大于或者等于歷史個體最優(yōu)值,則不更新個體最優(yōu)的粒子位置;如果此次迭代個 體最優(yōu)值小于歷史個體最優(yōu)值,則將此次迭代個體最優(yōu)值作為當前個體最優(yōu)值,更新個體 最優(yōu)值。
[0014] 上述基于粒子群算法PID分離的參數(shù)整定方法,所述步驟三中,更新全局最優(yōu)粒子 位置具體步驟為:判斷找到的此次迭代的全局最優(yōu)粒子位置是否小于歷史全局最優(yōu)粒子位 置;如果是,則將此次迭代的全局最優(yōu)粒子位置作為當前全局最優(yōu)粒子位置;否,則不更新, 繼續(xù)沿用歷史全局最優(yōu)粒子位置。
[0015] 上述基于粒子群算法PID分離的參數(shù)整定方法,所述步驟三中,每個粒子的位置分 量更新公式為:
[0016] r*+1 = inf + α{}\(Phestf - xf ) + a2r2(Gbest - x*)
[0017] 4a=4+vhi
[0018] 其中,為第k個粒子第i+1次迭代的速度,:為第k個粒子第i次迭代的速度;xf為 第k個粒子第i次迭代的位置分量,為第k個粒子第i+Ι次迭代的位置分量;〇和^為(0,1) 之間的隨機數(shù),為第k個粒子第i次迭代時找到的個體最優(yōu)值,Gbest為當前找到的全 局最優(yōu)值。
[0019] 上述基于粒子群算法PID分離的參數(shù)整定方法,所述步驟三中,PID映射公式為:
[0023]其中,靖丨,心和球!為對應粒子xL的PID參數(shù),即為第i + Ι次迭代的P,I和D; ,/f和£)f分別為對應于第K個粒子第i次迭代的P,I和D參數(shù);τΡ,τ^Ρτ?)分別為P,I和D分 離系數(shù);λΡ,λ^Ρλυ分別為映射的方向系數(shù),具體公式如下:
[0027] 其中,;if,/f和Z)f為對應第k個粒子在第i次迭代時的Ρ,Ι和D參數(shù)。
[0028] 本發(fā)明的有益效果在于:本發(fā)明在常規(guī)的粒子群優(yōu)化算法中加入了 PID映射的算 法,可以將粒子空間位置分量映射到三維的PID參數(shù)空間中。其中,方向系數(shù)λ決定著P,I和D 映射的方向,保證Ρ,Ι和D的值都為正值;分離系數(shù)τΡ,τ4Ρτ?)決定著Ρ,Ι和D映射的步長,保證 PID系數(shù)在解空間里快速地增加。在本方法中,方向系數(shù)和分離系數(shù)可以更好地對應空間粒 子的PID參數(shù)進行控制,這樣便于算法篩選出最優(yōu)的粒子位置,可以快速方便地整定出交流 電機速度控制器的PID的值,節(jié)省了PID整定的時間,提高PID參數(shù)整定的效率,保證系統(tǒng)的 正常運行。
【附圖說明】
[0029] 圖1為本發(fā)明的流程圖。
[0030] 圖2為本發(fā)明的原理圖。
【具體實施方式】
[0031]下面結合附圖和實施例對本發(fā)明作進一步的說明。
[0032]如圖1所示,本發(fā)明步驟如下:
[0033] 步驟一:初始化設定粒子群的粒子個數(shù)η,慣性系數(shù)w,加速系數(shù)ai和a2,粒子最大迭 代次數(shù)m,初始速度v,每個粒子的空間分量位置和與每個粒子相對應的PID初始值;
[0034] 步驟二:將粒子群中每個粒子對應的PID值代入交流電機的速度控制器中,如圖2 所示。計算并得到對應的目標函數(shù)值f,f = /t I S-Srrf I dt,其中,S為電機實測速度,Srrf為預 期速度,t為時間。
[0035] 步驟三:根據(jù)目標函數(shù)值,更新個體最優(yōu)的粒子位置,更新全局最優(yōu)粒子位置;更 新每個粒子的位置分量,再根據(jù)PID映射公式,更新對應每個粒子此次迭代的PID的值。具體 步驟為:
[0036] 3-1)根據(jù)目標函數(shù),找到目標函數(shù)值里的最小值,即為此次迭代個體最優(yōu)的粒子 位置,再根據(jù)找到的所有粒子的此次迭代的個體最優(yōu)值的最小值,即為此次迭代的全局最 優(yōu)粒子位置。
[0037] 3-2)更新個體最優(yōu)的粒子位置,具體步驟為:將此次迭代個體最優(yōu)值與歷史個體 最優(yōu)值進行比較,如果此次迭代個體最優(yōu)值大于或者等于歷史個體最優(yōu)值,則不更新個體 最優(yōu)的粒子位置;如果此次迭代個體最優(yōu)值小于歷史個體最優(yōu)值,則將此次迭代個體最優(yōu) 值作為當前個體最優(yōu)值,更新個體最優(yōu)值。
[0038] 3-3)更新全局最優(yōu)粒子位置,具體步驟為:判斷步驟3-1)中找到的此次迭代的全 局最優(yōu)粒子位置是否小于歷史全局最優(yōu)粒子位置;如果是,則將此次迭代的全局最優(yōu)粒子 位置作為當前全局最優(yōu)粒子位置;否,則不更新,繼續(xù)沿用歷史全局最優(yōu)粒子位置。
[0039] 3-4)更新每個粒子的速度與分量位置,每個粒子的位置分量更新公式為:
[0040] = irvf +〇[/[( Pbest^ - x*) + a2r2 (Gbest - )
[0041 ] 4:n=xf+vf+l
[0042]其中,ν^Η為第k個粒子第i + 1次迭代的速度,vf.為第k個粒子第i次迭代的速度;^ 為第k個粒子第i次迭代的位置分量,為第k個粒子第i+1次迭代的位置分量;〇和^為(0, 1)之間的隨機數(shù),為第k個粒子第i次迭代時找到的個體最優(yōu)值,Gbest為當前找到的 全局最優(yōu)值。
[0043] 3-5)根據(jù)PID映射公式,更新對應每個粒子此次迭代的PID的值,PID映射公式為:
[0047]其中,硪i,祀i和At為對應粒子的PID參數(shù),即為第i + 1次迭代的P,I和D; if,<和分別為對應于第K個粒子第i次迭代的P,I和D參數(shù);τΡ,τ4Ρτ?)分別為P,I和D分 離系數(shù);λ Ρ,λ^Ρλυ分別為映射的方向系數(shù),具體公式如下:
[0051 ] 其中,;/f , /f和D/為對應第k個粒子在第i次迭代時的Ρ,I和D參數(shù)。此處的方向 系數(shù)λ起著決定映射的PID隨著優(yōu)化迭代方向的作用。分離系數(shù)τ起著映射的PID參數(shù)隨著優(yōu) 化迭代的變化步長的大小。
[0052]步驟四:判斷當前迭代次數(shù)是否和最大迭代次數(shù)m相等,若是,則跳出迭代,執(zhí)行步 驟五;若否,則當前迭代次數(shù)加1,跳到步驟二。
[0053]步驟五:輸出全局最優(yōu)PID參數(shù)值和對應的PID值。
【主權項】
1. 一種基于粒子群算法PID分離的參數(shù)整定方法,包括w下步驟: 步驟一:初始化設定粒子群的粒子個數(shù),慣性系數(shù),加速系數(shù),粒子最大迭代次數(shù),初始 速度,對應每個粒子的空間分量和PID初始值; 步驟二:計算每個粒子在交流電機中對應的目標函數(shù)值; 步驟Ξ:根據(jù)目標函數(shù)值,更新個體最優(yōu)的粒子位置,更新全局最優(yōu)粒子位置;更新每 個粒子的位置分量,再根據(jù)PID映射公式,更新對應每個粒子此次迭代的PID的值; 步驟四:判斷當前迭代次數(shù)是否和最大迭代次數(shù)相等,若是,則跳出迭代,執(zhí)行步驟五; 若否,則當前迭代次數(shù)加1,跳到步驟二; 步驟五:輸出全局最優(yōu)PID參數(shù)值和對應的PID值。2. 根據(jù)權利要求1所述的基于粒子群算法PID分離的參數(shù)整定方法,其特征在于:所述 步驟二中,目標函數(shù)為: f = /t I S-Sref I dt 其中,S為電機實測速度,Sref為預期速度,t為時間。3. 根據(jù)權利要求1所述的基于粒子群算法PID分離的參數(shù)整定方法,其特征在于:所述 步驟Ξ中,更新個體最優(yōu)的粒子位置具體步驟為:將此次迭代個體最優(yōu)值與歷史個體最優(yōu) 值進行比較,如果此次迭代個體最優(yōu)值大于或者等于歷史個體最優(yōu)值,則不更新個體最優(yōu) 的粒子位置;如果此次迭代個體最優(yōu)值小于歷史個體最優(yōu)值,則將此次迭代個體最優(yōu)值作 為當前個體最優(yōu)值,更新個體最優(yōu)值。4. 根據(jù)權利要求3所述的基于粒子群算法PID分離的參數(shù)整定方法,其特征在于:所述 步驟Ξ中,更新全局最優(yōu)粒子位置具體步驟為:判斷找到此次迭代的全局最優(yōu)粒子位置是 否小于歷史全局最優(yōu)粒子位置;如果是,則將此次迭代的全局最優(yōu)粒子位置作為當前全局 最優(yōu)粒子位置;否,則不更新,繼續(xù)沿用歷史全局最優(yōu)粒子位置。5. 根據(jù)權利要求4所述的基于粒子群算法PID分離的參數(shù)整定方法,其特征在于:所述 步驟Ξ中,每個粒子的位置分量更新公式為:其中,戊1為第k個粒子第i+1次迭代的速度,vf為第k個粒子第i次迭代的速度;壞為第k個 粒子第i次迭代的位置分量,為1為第k個粒子第i + 1次迭代的位置分量;ri和η為(0,1)之間 的隨機數(shù),掛故《為第k個粒子第i次迭代時找到的個體最優(yōu)值,Gbest為當前找到的全局最 優(yōu)值。6. 根據(jù)權利要求5所述的基于粒子群算法PID分離的參數(shù)整定方法,其特征在于:所述 步驟Ξ中,PID映射公式為:其中,韓,,複1和轅1:為對應粒子記1的PID參數(shù),即為第i+1次迭代的P,I和D;Pik,婷和 蠟分別為對應于第K個粒子第i次迭代的P,I和D參數(shù);τρ,τι和TD分別為P,I和D分離系數(shù);λρ, λι和λ〇分別為映射的方向系數(shù),具體公式如下:其中,;Pik,皆和Df為對應第k個粒子在第i次迭代時的Ρ,巧陽參數(shù)。
【文檔編號】G05D13/62GK106094910SQ201610704401
【公開日】2016年11月9日
【申請日】2016年8月22日
【發(fā)明人】于文新, 王俊年, 隋永波, 王振恒
【申請人】湖南科技大學