房懷媛,楊中艷
(臨沂大學(xué),山東 臨沂 273400)
當(dāng)前對于系統(tǒng)辨識問題的研究,主要是把離散系統(tǒng)當(dāng)作對象實(shí)施參數(shù)估計(jì),已經(jīng)發(fā)展出了一整套研究方法和理論體系。隨著數(shù)字電子與計(jì)算機(jī)等技術(shù)功能的不斷強(qiáng)大與成本的逐漸降低,在控制系統(tǒng)領(lǐng)域,越來越多的工程技術(shù)工作者與研究人員開始追求純數(shù)字化目標(biāo),使離散系統(tǒng)辨識問題獲得了極大發(fā)展[1]。而與之相對的連續(xù)系統(tǒng)辨識問題則研究者整體較少。然而離散差分系數(shù)僅具備數(shù)學(xué)方面的含義,無法像連續(xù)系統(tǒng)對應(yīng)的微分方程一樣在物理上提供解釋。這使連續(xù)模型辨識在近年來受到了越來越多的重視。當(dāng)前的連續(xù)系統(tǒng)模型很多是針對離散模型實(shí)施相對變換而獲得,然而后移算子僅在離散模型中存在算符,因此這種方式很容易產(chǎn)生信息丟失從而帶來一定誤差。具體來說,這種方式存在下列問題:會消除一些先驗(yàn)知識、可能出現(xiàn)數(shù)值敏感問題、容易出現(xiàn)不良的相位特性、無法反映相對階次信息、系統(tǒng)穩(wěn)定性會被改變、技術(shù)上存在困難[2]。針對以上問題,對動力學(xué)系統(tǒng)的參數(shù)辨識問題進(jìn)行研究,為工業(yè)裝備的特性動態(tài)辨識提供一些實(shí)用的方法。
對于動力學(xué)系統(tǒng)參數(shù)辨識問題的研究,目前有三種傳統(tǒng)算法有著比較廣泛的應(yīng)用。一種是國外學(xué)者提出的基于等價準(zhǔn)則的動力學(xué)系統(tǒng)參數(shù)辨識算法,這種方法主要基于等價準(zhǔn)則思想對動力學(xué)系統(tǒng)參數(shù)辨識算法進(jìn)行設(shè)計(jì),實(shí)現(xiàn)其參數(shù)辨識。一種是國內(nèi)學(xué)者提出的基于非線性定位的動力學(xué)系統(tǒng)參數(shù)辨識算法,該方法主要通過非線性定位算法設(shè)計(jì)參數(shù)辨識算法,對動力學(xué)系統(tǒng)進(jìn)行參數(shù)辨識。還有一種是國內(nèi)學(xué)者提出的數(shù)值模擬下的動力學(xué)系統(tǒng)參數(shù)辨識算法,該方法主要通過數(shù)值模擬方法進(jìn)行參數(shù)辨識算法的設(shè)計(jì)。由于這三種傳統(tǒng)方法存在辨識精度與辨識速度較低的問題[3-5],因此,提出一種基于調(diào)制函數(shù)法的動力學(xué)系統(tǒng)參數(shù)辨識算法,解決上述問題。
對模型噪聲進(jìn)行表示與替換,基于調(diào)制函數(shù)法構(gòu)造辨識模型,通過遞推算法對辨識模型進(jìn)行處理以實(shí)現(xiàn)噪聲的處理。將模型噪聲用下式來表示:
e(k)=C(q-1)vy(k)+D(q-1)vu(k)
(1)
式(1)中,e(k)表示模型噪聲;C(q-1)vy(k)表示輸入端噪聲測量的線性組合;D(q-1)vu(k)表示輸出端噪聲測量的線性組合。
由于式(1)形式較為復(fù)雜,通過辨識離散模型時的最小二乘增廣估計(jì)原理對模型噪聲進(jìn)行替換,具體替換結(jié)果如下式所示:
E(k)=(1+c1q-1+c2q-2+…+ciq-i)ε(k)
(2)
式(2)中,ε(k)表示白噪聲;ciq-i表示第i個濾波輸出;ci表示濾波系數(shù)。
將模型噪聲直接簡化為白噪聲的單位濾波輸出,通過這種方法能夠?qū)δP驮肼曔M(jìn)行最大簡化。通過式(2)替換式(1)的模型噪聲,基于調(diào)制函數(shù)法構(gòu)造辨識模型,具體如下式所示:
(3)
式(3)中,F(xiàn)n(q-1)y(k)表示y(k)信號的i次微分調(diào)制函數(shù);φk表示待辨識參數(shù);T表示調(diào)制函數(shù)的間距;?表示調(diào)制積分。
其中,調(diào)制積分的計(jì)算公式具體如下:
?=[a1,a2…,an,b1,b2,…,bm,c1,c2…,cnc]T
(4)
式(4)中,an、bm、cnc表示不同的積分項(xiàng)。
待辨識參數(shù)的計(jì)算公式具體如下:
(5)
式(5)中,φuk、φyk、φek分別表示三種信號的待辨識參數(shù)。其中,φek中的分量均為未知的,因此,通過估計(jì)值對其分量進(jìn)行代替,具體如下式所示:
(6)
可以通過已知的、過去的參數(shù)估計(jì)量對估計(jì)誤差進(jìn)行計(jì)算,具體如下式所示:
(7)
(k)=[∑lk=1φkφTk]-1[∑lk=1φkFn(q-1)y(k)]
(8)
式(8)中,l表示最小二乘次數(shù)[6]。
通過遞推算法對辨識模型進(jìn)行處理,具體處理步驟如下:
1)傳送數(shù)據(jù)。
2)設(shè)置初始值,具體公式如下:
(9)
式(9)中,β表示實(shí)向量;P(0)、(0)表示初始條件;I表示單位陣;k表示遞推次數(shù)。
4)對是否滿足停機(jī)準(zhǔn)則進(jìn)行判斷,停機(jī)準(zhǔn)則具體如下式所示:
(10)
5)當(dāng)不符合要求時,轉(zhuǎn)到第3)步,直到滿足要求以后即可停止運(yùn)算。
構(gòu)建動力學(xué)系統(tǒng)模型對于參數(shù)辨識來說是一個重要的過程,構(gòu)建的動力學(xué)系統(tǒng)模型為行為模型[8],具體如圖1所示。
圖1 動力學(xué)系統(tǒng)模型
為構(gòu)造出與動力學(xué)系統(tǒng)模型相一致的參數(shù)辨識模型,基于上一節(jié)構(gòu)造的模型構(gòu)造參數(shù)辨識模型[9]。構(gòu)造時需要遵循以下原則:
1)放寬對于激活函數(shù)的要求,也就是在參數(shù)辨識模型的神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,激活函數(shù)為對各輸入實(shí)施任意運(yùn)算后所對應(yīng)的函數(shù),具體如下式所示:
Y=f[φ(X)]
(11)
式(11)中,Y表示網(wǎng)絡(luò)輸出;φ(X)表示任意函數(shù);X表示網(wǎng)絡(luò)輸入;f(k)表示激活函數(shù)。
2)激活函數(shù)采用的是f(x)=x,偏差b的取值為0。
3)網(wǎng)絡(luò)權(quán)值可以取待辨識的系統(tǒng)參數(shù)或系統(tǒng)參數(shù)函數(shù)[10]。
根據(jù)以上原則構(gòu)建的參數(shù)辨識模型具體如圖2所示。
圖2 參數(shù)辨識模型
由于動力學(xué)系統(tǒng)存在輸出誤差,因此,需要對參數(shù)辨識模型的權(quán)值調(diào)整算法進(jìn)行設(shè)置。動力學(xué)系統(tǒng)存在的輸出誤差可以用下式來表示:
(12)
式(12)中,E表示動力學(xué)系統(tǒng)存在的輸出誤差;Y表示參數(shù)辨識模型輸出矢量;W表示權(quán)值矩陣。
根據(jù)式(12)可知,動力學(xué)系統(tǒng)存在的輸出誤差最小值僅有一個,因此,通過梯度下降法對參數(shù)辨識模型的權(quán)值進(jìn)行調(diào)整[11]。具體調(diào)整方法如下:
(13)
其中,α需要通過下式來確定:
(14)
利用參數(shù)辨識模型進(jìn)行動力學(xué)系統(tǒng)的參數(shù)辨識,具體辨識步驟如下:
1)隨機(jī)、均勻地取偏小的網(wǎng)絡(luò)權(quán)值。
2)將輸出、輸入的實(shí)測數(shù)據(jù)組建成訓(xùn)練樣本集。
3)在參數(shù)辨識模型的神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中輸入訓(xùn)練樣本,對輸出Y進(jìn)行計(jì)算。
4)對誤差函數(shù)進(jìn)行計(jì)算。
5)通過權(quán)值調(diào)整算法對權(quán)值進(jìn)行調(diào)整。
6)對兩次訓(xùn)練的前后權(quán)值誤差進(jìn)行計(jì)算,當(dāng)計(jì)算結(jié)果小于給定誤差,訓(xùn)練停止。并對訓(xùn)練次數(shù)進(jìn)行比較,當(dāng)訓(xùn)練次數(shù)比設(shè)定的終止次數(shù)大,訓(xùn)練停止,以避免由于權(quán)值不收斂帶來異常結(jié)果[12]。
7)對訓(xùn)練網(wǎng)絡(luò)取值進(jìn)行轉(zhuǎn)化,將其轉(zhuǎn)化成動力學(xué)系統(tǒng)辨識參數(shù)。
在仿真實(shí)驗(yàn)中,利用基于調(diào)制函數(shù)法的動力學(xué)系統(tǒng)參數(shù)辨識算法對某伺服系統(tǒng)進(jìn)行參數(shù)辨識,辨識的參數(shù)包括阻尼、剛度、慣性、死區(qū)四種物理參數(shù)。實(shí)驗(yàn)中的伺服系統(tǒng)是一個齒輪傳動系統(tǒng),由支撐結(jié)構(gòu)、連接軸、負(fù)載、齒輪元件、電機(jī)構(gòu)成,具體結(jié)構(gòu)如圖3所示。
圖3 伺服系統(tǒng)具體結(jié)構(gòu)
為了采集參數(shù)辨識數(shù)據(jù),在負(fù)載端和電機(jī)端均對精度較高的編碼器進(jìn)行連接。實(shí)驗(yàn)伺服系統(tǒng)的參數(shù)具體如表1所示。
表1 實(shí)驗(yàn)伺服系統(tǒng)的參數(shù)
為滿足仿真實(shí)驗(yàn)需要,搭建伺服系統(tǒng)仿真模型,將伺服系統(tǒng)仿真模型的姿態(tài)數(shù)據(jù)作為參數(shù)辨識模型神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的訓(xùn)練樣本,具體如表2所示。
表2 訓(xùn)練樣本
在利用設(shè)計(jì)算法對仿真模型進(jìn)行參數(shù)辨識時,獲取該方法的辨識精度數(shù)據(jù)、辨識速度數(shù)據(jù)。為使實(shí)驗(yàn)結(jié)果整體更加豐富、更具參考性,將現(xiàn)有的三種傳統(tǒng)動力學(xué)系統(tǒng)參數(shù)辨識算法作為實(shí)驗(yàn)中的對比方法,進(jìn)行對比實(shí)驗(yàn)。同樣獲取三種對比算法的辨識精度數(shù)據(jù)與辨識速度數(shù)據(jù)作為對比實(shí)驗(yàn)數(shù)據(jù)。這三種對比實(shí)驗(yàn)算法具體為基于等價準(zhǔn)則、基于非線性定位、數(shù)值模擬下的動力學(xué)系統(tǒng)參數(shù)辨識算法。
3.3.1 辨識精度實(shí)驗(yàn)數(shù)據(jù)分析
共辨識四種參數(shù):阻尼、剛度、慣性、死區(qū),測試基于調(diào)制函數(shù)法的動力學(xué)系統(tǒng)參數(shù)辨識算法與基于等價準(zhǔn)則、基于非線性定位、數(shù)值模擬下的動力學(xué)系統(tǒng)參數(shù)辨識算法的參數(shù)辨識誤差數(shù)據(jù)。四種參數(shù)的辨識誤差實(shí)驗(yàn)數(shù)據(jù)具體如表3所示。
表3 四種參數(shù)的辨識誤差實(shí)驗(yàn)數(shù)據(jù)
表3四種參數(shù)的辨識誤差實(shí)驗(yàn)數(shù)據(jù)表明,對于阻尼、剛度、慣性、死區(qū)這四種參數(shù),基于調(diào)制函數(shù)法的動力學(xué)系統(tǒng)參數(shù)辨識算法的辨識誤差最低可達(dá):0.14%、0.35%、0.26%、0.14%,整體辨識精度高于基于等價準(zhǔn)則、基于非線性定位、數(shù)值模擬下的動力學(xué)系統(tǒng)參數(shù)辨識算法。
3.3.2 辨識速度實(shí)驗(yàn)數(shù)據(jù)分析
接著測試基于調(diào)制函數(shù)法的動力學(xué)系統(tǒng)參數(shù)辨識算法與基于等價準(zhǔn)則、基于非線性定位、數(shù)值模擬下的動力學(xué)系統(tǒng)參數(shù)辨識算法的辨識時間,具體測試數(shù)據(jù)如表4所示。
表4 辨識時間具體測試數(shù)據(jù)
根據(jù)表4的辨識時間具體測試數(shù)據(jù)可知,設(shè)計(jì)算法的整體測試時間比數(shù)值模擬下、基于非線性定位、基于等價準(zhǔn)則的動力學(xué)系統(tǒng)參數(shù)辨識算法低,說明該算法能夠?qū)崿F(xiàn)辨識時間的節(jié)約,提升參數(shù)辨識效率。
為了解決傳統(tǒng)方法辨識精度與辨識速度較低的問題,提出基于調(diào)制函數(shù)法的動力學(xué)系統(tǒng)參數(shù)辨識算法。在對動力學(xué)系統(tǒng)參數(shù)辨識算法進(jìn)行研究的過程中應(yīng)用了調(diào)制函數(shù)法,實(shí)現(xiàn)了辨識誤差的降低與辨識時間的縮短。在研究中發(fā)現(xiàn)該算法能夠節(jié)省很大的計(jì)算消耗,是一種負(fù)擔(dān)很輕的動力學(xué)系統(tǒng)參數(shù)辨識算法。