人工智能程序员书写数字航天器装配信息描述与存储方法与流程

文档序号:15558125发布日期:2018-09-29 01:36阅读:149来源:国知局

本发明涉及航天器仿真领域,更具体的说是涉及一种人工智能程序员书写数字航天器装配信息描述与存储方法。



背景技术:

目前工程设计、研发、测试过程中利用数字世界进行仿真验证的比例大大提升,航天器实物测试成本高,数字航天器的作用更加明显。数字仿真的有效性取决于数字航天器和环境模型的精度,为了达到与真实一致的仿真结果,数字航天器的设计精度需要达到部件级,环境包括了机电热光磁多方面因素的耦合,这就造成了数字航天器开发工作量大,并且整个系统的耦合关系复杂,修改难度高。因此提出了利用人工智能程序员技术,由计算机完成数字航天器源代码的智能书写,这就需要计算机可以获取数字航天器的装配信息。

因此,如何提供一种对数字航天器装配信息进行有效描述及存储的方法是本领域技术人员亟需解决的问题。



技术实现要素:

有鉴于此,本发明提供了一种人工智能程序员书写数字航天器装配信息描述与存储方法,本发明在实现人工智能程序员替代人进行数字航天器源代码书写时,计算机可以快速、有效地获取数字航天器的装配信息,提高了编写效率。

为了达到上述目的,本发明采用如下技术方案:

一种人工智能程序员书写数字航天器装配信息描述与存储方法,所述方法包括以下步骤:

步骤一,人工智能程序员的装配信息输入界面接收需要描述与存储的数字航天器的装配信息;

步骤二,判别所述装配信息的信息类型:读取装配信息的种类,并与底层信息数据库中记录的分类信息进行比对,将所述装配信息划分为参数信息和算法信息,若所述装配信息为参数信息,进入步骤三;若所述装配信息为算法信息,进入步骤五;

步骤三,利用底层信息数据库中记录的种类信息进一步对所述参数信息进行分类:一类信息为飞行器部件信息,二类信息为配置过程信息,进入步骤四;

步骤四,对所述配置过程信息进行有效信息提取,并与所述飞行器部件信息分别完成存储;

步骤五,对所述算法信息进行结构分析,得到函数间的调用关系,并存至人工智能程序员内部缓存中;

步骤六,对所述算法信息以及步骤五的所述函数调用关系中的通用信息进行甄别替换,替换为特定参量;

步骤七,步骤六中替换后的所述算法信息采用半格式化方式存储,并将半格式化存储的路径存储至格式化文件中。

优选的,在上述人工智能程序员书写数字航天器装配信息描述与存储方法中,所述步骤二还包括,

当所述底层信息数据库中无法找到所述装配信息的种类时,通过判别所述装配信息的信息结构是否以函数形式存储确定信息类型。

优选的,在上述人工智能程序员书写数字航天器装配信息描述与存储方法中在所述步骤四中,

所述飞行器部件信息的结构固定,描述方式固定,直接进行提取,并将提取的飞行器部件参数信息存储在xml模板对应的节点中,形成飞行器部件信息xml文档;其中所述xml模板为人工智能程序员内存中预存的文件,xml模板的节点包含所有飞行器信息;

对所述配置过程信息进一步加工,主要的加工过程是对信息进行拆分:查询人工智能程序员内存中预存的与所述配置过程信息相关的数据库表,识别数据库表结构,将所述配置过程信息按照数据库表结构顺序进行信息的拆分提取,依次填写到数据库表中,形成若干条记录,不断提取直到提取不出一条完整记录为止,并将若干条所述记录存储到配置过程信息数据库中。

优选的,在上述人工智能程序员书写数字航天器装配信息描述与存储方法中,所述步骤六中的通用信息包括飞行器编号和部件名称。

优选的,在上述人工智能程序员书写数字航天器装配信息描述与存储方法中,所述步骤六之后还包括,将甄别替换后的所述函数调用关系中的函数名称、函数返回值、形参名称、形参变量类型以及最外层算法名称提取出来,并存储至格式化文件中。

优选的,在上述人工智能程序员书写数字航天器装配信息描述与存储方法中,所述步骤七中所述格式化文件包括但不限于数据库、xml文件;所述半格式化存储方式采用固定格式的文件存储,包括但不限于文本文档、c文件、h文件、java文件。

