飞行器制导控制系统建模与仿真(基于MWORKS)课件 第4章 基于MWORKS的飞行器非线性模型建立与仿真分析_第1页
飞行器制导控制系统建模与仿真(基于MWORKS)课件 第4章 基于MWORKS的飞行器非线性模型建立与仿真分析_第2页
飞行器制导控制系统建模与仿真(基于MWORKS)课件 第4章 基于MWORKS的飞行器非线性模型建立与仿真分析_第3页
飞行器制导控制系统建模与仿真(基于MWORKS)课件 第4章 基于MWORKS的飞行器非线性模型建立与仿真分析_第4页
飞行器制导控制系统建模与仿真(基于MWORKS)课件 第4章 基于MWORKS的飞行器非线性模型建立与仿真分析_第5页
已阅读5页,还剩118页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章

Sysplorer环境中的

飞行器非线性仿真模型建立1课程目录1、典型飞行器的动力学运动学非线性模型23、Sysplorer飞行器控制系统建模常用模块4、基于Sysplorer的飞行器非线性仿真模型建立2、Sysplorer建模环境的基本使用方法3典型飞行器的动力学运动学非线性模型

飞行器的动力学数学模型是对飞行器运动动态过程的描述,利用这一模型可以得出飞机在不同环境下对操纵的响应。在飞行器制导控制系统设计中,需要通过飞行动力学模型进行制导控制系统的仿真验证。在对飞行器进行动力学运动学建模时,需要根据飞行器的弹道特点和仿真试验目的,建立不同精细程度的非线性数学模型。飞行动力学建模的一般步骤:选取合适的坐标系建立飞行器质心运动和绕质心运动的动力学、运动学微分方程,根据坐标变换关系建立几何关系方程建立作用在飞行器上的空气动力和力矩的函数关系,以及发动机推力的函数关系建立控制系统的数学模型,以及导航制导与控制算法的数学描述针对不同的应用场景,有时还需要加入飞行环境的数学模型和目标运动的描述等额外条件4典型飞行器的动力学运动学非线性模型

飞行器飞行动力学数学模型围绕飞行器的运动方程建立,还包括输入输出变量和外干扰,以及飞行环境条件。

输入变量有方向舵和发动机推力,输出变量有线位移、速度、加速度和飞行姿态等,外干扰包括大气扰动、飞行条件等。飞行动力学模型具有复杂的内部动态关系,表现在飞行器的一个输入控制变量将影响多个输出变量,而一个输出变量可能受多个输入变量的影响。5典型飞行器的动力学运动学非线性模型本节以近程防空导弹为例,介绍适用于固定翼飞机和近程导弹的六自由度非线性数学模型。

弹道坐标系下的飞行动力学方程组一般由质心动力学、绕质心的动力学、质心运动学和绕质心的运动学方程组成。在这些方程中,飞行器质量和转动惯量都看作是随时间变化的已知函数。方程的输出量(即所求参数)共15个,包括

:飞行速度大小;

:弹道倾角、弹道偏角;:飞行器在机体坐标系下的角速度;:飞行器地面坐标系下的位置坐标;:俯仰角、偏航角、滚转角;:攻角、侧滑角、弹道滚转角;因此,还需要3个补充方程,这些方程可由姿态角之间的关系得到,也称为几何关系方程。6典型飞行器的动力学运动学非线性模型综上所述,得出弹道坐标系下的飞行器六自由度运动方程组质心动力学绕质心的动力学7典型飞行器的动力学运动学非线性模型综上所述,得出弹道坐标系下的飞行器六自由度运动方程组质心运动学绕质心的运动学8典型飞行器的动力学运动学非线性模型综上所述,得出弹道坐标系下的飞行器六自由度运动方程组几何关系9典型飞行器的动力学运动学非线性模型如果飞行器的气动对称面与竖直平面重合,并且质心也在竖直平面内运动,则称这种运动为纵向运动。飞行器的纵向运动方程组为课程目录

1、典型飞行器的动力学运动学非线性模型103、Sysplorer飞行器控制系统建模常用模块4、基于Sysplorer的飞行器非线性仿真模型建立

