2020年汽车驾驶模拟器精编版

上传人:z**** 文档编号:53126538 上传时间:2022-02-10 格式:DOC 页数:16 大小:661.50KB
收藏 版权申诉 举报 下载
2020年汽车驾驶模拟器精编版_第1页
第1页 / 共16页
2020年汽车驾驶模拟器精编版_第2页
第2页 / 共16页
2020年汽车驾驶模拟器精编版_第3页
第3页 / 共16页
资源描述:

《2020年汽车驾驶模拟器精编版》由会员分享,可在线阅读,更多相关《2020年汽车驾驶模拟器精编版(16页珍藏版)》请在装配图网上搜索。

1、汽车驾驶模拟器的研究方法及步骤一、虚拟现实建模方法1、几何建模2、运动建模(1)物体位置 物体位置包括物体的移动、 旋转和缩放。 在视景仿真中, 不仅需要一个全局性的绝对坐 标,每个三维对象都需要建立一个相对坐标。 对每个对象都给予一个坐标系统, 称之为对象 坐标系统, 这个坐标系统原点的位置随物体的移动而改变。 在虚拟驾驶系统中就是通过控制 一个汽车局部坐标系的运动和变化来模拟汽车的运动过程。(2)碰撞检测在视景仿真系统中,经常需要检查对象 A是否与对象B碰撞。碰撞检测需要计算两个物 体的相对位置。许多视景仿真系统在实时计算中都是采用 OBB 包围盒检测法,运用这种方 法可以节省时间,但降低

2、了精确性。3、物理建模 虚拟对象物理建模包括定义对象的质量、重量、惯性、表面纹理、光滑或粗糙、硬度、形状改变模式(橡皮带或塑料) 等,这些特性与几何建模和行为规则结合起来,形成了更真 实的虚拟物理模型。4、行为建模在虚拟驾驶系统中, 行为建模主要包括两个方面, 一方面是对驾驶员所操纵的汽车的行 为进行约束, 建立汽车操纵模型, 使其符合汽车自身的运动和驾驶人员的操作步骤; 另一方 面是对场景中非受控物体的行为进行建模, 使其的运动符合自然规律, 比如场景中自动运行 的汽车、路旁的行人等。5、模型分割二、虚拟驾驶系统各模块功能分析和开发方案确定1、汽车虚拟驾驶系统的构成汽车虚拟驾驶系统主要由 虚

3、拟驾驶操作输入系统 、汽车动力学模型 、 运动仿真模型 、 实时操纵模型 、场景管理管理平台 、视景和声音渲染输出 以及 汽车数据模型库 、 场景模型 库和声音模型库 等组成。 其中汽车动力学模型、 运动仿真模型、 实时操纵模型和虚拟驾驶场 景管理平台是汽车虚拟驾驶系统的核心子系统。系统的工作过程如下: 在系统初始化时, 根据用户的需求从汽车数据模型库中将用于仿 真的车辆数据模型调入到动力学模型中, 同时选择运行的三维场景, 通过模型解析模块把它 从场景数据库中调入场景管理平台; 在仿真过程中, 驾驶人员通过虚拟驾驶操作输入系统进 行模拟驾驶操作, 人机交互接口将油门、 制动、 换档和转向等动

4、力学操作信息以及发动机启 动、喇叭鸣笛等按钮操作状态送入汽车动力学模型和实时操纵模型中; 经过仿真计算后, 汽 车运动仿真数据被送入运动摄像机模块中控制场景内摄像机的运动,同时汽车的行驶姿态还受到地面因素的影响; 然后, 场景管理控制模块根据此时摄像机的运动状态, 通过视景渲染 模块将三维场景在投影屏幕上实时反映出来, 模拟视景变化, 形成行车体感, 并且通过虚拟 仪表输出此时的汽车运行参数。 另外,为了增强虚拟驾驶的沉浸感, 系统还安装有音响系统,根据驾驶人员的操作和汽车运行的状态,从声音模型库中调出相应的声音特效,如汽车的发动机轰鸣声、喇叭鸣笛声、紧急制动等通过声音渲染模块输出。E2-3汽

