卫星南北保持策略模型的建模方法、模型、获取方法与流程

文档序号:33645220发布日期:2023-03-29 03:27阅读:71来源:国知局
卫星南北保持策略模型的建模方法、模型、获取方法与流程

1.本发明涉及航空航天技术领域,特别是涉及一种基于duelingdqn的卫星南北保持策略模型的建模方法、模型、获取方法。


背景技术:

2.随着人类航天活动的不断开展,越来越多的遥感卫星为人们的日常生活提供帮助。
3.geo卫星在运行的过程中会受到日、月引力和地球非球形摄动的影响,从而导致在南北纬度方向上发生漂移,所以对geo三轴稳定卫星南北位置保持(倾角保持)控制对于航天领域有至关重要的作用。
4.现有的技术首先通过对卫星在轨道运行过程中受到的地球形状、日月引力、太阳光压等各种摄动力的分析建立轨道机动时的动力学模型,然后制定南北保持的短期和长期策略。这种方法通过卫星在轨道运行过程中受到的各种摄动力进行复杂的建模,然而由于空间受力的复杂性以及卫星本身参数的不确定性,导致无法对卫星进行精确建模,参数多、计算复杂,进而影响卫星倾角控制的精度,可能会消耗更多的燃料。并且,现有强化学习方法无法解决状态和动作空间维度很高的问题。
5.因此,亟需开发一种基于duelingdqn的卫星南北保持策略模型的建模方法、模型、获取方法、设备、介质,降低建模难度,精确计算南北保持策略。


技术实现要素:

6.本发明的目的是提供一种基于duelingdqn的卫星南北保持策略模型的建模方法、模型、获取方法、设备、介质,对geo三轴稳定卫星进行南北位置保持时不需要进行复杂的建模,不需要考虑空间受力的复杂性以及卫星本身参数的不确定性,强化学习具有很强的行为决策能力,能够得到最优的决策策略,减少卫星燃料的消耗。
7.为解决上述技术问题,作为本发明的一个方面,提供了一种基于dueling dqn的卫星南北保持策略模型的建模方法,包括以下步骤:
8.s1:初始化模型,获取多组卫星训练状态数据组,每组卫星训练状态数据组包括卫星的初始状态、多个预期轨控时刻和预期轨控次数;每个卫星的初始状态包括初始时刻卫星倾角;
9.s2:向模型中输入一组卫星训练状态数据组的初始时刻卫星倾角,得到初始时刻卫星之后所有倾角控制行为及所对应输出的q值;
10.s3:获取当前时刻卫星倾角,根据贪心策略获得卫星执行的倾角控制行为;
11.s4:执行倾角控制行为,得到当前时刻往后推一到多个时刻的卫星倾角;根据当前时刻往后推一到多个时刻的卫星倾角、南北保持策略奖励函数得到累计奖励;所述南北保持策略奖励函数采用公式1:
[0012][0013]
其中,r
t
为当前时刻卫星所执行的倾角控制行为在当前时刻往后推t个时刻所获得的累计奖励,g
t+k
为当前时刻往后推k个时刻卫星进行倾角控制行为所获得的奖励,s
t+k+1
为当前时刻的往后推k+1个时刻的卫星倾角,s0为标称轨道的倾角,δrs为倾角保持圆半径,t0为与当前时刻往后推k个时刻距离最近的预期轨控时刻;t1为当前时刻往后推k个时刻,t和k均为大于或等于0的自然数,δ为折扣值,0≤δ≤1;
[0014]
s5:将当前时刻卫星倾角、卫星执行的倾角控制行为、累计奖励和下一时刻卫星倾角作为一组卫星组合状态数据组存入经验池中;
[0015]
s6:从经验池中取出多组卫星组合状态数据组,根据目标卷积层权重参数、目标优势函数网络的参数、目标状态值函数网络的参数计算每个卫星组合状态数据组的目标值;
[0016]
s7:根据损失函数计算误差,并更新当前卷积层权重参数、当前优势函数网络的参数和当前状态值函数网络的参数;
[0017]
s8:根据值函数更新q值;将下一时刻卫星倾角作为当前时刻卫星倾角;
[0018]
s9:重复执行步骤s3-s8,执行步骤s3-s8的次数等于该组卫星训练状态数据组的预期轨控次数;每重复执行指定迭代次数的步骤s3-s8后,分别根据当前卷积层权重参数、当前优势函数网络的参数和当前状态值函数网络的参数更新目标卷积层权重参数、目标优势函数网络的参数和目标状态值函数网络的参数;
[0019]
s10:重复执行步骤s2-s9,直到输入完所有卫星训练状态数据组的数据。
[0020]
t表示当前时刻,t+1表示当前时刻的下一时刻,t+t表示当前时刻的下t个时刻(当前时刻往后推t个时刻)。
[0021]
根据本发明一示例实施方式,步骤s1中,初始化模型包括定义损失函数。
[0022]
根据本发明一示例实施方式,模型的输入为卫星倾角,模型的输出为卫星执行倾角控制行为的回报值(q值)。
[0023]
根据本发明一示例实施方式,步骤s1中,卫星倾角为在轨道上的二维倾角,该二维倾角根据卫星轨道倾角和升交点赤经获得:
[0024]
s=(i
x
,iy);
[0025][0026]
其中,s表示卫星在轨道上的二维倾角,i表示卫星轨道倾角,ω表示升交点赤经。
[0027]
根据本发明一示例实施方式,所述二维倾角为矢量数据。
[0028]
根据本发明一示例实施方式,步骤s3中,所述根据贪心策略获得卫星执行的倾角控制行为的方法包括:卫星以第一指定概率随机选择下一时刻的倾角控制行为、或以第二指定概率执行最大q值所对应的倾角控制行为;第一指定概率和第二指定概率之和等于1。
[0029]
根据本发明一示例实施方式,步骤s6中,根据目标卷积层权重参数、目标优势函数网络的参数、目标状态值函数网络的参数计算每个卫星组合状态数据组的目标值的方法采用公式2:
[0030][0031]
其中,yj表示目标值,γ为折扣值,θ

