一种可视化弹道模型的设计方法技术

技术编号:18592473 阅读:76 留言:0更新日期:2018-08-04 20:04
本发明专利技术提供了一种可视化弹道模型的设计方法,属于可视化仿真技术领域,包括以下定义模型单元步骤、定义关系类步骤、排列模型单元和关系类的运算次序步骤和运算步骤,定义模型单元步骤是利用面向对象的语言将弹道模型中的每个方程都单独定义成一个模型单元;定义关系类步骤是利用面向对象的语言定义不同模型单元之间的关系类,每个关系类定义了两个模型单元之间的输入输出关系,每个关系类定义的两个模型单元中的一个模型单元为输入模型单元,另一个模型单元为输出模型单元;运算步骤是给定积分步长和积分算法,根据排列好的模型单元和关系类的运算次序运算并输出计算结果。其操作简单,上手容易,弹道模型的设计效率高,通用性好。

A design method of visual ballistic model

The invention provides a visual ballistic model design method, which belongs to the field of visual simulation technology, including the following definition of model unit step, definition of relation class step, arrangement model unit and relation class operation sequence step and operation step. The model unit step is to use object oriented language to make ballistic model. Each equation in the type is defined as a model unit separately; the definition of relation class step is to define the relation class between different model units using an object oriented language. Each relational class defines the input and output relations between two model units, and one of the two model units defined by each relational class is the model unit. The model unit is input, and the other model unit is the output model unit. The operation step is the given integral step and the integral algorithm, and the calculation results are output according to the operation order of the arranged model units and the relation classes. It is easy to operate and easy to handle. The design efficiency of ballistic model is high and its versatility is good.

【技术实现步骤摘要】
一种可视化弹道模型的设计方法
本专利技术涉及可视化仿真
,具体而言,涉及一种可视化弹道模型的设计方法。
技术介绍
现有的飞行器弹道设计一般采用基于C、C++、Matlab等编程语言的自编程序,技术人员在进行弹道设计时面临的是成千上万行程序代码,不容易上手,效率较低,人机界面不友好、可读性较差,同时不同设计人员编制的程序各不相同,通用性较差。
技术实现思路
本专利技术实施方式的目的在于提供一种可视化弹道模型的设计方法,其操作简单,上手容易,弹道模型的设计效率高,通用性好。本专利技术的实施方式是这样实现的:本专利技术的实施方式提供了一种可视化弹道模型的设计方法,包括以下步骤:步骤一:定义模型单元利用面向对象的语言将弹道模型中的每个方程都单独定义成一个模型单元;步骤二:定义关系类利用面向对象的语言定义不同模型单元之间的关系类,每个关系类定义了两个模型单元之间的输入输出关系,每个关系类定义的两个模型单元中的一个模型单元为输入模型单元,另一个模型单元为输出模型单元;步骤三:排列模型单元和关系类的运算次序;步骤四:给定积分步长和积分算法,根据步骤三中确定的运算次序进行运算,运算完成输出计算结果。进一步地,步骤三中所述的排列模型单元和关系类的运算次序包含以下过程:S1:新建空队列;S2:将步骤一中定义的不需要输入变量的模型单元存入到空队列中,如果有多个模型单元都不需要输入,则按照建立模型单元的先后顺序将其存入空队列中;S3:根据步骤二中定义的关系类判断剩余模型单元的所有输入模型单元是否已在空队列中,如果不在空队列中则将其存入空队列中,直至没有模型单元可以存入为止,如果所有的模型单元都已经存入空队列,则空队列中模型单元的先后次序就是积分运算次序。进一步地,在S3中,当没有模型单元可以存入空队列中时,如果有剩余的输入模型单元没有存入空队列中,则说明所构建的弹道模型存在代数环,不能求解,给出错误信息并返回步骤一重新定义该模型单元。进一步地,步骤四中所述的根据步骤三中确定的运算次序进行运算包含以下过程:S4:给定时间变量t、积分步长step、积分初始时间t0和积分结束时间tf,并令t=t0;S5:根据运算次序运算所有的模型单元;S6:令t=t+step,当t<tf时,返回S5;当t≥tf时,运算结束并输出计算结果。进一步地,积分步长为0.01-0.02s,积分算法为欧拉法或龙格库塔积分算法。优选地,积分步长为0.01s。进一步地,所述面向对象的语言包括C++、C#或Java。进一步地,步骤一中所述的弹道模型中的方程包括质心运动学方程、质心动力学方程、姿态运动学方程和姿态动力学方程。本专利技术的实施方式具有以下有益效果:本专利技术实施方式提供的可视化弹道模型的设计方法,其操作简单,上手容易,设计人员通过简单的选取和输入即可完成弹道模型搭建,并且可以将公知的和一些重复使用的模型单元统一封装,并预留通用的输入输出接口,进而实现“搭积木”式弹道建模,大大提高了弹道模型的设计效率;根据所定义的各模型单元之间的关系类,能够自动排列各模型单元和关系类的运算次序,给定积分步长和积分算法,从而达到正确求解弹道模型的目的。附图说明为了更清楚地说明本专利技术实施方式的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施方式,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本专利技术实施方式提供的可视化弹道模型的设计方法的流程图;图2为关系类的定义示意图;图3为运算次序排列示意图;图4为发动机推力模型单元(T)的计算示意图;图5为质量模型单元(A)的计算示意图;图6为攻角、侧滑角模型单元(B)的计算示意图;图7为大气模型单元(C)的计算示意图;图8为动压模型单元(D)的计算示意图;图9为马赫数模型单元(E)的计算示意图;图10为质心、转动惯量特性模型单元(F)的计算示意图;图11为气动模型单元(G)的计算示意图;图12为发射系下的加速度模型单元(H)的计算示意图;图13为绕质心转动模型单元(I)的计算示意图;图14为姿态运动学模型单元(J)的计算示意图;图15为关系类的定义示意图;图16为可视化弹道设计模型及弹道计算结果示意图;图17为飞行器高度曲线示意图。图标:101-第一模型单元;102-第二模型单元;103-第三模型单元;104-模型单元a;105-模型单元b;106-模型单元c;107-模型单元d;108-模型单元e;109-模型单元f。具体实施方式为了加深对本专利技术的理解,下面结合实施方式对本专利技术作进一步说明,该实施方式仅用于解释本专利技术,并不构成对本专利技术保护范围的限定。参考图1所示,本专利技术实施方式提供的一种可视化弹道模型的设计方法,包括以下步骤:步骤一:定义模型单元利用面向对象的语言将弹道模型中的每个方程都单独定义成一个模型单元。需要说明的是,本实施方式中,面向对象的语言包括C++、C#或Java等语言。步骤二:定义关系类利用面向对象的语言定义不同模型单元之间的关系类,每个关系类定义了两个模型单元之间的输入输出关系,每个关系类定义的两个模型单元中的一个模型单元为输入模型单元,另一个模型单元为输出模型单元。参考图2所示,第一模型单元101的输入为x1和x2,第二模型单元102的输出为x1,第三模型单元103的输出为x2,则可以建立两个关系类,这两个关系类分别为第二模型单元102到第一模型单元101的关系类和第三模型单元103到第一模型单元101的关系类,其中,第一模型单元101为输入模型单元,第二模型单元102和第三模型单元103均为输出模型单元。步骤三:排列模型单元和关系类的运算次序。具体包含以下过程:S1:新建空队列,用于存放模型单元;S2:将步骤一中定义的不需要输入变量的模型单元存入到空队列中,如果有多个模型单元都不需要输入,则按照建立模型单元的先后顺序将其存入空队列中;S3:根据步骤二中定义的关系类判断剩余模型单元的所有输入模型单元是否已在空队列中,如果不在空队列中则将其存入空队列中,直至没有模型单元可以存入为止,如果所有的模型单元都已经存入空队列,则空队列中模型单元存入的先后次序就是积分运算次序;如果有剩余的输入模型单元没有存入空队列中,则说明所构建的弹道模型存在代数环,不能求解,给出错误信息并返回步骤一。参考图3所示,依次存入空队列的模型单元是第一次存入模型单元a104,第二次存入模型单元b105,第三次放入模型单元c106,第四次放入模型单元d107,第五次放入模型单元e108和模型单元f109,则积分运算次序为先运算模型单元a104,然后依次运算模型单元b105、模型单元c106、模型单元d107、模型单元e108和模型单元f109。步骤四:给定积分步长和积分算法,根据步骤三中确定的运算次序进行运算,运算完成输出计算结果。具体包含以下过程:S4:给定时间变量t、积分步长step、积分初始时间t0和积分结束时间tf,并令t=t0;S5:根据运算次序运算所有的模型单元;S6:令t=t+step,当t<tf时,返回S5;当t≥tf时,运算结束并输出计算结果。需要说明的是,本实施方式中,积分步长为0.01-0.02s,优本文档来自技高网...