2、Sysplorer建模环境的基本使用方法11典型飞行器的动力学运动学非线性模型Sysplorer建模环境的基本操作启动Sysplorer打开Syslab在Syslab工具栏中单击“Sysplorer”按钮启动Sysplorer如果直接打开Sysplorer程序,则不支持与Syslab互相调用。12典型飞行器的动力学运动学非线性模型界面介绍六自由度机械手模型路径为:Modelica.Mechanics.MultiBody.Examples.Systems.RobotR3.fullRobot13系统建模仿真环境—MWORKS.Sysplorer界面介绍快速工具访问栏功能区14系统建模仿真环境—MWORKS.Sysplorer界面介绍右侧菜单栏15系统建模仿真环境—MWORKS.Sysplorer界面介绍模型浏览器16系统建模仿真环境—MWORKS.Sysplorer界面介绍组件浏览器17系统建模仿真环境—MWORKS.Sysplorer界面介绍图形建模视图18系统建模仿真环境—MWORKS.Sysplorer界面介绍文本建模视图19系统建模仿真环境—MWORKS.Sysplorer界面介绍组件参数窗口20系统建模仿真环境—MWORKS.Sysplorer界面介绍文档浏览器21系统建模仿真环境—MWORKS.Sysplorer界面介绍二维绘图窗口三维动画窗口仿真浏览器22典型飞行器的动力学运动学非线性模型在Sysplorer环境下建立PID控制模型Sysplorer建模环境的基本操作23典型飞行器的动力学运动学非线性模型在Sysplorer环境下建立PID控制模型Sysplorer建模环境的基本操作Sysplorer模型的创建一般包含以下步骤:(1)加载模型相关的模型库;(2)创建一个模型包(库)用于管理创建的模型;(3)创建具体的模型;(4)设置模型参数;(5)检查模型语法及语义的正确性。24典型飞行器的动力学运动学非线性模型在Sysplorer环境下建立PID控制模型Sysplorer建模环境的基本操作(1)加载模型库:本例将使用Modelica3.2.3模型库搭建模型。25典型飞行器的动力学运动学非线性模型在Sysplorer环境下建立PID控制模型Sysplorer建模环境的基本操作(2)创建模型库管理模型:创建模型库Demo所创建的模型库Demo在用户模型栏26典型飞行器的动力学运动学非线性模型在Sysplorer环境下建立PID控制模型Sysplorer建模环境的基本操作(3)创建具体的模型:加入模型所需组件模型所需组件组件所属模型库kinematicPTPBlocks-SourcesIntegrator,PIDBlocks-ContinuousinertiaMechanics-Rotational-ComponentsspringDampertorqueMechanics-Rotational-SourcesconstantTorquespeedSensorMechanics-Rotational-Sensor27典型飞行器的动力学运动学非线性模型在Sysplorer环境下建立PID控制模型Sysplorer建模环境的基本操作(3)创建具体的模型:按框图将各组件互相连接将kinematicPTP与integrator模块相连时,指定连接器维度为1。这是因为integrator只接受标量输入,而kinematicPTP支持多维向量输出。28典型飞行器的动力学运动学非线性模型在Sysplorer环境下建立PID控制模型Sysplorer建模环境的基本操作(4)设置模型参数组件需要设置的参数参数值kinematicPTPdeltaq{driveAngle}startTime0.5limPIDk100Ti0.1Td0.1yMax12Ni0.1组件需要设置的参数参数值inertiaJ1inertia1J2springDamperc1e4d100constantTorquetau_constant10注意:kinematicPTP组件中转角参数deltaq没有被设定为具体数值,而是一个变量driveAngle,这样可通过改变模型参数来调节组件参数。29典型飞行器的动力学运动学非线性模型在Sysplorer环境下建立PID控制模型Sysplorer建模环境的基本操作(4)设置模型参数:设置变量driveAngle进入文本视图,添加参数声明parameterModelica.SIunits.AngledriveAngle=1.5707963267948966;其中parameter表明变量driveAngle是仿真模型的组件参数。30典型飞行器的动力学运动学非线性模型在Sysplorer环境下建立PID控制模型Sysplorer建模环境的基本操作(5)检查模型语法及语义的正确性单击“检查”按钮,检查模型语法及语义是否正确。当检查输出显示“模型有0个错误和0个警告”,说明所建立的模型没有语法语义错误。31典型飞行器的动力学运动学非线性模型Sysplorer建模环境中的组件与连接除模块对象外,还可以将连接器对象插入模型当中,以使模型之间通过连接器组件传递参数。在Modelica的各种模块库中,提供了Interfaces模块库,其中包含了各种所需的连接器。以控制系统建模为例,在Blocks-Interfaces模块库中提供了实数型(Real)、整型(Integer)、布尔型(Boolean)的标量或向量输入输出连接器。32典型飞行器的动力学运动学非线性模型Sysplorer建模环境中的组件与连接在图形视图中,组件的连接对应相连组件之间的参数传递关系,它是Modelica连接方程connect()的图形表示。图形视图中每个连接对应文本视图中的connect语句,连接的图形信息以注解(annotation)的形式记录在模型文本中。在两个连接器A与B之间创建连接时会自动执行连接检查,若不匹配,连接失败并弹出提示。具体检查规则如下:(1)A与B之间不能有多于1条的连接;(2)A与B不能都为信号源;(3)A与B的类型必须是等价的。33典型飞行器的动力学运动学非线性模型Sysplorer建模环境中的仿真参数设置切换到仿真标签页,然后单击“仿真设置”,可打开仿真设置对话框。

