2016/1/7 16:12:23 车辆动力学虚拟仿真软件的设计应用操作模式

车辆动力学仿真软件的设计主要是将车辆动力学模型和视景系统通过数据通讯集成在一起,从而实现汽车模拟器软件仿真的功能。本章将依次介绍以Simulink 汽车动力学模型为核心的仿真回路和以 Vortex 为核心的仿真回路的实现过程

 系统功能的实现

汽车模拟器车辆动力学仿真软件第一部分是以 Simulink 汽车动力学模型为核心,采用主机/目标机的形式,将汽车动力学模型的求解部分放在 x PC 实时系统中完成,采用 UDP/IP 协议通信将求解的结果传送到主机供虚拟视景系统使用。这一部分的视景系统中的各种响应都是通过 Vega API 函数来完成的。

汽车虚拟仿真软件模型操作

汽车模拟器车辆动力学仿真软件另一部分是采用 Vortex 物理引擎来实现汽车动力学模型的求解和视景系统中各种响应。下面将依次介绍各部分的实现过程。

第一部分的实现

该部分的重点在于将 Simulink 汽车动力学模型与第 4 章建立的 Vega 实时应用程序集成起来,形成一个完整的车辆动力学仿真模块。其次是编写软件界面。

动力学模型与虚拟视景系统的交互

通过 x PC  API 函数在 VC 中调用汽车动力学模型,形成与虚拟视景系统的交互。通过人机接口将车辆的控制命令发送到实时系统中进行模型解算,以实现对车辆运动状态的实时控制。

(1) 控制命令的输入 本文采用键盘输入,控制程序中几个变量 :m_wheel 、 m_throttle 、 m_brake , 其 中 m_wheel 表 示 方 向 盘 输 入 角 度 ;m_throttle 表示汽车的油门大小;m_brake 为制动器踏板的位移大小。不同的按键消息,被虚拟仿真系统中的键盘监视函数接收,便可实时获取控制汽车的模拟控制输入。

(2)获取实时地形信息

 通过获取 car_use 的碰撞检测结果,可以实时地获取当前汽车的俯仰角和侧倾角。

(3)x PC  API 函数的调用 x PC  Target 是 Math Works 公司开发的基于 RTW 体系框架的附加产品,可将 PC兼容机转变为一个实时系统,且支持多种类型的I/O 设备板。采用 x PC Target 可将七自由度整车模型的求解与视景系统的图形渲染独立开来,通过 UDP/IP 协议完成实时系统与主机之间的通讯。这种方法有以下好处:

1)可直接对 Simulink 模型中的参数进行修改,不需要将其转化成复杂的代码。

2)能将动力学模型求解部分与虚拟视景图形渲染部分独立开来,提高整个软件的可靠性和快速性。

 软件界面的实现

本文在基于 MFC 的 Vega 应用程序的基础上,使用CDialog Bar 类在视图窗口左侧添加了一个对话框,来实现仿真软件与 x PC 实时系统的连接以及控制模式的切换。实现的具体过程参见文献,效果图如图所示:

  虚拟仿真系统的效果图

第二部分的实现

根据使用 Vortex 函数库编程的基本步骤,结合已经建立的 Vortex 汽车动力学模型以及汽车三维模型和虚拟场景,实现第二部分的功能。其中包括创建地形模型、给各部件分配材料属性等,最终建立主循环函数。

(1)创建地形模型 要使建立的 Vortex 汽车动力学模型正常运行,还需添加地形模型。地形模型主要给汽车提供了一个仿真运行环境,使其具有碰撞检测功能。

 (2)注册各部件材料属性 考虑到底盘、轮胎与地形的之间的摩擦影响,还需设置它们之间的摩擦系数,在 Vortex 中使用 Vx Material Table 类来实现摩擦系数的设定。首先在材料表中注册底盘、轮胎、地面三种材料属性,接着再设定摩擦物体之间的摩擦系数。

软件运行效果

在车辆动力学仿真软件的第一部分中,首先输入目标机的 IP 地址及端口号,连接 x PC 后,开始动力学模型的仿真,然后再单击 Vega 接口启动虚拟场景的仿真,最后单击模式切换使动力学模型求解的结果返回到虚拟场景中来控制汽车的运动。再次点击模式切换,则没有动力学模型的控制,而只是通过简单的加减速来模拟汽车的运动行为。

   两种方法的对比

车辆动力学仿真软件是采用两种不同的方法来实现的,第一部分的实现过程如下:先在 Simulink 中建立汽车动力学模型,接着使用 Multigen  Creator 建立汽车的三维模型和虚拟场景,然后在 VC 中使用 Vega API 函数建立基于 MFC的虚拟场景的实时应用程序,最后通过 UDP/IP 协议进行虚拟视景系统与车辆动力学模型间的数据交互,从而实现汽车模拟器软件仿真的功能。第二部分则是建立在 Vortex 物理引擎的基础上的。Vortex 不但可以进行多刚体动力学仿真还具有视景仿真的功能,它能直接调用.flt 文件进行三维实体建模,并通过其强大的物理仿真引擎来驱动图形渲染。对比这两种方法,各有优缺点:

(1)采用方法一需要进行大量的建模工作,要求开发者对汽车动力学有较深的研究。采用 Vortex 则可以直接调用 Vx Vehicle 模块中现有的函数,建模方便。

(2)方法一在 VC 中调用 Vega  API 编写 Vega 实时应用程序,可以充分利用MFC 强大的功能编写漂亮的界面。而方法二是基于 Windows 控制台程序来开发的,界面单一。

(3)采用方法一开发的 Vega 实时应用要求开发者对各种消息编写响应程序,而 Vortex 则可根据仿真对象的不同状态提供不同的响应。

(4)采用方法一将视景系统和汽车动力学模型的解算独立开来,提高了整个仿真的响应速度,实时性高;采用 Vortex 开发的仿真模块,实时性还有待提高。

经过上述分析可知,采用 Vortex 开发车辆动力学模型,将动力学模型解算部分与视景系统分开,形成分布式仿真系统,通过 UDP/IP 协议进行两者之间的通讯,这样既能充分利用 Vortex 强大的物理引擎,还能提高整个仿真系统的实时性,是开发汽车模拟器车辆动力学仿真软件的最佳解决办法。


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