导弹姿控仿真设计

时间:2022-04-08 10:13:28

导弹姿控仿真设计

1引言

在航天器的飞行试验中,遥测数据是靶场重要的数据资源。目前,遥测数据可视化表示一般只包括弹道以及姿态角数据的曲线与图表显示,对于其它类型数据,如姿控系统作动器压差、陀螺仪姿态角等数据缺乏直观、形象的虚拟现实表现方法。这就导致了遥测数据分析结果主要是平面的、静态的形式,缺乏立体的、动态的形式,缺乏对系统的整体分析和多参数的耦合仿真,如果把遥测数据按其自身物理背景进行有机结合,利用虚拟现实技术仿真导弹飞行全过程,从导弹飞行的整体概貌到主要部件的微观动作予以三维动态展示,则对于遥测数据进行深层挖掘和使用,进行系统预研与故障仿真等都具有重要的现实意义。

2仿真系统物理背景

姿态姿控系统作用是克服各种干扰,使导弹的姿态角相对预定姿态角的偏差控制在允许的范围内,并按制导系统发出的指令,控制弹体的姿态角,从而改变推力方向,实现要求的运动状态。姿控系统比较复杂,涉及的参数比较多,参数之间的关联性紧密,多级导弹的每一级都有姿控系统的一部分部件,一般包括平台、弹上计算机、速率陀螺、执行机构、姿控喷管等,执行机构包括燃气舵机、空气舵机、伺服系统、滚控装置等。

2.1伺服系统伺服系统全称为推力矢量控制伺服系统,是导弹控制系统中的执行机构,它的作用是根据控制系统指令,控制喷管摆角或控制二次喷射阀门的开堵,改变发动机喷焰的排除方向,产生侧向控制力矩,改变导弹在飞行中的姿态,使之按预定轨道稳定飞行。

2.2舵机舵机是一种进行能量转换的执行机构,电动液压式舵机是将电能转换成机械能的执行机构。

2.3滚控燃气装置滚控燃气装置一般采用脉冲调制或继电状态的工作方式。滚控燃气装置分析不同滚控燃气活门压力之间的相位极性。

3关联性仿真系统设计

3.1OSG三维渲染引擎简介OSG是一个高性能开源三维图形引擎,基于修改的LG-PL协议(OSGPL)免费,广泛的应用于虚拟仿真、虚拟现实、科学和工程可视化等领域。它以OpenGL为底层平台,使用C++编写而成,可运行于Windows、UNIX/Linux、MacOSX、IRIX、Solaris、HP-UX、AIX和FreeBSD等操作系统。它诞生于1998年,系统架构思想起源于OpenGLPerformer;发展至今,其功能特性涵盖了大规模场景的分页支持,多线程,多显示的渲染,粒子系统与阴影,各种文件格式的支持,以及对于Java、Perl、Python等语言的封装等。OSG采用包围体层次(BoundingVolumeHierachy,BVH)来实现场景图形的管理。采用包围体层次的场景图形通常采用树状结构来保存信息。这种场景BVH树不仅可以正确地表达场景图形的信息组成,还可以加速场景对象的裁剪、相交性测试、碰撞检测等一系列操作,是应用最广泛的空间数据组织结构之一[3]。

3.2系统架构设计

3.2.1系统组成导弹姿控系统关联性仿真系统由参数配置、导弹姿控系统部件仿真两部分组成。其中导弹部件模拟包括导弹伺服系统仿真、陀螺仪平台仿真、导弹飞行仿真等。参数配置由场景参数配置,图形显示配置,数据采集等组成。结构图如图1。

3.2.2面向对象设计仿真系统在设计时使用了设计模式中的工厂方法模式,这样系统就可以方便的扩展为导弹的、动力系统、外安系统等的仿真,甚至可以方便地扩展为整个导弹各分系统的部件仿真。

