胡丹妮,張 潔,李建峰,趙洪森,王 野
(麗水學(xué)院工學(xué)院,浙江麗水323000)
超寬帶(Ultra Wide Band,UWB)技術(shù)是一種無(wú)載波通信技術(shù),利用納秒級(jí)的非正弦波窄脈沖傳輸數(shù)據(jù),與傳統(tǒng)的室內(nèi)定位技術(shù)相比,超寬帶技術(shù)具有功耗低、安全性高、抗多徑效果好等優(yōu)點(diǎn)。這些優(yōu)點(diǎn)能夠使它在室內(nèi)定位上有很好的應(yīng)用前景。人們對(duì)于室內(nèi)定位的需求日益增加,例如:在煤礦等突發(fā)災(zāi)難中,通過(guò)室內(nèi)定位,引導(dǎo)救援人員以最快速度解救被困人員;2020年的疫情防控中,基于UWB定位技術(shù)的定位手環(huán)、定位標(biāo)簽,防止人員跨部門接觸,做到人員的精確跟蹤定位;在軍事上,通過(guò)人員定位和設(shè)備追蹤進(jìn)行城市作戰(zhàn)訓(xùn)練、彈藥倉(cāng)庫(kù)管理和高級(jí)研發(fā)等[1-3]。因此,實(shí)現(xiàn)低成本且高精度的室內(nèi)定位,具有非常重要的現(xiàn)實(shí)意義。
為此,我們將UWB技術(shù)、三邊定位算法、飛行時(shí)間測(cè)距(Time of Flight,ToF)等技術(shù)結(jié)合為一體,以高精度室內(nèi)定位需求為出發(fā)點(diǎn),設(shè)計(jì)了基于基站/標(biāo)簽一體化的超寬帶室內(nèi)定位硬件系統(tǒng)和上位機(jī)驗(yàn)證平臺(tái)。
UWB具有以下特點(diǎn)[4]:(1)系統(tǒng)容量大;(2)數(shù)據(jù)傳輸速度快;(3)抗干擾能力強(qiáng);(4)多徑分辨能力強(qiáng);(5)隱蔽性好;(6)定位精確;(7)功耗低。
與傳統(tǒng)定位方法不同,UWB定位技術(shù)并不是基于信號(hào)強(qiáng)度(Received Signal Strength Indicator,RSSI)的方法來(lái)獲取位置信息,而是運(yùn)用一定算法通過(guò)精確無(wú)線信號(hào)的發(fā)送和接收時(shí)刻來(lái)獲取位置信息。UWB室內(nèi)定位系統(tǒng)實(shí)現(xiàn)精確定位的前提是要獲取與位置相關(guān)的信息和參數(shù),建立相關(guān)的數(shù)學(xué)模型,根據(jù)這些信息和參數(shù)以及數(shù)學(xué)模型來(lái)解算電子標(biāo)簽的坐標(biāo)。UWB定位技術(shù)應(yīng)用最廣泛的測(cè)距方式是飛行時(shí)間測(cè)距法(Time of Flight,ToF)以及到達(dá)時(shí)間差測(cè)距法(Time Difference of Arrival,TDOA)[5]。從定位方式來(lái)看都屬于多點(diǎn)定位方式,即通過(guò)確定電子標(biāo)簽與多個(gè)已知基站的相對(duì)位置關(guān)系來(lái)實(shí)現(xiàn)定位。
一般情況下,定位一個(gè)電子標(biāo)簽需要知曉一些固定的已知位置的基站。根據(jù)數(shù)學(xué)理論知識(shí),需要至少3個(gè)基站才能夠?qū)崿F(xiàn)二維電子標(biāo)簽定位,而最少4個(gè)非共面基站才能實(shí)現(xiàn)三維定位電子標(biāo)簽定位。
系統(tǒng)定位采用ToF(Time of Flight)算法計(jì)算定位標(biāo)簽與基站之間的距離。算法計(jì)算框如圖1所示。ToF算法采用Two-way Ranging通信的形式計(jì)算UWB標(biāo)簽與基站間的距離[6-8]。
圖1 Two-way ToF算法實(shí)現(xiàn)框圖
設(shè)備A首先向設(shè)備B發(fā)出一個(gè)數(shù)據(jù)包,并記錄發(fā)送數(shù)據(jù)包的時(shí)刻Ta1,設(shè)備B收到數(shù)據(jù)包后,記下收包時(shí)刻Tb1。之后設(shè)備B等待時(shí)刻Treply,在Tb2時(shí)刻,向設(shè)備A發(fā)送一個(gè)數(shù)據(jù)包,設(shè)備A收到數(shù)據(jù)包后記下時(shí)刻值Ta2。
算出電磁波在空中的飛行時(shí)間Tprop,飛行時(shí)間乘以光速即為兩個(gè)設(shè)備間的距離。
三邊定位算法(Trilateration algorithn)是一種常用的定位算法[9-12],其實(shí)現(xiàn)的方式如圖2所示。設(shè)未知點(diǎn)位置為(x,y,z),令其中第一個(gè)球形P1的球心坐標(biāo)為(0,0),P2處于相同縱坐標(biāo),球心的坐標(biāo)為(d,0),P3球心坐標(biāo)為(i,j),3個(gè)球形半徑分別為r1,r2,r3。z為3個(gè)球相交點(diǎn)與水平面高度,則有:
圖2 三邊定位算法圖解
當(dāng)z=0時(shí),即3個(gè)圓在水平面上相交為一點(diǎn),首先解出x:
將x代入到式(6)中得到y(tǒng):
為了減少本系統(tǒng)的設(shè)計(jì)成本與算法的復(fù)雜程度,本系統(tǒng)在設(shè)計(jì)定位算法時(shí)選擇了3個(gè)基站1個(gè)標(biāo)簽的定位模式。這種模式只適合二維定位,但是我們?cè)陔娮訕?biāo)簽上增加了氣壓計(jì)傳感器模塊,利用氣壓計(jì)傳感器模塊獲得標(biāo)簽的高度值。當(dāng)基站的坐標(biāo)固定,且處于同一水平線上時(shí),這種方法可以實(shí)現(xiàn)三維定位功能,一定程度上減少了系統(tǒng)的設(shè)計(jì)成本與算法復(fù)雜程度。
UWB定位系統(tǒng)主要由可移動(dòng)的電子標(biāo)簽、固定的通信基站、Qt上位機(jī)3大部分組成。在硬件系統(tǒng)中,標(biāo)簽依次向3個(gè)基站發(fā)起通訊,得到標(biāo)簽與基站之間的距離,進(jìn)而通過(guò)藍(lán)牙模塊將數(shù)據(jù)發(fā)送至上位機(jī)進(jìn)行運(yùn)算和顯示。UWB定位系統(tǒng)的系統(tǒng)設(shè)計(jì)框圖如圖3所示。
圖3 UWB定位系統(tǒng)設(shè)計(jì)框圖
系統(tǒng)采用Decawave公司DW1000芯片設(shè)計(jì)推出的超寬帶收發(fā)模組DWM1000實(shí)現(xiàn)測(cè)距定位功能。DW1000 UWB芯片是一款按照IEEE802.15.4-2011協(xié)議標(biāo)準(zhǔn)設(shè)計(jì)的超寬帶無(wú)線收發(fā)芯片,集成了天線及所有的射頻電路,具有高精度、低功耗等特點(diǎn)。其內(nèi)部框圖如圖4所示。
圖4 DWM1000模塊內(nèi)部框圖
本系統(tǒng)采用基站標(biāo)簽一體化的硬件電路設(shè)計(jì),利用DW1000芯片通過(guò)撥碼開關(guān)設(shè)置標(biāo)簽和基站。STM32F103芯片為主控芯片,氣壓傳感器用于測(cè)量標(biāo)簽高度,藍(lán)牙模塊用于與上位機(jī)數(shù)據(jù)傳輸。如圖5和圖6所示。
圖5 UWB標(biāo)簽/基站一體化硬件設(shè)計(jì)框圖
圖6 UWB標(biāo)簽/基站硬件電路實(shí)物圖
根據(jù)設(shè)計(jì)要求,UWB定位系統(tǒng)基站的程序流程圖如圖7所示。基站上電后,若接收到來(lái)自標(biāo)簽的測(cè)距請(qǐng)求信號(hào),則與目標(biāo)節(jié)點(diǎn)完成測(cè)距交互,然后查詢自身地址。若為0號(hào)基站,則將標(biāo)簽發(fā)送的距離數(shù)據(jù)幀,經(jīng)過(guò)一定的處理后(處理0x00、0Xff無(wú)法正常發(fā)送的問(wèn)題)發(fā)送至上位機(jī)顯示。
圖7 UWB定位系統(tǒng)基站程序流程圖
UWB定位標(biāo)簽軟件功能流程圖如圖8所示。電子標(biāo)簽上電初始化后,進(jìn)入定位網(wǎng)絡(luò)得到分配的指定地址,然后主動(dòng)向3個(gè)基站依次發(fā)送測(cè)距交互請(qǐng)求,進(jìn)行測(cè)距交互后獲得標(biāo)簽與3個(gè)基站間的飛行時(shí)間,根據(jù)DS-TWR測(cè)距方式計(jì)算與各基站之間的距離,并將該距離信息拼幀后傳輸?shù)?號(hào)基站(與可視化圖形界面上位機(jī)通訊的基站),以便上位機(jī)坐標(biāo)解算平臺(tái)獲取所需距離信息。
圖8 UWB定位標(biāo)簽軟件功能流程圖
將標(biāo)簽tag0和3個(gè)基站安裝在實(shí)驗(yàn)室的測(cè)試環(huán)境,基站an0與an1間距為1.54 m,基站an1與an2間距為6 m,學(xué)生手持標(biāo)簽tag0在實(shí)驗(yàn)室內(nèi)行走,實(shí)時(shí)測(cè)試標(biāo)簽與基站的距離,并檢查UWB標(biāo)簽OLED和上位機(jī)顯示該標(biāo)簽/基站的位置信息。如圖9和圖10所示。
圖9 UWB標(biāo)簽和基站測(cè)試示意圖
圖10 實(shí)驗(yàn)室實(shí)測(cè)環(huán)境與上位機(jī)實(shí)時(shí)顯示
如圖11所示,以某一組測(cè)試數(shù)據(jù)為例。UWB標(biāo)簽Tag0顯示與基站an0、an1、an2的距離分別為0.53 m、0.99 m和3.84 m。上位機(jī)實(shí)時(shí)顯示了標(biāo)簽與基站的坐標(biāo)位置信息及其實(shí)時(shí)運(yùn)動(dòng)軌跡,如圖12所示。
圖11 標(biāo)簽與3個(gè)基站的測(cè)量距離顯示
圖12 標(biāo)簽/基站的三維坐標(biāo)位置信息及實(shí)時(shí)軌跡
本系統(tǒng)實(shí)驗(yàn)以標(biāo)簽和基站an2數(shù)據(jù)采集為例,一共測(cè)量12次。在經(jīng)過(guò)實(shí)際測(cè)量后,發(fā)現(xiàn)UWB室內(nèi)定位系統(tǒng)在不同環(huán)境下的定位精度不同,這是因?yàn)椴煌h(huán)境對(duì)電子標(biāo)簽/基站測(cè)距有不同的干擾因素,如定位標(biāo)簽和基站間的本地時(shí)鐘不同源導(dǎo)致同步上的誤差、天線延遲誤差、經(jīng)緯度誤差等因素,又如7 cm、9 cm和16 cm測(cè)距情況下出現(xiàn)了數(shù)據(jù)溢出。因此,在定位系統(tǒng)進(jìn)行布置前,需要對(duì)UWB無(wú)線收發(fā)模塊進(jìn)行校準(zhǔn),在采集完N次數(shù)據(jù)之后,利用MATLAB,使用最小二乘法將該N個(gè)平均值完成曲線線性擬合,并將計(jì)算得到的擬合曲線代入程序代碼中進(jìn)行校準(zhǔn)調(diào)試,使定位系統(tǒng)在該環(huán)境下能夠獲得更高精度的數(shù)據(jù)[13]。系統(tǒng)經(jīng)過(guò)校準(zhǔn)后,數(shù)據(jù)測(cè)試記錄如表1所示。
表1 實(shí)際距離與模塊測(cè)量距離記錄表
通過(guò)測(cè)試結(jié)果數(shù)據(jù)分析,標(biāo)簽tag0與基站an2測(cè)量的距離誤差在10 cm范圍內(nèi)。上位機(jī)也實(shí)時(shí)顯示了UWB標(biāo)簽/基站的三位坐標(biāo)值和軌跡線圖。
本文根據(jù)UWB技術(shù)的特點(diǎn),通過(guò)分析其通信技術(shù)和三維定位技術(shù),設(shè)計(jì)了基于DWM1000基站/標(biāo)簽一體化嵌入式硬件系統(tǒng),包括采用DWM1000作為UWB無(wú)線收發(fā)器,STM32F103為核心控制器。軟件方面,利用ToF(Time of Flight)算法測(cè)量UWB標(biāo)簽與基站間的距離,通過(guò)建立三維空間坐標(biāo)實(shí)時(shí)顯示UWB標(biāo)簽的位置信息。實(shí)驗(yàn)數(shù)據(jù)顯示,設(shè)計(jì)的UWB室內(nèi)定位系統(tǒng)具有數(shù)據(jù)傳輸速度快,定位精確(小于10 cm)等特性。