關(guān) 閉

新聞中心

EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于遺傳算法和虛擬儀器的前饋速度伺服系統(tǒng)設(shè)計(jì)與整定

基于遺傳算法和虛擬儀器的前饋速度伺服系統(tǒng)設(shè)計(jì)與整定

作者: 時(shí)間:2016-12-22 來源:網(wǎng)絡(luò) 收藏

度伺服控制系統(tǒng)。為實(shí)現(xiàn)前饋控制系數(shù)在線整定,引入了遺傳算法。通過實(shí)際測試驗(yàn)證了該設(shè)計(jì)方法和技術(shù)的有效性。

本文引用地址:http://butianyuan.cn/article/201612/332858.htm

在機(jī)電控制系統(tǒng)中,為實(shí)現(xiàn)快的跟蹤,常采用前饋補(bǔ)償。然而在對(duì)象模型未知時(shí),前饋控制系數(shù)難以事先確定,因此,該前饋系統(tǒng)雖然理論結(jié)果理想,但實(shí)用價(jià)值不高。

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

目前,國內(nèi)GA在控制系統(tǒng)優(yōu)化設(shè)計(jì)中的應(yīng)用多數(shù)集中在計(jì)算機(jī)仿真優(yōu)化設(shè)計(jì)上。本文將GA的應(yīng)用拓展到了在線控制領(lǐng)域,在虛擬儀器的控制下,通過GA同控制算法的有機(jī)融合,在實(shí)驗(yàn)運(yùn)行中獲得優(yōu)前饋控制系數(shù)。它不需要系統(tǒng)的數(shù)字模型,也適用于時(shí)變系統(tǒng),所得優(yōu)化參數(shù)使系統(tǒng)成功實(shí)現(xiàn)了快跟蹤。

1 前饋速度伺服系統(tǒng)理論設(shè)計(jì)

所設(shè)計(jì)的前饋速度伺服系統(tǒng)的控制系統(tǒng)框圖如圖1所示。

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

要實(shí)現(xiàn)整個(gè)系統(tǒng)的完全補(bǔ)償,即系統(tǒng)輸出對(duì)輸入、完全跟隨,上式應(yīng)滿足以下關(guān)系:

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

KsKmWnVD-KmL=0 (2)

因而便得到Wn、W0、W1三個(gè)參數(shù)的真值:

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

2 前饋系數(shù)的遺傳算法在線整定

GA的原理最早是由Holland教授提出的[3],在本文的GA在線實(shí)驗(yàn)方案中,W0、W1、Wn被定義為染色體中的基因,它們受到標(biāo)準(zhǔn)GA[4]的進(jìn)化?;虻乃阉骺赵O(shè)定足夠大的范圍,這樣做有利于尋找到全局最優(yōu)點(diǎn)。GA的調(diào)節(jié)任務(wù)是使性能指J最小。J采用ISE為性能指標(biāo),即:

于是得到系統(tǒng)在線整定的優(yōu)化模型如下:

minJ

s.t.

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

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

3 虛擬儀器設(shè)計(jì)

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

系統(tǒng)虛擬控制面板包括主控制面板和輔助面板。輔助面板主要負(fù)責(zé)系統(tǒng)各設(shè)備的運(yùn)行情況及其外界環(huán)境的監(jiān)控,輔助面板可在主面板中調(diào)用。本文僅對(duì)主面板進(jìn)行介紹,如圖3所示。

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

在主面板中,可以直接啟動(dòng)系統(tǒng),對(duì)系統(tǒng)的輸入幅度等參數(shù)進(jìn)行實(shí)時(shí)調(diào)節(jié)并實(shí)時(shí)監(jiān)控系統(tǒng)的輸入輸出變化。在系統(tǒng)啟動(dòng)前,可以預(yù)先對(duì)各參數(shù)進(jìn)行調(diào)節(jié)后再讓系統(tǒng)運(yùn)行。對(duì)系統(tǒng)的優(yōu)化整定需在啟動(dòng)系統(tǒng)之后方可進(jìn)行,整定過程的輸出、誤差及參數(shù)均可實(shí)時(shí)動(dòng)態(tài)顯示。主面板還提供了一些附加的文件、數(shù)據(jù)處理功能,可實(shí)時(shí)對(duì)系統(tǒng)狀態(tài)進(jìn)行保存、打印等操作。

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