在仿真设置对话框中,用户可以指定仿真的开始/停止时间、仿真输出步长或步数、精度限制、积分步长、积分算法等参数。34典型飞行器的动力学运动学非线性模型Sysplorer建模环境中的仿真参数设置输出步长/步数设置输出步长指仿真结果存储的时间间隔,对应图中“输出区间”-“步长”一栏中数值。当设定输出步长时,Sysplorer将每隔1个输出步长的时间存储或输出一次结果。在联合仿真时,输出步长也称为通信步长。35典型飞行器的动力学运动学非线性模型Sysplorer建模环境中的仿真参数设置积分步长/精度限制设置对于变步长和定步长算法,可以分别限制其精度和最大积分步长。对变步长算法,积分计算由精度限制约束。变步长算法的精度默认设置为0.0001,除非采用默认设置求解失败,否则不建议加大精度设置以降低求解精度。也可以设定其初始积分步长,即算法启动第一步的积分步长。通常情况下,用户不需要显式设置初始积分步长,采用自适应默认值即可。对于定步长算法,积分步长即积分算法每步积分计算所采用的步长。Sysplorer要求积分步长为输出步长的整数分之一。通常情况下可采用默认积分步数设置,即输出步长与积分步长相等。36典型飞行器的动力学运动学非线性模型Sysplorer建模环境中的仿真参数设置积分步长/精度限制设置Sysplorer提供了21种不同的积分算法可供选择,默认的积分算法为Dassl法,是一种常用的变步长算法。此外,还有欧拉法Euler、改进欧拉法ModifiedEuler,以及定步长龙格-库塔法Rkfix2、Rkfix3、Rkfix4、Rkfix6和Rkfix8等定步长算法。37典型飞行器的动力学运动学非线性模型Sysplorer文本建模简介在Sysplorer建模环境下,打开编辑窗口的文本视图可进行Modelica编程,文本视图包含了模型中声明的组件、变量、参数、方程等完整信息。将之前建立的PID_Controller模型切换到文本视图,可以看到模型中定义的组件、模型参数,组件之间通过connect方程相互连接。38典型飞行器的动力学运动学非线性模型Sysplorer文本建模简介下面以VanDerPol方程的仿真模型为例,介绍文本建模的基本方法。VanDerPol方程是为了描述电子电路中三极管的振荡效应提出的一种非线性微分方程,它是动力系统建模中的经典模型之一。VanDerPol方程的形式如下其中,是任意实数参数。把上式写成一阶微分方程组的形式,得到系统数学模型:39典型飞行器的动力学运动学非线性模型Sysplorer文本建模简介在Sysplorer环境中新建一个类型为model的模型,命名为VanDerPol,然后切换到文本视图,编辑模型代码:这是一个空的model类型模型,它以“model模型名”开始,以“end模型名”结束。40典型飞行器的动力学运动学非线性模型Sysplorer文本建模简介接下来,声明方程中变量x,y和参数mu:这里声明了变量x和y,其类型为Real。紧接着变量名后的(start=1)指定了方程中变量初值为1。引号内是变量的注释,可以在模型文档中看到它们。接着声明了类型为Real的模型参数mu,这里取mu的值为0.3(当然也可以取其他值)。注意不能直接使用x=1指定微分方程初值。Realx(start=1)"equationvariable";Realy(start=1)"equationvariable";parameterRealmu=0.3;41典型飞行器的动力学运动学非线性模型Sysplorer文本建模简介如果要使用类似风格的语句指定初值,需要先声明变量,然后方程前加入initialequation程序段赋初值,如下列代码所示:Realx;initialequationx=1;equation//statements42典型飞行器的动力学运动学非线性模型Sysplorer文本建模简介声明变量后,根据系统数学模型,建立微分方程模型:其中,der()表示变量对时间的导数。equationder(x)=y;der(y)=-x+mu*(1-x^2)*y;43典型飞行器的动力学运动学非线性模型Sysplorer文本建模简介建立好的模型如图所示:44典型飞行器的动力学运动学非线性模型Sysplorer文本建模简介设置仿真时间为20秒运行仿真,在仿真界面中单击“曲线”,然后单击“新建y(x)曲线窗口”,接着选择变量x,y,绘制出图4.21所示的仿真结果曲线。

可见,系统由初始状态x=1,y=1开始运动,状态轨迹逐渐趋于一个封闭曲线,即微分方程具有一个稳定极限环。课程目录1、典型飞行器的动力学运动学非线性模型453、Sysplorer飞行器控制系统建模常用模块4、基于Sysplorer的飞行器非线性仿真模型建立2、Sysplorer建模环境的基本使用方法46Sysplorer在飞行器制导控制系统建模环境中的常用模块信号模块库(Sources)噪声模块库(Noise)连续系统模块库(Continous)非线性系统模块库(Nonlinear)数学运算模块库(Math)逻辑运算模块库(Logical)离散系统模块库(Discrete)基础模块库(Blocks)在飞行器制导控制系统设计中,主要使用的是基础模块库(Blocks),其中包含了基本的信号输入输出模块,以及控制系统相关的模块。47Sysplorer在飞行器制导控制系统建模环境中的常用模块信号与噪声模块库模块图标和名称模块功能模块图标和名称模块功能常值信号阶跃信号斜坡信号脉冲信号正弦信号虚拟时钟模块带外插时间序列信号全局随机数种子模块高斯噪声信号均匀噪声信号48Sysplorer在飞行器制导控制系统建模环境中的常用模块连续系统模块库模块图标和名称模块功能模块图标和名称模块功能非理想微分器状态空间方程积分器PID控制器传递函数理想微分环节一阶环节二阶环节49Sysplorer在飞行器制导控制系统建模环境中的常用模块非线性系统模块库模块图标和名称模块功能模块图标和名称模块功能死区特性模块饱和特性模块延迟模块50Sysplorer在飞行器制导控制系统建模环境中的常用模块离散系统模块库模块图标和名称模块功能模块图标和名称模块功能零阶保持器离散传递函数离散状态空间方程采样环节单位延迟环节51Sysplorer在飞行器制导控制系统建模环境中的常用模块逻辑运算模块库模块图标和名称模块功能模块图标和名称模块功能逻辑运算模块滞环特性环节比较运算阈值模块终止仿真模块52Sysplorer在飞行器制导控制系统建模环境中的常用模块数学运算模块库模块图标和名称模块功能模块图标和名称模块功能增益算数运算模块矩阵增益函数运算模块反馈课程目录1、典型飞行器的动力学运动学非线性模型533、Sysplorer飞行器控制系统建模常用模块4、基于Sysplorer的飞行器非线性仿真模型建立2、Sysplorer建模环境的基本使用方法54基于Sysplorer的飞行器非线性仿真模型建立飞行器仿真模型的搭建步骤在飞行器的初步设计阶段,六自由度飞行仿真可用于研究气动特性、发动机特性、飞行控制律和导引律对飞行动力学的影响。飞行仿真的核心内容包括:(1)六自由度飞行动力学和运动学方程;(2)气动系数及其数据库;(3)飞行环境;(4)飞机质量特性;(5)发动机动力学特性;(6)飞行控制律;(7)传感器特性;(8)作动器特性。55基于Sysplorer的飞行器非线性仿真模型建立飞行器仿真模型的搭建步骤飞行器气动系数在飞行力学中,通常将作用在飞行器上的空气动力R沿速度坐标系的各个轴分解为三个分量:阻力D、升力L和侧向力Z。升力L和侧向力Z分别以沿着速度坐标系的和轴方向为正方向

