叶志玲,黄晓峰,顾 明
(北京空间飞行器总体设计部,北京 100094)
月球探测器具有距离地球远、飞行时间长、所处环境动态多变等特点,导致月球探测器的操作和控制与近地卫星存在很大区别,例如上传指令的延迟、星体的空间遮挡、低数据传输率、长期可靠运行等,利用地面测控站进行月球探测器的遥测和遥控已经很难满足探测器控制的实时性和安全性要求。月球探测器自主技术即通过在探测器上构建自主运行管理平台,自主地进行工程任务与科学任务的规划调度、命令执行、星上状态的监测与故障时的系统重构,完成无人参与情况下的探测器长时间自主安全运行,已经逐渐成为月球探测领域未来发展的一项关键技术。
“嫦娥4 号”任务的重大特点是基于中继链路进行测控数传通信,在月球背面进行软着陆并开展科学探测。需要利用自主运行技术解决如何降低中继链路的使用风险,确保中继链路故障情况下关键事件、关键分系统的安全性与可靠性的难题。
针对“嫦娥4号”在月球背面进行软着陆并开展科学探测的任务目标,从以下3个方面获取自主运行的需求。
1)应对月球背面未知风险
“嫦娥4 号”在月球背面利用中继链路进行测控数传通信,人类对月球背面地形地貌了解甚少,着陆点附近是否存在中继链路遮挡?若存在遮挡如何有效地进行故障诊断,并在中继星轨迹离开遮挡时如何快速重新建立中继链路?这些都是迫切需要解决的问题。
2)降低中继链路使用的风险
当中继链路出现异常时,器上设备需要具备自我管理功能,减少对地面控制依赖,为排除中继链路异常创造时间与可能。
3)保证关键事件完成的可靠性与精准性
在“嫦娥4号”的整个任务阶段,有若干个影响任务成败的关键事件,例如器箭分离、动力下降、两器释放分离、休眠唤醒等。这些事件时序要求强,不能中断。如何让器上执行这些关键事件时,不受中继链路因素的影响,提高关键事件完成的可靠性与精准性,也是不容忽视的问题。
根据获取到的自主运行需求,从完善自我诊断及重构能力、增强未知风险应对能力、增加核心设备的自主管理能力、保证关键事件完成的可靠性与精准性4个方面制定策略。
作为整器自主运行核心的自主运行管理平台,首先要保证自身高可靠高安全的工作。自主运行管理平台由软件和硬件协同工作而实现的,除了硬件进行备份、冗余设计外,软件也需要提供一系列的自我诊断与重构设计。
1)重要数据和器上时间备份在多个RT 终端中,确保了当一个终端发生故障时,重要数据仍能恢复。
2)应用软件具有在轨维护功能,提供对软件功能模块(构件)在轨修改、更换的支持能力。
3)总线消息的重试设计,为了更好地利用A、B总线的热冗余功能,提高系统的可靠性,对不同的消息采用了不同的重试方法。
4)对各个RT终端的A、B总线进行轮检,检查周期为1 s(A、B 总线间隔交替),若与所有总线的通讯都不成功,在软件自主切机使能时切机。
5)内存自检功能,周期性地读取内存数据,若发生单bit 错误,则将读出数据进行回写,纠正单bit错误;若发生双bit 错误,在软件自主切机使能时切机,否则复位。将1 M内存全部读取周期时间不超过3 h。
6)对器上时间停止检查功能,自主切机使能时,SMU 应用软件以64 个时间片(约7.68 s)为周期对器上物理时间进行检查,如果连续3 次均未变化,则认为时间已停止,进行自主切机。
当飞行阶段在轨姿态异常,测控指向未知,不能与地面建立上下行链路时,器上会自动启用启旋控制功能;当落月后受到月球背面地形地貌遮挡,不能与中继星建立前返向链路时,器上会自动启用月面工作段返向天线自主切换管理功能,让整器以第一时间能与离开遮挡的中继星建立前返向链路,把未知因素带来的风险降到最低。
1)启旋控制功能:通过监视和分析地面指令到达情况,软件可发出指令使整器按预先设置以小角度自动旋转,直到地面捕获接收到上行指令,停止自身旋转,恢复上下行链路。
2)月面工作段返向天线自主切换管理:实现月球背面工作阶段对返向天线的状态诊断和自主切换。通过监视和分析地面指令到达情况,软件可自主执行包含有开关指令和软件指令的复合型指令序列,实现从定向天线返向链路到全向天线返向链路的切换。
器上平台系统是探月任务的保障,当中继链路出现异常时,在不依赖地面控制的前提下,热控自主管理功能、蓄电池组过放电保护功能保证器上能源的可靠与稳定;高压自锁阀控制管理功能、轨控管路超压管理功能保障推进分系统的可靠工作;测控固态放大器超温断电自主管理功能保障测控分系统的安全工作。自主管理任务的实现,为排除中继链路故障创造时间与可能,大大降低了中继链路的使用风险。
1)热控自主管理功能:改进并增强加热器自主控制功能,在“嫦娥3号”加热器自主控制功能的基础上,除了扩展加热器数量和更新控制参数外,改进提高控制策略的灵活性,满足热敏电阻和加热器多模式选用要求和复杂组合关系。
2)蓄电池放电保护功能:改进并增强蓄电池放电保护功能,在“嫦娥3号”蓄电池放电保护功能的基础上,增加程控总线指令能力,满足了载荷类型变化、控制要求精细度提高的要求。
3)高压自锁阀控制管理功能:实现高压自锁阀故障自主诊断和阀门控制管理,根据装订的策略和参数,筛选压力遥测并进行分析处理,组合条件判断确定状态区间,选择执行对应的处理流程,自主调节高压自锁伐管路压力。
4)轨控管路超压管理功能:实现推进轨控管路超压故障自主诊断和阀门控制管理,根据装订的策略和参数,筛选管道压力遥测并进行分析处理,组合条件判断确定状态区间,选择执行对应的处理流程,自主调节轨控管路压力。
5)测控固态放大器超温断电自主管理功能:实现对X 频段测控固态放大器自主超温诊断和断电控制,根据装订的策略和参数,筛选固放温度遥测并进行分析处理,组合条件判断超限后,自主执行相关测控开关指令序列,实现X 频段测控固态放大器关闭保护。
在“嫦娥4号”的整个任务阶段,有若干个影响任务成败的关键事件,例如器箭分离、动力下降、两器释放分离、休眠唤醒等。这些事件时序要求强,不能中断。如何让器上执行这些关键事件时,不受测控链路因素的影响,提高关键事件完成的可靠性与精准性,无疑需要利用器上自主管理的方法来解决。
1)星箭分离程序控制功能:通过判断星箭分离信号,来启动星箭分离以后的程控指令,按预先设置时序完成火工品控制电路加电,贮箱增压、姿控管路推进剂充填、太阳翼解锁、转移机构第一次解锁、火工品控制电路断电、切换测控工作模式等功能。
2)动力下降、休眠延时指令链功能:新增对制导/导航与控制技术(Guidance Navigation and Coutrol,GNC)分系统的延时注入数据管理和发送功能,为姿态轨道控制数据和GNC 指令提供存储管理和按时输出功能,解决了月球背面动力下降阶段短时间内大量控制指令及时、准确、可靠执行的关键难题。
3)唤醒自主状态设置:唤醒后自主进行状态设置,对器上设备自主开机,按预期设置测控状态,自动开启两相流体回路自主关闭功能,实现两项流体回路自主管理。能够根据筛选的遥测数据分别对+Y两项流体回路和-Y两项流体回路进行状态判断,自主执行相应的指令计划,完成回路自主关闭。
根据自主运行策略设计一套平台来实现自主运行任务。充分继承探月成熟计算机硬件设计作为自主运行管理平台的硬件环境。大力挖掘软件能力,充分合理利用有限的器载计算机计算处理能力和存储资源,在软件应用层利用构件化设计增加自主运行任务模块,提升着陆器信息化、智能化水平,丰富和增强软件自主运行能力以减少对地面控制的依赖。此方案通过尽可能多地采用经飞行试验验证过的硬件和软件构件以提高系统的可靠性。不仅可缩短航天器开发的周期、节约经费,又有助于提高数管系统及其设备的通用性,易于满足不同航天器飞行任务的需要,避免重复开发。
自主运行管理平台由硬件平台和软件平台构成见图1,硬件平台继承成熟产品,不需要重新开发,软件平台分为操作系统层与应用层。底层是嵌入式实时操作系统,应用层包括通用任务模块与自主运行任务模块。通用任务模块包括遥测、遥控、指令输出、复接下传、数据交换、总线通信等基础功能。自主运行任务模块对软件可靠性、容错性、可用性、自主管理等方面的支持,包括提供资源与状态的监控、飞行任务监控处理、信息处理、地面控制信息处理、远程加载与维护、故障诊断与处理、事件通知、任务规划等功能。
图1 CE-4自主运行管理平台体系结构图Fig.1 Architecture of platform of autonomous operation and management
3.2.1 操作系统层
实时多任务操作系统为应用软件提供操作接口,以完成应用软件的实时多任务并发调度运行。操作系统采用微内核的结构,同时具有程序动态连接和下载的功能。支持可抢占的调度,支持优先级翻转协议。充分考虑操作系统的功能、性能、可靠性、可维护性和继承性,选用ASOS作为自主运行管理平台的操作系统。
系统软件由3个主要部件组成:BSP支持包、内核和接口管理器,采用分层的设计思想,其体系结构如图2所示。
图2 系统软件体系结构图Fig.2 Architecture of system software
图2描述了系统软件设计的3 个层次,3 个模块共同组成一个完整的支撑性软件,为底层的硬件和上层的应用软件架设一座桥梁:为上层的应用软件封装了底层硬件的实现,提供系统调用服务;同时为应用任务提供多任务的运行环境,中断管理的支持,任务间的通信机制及定时器的支持。
1)板级支持包(BSP)模块:ERC32 处理器的初始化和启动代码,完成ERC32 处理器串口和RTC定时器的初始化,封装对其的操作;建立原始的中断向量表;完成内存检测、初始化以及数据段的搬移、非初始化数据段的初始化;同时初始化内核模块和接口管理器中的数据结构,建立系统的运行环境。
2)内核模块:系统软件底层的设计实现,为接口管理器提供服务,调用板级支持包中相应的功能模块完成底层硬件的操作。主要包括进程管理模块、双向链表管理模块、消息队列管理模块、定时器管理模块、时钟管理模块、工作空间管理模块、中断管理模块;内部错误管理模块。
3)接口管理器:是应用程序直接调用的系统服务,将应用任务的调用转化到内核模块实现,是系统软件的外部接口。其由任务管理器、消息队列管理器、定时器管理器、中断管理器、I/O 接口管理器组成。
3.2.2 应用层
应用层的设计采用面向数据流的方法,根据自主运行策略,逐一分解各个功能需求,按照数据流向划分任务模块,应用层的任务模块划分如图3所示。通用任务实现探测器的常规功能,自主运行任务实现了故障诊断与处理、飞行任务监控处理、关键事件自主执行等功能。并逐一联合实现了自主运行策略所提到的功能。
图3 应用层任务模块Fig.3 Assignment module of application layer
利用已划分好的任务对应用软件做顶层设计,将应用软件划分为11 个进程,各项任务需求与软件进程之间的对应关系如表1所示。通用任务所对应的内务管理进程、遥测进程、数据交换进程、复接下传进程、机构控制进程、串口通信进程已有成熟构件,不需改动与重复开发;自主运行任务所对应的遥控接收进程、指令处理与输出进程、自主管理进程、自检测进程、内务管理进程需要升级或重新研制。
以自主管理进程中的蓄电池放电保护功能为例,详细说明软件的实现过程。该功能对用电设备划分优先级,在蓄电池组放电时,监视各个电池个体的电压,统计电压低于放电保护阈值的个体数量,根据低压电池个数关闭对应优先级的设备。实现步骤如下:
表1 应用层功能分解表Table 1 Function analyzing of application layer
1)对全部N个电池个体,分别设定其放电保护阈值(单位为电压单位:伏特);
2)对所有需要蓄电池供电的设备,按照其功能作用,分配优先级,优先级的取值范围为从1~N,数值越大优先级越高,表明设备越重要,应尽量保证对其供电,优先级取值可以不连续,也可以有多个设备优先级相同;
3)蓄电池处于放电模式时,周期采集各个电池个体的电压值,分别与其放电保护阈值相比较,统计电压低于放电保护阈值的电池个数M;
4)将M与各个设备的优先级比较,对于优先级不高于M的设备发出关闭指令。
在第4)步中,为了减少工作量提高检查比较的效率,可将各个设备按优先级由低到高排序,并记录下已被关闭的设备信息(如关闭设备个数或优先级),只检查比较尚未关闭的设备,检查至出现优先级高于M的设备即停止,流程图如图4所示。
图4 蓄电池放电保护功能模块流程图Fig.4 Floor-process diagram of storage battery discharged protect
此构件的实现可以根据蓄电池组中各电池个体的电压情况,在电量减少时分级别、分批次停止对用电设备的供电,保护蓄电池避免过度放电,并减少对重要设备正常工作的影响。
将表1中自主运行任务所对应的构件全部实现,最终完成了自我诊断与重构能力,包括:RT 轮检、总线重试、内存自检、时间检查、在轨维护、复位切机后重要数据及状态恢复等功能;增强未知风险处理能力,包括:启旋控制功能、月面工作段返向天线自主切换管理功能的实现;并增加核心设备热控、蓄电池组、高压自锁阀、轨控管路、测控固态放大器的自主管理能力;在器箭分离、动力下降、两器释放分离时刻按预期自主准确发令,保证关键事件精准执行同时保证休眠唤醒后状态的可靠设置。
通过在轨飞行验证,“嫦娥4 号”自主运行技术的运用除了完善自我诊断及重构能力,还增强了对未知风险的应对能力,增加核心设备的自主管理能力,保证关键事件完成的可靠性与精准性。在“嫦娥4号”发射飞行、月背着陆、月面工作、休眠唤醒的全过程中经历了所设计的全部工作模式,自主管理功能均工作正确完全符合预期,得到了实际检验,并有力支持了任务圆满成功。