本發(fā)明涉及行人航位推算領(lǐng)域,具體地,涉及一種云端步長估計方法。
背景技術(shù):
pdr(pedestriandeadreckoning,行人航位推算)是一種行人航位推算的定位技術(shù)。根據(jù)人行走的每一步距離和行走方向推算出下一個定位位置,非常適合在衛(wèi)星信號中斷的環(huán)境中(比如商場,醫(yī)院)繼續(xù)定位,提升定位的有效率。該技術(shù)主要利用手機(jī)內(nèi)置mems傳感器(三軸陀螺儀,三軸加速度計和三軸磁傳感器),通過傳感器數(shù)據(jù)融合估計出行人方向以及行人每一步步長,可以實(shí)現(xiàn)室內(nèi)定位。由于每個人的身高,體重等不同,使用統(tǒng)一的步長模型無法準(zhǔn)確估計出不同人的步長,使得pdr定位精度大大降低。目前步長估計的方法主要是通過線性擬合的方法估計出步長與步頻的線性關(guān)系。但這種通用的線性模型無法適用于所有人。本發(fā)明主要通過手機(jī)采集每個人的步頻以及運(yùn)動能量,發(fā)送到云端,在云端訓(xùn)練出適用于手機(jī)持有者的步長模型。
現(xiàn)有技術(shù)是利用行人的步頻估計出統(tǒng)一的步長模型,但是此種方法并不適用于所有人,主要原因是每個人的身高,體重,行走步態(tài)都不一樣,沒法用統(tǒng)一的模型去適配所有人。
技術(shù)實(shí)現(xiàn)要素:
針對現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明提出了一種云端步長估計方法,利用智能手機(jī)上低成本的加速度計和云端服務(wù)器,解決了步長估計的技術(shù)問題。
本發(fā)明采用的技術(shù)方案是:
一種云端步長估計方法,其特征在于,包括以下步驟:
步驟s1,手機(jī)的加速度計測量出加速度;根據(jù)計步器原理計算出每一步之間的時間間隔,即步頻;計算出1秒時間內(nèi)加速度計標(biāo)準(zhǔn)差及加速度計方差;
步驟s2,根據(jù)衛(wèi)星導(dǎo)航系統(tǒng)的定位位置計算出兩點(diǎn)之間的距離;
步驟s3,根據(jù)計步器原理計算出任意兩個時間間隔內(nèi)檢測的步數(shù);計算出兩個時間間隔內(nèi)的平均步長;
步驟s4,手機(jī)將步頻、加速度計方差和平均步長通過網(wǎng)絡(luò)發(fā)送到云端服務(wù)器;云端服務(wù)器計算出步長模型,并將步長模型的參數(shù)發(fā)送給手機(jī)。
進(jìn)一步地,所述步驟s1中加速度計標(biāo)準(zhǔn)差及加速度計方差通過滑動窗口計算。
進(jìn)一步地,所述加速度計標(biāo)準(zhǔn)差為s,計算公式如下:
其中,axi,ayi和azi分別代表加速度計測量出的x軸,y軸和z軸的加速度;μ為地球重力加速度,取值9.8m/s2;n表示加速度計測量出的加速度的數(shù)量;
所述加速度計方差為s2。
進(jìn)一步地,所述步驟s2中衛(wèi)星導(dǎo)航系統(tǒng)包括gps或者北斗。
進(jìn)一步地,所述步驟s2中兩點(diǎn)分別為p1和p2,p1點(diǎn)經(jīng)緯度為(n1,e1),p2點(diǎn)經(jīng)緯度為(n2,e2),p1點(diǎn)和p2點(diǎn)之間的距離計算公式如下:
其中,a=6378137.0,b=6356752.3142,dis為p1點(diǎn)和p2點(diǎn)之間的距離。
進(jìn)一步地,p1點(diǎn)為t1時刻定位位置,并且計步器輸出的步數(shù)為l1;p2點(diǎn)為t2時刻定位位置,并且計步器輸出的步數(shù)為l2;所述步驟s3中平均步長的計算公式如下:
其中,stride為平均步長。
進(jìn)一步地,所述步驟s4中網(wǎng)絡(luò)包括wifi、2g、3g或者4g,云端服務(wù)器利用接收到的數(shù)據(jù)通過梯度下降算法計算出步長模型。
進(jìn)一步地,所述步長模型的計算公式如下:
y=a0+a1*f+a2*f2+a3*v+a4*v2+a5*e-f
其中f表示步頻;v表示加速度計方差;a0、a1、a2、a3、a4、a5是通過梯度下降算法得出的系數(shù)。
進(jìn)一步地,所述平均步長的計算公式替換如下:
本發(fā)明有益效果在于,計算出適配于不同人的步長估計模型,最終達(dá)到步長估計的精度誤差小于5%。
附圖說明
圖1是本發(fā)明技術(shù)方案圖。
具體實(shí)施方式
下文中,結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步闡述。如圖1所示,本發(fā)明將手機(jī)通過低通濾波采集的特征數(shù)據(jù)步頻,加速度計方差以及平均步長通過網(wǎng)絡(luò)發(fā)送到云端服務(wù)器,在云端服務(wù)器通過梯度下降算法估計出步長模型,然后將步長模型參數(shù)發(fā)送給手機(jī),實(shí)現(xiàn)云端服務(wù)器一體化,具體步驟如下:
步驟s1,手機(jī)的加速度計用來測量加速度。當(dāng)用戶處于走路或者跑步狀態(tài)下,隨著人體軀干或者手臂擺動而產(chǎn)生規(guī)律性的信號。通過傳統(tǒng)的計步器原理可以計算出每一步之間的時間間隔,即步頻;通過滑動窗口計算出1秒時間內(nèi)加速度計標(biāo)準(zhǔn)差s及加速度計方差(加速度計方差為s2),其中加速度計標(biāo)準(zhǔn)差s計算公式如下:
其中,axi,ayi和azi分別代表加速度計測量出的x軸,y軸和z軸的加速度;μ為地球重力加速度,取值9.8m/s2;n表示加速度計測量出的加速度的數(shù)量。
步驟s2,根據(jù)衛(wèi)星導(dǎo)航系統(tǒng)(gps或者bd(北斗))的定位位置計算出兩點(diǎn)p1和p2之間的距離,假設(shè)p1點(diǎn)經(jīng)緯度為(n1,e1),p2點(diǎn)經(jīng)緯度為(n2,e2),p1點(diǎn)和p2點(diǎn)之間的距離計算公式如下:
其中,a=6378137.0,b=6356752.3142,dis為p1點(diǎn)和p2點(diǎn)之間的距離。
步驟s3,根據(jù)計步器原理計算出任意兩個時間間隔內(nèi)檢測的步數(shù),如果在t1時刻定位位置為p1點(diǎn),并且計步器輸出的步數(shù)為l1;在t2時刻定位位置為p2點(diǎn),并且計步器輸出的步數(shù)為l2,那么可以計算出在t1和t2時間間隔內(nèi)的平均步長,計算公式如下:
其中,stride為平均步長。
可選地,所述平均步長的計算公式替換如下:
可選地,所述平均步長的計算公式替換為,根據(jù)計步器計算出步頻,利用最小二乘擬合出步頻與平均步長的線性關(guān)系。
步驟s4,在手機(jī)上將步頻、加速度計方差和平均步長通過手機(jī)網(wǎng)絡(luò)(wifi、2g、3g或者4g)發(fā)送到云端服務(wù)器。云端服務(wù)器利用接收到的數(shù)據(jù)通過梯度下降算法計算出步長模型,并將步長模型的參數(shù)發(fā)送給手機(jī),步長模型計算公式如下:
y=a0+a1*f+a2*f2+a3*v+a4*v2+a5*e-f
其中f表示步頻;v表示加速度計方差;a0、a1、a2、a3、a4、a5是通過梯度下降算法得出的系數(shù)。
在本發(fā)明中,利用c語言進(jìn)行算法實(shí)現(xiàn),并通過測試數(shù)據(jù)處理驗證了算法的性能。
本發(fā)明雖然已以較佳實(shí)施例公開如上,但其并不是用來限定本發(fā)明,任何本領(lǐng)域技術(shù)人員在不脫離本發(fā)明的精神和范圍內(nèi),都可以利用上述揭示的方法和技術(shù)內(nèi)容對本發(fā)明技術(shù)方案做出可能的變動和修改,因此,凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對以上實(shí)施例所作的任何簡單修改、等同變化及修飾,均屬于本發(fā)明技術(shù)方案的保護(hù)范圍。