龐 珂,李 劍,蘇新彥,馬慧宇
(1.中北大學 省部共建動態測試技術國家重點實驗室,太原 030051;(2.中北大學 信息探測與處理山西省重點實驗室,太原 030051)
隨著綜合國力的提升和國民經濟的發展,以及國家的“交通強國”戰略、“一帶一路”倡議的不斷推進,橋梁等基礎交通設施建設的比例和規模也在逐年上升。中國公路學報在2021年關于中國橋梁工程的學術研究中提到,近年來橋梁建造的技術日趨完善,抗災變能力顯著提高,橋梁的智能化水平也得到大幅的提升。我國公路橋梁總數截至2020年底,已接近100萬座,其中將近70%是老舊橋梁。由于受到當時建造水平和對結構復雜性認知的限制,人們無法實時獲知老舊橋梁內部結構的受損情況,不能對老舊橋梁的運營維護作出及時準確的評估,導致橋梁損傷積累,引起結構的突發性失效,使用的風險日益增加,維護成本逐年攀升。
近年來,針對老舊橋梁的監測問題,國內外學者廣泛采用傳感器監測、GPS監測以及移動車輛監測等方式,同時隨著深度學習算法的不斷優化,也逐漸開始有學者將深度學習應用于健康狀況的評估診斷中。在2019年Lee等學者就提出了在橋墩傾斜度監測中應用全球導航衛星系統;Xuan Ji等學者提出使用智能采集器、組網、云平臺等現代網絡技術,實現了實時橋梁監控、智能分析、安全報警等功能;劉康旭開發了一套基于FPGA和Linux的橋梁健康實時大數據分析系統;張青春等人設計了一種基于Arduino單片機和云服務器的橋梁健康狀態在線監測預警系統;楊李東等學者結合物聯網和GIS技術開發了城市橋梁健康監測系統;2020年杜立嬋等學者基于NB-IoT開發了橋梁健康遠程監測系統;歐陽歆泓設計了一種應用于小橋梁的車輛荷載監測方法;黃志賢提出了一種基于NB-IoT通信技術的橋梁健康監測系統方案;2021年申志宇利用STM32和FPGA搭建了硬件控制平臺,上位機則采用C#編寫各控制功能;同年張鵬飛利用遺傳算法優化BP神經網絡對橋梁健康進行監測;Thanh Q將離散模型和深度學習結合應用于橋梁的健康監測中,提高了損傷定位的精度;鄧斌也提出了一種實時的橋梁健康監測系統。
但這些學者只是針對橋梁的監測數據獲取的硬件平臺或者應用于損傷定位的深度學習算法做出的優化和改進,并沒有將這些硬件平臺的搭建和深度學習算法綜合運用到橋梁監測的全過程中,沒有形成一個完整的監測系統,橋梁的監測過程并不“智能”,無法滿足當前社會對于智慧城市或智慧橋梁的需要。
本文設計了一個橋梁遠程結構綜合參數獲取與智能評估軟件,綜合利用布設在橋梁結構關鍵部位的傳感器,獲取橋梁服役環境、運營荷載,軟件則借助深度學習訓練生成一個可以適用于大部分老舊橋梁的多分類網絡模型,從而實現對橋梁結構狀態和安全性能評估,解決了老舊橋梁監測周期長、效率低、健康評估難的問題,具有參數獲取方便、精度高、健康評估準確的優勢。
監測系統主要包括:硬件監測系統和控制終端兩個部分。硬件監測系統主要負責接收和解析控制終端下發的指令,并完成數據采集和傳輸等功能;控制終端主要實現與硬件監測系統的通信、數據處理、健康監測與評估等功能。硬件監測系統與控制終端通過WIFI+5G的數據傳輸方式,嚴格按照TCP/IP協議進行通信。監測系統總體設計框圖如圖1所示。

圖1 監測系統總體設計方案框圖
硬件監測系統主要包括:數據采集存儲模塊、傳感器模塊和無線通信模塊。硬件監測系統采用ST公司的STM32H743高性能單片機作為主控芯片,結合MEMS加速度傳感器、溫濕度傳感器和應變傳感器等多種傳感器構建橋梁多參數監測節點,利用北斗定位系統標記傳感器節點和監測橋段的位置,通過DMA的傳輸方式,將上述幾種傳感器采集到的數據存儲在外部的SDRAM中,然后通過WIFI+5G的方式組成超遠程通信鏈路,將傳感器監測節點和終端服務器構建異構跨區域的健康監測網絡。該硬件監測系統融合了分布式跨區域的網絡傳輸技術和多傳感器融合技術,具有通信距離遠,網絡質量好、傳輸速率高,在保證通信質量的情況下實現無線長距離數據傳輸的特點。各部分功能如圖2所示。

圖2 硬件系統設計方案框圖
Qt是一套可以跨平臺使用的C++開發庫,它封裝了大量的工具庫;Qt模塊化程度高,可重用性好,程序的開發和配置不受平臺的限制;Qt中獨特的信號和槽機制也方便程序開發。因此本軟件基于Qt5.9開發,軟件功能模塊主要包括3個模塊,分別是通信模塊、控制模塊和數據處理模塊。
控制終端位于遠端方便操作的地方,主要由計算機和軟件組成,軟件將硬件監測系統采集到的參數經過計算轉換為橋梁撓度、環境和頻率等信息,同時將輕量化橋梁監測評估的多分類網絡模型嵌入軟件中,通過該網絡模型對橋梁健康狀態進行快速評估,當橋梁出現損失時,測試節點會向監控終端發送報警信號,并由監控終端進行二次精準診斷,從而提高橋梁的健康監測效率。本次橋梁遠程結構綜合參數獲取與智能評估軟件的系統功能框圖如圖3所示。

圖3 軟件系統功能框圖
常用的通信協議主要包括TCP/IP協議和UDP協議等。由于橋梁測試系統中傳感器采集到的數據量大且數據類型復雜,而且該模塊是軟件與硬件進行正常交互的前提,通信鏈路的穩定與否也會直接影響到交互的質量,同時通信過程的可靠性也要求該模塊的設計需要很高的穩定性,軟件的通信協議如果采用UDP協議則無法保證上述要求,故軟件選擇采用相對可靠的、基于字節的TCP/IP協議與硬件監測系統進行通信。
由于Qt對傳統的TCP/IP協議進行了封裝,這使得使用TCP/IP協議更加方便。通過Qt自帶的QTcpServer類實現創建TCP服務器、添加或刪除多個客戶端等基礎功能,并通過TCP/IP協議下發控制指令與硬件監測系統進行交互,對采樣率和采樣時間進行設置,讀取客戶端數據。同時該模塊也具有客戶端連接狀態檢測的功能,當客戶端連接狀態不穩定或者有中斷出現的時候,軟件中會有相應的預警信息提示操作人員,在通信過程中軟件會每隔5 s,下發自檢的指令,對通信鏈路進行自檢,以保證通信鏈路的穩定性,防止因鏈路中斷而導致的指令下發和數據接收失敗等問題,如果鏈路中斷則停止當前的操作,等待硬件監測系統重新發出鏈接請求的握手信號。通信模塊功能如圖4所示。

圖4 通信模塊功能框圖
如圖5所示,這部分的設計主要是下發相應的指令控制到硬件系統中,控制硬件監測系統執行相應的操作。控制模塊是整個軟件設計的重要組成部分,指令的正確下發時硬件可以按照既定功能正常工作的保障。控制模塊主要功能包括以下幾個方面:模式配置、控制指令和數據保存。

圖5 控制模塊功能框圖
2.2.1 模式配置
模式配置主要是針對硬件監測系統的數據采集模塊設置,主要包括采樣率和采樣時間這兩個部分,這兩個部分都是可調的,具體配置選項列表如下所示:
1) 采樣率為1 MHz、512 kHz、256 kHz、128 kHz、100 kHz。
2) 采樣時長為2 s、1.5 s、1 s、0.5 s。
采樣率和采樣時間都是通過勾選框和按鈕的配合實現指令的下發。選擇合適的采樣率和采樣時長后,點擊按鈕向監測系統下發對應的指令,指令的格式為八位的十六進制數。其中采樣率、采樣時長與下發指令的對應關系如表1所示。