为目标卷积层权重参数,θ为当前卷积层权重参数,α为当前优势函数网络的参数,α

为目标优势函数网络的参数,β为当前状态值函数网络的参数,β

为目标状态值函数网络的参数,表示一组卫星组合状态数据组中的下一时刻卫星执行倾角控制行为a后得到的q值,表示选择能使一组卫星训练状态数据组中的下一时刻卫星执行倾角控制行为a后得到的最大q值所对应的倾角控制行为,s
j+1
表示一组卫星组合状态数据组中的下一时刻卫星倾角,a表示卫星执行的倾角控制行为,rj表示一组卫星组合状态数据组中的累计奖励。
[0032]
根据本发明一示例实施方式,步骤s7中,所述损失函数采用公式3:
[0033][0034]
其中,yj表示目标值,q(sj,aj;θ,α,β)表示一组卫星组合状态数据组中的当前时刻卫星执行倾角控制行为aj后的q值,sj表示一组卫星组合状态数据组中的当前时刻卫星倾角,aj表示当前时刻卫星执行的倾角控制行为,m为卫星组合状态数据组的数量;θ为当前卷积层权重参数,α为当前优势函数网络的参数,β为当前状态值函数网络的参数。
[0035]
根据本发明一示例实施方式,步骤s8中,所述根据值函数更新q值的方法采用公式4:
[0036]
q(s
t
,a
t
)

