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