阻力D则沿着轴的反向为正方向,这是因为阻力方向总是与飞行器速度方向相反而故意这样约定的。O铅垂平面56基于Sysplorer的飞行器非线性仿真模型建立飞行器仿真模型的搭建步骤飞行器气动系数空气动力的大小与来流的动压和飞行器的特征面积成正比,即其中,,,为无量纲系数,分别称为阻力系数、升力系数和侧向力系数,它们组成了飞行器的气动力系数。来流动压定义为其中为大气密度,为飞行器的飞行速度。57基于Sysplorer的飞行器非线性仿真模型建立飞行器仿真模型的搭建步骤飞行器气动系数对于指定的飞行器,其气动布局和外形尺寸都已给定,此时飞行器的升力系数主要取决于飞行马赫数、攻角和升降舵的舵面偏转角(简称舵偏角),即侧向力与升力类似,侧向力系数的值主要取决于飞行马赫数、侧滑角和方向舵偏角,即对于气动轴对称的导弹,其侧向和纵向的气动布局完全相同,于是对于气动轴对称的导弹,在马赫数相同时有如下的性质58基于Sysplorer的飞行器非线性仿真模型建立飞行器仿真模型的搭建步骤飞行器气动系数在导弹气动布局和外形尺寸给定的条件下,阻力系数主要取决于马赫数、攻角和侧滑角,即对于气动轴对称导弹,可以定义总攻角由对称性可知,对气动轴对称导弹,只需知道飞行器的总攻角就可以确定阻力系数,即:59基于Sysplorer的飞行器非线性仿真模型建立飞行器仿真模型的搭建步骤飞行器气动系数为了便于分析飞行器的旋转运动,一般把气动力矩沿弹体坐标系进行分解,分别称为滚转力矩、偏航力矩和俯仰力矩,它们均以沿相应的、和轴方向为正方向。气动力矩的大小与动压、特征面积和特征长度有关:其中,,为无量纲系数,分别称为滚转力矩系数、偏航力矩系数和俯仰力矩系数;

为飞行器特征长度60基于Sysplorer的飞行器非线性仿真模型建立飞行器仿真模型的搭建步骤飞行器气动系数在计算飞行器的气动力矩时,有一点必须注意,那就是必须明确气动力的作用点。空气动力的作用线与导弹纵轴的交点称为全弹的压力中心(简称为压心),在攻角不大的情况下,常把全弹升力作用线与纵轴的焦点作为全弹的压力中心。压心的位置常用压心距导弹头部距离来表示。当压心位置与重心位置发生相对变化时,空气动力自身的大小不受影响,但其所产生的空气动力矩就会发生变化。61基于Sysplorer的飞行器非线性仿真模型建立飞行器仿真模型的搭建步骤飞行器气动系数飞行器的俯仰力矩系数主要与飞行马赫数、攻角、升降舵偏角以及飞行器绕机体轴的旋转角速度有关,即:当、和不太大时,可基于小扰动线性化将俯仰力矩系数分为三个部分:其中,,,是关于攻角和马赫数的函数。这三个部分分别称为纵向静稳定力矩系数、俯仰阻尼力矩系数和俯仰操纵力矩系数。是无量纲角速度62基于Sysplorer的飞行器非线性仿真模型建立飞行器仿真模型的搭建步骤飞行器气动系数对轴对称导弹来说,偏航力矩系数特性与俯仰力矩类似:其中,,是关于侧滑角和马赫数的函数;是无量纲角速度。当飞行器绕着轴旋转时,飞行器与来流之间产生附加速度,使得机翼两侧升力不同,从而形成滚转阻尼力矩。同时,飞行器利用副翼或升降舵和方向舵的差动产生滚转控制力矩,这两部分力矩构成了飞行器的滚转力矩,即其中为滚转阻尼力矩系数,为滚转控制力矩系数,为无量纲角速度,为副翼或差动舵偏角。63基于Sysplorer的飞行器非线性仿真模型建立飞行器仿真模型的搭建步骤飞行器气动系数飞行器气动系数难以通过理论推导得出,因此在飞行仿真中,常用的方法是通过计算流体力学方法或风洞实验事先得到不同飞行状态下的气动系数,建立气动系数数据库。当仿真中需要计算气动力或力矩时,就根据当前仿真中的飞行状态,通过对气动系数数据库进行插值来近似地求得飞行器所受的气动力或力矩。64基于Sysplorer的飞行器非线性仿真模型建立飞行器仿真模型的搭建步骤飞行环境飞行环境因素以力或力矩的形式作用在飞行器上,对飞行器的飞行状态产生影响。飞行环境对飞行器的影响主要包括大气压强、密度、声速、重力加速度随飞行高度的变化,以及阵风的影响等。大气压强主要影响飞行器发动机的推力特性,从而影响发动机的推力大小。大气密度通过影响动压大小影响气动力和力矩大小。声速大小通过影响飞行器的马赫数而影响气动系数大小。重力加速度大小影响飞行器的重力大小。阵风主要影响飞行器的来流方向。65基于Sysplorer的飞行器非线性仿真模型建立飞行器仿真模型的搭建步骤发动机工作特性飞行器通过发动机消耗燃料获得推力。对导弹而言,通常使用的是固体火箭发动机或喷气式发动机,不同类型的发动机具有各自不同的推力特性。同时,飞行器的质量随着燃料的消耗而不断降低,飞行器的重心一般也会发生变化。当飞行器的飞行高度范围不大时,可近似认为固体火箭发动机的推力和燃料消耗特性只是时间的函数:其中为发动机推力大小,为发动机质量流量。相应地,飞行器质量变化规律为66基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型本节将以某型轴对称布局导弹为例,在MWORKS环境中搭建飞行器非线性动力学仿真模型。为了使仿真模型组成清晰,将仿真模型分成不同的子模块库分别管理:模块库功能Aerodynamics气动力和力矩计算Equations_of_Motion飞行器运动方程Environment飞行环境Body_Parameters飞行器时变参数Vehicle_Constant_Parameters飞行器常值参数Demos飞行仿真模型67基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型飞行器运动方程输入输出接口设置1)输入变量g:重力加速度大小;P:推力大小;R:气动力;M:飞行器所受力矩;J:飞行器对机体轴(惯量主轴)的转动惯量dm:发动机质量流量。68基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型飞行器运动方程输入输出接口设置2)输出变量x_y_z:飞行器在地面坐标系下的质心位置alpha_beta_gammav:飞行器的攻角、侧滑角和速度滚转角Omega:飞行器绕机体轴的转动角速度v_theta_psiv:飞行器的速度、弹道倾角和弹道偏角

