CN117666616A - 一种基于sac强化学习算法的高速飞行器集群编队控制方法及系统 - Google Patents
一种基于sac强化学习算法的高速飞行器集群编队控制方法及系统 Download PDFInfo
- Publication number
- CN117666616A CN117666616A CN202311709906.6A CN202311709906A CN117666616A CN 117666616 A CN117666616 A CN 117666616A CN 202311709906 A CN202311709906 A CN 202311709906A CN 117666616 A CN117666616 A CN 117666616A
- Authority
- CN
- China
- Prior art keywords
- aircraft
- speed
- target
- state
- representing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000015572 biosynthetic process Effects 0.000 title claims abstract description 89
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000002787 reinforcement Effects 0.000 title claims abstract description 47
- 230000006870 function Effects 0.000 claims abstract description 110
- 230000009471 action Effects 0.000 claims abstract description 67
- 238000012549 training Methods 0.000 claims abstract description 56
- 230000008859 change Effects 0.000 claims abstract description 10
- 230000007613 environmental effect Effects 0.000 claims abstract description 8
- 238000013461 design Methods 0.000 claims abstract description 5
- 230000008569 process Effects 0.000 claims description 25
- 239000003795 chemical substances by application Substances 0.000 claims description 24
- 239000013598 vector Substances 0.000 claims description 23
- 238000011217 control strategy Methods 0.000 claims description 16
- 238000012423 maintenance Methods 0.000 claims description 15
- 238000005070 sampling Methods 0.000 claims description 15
- 238000013459 approach Methods 0.000 claims description 9
- 230000001133 acceleration Effects 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 6
- CLOMYZFHNHFSIQ-UHFFFAOYSA-N clonixin Chemical compound CC1=C(Cl)C=CC=C1NC1=NC=CC=C1C(O)=O CLOMYZFHNHFSIQ-UHFFFAOYSA-N 0.000 claims description 3
- 238000012937 correction Methods 0.000 abstract description 2
- 238000005755 formation reaction Methods 0.000 description 66
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 241000238097 Callinectes sapidus Species 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012887 quadratic function Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Feedback Control In General (AREA)
Abstract
本发明公开了一种基于SAC强化学习算法的高速飞行器集群编队控制方法及系统,涉及协同编队控制技术领域,以解决高速飞行器集群编队控制中飞行器飞行速度快、环境参数变化剧烈导致的集群控制困难问题。本发明的技术要点包括:采集观测数据,确定高速飞行器的观测空间和动作空间;训练基于SAC强化学习算法的高速飞行器智能体网络;利用训练好的高速飞行器智能体网络进行飞行器集群编队控制。本发明在奖励函数的设计中充分考虑不同任务,并通过参数修正来权衡不同任务的重要程度,丰富了飞行器的任务执行种类与执行任务的能力;能够在高速飞行器面临高动态环境的情况下,保障高速飞行器集群的智能编队,开展大规模高速飞行器集群飞行。
Description
技术领域
本发明涉及飞行器协同编队控制技术领域,具体涉及一种基于SAC强化学习算法的高速飞行器集群编队控制方法及系统。
背景技术
在高速飞行器的集群飞行任务中,如何实现高速环境下的编队控制是一个关键问题。传统的飞行器编队控制方法依赖于事先设计的控制策略,以领队-跟随控制法、虚拟结构控制法、行为控制法、一致性编队控制法这四类为典型代表,均根据飞行器集群的某一些状态量计算误差,并控制误差值减小至零,实现预期的编队效果。其中,编队控制的响应速度、精度取决于控制策略参数,同时根据不同的飞行环境需要修正参数以实现更好的控制效果。
然而,对于高速飞行器集群这类高动态飞行环境、强时变气动参数的飞行器集群而言,上述传统的编队控制方式不能适应如此复杂环境下的编队控制。这主要是因为高速飞行器集群在飞行过程中状态、环境均变化剧烈,无法针对每个状态设计对应的最优控制参数。
发明内容
为此,不考虑传统事先设计的控制策略,本发明提出了一种基于软演员评论家(Soft Actor-Critic,SAC)强化学习算法的高速飞行器集群编队控制方法及系统,用以解决现有基于固定参数控制策略的编队控制在高动态环境下失效的问题。
根据本发明的一方面,提出一种基于SAC强化学习算法的高速飞行器集群编队控制方法,该方法包括以下步骤:
采集观测数据,确定高速飞行器集群的观测空间和动作空间;
基于观测数据训练基于SAC强化学习算法的高速飞行器智能体网络;
利用训练好的高速飞行器智能体网络进行飞行器集群编队控制。
进一步地,所述观测数据包括集群状态、障碍状态、目标状态、自身状态;所述集群状态包括某一飞行器相对周围其他飞行器的相对位置和相对速度;所述障碍状态包括飞行器与障碍物中心的相对位置;所述目标状态包括目标相对于飞行器的相对位置和相对速度;所述自身状态包括飞行器自身的加速度、速度及位置;所述动作空间中动作量为过载指令。
进一步地,所述训练基于SAC强化学习算法的高速飞行器智能体网络的过程包括:
初始化策略网络参数θ,策略值函数网络函数φ1和φ2,经验池D;设置值函数的目标网络参数φtarg1、φtarg2分别与参数φ1、φ2相同;按照下述过程迭代重复执行训练:
观测环境状态s,根据控制策略输出控制指令a~πθ(·|s);在环境中执行动作a;
观测下一个状态s',反馈的奖励r以及回合结束标志位d;将经验组(s,a,r,s',d)储存到经验池D;s代表状态,a代表动作,r代表奖励,s'代表下一个状态,d代表回合结束标志位;若回合结束则初始化环境状态;若达到更新周期则执行下述步骤:
从经验池D中随机采样一组经验,表示为B={(s,a,r,s',d)};通过下式计算值函数的真值估计:
式中,γ∈[0,1]表示折扣率;表示目标网络参数下的动作价值函数;α表示权衡系数;表示该状态s下不同动作的策略分布,用以计算熵;
通过最小化以下损失函数更新值函数网络参数φi:
式中,表示动作价值函数;
通过最小化以下损失函数更新集群控制策略网络参数θ:
式中,通过πθ(·|s')采样得到;表示动作价值函数;表示该状态s下不同动作的策略分布;
更新目标网络:φtarg,i←ρφtarg,i+(1-ρ)φi i=1,2;
式中,ρ表示目标网络更新中的一个系数,该系数越大,目标网络变化越小,算法收敛速度越慢;φtarg,i表示目标网络参数。
进一步地,基于SAC强化学习算法的高速飞行器智能体网络中设计如下奖励函数:编队保持奖励、障碍规避奖励、目标接近奖励。
进一步地,编队保持奖励表示为:
式中,rfKeepV表示相对速度保持奖励;rfKeepP表示相对位置保持奖励;kfKeepV表示相对速度保持奖励系数;kfKeepP表示相对位置保持奖励系数;dV表示飞行器与周围通信范围内飞行器的速度偏差;VfKeepV表示无量纲化系数,将速度偏差无量纲化;dRij表示飞行器i与周围j单元的距离偏差;RfKeepP表示无量纲化系数,将距离偏差无量纲化。
进一步地,当飞行器与障碍区外表面距离大于安全距离时,障碍规避奖励表示为:
式中,kobsAvoidS表示半球形障碍区域规避奖励系数;dobsSafe表示障碍区安全距离;ΔRmToObs表示飞行器与障碍区的相对位置向量减去障碍区的半径向量;
当飞行器与障碍区外表面距离小于安全距离时,障碍规避奖励表示为robsAvoidS和robsAvoidG两部分的和:
式中,kobsDangerS表示一常值负系数,也代表一常值奖励;h表示飞行器高度,kobsDangerG表示地面障碍负值奖励系数;hsafe表示安全飞行高度。
进一步地,目标接近奖励包括目标接近奖励rtoTgtP和目标到达奖励rtoTgtDone:
rtoTgtDone=ktoTgtDone,dmToTgt<ddone
式中,ktoTgtP表示目标接近奖励系数;dmToTgt表示弹目相对位置向量的模长;drange表示初始位置时飞行器与目标的距离;ddone表示判停距离条件,当有飞行器与目标的距离小于该距离时,表示飞行器到达目标,任务结束;ktoTgtDone表示一次性奖励,当飞行器到达目标时,提供该项奖励,该奖励远大于其他奖励。
根据本发明的另一方面,提出一种基于SAC强化学习算法的高速飞行器集群编队控制系统,该系统包括:
数据获取模块,其配置成采集观测数据,确定高速飞行器集群的观测空间和动作空间;所述观测数据包括集群状态、障碍状态、目标状态、自身状态;所述集群状态包括某一飞行器相对周围其他飞行器的相对位置和相对速度;所述障碍状态包括飞行器与障碍物中心的相对位置;所述目标状态包括目标相对于飞行器的相对位置和相对速度;所述自身状态包括飞行器自身的加速度、速度及位置;所述动作空间中动作量为过载指令;
模型训练模块,其配置成基于观测数据训练基于SAC强化学习算法的高速飞行器智能体网络;
编队控制模块,其配置成利用训练好的高速飞行器智能体网络进行飞行器集群编队控制。
进一步地,所述模型训练模块中所述训练基于SAC强化学习算法的高速飞行器智能体网络的过程包括:
初始化策略网络参数θ,策略值函数网络函数φ1和φ2,经验池D;设置值函数的目标网络参数φtarg1、φtarg2分别与参数φ1、φ2相同;按照下述过程迭代重复执行训练:
观测环境状态s,根据控制策略输出控制指令a~πθ(·|s);在环境中执行动作a;
观测下一个状态s',反馈的奖励r以及回合结束标志位d;将经验组(s,a,r,s',d)储存到经验池D;s代表状态,a代表动作,r代表奖励,s'代表下一个状态,d代表回合结束标志位;若回合结束则初始化环境状态;若达到更新周期则执行下述步骤:
从经验池D中随机采样一组经验,表示为B={(s,a,r,s',d)};通过下式计算值函数的真值估计:
式中,γ∈[0,1]表示折扣率;表示目标网络参数下的动作价值函数;α表示权衡系数;表示该状态s下不同动作的策略分布,用以计算熵;
通过最小化以下损失函数更新值函数网络参数φi:
式中,表示动作价值函数;
通过最小化以下损失函数更新集群控制策略网络参数θ:
式中,通过πθ(·|s')采样得到;表示动作价值函数;表示该状态s下不同动作的策略分布;
更新目标网络:φtarg,i←ρφtarg,i+(1-ρ)φi i=1,2;
式中,ρ表示目标网络更新中的一个系数,该系数越大,目标网络变化越小,算法收敛速度越慢;φtarg,i表示目标网络参数。
进一步地,所述模型训练模块中所述基于SAC强化学习算法的高速飞行器智能体网络中设计如下奖励函数:编队保持奖励、障碍规避奖励、目标接近奖励。
本发明的有益技术效果是:
本发明通过飞行器集群与环境的交互以学习得到控制策略,能够根据状态、环境的变化自动调整控制参数,并做出机动,代替原本固定的编队控制策略,极大提高了高速飞行器集群的编队控制能力。利用SAC强化学习算法训练高速飞行器,实现有障碍环境下的飞行器集群编队控制,采用强化学习算法实现的智能编队控制有如下优势:1)飞行器在虚拟环境中进行了大量试错仿真,探索了尽可能多的飞行状态,能在不同的环境下做出不同的决策,提高应对环境的能力;2)在奖励函数的设计中可以充分考虑不同的任务,并通过参数的修正来权衡不同任务的重要程度,丰富了飞行器的任务执行种类与执行任务的能力。
本发明能够在高速飞行器面临高动态环境的情况下,保障高速飞行器集群的智能编队,开展大规模高速飞行器集群飞行。
附图说明
本发明可以通过参考下文并结合附图所给出的描述而得到更好的理解,所述附图连同下面的详细说明一起包含在本说明书中并形成本说明书的一部分,且进一步举例说明本发明的原理及优点。
图1是本发明实施例所述的基于SAC强化学习算法的高速飞行器集群编队控制方法的流程图。
图2是本发明实施例中高速飞行器训练框架示意图。
图3是本发明实施例中策略神经网络示意图。
图4是本发明实施例中值函数网络示意图。
图5是本发明实施例中训练场景示意图。
图6是本发明实施例中训练过程奖励值曲线示意图。
图7是本发明实施例中训练场景高速飞行器集群飞行路径示意图。
图8是本发明实施例中复杂环境高速飞行器集群飞行路径示意图。
具体实施方式
为了使本技术领域人员更好地理解本发明方案,下文将结合附图对本发明内容的具体实施方式进行阐述。显然,所阐述地方式仅仅为本发明地一部分方式。基于本发明中地实施方式,本领域普通技术人员在没有做出创造性劳动的前提下所获得的其他实施方式,都应当属于本发明保护的范围。
为了实现高速环境下的飞行器集群编队控制,本发明提出了一种基于SAC强化学习算法的高速飞行器集群编队控制方法及系统。本发明采用集中式训练与分布式执行。首先建立高速飞行器智能体的训练网络;以协同打击、编队保持、障碍规避这三类任务为典型目标,设计其观测空间、动作空间;其次考虑飞行器间、飞行器与目标、飞行器与障碍物间的相对位置速度关系设计奖励函数;最后基于python环境建立仿真场景,完成飞行器集群的训练与测试,通过多种随机环境进行编队控制性能的测试。
本发明实施例提出一种基于SAC强化学习算法的高速飞行器集群编队控制方法,该方法包括以下步骤:
步骤一、采集观测数据,确定高速飞行器集群的观测空间和动作空间;所述观测数据包括集群状态、障碍状态、目标状态、自身状态;所述集群状态包括某一飞行器相对周围其他飞行器的相对位置和相对速度;所述障碍状态包括飞行器与障碍物中心的相对位置;所述目标状态包括目标相对于飞行器的相对位置和相对速度;所述自身状态包括飞行器自身的加速度、速度及位置;所述动作空间中动作量为过载指令;
步骤二、基于观测数据训练基于SAC强化学习算法的高速飞行器智能体网络;
步骤三、利用训练好的高速飞行器智能体网络进行飞行器集群编队控制。
本实施例中,优选地,所述训练基于SAC强化学习算法的高速飞行器智能体训练网络的过程包括:
初始化策略网络参数θ,策略值函数网络函数φ1和φ2,经验池D;设置值函数的目标网络参数φtarg1、φtarg2分别与参数φ1、φ2相同;按照下述过程迭代重复执行训练:
观测环境状态s,根据控制策略输出控制指令a~πθ(·|s);在环境中执行动作a;
观测下一个状态s',反馈的奖励r以及回合结束标志位d;将经验组(s,a,r,s',d)储存到经验池D;s代表状态,a代表动作,r代表奖励,s'代表下一个状态,d代表回合结束标志位;若回合结束则初始化环境状态;若达到更新周期则执行下述步骤:
从经验池D中随机采样一组经验,表示为B={(s,a,r,s',d)};通过下式计算值函数的真值估计:
式中,γ∈[0,1]表示折扣率;表示目标网络参数下的动作价值函数;α表示权衡系数;表示该状态s下不同动作的策略分布,用以计算熵;
通过最小化以下损失函数更新值函数网络参数φi:
式中,表示动作价值函数;
通过最小化以下损失函数更新集群控制策略网络参数θ:
式中,通过πθ(·|s')采样得到;表示动作价值函数;表示该状态s下不同动作的策略分布;
更新目标网络:φtarg,i←ρφtarg,i+(1-ρ)φi i=1,2;
式中,ρ表示目标网络更新中的一个系数,该系数越大,目标网络变化越小,算法收敛速度越慢;φtarg,i表示目标网络参数。
本实施例中,优选地,基于SAC强化学习算法的高速飞行器智能体训练网络中设计如下奖励函数:编队保持奖励、障碍规避奖励、目标接近奖励。
本实施例中,优选地,编队保持奖励表示为:
式中,rfKeepV表示相对速度保持奖励;rfKeepP表示相对位置保持奖励;kfKeepV表示相对速度保持奖励系数;kfKeepP表示相对位置保持奖励系数;dV表示飞行器与周围通信范围内飞行器的速度偏差;VfKeepV表示无量纲化系数,将速度偏差无量纲化;dRij表示飞行器i与周围j单元的距离偏差;RfKeepP表示无量纲化系数,将距离偏差无量纲化。
本实施例中,优选地,当飞行器与障碍区外表面距离大于安全距离时,障碍规避奖励表示为:
式中,kobsAvoidS表示半球形障碍区域规避奖励系数;dobsSafe表示障碍区安全距离;ΔRmToObs表示飞行器与障碍区的相对位置向量减去障碍区的半径向量;
当飞行器与障碍区外表面距离小于安全距离时,障碍规避奖励表示为robsAvoidS和robsAvoidG两部分的和:
式中,kobsDangerS表示一常值负系数,也代表一常值奖励;h表示飞行器高度,kobsDangerG表示地面障碍负值奖励系数;hsafe表示安全飞行高度。
本实施例中,优选地,目标接近奖励包括目标接近奖励rtoTgtP和目标到达奖励rtoTgtDone:
rtoTgtDone=ktoTgtDone,dmToTgt<ddone
式中,ktoTgtP表示目标接近奖励系数;dmToTgt表示弹目相对位置向量的模长;drange表示初始位置时飞行器与目标的距离;ddone表示判停距离条件,当有飞行器与目标的距离小于该距离时,表示飞行器到达目标,任务结束;ktoTgtDone表示一次性奖励,当飞行器到达目标时,提供该项奖励,该奖励远大于其他奖励。
本发明另一实施例提出了一种基于SAC强化学习算法的高速飞行器集群编队控制方法,该方法能够使高速飞行器在不同环境下自主选择机动动作,完成编队保持等任务。如图1所示,该方法包括以下步骤:
步骤一、基于SAC算法,设计高速飞行器智能体的训练网络。
根据本发明实施例,高速飞行器训练框架如图2所示,飞行集群中的每个高速飞行器作为单个智能体与环境进行交互,得到训练数据,并以此优化集群控制策略,将策略应用至所有飞行器。算法流程如下:
1)初始化策略网络参数θ,策略值函数网络函数φ1和φ2,经验池D;
2)设置值函数的目标网络参数φtarg1、φtarg2分别与参数φ1、φ2相同;
3)重复步骤4~14:
4)观测环境状态s,根据控制策略输出控制指令a~πθ(·|s);
5)在环境中执行动作a;
6)观测下一个状态s',反馈的奖励r以及回合结束标志位d;
7)将经验组(s,a,r,s',d)储存到经验池D;
8)若回合结束则初始化环境状态;
9)若达到更新周期则执行步骤11~14:
10)从经验池D中随机采样一组经验,表示为B={(s,a,r,s',d)};
11)通过下式计算值函数的真值估计:
12)通过最小化以下损失函数更新值函数网络参数φi:
13)通过最小化以下损失函数更新集群控制策略网络参数θ:
式中,通过πθ(·|s')采样得到。
14)更新目标网络:
φtarg,i←ρφtarg,i+(1-ρ)φi i=1,2
学习过程主要分为值函数学习和策略学习两部分:
(1)值函数学习
根据经验池D={(s,a,r,s',d)},可构造值函数网络Qφi的损失函数为:
式中,y(r,s',d)为值函数网络Qφi的值函数目标,即
y(r,s',d)=r+(1-d)(minj=1,2Qφtarg,j(s',a')-αlnπθ(a'∣s'))
其中a'通过πθ(·|s')采样得到。
SAC利用了ClippedQ-learning技巧,计算值函数目标时取两个值函数网络的最小值,避免动作值函数过估计。
(2)策略学习
策略学习根据值函数对动作量进行评判,更新控制策略,使未来累计回报与交叉熵的和最大化,即
策略网络的输出采用了重参数化的技巧,即
式中,ξ~N(0,1)为标准高斯分布,μθ(s)和σθ(s)为策略网络输出的控制指令分布均值与方差。该策略学习得到的为随机策略,将输出控制指令按参数μθ(s)和σθ(s)采样并通过激活函数,得到实际输出控制指令。
在更新策略时,采用同值函数更新相同的ClippedQ技巧,即
这样策略优化目标最终写成:
可通过从经验池中采样的数据利用梯度上升法实现以上策略的优化。
步骤二、确定高速飞行器的观测空间。
根据本发明实施例,飞行器集群在飞行过程中,需要对周围环境进行观测。由于自身的任务包括编队保持、障碍规避、到达目标,因此观测量包含集群状态、障碍状态、目标状态。
1)集群状态观测:为了保持编队队形状态,飞行器需要观测周围友方飞行器的状态,包括位置状态与速度状态,并根据自身状态信息进行相对位置、速度解算。由于通信量限制,需要限定飞行器通信对象数量。
设定飞行器i观测周围ncom(简记为n)架飞行器的位置,并计算当前飞行器和周围飞行器的相对位置。对于某观测飞行器对象j,相对位置为:
距离即相对位置向量的模长,为:
d=||ΔR||
飞行器i同时观测周围n架飞行器的速度,对于某观测飞行器对象j,相对速度为:
ΔVij=Vj-Vi
需要说明的是,此处为区分飞行器i、飞行器j,采用上标区分,后文不涉及编队内部相对状态则省略上标。
为了提高训练效率,考虑将所有观测向量无量纲化,使其尽可能位于同一数量级。定义相对位置观测无量纲化系数KR(为简化表述,后文称作位置系数),速度系数KV。因此可定义飞行器i对周围某飞行器j状态观测向量为:
飞行器对集群状态的观测量则为:
2)障碍状态观测:假设障碍区为固定圆柱形区域,其原点位于地面上某一点(高度为0),圆柱半径为robs。为了使飞行器能够规避障碍,其需要对障碍状态进行观测,障碍区位置为Robs,则飞行器相对于障碍中心的单位位置向量为:
当飞行器进入障碍区时,飞行器将立刻失效,因此在障碍区的观测中,将相对位置向量减去障碍区的半径向量,得到:
ΔRmToObs=R-Robs-emToObs·robs
定义障碍系数为Ko,飞行器对于障碍的观测向量为:
3)目标状态观测:为了使飞行器能够接近并到达目标,需要对目标状态进行观测,目标位置为Rtgt,则目标相对于飞行器i的位置向量为:
ΔRmToTgt=Rtgt-R
因此可得到弹目距离,即弹目相对位置向量的模长:
dmToTgt=||ΔRmToTgt||
目标速度为Vtgt,则目标相对于飞行器i的速度向量为:
ΔVmToTgt=Vtgt-V
定义目标位置系数为KTR,目标速度系数为KTV,可得到飞行器对于目标状态的观测量为:
4)自身状态观测:除了上述三类外部观测量以外,飞行器需要对自身的状态进行观测。其中,自身的状态量包括加速度、速度以及位置信息。
考虑观测自身加速度信息,尽管飞行器在x轴上无主动过载输出,重力将对飞行器速度坐标系下三个方向产生过载量,因此观测自身速度坐标系下的三个过载分量,表示为:
a=[nx ny nz]T
同时,飞行器需要观测自身的速度大小V与飞行高度h,以便于飞行器与周围飞行器保持编队、与地面保持一定距离。
由此得到自身状态观测向量为:
将上述所有观测量进行拼接,得到总的观测向量维度为6n+14,表示为:
ot=[of oo ot om]
步骤三、确定高速飞行器的动作空间。
根据本发明实施例,设计高速飞行器的动作量为过载指令,其中包括两个法相过载ny、nz,不对飞行器的速度大小进行控制,因而nx=0。
根据前述算法原理,需要设计值函数网络、策略网络。策略神经网络如图3所示,将集群编队信息、障碍规避信息、目标打击信息、自身状态信息合并为输入层,经过两层中间层128节点的全连接网络,之后分成2路单节点网络层,激活函数分别为Linear和Tanh,得到过载指令的均值和方差;按照均值、方差经过高斯采样后经Tanh激活函数输出为控制策略。
值函数网络如图4所示,类似于策略神经网络架构。然后,将观测向量和控制指令拼接后输入值函数网络,随后经过两层,激活函数采用ReLU,最后经节点数为1的输出层得到值函数输出。
步骤四、设计强化学习奖励函数,并对奖励之间的权重进行平衡。
根据本发明实施例,在考虑奖励函数的上层逻辑时,首先根据任务需求将奖励分成编队保持奖励、障碍规避奖励、目标接近奖励,最终再将所有奖励进行合并。
1)编队保持奖励
为了能够保持较好的编队飞行,设计编队保持奖励rfKeep。该项奖励由相对速度保持、相对位置保持两部分构成。
相对速度保持奖励为一负值奖励(即惩罚),当飞行器编队的速度完全一致时,该项奖励为0,而速度差异性越大时,该奖励越小(即惩罚越大)。为了更好地实现编队控制效果,设计该奖励函数能让飞行器更多参考附近飞行器状态,而减少远处飞行器状态的影响,定义飞行器附近n单元加权平均速度为:
其中,w为权值系数,由周围飞行器距离偏差决定,利用距离缩放系数R0对偏差量d无量纲化,并以指数函数形式进行加和,将w定义为
飞行器与周围通信范围内飞行器的速度偏差为:
相对速度保持奖励设置为:
其中,kfKeepV为相对速度保持奖励系数,VfKeepV为一无量纲化系数,将速度偏差无量纲化。相对位置保持奖励同为一负值奖励,飞行器编队间的位置关系与初始状态保持一致时,该项奖励为0,当队形发生变化越大时,该奖励越小。
在t时刻飞行器与周围某单元的距离偏差为:
dR=||ΔR-ΔRd||
ΔR为当前时刻相对位置向量,ΔRd为期望队形中两飞行器的相对位置向量,为了使编队中的飞行器与周围单元保持既定距离,设计该奖励函数为:
其中,kfKeepP为相对位置保持奖励系数,RfKeepP为一无量纲化系数,将距离偏差无量纲化。当上述距离偏差之和为0时,说明该飞行器完全保持了期望编队队形的位置。
将上述相对速度保持奖励与相对位置保持奖励进行加和,得到编队保持奖励为:
rfKeep=rfKeepV+rfKeepP
2)障碍规避奖励
为了使飞行器能够规避障碍,设定障碍规避奖励。该奖励同样为负值奖励,由于飞行器靠近障碍物时危险急剧增加,因此采用二次平方项奖励。随着飞行器逐渐靠近障碍区,该项奖励将以二次函数的形式递减。由上文提及障碍区半径为robs,设定障碍区安全距离为dobsSafe,设计障碍规避奖励函数为:
式中,kobsAvoidS为半球形障碍区域规避奖励系数,体现了编队飞行过程中障碍规避任务的重要程度,该系数为负值奖励,该系数越小,则集群对障碍区域的恐惧程度越高。
当飞行器与障碍区外表面距离大于安全距离时,飞行器将不受到障碍区的影响,当飞行器进入障碍区时,将受到严重的惩罚,因此补充两部分奖励函数为:
式中,kobsDanger为一常值负系数,也代表一常值奖励,该奖励将远小于robsAvoid,将给飞行器带来更大的惩罚,以防止飞行器进入障碍区域。
此外,为了防止飞行器飞向地面,或与地面距离太近而导致任务失败,将地面也视作障碍区域,设定安全飞行高度为hsafe,设计该奖励函数为:
式中,h为飞行器高度,kobsAvoidG为地面障碍负值奖励系数,同样为一惩罚,以防止飞行器撞向地面。
将上述半球形障碍区域规避奖励与地面障碍规避奖励进行加和,得到障碍规避奖励为:
robsAvoid=robsAvoidS+robsAvoidG
3)目标接近奖励
飞行器编队的一个基本任务是能够到达指定目标,为了使集群编队能够向既定目标飞行,需要设计目标接近奖励函数。
设计每一个时刻对飞行器提供一个负值奖励,该奖励随着飞行器靠近目标而不断增大,即与弹目距离负相关。因此设计该奖励函数为:
式中,ktoTgtP为目标接近奖励系数,drange为初始位置时飞行器与目标的距离。
当飞行器进入目标一定范围ddone内时,代表集群已经完成任务,此时对飞行器提供一较大的奖励,并结束该回合训练过程,设计该一次性常值奖励为:
rtoTgtDone=ktoTgtDone,dgt<done
该奖励将远大于rtoTgtP,防止飞行器在目标周围进行盘旋。
将上述目标接近奖励、目标到达奖励进行加和,得到目标接近奖励为:
rtoTgt=rtoTgtP+rtoTgtDone
综上,可得到总奖励函数为:
r=rfKeep+robsAvoid+ktoTgtT
步骤五、建立训练环境,对高速飞行器集群进行训练。
在python环境中搭建飞行器运动学模型,并构建集群训练环境,训练场景如图5所示,图中红点为目标位置,蓝点为集群起始位置。编队中心距离目标位置200km,在连线中心处存在一扇形区域,训练过程中障碍将在该区域随机位置出现,以确保训练环境的随机性。
该训练场景中的观测空间参数如表1所示,奖励函数参数如表2所示。
表1
参数 | 数值 | 参数 | 数值 |
KR | 4km | KV | 2.0km/s |
robs | 15.0km | Ko | 60.0km |
KTR | 200.0km | KTV | 2.0km/s |
表2
参数 | 数值 | 参数 | 数值 |
kfKeepV | -0.01 | VfKeepV | 2.0km/s |
kfKeepP | -0.01 | RfKeepP | 4.0km |
kobsAvoidS | -0.07 | kobsDangerS | -0.7 |
kobsAvoidG | -0.5 | ktoTgtV | 0.05 |
ktoTgtDone | 1.0 | dobsSafe | 60.0km |
hsafe | 10.0km | drange | 10.0km |
利用pytorch搭建深度强化学习SAC算法框架,设置训练回合数为2000,时间步长为0.5s。设定初始环境中高速飞行器集群的状态参数如表3所示,设置编队队形为三角形队形,各邻近飞行器之间保持相同的间距。
表3
参数 | 数值 | 参数 | 数值 |
高度h | 30.0km | 速度v | 2.0km/s |
通信数量n | 4 | 飞行器间距 | 10km |
图6所示曲线为训练过程奖励值曲线,其中依据每20个临近训练回合中奖励值计算平均值、方差。图中深色曲线表示奖励值的平均值,浅色色块表示奖励值方差。在训练开始阶段,奖励值变化幅度较大,当800回合左右,奖励值曲线逐步收敛。
根据既定训练场景进行仿真测试,飞行器集群的飞行路径图如图7所示。在训练场景中,障碍物的位置在一定范围内随机变化,飞行器集群能够根据障碍物的位置自行决策,选择合适的路线飞行并保持编队。其中,图a中集群从障碍右侧绕过,图b中集群从障碍左侧绕过,图c中集群在遇到障碍时分成两部分,分别从障碍区的左右两侧进行绕飞,而图d为无障碍状态下,飞行器集群能够直接飞向目标。
将该训练结果下的集群控制策略应用在复杂环境中,建立随机障碍环境,各障碍在随机位置生成,且彼此之间距离不小于60km,使飞行器集群在新的复杂环境中飞行,数次随机飞行结果如图8所示。图8(a)中,集群在遇到第一个障碍区域时,其距离相对较远,能够往右机动以规避障碍;随后遇到右侧障碍区域,集群又向左进行了机动,最后当集群经过两个障碍区间之间的狭小区域时,队形发生了收缩,以规避了两侧的障碍;图8(b)中,集群一开始在空旷场景飞行,因此能直接飞向目标,随后在遇到三个相近的障碍区域时,能够从安全区域穿过而不发生碰撞;图8(c)中,集群在一开始便遇到了障碍区域,该障碍分布与图8(b)中相近,可见集群在不同时刻遇到障碍区域均能完成避障。可见所有飞行器均能够完成避碰编队飞行任务,当飞行器面临若干障碍区域时,集群将判断对自身有威胁的较近障碍物,做出相应的动作机动进行规避,而远处的障碍物则不会对集群产生影响。
本发明另一实施例提出一种基于SAC强化学习算法的高速飞行器集群编队控制系统,该系统包括:
数据获取模块,其配置成采集观测数据,确定高速飞行器集群的观测空间和动作空间;所述观测数据包括集群状态、障碍状态、目标状态、自身状态;所述集群状态包括某一飞行器相对周围其他飞行器的相对位置和相对速度;所述障碍状态包括飞行器与障碍物中心的相对位置;所述目标状态包括目标相对于飞行器的相对位置和相对速度;所述自身状态包括飞行器自身的加速度、速度及位置;所述动作空间中动作量为过载指令;
模型训练模块,其配置成基于观测数据训练基于SAC强化学习算法的高速飞行器智能体网络;
编队控制模块,其配置成利用训练好的高速飞行器智能体网络进行飞行器集群编队控制。
本实施例中,优选地,所述模型训练模块中所述训练基于SAC强化学习算法的高速飞行器智能体网络的过程包括:
初始化策略网络参数θ,策略值函数网络函数φ1和φ2,经验池D;设置值函数的目标网络参数φtarg1、φtarg2分别与参数φ1、φ2相同;按照下述过程迭代重复执行训练:
观测环境状态s,根据控制策略输出控制指令a~πθ(·|s);在环境中执行动作a;
观测下一个状态s',反馈的奖励r以及回合结束标志位d;将经验组(s,a,r,s',d)储存到经验池D;s代表状态,a代表动作,r代表奖励,s'代表下一个状态,d代表回合结束标志位;若回合结束则初始化环境状态;若达到更新周期则执行下述步骤:
从经验池D中随机采样一组经验,表示为B={(s,a,r,s',d)};通过下式计算值函数的真值估计:
式中,γ∈[0,1]表示折扣率;表示目标网络参数下的动作价值函数;α表示权衡系数;表示该状态s下不同动作的策略分布,用以计算熵;
通过最小化以下损失函数更新值函数网络参数φi:
式中,表示动作价值函数;
通过最小化以下损失函数更新集群控制策略网络参数θ:
式中,通过πθ(·|s')采样得到;表示动作价值函数;表示该状态s下不同动作的策略分布;
更新目标网络:φtarg,i←ρφtarg,i+(1-ρ)φi i=1,2;
式中,ρ表示目标网络更新中的一个系数,该系数越大,目标网络变化越小,算法收敛速度越慢;φtarg,i表示目标网络参数。
本实施例中,优选地,所述模型训练模块中所述基于SAC强化学习算法的高速飞行器智能体训练网络中设计如下奖励函数:编队保持奖励、障碍规避奖励、目标接近奖励。
本发明实施例一种基于SAC强化学习算法的高速飞行器集群编队控制系统的功能可以由前述一种基于SAC强化学习算法的高速飞行器集群编队控制方法说明,因此系统实施例未详述部分,可参见以上方法实施例,在此不再赘述。
尽管根据有限数量的实例描述了本发明,但是收益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实例。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (10)
1.一种基于SAC强化学习算法的高速飞行器集群编队控制方法,其特征在于,包括以下步骤:
采集观测数据,确定高速飞行器集群的观测空间和动作空间;
基于观测数据训练基于SAC强化学习算法的高速飞行器智能体网络;
利用训练好的高速飞行器智能体网络进行飞行器集群编队控制。
2.根据权利要求1所述的一种基于SAC强化学习算法的高速飞行器集群编队控制方法,其特征在于,所述观测数据包括集群状态、障碍状态、目标状态、自身状态;所述集群状态包括某一飞行器相对周围其他飞行器的相对位置和相对速度;所述障碍状态包括飞行器与障碍物中心的相对位置;所述目标状态包括目标相对于飞行器的相对位置和相对速度;所述自身状态包括飞行器自身的加速度、速度及位置;所述动作空间中动作量为过载指令。
3.根据权利要求1所述的一种基于SAC强化学习算法的高速飞行器集群编队控制方法,其特征在于,所述训练基于SAC强化学习算法的高速飞行器智能体网络的过程包括:
初始化策略网络参数θ,策略值函数网络函数φ1和φ2,经验池D;设置值函数的目标网络参数φtarg1、φtarg2分别与参数φ1、φ2相同;按照下述过程迭代重复执行训练:
观测环境状态s,根据控制策略输出控制指令a~πθ(·|s);在环境中执行动作a;
观测下一个状态s',反馈的奖励r以及回合结束标志位d;将经验组(s,a,r,s',d)储存到经验池D;s代表状态,a代表动作,r代表奖励,s'代表下一个状态,d代表回合结束标志位;若回合结束则初始化环境状态;若达到更新周期则执行下述步骤:
从经验池D中随机采样一组经验,表示为B={(s,a,r,s',d)};通过下式计算值函数的真值估计:
式中,γ∈[0,1]表示折扣率;表示目标网络参数下的动作价值函数;α表示权衡系数;表示该状态s下不同动作的策略分布,用以计算熵;
通过最小化以下损失函数更新值函数网络参数φi:
式中,表示动作价值函数;
通过最小化以下损失函数更新集群控制策略网络参数θ:
式中,通过πθ(·|s')采样得到;表示动作价值函数;表示该状态s下不同动作的策略分布;
更新目标网络:φtarg,i←ρφtarg,i+(1-ρ)φi i=1,2;
式中,ρ表示目标网络更新中的一个系数,该系数越大,目标网络变化越小,算法收敛速度越慢;φtarg,i表示目标网络参数。
4.根据权利要求3所述的一种基于SAC强化学习算法的高速飞行器集群编队控制方法,其特征在于,基于SAC强化学习算法的高速飞行器智能体网络中设计如下奖励函数:编队保持奖励、障碍规避奖励、目标接近奖励。
5.根据权利要求4所述的一种基于SAC强化学习算法的高速飞行器集群编队控制方法,其特征在于,编队保持奖励表示为:
式中,rfKeepV表示相对速度保持奖励;rfKeepP表示相对位置保持奖励;kfKeepV表示相对速度保持奖励系数;kfKeepP表示相对位置保持奖励系数;dV表示飞行器与周围通信范围内飞行器的速度偏差;VfKeepV表示无量纲化系数,将速度偏差无量纲化;dRij表示飞行器i与周围j单元的距离偏差;RfKeepP表示无量纲化系数,将距离偏差无量纲化。
6.根据权利要求4所述的一种基于SAC强化学习算法的高速飞行器集群编队控制方法,其特征在于,当飞行器与障碍区外表面距离大于安全距离时,障碍规避奖励表示为:
式中,kobsAvoidS表示半球形障碍区域规避奖励系数;dobsSafe表示障碍区安全距离;ΔRmToObs表示飞行器与障碍区的相对位置向量减去障碍区的半径向量;
当飞行器与障碍区外表面距离小于安全距离时,障碍规避奖励表示为robsAvoidS和robsAvoidG两部分的和:
式中,kobsDangerS表示一常值负系数,也代表一常值奖励;h表示飞行器高度,kobsDangerG表示地面障碍负值奖励系数;hsafe表示安全飞行高度。
7.根据权利要求4所述的一种基于SAC强化学习算法的高速飞行器集群编队控制方法,其特征在于,目标接近奖励包括目标接近奖励rtoTgtP和目标到达奖励rtoTgtDone:
rtoTgtDone=ktoTgtDone,dmToTgt<ddone
式中,ktoTgtP表示目标接近奖励系数;dmToTgt表示弹目相对位置向量的模长;drange表示初始位置时飞行器与目标的距离;ddone表示判停距离条件,当有飞行器与目标的距离小于该距离时,表示飞行器到达目标,任务结束;ktoTgtDone表示一次性奖励,当飞行器到达目标时,提供该项奖励,该奖励远大于其他奖励。
8.一种基于SAC强化学习算法的高速飞行器集群编队控制系统,其特征在于,包括:
数据获取模块,其配置成采集观测数据,确定高速飞行器集群的观测空间和动作空间;所述观测数据包括集群状态、障碍状态、目标状态、自身状态;所述集群状态包括某一飞行器相对周围其他飞行器的相对位置和相对速度;所述障碍状态包括飞行器与障碍物中心的相对位置;所述目标状态包括目标相对于飞行器的相对位置和相对速度;所述自身状态包括飞行器自身的加速度、速度及位置;所述动作空间中动作量为过载指令;
模型训练模块,其配置成基于观测数据训练基于SAC强化学习算法的高速飞行器智能体网络;
编队控制模块,其配置成利用训练好的高速飞行器智能体网络进行飞行器集群编队控制。
9.根据权利要求8所述的一种基于SAC强化学习算法的高速飞行器集群编队控制系统,其特征在于,所述模型训练模块中所述训练基于SAC强化学习算法的高速飞行器智能体网络的过程包括:
初始化策略网络参数θ,策略值函数网络函数φ1和φ2,经验池D;设置值函数的目标网络参数φtarg1、φtarg2分别与参数φ1、φ2相同;按照下述过程迭代重复执行训练:
观测环境状态s,根据控制策略输出控制指令a~πθ(·|s);在环境中执行动作a;
观测下一个状态s',反馈的奖励r以及回合结束标志位d;将经验组(s,a,r,s',d)储存到经验池D;s代表状态,a代表动作,r代表奖励,s'代表下一个状态,d代表回合结束标志位;若回合结束则初始化环境状态;若达到更新周期则执行下述步骤:
从经验池D中随机采样一组经验,表示为B={(s,a,r,s',d)};通过下式计算值函数的真值估计:
式中,γ∈[0,1]表示折扣率;表示目标网络参数下的动作价值函数;α表示权衡系数;表示该状态s下不同动作的策略分布,用以计算熵;
通过最小化以下损失函数更新值函数网络参数φi:
式中,表示动作价值函数;
通过最小化以下损失函数更新集群控制策略网络参数θ:
式中,通过πθ(·|s')采样得到;表示动作价值函数;表示该状态s下不同动作的策略分布;
更新目标网络:φtarg,i←ρφtarg,i+(1-ρ)φi i=1,2;
式中,ρ表示目标网络更新中的一个系数,该系数越大,目标网络变化越小,算法收敛速度越慢;φtarg,i表示目标网络参数。
10.根据权利要求9所述的一种基于SAC强化学习算法的高速飞行器集群编队控制系统,其特征在于,所述模型训练模块中所述基于SAC强化学习算法的高速飞行器智能体网络中设计如下奖励函数:编队保持奖励、障碍规避奖励、目标接近奖励。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311709906.6A CN117666616A (zh) | 2023-12-13 | 2023-12-13 | 一种基于sac强化学习算法的高速飞行器集群编队控制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311709906.6A CN117666616A (zh) | 2023-12-13 | 2023-12-13 | 一种基于sac强化学习算法的高速飞行器集群编队控制方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117666616A true CN117666616A (zh) | 2024-03-08 |
Family
ID=90065986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311709906.6A Pending CN117666616A (zh) | 2023-12-13 | 2023-12-13 | 一种基于sac强化学习算法的高速飞行器集群编队控制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117666616A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117873136A (zh) * | 2024-03-11 | 2024-04-12 | 西北工业大学 | 一种高速飞行器协同飞行与预设性能避碰的控制方法 |
-
2023
- 2023-12-13 CN CN202311709906.6A patent/CN117666616A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117873136A (zh) * | 2024-03-11 | 2024-04-12 | 西北工业大学 | 一种高速飞行器协同飞行与预设性能避碰的控制方法 |
CN117873136B (zh) * | 2024-03-11 | 2024-05-24 | 西北工业大学 | 一种高速飞行器协同飞行与预设性能避碰的控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113095481B (zh) | 一种基于并行自我博弈的空战机动方法 | |
CN112180967B (zh) | 基于评判-执行架构的多无人机协同对抗决策方法 | |
CN111522258B (zh) | 多无人机协同控制仿真系统及其构建方法、仿真方法 | |
CN104407619B (zh) | 不确定环境下的多无人机同时到达多个目标方法 | |
CN110806756B (zh) | 基于ddpg的无人机自主引导控制方法 | |
CN110991972B (zh) | 一种基于多智能体强化学习的货物运输系统 | |
CN110554709A (zh) | 一种分布式的仿生的多智能体自主集群控制方法 | |
CN110531786B (zh) | 基于dqn的无人机机动策略自主生成方法 | |
CN110502034B (zh) | 一种基于深度强化学习的固定翼无人机群集控制方法 | |
CN112198892B (zh) | 一种多无人机智能协同突防对抗方法 | |
CN114089776B (zh) | 一种基于深度强化学习的无人机避障方法 | |
CN117666616A (zh) | 一种基于sac强化学习算法的高速飞行器集群编队控制方法及系统 | |
CN113848974A (zh) | 一种基于深度强化学习的飞行器轨迹规划方法及系统 | |
CN113759935B (zh) | 基于模糊逻辑的智能群体编队移动控制方法 | |
CN113962012A (zh) | 无人机对抗策略优化方法及装置 | |
CN116242364A (zh) | 一种基于深度强化学习的多无人机智能导航方法 | |
CN115981369A (zh) | 有限通信下面向多无人机联合任务分配和航迹规划的方法 | |
CN115470706A (zh) | 用于多目标决策的分层强化学习框架训练方法 | |
CN115933717A (zh) | 基于深度强化学习的无人机智能空战机动决策训练系统及方法 | |
CN114815891A (zh) | 一种基于per-idqn的多无人机围捕战术方法 | |
CN110716585B (zh) | 基于分布式一致性与自组网的自主协同控制方法及系统 | |
CN116227622A (zh) | 基于深度强化学习的多智能体地标覆盖方法及系统 | |
CN115903885B (zh) | 一种基于任务牵引的蜂群Agent模型的无人机飞控方法 | |
CN116976442A (zh) | 一种基于me-ddpg的无人机多对一追捕博弈方法 | |
CN116795138A (zh) | 一种面向数据采集的多无人机智能航迹规划方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |