關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于遺傳算法和虛擬儀器的前饋速度伺服系統設計與整定

        基于遺傳算法和虛擬儀器的前饋速度伺服系統設計與整定

        作者: 時間:2016-12-22 來源:網絡 收藏

        度伺服控制系統。為實現前饋控制系數在線整定,引入了遺傳算法。通過實際測試驗證了該設計方法和技術的有效性。

        本文引用地址:http://www.104case.com/article/201612/332858.htm

        在機電控制系統中,為實現快的跟蹤,常采用前饋補償。然而在對象模型未知時,前饋控制系數難以事先確定,因此,該前饋系統雖然理論結果理想,但實用價值不高。

        近年來,遺傳算法(GA)作為一強有力的優化手段受到廣泛關注。它是模擬自然界遺傳變和物競天擇的機理所構成的隨機搜索算法。正如Thomas等人指出的,其穿梭出特點是:采用純數值計算方法和隨機進行策略,無需梯度信息,對模型的表述要求低,處理問題更具有靈活性、適應性、魯棒性和全局性[1~2],因此在控制系統優化設計中有著廣泛的應用。

        目前,國內GA在控制系統優化設計中的應用多數集中在計算機仿真優化設計上。本文將GA的應用拓展到了在線控制領域,在虛擬儀器的控制下,通過GA同控制算法的有機融合,在實驗運行中獲得優前饋控制系數。它不需要系統的數字模型,也適用于時變系統,所得優化參數使系統成功實現了快跟蹤。

        1 前饋速度伺服系統理論設計

        所設計的前饋速度伺服系統的控制系統框圖如圖1所示。

        其中,an為測速反饋系數;Kp為放大器的電壓放大系數;Ks為晶閘管整流器與觸發裝置的電壓放大系數;Km為電動機環節的放大系數,即1/Ce;Tm為電機機電時間常數;L為系統的擾動輸入;wr為輸入的角速度(虛擬);w為輸出的角速度;W0、W1、Wn為前饋控制系數。將輸入wr、振動L和固定值VD作為三個獨立的輸入量,運用線性迭加定理得到整個系統的輸入wr與輸出w的關系式:

        要實現整個系統的完全補償,即系統輸出對輸入、完全跟隨,上式應滿足以下關系:

        KpKsKman+(W0+W1S)KsKmaN=KpKsKman+Tms+1 (1)

        KsKmWnVD-KmL=0 (2)

        因而便得到Wn、W0、W1三個參數的真值:

        Wn=L/(KsVD); W0=1/(KmKsan); W1=Tn/KmKsan;

        2 前饋系數的遺傳算法在線整定

        GA的原理最早是由Holland教授提出的[3],在本文的GA在線實驗方案中,W0、W1、Wn被定義為染色體中的基因,它們受到標準GA[4]的進化。基因的搜索空設定足夠大的范圍,這樣做有利于尋找到全局最優點。GA的調節任務是使性能指J最小。J采用ISE為性能指標,即:

        于是得到系統在線整定的優化模型如下:

        minJ

        s.t.

        其中W0*、W1*、Wn*分別指前饋控制系數最大可能取值。

        圖2所示為GA在線優工作流程圖。通過不斷啟動系統,種群中的每一個染色體的優劣都得到實驗的檢驗。速度和電流量通過高速A/D進行采樣和存儲,利用這些數據可以計算每個染色體的適應度評價值J。顯然,實驗的總次數等于種群數乘總世代數。為了減少實驗時間,需要提高GA的收斂效率。這里采用了實數編碼和“最優”選擇方式。實數編碼比二進制編碼更能提高GA的性能[3],而“最優”選擇能確保穩定漸進的收斂[4]。適當選擇種群數、交叉率和變異率對小種群GA的性能也很重要,一些原則可參考文獻[5]。

        3 虛擬儀器設計

        虛擬儀器是一種新興的測控儀器,它以計算機為核心、虛擬控制面板為標志,通過計算機軟件實現對數據的顯示、存儲以及分析處理,以滿足用戶對功能設置的靈活多樣要求,實現一般測試儀器無法比擬的功能。虛擬儀器可集成各種工業自動控制系統及專用儀器系統,將計算機硬件資源與儀器硬件有機地融合為一體,美國NI公司為該領域的杰出代表。為完成本文復雜的控制整定工作,本文采用了美國NI公司的LabWindows/CVI虛擬儀器軟件開發平臺[8]。CVI強大的功能旭功于其非常豐富的庫函數,可提供的庫函數從用戶圖形界面、數據采集、數據分析、儀器控制到現在Internet時代的TCP,所以說CVI在測量領域成為先鋒 的同時又與當前時代的新科技保持了同步。

        系統虛擬控制面板包括主控制面板和輔助面板。輔助面板主要負責系統各設備的運行情況及其外界環境的監控,輔助面板可在主面板中調用。本文僅對主面板進行介紹,如圖3所示。

        主面板分為四大模塊:(1)輸入、輸出、誤差顯示;(2)系統控制參數設定;(3)遺傳算法整定;(4)文件、數據處理。

        在主面板中,可以直接啟動系統,對系統的輸入幅度等參數進行實時調節并實時監控系統的輸入輸出變化。在系統啟動前,可以預先對各參數進行調節后再讓系統運行。對系統的優化整定需在啟動系統之后方可進行,整定過程的輸出、誤差及參數均可實時動態顯示。主面板還提供了一些附加的文件、數據處理功能,可實時對系統狀態進行保存、打印等操作。

        該控制界面的編制除了對各面板控件回調函數及數據處理函的編寫外,還有兩大編程重點:遺傳算法的整定程序和實時多線程控制程序。由于篇幅有限,在此僅對編程關鍵技術-多線程編程做一介紹。

        Windows9x平臺允許用戶同時運行多個應用程序,這種技術被稱為多任務技術(Multitasking)。在當今的大多數操作系統中,還引入了一個全新的概念-線程。通過多任務和多線程技術,用戶能夠在同一時間執行多個應用程序,而每個應用程序在同一時刻又可以執行多個線程。現場操作系統已經廣泛地使用了線程,如Mach、Unix、Windows、Linux等。可惜的是在CVI中并不提供直接的多線程函數庫,用戶必須自行編寫。

        由于CVI采用C語言編寫,因而多線程可以面向C++的程序編程接口(API)編輯,也可以直接面向Windows(Win32 API)編寫。本文采用后者來編寫多線程程序。

        (1)創建線程

        C語言向用戶提供了多種類,用來封裝線程對象,如CwinThread類。本系統創建線程采用該成員函數CreateThread完成創建過程。

        (2)線程的終止

        ExitThread函數是退出一個線程的較好辦法。如果在調用這個函數時,線程是進程中的最后一個線程,則此線程的進程也被終止。

        系統分為兩個線程:面板控件函數回調與顯示線程,控制與算法整定線程。為避免兩線程之間的數據沖突,在程序中只有線程提供唯一的數據通道并設置了獨立的“信號燈”,加強了線程間數據通信的穩定性。

        4 系統運行實驗

        本研究中GA參數設定為:種群數Pop_size=10,交叉率Pc=0.6,變異率Pm=0.3。系統各參數值約為:VD=1.0,an=0.02,Km=5.1,Tm=0.075,L=1.0,Ks=19.4。Kp任選一值,如Kp=10,ΔT取0.1(s)。實驗時,按“整定”按鈕,計算機自動產生正弦波(周期為10s;幅度為1000rad/s)作為系統輸入,并實驗性啟動系統,進行前饋系數的在線整定。實驗所采用的數據采集卡為NI公司生產的PCI-6024E。圖4為示波器顯示的整定過程誤差波形。開始時,輸出與輸入不能實現跟蹤,產生了較大的誤差,1分鐘左右誤差超于零,此時,W0=0.513,W1=0.038,Wn=0.029,按近理論全補償值。此后系統可以按照實際要求的輸入信號持續運行,從而實現了系統快速跟蹤要求。

        采用虛擬儀器進行系統控制,可以完全實現其它計算機控制系統所要求的運行結果,而且相對而言,虛擬儀器更顯得靈活易用、直觀生動。GA引入到在線參數整定是一次大膽深度。提導GA搜索的性能指標J取自實時測試的結果,它不需要數學模型,因而是另一有效的優化系統參數的方法,特別是在系統模型時變、難以或不可描述的情況下,效果更為顯著。

        本文將遺傳算法、虛擬儀器控制有機地結合,充分發揮了遺傳算法、虛擬儀器的優勢,使系統控制達到了較高的性能,其基本原理、方法和技術具有普遍性,可望在其它復雜控制系統中得到廣泛的工程應用。



        關鍵詞:

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 长乐市| 隆德县| 彭州市| 闻喜县| 鸡泽县| 西乌珠穆沁旗| 鄂温| 邹城市| 英吉沙县| 如皋市| 且末县| 中方县| 鱼台县| 安庆市| 双江| 贵港市| 兴国县| 台东市| 湖北省| 康保县| 嘉鱼县| 峨山| 红桥区| 老河口市| 阿克陶县| 巨野县| 略阳县| 临城县| 揭西县| 南投市| 邮箱| 正镶白旗| 来凤县| 保康县| 忻州市| 西贡区| 宜兰县| 汕尾市| 禹州市| 介休市| 廉江市|