房懷媛,楊中艷
(臨沂大學,山東 臨沂 273400)
當前對于系統辨識問題的研究,主要是把離散系統當作對象實施參數估計,已經發展出了一整套研究方法和理論體系。隨著數字電子與計算機等技術功能的不斷強大與成本的逐漸降低,在控制系統領域,越來越多的工程技術工作者與研究人員開始追求純數字化目標,使離散系統辨識問題獲得了極大發展[1]。而與之相對的連續系統辨識問題則研究者整體較少。然而離散差分系數僅具備數學方面的含義,無法像連續系統對應的微分方程一樣在物理上提供解釋。這使連續模型辨識在近年來受到了越來越多的重視。當前的連續系統模型很多是針對離散模型實施相對變換而獲得,然而后移算子僅在離散模型中存在算符,因此這種方式很容易產生信息丟失從而帶來一定誤差。具體來說,這種方式存在下列問題:會消除一些先驗知識、可能出現數值敏感問題、容易出現不良的相位特性、無法反映相對階次信息、系統穩定性會被改變、技術上存在困難[2]。針對以上問題,對動力學系統的參數辨識問題進行研究,為工業裝備的特性動態辨識提供一些實用的方法。
對于動力學系統參數辨識問題的研究,目前有三種傳統算法有著比較廣泛的應用。一種是國外學者提出的基于等價準則的動力學系統參數辨識算法,這種方法主要基于等價準則思想對動力學系統參數辨識算法進行設計,實現其參數辨識。一種是國內學者提出的基于非線性定位的動力學系統參數辨識算法,該方法主要通過非線性定位算法設計參數辨識算法,對動力學系統進行參數辨識。還有一種是國內學者提出的數值模擬下的動力學系統參數辨識算法,該方法主要通過數值模擬方法進行參數辨識算法的設計。由于這三種傳統方法存在辨識精度與辨識速度較低的問題[3-5],因此,提出一種基于調制函數法的動力學系統參數辨識算法,解決上述問題。
對模型噪聲進行表示與替換,基于調制函數法構造辨識模型,通過遞推算法對辨識模型進行處理以實現噪聲的處理。將模型噪聲用下式來表示:
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)形式較為復雜,通過辨識離散模型時的最小二乘增廣估計原理對模型噪聲進行替換,具體替換結果如下式所示:
E(k)=(1+c1q-1+c2q-2+…+ciq-i)ε(k)
(2)
式(2)中,ε(k)表示白噪聲;ciq-i表示第i個濾波輸出;ci表示濾波系數。
將模型噪聲直接簡化為白噪聲的單位濾波輸出,通過這種方法能夠對模型噪聲進行最大簡化。通過式(2)替換式(1)的模型噪聲,基于調制函數法構造辨識模型,具體如下式所示:

(3)
式(3)中,Fn(q-1)y(k)表示y(k)信號的i次微分調制函數;φk表示待辨識參數;T表示調制函數的間距;?表示調制積分。
其中,調制積分的計算公式具體如下:
?=[a1,a2…,an,b1,b2,…,bm,c1,c2…,cnc]T
(4)
式(4)中,an、bm、cnc表示不同的積分項。
待辨識參數的計算公式具體如下:

(5)
式(5)中,φuk、φyk、φek分別表示三種信號的待辨識參數。其中,φek中的分量均為未知的,因此,通過估計值對其分量進行代替,具體如下式所示:

(6)
可以通過已知的、過去的參數估計量對估計誤差進行計算,具體如下式所示:

(7)
(k)=[∑lk=1φkφTk]-1[∑lk=1φkFn(q-1)y(k)]
(8)
式(8)中,l表示最小二乘次數[6]。
通過遞推算法對辨識模型進行處理,具體處理步驟如下:
1)傳送數據。
2)設置初始值,具體公式如下:

(9)
式(9)中,β表示實向量;P(0)、(0)表示初始條件;I表示單位陣;k表示遞推次數。
4)對是否滿足停機準則進行判斷,停機準則具體如下式所示:

(10)
5)當不符合要求時,轉到第3)步,直到滿足要求以后即可停止運算。
構建動力學系統模型對于參數辨識來說是一個重要的過程,構建的動力學系統模型為行為模型[8],具體如圖1所示。

圖1 動力學系統模型
為構造出與動力學系統模型相一致的參數辨識模型,基于上一節構造的模型構造參數辨識模型[9]。構造時需要遵循以下原則:
1)放寬對于激活函數的要求,也就是在參數辨識模型的神經網絡拓撲結構中,激活函數為對各輸入實施任意運算后所對應的函數,具體如下式所示:
Y=f[φ(X)]
(11)
式(11)中,Y表示網絡輸出;φ(X)表示任意函數;X表示網絡輸入;f(k)表示激活函數。
2)激活函數采用的是f(x)=x,偏差b的取值為0。
3)網絡權值可以取待辨識的系統參數或系統參數函數[10]。
根據以上原則構建的參數辨識模型具體如圖2所示。

