一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于遗传迭代搜索的卫星任务合成、分配及规划方法

2023-02-06 14:49:40 来源:中国专利 TAG:


1.本技术涉及卫星任务规划技术领域,具体涉及一种基于遗传迭代搜索的卫星任务合成、分配及规划方法。


背景技术:

2.对地观测卫星是一种重要的航天飞行器,它可以利用其搭载的传感器基于用户需求从太空中获取地面图像信息,以下简称卫星。卫星星座是发射入轨能正常工作的卫星的集合,同轨卫星星座表示星座中所有卫星的轨道极为相似,如高分一号和高分二号卫星,尽管他们的轨道不完全相同,但是他们的星下点轨迹、飞行高度、飞行方向等都极为相似。因此,同轨卫星星座中的卫星对于同一个待观测目标具有相同的可见性。对于一批给定的数量较多的待观测任务,通常需要多颗卫星协同完成成像,而利用同轨卫星星座中卫星对目标具有相同的可见性这一特性,可以大大减少任务规划的复杂度,因此调度员会倾向于使用同轨卫星星座对一批待观测任务进行规划。
3.早期对地观测卫星的任务规划相对简单,然而随着成像任务需求的增加,需求特征和决策要素更加复杂。对于一批给定的需要同轨卫星星座进行成像的任务,每个任务都可以由同轨卫星星座中的任意一颗卫星来成像,而每颗卫星都受到过渡时间、能量消耗等约束,不同的任务分配会极大的影响最终规划方案的收益。现有技术中,无法合理地将不同的任务分配给同轨卫星星座中的各个卫星,使得最终规划方案的收益往往较低。
4.因此,亟需一种卫星任务规划方法,以解决上述问题。


技术实现要素:

5.(一)解决的技术问题
6.针对现有技术的不足,本技术提供了一种基于遗传迭代搜索的卫星任务合成、分配及规划方法,以解决现有技术中,无法合理地将不同的任务分配给同轨卫星星座中的各个卫星,使得最终规划方案的收益往往较低的问题。
7.(二)技术方案
8.为实现以上目的,本技术通过以下技术方案予以实现:
9.在本技术的第一方面,提供了一种基于遗传迭代搜索的卫星任务合成、分配及规划方法,该方法包括:
10.s1、基于初始规划信息,将待观测任务集合t中的任务进行合成,得到合成任务集合s;
11.其中,所述初始规划信息包括待观测任务集合t、对地观测卫星集合e;
12.s2、初始化序列集合p;
13.其中,所述序列集合p表示由np个任务分配序列组成的任务分配序列集合,pb表示第b个任务分配序列;所述任务分配序列表示包含执行每个待观测任务的对地观测卫星的编号的数据集;;
14.s3、进行迭代;其中,初始化迭代次数a=1;
15.s4、遍历所述序列集合;其中,初始化序列集合的索引b=1;
16.s5、判断b≤n
p
是否成立,若是,转s6;否则转s8;
17.s6、基于所述合成任务集合s、对地观测卫星集合e、任务分配序列pb以及树搜索的方法,对所述合成任务集合s中的全部任务进行规划,得到规划方案cb;
18.s7、确定所述规划方案cb的收益fb,更新b=b 1,转s5;
19.s8、更新迭代次数a=a 1,判断a≤na是否成立,若是,转s9;否则转s10;其中,na表示进行迭代的最大次数;
20.s9、对所述序列集合进行遗传操作,得到处理后的序列集合,转s4;
21.s10、选择序列集合中收益最大的规划方案,作为最终的规划方案。
22.可选的,所述s1中,基于规划信息,将待观测任务集合t中的任务进行合成,得到合成任务集合s,包括:
23.v101、获取所述初始规划信息;其中,所述初始规划信息还包括首个对地观测卫星对所有任务的时间窗集合w;
24.s102、初始化合成任务集合s、合成任务q为空集;
25.s103、根据时间窗的开始时间,对任务集合t中的任务进行非降序排序,生成任务集合t


26.其中,tz表示排序后的t

中的第z个任务,n
t
表示任务集合t中全部任务的数量;
27.s104、初始化z=1,将任务集合t

中的任务tz添加到合成任务q中;
28.s105、初始化z

=z 1;
29.s106、判断z

≤|t

|是否成立;若是,转s107;否则转s111;其中,|t

|表示任务集合t

中全部任务的数量;
30.s107、判断是否成立,若是,转s108;否则转s110;
31.其中,αz、αz分别表示tz、tz′
所对应的侧摆角,φ表示对地观测卫星的视场角;
32.s108、判断是否成立,若是,转s109;否则转s110;
33.其中,l表示每颗对地观测卫星的成像传感器的单次最长开机时间;表示首个对地观测卫星对任务tz的观测时间窗的结束时间、表示首个对地观测卫星对任务tz′
的观测时间窗的结束时间、表示首个对地观测卫星对任务tz的观测时间窗的开始时间;
34.s109、将任务tz′
添加到合成任务q中;其中,tz′
表示排序后的t

中的第z

个任务;
35.v110、更新z

=z

