蓋文東, 張 婧, 李玉霞, 高宏巖
(山東科技大學 電氣與自動化工程學院, 山東 青島 266590)
?
基于分布式仿真的智能控制實驗教學平臺設(shè)計
蓋文東, 張婧, 李玉霞, 高宏巖
(山東科技大學 電氣與自動化工程學院, 山東 青島266590)
針對現(xiàn)有智能控制實驗裝置價格高、單臺實驗人數(shù)少、實驗項目單一等問題,設(shè)計了基于分布式仿真的智能控制實驗教學平臺。該平臺采用分層設(shè)計思想,構(gòu)建了一個閉環(huán)智能控制系統(tǒng),并通過三維視景實時顯示實驗效果。以基于遺傳算法的無人機路徑規(guī)劃及路徑跟蹤控制問題為例,說明分布式仿真實驗教學平臺的教學應(yīng)用。該分布式仿真實驗教學平臺便于學生完成智能控制實驗,并進行二次開發(fā)和創(chuàng)新實驗。
智能控制; 分布式仿真; 實驗教學
智能控制是一種無需或僅需很少的人為干預就能獨立地驅(qū)動智能機器、實現(xiàn)控制目標的方法,主要用來解決那些傳統(tǒng)控制方法難以解決的復雜系統(tǒng)控制問題[1],代表了控制理論與技術(shù)的發(fā)展方向。智能控制是高校智能科學與技術(shù)、自動化等專業(yè)的一門理論與實踐相結(jié)合的重要專業(yè)課程。完善的智能控制實驗教學平臺是確保學生將所學理論應(yīng)用于實踐的基礎(chǔ),是培養(yǎng)學生實踐能力和創(chuàng)新能力的重要保證[2]。
目前,專門用于智能控制教學實踐環(huán)節(jié)的實驗裝置較少。文獻[3]在A3000過程控制實驗裝置的基礎(chǔ)上,設(shè)計了基于模糊-PI雙模控制的雙容液位實驗平臺;文獻[4]設(shè)計了基于PLC的智能交通燈控制實驗裝置;文獻[5]設(shè)計了移動智能體實驗平臺,用于學生完成具有創(chuàng)新性的綜合實驗。這些實驗教學裝置在教學實踐過程中主要存在以下問題:設(shè)備采購費用較高,而每套實驗裝置每次僅能供少數(shù)學生進行實驗;實驗項目單一,難以在其基礎(chǔ)上進行二次開發(fā),難以滿足大量學生完成不同類型智能控制實驗的需要。
仿真技術(shù)通過系統(tǒng)模型和計算機編程,能夠?qū)μ摂M的或?qū)嶋H的系統(tǒng)進行動態(tài)實驗,對智能控制的實驗教學具有重要應(yīng)用價值[6]。文獻[7]在Matlab仿真環(huán)境下設(shè)計了光電跟蹤系統(tǒng)的模糊自適應(yīng)PID控制實驗;文獻[8]采用VC與Matlab的混合編程方法,將遺傳算法與PID控制相結(jié)合并設(shè)計了智能控制創(chuàng)新實驗平臺;文獻[9]設(shè)計了基于三維視景技術(shù)的車輛電子控制虛擬實驗平臺,取得了良好的實驗教學效果?;贛atlab的仿真實驗平臺有利于智能控制算法的研究,但其用戶交互系統(tǒng)較為簡單,難以使學生對實驗環(huán)境和控制效果有實際的感受。
本文基于分布式仿真和三維視景技術(shù),設(shè)計了一種智能控制實驗教學平臺,為學生提供軟件仿真環(huán)境下可視化的實驗平臺,有助于提高學生學習興趣、培養(yǎng)學生的動手能力和創(chuàng)新意識。
分布式仿真[10-11]是利用網(wǎng)絡(luò)技術(shù),將具有不同功能的、分布的各個仿真節(jié)點連接在一起,通過各個仿真節(jié)點間的數(shù)據(jù)交互完成仿真運行。將分布式仿真與三維視景技術(shù)相結(jié)合,能夠構(gòu)建出更加逼真的仿真實驗環(huán)境,使學生能夠身臨其境地感受到被控對象及其工作環(huán)境的動態(tài)變化,以及智能控制算法的應(yīng)用效果。該分布式仿真實驗教學平臺的總體結(jié)構(gòu)如圖1所示。
圖1 分布式仿真實驗教學平臺結(jié)構(gòu)圖
在分布式仿真實驗教學平臺中,仿真管理節(jié)點主要負責仿真過程管理,它提供了仿真節(jié)點搜索、初始化、運行、暫停、停止等功能;被控對象節(jié)點主要完成被控對象非線性動力學模型的數(shù)值計算,它根據(jù)當前仿真周期的控制指令得到被控對象輸出數(shù)據(jù);控制器節(jié)點主要實現(xiàn)智能控制算法,它根據(jù)期望指令和當前仿真周期的對象輸出數(shù)據(jù),運行智能控制算法,產(chǎn)生控制指令;視景顯示節(jié)點主要完成被控對象在其工作環(huán)境中的動態(tài)視景顯示功能,該節(jié)點只接收數(shù)據(jù),而不發(fā)布數(shù)據(jù)。
2.1仿真支撐平臺設(shè)計
分布式仿真系統(tǒng)的基本功能是通過仿真支撐平臺完成的,該仿真支撐平臺采用了分層設(shè)計思想,分為核心層和應(yīng)用層,均采用C++編程實現(xiàn)(見圖2)。
圖2 仿真支撐平臺分層設(shè)計示意圖
在分布式仿真過程中,數(shù)據(jù)交互類CDSM通過分布式共享存儲機制,實現(xiàn)各個仿真節(jié)點的數(shù)據(jù)交互。本平臺采用了基于軟件實現(xiàn)的邏輯共享存儲技術(shù)[12]。仿真支撐平臺的底層通信是通過網(wǎng)絡(luò)通信類CUDPSocket實現(xiàn)的,它采用UDP協(xié)議和多播通信方式。實時時鐘類CRTTimer在Windows多媒體時鐘庫基礎(chǔ)上進行封裝,可實現(xiàn)1 ms的精確定時,為實時仿真提供計時服務(wù)。仿真管理類CAdiminNode和仿真應(yīng)用類CSimNode是在核心層3個類基礎(chǔ)上構(gòu)建的,它們在內(nèi)部集成了相應(yīng)的仿真管理和調(diào)度功能,無需用戶干預。另外,它們還對外提供了仿真命令接口,用戶可以直接調(diào)用這些命令實現(xiàn)對仿真過程的控制。
該仿真平臺包括:仿真管理節(jié)點和仿真應(yīng)用節(jié)點,其中仿真應(yīng)用節(jié)點可細分為被控對象仿真節(jié)點、控制器仿真節(jié)點、視景顯示節(jié)點等。
2.2仿真管理節(jié)點設(shè)計
仿真管理節(jié)點相當于控制臺,它負責整個仿真系統(tǒng)的配置和管理,包含了仿真管理類CAdiminNode的對象,需要完成以下功能。
(1) 搜索節(jié)點。管理節(jié)點在網(wǎng)絡(luò)上發(fā)布接收仿真應(yīng)用節(jié)點的注冊消息,在線的仿真應(yīng)用節(jié)點接收到該注冊消息后,向管理節(jié)點發(fā)送注冊信息,包括本節(jié)點的名稱、IP地址、數(shù)據(jù)接收端口、本地分布式共享內(nèi)存區(qū)(DSM)及其所有權(quán)標志等。
(2) 仿真初始化。整個分布式仿真系統(tǒng)的初始化工作包括管理節(jié)點初始化和仿真應(yīng)用節(jié)點初始化。對于管理節(jié)點來說,在完成節(jié)點搜索工作后,它根據(jù)搜索到的當前在線的仿真應(yīng)用節(jié)點信息,為各個仿真應(yīng)用節(jié)點分配多播組地址,具有同名DSM的仿真應(yīng)用節(jié)點將分配相同的多播組地址。因此,同一個仿真應(yīng)用節(jié)點可加入多個多播組地址。對于仿真應(yīng)用節(jié)點來說,在收到管理節(jié)點初始化命令后,支撐平臺會自動調(diào)用相應(yīng)的仿真初始化函數(shù),完成用戶需要的特定的初始化操作。該功能由CSimNode類通過函數(shù)指針實現(xiàn),改變函數(shù)指針的指向就可以實現(xiàn)調(diào)用不同的初始化函數(shù),實現(xiàn)不同的功能。
(3) 仿真管理。主要對仿真步長、仿真速度、仿真總時間、仿真類型等仿真參數(shù)進行設(shè)置,以及對仿真過程的啟動、暫停、加速、減緩和終止等操作。可使用仿真管理節(jié)點界面上的相應(yīng)命令或工具欄按鈕運行仿真、暫停仿真或終止仿真。為了保證整個仿真系統(tǒng)中各節(jié)點仿真時間的一致性,由管理節(jié)點掌控著仿真時鐘。仿真運行后,每隔一個仿真周期,管理節(jié)點會向各仿真應(yīng)用節(jié)點發(fā)送仿真推進指令,各仿真應(yīng)用節(jié)點接收到仿真推進指令后,分別調(diào)用各自的仿真過程函數(shù),完成一個周期的仿真,并交互必要的仿真數(shù)據(jù)。
2.3被控對象仿真節(jié)點設(shè)計
被控對象仿真節(jié)點內(nèi)包含了一個仿真應(yīng)用類CSimNode的對象,由該對象負責仿真系統(tǒng)底層的網(wǎng)絡(luò)通信、數(shù)據(jù)交互、仿真命令解析等任務(wù)。實現(xiàn)數(shù)據(jù)交互時,只需要把在網(wǎng)絡(luò)上共享和交互的數(shù)據(jù)塊交由一個CDSM類的對象管理,并將這些CDSM類的對象向CSimNode類的對象注冊即可。
在每個仿真周期內(nèi),被控對象仿真節(jié)點是最先進行仿真運算的節(jié)點,運算完成后將所得的被控對象輸出數(shù)據(jù)發(fā)送給控制器仿真節(jié)點和視景顯示節(jié)點,以便控制器仿真節(jié)點進行控制律解算、視景顯示節(jié)點完成場景顯示。被控對象模型的數(shù)值求解采用四階龍格庫塔算法實現(xiàn)。
2.4控制器仿真節(jié)點設(shè)計
控制器仿真節(jié)點包含了一個仿真應(yīng)用類CSimNode的對象,主要完成控制器仿真任務(wù),即計算控制指令。它根據(jù)被控對象仿真節(jié)點的數(shù)據(jù),按照一定的控制律來計算控制指令,并將該控制指令發(fā)送給被控對象節(jié)點作為其控制輸入。
在每個仿真周期內(nèi),當控制器仿真節(jié)點接收到管理節(jié)點發(fā)送的仿真推進指令時,并不立即完成控制律計算,而是等待被控對象節(jié)點仿真數(shù)據(jù)計算完畢,并傳送過來之后才能進行,否則就會出現(xiàn)錯誤。這一點是通過仿真支撐平臺保證的。將本地節(jié)點用作仿真結(jié)果輸出的、可改寫的DSM數(shù)據(jù)塊屬性定義為W(寫),而將仿真計算需要用到卻無法改寫的DSM數(shù)據(jù)塊屬性定義為R(讀),就可以實現(xiàn)數(shù)據(jù)的有序共享,保證仿真的時序。
2.5視景顯示節(jié)點設(shè)計
視景顯示節(jié)點包含了一個仿真應(yīng)用類CSimNode的對象,主要完成被控對象及其場景的動態(tài)顯示,以便學生對于控制效果有一個直觀、清晰的認識。
通過Creator軟件建立被控對象及其場景的三維模型,同時利用VegaPrime軟件提供的三維視景模型驅(qū)動接口,在視景節(jié)點中實現(xiàn)三維視景的動態(tài)顯示。視景顯示節(jié)點接收仿真管理節(jié)點的仿真推進指令,并接收被控對象仿真節(jié)點和控制器仿真節(jié)點的輸出數(shù)據(jù)。
以基于遺傳算法的無人機路徑規(guī)劃及路徑跟蹤控制問題為例,說明該分布式仿真實驗教學平臺在實際教學中的應(yīng)用。
3.1無人機路徑規(guī)劃與跟蹤控制實驗設(shè)計
被控對象仿真節(jié)點的主要功能是完成無人機動力學模型的數(shù)字仿真。
無人機六自由度非線性模型包括:機體坐標系中質(zhì)心動力學方程(力方程)、繞質(zhì)心轉(zhuǎn)動的動力學方程(力矩方程)、地面坐標系下的質(zhì)心運動學方程和繞質(zhì)心轉(zhuǎn)動運動學方程,共計12個一階微分方程[13]。
被控對象仿真節(jié)點根據(jù)控制器節(jié)點產(chǎn)生的舵面偏轉(zhuǎn)和油門開度指令,采用四階龍格庫塔算法,完成對無人機非線性模型的數(shù)值求解,得到當前仿真周期的無人機飛行狀態(tài)信息(包括位置、姿態(tài)等)。
本實驗采用了基于遺傳算法的路徑規(guī)劃方法。遺傳算法是建立在遺傳學機理上的迭代自適應(yīng)概率性搜索算法,通過自然選擇、交叉和變異等操作,完成問題的優(yōu)化求解[14-15]?;谶z傳算法的路徑規(guī)劃計算流程如圖3所示。
圖3 基于遺傳算法的路徑規(guī)劃流程圖
當?shù)玫娇尚械淖顑?yōu)路徑后,利用PID控制方法分別設(shè)計無人機的高度、速度以及側(cè)偏距控制律,以實現(xiàn)對所得最優(yōu)路徑的跟蹤控制。
控制節(jié)點的跟蹤控制算法是將連續(xù)的PID控制器離散化得到的,所采用的離散化方法為雙線性變換法(圖斯汀變換法):
(1)
式中,T為采樣周期。
本實驗的視景仿真節(jié)點主要完成無人機避障飛行過程的動態(tài)顯示,包括無人機三維模型、三維地形模型等。視景節(jié)點接收被控對象節(jié)點的仿真數(shù)據(jù),實現(xiàn)無人機三維模型姿態(tài)、軌跡以及三維地形的動態(tài)變化。
3.2無人機路徑規(guī)劃與跟蹤控制實驗結(jié)果
在本文構(gòu)建的分布式仿真平臺基礎(chǔ)上,實現(xiàn)了基于遺傳算法的無人機路徑規(guī)劃分布式仿真實驗,仿真系統(tǒng)的參數(shù)設(shè)置如表1所示。
表1 分布式仿真的參數(shù)設(shè)置表
根據(jù)表1中參數(shù)設(shè)置分布式仿真實驗平臺,基于遺傳算法的路徑規(guī)劃所得到的無人機可行路徑,以及無人機自動規(guī)避障礙物的機動飛行三維視景分別如圖4和圖5所示。
圖4 控制器節(jié)點的無人機路徑規(guī)劃圖
圖5 視景節(jié)點的無人機飛行效果圖
根據(jù)圖4和圖5可知,在分布式仿真實驗教學平臺的基礎(chǔ)上,基于遺傳算法的路徑規(guī)劃方法可以得到無人機的可行路徑,路徑跟蹤控制方法可以實現(xiàn)對規(guī)劃路徑的跟蹤。這些結(jié)果均可以通過視景節(jié)點的動態(tài)仿真界面直觀地呈現(xiàn)在學生面前。
3.3功能特點與應(yīng)用分析
該基于分布式仿真的智能控制實驗教學平臺,有效彌補了現(xiàn)有智能控制實驗裝置在實踐教學過程中的不足,其優(yōu)勢體現(xiàn)在以下兩方面。
(1) 實驗設(shè)備經(jīng)濟、使用方便,實驗結(jié)果形象、直觀。該分布式仿真平臺只需要4臺計算機,分別作為仿真控制節(jié)點、被控對象節(jié)點、控制器節(jié)點和視景節(jié)點。我校自動化專業(yè)實驗室配有60臺高性能計算機以及局域網(wǎng),這些設(shè)備可以構(gòu)成多套分布式仿真平臺,從而有效解決了實驗設(shè)備數(shù)量少與學生人數(shù)多的矛盾。另外,學生完成相應(yīng)的算法和程序設(shè)計,得到形象、直觀的實驗結(jié)果,大大提高了學習興趣。
(2) 具有較強的可擴展性,便于學生進行二次開發(fā)和創(chuàng)新研究。通過該分布式仿真平臺,學生可以在控制器節(jié)點設(shè)計與實現(xiàn)不同智能控制算法,在被控對象節(jié)點設(shè)計與實現(xiàn)不同類型的控制對象,并在視景節(jié)點建立不同的三維視景仿真環(huán)境。這有利于學生完成創(chuàng)新性研究和畢業(yè)設(shè)計等教研活動。
本文針對智能控制實驗教學過程中存在的問題,設(shè)計了基于分布式仿真的智能控制實驗教學平臺。該平臺充分利用了現(xiàn)有實驗室的條件,具有較強的二次開發(fā)能力和創(chuàng)新研究價值,有助于增強學生對智能控制課程學習的興趣,提高學生應(yīng)用智能控制理論知識分析、解決實際問題的能力。
References)
[1] 蔡自興.智能控制原理與應(yīng)用[M].北京:清華大學出版社,2007.
[2] 熊鳳,許勇,楊青,等.淺談智能科學與技術(shù)實驗室建設(shè)[J].實驗室研究與探索,2012,31(6):173-175.
[3] 麥雪鳳.基于A3000的模糊-PI雙模控制實驗設(shè)計與開發(fā)[J].實驗室研究與探索,2013,32(8):89-92.
[4] 方貴盛,王云鳳,陳劍蘭.智能交通燈PLC控制實驗裝置研制[J].實驗室研究與探索,2012,31(11):204-208.
[5] 吳懷宇,胡琳萍,程磊,等.基于移動智能實驗平臺的研究性實驗設(shè)計[J].電氣電子教學學報,2008,30(1):81-84.
[6] 徐立芳,莫宏偉.仿真技術(shù)在智能控制實驗平臺建設(shè)中的應(yīng)用[J].實驗技術(shù)與管理,2013,30(8):74-76.
[7] 張佳.光電跟蹤系統(tǒng)的模糊自適應(yīng)PID控制實驗[J].實驗技術(shù)與管理,2014,31(8):59-63.
[8] 姜增如.基于遺傳算法的智能控制創(chuàng)新實驗研究[J].實驗技術(shù)與管理,2012,29(7):32-35,44.
[9] 席軍強,宗瑩,王文碩.車輛電子控制虛擬實驗教學平臺研究[J].實驗室研究與探索,2015,34(1):79-83.
[10] 孫學功,朱秀娟,丁雪,等.分布式仿真運行支撐環(huán)境實現(xiàn)方法研究[J].計算機仿真,2012(9):144-147.
[11] 李傳慶,黃傳紅,孫福剛.一種分布式視景仿真軟件系統(tǒng)通用框架[J].系統(tǒng)仿真學報,2013,25(增刊1):376-378.
[12] 伍智鋒,唐碩,杜承烈.基于共享內(nèi)存機制的分布式飛行仿真研究[J].計算機仿真,2002(6):19-21.
[13] 吳森堂.飛行控制系統(tǒng)[M].2版.北京:北京航空航天大學出版社,2013.
[14] 王宇平.進化計算的理論和方法[M].北京:科學出版社,2011.
[15] 鄭銳,馮振明,陸明泉.基于遺傳算法的無人機航路規(guī)劃優(yōu)化研究[J].計算機仿真,2011(6):88-91.
An intelligent control experiment teaching platform based on distributed simulation
Gai Wendong, Zhang Jing, Li Yuxia, Gao Hongyan
(College of Electrical Engineering and Automation, Shandong University of Science and Technology, Qingdao 266590, China)
Aiming at the problem of the intelligent control experimental devices during the experimental teaching, an intelligent control experimental teaching platform based on the distributed simulation is designed. In this experimental teaching platform, the distributed simulation technology is used to construct a closed-loop intelligent control system, and the experimental result is shown by the 3D visual simulation. The application effect shows that it is helpful for the students to finish the intelligent experiment, and carry out the secondary development and innovation research.
intelligent control; distributed simulation; experimental teaching
10.16791/j.cnki.sjg.2016.03.034
2015- 08- 11
山東省自然科學基金資助項目(ZR2014FQ008);山東科技大學自動化學院名校工程建設(shè)項目(MX-JXGG-5) ; 山東科技大學電氣與自動化工程學院優(yōu)秀教學團隊建設(shè)計劃資助(skzdhjxtd152);山東科技大學人才引進科研啟動基金項目(2014RCJJ053)
蓋文東(1982—),男,山東淄博,博士,講師,主要研究方向為飛行控制、控制理論及其應(yīng)用.
E-mail:gwd2011@sdust.edu.cn
TP273
A
1002-4956(2016)3- 0134- 04