任 路,徐敬卿,姚曉嘉
(1.中北大學(xué)儀器科學(xué)與動態(tài)測試教育部重點(diǎn)實驗室,山西太原030051;2.中國北方發(fā)動機(jī)研究所,山西大同037036)
目前,光電跟蹤系統(tǒng)已經(jīng)成為火炮、飛機(jī)、導(dǎo)彈和艦艇的“眼睛和神經(jīng)”,其跟蹤精度直接決定了武器裝備的打擊準(zhǔn)確率。因此,對光電跟蹤系統(tǒng)的檢測就顯得尤為重要。但是,如果都采用真實目標(biāo)給武器提供測試信號,不僅要花費(fèi)大量的人力、物力和財力,而且可能還會延長武器的研制周期,甚至在某些情況下是無法實現(xiàn)的。為此,現(xiàn)在普遍采用目標(biāo)模擬調(diào)試技術(shù)進(jìn)行光電跟蹤系統(tǒng)的檢測。
振鏡式激光掃描運(yùn)動目標(biāo)模擬技術(shù)是設(shè)計振鏡式激光掃描運(yùn)動目標(biāo)模擬系統(tǒng)的核心技術(shù),它采用一種激光經(jīng)雙鏡面全反射投影方式,利用運(yùn)動光斑來模擬運(yùn)動目標(biāo)。本章主要介紹該運(yùn)動目標(biāo)模擬技術(shù)的理論,包括其物理基礎(chǔ)、原理和基于原理推導(dǎo)的模擬目標(biāo)運(yùn)動航路影射算法三部分。物理基礎(chǔ)部分是該運(yùn)動目標(biāo)模擬技術(shù)產(chǎn)生的物理條件,主要包括激光產(chǎn)生條件與特性、激光發(fā)生器概述和激光振鏡概述等。在介紹物理基礎(chǔ)的前提下,本章在第二小節(jié)重點(diǎn)就振鏡式激光掃描運(yùn)動目標(biāo)模擬掃描技術(shù)的原理、方式和誤差分析與校正進(jìn)行了詳細(xì)的論述。通過分析振鏡式激光掃描運(yùn)動目標(biāo)模擬技術(shù)原理可推導(dǎo)出投影軌跡光斑的坐標(biāo)方程,該坐標(biāo)方程不僅反映了投影軌跡光斑與振鏡偏轉(zhuǎn)角的關(guān)系也間接反映了上位機(jī)航路軌跡坐標(biāo)與振鏡偏轉(zhuǎn)角之間的控制關(guān)系,進(jìn)而為推導(dǎo)目標(biāo)勻速等半徑運(yùn)動等三種航路軌跡映射算法奠定了基礎(chǔ)[1]。
模擬目標(biāo)能夠更好地再現(xiàn)運(yùn)動目標(biāo)的運(yùn)動方式和運(yùn)動狀態(tài),就必須對模擬目標(biāo)的航路軌跡進(jìn)行研究規(guī)劃,這就涉及到航路映射算法的問題?,F(xiàn)實中運(yùn)動目標(biāo)的航路軌跡是復(fù)雜多樣的,常見的主要有勻速直線運(yùn)動、勻加速直線運(yùn)動、勻速圓弧運(yùn)動、勻速直線運(yùn)動基礎(chǔ)上的隨機(jī)加速度運(yùn)動和轉(zhuǎn)彎俯沖飛行等。在課題研究中重點(diǎn)對運(yùn)動目標(biāo)做勻速直線運(yùn)動、勻速斜線運(yùn)動和勻速等半徑運(yùn)動進(jìn)行了模擬,以達(dá)到實現(xiàn)檢測光電跟蹤系統(tǒng)的目的。在模擬系統(tǒng)運(yùn)行過程中,為了能更精確地控制模擬目標(biāo)的運(yùn)動軌跡,準(zhǔn)確獲取模擬目標(biāo)的實時位置信息,就需要詳細(xì)分析航路軌跡中運(yùn)動目標(biāo)速度、振鏡偏轉(zhuǎn)角度和振鏡勻角速度三者之間的映射關(guān)系,此外還有振鏡偏轉(zhuǎn)角度與運(yùn)動目標(biāo)位置坐標(biāo)之間的對應(yīng)關(guān)系。
在推導(dǎo)模擬運(yùn)動目標(biāo)的三種航路軌跡映射算法之前,需要首先介紹一下PC上位機(jī)人機(jī)交互程序界面下的坐標(biāo)系與投影平面幕的坐標(biāo)系之間的變換關(guān)系。在這里,記xoy坐標(biāo)系和XOY坐標(biāo)系分別為投影屏幕下和PC上位機(jī)人機(jī)交互程序界面下的坐標(biāo)系,如圖1所示。
圖1 坐標(biāo)系轉(zhuǎn)化示意圖
設(shè)X,Y軸的坐標(biāo)最大值分別為Xmax,Ymax,二者在xoy坐標(biāo)系下對應(yīng)的坐標(biāo)分別為(xmax,0),(0,ymax),XOY坐標(biāo)原點(diǎn)O在xoy坐標(biāo)系下的對應(yīng)坐標(biāo)為o(xo,yo),則xoy坐標(biāo)系下的任意一點(diǎn)M(x,y)轉(zhuǎn)換為XOY坐標(biāo)系下的對應(yīng)點(diǎn)(X,Y)的轉(zhuǎn)換關(guān)系如下:
本文設(shè)計的振鏡式激光掃描運(yùn)動目標(biāo)模擬系統(tǒng)主要由PC上位機(jī),控制系統(tǒng),執(zhí)行機(jī)構(gòu)和投影屏幕四部分構(gòu)成。PC上位機(jī)選用工控計算機(jī),上面運(yùn)行有上位機(jī)軟件,主要是用于參數(shù)輸入與命令設(shè)置的人機(jī)交互程序和用于生成模擬目標(biāo)航路軌跡的軌跡規(guī)劃程序;控制系統(tǒng)作為連接PC上位機(jī)與執(zhí)行機(jī)構(gòu)的橋梁,是整個模擬系統(tǒng)設(shè)計的核心。控制系統(tǒng)主要接收PC上位機(jī)發(fā)送過來的控制指令、航路軌跡信號并對信號做相應(yīng)的處理(命令執(zhí)行、數(shù)據(jù)存儲、數(shù)據(jù)提取分離、數(shù)模轉(zhuǎn)換和CAN傳送等);執(zhí)行機(jī)構(gòu)中的激光發(fā)生器用來輸出一定功率,特定激光波長的激光束;激光振鏡系統(tǒng)內(nèi)含有兩個正交設(shè)置的振鏡單元X和Y,兩個鏡片分別負(fù)責(zé)X方向和Y方向的掃描。投影屏幕是用來顯示模擬目標(biāo)的鉛錘平面幕。模擬系統(tǒng)總體設(shè)計結(jié)構(gòu)如圖2所示。
圖2 振鏡式激光掃描運(yùn)動目標(biāo)模擬系統(tǒng)總體設(shè)計機(jī)構(gòu)圖
系統(tǒng)上電運(yùn)行,首先進(jìn)行系統(tǒng)自檢、初始化,初始化完畢后自動進(jìn)入待機(jī)狀態(tài)。設(shè)計人員可通過PC上位機(jī)軟件的人機(jī)交互程序界面設(shè)定系統(tǒng)參數(shù)、設(shè)置軌跡屬性、輸入已知運(yùn)動目標(biāo)航路軌跡關(guān)鍵點(diǎn)坐標(biāo)在人機(jī)交互程序界面的顯示窗口生成運(yùn)動目標(biāo)航路軌跡曲線,同時每隔20 ms將采樣得到的軌跡曲線坐標(biāo)(x,y)和對應(yīng)的光功率信息等數(shù)據(jù)通過USB發(fā)送給控制系統(tǒng),控制系統(tǒng)將收到的信息存儲到存儲器中,待信息全部傳輸完畢后,控制中心的處理器提取存儲器中的(x,y)坐標(biāo)信息和光功率信息并進(jìn)行數(shù)據(jù)分離,分離出的x,y值通過X,Y振鏡控制電路進(jìn)行D/A轉(zhuǎn)換得到模擬電壓控制信號,該電壓控制信號傳送給振鏡驅(qū)動電路,分別驅(qū)動X振鏡和Y振鏡的偏轉(zhuǎn),同時分離出的光功率控制信息處理后傳送給光功率控制電路,而后其控制激光器生成一束一定功率和特定波長的激光束,生成的入射激光經(jīng)過振鏡的偏轉(zhuǎn),在X、Y兩個方向進(jìn)行掃描合成,在投影屏幕上投射出模擬運(yùn)動目標(biāo)的光斑軌跡??刂浦行拿扛?0 ms也會通過CAN總線將(x,y)坐標(biāo)信息發(fā)送給光電跟蹤系統(tǒng)的精度解算計算機(jī)解算跟蹤精度。在上位機(jī)界面中也可以發(fā)送一些控制命令,包括激光發(fā)生器的開啟與關(guān)閉命令等,控制系統(tǒng)接收到控制命令后,控制相關(guān)功能單元執(zhí)行操作[2]。
系統(tǒng)軟件設(shè)計分PC上位機(jī)軟件、下位機(jī)軟件和USB通信程序三部分進(jìn)行設(shè)計,PC上位機(jī)軟件設(shè)計主要是用于參數(shù)輸入與命令設(shè)置的人機(jī)交互程序和用于生成模擬目標(biāo)航路軌跡的軌跡規(guī)劃程序的設(shè)計;下位機(jī)軟件設(shè)計包括主程序、初始化程序、存儲程序、軌跡坐標(biāo)轉(zhuǎn)換程序、振鏡控制程序、光功率控制程序和CAN通信程序的設(shè)計。USB通信程序完成上位機(jī)與下位機(jī)之間的通信。
人機(jī)交互程序是振鏡式激光掃描運(yùn)動目標(biāo)模擬系統(tǒng)上位機(jī)軟件的重要組成部分,它提供了用戶與上位機(jī)互動的窗口。用戶可以通過上位機(jī)界面發(fā)出控制命令、設(shè)置航路軌跡生成參數(shù)或輸入航路軌跡關(guān)鍵點(diǎn)坐標(biāo)生成航路軌跡,也可設(shè)置文本和數(shù)據(jù)輸出屬性等。在WINDOWS平臺下實現(xiàn)上位機(jī)編程常用Visual C++、Visual C#和LabVIEW等上位機(jī)開發(fā)程序,在本系統(tǒng)中開發(fā)上位機(jī)程序正是選用了支持面向?qū)ο蟮母呒壘幊陶Z言VC++的Microsoft VC++6.0開發(fā)環(huán)境[3]。上位機(jī)主界面如圖3所示。
圖3 上位機(jī)軟件界面
USB通信程序在系統(tǒng)軟件中主要作為上位機(jī)軟件與下位機(jī)軟件的連接媒介,完成上位機(jī)向下位機(jī)的數(shù)據(jù)傳輸。
USB通信程序的設(shè)計主要有三部分:USB固件程序設(shè)計、USB驅(qū)動程序設(shè)計、USB上位機(jī)軟件設(shè)計。下面簡要介紹各部分開發(fā)流程和實現(xiàn)的功能。
(1)USB固件編程
在USB接口設(shè)計中,USB固件編程是整個設(shè)計任務(wù)的核心。USB固件程序用于完成USB設(shè)備的識別、重列舉、設(shè)備請求、USB協(xié)議處理、外部硬件的功能、負(fù)責(zé)與USB主機(jī)之間的數(shù)據(jù)通信等。本軟件系統(tǒng)中USB固件編程是在Windows平臺下的嵌入式集成開發(fā)環(huán)境ARM ADS1.2中完成的。
(2)USB驅(qū)動程序設(shè)計
USB驅(qū)動程序是連接USB主機(jī)程序和USB固件程序的橋梁。USB主機(jī)通過相應(yīng)的驅(qū)動程序來控制外部USB設(shè)備,進(jìn)行數(shù)據(jù)傳輸?shù)炔僮?。在WINDOWS平臺下,目前開發(fā)驅(qū)動程序有3種方式:使用 Microsoft的 DDK工具,使用KRFTech公司的WinDriver工具和使用Compuware公司的DriverStudio工具。使用Microsoft的DDK開發(fā)驅(qū)動程序,比較復(fù)雜,需要耗費(fèi)大量的時間和精力。而WinDriver和DriverStudio是簡化驅(qū)動程序開發(fā)的開發(fā)工具的出色代表,Win-Driver軟件比較簡單,可以快速創(chuàng)建驅(qū)動程序,但是對驅(qū)動程序的刻畫不夠細(xì)致。DriverStudio軟件可以高效、細(xì)致地刻畫驅(qū)動程序的每一個細(xì)節(jié),因此得到了廣泛的應(yīng)用。在本軟件系統(tǒng)中USB驅(qū)動程序設(shè)計的就是在WINDOWS平臺下采用DriverStudio的DriverWork完成的。
(3)USB上位機(jī)程序
在USB設(shè)備開發(fā)中,上位機(jī)程序是設(shè)備與用戶的接口。上位機(jī)程序通過USB接口設(shè)備驅(qū)動程序和外部的USB硬件進(jìn)行通信,USB固件程序執(zhí)行所用的操作。在編寫上位機(jī)程序的時候,只需調(diào)用相應(yīng)的Windows API函數(shù)向驅(qū)動程序提交各種申請,就能由驅(qū)動程序來完成相應(yīng)的讀、寫數(shù)據(jù)等各種功能。主機(jī)端的應(yīng)用程序負(fù)責(zé)向USB的FIFO緩存器發(fā)送大量數(shù)據(jù),本系統(tǒng)在Visual C++6.0環(huán)境下進(jìn)行開發(fā)。
振鏡式激光掃描運(yùn)動目標(biāo)模擬系統(tǒng)是為檢測地面機(jī)動防空武器的光電跟蹤系統(tǒng)提供可跟蹤模擬目標(biāo),且該模擬目標(biāo)是二維平面內(nèi)的一個具有真實目標(biāo)紅外特性和可見光特性的模擬運(yùn)動目標(biāo)。
[1]寧國勤.激光打標(biāo)控制系統(tǒng)的研究與實現(xiàn)[D].碩士學(xué)位論文.武漢:華中師范大學(xué),2002.
[2]戴詠欣.目標(biāo)模擬運(yùn)動系統(tǒng)設(shè)計和關(guān)鍵技術(shù)問題[D].西安電子科技大學(xué)研究生碩士學(xué)位論文,2005.
[3]于方德,苑偉.空中目標(biāo)模擬系統(tǒng)設(shè)計[J].測控技術(shù),2008,27(1):1 -2.