q(s
t
,a
t
)+w[r
t
+γmax q(s
t+1
,a
t
)-q(s
t
,a
t
)]
ꢀꢀ
(4);
[0037]
其中,箭头左侧的q(s
t
,a
t
)表示更新后的当前时刻的卫星执行倾角控制行为a
t
后的q值,箭头右侧的q(s
t
,a
t
)表示更新前的当前时刻的卫星执行倾角控制行为a
t
后的q值,q(s
t+1
,a
t
)表示更新前的当前时刻的下一时刻卫星执行倾角控制行为a
t
后的q值,w为权重,γ为折扣值,s
t
表示当前时刻卫星倾角,a
t
表示当前时刻卫星执行的倾角控制行为,s
t+1
表示当前时刻的下一时刻卫星倾角,r
t
表示累计奖励。
[0038]
t表示当前时刻,t+1表示当前时刻的下一时刻。
[0039]
作为本发明的第二个方面,提供了一种基于dueling dqn的卫星南北保持策略模型,采用所述基于dueling dqn的卫星南北保持策略模型的建模方法建立模型。
[0040]
作为本发明的第三个方面,提供一种卫星南北保持最优策略的获取方法,采用所述基于dueling dqn的卫星南北保持策略模型的建模方法建立基于dueling dqn的卫星南北保持策略模型;
[0041]
根据该模型得到最优策略;
[0042]
所述根据该模型得到最优策略的方法采用公式5:
[0043][0044]
其中,π表示卫星进行倾角控制的策略,π
*
表示通过模型学习到的最优的倾角控制策略,即卫星在初始时刻卫星倾角数据为s的情况下经过策略π
*
的倾角控制行为a下产生最大的回报。
[0045]
作为本发明的第四个方面,提供一种电子设备,包括:
[0046]
一个或多个处理器;
[0047]
存储装置,用于存储一个或多个程序;
[0048]
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现所述基于duelingdqn的卫星南北保持策略模型的建模方法。
[0049]
作为本发明的第五个方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现所述基于duelingdqn的卫星南北保持策略模型的建模方法。
[0050]
本发明的有益效果是:
[0051]
本方案通过神经网络进行建模,利用当前卫星倾角数据进行深度强化学习和决策,不需要利用卫星在轨道运行过程中受到的各种摄动力进行复杂的建模,不仅能够得到最优的南北控制策略,而且能够减少卫星燃料的消耗,这对实际的航天应用具有重要的意义和价值。
附图说明
[0052]
图1示意性示出了基于dueling dqn的卫星南北保持策略模型的建模方法的步骤图。
[0053]
图2示意性示出了一种电子设备的框图。
[0054]
图3示意性示出了一种计算机可读介质的框图。
具体实施方式
[0055]
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本技术将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
[0056]
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本技术的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本技术的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本技术的各方面。
[0057]
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0058]
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合
并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
[0059]
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本技术概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
[0060]
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本技术所必须的,因此不能用于限制本技术的保护范围。
[0061]
本方案基于深度学习较强的感知能力来从环境中获取观测信息,基于强化学习较强的决策能力获得预期回报值来评估顶座价值。整个学习过程可以描述为:在某一时刻,卫星与飞行的环境交互来获取观测信息,通过神经网络将当前状态信息映射为相应的动作(倾角控制行为),环境对此动作做出反应,得到对应的奖励值和下一个观测信息,并把完整的交互信息存入经验池中。通过不断循环以上过程,最终可以得到实现目标的最优策略。
[0062]
本方案所述的卫星为geo三轴稳定卫星。地球同步轨道(geo),是指人造卫星在地球赤道上空约36000公里处围绕地球运行的圆形轨道。因为卫星绕地球运行周期与地球自转同步,卫星与地球之间处于相对静止的状态,因此在这种轨道上运行的卫星被简称为“同步卫星”,又称为“静止卫星”或“固定卫星”。三轴稳定就是卫星不旋转,本体在x、y、z三个方向上均稳定,换言之就是与地球保持一定的姿态关系。
[0063]
深度q网络(deep q networks,简称dqn)算法是深度强化学习中的一种网络,是深度学习与q学习的结合。由于其综合了强化学习和深度学习的优势,所以目前在各个领域都已经得到广泛的应用。
[0064]
深度强化学习作为人工智能领域的一个新的研究热点,将深度学习和强化学习相结合,通过一种端对端的学习方式实现从原始输入到输出的直接控制和决策。由于深度学习是基于神经网络结构的,所以它对环境具有较强的感知能力,但是缺乏一定的决策控制能力;而强化学习恰好具有很强的行为决策能力。因此,深度强化学习将深度学习的感知能力和强化学习的决策能力相结合,优势互补,可以直接从高维原始数据中学习控制策略。深度强化学习方法自提出以来,在许多需要感知高维度原始输入数据和决策控制的任务中,已经取得了实质性的突破,由于深度学习端到端的学习优势,故深度强化学习可以解决建模难、规划难的问题。
[0065]
dqn算法在计算目标值和计算当前值用的是同一个网络,即目标值的计算使用了当前要训练的q网络中的参数,而又用目标值来更新网络的参数,这样二者循环依赖,不利于算法的收敛。相比较于dqn,nature dqn增加了目标网络,通过双网络结构来减少目标q值计算与待更新q网络参数之间的依赖关系,综合了强化学习和深度学习的优势,从而极大地提高了dqn算法的稳定性。
[0066]
nature dqn通过使用两个独立的但完全相同的q网络(一个网络作为当前q网络,另一个作为目标q网络),减少计算目标网络的目标值和当前网络参数之间的相关性。通过复制当前网络的权重参数给目标网络,使得当前网络每隔一定步长c更新目标网络,双网络结构让目标q值在一段时间里使保持不变,降低了计算目标q值和当前网络参数的相关性,进而提高了算法收敛性和稳定性。
[0067]
dqn和nature dqn算法在进行值函数优化目标时,动作(倾角控制行为)选择和策
略评估都是基于相同的值函数来实现的。无论是dqn还是nature dqn,都无法克服q-learning本身固有的缺陷——过估计,从而使得估计的值函数比真实值大。
[0068]
过估计是指估计的值函数比真实值函数要大,其根源主要在于q-learning中的最大化操作,即目标值其中的max操作使得估计的值函数比值函数的真实值大(注:对于真实的策略来说并在给定的状态下并不是每次都选择使得q值最大的倾角控制行为,因为一般真实的策略都是随机性策略,所以在这里目标值直接选择倾角控制行为最大的q值往往会导致目标值要高于真实值)。
[0069]
不同于这两种算法,double dqn(简称ddqn)则是基于nature dqn双网络架构,将动作选择和策略评估分开进行,使用当前神经网络权值参数θ来选择最优倾角控制行为,使用目标神经网络权值参数θ'来评估最优倾角控制行为,从而解决dqn和nature dqn算法过度估计的问题。ddqn算法和nature dqn的算法步骤的区别就在目标q值的计算方式不同。ddqn能够估计出更加准确的q值,可获得更稳定有效的策略。
[0070]
但是,不管是dqn、nature dqn还是double dqn算法,都是使用单流q网络,单流q网络是基于值函数的深度强化学习,通过优化目标q值的计算来优化诉算法无法得到更为精确的q值估计,使得算法的稳定性较差,对卫星造成较大的燃料损耗。
[0071]
为了进一步解决燃料损耗大的问题,本方案采用dueling dqn算法实现。dueling dqn将单流q网络分成上子网络和下子网络两个子网络。上子网络仅仅与状态有关而与动作无关,定义为状态值函数网络,记为v(s;θ,β);下子网络定义为优势函数网络,记为a(s,a;θ,α),该部分与状态和倾角控制行为都有关。状态值函数子网络和优势函数子网络有相同的输入和共同的参数,两个子网络又有各自的参数分别为β和α。duelingdqn网络最终输出是两个子网络输出的线性组合:
[0072][0073]
其中,θ是神经网络中卷积层的参数,α是网络全连接层中优势函数参数,β是网络全连接层中状态值函数参数,|a|代表了可选择动作的个数。
[0074]
作为本发明的第一个实施方式,提供一种基于duelingdqn的卫星南北保持策略模型的建模方法,如图1所示,包括以下步骤:
[0075]
s1:初始化模型,多组卫星训练状态数据组,每组卫星训练状态数据组包括卫星的初始状态、多个预期轨控时刻和预期轨控次数;每个卫星的初始状态包括初始时刻卫星倾角。
[0076]
初始化模型的方法包括:定义损失函数;初始化经验池的容量为n,经验池用于存储训练的样本;初始化网络模型的q网络的当前卷积层权重参数θ和目标卷积层权重参数θ

