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

        ?

        基于Unity 3D的采煤機(jī)虛擬培訓(xùn)系統(tǒng)設(shè)計(jì)

        2022-05-06 07:39:16高志廣
        關(guān)鍵詞:維修保養(yǎng)功能模塊采煤機(jī)

        石 洋 高志廣 郭 爽

        (三一重型裝備有限公司,遼寧 沈陽(yáng) 110027)

        0 引言

        虛擬現(xiàn)實(shí)技術(shù)是物聯(lián)網(wǎng)的關(guān)鍵技術(shù)之一,將虛擬現(xiàn)實(shí)技術(shù)引入采煤機(jī)培訓(xùn)系統(tǒng),可以直觀地展示產(chǎn)品的參數(shù)規(guī)格、功能特性等信息。同時(shí),采煤機(jī)長(zhǎng)期處于地下惡劣的工況環(huán)境中,一旦發(fā)生停機(jī)故障就會(huì)嚴(yán)重?fù)p害企業(yè)利益。因此,在采煤機(jī)無(wú)故障運(yùn)行時(shí),積極展開(kāi)有針對(duì)性地?cái)?shù)字化虛擬培訓(xùn)尤為重要。

        運(yùn)用Unity 3D技術(shù)對(duì)采煤機(jī)虛擬培訓(xùn)系統(tǒng)進(jìn)行開(kāi)發(fā),通過(guò)設(shè)置密碼管理、設(shè)備基本信息、結(jié)構(gòu)展示、工作原理、維修保養(yǎng)、平臺(tái)拓展等模塊,可以為使用者搭建一個(gè)實(shí)時(shí)交互的虛擬環(huán)境,模擬采煤機(jī)在運(yùn)行過(guò)程中的狀態(tài),從而完成全面了解采煤機(jī)以及對(duì)企業(yè)員工進(jìn)行崗前培訓(xùn)的工作,使員工快速掌握采煤機(jī)的相關(guān)知識(shí)。該文介紹了基于Unity 3D的采煤機(jī)虛擬培訓(xùn)系統(tǒng)的設(shè)計(jì)流程、結(jié)構(gòu)和功能,分析了該系統(tǒng)的優(yōu)點(diǎn),對(duì)開(kāi)展有針對(duì)性的虛擬培訓(xùn)具有重要意義。

        1 系統(tǒng)總體方案

        采煤機(jī)虛擬培訓(xùn)系統(tǒng)以Unity 3D引擎作為系統(tǒng)開(kāi)發(fā)平臺(tái),建模工具采用Creo6.0,在Maya中進(jìn)行分級(jí)重組之后,導(dǎo)出FBX格式,然后導(dǎo)入U(xiǎn)nity 3D中,完成培訓(xùn)系統(tǒng)場(chǎng)景設(shè)計(jì)。Unity 3D是由Unity Technologies 開(kāi)發(fā)的跨平臺(tái)引擎,該軟件具有可視化編程、支持Open GL、支持Direct11以及集成了Phys X3.3物理系統(tǒng)等特點(diǎn),因此在虛擬現(xiàn)實(shí)仿真領(lǐng)域具有廣泛的應(yīng)用實(shí)例。

        1.1 系統(tǒng)總體框架

        采煤機(jī)虛擬培訓(xùn)系統(tǒng)采用三層軟件架構(gòu)體系,由顯示模塊、操作模塊以及功能模塊組成,系統(tǒng)架構(gòu)如圖1所示:1)顯示模塊。搭建采煤機(jī)作業(yè)環(huán)境,在Unity 3D平臺(tái)中對(duì)采煤機(jī)的工作部件進(jìn)行展示和管理。2) 操作模塊。操作模塊實(shí)現(xiàn)該培訓(xùn)系統(tǒng)的密碼設(shè)置、GUI界面顯示以及人機(jī)交互等功能。3) 功能模塊。功能模塊通過(guò)編寫(xiě)C++腳本來(lái)展示采煤機(jī)的工作原理以及維修保養(yǎng)要點(diǎn),還可以對(duì)采煤機(jī)的工作過(guò)程、液壓原理以及重要部件的拆卸與安裝進(jìn)行動(dòng)畫(huà)仿真。

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

        1.2 系統(tǒng)開(kāi)發(fā)流程

        采煤機(jī)虛擬培訓(xùn)系統(tǒng)的硬件環(huán)境為云桌面,處理器為Intel(R) Xeon Gold 6254 CPU @ 3.10GHz,RAM 32G。可以通過(guò)鍵盤(pán)、手柄等硬件對(duì)采煤機(jī)虛擬培訓(xùn)系統(tǒng)的功能模塊進(jìn)行操控。該系統(tǒng)的開(kāi)發(fā)流程圖如圖2所示。

        圖2 系統(tǒng)開(kāi)發(fā)流程圖

        2 軟件系統(tǒng)設(shè)計(jì)

        為了實(shí)現(xiàn)該系統(tǒng)維修保養(yǎng)的逼真程度和重要部件拆卸與安裝的功能,需要搭建采煤機(jī)的三維模型和虛擬作業(yè)環(huán)境。

        2.1 三維建模與場(chǎng)景搭建

        為了重現(xiàn)采煤機(jī)的作業(yè)現(xiàn)場(chǎng),根據(jù)采煤機(jī)外形尺寸并通過(guò)Creo6.0軟件搭建采煤機(jī)的模型,考慮到后續(xù)要用Maya軟件及Unity 3D開(kāi)發(fā)平臺(tái)對(duì)該模型進(jìn)行操作,為提高M(jìn)aya軟件及Unity 3D開(kāi)發(fā)平臺(tái)的工作效率,因此需要簡(jiǎn)化建模,減少不必要的零件組裝(例如銘牌等部件)。同時(shí),將機(jī)械支撐部分建模成整體,便于后續(xù)處理。經(jīng)過(guò)簡(jiǎn)化建模后的采煤機(jī)包括左截割部組件、右截割部組件、行走部、過(guò)橋組件、機(jī)身組件、長(zhǎng)滑靴組件、短滑靴組件、銷(xiāo)軸組件、拖纜組件、水系統(tǒng)和液壓系統(tǒng)等部分。其中,電氣系統(tǒng)未建模,而是用EPLAN導(dǎo)出電氣系統(tǒng)原理圖,以二維圖的形式展示后續(xù)Unity 3D開(kāi)發(fā)平臺(tái)中的工作原理界面。采煤機(jī)建模完成后需要搭建作業(yè)場(chǎng)景,如圖3所示。將采煤機(jī)三維模型導(dǎo)入Maya中進(jìn)行渲染、分級(jí)重組以及格式轉(zhuǎn)換,將導(dǎo)出后的FBX格式的文件再導(dǎo)入U(xiǎn)nity 3D中,在Unity 3D中進(jìn)行場(chǎng)景搭建,搭建完的場(chǎng)景基本可以還原采煤機(jī)的真實(shí)工作環(huán)境。

        圖3 場(chǎng)景模型

        2.2 人機(jī)交互設(shè)計(jì)

        Unity 3D支持多種編譯腳本,該系統(tǒng)基于C#語(yǔ)言編寫(xiě)系統(tǒng)腳本,IDE采用Microsoft Visual Studio 2019。該系統(tǒng)設(shè)置了用戶登錄密碼驗(yàn)證、重要部件結(jié)構(gòu)展示、工作原理仿真、重要部件的拆卸與安裝虛擬動(dòng)畫(huà)展示以及維修保養(yǎng)要點(diǎn)知識(shí)等主要界面。這些功能模塊均采用人機(jī)交互模式,可人工操縱鼠標(biāo)對(duì)某一項(xiàng)功能進(jìn)行逐步操作,從而提升使用者的直觀感受。

        使用鼠標(biāo)控制采煤機(jī)模型,可以對(duì)采煤機(jī)模型進(jìn)行移動(dòng)、旋轉(zhuǎn)、縮放和多角度觀察,還可以對(duì)采煤機(jī)的重要部件的結(jié)構(gòu)、工作原理、重要部件拆卸與安裝以及維修保養(yǎng)方法等內(nèi)容進(jìn)行展示、操作,系統(tǒng)地學(xué)習(xí)采煤機(jī)的結(jié)構(gòu)與原理。

        用鼠標(biāo)左鍵按住模型對(duì)其進(jìn)行拖動(dòng)控制、鼠標(biāo)滑輪縮放模型、鼠標(biāo)中鍵按住旋轉(zhuǎn)模型的部分腳本如下。

        if (MoveCam.instance.isRight) {

        //獲取目標(biāo)點(diǎn)坐標(biāo)。棄用

        //x += MoveCam.instance.getTargetPos().x * xSpeed * 0.002f;

        //y -=MoveCam.instance.getTargetPos().y * ySpeed * 0.002f;

        x += getTargetPos().x * xSpeed * 0.002f;

        y -= getTargetPos().y * ySpeed * 0.002f;

        } else {

        x += Input.GetAxis("Mouse X") * xSpeed * 0.02f;

        y -= Input.GetAxis("Mouse Y") * ySpeed * 0.02f;

        }

        x = ClampAngle(x, xMinLimit, xMaxLimit);

        y = ClampAngle(y, yMinLimit, yMaxLimit);

        //print(Input.GetAxis("Mouse X"));

        //print( Input.GetAxis("Mouse Y"));

        //print(x);

        //print(y);

        }

        //if( Input.GetMouseButton(1))

        //{

        //string str = EventSystem.currentToString().Substring(EventSystem.current.ToString().IndexOf(":"), 32);

        //string str2 = str.Substring(str.IndexOf("(") + 1, str.IndexOf(")")- str.IndexOf("(") - 1);

        // float xx = float.Parse(str2.Split(',')[0]);

        // float yy = float.Parse(str2.Split(',')[1]);

        // //distanceY += Input.GetAxis("Mouse Y") * ySpeed *0.002f;

        // distanceY += yy * ySpeed * 0.0002f;

        // //distanceY = Mathf.Clamp(distanceY, minDistanceY,maxDistanceY);

        // //print(Input.GetAxis("Mouse X"));

        // //print( Input.GetAxis("Mouse Y"));

        // //print(x);

        // //print(y);

        // }

        /*if((Input.mousePosition.x > 0)&&

        (Input.mousePosition.x < Screen.width * leftCam.rect.width)&&

        (Input.mousePosition.y > Screen.height * leftCam.rect.y)&&

        (Screen.height > Input.mousePosition.y))

        {*/

        //if((Input.mousePosition.x > 0)&&

        // (Input.mousePosition.x < Screen.width * leftCam.rect.width)&&

        // (Input.mousePosition.y > Screen.height * leftCam.rect.y)&&

        // (Screen.height > Input.mousePosition.y))

        //{

        if (!IsRaycastUI02()) {

        distance += Input.GetAxis("Mouse ScrollWheel") * mSpeed;

        distance = Mathf.Clamp(distance, minDistance, maxDistance);

        }

        //}

        Quaternion rotation = Quaternion.Euler(y, x, 0.0f);

        Vector3 disVector = new Vector3( 0.0f, 0.0f, -distance );

        Vector3 position = rotation * disVector+target.position;

        //adjust the camera

        if( needDamping )

        {

        transform.rotation = Quaternion.Lerp(transform.rotation,rotation, Time.deltaTime*damping);

        transform.position = Vector3.Lerp(transform.position, position,Time.deltaTime*damping);

        }

        else

        {

        transform.rotation = rotation;

        transform.position = position;

        }

        2.3 功能模塊設(shè)計(jì)

        功能模塊主要包括工作原理仿真和維修保養(yǎng)要點(diǎn)2個(gè)部分。其中,工作原理仿真模塊重點(diǎn)展現(xiàn)采煤機(jī)重要部件的結(jié)構(gòu)、液壓系統(tǒng)、電氣系統(tǒng)和水系統(tǒng)的工作原理。液壓系統(tǒng)、水系統(tǒng)采用真實(shí)的管路布置圖,可直觀展現(xiàn)系統(tǒng)工作時(shí)的液體流動(dòng)線路以及驅(qū)動(dòng)零部件的原理,電氣系統(tǒng)則無(wú)具體布置圖,僅通過(guò)二維原理圖展示電氣原理。維修保養(yǎng)要點(diǎn)模塊展示重要部件結(jié)構(gòu)、拆卸與安裝動(dòng)畫(huà)過(guò)程以及維修保養(yǎng)等相關(guān)信息。結(jié)構(gòu)展示和拆卸與安裝動(dòng)畫(huà)均可逐級(jí)向下拆解,直至不可分解的焊接件,可以直觀地展現(xiàn)采煤機(jī)的結(jié)構(gòu),并還原真實(shí)的拆卸與安裝過(guò)程。

        將經(jīng)Creo6.0建模后的整機(jī)模型導(dǎo)入Maya軟件后,對(duì)重要部件進(jìn)行分類(lèi)分組管理,不僅避免了過(guò)多零件給Unity 3D的層級(jí)視圖管理帶來(lái)的困難,而且還加快了查找零件的速度,提升了開(kāi)發(fā)效率。將分類(lèi)分組后的模型導(dǎo)入采煤機(jī)虛擬培訓(xùn)系統(tǒng),展示為左截割部、右截割部、左滾筒、右滾筒、長(zhǎng)滑靴、短滑靴、行走部、液壓系統(tǒng)、水系統(tǒng)以及電氣系統(tǒng)等部分。截割部等重要部件可以繼續(xù)向下一組成部分逐級(jí)分解,直至分解為組成部分。每個(gè)重要部件均配有原理展示動(dòng)畫(huà)和功能說(shuō)明。左截割部的齒輪動(dòng)力傳動(dòng)如圖4所示(動(dòng)力傳輸方向?yàn)殡姍C(jī)——一軸組件——二軸組件——三軸組件——四軸組件——五軸組件——行星組件,動(dòng)力傳輸部件用粗線顯示)。

        圖4 齒輪動(dòng)力傳動(dòng)圖

        水系統(tǒng)采用虛擬液流的流動(dòng)展示水系統(tǒng)的工作原理。外噴霧水路的液流流動(dòng)圖如圖5所示(外噴霧水路流向?yàn)檫M(jìn)水口——冷卻器——?dú)んw內(nèi)部水道——?dú)んw底部水道——噴嘴)。

        圖5 外噴霧水路

        2.3.2 維修保養(yǎng)模塊

        維修保養(yǎng)模塊重點(diǎn)展現(xiàn)重要部件的拆卸與安裝以及保養(yǎng)要點(diǎn)。在模擬拆卸與安裝的過(guò)程中,根據(jù)采煤機(jī)設(shè)計(jì)的特點(diǎn),用動(dòng)畫(huà)形式展示拆卸與安裝過(guò)程,可以通過(guò)人機(jī)交互的操作來(lái)控制。Unity 3D的Tween功能包括多種動(dòng)畫(huà)類(lèi)型。在腳本中設(shè)置零部件運(yùn)動(dòng)過(guò)程中的開(kāi)始位置坐標(biāo)和結(jié)束位置坐標(biāo),可以展現(xiàn)該零件的運(yùn)動(dòng)軌跡。通過(guò)編寫(xiě)腳本也可使零件的運(yùn)動(dòng)軌跡消失,零部件的拆卸與安裝過(guò)程就是通過(guò)該功能實(shí)現(xiàn)的,在編寫(xiě)腳本的過(guò)程中,需要不斷調(diào)整采煤機(jī)模型的內(nèi)部參數(shù),使模擬效果更加絲滑、真實(shí)。

        針對(duì)行走部的維修保養(yǎng),導(dǎo)向滑靴和行走輪的拆卸過(guò)程如下:拆下行走箱蓋板螺栓,并拆下行走箱蓋板露出軸頭蓋;采用頂絲將軸頭蓋頂出后拆除行走部螺栓和墊圈;利用殼體螺紋和螺釘拆除行走殼體組焊件后取出油封,最后拆除導(dǎo)向滑靴組焊件和銷(xiāo)軌輪。具體拆卸過(guò)程如圖6所示。

        圖6 導(dǎo)向滑靴和行走輪拆卸過(guò)程圖

        3 系統(tǒng)整體試驗(yàn)

        采用鼠標(biāo)和鍵盤(pán)對(duì)采煤機(jī)虛擬培訓(xùn)系統(tǒng)進(jìn)行操作控制。使用鍵盤(pán)輸入密碼登錄該系統(tǒng)的操作界面。使用鼠標(biāo)選擇相應(yīng)功能按鈕觸發(fā)對(duì)應(yīng)功能。

        為了驗(yàn)證該系統(tǒng)是否能滿足采煤機(jī)服務(wù)人員的培訓(xùn)要求,邀請(qǐng)100名服務(wù)人員對(duì)該系統(tǒng)進(jìn)行測(cè)試。通過(guò)與100名服務(wù)人員的共同測(cè)試與交流表明,該系統(tǒng)功能模塊完整,系統(tǒng)響應(yīng)迅速,動(dòng)畫(huà)過(guò)渡絲滑,人機(jī)交互性較強(qiáng)。系統(tǒng)測(cè)試結(jié)果見(jiàn)表1。

        表1 系統(tǒng)測(cè)試結(jié)果

        4 結(jié)語(yǔ)

        該文設(shè)計(jì)了一種基于Unity 3D的采煤機(jī)虛擬培訓(xùn)系統(tǒng),以三維模型為載體,采用交互式動(dòng)畫(huà)展示采煤機(jī)的重要部件架構(gòu)。該系統(tǒng)搭載采煤機(jī)真實(shí)控制面板,用實(shí)景化的方式展示了拆卸與安裝過(guò)程以及維修保養(yǎng)要點(diǎn)。同時(shí),該系統(tǒng)以三維布管模型為載體,還原真實(shí)系統(tǒng)的運(yùn)行狀態(tài),展示采煤機(jī)整機(jī)運(yùn)動(dòng)及系統(tǒng)的工作原理。服務(wù)人員通過(guò)學(xué)習(xí)該系統(tǒng)可以完整、系統(tǒng)地了解采煤機(jī),從而達(dá)到提升服務(wù)人員故障維修水平的目的。

        猜你喜歡
        維修保養(yǎng)功能模塊采煤機(jī)
        煤礦用隔爆型采煤機(jī)電機(jī)FMECA分析
        清潔工程——汽車(chē)維修保養(yǎng)新理念(下)
        拖拉機(jī)維修保養(yǎng)10忌
        基于ASP.NET標(biāo)準(zhǔn)的采購(gòu)管理系統(tǒng)研究
        輸電線路附著物測(cè)算系統(tǒng)測(cè)算功能模塊的研究
        談煤礦機(jī)電設(shè)備維修保養(yǎng)和修舊利廢工作
        M市石油裝備公服平臺(tái)網(wǎng)站主要功能模塊設(shè)計(jì)與實(shí)現(xiàn)
        功能模塊的設(shè)計(jì)與應(yīng)用研究
        露天采礦挖掘機(jī)的維修保養(yǎng)
        MGTY300/700-1.1D采煤機(jī)制動(dòng)系統(tǒng)分析改進(jìn)
        河南科技(2014年18期)2014-02-27 14:14:58
        国产亚洲午夜精品久久久| 欧美精品一级| 久久国产精品超级碰碰热| 日本精品中文字幕人妻| 国产亚洲精品成人av在线| 亚洲一区二区三区免费网站 | 国产精品99无码一区二区| 丰满五十六十老熟女hd| 国产成人精品男人的天堂网站| 日韩精品一区二区亚洲专区| 色狠狠色狠狠综合天天| 长腿校花无力呻吟娇喘的视频| 无码国产亚洲日韩国精品视频一区二区三区 | 亚洲AV无码专区国产H小说| 国产免费一区二区三区三| 亚洲av无码成人精品国产| 国产精品人妻一码二码尿失禁 | 午夜a福利| 人妻1024手机看片你懂的| 国产猛烈高潮尖叫视频免费| 中文字幕乱码免费视频| 亚洲国产成人Av毛片大全| 亚洲精品国产综合久久| 精品国产一区二区三区av性色| 色婷婷日日躁夜夜躁| 国产成人午夜av影院| 激情亚洲一区国产精品| 另类老妇奶性生bbwbbw| 欧美日韩一区二区三区色综合| 亚洲综合精品一区二区| 亚洲一区二区三区影院| 欧美性群另类交| 91亚洲精品久久久蜜桃| 青青草精品在线视频观看| 军人粗大的内捧猛烈进出视频| 亚洲成人av一区二区三区| 日本综合视频一区二区| 夜夜添夜夜添夜夜摸夜夜摸| 99久久综合精品五月天| 伊人影院成人在线观看| 医院人妻闷声隔着帘子被中出|