張道德,尹 洋,宋成龍
(湖北工業大學機械工程學院,湖北武漢 430068)
經典算法仿真實驗平臺設計
張道德,尹 洋,宋成龍
(湖北工業大學機械工程學院,湖北武漢 430068)
通過labview設計算法仿真實驗平臺,以彌補傳統實驗的不足,并結合當前網絡教學的特點,實現遠程學習程序中相關算法。
LabVIEW;算法仿真;遠程訪問
算法是本科生和研究生提高科研素養的重要學習內容。然而大部分算法的學習是需要經過實驗來體驗理解,而傳統教學實驗需要相當大的投入,通過仿真來學習算法則經濟、有效。虛擬仿真實驗平臺的搭建為學習算法的工程人員和學生提供了一套很好的方法。學習者可以通過程序來了解算法的運算過程,從而得以靈活運用。平臺搭建需要方便快捷的軟件來實現。本文通過LabVIEW編程讓程序更加簡單易懂,界面友好簡潔,而且拓寬了學習途徑。
1.1 算法仿真平臺的功能特點
算法仿真平臺具有良好的交互性和美觀開放的仿真環境,主要功能包括:
1)界面友好,操作方便,實驗結果直觀;
2)可根據需要隨時修改相關參數,從而分析算法的特點,通過分析不同參數所得結果,以對算法有更深層次的理解;
3)可以遠程訪問或者下載程序學習。
1.2 仿真平臺的主要內容和結構
本實驗平臺包含的例子主要有:增量PID算法仿真、位置PID算法仿真、遺傳算法仿真、模糊算法仿真和BP神經網絡仿真。仿真界面有1個主界面5個子界面。系統軟件設計的結構圖如圖1所示。

圖1 系統軟件設計結構圖
1.3 仿真主界面
主界面結構簡單,列舉了5大算法的對應控件,點擊對應按鈕即可進入學習(圖2)。

圖2 仿真平臺主界面
2.1 增量PID算法
增量式PID是指數字控制器的輸出只是控制量的增量Δu(k)。采用增量式算法時,計算機輸出的控制量Δu(k)對應的是本次執行機構位置的增量,而不是對應執行機構的實際位置,因此要求執行機構必須具有對控制量增量的累積功能,才能完成對被控對象的控制操作。執行機構的累積功能可以采用硬件的方法實現,也可以采用軟件來實現,如利用算式u(k)=u(k-1)+Δu(k)程序化來完成。

式中:Kp為控制器的比例放大系數;Ti為控制器的積分時間;Td為控制器的微分時間。計算機控制系統的采樣周期T一般在選定后就不再改變,所以一旦確定了Kp、Ti、Td,只要利用前后3次測量的偏差值,即可由式(1)或式(2)求出控制增量。
在LabVIEW中,程序通過位移寄存器的運用求得E(k),E(k-1),E(k-2),A,B,C,實現增量PID的編程。通過點擊前面板“增量PID算法仿真”出現如圖3所示界面。

圖3 增量PID仿真界面
2.2 位置PID算法
基本PID理想式為

式中:u(t)為控制器(也稱調節器)的輸出;e(t)為控制器的輸入(常為設定值與被控量之差,即e(t)=r(t)-c(t))。
設u(k)為第k次采樣時刻控制器的輸出值,可得離散的PID算式:

由于計算機的輸出u(k)直接控制執行機構(如閥門),u(k)的值與執行機構的位置(如閥門開度)一一對應,所以通常稱式(2)為位置式PID控制算法。由于LabVIEW中有對應的位置PID的vi(圖4),因此編程很方便。

圖4 位置PID子vi
通過比較學習這兩個PID算法可以更好地掌握PID算法原理與整定方法。
2.3 模糊算法
通過對現實對象的分析,處理數據并構建模糊型數學模型。用隸屬關系將數據元素集合成模糊集合,確定隸屬函數,進行模糊統計,多依據人自身的經驗,因而它往往是通過心理測量來進行的。
模糊算法大部分通過模糊控制器進行學習,MATLAB或LabVIEW中都有對應的模糊控制器設計方法。本程序設計了優美的界面(圖5),顯示出模糊控制每次運算關鍵步驟的結果,讓用戶更加清晰了解模糊控制。

