李亞東 , 譚桂玲
(天津現代職業技術學院,天津 300350)
機械手表作為精密機械計時儀器和裝飾用品,實用性和裝飾性是必須要具備的。機械手表應當走時準確、使用方便、工藝精細、外表美觀和經久耐用,連續走時時間大于36 h,一些表還具有防水、防震、防磁性的功能。機械手表從簡單三針系列到世界三大復雜手表陀飛輪、三問和萬年歷系列,其零件數量為60~650件,表盤直徑25 mm~50 mm,機芯厚度1.64 mm~12 mm。由于機械手表零件數量多、尺寸非常小、工藝復雜和零部件容易損壞等特點,導致在實際培訓或教學裝配中,出現裝配工藝難理解、零部件結構難觀察、零部件損壞率高的問題,很難提高裝配質量和教學質量。
虛擬現實技術就是將人們的想象力和科學技術結合到了一起,讓想法變成“現實”。這種身臨其境的感覺帶給人們前所未有的體驗,人們不僅能看到虛擬的世界,還可以通過一些交互方式與虛擬世界中的物品進行互動[1]。從應用角度來看,虛擬現實技術的含義體現在桌面、硬件設施、存儲以及網絡四方面的虛擬化[2]。利用虛擬現實技術對夾具三維模型進行預裝配,可驗證裝配設計和操作的正確與否,以便及時發現裝配中的問題,以檢驗夾具各元件的可裝配性[3]。目前,虛擬現實技術已廣泛應用于醫學、娛樂、軍事、航天、建筑等領域。EON Studio 是美國某公司開發的專業虛擬現實軟件,具有操作界面智能、節點功能豐富、模擬程序文件小、交互性好等優點。EON Studio 應用程序也可以與其他支持微軟ActiveX控件工具相結合,如Visual Basic[4]。利用Visual Basic中類的成員函數完成應用程序對EON Studio模擬程序的加載,達到實時交互的目的。
虛擬裝配技術是虛擬現實技術的重要組成部分,主要包括面型裝配特征的建模技術、模型仿真技術、碰撞檢測技術等,虛擬裝配可以提前驗證設計和裝配過程的合理性,并記錄整個裝配路徑,生成裝配過程報告[5]。若將VR技術和高校實驗教學相結合,創建虛擬仿真實驗,學生可在虛擬環境中開展實驗,達到教學大綱所要求的教學目的,這種新的實驗教學模式,有利于提高實踐能力,培養創新精神,適應發展對人才培養的新要求[6]。
本系統的設計方案如下:首先,利用SolidWorks三維建模軟件建立三維模型;其次,將建立的三維模型導入到EON Studio虛擬現實軟件中進行設置,利用功能節點的模擬樹(Simulation Tree)中階層的安排和節點屬性的設置,以及在流程控制視窗(Routes:Simulation)中邏輯關系的確定來實現功能節點間的互動;最后,利用Visual Basic為集成工具進行系統登錄界面和系統界面設計,實現Visual Basic應用程序對EON Studio模擬程序的加載,構成一個完整的機械手表虛擬裝配仿真系統。本設計方案的框架流程圖如圖1所示。