表1 模式配置指令
2.2.2 控制功能
這部分主要就是實現采集和數據回傳指令的下發。在界面中分別放入不同的QPushButton(按鈕)控件,在每一個控件中添加對應的指令,指令格式同樣為八位的十六進制數,硬件監測系統在收到相應的指令后,根據指令解析出對應的字符,再根據獲得的字符執行相應操作。設置QProcessBar(進度條)控件顯示相應的數據回傳進度,設置QTextEdit(文本框)控件用來存放回傳數據。相應操作功能列表如表2所示。

表2 指令對應功能
2.2.3 數據保存
如圖6所示,數據保存包括兩部分:軟件接收的數據和軟件的使用日志。
1) 軟件接收到的數據類型包括兩種:加速度傳感器和應變傳感器采集到的八位十六進制數據,以及溫濕度傳感器和北斗定位模塊采集到的字符類型數據等。放置QPushButton控件用來選擇保存數據的路徑,按照數據的不同格式要求,選擇合適的保存方式,如八位十六進制數據采用二進制bat文件格式存放,而字符數據則選擇采用txt文本文件的格式存放。
2) 設計使用日志的功能主要是為了方便后期對軟件的優化和升級,同時也方便操作人員對軟件的使用和維護,減少應操作失誤帶來的不必要的隱患,降低數據丟失的風險。軟件使用日志由軟件后臺自動生成,無需操作,使用日志主要包含兩個部分:軟件的操作過程和錯誤提示。

