于秀萍, 劉 濤, 吳新鋒, 張浩昱
(哈爾濱工程大學(xué) 自動化學(xué)院, 哈爾濱 150001)
導(dǎo)彈制導(dǎo)控制半實物仿真實驗系統(tǒng)設(shè)計
于秀萍, 劉 濤, 吳新鋒, 張浩昱
(哈爾濱工程大學(xué) 自動化學(xué)院, 哈爾濱 150001)
針對探測制導(dǎo)與控制技術(shù)專業(yè)本科生的學(xué)習(xí)與實驗教學(xué)的需要,基于實驗室已有的二軸轉(zhuǎn)臺光電跟蹤系統(tǒng)設(shè)計了導(dǎo)彈制導(dǎo)與控制半實物仿真教學(xué)實驗平臺。該平臺以二軸轉(zhuǎn)臺作為物理實物部分,以PC機和運動控制器為控制平臺和控制核心,通過轉(zhuǎn)臺的運動控制卡庫函數(shù)實現(xiàn)轉(zhuǎn)臺偏航軸和俯仰軸的位置和速度控制。運用Simulink可視化的系統(tǒng)建模界面建立某導(dǎo)彈的運動學(xué)和動力學(xué)模型,組成導(dǎo)彈的內(nèi)環(huán)姿態(tài)控制回路和外環(huán)制導(dǎo)回路,用RTW技術(shù)將模型轉(zhuǎn)化為代碼,加入I/O接口后,將轉(zhuǎn)臺放入回路中進行半實物仿真。經(jīng)測試驗證,該系統(tǒng)在學(xué)生實驗中起到了良好的教學(xué)效果。
導(dǎo)彈制導(dǎo)控制; 半實物仿真; Simulink; 運動控制; 教學(xué)實驗平臺
目前,探測制導(dǎo)與控制技術(shù)專業(yè)實驗室以二軸轉(zhuǎn)臺為硬件平臺,PC機為軟件平臺,可以實現(xiàn)圖像識別、運動控制及靶標(biāo)跟蹤等實驗,涉及到數(shù)字圖像處理、電機控制等知識。為了加深學(xué)生對飛行器制導(dǎo)控制概念的理解,激發(fā)學(xué)生的學(xué)習(xí)興趣,開發(fā)了導(dǎo)彈制導(dǎo)控制半實物仿真實驗平臺,該平臺以導(dǎo)彈的姿態(tài)控制和制導(dǎo)控制為主要教學(xué)內(nèi)容,可以實現(xiàn)模擬導(dǎo)彈姿態(tài)運動的實時觀察和導(dǎo)彈彈道的顯示,實現(xiàn)制導(dǎo)與控制規(guī)律的驗證,深化學(xué)生對專業(yè)知識的理解,激發(fā)學(xué)生對飛行器制導(dǎo)控制的興趣及好奇心[1-3]。
1.1 實驗設(shè)備組成
制導(dǎo)控制半實物仿真實驗系統(tǒng)實物圖如圖1所示,主要由以下幾部分組成:
(1) 二軸飛行轉(zhuǎn)臺。轉(zhuǎn)臺為模擬導(dǎo)彈或雷達跟蹤系統(tǒng)運動模塊的類工業(yè)旋轉(zhuǎn)運動系統(tǒng)。它包含電控箱、轉(zhuǎn)臺本體兩大部分。轉(zhuǎn)臺本體包括:機械構(gòu)件、伺服電機(2套)、限位開關(guān)。電控箱里面安裝有伺服運動控制器、I/O接口板、電源開關(guān)等。
(2) 圖像采集設(shè)備。圖像采集設(shè)備由工業(yè)攝像頭、鏡頭、1394接口卡(含數(shù)據(jù)線)三部分組成。
(3) 仿真與控制計算機。計算機安裝系統(tǒng)為Windows XP、PCI插槽安裝ADT-8960運動控制卡。
(4) 靶標(biāo)。目標(biāo)模擬器采用靜止靶標(biāo)。
(5) 彈體模型。此模型采用3D打印技術(shù)制造,安裝于轉(zhuǎn)臺上,便于觀察導(dǎo)彈姿態(tài)變化。
圖1 實驗系統(tǒng)實物圖
1.2 制導(dǎo)控制半實物仿真實驗教學(xué)知識點及系統(tǒng)設(shè)計
結(jié)合半實物平臺的教學(xué)用途,學(xué)生通過該仿真實驗可以鞏固、掌握的知識點有:① 直流電動機的位置、速度控制方法及控制器的設(shè)計;② 導(dǎo)彈動力學(xué)模型、運動學(xué)模型、彈目相對運動模型的建立;③ 自動駕駛儀的設(shè)計方法;④ 比例導(dǎo)引規(guī)律的設(shè)計方法及導(dǎo)引系數(shù)與脫靶量之間的聯(lián)系;⑤ 半實物仿真的具體實現(xiàn)方法;⑥ MFC界面編程的思想及具體實現(xiàn)[4-6]。設(shè)計制導(dǎo)控制半實物仿真實驗平臺結(jié)構(gòu)如圖2所示。
圖2中右邊紅色虛線框中為在Simulink中建立的導(dǎo)彈制導(dǎo)控制仿真模型,可以封裝為EXE可執(zhí)行文件作為仿真內(nèi)核,通過PC機的VC++環(huán)境輸入導(dǎo)彈的初始運動參數(shù)(坐標(biāo)、速度初始姿態(tài)角、初始彈道角)及控制參數(shù)、導(dǎo)引參數(shù)和目標(biāo)的初始參數(shù)(坐標(biāo)、速度等),使仿真內(nèi)核開始運行,將導(dǎo)彈的姿態(tài)角(對于二軸飛行轉(zhuǎn)臺,只有俯仰角、偏航角)或?qū)?yīng)的角速度輸入到飛行轉(zhuǎn)臺,控制其轉(zhuǎn)動相應(yīng)的角度,并通過運動控制卡ADT-8960控制光電編碼器采集相應(yīng)的姿態(tài)角和角速度再傳遞給內(nèi)核,攝像頭充當(dāng)導(dǎo)引頭采集靶標(biāo)的運動參數(shù)也傳遞給仿真內(nèi)核,如此循環(huán)構(gòu)成制導(dǎo)控制回路,當(dāng)導(dǎo)彈距離目標(biāo)最近時仿真結(jié)束。根據(jù)半實物仿真系統(tǒng)預(yù)期要求,設(shè)計的系統(tǒng)軟件需具備如圖3所示的功能。
圖2 實驗平臺設(shè)計結(jié)構(gòu)圖
圖3 半實物仿真系統(tǒng)軟件功能圖
綜上所述,從系統(tǒng)功能需求和教學(xué)需要出發(fā),系統(tǒng)設(shè)計任務(wù)如下:
(1) 基于Simulink建立導(dǎo)彈制導(dǎo)控制系統(tǒng)模型并仿真驗證;
(2) 運用RTW模塊將Simulink模型轉(zhuǎn)化為基于VC++的實時代碼;
(3) 設(shè)計Simulink模型與VC++平臺的I/O接口,并將兩者封裝為EXE仿真內(nèi)核;
(4) 系統(tǒng)軟件功能設(shè)計及人機交互界面的設(shè)計;
(5) 半實物仿真平臺的功能測試。
2.1 基于Simulink的導(dǎo)彈制導(dǎo)控制仿真
(1) 導(dǎo)彈縱向運動的數(shù)學(xué)模型[7-8]。導(dǎo)彈縱向運動微分方程描述如下:
dx/dt=vcosθ
dy/dt=vsinθ
m=673-0.12t,P=300,g=9.8
(2) 氣動參數(shù)計算模塊
X=Cxqs
Y=Cyqs
Cx=0.077 8·α+0.4
Cy=0.391 6·α-0.041
mz1=-0.093 4·α-0.003 6
q=ρv2/2
取彈體參數(shù):S=0.12,xt=2.2,xp=4.7,bA=1.2,空氣密度ρ=1.05,Cyδz1=0.06。
(3) 制導(dǎo)與控制系統(tǒng)模型
① 運動學(xué)環(huán)節(jié):
彈目相對位置
xr=xm-x
yr=ym-y
彈目相對速度
彈目相對距離
彈目視線角速度
彈目相對距離變化率
② 自動駕駛儀設(shè)計。選擇導(dǎo)彈的指令舵偏角為
經(jīng)優(yōu)化設(shè)計,得控制規(guī)律參數(shù)
Kpf=0.106,Kdf=2.312
③ 制導(dǎo)規(guī)律選取。選取廣義比例導(dǎo)引法,則導(dǎo)彈控制系統(tǒng)的指令過載為
將上面各個模型的Simulink仿真模型連接起來得到三自由度導(dǎo)彈制導(dǎo)控制系統(tǒng)仿真模型總框圖[5-8],如圖4所示。
2.2 Simulink仿真模型的封裝與調(diào)用[9-13]
導(dǎo)彈的制導(dǎo)控制仿真結(jié)構(gòu)圖通過Simulink自帶的工具包RTW轉(zhuǎn)化為C++代碼,并設(shè)計I/O接口,最后封裝為EXE仿真內(nèi)核,在VC 6.0中進行調(diào)用。
圖4 導(dǎo)彈三自由度運動制導(dǎo)控制仿真模型圖
2.2.1 仿真模型的封裝
設(shè)置好RTW的各選項,步長50 ms,編譯成功后,在VC 6.0中打開擴展名為mak的文件,VC 6.0會自動加載與程序有關(guān)的頭文件和庫文件。若運行程序,會生成.mat文件,其中包含了運行過程中各參數(shù)的數(shù)據(jù),但VC 6.0不能直接讀取.mat文件的數(shù)據(jù),因此需要進行二次開發(fā)設(shè)置I/O接口。
2.2.2 I/O接口程序設(shè)計
編寫I/O接口程序應(yīng)注意RTW編譯生成的cpp文件的初始化函數(shù)MdlStart,和輸出結(jié)果的函數(shù)MdlTerminate,在MdlStart函數(shù)中添加讀取參數(shù)設(shè)定初始值的程序,在源程序中找到每個outport,讀取輸出值,再在MdlTerminate函數(shù)中添加輸出導(dǎo)彈、目標(biāo)的運動學(xué)參數(shù)、動力學(xué)參數(shù)值的程序。待程序修改完畢,測試運行成功后,編譯,連接,則會生成模型的EXE文件[14-15],且?guī)в休斎胼敵鼋涌冢@就是仿真內(nèi)核,可以在VC 6.0中直接調(diào)用了。
2.2.3 仿真內(nèi)核調(diào)用
在VC 6.0中調(diào)用仿真內(nèi)核EXE文件,本文使用Windows自帶的Windows API函數(shù)UINT WinExec(LPCSTR lpCmdLine,UINT uCmdShow),lpCmdLine:指向一個空結(jié)束的字符串,串中包含將要執(zhí)行的應(yīng)用程序的命令行(文件名加上可選參數(shù));uCmdShow:定義Windows應(yīng)用程序的窗口如何顯示,并為CreateProcess函數(shù)提供STARTUPINFO參數(shù)的wShowWindow成員的值。
在VC 6.0中建立一個基于對話框的MFC程序,由于仿真內(nèi)核的仿真步長是50 ms,故每過一個步長,給轉(zhuǎn)臺一個控制信號,轉(zhuǎn)臺的運動控制采用庫函數(shù)symmetry_relative_move(),可以一次性輸入角速度和角度信號。轉(zhuǎn)臺采用閉環(huán)控制,將其設(shè)計為典型的Ⅱ型系統(tǒng),因為該系統(tǒng)根據(jù)“諧振峰值最小原則”設(shè)計,跟隨性能較Ⅰ型系統(tǒng)好得多,且調(diào)節(jié)時間短,根據(jù)工程經(jīng)驗,選擇中頻帶寬度h=5,設(shè)計為“最佳Ⅱ型系統(tǒng)”。設(shè)置轉(zhuǎn)臺角度誤差1°,滿足條件時用庫函數(shù)get_actual_pos()讀取轉(zhuǎn)臺的角度信號并計算轉(zhuǎn)臺的角速度信號,作為仿真內(nèi)核的輸入?yún)?shù),這樣就把轉(zhuǎn)臺放在了回路中進行仿真,也即半實物仿真。
攝像頭采集靶標(biāo)圖像進行處理,在人機交互對話框初始化函數(shù)中建立一個線程,來進行圖像處理,具體流程是:① 圖像二值化;② 圖像腐蝕,濾掉小的物體;③ 灰度拉伸變換;④ 目標(biāo)輪廓提??;⑤ 計算目標(biāo)物體的質(zhì)心。把物體的質(zhì)心坐標(biāo)按一定比例放大作為靶標(biāo)的坐標(biāo)顯示于界面上。圖像的顯示是通過定時器采樣,每隔200 ms采樣一次。
導(dǎo)彈彈道、目標(biāo)軌跡及各參數(shù)的變化曲線采用TeeChart Pro ActiveX控件。其中,導(dǎo)彈彈道、目標(biāo)軌跡圖采用三維坐標(biāo)繪制,由于是三自由度仿真,將其中一個坐標(biāo)設(shè)為常值。
5.1 人機交互界面設(shè)計
仿真系統(tǒng)主界面如圖5所示,圖中:① 區(qū)為彈道及目標(biāo)軌跡顯示區(qū);② 區(qū)為導(dǎo)彈的初始運動參數(shù)及控制、控制器參數(shù)、導(dǎo)引系數(shù)輸入?yún)^(qū)以及脫靶量的顯示區(qū);③ 區(qū)為導(dǎo)彈姿態(tài)的相關(guān)參數(shù)顯示區(qū)及參數(shù)隨時間變化的按鈕;④ 區(qū)為靶標(biāo)的初始運動參數(shù)輸入?yún)^(qū);⑤ 區(qū)為俯仰、偏航通道選擇和目標(biāo)識別及仿真操作區(qū);⑥ 區(qū)為目標(biāo)圖像的顯示區(qū);⑦ 區(qū)為轉(zhuǎn)臺測試的相關(guān)操作區(qū),有轉(zhuǎn)臺的輸入信號測試(正弦輸入、階躍輸入)和轉(zhuǎn)臺兩個軸的開環(huán)操作,還有轉(zhuǎn)臺的控制參數(shù)顯示。
5.2 導(dǎo)彈姿態(tài)控制半實物仿真功能
仿真開始前,必須先按下“轉(zhuǎn)臺回零”按鈕使轉(zhuǎn)臺回歸零位,進行姿態(tài)仿真時無需打開攝像頭,先選擇俯仰通道、偏航通道或俯仰+偏航,再直接從界面輸入導(dǎo)彈和靶標(biāo)的運動參數(shù)及控制參數(shù)Kpf、Kdf和導(dǎo)引系數(shù)K,然后點擊“半實物仿真”按鈕,系統(tǒng)開始運行,此時轉(zhuǎn)臺模擬導(dǎo)彈開始動作,界面上同時開始顯示導(dǎo)彈彈道和目標(biāo)軌跡,導(dǎo)彈相關(guān)參數(shù)也開始實時變化顯示。本文選擇“俯仰通道”,待仿真結(jié)束后,仿真系統(tǒng)界面見圖5,也可以查看運動過程中導(dǎo)彈各參數(shù)隨時間的變化情況,如點擊“導(dǎo)彈俯仰角—時間曲線”按鈕可以查看各姿態(tài)角隨時間的變化情況(見圖6),可以看出?=α+θ。
5.3 目標(biāo)探測與跟蹤功能測試
仿真開始前,先進行轉(zhuǎn)臺回零,再選擇仿真通道,然后打開攝像頭,可以在交互界面的⑥區(qū)看到攝像頭采集的目標(biāo)圖像(見圖5),且在目標(biāo)圖像的中心有十字叉線,那就是目標(biāo)的質(zhì)心,點擊“獲取目標(biāo)位置”按鈕,目標(biāo)的坐標(biāo)自動填寫到④區(qū)目標(biāo)的初始運動參數(shù)編輯框中。再填寫導(dǎo)彈的初始運動參數(shù)和控制器參數(shù)、導(dǎo)引系數(shù),然后開始仿真,彈目距離最近時仿真結(jié)束。
圖5 系統(tǒng)人機交互界面
圖6 導(dǎo)彈俯仰角、傾角、攻角隨時間變化曲線
本文基于Simulink與VC++混合編程開發(fā)的導(dǎo)彈制導(dǎo)控制半實物仿真教學(xué)系統(tǒng),具有友好的人機交互界面,可以實時顯示參數(shù)變化及軌跡曲線,分別改變控制參數(shù)和導(dǎo)引
參數(shù)可以進行控制規(guī)律和比例導(dǎo)引規(guī)律的驗證。該系統(tǒng)將已有硬件與專業(yè)課程實驗相結(jié)合,充分開發(fā)了已有硬件的功能,涉及多種專業(yè)知識點,不僅能夠激發(fā)學(xué)生對專業(yè)課學(xué)習(xí)的興趣,而且能夠使他們在實驗中深化對專業(yè)知識的理解。
[1] 畢開波,王曉東.飛行器制導(dǎo)與控制及其Matlab仿真技術(shù)[M].北京:國防工業(yè)出版社,2009.
[2] 單家元,孟秀云.半實物仿真[M].北京:國防工業(yè)出版社,2013:7-8,14.
[3] 趙秋惠.空空導(dǎo)彈制導(dǎo)控制系統(tǒng)設(shè)計與仿真研究[D].西安:西北工業(yè)大學(xué),2006.
[4] 劉根旺.飛行器控制系統(tǒng)設(shè)計與仿真實驗平臺的構(gòu)建[J].實驗室研究與探索,2008,27(3):26-28.
[5] 朱曉明,張淑芝.雷達監(jiān)控半實物仿真教學(xué)系統(tǒng)設(shè)計[J].實驗室研究與探索,2014,33(5):201-205.
[6] 夏 潔.舵機在回路的半實物飛控實驗教學(xué)系統(tǒng)[J].實驗室研究與探索,2012,31(9),14-17.
[7] 于秀萍,劉 濤.制導(dǎo)與控制系統(tǒng)[M].哈爾濱:哈爾濱工程大學(xué)出版社,2014.
[8] 李新國,方 群.有翼導(dǎo)彈飛行動力學(xué)[M].西安:西北工業(yè)大學(xué)出版社,2005:37-61.
[9] 李 穎.Simulink動態(tài)系統(tǒng)建模與仿真[M].西安:西安電子科技大學(xué)出版社,2009.
[10] 樊曉丹,孫應(yīng)飛.一種基于RTW的實時控制系統(tǒng)快速開發(fā)方法[J].清華大學(xué)學(xué)報(自然科學(xué)版),2003,43(7),895-898.
[11] 劉 婕.Matlab/Simulink與VC++混合編程的實現(xiàn)[J].科學(xué)技術(shù)與工程,2012,12(16):4005-4007.
[12] 劉 維.精通Matlab與C/C++混合程序設(shè)計[M].4版. 北京:北京航空航天大學(xué)出版社,2014.
[13] 楊 滌,李立濤.系統(tǒng)實時仿真開發(fā)環(huán)境與應(yīng)用[M].北京:清華大學(xué)出版社,2002.
[14] 侯曉波,左文英.基于Simulink與VC混合編程方法的研究與應(yīng)用[J].自動化技術(shù)與應(yīng)用(計算機應(yīng)用),2010,29(11):29-32.
[15] 堯鵬飛,尹俊勛.一種Simulink仿真系統(tǒng)封裝為可執(zhí)行文件的方法[J].微計算機信息(測控自動化),2008,24(8),245-247.
Design of Missile Guidance and Control Hardware in the Loop Simulation Experiment System
YUXiuping,LIUTao,WUXinfeng,ZHANGHaoyu
(College of Automation, Harbin Engineering University, Harbin 150001, China)
In order to detect the need of guidance and control technology undergraduate study and experiment teaching, based on the two axis turntable photoelectric tracking system, we designed a teaching platform for missile guidance and control course with an in-loop simulation experiment. The platform is with two axis turntable as physical objects, the PC and motion controller as control platform. Through the turntable motion control library functions, position and speed control of turntable yaw pitch axis and axis is realized. By using Simulink visualization interface, kinematics and dynamics models of a missile are established. Inner loop attitude control loop and outer loop guidance loop are completed. With RTW technology, the model is transformed into code, after joining the I/O interface, the turntable is put into the circuit to carry out the in-loop simulation. The test results show that the system has a good teaching effect in the student experiment.
missile guidance and control; hardware in the loop simulation; Simulink; motion control; teaching experiment platform
2016-05-30
國家自然科學(xué)基金項目(51409059),黑龍江省自然科學(xué)基金資助項目 (F201342)
于秀萍(1963-),女,黑龍江哈爾濱人,博士,教授,主要從事飛行器控制方向的研究。
Tel.:13069897936; E-mail: yuxiuping@hrbeu.edu.cn
劉 濤(1979-),男,遼寧法庫人,博士,講師,從事飛行器控制系統(tǒng)仿真方面的研究。
Tel.:13836030076; E-mail: liutao@hrbeu.edu.cn
TJ 365
A
1006-7167(2017)02-0094-04