一种针对敏捷卫星的在线调度方法与流程

文档序号:12033847阅读:575来源:国知局
一种针对敏捷卫星的在线调度方法与流程

本发明涉及卫星技术领域,特别是涉及一种针对敏捷卫星的在线调度方法。



背景技术:

在海面目标侦察场景中,在卫星飞过海域前难以获取目标精确的位置坐标。同时,只有通过高分辨率图像才可识别目标的具体类型信息。在传统的观测卫星管控体制下,地面站要提前一天规划好卫星所有的观测计划,并上注给卫星进行执行。在计划执行过程中,卫星不能再对计划进行更改,这种管控方式导致卫星的响应能力很低。同时,由于目标具有一定的机动能力,在得知目标位置后再规划卫星的观测计划,会导致卫星在观测时丢失目标。所以面对海面目标识别的场景,传统的管控模式只能通过多个目标识别星sat2的条带拼接来对一个海面区域进行一次性成像,来识别海面中目标的具体特征。由于目标识别星sat2的成像条带较窄,导致这种目标执行模式对资源造成大量的浪费。

利用自主规划能力来提高敏捷卫星的观测效能受到了越来越多研究人员的重视。目前,比较成功的自主敏捷卫星系统主要有eo1、firebird和optisar。eo1是来自nas的敏捷自主卫星,它能发现地球表面的火山喷发、冰层消融、云雾遮挡地壳运动等科学事件。eo1先自主生成一个起始的调度算法,再利用迭代改进的方式来解决卫星状态、资源约束和时序冲突等问题。firebird是火灾识别系统(hotspotrecognitionsystem)的重要组成部分,该卫星能获得火灾位置和火情区域规模等火灾参数信息。firebird通过火情发现等自动探测事件来实现有限自主目标规划。

optisartm由来自两个轨道的8个串联模块组成,每个串联模块由一个sar(syntheticaperturerader)卫星和一个与其相距几分钟的光学卫星构成(fabrizio,2016)。这个星座不仅可同时对某一目标进行sar成像和光学成像,也可通过sar卫星的云判系统来使避免光学卫星对云雾遮挡区域进行成像,从而提高了光学卫星的观测效率。

另一个值得一提的双敏捷卫星星座是pleiades。虽然该星座不是自主星座,但是该星座具有24h内可对地表任一目标进行成像的能力。地面管控中心每天要分三个时段生成pleiades的调度方案,并通过不同的地面站进行上注。这种方式提高了星座的响应能力,可使星座对其上注时刻2小时前的所有目标进行响应。虽然该星座的响应能力已经高于了传统敏捷卫星,但是自主规划能力可进一步增加该星座的响应能力,并可减小该星座的人力资源等运营成本。

目前,研究者普遍认为自主能力可以大幅度提高卫星的使用效率。lavalleeetal.(2006)和tranetal.(2004)的研究表明自主调度能力在深空探测等项目方面具有较高的应用价值。

aspen(automatedschedulingandplanningenvironment)是目前最成功的自主规划与调度的框架之一。casper(continuousactivityscheduling,planning,execution,andreplanning)继承了aspen的推理规划能力,在eo1项目中也得到了成功的应用。casper采用了迭代改进的方法,该方法支持对方案持续的修改并能根据运行环境的变化快速更新当前方案。该方法中的冲突消解策略能用最小的时间消耗来对原方案进行修改,使新方案能满足当前的使用约束。

andverfaillie(2007)6研究了一种基于响应——优化框架的敏捷卫星自主调度方法。响应模块负责完成环境与优化决策模块的交互和激活优化决策模块。同时,响应模块能及时给出一个满足当前约束的可行调度方案。当被响应模块激活时,优化模块负责生成一个较优的调度方案,并返还给响应模块。文献(beaumetetal.,2011)采用了一种迭代随机贪婪的算法来计算优化决策模块中的调度方案,该文章的研究者认为通过一定的前瞻机制能提高算法的优化效率。

多位学者从不同角度都对在线调度算法进行了研究。damianietal。(2004)针对非敏捷卫星提出了一个anytime规划算法。

lenzenetal.(2014)描述了用于firebird项目的vamos(verificationofautonomousmissionplanningonboardaspacecraft),该方法通过资源的上、下界限制可行目标的方法来解决地面约束推理不精确的问题。wangetal.(2015)研究了多颗非敏捷卫星基于目标合成的在线调度问题。liuetal.(2016)提出了一种针对敏捷卫星的在线调度算法。

到目前为止,各个学者从不同角度研究了地球观测卫星的在线调度算法。但是,针对敏捷卫星最具特点的时间依赖转换时间约束(praletandverfaillie2012),只有少量学者涉及,该问题并没有被有效解决。



技术实现要素:

本发明的目的在于提供一种针对敏捷卫星的在线调度方法来克服或至少减轻现有技术的上述缺陷中的至少一个。

为实现上述目的,本发明提供一种针对敏捷卫星的在线调度方法,所述针对敏捷卫星的在线调度方法包括:step1,设置由一个低分辨率目标发现星和一个敏捷高分辨率目标识别星组成的星簇,目标发现星在目标识别星的前端飞行;step2,目标发现星在飞行过程中利用其宽幅相机和星上图像处理软件发现目标,获取目标的低分辨率图像,并从低分辨率图像中提取目标坐标以及根据目标的形状、尺寸确定目标收益;step3,目标发现星将目标坐标和目标收益传送给目标识别星;step4,目标识别星接收目标坐标和目标收益,并观测目标,以获取目标的高分辨率图像,同时根据目标坐标和目标收益,以目标总收益最大化为优化目标,在线生成一个满足时序约束条件的观测调度方案,该观测调度方案具体生成步骤如下:step41,针对敏捷卫星调度问题建立由可视时间窗和姿态机动时间约束组成的时序约束模型,通过将所有目标均处理成平行于星下线的条带目标,同时假设有侧摆角造成的分辨率降低不会影响目标的识别以及目标的发现顺序与目标的时间窗中点的升序一致,每个目标只有一个可视时间窗;和step42,根据目标发现星提供的目标信息,利用分支定界算法在当前目标观测完毕前决策出下一个要观测的目标,分支定界算法的计算时间小于当前目标的观测时长,以在任意时刻返回一个有效的观测调度方案,并随着计算时间的延长不断优化该观测调度方案;step5,当观测完当前目标,目标识别星根据step4生成的观测调度方案,目标识别星姿态机动到下一个目标的开始观测姿态。