圖1 設計方案框架流程圖
利用SolidWorks三維建模軟件建立前閥部分柄頭、柄軸、離合輪、定檔簧、離合桿、拉檔、拉檔釘和拉檔軸等零件的三維實體靜態模型,按照裝配規劃序列先組裝柄頭部件、拉檔部件和離合桿部件等部件,再組裝前閥部分三維組件模型,并對模型進行材質、燈光渲染,增強模型在虛擬環境中的真實感。
在EON Studio虛擬現實軟件中,將Frame節點拖到Simulation Tree中的Scene之下,利用EON Studio中自帶的SolidWorks插件將前閥部分三維模型導入Frame節點下,通過設置Qianfabufen.SLDASM的Property Bar中Scale和Orientation的參數調整模型在EON Studio中的狀態。在導入過程中,軟件會對模型數據進行壓縮處理并重新計算,模型數據量會變小,模擬樹視窗中自動生成一個默認的模型層次數據結構。為了便于后續的人機交互開發和運動控制,需要根據交互和運動控制的需求,重新構建復合邏輯的前閥部分虛擬模型的層次數據結構,對每個模型的從屬關系與父子節點進行設定。
EON主要是利用樹狀層次進行動作的編排,利用母節點控制子節點的所有屬性來改變子節點的移動、旋轉、放大、隱藏、上色[7]。在虛擬環境中人與零部件之間的交互設計是通過傳感器觸發、路由機制和事件驅動等組成[8]。在EON Studio中常用的傳感器節點有ClickSensor、MouseSensor、TouchSensor和KeyboardSensor,常用的圖形用戶界面控制觸發節點有2D Text2和2D Image2。功能節點間通過事件輸出收送區域EvenOut接口和事件輸入收送區域EvenIn接口,進行邏輯連線的路由機制驅動節點之間的消息傳遞。在EON Studio中常用的運動控制節點有Place、Rotate、Motion和Position等[9-10]。
當鼠標按下或彈起時,觸發OnButtonDown或OnButtonUp信號,由2D Text2節點將信號傳遞給控制節點Place,Place節點可以設置x、y、z來控制零部件沿x、y、z三維坐標方向上的移動,設置h、p、r來控制零部件沿x、y、z三個軸旋轉的角度。前閥部分人機交互設計如圖2所示。

圖2 人機交互設計
控制節點Place的運動僅限于父親節點下的其他兄弟節點,應當對前閥部分每個模型的從屬關系與父子節點進行設定,例如,在拆卸拉檔部件的步驟中,運動節點應在拉檔部件模型下,確保拉檔、拉檔軸和拉檔釘一起運動。為了確保前一個零部件裝配完成之后下一個零部件才能進行裝配,必須讓前一個零部件Place節點EvenOut接口的OnRunFalse與后一個零部件Place節點EvenIn接口的SetRun連接。利用Script節點支持的VBScript或JavaScript編寫相關功能函數,實現對復雜運動的控制。
以前閥部分自動拆卸為例:1)進行Place節點分配,將GUIControls中2D Text2節點拖到Scene之下,將Agent Nodes中Place節點拖到qianfabufen.SLDASM中離合輪部件、柄頭部件、離合桿簧、離合輪部件、拉檔部件、離合桿壓片、定檔簧和撥針輪零部件之下,為了對部件進行進一步的觀察,那么要對部件再次進行拆卸,需要將Place節點拖到相應零件之下,例如,分別將Place節點拖到拉檔軸和拉檔釘零件之下。2)對Place節點中Movement、Time to move、Type和Active進行設置,Movement是對零部件沿x、y、z三維坐標方向上的移動距離和沿x、y、z三個軸旋轉的角度進行設置,Time to move是對零部件的移動速度或旋轉速度進行設置,Type是對零部件相對或絕對的形式進行設置,本研究選擇相對移動或旋轉形式,Active是對進入程序模擬時是否自動激活進行選擇,本研究選擇不激活。3)設置邏輯關系及串聯和并聯方式的選擇,將2D Text2節點和Place節點拖到Routes:Simulation窗口中進行邏輯關系設置,有以下兩種:一種是串聯方式的選擇,為了確保前一個零部件裝配完成之后下一個零部件才能進行裝配,必須讓前一個零部件Place節點輸出三角形OnRunFalse與后一個零部件Place節點輸入圓形SetRun連接,例如,離合桿壓片拆卸之后才能拆卸拉檔部件,則離合桿壓片Place節點輸出三角形的OnRunFalse應當與拉檔部件Place節點輸入圓形SetRun連接。一種是并聯方式的選擇,拉檔部件移動之后需要對拉檔和拉檔釘進行觀察,需要將拉檔和拉檔釘并聯在拉檔部件之后,即拉檔部件Place節點輸出的三角形OnRunFalse應當分別與拉檔和拉檔釘零件Place節點輸入的圓形SetRun連接。前閥部分自動拆卸各節點邏輯關系設置如圖3所示。

