基于贪心策略的多星遥感任务动态规划方法和装置与流程
未命名
08-26
阅读:212
评论:0
1.本发明涉及卫星控制技术领域,具体涉及卫星任务规划,特别地涉及一种基于贪心策略的多星遥感任务动态规划方法、装置、电子设备和计算机可读存储介质。
背景技术:
2.多站多星任务规划问题属于基于约束的多目标优化问题,指在一定的约束条件下将有限的资源合理分配到不同的任务时间段上,目的是根据用户需求和任务重要程度,科学合理地分配地面接收站系统资源,从整体上对多站多星系统进行任务规划,快速制定数据接收计划,充分发挥地面接收站的系统能力。其中约束条件主要涉及任务约束、资源约束和时间窗口约束。时间窗口是遥感卫星经过地面站接收覆盖范围的入境与出境之间的时间段,只有在这个时间段卫星和地面站才是可见的,才能进行数据传输,执行待调度任务。通常以各个卫星的最后一个过境时间窗口的入境时间为边界,去掉更晚才可执行完毕的任务,其余任务均为有效的可执行任务。
3.已有的卫星任务规划算法不能很好的应对多站多星任务规划问题,原因在于,现有卫星任务规划算法存在缺乏鲁棒性以及优化目标单一的问题。具体来看,已有的卫星任务规划算法大都是基于预先制定的计划进行规划,但是实际中经常会出现一些不确定因素,如天气气象因素、技术故障因素、任务需求变化因素等,有可能导致预定计划不再适用,鲁棒性不高。另外,由于已有卫星任务规划算法的优化目标单一(一般是将任务重要程度或能源消耗水平作为优化目标),而选择忽视其他影响因素,存在较大的改进优化空间。
技术实现要素:
4.有鉴于此,本技术实施例提供一种基于贪心策略的多星遥感任务动态规划方法、装置、电子设备及计算机可读存储介质,用于解决至少一种技术问题。
5.本技术实施例提供一种基于贪心策略的多星遥感任务动态规划方法,包括:获取卫星遥感任务的数传窗口列表,所述数传窗口列表中包括:卫星对地面站的可见时间弧段、对应的卫星姿态以及圈数;获取卫星遥感任务的任务执行机会列表,所述任务执行机会列表中包括卫星对任务的可执行时间;生成多星多站系统的环境状态,所述环境状态通过环境常量和环境状态变量表征,其中环境常量为不随任务规划发生变化的量,环境状态变量为随任务规划发生变化的量,所述环境状态变量至少包括任务可用性张量、数传窗口可用性张量,所述数传窗口可用性张量基于所述数传窗口列表和所述任务执行机会列表生成;确定本次任务规划的至少一个优化目标,并基于本次任务规划的优化目标计算本轮任务的优先级分数张量;基于任务可用性张量和优先级分数张量,在所述任务执行机会列表中确定本轮任务,并基于数传窗口可用性张量,依据就近下传策略,选择本轮任务对应的数据下传窗口;更新环境状态变量,其中包括更新任务可用性张量以及更新优先级分数张量;
基于更新后的任务可用性张量,确定所述任务执行机会列表中是否还有可执行任务机会,其中,若仍有可执行任务机会,则基于更新后的任务可用性张量和更新后的优先级分数张量,确定下一轮任务以及对应的数据下传窗口;直至所述任务执行机会列表中不存在可执行任务机会,则输出任务规划结果。
6.本技术实施例提供一种基于贪心策略的多星遥感任务动态规划装置,包括:获取模块,用于获取卫星遥感任务的数传窗口列表,所述数传窗口列表中包括:卫星对地面站的可见时间弧段、对应的卫星姿态以及圈数;获取卫星遥感任务的任务执行机会列表,所述任务执行机会列表中包括卫星对任务的可执行时间;生成模块,用于生成多星多站系统的环境状态,所述环境状态通过环境常量和环境状态变量表征,其中环境常量为不随任务规划发生变化的量,环境状态变量为随任务规划发生变化的量,所述环境状态变量至少包括任务可用性张量、数传窗口可用性张量,所述数传窗口可用性张量基于所述数传窗口列表和所述任务执行机会列表生成;优化模块,用于确定本次任务规划的至少一个优化目标,并基于本次任务规划的优化目标计算本轮任务的优先级分数张量;第一确定模块,用于基于任务可用性张量和优先级分数张量,在所述任务执行机会列表中确定本轮任务,并基于数传窗口可用性张量,依据就近下传策略,选择本轮任务对应的数据下传窗口;更新模块,用于更新环境状态变量,其中包括更新任务可用性张量以及更新优先级分数张量;第二确定模块,用于基于更新后的任务可用性张量,确定所述任务执行机会列表中是否还有可执行任务机会,若仍有可执行任务机会,则基于更新后的任务可用性张量和更新后的优先级分数张量,确定下一轮任务以及对应的数据下传窗口;结果输出模块,用于在所述任务执行机会列表中不存在可执行任务机会时,输出任务规划结果。
7.本技术实施例提供一种电子设备,所述电子设备包括处理器以及存储有计算机程序指令的存储器;所述处理器执行所述计算机程序指令时实现如上所述的方法的步骤。
8.本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如上所述的方法的步骤。
9.本技术实施例通过对环境常量和环境状态变量的合理设置,可使用少量状态参量较为准确地描述多星多站任务规划系统的复杂环境状态,使得本算法具有较强的通用性,系统复杂度降低,鲁棒性能得到一定提升;本技术实施例的卫星任务规划算法基于贪心策略和动态规划方法,可从整体上降低算法的计算复杂度,可设置多个优化目标,其中以张量形式表达环境状态,可进一步加快算法规划过程中环境状态的更新速率,相比以往的规划方式,本算法可在短时间内完成大规模任务规划,计算效率高。
附图说明
10.为了更清楚地说明本技术实施例的技术方案,以下对本技术实施例中的附图作简单介绍。
11.图1是本技术实施例的基于贪心策略的多星遥感任务动态规划方法的流程框图。
12.图2是本技术实施例的基于贪心策略的多星遥感任务动态规划方法的处理过程示意图。
13.图3是本技术实施例的任务动态规划方法的流程框图。
14.图4是本技术实施例的基于贪心策略的多星遥感任务动态规划装置的结构框图。
15.图5用来实现本技术实施例的基于贪心策略的多星遥感任务动态规划方法的电子设备的示意图。
具体实施方式
16.以下将参考若干示例性实施方式来描述本技术的原理和精神。应当理解,提供这些实施方式的目的是为了使本技术的原理和精神更加清楚和透彻,使本领域技术人员能够更好地理解进而实现本技术的原理和精神。本文中提供的示例性实施方式仅是本技术的一部分实施方式,而不是全部的实施方式。基于本文中的实施方式,本领域普通技术人员在不付出创造性劳动前提下所获得的所有其他实施方式,都属于本技术保护的范围。
17.本技术的实施例涉及终端设备和/或服务器。本领域技术人员知晓,本技术的实施方式可以实现为一种系统、装置、设备、方法、计算机可读存储介质或计算机程序产品。因此,本公开可以具体实现为以下至少一种形式:完全的硬件、完全的软件,或者硬件与软件结合的形式。根据本技术的实施方式,本技术请求保护一种基于贪心策略的多星遥感任务动态规划方法、装置、电子设备、计算机可读存储介质。
18.在本文中,诸如第一、第二、第三之类的用语,仅用来将一个实体(或操作)与另一个实体(或操作)区分开来,而不在于要求或暗示这些实体(或操作)之间存在任何顺序或关联。本技术实施例的算法采用全局统筹、逐步规划的方式,基于贪心策略的动态规划算法,目的在于实现卫星的多星、多站、多约束、多任务、多目标的遥感任务规划。
19.图1是本技术实施例的基于贪心策略的多星遥感任务动态规划方法的流程框图,该方法包括以下步骤:s101:获取卫星遥感任务的数传窗口列表和任务执行机会列表,所述数传窗口列表中包括卫星对地面站的可见时间弧段、对应的卫星姿态以及圈数;所述任务执行机会列表中包括卫星对任务的可执行时间。
20.s102:生成多星多站系统的环境状态,所述环境状态通过环境常量和环境状态变量表征,其中环境常量为不随任务规划发生变化的量,环境状态变量为随任务规划发生变化的量,所述环境状态变量至少包括任务可用性张量、数传窗口可用性张量,所述数传窗口可用性张量基于所述数传窗口列表和所述任务执行机会列表生成。
21.s103:确定本次任务规划的至少一个优化目标,并基于本次任务规划的优化目标计算本轮任务的优先级分数张量。
22.s104:基于任务可用性张量和优先级分数张量,在所述任务执行机会列表中确定本轮任务,并基于数传窗口可用性张量,依据就近下传策略,选择本轮任务对应的数据下传窗口。
23.s105:更新环境状态变量,其中包括更新任务可用性张量以及更新优先级分数张量。
24.s106:基于更新后的任务可用性张量,确定所述任务执行机会列表中是否还有可执行任务机会,其中,若仍有可执行任务机会,则基于更新后的任务可用性张量和更新后的优先级分数张量确定下一轮任务以及对应的数据下传窗口。
25.s107:直至所述任务执行机会列表中不存在可执行任务机会,则输出任务规划结果。
26.基于本技术的实施例,在步骤s101中,首先获取卫星遥感任务的任务执行机会列表和卫星遥感任务的数传窗口列表(例如可根据卫星群的轨道根数、卫星资源、地面站资源、任务需求等计算出任务执行机会列表和数传窗口列表。)其中任务执行机会列表是卫星任务规划的依据和来源。
27.根据本技术的实施例,卫星任务规划受任务机会约束以及时间窗口约束,卫星的每个任务可能有多次执行机会。另外,数传窗口列表也就是卫星任务数据下传的窗口列表,应确保窗口与任务不存在时间上的冲突,窗口的剩余可下传数据量符合要求等。
28.在步骤s102中,生成多星多站系统的环境状态,其中包括任务规划过程中需要用到的状态变量如任务可用性张量和数传窗口可用性张量。
29.根据本技术的实施例,多星多站系统中存在着不会随任务规划发生变化的量,为环境常量,从中可提取出任务规划过程中需要用到的量。多星多站系统的状态是在不断变化的,随着任务规划的不断进行,可提取出任务规划过程中需要用到的状态变量,如任务可用性张量、数传窗口可用性张量等张量。
30.作为一种示例,假设多星系统中存在m颗星,单星的最大数传窗口数为l,对于每颗星,在任务规划时段中存在执行任务的最大次数n,任务可用性张量t_available(m, n)为一个二阶张量,可表示多星系统在任务规划过程中的任务机会的实时可用性,对应位置的值为1表示该任务可执行、值为0表示该任务不可执行。数传窗口可用性张量w_available(m,l,n) 为一个三阶张量,表示卫星的数据下传窗口对该卫星的每一个任务机会的数据下传可用性,其中m对应卫星,l对应数传窗口,n对应任务机会,对应位置值为1表示可用、为0表示不可用。例如w_available [2,3,6]=1,表示第二颗卫星的第六个任务机会可以在第三个数传窗口进行数据下传。
[0031]
在步骤s103中,可确定一个或多个优化目标,基于此可计算优先级分数张量。
[0032]
根据本技术的实施例,每次任务规划可设置不同的优化目标,并基于本次任务规划的优化目标计算本轮任务的优先级分数张量t_priority。基于该优先级分数张量t_priority以及步骤s102中的任务可用性张量t_available,就可以在任务执行机会列表中确定需要执行的任务。进一步,基于步骤s102中的数传窗口可用性张量w_available,可在数传窗口列表中选择本轮任务对应的就近数据下传窗口。
[0033]
可见,按照本技术的实施例,可以引入不同的优化目标,进行有针对性的任务规划和窗口设置,对任务规划算法实现多目标组合优化。
[0034]
本轮任务确定之后,需要更新环境状态变量,其中包括更新任务可用性张量t_available以及更新优先级分数张量t_priority,基于更新后的任务可用性张量t_available,确定任务执行机会列表中是否还有可执行任务机会,若仍有可执行任务机会,则基于更新后的任务可用性张量t_available和更新后的优先级分数张量t_priority,可确定下一轮任务以及对应的数据下传窗口,直至所述任务执行机会列表中不存在可执行任
务机会,则输出任务规划结果。
[0035]
本技术实施例通过对环境常量和环境状态变量的合理设置,使用少量状态参量(如任务可用性张量和数传窗口可用性张量)较为准确地描述复杂的多星多站任务规划系统,使得本算法具有较强的通用性,系统复杂度低,鲁棒性好;本技术实施例的卫星任务规划算法基于贪心策略和动态规划方法,可从整体上降低算法的计算复杂度,可设置多个优化目标;其中以张量形式表达环境状态,可进一步加快算法规划过程中环境状态的更新速率,相比以往的规划方式,本算法可在短时间内完成大规模任务规划,计算效率高。
[0036]
根据本技术的实施例,可选地,所述优先级分数张量t_priority表示第i颗星的第j个任务机会的优先级评分,在选择需要执行的本轮任务时,优先确定t_priority最高的任务机会,对于t_priority相同的任务机会,优先选择执行时间更早的任务机会。
[0037]
本算法对于可以量化的目标,采用了动态权重加和的方式计算任务的优先级分数,t_priority(m,n)对应位置t_priority[i,j]的值表示第i颗卫星的第j个任务执行机会的优先级评分。这样设定的原因是,保证了算法可以在全局尺度上优先安排更重要的任务。通过给紧急任务赋予特殊优先级,实现了对卫星任务的临机规划,优化全局统筹。
[0038]
在本技术的实施例中,规划过程的两大执行策略可有效保证任务规划的时效性:1)对于优先级分数完全相同的任务机会(例如为同一个任务),优先选择时间更早的机会来执行;2)对于星上任务的下传,采用就近下传策略,即任务执行完成后,在最近的可行数传窗口进行任务下传。
[0039]
根据本技术的实施例,可选地,计算优先级分数张量的目标函数表示为:,
[0040]
其中,min(set(w))表示本轮任务各个优化目标的权重中的最小值,xi代表优化目标对应的值,角标i表示不同的优化目标。
[0041]
其中,me(xi)表示第i个优化目标的所有任务值的中位数,wi表示第i个优化目标的权重,min(set(w))表示所有权重中的最小值,t表示该任务的剩余执行机会次数。优化目标的权重w需要满足。不同优化目标的权重不同,对应的该次任务机会的t_priority,从而影响任务的执行顺序。以下是优化目标的具体举例:根据本技术的实施例,可选地,任务的优化目标包括任务重要性,对应的值表示为:,
[0042]
其中,importanc表示任务重要性的高低,取值可为0、1、2、3或4。
[0043]
根据本技术实施例,可选地,任务的优化目标包括任务的商业价值,对应的值表示为:,
[0044]
其中,v表示任务价值。
[0045]
例如,x的值为任务对应的商业价值。若任务a价值为100万,其对应的x为100;任务b价值为1000万,其对应的x为1000。
[0046]
根据本技术实施例,可选地,任务的优化目标包括任务对应的卫星姿态,对应的值
表示为:,
[0047]
其中,和分别表示任务执行过程中侧摆角和俯仰角的变化量,θs和αs则分别表示卫星执行任务机会需要的初始侧摆角和俯仰角。
[0048]
此时可用本次任务机会开始执行到结束之间的姿态差来定义x。将任务对应的卫星姿态作为一个优化目标是因为快速、高效的姿态转移可以提高观测效率,增价观测目标数量,同时降低卫星能量的消耗。
[0049]
根据本技术实施例,可选地,任务的优化目标包括任务对应的任务存储空间,对应的值表示为:,
[0050]
其中,ds表示任务机会产生的数据量大小。
[0051]
当任务数量较多时,星上存储空间以及数传窗口的可下传传递信息量可能成为优化的瓶颈,所以任务存储空间也是一项重要的优化目标。
[0052]
根据本技术实施例,可选地,对双优化目标进行任务规划时,i=2,且权重建议值为w=(0.7,0.3);对三个优化目标进行任务规划时,i=3,且权重建议值为w=(0.6,0.3,0.1);对四个优化目标进行任务规划时,i=4,且权重建议值w=(0.5,0.25,0.15,0.1)。
[0053]
此处给出当优化目标个数不同时对各个优化目标分配的权重建议值,因为权重之和,当本次优化目标共有2个时,其中一个优化目标的权重占0.7,另一个优化目标的权重占0.3;当本次优化目标有3个时,第一个优化目标的权重占0.6,第二个优化目标的权重占0.3,第三个优化目标的权重占0.1;当本次优化目标有4个时,第一个优化目标的权重占0.5,第二个优化目标的权重占0.25,第三个优化目标的权重占0.15,第四个优化目标的权重占0.1。根据各个优化目标权重占比不同来影响任务的执行顺序。
[0054]
根据本技术实施例,可选地,可通过以下任一种处理,更新环境状态变量:(1)根据任务存储张量t_s更新数传窗口通信余量张量w_s,并根据数传窗口通信余量张量w_s的变化更新数传窗口可用性张量w_available;(2)根据任务存储张量t_s更新星上存储余量张量s_s,根据星上存储余量张量s_s的变化更新数传窗口可用性张量w_available;(3)根据任务圈数张量t_e更新卫星能量余量张量s_e。
[0055]
其中主要通过更新w_available和s_e来体现环境状态变量的变化。当一轮任务机会确定后,对应该次任务的t_s的数值会引起w_s和s_s的数值的更新,二者均会导致w_available变化。
[0056]
任务存储张量t_s(m,n) 是一个二阶张量,是不会随任务规划发生变化的环境常量,对应的值表示卫星执行任务机会时产生数据的大小。例如,t_s[3,4] = 500,表示第3颗卫星执行其第4个任务机会,会产生500m的星上数据。当根据t_priority确定本轮需要执行的任务机会时,对应的t_s随即确定,根据本次执行机会的t_s值,可以计算出本轮任务的w_s和s_s。
[0057]
数传窗口通信余量张量w_s (m,l) 对应位置的值表示某颗卫星在该数据下传窗
口的剩余可下传数据量的大小。更新后的w_s为原数传窗口通信余量减去本轮任务的存储占用后所得数值。星上存储余量s_s(m,l)对应位置s_s[i,j]的值表示i星在离开j-1窗口后,进入j数传窗口前,该星上剩余的存储空间。更新后的s_s为原星上存储余量减去本轮任务的存储占用后所得的值。
[0058]
若更新后的w_s小于该星在该窗口之前的任务机会的存储占用值,则该窗口不再可用,对应的w_available=0;同理,若更新后的s_s小于该星在该窗口之前的任务机会的存储占用值,则该窗口不再可用,对应的w_available=0。对于可用的数据窗口则将对应的元素置1,完成w_available的更新。
[0059]
任务圈数张量t_e (m,n) 用来表示每一次任务执行机会发生时卫星所处的轨道圈数,是不会随任务规划发生变化的环境常量。例如,t_e[3,4] = 2,表示第3颗卫星执行其第4个任务机会时处在该星的第2圈轨道上。当根据t_priority确定本轮需要执行的任务机会时,对应的t_e随即确定。在卫星系统的能量约束上,一种常见的形式为限制卫星单圈可执行任务次数,因此可以用一个二阶张量卫星能量余量s_e(m,s)来表示卫星在对应的轨道圈数剩余的任务执行次数。对应位置s_e[i,j]的值则表示第i颗星在第j圈剩余的任务执行次数。例如,s_e[3,4]=2,表示第3颗星在第4圈还可以执行2个任务。更新的s_e为原s_e减去1,表示该任务在第i颗星在第j圈的任务执行次数少了1次。
[0060]
根据本技术实施例,可选地,所述更新任务可用性张量t_available包括:根据任务标识t_id,将与本轮任务对应的所有任务机会的可用性关闭;和/或根据任务冲突张量t_conflict,将与本轮任务存在时间冲突的可执行任务机会的可用性关闭;和/或根据数传窗口可用性张量w_available的变化更新任务可用性张量t_available;和/或根据卫星能量余量张量s_e的变化更新所述任务可用性张量t_available。
[0061]
在卫星的任务执行机会列表中,每个任务可能有多次执行机会,但是拥有唯一的任务标识。任务标识t_id(m,n) 用来描述任务机会所对应的任务,为一个二阶张量,其中,m行表示系统中存在m颗卫星(每一行对应着一颗特定的卫星),n对应规划时段中单颗星有机会执行任务的最大次数。对应位置为t_id[i,j]例如,t_id[1,1]表示第一颗卫星可以第一个完成的任务的标识,以此类推。
[0062]
当本轮任务被确定执行后,同一任务下的其它所有任务机会均不再具有可执行性,对应的t_available的值均更新为0。
[0063]
任务冲突张量t_conflict(m,n,n)是一个三阶张量,表示任务机会之间的因为时间约束而产生的冲突;其中m对应着卫星的数量,而每颗卫星可执行任务之间的时间冲突关系则用一个n
·
n的二阶张量来描述。若卫星的两个任务间存在时间冲突,则对应位置的值设置为1,若卫星的两个任务间不存在时间冲突,则设置为0。例如第三颗卫星的第四个任务和第五个任务之间不存在时间上的冲突,四个任务和任务自身存在时间冲突,则有t_conflict[3,4,5]=0,t_conflict[3,4,4]=1。
[0064]
对于该星在该窗口所有在时间上相冲突的任务机会,即当对应的t_conflict=1时,这些任务机会均不再具有可执行性,对应的t_available的值均更新为0。
[0065]
前文已经详细描述了更新w_available和s_e的步骤,根据更新后的w_available,对于当该星的所有数传窗口都不具有可执行性的任务机会,将对应的t_available的值均更新为0;当s_e=0时,表示该星在该轨道上执行任务的次数用尽,不再具有可执行的任务
机会。
[0066]
以上是根据各个环境状态变量更新后的数值来更新t_available的过程。
[0067]
根据本技术实施例,可选地,所述多星多站系统中单颗星有机会执行任务的最大次数为n次任务机会;所述环境常量包括以下至少一项:任务标识张量t_id,用来描述任务机会所对应的任务;任务存储张量t_s,表示卫星执行任务机会时产生数据的大小;任务圈数张量t_e,表示卫星在该次任务机会所处的轨道圈数;窗口任务映射张量t_w,表示数传窗口与任务机会在时间上的对应关系;任务冲突张量t_conflict,表示任务机会之间的因为时间约束而产生的冲突;任务权重张量t_v,表示该次任务机会对应任务的权重或价值;任务映射张量t_map,表示该次任务机会在所述任务执行机会列表中的id,用来参与记录任务规划的过程和最终规划结果;所述环境状态变量包括以下至少一项:任务可用性张量t_available,表示在任务规划的过程中,所述任务机会的实时可用性;数传窗口通信余量张量w_s,表示某颗卫星在该数据下传窗口的剩余可下传数据量的大小;星上存储余量张量s_s,表示卫星在进入对应的数传窗口前剩余的存储空间;数传窗口可用性张量w_available,表示卫星的数据下传窗口对该卫星的每一个任务机会的数据下传可用性;卫星能量余量张量s_e,表示卫星在对应的轨道圈数剩余的任务执行次数;任务剩余总执行次数张量t_remain,表示任务机会对应的任务在剩余规划中的剩余可执行次数。
[0068]
本算法的环境状态作为一个完整的体系还有除上文已解释过的其他重要的环境常量与环境变量。其中包括但不限于以下环境常量:(1)窗口任务映射张量t_w (m,l),表示数传窗口与任务机会在时间上的对应关系,是一个二阶张量。其中,m行表示系统中存在m颗卫星(每一行对应着一颗特定的卫星),l对应规划时段中单颗星数传窗口(窗口间无时间冲突)的最大数量。对应位置为t_w [i,j],例如,t_w [1,1]表示第一颗卫星在进入第一个数传窗口前可以完成的最后一个任务,t_w [1,2]表示第一颗卫星在进入第二个数传窗口前可以完成的最后一个任务的序号,以此类推;(2)任务权重张量t_v(m,n),表示该次任务机会对应任务的权重或价值,是一个二阶张量;(3)任务映射张量t_map(m,n),表示该次任务机会在所述任务执行机会列表中的id,用来参与记录任务规划的过程和最终规划结果;环境状态变量还包括:任务剩余总执行次数张量t_remain(m,n),表示任务机会对应的任务在剩余规划中的剩余可执行次数,对应位置t_remain [i,j]的值表示第i颗卫星的第j个任务机会对应的任务在剩余规划时间中剩余的可执行次数,若该任务已经被执行,则该值设定为0。在任务的规划过程中,如果两个任务重要性相同,则会给剩余执行次数少的任务更高的优先级。
[0069]
根据本技术实施例,可选地,确定卫星遥感任务的所述任务执行机会列表,包括:获取卫星任务的原始数据,包括:卫星群的轨道根数、卫星资源、地面站资源和任务需求;根据卫星群的轨道根数计算出卫星群星历,并结合卫星群的星历和基站的站址数据计算出数传窗口列表,所述数传窗口列表包括:卫星对地面站的可见时间弧段和对应的卫星姿态以及圈数;根据卫星星历、任务需求和卫星资源计算出任务执行机会列表,所述任务执行机会列表中包括以下至少一项:某颗卫星对某个任务的可执行时间以及对应的执行时长、圈数、
卫星姿态、任务权重、任务价值。
[0070]
此步骤为卫星遥感任务预规划步骤,根据卫星任务的原始数据生成数传窗口列表和任务执行机会列表,预规划所得参数是任务规划中需要用到的参数。
[0071]
以上通过多个实施例描述了本技术实施例的实现方式以及带来的优势。以下结合具体的例子,详细描述本技术实施例的具体处理过程。
[0072]
图2是本技术实施例的基于贪心策略的多星遥感任务动态规划方法的处理过程示意图。任务规划的具体方法如下:1)加载环境常量,初始化环境状态变量;2)计算任务优先级分数t_priority;3)结合t_available 和t_priority 选择本轮的动作,即选择任务机会,并保存结果;4)根据w_available并依据就近下传策略,选择本轮执行任务的数据下传窗口,并保存结果;5)更新动作2)、3)执行后的环境状态,按步骤如下:
①
更新数传窗口通信余量:通过t_s更新w_s;
②
更新数传窗口可用性:根据更新后的w_s更新w_available;
③
更新星上存储余量:通过t_s更新s_s;
④
更新数传窗口可用性:根据更新后的s_s更新w_available;
⑤
更新卫星能量余量:根据t_e更新s_e;6)更新t_available,包括:
①
更新相同任务可用性:根据t_id更新t_available;
②
更新时间冲突的任务可用性:根据t_conflict更新t_available;
③
根据w_available的变化更新t_available;
④
根据s_e的变化更新t_available;7)如果还有可执行任务,则回到2),否则输出规划结果,并结束规划。
[0073]
下面以选择第3颗星执行第7个任务,并在该星的第2个数传窗口下传任务作为一个具体示例详述本任务规划算法步骤5)、步骤6)更新环境状态变量的具体过程:其中,步骤5)过程如下:
①
更新w_s,用第3颗卫星第2个数传窗口的通信余量减去第7个任务的存储占用:,
[0074]
②
更新w_available,第3颗星第2个数传窗口前的所有任务机会共有t_w[3,2]个,他们的存储占用分别对应t_s[3,1]到t_s[3,t_w[3,2]],其中大于w_s'[3,2]的,表示该窗口不再可用,则把其对应的数传窗口可用性设置为不可用,也就是w_available[3,2,1]到w_available[3,2,t_w[3,2]]中对应元素置0。
[0075]
③
更新s_s,用第3颗卫星第1个和第2个数传窗口间星上存储余量减去第7个任务的存储占用:,
[0076]
④
更新w_available,第3颗星第2个数传窗口前的所有任务机会(共有t_w[3,2]个),他们的存储占用分别对应t_s[3,1]到t_s[3,t_w[3,2]],其中大于s_s'[3,2]的,对于
该窗口以及后面的窗口均不在可用,把w_available中对应的元素置0。
[0077]
⑤
更新s_e,该任务对应圈数t_e(3,2),,
[0078]
下面以上述示例为基础,详述本任务规划算法步骤6)更新任务可用性的具体过程:步骤6)过程如下:
①
t_id中所有等于t_id[3,7]的元素的位置,将t_available中对应的位置的值置0,即关闭同一任务对应的所有任务机会的可用性。
[0079]
例如t_id[2,11] = t_id[3,7],则t_available[2,11] = 0。
[0080]
②
t_conflict[3,7,1]到t_conflict[3,7,n]中所有等于1的值,将t_available中对应的位置的值置0。关闭时间冲突任务机会的可用性。
[0081]
例如t_conflict[3,7,5]=1,则t_available[3,5]=0;t_conflict[3,7,6]=1,则t_available[3,6]=0。
[0082]
③
根据w_available变化的更新t_available。
[0083]
例如当w_available[3,1,4]到w_available[3,l,4]都为0时,表示第三颗卫星的所有窗口对第4个任务机会都不可用,则t_available[3,4] = 0 。
[0084]
④
根据s_e的变化,结合t_e更新t_available。
[0085]
例如任务导致s_e[3,2]的值由2变为了1,则表示第3颗卫星在第2圈还有能量执行任务,此时t_available不发生变化。
[0086]
若s_e[3,2]的值由1变为了0,则表示第3颗卫星在第2圈执行任务的次数用尽,假设t_e[3,5],t_e[3,6],t_e[3,7],t_e[3,8]的值都为2,则t_available[3,5],t_available[3,6],t_available[3,7],t_available[3,8]均更新为0。
[0087]
图3是本技术实施例的任务动态规划方法的流程框图。
[0088]
本算法还可以结合其他辅助功能共同完成。任务开始后,输入任务,在任务检查模块检查输入的任务配置及数据是否正确,如果正确则进入状态生成模块生成环境状态,如果不正确则显示错误结束任务规划重新开始。
[0089]
当环境状态生成后,进入目标配置模块,输入本次任务规划的优化目标以及不同目标对应的权重值;任务规划核心为确定每轮待执行任务的具体结果,当不再有可执行任务时,输出结果,完成本次任务规划。
[0090]
与本技术的方法实施例对应地,本技术还提供一种基于贪心策略的多星遥感任务动态规划装置,如图4所示,装置100包括:获取模块110,用于获取卫星遥感任务的数传窗口列表,所述数传窗口列表中包括:卫星对地面站的可见时间弧段、对应的卫星姿态以及圈数;获取卫星遥感任务的任务执行机会列表,所述任务执行机会列表中包括卫星对任务的可执行时间;生成模块120,用于生成多星多站系统的环境状态,所述环境状态通过环境常量和环境状态变量表征,其中环境常量为不随任务规划发生变化的量,环境状态变量为随任务规划发生变化的量,所述环境状态变量至少包括任务可用性张量、数传窗口可用性张量,所述数传窗口可用性张量基于所述数传窗口列表和所述任务执行机会列表生成;
优化模块130,用于确定本次任务规划的至少一个优化目标,并基于本次任务规划的优化目标计算本轮任务的优先级分数张量;第一确定模块140,用于基于任务可用性张量和优先级分数张量,在所述任务执行机会列表中确定本轮任务,并基于数传窗口可用性张量,依据就近下传策略,选择本轮任务对应的数据下传窗口;更新模块150,用于更新环境状态变量,其中包括更新任务可用性张量以及更新优先级分数张量;第二确定模块160,用于基于更新后的任务可用性张量,确定所述任务执行机会列表中是否还有可执行任务机会,若仍有可执行任务机会,则基于更新后的任务可用性张量和更新后的优先级分数张量,确定下一轮任务以及对应的数据下传窗口;结果输出模块170,用于在所述任务执行机会列表中不存在可执行任务机会时,输出任务规划结果。
[0091]
基于以上至少一个实施例,具有以下优势:1. 通过对环境常量和状态变量的巧妙设计,使用少量状态参量即可描述复杂的多星多站任务规划系统(星、站、任务数量任意),使得算法具有较强的通用性。同时降低系统复杂度,提高了算法的计算效率;2. 采用贪心策略和动态规划方法,降低了算法的计算复杂度(kn);以张量的形式表达环境状态,加快了算法程序规划过程中环境的更新的速率。使得算法可以在极短的时间内完成大规模的任务规划(0.2s完成500个任务机会的规划);3. 可配置的多目标优先级函数,使规划算法可以实现高自由度的多目标组合优化;4. 全局统筹配合贪心策略,保证了算法可以在全局尺度上优先安排更重要的任务。通过给紧急任务赋予特殊优先级,实现了对卫星任务的临机规划;5. 在优先级函数中加入任务剩余执行次数的影响因子,同时规划过程中动态计算任务的优先级评分,避免了部分优先级较高的任务被次要任务抢占资源,从而优化了规划路径;6. 规划核心模块中,各种约束条件之间不存在耦合,因此可以根据业务进行增减,从而增强了算法在约束条件上的可扩展性。
[0092]
本技术实施例中的电子设备可以是用户终端设备,可以是服务器,还可以是其他计算设备,也可以是云端服务器。图5用来实现本技术实施例的基于贪心策略的多星遥感任务动态规划方法的电子设备的示意图,该电子设备可以包括处理器601以及存储有计算机程序指令的存储器602,处理器601执行计算机程序指令时实现上述任一实施例方法的流程或功能。
[0093]
具体地,处理器601可以包括中央处理器(cpu),或者特定集成电路(application specific integrated circuit ,asic),或者可以被配置成实施本技术实施例的一个或多个集成电路。存储器602可以包括用于数据或指令的大容量存储器。举例来说,存储器602可以是以下至少一者:硬盘驱动器(hard disk drive,hdd)、只读存储器(rom),随机存取存储器(ram)、软盘驱动器、闪存、光盘、磁光盘、磁带、通用串行总线(universal serial bus,usb)驱动器或其他物理/有形的存储器存储设备。又如,存储器602可包括可移除或不可移
除(或固定)的介质。再如,存储器602可在综合网关容灾设备的内部或外部。存储器602可以是非易失性固态存储器。换句话说,通常存储器602包括编码有计算机可执行指令的有形(非暂态)计算机可读存储介质(如存储器设备),并且当该软件被执行(如由一个或多个处理器执行)时,可执行本技术实施例的方法所描述的操作。处理器601通过读取并执行存储器602中存储的计算机程序指令,实现上述实施例中任一种方法的流程或功能。
[0094]
在一个示例中,图5所示的电子设备还可包括通信接口603和总线610。其中,处理器601、存储器602、通信接口603通过总线610连接并完成相互间的通信。通信接口603主要用于实现本技术实施例中各模块、装置、单元和/或设备之间的通信。总线610包括硬件、软件或两者皆有,可将在线数据流量计费设备的部件彼此耦接在一起。举例来说,总线可包括以下至少一者:加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线。总线610可包括一个或多个总线。尽管本技术实施例描述或示出了特定的总线,但本技术实施例可考虑任何合适的总线或互连方式。
[0095]
结合上述实施例中的方法,本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述实施例中任一种方法的流程或功能。
[0096]
另外,本技术实施例还提供一种计算机程序产品,该计算机程序产品上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述实施例中任一种方法的流程或功能。
[0097]
以上示例性地描述了本技术实施例的方法、装置、系统和计算机程序产品的流程图和/或框图,并描述了相关的各个方面。应当理解,流程图和/或框图中的每个方框或其组合,可以由计算机程序指令实现,也可以由执行指定功能或动作的专用硬件来实现,还可由专用硬件和计算机指令的组合来实现。例如,这些计算机程序指令可被提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,以形成一种机器可使得经由这种处理器执行的这些指令使能对流程图和/或框图中的每个方框或其组合中指定的功能/动作的实现。这种处理器可以是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。
[0098]
本技术实施例的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等;当以软件方式实现时,是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在存储器中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
[0099]
需说明,本技术并不局限于上文所描述或在图中示出的特定配置和处理。以上所述仅为本技术的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,所描述的系统、设备、模块或单元的具体工作过程,可以参考方法实施例中的对应过程,不需再赘述。应理解,本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可想到各种等效的修改或替换,这些修改或替换都应涵
盖在本技术的保护范围之内。
技术特征:
1.一种基于贪心策略的多星遥感任务动态规划方法,其特征在于,包括:获取卫星遥感任务的数传窗口列表,所述数传窗口列表中包括:卫星对地面站的可见时间弧段、对应的卫星姿态以及圈数;获取卫星遥感任务的任务执行机会列表,所述任务执行机会列表中至少包括卫星对任务的可执行时间、任务权重和任务价值;生成多星多站系统的环境状态,所述环境状态通过环境常量和环境状态变量表征,其中环境常量为不随任务规划发生变化的量,环境状态变量为随任务规划发生变化的量,所述环境状态变量至少包括任务可用性张量和数传窗口可用性张量,所述数传窗口可用性张量基于所述数传窗口列表和所述任务执行机会列表生成;确定本次任务规划的至少一个优化目标,并基于本次任务规划的优化目标计算本轮任务的优先级分数张量;基于任务可用性张量和优先级分数张量,在所述任务执行机会列表中确定本轮任务,并基于数传窗口可用性张量,依据就近下传策略,选择本轮任务对应的数据下传窗口;更新环境状态变量,其中包括更新任务可用性张量以及更新优先级分数张量;基于更新后的任务可用性张量,确定所述任务执行机会列表中是否还有可执行任务机会,其中,若仍有可执行任务机会,则基于更新后的任务可用性张量和更新后的优先级分数张量,确定下一轮任务以及对应的数据下传窗口;直至所述任务执行机会列表中不存在可执行任务机会,则输出任务规划结果。2.根据权利要求1所述的方法,其特征在于,所述优先级分数张量t_priority表示第i颗星的第j个任务机会的优先级评分,在选择需要执行的本轮任务时,优先确定t_priority最高的任务机会,对于t_priority相同的任务机会,优先选择执行时间更早的任务机会。3.根据权利要求2所述的方法,其特征在于,计算优先级分数张量的目标函数表示为:,其中,min(set(w))表示本轮任务各个优化目标的权重中的最小值,x
i
代表优化目标对应的值,角标i表示不同的优化目标。4.根据权利要求1所述的方法,其特征在于,任务的优化目标包括任务重要性,对应的值表示为:,其中,importanc表示任务重要性的高低,取值为0、1、2、3或4。5.根据权利要求1所述的方法,其特征在于,任务的优化目标包括任务的商业价值,对应的值表示为:,其中,v表示任务价值。6.根据权利要求1所述的方法,其特征在于,任务的优化目标包括任务对应的卫星姿态,对应的值表示为:,其中,和分别表示任务执行过程中侧摆角和俯仰角的变化量,θ
s
和α
s
则分别表示卫星执行任务机会需要的初始侧摆角和俯仰角。7.根据权利要求1所述的方法,其特征在于,任务的优化目标包括任务对应的任务存储
空间,对应的值表示为:,其中,ds表示任务机会产生的数据量大小。8.根据权利要求3所述的方法,其特征在于,对双优化目标进行任务规划时,i=2,且权重建议值为w=(0.7,0.3);对三个优化目标进行任务规划时,i=3,且权重建议值为w=(0.6,0.3,0.1);对四个优化目标进行任务规划时,i=4,且权重建议值w=(0.5,0.25,0.15,0.1)。9.根据权利要求1所述的方法,其特征在于,所述更新环境状态变量包括:根据任务存储张量更新数传窗口通信余量张量,并根据数传窗口通信余量张量的变化更新数传窗口可用性张量;和/或根据任务存储张量更新星上存储余量张量,根据星上存储余量张量的变化更新数传窗口可用性张量;和/或根据任务圈数张量更新卫星能量余量张量。10.根据权利要求1所述的方法,其特征在于,所述更新任务可用性张量包括:根据任务标识张量,将与本轮任务对应的所有任务机会的可用性关闭;和/或根据任务冲突张量,将与本轮任务存在时间冲突的可执行任务机会的可用性关闭;和/或根据数传窗口可用性张量的变化更新任务可用性张量;和/或根据卫星能量余量张量的变化更新所述任务可用性张量。11.根据权利要求1-10任一项所述的方法,其特征在于,所述多星多站系统中单颗星有机会执行任务的最大次数为n次任务机会;所述环境常量包括以下至少一项:任务标识张量,用来描述任务机会所对应的任务;任务存储张量,表示卫星执行任务机会时产生数据的大小;任务圈数张量,表示卫星在该次任务机会所处的轨道圈数;窗口任务映射张量,表示数传窗口与任务机会在时间上的对应关系;任务冲突张量,表示任务机会之间的因为时间约束而产生的冲突;任务权重张量,表示该次任务机会对应任务的权重或价值;任务映射张量,表示该次任务机会在所述任务执行机会列表中的id,用来参与记录任务规划的过程和最终规划结果;所述环境状态变量包括以下至少一项:任务可用性张量,表示在任务规划的过程中,所述任务机会的实时可用性;数传窗口通信余量张量,表示某颗卫星在该数据下传窗口的剩余可下传数据量的大小;星上存储余量张量,表示卫星在进入对应的数传窗口前剩余的存储空间;数传窗口可用性张量,表示卫星的数据下传窗口对该卫星的每一个任务机会的数据下传可用性;卫星能量余量张量,表示卫星在对应的轨道圈数剩余的任务执行次数;任务剩余总执行次数张量,表示任务机会对应的任务在剩余规划中的剩余可执行次数。12.根据权利要求1所述的方法,其特征在于,确定卫星遥感任务的所述任务执行机会
列表和数传窗口列表,包括:获取卫星任务的原始数据,包括:卫星群的轨道根数、卫星资源、地面站资源和任务需求;根据卫星群的轨道根数计算出卫星群星历,并结合卫星群的星历和基站的站址数据计算出数传窗口列表,所述数传窗口列表包括:卫星对地面站的可见时间弧段和对应的卫星姿态以及圈数;根据卫星星历、任务需求和卫星资源计算出任务执行机会列表,所述任务执行机会列表中包括以下至少一项:某颗卫星对某个任务的可执行时间以及对应的执行时长、圈数、卫星姿态、任务权重、任务价值。13.一种基于贪心策略的多星遥感任务动态规划装置,其特征在于,包括:获取模块,用于获取卫星遥感任务的数传窗口列表,所述数传窗口列表中包括:卫星对地面站的可见时间弧段、对应的卫星姿态以及圈数;获取卫星遥感任务的任务执行机会列表,所述任务执行机会列表中包括卫星对任务的可执行时间;生成模块,用于生成多星多站系统的环境状态,所述环境状态通过环境常量和环境状态变量表征,其中环境常量为不随任务规划发生变化的量,环境状态变量为随任务规划发生变化的量,所述环境状态变量至少包括任务可用性张量、数传窗口可用性张量,所述数传窗口可用性张量基于所述数传窗口列表和所述任务执行机会列表生成;优化模块,用于确定本次任务规划的至少一个优化目标,并基于本次任务规划的优化目标计算本轮任务的优先级分数张量;第一确定模块,用于基于任务可用性张量和优先级分数张量,在所述任务执行机会列表中确定本轮任务,并基于数传窗口可用性张量,依据就近下传策略,选择本轮任务对应的数据下传窗口;更新模块,用于更新环境状态变量,其中包括更新任务可用性张量以及更新优先级分数张量;第二确定模块,用于基于更新后的任务可用性张量,确定所述任务执行机会列表中是否还有可执行任务机会,若仍有可执行任务机会,则基于更新后的任务可用性张量和更新后的优先级分数张量,确定下一轮任务以及对应的数据下传窗口;结果输出模块,用于在所述任务执行机会列表中不存在可执行任务机会时,输出任务规划结果。14.一种电子设备,其特征在于,所述电子设备包括:处理器以及存储有计算机程序指令的存储器;所述电子设备执行所述计算机程序指令时实现如权利要求1-12中任一项所述的方法。15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-12中任一项所述的方法。
技术总结
本申请公开了一种基于贪心策略的多星遥感任务动态规划方法和装置。该方法包括:确定卫星遥感任务的数传窗口列表,和任务执行机会列表;生成多星多站系统的环境状态;确定本次任务规划的至少一个优化目标,并基于任务可用性张量和优先级分数张量,在所述任务执行机会列表中确定本轮任务,选择本轮任务对应的数据下传窗口;更新环境状态变量,若仍有可执行任务机会,则基于更新后的任务可用性张量和优先级分数张量确定下一轮任务以及对应的数据下传窗口;直至所述任务执行机会列表中不存在可执行任务机会,则输出任务规划结果。利用本申请实施例可以优化多星遥感任务的动态规划过程。程。程。
技术研发人员:于嘉宁 王世金 王月 徐颖
受保护的技术使用者:数字太空(北京)科技股份公司
技术研发日:2023.07.25
技术公布日:2023/8/24
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
