摘要:中科院自动化所蒲志强教授团队,提出一种基于关系图的深度强化学习方法,应用于多目标避碰包围问题(MECA),使用NOKOV度量动作捕捉系统获取多机器人位置信息,验证了方法的有效性和适应性。研究成果在2022年ICRA大会发表。

在多机器人系统的研究领域中,包围控制是一个重要的课题。其在民用和军事领域都有广泛的应用场景,包括协同护航、捕获敌方目标、侦察监视、无人水面舰艇巡逻狩猎等。

这些应用的核心问题是如何控制一个多机器人系统,涉及多目标分配,同时解决目标包围和避碰子问题。这是一个巨大的挑战,特别是对于分散的多机器人系统。

中科院自动化所蒲志强教授团队在2022年ICRA大会发表论文,提出了一种基于关系图的深度强化学习方法,对各种条件下的多目标避碰包围(MECA)问题具有良好的适应性。

定义任务

该研究定义了一个MECA任务,即在具有L个静态障碍物(黑色圆圈)的环境中,由N个机器人(绿色圆圈)组成的多机器人系统,协同包围K (1 < K < N)个静止或运动的目标(红色圆圈)。

所有机器人需要自动形成多组,包围所有目标,每组需要形成圆形队形,包围一个独立的目标,同时避免碰撞。这涉及到以下三个子问题:

1) 动态多目标分配与分组

2) 每组分别包围

3) 相互之间避免碰撞

分散式多机器人系统的MECA图解

方法框架

在MECA问题中,存在三种类型的实体,即机器人、目标和障碍物。不同的实体对机器人有不同的影响关系,例如避障、包围目标、与其他机器人合作等。

研究提出了一种基于机器人级和目标级关系图(RGs)的DRL分散方法,命名为MECA-DRL-RG方法。

具体而言:

  1. 利用图注意网络(GATs)对机器人级RGs进行建模和学习,该RGs由每个机器人与其他机器人、目标和障碍物之间的三个异构关系图组成。
  2. 利用GAT构建目标级RG,构建机器人与各目标之间的空间关系。目标的运动由目标级RG建模,并通过监督学习进行学习,以预测目标的轨迹。
  3. 此外,定义了一个知识嵌入式复合奖励函数,解决MECA中的多目标问题。采用基于集中式训练和去中心化执行框架的演员-评论家训练算法对策略网络进行训练。

MECA-DRL-RG方法的整体结构

实验验证

研究团队分别进行了仿真实验和真实环境实验。在真实实验中,情景设置为:6个机器人在有2个障碍物的环境中包围2个移动的目标。机器人的位置和速度数据由NOKOV度量动作捕捉系统提供。

6个机器人在有2个障碍物的环境中包围2个移动目标

仿真实验和真实实验都验证了,相比于其他方法,MECA-DRL-RG方法使机器人能够从周围环境中,学习异构空间关系图,并预测目标的轨迹,从而促进每个机器人对其周围环境的理解和预测。证实了MECA-DRL-RG方法的有效性。

并且,无论机器人、障碍物或目标的数量增加,抑或是目标的移动速度加快,MECA-DRL-RG方法都表现出良好的性能,具有广泛的适应性。

MECA-DRL-RG方法训练曲线


参考文献:

T. Zhang, Z. Liu, Z. Pu and J. Yi, "Multi-Target Encirclement with Collision Avoidance via Deep Reinforcement Learning using Relational Graphs," 2022 International Conference on Robotics and Automation (ICRA), Philadelphia, PA, USA, 2022, pp. 8794-8800, doi: 10.1109/ICRA46639.2022.9812151.

