王金輝
摘要:隨著定位技術的不斷發展和成熟,基于位置信息的服務在各行業的應用越來越廣泛。在國家及地方政府印發的相關建設要求中,建議采用超寬帶(Ultra Wide Band,UWB)技術提高定位精度。基于UWB技術研發的定位系統,采用了時隙分配、下行尋址等技術,降低了無線信號碰撞的概率,解決了下行指令發送失敗率較高的問題,提高了系統的可靠性,提升了企業“工業互聯網+安全生產”能力。
關鍵詞:定位;位置信息服務;超寬帶;工業互聯網;安全生產
中圖分類號:TP391文獻標志碼:A文章編號:1008-1739(2023)05-62-5

隨著新技術的不斷發展和成熟,人們對于室內定位的需求日益增加,例如:在煤礦等突發災難中,通過室內定位,引導救援人員以最快速度解救被困人員;2020年的疫情防控中,基于超寬帶(Ultra Wide Band,UWB)定位技術的定位手環、定位標簽,防止人員跨部門接觸,做到人員的精確跟蹤定位;在軍事上,通過人員定位和設備追蹤進行城市作戰訓練、彈藥倉庫管理和高級研發等[1-3]。作為近兩年興起的一種定位技術,UWB室內定位技術與傳統通信技術有著極大差異。它不需要使用傳統通信體制中的載波,而是通過發送和接收具有ns或ns級以下的極窄脈沖來傳輸數據,從而具有GHz量級的帶寬。
UWB室內定位系統與傳統的窄帶系統相比,具有穿透力強、功耗低、抗多徑效果好、安全性高、系統復雜度低以及能提供高精度定位等優點,滿足了室內定位高精度、低功耗和低復雜度的需求,在室內定位領域有著無可取代的地位[4],可用于各個領域的室內精確定位和導航,尤其是“工業互聯網+安全生產”場景。
1.1到達時間法
到達時間(Time of Arrival, TOA)是基于時間的距離估算方法中最簡單的一種。它使用單向通信進行測距,這意味著系統的基站和標簽只作為發射機或接收機當中的一種,可以大大降低設備硬件及系統組網和部署的復雜性。
TOA測距操作僅由一個傳輸完成,發射機向接收機發送含當前時間戳的數據,接收機收到數據后,對接收時間、發送時間進行比較。由于光速是已知的常數,一次可以確定發射機和接收機之間的距離。然而,TOA采用的是單邊通信方式,無論是基站和定位標簽,都無法在雙方系統時鐘不一致的情況下計算出信號的絕對一致的傳播時間,所以TOA系統在實踐中很難實現[5]。
1.2到達時間差法
從原理上講,到達時間差(Time Difference of Arrival,TDOA)和TOA非常相似,但TDOA方法并沒有計算每條消息從標簽到基站的絕對傳播時間,而是使用其到幾個基站的TDOA來進行距離估算[6]。TDOA測量的是信號到達不同接收機的相對時間,因此要求接收機的時鐘嚴格同步,而發射機不需要這種同步。因為基站的位置通常是固定的,可以通過有線網絡進行連接,這就消除了TDOA對更復雜的無線時鐘同步算法的需要,在一定程度上簡化了系統。但是如果負責時鐘同步的基站發生故障,整個定位系統的可用性就會大大降低。
1.3飛行時間法
飛行時間(Time of Flight,TOF)是一種雙向測距技術,通過測量UWB信號在基站與標簽之間往返的飛行時間來計算距離,從而完全消除了系統中各節點之間時間同步的要求。TOF原理如圖1所示。

2.1系統架構
基于UWB技術的定位系統,重點針對人、車和資產等,在現場部署定位基站和定位標簽等物理終端,在控制中心部署位置解算引擎和應用軟件,對被定位目標的實時位置、實時軌跡進行監控。通過將位置數據和現場的地圖進行關聯,可以實現對“人的不安全行為”(超時滯留、超員和進入危險區域等)的實時感知,從而降低安全風險。系統架構如圖2所示。

