戴秋龍+吳憲君+項(xiàng)順伯
【摘 要】為了更直觀、清晰地闡述北斗定位三球交匯的原理,采用3DsMax建模和Unity 3D三維引擎開(kāi)發(fā)了北斗三球交匯定位求解過(guò)程的虛擬仿真系統(tǒng),實(shí)現(xiàn)了從三球交匯定位解算求解的全過(guò)程動(dòng)態(tài)交互。該系統(tǒng)在實(shí)際教學(xué)初步取得良好的效果。
【關(guān)鍵詞】北斗導(dǎo)航;三球交匯;定位解算
0 引言
北斗衛(wèi)星導(dǎo)航系統(tǒng)是我國(guó)自主研發(fā)的衛(wèi)星導(dǎo)航系統(tǒng),在車(chē)輛定位、應(yīng)急救援、防災(zāi)減災(zāi)等領(lǐng)域有著非常廣泛的應(yīng)用[1]。北斗系統(tǒng)與GPS、格洛納斯、伽利略等全球幾大衛(wèi)星導(dǎo)航系統(tǒng)均是采用三球交匯的幾何原理來(lái)實(shí)現(xiàn)定位[2]。三球交匯幾何定位的解算主要利用三維坐標(biāo)和距離公式求解完成[3]。傳統(tǒng)的幾何解算推演方法不夠直觀明白,很多聽(tīng)眾在聽(tīng)講定位原理時(shí)感到較枯燥無(wú)味。為了克服這些缺點(diǎn),本文將3DsMax建模和Unity 3三維仿真技術(shù)應(yīng)用到三球交匯定位解算的推演中,把定位原理和解算過(guò)程分步驟、交互式的呈現(xiàn)清楚,方便相關(guān)專(zhuān)業(yè)學(xué)生的學(xué)習(xí)和操作使用。
1 定位解算基本原理
1.1 基本原理
由于衛(wèi)星星座中所有的衛(wèi)星空間位置已知,地面用戶(hù)接收機(jī)終端(以下簡(jiǎn)稱(chēng)用戶(hù)終端)通過(guò)衛(wèi)星信號(hào)接收和解析可以獲得衛(wèi)星空間位置數(shù)據(jù)。用戶(hù)終端通過(guò)偽距測(cè)量還可以得到與所觀測(cè)的衛(wèi)星之間的距離[4]?;诳臻g坐標(biāo)中亮點(diǎn)之間的距離計(jì)算方法,用戶(hù)終端通過(guò)觀測(cè)3顆衛(wèi)星即可得到三個(gè)距離方程,利用這三個(gè)距離方程即可計(jì)算出用戶(hù)終端的坐標(biāo)位置(X,Y,Z)[5]。通常在計(jì)算用戶(hù)終端坐標(biāo)時(shí),還要考慮用戶(hù)終端與衛(wèi)星的鐘差,這個(gè)時(shí)候就需要再多觀測(cè)一顆衛(wèi)星,即引入第4顆衛(wèi)星,最終形成4個(gè)方程式進(jìn)行求解得到用戶(hù)終端的坐標(biāo)以及高程數(shù)據(jù)[6]。
1.2 解算方法
在以地心為中心的直角坐標(biāo)系中,假設(shè)觀測(cè)的四顆衛(wèi)星A、B、C、D坐標(biāo)數(shù)據(jù)已知,則分別將其表示為A(x1,y1,z1),B(x2,y2,z2),C(x3,y3,z3),D(x4,y4,z4),用戶(hù)終端T(x,y,z)的坐標(biāo)是未知的,x、y、z代表空間三維坐標(biāo)。用戶(hù)終端T到這A、B、C、D衛(wèi)星的距離分別為D1、D2、D3、D4。根據(jù)空間坐標(biāo)系中兩點(diǎn)間距離計(jì)算方法,可得到T與A的距離D1為: (x-x1)2+(y-y1)2+(z-z1)2=D12
同理,可得距離D2、D3和D4,將D1,D2,D3,D4組合成為方程組求解,可以最終得到用戶(hù)終端T的真實(shí)位置數(shù)據(jù)。
2 虛擬仿真系統(tǒng)的設(shè)計(jì)
2.1 主要技術(shù)
該虛擬仿真系統(tǒng)涉及的主要開(kāi)發(fā)技術(shù)有:建模、Unity 3D開(kāi)發(fā)引擎、JS腳本編程以及C#.NET開(kāi)發(fā)技術(shù)。3DsMax軟件用于對(duì)球體模型建模,交互程序開(kāi)發(fā)使用JS和C#,三維互動(dòng)開(kāi)發(fā)采用Unity 3D,最后通過(guò)Unity 3D Web Player發(fā)布成網(wǎng)頁(yè)版本。
2.2 開(kāi)發(fā)流程
(1)三維建模
首先利用3DsMax完成一個(gè)球體的建模,由于本仿真系統(tǒng)主要是對(duì)定位解算過(guò)程的仿真,三維球體僅僅用來(lái)呈現(xiàn)地面衛(wèi)星接收機(jī)終端的定點(diǎn)顯示,對(duì)整個(gè)三維球體建模效果的要求并不高。系統(tǒng)直接采用3DsMax球體模型素材,加上簡(jiǎn)單的球體貼圖和紋理處理即可。通過(guò)上述處理,既能夠保證三維仿真的畫(huà)面效果,也大大減少了模型的體量,節(jié)省了模型加載的時(shí)間,保證了在Web網(wǎng)頁(yè)端的順暢瀏覽和交互操作。
(2)模型導(dǎo)入
將球體模型導(dǎo)入保存到Unity 3D中,建立好相應(yīng)的視角和初始姿態(tài),設(shè)置好相關(guān)交互功能模塊。在Unity 3D中加入適當(dāng)?shù)墓庹招Ч颓蛎娣瓷湫Ч?/p>
(3)交互設(shè)計(jì)
在Unity 3D中,按照北斗衛(wèi)星三球交匯定位解算的基本過(guò)程,首先,設(shè)計(jì)相應(yīng)的交互模塊,包括定位原理、定位解算基本文字內(nèi)容的顯示和屏蔽,以及信號(hào)接收、球體、相交圓、定位呈現(xiàn)等模塊。然后,對(duì)每一個(gè)交互模塊編寫(xiě)腳本和程序,實(shí)現(xiàn)動(dòng)態(tài)交互效果。最后,還要為整個(gè)交互系統(tǒng)編寫(xiě)相應(yīng)的鼠標(biāo)事件,包括三維模型的漫游,移動(dòng)、縮放等事件。
3 仿真系統(tǒng)的實(shí)現(xiàn)
3.1 基本過(guò)程
按照三球交匯定位解算的理論推導(dǎo),結(jié)合三維仿真的實(shí)現(xiàn)思路,設(shè)計(jì)出以下仿真過(guò)程:
(1)基本理論展示;
(2)球體及球面用戶(hù)終端的展示;
(3)衛(wèi)星的位置精確已知,通過(guò)電文播發(fā)給用戶(hù),用戶(hù)接受來(lái)自3顆衛(wèi)星的信號(hào);
(4)以衛(wèi)星為球心,生成3個(gè)相交球體;
(5)基于3個(gè)相交球體,得到3個(gè)相交圓;
(6)基于3個(gè)相交圓產(chǎn)生2個(gè)相交點(diǎn);
(7)排除不合理的相交點(diǎn),得到最終用戶(hù)球面位置點(diǎn);
3.2 效果呈現(xiàn)
該軟件的虛擬交互按照理論進(jìn)行順序推到,通過(guò)菜單界面操作方式,較易上手。系統(tǒng)的仿真界面如圖1所示。
用戶(hù)以Web方式打開(kāi)軟件后,依次點(diǎn)擊系統(tǒng)界面左側(cè)的菜單項(xiàng),依據(jù)三維場(chǎng)景的提示可以依次完成三球交匯定位解算的算法推算過(guò)程,三維場(chǎng)景會(huì)根據(jù)用戶(hù)不同的菜單操作呈現(xiàn)相應(yīng)的解算過(guò)程仿真畫(huà)面。在三維仿真界面中,可以通過(guò)鼠標(biāo)按鍵實(shí)現(xiàn)界面的縮放、漫游、移動(dòng)、旋轉(zhuǎn)等操作,還可以通過(guò)鼠標(biāo)控制背景音樂(lè)和定位原理的文字解說(shuō)。
4 結(jié)束語(yǔ)
本系統(tǒng)構(gòu)建了北斗衛(wèi)星定位三球交匯虛擬仿真場(chǎng)景,并采用Unity 3D技術(shù)實(shí)現(xiàn)了對(duì)定位解算原理的虛擬仿真。該系統(tǒng)以更為直觀的方式展現(xiàn)了三球交匯定位算法求解的全過(guò)程,降低了概念理解難度。
【參考文獻(xiàn)】
[1]龍昌生.北斗/GPS雙模導(dǎo)航終端關(guān)鍵模塊的設(shè)計(jì)與實(shí)現(xiàn)[D].重慶大學(xué),2011.
[2]王雪.GPS與北斗衛(wèi)星導(dǎo)航系統(tǒng)異同分析[J].科技創(chuàng)新導(dǎo)報(bào),2013,(9):136.
[3]楊利,閔輝,劉琳嵐等.無(wú)線傳感器網(wǎng)絡(luò)三維定位算法綜述[J].池州學(xué)院學(xué)報(bào),2014,12(6):29-32.
[4]武英潔.船用北斗/GPS聯(lián)合導(dǎo)航終端的研究[D]. 大連海事大學(xué),2010.
[5]楊禮平,李夢(mèng)穎.手持GPS在地質(zhì)勘查中的應(yīng)用研究[J].地質(zhì)學(xué)刊,2011,35(2):201-203.
[6]丁立平.基于VDL-4技術(shù)的機(jī)場(chǎng)場(chǎng)面車(chē)輛管理系統(tǒng)研究[J].指揮信息系統(tǒng)與技術(shù),2010,01(6):55-60.
[責(zé)任編輯:朱麗娜]endprint