APP下载

基于Unity 3D的北斗卫星定位原理虚拟仿真系统

2017-09-04戴秋龙吴宪君项顺伯

科技视界 2017年9期

戴秋龙+吴宪君+项顺伯

【摘 要】为了更直观、清晰地阐述北斗定位三球交汇的原理,采用3DsMax建模和Unity 3D三维引擎开发了北斗三球交汇定位求解过程的虚拟仿真系统,实现了从三球交汇定位解算求解的全过程动态交互。该系统在实际教学初步取得良好的效果。

【关键词】北斗导航;三球交汇;定位解算

0 引言

北斗卫星导航系统是我国自主研发的卫星导航系统,在车辆定位、应急救援、防灾减灾等领域有着非常广泛的应用[1]。北斗系统与GPS、格洛纳斯、伽利略等全球几大卫星导航系统均是采用三球交匯的几何原理来实现定位[2]。三球交汇几何定位的解算主要利用三维坐标和距离公式求解完成[3]。传统的几何解算推演方法不够直观明白,很多听众在听讲定位原理时感到较枯燥无味。为了克服这些缺点,本文将3DsMax建模和Unity 3三维仿真技术应用到三球交汇定位解算的推演中,把定位原理和解算过程分步骤、交互式的呈现清楚,方便相关专业学生的学习和操作使用。

1 定位解算基本原理

1.1 基本原理

由于卫星星座中所有的卫星空间位置已知,地面用户接收机终端(以下简称用户终端)通过卫星信号接收和解析可以获得卫星空间位置数据。用户终端通过伪距测量还可以得到与所观测的卫星之间的距离[4]。基于空间坐标中亮点之间的距离计算方法,用户终端通过观测3颗卫星即可得到三个距离方程,利用这三个距离方程即可计算出用户终端的坐标位置(X,Y,Z)[5]。通常在计算用户终端坐标时,还要考虑用户终端与卫星的钟差,这个时候就需要再多观测一颗卫星,即引入第4颗卫星,最终形成4个方程式进行求解得到用户终端的坐标以及高程数据[6]。

1.2 解算方法

在以地心为中心的直角坐标系中,假设观测的四颗卫星A、B、C、D坐标数据已知,则分别将其表示为A(x1,y1,z1),B(x2,y2,z2),C(x3,y3,z3),D(x4,y4,z4),用户终端T(x,y,z)的坐标是未知的,x、y、z代表空间三维坐标。用户终端T到这A、B、C、D卫星的距离分别为D1、D2、D3、D4。根据空间坐标系中两点间距离计算方法,可得到T与A的距离D1为: (x-x1)2+(y-y1)2+(z-z1)2=D12

同理,可得距离D2、D3和D4,将D1,D2,D3,D4组合成为方程组求解,可以最终得到用户终端T的真实位置数据。

2 虚拟仿真系统的设计

2.1 主要技术

该虚拟仿真系统涉及的主要开发技术有:建模、Unity 3D开发引擎、JS脚本编程以及C#.NET开发技术。3DsMax软件用于对球体模型建模,交互程序开发使用JS和C#,三维互动开发采用Unity 3D,最后通过Unity 3D Web Player发布成网页版本。

2.2 开发流程

(1)三维建模

首先利用3DsMax完成一个球体的建模,由于本仿真系统主要是对定位解算过程的仿真,三维球体仅仅用来呈现地面卫星接收机终端的定点显示,对整个三维球体建模效果的要求并不高。系统直接采用3DsMax球体模型素材,加上简单的球体贴图和纹理处理即可。通过上述处理,既能够保证三维仿真的画面效果,也大大减少了模型的体量,节省了模型加载的时间,保证了在Web网页端的顺畅浏览和交互操作。

(2)模型导入

将球体模型导入保存到Unity 3D中,建立好相应的视角和初始姿态,设置好相关交互功能模块。在Unity 3D中加入适当的光照效果和球面反射效果。

(3)交互设计

在Unity 3D中,按照北斗卫星三球交汇定位解算的基本过程,首先,设计相应的交互模块,包括定位原理、定位解算基本文字内容的显示和屏蔽,以及信号接收、球体、相交圆、定位呈现等模块。然后,对每一个交互模块编写脚本和程序,实现动态交互效果。最后,还要为整个交互系统编写相应的鼠标事件,包括三维模型的漫游,移动、缩放等事件。

3 仿真系统的实现

3.1 基本过程

按照三球交汇定位解算的理论推导,结合三维仿真的实现思路,设计出以下仿真过程:

(1)基本理论展示;

(2)球体及球面用户终端的展示;

(3)卫星的位置精确已知,通过电文播发给用户,用户接受来自3颗卫星的信号;

(4)以卫星为球心,生成3个相交球体;

(5)基于3个相交球体,得到3个相交圆;

(6)基于3个相交圆产生2个相交点;

(7)排除不合理的相交点,得到最终用户球面位置点;

3.2 效果呈现

该软件的虚拟交互按照理论进行顺序推到,通过菜单界面操作方式,较易上手。系统的仿真界面如图1所示。

用户以Web方式打开软件后,依次点击系统界面左侧的菜单项,依据三维场景的提示可以依次完成三球交汇定位解算的算法推算过程,三维场景会根据用户不同的菜单操作呈现相应的解算过程仿真画面。在三维仿真界面中,可以通过鼠标按键实现界面的缩放、漫游、移动、旋转等操作,还可以通过鼠标控制背景音乐和定位原理的文字解说。

4 结束语

本系统构建了北斗卫星定位三球交汇虚拟仿真场景,并采用Unity 3D技术实现了对定位解算原理的虚拟仿真。该系统以更为直观的方式展现了三球交汇定位算法求解的全过程,降低了概念理解难度。

【参考文献】

[1]龙昌生.北斗/GPS双模导航终端关键模块的设计与实现[D].重庆大学,2011.

[2]王雪.GPS与北斗卫星导航系统异同分析[J].科技创新导报,2013,(9):136.

[3]杨利,闵辉,刘琳岚等.无线传感器网络三维定位算法综述[J].池州学院学报,2014,12(6):29-32.

[4]武英洁.船用北斗/GPS联合导航终端的研究[D]. 大连海事大学,2010.

[5]杨礼平,李梦颖.手持GPS在地质勘查中的应用研究[J].地质学刊,2011,35(2):201-203.

[6]丁立平.基于VDL-4技术的机场场面车辆管理系统研究[J].指挥信息系统与技术,2010,01(6):55-60.

[责任编辑:朱丽娜]endprint