,θ

=θ;初始化当前优势函数网络的参数α和目标优势函数网络的参数α

;α

=α;初始化当前状态值函数网络的参数β和目标状态值函数网络的参数β

;β

=β;初始化任务训练的指定迭代次数t1;初始化网络的输入为卫星倾角s,计算出的网络输出为卫星执行倾角控制行为后的回报值q。
[0077]
卫星在某一时刻的运动状态可由开普勒轨道六根数表示:半长轴、偏心率、升交点赤经、近地点幅角、轨道倾角、平近点角。在南北保持策略问题中,由于卫星在运行的过程中会受到日、月引力和地球非球形摄动的影响,会使得轨道倾角i发生漂移。卫星轨道平面在
空间的方位通常用倾角i和升交点赤经ω两个轨道要素来描述。但是在倾角很小的情况下,为了避免奇点,使用以下轨道要素来代替i和ω:
[0078][0079]
卫星倾角的数据为卫星在轨道上的二维倾角,该二维倾角为矢量数据,卫星在轨道上的二维倾角矢量可表示为:
[0080]
s=(i
x
,iy)。
[0081]
因此,卫星在轨道上的二维倾角根据卫星轨道倾角和升交点赤经获得:
[0082]
s=(i
x
,iy);
[0083][0084]
其中,s表示卫星在轨道上的二维倾角,i表示卫星轨道倾角,ω表示升交点赤经。
[0085]
多组卫星训练状态数据组组成数据集,该数据集中的卫星状态的数据大于或等于100组,卫星状态的数据越多,模型训练出来的结果越准确。
[0086]
多组卫星训练状态数据组的数据为训练集的数据,可以采用仿真数据,也可以采用仿真数据和真实数据相结合。一个时间段内的时间线上包括多个时间点,每个时间点上卫星的状态都不同,在不同的时间点执行轨控策略会得到不同的效果。本方案的通过多组卫星训练状态数据组,每组卫星的初始时刻卫星倾角对应一个时间点的卫星倾角,每组卫星训练状态数据组的初始时刻对应的时间点均不同,即每组卫星训练状态数据组的初始时刻均不同。
[0087]
s2:向模型中输入一组卫星训练状态数据组的初始时刻卫星倾角,得到初始时刻之后所有倾角控制行为及所对应输出的q值。
[0088]
初始时刻卫星执行倾角控制行为后,得到下一时刻卫星倾角。下一时刻卫星执行倾角控制行为后,得到下一时刻的下一时刻卫星倾角。以此类推,得到下多个时刻的倾角控制行为。
[0089]
t时刻为当前时刻,当前时刻的下一时刻即为t+1时刻,t时刻的下t个时刻(t时刻往后推t个时刻)即为t+t时刻。
[0090]
当前时刻卫星执行倾角控制行为后,得到当前时刻往后推一到多个时刻的卫星倾角,当前时刻往后推一个时刻的倾角即为下一时刻卫星倾角(s
t+1
),当前时刻往后推t个时刻的倾角即为下t时刻卫星倾角(s
t+t
),t为大于或等于0的自然数。
[0091]
s3:获取当前时刻卫星倾角,根据贪心策略获得卫星执行的倾角控制行为。
[0092]
初次循环时,当前时刻卫星倾角为初始时刻卫星倾角。
[0093]
根据贪心策略获得卫星执行的倾角控制行为的方法包括:卫星以第一指定概率随机选择倾角控制行为、或以第二指定概率执行最大q值所对应的倾角控制行为;第一指定概率和第二指定概率之和等于1。
[0094]
如果第一指定概率大于第二指定概率,则根据贪心策略获得卫星执行的倾角控制
行为的方法采用:卫星以第一指定概率随机选择倾角控制行为;
[0095]
如果第二指定概率大于第一指定概率,则根据贪心策略获得卫星执行的倾角控制行为的方法采用:卫星以第二指定概率执行最大q值所对应的倾角控制行为;
[0096]
如果第一指定概率等于第二指定概率,则根据贪心策略获得卫星执行的倾角控制行为的方法择其一:卫星以第一指定概率随机选择倾角控制行为、或以第二指定概率执行最大q值所对应的倾角控制行为。
[0097]
贪心策略为ε-greedy策略。
[0098]
第一指定概率为ε,ε随迭代次数的增加而减小。
[0099]
当前时刻卫星执行的倾角控制行为为a
t

