專利名稱:基于構(gòu)件機械原理的機構(gòu)運動虛擬實驗仿真方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種機械動力實驗教學(xué)的仿真方法,尤其是涉及一種基于構(gòu)件機械原理的機構(gòu)運動虛擬實驗仿真方法。
背景技術(shù):
多領(lǐng)域通用建模仿真Modelica(MO)是為解決復(fù)雜物理系統(tǒng)多領(lǐng)域統(tǒng)一建模與仿真問題,而提出的一種面向?qū)ο蠡诜匠痰年愂鍪浇UZ言。OpenSceneGraph是一款高性能的3D圖形開發(fā)庫。廣泛應(yīng)用在可視化仿真、游戲、 虛擬現(xiàn)實、高端技術(shù)研發(fā)以及建模等領(lǐng)域。傳統(tǒng)的實驗教學(xué)需要提供給學(xué)生動手操作的硬件環(huán)境與軟件環(huán)境,這需要占用大量的教學(xué)資源。近年來,由于學(xué)生人數(shù)的增加,給實驗教學(xué)造成了一定的壓力,而虛擬實驗教學(xué)平臺在提高學(xué)生創(chuàng)新能力方面可以起到重要作用。目前的虛擬實驗大多面向特定學(xué)科,而現(xiàn)在還沒有虛擬實驗通用開發(fā)平臺,虛擬實驗的開發(fā)基本上屬于單件開發(fā),這限制了虛擬實驗在實驗教育上的普及。國內(nèi)虛擬實驗領(lǐng)域處于起步階段吉林大學(xué)的基于Virtools的大學(xué)物理網(wǎng)絡(luò)三維虛擬實驗,四川師范大學(xué)的基于Jini技術(shù)的虛擬實驗平臺,太原理工大學(xué)基于LabView 的遠(yuǎn)程虛擬實驗室,鄭州大學(xué)的基于VRML和MATLAB的智能控制虛擬實驗室。國外虛擬實驗領(lǐng)域起步較早,取得了不少成果如哥倫比亞州立大學(xué)的信息安全保障教學(xué)虛擬實驗室, 東加利福尼亞大學(xué)的信息技術(shù)教學(xué)虛擬實驗實,瑞士聯(lián)邦理工學(xué)院的多媒體電子虛擬實驗室,普渡大學(xué)e-Learning虛擬實驗室等。
發(fā)明內(nèi)容
本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種基于構(gòu)件機械原理的機構(gòu)運動虛擬實驗仿真方法。本發(fā)明的目的可以通過以下技術(shù)方案來實現(xiàn)一種基于構(gòu)件機械原理的機構(gòu)運動虛擬實驗仿真方法,其特征在于,包括以下步驟1)在分析機械原理機構(gòu)運動實驗的各個構(gòu)件之間的邏輯關(guān)系基礎(chǔ)上,從機構(gòu)構(gòu)件中抽象出基本構(gòu)件,以統(tǒng)一建模語言Modelica的方式建立這些基本構(gòu)件的邏輯模型,統(tǒng)一存放到Modelica模型庫,同時通過三維建模軟件建立構(gòu)件的三維幾何模型,將構(gòu)件的三維幾何模型與構(gòu)件的邏輯模型進(jìn)行整合,建立以XML描述的完整實驗構(gòu)件模型,建立實驗構(gòu)件列表;2)從實驗構(gòu)件列表中選取需要的構(gòu)件,并定義各個構(gòu)件的連接關(guān)系,搭建出虛擬實驗的實驗場景Modelica模型;根據(jù)實驗所需的構(gòu)件,讀入對應(yīng)的構(gòu)件文件,選擇構(gòu)件的三維模型,對構(gòu)件之間需要連接的接口進(jìn)行組裝;3)組裝完成后,獲得實驗場景模型的Modelica描述文件,設(shè)置仿真的參數(shù),開始場景模型的編譯求解仿真;4)對求解結(jié)果文件進(jìn)行數(shù)據(jù)處理,獲得構(gòu)件模型幾何運動數(shù)據(jù)文件,從而驅(qū)動虛擬實驗裝配仿真環(huán)境中機構(gòu)三維模型的可視化,實現(xiàn)機械原理實驗的三維搭建和可視化仿真。所述的步驟1)中的XML描述的完整實驗構(gòu)件模型信息包括(1)構(gòu)件基本信息構(gòu)件ID、構(gòu)件名稱、構(gòu)件類型、學(xué)科信息、創(chuàng)建者信息、創(chuàng)建日期,所述的構(gòu)件ID與Modelica庫中的構(gòu)件一一對應(yīng);(2)構(gòu)件接口列表用于構(gòu)件與構(gòu)件之間連接的接口 ;(3)構(gòu)件屬性列表構(gòu)件內(nèi)部用數(shù)學(xué)表達(dá)式表述的參數(shù);(4)構(gòu)件在Modelica庫中的邏輯位置;(5)幾何構(gòu)件的可視化模型信息和坐標(biāo)系轉(zhuǎn)換矩陣。所述的構(gòu)件內(nèi)部用數(shù)學(xué)表達(dá)式表述的參數(shù)包括參數(shù)的ID、名稱、符號、值、單位、最小值、最大值、是否在建模環(huán)境顯示和是否可修改;所述的是否可修改用于表明可供用戶輸入值的參數(shù),所述的是否在建模環(huán)境顯示定義了需要返回到建模環(huán)境的結(jié)果參數(shù)。所述的Modelica庫為樹狀結(jié)構(gòu),邏輯位置存放的是該構(gòu)件從根節(jié)點到其子節(jié)點的路徑。所述的步驟幻中的場景模型的編譯求解仿真步驟如下實驗場景的Modelica描述文件傳入求解模塊,求解器求解時先調(diào)入各學(xué)科 Modelica基本構(gòu)件庫和各學(xué)科Modelica組合構(gòu)件庫,獲取仿真時間設(shè)置,調(diào)用編譯求解器求解實驗場景Modelica文件,獲得各運動構(gòu)件的pit格式輸出數(shù)據(jù)格式的結(jié)果,求解結(jié)果通過求解數(shù)據(jù)解析工具轉(zhuǎn)換成結(jié)果描述文件返回到建模環(huán)境。所述的編譯求解器求解實驗場景Modelica文件具體如下將實驗場景Modelica模型轉(zhuǎn)換成用系列方程組描述的平坦模型,通過 OpenModelica編譯器,將平坦模型轉(zhuǎn)換成C語言源代碼,再通過GCC編譯器將C語言程序編譯成可執(zhí)行文件,實現(xiàn)對實驗場景模型的計算求解。所述的步驟4)中的對求解結(jié)果文件進(jìn)行數(shù)據(jù)處理具體如下將pit格式的文件轉(zhuǎn)換成VR Flier動畫路徑文件,其過程為,首先從pit文件中截取需要的數(shù)據(jù);其次通過C++文件流操作,將數(shù)據(jù)文件讀入系統(tǒng)內(nèi)存,賦值給相應(yīng)的數(shù)組; 最后,將位置坐標(biāo)與角度轉(zhuǎn)化為變換矩陣。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點1)采用面向?qū)ο蟮奈锢硐到y(tǒng)建模語言Modelica,利用不同領(lǐng)域物理規(guī)律內(nèi)在數(shù)學(xué)方程描述的一致性,實現(xiàn)不同學(xué)科實驗構(gòu)件模型的統(tǒng)一建模;2)基于實驗構(gòu)件模型,建立構(gòu)件之間的鏈接關(guān)聯(lián),裝配成實驗場景模型,再進(jìn)行實驗求解,建立虛擬實驗平臺,支持完成多學(xué)科的虛擬實驗;3)針對機械學(xué)科機構(gòu)運動認(rèn)知實驗的特點,將整個機構(gòu)運動實驗過程抽象為統(tǒng)一方式描述的虛擬實驗構(gòu)件模型,該模型包含可視化信息和邏輯信息,邏輯信息通過統(tǒng)一建模語言Modelica建模,在虛擬現(xiàn)實環(huán)境下組裝虛擬實驗場景,通過對場景的MO模型進(jìn)行數(shù)學(xué)方程的編譯求解,獲得機構(gòu)運動的輸出數(shù)據(jù),再返回虛擬現(xiàn)實環(huán)境將仿真結(jié)果可視化;4)基于原有的虛擬現(xiàn)實平臺VR Filer,開發(fā)了機構(gòu)運動認(rèn)知實驗的虛擬實驗裝配仿真系統(tǒng),通過虛擬實驗系統(tǒng)的開發(fā)和應(yīng)用,學(xué)生可以在該虛擬環(huán)境中上,利用構(gòu)件庫對機構(gòu)實驗進(jìn)行搭建并仿真,這使學(xué)生更好地理解機構(gòu)組成及運動原理,讓枯燥的理論知識變得形象易于掌握;5)采用用統(tǒng)一建模方法對虛擬實驗建模和仿真計算求解,各模塊之間具有相對獨立性,具有通用性,因而該系統(tǒng)很容易拓展到其他學(xué)科的虛擬實驗。
圖1為本發(fā)明的試驗仿真流程圖;圖2為本發(fā)明的編譯求解器求解流程圖。
具體實施例方式下面結(jié)合附圖和具體實施例對本發(fā)明進(jìn)行詳細(xì)說明。實施例如圖1所示,一種基于構(gòu)件機械原理的機構(gòu)運動虛擬實驗仿真方法,其特征在于, 包括以下步驟1)在分析機械原理機構(gòu)運動實驗的各個構(gòu)件之間的邏輯關(guān)系基礎(chǔ)上,從機構(gòu)構(gòu)件中抽象出基本構(gòu)件,以統(tǒng)一建模語言Modelica的方式建立這些基本構(gòu)件的邏輯模型,統(tǒng)一存放到Modelica模型庫,同時通過三維建模軟件建立構(gòu)件的三維幾何模型,將構(gòu)件的三維幾何模型與構(gòu)件的邏輯模型進(jìn)行整合,建立以XML描述的完整實驗構(gòu)件模型,建立實驗構(gòu)件列表;2)從實驗構(gòu)件列表中選取需要的構(gòu)件,并定義各個構(gòu)件的連接關(guān)系,搭建出虛擬實驗的實驗場景Modelica模型;根據(jù)實驗所需的構(gòu)件,讀入對應(yīng)的構(gòu)件文件,選擇構(gòu)件的三維模型,對構(gòu)件之間需要連接的接口進(jìn)行組裝;3)組裝完成后,獲得實驗場景模型的Modelica描述文件,設(shè)置仿真的參數(shù),開始場景模型的編譯求解仿真;4)對求解結(jié)果文件進(jìn)行數(shù)據(jù)處理,獲得構(gòu)件模型幾何運動數(shù)據(jù)文件,從而驅(qū)動虛擬實驗裝配仿真環(huán)境中機構(gòu)三維模型的可視化,實現(xiàn)機械原理實驗的三維搭建和可視化仿真。所述的步驟1)中的XML描述的完整實驗構(gòu)件模型信息包括(1)構(gòu)件基本信息構(gòu)件ID、構(gòu)件名稱、構(gòu)件類型、學(xué)科信息、創(chuàng)建者信息、創(chuàng)建日期,所述的構(gòu)件ID與Modelica庫中的構(gòu)件一一對應(yīng);(2)構(gòu)件接口列表用于構(gòu)件與構(gòu)件之間連接的接口 ;(3)構(gòu)件屬性列表構(gòu)件內(nèi)部用數(shù)學(xué)表達(dá)式表述的參數(shù);該參數(shù)包括參數(shù)的ID、名稱、符號、值、單位、最小值、最大值、是否在建模環(huán)境顯示和是否可修改;所述的是否可修改用于表明可供用戶輸入值的參數(shù),所述的是否在建模環(huán)境顯示定義了需要返回到建模環(huán)境的結(jié)果參數(shù)。(4)構(gòu)件在Modelica庫中的邏輯位置;所述的Modelica庫為樹狀結(jié)構(gòu),邏輯位置存放的是該構(gòu)件從根節(jié)點到其子節(jié)點的路徑。(5)幾何構(gòu)件的可視化模型信息和坐標(biāo)系轉(zhuǎn)換矩陣。
如圖2所示,所述的步驟3)中的場景模型的編譯求解仿真步驟如下實驗場景的 Modelica描述文件傳入求解模塊,求解器求解時先調(diào)入各學(xué)科Modelica基本構(gòu)件庫和各學(xué)科Modelica組合構(gòu)件庫,獲取仿真時間設(shè)置,調(diào)用編譯求解器求解實驗場景Modelica文件,獲得各運動構(gòu)件的Plt格式輸出數(shù)據(jù)格式的結(jié)果,求解結(jié)果通過求解數(shù)據(jù)解析工具轉(zhuǎn)換成結(jié)果描述文件返回到建模環(huán)境。所述的編譯求解器求解實驗場景Modelica文件具體如下將實驗場景Modelica 模型轉(zhuǎn)換成用系列方程組描述的平坦模型,通過OpenModelica編譯器,將平坦模型轉(zhuǎn)換成 C語言源代碼,再通過GCC編譯器將C語言程序編譯成可執(zhí)行文件,實現(xiàn)對實驗場景模型的計算求解。所述的步驟4)中的對求解結(jié)果文件進(jìn)行數(shù)據(jù)處理具體如下將Plt格式的文件轉(zhuǎn)換成VR Flier動畫路徑文件,其過程為,首先從pit文件中截取需要的數(shù)據(jù);其次通過C++ 文件流操作,將數(shù)據(jù)文件讀入系統(tǒng)內(nèi)存,賦值給相應(yīng)的數(shù)組;最后,將位置坐標(biāo)與角度轉(zhuǎn)化為變換矩陣。利用上面數(shù)據(jù)處理后得到的路徑文件,創(chuàng)建模型加載列表文件,并保證加載模型的順序必須與輸出關(guān)鍵點的順序相對應(yīng)。通過VR Flier平臺可以加載相關(guān)的數(shù)據(jù),并設(shè)置動畫的幀與幀之間的時間參數(shù),即可對三維模型進(jìn)行驅(qū)動仿真。以簡易沖床機構(gòu)的虛擬實驗為例,其中表1為基本單元構(gòu)件邏輯模型表 權(quán)利要求
1.一種基于構(gòu)件機械原理的機構(gòu)運動虛擬實驗仿真方法,其特征在于,包括以下步驟1)在分析機械原理機構(gòu)運動實驗的各個構(gòu)件之間的邏輯關(guān)系基礎(chǔ)上,從機構(gòu)構(gòu)件中抽象出基本構(gòu)件,以統(tǒng)一建模語言Modelica的方式建立這些基本構(gòu)件的邏輯模型,統(tǒng)一存放到Modelica模型庫,同時通過三維建模軟件建立構(gòu)件的三維幾何模型,將構(gòu)件的三維幾何模型與構(gòu)件的邏輯模型進(jìn)行整合,建立以XML描述的完整實驗構(gòu)件模型,建立實驗構(gòu)件列表;2)從實驗構(gòu)件列表中選取需要的構(gòu)件,并定義各個構(gòu)件的連接關(guān)系,搭建出虛擬實驗的實驗場景Modelica模型;根據(jù)實驗所需的構(gòu)件,讀入對應(yīng)的構(gòu)件文件,選擇構(gòu)件的三維模型,對構(gòu)件之間需要連接的接口進(jìn)行組裝;3)組裝完成后,獲得實驗場景模型的Modelica描述文件,設(shè)置仿真的參數(shù),開始場景模型的編譯求解仿真;4)對求解結(jié)果文件進(jìn)行數(shù)據(jù)處理,獲得構(gòu)件模型幾何運動數(shù)據(jù)文件,從而驅(qū)動虛擬實驗裝配仿真環(huán)境中機構(gòu)三維模型的可視化,實現(xiàn)機械原理實驗的三維搭建和可視化仿真。
2.根據(jù)權(quán)利要求1所述的一種基于構(gòu)件機械原理的機構(gòu)運動虛擬實驗仿真方法,其特征在于,所述的步驟1)中的XML描述的完整實驗構(gòu)件模型信息包括(1)構(gòu)件基本信息構(gòu)件ID、構(gòu)件名稱、構(gòu)件類型、學(xué)科信息、創(chuàng)建者信息、創(chuàng)建日期,所述的構(gòu)件ID與Modelica庫中的構(gòu)件——對應(yīng);(2)構(gòu)件接口列表用于構(gòu)件與構(gòu)件之間連接的接口;(3)構(gòu)件屬性列表構(gòu)件內(nèi)部用數(shù)學(xué)表達(dá)式表述的參數(shù);(4)構(gòu)件在Modelica庫中的邏輯位置;(5)幾何構(gòu)件的可視化模型信息和坐標(biāo)系轉(zhuǎn)換矩陣。
3.根據(jù)權(quán)利要求2所述的一種基于構(gòu)件機械原理的機構(gòu)運動虛擬實驗仿真方法,其特征在于,所述的構(gòu)件內(nèi)部用數(shù)學(xué)表達(dá)式表述的參數(shù)包括參數(shù)的ID、名稱、符號、值、單位、最小值、最大值、是否在建模環(huán)境顯示和是否可修改;所述的是否可修改用于表明可供用戶輸入值的參數(shù),所述的是否在建模環(huán)境顯示定義了需要返回到建模環(huán)境的結(jié)果參數(shù)。
4.根據(jù)權(quán)利要求2所述的一種基于構(gòu)件機械原理的機構(gòu)運動虛擬實驗仿真方法,其特征在于,所述的Modelica庫為樹狀結(jié)構(gòu),邏輯位置存放的是該構(gòu)件從根節(jié)點到其子節(jié)點的路徑。
5.根據(jù)權(quán)利要求1所述的一種基于構(gòu)件機械原理的機構(gòu)運動虛擬實驗仿真方法,其特征在于,所述的步驟幻中的場景模型的編譯求解仿真步驟如下實驗場景的Modelica描述文件傳入求解模塊,求解器求解時先調(diào)入各學(xué)科Modelica 基本構(gòu)件庫和各學(xué)科Modelica組合構(gòu)件庫,獲取仿真時間設(shè)置,調(diào)用編譯求解器求解實驗場景Modelica文件,獲得各運動構(gòu)件的pit格式輸出數(shù)據(jù)格式的結(jié)果,求解結(jié)果通過求解數(shù)據(jù)解析工具轉(zhuǎn)換成結(jié)果描述文件返回到建模環(huán)境。
6.根據(jù)權(quán)利要求5所述的一種基于構(gòu)件機械原理的機構(gòu)運動虛擬實驗仿真方法,其特征在于,所述的編譯求解器求解實驗場景Modelica文件具體如下將實驗場景Modelica模型轉(zhuǎn)換成用系列方程組描述的平坦模型,通過OpenModelica 編譯器,將平坦模型轉(zhuǎn)換成C語言源代碼,再通過GCC編譯器將C語言程序編譯成可執(zhí)行文件,實現(xiàn)對實驗場景模型的計算求解。
7.根據(jù)權(quán)利要求1所述的一種基于構(gòu)件機械原理的機構(gòu)運動虛擬實驗仿真方法,其特征在于,所述的步驟4)中的對求解結(jié)果文件進(jìn)行數(shù)據(jù)處理具體如下將Plt格式的文件轉(zhuǎn)換成VR Flier動畫路徑文件,其過程為,首先從pit文件中截取需要的數(shù)據(jù);其次通過C++文件流操作,將數(shù)據(jù)文件讀入系統(tǒng)內(nèi)存,賦值給相應(yīng)的數(shù)組;最后,將位置坐標(biāo)與角度轉(zhuǎn)化為變換矩陣。
全文摘要
本發(fā)明涉及一種基于構(gòu)件機械原理的機構(gòu)運動虛擬實驗仿真方法,包括以下步驟1)以統(tǒng)一建模語言Modelica的方式建立這些基本構(gòu)件的邏輯模型,同時通過三維建模軟件建立構(gòu)件的三維幾何模型,將構(gòu)件的三維幾何模型與構(gòu)件的邏輯模型進(jìn)行整合,建立以XML描述的完整實驗構(gòu)件模型;2)搭建出虛擬實驗的實驗場景Modelica模型;根據(jù)實驗所需的構(gòu)件,讀入對應(yīng)的構(gòu)件文件,選擇構(gòu)件的三維模型,對構(gòu)件之間需要連接的接口進(jìn)行組裝;3)組裝完成后,設(shè)置仿真的參數(shù),開始場景模型的編譯求解仿真;4)對求解結(jié)果文件進(jìn)行數(shù)據(jù)處理,驅(qū)動虛擬實驗裝配仿真環(huán)境中機構(gòu)三維模型的可視化。與現(xiàn)有技術(shù)相比,本發(fā)明具有讓枯燥的理論知識變得形象易于掌握、通用性強等優(yōu)點。
文檔編號G09B9/00GK102254464SQ201110228978
公開日2011年11月23日 申請日期2011年8月10日 優(yōu)先權(quán)日2011年8月10日
發(fā)明者張曦, 程奐翀, 范秀敏, 馬彥軍 申請人:上海交通大學(xué)