胡丹妮,張 潔,李建峰,趙洪森,王 野
(麗水學院工學院,浙江麗水323000)
超寬帶(Ultra Wide Band,UWB)技術是一種無載波通信技術,利用納秒級的非正弦波窄脈沖傳輸數據,與傳統的室內定位技術相比,超寬帶技術具有功耗低、安全性高、抗多徑效果好等優點。這些優點能夠使它在室內定位上有很好的應用前景。人們對于室內定位的需求日益增加,例如:在煤礦等突發災難中,通過室內定位,引導救援人員以最快速度解救被困人員;2020年的疫情防控中,基于UWB定位技術的定位手環、定位標簽,防止人員跨部門接觸,做到人員的精確跟蹤定位;在軍事上,通過人員定位和設備追蹤進行城市作戰訓練、彈藥倉庫管理和高級研發等[1-3]。因此,實現低成本且高精度的室內定位,具有非常重要的現實意義。
為此,我們將UWB技術、三邊定位算法、飛行時間測距(Time of Flight,ToF)等技術結合為一體,以高精度室內定位需求為出發點,設計了基于基站/標簽一體化的超寬帶室內定位硬件系統和上位機驗證平臺。
UWB具有以下特點[4]:(1)系統容量大;(2)數據傳輸速度快;(3)抗干擾能力強;(4)多徑分辨能力強;(5)隱蔽性好;(6)定位精確;(7)功耗低。
與傳統定位方法不同,UWB定位技術并不是基于信號強度(Received Signal Strength Indicator,RSSI)的方法來獲取位置信息,而是運用一定算法通過精確無線信號的發送和接收時刻來獲取位置信息。UWB室內定位系統實現精確定位的前提是要獲取與位置相關的信息和參數,建立相關的數學模型,根據這些信息和參數以及數學模型來解算電子標簽的坐標。UWB定位技術應用最廣泛的測距方式是飛行時間測距法(Time of Flight,ToF)以及到達時間差測距法(Time Difference of Arrival,TDOA)[5]。從定位方式來看都屬于多點定位方式,即通過確定電子標簽與多個已知基站的相對位置關系來實現定位。
一般情況下,定位一個電子標簽需要知曉一些固定的已知位置的基站。根據數學理論知識,需要至少3個基站才能夠實現二維電子標簽定位,而最少4個非共面基站才能實現三維定位電子標簽定位。
系統定位采用ToF(Time of Flight)算法計算定位標簽與基站之間的距離。算法計算框如圖1所示。ToF算法采用Two-way Ranging通信的形式計算UWB標簽與基站間的距離[6-8]。

圖1 Two-way ToF算法實現框圖
設備A首先向設備B發出一個數據包,并記錄發送數據包的時刻Ta1,設備B收到數據包后,記下收包時刻Tb1。之后設備B等待時刻Treply,在Tb2時刻,向設備A發送一個數據包,設備A收到數據包后記下時刻值Ta2。

算出電磁波在空中的飛行時間Tprop,飛行時間乘以光速即為兩個設備間的距離。

三邊定位算法(Trilateration algorithn)是一種常用的定位算法[9-12],其實現的方式如圖2所示。設未知點位置為(x,y,z),令其中第一個球形P1的球心坐標為(0,0),P2處于相同縱坐標,球心的坐標為(d,0),P3球心坐標為(i,j),3個球形半徑分別為r1,r2,r3。z為3個球相交點與水平面高度,則有:

圖2 三邊定位算法圖解

當z=0時,即3個圓在水平面上相交為一點,首先解出x:

將x代入到式(6)中得到y:

為了減少本系統的設計成本與算法的復雜程度,本系統在設計定位算法時選擇了3個基站1個標簽的定位模式。這種模式只適合二維定位,但是我們在電子標簽上增加了氣壓計傳感器模塊,利用氣壓計傳感器模塊獲得標簽的高度值。當基站的坐標固定,且處于同一水平線上時,這種方法可以實現三維定位功能,一定程度上減少了系統的設計成本與算法復雜程度。
UWB定位系統主要由可移動的電子標簽、固定的通信基站、Qt上位機3大部分組成。在硬件系統中,標簽依次向3個基站發起通訊,得到標簽與基站之間的距離,進而通過藍牙模塊將數據發送至上位機進行運算和顯示。UWB定位系統的系統設計框圖如圖3所示。

