本發(fā)明屬于移動定位技術(shù)領(lǐng)域,更具體地,涉及一種基于加速計和GPS的低功耗定位方法。
背景技術(shù):
隨著智能終端(如智能手機、智能手環(huán)、智能手表等)的不斷普及,終端位置獲取已經(jīng)成為一項基本的服務(wù),給地圖定位、位置導(dǎo)航、基于位置的服務(wù)(Location Based Service)等提供基礎(chǔ)條件。
然而,目前智能終端的定位存在兩個重大的缺陷。第一,智能終端定位的功耗非常大,例如智能手機只能支持5小時到6小的連續(xù)GPS定位,智能手環(huán)和智能手表等只能支持不到半天的連續(xù)GPS定位,從而高精度的位置獲取和服務(wù)給終端續(xù)航能力帶來極大的挑戰(zhàn)。第二,在一些建筑物密集、或者有遮擋的地方,如城市市區(qū)和步行購物街等地方,GPS衛(wèi)星信號受到嚴重的遮擋,經(jīng)常定位失敗或者得到錯誤的定位結(jié)果,給上層的位置服務(wù)及應(yīng)用帶來諸多不便。
目前在智能終端上提供的主流定位方法有三種:GPS定位、WIFI定位以及基站定位。其中,GPS定位精度最高,晴朗天氣約10米左右;WIFI定位精度約幾十米到上百米,但需要實現(xiàn)知道各個AP熱點的位置和分布情況;基站定位精度最差,通常數(shù)百米到幾千米,取決于基站信號強度和分布情況。主流定位方法是將GPS定位、WIFI定位、基站定位這三者融合起來,如果可以獲取到GPS位置,就直接使用GPS定位,否則使用WIFI定位,如果WIFI定位也失敗了,則使用基站定位。也就是說,這個方法優(yōu)選GPS定位,會導(dǎo)致GPS一直打開功耗很大;如果GPS定位失敗,備選的WIFI定位和基站定位的精度又不夠高。顯然,這些方法不能很好地處理上文所述的定位功耗較高以及定位精度不高的問題。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)的以上缺陷或改進需求,本發(fā)明提供了一種基于加速計和GPS的低功耗定位方法,其目的在于通過周期性開關(guān)GPS,在GPS定位功能開啟時通過GPS獲得初始定位點,在GPS定位功能關(guān)閉時通過加速計獲得初始定位點,并根據(jù)加速度獲得的三維加速度投影信息進行定位推算,從而在保證定位精度的前提前降低功耗,由此解決現(xiàn)有技術(shù)中定位功耗較高以及定位精度不高的技術(shù)問題。
為實現(xiàn)上述目的,本發(fā)明提供了一種基于加速計和GPS的低功耗定位方法,包括:
(1)如果GPS定位功能為可用狀態(tài),則利用GPS獲得初始定位點,如果GPS定位功能為不可用狀態(tài),則直接利用加速計獲得初始定位點;
(2)采用地圖匹配方法將初始定位點匹配到合適道路上以降低定位誤差,得到匹配后定位點;并將匹配后定位點作為加速計的初始位置;
(3)利用加速計獲得各時刻的實時三維加速度投影信息;
(4)利用加速計的初始位置,以及各時刻的實時三維加速度投影信息,獲得當(dāng)前時刻的定位信息。
本發(fā)明的一個實施例中,所述方法還包括:根據(jù)當(dāng)前道路的出入度信息以及預(yù)設(shè)的誤差累積時間閾值計算GPS工作周期,根據(jù)所述GPS工作周期打開和關(guān)閉GPS。
本發(fā)明的一個實施例中,所述步驟(2)中采用地圖匹配方法將初始定位點匹配到合適道路上以降低定位誤差,得到匹配后定位點,具體為:
獲得連續(xù)N個初始定位點分別到其兩條相鄰道路上的距離Li1和Li2,其中i=1-N,Li1表示第i個初始定位點到第一條道路的距離,Li2表示第i個初始定位點到另二條道路的距離,N為自然數(shù);
根據(jù)所述N個初始定位點分別到其兩條相鄰道路上的距離di1和di2,計算將初始定位點定位到第一條道路上的概率K1和第二條道路上的概率K2;
如果所述K1大于K2,則將初始定位點定位到第一條道路上,如果所述K1小于K2,則將初始定位點定位到第二條道路上,如果所述K1等于于K2,則獲得第N+1個初始定位點到兩條相鄰道路上的距離Li1和Li2,并計算K1和K2直到K1不等于K2。
本發(fā)明的一個實施例中,所述k1=1/(d11d21......dN1),k2=1/(d12d22......dN2)。
本發(fā)明的一個實施例中,所述步驟(3)具體根據(jù)下式計算:
sx(t)=s′x0(t)+∫∫a′x(t)dt
sy(t)=s′y0(t)+∫∫a′y(t)dt,
sz(t)=s′z0(t)+∫∫a′z(t)dt
其中sx(t),sy(t),sz(t)為當(dāng)前時刻的定位信息,(s'x0(t),s'y0(t),s'z0(t))為加速計的初始位置,(a'x,a'y,a'z)為各時刻的實時三維加速度投影信息。
本發(fā)明的一個實施例中,所述實時三維加速度投影信息具體為:
其中,(ax,ay,為加速計獲得的加速度采樣值,g為重力加速度。
本發(fā)明的一個實施例中,所述GPS工作周期為T=T0/M,其中T0為誤差累積時間閾值,M為當(dāng)前道路的出入度。
本發(fā)明的一個實施例中,所述T0為一分鐘。
本發(fā)明的一個實施例中,所述M取值為前向道路的個數(shù)。
總體而言,通過本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有如下有益效果:
(1)本發(fā)明方法通過判斷GPS定位功能的開啟狀態(tài),在GPS定位功能開啟時通過加速計獲得初始定位點,并結(jié)合加速度獲得的三維加速度投影信息進行定位推算,從而在保證定位精度的前提下降低功耗;
(2)本發(fā)明方法周期性開啟GPS定位功能并結(jié)合加速計的定位推算,從而能夠因關(guān)閉GPS定位功能而降低定位功耗,也能通過周期性開啟GPS定位功能而保證較高的定位精度;
(3)本發(fā)明方法根據(jù)當(dāng)前道路的出入度信息以及預(yù)設(shè)的誤差累積時間閾值計算GPS工作周期,根據(jù)所述GPS工作周期打開和關(guān)閉GPS,從而能夠根據(jù)當(dāng)前需定位位置的具體地形信息調(diào)節(jié)開關(guān)周期,進一步保證了低功耗與高精度的平衡;
(4)本發(fā)明方法還結(jié)合地圖匹配方法進行道路匹配,在計算的定位結(jié)果誤差較大的時候,能夠結(jié)合地圖上的實際道路信息進行定位糾正,進一步提高定位精度。
附圖說明
圖1是本發(fā)明實施例中一種低功耗定位方法示意圖;
圖2是本發(fā)明實施例中一種基于加速計和GPS的低功耗定位方法;
圖3是本發(fā)明實施例中定位信息的地圖匹配示意圖;
圖4是本發(fā)明實施例中三軸加速計的結(jié)構(gòu)示意圖;
圖5是本發(fā)明實施例中三軸加速計的角度定義示意圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個實施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。
本發(fā)明提供了一種能夠在保證定位精度的前提下降低功耗的定位方法,如圖1所示,主要工作過程包括以下方面:
A、位移計算:終端上集成加速計,來感知X、Y、Z三個方向的加速度的變化,在短時間內(nèi)進行積分,就能得到終端的運動速度和位移變化。
B、GPS定位和校正:如果GPS定位功能可用,則首先使用GPS定位,獲取GPS位置。然后,將GPS位置匹配到合適的道路上,來降低GPS誤差;最后,對終端的運動位置進行校正,提供一個可靠的位置參考點。
C、低功耗定位:為了降低整體定位功耗,需要周期性關(guān)閉GPS模塊,利用加速計定位來降低功耗。首先,通過地圖API接口,加載當(dāng)前地圖道路矢量,根據(jù)當(dāng)前道路復(fù)雜度,計算合適的GPS開啟、關(guān)閉時間,更新GPS工作周期。其次,在GPS關(guān)閉時間,將位置參考點投影到地圖,進行地圖匹配。最后,用運動位移和方向來做定位推算。這段過程也可以稱為主動定位。
D、位置失鎖定位:如果GPS定位失敗,直接進行地圖匹配和定位推算,得到當(dāng)前位置。這段過程也可以稱為被動定位。
為了實現(xiàn)上述目的,如圖2所示本發(fā)明提供了一種基于加速計和GPS的低功耗定位方法,包括如下步驟:
(1)如果GPS定位功能為可用狀態(tài),則利用GPS獲得初始定位點,如果GPS定位功能為不可用狀態(tài),則直接利用加速計獲得初始定位點;
在本發(fā)明實施例中,為了降低整體定位功耗,需要周期性關(guān)閉GPS模塊,利用加速計定位來降低功耗。
為了降低系統(tǒng)功耗,應(yīng)該盡可能少打開GPS,使用功耗較低的加速計來計算。但是,加速計使用兩次積分,時間長了會有比較大的累積誤差,造成定位誤差較大。而且,如果當(dāng)前道路比較復(fù)雜,例如有非常多的轉(zhuǎn)彎情況,也會給系統(tǒng)引入新的誤差。也就是說,GPS工作周期與加速計定位時間間隔、以及當(dāng)前道路的復(fù)雜程度都密切相關(guān)。
具體地,假設(shè)經(jīng)過T0時間加速計的累積誤差就比較大,通過地圖API得到當(dāng)前道路的出入度為M,這設(shè)置GPS工作周期為T=T0/N。其中,一般取T0=1分鐘。M的取值設(shè)置為前向道路的個數(shù),例如:如果道路前向有兩條支路,則取N=2。
在本發(fā)明實施例中,可以根據(jù)當(dāng)前道路的出入度信息以及預(yù)設(shè)的誤差累積時間閾值計算GPS工作周期,根據(jù)所述GPS工作周期打開和關(guān)閉GPS;
如果當(dāng)前到了GPS定位周期,而且GPS定位功能可用,則讀取GPS位置g(gx,gy,gz)作為初始定位點;如果不處于GPS定位周期或者GPS定位功能不可用,則繼續(xù)使用加速計獲得的的位置信息作為初始定位點;
(2)采用地圖匹配方法將初始定位點匹配到合適道路上以降低定位誤差,得到匹配后定位點;并將匹配后定位點作為加速計的初始位置;
GPS定位位置平均有10米定位誤差,得到的定位點g(gx,gy,gz)可能不是剛好落在道路上,一般會在道路附近波動,可以使用地圖匹配的方法,將定位點匹配到合適的道路上,降低定位誤差;
具體地,獲得連續(xù)N個初始定位點分別到其兩條相鄰道路上的距離Li1和Li2,其中i=1-N,Li1表示第i個初始定位點到第一條道路的距離,Li2表示第i個初始定位點到另二條道路的距離,N為自然數(shù);
根據(jù)所述N個初始定位點分別到其兩條相鄰道路上的距離di1和di2,計算將初始定位點定位到第一條道路上的概率K1和第二條道路上的概率K2;
如果所述K1大于K2,則將初始定位點定位到第一條道路上,如果所述K1小于K2,則將初始定位點定位到第二條道路上,如果所述K1等于于K2,則獲得第N+1個初始定位點到兩條相鄰道路上的距離Li1和Li2,并計算K1和K2直到K1不等于K2;
例如如圖3所示,假設(shè)有兩條道路r1和r2,得到連續(xù)三個位置點p1,p2,p3。由于存在一些定位誤差,這三個位置點沒有剛好落在道路r1和r2上。為了確定三個位置點應(yīng)該是在哪一條道路上,需要進行地圖匹配。具體匹配算法如下:
首先將三個位置點p1,p2,p3分別將兩條道路r1和r2做投影線,得到各個位置點到兩條道路r1和r2的距離為d11,d21,d31,d12,d22,d32。直觀上可以發(fā)現(xiàn),如果位置點距離某條道路越近,則越有可能是該道路上的點。因此三個位置點p1,p2,p3在道路r1上的概率分別設(shè)置為1/d11,1/d21,1/d31。從而,三個點同時在道路r1上的概率為k1=1/(d11d21d31)。同理,三個點同時在道路r2上的概率為k2=1/(d12d22d32)。
比較兩個概率k1=1/(d11d21d31)和k2=1/(d12d22d32)的大小,如果k1>k2則認為三個點都在道路r1上,如果k1<k2則認為三個點都在道路r2上。特別地,如果k1=k2則添加新的位置點p4,按照上述方面重新計算,直至k1≠k2為止。
更新加速計的初始位置,即校正加速計位置s0(sx0,sy0,sz0)=g'(gx,gy,gz),其中g(shù)'(gx,gy,gz)為地圖匹配后的GPS定位位置。最后,關(guān)閉GPS模塊來降低系統(tǒng)能耗。
(3)利用加速計獲得各時刻的實時三維加速度投影信息;
具體地,可以在智能終端上集成加速計,通過調(diào)用加速計的API函數(shù),讀取三軸加速度傳感器的X、Y、Z軸的值。其中,三個軸的方向通常定義為:X軸指著左右橫向,Y軸指向上下豎向,Z軸垂直于面板方向,如圖4所示。考慮到加速計芯片的焊接位置可能與實際的方向有所不同。此時,需要進行左右、前后、上下移動,確定各個軸對應(yīng)的方向;
上面步驟采集的X、Y、Z軸方向都是與智能終端的面板方向相關(guān)聯(lián),但在實際操作中,智能終端不一定是水平放置,可能與水平面有一定夾角。例如,用戶可以把終端放在手上,與水平面就會存在一定的夾角。因此,需要把采集到的X、Y、Z軸加速度投影到水平面上,來更好地感知運動狀態(tài)變化;
圖5所示是加速度各個角度的定義,通常將繞X軸旋轉(zhuǎn)的角度定義為翻轉(zhuǎn)角(Roll angle),繞Y軸旋轉(zhuǎn)的角度定義為俯仰角(Pitch angle),繞Z軸旋轉(zhuǎn)的角度定位為偏航角(Yaw angle);
為了將加速度采樣值(ax,ay,az)投影到水平面、豎直方向所在空間,需要先計算出俯仰角p和翻轉(zhuǎn)角r:
p=arcsin(-ax/g)
r=arcsin(ay/(g cos p))
其中,g為地球表面豎直方向加速度常量9.8m/s2;
從而,得到水平面、豎直方向所在空間的三維加速度投影(a'x,a'y,a'z)為:
(4)利用加速計的初始位置,以及各時刻的實時三維加速度投影信息,獲得當(dāng)前時刻的定位信息。
通過在智能終端上集成的加速計來感知X、Y、Z三個方向的加速度的變化,在短時間內(nèi)進行積分,就能得到終端的運動速度和位移變化。
將X、Y、Z三個方向的加速度進行兩次積分,得到所在方向的位置變化
sx(t)=s′x0(t)+∫∫a′x(t)dt
sy(t)=s′y0(t)+∫∫a′y(t)dt
sz(t)=s′z0(t)+∫∫a′z(t)dt
其中,其中sx(t),sy(t),sz(t)為當(dāng)前時刻的定位信息,(s'x0(t),s'y0(t),s'z0(t))為加速計的初始位置,(a'x,a'y,a'z)為各時刻的實時三維加速度投影信息。
本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。