1,转s106;
36.v111、将合成任务q作为一个合成后的任务,并添加到合成任务集合s中;
37.v112、在任务集合t中,将合成任务q中包含的所有任务进行删除,得到删除后的任务集合t;
38.v113、判断删除后的任务集合t是否为空集,若是,转s115;否则转s114;
39.s114、清空合成任务q,转s103;
40.s115、输出合成任务集合s。
41.可选的,所述s9中,对所述序列集合进行遗传操作,得到处理后的序列集合,转s4,包括:
42.s901、根据每个序列对应的规划方案的收益,对所述序列集合中的所有序列进行非升序排序,并将排序靠后的n
x
个序列在序列集合中删除,得到删除后的序列集合;其中,n
x
为预设数值,且0<n
x
<n
p

43.s902、对删除后的序列集合进行交叉操作,得到交叉操作后的序列集合;
44.其中,步骤s902,包括:
45.s90201、初始化交叉次数n=1;
46.s90202、判断n≤nb是否成立,若是,转s90203;若否,则得到交叉操作后的序列集合,转s903;
47.其中,nb为进行交叉操作的总次数,且
48.s90203、在删除后的序列集合中,随机选择两个不同的序列进行复制,得到p

与p


49.s90204、在序列中随机选择一个位置,将p

在所述位置之后的所有卫星编号与p

中在所述位置之后的所有卫星编号进行交换,得到交换后的p

与p


50.s90205、将交换后的p

与p

添加到删除后的序列集合中;
51.s90206、更新n=n 1,转s90202;
52.s903、对交叉操作后的序列集合,进行变异操作,得到处理后的序列集合,转v4;
53.其中,步骤s903,包括:
54.s90301、初始化变异次数m=1;
55.s90302、判断m≤n
x-2nb是否成立,若是,转s90303;否则得到处理后的序列集合,转s4;
56.s90303、在交叉操作后的序列集合中,随机选择一个序列进行复制,得到序列p
″′

57.s90304、随机生成一个[0,n
t
]之间的整数g,在序列p
″′
中随机选择g个位置,随机生成g个[1,ne]之间的整数,替换所述g个位置的卫星编号;其中,ne表示对地观测卫星的总数量;
[0058]
s90305、将p
″′
添加到交叉操作后的序列集合中;
[0059]
s90306、更新m=m 1,转s90302。
[0060]
可选的,所述s2中,初始化序列集合p,包括:
[0061]
s201、初始化b=1;
[0062]
s202、判断b≤np是否成立;若是,转s203;否则转s3;
[0063]
s203、随机生成n
t
个[1,ne]之间的整数,添加到任务分配序列pb中;
[0064]
s204、将任务分配序列pb添加到序列集合p中;
[0065]
s205、更新b=b 1,转s202。
[0066]
可选的,所述s6中,基于所述合成任务集合s、对地观测卫星集合e、序列pb以及树搜索的方法,对所述合成任务集合s中的全部任务进行规划,得到规划方案cb,包括:
[0067]
s601、获取合成任务集合s、对地观测卫星集合e以及任务分配序列pb;
[0068]
s602、根据任务分配序列pb,将合成任务集合s中的任务分配至对地观测卫星集合e中的各个卫星;
[0069]
s603、初始化备选分支节点db为空集,规划方案cb为空集,j=1;
[0070]
s604、判断j≤ne是否成立;若是,转s605;否则转s615;
[0071]
s605、计算对地观测卫星ej对sj中所有任务的观测时间窗wj;
[0072]
其中,sj表示分配至对地观测卫星ej的任务集合;
[0073]
s606、按照时间窗的开始时间,将sj中的任务进行非降序排序;
[0074]
s607、构建一个搜索树rj,并创建一个虚拟节点,将所述虚拟节点作为根节点并添加到rj中;
[0075]
其中,所述虚拟节点对应一个虚拟任务,所述虚拟任务的开始时间为0,结束时间为-u;u表示对地观测卫星的成像传感器相邻两次开关机的最小过渡时间;
[0076]
s608、将根节点添加到备选分支节点集合db;
[0077]
s609、判断备选分支节点集合db是否为空集,若是,转s612;否则转s610;
[0078]
s610、根据搜索树rj和备选分支节点集合db,对db中的首个节点进行分支;
[0079]
s611、在备选分支节点集合db中删除被分支节点,转s609;
[0080]
s612、计算搜索树rj中每个分支的收益;其中,每个分支的收益为该分支上所有任务的收益之和;
[0081]
s613、确定收益最大的分支,将所述分支转换为对地观测卫星ej的观测方案,并添加到规划方案cb中;
[0082]
s614、更新j=j 1,转s604;
[0083]
s615、输出规划方案cb。
[0084]
可选的,所述s610中,根据搜索树rj和备选分支节点集合db,对db中的首个节点进行分支,包括:
[0085]
s61001、获取搜索树rj、备选分支节点集合db;
[0086]
s61002、初始化h=k(s(d)) 1;
[0087]
其中,d表示db中的首个节点,s(d)表示节点d对应的任务,k(s(d))表示任务s(d)的编号;
[0088]
s61003、判断是否成立,若是,转s61004;否则转s61010;其中,表示sj中任务的数量;
[0089]
s61004、判断任务sh与任务s(d)是否满足若是,转s61005;否则转s61008;
[0090]
s61005、基于任务sh,构建一个节点v,将所述节点v作为节点d的一条分支并添加到搜索树rj中;
[0091]
s61006、判断o(v)≤γ是否成立,若是,转s61007;否则转s61009;
[0092]
其中,o(v)表示在搜索树rj中,从根节点到节点v的分支上所有任务所需的电池能量消耗之和;γ表示对地观测卫星单个圈次的电池能量最大值;
[0093]
s61007、将节点v添加到备选分支节点集合db;
[0094]
s61008、更新h=h 1,转s61003;
[0095]
s61009、在搜索树rj中删除节点v,转s61008;
[0096]
s61010、输出分支后的搜索树rj和更新后的备选分支节点集合db。
[0097]
在本技术的第二方面,提供了一种基于遗传迭代搜索的卫星任务合成、分配及规划装置,所述装置包括:
[0098]
第一合成模块,用于执行s1、基于初始规划信息,将待观测任务集合t中的任务进行合成,得到合成任务集合s;其中,所述初始规划信息包括待观测任务集合t、对地观测卫星集合e;
[0099]
第一初始化模块,用于执行s2、初始化序列集合p;其中,所述序列集合p表示由n
p
个任务分配序列组成的任务分配序列集合,个任务分配序列组成的任务分配序列集合,pb表示第b个任务分配序列;所述任务分配序列表示包含执行每个待观测任务的对地观测卫星的编号的数据集;
[0100]
第一迭代模块,用于执行s3、进行迭代;其中,初始化迭代次数a=1;
[0101]
第一遍历模块,用于执行s4、遍历所述序列集合;其中,初始化序列的索引b=1;
[0102]
第一判断模块,用于执行s5、判断b≤n
p
是否成立,若是,转第一规划模块执行s6;否则,转第一更新模块执行s8;
[0103]
第一规划模块,用于执行v6、基于所述合成任务集合s、对地观测卫星集合e、任务分配序列pb以及树搜索的方法,对所述合成任务集合s中的全部任务进行规划,得到规划方案cb;
[0104]
第一确定模块,用于执行s7、确定所述规划方案cb的收益fb,更新b=b 1,转第一判断模块执行s5;
[0105]
第一更新模块,用于执行s8、更新迭代次数a=a 1,判断a≤na是否成立,若是,转第一处理模块执行s9,否则转第一选择模块执行s10;其中,na表示进行迭代的最大次数;
[0106]
第一处理模块,用于执行s9、对所述序列集合进行遗传操作,得到处理后的序列集合,转第一遍历模块执行s4;
[0107]
第一选择模块,用于执行s10、选择序列集合中收益最大的规划方案,作为最终的规划方案。
[0108]
可选的,所述第一合成模块,包括:
[0109]
第一获取子模块,用于执行s101、获取所述初始规划信息;其中,所述初始规划信息还包括首个对地观测卫星对所有任务的时间窗集合w;
[0110]
第一初始化子模块,用于执行s102、初始化合成任务集合s、合成任务q为空集;
[0111]
第一排序子模块,用于执行s103、根据时间窗的开始时间,对任务集合t中的任务进行非降序排序,生成任务集合t

