[论文解读] 多机器人系统动态任务分配综述

2023-11-18

https://www.emerald.com/insight/content/doi/10.1108/IR-04-2020-0073/full/html

多机器人/多智能体 动态环境 任务分配 决策 动态任务调度策略

该文章主要是想对目前state of the art多机器人动态任务调度策略做一个全面的评价,注意定语挺多的,里面的方法也较多为近几年的智能调度那些算法。衡量方法主要考虑到了应用场景、限制、目标方程以及对不确定性处理方式。

Introduction

多机器人协作系统是最近的研究热点。多机器人任务执行效率高,能够执行复杂的任务。
在多机器人系统领域主要有两种协作模式:中心式和分布式。在中心式中,一个服务器控制了系统中的主要参数并且对任务进行分配。这种系统依赖一个中心服务器确保任务成功分配,但是当中心崩溃时系统将瘫痪,这就意味着系统要有可靠的信息交换系统。在分布式中,每个机器人个体独立安排自己任务。这种系统中,每个个体观察视野中周围个体,并且计算自身对任务的竞争力来做独立任务决策。分布式系统很适合大规模机器人在弱联网环境中运行。尽管中心式的系统需要严格可靠的通讯网络,但是它能够保证任务分配的一致性。而分布式系统很难达到任务分配一致性的要求。MRS系统要求每个机器人都有任务执行能力以及协作性coordination,其中协作方式对MRS成功任务分配和执行是核心问题。
多机器人任务分配(MRTA)可分成8类。也可以用iTax分成四类。
在这里插入图片描述
在这里插入图片描述
但是目前任务分配主流的两种策略是auction-based以及optimization-based(拍卖机制以及最优化理论),而最优化理论的任务分配在复杂约束下能做到更快更好。
文章研究了近些年发展的动态不确定环境下复杂约束的任务分配策略。文章以MRS在实际应用为评价指标,包括算法应用场景、限制约束条件、目标函数、算法时间以及对不确定性应对策略。文章中算法范围为2010~2020年发表的,只选取了顶会和顶级期刊上关于多机器人任务固化、调度或者最优化的文章。

Multi-robot task allocation problem definition

这部分是多机器人任务规划定义,很简洁明了,不再打公式了。
下表是多机器人问题中限制条件,动态环境下多机器人任务分配问题主要包含资源和时间的限制。
在这里插入图片描述
常见的目标函数有:最小化路径,最小化等待时间,最大化任务完成率:
在这里插入图片描述

Dynamic task allocation strategies

多机器人任务分配目标就是在满足约束条件前提下将任务分配达到最小化损失函数。主要问题就在是实际生产环境里约束条件是不规则并且多样的。下面展示了四种主要的多机器人动态环境任务分配策略。
在这里插入图片描述

Market-based task allocation

这种策略模仿了市场交易,其主要流程如图所示:
在这里插入图片描述
拍卖机器人向团队中的其他机器人发布任务信息并要求出价。 每一个机器人在团队中根据其执行任务的能力进行出价,然后将出价转发给拍卖机器人。 拍卖机器人将任务分配给报价最少的机器人。
在这里插入图片描述

Optimization-based task allocation

现实世界中的多机器人系统具有多个不确定约束。 因此对动态环境任务分配问题进行数学建模是艰巨的。然而,使用启发式算法建模能够给动态环境任务分配问题提供连续最优解。比如粒子群优化(PSO)、蚁群算法(ACO)及其各种变种。 动态任务分配问题的目标函数是:最小化任务完成时间、最小化机器人行程距离、最小化电池资源利用、最大化任务分配率和任务完成率。下表展示了目前的算法
在这里插入图片描述

Behaviour-based task allocation

基于行为的动态任务分配是一种独特的策略。 该策略使用多个按比例分配的解决方案来解决单个应用程序中发生的不同问题实例。 在策略中的单个应用程序可以是是任何形式的数学模型,启发式算法或优化函数。这个策略受不同的问题而具体来定义。
在这里插入图片描述

Clustered task allocation

集群任务分配策略将相似或附近的任务分组为集群,然后将集群分配给机器人,而不是单个任务分配。 这种策略降低了机器人团队的平均运行距离。集群任务分配策略的关键是确定每个集群的最优任务数
在这里插入图片描述

Discussion

本文详细回顾了最先进的MMR动态任务分配策略。 尽管文献中的每一项任务分配技术都经过了分析和模拟验证,但是他们缺乏实际实验来验证。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[论文解读] 多机器人系统动态任务分配综述 的相关文章

  • v-if与v-show的区别=====》面试题

    共同点 都是控制元素显示或隐藏的指令 区别 v show 控制元素无论是true还是false都会被渲染出来 通过diaplay none控制元素隐藏 v if控制元素是true渲染 是false不渲染 在dom树结构中不显示 加分回答 应
  • [STM32系列]一、HAL库的串口中断接收

    STM32系列 一 HAL库的串口中断任意长度接收 1 前言 2 回调函数 3 HAL库中断接收函数使用 1 前言 HAL即硬件抽象层 英语 Hardware Abstraction Layer 实现了不同硬件的统一接口操作 这就极大的简化
  • 极简Json格式剖析与fastjson下载和使用

    Json存在的意义 Json主要用来做数据的传输 例如发送java中的一个对象 由于对象是存储在内存里的 不能直接将内存里的对象发送出去 这时需要使用序列化 持久化 手段 将对象转换为一系列字符串 比如说Json 在字符串送达目的地时再使用

