陳鵬,楊立
(浙江工業大學 信息工程學院,浙江 杭州 310023)
摘要:就目前橋梁監測系統可視化的現狀,從數據插值和VRML兩個方面總結了現有研究工作,針對目前橋梁健康監測需求提出了一種基于Kriging插值和VRML的橋梁監測系統數據可視化方法。首先使用修改過的Kriging算法對由橋梁健康監測傳感器網絡得到的數據進行插值,并為數據點賦予相應顏色,最后將結果加載到三維模型中。實驗結果表明,該方法簡單快捷,實現了較高的插值精度和可視化效果,在橋梁健康監測數據可視化實現方面具有廣泛用途。
關鍵詞:橋梁健康監測;數據插值;VRML;可視化
0引言
目前,橋梁結構監測的布點主要集中在橋梁受力、承重的關鍵點。而橋梁是一個無限自由度的整體,單從有限的傳感器布點是無法得到完整的橋梁健康狀況信息的,因此需要一種可靠的方法插值出未布置傳感器的橋梁位置的各參數數值;現有的橋梁監測系統大部分都是以報表及二維曲線圖等作為主要的展示形式,這種方法不形象直觀,已不能滿足當前監測工作的需要;而三維顯示技術可以生動形象地再現現實世界中的實物,這種技術即是可視化技術。插值,也叫做內插,意思是在離散數據基礎之上插補連續函數,使得這條插補之后的連續曲線可以通過全部既定的離散的數據點。本文采用了目前較為先進的Kriging插值方法用以獲得未布置傳感器點處的監測值。
VRML(Virtual Reality Modeling Language)是虛擬現實建模語言。參考文獻[1]研究了如何利用VRML來建立虛擬城市。參考文獻[2]研究了基于VRML的虛擬校園的設計與實現,并以實驗結果證明了VRML技術仍具有廣闊的應用前景。VRML作為一門獨立的三維建模語言,命令簡單上手快,且與txt同為ASCII編碼,可以直接使用文本編輯器編輯。
1建模及插值
1.1建立橋梁三維模型
整個橋梁系統可視化過程中,首先要做的是建立橋梁的模型,本文采用SolidWorks建立這一橋梁模型。首先在SolidWorks中逐個建立橋梁的各個部件,例如橋面、索塔等,各個部件建立完成后按照實橋結構進行組裝,得到完整的三維橋梁模型,如圖1所示。
1.2監測數據插值
橋梁結構監測傳感器主要集中部署在橋梁受力、承重的關鍵點。目前應用較為廣泛的插值算法主要有克里格插值算法、泰森多邊形插值算法以及反距離權重插值算法[4]等。
反距離權重法缺少對各向異性的考慮,估算精度很成問題;泰森多邊形法構造多邊形容易產生奇異多邊形,估值準確度不高;克里格法考慮了空間屬性的各向異性和已知點的“從聚效應”,實現了對待求點無偏、線性以及最小估計方差的估算,插值精度高。文中采用針對橋梁數據特征修改過的克里格法進行橋梁健康監測數據插值。
應用克里格法的橋梁數據插值步驟如下:
(1)當空間點x在一維x軸上變化時,一維條件下x軸方向上的區域化變量Z(x)的變異函數定義為橋梁監測數據Z(x)在空間坐標點x和x+h處得到的監測值Z(x)與Z(x+h)之差的方差的1/2,記為γ(x,h),即:
在二階平穩假設條件下,有:
h,E[Z(x+h)]=E[Z(x)](2)
因此:
γ(x,h)=12E[Z(x)-Z(x+h)]2(3)
變異函數依賴于兩個自變量x和h,在對主橋面應力應變傳感器布點分析上,根據橋梁力學結構特點變異函數γ(x,h)只與傳感器之間的相對距離h相關,γ(x,h)即為γ(h):
γ(h)=12E[Z(x)-Z(x+h)]2(4)
理論變異函數模型采用球狀模型,球狀模型的公式為:
其中,c0為塊金常數,c為拱高,c0+c為基臺值,a為變程。
(2)參估點的搜索。結合橋梁實際監測布點,四方搜索方案是根據插值點的橫坐標和縱坐標把平面分成4個象限,以變程a的長度為搜索半徑,在每一個象限中查找與插值點距離最近的已知樣本點;
(3)結合橋梁實際監測布點的變異函數,采用Kriging法進行應力應變監測數據的空間插值分析:
其中,λi是待定權重系數。
權重系數的求取滿足兩個條件:
①使Z*(x)的估計是無偏的,即偏差的數學期望為零。正常情況下,監測數據是平穩的,即:
E(Z*(x))=m(7)
其中,m為一常數。
當:
則有:
其中,xi為第i個已知點的監測值,λi為權系數。
②使估計值Z*(x)與實際值Z(x)之差的平方和最小,即:
其中,x0為待估點,αi、αj分別為xi、xj的系數。
根據拉格朗日乘數原理,令:
其中,λi和μ分別為權系數和拉格朗日乘數。
求F對λi和μ的偏導數,并令其為0,得Kriging方程組:
即:
Kλ=D,λ=K-1D(13)
其中,K為協方差矩陣,cij表示第i和第j個已知點的協方差,λ為權系數矩陣。根據式(13)即求出權重系數λi和拉格朗日乘數μ,從而求得未知點的估計值。
以杭州某大橋2014年12月1日02:00:00采集的應力數據為樣本插值得到的圖如圖2所示,其中整個橋面網格化分成了80×880個節點,圖中黑點為傳感器所在位置。
2顏色映射
因為顏色映射時大部分為矩陣運算,故采用MATLAB進行運算得到前述point、coorIndex以及color三組數據。計算color矩陣時采用的方案是列一組色表,如圖3所示。數值從小到大,顏色從深藍到橙紅,超過閾值的直接賦為紅色以示報警。此色表共有49個間隔。此時有兩種方法可為數據點賦予顏色:(1)值域均勻分布:按照傳感器數值0~閾值將其不均勻(按監測數據分布范圍非線性劃分)地分成49個間隔(數值較小段間隔較大,反之亦然),網格節點的數值落在哪個區間即賦予其相應的顏色,效果如圖4所示;(2)數據點均勻分布:此方法把除了超出閾值外的數據點均勻分布在了49個色彩區間內,每種顏色都有同樣數目的數據點。具體步驟為先把整個n×11n的數值矩陣轉換成一維數組,再對這個數組進行升序排序,使用二分查找法找出這個一維數組中超出閾值的最小元素值,將此元素之后的全部元素(數量m)對應的顏色都設為紅色,表示此數據點是超出閾值的。(n×11n-m)/圖6橋梁數據可視化效果圖
49=k,即每個顏色對應的數據點有k個,將排序后去掉超出閾值元素的一維數組按k間隔分成49段,即得到對應的顏色矩陣。最終效果如圖5所示。肉眼可以直接看到,數據點均勻分布法效果更為明亮,且每種顏色都有數目相同的數據點,顯示效果更好,因而在此采用數據點均勻分布法為數據點賦予顏色。
3結果導入
在使用MATLAB得到可視化的主要數據之后需要將結果添加到圖中相應位置。MATLAB程序本身不適合此項工作,本文選擇使用C#編程來處理。將此MATLAB程序打包為.dll文件,添加到C#程序的引用中。需要注意的是在MATLAB中進行dll打包時的類名即是在C#程序中引用時所需要的類名。
最終橋面應力變化可視化效果如圖6所示。
因為橋梁監測數據是連續變化的,所以可視化之后得到的效果圖也會如前述的色表從某一較高點均勻往外圍過渡,橋面上紅點即是監測數據超出了傳感器報警閾值所賦予的紅色。在橋梁監測系統中引入此可視化部分可以讓監測者一目了然地看到橋梁較為危險的區域,從而及早預防,有效防止橋梁事故的發生,保障交通運輸的安全。4結論
本文提出了一種基于Kriging插值、VRML橋梁監測系統數據可視化方法。該方法簡單,易于操作與實現,對設備計算處理要求低,且不需要依賴大型三維建模輔助軟件,因此具有較好的應用前景。
參考文獻
[1] 李冉,蔡正林.結合VRML和Java建立動態場景[J]. 電腦與信息技術,2005,13(1):3335,66.
[2] 李欣.基于VRML的虛擬校園設計與實現[D].長沙:國防科技大學,2005.
[3] 張雄輝,鄭力新,周凱汀,等.基于區域劃分的快速圖像插值算法[J].微型機與應用,2013,32(14):3840.
[4] 趙坡. 地質體三維建模空間插值與可視化算法研究及實現[D]. 成都:成都理工大學, 2013.
[5] 朱延博,王竹林,張自賓,等.基于圖像插值的電視測角儀視場變換系統設計[J].電子技術應用,2014,40(2):8587,90.