《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動(dòng)態(tài) > 基于遺傳算法和虛擬儀器的前饋速度伺服系統(tǒng)設(shè)計(jì)與整定

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

2009-05-05
作者:康俊源 鄭力新

??? 摘 要: 介紹了一種在虛擬儀器控制下進(jìn)行在線參數(shù)優(yōu)化的前饋速度伺服控制系統(tǒng)。為實(shí)現(xiàn)前饋控制系數(shù)的在線整定,引入了遺傳算法。通過實(shí)際測(cè)試驗(yàn)證了該設(shè)計(jì)方法和技術(shù)的有效性。?

????關(guān)鍵詞: 伺服系統(tǒng)? 虛擬儀器? 遺傳算法? 在線整定

?

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

??? 近年來,遺傳算法(GA)作為一強(qiáng)有力的優(yōu)化手段受到廣泛關(guān)注。它是模擬自然界遺傳變異和物競(jìng)天擇的機(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ù)學(xué)模型,也適用于時(shí)變系統(tǒng),所得優(yōu)化參數(shù)使系統(tǒng)成功實(shí)現(xiàn)了快速跟蹤。?

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

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

?

?

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

?????

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

??? ?

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

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

?????

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

??? minJ?

??? s.t.?

??? ?? 0≤W0≤W0*?

?????? 0≤W1≤W1*?

?????? 0≤Wn≤Wn*?

??? 其中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ì)?

??? 虛擬儀器是一種新興的測(cè)控儀器,它以計(jì)算機(jī)為核心、虛擬控制面板為標(biāo)志,通過計(jì)算機(jī)軟件實(shí)現(xiàn)對(duì)數(shù)據(jù)的顯示、存儲(chǔ)以及分析處理,以滿足用戶對(duì)功能設(shè)置的靈活多樣要求,實(shí)現(xiàn)一般測(cè)試儀器無法比擬的功能。虛擬儀器可集成各種工業(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在測(cè)量領(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所示。?

?

?

??? 主面板分為四大模塊:①輸入、輸出、誤差顯示;②系統(tǒng)控制參數(shù)設(shè)定;③遺傳算法整定;④文件、數(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ù)處理函數(shù)的編寫外,還有兩大編程重點(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,αn=0.02,Km=5.1,τm=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í)測(cè)試的結(jié)果,它不需要數(shù)學(xué)模型,因而是另一有效的優(yōu)化系統(tǒng)參數(shù)的方法,特別是在系統(tǒng)模型時(shí)變、難以或不可描述的情況下,效果更為顯著。?

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

參考文獻(xiàn)?

1 Thomas Back,et al. Evolutionary Computation:Comments?on the History and Current State.IEEE Transactions on?Evolutionary Computation, 1997;1(1):3~17?

2 Mitsuo Gen, Runwei Cheng. Genetic Algorithms & Engineering Design. JOHN WILEY & SONS, INC, 1997:60~63?

3 C.Z.Janikow and Z.Michalewicz. An Experimental Comparison of Binary and Floating Point Representation?in Genetic Algorithms, in Proc.4th Inte. Conf.Genetic?Algorithms, San Diego, 1991:31~36?

4 Rudolf,G,Convergence Analysis of Canonical Genetic?Algorithms. IEEE Trans. Neural Networks,1994;(24)1:96~101?

5 Reeves,C.R,Using Genetic Algorithms With Small Populations.In Proceedings of the Fifth international?Conference on Genetic Algorithms,1993:92~99

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。