机器人多目标包围问题(MECA)新算法:基于关系图深度强化学习的更多相关文章

  1. 一文读懂 深度强化学习算法 A3C (Actor-Critic Algorithm)

    一文读懂 深度强化学习算法 A3C (Actor-Critic Algorithm) 2017-12-25  16:29:19   对于 A3C 算法感觉自己总是一知半解,现将其梳理一下,记录在此,也 ...

  2. 论文:利用深度强化学习模型定位新物体(VISUAL SEMANTIC NAVIGATION USING SCENE PRIORS)

    这是一篇被ICLR 2019 接收的论文.论文讨论了如何利用场景先验知识 (scene priors)来定位一个新场景(novel scene)中未曾见过的物体(unseen objects).举例来 ...

  3. 基于深度强化学习(DQN)的迷宫寻路算法

    QLearning方法有着明显的局限性,当状态和动作空间是离散的且维数不高时可使用Q-Table存储每个状态动作的Q值,而当状态和动作时高维连续时,该方法便不太适用.可以将Q-Table的更新问题变成 ...

  4. 【转载】 DeepMind发表Nature子刊新论文:连接多巴胺与元强化学习的新方法

    原文地址: baijiahao.baidu.com/s?id=1600509777750939986&wfr=spider&for=pc 机器之心 18-05-15   14:26 - ...

  5. 【算法总结】强化学习部分基础算法总结(Q-learning DQN PG AC DDPG TD3)

    总结回顾一下近期学习的RL算法,并给部分实现算法整理了流程图.贴了代码. 1. value-based 基于价值的算法 基于价值算法是通过对agent所属的environment的状态或者状态动作对进 ...

  6. 强化学习(五)—— 策略梯度及reinforce算法

    1 概述 在该系列上一篇中介绍的基于价值的深度强化学习方法有它自身的缺点,主要有以下三点: 1)基于价值的强化学习无法很好的处理连续空间的动作问题,或者时高维度的离散动作空间,因为通过价值更新策略时是 ...

  7. 强化学习-Q-Learning算法

    1. 前言 Q-Learning算法也是时序差分算法的一种,和我们前面介绍的SARAS不同的是,SARSA算法遵从了交互序列,根据当前的真实行动进行价值估计:Q-Learning算法没有遵循交互序列, ...

  8. 【目标跟踪】相关滤波算法之MOSSE

    简要 2010年David S. Bolme等人在CVPR上发表了<Visual Object Tracking using Adaptive Correlation Filters>一文 ...

  9. CVPR目标检测与实例分割算法解析:FCOS(2019),Mask R-CNN(2019),PolarMask(2020)

    CVPR目标检测与实例分割算法解析:FCOS(2019),Mask R-CNN(2019),PolarMask(2020)1. 目标检测:FCOS(CVPR 2019)目标检测算法FCOS(FCOS: ...

  10. The game of life(生命游戏)新算法

    我写了一种常见的实现算法,和另一种新算法,即不是每次循环计算每个细胞的周围细胞数来产生下一时刻,而是每次每个产生状态变化的细胞主动通知周围的邻居,因此每个细胞增加一个用来记录邻居数的字段.由邻居数决定 ...

随机推荐

  1. 解密Prompt系列19. LLM Agent之数据分析领域的应用:Data-Copilot & InsightPilot

    在之前的 LLM Agent+DB 的章节我们已经谈论过如何使用大模型接入数据库并获取数据,这一章我们聊聊大模型代理在数据分析领域的应用.数据分析主要是指在获取数据之后的数据清洗,数据处理,数据建模, ...

  2. Ubuntu下安装多个JDK,并设置其中一个为默认JDK

    由于使用需要,要在机器上同时安装OpenJDK 8和11,并将8设置为默认JDK 首先安装OpenJDK sudo apt-get install openjdk-8-jdk sudo apt-get ...

  3. 🔥🔥通过访问URL地址,5分钟内渗透你的网站!很刑很可拷!

    今天我来带大家简单渗透一个小破站,通过这个案例,让你深入了解为什么很多公司都需要紧急修复各个中间件的漏洞以及进行URL解析拦截等重要操作.这些措施的目的是为了保护网站和系统的安全性.如果不及时升级和修 ...

  4. 【封装】Splay

    注意确保操作合法性,否则可能陷入死循环 以点权作为排序依据 struct Splay{ #define ls p[u].son[0] #define rs p[u].son[1] #define ma ...

  5. 如何使用 PreparedStatement 来避免 SQL 注入,并提高性能?

    前言 本篇文章主要如何使用 PreparedStatement 来避免 SQL 注入,并提高性能? 欢迎点赞 收藏 留言评论 私信必回哟 博主将持续更新学习记录收获,友友们有任何问题可以在评论区留言 ...

  6. 解决swagger2 --> Illegal DefaultValue null for parameter type integer 保存问题

    在pmo.xml中加入两个依赖 <!--增加两个配置--> <dependency> <groupId>io.swagger</groupId> < ...

  7. JOISC2020题解

    \(\text{By DaiRuiChen007}\) Contest Link A. Building 4 Problem Link 题目大意 给 \(2n\) 个数对 \((a_i,b_i)\), ...

  8. hello Flask最简单的Flask项目

    # 1.导包 from flask import Flask # 2.实例化Flask对象.一般变量名都叫app,大家都是这样用,很多扩展插件的文档也是叫app,所以统一都叫app. # __name ...

  9. npm 发布流程

    登录npm 查看本地是否登录 # 全局配置源 npm who am i # 官方源 npm who am i --registry https://registry.npmjs.org 注: npm源 ...

  10. 子类Dog根据自己的需要,重写了Animal方法

    子类Dog根据自己的需要,重写了Animal方法 package com.guoba.method; class Animal{ public void move(){ System.out.prin ...