5、车虚拟驾驶系统结构圉2、虚拟驾驶操作输入系统模拟驾驶输入系统是用来模拟汽车驾驶舱中的驾驶操作机构,它配备了方向盘、档位操纵杆、离合器踏板、制动踏板、油门踏板以及其他辅助装置。在驾驶模拟过程中,驾驶员可 以根据渲染场景的变化和仪表的显示,操纵输入系统中的方向盘、离合器、制动器、油门和档位操纵杆等部件,人机交互模块将这些操作信息送入汽车动力学模型计算后,对场景中运动摄像机的位置和方向做出相应的调整,并将仿真结果输出到显示屏上,从而对驾驶过程进行模拟。3、虚拟驾驶场景管理平台虚拟驾驶场景管理平台各子模块的功能如下:1)人机交互接口模块:该模块将各种驾驶操作输入信号经数据转换为数字信号,送入汽车动力学

6、模块中进行计算,形成控制场景运动和渲染的信号, 是驾驶操作系统、场景管理平台和汽车动力学模型之 间的桥梁。2)运动摄像机模块:该模块根据汽车动力学模块的计算结果,模拟出符合汽车运动特性的运动摄像机,并输入到场景管理控制模块中。3)场景管理控制模块:该模块有机地整合了场景管理平台中的其余模块,并且和汽车的动力学模块结合起来, 通过处理消息函数,完成场景调入、人机交互、声效处理和视景渲染等内容。4)视景、声效和操作界面渲染模块:通过一系视景渲染模块根据汽车动力学模型计算好的运动摄像机控制参数和位置信息,列变换后将虚拟场景渲染到显示投影设备上,并提供给驾驶者,实现虚拟汽车运动时相对于周围环境运动画面

7、的连续显示,以形成行车效果。声效输出模块可以根据当前的汽车运行状态和操作人员的输入,模拟输出此时汽车运行时发出的各种声音,例如:发动机的轰鸣声、 喇叭鸣笛、汽车运行的风声等。操作界面渲染模块主要实现汽车驾驶辅助信息和虚拟仪表的 显示。5)模型解析模块:虚拟驾驶系统中的场景模型经过3D建模软件制作后存为某种固定的格式,该模块将模型从这种格式中解析出来,并且进行必要的优化,提高场景检索速度,提升渲染质量。可使用DirectX、OpenGL等提供的函数库设计来设计视景渲染、三维模型解析、运动摄 像机、人机交互和声音处理等基础类库,构建汽车虚拟驾驶场景管理平台。4、场景和声效数据库5、汽车动力学仿真模

8、块模拟汽车运动的汽车动力学仿真模块包括汽车数据模型、汽车动力学模型、汽车运动仿真和操纵模型等几个方面。6、虚拟驾驶系统的软硬件平台VC+6.0软件平台结合C+和DriectX9.0函数库进行虚拟驾驶系统研究和开发。采用3DMax 7.0作为整个系统中场景建模和动画建模工具,场景中的贴图和纹理采用Photoshop图像处理软件来编辑。虚拟驾驶系统场景管理平台设计、场景管理平台系统功能模块针对虚拟驾驶所应用的场景管理平台可具备以下的两大部分功能模块。菲愼心模块立体显才网络通佶等种特效辅助控制运朗朮制樓业模块儿柯运算觇杲泊染模块模型解析臧声音处理模块人机玄生管堆泵进普珠戟块图4-1场景管理平台功能图