圖5 模糊算法仿真界面
由圖5可見,模糊控制的輸入輸出論域,通過隸屬度函數求得的隸屬度、模糊化的結果、反模糊化的結果。
2.4 遺傳算法
遺傳算法是一類借鑒生物界的進化規律演化而來的隨機化搜索方法。遺傳算法過程如下。
1)編碼以及初始種群的產生。
2)適應度函數。一般情況下,染色體(也叫個體,或一個解)的適應度函數為目標函數的線性組合。本文直接以目標函數作為適應度函數,即每個染色體的適應度值就是它的目標函數值:f(x)=-x2+5。
3)選擇算子。初始種群產生后,要從種群中選出若干個體進行交叉、變異,這些個體的選擇方法就叫做選擇算子。一般有輪盤賭選擇法、錦標賽選擇法、排序法等。本文采用排序法來選擇,即每次選擇都選出適應度最高的兩個個體。那么執行一次選擇操作后,得到的新種群的一部分如圖6所示。
4)變異。變異就是對染色體的結構進行變異,使其改變原來的結構(值也就改變),達到突變進化的目的。變異操作也要遵從一定的概率來進行,一般設置為0到0.5之間。本文的變異方法直接采取基因位反轉變異法,即0變為1,1變為0。要進行變異的基因位的選取也是隨機的。
5)終止規則。遺傳算法是要一代一代更替的,停止迭代的規則就叫終止規則。一般常用的終止規則有:若干代后終止、得到的解達到一定目標后終止、計算時間達到一定限度后終止等方法。本文采用迭代數來限制。
通過本界面,可以學習到遺傳算法流程圖。輸入迭代次數,點擊開始即可出現每次經過比例選擇、單點交叉運算、變異后的新種群結果。遺傳算法求極值的界面如圖6所示。

圖6 遺傳算法仿真界面
2.5 BP神經網絡算法
BP算法是一種有監督式的學習算法,其主要思想是:輸入學習樣本,使用反向傳播算法對網絡的權值和偏差進行反復調整訓練,使輸出的向量與期望向量盡可能地接近,當網絡輸出層的誤差平方和小于指定的誤差時,訓練完成,保存網絡的權值和偏差。
在本文的仿真實驗中BP神經網絡的學習是通過LabVIEW作為編程語言實現BP曲線擬合。本實驗描述了神經網絡的正向傳播和誤差反向傳播的過程。本實驗選取的學習樣本,輸入樣本點Xi(i=1,2,…,nq)為(0,1)上的隨機數,這些隨機數由LabVIEW自帶的函數產生。該神經網絡為三層結構的神經網絡,即由輸入層、隱含層和輸出層組成。實驗界面如圖7所示。通過界面,用戶可以觀察曲線逼近過程、BP流程圖、每次訓練后的X輸入層,以及隱含層到輸出層權值、輸出層到隱含層權值和輸出層各值。

圖7 BP曲線逼近仿真界面
LabVIEW本身提供遠程訪問和實現。在2012的版本中通過菜單欄中的工具選項,再點擊web發布工具選項,即可方便地實現程序的遠程發布,用戶可以通過自動生成的網址,實現遠程訪問虛擬實驗平臺,程序中對每個仿真算法分別生成了對應的網址,如:“http://samsung-149cc84:8000/%D4% F8%C1%BFPID.html”。當主機發布到網上時,“samsung-149cc84”需要改為當前主機IP客戶機才可以訪問。在用戶訪問到界面后,可以點擊右鍵獲取控制權,自行進行仿真學習。增量PID遠程實驗界面如圖8所示。

圖8 增量PID遠程實驗界面
該算法仿真平臺的設計包括了工程應用中的常用算法,有增量PID、位置PID、模糊控制、遺傳算法、BP神經網絡,并且為每個算法提供了友好界面和遠程訪問界面。由于LabVIEW具有編程方便、可擴展性強的特點,平臺還可以根據用戶需要添加更多的算法進行仿真。通過不斷的測試,實驗平臺可以提高用戶學習算法的效率,激發用戶學習興趣,因此已經具備良好的實用價值。
[1] 高 靜.基于LabVIEW圖形化編程的PID控制算法[J].軟件導刊,2012,11(04):81-83.
[2] 李海芳,張 民,陳俊杰,等.LabVIEW下遠程虛擬實驗室的研究與實現[J].太原理工大學學報,2010,41(02):147-149.
[3] 謝東坡,高 云,余成波.基于labVIEW平臺的虛擬實驗室研究[J].試驗技術與試驗機,2007(09):40-43.
[4] 陳錫輝,張銀鴻.LabVIEW8.20程序設計從入門到精通[M].北京:清華大學出版社,2007.
[5] 雷振山,肖成勇,魏 麗,等.高級編程與虛擬儀器工程應用[M]北京:中國鐵道出版社,2012.
[6] 劉金琨.先進PID控制MATLAB仿真[M]北京:電子工業出版社,2004.
[責任編校:張 眾]
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-),男,湖北黃梅人,工學博士,湖北工業大學教授。研究方向為智能控制,圖像識別