999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向拆裝訓練的輸油泵機組虛擬維修系統設計

2019-05-08 12:59:40蔡凱駿1張偉明1趙鴻飛
計算機測量與控制 2019年4期
關鍵詞:系統

蔡凱駿1, 張偉明1, 趙鴻飛, 師 磊

(1.陸軍勤務學院 油料系,重慶 401331;2.中國人民解放軍 31605部隊,南京 211100)

0 引言

輸油泵機組是輸油管線系統的核心設備,主要包括發動機、離心泵和增速器等,在石油化工和軍事供油領域具有重要應用。正確、熟練的維修活動是保持泵機組較高可用度的關鍵,其中拆卸與裝配是所有維修活動中普遍存在的步驟,因此針對使用人員的維修拆裝訓練尤為重要。傳統維修拆裝訓練主要依靠實裝進行,受場地、時間、費用等因素限制,訓練效果受到一定影響。隨著虛擬現實技術的不斷發展與成熟,其在維修領域的應用研究引起了廣泛關注[1]。Abate等[2]開發了面向航天領域的虛擬訓練系統,Jayaram等[3]研究了人體工效學虛擬評估系統,楊新紅等[4]分別開發了車輛虛擬實驗系統。但是,上述系統針對產品的結構展示與操作,受訓者主要采用觀看以及少量操作的方式參與訓練。而針對輸油泵機組維修拆裝的虛擬訓練系統需要受訓者利用鼠標等設備進行大量操作以達到較好的訓練效果,系統的交互性明顯增強。鄒俞等[5]、崔慶春等[6]分別基于Kinect和OSG開發了沉浸式的交互式訓練系統。但是沉浸式系統的造價高昂,操作精度受設備影響。與之相比,桌面式系統成本低、易于開發且操作方便,適合面向拆裝訓練的虛擬維修系統。因此,本文研究了面向輸油泵機組虛擬拆卸與裝配訓練的關鍵技術并設計了相應的桌面式虛擬維修系統。

1 仿真平臺對比

仿真平臺是虛擬維修訓練系統實現擬實視覺效果和人機交互的基礎。當前圖形程序接口OpenGL以及面向Web三維虛擬仿真的Java 3D、VRML等可用于構建虛擬維修仿真平臺[7],但是利用上述編程語言開發效率較低,難度較大。現有的成熟商用虛擬現實軟件由于易學易用易獲取且性能較好,被廣泛應用于虛擬維修訓練系統的設計與開發[8-13],總結各軟件平臺的功能、特點及其適合應用領域如表1所示。

面向拆卸與裝配的輸油泵機組虛擬維修訓練系統需要較強的交互性和較好的視覺效果。通過對比可以看出,Unity3D具有視覺效果好,交互式設計方便,靈活易操作等突出優勢,故選取Unity3D作為系統開發平臺。

表1 不同虛擬維修仿真平臺對比

2 系統需求分析與結構體系設計

2.1 需求分析

系統主要作用是使輸油泵機組使用、維修人員掌握設備維修拆裝的要求與方法,提高維修能力與效率,因此對系統提出功能和性能兩方面需求。

功能需求主要包括:

1)能對設備常見保養、故障維修進行訓練,能通過鍵盤、鼠標等實現交互式拆裝。

2)采集操作過程數據并考評。性能需求方面,系統能在所有windows系統中使用。為保證適用性,系統在具有中低等配置的計算機(處理器Inter Core i5 2410M,圖形處理器 NVIDIA GeForce GT 550M,內存2 GB)運行時,場景渲染頻率不小于30FPS(Frames Per Second)。

2.2 多層次模塊化訓練結構體系

本文參考了國內外通用虛擬訓練(General Virtual Environment, GVE)體系理念[14-15],針對輸油泵機組使用過程中的維修情況,提出如圖1所示的多層次模塊化訓練結構體系。系統主要包括維修訓練,技能考核兩大部分。

1)維修訓練按照從簡到難的順序,包括子裝配體拆裝訓練、設備保養、故障維修、完全拆解與裝配4個內容。受訓者通過鼠標點擊拖拽與鍵盤操作相結合完成相應維修拆裝任務,交互性較強。

2)技能考核考察受訓者設備維修技能的掌握程度。獲取、分析維修過程中各步驟完成時間、使用提示次數、錯誤操作次數等數據并進行打分。

圖1 系統多層次模塊化體系結構圖

3 交互式拆裝

系統交互式拆裝設計目的是使受訓者經過自主判斷后,可通過鼠標、鍵盤完成零部件的拆裝、工具的拾取等操作,更好地模擬實際維修過程,主要功能如下:

