2019年汽车驾驶模拟器_第1页
2019年汽车驾驶模拟器_第2页
2019年汽车驾驶模拟器_第3页
2019年汽车驾驶模拟器_第4页
2019年汽车驾驶模拟器_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

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

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

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

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

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

8、硬件平台VC+6.0软件平台结合C+和DriectX9.0函数库进行虚拟驾驶系统研究和开发。采用 3D Max 7.0作为整个系统中场景建模和动画建模工具,场景中的贴图和纹理采用Photoshop图像处理软件来编辑。虚拟驾驶系统场景管理平台设计一、场景管理平台系统功能模块针对虚拟驾驶所应用的场景管理平台可具备以下的两大部分功能模块。小核心模块立体显示网络通信程种特效辅助控制运动录制核,小模现几何运算视景泣染模块 摄像机控制 碰撞检测模型解析模堤 声件处理模坎 人机交互管理 系统管理模块图4-1场景管理平台功能图(1)核心模块该模块完成场景管理平台所需要的一些最基本的处理功能,这是平台中最重要的

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

10、游和显示。它按照人类的正常视觉对场景进行处理,通过可见范围计算裁剪掉视域外的内容,然后通过摄像机的视口变换和投影变换把裁剪后场景投影到屏幕空间。碰撞检测模块:碰撞检测是三维图形引擎中不可缺少的一部分, 应该根据具体的应用 选择不同的碰撞检测算法。在虚拟驾驶过程中,为了增强驾驶的真实性,场景中行驶的汽车 需要进行地形检测、固定物体碰撞检测以及活动物体碰撞检测等。 常用的检测算法有包围盒 检测和射线/多边形检测等。模型解析模块:该模块将模型从数据库存储格式中解析出来,并且渲染过程进行优化处理,提高场景检索速度,提升渲染质量。声音处理模块:该模块完成场景管理平台中的声音和音效处理。在虚拟驾驶过程中,

11、 根据汽车的运动状态和驾驶人员的各项操作,汽车将发出的发动机轰鸣声、紧急制动声、喇叭鸣笛声、风声、与物体碰撞发出的碰撞声以及外围环境声音等。人机交互模块:该模块主要在操作人员的输入、汽车动力学模型与虚拟场景建立起一个互动的桥梁,能够根据人员的操作来实现视景的实时渲染改变,并且通过力反馈设备将场景中的某些信息反馈给操作人员。系统管理模块:该模块是场景管理平台的核心,它创建整个平台程序的窗口并控制程序流。在程序运行过程中,系统管理模块将场景管理平台中其余的模块有机地整合起来,通过处理消息函数,调用相应的模块完成场景调入、用户输入、声效处理和视景渲染等。(2)非核心模块这些模块为虚拟驾驶场景管理平台

12、扩展性的部分,包括以下几个模块:立体显示模块:为了提高虚拟驾驶系统的沉浸感,可根据双目立体投影算法为系统增 加立体显示模块,通过主动立体投影或者被动立体投影,实现场景的立体显示。辅助功能模块:该模块为场景管理平台提供一些辅助功能。对于不同的应用领域,这些辅助功能会有所不同, 但其运行过程由主程序来控制,程序根据触发事件的不同, 把不同的消息发送到与该事件相关的模块进行处理。如在虚拟驾驶过程中可以为驾驶人员提供显示汽车的运行状态信息、标志信息以及场景的提示信息等。网络通信模块:该模块主要为场景管理平台提供网络通信、数据传输以及联网控制等功能。场景管理平台使用的网络传输协议主要是TCP/IP或IP

13、X协议。通过网络技术,还可以进一步实现多通道投影和多人网路联合仿真。各种特效模块:该模块为具体的虚拟现实提供一些特效,如雨滴、雪花、汽车尾气、 喷泉等粒子系统,汽车的后视镜以及虚拟仪表等。实现该模块要根据不同的特效采用适当的 算法,特效的实现通常比较消耗系统资源,因此实现时要在特效效果和渲染复杂度中取一个平衡。运动录制模块:该模块能够记录摄像机的运动轨迹,用于仿真结束后对驾驶人员的操纵过程进行分析。、人及交互控制场景系统输入控制包括由驾驶者控制汽车运动的基本操作,包括对方向盘、油门、离合、刹车和档位转换等,以及触及点火开关、转向指示灯按钮、喇叭鸣笛按钮等辅助性操作,还有就是针对软件运行过程中的

14、某些设置功能的键盘和鼠标操作。读入的汽车运动控制信息, 通过汽车的动力学模型运算后,交互控制视觉场景的显示。画面输出除了视景的变化外,同时输出经过汽车动力模型计算后产生的汽车运行信息,包括当前速度、档位、点火开关状态、鸣笛状态、转向指示状态等。如果仅仅依赖 windows的消息机制,系统的实时性则难以达到要求,由于 DirectInput 直接与设备驱动进行通讯,具有底层输入获取的处理能力,其能够立即响应硬件的中断,不需要经过 windows系统的消息机制,保证信号处理的实时性,所以本程序利用DirectInput组件提供的输入接口功能,实现控制信号的输入。输入设备包括三个设备:鼠标、键盘和专