圖2 參數辨識模型
由于動力學系統存在輸出誤差,因此,需要對參數辨識模型的權值調整算法進行設置。動力學系統存在的輸出誤差可以用下式來表示:

(12)
式(12)中,E表示動力學系統存在的輸出誤差;Y表示參數辨識模型輸出矢量;W表示權值矩陣。
根據式(12)可知,動力學系統存在的輸出誤差最小值僅有一個,因此,通過梯度下降法對參數辨識模型的權值進行調整[11]。具體調整方法如下:

(13)

其中,α需要通過下式來確定:

(14)
利用參數辨識模型進行動力學系統的參數辨識,具體辨識步驟如下:
1)隨機、均勻地取偏小的網絡權值。
2)將輸出、輸入的實測數據組建成訓練樣本集。
3)在參數辨識模型的神經網絡拓撲結構中輸入訓練樣本,對輸出Y進行計算。
4)對誤差函數進行計算。
5)通過權值調整算法對權值進行調整。
6)對兩次訓練的前后權值誤差進行計算,當計算結果小于給定誤差,訓練停止。并對訓練次數進行比較,當訓練次數比設定的終止次數大,訓練停止,以避免由于權值不收斂帶來異常結果[12]。
7)對訓練網絡取值進行轉化,將其轉化成動力學系統辨識參數。
在仿真實驗中,利用基于調制函數法的動力學系統參數辨識算法對某伺服系統進行參數辨識,辨識的參數包括阻尼、剛度、慣性、死區四種物理參數。實驗中的伺服系統是一個齒輪傳動系統,由支撐結構、連接軸、負載、齒輪元件、電機構成,具體結構如圖3所示。

圖3 伺服系統具體結構
為了采集參數辨識數據,在負載端和電機端均對精度較高的編碼器進行連接。實驗伺服系統的參數具體如表1所示。

表1 實驗伺服系統的參數
為滿足仿真實驗需要,搭建伺服系統仿真模型,將伺服系統仿真模型的姿態數據作為參數辨識模型神經網絡拓撲結構的訓練樣本,具體如表2所示。

表2 訓練樣本
在利用設計算法對仿真模型進行參數辨識時,獲取該方法的辨識精度數據、辨識速度數據。為使實驗結果整體更加豐富、更具參考性,將現有的三種傳統動力學系統參數辨識算法作為實驗中的對比方法,進行對比實驗。同樣獲取三種對比算法的辨識精度數據與辨識速度數據作為對比實驗數據。這三種對比實驗算法具體為基于等價準則、基于非線性定位、數值模擬下的動力學系統參數辨識算法。
3.3.1 辨識精度實驗數據分析
共辨識四種參數:阻尼、剛度、慣性、死區,測試基于調制函數法的動力學系統參數辨識算法與基于等價準則、基于非線性定位、數值模擬下的動力學系統參數辨識算法的參數辨識誤差數據。四種參數的辨識誤差實驗數據具體如表3所示。

表3 四種參數的辨識誤差實驗數據
表3四種參數的辨識誤差實驗數據表明,對于阻尼、剛度、慣性、死區這四種參數,基于調制函數法的動力學系統參數辨識算法的辨識誤差最低可達:0.14%、0.35%、0.26%、0.14%,整體辨識精度高于基于等價準則、基于非線性定位、數值模擬下的動力學系統參數辨識算法。
3.3.2 辨識速度實驗數據分析
接著測試基于調制函數法的動力學系統參數辨識算法與基于等價準則、基于非線性定位、數值模擬下的動力學系統參數辨識算法的辨識時間,具體測試數據如表4所示。

表4 辨識時間具體測試數據
根據表4的辨識時間具體測試數據可知,設計算法的整體測試時間比數值模擬下、基于非線性定位、基于等價準則的動力學系統參數辨識算法低,說明該算法能夠實現辨識時間的節約,提升參數辨識效率。
為了解決傳統方法辨識精度與辨識速度較低的問題,提出基于調制函數法的動力學系統參數辨識算法。在對動力學系統參數辨識算法進行研究的過程中應用了調制函數法,實現了辨識誤差的降低與辨識時間的縮短。在研究中發現該算法能夠節省很大的計算消耗,是一種負擔很輕的動力學系統參數辨識算法。