圖3 UWB定位系統設計框圖
系統采用Decawave公司DW1000芯片設計推出的超寬帶收發模組DWM1000實現測距定位功能。DW1000 UWB芯片是一款按照IEEE802.15.4-2011協議標準設計的超寬帶無線收發芯片,集成了天線及所有的射頻電路,具有高精度、低功耗等特點。其內部框圖如圖4所示。

圖4 DWM1000模塊內部框圖
本系統采用基站標簽一體化的硬件電路設計,利用DW1000芯片通過撥碼開關設置標簽和基站。STM32F103芯片為主控芯片,氣壓傳感器用于測量標簽高度,藍牙模塊用于與上位機數據傳輸。如圖5和圖6所示。

圖5 UWB標簽/基站一體化硬件設計框圖

圖6 UWB標簽/基站硬件電路實物圖
根據設計要求,UWB定位系統基站的程序流程圖如圖7所示。基站上電后,若接收到來自標簽的測距請求信號,則與目標節點完成測距交互,然后查詢自身地址。若為0號基站,則將標簽發送的距離數據幀,經過一定的處理后(處理0x00、0Xff無法正常發送的問題)發送至上位機顯示。

圖7 UWB定位系統基站程序流程圖
UWB定位標簽軟件功能流程圖如圖8所示。電子標簽上電初始化后,進入定位網絡得到分配的指定地址,然后主動向3個基站依次發送測距交互請求,進行測距交互后獲得標簽與3個基站間的飛行時間,根據DS-TWR測距方式計算與各基站之間的距離,并將該距離信息拼幀后傳輸到0號基站(與可視化圖形界面上位機通訊的基站),以便上位機坐標解算平臺獲取所需距離信息。

圖8 UWB定位標簽軟件功能流程圖
將標簽tag0和3個基站安裝在實驗室的測試環境,基站an0與an1間距為1.54 m,基站an1與an2間距為6 m,學生手持標簽tag0在實驗室內行走,實時測試標簽與基站的距離,并檢查UWB標簽OLED和上位機顯示該標簽/基站的位置信息。如圖9和圖10所示。

圖9 UWB標簽和基站測試示意圖

圖10 實驗室實測環境與上位機實時顯示
如圖11所示,以某一組測試數據為例。UWB標簽Tag0顯示與基站an0、an1、an2的距離分別為0.53 m、0.99 m和3.84 m。上位機實時顯示了標簽與基站的坐標位置信息及其實時運動軌跡,如圖12所示。

圖11 標簽與3個基站的測量距離顯示

圖12 標簽/基站的三維坐標位置信息及實時軌跡
本系統實驗以標簽和基站an2數據采集為例,一共測量12次。在經過實際測量后,發現UWB室內定位系統在不同環境下的定位精度不同,這是因為不同環境對電子標簽/基站測距有不同的干擾因素,如定位標簽和基站間的本地時鐘不同源導致同步上的誤差、天線延遲誤差、經緯度誤差等因素,又如7 cm、9 cm和16 cm測距情況下出現了數據溢出。因此,在定位系統進行布置前,需要對UWB無線收發模塊進行校準,在采集完N次數據之后,利用MATLAB,使用最小二乘法將該N個平均值完成曲線線性擬合,并將計算得到的擬合曲線代入程序代碼中進行校準調試,使定位系統在該環境下能夠獲得更高精度的數據[13]。系統經過校準后,數據測試記錄如表1所示。

表1 實際距離與模塊測量距離記錄表
通過測試結果數據分析,標簽tag0與基站an2測量的距離誤差在10 cm范圍內。上位機也實時顯示了UWB標簽/基站的三位坐標值和軌跡線圖。
本文根據UWB技術的特點,通過分析其通信技術和三維定位技術,設計了基于DWM1000基站/標簽一體化嵌入式硬件系統,包括采用DWM1000作為UWB無線收發器,STM32F103為核心控制器。軟件方面,利用ToF(Time of Flight)算法測量UWB標簽與基站間的距離,通過建立三維空間坐標實時顯示UWB標簽的位置信息。實驗數據顯示,設計的UWB室內定位系統具有數據傳輸速度快,定位精確(小于10 cm)等特性。