方雄兵,田正東,林銳,李濤濤
1中國艦船研究設(shè)計(jì)中心,湖北武漢430064 2海軍裝備部,北京100841
維修工具使用的可達(dá)域計(jì)算及可視化方法
方雄兵1,田正東2,林銳1,李濤濤1
1中國艦船研究設(shè)計(jì)中心,湖北武漢430064 2海軍裝備部,北京100841
針對開展虛擬維修時(shí)相關(guān)仿真軟件缺乏維修工具使用時(shí)的可達(dá)性分析功能之問題,提出一種可達(dá)域計(jì)算方法以及可達(dá)域的三維可視化方法。首先,根據(jù)虛擬人手臂結(jié)構(gòu)特點(diǎn),計(jì)算出虛擬人手臂尺寸;在此基礎(chǔ)上,結(jié)合工具的外沿點(diǎn)位置,給出工具使用時(shí)的最遠(yuǎn)可達(dá)距離計(jì)算方法;基于該距離值及虛擬人手臂長度值計(jì)算可達(dá)域幾何體放大尺度,利用該尺度可以對工具使用時(shí)的可達(dá)域進(jìn)行三維可視化。最后,結(jié)合Jack仿真軟件,Tcl/Tk以及Python語言,實(shí)現(xiàn)了維修工具使用可達(dá)性的分析功能。仿真實(shí)例表明:所實(shí)現(xiàn)的方法能滿足工具使用時(shí)的可達(dá)性分析,所提供的仿真報(bào)告自動(dòng)生成功能有助于仿真人員編制報(bào)告。
維修工具;可達(dá)性分析;可達(dá)域;圖形可視化;Jack仿真軟件
網(wǎng)絡(luò)出版地址:http://www.cnki.net/kcms/detail/42.1755.TJ.20160921.1348.036.html期刊網(wǎng)址:www.ship-research.com
引用格式:方雄兵,田正東,林銳,等.維修工具使用的可達(dá)域計(jì)算及可視化方法[J].中國艦船研究,2016,11(5):14-18,41.
FANG Xiongbing,TIAN Zhengdong,LIN Rui,et al.A method for accessible domains computation and visualization in the case of using maintenance tool[sJ].Chinese Journal of Ship Research,2016,11(5):14-18,41.
國家軍用標(biāo)準(zhǔn)GJB/Z 91-97維修性設(shè)計(jì)技術(shù)手冊對可達(dá)性進(jìn)行了定義,指的是產(chǎn)品操作或維修時(shí),接近維修部位的難易程度[1]??蛇_(dá)性驗(yàn)證分析是開展虛擬維修[2-3]和人機(jī)工程仿真[4]時(shí)的一項(xiàng)重要分析工作,在汽車及飛機(jī)駕駛艙布局優(yōu)化[5-8]、航空環(huán)境控制與生命保障艙布局優(yōu)化[9]、航天器失重狀態(tài)下的虛擬維修[10]等工程問題中均有重要應(yīng)用。可達(dá)性的研究內(nèi)容通常包括空間可達(dá)性、視覺可達(dá)性、操作空間分析等內(nèi)容[8,11]。在實(shí)際的虛擬仿真驗(yàn)證過程中,通常借助可達(dá)域包絡(luò)面來開展維修部件的可達(dá)性定性分析,即虛擬維修對象或維修部位在虛擬人可達(dá)域包絡(luò)體內(nèi)即為可達(dá)。上述工作主要研究虛擬人在徒手操作情況下的可達(dá)性分析。
對于艦船等復(fù)雜裝備的維修仿真而言,通常需要在虛擬環(huán)境中借助維修工具來完成相關(guān)操作,而維修工具使用時(shí)的可達(dá)性分析對于操作空間的設(shè)計(jì)和分析驗(yàn)證具有重要意義,但目前流行的仿真分析軟件,如Jack或Delmia,僅提供了徒手操作時(shí)的空間可達(dá)性分析功能,并沒有提供工具使用時(shí)的可達(dá)性三維可視化分析功能。本文主要研究針對工具使用時(shí)空間可達(dá)性的可視化分析方法。其主要難點(diǎn)在于:如何計(jì)算工具使用時(shí)工具(操作部位)的可達(dá)域以及如何對可達(dá)域進(jìn)行三維可視化展示,并將其幾何體綁定至虛擬人人體上正確的位置,以便于用戶開展工具使用時(shí)的可達(dá)性定性分析。
基于上述應(yīng)用需求及技術(shù)難點(diǎn),本文將提出一種維修工具使用的可達(dá)域計(jì)算及其三維可視化方法。首先,對維修工具使用的可達(dá)性分析流程及要素進(jìn)行分析研究。然后在此基礎(chǔ)上,給出可達(dá)域計(jì)算方法、維修工具使用的可達(dá)性分析功能界面設(shè)計(jì)方案,并將結(jié)合Jack仿真軟件實(shí)現(xiàn)維修工具使用的可達(dá)性分析功能。
當(dāng)用戶在仿真軟件中建立了維修對象仿真模型并調(diào)入虛擬人后,需要從維修工具庫或本地調(diào)入維修工具模型至虛擬場景中,如螺絲刀、錘子、扳手等,并適當(dāng)調(diào)整維修工具至虛擬人左手或右手,通常采用緊握的動(dòng)作。進(jìn)一步,用戶需要將虛擬人移動(dòng)至維修對象前,并讓虛擬人采用一定的身體姿勢,以使得工具操作部位外沿點(diǎn)盡可能達(dá)到維修部位。此時(shí),虛擬人可能是直立狀態(tài),也可能是俯身或其他姿態(tài)。為便于論述,從空間可達(dá)性分析的角度給出工具使用時(shí)的空間可達(dá)性的定義如下。
定義:當(dāng)虛擬人使用的工具的操作部位外沿點(diǎn)能達(dá)到仿真對象的維修部位,且虛擬人人體沒有與維修對象及周圍環(huán)境模型發(fā)生硬干涉時(shí),即可認(rèn)為該維修部位可達(dá)。
上述定義中,在干涉檢查方面,Jack仿真軟件提供了“Collision detection”功能,可實(shí)現(xiàn)一個(gè)或一組Segment與另一個(gè)或一組Segment之間的實(shí)時(shí)干涉檢查。利用該功能,可判斷人體是否與其他物體發(fā)生干涉。通過對現(xiàn)有的虛擬維修相關(guān)文獻(xiàn)進(jìn)行分析,工具使用的可達(dá)性仿真分析步驟及可達(dá)判定邏輯可描述如圖1所示。