1)受訓者移動鼠標光標至目標零件上的任意位置,按住左鍵并移動鼠標可實現拖拽效果。

2)零件在拖拽過程中始終沿著預定的拆裝路徑移動。

3)零件移動時限于初始位置和目標位置之間。拖拽零件到達指定位置后,零件不能再拖動。

為實現上述功能,鼠標拖動時零件位置計算是關鍵,對此提出如下算法。

Step1:根據零件在世界坐標系的坐標值PWorld,通過WorldToScreenPoint函數得到屏幕坐標系的坐標值PScreen。

Step2:鼠標點擊時計算鼠標光標位置與零件中心位置的偏差向量d。每次鼠標點擊時Unity調用OnMouseDown函數,在該函數中將PScreen中Z軸的值PScreen.z賦給MScreen.z,其中MScreen為鼠標光標位置在屏幕坐標系的坐標值。通過ScreenToWorldPoint函數得到光標在世界坐標系的坐標值MWorld。計算鼠標光標位置與零件中心位置的偏差向量d=PWorld-MWorld。

圖2為零件位置計算示意圖,圖3為算法流程圖。

圖2 零件位置計算示意圖

圖3 算法流程示意圖

4 事件驅動設計

拆卸與裝配過程中,由于裝配關系的約束,待拆裝零件滿足一定的拆裝順序。因此對于某一零件,需根據其它相關零件的狀態以決定其是否可拆裝。Unity提供了Update函數在系統運行的每一幀調用一次。因此在該函數中利用條件判斷語句可實現零件狀態的實時監控,是一種較為方便的方法。但是當某一維修過程涉及零部件數量眾多時,利用Update函數監控所有零部件狀態會造成大量計算資源的浪費,嚴重時造成運行畫面的卡頓現象。對此本文研究了一種基于事件驅動的改進方案。

事件驅動的實現主要依賴以下3個核心部分:

1)事件監聽器:事件監聽器需要被告知事件是否發生,因此將需要根據其它零件的拆裝狀態來決定自己是否可拆裝的零件定義為事件監聽器。

2)消息傳遞器:當某一事件發生時,消息傳遞器發送相關消息至該事件的全部監聽器。

3)事件管理器:設置為單例持久對象以提供全局訪問行為。事件管理器連接監聽器與傳遞器,并接收傳遞器發送的消息然后以事件的形式發送給監聽器。

例如某拆卸過程中,零件A和B拆卸后零件C才可拆,實現這一關系的事件驅動原理如圖4所示。

圖4 事件驅動原理

首先定義了IListener接口,通過繼承接口,其它對象根據多態機制可調用接口函數,因此任何類型對象均可設置為事件監聽器。IListener接口偽代碼如下:

public enum EVENT_NAME{事件A,事件B,事件C,……}

public interface IListener

{

Event (EVENT_NAME Event_Name, Component Sender, Object Param=null) {}

}

使零件C繼承IListener接口,則零件C可設置為事件監聽器。

事件管理器主要包括添加監聽器和消息傳遞器兩個函數。其中消息傳遞器的作用是將發生的事件通知相應監聽器。事件管理器偽代碼如下:

事件管理器

{

定義Dictionary< EVENT_NAME,List >類型的監聽器數組Listeners,第一個元素為事件名稱,第二個元素為List類型的監聽器列表;

添加監聽器(EVENT_NAME Event_Name, IListener Listener)

{

if(事件Event_Name已存在監聽器列表)

將Listener添加進列表;

else

{

新建監聽器列表,將Listener添加進列表;

將Event_Name與監聽器列表添加進監聽器數組Listeners;

}

}

消息傳遞器(EVENT_NAME Event_Name, Component Sender, Object Param=null)

{

if(Event_Name事件沒有對應監聽器)

返回;

遍歷事件Event_Name的所有監聽器,調用監聽器的Event函數;

}

移除事件(EVENT_Name Event_Name)

{

移除Listeners中的Event_Type項;

}

}

零件C通過事件管理器的添加監聽器方法,針對零件A完成拆卸和零件B完成拆卸這兩個事件注冊為監聽器。當零件A和零件B完成拆卸時,通過消息傳遞器通知零件C,C利用Event函數使其自身處于可拆卸狀態。

相比利用Update函數系統每一幀對零件狀態進行判斷,基于事件驅動的方法只需在事件發生時將消息通知監聽器,很大程度上節省了計算資源。

5 系統實現

