黄 成,孙茂义
(中国人民解放军91550部队,辽宁 大连 116023)
姿态控制系统是影响运载火箭或导弹飞行成败的关键系统之一,姿态控制精度直接影响飞行器入轨精度和落点命中精度。在运载火箭或导弹武器系统型号研制及鉴定过程中,需要建立具备姿态控制系统控制律设计、系统频域分析和时序仿真等功能的姿态控制系统仿真平台,对姿态控制系统总体方案进行闭合论证,对导弹飞行过程稳定性进行评估。目前传统姿态控制系统仿真平台设计时,多采用顺序编程方式实现,该方式下建立的仿真平台的直观性、操作性和通用性均有所欠缺,在型号姿态控制系统构型变化时系统移值性较差。
仿真软件是姿态控制系统仿真的灵魂[1]。国内外均建立了通用性较好的仿真软件平台,开展航空航天领域仿真软件研发。SDP是基于C++研发的开放型系统[2],通过人机界面方便用户调度元推理机,提供了与大型数据库互访的接口,利用软件的图形支撑软件可对AutoCAD、IDEAS等造型软件进行二次开发。清华大学基于HLA开发了SISP一体化支撑平台,利用该软件用户只需要读取对象模型信息和模型交互信息及配置参数,即可建立飞行器仿真软件。飞思技术团队研发的FlightSim软件,基于工具和模型的科学计算平台,在底层解释语言和计算引擎的基础上,封装了专业设计工具和计算模型,提供工具与模型之间的相互调用机制,为特定的设计仿真任务提供一体化的解决方案。国防科技大学研发的YHSIM一体化实时仿真软件[3-4],主要由YHSIM程序、数据文件和外部C代码三部分组成,用户将自己编写的C代码加入到程序中,即可编译链接成可执行文件。这些仿真平台功能多,通用性强,且不限于控制系统仿真,要求用户具有比较高的专业知识,且模块接口相对封闭[5]。由于在型号预发展阶段和方案论证阶段,姿态控制系统构型、系统参数等可能频繁变化,上述仿真平台难以满足方案快速闭合论证的需求,也难以满足与型号研制同步开展鉴定技术研究的要求,为此需研究更加切合用户使用需求的控制系统仿真平台设计方法。
本文基于姿态控制系统构型、系统参数等可能频繁变化的情况,提出了一种基于图形组态的姿态控制系统仿真平台设计方法,该系统基于模块化、层次化和图态化的设计思想,建立图形组态建模环境,基于邻域矩阵树搜索算法实现系统分隔和仿真排序,基于静态模型库中基础模块进行控制系统三通道可视化建模,可实现不同构型下的姿态控制系统快速构建。
图形组态仿真软件[6]主要包含框图类、仿真计算类。框图类又包含组件框图类和组件连线类,组件框图类内部封装了模块的功能函数和属性参数,组件连线类用于连接各模块之间输入和输出。仿真计算类功能是完成仿真软件的仿真计算和结果输出。
图形组态仿真软件设计中,需要将仿真对象功能模块添加到工作区中,然后利用连线将各功能模块的输入和输出连接到一起,待设置完成仿真步长、采样步长、仿真时间、仿真算法等模块初始参数后,对仿真系统进行模块分隔和排序,确定模块计算顺序后,点击仿真开始按钮,即可完成系统仿真。
姿态控制系统仿真平台主要用于完成运载火箭或导弹主动段飞行的仿真计算,实现六自由度综合仿真,具体功能包括:弹体姿态运动建模、弹性振动建模、速率陀螺建模、平台建模、伺服机构建模、模型辨识、连续模型离散化、控制律设计、时/频域特性分析、增益自动调节、校正网络设计、全弹道时域仿真、报告自动生成等功能,仿真平台总体结构如图1所示。
图1 基于图形组态的姿态控制系统仿真平台总体结构
姿态控制系统仿真平台以模块功能作为划分条件,将功能较为一致的部分划分为一个模块。整个平台则是将各个模块进行合理组织与安排,并且按照一定时序运行来完成实际任务[6]。
图形组态系统设计,即把各种不同的算法设计成一系列的组件框图类,用户根据实际控制回路结构,调出相应的组件框图按控制顺序用组件连线连接起来,即可构成相应的仿真系统框图。图形组态方式具有形象直观、功能丰富、组态灵活、操作方便、代码重复使用性强等优点,是构成控制系统组态方法的最优选择[7]。
本文提出在姿态控制系统仿真平台设计中,采用图形组态方式,给出开/闭环系统基本组成和数据流的标示,从而可便捷地进行模型查看,并进行对象的开环/闭环特性分析。针对所得到的微分方程或传递函数给出其基本特性描述。在仿真平台中,将按对象、传感器、伺服机构和控制器进行基本的模型作为模板提供,可降低重新构建新的控制系统构型的工作量。此外,系统可提供模型更新的功能,并可将模型以模型数据文件形式予以添加。
在图形组态建模系统中,系统分隔与仿真排序是生成姿控仿真系统的关键步骤。系统分隔与仿真排序的目的是将仿真任务分隔成若干个相对独立的不可再分功能模块,并确定每个功能模块的计算顺序。从而使仿真任务得到简化,实现更容易,计算效率相对提高[8]。
系统分隔与仿真排序的具体思路如下:1)在图中确定一个节点,沿有向边搜索,检查是否能找到返回该节点的环路;2) 若不存在,则单独构成一个独立不可再分的功能模块;3) 若存在,则该节点与环路中其他节点一起构成不可再分的功能模块;4) 重复上述1)~3)方法,继续检查下一个节点,直到遍历所有的节点及所在的环路;5) 检查所有环路,存在共同节点的环路以及这些环路内的节点应属于同一不可再分功能模块;6) 根据有向边的指向,确立各功能模块的仿真计算次序。
基于图形组态的姿态控制系统建模环境,采用搜索算法对功能模块进行仿真排序,最后采用序贯模块法在单个工作点上进行时域仿真。将图形化姿态控制系统构型应用于全弹道时域仿真运算中,实时解算控制指令及控制器输出。
在全弹道时域仿真运算中,根据控制周期实时插值计算姿态指令角,并赋值于姿态控制构型中各通道的指令输入模块,随后进行图形化姿态控制构型解算。与单工作点上姿态控制系统时域仿真不同的是,当模块解算至弹体模型时,统一根据弹体模块设定的输入和输出信号类型,将控制指令直接赋值给完整的弹体数学模型,而非线性化模型。当弹体数学模型解算完成后,将姿态信息重新赋值给姿态控制构型中弹体模块的输出端口。用实际的弹体数学模型代替了线性化模型,保证了全弹道时域仿真运算的真实性和可靠性。
系统分隔要求对不可再分功能模块内所有环路进行切断,因此有必要找出不可再分功能模块内的所有环路。树搜索法是一种基于通路搜索法树状搜索原理的系统分解方法。树搜索法既可用于对不可再分功能模块搜索环,也可以直接用于系统在找出所有环路的同时对系统进行分隔(找出不可再分功能模块以及不可再分功能模块之间的计算顺序)。本文采用基于邻接矩阵的树搜索系统分隔与仿真排序方法,以图2所示图形组态仿真系统为例,说明该方法的基本步骤。
图2 图形组态仿真系统实例示意图
1)邻接矩阵建立:
将工作区内的模型图元统一编号(从1号开始),建立两个链表,一个用来保存图元框图,一个用来保存图元连线。图元连线类中包含所连接的头、尾节点编号。首先建立一个足够大的邻接矩阵,并初始化,然后搜索图元连线链表,将邻接矩阵中以图元连线类中头节点编号为行、尾节点编号为列的元素置1。从而完成邻接矩阵的建立。如图2所示图形组态仿真系统,其邻接矩阵计算结果见式(1)。
(1)
2)找到所有具有系统输入的单元,如果邻接矩阵的第i列之和为零,则说明编号为i的模块为系统输入模块,则从这些模块开始搜索;
3)沿有向边方向前溯,每添一个前溯节点,马上回溯,检查有无相同节点,若无继续前溯,构成“枝”;若有,则找到一个环路,将其记录在案,并停止生长该枝;然后转向其他分枝搜索;搜索到的环路记录方案包括两种:按有向边顺序记录节点编号和使用列号代表节点编号。
按有向边顺序记录节点编号时,环路内的计算顺序就是相应的存储顺序,但查找没有在环路中的独立节点困难。
(2)
按列号代表节点编号时,查找没有在环路中的独立节点算法简单容易实现并且容易查找重复环路,但获得环路内计算顺序困难。
(3)
4)继续搜索,逐步构成树,直至全部枝条停止生长;
5)收集找到的所有环路,合并具有公共模块的环,构成若干整体(不可再分功能模块);
6)找到除系统输入模块以外,只含有一个模块的不可再分功能模块,就完成了系统的分隔。
7)根据有向边的方向确定所有不可再分功能模块的计算次序。
本文根据飞行器系统和仿真模块组成,建立了弹体模块、控制系统、数学运算和信号相关工具箱。根据飞行器姿态控制系统组成,将各功能模块添加到工作区,待设置完成各模块的初始参数后,利用连线将各功能模块的输入和输出依次连接起来,即可完成姿控系统的设计,基于图形组态的姿态控制系统控制律构型设计界面如图3所示。点击“开始”键,即可完成姿态控制系统仿真任务,获取时域仿真结果,自动生成仿真结果报告。
图3 图形组态控制律设计界面
本文提出了一种基于图形组态的姿态控制系统仿真平台设计方法,采用图形组态技术搭建图形化的姿态控制系统建模环境与工具。通过对图形化仿真模块进行系统分隔和仿真排序,解决了控制器时域仿真运算的问题。本文提出的基于图形组态的姿态控制系统仿真平台对不同构型下姿态控制系统进行快速构建,具备控制律设计、时序仿真分析、频域仿真分析和稳定性评估等功能,实现姿态控制系统方案快速闭合论证,后续可应用于型号预发展阶段和方案论证阶段,可通过与研制同步进行鉴定仿真技术储备来有效缩短相关仿真评估系统建设周期[9-10]。