一种无人机强化学习训练系统的实现方法与流程

文档序号:29869913发布日期:2022-04-30 18:12阅读:642来源:国知局
一种无人机强化学习训练系统的实现方法与流程

1.本发明属于无人机领域,尤其是涉及一种无人机强化学习训练系统的实现方法。


背景技术:

2.目前,无人作战飞机(unmanned combat aerial vehicle,ucav)的空战过程智能化技术研究已经是国内外专家的热门课题。由于无人机能承受的过载大以及未来空战的复杂度高,利用人工智能等技术赋予无人机相当程度的自主决策权限,实现ucav空战过程智能化。
3.在实际使用过程中,无人机在智能化训练的过程中需要与实际环境不断交互,从而产生大量的训练数据,显然有些训练的过程无法使用无人机在真实的环境中进行,因此亟需一种无人机强化学习训练系统的实现方法,提供一种虚拟的仿真方法,让无人机在仿真环境中进行智能化训练、仿真推演。


技术实现要素:

4.有鉴于此,本发明旨在提出一种无人机强化学习训练系统的实现方法,采用x-plane作为仿真训练环境,以数据存储模块、x-plane gym模块、强化学习算法模块、系统控制模块为基础,对外提供标准化的接口,实现高效的训练数据收集存储、模型训练、空战仿真推演功能。
5.为达到上述目的,本发明的技术方案是这样实现的:第一方面本方案公开了一种无人机强化学习训练系统,包括系统控制模块、无人机仿真训练模块、x-plane gym模块、强化学习算法模块和数据存储模块;系统控制模块从强化学习算法模块获得无人机的控制参数,并将获得的控制参数通过x-plane gym模块提供的gym标准接口发送给x-plane gym模块;x-plane gym模块将收到的控制参数转化为x-plane仿真环境可识别动作,包括升级杆、副翼杆、方向舵、油门、起落架、襟翼的控制动作,然后通过xpc接口发送给x-plane仿真环境;x-plane仿真环境按照接收到的升级杆、副翼杆、方向舵、油门、起落架、襟翼的控制动作完成无人机飞行控制,并将执行完上述动作后无人机的状态通过xpc接口反馈给x-plane gym模块;x-plane gym模块根据收到的无人机状态信息,计算出当前动作的奖励,并通过gym标准接口将状态与奖励信息发送给系统控制模块;系统控制模块根据收到的状态与奖励保存到数据存储模块;数据存储模块收到数据后完成数据的收集与存储;整个系统在系统控制模块的控制下重复上述过程,当数据存储模块中的数据积累到可以训练强化学习算法模块需要的批量数据后,系统控制模块从数据存储模块批量抽取数据,然后用抽取的数据训练强化学习算法模块中的算法。
6.进一步的,无人机仿真训练模块包括基于x-plane软件的无人机仿真训练模块;通过x-plane软件提供的二次开发接口,将强化学习算法输出飞机的连续动作向量,转化为飞机的状态向量。
7.进一步的,通过x-plane gym模块的通信接口完成系统控制模块与x-plane软件的信息交互,通信接口在工作时包括以下操作:网络端口配置、控制和获取飞机动作、获取和设置飞机状态。
8.进一步的,x-plane gym模块结合openai gym的二次开发接口,实现对无人机仿真环境的环境复位、获取状态、关闭环境操作。
9.进一步的,x-plane gym模块根据不同的任务设计奖励函数,通过奖励函数完成对无人机执行动作的评价。
10.进一步的,x-plane gym模块实现动作、状态参数向量的归一化;强化学习算法模块从x-plane gym模块中获取当前动作下的状态空间向量,x-plane gym模块直接从x-plane的仿真环境中获取的飞机原始的状态信息,包括飞机的经度、纬度、高度、俯仰角、横滚角、油门、海拔高度信息。
11.进一步的,针对飞机的经度、纬度、高度、俯仰角、横滚角、油门、海拔高度信息,在x-plane gym模块中对输出给强化学习算法的状态信息进行归一化处理。
12.进一步的,飞机的连续动作向量为6维向量,包括升级杆、副翼杆、方向舵、油门、起落架、襟翼。
13.第二方面本方案公开了一种无人机强化学习训练系统的实现方法,应用一种无人机强化学习训练系统,包括以下步骤:步骤a:通过系统控制模块调用强化学习算法模块中的强化学习算法,生成控制飞机的动作;步骤b:通过系统控制模块通过调用x-plane gym模块的step函数将动作发送给x-plane软件;步骤c:通过x-plane软件执行步骤a中生成的生成控制飞机的动作,并仿真出飞机下一时刻的状态;步骤d:通过x-plane gym模块从x-plane软件获取飞机状态,通过奖励函数计算出动作的奖励值;步骤e: x-plane gym模块通过step函数将飞机状态、奖励值、是否结束信息反馈给系统控制模块;步骤f: 系统控制模块,将状态、奖励值、是否结束信息保存到训练数据存储资源池中;系统控制模块判断数据存储模块中的数据量是否到达可以训练强化学习算法模块中算法所需要的数据数量;如果未到达则重复执行步骤a到步骤f过程完成数据收集与存储;如果到达则系统控制模块从数据存储模块中批量抽取训练数据,并用抽取的数据训练强化学习算法模块中的算法,然后再启动上述步骤a到步骤f过程完成数据收集与存储,并且执行数据抽取与强化学习算法模块中的算法训练过程。
14.相对于现有技术,本发明所述的一种无人机强化学习训练系统的实现方法具有以下有益效果:(1)本发明所述的一种无人机强化学习训练系统的实现方法,结合x-plane软件建立了强化学习训练、算法评估、空战推演系统,可以更真实的模拟无人机在不同环境中的飞行状态,完成无人机智能化模型训练、算法评估、空战推演功能;同时结合数据存储模块的
数据持久化功能,保证系统在异常情况下,训练数据的保存问题,避免了训练数据收集时间长、模型不易收敛的问题。
15.(2)本发明所述的一种无人机强化学习训练系统的实现方法,结合x-plane软件二次开发接口,完成与x-plane软件的交互,同时利用x-plane软件进行飞机飞行姿态、状态的仿真,可以更加真实的模拟飞机在各种环境中的情况;(3)本发明所述的一种无人机强化学习训练系统的实现方法,实现了标准化的x-plane gym接口,模块化的设计,系统可以支持多种强化学习算法,方便各类算法性能对比分析;(4)本发明所述的一种无人机强化学习训练系统的实现方法,数据存储模块支持数据持久化功能,系统异常、断电时,训练数据仍然保持在数据存储模块中,避免了再次训练时重新收集训练数据导致的训练时间长、模型不易收敛的问题。
附图说明
16.构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是本发明系统模型训练仿真过程示意图;图2是本发明系统模型参数、训练过程参数、训练数据加载保存过程示意图。
具体实施方式
17.需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
18.下面将参考附图并结合实施例来详细说明本发明。
19.本发明采用x-plane作为仿真训练环境,以数据存储模块、x-plane gym模块、强化学习算法模块 、系统控制模块为基础,对外提供标准化的接口,实现高效的训练数据收集存储、模型训练、空战仿真推演功能。
20.本发明是通过以下技术方案达到上述目的:1、无人机仿真训练模块环境:x-plane软件是一款模拟飞行软件,为用户提供军用、商用机型、逼真的三维地形和各种复杂气象选择。该软件提供各种气象条件的设置,通过加载真实的飞机模型和性能指标,可获得各种气象条件下的飞参数据。该软件为用户提供二次开发控制接口,用户可自由选择所需飞行参数数据,通过设置通信端口、发送数据类型和发送频率, 采用udp协议与用户应用软件进行交互。x-plane软件可以真实的模拟相当复杂的飞机设计,包括直升机、火箭以及旋翼飞机等,由于其专业的力学模型原理,若搭配专业的飞行模拟硬件,能够被美国联邦航空管理局认证,作为模拟飞行仿真训练环境。
21.无人机仿真训练模块环境采用x-plane软件,可以更真实的仿真不同类型飞机、在不同外界环境下的飞行情况。通x-plane软件提供的二次开发接口,将强化学习算法输出飞机的连续动作action向量,转化为飞机的状态状态向量,完成从动作空间到状态空间的转化,实现无人机的飞行仿真。
22.2、x-plane gym模块:
x-plane gym模块主要功能主要有四个方面;一是通过实现的通信接口,完成系统控制模块与x-plane软件的信息交互,实现的通信接口包括网络端口配置、控制和获取飞机动作、获取和设置飞机状态等;二是结合openai gym的二次开发接口,实现x-plane gym中标准的接口,包括:环境复位(reset函数)、获取状态(step函数)、关闭环境(close函数)等;三是根据不同的任务设计奖励函数,通过奖励函数完成对无人机执行动作的评价。
23.四是实现动作、状态等参数向量的归一化。强化学习算法模块从x-plane gym模块中获取当前动作下的状态空间向量, x-plane gym模块直接从x-plane环境中获取的飞机原始的状态信息,包括飞机的经度、纬度、高度、俯仰角、横滚角、油门、海拔高度等信息。每种信息的范围与度量标准各不相同,需要在x-plane gym模块中对输出给强化学习算法的状态信息进行归一化处理,避免由于输入参数差异过大导致网络无法收敛问题。
24.飞机动作控制action向量为6维向量,包括升级杆、副翼杆、方向舵、油门、起落架、襟翼,6个控制飞机飞行的动作,其中动作的取值范围如下表所示:表1 动作控制范围动
ꢀꢀ
作范
ꢀꢀ
围升级杆-1~1副翼杆-1~1方向舵-1~1油 门0~1起落架0=放下,1=收起襟 翼0~1飞机状态状态为14维向量,内容如下:{latitude,longitude,altitude,pitch,roll,yaw,roll_rate,pitch_rate,yaw_rate,velocity_x,velocity_y,velocity_z,air_speed,ground_speed},对应的含义如下表所示。
25.表2 状态空间含义状态含义latitude经度longitude维度altitude高度pitch俯仰角roll横滚角yaw方向角roll_rate横滚角旋转率pitch_rate俯仰角旋转率yaw_rate方向角旋转率velocity_x相对于x轴的速度velocity_y相对于y轴的速度
velocity_z相对于z轴的速度air_speed空速ground_speed飞机相对于地面的速度x-plane gym模块与x-plane软件实现的控制接口,如下表所示,通过相关接口可以实现,无人机初始状态始终、飞行控制、飞行状态获取等功能。
26.表3 x-plane接口说明
xpc常用函数说
ꢀꢀꢀꢀꢀꢀ
明openudp与x-plane建立网络连接closeudp与x-plane关闭网络连接pausesim暂停x-plane仿真环境getdrefs使用x-plane的datarefs文件获取飞行环境状态senddrefs使用x-plane的datarefs文件设置飞行环境状态sendctrl控制飞行器操作面值(升降杆、副翼、方向舵、油门、起落架、襟翼)getctrl获取飞行器操作面值(升降杆、副翼、方向舵、油门、起落架、襟翼)sendposi设置飞行器精度、维度、高度、俯仰角、横滚角、航向角、油门、起落架初始位置getposi获取飞行器精度、维度、高度、俯仰角、横滚角、航向角、油门、起落架初始位置
3、强化学习算法模块:包含强化学习中标准的算法,比如:dqn、ddpg、a2c、a3c等算法,训练模型时可以根据设定的任务,灵活选择需要的算法,采用模块化的设计,可以方便验证不同算法的效果。
27.4、数据存储模块:主要完成训练数据的收集、存储,同时具备断电、异常时输出存储模块可以作为训练数据资源池,保存前期收集到的训练数据,避免下次开始训练时,完全重新开始收集训练数据,导致训练数据收集时间长,训练效率低,模型不易收敛的问题。
28.5、系统控制模块:完成整个训练系统的协作控制、算法模型选择、算法模型训练、数据保存等功能。
29.6、结合上述五个模块功能,系统的实现步骤如下:步骤1: 系统控制模块调用强化学习算法模型生成飞机的控制命令action(动作);步骤2: 系统控制模块通过调用x-plane gym模块实现的标准化的接口,将action发送给x-plane gym模块;步骤3: x-plane gym模块将强化学习算法输出的动作转为x-plane仿真环境可以执行的控制命令,并通过xpc接口将转化后的action命令发送给x-plane仿真环境;步骤4: x-plane仿真环境执行动作,并仿真出飞机下一时刻的状态(状态),并将状态信息反馈给x-plane gym模块;步骤5: x-plane gym模块把从x-plane仿真环境获取的飞机状态信息进行归一化处理,并通过奖励函数计算出当前action与状态的reward(奖励)值。
30.步骤6: 系统控制模块通过标准化的接口从x-plane gym模块获取归一化后的状态和reward信息;步骤7: 系统控制模块将获取到的状态、reward信息保存到数据存储模块;步骤8:系统控制模块,从数据存储模块中批量抽取存储的状态、reward、action数
据,并用使用该数据训练强化学习算法模型;步骤9:完成一个批次数据的强化学习算法模型训练后,系统控制模块更新并保存最新的强化学习算法模型。在具体实施过程中,图1是本发明系统模型训练仿真过程中,各个模块交互示意图。
31.图2是本发明系统模型参数、训练过程参数、训练数据加载保存示意图。
32.步骤a:如图2所示,系统控制模块首先检测是否存在训练过程数据,如果存在则加载训练过程参数、模型参数、训练数据,然后从强化学习算法模块中加载算法,然后进入图1所示的训练流程,根据加载的过程参数、模型参数继续进行训练数据收集、模型训练;若不存在,则直接从强化学习算法模块中加载算法并进入图1所示模型训练仿真流程,启动全新的训练数据收集、模型训练流程;步骤b:按照图1过程,整个训练系统在系统控制模块协调控制下,完成从1到9步骤;完成从训练数据收集、训练数据保存、模型训练、模型参数更新等过程;步骤c:每完成一次步骤b中的操作后,系统控制模块会判断是否到参数存储周期,如果到达则保存模型参数、训练过程参数,将参数持久化,确保断电或者异常后可以继续恢复训练;如果未到达则重复步骤b。上述过程循环执行,直到算法模型收敛后结束。
33.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
34.在本技术所提供的几个实施例中,应该理解到,所提及的方法和系统,可以通过其它的方式实现。例如,以上所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。上述单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
35.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
36.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1