;其中,;其中,tz表示排序后的t

中的第z个任务,n
t
表示任务集合t中全部任务的数量;
[0112]
第二初始化子模块,用于执行s104、初始化z=1,将任务集合t

中的任务tz添加到合成任务q中;
[0113]
第三初始化子模块,用于执行s105、初始化z

=z 1;
[0114]
第一判断子模块,用于执行s106、判断z

≤|t

|是否成立;若是,转第二判断子模块执行s107;否则转第二添加子模块执行s111;其中,|t

|表示任务集合t

中全部任务的数
量;
[0115]
第二判断子模块,用于执行s107、判断是否成立,若是转第三判断子模块执行s108;否则转第一更新子模块执行s110;其中αz、αz分别表示tz、tz′
所对应的侧摆角,φ表示对地观测卫星的视场角;
[0116]
第三判断子模块,用于执行s108、判断是否成立,若是,转第一添加子模块执行s109;否则转第一更新子模块执行s110;其中,l表示每颗对地观测卫星的成像传感器的单次最长开机时间;表示首个对地观测卫星对任务tz的观测时间窗的结束时间、表示首个对地观测卫星对任务tz′
的观测时间窗的结束时间、表示首个对地观测卫星对任务tz的观测时间窗的开始时间;
[0117]
第一添加子模块,用于执行s109、将任务tz′
添加到合成任务q中;其中,tz′
表示排序后的t

中的第z

个任务;
[0118]
第一更新子模块,用于执行s110、更新z

=z