进一步地,step41中,时序约束模型为:

目标函数:

决策变量:

约束条件:

xnt+1=1;(9)

xi∈{o,1},yij∈{o,1},i,j=l…,nt;(14)

式中,pi为目标i的收益;wsi为目标i的可视时间窗的开始时间;wei为目标i的可视时间窗的结束时间;duri为目标i的成像时长需求;sti为目标i的观测开始时间;eti为目标i的观测结束时间;atisi为卫星开始观测目标i时对应的观测姿态,包括俯仰角、侧摆角和偏航角;atiei为卫星结束观测目标i时对应的观测姿态,包括俯仰角、侧摆角和偏航角;dmin(.,.)为两个姿态间的最小机动时间;nt为场景内的总目标数目;s为所有目标的所有可能子集;式(1)表示优化目标为最大化所有观测目标的收益总和;式(2)和式(3)表示模型的决策变量,其中,xi表示目标i是否被观测,当目标i被观测时xi=1,否则xi=0;yij表示目标j是否在目标i后被观测,如果目标j在目标i后被观测则yij=1,否则yij=0;式(4)至式(11)表示敏捷卫星调度问题的约束条件;式(4)表示任一观测目标的开始观测时刻和观测结束时刻都应在对应的时间窗范围内;式(5)表示任一观测目标的观测结束时刻等于其观测开始时刻加上观测时长;式(6)表示后续目标的观测开始时刻应该大于前一观测目标的观测结束时刻加上两个观测姿态间的转换时间;式(7)表示对于任意目标yii=0;式(8)和式(9)表示场景中有一个虚拟开始目标和虚拟结束目标,二者的观测开始时刻和观测时长都为0;式(10)和式子(11)表示任一观测目标有且只有一个前继目标和一个后续目标;式(12)是经典的dfj子回路消除约束;式(13)表示如果目标i在目标j后被观测,则说明两个目标都被观测;式(14)表示变量的取值范围。

进一步地,step42具体包括:step421,将已没有可视时间窗口的目标全部删除;step422,添加由目标发现星新发现的目标;和step423,判断是否有新发现的目标,如果有新发现的目标,则调用分支定界算法来决策后续观测调度方案,否则延用以前的观测调度方案。

进一步地,step423,“判断是否有新发现的目标”的方法具体包括:cr为上一前瞻时间窗内的目标集合;lar为当前前瞻时间窗内的目标集合;nr为在lar但是不在cr中的目标,即若判定为则表示目标发现星发现了新的目标,否则表示为目标发现星未发现新的目标。

进一步地,step423中,“分支定界算法”具体包括:step4231,采用先到先服务原则,初始化分支定界算法的全局下界;step4232,从搜索树的根部开始搜索,对每个节点进行逐一排查,并利用深度优先的策略计算搜索树的每个节点对应的观测调度方案的收益,如果计算出来的观测调度方案的收益大于全局下界,则将计算出来的收益最大对应的观测调度方案更新为当前的最优观测调度方案,并将更新后的观测调度方案的收益更新为全局下界;其中的搜索树中的每个节点代表一个目标观测调度方案,搜索树根据目标的可视时间窗升序逐一展开;step4233,根据以下三个条件判断当前节点是否需要进行剪枝操作,若该节点满足以下任何一个条件,则对该节点的后续搜索树进行剪枝操作,否则继续扩展该节点;扩展节点的方法是:对每个节点进行扩展时,最先扩展尚未被考虑安排的目标中时间窗开始时刻最小的目标;1)节点是否满足对称性消除剪枝条件;2)节点是否满足支配剪枝条件;3)节点的上界是否小于全局下界,“节点的上界”为已安排的观测目标收益和加上仍有观测机会的目标收益和;step4234,判断分支定界算法的计算时间是否到达指定的时间上界,如果是,则进入step4236;step4235,判断是否搜索到了全局最优解,如果是,则进入step4236,否则进入step4232;step4236,分支定界算法计算结束。

进一步地,step4231采用先到先服务原则生成分支定界算法的初始下界,具体如下:将所有目标按照时间窗开始时间的升序排列,在试图将每个目标在满足时序约束的条件下将目标的可视时间安排在最早可可视时间。

进一步地,step42采用序列解的方式来描述一个观测调度方案,并利用一个调度解生成器来将一个序列解翻译成一个可行的调度解,调度解生成器采用基于贪婪规则的构造方法的将序列解翻译成调度解,具体如下:用ps来表示一个由目标序列构成的序列解,该解中所包含的目标是目标全集中的一个子集;用d(ps)表示序列解的求解空间,d(ss)表示调度解的解空间,用sb表示基于贪婪规则的调度解生成器;对于d(ps)中的任一序列解,都用sb生成其在d(ss)中对应的调度解;调度解生成器按照目标在序列解中的顺序来安排目标,采用紧前安排的方法,在满足约束条件的情况下尽可能早地观测对应的目标,若其中的目标由于时间窗或姿态机动时间约束导致无法被观测,则直接舍弃该目标并安排观测下一个目标。

进一步地,step4233中判断节点是否满足对称剪枝条件具体包括:step42331,用调度解生成器将当前节点的序列解ps转换为调度解ss;step42332,判断序列解ps与调度解ss是否一致;如果序列解ps中的目标都可以被观测,则序列解ps与调度解ss一致,进而表明该序列解ps所对应的可行调度解ss中包含了ps中所有的目标;step42333,若不一致剪枝,否则继续扩展。

