虚拟环境下的多智能体博弈训练方法及系统

专利类型 发明公开 法律事件 公开; 实质审查; 驳回;
专利有效性 无效专利 当前状态 驳回
申请号 CN202210011912.3 申请日 2022-01-06
公开(公告)号 CN114444716A 公开(公告)日 2022-05-06
申请人 中国电子科技集团公司电子科学研究院; 申请人类型 企业
发明人 董琦; 赵小虎; 陈雨; 江涵立; 吴镇宇; 第一发明人 董琦
权利人 中国电子科技集团公司电子科学研究院 权利人类型 企业
当前权利人 中国电子科技集团公司电子科学研究院 当前权利人类型 企业
省份 当前专利权人所在省份:北京市 城市 当前专利权人所在城市:北京市石景山区
具体地址 当前专利权人所在详细地址:北京市石景山区双园路11号 邮编 当前专利权人邮编:100041
主IPC国际分类 G06N20/00 所有IPC国际分类 G06N20/00A63F13/67G06F8/30G06T17/05
专利引用数量 9 专利被引用数量 0
专利权利要求数量 10 专利文献类型 A
专利代理机构 工业和信息化部电子专利中心 专利代理人 华枫;
摘要 本 发明 提出了一种 虚拟环境 下的多智能体博弈训练方法及系统,该方法包括:S100:构建地形模型、环境模型、地面建筑模型和待训练目标模型,并导入虚拟环境。S200:设置待训练目标的参数及不同状态下的动作,以及设置地面建筑模型和待训练目标的交互规则。S300:在虚拟环境中对待训练目标进行多智能体博弈的训练。根据本发明提供的训练方法,通过构建地形模型、环境模型、地面建筑模型和待训练目标模型,并设置待训练目标的参数及不同状态下的动作,以及设置地面建筑模型和待训练目标的交互规则,搭建了高逼真度的多智能体博弈环境,为多智能体博弈训练提供了场景支持,引入不同的学习 算法 、能够灵活变更初始想定,具有较高的泛用性和实用性。
权利要求

1.一种虚拟环境下的多智能体博弈训练方法,其特征在于,包括:
构建地形模型、环境模型、地面建筑模型和待训练目标模型,并导入虚拟环境;
设置待训练目标的参数及不同状态下的动作,以及设置地面建筑模型和待训练目标的交互规则;
在虚拟环境中对待训练目标进行多智能体博弈的训练。
2.根据权利要求1所述的虚拟环境下的多智能体博弈训练方法,其特征在于,设置待训练目标的参数及不同状态下的动作,以及设置地面建筑模型和待训练目标的交互规则具体为:
使用编程语言或蓝图脚本系统,对所述待训练目标的参数进行设置,对所述待训练目标的不同状态下的动作逻辑进行设置。
3.根据权利要求1所述的虚拟环境下的多智能体博弈训练方法,其特征在于,所述方法还包括:
通过待训练目标的接口将无人设备的控制函数映射为Python语言,在Python端建立智能体模型。
4.根据权利要求3所述的虚拟环境下的多智能体博弈训练方法,其特征在于,在虚拟环境中对待训练目标进行多智能体博弈的训练包括:
将待训练目标在虚拟环境中获取的数据,经过智能算法处理、学习后,智能算法输出控制信息,调用所述控制函数控制待训练目标的决策,并将决策映射到虚拟环境中。
5.根据权利要求4所述的虚拟环境下的多智能体博弈训练方法,其特征在于,智能算法的种类包括避障算法、航迹规划算法、深度强化学习算法。
6.根据权利要求1所述的虚拟环境下的多智能体博弈训练方法,其特征在于,所述地面建筑模型和待训练目标的交互规则包括:建筑物物理毁伤,建筑物类型、建筑物ID及建筑物坐标信息。
7.根据权利要求1所述的虚拟环境下的多智能体博弈训练方法,其特征在于,构建地形模型、环境模型、地面建筑模型和待训练目标模型包括:
通过3D扫描或仿真建模对地面建筑模型和待训练目标模型进行构建;
通过导入地形和环境数据并进行模型转换分别对地形模型和环境模型进行构建。
8.一种虚拟环境下的多智能体博弈训练系统,其特征在于,包括:
导入模,用于构建地形模型、环境模型、地面建筑模型和待训练目标模型,并导入虚拟环境;
设置模块,设置待训练目标的参数及不同状态下的动作,以及设置地面建筑模型和待训练目标的交互规则;
训练模块,用于在虚拟环境中对待训练目标进行多智能体博弈的训练。
9.根据权利要求8所述的虚拟环境下的多智能体博弈训练系统,其特征在于,所述系统还包括:
映射模块,用于通过待训练目标的接口将无人设备的控制函数映射为Python语言,在Python端建立智能体模型。
10.根据权利要求9所述的虚拟环境下的多智能体博弈训练系统,其特征在于,在虚拟环境中对待训练目标进行多智能体博弈的训练包括:
将待训练目标在虚拟环境中获取的数据,经过智能算法处理、学习后,智能算法输出控制信息,调用所述控制函数控制待训练目标的决策,并将决策映射到虚拟环境中。

