一種基於周期性開關GPS的低功耗定位方法與流程
2023-05-15 00:05:31 2

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