发明内容
本发明为解决现有技术无法保证收益值高的任务优先使用数传资源,造成地面数传资源浪费以及无法做出合理决策等问题,提供一种遥感卫星地面站测控和数传资源自动分配方法。
一种遥感卫星地面站测控和数传资源自动分配方法,该方法由以下步骤实现:
步骤一、初始化输入信息;包括初始化任务集合I、可见窗口集合W、可执行任务结果集合R以及不可执行任务结果集合N;
步骤二、计算任务集合I中每个成像任务的收益值,根据成像任务集合I中每个成像任务的收益值从大到小排序;
步骤三、在可见窗口集合W中为当前收益值最大的成像任务分配一个测控成本最小的窗口作为该成像任务的测控窗口wc,判断所述测控窗口wc分配是否成功,如果是,执行步骤四;如果否,执行步骤五;
步骤四、为成像任务分配一个数传总成本最小的窗口作为该成像任务的数传窗口wr,判断所述数传窗口wr分配是否成功,如果是,将所述成像任务加入可执行任务结果集合R,并将该任务从任务集合I中移除,执行步骤六;如果否,执行步骤五;
步骤五、将所述成像任务加入不可执行任务结果集合N,并将该成像任务从任务集合I中移除,执行步骤六;
步骤六、判断任务集合I中所有任务是否分配完毕,如果是,输出生成结果,结束;如果否,返回步骤三;
所述步骤三中成像任务的测控窗口wc的具体计算过程为:
步骤三一、设定步骤三中所述成像任务为i,根据成像任务i的执行卫星s,在可见窗口集合W中确定卫星s的所有可见窗口子集Ws;
步骤三二、在所述可见窗口子集Ws中取出所有用于成像任务i的测控窗口集合Wc(i),所述Wc(i)中每个窗口w满足:
窗口w结束时刻+卫星s执行成像任务i的机动时间<成像任务i执行开始时刻;
步骤三三、判断测控窗口集合Wc(i)是否为空,如果是,则没有用于成像任务i的测控窗口,结束;如果否,计算所述测控窗口集合Wc(i)中每个窗口w的测控成本cm,测控成本cm最小的窗口w则作为成像任务i的测控窗口wc。
本发明的有益效果:
一、本发明所述的自动分配方法,减小了人工分配的成本,提高卫星运控的工作效率;
二、本发明所述的自动分配方法,可以在短时间内,使用不同的输入(不同任务集合I),判断不同情况下收益值的差别,帮助业务人员合理决策;
三、本发明所述的自动分配方法,以成像任务为单位,优先保证收益值高的任务获得测控和数传资源,在地面站资源有限的情况下,保证总收益值最大化;
四、本发明所述的自动分配方法,相同地面站互相冲突的数传窗口的冲突消解不再是以移除数传窗口的方式消解;而是以向后移动后继窗口数传开始时刻的方式消解,可以是保证最大化的使用地面站的数传资源,防止浪费;
具体实施方式
结合图1至图3说明本实施方式,一种遥感卫星地面站测控和数传资源自动分配方法,本实施方式以卫星的成像任务为单位,先确定每个成像任务的收益值,再根据收益值从大到小的顺序,依次为成像任务分配测控和数传资源。成像任务的收益值可根据实际情况自行定义,如成像任务的优先级(优先级越高则收益值越大)、成像任务的商业价值(商业价值越高则收益值越大)等都可以按照一定权重进行加权计算得出成像任务收益值。该方法可以保证收益值大的任务优先使用地面站资源,消解收益值小的冲突任务,实现总收益值最大化。同时该方法可以快速反复执行,在减少人工成本和提高效率的同时,还可以比较不同成像任务集合得到的总最大收益值,为业务人员消解成像任务冲突提供参考信息。
执行卫星成像任务,卫星需要测控窗口发送遥控指令;同时,获取成像后的影像数据,就需要数传窗口下传卫星数据。本方法主要目的就是为多个卫星成像任务分配地面站测控、数传窗口,尽可能保障更多成像任务可以执行并获得最大收益值。为达到上述目的,本实施方式分为以下几个步骤执行:
步骤一、确认并初始化本方法需要的输入信息;
初始化任务集合I、可见窗口集合W、可执行任务结果集合R、不可执行任务结果集合N;所述可见窗口集合W是根据执行任务的卫星集合S中每颗卫星s和所有可用地面站集合G中每个地面站g的空间关系,通过轨道预报,计算出未来一段时间内,即未来24小时之内需要拍摄的任务放入I中,将卫星集合S与地面集合G中每个s与g的可见窗口放入W中;初始化结果集合R={},N={};步骤二、计算任务集合I中每个成像任务的收益值,根据成像任务集合I中每个成像任务的收益值从大到小排序;
步骤三、在可见窗口集合W中为当前收益值最大的成像任务分配一个测控成本最小的窗口作为该成像任务的测控窗口wc,判断所述测控窗口wc分配是否成功,如果是,执行步骤四;如果否,执行步骤五;
所述步骤三中分配成像任务i的测控窗口wc,主要目的是在可见窗口集W中找到可用于成像任务i的测控成本最小的测控窗口wc。
步骤三一、设定步骤三中所述成像任务为i,根据成像任务i的执行卫星s,在可见窗口集合W中确定卫星s的所有可见窗口子集Ws;
步骤三二、在所述可见窗口子集Ws中取出所有用于成像任务i的测控窗口集合Wc(i),所述Wc(i)中每个窗口w满足:
窗口w结束时刻+卫星s执行成像任务i的机动时间<成像任务i执行开始时刻;
步骤三三、判断测控窗口集合Wc(i)是否为空,如果是,则没有用于成像任务i的测控窗口,结束;如果否,计算所述测控窗口集合Wc(i)中每个窗口w的测控成本cm,测控成本cm最小的窗口w则作为成像任务i的测控窗口wc。
本实施方式中,所述窗口w作为成像任务i的测控窗口wc的测控成本cm计算方法如下:
1)如果窗口w是空闲的,则窗口w的测控成本cm根据地面站的测控使用费用定值,cm为w的固定属性;
2)如果窗口w被选择作为卫星s的数传窗口,则使用窗口w作为卫星s的测控窗口的测控成本为d*c,其中,d在[0,1]之间取值,d为在一个可见窗口内同时使用测控和数传的费用折扣值;
3)如果窗口w已经作为卫星s的测控窗口,则使用窗口w作为成像任务i的测控窗口的测控的成本为0;
4)多个成本相同的测控窗口,则规定选择时间最早的w,默认时间越晚,潜在成本越高。
步骤四、为成像任务分配一个数传总成本最小的窗口作为该成像任务的数传窗口wr,判断所述数传窗口wr分配是否成功,如果是,将所述成像任务加入可执行任务结果集合R,并将该任务从任务集合I中移除,执行步骤六;如果否,执行步骤五;
步骤四中,分配成像任务i的数传窗口wr。主要目的是在W中找到可用于成像任务i的使用成本最小的数传窗口wr。其过程如下:
步骤四一、通过成像任务i的执行卫星s,在可见窗口集合W中确定卫星s的所有可见窗口子集Ws;
步骤四二、在可见窗口子集Ws中取所有用于成像任务i的数传窗口集合Wr(i),则Wr(i)中每个窗口w满足:
窗口w开始时刻>成像任务i成像结束时刻+卫星s数传机动时长;
步骤四三、判断数传窗口集合Wr(i)是否为空,如果是,则成像任务i不存在可用的数传窗口,将成像任务i放入不可执行任务结果集合N中,结束;如果否,计算所述数传窗口集合Wr(i)中每个可用数传窗口的数传总成本c;执行步骤四四;
步骤四四、如果数传窗口集合Wr(i)中存在一个或多个数传总成本为常数的窗口,则其中数传总成本最小的窗口w则为成像任务i的数传窗口wr;如果Wr(i)中所有Wr(i)的数传成本均为无效数值,则成像任务i没有可用的数传窗口,将成像任务i放入不可执行任务结果集合N中。
本实施方式中,成像任务i使用数传窗口集合Wr(i)中一个窗口w的数传总成本cw由数传成本ct和冲突成本cc组成;
数传成本ct为成像任务i使用窗口w进行数传需要的时长,数传成本由成像任务i数传的数据量决定;
冲突成本指任务i使用窗口w作为数传窗口后,可能导致窗口w与相同地面其他卫星的窗口冲突。由于需要占用窗口w的数传时长变长,导致窗口w的数传结束时刻向后移动,可能引起w与相同地面站后继窗口w1的冲突(w,w1地面站相同,卫星不同),即窗口w的数传结束时刻大于后继窗口w1的数传开始时刻,为了消除冲突,后继窗口w1的数传开始时刻需要向后移动,后继窗口w1的数传结束时刻同时后移,导致后继窗口w1的剩余可用数传时长变短。我们规定,后继窗口w1剩余数传可用时长减少的量,就是后继窗口w1的冲突成本;同时,由于后继窗口w1的结束时刻向后移动,可能继续引起后继窗口w1与相同地面站后继窗口w2的冲突,同样方法继续计算后继窗口w2的冲突成本,直到没有后继窗口wn+1与后继窗口wn冲突为止;则成像任务i使用窗口w的冲突成本为cc=cc1+cc2+…+ccn(n≥0);
计算成像任务i使用数传窗口集合Wr(i)中一个窗口w的数传成本ct的具体过程为:
判断成像任务i使用窗口w的数传时长di是否小于等于窗口w的剩余可用数传时长dw;
如果是,则窗口w作为成像任务i的数传窗口,更新窗口w的数传结束时刻ew为ew′,ew′=ew+di;成像任务i使用窗口w的数传成本ct=di;
如果否,则窗口w不作为成像任务i的数传窗口,成像任务i使用窗口w的数传成本ct=NaN;成像任务i使用窗口w的数传总成本cw=NaN,NaN为无效数值。
本实施方式中,所述成像任务i使用窗口w作为数传窗口,冲突成本cc=cc1+cc2+…+ccn,n>0,计算成像任务i使用窗口w的冲突成本cc,具体过程为:
步骤A、设定窗口w的地面站为g,在可见窗口集合W中确认所有地面站为g的子集Wg;
步骤B、在所述子集Wg中确认窗口w是否存在窗口w1,且满足后继w1的数传开始时刻sw1小于窗口w的数传结束时刻ew′;
如果是,执行步骤C;如果否,成像任务i使用窗口w的冲突成本cc为0,数传总成本cw=ct;
步骤C、窗口w与后继窗口w1存在数传冲突,将所述后继窗口w1的数传开始时刻sw1向后移动到sw1′,则sw1′=ew1′+dm;
所述ew1′为窗口w的数传结束时刻,dm为地面站g两次数传之间需要的最小机动时间;sw1′为向后移动后的数传开始时刻;所述后继窗口w1向后移动的时长为sw1′-sw1;
如果sw1′-sw1≤dw1,所述冲突成本cc1=sw1′-sw1,执行步骤D;
如果sw1′-sw1>dw1,则窗口w不能作为成像任务i的数传窗口,成像任务i使用窗口w的数传总成本cw=NaN;dw1为窗口w1剩余的可用数传时长;
步骤D、更新后继窗口w1的数传结束时刻ew1为ew1′,则ew1′=ew1+(sw1′-sw1);
步骤E、继续在子集Wg中寻找后继窗口w1的后继窗口w2,后继窗口w2的后继窗口w3,直到找到后继窗口wn+1与后继窗口wn不存在冲突为止,成像任务i使用窗口w的冲突成本为cc=cc1+cc2+…+ccn;则成像任务i使用窗口w的数传总成本cw=ct+cc=di+(cc1+cc2+…+ccn)。
步骤五、将所述成像任务加入不可执行任务结果集合N,并将该成像任务从任务集合I中移除,执行步骤六;
步骤六、判断任务集合I中所有任务是否分配完毕,如果是,输出生成结果,结束;如果否,返回步骤三;
本实施方式中,所述输出生成结果包括:将所有可执行的任务放入可执行任务结果集合R,不可执行的任务放入不可执行任务结果集合N,并通过可视化界面显示给用户,用户可以根据可执行任务结果集合R和不可执行任务结果集合N中的任务执行情况,以及可执行任务结果集合R中所有任务的收益值总和进行决策,是否使用可执行成像任务集合R中测控和数传窗口的分配结果。如果不满意,可以在集合I中移除若干任务,重新计算分配结果,直到满意为止。