一種基于慣性測(cè)量單元的用戶步行定位方法
【專利摘要】本發(fā)明涉及一種基于慣性測(cè)量單元的用戶步行定位方法,針對(duì)行人進(jìn)行定位時(shí),不依賴于外在設(shè)備的具體情況,不需要提前建立指紋地圖,不需要專業(yè)的定位設(shè)備,只需要利用集成有慣性測(cè)量單元的智能移動(dòng)終端,配合定位場(chǎng)景地圖,即可實(shí)現(xiàn)定位應(yīng)用。定位方案具有很好的普適性,在不同硬件條件的定位場(chǎng)景均可實(shí)現(xiàn)定位應(yīng)用。
【專利說(shuō)明】
-種基于慣性測(cè)量單元的用戶步行定位方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及一種基于慣性測(cè)量單元的用戶步行定位方法,屬于移動(dòng)計(jì)算技術(shù)應(yīng)用 領(lǐng)域。
【背景技術(shù)】
[0002] 目前定位算法的主流是基于無(wú)線網(wǎng)絡(luò)(Wireless Fidelity,Wi-Fi)、射頻識(shí)別 (Radio Frequency Identification,RFID)、低功耗藍(lán)牙(Bluetooth Low Ene;rgy,I3LE)等 無(wú)線射頻技術(shù)實(shí)現(xiàn)對(duì)行人的定位。通過(guò)利用一些典型的定位方法,諸如基于接收信號(hào)強(qiáng)度 的方法,結(jié)合Ξ邊測(cè)量算法計(jì)算得到行人坐標(biāo)或是采用指紋定位算法實(shí)現(xiàn)行人定位應(yīng)用。 不同于無(wú)線射頻定位技術(shù),利用從慣性測(cè)量單元實(shí)現(xiàn)行人定位是一個(gè)較新的研究方向。運(yùn) 類定位方案無(wú)需在定位場(chǎng)景配備專業(yè)的射頻設(shè)備,也無(wú)需提前建立射頻信號(hào)的指紋地圖, 只需要一部集成了慣性測(cè)量單元的智能移動(dòng)終端和一張定位場(chǎng)景的地圖即可實(shí)現(xiàn)定位應(yīng) 用。
[0003] 定位算法的性能指標(biāo)有定位精度、定位魯棒性、算法復(fù)雜度等。其中,定位精度是 定位算法的關(guān)鍵指標(biāo)。一些利用無(wú)線射頻技術(shù)進(jìn)行定位的方法在理論上可預(yù)見(jiàn)較高的定位 精度,但運(yùn)些定位算法的定位精度往往過(guò)于依賴其使用的具體定位技術(shù),WWi-Fi定位技術(shù) 為例:當(dāng)所部署的Wi-Fi設(shè)備都能夠正常運(yùn)行時(shí),結(jié)合適當(dāng)?shù)亩ㄎ环椒軌颢@得較好的定位 精度,不過(guò)一旦Wi-Fi設(shè)備發(fā)生異常甚至無(wú)法工作時(shí),將嚴(yán)重影響定位方法的定位效果,大 大降低室內(nèi)定位的定位精度,甚至出現(xiàn)無(wú)法進(jìn)行定位的情況。此外,即使利用指紋定位法來(lái) 實(shí)現(xiàn)定位應(yīng)用,指紋采樣點(diǎn)的稀疏程度也直接影響了定位精度運(yùn)一重要指標(biāo)。因此,若是射 頻設(shè)備大范圍的損壞或者更新,都將會(huì)造成定位精度急劇下降,甚至導(dǎo)致定位失敗。對(duì)于利 用慣性測(cè)量單元的定位本身而言,有些定位方案需要配備專業(yè)的可穿戴設(shè)備來(lái)代替常見(jiàn)的 智能移動(dòng)終端,甚至需要將設(shè)備固定在腰間或腳踩處來(lái)提高定位精度;有些方案需要在定 位場(chǎng)景的指定位置部署額外的射頻設(shè)備進(jìn)行輔助定位,W糾正定位過(guò)程中的累積誤差問(wèn) 題。運(yùn)些定位方案均無(wú)法普適于一般的集成了慣性測(cè)量單元定位的智能移動(dòng)終端,需要專 業(yè)的定位設(shè)備或是需要額外的射頻定位設(shè)備進(jìn)行輔助定位。
[0004] 可見(jiàn),僅僅考慮無(wú)線射頻技術(shù)的定位是不足的,特別是面對(duì)如今越來(lái)越多個(gè)性化 定位場(chǎng)景,不是每個(gè)定位場(chǎng)景都部署有或部署足夠的Wi-Fi路由器、BLE信號(hào)設(shè)備等。對(duì)于基 于慣性測(cè)量單元的定位方法,專業(yè)定位設(shè)備W及其他額外的射頻定位設(shè)備的需要也降低了 定位算法的普適性。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種利用集成慣性測(cè)量單元和定位場(chǎng)景地圖 信息的智能移動(dòng)終端,能夠高效實(shí)現(xiàn)針對(duì)行人位置定位的基于慣性測(cè)量單元的用戶步行定 位方法。
[0006] 本發(fā)明為了解決上述技術(shù)問(wèn)題采用W下技術(shù)方案:本發(fā)明設(shè)計(jì)了一種基于慣性測(cè) 量單元的用戶步行定位方法,通過(guò)攜帶慣性測(cè)量單元,實(shí)現(xiàn)針對(duì)用戶步行位置的定位,所述 定位方法包括如下步驟:
[0007]步驟001.針對(duì)慣性測(cè)量單元建立終端Ξ維坐標(biāo)系,W及針對(duì)用戶的步行建立行走 Ξ維坐標(biāo)系,然后進(jìn)入步驟002;
[000引步驟002.構(gòu)建用于終端Ξ維坐標(biāo)系與行走Ξ維坐標(biāo)系之間位置轉(zhuǎn)換的旋轉(zhuǎn)矩陣, 然后進(jìn)入步驟003;
[0009] 步驟003.用戶攜帶慣性測(cè)量單元,分預(yù)設(shè)腳欠,分別步行預(yù)設(shè)路程,分別獲得N組樣 本數(shù)據(jù),其中,分別針對(duì)各次步行預(yù)設(shè)路程,通過(guò)慣性測(cè)量單元記錄步行的步數(shù),W及按用 戶每走一步對(duì)應(yīng)一個(gè)檢測(cè)時(shí)刻,通過(guò)慣性測(cè)量單元檢測(cè)各時(shí)刻的加速度,再經(jīng)旋轉(zhuǎn)矩陣獲 得用戶各時(shí)刻步行的加速度,分別構(gòu)成各組樣本數(shù)據(jù),然后進(jìn)入步驟004;
[0010] 步驟004.分別針對(duì)各組樣本數(shù)據(jù)中各時(shí)刻步行的加速度,采用鄰近平均值法更新 各時(shí)刻步行的加速度ak;然后分別針對(duì)各組樣本數(shù)據(jù),獲得用戶步行加速度方差V和各時(shí)刻 用戶的步伐頻率F化),W及根據(jù)預(yù)設(shè)路程和步行的步數(shù),獲得各步的步長(zhǎng),進(jìn)而分別獲得各 組樣本數(shù)據(jù)分別所對(duì)應(yīng)用戶步行加速度方差V,其中各時(shí)刻用戶的步伐頻率F化),W及其中 各步的步長(zhǎng),并進(jìn)入步驟005;其中,k表示第k時(shí)刻,ak表示用戶第k時(shí)刻步行的加速度;
[0011] 步驟005.構(gòu)建用戶步長(zhǎng)公式如下式所示:
[0012] Lk+i = A+bF 化)+cV
[0013] 并根據(jù)各組樣本數(shù)據(jù)分別所對(duì)應(yīng)用戶步行加速度方差V,其中各時(shí)刻用戶的步伐 頻率F化),W及其中各步的步長(zhǎng),采用預(yù)設(shè)訓(xùn)練算法針對(duì)用戶步長(zhǎng)公式就行訓(xùn)練,獲得其中 參數(shù)A、b、c的值,進(jìn)而更新構(gòu)成用戶步長(zhǎng)模型Lk+i = A+bF化)+cV,然后進(jìn)入步驟006;
[0014] 步驟006.針對(duì)地圖中的物理結(jié)構(gòu),規(guī)劃出可達(dá)區(qū)域和非可達(dá)區(qū)域,并初始化用戶 的當(dāng)前時(shí)刻位置,W及初始化參數(shù)S為0,然后進(jìn)入步驟007;
[0015] 步驟007.按照用戶每走一步對(duì)應(yīng)一個(gè)檢測(cè)時(shí)刻,通過(guò)慣性測(cè)量單元檢測(cè)當(dāng)前時(shí)刻 的方向角,并經(jīng)旋轉(zhuǎn)矩陣獲得用戶當(dāng)前時(shí)刻的方向角,然后根據(jù)用戶的當(dāng)前時(shí)刻位置,采用 自適應(yīng)粒子群優(yōu)化算法,結(jié)合用戶當(dāng)前時(shí)刻的方向角,W及用戶步長(zhǎng)模型,獲得用戶下一時(shí) 刻的預(yù)測(cè)位置,然后進(jìn)入步驟008;
[0016] 步驟008.獲得用戶當(dāng)前時(shí)刻方向角與用戶上一時(shí)刻方向角之間的差值ΔΘ,判斷 A Θ是否小于等于預(yù)設(shè)角度下限闊值θι,是則針對(duì)大于0的S進(jìn)行清零,并進(jìn)入步驟014;否則 進(jìn)入步驟009;
[0017] 步驟009.判斷ΔΘ是否小于預(yù)設(shè)角度上限闊值0h,是則根據(jù)用戶的當(dāng)前時(shí)刻位置, 采用自適應(yīng)粒子群優(yōu)化算法,結(jié)合用戶上一時(shí)刻的方向角,W及用戶步長(zhǎng)模型,更新獲得用 戶下一時(shí)刻的預(yù)測(cè)位置,同時(shí)針對(duì)大于0的S進(jìn)行清零,并進(jìn)入步驟014;否則進(jìn)入步驟010;
[0018] 步驟010.判斷S是否等于第一預(yù)設(shè)時(shí)限闊值Ti,是則進(jìn)入步驟011;否則用S的值加 1針對(duì)S進(jìn)行更新,接著根據(jù)用戶的當(dāng)前位置,采用自適應(yīng)粒子群優(yōu)化算法,結(jié)合用戶上一時(shí) 刻的方向角,W及用戶步長(zhǎng)模型,更新獲得用戶下一時(shí)刻的預(yù)測(cè)位置,同時(shí)更新用戶當(dāng)前時(shí) 刻的方向角為上一時(shí)刻的方向角,并進(jìn)入步驟014;其中,Τι含2;
[0019] 步驟011.暫定針對(duì)用戶步行位置的定位,初始化參數(shù)Υ = 0,然后進(jìn)入下一時(shí)刻,并 進(jìn)入步驟012;
[0020] 步驟012.獲得用戶當(dāng)前時(shí)刻方向角與用戶上一時(shí)刻方向角之間的差值ΔΘ,判斷 A θ是否小于等于預(yù)設(shè)角度下限闊值θι,是則用Υ的值加1針對(duì)Υ進(jìn)行更新,并進(jìn)入步驟013; 否則針對(duì)大于0的Υ進(jìn)行清零,并進(jìn)入步驟013;
[0021] 步驟013.判斷Υ是否等于第二預(yù)設(shè)時(shí)限闊值Τ2,是則初始化用戶的當(dāng)前時(shí)刻位置, 并返回步驟007;否則進(jìn)入下一時(shí)刻,并返回步驟012;其中,Τ2> 2;
[0022] 步驟014.根據(jù)地圖中的可達(dá)區(qū)域和非可達(dá)區(qū)域,判斷用戶當(dāng)前時(shí)刻位置與下一時(shí) 刻預(yù)測(cè)位置之間的連線是否進(jìn)入不可達(dá)區(qū)域,是則進(jìn)入步驟015;否則進(jìn)入下一時(shí)刻,并在 地圖上顯示用戶下一時(shí)刻的預(yù)測(cè)位置,再返回步驟007;
[0023] 步驟015.獲得由用戶當(dāng)前時(shí)刻位置指向下一時(shí)刻預(yù)測(cè)位置的射線,首次與不可達(dá) 區(qū)域邊緣的相交點(diǎn)位置,進(jìn)一步獲得在地圖上可達(dá)區(qū)域內(nèi)與該相交點(diǎn)位置之間路程最近的 道路交點(diǎn)位置,將該道路交點(diǎn)位置更新作為用戶下一時(shí)刻的預(yù)測(cè)位置,然后進(jìn)入下一時(shí)刻, 并在地圖上顯示用戶下一時(shí)刻的預(yù)測(cè)位置,實(shí)現(xiàn)用戶步行位置的定位,再返回步驟007。
[0024] 作為本發(fā)明的一種優(yōu)選技術(shù)方案:所屬用于終端Ξ維坐標(biāo)系與行走Ξ維坐標(biāo)系之 間位置轉(zhuǎn)換的旋轉(zhuǎn)矩陣,為模為1,且具有唯一特征值的矩陣。
[0025] 作為本發(fā)明的一種優(yōu)選技術(shù)方案:所述步驟004中,分別針對(duì)各組樣本數(shù)據(jù)中各時(shí) 刻步行的加速度,采用鄰近平均值法通過(guò)如下公式,更新各時(shí)刻步行的加速度ak;
[0026]
[0027] 式中,m為預(yù)設(shè)鄰近檢測(cè)時(shí)間范圍。
[0028] 作為本發(fā)明的一種優(yōu)選技術(shù)方案:所述步驟004中,分別針對(duì)各組樣本數(shù)據(jù),采用 預(yù)設(shè)分類器進(jìn)行訓(xùn)練,獲得用戶步行各個(gè)加速度所分別對(duì)應(yīng)的各個(gè)加速度期望E(ak),然后 根據(jù)如下公式,獲得用戶步行加速度方差V,
[0029] v = E(£ik2)-(E(£ik))2
[0030] 式中,E(ak)表示用戶步行過(guò)程中加速度ak所對(duì)應(yīng)的加速度期望,E(ak2)表示用戶 步行過(guò)程中加速度ak2所對(duì)應(yīng)的加速度期望。
[0031 ]作為本發(fā)明的一種優(yōu)選技術(shù)方案:所述步驟004中,分別針對(duì)各組樣本數(shù)據(jù),根據(jù) 如下公式,獲得各時(shí)刻用戶的步伐頻率F化),
[0032]
[003引式中,tk+康示第k+1個(gè)時(shí)刻的時(shí)間,t讀示第k個(gè)時(shí)刻的時(shí)間。
[0034] 作為本發(fā)明的一種優(yōu)選技術(shù)方案:所述步驟005中,根據(jù)各組樣本數(shù)據(jù)分別所對(duì)應(yīng) 用戶步行加速度方差V,其中各時(shí)刻用戶的步伐頻率F化),W及其中各步的步長(zhǎng),采用梯度 下降訓(xùn)練算法針對(duì)用戶步長(zhǎng)公式進(jìn)行訓(xùn)練,獲得其中參數(shù)A、b、c的值。
[0035] 作為本發(fā)明的一種優(yōu)選技術(shù)方案:所述根據(jù)用戶的當(dāng)前位置,采用自適應(yīng)粒子群 優(yōu)化算法,結(jié)合用戶當(dāng)前時(shí)刻方向角或者上一時(shí)刻方向角,W及用戶步長(zhǎng)模型,獲得或更新 獲得用戶下一時(shí)刻的預(yù)測(cè)位置,具體包括如下步驟:
[0036] 步驟aOl.在地圖上針對(duì)W用戶當(dāng)前位置為圓屯、、預(yù)設(shè)半徑區(qū)域內(nèi),設(shè)置N個(gè)粒子所 構(gòu)成的粒子群,分別針對(duì)各個(gè)粒子,獲得當(dāng)前時(shí)刻粒子的橫坐標(biāo)Xn,k、縱坐標(biāo)yn,k和方向角 目n,k,然后進(jìn)入步驟a02;其中,11={1、-'、《,恥,1<表示第11個(gè)粒子當(dāng)前時(shí)刻粒子的橫坐標(biāo),7。,1< 表示第η個(gè)粒子當(dāng)前時(shí)刻粒子的縱坐標(biāo),0n,k表示第η個(gè)粒子當(dāng)前時(shí)刻粒子的方向角;
[0037]步驟a02.分別針對(duì)各個(gè)粒子,獲得粒子下一時(shí)刻方向角相對(duì)當(dāng)前時(shí)刻方向角的變 化ΔΘ\,Κ及結(jié)合用戶步長(zhǎng)模型,獲得用戶下一時(shí)刻步長(zhǎng)Lk+i,再根據(jù)如下公式,更新獲得 下一時(shí)刻粒子的橫坐標(biāo)Xn,k+1、縱坐標(biāo)yn,k+l和方向角目n,k+l,其中,A 0/ η表示第η個(gè)粒子下一 時(shí)刻方向角相對(duì)當(dāng)前時(shí)刻方向角的變化;
[003引 Xn,k+l = Xn,k+Lk+l · cos目n,k+l
[0039] yn,k+i = yn,k+Lk+i · sin目n,k+i
[0040] 白n'k+l =白n'k+Δ 白'η
[0041 ] 進(jìn)而分別獲得各個(gè)粒子下一時(shí)刻粒子的橫坐標(biāo)Xn,k+1、縱坐標(biāo)yn,k+l和方向角目n,k+l, 然后進(jìn)入步驟a〇3;
[0042] 步驟a03.分別針對(duì)當(dāng)前時(shí)刻的前預(yù)設(shè)U個(gè)檢測(cè)時(shí)刻,分別獲得各檢測(cè)時(shí)刻中各個(gè) 粒子與對(duì)應(yīng)檢測(cè)時(shí)刻用戶步行位置之間的歐幾里得距離dn,u,然后進(jìn)入步驟a04;其中,u = {1、、1]},山,。表示該1]個(gè)檢測(cè)時(shí)刻中第11個(gè)時(shí)刻、第11個(gè)粒子與對(duì)應(yīng)檢測(cè)時(shí)刻用戶步行位置之 間的歐幾里得距離;
[0043] 步驟a04.分別針對(duì)各個(gè)粒子,獲得粒子分別對(duì)應(yīng)該U個(gè)檢測(cè)時(shí)刻歐幾里得距離中 的最小值,作為該粒子的經(jīng)驗(yàn)值,進(jìn)而分別獲得各個(gè)粒子的經(jīng)驗(yàn)值Pn;同時(shí),將所有粒子對(duì) 應(yīng)該U個(gè)檢測(cè)時(shí)刻歐幾里得距離中的最小,作為粒子同伴的經(jīng)驗(yàn)值G,然后進(jìn)入步驟a05;
[0044] 步驟a05.分別獲得各個(gè)粒子的當(dāng)前坐標(biāo)位置gn,k,然后分別針對(duì)各個(gè)粒子,根據(jù)如 下公式,獲得粒子在第k+1時(shí)刻的粒子權(quán)重Wn,k+1,進(jìn)而分別獲得各個(gè)粒子在第k+1時(shí)刻的粒 子權(quán)重ω η, k+1,然后進(jìn)入步驟a06;
[0045]
[0046] 式中,bi和b2為預(yù)設(shè)常系數(shù),?·(ξ)是一個(gè)取隨機(jī)值的函數(shù),wn,k+讀示第η個(gè)粒子在 第k+1時(shí)刻的粒子權(quán)重,gn,k表示第η個(gè)粒子在當(dāng)前時(shí)刻下的坐標(biāo)位置,包括粒子的橫坐標(biāo)和 縱坐標(biāo);
[0047] 步驟a06.根據(jù)如下公式,獲得用戶下一時(shí)刻的預(yù)測(cè)位置Xk+i,
[004引
[00例式中,no;rm( c0n,k+i)表示針對(duì)Wn,k+1的標(biāo)準(zhǔn)化。
[0050] 本發(fā)明所述一種基于慣性測(cè)量單元的用戶步行定位方法采用W上技術(shù)方案與現(xiàn) 有技術(shù)相比,具有W下技術(shù)效果:
[0051] 1.本發(fā)明所設(shè)計(jì)的一種基于慣性測(cè)量單元的用戶步行定位方法,針對(duì)行人進(jìn)行定 位時(shí),不依賴于外在設(shè)備的具體情況,不需要提前建立指紋地圖,不需要專業(yè)的定位設(shè)備, 只需要利用集成有慣性測(cè)量單元的智能移動(dòng)終端,配合定位場(chǎng)景地圖,即可實(shí)現(xiàn)定位應(yīng)用。 定位方案具有很好的普適性,在不同硬件條件的定位場(chǎng)景均可實(shí)現(xiàn)定位應(yīng)用;
[0052] 2.本發(fā)明所設(shè)計(jì)的一種基于慣性測(cè)量單元的用戶步行定位方法,在定位過(guò)程中, 自適應(yīng)粒子群優(yōu)化算法(APS0算法)會(huì)對(duì)慣性測(cè)量單元的數(shù)據(jù)漂移問(wèn)題和定位坐標(biāo)的穿墻 問(wèn)題就行糾正,提高定位精度,一定程度上克服由于慣性測(cè)量單元自身所導(dǎo)致的定位誤差;
[0053] 3.本發(fā)明所設(shè)計(jì)的一種基于慣性測(cè)量單元的用戶步行定位方法,在定位過(guò)程中, 支持智能移動(dòng)終端的姿態(tài)變換,不會(huì)因?yàn)榻K端姿態(tài)的變化導(dǎo)致定位精度的急劇下降,特別 是對(duì)于接聽(tīng)電話、拍攝照片、發(fā)送短信等方向角非連續(xù)變化的情況有很好的支持,魯棒性很 局;
[0054] 4.本發(fā)明所設(shè)計(jì)的一種基于慣性測(cè)量單元的用戶步行定位方法,整個(gè)基于慣性測(cè) 量單元的定位方法是一個(gè)可融合的定位方案。可W根據(jù)具體定位場(chǎng)景的硬件條件,融合基 于射頻信號(hào)技術(shù)的指紋定位和基于信號(hào)強(qiáng)度的定位。
【附圖說(shuō)明】
[0055] 圖1是本發(fā)明設(shè)計(jì)的基于慣性測(cè)量單元的用戶步行定位方法中慣性測(cè)量單元的歐 拉角示意圖;
[0056] 圖2是本發(fā)明設(shè)計(jì)的基于慣性測(cè)量單元的用戶步行定位方法中定位模型示意圖。
【具體實(shí)施方式】
[0057] 下面結(jié)合說(shuō)明書(shū)附圖對(duì)本發(fā)明的【具體實(shí)施方式】作進(jìn)一步詳細(xì)的說(shuō)明。
[0058] 本發(fā)明所設(shè)計(jì)一種基于慣性測(cè)量單元的用戶步行定位方法,在實(shí)際應(yīng)用過(guò)程當(dāng) 中,通過(guò)攜帶慣性測(cè)量單元,實(shí)現(xiàn)針對(duì)用戶步行位置的定位,所述定位方法,具體包括如下 步驟:
[0059] 步驟001.慣性測(cè)量單元的歐拉角主要由俯仰角,翻滾角和旋轉(zhuǎn)角構(gòu)成,它們通常 用來(lái)描述物體在慣性空間中的相對(duì)姿態(tài),如圖1所示。其中,俯仰角和翻滾角通常由Ξ軸加 速度計(jì)計(jì)算而得,旋轉(zhuǎn)角通常根據(jù)巧螺儀或Ξ軸磁力計(jì)確定。因此,針對(duì)慣性測(cè)量單元建立 終端Ξ維坐標(biāo)系T,W及針對(duì)用戶的步行建立行走Ξ維坐標(biāo)系G,然后進(jìn)入步驟002。
[0060] 其中,設(shè)俯仰角為P,翻滾角為Q,旋轉(zhuǎn)角為¥。山、(^、〇3分別為^軸加速度傳感器乂、¥ 和Z軸的加速度值。當(dāng)終端靜止時(shí),Ξ軸加速度計(jì)的矢量和為:
[0061]
[0062] 其中,在公式1中,g表示重力加速度。
[0063] 俯仰角P為:
[0067] 步驟002 .構(gòu)建用于終端Ξ維坐標(biāo)系與行走Ξ維坐標(biāo)系之間位置轉(zhuǎn)換的旋轉(zhuǎn)矩陣 (Rotation Ma化ix,RM),然后進(jìn)入步驟003,其中,用于終端Ξ維坐標(biāo)系與行走Ξ維坐標(biāo)系 之間位置轉(zhuǎn)換的旋轉(zhuǎn)矩陣,為模為1,且具有唯一特征值的矩陣。
[0068] 其中,當(dāng)旋轉(zhuǎn)矩陣(RM)應(yīng)用在向量的乘法中時(shí),可W改變一個(gè)向量方向的同時(shí)卻 不改變?cè)撓蛄康拇笮?。那也就是說(shuō),利用旋轉(zhuǎn)矩陣(M)就可W改變T坐標(biāo)系的方向,使之與G 坐標(biāo)系的夾角為0,同時(shí)又能保留T坐標(biāo)系中Ξ個(gè)方向的值的大小。
[0069] 不妨設(shè)T坐標(biāo)系的X軸與G坐標(biāo)系的X軸、Y軸、Z軸之間的夾角分別為rx'xjx'yjx'z。 同理,T坐標(biāo)系的Y軸與G坐標(biāo)系Ξ個(gè)軸之間的夾角分別為ry'x,ry'y,ry'z,T坐標(biāo)系的巧由與G坐 標(biāo)系;個(gè)軸之間的夾角分別為rz'xJz'yJz'z。設(shè)點(diǎn)W(x',y',z')是T坐標(biāo)系上一點(diǎn),對(duì)應(yīng)地, 點(diǎn)W在G坐標(biāo)系上的坐標(biāo)為(x,y,z),有:
[0070] x = x' cosrx^ x+y' cosrx^ y+z' cosrx^ Z
[0071] γ = χ/ cosr/x+y/ cosr/y+z/ cosr/z
[0072] z = x' cosrz'x+y' cosrz'y+z' cosrz'z
[0073] 由上式變形可得:
[0074] (x,y,z)T = R(x' y,ζ')τ
[0075] 在上式中,R是旋轉(zhuǎn)矩陣(Μ),可W表示為:
[0076]
[0077] 相應(yīng)地,當(dāng)終端繞坐標(biāo)系Ξ個(gè)不同的軸旋轉(zhuǎn)時(shí),旋轉(zhuǎn)矩陣R的表達(dá)式分別為:
[0081 ] Ra表示終端繞X軸旋轉(zhuǎn),即俯仰角,旋轉(zhuǎn)角度為α; %表示終端繞Y軸旋轉(zhuǎn),即翻滾角, 旋轉(zhuǎn)角度為e;Rx表示終端繞Ζ軸旋轉(zhuǎn),即旋轉(zhuǎn)角,旋轉(zhuǎn)角度為X。運(yùn)里,利用旋轉(zhuǎn)角和旋轉(zhuǎn)矩 陣,就能確保終終端的慣性測(cè)量單元坐標(biāo)系的方向與行人運(yùn)動(dòng)坐標(biāo)系的方向一致。
[0082] 步驟003.用戶攜帶慣性測(cè)量單元,分預(yù)設(shè)腳欠,分別步行預(yù)設(shè)路程,分別獲得N組樣 本數(shù)據(jù),其中,分別針對(duì)各次步行預(yù)設(shè)路程,通過(guò)慣性測(cè)量單元記錄步行的步數(shù),W及按用 戶每走一步對(duì)應(yīng)一個(gè)檢測(cè)時(shí)刻,通過(guò)慣性測(cè)量單元檢測(cè)各時(shí)刻的加速度,再經(jīng)旋轉(zhuǎn)矩陣獲 得用戶各時(shí)刻步行的加速度,分別構(gòu)成各組樣本數(shù)據(jù),然后進(jìn)入步驟004。
[0083] 步驟004.分別針對(duì)各組樣本數(shù)據(jù)中各時(shí)刻步行的加速度,采用鄰近平均值法,通 過(guò)如下公式,更新各時(shí)刻步行的加速度ak;
[0084]
[0085] 式中,m為預(yù)設(shè)鄰近檢測(cè)時(shí)間范圍,實(shí)際應(yīng)用中可W設(shè)定m = 5;然后分別針對(duì)各組 樣本數(shù)據(jù),采用預(yù)設(shè)分類器進(jìn)行訓(xùn)練,獲得用戶步行各個(gè)加速度所分別對(duì)應(yīng)的各個(gè)加速度 期望E(ak),然后根據(jù)如下公式,獲得用戶步行加速度方差V,
[0086] v = E(£ik2)-(E(£ik))2
[0087] 式中,E(ak)表示用戶步行過(guò)程中加速度ak所對(duì)應(yīng)的加速度期望,E(ak2)表示用戶 步行過(guò)程中加速度ak2所對(duì)應(yīng)的加速度期望,同時(shí)分別針對(duì)各組樣本數(shù)據(jù),根據(jù)如下公式,獲 得各時(shí)刻用戶的步伐頻率F化),
[008引
[0089] 式中,tk+i表示第k+1個(gè)時(shí)刻的時(shí)間,tk表示第k個(gè)時(shí)刻的時(shí)間;并且根據(jù)預(yù)設(shè)路程 和步行的步數(shù),獲得各步的步長(zhǎng),進(jìn)而分別獲得各組樣本數(shù)據(jù)分別所對(duì)應(yīng)用戶步行加速度 方差V,其中各時(shí)刻用戶的步伐頻率F化),W及其中各步的步長(zhǎng),并進(jìn)入步驟005;其中,k表 示第k時(shí)刻,ak表示用戶第k時(shí)刻步行的加速度。
[0090] 步驟005.構(gòu)建用戶步長(zhǎng)公式如下式所示:
[0091] Lk+i = A+bF 化)+cV
[0092] 并根據(jù)各組樣本數(shù)據(jù)分別所對(duì)應(yīng)用戶步行加速度方差V,其中各時(shí)刻用戶的步伐 頻率F化),W及其中各步的步長(zhǎng),采用梯度下降訓(xùn)練算法針對(duì)用戶步長(zhǎng)公式就行訓(xùn)練,獲得 其中參數(shù)A、b、c的值,進(jìn)而更新構(gòu)成用戶步長(zhǎng)模型Lk+i = A+bF化)+cV,然后進(jìn)入步驟006。
[0093] 步驟006.定位地圖是由眾多的"點(diǎn)"和"線"組成,"點(diǎn)"要素規(guī)定了整張地圖的大 ?。?線"要素將相關(guān)聯(lián)的"點(diǎn)"要素相連接,對(duì)地圖的物理結(jié)構(gòu)做出了劃分,同時(shí)也劃分出了 行人可達(dá)區(qū)域和不可達(dá)區(qū)域。在進(jìn)行定位時(shí),若行人穿越了不可達(dá)區(qū)域,則發(fā)生了行人撞墻 問(wèn)題,需要利用APS0算法進(jìn)行糾偏。例如:假設(shè)行人目前在A房間,現(xiàn)在要從A房間步行到B房 間,那么行人必須通過(guò)A房間外的走廊進(jìn)入B房間,不能直接穿墻而過(guò),其中走廊為行人的可 達(dá)區(qū)域,穿墻而過(guò)的區(qū)域?yàn)椴豢蛇_(dá)區(qū)域,因此,針對(duì)地圖中的物理結(jié)構(gòu),規(guī)劃出可達(dá)區(qū)域和 非可達(dá)區(qū)域,并初始化用戶的當(dāng)前時(shí)刻位置,W及初始化參數(shù)S為0,然后進(jìn)入步驟007。
[0094] 步驟007.按照用戶每走一步對(duì)應(yīng)一個(gè)檢測(cè)時(shí)刻,通過(guò)慣性測(cè)量單元檢測(cè)當(dāng)前時(shí)刻 的方向角,并經(jīng)旋轉(zhuǎn)矩陣獲得用戶當(dāng)前時(shí)刻的方向角,然后根據(jù)用戶的當(dāng)前時(shí)刻位置,采用 自適應(yīng)粒子群優(yōu)化算法(APS0),結(jié)合用戶當(dāng)前時(shí)刻的方向角,W及用戶步長(zhǎng)模型,獲得用戶 下一時(shí)刻的預(yù)測(cè)位置,然后進(jìn)入步驟008。
[0095] 其中,APS0算法對(duì)方向角的變化是敏感的,因此如果將APS0中粒子的方向角定義 為智能移動(dòng)終端的實(shí)時(shí)方向角,那么一旦智能手機(jī)的方向角發(fā)生驟變(如:在定位過(guò)程中接 聽(tīng)電話,拍攝照片,放入口袋等),則會(huì)導(dǎo)致粒子的位置更新出現(xiàn)嚴(yán)重偏差,定位精度快速下 降,甚至很快就會(huì)出現(xiàn)定位失敗的情況。APS0算法規(guī)定,在定位過(guò)程中,若智能移動(dòng)終端的 方向角發(fā)生變化并達(dá)到一定的闊值之后,APS0中的粒子將使用自身的方向角進(jìn)行位置計(jì) 算,而不是依賴于傳感器所提供的方向角;步驟007中獲得用戶下一時(shí)刻的預(yù)測(cè)位置,如圖2 所示,具體包括如下步驟:
[0096] 步驟aOl.在地圖上針對(duì)W用戶當(dāng)前位置為圓屯、、預(yù)設(shè)半徑區(qū)域內(nèi),設(shè)置N個(gè)粒子所 構(gòu)成的粒子群,分別針對(duì)各個(gè)粒子,獲得當(dāng)前時(shí)刻粒子的橫坐標(biāo)Xn,k、縱坐標(biāo)yn,k和方向角 目n,k,然后進(jìn)入步驟a02;其中,n= {1、···、Ν},xn,k表示第η個(gè)粒子當(dāng)前時(shí)刻粒子的橫坐標(biāo),yn,k 表示第η個(gè)粒子當(dāng)前時(shí)刻粒子的縱坐標(biāo),0n,k表示第η個(gè)粒子當(dāng)前時(shí)刻粒子的方向角。
[0097] 步驟a02.分別針對(duì)各個(gè)粒子,獲得粒子下一時(shí)刻方向角相對(duì)當(dāng)前時(shí)刻方向角的變 化ΔΘ\,Κ及結(jié)合用戶步長(zhǎng)模型,獲得用戶下一時(shí)刻步長(zhǎng)Lk+i,再根據(jù)如下公式,更新獲得 下一時(shí)刻粒子的橫坐標(biāo)Xn,k+1、縱坐標(biāo)yn,k+l和方向角目n,k+l,其中,A 0/ η表示第η個(gè)粒子下一 時(shí)刻方向角相對(duì)當(dāng)前時(shí)刻方向角的變化;
[009引 Xn,k+l = Xn,k+Lk+l · cos目n,k+l
[0099] yn,k+i = yn,k+Lk+i · sin目n,k+i
[0100] 白n'k+l =白n'k+Δ 白'n
[0101] 進(jìn)而分別獲得各個(gè)粒子下一時(shí)刻粒子的橫坐標(biāo)Xn,k+1、縱坐標(biāo)yn,k+l和方向角目n,k+l, 然后進(jìn)入步驟曰〇3。
[0102] 步驟a03.分別針對(duì)當(dāng)前時(shí)刻的前預(yù)設(shè)U個(gè)檢測(cè)時(shí)刻,分別獲得各檢測(cè)時(shí)刻中各個(gè) 粒子與對(duì)應(yīng)檢測(cè)時(shí)刻用戶步行位置之間的歐幾里得距離dn,u,然后進(jìn)入步驟a04;其中,u = {1、、11},山,。表示該1]個(gè)檢測(cè)時(shí)刻中第11個(gè)時(shí)刻、第11個(gè)粒子與對(duì)應(yīng)檢測(cè)時(shí)刻用戶步行位置之 間的歐幾里得距離。
[0103] 步驟a04.分別針對(duì)各個(gè)粒子,獲得粒子分別對(duì)應(yīng)該U個(gè)檢測(cè)時(shí)刻歐幾里得距離中 的最小值,作為該粒子的經(jīng)驗(yàn)值,進(jìn)而分別獲得各個(gè)粒子的經(jīng)驗(yàn)值Pn;同時(shí),將所有粒子對(duì) 應(yīng)該U個(gè)檢測(cè)時(shí)刻歐幾里得距離中的最小,作為粒子同伴的經(jīng)驗(yàn)值G,然后進(jìn)入步驟a05。
[0104] 步驟a05.分別獲得各個(gè)粒子的當(dāng)前坐標(biāo)位置gn,k,然后分別針對(duì)各個(gè)粒子,根據(jù)如 下公式,獲得粒子在第k+1時(shí)刻的粒子權(quán)重Wn,k+1,進(jìn)而分別獲得各個(gè)粒子在第k+1時(shí)刻的粒 子權(quán)重ω η, k+1,然后進(jìn)入步驟a06。
[0105]
[0106] 式中,bi和b2為預(yù)設(shè)常系數(shù),?·(ξ)是一個(gè)取隨機(jī)值的函數(shù),ωη,k+1表示第η個(gè)粒子在 第k+1時(shí)刻的粒子權(quán)重,gn,k表示第η個(gè)粒子在當(dāng)前時(shí)刻下的坐標(biāo)位置,包括粒子的橫坐標(biāo)和 縱坐標(biāo)。
[0107] 步驟a06.根據(jù)如下公式,獲得用戶下一時(shí)刻的預(yù)測(cè)位置Xk+1,
[010 引
[0109] 式中,no;rm( Wn,k+1)表示針對(duì)Wn,k+1的標(biāo)準(zhǔn)化。
[0110] 步驟008.獲得用戶當(dāng)前時(shí)刻方向角與用戶上一時(shí)刻方向角之間的差值ΔΘ,判斷 A Θ是否小于等于預(yù)設(shè)角度下限闊值θι,是則針對(duì)大于0的S進(jìn)行清零,并進(jìn)入步驟014;否則 進(jìn)入步驟009。
[0111] 步驟009.判斷ΔΘ是否小于預(yù)設(shè)角度上限闊值0h,是則根據(jù)用戶的當(dāng)前時(shí)刻位置, 采用自適應(yīng)粒子群優(yōu)化算法(APS0),結(jié)合用戶上一時(shí)刻的方向角,W及用戶步長(zhǎng)模型,更新 獲得用戶下一時(shí)刻的預(yù)測(cè)位置,同時(shí)針對(duì)大于0的S進(jìn)行清零,并進(jìn)入步驟014;否則進(jìn)入步 驟010。其中,步驟009中獲得用戶下一時(shí)刻的預(yù)測(cè)位置,具體按照步驟007中步驟aOl-步驟 a06進(jìn)行執(zhí)行,獲得用戶下一時(shí)刻的預(yù)測(cè)位置。
[0112] 步驟010.判斷S是否等于第一預(yù)設(shè)時(shí)限闊值Ti,是則進(jìn)入步驟011;否則用S的值加 1針對(duì)S進(jìn)行更新,接著根據(jù)用戶的當(dāng)前位置,采用自適應(yīng)粒子群優(yōu)化算法(APS0),結(jié)合用戶 上一時(shí)刻的方向角,W及用戶步長(zhǎng)模型,更新獲得用戶下一時(shí)刻的預(yù)測(cè)位置,同時(shí)更新用戶 當(dāng)前時(shí)刻的方向角為上一時(shí)刻的方向角,并進(jìn)入步驟014;其中,Τι >2。
[0113] 步驟Oil.暫定針對(duì)用戶步行位置的定位,初始化參數(shù)Υ = 0,然后進(jìn)入下一時(shí)刻,并 進(jìn)入步驟012。
[0114] 步驟012.獲得用戶當(dāng)前時(shí)刻方向角與用戶上一時(shí)刻方向角之間的差值ΔΘ,判斷 A θ是否小于等于預(yù)設(shè)角度下限闊值θι,是則用Υ的值加1針對(duì)Υ進(jìn)行更新,并進(jìn)入步驟013; 否則針對(duì)大于0的Υ進(jìn)行清零,并進(jìn)入步驟013。
[0115] 步驟013.判斷Υ是否等于第二預(yù)設(shè)時(shí)限闊值Τ2,是則初始化用戶的當(dāng)前時(shí)刻位置, 并返回步驟007;否則進(jìn)入下一時(shí)刻,并返回步驟012;其中,Τ2> 2。
[0116] 步驟014.根據(jù)地圖中的可達(dá)區(qū)域和非可達(dá)區(qū)域,判斷用戶當(dāng)前時(shí)刻位置與下一時(shí) 刻預(yù)測(cè)位置之間的連線是否進(jìn)入不可達(dá)區(qū)域,是則進(jìn)入步驟015;否則進(jìn)入下一時(shí)刻,并在 地圖上顯示用戶下一時(shí)刻的預(yù)測(cè)位置,再返回步驟007。
[0117] 步驟015.獲得由用戶當(dāng)前時(shí)刻位置指向下一時(shí)刻預(yù)測(cè)位置的射線,首次與不可達(dá) 區(qū)域邊緣的相交點(diǎn)位置,進(jìn)一步獲得在地圖上可達(dá)區(qū)域內(nèi)與該相交點(diǎn)位置之間路程最近的 道路交點(diǎn)位置,將該道路交點(diǎn)位置更新作為用戶下一時(shí)刻的預(yù)測(cè)位置,然后進(jìn)入下一時(shí)刻, 并在地圖上顯示用戶下一時(shí)刻的預(yù)測(cè)位置,實(shí)現(xiàn)用戶步行位置的定位,再返回步驟007。
[0118] 本發(fā)明所設(shè)計(jì)的一種基于慣性測(cè)量單元的用戶步行定位方法,針對(duì)行人進(jìn)行定位 時(shí),不依賴于外在設(shè)備的具體情況,不需要提前建立指紋地圖,不需要專業(yè)的定位設(shè)備,只 需要利用集成有慣性測(cè)量單元的智能移動(dòng)終端,配合定位場(chǎng)景地圖,即可實(shí)現(xiàn)定位應(yīng)用。定 位方案具有很好的普適性,在不同硬件條件的定位場(chǎng)景均可實(shí)現(xiàn)定位應(yīng)用;而且在定位過(guò) 程中,自適應(yīng)粒子群優(yōu)化算法(APS0算法)會(huì)對(duì)慣性測(cè)量單元的數(shù)據(jù)漂移問(wèn)題和定位坐標(biāo)的 穿墻問(wèn)題就行糾正,提高定位精度,一定程度上克服由于慣性測(cè)量單元自身所導(dǎo)致的定位 誤差;并且在定位過(guò)程中,支持智能移動(dòng)終端的姿態(tài)變換,不會(huì)因?yàn)榻K端姿態(tài)的變化導(dǎo)致定 位精度的急劇下降,特別是對(duì)于接聽(tīng)電話、拍攝照片、發(fā)送短信等方向角非連續(xù)變化的情況 有很好的支持,魯棒性很高;不僅如此,整個(gè)基于慣性測(cè)量單元的定位方法是一個(gè)可融合的 定位方案。可W根據(jù)具體定位場(chǎng)景的硬件條件,融合基于射頻信號(hào)技術(shù)的指紋定位和基于 信號(hào)強(qiáng)度的定位。
[0119] 上面結(jié)合附圖對(duì)本發(fā)明的實(shí)施方式作了詳細(xì)說(shuō)明,但是本發(fā)明并不限于上述實(shí)施 方式,在本領(lǐng)域普通技術(shù)人員所具備的知識(shí)范圍內(nèi),還可W在不脫離本發(fā)明宗旨的前提下 做出各種變化。
【主權(quán)項(xiàng)】
1. 一種基于慣性測(cè)量單元的用戶步行定位方法,通過(guò)攜帶慣性測(cè)量單元,實(shí)現(xiàn)針對(duì)用 戶步行位置的定位,其特征在于:所述定位方法包括如下步驟: 步驟001.針對(duì)慣性測(cè)量單元建立終端三維坐標(biāo)系,以及針對(duì)用戶的步行建立行走三維 坐標(biāo)系,然后進(jìn)入步驟002; 步驟002.構(gòu)建用于終端三維坐標(biāo)系與行走三維坐標(biāo)系之間位置轉(zhuǎn)換的旋轉(zhuǎn)矩陣,然后 進(jìn)入步驟003; 步驟003.用戶攜帶慣性測(cè)量單元,分預(yù)設(shè)N次,分別步行預(yù)設(shè)路程,分別獲得N組樣本數(shù) 據(jù),其中,分別針對(duì)各次步行預(yù)設(shè)路程,通過(guò)慣性測(cè)量單元記錄步行的步數(shù),以及按用戶每 走一步對(duì)應(yīng)一個(gè)檢測(cè)時(shí)刻,通過(guò)慣性測(cè)量單元檢測(cè)各時(shí)刻的加速度,再經(jīng)旋轉(zhuǎn)矩陣獲得用 戶各時(shí)刻步行的加速度,分別構(gòu)成各組樣本數(shù)據(jù),然后進(jìn)入步驟004; 步驟004.分別針對(duì)各組樣本數(shù)據(jù)中各時(shí)刻步行的加速度,采用鄰近平均值法更新各時(shí) 刻步行的加速度ak;然后分別針對(duì)各組樣本數(shù)據(jù),獲得用戶步行加速度方差V和各時(shí)刻用戶 的步伐頻率F(k),以及根據(jù)預(yù)設(shè)路程和步行的步數(shù),獲得各步的步長(zhǎng),進(jìn)而分別獲得各組樣 本數(shù)據(jù)分別所對(duì)應(yīng)用戶步行加速度方差V,其中各時(shí)刻用戶的步伐頻率F(k),以及其中各步 的步長(zhǎng),并進(jìn)入步驟005;其中,k表示第k時(shí)刻,ak表示用戶第k時(shí)刻步行的加速度; 步驟005.構(gòu)建用戶步長(zhǎng)公式如下式所示: Lk+i = ^+bF(k)+cV 并根據(jù)各組樣本數(shù)據(jù)分別所對(duì)應(yīng)用戶步行加速度方差V,其中各時(shí)刻用戶的步伐頻率F (k),以及其中各步的步長(zhǎng),采用預(yù)設(shè)訓(xùn)練算法針對(duì)用戶步長(zhǎng)公式就行訓(xùn)練,獲得其中參數(shù) A、b、c的值,進(jìn)而更新構(gòu)成用戶步長(zhǎng)模型Lk+i = A+bF(k)+cV,然后進(jìn)入步驟006; 步驟006.針對(duì)地圖中的物理結(jié)構(gòu),規(guī)劃出可達(dá)區(qū)域和非可達(dá)區(qū)域,并初始化用戶的當(dāng) 前時(shí)刻位置,以及初始化參數(shù)S為0,然后進(jìn)入步驟007; 步驟007.按照用戶每走一步對(duì)應(yīng)一個(gè)檢測(cè)時(shí)刻,通過(guò)慣性測(cè)量單元檢測(cè)當(dāng)前時(shí)刻的方 向角,并經(jīng)旋轉(zhuǎn)矩陣獲得用戶當(dāng)前時(shí)刻的方向角,然后根據(jù)用戶的當(dāng)前時(shí)刻位置,采用自適 應(yīng)粒子群優(yōu)化算法,結(jié)合用戶當(dāng)前時(shí)刻的方向角,以及用戶步長(zhǎng)模型,獲得用戶下一時(shí)刻的 預(yù)測(cè)位置,然后進(jìn)入步驟008; 步驟008.獲得用戶當(dāng)前時(shí)刻方向角與用戶上一時(shí)刻方向角之間的差值ΔΘ,判斷ΔΘ是 否小于等于預(yù)設(shè)角度下限閾值91,是則針對(duì)大于0的S進(jìn)行清零,并進(jìn)入步驟014;否則進(jìn)入 步驟009; 步驟009.判斷ΔΘ是否小于預(yù)設(shè)角度上限閾值0h,是則根據(jù)用戶的當(dāng)前時(shí)刻位置,采用 自適應(yīng)粒子群優(yōu)化算法,結(jié)合用戶上一時(shí)刻的方向角,以及用戶步長(zhǎng)模型,更新獲得用戶下 一時(shí)刻的預(yù)測(cè)位置,同時(shí)針對(duì)大于〇的S進(jìn)行清零,并進(jìn)入步驟014;否則進(jìn)入步驟010; 步驟010.判斷S是否等于第一預(yù)設(shè)時(shí)限閾值h,是則進(jìn)入步驟011;否則用S的值加1針對(duì) S進(jìn)行更新,接著根據(jù)用戶的當(dāng)前位置,采用自適應(yīng)粒子群優(yōu)化算法,結(jié)合用戶上一時(shí)刻的 方向角,以及用戶步長(zhǎng)模型,更新獲得用戶下一時(shí)刻的預(yù)測(cè)位置,同時(shí)更新用戶當(dāng)前時(shí)刻的 方向角為上一時(shí)刻的方向角,并進(jìn)入步驟014;其中,h 2 2; 步驟011.暫定針對(duì)用戶步行位置的定位,初始化參數(shù)Y=〇,然后進(jìn)入下一時(shí)刻,并進(jìn)入 步驟012; 步驟012.獲得用戶當(dāng)前時(shí)刻方向角與用戶上一時(shí)刻方向角之間的差值ΔΘ,判斷ΔΘ是 否小于等于預(yù)設(shè)角度下限閾值91,是則用Y的值加1針對(duì)Y進(jìn)行更新,并進(jìn)入步驟013;否則針 對(duì)大于0的Υ進(jìn)行清零,并進(jìn)入步驟013; 步驟013.判斷Υ是否等于第二預(yù)設(shè)時(shí)限閾值Τ2,是則初始化用戶的當(dāng)前時(shí)刻位置,并返 回步驟007;否則進(jìn)入下一時(shí)刻,并返回步驟012;其中,Τ2 2 2; 步驟014.根據(jù)地圖中的可達(dá)區(qū)域和非可達(dá)區(qū)域,判斷用戶當(dāng)前時(shí)刻位置與下一時(shí)刻預(yù) 測(cè)位置之間的連線是否進(jìn)入不可達(dá)區(qū)域,是則進(jìn)入步驟015;否則進(jìn)入下一時(shí)刻,并在地圖 上顯示用戶下一時(shí)刻的預(yù)測(cè)位置,再返回步驟007; 步驟015.獲得由用戶當(dāng)前時(shí)刻位置指向下一時(shí)刻預(yù)測(cè)位置的射線,首次與不可達(dá)區(qū)域 邊緣的相交點(diǎn)位置,進(jìn)一步獲得在地圖上可達(dá)區(qū)域內(nèi)與該相交點(diǎn)位置之間路程最近的道路 交點(diǎn)位置,將該道路交點(diǎn)位置更新作為用戶下一時(shí)刻的預(yù)測(cè)位置,然后進(jìn)入下一時(shí)刻,并在 地圖上顯示用戶下一時(shí)刻的預(yù)測(cè)位置,實(shí)現(xiàn)用戶步行位置的定位,再返回步驟007。2. 根據(jù)權(quán)利要求1所述一種基于慣性測(cè)量單元的用戶步行定位方法,其特征在于:所屬 用于終端三維坐標(biāo)系與行走三維坐標(biāo)系之間位置轉(zhuǎn)換的旋轉(zhuǎn)矩陣,為模為1,且具有唯一特 征值的矩陣。3. 根據(jù)權(quán)利要求1所述一種基于慣性測(cè)量單元的用戶步行定位方法,其特征在于:所述 步驟004中,分別針對(duì)各組樣本數(shù)據(jù)中各時(shí)刻步行的加速度,采用鄰近平均值法通過(guò)如下公 式,更新各時(shí)刻步行的加速度ak;式中,m為預(yù)設(shè)鄰近檢測(cè)時(shí)間范圍。4. 根據(jù)權(quán)利要求1所述一種基于慣性測(cè)量單元的用戶步行定位方法,其特征在于:所述 步驟004中,分別針對(duì)各組樣本數(shù)據(jù),采用預(yù)設(shè)分類器進(jìn)行訓(xùn)練,獲得用戶步行各個(gè)加速度 所分別對(duì)應(yīng)的各個(gè)加速度期望E(a k),然后根據(jù)如下公式,獲得用戶步行加速度方差V,V = E (ak2)-(E(ak))2 式中,E(ak)表示用戶步行過(guò)程中加速度ak所對(duì)應(yīng)的加速度期望,E(ak 2)表示用戶步行過(guò) 程中加速度ak2所對(duì)應(yīng)的加速度期望。5. 根據(jù)權(quán)利要求1所述一種基于慣性測(cè)量單元的用戶步行定位方法,其特征在于:所述 步驟004中,分別針對(duì)各組樣本數(shù)據(jù),根據(jù)如下公式,獲得各時(shí)刻用戶的步伐頻率F(k),式中,tk+1表示第k+1個(gè)時(shí)刻的時(shí)間,tk表示第k個(gè)時(shí)刻的時(shí)間。6. 根據(jù)權(quán)利要求1所述一種基于慣性測(cè)量單元的用戶步行定位方法,其特征在于:所述 步驟005中,根據(jù)各組樣本數(shù)據(jù)分別所對(duì)應(yīng)用戶步行加速度方差V,其中各時(shí)刻用戶的步伐 頻率F(k),以及其中各步的步長(zhǎng),采用梯度下降訓(xùn)練算法針對(duì)用戶步長(zhǎng)公式進(jìn)行訓(xùn)練,獲得 其中參數(shù)X、b、c的值。7. 根據(jù)權(quán)利要求1所述一種基于慣性測(cè)量單元的用戶步行定位方法,其特征在于:所述 根據(jù)用戶的當(dāng)前位置,采用自適應(yīng)粒子群優(yōu)化算法,結(jié)合用戶當(dāng)前時(shí)刻方向角或者上一時(shí) 刻方向角,以及用戶步長(zhǎng)模型,獲得或更新獲得用戶下一時(shí)刻的預(yù)測(cè)位置,具體包括如下步 驟: 步驟aOl.在地圖上針對(duì)以用戶當(dāng)前位置為圓心、預(yù)設(shè)半徑區(qū)域內(nèi),設(shè)置N個(gè)粒子所構(gòu)成 的粒子群,分別針對(duì)各個(gè)粒子,獲得當(dāng)前時(shí)刻粒子的橫坐標(biāo)Xn, k、縱坐標(biāo)yn, k和方向角θn, k,然 后進(jìn)入步驟a02;其中,n= {1、···、Ν},xn,k表示第n個(gè)粒子當(dāng)前時(shí)刻粒子的橫坐標(biāo),yn,k表示第 η個(gè)粒子當(dāng)前時(shí)刻粒子的縱坐標(biāo),Θ n, k表示第η個(gè)粒子當(dāng)前時(shí)刻粒子的方向角; 步驟a02.分別針對(duì)各個(gè)粒子,獲得粒子下一時(shí)刻方向角相對(duì)當(dāng)前時(shí)刻方向角的變化△ θ'n,以及結(jié)合用戶步長(zhǎng)模型,獲得用戶下一時(shí)刻步長(zhǎng)Lk+1,再根據(jù)如下公式,更新獲得下一 時(shí)刻粒子的橫坐標(biāo)Xn,k+i、縱坐標(biāo)y n,k+i和方向角9n,k+i,其中,Δ θ'"表不第η個(gè)粒子下一時(shí)刻 方向角相對(duì)當(dāng)前時(shí)刻方向角的變化; Xn,k+1 - Xn,k+Lk+1 · COS0n,k+l yn,k+l = yn,k+Lk+l · sin9n,k+i 9n,k+l=9n,k+ A Θ n 進(jìn)而分別獲得各個(gè)粒子下一時(shí)刻粒子的橫坐標(biāo)xn,k+1、縱坐#yn,k +1和方向角0",1{+1,然后 進(jìn)入步驟a03; 步驟a03 .分別針對(duì)當(dāng)前時(shí)刻的前預(yù)設(shè)U個(gè)檢測(cè)時(shí)刻,分別獲得各檢測(cè)時(shí)刻中各個(gè)粒子 與對(duì)應(yīng)檢測(cè)時(shí)刻用戶步行位置之間的歐幾里得距離dn,u,然后進(jìn)入步驟a04;其中,u={l、、 U},dn,u表示該U個(gè)檢測(cè)時(shí)刻中第u個(gè)時(shí)刻、第η個(gè)粒子與對(duì)應(yīng)檢測(cè)時(shí)刻用戶步行位置之間的 歐幾里得距離; 步驟a04.分別針對(duì)各個(gè)粒子,獲得粒子分別對(duì)應(yīng)該U個(gè)檢測(cè)時(shí)刻歐幾里得距離中的最 小值,作為該粒子的經(jīng)驗(yàn)值,進(jìn)而分別獲得各個(gè)粒子的經(jīng)驗(yàn)值Pn;同時(shí),將所有粒子對(duì)應(yīng)該U 個(gè)檢測(cè)時(shí)刻歐幾里得距離中的最小,作為粒子同伴的經(jīng)驗(yàn)值G,然后進(jìn)入步驟a05; 步驟a05.分別獲得各個(gè)粒子的當(dāng)前坐標(biāo)位置gn,k,然后分別針對(duì)各個(gè)粒子,根據(jù)如下公 式,獲得粒子在第k+Ι時(shí)刻的粒子權(quán)重ω n, k+i,進(jìn)而分別獲得各個(gè)粒子在第k+Ι時(shí)刻的粒子權(quán) 重ω n, k+1,然后進(jìn)入步驟a〇6;式中,匕和132為預(yù)設(shè)常系數(shù),fU)是一個(gè)取隨機(jī)值的函數(shù),con,k+1表示第 n個(gè)粒子在第k+1 時(shí)刻的粒子權(quán)重,gn, k表示第η個(gè)粒子在當(dāng)前時(shí)刻下的坐標(biāo)位置,包括粒子的橫坐標(biāo)和縱坐 標(biāo); 步驟a06.根據(jù)如下公式,獲得用戶下一時(shí)刻的預(yù)測(cè)位置Xk+1,式中,norm( c〇n,k+1)表示針對(duì)con,k+1的標(biāo)準(zhǔn)化。
【文檔編號(hào)】G01C21/16GK105823483SQ201610308337
【公開(kāi)日】2016年8月3日
【申請(qǐng)日】2016年5月11日
【發(fā)明人】徐小龍, 王屹進(jìn), 孫雁飛, 徐佳, 王勇
【申請(qǐng)人】南京郵電大學(xué)