内容简介
全书共分8章。第1章FlightSim软件概述,介绍了FlightSim软件的基本原理、特点及功能,并与其他常用软件进行了比较。第2章FlightSim软件入门与基本概念,介绍了FlightSim软件的运行规则、运算次序、坐标系定义、地球模型、姿态方式、使用单位、默认变量等内容。第3章程序设计基础,主要讲述FlightSim软件函数使用方法,包括数学运算、向量运算、矩阵操作等;介绍了绘图功能、读写功能等函数的具体使用方法。第4章软件接口与扩展,介绍了软件对外的接口和扩展功能,主要针对C/C 和MATLAB两种软件,以实例的形式详细讲述了自定义接口函数的使用方法和步骤。第5章气动建模,针对软件专门开发的气动建模工具,详细介绍了气动建模工具的计算原理及内部变量名称;针对二维、多维、混合等不同格式气动数据,讲述了气动建模的具体过程;介绍了气动建模中经常使用的小功能,包括气动数据扩展、限幅、合成等;对气动数据分析相关工具进行了详细描述,包括气动配平、偏导数分析、升阻比计算等。第6章弹道计算,详细讲述了弹道计算工具中各个模块的使用方法和步骤;介绍了飞行环境设置方法,包括初始条件设置、大气模型设置、地球模型设置、输出变量设置等;讲解了弹道计算过程中需要使用的不同学科的创建方法,包括推力、控制、气动、质量、目标、时间、风场等学科;描述了弹道设计结果输出方法、自动生成报告的步骤和不同弹道版本管理的方法;重点介绍了弹道计算过程中的小技巧,包括消除代数环、“复制”弹道模型、批量弹道计算、弹道调试等。第7章弹道优化与设计,着重介绍了软件的弹道分析、蒙特卡洛仿真、优化等设计功能。第8章二维地图,具体介绍了二维地图工具的手动和自动绘图功能;重点介绍了二维地图工具与弹道计算工具结合使用进行绘图的详细步骤。
作者简介
李佳峰,河南洛阳人,高级工程师,飞行器设计专业博士后,毕业于北京航空航天大学。曾就职于中国运载火箭技术研究院北京宇航系统工程研究所,具备多年飞行器总体设计工作经验。主要研究方向为导弹总体设计与仿真、导弹飞行动力学与制导控制、多弹协同制导与仿真、攻防对抗仿真等。常年专注于飞行器设计相关学科一体化设计仿真软件FlightSim的开发与推广,提出了满足各类飞行器仿真需求的矩阵式弹道可视化建模方法,拥有多项软件著作权和国家发明专利。
前言
在飞行器设计过程中,弹道专业是联系总体、气动、制导、控制、载荷等多个学科的桥梁和纽带,飞行器的射程、精度、机动能力、突防能力等关键指标都需要弹道专业的参与。一方面,弹道设计是飞行器设计过程中不可或缺的专业,另一方面,弹道仿真参与飞行器设计的多个方面,控制、制导、突防等子系统的设计都离不开弹道仿真。航天动力学软件是航天动力学理论与工程实践联通的桥梁,可以显著提高航天任务分析设计效率和水平。在弹道设计与仿真工具方面,国外已经形成了一批成熟的航天动力学软件,如侧重于任务仿真分析的STK、FreeFlyer等软件,以及侧重于航天器轨迹优化的POST、ASTOS等软件。这些软件成熟度和可靠性高,广泛应用于多个航天任务中。时至今日,航天动力学软件已经成为航天任务分析与设计中不可缺少的关键工具。但这些软件大部分是解决航天器轨道方面的设计、仿真和优化问题,主要涉及的是大气层外航天动力学问题,且这些软件多对我国限制或禁运。近年来,国内在航天动力学理论研究与工程应用方面均有长足发展,但成熟的航天动力学软件特别是针对弹道计算与仿真方面的软件几乎还是空白,当前我国高等院校及军工研究所的相关研究人员仍主要采用MATLAB/Simulink、C/C 、Fortran等编程语言编制程序进行弹道设计与仿真。让国内的设计人员用上成熟、可靠且不受制于人的航天动力学软件,是我们开发FlightSim软件和撰写本书的出发点。FlightSim软件由北京航空航天大学宇航学院陈万春教授团队成员李佳峰博士于2004年读研阶段着手开发,在各方面相关人士的帮助与支持下,经过十多年的研制、推广与应用,该软件目前已升级成面向飞行器设计与仿真的开放性设计环境,可以用于解决飞行器通用弹道设计与仿真、控制系统设计与验证、总体方案快速协同设计、多弹协同弹道规划与仿真等一系列问题。FlightSim软件中的弹道计算工具提供了一套弹道模型的可视化设计方法,其操作简单,易于上手,设计人员通过简单的选取和输入即可完成弹道模型搭建,并且可以将公知的和一些重复使用的模型单元统一封装,并预留通用的输入输出接口,进而实现“搭积木”式弹道建模,大大提高了弹道模型的设计效率。全书共分8章。第1章FlightSim软件概述,介绍了FlightSim软件的基本原理、特点及功能,并与其他常用软件进行了比较。第2章FlightSim软件入门与基本概念,介绍了FlightSim软件的运行规则、运算次序、坐标系定义、地球模型、姿态方式、使用单位、默认变量等内容。第3章程序设计基础,主要讲述FlightSim软件函数使用方法,包括数学运算、向量运算、矩阵操作等;介绍了绘图功能、读写功能等函数的具体使用方法。第4章软件接口与扩展,介绍了软件对外的接口和扩展功能,主要针对C/C 和MATLAB两种软件,以实例的形式详细讲述了自定义接口函数的使用方法和步骤。第5章气动建模,针对软件专门开发的气动建模工具,详细介绍了气动建模工具的计算原理及内部变量名称;针对二维、多维、混合等不同格式气动数据,讲述了气动建模的具体过程;介绍了气动建模中经常使用的小功能,包括气动数据扩展、限幅、合成等;对气动数据分析相关工具进行了详细描述,包括气动配平、偏导数分析、升阻比计算等。第6章弹道计算,详细讲述了弹道计算工具中各个模块的使用方法和步骤;介绍了飞行环境设置方法,包括初始条件设置、大气模型设置、地球模型设置、输出变量设置等;讲解了弹道计算过程中需要使用的不同学科的创建方法,包括推力、控制、气动、质量、目标、时间、风场等学科;描述了弹道设计结果输出方法、自动生成报告的步骤和不同弹道版本管理的方法;重点介绍了弹道计算过程中的小技巧,包括消除代数环、“复制”弹道模型、批量弹道计算、弹道调试等。第7章弹道优化与设计,着重介绍了软件的弹道分析、蒙特卡洛仿真、优化等设计功能。第8章二维地图,具体介绍了二维地图工具的手动和自动绘图功能;重点介绍了二维地图工具与弹道计算工具结合使用进行绘图的详细步骤。为了使读者更好地理解和掌握文中介绍的技巧,并便于对软件的灵活运用,在很多技巧之后附有提示。本书在撰写过程中得到了许多专家及同行的热情鼓励和帮助,也得到了多家军队科研院所、航天科研院所和民营航天企业的鼎力支持,在此一并表示衷心感谢。本书涉及知识面很广,囊括了飞行器设计领域的飞行力学、弹道计算、弹道优化、气动建模、二维地图等多个专业,而作者水平有限,书中的缺点和错误在所难免,敬请广大读者指正。作者2020年5月10日
目录
第1章FlightSim软件概述1技巧1FlightSim通用弹道仿真软件的特点1技巧2FlightSim软件能够为用户提供什么功能3技巧3FlightSim软件与同类软件的比较4技巧4FlightSim软件与MATLAB和C语言软件的异同点5技巧5FlightSim软件弹道计算基本原理6技巧6在什么地方能够获得关于FlightSim软件更多的帮助和算例8第2章FlightSim软件入门与基本概念9技巧7使用FlightSim软件进行弹道计算需要准备的专业知识9技巧8FlightSim软件运行规则9技巧9弹道模型不同学科的运算次序11技巧10FlightSim软件中定义的坐标系13技巧11FlightSim软件中如何设置坐标系14技巧12FlightSim软件中如何进行坐标变换16技巧13FlightSim软件中的地球模型18技巧14设定不同的姿态方式18技巧15FlightSim软件中使用的单位18技巧16FlightSim软件中关于经度和纬度的定义22技巧17弹道计算工具中默认变量有哪些23第3章程序设计基础26技巧18如何进行代码编辑26技巧19运行用户代码27技巧20如何调试代码28技巧21简单的数学运算29技巧22向量运算30技巧23矩阵操作31技巧24绘制简单曲线34技巧25绘制多条曲线35技巧26从文件读入信息37技巧27将内容保存到文件中39技巧28在解决方案中自定义函数40技巧29查看所有函数的说明40技巧30代码编辑过程中激活函数名提示编辑框42技巧31如何调用工具提供的特定函数42技巧32编辑函数过程中激活提示信息45第4章软件接口与扩展47技巧33如何封装自定义dll函数48技巧34如何调用自定义dll函数51技巧35如何调试自定义dll函数53技巧36与MATLAB软件的接口函数有哪些55技巧37如何实现三维等复杂曲线作图功能56技巧38如何在FlightSim软件中使用MATLAB软件中的参数62技巧39外部程序如何调用FlightSim软件63第5章气动建模67技巧40气动建模工具支持的气动系数名称67技巧41气动建模工具基本计算原理68技巧42如何对二维气动数据建模70技巧43如何对多维气动数据建模77技巧44如何处理多个插值变量循环格式的气动插值表79技巧45如何对混合格式气动数据建模81技巧46如何处理非方块格式气动数据建模83技巧47如何处理总攻角和方位角格式的气动数据86技巧48如何处理包含总攻角但不包含方位角格式的气动数据90技巧49如何对气动数据进行静态扩展93技巧50如何对气动数据进行动态扩展98技巧51如何对气动数据插值变量进行限幅103技巧52如何处理多个通道气动数据合成问题104技巧53如何处理不同马赫数下气动数据格式不同的情况112技巧54如何设置不同飞行段使用不同气动模型114技巧55如何处理轴向力系数修正问题116技巧56如何查看原始气动数据及其变化规律曲线119技巧57如何测试已经建好气动模型的正确性121技巧58如何将多维气动数据进行降维处理123技巧59如何在不改变原始气动数据情况下使输出气动系数反号124技巧60如何设置气动数据偏差125技巧61如何处理含有动导数的气动模型128技巧62如何生成配平的气动数据131技巧63如何分析气动偏导数137技巧64如何分析气动数据的升阻比140第6章弹道计算142技巧65如何创建弹道计算模型142技巧66如何设置飞行器初始条件143技巧67如何选用用户自定义的大气模型145技巧68如何选用不同的地球模型147技巧69弹道计算需要用到的参数应该写在哪里149技巧70如何设置弹道计算过程中的输出变量151技巧71如何控制弹道计算的过程152技巧72如何在弹道计算过程中添加事件153技巧73如何设置积分算法和计算步长156技巧74如何创建推力模型157技巧75如何构建控制模型159技巧76如何引入气动模型160技巧77如何创建质量模型163技巧78如何设置目标模型164技巧79如何考虑风对飞行弹道的影响166技巧80如何构建带有积分环节的学科模型168技巧81弹道设计结果如何保存172技巧82如何将弹道设计结果自动生成报告176技巧83如何进行多轮弹道方案的版本管理179技巧84如何生成弹道对比报告181技巧85如何设置具有惯量积的六自由度模型182技巧86如何查看弹道仿真结果曲线184技巧87如何创建弹道计算模型模板186技巧88如何消除弹道计算模型中的代数环188技巧89如何利用用户扩展函数进行建模191技巧90如何使用弹道计算过程中的参数193技巧91如何在弹道计算前、中、后进行必要的操作195技巧92如何进行偏差弹道计算196技巧93如何集中管理弹道变量198技巧94如何快速“复制”一个相同的弹道计算工具200技巧95如何处理抛整流罩(头罩)等问题201技巧96如何定义弹道相对时序和时序202技巧97如何在程序设计中将时序名称作为判断条件使用205技巧98如何在仿真中设置飞行器位置、姿态等信息206技巧99如何进行批量弹道仿真和数据存储208技巧100如何将批量弹道计算结果保存成不同弹道数据文件210技巧101如何在弹道仿真中考虑典型器件(执行机构、惯性器件等)传递函数特性213技巧102如何针对自定义模块进行采样运行215技巧103如何获取变量前几个积分步长的值进行微分等运算218技巧104弹道计算模型中的特殊变量如何使用219技巧105如何处理双脉冲发动机模型221技巧106弹道运行过程中如何进行调试222第7章弹道优化与设计225技巧107如何在弹道模型中设置输入和输出变量225技巧108如何进行蒙特卡洛仿真227技巧109如何对蒙特卡洛仿真结果进行保存和分析230技巧110如何进行弹道迭代求解236技巧111如何设置弹道优化模型241技巧112如何针对导弹设计射程远的弹道244技巧113如何针对运载火箭设计能够入轨的弹道247第8章二维地图253技巧114如何打开二维地图253技巧115二维地图中工具栏的功能255技巧116如何在地图中进行手动绘图256技巧117如何从地图工具中提取某个点的经纬度信息260技巧118如何利用地图工具测量两个地点的距离261技巧119如何在地图中添加图层262技巧120如何在地图中利用命令自动绘图264技巧121如何在二维地图工具中使用弹道计算工具中的数据265技巧122在地图工具中绘制星下点轨迹267技巧123在地图工具中绘制残骸落区269技巧124如何下载地图数据273技巧125如何进行二维地图属性设置275