9、(1 )核心模块该模块完成场景管理平台所需要的一些最基本的处理功能,这是平台中最重要的一部分,又可以分为以下一些子模块: 几何运算模块:该模块的功能是实现图像显示过程中基本的二维和三维几何代数运算。模块中主要定义了二维、 三维矢量, 变换矩阵以及它们之间的代数运算关系。 这些基本的几 何运算是三维引擎最基础的技术。 视景渲染模块: 该模块是实现视景图形渲染的核心模块, 它从数据库中提取相应的场 景数据, 根据当前摄像机所处的方位实现基本图元的绘制、 光照材质处理、 纹理映射以及三 维特效等, 构造出三维场景。 三维渲染引擎的好坏, 在很大程度上取决于视景图形渲染模块 的质量。渲染方法分为软件渲

10、染和硬件渲染两种,软件渲染方式主要有 DirectX 和 OpenGL 两种实现方式。 摄像机控制模块: 该模块完成对场景的漫游和显示。 它按照人类的正常视觉对场景进 行处理, 通过可见范围计算裁剪掉视域外的内容, 然后通过摄像机的视口变换和投影变换把 裁剪后场景投影到屏幕空间。 碰撞检测模块: 碰撞检测是三维图形引擎中不可缺少的一部分, 应该根据具体的应用 选择不同的碰撞检测算法。 在虚拟驾驶过程中, 为了增强驾驶的真实性, 场景中行驶的汽车 需要进行地形检测、 固定物体碰撞检测以及活动物体碰撞检测等。 常用的检测算法有包围盒 检测和射线 / 多边形检测等。 模型解析模块: 该模块将模型从数

11、据库存储格式中解析出来, 并且渲染过程进行优化 处理,提高场景检索速度,提升渲染质量。 声音处理模块:该模块完成场景管理平台中的声音和音效处理。在虚拟驾驶过程中, 根据汽车的运动状态和驾驶人员的各项操作, 汽车将发出的发动机轰鸣声、 紧急制动声、 喇 叭鸣笛声、风声、与物体碰撞发出的碰撞声以及外围环境声音等。 人机交互模块: 该模块主要在操作人员的输入、 汽车动力学模型与虚拟场景建立起一 个互动的桥梁, 能够根据人员的操作来实现视景的实时渲染改变, 并且通过力反馈设备将场 景中的某些信息反馈给操作人员。 系统管理模块: 该模块是场景管理平台的核心, 它创建整个平台程序的窗口并控制程序流。 在程

12、序运行过程中, 系统管理模块将场景管理平台中其余的模块有机地整合起来,通过处理消息函数,调用相应的模块完成场景调入、用户输入、声效处理和视景渲染等。(2)非核心模块 这些模块为虚拟驾驶场景管理平台扩展性的部分,包括以下几个模块: 立体显示模块: 为了提高虚拟驾驶系统的沉浸感, 可根据双目立体投影算法为系统增 加立体显示模块,通过主动立体投影或者被动立体投影,实现场景的立体显示。 辅助功能模块: 该模块为场景管理平台提供一些辅助功能。 对于不同的应用领域, 这 些辅助功能会有所不同, 但其运行过程由主程序来控制, 程序根据触发事件的不同, 把不同 的消息发送到与该事件相关的模块进行处理。 如在虚

13、拟驾驶过程中可以为驾驶人员提供显示 汽车的运行状态信息、标志信息以及场景的提示信息等。 网络通信模块: 该模块主要为场景管理平台提供网络通信、 数据传输以及联网控制等功能。场景管理平台使用的网络传输协议主要是TCP/IP或IPX协议。通过网络技术,还可以进一步实现多通道投影和多人网路联合仿真。 各种特效模块:该模块为具体的虚拟现实提供一些特效,如雨滴、雪花、汽车尾气、 喷泉等粒子系统, 汽车的后视镜以及虚拟仪表等。 实现该模块要根据不同的特效采用适当的 算法,特效的实现通常比较消耗系统资源, 因此实现时要在特效效果和渲染复杂度中取一个 平衡。 运动录制模块: 该模块能够记录摄像机的运动轨迹,