[0100]
s4:执行倾角控制行为,得到当前时刻往后推一到多个时刻的卫星倾角;根据当前时刻往后推一到多个时刻的卫星倾角、南北保持策略奖励函数得到累计奖励。
[0101]
由于日、月引力和地球非球形摄动的影响,geo三轴稳定卫星轨道倾角和升交点赤经会不断变化,每年倾角矢量漂移率的变化为0.75
°
~0.95
°
。为使卫星的南北位置误差保持在规定的范围内,必须定期实施南北位置保持(轨道倾角控制)。卫星的南北位置保持是在轨运行时最复杂的测控工作,在燃料量和倾角保持精度要求一定的前提下,选择目标轨道倾角,使卫星两次控制时间间隔最长,且消耗燃料最省是南北保持控制的关键。
[0102]
卫星的倾角保持的方法是设置以δi为半径的倾角保持圆,让倾角持续漂移,直至接近半径为δi的倾角保持圆的上边界时执行倾角机动,使倾角矢量跳变至倾角保持圆内的下边界,倾角机动方向基本沿日、月摄动的反方向。
[0103]
卫星南北保持策略问题的目标是在保持轨道倾角的同时还要尽可能最小化燃料的消耗量,所以奖励策略的定义要同时考虑到倾角的变动和燃料的消耗。卫星初始质量一定,总燃耗取决于每次控制速度增量绝对值之和,而后者又取决于每次控制产生的倾角矢量改变量绝对值之和。
[0104]
卫星控制频率固定(即固定经过一段时间后进行轨控),本次轨控量可以保证在下一次控制时候卫星的倾角在保持圆内,即在下一时刻轨道的倾角必须在倾角保持圆内。所以t时刻(当前时刻)倾角的变化量依赖于外推的t+1时刻(当前时刻的下一时刻)的轨道倾角的状态。基于这个目的,设计了t时刻的奖励策略。
[0105]
标称轨道的倾角为s0,倾角保持圆半径为δrs,那么t+k时刻(当前时刻往后推k个时刻)的奖励策略可定义为:
[0106][0107]
其中,g
t+k
为当前时刻往后推k个时刻卫星进行倾角控制行为所获得的奖励,s
t+k+1
为当前时刻的往后推k+1个时刻的卫星倾角,外推的t+k时刻的倾角差为|s
t+k+1-s0|。当t+k+1时刻的倾角不在控制圆范围内是就给予惩罚。s0为标称轨道的倾角,δrs为倾角保持圆半径,t0为与当前时刻往后推k个时刻距离最近的预期轨控时刻;t1为当前时刻往后推k个时刻,t和k均为大于或等于0的自然数,δ为折扣值,0≤δ≤1。
[0108]
一个策略的优劣取决于长期执行这一策略后的累计奖励,换句话说:可以使用累计奖励来评估策略的好坏,最优策略则表示在初始状态下一直执行该策略后,最后的累计
奖励值最高。本方案设计了长期累计奖励的计算方法——t步累计奖励(即为南北策略奖励函数)定义为公式1:
[0109][0110]
其中r
t
为当前时刻卫星所执行的倾角控制行为在t步后(即t+t时刻、即为初始时刻往后推t个时刻)所获得的累计奖励,δ为折扣值,0≤δ≤1,δk表示离初始状态越远的状态对累计奖励的影响越小。
[0111]
s5:将当前时刻卫星倾角、卫星执行的倾角控制行为、累计奖励和下一时刻卫星倾角作为一组卫星组合状态数据组存入经验池中。
[0112]
s6:从经验池中取出多组卫星组合状态数据组,根据目标卷积层权重参数、目标优势函数网络的参数、目标状态值函数网络的参数计算每个卫星组合状态数据组的目标值。
[0113]
卫星组合状态数据组的数量为m,m为大于0的自然数,且m小于卫星训练状态数据组的数量。m组卫星组合状态数据组为小批量的卫星组合状态数据组。卫星组合状态数据组的数量根据卫星训练状态数据组的数量确定。
[0114]
所述根据目标卷积层权重参数、目标优势函数网络的参数、目标状态值函数网络的参数计算每个卫星组合状态数据组的目标值的方法采用公式2:
[0115][0116]
其中,yj表示目标值,γ为折扣值(衰减因子),θ

