專利名稱:線性環(huán)境下活動(dòng)節(jié)點(diǎn)定位跟蹤系統(tǒng)及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種移動(dòng)節(jié)點(diǎn)定位跟蹤方法,尤其涉及一種WIFI無(wú)線網(wǎng)絡(luò)基于接收 信號(hào)強(qiáng)度(Received Signal Strength Indicator,RSSI)的線性環(huán)境下的節(jié)點(diǎn)定位跟蹤方 法,屬于電通信技術(shù)領(lǐng)域。
背景技術(shù):
在WIFI無(wú)線網(wǎng)絡(luò)中,通常包含一定數(shù)量的WIFI接入點(diǎn)(Access Point,AP節(jié)點(diǎn)), 由于這些AP節(jié)點(diǎn)是不可移動(dòng)的,因此一般把這些AP節(jié)點(diǎn)視為已知自身物理位置信息的固 定位置的錨節(jié)點(diǎn)(固定節(jié)點(diǎn))。為了實(shí)現(xiàn)對(duì)人員的定位,要求每個(gè)人員攜帶一個(gè)定位標(biāo)簽, 由于人員的移動(dòng)所以可以把每個(gè)定位標(biāo)簽視為移動(dòng)節(jié)點(diǎn)。一般為了考慮成本因素,采用的 定位標(biāo)簽只具有周期發(fā)送探測(cè)幀的能力,而不具有發(fā)送自定義數(shù)據(jù)幀的功能?,F(xiàn)實(shí)中有很多環(huán)境都可近似為線性環(huán)境,例如公路系統(tǒng),礦井下的巷道。在線性環(huán) 境下對(duì)定位標(biāo)簽進(jìn)行定位只需要把定位標(biāo)簽定位到具體的線段上的某個(gè)位置,而不需要定 位到非線段外的位置。例如圖1中的線性環(huán)境,定位標(biāo)簽只會(huì)在線段AB,AC和AD上活動(dòng), 并不會(huì)在這三條線段之外的其他區(qū)域活動(dòng),因此可以確定定位標(biāo)簽的位置定位在線段AB, AC和AD上,而不用考慮定位在三條線段之外的地方。這樣具有預(yù)定線段的環(huán)境稱為線性環(huán) 境,這些線段稱為線性環(huán)境的線性區(qū)域。現(xiàn)實(shí)中有很多實(shí)際的應(yīng)用場(chǎng)景可以抽象為線性環(huán) 境,例如公路系統(tǒng)、礦井下的巷道、大樓內(nèi)的樓道等等。現(xiàn)有技術(shù)中缺少這種線性環(huán)境下對(duì) 活動(dòng)節(jié)點(diǎn)的精確定位系統(tǒng)及其定位方法。
發(fā)明內(nèi)容
本發(fā)明的目的就是為了線性環(huán)境下的定位跟蹤問(wèn)題,設(shè)計(jì)了一個(gè)針對(duì)移動(dòng)物體在 多個(gè)線性區(qū)域之間運(yùn)動(dòng)時(shí)有效的定位跟蹤方法。一種線性環(huán)境下活動(dòng)節(jié)點(diǎn)定位跟蹤系統(tǒng),其特征在于所述系統(tǒng)包括無(wú)線接入點(diǎn)、 定位標(biāo)簽和與無(wú)線接入點(diǎn)通訊的服務(wù)器,所述定位標(biāo)簽作為活動(dòng)節(jié)點(diǎn)在線性環(huán)境的線性區(qū) 域內(nèi)活動(dòng),并周期性的發(fā)送探測(cè)幀數(shù)據(jù);所述無(wú)線接入點(diǎn)作為錨節(jié)點(diǎn)布控在線性環(huán)境內(nèi)固 定位置,用于捕獲定位標(biāo)簽發(fā)出的探測(cè)幀數(shù)據(jù),根據(jù)捕獲到的探測(cè)幀數(shù)據(jù)來(lái)計(jì)算定位標(biāo)簽 的RSSI信息,并將定位標(biāo)簽的RSSI信息組裝成數(shù)據(jù)包通過(guò)多跳無(wú)線路由或有線網(wǎng)絡(luò)直接 發(fā)送至服務(wù)器;服務(wù)器整合處理所有定位標(biāo)簽的RSSI信息,并根據(jù)所有定位標(biāo)簽的RSSI信 息獲得每個(gè)定位標(biāo)簽的實(shí)時(shí)位置。優(yōu)選的,所述無(wú)線接入點(diǎn)的發(fā)包周期大于定位標(biāo)簽的發(fā)包周期;所述服務(wù)器的定 位周期大于無(wú)線接入點(diǎn)的發(fā)包周期。優(yōu)選的,所述服務(wù)器包括接受模塊、存儲(chǔ)模塊、定位模塊、穩(wěn)定模塊,所述接受模塊 用于接收無(wú)線接入點(diǎn)發(fā)來(lái)的數(shù)據(jù)包信息,并提供給存儲(chǔ)模塊存儲(chǔ);所述定位模塊讀取無(wú)線 接入點(diǎn)發(fā)來(lái)的數(shù)據(jù)包信息進(jìn)行解析、確定定位標(biāo)簽的線性區(qū)域和定位標(biāo)簽在線性區(qū)域的精 確位置;所述穩(wěn)定模塊用于當(dāng)定位模塊確定后定位標(biāo)簽在線性區(qū)域的位置產(chǎn)生跳躍現(xiàn)象時(shí)進(jìn)行穩(wěn)定處理。本發(fā)明還提供了一種線性環(huán)境下活動(dòng)節(jié)點(diǎn)定位跟蹤方法,其特征在于所述方法包 括以下步驟(1)作為活動(dòng)節(jié)點(diǎn)的定位標(biāo)簽周期性的發(fā)送探測(cè)幀數(shù)據(jù);(2)作為錨節(jié)點(diǎn)的無(wú)線接入點(diǎn)接受定位標(biāo)簽發(fā)出的探測(cè)幀數(shù)據(jù),根據(jù)接收到的探 測(cè)幀數(shù)據(jù)來(lái)計(jì)算定位標(biāo)簽的RSSI信息,并將定位標(biāo)簽的RSSI信息組裝成數(shù)據(jù)包通過(guò)多跳 無(wú)線路由或有線網(wǎng)絡(luò)直接發(fā)送至服務(wù)器; (3)服務(wù)器整合處理所有定位標(biāo)簽的RSSI信息,并根據(jù)所有定位標(biāo)簽的RSSI信息 獲得每個(gè)定位標(biāo)簽的實(shí)時(shí)位置。優(yōu)選的,所述方法步驟(2)中無(wú)線接入點(diǎn)預(yù)先構(gòu)造二維數(shù)組AP[Size][2]用于 存儲(chǔ)定位標(biāo)簽發(fā)出的探測(cè)幀數(shù)據(jù),其中Size表示無(wú)線接入點(diǎn)收到的定位標(biāo)簽的個(gè)數(shù), APtSize]
存儲(chǔ)定位標(biāo)簽的MAC地址,AP[Size] [1]存儲(chǔ)無(wú)線接入點(diǎn)根據(jù)捕獲到的探測(cè)幀 數(shù)據(jù)而獲得的相應(yīng)定位標(biāo)簽的RSSI信息。優(yōu)選的,所述方法步驟(3)中服務(wù)器預(yù)先構(gòu)造定位標(biāo)簽的二維數(shù)組Mobile [nAP] [2]來(lái)存儲(chǔ)對(duì)于相同定位標(biāo)簽不同無(wú)線接入點(diǎn)計(jì)算得到的RSSI值,其中nAP代表具有該定 位標(biāo)簽RSSI值信息的無(wú)線接入點(diǎn)的個(gè)數(shù),Mobile[nAP]
存儲(chǔ)無(wú)線接入點(diǎn)的邏輯地址, Mobile [nAP] [2]存儲(chǔ)無(wú)線接入點(diǎn)存儲(chǔ)的相應(yīng)定位標(biāo)簽的RSSI值。優(yōu)選的,所述方法步驟C3)中服務(wù)器定位模塊根據(jù)定位標(biāo)簽的Mobile [nAP] [2]中 的RSSI值進(jìn)行線性環(huán)境內(nèi)的線性區(qū)域判斷。優(yōu)選的,所述線性區(qū)域判斷步驟包括A)當(dāng)最大RSSI值的無(wú)線接入點(diǎn)大于等于預(yù)設(shè)常數(shù)MR時(shí),定位標(biāo)簽的位置定位在 該無(wú)線接入點(diǎn)的位置;否則構(gòu)造集合LR存儲(chǔ)具有兩個(gè)有效無(wú)線接入點(diǎn)的RSSI值的線性區(qū) 域,計(jì)算線性區(qū)域的平均RSSI值,進(jìn)行B)步驟判斷;B)當(dāng)集合LR只存在一個(gè)線性區(qū)域,則該線性區(qū)域?yàn)樾枰ㄎ坏亩ㄎ粯?biāo)簽所在的 線性區(qū)域;否則尋找平均RSSI值最大的線性區(qū)域FMRegion和平均RSSI值第二大的線性區(qū) 域SMRegion,進(jìn)行C)步驟判斷;C)若兩個(gè)區(qū)域的平均RSSI大于預(yù)設(shè)閾值,則平均RSSI值最大的線性區(qū)域 FMRegion為需要定位的定位標(biāo)簽所在的線性區(qū)域;否則舍棄這次定位(即這次定位沒(méi)有結(jié) 果)。優(yōu)選的,所述服務(wù)器定位模塊獲得定位標(biāo)簽所在的線性區(qū)域后進(jìn)行線性區(qū)域內(nèi)定 位的步驟;所述線性區(qū)域內(nèi)定位包括以下步驟1)對(duì)定位標(biāo)簽所在的線性區(qū)域內(nèi)的相鄰無(wú)線接入點(diǎn)間進(jìn)行劃分形成定位線段;2)通過(guò)相鄰無(wú)線接入點(diǎn)的RSSI值的差值以及定位線段內(nèi)固定節(jié)點(diǎn)差值的閾值進(jìn) 行精確確定定位標(biāo)簽所在的相鄰無(wú)線接入點(diǎn)間的精確位置。優(yōu)選的,所述服務(wù)器還包括定位模塊進(jìn)行精確定位后通過(guò)穩(wěn)定模塊來(lái)平滑顯示 精確定位的結(jié)果,所述穩(wěn)定模塊為每一個(gè)定位標(biāo)簽維持一個(gè)定位結(jié)果隊(duì)列,當(dāng)產(chǎn)生對(duì)一個(gè) 特定標(biāo)簽的定位結(jié)果時(shí),首先判斷是否是第一次對(duì)該定位標(biāo)簽定位,若是,則返回該定位結(jié) 果;否則將該定位結(jié)果壓入隊(duì)列,并判斷一下該隊(duì)列的元素?cái)?shù)是否為3,若不是,則定位標(biāo) 簽不移動(dòng);而若已經(jīng)有三個(gè)元素,則判斷這三次定位結(jié)果是否有一個(gè)沒(méi)有定出位置的結(jié)果或存在一個(gè)定位結(jié)果跟當(dāng)前定位標(biāo)簽所在位置相同,若是,則當(dāng)前定位位置不變;否則把定 位標(biāo)簽的位置定位在最后一次定位結(jié)果的位置。本發(fā)明的定位系統(tǒng)可以應(yīng)用于線性環(huán)境如公路、巷道、樓道等。定位標(biāo)簽在線性環(huán) 境的各個(gè)線段上運(yùn)動(dòng)時(shí),將周期性的發(fā)送探測(cè)包信息,而位于該定位標(biāo)簽附近的無(wú)線接入 點(diǎn)(即AP節(jié)點(diǎn))則能夠接收到這些探測(cè)包,從而根據(jù)接收到的探測(cè)包來(lái)計(jì)算相應(yīng)RSSI信 息,并將收到的多個(gè)相對(duì)于各移動(dòng)標(biāo)簽的RSSI信息組裝成一個(gè)數(shù)據(jù)包通過(guò)多跳無(wú)線路由 或有線網(wǎng)絡(luò)直接發(fā)送至服務(wù)器,由服務(wù)器來(lái)整合相對(duì)于每個(gè)移動(dòng)標(biāo)簽的各AP數(shù)據(jù)包中相 關(guān)RSSI信息,并根據(jù)這些信息來(lái)計(jì)算每個(gè)定位標(biāo)簽的實(shí)時(shí)位置。由于在實(shí)際環(huán)境下,RSSI值是極其不穩(wěn)定的,即RSSI值波動(dòng)(Fluctuate)較大。若 直接用于移動(dòng)目標(biāo)的定位跟蹤,所得的跟蹤誤差較大。針對(duì)線性環(huán)境的固有特點(diǎn),本發(fā)明采 用先通過(guò)RSSI信息確定移動(dòng)節(jié)點(diǎn)所處的線性區(qū)域,再利用線性區(qū)域兩端的錨節(jié)點(diǎn)的RSSI 信息實(shí)現(xiàn)對(duì)移動(dòng)節(jié)點(diǎn)的精確定位。由于RSSI值的極其不穩(wěn)定性,針對(duì)在同一個(gè)位置的定位 標(biāo)簽的先后兩組RSSI值的定位結(jié)果可能會(huì)不一樣(但是都滿足定位精度),如果把前后兩 次的結(jié)果都直接顯示到界面上,則會(huì)發(fā)生跳躍現(xiàn)象,因此本發(fā)明還提供了一種簡(jiǎn)單的穩(wěn)定 方法來(lái)平滑掉這些跳躍現(xiàn)象。此外本發(fā)明在顯示模塊中連續(xù)移動(dòng)定位標(biāo)簽,從而使客戶認(rèn) 為定位標(biāo)簽是連續(xù)移動(dòng)的,而并不是突然從一點(diǎn)移動(dòng)到另一點(diǎn);并利用坐標(biāo)變換將最終的 結(jié)果精確的顯示在屏幕上。此外,為了唯一的標(biāo)記區(qū)分各個(gè)AP節(jié)點(diǎn)和定位標(biāo)簽,本發(fā)明選擇了定位標(biāo)簽和AP 的MAC地址作為物理標(biāo)記符。為了區(qū)分布置的AP節(jié)點(diǎn)和定位標(biāo)簽,本發(fā)明在服務(wù)器端創(chuàng)建 了一些配置文件,來(lái)存儲(chǔ)該系統(tǒng)已有的AP節(jié)點(diǎn)和定位標(biāo)簽的相關(guān)信息,并且把他們的MAC 地址都映射為一個(gè)邏輯整形ID來(lái)達(dá)到表示的簡(jiǎn)單性。同時(shí),配置文件中還存放了一些定位 算法所用到的一些閾值以及系統(tǒng)所用到的系統(tǒng)參數(shù)。在實(shí)際系統(tǒng)中,本發(fā)明設(shè)計(jì)了一個(gè)配 置軟件來(lái)完成大部分配置文件的生成,從而極大的提高了客戶書寫配置文件的簡(jiǎn)便性。本發(fā)明基于RSSI的WIFI無(wú)線網(wǎng)絡(luò)定位跟蹤方法,其中由定位標(biāo)簽(移動(dòng)節(jié)點(diǎn)) 發(fā)射探測(cè)幀信息,然后由AP節(jié)點(diǎn)(錨節(jié)點(diǎn))依據(jù)接收到的相應(yīng)探測(cè)幀計(jì)算出對(duì)應(yīng)的RSSI 信息并以固定周期將這些RSSI信息上傳到服務(wù)器,隨后由服務(wù)器來(lái)根據(jù)這些RSSI值對(duì)移 動(dòng)標(biāo)簽進(jìn)行定位并顯示。并且針對(duì)于特殊的線性環(huán)境,本發(fā)明提出了一個(gè)線性區(qū)域判定和 線性區(qū)域內(nèi)定位方法,并移植了一個(gè)節(jié)點(diǎn)的穩(wěn)定方法來(lái)平滑掉顯示中的跳躍現(xiàn)象。具體的,先進(jìn)行預(yù)處理,應(yīng)用配置文件創(chuàng)造屬于該系統(tǒng)的AP節(jié)點(diǎn),地圖上線性區(qū) 域的相關(guān)信息的配置文件,測(cè)試一些固定的閾值;然后按照如下步驟進(jìn)行定位步驟一、為了滿足定位的實(shí)時(shí)性要求,由定位標(biāo)簽以固定的周期廣播探測(cè)信息;步驟二、構(gòu)造定位標(biāo)簽與AP的對(duì)應(yīng)動(dòng)態(tài)增廣RSSI值數(shù)組AP [Size] [2],其中Size 表示該AP節(jié)點(diǎn)收到的定位標(biāo)簽的個(gè)數(shù),AP[Size]
存儲(chǔ)定位標(biāo)簽的MAC地址,AP [Size] [1]存儲(chǔ)相應(yīng)的RSSI信息。每個(gè)AP節(jié)點(diǎn)收集到探測(cè)幀,就計(jì)算相應(yīng)的RSSI值,并把該值更 新到數(shù)組AP [Size] [2]中。注意每個(gè)AP都只保存最大的Max個(gè)RSSI信息所對(duì)應(yīng)的定位標(biāo) 簽,即滿足Size <= Max,而對(duì)于之外的較小的RSSI信息,將會(huì)舍棄。AP節(jié)點(diǎn)也以一定的 周期(要大于定位標(biāo)簽的發(fā)包周期)將自己的MAC地址和對(duì)應(yīng)的AP [Size] [2]數(shù)組打包發(fā) 送給服務(wù)器;步驟三、服務(wù)器解析收到的每個(gè)AP的數(shù)據(jù)包,并整合相對(duì)于每個(gè)移動(dòng)標(biāo)簽的各AP數(shù)據(jù)包中的RSSI信息,也就是更新每個(gè)定位標(biāo)簽的特有數(shù)組Mobile [nAP] [2],其中nAP代 表具有該定位標(biāo)簽RSSI值信息的AP節(jié)點(diǎn)的個(gè)數(shù),MobilefcAP]
存儲(chǔ)相應(yīng)AP節(jié)點(diǎn)的邏 輯地址,Mobile [nAP] [2]存儲(chǔ)相應(yīng)的RSSI值。注意每個(gè)定位標(biāo)簽都只保存最大的nAPMAX 個(gè)RSSI信息所對(duì)應(yīng)的AP節(jié)點(diǎn),既要滿足nAP < = nAPMAX,而對(duì)于之外的較小的RSSI信息 將會(huì)舍棄。服務(wù)器每隔一個(gè)固定的周期(該周期要大于AP節(jié)點(diǎn)的發(fā)包周期)將把每個(gè)定 位標(biāo)簽的特有數(shù)組Mobile [nAP] [2]信息發(fā)送給服務(wù)器定位模塊,隨后清空掉每個(gè)定位標(biāo) 簽的特有數(shù)組信息;步驟四、服務(wù)器定位模塊依據(jù)每個(gè)定位標(biāo)簽的特有數(shù)組MobilefcAP] [2]對(duì)該標(biāo) 簽進(jìn)行定位。假設(shè)擁有最大RSSI值的AP節(jié)點(diǎn)為API。首先將判斷API的RSSI值是否大于 等于常數(shù)MR,若是,則定位模塊把該定位標(biāo)簽定位在擁有最大RSSI值的AP節(jié)點(diǎn)處。否則,利 用該數(shù)組內(nèi)其他的信息來(lái)判定區(qū)域,首先創(chuàng)造一個(gè)集合LR來(lái)存儲(chǔ)具有兩個(gè)有效AP的RSSI 值的線性區(qū)域,并同時(shí)計(jì)算該線性區(qū)域的平均RSSI值,若LR只包含一個(gè)線性區(qū)域,則返回 該線性區(qū)域;否則查找擁有最大平均RSSI值的區(qū)域FMRegion和第二大平均RSSI值的區(qū) 域SMRegion,若兩個(gè)區(qū)域的平均RSSI大于閾值δ (系統(tǒng)中δ為2),則返回區(qū)域FMRegion, 否則的話認(rèn)為該數(shù)組信息存在錯(cuò)誤,舍棄這次定位,這個(gè)部分稱為對(duì)定位標(biāo)簽的線性區(qū)域 判定。假設(shè)最終判斷出定位標(biāo)簽在APl和AP2之間的線性區(qū)域上,隨后將判斷該定位標(biāo)簽 具體在線段的那個(gè)具體位置上,這個(gè)部分稱為線性區(qū)域內(nèi)定位。在線性區(qū)域內(nèi)定位過(guò)程中, 本發(fā)明把該線段分為固定的幾段,然后劃分出一些具體的區(qū),隨后將該定位標(biāo)簽定位在該 區(qū)的中間(AP所在端點(diǎn)的區(qū)域除外)。假設(shè)該線段的定位段數(shù)是3,可分為如圖2所示的三 段,其中APl-A是一段,A到B是一段,B到AP2是另一段。然后,本發(fā)明把這個(gè)線性區(qū)域劃 分為四個(gè)區(qū)。隨后本發(fā)明計(jì)算APl對(duì)應(yīng)的RSSI值于AP2對(duì)應(yīng)的RSSI之間的差值d,并通過(guò) 與已知1,2,3點(diǎn)所在點(diǎn)差值的閾值(分別為dl,d2和d3)進(jìn)行對(duì)比判斷節(jié)點(diǎn)所處的區(qū)域, 若d >= dl,則節(jié)點(diǎn)在定位的過(guò)程中落到了 0區(qū)的范圍內(nèi),理論上會(huì)將定位節(jié)點(diǎn)定位在APl 所在的位置;如果dl > d > = d2,則節(jié)點(diǎn)在定位的過(guò)程中落到了 1區(qū)的范圍內(nèi),理論上會(huì)定 位在A點(diǎn)的位置;如果d2>d>=d3,則節(jié)點(diǎn)在定位的過(guò)程中落到了 2區(qū)的范圍內(nèi),理論上 會(huì)定位在B點(diǎn)的位置;若d < d3,則節(jié)點(diǎn)在定位的過(guò)程中落到了 3區(qū)的范圍內(nèi),理論上會(huì)將 定位節(jié)點(diǎn)定位在AP2所在的位置。這樣可以看出如果當(dāng)定位段數(shù)提升的時(shí)候,定位最大誤 差會(huì)減小,但是定位后的跳躍現(xiàn)象會(huì)更嚴(yán)重,這個(gè)要視實(shí)際的情況來(lái)覺(jué)得定位段數(shù)的數(shù)值, 主要的參考因素是每?jī)蓚€(gè)AP之間的距離以及定位的具體環(huán)境對(duì)RSSI值的影響。步驟五、在實(shí)際中本發(fā)明發(fā)現(xiàn),跳躍現(xiàn)象只會(huì)在附近的幾個(gè)定位點(diǎn)之間進(jìn)行。例如 在圖2中,若移動(dòng)標(biāo)簽固定放在2點(diǎn)處,絕大多數(shù)情況下會(huì)把該定位標(biāo)簽定位在A處,但由 于RSSI值的極不穩(wěn)定,偶爾也會(huì)把該定位標(biāo)簽定位在B處,這樣就會(huì)產(chǎn)生顯示中的跳躍現(xiàn) 象。因此本發(fā)明將移植以往面向無(wú)線傳感網(wǎng)絡(luò)的穩(wěn)定機(jī)制成果來(lái)解決這類問(wèn)題,就是采用 盡量不動(dòng)的方法來(lái)平滑跳躍。每一個(gè)定位標(biāo)簽維持一個(gè)定位結(jié)果隊(duì)列。當(dāng)產(chǎn)生對(duì)一個(gè)特定 標(biāo)簽的定位結(jié)果時(shí),首先判斷是否是第一次對(duì)這個(gè)標(biāo)簽定位,若是,則返回該定位結(jié)果;否 則將該定位結(jié)果壓入隊(duì)列,并判斷一下該隊(duì)列的元素?cái)?shù)是否為3若不是,返回null,也就是 指定位標(biāo)簽不移動(dòng)。而若已經(jīng)有三個(gè)元素,則判斷這三次定位結(jié)果是否有一個(gè)沒(méi)有定出位 置的結(jié)果或存在一個(gè)定位結(jié)果跟當(dāng)前定位標(biāo)簽所在位置相同,若是,則當(dāng)前定位位置不變; 否則把定位標(biāo)簽的位置定位在最后一次定位結(jié)果的位置。
步驟六將相關(guān)信息存入數(shù)據(jù)庫(kù)。相對(duì)于現(xiàn)有技術(shù)中的方案,本發(fā)明的優(yōu)點(diǎn)是發(fā)包模式由定位標(biāo)簽(移動(dòng)節(jié)點(diǎn))以固定的周期廣播探測(cè)信息,改變傳統(tǒng)的AP 節(jié)點(diǎn)(錨節(jié)點(diǎn))發(fā)探測(cè)幀的模式,這樣只需要使用可周期發(fā)設(shè)探測(cè)包的定位標(biāo)簽即可,不需 要標(biāo)簽的可編程性及發(fā)送自定義數(shù)據(jù)包的功能,從而大大降低了系統(tǒng)的成本。線性區(qū)域判定只先考慮定位標(biāo)簽是否距離某個(gè)AP節(jié)點(diǎn)很近,即最大的RSSI值是 否大于某個(gè)閾值;隨后根據(jù)各區(qū)域平均RSSI值來(lái)判定最終的線性區(qū)域。最終區(qū)域判定結(jié)果 的出錯(cuò)概率很小。線性區(qū)域內(nèi)定位把整個(gè)線段分成了幾個(gè)小區(qū),同過(guò)采用該區(qū)域內(nèi)兩AP端點(diǎn)RSSI 值的差值同各段閾值的比較來(lái)確定節(jié)點(diǎn)所處的具體小區(qū),從而將最終的位置定位在各小區(qū) 的中點(diǎn)(兩端的區(qū)域定位在AP節(jié)點(diǎn)處)。這樣就減少了線段上可定位點(diǎn)的個(gè)數(shù),從而使最 終的定位結(jié)果更加穩(wěn)定。綜上所述,本發(fā)明特別適合于移動(dòng)目標(biāo)在線性環(huán)境下的定位與跟蹤應(yīng)用,如礦井 下的巷道系統(tǒng),公路系統(tǒng),辦公樓的樓道系統(tǒng)等。由此可見(jiàn),本發(fā)明為本領(lǐng)域的技術(shù)進(jìn)步拓 展了空間,實(shí)施效果好。
下面結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步描述圖1為線性環(huán)境的示意圖;圖2為線性區(qū)域內(nèi)定位的原理圖;圖3為本發(fā)明線性環(huán)境下活動(dòng)節(jié)點(diǎn)定位跟蹤系統(tǒng)的系統(tǒng)架構(gòu)圖;圖4為本發(fā)明實(shí)施例線性區(qū)域內(nèi)定位段劃分圖示;圖5為本發(fā)明實(shí)施例實(shí)施實(shí)例中定位結(jié)果展示。
具體實(shí)施例方式以下結(jié)合具體實(shí)施例對(duì)上述方案做進(jìn)一步說(shuō)明。應(yīng)理解,這些實(shí)施例是用于說(shuō)明 本發(fā)明而不限于限制本發(fā)明的范圍。實(shí)施例中采用的實(shí)施條件可以根據(jù)具體廠家的條件做 進(jìn)一步調(diào)整,未注明的實(shí)施條件通常為常規(guī)實(shí)驗(yàn)中的條件。實(shí)施例如圖3所示,該實(shí)施例提供了一種WIFI無(wú)線網(wǎng)絡(luò)線性環(huán)境下移動(dòng)人員定位跟蹤系 統(tǒng),首先由定位標(biāo)簽以較快的周期(系統(tǒng)中設(shè)置為300ms)發(fā)送探測(cè)包。然后,AP節(jié)點(diǎn)收集 到該探測(cè)幀時(shí),就計(jì)算相應(yīng)的RSSI值,并把該定位標(biāo)簽的MAC地址和對(duì)應(yīng)的RSSI值更新到 動(dòng)態(tài)增廣數(shù)組AP [Size] [2]中。注意每個(gè)AP都只保存最大的Max個(gè)RSSI信息所對(duì)應(yīng)的定 位標(biāo)簽,即滿足Size <= Max,而對(duì)于之外的較小的RSSI信息,將會(huì)舍棄。AP節(jié)點(diǎn)也以一 定的周期(要大于定位標(biāo)簽的發(fā)包周期,系統(tǒng)中設(shè)置為500ms)將自己的MAC地址和對(duì)應(yīng)的 AP[Size] [2]數(shù)組打包發(fā)送給服務(wù)器。AP服務(wù)器解析收到的每個(gè)AP的數(shù)據(jù)包,并整合相對(duì)于每個(gè)移動(dòng)標(biāo)簽的各AP數(shù)據(jù) 包中的RSSI信息,也就是更新每個(gè)定位標(biāo)簽的特有數(shù)組Mobile [nAP] [2],其中nAP代表具 有該定位標(biāo)簽RSSI值信息的AP節(jié)點(diǎn)的個(gè)數(shù),MobilefcAP]
存儲(chǔ)相應(yīng)AP節(jié)點(diǎn)的邏輯地址,Mobile[nAP] [2]存儲(chǔ)相應(yīng)的RSSI值。注意每個(gè)定位標(biāo)簽都只保存最大的nAPMAX個(gè) RSSI信息所對(duì)應(yīng)的AP節(jié)點(diǎn),既要滿足nAP < = nAPMAX,而對(duì)于之外的較小的RSSI信息將 會(huì)舍棄。服務(wù)器每隔一個(gè)固定的周期(該周期要大于AP節(jié)點(diǎn)的發(fā)包周期,系統(tǒng)中設(shè)置為 800ms)將把每個(gè)定位標(biāo)簽的特有數(shù)組Mobile [nAP] [2]按RSSI值從大到小排序并把排序后 的拷貝信息發(fā)送給定位模塊,隨后清空掉每個(gè)定位標(biāo)簽的特有數(shù)組信息。定位模塊每收到一個(gè)Mobile [nAP] [2]信息,首先利用線性區(qū)域判定來(lái)確定該定 位標(biāo)簽所處的線性區(qū)域(線段)。在兩個(gè)節(jié)點(diǎn)距離很近的情況下,接收信號(hào)較強(qiáng),其RSSI值 也較大。因此對(duì)于那些比較特殊的極強(qiáng)信號(hào)強(qiáng)度值,即若Mobile W] [1]是否大于等于常數(shù) MR(系統(tǒng)中設(shè)置為-45),若是,則把該定位標(biāo)簽定位在擁有最大RSSI值的API (Mobile
)節(jié)點(diǎn)所在的線性區(qū)域。然而多數(shù)情況下,收集的RSSI信息并不滿足極強(qiáng)信號(hào)強(qiáng)度判斷條件,因此本發(fā)明 要分析Mobile [nAP] [2]數(shù)組中其他的AP節(jié)點(diǎn)的RSSI值來(lái)確定最終的線性區(qū)域。首先創(chuàng) 造一個(gè)集合LR來(lái)存儲(chǔ)具有兩個(gè)有效AP的RSSI值的線性區(qū)域,并同時(shí)計(jì)算該線性區(qū)域的平 均RSSI值,若LR只包含一個(gè)線性區(qū)域,則返回該線性區(qū)域;否則查找擁有最大平均RSSI值 的區(qū)域FMRegion和第二大平均RSSI值的區(qū)域SMRegion,若兩個(gè)區(qū)域的平均RSSI大于閾 值S (系統(tǒng)中S為2),則返回區(qū)域FMRegion,否則的話認(rèn)為該數(shù)組信息存在錯(cuò)誤,舍棄這 次定位,這個(gè)部分稱為對(duì)定位標(biāo)簽的線性區(qū)域判定。If Mobile
[1]彡 MR, thenReturn Mobile
所在的一個(gè)線性區(qū)域;Fori = 0 to nAP—1Forj = i+1 to nAP-1If Mobile [i]
和 Mobile [j]
在同一個(gè)線性區(qū)域 R,then doR. avg = (Mobile[i] [1]+Mobile[j] [1])/2 ;LR = LR U R ;If I LR = 1,then return LR. first ;For each R e LR doIf FMRegion. avg > R. avg, then doFMRegion = R ;For each R e LR doIf SMRegion. avg > R. avg and SMRegion Φ· FMRegion, then doSMRegion = R ;IfFMRegion. avg-SMRegion. avg > δ then doReturn FMRegion ;Else return null ; 經(jīng)過(guò)線性區(qū)域判定以后,本發(fā)明已經(jīng)知道該定位標(biāo)簽位于那一個(gè)線性區(qū)域(線 段)上,假設(shè)為APl和AP2所在的線性區(qū)域,隨后本發(fā)明將采用線性區(qū)域內(nèi)定位機(jī)制在該線 性區(qū)域內(nèi)確定定位標(biāo)簽的精確位置。在該機(jī)制中,本發(fā)明首先把該線段分為固定的幾段,然 后劃分出一些區(qū),隨后判斷該定位標(biāo)簽所在的具體區(qū),并將該定位標(biāo)簽定位在該區(qū)的中間 (AP所在端點(diǎn)的區(qū)域除外)。
假如從配置文件中讀入要把APl和AP2之間的線性區(qū)域劃分為k段,則共需要定 圍在k+Ι個(gè)點(diǎn),即APl和AP2,以及Ll到Lk-I ;而且該線性區(qū)域可以劃分為k個(gè)區(qū)。隨后本 發(fā)明計(jì)算APl對(duì)應(yīng)的RSSI值于AP2對(duì)應(yīng)的RSSI之間的差值d,并通過(guò)與已知1,2,···Λ點(diǎn) 所在點(diǎn)差值的閾值(d[i],l <= i <=k)進(jìn)行對(duì)比判斷節(jié)點(diǎn)所處的區(qū)域(如圖4所述), 在具體系統(tǒng)實(shí)現(xiàn)時(shí),本發(fā)明給數(shù)組d[i]兩個(gè)哨兵信息,即d
= + c 和d[k+l]=-⑴。For i = Oto k, doIf d ^ d[i+l]and d < d[i],then doLocation = ((k_i)XAPI. Location+iXAP2. Location)/k ;Return Location ;隨后,本發(fā)明移植了一個(gè)面向無(wú)線傳感網(wǎng)絡(luò)的穩(wěn)定機(jī)制來(lái)解決顯示中出現(xiàn)的跳躍 問(wèn)題,該機(jī)制的本質(zhì)就是采用盡量不動(dòng)的方法來(lái)平滑跳躍。在該機(jī)制中,每一個(gè)定位標(biāo)簽維 持一個(gè)定位結(jié)果S。當(dāng)產(chǎn)生對(duì)一個(gè)特定標(biāo)簽的定位結(jié)果時(shí),首先判斷是否是第一次對(duì)這個(gè)標(biāo) 簽定位,若是,則返回該定位結(jié)果;否則將該定位結(jié)果加入該集合,并判斷一下該集合的元 素?cái)?shù)是否為3若不是,返回null,也就是指定位標(biāo)簽不移動(dòng)。而若已經(jīng)有三個(gè)元素,則判斷 這三次定位結(jié)果是否有一個(gè)沒(méi)有定出位置的結(jié)果或存在一個(gè)定位結(jié)果跟當(dāng)前定位標(biāo)簽所 在位置相同(假設(shè)當(dāng)前的位置為I^reLocation),若是,則當(dāng)前定位位置不變;否則把定位標(biāo) 簽的位置定位在最后一次定位結(jié)果的位置。If 得到一個(gè)定位結(jié)果 Location,then doQ. push (Location)If Q. Count = 3,then doWhile ! Q. empty (),doL = Q. pop 0 ;If L = null or L. Location = PreLocation, then doReturn null ;Return Location ;Else return null ;最后將相關(guān)信息存入數(shù)據(jù)庫(kù)。具體應(yīng)用是,AP節(jié)點(diǎn)可以采用蘇州市漢明科技公司的AP,定位標(biāo)簽同樣采用蘇州 市漢明科技公司的定位標(biāo)簽。鑒于目前客戶端大都是Windows系統(tǒng)和Windows系統(tǒng)對(duì).NET 開(kāi)發(fā)環(huán)境的支持,本軟件的開(kāi)發(fā)平臺(tái)選擇Windows系統(tǒng),開(kāi)發(fā)環(huán)境如下所述操作系統(tǒng)選擇高于windows 2000版本的windows操作系統(tǒng);數(shù)據(jù)庫(kù)MS SQL 2005 作為Microsoft公司的下一代數(shù)據(jù)管理與分析軟件,SQL Server 2005有助于簡(jiǎn)化企業(yè)數(shù)據(jù)與分析應(yīng)用的創(chuàng)建、部署和管理,并在解決方案伸縮性、 可用性和安全性方面實(shí)現(xiàn)重大改進(jìn)。Visual Studio 2005 =Visual Studio 2005是微軟新開(kāi)發(fā)的一種全方位的工具平 臺(tái),它能夠有效地減少開(kāi)發(fā)的復(fù)雜度,確保用戶輕松的發(fā)布Framework的解決方案,不論你 是否是一個(gè)資深的編程人員還是一位編程初學(xué)者,都能為您提供高效的服務(wù)。實(shí)驗(yàn)是在中國(guó)科學(xué)技術(shù)大學(xué)蘇州研究院行政樓4樓進(jìn)行,本發(fā)明在該層樓的樓道 上布置了 3個(gè)AP節(jié)點(diǎn),每?jī)蓚€(gè)AP之間相距30米,且分成3段來(lái)定位,故理論最大誤差為30/(2*3) =5米。使用一個(gè)定位標(biāo)簽在該系統(tǒng)中移動(dòng)。如圖5所示,本發(fā)明設(shè)置dll_dl3,d21-d23的閾值如表1所示。當(dāng)定位標(biāo)簽位于 位置A,B, C,D處時(shí),收集的RSSI結(jié)果見(jiàn)表2-5所示,定位的最終結(jié)果分別為L(zhǎng)ll,AP2,L22 和AP3處,可知最終的定位結(jié)果很精確,且定位最大誤差在5米之內(nèi)。表1閾值設(shè)置
權(quán)利要求
1.一種線性環(huán)境下活動(dòng)節(jié)點(diǎn)定位跟蹤系統(tǒng),其特征在于所述系統(tǒng)包括無(wú)線接入點(diǎn)、定 位標(biāo)簽和與無(wú)線接入點(diǎn)通訊的服務(wù)器,所述定位標(biāo)簽作為活動(dòng)節(jié)點(diǎn)在線性環(huán)境的線性區(qū)域 內(nèi)活動(dòng),并周期性的發(fā)送探測(cè)幀數(shù)據(jù);所述無(wú)線接入點(diǎn)作為錨節(jié)點(diǎn)布控在線性環(huán)境內(nèi)固定 位置,用于捕獲定位標(biāo)簽發(fā)出的探測(cè)幀數(shù)據(jù),根據(jù)捕獲到的探測(cè)幀數(shù)據(jù)來(lái)計(jì)算定位標(biāo)簽的 RSSI信息,并將定位標(biāo)簽的RSSI信息組裝成數(shù)據(jù)包通過(guò)多跳無(wú)線路由或有線網(wǎng)絡(luò)直接發(fā) 送至服務(wù)器;服務(wù)器整合處理所有定位標(biāo)簽的RSSI信息,并根據(jù)所有定位標(biāo)簽的RSSI信息 獲得每個(gè)定位標(biāo)簽的實(shí)時(shí)位置。
2.根據(jù)權(quán)利要求1所述的線性環(huán)境下活動(dòng)節(jié)點(diǎn)定位跟蹤系統(tǒng),其特征在于所述無(wú)線接 入點(diǎn)的發(fā)包周期大于定位標(biāo)簽的發(fā)包周期;所述服務(wù)器的定位周期大于無(wú)線接入點(diǎn)的發(fā)包 周期。
3.根據(jù)權(quán)利要求2所述的線性環(huán)境下活動(dòng)節(jié)點(diǎn)定位跟蹤系統(tǒng),其特征在于所述服務(wù)器 包括接受模塊、存儲(chǔ)模塊、定位模塊、穩(wěn)定模塊,所述接受模塊用于接收無(wú)線接入點(diǎn)發(fā)來(lái)的 數(shù)據(jù)包信息,并提供給存儲(chǔ)模塊存儲(chǔ);所述定位模塊讀取無(wú)線接入點(diǎn)發(fā)來(lái)的數(shù)據(jù)包信息進(jìn) 行解析、確定定位標(biāo)簽的線性區(qū)域和定位標(biāo)簽在線性區(qū)域的精確位置;所述穩(wěn)定模塊用于 當(dāng)定位模塊確定后定位標(biāo)簽在線性區(qū)域的位置產(chǎn)生跳躍現(xiàn)象時(shí)進(jìn)行穩(wěn)定處理。
4.一種線性環(huán)境下活動(dòng)節(jié)點(diǎn)定位跟蹤方法,其特征在于所述方法包括以下步驟(1)作為活動(dòng)節(jié)點(diǎn)的定位標(biāo)簽周期性的發(fā)送探測(cè)幀數(shù)據(jù);(2)作為錨節(jié)點(diǎn)的無(wú)線接入點(diǎn)接受定位標(biāo)簽發(fā)出的探測(cè)幀數(shù)據(jù),根據(jù)接收到的探測(cè)幀 數(shù)據(jù)來(lái)計(jì)算定位標(biāo)簽的RSSI信息,并將定位標(biāo)簽的RSSI信息組裝成數(shù)據(jù)包通過(guò)多跳無(wú)線 路由或有線網(wǎng)絡(luò)直接發(fā)送至服務(wù)器;(3)服務(wù)器整合處理所有定位標(biāo)簽的RSSI信息,并根據(jù)所有定位標(biāo)簽的RSSI信息獲得 每個(gè)定位標(biāo)簽的實(shí)時(shí)位置。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于所述方法步驟O)中無(wú)線接入點(diǎn)預(yù)先構(gòu)造 二維數(shù)組AP[Size] [2]用于存儲(chǔ)定位標(biāo)簽發(fā)出的探測(cè)幀數(shù)據(jù),其中Size表示無(wú)線接入點(diǎn)收 到的定位標(biāo)簽的個(gè)數(shù),AP[Size]
存儲(chǔ)定位標(biāo)簽的MAC地址,AP[Size] [1]存儲(chǔ)無(wú)線接入 點(diǎn)根據(jù)捕獲到的探測(cè)幀數(shù)據(jù)而獲得的相應(yīng)定位標(biāo)簽的RSSI信息。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于所述方法步驟(3)中服務(wù)器預(yù)先構(gòu)造定 位標(biāo)簽的二維數(shù)組Mobile [nAP] [2]來(lái)存儲(chǔ)對(duì)于相同定位標(biāo)簽不同無(wú)線接入點(diǎn)計(jì)算得到 的RSSI值,其中nAP代表具有該定位標(biāo)簽RSSI值信息的無(wú)線接入點(diǎn)的個(gè)數(shù),Mobile [nAP]
存儲(chǔ)無(wú)線接入點(diǎn)的邏輯地址,Mobile[nAP] [2]存儲(chǔ)無(wú)線接入點(diǎn)存儲(chǔ)的相應(yīng)定位標(biāo)簽的 RSSI 值。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于所述方法步驟(3)中服務(wù)器定位模塊根據(jù) 定位標(biāo)簽的MobilefcAP] [2]中的RSSI值進(jìn)行線性環(huán)境內(nèi)的線性區(qū)域判斷。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于所述線性區(qū)域判斷步驟包括A)當(dāng)最大RSSI值的無(wú)線接入點(diǎn)大于等于預(yù)設(shè)常數(shù)MR時(shí),定位標(biāo)簽的位置定位在該無(wú) 線接入點(diǎn)的位置;否則構(gòu)造集合LR存儲(chǔ)具有兩個(gè)有效無(wú)線接入點(diǎn)的RSSI值的線性區(qū)域,計(jì) 算線性區(qū)域的平均RSSI值,進(jìn)行B)步驟判斷;B)當(dāng)集合LR只存在一個(gè)線性區(qū)域,則該線性區(qū)域?yàn)樾枰ㄎ坏亩ㄎ粯?biāo)簽所在的線性 區(qū)域;否則尋找平均RSSI值最大的線性區(qū)域FMRegion和平均RSSI值第二大的線性區(qū)域SMRegion,進(jìn)行C)步驟判斷;C)若兩個(gè)區(qū)域的平均RSSI大于預(yù)設(shè)閾值,則平均RSSI值最大的線性區(qū)域FMRegion為 需要定位的定位標(biāo)簽所在的線性區(qū)域;否則認(rèn)為該數(shù)組信息存在錯(cuò)誤,舍棄本次定位。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于所述服務(wù)器定位模塊獲得定位標(biāo)簽所在的 線性區(qū)域后進(jìn)行線性區(qū)域內(nèi)定位的步驟;所述線性區(qū)域內(nèi)定位包括以下步驟1)對(duì)定位標(biāo)簽所在的線性區(qū)域內(nèi)的相鄰無(wú)線接入點(diǎn)間進(jìn)行劃分形成定位線段;2)通過(guò)相鄰無(wú)線接入點(diǎn)的RSSI值的差值以及定位線段內(nèi)固定節(jié)點(diǎn)差值的閾值進(jìn)行精 確確定定位標(biāo)簽所在的相鄰無(wú)線接入點(diǎn)間的精確位置。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于所述服務(wù)器還包括定位模塊進(jìn)行精確定 位后通過(guò)穩(wěn)定模塊來(lái)平滑顯示精確定位的結(jié)果,所述穩(wěn)定模塊為每一個(gè)定位標(biāo)簽維持一個(gè) 定位結(jié)果隊(duì)列,當(dāng)產(chǎn)生對(duì)一個(gè)特定標(biāo)簽的定位結(jié)果時(shí),首先判斷是否是第一次對(duì)該定位標(biāo) 簽定位,若是,則返回該定位結(jié)果;否則將該定位結(jié)果壓入隊(duì)列,并判斷一下該隊(duì)列的元素 數(shù)是否為3,若不是,則定位標(biāo)簽不移動(dòng);而若已經(jīng)有三個(gè)元素,則判斷這三次定位結(jié)果是 否有一個(gè)沒(méi)有定出位置的結(jié)果或存在一個(gè)定位結(jié)果跟當(dāng)前定位標(biāo)簽所在位置相同,若是, 則當(dāng)前定位位置不變;否則把定位標(biāo)簽的位置定位在最后一次定位結(jié)果的位置。
全文摘要
本發(fā)明公開(kāi)了一種線性環(huán)境下活動(dòng)節(jié)點(diǎn)定位跟蹤系統(tǒng)及其定位方法,所述系統(tǒng)包括無(wú)線接入點(diǎn)、定位標(biāo)簽和與無(wú)線接入點(diǎn)通訊的服務(wù)器,所述定位標(biāo)簽作為活動(dòng)節(jié)點(diǎn)在線性環(huán)境的線性區(qū)域內(nèi)活動(dòng),并周期性的發(fā)送探測(cè)幀數(shù)據(jù);所述無(wú)線接入點(diǎn)作為錨節(jié)點(diǎn)布控在線性環(huán)境內(nèi)固定位置,用于捕獲定位標(biāo)簽發(fā)出的探測(cè)幀數(shù)據(jù),根據(jù)捕獲到的探測(cè)幀數(shù)據(jù)來(lái)計(jì)算定位標(biāo)簽的RSSI信息,并將定位標(biāo)簽的RSSI信息組裝成數(shù)據(jù)包通過(guò)多跳無(wú)線路由或有線網(wǎng)絡(luò)直接發(fā)送至服務(wù)器;服務(wù)器整合處理所有定位標(biāo)簽的RSSI信息,并根據(jù)所有定位標(biāo)簽的RSSI信息獲得每個(gè)定位標(biāo)簽的實(shí)時(shí)位置。該定位系統(tǒng)定位位置精確可靠、定位位置穩(wěn)定。
文檔編號(hào)H04W64/00GK102083204SQ201010616759
公開(kāi)日2011年6月1日 申請(qǐng)日期2010年12月31日 優(yōu)先權(quán)日2010年12月31日
發(fā)明者劉剛, 張銀東, 徐宏力, 杜丙堅(jiān), 汪煬, 蔣勝龍, 黃劉生 申請(qǐng)人:中國(guó)科學(xué)技術(shù)大學(xué)蘇州研究院