圖1 維修部位可達(dá)性分析的判斷邏輯Fig.1The estimation logic for the accessibility analysis of maintained part
從圖1可以看出,一個(gè)完整的工具使用時(shí)的可達(dá)性分析流程包含以下要素:維修對象及背景模型、虛擬人、維修工具及其操作部位外沿點(diǎn)、可達(dá)域幾何體。從功能來看,維修對象與背景模型、虛擬人導(dǎo)入是Jack或Delmia等仿真軟件具備的功能。除此之外,還需要具備選擇虛擬人及其左/右手、計(jì)算可達(dá)域及生成三維幾何體等功能。
本節(jié)將在對工具使用時(shí)的可達(dá)性分析流程及要素進(jìn)行研究的基礎(chǔ)上,設(shè)計(jì)分析界面及其功能。同時(shí),給出可達(dá)域計(jì)算及其三維可視化方法,并基于Jack軟件實(shí)現(xiàn)該設(shè)計(jì)方案及計(jì)算方法。
2.1維修工具使用的可達(dá)域計(jì)算及其三維可視化方法
從可達(dá)性分析仿真要素來看,關(guān)鍵在于如何計(jì)算可達(dá)域并繪制其包絡(luò)面幾何體,利用該幾何體可定性分析出維修部位是否在該幾何體內(nèi)。
本文的基本思路是:計(jì)算工具使用時(shí)的最遠(yuǎn)可達(dá)距離Dis_T,并將Dis_T與未使用工具時(shí)(徒手操作時(shí))虛擬人的最遠(yuǎn)可達(dá)距離Dis_none進(jìn)行比較,結(jié)合徒手操作時(shí)的可達(dá)域幾何體,將其放大便可得到工具使用時(shí)的可達(dá)域幾何體。在計(jì)算最遠(yuǎn)可達(dá)距離Dis_T時(shí),擬采用虛擬人手臂尺寸加上手腕到工具外沿處的距離。因此,在設(shè)計(jì)交互界面時(shí),需要具備虛擬人左/右手選擇以及工具外沿點(diǎn)選擇功能。
完整的可達(dá)域三維可視化方法如圖2所示。

