APP下载

基于HLA 的空间站应用任务分布式仿真验证系统

2020-07-02史璐莎

载人航天 2020年3期
关键词:联邦航天员空间站

史璐莎,耿 莹

(中国科学院空间应用工程与技术中心,北京100094)

1 引言

载人航天空间站阶段将开展多领域的空间科学研究、空间应用和技术试验[1]。 依托礼炮号空间站、和平号空间站和国际空间站,苏联、俄罗斯、美国、日本和欧洲航天国家已开展大量的空间应用任务研究[2],中国也在天宫二号空间实验室上完成了部分应用任务试验[3]。 相对于天宫二号,中国空间站的应用任务领域更多、体量更大。

空间站任务规划以美国最为系统化,已形成了较为完善的任务规划概念体系,成功应用于国际空间站[4]。 国内林鲲鹏[5]提出了空间站长期运营任务方案离散事件仿真方法;罗晓燕[6]提出了以松耦合架构构建多任务集成能力的有效载荷任务仿真系统;邱冬阳等[7]提出了启发式规划方法和基于并行计算的问题求解方法;卜慧蛟[8]系统地研究了空间站在轨任务规划技术,除此以外,牟帅[9]、李剑等[10]都针对中国空间站开展了任务规划研究。 但目前国内的研究均未应用于中国空间站的实际运营,规划结果的可行性未得到验证。 本文的目的是对任务规划结果进行逆向验证,以任务规划结果作为输入,研制基于高层体系架构的空间站应用任务分布式仿真验证系统,对应用任务过程进行仿真,从而支持应用任务规划结果的验证评估。 同时,空间站应用任务仿真验证系统也是空间站地面虚拟镜像系统的重要组成部分。

2 空间站应用任务分析

空间站应用任务之一是进行多学科领域的科学实验、应用新技术试验和空间应用试验。 应用任务涉及空间生命科学与生物技术、微重力流体物理和燃烧科学、空间材料科学、微重力基础物理、空间地球科学及应用和空间应用新技术试验等8 个领域[1]。 不同领域应用任务差异较大,即使相同领域应用任务在项目申报中描述颗粒度也各不相同。 在已确定应用任务必要性的基础上,忽略其本身的科学意义和任务过程细节,对各个领域应用任务统一分析与建模,有利于应用任务的规划和仿真。

空间站应用任务的影响因素如图1 所示,主要包括空间环境因素影响、发射任务、可用资源、有效载荷、航天员、任务规划结果序列等条件的影响。

图1 空间站应用任务的影响因素Fig.1 Influencing factors of the space utilization mission

空间环境因素的影响为应用任务成功实施所需的环境条件,包括空间站轨道、姿态、大气、微重力、辐射、磁场等;发射任务包括空间站舱段、载人飞船和货运飞船的发射,为应用任务实施提供场所、实验环境、所需资源、有效载荷等;可用资源包括舱段可用资源和实验柜可用资源,指应用任务实施过程中需消耗的水、电、散热、气体供应等,受应用任务执行情况的影响和发射任务影响;有效载荷是应用任务实施的关键,分为实验样品、实验装置、实验设备、返回样品、废弃物等,具有一种或多种工作模式,运行时消耗资源;航天员影响执行过程中需要航天员操作配合的应用任务,航天员上下行计划、作息计划和工作类型预先指定,应用任务需根据航天员进行调整;任务规划结果序列作为整个仿真系统的运控输入,包括任务运行计划和载荷上下行计划,为仿真系统的运行大纲。

综上,空间站应用任务的仿真涉及多学科、多领域,复杂度高,采用常规仿真方法通常难以实现,而基于高层体系架构(High Level Architecture,HLA)的分布式仿真已成为解决这类问题的主要方案之一[11]。 同时,基于HLA 的分布式仿真还具有可重用、可扩展等优势。

3 仿真框架设计

3.1 FEDEP 简介

HLA 是美国国防部于1995 年提出的实现分布式仿真的中间件。 根据IEEE1516.X 标准,HLA包括HLA 规则、对象模型模板、HLA 接口规范、联邦开发和运行过程(Federation Development and Execution Process,FEDEP)4 部分。 其中FEDEP为美国国防建模与仿真办公室公布的用于开发分布交互式仿真系统的软件工程方法。 根据IEEE1516.3 标准,FEDEP 的基本内容包括7 个步骤,这些步骤将需要解决的问题从抽象的逻辑概念初步转化为具体的物理实现[12],对于确定在联邦开发过程中的关键任务具有重要的指导意义,其基本内容如表1 所示。

