一种TD3软强化学习航天器姿态控制方法及计算机可读介质与流程
未命名
09-29
阅读:98
评论:0
一种td3软强化学习航天器姿态控制方法及计算机可读介质
技术领域
1.本发明属于航天器姿态控制技术领域,尤其涉及一种td3软强化学习航天器姿态控制方法及计算机可读介质。
背景技术:
2.航天器姿态控制是航天工程中的一项关键技术,它涉及管理和调整航天器在轨道运行过程中的姿态,以便满足预定的姿态和角速度要求。航天器的姿态控制对于实现精确的轨道运行、执行有效的通信、确保有效的能源利用以及满足其他任务要求至关重要。航天器姿态控制系统主要包括传感器、执行器和控制算法三个部分。传感器用于实时监测航天器的姿态信息,如角度和角速度;执行器负责执行控制指令,如控制反作用轮、磁力器或推进器;控制算法则负责根据传感器提供的姿态信息生成控制指令,以实现预定的姿态目标。传统的航天器姿态控制方法主要包括比例-积分-微分(pid)控制器、模糊控制器和自适应控制器等。这些方法在稳定性和鲁棒性方面具有一定的优势,但在面对复杂环境和不确定性时,它们的性能可能受到限制。随着深度强化学习(drl)等先进技术的发展,越来越多的研究者开始探讨如何利用这些技术提高航天器姿态控制的性能。
3.drl是一种结合了深度学习和强化学习的技术,能够在复杂环境中进行端到端的学习和决策。近年来,drl在许多领域取得了显著的成功,特别是在连续控制任务上展示了其优越性。将drl应用于航天器姿态控制任务可以充分利用其在线学习能力,实现更高效、更灵活的性能。通过引入先进的drl算法,如td3、sac等,航天器姿态控制系统可以在复杂和动态环境中实现更高的适应性和性能。
4.现有方法如td3、sac算法在应用于航天器姿态控制过程中通常会存在训练效果不好、训练速度慢、稳定性差、收敛精度不高等问题。
技术实现要素:
5.为了解决直接应用sac和td3算法时可能对面临的性能不佳和需要较长训练时间的问题,本发明提出了一种td3软强化学习航天器姿态控制方法及计算机可读介质。。
6.为了解决上述技术问题,本发明是通过以下技术方案实现的:
7.一种td3软强化学习航天器姿态控制方法,包括以下步骤:
8.步骤1:构建改进的td3-sac算法网络,获取当前时刻航天器姿态的状态数据,将当前时刻航天器姿态的状态数据输入至改进的td3-sac算法网络,通过改进的td3-sac算法网络生成当前时刻航天器的控制动作,将当前时刻航天器姿态的状态数据、当前时刻航天器的控制动作通过龙格库塔数值分析方法计算,得到下一时刻航天器姿态的状态数据;
9.步骤2:获取当前时刻航天器姿态的状态数据、当前时刻航天器的控制动作,通过改进的奖励函数模型计算得到当前时刻的奖励值;
10.步骤3:目标网络根据当前时刻航天器姿态的状态数据、当前时刻航天器的控制动作、下一时刻航天器姿态的状态数据以及当前时刻的奖励值,分别更新策略网络、改进的价
值网络;
11.作为优选,步骤1所述改进的td3-sac算法网络包括:策略网络、动作生成模块、改进的价值网络、目标网络;
12.所述策略网络,根据所述当前时刻航天器姿态的状态数据,生成当前时刻航天器的策略控制动作,所述当前时刻航天器的策略控制动作,定义如下:
13.a
t,1
14.t∈[1,k]
[0015]
其中,a
t,1
表示t时刻航天器的策略控制动作,k表示时刻的数量;
[0016]
所述当前时刻航天器姿态的状态数据包括:
[0017]
当前时刻航天器姿态的误差数据、当前时刻航天器姿态的误差数据的导数、当前时刻航天器的角速度;
[0018]
所述动作生成模块,由td3算法网络构成,根据所述当前时刻航天器姿态的状态数据,生成当前时刻航天器的td3控制动作,定义如下:
[0019]at,2
[0020]
t∈[1,k]
[0021]
其中,a
t,2
表示t时刻航天器的td3控制动作,k表示时刻的数量;
[0022]
所述改进的价值网络,将当前时刻航天器姿态的状态数据、当前时刻航天器的策略控制动作通过计算,得到前时刻航天器的策略控制动作的价值,具体计算过程如下:
[0023][0024]
其中,表示sac的价值网络,s
t
表示当前时刻状态数据,a
t,1
表示当前时刻航天器的策略控制动作。
[0025]
所述改进的价值网络,将当前时刻航天器姿态的状态数据、当前时刻航天器的td3控制动作通过计算,得到前时刻航天器的td3控制动作的价值,具体计算过程如下:
[0026][0027]
其中,表示sac的价值网络,s
t
表示当前时刻状态数据,a
t,2
表示当前时刻航天器的td3控制动作。
[0028]
所述价值网络根据ε-贪婪策略,有ε的概率选择当前时刻航天器的策略控制动作的价值、当前时刻航天器的td3控制动作的价值中价值较高对应的控制动作,作为当前时刻航天器的控制动作,有1-ε的概率随机选择当前时刻航天器的策略控制动作或者当前时刻航天器的td3控制动作作为当前时刻航天器的控制动作;
[0029]
所述目标网络用于更新策略网络、改进的价值网络;
[0030]
作为优选,步骤2所述获取当前时刻航天器姿态的状态数据是根据上一时刻的航天器姿态的状态数据根据龙格库塔法计算获取。
[0031]
步骤2所述通过改进的奖励函数模型计算得到当前时刻的奖励值,具体如下:
[0032]
[0033]
其中,ka表示动作系数,a表示控制动作,||
·
||2表示2范数计算,q
e,new
表示当前时刻的误差四元数向量,θa表示角度阈值,qe表示上一时刻的误差四元数,if表示若满足条件,elif若满足另外条件,else除前述条件之外;
[0034]
本发明还提供了一种计算机可读介质,所述计算机可读介质存储电子设备执行的计算机程序,当所述计算机程序在电子设备上运行时,执行所述td3软强化学习航天器姿态控制方法的步骤。
[0035]
与现有技术相比,本发明的有益之处是:
[0036]
本发明结合了td3和sac两种算法,利用ε-greedy策略高效地结合了td3和sac的优势,充分利用了两种算法的探索和利用特性,选择更优的动作,然后通过共享缓冲区进行学习,在节省了计算资源的同时,也能够实现更高效的学习和更快的收敛速度,从而提高航天器姿态控制性能,缩短航天器姿态控制稳定时间。
附图说明
[0037]
图1:本发明实施例的方法流程图;
[0038]
图2:本发明实施例的智能体训练过程对比图。
具体实施方式
[0039]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0040]
具体实施时,本发明技术方案提出的方法可由本领域技术人员采用计算机软件技术实现自动运行流程,实现方法的系统装置例如存储本发明技术方案相应计算机程序的计算机可读存储介质以及包括运行相应计算机程序的计算机设备,也应当在本发明的保护范围内。
[0041]
下面结合图1-2介绍本发明的具体实施方式为一种td3软强化学习航天器姿态控制方法,具体过程如下:
[0042]
步骤1:构建改进的td3-sac算法网络,获取当前时刻航天器姿态的状态数据,将当前时刻航天器姿态的状态数据输入至改进的td3-sac算法网络,通过改进的td3-sac算法网络生成当前时刻航天器的控制动作,将当前时刻航天器姿态的状态数据、当前时刻航天器的控制动作通过龙格库塔数值分析方法计算,得到下一时刻航天器姿态的状态数据;
[0043]
步骤1所述改进的td3-sac算法网络包括:策略网络、动作生成模块、改进的价值网络、目标网络;
[0044]
所述策略网络,根据所述当前时刻航天器姿态的状态数据,生成当前时刻航天器的策略控制动作,所述当前时刻航天器的策略控制动作,定义如下:
[0045]at,1
[0046]
t∈[1,k]
[0047]
其中,a
t,1
表示t时刻航天器的策略控制动作,k表示时刻的数量;
[0048]
所述当前时刻航天器姿态的状态数据包括:
[0049]
当前时刻航天器姿态的误差数据、当前时刻航天器姿态的误差数据的导数、当前时刻航天器的角速度;
[0050]
所述动作生成模块,由td3算法网络构成,根据所述当前时刻航天器姿态的状态数据,生成当前时刻航天器的td3控制动作,定义如下:
[0051]at,2
[0052]
t∈[1,k]
[0053]
其中,a
t,2
表示t时刻航天器的td3控制动作,k表示时刻的数量;
[0054]
所述改进的价值网络,将当前时刻航天器姿态的状态数据、当前时刻航天器的策略控制动作通过计算,得到前时刻航天器的策略控制动作的价值,具体计算过程如下:
[0055][0056]
其中,表示sac的价值网络,s
t
表示当前时刻状态数据,a
t,1
表示当前时刻航天器的策略控制动作。
[0057]
所述改进的价值网络,将当前时刻航天器姿态的状态数据、当前时刻航天器的td3控制动作通过计算,得到前时刻航天器的td3控制动作的价值,具体计算过程如下:
[0058][0059]
其中,表示sac的价值网络,s
t
表示当前时刻状态数据,a
t,2
表示当前时刻航天器的td3控制动作。
[0060]
所述价值网络根据ε-贪婪策略,有ε的概率选择当前时刻航天器的策略控制动作的价值、当前时刻航天器的td3控制动作的价值中价值较高对应的控制动作,作为当前时刻航天器的控制动作,有1-ε的概率随机选择当前时刻航天器的策略控制动作或者当前时刻航天器的td3控制动作作为当前时刻航天器的控制动作;
[0061]
所述目标网络用于更新策略网络、改进的价值网络;
[0062]
步骤2:获取当前时刻航天器姿态的状态数据、当前时刻航天器的控制动作,通过改进的奖励函数模型计算得到当前时刻的奖励值;
[0063]
步骤2所述获取当前时刻航天器姿态的状态数据是根据上一时刻的航天器姿态的状态数据根据龙格库塔法计算获取。
[0064]
步骤2所述通过改进的奖励函数模型计算得到当前时刻的奖励值,具体如下:
[0065][0066]
其中,ka表示动作系数,在本实例中取0.2;a表示控制动作;||
·
||2表示2范数计算;q
e,new
表示当前时刻的误差四元数向量;θa表示角度阈值,在本实例中取0.99962;qe表示上一时刻的误差四元数,if表示若满足条件,elif若满足另外条件,else除前述条件之外;
[0067]
步骤3:目标网络根据当前时刻航天器姿态的状态数据、当前时刻航天器的控制动作、下一时刻航天器姿态的状态数据以及当前时刻的奖励值,分别更新策略网络、改进的价值网络;
[0068]
图2的仿真结果,验证了本发明的控制方法,在相同条件下,该方法的训练速度相
比于使用sac控制方法快了近100集,且在达到收敛后奖励值稳定在280左右,相比于td3和sac方法收敛精度更高且更加稳定。
[0069]
且如下表所示,在具有相同初始条件如q0=[0,1,0,0]
t
,ω=[0,0,0]
t
时,对下面三种方法进行仿真实验,可以得到收敛到目标四元数以及目标角速度的时间对比如下表1所示:
[0070]
表1:收敛时间对比表
[0071]
pd控制器td3软强化学习控制方法sac控制方法10s5s7s
[0072]
本发明的具体实施例还提供了一种计算机可读介质。
[0073]
所述计算机可读介质为服务器工作站;
[0074]
所述服务器工作站存储电子设备执行的计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行本发明实施例的td3软强化学习航天器姿态控制方法的步骤。
[0075]
应当理解的是,本说明书未详细阐述的部分均属于现有技术。
[0076]
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
技术特征:
1.一种td3软强化学习航天器姿态控制方法,其特征在于:构建改进的td3-sac算法网络,通过改进的td3-sac算法网络生成当前时刻航天器的控制动作,通过龙格库塔数值分析方法计算,得到下一时刻航天器姿态的状态数据;通过改进的奖励函数模型计算得到当前时刻的奖励值;目标网络结合当前时刻的奖励值,分别更新策略网络、改进的价值网络。2.根据权利要求1所述的td3软强化学习航天器姿态控制方法,其特征在于,包括以下步骤:步骤1:构建改进的td3-sac算法网络,获取当前时刻航天器姿态的状态数据,将当前时刻航天器姿态的状态数据输入至改进的td3-sac算法网络,通过改进的td3-sac算法网络生成当前时刻航天器的控制动作,将当前时刻航天器姿态的状态数据、当前时刻航天器的控制动作通过龙格库塔数值分析方法计算,得到下一时刻航天器姿态的状态数据;步骤2:获取当前时刻航天器姿态的状态数据、当前时刻航天器的控制动作,通过改进的奖励函数模型计算得到当前时刻的奖励值;步骤3:目标网络根据当前时刻航天器姿态的状态数据、当前时刻航天器的控制动作、下一时刻航天器姿态的状态数据以及当前时刻的奖励值,分别更新策略网络、改进的价值网络。3.根据权利要求2所述的td3软强化学习航天器姿态控制方法,其特征在于:步骤1所述改进的td3-sac算法网络包括:策略网络、动作生成模块、改进的价值网络、目标网络。4.根据权利要求3所述的td3软强化学习航天器姿态控制方法,其特征在于:所述策略网络,根据所述当前时刻航天器姿态的状态数据,生成当前时刻航天器的策略控制动作,所述当前时刻航天器的策略控制动作,定义如下:a
t,1
t∈[1,k]其中,a
t,1
表示t时刻航天器的策略控制动作,k表示时刻的数量;所述当前时刻航天器姿态的状态数据包括:当前时刻航天器姿态的误差数据、当前时刻航天器姿态的误差数据的导数、当前时刻航天器的角速度。5.根据权利要求4所述的td3软强化学习航天器姿态控制方法,其特征在于:所述动作生成模块,由td3算法网络构成,根据所述当前时刻航天器姿态的状态数据,生成当前时刻航天器的td3控制动作,定义如下:a
t,2
t∈[1,k]其中,a
t,2
表示t时刻航天器的td3控制动作,k表示时刻的数量。6.据权利要求5所述的td3软强化学习航天器姿态控制方法,其特征在于:所述改进的价值网络,将当前时刻航天器姿态的状态数据、当前时刻航天器的策略控制动作通过计算,得到前时刻航天器的策略控制动作的价值,具体计算过程如下:
其中,表示sac的价值网络,s
t
表示当前时刻状态数据,a
t,1
表示当前时刻航天器的策略控制动作;所述改进的价值网络,将当前时刻航天器姿态的状态数据、当前时刻航天器的td3控制动作通过计算,得到前时刻航天器的td3控制动作的价值,具体计算过程如下:其中,表示sac的价值网络,s
t
表示当前时刻状态数据,a
t,2
表示当前时刻航天器的td3控制动作;所述价值网络根据ε-贪婪策略,有ε的概率选择当前时刻航天器的策略控制动作的价值、当前时刻航天器的td3控制动作的价值中价值较高对应的控制动作,作为当前时刻航天器的控制动作,有1-ε的概率随机选择当前时刻航天器的策略控制动作或者当前时刻航天器的td3控制动作作为当前时刻航天器的控制动作;所述目标网络用于更新策略网络、改进的价值网络。7.根据权利要求6所述的td3软强化学习航天器姿态控制方法,其特征在于:步骤2所述获取当前时刻航天器姿态的状态数据是根据上一时刻的航天器姿态的状态数据根据龙格库塔法计算获取;步骤2所述通过改进的奖励函数模型计算得到当前时刻的奖励值,具体如下:其中,k
a
表示动作系数,a表示控制动作,||
·
||2表示2范数计算,q
e,new
表示当前时刻的误差四元数向量,θ
a
表示角度阈值,q
e
表示上一时刻的误差四元数,if表示若满足条件,elif若满足另外条件,else除前述条件之外。8.一种计算机可读介质,其特征在于,其存储电子设备执行的计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1-7任一项所述方法的步骤。
技术总结
本发明提出了一种TD3软强化学习航天器姿态控制方法及计算机可读介质。本发明构建改进的TD3-SAC算法网络,通过改进的TD3-SAC算法网络生成当前时刻航天器的控制动作,将当前时刻航天器姿态的状态数据、当前时刻航天器的控制动作通过龙格库塔数值分析方法计算,得到下一时刻航天器姿态的状态数据;通过改进的奖励函数模型计算得到当前时刻的奖励值;目标网络根据当前时刻航天器姿态的状态数据、当前时刻航天器的控制动作、下一时刻航天器姿态的状态数据以及当前时刻的奖励值,分别更新策略网络、改进的价值网络。本发明通过共享缓冲区进行学习,在节省了计算资源的同时,也能够实现更高效的学习和更快的收敛速度,从而提升航天器姿态控制性能。态控制性能。态控制性能。
技术研发人员:黄頔 朱泽昆 左玉弟 王志富 曾国强 高玉东 李志军
受保护的技术使用者:湖北珞珈实验室
技术研发日:2023.06.14
技术公布日:2023/9/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/