圖2可達(dá)域及其包絡(luò)面計(jì)算流程Fig.2Computation flowchart for the accessible domain and its envelope
圖2中,工具使用時(shí)的最遠(yuǎn)可達(dá)距離Dis_T計(jì)算方法如下:

式中,Len_Arm和Len_LowerArm_Dis2T分別表示手臂尺寸和手腕基準(zhǔn)點(diǎn)(LowerArm_Distal)到工具外沿點(diǎn)(ToolNode)的距離,計(jì)算方法分別為式(2)和式(3)。

式(3)中di(sa,b)表示兩點(diǎn)之間的歐氏距離。圖2中,計(jì)算徒手操作時(shí)虛擬人的最遠(yuǎn)可達(dá)距離Dis_none方法如式(4)所示。

式中,Len_Arm與Len_Hand分別為手臂尺寸和手掌尺寸。手臂尺寸計(jì)算方法同上,手掌尺寸計(jì)算方法如式(5)所示。

根據(jù)計(jì)算出的Dis_T以及Dis_none后,由圖2中的計(jì)算方法可以得到可達(dá)域包絡(luò)面幾何體的放大系數(shù)scale。本文在對可達(dá)域進(jìn)行可視化時(shí),采用了放大原始幾何體的方法來實(shí)現(xiàn)。
2.2可達(dá)性分析界面及功能設(shè)計(jì)
綜合上述分析,設(shè)計(jì)并實(shí)現(xiàn)了如圖3和圖4所示的可達(dá)性分析功能界面。

圖3Jack 8.0菜單欄中的可達(dá)性分析菜單項(xiàng)Fig.3Accessibility analysis function menu in the menu bar of Jack 8.0
圖3為Jack 8.0菜單欄上“虛擬維修仿真應(yīng)用系統(tǒng)”菜單上“可達(dá)性高級分析功能”子菜單項(xiàng)。圖4為工具使用的可達(dá)性分析界面,該界面包括虛擬人選擇、左/右手選擇、工具外沿選擇、可達(dá)域生成、可達(dá)域選擇、可達(dá)域編輯(透明、線框、著色、刪除)、截圖及報(bào)告生成、打開報(bào)告等幾項(xiàng)操作功能,其中報(bào)告生成與打開功能是為了便于仿真人員編制可達(dá)性分析報(bào)告。

