六自由度环境下基于双延时确定策略梯度的空战决策方法
- 国知局
- 2024-07-31 23:33:57
本发明属于无人机控制领域,具体涉及一种六自由度环境下基于双延时确定策略梯度的空战决策方法。
背景技术:
1、目前,无人战机(unmanned combat air vehicle,ucav)已在军事领域中取得较为广泛的应用,相比于传统有人机,ucav具有成本低、不受人体生理极限限制等优点。随着传感器、通信、人工智能等技术的发展进步,未来ucav将在战场上发挥更为重要的作用。空战决策是空战的核心,在空战过程中起关键作用。智能空战决策具有决策迅速、学习能力强等优势,可以辅助甚至替代飞行员完成决策,在未来空战中将具有十分广泛的应用前景。
2、目前自主空战决策研究的发展方向是结合深度强化学习方法。应用的深度强化学习算法有两类,具有离散输出的算法和具有连续输出的算法。前者主要应用深度q网络(deep q-network,dqn)或其改进算法,通过训练得到一个全连接神经网络用于决策,网络输入为空战双方的状态量,输出为对机动动作库中各个动作的打分,之后选择打分最高的动作执行。此类方法的缺点在于仅适用于具有离散动作空间的场景,在空战决策中应用dqn需要把控制指令离散对应为几种机动动作,这在实际上降低了决策输出的可选择范围。空战决策中更适合选用具有连续输出的深度强化学习算法。双延时确定策略梯度算法(twindelayed deep deterministic policy gradient,td3)改进了深度确定策略梯度(deepdeterministic policy gradient, ddpg)算法中存在的高估、自举等问题,是一种具有优异表现的连续深度强化学习算法。
技术实现思路
1、(一)要解决的技术问题
2、本发明要解决的技术问题是如何提供一种六自由度环境下基于双延时确定策略梯度的空战决策方法,以解决现有技术存在的模型简单、与空战实际相去较远的问题。
3、(二)技术方案
4、为了解决上述技术问题,本发明提出一种六自由度环境下基于双延时确定策略梯度的空战决策方法,该方法包括如下步骤:
5、步骤s1、建立ucav(unmanned combat air vehicle)非线性六自由度模型,在matlab/simulink中构建六自由度模型并利用pid方法设计控制器;
6、步骤s2、构建仿真空战环境,其中,敌我两架ucav性能相同,采用了基于攻击区假定的胜负判定方法,敌机决策采用纯追踪法;
7、步骤s3、实现基于双延时确定策略梯度算法的空战决策训练框架,将空战决策问题建模为马尔可夫决策过程,设计状态空间、动作空间及奖励函数;
8、步骤s4、随机初始化空战态势并通过不断训练得到空战决策训练框架中用于决策的策略网络;
9、步骤s5、利用得到的策略网络在仿真环境中进行空战,我机使用策略网络输出的指令,敌机使用纯追踪法产生的指令。
10、进一步地,所述步骤s1具体包括如下步骤:
11、步骤s11:建立ucav非线性六自由度模型
12、ucav在空中飞行时受空气动力、发动机推力和重力;其中,空气动力包括:力和力矩,前者在气流坐标系下分解为[- d, y,- l] t, d、 y、 l分别为阻力、侧力、升力,后者在机体坐标系下分解为,、 m、 n分别为滚转力矩、俯仰力矩、偏航力矩,发动机推力记为 f;ucav地速在机体坐标系中分解为[ u, v, w] t, u、 v、 w分别为地速沿机体坐标系 x、 y、 z三轴的分量;角速度在机体坐标系中分解为[ p, q, r] t, p、 q、 r分别为滚转角速度、俯仰角速度、偏航角速度;
13、在机体坐标系下质心移动的动力学方程如下:
14、(1)
15、式中, θ为俯仰角,为滚转角, α为迎角, β为侧滑角,g为重力加速度,m为ucav质量;
16、绕质心转动的动力学方程有如下形式:
17、 (2)
18、式中 i x、 i y、 i z为ucav在机体坐标系下的转动惯量, i xz为机体坐标系下的惯性积;
19、在地面坐标系下,ucav的位移通过将地速在机体坐标系下的三轴分量转换到地系来得到:
20、 (3)
21、式中, x g、 y g、 h为ucav在地面坐标系下的三维位置, ψ为偏航角;
22、角速度间的关系式如下:
23、 (4)
24、通过上述公式(1)-(4)建立ucav非线性六自由度模型,通过上述公式,在已知上一时刻状态量与控制输入时计算得到状态量导数,进而积分得到下一时刻的状态量;ucav控制输入为油门开度与升降舵、副翼、方向舵的偏转量,分别记为 δ p、 δ e、、 δ r;
25、步骤s12:在matlab/simulink中完成六自由度模型搭建后,利用pid方法设计pid控制器,在pid方法中利用偏差的比例项、积分项、微分项的线性组合来进行控制,此处偏差指的是期望指令与实际输出间的差。
26、进一步地,所述步骤s12设计的pid控制器包括:速度控制器、俯仰角控制器、滚转角控制器和侧滑角控制器,速度控制器使用了速度偏差的比例项与积分项;俯仰角控制器使用了俯仰角偏差的比例项与积分项并在此基础上引入了迎角和俯仰角速度反馈;滚转角控制器使用了滚转角偏差的比例项并在此基础上引入了滚转角速度反馈;侧滑角控制器使用了侧滑角偏差的比例项并引入了偏航减速度反馈,用于控制侧滑角为0。
27、进一步地,所述步骤s2具体包括如下步骤:
28、步骤s21:在matlab/simulink中建立敌我两架ucav模型,二者具有相同的性能参数、pid控制器,为避免ucav失控,对输入指令 v cmd、 θ cmd和进行限幅;
29、步骤s22:实现基于攻击区仿真空战设定,定义一方ucav速度向量与两机连线间的夹角为攻击角,当该ucav对对方ucav的小于一定值,且两机距离在一定范围内时,认为对方ucav处于该ucav攻击区内,判定该ucav获胜;仿真空战过程中,双方ucav的目的在于避免被对方纳入对方攻击区的同时将对方纳入己方攻击区以取得胜利;
30、步骤s23:实现基于纯追踪法的敌机决策策略,该方法的思想在于不断调整速度方向使得速度向量指向对方,以达到将对方纳入攻击区的目的;定义两机连线与地平面间的夹角为相对倾斜角 μ,两机连线在地平面上的投影与正北方向间的夹角为相对方位角 σ,纯追踪法给出的航迹倾斜角 γ和航迹方位角 χ的控制指令如公式(5)、(6)所示,其中、为航迹倾斜角和航迹方位角的最大变化速率,下标“t”和“t+1”分别代表当前与下一仿真步,δt为仿真步长:
31、 (5)
32、 (6)。
33、进一步地,所述步骤s3具体包括如下步骤:
34、步骤s31:状态空间设计
35、在空战过程中,与交战态势相关的飞行状态量包括三维坐标( x, y, z)、速度 v、航迹倾斜角 γ、航迹方位角 χ、俯仰角 θ、滚转角;状态空间选取的状态量如下:
36、 (8)
37、式中,r为两机间的距离,单位为m,为两机连线的航迹倾斜角,为两机连线的航迹方位角,下标指代红方r或蓝方b;
38、步骤s32:动作空间设计
39、定义策略网络输出动作为速度 v、俯仰角 θ、滚转角指令的变化量,把策略网络输出值映射为ucav控制指令;
40、步骤s33:奖励函数设计
41、奖励函数包括角度优势奖励、距离优势奖励、高度优势奖励、获胜奖励四部分,综合上述四项奖励得到最终奖励函数;
42、步骤s34:在python中实现基于td3算法的空战决策训练框架,td3算法为双延时确定策略梯度算法,td3算法训练的目的在于得到策略网络进行决策,策略网络根据输入的公式(8)所示状态量输出动作,包括:速度 v、俯仰角 θ、滚转角指令;训练过程中,策略网络不断决策与环境进行交互,根据得到的奖励值大小来优化策略网络参数。
43、进一步地,所述步骤s33具体包括:
44、步骤s331:角度优势奖励
45、在地面坐标系下,红机坐标为( x r, y r, z r),蓝机坐标为( x b, y b, z b),则由红机指向蓝机的连线为 r rb( x b -x r, y b -y r, z b -z r);红机的速度矢量为 v r( v xr, v yr, v zr),蓝机的速度矢量为 v b( v xb, v yb, v zb);角度优势奖励函数形式如下:
46、 (9)
47、式中指攻击角,指逃逸角,其计算式如下:
48、 (10)
49、步骤s332:距离优势奖励
50、距离优势奖励函数形式如下:
51、 (11)
52、式中 rlim为临界距离,当距离大于等于 rlim时,随距离增大奖励值逐渐降低, rlim值的设置与攻击区范围有关;
53、步骤s333:高度优势奖励
54、高度优势奖励函数形式如下:
55、 (12)
56、式中 z r为我机高度,单位为m;
57、步骤s334:获胜奖励
58、在一方将对方纳入攻击区或对方坠地时判定获胜,给予高奖励值:
59、 (13)
60、步骤s335:综合上述四项奖励得到最终奖励函数具有如下形式:
61、 (14)。
62、进一步地,所述步骤s4具体包括如下步骤:
63、步骤s41:随机初始化双机态势;
64、步骤s42:我机使用空战决策训练框架中策略网络输出的指令,敌机使用纯追踪法,开始仿真训练,我方采用td3算法,敌方采用纯追踪法,每经过一个仿真步长后,分别计算我方与敌方的控制指令并导入空战环境,进行一次td3算法的训练后进入下一仿真步,直到仿真空战中有一方获胜或超过最大仿真时间限制;
65、步骤s43:不断重复上述步骤s41、s42,并记录训练过程中每轮的仿真步数、累计奖励和胜负结果,直到算法收敛。
66、进一步地,所述步骤s41中,为保证双方初始态势均衡,使双机初始方向相同或相反,具有随机的横向间距且纵向间距为0。
67、进一步地,所述步骤s5具体包括如下步骤:
68、步骤s51:利用得到的策略网络在仿真环境中进行空战,我机使用策略网络输出的指令,敌机使用纯追踪法产生的指令;
69、步骤s52:记录空战过程中的两机速度、俯仰角、滚转角、距离、攻击角并绘制相应曲线图以展示空战过程中的态势变化,将空战过程中的两机数据导入飞行数据回放软件tacview中得到两机空战轨迹图。
70、进一步地,在matlab/simulink中建立ucav非线性六自由度模型并设计相应的pid控制器,在python中实现td3算法,进行状态空间、动作空间以及奖励函数设计,通过python调用matlab实现控制指令与空战态势的传递,最终训练得到用于决策的策略网络。
71、(三)有益效果
72、本发明提出一种六自由度环境下基于双延时确定策略梯度的空战决策方法,本发明的有益效果如下:
73、本发明建立了ucav的非线性六自由度模型,相较于以过载为输入的三自由度质点模型更加贴近空战实际,得到的结果更具有参考价值。
74、本发明采用了具有连续决策输出的双延时确定策略梯度算法,相较于以dqn算法为代表的离散决策输出算法,无需将控制指令离散化为几个机动动作,拓宽了决策指令的可选择范围,更具有实际应用价值。
75、本发明ucav六自由度模型在matlab/simulink中搭建,td3算法使用python实现,充分利用了matlab/simulink平台快速建模的优点与python中丰富的深度强化学习资源,同时各部分模块化程度高,能够便捷地更换ucav模型与深度强化学习算法,满足不同的研究需要。
本文地址:https://www.jishuxx.com/zhuanli/20240730/197894.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。