圖6 數據保存功能框圖
2.3.1 撓度數據顯示
QCustomPlot是在Qt框架下實現的基于LGPL版權協議的開源項目,它無需進一步的庫依賴,文檔豐富且使用方便,主要可以對二維曲線繪圖和進行數據的可視化,繪圖的種類包括如曲線圖、趨勢圖、坐標圖、柱狀圖等。由于Qt自帶的QChart庫在繪制大數據量的波形圖時,運行效率低,無法滿足橋梁監測中對復雜的大數據量處理的要求,因此選擇采用QCustomPlot庫繪制撓度等數據的波形圖。
在這部分中撓度的計算主要采用分段曲線擬合的方法,通過將橋梁依據布設硬件系統的位置劃分成不同的區域,然后將每一個區域中的撓度值累加求和,從而得出監測區域的撓度值。其中每一區域中的撓度計算公式如下:

(1)
公式(1)中N
(x
)為布設在橋梁不同位置處的應變片采集到的形變數據,X
為該位置處承受力的幅值。m
為采集到的形變值的個數。整座橋梁的撓度為各區域撓度值的和,計算公式如下:

(2)
其中:n
為布設區域的個數。2.3.2 北斗定位數據顯示
通過對2.2.3中保存的北斗定位數據進行拆包處理得到包括客戶端IP地址、經度、緯度、UTC時間和采集日期等在內的硬件監測系統的布設點位置信息。創建一個QTableView控件,將這些信息依次添加到表格中,同時創建QAxWidget控件,在控件中加載html文件,調用百度離線地圖的api接口實現向地圖中添加拆包得到的經度和緯度信息,并將其標記在地圖中。
通過百度地圖可以方便的對布設點的位置進行查看,同時使用百度地圖顯示也會比表格的顯示效果更加直觀和清楚。而離線的百度地圖也會降低軟件本身對網絡的依賴程度,提高軟件的適用場景。
這部分主要設計了一個基于移位卷積的多分類橋梁健康狀態識別網絡,利用移位卷積操作和輕量點卷積降低了計算的復雜度,并且移位卷積操作為時間序列提供了靈活的感受野,提高了橋梁識別準確度,從而完成對橋梁健康的診斷,當診斷結果為較差、差和危險時會對操作人員做出預警,同時軟件將進行二次精準診斷,從而提高橋梁的健康監測的效率。
2.4.1 數據預處理
利用12組傳感器采集橋梁的健康狀態信息,每組傳感器包括位移、速度和加速度信息。橋梁健康狀態特征信息,單個樣本尺寸為250 000×3×12(時間長度*特征通道數*傳感器組數量),按照《公路橋涵養護規范》(JTG H11-2004)將橋梁健康與橋梁損壞共有5個等級(良好、較好、較差、壞、危險),每個等級2 000個樣本,共有10 000個樣本。橋梁強度評定標準如表3所示。