1,转第一判断子模块执行s106;
[0119]
第二添加子模块,用于执行s111、将合成任务q作为一个合成后的任务,并添加到合成任务集合s中;
[0120]
第一删除子模块,用于执行s112、在任务集合t中,将合成任务q中包含的所有任务进行删除,得到删除后的任务集合t;
[0121]
第四判断子模块,用于执行s113、判断删除后的任务集合t是否为空集,若是,转第一输出子模块执行s115;否则转第一清空子模块执行s114;
[0122]
第一清空子模块,用于执行s114、清空合成任务q,转第一排序子模块执行s103;
[0123]
第一输出子模块,用于执行s115、输出合成任务集合s。
[0124]
在本技术的第三方面,提供了一种电子设备,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0125]
存储器,用于存放计算机程序;
[0126]
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的卫星任务合成、分配及规划方法步骤。
[0127]
在本技术的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的卫星任务合成、分配及规划方法步骤。
[0128]
(三)有益效果
[0129]
本技术提供了一种基于遗传迭代搜索的卫星任务合成、分配及规划方法,与现有技术相比,具备以下有益效果:
[0130]
在本技术所提供的技术方案中,s1、基于初始规划信息,将待观测任务集合t中的任务进行合成,得到合成任务集合s;s2、初始化序列集合p;s3、进行迭代;s4、遍历所述序列集合;s5、判断b≤np是否成立,若是,转s6;否则转s8;s6、基于所述合成任务集合s、对地观测卫星集合e、任务分配序列pb以及树搜索的方法,对所述合成任务集合s中的全部任务进行规划,得到规划方案cb;s7、确定所述规划方案cb的收益fb,更新b=b 1,转s5;s8、更新迭代次数a=a 1,判断a≤na是否成立,若是,转s9;否则转s10;s9、对所述序列集合进行遗传
操作,得到处理后的序列集合,转s4;s10、选择序列集合中收益最大的规划方案,作为最终的规划方案。
[0131]
基于上述处理,首先将待观测任务集合t中的任务进行合成,减少了卫星传感器的姿态转换次数和能量消耗,同时增加了卫星传感器每次开机可以观测的任务数量,从而极大提升了观测效率,更加高效地利用了有限的卫星资源。在此基础上,基于树搜索任务规划方法对待观测任务进行规划,将每个待观测任务对应为搜索树中的一个节点,可以快速的获得每个卫星的观测方案。然后,基于遗传算法的任务分配模式,通过迭代搜索的方式探寻最优的任务分配,在每次迭代过程中对所有待观测任务进行规划并计算收益,利用遗传算法低成本、高效且适用于大规模问题等特点,搜索获得收益最大的任务分配序列并获得相应的规划方案,从而极大地提升了卫星任务分配的最终规划方案的收益。
附图说明
[0132]
为了更清楚地说明本技术或现有技术中的技术方案,下面将对或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0133]
图1为本技术提供的一种基于遗传迭代搜索的卫星任务合成、分配及规划方法的流程图;
[0134]
图2为本技术提供的一种任务合成方法的流程图;
[0135]
图3为本技术提供的一种基于树搜索的卫星任务规划的流程图;
[0136]
图4为本技术提供的一种基于过渡时间与能量约束的节点分支的流程图;
[0137]
图5为本技术提供的一种基于遗传迭代搜索的卫星任务合成、分配及规划装置的结构图;
[0138]
图6为本技术提供的一种电子设备的结构图。
具体实施方式
[0139]
为使本发明实施例的目的、技术方案和优点更加清楚,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0140]
本技术实施例通过提供一种基于遗传迭代搜索的卫星任务合成、分配及规划方法,解决了现有的规划方法得出的最终规划方案的收益较低的技术问题,将待观测任务进行合成,增加了卫星传感器每次开机可以观测的任务数量,极大提升了观测效率,并且基于树搜索的方法快速地获得每个卫星的观测方案。然后,基于遗传算法的任务分配模式,实现了合理地将不同的任务分配给星座中的各个卫星,提高了最终规划方案的收益。
[0141]
本技术实施例中的技术方案为达到上述有益效果,总体思路如下:
[0142]
对地观测卫星是一种重要的航天飞行器,它可以利用其搭载的传感器基于用户需求从太空中获取地面图像信息。由于对地观测卫星具有覆盖范围广、不受时间、地域和国界限制、不涉及人员安全等独特优势,目前已应用于气象、民生、国防、通讯等各个领域,具有
极其重要的战略价值。为了有效满足用户需求,提高对地观测卫星资源的利用率,地面指挥控制系统必须进行任务规划,即对多源用户需求进行分析筹划,对卫星、载荷、地面站等各类资源进行优化调度,从而充分发挥资源效能的一类管理活动。任务规划系统是卫星系统的

运行指挥中枢

