VR虛擬現(xiàn)實虛擬設(shè)計_第1頁
VR虛擬現(xiàn)實虛擬設(shè)計_第2頁
VR虛擬現(xiàn)實虛擬設(shè)計_第3頁
VR虛擬現(xiàn)實虛擬設(shè)計_第4頁
VR虛擬現(xiàn)實虛擬設(shè)計_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

VR虛擬現(xiàn)實虛擬設(shè)計摘要虛擬設(shè)計是近年來發(fā)展起來的一個新的研究領(lǐng)域,智能控制虛擬實驗室則是智利用虛擬實驗室進行實驗教學能夠很大程度上的節(jié)約成本,同時用戶在計算機前就能完成實驗,查看實驗結(jié)果,也能提高效率,節(jié)省時間。本課題主要是建立可以進行智能控制虛擬實驗,其模擬的是天煌教儀生產(chǎn)的“THJ-2型高級過程控制系統(tǒng)實驗裝置。本設(shè)計由三個主要部分構(gòu)成:虛擬實驗室的3D造型、智能控制實驗仿真、圖形用戶界面(GUIVRML語言完成虛擬實驗室3DMATLAB的強大數(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è)計的特點41.2.4虛擬設(shè)計的優(yōu)點51.3課題研究的主要內(nèi)容5第2章VRML虛擬實驗設(shè)備設(shè)計72.1VRML技術(shù)基礎(chǔ)知識72.1.1VRML技術(shù)概述82.1.2VRML文件組成82.1.3VRML節(jié)點簡介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參考文獻40致謝41附錄一VRML設(shè)計部分程序42附錄二MATLAB設(shè)計GUI程序46第一章引言建筑、醫(yī)療、工業(yè)等各個方面。1.1課題的研究背景及發(fā)展方向有人認為,809021世紀初則是虛擬現(xiàn)實技術(shù)時代。而虛擬現(xiàn)實技術(shù)的誕生可以追溯到上個世紀的六十年代。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。“人工現(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ù)輸入計算機,為地面研究人員構(gòu)造了火星表面的三維虛擬環(huán)境。1990年在美國Dallas召開的SiggraphVRVR技術(shù),為VR技術(shù)的發(fā)展確定了研究方向[1]。1、協(xié)作式虛擬實驗室[2]一方面,它還沒有較好的群件。原因一是CSCW(puterSupportedCooperativeWork)尚處未成熟階段;二是協(xié)作任務的不同,開發(fā)一套普遍適用的規(guī)則較難。發(fā)生。圖1-1協(xié)作式虛擬實驗室原理圖麻省理工學院針對虛擬實驗室中的協(xié)作效果進行了對比性研究,將21個使用過WebLab的MIT本科生分成三組:單獨組、協(xié)作組和指導組。實驗結(jié)果表明:人們獨自工終得出正確的解決方案。2、自適應虛擬實驗室[2]在日常語言中,“自適應”是指生物變更自己的習性以適應新的環(huán)境的一種特征。直觀地說,“自適應實驗”即指能修正自己的特征以響應規(guī)則原理的變化,并根據(jù)學習習環(huán)境。自適應實驗室系統(tǒng)原理框圖如圖1-2r后其輸出為yu斂,即e=y(tǒng)u-yd→0。圖1-2自適應虛擬實驗室原理圖進行探究,那必將會產(chǎn)生巨大的教育價值。1.2虛擬實驗室的介紹1.2.1虛擬實驗室的概念作,可以接觸最新的儀器。目前,有關(guān)虛擬實驗室的定義主要有兩種[3]:——所謂虛擬實驗是指在計算機系統(tǒng)中采用虛擬現(xiàn)實技術(shù)實現(xiàn)的各種虛擬實驗環(huán)效果等值于甚至優(yōu)于在真實環(huán)境中所取得的效果。——新的實驗并把它們轉(zhuǎn)化成超文本文件來擴充實驗室。1.2.2虛擬設(shè)計的技術(shù)基礎(chǔ)[4]現(xiàn)實(VirtualRealityVR)設(shè)備生成的給人多種感官刺激和交互性操作的虛擬環(huán)境(Virtua1Environment)高級的人機交互系統(tǒng)。虛擬現(xiàn)實技術(shù)是一門由多學科交叉形成的一個全新的研究領(lǐng)域,的集成和滲透。用自然方式的交互操作,對于非沉浸式系統(tǒng)也可使用常規(guī)交互設(shè)備進行交互操作。虛擬現(xiàn)實的概念模型如圖1-3所示:圖1-3虛擬現(xiàn)實的概念模型映出人在虛擬世界(環(huán)境)多地被應用于科學研究,已被認為是重要的科學探索工具。利用這項技術(shù),在新產(chǎn)品、而代之。虛擬設(shè)計是虛擬現(xiàn)實技術(shù)在機械產(chǎn)品設(shè)計方面的一個應用。1.2.3虛擬設(shè)計的特點一個完整的虛擬現(xiàn)實系統(tǒng)應包含一個逼真的三維虛擬環(huán)境和符合人們自然交互習慣的人機交互界面,具有以下幾個特點:(1)多感知性(MultiSensory)VR系統(tǒng)具有感知視、聽、觸嗅、味覺及運動等多種信息的能力。(2)沉浸感(Immersion)指用戶感到作為主角存在于虛擬環(huán)境并與其“融合的真實程度。(3)交互性(Interaction)指用戶通過交互設(shè)備對虛擬環(huán)境中對象的可操作程度和從環(huán)境得到反饋的自然程度。(4)自主性(Autonomy)指虛擬環(huán)境中物體可按各自的模型、屬性和規(guī)則自主運動,物體會向力的方向移動,或翻倒、或從桌面落到地面等。(5)多信息通道性虛擬設(shè)計時,用戶除了通過視覺感受虛擬原型的信息外,還可以等其它交互設(shè)備和手段,支持更多的設(shè)計行為(建模、仿真、修改、評估、預測等)。(6)實時性虛擬設(shè)計時,設(shè)計者作為虛擬環(huán)境的參與者,與虛擬環(huán)境融為一體,可到相應的響應,具有所見即所得的實時性。(7)—樣機制作—實驗評價—產(chǎn)品設(shè)計”“設(shè)計—加工—裝配—評價成本低、效率高,風險小,可以迅速對市場的需要做出反應。例如,波音777飛機的設(shè)94%93%的10縮短了近一半。1.2.4虛擬設(shè)計的優(yōu)點虛擬設(shè)計具有以下優(yōu)點:(1)虛擬設(shè)計繼承了虛擬現(xiàn)實技術(shù)的所有特點。(2)具備仿真技術(shù)的可視化特點,便于隨時改變輸入變量實時仿真實驗結(jié)果。(4)支持Internet(5)便于利用和補充各種先進技術(shù),保持技術(shù)上的領(lǐng)先優(yōu)勢。1.3課題研究的主要內(nèi)容目標是完成智能控制虛擬實驗室的BP神經(jīng)網(wǎng)絡(luò)控制器的設(shè)計。建立起一個虛擬實驗室,用戶能夠通過該實驗室進行BP神經(jīng)網(wǎng)絡(luò)整定PID控制實驗。按照這種要求設(shè)計的智能控3D視覺效果、智能控制系統(tǒng)設(shè)計、各實驗圖形用戶界面設(shè)計(GUI)。圖1-4系統(tǒng)整體框架圖圖1-4中的虛擬設(shè)備由VRML進行創(chuàng)建;控制系統(tǒng)和控制算法使用Matlab進行設(shè)計;MATLAB制封裝整個系統(tǒng),形成一個完整的模塊。第二章VRML虛擬實驗設(shè)備設(shè)計VRML要模擬的實驗裝備,即學生做試驗的實驗裝備。本課題選用了“THJ-2型高級過程控制系統(tǒng)實驗裝置VRML部分。2.1VRML技術(shù)基礎(chǔ)知識2.1.1VRML技術(shù)概述VRML是虛擬現(xiàn)實建模語言(即VirtualRealityModelingLanguage)的簡稱,是SGI公司開發(fā)的一種3D造型和渲染的圖形描述性語言,1997年12月被國際標準化組織ISOJYCI/SC24委員會認定為國際標準(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]的各部分進行注釋說明。(1)文件頭文件頭是VRML文件的標志,所有2.0版本的VRML文件都以這行文字打頭?!?VRMLv2.0utf8”。其中#VRML告訴打開該文件的瀏覽器該文件是一個VRML文件;V2.0表示該VRML文件的版本號是2.0;utf8表示該文件采用的是國際UTF—8編碼方案。UTF—8是一個廣泛支持多種語言的字符集,由國際標準化組織150/IEC1472—1:1997標準所定義。(2)我們可以使用VRML提供的結(jié)點描述語言來設(shè)計三維對象的各種屬性。(3)原型節(jié)點的原型是節(jié)點對其中的域(field)、入事件(eventIn)和出事件(eventOut)的聲明。通過自定義原型(PROTO)可以對標準節(jié)點進行組合,提供新的節(jié)點類型。(4)事件指按照定義的路由,由一個節(jié)點發(fā)往另一個節(jié)點的消息。事件標志著外部改變,出事件是節(jié)點向外界報告自身狀態(tài)的出口。事件由一個時間戳和一個域值組成。(5)路由指產(chǎn)生該事件和接收該事件的節(jié)點之間的連接。路由的作用在于將各個不同的節(jié)點綁定在一起以使虛擬空間具有動感和交互性。(6)注釋在VRML文件中允許編寫者在文件的任何部分進行注釋說明,以增強該文件VRML“#”(換行或Carriagereturn字符)VRHL文件的時候?qū)⑻^#號之后本行的所有內(nèi)容VRML文件的時候?qū)⒆詣拥睾雎訴RML文件中的所有的空格和空行。2.1.3VRML節(jié)點簡介節(jié)點(Node)VRML文件的基本單元[8]有五個方面的特征:類型、域、事件、實現(xiàn)、名字。節(jié)點可以命名(DEF語句),節(jié)點命名后可以通過USE節(jié)點的類型很豐富,除了自定義的節(jié)點類型(PROTO)以外,一共有74種節(jié)點類型按功能可分為組節(jié)點(GroupingNodes)、特殊組節(jié)點(Specia1GroupsNodes)、通用節(jié)點(monNodes)、傳感器節(jié)點(SensorsNodes)、幾何體節(jié)點(GeometryNodes)、幾何體屬性節(jié)點(GeometricPropertiesNodes)、外觀節(jié)點(AppearanceNodes)、約束節(jié)點(BindableNodes)、插值節(jié)點(InterpolatorsNodes)等九大類。通過節(jié)點的層層嵌套以及節(jié)點的定義和使用,形成整個場景圖。下面對將要用到的主要節(jié)點進行簡單介紹:1)外形節(jié)點Shape在創(chuàng)建一個造型時,都必須使用Shape節(jié)點。Shape節(jié)點的語法為[9]:Shape{exposedFieldSFNodeappearanceNULLexPosedFieldSFNodegeometryNULL}2)變換節(jié)點Transform一個Transform節(jié)點是一個組節(jié)點。Transform節(jié)點可以是shapeGroup節(jié)點或TransformTransform節(jié)點中的所有子節(jié)點將在Transform節(jié)點的坐標系原點處創(chuàng)建。如果該坐標系的位置發(fā)生變化,則Transform節(jié)點內(nèi)的所有子節(jié)點將一同變化。Transform節(jié)點,也可以是一個父節(jié)點Group或Transform節(jié)點的子節(jié)點。父節(jié)點的坐標系是TransformTransform節(jié)點是VRML它的父坐標系就是VRML文件的世界坐標系。Transform節(jié)點的語法為:Transform{eventlnMFNodeaddChildreneventlnMFNoderemoveChildrenexPosedFieldSFVec3fcenter000exposedFieldHFNodechildren[]exPosedFieldSFRotationrotation0010exPosedFieldSFVec3fscalelllexposedFie1dSFRotationsca1e0rientation00l0exPosedFieldSFyec3ftrans1ation000fieldSFVec3fbboxCenter000fieldSFVec3fbboxsize-1-1-1}3)造型節(jié)點在VRML文件中存在很多的造型節(jié)點。基本造型節(jié)點有長方體節(jié)點Box、回柱體節(jié)點Cylinder、圓錐體節(jié)點Cone、球體節(jié)點Sphere。還有高級造型節(jié)點,如擠出造型節(jié)點Extrusion、標高網(wǎng)格造型節(jié)點ElevationGrid、點造型節(jié)點Pointset、線造型節(jié)點IndexedLineset、面造型節(jié)點IndexedFaceset等等.通過對這些造型節(jié)點進行旋轉(zhuǎn)、組合、縮放等運用,可以構(gòu)造出非常復雜的對象。下面是基本造型節(jié)點和Extrusion、IndexedFaceset節(jié)點的作用和語法介紹。IndexedFaceset節(jié)點:通過對面的描述來構(gòu)造幾何體。由于一個任意形狀的幾何體節(jié)點語法為:IndexedFaceset{eventlnMFInt32set_colorlndexeventlnMFInt32set_coordlndexeventlnMFInt32set_normallndexeventlnMFInt32set_texCoordlndexexPosedFieldSFNodecolorNULLexPosedField5FNodecoordNULLexPosedFieldSFNodenorma1NULLexPosedFieldSFNodetexCoordNULLfieldSFBoolccwTRUEfieldMFInt32colorlndex[]fieldSFBoo1ColorPerVertexTRUEfieldSFBoolconvexTRUEfieldMFInt32coordlndex[]fieldSFFloatcreaseAngle0fieldMFInt32normallndex[]fieldSFBoolnorma1PeryertexTRUEfieldSFB001solidTRUEfieldMFInt32texCoordlndex[]}4)父節(jié)點、子節(jié)點VRMLchildrenchildren域的域值為這個節(jié)點的子節(jié)點,而該節(jié)點稱為children域中的節(jié)點的父節(jié)點。例如,Transform節(jié)點中的childrenTransformTransform節(jié)點是它們的父節(jié)點。2.2實驗裝備簡介智能控制虛擬實驗設(shè)備模擬的是天煌教儀生產(chǎn)的“THJ-2型高級過程控制系統(tǒng)實驗裝置”380V220V成。2.3實驗裝備部分元件的設(shè)計Vrml.pad再運行得到所需的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造型進行平移,旋轉(zhuǎn)以及比例縮放。這些功能都是通過TransformTransform節(jié)點都創(chuàng)建一個相對己有坐的VRML虛擬場景。Transform節(jié)點同Group節(jié)點一樣是編組節(jié)點,其語法定義如下: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域的域值指定了在父坐標系的原點和新坐標系的原點之間XYZ方向XY為Z方向上的距離。該域值既可正,也可為負,只是方向相反而已。該域值的缺省值為0.00.00.0,表示個方向的距離為0,新坐標系和父坐標系重合。rotation個該域值所設(shè)定的旋轉(zhuǎn)角度。該域的前三個值為一個三維梭鏢的X,Y,Z分量,該三維度為計量單位的旋轉(zhuǎn)角度。該域值的缺省值為0.00.01.00.0,表示以Z軸為旋轉(zhuǎn)軸,但不發(fā)生旋轉(zhuǎn)[9]。scale域的域值指定了新坐標系在XYZ為X,Y,Z方向的縮放系數(shù)。該域值的缺省值為1.01.01.0,表示在X,Y,Z方向上沒有縮放。利用Transform節(jié)點的這些域進行調(diào)整,最終可以將各零部件組成完整的單元。組合好的變頻器面板如圖2-5所示:圖2-5變頻器面板的3D造型2.3.3各控制單元組成完整的控制面板VRML來實現(xiàn)這些文字或照片貼在做好的單元主體上,再把之前做好的各零部件通過Transform節(jié)點放置在照片而且零部件的定位也更加容易和準確,這是預期結(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)計算機公司的創(chuàng)立者與領(lǐng)導人HechtNielsen給人工神經(jīng)網(wǎng)絡(luò)“人工神經(jīng)網(wǎng)絡(luò)是由人工建立的以有向圖為拓撲結(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ò)模型,自適應共振理論,自組織特征映射理論等。人工神經(jīng)網(wǎng)絡(luò)是在現(xiàn)代神經(jīng)科學的基礎(chǔ)上提出來的[11]。它雖然反映了人擬。神經(jīng)網(wǎng)絡(luò)的研究可以分為理論研究和應用研究兩大方面。理論研究可分為以下兩類:1).利用神經(jīng)生理與認知科學研究人類思維以及智能機理。2)開發(fā)新的網(wǎng)絡(luò)數(shù)理理論,如:神經(jīng)網(wǎng)絡(luò)動力學、非線性神經(jīng)場等。應用研究可分為以下兩類:12網(wǎng)絡(luò)理論本身以及相關(guān)理論、相關(guān)技術(shù)的不斷發(fā)展,神經(jīng)網(wǎng)絡(luò)的應用定將更加深入。神經(jīng)網(wǎng)絡(luò)具有以下特點[12]:(1)可以充分逼近任意復雜的非線性關(guān)系;(2)所有定量或定性的信息都等勢分布貯存于網(wǎng)絡(luò)內(nèi)的各神經(jīng)元,故有很強的魯棒性和容錯性;(3)采用并行分布處理方法,使得快速進行大量運算成為可能;(4)可學習和自適應不知道或不確定的系統(tǒng);(5)能夠同時處理定量、定性知識。3.2BP神經(jīng)網(wǎng)絡(luò)基于誤差反向傳播(ErrorBackPropagation)算法的多層前饋網(wǎng)絡(luò)(MultipleLayerFeedforwardNetwork)(簡稱BP網(wǎng)絡(luò)),可以以任意精度逼近任意的連續(xù)函數(shù),所以廣泛應用于非線性建模、函數(shù)逼近、模式分類等方面[13]。雖然BP神經(jīng)網(wǎng)絡(luò)完整的理論。的網(wǎng)絡(luò)必須是具有隱層的多層神經(jīng)網(wǎng)絡(luò)。BP間層各神經(jīng)元;中間層是內(nèi)部信息處理層,負責信息變換,根據(jù)信息變化能力的需求,BPXi通過中間節(jié)點(隱層點)作用于輸出節(jié)點,經(jīng)過非線形變換,產(chǎn)生輸出信號Yk,網(wǎng)絡(luò)訓練的每個樣本包括輸入向量X和期望輸出量T,網(wǎng)絡(luò)輸出值Y與期望輸出值T之間的偏差,通過調(diào)整輸入節(jié)點與隱層節(jié)點的聯(lián)接強度取值Wij和隱層節(jié)點與輸出節(jié)點之間的聯(lián)接強度Tjk以及閾值,使誤差沿梯度方小的經(jīng)過非線形轉(zhuǎn)換的信息。BP[14]。第四章基于MATLAB的BP神經(jīng)網(wǎng)絡(luò)控制器的設(shè)計及其實驗仿真此為本次設(shè)計的核心部分,這次虛擬實驗室的實驗控制器采用BP神經(jīng)網(wǎng)絡(luò)控制器可以得到學習的效果。4.1基于BP神經(jīng)網(wǎng)絡(luò)控制器的設(shè)計PID控制要取得較好的控制效果,就必須通過調(diào)整好比例、積分和微分三種控制作,力,可以通過對系統(tǒng)性能的學習來實現(xiàn)具有最佳組合的PID控制。采用BP網(wǎng)絡(luò),可以建立參數(shù)Kp,Ki,Kd自學習的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控制器,直接對被控對象進行閉環(huán)控制,并且三個參數(shù)Kp,Ki,Kd為在線調(diào)整方式;(2PIDPID控制器的三個KpKiKd通過神經(jīng)網(wǎng)絡(luò)的自學習、加權(quán)系數(shù)調(diào)整,使神經(jīng)網(wǎng)絡(luò)輸出對應于某種最優(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)的復雜程度。網(wǎng)絡(luò)隱含層的輸入、輸出為:(4.3)(i=1,…Q)—隱含層加權(quán)系數(shù);上角標(1)、(2)、(3)分別代表輸入層、隱層和輸出層。隱層神經(jīng)元的活化函數(shù)取正負對稱的Sigmoid函數(shù):(4.4)網(wǎng)絡(luò)輸出層的輸入輸出為:(l=1,2,3)(4.5)輸山層輸出節(jié)點分別對應三個可調(diào)參數(shù)KpKiKdKpKiKd不以輸出層神經(jīng)元的活化函數(shù)取非負的Sigmoid函數(shù)。(4.6)取性能指標函數(shù)為:(4.7)E(k并附加使搜索快速收斂全局極小的慣性項。(4.8)式中,η為學習速率;α為慣性系數(shù)。(4.9)(4.10)習速率η來補償。(4.11)由式(4.1)和式(4.5),可求得:(4.12)(4.13)上述分析可得網(wǎng)絡(luò)輸出層權(quán)的學習算法為:(4.14)(l=1,2,3)(4.15)同理可得隱含層加權(quán)系數(shù)的學習算法:(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),即確定輸入層點數(shù)M和隱含層節(jié)點數(shù)Q,并給出各層加權(quán)系數(shù)的初值和,選定學習速率η和慣性系數(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īng)網(wǎng)絡(luò)學習,在線調(diào)整加權(quán)系數(shù)和,實現(xiàn)PID控制參數(shù)的自適應調(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)試并運行得出仿真曲線。4.2.1MATLAB簡介MATLAB是美國MathWorks公司開發(fā)的用于教育、工程與科學計算的軟件產(chǎn)品,它向MATLAB已經(jīng)擁有了控制、信號處理、圖像處理、聲音處理、系統(tǒng)建模等諸多領(lǐng)域的計算和圖形顯示功能,點[16]。MATLAB提供了一種用于編程的高級語言——M語言[17]。M語言是一種面向科學與工程計算的高級語言,其最大的特點是簡單和直接。它允許用數(shù)學形式的語言編寫程序,且比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ù)學函數(shù)庫和應用程序接口五個部分。MATLAB(例如,C和FORTRAN語言)個簡單、易用的開發(fā)環(huán)境中,為用戶工作平臺的管理和數(shù)據(jù)的輸入/輸出提供了便利的方法,同時還提供了M文件的擴展和管理工具。這次本人的設(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ù)學模型為:式中,系數(shù)是慢時變的,。神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)選如圖4-5-3,學習速率η=0.25和慣性系數(shù)α=0.05,加權(quán)系數(shù)初估值取區(qū)間[0.5,0.5]上的隨機數(shù)。輸入指令信號分為兩種:(1)rin(k)=1.0(2)rin(k)=sin(2πt)取S=1時為階躍跟蹤,S=2權(quán)值代替隨機值。但是由于可調(diào)參數(shù)KpKiKd均取非負的Sigmoid01算法的應用具有局限性。跟蹤結(jié)果和相應的曲線如圖4-3至圖4-8所示。圖4-3階躍響應曲線(S=1)圖4-4參數(shù)自適應是整定曲線圖4-5跟蹤誤差曲線圖4-6正弦跟蹤曲線(S=2)圖4-7參數(shù)自適應整定曲線圖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中建立的,為的是可以用戶與計算機或計算機程序的接觸點或交互方式交換信息。圖形用戶界面或GUI是包含圖形對象,在智能控制虛擬實驗室中,MATLAB的圖形用戶界面(GUI)的主要功能是建立一個友好快捷的用戶界面,整合實驗的相關(guān)部分,方便用戶對實驗的操作和控制。所以GUI的設(shè)計也是本次課題十分重要的組成部分。4.3.1MATLAB圖形用戶界面簡介MATLAT一向注重數(shù)據(jù)的圖形表示,并不斷地采用新技術(shù)改進和完備其可視化功能.作為一個優(yōu)秀的科技應用型軟件,MATLAB在數(shù)據(jù)可視化方面有著很強的功能[17]MATLAB編寫圖形生成文件[18]。界面功能的有效性來選擇計算機或程序。MATLAB提供了圖形用戶界面(GraphicalUserInterfaces,GUI)的設(shè)計與開發(fā)功能.個用戶界面,利用這些界面,用戶可以和計算機之間進行信息交流。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對象或坐標軸(Axes)對象,每個Uimenu、Uicontextmenu對象可包含一個或多個Uimenu、Uicontextmenu子對象,Uicontrol對象雖無子對象結(jié)點,但它也有多種類型,如按鈕框、檢驗框、文本框、編輯框等,所有其他對象都是坐標軸的子對象,并且在坐標軸上顯示。通過利用從ATLAB能強大的圖形用戶界面。4.3.2圖形用戶界面實現(xiàn)的功能在智能控制虛擬實驗室中,MATLAB的圖形用戶界面(GUI)的主要功能是建立一個GUI界面的設(shè)計為例,其實現(xiàn)的主要功能如下[18]:1.“實驗指導Word文檔,查看實驗的目的和具體的操作步驟或源程序。2.建立與VRML“瀏覽實驗裝置置瀏覽觀看。3.建立BP按鈕用戶可以對仿真圖進行查看及對比。4.點擊“清空曲線”按鈕可將曲線清除。4.3.3圖形用戶界面的實現(xiàn)過程GUI實現(xiàn)的功能及實現(xiàn)過程:1.打開Word文檔改成查看源程序及實驗指導實現(xiàn)與word文檔的交互,制作按鈕,單擊可以直接打開實驗指導書。通過GUI的按鈕設(shè)計達到此要求。在GUI界面中,加入實驗指導按鈕,通過對其單擊,打開一個Word文檔對實驗進行驟,方便用戶進行實驗。通過M文件與Word文檔進行交互,首先需要建立一個word文檔對實驗進行說明,文件命名為1.docwordMATLAB中的winopen語句打開word過以下語句可以創(chuàng)建一個實驗指導按鈕打開實驗指導:functionpushbutton1_Callback(hObject,eventdata,handles)winopen('F:\學習\畢業(yè)設(shè)計\李慧慧\論文\1.doc')2.建立與VRML的交互虛擬現(xiàn)實工具箱(Virtua1Rea1ityToolbox)為能在一個三維虛擬現(xiàn)實環(huán)境中進行可視化操作和與動態(tài)系統(tǒng)進行交互提供了一種有效的解決方案[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é)點的句柄。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è)置為默認查看器。法和渲染方式等。通過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)語句,用默認的查看器打開和顯示虛擬世界biaoti.wrl“瀏覽實驗裝置按鈕中的callback屬性中,即實現(xià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)出曲線的方法仍是通過點擊相應的兩個按鈕來實現(xiàn)。達到預期效果的重點在于按鈕回調(diào)函數(shù)的編寫,我編寫這兩個回調(diào)函數(shù)的思想是:這樣能夠避免在不同組件中調(diào)用全局變量的麻煩。選擇坐標軸的語句為:axes(handles.axes)其中handles.axesGUIDE輔助設(shè)計GUI的一個好處,所有的交互組件都有一個統(tǒng)一格式的句柄—handles.tag。tag為該交互組件的標簽名。利用全命令行的M文件編程則沒有這么方便,在調(diào)用任何一個交互組件時都需要預先設(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等。與對應的部件相對應起來,形成完整的可執(zhí)行GUI。最終形成的GUI主界面如圖4-10所示:圖4-10GUI界面4.4系統(tǒng)的封裝室所提供的虛擬實驗服務,實現(xiàn)虛擬實驗的各種功能。4.4.1封裝目的在進行過3D模型的建立,具體實驗環(huán)節(jié)的設(shè)計,GUI的設(shè)計等工作之后,虛擬實驗要打開MATLAB達到預期的目的,還需要將之前已經(jīng)做好的MATLAB的GUI相關(guān)文件封裝成可執(zhí)行程序,用戶只需運行這個程序,就能夠打開MATLAB并調(diào)出相應的GUI界面,直接開始實驗。4.4.2MATLAB封裝具體過程生成exe文件,對gui.m和gui.fig進行打包[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)境運行必需的文件。3)在未安裝matlab的機器上運行可執(zhí)行程序。將R22007b\toolbox\piler\deploy\win32中的MCRinstaller.exe安裝到該計算機上,將生成可執(zhí)行程序脫離matlab運行所需的函數(shù)庫。將2)中生成的gui.ctf,gui.exe拷貝到該計算機同一路徑。運行g(shù)ui.exe將生成gui_mcr文件夾,包含程序運行所需的庫。4)去除獨立可執(zhí)行程序運行時的“DOS黑窗口。以上生成的exe程序運行時首先彈出一個DOS誤信息,可將其去除。matlab命令行輸入:cd(prefdir)editpopts.bat此時popts.bat打開,在文件最后添加:setLINKFLAGS=%LINKFLAGS%-subsystemwindows即可。第五章結(jié)論樂趣,可快捷的進行實驗。實驗設(shè)備、智能控制系統(tǒng)設(shè)計、各實驗圖形用戶界面設(shè)計(GUI)。虛擬設(shè)備由VRML進行Matlab的M文件來設(shè)計基于BP神經(jīng)網(wǎng)絡(luò)的PIDM文件設(shè)計各實驗的圖形用戶界面將虛擬實驗設(shè)備和智能控制系統(tǒng)、win32最后MATLAB在虛擬環(huán)境下進行智能控制實驗的目的,并且可以通過GUI進行實驗觀察對比,通過改變α,η的值來查看曲線,查看控制效果并進行對比實驗。參考文獻[1]張茂軍。虛擬現(xiàn)實系統(tǒng)[M]。北京:科學出版社,2001.9[2]蘇金明,黃國明,劉波。MATLAB與外部程序接口。[M]北京:電子工業(yè)出版社,2004.1[3]R.Bise,N.TakahashiandT.Nishi,“OntheDesignMethodofCellularNeuralNetworksforAssociateMemoriesBasedonGeneralizedEigenvalueProblem”IntelWorkshoponCellularNeuralNetworksandTheirApplications2002[4]張家祥,方凌江,毛全勝?;贛ATLAB6.x的系統(tǒng)分析與設(shè)計——虛擬現(xiàn)實[M電子科技大學出版社,2002.9[5]曾芬芳主編,虛擬現(xiàn)實技術(shù)[M]。上海交通大學出版社,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]。機械工程與自動化,2006,(04)[10]蒲春,孫政順。Matlab神經(jīng)網(wǎng)絡(luò)工具箱BP算法比較[J]。計算機仿真,2006[11]MATLAB6.5輔助神經(jīng)網(wǎng)絡(luò)與設(shè)計。電子工業(yè)出版社,2002[12]姚俊,馬松輝。Simulink建模與仿真。西安:西安電子科技大學出版社,2002[13]WeiLiu,JingtongMatlab’sdesign。0719318,9787900719317[14]陳宇,鄭紹春?;赟IMULINK和VRML的一種簡易仿真方法[J]。中國水運。2007.8[15]VinayK.Ingle,JohnG.Proakis,DigitalsignalprocessingusingMATLAB。SciencePr.Brooks/ColePub2000ISBN7030111435,9787030111432[16]陳玉農(nóng),劉紅波。模型參考自適應控制、模糊控制及PID控制的綜合應用[J]。AutomationandInstrumentation,1998.1[17]戴連奎。PID控制器的參數(shù)整定與應用問題。浙江大學智能系統(tǒng)與決策研究所,2004.3[18]MATLAB和VR2004.3[19]劉金琨。先進PID控制MATLAB仿真[M]。北京:電子工業(yè)出版社,2004.9[20]葛哲學,孫志強。神經(jīng)網(wǎng)絡(luò)理論與MATLABR2007實現(xiàn)。北京:電子工業(yè)出版社,2007致謝我熱情的幫助,在這里請接受我誠摯的謝意!中應該注意的問題,讓我從知道題目,到了解內(nèi)容,到最后的獨立完成所有畢業(yè)設(shè)計,些都讓我獲益菲淺,并且將終生受用無窮。畢竟“經(jīng)師易得,人師難求,希望借此機會向歐陽老師表示最衷心的感謝!此向他們表示深深的感謝!母對我的殷殷期望!我一定會好好孝敬和報答他們!附錄一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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論