表3 橋梁強度評定標準


R
為按標準荷載計算的抗力值,R
為結構構件的實際抗力值,R
為平均抗力值。將上述單個樣本平均劃分為500段,則每段時間長度為500,10 000個樣本得到5 000 000個500×3×12(時間長度*特征通道數*傳感器組數量)橋梁健康狀態信號樣本,同時所有傳感器的特征串聯起來得到大小為500×36(時間長度*總特征通道數)的橋梁健康特征信息。
2.4.2 橋梁健康狀態識別網絡
橋梁健康狀態識別網絡層由1個移位卷積層、1個全局平均池化層和1個softmax激活層組成。橋梁健康深度特征信息首先經過逐點元素卷積,然后通過全局平均池化作用,最后通過softmax激活函數處理,輸出橋梁健康狀態的預測結果。其網絡結構如圖7所示。

圖7 橋梁健康狀態識別網絡結構
橋梁健康深度特征信息大小為16×128,經3×1×5(卷積核大小×卷積核通道數×卷積核個數)大小,步長為1的卷積操作后,輸出特征圖大小為16×5,再經過全局平均池化,最終輸出的大小為5,再經softmax激活層最終輸出橋梁健康狀態預測,即實現橋梁健康狀態的多分類預測。
2.4.3 移位卷積層
移位卷積層具體結構如圖8所示,首先對輸入張量進行移位操作,用來重新分配空間信息,然后進行逐點卷積處理,實現跨通道混合信息。其中,逐點卷積之前有批量歸一化和非線性激活函數(ReLU)的作用。當輸入輸出形狀不一樣時,對輸入進行平均池化與卷積操作,通過殘差連接的方式實現輸入與輸出的特征信息融合。

圖8 移位卷積層網絡結構
通過移位操作和逐點卷積代替了常規的空間卷積。其中,移位操作實現了無參數操作,達到網絡輕量化的目的。
輸入數據首先經過移位操作,移位操作通過將卷積核構造為移位矩陣,對輸入數據不同通道進行不同方向的數據移位。
設輸入數據為F
,G
為F
經過移位卷積后的輸出數據,移位操作如公式(3)所示:
(3)
其中:j
,m
分別為數據沿著幀數軸和通道軸的地址索引,K
為移位卷積核,其內部定義值如式(4)所示:
(4)
在式(4)中,在移位卷積核中指定某一位置的值為1,其它位置皆為0,經過卷積后相當于將原通道進行了平移。
在太原龍城大橋上選取長度約60 m的測試區域,每隔10 m布設如圖9所示的硬件監測系統。由于監測橋梁的每個節點處需要布設大量的傳感器,圖中硬件監測系統的布設僅為其中一處的布設情況,在進行現場試驗時,硬件監測系統采用膠合的方式安裝到被測橋梁的橋面上,設置硬件監測系統的采樣率為1 MHz,采集時間為2 s。

圖9 實驗現場
軟件實際測試步驟如圖10所示。
1) 填寫合適的IP地址和端口號,勾選“TCP模式”,創建一個TCP服務器,開啟硬件監測系統電源,等待硬件監測系統與軟件的連接,連接成功后如圖11所示;

圖10 軟件測試流程