圖4 維修工具使用的可達(dá)性分析功能界面Fig.4User interface of accessibility analysis function in the case of using maintenance tool
2.3維修工具使用的可達(dá)性分析功能實(shí)現(xiàn)
在Jack軟件基礎(chǔ)上,利用Tcl/Tk語言并結(jié)合Jackscript和Python語言,實(shí)現(xiàn)了如圖3和圖4所示的操作界面及功能。
2.3.1分析界面實(shí)現(xiàn)
首先,在Jack軟件菜單欄中增加工具使用的可達(dá)性分析子菜單。生成圖3所示子菜單的代碼如下。
setauto_index(s7reachability)[listsource[file join$dir s7_reachability.tcl]]#語句結(jié)束。
并且,在jk.menu文件末尾添加如下代碼:jkMenu create s7"可達(dá)性分析高級功能"#;
jkMenu command s7"可達(dá)性分析"{s7reachability}#語句結(jié)束。
上述代碼即完成圖3中的界面創(chuàng)建。
圖4中的界面及部分按鈕功能采用Tcl語言編寫,保存在jk2.0文件夾中,命名為s7_reachability. tcl。其中,選擇虛擬人與選擇工具外沿按鈕功能代碼分別如下。
jsDUobjectSelector$fm0.selhuman"選擇虛擬人:"_rcb_current,human-pickType human-objectPtrIndex current,humanPtr-pickOKCommand "rcb_selhuman"#語句結(jié)束。
jsDUobjectSelector$fm0.selnode"選擇工具外沿頂點(diǎn):"_rcb_current,node-pickType nodeobjectPtrIndex current,nodePtr#語句結(jié)束。
2.3.2可達(dá)域計(jì)算及可視化功能實(shí)現(xiàn)
根據(jù)用戶選擇的虛擬人(Human)及其左/右手信息,分別針對左、右手的可達(dá)域進(jìn)行計(jì)算和可視化,部分核心代碼及注釋如下。
#計(jì)算左手尺寸信息代碼如下。注:計(jì)算右手尺寸信息代碼與下面代碼類似。
fn='reachability_left.pss'
cl=human.segment.left_clavicle.lateral
xl=xyz(-0.043800,1.607099,-1.570791)*
trans(-0.000001,0.000001,0.000004)
a0=74.488238513892583
a1=distance(human.left_upper_arm.proxi,
human.left_upper_arm.distal)
a1+=distance(human.left_lower_arm.proxi,
human.left_lower_arm.distal)
a1+=distance(node,human.left_palm.base)
以下為可達(dá)域三維可視化核心代碼。
fp=os.path.normpath(os.path.join(s7path,fn))
fig=scene.LoadFile(fp)
#計(jì)算幾何體綁定位置:
fig.SetLocation(xl*cl.GetLocation())
#計(jì)算幾何體放大尺度并放大:
fig.Scale(a1/a0)
#將幾何體綁定至虛擬人人體上:
fig.AttachTo(cl)
此外,針對生成的可達(dá)域幾何體還提供了編輯功能,包括:透明化、著色與線框顯示以及刪除操作。第3節(jié)將對可達(dá)性分析功能進(jìn)行驗(yàn)證。
3.1仿真實(shí)例
本節(jié)選用蝶形閥作為維修對象,開展工具使用的維修可達(dá)性分析驗(yàn)證。具體使用示例及操作步驟如下。
1)啟動(dòng)Jack軟件。在仿真場景中調(diào)入蝶形閥的維修模型以及維修設(shè)備(如桌子)。
2)選擇Jack菜單欄上的“艦船虛擬維修仿真應(yīng)用系統(tǒng)”→“可達(dá)性分析高級功能”,彈出如圖4所示的界面。
3)選擇Jack仿真軟件工具欄中的創(chuàng)建男性/女性虛擬人圖標(biāo),自動(dòng)生成虛擬人。
4)選擇虛擬人及其左/右手:點(diǎn)擊圖4界面中的“選擇虛擬人”右側(cè)的手型圖標(biāo),然后點(diǎn)擊Jack仿真場景中的虛擬人體模型;再選擇圖4界面中的左手或右手單選按鈕。
5)選擇工具外沿頂點(diǎn):首先調(diào)入維修工具,維修工具可以來自于“艦船虛擬維修仿真應(yīng)用系統(tǒng)”中的維修工具庫或Jack軟件自帶的工具模型,將其與選擇的虛擬人左手或右手進(jìn)行綁定(本例中選擇Jack自帶的螺絲刀模型);然后,利用界面中的“選擇工具外沿頂點(diǎn)”手型選擇按鈕,選擇場景中的維修工具上的外沿頂點(diǎn)Node。場景如圖5所示。

圖5 蝶形閥虛擬維修可達(dá)性分析Fig.5Screenshot of the accessibility analysis for butterfly valve
6)生成可達(dá)域:該功能根據(jù)4)和5)中的選擇結(jié)果,自動(dòng)計(jì)算并生成虛擬人在使用具體工具時(shí)的可達(dá)區(qū)域,并利用三維圖形表達(dá)。圖6中紅色幾何體為使用螺絲刀時(shí)的螺絲刀外延點(diǎn)的可達(dá)域??梢钥闯觯藭r(shí)幾何體內(nèi)的蝶形閥部件在螺絲刀的可達(dá)域范圍內(nèi)。
7)選擇、編輯可達(dá)域:選擇6)中生成的可達(dá)域幾何體,可對其進(jìn)行編輯,如透明化顯示、線框顯示、著色顯示或刪除該可達(dá)域幾何體。圖7為選擇透明化后可達(dá)域幾何體顯示效果。

圖6 虛擬人右手使用螺絲刀時(shí)的可達(dá)域幾何可視化Fig.6The geometric visualization effect of the accessible domain for the virtual human using screwdriver with right hand

