朱立颖,叶志玲,李玉庆,付中梁,徐 勇
(1.北京空间飞行器总体设计部,北京 100094;2.哈尔滨工业大学航天学院,哈尔滨 150001;3.国家国防科工局探月与航天工程中心,北京 100190)
小天体探测作为深空探测的重要组成部分,是人类探索和开发浩瀚宇宙的主要途径,世界各国都竞相开展各自的小天体探测任务和计划,掀起了新一轮深空探测活动的热潮。小天体探测航行距离远、时间长,探测任务复杂,通过上传详细命令序列的方式来操作和控制小天体探测器的方法受到严峻地挑战。探测器与地球距离的增加,以光速传输数据的通讯时间延迟可能达到半个小时之多;探测器与地球之间存在遮挡,可能造成长时间与地球失去联系;通过地面发送指令来控制的方式是开环控制,某个命令稍有错误便会引起数据的丢失,甚至整个任务的失败;在命令序列执行过程中的意外的硬件故障和环境的不可预期变化将引起探测器的状态偏离,从而导致探测器抛弃上传序列并进入安全模式,等待地面再次产生新的命令序列。因此小天体探测自主任务规划技术受到广泛关注。
对于自主任务规划技术,国外以美国为代表,已经开发了一些规划系统,例如美国国家航空航天局(National Aeronautics and Space Administration,NASA)针对火星探测器研发了MAPGEN[1]、Mr SPOCK[2]和SPIFE[3]任务规划系统;针对以哈勃望远镜为代表的太空望远镜开发了SPIKE任务规划系统。
本文面向小行星探测的自主绕飞探测任务进行智能规划研究,针对平台自主管理和载荷自主规划两大需求,分别进行模型建立与算法设计,并开发仿真系统进行综合验证。旨在减少探测器对深空测控网络的依赖、降低深空探测任务由地面站收集信息、处理、形成命令序列的操作代价,从而提高实时控制能力和故障应对能力,保持长期稳定在轨运行。
当前小天体探测以飞越、绕飞、着陆和采样等探测任务和目标为主。小天体探测任务复杂性对自主规划需求主要体现在以下几个方面。
1)具备自我诊断及管理能力
器上平台系统是小天体探测器的保障,在不依赖地面控制的前提下,需具备核心设备自主管理能力。关注资源控制、健康监测等保障小天体探测器正确运行的基本任务。
2)具备应对未知风险的能力
在轨运行将面临日凌或太阳耀斑爆发等情况,日凌可导致器地通信中断。探测器在该阶段具有脱离地面测控的稳定运行能力。同时依据测定轨信息完成进出日凌自主管理,自主切换至日凌期工作模式。
3)具备关键事件的可靠执行能力
在小天体探测器的整个任务阶段,有若干个影响任务成败的关键事件,例如器箭分离、与小行星交会、探测器下降等。这些事件时序要求强,不能中断。如何让器上执行这些关键事件时,不受测控链路因素的影响,提高关键事件完成的可靠性与精准性。
4)具备连续自主运行能力
随着深空探测任务的增加,由于地面站资源有限,操作人员将无法经常对各个航天器进行管理,此时就迫切需要深空探测器具有长期连续自主运行能力。
5)具备面向科学任务的自主规划处理能力
随着技术的成熟和发展,自主技术将会更注重深空探测任务的核心目标——科学目标的实现程度,此时自主系统将重点突出科学数据的处理、科学现象的在轨发现、突发科学事件的自主跟踪观测等面向科学的自主功能。
小天体自主绕飞探测是适宜验证自主运行能力的典型任务场景,其任务需求包含前期普查、后期重点区域详查、能源安全、载荷数据传输、遥测数据回传等典型需求。小行星绕飞探测任务需求的特点和难点主要体现在需要在短时间内完成对小行星的普查和详查,并寻找到最佳着陆点,实现平台和载荷资源的高效利用。本文以小天体自主绕飞探测为目标,研究了智能规划设计方法。
小天体自主绕飞探测任务中,首先需要规划管理探测器系统来保障基本的系统运行和任务执行,探测器系统包括许多分系统,例如姿态控制系统、导航系统、电源系统、推进系统等许多分系统,而且这些分系统的运行是相互耦合的。其次需要对探测目标,结合存储、能源、通信等多种约束进行任务规划,确定探测任务何时开始、何时结束及何种探测载荷执行,充分、合理地利用珍贵而有限的探测资源。这两部分的规划优化相互耦合,形成闭环。具体耦合方式如图1、解决方案如图2所示,本文将智能规划系统根据任务需求分解为平台自主管理及载荷自主规划,分别针对规划特点开展了规划设计工作。
图1 需求关系图Fig.1 Mission requirements
图2 总体方案图Fig.2 Overall schematic diagram
针对探测器领域的特点,引入面向对象知识表示方式,基于PDDL(Planning Domain Definition Language,PDDL)[4]语言将活动的时间信息、资源信息以及活动之间的约束等信息进行描述,建立适合探测器领域的规划知识模型。
PDDL是传统规划领域编码标准语言,包含了规划领域最早的领域描述语言STRIPS[5]和具有更丰富表达能力和建模能力的ADL,给出了详细的规划的语法和语义,可以方便地描述谓词、目标、活动、初始状态等。一般形式如下:
(define(domain
[....]
)
主要针对数传、电源、存储及有效载荷几个分系统,建立探测器自主管理知识模型。基于PDDL语言描述的探测器自主管理知识模型主要包括域文件(Domain file)和问题文件(Problem file),其中,域文件(Domain file)主要用于描述卫星任务规划领域的通用知识,问题文件(Problem file)主要用于描述与具体规划问题相关的内容。通过表1~4 展示部分表格,示意知识模型结构。
表1 域文件对象类型表Table 1 Domain file object type table
表2 部分域文件Table 2 Dommain file
表3 部分动作描述表Table 3 Partial action description table
表4 问题文件示意Table 4 Problem file
解决知识表示问题之后,针对探测器自主管理知识模型设计求解算法,以达到针对地面上注的某一高级任务指令,由探测器自主进行规划搜索、分配资源和时间、建立指令序列,最终完成预期任务的目的。
采用状态及状态时间线对航天器规划问题进行描述,提出一种基于状态扩展的深空探测器自主任务规划算法,算法根据给定的初始状态、中止状态和要实现的目标任务进行扩展,其主要是通过时间线内和时间线间的不断扩展,直至满足所有约束。具体过程如图3所示。
任务规划是一个规划与调度过程,其中规划为生成能够实现目标的任务指令序列,而调度是完成任务指令序列的处理,以使其能够满足资源的约束。本文采用规划和调度分开的方式,即先在不考虑资源的情况下生成任务序列,然后再加入资源时间线,进一步扩展,最后获得与状态时间线对应的动作序列,从而完成最终的任务规划。
图3 基于状态扩展的任务规划流程Fig.3 Task planning algorithms based on state extension
探测器飞行过程中进行的任务规划可以简单地理解为确定飞行任务目标并根据飞行任务目标制定控制探测器运行的任务方案。对深空探测器来说,一旦投入使用,所有探测器上活动都必须在计算速度、存储器空间、电源等资源环境固定的条件下进行,而且不可能对系统进行资源扩充。在这种资源一定的情况下,探测器的任务规划就可以归结到典型的资源受限的规划与调度问题。本文所涉及的探测器任务规划与调度的概念和算法就是在此基础上进行论述的。探测器任务规划问题是动态的,它的动态特性是由于飞行任务目标的可变性、状态信息的不完整、不可预见的干扰等特性造成的。
为简化建模问题,本文对探测器任务自主规划问题做出以下合理假设[6-7]:
1)活动是不可分离的,即一项活动一旦开始,就必须一直进行到完成,中途不许中断;
2)允许活动因资源冲突而等待;
3)在某活动的进行过程中系统所获得的资源是恒定的,活动所需的资源也是恒定的。
根据深空探测领域的特点,给出深空探测器任务规划问题的形式化定义:
定义1深空探测器任务规划问题Φ用一个五元组描述
给定这样一个规划问题,下一步任务就是根据目标要求和系统初始状态,找到规划问题的解,即找到一组有序活动使其满足所有约束,并且在执行以后能够达到所要求的目标状态。
定义2规划问题Φ=
的解是一个n元组其中且满足:
3)活动的执行最终结果状态集合包含目标集G。
规划问题所有解的集合定义为ΓP。
小行星探测任务规划问题的关键约束条件的数学表达,包括目标观测约束、观测时间窗约束和卫星唯一观测约束等。
假设规划过程包括n个设计活动,n∈A,系统可获得m种资源,每种资源的数量已给定。本文设定了3种探测器任务规划问题的优化目标:
1)目标函数一:观测目标收益最大
2)目标函数二:观测目标数目最大
3)目标函数三:总执行时间最短
探测器任务规划问题作为一个带有时间窗约束的复杂组合优化问题,使用传统优化算法对其求解时虽然能够以较少的时间获取一定质量的解,但实践证明该解仍有较大的提升空间。相比之下,遗传算法能够获取质量更高的解。遗传算法的基本原理是通过适宜的方式进行编码,随机得到初始种群,基于目标函数计算适应值,每代选择适应值高的个体进行保留,并用于交叉、变异得到子代,始终保留最优个体,当满足终止条件时用于输出。从遗传算法的原理可知,遗传算法是一种随机性的搜索算法,需要逐步在整个解空间中搜索,对航天器的任务规划问题的决策变量数量多,与之相应的解空间也自然巨大,因此算法时间开销较大;同时,由于GA是一种随机性算法,算法的实用性要求求解对地观测星群任务规划的遗传算法必须能够稳定地获取高质量的解,这也是GA设计的一个难点。
适应值是遗传算法中选择的方向和标志,本文直接将数学模型中的目标函数(1)选取为适应值函数。完整的遗传算法求解模型为
在利用遗传算法进行卫星任务规划时,常采用二进制编码方式,考虑场景设置中规划的时长周期可能较长,目标的可见时间窗口数量很多,采用二进制编码方式时染色体过长,而染色体的每一位都需要利用约束条件进行冲突检查,这将导致运算时间过长,降低算法效率,所以在这里采用了实数编码的方式,如图4所示。
图4 遗传算法实数编码方式Fig.4 Real Number coding of genetic algorithms
染色体每一位代表一个目标。例如,对于全体目标集合I中的一个目标i,它对应染色体的第i位,假设这一位的取值为wi,目标i对于探测器一共有ni个可见窗口将每一个时间窗口编号使其分别与1~ni一一对应,则染色体在该位的取值wi为这ni个自然数中的一个,表示这一目标的观测任务选择目标i的第wi个时间窗口来完成。这样就建立了染色体与问题的搜索空间的点之间的映射关系。本文设计的遗传算法流程图见如图5。
第1步:对每一个任务按照实数编码方式进行编码,产生初始种群。
图5 算法流程Fig.5 Arithmetic flow
第2步:考虑各种约束条件对染色体每一位即每一任务进行约束冲突检查,没有通过冲突检查的任务则放弃执行,令染色体该位的值为0。
第3步:完成检查后计算每一个体的目标函数适应值,获得具有最高适应值的最佳个体。
第4步:若满足结束条件,则停止算法,转向第5步;否则按选择机制选择个体进入交配池,完成变异、交叉操作产生新个体,并进行种群更新得到下一代种群,返回第2步。
第5 步:算法结束,获得进化之后的最佳个体,输出相应的规划方案。
对上述方法开发仿真系统进行验证,计算获得的指令序列的图形化显示,星上能源、光照、姿态角度变化情况的图形化显示等。如图6~图7所示。
图6表明,该方法可综合平台与载荷需求,对小天体绕飞探测任务进行统一的任务规划,并得到指令序列和动作序列,图7表明该方法可在存储、能源、通信等多种约束条件下,对任务规划进行优化,提高任务管控的智能化程度,降低任务操作的复杂性,同时保障探测资源的合理使用及任务的充分完成。
图6 深空探测器自主运行仿真系统结果图Fig.6 Simulation system diagram of deep space detector autonomous operation
图7 观测任务规划优化过程图Fig.7 Observation mission planning optimization process chart
本文针对小天体探测自主绕飞智能规划问题,将该问题分解为平台任务智能规划和载荷任务智能规划两部分。针对平台任务智能规划问题,基于PDDL语言设计了探测器自主管理知识模型,提出了基于状态时间线扩展的求解算法;针对任务智能规划问题,建立了基于CSP问题的智能规划数学模型,提出了基于遗传策略的求解算法。最后开发了仿真系统进行算法验证。仿真结果表明:该方法可综合平台与载荷需求,在存储、能源、通信等多种约束条件下,对绕飞探测任务进行统一的任务规划,并得到指令序列和动作序列,能够提高任务管控的智能化程度,降低任务操作的复杂性。综上,该方法对小天体探测具有一定的应用意义和工程价值。
小天体探测智能规划技术是后续小天体探测任务重要的技术支撑,后续智能规划技术仍需从具有广泛性和精确性的器上知识模型库、动态规划能力、高速并行处理器等方面开展持续的研究,支撑小行星自主探测及深空探测智能规划的发展。