14、用于仿真结束后对驾驶人员的操 纵过程进行分析。、人及交互控制场景系统输入控制包括由驾驶者控制汽车运动的基本操作,包括对方向盘、 油门、离合、刹车和档位转换等, 以及触及点火开关、 转向指示灯按钮、喇叭鸣笛按钮等辅助性操作,还 有就是针对软件运行过程中的某些设置功能的键盘和鼠标操作。读入的汽车运动控制信息, 通过汽车的动力学模型运算后, 交互控制视觉场景的显示。 画面输出除了视景的变化外, 同 时输出经过汽车动力模型计算后产生的汽车运行信息, 包括当前速度、 档位、点火开关状态、 鸣笛状态、转向指示状态等。如果仅仅依赖 windows 的消息机制,系统的实时性则难以达到要求,由于DirectIn

15、put直接与设备驱动进行通讯, 具有底层输入获取的处理能力, 其能够立即响应硬件的中断, 不 需要经过 windows 系统的消息机制,保证信号处理的实时性,所以本程序利用DirectInput组件提供的输入接口功能,实现控制信号的输入。 输入设备包括三个设备: 鼠标、 键盘和专 用的驾驶模拟游戏杆。 利用了主板上的键盘和鼠标输入接口, 使输入信号以系统能识别的键 盘鼠标兼容的数据形式输入系统,由 DirectInput 获取并处理,游戏杆采用最新的罗技公司 生产的针对赛车类游戏的专业 G25 型游戏杆,它可以提供包括对方向盘、油门、离合、刹 车和档位的操作,通过 DirectInput 接口

16、将驾驶操纵信号输入到场景管理平台中。1、操作设备输入的设置和初始化DirectInput 组件由支持 COM 接口的 DirectInput 对象和每一种提供数据的输入设备对象 组成。 DirectInput 对象在程序中表征 DirectInput 子系统,用于查询和管理输入系统。创建 DirectInput 对象之后, 可以使用该对象的接口方法查询系统中的可用输入设备, 并为程序中 需要使用的每一个设备创建一个 DirectInputDevice 对象。在 DirectInputDevice 设备对象创建 出来后, 必须为它设置设备的属性和数据的读取格式。 每一个 DirectInputD

17、evice 对象都表示 了一个输入设备,通过对设备属性的设置,将设备对象设置为鼠标、键盘、游戏杆等,并且 设置了 DirectInput 设备的数据读取模式。DirectInput 支持两种类型数据读取模式: 缓冲区模式 和立即模式 。缓冲区模式数据是将 输入事件的数据保存在缓冲区中, 直到应用程序取得这些数据。 立即模式数据是指一个输入 设备当前状态的映像。在应用程序中,如果只关心设备当前的状态,可以使用立即模式。当 设备的输入事件比设备当前状态对应用来说更重要时,应选择缓冲区模式。对键盘来说, DirectInput 不使用字符重复设置。当使用缓冲区数据模式时,模式对键盘 中每个健的按下和

18、释放作为事件来解释,当使用立即数据时, DirectInput 只考虑当前状态, 而不管 windows 报告的键盘消息。对于本系统,程序需要获取的主要是键盘上按键当前所 处的状态, 即当前被检索查询时是按下状态还是松开状态, 所以键盘数据由立即模式数据获 得。对于用于虚拟驾驶操作的游戏杆, 输入的量中有四个连续变量、 档位操作枚举变量以及 按钮变量等, 在每个仿真周期中需要得到所有的这些操作数值以便于通过动力学计算作出响 应,所以设置为缓冲区模式。2、操作控制参数的获取输入设备初始化完毕后, 程序屏蔽了操作系统的键盘和鼠标响应。 操作者对键盘、 鼠标 以及虚拟驾驶游戏杆的操作直接通过 Dir

