王 坤
無論在傳統(tǒng)的PID控制器的設(shè)計中,還是在信號處理與分析領(lǐng)域中,常常需要對測量到的信號進(jìn)行求微分處理。由于理想微分器是物理不可實(shí)現(xiàn)的,在工程實(shí)際中往往采用一階比例微分環(huán)節(jié)或采用慣性環(huán)節(jié)來近似代替微分變換提取微分信號。但利用慣性環(huán)節(jié)進(jìn)行微分信號提取時,必須將慣性環(huán)節(jié)的時間常數(shù)設(shè)置的很小,時間常數(shù)越小,微分信號的逼近精度越高,但同時由于時間常數(shù)過小,使得噪聲放大效應(yīng)越明顯,嚴(yán)重時甚至?xí)蜎]真正有用的微分信號。對此,中國科學(xué)院系統(tǒng)所的韓京清研究員提出了一種有效地獲取一階微分信號的方法—跟蹤微分器(Tracking Differentiator,TD)。跟蹤微分器是自抗擾控制技術(shù)中的重要組成部分,利用它不僅能較好地復(fù)現(xiàn)系統(tǒng)的狀態(tài)信號,而且還能夠得到較為滿意的一階微分信號[1]。此外,通過多個跟蹤微分器的直接級聯(lián)還可以獲得二階甚至更高階的微分信號,因而得到了工程應(yīng)用領(lǐng)域的廣泛關(guān)注[2~5]。文獻(xiàn)[6]從二階系統(tǒng)的時間最速控制出發(fā),建立了基于符號函數(shù)的跟蹤微分器的數(shù)學(xué)模型。但由于所構(gòu)造的函數(shù)是非光滑、非連續(xù)的,在控制過程中會因切換而產(chǎn)生抖動,跟蹤和微分效果不夠理想,且收斂速度較慢。針對此問題,文獻(xiàn)[7~8]構(gòu)造了離散形式的最速跟蹤微分器,并在極值點(diǎn)附近設(shè)置線性區(qū)域以消除抖動。文獻(xiàn)[9~11]在此前研究的基礎(chǔ)上,從構(gòu)造的綜合控制函數(shù)出發(fā),又對跟蹤微分器的數(shù)學(xué)模型進(jìn)行了一系列的改進(jìn),提出了不同形式的數(shù)學(xué)模型。但是在這些文獻(xiàn)里所建立的跟蹤微分器的數(shù)學(xué)模型中存在一個共同的問題,就是在其數(shù)學(xué)模型的表達(dá)式中含有多個未知的待定參數(shù),而這些參數(shù)的取值將直接影響到跟蹤微分器輸出的跟蹤信號以及其一階微分信號的精度。
為此,本文以跟蹤微分器常見的時間連續(xù)形式和離散形式的數(shù)學(xué)模型為研究對象,將粒子群優(yōu)化算法及非線性系統(tǒng)神經(jīng)網(wǎng)絡(luò)建模的思想引入跟蹤微分器的未知參數(shù)整定問題,提出了基于改進(jìn)型粒子群算法的BP神經(jīng)網(wǎng)絡(luò)建立跟蹤微分器數(shù)學(xué)模型的設(shè)計方法。通過對單個和級聯(lián)的跟蹤微分器系統(tǒng)的仿真,表明利用該方法設(shè)計的跟蹤微分器具有良好的動態(tài)響應(yīng),得到的各階次“微分信號”的精度較高,并且利用文中所提出基于IPSO-BP神經(jīng)網(wǎng)絡(luò)設(shè)計出的跟蹤微分器還具有較強(qiáng)的魯棒性。
跟蹤微分器是一個動態(tài)的濾波、求導(dǎo)系統(tǒng)。輸入控制系統(tǒng)的狀態(tài)信號v(t),它將輸出兩個信號x1(t),x2(t),其中x1(t)是對輸入信號v(t)的跟蹤與復(fù)原,x2(t)是x1(t)的微分,即為v(t)的一階微分信號x2(t)≈v˙(t)。由跟蹤微分器得到的微分信號是輸入信號廣義導(dǎo)數(shù)的一種光滑逼近。
為了驗證本文算法的正確性,在此給出兩種非線性跟蹤-微分器的具體形式[6~8]。
由二階最速開關(guān)系統(tǒng),可以得到二階時間連續(xù)跟蹤-微分器的數(shù)學(xué)模型為
其中
時間連續(xù)形式的跟蹤-微分器是根據(jù)二階系統(tǒng)的時間最優(yōu)控制得到的,具有良好的快速性。通過在開關(guān)線附近添加適當(dāng)線性區(qū)域會更進(jìn)一步改善輸出信號的性能,減小顫振,得到比較好的跟蹤和微分效果性。
為了消除原點(diǎn)附近的顫振,提高系統(tǒng)的穩(wěn)態(tài)精度,改善系統(tǒng)動態(tài)響應(yīng)特性,在大量的研究基礎(chǔ)上,提出了跟蹤微分器的離散形式。跟蹤-微分器的離散形式如下
通過上面的分析可以看出,跟蹤-微分器連續(xù)時間形式的數(shù)學(xué)模型中,參數(shù)R,δ為未知參量。跟蹤-微分器離散時間形式的數(shù)學(xué)模型中,參數(shù)h,r也是待定的未知參數(shù)。而這些參數(shù)的取值是否合適,將直接影響到跟蹤-微分器獲取精確跟蹤和微分信號的效果。
人工神經(jīng)網(wǎng)絡(luò)是以工程技術(shù)手段從微觀結(jié)構(gòu)與功能上對人腦神經(jīng)系統(tǒng)的模擬而建立起來的一類非線性模型,具有模擬人的部分思維的能力,其特點(diǎn)是具有非線性特性、學(xué)習(xí)能力和自適應(yīng)性,是模擬人的智能的一條重要途徑。它由簡單信息處理單元互連組成網(wǎng)絡(luò),能接收并處理信息。神經(jīng)網(wǎng)絡(luò)的信息處理由處理單元之間的相互作用來實(shí)現(xiàn),它是通過把問題表達(dá)成處理單元之間的連接權(quán)來處理的。
BP神經(jīng)網(wǎng)絡(luò)是一種靜態(tài)自學(xué)習(xí)前饋逼近式網(wǎng)絡(luò),具有很強(qiáng)的學(xué)習(xí)功能,由于其自身所具有的信息分布式存儲和并行處理的特點(diǎn),使其被廣泛地應(yīng)用于模式識別,非線性系統(tǒng)辨識等領(lǐng)域。盡管在很多控制工程領(lǐng)域取得了很大的成功,但是BP神經(jīng)網(wǎng)絡(luò)仍然存在著一些問題,主要表現(xiàn)在兩個方面,一是BP網(wǎng)絡(luò)的訓(xùn)練時間長,學(xué)習(xí)算法收斂慢,甚至不收斂,出現(xiàn)訓(xùn)練失敗的問題;二是BP網(wǎng)絡(luò)所采用的梯度下降的修正算法,使網(wǎng)絡(luò)易陷入局部極值,并且無法逃離局部極值點(diǎn)。因此近年來BP網(wǎng)絡(luò)的優(yōu)化成為了BP網(wǎng)絡(luò)研究的重點(diǎn)之一。
粒子群算法由電氣工程師R.Eberhart和美國心理學(xué)家Kennedy共同提出,通過模擬鳥群覓食過程中的遷徙和群聚行為而提出的一種基于群體智能的全局隨機(jī)搜索算法。在粒子群算法中,搜索空間內(nèi)的每個粒子都代表一個可行解,利用適應(yīng)度函數(shù)可以求出種群中所有粒子的適應(yīng)值。根據(jù)計算得到的適應(yīng)度值,粒子依據(jù)當(dāng)前最好的個體值和群體中所有粒子的最優(yōu)值,更新自身的位置與速度,直到找到適應(yīng)度函數(shù)最小的最優(yōu)值時停止更新。每個粒子的速度和位置按下述公式進(jìn)行更新[12]:
式中,Xi表示第i個粒子在空間中的位置向量;Vi表示第i個粒子的飛行速度向量。
第i個粒子搜索到的歷史最優(yōu)位置表示為pi,整個群體搜索到的最優(yōu)位置表示為 pg,它是所有pi中的最優(yōu)值。ωk稱為慣性權(quán)重,通常在[0,1]之間取值,它表示使微粒保持運(yùn)動慣性的能力,使其具有擴(kuò)展搜索空間的趨勢。c1和c2為實(shí)常數(shù),稱之為加速度系數(shù),表示將每個粒子推向個體最優(yōu)解和全局最優(yōu)解的統(tǒng)計加速度的權(quán)重,用于調(diào)節(jié)該粒子向自身已尋找到的最優(yōu)位置和同伴已尋找到的最優(yōu)位置方向飛行的最大步長;r1和r2為[0,1]之間的隨機(jī)數(shù)。
粒子群算法采用直接尋優(yōu)的原理,這使得其收斂速度要比遺傳算法等優(yōu)化算法速度要快,但是這也導(dǎo)致算法存在容易早熟收斂等缺點(diǎn),為此在本文中采用可變慣性權(quán)值的方法,改善現(xiàn)有算法性能。
慣性權(quán)重表示粒子現(xiàn)有速度對先前速度的取舍程度,當(dāng)慣性權(quán)重較大時有利于粒子群在全局范圍內(nèi)進(jìn)行搜索,而當(dāng)權(quán)重值較小時將更有利于粒子群進(jìn)行局部搜索,但陷入局部極小的可能會大大增加。綜合考慮慣性權(quán)重的全局和局部的搜索能力,在尋優(yōu)的過程中按照式(5)不斷調(diào)整慣性權(quán)重系數(shù)值。
式中,ωmax表示慣性權(quán)重系數(shù)的最大值,通常在0.8~1.2之間取值,ωmin表示權(quán)重系數(shù)的最小值,通常取為0.4。Ma xk表示最大迭代次數(shù),k表示當(dāng)前迭代次數(shù)。
將改進(jìn)型粒子群優(yōu)化算法的思想引入到BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練中,用改進(jìn)后的粒子群優(yōu)化算法替代誤差反向傳播算法中的梯度修正,可以實(shí)現(xiàn)縮短網(wǎng)絡(luò)訓(xùn)練時間,提高網(wǎng)絡(luò)收斂精度的目的。具體的訓(xùn)練方法是,用粒子群中的每個粒子的位置表示BP網(wǎng)絡(luò)中所有待定權(quán)值和閾值的集合,每個粒子的維度由BP網(wǎng)絡(luò)的結(jié)構(gòu)所決定,即維數(shù)等于BP網(wǎng)絡(luò)中的權(quán)值與閾值的數(shù)量之和。以給定訓(xùn)練樣本的BP神經(jīng)網(wǎng)絡(luò)的輸出誤差的均方函數(shù)作為IPSO算法的適應(yīng)度函數(shù),其數(shù)學(xué)表達(dá)式如式(6)所示。
適應(yīng)度函數(shù)值反映了神經(jīng)網(wǎng)絡(luò)的訓(xùn)練誤差,適應(yīng)度值越小則說明粒子在搜索過程中,使得BP網(wǎng)絡(luò)所建立的非線性映射關(guān)系與實(shí)際非線性函數(shù)的吻合度越好。
利用IPSO算法訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)的算法流程圖如圖1所示。
圖1 基于IPSO算法的BP網(wǎng)絡(luò)訓(xùn)練流程圖
由跟蹤微分器的數(shù)學(xué)模型(1~2)可見,連續(xù)時間模型中的待定參數(shù)R和δ或離散時間模型中的待定參數(shù)h和r都將直接影響跟蹤微分器的輸出量x1(t),x2(t)的形式及精度。因此,為了確定模型中的待定參數(shù),將神經(jīng)網(wǎng)絡(luò)建立非線性系統(tǒng)數(shù)學(xué)模型的思想引入?yún)?shù)整定,提出基于IPSO-BP神經(jīng)網(wǎng)絡(luò)建立跟蹤微分器數(shù)學(xué)模型的設(shè)計方法。
從跟蹤微分器數(shù)學(xué)模型的表達(dá)式可以看出,模型中的未知參數(shù)與模型輸出信號之間可以被視為一種特殊的非線性映射,因此可以利用非線性的神經(jīng)網(wǎng)絡(luò)建立該映射,從而建立未知參數(shù)與輸出信號之間的對應(yīng)關(guān)系。具體的做法是,首先給定一組未知參數(shù),通過龍格庫塔算法求解一階微分方程組,得到一組與未知參數(shù)相對應(yīng)的跟蹤信號和一階微分信號,將跟蹤微分器的輸出信號與未知參數(shù)之間構(gòu)成一組訓(xùn)練樣本。選取多組未知參數(shù),采用同樣的算法,即可獲得訓(xùn)練樣本集。接下來,利用所獲取的訓(xùn)練樣本集對基于IPSO-BP神經(jīng)網(wǎng)絡(luò)加以訓(xùn)練,訓(xùn)練結(jié)束時,所構(gòu)造的IPSO-BP網(wǎng)絡(luò)將建立跟蹤微分器的輸出信號與未知參數(shù)之間的非線性數(shù)學(xué)關(guān)系。最后,將理想的跟蹤信號及其一階微分信號輸入神經(jīng)網(wǎng)絡(luò),即可確定未知參數(shù)值,從而達(dá)到設(shè)計跟蹤微分器的目的。以連續(xù)時間形式的數(shù)學(xué)模型的設(shè)計為例,給出基于IPSO-BP網(wǎng)絡(luò)的TD中待定參數(shù)確定的算法流程圖,如圖2所示。
圖2 跟蹤微分器未知參數(shù)整定算法流程圖
為了驗證文中所提出的基于IPSO-BP神經(jīng)網(wǎng)絡(luò)的跟蹤-微分器設(shè)計方法的正確性,以單個跟蹤微分器的常用連續(xù)形式和離散形式的數(shù)學(xué)模型為研究對象,采用連續(xù)可微的信號為輸入量,分別給出了單個跟蹤微分器的跟蹤輸出及一階微分信號輸出,并在不改變跟蹤微分器待定參數(shù)的前提下,通過兩個跟蹤微分器的直接級聯(lián)獲取原有輸入信號的二階微分信號,由此來驗證利用文中所提出的方法設(shè)計的跟蹤微分器具有較好的魯棒性。
為了便于分析比較,文中采用的輸入信號的形式為
仿真結(jié)果如下:
1)連續(xù)時間的跟蹤-微分器
根據(jù)文中的設(shè)計方法,首先設(shè)計一級跟蹤微分器的數(shù)學(xué)模型,仿真結(jié)果如圖3所示。
圖3 一階跟蹤微分器仿真圖
由仿真圖3可見,采用文中設(shè)計方法所構(gòu)造的跟蹤微分器能很好的給出原有信號的跟蹤信號及其一階微分信號,跟蹤誤差達(dá)到1.6×10-7。
為了驗證參數(shù)設(shè)計方法的有效性以及由該算法所得到的待定參數(shù)的魯棒性,將兩個相同的跟蹤微分器直接級聯(lián),由第二個跟蹤微分器直接獲取原有輸入信號的二階微分信號,仿真曲線如圖4所示。
圖4 二階微分信號仿真曲線
圖5 離散形式跟蹤微分器仿真圖
從仿真圖3和圖4可以看出,采用文中所提算法設(shè)計的跟蹤微分器不但能獲取較高精度的一階微分信號,而且僅通過直接級聯(lián)的方式就可以獲取二階微分信號,并且其精度也較高。
2)離散時間的跟蹤-微分器
按照相同的設(shè)計方法,利用IPSO-BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練獲取離散形式的跟蹤微分器中的未知參數(shù)。為了便于比較,仍先設(shè)計一級跟蹤微分器的數(shù)學(xué)模型,再通過直接級聯(lián)的方式獲取高階的微分信號。仿真結(jié)果如圖5所示。
從仿真圖5中可以看出,文中所提出的設(shè)計方法同樣適用于跟蹤微分器離散模型的設(shè)計,仍可以得到高精度的跟蹤、一階微分信號和二階微分信號。但同時也應(yīng)注意到,由兩個TD串聯(lián)后得到的二階微分信號在初始時間段內(nèi),產(chǎn)生了明顯的震蕩,這主要是由于離散結(jié)構(gòu)形式在生成高階微分信號時,會產(chǎn)生隨機(jī)噪聲。因此,在實(shí)際使用離散形式的高階跟蹤微分器時,應(yīng)避開第一個周期,從第二個周期開始提取微分信號。
本文在對跟蹤微分器的連續(xù)時間和離散時間形式的數(shù)學(xué)模型研究的基礎(chǔ)上,結(jié)合前饋型神經(jīng)網(wǎng)絡(luò)建立非線性系統(tǒng)數(shù)學(xué)模型的原理,提出了基于IPSO-BP神經(jīng)網(wǎng)絡(luò)的跟蹤微分器的設(shè)計方法。通過對一級、二級連續(xù)時間和離散時間的跟蹤微分器系統(tǒng)的仿真表明,該算法不僅可以獲得高精度的系統(tǒng)跟蹤信號和一階微分信號,而且通過簡單的直接級聯(lián)的方式還能獲取較高精度的二階微分信號。此外,文中所提出的參數(shù)整定算法具有一定的擴(kuò)展性,可以用于其他形式的跟蹤微分器數(shù)學(xué)模型的設(shè)計。
[1]韓京清.自抗擾控制技術(shù)—估計補(bǔ)償不確定因素的控制技術(shù)[M].北京:國防工業(yè)出版社,2009:59-79.
[2]張海麗,張宏立.微分跟蹤器的研究與應(yīng)用[J].化工自動化及儀表,2012,40(4):474-477.
[3]付瑞玲,李文方.跟蹤微分器在生物雷達(dá)中的應(yīng)用[J].自動化技術(shù)及應(yīng)用,2014,33(3):59-61.
[4]Jin Longxu,Zhang Ke.The Application of Tracking Differ?entiator in Variable Speed Servo Control System[J].2nd International Conference on Intelligent Materials and Me?chatronics,2015,IMM 2015:91-95.
[5]Li Xiaoqi,Wang Wei,Yi Jianqiang.Stable Transition of Quadruped Rhythmic Motion Using the Tracking Differen?tiator[J],Journal of Harbin Institute of Technology,2015,10:9-16.
[6]韓京清,王偉.非線性跟蹤-微分器[J].系統(tǒng)科學(xué)與數(shù)學(xué),1994,14(2):177-183.
[7]韓京清,袁露林.跟蹤微分器的離散形式[J].系統(tǒng)科學(xué)與數(shù)學(xué),1999,19(3):268-273.
[8]孫彪,孫秀霞.離散系統(tǒng)最速控制綜合函數(shù)[J].控制與決策,2010,25(3):473-477.
[9]史永麗,侯朝楨.改進(jìn)的非線性跟蹤微分設(shè)計[J].控制與決策,2008,23:647-650.
[10]程春華,胡云安,吳進(jìn)華.輸入非仿射不確定系統(tǒng)的跟蹤控制[J].系統(tǒng)工程與電子技術(shù),2014,36(2):354-360.
[11]謝云德,李云鋼,佘龍華.一種基于邊界特征線的二階非線性離散跟蹤微分器[J].信息與控制,2014,43(3):257-263.
[12]王坤,張立廣,王琪.基于改進(jìn)型粒子群算法的擴(kuò)張狀態(tài)觀測器[J].國外電子測量技術(shù),2017,36(08):66-70.