为目标卷积层权重参数,θ为当前卷积层权重参数,α为当前优势函数网络的参数,α

为目标优势函数网络的参数,β为当前状态值函数网络的参数,β

为目标状态值函数网络的参数,表示一组卫星组合状态数据组中的下一时刻卫星执行倾角控制行为a后得到的q值,表示选择能使一组卫星组合状态数据组中的下一时刻卫星执行倾角控制行为a后得到的最大q值所对应的倾角控制行为,s
j+1
表示一组卫星组合状态数据组中的下一时刻卫星倾角,a表示卫星执行的倾角控制行为,rj表示一组卫星组合状态数据组中的累计奖励。
[0117]
指的是一个倾角控制行为,该倾角控制行为是该组卫星组合状态数据组的所有下一时刻卫星执行倾角控制行为中的一个,并且执行该倾角控制行为后,得到的q值比该组卫星训练状态数据组的所有下一时刻卫星执行倾角控制行为得到的q值大。
[0118]
得到的q值为目标网络q值;中得到的q值为当前网络q值;目标网络q值和当前网络q值都是神经网络的输出值。
[0119]
公式2将动作(倾角控制行为)选择和策略评估分开进行,使用当前神经网络的参数θ、α、β来选择最优动作,使用目标神经网络的参数θ