表1 FEDEP 模型的基本内容Table 1 The basic content of FEDEP

3.2 仿真联邦框架

依据空间站应用任务分析结果与实际任务运行场景,设计仿真想定,识别其中参与者与关键变量,开发联邦概念模型。 仿真场景想定如图2 所示,场景中主体包括运控、载荷、航天员、飞船、舱段、资源持有者、环境、监控、应用任务。 其中,载荷、航天员、飞船、舱段和应用任务均对应相应的实体;环境包括空间站轨道、姿态、大气、微重力、辐射、磁场等;资源提供者包括舱段和实验柜;运控对应任务规划结果;监控对应仿真过程的观察者和记录者。

分析联邦仿真剧情中的角色,可分为:长期运控、短期运控、运输、任务、载荷、资源、航天员、环境和监控9 种。 基于HLA 的设计仿真框架如图3所示,包括应用任务仿真数据库和仿真联邦两部分。 数据库存储应用任务数据及联邦初始化数据,仿真联邦包括长期运控成员、短期运控成员、运输类成员、任务类成员、载荷类成员、资源类成员、航天员类成员、环境类成员和监控类成员9 大类,对应仿真剧情中的9 类角色。

图2 仿真场景想定Fig.2 Simulation scenario

图3 空间应用任务分布式仿真框架Fig.3 Distributed simulation framework of space utilization mission

仿真系统以运控成员为推动方,控制整个时间轴上的事件。 其中长期运控成员解析任务规划结果中的载荷上下行规划,控制仿真时间轴上的载荷、飞船、舱段上下行;短期运控成员解析任务执行计划,控制任务的开始;运输成员仿真飞船和舱段的发射和回收过程;任务成员仿真任务运行过程,包括运行过程中所需要使用的载荷、航天员,主动占用载荷、航天员;载荷成员是一个被动的成员,响应运输成员的状态、任务状态,修改自身属性;资源成员也是一个被动的成员,响应载荷对资源的占用情况,修改自身属性;航天员成员根据自身作息规律作息,并根据运输成员状态和任务状态修改自身属性;监控记录仿真过程中载荷、资源、航天员超限的情况及环境不满足的情况;环境成员仿真空间站运行环境,实时计算空间站的位姿、大气、微重力条件、太阳辐射、日月位置、磁场等。

3.3 应用任务仿真数据库

应用任务仿真数据库如图4 所示,应用任务仿真数据库存储联邦配置参数、应用任务参数和仿真过程参数,按应用任务仿真的颗粒度需求进行设计。 联邦成员从数据库读取联邦配置参数和应用任务参数,完成联邦成员初始化;存储联邦运行过程中的数据,用于结果分析和仿真过程重现。以上设计保证规划和仿真数据的一致性。

4 联邦成员建模

4.1 应用任务分解

空间站应用任务规划和仿真建模时,需要忽略任务本身的科学意义,集中关注任务的频次、持续时间以及过程中可能受到的影响,如此可将各领域应用任务抽象为统一的任务过程模型。

应用任务分解模型如图5 所示。 为了适应离散仿真系统的需求,将应用任务分解为子任务,同一个主题的应用任务按子项或频次划分子任务;子任务再进一步分解为阶段,子任务按过程中所需载荷、资源、航天员、环境要求划分阶段。

应用任务按上述方式进行分解后,存储在数据库中,供仿真时联邦的初始化。

4.2 联邦成员建模

图4 应用任务仿真数据库Fig.4 Database of utilization mission simulation

图5 任务分解模型Fig.5 The model of mission decomposition

图6 联邦成员静态模型Fig.6 The static model of federate

联邦成员的静态模型如图6 所示,表明了联邦成员模板、基础类和联邦成员间的依赖和继承关系。 其中,联邦成员模板XXFedTemplate 依赖读数据库类XXDataReader、写数据库类XXDataWriter和工具类XXUtils,按RTI 编程规范编写,完成基于HLA 的集成,实现各类联邦成员的框架功能。 基础类XXDataReader 读取数据库中的联邦成员配置参数和任务参数; XXDataWriter 将仿真过程中的数据写入数据库中; XXUtils 为核心算法和其它支撑功能。 联邦成员模板XXFedTemplate 满足联邦成员的可重用性,联邦成员XXFed1、XXFed2 和XXFedN 继承XXFedTemplate,实现具体的功能。各类成员详细建模说明如下:

