基于RTX64的激光目标模拟系统实时控制软件设计

2019-03-23 03:33黄战华郭景辉
应用光学 2019年2期
关键词:实时控制时钟投影

黄战华,刘 堃,王 敏,郭景辉

(1.天津大学 精密仪器与光电子工程学院 光电信息技术教育部重点实验室,天津 300072;2.天津工业大学, 天津 300387)

引言

球幕投影系统作为一种常见的仿真系统,常被应用于军用武器的瞄准与跟踪定位的性能测试中。激光点目标球幕投影系统属于一种半实物实时仿真系统,一般包含仿真控制计算机,模拟外部环境的物理模拟设备,以及两者之间的驱动接口设备等[1-3]。运动目标的准确模拟,需要保证在仿真实验期间,目标点在每个控制时钟周期结束的时刻都精准地到达预期位置,从而保证模拟目标的位置精度和时间精度[4]。

为实现上述效果,在模拟目标点运动控制中,在仿真转台拥有更高伺服精度的同时,也需要保证在确定的时刻完成运动控制指令下传与反馈数据的回传。因此,需要在充分利用系统硬件资源的基础上,为控制软件提供对应的实时调度运行功能。

计算机平台下常用的Windows操作系统有一定的实时处理能力,支持多任务运行,且能够提供很短的平均响应延时,可以满足软实时应用的运行环境要求。但Windows无法满足确定性的时间约束,在CPU被已有进程占用的状态下,无法实现基于优先级抢占的资源分配操作,从而导致不确定的时间滞后。在现有实时控制系统中,多采用嵌入式系统,使用DSP、FPGA等处理器,布置各部分实时功能单元的方式,此类控制程序在专用硬件下开发,通用性与适应性较低[5-9]。

本文通过设计基于RTX64 3.0实时内核扩展的Windows系统下的上下位机控制软件对二轴仿真转台进行控制。基于配置有多核CPU的工控计算机(industrial personal computer,IPC),结合64位Windows7操作系统的兼容性开发环境,在具有完善开发调试功能的、扩展后的微软Visual Studio开发平台下进行控制软件设计。在控制软件中利用RTX64实时内核提供的多优先级、快速中断响应以及高精度时钟和定时器等功能,实现结构简单、控制系统时间精度高、实时性强的激光点目标球幕投影系统。

1 系统整体结构

激光点目标球幕投影系统主要包含综合测控远程机,目标模拟工控计算机,二轴转台,激光目标生成单元,投影球幕以及各种控制板卡等设备,其整体结构设计如图1所示。

图1 激光点目标球幕投影系统结构图Fig.1 Structure diagram of laser spot target dome screen projection system

在每个实时控制时钟周期内,工控计算机与远程机进行目标运动控制参数与反馈状态数据的交互,并向二轴仿真转台发送控制指令来控制其转动,改变目标模拟激光光束的反射方向。仿真转台的外框带动平面反射镜左右转动,改变球幕上的投影目标点在水平方向上的方位角;内框带动平面反射镜上下转动,改变投影目标点的俯仰角。以上述方式控制投影点目标在球幕上的运动,在投影球幕上完成连续的、精确的目标点航迹的复现,提供给武器装备中的瞄准、跟踪设备进行性能测试[10]。在仿真实验中,可选用激光目标生成单元提供的不同波长的激光光源,并进行光束尺寸、发光功率的调节,提高模拟目标的多样性。本系统可用于模拟大视场下的不同运动状态的运动目标,提升武器装备测试的真实性和适用范围,节省测试成本。

2 RTX64实时扩展系统环境

2.1 RTX实时系统

RTX是Interval Zero公司生产的实时扩展软件产品,该系统能够对计算机硬件抽象层(HAL)进行修改与扩展,拓展Windows操作系统内核,从而可以以双系统的形式分别对计算机硬件资源进行调用。图2是Interval Zero公司的白皮书中给出的RTX安装扩展后的系统结构示意图。由图2可见,硬件抽象层HAL得到RTX实时扩展,并通过其优先级抢占的调度方式对处理器进行调度,其中RTSS(real-time subsystem)实时子系统中的任务优先级优于Windows下的全部任务[11-13],保证实时任务执行不受到Windows线程的影响。

图2 RTX扩展后的操作系统结构图Fig.2 Operating system structure diagram after RTX extension

RTX64实时系统安装过程中,微软Microsoft Visual Studio开发平台会添加对应的开发与调试工具组件等,为用户提供便捷的、可按需求选用功能模块的项目模板,以及相关的代码生成、调试等功能。按照使用要求合理利用其功能,可以降低开发难度,节省开发时间,缩减设计成本。

2.2 RTX64实时性能测试

RTX系统的实时性提升主要体现在以下几个方面:

1) 任务切换时间。RTX线程切换时间在500 ns到2 μs范围内。

2) 任务调度。RTX执行它自己的基于多优先级的抢占式的实时线程调度,共包含128个优先级。

3) 高精度时钟和计时器。RTX64能够提供的定时器时钟分辨率为100 ns,最低定时器周期为100 μs[14-15]。

为验证RTX64对仿真控制系统时间精度的提升,分别选取系统中使用的控制时钟周期5 ms、10 ms、20 ms,对实际硬件环境下RTX64 3.0定时器性能表现与对应的Windows32下的定时器性能进行对比测试,得到的误差分布如图3所示,误差统计结果如表1所示。结合图3与表1可见,RTX64实时系统能够提供稳定且优于Windows的时间精度,对Windows取得显著的实时扩展效果,且在重复测试中,最大误差小于0.2%,计时精度符合系统性能要求,因此选择使用Windows7+RTX64 3.0实时扩展环境。