,是驱动其高效工作的计算引擎。
[0143]
现有技术中,对地观测卫星往往采取单任务观测方式,需要在每个观测任务之间进行姿态转换,以通过侧摆对目标进行成像。然而,对地观测卫星的侧摆速率较低,完成侧摆后还需要一定的时间进行稳定,每次侧摆都会消耗能量,以及卫星有单次开机最大时间、最大电池能量消耗的约束,导致对地观测卫星每天观测的目标很有限。目前还有许多卫星的侧摆机动性能较差,限制了侧摆成像活动的次数,从而降低了卫星的观测能力。同时在成像任务的需求多且密集的情况下,现有技术的观测方法往往使得许多任务之间相互排斥,大大降低了卫星的观测效率。
[0144]
此外,传统的卫星规划问题与背包问题、时间受限最长路径、覆盖路径规划、约束满足、基于图的规划和数学规划问题公式分别相关。覆盖路径规划很适合卫星的测量任务,但多数研究成果假设覆盖范围和感知能力是完美的,且资源是无限的。使用有向无环图模型、图着色、多目标框架的基于图的方法也广泛应用于卫星调度,并且为卫星调度开发了许多依赖于数学规划框架的方法,但是这些方法忽略了关键的内存和能量容量的限制。
[0145]
现有技术的早期对地观测卫星的任务规划相对简单,然而随着成像任务需求的增加,需求特征和决策要素更加复杂。对于一批给定的需要同轨卫星星座进行成像的任务,每个任务都可以由星座中的任意一颗卫星来成像,而每颗卫星都受到过渡时间、能量消耗等约束,因此不同的任务分配会极大的影响最终规划方案的收益,如何合理地将不同的任务分配给星座中的各个卫星是当下亟待解决的难题之一。
[0146]
为了解决上述问题,本技术首先通过将待观测任务集合t中的任务进行合成,减少了卫星传感器的姿态转换次数和能量消耗,同时增加了卫星传感器每次开机可以观测的任务数量,从而极大提升了观测效率,更加高效地利用了有限的卫星资源。在此基础上,基于树搜索任务规划方法对待观测任务进行规划,将每个待观测任务对应为搜索树中的一个节点,可以快速的获得每个卫星的观测方案。然后,基于遗传算法的任务分配模式,通过迭代搜索的方式探寻最优的任务分配,在每次迭代过程中对所有待观测任务进行规划并计算收益,利用遗传算法低成本、高效且适用于大规模问题等特点,搜索获得收益最大的任务分配序列并获得相应的规划方案,从而提高了最终规划方案的收益。
[0147]
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
[0148]
本技术提出了一种卫星任务规划方法,应用于同轨卫星星座。参见图1,图1为本技术提供的一种基于遗传迭代搜索的卫星任务合成、分配及规划方法的流程图。如图1所示,该方法可以包括以下步骤:
[0149]
v1、基于初始规划信息,将待观测任务集合t中的任务进行合成,得到合成任务集合s。
[0150]
其中,初始规划信息包括待观测任务集合t、对地观测卫星集合e。
[0151]
v2、初始化序列集合p。
[0152]
其中,序列集合p表示由n
p
个任务分配序列组成的任务分配序列集合,
pb表示第b个任务分配序列;任务分配序列表示包含执行每个待观测任务的对地观测卫星的编号的数据集。
[0153]
s3、进行迭代。
[0154]
其中,初始化迭代次数a=1。
[0155]
s4、遍历序列集合。
[0156]
其中,初始化序列集合的索引b=1。
[0157]
s5、判断b≤n
p
是否成立,若是,转s6;否则转s8。
[0158]
s6、基于合成任务集合s、对地观测卫星集合e、任务分配序列pb以及树搜索的方法,对合成任务集合s中的全部任务进行规划,得到规划方案cb。
[0159]
s7、确定规划方案cb的收益fb,更新b=b 1,转s5。
[0160]
s8、更新迭代次数a=a 1,判断a≤na是否成立,若是,转s9,否则转s10。
[0161]
其中,na表示进行迭代的最大次数。
[0162]
s9、对序列集合进行遗传操作,得到处理后的序列集合,转s4。
[0163]
s10、选择序列集合中收益最大的规划方案,作为最终的规划方案。
[0164]
基于上述处理,首先将待观测任务集合t中的任务进行合成,减少了卫星传感器的姿态转换次数和能量消耗,同时增加了卫星传感器每次开机可以观测的任务数量,从而极大提升了观测效率,更加高效地利用有限的卫星资源。在此基础上,基于树搜索任务规划方法对待观测任务进行规划,将每个待观测任务对应为搜索树中的一个节点,可以快速的获得每个卫星的观测方案。然后,基于遗传算法的任务分配模式,通过迭代搜索的方式探寻最优的任务分配,在每次迭代过程中对所有待观测任务进行规划并计算收益,利用遗传算法低成本、高效且适用于大规模问题等特点,搜索获得收益最大的任务分配序列并获得相应的规划方案。
[0165]
接下来将结合说明书附图和具体内容详细介绍上述技术方案的细节:本技术实施例提供的卫星任务规划方法,是应用于由n
t
个待观测任务、ne个同轨对地观测卫星构成的任务规划场景中。其中,待观测任务ti表示第i个待观测任务,1≤i≤n
t
;对地观测卫星集合ej表示第j个对地观测卫星,1≤j≤ne。
[0166]
每个待观测任务对应一个侧摆角,αi表示ti对应的侧摆角。每颗对地观测卫星带有一个成像传感器,l表示该成像传感器的单次最长开机时间;u表示成像传感器相邻两次开关机的最小过渡时间;φ表示卫星的视场角;γ表示卫星单个圈次的电池能量最大值。
[0167]
w表示首个对地观测卫星对所有任务的时间窗集合,w表示首个对地观测卫星对所有任务的时间窗集合,其中,wi表示该卫星对任务ti的观测时间窗,的观测时间窗,表示时间窗的开始时间,表示时间窗的结束时间。
[0168]
任务分配序列,简称序列,表示包含执行每个待观测任务的对地观测卫星的编号的数据集。其中,该数据集中包含n
t
个待观测任务的对地观测卫星的编号。
[0169]
任务分配序列集合:简称序列集合,表示由n
p
个任务分配序列组成一个任务分配
序列集合p。其中,pb表示第b个任务分配序列,1≤b≤n
p

[0170]
针对步骤s1,参见图2,图2为本技术提供的一种任务合成方法的流程图。如图2所示,步骤s1包括:
[0171]
v101、获取初始规划信息。
[0172]
其中,初始规划信息还包括首个对地观测卫星对所有任务的时间窗集合w。
[0173]
v102、初始化合成任务集合s、合成任务q为空集。
[0174]
v103、根据时间窗的开始时间,对任务集合t中的任务进行非降序排序,生成任务集合t


