(计算机软件与理论专业论文)面向驾驶训练的汽车驾驶仿真模拟机.pdf_第1页
(计算机软件与理论专业论文)面向驾驶训练的汽车驾驶仿真模拟机.pdf_第2页
(计算机软件与理论专业论文)面向驾驶训练的汽车驾驶仿真模拟机.pdf_第3页
(计算机软件与理论专业论文)面向驾驶训练的汽车驾驶仿真模拟机.pdf_第4页
(计算机软件与理论专业论文)面向驾驶训练的汽车驾驶仿真模拟机.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(计算机软件与理论专业论文)面向驾驶训练的汽车驾驶仿真模拟机.pdf.pdf 免费下载

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

文档简介

浙江大学硕士学位论文 摘要 摘要 计算机图形学和虚拟现实技术在近些年来取得了巨大进步,这为我们开发 驾驶模拟训练系统提供了强有力的工具。本文描述了名为“面向驾驶训练的汽 车驾驶仿真模拟机”( 简称t o d s ) 的驾驶模拟训练系统的实现。该系统旨在为 了满足当今日趋严格的驾驶训练考核的需求而开发 t o d s 包括硬件系统和软件系统,t o d s 的硬件系统由个人计算机、显示 系统和模仿真实驾驶室的驾驶舱组成;软件系统基于由香港理工大学开发 的l u c i d 游戏引擎开发t o d s 基于“人在网路中”模式开发。软件系统的开发分 为软件架构、汽车建模与控制模块、控制信息输入模块、图形渲染、系统功能扩 展模块、评判系统和环境建模模块七个部分。 软件架构用于整合各个子系统并负责维护子系统之间的数据传递关系;汽 车建模主要是汽车三维模型刨建,并利用动态纹理映射技术实现汽车后视镜; 汽车控制部分提供了虚拟汽车和物理控制设备之问的接口抽象,也负责获取来 自硬件设备的控制信号;图形渲染系统以l u c i d 弓i 擎为基础,利用多视角拼接技 术支持1 2 0 。以上的宽视角,使用户产生更接近真实车辆驾驶的沉浸感;系统功 能扩展部分开发了性能分析模块、基于可编程图形芯片的图像处理框架;评判 系统用于对用户操作过程进行评价,并反馈错误操作;环境建模包括考试场地 建模和实际场地建模以及情节建模,考试场景模型按照机动车驾驶员培训管 理规定创建,实际场地包括山区道路、城市场景和高速公路。其中利用模块化 建模技术来简化复杂场景的建模工作,情节建模的主要工作则集中在自动汽车 等a g e n t 的建模上 关键词:驾驶模拟机,t 2 0 。水平宽视角,可编程图形芯片,动态纹理映射,模块 化建模技术,图像处理框架 浙江大学硕士学位论文 a b s t r c t a b s t r a c t r e c e n ta d v a n c e si nc o m p u t e r g r a p h i c sa n dv i r t u a lr e a l i t yt e c h n o l o g yh a v eb r o u g h t u st h ep o w e r f u lt o o l sf o rt h ed e v e l o p m e n to f d r i v i n gs i m u l a t o r s t h i sp a p e rd e s c r i b e s t h ei m p l e m e n t a t i o no fad r i v i n gs i m u l a t o rn a m e dt r a i n i n go r i e n t e dd r i v i n gs i m u l a t o r ( t o d s ) t i f f ss y s t e mi sd e s i g n e dt om e e tt h en e e d so fr i g o r o u sd r i v i n gt r a i n i n ga n d e x a m i n a t i o n t o d sc o n s i s t so f h a r d w a r es y s t e ma n ds o f t w a r es y s t e m t h eh a r d w a r es y s t e mi s c o n s t i t u t e do fp c ,d i s p l a ys y s t e ma n dd r i v i n gc a b t h es o f t w a r es y s t e mi sd e v e l o p e d b a s e do nag a m ee n g i n ec a l l e dl u c i dd e v e l o p e db yt h eh o n gk o n gp o l y t e c h n i cu n i - v e r s i t y t o d si sd e s i g n e du n d e rt h eh u m a n - i n - l o o pr e a l - t i m es i m u l a t i o nm o d e w e d i v i d es o f t w a r es y s t e mi n t o7p a r t s ,i n c l u d i n gs o f t w a r ea r c h i t e c t u r e ,c a rm o d e l i n g ,驷 i n t e r f a c e ,g r a p h i c sr e n d e r i n g , s y s t e me x t e n s i o n ,j u d g i n gs y s m ma n ds c :e n ea u t h o r i n g t h es o f t w a r ea r c h i t e c t u r e ,i n t e g r a t i n gt h es u b s y s t e m sa n dm a n a g i n gi n f o r m a t i o n a n dd a t at r a n s f e ra m o n gs u b s y s t e m s ,i st h ek e yc o m p o n e n to f t o d s i nc a rm o d e l i n g , t h ep a p e rd e s c r i b e st h ei m p l e m e n t a t i o no fc o n v e xm i l t o ru s i n gt h ed y n a m i ct e x t u r e m a p p i n g i no r d e rt od e a lw i t hd i f f e r e n tt y p eo fi ,od e v i c e , w ec r e a t ea l la b s t r a c t l a y e rb e t w e e ni od e v i c e sa n dv i r t u a lc a r t h eg r a p h i c sr e n d e r i n gs y s t e mi sb a s e d o nl u c i da n dp r o v i d e s1 2 0 0h o r i z o n t a lf o va n dr e a l i s t i cv i s u a lf e e d b a c kt og i v et h e d r i v e rar e a l i s t i cf e e l i n go fi n u n e r s i o ns i m i l a rt ot h ef e e l i n gi nar e a lm o v i n gv e h i c l e w ea l s od e v e l o ps o m ee x t e n s i o n , l i k ep r o f i l es y s t e ma n dg p ub a s e di m a g ep r o c e s s i n g f r a m e w o r k j u d g i n gs y s m mc a nh e l pt h e 嘣l i n do u tt h e i r 锄r s t o d s ss c e l l c m o d e li sd e s i g n e da n dc o n s t r u c t e da c c o r d i n gt ot h e “d r i v i n gt e s ts p e c i f i c a t i o n ”o f c h i n at om e e tt h ed e m a n d so f r i g o r o u sd r i v i n gt r a i n i n g a n dt h em o d u l a rc o n s t r u c t i o n m e t h o di su s e di nt h ew o r ko fs c e n ea u t h o r i n gi nt o d s k e y w o r d s :d r i v i n gs i m u l a t o r , 1 2 0 。h o r i z o n t a lf o v , p r n g r a m a b l eg p u ,d y n a m i c t e x t u r em a p p i n g ,m o d u l a rc o n s t r u c t i o nm e t h o d 浙江大学硕士学位论文 表目录 表目录 3 1 用于计算镜面上顶点的纹理坐标的顶点程序 2 5 5 1调用树示例程序4 3 5 2 利用性能分析模块进行分析的结果 4 6 浙江大学硕士学位论文 图目录 图目录 图2 1 系统架构图 图2 2 工作原理图 图2 3m e t h o d 的u m l 图,。 图2 4 可编程g p u 流水线- 图3 1 平面镜示意图- 一 图3 2 凸面镜示意图 图3 3p r o c e s s m e t h o d s 流程图,- 图3 4 加入时阃域后的m e t h o d 流程图,- 。 图3 5 加入时间域后的p r o c e s s m e t h o d s 流程图 图4 1 城市地图 图4 2t i l e i n f o 的u m l 图。, 图4 3 车流模拟示意图 图4 4 一个典型的t r a f f i c l i g h t 的状态转换图, 图5 1 表5 1 的调用树 图5 2 生成调用树 图5 3 调用树节点构造 图5 4 图像处理的基本框架 图5 5f i l t e r 网络, 图5 6i m a g e f r a m w o r k 的u m l 图 图5 7 辉光的产生过程 。 图5 8 产生辉光的f i l t e r 网络7 图5 9 镜子表面辉光的控制 v o m “屹 乃笳汐孔 硒”剪 私钙拍钾的铊记弱 浙江大学硕士学位论文第一章绪论 第一章绪论 随着国民经济的发展和人民生活水平的提高,越来越多的家庭已经拥有私 家车或计划购置私家车。这使得现阶段对驾驶培训的需求大大增加,面对这种 状况,传统的驾驶训练机构必须增加教练车辆和训练场地,这提高了培训成本, 并且造成了巨大的能源浪费不仅如此,传统驾驶训练由于场地局限性缺乏对 真实场景的体验,学员并不能从中学习解决实际驾驶过程中可能遇到的各种突 发事件。在获得驾照之后,汽车驾驶员仍然需要经过一段较长的实习期来适应 真实的场景,这段时间也会是交通事故的商发期。 随着计算机图形学和虚拟现实技术的发展,以上的问题可以在汽车驾驶仿 真模拟机中得到很好的解决。首先,针对各种考试场地建模,并借助对汽车的 动力学模拟,产生接近真实驾驶情境的虚拟环境,在该环境下,用户通过使用该 系统可以掌握基本的驾驶技能。除此之外,为了让用户获得更为真实的驾驶体 验,该系统还提供了更多的实际场景:城市场景、山区道路和高速公路。城市场 景主要用于交通规则的学习,以及与其他车辆之间的交互( 车辆避让、超车等 等) ;山区道路模拟了盘山公路、隧道等场景:高速公路则为用户提供了在高速 公路上的驾驶体验。通过对这些常见场景的模拟,也可以在一个安全的环境下 向用户展示了各种突发事件,这使得学员能够在驾驶技术学习过程中掌握处理 突发事件的能力,增强他们在应对实际情况和上路驾驶时的信心,降低交通事 故发生的概率。这些都是传统驾驶训练方式所不能提供的 为此。我们开发了名为“面向驾驶训练的汽车驾驶仿真模拟机”的驾驶仿 真训练系统。 1 1 虚拟现实技术简介 虚拟现实一词的英文是v m u a lr e a l i t y ,简写为v r 。虚拟现实借助现代计算 机技术,通过生成一系列模仿现实环境的人造虚拟情境,使用户产生身临其境 的体验。虚拟现实也被称作人工环境、电脑空问、人工合成环境或虚拟环境。 虚拟现实的概念很早就有,很多人都有过制造一个机器系统来代替真实环 境的想法。而真正系统的虚拟现实研究始于s u t h e r l a n d 在1 9 6 5 年提出的把计算机 浙江大学硕士学位论文第一章绪论 屏幕看作虚拟世界窗口的想法( “。这个设想向人们展示了利用计算机创造类似 于现实的虚拟世界的美好前景。 实现虚拟现实系统的主要技术关键有 2 1 : 1 实现实时图形环境,让用户看到三维的、交互的逼真图形: 2 应用三维位置、方位跟踪技术及触觉、听觉和嗅觉等传感技术,使用户能 对各种动作、声音快速进行处理和反应; 3 具备高速计算能力,能对各种复杂问题进行运算和处理; 4 应用心理学研究成果,使用户在虚拟现实中获得身临其境的体验: 5 应用智能技术,以帮助计算机理解人的各种动作和信息。 l 2 驾驶模拟机 驾驶模拟机是虚拟现实技术的一个重要应用,所有的驾驶模拟机都应包括 以下四个部分f 3 】: 对汽车模型和道路表面的物理模拟; 对周围环境的模拟,这包括其他车辆和周围的场景; 一个将实时的状况呈现给驾驶员的系统( 视频和音频显示、力反馈等) ; 控制设备( 方向盘、刹车、油门等) 。 驾驶模拟机支持诸如训练、研究以及应用程序开发等。与使用真实车辆进行训 练或测试相比较,驾驶模拟机有很多优点:安全、周围环境和车辆的可重建性、 数据获得的方便性等等。当然,驾驶模拟机也有一些缺点:如果模拟机不能提 供正确的环境模拟,通过驾驶模拟机获得的数据往往具有误导性;另一方面,具 有高度真实感的驾驶模拟机的成本甚至高过真实的汽车。 本章中接下来的内容,首先对相关的历史工作做一个简要的回顾,然后 在1 4 节中将对驾驶模拟机设计中各方面问题做简单的介绍,结尾将对本文工作 以及论文组织作总体介绍。 2 浙江大学硕士学位论文 第一章绪论 1 3 历史及相关工作 驾驶模拟的研究最早开始于飞行模拟的研究。g e n e r a lm o t o r s 和v i r g i n i a p o l y t e c h n i ci n s t i t u t ea n ds t a t eu l l i v e 心i t y 于1 9 r 7 眸代在基- :h u m a n - i n - t h e - l o o p 模式 的驾驶模拟上作出了开创性的工作他们的工作极大的推动了驾驶模拟这一领 域的发展,并对之后的工作产生了深远的影响。在这之后,对这一领域的研究 又持续了3 0 多年。我们开发的系统同样是在h u m a n - i n - t h e l o o p 模式的基础上开 发的。在下一章中,将对我们的系统做一个简要的描述,并在后续章节中对各 个模块迸一步展开讨论。 1 9 9 0 年代,这一领域取得了许多重要进展,许多成功的驾驶模拟机被开发 出来,其中有:i o w a 大学的计算机辅助设计中心开发的i o w a 驾驶模拟机d , 5 1 该仿真器有一个巨大的六脚底座,操作表盘以及操作仪器。驾驶员通过方向盘、 油门、刹车操作虚拟汽车,并能从中获得触觉反馈。在驾驶舱内,高分辨率的图 像通过e v a n s s u t h e r l a n de s i g2 0 0 0 t m 投影到驾驶舱前部的屏幕上,同时,驾 驶舱后部的一个较小的屏幕可以通过真实的后视镜看到。与此相比,通过借助 图形学最新的研究成果以及新一代的图形硬件,我们可以在视觉反馈的真实性 方面作出更进一步的改进工作,给用户提供更好的视觉体验。 得益于计算机硬件的发展,生产价格低廉的驾驶模拟机成为可能。s y s t e m s t e c l m o l o g y i n c o r p o r a t e d 开发出了可以运行在个人p c 上的系统1 6 , 7 1 。s t i 也在 这一领域作了许多开创性的工作。但是,视角的狭窄成了他们的主要瓶颈。 1 4 驾驶模拟机中的关键技术问题 上文中,我们讨论了驾驶模拟机的发展历史及相关工作,在这一节,本文就 驾驶模拟机中的一些关键技术环节傲简要的分析。这些问题也是我们在开发驾 驶模拟机中会面临的主要技术问题 1 4 1 汽轲道路模型 汽车和道路之间的交互是驾驶模拟机中一个重要的技术问题通常,汽车 和道路的交互模型是由一系列的非线性方程组描述的。该模型的输入来自于模 拟器的控制器,包括方向盘、刹车、油门等等。 3 浙江大学硕士学位论文 第一章绪论 汽车状态( 或者整个物理世界) 随时间的演变可以用下式描述: s = f ( x , 0 ( 1 1 ) 其中,s 表示系统状态,d 是描述函数,用来描述系统随时间的变化关系,f 表 示时问,工用来表示除了时间之外的其他所有参量,f 的具体形式可以很简单, 也可以很复杂,或者甚至不能用数学表达式描述有时,的微分形式( 如果有 的话) 相比f 而言可能会比较简单,于是,我们可以用积分的方法求得系统在任 意时刻f 的状态: s ,一s 。+ r 竺a t d i s o = f c lo )( 1 2 ) 其中s 。表示初始状态进一步的,我们可以用数值积分法计算上述积分式; s 础= s ,+ 埘= 删l i m s 。+ j 0 r a 研f d t + 石o f f ( 1 3 ) 这里举一个简单的例子说明式1 3 的作用。我们知道,已知加速度n 和初速 度时,可以通过 s :,+ ;口f 2 ( 1 4 ) 计算物体从o 时刻到t 时刻的位移如果直接通过该式计算位移,对每个时刻t , 都需要做4 次乘法和一次加法,但是,如果用式1 4 、1 3 进行计算,则有: s + f 墅d t 拈卜+ 础 品+ 出= 岛+ a s 2 毋+ m + ,( o a t = s t + ( v o + a t ) t ( 1 5 ) 这只需要做2 次乘法和2 次加法,如此减少了两次乘法运算。但数值积分法的使 用,也造成了一定的精度损失。我们可以根据需要选择合适的f ,在精度和效率 之间取得平衡。 1 4 2 周围环境 周围的环境是需要考虑的另一个重要因素,包括静态的场景和自动a g e n t 静态场景包括起伏地形、城市、高速公路、考试场地等等;a g e n l i m 常指那些会影 响到驾驶员操作的虚拟汽车,或是在场景中走动的虚拟人 4 浙江大学硕士学位论文 第一章绪论 静态场景要能与汽车发生交互:在起伏路面上行驶的汽车会发生颠簸;汽 车会撞到障碍物上。对于起伏地形。通常需要在系统的地形数据库中保存地形 的高度信息,另外,为了真实性,还要有覆盖在地形表面的物体,比如:草地、 森林等等。 a g e n t 的控制常常作为情节控制的一部分来考虑,a g e n t 通常包括车辆以及 其他有可能出现在环境中的其他a g e n t ( 例如:虚拟人) 情节控制还包括一些场 景事件,或者说情节。这些情节可以是一场突发的车祸、警察的询问、突然出现 的穿过马路的行人等等。在场景中添加适当的情节可以让人难以分辨这是真实 情境还是计算机控制的虚拟环境。 1 4 3 图形显示系统 图形显示系统是汽车驾驶仿真模拟机的一个重要组成部分,它将三维的虚 拟场景呈现在用户的面前。用户根据他在屏幕上所看到的情形可以判断出当前 汽车相对于环境和其他物体的位置和运动状态。 视场( f o r ) 、图形细节和帧率是图形显示系统的三个重要指标。视场的垂 直和水平方向大小通常是显示设备,以及观察者到显示设备的距离决定。通常, 显示设备的尺寸和距观察者的距离都是固定的,因此视场大小通常也是确定的。 视场大小也由观察者的最大可视角度决定。 图形的真实程度主要是由一些技术因素决定的:显示分辫率、帧率、模型 与纹理的精细程度等等。这些因素往往受硬件条件的限制。其中,显示分辨率 主要受显示设备和图形硬件的影响,提高分辨率的同时也加大了图形硬件的负 担。帧率则主要受硬件和应用程序本身的影响。模型和纹理的精细程度会对其 他的方面产生影响,精细的模型和纹理虽然会带来较好的视觉体验,但同时也 会降低系统的实时性,因此我们需要在这两者之问取得平衡。 1 a a 力党反馈系统 力觉反馈系统产生更加真实的驾驶体验嘲:晃动的车身、车辆启动刹车时 的加速度感觉、转向时的离心力等等。力反馈系统需要更加复杂的机械及控制 设备的支持,通过计算机将虚拟车辆的运动状态转化为机械运动,通过机械运 动产生力反馈的效果,从而给用户以更加真实的驾驶体验。 5 浙江大学硕士学位论文第一章绪论 1 5 本文的工作及论文的组织 本文主要阐述在开发“面向驾驶硼练的汽车驾驶仿真模拟机”( t o d s ) 的过 程中遇到的若干技术问题及在该系统中所采用的解决方案,主要有:虚拟汽车 控制接口模块、汽车模型中后视镜效果的实现( 凸面镜) 、l u c i d s c e n e b u i l d e r 的 扩展、情节建模( 汽车a g e n t 建模) 、性能分析模块和基于g p u 的图像处理框架。 在接下来的第二章中,本文将对系统功能和结构傲一个总体的叙述;第三章 则重点讲述系统车辆建模部分;第四章将详细描述场景建模的各个方面,包 括s c e n eb u i l d e r 扩展,情节建模等等;第五章讲述性能分析模块和基于g p u 的图 像处理框架的实现。以及它们在系统中的应用:最后,第六章将对本文做一个总 结,并对一些不足之处提出改进思路。 6 浙江大学硕士学位论文第二章系统功能描述和结构设计 第二章系统功能描述和结构设计 本文在绪论中对虚拟现实技术和驾驶模拟机技术做了一个简要的介绍,我 们已经看到了一个一般的驾驶模拟机所应该具有的功能,本章将将针对我们所 开发的“面向驾驶训练的汽车驾驶仿真模拟机”( 以后简称为1 d d s ) 的系统构 成以及各部分功能模块做一个简要的概述,然后在接下来的章节中,将做进一 步的讨论。 2 1 设计目标 正如t o d s 的标题所示,t o d s 是针对驾驶培训开发的,因此,除了要具有 通常的驾驶模拟机具有的主要功能之外,还要能够适应驾驶训练的需求,为此, 我们还需要在t o d s 中解决以下一些问题: 将各种真实的训练场地呈现在用户面前; 提供接近真实车辆的驾驶体验以达到更好的训练效果: 对用户的训练情况进行评判,并能够帮助用户纠正错误的驾驶方式; 提供接近真实的各种情境:城市、高速公路、山区道路等; 对a g e n t 的建模和控制,训练用户和a g e n t 之间的交互操作 为了解决上述问题,我们将系统划分为不同的模块,接下来,本文将对系统 架构及其各个组成部分做进一步的描述。 2 2 系统组成 整个系统由软硬件两大部分组成,如图2 1 所示其中硬件部分包括,驾驶 舱、个人电脑、m a t m x 生产的宽屏环幕仪t d p l e h e a d 2 g o r m 以及用于将机械部 件运动转换为电信号的传感器电路。软件基于l u c i d 游戏引擎开发。软件系统包 括:实时物理仿真及汽车建模、控制信息输入模块、图形渲染系统、系统增强模 7 浙江大学硕士学位论文第二章系统功能描述和结构设计 块、评判系统、软件架构以及环境建模模块。本文的工作主要集中在软件系统 部分。接下来,在小节2 3 、2 4 中,再做详细介绍。 2 3 硬件系统 图2 1 系统架构图 硬件系统主要由驾驶舱和显示设备构成驾驶舱具有和真车接近的各种设 备,可以提供接近真车的驾驶感受。其主要部件有:驾驶舱支架、方向盘、档位、 油门、刹车、离合器、控制面板等等。驾驶员对方向盘、档位等输入设备的操作 通过传感器电路转换为电信号,再通过p c 机上配置的a d 转换装置转换为数字 信号。除此之外,传感器电路还配置有用于获取控制面板按钮状态的键盘电路。 按钮状态转换为数字信号,并通过a d 转换卡上的开关量通道输入p c 机。 在t o d s 中,显示设备由m a t r o x 生产的t r i p l e h e a d 2 g o t m 以及与其连接的 三台显示器组成。t r i p l e h e a d 2 g o t m 并不是一张图形卡,而是一个外置盒子,它 接管了系统当前的图形方案,绘制所有的2 d 、3 d 视频,并支持多屏显示,提供 8 浙江大学硕士学位论文第二章系统功能描述和结构设计 最多高达3 8 4 0 x 1 0 2 4 的显示支持1 9 1 。在强p l e h e a d 2 g o 聊的支持下,t o d s 利用三 个显示器分别显示驾驶员左中右视角的信息。 2 4 软件系统 正如在小节2 2 “系统组成”中所述,软件系统被划分为:软件架构、汽车建 模与控制、控制信息输入、图形渲染系统、系统增强模块、评判系统和环境建模 模块七个部分。本节将对它们的功能做简要阐述,两在接下来的章节中会作迸 一步讨论 2 4 1 软件架构 软件架构主要被设计用来整合上述各个子系统,主要作用在于:信息管理、 场景闻切换、全局参数维护以及各个子系统之阀数据传递豹管理。整个系统 在l u c i d 游戏引擎提供的s t a n d a l o n ef r a m e w o r k 的基础上开发。 2 4 2 实时物理仿真及汽车建模 实时物理仿真包括汽车的动力学模拟、汽车和场景物体的交互以及各种天 气条件对周围环境影响的模拟。 汽车建模的主要工作是创建3 d 模型,3 d 模型要和驾校使用的培训车辆保持 一致,其中比较关键的是汽车上一些关键标记的相对位置要正确( 例如,车前板 上经线、车徽等) 除此之外,还需要在应用程序中加入反光镜的支持,主要是 后视镜的支持。 2 4 3 控制信息输入模块 控制信息输入模块用于从驾驶舱的设备中获取输入信号:方向盘角度、油 门状态、刹车状态、离合器状态以及控制面板上的按钮输入。这些信息被传递 给汽车仿真模块用于控制汽车行为 其中,传感器用于将驾驶舱中输入设备的机械动作转换为模拟信号,经 由p c 机上配备的a d 转换装置,转换为数字信号。控制面板上的按钮状态直接 通过a d 卡数字通道输入到p c 为了有效利用有限的数字通道来表示足够多的 9 浙江大学硕士学位论文 第二章系统功能描述和结构设计 信息,在我们的系统中对控制面板上的按钮产生的数字信号进行分组编码。通 过将功能相关的按钮分组后编码,可以更加有效地进行解码。 程序在运行时,每一帧都会对a d 转换器进行查询,从中获得机械部件的 状态,并将它们转换为汽车模拟模块的输入命令,用来指示虚拟汽车做出相应 的动作为了支持各种不同的控制设备,在t o d s 中,对汽车仿真模块的控制接 口进行了抽象,图2 2 是工作原理图:其中,i n p u t 模块通过驱动程序获取a d 转 控制器驱动程序 i 命令生成器 命令序列 命令序列 图2 2i 作原理图 换器各个输入通道上的输入信号,然后,将输入信号转换成控制汽车的命令, 并送入册结构的命令缓冲中在f i f o 的另一头,汽车模拟模块从缓冲中读出 并解释执行控制命令。我们可以把汽车模拟模块看作一个命令解释器,解释命 令的结果是汽车作出相应的动作:踩油门、刹车等。在t o d s 中,将这种命令称 作m e t h o d 。其u m l 示意图见图2 3 。汽车仿真模块1 a r e n t i t y 在解释m e t h o d 时, 将指向自己的指针作为参数调用m e t h o d 的a p p l y 方法,在a p p l y 方法中才真正地 调用t c a r e n t i t y 提供的控制汽车的接口。使用这种方式间接调用t c a r e n t i t y 的控 制接口,实际上是将控制汽车的方式转换成数据驱动,这就将处理控制输入 的i o 模块同汽车的控制模块分开,使得程序结构更加清晰,模块化。为今后进 一步增强功能的开发提供支持。例如:可以实现一个自动产生操作序列的模块, 该模块生成一段标准的驾驶过程所需的所有操作命令流,从而产生操作演示动 1 0 浙江大学硕士学位论文 第二章系统功能描述和结构设计 lq y p c l 一 i m e t h o d r t c a r e n t i t y li i + a p p l y ( i nc q r ? t c a r e n t i t y p t r ) v o i dl + s e t g e e r ( i ng e e r :i n t = 2 1 :v o i d 2、z、 + s e t b r a k e ( i nb r a k c :f l o a t = o ) :v o i d l + s e t s t e e r ( i ns t e e r :f l o a t ;0 ) :v o i d 1 个 r _ f s h a r e d p i r i i l 1 s e t s t r s e t g e e r l i - m s t e e r :f l o a t = 0 。 i - m c , r :i n t 2 0 d 晰n 出- 列。t c a r e n t i t y ) l + a p p l y o :v o i d + a p p l y ( ) :v o i d i t c a r e n t i t y p t r l il it il s e t b r a k e - m s r a l 【c :f l o a t + a p p l y ( ) :v o i d 图2 3m e t h o d 的u m l 图 画;也可以记录下操作序列,然后将整个驾驶过程重放,帮助用户分析自己在驾 驶过程中的问题;另外,由于命令数据化,可以对命令流进行分析,这样可以对 一些基本操作错误进行判断( 比如:正常操作时,躁油门前应该先踩离合,相应 的,在命令流中,与油门对应的m e t h o d 应该出现在与离合对应的m e t h o d 主l 后) 。 2 4 4 图形渲染系统 图形渲染系统的主要工作是将实时物理仿真的状态显示在计算机屏幕上, 这些信息将作为驾驶员进行操作的主要依据。驾驶员根据当前在屏幕上看到的 影像判断当前虚拟汽车相对周围物体的位置,进而作出相应的操作,这些操作 将被反馈给系统,再由系统经过一系列的运算后产生新的状态,最后,图形系统 再将这新的状态渲染到屏幕上,如此反复。 浙江大学硕士学位论文第二章系统功能描述和结构设计 2 a 5 可编程s h a d e r 从第三代图形处理器起,g p u 开始支持顶点编程的能力,其中包括,n v i d i a 的g e f o r c e 3 t m 和g e f o r c e 4 t i t m ,m i c r o s o f t 的x b o x t m 和a t i 的r a d e o n t m8 5 0 01 1 0 _ 1 2 1 当前高速发展的图形硬件,为我们提供了越来越灵活的可编程s h a d e r ,支持 在s h a d e r 中进行更多复杂的计算。在最新的d i r e c t x l 0 t m 开始支持统一渲染架构, 以及可以对几何信息进行处理的g o a m e u ys h a d e r t ”1 。如图2 4 是一个简化的可 编程g p u 流水线,不包括g e o m e t r ys h a d e r 。 几 顶点流 图2 4 可编程g p u 流水线 在强大的可编程图形硬件的支持下,许多渲染算法都可以通过着色器语 言高效地实现。这也是近年来的非常热门的研究方向,有不少学者就在研究 1 2 浙江大学硕士学位论文第二章系统功能描述和结构设计 如何将一些传统的渲染算法转换为g p u 支持的算法,从而来提高渲染效率。比 如:f o l e y 、p u r c e l l 等人在基于g p u 的光线跟踪算法上的工作1 1 6 1 、k i p f c r 等人开 发的基于g p u 的粒子系统【切以及h o p p e 提出的基- 于g e o m e t r yc l i p m a p s 的地形绘 制算法 j s j 。 有许多高级着色语言可以代替直接使用汇编进行编程,常见的着色语言 有翻x a r 的r e n d e r m a n 撙1 、n v i d l 氏 的c gs h a d i n g l a n g u a g e l 2 0 1 、m i c r o s o f t 的h l s l l 2 j l 以及o p e n g ls h a d i n gl a n g u a g e 2 2 1 。 尽管在编程的便利性上,高级着色语言的使用已经是一个很大的进步,但 是,它仍然存在很大的局限性,程序员仍然需要关注渲染状态的控制,s h a d e r 秸a 序的加载、参数的设置、纹理的加载以及需要多遍渲染时需要的应用程序代码 的支持。这些都给程序员带来了很大的负担,解决上述问题的其中一个办法就 是使用e f f e c t f r a m e w o r k 。 2 4 5 1 f xe f l e e tf r a m e w o r k 驰细m 例口廊处理流水线状态,包括加载s h a d e r 程序和纹理数据,在应用 程序中为s h a d e r 程序设置全局参数,以及多遍渲染的支持。它也提供许多工具, 用于加载效果( e f f e c t s ) 和s h a a e r 程序。通常情况下,s h a d e r 程序、流水线状态以及 渲染遍( p a s s ) ,以文本文件形式给出,比如,d i r e c t x 支持的f k 文件1 2 3 1 。 e f f e c t f r a m e w o r k 的想法最初用在q u a k e3 引擎中 2 , 1 1 ,允许用户使用脚本化 的s h a d e r 程序来控制游戏中角色或物体的视觉效果。该系统的出现早于现在 广泛应用的可编程硬件,因此也缺乏现有的e f f e c t f r a m e w o r k 廖j l 具有的许多特 性目前,应用广泛的e f f e c t f r a m e w o r k r 暂d i r e c t x f x 和c g f x ,它们分别是着色 语言碰,s l 和c g s h a d i n gl a n g u a g e 的扩展它们都支持使用多个s h a d e r 程序和多 遍渲染( p a s s ) 生成实时的效果。s h 栅序和渲染遍( r e n d e rp a s s ) 都放在特定格式 的文件中。 l u c i d 系统所支持的e f f e c t f r a m e w o r k 是基于历r e c t xf x 的,并且在此基础上 作了一些封装和扩展,例如,提供了更多的语义符号。我们的系统利用这个框 架,实现了一个改进的镜面渲染算法,用于模拟凸( 凹) 面镜的效果;雨天车窗 上水珠效果的模拟;凸面镜模拟将在3 2 3 中给出详细的介绍。另外还实现了一 个基于g p u 的图像处理框架,该框架提供了较为通用的图像处理能力,在此基 础上,本文在t o d s 中加入了实时辉光支持。 浙江大学硕士学位论文第二章系统功能描述和结构设计 2 a 6 评判系统 评判系统是面对驾驶训练的驾驶模拟机的重要组成部分。在评判系统中, 程序需要对用户驾驶情况进行跟踪,并对其训练成果进行评判,使得用户可以 在没有教练或者较少的教练干预下进行自主训练,并能根据评判结果了解训练 过程中出现的主要操作错误,进而予以改正。 2 4 7 环境建模 环境建模包括两个部分:周围环境的三维模型的创建和物理因素的建模。 除了创建三维模型之外,还要给予三维模型一些环境信息,如地面的可通过性 等等 2 4 7 1 三维建模 环境建模包括建立逼真的考试用场地、城市、高速公路以及山区道路。其 中考试场地包括:桩考、圆饼路、单边桥、直角转弯、侧方停车、上坡定点停车 与坡道起步、限速通过限宽门、百米加减档、起伏路驾驶及曲线行驶。用户可以 在考试场景下练习基本的驾驶技术:挂档、倒档、直角转弯等等。我们的系统为 城市场景提供了诸如,十字路口、丁字路口、人行道,人行横道,6 车道宽的马 路等等城市交通环境。不仅如此,还有交通灯、路面标志、路牌、路灯等市政设 施用于帮助用户体验在城市中驾驶的感觉,同时从中学习城市交通规范。而高 速公路和山区道路则用于帮助用户熟悉相应的实地场景。 环境建模主要由3 d sm a x 完成,利用f x 效果框架实现一些高级着色效 果。对于大型场景,例如城市场景,我们采用瞵1 中提到的基于t i l e 的建模方 式。每佃k 都是一些基本的模型单元,通过将t i l e 的大小及边界形状标准 化,t i l e 与t i l e 之间可以做到平滑拼接。这种模块化的建模方式,大大简化了大型 场景的建模和维护工作。另一方面,从性能上考虑,分块的场景有利于渲染引 擎进行整块的可见性判别,从而大大加速了渲染速度。 2 4 7 2 物理因素 物理因素主要是指与三维场景相对应的碰撞体的物理特性,具体一点说, 就是地面、栏杆、房屋等会和汽车产生碰撞的物体表面的力学参数:摩擦系数、 1 4 浙江大学硕士学位论文第二章系统功能描述和结构设计 弹性参数等等。物理参数设定的合理与否,直接关系到仿真的真实性。通过为不 同条件下的地面设定不同的参数,可以模拟在这些条件下汽车会产生的行为。 2 a 3 3s c e n eb u i l d e r 苜景 对于通过3 d sm a x 建立的三维模型,其中仅仅包括一些模型的信息,网格、 材质、灯光等。而l u c i d 提供的s c e n eb u i l d e r 可以向其中添加碰撞体、光源、声音 等元素。如果仅仅是渲染场景,这些就足够了,但是,我们的系统还需要从场景 数据中获得更多的信息:需要在场景数据中标识出训练车出现的位置;需要提 供给a g e n t 抽象的场景信息一区域的可通过性、道路信息等;评判系统也需要区 域信息来辅助评判。 为了能在场景建模时加入更多的信息,我f f 毛e l u c i d 游戏引擎提供的非常简 单的场景编辑器( s c e n eb u i l d e r ) 的基础上作了一定程度上的扩展一一增加配置 文件界面并向场景中加入辅助节点( 碰撞体) 。在配置文件中可以加入一些与场 景关联的全局信息:场景名称、天气信息、路面信息等等。辅助节点可以标识出 训练车出现位置、特殊区域等信息。这些节点在场景更新时能得到及时同步的 更新,这可以避免了数据不一致现象的发生。同时,这些辅助节点在场景完全 导入后可以从场景中动态删除,不会对之后的模拟带来任何影响。 2 4 7 4 情节控制 在日常的场景下,有许多和车辆交互的情境,例如:在城市道路上行驶时, 除了用户驾驶的车辆外,也需要存在其他车辆、行人等等。这可以帮助用户从 中学习超车、并道、避让行人等驾驶技术。除此之外,对突发事件的处理也是驾 驶训练一个重要组成部分,这也是传统驾驶模拟训练方式所无法达到的。本文 将在第四章中详细讨论a g e n t 的建模,其中包括车辆、交通灯等 2 4 8 系统功能扩展 在_ l u c i d 提供的引擎基础上,为了适应我们的开发需要,我们对其做了一定 程度的扩展,自己开发了一些具有一定通用性的组件。其中包括:性能分析模 块和基于g p u 的图像处理框架。我们将在第五章中给出详细的介绍。 1 5 浙江大学硕士学位论文第二章系统功能描述和结构设计 2 5 小结 本章介绍了t o d s 系统架构。t o d s 系统主要包含两个部分:硬件部分和软 件部分。硬件部分以一台普通配置的个人p c 为核心,还包括模拟真车的驾驶舱、 传感器电路、信号输入设备、宽屏环幕仪等。软件系统由实时物理仿真及汽车 建模模块、控制信息输入模块、图形渲染系统、系统增强模块、评判系统、软件 架构以及环境建模模块七个部分组成。在接下来的章节中,将对本文在整个系 统中所作的主要工作做进一步的阐述。 1 6 浙江大学硕士学位论文第三章实时物理仿真及汽车建模 第三章实时物理仿真及汽车建模 3 1 简介 在开始介绍汽车的物理仿真之前,这里先对汽车的原理做个简要的介绍。 虽然汽车类型很多,有货车、越野车、客车、轿车等等,但是它们的基本构成和 基本的原理都是一致的,本节中,将对汽车的基本构成和动力模型做一个简要 的介绍。 3 1 1 汽车的基本构成 汽车通常由动力装置、底盘、车身及电气设备4 个部分组成。 目前,汽车的动力装置通常是活塞式内燃发动机,发动机为汽车行驶提供 动力而汽车底盘则接受发动机动力,使汽车产生运动,同时,底盘接受驾驶员 的操作,并将操作转换为控制动作,使汽

温馨提示

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

评论

0/150

提交评论