3.2.2.1导弹姿控部件仿真类的抽象与定义导弹姿控部件包括伺服系统、舵机、滚控燃气装置、陀螺仪平台等,从程序设计的角度看接口是相似的,因此可以将导弹姿控部件仿真抽象出来,定义为CMissileAssemblySim,一级伺服系统、陀螺仪平台与导弹飞行仿真从基类CMissileAs-semblySim派生。基类CMissileAssemblySim可以提供子类中成员变量与公共方法的定义和默认实现。类图如图3。抽象是面向对象设计中十分重要的元素之一,有了抽象使多态成为可能,从而可以产生多种多样的变化,描述现实世界的种种现象。

3.2.2.2工厂方法(FactoryMethod)模式使用工厂方法模式的意图是“定义一个用于创建对象的接口,让子类决定实例化那个类。工厂方法使一个类的实例化延迟到其子类”[1]。在导弹姿控系统部件仿真软件中,工厂方法通过定义的抽象接口CreateMissileAssemblySim(),具体工厂实现这个抽象接口来创建不同的具体产品。如果需要增加舵机、滚控燃气装置等其它部件仿真,不需要修改工厂类,只需要增加这些部件仿真类和相应的工厂类就可以了。这样整个工厂和产品体系其实没有修改的变化,而只是扩展的变化,完全符合了开放-封闭原则[2]。为软件功能的下一步扩展打下了良好的基础。解决方案如图4。

4关键技术分析

4.1关联性仿真遥测参数选取在航天器的试验飞行中,航天器的被测参数有时多达上千个,参数种类也很多,不可能利用所有数据重现飞行过程采取的策略是寻找参数之间的关联性,再在高度相关的参数之间选择典型参数来表现飞行器的动作。对于航天器,关联性可划分为同源关联、作用关联、结构关联、时间关联、时序关联、环境关联、以及非相关关联等,同源关联分析是对若干可以追溯到同一个源泉的参数进行关联性分析,重点分析从同一个电源、同一个器件得到的参数把同源参数分为测量同源分析、系统同源等进行分析;作用关联是因果关系或相互作用方面的关联性研究;结构关联从结构方面研究关联性;时间关联和时序关联从时间角度、动作产生先后时序方面进行关联性研究;环境关联是温度、气压等总体方面的关联;非相关关联则是从另一个角度,本来不应有关联实际上有了关联从而研究故障异常等。参数间关联性分析主要针对姿控系统各参数的关联性指令参数之间的关联性、指令参数与其它参数间的关联性总体参数间的关联性、动力系统各参数的关联性、遥测系统与外测系统之间的关联性、外安系统的特征变化、其它参数相关性分析等8个方面进行分析[5]。基于关联性,选取典型参数数据,建立数据与模型之间的动作关系模型,用实时数据进行模型驱动。

4.2姿控系统部件建模三维建模是构建一个视景系统的基础工作,良好的建模方法可提供模型的真实感,极大程度减少建模的工作量。细腻的模型和真实效果的纹理贴图会使场景的真实感与沉浸感更强。底层的图形引擎提供图元方式的视景模型建模,这种方式建模的灵活性比较大,可以创建几乎任何形状的视景物体,但其缺点也显而易见,对于复杂的模型建模要花费巨大的工作量。目前己经有许多比较成熟的三维建模工具可进行常规三维对象的建模。这些建模工具已经形成了产品化和商业化,如AutoCAD,3DSMax和MultiGenCreator等,这些软件具有友好的图形用户界面,可方便地开发所需的三维立体模型。而且,这些建模工具生成的模型数据格式,OSG都提供了很好的支持。这里推荐使用3DSMax,使用它构建的模型比较细腻,还可以通过osgExp插件将3DSmax场景导出为OSG的自定义文件格式(OSG或者IVE格式)。通过该插件可以实现纹理文件的压缩与集成,场景优化等操作。这样3DSmax中制作的复杂场景可以直接导入到OSG的场景浏览器中。