[0175]
其中,tz表示排序后的t

中的第z个任务,n
t
表示任务集合t中全部任务的数量。
[0176]
s104、初始化z=1,将任务集合t

中的任务tz添加到合成任务q中。
[0177]
s105、初始化z

=z 1。
[0178]
s106、判断z

≤|t

|是否成立;若是,转s107;否则转s111。
[0179]
其中,|t

|表示任务集合t

中全部任务的数量。
[0180]
s107、判断是否成立,若是,转s108;否则转s110。
[0181]
其中,αz、αz,分别表示tz、tz′
所对应的侧摆角,φ表示对地观测卫星的视场角。
[0182]
s108、判断是否成立,若是,转s109;否则转s110。
[0183]
其中,l表示每颗对地观测卫星的成像传感器的单次最长开机时间;表示首个对地观测卫星对任务tz的观测时间窗的结束时间、表示首个对地观测卫星对任务tz′
的观测时间窗的结束时间、表示首个对地观测卫星对任务tz的观测时间窗的开始时间。
[0184]
s109、将任务tz′
添加到合成任务q中。
[0185]
其中,tz′
表示排序后的t

中的第z

个任务。
[0186]
s110、更新z

=z

1,转s106。
[0187]
s111、将合成任务q作为一个合成后的任务,并添加到合成任务集合s中。
[0188]
v112、在任务集合t中,将合成任务q中包含的所有任务进行删除,得到删除后的任务集合t。
[0189]
v113、判断删除后的任务集合t是否为空集,若是,转s115;否则转s114。
[0190]
v114、清空合成任务q,转s103。
[0191]
v115、输出合成任务集合s。
[0192]
其中,对地观测卫星携带的传感器具有一定的视场,成像时能够覆盖地面上一定幅宽的条带区域。当相邻的目标同处于卫星的观测带时,通过调整观测角度,可以将它们同时纳入观测范围,即合成观测。
[0193]
值得注意的是,本实施例中是基于首个对地观测卫星对所有任务的时间窗集合w,对待观测任务进行合成。由于本技术方案的应用于同轨卫星星座,因此合成后的待观测任务也适用于其他卫星,合成的任务由不同卫星执行时的时间窗不同。
[0194]
基于上述处理,通过将待观测任务集合t中的任务进行合成,从而减少了卫星传感器的姿态转换次数,降低了能量消耗,增强了卫星的稳定性,同时增加了卫星传感器每次开机可以观测的任务数量,提升了观测效益。
[0195]
针对步骤s2,初始化序列集合p,具体包括:
[0196]
s201、初始化b=1。
[0197]
s202、判断b≤n
p
是否成立;若是,转s203;否则转s3。
[0198]
s203、随机生成n
t
个[1,ne]之间的整数,添加到任务分配序列pb中。
[0199]
s204、将任务分配序列pb添加到序列集合p中。
[0200]
s205、更新b=b 1,转s202。
[0201]
基于上述处理,在初始化序列集合p的过程中,为每个任务分配序列随机分配了n
t
个[1,ne]之间的整数,进而为后续确定卫星任务的规划方案奠定了基础。
[0202]
针对步骤s6,参见图3,图3为本技术提供的一种基于树搜索的卫星任务规划的流程图。如图3所示,步骤v6中,基于合成任务集合s、对地观测卫星集合e、序列pb以及树搜索的方法,对合成任务集合s中的全部任务进行规划,得到规划方案cb,包括:
[0203]
s601、获取合成任务集合s、对地观测卫星集合e以及任务分配序列pb。
[0204]
s602、根据任务分配序列pb,将合成任务集合s中的任务分配至对地观测卫星集合e中的各个卫星。
[0205]
s603、初始化备选分支节点db为空集,规划方案cb为空集,j=1。
[0206]
s604、判断j≤ne是否成立;若是,转s605;否则转s615。
[0207]
s605、计算对地观测卫星ej对sj中所有任务的观测时间窗wj。
[0208]
其中,sj表示分配至对地观测卫星ej的任务集合。
[0209]
s606、按照时间窗的开始时间,将sj中的任务进行非降序排序。
[0210]
s607、构建一个搜索树rj,并创建一个虚拟节点,将虚拟节点作为根节点并添加到rj中。
[0211]
其中,虚拟节点对应一个虚拟任务,虚拟任务的开始时间为0,结束时间为
‑‑
u。u表示对地观测卫星的成像传感器相邻两次开关机的最小过渡时间。
[0212]
s608、将根节点添加到备选分支节点集合db。
[0213]
s609、判断备选分支节点集合db是否为空集,若是,转s612;否则转s610。
[0214]
s610、根据搜索树rj和备选分支节点集合db,对db中的首个节点进行分支。
[0215]
具体的,参见图4,图4为本技术提供的一种基于过渡时间与能量约束的节点分支的流程图。如图4所示,步骤s610中,根据搜索树rj和备选分支节点集合db,对db中的首个节点进行分支,包括:
[0216]
s61001、获取搜索树rj、备选分支节点集合db。
[0217]
s61002、初始化九=k(s(d)) 1。
[0218]
其中,d表示db中的首个节点,s(d)表示节点d对应的任务,k(s(d))表示任务s(d)的编号。
[0219]
s61003、判断是否成立,若是,转v61004;否则转s61010。
[0220]
其中,表示sj中任务的数量。
[0221]
s61004、判断任务s

