




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
GA-LQR算法在線性倒立擺系統(tǒng)實(shí)時(shí)控制中的實(shí)現(xiàn)第一章緒論1.1課題的研究背景和意義對(duì)于倒立擺系統(tǒng)最初的研究始于二十世紀(jì)五十年代,麻省理工學(xué)院(MIT)的控制論專家根據(jù)火箭發(fā)射助推器原理設(shè)計(jì)出一級(jí)倒立擺實(shí)驗(yàn)設(shè)備。在此基礎(chǔ)上,研究人員經(jīng)過(guò)不斷的深入,設(shè)計(jì)出兩級(jí)倒立擺和線性三、四級(jí)倒立擺。目前,按照倒立擺的結(jié)構(gòu)來(lái)分,倒立擺系統(tǒng)分為以下幾種類型:直線倒立擺系列、環(huán)形倒立擺系列、平面倒立擺系列和復(fù)合倒立擺系列。研究倒立擺系統(tǒng)具有很強(qiáng)的理論意義,首先針對(duì)倒立擺系統(tǒng)的機(jī)器結(jié)構(gòu),其形象直觀、結(jié)構(gòu)簡(jiǎn)單、構(gòu)件組成和形狀易于改變、設(shè)計(jì)成本較低,便于應(yīng)用模擬和數(shù)字的方法進(jìn)行控制;其次,作為一個(gè)經(jīng)典被控對(duì)象,倒立擺是一個(gè)絕對(duì)不穩(wěn)定、高階次、多變量、強(qiáng)耦合的非線性系統(tǒng),因而對(duì)倒立擺系統(tǒng)的控制會(huì)涉及控制理論研究中的諸多關(guān)鍵性問(wèn)題,如非線性問(wèn)題、魯棒性問(wèn)題、鎮(zhèn)定性問(wèn)題、跟蹤問(wèn)題以及隨動(dòng)問(wèn)題等。需要采用行之有效的控制策略使之穩(wěn)定;倒立擺系統(tǒng)的動(dòng)態(tài)平衡效果非常明了,可以通過(guò)測(cè)量小車的位移、擺動(dòng)角度和穩(wěn)擺時(shí)間來(lái)直接分析,對(duì)系統(tǒng)穩(wěn)定效果的分析可以反映許多抽象的控制理論概念,如穩(wěn)定性、運(yùn)動(dòng)模態(tài)[1]、能控能觀性、快速性和魯棒性等。到目前為止,有多種控制理論和方法可以對(duì)倒立擺系統(tǒng)進(jìn)行控制,如經(jīng)典的PID控制[2,3]、線性狀態(tài)反饋[4,5,6]和最優(yōu)控制[7,8]、基于遺傳算法的智能控制[9,10,11,12,13]以及基于遺傳算法的線性最優(yōu)控制[14,15]等。當(dāng)一種新的控制策略和方法被提出后,可以借助對(duì)倒立擺被控對(duì)象的控制效果的分析來(lái)判斷其有效性和實(shí)用性,進(jìn)而研究該算法是否具有卓越的處理多變量、非線性和絕對(duì)不穩(wěn)定性問(wèn)題的能力,并找出算法存在的不足以提出改進(jìn)思路和改進(jìn)方案。研究倒立擺系統(tǒng)具有深遠(yuǎn)的工程實(shí)踐意義,平面單級(jí)倒立擺與火箭飛行控制相關(guān),兩級(jí)倒立擺控制與人的步態(tài)和雙足機(jī)器人的行走姿態(tài)具有相似性。因而倒立擺研究具有重要的現(xiàn)實(shí)意義,由該研究產(chǎn)生的相關(guān)方案和技術(shù)在半導(dǎo)體及精密儀器加工、機(jī)器人控制技術(shù)、人工智能、導(dǎo)彈攔截控航空對(duì)接控制、火箭發(fā)射過(guò)程中的姿態(tài)調(diào)整、衛(wèi)星飛行中的姿態(tài)控制儀及工業(yè)應(yīng)用等方面具有廣闊的開(kāi)發(fā)前景。由此,倒立擺控制成為控制領(lǐng)域的充滿活力的熱門研究課題。1.2遺傳算法研究的發(fā)展與應(yīng)用領(lǐng)域遺傳算法(GeneticAlgorithm,簡(jiǎn)稱GA)起源于對(duì)生物系統(tǒng)所進(jìn)行的計(jì)算機(jī)模擬研究,以自然選擇和遺傳理論為基礎(chǔ),將生物進(jìn)化過(guò)程中的適者生存規(guī)則與群體內(nèi)部染色體的隨機(jī)信息交換機(jī)制相結(jié)合的高效全局尋優(yōu)搜索算法。它模擬自然界生物進(jìn)化過(guò)程,采用人工進(jìn)化的方式對(duì)目標(biāo)空間進(jìn)行隨機(jī)優(yōu)化搜索。GA將問(wèn)題域中的可能解看作是群體中的一個(gè)個(gè)體或染色體,并將每一個(gè)個(gè)體編碼成符號(hào)串形式,模擬達(dá)爾文的遺傳選擇和自然淘汰的生物進(jìn)化過(guò)程,對(duì)群體反復(fù)進(jìn)行基于遺傳學(xué)的操作(遺傳、交叉和變異)。根據(jù)預(yù)定的目標(biāo)適應(yīng)度函數(shù)對(duì)每個(gè)個(gè)體進(jìn)行評(píng)估,依據(jù)適者生存、優(yōu)勝劣汰的進(jìn)化規(guī)則,不斷得到更優(yōu)的群體,同時(shí)以全局并行搜索方式來(lái)搜索優(yōu)化群體中的最優(yōu)個(gè)體,以求得滿足要求的最優(yōu)解[16]。20世紀(jì)60年代美國(guó)Michigan大學(xué)Holland教授及其學(xué)生受到生物模擬技術(shù)的啟發(fā),創(chuàng)造出一種基于生物遺傳和進(jìn)化機(jī)制的適合于復(fù)雜系統(tǒng)優(yōu)化的自適應(yīng)概率優(yōu)化技術(shù)——遺傳算法。在1967年,Holland教授的學(xué)生Bagley在其博士論文中首次提出“遺傳算法”一詞,他進(jìn)一步發(fā)展了復(fù)制、交叉、變異、顯性、倒位等遺傳算子,在個(gè)體編碼上使用雙倍體的編碼方法。Holland用GA思想對(duì)自然和人工適應(yīng)系統(tǒng)進(jìn)行研究,提出GA的基本定理——模式定理(SchemaTheorem),并與1975年出版了第一本系統(tǒng)論述遺傳算法和人工自適應(yīng)系統(tǒng)的專著《AdaptationNaturalandArtificialSystem》。20世紀(jì)80年代,Holland教授實(shí)現(xiàn)了第一個(gè)基于遺傳算法的機(jī)器學(xué)習(xí)系統(tǒng),開(kāi)創(chuàng)了遺傳算法的機(jī)器學(xué)習(xí)的新概念。1975年,DeJong基于遺傳算法的思想在計(jì)算機(jī)上進(jìn)行了大量的純數(shù)值函數(shù)優(yōu)化計(jì)算實(shí)驗(yàn),建立了遺傳算法的工作框架,得到了一些重要且具有指導(dǎo)意義的結(jié)論。1989年,Goldberg出版著作《GeneticAlgorithminSearch,OptimizationandMachineLearning》,系統(tǒng)地總結(jié)了遺傳算法的主要研究成果,全面完整地論述了遺傳算法的基本原理及其應(yīng)用。1991年,Davis出版了《HandbookofGeneticAlgorithms》一書(shū),介紹遺傳算法在科學(xué)計(jì)算、工程技術(shù)和社會(huì)經(jīng)濟(jì)中的大量實(shí)例。1992年,Koza將遺傳算法應(yīng)用于計(jì)算機(jī)程序的優(yōu)化設(shè)計(jì)及自動(dòng)生成,提出了遺傳編程(GeneticProgramming,簡(jiǎn)稱GP)的概念。在控制系統(tǒng)的離線設(shè)計(jì)方面遺傳算法被眾多的使用者證明是有效的新策略,Krishnakumar和Goldberg、Bramlette和Cusin已證明使用遺傳優(yōu)化方法在太空應(yīng)用中導(dǎo)出的優(yōu)異的控制器結(jié)構(gòu)比使用傳統(tǒng)的LQR和Powell的增音機(jī)設(shè)計(jì)所用的時(shí)間要少(功能評(píng)估)??v觀整個(gè)遺傳算法的發(fā)展過(guò)程,20世紀(jì)70年代是興起階段,20世紀(jì)80年代是發(fā)展階段,20世紀(jì)90年代是高潮階段。目前,遺傳算法作為一種實(shí)用、高效、魯棒性強(qiáng)的優(yōu)化技術(shù),有著廣闊的發(fā)展前景和良好的發(fā)展勢(shì)頭,始終是國(guó)內(nèi)外學(xué)者的研究熱點(diǎn)[17]。遺傳算法提供了一種求解非線性、多模型、多目標(biāo)等復(fù)雜系統(tǒng)優(yōu)化問(wèn)題的通用框架,它不依賴于待解決問(wèn)題的具體領(lǐng)域,已經(jīng)廣泛應(yīng)用于圖像處理、函數(shù)優(yōu)化、組合優(yōu)化、機(jī)器人學(xué)、人工生命、機(jī)器學(xué)習(xí)和自動(dòng)控制等科技領(lǐng)域,并在相關(guān)領(lǐng)域具有典型的成功應(yīng)用范例。1.3倒立擺系統(tǒng)控制算法的研究時(shí)至今日,國(guó)內(nèi)外研究人員對(duì)各類倒立擺系統(tǒng)的起擺和穩(wěn)擺控制已經(jīng)進(jìn)行了很多研究,研究人員試圖通過(guò)不同的控制方法實(shí)現(xiàn)對(duì)倒立擺的控制。對(duì)于一級(jí)和二級(jí)倒立擺控制已有成功的記載。目前對(duì)倒立擺的研究可以抽象為以下兩個(gè)問(wèn)題:(1)使倒立擺迅速地從初始位置達(dá)到豎直向上平衡位置的起擺控制(2)擺在平衡點(diǎn)附近的穩(wěn)定性控制1.3.1起擺控制算法的研究狀況倒立擺的自起擺控制方法主要集中在基于能量控制、最優(yōu)控制和智能控制等方面。這些控制算法在實(shí)現(xiàn)復(fù)雜度和控制效果上是各有利弊的,能量控制是對(duì)擺桿的能量進(jìn)行控制代替對(duì)小車的位移和速度的控制來(lái)達(dá)到起擺的控制目的;最優(yōu)控制方法在系統(tǒng)輸出的狀態(tài)變量較少時(shí),可以實(shí)現(xiàn)對(duì)最優(yōu)控制率的計(jì)算,當(dāng)狀態(tài)變量較多同時(shí)系統(tǒng)又具有終點(diǎn)約束條件時(shí),基于最優(yōu)控制的起擺控制器難于實(shí)現(xiàn);基于模糊控制的自起擺控制器符合人類的智能思維習(xí)慣,不依賴擺系統(tǒng)的數(shù)學(xué)模型,容易理解和設(shè)計(jì),但是具體的控制效果要充分考慮控制規(guī)則的要求以及如何確定優(yōu)異的規(guī)則集[18,19]。1.3.2穩(wěn)擺控制的研究在研究倒立擺系統(tǒng)穩(wěn)定控制的過(guò)程中,深入地探索控制理論,以尋求新的優(yōu)越的控制算法,進(jìn)而將其應(yīng)用到現(xiàn)實(shí)的更廣泛的被控制對(duì)象中。各種控制理論和相應(yīng)領(lǐng)域的控制方法以及各種控制方法的有機(jī)結(jié)合產(chǎn)生的新的算法可以在倒擺實(shí)時(shí)系統(tǒng)中得到充分的應(yīng)用,并不斷被改進(jìn)。(1)基于經(jīng)典控制理論的算法經(jīng)典線性系統(tǒng)理論分析和解決單輸入——單輸出線性定常系統(tǒng)是比較有效的。而一級(jí)倒立擺系統(tǒng)是一個(gè)單輸入(控制力)兩輸出(小車位移和擺桿角度)的非最小相位系統(tǒng),通過(guò)對(duì)系統(tǒng)進(jìn)行經(jīng)典力學(xué)或拉格朗日能量分析,得出系統(tǒng)在豎直向上平衡位置附近的近似線性模型,進(jìn)而可以借助經(jīng)典控制理論的解決方案:根軌跡法、頻域分析法以及PID控制方法實(shí)現(xiàn)對(duì)一級(jí)倒立擺的穩(wěn)擺控制。然而,由于經(jīng)典控制理論難以有效處理多輸入——多輸出系統(tǒng)的局限性,則對(duì)于二級(jí)倒立擺和多級(jí)倒立擺系統(tǒng),經(jīng)典控制難以獲得理想的控制效果。(2)基于現(xiàn)代控制理論的算法依據(jù)現(xiàn)代控制理論為指導(dǎo)設(shè)計(jì)控制器實(shí)現(xiàn)對(duì)倒立擺的穩(wěn)定控制,主要是借助狀態(tài)反饋來(lái)實(shí)現(xiàn)的,這其中比較有效的控制方案如線性二次型調(diào)節(jié)控制(LQR)。應(yīng)用線性理論控制算法首先要分析倒立擺系統(tǒng)的物理模型,經(jīng)過(guò)一定的線性化方法建立系統(tǒng)的數(shù)學(xué)模型——狀態(tài)空間表達(dá),進(jìn)而設(shè)計(jì)狀態(tài)反饋控制器實(shí)現(xiàn)對(duì)倒立擺的穩(wěn)定控制。但是隨著倒立擺級(jí)數(shù)的增加,控制復(fù)雜度加大,單一依靠線性控制理論算法實(shí)現(xiàn)對(duì)多級(jí)倒立擺的控制難度增加而且難于達(dá)到預(yù)期的控制效果。(3)基于智能控制理論的算法相對(duì)于傳統(tǒng)控制依據(jù)被控對(duì)象的數(shù)學(xué)模型的模型論控制方式,智能控制可稱之為“控制論”即智能決策論。智能控制具有鮮明的特點(diǎn):①智能控制通常是一個(gè)混合的控制過(guò)程,建立在非數(shù)學(xué)模型和數(shù)學(xué)模型的基礎(chǔ)上的控制過(guò)程;②智能控制的核心是對(duì)高水平實(shí)際過(guò)程的管理、決策、規(guī)劃和控制;③智能控制是利用人工智能、系統(tǒng)理論、專家經(jīng)驗(yàn)、神經(jīng)網(wǎng)絡(luò)、模式識(shí)別、遺傳優(yōu)化和基于遺傳的機(jī)器學(xué)習(xí)、推理、空間技術(shù)、計(jì)算機(jī)科學(xué)技術(shù)相協(xié)調(diào)去解決復(fù)雜控制問(wèn)題;④智能控制是新的研究發(fā)展領(lǐng)域,處于良好的發(fā)展勢(shì)頭中,是目前解決復(fù)雜控制問(wèn)題很受青睞的方案[20,21]。針對(duì)倒立擺系統(tǒng)現(xiàn)已提出的智能控制方案主要有下述幾種:(1)模糊控制方法模糊控制是智能控制較早的形式,它吸取了人類的思維具有模糊性的特點(diǎn),是一種應(yīng)用模糊集合理論,統(tǒng)籌考慮系統(tǒng)的一種控制方式。模糊控制不需要被控對(duì)象精確的數(shù)學(xué)模型,是解決不確定性系統(tǒng)控制的一種有效途徑,因此在對(duì)倒立擺系統(tǒng)控制的研究中,模糊控制方法是應(yīng)用最多的一種,它的魯棒性較好。通過(guò)倒立擺控制系統(tǒng)進(jìn)行分析歸納得到模糊控制規(guī)則,進(jìn)而設(shè)計(jì)模糊控制器對(duì)倒立擺系統(tǒng)進(jìn)行控制。在實(shí)際中,常規(guī)的模糊控制器具有一定的局限性,隨著倒立擺系統(tǒng)級(jí)數(shù)的增加,模糊控制規(guī)則的建立難度隨之加大。目前由文獻(xiàn)記載以及仿真數(shù)據(jù)表明,常規(guī)模糊控制方法可以成功地實(shí)現(xiàn)對(duì)一級(jí)倒立擺系統(tǒng)的控制。改進(jìn)的模糊控制、模糊控制與其他方法的有機(jī)結(jié)合可以實(shí)現(xiàn)對(duì)多級(jí)倒立擺的控制,并達(dá)到比較理想的控制效果。文獻(xiàn)表明,早在2002年,北京師范大學(xué)的李洪興教授利用變論域模糊控制方法成功的實(shí)現(xiàn)對(duì)三級(jí)、四級(jí)倒立擺的仿真控制實(shí)驗(yàn)[22,23]。(2)神經(jīng)網(wǎng)絡(luò)控制方法神經(jīng)網(wǎng)絡(luò)控制研究和利用人腦的結(jié)構(gòu)機(jī)理以及人的知識(shí)和經(jīng)驗(yàn)對(duì)系統(tǒng)進(jìn)行控制,采用神經(jīng)網(wǎng)絡(luò)的控制問(wèn)題,可以看成是模式識(shí)別問(wèn)題,被識(shí)別的模式是映射成“行為”信號(hào)的變化信號(hào)。理論研究表明,神經(jīng)網(wǎng)絡(luò)控制系統(tǒng)的智能性、魯棒性均很好,更為重要的是神經(jīng)網(wǎng)絡(luò)具有學(xué)習(xí)能力,不斷修正神經(jīng)元之間的連接權(quán)值,并離散存儲(chǔ)在連接網(wǎng)絡(luò)中,因而神經(jīng)網(wǎng)絡(luò)能處理高維、非線性、強(qiáng)耦合和不確定性的難以建模的復(fù)雜控制問(wèn)題[24,25]。應(yīng)用神經(jīng)網(wǎng)絡(luò)方法能夠?qū)Φ沽[模型進(jìn)行無(wú)模型學(xué)習(xí)控制,神經(jīng)網(wǎng)絡(luò)控制和模糊控制在對(duì)倒立擺系統(tǒng)的控制方面各有特點(diǎn),理論上,如果將神經(jīng)網(wǎng)絡(luò)控制與模糊控制結(jié)合起來(lái),可以獲得更佳的控制效果。(3)遺傳算法遺傳算法這種模擬自然進(jìn)化過(guò)程而得到的隨機(jī)性全局優(yōu)化方法,現(xiàn)在被廣泛地研究和應(yīng)用。遺傳算法在自動(dòng)控制科學(xué)中,已經(jīng)成功地用來(lái)研究離散時(shí)間的最優(yōu)控制問(wèn)題、Riccati方程的求解問(wèn)題和控制系統(tǒng)的魯棒穩(wěn)定問(wèn)題等。在實(shí)際應(yīng)用中,通常將遺傳算法與其他控制算法相結(jié)合,以克服單一控制算法存在的弊端,發(fā)揮兩者各自的鮮明優(yōu)點(diǎn),達(dá)到理想的控制效果。目前,遺傳算法在BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練中、模糊規(guī)則的優(yōu)化中、LQR控制權(quán)值矩陣參數(shù)的尋求中應(yīng)用很廣泛。由于BP網(wǎng)絡(luò)本身的訓(xùn)練機(jī)理,在權(quán)值優(yōu)化過(guò)程中容易陷入局部最優(yōu)解,理論和實(shí)踐表明利用遺傳算法的全局尋優(yōu)功能,可以很好的克服BP網(wǎng)絡(luò)這一缺點(diǎn);在模糊控制中,模糊規(guī)則的建立非常大程度地依賴專家和操作者的調(diào)試經(jīng)驗(yàn),規(guī)則的建立過(guò)程是一個(gè)不斷歸納分析和實(shí)驗(yàn)測(cè)試的過(guò)程,將遺傳算法應(yīng)用到模糊規(guī)則的建立中,優(yōu)化有效的控制規(guī)則,剔除冗余的語(yǔ)言規(guī)則,可以加速模糊控制器的設(shè)計(jì)過(guò)程,提高模糊控制器的控制精度;而遺傳算法在LQR權(quán)值矩陣參數(shù)尋優(yōu)的應(yīng)用將在本文中詳細(xì)論述。1.4課題的研究思路和內(nèi)容1.4.1課題的研究思路以固高科技GLIP2003型倒立擺系統(tǒng)硬件平臺(tái)[26]為基礎(chǔ),建立一、二級(jí)倒立擺系統(tǒng)的數(shù)學(xué)模型,應(yīng)用MATLABR2007b(Matlab7.5.0)開(kāi)發(fā)環(huán)境的m語(yǔ)言編寫GA-LQR算法,借助動(dòng)態(tài)仿真集成環(huán)境Simulink設(shè)計(jì)基于GA-LQR控制器以實(shí)現(xiàn)對(duì)一級(jí)和二級(jí)直線倒立擺的穩(wěn)擺控制;編寫基于C-MEX的S-Function形式的能量反饋控制器以完成對(duì)直線一級(jí)倒立擺的自起擺控制。設(shè)計(jì)完成直線一級(jí)自起擺控制器和一、二級(jí)倒立擺的穩(wěn)擺控制器后,借助Matlab/GUI圖形界面開(kāi)發(fā)環(huán)境進(jìn)行穩(wěn)擺控制器控制效果的仿真調(diào)試,得到滿意的仿真控制效果后,應(yīng)用Matlab實(shí)時(shí)工作間——Real-TimeWorkshop(RTW)在VisualC++6.0語(yǔ)言編譯環(huán)境下將Simulink下的仿真模型轉(zhuǎn)化為c代碼,在外部模式下,進(jìn)行硬件在回路的半實(shí)物實(shí)時(shí)控制。1.4.2課題的研究?jī)?nèi)容⑴深入探討遺傳算法的基本概、基本原理及其在控制領(lǐng)域中的應(yīng)用。⑵借助牛頓力學(xué)和拉格朗日能量分析法建立一、二級(jí)倒立擺系統(tǒng)的在豎直向上平衡位置的近似線性化數(shù)學(xué)模型,在得到的數(shù)學(xué)模型基礎(chǔ)上借助Matalb矩陣分析法分析系統(tǒng)的穩(wěn)定性、能控性和能觀性。⑶針對(duì)LQR控制器的權(quán)重矩陣Q和R在工程實(shí)踐中難于確定的問(wèn)題,利用遺傳算法的全局搜索能力來(lái)尋優(yōu)并確定參數(shù)矩陣Q和R,并對(duì)簡(jiǎn)單遺傳算法提出改進(jìn)方案,借助Matlab的m語(yǔ)言實(shí)現(xiàn)GA算法編程,同時(shí)調(diào)試和改進(jìn)算法性能。=4\*GB2⑷借助動(dòng)態(tài)仿真集成環(huán)境Simulink設(shè)計(jì)基于GA-LQR控制器以實(shí)現(xiàn)對(duì)一級(jí)和二級(jí)直線倒立擺的穩(wěn)擺控制。=5\*GB2⑸編寫基于C-MEX的S-Function形式的能量控制器用于控制直線一級(jí)擺的自起擺,其穩(wěn)擺控制由GA-LQR控制器來(lái)實(shí)現(xiàn)。=6\*GB2⑹應(yīng)用Matlab的圖形用戶界面GUI開(kāi)發(fā)直線兩級(jí)倒立擺仿真模型的仿真調(diào)試界面,完成對(duì)建好的倒立擺系統(tǒng)的Simulink模型的仿真測(cè)試。=7\*GB2⑺借助Matalb/RTW將直線兩級(jí)倒立擺穩(wěn)擺控制的Simulink模型以及直線一級(jí)倒立擺的自起擺的Simulink模型轉(zhuǎn)化為C代碼,進(jìn)而進(jìn)行硬件在回路的半實(shí)物實(shí)時(shí)控制,確保GA-LQR穩(wěn)擺控制方案的切實(shí)可行性。=8\*GB2⑻對(duì)本論文的工作進(jìn)行概括性總結(jié)及其展望。第二章遺傳算法的理論和應(yīng)用2.1遺傳算法的基本概念遺傳算法是模仿自然界生物進(jìn)化機(jī)制發(fā)展起來(lái)的隨機(jī)全局搜索和優(yōu)化方法,它借鑒孟德?tīng)柕倪z傳學(xué)說(shuō)和達(dá)爾文的進(jìn)化論。其本質(zhì)是一種高效、并行、全局搜索方法,它在搜索過(guò)程中自動(dòng)獲取和積累有關(guān)搜索空間的知識(shí),并自適應(yīng)地控制搜索過(guò)程以求得最優(yōu)解。遺傳算法操作依據(jù)適者生存的原則,在潛在的解決方案種群中逐次產(chǎn)生一個(gè)近似最優(yōu)的方案。在遺傳算法的每一代中,根據(jù)個(gè)體在問(wèn)題域中的適應(yīng)度值和從遺傳學(xué)中借鑒的再造方法進(jìn)行個(gè)體選擇,產(chǎn)生一個(gè)新的近似解。在這個(gè)過(guò)程中種群中的個(gè)體得到進(jìn)化,產(chǎn)生的新的個(gè)體比原來(lái)的個(gè)體具有更優(yōu)的適應(yīng)性。生物的進(jìn)化過(guò)程主要是通過(guò)染色體之間的交叉和變異來(lái)完成的?;趯?duì)自然界中生物遺傳與進(jìn)化機(jī)理的模仿,針對(duì)不同的問(wèn)題,遺傳算法研究者設(shè)計(jì)了許多不同的編碼方法來(lái)表示問(wèn)題的可行解,應(yīng)用不同的遺傳算子來(lái)模仿不同環(huán)境下的生物遺傳特性。進(jìn)而由不同的編碼方法和不同的遺傳算子就構(gòu)成了各種不同的遺傳算法。2.2遺傳算法的理論基礎(chǔ)遺傳算法的有效性理論依據(jù)是模式定理和積木假設(shè)[27,28,29,]。模式定理保證了較優(yōu)模式(遺傳算法的較優(yōu)解)的樣本程指數(shù)級(jí)增長(zhǎng),從而滿足了尋找最優(yōu)解的必要條件,即遺傳算法存在尋找到最優(yōu)解的可能性;而積木假設(shè)指出,遺傳算法具備尋找到全局最優(yōu)解的能力,即有低階、短距、高平均適應(yīng)度的模式,在遺傳算子作用下,相互結(jié)合,能生成高階、長(zhǎng)距、高適應(yīng)度的模式,最終找到全局最優(yōu)解。2.2.1模式定理模式定理最初由Holland提出,是遺傳算法重要的里程碑,通過(guò)不斷的完善,模式定理已成為遺傳算法最為成熟和重要的理論。模式定理從一定程度上解釋了染色體編碼結(jié)構(gòu)在進(jìn)化過(guò)程中的一些規(guī)律性的表現(xiàn)。為了不失一般性,論文中以二進(jìn)制串作為編碼方式來(lái)說(shuō)明模式定理。定義1基于三值字符串所產(chǎn)生的一類能描述具有某些結(jié)構(gòu)相似性的0,1字符串集的編碼稱作模式。以長(zhǎng)度為5的字符串為例,模式*0001描述了在位置2、3、4、5具有形式“0001”的所有字符串,即(00001,10001)。進(jìn)而可知模式的概念提供一種簡(jiǎn)潔的用于描述在某些位置上具有結(jié)構(gòu)相似性的0、1字符串集合的方法。引入模式的概念后。可以看到一個(gè)串實(shí)際上隱含著多個(gè)模式(長(zhǎng)度為n的二進(jìn)制串隱含著2n個(gè)模式,一個(gè)模式可以隱含在多個(gè)串中,不同的串之間通過(guò)模式而相互聯(lián)系。在遺傳算法中串的運(yùn)算實(shí)際上是模式的運(yùn)算。定義2設(shè)有模式H,H中確定位置的個(gè)數(shù)稱為該模式的階數(shù),記作。定義3模式H中第一個(gè)確定位置和最后一個(gè)確定位置之間的距離稱作該模式的定義距,記作。模式的階數(shù)和定義距描述了模式的基本性質(zhì)。接著通過(guò)分析遺傳算法的三種基本遺傳操作來(lái)討論模式定理。設(shè)代表第t代基因串的群體,以表示第t代中第j個(gè)個(gè)體串。1.選擇對(duì)模式的影響設(shè)代表第t代基因串的群體;表示群體中第j個(gè)個(gè)體串;表示該群體中與模式H相匹配的個(gè)體集合;表示中個(gè)體的數(shù)目,即群體中與模式H相匹配的個(gè)體數(shù)目;表示中個(gè)體的平均適應(yīng)度,即中與模式H相匹配的個(gè)體平均適應(yīng)度,有 (2.1)在選擇過(guò)程中中任何一個(gè)基因串是以概率被選中進(jìn)行復(fù)制的,其中為個(gè)體適應(yīng)度。因此可以預(yù)期在復(fù)制完成后模式在t+1代中的樣本數(shù)變?yōu)? (2.2)設(shè)為群體平均適應(yīng)度,則,則方程(2.2)可以轉(zhuǎn)化為 (2.3)式(2.3)表明,經(jīng)過(guò)選擇操作后,下一代模式H樣本數(shù)的增加或減少與該模式的平均適應(yīng)度成正比,與群體平均適應(yīng)度成反比,即平均適應(yīng)度高于群體平均適應(yīng)度的模式在下一代的數(shù)量將增加,反之,則會(huì)減少,假設(shè)模式H的平均適應(yīng)度高于群體的平均適應(yīng)度,并且設(shè)高出的部分為,c為一個(gè)大于0常數(shù),則有 (2.4)假設(shè)從開(kāi)始,c保持為正常數(shù),則上式轉(zhuǎn)化為 (2.5)可見(jiàn)在選擇算子的作用下,與某一模式所匹配的樣本數(shù)的增減依賴于模式的平均適應(yīng)度與群體平均適應(yīng)度之比,平均適應(yīng)度高于群體平均適應(yīng)度的將按指數(shù)級(jí)增長(zhǎng)。同時(shí)從整個(gè)選擇過(guò)程中可以看出,雖然選擇操作能使模式的數(shù)量以指數(shù)形式增減,但由于選擇操作只能將某些高適應(yīng)度的個(gè)體復(fù)制,低適應(yīng)度的個(gè)體淘汰,它并不產(chǎn)生新的模式結(jié)構(gòu),因而選擇操作對(duì)遺傳性能的改進(jìn)是有限度的。2.交叉對(duì)模式的影響交叉操作是基因串之間的有組織而又是隨機(jī)的信息交換,它在創(chuàng)造新結(jié)構(gòu)的同時(shí),應(yīng)盡可能少地破壞復(fù)制過(guò)程中所選擇的高適應(yīng)度的模式。為了討論交叉對(duì)模式的影響,下面給出一長(zhǎng)度L=6的基因串及此基因所包含的兩個(gè)代表模式,同時(shí)只考慮單點(diǎn)交叉的情況,A=010110H1=*1***0H2=***11*對(duì)于單點(diǎn)交叉過(guò)程即隨機(jī)選取一個(gè)交叉點(diǎn),然后互換對(duì)應(yīng)的片段,假設(shè)隨機(jī)選取的交叉點(diǎn)為3,它含有兩個(gè)模式H1和H2,用分隔符表示交叉位置?,F(xiàn)在假定上面給定的字符串A=010110選匹配伙伴A’=101001再隨機(jī)選取交叉點(diǎn)為3,同樣用分隔符表示交叉位置。則經(jīng)過(guò)單點(diǎn)交叉后所產(chǎn)生的子代為A1=010001A2=101110與前面給出的基因串A所包含的兩個(gè)代表模式H1、H2,對(duì)比可知,經(jīng)交叉后的所產(chǎn)生的子代A1、A2都不是模式H1的樣本,即經(jīng)過(guò)交叉后模式H1丟失了。而模式H2卻依然存在,因?yàn)椴徽揂的匹配伙伴取何種基因串形式,H2中的確定位4的“1”和確定位5的“1”,都將原封不動(dòng)地一起傳入子代個(gè)體,使模式H2存活。因?yàn)樵诒纠薪徊纥c(diǎn)是隨機(jī)選取的,即交叉點(diǎn)是按等概率產(chǎn)生的,模式H1被破壞的概率(在2、3、4、5交叉點(diǎn)都遭破壞)遠(yuǎn)遠(yuǎn)超過(guò)模式H1(只在位置4的交叉遭破壞),即模式H1的存活概率要高于模式H1。接著通過(guò)定義距來(lái)分析模式H的存活率。模式H1的定義距,如果交叉點(diǎn)始終是隨機(jī)地從L-1=6-1=5個(gè)可能的位置選取,顯然模式H1被破壞的概率為:,存活概率為,類似的模式H2的定義距為,它被破壞的概率為,其存活概率為。以上的討論中均假設(shè)交叉概率為1,通常情況下取交叉概率為Pc,此時(shí)存活概率的算式應(yīng)描述為 (2.6)式(2.6)是在忽略了交叉點(diǎn)發(fā)生在定義距內(nèi)模式不被破壞的可能性情況下推導(dǎo)的。在前面給出的例子中,若A的匹配伙伴在位置2,6上有一位與A相同,則H1將被保留。考慮到這一點(diǎn),式(2.6)給出存活概率的一個(gè)下屆,即 (2.7)式(2.7)即為模式H在交叉算子下的存活概率。考慮模式H在選擇和交叉算子的共同作用下的變化情況。參考式(2.3)和式(2.7),便有 (2.8)式(2.8)表明,在選擇和交叉的共同作用下,模式H的數(shù)量增長(zhǎng)或減少,取決于其模式的平均適應(yīng)度的高低即和定義距的長(zhǎng)短。越大,越小,則H的數(shù)量就越多。3.變異對(duì)模式的影響變異是對(duì)基因串中的某一單個(gè)位置以概率Pm進(jìn)行隨機(jī)改變,這種隨機(jī)改變可能使模式H遭到破壞。一個(gè)模式H要存活,意味著它所有的確定位置(為“0”或?yàn)椤?”的位置)都存活,因此由于單個(gè)位置的基因位發(fā)生改變的概率都為Pm,存活的概率為1-Pm,而且由于每個(gè)變異的發(fā)生是統(tǒng)計(jì)獨(dú)立的,所以模式僅H當(dāng)它的個(gè)確定位置都存活時(shí)才存活,即自乘次,即可得到經(jīng)變異后模式H的存活率 (2.9)由于,H的存活概率可以表示為 (2.10)綜合考慮選擇、交叉和變異操作的共同作用,模式H在經(jīng)歷了選擇、交叉和變異后,其子代的樣本數(shù)可以表示為 (2.11)式(2.11)可以近似為 (2.12)式(2.12)忽略了極小項(xiàng) (2.13)為進(jìn)一步簡(jiǎn)化式(2.12),令 (2.14)即 (2.15)當(dāng)和都很小時(shí),如果并保持為常數(shù),則式(2.12)可以改寫成: (2.16)綜合式(2.12)和式(2.16)即給出模式定理:在遺傳算子選擇、交叉和變異的作用下,具有低階、短定義距以及平均適應(yīng)度高于群體平均適應(yīng)度的模式,將會(huì)在子代中呈指數(shù)級(jí)地增長(zhǎng)。2.2.2積木假設(shè)模式定理使遺傳算法在染色體位串基因?qū)哟紊蠈?duì)其性能分析有了基本的定量描述手段,但是模式定理只是說(shuō)明了遺傳算法存在尋找全局最優(yōu)解的可能性,不能保證遺傳算法的收斂性,針對(duì)該問(wèn)題,Holland教授在復(fù)雜系統(tǒng)建模和生物的進(jìn)化研究中,提出積木塊假說(shuō)。由模式定理知,具有低階、短距和高平均適應(yīng)度的模式,在子代中將呈指數(shù)級(jí)增長(zhǎng),這類模式在遺傳算法中稱之為積木塊(BuildingBlock)。同時(shí)給出假設(shè):低階、短距、高適應(yīng)度的模式(積木塊)在遺傳算子的作用下,相互結(jié)合,能生成高階、長(zhǎng)距、高適應(yīng)度的模式,可最終生成全局最優(yōu)解。同搭建積木一樣,這些好的模式在遺傳操作下互相拼接、結(jié)合、產(chǎn)生適應(yīng)度更高的個(gè)體基因串,從而找到更優(yōu)的可行解,這正是積木假設(shè)所揭示的內(nèi)容。然而到目前為止,積木假設(shè)的結(jié)論并沒(méi)有得到證明,因此稱之為假設(shè),而非定理?,F(xiàn)在已有大量的實(shí)踐證據(jù)支持這一假設(shè),因此可以肯定,對(duì)很多經(jīng)常碰到的問(wèn)題,遺傳算法都是適用的。2.3遺傳算法的設(shè)計(jì)與實(shí)現(xiàn)遺傳算法模擬了自然選擇和遺傳學(xué)中的復(fù)制、交叉和變異現(xiàn)象,從任一隨機(jī)初始種群(Population)出發(fā),通過(guò)選擇、交叉和變異操作,產(chǎn)生一群更適應(yīng)環(huán)境的個(gè)體,使群體一代一代繁衍進(jìn)化到搜索空間中趨向最優(yōu)解的區(qū)域,最后收斂到一群最適應(yīng)環(huán)境的個(gè)體(Individual),從而求得問(wèn)題的最優(yōu)解。2.3.1遺傳算法的設(shè)計(jì)流程完整的遺傳算法的運(yùn)作流程如圖2.1所示:改善或解決實(shí)際問(wèn)題改善或解決實(shí)際問(wèn)題實(shí)際問(wèn)題參數(shù)集編碼成位串計(jì)算適應(yīng)度值統(tǒng)計(jì)結(jié)果遺傳操作種群2種群1三種遺傳算子:選擇算子交叉算子變異算子經(jīng)過(guò)優(yōu)化的一個(gè)或多個(gè)參數(shù)集(解碼后)隨機(jī)算子種群1種群2圖2.1遺傳算法的運(yùn)作流程Figure2.1FlowChartofGeneticAlgorithm即在遺傳算法中,根據(jù)待解決的實(shí)際問(wèn)題,首先通過(guò)隨機(jī)方式產(chǎn)生若干個(gè)所求問(wèn)題的數(shù)字編碼(染色體)來(lái)形成初始群體(種群),以此為進(jìn)化起點(diǎn)的第一代群體,并計(jì)算每串編碼的個(gè)體適應(yīng)度值,進(jìn)而對(duì)每個(gè)個(gè)體進(jìn)行評(píng)估。接下來(lái)類似于自然選擇,從群體中隨機(jī)挑選若干個(gè)個(gè)體作為繁殖過(guò)程的樣本集合進(jìn)行遺傳操作。選擇機(jī)制應(yīng)保證適應(yīng)度值較高的個(gè)體能保留較多的樣本,而適應(yīng)度值低的個(gè)體則保留較少的樣本或被淘汰。在進(jìn)化過(guò)程中,利用交叉和變異兩種算子,以一定的交叉概率和變異概率對(duì)對(duì)挑選后的的樣本進(jìn)行變換,從而生成新的個(gè)體。接著通過(guò)新老個(gè)體的替換產(chǎn)生下一代群體。遺傳算法不斷重復(fù)前述的的評(píng)估、選擇、繁衍和替換過(guò)程,直到整個(gè)過(guò)程滿足一定的結(jié)束條件為止。通常情況下,進(jìn)化過(guò)程的最后一代群體中的適應(yīng)度值最高的個(gè)體,就是利用遺傳算法求解的優(yōu)化問(wèn)題的最終結(jié)果。2.3.2遺傳算法的實(shí)現(xiàn)步驟基本遺傳算法(SimpleGeneticAlgorithm)可定義為一個(gè)8元組: (2.17)式中,C——個(gè)體編碼方法,SGA采用二進(jìn)制編碼方法;E——個(gè)體適應(yīng)度評(píng)價(jià)函數(shù);P0——初始群體;M——群體的大小,通常取20~100;——選擇算子,SGA使用比例選擇算子;——交叉算子,SGA采用單點(diǎn)交叉算子;——變異算子,SGA采用基本位變異算子;——算法終止條件,一般終止進(jìn)化代數(shù)為100~500。1.參數(shù)編碼與解碼遺傳算法主要是通過(guò)遺傳算子對(duì)群體中具有某種結(jié)構(gòu)形式的個(gè)體施加重組處理,從而不斷地搜索出群體中個(gè)體間的結(jié)構(gòu)相似性,逐代優(yōu)化參數(shù)以趨近最優(yōu)解。遺傳算法不能直接處理問(wèn)題空間的參數(shù),必須在目標(biāo)問(wèn)題的實(shí)際描述與遺傳算法的染色體位串結(jié)構(gòu)之間建立聯(lián)系。由問(wèn)題空間向遺傳編碼空間的映射稱作編碼(Encoding),而由編碼空間向問(wèn)題空間的映射稱作解碼(Decoding)。編碼將問(wèn)題域知識(shí)轉(zhuǎn)化為遺傳算法空間的碼串描述。理論上,編碼應(yīng)該適合要解決的問(wèn)題,并非是簡(jiǎn)單的描述問(wèn)題。因而在具體的應(yīng)用中,編碼設(shè)計(jì)應(yīng)遵循如下原則:完全性原則上,分布在所有問(wèn)題域的解都有可能被構(gòu)造出來(lái)。分閉性每個(gè)基因碼,對(duì)應(yīng)一個(gè)可接受的個(gè)體,封閉性保證系統(tǒng)不會(huì)產(chǎn)生無(wú)效的個(gè)體。緊致性若兩種基因碼g1和g2都被解碼成相同的個(gè)體,若g1比g2占的空間少,就認(rèn)為g1比g2緊致。可擴(kuò)展性對(duì)于具體的問(wèn)題,編碼的大小確定了解碼的時(shí)間,兩者存在一定的函數(shù)關(guān)系,若增加一種表現(xiàn)型,作為基因型的編碼大小也做出相應(yīng)的增加。多重性多個(gè)基因型解碼成一個(gè)表現(xiàn)型,即從基因型到相應(yīng)的表現(xiàn)型空間是多對(duì)一的關(guān)系,這是基因的多重性。若相同的基因型被解碼成不同的表現(xiàn)型,這是表現(xiàn)型的多重性。個(gè)體可塑性決定表現(xiàn)型與相應(yīng)給定基因型是受環(huán)境影響的。模塊性若表現(xiàn)型的構(gòu)成中有多個(gè)重復(fù)的結(jié)構(gòu),在基因型編碼中這種重復(fù)是應(yīng)該避免的。冗余性冗余性能夠提高可靠性和魯棒性。復(fù)雜性包括基因型的結(jié)構(gòu)復(fù)雜性,解碼復(fù)雜性,計(jì)算時(shí)空復(fù)雜性(基因解碼、適應(yīng)值、再生等)[30]。編碼方式常用的有二進(jìn)制編碼和浮點(diǎn)數(shù)編碼。(1)二進(jìn)制編碼二進(jìn)制編碼是遺傳算法中常用的一種編碼方法,即將原問(wèn)題的解映射為0,1組成的位串,然后在位串空間上進(jìn)行遺傳操作。得到的結(jié)果再通過(guò)解碼過(guò)程還原為原問(wèn)題解的解空間,接著進(jìn)行適應(yīng)度值的計(jì)算。設(shè)種群中的個(gè)體數(shù)目為n,表示第t代的i個(gè)個(gè)體,。每個(gè)個(gè)體用l位二進(jìn)制表示。這樣每個(gè)個(gè)體,這樣每個(gè)個(gè)體基因位數(shù)目L=ml。個(gè)體可以表示為ml維的行向量,即。第t代種群可以表示為一個(gè)的矩陣。個(gè)體的第k個(gè)長(zhǎng)度為l的二進(jìn)制碼串轉(zhuǎn)化為實(shí)數(shù)的解碼函數(shù)為 (2.18)式(2.18)中和分別為第k個(gè)實(shí)數(shù)范圍的上限和下限。很多數(shù)值計(jì)算與非數(shù)值優(yōu)化問(wèn)題都可以用二進(jìn)制編碼來(lái)實(shí)現(xiàn),該方法具有如下優(yōu)點(diǎn):編碼方式簡(jiǎn)單且操作方便;符合最小字符集編碼原則,便于用模式定理進(jìn)行分析。但當(dāng)二進(jìn)制編碼在求解連續(xù)優(yōu)化問(wèn)題存在以下缺點(diǎn):相鄰整數(shù)的二進(jìn)制可能有較大的Hamming距離,例如15和16的二進(jìn)制表示為01111和10000。因此算法要從15改進(jìn)到16則必須改變所有的位。這種缺陷將降低遺傳算子的搜索效率[17,31]。(2)浮點(diǎn)數(shù)編碼為了克服二進(jìn)制編碼對(duì)于一些多維、高精度要求的連續(xù)函數(shù)優(yōu)化問(wèn)題弊端可以采用十進(jìn)制或浮點(diǎn)數(shù)進(jìn)行編碼。所謂浮點(diǎn)數(shù)編碼方法,是指?jìng)€(gè)體的每個(gè)基因值用某一范圍內(nèi)的浮點(diǎn)數(shù)來(lái)表示,個(gè)體編碼的長(zhǎng)度等于其決策變量的個(gè)體。浮點(diǎn)數(shù)編碼必須保證基因值在給定的區(qū)間限制范圍內(nèi)。同時(shí),遺傳操作中所使用的交叉、變異等也引入了專門的遺傳算子,保證其運(yùn)算結(jié)果所產(chǎn)生的新個(gè)體的基因值也在這個(gè)區(qū)間限制范圍內(nèi)[32]。浮點(diǎn)數(shù)編碼適用于搜索空間較大、精度要求較高的遺傳方案中,其運(yùn)算簡(jiǎn)單,提高了遺傳算法的運(yùn)算效率,有利于遺傳算法與經(jīng)典優(yōu)化方法的混合應(yīng)用,便于處理具有約束條件的復(fù)雜決策變量。2.適應(yīng)度函數(shù)值計(jì)算在生物的遺傳和進(jìn)化過(guò)程中,對(duì)環(huán)境適應(yīng)度較高的物種將有更多的繁殖機(jī)會(huì),遺傳算法中也使用類似的概念來(lái)度量群體中各個(gè)個(gè)體在優(yōu)化計(jì)算中有可能、或有助于找到最佳解的尋優(yōu)過(guò)程。適應(yīng)度值較高的個(gè)體遺傳到下一代的概率就較大,而適應(yīng)度值較低的個(gè)體遺傳到下一代的概率就相對(duì)小些。度量個(gè)體適應(yīng)度值的函數(shù)稱為適應(yīng)度函數(shù)(FitnessFunction)。適應(yīng)度函數(shù)的選取至關(guān)重要,它直接影響遺傳算法的收斂速度以及能否找到最優(yōu)解。設(shè)計(jì)適應(yīng)度函數(shù)要保證其:①單值、連續(xù)、非負(fù)、最大化;②滿足合理性和一致性③計(jì)算量小、通用性強(qiáng)。在遺傳算法的實(shí)際應(yīng)用中,適應(yīng)度函數(shù)的確定方法通常有以下三種:(1)直接以待求解的目標(biāo)函數(shù)轉(zhuǎn)化為適應(yīng)度函數(shù),即若目標(biāo)函數(shù)為最大化問(wèn)題則取 (2.19)若目標(biāo)函數(shù)為最小問(wèn)題則取 (2.20)這種適應(yīng)度函數(shù)簡(jiǎn)單直觀,但是存在兩個(gè)問(wèn)題,其一是可能不滿足常用的輪盤賭選擇中概率非負(fù)的要求;其二是某些待求解的函數(shù)在函數(shù)值分布上相差很大,由此得到的平均適應(yīng)度可能不利于體現(xiàn)種群的平均性能,影響整個(gè)遺傳算法的性能。(2)界限構(gòu)造法若目標(biāo)函數(shù)為最大化問(wèn)題則 (2.21)式(2.21)中,為的最小估計(jì)。若目標(biāo)函數(shù)為最小問(wèn)題 (2.22)這種方法是對(duì)第一種方法的改進(jìn),在具體的應(yīng)用中優(yōu)勢(shì)會(huì)存在預(yù)先估計(jì)困難、不精確的問(wèn)題。(3)若目標(biāo)函數(shù)為最大問(wèn)題取 (2.23)若目標(biāo)函數(shù)為最小問(wèn)題取 (2.24)該方法與第二種方法類似,c為目標(biāo)函數(shù)界限的保守估計(jì)值[17,33,34]。3遺傳操作遺傳算法的操作算子包括選擇、交叉(又稱重組)和變異三種基本形式。三種遺傳算子是遺傳算法具備強(qiáng)大搜索能力的核心,是模擬自然選擇以及遺傳過(guò)程中的繁殖惡化突變現(xiàn)象的主要載體。遺傳算法利用交叉和變異算子產(chǎn)生新的群體進(jìn)而實(shí)現(xiàn)種群進(jìn)化,遺傳算子的設(shè)計(jì)是遺傳策略的主要組成部分,也是調(diào)整和控制進(jìn)化過(guò)程的基本工具。(1)選擇算子選擇是從群體中挑選優(yōu)良的個(gè)體同時(shí)淘汰劣質(zhì)個(gè)體的遺傳操作過(guò)程。它建立在適應(yīng)度評(píng)估的基礎(chǔ)上,個(gè)體適應(yīng)度越大,其被選中的可能性就越大,它的子代保留到匹配池(matingpool)中的個(gè)數(shù)就越多。常用的遺傳方法有[17,35]:①輪盤賭方法(roulettewheelmodel)輪盤賭方法是遺傳算法中最基本也最常用的選擇方法。設(shè)群體為P,個(gè)體的適應(yīng)度為Fitness,則個(gè)體i被選擇的概率為 (2.24)其累計(jì)概率為 (2.25)式(2.25)中,表示該種群在這一代中的總適應(yīng)度值。選擇按旋轉(zhuǎn)輪盤(輪盤上按Pi的大小劃分為不等的扇區(qū)),顯然適應(yīng)度大的個(gè)體其選擇概率越大,在輪盤中所占的位置越大,被選中的概率也就越大。②排序選擇法(rank-basedmodel)排序選擇法以標(biāo)準(zhǔn)化幾何分布規(guī)律隨機(jī)對(duì)種群中染色體進(jìn)行選擇,以最佳染色體的選擇概率Ps作為基本參數(shù),按染色體的排列序號(hào)確定其選擇概率。排序法的最大優(yōu)點(diǎn)在于排序法忽略實(shí)際染色體的適應(yīng)度值,用染色體的順序來(lái)?yè)Q算出相應(yīng)的生存概率,換算原則為大適應(yīng)度值對(duì)高選擇概率,小適應(yīng)度值對(duì)低選擇概率。這樣既能保證大適應(yīng)度值染色體獲得高選擇概率,同時(shí)又阻止某些超級(jí)染色體過(guò)快地控制遺傳過(guò)程。排序選擇法首先需根據(jù)最佳染色體選擇概率計(jì)算標(biāo)準(zhǔn)分布值,表達(dá)式如下 (2.26)接著根據(jù)上式計(jì)算染色體選擇概率: (2.27)式(2.27)中為第k個(gè)染色體的適應(yīng)值在種群中由大到小排列的序號(hào)。Ps為最佳染色體選擇概率,P為樣本數(shù)。最后計(jì)算染色體的累計(jì)選擇概率值qk (2.28)③最佳個(gè)體保存法最佳個(gè)體保存法把群體中適應(yīng)度值最高的個(gè)體不進(jìn)行配對(duì)交叉而直接復(fù)制到下一代。該方法的好處在于保證了進(jìn)化過(guò)程中的某一代的最優(yōu)解不被交叉和變異操作所破壞。然而該方法使一些局部?jī)?yōu)化個(gè)體的遺傳基因會(huì)急速增加而達(dá)到局部?jī)?yōu)化解,其全局搜索能力差,不利于多峰值的搜索問(wèn)題,因而該方法一般與其他選擇方法相結(jié)合而使用。(2)交叉算子在遺傳操作中,交叉操作因其全局搜索能力而成為主要算子。交叉操作的作用在于它不僅使原來(lái)種群中的優(yōu)良個(gè)體的特性能夠在一定程度上保持,而且其探索新的空間的能力使得種群中的個(gè)體具有多樣性。它是GA獲取新的優(yōu)良個(gè)體的最重要手段。交叉是指把兩個(gè)父串個(gè)體的部分結(jié)構(gòu)加以替換重組而成新個(gè)體的操作,交叉算子分為兩類,一類為二進(jìn)制交叉,一類為浮點(diǎn)數(shù)交叉。①二進(jìn)制交叉運(yùn)算該操作按一定的概率Pc在匹配池中隨機(jī)地選取兩個(gè)個(gè)體進(jìn)行,交叉的位置也是隨機(jī)確定的。其二進(jìn)制編碼操作又可分為單點(diǎn)交叉、兩點(diǎn)交叉和多點(diǎn)交叉。單點(diǎn)交叉:是在個(gè)體中隨機(jī)地選定一個(gè)交叉點(diǎn),兩個(gè)個(gè)體在該點(diǎn)前后進(jìn)行部分互換以產(chǎn)生新的個(gè)體,如:父輩個(gè)體1AAAAAA|AAAAAA→BBBBBB|AAAAAA父輩個(gè)體2BBBBBB|BBBBBB→AAAAAA|BBBBBB兩點(diǎn)交叉:與單點(diǎn)交叉類似,只是隨機(jī)設(shè)置兩個(gè)交叉點(diǎn)進(jìn)行部分乎換,以產(chǎn)生新的個(gè)體,如:父輩個(gè)體1AAAA|AAAA|AAAA→AAAA|BBBB|AAAA父輩個(gè)體2BBBB|BBBB|BBBB→BBBB|AAAA|BBBB多點(diǎn)交叉:該交叉操作即前述兩種交叉操作的推廣,多點(diǎn)交叉有時(shí)又被叫作廣義交叉。當(dāng)用c表示交叉參數(shù)時(shí),則c=1或c=2時(shí)即為單點(diǎn)交叉和兩點(diǎn)交叉。②浮點(diǎn)數(shù)編碼的交叉運(yùn)算常用的浮點(diǎn)數(shù)編碼的交叉運(yùn)算為線性交叉又稱算術(shù)交叉。即兩個(gè)父代以線性組合的方式產(chǎn)生子代。對(duì)于凸搜索空間,算術(shù)交叉保證其子代的閉合性。也就是問(wèn)題空間內(nèi)的任何兩個(gè)染色體的線性組合仍屬于問(wèn)題空間。該方法在種群中均勻隨機(jī)選取兩條染色體作為交叉雙親;然后在[0,1]區(qū)間內(nèi)產(chǎn)生隨機(jī)數(shù);對(duì)染色體按交叉次數(shù)進(jìn)行如式(2.29)操作 (2.29)式中為產(chǎn)生的新染色體。(3)變異運(yùn)算變異運(yùn)算使得遺傳算法具有局部隨機(jī)搜索能力,配合交叉操作以維持種群的多樣性,防止出現(xiàn)過(guò)早收斂。變異算子也具有兩類,一類為基本的二進(jìn)制變異操作,另一類為針對(duì)浮點(diǎn)數(shù)而言的浮點(diǎn)數(shù)變異。①二進(jìn)制變異運(yùn)算變異是以很小的概率Pm隨機(jī)地改變個(gè)體串中染色體的某些基因值。在二進(jìn)制編碼方式中,變異操作基本過(guò)程是變異算子隨機(jī)地將某個(gè)基因值取反,即“0”變?yōu)椤?”,“1”變?yōu)椤?”。如:[01000101000101011010]→[01010101000101001010]②浮點(diǎn)數(shù)變異運(yùn)算對(duì)于浮點(diǎn)數(shù)則常用的變異手段有均勻變異、邊界變異和非均勻變異等。浮點(diǎn)數(shù)變異目的在于擴(kuò)大染色體基因的取值范圍。均勻變異:設(shè)種群中有染色體,均勻變異則先在染色體中選擇分量,接著在一個(gè)定義區(qū)間[bl,br]中均勻地選取一個(gè)數(shù)代替,至此得到新的染色體為。非均勻變異:是指在各代中參與變異操作的染色體的變異量是非均勻變化的,變異量的函數(shù)公式表達(dá)為 (2.30)代數(shù)b=4代數(shù)b=4b=3b=2變異量圖2.2變異形狀系數(shù)圖Figure2.2TheChartofGeneMutationCoefficient式(2.30)中代表當(dāng)前進(jìn)化代數(shù),表示最大進(jìn)化代數(shù),表[0,1]間的隨機(jī)數(shù),則是如圖2.2所示的變異系數(shù),是參與變異操作的染色體到取值區(qū)域邊界的距離,可以通過(guò)下面的計(jì)算公式得出 (2.31)在式(2.13)中——隨機(jī)數(shù)0或1,——取值區(qū)域的左右邊界。4遺傳算法運(yùn)行參數(shù)選擇從圖2.1——遺傳算法的運(yùn)作流程中可以知道,在進(jìn)行遺傳算法的設(shè)計(jì)時(shí)涉及的主要參數(shù)有:種群規(guī)模、選擇操作方法、交叉率、變異率、進(jìn)化代數(shù)等。在選擇具體遺傳算子時(shí),要涉及選擇與算子相關(guān)的參數(shù)。遺傳算法的參數(shù)選擇合理與否直接影響到算法的收斂速度和優(yōu)化精度。然而,影響參數(shù)選擇的因素很多,有的與待優(yōu)化問(wèn)題本身內(nèi)涵的客觀規(guī)律有關(guān),有的與算子的選擇有關(guān),目前,還不存在一個(gè)普遍適用的規(guī)則作為遺傳算法設(shè)計(jì)的參考。但是以下的實(shí)踐經(jīng)驗(yàn)可以作為遺傳算法設(shè)計(jì)的重要依據(jù)。(1)種群規(guī)模種群規(guī)模是設(shè)計(jì)遺傳算法時(shí)要首先確定的參數(shù)。當(dāng)所選種群規(guī)模過(guò)小,容易使算法陷入局部最優(yōu)解,當(dāng)種群規(guī)模選的過(guò)大,增加了算法的計(jì)算量從而減緩了算法的進(jìn)化速度。種群的大小是針對(duì)具體的問(wèn)題而言的,在實(shí)際設(shè)計(jì)時(shí),種群的選擇考慮以下因素:①問(wèn)題的內(nèi)在規(guī)律。如果在問(wèn)題空間內(nèi)目標(biāo)函數(shù)的極值點(diǎn)越多,所需要的種群規(guī)模越大;如果問(wèn)題域內(nèi)目標(biāo)函數(shù)的變化比較平滑,所需要的種群規(guī)模比較小。②問(wèn)題域的范圍。問(wèn)題空間的取值范圍越大,要求的種群規(guī)模也越大。③交叉率和變異率的選擇。交叉率和變異率較大時(shí),要求的種群規(guī)模較??;反之,較大。(2)交叉率在設(shè)計(jì)遺傳算法時(shí),交叉率的選擇很重要,遺傳算法的性能在很大程度上取決于所采用的交叉算子的性能和交叉率的大小。交叉率是指各代中交叉產(chǎn)生的后代數(shù)與種群規(guī)模之比,交叉運(yùn)算產(chǎn)生的新個(gè)體,不斷拓展搜索空間,較高的交叉率可以搜索更大的解空間,從而降低算法產(chǎn)生局部最優(yōu)解的風(fēng)險(xiǎn);當(dāng)然如果所選交叉率過(guò)高,會(huì)因搜索不必要的解空間而耗費(fèi)大量的計(jì)算時(shí)間。常用的交叉率的取值范圍為0.4~0.8.(3)變異率變異率是指種群中發(fā)生變異的基因數(shù)占總基因數(shù)的百分比。變異率也是遺傳操作中的重要參數(shù),它直接影響到算法的收斂性和最終解的性能。變異率控制著新基因的引入比例。如果選擇的變異率太大,進(jìn)化過(guò)程中,種群的隨機(jī)變化也太大,那么后代可能失去從雙親繼承下來(lái)的好的特性,影響算法的收斂性;若變異率太小,進(jìn)化時(shí)優(yōu)良的新個(gè)體產(chǎn)生的機(jī)會(huì)過(guò)小。因而在實(shí)際操作過(guò)程中,遺傳算法變異率的取值范圍通常是0.001~0.1之間,或者在進(jìn)化中采用變變異率的方法,即在變異初期選擇一個(gè)較大的變異率,提高算法的收斂性,變異后期采用較小的變異率,保證算法的穩(wěn)定性。(4)進(jìn)化終止條件遺傳算法進(jìn)化的終止可以從兩方面進(jìn)行控制:預(yù)先設(shè)定進(jìn)化代數(shù)或是根據(jù)種群的進(jìn)化程度進(jìn)行控制。其中種群的進(jìn)化程度則是指種群當(dāng)前代最大適應(yīng)值與種群的平均適應(yīng)值間的比例關(guān)系。在實(shí)際設(shè)計(jì)中,遺傳算法參數(shù)的選擇和各遺傳算子的確定密切相關(guān)。遺傳算法的角色是一種計(jì)算工具,遺傳算法可以對(duì)所要解決的問(wèn)題一無(wú)所知,要通過(guò)遺傳計(jì)算得到滿足要求的解,首先要對(duì)待解決的問(wèn)題進(jìn)行深入地、細(xì)致地分析,找出問(wèn)題的內(nèi)在規(guī)律,將問(wèn)題合理地模型化,也即將實(shí)際問(wèn)題轉(zhuǎn)化為遺傳算法可以解決的問(wèn)題。2.4遺傳算法的改進(jìn)2.4.1基本遺傳算法的局限性本文遺傳算法的改進(jìn)指針對(duì)2.3.2的簡(jiǎn)單遺傳算法(SGA)的設(shè)計(jì)而言?;具z傳算法簡(jiǎn)單易實(shí)現(xiàn),但是它存在很多缺陷。(1)SGA采用二進(jìn)制編碼,簡(jiǎn)單、易于實(shí)現(xiàn),符合最小字符集編碼原則,有較強(qiáng)的通用性,但它不反映所求問(wèn)題的結(jié)構(gòu)特征,無(wú)法利用具體領(lǐng)域的特定知識(shí),遺傳算子可選擇的操作方式有限,精度不高。(2)SGA在選擇操作過(guò)程中采用輪盤賭方法,當(dāng)群體適應(yīng)度差異非常大時(shí),最佳個(gè)體的生存機(jī)會(huì)顯著增高,較差個(gè)體的生存機(jī)會(huì)被剝奪,使最佳個(gè)體很快充滿整個(gè)群體,遺傳算法也較早地喪失了進(jìn)化能力即發(fā)生早熟問(wèn)題。另外,針對(duì)不同問(wèn)題,僅采用單點(diǎn)交叉和基本位變異的方法很難達(dá)到預(yù)期效果[36]。(3)SGA采用固定的控制參數(shù),在處理復(fù)雜問(wèn)題時(shí),很難同時(shí)兼顧搜索范圍廣和搜索速率快的矛盾,容易陷入局部極值或使搜索時(shí)間增長(zhǎng),因而采用SGA有許多地方需要改進(jìn)。2.4.2遺傳算法的改進(jìn)針對(duì)SGA所存在的問(wèn)題以及后續(xù)對(duì)本設(shè)計(jì)的深入分析,結(jié)合很多學(xué)者的多年研究經(jīng)驗(yàn),考慮從參數(shù)編碼、初始群體的設(shè)定、適應(yīng)度函數(shù)的標(biāo)定、遺傳操作算子和控制參數(shù)的選擇幾方面對(duì)SGA進(jìn)行改進(jìn)。本設(shè)計(jì)提出的改進(jìn)方案如下:(1)改進(jìn)編碼方式采用實(shí)數(shù)編碼方式即浮點(diǎn)數(shù)編碼,個(gè)體的每個(gè)基因值用某一范圍內(nèi)的一個(gè)浮點(diǎn)數(shù)來(lái)表示,個(gè)體的編碼長(zhǎng)度等于其決策變量的個(gè)數(shù)。該編碼方法使用的是決策變量的真實(shí)值,適合于在遺傳算法中表示范圍較大的數(shù);適合于精度要求較高的遺傳算法;便于較大空間的遺傳搜索,改善了遺傳算法的計(jì)算復(fù)雜性,提高了運(yùn)算效率;便于遺傳算法與經(jīng)典優(yōu)化方法的混合使用;便于設(shè)計(jì)針對(duì)問(wèn)題的專門知識(shí)的知識(shí)型遺傳算子;便于處理復(fù)雜的決策變量約束條件。浮點(diǎn)數(shù)編碼非常直觀且不會(huì)出現(xiàn)精度不夠的情況,只是針對(duì)具體問(wèn)題卻需要運(yùn)用專門的遺傳操作算子。(2)改進(jìn)選擇算子放棄SGA中的“輪盤賭”選擇方案,采用有條件的最佳保留策略——有條件的將最佳個(gè)體直接傳遞到下一代,有效地防止SGA的“早熟收斂”。(3)改進(jìn)交叉和變異算子在設(shè)計(jì)過(guò)程中,根據(jù)群體的具體情況,自適應(yīng)地改變Pc和Pm的大小,將進(jìn)化過(guò)程中分為漸進(jìn)和突變兩個(gè)不同的階段:在漸進(jìn)階段強(qiáng)交叉,弱變異,強(qiáng)化優(yōu)勢(shì)型選擇算子;突變階段弱交叉,強(qiáng)變異,弱化優(yōu)勢(shì)型選擇算子以提高算法的計(jì)算速度和效率。(4)進(jìn)化過(guò)程動(dòng)態(tài)調(diào)整子代個(gè)體遺傳算法要求在進(jìn)化過(guò)程中保持群體規(guī)模不變。但是為了防止早熟收斂,在進(jìn)化過(guò)程中可對(duì)群體中的個(gè)體進(jìn)行調(diào)整,包括引入移民算子、過(guò)濾相似個(gè)體、動(dòng)態(tài)補(bǔ)充子代新個(gè)體等。移民機(jī)制就是在每一代進(jìn)化過(guò)程中以一定的淘汰率(一般取15%~20%)將最差個(gè)體淘汰,接著用產(chǎn)生的新個(gè)體代替。移民算子是避免早熟收斂的一種好方法。在移民過(guò)程中可以加速淘汰差的個(gè)體,增加解的多樣性。為了加快收斂速度,可采用濾除相似個(gè)體的操作,減少基因的單一性。刪除相似個(gè)體的過(guò)濾操作為:對(duì)子代個(gè)體按適應(yīng)度排序,依次計(jì)算適應(yīng)度差值小于門限delta的相似個(gè)體間的廣義Hamming距離。如果同時(shí)滿足適應(yīng)度差值小于門限delta,廣義hamming距離小于門限d,就濾除其中適應(yīng)度較小的個(gè)體,其中delta和d要選取合適,以提高群體的多樣性。過(guò)濾操作要引入新個(gè)體,這時(shí)可采用從優(yōu)秀父代個(gè)體中變異產(chǎn)生新個(gè)體的方式。該方法將父代中適應(yīng)度較高的m個(gè)個(gè)體隨機(jī)進(jìn)行若干次變異,產(chǎn)生出新個(gè)體,加入子代個(gè)體。這些新個(gè)體繼承了父代較優(yōu)秀個(gè)體的模式片段,并產(chǎn)生新的模式,易于與其他個(gè)體結(jié)合生成新的優(yōu)秀子代個(gè)體,增加的新個(gè)體數(shù)與過(guò)濾操作刪除的個(gè)體數(shù)量有關(guān)。如果群體基因單一性增加,則被濾除的相似合體數(shù)目增加,補(bǔ)充的新個(gè)體數(shù)目隨之增加;反之,則只少量濾除相似個(gè)體,甚至不濾除,補(bǔ)充的新個(gè)體數(shù)目隨之減少。這樣,就能動(dòng)態(tài)解決群體由于缺乏多樣性而陷入局部解的問(wèn)題。2.5本章小結(jié)本章目的在于闡述遺傳算法的基本概念,給出遺傳算法的理論基礎(chǔ)——模式定理和積木假設(shè)。結(jié)合標(biāo)準(zhǔn)遺傳算法的運(yùn)作流程,詳細(xì)給出遺傳算法的實(shí)現(xiàn)步驟,針對(duì)標(biāo)準(zhǔn)遺傳算法的局限性,結(jié)合后續(xù)本設(shè)計(jì)遺傳算法的應(yīng)用,在標(biāo)準(zhǔn)遺傳算法基礎(chǔ)上,提出幾點(diǎn)重要改進(jìn)。第三章線性倒立擺系統(tǒng)建模與分析在倒立擺控制系統(tǒng)的分析和設(shè)計(jì)中,為了確定一級(jí)倒立擺和兩級(jí)倒立擺系統(tǒng)的能控性、能觀測(cè)性,以及對(duì)設(shè)計(jì)完成的控制器的控制效果的仿真調(diào)試,需要建立倒立擺系統(tǒng)的數(shù)學(xué)模型。建立控制系統(tǒng)數(shù)學(xué)模型的方法有實(shí)驗(yàn)建模法和機(jī)理建模法兩種。實(shí)驗(yàn)建模是通過(guò)在研究對(duì)象上施加一系列的實(shí)驗(yàn)者事先確定的輸入信號(hào),激勵(lì)研究對(duì)象并通過(guò)傳感器檢測(cè)其可觀測(cè)的輸出,應(yīng)用數(shù)學(xué)手段建立起系統(tǒng)的輸入——輸出關(guān)系。實(shí)驗(yàn)建模需要設(shè)計(jì)和選取輸入信號(hào),精確地檢測(cè)輸出信號(hào),進(jìn)而運(yùn)用數(shù)學(xué)算法建立系統(tǒng)的模型;機(jī)理建模則是在了解研究對(duì)象的運(yùn)動(dòng)規(guī)律基礎(chǔ)上,通過(guò)物理和數(shù)學(xué)手段建立起所研究系統(tǒng)對(duì)應(yīng)的數(shù)學(xué)模型。對(duì)于倒立擺系統(tǒng),由于其復(fù)雜性,實(shí)驗(yàn)建模存在很大的困難,因此本設(shè)計(jì)通過(guò)機(jī)理建模法建立一級(jí)、二級(jí)倒立擺系統(tǒng)的數(shù)學(xué)模型。3.1線性倒立擺系統(tǒng)的數(shù)學(xué)模型3.1.1線性一級(jí)倒立擺系統(tǒng)的數(shù)學(xué)模型對(duì)于物理機(jī)制比較簡(jiǎn)單的一級(jí)倒立擺系統(tǒng)采用牛頓力學(xué)的方法更為方便和快捷。忽略一級(jí)倒立擺系統(tǒng)機(jī)構(gòu)間的摩擦和運(yùn)動(dòng)過(guò)程中的空氣阻力后,可將直線一級(jí)倒立擺系統(tǒng)抽象成由小車和均質(zhì)桿組成的剛體系統(tǒng),其抽象的物理模型如圖3.1所示。CartCartOyxΦΦLF圖3.1直線一級(jí)倒立擺抽象模型Figure3.1TheAbstractModelofLinearOneStageInvertedPendulum圖3.1中F代表施加在小車上的力,L表示擺桿的長(zhǎng)度,Φ表示擺桿與豎直向上方向的夾角。根據(jù)一級(jí)倒立擺系統(tǒng)模型給出小車和擺桿的受力分析圖如圖3.2所示。MMPNFbmgNPIab圖3.2小車和擺桿受力分析圖Figure3.2NewtonAnalysisofTheCartAndPendulum圖中M和m分別表示小車和擺桿的質(zhì)量,N和P是小車和擺桿相互作用力的水平和垂直方向的分量,b為小車的摩擦系數(shù),x為小車水平方向的位移,為擺桿與豎直向下方向的夾角。而且在實(shí)際的倒立擺系統(tǒng)中檢測(cè)和執(zhí)行裝置的正負(fù)方向已經(jīng)完全確定,圖中箭頭表示矢量的正方向。設(shè)l為擺桿轉(zhuǎn)動(dòng)軸心到桿質(zhì)心的長(zhǎng)度,I為擺桿轉(zhuǎn)動(dòng)慣量。根據(jù)小車水平方向所受合力,建立力學(xué)方程 (3.1)接著對(duì)擺桿水平方向受力進(jìn)行分析得到 (3.2)展開(kāi)求導(dǎo)公式有: (3.3)將式(3.3)代入式(3.1)中,整理得到系統(tǒng)的第一個(gè)運(yùn)動(dòng)方程: (3.4)為了得到系統(tǒng)的第二個(gè)運(yùn)動(dòng)方程,對(duì)擺桿垂直方向上所受合力進(jìn)行分析有 (3.5)展開(kāi)求導(dǎo)公式有 (3.6)轉(zhuǎn)動(dòng)擺桿的力矩平衡方程為 (3.7)這里有,,。解方程(3.6)與(3.7),約掉P和N,得到系統(tǒng)的第二個(gè)方程: (3.8)當(dāng)擺桿接近豎直向上的平衡位置附近可以有如下的近似關(guān)系成立:。設(shè)u表示被控對(duì)象的輸入力F,對(duì)運(yùn)動(dòng)方程(3.4)和(3.8)做線性處理并假設(shè)初始條件為0得到: (3.9)對(duì)式(3.9)進(jìn)行拉普拉斯變換,有: (3.10)設(shè),由式(3.10)得到以小車的加速度為輸入的擺桿角度與小車加速度之間的傳遞函數(shù)為: (3.11)為了更加直觀的判斷系統(tǒng)的相應(yīng)特性,設(shè)系統(tǒng)的狀態(tài)空間表達(dá)為 (3.12)取狀態(tài)變量為,解方程(3.9)建立狀態(tài)方程: (3.13) (3.14)狀態(tài)方程中的參數(shù)由表3.1給出:表3.1一級(jí)倒立擺系統(tǒng)參數(shù)Table3.1SystemParametersofOneStageInvertedPendulum參數(shù)物理意義參數(shù)值小車相對(duì)初始位置的位移m擺桿與豎直向下位置的夾角radф擺桿與豎直向上位置的夾角radM小車質(zhì)量1.096kgm一級(jí)擺桿的質(zhì)量0.109kgL一級(jí)擺桿的長(zhǎng)度0.50ml一級(jí)擺桿軸心到質(zhì)心的長(zhǎng)度0.25mI一級(jí)擺桿慣量0.0034kgm2b小車動(dòng)摩擦系數(shù)0.1N/m/sec將表格3.1的數(shù)據(jù)帶入式(3.13)得到以小車所受控制力為輸入的系統(tǒng)的輸入矩陣和控制矩陣:3.1.2線性兩級(jí)倒立擺系統(tǒng)數(shù)學(xué)模型同線性一級(jí)倒立擺系統(tǒng)一樣,為了簡(jiǎn)化系統(tǒng)分析,在建模時(shí)忽略空氣阻力和倒擺系統(tǒng)中機(jī)構(gòu)間摩擦,并認(rèn)為車擺系統(tǒng)為剛體,簡(jiǎn)化的兩級(jí)倒立擺系統(tǒng)的物理模型如圖3.3所示CartCart伺服電機(jī)從動(dòng)輪皮帶導(dǎo)軌二級(jí)擺桿一級(jí)擺桿質(zhì)量塊圖3.3直線兩級(jí)倒立擺物理模型Figure3TheMechanicalModelofLinearDoubleStageInvertedPendulum由圖3.3可以看到兩級(jí)倒立擺的物理結(jié)構(gòu)較一級(jí)倒立擺的要復(fù)雜,它是由沿導(dǎo)軌運(yùn)動(dòng)的小車和通過(guò)連軸器固定在小車上的擺桿組成。伺服電機(jī)內(nèi)帶有檢測(cè)小車位移的光電編碼器,小車與一級(jí)擺桿之間、一級(jí)擺桿與二級(jí)擺桿之間由連軸器連接,在連接處分別有兩個(gè)光電編碼器用來(lái)檢測(cè)一級(jí)和二級(jí)擺桿的角度。擺桿1和擺桿2可以繞各自的旋轉(zhuǎn)軸在水平導(dǎo)軌所在的鉛垂面內(nèi)自由轉(zhuǎn)動(dòng),小車在伺服電機(jī)的驅(qū)動(dòng)下,在皮帶傳動(dòng)的水平方向沿導(dǎo)軌左右運(yùn)動(dòng),以確保在穩(wěn)擺控制階段使倒立擺穩(wěn)定在豎直向上的平衡位置,保持整個(gè)系統(tǒng)的動(dòng)態(tài)平衡狀態(tài)。由于狀態(tài)變量的增加和約束條件的限制,兩級(jí)倒立擺的建模如果應(yīng)用牛頓力學(xué)法要比一級(jí)倒立擺的復(fù)雜的多,因而針對(duì)兩級(jí)倒立擺系統(tǒng)利用基于能量分析的Lagrange方法[37]建立其數(shù)學(xué)模型。建模時(shí)所涉及的系統(tǒng)參數(shù)如表3.2中所給出:表3.2兩級(jí)倒立擺系統(tǒng)參數(shù)Table3.2SystemParametersofDoubleInvertedPendulum參數(shù)意義參數(shù)值M小車質(zhì)量1.096kgm1擺桿1質(zhì)量0.05kgm2擺桿2質(zhì)量0.13kgm3質(zhì)量塊質(zhì)量0.295kgl1擺桿1中心到轉(zhuǎn)動(dòng)中心的距離0.07575ml2擺桿2中心到轉(zhuǎn)動(dòng)中心的距離0.25mθ1擺桿1與豎直方向的夾角Radθ2擺桿2與豎直分方向的夾角Radu倒立擺系統(tǒng)控制量Ng當(dāng)?shù)刂亓铀俣?.8Nm/sec2Lagrange方程可表述為: (3.15)式(3.15)中,L為L(zhǎng)agrange算子,q為系統(tǒng)廣義坐標(biāo),T為系統(tǒng)的動(dòng)能,V為系統(tǒng)的勢(shì)能。Lagrange方程由L和廣義坐標(biāo)qi表示為 (3.16)式中,fi為系統(tǒng)在第i個(gè)廣義坐標(biāo)上的外力,在二級(jí)倒立擺系統(tǒng)中,廣義坐標(biāo)有3個(gè),分別為。倒立擺系統(tǒng)動(dòng)能為 (3.17)式中分別為小車的動(dòng)能,擺桿1的動(dòng)能,擺桿2的動(dòng)能和質(zhì)量塊的動(dòng)能。又小車的動(dòng)能為 (3.18)而,分別為擺桿1的平動(dòng)動(dòng)能和轉(zhuǎn)動(dòng)動(dòng)能。,分別為擺桿2的平動(dòng)動(dòng)能和轉(zhuǎn)動(dòng)動(dòng)能。為了簡(jiǎn)化書(shū)寫設(shè)以下變量:xpend1擺桿1質(zhì)心橫坐標(biāo);ypend1擺桿1質(zhì)心縱坐標(biāo)xpend2擺桿2質(zhì)心橫坐標(biāo);ypend2擺桿2質(zhì)心縱坐標(biāo)xmass質(zhì)量塊質(zhì)心橫坐標(biāo);ymass質(zhì)量塊質(zhì)心縱坐標(biāo)在直角坐標(biāo)系分析中有:,,則一級(jí)擺桿的平動(dòng)動(dòng)能和轉(zhuǎn)動(dòng)動(dòng)能是: (3.19)同理對(duì)于二級(jí)擺桿和質(zhì)量塊有 (3.20) (3.21)系統(tǒng)的總動(dòng)能為: (3.22)而系統(tǒng)的勢(shì)能為: (3.23)結(jié)合公式(3.22)和(3.23)得到Lagrange算子:L=T-V。由于系統(tǒng)在廣義坐標(biāo)下沒(méi)有外力的作用,因而有 (3.24)對(duì)于兩級(jí)倒立擺系統(tǒng),選取狀態(tài)變量,為求解系統(tǒng)的狀態(tài)空間表達(dá) (3.25)進(jìn)而要求解,根據(jù)式(3.24)為了簡(jiǎn)化表達(dá)設(shè): (3.26)當(dāng)系統(tǒng)處于豎直向上平衡位置附近時(shí),可將式(3.26)進(jìn)行泰勒級(jí)數(shù)展開(kāi),做近似線性化處理,并取。 (3.27)在式(3.27)中接著可以借助Matlab或Mathematics數(shù)學(xué)分析軟件,結(jié)合表3.2給出的系統(tǒng)參數(shù)解得:,,,,,,其余幾項(xiàng)均為0。最終得到系統(tǒng)的狀態(tài)方程表達(dá)為: (3.28) (3.29)3.2線性倒立擺系統(tǒng)定性分析在3.1節(jié)已經(jīng)得到一、二級(jí)倒立擺系統(tǒng)的數(shù)學(xué)模型,為了進(jìn)一步明了系統(tǒng)的性質(zhì)、設(shè)計(jì)控制器,需要對(duì)系統(tǒng)的穩(wěn)定性、能控能觀測(cè)性進(jìn)行分析。根據(jù)李亞普諾夫穩(wěn)定性理論,非線性系統(tǒng)在平衡點(diǎn)鄰域附近的穩(wěn)定性可以通過(guò)線性化后的模型來(lái)判定;一級(jí)、二級(jí)倒立擺在豎直向上平衡點(diǎn)為不穩(wěn)定平衡點(diǎn),本設(shè)計(jì)要在倒立擺系統(tǒng)的近似線性化模型基礎(chǔ)上進(jìn)行GA-LQR控制器的仿真調(diào)試,因此對(duì)系統(tǒng)的可控性分析尤為重要。3.2.1線性一級(jí)倒立擺系統(tǒng)定性分析1.穩(wěn)定性分析結(jié)合3.1.1節(jié)利用一級(jí)倒立擺特征方程,計(jì)算得到系統(tǒng)的開(kāi)環(huán)特征根為。系統(tǒng)有一個(gè)極點(diǎn)在原點(diǎn),一個(gè)極點(diǎn)在S平面的右半部,顯然系統(tǒng)是不穩(wěn)定的,需要設(shè)計(jì)控制器改善系統(tǒng)的穩(wěn)定性。2.能控性、能觀性分析借助線性控制理論的能控性和能觀性判據(jù)和Matlab矩陣分析工具有: (3.30)由式(3.30)知系統(tǒng)的狀態(tài)完全可控性矩陣的秩等于系統(tǒng)的狀態(tài)變量的維數(shù)、系統(tǒng)能觀測(cè)性矩陣滿秩,因此一級(jí)倒立擺系統(tǒng)是能控能觀測(cè)的。根據(jù)線控中的相對(duì)能控性判據(jù):線性定常連續(xù)系統(tǒng),矩陣A中的最小奇異值與最大奇異值之間的比值為系統(tǒng)的相對(duì)能控度,這里記作,越小表明能控難度系數(shù)越大。借助Matlab奇異矩陣分析:,解得,則一級(jí)倒立擺的相對(duì)能控度為。3.2.2線性二級(jí)倒立擺系統(tǒng)定性分析1.穩(wěn)定性分析結(jié)合式(3.28)計(jì)算,得到二級(jí)倒立擺的開(kāi)環(huán)特征根為,系統(tǒng)有兩個(gè)極點(diǎn)在S平面原點(diǎn),兩個(gè)極點(diǎn)在S平面右半平面,顯然系統(tǒng)不穩(wěn)定。2.能控性、能觀性分析對(duì)于兩級(jí)倒立擺有 (3.31)同樣兩級(jí)倒立擺是能控能觀測(cè)的。由解得A的一個(gè)普通奇異值分解為,則兩級(jí)倒立擺的相對(duì)能控度為,對(duì)比一級(jí)倒立擺的能控度,二級(jí)倒立擺的控制復(fù)雜度增加,進(jìn)而設(shè)計(jì)使其穩(wěn)定的控制器難度也隨之增加。3.3本章小結(jié)本章分別借助牛頓力學(xué)分析法和Lagrange建模法建立了一級(jí)和二級(jí)倒立擺系統(tǒng)在平衡點(diǎn)附近的線性狀態(tài)方程。進(jìn)而由得到的系統(tǒng)線性模型在線性控制理論的指導(dǎo)下,通過(guò)Matlab工具對(duì)系統(tǒng)的穩(wěn)定性、能控性和能觀測(cè)性進(jìn)行分析,為后續(xù)的控制器設(shè)計(jì)給出理論可行性,并計(jì)算和對(duì)比一級(jí)和二級(jí)倒立擺系統(tǒng)的能控性難度。第四章基于GA-LQR算法的二級(jí)倒立擺系統(tǒng)穩(wěn)擺控制器設(shè)計(jì)線性二次型最優(yōu)調(diào)節(jié)器(LQR)的性能指標(biāo)為狀態(tài)變量和控制變量的二次型函數(shù)。線性二次型的最優(yōu)解具有統(tǒng)一的解析表達(dá)式,可推導(dǎo)出一個(gè)簡(jiǎn)單的線性狀態(tài)反饋控制規(guī)律,易于構(gòu)成閉環(huán)最優(yōu)反饋控制,便于實(shí)際工程控制地實(shí)現(xiàn)。對(duì)于LQR控制方案,其二次型性能指標(biāo)中的權(quán)重矩陣的選取合適與否對(duì)控制效果有很大的影響。目前在進(jìn)行LQR控制器設(shè)計(jì)時(shí),性能指標(biāo)中的權(quán)重矩陣Q和R的選取大部分依賴工程人員的操作經(jīng)驗(yàn)及其對(duì)控制系統(tǒng)的熟悉情況通過(guò)試探法來(lái)確定。針對(duì)兩級(jí)倒立擺系統(tǒng),其線性數(shù)學(xué)模型是在豎直向上的平衡位置附近近似得到的,存在物理?xiàng)l件的限制,因而系統(tǒng)線性模型中的多個(gè)狀態(tài)變量是有約束條件的。對(duì)于多變量多約束條件的系統(tǒng),應(yīng)用試探法選擇合適的Q和R使二次型性能指標(biāo)達(dá)到最小是非常困難的。針對(duì)LQR控制中權(quán)重參數(shù)難于確定的問(wèn)題,本設(shè)計(jì)將遺傳算法應(yīng)用到LQR控制器設(shè)計(jì)中,借助遺傳算法的全局搜索優(yōu)化能力,確定權(quán)重矩陣Q和R。4.1GA-LQR控制算法4.1.1LQR控制原理線性二次型最優(yōu)控制(LQR)要求系統(tǒng)的狀態(tài)方程是線性的,指標(biāo)函數(shù)是狀態(tài)變量和控制變量的二次型。線性二次型控制理論是反饋控制系統(tǒng)設(shè)計(jì)的指導(dǎo)工具,具有很鮮明的特點(diǎn):(1)為變量反饋系統(tǒng)的設(shè)計(jì)提供了一種有效的分析方法;(2)適用于時(shí)變系統(tǒng);(3)可以處理擾動(dòng)信號(hào)和測(cè)量噪聲問(wèn)題;(4)可以處理有限和無(wú)限的時(shí)間區(qū)間問(wèn)題。針對(duì)兩級(jí)倒立擺的狀態(tài)方程表達(dá)式(3.28)和(3.29),存在一個(gè)最優(yōu)狀態(tài)反饋控制規(guī)律:,使得性能指標(biāo)[38]: (4.1)最小。在兩級(jí)倒立擺近似線性數(shù)學(xué)模型中X為6維狀態(tài)向量,u為1維的輸入向量,Y為3維的輸出向量。矩陣F調(diào)節(jié)控制過(guò)程的末態(tài)偏差;加權(quán)矩陣Q和R用來(lái)平衡狀態(tài)向量和輸入向量的權(quán)重,對(duì)系統(tǒng)的動(dòng)態(tài)響應(yīng)性能影響很大。其中、,為半正定矩陣,為正定陣。同時(shí)考慮到系統(tǒng)運(yùn)行時(shí)的實(shí)際情況,應(yīng)該用無(wú)限時(shí)間狀態(tài)調(diào)節(jié)器調(diào)節(jié)兩級(jí)倒立擺系統(tǒng),即在時(shí)間趨于無(wú)窮大時(shí),系統(tǒng)的末態(tài)偏差為零,因而在式(4.1)中省去這一項(xiàng),則系統(tǒng)性能評(píng)價(jià)指標(biāo)簡(jiǎn)化為: (4.2)如果系統(tǒng)受到外界干擾,應(yīng)該施加怎樣的控制量,可以使系統(tǒng)回到平衡狀態(tài)附近,并使指標(biāo)J最小,此時(shí)的就為最優(yōu)控制。根據(jù)最優(yōu)控制理論,使式(4.2)最小時(shí)的控制規(guī)律為: (4.3)式(4.3)中矩陣P為下式Riccati方程的解,K是最終求得的最優(yōu)狀態(tài)反饋控制矩陣。Riccati方程為: (4.4)求解Riccati方程中的P后可以得到: (4.5)4.1.2GA-LQR穩(wěn)擺控制器設(shè)計(jì)在傳統(tǒng)的LQR控制中,根據(jù)公式(4.5)在求解最優(yōu)反饋陣K的過(guò)程中,指標(biāo)公式(4.2)中的權(quán)重矩陣Q和R是工程人員通過(guò)反復(fù)試探確定的,要求工程人員對(duì)實(shí)際系統(tǒng)有充分的了解和豐富的操作經(jīng)驗(yàn),得到滿意的權(quán)重矩陣是一件費(fèi)時(shí)費(fèi)力的工作;同時(shí)在第三章中得到的倒立擺系統(tǒng)的數(shù)學(xué)模型是系統(tǒng)在平衡點(diǎn)鄰域附近內(nèi)的一種近似,系統(tǒng)機(jī)械設(shè)備存在一些物理?xiàng)l件的限制如擺體的長(zhǎng)度等,即倒立擺系統(tǒng)狀態(tài)空間表達(dá)中的狀態(tài)變量具有很多的約束條件。針對(duì)多變量多約束條件的被控對(duì)象,獲得理想的權(quán)重矩陣Q和R以達(dá)到滿意的控制效果,因此通過(guò)傳統(tǒng)的試探方法設(shè)計(jì)的控制器其效率和可行性及實(shí)用性需要改進(jìn)。針對(duì)這個(gè)問(wèn)題,本設(shè)計(jì)利用第二章論述的改進(jìn)的自適應(yīng)遺傳算法搜索LQR控制的權(quán)重參數(shù),首先建立二級(jí)倒立擺的GA-LQR穩(wěn)擺控制器,而一級(jí)倒立擺系統(tǒng)的GA-LQR穩(wěn)擺控制器則完全應(yīng)用類似的思路。GA-LQR控制原理框圖如圖4.1所示:u(t)u(t)遺傳算法尋優(yōu)解Riccati矩陣方程解碼-K倒立擺近似線性系統(tǒng)輸出YN迭代結(jié)束?X(t)圖4.1GA-LQR控制器原理圖Figure4.1GA-LQRControllerSchematic其中GA尋優(yōu)LQR參數(shù)的算法流程圖則在4.2中給出:待優(yōu)化參數(shù)待優(yōu)化參數(shù)Q和R編碼產(chǎn)生初始種群計(jì)算適應(yīng)度函數(shù)值gen=0選擇重組變異計(jì)算子代適應(yīng)度函數(shù)值子代重插入達(dá)到最大迭代次數(shù)??jī)?yōu)化后的Q和Rgen=gen+1YN圖4.2GA-LQR算法流程圖Figure4.2TheFlowChartofGA-LQRAlgorithm針對(duì)線性兩級(jí)倒立擺系統(tǒng)GA-LQR算法流程圖,GA-LQR算法的具體實(shí)現(xiàn)步驟為:(1)參數(shù)編碼。根據(jù)LQR原理,選取矩陣Q和R為實(shí)對(duì)角陣對(duì)狀態(tài)變量和輸入變量進(jìn)行加權(quán)。由于兩級(jí)倒立擺系統(tǒng)的輸入向量和輸出向量分別是一維的一個(gè)實(shí)數(shù)和六維的實(shí)數(shù),進(jìn)而需要優(yōu)化的Q和R是6×6的對(duì)角陣和一個(gè)只有一個(gè)實(shí)向量的實(shí)數(shù)陣。理論上待優(yōu)化參數(shù)可以取到零到正無(wú)窮大之間的任意實(shí)數(shù),然而兩級(jí)倒立擺系統(tǒng)對(duì)控制精度的要求很高,實(shí)際控制系統(tǒng)的狀態(tài)變量存在約束條件,當(dāng)Q和R的取值過(guò)小時(shí)能量不足不能保證系統(tǒng)可以達(dá)到平衡,取值太大系統(tǒng)會(huì)運(yùn)行時(shí)抖動(dòng)嚴(yán)重,導(dǎo)致系統(tǒng)震蕩而發(fā)散。而浮點(diǎn)數(shù)編碼對(duì)于處理高精度問(wèn)題和具有復(fù)雜決策變量約束條件的問(wèn)題具有顯著優(yōu)勢(shì),其輸出結(jié)果即為待優(yōu)化參數(shù)的實(shí)際值,不需要經(jīng)過(guò)解碼運(yùn)算,計(jì)算效率對(duì)比二進(jìn)制編碼有明顯的改進(jìn)。因而本文選擇浮點(diǎn)數(shù)編碼即實(shí)數(shù)編碼,采用實(shí)數(shù)編碼時(shí)個(gè)體的每個(gè)基因值用某一范圍內(nèi)的實(shí)數(shù)表示,個(gè)體碼串的長(zhǎng)度等于待優(yōu)化的決策變量的個(gè)數(shù),針對(duì)本文則碼串長(zhǎng)度取為7。(2)初始化種群。理論上對(duì)于非線性越高的系統(tǒng),初始種群的規(guī)模應(yīng)選擇的越大些,兼顧考慮計(jì)算量和優(yōu)化效率問(wèn)題選取初始種群規(guī)模為60。(3)適應(yīng)度函數(shù)設(shè)計(jì)。在遺傳算法設(shè)計(jì)環(huán)節(jié),適應(yīng)度函數(shù)的設(shè)計(jì)非常關(guān)鍵,算法選擇操作環(huán)節(jié),適應(yīng)度大的個(gè)體被選中作為父代的概率大,因此本設(shè)計(jì)選取LQR原理的性能指標(biāo)式(4.2)作為目標(biāo)函數(shù),取式(4.2)的倒數(shù)為適應(yīng)度函數(shù): (4.6)根據(jù)式(4.6)如果求的最大值,即求的最小值,只要使式(4.2)中的積分項(xiàng)內(nèi)部的每一項(xiàng)最小即可,那么可以進(jìn)一步簡(jiǎn)化適應(yīng)度函數(shù)為積分項(xiàng)內(nèi)部表達(dá)式的倒數(shù)即可,事實(shí)上式(4.2)積分項(xiàng)內(nèi)部的值是非負(fù)的增函數(shù),因此做這樣的簡(jiǎn)化是完全合理的。至此得到適應(yīng)度函數(shù)的完整表達(dá)為: (4.7)式中,。根據(jù)工程實(shí)踐,當(dāng)權(quán)重矩陣Q中的各項(xiàng)參數(shù)在允許范圍內(nèi)適當(dāng)取的大一點(diǎn),而矩陣R的參數(shù)取值適當(dāng)小一些會(huì)增強(qiáng)系統(tǒng)的魯棒性,減小系統(tǒng)的調(diào)節(jié)時(shí)間,針對(duì)二級(jí)倒立擺系各變量的取值范圍為:,,,。(4)遺傳操作。本設(shè)計(jì)采用隨機(jī)遍歷抽樣選擇方法,多點(diǎn)交叉和均勻變異的遺傳算子,為了防止遺傳算法的早熟和無(wú)法收斂的問(wèn)題出現(xiàn),采用自適應(yīng)的交叉概率和變異概率,將進(jìn)化過(guò)程分為漸進(jìn)和突變兩個(gè)不同的階段:漸進(jìn)階段強(qiáng)交叉,弱變異,強(qiáng)化優(yōu)勢(shì)選擇型算子;突變階段弱交叉,強(qiáng)變異,弱化優(yōu)勢(shì)選擇算子。在經(jīng)過(guò)遺傳操作后,要進(jìn)行子代重插入,由于算法中引入精英策略的概念,新舊種群之間存在代溝,每一代產(chǎn)生的新個(gè)體數(shù)少于原始種群,需要重插入來(lái)保持原始種群規(guī)模。應(yīng)用這種策略突出優(yōu)點(diǎn)在于提高算法的效率和優(yōu)化精度。(5)終止條件。選取終止條件為最大迭代次數(shù)100,滿足終止條件后,算法結(jié)束,輸出最優(yōu)解Q和R的值。遺傳算法初始種群和優(yōu)化過(guò)程中的波形輸出分別如圖4.3和圖4.4所示:圖4.3遺傳算法初始種群分布Figure4.3TheInitialPopulationDistributionofGA a經(jīng)過(guò)20代迭代的優(yōu)化解b經(jīng)過(guò)60代迭代的優(yōu)化解 c經(jīng)過(guò)80代迭代的優(yōu)化解d經(jīng)過(guò)100代迭代的優(yōu)化解圖4.4遺傳算法優(yōu)化過(guò)程的輸出解Figure4.4TheOutputSolutionsofGAOptimizationProcess迭代終止后,4.4(d)尋優(yōu)結(jié)果對(duì)應(yīng)的權(quán)重矩陣Q和R分別是:,,接著求解Riccati方程進(jìn)而得到系統(tǒng)的最優(yōu)反饋矩陣:。至此可以根據(jù)圖4.1原理設(shè)計(jì)GA-LQR控制器對(duì)兩級(jí)倒立擺系統(tǒng)進(jìn)行控制?;贕A-LQR控制器的二級(jí)倒立擺系統(tǒng)仿真控制框圖如4.5所示:
aGA-LQR控制器內(nèi)部結(jié)構(gòu)bGA-LQR控制器參數(shù)圖4.5基于GA-LQR的兩級(jí)倒立擺系統(tǒng)仿真框圖Figure4.5TheDoubleStageIPSimulationDiagramBasedonGA-LQR4.2Matlab/GUI環(huán)境下二級(jí)倒立擺控制系統(tǒng)仿真4.2.1基于Matlab/GUI二級(jí)倒立擺系統(tǒng)仿真圖形界面開(kāi)發(fā)為了得到控制效果卓越的控制器,則在控制器用于實(shí)時(shí)控制之前需要大量的仿真實(shí)驗(yàn)和相關(guān)參數(shù)的反復(fù)調(diào)試。尤其是在應(yīng)用Matlab7.0以上的版本時(shí),在512M內(nèi)存的處理器上反復(fù)地運(yùn)行Matlab程序進(jìn)行二級(jí)倒立擺系統(tǒng)控制效果仿真是耗計(jì)算機(jī)系統(tǒng)資源和費(fèi)時(shí)的工作,進(jìn)而可以應(yīng)用可發(fā)布的Matab/GUI圖形界面,后臺(tái)調(diào)用系統(tǒng)仿真模型進(jìn)行各項(xiàng)參數(shù)調(diào)試,觀看仿真結(jié)果,獲得仿真效果優(yōu)越的控制器,為后續(xù)系統(tǒng)的實(shí)時(shí)控制做好充分的準(zhǔn)備。而Matlab為用戶開(kāi)發(fā)圖形界面提供了一個(gè)方便高效的集成環(huán)境:Matlab圖形界面開(kāi)發(fā)環(huán)境GUIDE(Matlab’sGraphicalUserInterfaceDevelopmentEnviroment)[39]。借助GUIDE可以方便地實(shí)現(xiàn)對(duì)二級(jí)倒立擺系統(tǒng)仿真模型的調(diào)試。GUIDE主要是一個(gè)界面設(shè)計(jì)工具集,Matlab將所有GUI支持的用戶控件都集成在這個(gè)環(huán)境中并提供界面外觀、屬性和行為響應(yīng)方式的設(shè)置方法。GUIDE將用戶保存設(shè)計(jì)好的GUI界面保存在一個(gè)fig資源中,同時(shí)能夠生成包含GUI初始化和組件界面布局控制代碼的M文件。該M文件為實(shí)現(xiàn)回調(diào)函數(shù)(當(dāng)用戶激活GUI某一組件時(shí)執(zhí)行的函數(shù))提供了一個(gè)框架。當(dāng)然用戶也可以使用M文件腳本真正實(shí)現(xiàn)動(dòng)態(tài)的GUI,但是使用GUIDE的創(chuàng)建效率會(huì)更高。使用GUIDE可以交互式地進(jìn)行組件界面布局,同時(shí)能夠生成兩個(gè)用來(lái)保存和發(fā)布GUI的文件:(1)fig文件。該文件包含GUI圖形窗口及其所有后裔的完全描述及其所有對(duì)象的屬性值,fig文件是一個(gè)二進(jìn)制文件,fig文件最最突出的用處之一是對(duì)對(duì)象句柄的保存和引用。(2)M文件。該文件包含GUI設(shè)計(jì)、控制函數(shù)以及定義為子函數(shù)的用戶控件回調(diào)函數(shù),用于控制GUI調(diào)用時(shí)的各種特征。該M文件分為GUI初始化和回調(diào)函數(shù)兩部分,用戶控件的回調(diào)函數(shù)根據(jù)用戶與GUI的交互分別調(diào)用。GUIDE可以根據(jù)用戶GUI界面的設(shè)計(jì)過(guò)程直接自動(dòng)生成上述M文件框架,簡(jiǎn)化了GUI應(yīng)用程序的創(chuàng)建工作,直接應(yīng)用這個(gè)框架來(lái)編寫自己的函數(shù)代碼具有諸多優(yōu)點(diǎn):(1)應(yīng)用程序M文件已經(jīng)包含實(shí)現(xiàn)一些有用的函數(shù)編寫代碼,不需要用戶自己編寫。(2)可以使用該M文件生成的有效方法來(lái)管理圖形對(duì)象句柄并執(zhí)行回調(diào)函數(shù)子程序。(3)提供管理全局?jǐn)?shù)據(jù)的途徑(4)M文件支持自動(dòng)插入回調(diào)函數(shù)的原型,確保當(dāng)前GUI與未來(lái)發(fā)布版本的兼容性。要實(shí)現(xiàn)一個(gè)完整的GUI主要完成兩項(xiàng)工作:GUI界面設(shè)計(jì)和GUI組件編程。實(shí)現(xiàn)GUI的具體過(guò)程則是:(1)通過(guò)設(shè)置GUIDE應(yīng)用程序選項(xiàng)來(lái)進(jìn)行GUIDE組態(tài)。(2)使用界面設(shè)計(jì)編程器進(jìn)行GUI界面設(shè)計(jì)。(3)理解引用程序M文件中所使用的編程技術(shù)。(4)編寫用戶GUI組件行為響應(yīng)控制(回調(diào)函數(shù))代碼。針對(duì)兩級(jí)倒立擺系統(tǒng)仿真所設(shè)計(jì)的GUI組態(tài)界面如圖4.6所示:圖4.6兩級(jí)倒立擺仿真組態(tài)畫(huà)面Figure4.6TheConfigurationInterfaceofDoublestageIPSimulationSystem針對(duì)該組態(tài)界面所生成的可執(zhí)行GUI界面如圖4.7所示:圖4.7兩級(jí)倒立擺系統(tǒng)仿真圖形界面Figure4.7TheGUIofDoubleStageIPSimulationSystem4.2.2基于GA-LQR穩(wěn)擺控制的二級(jí)倒立擺系統(tǒng)仿真接著借助GUI分析GA-LQR控制算法的仿真可行性,給出的仿真參數(shù)是4.1節(jié)通過(guò)GA尋優(yōu)得到的Q和R參數(shù):,,在該組Q和R參數(shù)下所得到的系統(tǒng)最優(yōu)反饋陣:。同時(shí)為了同單純的LQR控制作對(duì)比,給出通過(guò)經(jīng)驗(yàn)反復(fù)試探法確定的一組Q和R參數(shù)。聯(lián)系實(shí)際的倒立擺系統(tǒng),水平擺體長(zhǎng)度約為720cm,是厘米的數(shù)量級(jí),而在兩級(jí)倒立擺系統(tǒng)的閉環(huán)控制中,采樣后的狀態(tài)數(shù)據(jù):,是標(biāo)準(zhǔn)化的國(guó)際單位,所以在應(yīng)用試探法確定權(quán)重矩陣Q和R時(shí),對(duì)角陣Q對(duì)角線位置的前三個(gè)權(quán)重系數(shù)與后三個(gè)系數(shù)之間存在約數(shù)量級(jí)的差距;考慮半正定矩陣和正定矩陣中各個(gè)元素需均為正整數(shù),理論上是,不妨首先設(shè),,在人為確定參數(shù)的過(guò)程中設(shè)計(jì)者自己擬定調(diào)節(jié)步長(zhǎng)比如10(指每次給對(duì)角位置上的元素增加或減少10),經(jīng)過(guò)不斷的仿真調(diào)試而確定一組比較滿意的Q和R。本設(shè)計(jì)中經(jīng)過(guò)試探得到仿真效果較好的一組權(quán)重參數(shù)是,,對(duì)應(yīng)該組權(quán)重參數(shù)下所得到
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度股東借款轉(zhuǎn)增注冊(cè)資本及利潤(rùn)分配調(diào)整合同
- 2025年度電力線路運(yùn)維風(fēng)險(xiǎn)管理與合同
- 2025年度電子產(chǎn)品退貨換貨服務(wù)合同范本
- 二零二五年度航空航天項(xiàng)目三方合同違約責(zé)任說(shuō)明
- 公共安全應(yīng)急救援預(yù)案制定指南
- 數(shù)據(jù)中心運(yùn)維服務(wù)合同及設(shè)備維護(hù)管理?xiàng)l款
- 中學(xué)生數(shù)學(xué)史故事征文
- 產(chǎn)品采購(gòu)及供應(yīng)保障協(xié)議合同
- 企業(yè)信息化建設(shè)實(shí)施細(xì)則
- 企業(yè)資源共享合作協(xié)議書(shū)
- 2023版初中化學(xué)跨學(xué)科實(shí)踐活動(dòng)(化學(xué))
- 植物保護(hù)學(xué)通論-植物病害分析課件
- 藥品經(jīng)營(yíng)質(zhì)量管理規(guī)范(GSP)實(shí)用教程教學(xué)課件
- 機(jī)械基礎(chǔ) 第2版全書(shū)電子教案
- 外研社一起英語(yǔ)四年級(jí)下冊(cè)課文
- DB32-T 2705-2014公路工程地質(zhì)勘察監(jiān)理規(guī)程-(高清現(xiàn)行)
- After-Effects影視特效設(shè)計(jì)教程完整版全套ppt課件
- 羊營(yíng)養(yǎng)代謝病
- 醫(yī)療設(shè)備清單
- 《夏夜多美》課件(ppt)
- 社區(qū)院落停車管理制度
評(píng)論
0/150
提交評(píng)論