19、ectInput 接口传入系统。读取出驾驶人员的操作数据后, 将转向盘和各个踏板的数值进行一定的线性变换, 各项 数据的数值范围转变到与汽车动力学模型相匹配的范围, 然后通过场景管理类将这些数据传 递到动力学模型中进行计算。3、操作触感系统 在汽车行驶的过程中, 驾驶员根据交通环境、 路面状况实时操作汽车的操纵装置来改变 汽车的运动状态,汽车改变运动状态后,驾驶员又根据视觉、触觉(路感)和体感的反馈信 息,判断原操作的正误, 并对下一次操作做出决策,周而复始地操作, 使汽车按驾驶员的主 观意图行驶。因此, “触感”系统的研究是汽车驾驶模拟系统研究的重要内容。操作触感系 统实质是实现操作与汽车状

20、态间信息传递环节的模拟装置, 是形成驾驶模拟不可少的重要组 成部分。驾驶员的触感信息包括方向盘反力(回正力矩)及振动、油门踏板力、制动踏板力、离 合器反力以及变速器手柄反力,其中方向盘回正力矩和振动是驾驶员触感中最主要的信息。 因此,方向盘回正力矩及振动模拟的逼真度直接关系到驾车路感的真实性, 并影响驾驶模拟 试验的准确性。 在真实的驾驶过程中由于发动机启动、 汽车行驶路面的不平整等原因都会引 起汽车的振动。 在本驾驶系统中通过力反馈系统控制方向盘的振动过程来表达上述情况, 将 发动机启动过程、 行驶在砂土路面或者其他路面所引起的汽车的振动状态写成专门的力反馈 文件, 在汽车发生上述情况时调用

21、这些文件, 驱动方向盘振动,形成力反馈效果。 真实驾驶 过程中的方向盘回正力矩与路面对转向轮的反作用、 转向机构的摩擦力和前轮与转向系的惯 性等方面有关, 具体运算过程比较复杂, 本虚拟驾驶系统采取简化措施, 和各个踏板的反力 一样,通过游戏杆机械结构中的弹簧来调节。三、声音处理四、主要类介绍根据场景管理平台的功能划分,可将系统的对象类确定如下:1、系统管理模块 应用程序类 CVirtualDriveApp 场景管理类 CVirtualDriveSimManager2、视景图形渲染模块图形渲染核心类 CGraphics材质类 CMaterial 和纹理类 CTexture 光照类 CLight

22、 环境类 CEnvironment3、模型解析模块网格类 CMesh物体类 CObject4、摄像机控制类 CVirtualDrive_Camera5、人机交互管理类 CVirtualDrive_Input6、声音处理类 CSound、CSoundChannel 和 CMP3五、汽车运动仿真算法选择1、汽车运动仿真算法分析运动的模拟一般有两种方法: 第一种是根据牛顿第二运动定律得到的运动学方程, 运用 微积分学知识, 结合运动的初始条件直接得到封闭式解答, 这种方法特别适合于对一些简单 运动进行精确的模拟; 第二种方法是对建立的运动学方程作泰勒展开, 运用数值积分的方法 求解,这种方法适合于对

23、一些高阶导数难于求解或无法求解的复杂运动进行模拟。 第一种方 法在大规模场景的实时仿真系统中很少被用来模拟汽车以及其它运动状态比较复杂的物体。 而数值积分的方法在处理这一类问题上有一定的优势, 运用数值积分的方法来估算运动方程 的近似值, 求解过程则比较简单, 而且容易理解, 算法的精度通过一定的改进可以得到有效 的控制,同时,舍入误差也相对较小。2、数值积分仿真算法欧拉刚发是现在莫场景仿真中最常用的一种方法。 由于欧拉方法只需要作一次泰勒展开 式运算,运算速度较快, 在视景系统开发中应用较为广泛。但由于其截断误差较大,在模拟 汽车加速和减速运动时的真实感不够。 随着计算机软硬件的不断发展,