与任务s(d)是否满足若是,转s61005;否则转s61008。
[0222]
s61005、基于任务sh,构建一个节点v,将节点v作为节点d的一条分支并添加到搜索树rj中。
[0223]
s61006、判断o(v)≤γ是否成立,若是,转s61007,否则转s61009。
[0224]
其中,o(v)表示搜索树rj中,从根节点到节点v的分支上所有任务所需的电池能量消耗之和;γ表示对地观测卫星单个圈次的电池能量最大值。
[0225]
s61007、将节点v添加到备选分支节点集合db。
[0226]
s61008、更新九=九 1,转s61003。
[0227]
s61009、在搜索树rj中删除节点v,转s61008。
[0228]
s61010、输出分支后的搜索树rj和更新后的备选分支节点集合db。
[0229]
基于上述处理,在基于树搜索任务规划方法对任务进行规划的过程中,通过考虑每颗卫星都受到过渡时间、能量消耗等约束因素,使得后续获得的规划方案更为合理,具有可行性。
[0230]
s611、在备选分支节点集合db中删除被分支节点,转s609。
[0231]
s612、计算搜索树rj中每个分支的收益。
[0232]
其中,每个分支的收益为该分支上所有任务的收益之和。
[0233]
s613、确定收益最大的分支,将分支转换为对地观测卫星ej的观测方案,并添加到规划方案cb中。
[0234]
s614、更新j=j 1,转s604。
[0235]
s615、输出规划方案cb。
[0236]
其中,一个卫星对应一个搜索树,构建的搜索树的每个分支对应该卫星的一个观测方案。该观测方案包括实际可以观测的任务,以及该卫星对每个任务的时间窗。
[0237]
每个规划方案是一个卫星观测方案集合,包含所有卫星的观测方案。
[0238]
此外,根据每个任务分配序列pb可以得到一个规划方案cb,即,任务分配序列与规划方案一一对应。
[0239]
基于上述处理,通过树搜索任务规划方法对任务进行规划,将每个任务对应为搜索树中的一个节点,可以快速的获得每个卫星的观测方案。
[0240]
具体的,步骤s9中,对序列集合进行遗传操作,得到处理后的序列集合,转s4,包括:
[0241]
s901、根据每个序列对应的规划方案的收益,对序列集合中的所有序列进行非升序排序,并将排序靠后的n
x
个序列在序列集合中删除,得到删除后的序列集合。其中,n
x
为预设数值,且0<n
x
<n
p

[0242]
s902、对删除后的序列集合进行交叉操作,得到交叉操作后的序列集合。
[0243]
其中,步骤s902,包括:
[0244]
s90201、初始化交叉次数n=1。
[0245]
s90202、判断n≤nb是否成立,若是,转s90203;若否,则得到交叉操作后的序列集合,转s903;其中,nb为进行交叉操作的总次数,且
[0246]
s90203、在删除后的序列集合中,随机选择两个不同的序列进行复制,得到p

与p


[0247]
s90204、在序列中随机选择一个位置,将p

在位置之后的所有卫星编号与p

中在位置之后的所有卫星编号进行交换,得到交换后的p

与p


[0248]
s90205、将交换后的p

与p

添加到删除后的序列集合中。
[0249]
s90206、更新n=n 1,转s90202。
[0250]
s903、对交叉操作后的序列集合,进行变异操作,得到处理后的序列集合,转v4。
[0251]
其中,步骤s903,包括:
[0252]
s90301、初始化变异次数m=1。
[0253]
s90302、判断m≤n
x-2nb是否成立,若是,转s90303;否则得到处理后的序列集合,转s4。
[0254]
s90303、在交叉操作后的序列集合中,随机选择一个序列进行复制,得到序列p
″′

