数字卫星姿轨控子系统源代码人工智能书写方法与流程

文档序号:15636025发布日期:2018-10-12 21:29阅读:180来源:国知局

本发明涉及一种源代码的人工智能书写方法,具体而言,涉及一种数字卫星姿轨控子系统源代码人工智能书写方法。



背景技术:

姿轨控子系统是卫星系统的重要组成部分,负责卫星轨道姿态确定与控制,为卫星执行任务提供保障。受限于设计制造的周期和成本,对应每一个卫星的姿轨控子系统设计方案和姿态确定、姿态控制方法都制造一个真实卫星进行飞行验证是不现实的;因此,通常采用数字仿真技术对卫星设计方案或控制方法进行高精度模拟验证。

现有技术中,针对每个卫星都需组织大量人员进行长时间的姿轨控子系统源代码书写、编译和调试,才能开发出一套完整的数字卫星姿轨控子系统。姿轨控子系统较为复杂,完全独立地从零开始开发一套数字卫星姿轨控子系统所需周期较长;此外,相同种类不同型号的卫星可能采用相似的设计方案或采用相同的零部件,完全重新开发存在大量重复性工作,浪费时间和人力;因此,通常选择直接对已有的数字卫星姿轨控子系统进行改造。

然而,卫星的种类和型号不同、采用的敏感器和执行机构不同、开发人员不同,便使得数字卫星姿轨控子系统的组成、结构和源代码书写风格各不相同。对数字卫星姿轨控子系统源代码的改造需要建立在充分了解已有数字卫星姿轨控子系统源代码的组成、结构和书写风格的基础上,开发人员的更替又需要重复进行了解和学习,进而使得开发成本较高。

因此,亟待提供一种数字卫星姿轨控子系统源代码人工智能书写方法,减少数字卫星姿轨控子系统源代码书写的重复性劳动,并提高数字卫星姿轨控子系统源代码的通用性。



技术实现要素:

基于现有技术的不足之处,本发明提供一种数字卫星姿轨控子系统源代码人工智能书写方法,以降低数字卫星姿轨控子系统的开发工作量,缩短开发周期,提高数字卫星姿轨控子系统源代码的通用性。

本发明为了实现上述目的所采取的技术方案是:

数字卫星姿轨控子系统源代码人工智能书写方法,包括以下步骤:

(1)根据卫星的飞行模式、卫星姿轨控子系统部件组合选取结果以及卫星姿轨控子系统部件安装信息分别书写飞行模式定义头文件、部件选取头文件和部件安装信息头文件;所述卫星姿轨控子系统部件包括敏感器、执行机构和控制器;

(2)根据卫星采用的敏感器和轨道姿态确定算法,书写轨道姿态确定算法文件;

(3)根据卫星采用的执行机构和轨道姿态控制算法,书写轨道姿态控制算法文件;

(4)根据卫星飞行模式切换逻辑,书写飞行模式切换控制文件;

(5)根据卫星控制器的敏感信息输入和控制指令输出,书写控制器信息传输文件。

如上所述的数字卫星是按真实卫星的功能、组成、结构、模式、程序、操作所集成的运行在软件模拟的空间环境中的动态模拟仿真系统。

根据卫星姿轨控子系统中飞行模式、卫星姿轨控子系统部件的组合选取结果及安装信息书写头文件,对轨道姿态确定算法、轨道姿态控制算法、卫星飞行模式切换逻辑、卫星控制器的敏感信息输入和控制指令输出进行分类整理,书写数字卫星姿轨控子系统源代码,可缩短数字卫星姿轨控子系统源代码的开发周期,提高开发效率,降低开发成本。

进一步地,敏感器包括陀螺、太阳敏感器、地球敏感器、星敏感器、磁强计、加速度计、全球卫星定位系统等部件的多种组合;执行机构包括发动机、推力器、飞轮、磁力矩器、控制力矩陀螺、精密轮等部件的多种组合。

进一步地,所述步骤(1)中的飞行模式包括:速率阻尼模式、太阳捕获模式、对日定向模式、地球捕获模式、对地定向模式、正常工作模式、应急模式、位置保持模式、姿态机动模式、轨道机动模式等。

