一種汽車運(yùn)動(dòng)仿真模擬方法
【專利摘要】本發(fā)明提供了一種汽車運(yùn)動(dòng)仿真模擬方法。通過(guò)分析汽車的導(dǎo)航力來(lái)表現(xiàn)汽車的各種運(yùn)動(dòng)特性。在分析汽車的追逐導(dǎo)航力時(shí),根據(jù)汽車與被追逐者之間相對(duì)位置的不同設(shè)置不同的追逐時(shí)間閾值,使汽車的追逐行為更接近現(xiàn)實(shí);在分析汽車躲避障礙物的導(dǎo)航力時(shí),采用物理引擎進(jìn)行碰撞檢測(cè),并采用模糊邏輯算法來(lái)實(shí)現(xiàn)躲避多障礙物的導(dǎo)航力計(jì)算,使汽車的避障行為更具真實(shí)感。此方法克服了現(xiàn)有汽車模擬方法中運(yùn)行速度與模擬真實(shí)感不能很好兼容的缺點(diǎn),既保證了算法的簡(jiǎn)潔性與運(yùn)算速度,又能保證盡可能接近現(xiàn)實(shí)中汽車的運(yùn)動(dòng)環(huán)境。且本發(fā)明方法適用于游戲領(lǐng)域、仿真訓(xùn)練領(lǐng)域、仿真作戰(zhàn)系統(tǒng)等各種需要汽車模擬技術(shù)的領(lǐng)域中,具有通用性。
【專利說(shuō)明】一種汽車運(yùn)動(dòng)仿真模擬方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種汽車運(yùn)動(dòng)仿真模擬方法,特別是涉及一種適用于虛擬現(xiàn)實(shí)技術(shù)中汽車運(yùn)行仿真的汽車運(yùn)動(dòng)仿真模擬方法。
【背景技術(shù)】
[0002]現(xiàn)有的汽車模擬技術(shù)已日趨成熟,主要是通過(guò)對(duì)汽車動(dòng)力學(xué)的分析(包括發(fā)動(dòng)機(jī)動(dòng)力學(xué),汽車阻力學(xué),汽車傳動(dòng)系統(tǒng)力學(xué),汽車制動(dòng)系統(tǒng)力學(xué),汽車懸掛系統(tǒng)力學(xué),汽車操作系統(tǒng)力學(xué)等)來(lái)實(shí)現(xiàn)汽車運(yùn)行模擬,基本能實(shí)現(xiàn)模擬現(xiàn)實(shí)汽車動(dòng)力學(xué)特性,提供接近真實(shí)的車輛運(yùn)行環(huán)境的目的。
[0003]但總的來(lái)說(shuō),現(xiàn)有的汽車模擬技術(shù)存在如下不足:1.為了提供盡可能接近真實(shí)的車輛運(yùn)行環(huán)境,需要模擬現(xiàn)實(shí)汽車的各種動(dòng)力學(xué)特性(包括發(fā)動(dòng)機(jī)動(dòng)力學(xué),汽車阻力學(xué),汽車傳動(dòng)系統(tǒng)力學(xué),汽車制動(dòng)系統(tǒng)力學(xué),汽車懸掛系統(tǒng)力學(xué),汽車操作系統(tǒng)力學(xué)等),導(dǎo)致算法過(guò)于復(fù)雜,運(yùn)行速度變慢;2.提高算法速度則以犧牲車輛模擬的真實(shí)感為代價(jià):轉(zhuǎn)彎不夠平滑、躲避障礙物不夠智能等,雖然運(yùn)行速度提高了,但是卻降低了車輛模擬的真實(shí)感。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問(wèn)題是提供一種運(yùn)行速度更快、真實(shí)感更好的汽車運(yùn)動(dòng)仿真模擬方法。
[0005]本發(fā)明采用的技術(shù)方案如下:一種汽車運(yùn)動(dòng)仿真模擬方法,具體方法步驟為:步驟一、初始化汽車狀態(tài);步驟二、計(jì)算包括尋找導(dǎo)航力、避障導(dǎo)航力和追逐導(dǎo)航力在內(nèi)的汽車的導(dǎo)航力;步驟三、合并導(dǎo)航力;步驟四、利用求得的導(dǎo)航力和初始化的汽車質(zhì)量,求出汽車運(yùn)行所需的加速度,從而更新汽車的運(yùn)行狀態(tài)。
[0006]作為優(yōu)選,所述步驟一中還包括設(shè)置汽車的最大速度和最大導(dǎo)航力。
[0007]作為優(yōu)選,所述尋找導(dǎo)航力的計(jì)算方法為:用汽車在尋找目標(biāo)點(diǎn)時(shí)的期望運(yùn)行速度減去汽車的當(dāng)前速度。
[0008]作為優(yōu)選,所述追逐導(dǎo)航力的具體計(jì)算方法為:1、求出汽車當(dāng)前位置指向被追逐者當(dāng)前位置的向量,及此向量與汽車當(dāng)前朝向的夾角,并計(jì)算汽車當(dāng)前朝向與被追逐者當(dāng)前朝向之間的夾角;2、判斷汽車與被追逐者之間的相對(duì)位置;3、根據(jù)上一步判斷出的汽車與被追逐者之間的相對(duì)位置,設(shè)置一個(gè)汽車追上被追逐者的時(shí)間閾值t ;4、預(yù)測(cè)t時(shí)間后被追逐者的位置,將此位置作為尋找的目標(biāo)點(diǎn),給汽車施加一個(gè)尋找導(dǎo)航力,即為追逐導(dǎo)航力。
[0009]作為優(yōu)選,所述步驟2的具體方法步驟為:利用汽車當(dāng)前位置指向被追逐者當(dāng)前位置的向量,與汽車當(dāng)前朝向的夾角判斷被追逐者位于汽車的正前方、正后方還是旁邊;利用汽車當(dāng)前朝向與被追逐者當(dāng)前朝向之間的夾角判斷出被追逐者與汽車的運(yùn)行方向是同向、反向還是相交。
[0010]作為優(yōu)選,所述避障導(dǎo)航力的計(jì)算方法包括計(jì)算避開(kāi)靜態(tài)障礙物的計(jì)算方法和避開(kāi)動(dòng)態(tài)障礙物的計(jì)算方法;其中,
[0011]避開(kāi)靜態(tài)障礙物的計(jì)算方法為:A、進(jìn)行相交檢測(cè),檢測(cè)汽車當(dāng)前位置附近可能與之相撞的障礙物位置;B、運(yùn)用模糊邏輯產(chǎn)生導(dǎo)航力;
[0012]避開(kāi)動(dòng)態(tài)障礙物的計(jì)算方法為:給汽車施加一個(gè)與追逐導(dǎo)航力相反方向的導(dǎo)航力,使汽車沿著避開(kāi)追逐者的方向行進(jìn)。
[0013]作為優(yōu)選,采用物理引擎中的碰撞檢測(cè)方法進(jìn)行相交檢測(cè)。
[0014]作為優(yōu)選,運(yùn)用模糊邏輯產(chǎn)生導(dǎo)航力的具體方法為:a、設(shè)計(jì)障礙物位置與汽車當(dāng)前位置的距離,及障礙物與汽車當(dāng)前朝向的角度,的模糊語(yǔ)言變量和規(guī)則庫(kù);b、對(duì)規(guī)則庫(kù)進(jìn)行模糊推理及反模糊化。
[0015]作為優(yōu)選,所述步驟三中,進(jìn)行導(dǎo)航力合并的具體方法為:根據(jù)優(yōu)先級(jí)別分別給尋找導(dǎo)航力、追逐導(dǎo)航力、避開(kāi)靜態(tài)障礙物的導(dǎo)航力和避開(kāi)動(dòng)態(tài)障礙物的導(dǎo)航力設(shè)置權(quán)重,計(jì)算出的各個(gè)導(dǎo)航力及其對(duì)應(yīng)的權(quán)重的乘積的和即為合并的導(dǎo)航力。
[0016]作為優(yōu)選,所述方法還包括,判斷計(jì)算出的合并導(dǎo)航力的大小是否大于初始化的汽車最大導(dǎo)航力,是則取初始化的汽車最大導(dǎo)航力為當(dāng)前導(dǎo)航力的值
[0017]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:通過(guò)分析汽車的導(dǎo)航力來(lái)表現(xiàn)汽車的各種運(yùn)動(dòng)特性。在分析汽車的追逐導(dǎo)航力時(shí),根據(jù)汽車與被追逐者之間相對(duì)位置的不同設(shè)置不同的追逐時(shí)間閾值,使汽車的追逐行為更接近現(xiàn)實(shí);在分析汽車躲避障礙物的導(dǎo)航力時(shí),采用物理引擎進(jìn)行碰撞檢測(cè),并采用模糊邏輯算法來(lái)實(shí)現(xiàn)躲避多障礙物的導(dǎo)航力計(jì)算,使汽車的避障行為更具真實(shí)感。此方法克服了現(xiàn)有汽車模擬方法中運(yùn)行速度與模擬真實(shí)感不能很好兼容的缺點(diǎn),既保證了算法的簡(jiǎn)潔性與運(yùn)算速度,又能保證盡可能接近現(xiàn)實(shí)中汽車的運(yùn)動(dòng)環(huán)境。且本發(fā)明方法適用于游戲領(lǐng)域、仿真訓(xùn)練領(lǐng)域、仿真作戰(zhàn)系統(tǒng)等各種需要汽車模擬技術(shù)的領(lǐng)域中,具有通用性。
【專利附圖】
【附圖說(shuō)明】
[0018]圖1為本發(fā)明其中一實(shí)施例的流程圖。
【具體實(shí)施方式】
[0019]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0020]本說(shuō)明書(shū)(包括任何附加權(quán)利要求、摘要和附圖)中公開(kāi)的任一特征,除非特別敘述,均可被其他等效或者具有類似目的的替代特征加以替換。即,除非特別敘述,每個(gè)特征只是一系列等效或類似特征中的一個(gè)例子而已。
[0021]如圖1所示,一種汽車運(yùn)動(dòng)仿真模擬方法,具體方法步驟為:步驟一、初始化汽車狀態(tài);步驟二、計(jì)算包括尋找導(dǎo)航力、避障導(dǎo)航力和追逐導(dǎo)航力在內(nèi)的汽車的導(dǎo)航力;步驟三、合并導(dǎo)航力;步驟四、利用求得的導(dǎo)航力和初始化的汽車質(zhì)量,求出汽車運(yùn)行所需的加速度,從而更新汽車的運(yùn)行狀態(tài)。
[0022]需要初始化的狀態(tài)包括:質(zhì)量(標(biāo)量),位置(向量),目標(biāo)位置(向量),最大加速度(標(biāo)量),最大速度,最大導(dǎo)航力(標(biāo)量),運(yùn)行方向(單位向量)等?,F(xiàn)實(shí)中汽車的運(yùn)行有最高時(shí)速和最高加速度的限制,設(shè)置汽車的最大速度與最大導(dǎo)航力,符合現(xiàn)實(shí)中汽車的運(yùn)動(dòng)特性。
[0023]在模擬開(kāi)始后,系統(tǒng)一方面會(huì)取得用戶輸入信息:主要是方向操縱信息,剎車信息,檔位切換信息等;另一方面會(huì)取得上次模擬的輸出結(jié)果:主要是汽車速度,加速度等。
[0024]在本具體實(shí)施例中,汽車當(dāng)前為重用α表示,目標(biāo)位置用b表示,當(dāng)前速度用Vcur表示,汽車的最大速度用Vmax表示。[0025]所述尋找導(dǎo)航力的計(jì)算方法為:汽車在尋找目標(biāo)點(diǎn)時(shí),期望運(yùn)行速度的方向?yàn)閺漠?dāng)前位置指向目標(biāo)位置,用汽車在尋找目標(biāo)點(diǎn)時(shí)的期望運(yùn)行速度減去汽車的當(dāng)前速度。則汽車的尋找導(dǎo)航力為:
【權(quán)利要求】
1.一種汽車運(yùn)動(dòng)仿真模擬方法,具體方法步驟為:步驟一、初始化汽車狀態(tài);步驟二、計(jì)算包括尋找導(dǎo)航力、避障導(dǎo)航力和追逐導(dǎo)航力在內(nèi)的汽車的導(dǎo)航力;步驟三、合并導(dǎo)航力;步驟四、利用求得的導(dǎo)航力和初始化的汽車質(zhì)量,求出汽車運(yùn)行所需的加速度,從而更新汽車的運(yùn)行狀態(tài)。
2.根據(jù)權(quán)利要求1所述的方法,所述步驟一中還包括設(shè)置汽車的最大速度和最大導(dǎo)航力。
3.根據(jù)權(quán)利要求1所述的方法,所述尋找導(dǎo)航力的計(jì)算方法為:用汽車在尋找目標(biāo)點(diǎn)時(shí)的期望運(yùn)行速度減去汽車的當(dāng)前速度。
4.根據(jù)權(quán)利要求1所述的方法,所述追逐導(dǎo)航力的具體計(jì)算方法為:1、求出汽車當(dāng)前位置指向被追逐者當(dāng)前位置的向量,及此向量與汽車當(dāng)前朝向的夾角,并計(jì)算汽車當(dāng)前朝向與被追逐者當(dāng)前朝向之間的夾角;2、判斷汽車與被追逐者之間的相對(duì)位置;3、根據(jù)上一步判斷出的汽車與被追逐者之間的相對(duì)位置,設(shè)置一個(gè)汽車追上被追逐者的時(shí)間閾值t;4、預(yù)測(cè)t時(shí)間后被追逐者的位置,將此位置作為尋找的目標(biāo)點(diǎn),給汽車施加一個(gè)尋找導(dǎo)航力,即為追逐導(dǎo)航力。
5.根據(jù)權(quán)利要求4所述的方法,所述步驟2的具體方法步驟為:利用汽車當(dāng)前位置指向被追逐者當(dāng)前位置的向量,與汽車當(dāng)前朝向的夾角判斷被追逐者位于汽車的正前方、正后方還是旁邊;利用汽車當(dāng)前朝向與被追逐者當(dāng)前朝向之間的夾角判斷出被追逐者與汽車的運(yùn)行方向是同向、反向還是相交。
6.根據(jù)權(quán)利要求5所述的方法,所述避障導(dǎo)航力的計(jì)算方法包括計(jì)算避開(kāi)靜態(tài)障礙物的計(jì)算方法和避開(kāi)動(dòng)態(tài)障礙物的計(jì)算方法;其中, 避開(kāi)靜態(tài)障礙物的計(jì)算方法為:A、進(jìn)行相交檢測(cè),檢測(cè)汽車當(dāng)前位置附近可能與之相撞的障礙物位置;B、運(yùn)用模糊邏輯產(chǎn)生導(dǎo)航力; 避開(kāi)動(dòng)態(tài)障礙物的計(jì)算方法為:給汽車施加一個(gè)與追逐導(dǎo)航力相反方向的導(dǎo)航力,使汽車沿著避開(kāi)追逐者的方向行進(jìn)。
7.根據(jù)權(quán)利要求6所述的方法,采用物理引擎中的碰撞檢測(cè)方法進(jìn)行相交檢測(cè)。
8.根據(jù)權(quán)利要求6所述的方法,運(yùn)用模糊邏輯產(chǎn)生導(dǎo)航力的具體方法為:a、設(shè)計(jì)障礙物位置與汽車當(dāng)前位置的距離,及障礙物與汽車當(dāng)前朝向的角度,的模糊語(yǔ)言變量和規(guī)則庫(kù)山、對(duì)規(guī)則庫(kù)進(jìn)行模糊推理及反模糊化。
9.根據(jù)權(quán)利要求6所述的方法,所述步驟三中,進(jìn)行導(dǎo)航力合并的具體方法為:根據(jù)優(yōu)先級(jí)別分別給尋找導(dǎo)航力、追逐導(dǎo)航力、避開(kāi)靜態(tài)障礙物的導(dǎo)航力和避開(kāi)動(dòng)態(tài)障礙物的導(dǎo)航力設(shè)置權(quán)重,計(jì)算出的各個(gè)導(dǎo)航力及其對(duì)應(yīng)的權(quán)重的乘積的和即為合并的導(dǎo)航力。
10.根據(jù)權(quán)利要求9所述的方法,還包括,判斷計(jì)算出的合并導(dǎo)航力的大小是否大于初始化的汽車最大導(dǎo)航力,是則取初始化的汽車最大導(dǎo)航力為當(dāng)前導(dǎo)航力的值。
【文檔編號(hào)】G06F17/50GK103632008SQ201310670735
【公開(kāi)日】2014年3月12日 申請(qǐng)日期:2013年12月11日 優(yōu)先權(quán)日:2013年12月11日
【發(fā)明者】吳超蓉, 莫世鋒, 羅浩, 吳小偉, 劉思遠(yuǎn) 申請(qǐng)人:四川九洲電器集團(tuán)有限責(zé)任公司