根據前述相關技術,基于Unity3D軟件設計并開發了輸油泵機組虛擬維修訓練系統。維修拆裝訓練過程如圖5(a)所示。維修拆裝訓練或技能考核科目結束后存儲受訓者各操作步驟的完成時間、錯誤操作次數、使用提示次數等數據如圖5(b)所示。

圖5 系統實現

利用Profiler工具對系統性能進行測試。當系統運行時,Profiler工具獲取中央處理器、圖形處理器的負載、幀率等性能數據并提供圖形化顯示。系統硬件平臺同2.1節,進行拆裝訓練時的性能數據如圖6所示。圖中橫坐標表示幀,縱坐標顯示了各幀的幀率、時間和計算開銷,其中較大值反映了苛刻的運行環境,此時幀率較低,計算開銷較大。受訓者開始拆裝訓練時還未將視角移動至設備處,這時設備模型未在屏幕顯示,系統幀率保持在60FPS以上,如圖前半段所示。當受訓者將視角移動至設備處并開始維修操作時,系統計算開銷增大、幀率降低,如圖后半段所示,但仍保持在30FPS以上,滿足系統性能需求。系統在整個訓練過程中運行流暢,維修模擬效果較好,驗證了本文方法的有效性。

圖6 系統運行性能

6 結束語

1)本文總結了現有主流虛擬維修仿真平臺的特點及適用領域,分析了以Unity3D作為系統開發平臺的優勢。

2)依據系統面向的對象和目的,分析了系統功能和性能需求。設計了系統多層次模塊化體系結構,確定了主要包含的訓練科目。

3)提出了零件位置更新算法,實現了維修訓練時鼠標拖動零件的交互式拆裝功能。針對維修過程中零件拆裝的先后順序問題,研究了基于事件驅動編程的改進方法,節省了計算資源。

4)經實際運行測試,系統滿足各項功能和性能需求,維修模擬效果較好,驗證了本文方法的有效性。系統不僅滿足輸油泵機組維修訓練的需求,還可為其它產品的維修拆裝訓練系統設計提供參考。

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 99热这里只有成人精品国产| 成人在线天堂| 2021国产精品自拍| 欧美国产综合视频| 亚洲一区黄色| 少妇精品在线| 国产熟女一级毛片| 久久熟女AV| 美女视频黄频a免费高清不卡| 99精品国产自在现线观看| 亚洲伊人天堂| 99视频在线免费| 一区二区三区国产精品视频| 91成人免费观看| 亚洲另类色| 99这里只有精品在线| 成人国内精品久久久久影院| 99精品欧美一区| 亚洲成人精品| 国产在线精品人成导航| 无码在线激情片| 亚洲成人精品久久| 91成人在线免费观看| 日韩精品毛片人妻AV不卡| 亚洲av片在线免费观看| 91久久国产热精品免费| 欧美国产精品不卡在线观看| 综合天天色| 大香网伊人久久综合网2020| 伊人久久久久久久久久| 试看120秒男女啪啪免费| jijzzizz老师出水喷水喷出| 91视频首页| 在线一级毛片| 亚洲精品卡2卡3卡4卡5卡区| 亚洲第一网站男人都懂| 99免费在线观看视频| 91九色视频网| 免费国产高清精品一区在线| 日韩欧美高清视频| 在线免费a视频| 日本免费一区视频| 九色在线观看视频| 天堂av高清一区二区三区| 干中文字幕| 国产精品自在线拍国产电影| 亚洲欧美日韩色图| 午夜激情婷婷| 免费看a级毛片| www.91中文字幕| 国产swag在线观看| 国产精品久久国产精麻豆99网站| 欧美中文字幕在线二区| 国产玖玖玖精品视频| 2021国产乱人伦在线播放| 97se亚洲综合在线韩国专区福利| 午夜久久影院| 欧美不卡视频在线观看| 国产亚洲精品在天天在线麻豆 | 久久国产黑丝袜视频| 久久久久夜色精品波多野结衣| 亚洲综合极品香蕉久久网| 青青青国产视频手机| 国产区人妖精品人妖精品视频| 国产精品熟女亚洲AV麻豆| 欧美激情视频二区| 一区二区偷拍美女撒尿视频| 亚洲精品第一在线观看视频| 伊人国产无码高清视频| 欧美在线综合视频| 国产精品久久自在自线观看| 亚洲综合色区在线播放2019| 精品自窥自偷在线看| 亚洲二区视频| 久久久久久久久亚洲精品| 91人人妻人人做人人爽男同| 精品伊人久久久大香线蕉欧美| 国产精品55夜色66夜色| 国模沟沟一区二区三区| 日韩黄色大片免费看| 国产亚洲视频在线观看| 91网址在线播放|