黃戰(zhàn)華,劉 堃,王 敏,郭景輝
(1.天津大學 精密儀器與光電子工程學院 光電信息技術教育部重點實驗室,天津 300072;2.天津工業(yè)大學, 天津 300387)
球幕投影系統(tǒng)作為一種常見的仿真系統(tǒng),常被應用于軍用武器的瞄準與跟蹤定位的性能測試中。激光點目標球幕投影系統(tǒng)屬于一種半實物實時仿真系統(tǒng),一般包含仿真控制計算機,模擬外部環(huán)境的物理模擬設備,以及兩者之間的驅(qū)動接口設備等[1-3]。運動目標的準確模擬,需要保證在仿真實驗期間,目標點在每個控制時鐘周期結(jié)束的時刻都精準地到達預期位置,從而保證模擬目標的位置精度和時間精度[4]。
為實現(xiàn)上述效果,在模擬目標點運動控制中,在仿真轉(zhuǎn)臺擁有更高伺服精度的同時,也需要保證在確定的時刻完成運動控制指令下傳與反饋數(shù)據(jù)的回傳。因此,需要在充分利用系統(tǒng)硬件資源的基礎上,為控制軟件提供對應的實時調(diào)度運行功能。
計算機平臺下常用的Windows操作系統(tǒng)有一定的實時處理能力,支持多任務運行,且能夠提供很短的平均響應延時,可以滿足軟實時應用的運行環(huán)境要求。但Windows無法滿足確定性的時間約束,在CPU被已有進程占用的狀態(tài)下,無法實現(xiàn)基于優(yōu)先級搶占的資源分配操作,從而導致不確定的時間滯后。在現(xiàn)有實時控制系統(tǒng)中,多采用嵌入式系統(tǒng),使用DSP、FPGA等處理器,布置各部分實時功能單元的方式,此類控制程序在專用硬件下開發(fā),通用性與適應性較低[5-9]。
本文通過設計基于RTX64 3.0實時內(nèi)核擴展的Windows系統(tǒng)下的上下位機控制軟件對二軸仿真轉(zhuǎn)臺進行控制。基于配置有多核CPU的工控計算機(industrial personal computer,IPC),結(jié)合64位Windows7操作系統(tǒng)的兼容性開發(fā)環(huán)境,在具有完善開發(fā)調(diào)試功能的、擴展后的微軟Visual Studio開發(fā)平臺下進行控制軟件設計。在控制軟件中利用RTX64實時內(nèi)核提供的多優(yōu)先級、快速中斷響應以及高精度時鐘和定時器等功能,實現(xiàn)結(jié)構(gòu)簡單、控制系統(tǒng)時間精度高、實時性強的激光點目標球幕投影系統(tǒng)。
激光點目標球幕投影系統(tǒng)主要包含綜合測控遠程機,目標模擬工控計算機,二軸轉(zhuǎn)臺,激光目標生成單元,投影球幕以及各種控制板卡等設備,其整體結(jié)構(gòu)設計如圖1所示。
圖1 激光點目標球幕投影系統(tǒng)結(jié)構(gòu)圖Fig.1 Structure diagram of laser spot target dome screen projection system
在每個實時控制時鐘周期內(nèi),工控計算機與遠程機進行目標運動控制參數(shù)與反饋狀態(tài)數(shù)據(jù)的交互,并向二軸仿真轉(zhuǎn)臺發(fā)送控制指令來控制其轉(zhuǎn)動,改變目標模擬激光光束的反射方向。仿真轉(zhuǎn)臺的外框帶動平面反射鏡左右轉(zhuǎn)動,改變球幕上的投影目標點在水平方向上的方位角;內(nèi)框帶動平面反射鏡上下轉(zhuǎn)動,改變投影目標點的俯仰角。以上述方式控制投影點目標在球幕上的運動,在投影球幕上完成連續(xù)的、精確的目標點航跡的復現(xiàn),提供給武器裝備中的瞄準、跟蹤設備進行性能測試[10]。在仿真實驗中,可選用激光目標生成單元提供的不同波長的激光光源,并進行光束尺寸、發(fā)光功率的調(diào)節(jié),提高模擬目標的多樣性。本系統(tǒng)可用于模擬大視場下的不同運動狀態(tài)的運動目標,提升武器裝備測試的真實性和適用范圍,節(jié)省測試成本。
RTX是Interval Zero公司生產(chǎn)的實時擴展軟件產(chǎn)品,該系統(tǒng)能夠?qū)τ嬎銠C硬件抽象層(HAL)進行修改與擴展,拓展Windows操作系統(tǒng)內(nèi)核,從而可以以雙系統(tǒng)的形式分別對計算機硬件資源進行調(diào)用。圖2是Interval Zero公司的白皮書中給出的RTX安裝擴展后的系統(tǒng)結(jié)構(gòu)示意圖。由圖2可見,硬件抽象層HAL得到RTX實時擴展,并通過其優(yōu)先級搶占的調(diào)度方式對處理器進行調(diào)度,其中RTSS(real-time subsystem)實時子系統(tǒng)中的任務優(yōu)先級優(yōu)于Windows下的全部任務[11-13],保證實時任務執(zhí)行不受到Windows線程的影響。
圖2 RTX擴展后的操作系統(tǒng)結(jié)構(gòu)圖Fig.2 Operating system structure diagram after RTX extension
RTX64實時系統(tǒng)安裝過程中,微軟Microsoft Visual Studio開發(fā)平臺會添加對應的開發(fā)與調(diào)試工具組件等,為用戶提供便捷的、可按需求選用功能模塊的項目模板,以及相關的代碼生成、調(diào)試等功能。按照使用要求合理利用其功能,可以降低開發(fā)難度,節(jié)省開發(fā)時間,縮減設計成本。
RTX系統(tǒng)的實時性提升主要體現(xiàn)在以下幾個方面:
1) 任務切換時間。RTX線程切換時間在500 ns到2 μs范圍內(nèi)。
2) 任務調(diào)度。RTX執(zhí)行它自己的基于多優(yōu)先級的搶占式的實時線程調(diào)度,共包含128個優(yōu)先級。
3) 高精度時鐘和計時器。RTX64能夠提供的定時器時鐘分辨率為100 ns,最低定時器周期為100 μs[14-15]。
為驗證RTX64對仿真控制系統(tǒng)時間精度的提升,分別選取系統(tǒng)中使用的控制時鐘周期5 ms、10 ms、20 ms,對實際硬件環(huán)境下RTX64 3.0定時器性能表現(xiàn)與對應的Windows32下的定時器性能進行對比測試,得到的誤差分布如圖3所示,誤差統(tǒng)計結(jié)果如表1所示。結(jié)合圖3與表1可見,RTX64實時系統(tǒng)能夠提供穩(wěn)定且優(yōu)于Windows的時間精度,對Windows取得顯著的實時擴展效果,且在重復測試中,最大誤差小于0.2%,計時精度符合系統(tǒng)性能要求,因此選擇使用Windows7+RTX64 3.0實時擴展環(huán)境。
圖3 定時器時鐘誤差分布圖Fig.3 Distribution diagram of timer clock error
誤差類型控制時鐘周期/ms51020RTX64平均時鐘誤差/μs4.154.544.25Windows平均時鐘誤差/μs16.6318.0118.90RTX64最大時鐘誤差/μs9912Windows最大時鐘誤差/μs999975
本系統(tǒng)中采用研華公司的IPC610工控計算機對搭載反射鏡的二軸仿真轉(zhuǎn)臺進行運動控制,其控制系統(tǒng)結(jié)構(gòu)如圖4所示。在遠程控制模式下,本系統(tǒng)采用固定時鐘周期采樣的方式,首先通過以太網(wǎng)進行初始化設置工作,包括對激光目標生成單元的使用性能切換、波長選擇、發(fā)光功率、光斑尺寸等狀態(tài),以及仿真轉(zhuǎn)臺的使用性能設置、零位校準等初始化信息。然后由工控計算機將解碼后的控制信號提供給激光光源模塊內(nèi)的功能設備,包括不同波長的各個激光器的驅(qū)動模塊,可調(diào)節(jié)透鏡組間距以改變光斑尺寸的步進電機,以及搭載反射鏡的用于切換光路的電機等器件,從而完成設置。開啟仿真模式后,基于RTX64下的搶占式中斷觸發(fā)和響應完成控制工作。在每個同步控制時鐘周期開始時,綜合測控計算機首先發(fā)送仿真目標光斑需要到達指定的位置坐標,目標控制與投射裝置接收到該周期的位置參數(shù)后,反饋目標光斑的當前位置數(shù)據(jù),并驅(qū)動仿真轉(zhuǎn)臺轉(zhuǎn)動,改變反射激光束的出射方向,實現(xiàn)激光目標在球幕上的運動。
為實現(xiàn)轉(zhuǎn)臺角度精確測量,選用的反饋測量元件為光柵線數(shù)為11 840、直徑為75 mm的圓光柵,分辨率可達到1.0946″,滿足測量精度需求。
本系統(tǒng)中,系統(tǒng)控制軟件設計采用上下位機形式,其中,上位機界面程序在Windows內(nèi)核運行,下位機則在RTSS實時內(nèi)核運行,負責與硬件設備的控制數(shù)據(jù)交互等實時任務。圖5是本系統(tǒng)中的仿真控制軟件流程圖,該圖反映了仿真實驗中控制軟件的工作流程。
對于目標模擬工控機來說,理想狀態(tài)下,在同步時鐘時刻Tk,接收到的指令坐標為Ck,同時目標點實際運動至前一周期的指定位置Ck-1,反饋當前位置信息并向仿真轉(zhuǎn)臺發(fā)送第k周期的最新運動指令,使投影目標點連續(xù)運動。在仿真實驗過程中,綜合測控計算機與目標模擬工控計算機之間在RTX64同步中斷的控制下,通過實時CAN通信完成上述數(shù)據(jù)交互。使用監(jiān)控軟件對實時CAN數(shù)據(jù)幀傳輸狀態(tài)進行監(jiān)測,結(jié)果如圖6所示。測試證明,實驗過程中實時CAN通信未出現(xiàn)丟幀,滿足數(shù)據(jù)傳輸和采樣的可靠性要求。因此,RTX64控制軟件工作過程符合硬件實時標準,滿足系統(tǒng)需要。
圖4 控制系統(tǒng)結(jié)構(gòu)示意圖Fig.4 Schematic diagram of control system structure
圖5 控制軟件工作流程圖Fig.5 Working flow chart of control software
圖6 實時CAN數(shù)據(jù)幀計數(shù)狀態(tài)圖Fig.6 Diagram of Real-time CAN data frame count state
為了驗證在本文中控制軟件的控制下,模擬運動目標點的位置精度提升效果,作為參照,采用Windows測試軟件進行對比實驗。對于所生成的相同的示例航跡數(shù)據(jù),分別使用RTX實時擴展環(huán)境下的控制軟件和Windows非實時環(huán)境下的測試軟件進行仿真實驗,使用系統(tǒng)設計方案中的3種同步控制周期20 ms、10 ms和5 ms,在目標點運動軌跡相同,角速度均為10°/s的條件下進行重復實驗,將每個周期采集到的目標點實時位置坐標與預期航跡坐標數(shù)據(jù)之間的位置誤差進行統(tǒng)計。圖7是分別使用優(yōu)化后的RTX實時控制軟件與Windows測試軟件,控制前述二軸仿真轉(zhuǎn)臺進行目標模擬對比實驗得到的仿真目標角度誤差曲線對比圖,按投影目標點的方位角與俯仰角分別給出。重復實驗中,激光目標點的方位角和俯仰角在完成仿真實驗過程各采樣周期的誤差均值和最大誤差見表2~表4所示。
圖7 仿真實驗誤差曲線對比圖Fig.7 Comparison diagram of error curves in simulation experiments
表2 控制周期為20 ms時的位置誤差統(tǒng)計表 10-3(°)Table 2 Statistics table of position errors in 20 ms control cycle
表3 控制周期為10 ms時的位置誤差統(tǒng)計表 10-3(°)Table 3 Statistics table of position errors in 10 ms control cycle
表4 控制周期為5 ms時的位置誤差統(tǒng)計表 10-3(°)Table 4 Statistics table of position errors in 5 ms control cycle
由表2~表4可見,在控制時鐘周期為20 ms、10 ms、5 ms條件下的3組實驗中,RTX64實時軟件控制下激光目標點的位置誤差均值和最大誤差,均小于相同條件下Windows測試軟件控制下的對比實驗所得到的誤差。結(jié)果表明,本文設計的實時控制軟件結(jié)構(gòu),通過對仿真轉(zhuǎn)臺控制周期時間精度和任務響應速度的提升,可以有效減小模擬目標點運動仿真過程中的位置誤差。仿真實驗中的方位角、俯仰角誤差最大值始終小于20″,通過避免控制軟件帶來的不確定性的響應延時,有效地避免了可能出現(xiàn)的較大位置誤差,提高了運動目標模擬的整體效果。通過分析RTX64實時控制軟件控制下的運動目標位置精度,在控制周期為20 ms的重復實驗中,模擬目標點的誤差最大值分別為0.005 34°與0.004 04°,滿足激光點目標球幕投影系統(tǒng)的精度要求。
本文以激光點目標球幕投影系統(tǒng)作為優(yōu)化對象,設計RTX64 3.0實時擴展子系統(tǒng)環(huán)境下的控制軟件,提升系統(tǒng)計時精度和同步中斷響應速度,在不同的控制時鐘頻率下,通過CAN總線網(wǎng)絡進行控制信息的交互。在重復實驗中,RTX實時控制軟件下的目標點位置誤差保持在激光點目標球幕投影系統(tǒng)允許的誤差范圍內(nèi),因此,該控制軟件能夠完成系統(tǒng)的實時控制任務。