技术领域
[0001] 本发明涉及卫星智能技术领域,尤其涉及基于并行强化学习和遗传算法的快速星座构型设计方法。
相关背景技术
[0002] 构建大规模、低成本、快响应低轨巨型星座,提供全天时、全天候、高性能、高时效的对地信息服务,是当前航天领域发展的前沿与热点,代表了卫星体系建设的发展方向。构建高效的卫星星座,需要满足及时覆盖应急目标并提供快速响应,快速星座构型优化需要综合权衡多目标要素。
[0003] 卫星星座的设计与优化是新型低轨卫星星座系统建设中基本并且至关重要的一个环节。卫星星座的设计与优化的目标主要是确定星座卫星构型及其轨道参数,理想的情况是在所有可能的解集空间中找到最优设计,但因为参数众多,即使在多约束的情况下,解集空间依然非常庞大。因此,在目前的有关研究中,多数据维度和参数计算导致卫星构型设计计算都存在一定时间的耗时,因此星座构型设计的研究核心是,如何利用有限计算资源,在无限解集空间快速求解最优解的过程。因此研究星座构型的快速优化设计具有重要意义。
[0004] 从星座构型设计方法的演化历史来看,主要包括传统方法和智能优化方法,传统方法主要包括几何解析法和仿真比较法等,该类方法计算简单且易于实现,但设计效率偏低且系统指标考虑较少;智能优化方法主要包括遗传算法、粒子群算法、模拟退火算法等,该类方法虽然考虑了多目标多约束条件下的总体性能最优,但却存在着容易陷入局部最优解和搜索精度不足等缺陷,且算法得到的解空间与构型参数之间的解析关系不够清晰。
[0005] 因此亟需一种技术方案来解决现有智能优化方法在星座构型设计上的易陷入局部最优解、解空间与构型参数关系模糊、解集空间大计算效率低等问题。
具体实施方式
[0021] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0022] 参照图1,一实施例提供了一种基于并行强化学习和遗传算法的快速星座构型设计方法,包括以下步骤:S1、随机生成观测目标,构建观测目标数据集,同时给定初始星座构型参数;
S2、在约束条件下,构建关于星座构型参数的多目标优化模型,所述多目标优化模型包括并行强化学习模块与遗传算法模块;
S3、并行强化学习模块根据输入的观测目标数据集和星座构型参数进行训练交互,输出批次候选解至遗传算法模块;
S4、遗传算法模块对收到的候选解评估优化,得到最佳星座构型参数并输出。
[0023] 所述星座构型参数包括:轨道数、轨道面上卫星个数、轨道高度、轨道交角、升交点赤经以及真近点角。
[0024] 参照图2,所述多目标优化模型包括并行强化学习模块与遗传算法模块,并行强化学习模块与遗传算法模块是双层并行循环交替的关系。
[0025] 一实施例中,观测目标数据集为大规模动态观测目标数据集,用于满足并行强化学习的训练要求,具体构建过程如下:在不同的地理区域(包含极地区域)随机生成1500个观测目标,其中包含800个动态临机目标和700个静态固定目标,每个目标都有经度、纬度、海拔高度以及任务优先级定义,其中,动态临机目标包含一系列能显示其运动轨迹的经纬度。
[0026] 所给定的初始星座构型参数为:定义初始轨道数为40个;每个轨道面上卫星个数为25个;轨道高度的优化区间为[200,700],单位为千米,定义初始轨道高度为286千米;轨道交角的优化区间为[20,160],单位为度,定义初始轨道交角为22度;升交点赤经的优化区间为[60,100],定义初始升交点赤经值为62;真近点角的优化区间为[60,100],定义初始真近点角值为62。
[0027] 本发明所提供方法在星座构型优化设计过程中,要综合考虑观测任务需求约束、星上资源存储约束、星上能量约束、观测时间窗约束;在这些有限的约束条件下合理的安排星座观测任务。
[0028] 所述观测任务需求约束满足:;
;
其中, 为任务需求成像载荷类型; 为卫星上携带载荷类型;
为载荷分辨率; 为任务需求成像分辨率;
由于星座上每颗卫星的星上存储资源有限,卫星有固定的开关机次数,在卫星对目标 进行成像观测时,卫星 的存储空间 ,即所述星上资源存储约束满足:
;
其中, 为卫星; 为目标; 为卫星的存储空间; 为卫星 对目标
进行成像观测的时间; 为存储消耗速率;
为保证卫星可以正常运转,星上的能量要有相应的适用范围;所述星上能量约束满足:
;
其中, 表示目标 的子任务 在卫星 的第k个时间窗被观测到;
表示目标 的可见时间窗的持续时间; 表示卫星 观测单位时间内的电量消耗; 表示卫星 的总电量;
所述观测时间窗约束满足:
;
其中, 为目标 在卫星 的成像观测周期内所有可能观测窗口;
为观测窗口; 和 分别表示开始观测的时间和观测结束的时间; 和
分别表示观测窗口的开始时间和观测窗口的结束时间。
[0029] 同时,需要考虑任务效益、任务时效性和卫星对任务的负载,达到任务效益最大化、任务时效性最大化、卫星对任务的负载均衡。
[0030] 所述任务效益最大化:观测目标定义了任务优先级属性,将用户指定的目标观测优先级与目标的观测收益进行绑定,优先级越高,目标被观测并获得成像数据取得的收益越大,通过对优先级以及重要性的计算,调整任务策略,成像收益 的计算方式如下:
;
其中, 为观测当前任务需消耗得能量; 为卫星观测单位时间内电量消耗;
为卫星可用存储容量。
[0031] 所述任务时效性最大化:在对地观测星座中,存在多个卫星对同一个目标的多次过境观测情况,但是在固定的想定周期内,不同卫星对其观测的时间不同,可能彼此相差分钟级或小时级,因此,任务完成的时效性十分重要,需确保任务在想定周期内今早完成观测,任务时效性定义为:
;
其中, 表示任务 在卫星 的第 个时间窗口是否被观测到,观测到则为1,未观测到则为0; 、 分别为对当前任务 的开始观测时间和结束观测时间。
[0032] 所述卫星对任务的负载均衡:对地观测星座中每颗卫星都有其固定的存储及能量,任务尽可能平均的派送给每颗卫星,定义其负载均衡为:
;
其中 为卫星 的观测时间:
;
为卫星的平均观测工作时间:
。
[0033] 参照图3,S3中,所述并行强化学习模块采用Actor‑Critic结构进行训练;所述Actor‑Critic结构包括Actor结构和Critic结构;
所述Actor结构用于根据观测状态输入,产生用于决定下一动作的概率,选择最优的动作策略;所述Actor结构包括并行Transformer模块和softmax模块;
所述Critic结构用于根据观测状态输入,评估给定状态的价值估计,评估特定状态的奖励;所述Critic结构包括并行Transformer模块。
[0034] 参照图5,所述并行Transformer模块包括位置编码块、残差编码块、Transformer编码块和解码块;所述并行Transformer模块的工作步骤包括:A1、嵌入卫星观测空间,其中包括四维动态状态空间与三维静态状态空间;
A2、线性编码对输入的观测空间obs进行线性状态编码,实现输入张量与权重矩阵间的线性变换,这部分张量计算调用GPU‑0算力进行;
A3、位置编码块为嵌入层添加位置信息,位置编码有助于理解序列元素中的位置关系,这部分编码计算调用GPU‑0算力进行;
A4、残差编码块的输入来自于位置编码块,所述残差编码块包括归一化层、多头自注意力层、残差连接、丢弃操作;其中,归一化层用来对输入进行归一化操作;多头自注意力层通过多头注意力机制提取输入序列的相关特征并帮助模型进行进一步的表示学习,从而计算序列中不同位置的注意力权重;残差连接、丢弃操作,将自注意力层的输出与输入序列相加,并应用丢弃操作,残差连接有助于减轻梯度消失问题,使得模型更容易学习到深层次的表示;丢弃操作则用于在残差连接之前对输出进行随机丢弃,以进一步改善模型的泛化能力;残差编码块的并行编码计算调用GPU‑1算力进行;
A5、Transformer编码块接收来自残差编码块和部分位置编码块的序列信息后,进行包含前馈神经网络的线性变换,实现最终编码输出;这部分编码计算调用GPU‑2算力进行;
A6、解码器基于输出的编码做出决定,在解码过程中使用了5层感知机MLP网络,通过一个线性层将解码器最后一层的输出映射到目标的概率分布。
[0035] 参照图4,所述S3包括以下步骤:S31、读取观测目标数据集和星座构型参数,其中,观测目标数据集以csv格式读取,星座构型参数(轨道数、轨道面上卫星个数、轨道高度、轨道交角、升交点赤经以及真近点角)以config配置文件格式读取;
S32、创建观测状态,构建四维动态状态空间与三维静态状态空间;S31中输入的观测目标数据集为 ,每一个 都包含元组 ,其
中 表示静态输入, 、 和 分别表示任务 的可观测起始时
间、结束时间以及观测任务需要的持续时间, 表示任务的权重;其中
为输入在 时刻的动态输入元素, 表示任务 所处状态(违
反约束条件导致不可被选、已被选择或未选择), 表示任务开始被规划时刻, 表示当前规划该任务的卫星剩余存储空间;以上形成四维动态状态空间obs[0]与三维静态状态空间obs[1];
S33、以四维动态状态空间obs[0]与三维静态状态空间obs[1]作为并行强化学习模块的观测空间obs,以给定的观测目标数量作为并行强化学习模块的动作空间;
S34、将当前观测空间和当前动作空间同步输入至Actor结构与Critic结构中;
Actor结构包括并行Transformer模块和softmax模块,并行Transformer模块包括位置编码块、残差编码块、Transformer编码块和解码块,其中位置编码块和残差编码块分别在GPU‑0和GPU‑1上采用并行搭建同步编码的计算方式,而后输入到Transformer编码块和softmax模块中产生用于下一动作的概率,从而选择最优动作策略 输出;Critic结构包括并行Transformer模块,并行Transformer模块评估给定观测空间的价值估计,从而评估特定观测空间的奖励 输出;
S35、将Actor结构与Critic结构产生的动作和奖励与环境交互得到新的观测空间和动作空间,并输入到改进的优化经验回放池后返回S34;
S36、以预定次数迭代S34、S35,输出批次候选解至遗传算法模块。
[0036] 将Actor结构与Critic结构产生的动作和奖励输入到改进的经验回放池中,不断通过历史数据训练当前策略,提高样本利用率。
[0037] 一实施例中,预定次数为1000次,并行强化学习模块在训练过程中实时更新网络参数,从而输出批次候选解给到遗传算法模块;所述候选解包括完成任务奖励Reward与卫星重复时间窗口Loss。
[0038] 参照图6,所述改进的优化经验回放池的改进包括:增加current size属性跟踪经验回放池中当前存储经验数量;
优化push方法,确保不会覆盖旧的历史数据,且只在经验回放池未满时添加新数据(如果不用历史数据的情况下,每进行一次迭代都要扔掉之前的数据,再生成新的数据来更新网络参数,这样会导致面向复杂问题下十分消耗资源也浪费资源;且相当一部分历史数据对更新新的网络参数都是正激励的,能够节省训练时间);
优化compute returns方法,确保只计算当前存储的经验的返回值;
增加sample采样方法,用于从经验回放池中随机抽取批次数据用于训练。
[0039] 参照图7,所述S4包括以下步骤:S41、调用NSGA‑II算法对收到的候选解进行优化;
S42、基于优化后的候选解构建Minimize函数并求解,同时将优化后的候选解再次输入遗传算法模块;
S43、以预设次数迭代S41、S42;
S44、以Minimize函数最小化对应的星座构型参数为最佳星座构型参数并输出。
[0040] 最终输出的最佳星座构型参数包括轨道数、轨道面上卫星个数、轨道高度、轨道交角、升交点赤经以及真近点角。
[0041] 一实施例中,S43所述预设次数为1000次。
[0042] 本发明能够在有限显卡资源下最大幅度提高强化学习的作业效率,从而提高面向大规模卫星星座的构型优化效率。
[0043] 本发明未尽事宜为公知技术。
[0044] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0045] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
[0046] 以上所述仅为本发明的优选的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。