光电装备模拟训练数字跟踪转台实时仿真

2020-04-08 04:47王重阳许振领
激光与红外 2020年3期
关键词:驱动程序伺服系统串口

李 慧,王重阳,许振领,王 敏

(中国洛阳电子装备试验中心,河南 洛阳 471003)

1 引 言

光电捕获跟踪设备是光电对抗装备(激光定向干扰系统、光电火控系统等)的重要组成部分,其作用距离、跟瞄精度、复杂环境适应能力、机弹切换能力等性能指标直接影响装备的作战效能[1],其中,跟瞄精度与设备跟踪伺服系统的控制性能密切相关,而复杂环境适应能力、机弹切换能力等除了与图像处理性能和伺服控制性能相关外,主要依赖于设备操作手操控水平的高低。数字图像注入式闭环仿真方法因其战情设计灵活、环境要素构设全面、简单易行等优点在武器装备科研试验、部队训练演练中得到了广泛应用[2],能够对被试装备的性能、极限边界能力和操作手操控能力进行全面充分考核,将来在武器装备作战试验中也必将发挥重要作用。

在进行光电装备模拟训练过程中,当被试光电捕获跟踪设备跟踪转台实装不参与时(图像信息处理分系统和操作手均正常工作,跟踪伺服分系统用仿真模型代替),通过开发一套数字仿真转台来模拟跟踪转台实装的功能性能,采用数字图像注入式仿真手段同样能够为设备构建逼真的光电信号环境,达到考核设备性能和操作手操控能力的目的。而且设备操作手按照正常操作流程对被试设备模拟系统进行操作,通过设置不同样本量的模拟训练战情(多批次编队目标,复杂干扰环境、飞机发射导弹等),可对操作手进行反复训练,锤炼实战能力。

由于模拟跟踪伺服系统功能性能的数字仿真转台需要与注入式仿真系统及被试设备实装部分连接,因此首先需要建立数字转台的仿真模型,然后该模型需要按照给定步长实时、可靠运行。对跟踪伺服系统的设计与建模普遍采用Matlab/Simulink及专用控制工具箱等,对于伺服系统性能的实时仿真与测试一般基于Matlab提供的RTW(Real-time workshop)产品,而RTW主要有两种实时仿真开发平台[3-5]:xPC和dSPACE,与dSPACE相比较,xPC实时仿真环境容易实现,可用于产品快速控制原型开发、测试和配置实时系统。基于此,采用上下位机架构建立了跟踪伺服系统数字转台的实时仿真环境,完成了实时仿真系统软硬件设计。上位机采用Simulink进行数字转台的仿真建模,并将Simulink环境下的复杂控制算法、被控对象模型以及板卡驱动模型编译成实时优化的C代码下载到目标下位机;目标机通过I/O板卡与外部设备进行信息交互并将数据回传,上位机可以在线监控及修改控制参数,从而完成跟踪伺服系统的闭环实时仿真。

2 跟踪伺服系统性能实时仿真平台设计

对于跟踪伺服系统性能的实时仿真、开发与测试一般采用单机型实时仿真计算机和主副机型基于Matlab/RTW工具箱的仿真机。目前基于半实物仿真技术的控制系统开发及测试的实时仿真软硬件产品,国外主流产品包括:加拿大RT-LAB实时仿真平台,美国ADI公司的rtX和RTS、并行计算机公司的IHawk、NI公司的Labview-RT实时仿真平台,德国dSPACE实时仿真平台等;国内成熟产品有银河仿真工作站YH-AStar,海鹰仿真工作站HY-RTS,HiGale实时仿真机、Links-RT实时仿真机等。

其中,YH-AStar、海鹰仿真机、IHawk等单机型产品性能优异,但就像dSPACE、rtX等实时仿真系统一样,需要专门的硬件系统与软件环境,投资相对较大;HiGale、RT-LAB等基于Simulink的主副机型仿真平台实时性能较好,但也需要购置多种I/O板卡驱动库RTD和仿真控制软件等。本文选择基于Simulink/RTW/xPC Target构建实时仿真软硬件环境,在保证实时性同时不需要额外购买价格昂贵的实时计算机,具有成本低、调参方便、性能较高、可视性好等优点。

在光电对抗装备模拟训练系统中,跟踪伺服系统性能实时仿真平台与模拟训练系统中其他设备、计算机之间的关系如图1所示。跟踪伺服系统性能实时仿真分析平台设计实现包括实时仿真分析平台硬件系统设计、跟踪伺服系统Simulink仿真模型建立、软件实现三个部分。

图1 跟踪伺服系统实时仿真分析平台结构框图

2.1 系统硬件实现

xPC Target采用双机模式,通过串口或以太网连接来实现相互通信。在宿主机中建立光电跟踪伺服系统的Simulink仿真模型,采用C MEX S-函数编写接口卡驱动程序并封装为驱动模块,加入到光电跟踪伺服系统的Simulink仿真模型中,并对模型进行离散化处理以建立实时模型,然后利用RTW自动产生优化、可移植的代码,将其下载到具有实时内核的目标机中。为了实现数据采集和通讯,采用Moxa公司的CP-134U多串口卡分别接收信号处理机、操作手和时统设备发送的脱靶量、引导指令和中断信号,利用目标机主板串口发送实时解算的码盘数据以一定频率送给图像仿真计算机;目标机和宿主机之间通过网卡进行通讯,目标机外部接口关系如图2所示。

