基于智能控制算法的二級倒立擺控制器設(shè)計_第1頁
基于智能控制算法的二級倒立擺控制器設(shè)計_第2頁
基于智能控制算法的二級倒立擺控制器設(shè)計_第3頁
基于智能控制算法的二級倒立擺控制器設(shè)計_第4頁
基于智能控制算法的二級倒立擺控制器設(shè)計_第5頁
已閱讀5頁,還剩57頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

僅供個人參考僅供個人參考不得用于商業(yè)用途不得用于商業(yè)用途僅供個人參考不得用于商業(yè)用途基于智能控制算法的二級倒立擺控制器設(shè)計第一章緒論倒立擺系統(tǒng)是一個典型的多變量、非線性、強耦合的自然不穩(wěn)定系統(tǒng)。最近幾年一直是控制領(lǐng)域研究的熱點。對倒立擺系統(tǒng)的研究不僅具有很重要的理論意義,而且在研究雙足機器人直立行走,火箭發(fā)射過程的姿態(tài)調(diào)整和直升機飛行控制領(lǐng)域中也有指導性的現(xiàn)實意義。本文圍繞二級直線倒立擺系統(tǒng),設(shè)計模糊控制器和神經(jīng)網(wǎng)絡(luò)控制器對二級倒立擺實現(xiàn)穩(wěn)定控制。實物控制的成功進一步證明了本文所設(shè)計的控制器具有很好的穩(wěn)定性和抗干擾性。主要研究工作如下:1)建立了二級倒立擺系統(tǒng)的數(shù)學模型,對倒立擺系統(tǒng)進行定性分析。證明了倒立擺系統(tǒng)開環(huán)是不穩(wěn)定的,但在平衡點是可控的。同時,從相對可控度方面指出了二級倒立擺的相對可控度要比一級倒立擺小很多,更難以控制。2)二級倒立擺的模糊控制器設(shè)計。因為二級倒立擺的狀態(tài)方程中有6個狀態(tài)變量,所以模糊控制器的設(shè)計要求更高,要求它的輸入維數(shù)不能太高,避免產(chǎn)生“規(guī)則爆炸”的問題。規(guī)則必須有效而且完整。為此,基于LQR最優(yōu)二次理論,得出反饋矩陣,并以此構(gòu)造出了降維矩陣,把狀態(tài)變量進行有效的合并。最后,設(shè)計出了二級倒立擺的穩(wěn)定模糊控制器,經(jīng)過實物實驗,成功的實現(xiàn)二級倒立擺的穩(wěn)定控制。證明了本文所設(shè)計的二級倒立擺穩(wěn)定模糊控制器的有效性。3)二級倒立擺的神經(jīng)網(wǎng)絡(luò)控制器基于實時控制時的樣本數(shù)據(jù),設(shè)計了BP網(wǎng)絡(luò),通過matlab對網(wǎng)絡(luò)進行了訓練,實驗證明訓練好的神經(jīng)網(wǎng)絡(luò)控制器有很強的適應(yīng)性和抗干擾性能。4)二級倒立擺實物調(diào)試完成了對二級倒立擺實物的模糊控制和神經(jīng)網(wǎng)絡(luò)控制1.1倒立擺系統(tǒng)研究的意義倒立擺系統(tǒng)的研究涉及到機器人技術(shù)、控制理論、計算機控制等多個領(lǐng)域,其本身是一個絕對不穩(wěn)定、高階次、多變量、強耦合的非線性系統(tǒng),作為一個典型的控制對象一直以來受到不少專家學者的關(guān)注與研究。人們試圖通過倒立擺這樣的一個典型對象,檢驗新的控制方法是否有較強的處理多變量、非線性和絕對不穩(wěn)定系統(tǒng)的能力,從而從中找到最優(yōu)秀的控制方法。倒立擺系統(tǒng)作為控制理論研究中的一個比較理想的實驗手段,為自動控制理論的教學、試驗和科研構(gòu)建了一個良好的試驗平臺,以用來檢驗某種控制理論或方法的典型方案,促進了控制系統(tǒng)新理論、新思想的發(fā)展。由于控制理論的廣泛應(yīng)用,由此系統(tǒng)研究產(chǎn)生的方法和技術(shù)將在半導體及精密儀器加工、機器人控制技術(shù)、人工智能、導彈攔截控制系統(tǒng)、衛(wèi)星飛行中的姿態(tài)控制和一般工業(yè)應(yīng)用等方面具有廣闊的利用開發(fā)前景。所以說,倒立擺系統(tǒng)的研究不僅具有深刻的理論意義,而且具有深遠的現(xiàn)實價值。1.2倒立擺的控制算法多少年來,國內(nèi)外不少專家學者對倒立擺進行了大量的研究,人們試圖尋找不同的控制方法實現(xiàn)對倒立擺的控制。用經(jīng)典控制理論的頻域法設(shè)計非最小相位系統(tǒng)的控制器并不需要十分精確的對象數(shù)學模型,因為只要控制器使系統(tǒng)具有充分大的相位裕量,就能獲得系統(tǒng)的參數(shù)很寬范圍內(nèi)的穩(wěn)定性。一級倒立擺系統(tǒng)的控制對象是一個單輸入(外力)兩輸出(角度和位移)的系統(tǒng)。根據(jù)對系統(tǒng)的力學分析,應(yīng)用牛頓第二定律,建立小車在水平方向運動和擺桿旋轉(zhuǎn)運動的方程,并經(jīng)過線性化、拉氏變換后得出傳遞函數(shù),從而得到零、極點分布情況,根據(jù)使閉環(huán)系統(tǒng)能穩(wěn)定工作的思想設(shè)計控制器。為此,需要引入適當?shù)姆答?,使閉環(huán)系統(tǒng)特征方程的根都位于左平面上。但是,由于經(jīng)典控制理論本身的局限性,它只能用來控制一級倒立擺,對于復雜的二級、三級倒立擺卻無能為力。用現(xiàn)代控制理論控制倒立擺的平衡,主要是用狀態(tài)反饋來實現(xiàn)的。狀態(tài)反饋控制是通過對倒立擺物理模型的分析,建立倒立擺的數(shù)學模型,再用狀態(tài)空間理論推出狀態(tài)方程和輸出方程,然后利用狀態(tài)反饋和kalman濾波相結(jié)合的方法,實現(xiàn)對倒立擺的控制。目前主要有三種狀態(tài)反饋的方法來設(shè)計倒立擺控制器,即極點配置調(diào)節(jié)器的方法、LQR最優(yōu)調(diào)節(jié)器的方法和LQY最優(yōu)調(diào)節(jié)器的方法,試驗表明,用這三種方法不僅對一級倒立擺可以成功的控制,二級倒立擺的控制效果也不錯。1976年,Mori等人首先將倒立擺系統(tǒng)在平衡態(tài)局部鄰域內(nèi)線性化,然后利用狀態(tài)空間方法設(shè)計出比例微分控制器,控制單級倒立擺取得了很好效果。模糊控制理論控制倒立擺是智能控制算法中研究較多的一種。根據(jù)模糊控制理論所設(shè)計出來的控制器是一種非線性控制器,對非線性系統(tǒng)具有很好的控制效果。模糊控制是采用模糊化、模糊推理、解模糊等運算的模糊控制方法,其主要工作是模糊控制器的設(shè)計。關(guān)鍵點在于模糊規(guī)則的制定。由于倒立擺是一個多變量、非線性、不穩(wěn)定、強耦合的復雜系統(tǒng),盡管理論上的一級、二級倒立擺數(shù)學模型已經(jīng)推導出來,但其數(shù)學模型很難精確的反映實際系統(tǒng),所以經(jīng)典控制理論和現(xiàn)代控制理論的方法控制倒立擺都不是特別理想。目前,很多國內(nèi)外學者對倒立擺的研究集中在智能控制領(lǐng)域。1996年,張乃堯等采用模糊雙閉環(huán)控制方案成功的實現(xiàn)對一級倒立擺的穩(wěn)定控制。1997年,,具有系統(tǒng)結(jié)構(gòu)簡單對硬件依賴小的特點。神經(jīng)網(wǎng)絡(luò)控制理論也是一種智能控制算法。它能夠任意充分的逼近復雜的非線性關(guān)系,NN學習能夠?qū)W習和適應(yīng)嚴重不確定性系統(tǒng)的動態(tài)特性,所有定量與定性的信息都等勢分布貯于網(wǎng)絡(luò)內(nèi)的各種神經(jīng)元,故有很強的魯棒性和容錯性。用神經(jīng)網(wǎng)絡(luò)方法來實現(xiàn)倒立擺的平衡控制,迄今已經(jīng)取得了不少成果。1983年Barto等人設(shè)計了兩個單層神經(jīng)網(wǎng)絡(luò),采用AHC(AdaptiveHeuristicCritic)學習算法實現(xiàn)了狀態(tài)離散化的倒立擺控制。1989年,Anderson進一步用兩個雙層神經(jīng)網(wǎng)絡(luò)和AHC方法實現(xiàn)了狀態(tài)未離散化的倒立擺平衡控制。Peng通過將狀態(tài)離散化成為162個區(qū)域,用Lookup表示Q值的方法實現(xiàn)了基于Q學習算法的倒立擺平衡控制。將Q學習算法和BP神經(jīng)網(wǎng)絡(luò)有效結(jié)合,實現(xiàn)了狀態(tài)未離散化的倒立擺的模型學習控制。智能控制理論中還包括擬人控制算法、變結(jié)構(gòu)控制算法等。不同的算法的結(jié)合使得控制力更加強大。1994年,北京航空航天大學張民廉教授將人工智能與自動控制理論相結(jié)合,提出“擬人智能控制理論”,實現(xiàn)了用單電機控制三級倒立擺實物。北京示范大學李洪興教授采用變論域自適應(yīng)模糊控制理論研究四級倒立擺的控制問題,成功實現(xiàn)了四級倒立擺實物系統(tǒng)控制。1.3論文主要工作本論文的主要工作是研究了二級直線倒立擺系統(tǒng)的模糊控制和神經(jīng)網(wǎng)絡(luò)控制問題。分別設(shè)計出了二級倒立擺的模糊穩(wěn)定控制器和神經(jīng)網(wǎng)絡(luò)控制器。用Matlab和Simulink對模糊控制系統(tǒng)和神經(jīng)網(wǎng)絡(luò)系統(tǒng)進行了仿真研究,然后通過調(diào)試實現(xiàn)了倒立擺實物系統(tǒng)的控制。具體內(nèi)容如下:(1)初步了解目前倒立擺的研究現(xiàn)狀以及研究熱點,認識到了隨著控制理論的不斷發(fā)展和完善,智能控制器越來越受到專家學者的關(guān)注。(2)具體介紹了倒立擺的種類以及它自身的一些特點,掌握了倒立擺控制系統(tǒng)的軟硬件配置。(3)詳細論述了二級倒立擺的數(shù)學建模,推導出它的微分方程,以及線性化后的狀態(tài)方程,并且分析倒立擺系統(tǒng)的可控性及其可控性指數(shù)。(4)認真理解了模糊控制理論的原理及其模糊控制器的設(shè)計步驟,對模糊控制算法有了很深的認識。(5)針對二級倒立擺系統(tǒng),討論了倒立擺系統(tǒng)的模糊控制方法。以LQR理論為基礎(chǔ),把狀態(tài)方程中的狀態(tài)變量進行有機的整合,降低模糊控制器的輸入維數(shù)。同時,根據(jù)得到的數(shù)據(jù)推算出模糊控制器的模糊規(guī)則,并設(shè)計出模糊穩(wěn)定控制器。通過仿真以及后期調(diào)試,最后成功的把二級倒立擺實物穩(wěn)定在倒立平衡位置。從而驗證了所設(shè)計控制器的有效性。(6)介紹了神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)理論,分析了把神經(jīng)網(wǎng)絡(luò)用于控制二級倒立擺系統(tǒng)的可行性。詳細介紹了二級倒立擺神經(jīng)網(wǎng)絡(luò)控制器的設(shè)計和實現(xiàn),完成了實物的調(diào)試。(7)對論文的工作進行總結(jié)。第二章倒立擺系統(tǒng)2.1倒立擺分類倒立擺按結(jié)構(gòu)來分,有以下類型:(1)直線倒立擺系列直線倒立擺是在直線運動模塊上裝有擺體組件,直線運動模塊有一個自由度,小車可以沿導軌水平運動,在小車上裝載不同的擺體組件,可以組成很多類別的倒立擺,直線柔性倒立擺和一般直線倒立擺的不同之處在于,柔性倒立擺有兩個可以沿導軌滑動的小車,并且在主動小車和從動小車之間增加了一個彈簧,作為柔性關(guān)節(jié)。(2)環(huán)形倒立擺系列環(huán)形倒立擺是在圓周運動模塊上裝有擺體組件,圓周運動模塊有一個自由度,可以圍繞齒輪中心做圓周運動,在運動手臂末端裝有擺體組件,根據(jù)擺體組件的級數(shù)和串連或并聯(lián)的方式,可以組成很多形式的倒立擺。(3)平面倒立擺系列平面倒立擺是在可以做平面運動的運動模塊上裝有擺桿組件,平面運動模塊主要有兩類:一類是XY運動平臺,另一類是兩自由度SCARA機械臂。按倒立擺的級數(shù)來分:有一級倒立擺、兩級倒立擺、三級倒立擺和四級倒立擺,一級倒立擺常用于控制理論的基礎(chǔ)實驗,多級倒立擺常用于控制算法的研究,倒立擺的級數(shù)越高,其控制難度更大,目前,可以實現(xiàn)的倒立擺控制最高為四級倒立擺。2.2倒立擺的特性雖然倒立擺的形式和結(jié)構(gòu)各異,但所有的倒立擺都具有以下的特性:(1)非線性倒立擺是一個典型的非線性復雜系統(tǒng),為了方便研究,可以通過線性化得到系統(tǒng)的近似模型,線性化處理后再進行控制。也可以利用非線性控制理論對其進行控制。倒立擺的非線性控制正成為一個研究的熱點。(2)不確定性倒立擺的主要誤差來自于模型誤差,機械傳動間隙以及各種阻力。實際控制中一般通過減少各種誤差來降低不確定性,如通過施加預緊力減少皮帶或齒輪的傳動誤差,利用滾珠軸承減少摩擦阻力等不確定因素。(3)耦合性倒立擺的各級擺桿之間,以及和運動模塊之間都有很強的禍合關(guān)系,在倒立擺的控制中一般都在平衡點附近進行解耦計算,忽略一些次要的耦合量。(4)開環(huán)不穩(wěn)定性倒立擺的平衡狀態(tài)只有兩個,即在豎直向上的狀態(tài)和豎垂直向下的狀態(tài)。其中垂直向上為絕對不穩(wěn)定的平衡點,垂直向下為穩(wěn)定的平衡點。(5)約束限制由于機構(gòu)的限制,如運動模塊行程限制,電機力矩限制等。為了制造方便和降低成本,倒立擺的結(jié)構(gòu)尺寸和電機功率都盡量要求最小,行程限制對倒立擺的擺起影響尤為突出,容易出現(xiàn)小車的撞邊現(xiàn)象。2.3倒立擺控制系統(tǒng)本文中研究的被控對象是固高公司的型號為GLIP2001的直線倒立擺控制系統(tǒng),主要包括倒立擺系統(tǒng)(倒立擺本體)、電控箱及由運動控制卡和PC機組成的控制平臺三大部分,如圖2.1所示。圖2.1直線倒立擺硬件組成示意圖直線倒立擺控制系統(tǒng)硬件包括計算機、運動控制卡、伺服系統(tǒng)、倒立擺和光電碼盤反饋測量元件等幾大部分,組成一個閉環(huán)系統(tǒng),如圖2.2所示。圖2.2直線二級倒立擺組成框圖光電碼盤1將小車的位移、速度信號反饋給伺服驅(qū)動器和運動控制卡,下面一節(jié)擺桿(和小車相連)的角度、角速度信號由光電碼盤2反饋回控制卡和伺服驅(qū)動器,上面一節(jié)擺桿的角度和角速度信號則由光電碼盤3反饋。計算機從運動控制卡中讀取實時數(shù)據(jù),確定控制決策(小車向哪個方向移動、移動速度、加速度等),并由運動控制卡來實現(xiàn)該控制決策,產(chǎn)生相應(yīng)的控制量,使電機轉(zhuǎn)動,帶動小車運動,保持兩節(jié)擺桿的平衡。(1)倒立擺本體(系統(tǒng))圖2.3直線倒立擺本體結(jié)構(gòu)圖2.3所示為直線二級倒立擺的實物圖。二級倒立擺裝置由沿導軌運動的小車和通過轉(zhuǎn)軸固定在小車上的擺體組成。在軌道一端裝有用來測量小車位移的光電編碼器。擺體與小車之間、擺體與擺體之間由轉(zhuǎn)軸連接,并在連接處分別裝有一個光電編碼器,分別用來測量一級擺和二級擺的角度。兩根擺桿可以繞各自的轉(zhuǎn)軸在水平導軌所在的鉛垂面內(nèi)自由轉(zhuǎn)動,而小車則由交流伺服電機驅(qū)動,通過皮帶輪在同步傳動帶的帶動下在水平導軌上左右運動,從而使倒立擺穩(wěn)定在豎直向上的位置,完成對倒立擺的穩(wěn)定控制。倒立擺系統(tǒng)的主要硬件設(shè)備如下。1.編碼器旋轉(zhuǎn)編碼器是一種角位移傳感器,它分為光電式、接觸式和電磁感應(yīng)式三種,其中光電式脈沖編碼器是閉環(huán)控制系統(tǒng)中最常用的位置傳感器。圖2.4光電編碼器原理示意圖旋轉(zhuǎn)編碼器有增量編碼器和絕對編碼器兩種,圖2.4為光電式增量編碼器示意圖,它由發(fā)光元件、光電碼盤、光敏元件和信號處理電路組成。當碼盤隨工作軸一起轉(zhuǎn)動時,光源透過光電碼盤上的光欄板形成忽明忽暗的光信號,光敏元件把光信號轉(zhuǎn)化成電信號,然后通過信號處理電路的整形、放大、分頻、記數(shù)、譯碼后輸出。為了測量出轉(zhuǎn)向,使光欄板的兩個狹縫比碼盤兩個狹縫距離小1/4節(jié)距,這樣兩個光敏元件的輸出信號就相差n/2相位,將輸出信號送入鑒向電路,即可判斷碼盤的旋轉(zhuǎn)方向。光電式增量編碼器的測量精度取決于它所能分辨的最小角度a(分辨角、分辨率),而這與碼盤圓周內(nèi)所分狹縫的線數(shù)有關(guān)。其中n為編碼器線數(shù)。由于光電式脈沖編碼盤每轉(zhuǎn)過一個分辨角就發(fā)出一個脈沖信號,因此,根據(jù)脈沖數(shù)目可得出工作軸的回轉(zhuǎn)角度,由傳動比換算出直線位移距離;根據(jù)脈沖頻率可得工作軸的轉(zhuǎn)速;根據(jù)光欄板上兩條狹縫中信號的相位先后,可判斷光電碼盤的正、反轉(zhuǎn)。由于光電編碼器輸出的檢測信號是數(shù)字信號,因此可以直接進入計算機進行處理,不需放大和轉(zhuǎn)換等過程,使用非常方便,因此應(yīng)用越來越廣泛。對于線數(shù)為n的編碼器,設(shè)信號采集卡倍頻數(shù)為m,則有角度換算關(guān)系為:式中?為編碼器軸轉(zhuǎn)角;N為編碼器讀數(shù)2.交流伺服電機交流伺服電機沒有電刷和換向器,不需維護,也沒有產(chǎn)生火花的危險。驅(qū)動電路復雜,價格高。按結(jié)構(gòu)分為同步電機和異步電機,轉(zhuǎn)子是由永磁體構(gòu)成的為同步電機,轉(zhuǎn)子是由繞組形成的電磁鐵構(gòu)成的為異步電機??刂品绞椒譃殡妷嚎刂坪皖l率控制兩種方式,異步電機通常采用電壓控制方式。電機型號:MSMA022A1G—額定輸出功率(RATEDOUTPUT)0.2KW,額定頻率(RATEDFREQ)200HZ,額定轉(zhuǎn)速(RATEDREV.)3000r/min。(2)電控箱電控箱主要完成驅(qū)動和轉(zhuǎn)接的功能,內(nèi)安裝有如下硬件:交流伺服驅(qū)動器(如圖2.5(a)所示)、I/O接口板(運動控制器的端子板)(如圖2-5(b)所示)、直流電源、開關(guān)、指示燈等電器元件。(a)松下交流伺服電機驅(qū)動器(b)I/O接口板圖2.5交流伺服驅(qū)動器交流伺服電機驅(qū)動器型號為:MSDA023A1A—表示適用于小慣量電機,額定輸入電壓:100-115V,額定電流:1.0A,電機額定輸出為30W,增量式旋轉(zhuǎn)編碼器(脈沖數(shù)2400P/r、分辨率17bits、引出線11線)。(3)運動控制器運動控制器的型號種類有很多,它以IBM-PC及其兼容機為主機,提供了標準的ISA總線(PC104)和PCI總線兩個系列的產(chǎn)品。固高直線倒立擺采用的是GT系列的運動控制器,它采用高性能的DSP和FPGA技術(shù)。基于DSP技術(shù)的運動控制器,可以同步控制四個運動軸,實現(xiàn)多軸協(xié)調(diào)運動。其核心由數(shù)字信號處理器ADSP2181和FPGA組成,可以實現(xiàn)高性能的控制計算;運動方式可為單軸點位運動、直線/圓弧插補、速度控制等;網(wǎng)絡(luò)接口可為以太網(wǎng)、RS232或RS422/485,適合標準ISA,PC104和PCI總線;控制電機可以是伺服或步進電機;控制方式可為閉環(huán)或開環(huán)控制,其控制周期用戶可調(diào),看門狗實時監(jiān)控DSP工作狀態(tài);輸出方式采用模擬量輸出或脈沖輸出,模擬量輸出-10V~+10V,脈沖量輸出最高輸出1MHz,同時設(shè)置跟隨誤差極限、加速度極限及控制輸出極限。MATLAB是當今最優(yōu)秀的科技應(yīng)用軟件之一,它以強大的科學計算與可視化功能、簡單易用、開放式可擴展環(huán)境,它在許多科學領(lǐng)域中稱為計算機輔助設(shè)計和分析、算法研究和應(yīng)用開發(fā)的基本工具和首選平臺。RTW(Real-TimeWorkshop)是MathWork系列軟件的重要組成部分。RTW與MATLAB其它組成軟件的無縫連接,既滿足了設(shè)計者在系統(tǒng)概念與方案設(shè)計等方面的需求,也為系統(tǒng)的技術(shù)實現(xiàn)或完成不同功能的系統(tǒng)實時操作實驗提供了方便,并且為并行工程的實現(xiàn)創(chuàng)造了一個良好的環(huán)境。RTW是MATLAB圖形建模和仿真環(huán)境Simulink的一個重要的補充功能模塊,提供了一個實時的開發(fā)環(huán)境—從系統(tǒng)設(shè)計到硬件實現(xiàn)的直接途徑。使用RTW進行實時硬件的設(shè)計,用戶可以縮短開發(fā)周期,降低成本。RTW可以將模型自動轉(zhuǎn)換為代碼,在硬件上運行動態(tài)系統(tǒng)的模型,同時還支持基于模型的調(diào)試。RTW十分適用于加速仿真過程、形成完善的實時仿真解決途徑和生成產(chǎn)品級嵌入式實時應(yīng)用程序。在MATLAB下實現(xiàn)硬件在回路實時仿真,一般可以通過兩種渠道來完成。第一種方式是WINDOWS方式實時仿真。如圖2.6表示,是在MATLAB環(huán)境中調(diào)用硬件系統(tǒng)關(guān)于接口的動態(tài)鏈接文件,使硬件設(shè)備能夠和基于WINDOWS操作系統(tǒng)的MATLAB進行數(shù)據(jù)交換,然后在通過軟件的編制將這些數(shù)據(jù)集成到Simulink中。第二種方式是MATLAB實時內(nèi)核方式,如圖2.7所示,是利用MATLAB的實時工具箱RTW進行硬件在回路仿真,通過目標鏈接的方式和Simulink聯(lián)系在一起,通過單獨的實時內(nèi)核的方式驅(qū)動外部硬件設(shè)備,完成系統(tǒng)實時控制。圖2.6WINDOWS方式圖2.7MATLAB實時內(nèi)核方式對于第一種方式,理論上能夠完成硬件在回路仿真的任務(wù),而且目前大多數(shù)外部設(shè)備制造商都向客戶提供其產(chǎn)品基于WINDOWS平臺的驅(qū)動程序,實現(xiàn)起來并不復雜。但是由于WINDOWS操作系統(tǒng)任務(wù)執(zhí)行頻率不夠高,并不能保證應(yīng)用程序在實時情況下運行,因為其不能保證程序在必要時比其它進程搶先。關(guān)于第二種方式,采用MATLAB的實時工具箱RTW(Real-TimeWorkshop)實現(xiàn)控制任務(wù),專用的實時內(nèi)核代替WINDOWS操作系統(tǒng)接管了實時控制任務(wù),內(nèi)核任務(wù)執(zhí)行的最小周期是1ms,大大地提高了系統(tǒng)的實時性。對于實時控制像倒立擺這樣對實時性要求非常之高的對象而言,能否達到控制效果是個問題。在WINDOWS平臺上進行實時仿真實驗,如果實驗效果不太理想,很難說明到底是因為算法結(jié)構(gòu)或參數(shù)設(shè)計不當?shù)脑蜻€是因為該平臺實時性達不到要求的原因。所以采用第二種方式,專用的實時內(nèi)核代替Windows操作系統(tǒng)接管了實時控制任務(wù)。硬件環(huán)境:IBM兼容微機(含兩個PCI插槽);基本運行配置:CPUPIII,1G、內(nèi)存128M、固高運動控制器;軟件環(huán)境:實控軟件可工作在Windows2000和WindowsXP等操作系統(tǒng)環(huán)境下,系統(tǒng)運行時需要MATLAB6.5,MATLAB/Simulink5.0、MATLAB/Real-TimeWorkshop,MATLAB/Real-TimeWindowsTarget以及VisualC/C++等軟件支持。Real-TimeWindowsTarget是RTW的附加產(chǎn)品,可將Intel80x86/Pentiurn計算機或PC兼容機轉(zhuǎn)變?yōu)橐粋€實時系統(tǒng),既作為主機又作為目標機,而且支持許多類型的I/O設(shè)備板卡(包括ISA和PCI兩種類型)。用戶只需要安裝相關(guān)的軟件、一個編譯器和I/O設(shè)備板卡,就可將一個PC機用作實時系統(tǒng)并通過I/O設(shè)備與外部設(shè)備進行連接。而且內(nèi)核任務(wù)執(zhí)行的最小周期是alms,可以滿足倒立擺的實時性控制的要求。第三章倒立擺系統(tǒng)建模及其定性分析為了研究倒立擺系統(tǒng)的穩(wěn)定控制問題,首先需要建立倒立擺的數(shù)學模型。這是對該系統(tǒng)進行仿真的必要前提。系統(tǒng)建??梢苑譃閮煞N:實驗建模和機理建模。實驗建模就是通過在研究對象上加上一系列的研究者事先確定的輸入信號,激勵研究對象并通過傳感器檢測其輸出,應(yīng)用數(shù)學手段建立起系統(tǒng)的輸入輸出關(guān)系。這里面包括輸入信號的設(shè)計選取,輸出信號的精確檢測,數(shù)學算法的研究等等內(nèi)容。機理建模就是在了解研究對象的運動規(guī)律基礎(chǔ)上,通過物理、化學的知識和數(shù)學手段建立起系統(tǒng)內(nèi)部的輸入輸出狀態(tài)關(guān)系。3.1直線二級倒立擺的數(shù)學模型考慮到牛頓力學建模需要對許多微分方程進行處理,在進行二級倒立擺建模時,大量微分方程的運算會使建模變得很復雜,所以本文采用分析力學中的Lagrange方程建模。二級倒立擺的模型如圖3.1所示。圖3.1直線二級倒立擺模型首先,對該系統(tǒng)做如下假設(shè):1)小車、一級擺桿和二級擺桿都是剛體。2)皮帶輪與同步帶之間無相對滑動,且同步帶不會拉伸變長。3)小車與導軌之間的摩擦力與小車速度成正比。4)各級擺桿與轉(zhuǎn)軸間的轉(zhuǎn)動摩擦力矩與擺桿的角速度成正比。本次控制系統(tǒng)采用的二級倒立擺各物理參數(shù)取值如表3.1所示:表3.1直線二級倒立擺系統(tǒng)參數(shù)符號含義實際系統(tǒng)參數(shù)M小車質(zhì)量1.32KGm1下擺桿質(zhì)量0.04KGm2上擺桿質(zhì)量0.132KGm3質(zhì)量塊質(zhì)量0.208KGθ1下擺擺桿與垂直向上方向的夾角θ2上擺擺桿與垂直向上方向的夾角l1下擺擺桿轉(zhuǎn)動中心到擺桿質(zhì)心的距離0.09ml2上擺擺桿轉(zhuǎn)動中心到擺桿質(zhì)心的距離0.27mF作用在小車上的外力利用Lagrange方程推導運動學方程:Lagrange方程為:(3-1)其中,L為拉格朗日算子,q為系統(tǒng)的廣義坐標,T為系統(tǒng)的動能,V為系統(tǒng)的勢能。(3-2)其中,i=1,2,3...n,fi為系統(tǒng)在第i個廣義坐標上的外力,在二級倒立擺系統(tǒng)中,系統(tǒng)有三個廣義坐標,分別為x,θ1,θ2。1)系統(tǒng)總動能:T=T0+T1+T2+T3其中,小車的動能:一級擺動能:二級擺動能:質(zhì)量塊動能:2)系統(tǒng)總勢能:V=V0+V1+V2+V3其中,小車勢能:V0=0一級擺勢能:V1=m1gl1cosθ1二級擺勢能:V2=m2g(2l1cosθ1+l2cosθ2)質(zhì)量塊勢能:V3=2m3gl1cosθ1根據(jù)所得到的系統(tǒng)總動能T和系統(tǒng)總勢能V,代入式(3-1)可以求出拉格朗日算子L,得:因為系統(tǒng)在廣義坐標θ1,θ2上均無外力作用,所以以下方程組成立:(3-3)對拉格朗日算子L進行處理,得:對于方程組(3-4),關(guān)于,求解,得:=P/Q(3-5)其中,(3-6)其中,式(3-5)和式(3-6)可表示成以下形式:(3-7)(3-8)在平衡位置附近進行泰勒級數(shù)展開,并線性化,可以得到:(3-9)其中,(3-10)其中,對于二級倒立擺系統(tǒng),取以下六個變量為系統(tǒng)的狀態(tài)變量:并且取小車加速度為輸入變量,即:那么,由式(3-9)和式(3-10)可以得到系統(tǒng)的狀態(tài)空間表達式:(3-11)3.2倒立擺系統(tǒng)的定性分析在得到系統(tǒng)的數(shù)學模型后,為了進一步的了解系統(tǒng)性質(zhì),需要對系統(tǒng)的特性進行分析,最主要的是系統(tǒng)的穩(wěn)定性、可控性和可觀性。直觀上,擺桿豎直向上系統(tǒng)是不穩(wěn)定的。其穩(wěn)定性分析可以用李亞普諾夫穩(wěn)定性理論。對于系統(tǒng)在平衡點附近的穩(wěn)定性可以根據(jù)前面得到的系統(tǒng)線性模型來分析。因為需要設(shè)計控制器來鎮(zhèn)定系統(tǒng),那么首先要考慮系統(tǒng)是否可控。在進行分析前,先介紹線性控制理論中幾個關(guān)于可控性、可觀性的判定定理。定理1(可控性判據(jù)):n階線性定常連續(xù)系統(tǒng)狀態(tài)完全可控,當且僅當系統(tǒng)的可控性矩陣:滿秩,即rank(S}=n。特別的,當輸入控制量u(t)為標量時,可控性矩陣s為方陣;rank(s)=n等價于S的行列式值det(S)≠0。定理2(可觀性判據(jù)):n階線性定常連續(xù)系統(tǒng)狀態(tài)完全可觀,當且僅當系統(tǒng)的可觀性矩陣:滿秩,即rank(V)=n。特別的,當輸出量y(t)為標量時,可觀性矩陣V為方陣:rank(V)=n等價于V的行列式值det(V)≠0。為了衡量系統(tǒng)控制器設(shè)計的難度,或者說衡量系統(tǒng)本身可控性的相對程度,一般稱之為相對可控性,可通過計算可控性矩陣的奇異值b來判斷。對于一個實矩陣A(m×n階),如果可以分解為A=USV',其中U和V為分別為m×n與n×m階正交陣,S為n×n階對角陣,記為S=diag(a1,a2,...,ar,0,...,0)。其中,a1,a2,...,ar大于或等于零。那么al,a2,...,ar稱為矩陣A的奇異值。U和V稱為左右奇異陣列。定理3(相對可控性判據(jù)):線性定常連續(xù)系統(tǒng),矩陣A的最小奇異值與最大奇異值的比值為系統(tǒng)的相對可控度,記作δ。如果δ的值越大,說明系統(tǒng)的相對可控度越高,對該系統(tǒng)就越容易控制。相反,δ越小,系統(tǒng)越不容易被控制。3.2.3二級倒立擺系統(tǒng)定性分析對二級倒立擺進行分析,使用MATLAB中的dg()命令得系統(tǒng)開環(huán)特征為(10.04385.0262-10.0438-5.026200)因為系統(tǒng)有兩個根在S平面的右半平面上,所以系統(tǒng)是不穩(wěn)定的。根據(jù),通過MATLAB中的rank()命令可以分別求得rank(S)=6和rank(V)=6。所以,系統(tǒng)完全可控并且完全可觀測。可以對系統(tǒng)進行控制器的設(shè)計,使系統(tǒng)穩(wěn)定。根據(jù)二級倒立擺狀態(tài)方程(3-11),利用MATLAB中的命令[U,S,V]=svd(A),對A矩陣進行奇異值分解,得到A矩陣的奇異值陣S。二級倒立擺的相對可控度:δ=1/102.7083=0.0097。第四章模糊控制理論模糊控制理論是美國加利福尼亞set”一文,首次提出了模糊集合的概念。用模糊集合來描述模糊事物的概念,很快被科技工作者所接受。40多年來,模糊數(shù)學及其應(yīng)用發(fā)展十分迅速。1974年,英國的Mamdani首先把模糊理論應(yīng)用于工業(yè)控制,取得了良好的控制效果。從此,模糊控制理論及其模糊控制系統(tǒng)的應(yīng)用發(fā)展很快,在控制領(lǐng)域展現(xiàn)出廣闊的前景。模糊控制具有如下主要特點:(1)在設(shè)計系統(tǒng)時不需要建立被控對象的數(shù)學模型,只要求掌握現(xiàn)場操作人員或者有關(guān)專家的經(jīng)驗、知識或者操作數(shù)據(jù)。(2)模糊控制的計算方法雖然是運用模糊集理論進行的模糊算法,但最后得到的控制規(guī)律是確定性的、定量的條件語句。(3)與傳統(tǒng)控制方法相比,模糊控制更接近于人的思維方法和推理習慣。因此,更便于現(xiàn)場操作人員的理解和使用,從而得到更為有效的控制規(guī)律。(4)模糊控制系統(tǒng)的魯棒性強,尤其適用于非線性、時變、滯后系統(tǒng)的控制。在生產(chǎn)實踐中,存在著大量的模糊現(xiàn)象,對于那些無法獲得數(shù)學模型或模型復雜的、非線性的、時變的或者禍合嚴重的系統(tǒng),無論用經(jīng)典控制,還是用現(xiàn)代控制理論的算法都很難實現(xiàn)控制。但是,一個熟練的操作工人或技術(shù)人員,憑借自己的經(jīng)驗,靠眼、耳等“傳感器”的觀察,經(jīng)過大腦的思維判斷給出控制量,可以用手動操作,達到了較好的控制效果。例如,對于一個爐溫控制系統(tǒng),人的控制規(guī)則是,若溫度高于某一設(shè)定值,操作者就減小控制量,使之降溫,并且溫度越高,控制量就減得越多:反之,若溫度低于該設(shè)定值,則加大控制量,使之升溫,并且溫度越低,控制量就增加得越多。該例中包含了大量得模糊概念,如“高于”、“低于”、“越高”、“越低”、“越多”等等。因此,操作者得觀察和思維判斷過程,實際上就是一個模糊化或模糊計算的過程。把人的操作經(jīng)驗歸納成一系列的規(guī)則,存放于計算機中,利用模糊集理論將它量化,使控制器模仿人的操作策略,這就是模糊控制器,而用模糊控制器組成的系統(tǒng)就是模糊控制系統(tǒng)。4.1模糊控制器的基本原理模糊控制器的結(jié)構(gòu)如圖4.1所示??刂破饔?個基本部分組成,即模糊化接口、知識庫、推理機、解模糊接口。圖4.1模糊控制器結(jié)構(gòu)圖1)模糊化將輸入變量的實際論域變換到相應(yīng)的模糊論域,將輸入數(shù)據(jù)轉(zhuǎn)換成合適的語言值,fPB,PM,PS,ZO,NS,NM,NB}表示{“正大”,“正中”,“正小”,“零”,“負小”,“負中”,“負大”}。2)知識庫知識庫包含應(yīng)用領(lǐng)域的知識和控制目標,它由數(shù)據(jù)和模糊語言控制規(guī)則組成如:IFEisA,ANDECisB,THENUisC,其中,E,EC是控制對象狀態(tài)變量的誤差量,U是對控制對象的控制變量。3)推理機推理是從一些模糊前提條件推導出某一結(jié)論。目前模糊推理方法有很多種,其中最常用的是Mamdani的max-min的合成法,具體如下。當把知識庫中的Ai、Bi、Ci的空間分作X、Y、Z論域時,可以得到每條控制規(guī)則的關(guān)系:(4-1)Ri的隸屬度函數(shù)為(4-2)全部控制規(guī)則所對應(yīng)的模糊關(guān)系,用取并的方法得到,即(4-3)R的隸屬函數(shù)為(4-4)當輸入變量E,EC分別取模糊集A,B時,控制器的輸出(控制量)U可根據(jù)模糊推理合成得到:(4-5)U的隸屬函數(shù)為(4-6)4)解模糊解模糊的方法有重心法、最大隸屬度法、中位數(shù)方法等,其中較常用的是重心法,也即控制量可由輸出Ui的隸屬度函數(shù)加權(quán)平均得到,計算公式為(4-7)4.2模糊控制器設(shè)計步驟模糊控制器一般是靠軟件編程實現(xiàn)的,實現(xiàn)模糊控制一般設(shè)計步驟如下:(1)確定模糊控制器的輸入變量和輸出變量(即控制量);(2)設(shè)計模糊控制器的控制規(guī)則;(3)進行模糊化和解模糊化;(4)選擇模糊控制器的輸入變量及輸出變量的論域,并確定模糊控制器的參數(shù)(如量化因子、比例因子);(5)編制模糊控制算法的應(yīng)用程序;第五章神經(jīng)網(wǎng)絡(luò)基礎(chǔ)理論5.1神經(jīng)網(wǎng)絡(luò)BP控制算法人工神經(jīng)網(wǎng)絡(luò)(ANN)是由大量簡單單元以及這些單元的分層組織大規(guī)模并行聯(lián)結(jié)而成的一種網(wǎng)絡(luò),它力圖像一般生物神經(jīng)系統(tǒng)一樣處理事物,實現(xiàn)人腦的某些功能。人工神經(jīng)網(wǎng)絡(luò)可以忽略過程或系統(tǒng)的具體物理參數(shù),根據(jù)系統(tǒng)的運行或?qū)嶒灁?shù)據(jù),建立輸入和輸出狀態(tài)之間的非線性映射關(guān)系。半個多世紀以來,它在非線性系統(tǒng)、優(yōu)化組合、模式識別等領(lǐng)域得到了廣泛應(yīng)用。自從80年代以來,神經(jīng)網(wǎng)絡(luò)的研究出現(xiàn)了突破性的進展。神經(jīng)網(wǎng)絡(luò)作為揭開人腦生理機制的一個重要的手段越來越引起各行各業(yè)科學家的濃厚興趣。神經(jīng)網(wǎng)絡(luò)的發(fā)展簡史如下:時間貢獻者ANN模型1943McCuiiochM--P模型1957Rosenblatt感知器(Percentron)1962Widrow自適應(yīng)線性元件(Adaline)1969Minsky《Perceptrons》1972Fukushima認知機模型1974-1985Rumelhart等反傳模型,B-P算法1978Grossberg自適應(yīng)共振理論(ART)1980Kohonen自組織映射1982Hopfield反饋網(wǎng)絡(luò)1985Hinton等玻爾茲曼機1986Hecht-Nielsen對傳模型1988Chua-Yang細胞網(wǎng)絡(luò)模型5.1.1神經(jīng)網(wǎng)絡(luò)特點(1)具有自適應(yīng)能力它主要是根據(jù)所提供的數(shù)據(jù),通過學習和訓練,找出輸入和輸出間的內(nèi)在聯(lián)系,從而求得問題的解答,而不是依靠對問題的先驗知識和規(guī)則,因而它具有很好的適應(yīng)性。(2)具有泛化能力泛化即用較少的樣本進行訓練,使網(wǎng)絡(luò)能在給定的區(qū)域內(nèi)達到要求的精度;或者說是用較少的樣本進行訓練,使網(wǎng)絡(luò)對未經(jīng)訓練的數(shù)據(jù)也能給出合適的輸出。同樣它能夠處理那些有噪聲或不完全的數(shù)據(jù),從而顯示了很好的容錯能力。對于許多實際問題來說,泛化能力是非常有用的,因為現(xiàn)實世界所獲得的數(shù)據(jù)常常受到噪聲的污染或殘缺不全。(3)非線性映射能力現(xiàn)實的問題是非常復雜的,各個因數(shù)之間互相影響,呈現(xiàn)出復雜的非線性關(guān)系。神經(jīng)元網(wǎng)絡(luò)為處理這些問題提供了有用的工具。(4)高度并行處理神經(jīng)網(wǎng)絡(luò)處理是高度并行的,因此用硬件實現(xiàn)的神經(jīng)網(wǎng)絡(luò)的處理速度可遠遠高于通常計算機的處理速度。與常規(guī)的計算機程序相比較,神經(jīng)網(wǎng)絡(luò)主要基于所測量的數(shù)據(jù)對系統(tǒng)進行建模、估計和逼近,它可以應(yīng)用于如分類、預測及模式識別等眾多方面。如函數(shù)映射是功能建模的一個典型例子。和傳統(tǒng)的計算機網(wǎng)絡(luò)相比,神經(jīng)網(wǎng)絡(luò)主要用于那些幾乎沒有規(guī)則,數(shù)據(jù)不完全或多約束優(yōu)化問題。例如用神經(jīng)網(wǎng)絡(luò)來控制一個工業(yè)過程便是這樣一個例子。對于這種情況很難定義規(guī)則,歷史數(shù)據(jù)很多且充滿噪聲,準確地計算是毫無必要的。某些情況下神經(jīng)網(wǎng)絡(luò)會存在嚴重的缺點。當所給數(shù)據(jù)不充分或存在不可學習的映射關(guān)系時,神經(jīng)網(wǎng)絡(luò)可能找不到滿意的解。其次有時很難估計神經(jīng)網(wǎng)絡(luò)給出的結(jié)果。數(shù)據(jù)網(wǎng)絡(luò)中的連接權(quán)系數(shù)是千萬次訓練后的結(jié)果,對它們的意義很難給出明確的解釋。它們對于輸出結(jié)果的影響也是非常復雜的。神經(jīng)網(wǎng)絡(luò)的訓練很慢,而且有時需要付出嚴重的代價。這一方面是由于需要收集、分析和處理大量的訓練數(shù)據(jù),同時還需要相當?shù)慕?jīng)驗來選擇合適的參數(shù)。神經(jīng)網(wǎng)絡(luò)在實際應(yīng)用時執(zhí)行時間也是需要加以檢驗的。執(zhí)行時間取決于連接權(quán)的個數(shù),它大體和節(jié)點數(shù)的平方成正比。因此網(wǎng)絡(luò)節(jié)點的少許增加可能引起執(zhí)行時間的很大增長。人工神經(jīng)網(wǎng)絡(luò)BP算法網(wǎng)絡(luò)模型由幾層組成,各個層次之間的神經(jīng)元相互連接,同一層內(nèi)的各個神經(jīng)元互不連接。5.1.2BP算法BP算法特征可以描述如下:(1)工作信號正向傳播:輸入信號從輸入層經(jīng)隱含層,傳向輸出層,在輸出端產(chǎn)生輸出信號,這是工作信號的正向傳播。在信號的向前傳遞過程中網(wǎng)絡(luò)的權(quán)值是固定不變的,每一個神經(jīng)元的狀態(tài)只影響下一層神經(jīng)元的狀態(tài)。如果在輸出層不能得到期望的輸出,則轉(zhuǎn)向誤差信號的反向傳播。(2)誤差信號反向傳播:網(wǎng)絡(luò)的實際輸出與期望輸出之間的差值即為誤差信號,誤差信由輸出端開始逐層向前傳播,這是誤差信號的反向傳播。在誤差信號反向傳播的過程中,網(wǎng)絡(luò)的權(quán)值由誤差反饋進行調(diào)節(jié)。通過權(quán)值的不斷修正使網(wǎng)絡(luò)的實際輸出更接近期望輸出。以含有兩個隱含層的BP網(wǎng)絡(luò)為例,如下圖所示,具體介紹BP算法。BP算法基本流程圖如圖(5-1)所示:圖5.1BP算法流程圖圖5.2神經(jīng)網(wǎng)絡(luò)設(shè)輸入層有M個輸入信號,其中任一個輸入信號用m表示;第1隱層有I個神經(jīng)元,其中任一神經(jīng)元用i表示;第2隱層有J個神經(jīng)元,其中任一神經(jīng)元用j表示;輸出層有P個神經(jīng)元,其中任一神經(jīng)元用p表示。如上圖(5.2)所示。輸入為;輸出為加權(quán)矩陣依次為域值向量依次為;神經(jīng)元的輸入用u表示,激勵輸出用v表示,u、v的上標表示層,下標表示層中的某個神經(jīng)元,如表示第一隱層的第個神經(jīng)元的輸入。設(shè)n為迭代次數(shù),權(quán)值和實際輸出是n的函數(shù)。由工作信號的正向傳播過程可得:第一層輸入:;第一層輸出為:;第二層的輸出為:;輸出層輸出為:;對于一個給定的輸入X,期望輸出為;輸出層第p個神經(jīng)元的誤差信號為,定義神經(jīng)元的誤差能量為,則輸出層所有神經(jīng)元的的誤差能量總和為:(5-1)誤差信號從后向前傳遞,在反向傳播過程中,逐層修改連接權(quán)值,下面計算誤差信號的反向傳播過程:(1)第二隱層與輸出層之間的權(quán)值修正量。BP算法中權(quán)值的修正量與誤差與權(quán)值的偏微分成正比.即:成正比因為(5-2)又則(5-3)設(shè)局部梯度(5-4)的修正量為上式中,是學習步長,可由式(5-4)求得,可由信號的正向傳播過程求得。則下一次迭代時第二隱含層上任一節(jié)點與輸出層上任一節(jié)點之間的權(quán)值為(5-5)(2)第一隱層與第二隱層之間的權(quán)值修正量:(5-6)與式(3.4)相類似,局部梯度為(5-7)因為(5-8)又則(5-9)由式(5-8)和式(5-9)得(5-10)將式(5-4)代入上式得式中可由式(5-4)求得。為第二隱層與輸出層之間的任一節(jié)點之間的權(quán)值,已由式(5-5)求得。所以(5-11)則下一次迭代時,第一隱層上任一節(jié)點與第二隱層任一節(jié)點之間的權(quán)值為:(5-12)(3)與第一隱層和第二隱層間的權(quán)值修正量推導方法相同,輸入層上任一節(jié)點與隱層上任一節(jié)點之間的權(quán)值修正量為(5-13)其中(5-14)式中可由式(5-9)求得。為第一隱含層與第二隱含層之間任一節(jié)點之間的權(quán)值,已經(jīng)由式(5-12)求得。則下一次迭代時,輸入層上任一節(jié)點與第一隱含層上任一節(jié)點之間的權(quán)值為由上面的BP算法可知影響B(tài)P算法的因素:①權(quán)系數(shù)的初值:隨機選較小的值,盡量均勻覆蓋權(quán)值空間,避免出現(xiàn)初始權(quán)值相同的情況。②學習方式:增量型學習方法效果好,累積型學習方法速度快。③激勵函數(shù):非減可微函數(shù)??赏ㄟ^調(diào)節(jié)Sigmoid函數(shù)的斜率或采用其它激勵單元來改善網(wǎng)絡(luò)的學習性能。④學習速率:學習速率小,訓練速度慢;學習速率大,訓練速度快,可能出現(xiàn)振蕩現(xiàn)象。5.2BP網(wǎng)絡(luò)的設(shè)計要設(shè)計一個神經(jīng)網(wǎng)絡(luò)必須綜合考慮各方面的因素,如網(wǎng)絡(luò)的層數(shù),每層的神經(jīng)元的個數(shù),層與層間的轉(zhuǎn)換函數(shù),網(wǎng)絡(luò)的初始權(quán)值,網(wǎng)絡(luò)學習速率的選取等。只有這些參數(shù)選擇好了,才可以訓練網(wǎng)絡(luò)。下面介紹各因素的選擇原則如下:(1)網(wǎng)絡(luò)的層數(shù)增加層數(shù)主要可以更進一步地降低誤差,提高精度,但同時也使網(wǎng)絡(luò)復雜化,從而增加了網(wǎng)絡(luò)權(quán)值的訓練時間。一般情況下,應(yīng)優(yōu)先考慮增加隱含層中的神經(jīng)元數(shù)。能不能僅用具有非線性激活函數(shù)的單層網(wǎng)絡(luò)來解決問題呢?結(jié)論是:沒有必要或效果不好。(2)隱含層的神經(jīng)元數(shù)網(wǎng)絡(luò)訓練精度的提高,可以通過采用一個隱含層,而增加其神經(jīng)元數(shù)的方法來獲得。這在結(jié)構(gòu)實現(xiàn)上,要比增加更多的隱含層要簡單得多。在具體設(shè)計時,比較實際的做法是通過對不同神經(jīng)元數(shù)進行訓練對比,然后適當?shù)丶由弦稽c余量。(3)初始權(quán)值的選取一般取初始權(quán)值在(-1,1)之間的隨機數(shù)。(4)學習速率的選取學習速率決定每一次循環(huán)訓練中所產(chǎn)生的權(quán)值變化量。大的學習速率可能導致系統(tǒng)的不穩(wěn)定。小的學習速率導致較長的訓練時間,可能收斂很慢,不過能保證網(wǎng)絡(luò)的誤差值不跳出誤差表面的低谷而最終趨于最小誤差值。所以在一般情況下,傾向于選取較小的學習速率以保證系統(tǒng)的穩(wěn)定性。學習速率的選取范圍在0.01-0.8之間。(5)期望誤差的選取在設(shè)計網(wǎng)絡(luò)的訓練過程中,期望誤差值也應(yīng)當通過對比訓練后確定一個合適的值。這個所謂的“合適”,是相對于所需要的隱含層的節(jié)點數(shù)來確定,因為較小的期望誤差值是要靠增加隱含層的節(jié)點,以及訓練時間來獲得的。一般情況下,作為對比,可以同時對兩個不同期望誤差值的網(wǎng)絡(luò)進行訓練,最后通過綜合因素的考慮來確定采用其中一個網(wǎng)絡(luò)。5.3訓練神經(jīng)網(wǎng)絡(luò)的具體的步驟(1)產(chǎn)生數(shù)據(jù)樣本集為了成功地開發(fā)出神經(jīng)網(wǎng)絡(luò),產(chǎn)生數(shù)據(jù)樣本集是第一步,也是十分重要和關(guān)鍵的一步。這里包括原始數(shù)據(jù)的收集、數(shù)據(jù)分析、變量選擇和數(shù)據(jù)的預處理,只有經(jīng)過這些步驟后,才能對神經(jīng)網(wǎng)絡(luò)進行有效的學習與訓練。首先要在大量的原始測量數(shù)據(jù)中確定出最主要的輸入模式。例如,兩個輸入具有很大的相關(guān)性,則只要取其中一個作為輸入,這就需要對原始數(shù)據(jù)進行充分統(tǒng)計分析,檢驗他們之間的相關(guān)性。又如工業(yè)過程中可能記錄了成百上千個壓力、溫度和流量數(shù)據(jù)。這時就需要對他們進行相關(guān)性分析,找出其中一二個最主要的量作為輸入。在確定最主要的輸入量后,需要進行尺度變換和預處理。尺度變換常常將他們變換到[-11]或[01]的范圍。在進行尺度變換前必須先檢驗是否存在數(shù)據(jù)異常點(或稱野點),這些點必須剔除。通過對數(shù)據(jù)的預處理分析還可以檢驗其是否具有周期性、固定變化趨勢或其它關(guān)系。對數(shù)據(jù)進行預處理就是要使得經(jīng)變化的數(shù)據(jù)對于神經(jīng)網(wǎng)絡(luò)更容易學習和訓練。例如在過程控制中,采用溫度的增量導數(shù)比用溫度值本身更能說明問題,也更容易找出數(shù)據(jù)間的實質(zhì)聯(lián)系。在進行數(shù)據(jù)預處理時主要用到信號處理或特征抽取技術(shù)。如計算數(shù)據(jù)的和、差、倒數(shù)、乘冪、求根、對數(shù)、平均、滑動平均以及傅立葉變換等。甚至于神經(jīng)網(wǎng)絡(luò)本身也可以作為數(shù)據(jù)預處理的工具,為另一個神經(jīng)網(wǎng)絡(luò)準備數(shù)據(jù)。對一個復雜問題應(yīng)該選擇多少數(shù)據(jù),這也是一個很關(guān)鍵的問題。系統(tǒng)得輸入輸出關(guān)系就包含在這些數(shù)據(jù)樣本中。所以一般來說,取得的數(shù)據(jù)越多,學習和訓練的結(jié)果就越能準確反映輸入和輸出之間的關(guān)系。但是選太多的數(shù)據(jù)將會增加收集、分析數(shù)據(jù)以及網(wǎng)絡(luò)訓練所付出的代價。當然選太少的數(shù)據(jù)將可能得不到正確的結(jié)果。事實上數(shù)據(jù)的多少取決于許多的因素,如網(wǎng)絡(luò)的大小、網(wǎng)絡(luò)測試的需要以及輸入輸出的分布等。其中網(wǎng)絡(luò)大小最關(guān)鍵。通常較大的網(wǎng)絡(luò)需要較多的訓練數(shù)據(jù)。一個經(jīng)驗規(guī)則是:訓練模式應(yīng)該是連接權(quán)總數(shù)的5至10倍。在神經(jīng)網(wǎng)絡(luò)訓練完成以后,需要有另外的測試數(shù)據(jù)來對網(wǎng)絡(luò)加以驗證,測試數(shù)據(jù)應(yīng)該是獨立的數(shù)據(jù)集合。最簡單的是:將收集到的可用數(shù)據(jù)隨機地分成兩部分,譬如說其中的三分之二用于網(wǎng)絡(luò)的訓練,另外的三分之一用于將來的測試,隨機選取的目的是為了盡量減少這兩部分數(shù)據(jù)的相關(guān)性。影響數(shù)據(jù)大小的另外一個因素是輸入模式和輸出結(jié)果的分布,對數(shù)據(jù)進行預先加以分類可以減少所需的數(shù)據(jù)量。相反數(shù)據(jù)稀薄不均甚至互相覆蓋勢必要增加數(shù)據(jù)量。(2)確定網(wǎng)絡(luò)類型和結(jié)構(gòu)在訓練網(wǎng)絡(luò)之前,首先要決定所選用的網(wǎng)絡(luò)類型。若主要用于模式分類尤其是現(xiàn)行可分情況,則可以選用較為簡單的感知器網(wǎng)絡(luò);若主要用于函數(shù)估計,則可以用BP網(wǎng)絡(luò)。實際上需要根據(jù)問題的性質(zhì)和任務(wù)要求來合適的選擇網(wǎng)絡(luò)類型。一般是從已有的網(wǎng)絡(luò)類型中選擇一種比較簡單的又能滿足要求的網(wǎng)絡(luò),若新設(shè)計一個網(wǎng)絡(luò)類型來滿足問題的要求往往比較困難。在網(wǎng)絡(luò)的類型確定后,剩下的問題就是選擇網(wǎng)絡(luò)的結(jié)構(gòu)和參數(shù)。以BP網(wǎng)絡(luò)為例,需選擇網(wǎng)絡(luò)的層數(shù)、每層的節(jié)點數(shù)、初始權(quán)值、域值、學習算法、數(shù)值修改頻度、節(jié)點變換函數(shù)及參數(shù)、學習速率及其動量因子等參數(shù)。這里有些項的選擇需要指導性的原則,但更多的是通過經(jīng)驗和試湊。對于具體問題若確定了輸入和輸出變量后,網(wǎng)絡(luò)輸入層和輸出層的個數(shù)也便確定了。對于隱層的層數(shù)可以首先考慮只選擇一個隱層。剩下的問題是如何選擇隱層的節(jié)點數(shù)。其選擇原則是:在能正確反映輸入與輸出關(guān)系的基礎(chǔ)上,盡量選取較少的隱層節(jié)點數(shù),而使網(wǎng)絡(luò)盡可能簡單。具體的選擇可有如下兩種方法:a先設(shè)置較少的節(jié)點,對網(wǎng)絡(luò)進行訓練,并測試網(wǎng)絡(luò)的逼近誤差,然后逐漸增加節(jié)點數(shù),直到測試的誤差不再有明顯的減少為止。b先設(shè)置較多的節(jié)點,對網(wǎng)絡(luò)進行訓練時,并采用如下的誤差代價函數(shù):(5-15)其中E表示輸出誤差的平方和。引入第二項的作用相當于引入一個“遺忘”項,其目的是為使訓練后的連接權(quán)系數(shù)盡量小。可以求得這時對的梯度為:(5-16)利用該梯度可以求得相應(yīng)得學習算法。利用該學習算法,在訓練過程中只有那些確實必要的連接權(quán)才予以保留,而那些不很必要的連接將逐漸衰減為零,最后可去掉那些聯(lián)想不大的連接權(quán)和相應(yīng)節(jié)點,從而得到適當規(guī)模的網(wǎng)絡(luò)結(jié)構(gòu)。(3)訓練和檢測最后一步是對網(wǎng)絡(luò)進行訓練和測試,在訓練過程中對訓練樣本需要反復地使用。對所有樣本數(shù)據(jù)正向運行一次并反轉(zhuǎn)修改連接權(quán)一次成為一次訓練。這樣的訓練需要反復地進行下去直至獲得合適的映射結(jié)果。特別應(yīng)該注意的一點是,并非訓練的次數(shù)越多,越能得到正確的輸入輸出的映射關(guān)系。訓練網(wǎng)絡(luò)的目的在于找出蘊含在樣本中數(shù)據(jù)的輸入和輸出之間的本質(zhì)聯(lián)系,從而對于未經(jīng)訓練的輸出也能給出合適的輸出,即具備泛化功能。由于所收集的數(shù)據(jù)都是包含噪聲的,訓練的次數(shù)過多,網(wǎng)絡(luò)將包含噪聲的數(shù)據(jù)都記錄下來。在極端的情況下,訓練后的網(wǎng)絡(luò)可以實現(xiàn)相當于查表的功能。網(wǎng)絡(luò)的功能主要由它的泛化能力來衡量,他并不是用對訓練數(shù)據(jù)的擬合程度來衡量,而是要用一組獨立的數(shù)據(jù)來加以測試和檢驗。在用測試數(shù)據(jù)進行檢驗時,保持實際操作時應(yīng)該訓練和測試交替進行,即每訓練一次,同時測試數(shù)據(jù)一遍,畫出均方誤差隨訓練次數(shù)的變化曲線。如圖5.3:圖5.3誤差隨訓練次數(shù)變化的曲線從誤差曲線可以看出,在用測量數(shù)據(jù)進行檢驗時,均方誤差開始逐漸減少,當訓練次數(shù)再增加時,測試檢驗誤差反而增加。誤差曲線上極小點所對應(yīng)得即為恰當?shù)挠柧毚螖?shù),若再訓練就為“過度訓練”了。對于網(wǎng)絡(luò)隱層節(jié)點的個數(shù)的選擇如果采用試驗方法,也必須將訓練和測試相結(jié)合,最終也用測試誤差來衡量網(wǎng)絡(luò)的性能。均方誤差與隱層節(jié)點數(shù)也有與右圖相類似的關(guān)系,因此也并不是節(jié)點數(shù)越多越好。網(wǎng)絡(luò)的節(jié)點數(shù)對于網(wǎng)路的泛化能力有很大的影響。節(jié)點數(shù)太多,它傾向于記住所有的訓練數(shù)據(jù),包括噪聲的影響,反而降低了泛化能力;而節(jié)點數(shù)太少,它不能擬合樣本數(shù)據(jù),因而也談不上具有較好的泛化能力。選擇節(jié)點數(shù)的原則是:選擇盡量少的節(jié)點以實現(xiàn)盡量好的泛化能力。第六章二級倒立擺的模糊控制6.1二級倒立擺穩(wěn)定控制思想二級倒立擺是一個復雜的,不穩(wěn)定的高階非線形系統(tǒng)。從模糊控制的角度來看,二級倒立擺與一級倒立擺的區(qū)別在于:一級倒立擺的模糊規(guī)則可以根據(jù)實際的經(jīng)驗來確定。只要不斷完善模糊規(guī)則,控制效果就會不斷提高,最終達到令人滿意的要求。而二級倒立擺的困難在于:它的模糊控制規(guī)則很難確定,比如說,給定二級倒立擺的某一位置,很難確定用多大的力來使它穩(wěn)定,甚至連力的方向都不能確定。即使能確定一些模糊規(guī)則,也很難確定所有的模糊規(guī)則。但是,如果模糊規(guī)則不完整,系統(tǒng)就有可能失控。所以,確定二級倒立擺的所有模糊規(guī)則是設(shè)計模糊控制器的關(guān)鍵。除此之外,從二級倒立擺的狀態(tài)空間表達式中可以看到,它有六個狀態(tài)變量,如果設(shè)計一個六維模糊控制器(六輸入一輸出),那么模糊規(guī)則會非常的復雜(甚至產(chǎn)生“規(guī)則爆炸”),很不利于完整模糊規(guī)則的制定。然而,如果用三組二維模糊控制器(二輸入一輸出)通過串行或者并行來設(shè)計控制器的話,由于控制器個數(shù)的增加,會使得控制實時性大大降低,甚至因為不能及時的輸出當前控制作用力而產(chǎn)生失控。綜上所述,要求設(shè)計一個規(guī)則少而完整,模糊控制器數(shù)量要少(最好為一個)。本文的設(shè)計思想如圖6.1所示:基于LQR理論來為二級倒立擺的狀態(tài)方程設(shè)計一個狀態(tài)反饋矩陣K和降維矩陣G,將六個狀態(tài)變量綜合成兩個變量,即綜合誤差和綜合誤差變化率。并通過LQR仿真,得出輸入輸出數(shù)據(jù)對,根據(jù)得出的數(shù)據(jù),計算并制定出模糊規(guī)則。圖6.1二級倒立擺控制器設(shè)計思想6.2反饋矩陣K和降維矩陣G的設(shè)計二級倒立擺是典型的多輸入單輸出系統(tǒng),在式(3-25)已經(jīng)得到二級倒立擺系統(tǒng)的線性狀態(tài)方程。因此可以利用線性系統(tǒng)的狀態(tài)信息來構(gòu)造一個降維矩陣G,把二級倒立擺的六個狀態(tài)變量合并成綜合誤差E和綜合誤差變化率EC。但構(gòu)造降維矩陣G的關(guān)鍵是反饋矩陣K的設(shè)計。利用最優(yōu)控制理論計算出一組可以讓二級倒立擺穩(wěn)定的狀態(tài)反饋矩陣K:(6-1)最優(yōu)控制性能指標函數(shù)為:(6-2)通過使性能指標函數(shù)式(6-1)為最小,可求得:(6-3)求解如下Ricatti方程可得到矩陣P。(6-4)性能指標函數(shù)中,矩陣Q和矩陣R這兩個參數(shù)需要定義,是用來平衡系統(tǒng)對輸入量和狀態(tài)量的敏感程度的。它們對閉環(huán)系統(tǒng)的動態(tài)性能影響很大。在倒立擺系統(tǒng)中,Q,R分別用來對狀態(tài)向量X和輸入控制量u進行平衡加權(quán)的。一般情況下,R增加時,控制力減小,角度變化變小,跟隨速度變慢。而Q中某元素增加時,其對應(yīng)的狀態(tài)變量的響應(yīng)速度增加,其它狀態(tài)變量的響應(yīng)速度相對減慢。為了使得反饋矩陣K更合理,對矩陣Q,R的選取一定要盡量恰當。通過反復的測試,在實際系統(tǒng)的控制過程中,選取基于MATLAB強大的矩陣運算以及它豐富的內(nèi)部函數(shù),利用K=lqr(A,B,Q,R)命令通過計算,可得到狀態(tài)反饋矩陣K:K=[17.3205,111.7009,-200.6791,18.6848,2.6899,-32.5784]本文應(yīng)用歸一化思想設(shè)計降維矩陣G。從上面的結(jié)論中得知狀態(tài)矩陣K中包含六個元素,分別代表著六個狀態(tài)變量的權(quán)值。根據(jù)歸一化思想,每個元素均除以矩陣K的范數(shù),為了把六個狀態(tài)變量合并成兩個變量,設(shè)計如式(6-5)形式的矩陣,利用狀態(tài)反饋陣K構(gòu)造出降維矩陣G:(6-5)其中,把所得狀態(tài)反饋陣K的值代入式(6-5)得到G:最后,通過降維矩陣G把六個狀態(tài)變量X綜合為兩個變量,稱為綜合誤差E和綜合誤差變化率EC。(6-6)6.3二級倒立擺系統(tǒng)的模糊控制設(shè)計根據(jù)前面介紹的二級倒立擺穩(wěn)定控制思想,采用融合技術(shù)設(shè)計一個線性融合函數(shù),把多個變量融合成為綜合誤差E和綜合誤差變化率EC,這就可以使模糊控制器的設(shè)計大為簡化。設(shè)計的系統(tǒng)結(jié)構(gòu)圖如下。圖6-1級倒立擺模糊控制器結(jié)構(gòu)首先建立二級倒立擺模糊控制系統(tǒng)結(jié)構(gòu),具體的隸屬度,規(guī)則庫,反模糊化的概念接下順序介紹。結(jié)構(gòu)圖的最右側(cè)為二級倒立擺的封裝模塊圖,其左側(cè)為模糊控制器內(nèi)封裝模糊邏輯文件RFUZZY1.fis??刂破髯髠?cè)為融合函數(shù)模塊和量化因子,具體數(shù)據(jù)在下文介紹。圖6.2二級倒立擺模糊控制系統(tǒng)結(jié)構(gòu)圖由融合函數(shù)降維后得到E和EC作為輸入量,所以只要設(shè)計一個二維模糊控制器,這就使模糊控制規(guī)則大大簡化。取綜合誤差E和綜合誤差變化率EC的論域分別是X=[-33]Y=[-33],輸出論域為Z=[-33]。一般說來一個語言變量的語言值越多,對事物的描述就越準確,越好。根據(jù)二級倒立擺的特點:把小車位置、速度,一擺、二擺擺角,以及一擺、二擺的角速度和控制力等語言變量的語言值都取為{“負大”,“負中”,“負小”,“零”,“正小”,“正中”,“正大”}即{NB,NM,NS,ZE,PS,PM,PB}。由于二級倒立擺系統(tǒng)是相對簡單的非線性系統(tǒng),所以不需要過細的劃分,這些模糊集的隸屬度函數(shù)取“三角形”隸屬度函數(shù)。如下二個圖為綜合誤差E、綜合誤差變化率EC、輸出U的Mamdani模糊邏輯推理系統(tǒng)的隸屬度圖形。首先對系統(tǒng)進行采樣,粗略確定輸入輸出論域:位置[-0.2,0.2],速度[-1,1],下擺角[-0.15,0.15],下擺角速度[-4,4]上擺角[-0.08,0.08],上擺角速度[-0.8,0.8]綜上計算出誤差和誤差變化率的范圍:E的輸出范圍[-36.4227,36.4227];EC的輸出范圍[-59.356,59.356];E的量化因子為3/36.4227=0.0824;EC的量化因子為3/59.356=0.0505;輸出的比例因子為3/40=13.33待調(diào)試;圖6.3誤差E隸屬度函數(shù)圖圖6.4誤差變化率EC隸屬度函數(shù)圖圖6.5輸出U隸屬度函數(shù)圖根據(jù)輸入論域和輸出論域上的模糊語言變量劃分,可以設(shè)計模糊推理規(guī)則:rule1:ifEisNBandECisNBthenYisNBrule2:ifEisPBandECisPMthenYisNB????rule49:ifEisNSandECisPBthenYisPM把上述規(guī)則寫成模糊規(guī)則表,如下表所示:表6-1模糊規(guī)則ECENBNMNSZEPSPMPBNBNBNBNBNMNMNSZENMNBNBNMNMNSZEPSNSNBNMNMNSZEPSPMZENMNSNSZEPSPMPMPSNMZEZEPSPMPMPBPMNSPSPSPMPMPBPBPBZEPMPMPMPBPBPB6.3.4反模糊化在模糊控制器結(jié)構(gòu)中已經(jīng)設(shè)計好了隸屬度、模糊規(guī)則,根據(jù)其進行模糊推理決策出控制變量的一個模糊子集,但是它是一個模糊量,不能直接控制被控對象,還需要采取合理的方法將模糊量轉(zhuǎn)化為精確量,以便最好地發(fā)揮出模糊推理結(jié)果的判決效果。針對二級倒立擺采用重心法來實現(xiàn)反模糊化。6.4二級倒立擺模糊控制器仿真通過上面幾節(jié)的準備工作,對輸入輸出變量進行模糊化處理,而且模糊規(guī)則也已經(jīng)寫出。解模糊的步驟可以通過MATLAB仿真設(shè)置即可完成。這里采用重心法。具體搭建的仿真結(jié)構(gòu)圖如圖6.8所示。圖6.8二級倒立擺模糊控制仿真結(jié)構(gòu)圖二級倒立擺模糊控制器的三個量化因子也需要修正調(diào)整。最后調(diào)整結(jié)果為Ke=16,Kec=18,Ku=15。在零時刻給一個脈沖干擾量(模擬人為的給一個瞬間干擾),這里取θ2=0.01,仿真時間設(shè)置為5s,結(jié)果組圖所示:圖6.9二級倒立擺模糊控制仿真效果從上圖中可以看出,小車在中心位置的0.003m的范圍內(nèi)波動,下擺在不穩(wěn)定平衡點的0.01rad范圍內(nèi)擺動,上擺在不穩(wěn)定平衡點的0.001rad范圍內(nèi)擺動。仿真結(jié)果表明,所設(shè)計的二級倒立擺穩(wěn)定模糊控制器是非常有效的,可以很好的對上、下擺桿和小車同時進行控制。6.5二級倒立擺實物系統(tǒng)的模糊控制一個控制器的有效與否最終還得需要實物的驗證。為此,搭建了二級倒立擺系統(tǒng)實物控制的結(jié)構(gòu)圖,如圖6.13所示。圖6.13二級倒立擺實物控制結(jié)構(gòu)圖基于二級倒立擺的實物控制圖,如圖6.18所示。進行實物控制仿真,得到實時響應(yīng)曲線。(a)小車位置(b)上擺角度(c)下擺角度圖6.18二級倒立擺仿真實時曲線通過實物控制驗證,可以成功的把二級倒立擺穩(wěn)定在不穩(wěn)定平衡點。證明了所設(shè)計的穩(wěn)定模糊控制器是非常有效的。第七章二級倒立擺的神經(jīng)網(wǎng)絡(luò)控制神經(jīng)網(wǎng)絡(luò)控制二級倒立擺主要是通過實驗,收集、整理大量的輸入輸出控制數(shù)據(jù)對,形成一個規(guī)則庫。然后訓練得到一個BP神經(jīng)網(wǎng)絡(luò)控制器,Matlab仿真驗證其可行性。7.1控制規(guī)則庫如前所述,倒立擺的不穩(wěn)定性,若想通過開環(huán)試驗獲取數(shù)據(jù),抽取控制規(guī)則很困難。所以,從閉環(huán)試驗中抽取一些有效的數(shù)據(jù)作為規(guī)則庫,比如簡單的比例、人工智能模糊控制規(guī)則等。固高倒立擺公司所給的軟件分為MATLAB和Windows,DOS三個版本.其中的MATLAB版本主要為實驗而用,直接運用了控制卡中的一些模塊,簡化了編程,而且其中有關(guān)于起擺的控制程序;而DOS版本采用了Borlandc++3.0軟件進行編程,能夠?qū)崿F(xiàn)起擺和系統(tǒng)的平衡控制,且程序?qū)ν忾_放;在Window下采用C++編的程序,對系統(tǒng)具有較好的控制效果,運用了如PID、LQR等許多控制方法。為了獲得較有效的樣本,分析了各個平臺下的軟件:在所提供的試驗平臺下,經(jīng)實驗我們可以得到許多的樣本數(shù)據(jù)。這里包括原始數(shù)據(jù)的收集、數(shù)據(jù)分析、變量選擇和數(shù)據(jù)的預處理,經(jīng)過這些步驟后,才能對神經(jīng)網(wǎng)絡(luò)進行有效的學習與訓練。所以一般來說,取得的數(shù)據(jù)越多,網(wǎng)絡(luò)訓練越精確,學習和訓練的結(jié)果就越能準確反映輸入和輸出之間的關(guān)系。但是選太多的數(shù)據(jù)將會增加收集、分析數(shù)據(jù)以及網(wǎng)絡(luò)訓練所付出的代價。當然選太少的數(shù)據(jù)將可能得不到正確的結(jié)果。事實上數(shù)據(jù)的多少取決于許多的因素,如網(wǎng)絡(luò)的大小、網(wǎng)絡(luò)測試的需要以及輸入輸出的分布等。事實上,只要充分反映允許控制誤差范圍內(nèi)的足夠多的規(guī)則就可以了。7.2網(wǎng)絡(luò)模型確定在進行BP網(wǎng)絡(luò)設(shè)計前,一般從網(wǎng)絡(luò)層數(shù)、每層神經(jīng)元數(shù)、初始值、以及學習方法等方面來考慮。理論上已經(jīng)證明:具有偏差和至少一個S型隱含層加上一個線性輸出層的網(wǎng)絡(luò),能夠逼近任何有理函數(shù)。如前面所述的影響神經(jīng)網(wǎng)絡(luò)BP的因素有網(wǎng)絡(luò)的層數(shù),網(wǎng)絡(luò)各層神經(jīng)元的個數(shù)等。影響神經(jīng)BP算法的因素還有學習速率、初始權(quán)值的選取、以及神經(jīng)網(wǎng)絡(luò)期望誤差的選取,可以選擇一個具有一個隱含層的二層網(wǎng)絡(luò),它的輸入分別為系統(tǒng)的六個狀態(tài)變量:小車的位置,小車的速度,上下擺的角度和上下擺的角速度。隱含層有10個神經(jīng)元,輸出層為一個。隱含層采用“tansig”轉(zhuǎn)換函數(shù),輸出層采用線性轉(zhuǎn)換函數(shù)“purelin”。如圖7.1所示。圖7.1神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖7.3對網(wǎng)絡(luò)進行訓練BP網(wǎng)絡(luò)具有很強的非線性映射能力。理論已經(jīng)證明:給定任意的e>0和任意L2函數(shù)向量則必存在一個三層B-P網(wǎng)絡(luò)可在任意e平方誤差精度內(nèi)逼近訓練后得到的BP神經(jīng)網(wǎng)絡(luò)可以記憶大量的規(guī)則,從而可以實現(xiàn)倒立擺的控制。7.3.1訓練用到的Matlab函數(shù)首先介紹一下訓練神經(jīng)網(wǎng)絡(luò)所需的重要Matlab函數(shù)(1).NEWFF函數(shù)NEWFF函數(shù)的作用是創(chuàng)建一個feed-forwardback-propagation網(wǎng)絡(luò)。其調(diào)用格式主要有:net=newffnet=newff(PR,[S1,S2…SN1],{TF1,TF2…TFN1},BTF,BLF,PF)描述如下net=newff作用是用對話框的形式創(chuàng)建一個新的網(wǎng)絡(luò)模型。NEWFF(PR,[S1S2...SNl],{TF1TF2...TFNl},BTF,BLF,PF)其中各個參數(shù)的定義如下:PR-為一個Rx2的矩陣,其中包含輸入的最大和最小值。Si-第i層神經(jīng)元的個數(shù),一共有N1層。TFi-第i層的轉(zhuǎn)換函數(shù),默認為'tansig'.函數(shù)還可以為其它‘logsig’,‘purelin’。BTF–BP網(wǎng)絡(luò)的訓練函數(shù),默認值為'trainlm'.函數(shù)還可以取其他的值為‘traingd’,‘trainbfg’,‘trainbr’等.但是‘trainlm’最快。BLF–BP網(wǎng)絡(luò)的權(quán)值和閾值學習函數(shù),默認值為'learngdm'.函數(shù)也可以為‘learngd’。PF-性能函數(shù),默認值為'mse'.函數(shù)也可以為‘msereg’返回一個N層的feed-forwardBP網(wǎng)絡(luò)。舉例如下:這是一個關(guān)于輸入向量P逼近目標輸出向量T的問題,所以我們將用一個神經(jīng)網(wǎng)絡(luò)解決這個問題:P=[012345678910];T=[01234321234];下面的函數(shù)創(chuàng)建了一個兩層的feed-forward網(wǎng)絡(luò),網(wǎng)絡(luò)的輸入?yún)^(qū)間為[010]。第一層有五個神經(jīng)元,其轉(zhuǎn)換函數(shù)為‘tansig’;第二層有一個神經(jīng)元,轉(zhuǎn)換函數(shù)為‘purelin’。采用‘trainlm’訓練這個網(wǎng)絡(luò)。調(diào)用函數(shù)如下:net=newff([010],[51],{'tansig''purelin'});通過下面的程序,網(wǎng)絡(luò)可以被仿真并且可以把輸出以圖形的形式顯示:Y=sim(net,P);plot(P,T,P,Y,'o')設(shè)置訓練步數(shù)為50,得到一個訓練好的網(wǎng)絡(luò),輸入初始向量得到仿真結(jié)果并畫出圖形。=50;net=train(net,P,T);Y=sim(net,P);plot(P,T,P,Y,'o')(2).train函數(shù)train函數(shù)的功能是訓練一個網(wǎng)絡(luò)。調(diào)用格式主要有:[net,tr,Y,E,Pf,Af]=train(NET,P,T,Pi,Ai,VV,TV)函數(shù)描述如下:train函數(shù)是根據(jù)net的訓練函數(shù)和net的訓練參數(shù)訓練一個網(wǎng)絡(luò)net。格式TRAIN(NET,P,T,Pi,Ai)各參數(shù)的意義敘述如下:NET–網(wǎng)絡(luò)。P-網(wǎng)絡(luò)的輸入.T-網(wǎng)絡(luò)的期望輸出,默認值為zeros.Pi-初始輸入延遲條件,默認值為zeros.Ai-初始時的層滯后條件,默認值為zeros.VV-有效向量的結(jié)構(gòu)。默認值為[]TV-測試向量的結(jié)構(gòu),默認為[].返回值為:NET-網(wǎng)絡(luò)。TR-訓練的記錄(epochandperf).Y-網(wǎng)絡(luò)的輸出.E-網(wǎng)絡(luò)的誤差.Pf-最終輸入滯后條件。Af-最終層滯后條件。

最大訓練次數(shù)

訓練要求精度

學習速率

顯示訓練迭代過程

最大訓練時間舉例如下:p=[012345678];t=[00.840.910.14-0.77-0.96-0.280.660.99];plot(p,t,'o')net=newff([08],[101],{'tansig’,purelin'},'trainlm')這里newff是用來創(chuàng)建一個兩層的反饋網(wǎng)絡(luò)。這個網(wǎng)絡(luò)有一個輸入,其值域為[08],隱含層為10個神經(jīng)元,轉(zhuǎn)換函數(shù)為‘tansig’;輸出為一個神經(jīng)元,函數(shù)為‘purelin’;訓練函數(shù)為‘trainlm’y1=sim(net,p)%網(wǎng)絡(luò)被仿真plot(p,t,'o',p,y1,'x')%作圖=50;%設(shè)置訓練步數(shù)為50=0.01;%網(wǎng)絡(luò)訓練誤差為0.01net=train(net,p,t);%訓練這個網(wǎng)絡(luò)y2=sim(net,p)%仿真訓練后的網(wǎng)絡(luò)plot(p,t,'o',p,y1,'x',p,y2,'*')%作圖7.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

提交評論