一种基于模型的飞控软件快速实现平台的制作方法

文档序号:17585473发布日期:2019-05-03 21:16阅读:396来源:国知局
一种基于模型的飞控软件快速实现平台的制作方法

本发明涉及的是航空技术领域,尤其是一种基于模型的飞控软件快速实现平台。



背景技术:

目前飞控系统设计与实现两个阶段存在链接不畅的问题。当将基于模型的控制律应用至半实物仿真评估及飞行时,需要手工翻译代码(如c语言),以适应不同的飞控硬件及通讯协议,导致飞控软件设计及工程化实现的效率较低。因此,有必要建立飞控软件快速实现平台,该平台以飞控gnc算法模型化及硬件接口模型化为基础,自动代码为核心纽带,无缝化连接飞控算法设计和飞控软件工程实现,保证设计层与实现层算法的一致性,最终有效确保飞控软件的天地一致性。



技术实现要素:

本发明的目的,就是针对现有技术所存在的不足,而提供一种基于模型的飞控软件快速实现平台的技术方案,该方案能够解决飞控系统设计与实现的链接不畅问题,保证飞控算法的高效率工程化实现。

本方案是通过如下技术措施来实现的:

一种基于模型的飞控软件快速实现平台,包括有飞控软件模块、快速实现工具链和飞控计算机;模型化飞控算法加载入飞控软件模块后通过快速实现工具链生成代码并传输至飞控计算机,飞控计算机通过加载代码实现半实物仿真。

作为本方案的优选:快速实现工具链包括有总控管模块、模型检查与测试模块、代码自动生成模块、代码测试模块和嵌入式代码模块;自动代码生成模块加载飞控软件软件模块发出信号并自动生成代码信号传输至代码测试模块;代码测试模块判断代码是否通过测试,如果代码通过测试则将代码信号传输至嵌入式代码模块生成目标代码并将目标代码加载到飞控计算机,如果代码不通过测试则判断代码是否正确,如果代码正确则向飞控软件发出信号,重新向自动代码生成模块加载信号,如果代码错误,则向自动代码生成模块发出信号,重新生成代码;总控管模块对自动代码生成模块、代码测试模块以及嵌入式代码模块均实现控制。

作为本方案的优选:自动代码生成模块主要利用matlab/simulink模型生成c代码,代码类型可选择,既可以生成面向测试、实时仿真用的快速原型代码,也可以生成面向产品级应用、高效精简的嵌入式代码,另外还可以生成面向特定处理器的优化代码。

作为本方案的优选:代码测试模块利用代码检查模板,可完成代码与模型的双向检查,验证模型与代码的功能一致性,集成polyspace软件,提供基础测试库,用于检查代码中可能存在的运行期错误,包括可检测代码是否具有除零和数组超出边界条件、逻辑分支遍历分析等运行错误;支持自定义测试用例;对生成代码进行非实时、闭环的软件模型在环仿真,完成代码的功能验证。

作为本方案的优选:嵌入式代码模块主要功能包括目标代码加载、启停控制、数据监视、参数修改、数据记录、批量仿真等功能;支持dsp目标代码加载及运行控制。

本方案的有益效果可根据对上述方案的叙述得知,由于在该方案主要利用自动代码生成技术,实现从图形化simulink飞行控制算法模型直接生成可运行在相应飞控计算机上的对飞控硬件资源可虚拟仪器化调用的嵌入式飞控软件;可便捷继承已有c代码算法;可通过模型规则检查代码测试、软件模型在环(sil)、硬件在环(hil)等手段,对飞控软件进行全面测试验证,从而快速、高效的获得高质量机载飞控软件。

飞控系统接口模型包括所有飞控系统硬件资源虚拟仪器化模型,如,串口、1553b、can、pwm、惯性导航、卫星导航、磁航向计、总静压传感器、无线通讯等,实现应用层软件对相关硬件的虚拟仪器化调用,而不需要关注具体的硬件驱动及管理控制规则,使得飞控软件设计与硬件剥离,从而提高飞控系统设计快速性,缩短开发周期。