vtheta_psi_gamma:飞行器的俯仰、偏航和滚转角69基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型飞行器运动方程输入输出接口设置气动力大小R等一部分接口变量被声明为数组而非标量。在Modelica语言中,数组的声明方式与C语言类似,例如R[3]就声明了一个包含3个元素的数组。但与C语言不同的是,Modelica的数组索引从1开始,因此R[1]、R[2]和R[3]就分别对应阻力D、升力L和侧向力Z。70基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型飞行器运动方程设定仿真初值:在Sysplorer软件中,被赋予初值的变量之间必须是相互独立的,否则会因初值之间互相冲突而无法通过翻译。

由理论力学知识可知,刚体的六自由度运动方程包含12个独立变量,这里选择飞行器的位置、速度大小、弹道倾角、弹道偏角、姿态角和转动角速度共12个变量确定运动方程的初值。此外,还需要建立飞行器质量变化方程,需要再声明飞行器质量变量,并赋初值。模型中需要声明的参数和变量如下:parameterRealinitial_position[3]={0,0,0}"质心在大地坐标系下的初始位置";

parameterRealinitial_velocity[3]={20,0.5,0}"初始速度大小、弹道倾角和弹道偏角";

parameterRealinitial_attitude[3]={0.5,0,0}"初始姿态角";

parameterRealinitial_angularRate[3]={0,0,0}"初始转动角速度";

parameterRealm0=50"初始质量";

Realm"飞行器质量";71基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型飞行器运动方程设定仿真初值:通过声明的模型参数给飞行器运动方程和质量变化方程赋初值:initialequationx_y_z=initial_position;v_theta_psiv=initial_velocity;vtheta_psi_gamma=initial_attitude;Omega=initial_angularRate;m=m0;72基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型飞行器运动方程编写模型方程:

//机体质量变化方程部分

der(m)=-dm;//动力学方程部分

//1.质心动力学

m*der(v_theta_psiv[1])=P*cos(alpha_beta_gammav[1])*cos(alpha_beta_gammav[2])-R[1]-m*g*sin(v_theta_psiv[2]);m*v_theta_psiv[1]*der(v_theta_psiv[2])=P*(sin(alpha_beta_gammav[1])*cos(alpha_beta_gammav[3])+cos(alpha_beta_gammav[1])*sin(alpha_beta_gammav[2])*sin(alpha_beta_gammav[3]))+R[2]*cos(alpha_beta_gammav[3])-R[3]*sin(alpha_beta_gammav[3])-m*g*cos(v_theta_psiv[2]);-m*v_theta_psiv[1]*cos(v_theta_psiv[2])*der(v_theta_psiv[3])=P*(sin(alpha_beta_gammav[1])*sin(alpha_beta_gammav[3])-cos(alpha_beta_gammav[1])*sin(alpha_beta_gammav[2])*cos(alpha_beta_gammav[3]))+R[2]*sin(alpha_beta_gammav[3])+R[3]*cos(alpha_beta_gammav[3]);73基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型飞行器运动方程编写模型方程:

//2.绕质心的动力学