进一步地,step4233中的支配剪枝条件具体包括如下步骤:step42334,先生成对应节点的调度解ss;step42335,找到当前最好解对应该调度解ss的关键节点j;step42336,判断当前最好解的子序列cbplan1…j是否支配ss,若支配则对该节点进行剪枝,否则继续扩展。

本发明通过一个由一颗低分辨率宽幅目标发现卫星和高分辨率敏捷目标识别卫星组成的双星星簇有效解决了海面目标识别的目标场景,利用一次过境的机会即可对海面的多个目标进行识别。本发明提供的方法能有效解决海面目标识别目标,并当500km×2000km的海面区域均匀分布25个目标时该星簇的使用效能相当于传统条带拼接方法的30颗目标识别星。

附图说明

图1是本发明中的双星星簇构型示意图。

图2a是本发明中的敏捷卫星的时序约束示意图,其对应为时间窗约束。

图2b是本发明中的敏捷卫星的时序约束示意图,其对应为时间依赖姿态机动时间约束。

图3是本发明中的在线调度算法决策示意图。

图4是本发明中的分支定界算法分支顺序示意图。

图5是本发明中的上界的计算示意图。

图6是本发明中的序列解和调度解生成器示意图。

图7是本发明中的支配剪枝示意图。

图8是本发明中的在线调度算法收益与目标总收益的对比图。

图9是本发明中的在线调度算法、iga算法和最优方案对比图。

图10是本发明中的前瞻时间窗对在线调度算法的影响示意图。

具体实施方式

在附图中,使用相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面结合附图对本发明的实施例进行详细说明。

在本发明的描述中,术语“中心”、“纵向”、“横向”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明保护范围的限制。

如图1所示,本实施例所提供的针对敏捷卫星的在线调度方法包括:

step1,设置由一个低分辨率目标发现星sat1和一个敏捷高分辨率目标识别星sat2组成的星簇,由这两种卫星组成的星簇能够利用一次过境的机会对海面多个目标进行识别。低分辨率目标发现星sat1可以理解为成像分辨率大于5m的卫星,敏捷高分辨率目标识别星sat2可以理解为成像分辨率小于1m的卫星。

随着当前卫星平台技术的不断发展,本实施例假设目标识别星sat2的固存和电量等能量约束不再成为调度问题的紧约束。以国内的吉林一号视频星为例,该卫星上的固态存储系统(硬盘大小)为6400gb,图像的采集数率为1.9gbps。该卫星可连续开机3368s(约为56分钟),即该卫星可在无地面数传支持的情况下进行多轨的成像目标。同时,该卫星的太阳帆板可独立于卫星平台旋转,在可视太阳时能一直将太阳帆板指向太阳进行充电。所以,该卫星的电量可以做到每轨自平衡(补充电量不小于消耗电量)。与此同时,根据成像卫星500km左右的轨道高度,卫星飞过一个500km×2000km的海域大约需要5min左右的时间,即海面目标识别的场景对于成像卫星来说是一个较小的应用场景。这也在一定程度上放松了对固存和电量等资源约束的要求。一般低轨成像卫星轨道周期90min(绕地球一圈的时间),一个轨道中有40min可用于成像。大的场景可以是卫星一天左右的成像规划方案(总时长24h)。例如成像总时长5min的海域侦察可以视为小场景。

目标发现星sat1可以一直开机用于发现目标,目标发现星sat1在目标识别星sat2的前端飞行。由于目标发现星sat1和目标识别星sat2需要进行频繁的通信交互,所以两颗卫星不能相距太远。

同时,由于目标具有一定的移动能力,前瞻时间窗的最大值是一个与目标移动速度和卫星幅宽大小相关的函数。本实施例中定义前瞻时间窗的长度最大值为:卫星成像幅宽的一半和定位误差的差值除以船舰最大航行速度,计算公式可表示为:前瞻时间窗长度<(卫星成像幅宽的一半-定位误差)/船舰最大航行速度。

例如:海面船只的最大航行速度是30海节,大约15.5m/s。目标识别星sat2的幅宽是10km左右,目标发现星sat1获取的低分辨率图像中目标的定位精度为500m。所以目标的真实位置与目标识别星sat2对目标成像时的预估位置的最大误差为15.5m/s×100s+500m=2.05km,小于目标识别星sat2幅宽的一半(5km)。这表明在前瞻时间窗为100s时,目标识别星sat2能有效对目标进行成像从而分辨目标类型。因此,目标发现星sat1比目标识别星sat2大概提前100秒发现目标,即目标识别星sat2的前瞻时间窗的时间范围小于100秒。

step2,目标发现星sat1在飞行过程中利用其宽幅相机和星上图像处理软件发现目标,获取目标的低分辨率图像,并从低分辨率图像中提取目标坐标以及根据目标的形状、尺寸确定目标收益,以舰船为例,航母的收益高。

step3,目标发现星sat1将目标坐标和目标收益传送给目标识别星sat2。

step4,目标识别星sat2接收目标坐标和目标收益,并观测目标,以获取目标的高分辨率图像,同时根据目标坐标和目标收益,以目标总收益最大化为优化目标,利用在线调度算法在线生成一个满足时序约束条件的观测调度方案。在线调度算法将直接影响星簇的使用效能。同时,在线调度算法还要在响应时间和方案总收益两者间做出权衡。本发明中的“观测”实质指的是“成像”。“调度”可以考虑为从目标全集中选取一些目标进行观测,在满足卫星使用约束的条件下确定卫星的可视时间和姿态。

step4具体包括:

step41,针对敏捷卫星调度问题建立由可视时间窗和姿态机动时间约束组成的时序约束模型,通过将所有目标均处理成平行于星下线的条带目标,同时假设有侧摆角造成的分辨率降低不会影响目标的识别以及目标的发现顺序与目标的时间窗中点的升序一致,每个目标只有一个可视时间窗。