由此可见,本发明与现有技术相比,具有实质性特点和进步,其实施的有益效果也是显而易见的。

附图说明

图1为本飞控软件快速实现平台结构示意图;

图2为本飞控软件快速实现工具链结构示意图;

图3为本飞控软件快速实现平台运行流程图。

具体实施方式

本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。

本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。

飞控软件快速实现平台中的模型是基于matlab/simulink标准模型开发环境的,利用ml/sl已有的模型库管理、代码生成和host/target互连访问机制,通过定制扩展相应功能,满足飞控设计平台的技术要求。飞控系统设计平台需要与包括飞行器本体建模工具、实验管理环境(数据库、配置管理等)进行接口,实现全流程的无缝衔接。

飞控软件快速实现平台上位机平台包括matlab基本环境、matlabgui,simulink、simulinkcoder、simulinkv&v、database接口、报告生成模块、航空航天模块库以及其他必要的算法模型库等。外部环境包括:配置管理工具,常用的如开源的cvs、svn。matlab支持大多数关系型数据库的连接,有宽广的选择面;实时硬件支持工具。为dsp,mcu的编译、下载、调试建立桌面环境。

如图1和图2所示:

一种基于模型的飞控软件快速实现平台,包括有飞控软件模块、快速实现工具链和飞控计算机;模型化飞控算法加载入飞控软件模块后通过快速实现工具链生成代码并传输至飞控计算机,飞控计算机通过加载代码实现半实物仿真。

快速实现工具链包括有总控管模块、模型检查与测试模块、代码自动生成模块、代码测试模块和嵌入式代码模块;自动代码生成模块加载飞控软件软件模块发出信号并自动生成代码信号传输至代码测试模块;代码测试模块判断代码是否通过测试,如果代码通过测试则将代码信号传输至嵌入式代码模块生成目标代码并将目标代码加载到飞控计算机,如果代码不通过测试则判断代码是否正确,如果代码正确则向飞控软件发出信号,重新向自动代码生成模块加载信号,如果代码错误,则向自动代码生成模块发出信号,重新生成代码;总控管模块对自动代码生成模块、代码测试模块以及嵌入式代码模块均实现控制。

自动代码生成模块主要利用matlab/simulink模型生成c代码,代码类型可选择,既可以生成面向测试、实时仿真用的快速原型代码,也可以生成面向产品级应用、高效精简的嵌入式代码,另外还可以生成面向特定处理器的优化代码。

代码测试模块利用代码检查模板,可完成代码与模型的双向检查,验证模型与代码的功能一致性,集成polyspace软件,提供基础测试库,用于检查代码中可能存在的运行期错误,包括可检测代码是否具有除零和数组超出边界条件、逻辑分支遍历分析等运行错误;支持自定义测试用例;对生成代码进行非实时、闭环的软件模型在环仿真,完成代码的功能验证。

嵌入式代码模块主要功能包括目标代码加载、启停控制、数据监视、参数修改、数据记录、批量仿真等功能;支持dsp目标代码加载及运行控制。

如图3所示飞控快速实现软件平台运行过程包括以下步骤:

在步骤s01中,根据需要不同的飞行器需要,从内部数据库中调用已有的飞控系统模块,包括串口、1553b、can、pwm、惯性导航、卫星导航、磁航向计、总静压传感器、数据存储、无线通讯等模块,组成飞行器的飞控仿真数学模型。建立的数学模型需要进行检查,检查内容包括:数据类型、量纲、坐标系匹配检查;模型离散化的采样时间匹配检查;参数有效范围限制;模型完备性检查;模型逻辑覆盖度检查;其他必要的规则。

在步骤s02中,根据具体的飞行器对数学模型的参数进行微调,适应具体的飞行器特征参数。