15、用的驾驶模拟游戏杆。利用了主板上的键盘和鼠标输入接口,使输入信号以系统能识别的键盘鼠标兼容的数据形式输入系统,由 DirectInput获取并处理,游戏杆采用最新的罗技公司 生产的针对赛车类游戏的专业G25型游戏杆,它可以提供包括对方向盘、油门、离合、刹车和档位的操作,通过 DirectInput接口将驾驶操纵信号输入到场景管理平台中。1、操作设备输入的设置和初始化DirectInput组件由支持 COM接口的DirectInput对象和每一种提供数据的输入设备对象 组成。DirectInput对象在程序中表征 DirectInput子系统,用于查询和管理输入系统。创建 DirectInput

16、对象之后,可以使用该对象的接口方法查询系统中的可用输入设备,并为程序中需要使用的每一个设备创建一个DirectInputDevice对象。在DirectInputDevice设备对象创建出来后,必须为它设置设备的属性和数据的读取格式。每一个DirectInputDevice对象都表示了一个输入设备,通过对设备属性的设置,将设备对象设置为鼠标、键盘、游戏杆等,并且 设置了 DirectInput设备的数据读取模式。DirectInput支持两种类型数据读取模式:缓冲区模式和立即模式。缓冲区模式数据是将输入事件的数据保存在缓冲区中,直到应用程序取得这些数据。立即模式数据是指一个输入设备当前状态的映

17、像。在应用程序中,如果只关心设备当前的状态,可以使用立即模式。当 设备的输入事件比设备当前状态对应用来说更重要时,应选择缓冲区模式。对键盘来说,DirectInput不使用字符重复设置。当使用缓冲区数据模式时,模式对键盘 中每个健的按下和释放作为事件来解释,当使用立即数据时,DirectInput只考虑当前状态,而不管windows报告的键盘消息。对于本系统,程序需要获取的主要是键盘上按键当前所 处的状态,即当前被检索查询时是按下状态还是松开状态,所以键盘数据由立即模式数据获得。对于用于虚拟驾驶操作的游戏杆,输入的量中有四个连续变量、档位操作枚举变量以及按钮变量等,在每个仿真周期中需要得到所有

18、的这些操作数值以便于通过动力学计算作出响 应,所以设置为缓冲区模式。2、操作控制参数的获取输入设备初始化完毕后,程序屏蔽了操作系统的键盘和鼠标响应。操作者对键盘、鼠标以及虚拟驾驶游戏杆的操作直接通过DirectInput接口传入系统。读取出驾驶人员的操作数据后,将转向盘和各个踏板的数值进行一定的线性变换,各项数据的数值范围转变到与汽车动力学模型相匹配的范围,然后通过场景管理类将这些数据传递到动力学模型中进行计算。3、操作触感系统在汽车行驶的过程中,驾驶员根据交通环境、路面状况实时操作汽车的操纵装置来改变 汽车的运动状态,汽车改变运动状态后,驾驶员又根据视觉、触觉(路感)和体感的反馈信息,判断原

19、操作的正误, 并对下一次操作做出决策,周而复始地操作,使汽车按驾驶员的主 观意图行驶。因此,“触感”系统的研究是汽车驾驶模拟系统研究的重要内容。操作触感系 统实质是实现操作与汽车状态间信息传递环节的模拟装置,是形成驾驶模拟不可少的重要组成部分。驾驶员的触感信息包括方向盘反力(回正力矩)及振动、油门踏板力、制动踏板力、离 合器反力以及变速器手柄反力,其中方向盘回正力矩和振动是驾驶员触感中最主要的信息。 因此,方向盘回正力矩及振动模拟的逼真度直接关系到驾车路感的真实性,并影响驾驶模拟试验的准确性。在真实的驾驶过程中由于发动机启动、汽车行驶路面的不平整等原因都会引起汽车的振动。在本驾驶系统中通过力反

20、馈系统控制方向盘的振动过程来表达上述情况,将发动机启动过程、行驶在砂土路面或者其他路面所引起的汽车的振动状态写成专门的力反馈 文件,在汽车发生上述情况时调用这些文件,驱动方向盘振动,形成力反馈效果。真实驾驶过程中的方向盘回正力矩与路面对转向轮的反作用、转向机构的摩擦力和前轮与转向系的惯性等方面有关,具体运算过程比较复杂,本虚拟驾驶系统采取简化措施,和各个踏板的反力一样,通过游戏杆机械结构中的弹簧来调节。三、声音处理四、主要类介绍根据场景管理平台的功能划分,可将系统的对象类确定如下:1、系统管理模块应用程序类 CVirtualDriveApp场景管理类 CVirtualDriveSimManag

