CN108399273A - 人工智能程序员书写数字飞行器源代码的决策分解方法 - Google Patents

人工智能程序员书写数字飞行器源代码的决策分解方法 Download PDF

Info

Publication number
CN108399273A
CN108399273A CN201810036677.9A CN201810036677A CN108399273A CN 108399273 A CN108399273 A CN 108399273A CN 201810036677 A CN201810036677 A CN 201810036677A CN 108399273 A CN108399273 A CN 108399273A
Authority
CN
China
Prior art keywords
digital aircraft
decision
source code
aircraft
digital
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810036677.9A
Other languages
English (en)
Other versions
CN108399273B (zh
Inventor
董云峰
李红珏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN201810036677.9A priority Critical patent/CN108399273B/zh
Publication of CN108399273A publication Critical patent/CN108399273A/zh
Application granted granted Critical
Publication of CN108399273B publication Critical patent/CN108399273B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/15Vehicle, aircraft or watercraft design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Feedback Control In General (AREA)
  • Traffic Control Systems (AREA)

Abstract

本发明提出了人工智能程序员书写数字飞行器源代码的决策分解方法,包括以下步骤:建立数字飞行器的规范化描述;基于数字飞行器的规范化描述,采用维分解方法,对数字飞行器、数字飞行器仿真结构和数字飞行器书写结构进行拆分,获得数字飞行器的决策拆分集;根据所述数字飞行器决策拆分集确定决策选择方法,并完成数字飞行器源代码书写。本发明提出的人工智能程序员书写数字飞行器源代码的决策分解方法,将数字飞行器的书写逻辑进行分解,根据不同的书写逻辑采用不同的人工智能决策方法完成数字飞行器源代码的书写工作,克服了现有各类仿真系统开发周期长、重复性开发工作量大和学习成本高的缺点。

Description

人工智能程序员书写数字飞行器源代码的决策分解方法
技术领域
本发明涉及一种源代码智能书写决策分解技术领域,更具体的说是涉及一种人工智能程序员书写数字飞行器源代码的决策分解方法。
背景技术
受限设计制造的周期和成本,对于每一个飞行器的设计方案或控制方法都制造一个真实实物进行飞行验证不现实,数字仿真为飞行器设计方案或控制方法提供一种高精度模拟验证手段。
现有方法一般是针对每个相同型号的飞行器,组织大量人员进行长时间的飞行器仿真系统源代码书写、编译和调试,最终开发出一套数字飞行器。飞行器的种类和型号不同、开发人员不同,导致数字飞行器的组成、结构和源代码书写风格各不相同。
飞行器具备复杂性、庞大性和高度综合性的特点,高度逼近真实飞行器的数字飞行器同样具备上述特点,完全独立从零开始开发一套数字飞行器的开发周期很长。相同种类不同型号的飞行器可能采用相似的设计方案或采用相同的零部件,完全重新开发存在大量重复性工作。
直接对已有的数字飞行器进行改造也是一种普遍方法,但对数字飞行器的改造建立在充分了解已有系统的组成、结构和源代码书写风格的基础上,开发人员的更替又需要重复进行了解学习过程,学习成本高。
因此,如何提供一种降低仿真工作量及成本,且有效分解飞行器开发决策的人工智能程序员书写数字飞行器源代码的决策分解方法是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提供一种人工智能程序员书写数字飞行器源代码的决策分解方法,该方法对数字飞行器源代码的书写逻辑进行分解,根据不同的书写逻辑采用不同的人工智能决策方法完成数字飞行器源代码的书写工作,克服了现有各类仿真系统开发周期长、重复性开发工作量大和学习成本高的缺点。
为了实现上述目的,本发明采用如下技术方案:
一种人工智能程序员书写数字飞行器源代码的决策分解方法,其特征在于,包括以下步骤:
步骤一,建立数字飞行器的规范化描述;
步骤二,基于数字飞行器的规范化描述,采用维分解方法,对数字飞行器、数字飞行器仿真结构和数字飞行器书写结构进行拆分,获得数字飞行器的决策拆分集;
步骤三,根据所述数字飞行器决策拆分集确定决策选择方法,并完成数字飞行器源代码书写。
优选的,所述步骤一的具体方法包括:
(1)确定数字飞行器的目标元素集;
(2)确定数字飞行器的模型参数集;
(3)按照所述目标元素集和所述模型参数集的类型选择规范化描述记录。
优选的,所述规范化描述记录具体包括:
对于所述目标元素集和所述模型参数集包含的信息,若所述信息具备复杂关系,则采用数据库的形式记录和存储;若所述信息具备树状结构,采用可扩展标记语言文件记录和存储;参数和配置项采用文本文件记录和存储。
优选的,所述步骤二中,采用系统维对数字飞行器进行拆分:
将所述数字飞行器的舱段拆分为服务舱和有效载荷;所述服务舱拆分为服务舱结构、控制系统、推进系统、温度控制系统、电源系统、遥测遥控子系统;所述控制系统包括敏感器、控制器和执行机构,其中所述敏感器和所述执行机构属于部件,控制器是若干处理器芯片的集合。
优选的,所述步骤二中,数字飞行器仿真结构拆分的方法包括如下步骤:
按照仿真需求,将数字飞行器配置为单机仿真版本、分布式仿真版本或嵌入式仿真版本;
根据数字飞行器配置确定数字飞行器仿真结构。
优选的,所述步骤二中,数字飞行器书写结构的拆分具体包括:
源代码书写模式包括但不限于固定代码拷贝模式、固定代码直接书写模式、基于有限选择的书写模式、基于有限规范的书写模式、基于推理的书写模式、基于智能决策的书写模式。
优选的,所述步骤三具体包括:
对于单一决策过程,直接调用数字飞行器决策拆分集;
对于遵循特定决策规范的决策过程,首先书写固定代码部分,然后根据输入的规范化描述记录书写可变代码部分,建立逻辑推理模块知识库,建立逻辑推理模块方法库,将书写过程中的计算公式转化为逻辑推理模块识别的规范结构,将计算流程转化为逻辑推理模块识别的规范结构,将复杂运算公式转化为每一步中可直接运算的公式;
对于根据固定逻辑推理的代码部分,采用prolog推理方法完成源代码书写;
对于没有固定源代码模板或具体书写规则时,通过机器学习预存的决策样本完成源代码书写;其中机器学习方法包括但不限于聚类、神经网络或遗传编程方法。
经由上述的技术方案可知,与现有技术相比,本发明的关键的技术是人工智能程序员,人工智能程序员是将人写程序的决策过程分解,根据不同的书写逻辑采用不同的人工智能决策方法完成数字飞行器源代码的书写工作。本发明与现有技术相比的优点在于:
(1)缩短飞行器仿真系统的开发周期,降低飞行器仿真系统的开发工作量;
通过对数字飞行器书写决策过程进行分解,能够将飞行器仿真系统的源代码规范化和模块化,缩减功能类似和冗余的代码,降低开发工作量。将不随飞行器变化而变化的源代码剥离,将非固定源代码提炼出各种能由机器执行的书写规则,使得源代码书写、编译和链接能够自动交由计算机完成。计算机进行源代码书写、编译和链接的执行效率远高于程序员,因此降低了飞行器仿真系统的开发周期。
(2)减少飞行器仿真系统对开发人员的编程要求,提高飞行器仿真系统的通用性。
源代码书写、编译和链接能够自动交由计算机完成,可以避免源代码因开发人员的不同以及不同开发人员编程习惯和能力的不同而产生的差异性,上述差异对飞行器仿真系统的开发、维护、移植和升级带来的额外工作量因而可以得到消除,飞行器仿真系统的通用性因而得以提高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1附图为本发明提供的人工智能程序员书写数字飞行器源代码的决策分解方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为人工智能程序员书写数字飞行器源代码的决策分解方法的整体流程示意图。
1.建立数字飞行器的规范化描述的实现过程为:
(1)确定数字飞行器的目标元素集;
目标元素集是人在书写计算机程序源代码时,做出决策的依据与需要做出决策的内容。数字飞行器设计中目标元素的数据对象包括:轨道选择、轨道递推方法、主承力结构选择、稳定方式、姿态控制算法选择、敏感器选择、敏感器安装位置与数量、姿态控制执行机构的选择、部件构型、有效载荷选择。
一个目标元素集可能包括:选择对地观测卫星轨道高度(500km)、太阳帆板面积(4m2)、光学相机分辨率(1m)。在此条件下书写控制力矩陀螺部件的源代码。
(2)确定数字飞行器的模型参数集;
飞行器部件模型决策集是依据目标元素做出的决策,与上面的具体数据对象对应,例如:为控制力矩陀螺选用“含有轴承与电机等元件级模型的动力学解算方法”。除控制力矩陀螺这一个部件之外,对于动量轮,蓄电池,太阳帆板,充液储箱等其它部件的模型也采用类似的决策方法。
(3)按照目标元素集和模型参数集类型选择合适的规范化描述记录;
确定数字飞行器的目标元素集合模型参数集后,即可采用合适的规范化描述方法来记录这些信息。对于包含复杂关系的信息,采用数据库的形式记录和存储;对于具备树状结构的信息,采用可扩展标记语言文件记录和存储,其他参数和配置项可以采用文本文件记录和存储。
2.基于逻辑维分形特征,采用各种维分解方法,将数字飞行器、数字飞行器仿真结构和数字飞行器书写结构拆分为若干组成部分,构成数字飞行器的决策拆分集,具体实现过程为:
(1)采用各种维分解方法,将数字飞行器进行划分;
(1.1)从系统维的角度,将数字飞行器按照舱段、子系统和部件划分。数字飞行器划分为服务舱和有效载荷。对于航空器,服务舱为航空器本身主体,有效载荷包括武器系统和战斗部等;对于航天器,服务舱为航天器本身主体,有效载荷包括载人飞船的载人舱、卫星的相机天线设备等;
服务舱可划分为:服务舱结构、控制系统(航空器的飞行控制系统、航天器的轨道姿态控制系统)、推进系统、温度控制系统、电源系统、遥测遥控子系统;结构指支撑和承载飞行器的主体,根据形状划分为诸如承力桶结构、箱式结构、板式结构等;
控制系统所需部件包括敏感器和执行机构。敏感器包括陀螺、太阳敏感器、地球敏感器、星敏感器、磁强计、GPS、北斗定位设备、激光雷达、视觉相机等;执行机构包括精密轮、飞轮、控制力矩陀螺、推力器、磁力矩器等;控制系统还包括执行飞行控制的控制器模块;
温度控制系统即调节飞行器内部各处温度平衡的系统,包括热管、散热窗口和加热器等;
电源系统用以保证飞行器电能充足、调节电池充放电和各设备开关,包括太阳能电池阵、蓄电池、充放电调节器、调压器等;
遥测遥控子系统用以保证飞行器和地面通信,主要包括天线、转发器、放大器等;
推进系统用以执行控制操作,主要包括气瓶、燃料贮箱、氧化剂贮箱、管路和阀门等。
(2)采用维分解方法,将数字飞行器仿真结构进行划分;
(2.1)按照仿真需求,将数字飞行器配置为单机仿真版本、分布式仿真版本或嵌入式仿真版本。其他支撑工程包括动力学归档转发工程、测控解码转发工程、二维显示工程、三维演示工程。动力学归档转发工程负责将数字飞行器仿真的动力学数据转发给数据库进行归档,测控解码转发工程负责将数字飞行器发送的遥测包进行解码并转发给数据库进行归档,二维显示和三维演示工程负责给用户直观展示数字飞行器的实时飞行状态;
(2.2)单机版本,卫星服务舱和有效载荷均合并为一个工程,运行在一台计算机上;分布式版本,动力学解算作为独立工程,运行在单独的计算机上。各子系统分别拆分为独立的工程,运行在不同的计算机上。各子系统也可拆分到部件层面,敏感器作为一个独立工程,执行机构作为一个独立工程,控制器作为一个独立工程,分别运行在不同计算机上;嵌入式版本,动力学解算作为独立工程,运行在独立的上位机上。各部件单独作为一个工程,分别运行在独立的嵌入式板卡上;
(2.3)从系统维的角度,对数字飞行器仿真结构进行分解;
数字飞行器源代码文件包括以下几个部分:数字飞行器部件参数头文件包含、数字飞行器基础算法头文件包含、数字飞行器模块与部件个数宏定义、数字飞行器部件外部变量定义、数字飞行器部件静态变量定义、数字飞行器部件临时变量定义、数字飞行器部件函数声明、数字飞行器子系统、模块和部件功能实现函数定义;
(3)采用各种维分解方法,将数字飞行器书写结构进行划分;
(3.1)从系统界定维的角度,对数字飞行器书写结构进行划分;
源代码书写模式包括固定代码拷贝模式、固定代码直接书写模式、基于有限选择的书写模式、基于有限规范的书写模式、基于推理的书写模式、基于智能决策的书写模式等;
源代码书写过程包括数字飞行器规范化描述记录的信息读取过程、数字飞行器非固定源代码书写过程、数字飞行器源代码编译校验过程;
源代码书写过程的操作包括数字飞行器部件模型与算法固定代码片段文件读取操作、数字飞行器部件数据库和装配数据库查询操作、固定代码片段与部件库装配库路径寻址操作、数字飞行器固定源代码文件复制操作、数字飞行器源代码文件和头文件创建操作、文件书写操作、文件关闭操作、文件修改操作等;
(3.2)从数字飞行器源代码设计的角度,将数字飞行器源代码的书写方法进行划分;
动力学、电、热、磁多场耦合计算分别对应单独的源代码文件和配套的头文件。这些文件一般具备通用性,不随飞行器变化而变化;
部件作为数字飞行器的最小组成,每个部件书写为单独的一个源代码文件。不同部件类型和型号对应的源代码文件不同,但某个具体的部件类型型号的源代码文件是确定的,只需要根据需要调整部分参数(如安装位置、安装姿态)和决定是否启用部分功能(如误差、失效功能)即可;
控制器作为飞行器核心子系统,包括多个源代码文件。以卫星为例,数字卫星的姿轨控系统主要包括飞行流程文件、姿态确定文件、姿态控制文件、输入输出文件和相应的配套头文件;
3.针对数字飞行器决策拆分集,确定决策选择方法,完成数字飞行器源代码书写的实现过程为:
(1)对于划分得到的数字飞行器、数字飞行器源代码和数字飞行器源代码的书写方法,分别确定人的书写方法;
(1.1)固定不变的源代码。如不随飞行器改变而改变的底层算法函数(矩阵点乘、矩阵转置、矩阵求逆、矢量叉乘等数学函数)、底层功能函数(如硬件驱动函数、接口函数)、高层算法函数(如剔野算法函数、滤波算法函数)。人一般将这些函数开发完善后存放起来,等需要时直接拷贝粘贴到指定地点,或者包含进入工程中使用即可;
(1.2)主体结构基本不变的源代码,仅部分内容或幅值与具体飞行器有关。以数字卫星为例,敏感器初始化函数中的安装矩阵与该部件在卫星中的具体安装方式有关,敏感器误差模型与某次仿真的逼真度需求有关,人在书写这些源代码时,会根据实际情况修改对应变化的部分,而其他固定不变的源代码保持不变。并且,人在修改变化部分代码时,往往会遵循某些规则;
典型的主体结构不变但具体内容存在变化的代码如卫星的飞行历程源代码,飞行历程由一系列飞行模式和飞行方式组成,每个飞行方式中均由轨道姿态确定算法、轨滤波算法、道姿态控制算法、流程切换控制算法和控制指令分配逻辑算法组成,但不同的卫星有不同的飞行历程,不同的卫星不同的飞行历程中的具体算法选择不一样,同样的算法选择其具体算法参数不一样,需要根据实际情况进行修改;
源代码书写规范包括但不限于结构化总体编程规范、工程建立规范、文件建立规范、变量书写规范、函数书写规范、代码封装规范、集合的使用规范、对象/结构的使用规范、资源合理使用规范。
结构化总体编程规范针对自顶向下逐步细化的编程方法,包括顺序、选择、循环三种结构的规范书写方法,以及缩进、空行、注释、代码保护等的规范书写方法。
工程建立规范包括根据数据库中存储结果建立工程的执行方法。文件建立规范执行方法包括在文件、源代码生成程序、数据库中的固定源代码的存储和书写规范。
变量书写规范执行方法包括全局/内部变量书写规范,变量的类型选取规范、变量命名规范、变量使用规范。
函数书写规范执行方法包括函数整体的命名、返回值、形参、声明和调用以及函数内部的变量使用、表达式书写、循环使用、条件语句等规范。
代码封装规范执行方法包括对具有较强功能聚集性和独立性的功能模块(如数据库读写)封装成一个单独的类并设置合理的输入输出接口。
集合的使用规范执行方法包括对数组、List的书写规范。
对象/结构的使用规范执行方法包括对于一类实体或者某类实体中几个独立的子系统等相对独立的部分建立对象的规范,对具有紧耦合关系的变量建立结构的规范。
资源合理使用规范执行方法包括对于建立的数据库连接或文件读写操作,在对应打开的程序中结束使用后执行关闭操作。
(1.3)整体均改变的源代码,与具体飞行器有关,有固定的推理逻辑。以数字卫星为例,数字卫星所采用的推进系统构型,推进系统部件的种类、类型和个数,该决策影响整个卫星推进系统源代码的书写。决定卫星采用何种推进系统构型,与卫星的具体任务、飞行轨道高度、质量等因素有关,这些因素经过一系列逻辑推理可以得到最终推进系统的布局、推进系统所需部件的选型和个数设计,进而完成源代码开发;
(1.4)整体均改变的源代码,与具体飞行器有关。没有固定的源代码模板或者具体书写规则时,人会根据以往的数字卫星源代码书写经验和参考已有完成的数字卫星进行书写决策;
(2)分别选取人工智能决策方法;
(2.1)对于直接调用的源代码,直接采用调用策略;
(2.2)对于遵循某些规则或规范完成书写的源代码,首先书写源代码的固定部分,然后根据输入的规范化描述记录书写源代码中变化的部分;
针对算法公式,建立逻辑推理模块知识库,建立逻辑推理模块方法库,将公式转化为逻辑推理模块可以识别的规范结构,将计算流程转化为逻辑推理模块可以识别的规范结构,将复杂运算公式转化为每一步中可直接运算的公式。
逻辑推理模块识别的规范结构即为二叉树,其中运算符作为父节点,运算单元作为子节点,将复杂推理过程转化为若干单步完成的子推理过程,每个子推理过程可直接运算,即只需要1步就能完成计算。
建立逻辑推理模块知识库,包括但不限于变量类型,运算类型,解算算法等基本概念。在知识库中定义不同事实,包括但不限于变量类型事实,运算类型事实,解算算法事实。将公式转化为逻辑推理模块可以识别的规范结构,包括但不限于单元数运算和双元数运算。在知识库中检索找到运算优先级最高的运算作为运算实体,重复该过程直到将公式完整转化为运算类型,变量类型,运算实体。将计算流程转化为逻辑推理模块可以识别的规范结构,采用方法库中的解算算法流程确认方法,将将完整的算法流程分解为多个基本流程并列、嵌套的形式,基本流程包含流程类型、判断条件、具体实施。将复杂运算公式转化为每一步中可直接运算的公式。针对每个公式描述,获取算法描述中流程的三个关键信息(流程类型,判断条件,具体实施)和公式的三个关键信息(运算类型,变量类型,参与运算实体),进行源代码书写工作。
(2.3)对于根据固定逻辑推理得到的源代码,采用prolog等推理方法复现人的推理决策过程,完成源代码书写。
建立Prolog方法库保存人决策所需的知识和方法,根据输入的变化推理出最适合的书写规则,以规范化格式的文件或数据库保存。推理出各个工程、程序、文件源代码语言,输入输出方式、运行平台、变量定义的类型和方式、定义位置和声明位置,函数定义位置、声明位置、调用位置、形参个数、类型;
(2.4)对于没有固定源代码模板或具体书写规则时,参考人的书写决策方法,借鉴包含待书写源代码类似问题和对应书写方案的真实案例,将案例作为样本存储,通过机器学习的方法完成源代码书写,具体的机器学习方法包括但不限于聚类、神经网络或遗传编程;
聚类决策时,提取样本中待解决问题的特征,用特征向量表征。对生成的特征向量进行聚类操作,得到各类样本的一般解决方案并存储。在源代码书写时,将当前的书写问题划分到与之最接近的一类中,采用该类问题的解决方案进行源代码书写;
神经网络决策时,归纳样本中的输入输出信息,得到神经网络的输训练输入和训练输出。对神经网络进行训练后将成型神经网络存储。在源代码书写是,将当前的书写问题进行归纳后得到输入,将输入信息传递给神经网络得到网络输出,解析神经网络的输出得到对当前问题的决策;
遗传编程决策时,将样本中待决策的问题分解为若干小问题,作为遗传编程中终端集合的输入变量。确定遗传编程的终端集合、函数集合,随机产生原始种群,使用样本进行适应度测试。将当前的书写问题输入遗传编程得到的决策程序,获得输出并解析,得到针对当前书写问题的解决方案完成源代码书写。
针对具体的源代码进行具体书写决策举例。
1、将飞行器姿轨控子系统划分为敏感器、控制器、控制器和执行机构;
2、以陀螺敏感器为例,其他部件类似。陀螺模型的源代码书写为模型源代码文件(.c文件)。模型源代码文件包含陀螺模型所需的模型头文件包含代码、输入输出变量定义、模型参数变量定义、模型初始化函数、模型输入输出函数、模型计算函数等;
3、模型头文件包含代码逐条书写陀螺模型功能实现所需的头文件,包括系统内置头文件和自定义头文件。系统内置头文件如数学标准库头文件、系统标准输入输出头文件等,自定义头文件如陀螺安装矩阵信息头文件、陀螺数据传输通道定义头文件、组包格式定义头文件等;
4、自定义头文件名称按照规定的命名规范书写,如陀螺数据传输通道头文件名,根据通道采用的总线的不同,遵循不同的命名规范。如CAN总线,遵循“发送方+To+接收方+CANChannelNofor+飞行器实体名称+for+部件名称”的规范命名,又如UART总线,遵循“ulUART+发送方+To+接收方+ChannelNofor+飞行器实体名称+for+部件名称”;
5、输入输出变量定义包含固定变量书写和非固定变量书写。固定变量即为陀螺模型实现功能所依赖的不随模型变化而变化的通用变量,如计数变量、时间步进变量等;非固定变量与具体部件有关,对于陀螺而言,如陀螺电功率、陀螺敏感测量值、陀螺误差系数等。非固定变量定义在部件数据库中,在程序书写时检索数据库中对应类型和型号的陀螺,然后遍历其状态量逐行书写;
6、初始化函数书写时,遍历陀螺部件模型在部件数据库中状态量定义表中的初始取值,根据状态量所述子系统表进行分类,分为原理模型所需变量(如敏感值、常值偏差系数、随机游走系数)、温度控制系统所需变量(如热功率、温度)、电源系统所需变量(如电功率、电压、电流)、误差模型所需变量(随机游走系数、常值漂移参数)、故障模型所需变量(如故障模式编号)等,然后对各类别逐一书写子系统宏定义区块,在每个区块内逐行列写变量初始化语句;
7、模型输入输出函数书写时,检索信息传输配置数据库,遍历陀螺信息传输数据包,根据包格式逐一书写各数据传输包。以默认包格式的陀螺测量角速度数据包为例,逐一书写包头、包编号、各陀螺敏感测量值,最后书写包发送语句;
8、模型计算函数书写时,陀螺模型的主体源代码为部件数据库中的代码片段,书写时直接根据陀螺型号和类型检索到相应的代码片段进行拷贝操作即可;
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (7)

1.一种人工智能程序员书写数字飞行器源代码的决策分解方法,其特征在于,包括以下步骤:
步骤一,建立数字飞行器的规范化描述;
步骤二,基于数字飞行器的规范化描述,采用维分解方法,对数字飞行器、数字飞行器仿真结构和数字飞行器书写结构进行拆分,获得数字飞行器的决策拆分集;
步骤三,根据所述数字飞行器决策拆分集确定决策选择方法,并完成数字飞行器源代码书写。
2.根据权利要求1所述的人工智能程序员书写数字飞行器源代码的决策分解方法,其特征在于,所述步骤一的具体方法包括:
(1)确定数字飞行器的目标元素集;
(2)确定数字飞行器的模型参数集;
(3)按照所述目标元素集和所述模型参数集的类型选择规范化描述记录。
3.根据权利要求2所述的人工智能程序员书写数字飞行器源代码的决策分解方法,其特征在于,所述规范化描述记录具体包括:
对于所述目标元素集和所述模型参数集包含的信息,若所述信息具备复杂关系,则采用数据库的形式记录和存储;若所述信息具备树状结构,采用可扩展标记语言文件记录和存储;参数和配置项采用文本文件记录和存储。
4.根据权利要求1所述的人工智能程序员书写数字飞行器源代码的决策分解方法,其特征在于,所述步骤二中,采用系统维对数字飞行器进行拆分:
将所述数字飞行器的舱段拆分为服务舱和有效载荷;所述服务舱拆分为服务舱结构、控制系统、推进系统、温度控制系统、电源系统、遥测遥控子系统;所述控制系统包括敏感器、控制器和执行机构。
5.根据权利要求1所述的人工智能程序员书写数字飞行器源代码的决策分解方法,其特征在于,所述步骤二中,数字飞行器仿真结构拆分的方法包括如下步骤:
按照仿真需求,将数字飞行器配置为单机仿真版本、分布式仿真版本或嵌入式仿真版本;
根据数字飞行器配置确定数字飞行器仿真结构。
6.根据权利要求1所述的人工智能程序员书写数字飞行器源代码的决策分解方法,其特征在于,所述步骤二中,数字飞行器书写结构的拆分具体包括:
源代码书写模式包括但不限于固定代码拷贝模式、固定代码直接书写模式、基于有限选择的书写模式、基于有限规范的书写模式、基于推理的书写模式、基于智能决策的书写模式。
7.根据权利要求1所述的人工智能程序员书写数字飞行器源代码的决策分解方法,其特征在于,所述步骤三具体包括:
对于单一决策过程,直接调用数字飞行器决策拆分集;
对于遵循特定决策规范的决策过程,首先书写固定代码部分,然后根据输入的规范化描述记录书写可变代码部分,建立逻辑推理模块知识库,建立逻辑推理模块方法库,将书写过程中的计算公式转化为逻辑推理模块识别的规范结构,将计算流程转化为逻辑推理模块识别的规范结构,将复杂运算公式转化为每一步中可直接运算的公式;
对于根据固定逻辑推理的代码部分,采用prolog推理方法完成源代码书写;
对于没有固定源代码模板或具体书写规则时,通过机器学习预存的决策样本完成源代码书写;其中机器学习方法包括但不限于聚类、神经网络或遗传编程方法。
CN201810036677.9A 2018-01-15 2018-01-15 人工智能程序员书写数字飞行器源代码的决策分解方法 Active CN108399273B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810036677.9A CN108399273B (zh) 2018-01-15 2018-01-15 人工智能程序员书写数字飞行器源代码的决策分解方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810036677.9A CN108399273B (zh) 2018-01-15 2018-01-15 人工智能程序员书写数字飞行器源代码的决策分解方法

Publications (2)

Publication Number Publication Date
CN108399273A true CN108399273A (zh) 2018-08-14
CN108399273B CN108399273B (zh) 2021-07-27

Family

ID=63094838

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810036677.9A Active CN108399273B (zh) 2018-01-15 2018-01-15 人工智能程序员书写数字飞行器源代码的决策分解方法

Country Status (1)

Country Link
CN (1) CN108399273B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109299528A (zh) * 2018-09-11 2019-02-01 北京航空航天大学 一种数字飞行器仿真数据人工智能统计分析方法和装置
CN110806979A (zh) * 2019-10-31 2020-02-18 北京东软望海科技有限公司 接口返回值的校验方法、装置、设备及存储介质
CN113703725A (zh) * 2021-08-24 2021-11-26 北京航空航天大学 基于混沌分形特征的数字卫星源代码书写决策分解方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101645101A (zh) * 2009-09-04 2010-02-10 北京航空航天大学 一种通用无人飞行器仿真建模方法
CN103136420A (zh) * 2013-01-18 2013-06-05 上海卫星工程研究所 一种航天器局部控制mdo方法及系统
CN104217052A (zh) * 2013-05-31 2014-12-17 北京空间技术研制试验中心 一种机械总体与结构的协同化设计方法
CN106407531A (zh) * 2016-09-05 2017-02-15 北京空间飞行器总体设计部 一种基于增量化模型的航天器遥测方法
CN107357961A (zh) * 2017-06-15 2017-11-17 苏州同元软控信息技术有限公司 基于Modelica模型的航天器推进系统动态分析方法
CN107480335A (zh) * 2017-07-12 2017-12-15 南京航空航天大学 一种高超声速飞行器模型迭代设计方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101645101A (zh) * 2009-09-04 2010-02-10 北京航空航天大学 一种通用无人飞行器仿真建模方法
CN103136420A (zh) * 2013-01-18 2013-06-05 上海卫星工程研究所 一种航天器局部控制mdo方法及系统
CN104217052A (zh) * 2013-05-31 2014-12-17 北京空间技术研制试验中心 一种机械总体与结构的协同化设计方法
CN106407531A (zh) * 2016-09-05 2017-02-15 北京空间飞行器总体设计部 一种基于增量化模型的航天器遥测方法
CN107357961A (zh) * 2017-06-15 2017-11-17 苏州同元软控信息技术有限公司 基于Modelica模型的航天器推进系统动态分析方法
CN107480335A (zh) * 2017-07-12 2017-12-15 南京航空航天大学 一种高超声速飞行器模型迭代设计方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ZHAO WEN: "《Robust Finite-Time Control of Coupled Spacecraft Using Dual Quaternion》", 《2017 IEEE 3RD INTERNATIONAL CONFERENCE ON CONTROL SCIENCE AND SYSTEMS ENGINEERING》 *
何巍等: "《分布式嵌入式系统软硬件协同仿真平台》", 《计算机工程与设计》 *
李红珏等: "《卫星故障诊断系统智能研制技术研究》", 《上海航天》 *
董云峰等: "《数字卫星源代码生成技术》", 《2015年小卫星技术交流会论文集》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109299528A (zh) * 2018-09-11 2019-02-01 北京航空航天大学 一种数字飞行器仿真数据人工智能统计分析方法和装置
CN110806979A (zh) * 2019-10-31 2020-02-18 北京东软望海科技有限公司 接口返回值的校验方法、装置、设备及存储介质
CN110806979B (zh) * 2019-10-31 2023-04-07 望海康信(北京)科技股份公司 接口返回值的校验方法、装置、设备及存储介质
CN113703725A (zh) * 2021-08-24 2021-11-26 北京航空航天大学 基于混沌分形特征的数字卫星源代码书写决策分解方法

Also Published As

Publication number Publication date
CN108399273B (zh) 2021-07-27

Similar Documents

Publication Publication Date Title
Borky et al. Effective model-based systems engineering
US8132155B2 (en) Automatic generation of telemetry flight software accompanying specifications, and decode files
Shafto et al. Draft modeling, simulation, information technology & processing roadmap
USH2201H1 (en) Software architecture and design for facilitating prototyping in distributed virtual environments
CN108399273A (zh) 人工智能程序员书写数字飞行器源代码的决策分解方法
Czerniejewski et al. juav: A java based system for unmanned aerial vehicles
CN113348764B (zh) 月球飞行器全过程数字仿真系统及方法
CN101647033B (zh) 建模和仿真人类行为的计算机实现的方法和装置
CN109189376A (zh) 数字飞行器集群源代码的人工智能书写方法
Frank et al. The challenge of configuring model-based space mission planners
CN109117125A (zh) 数字飞行器多平台多运行模式源代码的人工智能书写方法
Luther SysML based cubesat model design and integration with the horizon simulation framework
CN109214043A (zh) 数字飞行器动力学环境信息传输源代码人工智能书写方法
Beuchat N-rotor vehicles: modelling, control, and estimation
Clement et al. The challenge of grounding planning in simulation with an interactive model development environment
Jafer et al. A framework for rapid configuration of collaborative aviation system-of-systems simulations
Cohen et al. The implementation of software engineering concepts in the greenhouse crop model hortisim1
Kelly Refactoring Dependency Loading And Standardizing Factory Patterns In The Horizon Simulation Framework
Piggott et al. 7.2. 2 Advancing Model‐Based Systems Engineering at a Small Space Agency: Eighteenth Annual International Symposium of the International Council On Systems Engineering (INCOSE) 15–18 June, 2008
Beiglboeck Programming gps and openstreetmap applications with Java: the realobject application framework
Madni et al. MBSE Testbed for Unmanned Vehicles: System Concept and Prototype Implementation
Christhilf et al. Simulink-Based Simulation Architecture for Evaluating Controls for Aerospace Vehicles (SAREC-ASV)
Mccall Automating Aerospace Synthesis Code Generation A Tool for Generic Vehicle Design and Technology Forecasting
Ramos A Model-Based Systems Engineering Approach to the Design of a Spacecraft Subsystem
Hu et al. Model-Based Simulated Work-Case Generation and Management Platform for Spacecraft Control

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Dong Yunfeng

Inventor after: Li Hongjue

Inventor before: Dong Yunfeng

Inventor before: Li Hongjue

GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20180814

Assignee: SPACETY Co.,Ltd. (CHANGSHA)

Assignor: BEIHANG University

Contract record no.: X2023990000035

Denomination of invention: Decision decomposition method for AI programmers to write source code of digital aircraft

Granted publication date: 20210727

License type: Common License

Record date: 20230105