J[1]*der(Omega[1])=M[1]-(J[3]-J[2])*Omega[2]*Omega[3];J[2]*der(Omega[2])=M[2]-(J[1]-J[3])*Omega[1]*Omega[3];J[3]*der(Omega[3])=M[3]-(J[2]-J[1])*Omega[1]*Omega[2];//3.质心运动学

der(x_y_z[1])=v_theta_psiv[1]*cos(v_theta_psiv[2])*cos(v_theta_psiv[3]);der(x_y_z[2])=v_theta_psiv[1]*sin(v_theta_psiv[2]);der(x_y_z[3])=-v_theta_psiv[1]*cos(v_theta_psiv[2])*sin(v_theta_psiv[3]);//4.绕质心的运动学

der(vtheta_psi_gamma[1])=Omega[1]*sin(vtheta_psi_gamma[3])+Omega[3]*cos(vtheta_psi_gamma[3]);der(vtheta_psi_gamma[2])*cos(vtheta_psi_gamma[1])=Omega[2]*cos(vtheta_psi_gamma[3])-Omega[3]*sin(vtheta_psi_gamma[3]);der(vtheta_psi_gamma[3])=Omega[1]-tan(vtheta_psi_gamma[1])*(Omega[2]*cos(vtheta_psi_gamma[3])-Omega[3]*sin(vtheta_psi_gamma[3]));74基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型飞行器运动方程编写模型方程:

//5.几何关系

sin(alpha_beta_gammav[1])*cos(alpha_beta_gammav[2])=cos(v_theta_psiv[2])*(sin(vtheta_psi_gamma[1])*cos(vtheta_psi_gamma[3])*cos(vtheta_psi_gamma[2]-v_theta_psiv[3])-sin(vtheta_psi_gamma[3])*sin(vtheta_psi_gamma[2]-v_theta_psiv[3]))-sin(v_theta_psiv[2])*cos(vtheta_psi_gamma[1])*cos(vtheta_psi_gamma[3]);sin(alpha_beta_gammav[2])=cos(v_theta_psiv[2])*(cos(vtheta_psi_gamma[3])*sin(vtheta_psi_gamma[2]-v_theta_psiv[3])+sin(vtheta_psi_gamma[1]*sin(vtheta_psi_gamma[3])*cos(vtheta_psi_gamma[2]-v_theta_psiv[3])))-sin(v_theta_psiv[2])*cos(vtheta_psi_gamma[1])*sin(vtheta_psi_gamma[3]);sin(alpha_beta_gammav[3])*cos(v_theta_psiv[2])=(cos(alpha_beta_gammav[1])*sin(alpha_beta_gammav[2])*sin(vtheta_psi_gamma[1])-sin(alpha_beta_gammav[1])*sin(alpha_beta_gammav[2])*cos(vtheta_psi_gamma[3])*cos(vtheta_psi_gamma[1])+cos(alpha_beta_gammav[2])*sin(vtheta_psi_gamma[3])*cos(vtheta_psi_gamma[3]));75基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算气动力和力矩的计算可按层级分为气动系数计算、气动力和力矩分量计算以及气动力合力、合力矩计算三个部分。模块库层级如下:AerodynamicsCoefficientsComponents气动力合力计算气动系数计算模块气动力、力矩分量计算模块气动合力计算模块Lift_Coefficient气动合力矩计算模块Lift_Coefficient76基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算Coefficients气动力、力矩系数计算模块升力系数计算模块Lift_Coefficient阻力系数计算模块Drag_Coefficient侧向力系数计算模块SideForce_Coefficient俯仰稳定力矩系数计算模块Stab_Torque_Coeff_Y偏航稳定力矩系数计算模块Stab_Torque_Coeff_Z俯仰阻尼力矩导数计算模块Friction_Torque_Deriv_Y偏航阻尼力矩导数计算模块Friction_Torque_Deriv_Z由于所建立的是无控弹道仿真模型,气动力和力矩计算均不涉及舵面的偏转。轴对称导弹通常使用侧滑转弯方式进行机动,滚转运动不参与导弹的机动,因此气动力矩计算中省略了滚转气动力矩。77基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算输入输出接口含义如下:alpha:攻角(单位为rad);Ma:马赫数;cl:升力系数。

升力系数计算模块说明:查找表中只有攻角为0和正攻角时的数据,负攻角时的升力特性则可由导弹的气动对称性得出:由于查找表中攻角单位为角度制,To_deg模块将攻角从默认的弧度制转换为角度制。78基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算升力系数计算模块通过建立升力系数插值表LiftCoeff(对应模块名称为CombiTable2D)对输入的攻角和马赫数进行插值得到升力系数。在插值表的组件参数table中,单击参数栏,再单击打开数组编辑器编辑查找表数据。升力系数查找表中,第一列为攻角(单位为角度),第一行为马赫数。此时插值表的输出为79基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算侧向力系数的计算与升力系数计算基本一致,只是攻角输入变为了侧滑角。侧向力系数的插值表与升力系数数值大小相同,但符号相反。80基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算

