黃文杰 向鳳紅 毛劍琳
(昆明理工大學(xué)信息工程與自動(dòng)化學(xué)院)
板球系統(tǒng)具有非線性系統(tǒng)的不確定性,是一類強(qiáng)耦合、欠驅(qū)動(dòng)動(dòng)力學(xué)系統(tǒng)的代表[1]。在這個(gè)系統(tǒng)中, 大量的優(yōu)化方案被應(yīng)用于小球的定點(diǎn)、軌跡跟蹤等運(yùn)動(dòng)。 李愛(ài)蓮和吳何琛在圖像處理上的優(yōu)化方案也被成功應(yīng)用于其中[2,3]。 PID控制作為一種經(jīng)典且有效的方法不僅在試驗(yàn)研究中廣泛應(yīng)用, 工業(yè)生產(chǎn)中的PID控制也很常見(jiàn)。 然而,Roy P等學(xué)者發(fā)現(xiàn), 由于板球系統(tǒng)對(duì)控制精度的要求較高,且實(shí)際控制中具有不確定性,PID控制始終無(wú)法在板球系統(tǒng)的控制中保持較好的物理非線性完整度[4,5]。 20世紀(jì)70年代以后,智能算法大量問(wèn)世,遺傳算法(GA)[6]、粒子群算法(PSO)[7]及蟻群算法(ACO)[8]等運(yùn)算能力較強(qiáng)的控制算法相繼與PID控制法相結(jié)合, 大幅度提高了其尋優(yōu)能力。但是,GA算法在處理較高維數(shù)的參數(shù)時(shí),易早熟并陷入局部收斂;PSO算法參數(shù)較多,在處理關(guān)聯(lián)性較大的參數(shù)能力上顯出不足;ACO算法則有收斂速度慢導(dǎo)致控制時(shí)間長(zhǎng)的問(wèn)題[9~11]。 因此,這些算法應(yīng)用于板球系統(tǒng)這一類欠驅(qū)動(dòng)、強(qiáng)耦合的非線性控制系統(tǒng)時(shí),其效果并不理想。
筆者提出了一種新的可應(yīng)用于板球系統(tǒng)的基于帝國(guó)競(jìng)爭(zhēng)算法(ICA)的PID控制方法。 選取GBP2001型板球系統(tǒng)作為研究對(duì)象, 主要對(duì)小球進(jìn)行定點(diǎn)控制。將試驗(yàn)數(shù)據(jù)導(dǎo)入Matlab軟件,與傳統(tǒng)的PID算法和GA-PID算法進(jìn)行對(duì)比, 看出筆者提出的ICA-PID算法在板球定點(diǎn)控制過(guò)程中取得了較好的效果。
以固高GBP2001型板球系統(tǒng)(圖1)作為試驗(yàn)平臺(tái), 以平板的支撐點(diǎn)作為原點(diǎn)建立坐標(biāo)系,分別在x、y兩個(gè)方向?qū)Π迩蛳到y(tǒng)完成解耦, 得出x方向和y方向的二維分解示意圖如圖2所示。
圖1 GBP2001型板球系統(tǒng)
圖2 板球系統(tǒng)二維分解示意圖
板球系統(tǒng)包括小球位置坐標(biāo)(x,y)、平板轉(zhuǎn)動(dòng)角度(q1,q2)等變量,由于板球系統(tǒng)是復(fù)雜的非線性系統(tǒng), 難以獲取其精確的數(shù)學(xué)模型, 對(duì)建模過(guò)程中在不影響系統(tǒng)特性的情況下作以下假設(shè):
a. 小球在平板上無(wú)滑動(dòng)和繞小球垂直中心軸旋轉(zhuǎn)的運(yùn)動(dòng);
b. 忽略小球與平板的角度以及平板面積的影響;
c. 小球在平板上時(shí)始終與之保持相接觸的狀態(tài);
d. 建模過(guò)程中,將小球和平板之間所有摩擦忽略不計(jì)。
建立系統(tǒng)的數(shù)學(xué)模型對(duì)于控制器的設(shè)計(jì)非常重要,由于板球系統(tǒng)屬于一類復(fù)雜的非線性系統(tǒng),為此筆者從能量的角度建立以拉格朗日法為基礎(chǔ)的數(shù)學(xué)模型。 板球系統(tǒng)中的各個(gè)參數(shù)見(jiàn)表1。
表1 板球系統(tǒng)參數(shù)表
以平板的幾何中心點(diǎn)為原點(diǎn)建立坐標(biāo)系,由于在忽略損耗的情況下能量保持守恒,設(shè)小球動(dòng)能為Tb,平板的動(dòng)能為Tp,則總動(dòng)能T=Tb+Tp。 對(duì)小球和平板分別列出能量方程:
同理, 板球系統(tǒng)總勢(shì)能V包括小球勢(shì)能Vb與平板勢(shì)能Vp,即V=Vb+Vp。 由于在能量分析中取平板為零勢(shì)能點(diǎn),故Vp=0。 小球勢(shì)能如下:
以拉格朗日法建立函數(shù)如下:
在實(shí)際操作中, 電機(jī)轉(zhuǎn)動(dòng)位置不受力矩影響,故將式(3)、(4)線性化后可得方程:
PID控制器已經(jīng)廣泛應(yīng)用在工業(yè)生產(chǎn)的過(guò)程控制中,它具有安裝簡(jiǎn)單、魯棒性強(qiáng)等特點(diǎn)。 PID控制原理如圖3所示。
圖3 PID控制原理
控制算法為:
其中,Kp為比例系數(shù),Ki為積分系數(shù),Kd為微分系數(shù);r(t1)、r(t2)、r(t3)是系統(tǒng)的3個(gè)輸入量,用控制誤差e(t)來(lái)表示:
遺傳算法是借鑒了進(jìn)化論和遺傳學(xué)的一種基于自然選擇和群體遺傳機(jī)理的搜索算法[12]。 其算法機(jī)理主要包括選擇、 交叉及變異等操作,經(jīng)過(guò)優(yōu)勝劣汰的過(guò)程,種群向最優(yōu)解不斷進(jìn)化。 因此, 遺傳算法就是群體不斷淘汰和進(jìn)化的過(guò)程,交叉概率Pc和變異概率Pm的值共同決定了算法的收斂性。 板球系統(tǒng)中應(yīng)用遺傳算法優(yōu)化PID參數(shù)主要有以下幾個(gè)步驟:
a. 隨機(jī)產(chǎn)生N個(gè)二進(jìn)制字符串, 取初始種群數(shù)量為100、迭代次數(shù)為20、交叉概率Pc為0.5、變異概率Pm為0.05;
b. 計(jì)算各個(gè)體的適應(yīng)度值以便參數(shù)尋優(yōu);
c. 應(yīng)用遺傳算法的復(fù)制、交叉和變異算子對(duì)群體進(jìn)行操作;
d. 選擇適應(yīng)度高的個(gè)體,同時(shí)淘汰適應(yīng)度低的個(gè)體;
e. 重復(fù)步驟c、d, 直至算法收斂或達(dá)到終止條件;
f. 最終的Kp、Ki、Kd值表示群體中適應(yīng)度最好的字符串。
2.3.1 初始化過(guò)程
在ICA中,初始解(country)由向量定義。 筆者研究的問(wèn)題可以轉(zhuǎn)化成大小為1×N的向量:
每個(gè)國(guó)家的成本值用函數(shù)f(country)來(lái)評(píng)估,類似于遺傳算法中的適應(yīng)度函數(shù):
初始化帝國(guó)競(jìng)爭(zhēng)算法,最初國(guó)家的數(shù)量定義為Npop, 選擇Nimp作為實(shí)力最強(qiáng)的國(guó)家建立帝國(guó),其余的Ncol(Ncol=Npop-Nimp)作為帝國(guó)殖民地。因此,帝國(guó)由帝國(guó)主體和一系列殖民地組成。 在最初的帝國(guó)集團(tuán)里, 殖民地?cái)?shù)量必須與其能量大小有關(guān), 能量大的帝國(guó)擁有的殖民地?cái)?shù)量也就越多,反之,則越少。 各個(gè)殖民地在帝國(guó)主體間按照比例被分配,其分配方法如下:
其中cn是第n個(gè)帝國(guó)的初始成本,減掉帝國(guó)中成本最大值后即為相對(duì)成本值Cn;pn為第n個(gè)帝國(guó)初始化分配后的勢(shì)力大小;NCn是第n個(gè)帝國(guó)分配到的殖民地?cái)?shù)量。 殖民地在最初分配時(shí)依據(jù)隨機(jī)分配的原則,但勢(shì)力強(qiáng)大的帝國(guó)會(huì)擁有更多的初始殖民地,勢(shì)力弱小的帝國(guó)會(huì)被分配到更少的殖民地?cái)?shù)量。
2.3.2 同化過(guò)程
在形成了最初的帝國(guó)之后,每個(gè)帝國(guó)的殖民地都開始通過(guò)向其相關(guān)的方向發(fā)展來(lái)提高自己的實(shí)力。 這個(gè)過(guò)程的目的是為了使殖民地問(wèn)題解的結(jié)構(gòu)與帝國(guó)所代表解的結(jié)構(gòu)更相似,所以被稱為同化過(guò)程(圖4)。
圖4 同化過(guò)程示意圖
如圖4所示, 殖民地向帝國(guó)方向移動(dòng)x個(gè)單位,其中x是一個(gè)隨機(jī)變量,服從均勻分布,可表示為:
其中,未同化之前帝國(guó)與殖民地之間的距離為d;γ是大于1的實(shí)數(shù),保證殖民地能從不同的方向靠近帝國(guó)。 最初的運(yùn)動(dòng)方向本質(zhì)上不是殖民地和帝國(guó)之間的矢量,為了模擬這個(gè)事實(shí),將偏差參數(shù)θ并入同化過(guò)程中有助于提高搜索能力。 θ的恰當(dāng)選擇對(duì)于帝國(guó)的集群化和多元化有很大影響,通常θ取π/4能夠很好地達(dá)到全局收斂效果[13]。
2.3.3 革命過(guò)程
與遺傳算法中的突變過(guò)程相似,ICA允許國(guó)家的社會(huì)政治特征突然出現(xiàn)變化,這個(gè)過(guò)程被稱為革命。 革命過(guò)程的出現(xiàn)能夠防止同化后算法在早期迭代中就收斂到局部最優(yōu)解。
2.3.4 更新及合并過(guò)程
在同化和革命過(guò)程之后,一個(gè)殖民地可能達(dá)到一個(gè)比它的成本還低的位置, 如同人類社會(huì)中,大多數(shù)帝國(guó)主義國(guó)家會(huì)選擇一個(gè)具有生存優(yōu)勢(shì)的位置確定都城,這種情況下就需要互換殖民地與帝國(guó)的地位:當(dāng)前帝國(guó)變?yōu)橹趁竦?,殖民地取代?dāng)前帝國(guó)。 圖5為帝國(guó)更新示意圖。
圖5 帝國(guó)更新示意圖
2.3.5 競(jìng)爭(zhēng)過(guò)程
一個(gè)帝國(guó)集團(tuán)經(jīng)過(guò)更新、合并等過(guò)程之后會(huì)具備一定的整體實(shí)力,這種整體實(shí)力是指主體帝國(guó)與所擁有的殖民地的能量的總和。 總成本TCn用帝國(guó)初始成本和包含的殖民地成本相加計(jì)算:
其中,wi為帝國(guó)集團(tuán)的殖民地的代價(jià)函數(shù)值;ξ是介于0~1之間的非負(fù)數(shù),ξ越小,帝國(guó)的總成本就越接近帝國(guó)國(guó)家的成本,反之越小。
帝國(guó)競(jìng)爭(zhēng)算法最重要的步驟之一是構(gòu)建帝國(guó)集團(tuán)之間的競(jìng)爭(zhēng)過(guò)程。 在這個(gè)機(jī)制中,最弱國(guó)中最弱的殖民地有極大的可能會(huì)被較強(qiáng)的帝國(guó)搶奪,各個(gè)帝國(guó)集團(tuán)在競(jìng)爭(zhēng)中生存。 最終導(dǎo)致的結(jié)果就是強(qiáng)的帝國(guó)越來(lái)越強(qiáng), 弱的帝國(guó)越來(lái)越弱。 為了開始這一過(guò)程,首先要對(duì)每個(gè)帝國(guó)的總成本進(jìn)行標(biāo)準(zhǔn)化,并計(jì)算占有概率Pn:
R為與Q大小相同, 參數(shù)介于0~1之間的通過(guò)均勻分布隨機(jī)數(shù)組成的向量。由向量Q減去R來(lái)計(jì)算向量D,D值最大的帝國(guó)即可占有自由殖民地。這種帝國(guó)獲取殖民地的方式只需極小的計(jì)算量,極大地提高了算法的計(jì)算效率。 與遺傳算法在交叉操作時(shí)選擇母類的輪盤賭過(guò)程相似,但該算法因?yàn)椴恍枰?jì)算累積分布函數(shù),能夠以更少的迭代次數(shù)尋找到全局最優(yōu)點(diǎn), 大幅提高了尋優(yōu)速度,從而減少了板球系統(tǒng)的控制時(shí)間。
2.3.6 帝國(guó)崩潰與融合過(guò)程
在帝國(guó)競(jìng)爭(zhēng)中, 影響力小的帝國(guó)會(huì)被強(qiáng)大的帝國(guó)掠奪從而逐漸失去他們的殖民地, 這導(dǎo)致弱小的帝國(guó)隨著時(shí)間的推移而崩潰, 最后所有的殖民地都被最強(qiáng)大的帝國(guó)占領(lǐng)。 當(dāng)所有帝國(guó)中最強(qiáng)大的一個(gè)帝國(guó)保存下時(shí)算法終止,設(shè)置一定的迭代次數(shù), 可選取算法停止時(shí)勢(shì)利最強(qiáng)的帝國(guó)作為輸出的最優(yōu)解。 將上述算法應(yīng)用于板球系統(tǒng)PID控制器的整定過(guò)程中,并設(shè)置跟蹤單位階躍響應(yīng)曲線的對(duì)比試驗(yàn)驗(yàn)證算法的優(yōu)越性。
采用傳統(tǒng)PID、GA-PID和筆者提出的ICA-PID這3種控制方法分別進(jìn)行試驗(yàn), 其中GA-PID控制算法根據(jù)文獻(xiàn)[14]的策略,設(shè)置種群數(shù)量為100、變異概率為0.05、交叉概率為0.5;ICA-PID算法中設(shè)總國(guó)家數(shù)為200、帝國(guó)數(shù)為8。 3種算法優(yōu)化同一個(gè)數(shù)學(xué)模型:
PID參數(shù)尋優(yōu)后, 單位階躍響應(yīng)如圖6所示,參數(shù)對(duì)比見(jiàn)表2。
圖6 單位階躍響應(yīng)對(duì)比曲線
表2 參數(shù)對(duì)比
綜上可以得出,采用ICA整定的PID階躍響應(yīng)比傳統(tǒng)PID和GA-PID對(duì)控制器的尋優(yōu)效果好,在板球系統(tǒng)控制試驗(yàn)中具有調(diào)節(jié)時(shí)間短、收斂速度快和穩(wěn)態(tài)誤差小的優(yōu)點(diǎn)。
為驗(yàn)證ICA-PID控制算法的實(shí)際可行性,另外設(shè)置了基于固高GBP2001型板球系統(tǒng)作為試驗(yàn)平臺(tái)的定點(diǎn)軌跡跟蹤試驗(yàn), 開始控制時(shí)初始PID參數(shù)值設(shè)置為Kp=20、Ki=1、Kd=120。 采用上述3種控制算法分別完成小球運(yùn)動(dòng)并穩(wěn)定停止在原點(diǎn)的控制試驗(yàn),記錄小球穩(wěn)定后的試驗(yàn)數(shù)據(jù)。
在忽略小球初始位置、光照強(qiáng)度等干擾因素的影響下進(jìn)行試驗(yàn),將最終數(shù)據(jù)導(dǎo)入到Matlab,以仿真曲線的形式反映小球在x、y兩個(gè)方向上的坐標(biāo)誤差變化和運(yùn)動(dòng)軌跡(圖7),具體數(shù)據(jù)見(jiàn)表3。
圖7 小球坐標(biāo)誤差變化和運(yùn)動(dòng)軌跡
表3 小球軌跡跟蹤誤差對(duì)比
在定點(diǎn)控制試驗(yàn)中,ICA-PID控制算法的小球軌跡較為簡(jiǎn)潔, 穩(wěn)定后的誤差值相對(duì)較小,基本滿足了控制精度的需求。 根據(jù)表3,在控制時(shí)間方面, 相比于傳統(tǒng)PID控制算法,ICA-PID控制算法能夠大幅度縮短控制時(shí)間,減小控制誤差并且優(yōu)化了PID控制整定參數(shù)不良的缺點(diǎn), 其優(yōu)化效果相比GA-PID算法在穩(wěn)定性和縮小超調(diào)量方面也具有優(yōu)勢(shì)。
主要研究了GPB2001非線性板球控制系統(tǒng),提出了ICA-PID算法整定PID控制參數(shù),以實(shí)現(xiàn)板球系統(tǒng)控制的優(yōu)化。 單位階躍響應(yīng)和小球定點(diǎn)控制仿真試驗(yàn),證明了ICA-PID算法在整定PID參數(shù)方面具有較強(qiáng)的參數(shù)尋優(yōu)能力,在板球系統(tǒng)中能夠成功應(yīng)用并且得到不錯(cuò)的控制效果。