、α

、β

来评估最优倾角控制行为,从而解决dqn和naturedqn算法过度估计的问题。同时,duelingdqn将单流q网络分成上子网络和下子网络两个子网络。上子网络仅仅与状态有关而与动作无关,定义为状态值函数网络,
记为v(s;θ,β);下子网络定义为优势函数网络,记为a(s,a;θ,α),该部分与状态和倾角控制行为都有关。状态值函数子网络和优势函数子网络有相同的输入和共同参数β和α。duelingdqn网络最终输出是两个子网络输出的线性组合:
[0120][0121]
其中,θ是神经网络中卷积层的参数,α是网络全连接层中优势函数参数,β是网络全连接层中状态值函数参数,|a|代表了可选择动作的个数。
[0122]
使任务终止即为模型收敛或迭代完成。当s
j+1
为模型收敛或迭代完成时,yi等于rj;当s
j+1
不为模型收敛或迭代完成时,yi等于
[0123]
模型收敛的条件为:损失函数计算出来的误差在指定范围内。
[0124]
迭代完成的条件为:执行完所有步骤。
[0125]
s7:根据损失函数计算误差,并更新当前卷积层权重参数、当前优势函数网络的参数和当前状态值函数网络的参数。
[0126]
还根据目标值计算误差。
[0127]
损失函数采用公式3:
[0128][0129]
其中,yj表示目标值,q(sj,aj;θ,α,β)表示一组卫星组合状态数据组中的当前时刻卫星执行倾角控制行为aj后的q值,sj表示一组卫星组合状态数据组中的当前时刻卫星倾角,aj表示当前时刻卫星执行的倾角控制行为,rj表示一组卫星组合状态数据组中的奖励;m为卫星组合状态数据组的数量;α为当前卷积层权重参数,α为当前优势函数网络的参数,β为当前状态值函数网络的参数。
[0130]
误差即为损失函数采用公式3的计算结果。
[0131]
当前卷积层权重参数、当前优势函数网络的参数和当前状态值函数网络的参数通过随机梯度下降法(sgd)进行更新。
[0132]rt
、a
t
、s
t
、s
t+1
表示卫星训练状态数据组的数据集中的样本,rj、aj、sj、s
j+1
表示经验池中的样本。
[0133]
步骤s5-s7对模型的参数进行调整,能够让模型的计算准确度更高。
[0134]
s8:根据值函数更新q值,将下一时刻卫星倾角作为当前时刻卫星倾角。
[0135]
根据值函数更新q值的方法采用公式4:
[0136]
q(s
t
,a
t
)