1)任务成员继承模板MisFedTemplate,模拟任务开始、中断、继续、结束的运行过程。 任务运行流程如图7 所示。 任务成员从数据库中读取指定的任务信息,包括任务代号、任务分解的子任务、子任务的各阶段持续时间、各阶段所需的载荷及工作模式、航天员、环境需求等,完成联邦成员的初始化;任务联邦成员在接收到子任务开始信号后,与自身信息进行匹配,若匹配成功,则按子任务所需的阶段提出载荷、航天员、环境需求,并根据自身阶段信息进行计时,若在计时结束前未收到中断信号,则该阶段成功,进入下一阶段,收回上一阶段的载荷、航天员、环境需求,发布新的需求并计时,直到整个子任务完成;若在计时过程中收到中断信号,则判断能否中断,可以中断的保存当前状态并进入中断,停止计时,不能中断则判定任务失败;接收到任务继续信号时,从保存的状态开始继续计时,直到子任务完成。 联邦成员运行过程中,实时往数据库中写入当前运行情况,供后续分析和回放。

图7 任务成员运行流程Fig.7 The running process of MisFed

2)运输成员分为舱段、载人飞船和货运飞船3 类,继承TransFedTemplate,模拟舱段、载人飞船、货运飞船的上行以及载人飞船和货运飞船的下行。 运输成员从数据库中读取舱段/飞船的上下行计划和运输能力参数,完成自身的初始化设置。 随着仿真时间推进,运输成员在计划的时间节点处发出上行/下行信号以及上行/下行完成信号,以便搭乘该舱段/飞船的载荷、航天员、资源成员修改自身状态。 同时,运输成员对外发布自身运输能力,以便监控成员判断是否超出质量或体积限制。

3)载荷成员继承模板PayFedTemplate,模拟一组载荷的状态变化。 载荷成员运行流程如图8所示。 载荷成员从数据库中读取指定的载荷数据,包括载荷代号、名称、上下行信息、工作模式、各工作模式消耗的资源情况等,完成载荷成员的初始化;接收到待上行信号后,与载荷代号进行匹配,若匹配成功,则修改载荷状态为正在上行,待接收到上行成功信号后,修改状态为已上行;接收到载荷占用需求信号时,若载荷为空闲状态,则修改载荷状态为占用,并根据所需的工作模式,发布载荷的资源需求;接收到载荷释放信号时,修改载荷状态为空闲,并停止发布资源需求;接收到载荷待下行信号时,与载荷代号进行匹配,匹配成功则修改载荷状态为下行中。

4)资源成员继承模板ResFedTemplate,模拟实验柜和舱段2 类实体资源变化情况。 初始化时从数据库读取各自拥有的资源总量。 运行时根据运输成员的上下行、载荷所需资源调整资源剩余状态。

图8 载荷成员运行流程Fig.8 The running process of payFed

5)航天员成员继承模板AstroFedTemplate,模拟航天员乘组状态。 初始化时从数据库读取各自上下行计划、作息计划和技能信息。 运行时根据运输成员的上下行和应用任务的需求,调整乘组内航天员的状态。

6)运控成员分为长期运控和短期运控。 长期运控成员LOCFed 解析任务规划结果中的载荷上下行规划并发布。 短期运控成员OCFed 解析任务规划结果中的任务运行序列,发布子任务开始、中断、继续、结束信号。

7)环境成员EnvFed 模拟空间环境。

8)监控成员MonitorFed 监控载荷、资源、航天员的情况,作为判断任务规划结果是否可行的依据。

4.3 对象模型模板

对象模型模板(Federation Object Model,FOM)包括对象类和交互类,两者没有明确的界限,即用对象类表示的交互信息也可用交互类来表示,反之亦然。 但通常状态下,对象类用于表示对象的属性或状态的信息,交互类用于表示成员间相互通信的信号。 联邦成员建模完成后,根据联邦成员间的交互信息,建立FOM 表,并用程序语言开发FomUtils 包作为公用类,便于后续联邦开发。 FomUtils 包对应于FOM 表中的对象类和交互类,如图9 所示。

图9 FomUtils 包Fig.9 FomUtils package

4.4 仿真时序

