何春華,方舟,李陽,易朋興
華中科技大學 機械科學與工程學院,湖北 武漢 430074
隨著艦船設備的日趨復雜化,其維修成本超過了系統壽期費用的一半[1],故需要在艦船設計初期進行維修性分析,以提高維修性水平,減少維修所需人力及其他維修保障資源的要求,并為裝備全壽期管理和維修性持續改進提供必要的信息。可視性分析是維修性分析的重要組成部分[2],良好的可視性意味著維修時具有較好的視覺保障,為后續維修可達性分析及安全性分析等提供保障[3]。因此,維修可視性分析具有重要意義。
張源濤等[4]利用CATIA軟件的視野分析模塊對加油車進行多條件分析,確定了視野分析方法的可行性,但是其研究缺少理論分析內容。吳溪等[5]建立了以人眼和物體為導向的可視性分析方法,從理論上分析了維修作業對人體視覺的要求。曾毅等[6]基于CATIA軟件驗證了基于可視錐與基于截平面法的可視性研究方法的實際應用情況,比較了各自優缺點。方雄兵等[7]從可視性與可達性及操作空間的耦合關系角度出發,提出以維修部位為導向的可視性分析方法,并在Jack軟件中實現了相應的模塊功能設計。陸中[8]在對民用飛機維修性并行設計時,將視野錐模型簡化,建立了其在截平面上的可視區域范圍。李倩等[9]建立了人眼可視范圍的半透明模型,并綁定在人體模型上,通過驅動人體模型實現了可視性的動態評估。郎曉敏[10]基于人眼視野提出了一種內切錐驗證法,根據人眼特征,將多眼視野疊加,形成人眼的內切錐,該方法考慮了人的雙眼與單眼的視野問題,但并未考慮維修中的實際情況。
當前以人眼視野范圍建立的視野錐維修可視性評價方法中未對可視性進行量化評估,且未考慮視野中存在遮擋的情況,針對此問題,本文擬建立平面視野范圍模型,進行可視性量化評估,建立人眼到物體各部分的視線模型,通過視線與其他物體相交情況確定遮擋情況,并結合DELMIA軟件完成功能模塊的設計與開發。
視距是兩眼連線中點至觀察點的距離;視線是觀察點和兩眼連線中點的連線;視野是頭部保持固定時人眼轉動能夠看到的最大空間[10]。受人的生理特征限制,人的視野所能看到的空間角度范圍有限。如圖1[11]所示,在頭部保持不動、眼珠轉動的情況下,在水平視野方向上,中心線左、右各15°是人眼的最佳水平視野范圍,中心線左、右各35°是人眼的最大水平視野范圍。在垂直視野方向上,水平線下15°的視線是人的正常視線,這是人眼最舒適的視線。該視線的上、下15°是人的最佳垂直視野范圍,正常視線上方40°至下方20°是人的最大垂直視野范圍。上述視野范圍是人體的雙眼視覺范圍。

圖 1 人眼視野范圍[11]Fig. 1 Visual field of human eyes[11]
根據此范圍可以生成一個近似表示人眼視野的錐體。如圖2所示,內部最佳視野的圓錐在平面上的范圍為最佳視野區域A,外部最大視野的橢圓錐在平面上的范圍為最大視野區域B,在區域B之外的范圍為不可視區域C。其中,P1點為視線起點,P2點為該平面上最佳視野區域中心點,P1P2為正常視線,其長度為L;α1為水平最大視野角度;β1為垂直最大視野角度,α2為最佳視野角度。

圖 2 視野錐模型Fig. 2 The model of visual field cone
在視野錐底面,人眼的最大和最優視野邊界方程分別為


