




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、汽車駕駛模擬器的研究方法及步驟、虛擬現(xiàn)實建模方法1、幾何建模2、運動建模(1)物體位置物體位置包括物體的移動、旋轉(zhuǎn)和縮放。在視景仿真中,不僅需要一個全局性的絕對坐 標,每個三維對象都需要建立一個相對坐標。對每個對象都給予一個坐標系統(tǒng),稱之為對象坐標系統(tǒng),這個坐標系統(tǒng)原點的位置隨物體的移動而改變。在虛擬駕駛系統(tǒng)中就是通過控制一個汽車局部坐標系的運動和變化來模擬汽車的運動過程。(2)碰撞檢測在視景仿真系統(tǒng)中, 經(jīng)常需要檢查對象 A是否與對象B碰撞。碰撞檢測需要計算兩個物 體的相對位置。許多視景仿真系統(tǒng)在實時計算中都是采用OBB包圍盒檢測法,運用這種方法可以節(jié)省時間,但降低了精確性。3、物理建模虛擬
2、對象物理建模包括定義對象的質(zhì)量、重量、慣性、表面紋理、光滑或粗糙、硬度、形狀改變模式(橡皮帶或塑料)等,這些特性與幾何建模和行為規(guī)則結(jié)合起來,形成了更真實的虛擬物理模型。4、行為建模在虛擬駕駛系統(tǒng)中,行為建模主要包括兩個方面,一方面是對駕駛員所操縱的汽車的行 為進行約束,建立汽車操縱模型, 使其符合汽車自身的運動和駕駛?cè)藛T的操作步驟;另一方面是對場景中非受控物體的行為進行建模,使其的運動符合自然規(guī)律,比如場景中自動運行的汽車、路旁的行人等。5、模型分割、虛擬駕駛系統(tǒng)各模塊功能分析和開發(fā)方案確定1、汽車虛擬駕駛系統(tǒng)的構(gòu)成汽車虛擬駕駛系統(tǒng)主要由虛擬駕駛操作輸入系統(tǒng)、汽車動力學模型、運動仿真模型、
3、實時操縱模型、場景管理管理平臺、視景和聲音渲染輸出 以及汽車數(shù)據(jù)模型庫、場景模型 庫和聲音模型庫等組成。其中汽車動力學模型、運動仿真模型、實時操縱模型和虛擬駕駛場 景管理平臺是汽車虛擬駕駛系統(tǒng)的核心子系統(tǒng)。系統(tǒng)的工作過程如下:在系統(tǒng)初始化時,根據(jù)用戶的需求從汽車數(shù)據(jù)模型庫中將用于仿 真的車輛數(shù)據(jù)模型調(diào)入到動力學模型中,同時選擇運行的三維場景,通過模型解析模塊把它從場景數(shù)據(jù)庫中調(diào)入場景管理平臺;在仿真過程中,駕駛?cè)藛T通過虛擬駕駛操作輸入系統(tǒng)進行模擬駕駛操作,人機交互接口將油門、 制動、換檔和轉(zhuǎn)向等動力學操作信息以及發(fā)動機啟 動、喇叭鳴笛等按鈕操作狀態(tài)送入汽車動力學模型和實時操縱模型中;經(jīng)過仿真計
4、算后,汽車運動仿真數(shù)據(jù)被送入運動攝像機模塊中控制場景內(nèi)攝像機的運動,同時汽車的行駛姿態(tài)還受到地面因素的影響; 然后,場景管理控制模塊根據(jù)此時攝像機的運動狀態(tài),通過視景渲染模塊將三維場景在投影屏幕上實時反映出來,模擬視景變化,形成行車體感,并且通過虛擬儀表輸出此時的汽車運行參數(shù)。另外,為了增強虛擬駕駛的沉浸感,系統(tǒng)還安裝有音響系統(tǒng),根據(jù)駕駛?cè)藛T的操作和汽車運行的狀態(tài),從聲音模型庫中調(diào)出相應的聲音特效,如汽車的發(fā)動機轟鳴聲、喇叭鳴笛聲、緊急制動等通過聲音渲染模塊輸出。圖2-3汽車虛擬駕駛系統(tǒng)結(jié)構(gòu)圖2、虛擬駕駛操作輸入系統(tǒng)模擬駕駛輸入系統(tǒng)是用來模擬汽車駕駛艙中的駕駛操作機構(gòu),它配備了方向盤、檔位操縱
5、桿、離合器踏板、制動踏板、油門踏板以及其他輔助裝置。在駕駛模擬過程中,駕駛員可 以根據(jù)渲染場景的變化和儀表的顯示,操縱輸入系統(tǒng)中的方向盤、離合器、制動器、油門和檔位操縱桿等部件,人機交互模塊將這些操作信息送入汽車動力學模型計算后,對場景中運動攝像機的位置和方向做出相應的調(diào)整,并將仿真結(jié)果輸出到顯示屏上,從而對駕駛過程進行模擬。3、虛擬駕駛場景管理平臺虛擬駕駛場景管理平臺各子模塊的功能如下:1)人機交互接口模塊:該模塊將各種駕駛操作輸入信號經(jīng)數(shù)據(jù)轉(zhuǎn)換為數(shù)字信號,送入汽車動力學模塊中進行計算,形成控制場景運動和渲染的信號, 是駕駛操作系統(tǒng)、場景管理平臺和汽車動力學模型之 間的橋梁。2)運動攝像機模
6、塊:該模塊根據(jù)汽車動力學模塊的計算結(jié)果,模擬出符合汽車運動特性的運動攝像機,并輸入到場景管理控制模塊中。3)場景管理控制模塊:該模塊有機地整合了場景管理平臺中的其余模塊,并且和汽車的動力學模塊結(jié)合起來, 通過處理消息函數(shù),完成場景調(diào)入、人機交互、聲效處理和視景渲染等內(nèi)容。4)視景、聲效和操作界面渲染模塊:視景渲染模塊根據(jù)汽車動力學模型計算好的運動攝像機控制參數(shù)和位置信息,通過一系列變換后將虛擬場景渲染到顯示投影設(shè)備上,并提供給駕駛者,實現(xiàn)虛擬汽車運動時相對于周圍環(huán)境運動畫面的連續(xù)顯示,以形成行車效果。聲效輸出模塊可以根據(jù)當前的汽車運行狀態(tài)和操作人員的輸入,模擬輸出此時汽車運行時發(fā)出的各種聲音,
7、例如:發(fā)動機的轟鳴聲、 喇叭鳴笛、汽車運行的風聲等。操作界面渲染模塊主要實現(xiàn)汽車駕駛輔助信息和虛擬儀表的 顯示。5)模型解析模塊:虛擬駕駛系統(tǒng)中的場景模型經(jīng)過3D建模軟件制作后存為某種固定的格式,該模塊將模型從這種格式中解析出來,并且進行必要的優(yōu)化,提高場景檢索速度,提升渲染質(zhì)量??墒褂肈irectX、OpenGL等提供的函數(shù)庫設(shè)計來設(shè)計視景渲染、三維模型解析、運動攝 像機、人機交互和聲音處理等基礎(chǔ)類庫,構(gòu)建汽車虛擬駕駛場景管理平臺。4、場景和聲效數(shù)據(jù)庫5、汽車動力學仿真模塊模擬汽車運動的汽車動力學仿真模塊包括汽車數(shù)據(jù)模型、汽車動力學模型、汽車運動仿真和操縱模型等幾個方面。6、虛擬駕駛系統(tǒng)的軟
8、硬件平臺VC+6.0軟件平臺結(jié)合C+和DriectX9.0函數(shù)庫進行虛擬駕駛系統(tǒng)研究和開發(fā)。采用 3D Max 7.0作為整個系統(tǒng)中場景建模和動畫建模工具,場景中的貼圖和紋理采用Photoshop圖像處理軟件來編輯。虛擬駕駛系統(tǒng)場景管理平臺設(shè)計一、場景管理平臺系統(tǒng)功能模塊針對虛擬駕駛所應用的場景管理平臺可具備以下的兩大部分功能模塊。小核心模塊立體顯示網(wǎng)絡(luò)通信程種特效輔助控制運動錄制核,小模現(xiàn)幾何運算視景泣染模塊 攝像機控制 碰撞檢測模型解析模堤 聲件處理???人機交互管理 系統(tǒng)管理模塊圖4-1場景管理平臺功能圖(1)核心模塊該模塊完成場景管理平臺所需要的一些最基本的處理功能,這是平臺中最重要的
9、一部 分,又可以分為以下一些子模塊:幾何運算模塊:該模塊的功能是實現(xiàn)圖像顯示過程中基本的二維和三維幾何代數(shù)運算。模塊中主要定義了二維、三維矢量,變換矩陣以及它們之間的代數(shù)運算關(guān)系。這些基本的幾何運算是三維引擎最基礎(chǔ)的技術(shù)。視景渲染模塊:該模塊是實現(xiàn)視景圖形渲染的核心模塊,它從數(shù)據(jù)庫中提取相應的場景數(shù)據(jù),根據(jù)當前攝像機所處的方位實現(xiàn)基本圖元的繪制、光照材質(zhì)處理、紋理映射以及三維特效等,構(gòu)造出三維場景。三維渲染引擎的好壞, 在很大程度上取決于視景圖形渲染模塊 的質(zhì)量。渲染方法分為軟件渲染和硬件渲染兩種,軟件渲染方式主要有DirectX和OpenGL兩種實現(xiàn)方式。攝像機控制模塊:該模塊完成對場景的漫
10、游和顯示。它按照人類的正常視覺對場景進行處理,通過可見范圍計算裁剪掉視域外的內(nèi)容,然后通過攝像機的視口變換和投影變換把裁剪后場景投影到屏幕空間。碰撞檢測模塊:碰撞檢測是三維圖形引擎中不可缺少的一部分, 應該根據(jù)具體的應用 選擇不同的碰撞檢測算法。在虛擬駕駛過程中,為了增強駕駛的真實性,場景中行駛的汽車 需要進行地形檢測、固定物體碰撞檢測以及活動物體碰撞檢測等。 常用的檢測算法有包圍盒 檢測和射線/多邊形檢測等。模型解析模塊:該模塊將模型從數(shù)據(jù)庫存儲格式中解析出來,并且渲染過程進行優(yōu)化處理,提高場景檢索速度,提升渲染質(zhì)量。聲音處理模塊:該模塊完成場景管理平臺中的聲音和音效處理。在虛擬駕駛過程中,
11、 根據(jù)汽車的運動狀態(tài)和駕駛?cè)藛T的各項操作,汽車將發(fā)出的發(fā)動機轟鳴聲、緊急制動聲、喇叭鳴笛聲、風聲、與物體碰撞發(fā)出的碰撞聲以及外圍環(huán)境聲音等。人機交互模塊:該模塊主要在操作人員的輸入、汽車動力學模型與虛擬場景建立起一個互動的橋梁,能夠根據(jù)人員的操作來實現(xiàn)視景的實時渲染改變,并且通過力反饋設(shè)備將場景中的某些信息反饋給操作人員。系統(tǒng)管理模塊:該模塊是場景管理平臺的核心,它創(chuàng)建整個平臺程序的窗口并控制程序流。在程序運行過程中,系統(tǒng)管理模塊將場景管理平臺中其余的模塊有機地整合起來,通過處理消息函數(shù),調(diào)用相應的模塊完成場景調(diào)入、用戶輸入、聲效處理和視景渲染等。(2)非核心模塊這些模塊為虛擬駕駛場景管理平臺
12、擴展性的部分,包括以下幾個模塊:立體顯示模塊:為了提高虛擬駕駛系統(tǒng)的沉浸感,可根據(jù)雙目立體投影算法為系統(tǒng)增 加立體顯示模塊,通過主動立體投影或者被動立體投影,實現(xiàn)場景的立體顯示。輔助功能模塊:該模塊為場景管理平臺提供一些輔助功能。對于不同的應用領(lǐng)域,這些輔助功能會有所不同, 但其運行過程由主程序來控制,程序根據(jù)觸發(fā)事件的不同, 把不同的消息發(fā)送到與該事件相關(guān)的模塊進行處理。如在虛擬駕駛過程中可以為駕駛?cè)藛T提供顯示汽車的運行狀態(tài)信息、標志信息以及場景的提示信息等。網(wǎng)絡(luò)通信模塊:該模塊主要為場景管理平臺提供網(wǎng)絡(luò)通信、數(shù)據(jù)傳輸以及聯(lián)網(wǎng)控制等功能。場景管理平臺使用的網(wǎng)絡(luò)傳輸協(xié)議主要是TCP/IP或IP
13、X協(xié)議。通過網(wǎng)絡(luò)技術(shù),還可以進一步實現(xiàn)多通道投影和多人網(wǎng)路聯(lián)合仿真。各種特效模塊:該模塊為具體的虛擬現(xiàn)實提供一些特效,如雨滴、雪花、汽車尾氣、 噴泉等粒子系統(tǒng),汽車的后視鏡以及虛擬儀表等。實現(xiàn)該模塊要根據(jù)不同的特效采用適當?shù)?算法,特效的實現(xiàn)通常比較消耗系統(tǒng)資源,因此實現(xiàn)時要在特效效果和渲染復雜度中取一個平衡。運動錄制模塊:該模塊能夠記錄攝像機的運動軌跡,用于仿真結(jié)束后對駕駛?cè)藛T的操縱過程進行分析。、人及交互控制場景系統(tǒng)輸入控制包括由駕駛者控制汽車運動的基本操作,包括對方向盤、油門、離合、剎車和檔位轉(zhuǎn)換等,以及觸及點火開關(guān)、轉(zhuǎn)向指示燈按鈕、喇叭鳴笛按鈕等輔助性操作,還有就是針對軟件運行過程中的
14、某些設(shè)置功能的鍵盤和鼠標操作。讀入的汽車運動控制信息, 通過汽車的動力學模型運算后,交互控制視覺場景的顯示。畫面輸出除了視景的變化外,同時輸出經(jīng)過汽車動力模型計算后產(chǎn)生的汽車運行信息,包括當前速度、檔位、點火開關(guān)狀態(tài)、鳴笛狀態(tài)、轉(zhuǎn)向指示狀態(tài)等。如果僅僅依賴 windows的消息機制,系統(tǒng)的實時性則難以達到要求,由于 DirectInput 直接與設(shè)備驅(qū)動進行通訊,具有底層輸入獲取的處理能力,其能夠立即響應硬件的中斷,不需要經(jīng)過 windows系統(tǒng)的消息機制,保證信號處理的實時性,所以本程序利用DirectInput組件提供的輸入接口功能,實現(xiàn)控制信號的輸入。輸入設(shè)備包括三個設(shè)備:鼠標、鍵盤和專
15、用的駕駛模擬游戲桿。利用了主板上的鍵盤和鼠標輸入接口,使輸入信號以系統(tǒng)能識別的鍵盤鼠標兼容的數(shù)據(jù)形式輸入系統(tǒng),由 DirectInput獲取并處理,游戲桿采用最新的羅技公司 生產(chǎn)的針對賽車類游戲的專業(yè)G25型游戲桿,它可以提供包括對方向盤、油門、離合、剎車和檔位的操作,通過 DirectInput接口將駕駛操縱信號輸入到場景管理平臺中。1、操作設(shè)備輸入的設(shè)置和初始化DirectInput組件由支持 COM接口的DirectInput對象和每一種提供數(shù)據(jù)的輸入設(shè)備對象 組成。DirectInput對象在程序中表征 DirectInput子系統(tǒng),用于查詢和管理輸入系統(tǒng)。創(chuàng)建 DirectInput
16、對象之后,可以使用該對象的接口方法查詢系統(tǒng)中的可用輸入設(shè)備,并為程序中需要使用的每一個設(shè)備創(chuàng)建一個DirectInputDevice對象。在DirectInputDevice設(shè)備對象創(chuàng)建出來后,必須為它設(shè)置設(shè)備的屬性和數(shù)據(jù)的讀取格式。每一個DirectInputDevice對象都表示了一個輸入設(shè)備,通過對設(shè)備屬性的設(shè)置,將設(shè)備對象設(shè)置為鼠標、鍵盤、游戲桿等,并且 設(shè)置了 DirectInput設(shè)備的數(shù)據(jù)讀取模式。DirectInput支持兩種類型數(shù)據(jù)讀取模式:緩沖區(qū)模式和立即模式。緩沖區(qū)模式數(shù)據(jù)是將輸入事件的數(shù)據(jù)保存在緩沖區(qū)中,直到應用程序取得這些數(shù)據(jù)。立即模式數(shù)據(jù)是指一個輸入設(shè)備當前狀態(tài)的映
17、像。在應用程序中,如果只關(guān)心設(shè)備當前的狀態(tài),可以使用立即模式。當 設(shè)備的輸入事件比設(shè)備當前狀態(tài)對應用來說更重要時,應選擇緩沖區(qū)模式。對鍵盤來說,DirectInput不使用字符重復設(shè)置。當使用緩沖區(qū)數(shù)據(jù)模式時,模式對鍵盤 中每個健的按下和釋放作為事件來解釋,當使用立即數(shù)據(jù)時,DirectInput只考慮當前狀態(tài),而不管windows報告的鍵盤消息。對于本系統(tǒng),程序需要獲取的主要是鍵盤上按鍵當前所 處的狀態(tài),即當前被檢索查詢時是按下狀態(tài)還是松開狀態(tài),所以鍵盤數(shù)據(jù)由立即模式數(shù)據(jù)獲得。對于用于虛擬駕駛操作的游戲桿,輸入的量中有四個連續(xù)變量、檔位操作枚舉變量以及按鈕變量等,在每個仿真周期中需要得到所有
18、的這些操作數(shù)值以便于通過動力學計算作出響 應,所以設(shè)置為緩沖區(qū)模式。2、操作控制參數(shù)的獲取輸入設(shè)備初始化完畢后,程序屏蔽了操作系統(tǒng)的鍵盤和鼠標響應。操作者對鍵盤、鼠標以及虛擬駕駛游戲桿的操作直接通過DirectInput接口傳入系統(tǒng)。讀取出駕駛?cè)藛T的操作數(shù)據(jù)后,將轉(zhuǎn)向盤和各個踏板的數(shù)值進行一定的線性變換,各項數(shù)據(jù)的數(shù)值范圍轉(zhuǎn)變到與汽車動力學模型相匹配的范圍,然后通過場景管理類將這些數(shù)據(jù)傳遞到動力學模型中進行計算。3、操作觸感系統(tǒng)在汽車行駛的過程中,駕駛員根據(jù)交通環(huán)境、路面狀況實時操作汽車的操縱裝置來改變 汽車的運動狀態(tài),汽車改變運動狀態(tài)后,駕駛員又根據(jù)視覺、觸覺(路感)和體感的反饋信息,判斷原
19、操作的正誤, 并對下一次操作做出決策,周而復始地操作,使汽車按駕駛員的主 觀意圖行駛。因此,“觸感”系統(tǒng)的研究是汽車駕駛模擬系統(tǒng)研究的重要內(nèi)容。操作觸感系 統(tǒng)實質(zhì)是實現(xiàn)操作與汽車狀態(tài)間信息傳遞環(huán)節(jié)的模擬裝置,是形成駕駛模擬不可少的重要組成部分。駕駛員的觸感信息包括方向盤反力(回正力矩)及振動、油門踏板力、制動踏板力、離 合器反力以及變速器手柄反力,其中方向盤回正力矩和振動是駕駛員觸感中最主要的信息。 因此,方向盤回正力矩及振動模擬的逼真度直接關(guān)系到駕車路感的真實性,并影響駕駛模擬試驗的準確性。在真實的駕駛過程中由于發(fā)動機啟動、汽車行駛路面的不平整等原因都會引起汽車的振動。在本駕駛系統(tǒng)中通過力反
20、饋系統(tǒng)控制方向盤的振動過程來表達上述情況,將發(fā)動機啟動過程、行駛在砂土路面或者其他路面所引起的汽車的振動狀態(tài)寫成專門的力反饋 文件,在汽車發(fā)生上述情況時調(diào)用這些文件,驅(qū)動方向盤振動,形成力反饋效果。真實駕駛過程中的方向盤回正力矩與路面對轉(zhuǎn)向輪的反作用、轉(zhuǎn)向機構(gòu)的摩擦力和前輪與轉(zhuǎn)向系的慣性等方面有關(guān),具體運算過程比較復雜,本虛擬駕駛系統(tǒng)采取簡化措施,和各個踏板的反力一樣,通過游戲桿機械結(jié)構(gòu)中的彈簧來調(diào)節(jié)。三、聲音處理四、主要類介紹根據(jù)場景管理平臺的功能劃分,可將系統(tǒng)的對象類確定如下:1、系統(tǒng)管理模塊應用程序類 CVirtualDriveApp場景管理類 CVirtualDriveSimManag
21、er2、視景圖形渲染模塊圖形渲染核心類 CGraphics材質(zhì)類CMaterial和紋理類CTexture光照類CLight環(huán)境類CEnvironment3、模型解析模塊網(wǎng)格類CMesh物體類CObject4、攝像機控制類 CVirtualDrive_Camera5、人機交互管理類 CVirtualDrive_Input6、聲音處理類 CSound、CSoundChannel 和 CMP3五、汽車運動仿真算法選擇1、汽車運動仿真算法分析運動的模擬一般有兩種方法: 第一種是根據(jù)牛頓第二運動定律得到的運動學方程,運用微積分學知識,結(jié)合運動的初始條件直接得到封閉式解答,這種方法特別適合于對一些簡單運
22、動進行精確的模擬;第二種方法是對建立的運動學方程作泰勒展開,運用數(shù)值積分的方法求解,這種方法適合于對一些高階導數(shù)難于求解或無法求解的復雜運動進行模擬。第一種方法在大規(guī)模場景的實時仿真系統(tǒng)中很少被用來模擬汽車以及其它運動狀態(tài)比較復雜的物體。 而數(shù)值積分的方法在處理這一類問題上有一定的優(yōu)勢,運用數(shù)值積分的方法來估算運動方程 的近似值,求解過程則比較簡單,而且容易理解,算法的精度通過一定的改進可以得到有效 的控制,同時,舍入誤差也相對較小。2、數(shù)值積分仿真算法歐拉剛發(fā)是現(xiàn)在莫場景仿真中最常用的一種方法。由于歐拉方法只需要作一次泰勒展開式運算,運算速度較快, 在視景系統(tǒng)開發(fā)中應用較為廣泛。但由于其截斷
23、誤差較大,在模擬 汽車加速和減速運動時的真實感不夠。隨著計算機軟硬件的不斷發(fā)展,用精度更高的算法模擬汽車運動己成為可能。改良的歐拉方法只需要多做一次泰勒展開式運算就可以將截斷誤差 由(At)2上升到(At) 3階,在汽車虛擬駕駛系統(tǒng)的開發(fā)中采用這種方法模擬汽車的運動,可 取得比較好的仿真效果。而龍格 -庫塔法由于涉及到更多的泰勒展開式計算,與改良的歐拉 方法相比,在仿真程序編程試驗中,效果不是很明顯。六、汽車運動仿真模型1、汽車速度變化仿真模型在汽車速度仿真模型中,傳統(tǒng)的方法是采用經(jīng)典歐拉法來仿真計算,為了提高仿真精度,采用改良型歐拉法后的汽車速度的離散仿真模型。采用改良后的歐拉法在一次仿真過
24、程中計算兩次加速度值,而在采用Runge-Kutta法的汽車速度仿真模型在一次仿真過程中將計算四次加速度值,二者都得到較為真實的仿真結(jié)果,但后者的缺點是在較短的時間內(nèi)運算的數(shù)據(jù)量較大。2、汽車行駛方向和姿態(tài)變化仿真模型七、汽車行駛過程地形檢測1、碰撞檢測算法由于汽車操縱模型的運動具有實時性和可操控性的要求,所以在虛擬駕駛中的碰撞檢測應采用實時碰撞檢測方法。在實時碰撞檢測中主要采用兩種碰撞檢測算法:基于OBB包圍盒的碰撞檢測和基于基本幾何形體(三角形)的相交測試,前者可以快速剔除不可能相交的部分,后者則對可能碰撞的部分進行精確判斷。2、汽車地形檢測3、地形對汽車運動的影響八、汽車操作信號的輸入操
25、縱部件的信號流程如圖5-4所示。圖5-4操作設(shè)備信號流程其它的操作如點火、 鳴笛以及轉(zhuǎn)向提示等, 可通過游戲桿的按鈕來輸入,在每個固定的仿真周期內(nèi),通過 DirectInput接口將游戲桿的信號讀入輸入模塊中,將模塊中的數(shù)值讀入 汽車動力學計算模塊中,完成汽車的運動計算。九、汽車數(shù)據(jù)模型汽車數(shù)據(jù)模型就是將某種型號的汽車整體參數(shù)、 發(fā)動機仿真擬和曲線參數(shù)以及汽車傳動 系數(shù)等數(shù)據(jù)制作為單獨的數(shù)據(jù)文件, 在虛擬駕駛中,通過選擇不同的汽車數(shù)據(jù)文件可以選用 不同的汽車來仿真。十、汽車行駛仿真過程1、汽車駕駛過程整體仿真在每一時刻汽車的運動可以分解汽車局部坐標系的沿z軸的前后移動、繞y軸的旋轉(zhuǎn)運動、繞x軸
26、的旋轉(zhuǎn)運動以及繞 z軸的旋轉(zhuǎn)運動,它們分別對應汽車的前進和后退、橫擺、俯 仰以及側(cè)傾等運動,組合在一起就可以模擬汽車駕駛時的基本運動。而這些運動都是由操作人員的輸入、汽車當前的運行狀態(tài)以及汽車所處的地形和路面共同決定的。由于汽車運動過程中,汽車的各種物理狀態(tài)和參數(shù)受到駕駛?cè)藛T的操縱而變化。所以在每一次渲染的間歇時間內(nèi),需要讀取駕駛?cè)藛T的操作輸入數(shù)據(jù),然后根據(jù)汽車動力學模型和汽車運動仿真模型, 通過計算后得到汽車的運行參數(shù),進而得到攝像機的運行參數(shù),然后通過場景管理系統(tǒng)實現(xiàn)場景渲染。在仿真過程中,首先得到某一型號汽車的模型數(shù)據(jù),對汽車模型進行初始化,設(shè)定其初始狀態(tài),等待點火啟動命令, 啟動后發(fā)動
27、機進入怠速狀態(tài),然后在每個仿真周期里面都定時間間隔讀取駕駛員的操作數(shù)據(jù),根據(jù)讀取的數(shù)據(jù)、汽車動力學模型以及當前所采用車型的數(shù) 據(jù)模型進行汽車速度仿真和姿態(tài)仿真計算,同時加上汽車所處的場景地形對汽車的影響,最后輸出仿真結(jié)果,即汽車在下一仿真周期內(nèi)所處的位置、行駛方向和姿態(tài)。得到乍旃模匣的戊收白火由學"E:切拉志避人及動機怠速擾宓定時間同M或收悌擾敵據(jù)圖5-5汽車模型虛擬駕駛仿真過程框圖2、汽車起步過程仿真在正常起步過程中, 隨著離合器踏板的抬起, 從動輪的傳遞扭矩逐步增加,汽車車速將隨之不斷增大,當離合器從動輪的轉(zhuǎn)速和發(fā)動機轉(zhuǎn)速相等時,起動過程結(jié)束。另外,通過此仿真過程也可以模擬出駕駛
28、人員的某些不良操作后汽車發(fā)動機轉(zhuǎn)速和車速的變化過程,如在起步過程中,駕駛?cè)藛T操作離合器踏板松開速度過快,而油門開度沒有相應地增大,導致在離合器滑磨過程中, 離合器傳遞力矩大于發(fā)動機的輸出轉(zhuǎn)矩,汽車將會發(fā)生向前竄動, 嚴重時發(fā)動機的轉(zhuǎn)速將會迅速下降,甚至會低于其最低轉(zhuǎn)速而熄火。圖5-6汽車起動過程仿真過程框圖3、汽車速度變化過程仿真在虛擬駕駛系統(tǒng)中,汽車速度變化仿真過程主要描述在駕駛?cè)藛T的加速、制動、換檔等操作下,汽車發(fā)動機轉(zhuǎn)速和汽車行駛速度的變化過程。在汽車實際的運動中, 其運動可由各個運動方向上的速度、 加速度表示。本虛擬駕駛系統(tǒng)中, 汽車在前后運動表示為汽車沿局部 坐標系z軸的前后平移。在
29、每個仿真周期內(nèi), 讀出操作人員的控制數(shù)據(jù),通過速度仿真模型 計算出加速度數(shù)值,得到下一個仿真時刻的速度, 設(shè)定在下一個仿真周期內(nèi)汽車前進的距離, 經(jīng)過時間驅(qū)動產(chǎn)生連續(xù)的運動效果。汽車前后運動與駕駛員的人為操作因素相關(guān),如當前檔位、油門大小、剎車狀態(tài)及離合狀態(tài)等, 在速度仿真過程中將體現(xiàn)這些因素對汽車運動速度 變化的影響。汽車模型速度變化仿真控制過程如圖5-7所示。人尊加遑鹿計口刊口帆點七格引增Mn利 卜時劑點的速度轉(zhuǎn)速上網(wǎng)的比例美景,,前通佐利卜忖前速慢黃零 一一一檔禮感P圖5-7汽車速度變化仿真控制過程汽車模型速度變化計算主要包括汽車行駛速度、加速度計算和發(fā)動機轉(zhuǎn)速計算兩個方 面。具體仿真過
30、程步驟如下:首先,判斷當前檔位,如果不是空檔,則汽車的行駛速度和汽車的發(fā)動機轉(zhuǎn)速保持固定 的比例關(guān)系,如果是空檔,執(zhí)行空檔發(fā)動機轉(zhuǎn)速計算;其次,計算出此時的發(fā)動機輸出轉(zhuǎn)矩以及汽車的行駛阻力,代入速度數(shù)字仿真模型計算此時的汽車加速度和下一仿真周期的汽車速度;然后,對計算出的汽車行駛速度進行判斷。由于模擬輸入的制動力矩在汽車停止運行仍將發(fā)揮作用,所以要判斷下一時間點的速度值,若為負值時,判定速度為零。在速度不為零時,判斷此時汽車變速器是否在檔位上,如果變速器不在空檔上, 則應保持汽車行駛速度和發(fā)動機轉(zhuǎn)速的關(guān)系, 如果低于發(fā)動機最低轉(zhuǎn)速,則應使發(fā)動機熄火;如果變速器為空檔,發(fā) 動機轉(zhuǎn)速和行駛速度脫離
31、固定比例關(guān)系,此時判斷速度是否小于零,如果小于零則將當前速度置零,不為零則直接輸出下一仿真周期的速度。最后,輸出計算出的下一點的速度。4、汽車模型行駛姿態(tài)變化過程仿真在模擬駕駛仿真過程中, 汽車行駛姿態(tài)的變化受多方面因素的影響, 其中包括汽車所處 位置的地形、轉(zhuǎn)向盤的旋轉(zhuǎn)方向及轉(zhuǎn)角、 汽車是否為倒車行駛等。 綜合上述因素,給出汽車 在三維環(huán)境內(nèi)行駛方向變化白仿真控制過程,如圖5-8所示。在實際駕駛操作中的方向盤自由行程、轉(zhuǎn)向系傳動比、方向盤可轉(zhuǎn)動的圈數(shù)等在模擬器上都由所使用的專用游戲桿操縱部件實現(xiàn),系統(tǒng)程序處理的是最終的方向盤轉(zhuǎn)角的信號數(shù)值。方向盤轉(zhuǎn)角數(shù)值通過人機交互模塊檢索到信號,轉(zhuǎn)化成相應
32、的數(shù)值存入變量后,根據(jù)汽車方向仿真模型計算出在一個仿真周期里面汽車行駛相應的旋轉(zhuǎn)角度。汽車的轉(zhuǎn)向是由繞汽車局部坐標系y軸的旋轉(zhuǎn)運動來模擬實現(xiàn)的,所以根據(jù)汽車所處地面位置計算出汽車此時的 上方向向量Vup,然后創(chuàng)建一個繞汽車局部坐標系上方向軸Vup旋轉(zhuǎn)前面算好角度的旋轉(zhuǎn)矩陣,通過這個旋轉(zhuǎn)矩陣修改汽車局部坐標系中的前進方向,更新攝像機局部坐標系的觀察向量。由于汽車只有在運動時才能實現(xiàn)轉(zhuǎn)向,而汽車靜止不動時即使轉(zhuǎn)動方向盤也不能實現(xiàn)轉(zhuǎn)向運動,因此轉(zhuǎn)向的模擬實現(xiàn)牽連于前后運動。在每一個渲染循環(huán)時間片內(nèi),一個轉(zhuǎn)向運動過程可以看作是如下兩個過程模擬的合成:汽車先根據(jù)轉(zhuǎn)向角度繞本車y軸旋轉(zhuǎn)一個角度,朝向下一個渲染循環(huán)所要經(jīng)過的點,然后再按照計算出的仿真周期內(nèi)的前后運動步長由A點平移到B點。在渲染時連續(xù)運動實現(xiàn)汽車的運動轉(zhuǎn)向的視覺效果。5、汽車檔位變換邏輯判斷過程仿真由于模擬駕駛的換檔操縱感和離合器不像實車那樣與傳動系存在結(jié)構(gòu)上的耦合,無法從機械結(jié)構(gòu)上限制人員的非法操作, 因此需要在換檔過程中對人員的操作進行邏輯判斷, 如果 出現(xiàn)非法操作,給出提示并不
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論