亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Unity3D的凸輪機構虛擬設計與仿真研究

        2015-04-26 12:43:34韓瑞凱池建斌
        關鍵詞:動件輪廓線凸輪

        韓瑞凱, 池建斌

        (石家莊鐵道大學 機械工程學院,河北 石家莊 050043)

        0 引言

        虛擬實驗是以計算機為控制中心,利用軟件技術構建系統(tǒng)的邏輯結構模型,基于模塊化和層次化的設計思想,采用軟硬件結合的方式,協(xié)調相關硬件和設備形成的虛擬實驗系統(tǒng)[1]。虛擬實驗按照應用形式分為桌面式和沉浸式。傳統(tǒng)實驗主要借助專業(yè)硬件設備實現(xiàn),實驗效率低,靈活性差,受時間和空間的限制。虛擬實驗的實驗設備和實驗場景是數(shù)字的和虛擬的,方便擴展與維護,內容和形式更加靈活。隨著移動設備性能的提高和Android及IOS等操作系統(tǒng)的普及,手機、平板電腦等移動設備因其便捷性和靈活性逐漸成為重要的信息交流平臺。在移動設備上運行的凸輪機構虛擬實驗進一步打破了空間和時間對實驗的限制,用戶可以隨時隨地進行實驗,面對面交流,分享實驗結果和實驗過程。

        凸輪機構虛擬實驗系統(tǒng)主要用于凸輪機構實驗驗證和實驗教學,目前主要使用CAD軟件和動力學仿真軟件開發(fā),使用平臺主要為PC平臺。使用Unity3D開發(fā)虛擬實驗臺可以發(fā)布到PC平臺和移動平臺上使用。因為計算機的性能較高,計算精度高,可以運行要求相對復雜的實驗。而移動平臺凸輪虛擬實驗不受時空的限制,可以隨時隨地進行實驗,展示實驗過程,分享實驗結果。結合二者的優(yōu)勢,一個虛擬實驗臺有計算機和移動平臺兩個版本,功能類似但是各有側重。

        1 研究背景與現(xiàn)狀

        凸輪機構虛擬實驗主要為桌面式,包括虛擬實驗構件,交互界面,虛擬實驗場景等。虛擬實驗構件包括凸輪,從動件,機架和其他構件。主要功能包括凸輪廓線設計,凸輪運動仿真和凸輪機構設計及運動仿真。目前,構建凸輪機構虛擬實驗使用的工具主要有CAD軟件的二次開發(fā)和動力學仿真軟件等。

        CAD軟件和動力學仿真軟件具有較為完善的圖形編輯功能,建模功能和仿真功能,通過對其進行二次開發(fā)可以實現(xiàn)自定義的功能。如穆立茂等人使用CAXA二次開發(fā)功能開發(fā)出了直動從動件盤形凸輪廓線設計虛擬實驗[2]。實驗系統(tǒng)可以演示凸輪廓線設計過程和繪制從動件運動規(guī)律。劉善林等人借助Solidworks二次開發(fā)功能開發(fā)出了凸輪廓線的精確設計和運動仿真系統(tǒng)[3]。范云霄等人使用ADAMS建立凸輪虛擬樣機。根據(jù)凸輪理論尺寸計算出凸輪廓線曲線,輸入到ADAMS中生成凸輪模型,然后使用ADAMS的自動修改功能對廓線進行修改,減少失真[4]。但是使用CAD軟件和動力學軟件構建虛擬實驗,需要用戶掌握相應的軟件,操作過程復雜,擴展性和可移植性差。

        ____使用虛擬現(xiàn)實工具構建的凸輪機構虛擬實驗系統(tǒng)有更好的交互性和沉浸感,可以獲得較為真實的實驗過程,其組成如圖1。虛擬現(xiàn)實工具主要包括Java3D,X3D和Unity3D等。高校使用虛擬現(xiàn)實工具構建了不同學科領域的虛擬實驗。不僅解決了高校中實驗設備和場地緊張問題,而且可以使學生盡快接觸到價格昂貴或者前沿的實驗設備。如合肥工業(yè)大學開發(fā)出了機械基礎虛擬實驗軟件,加強了學生對問題的認識和理解[5]。王榮芝等人利用Java3D和3DMAX研究了虛擬實驗元件的建模和與可視化[6]。陳敏等人使用X3D實現(xiàn)了網絡分布式機械創(chuàng)新設計虛擬實驗系統(tǒng),用戶可以利用網絡與其他用戶交流[7]。Unity3D目前主要應用于游戲、場景漫游、虛擬培訓、工業(yè)仿真等領域,可以進行場景漫游,構建虛擬場景和實現(xiàn)交互[8-10]。使用虛擬現(xiàn)實工具構建的虛擬實驗效果比較真實,而且用戶不需要掌握專業(yè)CAD軟件和仿真軟件即可進行凸輪設計與運動仿真,擴展性和靈活性高。

        圖1 凸輪機構虛擬實驗臺組成

        凸輪機構實驗主要涉及凸輪廓線設計、凸輪運動仿真和凸輪機構設計及其運動仿真等。凸輪廓線設計是指根據(jù)運動曲線設計凸輪廓線,基本原理是“反轉法”,包括作圖法和解析法。傳統(tǒng)作圖法簡單直觀但是精度不高。解析法通過構建數(shù)學模型計算得到廓線方程,精度高,需要大量運算。虛擬實驗中結合兩種方法,從運動曲線中讀取點,通過數(shù)學模型計算得到廓線點[11]。凸輪運動仿真包含獲取從動件運動曲線和獲取凸輪相關參數(shù)的功能。

        2 關鍵技術

        使用Unity3D開凸輪機構虛擬實驗系統(tǒng),涉及虛擬實驗設備的建模、物理引擎、交互界面、凸輪廓線設計、凸輪機構運動仿真等,包括設計運動曲線、生成平面凸輪實體、界面布局、機構組裝等技術。

        2.1 設計運動曲線

        凸輪輪廓廓線設計的依據(jù)是從動件運動曲線,從動件運動曲線用于描述從動件在各個階段的運動狀態(tài),包括各個階段的運動初始狀態(tài)和運動規(guī)律。運動曲線具體通過位移時間曲線,速度時間曲線,加速度時間曲線描述運動。

        文獻[12]介紹了使用7段加速度曲線作為通用運動曲線,通過修改各段曲線的時間區(qū)間和最大(最?。┘铀俣燃纯缮刹煌\動規(guī)律的運動曲線[12]。借助通用運動曲線可以生成不同類型的運動規(guī)律,作為實驗系統(tǒng)內置的曲線類型提供給用戶,但是實際應用中用戶希望自定義運動曲線。解決方法是允許用戶輸入曲線方程,由曲線方程生成運動曲線。

        凸輪機構每個區(qū)間內的位移曲線一般是單調連續(xù)的,曲線表達式由數(shù)字、常量、變量、運算符、數(shù)字分組符號等組成,運算符的優(yōu)先級和操作符數(shù)如表1所示。用戶輸入的表達式屬于字符類型,需要將字符型表達式轉化為可讀的表達式。

        表1 表達式運算

        表達式實質是變量x到變量y的映射關系,x與y一一對應,變量x是一系列離散值,得到的變量y也是一系列離散值。讀取表達式基本思想是按照優(yōu)先級逐步計算表達式y(tǒng)值,具體過程如圖2所示。

        圖2 讀取表達式

        (1)將字符型表達式中的x值替換為給定值。

        (2)檢測表達式中是否存在括號。如存在則提取括號內表達式并記錄為子表達式,回到步驟(1),按照讀取表達式過程計算該子表達式值。通過此步驟,表達式中括號內的表達式轉化為常值。

        (3)檢測表達式中是否存在字符串”sin”,”cos”,”tan”,”cot”,若存在,則獲取該字符串附近的數(shù)字字符,記錄為子表達式,計算該子表達式的值。通過此步驟,表達式中三角函數(shù)運算轉化為常值

        (4)檢測表達式中是否存在字符’^’,若存在,則獲取字符’^’附近的數(shù)字字符,記錄為子表達式,計算該子表達式的值。通過此步驟,表達中的乘方和開方運算轉化為常值。

        (5)至此,表達式中僅有加減法運算。按照字符”+”和”-”分隔表達式為若干變量,相加得到最終結果。

        設計凸輪廓線的過程主要是設計運動曲線的過程。設計運動曲線的步驟是:①確定運動區(qū)間和每個區(qū)間的初始條件。②確定每個運動區(qū)間內的運動規(guī)律。用戶既可以使用預設的運動規(guī)律,也可以輸入表達式自定義運動規(guī)律。通過此方法,用戶可以快速地設計符合要求的運動曲線。

        2.2 生成平面凸輪實體

        從動件運動曲線由若干離散點組成,與凸輪廓線點一一對應。根據(jù)從動件運動曲線點計算得到凸輪廓線上的點。從運動曲線上選取的點越多,生成的凸輪模型就越精細,但是過多的點會影響程序的執(zhí)行速度。因此需要在保證模型精細程度前提下,選取最少點。

        平面凸輪一般由三個面組成,工作面和兩個非工作面。工作面需要滿足工程需要,網格面相對較多,而非工作面使用較少的三角面。具體過程是:

        (1)從從動件運動曲線上選取離散點。運動曲線是由不同區(qū)間的曲線組成,每段曲線的區(qū)間大小不一樣,運動規(guī)律也不一樣。為了減少模型的面數(shù),應該根據(jù)每段曲線的區(qū)間大小確定每段曲線應該選取的點數(shù)。

        (2)根據(jù)運動曲線點集合和凸輪厚度計算凸輪廓線點集合。

        (3)由凸輪廓線點生成凸輪網格模型。構造網格模型需要指定構造網格用到的點,面法線,點構成的三角面等。Mesh.vertices()函數(shù)功能是為模型指定構造網格用到的所有點。點按照列舉的順序依次用0、1、2、3……代表。平面凸輪的工作面由兩組數(shù)組點生成,非工作面由一組數(shù)組點和中心點生成。所以,構造平面凸輪網格需要4組凸輪廓線點集合和兩個中心點。Mesh.triangles()函數(shù)的功能是使用Mesh.vertices中包含的點為每個網格三角面指定頂點,頂點的列舉順序決定面法線的方向。如圖3所示。

        (4)將點、三角面等參數(shù)賦給凸輪模型的MeshFilter組件,得到凸輪網格模型。

        通過解析法得到凸輪廓線點集合可以精確地將運動曲線映射為凸輪廓線,生成精細的凸輪。用戶根據(jù)需要選擇凸輪模型的精細程度以滿足不同要求。

        圖3 凸輪網格的生成

        2.3 跨平臺界面自適應

        虛擬實驗系統(tǒng)應該有友好的交互界面,友好的交互界面保證了用戶與虛擬實驗系統(tǒng)信息交流的流暢性和便捷性。使用Unity3D開發(fā)的凸輪機構虛擬實驗臺可以跨平臺使用,提高了實驗臺的便捷性,但帶來的問題是不同分辨率的平臺可能引起界面布局的錯位。為了使虛擬實驗系統(tǒng)有友好的交互界面,交互界面上的菜單、按鈕等控件應該自動定位到設定的位置并有合理的比例大小。具體包括控件的絕對位置,相對位置和比例大小。

        界面控件包括按鈕、列表、菜單、輸入框等,按照形式可以分為固定控件和浮動控件,按照功能分為顯示控件和操作控件。根據(jù)移動設備操作習慣,操作控件應該在屏幕下側和左右側,上側主要是提示控件。操作控件組以屏幕左下側或者右下側為基準點,調整組內控件相對位置設計布局,提示控件組類似。屏幕坐標系的原點在屏幕中心,通過Screen.width和Screen.height獲取屏幕長寬分辨率大小,屏幕左下側位置為(-Screen.width/2,-Screen.height/2)。使用浮動控件組將類似且不常用的控件集合起來,默認狀態(tài)下不顯示。這樣整個界面布局比較整潔,方便交互。

        控件組的比例大小使用縮放因數(shù)S控制,縮放因數(shù)由兩個參數(shù)S1,S2確定。分別為:

        S1=當前分辨率的長度/預先設定分辨率的長度;

        S2=當前分辨率的寬度/預先設定分辨率的寬度。

        當實驗臺運行的屏幕分辨率改變時,縮放因數(shù)也會改變。避免了界面控件過大或者過小的情況。

        2.4 機構組裝

        機構組裝是用戶控制虛擬實驗系統(tǒng)中的實驗構件到達指定位置,賦予其運動副,組成機構。主要包括構件的平移,旋轉和運動副的添加等。平移和旋轉用于調節(jié)構件的相對位置和相對姿態(tài)。運動副主要包括旋轉副,移動副,滾動副等,主要應用于從動件。凸輪機構中主要包括凸輪、從動件、機架和其他構件等。

        在使用過程中,用戶需要調整構件姿態(tài)和移動構件。調整構件姿態(tài)通過Transform.Rotate()函數(shù)實現(xiàn)。移動構件通過實時監(jiān)測鼠標或觸點位置來改變構件位置。

        凸輪一般用作主動件,做旋轉運動和直線往返運動。主動件旋轉使用Transform.Rotate()函數(shù)實現(xiàn)。在FixedUpdate()函數(shù)中使用Transform.Rotate()函數(shù),表示在特定時間內模型旋轉特定角度。通過控制每段時間內的旋轉角度控制凸輪的旋轉方向和旋轉速度。直線往返運動使用Transform.Translate()實現(xiàn),具體過程是:實時檢測并記錄凸輪位移值,位移大于特定值后反向運動,且凸輪位移值歸零。Transform.Rotate和Transform.Translate均是通過控制構件的世界坐標值實現(xiàn)凸輪運動,其他力和碰撞體不會對主動件產生影響,保證主動件運動的流暢性。

        Rigidbody組件和MeshCollider組件使模型擁有質量屬性和碰撞屬性,質量和碰撞體是構件之間發(fā)生相互作用的前提條件,具體通過運動副與其他構件發(fā)生作用。機構運動副主要包括移動副,旋轉副,滾動副。移動副實現(xiàn)方法是設定構件的Rigidbody組件中的Constrains屬性值,Constrains屬性提供限定模型在特定軸向移動和旋轉的功能。移動副參數(shù)包括限定軸的方向和移動副構件。旋轉副實現(xiàn)方法是給模型添加HingeJoint組件。HingeJoint組件可以使構件繞其他構件或者場景(即機架)的特定點旋轉。旋轉副參數(shù)包括旋轉軸位置,旋轉軸方向和旋轉構件。

        機構組裝步驟為:(1)用戶添加和調整機構所需構件至特定位置,此時構件的重力不起作用。(2)為構件添加運動副并設置運動副參數(shù),設定后開啟構件重力,從動件在重力作用下與凸輪接觸。(3)在已經添加的構件的基礎上添加其他構件。實驗系統(tǒng)提供基本或者常見的構件庫,同樣允許由用戶導入自己設計或者創(chuàng)建的模型。用戶導入的模型一般是網格模型,加入質量,碰撞體和運動副后,可以進行運動仿真。因此,虛擬實驗系統(tǒng)不局限于預設的凸輪機構,允許用戶自定義凸輪機構,有助于提高用戶創(chuàng)新設計能力。

        3 系統(tǒng)仿真實例

        根據(jù)凸輪機構相關理論和虛擬實驗系統(tǒng)設計,使用Unity3D工具開發(fā)凸輪機構移動虛擬實驗系統(tǒng)。該系統(tǒng)能夠在Android系統(tǒng)下運行,版本最低要求為Android4.2。凸輪機構移動虛擬實驗系統(tǒng)包括三個模塊:凸輪廓線設計模塊、凸輪運動仿真模塊和凸輪機構設計模塊。凸輪廓線設計模塊和凸輪運動仿真模塊主要功能是演示凸輪機構相關理論知識,凸輪機構設計模塊主要是培養(yǎng)用戶創(chuàng)新設計能力。

        凸輪廓線設計模塊主要是根據(jù)運動要求分段設計運動曲線,然后根據(jù)運動曲線生成凸輪。運動曲線橫坐標為凸輪旋轉角度,與時間成比正。該模塊包含功能如下:分段描述運動曲線,生成凸輪廓線及凸輪模型實體,數(shù)據(jù)讀取與導出。

        分段描述運動曲線包括曲線分段數(shù)目、每段曲線初始和終止點的坐標值、每段運動曲線的運動規(guī)律。分段數(shù)目通過位置點的添加和刪除確定,每個位置點的坐標可以隨時改變。運動規(guī)律包括系統(tǒng)內置運動規(guī)律和自定義運動規(guī)律。系統(tǒng)提供的運動規(guī)律包括均速運動、等加速度運動、簡諧運動、擺線運動和修正梯形運動。凸輪模型根據(jù)運動曲線和相關凸輪基本參數(shù)生成。如圖4(a)所示,此運動曲線分為4段,各段運動規(guī)律分別為等加速等減速運動、靜止、勻速運動和靜止,對應的凸輪在其右側顯示。用戶可以觀察每段運動曲線的無量綱位移曲線,無量綱速度曲線和無量綱加速度曲線。如圖4(b)所示。

        圖4 凸輪機構仿真模塊

        凸輪運動仿真模塊是對凸輪機構進行運動仿真,以運動曲線的形式表達從動件運動狀態(tài),識別凸輪相關基本參數(shù)。具體功能包括導入STL格式的凸輪模型,選擇從動件,設置偏距,識別凸輪基圓半徑,行程,最大速度,繪制從動件運動曲線。如圖5所示。

        凸輪機構設計模塊是用戶自定義凸輪機構的主動件、從動件和運動副。功能包括編輯構件,添加運動副,組裝機構,觀察構件運動和機構可視化框圖展示。系統(tǒng)不僅向用戶提供構件庫和運動副庫,而且允許用戶導入外部模型以實現(xiàn)構件的自定義,這樣既提高了機構豐富性,又有助于培養(yǎng)用戶創(chuàng)新設計能力。構件庫包括平面盤形凸輪,直動凸輪,圓柱凸輪,圓柱共軛凸輪等。運動副庫包括移動副,轉動副,平面高副和圓柱套筒副。如圖6所示。

        圖5 凸輪機構仿真模塊界面

        圖6 凸輪機構設計模塊

        4 結論

        根據(jù)相關關鍵技術,實現(xiàn)了凸輪機構虛擬實驗仿真系統(tǒng),使用系統(tǒng)時,用戶根據(jù)運動要求設計凸輪運動曲線,系統(tǒng)根據(jù)運動曲線計算得到凸輪輪廓廓線,通過凸輪廓線點構造三角網格,生成凸輪實體。完成凸輪實體后放入自定義的機構中進行運動仿真,此時可觀察特定構件的運動情況。用戶通過交互界面控制虛擬實驗系統(tǒng),實時動態(tài)地編輯凸輪機構參數(shù),達到設計凸輪和進行運動仿真的目的。使用Unity3D開發(fā)的凸輪機構虛擬實驗系統(tǒng)可以跨平臺使用,而且可以自適應不同分辨率的屏幕。

        [1]朱敏.虛擬實驗與教學應用研究[D].上海:華東師范大學,2006.

        [2]穆立茂,黃海英,王克印,等.直動從動件盤形凸輪輪廓線設計虛擬實驗的實現(xiàn)[J].設計與研究,2011(4):13-16.

        [3]劉善林,胡鵬浩,王會生.基于SolidWorks二次開發(fā)的凸輪廓線精確設計及運動仿真[J].機械傳動,2008(5):46-49.

        [4]范云霄,尤振環(huán).基于 ADAMS的凸輪設計[J].煤礦機械,2011,32(2):35-37.

        [5]陳小紅.虛擬實驗室的研究現(xiàn)狀及其發(fā)展趨勢[J].中國現(xiàn)代教育技術裝備,2010(17):107-109.

        [6]王榮芝,楊雪.基于Java3D的網絡虛擬實驗的開發(fā)[J].實驗室研究與探索,2006,25(8):933-936.

        [7]陳敏,伍勝男,劉曉秋.基于 X3D實現(xiàn)機械創(chuàng)新設計虛擬實驗系統(tǒng)的構建[J].機械設計,2008,25(7):13-16.

        [8]干建松.基于 Unity3d的室內漫游的關鍵技術研究[J].鹽城工學院學報,2011,24(4):56-59.

        [9]陳曉青,王少偉.基于 Unity的虛擬現(xiàn)實技術在教育中的應用[J].技術應用,2011,12:76-78.

        [10]孫恒宇,尤超,王洋.基于 Unity3D的數(shù)字站區(qū)管理應用系統(tǒng)優(yōu)化研究[J].技術應用,2012,20(1):103-106.

        [11]張婉云,陸穎榮,梁冬青,等.圖解法與解析法設計凸輪機構的精度對比[J].機械與電氣,2011(10):57-58.

        [12]劉昌祺,牧野洋,曹西京.凸輪機構設計[M].北京:機械工業(yè)出版社,2005.

        猜你喜歡
        動件輪廓線凸輪
        基于ANSYS的船舶凸輪機構瞬態(tài)動力學分析
        基于HTML5的凸輪廓線圖解法App教學軟件研究
        凸輪零件的內花鍵拉削工藝的自動化生產線
        基于UG&VERICUT的弧面凸輪多軸數(shù)控加工仿真實現(xiàn)
        基于MATLAB的盤形凸輪逆向工程
        凸輪機構在“S”型無碳小車中應用的可行性
        節(jié)日帽
        多輪廓線的三維形體重構技術研究與實現(xiàn)*
        封裝設備中偏心輪機構的運動分析與仿真
        基于鼻子下輪廓線的鼻尖定位法
        久久一区二区三区少妇人妻| 国产在线高清视频| 在线精品无码字幕无码av| 中文在线8资源库| 久久国产精品无码一区二区三区| 无码专区亚洲avl| 日本久久精品在线播放| 国产精品亚洲一区二区三区在线 | 日本一区二区精品高清| 国产精品日日做人人爱| 无码国产伦一区二区三区视频| 久久天天躁夜夜躁狠狠躁2022| 一区二区三区国产97| 极品视频一区二区三区在线观看| 久草福利国产精品资源| 性色av一二三天美传媒| 高清偷自拍亚洲精品三区| 久久亚洲精品无码gv| 久天啪天天久久99久孕妇| 澳门精品一区二区三区| 精品人妻在线一区二区三区在线| 有坂深雪中文字幕亚洲中文| 麻豆╳╳╳乱女另类| 免费看操片| 久久深夜中文字幕高清中文| av免费在线国语对白| 成 人 免 费 黄 色| 99久久久无码国产aaa精品| 国产xxxxx在线观看免费| 国产亚洲精品hd网站| 日本韩国三级在线观看| 丰满少妇被粗大猛烈进人高清| 亚洲精品国产精品国自产观看 | 国产精品免费大片| 久久与欧美视频| 美女福利视频网址导航| 国产18禁黄网站免费观看| 一本一道久久a久久精品综合| 国产成人精品电影在线观看18| 亚洲国产欧美另类va在线观看| 日韩少妇高潮在线视频|