李 露胡乃瑞王君祎
(1.沈陽航空航天大學電子信息工程學院,遼寧沈陽 110136;2.中國科學院沈陽自動化研究所,遼寧沈陽 110016)
如今,一些科學技術手段正逐漸被應用于野外搜救行動中。無人機或者載人飛機常常被利用在快速搜尋事故現場,通過在目標區域低飛勘察進行救援活動[1]。但是目前的技術還無法得到遇難者的精準位置,需經過長時間搜尋才能被發現,同時還會出現運營商片區基站損壞或信號弱覆蓋區域,若使用蜂窩網絡通信系統可能會受到干擾,往往會耽誤搜救的黃金時間,造成遇險人員身體損害甚至失去生命[2]。
提出一款基于北斗定位與LoRa 無線技術的野外搜救監測系統。由于實際應用中衛星導航系統在一定程度上會受到環境條件、電磁波變化等因素的影響,本設計在采集并解析出北斗模塊所傳輸的位置數據后,對其進行自適應Kalman 濾波處理以提高該系統的定位精度。該系統采用搭載LoRa 無線模塊的無人機作為中繼器實現自組網,能夠避免監測區域內灌木、建筑物等因素對無線電傳播的影響,保證了該系統數據的遠距離傳輸。倘若使用多架無人機并合理規劃部署位置,能夠顯著增強地面無線設備的鏈接性,擴展通信網絡的覆蓋范圍。同時,作為移動的空中基站,還能夠提供可靠的上下行通信,提升無線網絡的能力,具有良好的靈活性[3]。
在野外活動開始前,人員穿戴集成北斗定位模塊的移動終端設備。當使用者處于危險環境時,按下緊急報警按鈕,通過由LoRa 無線模塊組成的無線通信網絡向地面站發出求救信號,并實時上傳人員的位置信息給地面監測中心。監測軟件是一款由Qt 設計的上位機軟件,能夠實時地顯示求救人員的位置信息,便于監測整個搜救行動的進行。該野外搜救系統的設計能有效跟蹤遇險人員,并將信息實時上傳到地面檢測中心,方便搜救人員明確攜帶必要的醫療器械和藥物,為開展搜救行動提供更完備準確的參考信息,為實施有針對性的救援提供了可能。
本系統由目標用戶端和地面檢測中心2 部分組成,二者之間通過由無人機搭載LoRa 無線模塊組成的無線通信網絡傳遞數據。目標用戶端主要由主控單元stm32F103C8T6、北斗定位模塊、OLED12864顯示模塊、按鍵模塊、LED 模塊、無線模塊等組成。地面檢測中心由無線模塊和PC 端檢測軟件組成。利用Qt 設計一款專用的上位機軟件,可將無線模塊傳來的信息進行解析,并顯示在監測軟件上,便于救援人員開展搜救行動,具體模型框架如圖1 所示。

圖1 系統總體結構
該野外搜救監測系統主控單元的最小系統電路如圖2 所示,本設計采用的是stm32F103C8T6 芯片作為主控芯片,該款單片機程序和靜態數據存儲器容量是512KB,RAM 存儲為64KB,具有專為要求高性能、低成本、低功耗的嵌入式應用設計的ARM32位Cortex-M 內核芯片[4-5]。根據本設計中定位及無線通信功能的實際需求,結合STM32 單片機自身特點,編寫軟件程序實現定位模塊信息的采集、數據處理、按鍵及無線通信等功能。其豐富的庫函數資源為基于北斗定位與LoRa 無線技術的監測系統的設計帶來了極大的方便。
該搜救監測系統采用的通信設備為LoRa 無線模塊,是一款基于SX1268 射頻芯片的無線串口模塊,具有多種傳輸方式,該模塊支持空中喚醒,非常適合超低功耗應用。在本設計中利用433 MHz 無線收發模組進行信息的傳遞,通過LoRa 擴頻通信技術,普通環境下能夠實現5 000 m 的通信距離[6]。在該野外搜救監測系統中選用了其自動中繼組網的功能,能夠實現超遠距離的通信,同一區域使多個網絡同時運行。由于在實際數據傳輸中,可能會出現地形地貌、人工建筑等會對無線通信網絡造成干擾的情況,于是選用了無人機搭載無線模塊作為中繼器傳輸數據,具有靈活性強,搭建成本低等優點。無線通信系統示意圖如圖3 所示,被測人員佩戴含有無線模塊的移動設備作為信息的發射端,無人機搭載無線模塊作為中繼器模塊,地面監測中心與無線模塊相連作為信息的接收模塊。

