亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于WebGL的PLC組態(tài)虛擬仿真系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)*

        2022-12-16 09:22:50張聰林菲王進(jìn)司華豪
        計(jì)算機(jī)時代 2022年12期
        關(guān)鍵詞:模型庫碰撞檢測組態(tài)

        張聰,林菲,王進(jìn),司華豪

        (1.杭州電子科技大學(xué)計(jì)算機(jī)學(xué)院,浙江 杭州 310018;2.杭州電子科技大學(xué)人文藝術(shù)與數(shù)字媒體學(xué)院)

        0 引言

        隨著信息技術(shù)的飛速發(fā)展,推動現(xiàn)代信息技術(shù)與實(shí)驗(yàn)教學(xué)深度融合,拓展實(shí)驗(yàn)教學(xué)的深度與廣度,已成為提升實(shí)驗(yàn)教學(xué)效果與水平的重要方式。在工業(yè)自動化領(lǐng)域,結(jié)合物聯(lián)網(wǎng)、大數(shù)據(jù)、云計(jì)算、虛擬現(xiàn)實(shí)等技術(shù),將工業(yè)基礎(chǔ)設(shè)施和設(shè)備等數(shù)據(jù)資源以信息的流方式進(jìn)行虛實(shí)交互已成為主流趨勢[1-2]。推動工業(yè)虛擬仿真實(shí)驗(yàn)平臺的研究建設(shè),對工業(yè)自動化仿真行業(yè)的發(fā)展具有重要意義。

        1 國內(nèi)外研究現(xiàn)狀

        在工業(yè)領(lǐng)域內(nèi),組態(tài)仿真技術(shù)的使用已較為成熟,如組態(tài)王、FIX、力控、WinCC、威淪等軟件[4],均可通過軟件包內(nèi)的二維平面設(shè)計(jì)工具,實(shí)現(xiàn)工業(yè)流程中硬件、數(shù)據(jù)、圖形圖像等組態(tài)仿真工作[4]。但基于二維設(shè)計(jì)的組態(tài)模式對仿真過程的表現(xiàn)力不是很強(qiáng),存在一定局限性。為了解決這個問題,有許多基于三維的虛擬仿真系統(tǒng)被設(shè)計(jì)出來,如RealGame 公司使用Unity3D 實(shí)現(xiàn)Windows 環(huán)境下的工業(yè)自動化生產(chǎn)線虛擬仿真實(shí)驗(yàn)系統(tǒng)FactoryIO[5]。此類三維虛擬仿真實(shí)驗(yàn)平臺雖能達(dá)到較好的仿真效果,但基于C/S 的系統(tǒng)結(jié)構(gòu),使其在跨平臺使用、安裝配置及升級維護(hù)上較為復(fù)雜。華南理工大學(xué)翟敬梅、郭培森等人使用WebGL構(gòu)建雙機(jī)器人運(yùn)動仿真實(shí)驗(yàn)平臺,實(shí)現(xiàn)了基于B/S 的跨平臺機(jī)器人運(yùn)動仿真實(shí)驗(yàn)系統(tǒng)[6]。但現(xiàn)有B/S 虛擬仿真系統(tǒng)的設(shè)計(jì)大多為單一案例場景,定制性較強(qiáng)。未能滿足高校在PLC 工業(yè)虛擬仿真實(shí)驗(yàn)教學(xué)上的多樣性需求,缺乏一定的通用性。

        因此,本文提出了基于WebGL 的PLC 組態(tài)虛擬仿真實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)方案,結(jié)合跨平臺三維仿真技術(shù)與組態(tài)軟件的優(yōu)勢,為學(xué)生提供魯棒、易用的PLC 虛擬仿真實(shí)驗(yàn)平臺,對工業(yè)仿真領(lǐng)域的發(fā)展和PLC 軟件人才的培養(yǎng)具有重要意義。

        2 PLC組態(tài)虛擬仿真實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)

        PLC組態(tài)虛擬仿真實(shí)驗(yàn)系統(tǒng)遵循分層的架構(gòu)設(shè)計(jì)思想,基于開源跨平臺框架Electron 完成組態(tài)虛擬仿真實(shí)驗(yàn)系統(tǒng)的構(gòu)建,支持在多平臺運(yùn)行。在構(gòu)建過程中,使用OpenGL ES 圖形庫、ThreeJs 引擎庫及PLC 串口通信接口模塊庫來提供對圖形及異構(gòu)設(shè)備通訊的支持。系統(tǒng)層級結(jié)構(gòu)自底向上分別為硬件層、服務(wù)層、業(yè)務(wù)層、展示層。系統(tǒng)總體架構(gòu)如圖1所示。

        圖1 系統(tǒng)架構(gòu)圖

        在硬件 層,由PC 和GPU 來提供對WebGL 中ThreeJS 和PhysiJs 的引擎計(jì)算支持[7]。在服務(wù)層,使用NodeJs 作為系統(tǒng)數(shù)據(jù)交互服務(wù)的支撐,使用Serialport和Dgram 模塊來完成與硬件層基于ModBusRtu[8]協(xié)議的數(shù)據(jù)通信。在業(yè)務(wù)層,主要分為虛擬仿真模型庫構(gòu)建、三維工業(yè)場景構(gòu)建及虛擬仿真運(yùn)行三個模塊。其中,虛擬仿真模型庫構(gòu)建部分包括三維模型設(shè)計(jì)、模型運(yùn)動庫構(gòu)建、模型碰撞檢測方法及自定義模型添加;三維工業(yè)場景構(gòu)建部分包括基礎(chǔ)環(huán)境設(shè)計(jì)、模型組裝及PLC 通訊配置;虛擬仿真運(yùn)行設(shè)計(jì)則包括虛擬漫游、模擬交互控制及仿真錯誤檢驗(yàn)。在展示層,采用BootStrap 框架來構(gòu)建虛擬仿真實(shí)驗(yàn)系統(tǒng)的前端頁面,并使用Webpack 來完成頁面組件的統(tǒng)一模塊管理。

        2.1 虛擬仿真模型庫構(gòu)建

        ⑴三維模型設(shè)計(jì)

        虛擬仿真模型的設(shè)計(jì)方式主要有兩種,代碼繪制和三維建模軟件Rhino 繪制。根據(jù)模型的復(fù)雜程度,選擇效率最高的模型構(gòu)建方法?;A(chǔ)模型的構(gòu)建一般由代碼繪制。對于結(jié)構(gòu)較為復(fù)雜的工業(yè)模型選用建模軟件繪制。

        ⑵模型運(yùn)動庫構(gòu)建

        本文基于PhysiJs 來實(shí)現(xiàn)運(yùn)動控制。通過對虛擬設(shè)備的運(yùn)動行為分析,將模型的運(yùn)動分為直線勻變速運(yùn)動、旋轉(zhuǎn)運(yùn)動及約束性復(fù)合運(yùn)動,可以通過構(gòu)建模型的運(yùn)動方程來實(shí)現(xiàn)運(yùn)動的仿真。而系統(tǒng)中的模型的運(yùn)動約束關(guān)系是基于D-H[9]思想實(shí)現(xiàn),根據(jù)每一個關(guān)節(jié)來建立其各自的參考坐標(biāo)系,使用單變量控制相鄰桿之間的轉(zhuǎn)移矩陣,然后再通過建立相對狀態(tài)轉(zhuǎn)移矩陣來表示各關(guān)節(jié)及連桿間的關(guān)系,最終得到連桿終端相對模型基底坐標(biāo)系的狀態(tài)轉(zhuǎn)移矩陣。本文通過模型的運(yùn)動屬性配置文件來封裝模型運(yùn)動接口,從而構(gòu)建出高拓展的模型運(yùn)動庫。在模型加載至場景前,均通過掃描屬性配置文件來加載模型運(yùn)動屬性,增強(qiáng)了模型庫的可拓展性與通用性。

        ⑶模型碰撞檢測方法

        為了提升實(shí)驗(yàn)仿真中碰撞檢測的計(jì)算效率,在每個模型加載至場景前,系統(tǒng)會為其設(shè)置相應(yīng)包圍盒。本試驗(yàn)系統(tǒng)中因不存在會發(fā)生形變的模型對象,故使用簡單、高效、易于存儲的AABB 包圍盒作為層次包圍的底層盒結(jié)構(gòu),AABB包圍盒效果如圖2所示。

        圖2 AABB包圍盒效果圖

        圖2中A、B分別為三維空間中包圍盒上的最小點(diǎn)和最大點(diǎn)。AABB包圍盒在三維空間中的碰撞檢測是基于物體包圍盒的最大點(diǎn)和最小點(diǎn)的關(guān)系,通過對兩個物體的最大點(diǎn)和最小點(diǎn)在三個維度的坐標(biāo)關(guān)系的比較而得到兩物體的碰撞關(guān)系。為了提高碰撞檢測的精度與效率,使用自頂向下的方式來構(gòu)建層次包圍[10]來進(jìn)行精確碰撞檢測。如圖3 所示,層次包圍盒會將三維空間遞歸的劃分為不同層次的樹狀結(jié)構(gòu),并在當(dāng)前分割出的單塊區(qū)域再次進(jìn)行多叉劃分,直至劃分出的每一塊空間區(qū)域只包含單個元素或樹的深度達(dá)到一定閾值,即停止劃分,那么模型則以一棵多叉樹的方式來保存下來。

        圖3 Top-down構(gòu)造過程圖

        ⑷自定義模型支持

        系統(tǒng)默認(rèn)模型工具庫中的模型組件能夠滿足大部分實(shí)驗(yàn)場景。若實(shí)驗(yàn)者有特殊的自定義模型需要添加到組態(tài)場景中,則可通過自定義模型添加模塊來上傳本地模型。系統(tǒng)自定義模型導(dǎo)入標(biāo)準(zhǔn)如下:

        ①導(dǎo)入自定義模型數(shù)據(jù)格式應(yīng)為dae;

        ②導(dǎo)入自定義模型icon 應(yīng)為分辨不小于96*96且文件大小不大于1M的png;

        ③導(dǎo)入模型命名規(guī)則應(yīng)符合系統(tǒng)模型標(biāo)識方法要求;

        ④導(dǎo)入模型運(yùn)動屬性配置應(yīng)按照系統(tǒng)提供格式配置。

        ⑸模型庫構(gòu)建

        系統(tǒng)將所有的模型進(jìn)行分類歸庫,構(gòu)建出完整的仿真工具模型庫。系統(tǒng)為每一個模型分別定義一個類別屬性及其在各自類別下的專有命名,工具箱模型效果如圖4所示。

        圖4 工具箱效果圖

        2.2 三維工業(yè)場景構(gòu)建

        ⑴基礎(chǔ)環(huán)境設(shè)計(jì)

        從WebGL的場景構(gòu)建流程來看,一個完整的擬真三維工業(yè)環(huán)境應(yīng)包含帶有重力屬性的物理場景、攝像機(jī)、光源、渲染器及貼圖等。WebGL 場景構(gòu)建流程如圖5所示。

        圖5 WebGL場景構(gòu)建流程圖

        ⑵模型組態(tài)

        在構(gòu)建虛擬仿真場景部分,模型組裝是實(shí)現(xiàn)場景快速構(gòu)建的關(guān)鍵。系統(tǒng)主要通過模型間的三維一致性來實(shí)現(xiàn)模型的方位對齊,即通過不同模型間的面一致、點(diǎn)一致來實(shí)現(xiàn)點(diǎn)面對齊。

        系統(tǒng)提供對模型對象六個緯度的操作方式,可利用光標(biāo)拖拽模型至虛擬環(huán)境中的任意位置。其中,三維場景中模型對象的獲取是通過DragControl 中的Raycaster 來實(shí)現(xiàn)[10]。在交互過程中,頁面點(diǎn)擊坐標(biāo)與三維空間射線交互方向的轉(zhuǎn)換方程如下:

        其中,Cx為2d 坐標(biāo)x,Cy為2d 坐標(biāo)y,Bl為窗口左邊距,Bt為窗口上邊距,Bw為窗口寬度,Bh為窗口高度,Rd為射線在三維空間以camera為起點(diǎn)的方向向量。

        ⑶PLC通訊配置在PLC 通訊配置部分,使用Serialport模塊掃描連接到終端上的PLC 串口,并配置波特率、數(shù)據(jù)位、校驗(yàn)位、停止位等參數(shù),這樣建立與PLC 硬件板的連接。在連接建立完成后,系統(tǒng)會掃描場景中現(xiàn)有模型對象,通過讀取模型屬性配置文件來加載對應(yīng)模型屬性,同時加載PLC 硬件板中的相應(yīng)數(shù)據(jù)單元。進(jìn)而實(shí)驗(yàn)者可以通過拖拽方式來完成模型屬性與PLC 數(shù)據(jù)的一一對應(yīng),實(shí)現(xiàn)數(shù)據(jù)綁定。

        2.3 虛擬仿真運(yùn)行

        ⑴虛擬漫游

        在仿真模擬時,系統(tǒng)提供了第三人稱的相機(jī)觀測視角,并支持旋轉(zhuǎn)、平移和縮放操作。為提高整個漫游過程的渲染性能,使用單加載模式繪制紋理貼圖,使用LOD[11]分層來約束渲染模式,并根據(jù)相機(jī)與模型的視距不同來調(diào)整渲染模式,即為遠(yuǎn)視距低精度渲染與近視距高精度渲染。

        ⑵模擬交互控制

        在仿真模擬的整個過程中,將由PLC 實(shí)驗(yàn)板上的代碼程序來控制場景中的模型運(yùn)動。在場景與PLC實(shí)驗(yàn)板的數(shù)據(jù)交互過程中,系統(tǒng)通過UDP 指令幀向PLC 程序發(fā)送模型的運(yùn)動狀態(tài),同時PLC 實(shí)驗(yàn)板通過返回應(yīng)答幀來反饋控制參數(shù),從而實(shí)現(xiàn)仿真過程的模擬交互控制。數(shù)據(jù)交互過程遵循ModbusRtu 協(xié)議,ModbusRtu協(xié)議對應(yīng)的十六進(jìn)制指令幀格式如表1所示。

        表1 ModbusRtu指令幀格式

        3 工業(yè)仿真運(yùn)行實(shí)例及性能測試

        3.1 虛擬仿真運(yùn)行實(shí)例

        目前,本系統(tǒng)中已實(shí)現(xiàn)的場景包括IO 通訊、交通控制、機(jī)械軸、工件切割、機(jī)械臂、水位控制及組裝包裝流水線,并且不同場景分別由不同PLC 的控制程序來完成,場景實(shí)例效果如圖6所示。

        圖6 場景實(shí)例

        3.2 虛擬仿真運(yùn)行性能測試

        ⑴系統(tǒng)流暢性測試

        系統(tǒng)實(shí)際幀率性能對比如圖7 所示。圖7 上方折線為優(yōu)化后運(yùn)行幀數(shù),下方折線為優(yōu)化前幀數(shù),可以觀察到該系統(tǒng)在幀率優(yōu)化上的提升。

        圖7 場景仿真過程幀率圖

        ⑵通訊測試

        本文通過記錄場景仿真過程中指令傳遞時間來評價(jià)系統(tǒng)的指令傳遞效率,仿真指令延遲如圖8所示。

        圖8 指令通信傳輸延遲

        從圖8 中可以看出延遲在12ms~28ms 之間,通信最小延遲約15ms,最高延遲約為28ms,可知本文虛擬仿真系統(tǒng)的指令效率較優(yōu)。

        4 結(jié)束語

        本文針對工業(yè)控制領(lǐng)域PLC 軟件開發(fā)人才培養(yǎng)時受實(shí)驗(yàn)設(shè)備、場地和試驗(yàn)投入限制等問題,設(shè)計(jì)并實(shí)現(xiàn)了一套基于WebGL 的PLC 組態(tài)虛擬仿真實(shí)驗(yàn)系統(tǒng),經(jīng)過一系列基準(zhǔn)測試后驗(yàn)證了本系統(tǒng)具有較好的性能,具備在線快速搭建擬真三維實(shí)驗(yàn)場景并進(jìn)行PLC 仿真實(shí)驗(yàn)的教學(xué)條件,能夠提高工業(yè)控制領(lǐng)域人才的培養(yǎng)質(zhì)量。目前系統(tǒng)內(nèi)置個性化組合場景還不夠多,在未來會增加模型庫及工業(yè)場景搭建適配數(shù)量。

        猜你喜歡
        模型庫碰撞檢測組態(tài)
        全新預(yù)測碰撞檢測系統(tǒng)
        基于PLC及組態(tài)技術(shù)的恒溫控制系統(tǒng)開發(fā)探討
        基于BIM的鐵路信號室外設(shè)備布置與碰撞檢測方法
        Unity3D中碰撞檢測問題的研究
        電子測試(2018年1期)2018-04-18 11:53:00
        基于PLC和組態(tài)的智能電動擰緊系統(tǒng)
        PLC組態(tài)控制在水箱控制系統(tǒng)的應(yīng)用
        BIM技術(shù)下的某辦公樓項(xiàng)目管線碰撞檢測
        鑄造行業(yè)三維組態(tài)軟件的應(yīng)用
        基于模型庫系統(tǒng)的金融體系流動性風(fēng)險(xiǎn)預(yù)警機(jī)制研究
        基于模型庫的現(xiàn)代成本會計(jì)計(jì)量系統(tǒng)研究
        人妻少妇精品视频无码专区| 日产一区二区三区的精品| 日韩一区二区三区精品视频| 美女不带套日出白浆免费视频 | 日本一二三四高清在线| 真实人与人性恔配视频| 久久婷婷综合色丁香五月| 国产呦系列呦交| 日本一区二区高清精品| 日韩av高清在线观看| 久久亚洲精品ab无码播放| 国产精品电影久久久久电影网| 日本午夜艺术一区二区| 国产精品扒开腿做爽爽爽视频| 欧美亚洲精品一区二区| 亚洲 美腿 欧美 偷拍| 中文字幕人妻久久久中出| 午夜理论片yy6080私人影院| 国产乱子伦精品无码码专区| 自拍视频国产在线观看| 久久女人精品天堂av影院麻| 国产成人精品一区二区三区视频| 国产啪精品视频网站丝袜| 午夜精品一区二区三区av免费| av日韩一区二区三区四区| 国产精品无码久久久久| 国产乱子伦精品免费女| 国产亚洲一区二区毛片| 色欲av伊人久久大香线蕉影院| 人人妻人人爽人人做夜欢视频九色 | 国产午夜毛片v一区二区三区| 亚洲福利视频一区| 日韩在线精品视频观看 | 免费一区二区三区久久| 国产亚洲一区二区三区成人| 国产精品日韩经典中文字幕| 久久久久国产一区二区| 国产福利小视频在线观看| 开心五月激情五月天天五月五月天 | 中文字幕久久波多野结衣av不卡| 国产精品久久一区二区三区|