进一步地,各所述飞行模式分别包括若干个飞行方式;其中,所述太阳捕获模式包括绕y轴太阳搜索和绕x轴太阳搜索;所述对日定向模式包括对日定向和对日巡航;所述地球捕获模式包括建立斜轴和地球搜索;所述地球指向模式包括2轴对地定向和3轴对地定向;所述正常工作模式包括正常轮控和正常推力器控制;所述应急模式包括应急地球捕获和应急太阳捕获;所述位置保持模式包括东西位置保持和南北位置保持;所述速率阻尼模式包括管路排气和角速度阻尼;所述姿态机动模式包括机动和机动结束保持;所述轨道机动模式包括机动准备、机动和机动结束保持;各种飞行方式通过改变飞行参数取值派生可得到新的飞行方式,各种飞行方式重新组合可形成新的飞行模式。

进一步地,所述步骤(1)中的飞行模式定义头文件包括飞行模式字定义头文件和飞行方式字定义头文件。

进一步地,所述步骤(2)具体包括:

1)统计卫星所用敏感器和轨道姿态确定算法;

2)按照头文件包含、变量定义、初始化函数、固定代码片段、轨道姿态确定算法函数的顺序逐一书写轨道姿态确定算法文件。

进一步地,所述步骤(3)具体包括:

1)统计卫星所用执行机构和轨道姿态控制算法;

2)按照头文件包含、变量定义、初始化函数、固定代码片段、轨道姿态控制算法函数、控制指令分配函数的顺序逐一书写轨道姿态控制算法文件。

进一步地,所述步骤(4)具体包括:

1)根据卫星所安装的敏感器和执行机构的种类、型号以及卫星实际任务需求,确定卫星的飞行模式、飞行方式和监测事件;

2)书写各飞行模式的监测事件与切换判函数;

3)书写飞行模式函数。

进一步地,所述步骤(5)具体包括:

1)根据卫星敏感器数据传输协议,书写敏感器测量信息收发代码;

2)根据控制器时间推进配置结果,书写控制器管理代码;

3)根据遥控指令,书写处理与转发代码;

4)书写遥测数据包。

有益效果:本发明所提供的数字卫星姿轨控子系统源代码人工智能书写方法充分考虑了卫星姿轨控系统中飞行模式和飞行方式存在相似性、部件安装信息描述、飞行模式切换逻辑描述以及源代码书写方式的有限性、轨道姿态确定算法和轨道姿态控制算法的通用性,对姿轨控子系统源代码进行分类划分后采用机器学习的方法完成书写,进而降低了姿轨控系统仿真源代码的开发工作量,提高姿轨控系统仿真源代码的通用性和可扩展性。

具体实施方式

下面结合实施例对本发明进行进一步详述:

实施例1

采用c语言或c++语言对数字卫星姿轨控子系统源代码进行书写,具体方法如下:

(1)头文件的书写:

1)根据卫星的飞行模式书写飞行模式定义头文件;

飞行模式定义头文件包括飞行模式字定义头文件和飞行方式字定义头文件;具体地,采用宏定义的方式定义各飞行模式字和飞行方式字:

其中,飞行模式字宏定义的命名采用飞行模式的英文单词;

飞行方式字宏定义的命名为模式字、连接符和方式字的组合。其中,方式字表示飞行方式的简写或者代号,在实际工程中一般采用数字或者英文字母表示,在本实施例中将其定义为几个英文单词组成的词组,如“速率阻尼”模式下的“角速度阻尼”方式,其方式字为“dampingvelocity”,对应的代号为“01”。

2)根据卫星姿轨控子系统部件组合选取结果书写部件选取头文件;

卫星姿轨控子系统部件包括敏感器、执行机构和控制器;卫星姿轨控子系统通过敏感器采集测量数据,并根据卫星状态或飞行任务进行定姿计算,通过执行机构控制卫星姿态。

其中,敏感器包括陀螺、太阳敏感器、地球敏感器、星敏感器、磁强计、加速度计、全球卫星定位系统等部件的多种组合;执行机构包括发动机、推力器、飞轮、磁力矩器、控制力矩陀螺、精密轮等部件的多种组合。

进一步地,部件选取头文件书写方法如下:

①统计卫星敏感器和执行机构组合的个数;

②对于每个敏感器或执行机构,采用宏定义的形式书写部件选取个数标识;

③部件选取个数标识宏的命名方式包括部件型号、部件类型、便于识别的英文单词或缩写。

3)根据卫星姿轨控子系统部件安装信息书写部件安装信息头文件;

具体方法如下:

①统计卫星敏感器和执行机构安装信息;

②采用数组的形式书写部件安装位置信息和安装姿态信息;

③对于安装位置信息,数组第一维度为部件个数,第二维度为相应部件的安装位置矢量;

如将陀螺安装位置数组定义为gyroinstallposition[2][3],表示一共有2个陀螺,每个陀螺的安装位置包含3个坐标分量;进一步地,gyroinstallposition[0][0]=1.25表示第一个陀螺的安装位置的x分量为1.25,y分量和z分量以此类推为gyroinstallposition[0][1]和gyroinstallposition[0][2]。