上一節所述理論模型為視野錐可視性分析的一種模型。目前,常用的基于視野錐的維修可視性分析方法是利用軟件將人眼視野區域進行繪制,然后通過目視觀察零件所在視野區域內的位置,并按照規則表打分,根據分值及觀察的視野狀態定性描述可視性,從而完成可視性分析。但是,這種分析方法較簡單,缺少對維修對象的如下2種實際情況的考慮:
1) 維修不同尺寸的物體需要不同的視距。同一個物體與人眼距離不同時,其維修效果也會存在差異。上述方法只研究了相對比例的大小問題,而未加入視距研究。
2) 零件遮擋在實際維修中必然存在。維修人員面對的對象通常是由多個零件組成的裝配體,此時零件的相互遮擋是常態。
因此,為了提高可視性分析結果與實際維修工況的吻合度,需考慮:1)在維修時,不同尺寸的物體若視距不同,可視性效果也不同;2)針對有遮擋的物體需要進行有效的遮擋物判斷,并進行量化。
圖3所示為改進的可視性分析流程。首先,將視野區域進行量化評估,自動判斷物體所在的視野區域,得到基礎視野分數;然后,獲取體積視距比,并引入其評分系數;最后,自動判斷物體是否被遮擋并將其作為輔助評分標準。最終,通過式(4)得到量化的可視性分數。

式中:t1為基礎視野得分;t2為體積視距比得分;t3為遮擋系數。
圖3中,步驟5~7為該方法的核心流程。利用步驟5可以判斷物體在視野中的位置,包括如下方面:1)獲取視錐邊界及物體包圍盒并投影至底面;2)判斷包圍盒與2個視野區域邊界的相對位置關系;3)計算區域占比,得到可視性的評分。其中,第2個方面是關鍵步驟,詳見圖4所示。首先,獲取包圍盒的8個頂點;然后,投影至底面,判斷包圍盒的8個頂點與最大視野邊界的相對位置關系。

圖 3 改進的可視性分析流程Fig. 3 The improved visibility analysis process

圖 4 區域邊界判定方法Fig. 4 The process of the visual field determination
1) 若8個頂點都在最大視野邊界外,當前包圍盒處于不可視區域C,即包圍盒內的物體不可視。
2) 若部分頂點在邊界內,部分頂點在邊界外,當前物體一部分在最大視野內,一部分在最大視野外,則通過分割包圍盒的方法,分別確定處于包圍盒邊界內部以及外部的部分,將新分割的包圍盒與最大視野邊界循環判定。分割后的包圍盒若在邊界外則處于區域C,若在邊界內則繼續與最佳視野邊界判斷,確定準確位置關系。若分割至9次(共分割出512個小包圍盒),仍然存在與最大視野邊界交叉現象時,則不再分割,判定包圍盒處于不可視區域C。
3) 若8個頂點都在最大視野邊界內,則表示當前物體可視,但尚未確定物體與最佳視野的關系,故需要繼續判斷其與最佳視野邊界的位置關系,從而得到物體在視野區域中的準確位置。在最佳視野邊界判斷中,若包圍盒8個頂點都在最佳視野邊界內,則當前包圍盒處于最佳視野區域A;若8個頂點都在邊界外,則當前包圍盒處于最大視野區域B。在判定過程中,若包圍盒部分頂點在最佳視野邊界內,部分頂點在最佳視野邊界外,則將當前包圍盒分割為2個小包圍盒,并循環最佳視野邊界的判定步驟。若分割至9次(共分割出512個小包圍盒)時,仍然存在與最佳視野邊界相交的現象時,則不再分割,判定包圍盒處于最大視野區域B。
判定過程結束之后,對A,B,C視野區域中物體部位進行統計得到區域占比,再基于表1[5]給出的規則尋找對應的視野得分,從而得到一個基礎的視野分數。物體的總部位數量為S,物體在區域A的部位數量為SA,在區域B的部位數量為SB,在區域C的部位數量為SC。