不同轨道参数的卫星有自己的星历信息,卫星只有在飞过目标上空时才与某些目标可视,所以目标与卫星之间存在时间窗约束。相比于非敏捷卫星而言,敏捷卫星的俯仰能力大大地扩展了对目标的可视时间窗。如下图2a所示,目标与卫星的可视时间窗为[ws1,we1],在可视时间窗内的任一时刻,卫星与目标都有唯一的观测姿态关系。例如,观测时刻ws1对应的观测姿态为attitude_ws1。图2b表示在两个相邻的观测目标之间,卫星需要进行姿态机动。

卫星观测完目标target1时的结束姿态是atie1,观测目标target2的起始姿态是atis2,所以卫星在观测两个目标间的间隔时间要大于两个目标间的姿态机动时间,即st2-et1>dmin(atie1,atis2),其中dmin(atie1,atis2)表示两个连续目标间姿态机动所需要的时间。在敏捷卫星中,姿态机动的时间并不是一个固定值,而是与前一目标的结束姿态(由于姿态与时间有一一对应的关系,所以也可以考虑为与观测结束时间有关)以及后续目标的开始观测姿态相关。

step42,根据目标发现星sat1提供的目标信息,利用分支定界算法在当前目标观测完毕前决策出下一个要观测的目标,分支定界算法的计算时间小于当前目标的观测时长,以在任意时刻返回一个有效调度解,并随着计算时间的延长不断优化该调度解。本发明采用序列解的方式来描述一个目标观测调度方案,并利用一个调度解生成器来将一个序列解翻译成一个可行的调度解。也就是说,step42得到的调度解,即为在线调度算法在线生成的观测调度方案。

step5,当观测完当前目标,目标识别星sat2根据step4生成的观测调度方案,目标识别星sat2姿态机动到下一个目标的开始观测姿态。

在一个实施例中,为了保障图像有稳定的质量,高分辨率相机在成像时应保持静止。所以在本实施例的数学模型中,将所有目标均处理成平行于星下线的条带目标。同时,假设有侧摆角造成的分辨率降低并不会影响目标的识别,以及目标的发现顺序与目标的时间窗中点的升序一致。由于卫星只有一次过境机会,即每个目标只有一个可视时间窗。

step41中,时序约束模型为:

目标函数:

决策变量:

约束条件:

x0=1;(8)

xnt+1=1;(9)

xi∈{0,1},yij∈{0,1},i,j=1,...,nt;(14)

式中,

pi为目标i的收益。

wsi为目标i的可视时间窗的开始时间。

wei为目标i的可视时间窗的结束时间。

duri为目标i的成像时长需求。

sti为目标i的观测开始时间。

eti为目标i的观测结束时间。

atisi为卫星开始观测目标i时对应的观测姿态,包括俯仰角、侧摆角和偏航角。

atiei为卫星结束观测目标i时对应的观测姿态,包括俯仰角、侧摆角和偏航角。

dmin(.,.)为两个姿态间的最小机动时间。

nt为场景内的总目标数目。

s为所有目标的所有可能子集。

式(1)表示优化目标为最大化所有观测目标的收益总和,即下文提及的“方案收益”。

式(2)和式(3)表示模型的决策变量,其中,xi表示目标i是否被观测,当目标i被观测时xi=1,否则xi=0;yij表示目标j是否在目标i后被观测,即观测完目标i是否立即观测目标j,而中间不间隔其它目标,如果目标j在目标i后被观测则yij=1,否则yij=0。

式(4)至式(11)表示敏捷卫星调度问题的约束条件。

式(4)表示任一观测目标的开始观测时刻和观测结束时刻都应在对应的时间窗范围内。

式(5)表示任一观测目标的观测结束时刻等于其观测开始时刻加上观测时长。

式(6)表示后续目标的观测开始时刻应该大于前一观测目标的观测结束时刻加上两个观测姿态间的转换时间。

式(7)表示对于任意目标yii=0。

式(8)和式(9)表示场景中有一个虚拟开始目标和虚拟结束目标,二者的观测开始时刻和观测时长都为0。

式(10)和式子(11)表示任一观测目标有且只有一个前继目标和一个后续目标。

式(12)是经典的dfj子回路消除约束。

式(13)表示如果目标i在目标j后被观测,则说明两个目标都被观测。

式(14)表示变量的取值范围。

上述的式(6)是敏捷卫星调度问题的关键约束。本实施例与praletandverfaillie(2012)采用相同的办法,定义一个延迟函数。该函数可看做为式子(6)的一个变形。

定义1.时序约束ct:(eti,stj,dmin)的时间延迟函数为delayct:d()×d()→r定义为delayct(eti,stj)=eti+dmin(atiei,atisj)-stj,r表示实数域。

一般来说,delayct(eti,stj)是在stj时刻开始进行机动,从姿态atiei机动到姿态atisj后,在eti时刻获得的时间延迟。这个时间延迟是用截止时间stj减去真实到达时间eti+dmin(atiei,atisj)。时间延迟为负数表示在截止时间stj之前已经机动到位,时延延迟为整数表示违反了姿态机动时间约束,时间延迟为0表示姿态正好在截止时间机动到位。

对时序约束模型进行优化的关键是确定一个满足所有约束条件的目标观测序列。函数dmin(.,.)表示两个卫星姿态间的最小机动时间。在姿态机动过程中,卫星先匀加速到最大速度,再匀减速到静止状态。最后,卫星还需要一定的时间来微调和稳定卫星姿态。卫星在加速和减速过程中采用不同的加速度,如果机动的角度较小,则卫星无需达到最大速度便要开始进行减速。下面对文献(praletandverfaillie2012)有关函数dmin(.,.)的相关概念进行介绍。

定义1.时序约束ct:(x,y,dmin)的时间延迟函数为delayct:d()×d()→r定义为delayct(a,b)=a+dmin(atia,atib)-b。

