劉振峰, 孫紹芹, 常 非, 郭為忠
(上海交通大學(xué)機(jī)械與動力工程學(xué)院,上海200240)
凸輪機(jī)構(gòu)是機(jī)械設(shè)備中的常用機(jī)構(gòu)[1]。凸輪機(jī)構(gòu)及其動態(tài)特性測試[2]是機(jī)械設(shè)計課程的重要內(nèi)容之一。凸輪機(jī)構(gòu)運(yùn)動類型多[3]、概念抽象、理解困難,現(xiàn)有凸輪機(jī)構(gòu)運(yùn)動教學(xué)資源有限,形式單一,缺乏交互性,一定程度上束縛了學(xué)生的理解力和創(chuàng)造力,而虛擬仿真實驗的設(shè)計與開發(fā)可以有效地解決這一難題。采用增強(qiáng)現(xiàn)實(Augmented Reality,AR)和虛擬現(xiàn)實(Virtual Reality,VR)技術(shù)[4],將煩冗復(fù)雜、枯燥冰冷的理論公式內(nèi)容,以“游戲”場景呈現(xiàn),實現(xiàn)教學(xué)過程的沉浸式、可視化、交互性等功能[5],讓學(xué)生產(chǎn)生身臨其境的實驗教學(xué)感官體驗,虛實結(jié)合,以虛促實,培養(yǎng)學(xué)生工程能力和綜合科研素養(yǎng)[6]。虛擬仿真實驗作為我國科技支撐計劃項目和國家金課的重要組成部分,已納入國家教育教學(xué)改革與實踐中來。
凸輪機(jī)構(gòu)運(yùn)動規(guī)律主要包含等速(直線);等加速、等減速;余弦加速度(簡諧);正弦加速度(擺線);拋物線、直線、拋物線組合運(yùn)動;改進(jìn)正弦加速度等運(yùn)動規(guī)律。在凸輪機(jī)構(gòu)運(yùn)動角速度恒定的情況下,假設(shè)凸輪靜止,從動件運(yùn)動,通過測量凸輪機(jī)構(gòu)從動件運(yùn)動參數(shù),獲取凸輪運(yùn)動曲線[7]。根據(jù)凸輪推程、回程運(yùn)動規(guī)律的選擇及各相關(guān)參數(shù)的設(shè)定,利用公式計算出從動件的位移、速度、加速度[8]等數(shù)據(jù),推程運(yùn)動線圖原理如圖1所示。
圖1 推程運(yùn)動線圖
以簡諧運(yùn)動規(guī)律為例,推程運(yùn)動方程:
回程運(yùn)動方程:
式中:h為行程;φ為凸輪轉(zhuǎn)角;Φ為推程運(yùn)動角;Φ′為回程運(yùn)動角;s為從動件位移;v為從動件速度;α為從動件加速度;ω為凸輪轉(zhuǎn)速。
以直動滾子從動件盤形凸輪工作輪廓線設(shè)計為例,其設(shè)計原理如圖2所示。
圖2 直動滾子從動件盤形凸輪廓線
根據(jù)自行設(shè)定凸輪參數(shù)以及從動件運(yùn)動規(guī)律,即可獲取凸輪的理論廓線,根據(jù)估值直徑等信息,求解出凸輪工作輪廓線。通過對基圓半徑r0、偏心距e、推程角Φ的修改即可瞬時生成相應(yīng)的凸輪廓線及從動件的運(yùn)動規(guī)律曲線。凸輪廓線由從動件的運(yùn)動規(guī)律決定。在設(shè)計凸輪廓線時,不僅要保證從動件能夠按給定要求實現(xiàn)預(yù)期的運(yùn)動規(guī)律,還應(yīng)該保證凸輪機(jī)構(gòu)具有合理的結(jié)構(gòu)尺寸和良好的運(yùn)動、力學(xué)性能[9]。基圓半徑、偏距和滾子半徑等基本尺寸參數(shù)的選擇是否恰當(dāng),會直接影響到凸輪機(jī)構(gòu)的結(jié)構(gòu)是否合理、運(yùn)動是否失真以及受力狀況是否良好等問題。
分別對從動件運(yùn)動規(guī)律參數(shù)位移(s)、速度(v)、加速度(a)、凸輪轉(zhuǎn)角(φ)與凸輪轉(zhuǎn)速(ω)之間的關(guān)系進(jìn)行編碼與定義。將設(shè)計好的凸輪進(jìn)行運(yùn)動仿真,觀察凸輪形狀、從動件運(yùn)動位移、速度、加速度、壓力角等變化規(guī)律[10],通過參數(shù)調(diào)整,優(yōu)化設(shè)計出更合理的凸輪機(jī)構(gòu),同時觀察和記錄參數(shù)變化對工程應(yīng)用產(chǎn)品性能的影響,總結(jié)設(shè)計、開發(fā)和實踐經(jīng)驗,為工程問題解決及科學(xué)研究工作提供參考樣本。
虛擬實驗測試系統(tǒng)整體框架主要有設(shè)計成理論教學(xué)、仿真分析及自主設(shè)計模塊3部分,如圖3所示。
圖3 系統(tǒng)設(shè)計框架圖
在理論教學(xué)模塊中,將課堂教學(xué)PPT、課堂現(xiàn)場教學(xué)視頻及其他教學(xué)資料,嵌入理論教學(xué)模塊中,實現(xiàn)課堂教學(xué)與虛擬仿真實驗教學(xué)的無縫銜接。在仿真分析模塊中,將已設(shè)計好的多種凸輪機(jī)構(gòu)應(yīng)用實例模型嵌入實驗中,實現(xiàn)各類型凸輪機(jī)構(gòu)的動態(tài)運(yùn)動仿真功能[11]:凸輪廓線自動生成、運(yùn)動曲線生成及自由交互分析等。完成上述模塊任務(wù)后,方可進(jìn)入?yún)?shù)設(shè)計,即自主設(shè)計模塊。自行設(shè)定凸輪參數(shù),自動生成對應(yīng)凸輪機(jī)構(gòu),并對凸輪運(yùn)動進(jìn)行仿真分析與研究,分析凸輪廓線、凸輪運(yùn)動參數(shù)等設(shè)定是否合理,可反復(fù)進(jìn)行參數(shù)調(diào)整與設(shè)計,反復(fù)進(jìn)行仿真分析,最后生成理想的、符合要求的凸輪機(jī)構(gòu)。
設(shè)計與制定凸輪動態(tài)特性測試系統(tǒng)開發(fā)流程,如圖4所示。由圖4可見,該模塊設(shè)計開發(fā)了各種常用凸輪機(jī)構(gòu)。選擇所要設(shè)計的凸輪機(jī)構(gòu)類型,后臺通過交互頁面的選擇判斷所選凸輪機(jī)構(gòu)類型,并顯示對應(yīng)凸輪機(jī)構(gòu)的設(shè)計頁面。輸入從動件行程、基圓半徑、凸輪轉(zhuǎn)速、運(yùn)動規(guī)律等信息后,系統(tǒng)后臺自動進(jìn)行信息的讀取與算法處理并同步實現(xiàn)凸輪的自由旋轉(zhuǎn)及從動件的仿真運(yùn)動。同時對推程、遠(yuǎn)休止、回程、近休止4個階段的位移、速度、加速度、輪廓曲線、壓力角等進(jìn)行自動計算并存儲在系統(tǒng)后臺數(shù)據(jù)庫中[12]。通過后臺底層數(shù)學(xué)模型計算,以數(shù)據(jù)曲線的方式,進(jìn)行各參數(shù)曲線的實時動態(tài)顯示,實現(xiàn)實驗可視化教學(xué)功能并提供給學(xué)生進(jìn)行深入分析與探究。
圖4 凸輪機(jī)構(gòu)系統(tǒng)開發(fā)流程圖
通過搭建“教學(xué)模式+分析模式+設(shè)計模式”3種不同階段、不同深度、不同要求的學(xué)習(xí)層次功能模塊,如圖5所示。
圖5 虛擬實驗內(nèi)容功能模塊設(shè)計
教學(xué)模塊與課堂教學(xué)完美銜接,教師可將知識能力點(diǎn)以文字、圖片及音頻等方式在模塊中進(jìn)行師生交互;分析模塊對凸輪機(jī)構(gòu)知識點(diǎn)進(jìn)行匯總分類,劃塊分區(qū),結(jié)合仿真,分別展示各類凸輪機(jī)構(gòu)運(yùn)動的運(yùn)動曲線并進(jìn)行分析;設(shè)計模塊是學(xué)生以參數(shù)設(shè)計的方式,自主進(jìn)行凸輪機(jī)構(gòu)的設(shè)計,即可以考查學(xué)生對所學(xué)知識的掌握程度,又可以發(fā)揮學(xué)生的想象力,進(jìn)行設(shè)計,實現(xiàn)從理論學(xué)習(xí)、設(shè)計分析到設(shè)計的完整教學(xué)過程。
根據(jù)事先編制好的凸輪機(jī)構(gòu)及其動態(tài)性能測試虛擬實驗開發(fā)腳本,使用專業(yè)Maya建模軟件進(jìn)行建模與運(yùn)動設(shè)計;利用原型設(shè)計工具axure對人機(jī)交互、操作邏輯、系統(tǒng)線框圖、流程圖、原型等進(jìn)行定義與創(chuàng)建;利用C#語言編寫凸輪機(jī)構(gòu)信息、三維運(yùn)動、虛擬裝配等功能程序;利用底層數(shù)學(xué)建模工具algdersigner,根據(jù)凸輪機(jī)構(gòu)運(yùn)動原理及計算公式,編寫相應(yīng)算法模塊[13],實現(xiàn)后臺參數(shù)的實時調(diào)整、動態(tài)計算及運(yùn)動可視化功能;利用數(shù)據(jù)庫技術(shù),實現(xiàn)參數(shù)調(diào)整與三維場景運(yùn)動曲線的同步顯現(xiàn)。利用可交互的unity3D技術(shù)實現(xiàn)虛擬實驗內(nèi)容的發(fā)布與使用。
構(gòu)建常用凸輪機(jī)構(gòu)運(yùn)動模型庫并完成各類型凸輪機(jī)構(gòu)運(yùn)動規(guī)律分析。以直動尖底推桿凸輪機(jī)構(gòu)為例,凸輪旋轉(zhuǎn)一周依次由0°~120°推程段、120°~180°休止段、180°~300°回程段及300°~360°休止段共4階段組成,如圖6所示。
圖6 直動尖底推桿凸輪機(jī)構(gòu)4階段運(yùn)動過程
通過數(shù)學(xué)建模將凸輪機(jī)構(gòu)運(yùn)動特性計算公式轉(zhuǎn)化為底層運(yùn)算代碼,為算法提供支撐[14],實現(xiàn)運(yùn)動特性參數(shù)全過程自動化計算功能,其主要代碼編寫與建模過程如下所示。
以擺動平底從動件平面凸輪等加速-等減速規(guī)律運(yùn)動位移、速度、加速度和壓力角計算為例,設(shè)置參數(shù)行程為20 mm,基圓半徑為100 mm,轉(zhuǎn)速為60 r/min,偏距為0,推程為120°,遠(yuǎn)休止角為60°,回程為120°,近休止角為60°,凸輪寬度為20 mm。分別使用凸輪虛擬實驗平臺進(jìn)行虛擬仿真實驗,使用Matlab對凸輪運(yùn)動進(jìn)行仿真分析,實驗結(jié)果分別如圖7、8所示。
圖7 動態(tài)特性測試虛擬實驗曲線圖
由此可見使用凸輪虛擬實驗平臺進(jìn)行虛擬仿真實驗結(jié)果與使用Matlab對凸輪運(yùn)動進(jìn)行仿真分析的實驗結(jié)果高度吻合。利用Matlab可以輸出凸輪理論廓線和廓線的形狀及大小[15],利用虛擬仿真平臺中的設(shè)計模式和分析模式可以對凸輪運(yùn)動模式進(jìn)行仿真,得出對應(yīng)變量之間的關(guān)系,從虛擬仿真結(jié)果中可以較為直觀地感受到基圓半徑的調(diào)整對凸輪大致形狀的影響程度。凸輪機(jī)構(gòu)運(yùn)動虛擬仿真具有設(shè)計靈活、適應(yīng)性強(qiáng)、結(jié)構(gòu)緊湊、運(yùn)動特性好以及可以實現(xiàn)從動件復(fù)雜運(yùn)動規(guī)律要求等諸多優(yōu)點(diǎn)。
圖8 Matlab仿真曲線圖
凸輪機(jī)構(gòu)與動態(tài)特性測試虛擬仿真提供了開放的交互式實驗平臺。從“被動看”向“主動做”進(jìn)行演變,學(xué)生可按照自己設(shè)想的運(yùn)動規(guī)律,在凸輪參數(shù)列表中對基圓半徑、推程、轉(zhuǎn)動速度等參數(shù)進(jìn)行相應(yīng)選擇與設(shè)定,以得到不同參數(shù)下的凸輪機(jī)構(gòu),通過對實時顯示的凸輪機(jī)構(gòu)壓力角、速度、加速度、位移曲線變化的分析與研究,進(jìn)而探究各種不同參數(shù)情況下凸輪機(jī)構(gòu)運(yùn)動的實際意義,為工程設(shè)計、應(yīng)用與開發(fā)提供參考依據(jù)。