快捷搜索:  汽车  科技

机器人多任务编程(多机器人任务分配问题分类)

机器人多任务编程(多机器人任务分配问题分类)基本任务(Elemental tasks):一个动作由一个机器人执行 且该动作不可分解。有时候机器人执行任务时,要先对任务进行分解的,从任务分解的角度出发大概可以把任务分为以下四种:SR or MR(Single\Multi-Robot): 任务是否需要多个机器人协同完成。IA or TA(Instantaneous\Time-extented Assignment): 任务是即时分配的还是有计划地分配的。源自 Multi-robot Task Allocation A Review of the State-of-the-Art

  1. 机器人任务分配问题的概念

根据自己对机器人任务分配的了解,机器人任务分配就是如何决定哪一个机器人在满足约束的条件下去访问哪一个位置或者空间,就是which、when、where三个问题,使得系统整体的利益得到最大。常见的问题,如MRTA(Multi-Robot Task Allocation)、VRP(Vehicle Routing Problem)、TSP\MTSP(Traveling Salesman Problem \Multiple Traveling Salesman Problem)等。

2.多机器人任务分配问题的分类

由综述文章1可以知道,可以从机器人类型、任务类型、时间规划三个维度对其进行分类,如下所示:

ST or MT(Single\Multi-Task): 机器人是否能同时执行多个任务。

SR or MR(Single\Multi-Robot): 任务是否需要多个机器人协同完成。

IA or TA(Instantaneous\Time-extented Assignment): 任务是即时分配的还是有计划地分配的。

机器人多任务编程(多机器人任务分配问题分类)(1)

源自 Multi-robot Task Allocation A Review of the State-of-the-Art

有时候机器人执行任务时,要先对任务进行分解的,从任务分解的角度出发大概可以把任务分为以下四种:

基本任务(Elemental tasks):一个动作由一个机器人执行 且该动作不可分解。

简单任务(Simple tasks):要么是一个基本任务,要么就是分解后不能再分解了,大多数子任务都是由一个机器人执行的。

复合任务(Compound tasks):按照固定方式把任务分解成子任务集。

复杂任务(Complex tasks):有多种任务分解的形式。

注意:复合任务与复杂任务的区别是,复合任务的任务分解可优先于任务分配,而复杂任务可能需要一边进行任务分解,一边进行任务分配,目的就是为了得到最佳子任务的最佳分配。

机器人多任务编程(多机器人任务分配问题分类)(2)

源自 A comprehensive taxonomy for multi-robot task allocation

3.约束和系统效益的关系

机器人执行任务时会有各种各样的约束的,如机器人容量、时间、距离、优先级等,有时候任务之间会出现各种约束,则约束与系统整体效益之间会有一定的关系,iTax可以分为以下四类:

No Dependencies(ND):无约束。

In-schedule Dependencies(ID): 整体效益决定于机器人自身的调度表。

Cross-schedule Dependencies(XD): 整体效益同时决定于其它机器人的调度表。

Complex Dependencies(CD):整体效益决定于任务分解方式。更加形象生动的展示方法如下。

机器人多任务编程(多机器人任务分配问题分类)(3)

源自 A comprehensive taxonomy for multi-robot task allocation

4.问题建模

以MTSP为例,接下来我介绍的算法都是以TSP或者MTSP为中心而展开的。根据图的定义,可以让G = (V A)表示MTSP的一个图,其中V为点(城市的集合),A为图的边的集合,V = {1 2 3 4……n},有n个城市。成本矩阵C即为距离矩阵,C = {cij ;其中i和j都属于V }。模型如下:

机器人多任务编程(多机器人任务分配问题分类)(4)

机器人多任务编程(多机器人任务分配问题分类)(5)

(1)式是系统的目标函数,(2)和(3)确保有m个机器人从起点出发和有m个机器人回到起点,其中城市序号为1的为旅行商的起点。(4)、(5)、(6)为正常的约束,确保每一个城市只拜访一次。(7)式是确保路线内部不会有子回路。

由模型可以知道,每一个机器人需要从起点出发,并且最终回到起点,且每一个城市只能拜访一次。以上模型目标函数可以是最小化总体旅行距离或者旅行时间。该模型是属于基本模型,若需要其他的约束,可以直接在以上模型添加即可。

若有小伙伴对机器人任务分配算法较为兴趣的,可以在下面评论交流一波,纯属互相学习。

参考文章:

1、A comprehensive taxonomy for multi-robot task allocation[J]. International Journal of Robotics Research 2013 32(12):1495-1512.

2、Khamis A Hussein A EhnogyA. Multi-robot Task Allocation: A Review of the State-of-the-Art[M]. 2015.

猜您喜欢: