GNSS三维仿真测量实践教学系统的实现
2016-09-02许才军
章 迪,许才军,陈 巍,张 煜
(1. 武汉大学测绘学院,湖北 武汉 430079; 2. 地球空间信息技术协同创新中心,湖北 武汉 430079)
GNSS三维仿真测量实践教学系统的实现
章迪1,2,许才军1,2,陈巍1,2,张煜1,2
(1. 武汉大学测绘学院,湖北 武汉 430079; 2. 地球空间信息技术协同创新中心,湖北 武汉 430079)
GNSS三维仿真测量系统将虚拟现实技术用于实践教学,能够突破设备、场地、学时等多方面的限制,切实增强学生的实践能力。本文介绍了其设计思路,并重点阐述了运用Unity3D进行系统开发所涉及的关键技术,可为其他教学研究和开发提供参考。
全球卫星导航定位系统;虚拟现实;三维仿真;实践教学
全球卫星导航定位系统(GNSS)是当前高校测绘类专业教学中非常重要的一门课程。课程要求学生不仅要具备扎实的理论基础,而且应掌握GNSS静、动态测量的实践技能,并将之熟练地应用于科研和工程实践。但目前GNSS实践教学仍存在仪器资源不足、室内示教困难、教学学时有限等问题,对学生实践能力的提升造成了障碍。针对这些问题,广大教学工作者开始探索各种方法来提高教学效果,如刘智敏等提出应当更新仪器设备,与多家单位建立教学实习基地,结合教师的科学项目培养优秀学生[1];郭敏等提出应当更新利用好仪器设备,完善实习基地,并采用多元化的实习方法和手段[2];李黎等提出应当建立实习基地,加大实践教学考核的比重[3];章迪等提出建立视频实验教学平台[4]。这些方法可以在一定程度上改善仪器和场地因素带来的困扰,但购置新的仪器和建设实习场地往往需要大量的资金投入,教师的项目又通常难以覆盖所有学生。使用虚拟现实技术开发GNSS三维仿真测量系统则为我们提供了新的思路。
虚拟现实又称为灵境技术,即采用计算机技术为核心的现代高科技手段生成逼真的虚拟环境,让用户能采用自然的方式与虚拟世界中的物体进行交互,从而产生身临其境的感受和体验[5]。已有一些学者探索将虚拟现实技术用于测绘实验教学,如马春艳等使用3ds Max软件制作了水准仪的模型,并编制了水准测量的演示性动画[6];范冲等开发了基于Quest3D的虚拟测绘实验室[7],能够模拟全站仪导线测量实验。
目前,可用于虚拟现实开发的软件有Virtools[8-9]、Quest3D[10-11]、Vega[12-13]、Unity3D[14-15]等。由于Unity3D具有语言兼容性强、平台适用性广、地形渲染器强大、简单易学、支持多种文件格式并提供免费版本等优点,因此本文选用该软件作为开发工具。Unity3D是由Unity Technologies开发的游戏引擎,它能够让开发者轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等的互动内容。Unity3D支持3种脚本语言,即JavaScript、C#和BOO。本系统使用C#语言进行脚本编辑。
一、系统设计
GNSS三维仿真测量系统的目的是为了让学生在对各种仪器的外观、结构有直观认识的基础上,能结合理论知识,进行多场景下GNSS的仿真测量,熟练掌握静态、动态测量的操作步骤。基于这些需求,笔者将系统设计为基础知识、仪器介绍、静态测量、动态测量和系统帮助5个部分,如图1所示。
图1 系统构成
基础知识部分采用图文结合的幻灯片方式,主要介绍GNSS测量的基本原理、步骤和相关的注意事项,既有对理论知识的回顾和总结,也包含对实践操作的前导性学习。
仪器介绍部分,用户可以从仪器列表中选取要查看的仪器,通过鼠标控制模型旋转、缩放,从而能够从各个角度观察每个仪器模型。当鼠标指针悬停在模型的特定位置时会弹出对相关部位的简要说明,帮助学生快速熟悉仪器。
静态测量部分,用户在设置页面可以选择场景、日期、接收机数量、采样率、截止高度角等参数。进入测量场景后,用户可以调出俯视图,并从工具栏中点选控制点拖放至合适位置。之后可以在控制点上架设仪器、测量仪器高,并开启接收机进行测量。在一个观测时段结束后,系统会为每台接收机生成O文件和N文件,用户可以把它们导出到硬盘上,用于基线解算。
动态测量部分能够模拟真实的RTK测量过程。用户先选择合适的位置架设好基准站,手动开启接收机、电台,通过手簿界面设置基准站参数;然后开启流动站,并设置好坐标系、电台频率、电文格式等参数;通过键盘、鼠标控制测量员在场景中漫游,以第一或第三人称视角模拟RTK测量,进行地物、地形的数据采集。测量结束后,用户可以将观测值导成CASS文件用于地形图绘制。
系统帮助是整个系统的操作使用说明,用于提示用户实现前后移动、视角切换、显示已知点等功能的操作方法。
二、关键技术
系统开发的关键技术包含三维建模、素材导入、场景制作、多视角切换等。
1. 三维建模
采用3ds Max软件制作各类仪器和人物的模型,具体过程本文在此不详细展开。仪器模型包括控制点标志、三脚架、基座、接收机、基准站电台、对中杆、鞭状天线等。人物模型则不仅应对外观进行建模,还应给每一个人物制作相应的行走、点击手簿、观察等动画。模型建好后,应导出为FBX格式,便于Unity3D能顺利导入。
2. 素材导入
本系统使用的素材包括三维模型、动画、图片和音乐。在Unity3D的project选项卡中选择Import New Asset选项将素材导入。三维动画内置在人物模型中,需要提取出来制作成Animation Controller后再关联到人物模型上,并编写脚本让动画在合适的时候播放(如图2所示)。
图2 控制点布设动画
二维图片导入后,需要添加到Atlas图集中,再通过Sprite控件添加到界面中。
音乐则需要在场景中放置一个带有Audio Source组件的物体,用于播放音频文件,以及带有Audio Listener组件的物体,用于收听声音。
3. 场景制作
首先通过GameObject菜单创建一个空白的地形。然后使用地形绘制工具绘制出高低起伏的地貌,并给绘制好的地形添加纹理和地物,如树木、草丛等,让它看上去更加真实。建筑、桥梁等三维模型可以根据需要进行缩放、旋转并放置在场景中。最后可以添加天空盒、河流等,模拟自然界的各种环境(如图3所示)。
图3 静态测量场景
4. 用户交互界面制作
本系统使用NGUI插件进行图形界面的制作。以手簿界面开发为例,首先确定界面需要的背景图片,使用NGUI中的Sprite控件加载图片放置到合适的位置;然后使用Label控件添加必要的文字说明,使用Button控件添加按钮,使用Input控件创建输入框,使用Popup List控件创建下拉列表;最后为每个控件编写脚本,让它们能够对用户的输入、鼠标点击等操作作出响应,或是对用户输入的数据进行处理并显示结果。
5. 坐标系转换
Unity3D的每个场景都会自带一个坐标系,包括X、Y、Z3个坐标轴。通过与测绘的坐标系统进行比较,发现其X、Y轴可分别与高斯平面直角坐标的x(南北)和y(东西)轴对应,Z轴坐标值可与高程H对应。将平面坐标加入一定的常数后通过投影反算(中央子午线设置为114°,椭球采用WGS-84,投影方式为高斯投影)转换为B、L,再与H一起转换即可得到各点的空间直角坐标。
6. 虚拟观测值生成
在静态测量中,利用给定的三维坐标、天线高和广播星历,反算出接收机到卫星的距离,再加入模拟的对流层误差、电离层误差、接收机钟差、卫星轨道误差等误差,从而得到虚拟的GNSS观测值,并可输出包含GPS和BDS(北斗)两个卫星系统的RINEX 3.0文件。
7. 仪器放置
当用户点击了某个位置后,RayCast()函数会从摄像机的中心位置向光标所在方向发射一条射线。当射线遇到碰撞体(如地形)后,函数会返回碰撞点的三维坐标,这样就可以将仪器模型放置到碰撞点上。类似的原理可用于模拟测量天线高,并使用LineRenderer组件在两点间渲染一条直线模拟钢卷尺。计算两点间的距离即为量高的结果。
8. 仪器开启和关闭
为了模拟开机操作,先给电源键按钮添加一个碰撞体,并在碰撞体的脚本中加入OnClick()函数,当用户点击鼠标时,则开启或关闭接收机上的指示灯。接收机上的指示灯用Unity3D中的点光源进行模拟。对于那些需要闪烁效果的指示灯,可使用协程技术,控制它们延迟点亮(或熄灭)。
9. 多视角切换
在场景中放置多个摄像机(camera),这些摄像机从不同角度对场景中的特定目标进行渲染,用户需要在多个视角间自由切换,实际上就是通过启用不同的摄像机来实现。第一人称视角的测量体验感更为真实,而第三人称视角则有利于用户对整个场景有更宏观的感受。如图4所示。
三、结束语
GNSS三维仿真测量实践教学系统不仅能对仪器模型和测量场景进行三维立体的展示,还能对动静态测量进行全方位的交互仿真,并可生成观测值、测点坐标等仿真数据,以供后续的数据处理实习使用。由于其在形式上为一个可执行程序,只需点击鼠标即可进行操作,具有成本低廉、携带方便、易于操作等诸多优点,非常适合于教师课堂演示和学生课前预习、课后巩固操练。
图4 多视角切换
三维仿真系统形式新颖、学生喜闻乐见,突破了GNSS传统实践教学模式在时间和空间上的局限性,有利于提高学生的学习兴趣,激发他们的创新热情。需要注意的是,三维仿真测量系统绝不意味着可以“以虚代实”甚至“只虚不实”,教学过程一定要坚持“虚实结合、以虚促实”的原则,必须以提高学生的实际动手能力为落脚点。
将本系统应用于笔者所在院校测绘工程专业的GNSS实践教学,让学生经过虚拟系统训练之后再进行实地操练。与传统模式相比,发现他们对整个实习过程能有更宏观的把握,学习效率显著提升。当然任何一种模式都不是尽善尽美的,如何能更好地将虚拟现实技术应用于教学,还需要在实践中不断地探索和总结。
[1]刘智敏,独知行,郭金运,等. 注册测绘师制度下GNSS测量课程教学改革探讨[J]. 测绘工程,2014(11):78-80.
[2]郭敏,李天子,李春意. 《GNSS原理及应用》课程的教学改革探索[J]. 测绘科学,2013(4):207-208.
[3]李黎,龙四春,张金平,等. GPS原理与应用课程教学改革探讨[J]. 当代教育理论与实践,2014(5):118-119.
[4]章迪,郭际明,许才军,等. 测绘专业视频实验教学平台建设[J]. 地理空间信息, 2014(6): 174-176.
[5]胡小强.虚拟现实技术基础与应用[M].北京:邮电大学出版社,2009:1-2.
[6]马春艳,徐传阳,沈成虎,等. 基于虚拟现实仿真技术的测绘仪器模型设计开发[J].测绘通报,2013(8):71-73.
[7]范冲,周凤平,周敏. 基于Quest3D的虚拟测绘实验室的设计与实现[J]. 测绘通报,2014(2):119-121.
[8]王式太,殷敏. 基于Virtools的虚拟全站仪测量训练系统的设计与实现[J]. 文理导航(下旬),2013(10):4-5.
[9]王登杰. 基于虚拟现实的工程测量实验技术研究[J]. 工程勘察,2011(12):55-58.
[10]张彤. 基于Quest3D的汽车虚拟驾驶培训系统的研究[D].焦作:河南理工大学,2012.
[11]王丽丽,赵晓春,张清智,等. 基于Quest3D的虚拟园林漫游系统的设计与实现[J]. 中国农学通报,2009(2):180-183.
[12]黄夏荣. 无人机飞行视景仿真平台的设计与实现[D].南京:南京理工大学,2007.
[13]程小宁. 虚拟校园漫游系统的设计与实现[D].南昌:南昌航空大学,2013.
[14]王平论. 基于低空摄影测量的三维虚拟场景研究与实现[D].徐州:中国矿业大学,2014.
[15]曾勇. 基于Unity3d的挖掘机模拟训练系统研究[D].长安:长安大学,2013.
Realization of GNSS 3D Simulation Practical Teaching System
ZHANG Di,XU Caijun,CHEN Wei, ZHANG Yu
10.13474/j.cnki.11-2246.2016.0172.
2015-04-21
武汉大学实验技术项目;武汉大学开放实验项目
章迪(1984—),男,博士生,主要研究方向为GNSS科研与教学。E-mail:155224268@qq.com
G64;P208
B
0494-0911(2016)05-0120-03
引文格式: 章迪,许才军,陈巍,等. GNSS三维仿真测量实践教学系统的实现[J].测绘通报,2016(5):120-122.