CN113642243A - 多机器人的深度强化学习***、训练方法、设备及介质 - Google Patents

多机器人的深度强化学习***、训练方法、设备及介质 Download PDF

Info

Publication number
CN113642243A
CN113642243A CN202110967144.4A CN202110967144A CN113642243A CN 113642243 A CN113642243 A CN 113642243A CN 202110967144 A CN202110967144 A CN 202110967144A CN 113642243 A CN113642243 A CN 113642243A
Authority
CN
China
Prior art keywords
simulation
robot
algorithm
reinforcement learning
deep reinforcement
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
Application number
CN202110967144.4A
Other languages
English (en)
Inventor
陈俊锋
洪俊填
邓辅秦
高源�
胡君杰
郭溪越
林天麟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chinese University of Hong Kong Shenzhen
Shenzhen Institute of Artificial Intelligence and Robotics
Original Assignee
Chinese University of Hong Kong Shenzhen
Shenzhen Institute of Artificial Intelligence and Robotics
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chinese University of Hong Kong Shenzhen, Shenzhen Institute of Artificial Intelligence and Robotics filed Critical Chinese University of Hong Kong Shenzhen
Priority to CN202110967144.4A priority Critical patent/CN113642243A/zh
Publication of CN113642243A publication Critical patent/CN113642243A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/02Reliability analysis or reliability optimisation; Failure analysis, e.g. worst case scenario performance, failure mode and effects analysis [FMEA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Manipulator (AREA)
  • Feedback Control In General (AREA)

Abstract

本申请公开了一种多机器人的深度强化学习***、训练方法、设备及介质,包括:通信仿真模块,用于搭建多机器人的通信框架,包括订阅者、发布者、各仿真机器人对应的话题;环境仿真模块,用于搭建仿真环境、创建多个仿真机器人、构建与实际场景对应的仿真场景;算法环境模块,用于搭建算法环境,对多个仿真机器人对应的深度强化学习算法进行训练,在训练的过程中,各仿真机器人将状态数据发布至各第一状态话题,算法订阅各话题,利用状态数据确定出各仿真机器人的动作,分别发布至各仿真机器人对应的第一速度话题,各仿真机器人订阅相应的第一速度话题,执行动作,直到算法收敛,得到训练后深度强化学习算法。能够实现多机器人的深度强化学习训练。

Description

多机器人的深度强化学习***、训练方法、设备及介质
技术领域
本申请涉及机器人技术领域,特别涉及一种多机器人的深度强化学习***、训练方法、设备及介质。
背景技术
随着机器人行业的迅速发展,工业机器人、服务机器人等受到越来越多领域的重视,并在多个方面得到应用。例如仓储物流,外卖送餐,医疗货物运送,无人值守,校园巡视,火灾救援,高空侦察,无人驾驶等等。近年,深度强化学***台,建立机器人模型和仿真场景,在仿真环境中训练算法,再迁移到实物机器人上。
现阶段深度强化学习算法更多的是运用到单机器人***上,在多机器人***方面应用很少,而在多机器人***方面,基于深度强化学习的算法,与单机器人***相比,可以解决需要协助完成的复杂任务,支持更多不同的任务场景,具有更高的泛化能力。因此,如何搭建多机器人***,实现多机器人的深度强化学习训练是目前需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种多机器人的深度强化学习***、训练方法、设备及介质,能够实现多机器人的深度强化学习训练。其具体方案如下:
第一方面,本申请公开了一种多机器人的深度强化学习***,包括通信仿真模块、环境仿真模块和算法环境模块,其中,
所述通信仿真模块,用于搭建多机器人的通信框架;其中,所述通信框架包括订阅者、发布者以及各仿真机器人对应的话题;
所述环境仿真模块,用于搭建仿真环境、创建多个仿真机器人以及构建与实际场景对应的仿真场景;
所述算法环境模块,用于搭建算法环境,对多个仿真机器人对应的深度强化学习算法进行训练,在训练的过程中,各仿真机器人将各自的状态数据发布至对应的第一状态话题,所述深度强化学习算法订阅各所述第一状态话题中各仿真机器人的状态数据,并利用所述状态数据确定出各仿真机器人的动作,然后分别发布至各仿真机器人对应的第一速度话题,各仿真机器人订阅相应的所述第一速度话题中的动作,并执行相应的所述动作,直到所述深度强化学习算法收敛,得到训练后深度强化学习算法。
可选的,
所述通信仿真模块,具体用于利用ROS搭建多机器人的通信框架;
所述环境仿真模块,具体用于在Python2.7下搭建Gazebo仿真环境、利用URDF创建多个Spark仿真机器人以及构建与实际场景对应的仿真场景;
所述算法环境模块,具体用于在Python3.7下利用OpenAI gym搭建算法环境。
可选的,还包括:
实物通信模块,用于将运行所述训练后深度强化学习算法的主机和多个实物机器人接入同一局域网,并对所述主机和多个所述实物机器人进行配置,以便所述主机与多个所述实物机器人之间网络互通,并在每个所述实物机器人中添加主机开启ROS Master指令。
可选的,还包括:
算法迁移模块,用于对所述训练后深度强化学习算法继续训练,并在训练过程中,利用所述训练后深度强化学习算法订阅多个所述实物机器人的第二状态话题中的状态数据,并利用各所述实物机器人的状态数据确定出各实物机器人的动作,然后分别发布至各实物机器人对应的第二速度话题,各实物机器人订阅相应的所述第二速度话题中的动作,并执行相应的动作,直到所述训练后深度强化学习算法收敛,得到最终的深度强化学习算法。
可选的,所述实物通信模块,还用于:
创建所述第二状态话题、以及所述第二速度话题。
可选的,所述算法迁移模块,还用于:
创建动作缓存池,并利用所述动作缓存池将各实物机器人对应的第二速度话题对应的动作缓存,以及同时将各实物机器人的动作发送至各实物机器人。
可选的,所述算法环境模块,还用于:
在各仿真机器人的状态数据中添加噪声。
第二方面,本申请公开了一种多机器人的深度强化学习训练方法,包括:
搭建多机器人的通信框架;其中,所述通信框架包括订阅者、发布者以及各仿真机器人对应的话题;
搭建仿真环境、创建多个仿真机器人以及构建与实际场景对应的仿真场景;
搭建算法环境,对多个仿真机器人对应的深度强化学习算法进行训练,在训练的过程中,各仿真机器人将各自的状态数据发布至对应的第一状态话题,所述深度强化学习算法订阅各所述第一状态话题中各仿真机器人的状态数据,并利用所述状态数据确定出各仿真机器人的动作,然后分别发布至各仿真机器人对应的第一速度话题,各仿真机器人订阅相应的所述第一速度话题中的动作,并执行相应的所述动作,直到所述深度强化学习算法收敛,得到训练后深度强化学习算法。
第三方面,本申请公开了一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的多机器人的深度强化学习训练方法。
第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的多机器人的深度强化学习训练方法。
可见,本申请提供的多机器人的深度强化学习***,包括通信仿真模块、环境仿真模块和算法环境模块,其中,所述通信仿真模块,用于搭建多机器人的通信框架;其中,所述通信框架包括订阅者、发布者以及各仿真机器人对应的话题;所述环境仿真模块,用于搭建仿真环境、创建多个仿真机器人以及构建与实际场景对应的仿真场景;所述算法环境模块,用于搭建算法环境,对多个仿真机器人对应的深度强化学习算法进行训练,在训练的过程中,各仿真机器人将各自的状态数据发布至对应的第一状态话题,所述深度强化学习算法订阅各所述第一状态话题中各仿真机器人的状态数据,并利用所述状态数据确定出各仿真机器人的动作,然后分别发布至各仿真机器人对应的第一速度话题,各仿真机器人订阅相应的所述第一速度话题中的动作,并执行相应的所述动作,直到所述深度强化学习算法收敛,得到训练后深度强化学习算法。也即,本申请搭建多机器人的通信框架,以及多机器人的仿真环境、多个仿真机器人以及仿真场景,并进一步的搭建算法环境,进行多机器人对应的深度强化学习算法的训练,能够实现多机器人的深度强化学习训练。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种多机器人的深度强化学习***结构示意图;
图2为本申请公开的一种具体的多机器人的深度强化学习***结构示意图;
图3为本申请公开的一种具体的多机器人的深度强化学习训练示意图;
图4为本申请公开的一种具体的多机器人的深度强化学习算法更替流程图;
图5为本申请公开的一种多机器人的深度强化学习训练方法流程图;
图6为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现阶段深度强化学习算法更多的是运用到单机器人***上,在多机器人***方面应用很少,而在多机器人***方面,基于深度强化学习的算法,与单机器人***相比,可以解决需要协助完成的复杂任务,支持更多不同的任务场景,具有更高的泛化能力。因此,如何搭建多机器人***,实现多机器人的深度强化学习训练是目前需要解决的问题。为此,本申请提供了一种多机器人的深度强化学习方案,能够实现多机器人的深度强化学习训练。
参见图1所示,本申请实施例公开了一种多机器人的深度强化学习***,其特征在于,包括通信仿真模块11、环境仿真模块12和算法环境模块13,其中,
所述通信仿真模块11,用于搭建多机器人的通信框架;其中,所述通信框架包括订阅者、发布者以及各仿真机器人对应的话题。
在具体的实施方式中,所述通信仿真模块11,具体用于利用ROS搭建多机器人的通信框架。也即,本申请实施例可以运用ROS搭建多机器人通信框架,建立话题的通信模式,其中,发布数据的节点为发布者,接受数据的节点为订阅者,往话题里传输和接受数据的通信方式为发布和订阅。具体的,可以建立机器人移动位置信息里程计、探测距离激光雷达、机器人各个关节部分坐标等话题。算法订阅对应机器人的里程计数据,用于定位机器人的位置信息,订阅对应机器人的激光雷达数据,用于检测与物体的距离。
所述环境仿真模块12,用于搭建仿真环境、创建多个仿真机器人以及构建与实际场景对应的仿真场景。
在具体的实施方式中,所述环境仿真模块12,具体用于在Python2.7下搭建Gazebo仿真环境、利用URDF创建多个Spark仿真机器人以及构建与实际场景对应的仿真场景。
具体的,在Python2.7下搭建Gazebo仿真环境,采用通用的机器人模型URDF建立Spark机器人仿真模型和利用仿真平台工具建立与实际场景1:1的仿真场景来训练算法,并由Gazebo物理仿真平台中仿真机器人的发送数据,提供里程计和激光雷达等数据,将数据发布给对应机器人的话题,以便算法订阅相应话题将数据传入算法网络,并且驱动仿真中的机器人的移动。
所述算法环境模块13,用于搭建算法环境,对多个仿真机器人对应的深度强化学习算法进行训练,在训练的过程中,各仿真机器人将各自的状态数据发布至对应的第一状态话题,所述深度强化学习算法订阅各所述第一状态话题中各仿真机器人的状态数据,并利用所述状态数据确定出各仿真机器人的动作,然后分别发布至各仿真机器人对应的第一速度话题,各仿真机器人订阅相应的所述第一速度话题中的动作,并执行相应的所述动作,直到所述深度强化学习算法收敛,得到训练后深度强化学习算法。
在具体的实施方式中,所述算法环境模块,具体用于在Python3.7下利用OpenAIgym搭建算法环境。
具体的,Python3.7下搭建算法环境,利用OpenAI gym搭建算法环境,算法订阅来自Gazebo仿真环境的State(状态)数据,包括里程计数据Odom、激光雷达数据Scan,奖赏值Reward和停止标志Done等。将State数据推入算法网络,然后算法网络计算出相应的Action下发布给对应机器人的速度话题,进而订阅对应速度话题的机器人就会做出相应的动作,然后算法网络会根据下一个状态数据来确定下一个Action,直到实现算法收敛。
进一步的,所述算法环境模块,还用于:在各仿真机器人的状态数据中添加噪声。
需要指出的是,由于多机之间存在通信延时以及噪声影响等问题,添加噪声能够更真实的模拟实际场景,提升算法鲁棒性。
可见,本申请提供的多机器人的深度强化学习***,包括通信仿真模块、环境仿真模块和算法环境模块,其中,所述通信仿真模块,用于搭建多机器人的通信框架;其中,所述通信框架包括订阅者、发布者以及各仿真机器人对应的话题;所述环境仿真模块,用于搭建仿真环境、创建多个仿真机器人以及构建与实际场景对应的仿真场景;所述算法环境模块,用于搭建算法环境,对多个仿真机器人对应的深度强化学习算法进行训练,在训练的过程中,各仿真机器人将各自的状态数据发布至对应的第一状态话题,所述深度强化学习算法订阅各所述第一状态话题中各仿真机器人的状态数据,并利用所述状态数据确定出各仿真机器人的动作,然后分别发布至各仿真机器人对应的第一速度话题,各仿真机器人订阅相应的所述第一速度话题中的动作,并执行相应的所述动作,直到所述深度强化学习算法收敛,得到训练后深度强化学习算法。也即,本申请搭建多机器人的通信框架,以及多机器人的仿真环境、多个仿真机器人以及仿真场景,并进一步的搭建算法环境,进行多机器人对应的深度强化学习算法的训练,能够实现多机器人的深度强化学习训练。
参见图2所示,本申请实施例公开了一种具体的多机器人的深度强化学习***,包括通信仿真模块21、环境仿真模块22、算法环境模块23、实物通信模块24和算法迁移模块25,其中,
所述通信仿真模块21,用于搭建多机器人的通信框架;其中,所述通信框架包括订阅者、发布者以及各仿真机器人对应的话题;
所述环境仿真模块22,用于搭建仿真环境、创建多个仿真机器人以及构建与实际场景对应的仿真场景;
所述算法环境模块23,用于搭建算法环境,对多个仿真机器人对应的深度强化学习算法进行训练,在训练的过程中,各仿真机器人将各自的状态数据发布至对应的第一状态话题,所述深度强化学习算法订阅各所述第一状态话题中各仿真机器人的状态数据,并利用所述状态数据确定出各仿真机器人的动作,然后分别发布至各仿真机器人对应的第一速度话题,各仿真机器人订阅相应的所述第一速度话题中的动作,并执行相应的所述动作,直到所述深度强化学习算法收敛,得到训练后深度强化学习算法。
实物通信模块24,用于将运行所述训练后深度强化学习算法的主机和多个实物机器人接入同一局域网,并对所述主机和多个所述实物机器人进行配置,以便所述主机与多个所述实物机器人之间网络互通,并在每个所述实物机器人中添加主机开启ROS Master指令。
所述实物通信模块24,还用于创建所述第二状态话题、以及所述第二速度话题。
在具体的实施方式中,可以在主机和实物机器人上统一安装Ubuntu***以及ROS软件。运行算法的主机和所有实物机器人连接在同一个局域网内,给主机和每一个实物机器人分配一个唯一的ip地址。在主机的操作***中的/etc/hosts文件中,加入所有实物机器人的主机名和IP地址,在每台实物机器人的操作***中的/etc/hosts文件中,加入主机和所有实物机器人的主机名和IP地址,通过Ping主机的主机名和机器人的主机名来验证能网络互通,实现多机器人之间相互通信,从而能将数据实时的发送给主机。ROS通信中,所有话题的注册和话题间的通信需要经过ROS Master节点,由于ROS通信只能同时存在一个ROSMaster,所以需要在每个实物机器人的操作***的主文件夹下的.bashrc文件中加入指定只有主机能够开启ROS Master的指令。
其中,运行所述训练后深度强化学习算法的主机可以为进行仿真训练的主机也可以为其他主机,具体的,可以通过进行仿真训练的主机将训练后深度强化学习算法传输至其他主机,在其他主机上运行所述训练后深度强化学习算法。
算法迁移模块25,用于对所述训练后深度强化学习算法继续训练,并在训练过程中,利用所述训练后深度强化学习算法订阅多个所述实物机器人的第二状态话题中的状态数据,并利用各所述实物机器人的状态数据确定出各实物机器人的动作,然后分别发布至各实物机器人对应的第二速度话题,各实物机器人订阅相应的所述第二速度话题中的动作,并执行相应的动作,直到所述训练后深度强化学习算法收敛,得到最终的深度强化学习算法。
在具体的实施方式中,训练后深度强化学习算法面向实物机器人继续训练,可以将Gazebo仿真中发送给算法的状态数据,切换成实物机器人的状态数据,由于仿真中仿真机器人的Odom数据和Scan数据根据实物机器人的硬件1:1近似还原,通过编写好的接口,将实物机器人的State数据发送给算法网络,实现将算法的训练迁移到实物机器人的上。
进一步的,算法迁移模块还用于创建动作缓存池,并利用所述动作缓存池将各实物机器人对应的第二速度话题对应的动作缓存,以及同时将各实物机器人的动作发送至各实物机器人。这样,能够实时的将各实物机器人的动作发送至各实物机器人,实现多机器人同时运动,避免由于通信带宽压力和通信延时所造成的多机器人迟滞现象。
并且,可以基于实物机器人的硬件性能配置多尺度参数,以对各机器人的速度按比例缩放。在具体的实施方式中,可以根据实物机器人的硬件约束采用多尺度参数技术,确定出多尺度参数,并进行配置,实现仿真机器人速度在实物机器人上的等比例缩放,方便算法使用一套参数实现真实多种情况的广泛适配。
需要指出的是,现有的方案不支持多机器人强化学***台,建立与实物机器人一致的机器人仿真模型,搭建算法训练的实际场景,利用OpenAI gym搭建算法运行环境,使用OpenAI gym接口,将需要的数据传给上层算法网络和底层仿真环境,再通过多机通信使各个机器人与主机网络通信,通过主机运行算法,迁移至面向实物多机器人的训练,形成一套从算法仿真训练,迁移算法到实物的多机器人***。并且,支持离散动作空间和连续动作空间的算法,支持python编写程序,支持多种算法的训练和对比,支持多种任务场景,利用Spark机器人作为实物机器人和Spark机器人的URDF模型作为仿真机器人,该***提供统一接口,实现将不同的算法在仿真环境训练,并将算法迁移至实物机器人的目的。对比其他多机器***,本***支持各种算法,训练流程操作简单,通过简单参数设置,即可实现机器人数量和任务的扩充,因此,具有较高的通用性、可移植性、便利性、灵活性、扩展性等特点。
下面,以基于深度强化学***台搭建多机器人运动到多目标点的任务场景,在OpenAI gym环境训练算法,迁移算法到实物机器人上,通过多机通信,将每个实物机器人的状态数据上传到主机算法网络中,并接受来自算法网络的动作,实现实物机器人到达各自的目标点。该多机器人的深度强化学***台,能模拟实物机器人移动控制,提供仿真场景;算法环境模块,OpenAI gym支持各种算法,便于对比各种算法性能;实物通信模块,解决实物机器人之间数据传输问题;算法迁移模块,通过统一接口,将实物机器人的数据传输入算法网络,算法计算完结果,输出到实物机器人,完成对机器人的控制。参见图3所示,图3为本申请实施例公开的一种具体的多机器人的深度强化学习训练示意图。包括:
(1)开启终端,配置为Python2.7,运行启动仿真环境的文件,加载搭建好的环境World和仿真机器人的URDF模型,根据设置加载机器人模型放置到相应的初始位置,同时会建立好每个仿真机器人的话题,完成仿真环境和机器人模型的载入。
(2)开启新终端,由于算法运行需要用到Python3.7,利用虚拟环境Virtualenv可以在当前终端中配置Python3.7,然后设置好算法内的奖赏机制、目标点、碰撞机制、超参数等,运行启动算法的文件,完成算法启动。
(3)算法开启后,根据设置好的代码,自动收集每个机器人的实验数据即状态数据,包括每一个Episode的奖赏值、步数、成功率,分别保存到以每个机器人命名的文件夹内,并设置每隔50个Episode更新一次深度强化学习算法,深度强化学习算法包括每一个机器人各自的算法网络模型,保存在各自的算法网络模型文件夹内。
(4)绘制每个机器人的Episode-Reward实时曲线,通过预先设置好的代码,建立每个机器人的Reward话题,算法启动后机器人每完成一个Episode就会往对应的话题发布一次Reward数据,利用ROS软件自带的可以绘制曲线的工具rqt,分别订阅机器人的Reward话题,实现实时绘制曲线。
(5)判断算法是否收敛,结合仿真机器人的移动路径是否不再变化,Episode-Reward曲线趋于平缓、一个Episode的步数保持在一个较小的范围内波动和机器人到达目标点的成功次数多,从而确定算法收敛。
(6)保存算法网络模型,修改算法的Yaml参数文件,设置成Test(测试)模式,运行算法后,将会加载算法网络,每个机器人会执行之前收敛时的移动路径。
(7)算法开启后,等待收集足够的到达目标点的成功率数据,统计每一百个Episode到达目标点的次数,计算成功率。
(8)判读成功率是否大于90%,即每一百次有至少90次能到达目标点,证明算法已收敛,如果没有超过90%成功率,查找原因,通过修改奖赏机制、超参数等,重新训练算法;
(9)迁移算法网络模型到实物机器人,通过编写统一接口,收集实物机器人的数据和发布数据给实物机器人,将收集的状态数据上传给算法网络,发布算法网络下发的动作给实物机器人速度话题,从而控制实物机器人运动;
(10)多级联调,算法与实物机器人之间的数据收发经过网络,需要先在控制算法的主机和各个机器人人之间建立通信,在同一个局域网内,给主机和每一个机器人分配一个唯一的ip地址,Ping通其他机器人的IP地址,在每个机器人操作***的.bashrc,文件中加入主机开启ROS Master指令,确保只有一个ROS Master,防止冲突。
(11)开启算法实物Test模式。
(12)观察实物Test效果,记录实验结果。若满足与仿真Test效果相近,结束,若不满足,查找原因,修改后,重复(1)-(11)。
需要指出的是,本申请实施例支持多种多智能体的深度强化学习算法,包括但不限于离散动作空间算法(DQN、A3C(即Asynchronous Advantage Actor-Critic,异步的优势行动者评论家算法)、PPO(即Proximal Policy Optimization,近端策略优化算法)等)和连续动作空间算法(SAC、DDPG(即Deep Deterministic Policy Gradient,深度确定性策略梯度)等)见图4所示,本申请实施例公开了一种具体的多机器人的深度强化学习算法更替流程图。
(1)获取算法代码。支持tenserflow和pytorch版,pytorch版本更方便修改;
(2)安装运行算法的相关依赖包。每种算法都有各自需要的依赖包,根据运行提示安装相应依赖包;
(3)修改yaml参数文件,将算法需要的参数放到编写入yaml参数中;
(4)更改算法环境,将算法运行环境替换成多机器人的深度强化学习***的算法环境
(5)更改算法与环境之间传输的数据格式,统一变量名。需要传输的Action和State数据格式统一,算法接受的数据格式为numpy格式,环境接受的数据格式为list格式。
(6)调整算法参数,奖赏机制等,根据算法和实验,调整相关参数,使算法能收敛。
(7)启动算法。收集相应数据,绘制Reward曲线;
(8)判断算法正常运行,根据收敛判断条件,分析是否收敛,若收敛则算法正常,若不收敛,分析原因,重复(3)-(7)。
参见图5所示,本申请实施例公开了一种多机器人的深度强化学习训练方法,包括:
步骤S11:搭建多机器人的通信框架;其中,所述通信框架包括订阅者、发布者以及各仿真机器人对应的话题。
步骤S12:搭建仿真环境、创建多个仿真机器人以及构建与实际场景对应的仿真场景;
步骤S13:搭建算法环境,对多个仿真机器人对应的深度强化学习算法进行训练,在训练的过程中,各仿真机器人将各自的状态数据发布至对应的第一状态话题,所述深度强化学习算法订阅各所述第一状态话题中各仿真机器人的状态数据,并利用所述状态数据确定出各仿真机器人的动作,然后分别发布至各仿真机器人对应的第一速度话题,各仿真机器人订阅相应的所述第一速度话题中的动作,并执行相应的所述动作,直到所述深度强化学习算法收敛,得到训练后深度强化学习算法。
在具体的实施方式中,可以利用ROS搭建多机器人的通信框架;在Python2.7下搭建Gazebo仿真环境、利用URDF创建多个Spark仿真机器人以及构建与实际场景对应的仿真场景;在Python3.7下利用OpenAI gym搭建算法环境。
并且,本实施例可以将运行所述训练后深度强化学习算法的主机和多个实物机器人接入同一局域网,并对所述主机和多个所述实物机器人进行配置,以便所述主机与多个所述实物机器人之间网络互通,并在每个所述实物机器人中添加主机开启ROS Master指令。
进一步的,对所述训练后深度强化学习算法继续训练,并在训练过程中,利用所述训练后深度强化学习算法订阅多个所述实物机器人的第二状态话题中的状态数据,并利用各所述实物机器人的状态数据确定出各实物机器人的动作,然后分别发布至各实物机器人对应的第二速度话题,各实物机器人订阅相应的所述第二速度话题中的动作,并执行相应的动作,直到所述训练后深度强化学习算法收敛,得到最终的深度强化学习算法。
其中,本申请实施例可以创建所述第二状态话题、以及所述第二速度话题。
进一步的,本申请实施例可以创建动作缓存池,并利用所述动作缓存池将各实物机器人对应的第二速度话题对应的动作缓存,以及同时将各实物机器人的动作发送至各实物机器人。
另外,本申请实施例可以在各仿真机器人的状态数据中添加噪声。
可见,本申请实施例搭建多机器人的通信框架;其中,所述通信框架包括订阅者、发布者以及各仿真机器人对应的话题;搭建仿真环境、创建多个仿真机器人以及构建与实际场景对应的仿真场景;搭建算法环境,对多个仿真机器人对应的深度强化学习算法进行训练,在训练的过程中,各仿真机器人将各自的状态数据发布至对应的第一状态话题,所述深度强化学习算法订阅各所述第一状态话题中各仿真机器人的状态数据,并利用所述状态数据确定出各仿真机器人的动作,然后分别发布至各仿真机器人对应的第一速度话题,各仿真机器人订阅相应的所述第一速度话题中的动作,并执行相应的所述动作,直到所述深度强化学习算法收敛,得到训练后深度强化学习算法。也即,本申请搭建多机器人的通信框架,以及多机器人的仿真环境、多个仿真机器人以及仿真场景,并进一步的搭建算法环境,进行多机器人对应的深度强化学习算法的训练,能够实现多机器人的深度强化学习训练。
参见图6所示,本申请实施例公开了一种电子设备20,包括处理器21和存储器22;其中,所述存储器22,用于保存计算机程序;所述处理器21,用于执行所述计算机程序,前述多机器人的深度强化学习训练方法。
关于上述多机器人的深度强化学习训练方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
并且,所述存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,存储方式可以是短暂存储或者永久存储。
另外,所述电子设备20还包括电源23、通信接口24、输入输出接口25和通信总线26;其中,所述电源23用于为所述电子设备20上的各硬件设备提供工作电压;所述通信接口24能够为所述电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;所述输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的多机器人的深度强化学习训练方法。
关于上述多机器人的深度强化学习训练方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的方法而言,由于其与实施例公开的***相对应,所以描述的比较简单,相关之处参见***部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的多机器人的深度强化学习***、训练方法、设备及介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种多机器人的深度强化学习***,其特征在于,包括通信仿真模块、环境仿真模块和算法环境模块,其中,
所述通信仿真模块,用于搭建多机器人的通信框架;其中,所述通信框架包括订阅者、发布者以及各仿真机器人对应的话题;
所述环境仿真模块,用于搭建仿真环境、创建多个仿真机器人以及构建与实际场景对应的仿真场景;
所述算法环境模块,用于搭建算法环境,对多个仿真机器人对应的深度强化学习算法进行训练,在训练的过程中,各仿真机器人将各自的状态数据发布至对应的第一状态话题,所述深度强化学习算法订阅各所述第一状态话题中各仿真机器人的状态数据,并利用所述状态数据确定出各仿真机器人的动作,然后分别发布至各仿真机器人对应的第一速度话题,各仿真机器人订阅相应的所述第一速度话题中的动作,并执行相应的所述动作,直到所述深度强化学习算法收敛,得到训练后深度强化学习算法。
2.根据权利要求1所述的多机器人的深度强化学习***,其特征在于,
所述通信仿真模块,具体用于利用ROS搭建多机器人的通信框架;
所述环境仿真模块,具体用于在Python2.7下搭建Gazebo仿真环境、利用URDF创建多个Spark仿真机器人以及构建与实际场景对应的仿真场景;
所述算法环境模块,具体用于在Python3.7下利用OpenAI gym搭建算法环境。
3.根据权利要求1所述的多机器人的深度强化学习***,其特征在于,还包括:
实物通信模块,用于将运行所述训练后深度强化学习算法的主机和多个实物机器人接入同一局域网,并对所述主机和多个所述实物机器人进行配置,以便所述主机与多个所述实物机器人之间网络互通,并在每个所述实物机器人中添加主机开启ROS Master指令。
4.根据权利要求3所述的多机器人的深度强化学习***,其特征在于,还包括:
算法迁移模块,用于对所述训练后深度强化学习算法继续训练,并在训练过程中,利用所述训练后深度强化学习算法订阅多个所述实物机器人的第二状态话题中的状态数据,并利用各所述实物机器人的状态数据确定出各实物机器人的动作,然后分别发布至各实物机器人对应的第二速度话题,各实物机器人订阅相应的所述第二速度话题中的动作,并执行相应的动作,直到所述训练后深度强化学习算法收敛,得到最终的深度强化学习算法。
5.根据权利要求4所述的多机器人的深度强化学习***,其特征在于,所述实物通信模块,还用于:
创建所述第二状态话题、以及所述第二速度话题。
6.根据权利要求4所述的多机器人的深度强化学习***,其特征在于,所述算法迁移模块,还用于:
创建动作缓存池,并利用所述动作缓存池将各实物机器人对应的第二速度话题对应的动作缓存,以及同时将各实物机器人的动作发送至各实物机器人。
7.根据权利要求1至6任一项所述的多机器人的深度强化学习***,其特征在于,所述算法环境模块,还用于:
在各仿真机器人的状态数据中添加噪声。
8.一种多机器人的深度强化学习训练方法,其特征在于,包括:
搭建多机器人的通信框架;其中,所述通信框架包括订阅者、发布者以及各仿真机器人对应的话题;
搭建仿真环境、创建多个仿真机器人以及构建与实际场景对应的仿真场景;
搭建算法环境,对多个仿真机器人对应的深度强化学习算法进行训练,在训练的过程中,各仿真机器人将各自的状态数据发布至对应的第一状态话题,所述深度强化学习算法订阅各所述第一状态话题中各仿真机器人的状态数据,并利用所述状态数据确定出各仿真机器人的动作,然后分别发布至各仿真机器人对应的第一速度话题,各仿真机器人订阅相应的所述第一速度话题中的动作,并执行相应的所述动作,直到所述深度强化学习算法收敛,得到训练后深度强化学习算法。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求8所述的多机器人的深度强化学习训练方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,所述计算机程序被处理器执行时实现如权利要求8所述的多机器人的深度强化学习训练方法。
CN202110967144.4A 2021-08-23 2021-08-23 多机器人的深度强化学习***、训练方法、设备及介质 Pending CN113642243A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110967144.4A CN113642243A (zh) 2021-08-23 2021-08-23 多机器人的深度强化学习***、训练方法、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110967144.4A CN113642243A (zh) 2021-08-23 2021-08-23 多机器人的深度强化学习***、训练方法、设备及介质

Publications (1)

Publication Number Publication Date
CN113642243A true CN113642243A (zh) 2021-11-12

Family

ID=78423459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110967144.4A Pending CN113642243A (zh) 2021-08-23 2021-08-23 多机器人的深度强化学习***、训练方法、设备及介质

Country Status (1)

Country Link
CN (1) CN113642243A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115284288A (zh) * 2022-08-09 2022-11-04 清华大学 多机器人在线任务分配和执行方法、装置及存储介质
CN115801869A (zh) * 2023-01-30 2023-03-14 南京天创电子技术有限公司 基于分布式架构的巡检机器人仿真模拟***及方法
CN116069023A (zh) * 2022-12-20 2023-05-05 南京航空航天大学 一种基于深度强化学习的多无人车编队控制方法和***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110531640A (zh) * 2019-09-11 2019-12-03 北京云迹科技有限公司 一种机器人的综合仿真方法及***
CN110666793A (zh) * 2019-09-11 2020-01-10 大连理工大学 基于深度强化学习实现机器人方形零件装配的方法
CN112433525A (zh) * 2020-11-16 2021-03-02 南京理工大学 基于模仿学习及深度强化学习的移动机器人导航方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110531640A (zh) * 2019-09-11 2019-12-03 北京云迹科技有限公司 一种机器人的综合仿真方法及***
CN110666793A (zh) * 2019-09-11 2020-01-10 大连理工大学 基于深度强化学习实现机器人方形零件装配的方法
CN112433525A (zh) * 2020-11-16 2021-03-02 南京理工大学 基于模仿学习及深度强化学习的移动机器人导航方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JUNFENG CHEN等: "MultiRoboLearn:An open-source Framework for Multi-robot Deep Reinforcement Learning", 《HTTP://ARXIV.ORG》, pages 1 - 7 *
周世正: "基于深度强化学习的多机器人协同导航", 《中国优秀硕士学位论文全文数据库》, no. 8, pages 140 - 260 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115284288A (zh) * 2022-08-09 2022-11-04 清华大学 多机器人在线任务分配和执行方法、装置及存储介质
CN115284288B (zh) * 2022-08-09 2024-04-12 清华大学 多机器人在线任务分配和执行方法、装置及存储介质
CN116069023A (zh) * 2022-12-20 2023-05-05 南京航空航天大学 一种基于深度强化学习的多无人车编队控制方法和***
CN116069023B (zh) * 2022-12-20 2024-02-23 南京航空航天大学 一种基于深度强化学习的多无人车编队控制方法和***
CN115801869A (zh) * 2023-01-30 2023-03-14 南京天创电子技术有限公司 基于分布式架构的巡检机器人仿真模拟***及方法

Similar Documents

Publication Publication Date Title
CN113642243A (zh) 多机器人的深度强化学习***、训练方法、设备及介质
Hussein et al. Deep imitation learning for 3D navigation tasks
CN110471297B (zh) 多智能体协同控制方法、***及设备
CN111283667B (zh) 机器人控制方法、装置及电子设备
Singhal et al. Managing a fleet of autonomous mobile robots (AMR) using cloud robotics platform
CN112631128B (zh) 一种多模异构信息融合的机器人装配技能学习方法及***
US11615291B1 (en) Neural network modules
US11790042B1 (en) Mitigating reality gap through modification of simulated state data of robotic simulator
CN106597881A (zh) 基于分布式决策算法的云服务机器人
CN111993424B (zh) 一种异构移动机器人的互操作中间件测试***及方法
JP2022061022A (ja) 力及びトルク誘導ロボット組立のための技術
EP3847583A1 (en) Determining control policies by minimizing the impact of delusion
WO2020177417A1 (zh) 控制无人驾驶设备及训练模型
Althoff et al. An architecture for real-time control in multi-robot systems
CN112465148A (zh) 一种多智能体***的网络参数更新方法、装置及终端设备
CN116079747A (zh) 机器人跨具身控制方法、***、计算机设备和存储介质
US11938638B2 (en) Simulation driven robotic control of real robot(s)
US20220245503A1 (en) Training a policy model for a robotic task, using reinforcement learning and utilizing data that is based on episodes, of the robotic task, guided by an engineered policy
KR20230039415A (ko) 로봇 원격 제어 시스템 및 이를 위한 제어 방법
Taherkordi et al. Service virtualization for self-adaptation in mobile cyber-physical systems
Gao et al. Hybrid path planning algorithm of the mobile agent based on Q-learning
Megalingam et al. Analysis of Tiago Robot for Autonomous Navigation Applications
CN116542310B (zh) 一种机器人的模型训练、运动指令预测方法、装置及***
WO2023101112A1 (ko) 복수의 태스크에 대한 오프라인 메타 강화학습 방법 및 이를 수행하기 위한 컴퓨팅 장치
KR20230163116A (ko) 다중 로봇을 위한 심층 강화 학습 방법 및 장치

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