表 1 基于可視錐的可視性詳細評分表[5]Table 1 Detailed visual rating table based on visual cone[5]
利用改進的可視性分析流程的步驟6生成視距和體積比例系數,調用DELMIA 軟件的函數接口,直接獲得待觀察零件的體積和視距,將其比值與表2[4]所示的規則進行對照,從而得到體積視距比的輔助得分。針對不同維修任務要求,給出相應的視距推薦值,不同的物體體積對應不同的視距值。
利用步驟7判斷物體的遮擋狀況,生成遮擋系數的具體方法,如圖5和圖6所示。由圖可見,首先利用包圍盒延長碰撞檢測,初步判定有無遮擋;若有遮擋,利用投影連線法判定遮擋占比。

表 2 體積視距比評分系數[4]Table 2 Grading coefficient of volumetric stadia ratio[4]
如圖5所示,在計算時將包圍盒延長至人眼處生成一個新的軸向平行包圍盒,采用分離軸定理[12],將新包圍盒和周圍物體進行碰撞檢測。有碰撞表示可能存在遮擋,需進行下一步檢測;無碰撞表示無遮擋,可直接得到遮擋系數。

圖 5 包圍盒碰撞檢測示意圖Fig. 5 Schematic diagram of bounding box collision detection
若有遮擋,需進一步判定遮擋占比。如圖6所示,去除未相交的零件,將待觀察物體投影至視錐底面,對投影區域進行均勻劃分,取出各個區域的中心點,將中心點與雙眼中點的連線作為視線。檢驗視線是否與其他物體相交,若是則表示物體該部分被遮擋,若不是則表示物體該部分未被遮擋。

圖 6 視線相交示意圖Fig. 6 Schematic diagram of the intersection of lines of sight
視線判定是否被遮擋是本研究的重點,下面將詳細介紹。如圖7所示,為方便表示,采用二維圖像表示視線與包圍盒的相交情況。當視線起點分別在包圍盒底面上、下方時,視線1與包圍盒相交,視線2與包圍盒不相交,其中平面1(min1)、平面1(max1)為一組相對平面,min1為靠近視線起點的面,max1為遠離視線起點的面;min2和max2的定義相同。由圖7(a)可見,從視線1的起點到視線與包圍盒4個面的交點的距離按大小排列為dmin1<dmin2<dmax1<dmax2,從視線2的起點到視線與包圍盒4個面的交點的距離按大小排列為dmin1<dmax1<dmin2<dmax2。由圖7(b)可見,從視線1的起點到視線與包圍盒4個面的交點的距離按大小排列為dmin1<dmin2<dmax1<dmax2,從視線2的起點到視線與包圍盒4個面的交點的距離按大小排列為dmin1<dmax1<dmin2<dmax2。通過比較dmax1與dmin2,可以判斷視線與包圍盒的相交情況。若dmin2<dmax1相交,視線與包圍盒相交;若dmax1<dmin2,兩者不相交。首先,通過求解視線起點至各個面的距離,確定靠近面與遠離面;然后,通過式(5)和式(6)求解視線與平面的交點,從而求得視線起點到各交點的距離;最后,通過比較距離大小,即可判斷視線是否與包圍盒相交。

式中:n為平面法向向量;M為平面上的一點;P為視線與平面的交點;t為常數。
通過式(5)和式(6)可以求得

若t>0,平面與視線相交,將t代入式(6)即可求得視線與平面的交點P。
利用組件應用架構(CAA)+快速應用研發環境(RADE)對DELMIA軟件進行二次開發,實現維修可視性分析模塊,主要包括研究對象選取、視野編輯、可視性計算和評估界面開發。
1) 研究對象選取。在DELMIA軟件的圖形窗口中對虛擬人和觀察物用鼠標進行點選,自動識別虛擬人和可視性物體。選取可視目標后,為節約后續驗證過程中的計算量,針對目標構建包圍盒,并對包圍盒進行離散化。
2) 視野編輯。選取觀察者之后,默認生成一個視野錐模型,同時可自行設定最大以及最佳視野區域角度。仿真人員輸入一個角度,若輸入的角度未超過人眼視野范圍,將輸入的角度設定為視野角度;若輸入的角度超過人眼視野范圍,將最大視野角度設定為視野角度。