说明书全文

虚拟环境下的多智能体博弈训练方法及系统

技术领域

[0001] 本发明涉及多智能体博弈技术领域,尤其涉及一种虚拟环境下的多智能体博弈训练方法及系统。

背景技术

[0002] 近年来,深度强化学习的深入研究使得多智能体博弈训练算法得到了快速的发展,在其他领域也获得了广泛的应用。在真实度较高的虚拟环境中,博弈对抗的双方面临着许多问题,如双方都是复杂的拥有连续动作空间的多智能体系统,某一方可能拥有雷达/防空等对方无法得知的手段,天气、光照不断变化等,大大增加了学习的难度。
[0003] 目前市场上的多智能体博弈训练环境大多是基于实时战略(RTS)游戏和自行构想的场景,也有一些基于GIS的仿真平台接入了深度强化学习算法进行智能推演和仿真。

发明内容

[0004] 本发明要解决的技术问题是如何提高多智能体博弈训练的真实度,以及如何进行智能体集群的具体行为和控制,并提高训练多智能体的协同、博弈对抗能,提供一种虚拟环境下的多智能体博弈训练方法及系统。
[0005] 本发明提供一种虚拟环境下的多智能体博弈训练方法,包括:
[0006] 构建地形模型、环境模型、地面建筑模型和待训练目标模型,并导入虚拟环境;
[0007] 设置待训练目标的参数及不同状态下的动作,以及设置地面建筑模型和待训练目标的交互规则;
[0008] 在虚拟环境中对待训练目标进行多智能体博弈的训练。
[0009] 根据本发明提供的虚拟环境下的多智能体博弈训练方法,通过构建地形模型、环境模型、地面建筑模型和待训练目标模型,并设置待训练目标的参数及不同状态下的动作,以及设置地面建筑模型和待训练目标的交互规则,搭建了高逼真度的多智能体博弈环境,为多智能体博弈训练提供了场景支持,进而引入不同的学习算法、能够灵活变更初始想定的特点,具有较高的泛用性和实用性。
[0010] 根据本发明的一些实施例,设置待训练目标的参数及不同状态下的动作,以及设置地面建筑模型和待训练目标的交互规则具体为:
[0011] 使用编程语言或蓝图脚本系统,对所述待训练目标的参数进行设置,对所述待训练目标的不同状态下的动作逻辑进行设置。
[0012] 在本发明的一些实施例中,所述方法还包括:
[0013] 通过待训练目标的接口将无人设备的控制函数映射为Python语言,在Python端建立智能体模型。
[0014] 根据本发明的一些实施例,在虚拟环境中对待训练目标进行多智能体博弈的训练包括:
[0015] 将待训练目标在虚拟环境中获取的数据,经过智能算法处理、学习后,智能算法输出控制信息,调用所述控制函数控制待训练目标的决策,并将决策映射到虚拟环境中。
[0016] 在本发明的一些实施例中,智能算法的种类包括避障算法、航迹规划算法、深度强化学习算法。
[0017] 根据本发明的一些实施例,所述地面建筑模型和待训练目标的交互规则包括:建筑物物理毁伤,建筑物类型、建筑物ID及建筑物坐标信息。
[0018] 在本发明的一些实施例中,构建地形模型、环境模型、地面建筑模型和待训练目标模型包括:
[0019] 通过3D扫描或仿真建模对地面建筑模型和待训练目标模型进行构建;
[0020] 通过导入地形和环境数据并进行模型转换分别对地形模型和环境模型进行构建。
[0021] 本发明还提供一种虚拟环境下的多智能体博弈训练系统,包括:
[0022] 导入模,用于构建地形模型、环境模型、地面建筑模型和待训练目标模型,并导入虚拟环境;
[0023] 设置模块,设置待训练目标的参数及不同状态下的动作,以及设置地面建筑模型和待训练目标的交互规则;
[0024] 训练模块,用于在虚拟环境中对待训练目标进行多智能体博弈的训练。
[0025] 根据本发明提供的虚拟环境下的多智能体博弈训练系统,通过构建地形模型、环境模型、地面建筑模型和待训练目标模型,并设置待训练目标的参数及不同状态下的动作,以及设置地面建筑模型和待训练目标的交互规则,搭建了高逼真度的多智能体博弈环境,为多智能体博弈训练提供了场景支持,进而引入不同的学习算法、能够灵活变更初始想定的特点,具有较高的泛用性和实用性。
[0026] 在本发明的一些实施例中,所述系统还包括:
[0027] 映射模块,用于通过待训练目标的接口将无人设备的控制函数映射为Python语言,在Python端建立智能体模型。
[0028] 根据本发明的一些实施例,在虚拟环境中对待训练目标进行多智能体博弈的训练包括:
[0029] 将待训练目标在虚拟环境中获取的数据,经过智能算法处理、学习后,智能算法输出控制信息,调用所述控制函数控制待训练目标的决策,并将决策映射到虚拟环境中。附图说明
[0030] 图1为根据本发明实施例的虚拟环境下的多智能体博弈训练方法的流程示意图;
[0031] 图2为根据本发明实施例的虚拟环境下的多智能体博弈训练系统的结构示意图;
[0032] 图3为根据本发明实施例的虚拟环境下的多智能体博弈训练系统的功能流程图
[0033] 图4为根据本发明实施例的虚拟环境下的多智能体博弈训练系统的控制架构图;
[0034] 图5为根据本发明实施例的虚拟环境下的多智能体博弈训练系统的通信组件架构图;
[0035] 图6为根据本发明实施例的虚拟环境下的多智能体博弈训练系统的控制中心结构图;
[0036] 图7为根据本发明实施例的虚拟环境下的多智能体博弈训练方法的蓝图脚本示意图;
[0037] 图8为根据本发明实施例的虚拟环境下的多智能体博弈训练方法的蓝图脚本示意图。