定位系統由基礎設施層、平臺層和服務層組成,形成了IAAS、PASS和SAAS的標準云架構體系。
2.2系統功能
基礎設施層:由定位基站、定位標簽組成。定位基站和定位標簽之間采用雙向測距法(Two-Way Ranging,TWR)(TOF之一),TWR不需要時間同步,大大降低了系統部署難度和成本。但是由于采用雙向測距,交互的消息較多,定位標簽的續航能力受到一定限制,并且消息可能在空中發生碰撞,所以消息發送的時序必須嚴格控制,導致單基站標簽容量較小。基站和標簽進行消息交互,基站將相關信息(定位信息、標簽電量和SOS標志等)通過有線或無線網絡上報到PASS層的定位解算引擎。
平臺層:由定位引擎、數據管理、消息服務和尋址服務等平臺功能模塊組成。解算引擎收到基站數據后,采用卡爾曼濾波算法等技術,對數據進行處理,根據系統配置的地圖信息,解算出被定位對象的二維或三維坐標。同時根據相關定位輔助手段或原則,對異常點位進行平滑處理,對無點位進行插值。數據管理模塊實時更新標簽、地圖等信息,實現內存數據和配置數據的同步。消息服務模塊實現PASS層和SAAS層、PASS層和IAAS層之間的消息交互。通過MQTT等方式,向SAAS層提供位置、標簽等信息,通過UDP方式,向IAAS層提供標簽震動、短消息等數據。尋址服務模塊提供應用層向定位標簽下發指令的基站尋址功能。
服務層:由應用軟件(權限管理、配置管理、定位管理和設備管理等)、位置服務接口管理等模塊組成。權限管理提供了賬號和密碼及權限管理,不同的用戶具備不同的權限。配置管理提供了組織架構、地圖、告警規則、基站和標簽等數據和設備的配置功能。定位管理是核心業務模塊,提供了位置監控、實時軌跡、歷史軌跡和電子圍欄等功能。設備管理提供了設備運行狀態監控功能,當設備(主要是基站)發生故障時,設備拓撲圖中相關設備的顏色會發生變化,提示設備故障。位置服務接口管理模塊通過MQTT、WebService等方式,和其他信息化或應用軟件進行通信。
2.3關鍵技術
2.3.1雙向測距時隙分配
定位區域內存在多個定位標簽時,如果不劃分時隙,多個標簽可能同時發送數據,這樣這些數據會產生信號碰撞,導致有效數據包丟失或數據包內容紊亂。為了解決這個問題,本系統采用了雙向測距時隙分配算法,提高了信道的利用率,信號傳輸效率比較高,系統定位精度較為穩定。其設計方案如下:
①時鐘同步。在定位區域內設一主站,主站下發response消息標識CMD1,從站下發response消息標識CMD2。主站下發的response消息中含有基站的系統時鐘數據(單位ms)。標簽收到主站標識后根據主站時鐘數據同步標簽本地系統時鐘。
②幀時隙劃分。標簽以2 Hz的頻率發送定位消息,則將1 s內分為兩個超幀500 ms。每個超幀設置20個slot(槽點,每個slot時隙長度25 ms)。在每個slot內將會有最多2個標簽和各基站(最多6個)之間完成測距。每個標簽在自己對應的slot點起點發送poll消息。
③定位消息包時隙劃分。基站在收到標簽發送的poll消息后開啟延時發送response消息,延時時間為0=4 ms+(Anchor_id % 6)*2 ms(即0最短4 ms,最長14 ms)。
2.3.2業務指令下行尋址
當應用層判斷某種緊急情況(比如被定位對象進入危險區域、進入某區域停留時間過長等)發生時,應立即通過某種方式(比如讓定位標簽產生振動)下發指令提醒被定位對象,所以指令如何準確、可靠地下發至定位標簽成為關鍵因素。
因為定位標簽可能處于移動狀態,并且標簽只和定位基站有通信通道,和應用層之間無直接通信通道,所以應用層下發給定位標簽的指令必須通過定位基站進行轉發,因此定位基站必須實時更新“漫游”至本基站的標簽,并上報至平臺層的尋址服務,尋址服務實時更新基站和標簽的所屬關系。具體流程如圖3所示。
①標簽和基站(基站可能是多個)完成測距;
②基站將測距數據上報到定位解算引擎,解算引擎將基站和標簽的關聯關系記錄到內存數據庫(可能存在多個基站關聯一個標簽的情況);
③應用層監測到某種突發情況,向指定標簽下發某種指令;
④尋址服務接收到指令后,根據標簽ID從內存數據庫中查找所屬的基站(可能會找到多個),并根據此基站ID從內存數據庫中查找基站通信地址,然后將指令發送到此基站,同時啟動定時器;
⑤基站收到指令后,通過私有消息發送到標簽;
⑥標簽收到指令后,進行處理,并將處理結果上報到基站;
⑦基站將指令處理結果上報到尋址服務;
⑧尋址服務將處理結果上報到應用層。

如果基站和標簽之間的通信或處理過程出現錯誤,則尋址服務的定時器會產生時超,此時,尋址服務可以繼續通過同一基站下發指令,或選擇另一臺基站下發指令,保證指令能成功發送到標簽。
3.1基礎設施層
基礎設施層主要包括基站和標簽、基站和標簽通過無線通信實現消息交互。如果要實現較為精準的定位效果,至少需要3個基站,流程如圖4所示。

①~③標簽周期性通過廣播發送blink消息,消息中包含標簽ID等相關信息;
④~⑥基站收到blink消息后,解析出標簽ID并加入列表,同時向標簽回復range_init消息,range_init消息用于告知標簽分配好的測距時隙;

3.2平臺層
平臺層主要由管理服務、代理服務和位置解算引擎等模塊組成,核心功能模塊是定位解算引擎,具體實現如圖5所示。

