1.2研究目标
(1)从系统架构层面疏通问题,用功能模块限制、定位故障点,最终解决问题,消除程序互扰引起的不稳定、报错现象。
(2)将原来功能过多的软件进行拆分,以模块为单位设计程序,使软件结构清晰,这样可以缩小故障影响范围,减小定位困难的难度,使排除故障更加容易。
(3)在功能模块化的架构下,开发新功能只是新增程序,而不是在原有程序上添加代码,因此可以从根本上避免软件臃肿,故障多,版本多,通用性差的问题。
(4)建立规范、合理的系统架构,使修改或添加新功能只针对模块,避免引起次生故障,真正做到并行开发,缩短研制周期,节省投入的人力成本。
1.3 研究现状
在国内,一些公司也相继开发出了汽车驾驶训练模拟器,产品具有一定的特点。但与国外先进水平相比仍有较大的差距。国内驾驶模拟器的优点是成本低,能实现简单的驾驶培训目的,缺点是结构简单,功能单一。
在国外,驾驶模拟器最早出现在航空驾驶训练中,随着仿真技术的成熟,逐渐应用到汽车训练中。目前发达国家已经普遍运用汽车驾驶模拟器做为培训工具。总之,国外的驾驶模拟器领域涉及面广,场景更加逼真,系统稳定性更强,这正是值得我们学习和借鉴的地方。
2.开发平台及开发工具
2.1 开发平台
这是一台移动终端的PC设备,它的开发平台是Windows系统。关于Windows系统,这里就不在做介绍。
2.2 开发工具
2.2.1 C++简介
C++是在c语言的基础上开发的一种集面向对象编程,泛型编程,和过程化编程于一体的编程语言,是C语言的超集。
过程化编程:
C++的过程化编程可以是从C语言中演变而来,强调的是编程的算法方面。从概念上来说,过程化编程首先要确定计算机应采取的操作,然后使用编程语言实现这些操作。
泛型编程:
泛型编程是c++支持的另一种编程方式,使重用代码和抽象通过概念的技术更简单。强调的是独立于特定的数据类型
面向对象编程:
面向对象程序设计的特点:封装,继承和多态。
2.2.2 C#简介
C#是一种由C和C++衍生出来的面向对象的高级编程语言。语言风格简单,独特。广泛应用于.NET编程。其强大的系统组件的支持,使得界面更加美观,代码更加高效。C#和c++一样,具有面向对象的特征:封装,继承和多态。区别在于不能使用宏定义,不支持多重继承等。
2.2.3 网络编程
通过使用套接字来达到进程间通信目的的编程就是网络编程。windows提供的基于网络编程的就是套接字也就是winsock,同时Winpcap也是一个比较方便的工具。
网络编程从大的方面说就是对信息的发送到接收,中间传输为物理线路的作用。网络编程最主要的工作就是在发送端把信息通过规定好的协议进行组装包,在接收端按照规定好的协议把包进行解析,从而提取出对应的信息,达到通信的目的。中间最主要的就是数据包的组装,数据包的过滤,数据包的捕获,数据包的分析,当然最后再做一些处理。
3 DT1.5介绍
3.1 DT1.5功能
提供DT1.5需要的输入数据,调用DT1.5软件,实现驾驶仿真功能(包括加载场景,播报语音,显示图片等)。提取DT1.5输出的汽车状态数据,发送给其它模块。这是与DT通讯的唯一接口。