鐘相強(qiáng),許德章
(安徽工程大學(xué)機(jī)械與汽車工程學(xué)院,安徽蕪湖241000)
車輛剛體動(dòng)力學(xué)ODE物性分析及虛擬仿真
鐘相強(qiáng),許德章
(安徽工程大學(xué)機(jī)械與汽車工程學(xué)院,安徽蕪湖241000)
為獲得虛擬場景中車輛真實(shí)物理運(yùn)動(dòng)和交互性,提出一種基于開放式動(dòng)力學(xué)引擎(ODE)的虛擬仿真平臺集成方案.構(gòu)建具有四自由度的汽車剛體動(dòng)力學(xué)簡化模型,分析其ODE特性及剛體連接機(jī)理,對車身和車輪之間的懸架系統(tǒng)進(jìn)行分析,采用ODE中Hinge2進(jìn)行模擬,分析其剛體動(dòng)力學(xué)方程;基于Quest3D和VS2005進(jìn)行剛體碰撞檢測算法研究,構(gòu)建一個(gè)能實(shí)現(xiàn)車輛剛體運(yùn)動(dòng)和碰撞檢測的虛擬仿真平臺,實(shí)時(shí)對車輛剛體動(dòng)力學(xué)相關(guān)參數(shù)進(jìn)行輸出.經(jīng)驗(yàn)證,該虛擬仿真系統(tǒng)具有良好的沉浸感、交互性和實(shí)用性.
ODE;剛體動(dòng)力學(xué);虛擬場景;碰撞檢測
隨著計(jì)算機(jī)圖形技術(shù)的發(fā)展,對于虛擬仿真系統(tǒng)而言物理真實(shí)感成為不可忽視的問題,且會嚴(yán)重影響系統(tǒng)的交互性和沉浸感.如何基于物理的方法進(jìn)行虛擬場景下的物體運(yùn)動(dòng)和交互建模,成為一個(gè)重要的研究課題,本文引入一種開放源代碼的物理引擎(Open Dynamics Engine,ODE)來研究這個(gè)問題. ODE是一個(gè)工業(yè)級開源軟件,能夠模擬關(guān)節(jié)化剛體,具有高級的聯(lián)結(jié)類型和碰撞檢測系統(tǒng),它技術(shù)成熟、功能全面,而且平臺獨(dú)立、易于開發(fā),適于對交通工具、飛行器和虛擬現(xiàn)實(shí)中物體運(yùn)動(dòng)進(jìn)行模擬[1].然后以汽車虛擬仿真系統(tǒng)的實(shí)時(shí)交互性和真實(shí)沉浸感為目標(biāo),以具有物理學(xué)特性的汽車剛體模型為對象,采用目前先進(jìn)的虛擬現(xiàn)實(shí)軟件Quest3D,開發(fā)運(yùn)行于個(gè)人計(jì)算機(jī)的車輛剛體動(dòng)力學(xué)虛擬仿真系統(tǒng).
虛擬仿真系統(tǒng)中構(gòu)建車輛的剛體動(dòng)力學(xué)模型不應(yīng)過于簡化或復(fù)雜,要能夠?qū)δP蛯?shí)時(shí)計(jì)算、提供車輛的實(shí)時(shí)位置、方向和速度,供場景系統(tǒng)實(shí)時(shí)顯示調(diào)用.基于此,對四自由度汽車剛體動(dòng)力學(xué)模型進(jìn)行簡化:沿垂直路面車身的方向位移、沿前進(jìn)方向車身的縱向擺動(dòng)、方向盤轉(zhuǎn)角和輪軸轉(zhuǎn)動(dòng),基本體現(xiàn)汽車操作穩(wěn)定性中的車身側(cè)傾、轉(zhuǎn)向特性、制動(dòng)點(diǎn)頭角等主要參數(shù)[2-4],如圖1所示.
Quest3D支持ODE,在Quest3D中設(shè)置物理模擬能產(chǎn)生較好的效果.ODE的連接功能是其一個(gè)強(qiáng)大特性,多個(gè)ODE形狀可通過ODE JointChannel通道連接.Quest3D支持四種類型的連接,包含球副(Balland Socket)、轉(zhuǎn)動(dòng)副(Hinge)、移動(dòng)副(Slider)和復(fù)合鉸鏈(Hinge2).
圖1 汽車剛體動(dòng)力學(xué)簡化模型
通過ODE構(gòu)建動(dòng)力學(xué)模型時(shí),將車輛分為車輪、車身和連接機(jī)構(gòu)三大部分,把它們看作不會發(fā)生變形的剛體.對虛擬車輛的物理特性影響最大的是其連接機(jī)構(gòu),它用來約束車輪與車身的位置關(guān)系,并對外力產(chǎn)生反應(yīng).從車輛剛體動(dòng)力學(xué)模型基本自由度的分析來看,單獨(dú)采用基本連接不能滿足要求,此處采用Hinge2連接,如圖2.該連接可看作一個(gè)移動(dòng)副和一個(gè)球副連接的組合,Anchor連接處可繞Axis 1和Axis2轉(zhuǎn)動(dòng),能滿足轉(zhuǎn)向盤轉(zhuǎn)角和沿前進(jìn)方向時(shí)車身縱向擺動(dòng)的要求,而Axis 1方向的移動(dòng)副連接則可滿足沿垂直路面時(shí)車身方向位移的要求,Axis2自身轉(zhuǎn)動(dòng)即為車輪轉(zhuǎn)動(dòng).該連接能較真實(shí)地模擬汽車懸架功能,構(gòu)建出具有良好物理特性的車輛動(dòng)力學(xué)模型[5-7].
圖2 ODE復(fù)合鉸鏈
圖2中,ODE Joint屬性面板中EPR(Error Reduction Parameter)的含義為誤差減小參數(shù),具有如下特性:
1)IfEPR=1,即完全消除位置誤差;
2)IfEPR=0,即沒有誤差減小發(fā)生(此時(shí)c=0);
3)If0<EPR<1,即部分消除位置誤差.
ODE中,剛體連接的約束方程為:
式中:v1、v2表示被連接兩物體的線速度;ω1、ω2指被連接兩物體的角速度;λ為“約束力矢量”,l≤λ≤h,設(shè)定其上下限后由ODE自動(dòng)計(jì)算;Ω、J為m×3階的Jacobian矩陣;C為m×m階矩陣;c為m×1階“右置矢量”.
下面重點(diǎn)分析車輛剛體動(dòng)力學(xué)方程.
i)約束車輪和車身的空間位置方程為:
忽略時(shí)間模型,從而保證車輪和車身剛體空間位置一致.
ii)約束車輪和車身的速度方程為:
由式(3)可推得式(4).
對照式(1)與(4),可得J1=1、Ω1=-、J2=-1、Ω2=、c=0,如果選定c=0,引入時(shí)間模型后,發(fā)現(xiàn)在運(yùn)動(dòng)中車輪與車身將發(fā)生分離,不能相互連接.這是由于現(xiàn)實(shí)世界中車輪和車身可以保證行進(jìn)中速度的絕對相等,見式(5).
如圖3,以O(shè)DE中的移動(dòng)副為例,兩剛體在連接點(diǎn)處相對于世界坐標(biāo)系下的速度矢量分別為J1v1+Ω1ω1和J2v2+Ω2ω2.要保證兩剛體位置誤差在一個(gè)合適范圍,并保證每個(gè)時(shí)間步兩剛體速度矢量相等,從視覺上看到的便是正常約束狀態(tài).
根據(jù)計(jì)算機(jī)硬件水平和場景復(fù)雜度,在ODE Joint通道中設(shè)定模型參數(shù)時(shí),可首先確定ERP值控制車身和車輪的模擬精度,再選擇CFM值調(diào)整其動(dòng)力學(xué)物理效果.本系統(tǒng)CPU為Intel?Core?2 2.93 GHz,內(nèi)存4 GB,仿真中選用ERP=0.2,CFM= 0.000 1,獲得了較好的模擬效果.
3.1 車輛剛體動(dòng)力學(xué)場景仿真系統(tǒng)的開發(fā)
1)模型導(dǎo)入
Quest3D是一個(gè)創(chuàng)建交互式三維場景的虛擬現(xiàn)實(shí)軟件,可進(jìn)行諸如計(jì)算機(jī)游戲、產(chǎn)品演示和虛擬訓(xùn)練等多種場景開發(fā),但其建模能力差,只能進(jìn)行一些簡單的如方體、球等建模,而像汽車這種復(fù)雜的模型只能借助于其它的三維建模軟件完成,比如3D MAX、Pro/E和UGNX等,文中采用3DMAX完成汽車整體模型的構(gòu)建,利用*.X格式導(dǎo)入到Quest3D進(jìn)行編輯和修改[8].
2)通道組織
Quest3D具有一套快速制造模組的流程,利用拖拉方式(Drag&Drop)將行為模組賦予適當(dāng)?shù)慕巧?,以流程圖方式?jīng)Q定模組的執(zhí)行順序,所有的編輯器都是可視化的、圖形化的,真正所見即所得.
ODE下剛體連接通過ODE Joint通道,它是構(gòu)建基于ODE物理模型的核心.該虛擬仿真系統(tǒng)中,被連接的剛體有四個(gè)車輪和一個(gè)車身,對應(yīng)的通道均為ODEBody類型.ODE Joint通道下共有七個(gè)輸出接口,從左至右依次為兩個(gè)ODE Body類型、三個(gè)Value類型、一個(gè)Matrix類型和一個(gè)Value類型.
ODEBody通道下共有三個(gè)輸出接口,從左至右為Matrix類型、Value類型和DX8 CollisionObject類型,車輪初始位置采用Matrix通道,剛體物理學(xué)模擬和碰撞檢測的開關(guān)則連接到Value通道.根據(jù)車身和車輪幾何模型邊界,車身剛體碰撞體積采用兩個(gè)立方體組合,車輪剛體碰撞體積為球形.
3)程序發(fā)布及運(yùn)行
通過FilePublish…,選擇需要發(fā)布的類型,比如exe格式,同時(shí)選擇發(fā)布所需要的cgr文件,即可完成程序的發(fā)布.程序發(fā)布結(jié)束后,通過三維立體投影設(shè)備(Harkness專業(yè)立體投影幕)和立體眼鏡,就能實(shí)時(shí)觀察虛擬仿真效果.
3.2 基于粒子群優(yōu)化的ODE碰撞檢測算法
粒子群優(yōu)化算法(PSO)是一種新興的群集智能優(yōu)化算法,由Kennedy和Eberhart于1995年提出,其思想來源于進(jìn)化計(jì)算理論和人工生命.應(yīng)用粒子群優(yōu)化算法主要實(shí)現(xiàn)碰撞檢測過程中局部最小特征對的搜索.四面體包圍盒方法的關(guān)鍵是用幾何特征簡單的包圍盒來包圍要檢測的模型,對模型的碰撞檢測轉(zhuǎn)化為對包圍盒的碰撞檢測.將碰撞問題轉(zhuǎn)化為搜索兩個(gè)物體上特征之間的距離問題,選用最簡單的四面體包圍盒.在檢測過程中,只對包圍盒重疊部分進(jìn)行相交測試.由于包圍盒總是略大于實(shí)際模型,往往需要通過構(gòu)造層次結(jié)構(gòu)來逼近對象的幾何模型,直到獲得對象的全部幾何特征為止[9-11].粒子群優(yōu)化算法構(gòu)建主要從以下幾方面進(jìn)行.
I)粒子群搜索空間構(gòu)建
兩個(gè)物體的碰撞檢測可描述為三維空間內(nèi)兩物體間是否存在至少一對特征對(ai,bi),使Fp≤δ,F(xiàn)p為距離函數(shù),δ為碰撞閾值.其中ai∈A(0<i<Na),bj∈B(0<j<Nb),集合A和B中存儲每個(gè)基本幾何元素的AABB包圍盒的中心點(diǎn),集合A和B元素個(gè)數(shù)為Na和Nb.
II)適應(yīng)度函數(shù)計(jì)算
每個(gè)特征在三維空間都有一個(gè)位置,一個(gè)粒子Pk(Ai,Bj)代表兩個(gè)物體特征對的一個(gè)組合.優(yōu)化目標(biāo)便是查找一個(gè)特征間距離最小的組合.粒子適應(yīng)度可定義為三維空間中兩個(gè)特征之間的歐式距離.
式中(x,y,z)為物體三維空間的坐標(biāo).
iii)粒子位置與速度更新
假定每個(gè)粒子的個(gè)體最優(yōu)位置為運(yùn)動(dòng)初期的第一個(gè)位置,而全局最優(yōu)位置就是這些個(gè)體位置中最好的一個(gè).粒子的位置見式(7).
根據(jù)粒子在搜索空間中的坐標(biāo),適應(yīng)度函數(shù)返回當(dāng)前位置的適應(yīng)度值,若該適應(yīng)度值優(yōu)于此時(shí)粒子的個(gè)體或全局最優(yōu)值,則更新,否則不更新.
粒子速度的控制是整個(gè)優(yōu)化的關(guān)鍵.粒子速度隨著個(gè)體和全局最優(yōu)位置的變化而變化,朝著適應(yīng)度值更優(yōu)的方向加速.粒子速度定義見式(8).
終止條件:一是找到幾何模型之間所有的碰撞點(diǎn),可以設(shè)為達(dá)到最大次數(shù)停止;二是找到第一個(gè)干涉點(diǎn)以后則終止粒子的進(jìn)化,但如果一直沒有找到干涉點(diǎn),則設(shè)為粒子的進(jìn)化代數(shù)達(dá)到最大數(shù)時(shí)停止.
粒子群優(yōu)化碰撞檢測算法步驟如下:
①輸入碰撞物體的模型,構(gòu)建層次樹,為層次樹的節(jié)點(diǎn)建立包圍盒;
②遍歷物體對的層次樹,并判斷層次樹的葉子節(jié)點(diǎn)包圍盒是否相交,如果相交轉(zhuǎn)③;否則,結(jié)束;
③在粒子群搜索空間內(nèi)設(shè)置粒子群種群數(shù)m,粒子的初始化位置和速度;
⑤在粒子飛行中對其適應(yīng)值不斷更新,保證飛行范圍內(nèi)的最優(yōu)值;如果不是最優(yōu),則調(diào)整自己的位置和方向,尋求最優(yōu)解;
⑥不斷調(diào)整飛行中的粒子,以便得到新的位置和速度;
⑦如果滿足終止條件,輸出碰撞結(jié)果,得到最優(yōu)解;否則,轉(zhuǎn)步驟④繼續(xù)計(jì)算.
3.3 虛擬仿真系統(tǒng)的實(shí)現(xiàn)
基于以上對ODE剛體動(dòng)力學(xué)與碰撞算法的分析,通過Quest3D中相應(yīng)通道構(gòu)建的基于Harkness專業(yè)立體背投的汽車動(dòng)力學(xué)模型場景如圖4所示.
圖4 汽車剛體動(dòng)力學(xué)仿真虛擬場景
為了實(shí)現(xiàn)虛擬仿真的真實(shí)感,場景中還增加了起伏路面,操作中可通過鍵盤的上下左右鍵或虛擬手柄即可實(shí)現(xiàn)前進(jìn)、轉(zhuǎn)向、后退、不平路面行駛中的車身震動(dòng)以及動(dòng)態(tài)碰撞響應(yīng),能初步滿足汽車駕駛和車輛剛體動(dòng)力學(xué)仿真的要求.另外,通過ODE Info Value模塊即可實(shí)現(xiàn)車輛剛體動(dòng)力學(xué)參數(shù)的實(shí)時(shí)輸出,包含車身線速度、車輪速度、方向盤轉(zhuǎn)向角、ODE剛體的力和力矩等參數(shù),可與現(xiàn)有車輛經(jīng)驗(yàn)參數(shù)進(jìn)行對比分析.
基于ODE物性相關(guān)理論及剛體連接機(jī)制,構(gòu)建汽車剛體動(dòng)力學(xué)簡化模型,結(jié)合VS2005程序分析ODE碰撞檢測算法和基于Quest3D物理仿真流程,進(jìn)行汽車剛體動(dòng)力學(xué)虛擬仿真實(shí)驗(yàn),結(jié)果表明,在虛擬仿真中基于ODE物理引擎有效增強(qiáng)了虛擬場景中物體的沉浸感、交互性和運(yùn)動(dòng)真實(shí)性.另外ODE物理引擎的應(yīng)用大大降低了虛擬仿真對計(jì)算機(jī)硬件的需求,使整個(gè)仿真系統(tǒng)實(shí)用性強(qiáng)、靈活性好.隨著計(jì)算機(jī)處理速度的提高和虛擬現(xiàn)實(shí)技術(shù)的進(jìn)步,基于ODE物性的虛擬場景仿真在各個(gè)行業(yè)將得到更廣泛的應(yīng)用.
[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]余志生.汽車?yán)碚揫M].第5版.北京:機(jī)械工業(yè)出版社,2009.
[3]趙津.基于Quest3D的汽車虛擬駕駛系統(tǒng)的研究與實(shí)現(xiàn)[D].天津:南開大學(xué),2010.
[4]江學(xué)東.汽車駕駛模擬器視景系統(tǒng)的研究與開發(fā)[D].合肥:合肥工業(yè)大學(xué),2007.
[5]高嵩,陳先橋,楊菊.基于OGRE和ODE的駕駛模擬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].交通與計(jì)算機(jī),2006(1):101-104.
[6]薛方正,劉成軍,李楠,等.基于ODE引擎的開放式仿人機(jī)器人仿真[J].機(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].中國機(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]梁利東,鐘相強(qiáng).粒子群算法在不規(guī)則件排樣優(yōu)化中的應(yīng)用[J].中國機(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
國家自然科學(xué)基金資助項(xiàng)目(51305001);安徽省高等學(xué)校省級優(yōu)秀青年人才基金項(xiàng)目(2012SQRL084ZD)
鐘相強(qiáng)(1980-),男,副教授,碩士,研究方向?yàn)楝F(xiàn)代設(shè)計(jì)方法、數(shù)字化設(shè)計(jì)與制造和智能優(yōu)化算法等
時(shí)間:2014-08-22 15:23
http://www.cnki.net/kcms/detail/51.1630.Z.20140822.1523.003.htm l