圖2 最小系統電路圖

圖3 無線通信系統
在使用LoRa 無線模塊時,先對模塊進行工作模式、參數配置,程序中對串口進行初始化設置,通過串口通信實現位置信息的傳遞。其接口電路如圖4 所示。
該搜救系統的定位模塊采用的是一款高性能的ATK-1218-BD GPS/北斗雙模定位模塊[7]。在該搜救系統中通過調用NMEA-0183 協議的命令能夠得到時間、經緯度、地面速率等有用信息。該定位模塊具有體積小,能夠兼容3.3 V/5 V 電平的特點,方便與各種單片機系統連接。該模塊還自帶可充電后備電池,可以掉電保持星歷數據。定位模塊通過串口與處理器進行通信,其接口連接電路如圖5 所示。

圖4 LoRa 模塊接口電路

圖5 定位模塊與處理器電路
精準定位的軟件設計流程如圖6 所示。首先,初始化根據SkyTraq 控制協議對定位模塊的串口波特率、PPS 輸出脈沖寬度、輸出頻率等進行設置。然后循環等待衛星數據的接收。當得到可用的數據后,通過NMEA-0183 協議對數據進行解析,從中提取到有用的位置信息,經過自適應Kalman 算法將信息進行濾波處理,得到最終準確的目標位置信息。

圖6 定位模塊的軟件設計流程
本設計通過NMEA-0183 協議對數據進行解析,NMEA-0183 協議采用ASCII 碼來傳遞定位信息[8]。其協議幀格式如圖7 所示。

圖7 位置信息協議幀
消息的格式為:$GNRMC,UTC 時間,定位狀態,緯度,緯度半球,經度,經度半球,地面速率,地面航向,地面航向,UTC 日期,磁偏角,磁偏角方向,模式指示*hh(CR)(LF)。在程序中定義一段存儲區域用來存儲位置信息數據,通過判斷是否有“$”標識符來確定此組數據是否合法。在此野外搜救系統中需要提取其中定位模塊實測的經緯度信息。
由于衛星導航系統的觀測粗差會引起定位精度的誤差,因此采用Kalman 濾波對含有隨機干擾的觀測量進行濾波。Kalman 濾波器是一種最優濾波器,可以從夾雜著各種隨機噪聲的信號中分離出有用信號[9]。由于在該野外搜救系統的實際情況中觀測人員一般難以確保規則運動,標準的Kalman 濾波算法難以滿足實際需求。因此本設計中選用了自適應Kalman 濾波算法,能夠有效地抑制觀測異常,提高濾波的精度和可靠性,同時具有計算效率高,便于自動化處理等特點,是精密單點定位中常用的一種估計策略[10-11]。
本系統采取的觀測模型為:

式中:s(k)表示被測人員移動的距離,v(k)表示北斗模塊的定位誤差,假設是零均值、方差為的白噪聲,方差用統計的方法多次采集北斗定位模塊實驗數據獲取。記時刻kT0被測人員移動的速度為,加速度為a(k),由勻加速運動公式有

而加速度a(k)由機動加速度u(k)和隨機加速度w(k)2 部分組成。
定義在采樣時刻kT0處系統的狀態x(k)為人員移動的位置和速度,可以得到運動的狀態方程

觀測方程為

即系統的狀態空間模型為

對比式(4)~式(7),可得到Φ、B、Γ、H。將其推廣到四維,包含水平方向的位置和速度和縱向的位置和速度。

由此得到系統方程可以用式(9)表示:

由于實際情況中被測人員的運動速度較低,因此選用的理論模型中的加速度認為是0。
自適應Kalman 濾波與標準Kalman 濾波在遞推形式上完全一致,兩者的差異僅體現在觀測模型中測量噪聲的方差采用等價方差進行替換。等價權可表示為:

