法律状态公告日
法律状态信息
法律状态
2019-12-17
授权
授权
2016-12-07
实质审查的生效 IPC(主分类):G06F17/50 申请日:20160628
实质审查的生效
2016-11-09
公开
公开
技术领域
本发明具体涉及一种基于可插拔式接口的固定翼飞行器快速建模设计方法,属于计算机飞行器性能仿真领域。
背景技术
XML为可扩展标记语言或可延伸,是一种置标语言。本发明的创新点就在于应用可扩展标记语言定于气动参数的XML文档,将飞行器的气动参数从飞行方程中抽离出来写入XML文档,在进行仿真的时候再将气动参数从文档中解析到飞行方程中就可以进行飞行器性能仿真。使用XML文档标记气动参数可以使得在对不同飞行器进行仿真时可共用飞行方程,只需要修改文档中的气动参数即可,如此可提高开发效率,实现代码的复用。XML语言具有简洁有效、高效扩充的特点,并且使用XML可以在不同的计算机系统间交换信息。XML支持复用文档片段,使用者可以发明和使用自己的标签,可伸缩性大,可以有效的进行XML文件的扩充,在飞行器平台不同的时候可以通过修改扩充XML文件快速的进行飞行器仿真建模。
发明内容
本发明提出了一种基于可插拔式接口的固定翼飞行器快速建模设计方法,提出基于XML的固定翼飞机气动参数编辑规范,设计可插拔式接口,将气动参数从动力学模型中剥离并抽象化,实现气动参数即插即用。使用VC2010开发工具,完成固定翼飞机的操纵输入、动力学方程和运动学方程模块开发。设计气动参数XML文件解析程序,将获取的气动参数同动力学模块相结合,实现飞行性能仿真模型的快速开发。用户通过在XML文件中替换不同飞行器的气动参数,在发动机类型与型号固定的前提下,对不同的飞行器建模时只需修改XML文件中的气动参数便可完成仿真模型设计。可快速建立针对不同固定翼飞机机型的空气动力学模型,缩短模型开发周期。减少在飞行器数学建模过程中的重复性劳动,提高了飞行器建模的灵活性、快速性,以及通用性。
一种基于可插拔式接口的固定翼飞行器快速建模设计方法,主要包含以下内容:
步骤一:定义XML文档,将飞行器的气动参数从飞行方程中剥离并写入文件中,实现飞行方程在初始化时从中读取气动参数;
步骤二:根据飞行器的运动分解,将其运动分为横侧向运动与纵向运动,分别编写运动状态解算方程;
步骤三:设计XML解析程序,将气动参数加载到空气动力学模型中,实现运动状态解算方程的初始化;
步骤四:在发动机类型与型号固定的条件下,对于不同的飞行器可以复用同一飞行方程,只需修改XML文件中的气动参数再重新解析到动力学模型中即可;
所述步骤一中定义XML文档的实现思路为:
⑴.首先由XML编辑器创建XML文档,定义文档根节点;
⑵.定义第一层节点,共8个节点,分别标记第一层节点数、升力解算相关气动参数、侧力解算气动参数、俯仰力矩解算气动参数、滚转力矩解算气动参数、偏航力矩解算气动参数、阻尼力解算气动参数、角加速度解算气动参数;
⑶.为第一层的每个节点创建子节点,根据对应节点的气动参数个数创建子节点,涉及多少个气动参数就创建几个子节点,其中第一个子节点标记当前节点的子节点个数;
⑷.一个子节点代表一个气动参数,由于存入文档的气动参数为一系列离散点,因此需要为子节点创建一系列里层节点。每个子节点扩展了21个里层节点,其中第一个里层节点标记气动参数离散点个数,其余里层节点标记气动参数离散值;
(5).保存并关闭XML文档,实现气动参数的标记;
所述步骤三中XML文档解析实现思路为:
⑴.加载XML文档,开始进行气动参数解析;
⑵.将文档指针定位到根节点,获取第一层节点的节点数;
⑶.将文档指针依次定位到第一层的每个节点,开始遍历每个节点的子节点;
⑷.遍历子节点扩展的里层节点,将里层节点中标记的气动参数值,读取到对应气动解算模块中对应的气动参数数组中;
⑸.重复上述操作,直到所有节点的子节点中的里层节点全部读取为止;
⑹.保存并关闭XML文档,将启动参数加载到计算机内存中;
所述第一层节点代表对应的气动力、力矩解算模块;节点的子节点代表该气动解算模块涉及的气动参数;子节点的里层节点代表该气动参数标记的一维表数据个数;
需要写入XML文件的气动参数表:
为便理解,附如下机翼升力系数的XML文档标记格式。
具体实现:
1定义变量:
变量模块包括飞行器的各气动参数对应的抽象变量、运动状态变量、力学状态变量以及控制输入。其中气动参数变量用于飞行器空气动力模型的解算;运动状态变量用于记录模型解算出的姿态信息、位置信息等;力学状态变量用于记录模型解算出的俯仰力矩、横滚力矩,偏航力矩、侧向力矩以及阻力、升力等状态信息;控制输入包括[δT>e>a>r],对应油门推杆输入、升降舵偏角、副翼偏转角、方向舵偏角。
2定义XML文档及XML解析程序:
将飞行器空气动力学模型的气动参数写入XML文件中。从空气动力学模型中将气动参数剥离出来并抽象化,在各解算模块中以变量代替,通过XML解析程序将文件中的气动参数解析到对应的变量中,实现空气动力学模型的初始化。XML文档的定义是将表1中的气动参数按照解算方程以树状层次结构依次记录到文档中,这样飞行器的所有气动参数就构成了具有多层分叉结构的树,每一个气动参数对应为其中一个分支的一个元素。解析程序的作用就是分析树,通过进行树遍历就可以对每个元素进行操作,将其解析到飞行器飞行方程中,从而将飞行方程具体化。创建XML文档的方法见说明书附图1、图2,XML文档解析方法见说明书附图3。
3状态解算模块:
状态解算模块包括飞行器的力方程组、运动方程组、力矩方程组、导航方程组四部分,编写状态解算模块时将对应的方程组离散化转换成计算机程序。在确定了状态向量
1).根据控制输入[δT>e>a>r]解算力、力矩。
力主要包括升力L、侧力Y、发动机推力T。具体解算如下:
升力解算方程:
其中有
Q:动压;
ρ:当前气压高度空气密度;
V:飞机水平飞行速度;
CLW:机翼升力系数;
CLb:机身升力系数;
Sb:机身横截面积;
SW:机翼面积;
CLt:平尾升力系数;
St:平尾面积;
侧力解算方程:
ρ:当前气压高度空气密度;
V:飞机水平飞行速度;
SW:机翼面积;
CYβ:侧滑角引起的侧力导数;
β:侧滑角;
δr:方向舵偏角输入;
俯仰力矩解算方程:
>
ρ:当前气压高度空气密度;
V:飞机水平飞行速度;
Cm,α=0:静不定俯仰力矩;
Cmα:迎角俯仰力矩导数;
α:迎角;
δe:升降舵偏角;
cA:机翼平均几何弦长;
滚转力矩解算方程:
Clβ:横滚静稳定导数;
V:飞机水平飞行速度;
b:b为机翼展长;
ρ:当前气压高度空气密度;
δa:副翼偏转角;
偏航力矩解算方程:
ρ:当前气压高度空气密度;
V:飞机水平飞行速度;
Cnβ:偏航静稳定导数;
δa:副翼偏转角;
δr:航向舵偏角;
阻尼力解算方程:Dk=CDVk>
CD:阻尼系数;
由方程(1)~(6)可计算出飞行器沿机体坐标系力向量:
>
其中k为第k个解算周期;Dk为飞行阻力;mk为第k个解算周期飞机的质量;gk为第k个解算周期的重力加速度。
(7)由方程(1)~(6)可计算飞行器沿机体坐标系分解力矩向量:
>
其中
2).由[Fkx>ky>kz]T、[uk>k>k]T、[φk>k>k]T、[pk>k>k]T解算出当前状态加速度分量。
加速度分量解算方程:
由方程(9)解算出当前状态加速度分量
3).由[Lk>k>k]T、[pk>k>k]T解算出当前状态角加速度分量。
角加速度分量解算方程:
其中:Ixz为惯性积;
>
>
>
由方程(10)解算出当前状态角加速度分量
4).由[uk>k>k]T、
下一状态的速度分量解算方程:
其中Δτ为解算周期。
5).由[pk>k>k]T、
下一状态的角速度分量解算方程:
>
其中Δτ为解算周期。
6).由[φk>k>k]T、[pk+1>k+1>k+1]T解算出当前状态姿态角速率
当前状态姿态角速率解算方程:
>
由方程(13)可计算出当前状态姿态角速率
7).由
下一状态姿态角解算方程:
>
其中Δτ为解算周期。
8).由[uk+1>k+1>k+1]T、[φk+1>k+1>k+1]T解算出飞行器的位置状态信息变化率
位置状态信息变化率解算方程:
>
由方程(15)可解算出当前位置状态变化率
9).由
下一状态位置信息解算方程:
>
将方程(1)~(16)进行离散化即可编写计算机程序,建立飞行方程,通过飞行方程解算出飞行器每个时刻的力的变化率、力矩变化率、姿态角变化率、速度变化率就可以得到飞行器每一个时刻的状态信息以及位置信息。通过状态解算便实现了飞行器模型仿真,从而可以模拟出飞行器的性能参数。
与现有技术相比,本发明具有的有益效果是:
本发明定义了飞机动力学模型的气动参数xml配置文件,可以通过修改配置文件即可实现不同机型动力学模型的快速建模。这种动力学模型建模的特点是将气动参数与动力学方程相分离,实现了动力学模型的模块化设计,然后在解算状态前将气动参数加载到模型中,根据当前飞行状态解析气动参数实现飞机运动状态的解算。采用这种建模方式可以实现动力学模型建模的灵活组合,提高了开发效率,缩短了开发周期,并且可以减少工程人员在建模过程中的重复性劳动,提高飞行器建模的灵活性、快速性以及通用性。
附图说明
图1为本发明设计方法流程示意图;
图2是气动参数XML文档定义实现框架1;
图3是气动参数XML文档定义实现框架2;
图4气动参数XML文档流程图;
图5是飞行方程模型实现结构图;
具体实施方式
本发明提出了一种基于可插拔式接口的固定翼飞行器快速建模设计方法,提出基于XML的固定翼飞机气动参数编辑规范,设计可插拔式接口,将气动参数从动力学模型中剥离并抽象化,实现气动参数即插即用。使用VC2010开发工具,完成固定翼飞机的操纵输入、动力学方程和运动学方程模块开发。设计气动参数XML文件解析程序,将获取的气动参数同动力学模块相结合,实现飞行性能仿真模型的快速开发。用户通过在XML文件中替换不同飞行器的气动参数,在发动机类型与型号固定的前提下,对不同的飞行器建模时只需修改XML文件中的气动参数便可完成仿真模型设计。可快速建立针对不同固定翼飞机机型的空气动力学模型,缩短模型开发周期。减少在飞行器数学建模过程中的重复性劳动,提高了飞行器建模的灵活性、快速性,以及通用性。
一种基于可插拔式接口的固定翼飞行器快速建模设计方法,主要包含以下内容:
步骤一:定义XML文档,将飞行器的气动参数从飞行方程中剥离并写入文件中,实现飞行方程在初始化时从中读取气动参数;
步骤二:根据飞行器的运动分解,将其运动分为横侧向运动与纵向运动,分别编写运动状态解算方程;
步骤三:设计XML解析程序,将气动参数加载到空气动力学模型中,实现运动状态解算方程的初始化;
步骤四:在发动机类型与型号固定的条件下,对于不同的飞行器可以复用同一飞行方程,只需修改XML文件中的气动参数再重新解析到动力学模型中即可;
所述步骤一中定义XML文档的实现思路为:
⑴.首先由XML编辑器创建XML文档,定义文档根节点;
⑵.定义第一层节点,共8个节点,分别标记第一层节点数、升力解算相关气动参数、侧力解算气动参数、俯仰力矩解算气动参数、滚转力矩解算气动参数、偏航力矩解算气动参数、阻尼力解算气动参数、角加速度解算气动参数;
⑶.为第一层的每个节点创建子节点,根据对应节点的气动参数个数创建子节点,涉及多少个气动参数就创建几个子节点,其中第一个子节点标记当前节点的子节点个数;
⑷.一个子节点代表一个气动参数,由于存入文档的气动参数为一系列离散点,因此需要为子节点创建一系列里层节点。每个子节点扩展了21个里层节点,其中第一个里层节点标记气动参数离散点个数,其余里层节点标记气动参数离散值;
(5).保存并关闭XML文档,实现气动参数的标记;
所述步骤三中XML文档解析实现思路为:
⑴.加载XML文档,开始进行气动参数解析;
⑵.将文档指针定位到根节点,获取第一层节点的节点数;
⑶.将文档指针依次定位到第一层的每个节点,开始遍历每个节点的子节点;
⑷.遍历子节点扩展的里层节点,将里层节点中标记的气动参数值,读取到对应气动解算模块中对应的气动参数数组中;
⑸.重复上述操作,直到所有节点的子节点中的里层节点全部读取为止;
⑹.保存并关闭XML文档,将启动参数加载到计算机内存中;
所述第一层节点代表对应的气动力、力矩解算模块;节点的子节点代表该气动解算模块涉及的气动参数;子节点的里层节点代表该气动参数标记的一维表数据个数;
需要写入XML文件的气动参数表:
为便理解,附如下机翼升力系数的XML文档标记格式。
具体实现:
1定义变量:
变量模块包括飞行器的各气动参数对应的抽象变量、运动状态变量、力学状态变量以及控制输入。其中气动参数变量用于飞行器空气动力模型的解算;运动状态变量用于记录模型解算出的姿态信息、位置信息等;力学状态变量用于记录模型解算出的俯仰力矩、横滚力矩,偏航力矩、侧向力矩以及阻力、升力等状态信息;控制输入包括[δT>e>a>r],对应油门推杆输入、升降舵偏角、副翼偏转角、方向舵偏角。
2定义XML文档及XML解析程序:
将飞行器空气动力学模型的气动参数写入XML文件中。从空气动力学模型中将气动参数剥离出来并抽象化,在各解算模块中以变量代替,通过XML解析程序将文件中的气动参数解析到对应的变量中,实现空气动力学模型的初始化。XML文档的定义是将表1中的气动参数按照解算方程以树状层次结构依次记录到文档中,这样飞行器的所有气动参数就构成了具有多层分叉结构的树,每一个气动参数对应为其中一个分支的一个元素。解析程序的作用就是分析树,通过进行树遍历就可以对每个元素进行操作,将其解析到飞行器飞行方程中,从而将飞行方程具体化。创建XML文档的方法见说明书附图1、图2,XML文档解析方法见说明书附图3。
3状态解算模块:
状态解算模块包括飞行器的力方程组、运动方程组、力矩方程组、导航方程组四部分,编写状态解算模块时将对应的方程组离散化转换成计算机程序。在确定了状态向量
3).根据控制输入[δT>e>a>r]解算力、力矩。
力主要包括升力L、侧力Y、发动机推力T。具体解算如下:
升力解算方程:
其中有
Q:动压;
ρ:当前气压高度空气密度;
V:飞机水平飞行速度;
CLW:机翼升力系数;
CLb:机身升力系数;
Sb:机身横截面积;
SW:机翼面积;
CLt:平尾升力系数;
St:平尾面积;
侧力解算方程:
ρ:当前气压高度空气密度;
V:飞机水平飞行速度;
SW:机翼面积;
CYβ:侧滑角引起的侧力导数;
β:侧滑角;
δr:方向舵偏角输入;
俯仰力矩解算方程:
>
ρ:当前气压高度空气密度;
V:飞机水平飞行速度;
Cm,α=0:静不定俯仰力矩;
Cmα:迎角俯仰力矩导数;
α:迎角;
δe:升降舵偏角;
cA:机翼平均几何弦长;
滚转力矩解算方程:
Clβ:横滚静稳定导数;
V:飞机水平飞行速度;
b:b为机翼展长;
ρ:当前气压高度空气密度;
δa:副翼偏转角;
偏航力矩解算方程:
ρ:当前气压高度空气密度;
V:飞机水平飞行速度;
Cnβ:偏航静稳定导数;
δa:副翼偏转角;
δr:航向舵偏角;
阻尼力解算方程:Dk=CDVk>
CD:阻尼系数;
由方程(1)~(6)可计算出飞行器沿机体坐标系力向量:
>
其中k为第k个解算周期;Dk为飞行阻力;mk为第k个解算周期飞机的质量;gk为第k个解算周期的重力加速度。
(7)由方程(1)~(6)可计算飞行器沿机体坐标系分解力矩向量:
>
其中
4).由[Fkx>ky>kz]T、[uk>k>k]T、[φk>k>k]T、[pk>k>k]T解算出当前状态加速度分量。
加速度分量解算方程:
由方程(9)解算出当前状态加速度分量
3).由[Lk>k>k]T、[pk>k>k]T解算出当前状态角加速度分量。
角加速度分量解算方程:
其中:Ixz为惯性积;
>
>
>
由方程(10)解算出当前状态角加速度分量
4).由[uk>k>k]T、
下一状态的速度分量解算方程:
其中Δτ为解算周期。
5).由[pk>k>k]T、
下一状态的角速度分量解算方程:
>
其中Δτ为解算周期。
6).由[φk>k>k]T、[pk+1>k+1>k+1]T解算出当前状态姿态角速率
当前状态姿态角速率解算方程:
>
由方程(13)可计算出当前状态姿态角速率
7).由
下一状态姿态角解算方程:
>
其中Δτ为解算周期。
8).由[uk+1>k+1>k+1]T、[φk+1>k+1>k+1]T解算出飞行器的位置状态信息变化率
位置状态信息变化率解算方程:
>
由方程(15)可解算出当前位置状态变化率
9).由
下一状态位置信息解算方程:
>
将方程(1)~(16)进行离散化即可编写计算机程序,建立飞行方程,通过飞行方程解算出飞行器每个时刻的力的变化率、力矩变化率、姿态角变化率、速度变化率就可以得到飞行器每一个时刻的状态信息以及位置信息。通过状态解算便实现了飞行器模型仿真,从而可以模拟出飞行器的性能参数。
表1动力学模型气动参数
机译: 基于双风扇动力系统的垂直起降无人飞行器具有可折叠固定翼
机译: 基于双风扇动力系统的垂直起降无人飞行器具有可折叠固定翼
机译: 通过非固定翼飞机部署和恢复固定翼无人飞行器的方法和装置