李 斌,周帥宇,陳 潔,袁 浩
(上海大學(xué) 機電工程與自動化學(xué)院,上海 200444)
近年來,隨著體育產(chǎn)業(yè)的快速發(fā)展,我國運動員在國際賽場上與其他國家高水平運動員相互博弈的過程中,逐漸意識到科學(xué)的訓(xùn)練方式和精密的訓(xùn)練分析手段的重要性。尤其在田徑項目中運動員的步態(tài)、速度、動作等都極大地影響著最終的比賽成績,所以如果能實現(xiàn)對運動員的精確定位,就能幫助運動員和教練通過分析定位數(shù)據(jù)有針對性地安排訓(xùn)練任務(wù),提高訓(xùn)練效率,有效提高最終的比賽成績。
超寬帶(ultra-wideband,UWB)技術(shù)是一種新型的無線通信技術(shù),美國聯(lián)邦通信委員會規(guī)定了相對帶寬不小于20%或者絕對帶寬不小于500 MHz 的信號屬于UWB 的范疇[1],由于UWB 的穿透能力強、抗多徑效應(yīng)能力強和成本低等特點,目前多用于高精度定位。目前UWB 定位技術(shù)一般用于室內(nèi)范圍的精確定位,室外定位一般使用GPS 定位[2]。對于本文的應(yīng)用場景—田徑運動的人體定位,要求高刷新率、高精度,GPS 顯然達不到這樣的要求。所以本文設(shè)計了一套基于UWB 定位的室外定位系統(tǒng),該系統(tǒng)能在室外達到對人體的高刷新率、高精度的定位要求。
UWB 本質(zhì)上是一種電磁波信號,它以光速在空氣中傳播,使用2 個支持UWB 的設(shè)備即可完成測距,具體過程是使用一個發(fā)射機A 發(fā)射UWB 信號,另一個設(shè)備B 作為接收機接收UWB 信號,發(fā)射機A 和接收機B 分別記錄發(fā)送或接收的時間,根據(jù)2個時間差即可得到UWB 信號在空間中傳播的時間,根據(jù)該時間與電磁波傳播速度的乘積即可得到2 個設(shè)備之間的距離[3]。
這種單邊測距(one-way ranging,OWR)的方法需要發(fā)送和接收設(shè)備的時間同步,對設(shè)備的時鐘同步性要求很高。使用雙向測距算法(two-way ranging,TWR)可以減小由于定位系統(tǒng)時間不同步所導(dǎo)致的誤差。雙向測距算法包含單邊雙向測距算法(single sided two-way ranging,SS-TWR)和雙向雙邊測距算法(double sided two-way,DS-TWR)等[4]。
單邊雙向測距算法是在單向測距的基礎(chǔ)上改進的,增加了一次B 向A 發(fā)送的流程,如圖1 為單邊雙向測距算法的原理圖。
圖1 單邊雙向測距算法原理圖Fig.1 Schematic diagram of single sided two way ranging algorithm
A 在時間戳τATx發(fā)送信號,B 在時 間戳τBRx時收到A 的信號后,在短暫延時后向設(shè)備A 發(fā)送信號,記錄此時的時間戳τBTx,A 收到信號時記錄時間戳τARx,此時A 和B 設(shè)備中分別記錄了發(fā)送和接收的時間戳,可以由此計算B 設(shè)備在收到信號到發(fā)送信號的延時為
從測距開始到結(jié)束的時間為
由測距總時間troundA和發(fā)送延時時間treplyB可以得到UWB 信號的單次飛行時間(time of fly,TOF)為
得到Ttof即可計算出設(shè)備A 和設(shè)備B 的距離。
雙邊雙向測距在單邊雙向測距的基礎(chǔ)上,又增加了一次向B 設(shè)備發(fā)送信號的過程,可以減小時鐘漂移對延遲精度的影響,但同時增加了每次測距的時間[5]。為增加測距的刷新率,本系統(tǒng)選擇單邊雙向測距。
在無線定位技術(shù)中,通常將已知空間位置的設(shè)備稱為基站,將待定位設(shè)備稱為標簽。由幾何知識可知最少需要3 個圓可以確定平面上的1 個點,最少需要4 個球可以確定空間中的1 個點。因此對于二維空間定位,需要3 個基站確定1 個標簽的位置。由于測距過程中存在誤差,所以對于基于到達時間或者雙向測距的測距方法獲取到的測距信息,可以使用最小二乘法估算UWB 設(shè)備的位置信息[6]。以二維定位為例,如圖2 所示Bi(i=1,2,3)分別為3 個位置信息已知的UWB 設(shè)備,即基站,將3 個基站的坐標記為(xi,yi)(i=1,2,3),L 為需要定位的UWB 設(shè)備,即標簽,將標簽的坐標記為(x,y)。
圖2 最小二乘法定位示意圖Fig.2 Schematic diagram of the least squares method for positioning
由測距算法得到的基站與標簽的距離分別為ri(i=1,2,3),則可以列出以下方程組:
將2 個等式分別與第三個等式做差可以得到:
其中A、X、b分別為
由于測距過程中存在誤差,誤差可以表示為
為了使得誤差最小,令f(X)=(b-AX)T(b-AX),則X=argmin f(X),解得:
至此求得標簽的估計位置。
常用的定位精度有均方根誤差、累計分布函數(shù)、平均誤差、克拉美羅下界等標準[7]。本文主要使用均方根誤差作為評價標準。
均方誤差(mean squared error,MSE)是指測量值與真實值之差的平方的數(shù)學(xué)期望值,如式(11)所示:
均方根誤差(root mean square error,RMSE)是均方誤差的算數(shù)平方根,如式(12)所示:
DW1000 模塊是DecaWave 公司的一款符合IEEE超寬帶標準的無線收發(fā)模塊。它由DW1000 芯片、天線、平衡-不平衡電路和晶振電路組成,它可以實現(xiàn)高速的數(shù)據(jù)傳輸,精確記錄發(fā)送與接收時間的時間戳,使用SPI 通信方式將UWB 通信數(shù)據(jù)發(fā)送給主控芯片[8]。除此之外,DW1000 模塊封裝面積小,方便應(yīng)用于可攜帶設(shè)備上,因此選擇DW1000 模塊作為設(shè)備的UWB 通信模塊。
HC-05 模塊是一款高性能的主從一體化藍牙串口模塊,可以通過指令設(shè)置波特率與工作模式,使用和調(diào)試簡單方便,適合短距離的數(shù)據(jù)傳輸。UWB設(shè)備在完成一輪測距后需要將測距信息發(fā)送給上位機計算定位信息,本系統(tǒng)使用HC-05 藍牙模塊完成測距信息的發(fā)送與接收,圖3 所示為藍牙模塊的通信示意圖。
圖3 藍牙模塊通信示意圖Fig.3 Bluetooth module communication diagram
STM32F103C8T6 是ST 公司推出的基于Cortex-M3 內(nèi)核的32 位微控制器,包含多個定時器,外部時鐘最高倍頻可達72 MHz,支持USART、SPI、CAN等多種通信方式,本系統(tǒng)的UWB 硬件設(shè)備使用STM32-F103C8T6 作為主控芯片。如圖4 為基于STM32F103-C8T6 的系統(tǒng)結(jié)構(gòu)圖。主控芯片使用SPI 方式與DW1000 進行通信,獲取時間戳、隊列號等信息,通過串口將計算出的距離信息發(fā)送給藍牙模塊,藍牙模塊將信息發(fā)送給上位機。
圖4 系統(tǒng)結(jié)構(gòu)圖Fig.4 System structure diagram
在前文已經(jīng)介紹了該系統(tǒng)的測距與定位算法以及硬件設(shè)計。本節(jié)對定位系統(tǒng)進行驗證,分別測試測距精度與二維空間的定位精度。
為了后續(xù)分析定位算法的估計效果,需要先對測距精度進行驗證,首先設(shè)置2 個UWB 設(shè)備的DW1000 的關(guān)鍵參數(shù)一致,包括UWB 信道、脈沖重復(fù)頻率、數(shù)據(jù)速率測距頻率等[9],如表1 所示。
表1 DW1000 關(guān)鍵參數(shù)設(shè)置Tab.1 DW1000 key parameter settings
其中前導(dǎo)碼是信號結(jié)構(gòu)的重要部分,其主要目的是幫助接收器進行時間和頻率同步,以及無線信道估計。脈沖重復(fù)頻率是發(fā)射脈沖或脈沖組的速率[10]。
本次測距實驗使用2 個UWB 設(shè)備和1 對藍牙模塊,實驗場地選擇空曠的室外環(huán)境,使用2 個支架分別固定2 個UWB 設(shè)備,調(diào)整支架高度使得2個UWB 設(shè)備的天線高度一致,保持一個UWB 設(shè)備的位置不變,沿著一條直線移動另一個UWB 設(shè)備的位置,每次移動1 m,每次移動位置后記錄測距信息,實驗記錄了1~9 m 的測距數(shù)據(jù)。取每次測距的1000 個數(shù)據(jù)進行分析,如圖5 所示分別為3 m、5 m、7 m 的測距數(shù)據(jù)。
圖5 測距數(shù)據(jù)Fig.5 Ranging data
由圖5 可以看出,UWB 測距數(shù)據(jù)在均方根誤差上下浮動,且均方根誤差與實際距離存在差值,可知UWB 測距數(shù)據(jù)存在隨機誤差和系統(tǒng)誤差,隨機誤差可能受DW1000 的時鐘漂移影響,DW1000 的外部晶振可能由于環(huán)境溫度和工藝差異等因素的影響導(dǎo)致UWB 設(shè)備的時鐘頻率有些許不同,微小的時鐘漂移會給測距結(jié)果帶來較大的誤差[11],系統(tǒng)誤差受到天線延時影響。除此之外,隨著距離的增加,異常數(shù)據(jù)逐漸增加,這是由于在數(shù)據(jù)傳輸速率較高時,UWB 信號衰減較大,可能會達不到接收器的識別信號的閾值[12]。
繪制1~9 m 的均方根誤差和平均誤差隨距離變化的關(guān)系圖,如圖6 所示。
圖6 誤差隨距離變化關(guān)系圖Fig.6 Relationship between error and distance variation
由圖6 可知,均方根誤差和平均誤差都在14 cm以下,且隨距離增加的增加而增大,符合SS-TWR 算法的誤差規(guī)律。
在完成測距實驗之后進行定位實驗,4 個UWB設(shè)備的DW1000 的參數(shù)設(shè)置與測距實驗時一致。使用4 個支架固定4 個UWB 設(shè)備,調(diào)整支架高度使4個設(shè)備的天線高度一致,放置在室外空曠環(huán)境。其中3 個設(shè)備的位置固定,組成一個等邊三角形,作為基站,記為B1,B2,B3,1 個UWB 設(shè)備作為標簽在B1、B3 連線所在邊的高上移動,作為標簽,記為L。實驗場景的俯視示意圖如圖7 所示,以B3 為原點,以B3 向B2 方向作為x 軸正方向,以L 移動方向作為y 軸方向建立參考坐標系。
圖7 定位實驗場景示意圖Fig.7 Schematic diagram depic ting of experimental scenario for localization
該高的長度為10 m,從底邊與高的交點作為起點,標簽每次移動1 m,每次移動記錄定位信息,每次記錄1000 個位置數(shù)據(jù),由于UWB 設(shè)備在數(shù)據(jù)通信速率較高的情況下通信距離較短,因此實驗記錄從0~6 m 的定位數(shù)據(jù),如圖8 所示,三角形表示實際位置,圓圈代表定位算法估計的位置。
圖8 定位實驗結(jié)果圖Fig.8 Graphical representation of the experimental results for localization
由圖8 可知,定位數(shù)據(jù)存在隨機誤差與系統(tǒng)誤差,估計位置與實際位置較為接近,計算0~6 m 的均方根誤差如表2 所示。
表2 定位均方根誤差Tab.2 Root mean square error(RMSE)for localization
由表2 可知0~6 m 內(nèi)的定位均方根誤差最大為15.8 cm,最小為8.52 cm,對于一般的田徑運動能夠滿足室外定位的要求。
本文介紹了基于UWB 定位的室外定位系統(tǒng)的設(shè)計,包括測距算法、定位算法、硬件電路的設(shè)計,目的是應(yīng)用于小型體育場地的人體精準、高刷新率定位場景。其中使用SSTWR 的測距算法實現(xiàn)了高刷新率的要求,使用最小二乘法定位算法實現(xiàn)了定位誤差的最小化。最后對本系統(tǒng)的測距精度進行實驗,經(jīng)過分析可知,最大誤差不超過14 cm。對定位精度進行實驗,在二維定位情況下,定位的均方根誤差不超過16 cm。綜上,該系統(tǒng)可以滿足一般小型場地的田徑運動人體定位。