圖11 監測系統控制主界面
2) 勾選所需測試的客戶端,同時勾選合適的采樣率和采樣時間,點擊控制主界面中的“模式配置”按鈕,軟件將下發指令配置采樣率和采樣時間;
3) 點擊“開始采集”按鈕等待硬件監測系統對橋梁健康監測所需的加速度數據、應變數據、北斗定位數據,以及溫濕度數據進行采集。
4) 分別點擊“數據回傳”、“應變片”、“定位信息”和“溫濕度”按鈕分別對步驟3)中采集到的數據進行回傳,回傳過程中會有進度條顯示,點擊“保存數據”按鈕選擇合適的路徑和數據格式保存數據。
5) 點擊“綜合參數采集”按鈕,可一次性執行步驟3)、4),節省操作步驟。
6) 選擇“監測時間(小時)”的下拉框,等待相應的時間后,即可執行步驟3)、4),同時達到相應時間后,該步驟可自動重復進行。經過這一步驟的操作便可達到定時監測的目的,方便對橋梁進行長時間的監測。
根據3.2中的測試步驟,對軟件進行實際測試。在測試過程中軟件運行穩定,與硬件監測系統配合,使用方便且靈活,初步達到了軟件設計的要求。
點擊“顯示定位”按鈕,根據不同的客戶端IP地址對保存的北斗定位數據進行拆分,得到每個節點的經度、緯度、UTC時間和日期,并將這些數據在節點定位頁面的表格中顯示;同時調用百度地圖api將經緯度轉換為地圖中的坐標點,并標記在地圖中。地圖中可以直觀地看到實際布設的硬件監測系統的位置和預設位置一致。北斗定位顯示界面如圖12所示。

圖12 北斗定位信息顯示
經過數據處理模塊,對硬件監測系統采集到的加速度和應變的數據進行計算處理,依據公式(1)、(2)計算得到測試區域的橋梁撓度,對其繪制波形,如圖13(a)所示;提取處測試區域橋梁的主頻率,如圖13(b)所示;之后將經過預處理的數據導入健康診斷模塊進行訓練,得到訓練的精度和損失度曲線如圖14所示,可以看出訓練精度達到70%左右,損失曲線穩定在0.5左右。將訓練好的網絡模型保存后,在該橋梁上不同位置處重新布設一組測試區域,之后重復上述測試流程中的步驟(3)、(4),并將采集到的數據重新預處理,導入訓練好的模型中測試,得到該橋梁的健康診斷結果,如圖15所示。

圖13 頻率和位移數據顯示

圖14 訓練精度和損失曲線

圖15 橋梁健康診斷結果顯示
在實際測試過程中也發現了一些設計不足的地方,如硬件監測系統采用的是WIFI+5G的方式組成超遠程通信鏈路,但是5G目前為止沒有做到全覆蓋,故該硬件監測系統的使用會受到限制;軟件連接大量了客戶端后,通信鏈路會在周圍環境條件復雜的時候存在擁堵的情況;后臺自動保存使用日志時會存在卡頓的現象;軟件在調用健康診斷模塊時需要進行大量的計算,因此也會存在卡頓的情況健康診斷模塊的訓練精度和損失度也存在優化的空間。
本文設計了橋梁遠程結構綜合參數獲取與智能評估軟件,通過與硬件監測系統的結合,完成了橋梁健康參數的獲取和智能評估的需求。在保證軟件性能和功能的同時,可以同時監測橋梁上布設的多個硬件監測系統,獲取監測系統采集到的數據、分析數據并顯示,同時依據軟件中的健康診斷模塊得到當前測試橋梁的健康狀況。軟件解決了傳統監測和健康評估過程耗時的問題。最終實驗證明,軟件控制界面友好、易操作、功能完善,具有參數獲取難度低、精度高、健康評估準確的優勢,解決了長期存在于老舊橋梁監測中周期長、效率低、健康評估難的問題,為橋梁的維修人員提供了參考的價值,具有實際意義。