随机推荐

  • HTTP协议和Tomcat服务器

    目录 1 HTTP 是什么 2 HTTP 工作过程 2 1 HTTP 协议格式 2 1 1 抓包工具的使用 2 1 2 抓包工具原理 2 1 3 抓包结果分析 2 1 4 协议格式总结 3 HTTP 请求 Request 3 1 请求地址
  • 常用的数组方法整理

    常用的数组方法 1 concat 2 join 3 pop 4 shift 5 unshift 7 reverse 8 sort 9 slice 10 splice 11 toString 12 valueOf 13 IndexOf 14
  • 二、Vue3跨组件调用函数[mitt]

    一 跨组件调用函数 安装 npm install mitt 创建文件并写入 bus js import mitt from mitt export const eventBus mitt 使用方法 import eventBus from
  • 2022年6月8日STM32——SPI读写串行FLASH 和 串行FLASH文件系统FatFs

    此内容是为自己方便回忆 如有错误 欢迎指导 内容来源于野火指南者开发板教程 一 SPI读写串行FLASH SPI Serial Peripheral Interface 串行外围设备接口 是高速全双工的通信总线 通讯速率较高 SPI物理层
  • VS2019中文输出乱码解决方法(C语言)

    现象 VS2019控制台输出中文乱码 第一种解决方法 安装插件Format on Save重启VS2019生效 注意 别装错了 刚开始我就装错了这个UTF 8 No BOM 装了这个插件的同学 记得要删掉 不然还是会出现问题 第二种解决方法
  • 等价类

    动态测试方法是指通过运行被测程序 检查运行结果与预期结果的差异 并分析运行效率 正确性和健壮性等性能 这种方法由三部分组成 构造测试用例 执行程序 分析程序的输出结果 静态方法是指不运行被测程序本身 仅通过分析或检查源程序的语法 结构 过程
  • 无线通信原理之OFDM技术

    补充一个完整的OFDM系统结构图 包括收发天线 目录 1 OFDM的基本原理 2 OFDM系统模型 3 循环前缀和导频 4 OFDM系统参数 1 OFDM的基本原理 OFDM即正交频分复用 Orthogonal Frequency Divi
  • React-错误边界与组件通信方式概述

    错误边界 错误边界 Error boundary 用来捕获后代组件错误 渲染出备用页面 注意 只在生产环境 项目上线 起效 特点 只能捕获后代组件生命周期产生的错误 不能捕获自己组件产生的错误和其他组件在合成事件 定时器中产生的错误 简单理
  • DevOps是什么

    DevOps 英文Development和Operations的组合 是一组过程 方法与系统的统称 用于促进开发 应用程序 软件工程 技术运营和质量保障 QA 部门之间的沟通 协作与整合 它的出现是由于软件行业日益清晰地认识到 为了按时交付
  • JavaBean SpringBean是对象还是类

    JavaBean SpringBean是对象还是类 什么是JavaBean 什么是SpringBean 首先先说结论 Bean可以理解为对象 这几天在学习Spring源码的时候 观察到底层反复的对Bean的操作 于是就去网上搜索Bean到底
  • JAVA小程序微信支付

    微信支付有专门的文档 https pay weixin qq com wiki doc api wxa wxa api php chapter 9 1 当时找的时候都是前台如何 后来才发现后台需要做的就是统一下单 一 先到微信下载两个证书
  • java实现冒泡排序,直接插入排序,选择排序,希尔排序,以及求出它们的时间复杂度O(n)

    package com yg sort author GeQiLin date 2020 2 25 16 53 import java util Arrays public class Sort1 private static int ma
  • ModuleNotFoundError: No module named 'tqdm'

    bogon faceswap master macname pip3 install tqdm Collecting tqdm Downloading https files pythonhosted org packages 9f 3d
  • 软件版本(release、stable、lastest)的区别

    snapshot 快照 也即开发版 我们创建maven项目时 编辑器会自动给我们填入 1 0 SNAPSHOT版本 也就是1 0开发版 这个版本不能使用 因为该版本处于开发的过程 所以运行时会不时地更新 导致功能变化 正式环境中不得使用sn
  • layer.js open 隐藏滚动条

    img echart trand click function var host this data host var role this data role console log host host console log window
  • 华为防火墙NAT

    目录 NAT分类 黑洞路由 Server map 表 NAT分类 在内外网的边界 流量有出 入两个方向 所以NAT技术包含源地址转换和目的地址转换 一般情况下 源地址转换主要解决内部局域网计算机访问internet的场景 而目标地址转换主要
  • Qt/C++项目架构经验总结

    一 通用规则 除了极小的微型demo级别项目外 其余项目建议用pri分门别类不同文件夹存放代码文件 方便统一管理和查找 同类型功能的类建议统一放在一起 如果该目录下代码文件数量过多 也建议拆分多个目录存放 比如就3 5个界面的项目 统一搞个
  • Android 编码规范

    文章目录 背景 制定规范 一 开发环境 二 命名规范 1 资源命名 2 包命名 3 方法命名 4 类命名 5 变量 6 常量 二 编码规范 三 注释规范 1 类注释 2 方法注释 2 变量注释 3 区块注释 四 代码提交规范 五 其他须遵循
  • 快乐的强化学习4——Policy Gradients及其实现方法

    快乐的强化学习4 Policy Gradients及其实现方法 学习前言 简介 举例应用 神经网络的构建 动作的选择 神经网络的学习 具体实现代码 学习前言 刚刚从大学毕业 近来闲来无事 开始了机器学习的旅程 深度学习是机器学习的重要一环
  • [论文解读] 多机器人系统动态任务分配综述

    https www emerald com insight content doi 10 1108 IR 04 2020 0073 full html 多机器人 多智能体 动态环境 任务分配 决策 动态任务调度策略 该文章主要是想对目前st