24、用精度更高的算法模 拟汽车运动己成为可能。 改良的欧拉方法只需要多做一次泰勒展开式运算就可以将截断误差 由( t)2上升到( t) 3阶,在汽车虚拟驾驶系统的开发中采用这种方法模拟汽车的运动,可 取得比较好的仿真效果。而龙格 -库塔法由于涉及到更多的泰勒展开式计算,与改良的欧拉 方法相比,在仿真程序编程试验中,效果不是很明显。六、汽车运动仿真模型1、汽车速度变化仿真模型在汽车速度仿真模型中, 传统的方法是采用经典欧拉法来仿真计算, 为了提高仿真精度, 采用改良型欧拉法后的汽车速度的离散仿真模型。 采用改良后的欧拉法在一次仿真过程中计 算两次加速度值,而在采用 Runge-Kutta 法的汽车速

25、度仿真模型在一次仿真过程中将计算四 次加速度值, 二者都得到较为真实的仿真结果, 但后者的缺点是在较短的时间内运算的数据 量较大。2、汽车行驶方向和姿态变化仿真模型七、汽车行驶过程地形检测1、碰撞检测算法由于汽车操纵模型的运动具有实时性和可操控性的要求, 所以在虚拟驾驶中的碰撞检测 应采用实时碰撞检测方法。在实时碰撞检测中主要采用两种碰撞检测算法:基于OBB包围盒的碰撞检测和基于基本几何形体 (三角形) 的相交测试, 前者可以快速剔除不可能相交的 部分,后者则对可能碰撞的部分进行精确判断。2、汽车地形检测3、地形对汽车运动的影响八、汽车操作信号的输入操纵部件的信号流程如图 5-4 所示。图4操

26、作设备第号流程其它的操作如点火、鸣笛以及转向提示等,可通过游戏杆的按钮来输入,在每个固定的仿真周期内,通过 Direct In put接口将游戏杆的信号读入输入模块中,将模块中的数值读入 汽车动力学计算模块中,完成汽车的运动计算。九、汽车数据模型汽车数据模型就是将某种型号的汽车整体参数、 发动机仿真拟和曲线参数以及汽车传动 系数等数据制作为单独的数据文件, 在虚拟驾驶中,通过选择不同的汽车数据文件可以选用 不同的汽车来仿真。十、汽车行驶仿真过程1、汽车驾驶过程整体仿真在每一时刻汽车的运动可以分解汽车局部坐标系的沿z轴的前后移动、绕y轴的旋转运动、绕x轴的旋转运动以及绕 z轴的旋转运动,它们分别

27、对应汽车的前进和后退、横摆、俯 仰以及侧倾等运动,组合在一起就可以模拟汽车驾驶时的基本运动。而这些运动都是由操作人员的输入、汽车当前的运行状态以及汽车所处的地形和路面共同决定的。由于汽车运动过程中,汽车的各种物理状态和参数受到驾驶人员的操纵而变化。所以在每一次渲染的间歇时间内,需要读取驾驶人员的操作输入数据,然后根据汽车动力学模型和汽车运动仿真模型, 通过计算后得到汽车的运行参数,进而得到摄像机的运行参数, 然后通过场景管理系统实现场景渲染。在仿真过程中,首先得到某一型号汽车的模型数据,对汽车模型进行初始化, 设定其初始状态,等待点火启动命令, 启动后发动机进入怠速状态,然后在每个仿真周期里面

28、都定时间间隔读取驾驶员的操作数据,根据读取的数据、汽车动力学模型以及当前所采用车型的数 据模型进行汽车速度仿真和姿态仿真计算,同时加上汽车所处的场景地形对汽车的影响,最后输出仿真结果,即汽车在下一仿真周期内所处的位置、行驶方向和姿态。图5 5汽车模型虚拟驾驶仿真过程框图2、汽车起步过程仿真在正常起步过程中, 随着离合器踏板的抬起, 从动轮的传递扭矩逐步增加,汽车车速将随之不断增大,当离合器从动轮的转速和发动机转速相等时,起动过程结束。另外,通过此仿真过程也可以模拟出驾驶人员的某些不良操作后汽车发动机转速和车速的变化过程,如在起步过程中,驾驶人员操作离合器踏板松开速度过快,而油门开度没有相应地增

