本發(fā)明涉及一種防止定位過程出現(xiàn)抖動(dòng)的方法。
背景技術(shù):
在本發(fā)明中,使用的術(shù)語定義如下:
定位引擎:通過收集無線終端信號(hào)信息以及周邊環(huán)境信息,綜合運(yùn)用多種先進(jìn)算法,確定定位終端設(shè)備的3維物理位置(X坐標(biāo),Y坐標(biāo),Z坐標(biāo)/樓層)。
定位區(qū)域:定位引擎所覆蓋的地理區(qū)域,可以是空間中的任何區(qū)域,包括連續(xù)或離散的。
定位引擎實(shí)例:服務(wù)器中運(yùn)行定位引擎的進(jìn)程。
抖動(dòng):被定位終端設(shè)備以違反常識(shí)的方式被定位引擎判斷出現(xiàn)在多處位置(例如及短時(shí)間內(nèi)從一樓到九樓)。
單個(gè)定位引擎實(shí)例的定位區(qū)域是有限的,在需要定位覆蓋的地理區(qū)域總面積過大時(shí),經(jīng)常會(huì)需要引入多個(gè)定位引擎實(shí)例,不可避免的會(huì)出現(xiàn)定位引擎所定位區(qū)域出現(xiàn)重疊覆蓋(姑且稱之為交叉區(qū)域),處于交叉區(qū)域內(nèi)的終端設(shè)備極有可能遭遇抖動(dòng)現(xiàn)象。如圖1所示,A為定位引擎一所定位區(qū)域,B為定位引擎二所定位區(qū)域,A與B的重疊區(qū)域即為交叉區(qū)域。
對(duì)于圖1所示的情況而言,假設(shè)某個(gè)定位終端設(shè)備從交叉區(qū)域下方開始經(jīng)過交叉區(qū)域并從交叉區(qū)域上方離開,則可以得到如圖2所示的位置隨時(shí)間變化圖,在圖中,縱軸的0~9表示定位區(qū)域中不相鄰的10處位置(其中5為下交叉點(diǎn),6為上交叉點(diǎn)),橫軸表示不同的時(shí)刻。在1~8時(shí)刻,定位終端設(shè)備一直處于位置5處。在8~25時(shí)刻,定位終端設(shè)備在互不相鄰的位置之間來回跳動(dòng),25時(shí)刻之后定位終端設(shè)備處于位置6處。在定位終端設(shè)備移動(dòng)過程中,8~25時(shí)刻定位引擎一和定位引擎二的定位結(jié)果相互覆蓋,導(dǎo)致定位終端設(shè)備的定位結(jié)果一直處于抖動(dòng)狀態(tài),對(duì)定位精度和定位效果體驗(yàn)都會(huì)造成嚴(yán)重影響。
為解決此問題,申請(qǐng)?zhí)枮?01310373678X的專利公開了一種基于RFID標(biāo)簽防抖動(dòng)的室內(nèi)定位方法,包括以下步驟:
(1)RFID讀卡器識(shí)別RFID標(biāo)簽,確定RFID標(biāo)簽的定位位置;根據(jù)RFID標(biāo)簽的當(dāng)前定位位置與最近一次定位的定位位置變化與否,判斷是否進(jìn)行定位結(jié)果校正;當(dāng)RFID標(biāo)簽的當(dāng)前定位位置與最近一次定位的定位位置產(chǎn)生變化時(shí),進(jìn)行步驟(2)的定位結(jié)果校正;否則直接確定RFID標(biāo)簽的定位位置作為定位結(jié)果;
(2)根據(jù)當(dāng)前定位位置變化與最近一次定位位置變化之間的時(shí)間間隔U與信號(hào)有效期T初始值的關(guān)系判斷是否進(jìn)行防抖動(dòng)處理;當(dāng)該時(shí)間間隔U小于信號(hào)有效期T初始值時(shí),進(jìn)行步驟(3)的防抖動(dòng)處理;否則進(jìn)行步驟(4);
(3)將信號(hào)有效期T延長(zhǎng)預(yù)定時(shí)間,同時(shí)將最近一次定位的定位位置作為本次RFID標(biāo)簽的定位結(jié)果,放棄本次定位結(jié)果;
(4)根據(jù)當(dāng)前信號(hào)有效期是否已經(jīng)延長(zhǎng),以及距離最近一次檢測(cè)到抖動(dòng)的時(shí)間是否超過預(yù)定閾值來判斷抖動(dòng)是否已經(jīng)消除;當(dāng)當(dāng)前信號(hào)有效期已經(jīng)延長(zhǎng),且距離最近一次檢測(cè)到抖動(dòng)的時(shí)間超過預(yù)定閾值,則認(rèn)為抖動(dòng)已經(jīng)消除,執(zhí)行窗口恢復(fù),并將信號(hào)有效期還原至初始值,將RFID標(biāo)簽的當(dāng)前定位位置作為定位結(jié)果;如果當(dāng)前信號(hào)有效期沒有延長(zhǎng),或者距離最近一次檢測(cè)到抖動(dòng)的時(shí)間小于等于預(yù)定閾值,則將RFID標(biāo)簽的當(dāng)前定位位置作為定位結(jié)果。
上述方法的缺陷在于,依賴于RFID標(biāo)簽,且基于單實(shí)例定位引擎,對(duì)于多實(shí)例定位引擎數(shù)據(jù)融合的場(chǎng)景沒有覆蓋。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是針對(duì)多實(shí)例定位引擎數(shù)據(jù)融合的場(chǎng)景,提供一種解決定位抖動(dòng)的方法。
為了達(dá)到上述目的,本發(fā)明的技術(shù)方案是提供了一種多實(shí)例定位引擎數(shù)據(jù)融合的防抖動(dòng)方法,其特征在于,包括以下步驟:
步驟1、獲取定位終端設(shè)備的最新定位點(diǎn)作為當(dāng)前定位記錄,依據(jù)抖動(dòng)狀態(tài)標(biāo)志判斷當(dāng)前定位終端設(shè)備是否處于抖動(dòng)狀態(tài),若是,則進(jìn)入步驟2,若否,則進(jìn)入步驟4;
步驟2、將當(dāng)前定位記錄放入抖動(dòng)狀態(tài)記錄隊(duì)列,依據(jù)抖動(dòng)狀態(tài)記錄隊(duì)列中最近幾次的定位記錄,判斷當(dāng)前定位終端設(shè)備是否處于穩(wěn)定狀態(tài),若是,則銷毀抖動(dòng)狀態(tài)記錄隊(duì)列及抖動(dòng)狀態(tài)標(biāo)志,返回步驟1,若否,則進(jìn)入步驟3;
步驟3、判斷當(dāng)前定位記錄是否位于鎖定區(qū)域,若是,則返回步驟1,若否,則銷毀當(dāng)前定位記錄后再返回步驟1;
步驟4、依據(jù)當(dāng)前定位記錄及最近幾次得到的定位記錄判斷是否發(fā)生抖動(dòng),若否,則返回步驟1,若是,則新建抖動(dòng)狀態(tài)記錄隊(duì)列,并設(shè)置抖動(dòng)狀態(tài)標(biāo)志,進(jìn)入步驟5;
步驟5、將原有的定位區(qū)域作為鎖定區(qū)域,或?qū)?dāng)前定位記錄的定位區(qū)域作為鎖定區(qū)域,將當(dāng)前定位記錄放入抖動(dòng)狀態(tài)記錄隊(duì)列,返回步驟3。
本發(fā)明提供的方法可運(yùn)用于多實(shí)例定位引擎數(shù)據(jù)融合的場(chǎng)景,能夠快速、高效地對(duì)抖動(dòng)進(jìn)行處理。
附圖說明
圖1為不同定位引擎的定位區(qū)域出現(xiàn)重疊的示意圖;
圖2為位置隨時(shí)間變化圖;
圖3為本發(fā)明的流程圖。
具體實(shí)施方式
下面結(jié)合具體實(shí)施例,進(jìn)一步闡述本發(fā)明。應(yīng)理解,這些實(shí)施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍。此外應(yīng)理解,在閱讀了本發(fā)明講授的內(nèi)容之后,本領(lǐng)域技術(shù)人員可以對(duì)本發(fā)明作各種改動(dòng)或修改,這些等價(jià)形式同樣落于本申請(qǐng)所附權(quán)利要求書所限定的范圍。
假定某個(gè)定位終端設(shè)備最初的定位位置為A,定位引擎持續(xù)定位,不同定位引擎實(shí)例的數(shù)據(jù)會(huì)被統(tǒng)一匯聚到一個(gè)數(shù)據(jù)出口,如果定位終端設(shè)備移動(dòng)到被兩個(gè)或者多個(gè)定位引擎實(shí)例同時(shí)覆蓋的區(qū)域,數(shù)據(jù)出口給出的這個(gè)設(shè)備的定位點(diǎn)序列可能是A->A->B->A->C->B->A->B->B...這種情況,在地圖上顯示出來時(shí)定位點(diǎn)會(huì)在相隔較遠(yuǎn)的位置來回跳動(dòng)。為解決這種抖動(dòng)現(xiàn)象,需要在抖動(dòng)被檢測(cè)到時(shí),為此定位終端設(shè)備鎖定一個(gè)定位區(qū)域,接下來再次到達(dá)數(shù)據(jù)出口的定位數(shù)據(jù)會(huì)被加以檢測(cè),如果屬于這個(gè)定位區(qū)域,則繼續(xù)向下傳遞數(shù)據(jù),否則視為無效定位數(shù)據(jù),會(huì)被拋棄或者做其它處理。有兩種策略來選擇鎖定的定位區(qū)域,第一種是維持原有的定位區(qū)域,第二種是使用新出現(xiàn)的定位區(qū)域。最終定位設(shè)備會(huì)達(dá)到一個(gè)穩(wěn)定的定位序列如:B->B->B->B->B->B...,這時(shí)可以宣布定位抖動(dòng)狀態(tài)解除。
基于上述原理,本發(fā)明提供的一種多實(shí)例定位引擎數(shù)據(jù)融合的防抖動(dòng)方法,包括以下步驟:
步驟1、獲取定位終端設(shè)備的最新定位點(diǎn)作為當(dāng)前定位記錄,依據(jù)抖動(dòng)狀態(tài)標(biāo)志判斷當(dāng)前定位終端設(shè)備是否處于抖動(dòng)狀態(tài),若是,則進(jìn)入步驟2,若否,則進(jìn)入步驟4;
步驟2、將當(dāng)前定位記錄放入抖動(dòng)狀態(tài)記錄隊(duì)列,依據(jù)抖動(dòng)狀態(tài)記錄隊(duì)列中最近幾次的定位記錄,判斷當(dāng)前定位終端設(shè)備是否處于穩(wěn)定狀態(tài),若是,則銷毀抖動(dòng)狀態(tài)記錄隊(duì)列及抖動(dòng)狀態(tài)標(biāo)志,返回步驟1,若否,則進(jìn)入步驟3;
步驟3、判斷當(dāng)前定位記錄是否位于鎖定區(qū)域,若是,則返回步驟1,若否,則銷毀當(dāng)前定位記錄后再返回步驟1;
步驟4、依據(jù)當(dāng)前定位記錄及最近幾次得到的定位記錄判斷是否發(fā)生抖動(dòng),若否,則返回步驟1,若是,則新建抖動(dòng)狀態(tài)記錄隊(duì)列,并設(shè)置抖動(dòng)狀態(tài)標(biāo)志,進(jìn)入步驟5;
步驟5、將原有的定位區(qū)域作為鎖定區(qū)域,或?qū)?dāng)前定位記錄的定位區(qū)域作為鎖定區(qū)域,將當(dāng)前定位記錄放入抖動(dòng)狀態(tài)記錄隊(duì)列,返回步驟3。