一般来说,delayct(a,b)是在a时刻开始进行机动,从姿态x机动到姿态y后,在b时刻获得的时间延迟。这个时间延迟是用截止时间b减去真实到达时间a+dmin(a,b)。时间延迟为负数表示在截止时间b之前已经机动到位,时延延迟为整数表示违反了姿态机动时间约束,时间延迟为0表示姿态正好在截止时间机动到位。

定义2.若一个时序约束ct:(eti,stj,dmin)函数是延迟单调的,当且仅当delayct(.,.)满足以下条件:

这个定义表明,如果约束ct:(eti,stj,dmin)是延迟单调的,则其一定满足以下两个情况中的一种。一种情况是,在截止时间固定时,姿态机动激发的越晚时延越大。另一种情况是,在机动开始时间固定时,截止时间约大,时延越小。文献(praletandverfaillie2012)证明了敏捷卫星的姿态机动时间约束满足延迟单调的特性。

在一个实施例中,该实施例对目标识别星sat2的星上在线调度算法进行介绍,在线调度算法的主要流程如下面的表1所示。

在线调度算法每次在执行一个观测目标时决策下一个要观测的目标。下一个要观测的目标是观测方案的第一个目标,观测调度方案由分支定界算法在有限时间δtc内考虑当前前瞻时间窗内所有目标的前提下而生成的。由于在线调度算法需要在当前目标观测完毕前决策出下一个要观测的目标,所以分支定界算法的计算时间δtc要小于当前目标的成像时长durc(δtc≤durc)。当目标识别星sat2观测完当前目标,目标识别星sat2将姿态机动到下一个目标的开始观测姿态。

如图4所示,step42具体包括:

step421,将已没有可视时间窗口的目标全部删除。

step422,添加由目标发现星sat1新发现的目标。

step423,判断是否有新发现的目标,如果有新发现的目标,则调用分支定界算法来决策后续观测调度方案,否则延用以前的观测调度方案,观测调度方案主要是确定卫星何时以什么姿态观测什么目标。

也就是说,当在线调度算法计算后续观测调度方案时,先将已没有可视时间窗口的目标全部删除,再添加由目标发现星sat1新发现的目标,并根据新发现的目标来激活分支定界算法。

在一个实施例中,step423,“判断是否有新发现的目标”的方法具体包括:

cr为上一前瞻时间窗内的目标集合;lar为当前前瞻时间窗内的目标集合;nr为在lar但是不在cr中的目标,即若判定为则表示目标发现星sat1发现了新的目标,否则表示为目标发现星sat1未发现新的目标。

例如图3示出的在线调度算法应用的某一实际场景示意图。图3中的数字表示目标的编号,只有目标4是触发事件。因为目标4在上一个前瞻时间窗内还没有被发现,是新发现的目标。即当决策下一个观测目标时,如果有新发现的目标就调用分支定界算法,如果没有就可以沿用之前的观测方案。新发现的目标时触发事件。

当前正在观测的目标为target3,当前的前瞻时间窗内目标集合lar为{3,7,9,1,6,8,4},上一前瞻时间窗内目标集合cr为{3,7,9,1,6,8},新增目标集合nr为{4}。所以目标识别星sat2激活分支定界算法,假设算法所产生的观测序列为3→7→9→6→4,那么下一个要执行的目标为target7。

当前目标的成像时间(durc)由目标发现星sat1得到的,并且当前目标的成像时间(durc)是根据目标的尺寸大小确定,因此可能不是一个定值,这个时间也决定了在线调度算法每次决策的时间上界。

在线调度算法所调用的分支定界算法为一个随时(anytime)算法,分支定界算法应能在任意时刻都可返回一个有效的观测调度方案,并随着计算时间的增长不断优化方案的收益。优化方案的收益指的是上述时序约束模型中式(1)计算得到的收益值。

虽然延长前瞻时间可以增加算法的收益,但是过长的前瞻时间也有不可忽视的弊端。前瞻时间的增长意味着增加目标发现星sat1和目标识别星sat2的相隔距离,也延长了目标从发现到识别的时间。这带来的主要问题有:第一,过长的星间(“目标发现星sat1和目标识别星sat2之间”的简称)距离会增加卫星通信天线的功耗,而且降低了通信的稳定性。第二,目标时间和识别时间间隔过长会导致难以估计目标的准确位置,从而使目标可能出现在图像的边缘甚至超出图像范围而增加了图像识别的难度。第三,目标发现星sat1不仅能发现目标位置还会对提供一些目标周围的环境信息,如是否有云雾遮挡等。若成像间隔时间过长,目标有可能发生了较大的位置,从而降低了环境信息的准确程度。这导致在目标识别时,目标容易被云雾遮挡。

如果海域较小,或者前瞻时间窗较大,那么可通过一次前瞻便发现海面的所有目标,那样分支定界算法分支定界算法仅被调用一次,这样可得到考虑海域内所有目标情况下的最优观测方案。否则,分支定界算法分支定界算法会被多次调用,在这种情况下,可将在线调度算法在线调度算法看做为一个构造式算法,在每一次迭代中选取下一个要观测的目标。

在线调度算法的伪代码如表1示出地,表中,psc表示当前节点对应的序列解,ct记录了在线调度算法已经消耗的计算时间。当在线调度算法在限制的计算时间δt内找到最优解则返回最优解,否则在线调度算法返回当前找到的最好解cbplan。后文将对分支定界算法的细节进行介绍,包括分支定界算法分支定界算法的主要流程,解空间与解表达和两种主要的剪枝策略。

表1

在一个实施例中,下面的表2给出了分支定界算法的流程,如表2所示,分支定界算法具体包括:

step4231,采用先到先服务原则,初始化分支定界算法的全局下界。全局下界为当前最好观测调度方案的收益。当前最好观测调度方案为方案收益最大的观测调度方案。

