本发明涉及卫星目标覆盖领域,对多星多约束区域目标完全覆盖问题进行了研究,提供了基于一次覆盖条带最大化的成像卫星区域目标覆盖方法。
背景技术
成像卫星在军事侦察、环境监测等领域有着广泛的应用。相比单颗成像卫星,多星构成的星座具有覆盖范围大、重访时间短、时间分辨率低及投资风险小等优点。目标覆盖是成像卫星的重要性能之一,目标覆盖面积的准确度严重影响到成像卫星的性能和数据计算的精确度,尤其是在多星多约束的情况下目标覆盖的精度更为重要。
多星对于区域覆盖任务的规划及仿真分析主要完成的功能是基于某种规则寻找多星对该区域的最优或次优的覆盖方案,得到该方案后记录多星对该区域的覆盖任务的序列,该任务序列包含每个任务执行卫星的id号、该任务执行的起始时间及终止时间、该任务执行时的传感器的侧摆角等序列信息。对于既定轨道的任务卫星对区域的覆盖率计算是根据已经安排好的任务序列,计算执行该任务序列结束后多星对该区域的覆盖率数据并记录该数据。
卫星有效载荷是航天任务对象与航天系统之间的接口,有效载荷获取任务对象的信息,能量或物质,将信息和能量转变为便于卫星平台进行处理的形式,最后由平台将信息和能量传送到地面。有效载荷直接面对用户的需求,使用什么种类的有效载荷,有效载荷的性能如何,是卫星覆盖任务首先要分析的问题之一,只有选择好了有效载荷,轨道的设计及后续其他工作才能够进行。本文考虑的有效载荷为遥感有效载荷,包括ccd相机以及雷达sar。
卫星以推扫方式进行成像,以固定的空间轨道运动,在地面形成以星下点轨迹为中心线,由侧摆角、视场角和俯仰角等共同确定的成像覆盖条带。卫星成像问题可描述为:给定一段足够长时间t,编号为{1,…,m}的m颗成像卫星观测某个区域目标area,这些卫星在时间t内有n次过境,每次过境持续时间tw=[start,end],称为时间窗口,n次过境活动组成一个窗口集w={tw1,tw2,…,twn};一个时间窗口twi内,相应卫星以某个侧摆角度θi推扫形成条带覆盖区域ai,twi=[starti,endi]。从w中选出p个时间窗口tw1,tw2,…,twp,按开始时间start先后顺序排列,对应卫星条带序列{s1,s2,…,sp},在这p个时间窗口内条带覆盖区域a1,a2,…,ap,其相应侧摆角序列θ={θ1,θ2,…,θp},获取时间t=endp-start1。
记区域目标area对应区域a,令
①太阳高度角约束
②成像分辨率约束
③地面网格划分精度约束
此时θ={θ1,θ2,…,θp}侧摆角序列是卫星序列{s1,s2,…,sp}的侧摆方案。对于该问题,卫星每次过境以不同侧视角度观测,对应不同的观测条带,取可选的观测带数目为k,取总的观测时间窗口数为n。以计算一个观测方案的时间为尺度,那么时间复杂度为o(kn),即使k固定不变,该求解也需指数时间。因而,可以认为该问题为np完备问题,其精确求解是很困难的,只能通过一定的方法求解一个近似的满意解。
卫星区域覆盖分析方法主要有解析法、网格点法和基于几何运算的方法,目前最常用的是网格点法。区域覆盖本质是对网格点进行区域填充,然而此途径并不能判断边界网格是否严格落入覆盖填充区域,从而产生边界误差。各卫星以最大视场角计算条带依次对目标区域推扫覆盖,直到完全覆盖。只被覆盖一次的子区域为一次覆盖区域,一次覆盖区域中的点为最有可能遗漏的点,应该被优先覆盖。因此,要求卫星以瞬时视场角、不同的侧视角度对目标区域瞬时推扫覆盖,并根据覆盖策略选取合适的侧视角度加入观测方案。同时从区域目标中去掉选定观测角度推扫过的网格点,形成新的目标区域,然后重复该过程直至完全覆盖。
技术实现要素:
针对上述存在的技术问题,本发明目的是提供基于一次覆盖条带最大化利用策略求解区域覆盖问题,该策略是以最大可视覆盖为目标,对区域进行一次完整的全覆盖,找出只被覆盖一次的区域。针对一次覆盖区域,以不同侧视角进行瞬时覆盖搜索,选择覆盖点数最多的侧视角度确定实际覆盖方案。算法复杂性不随问题规模扩大而显著增加,复杂度和搜索空间远小于遗传算法等智能算法。特别地,当区域离散网格化精度减小,取点数成指数倍增加时,该方法优势更加凸显。
为达到上述目的,本发明采用如下的技术方案:
一种基于一次覆盖条带最大化的成像卫星区域目标覆盖方法,卫星每次以预设的角度为步长更改侧视角度,以瞬时视场角对一次覆盖区域网格进行扫描覆盖,每次推扫覆盖到的网格点属性t加1,未推扫的区域网格属性t不变,每次推扫的侧视角和覆盖面积被记录后,覆盖区域网格属性值重置,最后选择覆盖网格面积最大推扫角度加入侧视方案;
如果出现多个一次覆盖区域,并且瞬时覆盖后的最大推扫面积相同时,卫星在目标区域中选择实际覆盖面积最大的侧视覆盖条带确定侧视角;否则,选择最大推扫面积的瞬时覆盖确定侧视角。
而且,包括以下步骤,
步骤1,拓展时间窗口语义,包括以下子步骤:
步骤1.1,定义五元组d=[开始时间,结束时间,卫星代号,侧视角度,一次覆盖标识];
步骤1.2,定义一次覆盖标识为-2、-1、0、1,分别表示时间窗口被分配、不可用、待分配、对应条带为一次覆盖条带,初始化为0;
步骤2,预估并设定仿真时间段t;
步骤3,设定网格精度划分网格,输入分辨率阀值、太阳高度角上下限、侧视步长δλ;
步骤4,根据步骤2所设时间段t和步骤3所得太阳高度角约束,获取所有卫星对目标区域可视时间窗口,生成时间窗口五元组序列ds,ds中的所有五元组是按开始时间先后顺序排序的;
步骤5,设扫描的区域m初始为区域目标所包含的网格集,设置m中所有网格点的属性t初始值为0;
步骤6,重复执行以下子步骤,直至完全覆盖,实现区域
步骤6.1,重复执行步骤(1)(2)(3),直至找到一次覆盖状态或ds被遍历完毕:
(1)每次从序列ds中按顺序取出一个五元组d,如果五元组d覆盖标识为-2或-1,则返回跳到步骤(1)按顺序取出下一个五元组d,否则执行下一步(2);
(2)五元组d覆盖标识置0,对五元组d所属卫星进行分辨率约束检验,方法如下:
(3)元组d所属卫星以最大视场角计算条带,对区域m进行重叠覆盖;
步骤6.2,如果没找到一次覆盖状态,则跳到步骤2,重新预估t或调整约束条件;
步骤6.3,扫描区域m内所有网格点,如果扫描到的网格点的属性t=1,则根据网格条带属性s置对应时间窗口五元组的覆盖标识为1。
步骤6.4,遍历ds,对一次覆盖标识为1的时间窗口内五元组d,所属卫星在相同时间段以确定的瞬时视场角度,以δλ为步长,选择不同的侧视角度计算覆盖条带,依次对区域m进行推扫覆盖,确定最终的侧视角θ,更新元组d侧视角度为θ,置其覆盖标识为-2,记侧视角θ时的推扫区域网格集为m;
步骤6.5,令m=m-m,网格点属性值重置;
步骤7,根据ds输出侧视序列方案,记输出为侧视序列方案条带集s={s1,s2,…,sn}。
而且,在步骤7后进一步执行以下步骤进行优化,
步骤8,覆盖步骤7输出的侧视序列方案条带集s={s1,s2,…,sn},每个条带有固定的时间窗口和侧视角度;
步骤9,s1,s2,…,sn以瞬时视场依次覆盖目标区域area;
步骤10,设s1表示一次覆盖条带集,s2表示非一次覆盖条带集,一次覆盖条带是指所覆盖的点中至少有一个点只被覆盖一次的条带,s=s1∪s2,
步骤11,如果
步骤12,s1中的条带依次覆盖目标区域area,未被覆盖到的部分区域记为a,初始化变量n=1;
步骤13,每次从s2中取出|s2|-n个条带的不同组合,这些条带依次对a进行覆盖,如果a被完全覆盖,则用集合t记下以上|s2|-n个条带;
步骤14,重复步骤13直到所有组合都遍历完成,如果所有组合都没能完全覆盖a,则返回s1∪t作为优化方案,流程终止;否则进入步骤15;
步骤15,令n←n+1,如果n=|s2|,则返回s1∪t作为优化方案,流程终止,否则返回步骤14,直到流程终止。
与现有技术相比,本发明具有以下优点和积极效果:
(1)本发明提出的成像卫星区域目标覆盖方法能够有效求解出一个满意的近似解,且相比以往算法,该方法可以有效处理规模较大的问题;
(2)本发明提出的成像卫星区域目标覆盖方法对多种类成像卫星在复杂约束情况下的区域覆盖的时效性、覆盖率、分辨率等性能评价有了极大的提高;
(3)本发明提出的构建基于网格划分区域填充的覆盖量化分析模型,综合考虑了相机分辨率、地面网格精度、太阳高度角、侧摆约束等实际约束,提高了计算成像卫星覆盖条带的精确度;
(4)本发明基于覆盖计算得到的观测方案,进行了二次优化,适用于包括卫星机动能力、分辨率、太阳高度角、时间约束等复杂约束情况下的多种类成像卫星协同工作的区域覆盖,在充分发挥卫星观测能力的同时,节省了卫星资源。
附图说明
图1是本发明实施例根据半角θ以传感器位置p和地心o的线段po为高线构造的△pq1q2示意图;
图2是本发明实施例中△pq1q2以旋转轴向量v=(1,0,0)和旋转角β旋转后所得到的△pq'1q'2示意图;
图3是本发明实施例中区域目标覆盖方法对一次覆盖区域进行瞬时覆盖的过程;
图4是本发明实施例中区域目标覆盖方法一次覆盖后的新目标区域。
具体实施方式
为详细说明本发明的技术内容,下面结合附图和实施例对本发明技术方案作进一步说明。
为了提供基于一次覆盖条带最大化利用策略求解区域覆盖问题,以最大可视覆盖为目标,对区域进行一次完整的全覆盖,找出只被覆盖一次的区域。针对一次覆盖区域,以不同侧视角进行瞬时覆盖搜索,选择覆盖点数最多的侧视角度确定实际覆盖方案。本发明实施例具体提出以下两个覆盖策略。
覆盖策略1:卫星每次以预设的角度δλ为步长更改侧视角度,以瞬时视场角对一次覆盖区域网格进行扫描覆盖。每次推扫覆盖到的网格点属性t加1,未推扫的区域网格属性t不变,每次推扫的侧视角和覆盖面积被记录后,覆盖区域网格属性值重置。最后选择覆盖网格面积最大推扫角度加入侧视方案。
覆盖策略2:如果出现多个一次覆盖区域,并且瞬时覆盖后的最大推扫面积相同时,卫星将在目标区域中选择实际覆盖面积最大的侧视覆盖条带确定侧视角。否则,选择最大推扫面积的瞬时覆盖确定侧视角。
本发明实施例提出的成像卫星区域目标覆盖方法,包括步骤如下:
步骤1,拓展时间窗口语义,包括以下子步骤:
步骤1.1,定义五元组d=[开始时间,结束时间,卫星代号,侧视角度,一次覆盖标识];
步骤1.2,定义一次覆盖标识为-2、-1、0、1,分别表示时间窗口被分配、不可用、待分配、对应条带为一次覆盖条带,初始化为0。
步骤2,预估并设定仿真时间段t(仿真时间段应确保覆盖整个方案起止时间),保证这些卫星在该时间内足够完成对目标区域的覆盖。
步骤3,设定网格精度划分网格,输入分辨率阀值、太阳高度角上下限、侧视步长δλ。
步骤4,根据时间段t(由步骤2确定)和太阳高度角约束(步骤3设定的太阳高度角上下限),获取所有卫星对目标区域可视时间窗口,生成时间窗口五元组序列ds(d1,d2,d3……dn),序列ds中的所有五元组d1,d2,d3……dn是按开始时间先后顺序排序的,其中n为五元祖的数目。
步骤5,设区域m初始为区域目标所包含的网格集,设置m中所有网格点的属性t初始值为0。
步骤6,重复执行以下子步骤6.1、6.2、6.3、6.4、6.5,直至完全覆盖,即
步骤6.1,重复执行步骤(1)(2)(3),直至找到一次覆盖状态或ds被遍历完毕:
(1)每次从序列ds中按顺序取出一个五元组d,如果五元组d覆盖标识为-2或-1,则返回跳到步骤(1)按顺序取出下一个五元组d,否则执行下一步(2);
(2)五元组d覆盖标识置0,对五元组d所属卫星进行分辨率约束检验,方法如下:
①对于ccd传感器相机分辨率计算:在传感器参数里面取出ccd传感器的像元尺寸d和焦距f,h为轨道高度,起点垂轨向角度α,计算ccd分辨率b。公式如下:
②对于sar传感器相机分辨率计算:c为光速,b为信号带宽,re为地球平均半径,h为轨道高度,
然后,参数r为sar传感器相机到地心的距离,r为地球的半径,
若无法满足约束,则置其覆盖标识为-1;
(3)元组d所属卫星以最大视场角计算条带,
然后,对区域m进行重叠覆盖,如果找到一次覆盖状态或ds被遍历完毕,则继续步骤6.2。
条带的计算方法如下:
①给定起止时间段[t1,t2];
②在[t1,t2]中每次以δt为步长,求时刻t卫星位置相机的可视投影;
③以卫星运动方向为参照,在投影左右边界分别任选一点得到m1、m2;
④所有m1、m2点对序列构成一个条带。
其中,时刻t卫星位置相机的可视投影求解方法如下:
①设传感器位置为p,地心为o,根据半角θ,以po为高线,构造如图1所示三角形△pq1q2。
②在本体坐标系中以旋转轴向量v=(1,0,0)和旋转角β构造四元数q,根据以下公式,
由向量
p'=q×p×q-1
③p、q'1、q'2组成旋转后的△pq'1q'2,如图2所示。
④参数θ为相机的垂轨向半视场角(θ定义相机视场边缘与相机中心视轴夹角),
lb2o=lo2b-1
⑤分别求射线pq1、pq2与球面交点m1、m2。如果m1或不存在m2,则用p点向该侧引出切线的切点代替。
⑥求△pm1m2与球面交线作为传感器可视投影。其中求交线的方法为线性插值,将线段m1m2分为n等分,每一等分取一点mi,通过pmi与球面相交得交点,所有这些交点组成的序列构成△pm1m2与球面交线。
步骤6.2,如果没找到一次覆盖状态,则跳到步骤2,重新预估t或调整约束条件。
步骤6.3,扫描区域m内所有网格点,如果扫描到的网格点的属性t=1,则根据网格条带属性s置对应时间窗口五元组的覆盖标识为1。
步骤6.4,遍历ds,对一次覆盖标识为1的时间窗口内五元组d,所属卫星在相同时间段以确定的瞬时视场角度(与在轨运行的传感器相应的实际瞬时视场角),以δλ为步长,选择不同的侧视角度计算覆盖条带(同样采用步骤6.1的(3)部分方式),依次对区域m进行推扫覆盖,根据以上覆盖策略1和覆盖策略2确定最终的侧视角θ,更新元组d侧视角度为θ(初始的侧视角度为0),置其覆盖标识为-2,记侧视角θ时的推扫区域网格集为m。
步骤6.5,令m=m-m,网格点属性值重置。
例如见图3,δλ取5°,传感器相机类型为矩形ccd,不妨假定垂轨向半视场角5°,沿轨向半视场角1°。条带s2对应卫星的侧摆角初始为最小的负向侧摆角度,每次以δλ角度为步长得到侧视角计算不同的瞬时条带s'2,对区域a1进行扫描覆盖。同样,根据条带s4,得到不同的瞬时条带s'4,对区域a2进行扫描覆盖。其中ct表示一次覆盖区域中覆盖网格点数,ac表示目标区域中覆盖网格点数,即实际覆盖网格点数,θ为侧摆角。开始覆盖a1时,θ=5°,开始覆盖a2时,θ=10°。对a1瞬时扫描覆盖后,根据覆盖策略1选出侧摆角度θ=20°的侧摆,得到待覆盖区域r1,对a2瞬时扫描覆盖后,根据覆盖策略1选出侧摆角度θ=15°的侧摆,得到待覆盖区域r2。根据覆盖策略2,选择r2作为实际要覆盖的区域。然后去掉区域r2包含的网格点,生成图4所示新的目标区域,继续迭代做一次覆盖、瞬时覆盖,直到目标区域网格点数为0。
步骤7,根据ds输出侧视序列方案,记输出为侧视序列方案条带集s={s1,s2,…,sn},n为侧视序列方案条带集s中条带的数目。
通过一次覆盖紧缺资源优先利用策略计算得到的覆盖方案已经是较优方案,该方案通过stk仿真能够充分证明其正确性,并已经被应用到工程实践。然而,经过多次的测试仿真,发现覆盖结果中有些条带是多余的,观测方案本身还可以进一步优化。一次覆盖策略是时序条带依次覆盖目标区域,直到恰好完全覆盖,然后分配一个条带资源用于实际任务安排,在当前已分配条带中,有一个覆盖获取时间区间,在该区间内该条带可能是不可或缺的,但随着下次一次覆盖后,任务序列增加一个条带,时间区间进一步扩大,之前分配好的条带所覆盖的区域可能可以由后来的一个或多个条带覆盖,之前分配的条带就可能存在多余的。因此,本发明实施例以进一步节省卫星条带资源,优化覆盖方案为目的,给出如下优化方案:
步骤8,覆盖步骤7输出的侧视序列方案条带集s={s1,s2,…,sn},每个条带有固定的时间窗口和侧视角度;
步骤9,s1,s2,…,sn以瞬时视场依次覆盖目标区域area;
步骤10,设s1表示一次覆盖条带集,s2表示非一次覆盖条带集,一次覆盖条带是指所覆盖的点中至少有一个点只被覆盖一次的条带,s=s1∪s2,
步骤11,如果
步骤12,s1中的条带依次覆盖目标区域area,未被覆盖到的部分区域记为a,初始化变量n=1;
步骤13,每次从s2中取出|s2|-n个条带的不同组合,这些条带依次对a进行覆盖,如果a被完全覆盖,则用集合t记下这|s2|-n个条带;
步骤14,重复步骤13直到所有组合都遍历完成,如果所有组合都没能完全覆盖a,则返回s1∪t作为优化方案,流程终止;否则进入步骤15;
步骤15,令n←n+1,如果n=|s2|,则返回s1∪t作为优化方案,流程终止,否则返回步骤14,重复执行步骤14、15,直到流程终止。
具体实施时,可采用计算机软件技术实现以上流程的自动运行。