Windows9x平臺(tái)允許用戶同時(shí)運(yùn)行多個(gè)應(yīng)用程序,這種技術(shù)被稱為多任務(wù)技術(shù)(Multitasking)。在當(dāng)今的大多數(shù)操作系統(tǒng)中,還引入了一個(gè)全新的概念-線程。通過多任務(wù)和多線程技術(shù),用戶能夠在同一時(shí)間執(zhí)行多個(gè)應(yīng)用程序,而每個(gè)應(yīng)用程序在同一時(shí)刻又可以執(zhí)行多個(gè)線程?,F(xiàn)場操作系統(tǒng)已經(jīng)廣泛地使用了線程,如Mach、Unix、Windows、Linux等??上У氖窃贑VI中并不提供直接的多線程函數(shù)庫,用戶必須自行編寫。

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

(1)創(chuàng)建線程

C語言向用戶提供了多種類,用來封裝線程對(duì)象,如CwinThread類。本系統(tǒng)創(chuàng)建線程采用該成員函數(shù)CreateThread完成創(chuàng)建過程。

(2)線程的終止

ExitThread函數(shù)是退出一個(gè)線程的較好辦法。如果在調(diào)用這個(gè)函數(shù)時(shí),線程是進(jìn)程中的最后一個(gè)線程,則此線程的進(jìn)程也被終止。

系統(tǒng)分為兩個(gè)線程:面板控件函數(shù)回調(diào)與顯示線程,控制與算法整定線程。為避免兩線程之間的數(shù)據(jù)沖突,在程序中只有線程提供唯一的數(shù)據(jù)通道并設(shè)置了獨(dú)立的“信號(hào)燈”,加強(qiáng)了線程間數(shù)據(jù)通信的穩(wěn)定性。

4 系統(tǒng)運(yùn)行實(shí)驗(yàn)

本研究中GA參數(shù)設(shè)定為:種群數(shù)Pop_size=10,交叉率Pc=0.6,變異率Pm=0.3。系統(tǒng)各參數(shù)值約為: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)。實(shí)驗(yàn)時(shí),按“整定”按鈕,計(jì)算機(jī)自動(dòng)產(chǎn)生正弦波(周期為10s;幅度為1000rad/s)作為系統(tǒng)輸入,并實(shí)驗(yàn)性啟動(dòng)系統(tǒng),進(jìn)行前饋系數(shù)的在線整定。實(shí)驗(yàn)所采用的數(shù)據(jù)采集卡為NI公司生產(chǎn)的PCI-6024E。圖4為示波器顯示的整定過程誤差波形。開始時(shí),輸出與輸入不能實(shí)現(xiàn)跟蹤,產(chǎn)生了較大的誤差,1分鐘左右誤差超于零,此時(shí),W0=0.513,W1=0.038,Wn=0.029,按近理論全補(bǔ)償值。此后系統(tǒng)可以按照實(shí)際要求的輸入信號(hào)持續(xù)運(yùn)行,從而實(shí)現(xiàn)了系統(tǒng)快速跟蹤要求。

采用虛擬儀器進(jìn)行系統(tǒng)控制,可以完全實(shí)現(xiàn)其它計(jì)算機(jī)控制系統(tǒng)所要求的運(yùn)行結(jié)果,而且相對(duì)而言,虛擬儀器更顯得靈活易用、直觀生動(dòng)。GA引入到在線參數(shù)整定是一次大膽深度。提導(dǎo)GA搜索的性能指標(biāo)J取自實(shí)時(shí)測試的結(jié)果,它不需要數(shù)學(xué)模型,因而是另一有效的優(yōu)化系統(tǒng)參數(shù)的方法,特別是在系統(tǒng)模型時(shí)變、難以或不可描述的情況下,效果更為顯著。

本文將遺傳算法、虛擬儀器控制有機(jī)地結(jié)合,充分發(fā)揮了遺傳算法、虛擬儀器的優(yōu)勢,使系統(tǒng)控制達(dá)到了較高的性能,其基本原理、方法和技術(shù)具有普遍性,可望在其它復(fù)雜控制系統(tǒng)中得到廣泛的工程應(yīng)用。



關(guān)鍵詞:

評(píng)論


技術(shù)專區(qū)

關(guān)閉