圖 7 視線與包圍盒相交示意圖Fig. 7 Schematic diagram for the intersection of sight and bounding box
3) 可視性計算。在DELMIA軟件中設定一個仿真過程,可視性分析既可對某一時刻進行分析,也可對某一時間段進行分析,輸入相應的時間就可進行相應分析。可視性計算模塊是在VC++環境下編程完成的。
4) 評估界面開發。如圖8所示,開發的整體界面模塊以小窗口的形式內置在DELMIA軟件中,界面將上述3個功能進行了合理配置,且方便操作。需要進行分析時,點擊圖標跳出評估界面。評估界面通過RADE的component模塊完成。

圖 8 可視性評價界面Fig. 8 The interface of visibility evaluation
選用自動焊接工作站,建立模型,同時應用現有的以及本文改進的可視性方法對其進行分析。將模型數據輸入已經安裝分析模塊的DELMIA軟件,在靜態和動態情況下進行扳手的維修可視性分析,在整體圖和視野圖中均用紅色圓圈將扳手表示出來。在圖9和圖10中,紅色視圖窗口是當前DELMIA軟件自動生成的可視性窗口,中間圓形區域為最佳視野區域,紅色透明區域為最大視野區域,其余為不可視區域。由圖9可見,通過對某一時刻進行靜態分析,基礎視野得分為0.89,遮擋系數為0.78,體積視距比系數為0.8;通過視野窗口對當前可視性的實際情況分析如下:觀察的零件為扳手,整體處于最佳視野偏上,但是由于右手將扳手部分遮擋,當前可視性為良好。由圖10可見,通過對某一時間段的動態分析,基礎視野得分為0.92,遮擋系數為0.7,體積視距比系數為0.8;通過視野窗口對當前可視性的實際情況分析如下:扳手在旋轉過程中從遮擋較小位置至遮擋較大位置最后到一個不被遮擋的位置,整體可視性為良好,但是在某個時間段存在可視性較差的情況。通過上述對比分析可知,利用當前視野錐可視性方法,只能對物體在視野中的位置、視距以及遮擋情況進行抽象評價,無法量化可視性;利用改進的可視性分析方法,則能夠較為準確地確定物體在視野中的位置,同時還能得到體積視距比,量化物體被遮擋的情況。

圖 9 該姿態下的靜態可視性評分Fig. 9 Visibility score of static state

圖 10 維修過程動態可視性評分Fig. 10 Visibility score of dynamic state
因此,本文所提出的基于視野錐的維修可視性分析的改進方法,能夠應對維修中可視性分析所面臨的實際情況。根據維修可視性的評估得分情況,可以對設計階段的模型進行分析指導。
當前動態分析采用的是平均得分,可在動態分析過程中添加一個時間比重因子,展示哪一段時間的可視性更重要;結合可視性、可達性、人因工程進行綜合分析,使得分析更全面。
本文在現有基于人眼視野錐的可視性分析方法基礎上,提出了可視性量化評估分析方法,利用視線與物體相交解決視野中存在遮擋的問題。利用CAA+RADE在DELMIA軟件平臺上設計開發可視性量化分析功能模塊。在分析模塊中對焊接工作站的扳手維修進行了可視性的靜態和動態分析。結果表明,所提改進方法在維修過程中對可視性的分析更加全面、合理,驗證了其合理性。
本文遮擋碰撞檢測采取了軸向平行包圍盒,相對于有向包圍盒,該類型的包圍盒精度低但是計算量較小。在后續工作中,可以采用軸向平行+有向包圍盒的形式,在保證不增加計算量的情況下提高檢測精度,還可采用zbuffer配合GPU并行計算提高速度。