李曉榮 劉志強(qiáng)
摘 要: 針對目前遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)中網(wǎng)絡(luò)延時的不確定對實(shí)驗(yàn)結(jié)果產(chǎn)生影響的問題,設(shè)計了基于神經(jīng)元PID控制器的遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)。研究了PID?NN神經(jīng)網(wǎng)絡(luò)控制器的算法并分析了算法的收斂性和穩(wěn)定性,給出了遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)的客戶/服務(wù)器端網(wǎng)絡(luò)通信及控制的實(shí)現(xiàn)方法。最后對實(shí)驗(yàn)室中機(jī)械控制臂進(jìn)行了響應(yīng)對比試驗(yàn),實(shí)驗(yàn)結(jié)果表明,基于神經(jīng)元PID控制器實(shí)驗(yàn)系統(tǒng)的響應(yīng)超調(diào)量、穩(wěn)態(tài)誤差及響應(yīng)時間明顯小于普通PID控制方法的實(shí)驗(yàn)系統(tǒng),證明了算法的正確性。
關(guān)鍵詞: 遠(yuǎn)程自動控制; 客戶/服務(wù)器; 神經(jīng)網(wǎng)絡(luò); PID 控制
中圖分類號: TN876?34; TM417 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2016)09?0133?05
Abstract: Since the uncertainty of network delay in remote experiment system can impact on the experimental results, the remote experiment system based on neuron PID controller was designed. The algorithm of PID?NN neural network controller is studied. Its convergence and stability are analyzed. The implementation method of the system′s network communication and control in client/server sides is given. The response contrast test for the machinery control arm was conducted in the laboratory. The experimental results show that the response overshoot, steady?state error and response time of the experiment system based on neuron PID controller are smaller than those of the experiment system based on common PID control method. The correctness of the algorithm was proved.
Keywords: remote automatic control; client/server; neural network; PID control
0 引 言
隨著網(wǎng)絡(luò)規(guī)模的日益擴(kuò)大及網(wǎng)絡(luò)軟硬件成本的不斷下降,遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)的應(yīng)用越來越廣泛。但網(wǎng)絡(luò)信號傳輸?shù)臅r間延遲[1?2]具有不確定性的特點(diǎn),會對遠(yuǎn)程實(shí)驗(yàn)的結(jié)果造成影響。在目前的解決辦法中,具有延時補(bǔ)償功能的網(wǎng)絡(luò)控制器[3?4]會降低系統(tǒng)性能,無法有效解決延時對實(shí)驗(yàn)結(jié)果的影響問題。
針對上述問題,本文設(shè)計了基于神經(jīng)元PID控制器的遠(yuǎn)程實(shí)驗(yàn)系統(tǒng),利用延時預(yù)估得到的試驗(yàn)參數(shù)來調(diào)整控制器的參數(shù),有效解決了網(wǎng)絡(luò)延時問題,對遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)的推廣應(yīng)用具有重要意義。
1 系統(tǒng)概述
遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)采用三層結(jié)構(gòu)的客戶/服務(wù)器模式,由I/O模塊、客戶端和服務(wù)器端組成。其中,管理服務(wù)器、實(shí)驗(yàn)服務(wù)器和視頻服務(wù)器構(gòu)成了系統(tǒng)的服務(wù)器端,各服務(wù)器的主要功能如下:
管理服務(wù)器:保證服務(wù)器和試驗(yàn)系統(tǒng)的安全。通過協(xié)調(diào)多客戶的訪問順序、設(shè)置用戶權(quán)限及驗(yàn)證用戶身份等手段來保證網(wǎng)絡(luò)的安全性。
實(shí)驗(yàn)服務(wù)器:首先將由客戶端輸入的實(shí)驗(yàn)參數(shù)及命令傳送到后臺進(jìn)行處理,然后將實(shí)驗(yàn)系統(tǒng)輸出的實(shí)驗(yàn)數(shù)據(jù)實(shí)時傳遞給客戶端。在數(shù)據(jù)傳遞前,實(shí)驗(yàn)服務(wù)器通過與后臺和客戶端的套接字連接方式創(chuàng)建點(diǎn)對點(diǎn)的數(shù)據(jù)傳送信道。
視頻服務(wù)器:攝像機(jī)先將實(shí)驗(yàn)系統(tǒng)的運(yùn)行情況拍攝下來,然后將拍攝到的畫面以視頻信號的方式傳送給視頻服務(wù)器,視頻服務(wù)器再將經(jīng)過處理的畫面實(shí)時發(fā)送到客戶端。通過視頻服務(wù)器,使客戶端在進(jìn)行實(shí)驗(yàn)的同時,還能清楚地了解遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)的運(yùn)行情況,如同在現(xiàn)場進(jìn)行操作一樣,遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)的原理如圖1所示。
在實(shí)驗(yàn)系統(tǒng)中,為了簡化系統(tǒng)結(jié)構(gòu)并達(dá)到較好的實(shí)時性,控制算法在服務(wù)器端實(shí)現(xiàn)。本系統(tǒng)的控制方法采用適應(yīng)性較高的基于神經(jīng)元PID[5]控制器的算法,所以必須建立服務(wù)器與客戶端間的連接,該連接可依靠網(wǎng)絡(luò)編程中的Socket實(shí)現(xiàn),具體過程如下:
(1) 首先服務(wù)器端需創(chuàng)建一個Socket實(shí)時監(jiān)聽網(wǎng)絡(luò),以便隨時接收客戶端發(fā)出的請求;
(2) 當(dāng)客戶端要與服務(wù)器端進(jìn)行通信時,通過建立相應(yīng)的Socket與服務(wù)器實(shí)現(xiàn)實(shí)時通信;
(3) 當(dāng)服務(wù)器端接收到客戶端的請求后,重新建立一個Socket。
2 算法設(shè)計及性能分析
算法將PID控制規(guī)律與神經(jīng)網(wǎng)絡(luò)進(jìn)行本質(zhì)結(jié)合,設(shè)計了PID?NN算法。其隱含層包括比例、積分、微分3個單元,屬于動態(tài)前向網(wǎng)絡(luò),更適用于遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)。
2.1 算法設(shè)計
(1) PID?NN控制器結(jié)構(gòu)
如圖2所示,PID?NN控制器由輸入層、隱含層和輸出層構(gòu)成,屬于3層前向網(wǎng)絡(luò),其結(jié)構(gòu)為2?3?1。網(wǎng)絡(luò)的輸入層由分別輸入控制系統(tǒng)的給定參數(shù)[r]和被控對象的輸出參數(shù)[y]兩個神經(jīng)元構(gòu)成;隱含層由分別完成比例(P)、積分(I)、微分(D)功能的3個神經(jīng)元構(gòu)成;網(wǎng)絡(luò)的輸出層由完成PID?NN控制規(guī)律的綜合神經(jīng)元構(gòu)成。PID?NN參數(shù)的自適應(yīng)調(diào)整功能通過反傳算法實(shí)現(xiàn),PID?NN控制規(guī)律通過網(wǎng)絡(luò)的前向計算實(shí)現(xiàn)[6]。
(2) PID?NN的計算方法
3 算法實(shí)現(xiàn)
本文采用C++編程實(shí)現(xiàn)該控制算法,并實(shí)現(xiàn)了對實(shí)驗(yàn)室中機(jī)械控制臂的控制,控制算法由學(xué)習(xí)和訓(xùn)練權(quán)值兩步組成。
(1) 學(xué)習(xí):首先向被控對象發(fā)出信號并接收其反饋信息,通過與理論值的比較,然后修改連接權(quán)重值。具體過程如下:首先向被控對象發(fā)出階躍信號,同時離散化采集反饋信號y(k)。設(shè)置采樣周期[Ts=]0.05 s,采樣數(shù)目為num(采樣數(shù)目不小于300)個點(diǎn)數(shù),將輸入的單位階躍信號r(k)=1和采集的反饋值y(k)代入算法。
(2) 訓(xùn)練權(quán)值:通過PID?NN控制系統(tǒng)的反傳算法完成權(quán)值訓(xùn)練。利用循環(huán)語句可完成全部計算,PID?NN算法的神經(jīng)網(wǎng)絡(luò)訓(xùn)練流程如圖3所示。
4 系統(tǒng)實(shí)現(xiàn)
遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)由客戶端和服務(wù)器端兩部分組成,各部分功能如下:
客戶端:完成實(shí)驗(yàn)系統(tǒng)的初值和參數(shù)設(shè)定,啟動實(shí)驗(yàn)系統(tǒng)并完成與遠(yuǎn)端服務(wù)器的網(wǎng)絡(luò)通信,生成控制信息,監(jiān)控遠(yuǎn)端實(shí)驗(yàn)對象狀態(tài)。
服務(wù)器端:采集實(shí)驗(yàn)數(shù)據(jù)并將數(shù)據(jù)實(shí)時傳送給客戶端,同時接收客戶端的遠(yuǎn)程指令。
4.1 客戶端的實(shí)現(xiàn)
系統(tǒng)客戶端采用由一個主對話框和幾個輔助對話框組成的對話框式應(yīng)用程序,在對話框中,可以設(shè)置相應(yīng)實(shí)驗(yàn)的初值,客戶端實(shí)現(xiàn)的整體流程如圖4所示。
4.2 服務(wù)器端的實(shí)現(xiàn)
首先,建立CSocket的繼承類ClistenSocket和CDataSocket的繼承類CserverSocket,各繼承類的具體功能如下:
ClistenSocket類:用于監(jiān)聽端口和處理客戶端的連接請求,該類不與客戶端的Socket直接連接,僅起監(jiān)聽作用。在該類中,通過重載OnAccept函數(shù),當(dāng)服務(wù)器端接收到客戶端的連接請求時,將其轉(zhuǎn)到自己所編寫的函數(shù)中,并對各客戶端的實(shí)驗(yàn)申請序列進(jìn)行排序,具體代碼如下所示:
5 實(shí)驗(yàn)對比
分別采用神經(jīng)元PID控制器的控制算法和常規(guī)PID控制器的控制算法對實(shí)驗(yàn)室中的機(jī)械控制臂進(jìn)行對比實(shí)驗(yàn)。其中神經(jīng)元PID控制器的訓(xùn)練次數(shù)設(shè)為300,實(shí)驗(yàn)的各參數(shù)如表1所示。
實(shí)驗(yàn)表明,采用神經(jīng)元PID控制后的遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)在響應(yīng)的超調(diào)量、響應(yīng)時間和穩(wěn)態(tài)誤差都要好于常規(guī)的PID控制算法。
6 結(jié) 論
本文在研究了基于PID?NN神經(jīng)網(wǎng)絡(luò)控制器算法的基礎(chǔ)上,設(shè)計了基于神經(jīng)元PID控制器的遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)。給出了遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)的實(shí)現(xiàn)方法,有效解決了目前遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)中網(wǎng)絡(luò)延時不確定對實(shí)驗(yàn)結(jié)果造成影響的問題。最后通過對比實(shí)驗(yàn)證明了基于神經(jīng)元PID控制器的遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)的優(yōu)越性,對遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)的推廣應(yīng)用具有重要意義。但本文設(shè)計的系統(tǒng)屬現(xiàn)場控制系統(tǒng),無法對遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)進(jìn)行實(shí)時控制,這些還需在后續(xù)的工作中進(jìn)行研究。
參考文獻(xiàn)
[1] 王秀英,周俊林.Internet網(wǎng)絡(luò)延遲分析與評測[J].計算機(jī)應(yīng)用研究,1999(3):18?19.
[2] 張君鴻,馬玉林.基于Internet的遠(yuǎn)程機(jī)器人控制時間延遲的研究[J].哈爾濱鐵道科技,2003(2):14?16.
[3] KOJIMA A, UCHIDA K, SHIMEMURA E, et al. Robust stabilization of a system with delays in control [J]. IEEE transactions on automatic control, 1994, 39(8): 1694?1698.
[4] ROGELIO L, RAY A. An observe?based compensator for distributed delays [J]. Automatica, 1990, 26(25): 903?908.
[5] 魯雄文.模糊PID控制系統(tǒng)的設(shè)計與研究[J].現(xiàn)代電子技術(shù),2014,37(24):146?149.
[6] 徐麗娜.神經(jīng)網(wǎng)絡(luò)控制[M].北京:電子工業(yè)出版社,2003:115?165.
[7] 鐘碧良.基于神經(jīng)網(wǎng)絡(luò)參數(shù)自調(diào)整的PID控制器[J].工業(yè)儀表與自動化裝置,1999,6(1):29?42.
[8] ZHANG W, BRANICKY M S, PHILLIPS S M. Stability of networked control systems [J]. IEEE control systems, 2001, 21(1): 84?99.