“先到先服务原则”指的是将所有目标按照时间窗开始时间的升序排列,在试图将每个目标在满足时序约束的条件下将目标的可视时间安排在最早可可视时间。抛弃不能满足时序约束条件的目标。使用该方法生成的观测调度方案所对应的方案总收益就是问题的初始下界。“下界”指的是最优解的方案收益肯定不会比下界差。本实施例采用先到先服务原则(fcfs)来生成算法的初始下界,该方法复杂性低,仅有o(n),可保证随时(anytime)算法可随时返回一个可行解的使用需求。

step4232,从搜索树的根部开始搜索,对每个节点进行逐一排查,并利用深度优先的策略计算搜索树的每个节点对应的观测调度方案的收益,如果计算出来的观测调度方案的收益大于全局下界,则将计算出来的收益最大对应的观测调度方案更新为当前的最优观测调度方案,并将更新后的观测调度方案的收益更新为全局下界。

其中的搜索树中的每个节点代表一个目标观测调度方案,搜索树根据目标的可视时间窗升序逐一展开。例如,若一共有6个具有可视时间窗的目标,则一共有(6+15+…+720)个观测序列。以图4为例,第一层第一个节点3表示的观测序列为“3”,第二层第一个节点表示的观测调度方案为“3,7”,每个目标在每个观测调度方案中仅可出现一次或不出现。搜索树以各目标在星下线方向的地理先后顺序或为目标各自可视时间窗开始时刻的升序;搜索树中的每个节点都有x个分支,x为尚未被考虑安排的目标数目。需要说明的是:搜索树的节点个数和可能的观测调度方案的个数相等,并且扩展搜索树时不考虑卫星使用约束。目标的分支顺序依据“自然”顺序从左到右依次排列。在同一层中,分支定界算法每次都先访问最左侧的分支,直到访问了搜索树中的所有节点为止。如图4所示,在已知目标的相对位置时(图下半部分所示),搜索树第一层的分支顺序为(3,7,9,1,6,8,4)。

step4233,根据以下三个条件判断当前节点是否需要进行剪枝操作,若该节点满足以下任何一个条件,则对该节点的后续搜索树进行剪枝操作,否则继续扩展该节点。扩展节点的方法是:对每个节点进行扩展时,最先扩展尚未被考虑安排的目标中时间窗开始时刻最小的目标。三个条件分别为:

1)节点是否满足对称性消除剪枝条件(如表2中的第16~18行);

2)节点是否满足支配剪枝条件(如表2中的第21~24行);

3)节点的上界是否小于全局下界,“节点的上界”为已安排的观测目标收益和加上仍有观测机会的目标收益和。对于搜索树中的每一个节点,节点的上界为已安排的测目标收益和加上仍有观测机会的目标(时间窗结束时间大于卫星当前时刻)收益和。如图5所示,当前节点对应的序列解为psc(3→7→9→6),当前最后一个观测目标的结束时间为et6。那么,目标target8和target4仍有可视时间窗。则该节点psc对应的上界为(p3+p7+p9+p6)+(p8+p4)。

step4234,判断分支定界算法的计算时间是否到达指定的时间上界,如果是,则进入step4236;

step4235,判断是否搜索到了全局最优解,如果是,则进入step4236,否则进入step4232。“搜索到了全局最优解”可以理解为对搜索树的所有节点都完成了搜索或者该节点同一分支的上层节点被进行剪枝操作。

step4236,分支定界算法计算结束。

表2

在一个实施例中,step42采用序列解的方式来描述一个观测调度方案,并利用一个调度解生成器来将一个序列解翻译成一个可行的调度解,调度解生成器采用基于贪婪规则的构造方法的将序列解翻译成一个卫星可执行的调度解,调度解中首先需要保证卫星不违反使用约束,其次要确定每个观测的开始、结束时刻及对应的观测姿态。采用序列解的方式描述观测调度方案具体如下:

用ps来表示一个由目标序列构成的序列解,该解中所包含的目标是目标全集中的一个子集。用d(ps)表示序列解的求解空间,d(ss)表示调度解的解空间,用sb表示基于贪婪规则的调度解生成器。对于d(ps)中的任一序列解,都用sb生成其在d(ss)中对应的调度解。调度解生成器按照目标在ps中的顺序来安排目标,采用紧前安排的方法,在满足约束条件的情况下尽可能早的观测对应目标,若其中的目标由于时间窗或姿态机动时间约束导致无法被观测,则直接舍弃该目标并安排下一个目标。所以,调度解生成器能够生成一个满足所有时序约束条件的可行调度方案。紧前安排能提高卫星在时间维度上的使用效率,让卫星留出更多的时间进行姿态机动以便对后续目标进行成像。“紧前安排”是指在不违反卫星使用约束的前提下,尽可能早的开始观测每个在调度方案中的目标。

综上所述,通过序列解空间d(ps)和调度解生成器sb来找到调度解空间d(ss)中的最优解。下面为通过序列解空间d(ps)和调度解生成器sb能够找到调度解空间d(ss)中的最优解的证明过程。

对于任一非紧前安排的调度解ss′,总是可以通过将对应非紧前目标前移来得到一个紧前安排的调度解ss。由姿态机动的延迟单调性原则可知,目标的前移不会违反时序约束,即该紧前安排的调度解ss是可行解。且与非紧前安排的调度解ss′观测了相同的目标集合,两者的方案收益相同。即,对任一非紧前安排调度解一定存在一个收益不小于它的紧前安排调度解。另外,对于每个紧前安排的调度解ss总可以找到一个对应的序列解ps。只要使该序列只包含调度解ss中的目标,且目标的观测顺序与调度解一致即可。

在一个实施例中,本实施例介绍step4233中节点满足的第一个条件——对称性消除剪枝条件,下面首先说明有关序列解的定义。

定义3.若一个序列解ps是一致的,则表明该序列解所对应的可行调度解ss中包含了ps中所有的目标。即,|ps|=|ss|,其中||表示一个解中的目标个数。调度解生成器将一个序列解ps转换为一个调度解ss。ps与其对应的ss进行比较,如果ps中的目标都可以被观测(不违反约束),则说ps是一致的。