在时间推进的分布式仿真系统中,为保证计算结果的正确性,需确保各节点按正确的时序执行。 本系统采用的策略是保证在一个仿真周期内无闭环,即在同一个周期内,某一个联邦成员发布的消息经过其它联邦成员处理后生成反馈消息,该成员不会在该周期内对其进行处理。 为了达到该目的,对联邦成员加入联邦的时序进行控制,如图10 所示。

图10 仿真时序图Fig.10 Simulation timing

5 原型系统开发与运行

选取空间生命科学与生物技术、微重力流体物理、空间材料科学领域的10 个科学实验任务作为原型系统的对象,开发原型系统。 要求选定的10 个应用任务存在时间、载荷、资源、航天员等方面的竞争关系及载荷上下行需求,以便于任务规划结果的验证。 选取空间站位于同一个舱段的10 个应用任务作为系统的仿真目标。

原型系统采用MySQL 数据库作为配置参数和应用任务参数数据库,MongoDB 数据库作为仿真过程数据库,并开发数据库访问接口。

原型系统仿真联邦包括11 个运输类成员、1个长期运控成员、1 个短期运控成员、3 个资源类成员、12 个载荷类成员、4 个航天员类成员、10 个任务类成员、5 个环境类成员和8 个监控类成员,共计55 个成员。

原型系统在选定的10 个应用任务规划结果的驱动下已成功运行,图11 为任务运行的甘特图。 从图中可看出,在该任务规划下存在时间重叠的子任务,如表2 所示。

对时间重叠子任务运行过程中载荷、航天员、资源情况进行如下分析:

1)1 号时间重叠中子任务N-03-01、N-04-01与后2 个子任务不存在载荷交叉和资源冲突;子任务N-06-02 与子任务N-07-01 存在载荷P-18、P-19 交叉,但交叉载荷可支持2 个任务并行,如图12 所示;4 个子任务运行过程中最多需要1 个航天员,不存在航天员冲突。

图11 任务运行甘特图Fig.11 Gantt chart of mission operation

2)2 ~5 号时间重叠中子任务中的4 个子任务间不存在载荷交叉和资源冲突;不存在航天员冲突。

3)6 号时间重叠中子任务中的N-03-01、N-04-01、N-10-01 与其它子任务不存在载荷交叉和资源冲突;子任务N-01-01、N-02-01 存在载荷P-12、P-13、P-24 交叉,但交叉载荷可支持3 个及以上任务并行;5 个子任务运行过程中最多需要2个航天员,不存在航天员冲突。

表2 时间重叠子任务Table 2 Node mission overlapped in time

图12 载荷可支持任务并发数Fig.12 Concurrent mission number that payload supported

4)7 号时间重叠中子任务中的N-10-01 与其它子任务不存在载荷交叉和资源冲突;子任务N-01-01、N-02-01、N-02-02 存在载荷P-12、P-13、P-24 交叉,但交叉载荷可支持3 个及以上任务并行;4 个子任务运行过程中最多需要3 个航天员,不存在航天员冲突。

综上,仿真结果表明应用任务的规划结果可行。

6 结论

针对空间站应用任务仿真这一多领域复杂问题,本文设计了一种基于HLA 的分布式仿真框架。

1)将联邦仿真剧情中的角色分为长期运控、短期运控、运输、任务、载荷、资源、航天员、环境和监控9 种,与角色对应建立9 类仿真联邦成员。

2)将应用任务分解为子任务,子任务再进一步分解为阶段;对每类联邦成员建立联邦成员模板XXFedTemplate 以满足联邦成员的可重用性;采用在一个仿真周期内无闭环的策略保证各节点按正确的时序执行。

3)基于选定的10 个科学实验任务开发了仿真验证系统,结果表明,各任务在运行过程中无载荷、资源、航天员冲突,应用任务规划结果合理可行。 仿真系统能够很好地支持应用任务规划结果的验证。

4)原型系统结果表明规划结果排布比较松散,仍然存在优化的空间。 后续将在原型系统基础上扩展,支持更多数量的应用任务仿真,并开发仿真显示界面,以便更加直观地监控仿真运行过程。

猜你喜欢

联邦航天员空间站
天壤之别的空间站内行走和太空行走
空间站为什么不会掉下来
写给航天员的一封信
首个第三代空间站——“和平号”空间站
春节前写给航天员的一封信
一“炮”而红 音联邦SVSound 2000 Pro品鉴会完满举行
我要当航天员
来吧,少年航天员
303A深圳市音联邦电气有限公司
空间站夺宝