经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种人工智能程序员书写数字航天器装配信息描述与存储方法,对书写过程中遇到的航天器部件模型、装配过程的复杂描述问题,可以依据统一的信息描述与存储方法得到有效提取和识别,计算机可以快速、有效地获取数字航天器的装配信息,提高了编写效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1附图为本发明人工智能程序员书写数字航天器装配信息描述与存储方法的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供了一种人工智能程序员书写数字航天器装配信息描述与存储方法,本发明克服现有技术的不足,使用人工智能替代人进行数字飞行器源代码书写,对书写过程中遇到的代码的编写、飞行器模型中模块的内部运算流程等问题,可以依据飞行器部件的输入输出特性进行自主决策,提高了编写效率,降低了飞行器仿真成本。

请参阅图1,图1为本发明人工智能程序员书写数字航天器装配信息描述与存储方法的流程示意图。本发明人工智能程序员书写数字航天器装配信息描述与存储方法具体包括以下步骤:

步骤s100:人工智能程序员的装配信息输入界面接收需要描述与存储的数字航天器的装配信息。

具体执行方法:

人工智能程序员的系统输入包括两个来源:一是底层信息数据库,其中记录了如实体类型、变量类型、飞行器标准部件参数、录入装配信息种类等一系列通用信息,这些信息与航天器的实际信息无关;二是装配信息录入界面,装配信息输入界面接收用户录入航天器星的实际信息。

人工智能程序员对这两部分输入进行处理,得到格式化或半格式化的数字航天器装配信息,并存储到指定的文件或数据库中。

步骤s200:判别装配信息的信息类型:读取装配信息的种类,并与底层信息数据库中记录的分类信息进行比对,将装配信息划分为参数信息和算法信息,若装配信息为参数信息,进入步骤s310;若装配信息为算法信息,进入步骤s320。

参数信息是指结构相对固定的信息,参数的种类是固定的,通常只有值不同。

算法信息是指仿真需要的算法,通常以函数形式存储,这类算法包括飞行器上真实使用的算法,例如剔野算法、pid调节算法等。该算法信息还包括仿真时的辅助算法,例如环境模拟算法、部件原理模型。

信息类型判别即判别信息属于参数信息或算法信息,常用的装配信息种类被存在数据库中,每个种类都记录了属于参数信息或算法信息,便于快速划分。人工智能程序员读取装配信息的种类,从底层信息数据库中查询该种类,如果有,则直接读取该种类所属的信息类型。

对于底层信息数据库中没有的装配信息,通过判别信息是否以函数形式存储确定信息类型,该判别方式依据装配信息的信息结构确定函数形式,采用自然规则描述语言prolog对函数进行推理判别,主要通过函数结构特点、函数内容完整性等判据进行推理,从而进行类别划分。

步骤s310:利用底层信息数据库中记录的种类信息进一步对参数信息进行分类:一类信息为飞行器部件信息,二类信息为配置过程信息,进入步骤s311。

飞行器部件信息的数量通常是固定的,例如飞行器的质量信息、外部最大尺寸等。

配置过程信息包含利用固定的格式能够描述的信息,配置过程描述时需要的数量通常是不确定的,如信息流、仿真信息等。信息流描述包括飞行器内单机组数、每个单机组的接口数量、接口类型、飞行器内的总线数量、每根总线与单机组的接口连接关系,总线上包含的信息包、以及包的格式、包的内容等一系列信息。仿真信息记录了用户对仿真的要求,如用什么平台、是否实时仿真、平台下的配置等。

人工智能程序员在底层信息数据库中的参数信息表中进行查找分类,参数信息查找表中设置装配信息的一级分类列,二级种类列,对每个输入的装配信息分别查找其所在的分类列,确认是否属于参数信息,然后再找到参数信息所在的种类列,通过种类列中的种类名称即可得到参数信息的分类。

步骤s311:对飞行器部件信息和配置过程信息进行有效信息提取,并分别完成存储。

对于飞行器部件信息,由于其结构固定,描述方式固定,可直接提取,并将其存储在xml模板中,xml模板的节点包含所有飞行器信息,人工智能程序员将提取的信息存储在xml模板对应的节点中,形成飞行器部件信息xml文档,其中xml模板为人工智能程序员内存中预存的文件。

