2016/1/8 16:04:58 运用3D游戏引擎研究汽车制动稳定性的虚拟实验方案

虚拟试验方案

目前针对汽车制动稳定性的虚拟展现研究主要通过 VRML 编程实现,能够完成虚拟展现功能,但其缺陷在于:

(1)VRML 文件需要 VRML 浏览器解释执行,复杂的三维模型将降低浏览器速度。此外VRML 浏览器非主流浏览器,系统可移植性弱;

(2)此类仿真系统功能单一,特别是没有反映车轮的运动状态。

运用 3D 游戏引擎制作仿真系统能够很好解决以上问题,而在第三章中已经证明游戏引擎自身物理引擎内物理模型相对简单,不能够真实反映车辆制动时运动状态,需要将本文建立的动力学模型编制成算法作为车辆制动的控制模块对虚拟车辆进行制动控制。虽然模型的准确性已经得到验证,但是虚拟仿真对于模型还有简洁性的要求,即模型不能因为计算过于复杂而明显降低系统画面渲染速率,使得虚拟仿真失去连续性和实时性。

因此,为验证模型简洁性,同时完成采用游戏引擎进行汽车制动稳定性虚拟仿真的任务,采用如下虚拟实验方案:

(1)  将本文所建汽车制动稳定性动力学模型编制成算法,从而能够将其作为车辆制动的控制模块对虚拟车辆进行制动控制。

(2) 利用游戏引擎设计开发虚拟仿真系统,该部分的设计开发工作在本章第二节进行详细说明;

(3)  分别用引擎自身物理模型和本文所建汽车制动稳定性动力学模型控制汽车制动过程,采集制动过程中系统运行界面帧率,通过对比实验数据,证明本文建立的动力学模型相对于引擎自身模型没有降低画面渲染速率,完全可以满足虚拟展现对画面渲染实时性、连续性的要求。

通过以上方案,就能够证明本文所建汽车制动稳定性动力学模型能够同时满足虚拟仿真对于模型准确性和简洁性的要求,同时证明 3D 游戏引擎完全能够用于汽车制动稳定性的虚拟仿真实验,实验结果无论是数值结果还是虚拟车辆制动行为展现结果都能够满足要求。

方案可行性研究

该虚拟仿真方案的难点和技术核心是汽车行为的虚拟展现,本文仅建立了汽车制动动力学模型,但是汽车运动是一个复杂的系统,还应该包括驱动、转向等动力

学特性。解决该问题,再次体现了将游戏引擎引入汽车仿真的巨大优势。由于汽车竞技类游戏广受欢迎,因此目前部分游戏引擎自带了汽车功能模块,用于汽车游戏的开发,而汽车功能模块中则包含了相对全面的汽车动力学模型,能够实现车辆启动、加速、转向、减速及制动功能。

3D游戏引擎结构图

本文研究所采用的游戏引擎,就提供了汽车功能模块,该汽车模块依赖于物理引擎中的动力学模块部分。如图 4.1 所示,描述了引擎汽车功能模块在物理引擎中的组织结构。Vehicle 模块本身也可以再进行细化拆分,为便于理解,在此将其划分为制动系统模块 Brake System 和其他动力学模块 Other Dynamics,两者均依赖于物理引擎中的Dynamics 模块。本文在该引擎的架构基础上,将所建制动动力学模型作为一个单独的功能模块 Dynamic Simulation 加入虚拟实验系统中,在汽车制动时,替代 Vehicles中的 Brake System 进行制动控制。该功能实现的基础是 Vehicle 提供了一组 Set 函数,使得可以通过数据控制汽车车速、轮速、转向等运动状态。Dynamic Simulation 和Brake System 都依赖于 Vehicle 中的 Other Dynamics 模块,因为 Other Dynamics 包含了除制动外汽车运动的特性模型,包括车辆与环境以及车辆自身各部分之间的相互。

综上所述,将汽车制动稳定性动力学模型编制成算法加入虚拟仿真系统控制车辆制动在引擎框架下可以编程实现,而系统开发工作不存在技术难点,因此,该虚拟实验方案可行。

汽车制动稳定性动力学模型算法实现

动力学模型都是微分方程,用连续系统的形式描述,只有使用差分的方法将连续方程变为时间离散的差分方程才能通过计算机语言表示成程序。数值解微分方程的方法很多,一般采用四阶龙格库塔方法和尤拉方法。本文采用尤拉方法将动力学模型编程实现。系统收到刹车信号后开始,每一帧图像,算法运行计算一次,直到车速为零制动完毕时结束算法。算法详细描述如下。

算法3.1 汽车制动稳定性动力学模型差分计算算法

输入:整车质量,车辆绕垂直轴的转动惯量,车轮间轴距和轮距,前后轮转动惯量,车辆质心高度,车轮半径,车轮横向纵向刚度,制动器制动因素,初始车速,仿真步长,侧向干扰力。

输出:车辆纵向车速,四个车轮轮速,侧向位移,横摆角。

方法:执行以下步骤:

(1) 设置初始车速、制动压力、载荷、车轮侧偏角等参数;

(2)  用制动系统模型计算制动力矩;

(3) 用轮胎模型计算地面制动力;

(4)  用公式(3.6)车轮运动方程计算车轮角加速度进而计算车轮角加速度,进而计算车轮角速度、线速度;

(5)  用公式(3.3)车辆横摆运动方程计算车辆横摆角速度,进而计算横摆角;

(6)  用公式(3.1)车辆纵向运动方程和公式(3.2)车辆横向运动方程分别计算车辆纵向加速度、横向加速度;

(7) 用公式(3.4)载荷转移方程计算车轮垂直载荷;

(8) 用车辆纵向、横向加速度计算车辆纵向车速、横向位移,用公式(3.5)计算车轮侧偏角;

(9) 判断车速是否为零,若为零,算法结束,否则返回步骤(2)。 算法结束。算法控制过程为顺序结构,数据存储也均采用线性数据类型进行组织,因此该算法的时空复杂度均为 O(n)。

实验结果及分析

汽车虚拟仿真软件实验结果分析图

为证明本文所建汽车制动稳定性动力学模型能够满足虚拟仿真对于模型简洁性的要求,分别用引擎自身物理模型和本文所建汽车制动稳定性动力学模型控制汽车制动过程,采集制动过程中系统运行界面帧率,其结果如图 4.3 所示。

如图所示,帧频会有波动,原因是系统进行渲染周期不仅取决于模型计算时间,还包括绘制流水线的计算时间以及绘制当前视域体内三角形网格的数量,而车辆行进过程中由于车身姿态的变化,车身正对虚拟摄像机的区域会不断变化,而且周围环境也会变化,导致每一帧绘制时三角形网格数量是变化的,因此帧频也会随之改变,但是其变化范围相对稳定,而且只要帧频不会持续降到 20frame/s,就能保证画面流畅。实验结果表明,无论是本文汽车制动稳定性动力学模型控制制动还是引擎物理模型控制制动,帧频基本维持在每秒 55 帧到 60 帧之间,两种模型计算运行时帧频基本一致,本文动力学模型并没有增加系统运行时渲染周期,完全能够满足高质量连续画面渲染的要求。


 
QQ在线咨询
销售热线
0371-53302651