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