宋雪剛 白瑜芳 程竹明 顧欣 盧李 梁大開
摘要:載荷識別是結構健康監測的重要組成部分,而非線性梁系統在工程應用中扮演重要角色,為了在結構健康監測的同時方便利用最優化算法對非線性梁系統進行有效控制,提出了基于容積卡爾曼濾波器(Cubature Kalman filter,簡記為CKF)的載荷識別算法。此算法在卡爾曼濾波器的體系下,通過CKF產生的增益矩陣、新息序列、一步估計值和協方差矩陣,利用最小二乘算法在線估計載荷的大小和位置,附錄給出了算法的詳細推導過程。為了驗證算法的有效性,采用受高斯白噪聲影響的大變形梁系統作為仿真對象,根據系統響應依次識別不同噪聲影響下的正弦、方波和鋸齒波載荷。實驗方面,采用受非線性彈簧約束的Bernoulli-Euler梁作為對象,利用光纖光柵傳感器測得的應變值識別載荷。結果表明提出的動載荷識別算法能夠很好地抑制噪聲,并且具有良好的穩定性。
關鍵詞:載荷識別;非線性梁系統;容積卡爾曼濾波器;最小二乘算法
中圖分類號:TB123;0327 文獻標志碼:A 文章編號:1004-4523(2018)01-0082-09
DOI:10.16385/j.cnki.issn.1004-4523.2018.01.010
引言
在結構設計和健康監測中,識別載荷可以確保結構的設計安全,實時監測結構的健康狀態,為設備提供可靠保障。載荷識別的方法分為直接測量法和間接識別法兩種,前者即通過傳感器直接測量載荷本身或者與載荷相關的參數進而確定載荷的大小,后者為根據傳感器測得的系統響應對載荷進行反演。在大多數實際工程應用中,載荷無法通過直接測量獲得,如火箭飛行狀態中所受的推力、爆炸沖擊的載荷、飛機飛行狀態中機翼所受的氣動載荷等。此時必須采用間接方法對動載荷進行識別,即載荷識別技術。總體來講,載荷識別技術主要分為頻域法和時域法,頻域法是最先采用的載荷識別算法,但是局限于線性系統。時域法由于實時性和適用于處理非線性系統,是如今研究的重點。
載荷識別在對結構健康進行評估之后往往需要對結構進行控制,而廣泛應用的最優化算法建立在卡爾曼濾波器的基礎之上,因此在卡爾曼濾波體系下完成載荷識別可以與最優化控制有效結合起來。Ma提出基于卡爾曼濾波器和遞歸最小二乘法的線性系統載荷識別算法,該方法利用卡爾曼濾波器來抑制噪聲,并將卡爾曼濾波器的增益矩陣、新息序列、協方差矩陣和最小二乘算法結合起來在線估計載荷。在Ma的基礎上,Lin利用擴展卡爾曼濾波器(Extended Kalman Filter,簡記為EKF)將非線性系統簡化為線性系統,進而用線性化方法來解決非線性載荷識別問題。Ma和Lin的算法在載荷識別部分都是基于線性系統,解決的是線性問題。將非線性問題當做線性問題處理具有精度不高、穩定性差、反應遲緩等缺點,并且用EKF將非線性間題轉化為線性問題在處理強非線性問題時可能導致濾波發散,同時在線計算雅克比矩陣也帶來不少困難。Ma和Lin的算法尚處于理論研究階段,尚未應用到工程結構當中,為了解決工程應用中非線性梁系統的載荷識別問題,本文提出了基于cKF的載荷識別算法。CKF不需計算雅克比矩陣,具備優異的非線性逼近性能、數值精度、濾波穩定性,是如今非線性卡爾曼濾波器的主流。本文的重點是在CKF基礎上提出了一種非線性在線估計算法,與Ma和Lin提出的線性估計算法具有本質區別。具體推導過程在附錄A中詳細給出。
算法首先應用4階龍格庫塔法(Runge Kutta4,簡記為RK4)將非線性系統離散化,進而利用CKF對非線性離散化系統進行濾波,之后基于最小二乘法對CKF濾波結果進行處理從而得到載荷。為了驗證算法的有效性,采用受高斯白噪聲影響的大變形梁系統作為仿真對象,通過不同噪聲影響下的觀測值,分別識別了正弦載荷、方波載荷和鋸齒波載荷。實驗方面,采用受非線性彈簧約束的Bernoulli-Euler梁作為對象,利用光纖光柵傳感器測得的應變值識別載荷。結果表明:提出的動載荷識別算法能夠很好地抑制噪聲,并且具有良好的穩定性。
1基于容積卡爾曼濾波器的載荷識別算法
此算法針對離散化的非線性梁系統,利用響應值識別載荷的大小和位置。大變形梁系統的剛度矩陣實時變化,非線性彈簧約束的Bernoulli-Euler梁也可認為是剛度矩陣實時變化的梁系統。實時變化的剛度矩陣由節點位移和轉角決定,因此在識別過程中,每個節點的位移和轉角需要實時獲取。根據測試理論,傳感器的數目不少于未知量的數目,因此在此文章中使用的傳感器數目等于振動方程自由度的數目。基于CKF的動載荷識別算法包括三部分,總結為如下步驟:
(1)用RK4將系統狀態空間模型離散化。
(2)利用CKF進行濾波,得到增益矩陣、新息序列、一步估計值、協方差矩陣。
(3)基于最小二乘算法估計載荷大小。
1.1非線性系統的離散化
由于CKF處理的是離散化非線性系統,而RK4在離散化方法中因具有足夠高的精度得到廣泛認可,因此本文采用RK4將非線性連續系統離散化。對于非線性模型,其狀態方程和觀測方程如下所示
應用RK4將公式(1)離散化,離散化步驟如下:
1.2容積卡爾曼濾波算法
針對離散化系統模型(5),應用CKF進行濾波。CKF采用一組等權值的容積點集解決貝葉斯濾波的積分問題,相對于擴展卡爾曼濾波、無跡卡爾曼濾波等非線性濾波算法,CKF算法具備更優的非線性逼近性能、數值精度以及濾波穩定性。
CKF濾波器流程如下所示:
初始化
1.3基于CKF濾波結果和最小二乘法的載荷識別算法
2數值模擬和結果討論
以大變形梁作為模擬仿真對象,分別依次對系統施加正弦載荷、方波載荷和鋸齒波載荷,通過RK4求得系統的非線性響應(節點位移和轉角),將求得的響應值加上高斯白噪聲作為系統的觀測值,從而運用基于CKF的載荷識別算法估計載荷的大小。此過程中離散高斯白噪聲特性通過設置不同的σ和Qw值表示。
為了更好地描述載荷識別的效果和量化載荷識別的誤差,本文將識別載荷與實際載荷差值的平方和與實際載荷的平方和的比值的平方根作為量化指標,將其定義為誤差評估水平(NRMSE)。其公式如下所示
2.1大變形梁系統振動仿真
以大變形梁作為仿真對象,首先建立非線性離散化振動模型。假設梁被離散化為n個單元,單個單元如圖1所示,每個單元具有3個自由度,即總共3n個自由度。識別載荷的大小和位置,由于剛度矩陣由節點狀態決定,因此傳感器數目為3n。
其離散化系統非線性振動方程組為
(31)式中M為(3n×3n)質量矩陣,c為(3n×3n)阻尼矩陣,K為(3n×3n)剛度矩陣,X為(3n×1)節點位移和轉角矩陣,F為(3n×1)的載荷矩陣。
建立狀態方程和觀測方程:
(32)
(33)式中觀測矩陣H由實際選用的傳感器類型決定。此仿真中觀測值選用節點位移和轉角,傳感器也可以換為同等數量的速度傳感器或者加速度傳感器,實際工程中可以貼應變片或者光纖傳感器測得觀測值。
在此考慮5個單元的大變形懸臂梁,其梁參數如下:彈性模量E=7.2×1010N/m2,密度ρ=2.7×103kg/m3,梁長度l=1m,橫截面S=0.1m×0.01m。將采樣頻率依次設為100和500Hz,模擬時間設為1s。依次識別正弦載荷、方波載荷和鋸齒波載荷。在此給出了兩種算法的載荷識別結果。初始值設置:x0/0=zeros(30,1),Ms(0)=eyes(30,30),Pb(0)=eyes(30,30)。
(1)圖2,3是系統識別正弦載荷的結果。圖2是系統在噪聲系數σ=1×10-4,Qw=1×10-8,采樣頻率100Hz下的識別結果。圖3是系統在噪聲系數σ=1×10-4,Qw=1×10-8,采樣頻率500Hz下的識別結果。表1是以上兩種條件下識別正弦載荷的平均誤差和NRMSE。
(2)圖4,5是系統識別方波載荷的結果。圖4是系統在噪聲系數σ=1×10-4,Qw=1×10-8,采樣頻率100Hz下的方波載荷識別結果。圖5是系統在噪聲系數σ=1×10-4,Qw=1×10-8,采樣頻率500Hz下的方波載荷識別結果。表2是以上兩種情況下識別方波載荷的平均誤差和NRMSE。
(3)圖6,7是系統識別鋸齒載荷的結果。圖6是系統在噪聲系數σ=1×10-4,Qw=1×10-8,采樣頻率100Hz下的鋸齒載荷識別結果。圖7是系統在噪聲系數σ=1×10-4,Qw=1×10-8,采樣頻率500Hz的鋸齒載荷識別結果。表3是以上兩種情況下識別鋸齒載荷的平均誤差和NRMSE。
2.2仿真結果討論
(1)基于CKF的動載荷識別算法屬于時域范疇,它只需前一時刻的估計值和當前時刻的觀測值即可在線估計當前時刻的載荷,在此過程中無需大量的存儲和讀取數據,極大地降低了系統對計算機存儲能力的要求。算法基于卡爾曼濾波器的特性可以確保在結構健康監測的同時,利用最優化算法對系統進行在線控制,達到工程對系統監測與控制的要求。
(2)模擬仿真結果顯示載荷識別結果與實際施加載荷相比存在一定時間的延遲,通過平移圖2~7中的理論值或者識別值,發現載荷識別結果存在2~3個采樣間隔的延遲,這是由卡爾曼濾波器的延遲性能造成的,通過提高采樣頻率可以相應降低延遲時間。在不考慮系統延遲的情況下正弦載荷的識別效果強于鋸齒載荷,鋸齒載荷的識別效果強于方波載荷,即:平緩載荷的識別效果優于突變載荷的效果。這是因為在載荷突變的情況下,對系統的魯棒性和實時性要求更高,因此造成一定的誤差。
(3)本文提出的基于CKF的載荷在線估計算法具有優良的性能,在大變形梁系統的模擬仿真中,噪聲特性(σ=1×10-4,Qw=1×10-8)下,估計載荷的平均誤差和NRMSE較小。通過對比100和500Hz采樣頻率下的識別結果可以看出:提高采樣頻率可以大幅度的改善識別效果,降低識別誤差。
(4)本文提出的基于CKF的載荷在線估計算法本質是應用卡爾曼濾波器的思想來解決工程中的載荷識別問題,由于卡爾曼濾波器要求識別結果存在連續性,因此此算法無法識別隨機載荷,只限于識別連續性載荷。沖擊載荷作用時間極短,系統動力學模型難于準確建立,且本文提出的算法復雜度較高,因此不適合識別沖擊載荷。本文以高斯白噪聲為噪聲處理對象,在工程應用中可能伴隨其他類型的噪聲,對其他類型的噪聲,國內外已有多種處理方法,可以通過將其轉化為高斯白噪聲之間的相互組合或者應用改進版的卡爾曼濾波器來解決這個間題。卡爾曼濾波器原理導致2~3個采樣間隔的系統延遲,為了抑制延遲特性可以采用實時調節參數γ的自適應卡爾曼濾波器或者迭代卡爾曼濾波器,但是上述方法在降低系統延遲的同時會造成系統抑制誤差能力下降的缺陷。針對識別結果中初值誤差較大的問題,可以通過調節系統初始化參數來進行優化。非線性梁系統的載荷識別研究中,由于剛度矩陣根據節點狀態實時變化,因此需要安裝較多的傳感器,可以通過粘貼分布式光纖來監測變形和識別載荷,傳感器也可以換為同等數量的速度傳感器、加速度傳感器或者其他類型傳感器。文章提出的算法具有較好的穩定性和收斂性能,過程中無累積誤差,對開始載荷是靜態還是非靜態并無要求。
3實驗驗證
以末端受非線性彈簧約束的懸臂梁作為實驗對象,實驗梁參數如表4所示,將梁離散化為3個單元,每個單元內貼2個光纖光柵傳感器,共計將6個光纖光柵傳感器貼于梁表面,利用其測得的應變值作為觀測值,對提出的理論進行實驗驗證。非線性彈簧在此選用變截面彈簧,固定在梁末端,隨著懸臂梁的變形而產生壓縮或拉伸,懸臂梁末端的位移即為彈簧變化量,在實驗進行前對此彈簧進行力學性能測試,其力學性能如圖8所示。在梁末端安裝激振器,在激振器上安裝力傳感器,從而測得激振器對梁施加的載荷大小并以此作為理論值。
實驗過程:信號發生器輸出正弦信號,正弦信號經過功率放大器令激振器輸出正弦位移,FBG響應值通過MOI解調儀解調,輸出信號傳輸到上位機,通過載荷識別算法在線估計載荷。同時力傳感器信號經過NI數據采集卡傳輸到上位機并與載荷識別值進行對比。在此過程中采樣頻率設為100Hz。實驗裝配圖如圖9所示,載荷識別結果如圖10所示。
由于激振器施加的是正弦位移,若是線性系統則載荷應為正弦信號,非線性彈簧使載荷呈現非正弦變化的現象。實驗結果表明,識別的載荷在幅值上具有微小的誤差,識別結果基本能反映真實載荷。在載荷的反復加載中,總體未出現發散趨勢。在此實驗中造成誤差的原因較多,如梁模型的有限元離散化受自由度數目限制,實驗儀器存在不穩定及固有誤差。
4結論
本文針對非線性梁系統的載荷識別,提出了一種基于CKF的載荷識別算法,此算法只需前一時刻的估計值和當前時刻的觀測值即可估計當前時刻的載荷。算法建立在卡爾曼濾波器的體系下,利用其抑制高斯白噪聲的優勢來估計載荷,在載荷識別的過程中,能夠同時很好地對結構狀態進行估計,因此可以有效地與系統最優化控制結合起來,滿足在健康監測的同時對系統進行控制的要求。仿真數據表明:該算法識別精度高,抗干擾性能好。實驗結果表明算法在工程中可以有效使用,識別結果基本能反映真實載荷。