本实施例中以飞行器质量为例,人工智能程序员首先识别出质量信息,并读取信息的值m,然后打开xml模板,将值m填写到飞行器质量对应节点。

对于配置过程信息,其描述方式固定,但需要对信息进一步加工,主要的加工过程是对信息进行拆分,查询人工智能程序员内存中预存的与配置过程信息相关的数据库表,识别数据库表结构,将配置过程信息按照数据库表结构顺序进行信息的拆分提取,依次填写到数据库表中,形成若干条记录,不断提取直到提取不出一条完整记录为止,这样就得到符合格式化结构的描述方法,并将若干条所述记录存储到配置过程信息数据库中。

本实施例中飞行器信息流信息为,飞行器为一颗卫星,有一个包要从陀螺(gyro)经过陀螺转发器(gyrobox)发送给星上姿轨控计算机(adcs)。通常在记录信息流的时候只记录包从一个部件直接发送到另一个部件,首先识别出该包为转发包,然后对包的起止信息进行存储,再对每段信息进行提取,并分别存储。因此得到的结果如下,该包拆解成3条记录:1该包从陀螺(gyro)发送到星上姿轨控计算机(adcs),为转发包;2发送包第一段信息,该包从陀螺(gyro)发送到陀螺转发器(gyrobox);3发送包第二段信息,该包从陀螺转发器(gyrobox)发送到星上姿轨控计算机(adcs)。再将这些信息依次存储到配置过程信息数据库中。

步骤s320:对算法信息进行结构分析,得到函数间的调用关系,并存至人工智能程序员内部缓存中。

一个复杂的算法通常不是由一个函数构成,而是用一个嵌套函数描述。因此在算法入库过程中,要对算法结构进行分析,首先提取嵌套函数中所有函数名称,在每个函数内查询是否调用其他函数,如果查询到,则记录一条调用关系,遍历嵌套函数中的所有函数,得到函数间的调用关系,从而分析出算法的入口,并记录下来,作为后面信息提取的输入。

步骤s321:对算法信息以及步骤s320的函数调用关系中的通用信息进行甄别替换,替换为特定参量。

通常一个算法要适用任意飞行器甚至任意部件,因此飞行器编号和部件名称属于通用信息,需要甄别出来,并替换成固定字符以便拓展。该步骤也同样对步骤s320中的产生的函数调用关系中涉及到的通用信息进行替换。

本实施例中的做法是将飞行器编号替换成“$$$$”,将部件名称替换成“&&&&”,在书写过程中可以对特殊字符进行识别并还原,例如对于1号飞行器,将“$$$$”还原成“craft1”。

步骤s322:将甄别替换后的所述函数调用关系中的函数名称、函数返回值、形参名称、形参变量类型以及最外层算法名称提取出来,并存储至格式化文件中。

具体执行方法:

需要提取的信息包括所有函数名称,每个函数是否需要声明,函数的输入变量及类型。首先提取所有函数名称,只需要将步骤s320中函数关系中的名称提出即可。然后识别每个函数是否需要声明,变量每个函数,如果满足两个条件中的一个即认为该函数需要声明:条件一,该函数为接口函数,即步骤s320中最外层函数;条件二,该函数被其他函数调用,且该函数位置在调用它的函数的后面。最后在步骤s321替换完的函数中提取每个函数的形参,即函数名后,括号内的内容用“,”隔开的所有内容,再提取每个形参的名称,以及变量类型。

步骤s323:步骤s321中替换后的算法信息采用半格式化方式存储,并将半格式化存储的路径存储至相应格式文件中。

将前几步得到的信息采用格式化和半格式化的方式存储。格式化方式通常采用数据库、xml文件等固定结构格式。半格式化通常采用固定格式的文件存储,如文本文档、c文件、h文件、java文件等。

本案例中,格式化存储在数据库的特定表中。半格式化存储方式采用c文件形式存储,将步骤s321替换完成的代码放入独立的c文件中,并放到源代码库中,本案例中源代码库有两个基本路径:c:\developbase\dsn\digitalsate和用户定义的$sharedpath$,算法信息根据算法类型、单机类型、单机型号、仿真平台等信息进行进一步划分,形成存放文件夹及文件。将函数名称、是否需要声明以及函数对应的源码位置存储到数据库中的一个表中,将每个形参的名称、变量类型、位于哪个函数存在另一个表中。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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