④对于安装姿态信息,则有3个维度,数组第一维度为部件个数,第二维度和第三维度以安装向量、安装欧拉角、安装四元数进行描述,并转换为安装矩阵后进行书写,共同组成一个3*3矩阵,如陀螺安装矩阵gyroinstallmatrix[2][3][3]。

(2)轨道姿态确定算法文件的书写:

1)分别统计卫星所用敏感器及其所对应的轨道姿态确定算法;

其中,陀螺的姿态确定算法包括陀螺测角速度、陀螺积分测姿态角;太阳敏感器的姿态确定算法包括太阳敏感器测太阳矢量角、太阳敏感器测滚转俯仰角、太阳敏感器测偏航角;地球敏感器的姿态确定算法包括地球敏感器测地球矢量角、地球敏感器测滚转俯仰角;加速度计的姿态确定算法包括加速度计测量加速度;星敏感器的姿态确定算法包括测姿态角;磁强计的姿态确定算法包括测姿态角、全球卫星定位系统的轨道确定算法包括测绝对位置。

2)按照头文件包含、变量定义、初始化函数、固定代码片段、轨道姿态确定算法函数的顺序逐一书写轨道姿态确定算法文件;

具体方法如下:

①头文件包含的源代码为固定代码,直接拷贝存放在特定位置的源代码文件内容后书写;

②遍历卫星采用的敏感器,读取各敏感器对应轨道姿态确定算法的变量定义固定代码片段并书写;

③按照规范化明确的书写方式书写轨道姿态确定算法文件初始化函数的函数类型、函数名,形参为void;遍历卫星采用的敏感器,逐一书写敏感器安装信息头文件的引用语句;最后读取各敏感器对应轨道姿态确定算法的初始化固定代码片段并书写。

④书写轨道姿态确定算法文件中其它固定代码片段;

⑤遍历卫星采用的轨道姿态确定算法,逐一读取算法固定代码片段并书写。

上述方法通过遍历敏感器及其对应的轨道姿态确定算法,对具有通用性的轨道姿态确定算法文件进行有序的书写整理,以保证所书写的数字卫星姿轨控子系统源代码在姿态确定中的通用性。

(3)轨道姿态控制算法文件的书写:

1)分别统计卫星所用执行机构及其对应的轨道姿态控制算法;

如:推力器的轨道姿态控制算法包括继电型控制、相平面控制、脉宽调制控制;飞轮的姿态控制算法包括比例微分积分控制;发动机的轨道控制算法包括变轨点火控制;磁力矩器的姿态控制算法包括去饱和控制和三轴粗定向控制;控制力矩陀螺的姿态控制算法包括比例微分积分控制;精密轮的姿态控制算法包括步进控制。

2)按照头文件包含、变量定义、初始化函数、固定代码片段、轨道姿态控制算法函数、控制指令分配函数的顺序逐一书写轨道姿态控制算法文件;

具体方法如下:

①头文件包含的源代码为固定代码,直接拷贝存放在特定位置的源代码文件内容后书写;

②遍历卫星采用的执行机构,读取各执行机构对应轨道姿态控制算法的变量定义固定代码片段并书写;

③按照规范化明确的书写方式书写轨道姿态控制算法文件初始化函数的函数类型、函数名,形参为void;遍历卫星采用的执行机构,逐一书写执行机构安装信息头文件的引用语句;最后读取各执行机构对应轨道姿态控制算法的初始化固定代码片段并书写;

④书写轨道姿态控制算法文件中其它固定代码片段;

⑤遍历卫星采用的轨道姿态控制算法,逐一读取算法固定代码片段并书写。

上述方法通过遍历执行机构及其对应的轨道姿态控制算法,对具有通用性的轨道姿态控制算法文件进行有序的书写整理,以保证所书写的数字卫星姿轨控子系统源代码在姿态控制中的通用性。

(4)飞行模式切换控制文件的书写:

1)根据卫星安装的敏感器和执行机构种类和型号以及卫星实际任务需求,确定卫星的飞行模式、飞行方式和监测事件;

飞行模式包括速率阻尼模式、太阳捕获模式、对日定向模式、地球捕获模式、对地定向模式、正常工作模式、应急模式、位置保持模式、姿态机动模式、轨道机动模式等。

