摘 要:無線網絡控制系統(Wireless Networked Control System,WiNCS)是基于無線網絡的分布式控制系統,融合了控制技術、計算機技術、網絡技術與通信技術,具有無需布線、節(jié)省構建費用、組網和維護方便、易于擴展以及良好的可移動性等優(yōu)點。目前,無線網絡控制系統的分析和設計已經成為控制界的熱點研究之一。針對無線網絡控制系統的仿真技術進行了研究,基于網絡控制仿真軟件TrueTime以及Matlab/Simulink環(huán)境,設計了一個WiNCS仿真系統模型,提出了在無線網絡控制系統中Fuzzy-PD控制算法的設計,并對PD控制、模糊控制和Fuzzy-PD控制三種控制器的控制性能進行了比較。
關鍵詞:無線網絡控制系統;Fuzzy-PD控制;TrueTime;Matlab仿真
中圖分類號:TN915文獻標識碼:B
文章編號:1004-373X(2008)24-116-04
Simulation of Wireless Networked Control System Based on TrueTime
PENG Liping1,YUE Dong2
(1.Jinken Vocational and Technical College,Nanjing,211156,China;2.Nanjing Normal University,Nanjing,210042,China)
Abstract:Wireless Networked Control System (WiNCS) is a distributed control system based on the wireless network.It is a combination of control,computer,network and communication technology.The WiNCS has many advantages such as no wire,low cost,easy to maintain and expand,higher flexibility,and so on.The analysis and design of WiNCS has become a hotspot in the control field.The simulation techn of WiNCS is studied.A simulation model of WiNCS is designed on the basis of TrueTime and Matlab/Simulink.A design method of Fuzzy-PD control strategy based on WiNCS is proposed.The performance of PD,FLC and Fuzzy-PD control is compared.
Keywords:wireless network control system;Fuzzy-PD control;TrueTime;Matlab simulation
1 引 言
根據網絡傳輸媒介的不同,NCS可以分為有線網絡控制系統(Wire Networked Control Systems,WNCS)、無線網絡控制系統(Wireless Networked Control Systems,WiNCS)和混合網絡控制系統(Hybrid Networked Control Systems,HNCS)。由于無線網絡應用的方便性、組網和維護的便利性以及良好的可拓寬性等特點,針對無線網絡控制系統的研究引起了國內外控制界的極大關注[1-3]。
在無線網絡控制系統研究中,為了驗證所提出的理論與方法的有效性,往往需要進行仿真或實驗。目前,最常用的控制系統仿真工具是Matlab,它也是目前研究NCS的主要仿真手段之一。但事實上僅采用Matlab仿真對于研究NCS存在一定的局限性。這是因為NCS是一個實時性要求較高的系統,其周期性的采樣過程要求采樣數據能夠盡可能在每個采樣周期內通過網絡傳輸到控制器上,而控制器輸出的控制器信號也要求能在同一采樣周期通過網絡傳輸到執(zhí)行器上[4,5]。這些都要求有實時系統和實時網絡的支持。
近幾年來,隨著對NCS研究的不斷深入,不少研究學者相應地開發(fā)了若干適合NCS研究的仿真工具[6-8],例如TrueTime,Jitterbug等。TrueTime工具箱是一種基于Matlab/Simulink的聯合仿真工具,具有很強的功能,可以用于研究網絡傳輸時延對控制性能的影響,用于動態(tài)調度方法的實驗研究,還可以用于仿真事件驅動的控制系統等方面的研究。由于其包含有線網絡模塊和無線網絡模塊,因此TrueTime是一種很好的研究網絡控制系統的仿真平臺。
在此基于TrueTime工具箱,結合Matlab/Simulink,針對WiNCS,采用Fuzzy-PID控制算法進行仿真研究。
2 基于TrueTime的無線網絡控制系統仿真設計
2.1 建立模型
考慮如下直流伺服電機模型為被控對象。
G(s)=1 000/s(s+1)(1)
采用無線網絡控制環(huán)結構建立仿真模型,即傳感器到控制器之間和控制器到執(zhí)行器之間都是通過無線方式連接的[9],如圖1所示。
利用TrueTime仿真工具箱中的各個模塊,聯合Matlab/Simulink仿真環(huán)境,構建一個無線網絡控制系統仿真模型,如圖2所示。
圖1 無線網絡控制環(huán)結構圖
圖2 WiNCS仿真系統模型
WiNCS仿真模型中包含兩個計算機節(jié)點和一個無線網絡模塊。兩個計算機節(jié)點分別表示傳感器/執(zhí)行器節(jié)點和控制器節(jié)點,均由TrueTime Kernel模塊與TrueTime Battery模塊組成。
時間驅動的傳感器節(jié)點周期性地對過程采樣并將采樣值經由無線網絡發(fā)送到控制器節(jié)點??刂破鞴?jié)點可以是事件驅動的也可以是時間驅動的,其任務是計算控制信號并將結果發(fā)送回到事件驅動的執(zhí)行器節(jié)點,執(zhí)行控制信號。在仿真實驗中傳感器采用時間驅動,而控制器和執(zhí)行器都采用事件驅動。
TrueTime Wireless Network模塊可以設置各種參數,如網絡協議類型、網絡傳輸速率、傳輸功率和最大允許重傳次數等。
控制器采用Fuzzy-PD控制算法,即在誤差較大時采用模糊控制,以加快響應速度,而在誤差較小時采用PD控制,因此基于TrueTime仿真環(huán)境,需要分別設計PD控制器和模糊控制器。
對于二階對象式(1),設計如下數字PD控制器[10]:
uPD(k)=Kp{e(k)+Td/h[y(k-1)-y(k)]}
e(k)=r(k)-y(k)
(2)
式(2)中,Kp,Td分別表示比例系數和微分時間常數;h為系統采樣周期。在Simulink中建立PD控制器的模型,如圖3所示。
模糊控制器采用二輸入的控制器結構,其輸入為系統輸入的誤差e(k)和誤差變化Δe(k),可表示為:
e(k)=r(k)-y(k)
Δe(k)=e(k)-e(k-1)
(3)
基于Matlab/Simulink,設計WiNCS中的模糊控制器仿真模型,如圖4所示。
圖3 WiNCS中的PD控制器結構
在Matlab的Fuzzy工具箱中設計模糊推理系統,將模糊邏輯的輸入和輸出變量都劃分為NB,NM,ZE,PM,PB五個子空間,所有的隸屬函數都使用三角形隸屬度函數。為了減小算法復雜度,模糊控制器采用mamdani結構。由于每個輸入變量有5個模糊子集,因此共有25條控制規(guī)則。如圖4所示,設計模糊控制器仿真模型時,在模糊邏輯的輸入和輸出端分別加入了增益K1,K2,K3。這種設計可以簡化模糊控制器的參數整定過程,不需要調整模糊控制器的隸屬度函數,只要調整這三個增益參數就能獲得滿意的性能指標。
圖4 WiNCS中的模糊控制器結構
2.2 初始化
在系統模型建立之后,首先要對網絡控制系統中各模塊進行初始化。初始化是仿真實驗的重要內容,主要是對計算機模塊和網絡模塊進行初始化,包括媒介訪問控制協議和網絡參數的設置,各種功能代碼函數的編寫,編寫的代碼用于創(chuàng)建各種任務和網絡中斷句柄。
在初始化時,首先要設置各種參數,并且編寫各種代碼函數實現所需功能,代碼可以采用Matlab語言或C++語言編寫,編寫代碼時可以通過調用偽碼函數完成。在TrueTime中提供了一組能被實時調用的偽碼函數,表1中給出了部分偽碼函數示例。
計算機模塊和網絡模塊的初始化分別采用函數ttInitKernel(nbrInp,nbrOutp,prioFcn)和ttInitNetwork(nodenumber,handlername)來表示。其中nbrInp,nbrOutp分別為輸入、輸出通道的數目,prioFcn為采用的調度策略,nodenumber為網絡中節(jié)點的地址,handlername為被調用的中斷句柄名。
TrueTime中預定義了多種調度策略,包括固定優(yōu)先級FP(Fixed Priority)、單調速率RM(Rate Monotonic)、截止期單調DM(Deadline Monotonic)和最小截止期優(yōu)先EDF(Earliest Deadline First)。
2.3 仿真實驗
對WiNCS中的各個節(jié)點初始化之后,使用TrueTime進行仿真實驗時,最重要的問題在于如何實現控制算法。通過研究TrueTime的源代碼可以了解到,TrueTime Kernel、TrueTime Network以及TrueTime Wireless Network的本質都是S-Function模塊。TrueTime Kernel模塊可以生成并管理模擬進程,所以可以在TrueTime Kernel的初始化程序中創(chuàng)建一個非周期任務來實現控制算法。這個非周期任務將被列入TrueTime Kernel的任務隊列,在每一次仿真調用S-Function的模型Output( )方法時被執(zhí)行。這樣就可以實現一個事件驅動的數字控制器。
若控制器采用事件驅動,創(chuàng)建非周期任務時可調用TrueTime提供的偽碼函數ttCreateTask(name,deadline,priority,codeFcn,data);若控制器為時間驅動,可調用周期任務函數ttCreatePeriodicTask(name,offset,deadline,priority,codeFcn,data)。此時創(chuàng)建的任務會被列入TrueTime Kernel數據結構中的周期任務隊列,每當仿真模型中的模擬時鐘運行了一個周期,該隊列中的任務就會被調用一次。Matlab提供的MEX函數可以在程序運行中調用一個系統的內部命令:
表1 部分偽碼函數示例
ttInitKernel初始化計算機模塊
ttInitNetwork初始化網絡模塊接口
ttCreatePeriodicTask創(chuàng)建一個周期任務
ttCreateInterruptHandler創(chuàng)建一個中斷句柄
ttWait等待一個事件
ttCreateTimer在指定時間出發(fā)中斷句柄
ttAnalogIn從輸入通道中取值
ttAnalogOut設定輸出通道的值
ttGetMsg從網絡輸入隊列中獲取消息
ttSetPriority設定一個任務的優(yōu)先級
int mexCallMATLAB(int nlhs,mxArray *plhs[],int nrhs,mxArray *prhs[],const char *command_name)。該函數可以通過調用Matlab內部的命令“sim”來啟動一個Simulink Model。建立Simulink Model時要設置好輸入輸出Port,然后按照Port個數和格式使用“sim”命令向它傳遞參數并控制仿真模型的執(zhí)行。
基于MEX函數,將圖3,圖4所示的PD控制器模型和模糊控制器模型嵌入到用TrueTime Kernel模塊建立的控制器節(jié)點中,從而實現Fuzzy-PD控制算法,調用過程如圖5所示。
在圖5中,ctrlcode.m是在TrueTime Kernel中創(chuàng)建的非周期控制器任務代碼。ttCallBlockSystem(nbroutp,inp,blockname)用于調用Simulink模塊,其中nbroutp表示模塊的輸出Port數目,inp表示輸入矢量,blockname表示Simulink模塊圖的名稱。
圖5 TrueTime中控制算法的調用過程
如圖2所示的WiNCS仿真系統模型中,采用Fuzzy-PD控制算法,模糊控制與PD控制轉換參數值可取范圍為[0.03,0.08],即系統的偏差大于該參數值時就采用前面已經設計好的模糊控制器模型FLC_Controler.mdl,將其通過ttCallBlockSystem函數嵌入到控制器中;若小于這個值就采用PD_Controler.mdl所表示的PD控制器。
通過修改ctrlcode.m中的程序代碼,可以分別實現PD控制算法、模糊控制算法和Fuzzy-PD控制算法,運行WiNCS仿真系統模型,得到圖6所示的系統響應曲線。
圖6 采用不同控制器的性能比較
從仿真圖形可以看出,在基于TrueTime仿真平臺建立的WiNCS系統中,采用PD控制時系統的超調量較大,且調節(jié)時間較長,響應速度比較慢。與常規(guī)PD控制器相比,模糊控制器和Fuzzy-PD控制器均有較好的控制效果,系統的響應速度非??欤绕涫荈uzzy-PD控制算法結合了模糊控制與PD控制的優(yōu)點,能夠實現快速、穩(wěn)定的控制。
3 結 語
主要討論了關于WiNCS的仿真技術,介紹了一種新的WiNCS仿真軟件TrueTime,利用TrueTime工具箱并結合Matlab/Simulink構建了一個WiNCS仿真模型,在此基礎上進行了仿真實驗。通過比較發(fā)現,在WiNCS中采用Fuzzy-PD控制算法,其運行速度優(yōu)于模糊算法,魯棒性能明顯優(yōu)于常規(guī)的PD控制算法。
參考文獻
[1]Kawka P A,Alleyne A G.Stability and Feedback Control of Wireless Networked Systems[A].Proceedings of the 2005 American Control Conference.2005,4:2 953-2 959.
[2]Nikolakopoulos G,Panousopoulou A,Tzes A,et al.Multi-hopping Induced Gain Scheduling for Wireless Networked Controlled Systems[A].Proceedings of the 44th IEEE Conference on Decision and Control,and the European Control Conference.2005:470-475.
[3]Panousopoulou A,Nikolakopoulos G,Tzes A.Experimental Controller Tuning and QoS Optimization of a Wireless Transmission Scheme for Real-time Remote Control Applications[A].2004 IEEE International Conference on Industrial Technology.2004:801-806.
[4]Henriksson D,Cervin A,Arzen K-E.TrueTime:Real-time Control System Simulation with Matlab/Simulink [A].Proceedings of the Nordic Matlab Conference.2003.
[5]Colandairaj J,Scanlon W,Irwin G.Understanding Wireless Networked Control Systems Through Simulation[J].IEE Computing Control Engineering,2005,16(2):26-31.
[6]Cervin Anton,Henriksson Dan.Jitterbug and TrueTime:Analysis Tools for Real-time Control Systems [C].2nd Workshop on Real-Time Tools,Copenhagen,Denmark,2002.
[7]Anton Cervin and Bo Lincoln.Jitterbug Reference Manual [R].Department of Automatic Control Lund Insitute of Technology,2003.
[8]Andersson M,Henriksson D,Cervin A.TrueTime 1.3-Reference Manual[R].Department of Automatic Control,Lund University,Sweden,2005.
[9]Ploplys N J,Kawka P A,Alleyne A G.Closed-loop Control Over Wireless Networks[J].IEEE Control Systems Magazine,2004,24(3):58-71.
[10]劉金琨.先進PID控制Matlab仿真[M].北京:電子工業(yè)出版社,2004.
作者簡介 彭麗萍 女,1981年出生,江蘇鹽城人,助教,碩士。主要研究方向為自動控制、網絡控制及其仿真。
岳 東 男,1964年出生,河南人,教授,博士后。主要研究方向為網絡控制、智能控制、CIMS等。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文