一种通用无人飞行器仿真建模方法

文档序号:6575481阅读:679来源:国知局

专利名称::一种通用无人飞行器仿真建模方法
技术领域
:本发明提供了一种基于Matlab/Simulink针对无人飞行器控制系统的仿真建模的通用技术,尤其涉及一种通用无人飞行器仿真建模方法。属于航空航天仿真
技术领域
,它具体涉及模型模块的划分、simulink仿真布局、方程的格式改写、模型的综合等部分。二
背景技术
:在无人飞行器仿真建模技术中,模型的建立和在仿真系统中的表达是十分重要的环节。模型是对客观实物的特性的数学抽象描述,一般通过复杂的数学公式方程表达,要把这些复杂的数学公式表达成仿真软件可以识别的语言是相当困难的一件事。往往以开发仿真人员的经验进行设计编写所得到的仿真模型可维护性差,不能实现方便的参数调试,并且可靠性、可读性难以保证。为解决此问题,本发明提供了一种基于Matlab/Simulink的通用无人飞行器仿真建模技术,为仿真建模提供指导,增强了无人飞行器仿真模型的可读性、可靠性和可维护性,可方便的模型参数的调整。三
发明内容1.目的本发明提供了一种通用无人飞行器仿真建模方法,应用该方法,仿真技术人员可以高效地依据数学模型利用Matlab/Simulink工具建立实际仿真运用模型,并且模型具有良好的可读性、可靠性和可维护性。2.技术方案本发明一种通用无人飞行器仿真建模方法,其主要内容是先明确模型中的参数和变量并进行统一命名,再次进行逻辑流程图的制定,simulink的整体布局和各模块的划分。其次基于数学方程模型进行方程的整理归纳,转换仿真通用技术要求的格式,利用编写m文件改写各方程为siraulink中所需格式进行各分模块的搭建。最后进行各模块的整合和模块的标识。本发明一种通用无人飞行器仿真建模方法,该方法的具体步骤如下步骤一参数和变量的定义统计整体模型中的变量和参数并分别进行命名进行标识,其中所有名字为英文单词或词组,若其单词或词组太冗长时用縮写代替。步骤二进行各模块划分进行各模块的划分并归纳描述各模块功能或特性的数学方程,主要划分为以下几种模块无人飞行器动力学模型模块、控制F律模块、期望值及航迹输入模块、环境特性描述及干扰模块、数据显示模块等。具体情况根据仿真模型的复杂程度进行适当增减,并规划出各个模块之间的数据流,画出模块之间的数据流图。步骤三各数学方程格式整理1)将各数学方程中的所要求解的量单独放在方程等号的一边,例如;;+5二a'《+A其中y为所要求解的变量a为已知参数,最终整理为2)进行各方程的简化。步骤四方程的改写1)按simulink中的User-DefinedFunctions文件夹下的cn模块输入顺序编写各变量序号或S函数输入顺序按C语言数组标准编写各个变量序号。2)在matlab中按以下顺序建立m文件运行matlab~选择File菜单~选择New菜单一+选择M-file菜单选项~建立了m文件。输入各方程中与所求变量相等的等式另一边的方程式子,并将其作为字符串赋予一个matlab中的变量,例如;;=0.《+》—5,令iV」a.^+《—5'。3)按所需格式进行变量和参数的替换,为在simulink中的User-DefinedFimctions文件夹下的Fcn模块或S函数模块可以使用,按编排好的变量序号进行相应替换。替换采用matlab中的strr印语句。步骤五各模块的建模1)利用Fcn模块或S函数模块和simulink的其他模块进行各模块的simulink建模,利用out和in模块留出各模块间的数据交互接口。2)将每个模块所包含的内容选中建立subsystem,将各模块进行封装。5步骤六系统的整合和各模块的标识1)将各模块进行数据交互对应的连接并进行整理规划。2)利用EditMask功能为各模块添加图片和标识。3.优点及功效本发明提供了一种通用无人飞行器仿真建模方法,应用该方法,仿真技术人员可以高效地依据数学模型利用Matlab/Simulink工具建立实际仿真运用模型,并且模型具有良好的可读性、可靠性和可维护性,很方便地对模型参数进行调整。四图1通用无人飞行器仿真建模方法流程2模型模块分解3动力学模型模块4控制律模块图表1变量排序例表本说明书中所有英文符号含义说明如下Matlab:是矩阵实验室(MatrixLaboratory)的简称,是数学类科技应用软件之一,应用算法开发、数据可视化、数据分析记忆数值计算的高级技术计算语言和交互式环境。Simulink:其是Matiab的一种可视化仿真工具,提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只通过简单直观的鼠标操作,就可构造出复杂系统。Subsystem:为选择多个可视化模块后右键单击出现的快捷菜单中的一条命令(CreateSubsystem)通过它可以进行子模块的封装。EditMask:当封装子模块后,右键单击子模块,在出现的快捷菜单中的一条命令(EditMask)通过它可以进行封装子模块的标识、标记、贴图等操作,进行子模块的可视化编辑。Strrep:为Matlab中的字符串操作函数,其使用用例为strrep(sl,s2,s3)其作用为把sl中所有出现s2的地方替换为s3。Userdefinedfunction:为simulink模型库中的一个库名称。Fen:为Userdefinedfunction库中的一个模块名称。out,in:为simulink中的输出、输入模块。五具体实施例方式该方法实施时所使用设备为能安装matlab软件的计算机设备,计算机应安装Matlab软件,Matlab软件版本为6.5或其以上版本。计算机设备工作在常温环境下,支持鼠标键盘操作。下面结合附图对具体的建模过程进行进一步的说明,其中通用无人飞行器仿真建模技术具体流程图如图1。本发明一种通用无人飞行器仿真建模方法,该方法的具体步骤如下-步骤一统计整体模型中的变量和参数并分别进行命名进行标识,为模型的simulink模式改写及建模提供变量序列,为参数的数值替换和参数的调整准备基础。其中所有名字为英文单词或词组,若其单词或词组太冗长时用縮写代替。如simulation可用sim代替。步骤二进行各子模块的划分。按照不同的功能需求划分各仿真模块,主要划分为以下几种模块对象所需飞行器动力学模型模块、期望值及航迹输入模块、控制律模块、环境特性描述及干扰模块、数据显示模块等。具体情况根据仿真模型的复杂程度进行适当增减。对各模块提供功能说明,输入数据流的说明和输出数据流的说明,并绘制数据流图,如图2。针对归纳的仿真模块进行具体的各模块介绍。动力学模型模块主要包括数据输入部分,迎角侧滑角的求解部分,执行机构模型,动力学和运动学模型,积分环节,数据输出部分。接收环境参数、干扰量、控制量等数据,具体设计参见图3。控制律模块主要包括数据输入部分,航迹规划,控制量计算,数据输出部分。其接收位置量、姿态量、控制期望值、航迹规划线路等数据,具体设计参见图4。环境特性描述及干扰模块主要包括环境参量模拟,干扰量模拟。期望值及航迹输入模块期望值设定、期望值输出、飞行器航迹设定、飞行器航迹输出。数据显示模块关键数据量显示记录。步骤三各数学方程格式整理。将各数学方程中的所要求解的量单独放在方程等号的一边,例如少+5="'<+《其中^为所要求解的变量(3为已知参数,最终整理为"c7':xf5。进行各方程的简化,其中各个参数,变量名要按先前定义的进行统一。步骤四方程的改写。按simulink中的User-DefinedFunctions文件夹下的Fcn模块输入顺序编写各变量序号或S函数输入顺序按C语言数组标准编写各个变量序号可参照表1。表l<table>tableseeoriginaldocumentpage8</column></row><table>编写m文件按照simulink中所用模块的需要格式进行方程的转换。在matlab中按以下顺序建立m文件运行matlab~^选择File菜单~^选择New菜单~^选择M-file菜单选项—建立了m文件。再进行m文件内容建立,其中主要将各方程中与所求变量相等的等式另一边的方程式子作为字符串赋予一个matlab中的变量,在用strrep函数进行字符串替换,将参数替换为具体数值,变量替换成simulink中Fcn模块所需的输入变量向量形式。这样对各个方程进行逐个改写。步骤五利用Fcn模块或S函数模块和simulink的其他模块进行各模块的simulink建模,利用out和in模块留出各模块间的数据交互接口。对每个模块的内容在该模块建立完全后利用subsystem,将其进行封装,只留出数据输入输出接口以便与其他模块按数据流图进行数据交互。步骤六将各模块按数据流图进行对应的连接并进行整理规划。利用EditeMask功能为各模块添加图片和标识。权利要求1、一种通用无人飞行器仿真建模方法,其特征在于该方法具体步骤如下步骤一参数和变量的定义统计整体模型中的变量和参数并分别进行命名进行标识,其中所有名字为英文单词及词组,若其单词、词组太冗长时用缩写代替;步骤二进行各模块划分进行各模块的划分并归纳描述各模块功能及特性的数学方程,并划分为以下几种模块无人飞行器动力学模型模块、控制F律模块、期望值及航迹输入模块、环境特性描述及干扰模块、数据显示模块;具体情况根据仿真模型的复杂程度进行适当增减,并规划出各个模块之间的数据流,画出模块之间的数据流图;步骤三各数学方程格式整理1)将各数学方程中的所要求解的量单独放在方程等号的一边,如<mathsid="math0001"num="0001"><math><![CDATA[<mrow><mi>y</mi><mo>+</mo><mn>5</mn><mo>=</mo><mi>a</mi><mo>&CenterDot;</mo><msubsup><mi>x</mi><mn>1</mn><mn>2</mn></msubsup><mo>+</mo><msub><mi>x</mi><mn>2</mn></msub><mo>,</mo></mrow>]]></math>id="icf0001"file="A2009100920100002C1.tif"wi="29"he="7"top="119"left="24"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/></maths>其中y为所要求解的变量,a为已知参数,最终整理为<mathsid="math0002"num="0002"><math><![CDATA[<mrow><mo>=</mo><mi>a</mi><mo>&CenterDot;</mo><msubsup><mi>x</mi><mn>1</mn><mn>2</mn></msubsup><mo>+</mo><msub><mi>x</mi><mn>2</mn></msub><mo>-</mo><mn>5</mn><mo>;</mo></mrow>]]></math></maths>2)进行各方程的简化;步骤四方程的改写1)按simulink中的User-DefinedFunctions文件夹下的cn模块输入顺序编写各变量序号、S函数输入顺序,按C语言数组标准编写各个变量序号;2)在matlab中按以下顺序建立m文件运行matlab→选择File菜单→选择New菜单→选择M-file菜单选项→建立了m文件;输入各方程中与所求变量相等的等式另一边的方程式子,并将其作为字符串赋予一个matlab中的变量,如<mathsid="math0003"num="0003"><math><![CDATA[<mrow><mi>y</mi><mo>=</mo><mi>a</mi><mo>&CenterDot;</mo><msubsup><mi>x</mi><mn>1</mn><mn>2</mn></msubsup><mo>+</mo><msub><mi>x</mi><mn>2</mn></msub><mo>-</mo><mn>5</mn><mo>,</mo></mrow>]]></math>id="icf0003"file="A2009100920100002C3.tif"wi="30"he="6"top="199"left="79"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/></maths>令<mathsid="math0004"num="0004"><math><![CDATA[<mrow><mi>N</mi><mo>=</mo><mmultiscripts><mi>a</mi><mprescripts/><none/><mo>&prime;</mo></mmultiscripts><mo>&CenterDot;</mo><msubsup><mi>x</mi><mn>1</mn><mn>2</mn></msubsup><mo>+</mo><msub><mi>x</mi><mn>2</mn></msub><mo>-</mo><msup><mn>5</mn><mo>&prime;</mo></msup><mo>;</mo></mrow>]]></math>id="icf0004"file="A2009100920100002C4.tif"wi="33"he="6"top="199"left="117"img-content="drawing"img-format="tif"orientation="portrait"inline="yes"/></maths>3)按所需格式进行变量和参数的替换,为在simulink中的User-DefinedFunctions文件夹下的Fcn模块、S函数模块可以使用,按编排好的变量序号进行相应替换,替换采用matlab中的strrep语句;步骤五各模块的建模1)利用Fcn模块、S函数模块和simulink的其他模块进行各模块的simulink建模,利用out和in模块留出各模块间的数据交互接口;2)将每个模块所包含的内容选中建立subsystem,将各模块进行封装;步骤六系统的整合和各模块的标识1)将各模块进行数据交互对应的连接并进行整理规划;2)利用EditMask功能为各模块添加图片和标识。全文摘要本发明一种通用无人飞行器仿真建模方法,它有六大步骤步骤一参数和变量的定义;步骤二进行各模块划分;步骤三各数学方程格式整理;步骤四方程的改写;步骤五各模块的建模;步骤六系统的整合和各模块的标识。应用该方法,仿真技术人员可以高效地依据数学模型利用Matlab/Simulink工具建立实际仿真运用模型,并且模型具有良好的可读性、可靠性和可维护性,很方便地对模型参数进行调整。本发明在航空航天仿真
技术领域
内具有广泛的实用价值和应用前景。文档编号G06F17/50GK101645101SQ200910092010公开日2010年2月10日申请日期2009年9月4日优先权日2009年9月4日发明者明祝,郑泽伟,虓郭申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1