張 濤 唐敦兵 張澤群 魏 鑫
南京航空航天大學機電學院,南京,210016
目前,市場競爭日益激烈,傳統(tǒng)的批量生產(chǎn)正在被個性化定制逐漸取代,伴隨著《中國制造2025》[1]的出臺,數(shù)字化制造逐漸成為了當前企業(yè)車間的主要模式。但是,數(shù)字化車間的制造工藝復雜不確定、產(chǎn)品結(jié)構(gòu)復雜不確定、信息復雜不確定和突發(fā)情況復雜不確定,導致車間的生產(chǎn)效率低。高效的可視化監(jiān)控技術(shù)有助于管理者實時掌握制造車間的運行狀態(tài)和生產(chǎn)情況,極大地提高應對突發(fā)狀況的能力和生產(chǎn)效率。傳統(tǒng)的利用數(shù)據(jù)報表、二維圖表和組態(tài)軟件的車間監(jiān)控透明程度低、實時性差、監(jiān)控界面可視性低,不能滿足數(shù)字化制造環(huán)境下的監(jiān)控要求,不利于生產(chǎn)管理者掌握車間的運行情況。因此,數(shù)字化車間急需一種可視性高且能實時動態(tài)反映車間運行狀態(tài)和生產(chǎn)情況的監(jiān)控系統(tǒng),以有助于生產(chǎn)管理者實時地掌握車間運行情況,及時調(diào)整生產(chǎn)計劃,合理分配制造資源,實現(xiàn)資源的高效利用。
隨著制造業(yè)和信息化水平的不斷提高,車間生產(chǎn)過程逐漸透明化,越來越多的學者開始研究實時監(jiān)控技術(shù)。文獻[2]研究了基于Flash的自動化生產(chǎn)線的上位機監(jiān)控系統(tǒng),開發(fā)了一個生產(chǎn)線上位機的可視化監(jiān)控系統(tǒng);文獻[3]研究了離散過程的規(guī)劃、建模和仿真技術(shù),介紹了基于eM-Plant環(huán)境下的生產(chǎn)線的仿真;文獻[4]利用CAN總線傳輸數(shù)據(jù),開發(fā)了由現(xiàn)場數(shù)據(jù)驅(qū)動的三維模型遠程監(jiān)控的仿真系統(tǒng);文獻[5]研究了監(jiān)控系統(tǒng)的上位機和底層結(jié)構(gòu)的通信方式,設(shè)計和實現(xiàn)了基于仿真軟件和組態(tài)軟件的三維監(jiān)控系統(tǒng);文獻[6]提出了MPS組態(tài)監(jiān)控系統(tǒng)中的三維仿真,利用OpenGL圖像編程語言建立了三維模型仿真;文獻[7]利用Flexsim對車間生產(chǎn)執(zhí)行情況可視化動態(tài)監(jiān)控實現(xiàn)技術(shù)進行了研究,開發(fā)了一種能動態(tài)反映車間底層工況的可視化監(jiān)控系統(tǒng);文獻[8]采用面向?qū)ο蟮姆椒?gòu)建制造資源本體模型和一種支持生產(chǎn)系統(tǒng)實時監(jiān)控的對象模型,在此基礎(chǔ)上,設(shè)計了一種支持制造過程且實時可視化監(jiān)控的體系架構(gòu);文獻[9]針對柔性智能制造系統(tǒng),利用OpenGL的Web集成版本在Web上實現(xiàn)了3D建模渲染,構(gòu)建了一個基于物聯(lián)網(wǎng)的3D監(jiān)控體系。總之,國內(nèi)外對實時監(jiān)控技術(shù)做了許多研究,取得了一定的成果。但是,這些研究的監(jiān)控系統(tǒng)開發(fā)過程繁瑣,對硬件要求高,動態(tài)行為實時性差,監(jiān)控界面可視性差,并且大多數(shù)研究都停留在生產(chǎn)線仿真的階段,針對數(shù)字化制造的實時三維監(jiān)控,缺乏有效、合理、系統(tǒng)的研究。
因此,本文結(jié)合實時數(shù)據(jù)庫技術(shù)[10]、3D建模技術(shù)[11]和交互性界面設(shè)計技術(shù)[12],設(shè)計了一種能實時動態(tài)反映車間的狀態(tài)、倉庫物料、零件加工和訂單等信息的介入式3D可視化實時監(jiān)控系統(tǒng)。
利用模塊化設(shè)計思想[13],將介入式3D實時監(jiān)控系統(tǒng)的需求分為不同模塊,具體的需求框架如圖1所示。
圖1 監(jiān)控系統(tǒng)的需求框架Fig.1 Requirements framework of monitoring system
系統(tǒng)管理模塊包括用戶管理、安全管理和權(quán)限管理。本文設(shè)計的監(jiān)控系統(tǒng)將用戶分為普通用戶和專業(yè)用戶,對于不同的用戶,系統(tǒng)設(shè)置了不同的權(quán)限。普通用戶通過普通的注冊就可以進入監(jiān)控系統(tǒng),但是只能完成下訂單、對應訂單信息跟蹤和對應訂單內(nèi)的工件加工執(zhí)行情況跟蹤。專業(yè)用戶一般為車間工作人員,擁有監(jiān)控系統(tǒng)的所有權(quán)限,包括跟蹤所有訂單、所有工件加工和所有機器運行狀態(tài)等信息。
訂單管理模塊包括訂單下放和訂單審核。普通用戶和專業(yè)用戶都可以下訂單,但是普通用戶下訂單后,因自身專業(yè)能力有限,必須經(jīng)過專業(yè)用戶審核后才能下放車間,從而有效地避免了用戶定制的工件存在功能缺陷的問題。
設(shè)備層信息獲取模塊包括實時工件信息獲取、實時機器狀態(tài)信息獲取和實時訂單信息獲取。實時工件信息包括工件所在位置、工件當前加工工序、工件剩余加工工序等;實時機器狀態(tài)信息包括機器主軸轉(zhuǎn)速、機器關(guān)鍵部位溫度、機器當前刀具等;實時訂單信息包括訂單內(nèi)的在加工工件、訂單內(nèi)剩余加工工件和訂單內(nèi)工件的加工工序等。
實時驅(qū)動模型的運行模塊將設(shè)備層內(nèi)影響車間機器的位置、機械結(jié)構(gòu)的運轉(zhuǎn)和工件的尺寸變化等信息提取出來,用來驅(qū)動車間映射的三維場景內(nèi)的相應模型的變化,將車間內(nèi)的變化通過模型的動態(tài)變化表現(xiàn)出來。
監(jiān)控結(jié)果輸出與統(tǒng)計模塊包括成品數(shù)量統(tǒng)計、在加工工件統(tǒng)計、故障信息警示、系統(tǒng)運行時間統(tǒng)計、瓶頸信息統(tǒng)計、質(zhì)量信息統(tǒng)計和訂單信息統(tǒng)計,將車間內(nèi)的數(shù)字化信息通過圖和表顯示或統(tǒng)計出來,反饋給專業(yè)用戶,專業(yè)用戶再根據(jù)相關(guān)情況做出相應調(diào)整。
基于介入式3D實時監(jiān)控系統(tǒng)的需求框架,參考OSI的七層參考模型[14],設(shè)計了介入式3D實時監(jiān)控系統(tǒng)的體系結(jié)構(gòu)。該體系結(jié)構(gòu)從下到上依次為感知層、計算機網(wǎng)絡(luò)支持層和系統(tǒng)功能層。設(shè)計的體系結(jié)構(gòu)如圖2所示。
感知層位于監(jiān)控系統(tǒng)的底層,它包括各種機床(車床、銑床、磨床、刨床、鏜床、鉆床、數(shù)控機床和加工中心等)、各種傳感器(光電傳感器、紅外傳感器和壓力傳感器等)、AGV、自動化立體倉庫、質(zhì)量檢測系統(tǒng)和射頻識別系統(tǒng)等,主要功能是將直接采集的車間內(nèi)動態(tài)變化的數(shù)據(jù)和信息傳輸給該區(qū)域內(nèi)的嵌入式控制器或直接控制車間設(shè)備的運行。
計算機網(wǎng)絡(luò)支持層包括OSI的七層參考模型中的數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會話層和表示層,負責系統(tǒng)內(nèi)的信息傳輸,使不同的系統(tǒng)和不同的網(wǎng)絡(luò)之間實現(xiàn)了高可靠性、高安全性和無障礙的通信,是數(shù)據(jù)和信息共享的基礎(chǔ)支撐。
圖2 監(jiān)控系統(tǒng)的體系結(jié)構(gòu)Fig.2 Architecture of monitoring system
系統(tǒng)功能層位于監(jiān)控系統(tǒng)的頂層,由分析部分、顯示部分、控制部分和監(jiān)控對象組成,它將車間內(nèi)采集的數(shù)據(jù)和信息進行分類、整理和分析,通過二維圖表顯示部分數(shù)據(jù)和信息,存儲備份部分數(shù)據(jù)和信息,用部分數(shù)據(jù)和信息來驅(qū)動車間內(nèi)設(shè)備映射的三維模型,極大地提高了監(jiān)控系統(tǒng)的可視性,方便了專業(yè)用戶管理車間。此外,它還可以通過訂單的指令給車間下放訂單,并根據(jù)訂單信息從工序庫中查找對應的G代碼傳輸?shù)杰囬g,還可以根據(jù)用戶需要的信息直接給車間發(fā)送狀態(tài)采集指令和程序上傳指令。
面向數(shù)字化車間的介入式3D實時監(jiān)控系統(tǒng)對車間內(nèi)的生產(chǎn)任務(wù)執(zhí)行情況和車間的運行情況進行實時監(jiān)控,有助于專業(yè)用戶及時掌握車間運行狀況和車間內(nèi)的瓶頸信息,迅速對車間做出相應調(diào)整,充分利用車間內(nèi)的生產(chǎn)資源,快速低成本地生產(chǎn)出優(yōu)質(zhì)的產(chǎn)品;有助于普通用戶及時了解自己的訂單的加工情況,及時跟蹤自己訂單相應的工件。設(shè)計的監(jiān)控系統(tǒng)的運行模式如圖3所示。
結(jié)合圖3可以看出,實現(xiàn)實時監(jiān)控系統(tǒng)的第一步是利用3DS MAX對車間實體進行等價造型,通過賦予材質(zhì)和貼圖對模型進行渲染,使三維模型更加逼真,為了減輕硬件運行壓力,對模型進行適當簡化,然后輸出為.FBX的格式文件;第二步是采集車間內(nèi)的訂單信息、工件信息、物料信息、設(shè)備信息等,編寫TCP/IP協(xié)議發(fā)送腳本,發(fā)送車間內(nèi)采集的數(shù)據(jù)和信息;第三步是將.FBX模型文件導入Unity3D的場景;第四步是編寫TCP/IP協(xié)議的接收腳本,接收從車間發(fā)送來的數(shù)據(jù)和信息;第五步是將數(shù)據(jù)和信息進行分類和整理,將數(shù)據(jù)和信息分為模型驅(qū)動信息和非模型驅(qū)動信息;第六步是對模型驅(qū)動信息的數(shù)據(jù)描述結(jié)構(gòu)進行統(tǒng)一,使車間底層的數(shù)據(jù)和信息、三維模型內(nèi)的數(shù)據(jù)和信息匹配,再傳遞給Unity3D場景,驅(qū)動三維模型模擬車間內(nèi)設(shè)備工作;第七步將非模型驅(qū)動信息進行進一步分類、分析和處理,一部分傳遞給Unity3D的UGUI(UGUI利用文字和二維圖表將信息直觀顯示)信息顯示組件,一部分輸出為文本文件,存儲在數(shù)據(jù)庫中;第八步將UGUI組件嵌入Unity3D場景;第九步利用UGUI編寫場景菜單欄,包括訂單管理、監(jiān)控結(jié)果輸出、視角管理和幫助等選項;第十步編寫Unity3D場景內(nèi)TCP/IP協(xié)議的發(fā)送腳本,編寫訂單指令、G代碼(G代碼獲取指令和設(shè)備狀態(tài)信息獲取指令)文件傳輸指令。經(jīng)過上述的十步,基本完成了監(jiān)控系統(tǒng)的內(nèi)核構(gòu)建,之后只需要對場景文件進行適當?shù)恼{(diào)整,分別發(fā)布到windows平臺和android平臺。
介入式3D實時監(jiān)控系統(tǒng)中,專業(yè)用戶可以根據(jù)不同的工序信息,給車間內(nèi)設(shè)備傳輸不同的G代碼,如果加工時的G代碼發(fā)生錯誤,可以遠程要求設(shè)備上傳對應的G代碼,專業(yè)用戶再根據(jù)上傳的G代碼,做出相應的調(diào)整,極大地提高了專業(yè)用戶的工作效率。為了提高數(shù)據(jù)的實時性,如果專業(yè)用戶想查看某一臺設(shè)備的狀態(tài)信息,只需單擊該設(shè)備,等待幾秒鐘,控制該設(shè)備信息采集的裝置就會采集該設(shè)備的信息發(fā)送給Unity3D場景,經(jīng)分析處理顯示在該設(shè)備上,從而保證專業(yè)用戶看到的數(shù)據(jù)是實時的。
圖3 監(jiān)控系統(tǒng)的運行模式Fig.3 Operation mode of monitoring system
通過該介入式3D實時監(jiān)控系統(tǒng),數(shù)字化車間變得更加透明化,車間內(nèi)的物料信息、訂單加工信息、工件加工信息和設(shè)備狀態(tài)信息總是能通過非常直觀的方式呈現(xiàn)在用戶面前,專業(yè)用戶可以通過該系統(tǒng)進行簡單故障處理,通過設(shè)備狀態(tài)信息并結(jié)合動態(tài)系統(tǒng)的故障預測方法[15],對系統(tǒng)做出故障預測,然后調(diào)整車間內(nèi)的生產(chǎn)資源,從而提前預防故障。
在數(shù)字化車間運行過程中,有大量的數(shù)據(jù)需要處理,其中,部分數(shù)據(jù)和信息是隨時間改變的,例如加工時間、加工進度和車間狀態(tài)等,剩余數(shù)據(jù)是一些靜態(tài)的數(shù)據(jù)和信息,例如機床型號和參數(shù)、刀具參數(shù)和工序等。傳統(tǒng)的數(shù)據(jù)庫難以滿足信息存儲的實時性要求,為此本文采用實時數(shù)據(jù)庫存儲監(jiān)控系統(tǒng)的數(shù)據(jù)和信息。
實時數(shù)據(jù)庫是在傳統(tǒng)數(shù)據(jù)庫的基礎(chǔ)上發(fā)展起來的,具有以下特性[16]:①支持數(shù)據(jù)庫隨時改變;②支持事務(wù)的定時限制、內(nèi)部構(gòu)造和彼此之間的相關(guān)性,事務(wù)能協(xié)同、合作并發(fā)執(zhí)行;③支持數(shù)據(jù)庫的邏輯一致性;④能實現(xiàn)數(shù)據(jù)和事務(wù)的“時間一致性”;⑤支持實時驅(qū)動的優(yōu)先級事務(wù)調(diào)度;⑥不要求故障時“完全復原”數(shù)據(jù)庫狀態(tài),但能繼續(xù)實施實時控制的故障恢復策略,支持不中斷系統(tǒng)服務(wù)的故障恢復。
對于采集到的智能設(shè)備和工件的信息,均通過接收并存儲在該實時數(shù)據(jù)庫中。通過分析數(shù)字化車間的數(shù)據(jù),設(shè)計了實時數(shù)據(jù)庫的E-R-T模型(圖4),然后根據(jù)該E-R-T模型建立實時數(shù)據(jù)庫。
圖4 實時數(shù)據(jù)庫的E-R-T模型Fig.4 E-R-T model of real-time database
E-R-T模型中,車間和設(shè)備之間是靜態(tài)關(guān)系,工件和設(shè)備之間是動態(tài)關(guān)系,設(shè)備參數(shù)和工件參數(shù)既包含動態(tài)參數(shù),又包含靜態(tài)參數(shù)。為了減少重復表達,在模型圖中只選取了部分設(shè)備、部分工件以及部分設(shè)備的部分參數(shù)和部分工件的部分參數(shù)。
在監(jiān)控系統(tǒng)的運行過程中,大數(shù)據(jù)處理需要占用很大的一部分CPU,場景渲染需要占用很大一部分GPU,因而運行監(jiān)控系統(tǒng)對CPU和GPU的壓力較大,監(jiān)控系統(tǒng)運行的流暢度極易受到影響,有時甚至會影響監(jiān)控系統(tǒng)的正常工作。為了減小CPU和GPU的運行壓力,有必要對場景進行適當性能優(yōu)化。本文所提出的監(jiān)控系統(tǒng)針對場景的性能優(yōu)化采用了以下技術(shù):
(1)實例化技術(shù)。當整個三維模型中有一個以上幾何尺寸和幾何形狀相同但位置不同的模型時,只需建造一個幾何模型,其他的模型只需對此模型進行實例化[17],這樣使得在增加同類物體數(shù)量時,多邊形數(shù)量和內(nèi)存不增加,而只需對該實例進行平移和旋轉(zhuǎn),大大減小了場景中多邊形面片的數(shù)量,節(jié)省了大量內(nèi)存。
(2)層次細節(jié)(levers of detail,LOD)技術(shù)。層次細節(jié)技術(shù)的實質(zhì)是,用多個具有層次結(jié)構(gòu)的模型集合成一個場景時,可以根據(jù)不同的標準進行細節(jié)省略[18]。本文采用距離標準、尺寸標準和運行速度標準進行細節(jié)省略。模型距離觀察者越遠,被觀察到的細節(jié)部分越少,可以對該模型進行適當細節(jié)省略;模型尺寸越小,人眼相對該模型的分辨力越弱,可以適當減少該模型的細節(jié);模型的運動速度越高,觀察者觀察的模型越模糊,可以對該模型細節(jié)進行粗糙化。
(3)紋理映射技術(shù)。紋理映射技術(shù)的本質(zhì)是對三維場景進行二維參數(shù)化,即先求得三維物體表面上的任意一點的二維參數(shù)值,進而得到該點的紋理值,生成二維紋理圖案,最終完成三維圖形的紋理映射[19]。如果紋理圖案定義在紋理空間內(nèi)的一個正交坐標系(u,v)中,曲面定義在場景空間的正交坐標系(x,y,z)中,它在參數(shù)空間(δ,ψ)中的表示為x(δ,ψ)、y(δ,ψ)、z(δ,ψ),則從紋理空間到參數(shù)空間的映射為δ=f(u,v),ψ=g(u,v),從參數(shù)空間到紋理空間的逆映射為u=r(δ,ψ) ,v=s(δ,ψ)。車間內(nèi)的設(shè)備和零件存在不同的外觀,如果每一個設(shè)備和零件都采用由多邊形面片組成的幾何體,勢必造成很大的資源消耗。為了模擬設(shè)備和零件不同的外觀,在3DS MAX建造模型的過程中,引入UV貼圖。UV是(u,v)紋理貼圖坐標的簡稱,它定義了圖片上每個點的位置信息。這些點與3D模型是相互聯(lián)系的, 決定表面紋理貼圖的位置。UV貼圖就是將圖像上每一個點精確對應到模型物體的表面。圖5所示為電機紋理映射,貼圖后大大增加了電機的細節(jié)等級和真實感。
圖5 電機紋理映射Fig.5 Texture mapping of motor
模型的動態(tài)性行為都是由模型的平移、旋轉(zhuǎn)或平移和旋轉(zhuǎn)組合而成的。Unity3D開發(fā)了多種實現(xiàn)物體平移的方法,例如通過Transform組件平移、通過Rigidbody組件平移和通過CharacterController組件平移。同樣,針對模型的旋轉(zhuǎn),Unity3D中包括多種實現(xiàn)方法,包括矩陣旋轉(zhuǎn)、歐拉旋轉(zhuǎn)和四元數(shù)旋轉(zhuǎn)。綜合考慮監(jiān)控系統(tǒng)的應用環(huán)境,車間模型的動態(tài)行為的平移采用Transform組件,旋轉(zhuǎn)采用四元數(shù)旋轉(zhuǎn)。下面以AGV為例,闡述模型的平移和旋轉(zhuǎn)。
4.3.1 Transform組件平移
通過Transform組件來移動物體,指的是直接操作Transform組件來控制物體的位置,其基本思想如下:
在空間坐標系(x,y,z)中,假設(shè)AGV的坐標為(x1,y1,z1)。將AGV沿X軸平移Δx,沿Y軸平移Δy,沿Z軸平移Δz,中心坐標變?yōu)?x11,y11,z11),用矩陣表示為
得x11=x1+Δx,y11=y1+Δy,z11=z1+Δz。
Transform組件中包括以下實現(xiàn)平移的方法:
(1)Transform.Translate()方法。該方法可以將物體從當前位置移動到指定位置,并且可以選擇參照的坐標系。當需要進行坐標系轉(zhuǎn)換時,可以考慮采用該方法以省去轉(zhuǎn)換坐標系的步驟。
(2)Vector3.Lerp()、Vector3.Slerp()和Vector3. MoveTowards()方法。這三個方法均為插值方法, Lerp()為線性插值,Slerp()為球形插值,MoveTowards()在Lerp()的基礎(chǔ)上增加了限制最大速度功能。當需要從指定點A移動到點B時,可以考慮這些方法。
(3)Vector3.SmoothDamp()方法。該方法可以平滑地從點A逐漸移動到點B,并且可以控制速度,最常見的用法是相機跟隨目標。
(4)Transform.position()方法。重新賦值position能更快實現(xiàn)移動。
4.3.2四元數(shù)旋轉(zhuǎn)
四元數(shù)旋轉(zhuǎn)能夠有效地避免萬向節(jié)鎖[20],只需要一個四維的四元數(shù)就可以執(zhí)行繞任意經(jīng)過原點的向量的旋轉(zhuǎn),方便快捷,在某些情況下比旋轉(zhuǎn)矩陣效率更高,可以提供平滑插值,其數(shù)學描述如下:
四元數(shù)是一種高階復數(shù),它能夠很方便地表示剛體繞任意軸的旋轉(zhuǎn)。四元數(shù)q可以表示為
q=(α,β,γ,w)=αi+βj+γk+w
i、j、k滿足:i2=j2=k2=-1;ij=k,jk=i,ki=j。由于i、j、k的性質(zhì)和笛卡爾坐標系三個軸叉乘的性質(zhì)很像,所以可以將四元數(shù)寫成一個向量和一個實數(shù)組合的形式:
q=(v,w)=((α,β,γ),w)
當四元數(shù)用來描述三維空間的旋轉(zhuǎn)時,如果AGV繞單位向量表示的軸旋轉(zhuǎn)角度θ時,則對應的四元數(shù)為
如果AGV進行一個歐拉旋轉(zhuǎn),即分別繞X軸、Y軸和Z軸旋轉(zhuǎn)α、β和γ,則對應的四元數(shù)為
x=sin(β/2)sin(γ/2)cos(α/2)+
cos(β/2)cos(γ/2)sin(α/2)
y=sin(β/2)cos(γ/2)cos(α/2)+
cos(β/2)sin(γ/2)sin(α/2)
z=cos(β/2)sin(γ/2)cos(α/2)-
sin(β/2)cos(γ/2)sin(α/2)
w=cos(β/2)cos(γ/2)cos(α/2)-
sin(β/2)sin(γ/2)sin(α/2)
因此AGV中的點p:(P,0)(寫成四元數(shù)的形式)旋轉(zhuǎn)后的坐標p′為
p′=qpq-1
根據(jù)四元數(shù)的數(shù)學描述,在Unity3D中,設(shè)計了以下四元數(shù)旋轉(zhuǎn)的方法:
(1)Quaternion.eulerAngles()方法表示旋轉(zhuǎn)的角度,首先繞Z軸旋轉(zhuǎn)euler.z,然后繞X軸旋轉(zhuǎn)euler.x,最后繞Y軸旋轉(zhuǎn)euler.y。
(2)Quaternion.Euler()方法,進行一個歐拉旋轉(zhuǎn) ,即分別繞X軸、Y軸和Z軸旋轉(zhuǎn)α、β和γ。
(3)Quaternion.FromToRotation()方法,進行從一個方向到另一個方向的旋轉(zhuǎn)。
(4)Quaternion.Inverse()方法,返回反向的旋轉(zhuǎn)。
(5)Quaternion.Lerp()、Quaternion.Slerp()和RotateTowards()方法。這三個方法均為插值方法, Lerp()為線性插值,Slerp()為球形插值,MoveTowards()在Lerp的基礎(chǔ)上增加了限制最大角度功能。當需要從點A旋轉(zhuǎn)到點B時,可以考慮這些方法。
目前,大多數(shù)監(jiān)控系統(tǒng)都是首先將車間內(nèi)定時采集的數(shù)據(jù)和信息存儲在數(shù)據(jù)庫中,如果想要查看車間內(nèi)某個設(shè)備的狀態(tài)信息,就從數(shù)據(jù)庫中調(diào)用采集時間最晚的信息,最后通過一些轉(zhuǎn)化顯示在監(jiān)控系統(tǒng)的界面上。通過分析這種實時信息顯示方法,不難發(fā)現(xiàn)它的信息很難滿足實時性要求,不可能實時采集信息,將采集時間間隔調(diào)整到滿足實時性要求,會造成采集頻率太高,硬件平臺負載急劇增加,有時甚至造成硬件損壞。因此,本文所提出的監(jiān)控系統(tǒng)摒棄了以前的實時信息顯示方法,開發(fā)了一種新的實時性高的介入式顯示方法。
介入式顯示采用實時問答機制,當鼠標左鍵單擊模型時,利用Unity3D中的ScreenPointToRay()方法,捕捉鼠標左鍵單擊的具體模型,如圖6所示。根據(jù)射線擊中的模型,向車間內(nèi)對應的具體設(shè)備發(fā)送獲取設(shè)備狀態(tài)指令,設(shè)備收到獲取設(shè)備狀態(tài)信息指令后,快速采集設(shè)備狀態(tài)信息,采集完成后反饋給監(jiān)控系統(tǒng),最后在監(jiān)控界面射線擊中的模型中顯示設(shè)備狀態(tài)信息,從而完成了設(shè)備實時狀態(tài)信息的介入式顯示,整個過程如圖7所示。利用該機制不僅提高了狀態(tài)數(shù)據(jù)和信息顯示的實時性,還減小了系統(tǒng)運行平臺的硬件壓力。
圖6 ScreenPointToRay()方法示意圖Fig.6 Schematic diagram of ScreenPointToRay() method
圖7 實時信息介入式顯示Fig.7 Real-time information intervention display
為了驗證本文所提方法的可行性,筆者搭建了一個數(shù)字化車間桌面模擬平臺,硬件框架如圖8所示。桌面模擬平臺由1個模擬智能立體倉庫、2臺模擬智能AGV、4個模擬智能加工單元和1臺LCD液晶顯示器組成。所有的智能設(shè)備的核心都是stm32f107zet6芯片,通過對該芯片進行編程實現(xiàn)各個設(shè)備自組織、自適應和自協(xié)調(diào)的功能。設(shè)備之間通過WIFI芯片,采用TCP/IP協(xié)議構(gòu)建無線局域網(wǎng),實現(xiàn)各個設(shè)備之間的相互通信。桌面模擬平臺的工作原理如圖9所示。
針對該實驗平臺,利用3DS MAX對其進行三維等價造型,將輸出的.FBX格式的模型文件導入到Unity3D中,再建立監(jiān)控系統(tǒng)的實時數(shù)據(jù)庫,存儲感知層采集到的信息,最后結(jié)合C#編程建立了一種基于Unity3D的介入式3D實時監(jiān)控系統(tǒng),該系統(tǒng)具有訂單管理、設(shè)備狀態(tài)顯示、物料信息顯示、工件狀態(tài)跟蹤、故障顯示等功能。圖10所示為某一時刻該系統(tǒng)實際運行的監(jiān)控界面。當鼠標左鍵單擊在該系統(tǒng)的智能設(shè)備模型時,將會顯示該智能設(shè)備的狀態(tài)信息,圖10中,鼠標左鍵單擊AGV1,顯示了AGV1的狀態(tài)信息。目前,該系統(tǒng)不僅能夠?qū)崟r動態(tài)反映車間的狀態(tài)、倉庫物料、零件加工和訂單等信息,而且監(jiān)控界面極大地提高了可視性和人機交互性。
圖8 數(shù)字化車間桌面模擬平臺硬件框架Fig.8 Hardware framework of digital workshop desktop simulation platform
圖9 數(shù)字化車間桌面模擬平臺工作原理圖Fig.9 Work principle of digital workshop desktop simulation platform
數(shù)字化車間自動化水平高、產(chǎn)品種類多、產(chǎn)品工藝復雜、車間的信息復雜和突發(fā)情況較多,目前并沒有一種適用于數(shù)字化車間的合理高效的監(jiān)控方法。本文針對數(shù)字化車間開發(fā)了一種基于Unity3D的能實時動態(tài)反映車間的狀態(tài)、倉庫物料、零件加工和訂單等信息的介入式3D實時監(jiān)控系統(tǒng)。首先,利用模塊化設(shè)計的思想,根據(jù)實際需求,設(shè)計了監(jiān)控系統(tǒng)的需求框架。然后,根據(jù)需求框架,設(shè)計了監(jiān)控系統(tǒng)的體系結(jié)構(gòu)和運行模式。之后,研究了監(jiān)控系統(tǒng)的關(guān)鍵技術(shù),針對車間部分信息隨時間改變的特性,提出了利用實時數(shù)據(jù)庫存儲車間信息的方法,設(shè)計了監(jiān)控系統(tǒng)的實時數(shù)據(jù)庫的E-R-T模型;針對結(jié)構(gòu)復雜的場景,為節(jié)省場景的運行內(nèi)存和減輕場景的運行壓力,采用了實例化技術(shù)、LOD技術(shù)和紋理映射技術(shù),優(yōu)化了場景模型;為了實現(xiàn)場景中模型的動態(tài)行為驅(qū)動,利用Unity3D的Transform組件實現(xiàn)平移,利用四元數(shù)實現(xiàn)旋轉(zhuǎn);提出了基于實時問答機制的介入式顯示的方法。最后,搭建了數(shù)字化車間的桌面模擬平臺,利用本文所提方法構(gòu)建了該桌面模擬平臺的監(jiān)控系統(tǒng),運行結(jié)果表明,采用該監(jiān)控系統(tǒng)顯著提高了車間的透明度、實時性、可視性和人機交互性。
圖10 3D可視化監(jiān)控系統(tǒng)Fig.10 3D visual surveillance system
參考文獻:
[1] 周濟. 智能制造——“中國制造2025”的主攻方向[J]. 中國機械工程, 2015, 26(17): 2273-2284.
ZHOU Ji. Intelligent Manufacturing—Main Direction of “Made in China 2025”[J]. China Mechanical Engineering, 2015, 26(17): 2273-2284.
[2] 伍俊. 基于Flash的自動生產(chǎn)線上位機可視化監(jiān)控系統(tǒng)的研究[J]. 計算機應用與軟件,2010,27(3):172-175.
WU Jun. On Flash-based Visual Monitoring System for Upper Computer in Automated Production Line [J]. Computer Applications and Software, 2010, 27(3):172-175.
[3] 賈晨輝, 張浩, 陸劍峰. 離散制造系統(tǒng)規(guī)劃與仿真建模研究[J]. 計算機工程與應用, 2007, 43(3):242-245.
JIA Chenhui, ZHANG Hao, LU Jianfeng. Research on Planning and Simulation Modeling of Discrete Manufacturing System[J]. Computer Engineering & Applications, 2007, 43(3):242-245.
[4] LI Yangming, LIU Chengliang. Integrating Field Data and 3D Simulation for Tower Crane Activity Monitoring and Alarming[J]. Automation in Construction, 2012, 27(11): 111-119.
[5] 任銅擘. 自動化立體倉庫三維可視化監(jiān)控系統(tǒng)設(shè)計[D]. 保定:河北大學, 2013.
REN Tongbo. The Design of Automated Warehouse 3D Visualization Monitoring System[D]. Baoding: Hebei University, 2013.
[6] 閔佳園. MPS組態(tài)監(jiān)控系統(tǒng)的三維設(shè)計與仿真[D]. 上海: 上海交通大學, 2007.
MIN Jiayuan. Design and Realization of Wireless Communication Module of Modular Production System[D]. Shanghai: Shanghai Jiao Tong University, 2007.
[7] 尹超,張飛,李孝斌,等. 多品種小批量機加工車間生產(chǎn)任務(wù)執(zhí)行情況可視化動態(tài)監(jiān)控系統(tǒng)[J]. 計算機集成制造系統(tǒng),2013,19(1):46-54.
YIN Chao, ZHANG Fei, LI Xiaobin, et al. Visualization Dynamic Monitoring System of Production Execution for Multi-variety and Small-batch Job Shop[J]. Computer Integrated Manufacturing Systems, 2013, 19(1):46-54.
[8] 劉明周,王強,馬靖. 基于實時信息驅(qū)動的制造過程可視化監(jiān)控平臺[J]. 中國機械工程,2015,26(18) : 2466-2472
LIU Mingzhou, WANG Qiang, MA Jing. Visual Monitoring Platform of Manufacturing Process Based on Real-time Information Driven[J]. China Mechanical Engineering, 2015, 26(18): 2466-2472.
[9] 劉昭斌,劉文芝,顧才東,等 基于智能制造系統(tǒng)的物聯(lián)網(wǎng)3D監(jiān)控[J]. 實驗技術(shù)與管理,2015, 32(2):89-93.
LIU Zhaobin, LIU Wenzhi, GU Caidong, et al. 3D Monitoring for IOT Based on Intelligent Manufacturing System[J]. Experimental Technology & Management, 2015, 32(2):89-93.
[10] 徐國風. 實時數(shù)據(jù)庫關(guān)鍵技術(shù)研究[D]. 西安:西安建筑科技大學,2006.
XU Guofeng. Study of Pivotal Technologies for Real-time Databases[D]. Xi’an: Xi’an University of Architecture and Technology, 2006.
[11] 欒悉道,應龍,謝毓湘,等. 三維建模技術(shù)研究進展[J]. 計算機科學,2008(2):208-210.
LUAN Xidao, YING Long, XIE Shuxiang, et al. Advances in Study of 3D Modeling[J]. Computer Science, 2008(2): 208-210.
[12] 姜葳. 用戶界面設(shè)計研究[D]. 杭州:浙江大學, 2006.
JIANG Wei. Research on User Interface Design[D]. Hangzhou: Zhejiang University, 2006.
[13] 蔡業(yè)彬. 模塊化設(shè)計方法及其在機械設(shè)計中的應用[J]. 機械設(shè)計與制造, 2005(8):154-156.
CAI Yebin. The Method of Modularization Design and Its Application in Machine Design[J]. Machinery Design & Manufacture, 2005(8):154-156.
[14] LI Yadong, CUI Wenqiang, LI Danlan, et al. Research Based on OSI Model[C]//IEEE, International Conference on Communication Software and Networks. Xi’an, 2011:554-557.
[15] 艾紅,周東華. 動態(tài)系統(tǒng)的故障預測方法[J]. 華中科技大學學報(自然科學版),2009,37(增刊1):222-225.
AI Hong, ZHOU Donghua. Fault Prediction Approach for Dynamic System[J]. Journal of Huazhong University(Science & Technology), 2009,37(S1):222-225.
[16] 劉云山.實時數(shù)據(jù)庫系統(tǒng)[M]. 北京: 科學出版社, 2012.
LIU Yunshan. Real-time Database System[M]. Beijing: Science Publishing Company, 2012.
[17] 田師聰. 基于實例化的實時三維場景繪制加速研究與實現(xiàn)[D]. 成都:電子科技大學, 2013.
TIAN Shicong. Research and Implementation on 3D real-time Rendering Optimization Based-on Instancing[D]. Chengdu: University of Electronic Science and Technology, 2013.
[18] 郭陽明,翟正軍,陸艷紅. 虛擬場景生成中的LOD技術(shù)綜述[J]. 計算機仿真,2005, 22 (12):180-184.
GUO Yangming, ZHAI Zhengjun, LU Yanhong. A Survey: Technologies of LOD in Virtual Environment Generation[J]. Computer Simulation, 2005, 22(12):180-184.
[19] 左魯梅,黃心淵. 紋理映射技術(shù)在三維游戲引擎中的應用[J]. 計算機仿真,2004, 21(10):146-148.
ZUO Lumei, HUANG Xinyuan. Texture Mapping and Its Application in 3D Game Engine[J]. Computer Simulation, 2004, 21(10):146-148.
[20] VASS G. Avoiding Gimbal Lock[J]. Computer Graphics World, 2009, 32(6):10-11.