圖3 邏輯關系設置
機械手表的裝配,不僅有一個順序問題,而且每一步裝配都必須按照裝配工藝規定操作,來保證各部分的裝配質量,以便通過綜合檢驗和調試來確保手表走時準確、工作可靠,且外觀符合要求。為了有助于培養學習者科學的操作方法,既提高產量又保證質量,按照裝配規劃序列設置ToolTip節點,當鼠標移動到相應零部件表面并單擊時,則自動顯示對該零部件的裝配工藝要求。設置ClickSensor屬性,勾選Change cursor when clickable方框,在手動裝配過程中當鼠標移動到相應零部件位置時鼠標顯示方式發生改變,提示可以裝配此零部件,并從Click button中Left、Middle、Right和None之間選擇一種。設置Place節點各項參數與自動裝配中保持一致。設置ToolTip屬性,在Enter ToolTip Text below方框中輸入相應零部件的名稱、裝配要求和注意事項等裝配工藝要求,勾選Change cursor when clickable方框和Click to display方框,當鼠標移動到相應零部件表面并單擊時則顯示對該零部件的裝配工藝要求,在Routes:Simulation窗口中進行手動裝配工藝模塊邏輯關系設置。
在虛擬環境中,碰撞檢測是機械手表虛擬裝配仿真系統研究的一個非常重要的關鍵環節。為使零部件在模擬過程更加符合真實情況,模型間不能發生穿透現象,在虛擬裝配系統中添加實時碰撞檢測。在EON Studio中,利用CollisionObject節點,將需要進行碰撞檢測的零部件Copy as Link到CollisionObject節點下,并利用ColorCode3DMaterial和DirectSound節點,設置相關屬性,當碰撞發生時產生顏色變化和真實聲音。
以Visual Basic為開發工具集成機械手表虛擬裝配仿真系統時,EON Studio提供了一個EonX的Active控件,EonX 控件具有一系列的屬性、方法、事件,當把EonX控件添加到VB應用程序中時,其封裝的類也同時添加上了,這時就可以方便地調用該類的成員函數與VB應用程序進行通信了[7-8]。例如,針對本研究集成系統而言,首先將EonX控件添加到VB應用程序中,然后利用VB語言開發環境中的Label控件、TextBox控件和CommandButton控件,設置好控件的屬性之后,編寫程序代碼來實現各控件的響應事件系統登錄程序設計,最后利用AxControl2類的成員函數完成應用程序對EON模擬程序的加載,達到實時交互的目的。
系統登錄程序的功能是實現當用戶在用戶名和密碼都輸入正確時,點擊登錄按鈕就可以進入機械手表裝配系統主界面,若輸入錯誤則提示聯系程序員,點擊取消按鈕則退出本系統的學習。
系統主界面設計部分程序如圖4所示,其程序的功能是實現當用戶點擊機械手表前閥部分、能源裝置、傳動輪系、擒縱機構、振動系統、附加機構、整只機芯和成表總裝共八大部分任一部分的按鈕時,系統就會完成對EON Studio模擬程序的加載。例如,點擊前閥部分,就會加載前閥部分自動裝配模塊、自動拆卸模塊、運動仿真模塊、裝配工藝模塊和點油要求模塊共五大模塊的內容。本系統八大部分主界面設計如圖5所示。

圖4 系統主界面設計程序

圖5 系統主界面
本研究利用SolidWorks三維建模軟件對機械手表前閥部分、能源裝置、傳動輪系、擒縱機構、振動系統、附加機構、整只機芯和成表總裝八大部分零部件進行建模、渲染和規劃,基于EON Studio虛擬仿真平臺對機械手表每一部分的自動裝配、自動拆卸、運動仿真、裝配工藝和點油要求五個模塊進行虛擬裝配的人機交互設計、運動控制和碰撞檢測,運用Visual Basic設計系統登錄界面和主界面,實現Visual Basic應用程序對EON Studio模擬程序的加載,集成機械手表八大組成部分,構成一個完整的機械手表虛擬裝配仿真系統。該機械手表虛擬裝配系統對促進實際機械手表裝配與維修培訓或教學具有重要的指導意義,降低了培訓或教學成本,大幅提高了學員學習效率,切實提高了裝配與維修質量,極大地降低了手表零部件損壞程度。