图2 xPC Target目标机的外部接口

因此,需要在宿主机上编写CP-134U多串口卡的驱动程序,包括串口发送、串口接收和串口设置三个S函数模块,自动编译、产生实时代码下载到目标机上进行实验,来验证驱动程序的稳定性和可靠性。其中,串口设置模块用于配置串口通讯协议以及波特率、数据位、校验位和字节长度等初始化信息;串口接收模块用于按照一定中断频率实时接收引导指令、脱靶量数据;串口发送模块用于按照固定频率实时发送码盘数据给图像仿真计算机。

2.2 跟踪伺服系统仿真模型建立

红外捕获跟踪设备因视场角较小,在有些情况下如目标距离较远或不能直视时,需要采用引导方式进行随动跟踪,一旦捕获目标后可转为半自动跟踪或自动跟踪方式,即红外捕获跟踪设备一般具有三种工作模式:数字引导、单杆速率、图像自动跟踪[6-7]。如图3所示为方位跟踪伺服系统跟踪模式框图,俯仰和方位跟踪系统基本结构相同都是有差闭环控制系统。其中伺服电机和负载(即被控对象)是基本的,而功放、控制器(即位置回路与速度回路的补偿校正)是需要根据性能指标要求进行设计的(电机的参数、负载的参数和实际可能存在的摩擦等是决定控制器设计的三个要素),控制系统设计的目的是设计补偿器使系统的跟瞄精度、闭环带宽满足给定的性能指标,同时保证系统的过渡过程快速平稳和使系统稳定可靠工作。

图3 红外捕获跟踪设备方位跟踪伺服系统三种工作模式

采用Matlab/Simulink动态仿真软件对其进行建模和仿真分析,根据跟踪伺服系统的性能指标,采用经典的频域分析法进行设计和校正,可确定系统各个环节传递函数的参数,最终建立其Simulink仿真模型。利用该模型可对红外捕获跟踪设备在不同输入信号作用下的动态响应输出进行仿真分析,但由于仿真时间是非实时的,且建模时忽略了一些干扰与非线性因素,得到的仿真结果不足以全面、准确考核设备动态性能,也不能满足半实物仿真系统联调或模拟训练时实时响应要求。

2.3 系统软件实现

该实时仿真分析开发环境目标机采用研华工控机,I/O板卡采用moxa多串口卡,宿主机采用普通PC机,并且安装Matlab R2012b,Microsoft Visual Studio 2010等常用软件,其软件实现过程如下:首先在宿主机上建立多串口卡驱动程序模型和实际跟踪转台Simulink仿真模型(包括控制器模型和被控对象动力学模型),然后在宿主机上生成xPC实时内核的启动盘并启动目标机,最后将自动生成可执行程序下载到目标机实时运行。

2.3.1 基于xPC Target的多串口卡驱动程序开发

MATLAB/xPC Target是基于RTW体系结构并且能够使PC机变成一个实时操作系统的产品,它能够在PC机上实时运行与物理系统连接的Simulink模型,在MATLAB/Simulink环境下的半实物实时仿真系统中起到快速原型化及硬件在回路仿真与测试的作用。其运行机制与Windows操作系统存在根本性的差异,而一般情况下接口卡制造商提供的驱动程序都是基于Windows操作系统。为了能够扩展xPC工具箱应用范围,开发基于xPC Target的接口卡驱动程序满足光电跟踪伺服系统实时仿真需求是十分必要的。

采用C MEX S-函数开发多串口卡等驱动程序模块。通过打开Matlab库中的C MEX S函数的模板,其中包含mdlInitializeSizes,mdlInitializeSampleTimes,mdlStart,mdlOutputs和mdlTerminate等回调函数,在mdlInitializeSizes函数中进行各项设备初始化工作;在mdlOutputs函数中编写每一采样时刻设备的输入输出程序;在mdlTerminate函数中进行仿真结束时的各项设置。而重点工作则是在mdlOutputs函数中进行板卡寄存器的读写来完成串口数据收发功能,一个较为完整的多串口设备驱动可以分为7个模块:设备初始化Setup;数据发送使能Enable TX;发送数据Write HW FIFO;接收数据Read HW FIFO;设置中断;读中断Read Int Status;判断中断类型Filter Int Reason,根据需要选择模块建立设备驱动。通过调用板卡的寄存器操作函数,实现串口板卡功能,最终完成串口通讯模块的创建,具体的驱动程序编制过程将另文进行阐述,这里不再赘述。

2.3.2 伺服控制算法详细设计