圖7 可達(dá)域幾何體透明化效果Fig.7The vitrification effect of the accessible domain geometric entity
8)截圖并生成報(bào)告:選擇“截圖并生成仿真報(bào)告”按鈕,自動(dòng)啟動(dòng)截圖程序并生成可達(dá)性分析報(bào)告,如圖8所示。

圖8 自動(dòng)生成的維修工具使用可達(dá)性分析報(bào)告Fig.8The automatically generated accessibility analysis report in the case of using maintenance tool
3.2分析
從上述仿真案例來看,所實(shí)現(xiàn)的功能滿足工具使用時(shí)的可達(dá)性定性分析需求。在計(jì)算最遠(yuǎn)可達(dá)距離時(shí),默認(rèn)工具與手臂是在一條直線上。從理論上講,當(dāng)維修工具方向與手臂方向一致時(shí),計(jì)算出的距離才最遠(yuǎn)且滿足可達(dá)性分析的需要,否則計(jì)算出的距離小于Dis_T。
未來工作主要有:
1)可結(jié)合VTK和OpenGL等來實(shí)現(xiàn)幾何體的實(shí)時(shí)繪制。
2)結(jié)合人體上肢生理特性,采用類似于文獻(xiàn)[12]中的掃描法或其他采樣方法獲取可達(dá)域幾何體表面點(diǎn)云數(shù)據(jù),并重建出該可達(dá)域包絡(luò)面。
3)結(jié)合人體上肢結(jié)構(gòu)及生理特性,利用正向運(yùn)動(dòng)學(xué)(Forward kinematics)、逆向運(yùn)動(dòng)學(xué)(Inverse kinematics)、碰撞檢測算法等開展軀干或上肢受約束條件下的可達(dá)性分析方法研究,為解決狹小空間下人體上肢姿態(tài)受限時(shí)維修部件可達(dá)性仿真驗(yàn)證提供技術(shù)支持。
為解決現(xiàn)有仿真軟件缺乏維修工具使用時(shí)的可達(dá)性驗(yàn)證分析功能之問題,本文提出了一種工具使用時(shí)的可達(dá)域計(jì)算及三維可視化方法,并結(jié)合Jack軟件實(shí)現(xiàn)了所提出的方法。實(shí)驗(yàn)結(jié)果表明:本文的方法在一定程度上改善了現(xiàn)有軟件功能的不足,為進(jìn)一步開展狹小空間下維修作業(yè)的可達(dá)性分析驗(yàn)證工作奠定了基礎(chǔ)。
[1]軍械工程學(xué)院,空軍第一研究院,空軍第五研究院,等.維修性設(shè)計(jì)技術(shù)手冊:GJB/Z 91-97[S].北京:國防科技工業(yè)委員會(huì),1997.
[2]曾毅.基于維修性設(shè)計(jì)的可達(dá)性分析評價(jià)技術(shù)研究[D].長沙:國防科技大學(xué),2007.
[3]蔣偉.基于虛擬人的維修可達(dá)性仿真及評價(jià)技術(shù)研究[D].長沙:國防科技大學(xué),2009.
[4]馬智,薛紅軍,蘇潤娥.基于Jack的人體建模與人機(jī)工效分析[J].航空計(jì)算技術(shù),2008,38(1):97-100. MA Zhi,XUE Hongjun,SU Run'e.Human-modeling and analysis of ergonomics based on Jack[J].Aeronautical Computing Technique,2008,38(1):97-100.
[5]劉小霞,王小平,楊延璞,等.基于人機(jī)工程學(xué)的消防車器材布局優(yōu)化設(shè)計(jì)研究[J].圖學(xué)學(xué)報(bào),2012,33(5):109-113.[6]劉社明,王小平,陳登凱,等.基于Jack的駕駛艙仿真及人機(jī)工效分析[J].計(jì)算機(jī)與現(xiàn)代化,2013(8):106-110. LIU Sheming,WANG Xiaoping,CHEN Dengkai,et al.Cockpit simulation and ergonomics analysis based on Jack[J].Computer and Modernization,2013(8):106-110.
LIU Xiaoxia,WANG Xiaoping,YANG Yanpu,et al. Optimization and research of fire fighting truck'layout design based on ergonomics[J].Journal of Graphics,2012,33(5):109-113.
[7]張?jiān)礉R振利.基于CATIA的某型加油車維修可達(dá)性與作業(yè)空間分析[J].裝備制造技術(shù),2010(2):81-83. ZHANG Yuantao,MA Zhenli.Maintenance accessibility and operating space analysis of a certain type of oil trucks base on CATIA[J].Equipment Manufacturing Technology,2010(2):81-83.
[8]劉西峽,崔曉風(fēng),王戰(zhàn)軍,等.特種車輛維修空間可達(dá)性評價(jià)方法研究[J].計(jì)算機(jī)仿真,2012,29(5):107-110. LIU Xixia,CUI Xiaofeng,WANG Zhanjun,et al.Research of space accessibility evaluation method in special vehicle maintenance[J].Computer Simulation, 2012,29(5):107-110.
[9]趙巖,王春慧,周前祥.虛擬人技術(shù)在環(huán)控生保艙內(nèi)布局中的應(yīng)用[J].計(jì)算機(jī)仿真,2007,24(2):41-44. ZHAO Yan,WANG Chunhui,ZHOU Qianxiang.Application of virtual human technology to environmental control and life support system layout[J].Computer Simulation,2007,24(2):41-44.
[10]李偉,趙佳,張偉,等.載人航天器虛擬維修環(huán)境的設(shè)計(jì)與實(shí)現(xiàn)[J].航天器環(huán)境工程,2014,31(1):102-106. LI Wei,ZHAO Jia,ZHANG Wei,et al.Design and implementation of virtual maintenance environment of manned spacecraft[J].Spacecraft Environment Engineering,2014,31(1):102-106.
[11]徐達(dá),王寶琦,吳溪.裝備維修可達(dá)性綜合評價(jià)方法研究[J].制造技術(shù)與機(jī)床,2013(6):77-80. XU Da,WANG Baoqi,WU Xi.Method research of equipment maintenance accessibility evaluation[J]. Manufacturing Technology and Machine Tool,2013(6):77-80.
[12]李倩,吉曉明,高峰.上肢可達(dá)工作空間的重建[J].中國機(jī)械工程,2012,23(21):2568-2572. LI Qian,JI Xiaoming,GAO Feng.Reconstruction of reachable workspace of human limbs[J].China Mechanical Engineering,2012,23(21):2568-2572.
A method for accessible domains computation and visualization in the case of using maintenance tools
FANG Xiongbing1,TIAN Zhengdong2,LIN Rui1,LI Taotao1
1 China Ship Development and Design Center,Wuhan 430064,China 2 Naval Armament Department of PLAN,Beijing 100841,China
A method for accessible domains calculation and its three-dimensional visualization is proposed in this paper,aiming at the shortage in accessibility analysis functions of the related simulation software when developing virtual maintenance in the case of using maintenance tools.Firstly,the size of virtual human's arm is computed according to its configuration structures.Secondly,a technique to calculate the farthest accessible distance is given with the information of tools'remote node point.The magnified scale is calculated by the distance value and the length of the virtual human's arm,and then the scale is utilized to realize visualization for the accessible domain when use the maintenance tools.Finally,the accessibility analysis function mentioned above is implemented based on the Jack software with Tcl/Tk and Python programming languages.The simulation examples show that the proposed approaches satisfy the accessibility analysis in the case of using maintenance tools,and the automatic function that generates simulation reports will lower the burden of simulation personnel.
maintenance tools;accessibility analysis;accessible domains;graphical visualization;Jack simulation software
U672.7
A
10.3969/j.issn.1673-3185.2016.05.003
2015-09-10網(wǎng)絡(luò)出版時(shí)間:2016-9-21 13:48
中國艦船研究設(shè)計(jì)中心研發(fā)基金資助項(xiàng)目;國家部委基金資助項(xiàng)目
方雄兵(通信作者),男,1983年生,博士,工程師。研究方向:計(jì)算機(jī)圖形學(xué),計(jì)算機(jī)輔助幾何設(shè)計(jì),艦船虛擬仿真技術(shù)。E-mail:fangxb2013@sina.cn