4.3姿控系统部件驱动姿控系统驱动包括模型加载、关节控制器安装、数据驱动等三部分。模型加载到场景后将以BVH树结构存储,模型BVH树的根节点为读入的模型节点,通过该根节点可以查找模型中的子部件节点,如果该子部件需要驱动,就需要为该子部件安装关节控制器。所谓关节控制器是包含模型变换节点及相关参数的数据结构。关节控制器中包含有模型变换节点,osg::Matrix-Transform,该节点通过四元数与矩阵计算实现模型部件的旋转变换。四元数是由3个复数和一个实数组成的复杂数学系统。假设有以下的复数定义:珒i2=珒j2=k珒2=珒i•珒j•k珒=-1,则四元数可表示为如下公式:Qs[x,y,z,w]=x•珒i+y•珒j+z•k珒+w•1.0其中x、y、z、w是4个实数参数。四元数的优势在于:它可以表达物体绕任意向量轴的旋转,并且和欧拉角度旋转与旋转矩阵的方法相比,其效率较高,操作也更加灵活[3]。图5展示了欧拉角度旋转(沿直角坐标系坐标轴的旋转分量之和)和四元数旋转的区别:欧拉旋转(如图5(a)所示)需要计算3个旋转分量的作用之和,即沿Z轴的航向(Head-ing)角度、沿X轴的俯仰(Pitch)角度以及沿Y轴的横滚(Roll)角度;而四元数旋转(如图5(b)所示)只需要对旋转轴V和旋转角度进行设置。在OSG中使用Quat类表达四元数,设置一个四元数的方法很多,例如沿X轴逆时针旋转90度的示例代码如下:osg::Quatquat(osg::PI_2,osg::Vec3(1.0,0.0,0.0));其中osg::PI_2是OSG中预定义宏,表示数学上的π/2。此外,还可以直接使用角度值来表示旋转角度,方法是使用当定义好关节需要旋转的角度的四元数后,通过定义矩阵OSG中矩阵类osg::Matrixd来实施旋转变换。OSG中使用行主序(Row-major)的概念来保存矩阵的16个数据元素,即矩阵的每一行都被连续地保存在内存中。如果元素在内存中的连续位置是a00~a15,那么它所表达的行主序矩阵如下:通过以上分析,关节控制器对导弹部件模型的旋转变换可以总结为以下3步:1)定义矩阵对osg::Matrixdmatrix;2)调用osg::Matrixd类函数preMultRotate()函数对矩阵对象matrix实施旋转变换;3)通过调用变换节点osg::MatrixTransform类函数set-Matrix(matrix)对导弹部件模型进行旋转变换。这里有一点需要强调的是,进行旋转变换时,需要将旋转轴平移到模型的关节中心线位置,这样才能获得正确的模型旋转变换效果。

5仿真结果分析

结合遥测数据处理结果对飞行过程伺服系统与飞行过程陀螺仪系统测量数据进行了仿真,仿真结果如下图。如图6,图中采用作动器压差参数的实测数据,利用作动器压差变化控制喷管的摆动方向,从而仿真飞行过程中伺服机构的工作情况。为了便于观察,上图中关闭了发动机尾焰粒子系统。飞行过程陀螺仪系统截图如图7。在图中,从上到下,由左至右分别为飞行3秒、21秒、41秒与60秒时的陀螺仪状态。从图中可以看出,随着时间的增加,陀螺仪平台的三个姿态角(俯仰角、偏航角与滚动角)都发生了变化。

6结束语

本文以导弹姿控系统的关联性分析与仿真为例,利用VC++开发环境与三维渲染引擎OSG设计与实现了导弹姿控系统关联性仿真系统。并重点讨论了开发过程中的几个关键技术问题和相应解决方案。本仿真系统的开发用到了设计模式、图形渲染与特效使用等多方面知识。该系统的构建对于遥测数据深层挖掘和使用,进行系统预研与故障仿真等都具有重要的现实意义。对同类仿真系统的研究也极具参考价值。当然,整个仿真系统还存在不完善之处,例如模型相对比较粗糙,对一些细微的部件的仿真进行了简化处理,与现实部件情况还有差距,这些都须待以后进一步改进、完善。

上一篇:航运定价建模研究 下一篇:民用飞机迎角控制器设计