作者:程立輝,劉大成,金小偉,鄭力
設(shè)備的遠(yuǎn)程監(jiān)控是制造系統(tǒng)遠(yuǎn)程監(jiān)控中的重要組成部分,包括對設(shè)備的運(yùn)行進(jìn)行監(jiān)視和控制,對設(shè)備可能出現(xiàn)的故障進(jìn)行預(yù)測,對設(shè)備已經(jīng)出現(xiàn)的故障進(jìn)行診斷等內(nèi)容。
圖形圖像信息是人類認(rèn)識世界、掌握知識的重要方法。資料表明人類從外界所獲得知識,其中80%以上來自圖形圖像以及聲音信息。因而在遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)中,特別是面向設(shè)備監(jiān)控中,較多地包含圖形圖像信息以及聲音信息,包括現(xiàn)場的視頻信息以及將各種傳感器信息轉(zhuǎn)換成比較容易識別的圖形信息。
然而,由于圖形圖像等視頻信息和音頻信息的數(shù)據(jù)量非常大,嚴(yán)重阻礙了具有海量數(shù)據(jù)的信息在遠(yuǎn)程監(jiān)控系統(tǒng)中的使用,特別是在基于Intranet/Internet的遠(yuǎn)程監(jiān)控系統(tǒng)中的應(yīng)用。因此,如何在只有較少信息量傳輸?shù)那闆r下實(shí)現(xiàn)以視頻和音頻等多媒體信息為主要呈現(xiàn)方式的遠(yuǎn)程監(jiān)控系統(tǒng)成為遠(yuǎn)程監(jiān)控系統(tǒng)實(shí)現(xiàn)的主要原因之一。
本研究采用了傳感器驅(qū)動(dòng)的虛擬現(xiàn)實(shí)輔助監(jiān)控的方法。虛擬現(xiàn)實(shí)技術(shù)是指綜合利用計(jì)算機(jī)圖形系統(tǒng)和各種現(xiàn)實(shí)及控制等接口設(shè)備,在計(jì)算機(jī)上生成的、可交互的三維環(huán)境技術(shù),具有沉浸(Immersion)、交互(Interaction)和構(gòu)想(Imagination)等三個(gè)基本特征。但由于這樣的系統(tǒng)造價(jià)高昂,操作復(fù)雜,尚無法在普通的工作環(huán)境中得到應(yīng)用。目前虛擬現(xiàn)實(shí)的含義有所拓寬,即使用半沉浸和非沉浸技術(shù),通過顯示器對三維物體進(jìn)行瀏覽的系統(tǒng)同樣可以被稱為虛擬現(xiàn)實(shí)系統(tǒng),從而在更大的范圍中普及和應(yīng)用虛擬現(xiàn)實(shí)技術(shù)。
JAVA 3D是Java語言在三維圖形領(lǐng)域的擴(kuò)展,是一組API(Application Programming Interface),可以創(chuàng)建基于Web的、與互聯(lián)網(wǎng)結(jié)合的三維交互環(huán)境的場景。用戶通過使用帶有插件的普通瀏覽器,便可以觀賞到由Java 3D創(chuàng)建的三維虛擬現(xiàn)實(shí)。由于Java 3D易于實(shí)現(xiàn)、適合網(wǎng)絡(luò)傳輸,交互性好等特點(diǎn),因此,對建立基于Web的三維可視化交互式應(yīng)用提供了一種很好的解決方案。
1、基于虛擬現(xiàn)實(shí)的設(shè)備遠(yuǎn)程監(jiān)控系統(tǒng)
如圖1所示,虛擬現(xiàn)實(shí)輔助實(shí)現(xiàn)的設(shè)備遠(yuǎn)程監(jiān)控系統(tǒng)可采用服務(wù)器/瀏覽器的模式。系統(tǒng)采用Java技術(shù)和Java 3D API虛擬現(xiàn)實(shí)技術(shù)實(shí)現(xiàn)。這主要是考慮到Java程序運(yùn)行與操作系統(tǒng)無關(guān)的特性。遠(yuǎn)程監(jiān)控系統(tǒng)主要分為客戶端、服務(wù)器以及現(xiàn)場設(shè)備等3個(gè)層次。
圖1 基于虛擬現(xiàn)時(shí)的設(shè)備遠(yuǎn)程監(jiān)控系統(tǒng)
1.1 客戶端設(shè)計(jì)
客戶端采用增加插件的通用網(wǎng)頁瀏覽器,它是監(jiān)控系統(tǒng)用戶的工作界面。頁面主要包括設(shè)備的三維模型、設(shè)備運(yùn)行參數(shù)顯示、設(shè)備控制、共享討論區(qū)等模塊。
當(dāng)用戶經(jīng)過身份驗(yàn)證進(jìn)入監(jiān)控系統(tǒng)后,用戶選擇所要監(jiān)控的設(shè)備。這時(shí),頁面將顯示用戶所選設(shè)備的三維虛擬圖像以及設(shè)備運(yùn)行的相關(guān)信息。本文中,我們實(shí)現(xiàn)了抓取機(jī)器人的瀏覽器監(jiān)控畫面。
1.2 服務(wù)器設(shè)計(jì)
服務(wù)器主要包括網(wǎng)絡(luò)服務(wù)器、應(yīng)用程序服務(wù)器以及數(shù)據(jù)庫服務(wù)器等。網(wǎng)絡(luò)服務(wù)器主要負(fù)責(zé)相關(guān)的發(fā)布,網(wǎng)絡(luò)通訊的安全等方面的內(nèi)容。應(yīng)用程序服務(wù)器主要負(fù)責(zé)以下工作:①采集現(xiàn)場設(shè)備的多種傳感器信息,并將信息一方面存儲(chǔ)在數(shù)據(jù)庫中,另一方面通過網(wǎng)絡(luò)服務(wù)器發(fā)布;②獲取從網(wǎng)絡(luò)服務(wù)器得到的相關(guān)設(shè)備的控制信息,經(jīng)過分析確認(rèn)后對現(xiàn)場設(shè)備進(jìn)行控制;③從數(shù)據(jù)庫服務(wù)器中查詢設(shè)備的歷史信息,實(shí)現(xiàn)設(shè)備歷史運(yùn)行的再現(xiàn)。數(shù)據(jù)庫服務(wù)器主要存儲(chǔ)設(shè)備監(jiān)控的歷史信息、設(shè)備的三維模型數(shù)據(jù)等內(nèi)容。
1.3 現(xiàn)場設(shè)備
現(xiàn)場設(shè)備是指那些現(xiàn)場存在的、需要實(shí)現(xiàn)遠(yuǎn)程監(jiān)控的設(shè)備以及其他相關(guān)設(shè)備。現(xiàn)場設(shè)備與服務(wù)器之間的通訊主要取決于設(shè)備本身的通訊能力。對于具有網(wǎng)絡(luò)通訊能力的設(shè)備,主要采用網(wǎng)絡(luò)通訊手段,應(yīng)用TCP/UDP等技術(shù);對于沒有網(wǎng)絡(luò)通訊能力,但具有計(jì)算機(jī)串并口通訊能力的設(shè)備采用計(jì)算機(jī)串并口通訊技術(shù)實(shí)現(xiàn)通訊;對于不具備以上兩種通訊能力的設(shè)備,可以考慮采用開發(fā)單片機(jī)等方法實(shí)現(xiàn)通訊。
2、JAVA 3D模型
JAVA 3D是Java語言在三維圖形領(lǐng)域的擴(kuò)展,是一組API,即應(yīng)用編程接口。本文利用Java 3D提供的API,構(gòu)造了傳感器數(shù)據(jù)實(shí)時(shí)驅(qū)動(dòng)的機(jī)器人運(yùn)動(dòng)的三維模擬軟件。
Java 3D的場景圖是DAG圖(Directed-acyclic Graph),類似于一種樹形結(jié)構(gòu),上面的分枝并不對稱,其中每一個(gè)節(jié)點(diǎn)均為對象,稱為節(jié)點(diǎn)(Node)。不管什么節(jié)點(diǎn),都是Java 3D類的實(shí)例,節(jié)點(diǎn)之間的連線則代表對象之間的父子或引用關(guān)系。見圖2。
圖2 機(jī)器人的三維場景圖結(jié)構(gòu)
Java 3D的場景圖中,最底層(根部)的節(jié)點(diǎn)是Virtual Universe,每一個(gè)場景圖只能有一個(gè)Virtual Universe,就像一棵大樹的根。Virtual Universe的上面是Locale節(jié)點(diǎn),每個(gè)程序可以有一個(gè)或多個(gè)Locale,但只能有一個(gè)Locale處于顯示狀態(tài)。絕大部分程序都只有一個(gè)Locale。每一個(gè)Locale上面擁有一個(gè)到多個(gè)BranchGroup節(jié)點(diǎn)。一般說來,要想建立三維應(yīng)用環(huán)境,必須定義所需要的形體(Shape),給出形體的外觀(Appearance)及幾何信息(Geometry),再把它們擺放在合適的位置。這些形體及其擺放位置都是由相應(yīng)的節(jié)點(diǎn)給出的,他們必須擺放在BranchGroup節(jié)點(diǎn)上面,擺放的具體位置由節(jié)點(diǎn)TransformGroup設(shè)定。另外,擺放好三維形體之后,還需要設(shè)定具體的觀察位置及觀察參數(shù)如視角。完成了這些工作,就算完成了三維場景圖的建立。
在虛擬現(xiàn)實(shí)輔助的設(shè)備遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)備監(jiān)控畫面中,Reset、Move Up、Move Down、Move Right、Move Left、Zoom In、Zoom Out等功能鍵的作用分別表示控制虛擬三維物體恢復(fù)到系統(tǒng)默認(rèn)視角、俯視、仰視、左視、右視、虛擬物體放大、虛擬物體縮小等功能。功能按鈕旁邊的綠色顯示標(biāo)志表示設(shè)備目前運(yùn)行正常,如果設(shè)備的運(yùn)行出現(xiàn)異常甚至發(fā)生故障時(shí),顯示標(biāo)志將分別顯示橙色和紅色。在虛擬視窗下面的SelectMode下拉列表中可以選擇設(shè)備的運(yùn)行方式,包括實(shí)時(shí)的設(shè)備監(jiān)視、設(shè)備運(yùn)行狀態(tài)的歷史回顧以及設(shè)備的遠(yuǎn)程控制方式。Robot Procedure File的功能是當(dāng)機(jī)器人的工作方式選擇為控制方式時(shí),通過發(fā)送控制命令文件實(shí)現(xiàn)設(shè)備的遠(yuǎn)程控制。監(jiān)控頁面的右上部分的Select Sensor和Sensor Data組合起來,為用戶查詢各種傳感器信息提供了方便。頁面右下角的Chat Room為設(shè)備監(jiān)控的共享討論區(qū),為系統(tǒng)用戶提供了方便的交互手段。
3、結(jié) 語
采用虛擬現(xiàn)實(shí)輔助的設(shè)備遠(yuǎn)程監(jiān)控系統(tǒng)為用戶提供了非常方便的設(shè)備監(jiān)控平臺。綜合采用Java技術(shù)和Java 3D虛擬現(xiàn)實(shí)技術(shù),首先可以實(shí)現(xiàn)監(jiān)控系統(tǒng)的跨平臺運(yùn)行;其次,通過采用設(shè)備傳感器驅(qū)動(dòng)的Java 3D虛擬現(xiàn)實(shí)模型的方法,一方面實(shí)現(xiàn)了設(shè)備運(yùn)行狀態(tài)和運(yùn)行信息的圖形圖像化描述,另一方面由于通訊網(wǎng)絡(luò)中傳輸?shù)闹皇窃O(shè)備相關(guān)的各種傳感器信息,與圖形圖像信息相比較,所需傳輸?shù)男畔⒘看蟠鬁p少。
責(zé)任編輯:gt
-
監(jiān)控系統(tǒng)
+關(guān)注
關(guān)注
21文章
3952瀏覽量
177873 -
JAVA
+關(guān)注
關(guān)注
19文章
2978瀏覽量
105327 -
虛擬現(xiàn)實(shí)
+關(guān)注
關(guān)注
15文章
2292瀏覽量
96374
發(fā)布評論請先 登錄
相關(guān)推薦
評論