车辆刚体动力学ODE物性分析及虚拟仿真
2014-07-20钟相强许德章
钟相强,许德章
(安徽工程大学机械与汽车工程学院,安徽芜湖241000)
车辆刚体动力学ODE物性分析及虚拟仿真
钟相强,许德章
(安徽工程大学机械与汽车工程学院,安徽芜湖241000)
为获得虚拟场景中车辆真实物理运动和交互性,提出一种基于开放式动力学引擎(ODE)的虚拟仿真平台集成方案.构建具有四自由度的汽车刚体动力学简化模型,分析其ODE特性及刚体连接机理,对车身和车轮之间的悬架系统进行分析,采用ODE中Hinge2进行模拟,分析其刚体动力学方程;基于Quest3D和VS2005进行刚体碰撞检测算法研究,构建一个能实现车辆刚体运动和碰撞检测的虚拟仿真平台,实时对车辆刚体动力学相关参数进行输出.经验证,该虚拟仿真系统具有良好的沉浸感、交互性和实用性.
ODE;刚体动力学;虚拟场景;碰撞检测
随着计算机图形技术的发展,对于虚拟仿真系统而言物理真实感成为不可忽视的问题,且会严重影响系统的交互性和沉浸感.如何基于物理的方法进行虚拟场景下的物体运动和交互建模,成为一个重要的研究课题,本文引入一种开放源代码的物理引擎(Open Dynamics Engine,ODE)来研究这个问题. ODE是一个工业级开源软件,能够模拟关节化刚体,具有高级的联结类型和碰撞检测系统,它技术成熟、功能全面,而且平台独立、易于开发,适于对交通工具、飞行器和虚拟现实中物体运动进行模拟[1].然后以汽车虚拟仿真系统的实时交互性和真实沉浸感为目标,以具有物理学特性的汽车刚体模型为对象,采用目前先进的虚拟现实软件Quest3D,开发运行于个人计算机的车辆刚体动力学虚拟仿真系统.
1 车辆刚体动力学模型构建
虚拟仿真系统中构建车辆的刚体动力学模型不应过于简化或复杂,要能够对模型实时计算、提供车辆的实时位置、方向和速度,供场景系统实时显示调用.基于此,对四自由度汽车刚体动力学模型进行简化:沿垂直路面车身的方向位移、沿前进方向车身的纵向摆动、方向盘转角和轮轴转动,基本体现汽车操作稳定性中的车身侧倾、转向特性、制动点头角等主要参数[2-4],如图1所示.
2 ODE物理特性及刚体连接机理
Quest3D支持ODE,在Quest3D中设置物理模拟能产生较好的效果.ODE的连接功能是其一个强大特性,多个ODE形状可通过ODE JointChannel通道连接.Quest3D支持四种类型的连接,包含球副(Balland Socket)、转动副(Hinge)、移动副(Slider)和复合铰链(Hinge2).
图1 汽车刚体动力学简化模型
通过ODE构建动力学模型时,将车辆分为车轮、车身和连接机构三大部分,把它们看作不会发生变形的刚体.对虚拟车辆的物理特性影响最大的是其连接机构,它用来约束车轮与车身的位置关系,并对外力产生反应.从车辆刚体动力学模型基本自由度的分析来看,单独采用基本连接不能满足要求,此处采用Hinge2连接,如图2.该连接可看作一个移动副和一个球副连接的组合,Anchor连接处可绕Axis 1和Axis2转动,能满足转向盘转角和沿前进方向时车身纵向摆动的要求,而Axis 1方向的移动副连接则可满足沿垂直路面时车身方向位移的要求,Axis2自身转动即为车轮转动.该连接能较真实地模拟汽车悬架功能,构建出具有良好物理特性的车辆动力学模型[5-7].
图2 ODE复合铰链
图2中,ODE Joint属性面板中EPR(Error Reduction Parameter)的含义为误差减小参数,具有如下特性:
1)IfEPR=1,即完全消除位置误差;
2)IfEPR=0,即没有误差减小发生(此时c=0);
3)If0<EPR<1,即部分消除位置误差.
ODE中,刚体连接的约束方程为:
式中:v1、v2表示被连接两物体的线速度;ω1、ω2指被连接两物体的角速度;λ为“约束力矢量”,l≤λ≤h,设定其上下限后由ODE自动计算;Ω、J为m×3阶的Jacobian矩阵;C为m×m阶矩阵;c为m×1阶“右置矢量”.
下面重点分析车辆刚体动力学方程.
i)约束车轮和车身的空间位置方程为:
忽略时间模型,从而保证车轮和车身刚体空间位置一致.
ii)约束车轮和车身的速度方程为:
由式(3)可推得式(4).
对照式(1)与(4),可得J1=1、Ω1=-、J2=-1、Ω2=、c=0,如果选定c=0,引入时间模型后,发现在运动中车轮与车身将发生分离,不能相互连接.这是由于现实世界中车轮和车身可以保证行进中速度的绝对相等,见式(5).
如图3,以ODE中的移动副为例,两刚体在连接点处相对于世界坐标系下的速度矢量分别为J1v1+Ω1ω1和J2v2+Ω2ω2.要保证两刚体位置误差在一个合适范围,并保证每个时间步两刚体速度矢量相等,从视觉上看到的便是正常约束状态.
根据计算机硬件水平和场景复杂度,在ODE Joint通道中设定模型参数时,可首先确定ERP值控制车身和车轮的模拟精度,再选择CFM值调整其动力学物理效果.本系统CPU为Intel®Core™2 2.93 GHz,内存4 GB,仿真中选用ERP=0.2,CFM= 0.000 1,获得了较好的模拟效果.
3 车辆刚体动力学场景的虚拟仿真
3.1 车辆刚体动力学场景仿真系统的开发
1)模型导入
Quest3D是一个创建交互式三维场景的虚拟现实软件,可进行诸如计算机游戏、产品演示和虚拟训练等多种场景开发,但其建模能力差,只能进行一些简单的如方体、球等建模,而像汽车这种复杂的模型只能借助于其它的三维建模软件完成,比如3D MAX、Pro/E和UGNX等,文中采用3DMAX完成汽车整体模型的构建,利用*.X格式导入到Quest3D进行编辑和修改[8].
2)通道组织
Quest3D具有一套快速制造模组的流程,利用拖拉方式(Drag&Drop)将行为模组赋予适当的角色,以流程图方式决定模组的执行顺序,所有的编辑器都是可视化的、图形化的,真正所见即所得.
ODE下刚体连接通过ODE Joint通道,它是构建基于ODE物理模型的核心.该虚拟仿真系统中,被连接的刚体有四个车轮和一个车身,对应的通道均为ODEBody类型.ODE Joint通道下共有七个输出接口,从左至右依次为两个ODE Body类型、三个Value类型、一个Matrix类型和一个Value类型.
ODEBody通道下共有三个输出接口,从左至右为Matrix类型、Value类型和DX8 CollisionObject类型,车轮初始位置采用Matrix通道,刚体物理学模拟和碰撞检测的开关则连接到Value通道.根据车身和车轮几何模型边界,车身刚体碰撞体积采用两个立方体组合,车轮刚体碰撞体积为球形.
3)程序发布及运行
通过FilePublish…,选择需要发布的类型,比如exe格式,同时选择发布所需要的cgr文件,即可完成程序的发布.程序发布结束后,通过三维立体投影设备(Harkness专业立体投影幕)和立体眼镜,就能实时观察虚拟仿真效果.
3.2 基于粒子群优化的ODE碰撞检测算法
粒子群优化算法(PSO)是一种新兴的群集智能优化算法,由Kennedy和Eberhart于1995年提出,其思想来源于进化计算理论和人工生命.应用粒子群优化算法主要实现碰撞检测过程中局部最小特征对的搜索.四面体包围盒方法的关键是用几何特征简单的包围盒来包围要检测的模型,对模型的碰撞检测转化为对包围盒的碰撞检测.将碰撞问题转化为搜索两个物体上特征之间的距离问题,选用最简单的四面体包围盒.在检测过程中,只对包围盒重叠部分进行相交测试.由于包围盒总是略大于实际模型,往往需要通过构造层次结构来逼近对象的几何模型,直到获得对象的全部几何特征为止[9-11].粒子群优化算法构建主要从以下几方面进行.
I)粒子群搜索空间构建
两个物体的碰撞检测可描述为三维空间内两物体间是否存在至少一对特征对(ai,bi),使Fp≤δ,Fp为距离函数,δ为碰撞阈值.其中ai∈A(0<i<Na),bj∈B(0<j<Nb),集合A和B中存储每个基本几何元素的AABB包围盒的中心点,集合A和B元素个数为Na和Nb.
II)适应度函数计算
每个特征在三维空间都有一个位置,一个粒子Pk(Ai,Bj)代表两个物体特征对的一个组合.优化目标便是查找一个特征间距离最小的组合.粒子适应度可定义为三维空间中两个特征之间的欧式距离.
式中(x,y,z)为物体三维空间的坐标.
iii)粒子位置与速度更新
假定每个粒子的个体最优位置为运动初期的第一个位置,而全局最优位置就是这些个体位置中最好的一个.粒子的位置见式(7).
根据粒子在搜索空间中的坐标,适应度函数返回当前位置的适应度值,若该适应度值优于此时粒子的个体或全局最优值,则更新,否则不更新.
粒子速度的控制是整个优化的关键.粒子速度随着个体和全局最优位置的变化而变化,朝着适应度值更优的方向加速.粒子速度定义见式(8).
终止条件:一是找到几何模型之间所有的碰撞点,可以设为达到最大次数停止;二是找到第一个干涉点以后则终止粒子的进化,但如果一直没有找到干涉点,则设为粒子的进化代数达到最大数时停止.
粒子群优化碰撞检测算法步骤如下:
①输入碰撞物体的模型,构建层次树,为层次树的节点建立包围盒;
②遍历物体对的层次树,并判断层次树的叶子节点包围盒是否相交,如果相交转③;否则,结束;
③在粒子群搜索空间内设置粒子群种群数m,粒子的初始化位置和速度;
⑤在粒子飞行中对其适应值不断更新,保证飞行范围内的最优值;如果不是最优,则调整自己的位置和方向,寻求最优解;
⑥不断调整飞行中的粒子,以便得到新的位置和速度;
⑦如果满足终止条件,输出碰撞结果,得到最优解;否则,转步骤④继续计算.
3.3 虚拟仿真系统的实现
基于以上对ODE刚体动力学与碰撞算法的分析,通过Quest3D中相应通道构建的基于Harkness专业立体背投的汽车动力学模型场景如图4所示.
图4 汽车刚体动力学仿真虚拟场景
为了实现虚拟仿真的真实感,场景中还增加了起伏路面,操作中可通过键盘的上下左右键或虚拟手柄即可实现前进、转向、后退、不平路面行驶中的车身震动以及动态碰撞响应,能初步满足汽车驾驶和车辆刚体动力学仿真的要求.另外,通过ODE Info Value模块即可实现车辆刚体动力学参数的实时输出,包含车身线速度、车轮速度、方向盘转向角、ODE刚体的力和力矩等参数,可与现有车辆经验参数进行对比分析.
4 结论
基于ODE物性相关理论及刚体连接机制,构建汽车刚体动力学简化模型,结合VS2005程序分析ODE碰撞检测算法和基于Quest3D物理仿真流程,进行汽车刚体动力学虚拟仿真实验,结果表明,在虚拟仿真中基于ODE物理引擎有效增强了虚拟场景中物体的沉浸感、交互性和运动真实性.另外ODE物理引擎的应用大大降低了虚拟仿真对计算机硬件的需求,使整个仿真系统实用性强、灵活性好.随着计算机处理速度的提高和虚拟现实技术的进步,基于ODE物性的虚拟场景仿真在各个行业将得到更广泛的应用.
[1]Raymond CS,JamesM R,Graham R etal.Automated design processmodelling and analysisusing immersive virtual reality[J].Computer-Aided Design,2009(41):1082-1094.
[2]余志生.汽车理论[M].第5版.北京:机械工业出版社,2009.
[3]赵津.基于Quest3D的汽车虚拟驾驶系统的研究与实现[D].天津:南开大学,2010.
[4]江学东.汽车驾驶模拟器视景系统的研究与开发[D].合肥:合肥工业大学,2007.
[5]高嵩,陈先桥,杨菊.基于OGRE和ODE的驾驶模拟系统的设计与实现[J].交通与计算机,2006(1):101-104.
[6]薛方正,刘成军,李楠,等.基于ODE引擎的开放式仿人机器人仿真[J].机器人,2011,33(1):84-89.
[7]Russell S.Open Dynamics Engine v0.12 User Guide[EB/OL]. (2012-03-29)[2012-07-10].http://ode-wiki.org/wiki/index.php? title=Manual.
[8]Act-3D Inc.Quest3D Reference Manual[EB/OL].(2012-03-05) [2012-07-05].http://support.quest3d.com/index.php?title=Reference_Manual.
[9]彭芳瑜,苏永春,邹孝明,等.大型螺旋桨五轴加工中基于方向包围盒层次树的全局干涉碰撞检测[J].中国机械工程,2007,18(3): 304-307.
[10]Bergen G V.Effective Collision Detection of Complex Deformable Models Using AABB Trees[J].Journal of Graphics Tools,1997,2 (4):1-13.
[11]梁利东,钟相强.粒子群算法在不规则件排样优化中的应用[J].中国机械工程,2010,21(17):2050-2052.
【编校:许洁】
ODECharacteristics Analysisand Virtual Simulation of Vehicle Rigid Dynam ics
ZHONGXiangqiang,XU Dezhang
(SchoolofMechanical&AutomotiveEngineering,AnhuiPolytechnicUniversity,Wuhu,Anhui241000,China)
In order toobtain realphysicalmotion of vehicleand interaction in the virtualscene,the virtualsimulation platform integration scheme based on open dynamicsenginewasproposed.Building simple vehicle dynamicsmodelwith four degrees of freedom,analyzing its ODE characteristics and rigid connection mechanism,analyzing the suspension system between thebody and thewheel,using ODEHinge-2 to simulate,the dynamic equation of rigid bodywasanalyzed.Rigid body collision detection algorithm was researched based on Quest3D and VS2005,a virtual simulation platform for finishing vehiclemotion and collision detection was built,it could output real-time vehicle dynamic parameters.The testshows that the virtualsimulation system hasahigh degreeof immersion,interaction and practicality.
open dynamicsengine;rigid dynamics;virtualscene;collision detection
U461.1;TP391.41
A
1671-5365(2014)12-0046-04
2014-07-20修回:2014-07-31
国家自然科学基金资助项目(51305001);安徽省高等学校省级优秀青年人才基金项目(2012SQRL084ZD)
钟相强(1980-),男,副教授,硕士,研究方向为现代设计方法、数字化设计与制造和智能优化算法等
时间:2014-08-22 15:23
http://www.cnki.net/kcms/detail/51.1630.Z.20140822.1523.003.htm l