伺服系统控制软件能够进行跟踪方式选择控制,切换三种跟踪方式,处在单杆状态时,可增加一个模拟单杆控件用以模拟单杆功能,实现方位、俯仰的控制。红外跟踪伺服系统控制软件用于完成simulink仿真模型每个环节的数字化处理以建立实时仿真模型,支持目标机上串口卡的驱动程序的开发,实现数字引导、单杆速率、图像自动等三种跟踪方式的切换控制,并记录接收和发送的数据。实时仿真时,在目标脱靶量及控制指令(一般为50 Hz)、时统中断信号(一般为800 Hz)的触发下,伺服系统仿真软件分别进行伺服系统位置回路、速率回路参数的实时解算,并按照时统中断频率输出转台角度等参数。控制软件详细算法流程如图4和图5所示。

利用C MEX S函数进行数字控制器实现时,引导数据频率为100 Hz(可设置),主控计算机以100 Hz的速率通过串口给跟踪转台计算机下发引导数据,跟踪转台计算机与主控计算机之间的串行通讯采用RS422标准,并且具有统一的时统信号。编码器采样频率为400 Hz,当编码器采样时刻到来时,要完成读取编码器当前时刻的值,位置差分计算速度,位置校正和速度校正这些任务。

差分测速:设j时刻编码器位置为θ(j),前n时刻编码器位置为θ(j-n),取q(θ(j)-θ(j-n))/nT为j时刻的速度值,T为采样周期。为了使测速曲线光滑,取j时刻前两个采样时刻的测速值与j时刻测速值的平均值为j时刻的测速值。

图4 主程序流图

图5 中断程序流图

校正环节的数字化实现,编制计算机程序时可用直接法、串联法和并联法等三种方法。若速度环校正网络形式为:

GVC(s)=K(T2S+1)(T3S+1)/(T1S+1)(T4S+1)

(1)

则串联法实现时,对G(s)进行双线性变换:

G(z)=Z[G(s)]|s=2(1-z-1)/Ts(1+z-1)

=Kz(1-Bz-1)(1-Cz-1)/(1-Az-1)(1-Dz-1)

(2)

其中,Kz、A、B、C、D为常数,分别为:

(3)

由于串联法实现时,存在着大量乘积运算导致舍入误差大,故这种形式的G(z)的数字校正在选择实现结构时往往以并联实现结构为最佳,即将上式分解为并联形式:

(4)

(5)

则采用C Mex S函数设计得到的数字控制器模型,经过编译命令mex sfun_azimuth.c后,可生成可调用的动态链接库文件sfun_azimuth.mexw32(即dll文件)。被控对象(电机和负载)的数学模型建立之后,同样也可以用C MEX S-函数来实现,如图6跟踪伺服系统实时计算分析模型中sfun_azimuthmotor所示。

图6 跟踪伺服系统实时计算模型

在红外捕获跟踪设备的跟踪伺服系统中,指控计算机通过串口发送的数据频率为100 Hz(可设置),编码器采样频率为400Hz,控制算法的递推运算也按照400 Hz周期进行。

3 跟踪伺服系统性能实时仿真分析平台试验测试

对于某红外捕获跟踪装备方位轴跟踪伺服系统,加载设置好各个环节参数,各环节可在数字控制器C MEX S-函数中进行离散化实现。上位机发送引导数据频率为100 Hz,时间延迟为0.02 s时,对于输入为等效正弦信号时,经过仿真得到的动态控制误差如图7(a)所示。使用RTW实时工具箱将Simulink模型自动生成优化的、可移植的和用户定制的C代码。按照这种方法生成一个RTW通用实时目标环境的应用程序。RTW提供了MAT文件的数据记录功能,可以将程序运行每个时间步长处的系统输入输出、状态和仿真时间数据存储在一个MAT格式文件中[8]。程序生成并运行结束之后得到的跟踪误差如图7(b)所示,装载该文件并与原始仿真模型的输入输出结果进行比较,从而可进行生成代码和程序的校验。

图7 原始模型与RTW生成程序运行得到的控制误差

原始仿真模型生成的方位跟踪误差数据为errora,RTW生成程序运行后得到的方位跟踪误差数据记录为rt_errora,比较可得两者变化规律一致,最大误差相差很小,max(abs(rt_errora(:,2)-errora(:,2))= 1.7764×10-14。

4 结 论

采用xPC目标工具设计开发了某光电对抗装备跟踪伺服系统的半实物实时仿真平台,完成了平台软硬件及控制算法的设计与仿真测试,通过调试控制参数,在线监测控制性能,从而实现跟踪伺服系统的闭环实时仿真。该半实物实时仿真环境也可作为光电对抗装备跟踪伺服系统性能的通用实时仿真分析平台,进行快速控制原型化、控制性能的半实物仿真测试以及装备操作手的模拟训练等。

猜你喜欢
驱动程序伺服系统串口
基于ESO的电液位置伺服系统反步滑模控制
浅谈AB PLC串口跟RFID传感器的通讯应用
阻止Windows Update更新驱动程序
计算机硬件设备驱动程序分析
基于模糊滑模控制的数控机床位置伺服系统
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
基于自适应反步的DGMSCMG框架伺服系统控制方法
串口技术的实物调试和虚拟仿真联合教学模式
消除弹道跟踪数据中伺服系统的振颤干扰