姚壽文,常富祥,李鵬宇,王 瑀,胡子然
(1 北京理工大學(xué), 北京 100081; 2.哈爾濱第一機械集團(tuán)有限公司, 哈爾濱 150051)
虛擬維修是基于虛擬現(xiàn)實提供的沉浸(Immersion)、交互(Interaction)和構(gòu)想(Imagination)的維修環(huán)境,使設(shè)計者并行對未來產(chǎn)品進(jìn)行維修性分析,避免維修性工作在時間上的滯后,并為維修保障分析、維修資料編寫、維修培訓(xùn)等工作提供基礎(chǔ)信息,是虛擬現(xiàn)實技術(shù)的一個重要應(yīng)用方向。
維修性屬產(chǎn)品設(shè)計特性,必須在產(chǎn)品設(shè)計時注入,然而依賴于物理樣機的傳統(tǒng)維修工作模式致使維修缺陷的發(fā)現(xiàn)較晚,導(dǎo)致很多維修缺陷被帶入最終產(chǎn)品。維修是使產(chǎn)品保持或恢復(fù)到規(guī)定狀態(tài)所進(jìn)行的全部活動。典型的維修包括準(zhǔn)備、故障診斷、更換(拆卸和安裝)、調(diào)整和校準(zhǔn)、保養(yǎng)、檢驗等步驟。在整個維修事件中,零部件的拆卸和裝配所需時間占有相當(dāng)?shù)谋戎?,是虛擬維修研究的重點[1],而裝配則是重中之重。拆卸是接近維修部位、確保維修任務(wù)順利完成而解除必要的約束,是零件從約束空間運動到自由空間的過程。裝配是將失效零部件替換為新的零部件,包含約束生成,自由度消減,定位等方面的要求,是零件從自由空間到約束空間的過程。典型的虛擬維修是美國NASA利用虛擬維修訓(xùn)練技術(shù),于1993年完成太空哈勃望遠(yuǎn)鏡的維修[2]。浙江大學(xué)等高校也開發(fā)了虛擬維修系統(tǒng)[3]。
虛擬維修的關(guān)鍵之一是待維修裝備上的零件能按照物理世界中的特性被維修人員進(jìn)行拆卸和裝配,零件模型是虛擬維修的基礎(chǔ),是建立幾何約束、碰撞檢測和人機交互的關(guān)鍵。歐立銘[4]等針對協(xié)同虛擬維修研究了零件特征模型,但沒有考慮零件的物理特性。幾何約束是由零件之間的幾何特征,如孔特征、軸特征、軸肩特征、齒特征、花鍵特征、槽特征、螺紋特征等裝配特征[5]實現(xiàn)?;谘b配特征,文獻(xiàn)[6]建立了多種裝配約束,如同軸約束、面貼合約束等。物理約束主要指零件間非穿透特性以及重力等,模擬零件在空間的運動。零件之間的非穿透,主要以建立零件的包圍盒[7]為主。為實現(xiàn)裝配過程中約束的動態(tài)識別,文獻(xiàn)[6]建立了基于FDH(Fixed Direction Hull)的特征包圍盒,既提高了裝配精度又便于實現(xiàn)幾何約束的動態(tài)識別。王崴等[8]提出一種改進(jìn)的空間剖分與包圍盒的混合碰撞檢測算法,提高虛擬維修中碰撞檢測效率,但沒有涉及非凸體。人機交互主要指維修人員通過虛擬手[9]、數(shù)據(jù)手套[10]等與虛擬零件交互,模擬操作零件,但較少考慮操作對象特點,交互響應(yīng)單一。
為更好地模擬裝備維修中零件的裝配,本文分析了參數(shù)匹配、碰撞檢測和人機交互等要求,建立了零件層次結(jié)構(gòu)模型,結(jié)合Unity3D開發(fā)了相應(yīng)的管理器,制定了約束動態(tài)識別、虛擬手交互響應(yīng)和零件干涉檢查流程,開發(fā)了虛擬維修平臺,以某傳動軸總成為例進(jìn)行了驗證。結(jié)果表明,本文建立的零件模型可以滿足虛擬維修中零件拆卸和裝配需求,為虛擬維修的實現(xiàn)提供了信息全面的零件模型。
為了滿足虛擬環(huán)境中零件維修的真實模擬,零件模型必須和現(xiàn)實環(huán)境的模型一致,即零件具有幾何、材質(zhì)、光照、零件不可穿透和漂移以及人手操作零件等特點,使維修人員能夠沉浸于虛擬環(huán)境中進(jìn)行產(chǎn)品的維修。為了滿足以上需求,虛擬環(huán)境中的零件必須具備幾何外形、物理屬性、碰撞包圍體、裝配特征和參數(shù)等信息,是多種信息的集合。
為解決虛擬環(huán)境中零件信息管理問題,本文設(shè)計了一種面向維修的零件層次結(jié)構(gòu)模型,如同個零件特征之間的內(nèi)部約束關(guān)系主要是特征之間的定位約束,用于保持零件特征之間的相互位置顯示,分為零件層、特征層兩個層級,各個層級之間通過數(shù)據(jù)索引實現(xiàn)信息的關(guān)聯(lián)。零件層以零件為基本節(jié)點,負(fù)責(zé)儲存和管理零件在維修過程中需要的公共數(shù)據(jù),管理零件在虛擬環(huán)境中的狀態(tài)以及與操作者之間的交互,同時也負(fù)責(zé)管理零件的外形渲染、外輪廓碰撞的功能。零件層包含三個功能模塊:零件管理器、參數(shù)管理器與交互管理器。特征層以特征為基本節(jié)點,每個特征都包含該特征在零件坐標(biāo)系下的局部坐標(biāo)、特征碰撞包圍體和特征功能管理器。特征功能管理器負(fù)責(zé)記錄特征類型和特征參數(shù),管理對應(yīng)特征功能。特征層中特征之間的約束主要有特征的內(nèi)部約束與特征的外部約束。同個零件上具有軸孔約束、軸肩約束和花鍵約束等特征,特征的內(nèi)部約束關(guān)系主要是各個特征之間的定位約束,用于保證該零件不同特征之間的相互位置。不同零件特征之間的約束關(guān)系主要是特征之間的配合約束關(guān)系。零件模型層次結(jié)構(gòu)如圖1所示。
圖1 零件模型層次結(jié)構(gòu)
本文結(jié)合Unity軟件平臺,利用C#語言開發(fā)了功能及相應(yīng)界面,進(jìn)行零件模型層次結(jié)構(gòu)的具體描述。
1) 零件幾何模型
虛擬環(huán)境中,實體建模軟件,如Pro/E等,通過中間軟件,如3DMax導(dǎo)入fbx格式的零件幾何模型,包含零件的網(wǎng)格模型與渲染屬性,在渲染屬性界面上,設(shè)置零件的渲染材質(zhì)為金屬材質(zhì),設(shè)置界面如圖2所示。
圖2 虛擬環(huán)境下零件幾何模型的渲染屬性設(shè)置界面
2) 零件物理屬性
為了使虛擬環(huán)境下的零件盡可能體現(xiàn)現(xiàn)實環(huán)境下零件的運動規(guī)律,且可與其他零件相互影響,需要在幾何模型的基礎(chǔ)上設(shè)置零件的物理屬性,使零件的幾何模型成為具有物理屬性的模型,設(shè)置界面如圖3所示。在設(shè)置界面中,設(shè)置質(zhì)量參數(shù),為避免虛擬環(huán)境交互時零件漂浮,設(shè)置重力,并將平移與轉(zhuǎn)動阻尼系數(shù)設(shè)置為10,模擬環(huán)境摩擦力。
圖3 零件物理屬性
3) 零件外輪廓包圍體
在虛擬環(huán)境中,一般利用碰撞檢測算法與動力學(xué)求解實現(xiàn)物體間的非穿透運動。在計算機圖形學(xué)與計算幾何領(lǐng)域,通過碰撞包圍體組成一個零件包絡(luò)封閉空間,用于描述物體在空間的位置和體積。最常見的碰撞包圍盒有AABB(Axis-Aligned Bounding Box)包圍盒和BS(Bounding Sphere)包圍盒。AABB包圍盒被定義為包含對象,且邊平行于對象坐標(biāo)軸的最小六面體。BS包圍盒是包含對象的最小球體。這兩個包圍盒的優(yōu)點是相交測試計算迅速,缺點是精度差,無法描述局部細(xì)節(jié)的碰撞。另一類精度較高的包圍盒是OBB(Oriented Bounding Box)包圍盒,它是包含該對象且相對于坐標(biāo)軸方向任意的最小長方體。OBB包圍盒比AABB包圍盒和BS包圍盒更加緊密地逼近物體,能比較顯著的減少包圍體的個數(shù),從而避免了大量包圍體之間的相交檢測,但其缺點是對于不規(guī)則物體仍會留有冗余空間,精度不能滿足要求。FDH包圍盒則是一種固定方向的凸體包圍盒,可以根據(jù)零件的幾何構(gòu)建凸包體,精確描述零件外形,優(yōu)點是精確度高,缺點是相交檢測運算時間長。針對維修過程中高精度干涉檢查要求,本文利用零件面片模型頂點集,采用零件外輪廓建立FDH包圍盒。圖4為某零件外輪廓FDH包圍盒模型。
圖4 某零件外輪廓FDH包圍盒模型
4) 零件參數(shù)管理模塊
目前的碰撞檢測算法都是針對凸體設(shè)計的。對于非凸體,一般采用多包圍盒分層包絡(luò)的方法,將非凸問題轉(zhuǎn)化成凸問題[11]。但對于外形復(fù)雜的零件,這種建模方式會使外輪廓模型極其復(fù)雜。本文的參數(shù)管理模塊集成了參數(shù)匹配與碰撞檢測,既便于零件管理,又可以對非凸體實現(xiàn)基于參數(shù)匹配的零件碰撞檢測。如孔是非凸體,若齒輪裝在軸上,則為典型的非凸干涉問題。圖5為某零件的參數(shù)管理模塊界面,設(shè)置有零件編號,零件名稱,零件前端面、后端面距零件模型坐標(biāo)系的距離。
圖5 某零件參數(shù)管理模塊界面
5) 零件管理模塊
零件管理模塊中的關(guān)鍵是虛擬手與零件的交互狀態(tài)控制,以及維修過程中需要的公共參數(shù)等,設(shè)置界面如圖6所示。
6) 零件虛擬交互模塊
零件虛擬交互模塊負(fù)責(zé)管理與虛擬手的交互功能,添加交互模塊后,需對模塊增加零件維修管理模塊的相應(yīng)參數(shù),如當(dāng)虛擬手抓取了當(dāng)前零件時,將零件的抓取狀態(tài)設(shè)置為true,當(dāng)零件被釋放時,將零件的抓取狀態(tài)設(shè)置為false界面,如圖7所示。
7) 零件特征模型
特征模型是零件上用于拆卸、裝配時定位、固定的結(jié)構(gòu)的功能集合,包含特征碰撞包圍體、功能類型、參數(shù)和響應(yīng)算法等。表1以機械傳動為例進(jìn)行說明。首先,針對傳動裝置零件的結(jié)構(gòu)進(jìn)行歸納總結(jié),將零件之間的配合關(guān)系抽象成零件自由度的約束策略。然后,提取零件的幾何特征,將其轉(zhuǎn)換成碰撞包圍體,作為約束響應(yīng)算法的觸發(fā)器。最后在拆卸和裝配過程中設(shè)計響應(yīng)算法,提取參數(shù),用于參數(shù)比對,判斷零件是否可進(jìn)行裝配。
表1 特征約束對零件的自由度限制表
注:*代表雙向約束,-代表單向約束,+代表運動成比例關(guān)系
虛擬環(huán)境下,特征建模是利用零件的裝配特征,識別并建立零件之間的配合約束關(guān)系,通過設(shè)計人員對零件的交互建立系統(tǒng)的約束模型,為實現(xiàn)零件間幾何約束動態(tài)識別與建立提供數(shù)據(jù)基礎(chǔ)。在零件層設(shè)置完成后,再在零件層下建立特征層,根據(jù)零件的功能在對應(yīng)位置上建立特征,設(shè)置特征類型與參數(shù),其特征層屬性如圖8所示。
圖8 零件特征層屬性
在虛擬環(huán)境中,通過交互操作待維修零件進(jìn)行運動,應(yīng)用特征約束的自動識別[6],判斷零件與其他零件間的約束關(guān)系,若不存在約束關(guān)系,零件則按外輪廓碰撞約束運動,保證零件不發(fā)生穿透;若存在約束關(guān)系,零件在約束狀態(tài)下運動。零件在運動過程中與其他零件進(jìn)行碰撞檢測,判斷是否有新的約束關(guān)系產(chǎn)生,若存在有效的約束關(guān)系,則通過特征約束的求解,計算零件的變換矩陣,實現(xiàn)零件的精確定位,完成零件的拆卸和裝配。圖9為虛擬環(huán)境下維修零件在裝配過程中約束動態(tài)識別與建立的流程框圖。
圖9 裝配過程零件約束動態(tài)識別與建立流程框圖
虛擬手的交互響應(yīng)為虛擬手操作手勢與零件的正確匹配過程,對于不同外形、重量的零件,需用不同的手勢進(jìn)行交互,才可改變零件的位置。手勢與零件的匹配關(guān)系如表2所示。
表2 虛擬維修交互操作響應(yīng)功能要求
虛擬手抓握邏輯分為三個判斷過程,分別為手勢匹配判斷、抓取條件判斷和零件可抓取狀態(tài)判斷,如圖10所示。在獲得虛擬手的手掌和手指位置、方向參數(shù)的基礎(chǔ)上,判斷出當(dāng)前的手勢,首先根據(jù)表2判斷手勢類型與操作零件是否匹配,然后根據(jù)零件是否為場景中可交互零件判斷零件的可抓取狀態(tài),避免虛擬手與場景中的背景物體發(fā)生交互,最后通過虛擬手手指、手掌與零件的接觸狀態(tài)進(jìn)行判斷抓取條件,三個判斷條件均通過即可更新零件位姿,完成抓握,否則抓取失敗需重新抓取。
圖10 虛擬手抓握流程框圖
零件干涉是指零件間表面接觸使零件的運動自由度改變,無法在拆卸或裝配方向上繼續(xù)運動。在維修過程中,零件干涉檢查是檢查零件是否因尺寸參數(shù)、拓?fù)浣Y(jié)構(gòu)設(shè)計錯誤,導(dǎo)致零件無法裝配到指定位置,或者因可操作空間狹小,維修人員無法使用手、工具將零件裝配到位。
基于裝配特征與參數(shù)比對的零件干涉檢查算法如圖11所示。首先對零件的干涉類型進(jìn)行判斷,如果是零件外輪廓(凸體)發(fā)生干涉,則按凸體碰撞檢測進(jìn)行干涉檢查計算。若是零件內(nèi)輪廓(非凸體)發(fā)生干涉,則根據(jù)不同的特征碰撞類型,如內(nèi)外花鍵、軸孔等,對當(dāng)前的發(fā)生碰撞的幾何特征進(jìn)行參數(shù)匹配,根據(jù)參數(shù)匹配結(jié)果判斷零件的內(nèi)輪廓是否發(fā)生干涉。
以某傳動軸總成上的隔環(huán)裝配為例,過程如圖12所示。首先是外輪廓干涉檢查,當(dāng)隔環(huán)外側(cè)壁與軸發(fā)生接觸時,隔環(huán)因碰撞約束不會與軸發(fā)生穿透現(xiàn)象,然后通過參數(shù)匹配,形成同軸約束,將隔環(huán)裝配在軸上。
本文采用Unity3D渲染引擎搭建三維虛擬場景,場景由零件模型、維修區(qū)域、交互式電子手冊組成。場景圖如圖13,其中左側(cè)為零件放置區(qū),正前方屏幕為可交互式電子手冊窗口,用于顯示視頻和文字信息,文字信息包括零部件的名稱、編號以及注意事項(裝配過程中的對中要求、鍵槽與油孔的裝配匹配、齒圈與軸的鍵槽角度匹配等),正中央黃色區(qū)域為維修區(qū)域,并且紀(jì)錄過程。電子手冊采用虛擬交互面板遠(yuǎn)程控制,使用者可以用與自身同步的虛擬手進(jìn)行操作,如圖14所示,遠(yuǎn)程控制電子手冊進(jìn)行圖片切換及視頻播放功能。
干記者后,遲恒眼花繚亂,別的不說,光《海寧日報》報社里的光景,就使他驚訝受累,半年發(fā)了一次工資。記者不是“農(nóng)民工”,欠著就欠著,不吵不鬧?!逗幦請蟆穾讉€部,全跟他老婆學(xué)校小賣部一樣,都是經(jīng)濟(jì)承包??床坏藉X,遲恒暫且可以咬牙“奉獻(xiàn)”,老婆牢騷滿腹,說從泥坑進(jìn)了屎坑。
圖11 零件干涉檢查算法流程框圖
圖12 隔環(huán)在虛擬裝配中的干涉檢查及裝配
本文選取某傳動軸總成的傳動軸來進(jìn)行維修過程中的零件裝配分析,以驗證零件模型能否真實模擬零件的實際裝配。為便于表達(dá),本文是在軸上零件拆卸后,以零件的裝配過程進(jìn)行說明,為便于觀察零件裝配過程,隱藏了部分緊固件。
圖13 虛擬維修環(huán)境場景圖
圖14 虛擬環(huán)境中電子交互手冊
1) 將傳動軸豎立,安裝中間軸承。如圖15所示,子圖a中將傳動軸放置在水平面上,子圖b中將軸承安裝在軸上。軸承與傳動軸的軸孔約束匹配成功后達(dá)到對中要求并且只能沿軸線移動,在子圖c中當(dāng)被軸肩阻擋無法繼續(xù)向下運動時,表示軸承安裝成功。
圖15 軸豎立后安裝中間軸承
2) 反轉(zhuǎn)軸安裝另一側(cè)軸承、安裝軸承座、輔助配油套。該安裝步驟時需要將輔助配油套和軸承座上螺栓孔對齊,圖16中c和d體現(xiàn)了輔助配油套周向角度的調(diào)整過程。
圖16 安裝軸承座及輔助配油套
3) 安裝隔環(huán)、配油套。如圖17中所示,第一步,在輔助配油套內(nèi),軸承外側(cè),安裝隔環(huán)。第二步,調(diào)整配油套周向角度,使配油套的內(nèi)花鍵和軸的外花鍵配合。第三步,沿軸移動配油套,直至與隔環(huán)發(fā)生接觸,完成裝配。
4) 被動齒輪及配油軸套裝配。本步驟需要進(jìn)行被動齒輪內(nèi)花鍵與軸上外花鍵配合,還要注意傳動軸上的油孔(在鍵槽內(nèi),且油孔間隔布置),因此還需注意將齒輪內(nèi)花鍵上油孔與軸上外花鍵的油孔對齊,如圖18中標(biāo)記框處。齒輪模型在該特征處設(shè)置了角度參數(shù)進(jìn)行匹配,擁有油孔的鍵槽與齒輪擁有油孔的鍵不匹配時,約束條件不滿足,齒輪將無法進(jìn)行安裝。
圖17 安裝隔環(huán)及配油套
圖18 安裝被動齒輪及配油軸套
5) 安裝離合器總成、滾針軸承隔環(huán),如圖19所示。
圖19 安裝離合器總成、滾針軸承隔環(huán)
6) 安裝離合器被動齒輪、齒圈。離合器被動齒輪需要與離合器摩擦片內(nèi)齒嚙合后才能完成安裝,圖20中第一步和第二步為調(diào)整被動齒輪角度,被動齒輪安裝完成后安裝滾針軸承,接著安裝齒圈(軸端軸承已安裝在齒圈內(nèi)),需要注意齒圈與軸的鍵槽角度匹配。
圖20 安裝被動齒輪、滾針軸承及齒圈
7) 安裝鎖緊螺母、傳動總成倒立以相同步驟進(jìn)行另一側(cè)零件維修完成安裝。鎖緊螺母在匯流排齒圈內(nèi),由于沒有空間放置扳手進(jìn)行螺母擰緊,因此本文在虛擬環(huán)境下構(gòu)建了一個工裝模型,如圖21(c)所示,以滿足安裝空間工具可達(dá)性要求,并因此定制了一個鎖緊螺母的裝配約束,僅能在工裝與螺母匹配后才能旋進(jìn)。至此,該軸系的一側(cè)已完全安裝完畢,再反轉(zhuǎn)軸,從另一側(cè)進(jìn)行安裝,這一側(cè)裝配的流程基本一致,故將這一側(cè)過程略過,直接給出軸系的最終裝配結(jié)果,如圖21(e)和圖21(f)所示。
圖21 安裝鎖緊螺母、反轉(zhuǎn)軸端完成最終裝配
通過模擬該軸系零件的裝配過程,可以看出本文提出的集幾何、物理和交互的零件模型可以反映零件的實際裝配過程,達(dá)到了實際裝配效果。本文的維修平臺能夠較好的模擬實際維修過程,操作友好,沉浸感強,具備很好的操作體驗。
建立了面向維修的零件層次結(jié)構(gòu)模型,開發(fā)了參數(shù)匹配與碰撞檢測結(jié)合的零件參數(shù)管理模塊、虛擬手與零件交互的零件管理模塊和零件虛擬交互模塊,制定了約束動態(tài)識別、虛擬手交互響應(yīng)以及基于裝配特征與參數(shù)比對的零件干涉檢查流程,開發(fā)了虛擬維修平臺,以某綜合傳動裝置的軸系為例進(jìn)行了零件裝配實驗,驗證了集幾何、物理和交互的零件層次結(jié)構(gòu)模型可以滿足虛擬維修中零件拆卸和裝配要求,為虛擬維修訓(xùn)練提供了關(guān)鍵的零件模型。