一种基于经验池优化的无人机自主控制方法及系统

文档序号:31295200发布日期:2022-08-27 03:57阅读:85来源:国知局
一种基于经验池优化的无人机自主控制方法及系统

1.本发明涉及飞行控制技术领域,并且更具体地,涉及一种基于经验池优化的无人机自主控制方法及系统。


背景技术:

2.无人驾驶飞行器(unmanned aerial vehicle,uav)简称无人机,既可以通过无线电使用遥控设备控制飞行,也能利用传感器设备和内部程序自主飞行。随着无人机相关技术的发展,无人机逐渐融入到人们的生活之中。由于无人机具有成本低、体积小、灵活性高、战场生存能力强、操作方便等优势,使得它在军用和民用领域都得到了广泛的应用。
3.在无人机快速发展的同时,制约无人机应用的无人机自主飞行控制技术也得到了广泛的关注,众多学者和机构纷纷投入了研究。在长时间的研究过程中,许多控制方法被相应的提出,现有的方法可以分为传统线性控制方法、一般的非线性控制方法和基于学习的控制方法。但是传统线性控制算法由于模型结构的限制,并不能输出精确的控制而且存在抗干扰能力差的问题,一般的非线性方法过于依赖专家经验,且同样存在控制精度低的问题。而深度强化学习通过将深度学习中的神经网络与强化学习思想结合起来,在众多序列决策任务中表现出了比较好的性能。由于神经网络可以无限逼近任何连续函数,不会受到特定控制器结构的限制,因此可以输出高精度的控制动作。
4.然而无人机自主控制任务中存在奖励稀疏的问题,传统的深度学习在奖励稀疏环境中很难学到一个较好的策略。这主要是由于经验池中存放了大量的并不能帮助智能体学习的经验,导致在经验重放时很难取到有效经验。


技术实现要素:

5.针对上述问题,本发明提出了一种基于经验池优化的无人机自主控制方法,包括:
6.在无人机仿真模拟器中针对目标无人机,设置仿真环境;
7.建立目标无人机的状态空间,动作空间以及奖励函数;
8.根据所述状态空间以及动作空间构建用于特征提取的自编码器;
9.构建无人机自主控制任务决策网络模型;
10.加载所述仿真环境模拟目标无人机飞行,通过所述奖励函数生成经验数据,以及通过自编码器提取经验数据的特征值,并根据特征值筛选经验数据,根据筛选后的经验数据训练所述无人机自主控制任务决策网络模型;
11.通过训练后的无人机自主控制任务决策网络模型,对目标无人机进行自主控制。
12.可选的,方法还包括:设置仿真环境的过程中,同时设置目标无人机在仿真环境中飞行的起始位置和目标位置。
13.可选的,用于特征提取的自编码器,包括:用于状态信息特征提取的自编码器和用于动作信息特征提取的自编码器;
14.所述用于状态信息特征提取的自编码器,根据状态空间构建,具体包括:根据状态
空间构建模拟状态数据集,根据所述模拟状态数据集,构建用于状态信息特征提取的自编码器;
15.所述用于动作信息特征提取的自编码器,根据动作空间构建,具体包括:根据动作空间构建模拟动作数据集,根据所述模拟动作数据集,构建用于动作信息特征提取的自编码器。
16.可选的,无人机自主控制任务决策网络模型,包括:actor网络和critic网络。
17.可选的,加载所述仿真环境模拟目标无人机飞行,通过所述奖励函数生成经验数据,以及通过自编码器提取经验数据的特征值,并根据特征值筛选经验数据,根据筛选后的经验数据训练所述无人机自主控制任务决策网络模型,具体包括:
18.加载仿真环境;
19.使用无人机自主控制任务决策网络模型,根据所述目标无人机的当前状态信息,做出动作决策;所述动作决策用于控制目标无人机在仿真环境中模拟飞行;
20.通过所述奖励函数,计算目标无人机所有时刻动作作用于仿真环境后产生的奖励值,并根据奖励值、目标无人机的状态信息、动作信息以及新的状态信息生成经验数据;
21.并通过自编码器提取经验数据的特征值,根据所述特征值筛选经验数据;
22.通过筛选的经验数据,对无人机自主控制任务决策网络模型进行训练。
23.本发明还提供了一种基于经验池优化的无人机自主控制系统,包括:
24.仿真环境搭建单元,在无人机仿真模拟器中针对目标无人机,设置仿真环境;
25.第一计算单元,建立目标无人机的状态空间,动作空间以及奖励函数;
26.第二计算单元,根据所述状态空间以及动作空间构建用于特征提取的自编码器;
27.模型搭建单元,构建无人机自主控制任务决策网络模型;
28.模型训练单元,加载所述仿真环境模拟目标无人机飞行,通过所述奖励函数生成经验数据,以及通过自编码器提取经验数据的特征值,并根据特征值筛选经验数据,根据筛选后的经验数据训练所述无人机自主控制任务决策网络模型;
29.无人机自主控制单元,通过训练后的无人机自主控制任务决策网络模型,对目标无人机进行自主控制。
30.可选的,仿真环境搭建单元还用于:设置仿真环境的过程中,同时设置目标无人机在仿真环境中飞行的起始位置和目标位置。
31.可选的,用于特征提取的自编码器,包括:用于状态信息特征提取的自编码器和用于动作信息特征提取的自编码器;
32.所述用于状态信息特征提取的自编码器,根据状态空间构建,具体包括:根据状态空间构建模拟状态数据集,根据所述模拟状态数据集,构建用于状态信息特征提取的自编码器;
33.所述用于动作信息特征提取的自编码器,根据动作空间构建,具体包括:根据动作空间构建模拟动作数据集,根据所述模拟动作数据集,构建用于动作信息特征提取的自编码器。
34.可选的,无人机自主控制任务决策网络模型,包括:actor网络和critic网络。
35.可选的,加载所述仿真环境模拟目标无人机飞行,通过所述奖励函数生成经验数据,以及通过自编码器提取经验数据的特征值,并根据特征值筛选经验数据,根据筛选后的
经验数据训练所述无人机自主控制任务决策网络模型,具体包括:
36.加载仿真环境;
37.使用无人机自主控制任务决策网络模型,根据所述目标无人机的当前状态信息,做出动作决策;所述动作决策用于控制目标无人机在仿真环境中模拟飞行;
38.通过所述奖励函数,计算目标无人机所有时刻动作作用于仿真环境后产生的奖励值,并根据奖励值、目标无人机的状态信息、动作信息以及新的状态信息生成经验数据;
39.并通过自编码器提取经验数据的特征值,根据所述特征值筛选经验数据;
40.通过筛选的经验数据,对无人机自主控制任务决策网络模型进行训练。
41.本发明可以有效的减少重复经验存入经验池,提高经验池中经验的多样性,保证智能体可以尽可能多的学习到各种各样的经验,解决由于奖励稀疏导致的智能体难以学到最优策略的问题,加速了决策网络模型的学习。
附图说明
42.图1为本发明方法的流程图;
43.图2为本发明系统的结构图。
具体实施方式
44.现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。
45.除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
46.本发明提出了一种基于经验池优化的无人机自主控制方法,如图1所示,包括:
47.在无人机仿真模拟器中针对目标无人机,设置仿真环境;
48.建立目标无人机的状态空间,动作空间以及奖励函数;
49.根据所述状态空间以及动作空间构建用于特征提取的自编码器;
50.构建无人机自主控制任务决策网络模型;
51.加载所述仿真环境模拟目标无人机飞行,通过所述奖励函数生成经验数据,以及通过自编码器提取经验数据的特征值,并根据特征值筛选经验数据,根据筛选后的经验数据训练所述无人机自主控制任务决策网络模型;
52.通过训练后的无人机自主控制任务决策网络模型,对目标无人机进行自主控制。
53.其中,方法还包括:设置仿真环境的过程中,同时设置目标无人机在仿真环境中飞行的起始位置和目标位置。
54.描述无人机状态的三个姿态角分别为横滚角(roll)、俯仰角(pitch)和偏航角(yaw),定义三个角度上的姿态角度为(roll,pitch,yaw);定义三个姿态角上的角速度为(roll_v,pitch_v,yaw_v);定义三个姿态角方向上的加速度为(roll_a,pitch_a,yaw_a);
定义在三维坐标系上目标位置相对于无人机当前位置坐标为(point_x,point_y,point_z);定义无人机在三维坐标系上的速度为(v_x,v_y,v_z);无人机在三维坐标系上的加速度为(a_x,a_y,a_z);
55.根据上述定义的参数,建立目标无人机的状态空间,动作空间以及奖励函数;
56.建立无人机的状态空间,具体如下;
57.每一架无人机的状态包括自身的姿态和动态信息,无人机在t时刻的状态定义为:
[0058][0059]
无人机在各个时刻的状态构成了无人机的状态空间;
[0060]
建立无人机的动作空间,具体如下;
[0061]
t时刻将无人机的状态传递给智能体,智能体根据当前策略输出无人机控制动作(action_pitch,action_yaw,action_throttle),action_pitch表示俯仰角的控制,action_yaw表示横滚角的控制,action_throttle表示油门的控制。三个控制动作的取值范围均为-1到1之间。
[0062]
建立无人机奖励函数,具体如下:
[0063]
定义俯仰角度的奖励函数如下式(2),其中p1表示无人机当前的俯仰角度,p2表示无人机应该的俯仰角度,r
p
表示无人机在俯仰姿态的奖励值:
[0064][0065]
定义横滚角度的奖励函数如下式(3),roll表示无人机当前的横滚角度,rr表示横滚姿态的奖励值:
[0066]rr
=-|roll|
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0067]
定义航向角度的奖励函数如下式(4),其中y1表示无人机当前的航向角度,y2表示无人机应该的航向角度,ry,表示航向姿态的奖励值:
[0068][0069]
最终无人机奖励函数设定为:
[0070]
r=(r
p
+ry+rr)*r
dis
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0071]
其中r
dis
为无人机的前进距离,r为最终的奖励值;
[0072]
其中,用于特征提取的自编码器,包括:用于状态信息特征提取的自编码器和用于动作信息特征提取的自编码器;
[0073]
所述用于状态信息特征提取的自编码器,根据状态空间构建;
[0074]
所述用于动作信息特征提取的自编码器,根据动作空间构建。
[0075]
其中,状态空间用于构建模拟状态数据集,根据所述模拟状态数据集,构建用于状态信息特征提取的自编码器。
[0076]
其中,动作空间用于构建模拟动作数据集,根据所述模拟动作数据集,构建用于动作信息特征提取的自编码器。
[0077]
其中,无人机自主控制任务决策网络模型,包括:actor网络和critic网络。actor网络和critic网络也都具备双网络结构,拥有各自的目标网络和当前网络。
[0078]
其中,加载所述仿真环境模拟目标无人机飞行,通过所述奖励函数以及自编码器
获取模拟目标无人机飞行的经验数据,根据经验数据训练所述无人机自主控制任务决策网络模型,具体包括:
[0079]
加载仿真环境;
[0080]
使用无人机自主控制任务决策网络模型的actor网络,根据所述目标无人机的当前状态信息,做出动作决策;所述动作决策用于控制目标无人机在仿真环境中模拟飞行;飞行过程中,模拟环境的状态发生变化;
[0081]
通过所述奖励函数,计算目标无人机所有时刻动作作用于仿真环境后产生的经验数据,具体为:
[0082]
奖励函数计算无人机当前时刻产生的动作,作用于环境后产生的奖励值,从而得到无人机的经验数据。无人机的经验数据包括无人机当前时刻状态、动作策略、无人机奖励值、无人机下一时刻的状态。无人机一条经验数据表示为《s
t
,a
t
,r
t
,s
t+1
》,其中s
t
表示无人机任务中当前时刻的状态,ai表示当前时刻无人机的动作策略,ri表示无人机当前时刻动作得到的奖励值,s
i+1
表示无人机任务中下一时刻的状态;
[0083]
并通过自编码器对经验数据进行提取;无人人机在每一时刻都不断地产生经验数据,所存储这些经验数据的空间定义为经验池,经验数据需要通过自编码器进行特征提取,得到特征值f,存储特征值f的空间定义为特征记录表。
[0084]
每条经验数据存入经验池之前需要判断经验池是否已存满,如果经验池已满,需要先移除一条经验数据,并使用自编码器进行特征提取,得到特征值fi,同时将特征记录表中的特征值fi移除;
[0085]
对当前经验数据使用自编码器进行特征提取,得到特征值fj,在特征记录表中查询特征值fj是否已经存在。如果特征值fj已经存在,则当前经验数据不再存放到经验池中;
[0086]
如果特征记录表中没有特征值fj的记录,则将特征值存入特征记录表,并将当前的经验数据存入经验池中。
[0087]
通过提取的经验数据,对无人机自主控制任务决策网络模型进行训练,具体为:
[0088]
随机从经验池中取出不同时刻的n个经验,组成结构为《s,a,r,s’》的采样经验数据集,其中s为采样经验数据集中无人机当前时刻状态集合,a为采样经验数据集中当前时刻无人机动作策略集合,r为采样经验数据集中当前时刻无人机奖励值集合,s’为无人机下一时刻状态集合,由当前状态集合s采取当前动作集合a得到;
[0089]
将s’输入到目标actor网络中得到下一时刻所有无人机动作策略集合a’,随后将a’和s’一起输入到目标critic网络中,得到下一时刻估计的目标q’值;
[0090]
定义critic网络的损失函数为:
[0091][0092]
其中,θq是当前critic网络的参数,n表示训练时抽取经验数;q(si,ai|θq)表示以si和ai为输入时,当前critic网络的输出q值;
[0093]
yi可表示为:
[0094]
yi=ri+γq