各飞行模式分别包括若干个飞行方式。其中,太阳捕获模式包括绕y轴太阳搜索和绕x轴太阳搜索;对日定向模式包括对日定向和对日巡航;地球捕获模式包括建立斜轴和地球搜索;地球指向模式包括2轴对地定向和3轴对地定向;正常工作模式包括正常轮控和正常推力器控制;应急模式包括应急地球捕获和应急太阳捕获;位置保持模式包括东西位置保持和南北位置保持;速率阻尼模式包括管路排气和角速度阻尼;姿态机动模式包括机动和机动结束保持;轨道机动模式包括机动准备、机动和机动结束保持;各种飞行方式通过改变飞行参数取值派生可得到新的飞行方式,各种飞行方式重新组合可形成新的飞行模式。

监测事件包括时间是否超时、姿态角控制精度、姿态角速度控制精度、太阳可见性、地球可见性、太阳矢量角控制精度、地球矢量角控制精度等。

2)书写各飞行模式的监测事件与切换判断函数;

①时间是否超时监测事件包括时间超时、时间未超时2种监测结果,监测参数包括当前时间和超时时间;

②姿态角/角速度控制精度监测事件包括姿态角/角速度控制满足精度要求、姿态角/姿态角速度控制精度不满足要求2种监测结果,监测参数包括当前姿态角/角速度、期望姿态角/角速度、姿态角/角速度精度阈值和姿态角/角速度满足精度计数标识;

③太阳/地球可见性监测事件包括太阳/地球可见、太阳/地球不可见2种监测结果,监测参数包括太阳/地球可见性标识和太阳/地球可见计数标识;

④太阳/地球矢量角控制精度监测事件包括太阳/地球矢量角控制精度满足要求、太阳/地球矢量角控制精度不满足要求2种监测结果,监测参数包括太阳/地球矢量角精度阈值和太阳/地球矢量角满足精度计数标识;

⑤对于每个监测事件的监测结果,设置一个计数标识并初始化为0,监测事件满足则计数标识自加1,否则归0;

⑥根据切换逻辑书写切换条件的逻辑表达式,在条件判断语句中将待切换的飞行方式字赋值给卫星的当前飞行方式字,接着书写模式切换函数调用语句。

3)书写飞行模式函数;

①将飞行模式函数划分为飞行模式切换控制函数和飞行参数赋值函数,均采用多分支选择语句作为函数主体结构;

②书写多分支选择语句,将当前飞行方式字作为分支选择判断条件;

③将卫星的所有飞行方式字作为分支选择;

④对于每个飞行方式字,在飞行模式切换控制函数的分支选择中书写算法调用语句,在飞行参数赋值函数中书写飞行方式参数、监测事件参数、算法参数的赋值语句;

⑤书写控制系统模式切换显示与打印函数调用语句;

⑥函数返回值为当前飞行方式字。

上述方法对飞行模式中的监测事件、切换逻辑进行规范化定义,提高数字卫星姿轨控子系统源代码的书写效率,并保证了所书写的数字卫星姿轨控子系统源代码的可拓展性。

(5)控制器信息传输文件的书写:

1)根据卫星敏感器数据传输协议,书写敏感器测量信息收发代码;

传输协议包括但不限于一问一答、一问多答的形式。

控制器向各敏感器发送指令,设置敏感器测量数据的发送次数和发送间隔时间;发送次数决定敏感器测量数据向控制器发送的次数,发送间隔时间决定敏感器两次测量数据向控制器发送的时间间隔。

2)根据控制器时间推进配置结果,书写控制器管理代码;

控制器管理事件包括飞行控制操作、指令发送、模拟时延、轨道递推等。

采用多分支选择语句书写控制管理代码;指令发送、模拟时延事件在每个仿真周期中均执行,在多分支选择语句外书写;飞行控制操作、指令发送事件间隔多个仿真周期执行一次,在多分支选择语句中作为一个分支选项书写。

3)根据遥控指令,书写处理与转发代码;

针对控制器的遥控指令,通过信息传输发送到控制器数据收发文件后,给相应的状态量赋值;其中,针对控制器的遥控指令包括模式切换指令、姿态机动角度设定指令、部件选取设定指令、发动机点火指令、建立斜轴指令等。

4)书写遥测数据包;

控制器的遥测数据包括飞行模式、当前所用敏感器、当前所用执行机构、敏感器测量值、推力器开关状态、飞轮转速等。

根据卫星实际遥测协议,将数据组包后发送至星务数据管理模块。实际遥测协议包括波道分配方式、ccsds协议方式等。

以上仅是本发明的优选实施方式,本发明的保护范围并不仅限制于本文所示的实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干修改和润饰也应视为本发明的保护范围。

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