在步骤s03中,对建立的数学模型进行仿真计算。在数学仿真阶段,飞控系统算法模型要和飞行器模型以及环境模型进行耦合,将实验所需完成的飞行包线进行完整测试。其中,simulink负责完成飞行控制系统算法模型,包括:系统软件模块:目前主要以逻辑算法为主,可扩展为多通道余度管理;固定翼飞机控制律算法模块;旋翼飞机控制律算法模块;基础航电信息系统模块(主要用于天地交互);虚拟飞行仪表系统。仿真数据存入内部数学库,便于后续工作调用。

在步骤s04中,对仿真结果进行飞行包线内各系统运行性能测试,当性能测试满足要求后转入下一步骤,否则,转入数学仿真进行参数调节等数学仿真检查修改。

在步骤s05中,当仿真结果满足需求后,将仿真模型进行代码生成。在代码生成中,主要利用matlab/simulink模型生成c代码,代码类型可选择,既可以生成面向测试、实时仿真用的快速原型代码,也可以生成面向产品级应用、高效精简的嵌入式代码,另外还可以生成面向特定处理器的优化代码;提供omapl138内arm核的嵌入式代码生成模板,将matlab/simulink模型生成嵌入式c代码;提供omapl138内dsp核的嵌入式代码生成模板,将matlab/simulink模型生成嵌入式c代码;提供armcotrexm4架构的stm32处理器的嵌入式代码生成模板,将matlab/simulink模型生成嵌入式c代码;提供omapl138内arm核的tmf代码编译模板,实现调试模式、实飞模式两种编译选项;提供omapl138内dsp核的tmf代码编译模板,将代码编译为dsp目标代码;提供armcotrexm4架构的stm32处理器的tmf代码编译模板,将代码编译为dsp目标代码;

在步骤s06中,图形化数学模型转化为目标代码后,将对代码进行测试检查。在本软件平台中主要提供一套代码检查模板,可完成代码与模型的双向检查,验证模型与代码的功能一致性;集成polyspace软件,提供基础测试库,用于检查代码中可能存在的运行期错误,包括可检测代码是否具有除零和数组超出边界条件、逻辑分支遍历分析等运行错误;支持自定义测试用例;对生成代码进行非实时、闭环的软件模型在环仿真,完成代码的功能验证。当代码测试通过后转入下一步骤,否则转入步骤s03,进行仿真模型修改,再依次进行步骤s04,s05。

在步骤s07中,将测试通过的代码进行编译并下载至硬件平台进行半实物仿真。

在步骤s08中,对飞控系统进行物理耦合后,进行半实物仿真

在步骤s09中,对半实物仿真结果进行测试分析,当结果满足需求时,进行下一步骤,否则转入步骤s03,进行仿真模型修改,再依次完成步骤s04,s05,s06,s07,s08.

在步骤s10中,进行模型飞实验,获取相关飞行参数。

在步骤s11中,对实际模型飞实验获取的飞行参数进行测试分析,若结果满足需求,则进入下一步骤,否则转入步骤s03,进行仿真模型修改,再依次完成步骤s04,s05,s06,s07,s08,s09,s10。

在步骤s12中,对实验获取的数据进行分析。

在步骤s13中,对全过程技术文件进行整理归档。

在整个过程中,数据管理伴随全过程。从本质上讲,飞控系统设计平台所支持的任务是验证性实验,因此,从飞控系统研制到模型飞实验全过程的数据留存是实验置信程度的有力保障。同时,作为一项具有认证性质的延续性工作,历史实验数据的积淀将更有效的支撑未来飞行器的型号研制、模飞实验乃至试飞实验任务。

设计平台采用商用数据库作为数据管理的基础,在matlab统一环境中实现数据的带权限检入检出,以及特定数据项的历史跟踪能力。同时,也提供常规数据处理功能,比如数据比较、合并、常规分析等。

本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1