21、er2、视景图形渲染模块图形渲染核心类 CGraphics材质类CMaterial和纹理类CTexture光照类CLight环境类CEnvironment3、模型解析模块网格类CMesh物体类CObject4、摄像机控制类 CVirtualDrive_Camera5、人机交互管理类 CVirtualDrive_Input6、声音处理类 CSound、CSoundChannel 和 CMP3五、汽车运动仿真算法选择1、汽车运动仿真算法分析运动的模拟一般有两种方法: 第一种是根据牛顿第二运动定律得到的运动学方程,运用微积分学知识,结合运动的初始条件直接得到封闭式解答,这种方法特别适合于对一些简单运

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

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

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

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

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

27、机进入怠速状态,然后在每个仿真周期里面都定时间间隔读取驾驶员的操作数据,根据读取的数据、汽车动力学模型以及当前所采用车型的数 据模型进行汽车速度仿真和姿态仿真计算,同时加上汽车所处的场景地形对汽车的影响,最后输出仿真结果,即汽车在下一仿真周期内所处的位置、行驶方向和姿态。得到乍旃模匣的戊收白火由学"E:切拉志避人及动机怠速扰宓定时间同M或收悌扰敌据图5-5汽车模型虚拟驾驶仿真过程框图2、汽车起步过程仿真在正常起步过程中, 随着离合器踏板的抬起, 从动轮的传递扭矩逐步增加,汽车车速将随之不断增大,当离合器从动轮的转速和发动机转速相等时,起动过程结束。另外,通过此仿真过程也可以模拟出驾驶

28、人员的某些不良操作后汽车发动机转速和车速的变化过程,如在起步过程中,驾驶人员操作离合器踏板松开速度过快,而油门开度没有相应地增大,导致在离合器滑磨过程中, 离合器传递力矩大于发动机的输出转矩,汽车将会发生向前窜动, 严重时发动机的转速将会迅速下降,甚至会低于其最低转速而熄火。图5-6汽车起动过程仿真过程框图3、汽车速度变化过程仿真在虚拟驾驶系统中,汽车速度变化仿真过程主要描述在驾驶人员的加速、制动、换档等操作下,汽车发动机转速和汽车行驶速度的变化过程。在汽车实际的运动中, 其运动可由各个运动方向上的速度、 加速度表示。本虚拟驾驶系统中, 汽车在前后运动表示为汽车沿局部 坐标系z轴的前后平移。在

29、每个仿真周期内, 读出操作人员的控制数据,通过速度仿真模型 计算出加速度数值,得到下一个仿真时刻的速度, 设定在下一个仿真周期内汽车前进的距离, 经过时间驱动产生连续的运动效果。汽车前后运动与驾驶员的人为操作因素相关,如当前档位、油门大小、刹车状态及离合状态等, 在速度仿真过程中将体现这些因素对汽车运动速度 变化的影响。汽车模型速度变化仿真控制过程如图5-7所示。人尊加遑鹿计口刊口帆点七格引增Mn利 卜时剂点的速度转速上网的比例美景,,前通佐利卜忖前速慢黄零 一一一档礼感P图5-7汽车速度变化仿真控制过程汽车模型速度变化计算主要包括汽车行驶速度、加速度计算和发动机转速计算两个方 面。具体仿真过

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

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

32、的数值存入变量后,根据汽车方向仿真模型计算出在一个仿真周期里面汽车行驶相应的旋转角度。汽车的转向是由绕汽车局部坐标系y轴的旋转运动来模拟实现的,所以根据汽车所处地面位置计算出汽车此时的 上方向向量Vup,然后创建一个绕汽车局部坐标系上方向轴Vup旋转前面算好角度的旋转矩阵,通过这个旋转矩阵修改汽车局部坐标系中的前进方向,更新摄像机局部坐标系的观察向量。由于汽车只有在运动时才能实现转向,而汽车静止不动时即使转动方向盘也不能实现转向运动,因此转向的模拟实现牵连于前后运动。在每一个渲染循环时间片内,一个转向运动过程可以看作是如下两个过程模拟的合成:汽车先根据转向角度绕本车y轴旋转一个角度,朝向下一个渲染循环所要经过的点,然后再按照计算出的仿真周期内的前后运动步长由A点平移到B点。在渲染时连续运动实现汽车的运动转向的视觉效果。5、汽车档位变换逻辑判断过程仿真由于模拟驾驶的换档操纵感和离合器不像实车那样与传动系存在结构上的耦合,无法从机械结构上限制人员的非法操作, 因此需要在换档过程中对人员的操作进行逻辑判断, 如果 出现非法操作,给出提示并不

温馨提示

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

评论

0/150

提交评论