陳軍章
(1.許昌信息工程技術研究中心, 河南 許昌 461000;2.許昌職業技術學院 信息工程學院, 河南 許昌 461000)
液壓伺服系統性能在很大程度上取決于控制閥、閥芯的幾何形狀及其制造公差。一些物理參數也很難確定,甚至有些參數完全未知,如某些液壓部件的尺寸、泄漏系數、摩擦系數等,再加上系統存在非高斯噪聲,如果沒有適當的數學模型,就不可能對液壓伺服系統性能進行精確的非線性分析[1-2]。對液壓伺服系統參數進行精確的辨識可以提高模型質量,從而提高控制性能。因此,液壓伺服系統狀態估計和參數辨識成為影響系統性能、穩定性和精度的關鍵因素。
直接測量液壓伺服系統狀態和參數通常比較困難,并且一些系統參數總是在不斷變化。參數不變的狀態估計過程在參數變化時會產生較大的誤差。液壓伺服系統的動態行為可以由一個具有時變參數的線性隨機狀態空間模型來描述[2-3]。因此,需要同時獲得狀態和參數估計的方法。
卡爾曼濾波(Kalman Filter, KF)是目前應用最為廣泛的濾波方法,許多現代工程應用如自主車輛[4]、疲勞應變預測[5]、維護網絡物理系統的安全[6]或機器人操作[7]等許多領域,均需要具有線性模型的實時卡爾曼濾波框架。國內方面:何常玉等[8]研究了用于液壓系統參數估計的擴展卡爾曼濾波器(Extended Kalman Filter, EKF)的收斂性分析問題;夏玢[9]提出了協方差修正參數進行聯合估計;張靜[10]把改進的卡爾曼濾波器應用于液壓系統狀態和參數估計。
但是如果存在非高斯噪聲或參數故障或模型參數與過程參數存在較大偏差時,卡爾曼濾波的估計精度會大大下降甚至發散[11]。因此,設計一種對非高斯噪聲或參數故障不太敏感的魯棒算法是非常重要的。考慮到動態系統的未知參數,本研究針對具有參數相關矩陣(參數故障)的狀態空間系統,提出一種魯棒算法,從而獲得液壓伺服系統精確的狀態估計和參數辨識。
因為液壓伺服系統的動態行為可以由一個具有時變參數的線性隨機狀態空間模型來描述,為了具有普遍性,本研究先對含有參數故障的狀態空間系統進行分析,狀態空間系統為:
x(k+1)=A(θ(k))x(k)+B(θ(k))u(k)+w(k)
(1)
y(k)=D(θ(k))x(k)+e(k)
(2)
式中,x(k)∈Rn,θ(k)∈Rp分別是未知狀態向量和參數向量。在某些情況下,故障fp(k)可以表示為系統參數的變化,例如矩陣A的第i行和第j列元素的變化,然后可以將系統描述為式(1)、式(2),見圖1。

圖1 含有參數故障的狀態空間系統Fig.1 State space system with parameter faults
此方法基于這樣一個假設:故障反映在物理系統參數上,如摩擦、質量、黏度、電阻、電感、電容等。線性狀態空間模型通常被指定為一些參數θ(k)的值。由于矩陣A(θ(k))、B(θ(k))和D(θ(k))依賴于參數θ(k),并且由于與狀態向量x(k)相乘,系統式(1)、式(2)具有非線性。因此,為了遞歸地獲得參數估計,面臨的是一個一般的非線性濾波問題。魯棒卡爾曼濾波器可用于估計狀態和線性隨機系統的參數[12],聯合狀態參數公式為:


(3)
更為緊湊的擴展系統為:
z(k)=qk-1[z(k-1),u(k-1),
θ(k-1)]+ξ(k-1)
(4)
y(k)=hk[z(k),θ(k)]+e(k)
(5)
式中, 擴展擾動矢量:
ξ(k-1)=[wT(k-1)ηT(k-1)]T
其中:

(6)
u(k-1),θ(k-1),0]-

(7)

(8)
假如u(k-1)和c(k)定義為:

(9)

(10)
線性狀態式(7)和線性測量式(8)更簡潔表示方式為:
z(k)=F(k-1)z(k-1)+u(k-1)+ξ(k-1)
(11)
y(k)=H(k)z(k)+c(k)+e(k)
(12)
式(11)、式(12)魯棒算法具有以下形式[13]:


(13)
P(k|k-1)=F(k-1)P(k-1|k-1)×
FT(k-1)+ξ(k-1)
(14)
k(k)=PT(k|k-1)HT(k)TT(k)
(15)

(16)

(17)
P(k|k)=P(k|k-1)-k(k)ψ′(v(k))kT(k)
(18)
(19)
為了滿足ε污染概率分布,預測誤差的非線性變換ψ(·)(Huber函數)是利用統計學中的博弈論得到的[14-15]。
ψ(v(k))=min{|v(k),kε|}sgn(v(k))
(20)
其導數:
(21)
式中,kε為Huber函數定義參數,如圖2所示。

圖2 Huber函數及其導數Fig.2 Huber function and its derivative
下式確定了污染度ε與Huber函數參數kε之間的關系[14]:
(22)
式中,ΦN表示標準正態累積分布函數。