管理服務功能如下:
①啟動配置相關進程和線程。啟動代理服務、位置解算引擎及相關線程。
②線程管理功能。查看、停止、啟動相關線程。
③守護功能。探測代理服務、位置解算引擎的運行狀態。
④日志查看功能。可以查看代理服務、位置解算引擎的日志。
代理服務負責位置解算引擎中相關線程之間的通信,在數據庫中配置各線程的通信端口,根據配對通信配置,將數據發送到相關地址。代理服務的功能類似于郵箱管理,在數據發送的同時,提供緩存和重發機制,保證數據發送的可靠性。
位置解算引擎由基站通信線程、位置解算線程、位置增強線程和消息推送線程組成。
3.2.1基站通信線程
基站通信主要是建立和基站通信的服務,并對數據進行相關處理,具體如下:
①建立UDP服務,偵聽基站的UDP報文;
②收到基站的UDP報文后,解包(提取基站ID、標簽ID、標簽流水號、標簽測距/時間戳、電量信息和SOS按鍵標志等);
③根據基站ID,從內存得到地圖等信息,與解包后的數據一起通過代理服務發送到位置解算引擎。
3.2.2位置解算線程
位置解算線程主要是對位置信息進行解算,具體如下:
①負載均衡功能。根據標簽數量、均衡原則,創建多個解算線程。
②解算功能。根據代理服務提供的數據,判斷是TWR還是TDOA,采用不同的算法進行解算。
③數據發送功能。將解算后的數據通過代理服務發送到位置增強線程。
3.2.3位置增強線程
位置增強線程主要是判斷解算后的位置數據是否合理、是否需要補點等,具體如下:
①負載均衡功能。根據標簽數量、均衡原則,創建多個增強線程。
②限幅濾波功能。判斷位置是否是壞點,如果是壞點,則必須丟棄。
③活動區域判斷功能。判斷位置是否在活動區域內,如果不在活動區域內,則必須丟棄。
④補點功能。無論是壞點,還是在活動區域外,丟棄的點必須根據一定的原則進行補點,否則運動軌跡會產生跳躍。
⑤平滑功能。按照平滑原則進行位置平滑,比如3點平滑、7點平滑等,平滑的點數越多,軌跡展示的延時越長,但效果也越好。
⑥數據發送功能。將平滑后的數據通過代理服務發送到消息推送線程。
3.2.4消息推送線程
消息推送線程主要提供將位置增強后的數據推送給其他信息化或應用軟件,具體如下:
①負載均衡功能。根據標簽數量、均衡原則,創建多個推送線程。
②數據發送功能。根據地圖ID,發送到MQTT中以地圖標識命名的主題。
3.3應用層
應用層主要實現用戶權限管理、應用業務和設備管理等功能,架構如圖6所示。

系統采用前后端分離的技術架構,通過nginx+springcloud的方式進行解耦。采用瀏覽器/服務器+數據庫(BWD)3層技術,按照JAVA規范進行設計、開發,適用于Windows操作系統,具備易部署、易維護和易升級等特性。
基于UWB技術研發的iSafe定位系統,具備高精度、抗多徑等特點,尤其適用于冶金、石油化工等工業生產現場。
iSafe定位系統已在某電解鋁車間應用,實現了人員位置數據、體征信息的數字化,通過定位標簽和人員的關聯,精準記錄了人員的位置信息。根據位置信息,對進入危險區域人員發出告警,避免人員因接觸危險區域而引發安全事故。同時,對于非生產人員進入生產區域、訪客進入非指定區域等均引發告警,有效提升了廠區的安全管理水平。
定位系統通過將人員、車輛和設備等的位置信息數字化,形成了“位置物聯網”。基于位置物聯網的定位系統,不僅在“工業互聯網+安全生產”中發揮重要的作用,在離散或流程工業的生產工藝中也可以將位置信息和生產流程關聯起來,實現車間無紙化辦公,通過分析每個生產環節的相關信息,能夠對生產計劃、產品訂單進行合理調配,產品生產可控、質量可追溯,優化生產流程,提高生產效率。
參考文獻
[1]閆大禹,宋偉,王旭丹,等.國內室內定位技術發展現狀綜述[J].導航定位學報,2019,7(4):5-12.
[2]范燁,陳秋霞,倪麗慧.DWM1000模塊的UWB機器人室內定位系統[J].單片機與嵌入式系統應用,2018,18(11):48-50.
[3]李晨輝,甄杰,祝會忠,等.復雜環境下的超寬帶高精度定位算法[J].測繪科學,2020,45(1):4-10.
[4]趙明劍.低功耗高速可植入式UWB發射機與接收機芯片的研究[D].廣州:華南理工大學,2013.
[5]劉國棟.基于UWB的室內定位技術研究[D].南京:南京郵電大學,2014.
[6]郭建廣.超寬帶無線定位技術研究[D].寧波:寧波大學,2015.