具体实施方式

[0038] 为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
[0039] 在现有技术中,多智能体博弈训练环境大多是基于实时战略(RTS)游戏和自行构想的场景。但如果想将智能算法应用到现实环境中,实时战略游戏不具有参考意义,自行构想的场景通常都比较单一,会有元素的缺失。
[0040] 基于GIS的仿真平台通常用于大规模场景的推演,注重全局推演结果,而对于环境场景的细节描述不够清晰,不注重少量智能体集群的具体行为和控制,无法训练多智能体的协同、博弈对抗能力。
[0041] 旨在至少部分解决上述技术问题,本发明提供了一种虚拟环境下的多智能体博弈训练方法及系统。
[0042] 本发明提供一种虚拟环境下的多智能体博弈训练方法,如图1所示,包括:
[0043] S100:构建地形模型、环境模型、地面建筑模型和待训练目标模型,并导入虚拟环境。
[0044] S200:设置待训练目标的参数及不同状态下的动作,以及设置地面建筑模型和待训练目标的交互规则。
[0045] S300:在虚拟环境中对待训练目标进行多智能体博弈的训练。
[0046] 其中,虚拟环境可以使例如虚幻4引擎(Unreal Engine 4)和Cry Engine等游戏引擎,优选虚幻4引擎。
[0047] 根据本发明提供的虚拟环境下的多智能体博弈训练方法,通过构建地形模型、环境模型、地面建筑模型和待训练目标模型,并设置待训练目标的参数及不同状态下的动作,以及设置地面建筑模型和待训练目标的交互规则,搭建了高逼真度的多智能体博弈环境,为多智能体博弈训练提供了场景支持,进而引入不同的学习算法、能够灵活变更初始想定,具有较高的泛用性和实用性。
[0048] 根据本发明的一些实施例,如图7和图8所示,设置待训练目标的参数及不同状态下的动作,以及设置地面建筑模型和待训练目标的交互规则具体为:
[0049] 使用编程语言或蓝图脚本系统,对所述待训练目标的参数进行设置,对所述待训练目标的不同状态下的动作逻辑进行设置。
[0050] 具体而言,系统场景模型控制主要使用虚幻引擎蓝图脚本系统,虚幻引擎中的蓝图可视化脚本系统是一类完整的事件脚本系统,此系统的基础概念是使用基于节点的界面在虚幻引擎编辑器中创建场景元素,通过事件驱动对象与类。本发明对于需要交互的场景要素,定义了单独的蓝图类,通过蓝图可视化脚本研发攻击系统、雷达控制、固定翼飞行系统、防空车控制等场景元素的交互逻辑与模型控制,可全面提升系统研发效率,便于用户不断优化场景事件逻辑。
[0051] 在本发明的一些实施例中,所述方法还包括:
[0052] S250:通过待训练目标的接口将无人设备的控制函数映射为Python语言,在Python端建立智能体模型。
[0053] 具体而言,系统接口基于TCP/IP使用RPC协议(msgpack‑rpc protocol),通过RPCLIB(RPC协议库)研发程序接口函数功能。当场景仿真模型启动时,接口开启41451端口监听传入请求。智能体通过系统PYTHON后台连接此端口,使用msgpack序列化格式发送RPC调用,通过接口函数实现数据交互,例如下表所示:
[0054] 函数名称 kGetRadarTracking 备注具体参数 vehicle_name vehicle_name为str
返回值 Bool  
对应功能 获取固定翼是否正被雷达追踪  
[0055] 根据本发明的一些实施例,在虚拟环境中对待训练目标进行多智能体博弈的训练包括:
[0056] 将待训练目标在虚拟环境中获取的数据,经过智能算法处理、学习后,智能算法输出控制信息,调用所述控制函数控制待训练目标的决策,并将决策映射到虚拟环境中。
[0057] 在本发明的一些实施例中,智能算法的种类包括避障算法、航迹规划算法、深度强化学习算法。
[0058] 根据本发明的一些实施例,所述地面建筑模型和待训练目标的交互规则包括:建筑物物理毁伤,建筑物类型、建筑物ID及建筑物坐标信息。举例说明,具体蓝图脚本设计如图7和图8所示
[0059] 在本发明的一些实施例中,构建地形模型、环境模型、地面建筑模型和待训练目标模型包括:
[0060] S110:通过3D扫描或仿真建模对地面建筑模型和待训练目标模型进行构建;
[0061] S120:通过导入地形和环境数据并进行模型转换分别对地形模型和环境模型进行构建。
[0062] 本发明还提供一种虚拟环境下的多智能体博弈训练系统,包括:导入模块、设置模块和训练模块,其中,导入模块用于构建地形模型、环境模型、地面建筑模型和待训练目标模型,并导入虚拟环境,设置模块设置待训练目标的参数及不同状态下的动作,以及设置地面建筑模型和待训练目标的交互规则,训练模块用于在虚拟环境中对待训练目标进行多智能体博弈的训练。
[0063] 根据本发明提供的虚拟环境下的多智能体博弈训练系统,通过构建地形模型、环境模型、地面建筑模型和待训练目标模型,并设置待训练目标的参数及不同状态下的动作,以及设置地面建筑模型和待训练目标的交互规则,搭建了高逼真度的多智能体博弈环境,为多智能体博弈训练提供了场景支持,进而引入不同的学习算法、能够灵活变更初始想定,具有较高的泛用性和实用性。
[0064] 在本发明的一些实施例中,所述系统还包括映射模块,映射模块用于通过待训练目标的接口将无人设备的控制函数映射为Python语言,在Python端建立智能体模型。
[0065] 根据本发明的一些实施例,在虚拟环境中对待训练目标进行多智能体博弈的训练包括将待训练目标在虚拟环境中获取的数据,经过智能算法处理、学习后,智能算法输出控制信息,调用所述控制函数控制待训练目标的决策,并将决策映射到虚拟环境中。
[0066] 下面结合具体实施例,进一步阐述本发明。应理解的是,这些实施例仅用于说明本发明而不用于限制本发明的范围。
[0067] 虚幻4引擎(Unreal Engine 4,UE4)是一款游戏开发引擎,使用 Engine EULA协议开源,由于其出色的可视化性能、数据交互速度和功能自定义能力被广泛用与于工厂管理、城市规划、无人驾驶、数字孪生等领域。
[0068] 本发明基于UE4平台和智能算法常用的Python等语言,在UE4平台上搭建了一个模拟真实环境的场景,并构建了无人机、无人车仿真模型和控制模型。在此基础上,本发明开发了一个基于UE4平台的通信组件,用于使用智能算法生成智能体控制无人机、无人车在特定场景进行多智能体博弈训练,并给出对应的多智能体博弈方案,指导智能体完成任务,实现智能化。
[0069] 本发明具体由模拟真实环境和无人机、无人车模型、通信组件和深度强化学习算法构成,图3为本发明的功能流程图。
[0070] 三维可视化虚拟环境的构建:
[0071] 步骤一:在Blender软件中完成地形和环境的构建,然后在虚幻4引擎(Unreal Engine 4,UE4)中,导入地形和环境模型。
[0072] 步骤二:在3ds MAX/MAYA等三维建模软件中,或通过3D扫描等技术,对无人机、无人车的外形进行建模,生成无人机、无人车的物理外形模型。将该模型导入到UE4平台中,通过C++或蓝图实现该型号的无人机飞控、无人车控制仿真模型以及不同飞行状态下的动作。
[0073] 这两步搭建了一个高逼真度的三维可视化多智能体博弈环境,为多智能体博弈训练提供了场景支持。
[0074] 虚拟环境下的多智能体博弈训练系统还包括环境、智能体与智能学习算法的通信组件,如图5所示,该组件被设计为UE4平台的插件,通过无人机、无人车等的接口将无人设备的控制函数映射为Python语言,用户在Python端建立智能体模型,使用深度强化学习算法训练智能体,训练号的智能体调用这些控制函数进行对无人机、无人车的控制和状态查询。
[0075] 该组件的具体功能为:无人机、无人车挂载的摄像头拍摄的高真实度三维可视化虚拟环境的图像照片、红外图像、激光雷达等获取到的位置、方向、距离信息等通过该组件传输到智能算法的输入端,经过智能算法处理、学习后,智能算法输出控制信息,调用控制函数控制无人机、无人车的决策,并将决策映射到高真实度三维可视化虚拟环境中,智能算法的种类包括但不限于避障算法、航迹规划算法、深度强化学习算法等。
[0076] 无人机、无人车的行为由称为“大脑”的软件控制,如图4所示,功能相似的无人机、无人车由一个“大脑”控制。“大脑”的模式有三种,第一种是“外部通信”模式,可以通过外部的学习算法来控制无人机、无人车的行为,不断学习给出新的行动方案;第二种是“内部通信”模式,可以将智能算法训练完的策略加载到“大脑”中进行决策,并不再进行训练;第三种是“脚本”模式,通过固定的脚本或策略控制无人机、无人车,不直接涉及训练,但可以成为博弈训练的一部分。
[0077] 在使用深度强化学习算法进行训练时,将“大脑”的控制方式选择为“外部通信”,将深度强化学习算法需要的数据从高真实度三维可视化环境中实时传输到Python端,在Python端用深度强化学习算法进行训练,输出控制信息,并将该控制信息实时传回三维环境中控制无人机、无人车行动。在训练结束后,可以将训练生成的TensorFlow/Pytorch模型加载到“大脑”中,将“大脑”的控制方式更改为“内部通信”,使用深度强化学习模型控制无人机、无人车智能决策、执行任务。
[0078] 通信组件的具体工作流程如下:
[0079] 在使用深度强化学习算法时,如图6所示,在“外部通信”模式进行训练时,在高真实度三维可视化环境中,无人机、无人车(即智能体)将它的观测量(如摄像机拍摄到的图像、雷达探测到与目标物或障碍物的距离、影响飞行的力等数据)传到对应的“大脑”中,各个“大脑”将收集到的所有信息和无人机、无人车执行行为后获得的奖励传到“控制中心”,“控制中心”通过外部通信组件中的SocketIO,使用msgpack‑rpc协议将数据传输到Python端,在Python端使用深度强化学习算法训练后生成控制信息并返回到“控制中心”,“控制中心”将各个“大脑”的动作信息分发,“大脑”获得动作信息后用于控制对应无人机、无人车(智能体)的行为,并将这一轮训练的数据保存到TensorFlow模型或Pytorch模型中,这样不断迭代更新模型中的数据直到训练结束。
[0080] 在“内部通信”模式中,在使用生成的TensorFlow模型或Pytorch模型执行任务时,“大脑”根据无人机、无人车当前的状态,通过TensorFlow C++API或Pytorch C++API解算模型,做出符合模型策略的决策,然后控制无人机、无人车做出行为,实现智能决策。在“脚本”模式使用固定策略、脚本或启发式算法控制无人机、无人车执行任务或行动时,需要提前将无人机、无人车的策略设定好,并且在执行任务的过程中,无人机、无人车的策略不会因为突发事件做出改变。“内部通信”模式和“脚本”模式还可以在“外部通信”模式的训练过程中使用,即训练好的TensorFlow模型或Pytorch模型、固定的Heuristic策略都可以作为训练的一部分来训练智能体的新的策略,增强决策的智能性,提高无人系统的自主性。
[0081] 通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。
QQ群二维码
意见反馈