【技术保护点】
1.一种可视化弹道模型的设计方法,其特征在于,包括以下步骤:步骤一:定义模型单元利用面向对象的语言将弹道模型中的每个方程都单独定义成一个模型单元;步骤二:定义关系类利用面向对象的语言定义不同模型单元之间的关系类,每个关系类定义了两个模型单元之间的输入输出关系,每个关系类定义的两个模型单元中的一个模型单元为输入模型单元,另一个模型单元为输出模型单元;步骤三:排列模型单元和关系类的运算次序;步骤四:给定积分步长和积分算法,根据步骤三中确定的运算次序进行运算,运算完成输出计算结果。

【技术特征摘要】
1.一种可视化弹道模型的设计方法,其特征在于,包括以下步骤:步骤一:定义模型单元利用面向对象的语言将弹道模型中的每个方程都单独定义成一个模型单元;步骤二:定义关系类利用面向对象的语言定义不同模型单元之间的关系类,每个关系类定义了两个模型单元之间的输入输出关系,每个关系类定义的两个模型单元中的一个模型单元为输入模型单元,另一个模型单元为输出模型单元;步骤三:排列模型单元和关系类的运算次序;步骤四:给定积分步长和积分算法,根据步骤三中确定的运算次序进行运算,运算完成输出计算结果。2.根据权利要求1所述的可视化弹道模型的设计方法,其特征在于,步骤三中所述的排列模型单元和关系类的运算次序包含以下过程:S1:新建空队列;S2:将步骤一中定义的不需要输入变量的模型单元存入到空队列中,如果有多个模型单元都不需要输入,则按照建立模型单元的先后顺序将其存入空队列中;S3:根据步骤二中定义的关系类逐个判断剩余模型单元的所有输入模型单元是否已在空队列中,如果不在空队列中则将其存入空队列中,直至没有模型单元可以存入为止,如果所有的模型单元都已经存入空队列,则空队列中模型单元的先后次序就是积分运算次序。3.根据权利要求2...

【专利技术属性】
技术研发人员:李佳峰
申请(专利权)人:北京微迪航天科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1