張道德,尹 洋,宋成龍
(湖北工業(yè)大學(xué)機(jī)械工程學(xué)院,湖北武漢 430068)
經(jīng)典算法仿真實(shí)驗(yàn)平臺(tái)設(shè)計(jì)
張道德,尹 洋,宋成龍
(湖北工業(yè)大學(xué)機(jī)械工程學(xué)院,湖北武漢 430068)
通過(guò)labview設(shè)計(jì)算法仿真實(shí)驗(yàn)平臺(tái),以彌補(bǔ)傳統(tǒng)實(shí)驗(yàn)的不足,并結(jié)合當(dāng)前網(wǎng)絡(luò)教學(xué)的特點(diǎn),實(shí)現(xiàn)遠(yuǎn)程學(xué)習(xí)程序中相關(guān)算法。
LabVIEW;算法仿真;遠(yuǎn)程訪問(wèn)
算法是本科生和研究生提高科研素養(yǎng)的重要學(xué)習(xí)內(nèi)容。然而大部分算法的學(xué)習(xí)是需要經(jīng)過(guò)實(shí)驗(yàn)來(lái)體驗(yàn)理解,而傳統(tǒng)教學(xué)實(shí)驗(yàn)需要相當(dāng)大的投入,通過(guò)仿真來(lái)學(xué)習(xí)算法則經(jīng)濟(jì)、有效。虛擬仿真實(shí)驗(yàn)平臺(tái)的搭建為學(xué)習(xí)算法的工程人員和學(xué)生提供了一套很好的方法。學(xué)習(xí)者可以通過(guò)程序來(lái)了解算法的運(yùn)算過(guò)程,從而得以靈活運(yùn)用。平臺(tái)搭建需要方便快捷的軟件來(lái)實(shí)現(xiàn)。本文通過(guò)LabVIEW編程讓程序更加簡(jiǎn)單易懂,界面友好簡(jiǎn)潔,而且拓寬了學(xué)習(xí)途徑。
1.1 算法仿真平臺(tái)的功能特點(diǎn)
算法仿真平臺(tái)具有良好的交互性和美觀開(kāi)放的仿真環(huán)境,主要功能包括:
1)界面友好,操作方便,實(shí)驗(yàn)結(jié)果直觀;
2)可根據(jù)需要隨時(shí)修改相關(guān)參數(shù),從而分析算法的特點(diǎn),通過(guò)分析不同參數(shù)所得結(jié)果,以對(duì)算法有更深層次的理解;
3)可以遠(yuǎn)程訪問(wèn)或者下載程序?qū)W習(xí)。
1.2 仿真平臺(tái)的主要內(nèi)容和結(jié)構(gòu)
本實(shí)驗(yàn)平臺(tái)包含的例子主要有:增量PID算法仿真、位置PID算法仿真、遺傳算法仿真、模糊算法仿真和BP神經(jīng)網(wǎng)絡(luò)仿真。仿真界面有1個(gè)主界面5個(gè)子界面。系統(tǒng)軟件設(shè)計(jì)的結(jié)構(gòu)圖如圖1所示。
圖1 系統(tǒng)軟件設(shè)計(jì)結(jié)構(gòu)圖
1.3 仿真主界面
主界面結(jié)構(gòu)簡(jiǎn)單,列舉了5大算法的對(duì)應(yīng)控件,點(diǎn)擊對(duì)應(yīng)按鈕即可進(jìn)入學(xué)習(xí)(圖2)。
圖2 仿真平臺(tái)主界面
2.1 增量PID算法
增量式PID是指數(shù)字控制器的輸出只是控制量的增量Δu(k)。采用增量式算法時(shí),計(jì)算機(jī)輸出的控制量Δu(k)對(duì)應(yīng)的是本次執(zhí)行機(jī)構(gòu)位置的增量,而不是對(duì)應(yīng)執(zhí)行機(jī)構(gòu)的實(shí)際位置,因此要求執(zhí)行機(jī)構(gòu)必須具有對(duì)控制量增量的累積功能,才能完成對(duì)被控對(duì)象的控制操作。執(zhí)行機(jī)構(gòu)的累積功能可以采用硬件的方法實(shí)現(xiàn),也可以采用軟件來(lái)實(shí)現(xiàn),如利用算式u(k)=u(k-1)+Δu(k)程序化來(lái)完成。
式中:Kp為控制器的比例放大系數(shù);Ti為控制器的積分時(shí)間;Td為控制器的微分時(shí)間。計(jì)算機(jī)控制系統(tǒng)的采樣周期T一般在選定后就不再改變,所以一旦確定了Kp、Ti、Td,只要利用前后3次測(cè)量的偏差值,即可由式(1)或式(2)求出控制增量。
在LabVIEW中,程序通過(guò)位移寄存器的運(yùn)用求得E(k),E(k-1),E(k-2),A,B,C,實(shí)現(xiàn)增量PID的編程。通過(guò)點(diǎn)擊前面板“增量PID算法仿真”出現(xiàn)如圖3所示界面。
圖3 增量PID仿真界面
2.2 位置PID算法
基本PID理想式為
式中:u(t)為控制器(也稱調(diào)節(jié)器)的輸出;e(t)為控制器的輸入(常為設(shè)定值與被控量之差,即e(t)=r(t)-c(t))。
設(shè)u(k)為第k次采樣時(shí)刻控制器的輸出值,可得離散的PID算式:
由于計(jì)算機(jī)的輸出u(k)直接控制執(zhí)行機(jī)構(gòu)(如閥門(mén)),u(k)的值與執(zhí)行機(jī)構(gòu)的位置(如閥門(mén)開(kāi)度)一一對(duì)應(yīng),所以通常稱式(2)為位置式PID控制算法。由于LabVIEW中有對(duì)應(yīng)的位置PID的vi(圖4),因此編程很方便。
圖4 位置PID子vi
通過(guò)比較學(xué)習(xí)這兩個(gè)PID算法可以更好地掌握PID算法原理與整定方法。
2.3 模糊算法
通過(guò)對(duì)現(xiàn)實(shí)對(duì)象的分析,處理數(shù)據(jù)并構(gòu)建模糊型數(shù)學(xué)模型。用隸屬關(guān)系將數(shù)據(jù)元素集合成模糊集合,確定隸屬函數(shù),進(jìn)行模糊統(tǒng)計(jì),多依據(jù)人自身的經(jīng)驗(yàn),因而它往往是通過(guò)心理測(cè)量來(lái)進(jìn)行的。
模糊算法大部分通過(guò)模糊控制器進(jìn)行學(xué)習(xí),MATLAB或LabVIEW中都有對(duì)應(yīng)的模糊控制器設(shè)計(jì)方法。本程序設(shè)計(jì)了優(yōu)美的界面(圖5),顯示出模糊控制每次運(yùn)算關(guān)鍵步驟的結(jié)果,讓用戶更加清晰了解模糊控制。
圖5 模糊算法仿真界面
由圖5可見(jiàn),模糊控制的輸入輸出論域,通過(guò)隸屬度函數(shù)求得的隸屬度、模糊化的結(jié)果、反模糊化的結(jié)果。
2.4 遺傳算法
遺傳算法是一類借鑒生物界的進(jìn)化規(guī)律演化而來(lái)的隨機(jī)化搜索方法。遺傳算法過(guò)程如下。
1)編碼以及初始種群的產(chǎn)生。
2)適應(yīng)度函數(shù)。一般情況下,染色體(也叫個(gè)體,或一個(gè)解)的適應(yīng)度函數(shù)為目標(biāo)函數(shù)的線性組合。本文直接以目標(biāo)函數(shù)作為適應(yīng)度函數(shù),即每個(gè)染色體的適應(yīng)度值就是它的目標(biāo)函數(shù)值:f(x)=-x2+5。
3)選擇算子。初始種群產(chǎn)生后,要從種群中選出若干個(gè)體進(jìn)行交叉、變異,這些個(gè)體的選擇方法就叫做選擇算子。一般有輪盤(pán)賭選擇法、錦標(biāo)賽選擇法、排序法等。本文采用排序法來(lái)選擇,即每次選擇都選出適應(yīng)度最高的兩個(gè)個(gè)體。那么執(zhí)行一次選擇操作后,得到的新種群的一部分如圖6所示。
4)變異。變異就是對(duì)染色體的結(jié)構(gòu)進(jìn)行變異,使其改變?cè)瓉?lái)的結(jié)構(gòu)(值也就改變),達(dá)到突變進(jìn)化的目的。變異操作也要遵從一定的概率來(lái)進(jìn)行,一般設(shè)置為0到0.5之間。本文的變異方法直接采取基因位反轉(zhuǎn)變異法,即0變?yōu)?,1變?yōu)?。要進(jìn)行變異的基因位的選取也是隨機(jī)的。
5)終止規(guī)則。遺傳算法是要一代一代更替的,停止迭代的規(guī)則就叫終止規(guī)則。一般常用的終止規(guī)則有:若干代后終止、得到的解達(dá)到一定目標(biāo)后終止、計(jì)算時(shí)間達(dá)到一定限度后終止等方法。本文采用迭代數(shù)來(lái)限制。
通過(guò)本界面,可以學(xué)習(xí)到遺傳算法流程圖。輸入迭代次數(shù),點(diǎn)擊開(kāi)始即可出現(xiàn)每次經(jīng)過(guò)比例選擇、單點(diǎn)交叉運(yùn)算、變異后的新種群結(jié)果。遺傳算法求極值的界面如圖6所示。
圖6 遺傳算法仿真界面
2.5 BP神經(jīng)網(wǎng)絡(luò)算法
BP算法是一種有監(jiān)督式的學(xué)習(xí)算法,其主要思想是:輸入學(xué)習(xí)樣本,使用反向傳播算法對(duì)網(wǎng)絡(luò)的權(quán)值和偏差進(jìn)行反復(fù)調(diào)整訓(xùn)練,使輸出的向量與期望向量盡可能地接近,當(dāng)網(wǎng)絡(luò)輸出層的誤差平方和小于指定的誤差時(shí),訓(xùn)練完成,保存網(wǎng)絡(luò)的權(quán)值和偏差。
在本文的仿真實(shí)驗(yàn)中BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)是通過(guò)LabVIEW作為編程語(yǔ)言實(shí)現(xiàn)BP曲線擬合。本實(shí)驗(yàn)描述了神經(jīng)網(wǎng)絡(luò)的正向傳播和誤差反向傳播的過(guò)程。本實(shí)驗(yàn)選取的學(xué)習(xí)樣本,輸入樣本點(diǎn)Xi(i=1,2,…,nq)為(0,1)上的隨機(jī)數(shù),這些隨機(jī)數(shù)由LabVIEW自帶的函數(shù)產(chǎn)生。該神經(jīng)網(wǎng)絡(luò)為三層結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),即由輸入層、隱含層和輸出層組成。實(shí)驗(yàn)界面如圖7所示。通過(guò)界面,用戶可以觀察曲線逼近過(guò)程、BP流程圖、每次訓(xùn)練后的X輸入層,以及隱含層到輸出層權(quán)值、輸出層到隱含層權(quán)值和輸出層各值。
圖7 BP曲線逼近仿真界面
LabVIEW本身提供遠(yuǎn)程訪問(wèn)和實(shí)現(xiàn)。在2012的版本中通過(guò)菜單欄中的工具選項(xiàng),再點(diǎn)擊web發(fā)布工具選項(xiàng),即可方便地實(shí)現(xiàn)程序的遠(yuǎn)程發(fā)布,用戶可以通過(guò)自動(dòng)生成的網(wǎng)址,實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)虛擬實(shí)驗(yàn)平臺(tái),程序中對(duì)每個(gè)仿真算法分別生成了對(duì)應(yīng)的網(wǎng)址,如:“http://samsung-149cc84:8000/%D4% F8%C1%BFPID.html”。當(dāng)主機(jī)發(fā)布到網(wǎng)上時(shí),“samsung-149cc84”需要改為當(dāng)前主機(jī)IP客戶機(jī)才可以訪問(wèn)。在用戶訪問(wèn)到界面后,可以點(diǎn)擊右鍵獲取控制權(quán),自行進(jìn)行仿真學(xué)習(xí)。增量PID遠(yuǎn)程實(shí)驗(yàn)界面如圖8所示。
圖8 增量PID遠(yuǎn)程實(shí)驗(yàn)界面
該算法仿真平臺(tái)的設(shè)計(jì)包括了工程應(yīng)用中的常用算法,有增量PID、位置PID、模糊控制、遺傳算法、BP神經(jīng)網(wǎng)絡(luò),并且為每個(gè)算法提供了友好界面和遠(yuǎn)程訪問(wèn)界面。由于LabVIEW具有編程方便、可擴(kuò)展性強(qiáng)的特點(diǎn),平臺(tái)還可以根據(jù)用戶需要添加更多的算法進(jìn)行仿真。通過(guò)不斷的測(cè)試,實(shí)驗(yàn)平臺(tái)可以提高用戶學(xué)習(xí)算法的效率,激發(fā)用戶學(xué)習(xí)興趣,因此已經(jīng)具備良好的實(shí)用價(jià)值。
[1] 高 靜.基于LabVIEW圖形化編程的PID控制算法[J].軟件導(dǎo)刊,2012,11(04):81-83.
[2] 李海芳,張 民,陳俊杰,等.LabVIEW下遠(yuǎn)程虛擬實(shí)驗(yàn)室的研究與實(shí)現(xiàn)[J].太原理工大學(xué)學(xué)報(bào),2010,41(02):147-149.
[3] 謝東坡,高 云,余成波.基于labVIEW平臺(tái)的虛擬實(shí)驗(yàn)室研究[J].試驗(yàn)技術(shù)與試驗(yàn)機(jī),2007(09):40-43.
[4] 陳錫輝,張銀鴻.LabVIEW8.20程序設(shè)計(jì)從入門(mén)到精通[M].北京:清華大學(xué)出版社,2007.
[5] 雷振山,肖成勇,魏 麗,等.高級(jí)編程與虛擬儀器工程應(yīng)用[M]北京:中國(guó)鐵道出版社,2012.
[6] 劉金琨.先進(jìn)PID控制MATLAB仿真[M]北京:電子工業(yè)出版社,2004.
[責(zé)任編校:張 眾]
Design of Classical algorithm Simulation Experimental Platform
ZHANG Dao-de,YIN Yang,SONG Cheng-long
(School of Mechanical Engin.,Hubei Univ.of Tech.,Wuhan 430068,China)
In order to improve the efficiency of learning algorithms commonly used,the algorithms simulation experimental platform,based on LabVIEW,was designed in this paper.The relevant algorithms in the distant learning program was brought about combining the characteristics of online learning.
labVIEW;algorithm simulation;remote access
TP312
A
1003-4684(2014)02-0073-04
2014-02-17
張道德(1973-),男,湖北黃梅人,工學(xué)博士,湖北工業(yè)大學(xué)教授。研究方向?yàn)橹悄芸刂?,圖像識(shí)別