如图6所示,序列解ps2在生成调度解时抛弃了目标target1和目标target8,所以其不是一致的。然而,序列解ps1对应的调度解包含了其全部目标,所以ps1是一致的,同时满足|ps1|=|ss|。

由图6可知,一个调度解可能对应多个序列解,所以对一个调度解对应的所有的序列解都进行搜索会降低算法的效率。可通过对不一致的序列解进行剪枝处理来打破这种对称性。在分支定界算法中,如果检测出当前节点是不一致的,则可对当前节点进行剪枝处理,即不再扩展当前节点。这个策略可以避免对对应同一个调度解的序列解进行重复搜索。如图6所示,调度解ps2的一个节点是(3→7→9→1),该节点不一致(目标target1由于违反了姿态机动时间约束而未被调度),则可在节点(3→7→9→1)时对该节点进行剪枝。对称性剪枝策略体现在算法伪代码中的第16行。

那么,判断节点是否满足对称性消除剪枝条件的步骤具体包括:

step42331,用调度解生成器将当前节点的序列解ps转换为调度解ss。

step42332,判断序列解ps与调度解ss是否一致。如果ps中的目标都可以被观测(不违反约束),则序列解ps与调度解ss一致,进而表明该序列解所对应的可行调度解ss中包含了ps中所有的目标。即,|ps|=|ss|,其中||表示一个解中的目标个数。

step42333,若不一致剪枝,否则继续扩展。需要说明的是:在step42333判断为一致的情形下,还需要进一步验证是否被支配以及上界是否大于全局下界。

在一个实施例中,本实施例介绍step4233中节点满足的第二个条件——支配剪枝条件,下面首先说明有关序列解操作的相关概念。

psj表示序列解中的第j个目标,“+”表示将两个序列解首尾相连,如ps=ps1…j+psj+1…|ps|其中|ps|表示序列解ps包含的目标个数。pro(ps)表示序列解ps对应的调度解ss的观测收益。值得注意的是,如果序列解ps不一致pro(ps)≠pro(ps1…j)+pro(psj+1…|ps|)。序列解ps与由调度解生成器转换后的调度解ss进行比较,判断是否一致。

支配剪枝策略的主要思想是如果一个调度解可以使卫星用更少的时间观测一个收益和更高的目标集合,那么这个调度解就是一个更好的调度解。由于卫星只有一次过境的机会,所以每个目标都只有一个可视时间窗。那么如果存在一个序列解节点ps′比当前序列解ps可让卫星在更少的时间内观测更高收益和的目标集合,那么当前序列解ps对应的节点就可以被剪枝。支配剪枝定理如下。

定理1.如果,在当前最优方案中存在一个整数j,使得当前最优方案的一个节点可支配当前节点ps(|ps|=k),则当前节点可被剪枝。即,

证明:无论当前节点后续如何扩展,都可将当前节点中psc1…k-1替换成psoptc1…j。同时,pro(psoptc1…j)>pro(ps1…k-1)保证了替换后的节点有更高的收益,保证了替换后的解是一个合法的可行解。

如图7所示,当前节点psc为3→7→1→6当前最优方案psoptc是3′→7′→9′→6′→4′。带有“‘”的目标表示其属于当前最优方案psoptc。如果同时满足下面的式子(15)和(16),那么当前节点不会优于一致序列解3′→7′→9′→6,即可对当前节点进行剪枝。

pro(3′→7′→9′)>pro(3→7→1)(15)

st6≥et9′+dmin(atie9′,atis6′)(16)

然后,本实施例提出一个可根据当前最优方案psoptc快速判断当前节点是否被支配的方法。对于当前节点psc(|psc|=k),当前最优方案psoptc中满足式子(17)的整数j为关键位置。

pro(cbplan1…j)≥pro(psc1…k-1)>pro(cbplan1…j-1)(17)

如果不存在关键位置j,表明当前节点psc的收益由于当前最优方案psoptc,则用当前节点psc更新当前最优方案psoptc。否则,判断关键位置j是否满足式子(18)。若满足则对当前节点进行剪枝,不满足则继续扩展当前节点。

可以利用推论1来快速判断当前节点是否被支配。

推论1.如果当前节点的子分支psc1…k-1没有被psoptc1…j支配,则在当前最优方案psoptc中没有其他的位置h可使得psoptc1…h支配psc1…k-1。其中,j是关键位置,满足pro(cbplan1…j)≥pro(psc1…k-1)>pro(cbplan1…j-1)。

证明:由定义得

同时,

pro(cbplan1…j)≥pro(psc1…k-1)>pro(cbplan1…j-1);

根据时延单点性,我们有

所以

即没有其它位置h可使得当前节点被支配。

在分支定界算法中,针对每个节点都使用推论1来判断当前最优方案中psoptc1…j是否可以支配当前节点psc,其中j是关键位置。如果当前节点psc被支配,则对其进行剪枝,否则继续扩展该节点。表2中的第21~24行使用了支配剪枝策略。

那么,step4233中的判断节点是否满足支配剪枝条件具体包括:

step42334,先生成对应节点的调度解ss。

step42335,找到当前最好解对应该调度解ss的关键节点j。

step42336,判断当前最好解的子序列cbplan1…j是否支配ss,若支配则对该节点进行剪枝,否则继续扩展。需要说明的是:在step42336验证不被支配后,还要验证该节点的上界是否大于全局下界。

下面利通过算例来验证本发明所提出的在线调度算法(分支定界)算法的有效性。这些算例是依据真实的场景假设和相关参数生成的。

