于秀萍, 劉 濤, 吳新鋒, 張浩昱
(哈爾濱工程大學 自動化學院, 哈爾濱 150001)
導彈制導控制半實物仿真實驗系統(tǒng)設計
于秀萍, 劉 濤, 吳新鋒, 張浩昱
(哈爾濱工程大學 自動化學院, 哈爾濱 150001)
針對探測制導與控制技術專業(yè)本科生的學習與實驗教學的需要,基于實驗室已有的二軸轉(zhuǎn)臺光電跟蹤系統(tǒng)設計了導彈制導與控制半實物仿真教學實驗平臺。該平臺以二軸轉(zhuǎn)臺作為物理實物部分,以PC機和運動控制器為控制平臺和控制核心,通過轉(zhuǎn)臺的運動控制卡庫函數(shù)實現(xiàn)轉(zhuǎn)臺偏航軸和俯仰軸的位置和速度控制。運用Simulink可視化的系統(tǒng)建模界面建立某導彈的運動學和動力學模型,組成導彈的內(nèi)環(huán)姿態(tài)控制回路和外環(huán)制導回路,用RTW技術將模型轉(zhuǎn)化為代碼,加入I/O接口后,將轉(zhuǎn)臺放入回路中進行半實物仿真。經(jīng)測試驗證,該系統(tǒng)在學生實驗中起到了良好的教學效果。
導彈制導控制; 半實物仿真; Simulink; 運動控制; 教學實驗平臺
目前,探測制導與控制技術專業(yè)實驗室以二軸轉(zhuǎn)臺為硬件平臺,PC機為軟件平臺,可以實現(xiàn)圖像識別、運動控制及靶標跟蹤等實驗,涉及到數(shù)字圖像處理、電機控制等知識。為了加深學生對飛行器制導控制概念的理解,激發(fā)學生的學習興趣,開發(fā)了導彈制導控制半實物仿真實驗平臺,該平臺以導彈的姿態(tài)控制和制導控制為主要教學內(nèi)容,可以實現(xiàn)模擬導彈姿態(tài)運動的實時觀察和導彈彈道的顯示,實現(xiàn)制導與控制規(guī)律的驗證,深化學生對專業(yè)知識的理解,激發(fā)學生對飛行器制導控制的興趣及好奇心[1-3]。
1.1 實驗設備組成
制導控制半實物仿真實驗系統(tǒng)實物圖如圖1所示,主要由以下幾部分組成:
(1) 二軸飛行轉(zhuǎn)臺。轉(zhuǎn)臺為模擬導彈或雷達跟蹤系統(tǒng)運動模塊的類工業(yè)旋轉(zhuǎn)運動系統(tǒng)。它包含電控箱、轉(zhuǎn)臺本體兩大部分。轉(zhuǎn)臺本體包括:機械構件、伺服電機(2套)、限位開關。電控箱里面安裝有伺服運動控制器、I/O接口板、電源開關等。
(2) 圖像采集設備。圖像采集設備由工業(yè)攝像頭、鏡頭、1394接口卡(含數(shù)據(jù)線)三部分組成。
(3) 仿真與控制計算機。計算機安裝系統(tǒng)為Windows XP、PCI插槽安裝ADT-8960運動控制卡。
(4) 靶標。目標模擬器采用靜止靶標。
(5) 彈體模型。此模型采用3D打印技術制造,安裝于轉(zhuǎn)臺上,便于觀察導彈姿態(tài)變化。
圖1 實驗系統(tǒng)實物圖
1.2 制導控制半實物仿真實驗教學知識點及系統(tǒng)設計
結合半實物平臺的教學用途,學生通過該仿真實驗可以鞏固、掌握的知識點有:① 直流電動機的位置、速度控制方法及控制器的設計;② 導彈動力學模型、運動學模型、彈目相對運動模型的建立;③ 自動駕駛儀的設計方法;④ 比例導引規(guī)律的設計方法及導引系數(shù)與脫靶量之間的聯(lián)系;⑤ 半實物仿真的具體實現(xiàn)方法;⑥ MFC界面編程的思想及具體實現(xiàn)[4-6]。設計制導控制半實物仿真實驗平臺結構如圖2所示。
圖2中右邊紅色虛線框中為在Simulink中建立的導彈制導控制仿真模型,可以封裝為EXE可執(zhí)行文件作為仿真內(nèi)核,通過PC機的VC++環(huán)境輸入導彈的初始運動參數(shù)(坐標、速度初始姿態(tài)角、初始彈道角)及控制參數(shù)、導引參數(shù)和目標的初始參數(shù)(坐標、速度等),使仿真內(nèi)核開始運行,將導彈的姿態(tài)角(對于二軸飛行轉(zhuǎn)臺,只有俯仰角、偏航角)或?qū)慕撬俣容斎氲斤w行轉(zhuǎn)臺,控制其轉(zhuǎn)動相應的角度,并通過運動控制卡ADT-8960控制光電編碼器采集相應的姿態(tài)角和角速度再傳遞給內(nèi)核,攝像頭充當導引頭采集靶標的運動參數(shù)也傳遞給仿真內(nèi)核,如此循環(huán)構成制導控制回路,當導彈距離目標最近時仿真結束。根據(jù)半實物仿真系統(tǒng)預期要求,設計的系統(tǒng)軟件需具備如圖3所示的功能。
圖2 實驗平臺設計結構圖
圖3 半實物仿真系統(tǒng)軟件功能圖
綜上所述,從系統(tǒng)功能需求和教學需要出發(fā),系統(tǒng)設計任務如下:
(1) 基于Simulink建立導彈制導控制系統(tǒng)模型并仿真驗證;
(2) 運用RTW模塊將Simulink模型轉(zhuǎn)化為基于VC++的實時代碼;
(3) 設計Simulink模型與VC++平臺的I/O接口,并將兩者封裝為EXE仿真內(nèi)核;
(4) 系統(tǒng)軟件功能設計及人機交互界面的設計;
(5) 半實物仿真平臺的功能測試。
2.1 基于Simulink的導彈制導控制仿真
(1) 導彈縱向運動的數(shù)學模型[7-8]。導彈縱向運動微分方程描述如下:
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) 制導與控制系統(tǒng)模型
① 運動學環(huán)節(jié):
彈目相對位置
xr=xm-x
yr=ym-y
彈目相對速度
彈目相對距離
彈目視線角速度
彈目相對距離變化率
② 自動駕駛儀設計。選擇導彈的指令舵偏角為
經(jīng)優(yōu)化設計,得控制規(guī)律參數(shù)
Kpf=0.106,Kdf=2.312
③ 制導規(guī)律選取。選取廣義比例導引法,則導彈控制系統(tǒng)的指令過載為
將上面各個模型的Simulink仿真模型連接起來得到三自由度導彈制導控制系統(tǒng)仿真模型總框圖[5-8],如圖4所示。
2.2 Simulink仿真模型的封裝與調(diào)用[9-13]
導彈的制導控制仿真結構圖通過Simulink自帶的工具包RTW轉(zhuǎn)化為C++代碼,并設計I/O接口,最后封裝為EXE仿真內(nèi)核,在VC 6.0中進行調(diào)用。
圖4 導彈三自由度運動制導控制仿真模型圖
2.2.1 仿真模型的封裝
設置好RTW的各選項,步長50 ms,編譯成功后,在VC 6.0中打開擴展名為mak的文件,VC 6.0會自動加載與程序有關的頭文件和庫文件。若運行程序,會生成.mat文件,其中包含了運行過程中各參數(shù)的數(shù)據(jù),但VC 6.0不能直接讀取.mat文件的數(shù)據(jù),因此需要進行二次開發(fā)設置I/O接口。
2.2.2 I/O接口程序設計
編寫I/O接口程序應注意RTW編譯生成的cpp文件的初始化函數(shù)MdlStart,和輸出結果的函數(shù)MdlTerminate,在MdlStart函數(shù)中添加讀取參數(shù)設定初始值的程序,在源程序中找到每個outport,讀取輸出值,再在MdlTerminate函數(shù)中添加輸出導彈、目標的運動學參數(shù)、動力學參數(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:指向一個空結束的字符串,串中包含將要執(zhí)行的應用程序的命令行(文件名加上可選參數(shù));uCmdShow:定義Windows應用程序的窗口如何顯示,并為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)控制,將其設計為典型的Ⅱ型系統(tǒng),因為該系統(tǒng)根據(jù)“諧振峰值最小原則”設計,跟隨性能較Ⅰ型系統(tǒng)好得多,且調(diào)節(jié)時間短,根據(jù)工程經(jīng)驗,選擇中頻帶寬度h=5,設計為“最佳Ⅱ型系統(tǒng)”。設置轉(zhuǎn)臺角度誤差1°,滿足條件時用庫函數(shù)get_actual_pos()讀取轉(zhuǎn)臺的角度信號并計算轉(zhuǎn)臺的角速度信號,作為仿真內(nèi)核的輸入?yún)?shù),這樣就把轉(zhuǎn)臺放在了回路中進行仿真,也即半實物仿真。
攝像頭采集靶標圖像進行處理,在人機交互對話框初始化函數(shù)中建立一個線程,來進行圖像處理,具體流程是:① 圖像二值化;② 圖像腐蝕,濾掉小的物體;③ 灰度拉伸變換;④ 目標輪廓提取;⑤ 計算目標物體的質(zhì)心。把物體的質(zhì)心坐標按一定比例放大作為靶標的坐標顯示于界面上。圖像的顯示是通過定時器采樣,每隔200 ms采樣一次。
導彈彈道、目標軌跡及各參數(shù)的變化曲線采用TeeChart Pro ActiveX控件。其中,導彈彈道、目標軌跡圖采用三維坐標繪制,由于是三自由度仿真,將其中一個坐標設為常值。
5.1 人機交互界面設計
仿真系統(tǒng)主界面如圖5所示,圖中:① 區(qū)為彈道及目標軌跡顯示區(qū);② 區(qū)為導彈的初始運動參數(shù)及控制、控制器參數(shù)、導引系數(shù)輸入?yún)^(qū)以及脫靶量的顯示區(qū);③ 區(qū)為導彈姿態(tài)的相關參數(shù)顯示區(qū)及參數(shù)隨時間變化的按鈕;④ 區(qū)為靶標的初始運動參數(shù)輸入?yún)^(qū);⑤ 區(qū)為俯仰、偏航通道選擇和目標識別及仿真操作區(qū);⑥ 區(qū)為目標圖像的顯示區(qū);⑦ 區(qū)為轉(zhuǎn)臺測試的相關操作區(qū),有轉(zhuǎn)臺的輸入信號測試(正弦輸入、階躍輸入)和轉(zhuǎn)臺兩個軸的開環(huán)操作,還有轉(zhuǎn)臺的控制參數(shù)顯示。
5.2 導彈姿態(tài)控制半實物仿真功能
仿真開始前,必須先按下“轉(zhuǎn)臺回零”按鈕使轉(zhuǎn)臺回歸零位,進行姿態(tài)仿真時無需打開攝像頭,先選擇俯仰通道、偏航通道或俯仰+偏航,再直接從界面輸入導彈和靶標的運動參數(shù)及控制參數(shù)Kpf、Kdf和導引系數(shù)K,然后點擊“半實物仿真”按鈕,系統(tǒng)開始運行,此時轉(zhuǎn)臺模擬導彈開始動作,界面上同時開始顯示導彈彈道和目標軌跡,導彈相關參數(shù)也開始實時變化顯示。本文選擇“俯仰通道”,待仿真結束后,仿真系統(tǒng)界面見圖5,也可以查看運動過程中導彈各參數(shù)隨時間的變化情況,如點擊“導彈俯仰角—時間曲線”按鈕可以查看各姿態(tài)角隨時間的變化情況(見圖6),可以看出?=α+θ。
5.3 目標探測與跟蹤功能測試
仿真開始前,先進行轉(zhuǎn)臺回零,再選擇仿真通道,然后打開攝像頭,可以在交互界面的⑥區(qū)看到攝像頭采集的目標圖像(見圖5),且在目標圖像的中心有十字叉線,那就是目標的質(zhì)心,點擊“獲取目標位置”按鈕,目標的坐標自動填寫到④區(qū)目標的初始運動參數(shù)編輯框中。再填寫導彈的初始運動參數(shù)和控制器參數(shù)、導引系數(shù),然后開始仿真,彈目距離最近時仿真結束。
圖5 系統(tǒng)人機交互界面
圖6 導彈俯仰角、傾角、攻角隨時間變化曲線
本文基于Simulink與VC++混合編程開發(fā)的導彈制導控制半實物仿真教學系統(tǒng),具有友好的人機交互界面,可以實時顯示參數(shù)變化及軌跡曲線,分別改變控制參數(shù)和導引
參數(shù)可以進行控制規(guī)律和比例導引規(guī)律的驗證。該系統(tǒng)將已有硬件與專業(yè)課程實驗相結合,充分開發(fā)了已有硬件的功能,涉及多種專業(yè)知識點,不僅能夠激發(fā)學生對專業(yè)課學習的興趣,而且能夠使他們在實驗中深化對專業(yè)知識的理解。
[1] 畢開波,王曉東.飛行器制導與控制及其Matlab仿真技術[M].北京:國防工業(yè)出版社,2009.
[2] 單家元,孟秀云.半實物仿真[M].北京:國防工業(yè)出版社,2013:7-8,14.
[3] 趙秋惠.空空導彈制導控制系統(tǒng)設計與仿真研究[D].西安:西北工業(yè)大學,2006.
[4] 劉根旺.飛行器控制系統(tǒng)設計與仿真實驗平臺的構建[J].實驗室研究與探索,2008,27(3):26-28.
[5] 朱曉明,張淑芝.雷達監(jiān)控半實物仿真教學系統(tǒng)設計[J].實驗室研究與探索,2014,33(5):201-205.
[6] 夏 潔.舵機在回路的半實物飛控實驗教學系統(tǒng)[J].實驗室研究與探索,2012,31(9),14-17.
[7] 于秀萍,劉 濤.制導與控制系統(tǒng)[M].哈爾濱:哈爾濱工程大學出版社,2014.
[8] 李新國,方 群.有翼導彈飛行動力學[M].西安:西北工業(yè)大學出版社,2005:37-61.
[9] 李 穎.Simulink動態(tài)系統(tǒng)建模與仿真[M].西安:西安電子科技大學出版社,2009.
[10] 樊曉丹,孫應飛.一種基于RTW的實時控制系統(tǒng)快速開發(fā)方法[J].清華大學學報(自然科學版),2003,43(7),895-898.
[11] 劉 婕.Matlab/Simulink與VC++混合編程的實現(xiàn)[J].科學技術與工程,2012,12(16):4005-4007.
[12] 劉 維.精通Matlab與C/C++混合程序設計[M].4版. 北京:北京航空航天大學出版社,2014.
[13] 楊 滌,李立濤.系統(tǒng)實時仿真開發(fā)環(huán)境與應用[M].北京:清華大學出版社,2002.
[14] 侯曉波,左文英.基于Simulink與VC混合編程方法的研究與應用[J].自動化技術與應用(計算機應用),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
國家自然科學基金項目(51409059),黑龍江省自然科學基金資助項目 (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