图3 定时器时钟误差分布图Fig.3 Distribution diagram of timer clock error

误差类型控制时钟周期/ms51020RTX64平均时钟误差/μs4.154.544.25Windows平均时钟误差/μs16.6318.0118.90RTX64最大时钟误差/μs9912Windows最大时钟误差/μs999975

3 系统控制软件设计

本系统中采用研华公司的IPC610工控计算机对搭载反射镜的二轴仿真转台进行运动控制,其控制系统结构如图4所示。在远程控制模式下,本系统采用固定时钟周期采样的方式,首先通过以太网进行初始化设置工作,包括对激光目标生成单元的使用性能切换、波长选择、发光功率、光斑尺寸等状态,以及仿真转台的使用性能设置、零位校准等初始化信息。然后由工控计算机将解码后的控制信号提供给激光光源模块内的功能设备,包括不同波长的各个激光器的驱动模块,可调节透镜组间距以改变光斑尺寸的步进电机,以及搭载反射镜的用于切换光路的电机等器件,从而完成设置。开启仿真模式后,基于RTX64下的抢占式中断触发和响应完成控制工作。在每个同步控制时钟周期开始时,综合测控计算机首先发送仿真目标光斑需要到达指定的位置坐标,目标控制与投射装置接收到该周期的位置参数后,反馈目标光斑的当前位置数据,并驱动仿真转台转动,改变反射激光束的出射方向,实现激光目标在球幕上的运动。

为实现转台角度精确测量,选用的反馈测量元件为光栅线数为11 840、直径为75 mm的圆光栅,分辨率可达到1.0946″,满足测量精度需求。

本系统中,系统控制软件设计采用上下位机形式,其中,上位机界面程序在Windows内核运行,下位机则在RTSS实时内核运行,负责与硬件设备的控制数据交互等实时任务。图5是本系统中的仿真控制软件流程图,该图反映了仿真实验中控制软件的工作流程。

对于目标模拟工控机来说,理想状态下,在同步时钟时刻Tk,接收到的指令坐标为Ck,同时目标点实际运动至前一周期的指定位置Ck-1,反馈当前位置信息并向仿真转台发送第k周期的最新运动指令,使投影目标点连续运动。在仿真实验过程中,综合测控计算机与目标模拟工控计算机之间在RTX64同步中断的控制下,通过实时CAN通信完成上述数据交互。使用监控软件对实时CAN数据帧传输状态进行监测,结果如图6所示。测试证明,实验过程中实时CAN通信未出现丢帧,满足数据传输和采样的可靠性要求。因此,RTX64控制软件工作过程符合硬件实时标准,满足系统需要。

图4 控制系统结构示意图Fig.4 Schematic diagram of control system structure

图5 控制软件工作流程图Fig.5 Working flow chart of control software

图6 实时CAN数据帧计数状态图Fig.6 Diagram of Real-time CAN data frame count state

4 目标模拟实验结果分析

为了验证在本文中控制软件的控制下,模拟运动目标点的位置精度提升效果,作为参照,采用Windows测试软件进行对比实验。对于所生成的相同的示例航迹数据,分别使用RTX实时扩展环境下的控制软件和Windows非实时环境下的测试软件进行仿真实验,使用系统设计方案中的3种同步控制周期20 ms、10 ms和5 ms,在目标点运动轨迹相同,角速度均为10°/s的条件下进行重复实验,将每个周期采集到的目标点实时位置坐标与预期航迹坐标数据之间的位置误差进行统计。图7是分别使用优化后的RTX实时控制软件与Windows测试软件,控制前述二轴仿真转台进行目标模拟对比实验得到的仿真目标角度误差曲线对比图,按投影目标点的方位角与俯仰角分别给出。重复实验中,激光目标点的方位角和俯仰角在完成仿真实验过程各采样周期的误差均值和最大误差见表2~表4所示。

图7 仿真实验误差曲线对比图Fig.7 Comparison diagram of error curves in simulation experiments

表2 控制周期为20 ms时的位置误差统计表 10-3(°)Table 2 Statistics table of position errors in 20 ms control cycle

表3 控制周期为10 ms时的位置误差统计表 10-3(°)Table 3 Statistics table of position errors in 10 ms control cycle

表4 控制周期为5 ms时的位置误差统计表 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测试软件控制下的对比实验所得到的误差。结果表明,本文设计的实时控制软件结构,通过对仿真转台控制周期时间精度和任务响应速度的提升,可以有效减小模拟目标点运动仿真过程中的位置误差。仿真实验中的方位角、俯仰角误差最大值始终小于20″,通过避免控制软件带来的不确定性的响应延时,有效地避免了可能出现的较大位置误差,提高了运动目标模拟的整体效果。通过分析RTX64实时控制软件控制下的运动目标位置精度,在控制周期为20 ms的重复实验中,模拟目标点的误差最大值分别为0.005 34°与0.004 04°,满足激光点目标球幕投影系统的精度要求。

5 结论

本文以激光点目标球幕投影系统作为优化对象,设计RTX64 3.0实时扩展子系统环境下的控制软件,提升系统计时精度和同步中断响应速度,在不同的控制时钟频率下,通过CAN总线网络进行控制信息的交互。在重复实验中,RTX实时控制软件下的目标点位置误差保持在激光点目标球幕投影系统允许的误差范围内,因此,该控制软件能够完成系统的实时控制任务。

猜你喜欢
实时控制时钟投影
别样的“时钟”
解变分不等式的一种二次投影算法
古代的时钟
基于最大相关熵的簇稀疏仿射投影算法
找投影
找投影
有趣的时钟
基于LabVIEW微电网实验平台监控系统的设计与实现
探讨ERP系统环境下企业会计的实时控制
时钟会开“花”