29、大,导致在离合器滑磨过程中,离合器传递力矩大于发动机的输出转矩,汽车将会发生向前窜动, 严重时发动机的转速将会迅速下降,甚至会低于其最低转速而熄火。在虚拟驾驶系统中,汽车速度变化仿真过程主要描述在驾驶人员的加速、制动、换档等操作下,汽车发动机转速和汽车行驶速度的变化过程。在汽车实际的运动中, 其运动可由各个运动方向上的速度、 加速度表示。本虚拟驾驶系统中, 汽车在前后运动表示为汽车沿局部 坐标系z轴的前后平移。在每个仿真周期内, 读出操作人员的控制数据,通过速度仿真模型 计算出加速度数值,得到下一个仿真时刻的速度, 设定在下一个仿真周期内汽车前进的距离, 经过时间驱动产生连续的运动效果。汽车前

30、后运动与驾驶员的人为操作因素相关,如当前档位、油门大小、刹车状态及离合状态等, 在速度仿真过程中将体现这些因素对汽车运动速度 变化的影响。汽车模型速度变化仿真控制过程如图5-7所示。|帕 .0.01 *决il i,1ri 幣 n m h记也込古社rst紙转ar前靠度杠时科連住帀fr ftin柿鸟转1樹肖蕎管度梅葡門帝村门SBHnH札:M扣Q t.或它坪i:”於注卄到MM A的ii rt图弘7汽车速度变化仿真控制过程汽车模型速度变化计算主要包括汽车行驶速度、加速度计算和发动机转速计算两个方面。具体仿真过程步骤如下:首先,判断当前档位,如果不是空档,则汽车的行驶速度和汽车的发动机转速保持固定 的比

31、例关系,如果是空档,执行空档发动机转速计算;其次,计算出此时的发动机输出转矩以及汽车的行驶阻力,代入速度数字仿真模型计算此时的汽车加速度和下一仿真周期的汽车速度;然后,对计算出的汽车行驶速度进行判断。由于模拟输入的制动力矩在汽车停止运行仍将发挥作用,所以要判断下一时间点的速度值,若为负值时,判定速度为零。在速度不为零时,判断此时汽车变速器是否在档位上,如果变速器不在空档上, 则应保持汽车行驶速度和发动机转速的关系, 如果低于发动机最低转速,则应使发动机熄火;如果变速器为空档,发 动机转速和行驶速度脱离固定比例关系,此时判断速度是否小于零,如果小于零则将当前速度置零,不为零则直接输出下一仿真周期

32、的速度。最后,输出计算出的下一点的速度。4、汽车模型行驶姿态变化过程仿真在模拟驾驶仿真过程中, 汽车行驶姿态的变化受多方面因素的影响, 其中包括汽车所处 位置的地形、转向盘的旋转方向及转角、 汽车是否为倒车行驶等。 综合上述因素,给出汽车 在三维环境内行驶方向变化的仿真控制过程,如图 5-8所示。图5-8汽车行驶姿态变化仿真控制过程图在实际驾驶操作中的方向盘自由行程、转向系传动比、方向盘可转动的圈数等在模拟器上都由所使用的专用游戏杆操纵部件实现,系统程序处理的是最终的方向盘转角的信号数值。方向盘转角数值通过人机交互模块检索到信号,转化成相应的数值存入变量后,根据汽车方向仿真模型计算出在一个仿真

