本發(fā)明涉及涉及衛(wèi)星導航定位技術。
背景技術:
隨著導航定位技術的發(fā)展,導航定位在日常生活中日漸普及,但是受天氣和使用環(huán)境的影響,經常發(fā)生南轅北轍的情況,定位精度的高低直接影響導航的結果。本發(fā)明裝置支持北斗和GPS衛(wèi)星定位裝置的接入,通過陀螺儀、加速度計和磁力計確立定位載體的方向,角速度和加速度,經計算校正最終輸出定位載體的經緯度和高度信息,經實際定位測試誤差小于1米。
目前為了解決定位誤差過大的問題,而發(fā)射更多的導航定位衛(wèi)星。發(fā)射更多的導航定位衛(wèi)星固然可以提高導航定位的精度,但是成本高,在接收導航定位衛(wèi)星信號比較差的環(huán)境,導航定位的精度仍很難保證。
故,需要一種新的技術方案以解決上述問題。
技術實現要素:
本發(fā)明的目的在于克服上述方案的缺點,通過陀螺儀、加速度計和磁力計確立定位載體的方向,角速度和加速度,經計算校正最終輸出定位載體的經緯度和高度信息。
為實現上述目的,本發(fā)明可采用如下技術方案:
一種高精度衛(wèi)星定位的實現方法,包括以下步驟:
(1)、在定位載體上設置高精度定位裝置;該高精度定位裝置中包括處理器、輸入串口、輸入串口波特率撥碼開關、輸入串口協(xié)議撥碼開關、輸出串口、輸出串口波特率撥碼開關、輸出串口協(xié)議撥碼開關;所述輸入串口、輸入串口波特率撥碼開關、輸入串口協(xié)議撥碼開關、輸出串口、輸出串口波特率撥碼開關、輸出串口協(xié)議撥碼開關均與處理器電性連接;其特征在于:還包括陀螺儀、加速度計、磁力計,陀螺儀、加速度計、磁力計也與處理器電性連接;
(2)、采集陀螺儀、加速度計和磁力計的數據,采用陀螺儀和加速度計互為校正確立定位載體的各軸向的角度和加速度,最后結合磁力計計算各方向上的位移;
(3)、解析北斗/GPS通信協(xié)議,獲取當前定位載體的經緯度和高度信息;
(4)、計算輸出定位載體的經緯度和高度信息。
相對與現有技術,本發(fā)明具有如下優(yōu)點:
1)導航定位精度高,經實際定位測試誤差小于1米;
2)本發(fā)明裝置體積較小,便于安裝,直接串聯在串口線上即可;
3)支持多種衛(wèi)星導航定位協(xié)議,如:NAEA-0183、NAEA-0180和NAEA-0182等;
4)通過設置輸入串口波特率和協(xié)議撥碼開關可以支持不同廠家的衛(wèi)星導航定位設備;
5)通過設置輸出串口波特率和協(xié)議撥碼開關,可以和現有系統(tǒng)實現無縫對接,不需任何軟件修改。
附圖說明
圖1是本發(fā)明中高精度定位裝置的結構示意圖。
圖2是本發(fā)明中軟件模塊的關系示意圖。
圖3是傳感器采集計算模塊工作流程圖。
圖4是北斗/GPS協(xié)議解析模塊工作流程圖。
圖5是計算校正輸出模塊工作流程圖。
具體實施方式
下面結合附圖,進一步闡明本發(fā)明,應理解這些實施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍,在閱讀了本發(fā)明之后,本領域技術人員對本發(fā)明的各種等價形式的修改均落于本申請所附權利要求所限定的范圍。
本發(fā)明公開一種高精度衛(wèi)星定位的實現方法,包括以下步驟:
(1)、如圖1所示,在定位載體上設置高精度定位裝置;該高精度定位裝置中包括處理器、輸入串口、輸入串口波特率撥碼開關、輸入串口協(xié)議撥碼開關、輸出串口、輸出串口波特率撥碼開關、輸出串口協(xié)議撥碼開關;所述輸入串口、輸入串口波特率撥碼開關、輸入串口協(xié)議撥碼開關、輸出串口、輸出串口波特率撥碼開關、輸出串口協(xié)議撥碼開關均與處理器電性連接;其特征在于:還包括陀螺儀、加速度計、磁力計,陀螺儀、加速度計、磁力計也與處理器電性連接;
(2)、采集陀螺儀、加速度計和磁力計的數據,采用陀螺儀和加速度計互為校正確立定位載體的各軸向的角度和加速度,最后結合磁力計計算各方向上的位移;
(3)、解析北斗/GPS通信協(xié)議,獲取當前定位載體的經緯度和高度信息;
(4)、計算輸出定位載體的經緯度和高度信息。
其中,步驟(2)至步驟(4)中,需要設置軟件模塊進行實現,軟件模塊包括傳感器采集計算模塊、北斗/GPS協(xié)議解析模塊、計算校正輸出模塊,各模塊之間的關系如圖2所示。
傳感器采集計算模塊負責采集陀螺儀、加速度計和磁力計的數據,加速度計讀數受振動影響較大,采用陀螺儀和加速度計互為校正確立定位載體的各軸向的角度和加速度,最后結合磁力計計算各方向上的位移,其實現過程如圖3,即實現步驟(2),該步驟(2)中,包括如下細分步驟:
(2a)讀取加速度傳感器的當前值:AxADCn、AyADCn、AzADCn,讀取時間:T1、T2、T3,最后一次讀取時間:T1n、T2n、T3n;
(2b)讀取陀螺儀傳感器的當前值:∠xADCn、∠yADCn、∠zADCn;
(2c)重復步驟(2a)和(2b)100次并將其累計后,求其平均值分別為:AxADC、AyADC、AzADC和∠xADC、∠yADC、∠zADC;
(2d)分別將AxADC、AyADC、AzADC代入(ADC*Vref/1023-Vzg)/S計算得到Rx、Ry、Rz方向上的加速度;
上式中ADC為AxADC、AyADC、AzADC;
Vref為傳感器的參考電壓;
1023為2^傳感器的分辨率位數-1計算得到,如當前傳感器分辨率為10,固有2^10-1=1023;
Vzg為傳感器的零加速度的電壓值;
S為傳感器的靈敏度;
(2e)由三維空間勾股定理通過Rx、Ry、Rz可以計算得到X、Y和Z軸的角度∠X1、∠Y1、∠Z1;
(2f)和步驟(2d)中的公式類似可以計算出陀螺儀傳感器在X、Y和Z軸的角度∠X2、∠Y2、∠Z2;
(2g)計算比較∠X1/∠X2、∠Y1/∠Y2、∠Z1/∠Z2的值,如果3個值都在1以內繼續(xù),否則重復(2a)~(2g);
(2h)由位移=VoT+1/2*A*T^2令Vo為0,T=T1n-T1,將Rx、Ry、Rz代入,計算各軸的位移:Sx、Sy、Sz;
(2i)采集磁力計的當前值,計算校正各軸的角度得到角度∠x、∠y、∠z。
北斗/GPS協(xié)議解析模塊負責解析北斗/GPS通信協(xié)議,獲取當前定位載體的經緯度和高度信息,其實現過程如圖4,即實現步驟(3),該步驟(3)中,包括如下細分步驟:
(3a)建立環(huán)形數據緩沖區(qū);
(3b)將輸入串口的數據存入環(huán)形數據緩沖區(qū),同時移動保存數據位置指針,當保存數據位置指針移到環(huán)形數據緩沖區(qū)末尾時,令保存數據位置指針指向環(huán)形數據緩沖區(qū)頭;
(3c)從環(huán)形數據緩沖區(qū)首位置讀取數據,解析數據,同時移動讀取數據位置指針,當讀取數據位置指針移到環(huán)形數據緩沖區(qū)末尾時,令讀取數據位置指針指向環(huán)形數據緩沖區(qū)頭;
(3d)將解析出來的經緯度和高度信息保存到X、Y、Z。
計算校正輸出模塊將傳感器采集計算模塊輸出的位移信息:Sx、Sy、Sz,角度信息:∠x、∠y、∠z,加速度信息:Rx、Ry、Rz和北斗/GPS協(xié)議解析模塊輸出的經緯度和高度信息:X、Y、Z,進行互為校正,最終計算輸出定位載體的經緯度和高度信息,其實現過程如圖5所示,即實現步驟(4),該步驟(4)中,包括如下細分步驟:
(4a)讀取位移信息:Sx、Sy、Sz,角度信息:∠x、∠y、∠z,加速度信息:Rx、Ry、Rz,經緯度和高度信息:X、Y、Z分別存入緩沖區(qū):FSx、FSy、FSz、F∠x、F∠y、F∠z、FRx、FRy、FRz、Fx、Fy、Fz;
(4b)讀取位移信息:Sx、Sy、Sz,角度信息:∠x、∠y、∠z,加速度信息:Rx、Ry、Rz,經緯度和高度信息:X、Y、Z;
(4c)將Sx、Sy、∠x、∠y、Fx、Fy代入下式
Xn=Fx+Sx*cos(∠x);
Yn=Fy+Sy*sin(∠y);
(4d)根據Xn、Yn和高斯算法計算出新點的經緯度和高度:X2,Y2,Z2;
(4e)根據Sx、Sy、Sz、∠x、∠y、∠z、Rx、Ry、Rz、X、Y、Z與FSx、FSy、FSz、F∠x、F∠y、F∠z、FRx、FRy、FRz、Fx、Fy、Fz計算判斷X、Y、Z的合法性;若合法根據X2、Y2、Z2、X、Y和Z計算后,按照輸出串口協(xié)議和波特率輸出定位載體的經緯度和高度信息;若不合法直接將X2、Y2和Z2按照輸出串口協(xié)議和波特率輸出定位載體的經緯度和高度信息。
綜上所述,本發(fā)明的關鍵點是利用陀螺儀、加速度計和磁力計計算當前定位載體的方向,角速度和加速度信息,與北斗/GPS解析出來的經緯度和高度信息進行互為校正最終輸出定位載體的經緯度和高度信息。
本發(fā)明應用于高精度導航定位的場合,體現了如下優(yōu)點:
1)導航定位精度高,經實際定位測試誤差小于1米;
2)本發(fā)明裝置體積較小,便于安裝,直接串聯在串口線上即可;
3)支持多種衛(wèi)星導航定位協(xié)議,如:NAEA-0183、NAEA-0180和NAEA-0182等;
4)通過設置輸入串口波特率和協(xié)議撥碼開關可以支持不同廠家的衛(wèi)星導航定位設備;
5)通過設置輸出串口波特率和協(xié)議撥碼開關,可以和現有系統(tǒng)實現無縫對接,不需任何軟件修改。