式中:pi為北斗模塊測得數據對應的權;為標準化殘差;k0,k1為常量,一般取k0=1.0~1.5,k1=2.0~3.0。通過仿真和實驗論證后,該方案將觀測值的權劃分為保權區、降權區和拒絕區,通過適當擴大異常觀測值的方差以降低異常測量數據對參數估值的影響。在該野外搜救監測系統中,對于被測人員位置信息監測所含粗差的觀測值來說,采用自適應Kalman 濾波算法是非常有效的。
該野外搜救系統的地面站監測軟件使用Qt 開發平臺開發,Qt 是一個跨平臺的C++圖形用戶界面庫,由挪威TrollTech 公司出品,使用C++編程語言開發,Qt的跨平臺性使得它被廣泛的應用[12]。用戶可根據需要定制界面,Qt 為用戶提供了大量的函數,并為函數配上詳細的使用說明,地面站監測軟件設計流程如圖8所示。上位機通過無線通信網絡接收傷員位置信息,并將接收到的信息在上位機上直觀的顯示出來。

圖8 地面站監測軟件設計流程
為了更加直觀地顯示探測裝置的實時位置,使用了Qt 中的串口類以及相應的控件,并運用了信號與槽的機制實現了位置實時顯示軟件。上位機中首先對串口進行配置,當發現人員觸發警報時,通過便攜設備采集到當前人員的位置信息,并在PC 機上顯示出來,上位機顯示界面如圖9 所示。

圖9 地面站監測軟件顯示界面
其中地圖的開發是利用百度離線地圖API 應用程序接口。其所含有的綁定平臺、接口,把復雜的設計簡單化,降低了地理信息方面在地圖服務和地圖開發上的難度,可以免費供開發者使用,能夠按需實現位置檢索、定位導航等功能。
根據目標任務對所提出的自適應Kalman 濾波算法進行驗證。測試人員配戴本文設計的可穿戴設備在測試區域內移動,可穿戴設備將北斗模塊實時采集到的位置信息加以濾波處理后通過無線電發送到上位機,其中北斗定位模塊的采樣間隔為1 s,處理器首先將北斗定位模塊采集到的經緯度(B,L)進行坐標轉換,得到本設計選取的平面坐標系下的坐標(X,Y),然后將平面坐標(X,Y) 進行自適應Kalman 算法濾波處理,得到最終預測的位置信息。
北斗模塊直接采集到的人員運動軌跡如圖10 中觀測軌跡所示,濾波軌跡表示經自適應Kalman 濾波算法處理后的數據結果。為更加直觀的顯示出濾波效果,通過與理論值對比計算出了經過自適應Kalman 濾波算法處理前后的數據誤差如圖11 所示。

圖10 抗差Kalman 濾波算法效果

圖11 自適應Kalman 濾波前后誤差對比
由圖11 可以明顯看出,從定位模塊獲取的位置信息經過自適應Kalman 濾波處理后,該系統的定位均方根誤差由10 m 縮減到3 m,能夠有效抑制定位模塊測距中的測量值與真實值的誤差,從而得到更準確可靠的遇險人員位置信息,提高整個監測系統的精度和穩定性。
根據程序對目標進行系統測試,選擇6 名被測人員佩戴移動終端設備,無人機飛行高度在100 m左右,地面站在距離實驗地點8 000 m 范圍內搭建。開始測試,當人員A 觸發警報按鈕模擬受傷情況時,救援人員在地面站上位機監測軟件端即可觀察到受傷人員位置情況。監測軟件界面如圖12 所示,標記處為傷員,能夠清楚顯示傷員經緯度信息,如出現多名傷員,可通過下拉菜單選擇被觀測的傷員。
該搜救系統地面監測軟件還設計了顯示傷員運動軌跡等個性化功能,圖13 為監測到傷員受傷后的運動軌跡情況。可以直觀清晰地得到傷員運動軌跡,該野外搜救監測系統能夠很好地實現目標的即時定位功能。

圖12 出現傷員上位機監測界面

圖13 傷員運動軌跡上位機監測界面
本設計提出了一種基于北斗定位與LoRa 無線技術的野外搜救監測系統,對其硬件和軟件進行了詳細地設計。當人員穿戴移動終端設備后,一旦發生危險能夠快速準確地獲得遇險人員的地理位置信息,并通過無線通信系統在地面站軟件中進行實時監測。倘若搭配現有的無人機攝像技術,還能遠距離地實時觀測到人員生命體征等圖像信息,便于救援人員快速掌握遇險人員的身體狀況,明確攜帶必要的醫療器械和藥物。實驗表明,該系統實現了對北斗定位信息的獲取、信息的濾波處理、遠程發送接收信息以及實時監測等功能。此研究成果便于攜帶,能靈活搭建無線通信網絡,人機交互界面良好,在搜救行動中能有效監測遇險人員,節省人力與財力,并能夠為搜救行動的開展提供更完備的參考信息。