




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
VR虛擬現(xiàn)實虛擬設(shè)計摘要虛擬設(shè)計是近年來發(fā)展起來的一個新的研究領(lǐng)域,智能控制虛擬實驗室則是智利用虛擬實驗室進(jìn)行實驗教學(xué)能夠很大程度上的節(jié)約成本,同時用戶在計算機(jī)前就能完成實驗,查看實驗結(jié)果,也能提高效率,節(jié)省時間。本課題主要是建立可以進(jìn)行智能控制虛擬實驗,其模擬的是天煌教儀生產(chǎn)的“THJ-2型高級過程控制系統(tǒng)實驗裝置。本設(shè)計由三個主要部分構(gòu)成:虛擬實驗室的3D造型、智能控制實驗仿真、圖形用戶界面(GUIVRML語言完成虛擬實驗室3DMATLAB的強(qiáng)大數(shù)據(jù)處理功能實現(xiàn)了BP神經(jīng)網(wǎng)絡(luò)控制實驗的仿真和GUI的設(shè)計;最后利用MATLABGUIGUI驗的效果。關(guān)鍵字:虛擬實驗室、VRML、BP神經(jīng)網(wǎng)絡(luò)、MATLABAbstractVirtualdesignisdevelopedinnewareaofresearchinrecentyears,VirtualIntelligentControlLaboratoryisagoodteachingtoolofIntelligentControlEducation.Inviewoftheneedfortraditionallaboratoryequipment,funds,spaceandotherissues,usingvirtuallaboratoryforexperimentalteachinginalargeextentthecostsavings,whilepeoplewillbeabletobepletedtheexperimenttoseeresults,butalsoimproveefficiency,savetimebyusingputer.Themainissueistheestablishmentofavirtualintelligentcontrolcanbesimulatedlaboratoryequipmentis“THJ-2advancedprocesscontrolsystemexperimental”madebyTianhuangpany.Thedesignisconsistsofthreemainparts:the3DVirtualLaboratorymodeling,thesimulationofintelligentcontrol,thegraphicaluserinterfaces(GUI).Therealizationofthespecificprocess,byusingofVRMLlanguagetopletethevirtual3Dmodellaboratory;throughMATLAB'spowerfuldata-processingfunctionstodoaBPneuralnetworkcontrolexperimentsimulationandmakeGUIdesign;thefinal,usingMATLABtoletthesystempackagetoformanindependentexecutableprogram.UserscanopentheGUIinterfacepackageinterface,theGUIinterfaceintheexperiment,setparameters,andbeabletoseethesimulationcurve,theeffectofvirtualexperiments.Keywords:VirtualLaboratory,VRML,BPneuralnetworkcontroller,MATLAB目錄第1章引言11.1課題的研究背景及研究目地11.2虛擬實驗室的介紹31.2.1虛擬實驗室的概念31.2.2虛擬設(shè)計的技術(shù)基礎(chǔ)31.2.3虛擬設(shè)計的特點(diǎn)41.2.4虛擬設(shè)計的優(yōu)點(diǎn)51.3課題研究的主要內(nèi)容5第2章VRML虛擬實驗設(shè)備設(shè)計72.1VRML技術(shù)基礎(chǔ)知識72.1.1VRML技術(shù)概述82.1.2VRML文件組成82.1.3VRML節(jié)點(diǎn)簡介82.2實驗裝備簡介112.3虛擬實驗室的設(shè)計112.3.1部分元件設(shè)計及程序.112.3.2由零件組成控制面板的小單元142.3.3各控制單元組成完整的控制面板16第3章神經(jīng)網(wǎng)絡(luò)理論173.1神經(jīng)網(wǎng)絡(luò)理論概述173.2BP神經(jīng)網(wǎng)絡(luò)18第4章基于MATLAB的BP神經(jīng)網(wǎng)絡(luò)控制器的設(shè)計及其實驗仿真204.1基于BP神經(jīng)網(wǎng)絡(luò)控制器的設(shè)計204.2BP-PID控制實驗仿真234.2.1MATLAB簡介.234.2.2BP-PID控制實驗仿真244.3圖形用戶界面(GUI)的設(shè)計324.3.1MATLAB圖形用戶界面簡介.324.3.2圖形用戶界面實現(xiàn)的功能344.3.3圖形用戶界面的實現(xiàn)過程344.4系統(tǒng)封裝374.4.1封裝目地.374.4.2MATLAB封裝具體過程38第5章結(jié)論39參考文獻(xiàn)40致謝41附錄一VRML設(shè)計部分程序42附錄二MATLAB設(shè)計GUI程序46第一章引言建筑、醫(yī)療、工業(yè)等各個方面。1.1課題的研究背景及發(fā)展方向有人認(rèn)為,809021世紀(jì)初則是虛擬現(xiàn)實技術(shù)時代。而虛擬現(xiàn)實技術(shù)的誕生可以追溯到上個世紀(jì)的六十年代。1965年,IvanSutherland在篇名為《TheUltimateDisplay包括具有交互圖形顯示、力反饋設(shè)備以及聲音提示的虛擬現(xiàn)實系統(tǒng)的基本思想,從此,人們正式開始了對虛擬現(xiàn)實系統(tǒng)的研究探索歷程。1966MIT的林肯實驗室正式開始了頭盔式顯示器HMD個HMD1970年,出現(xiàn)了第一個功能較齊全的HMD系統(tǒng)。1984年,WilliaGibson寫了一本名為Neuro-mancer他把這個世界稱為“控制空間(CyberSpace?!叭斯がF(xiàn)實基于從60年代以來所取得的一系列成就,美國的VPL公司的創(chuàng)建者JaronLamer在80年代初最后確定以虛擬現(xiàn)實(VirtualReality)一詞作為這一領(lǐng)域的專用術(shù)語。80NASA并取得了令人矚目的研究成果。1984年,NASAAmes研究中心虛擬行星探測實驗室的M.McGreevy和J.Humphries博士組織開發(fā)了用于火星探測的虛擬環(huán)境視覺顯示器,將火星探測器發(fā)回的數(shù)據(jù)輸入計算機(jī),為地面研究人員構(gòu)造了火星表面的三維虛擬環(huán)境。1990年在美國Dallas召開的SiggraphVRVR技術(shù),為VR技術(shù)的發(fā)展確定了研究方向[1]。1、協(xié)作式虛擬實驗室[2]一方面,它還沒有較好的群件。原因一是CSCW(puterSupportedCooperativeWork)尚處未成熟階段;二是協(xié)作任務(wù)的不同,開發(fā)一套普遍適用的規(guī)則較難。發(fā)生。圖1-1協(xié)作式虛擬實驗室原理圖麻省理工學(xué)院針對虛擬實驗室中的協(xié)作效果進(jìn)行了對比性研究,將21個使用過WebLab的MIT本科生分成三組:單獨(dú)組、協(xié)作組和指導(dǎo)組。實驗結(jié)果表明:人們獨(dú)自工終得出正確的解決方案。2、自適應(yīng)虛擬實驗室[2]在日常語言中,“自適應(yīng)”是指生物變更自己的習(xí)性以適應(yīng)新的環(huán)境的一種特征。直觀地說,“自適應(yīng)實驗”即指能修正自己的特征以響應(yīng)規(guī)則原理的變化,并根據(jù)學(xué)習(xí)習(xí)環(huán)境。自適應(yīng)實驗室系統(tǒng)原理框圖如圖1-2r后其輸出為yu斂,即e=y(tǒng)u-yd→0。圖1-2自適應(yīng)虛擬實驗室原理圖進(jìn)行探究,那必將會產(chǎn)生巨大的教育價值。1.2虛擬實驗室的介紹1.2.1虛擬實驗室的概念作,可以接觸最新的儀器。目前,有關(guān)虛擬實驗室的定義主要有兩種[3]:——所謂虛擬實驗是指在計算機(jī)系統(tǒng)中采用虛擬現(xiàn)實技術(shù)實現(xiàn)的各種虛擬實驗環(huán)效果等值于甚至優(yōu)于在真實環(huán)境中所取得的效果?!碌膶嶒灢阉鼈冝D(zhuǎn)化成超文本文件來擴(kuò)充實驗室。1.2.2虛擬設(shè)計的技術(shù)基礎(chǔ)[4]現(xiàn)實(VirtualRealityVR)設(shè)備生成的給人多種感官刺激和交互性操作的虛擬環(huán)境(Virtua1Environment)高級的人機(jī)交互系統(tǒng)。虛擬現(xiàn)實技術(shù)是一門由多學(xué)科交叉形成的一個全新的研究領(lǐng)域,的集成和滲透。用自然方式的交互操作,對于非沉浸式系統(tǒng)也可使用常規(guī)交互設(shè)備進(jìn)行交互操作。虛擬現(xiàn)實的概念模型如圖1-3所示:圖1-3虛擬現(xiàn)實的概念模型映出人在虛擬世界(環(huán)境)多地被應(yīng)用于科學(xué)研究,已被認(rèn)為是重要的科學(xué)探索工具。利用這項技術(shù),在新產(chǎn)品、而代之。虛擬設(shè)計是虛擬現(xiàn)實技術(shù)在機(jī)械產(chǎn)品設(shè)計方面的一個應(yīng)用。1.2.3虛擬設(shè)計的特點(diǎn)一個完整的虛擬現(xiàn)實系統(tǒng)應(yīng)包含一個逼真的三維虛擬環(huán)境和符合人們自然交互習(xí)慣的人機(jī)交互界面,具有以下幾個特點(diǎn):(1)多感知性(MultiSensory)VR系統(tǒng)具有感知視、聽、觸嗅、味覺及運(yùn)動等多種信息的能力。(2)沉浸感(Immersion)指用戶感到作為主角存在于虛擬環(huán)境并與其“融合的真實程度。(3)交互性(Interaction)指用戶通過交互設(shè)備對虛擬環(huán)境中對象的可操作程度和從環(huán)境得到反饋的自然程度。(4)自主性(Autonomy)指虛擬環(huán)境中物體可按各自的模型、屬性和規(guī)則自主運(yùn)動,物體會向力的方向移動,或翻倒、或從桌面落到地面等。(5)多信息通道性虛擬設(shè)計時,用戶除了通過視覺感受虛擬原型的信息外,還可以等其它交互設(shè)備和手段,支持更多的設(shè)計行為(建模、仿真、修改、評估、預(yù)測等)。(6)實時性虛擬設(shè)計時,設(shè)計者作為虛擬環(huán)境的參與者,與虛擬環(huán)境融為一體,可到相應(yīng)的響應(yīng),具有所見即所得的實時性。(7)—樣機(jī)制作—實驗評價—產(chǎn)品設(shè)計”“設(shè)計—加工—裝配—評價成本低、效率高,風(fēng)險小,可以迅速對市場的需要做出反應(yīng)。例如,波音777飛機(jī)的設(shè)94%93%的10縮短了近一半。1.2.4虛擬設(shè)計的優(yōu)點(diǎn)虛擬設(shè)計具有以下優(yōu)點(diǎn):(1)虛擬設(shè)計繼承了虛擬現(xiàn)實技術(shù)的所有特點(diǎn)。(2)具備仿真技術(shù)的可視化特點(diǎn),便于隨時改變輸入變量實時仿真實驗結(jié)果。(4)支持Internet(5)便于利用和補(bǔ)充各種先進(jìn)技術(shù),保持技術(shù)上的領(lǐng)先優(yōu)勢。1.3課題研究的主要內(nèi)容目標(biāo)是完成智能控制虛擬實驗室的BP神經(jīng)網(wǎng)絡(luò)控制器的設(shè)計。建立起一個虛擬實驗室,用戶能夠通過該實驗室進(jìn)行BP神經(jīng)網(wǎng)絡(luò)整定PID控制實驗。按照這種要求設(shè)計的智能控3D視覺效果、智能控制系統(tǒng)設(shè)計、各實驗圖形用戶界面設(shè)計(GUI)。圖1-4系統(tǒng)整體框架圖圖1-4中的虛擬設(shè)備由VRML進(jìn)行創(chuàng)建;控制系統(tǒng)和控制算法使用Matlab進(jìn)行設(shè)計;MATLAB制封裝整個系統(tǒng),形成一個完整的模塊。第二章VRML虛擬實驗設(shè)備設(shè)計VRML要模擬的實驗裝備,即學(xué)生做試驗的實驗裝備。本課題選用了“THJ-2型高級過程控制系統(tǒng)實驗裝置VRML部分。2.1VRML技術(shù)基礎(chǔ)知識2.1.1VRML技術(shù)概述VRML是虛擬現(xiàn)實建模語言(即VirtualRealityModelingLanguage)的簡稱,是SGI公司開發(fā)的一種3D造型和渲染的圖形描述性語言,1997年12月被國際標(biāo)準(zhǔn)化組織ISOJYCI/SC24委員會認(rèn)定為國際標(biāo)準(zhǔn)(150/IEC1472—1:1997)[6]。它采用描述性的文本VRML的三維場景。VRML的結(jié)構(gòu)類似于openGL的顯示列表,用樹狀的場景圖來描述三維世界。場景圖內(nèi)部消息通道很方便地實現(xiàn)虛擬實體的交互和動畫等功能。圖2-1VRML文件實現(xiàn)過程VRML用于互聯(lián)網(wǎng),是以虛擬現(xiàn)實為特征的3DWeb技術(shù)的核心。VRML為稱為繼HTML之后的第二代Web可以構(gòu)建虛擬境界,也可以集成文本、圖像、音響、影像等多種媒體類型。2.1.2VRML文件組成VRML文件是一個后綴名為.wrl[7]的各部分進(jìn)行注釋說明。(1)文件頭文件頭是VRML文件的標(biāo)志,所有2.0版本的VRML文件都以這行文字打頭。“#VRMLv2.0utf8”。其中#VRML告訴打開該文件的瀏覽器該文件是一個VRML文件;V2.0表示該VRML文件的版本號是2.0;utf8表示該文件采用的是國際UTF—8編碼方案。UTF—8是一個廣泛支持多種語言的字符集,由國際標(biāo)準(zhǔn)化組織150/IEC1472—1:1997標(biāo)準(zhǔn)所定義。(2)我們可以使用VRML提供的結(jié)點(diǎn)描述語言來設(shè)計三維對象的各種屬性。(3)原型節(jié)點(diǎn)的原型是節(jié)點(diǎn)對其中的域(field)、入事件(eventIn)和出事件(eventOut)的聲明。通過自定義原型(PROTO)可以對標(biāo)準(zhǔn)節(jié)點(diǎn)進(jìn)行組合,提供新的節(jié)點(diǎn)類型。(4)事件指按照定義的路由,由一個節(jié)點(diǎn)發(fā)往另一個節(jié)點(diǎn)的消息。事件標(biāo)志著外部改變,出事件是節(jié)點(diǎn)向外界報告自身狀態(tài)的出口。事件由一個時間戳和一個域值組成。(5)路由指產(chǎn)生該事件和接收該事件的節(jié)點(diǎn)之間的連接。路由的作用在于將各個不同的節(jié)點(diǎn)綁定在一起以使虛擬空間具有動感和交互性。(6)注釋在VRML文件中允許編寫者在文件的任何部分進(jìn)行注釋說明,以增強(qiáng)該文件VRML“#”(換行或Carriagereturn字符)VRHL文件的時候?qū)⑻^#號之后本行的所有內(nèi)容VRML文件的時候?qū)⒆詣拥睾雎訴RML文件中的所有的空格和空行。2.1.3VRML節(jié)點(diǎn)簡介節(jié)點(diǎn)(Node)VRML文件的基本單元[8]有五個方面的特征:類型、域、事件、實現(xiàn)、名字。節(jié)點(diǎn)可以命名(DEF語句),節(jié)點(diǎn)命名后可以通過USE節(jié)點(diǎn)的類型很豐富,除了自定義的節(jié)點(diǎn)類型(PROTO)以外,一共有74種節(jié)點(diǎn)類型按功能可分為組節(jié)點(diǎn)(GroupingNodes)、特殊組節(jié)點(diǎn)(Specia1GroupsNodes)、通用節(jié)點(diǎn)(monNodes)、傳感器節(jié)點(diǎn)(SensorsNodes)、幾何體節(jié)點(diǎn)(GeometryNodes)、幾何體屬性節(jié)點(diǎn)(GeometricPropertiesNodes)、外觀節(jié)點(diǎn)(AppearanceNodes)、約束節(jié)點(diǎn)(BindableNodes)、插值節(jié)點(diǎn)(InterpolatorsNodes)等九大類。通過節(jié)點(diǎn)的層層嵌套以及節(jié)點(diǎn)的定義和使用,形成整個場景圖。下面對將要用到的主要節(jié)點(diǎn)進(jìn)行簡單介紹:1)外形節(jié)點(diǎn)Shape在創(chuàng)建一個造型時,都必須使用Shape節(jié)點(diǎn)。Shape節(jié)點(diǎn)的語法為[9]:Shape{exposedFieldSFNodeappearanceNULLexPosedFieldSFNodegeometryNULL}2)變換節(jié)點(diǎn)Transform一個Transform節(jié)點(diǎn)是一個組節(jié)點(diǎn)。Transform節(jié)點(diǎn)可以是shapeGroup節(jié)點(diǎn)或TransformTransform節(jié)點(diǎn)中的所有子節(jié)點(diǎn)將在Transform節(jié)點(diǎn)的坐標(biāo)系原點(diǎn)處創(chuàng)建。如果該坐標(biāo)系的位置發(fā)生變化,則Transform節(jié)點(diǎn)內(nèi)的所有子節(jié)點(diǎn)將一同變化。Transform節(jié)點(diǎn),也可以是一個父節(jié)點(diǎn)Group或Transform節(jié)點(diǎn)的子節(jié)點(diǎn)。父節(jié)點(diǎn)的坐標(biāo)系是TransformTransform節(jié)點(diǎn)是VRML它的父坐標(biāo)系就是VRML文件的世界坐標(biāo)系。Transform節(jié)點(diǎn)的語法為:Transform{eventlnMFNodeaddChildreneventlnMFNoderemoveChildrenexPosedFieldSFVec3fcenter000exposedFieldHFNodechildren[]exPosedFieldSFRotationrotation0010exPosedFieldSFVec3fscalelllexposedFie1dSFRotationsca1e0rientation00l0exPosedFieldSFyec3ftrans1ation000fieldSFVec3fbboxCenter000fieldSFVec3fbboxsize-1-1-1}3)造型節(jié)點(diǎn)在VRML文件中存在很多的造型節(jié)點(diǎn)?;驹煨凸?jié)點(diǎn)有長方體節(jié)點(diǎn)Box、回柱體節(jié)點(diǎn)Cylinder、圓錐體節(jié)點(diǎn)Cone、球體節(jié)點(diǎn)Sphere。還有高級造型節(jié)點(diǎn),如擠出造型節(jié)點(diǎn)Extrusion、標(biāo)高網(wǎng)格造型節(jié)點(diǎn)ElevationGrid、點(diǎn)造型節(jié)點(diǎn)Pointset、線造型節(jié)點(diǎn)IndexedLineset、面造型節(jié)點(diǎn)IndexedFaceset等等.通過對這些造型節(jié)點(diǎn)進(jìn)行旋轉(zhuǎn)、組合、縮放等運(yùn)用,可以構(gòu)造出非常復(fù)雜的對象。下面是基本造型節(jié)點(diǎn)和Extrusion、IndexedFaceset節(jié)點(diǎn)的作用和語法介紹。IndexedFaceset節(jié)點(diǎn):通過對面的描述來構(gòu)造幾何體。由于一個任意形狀的幾何體節(jié)點(diǎn)語法為:IndexedFaceset{eventlnMFInt32set_colorlndexeventlnMFInt32set_coordlndexeventlnMFInt32set_normallndexeventlnMFInt32set_texCoordlndexexPosedFieldSFNodecolorNULLexPosedField5FNodecoordNULLexPosedFieldSFNodenorma1NULLexPosedFieldSFNodetexCoordNULLfieldSFBoolccwTRUEfieldMFInt32colorlndex[]fieldSFBoo1ColorPerVertexTRUEfieldSFBoolconvexTRUEfieldMFInt32coordlndex[]fieldSFFloatcreaseAngle0fieldMFInt32normallndex[]fieldSFBoolnorma1PeryertexTRUEfieldSFB001solidTRUEfieldMFInt32texCoordlndex[]}4)父節(jié)點(diǎn)、子節(jié)點(diǎn)VRMLchildrenchildren域的域值為這個節(jié)點(diǎn)的子節(jié)點(diǎn),而該節(jié)點(diǎn)稱為children域中的節(jié)點(diǎn)的父節(jié)點(diǎn)。例如,Transform節(jié)點(diǎn)中的childrenTransformTransform節(jié)點(diǎn)是它們的父節(jié)點(diǎn)。2.2實驗裝備簡介智能控制虛擬實驗設(shè)備模擬的是天煌教儀生產(chǎn)的“THJ-2型高級過程控制系統(tǒng)實驗裝置”380V220V成。2.3實驗裝備部分元件的設(shè)計Vrml.pad再運(yùn)行得到所需的3D圖像。用VRML語言編寫程序,然后調(diào)試,得到所需圖像。2.3.1部分元件設(shè)計及程序(1)插孔的設(shè)計及程序的編寫程序如下:#VRMLV2.0utf8Group{children[Transform{children[Shape{appearanceAppearance{materialMaterial{diffuseColor000}}geometryCylinder{radius1.5height5.01}}Transform{childrenShape{appearanceAppearance{materialMaterial{diffuseColor001}}geometryCylinder{radius2height5}}}Transform{childrenShape{appearanceAppearance{materialMaterial{diffuseColor001}}geometryCylinder{radius1.2height5.02}}}Transform{childrenShape{appearanceAppearance{materialMaterial{diffuseColor000}}geometryCylinder{radius1.0height5.03}}}]}]}圖2-2插孔的最終形成圖像(2)旋鈕開關(guān)的設(shè)計及程序旋鈕開關(guān)是由一個圓柱、一個長方體疊加而成,具體的編寫程序如下:#VRMLV2.0utf8Group{children[Transform{translation04-20rotation1000.262scale10.51children[Shape{appearanceAppearance{materialMaterial{diffuseColor100}}geometryCylinder{radius2height1.5}},Transform{scale0.20.31translation010childrenShape{appearanceAppearance{materialMaterial{diffuseColor011}}geometryBox{size555}}}]}]}圖2-3旋鈕開關(guān)形成圖像2.3.2由零件組成控制面板的小單元整個控制面板由電源控制器、變頻器面板、智能位式調(diào)節(jié)儀面板、比值器/前饋—合過程。變頻器面板由變頻器,3個顏色各異的大插孔,7個顏色各異的小插孔以及一個電源作過程不做贅述。各部件的組合過程是通過控制3D造型進(jìn)行平移,旋轉(zhuǎn)以及比例縮放。這些功能都是通過TransformTransform節(jié)點(diǎn)都創(chuàng)建一個相對己有坐的VRML虛擬場景。Transform節(jié)點(diǎn)同Group節(jié)點(diǎn)一樣是編組節(jié)點(diǎn),其語法定義如下:Transform{#exposedFieldMFNodechildren[]#exposedFieldSFVec3ftranslation0.00.00.0#exposedFieldSFRotationrotation0.00.00.0#exposedFieldSFVec3fscale1.01.01.0#exposedFieldSFRotationscaleOrientation0.00.01.00.0#fieldSFVec3fbboxCenter0.00.00.0#fieldSFVec3fbboxSize-1.0-1.0-1.0#exposedFieldSFVec3fcenter0.00.00.0#eventInMFNodeaddChildren#eventInMFNoderemoveChildrentranslation域的域值指定了在父坐標(biāo)系的原點(diǎn)和新坐標(biāo)系的原點(diǎn)之間XYZ方向XY為Z方向上的距離。該域值既可正,也可為負(fù),只是方向相反而已。該域值的缺省值為0.00.00.0,表示個方向的距離為0,新坐標(biāo)系和父坐標(biāo)系重合。rotation個該域值所設(shè)定的旋轉(zhuǎn)角度。該域的前三個值為一個三維梭鏢的X,Y,Z分量,該三維度為計量單位的旋轉(zhuǎn)角度。該域值的缺省值為0.00.01.00.0,表示以Z軸為旋轉(zhuǎn)軸,但不發(fā)生旋轉(zhuǎn)[9]。scale域的域值指定了新坐標(biāo)系在XYZ為X,Y,Z方向的縮放系數(shù)。該域值的缺省值為1.01.01.0,表示在X,Y,Z方向上沒有縮放。利用Transform節(jié)點(diǎn)的這些域進(jìn)行調(diào)整,最終可以將各零部件組成完整的單元。組合好的變頻器面板如圖2-5所示:圖2-5變頻器面板的3D造型2.3.3各控制單元組成完整的控制面板VRML來實現(xiàn)這些文字或照片貼在做好的單元主體上,再把之前做好的各零部件通過Transform節(jié)點(diǎn)放置在照片而且零部件的定位也更加容易和準(zhǔn)確,這是預(yù)期結(jié)果圖。圖2-6控制面板的造型第三章神經(jīng)網(wǎng)絡(luò)理論BP(BackPropagation)神經(jīng)網(wǎng)絡(luò)模型是神經(jīng)網(wǎng)絡(luò)模型中使用最廣泛的一種。由于BP下BP神經(jīng)網(wǎng)絡(luò)。3.1神經(jīng)網(wǎng)絡(luò)理論概述人工神經(jīng)網(wǎng)絡(luò)(ArtificialNeuralNetworks簡稱ANN)是也簡稱為神經(jīng)網(wǎng)絡(luò)(NNs)或稱作連接模型(ConnectionistModel是對人腦或自然神經(jīng)網(wǎng)絡(luò)(NaturalNeuralNetwork)若干基本特性的抽象和模擬[10]。它由大量的、同時也是很絡(luò)研究專家,第一家神經(jīng)計算機(jī)公司的創(chuàng)立者與領(lǐng)導(dǎo)人HechtNielsen給人工神經(jīng)網(wǎng)絡(luò)“人工神經(jīng)網(wǎng)絡(luò)是由人工建立的以有向圖為拓?fù)浣Y(jié)構(gòu)的動態(tài)系統(tǒng),它通人工神經(jīng)網(wǎng)絡(luò)的研究,可以追溯到1957年Rosenblatt提出的感知器模型(Perceptron—AI(ArtificialIntelligence30余年來卻并未取得人工智能那樣巨大的成功,中間經(jīng)歷了一段長時間的蕭條。直到80年代,獲得了關(guān)于人工神經(jīng)網(wǎng)絡(luò)切實可行的算法,以及以VonNeumann體系為依托的傳BP算法,Hopfield網(wǎng)絡(luò)模型,自適應(yīng)共振理論,自組織特征映射理論等。人工神經(jīng)網(wǎng)絡(luò)是在現(xiàn)代神經(jīng)科學(xué)的基礎(chǔ)上提出來的[11]。它雖然反映了人擬。神經(jīng)網(wǎng)絡(luò)的研究可以分為理論研究和應(yīng)用研究兩大方面。理論研究可分為以下兩類:1).利用神經(jīng)生理與認(rèn)知科學(xué)研究人類思維以及智能機(jī)理。2)開發(fā)新的網(wǎng)絡(luò)數(shù)理理論,如:神經(jīng)網(wǎng)絡(luò)動力學(xué)、非線性神經(jīng)場等。應(yīng)用研究可分為以下兩類:12網(wǎng)絡(luò)理論本身以及相關(guān)理論、相關(guān)技術(shù)的不斷發(fā)展,神經(jīng)網(wǎng)絡(luò)的應(yīng)用定將更加深入。神經(jīng)網(wǎng)絡(luò)具有以下特點(diǎn)[12]:(1)可以充分逼近任意復(fù)雜的非線性關(guān)系;(2)所有定量或定性的信息都等勢分布貯存于網(wǎng)絡(luò)內(nèi)的各神經(jīng)元,故有很強(qiáng)的魯棒性和容錯性;(3)采用并行分布處理方法,使得快速進(jìn)行大量運(yùn)算成為可能;(4)可學(xué)習(xí)和自適應(yīng)不知道或不確定的系統(tǒng);(5)能夠同時處理定量、定性知識。3.2BP神經(jīng)網(wǎng)絡(luò)基于誤差反向傳播(ErrorBackPropagation)算法的多層前饋網(wǎng)絡(luò)(MultipleLayerFeedforwardNetwork)(簡稱BP網(wǎng)絡(luò)),可以以任意精度逼近任意的連續(xù)函數(shù),所以廣泛應(yīng)用于非線性建模、函數(shù)逼近、模式分類等方面[13]。雖然BP神經(jīng)網(wǎng)絡(luò)完整的理論。的網(wǎng)絡(luò)必須是具有隱層的多層神經(jīng)網(wǎng)絡(luò)。BP間層各神經(jīng)元;中間層是內(nèi)部信息處理層,負(fù)責(zé)信息變換,根據(jù)信息變化能力的需求,BPXi通過中間節(jié)點(diǎn)(隱層點(diǎn))作用于輸出節(jié)點(diǎn),經(jīng)過非線形變換,產(chǎn)生輸出信號Yk,網(wǎng)絡(luò)訓(xùn)練的每個樣本包括輸入向量X和期望輸出量T,網(wǎng)絡(luò)輸出值Y與期望輸出值T之間的偏差,通過調(diào)整輸入節(jié)點(diǎn)與隱層節(jié)點(diǎn)的聯(lián)接強(qiáng)度取值Wij和隱層節(jié)點(diǎn)與輸出節(jié)點(diǎn)之間的聯(lián)接強(qiáng)度Tjk以及閾值,使誤差沿梯度方小的經(jīng)過非線形轉(zhuǎn)換的信息。BP[14]。第四章基于MATLAB的BP神經(jīng)網(wǎng)絡(luò)控制器的設(shè)計及其實驗仿真此為本次設(shè)計的核心部分,這次虛擬實驗室的實驗控制器采用BP神經(jīng)網(wǎng)絡(luò)控制器可以得到學(xué)習(xí)的效果。4.1基于BP神經(jīng)網(wǎng)絡(luò)控制器的設(shè)計PID控制要取得較好的控制效果,就必須通過調(diào)整好比例、積分和微分三種控制作,力,可以通過對系統(tǒng)性能的學(xué)習(xí)來實現(xiàn)具有最佳組合的PID控制。采用BP網(wǎng)絡(luò),可以建立參數(shù)Kp,Ki,Kd自學(xué)習(xí)的PID控制器[15]?;贐P(Backpropagation)網(wǎng)絡(luò)的PID控制系統(tǒng)結(jié)構(gòu)如圖4-1所示,控制器由兩部分構(gòu)成:圖4-1BP網(wǎng)絡(luò)結(jié)構(gòu)(1)經(jīng)典的PID控制器,直接對被控對象進(jìn)行閉環(huán)控制,并且三個參數(shù)Kp,Ki,Kd為在線調(diào)整方式;(2PIDPID控制器的三個KpKiKd通過神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)、加權(quán)系數(shù)調(diào)整,使神經(jīng)網(wǎng)絡(luò)輸出對應(yīng)于某種最優(yōu)控制律下的PID控制器參數(shù)。經(jīng)典增量式數(shù)字PID的控制算法如下(4.1)為:(4.1)式中,Kp,Ki,Kd分別為比例、積分、微分系數(shù)。網(wǎng)絡(luò)輸入層的輸入為:j=1,2,…M(4.2)式中,輸入變量的個數(shù)M取決于被控系統(tǒng)的復(fù)雜程度。網(wǎng)絡(luò)隱含層的輸入、輸出為:(4.3)(i=1,…Q)—隱含層加權(quán)系數(shù);上角標(biāo)(1)、(2)、(3)分別代表輸入層、隱層和輸出層。隱層神經(jīng)元的活化函數(shù)取正負(fù)對稱的Sigmoid函數(shù):(4.4)網(wǎng)絡(luò)輸出層的輸入輸出為:(l=1,2,3)(4.5)輸山層輸出節(jié)點(diǎn)分別對應(yīng)三個可調(diào)參數(shù)KpKiKdKpKiKd不以輸出層神經(jīng)元的活化函數(shù)取非負(fù)的Sigmoid函數(shù)。(4.6)取性能指標(biāo)函數(shù)為:(4.7)E(k并附加使搜索快速收斂全局極小的慣性項。(4.8)式中,η為學(xué)習(xí)速率;α為慣性系數(shù)。(4.9)(4.10)習(xí)速率η來補(bǔ)償。(4.11)由式(4.1)和式(4.5),可求得:(4.12)(4.13)上述分析可得網(wǎng)絡(luò)輸出層權(quán)的學(xué)習(xí)算法為:(4.14)(l=1,2,3)(4.15)同理可得隱含層加權(quán)系數(shù)的學(xué)習(xí)算法:(4.16)(4.17)式中,(4.18)基于BP網(wǎng)絡(luò)的PID控制器結(jié)構(gòu)如圖4-2所示,該控制器控制算法歸納如下[15]:(1)確定BP網(wǎng)絡(luò)的結(jié)構(gòu),即確定輸入層點(diǎn)數(shù)M和隱含層節(jié)點(diǎn)數(shù)Q,并給出各層加權(quán)系數(shù)的初值和,選定學(xué)習(xí)速率η和慣性系數(shù)α,此時k=1;(2)采樣得到rin(kyout(kerror(k)=rin(k-yout(k(3)計算神經(jīng)網(wǎng)絡(luò)NNNN輸出層的輸出即為PID控制器的三個可調(diào)參數(shù)Kp,Ki,Kd;(4)根據(jù)式(4.12)計算PID控制器的輸出u(k);(5)進(jìn)行神經(jīng)網(wǎng)絡(luò)學(xué)習(xí),在線調(diào)整加權(quán)系數(shù)和,實現(xiàn)PID控制參數(shù)的自適應(yīng)調(diào)整;(6)置k=k+1,返回到(1圖4-2基于BP網(wǎng)絡(luò)的PID控制器結(jié)構(gòu)模型4.2BP-PID控制實驗仿真BP-PID控制實驗仿真是在MATLAB中完成的,主要借助于MATLAB中M文件的實現(xiàn),編寫M文件程序,調(diào)試并運(yùn)行得出仿真曲線。4.2.1MATLAB簡介MATLAB是美國MathWorks公司開發(fā)的用于教育、工程與科學(xué)計算的軟件產(chǎn)品,它向MATLAB已經(jīng)擁有了控制、信號處理、圖像處理、聲音處理、系統(tǒng)建模等諸多領(lǐng)域的計算和圖形顯示功能,點(diǎn)[16]。MATLAB提供了一種用于編程的高級語言——M語言[17]。M語言是一種面向科學(xué)與工程計算的高級語言,其最大的特點(diǎn)是簡單和直接。它允許用數(shù)學(xué)形式的語言編寫程序,且比BASIC、FORTRAN和C等語言更加接近我們書寫計算公式的思維方式,用其編程猶如MATLAB的程序文件和腳本文件通常保存為后綴為“.m”M文件。M文件實際上是一個命令集,其語法規(guī)則與C語言幾乎完全一樣。M文件以ASCHMATLAB的M文件編輯器創(chuàng)建和編輯,也可以用其它的文本編輯器。MATLAB主要由MATLAB主程序、Simulink動態(tài)仿真系統(tǒng)和功能各異的MATLAB工具箱(Toolbox)三大部分組成。其中主程序包括了MATLAB語言、開發(fā)環(huán)境、圖形句柄、數(shù)學(xué)函數(shù)庫和應(yīng)用程序接口五個部分。MATLAB(例如,C和FORTRAN語言)個簡單、易用的開發(fā)環(huán)境中,為用戶工作平臺的管理和數(shù)據(jù)的輸入/輸出提供了便利的方法,同時還提供了M文件的擴(kuò)展和管理工具。這次本人的設(shè)計用的是MATLABR2007a這個版本,這個版本是美國MathWorks公司2007年出的軟件。MATLABMATLAB的圖形用戶界面的設(shè)計、M文件的編寫和MATLAB的LCC封裝部分。4.2.2BP-PID控制實驗仿真利用BP神經(jīng)網(wǎng)絡(luò)可以解決很多有關(guān)非線性系統(tǒng)的問題,如函數(shù)逼近、系統(tǒng)辨識等。設(shè)被控對象的近似數(shù)學(xué)模型為:式中,系數(shù)是慢時變的,。神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)選如圖4-5-3,學(xué)習(xí)速率η=0.25和慣性系數(shù)α=0.05,加權(quán)系數(shù)初估值取區(qū)間[0.5,0.5]上的隨機(jī)數(shù)。輸入指令信號分為兩種:(1)rin(k)=1.0(2)rin(k)=sin(2πt)取S=1時為階躍跟蹤,S=2權(quán)值代替隨機(jī)值。但是由于可調(diào)參數(shù)KpKiKd均取非負(fù)的Sigmoid01算法的應(yīng)用具有局限性。跟蹤結(jié)果和相應(yīng)的曲線如圖4-3至圖4-8所示。圖4-3階躍響應(yīng)曲線(S=1)圖4-4參數(shù)自適應(yīng)是整定曲線圖4-5跟蹤誤差曲線圖4-6正弦跟蹤曲線(S=2)圖4-7參數(shù)自適應(yīng)整定曲線圖4-8跟蹤誤差曲線仿真程序如下:shiyan.m%BPbasedPIDControlclearall;closeall;xite=0.25;alfa=0.05;S=1;%SignaltypeIN=4;H=5;Out=3;%NNStructureifS==1%StepSignalwi=[-0.6394-0.2696-0.3756-0.7023;-0.8603-0.2013-0.5024-0.2596;-1.07490.5543-1.6820-0.5437;-0.3625-0.0724-0.6463-0.2859;0.14250.0279-0.5406-0.7660];%wi=0.50*rands(H,IN);wi_1=wi;wi_2=wi;wi_3=wi;wo=[0.75760.26160.5820-0.1416-0.1325;-0.11460.29490.83520.22050.4508;0.72010.45660.76720.49620.3632];%wo=0.50*rands(Out,H);wo_1=wo;wo_2=wo;wo_3=wo;endifS==2%SineSignalwi=[-0.28460.2193-0.5097-1.0668;-0.7484-0.1210-0.47080.0988;-0.71760.8297-1.60000.2049;-0.08580.1925-0.63460.0347;0.43580.2369-0.4564-0.1324];%wi=0.50*rands(H,IN);wi_1=wi;wi_2=wi;wi_3=wi;wo=[1.04380.54780.86820.14460.1537;0.17160.58111.12140.50670.7370;1.00630.74281.05340.78240.6494];%wo=0.50*rands(Out,H);wo_1=wo;wo_2=wo;wo_3=wo;endx=[0,0,0];u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y_3=0;Oh=zeros(H,1);%OutputfromNNmiddlelayerI=Oh;%InputtoNNmiddlelayererror_2=0;error_1=0;ts=0.001;fork=1:1:6000time(k)=k*ts;ifS==1rin(k)=1.0;elseifS==2rin(k)=sin(1*2*pi*k*ts);end%Unlinearmodela(k)=1.2*(1-0.8*exp(-0.1*k));yout(k)=a(k)*y_1/(1+y_1^2)+u_1;error(k)=rin(k)-yout(k);xi=[rin(k),yout(k),error(k),1];x(1)=error(k)-error_1;x(2)=error(k);x(3)=error(k)-2*error_1+error_2;epid=[x(1);x(2);x(3)];I=xi*wi';forj=1:1:HOh(j)=(exp(I(j))-exp(-I(j)))/(exp(I(j))+exp(-I(j)));%MiddleLayerendK=wo*Oh;%OutputLayerforl=1:1:OutK(l)=exp(K(l))/(exp(K(l))+exp(-K(l)));%Gettingkp,ki,kdendkp(k)=K(1);ki(k)=K(2);kd(k)=K(3);Kpid=[kp(k),ki(k),kd(k)];du(k)=Kpid*epid;u(k)=u_1+du(k);ifu(k)>=10%Restrictingtheoutputofcontrolleru(k)=10;endifu(k)<=-10u(k)=-10;enddyu(k)=sign((yout(k)-y_1)/(u(k)-u_1+0.0000001));%Outputlayerforj=1:1:OutdK(j)=2/(exp(K(j))+exp(-K(j)))^2;endforl=1:1:Outdelta3(l)=error(k)*dyu(k)*epid(l)*dK(l);endforl=1:1:Outfori=1:1:Hd_wo=xite*delta3(l)*Oh(i)+alfa*(wo_1-wo_2);endendwo=wo_1+d_wo+alfa*(wo_1-wo_2);%Hiddenlayerfori=1:1:HdO(i)=4/(exp(I(i))+exp(-I(i)))^2;endsegma=delta3*wo;fori=1:1:Hdelta2(i)=dO(i)*segma(i);endd_wi=xite*delta2'*xi;wi=wi_1+d_wi+alfa*(wi_1-wi_2);%ParametersUpdateu_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);y_2=y_1;y_1=yout(k);wo_3=wo_2;wo_2=wo_1;wo_1=wo;wi_3=wi_2;wi_2=wi_1;wi_1=wi;error_2=error_1;error_1=error(k);endfigure(1);plot(time,rin,'r',time,yout,'b');xlabel('time(s)');ylabel('rin,yout');figure(2);plot(time,error,'r');xlabel('time(s)');ylabel('error');figure(3);plot(time,u,'r');xlabel('time(s)');ylabel('u');figure(4);subplot(311);plot(time,kp,'r');xlabel('time(s)');ylabel('kp');subplot(312);plot(time,ki,'g');xlabel('time(s)');ylabel('ki');subplot(313);plot(time,kd,'b');xlabel('time(s)');ylabel('kd');4.3圖形用戶界面(GUI)的設(shè)計圖形用戶界面(GUI)是在MATLAB中建立的,為的是可以用戶與計算機(jī)或計算機(jī)程序的接觸點(diǎn)或交互方式交換信息。圖形用戶界面或GUI是包含圖形對象,在智能控制虛擬實驗室中,MATLAB的圖形用戶界面(GUI)的主要功能是建立一個友好快捷的用戶界面,整合實驗的相關(guān)部分,方便用戶對實驗的操作和控制。所以GUI的設(shè)計也是本次課題十分重要的組成部分。4.3.1MATLAB圖形用戶界面簡介MATLAT一向注重數(shù)據(jù)的圖形表示,并不斷地采用新技術(shù)改進(jìn)和完備其可視化功能.作為一個優(yōu)秀的科技應(yīng)用型軟件,MATLAB在數(shù)據(jù)可視化方面有著很強(qiáng)的功能[17]MATLAB編寫圖形生成文件[18]。界面功能的有效性來選擇計算機(jī)或程序。MATLAB提供了圖形用戶界面(GraphicalUserInterfaces,GUI)的設(shè)計與開發(fā)功能.個用戶界面,利用這些界面,用戶可以和計算機(jī)之間進(jìn)行信息交流。MATLAB中的基本圖形用戶界面對象分為三類:用戶界面控件對象(uicontrol)、下拉式菜單對象(uimenu)和內(nèi)容式菜單對象(uicontextmenu)uicontrol對象能建uimenu能建立下拉式菜單和子菜單等圖形用戶界面對象,uicontextmenu能建立內(nèi)容式菜單用戶界面對象(類似Visua1C++等程序設(shè)計軟件中的彈出式菜單)。MATLAB中的GUI對象層次結(jié)構(gòu)如圖4-9所示:圖4-9GUI對象層結(jié)構(gòu)個Uimenu對象、uicontextmenu對象、Uicontrol對象或坐標(biāo)軸(Axes)對象,每個Uimenu、Uicontextmenu對象可包含一個或多個Uimenu、Uicontextmenu子對象,Uicontrol對象雖無子對象結(jié)點(diǎn),但它也有多種類型,如按鈕框、檢驗框、文本框、編輯框等,所有其他對象都是坐標(biāo)軸的子對象,并且在坐標(biāo)軸上顯示。通過利用從ATLAB能強(qiáng)大的圖形用戶界面。4.3.2圖形用戶界面實現(xiàn)的功能在智能控制虛擬實驗室中,MATLAB的圖形用戶界面(GUI)的主要功能是建立一個GUI界面的設(shè)計為例,其實現(xiàn)的主要功能如下[18]:1.“實驗指導(dǎo)Word文檔,查看實驗的目的和具體的操作步驟或源程序。2.建立與VRML“瀏覽實驗裝置置瀏覽觀看。3.建立BP按鈕用戶可以對仿真圖進(jìn)行查看及對比。4.點(diǎn)擊“清空曲線”按鈕可將曲線清除。4.3.3圖形用戶界面的實現(xiàn)過程GUI實現(xiàn)的功能及實現(xiàn)過程:1.打開Word文檔改成查看源程序及實驗指導(dǎo)實現(xiàn)與word文檔的交互,制作按鈕,單擊可以直接打開實驗指導(dǎo)書。通過GUI的按鈕設(shè)計達(dá)到此要求。在GUI界面中,加入實驗指導(dǎo)按鈕,通過對其單擊,打開一個Word文檔對實驗進(jìn)行驟,方便用戶進(jìn)行實驗。通過M文件與Word文檔進(jìn)行交互,首先需要建立一個word文檔對實驗進(jìn)行說明,文件命名為1.docwordMATLAB中的winopen語句打開word過以下語句可以創(chuàng)建一個實驗指導(dǎo)按鈕打開實驗指導(dǎo):functionpushbutton1_Callback(hObject,eventdata,handles)winopen('F:\學(xué)習(xí)\畢業(yè)設(shè)計\李慧慧\論文\1.doc')2.建立與VRML的交互虛擬現(xiàn)實工具箱(Virtua1Rea1ityToolbox)為能在一個三維虛擬現(xiàn)實環(huán)境中進(jìn)行可視化操作和與動態(tài)系統(tǒng)進(jìn)行交互提供了一種有效的解決方案[19]VRML技術(shù),就可以通過MATLAB生成三維場景,在MATLAB的命令窗口中直接輸入命令或使用M文件來控制虛擬世界。本次我選用M文件來設(shè)計控制VR,這樣實現(xiàn)起來相對簡單。也可構(gòu)成總體性。虛擬現(xiàn)實工具箱中的對象分為vrworld對象、vrnode對象和vrfigure對象三種。vrworld對象是虛擬場景的句柄。表4-1為vrworld對象的方法。通過這些方法,可以與場景交互并控制場景。vrnode對象是VRML節(jié)點(diǎn)的句柄。vrnode對象是vrworld對象的子對象。vrfigure的屬性。方法描述vrworld創(chuàng)建一個虛擬世界相關(guān)的vrworld新對象vrworld/close關(guān)閉虛擬對象vrworld/delete從內(nèi)存中刪除虛擬世界vrworld/open打開虛擬世界vrworld/save從虛擬世界寫到VRML文件vrworld/view查看虛擬世界vrworld/get讀取vrworld對象的屬性值vrworld/set改變vrworld對象的屬性值vrworld/reloand從相關(guān)vrml文件中重新載入虛擬世界表4-1vrworld對象的方法安裝虛擬現(xiàn)實工具箱時,將虛擬現(xiàn)實工具箱提供的VRML查看器設(shè)置為默認(rèn)查看器。法和渲染方式等。通過MvrworldVRMLbiaoti.wrl以創(chuàng)建一個vrworld對象。其完整的創(chuàng)建語句為:shiyan=vrworld('biaoti.wrl');創(chuàng)建完vrworld對象以后,需要打開虛擬世界,其目的是為了可以在VRML查看器中MATLAB世界biaoti.wrl連接的vrworld對象的語句為:open(vrml);在完成了vrworld對象的創(chuàng)建和打開虛擬世界以后,就可以通過view(vrml)語句,用默認(rèn)的查看器打開和顯示虛擬世界biaoti.wrl“瀏覽實驗裝置按鈕中的callback屬性中,即實現(xiàn)了點(diǎn)擊按鈕彈出3D實驗裝備的效果:functionpushbutton10_Callback(hObject,eventdata,handles)vrml=vrworld('biaoti.wrl');open(vrml);view(vrml)%hObjecthandletopushbutton10(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)3.查看曲線用M文件回調(diào)函數(shù)來實現(xiàn)仿真曲線可以通過GUI中的Axes組件直接在GUI果:實驗者可以同時看到不同輸入函數(shù)的控制的曲線,我在GUI界面上放置了兩組Axes組件。調(diào)出曲線的方法仍是通過點(diǎn)擊相應(yīng)的兩個按鈕來實現(xiàn)。達(dá)到預(yù)期效果的重點(diǎn)在于按鈕回調(diào)函數(shù)的編寫,我編寫這兩個回調(diào)函數(shù)的思想是:這樣能夠避免在不同組件中調(diào)用全局變量的麻煩。選擇坐標(biāo)軸的語句為:axes(handles.axes)其中handles.axesGUIDE輔助設(shè)計GUI的一個好處,所有的交互組件都有一個統(tǒng)一格式的句柄—handles.tag。tag為該交互組件的標(biāo)簽名。利用全命令行的M文件編程則沒有這么方便,在調(diào)用任何一個交互組件時都需要預(yù)先設(shè)定其句柄,容易造成混亂。4.清空曲線是清除所有曲線和輸入數(shù)據(jù)單擊“清空曲線”后,輸出的波形和輸入數(shù)據(jù)都在GUI上清除,程序如下:functionpushbutton3_Callback(hObject,eventdata,handles)axes(handles.axes1);cla;axes(handles.axes2);cla;axes(handles.axes3);cla;axes(handles.axes4);cla;axes(handles.axes5);cla;axes(handles.axes6);cla;axes(handles.axes7);cla;axes(handles.axes8);cla;set(handles.edit1,'string','');set(handles.edit2,'string','');5GUI等。與對應(yīng)的部件相對應(yīng)起來,形成完整的可執(zhí)行GUI。最終形成的GUI主界面如圖4-10所示:圖4-10GUI界面4.4系統(tǒng)的封裝室所提供的虛擬實驗服務(wù),實現(xiàn)虛擬實驗的各種功能。4.4.1封裝目的在進(jìn)行過3D模型的建立,具體實驗環(huán)節(jié)的設(shè)計,GUI的設(shè)計等工作之后,虛擬實驗要打開MATLAB達(dá)到預(yù)期的目的,還需要將之前已經(jīng)做好的MATLAB的GUI相關(guān)文件封裝成可執(zhí)行程序,用戶只需運(yùn)行這個程序,就能夠打開MATLAB并調(diào)出相應(yīng)的GUI界面,直接開始實驗。4.4.2MATLAB封裝具體過程生成exe文件,對gui.m和gui.fig進(jìn)行打包[20]。1)設(shè)置編譯器:在確定安裝好MatlabpilerpilerMatlab命令窗口輸入:Mbuild–setup,按提示選擇matlab自帶編譯器LCC。2)將腳本編譯為可執(zhí)行文件:如項目文件包含:gui.m,gui.gif在此路徑下命令行輸入:mcc–mgui.m,生成:mccExcludedFiles.log,readme.txtgui.ctfgui.prjgui_main.cgui_mcc_ponent_data.cgui.exegui_mcr。其中:gui.ctf,gui.exe為脫離matlab環(huán)境運(yùn)行必需的文件。3)在未安裝matlab的機(jī)器上運(yùn)行可執(zhí)行程序。將R22007b\toolbox\piler\deploy\win32中的MCRinstaller.exe安裝到該計算機(jī)上,將生成可執(zhí)行程序脫離matlab運(yùn)行所需的函數(shù)庫。將2)中生成的gui.ctf,gui.exe拷貝到該計算機(jī)同一路徑。運(yùn)行g(shù)ui.exe將生成gui_mcr文件夾,包含程序運(yùn)行所需的庫。4)去除獨(dú)立可執(zhí)行程序運(yùn)行時的“DOS黑窗口。以上生成的exe程序運(yùn)行時首先彈出一個DOS誤信息,可將其去除。matlab命令行輸入:cd(prefdir)editpopts.bat此時popts.bat打開,在文件最后添加:setLINKFLAGS=%LINKFLAGS%-subsystemwindows即可。第五章結(jié)論樂趣,可快捷的進(jìn)行實驗。實驗設(shè)備、智能控制系統(tǒng)設(shè)計、各實驗圖形用戶界面設(shè)計(GUI)。虛擬設(shè)備由VRML進(jìn)行Matlab的M文件來設(shè)計基于BP神經(jīng)網(wǎng)絡(luò)的PIDM文件設(shè)計各實驗的圖形用戶界面將虛擬實驗設(shè)備和智能控制系統(tǒng)、win32最后MATLAB在虛擬環(huán)境下進(jìn)行智能控制實驗的目的,并且可以通過GUI進(jìn)行實驗觀察對比,通過改變α,η的值來查看曲線,查看控制效果并進(jìn)行對比實驗。參考文獻(xiàn)[1]張茂軍。虛擬現(xiàn)實系統(tǒng)[M]。北京:科學(xué)出版社,2001.9[2]蘇金明,黃國明,劉波。MATLAB與外部程序接口。[M]北京:電子工業(yè)出版社,2004.1[3]R.Bise,N.TakahashiandT.Nishi,“OntheDesignMethodofCellularNeuralNetworksforAssociateMemoriesBasedonGeneralizedEigenvalueProblem”IntelWorkshoponCellularNeuralNetworksandTheirApplications2002[4]張家祥,方凌江,毛全勝。基于MATLAB6.x的系統(tǒng)分析與設(shè)計——虛擬現(xiàn)實[M電子科技大學(xué)出版社,2002.9[5]曾芬芳主編,虛擬現(xiàn)實技術(shù)[M]。上海交通大學(xué)出版社,1999-6[6]Wen-huachen,DonaldJ.Balance,PeterJ.GawthopJohnO’Reily。ANonlinearDisturbanceObserverforRoboticManipulators。IEEETransactionsonIndustrialEletronics,2000,47(4):932~938[7]賽博科技工作室編。VRML與Java編程技術(shù)。北京:人民郵電出版社,2002[8]WeiminGe,ZuoliangCao,shagnxianPeng。ATeleroboticSystemBasedonVirtualRealityTechnique[A]。ProceedingsofVirtualRealityApplicationinIndustry[C]。USA:SPIE,Oct,2003[9]常曉麗?;贛atlab的BP神經(jīng)網(wǎng)絡(luò)設(shè)計[J]。機(jī)械工程與自動化,2006,(04)[10]蒲春,孫政順。Matlab神經(jīng)網(wǎng)絡(luò)工具箱BP算法比較[J]。計算機(jī)仿真,2006[11]MATLAB6.5輔助神經(jīng)網(wǎng)絡(luò)與設(shè)計。電子工業(yè)出版社,2002[12]姚俊,馬松輝。Simulink建模與仿真。西安:西安電子科技大學(xué)出版社,2002[13]WeiLiu,JingtongMatlab’sdesign。0719318,9787900719317[14]陳宇,鄭紹春?;赟IMULINK和VRML的一種簡易仿真方法[J]。中國水運(yùn)。2007.8[15]VinayK.Ingle,JohnG.Proakis,DigitalsignalprocessingusingMATLAB。SciencePr.Brooks/ColePub2000ISBN7030111435,9787030111432[16]陳玉農(nóng),劉紅波。模型參考自適應(yīng)控制、模糊控制及PID控制的綜合應(yīng)用[J]。AutomationandInstrumentation,1998.1[17]戴連奎。PID控制器的參數(shù)整定與應(yīng)用問題。浙江大學(xué)智能系統(tǒng)與決策研究所,2004.3[18]MATLAB和VR2004.3[19]劉金琨。先進(jìn)PID控制MATLAB仿真[M]。北京:電子工業(yè)出版社,2004.9[20]葛哲學(xué),孫志強(qiáng)。神經(jīng)網(wǎng)絡(luò)理論與MATLABR2007實現(xiàn)。北京:電子工業(yè)出版社,2007致謝我熱情的幫助,在這里請接受我誠摯的謝意!中應(yīng)該注意的問題,讓我從知道題目,到了解內(nèi)容,到最后的獨(dú)立完成所有畢業(yè)設(shè)計,些都讓我獲益菲淺,并且將終生受用無窮。畢竟“經(jīng)師易得,人師難求,希望借此機(jī)會向歐陽老師表示最衷心的感謝!此向他們表示深深的感謝!母對我的殷殷期望!我一定會好好孝敬和報答他們!附錄一VRML設(shè)計部分程序按鈕#VRMLV2.0utf8Group{children[Transform{translation04-20rotation1000.262scale10.51children[Shape{appearanceAppearance{materialMaterial{diffuseColor100}}geometrySphere{radius1.2}}Transform{scale10.31childrenShape{appearanceAppearance{materialMaterial{diffuseColor001}}geometryCylinder{radius2height5}}}]}]}把手開關(guān)Transform{translation0.7-1.20.6scale0.630.630.63rotation1001.57children[Transform{children[Shape{appearanceDEFblackAppearance{materialMaterial{diffuseColor000}}geometryCylinder{height0.4radius0.5}}]}Transform{children[Shape{appearanceDEFyinseAppearance{materialMaterial{diffuseColor111}}geometryCylinder{height0.395radius0.53}}]}Transform{scale1.1511.4children[Shape{appearanceUSEblackgeometryExtrusion{crossSection[-0.10,-0.080.06,-0.060.08,-0.040.0916,-0.020.098,00.110.1,1.020.098,1.040.0916,1.060.08,1.080.06,1.10,1.08-0.06,1.06-0.08,1.04-0.0916,1.02-0.098,1-0.1,0-0.1,-0.02-0.098,-0.04-0.0916-0.06-0.08,-0.08-0.06,-0.10]spine[-0.50.20-0.50.70]}}]}Transform{translation-0.2500scale0.5751.010.7children[Shape{appearanceUSEyinsegeometryExtrusion{crossSection[-0.10,-0.080.06,-0.060.08,-0.040.0916,-0.020.098,00.110.1,1.020.098,1.040.0916,1.060.08,1.080.06,1.10,1.08-0.06,1.06-0.08,1.04-0.0916,1.02-0.098,1-0.1,0-0.1,-0.02-0.098,-0.04-0.0916-0.06-0.08,-0.08-0.06,-0.10]spine[-0.50.20-0.50.70]}}]}]}#大插孔的代碼Transform{translation-1.28-1.380.52scalechildren[Transform{translation0.00.00.0rotation1001.571childrenShape{appearanceAppearance{materialMaterial{diffuseColor1.01.00.0}}geometryCylinder{radius0.3height0.6}}}Transform{translation0.00.00.0rotation1001.571childrenShape{appearanceAppearance{materialMaterial{diffuseColor0.00.00.0}}geometryCylinder{radius0.19height0.605}}}Transform{translation0.00.00.0rotation1001.571childrenShape{appearanceAppearance{materialMaterial{diffuseColor1.01.00.0}}geometryCylinder{radius0.17height0.61}}}Transform{translation0.00.00.0rotation1001.571childrenShape{appearanceAppearance{materialMaterial{diffuseColor0.00.00.0}}geometryCylinder{radius0.10height0.62}}}]}附錄二MATLAB設(shè)計GUI程序functionvarargout=PID(varargin)gui_Singleton=1;gui_State=struct('gui_Name',mfilename,...'gui_Singleton',gui_Singleton,...'gui_OpeningF',@PID_OpeningF,...'gui_OutputF',@PID_OutputF,...'gui_LayoutF',[],...'gui_Callback',[]);ifnargin&&ischar(varargin{1})gui_State.gui_Callback=str2func(varargin{1});endifnargout[varargout{1:nargout}]=gui_mainf(gui_State,varargin{:});elsegui_mainf(gui_State,varargin{:});endfunctionPID_OpeningF(hObject,eventdata,handles,varargin)handles.output=hObject;guidata(hObject,handles);functionvarargout=PID_OutputF(hObject,eventdata,handles)varargout{1}=handles.output;%---Executesonbuttonpressinpushbutton1-階躍.functionpushbutton1_Callback(hObject,eventdata,handles)xite1=str2num(get(handles.edit1,'string'));alfa1=str2num(get(handles.edit2,'string'));xite=xite1;alfa=alfa1;IN=4;H=5;Out=3;%NNStructurewi=[-0.6394-0.2696-0.3756-0.7023;-0.8603-0.2013-0.5024-0.2596;-1.07490.5543-1.6820-0.5437;-0.3625-0.0724-0.6463-0.2859;0.14250.0279-0.5406-0.7660];%wi=0.50*rands(H,IN);wi_1=wi;wi_2=wi;wi_3=wi;wo=[0.75760.26160.5820-0.1416-0.1325;-0.11460.29490.83520.22050.4508;0.72010.45660.76720.49620.3632];%wo=0.50*rands(Out,H);wo_1=wo;wo_2=wo;wo_3=wo;x=[0,0,0];u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y_3=0;Oh=zeros(H,1);%OutputfromNNmiddlelayerI=Oh;%InputtoNNmiddlelayererror_2=0;error_1=0;ts=0.001;fork=1:1:6000time(k)=k*ts;rin(k)=1.0;%Unlinearmodela(k)=1.2*(1-0.8*exp(-0.1*k));yout(k)=a(k)*y_1/(1+y_1^2)+u_1;error(k)=rin(k)-yout(k);xi=[rin(k),yout(k),error(k),1];x(1)=error(k)-error_1;x(2)=error(k);x(3)=error(k)-2*error_1+error_2;epid=[x(1);x(2);x(3)];I=xi*wi';forj=1:1:HOh(j)=(exp(I(j))-exp(-I(j)))/(exp(I(j))+exp(-I(j)));%MiddleLayerendK=wo*Oh;%OutputLayerforl=1:1:OutK(l)=exp(K(l))/(exp(K(l))+exp(-K(l)));%Gettingkp,ki,kdendkp(k)=K(1);ki(k)=K(2);kd(k)=K(3);Kpid=[kp(k),ki(k),kd(k)];du(k)=Kpid*epid;u(k)=u_1+du(k);ifu(k)>=10%Restrictingtheoutputofcontrolleru(k)=10;endifu(k)<=-10u(k)=-10;enddyu(k)=sign((yout(k)-y_1)/(u(k)-u_1+0.0000001));%Outputlayerforj=1:1:OutdK(j)=2/(exp(K(j))+exp(-K(j)))^2;endforl=1:1:Outdelta3(l)=error(k)*dyu(k)*epid(l)*dK(l);endforl=1:1:Outfori=1:1:Hd_wo=xite*delta3(l)*Oh(i)+alfa*(wo_1-wo_2);endendwo=wo_1+d_wo+alfa*(wo_1-wo_2);%Hiddenlayerfori=1:1:HdO(i)=4/(exp(I(i))+exp(-I(i)))^2;endsegma=delta3*wo;fori=1:1:Hdelta2(i)=dO(i)*segma(i);endd_wi=xite*delta2'*xi;wi=wi_1+d_wi+alfa*(wi_1-wi_2);%ParametersUpdateu_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);y_2=y_1;y_1=yout(k);wo_3=wo_2;wo_2=wo_1;wo_1=wo;wi_3=wi_2;wi_2=wi_1;wi_1=wi;error_2=error_1;error_1=error(k);endaxes(handles.axes1);plot(time,rin,'b',time,yout,'r');xlabel('time(s)');ylabel('rin,yout');axes(handles.axes2);plot(time,kp,'r');xlabel('time(s)');ylabel('kp');axes(handles.axes3);plot(time,ki,'r');xlabel('time(s)');ylabel('ki');axes(handles.axes4);plot(time,kd,'r');xlabel('time(s)');ylabel('kd');%---Executesonbuttonpressinpushbutton2-正弦.functionpushbutton2_Callback(hObject,eventdata,handles)xite1=str2num(get(handles.edit1,'string'));alfa1=str2num(get(handles.edit2,'string'));xite=xite1;alfa=alfa1;IN=4;H=5;Out=3;%NNStructurewi=[-0.28460.2193-0.5097-1.0668;-0.7484-0.1210-0.47080.0988;-0.71760.8297-1.60000.2049;-0.08580.1925-0.63460.0347;0.43580.2369-0.4564-0.1324];%wi=0.50*rands(H,IN);wi_1=wi;wi_2=wi;wi_3=wi;wo=[1.04380.54780.86820.14460.1537;0.17160.58111.12140.50670.7370;1.00630.74281.05340.78240.6494];%wo=0.50*rands(Out,H);wo_1=wo;wo_2=wo;wo_3=wo;x=[0,0,0];u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y_3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年山東水發(fā)高科發(fā)展集團(tuán)有限公司第三季度社會招聘筆試參考題庫附帶答案詳解
- 電器元件培訓(xùn)
- 計件工資合同范例
- 二零二五委托擔(dān)保合同展期協(xié)議
- 2024國家能源集團(tuán)共享服務(wù)中心有限公司系統(tǒng)內(nèi)招聘15人筆試參考題庫附帶答案詳解
- 國內(nèi)快遞服務(wù)協(xié)議模板
- 眶蜂窩組織炎護(hù)理查房
- 市長質(zhì)量獎設(shè)備管理匯報
- 七中七下語文試卷及答案
- 七省聯(lián)考試卷物理及答案
- 與信仰對話 課件-2024年入團(tuán)積極分子培訓(xùn)
- 2024《整治形式主義為基層減負(fù)若干規(guī)定》全文課件
- 2024年社區(qū)工作者考試必背1000題題庫【含答案】
- SYT 0452-2021 石油天然氣金屬管道焊接工藝評定-PDF解密
- 研學(xué)旅行PPT模板
- 波峰焊工程師面試試題集
- 普通車床主軸變速箱設(shè)計及主軸箱設(shè)計說明書
- 招標(biāo)代理工作服務(wù)流程圖
- 經(jīng)典老歌簡譜100首
- 水管管徑流速流量對照表
- 三一重裝EBZ260A掘進(jìn)機(jī)各配件價格表
評論
0/150
提交評論