阻力系数计算模块利用飞行器总攻角计算飞行器阻力系数。模块中,Pythagoras模块的输出为用于计算飞行器总攻角。输入输出接口含义如下:alpha_beta:攻角和侧滑角(单位为rad)Ma:马赫数;cd:阻力系数。81基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算阻力系数插值表马赫数攻角(°)00.10.20.30.40.50.60.70.80.900.41770.38580.37790.37850.37870.38290.38550.40820.494720.44040.40860.40070.40150.40180.40620.40910.43210.519240.52190.49030.48270.48380.48460.48970.49340.51750.607360.66030.6290.62180.62340.62490.6310.63630.66210.757180.85340.82260.8160.81840.82090.82840.83580.86410.9672101.10231.07231.06661.071.07381.08351.09381.12541.239282基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算俯仰静稳定力矩系数计算模块根据飞行状态插值得到初始质心位置下的静稳定力矩系数根据质心位置变化对静稳定力矩系数进行修正。输入输出接口含义如下:alpha:攻角(单位为rad)Ma:马赫数;Xg:飞行器质心位置(质心与头部距离);Xg0:飞行器初始质心位置;m_z_a:俯仰静稳定力矩系数83基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算俯仰静稳定力矩系数的修正随着导弹发动机燃料的消耗,导弹质心将会逐渐前移,此时升力将在机体轴上产生附加力矩其中为初始质心位置,为当前质心位置。将升力和附加力矩按照气动力和力矩的计算式展开得到可得等效的附加力矩系数修正后的俯仰静稳定力矩系数为84基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算马赫数攻角(°)00.10.20.30.40.50.60.70.80.900000000002-0.0104-0.0104-0.0104-0.0105-0.0104-0.0093-0.008-0.0065-0.00534-0.0341-0.0341-0.0341-0.0342-0.0339-0.0314-0.0286-0.0252-0.02296-0.0564-0.0564-0.0564-0.0564-0.056-0.0521-0.0477-0.0425-0.03918-0.0771-0.077-0.0769-0.0768-0.0761-0.0708-0.065-0.0578-0.053810-0.0985-0.0983-0.0982-0.0979-0.0969-0.0903-0.0829-0.0739-0.0693俯仰静稳定力矩系数插值表85基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算

偏航静稳定力矩系数计算模块与俯仰静稳定力矩系数计算模块结构相似,俯仰计算模块中的攻角替换为侧滑角,升力系数模块替换为侧向力系数模块。偏航静稳定力矩系数计算中,插值得到的力矩系数需要与修正力矩系数相减,而不是相加。86基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算俯仰阻尼力矩系数计算模块在已知导弹重心处于初始位置和最终位置时的力矩系数的情况下,通过线性插值得到导弹重心处于不同位置时的俯仰阻尼力矩系数。输入输出接口含义如下:alpha:攻角(单位为rad)Ma:马赫数;Xg:飞行器质心位置(质心与头部距离);Xg0:飞行器初始质心位置;m_z_wz:俯仰阻尼力矩导数87基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算线性插值公式为其中为当前导弹重心位置对应的俯仰阻尼力矩系数,当前导弹重心位置;和11111分别为导弹重心处于初始和最终位置时的俯仰阻尼力矩系数,和分别为导弹初始和最终重心位置。对于气动轴对称导弹而言,正攻角和负攻角对应的俯仰阻尼力矩系数相同,因此直接对攻角输入取绝对值。88基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算马赫数攻角(°)00.10.20.30.40.50.60.70.80.90-0.4686-0.4707-0.4744-0.4797-0.4882-0.5089-0.5366-0.5738-0.62722-0.4829-0.485-0.4886-0.4939-0.5022-0.5227-0.5502-0.5871-0.64074-0.4982-0.5003-0.5039-0.509-0.5173-0.5376-0.5649-0.6014-0.65536-0.513-0.515-0.5186-0.5237-0.5318-0.552-0.579-0.6153-0.66948-0.5272-0.5292-0.5327-0.5378-0.5458-0.5658-0.5927-0.6287-0.68310-0.5409-0.5429-0.5464-0.5514-0.5593-0.5791-0.6058-0.6415-0.696处的俯仰阻尼力矩导数插值表89基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算马赫数攻角(°)00.10.20.30.40.50.60.70.80.90-0.6179-0.6207-0.6253-0.6319-0.6424-0.6669-0.6997-0.7435-0.80692-0.6384-0.641-0.6455-0.6521-0.6624-0.6866-0.719-0.7624-0.82664-0.66-0.6626-0.667-0.6734-0.6835-0.7074-0.7395-0.7824-0.84746-0.6805-0.683-0.6874-0.6937-0.7036-0.7272-0.7589-0.8014-0.86728-0.6999-0.7024-0.7067-0.7129-0.7226-0.7459-0.7774-0.8194-0.885910-0.7182-0.7207-0.7249-0.731-0.7406-0.7636-0.7948-0.8365-0.9035处的俯仰阻尼力矩导数插值表90基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算偏航阻尼力矩系数计算模块仅输入由攻角变成了侧滑角,其余部分都是相同的。由于导弹的气动对称性,插值表中的数据也是相同的。输入输出接口含义如下:beta:侧滑角(单位为rad)Ma:马赫数;Xg:飞行器质心位置(质心与头部距离);Xg0:飞行器初始质心位置;m_y_wy:偏航阻尼力矩导数91基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算升力计算模块Lift阻力计算模块Drag侧向力计算模块SideForce静稳定力矩系数计算模块Stab_Torque阻尼力矩系数计算模块Friction_Torque_CoeffComponents气动力、力矩分量计算模块92基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算升力计算模块输入输出接口含义如下:alpha:攻角(单位为rad)Ma:马赫数;Xg:飞行器质心位置(质心与头部距离);Xg0:飞行器初始质心位置;m_y_wy:偏航阻尼力矩导数93基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算增益模块gain的组件参数k设置为变量S_ref。这一变量的含义是飞行器的特征面积,保存在飞行器常值参数模块库Vehicle_Constant_Parameters中。