(s
i+1
,μ

(s
i+1

μ

)|θq′
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0095]
其中,γ为折扣因子,θq′
为目标critic网络中的参数,θ
μ

为目标actor网络的输出;q

(s
i+1
,μ

(s
i+1

μ

)|θq′
)表示以s
i+1
和μ

(s
i+1

μ

)为输入的目标critic的输出;
[0096]
以yi为训练标签,通过反向传播更新当前actor网络的权重;
[0097]
采用异策略方法进行训练和更新当前critic网络的权重;
[0098]
每间隔固定时间通过软更新的方式更新目标critic网络和目标actor网络的权重;
[0099]
当达到设定的训练次数时停止训练。
[0100]
本发明还提出了一种基于经验池优化的无人机自主控制系统200,如图2所示,包括:
[0101]
仿真环境搭建单元201,在无人机仿真模拟器中针对目标无人机,设置仿真环境;
[0102]
第一计算单元202,建立目标无人机的状态空间,动作空间以及奖励函数;
[0103]
第二计算单元203,根据所述状态空间以及动作空间构建用于特征提取的自编码器;
[0104]
模型搭建单元204,构建无人机自主控制任务决策网络模型;
[0105]
模型训练单元205,加载所述仿真环境模拟目标无人机飞行,通过所述奖励函数生成经验数据,以及通过自编码器提取经验数据的特征值,并根据特征值筛选经验数据,根据筛选后的经验数据训练所述无人机自主控制任务决策网络模型;
[0106]
无人机自主控制单元206,通过训练后的无人机自主控制任务决策网络模型,对目标无人机进行自主控制。
[0107]
其中,仿真环境搭建单元201还用于:设置仿真环境的过程中,同时设置目标无人机在仿真环境中飞行的起始位置和目标位置。
[0108]
其中,用于特征提取的自编码器,包括:用于状态信息特征提取的自编码器和用于动作信息特征提取的自编码器;
[0109]
所述用于状态信息特征提取的自编码器,根据状态空间构建,具体包括:根据状态空间构建模拟状态数据集,根据所述模拟状态数据集,构建用于状态信息特征提取的自编码器;
[0110]
所述用于动作信息特征提取的自编码器,根据动作空间构建,具体包括:根据动作空间构建模拟动作数据集,根据所述模拟动作数据集,构建用于动作信息特征提取的自编码器。
[0111]
其中,无人机自主控制任务决策网络模型,包括:actor网络和critic网络。
[0112]
其中,加载所述仿真环境模拟目标无人机飞行,通过所述奖励函数生成经验数据,以及通过自编码器提取经验数据的特征值,并根据特征值筛选经验数据,根据筛选后的经验数据训练所述无人机自主控制任务决策网络模型,具体包括:
[0113]
加载仿真环境;
[0114]
使用无人机自主控制任务决策网络模型,根据所述目标无人机的当前状态信息,做出动作决策;所述动作决策用于控制目标无人机在仿真环境中模拟飞行;
[0115]
通过所述奖励函数,计算目标无人机所有时刻动作作用于仿真环境后产生的奖励值,并根据奖励值、目标无人机的状态信息、动作信息以及新的状态信息生成经验数据;
[0116]
并通过自编码器提取经验数据的特征值,根据所述特征值筛选经验数据;
[0117]
通过筛选的经验数据,对无人机自主控制任务决策网络模型进行训练。
[0118]
本发明可以有效的减少重复经验存入经验池,提高经验池中经验的多样性,保证智能体可以尽可能多的学习到各种各样的经验,解决由于奖励稀疏导致的智能体难以学到
最优策略的问题,加速了决策网络模型的学习。
[0119]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本发明实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言java和直译式脚本语言javascript等。
[0120]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0121]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0122]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0123]
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0124]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1