中科院自动化所:基于关系图深度强化学习的机器人多目标包围问题新算法

本文主要是介绍中科院自动化所:基于关系图深度强化学习的机器人多目标包围问题新算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摘要:中科院自动化所蒲志强教授团队,提出一种基于关系图的深度强化学习方法,应用于多目标避碰包围(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.

这篇关于中科院自动化所:基于关系图深度强化学习的机器人多目标包围问题新算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/616660

相关文章

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

深度解析Python中递归下降解析器的原理与实现

《深度解析Python中递归下降解析器的原理与实现》在编译器设计、配置文件处理和数据转换领域,递归下降解析器是最常用且最直观的解析技术,本文将详细介绍递归下降解析器的原理与实现,感兴趣的小伙伴可以跟随... 目录引言:解析器的核心价值一、递归下降解析器基础1.1 核心概念解析1.2 基本架构二、简单算术表达

深度解析Java @Serial 注解及常见错误案例

《深度解析Java@Serial注解及常见错误案例》Java14引入@Serial注解,用于编译时校验序列化成员,替代传统方式解决运行时错误,适用于Serializable类的方法/字段,需注意签... 目录Java @Serial 注解深度解析1. 注解本质2. 核心作用(1) 主要用途(2) 适用位置3

Java MCP 的鉴权深度解析

《JavaMCP的鉴权深度解析》文章介绍JavaMCP鉴权的实现方式,指出客户端可通过queryString、header或env传递鉴权信息,服务器端支持工具单独鉴权、过滤器集中鉴权及启动时鉴权... 目录一、MCP Client 侧(负责传递,比较简单)(1)常见的 mcpServers json 配置

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

Maven中生命周期深度解析与实战指南

《Maven中生命周期深度解析与实战指南》这篇文章主要为大家详细介绍了Maven生命周期实战指南,包含核心概念、阶段详解、SpringBoot特化场景及企业级实践建议,希望对大家有一定的帮助... 目录一、Maven 生命周期哲学二、default生命周期核心阶段详解(高频使用)三、clean生命周期核心阶

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环