[0255]
s90304、随机生成一个[0,n
t
]之间的整数g,在序列p
″′
中随机选择g个位置,随机生成g个[1,ne]之间的整数,替换g个位置的卫星编号。
[0256]
s90305、将p
″′
添加到交叉操作后的序列集合中。
[0257]
s90306、更新m=m 1,转s90302。
[0258]
基于上述处理,通过遗传算法的任务分配模式,以及迭代搜索的方式探寻最优的任务分配,在每次迭代过程中对所有任务进行规划并计算收益,利用遗传算法低成本、高效且适用于大规模问题等特点,搜索获得收益最大的任务分配序列并获得相应的规划方案。
[0259]
基于相同的发明构思,本技术实施例还提供了一种卫星任务规划装置。参见图5,图5为本技术提供的一种基于遗传迭代搜索的卫星任务合成、分配及规划装置的结构图。如图5所示,该装置包括:
[0260]
第一合成模块501,用于执行s1、基于初始规划信息,将待观测任务集合t中的任务进行合成,得到合成任务集合s。
[0261]
其中,初始规划信息包括待观测任务集合t、对地观测卫星集合e。
[0262]
第一初始化模块502,用于执行s2、初始化序列集合p。
[0263]
其中,序列集合p表示由n
p
个任务分配序列组成的任务分配序列集合,pb表示第b个任务分配序列;任务分配序列表示包含执行每个待观测任务的对地观测卫星的编号的数据集。
[0264]
第一迭代模块503,用于执行s3、进行迭代。
[0265]
其中,初始化迭代次数a=1。
[0266]
第一遍历模块504,用于执行s4、遍历序列集合。
[0267]
其中,初始化序列的索引b=1。
[0268]
第一判断模块505,用于执行s5、判断b≤n
p
是否成立,若是,转第一规划模块506执行s6;否则,转第一更新模块508执行s8。
[0269]
第一规划模块506,用于执行s6、基于合成任务集合s、对地观测卫星集合e、任务分配序列pb以及树搜索的方法,对合成任务集合s中的全部任务进行规划,得到规划方案cb。
[0270]
第一确定模块507,用于执行s7、确定规划方案cb的收益fb,更新b=b 1,转第一判断模块505执行s5。
[0271]
第一更新模块508,用于执行s8、更新迭代次数a=a 1,判断a≤na是否成立,若是,转第一处理模块509执行s9,否则转第一选择模块510执行s10。其中,na表示进行迭代的最大次数。
[0272]
第一处理模块509,用于执行s9、对序列集合进行遗传操作,得到处理后的序列集合,转第一遍历模块504执行s4。
[0273]
第一选择模块510,用于执行s10、选择序列集合中收益最大的规划方案,作为最终的规划方案。
[0274]
具体的,第一合成模块501,包括:
[0275]
第一获取子模块,用于执行s101、获取规划信息。其中,初始规划信息还包括首个对地观测卫星对所有任务的时间窗集合w。
[0276]
第一初始化子模块,用于执行s102、初始化合成任务集合s、合成任务q为空集。
[0277]
第一排序子模块,用于执行s103、根据时间窗的开始时间,对任务集合t中的任务进行非降序排序,生成任务集合t

;其中,;其中,tz表示排序后的t

中的第z个任务,n
t
表示任务集合t中全部任务的数量。
[0278]
第二初始化子模块,用于执行s104、初始化z=1,将任务集合t

中的任务tz添加到合成任务q中。
[0279]
第三初始化子模块,用于执行s105、初始化z

=z 1。
[0280]
第一判断子模块,用于执行s106、判断z

≤|t

|是否成立;若是,转第二判断子模块执行s107;否则转第二添加子模块执行s111;其中,|t

|表示任务集合t

中全部任务的数量。
[0281]
第二判断子模块,用于执行s107、判断是否成立,若是转第三判断子模块执行v108,否则转第一更新子模块执行s110;其中αz、αz分别表示tz、tz′
所对应的侧摆角,φ表示对地观测卫星的视场角。
[0282]
第三判断子模块,用于执行s108、判断是否成立,若是,转第一添加子模块执行s109;否则转第一更新子模块执行s110;其中,l表示每颗对地观测卫星的成像传感器的单次最长开机时间;表示首个对地观测卫星对任务tz的观测时间窗的结束时间、表示首个对地观测卫星对任务tz′
的观测时间窗的结束时间、表示首个对地观测卫星对任务tz的观测时间窗的开始时间。
[0283]
第一添加子模块,用于执行s109、将任务tz′
添加到合成任务q中;其中,tz′
表示排序后的t

中的第z

个任务。
[0284]
第一更新子模块,用于执行s110、更新z

=z

1,转第一判断子模块执行s106。
[0285]
第二添加子模块,用于执行s111、将合成任务q作为一个合成后的任务,并添加到合成任务集合s中。
[0286]
第一删除子模块,用于执行s112、在任务集合t中,将合成任务q中包含的所有任务进行删除,得到删除后的任务集合t。
[0287]
第四判断子模块,用于执行s113、判断删除后的任务集合t是否为空集,若是,转第
一输出子模块执行s115;否则转第一清空子模块执行s114。
[0288]
第一清空子模块,用于执行s114、清空合成任务q,转第一排序子模块执行s103。
[0289]
第一输出子模块,用于执行s115、输出合成任务集合s。
[0290]
本技术实施例还提供了一种电子设备,参见图6,图6为本技术实施例提供的一种电子设备的结构图。如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
[0291]
存储器603,用于存放计算机程序;
[0292]
处理器601,用于执行存储器603上所存放的程序时,实现上述任一卫星任务合成、分配及规划方法。
[0293]
在本技术提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述任一卫星任务合成、分配及规划方法的步骤。
[0294]
在本技术提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一卫星任务合成、分配及规划方法。
[0295]
综上所述,与现有技术相比,具备以下有益效果:
[0296]
基于上述处理,首先将待观测任务集合t中的任务进行合成,减少了卫星传感器的姿态转换次数和能量消耗,同时增加了卫星传感器每次开机可以观测的任务数量,从而极大提升了观测效率,更加高效地利用了有限的卫星资源。在此基础上,基于树搜索任务规划方法对待观测任务进行规划,将每个待观测任务对应为搜索树中的一个节点,可以快速的获得每个卫星的观测方案。然后,基于遗传算法的任务分配模式,通过迭代搜索的方式探寻最优的任务分配,在每次迭代过程中对所有待观测任务进行规划并计算收益,利用遗传算法低成本、高效且适用于大规模问题等特点,搜索获得收益最大的任务分配序列并获得相应的规划方案,从而极大地提升了卫星任务分配的最终规划方案的收益。
[0297]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0298]
以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献