主要假设有:首先,双星星簇中的目标识别星sat2用了中国航天研究院最新研发的cast3000卫星平台。其次,卫星的姿态机动主要包括了加速、匀速和减速的过程。在姿态机动过程中,卫星先匀加速到最大速度,再以恒定的速度机动,再匀减速到静止。姿态机动的时间消耗与合成角度有关。为了得到较好的图像质量,卫星在成像时相机保持静止,所以所有目标都被预处理成平行于星下线的条带目标。卫星的最大俯仰角和侧摆角的机动范围均为[-27°,27°],但是卫星指向与星下点间的夹角不能超过45°。因此,当卫星要以大侧摆角观测目标时,对应的俯仰角不能机动到最大值。由于俯仰角影响了目标的可见时间窗,这也导致了星下线附近的目标比远离星下线的目标有更大的可视时间窗。最后,卫星在速度减小到0后,仍需一定的时间开稳定卫星平台。

算例所用的参数如表3所示,表3的左侧一列是场景的相关参数,右侧一列是卫星的姿态机动参数。星簇的轨道高度为535km,飞过500km×2000km的海域大约需要5min。场景中,目标均匀分布于星下线的两侧。为了验证算法的适应性,在实验中采用了不同的目标数目(从15到25)来生成算例。每个目标的成像时长(durc)设定为10s,目标的收益服从均值40方差为10的高斯分布。卫星姿态机动时的最大速度为1°/s,加速时的加速度为0.5°/s2,减速时的加速度为0.25°/s2。稳定时间为5s。

表3

算例参数

为了测试算法,共生成了220个算例,共有11组(目标数目由15到25),每组20随机算例。算法由matlab2014a实现,实验环境的cpu主频为a2.0-ghz,内存为3.79gbram。星上决策时间设定为5s。由于无法在真实的星上板卡进行实验,我们通过计算能力的转换,将实验环境的决策时间设定为0.5s。使用“7-zip.exe”软件测得,实验中使用的cpu的每秒指令计算能力为2613mips。以星载计算机rad750为例,其指令计算能力为266mips。所以,实验所用计算机的计算能力约为星载计算机的10倍左右(2613/266=9.8)。此处的计算能力转换只为了实验设计需要,不具有绝对的指导意义。

实验结果与分析具体如下:

在实验部分,主要对两类实验进行分析。第一类实验主要通过场景仿真(目标数目为15至25)来测试双星星簇和在线调度算法的有效性。因此,设计了收益获取率、最优解间差值两个测试指标。收益获取率是指星簇在有限的计算时间内所生成的卫星观测方案的收益比上全部目标的收益总和。收益获取率越高表明双星星簇的效能越高。通过这个指标,可以粗略地估计双星星簇的使用效率相当于多少颗传统高分辨卫星条带拼接的效率。第二个指标是最优解间差值,该指标计算了方案收益与全局最优方案收益的差值占全局最优方案收益的比重。同时,将本发明在线调度算法与文献liuetal.(2016)[22]中的迭代贪婪算法(iga)进行比较。

图8展示了在不同场景下,双星星簇的收益获取率ratio、方案收益ab&b和目标总收益totalprofit等指标。对不同目标数目的场景,这三个指标均为20个算例的均值。从图8可知,方案收益ab&b和目标总收益totalprofit都随着目标的增多而增大,但是由于卫星能力所限方案收益增长地相对慢一些。收益获取率ratio在60%到78%左右,这意味着该双星星簇在使用在线调度算法的情况下可识别500km×2000km海域内大约60%收益所对应的目标。若将此海域看为需要通过目标识别星sat2进行条带拼接来观测的区域目标,则需要大约30颗具有10km幅宽的卫星进行观测才能达到总体收益的60%。以上实验表明,双星系统在500km×2000km海域内的目标识别能力至少相当于30颗非自主卫星的使用效能。

图9展示了在线调度算法ab&b与iga算法以及全局最优方案optimalplan的对比。对于不同的目标数目,在线调度算法ab&b与iga算法的结果均为20次算例的均值。由图9可知,在绝大多数算例中在线调度算法ab&b都优于iga算法,两个算法间的差距随着目标数目的增多而增大。这表明了在线调度算法ab&b比iga算法拥有更强的适应性。同时,值得注意的是,在线调度算法ab&b与全局最优方案optimalplan的收益差异小于5%,这表明了基于滚动思想的在线调度算法也以被看做一个可解决敏捷卫星离线调度问题的构造式算法。

第二个实验主要用来分析不同的前瞻时间窗长度对算法的影响,目标数目依然是15到25。此时,将地面环境中的决策时间提高到1.5s。图10展示了在线调度算法在不同前瞻时间窗(100s,140s,180s)下的所计算的方案收益。最优解主要用于对比分析。由图10可知,前瞻时间窗越长在线调度算法的收益越高。这是因为较长的前瞻时间窗可以给算法提供更多的局部信息用于决策。当前瞻时间窗长度为180s时,在线调度算法完成全局方案的计算大约消耗6s,与最优方案收益的差值在2%以内。这表明基于滚动规划思想的在线调度算法可以被看做一个可解决敏捷卫星离线调度问题的构造式算法。

本发明提供了一种用于海洋目标识别的卫星星簇,它由一个低分辨率的目标探测卫星和一个敏捷高分辨率目标识别星sat2组成。目标识别星sat2需要根据目标发现星sat1提供的目标信息在线生成一个调度方案。本发明对敏捷观测卫星调度问题建立了数学模型,并提出了一个用于解决敏捷卫星在线调度问题的在线调度算法。一旦接近某一目标,算法将花费一定时间根据前瞻时间窗内的信息进行决策,根据生成的调度方案确定下一个需要观测的目标。在实验分析中,本发明设计了多个算例来检测星簇的使用效率,并验证了本发明所提的在线调度算法可大幅度提高目标识别的能力。同时,分析了不同前瞻时间窗长度对星簇效能的影响,这也表明了基于分支定界的滚动规划方法可以改编为一个用于解决敏捷卫星调度问题的构造式算法。这些分析对设计一个合理的海面目标识别双星星簇可提供指导意见。

最后需要指出的是:以上实施例仅用以说明本发明的技术方案,而非对其限制。本领域的普通技术人员应当理解:可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1