它可以通过import语句导入当前模型:importS_ref=Flight_Simulation.Vehicle_Constant_Parameters.S_ref;也可以将它赋值给模型内部的变量:

constantRealS_ref=Flight_Simulation.Vehicle_Constant_Parameters.S_ref;此时就可以在模型内使用变量S_ref了。94基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算阻力和侧向力计算模块组成结构与升力计算模块结构基本相同。输入输出接口含义如下:alpha_beta:攻角、侧滑角(单位为rad);beta:侧滑角;Ma:马赫数;Dynamic_Pressure:动压(单位为Pa)95基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算输入输出接口含义如下:alpha_beta:攻角、侧滑角(单位为rad);Xg:飞行器质心位置(质心与头部距离);Xg0:飞行器初始质心位置;Ma:马赫数;Dynamic_Pressure:动压(单位为Pa)。M_stab:静稳定力矩静稳定力矩计算模块其中,由于不考虑弹体的滚转运动,。96基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算输入输出接口含义如下:alpha_beta:攻角、侧滑角(单位为rad);Xg:飞行器质心位置(质心与头部距离);Xg0:飞行器初始质心位置;Ma:马赫数;Dynamic_Pressure:动压(单位为Pa)。Omega_bar:归一化角速度M_Fric:阻尼力矩阻尼力矩计算模块97基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算模块M_z和M_y为多项乘积模块MultiProduct,位于Blocks/Math模块库。模块参数nu设置为4。多项乘积模块的输入为Omega_bar,Dynamic_Pressure,相应力矩导数计算模块的输出,以及常值模块const。连接时的维度分别设置为1,2,3,4。98基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算静稳定力矩计算模块AerodynamicsCoefficientsComponents气动力合力计算气动系数计算模块气动力、力矩分量计算模块气动合力计算模块AeroForces气动合力、合力矩计算模块Body_Aerodynamics99基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算气动合力计算模块将升力、阻力、侧向力整合为气动力输出。输入输出接口含义如下:alpha_beta:攻角、侧滑角(单位为rad);Ma:马赫数;Dynamic_Pressure:动压(单位为Pa)。R:气动力100基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算气动合力、合力矩计算模块输入输出接口含义如下:alpha_beta:攻角、侧滑角(单位为rad);Xg:飞行器质心位置(质心与头部距离);Xg0:飞行器初始质心位置;Ma:马赫数;Dynamic_Pressure:动压(单位为Pa)。Omega_bar:归一化角速度R:气动力M:气动力矩101基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型气动力和力矩计算气动合力、合力矩计算模块中,由于没有将多维变量相加的模块,需要自行建立。这里建立Add_Torque模块将阻尼力矩和静稳定力矩相加。(1)将两个输入模块命名为M1,M2,输出模块命名为M_Sum,均为3维数组。(2)切换到文本视图,编写方程语句equationM_Sum=M1+M2;即完成模块Add_Torques的创建。102基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型飞行环境Environment飞行环境大气密度计算模块Air_Density马赫数计算模块Mach_Number动压计算模块Dynamic_Pressure重力加速度计算模块Gravity_Acc无量纲角速度计算模块NonDimensional_AngularRate103基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型飞行环境大气密度计算模块输入输出接口含义如下:x_y_z:地面坐标系下的坐标(单位为m)rho:大气密度(单位为kg/m3)大气密度由以下经验公式给出RealH=x_y_z[2];equationrho=1.225*((288.15-0.0065*H)/288.15)^4.256;在文本视图中编写代码如下:104基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型飞行环境马赫数计算模块根据当前高度声速计算飞行马赫数。插值表SonicSpeed为不同高度声速的插值表,输入与x_y_z[2]相连接。输入输出接口含义如下:x_y_z:地面坐标系下的坐标(单位为m)V:飞行器速度(单位为m/s)Ma:马赫数105基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型飞行环境高度(m)声速(m/s)-1000344.111-500342.2080340.294500338.371000336.4351500334.4892000332.5322500330.5633000328.5843500326.5924000324.589声速插值表106基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型飞行环境动压计算模块输入输出接口含义如下:x_y_z:地面坐标系下的坐标(单位为m)rho:大气密度(单位为kg/m3)Q:动压(单位为Pa)重力加速度计算模块输入输出接口含义如下:x_y_z:地面坐标系下的坐标(单位为m)g:重力加速度(单位为m/s2)由于飞行器飞行高度低,可忽略重力加速度变化。107基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型飞行环境无量纲角速度计算模块输入输出接口设置:Omega:角速度(单位为rad/s)V:飞行速度(单位为m/s)Omega_bar:无量纲角速度无量纲角速度计算式为:飞行器参考长度;:飞行速度;:角速度108基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型飞行环境计算无量纲角速度:importL_ref=Flight_Simulation.Vehicle_Constant_Parameters.L_ref;切换到文本视图,导入飞行器常值参数L_ref:equationOmega_bar=Omega*L_ref/V;109基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型飞行环境将以上各模块组合成飞行环境模块:110基于Sysplorer的飞行器非线性仿真模型建立飞行器非线性动力学仿真模型飞行器时变参数Body_Parameters飞行器时变参数发

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论