33、周期里面汽车行驶相应的旋转角度。汽车的转向是由绕汽车局部坐标系y轴的旋转运动来模拟实现的,所以根据汽车所处地面位置计算出汽车此时的上方 向向量Vup,然后创建一个绕汽车局部坐标系上方向轴Vup旋转前面算好角度的旋转矩阵,通过这个旋转矩阵修改汽车局部坐标系中的前进方向,更新摄像机局部坐标系的观察向量。由于汽车只有在运动时才能实现转向,而汽车静止不动时即使转动方向盘也不能实现转向运动,因此转向的模拟实现牵连于前后运动。在每一个渲染循环时间片内, 一个转向运动过程可以看作是如下两个过程模拟的合成:汽车先根据转向角度绕本车y轴旋转一个角度,朝向下一个渲染循环所要经过的点,然后再按照计算出的仿真周期内的

34、前后运动步长由A点平移到B点。在渲染时连续运动实现汽车的运动转向的视觉效果。5、汽车档位变换逻辑判断过程仿真由于模拟驾驶的换档操纵感和离合器不像实车那样与传动系存在结构上的耦合,无法从机械结构上限制人员的非法操作, 因此需要在换档过程中对人员的操作进行逻辑判断,如果出现非法操作,给出提示并不予以执行。换档操作过程中的几种非法操作情况具体如下:(1)离合器未踩下时,执行换档操作;(2)当车速不为零时,在倒挡和前进挡之间进行换档;(3)不经过空档,直接在两个前进档中转换。图5-11汽主档位变换逻辑判断仿真过程图在换档操作过程中,首先判断当前挡位是否为空档,这样保证任何两个不同档位的转换 必须先换至

35、空档才能进行换档; 其次, 判断当前的行车速度和方向, 排除车速不为零时倒档 和前进档之间的转换; 最后离合器踩下是任何换档过程的一个必要条件, 离合器未踩下时的 换档操作都为非法操作,不予以执行。十一、场景建模1、天空2、雾效3、视景通道多视口显示4、速度仪表盘 速度仪表盘是让驾驶员在模拟驾驶时能在屏幕上面实时显示汽车的车速、 发动机转速以 及一些信息提示等。其实现步骤如下:( 1)用 Photoshop 制作仪表盘纹理,包括速度表盘、发动机转速表盘、指针、发动机 启动点火灯、左右转向灯等,并且将需要透明显示的部分与设定透明色一致。(2)通过纹理类 CTexture中的Load()函数将需要

36、纹理调入内存,在调入过程中设定透 明色和纹理格式。 速度、 发动机转速仪表盘和转速指针, 转速指针的旋转角度由当前汽车的 汽车速度和发动机的转速控制,并与二者成线性关系。( 3)在每个仿真周期内更新指针旋转角度,将三个纹理渲染输出。5、声音模拟十二、虚拟驾驶系统整体框架和仿真过程1、基本结构 虚拟驾驶系统主要包括三个主要组成部分, 分别是系统仿真输入、 场景管理平台和系统 仿真输出等。 在仿真输入部分中, 包括汽车仿真模型、 场景模型和在仿真过程中驾驶人员的 操作。 场景管理平台是整个仿真程序的核心,其得到上述的各个模型后, 可根据驾驶人员操作信息实时进行动力学仿真,输出仿真结果给各个渲染模块

37、。系统仿真输出包括视口输出、 声音输出和操作界面输出三个主要部分。2、虚拟驾驶系统流程图 7-2 给出了虚拟驾驶系统的仿真过程流程框图, 主要包括程序初始化、 各个模型调入、 计算仿真和渲染、仿真结束释放模型四个主要过程。图7-2虚拟驾驶系统仿真流程图3、虚拟驾驶实时仿真程序结构图7-3给出了虚拟驾驶系统的程序结构框图, 清楚地表示出整个程序的运行仿真过程。将流程图用程序结构框图的形式表达出来,WirMainc)VDCrSim Ini| );hliiiniPiim i咖瞩化 DCdrSuiLlEiiK |ICVjjtjiJDeuSliiMmliec:t | !=a 1VDCirSim. I处 j:c;nuvrjriirSim.Run t * ;.VEJCiiiSiuiQuHO.I姑藤时调用VDCaTSimjQirii() (图7-3实时仿真程序结构图

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!