E(v(k))=T(k)E(ε(k))=0
(23)
E(v2(k))=T2(k)[H(k)P(k|k-1)×
HT(k)+R1(k)]-1/2
(24)
因此T(k)轉換為:
T(k)=[H(k)P(k|k-1)HT(k)+R1(k)]-1/2
(25)
式中:

(26)
(27)
初始條件為:

(28)
增益矩陣K(k)的矩陣元素[16]為:

(29)

(30)
先驗協方差矩陣P(k|k-1)的矩陣元素是:
(31)
后驗協方差矩陣P(k|k)的矩陣元素公式為:
(32)
考慮到上述公式,先驗和后驗擴展狀態向量式(13)和式(17)的估計通過以下關系給出:


1|k-1)
(33)


(34)
因此可以很容易地表示出狀態向量和參數向量的估計:


N(k)ψ(v(k))
(35)

(36)
最后,用這種方法導出含有參數故障的狀態空間系統式(1)~式(2)的魯棒算法。
為了驗證所提出魯棒算法的有效性,將其應用于液壓伺服系統中進行仿真。液壓伺服系統[17]原理如圖3所示,xv為伺服閥閥芯位移;pa,pb分別為液壓缸無桿腔和有桿腔壓力;qa,qb分別為流向液壓缸無桿腔和有桿腔的流量;y為活塞位移;Ke為彈簧載荷;ps為泵出口壓力;Fext為擾動力。如果狀態變量和輸入變量定義為:
(38)
因此,液壓系統的完全非線性模型,可用狀態空間的形式表示為:
(39)
式中,mt—— 活塞質量
mp—— 包括活塞桿質量
m—— 負載質量
Ff—— 系統黏性、靜態和庫侖摩擦力總和
βe—— 流體體積模量
L—— 活塞行程
Va0,Vb0—— 初始腔室容積
cLi—— 內漏流量系數


圖3 液壓伺服系統示意圖Fig.3 Hydraulic servo system schematic
眾所周知,在液壓伺服系統的非線性狀態空間模型中存在具有隨機特性的系數。考慮到某些參數變化具有隨機性,以及具有時變參數模型的模型非線性近似的可能性[18],本研究提出了具有時變參數的線性隨機模型。

x(k+1)=A(θ(k))x(k)+B(θ(k))u(k)+
fC(θ(k))+w(k)
(40)
y(k)=x(k)+fC(θ(k))+e(k)
(41)


阻尼比Th:

(42)


實驗裝置輸入采用偽隨機二進制序列電壓信號,系統輸出由檢測氣缸的位置得出。圖5為狀態向量[x1x2x3]T輸出曲線,其中k為迭代次數,x1,x2,x3為系統狀態,無綱量。圖5中實線表示迭代次數為k和k-1時氣缸位置的差值,氣缸位置由系統傳感器實時測得;RA,EKF和KF分別表示當系統加入噪聲信號時魯棒算法、擴展卡爾曼濾波器算法和卡爾曼濾波器算法在迭代次數為k和k-1時對氣缸活塞位移的追蹤差值。從圖5中可以看出,在一定的迭代次數下,相比其他兩種算法,魯棒算法能很好地追蹤系統狀態,從而得到其近似無偏估計值。圖6為系統參數辨識輸出曲線,實線為系統參數p1和p2參考曲線,由系統隨機產生,RA,EKF和KF分別表示魯棒算法、擴展卡爾曼濾波器算法和卡爾曼濾波器算法對系統參數p1和p2的辨識曲線,其中k為迭代次數,p1,p2為系統參數,無綱量。從圖中可知,魯棒算法能很好地對系統參數進行精準辨識。這說明本研究所提出的魯棒算法對非高斯噪聲和系統參數故障的存在敏感性較低,說明算法魯棒性和容錯性能較強。

圖4 實驗裝置Fig.4 Experimental device

圖5 RA,EKF和KF狀態估計結果Fig.5 State estimation results of RA, EKF and KF

圖6 RA,EKF和KF參數辨識結果Fig.6 Parameters identification results of RA, EKF and KF


圖7 均方誤差對數比較圖Fig.7 Comparison chart of logarithmof mean square error
液壓伺服系統的動態行為可以由一個具有時變參數的線性隨機狀態空間模型來描述,本研究針對含有參數故障的狀態空間系統,提出了存在非高斯噪聲時系統狀態估計和參數辨識的魯棒算法。所提出的算法既考慮了對非高斯噪聲的魯棒性,又考慮了對所有可能的參數故障的敏感性。通過液壓伺服系統的仿真,驗證了所提出的魯棒算法辨識得到的狀態空間模型參數的效果。仿真結果證明了本研究所提出的這種魯棒算法能很好地對液壓伺服系統進行狀態估計和參數辨識,并且當非高斯噪聲出現時,該算法保持了較低的靈敏度,從而證明了該算法在存在參數故障值的狀態空間系統中優于其他如卡爾曼濾波、擴展卡爾曼濾波等其他算法,因而具有廣闊的應用前景。