q(s
t
,a
t
)+w[r
t
+γmaxq(s
t+1
,a
t
)-q(s
t
,a
t
)]
ꢀꢀ
(4);
[0137]
其中,箭头左侧的q(s
t
,a
t
)表示更新后的当前时刻的卫星执行倾角控制行为a
t
后的q值,箭头右侧的q(s
t
,a
t
)表示更新前的当前时刻的卫星执行倾角控制行为a
t
后的q值,q(s
t+1
,a
t
)表示更新前的当前时刻的下一时刻的卫星执行倾角控制行为a
t
后的q值,w为权重,γ为折扣值(衰减因子),s
t
表示当前时刻卫星倾角(t时刻卫星倾角),a
t
表示当前时刻卫星执行的倾角控制行为,s
t+1
表示当前时刻的下一时刻卫星倾角,r
t
表示累计奖励。
[0138]
其中w和γ的范围都在0~1之间。
[0139]
s9:重复执行步骤s3-s8,执行步骤s3-s8的次数等于该组卫星训练状态数据组的
预期轨控次数;每重复执行指定迭代次数的步骤s3-s8后,分别根据当前卷积层权重参数、当前优势函数网络的参数和当前状态值函数网络的参数更新目标卷积层权重参数、目标优势函数网络的参数和目标状态值函数网络的参数。
[0140]
完成指定迭代次数的迭代后,分别将目标卷积层权重参数、目标优势函数网络的参数和目标状态值函数网络的参数更新为当前卷积层权重参数、当前优势函数网络的参数和当前状态值函数网络的参数。
[0141]
s10:重复执行步骤s2-s9,直到输入完所有卫星训练状态数据组的数据。
[0142]
本方案的建模方法以卫星倾角数据作为神经网络模型的输入,产生的回报值作为输出,采用dueling dqn神经网络,不同于dqn、nature dqn、double dqn算法是通过优化目标q值的计算来优化算法,dueling dqn算法从改造神经网络结构角度来优化算法,得到精确的q值估计,获得更稳定有效的策略。本方案不需要利用卫星在轨道运行过程中受到的各种摄动力进行复杂的建模,直接采用深度强化学习来进行学习和决策,基于dqn算法进行改进适用于训练大规模的神经网络且极大提高了dqn算法的稳定性,不仅能够得到最优的南北控制策略,而且能够减少卫星燃料的消耗这对实际的航天应用具有重要的意义和价值。
[0143]
根据本发明的第二个具体实施方式,本发明提供一种基于dueling dqn的卫星南北保持策略模型,采用第一个实施方式的基于dueling dqn的卫星南北保持策略模型的建模方法建立模型。
[0144]
根据本发明的第三个具体实施方式,本发明提供一种卫星南北保持最优策略的获取方法,采用第一个实施方式的基于dueling dqn的卫星南北保持策略模型的建模方法建立基于dueling dqn的卫星南北保持策略模型;
[0145]
根据该模型得到最优策略。
[0146]
根据该模型得到最优策略的方法采用公式5:
[0147][0148]
其中,π表示卫星进行倾角控制的策略,π
*
表示通过模型学习到的最优的倾角控制策略,即卫星在初始时刻卫星倾角为s的情况下经过策略π
*
的倾角控制行为a下产生最大的回报。
[0149]
根据本发明的第四个具体实施方式,本发明提供一种电子设备,如图2所示,图2是根据一示例性实施例示出的一种电子设备的框图。
[0150]
下面参照图2来描述根据本技术的这种实施方式的电子设备200。图2显示的电子设备200仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0151]
如图2所示,电子设备200以通用计算设备的形式表现。电子设备200的组件可以包括但不限于:至少一个处理单元210、至少一个存储单元220、连接不同系统组件(包括存储单元220和处理单元210)的总线230、显示单元240等。
[0152]
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元210执行,使得所述处理单元210执行本说明书中描述的根据本技术各种示例性实施方式的步骤。例如,所述处理单元210可以执行如图1中所示的步骤。
[0153]
所述存储单元220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)2201和/或高速缓存存储单元2202,还可以进一步包括只读存储单元(rom)2203。
[0154]
所述存储单元220还可以包括具有一组(至少一个)程序模块2205的程序/实用工具2204,这样的程序模块2205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0155]
总线230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0156]
电子设备200也可以与一个或多个外部设备200’(例如键盘、指向设备、蓝牙设备等)通信,使得用户能与该电子设备200交互的设备通信,和/或该电子设备200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口250进行。并且,电子设备200还可以通过网络适配器260与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。网络适配器260可以通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0157]
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。
[0158]
因此,根据本发明的第五个具体实施方式,本发明提供一种计算机可读介质。如图3所示,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本发明实施方式的上述方法。
[0159]
所述软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0160]
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0161]
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网
(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0162]
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现第一个实施方式的功能。
[0163]
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0164]
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本发明实施例的方法。
[0165]
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1