多机器人协作中角色动态分配机制的设计与实现

2015-11-23 13:21陈鹏慧
河南科技 2015年14期
关键词:分配机制协作分配

陈鹏慧 蔡 琼

(湖南信息职业技术学院,湖南 长沙 410200)

习近平主席在中国科学院第十七次院士大会上讲到,“机器人革命”有望成为“第三次工业革命”、“我们不仅要把我国机器人水平提高上去,而且要尽可能多地占领市场”,由此可以看出,机器人技术是各国研究的一个重要领域。机器人在完成复杂的任务时,单个机器人不能很好地完成,多机器人协作则可以解决这类问题。多机器人协作完成目标任务时,各个机器人在完成任务时角色的分配显得尤为重要[1]。该文分析了多机器人协作中常见的几种角色分配机制的优缺点,并提出了一种基于多影响因素的角色动态分配机制。

1 常用角色分配机制分析

多机器人协作完成某项任务时,单个机器人完成哪个子任务,决定了该机器人在此次任务中的角色。角色分配是给机器人分配各自的角色,角色分配的是否合理决定了任务完成的好坏。常见的角色分配机制有两大类:角色静态分配机制与角色动态分配机制。

1.1 静态角色分配机制

该分配机制是指整个任务完成过程中,单个机器人的任务是固定的,即角色是静态的。其缺点是,当某个机器人在执行所属角色的子任务过程中,该机器人自身及周围环境信息都发生了变化,已经不适合去执行这个任务,但还必须执行,而其他更适合这个子任务的机器人也只能执行自己角色的任务,该机制适应性不强,执行效率较低[2]。但该机制也有优点,静态分配下各机器人的子任务确定,最终能将子任务完成,不会出现机器人执行混乱的状态。

1.2 一般角色动态分配机制

一般动态分配机制在执行任务的过程中,各个机器人根据自身的信息、环境信息、其他机器人的信息来相互转换角色,最终协作完成任务。该机制的优点是,可以根据各种信息的变化选择最为合适的机器人去执行对应的子任务,达到有效完成任务的目的。

常见角色动态分配机制中,多以环境信息中跟子任务有关的坐标点信息与机器人中心坐标点之间的距离作为动态分配依据,离某一子任务坐标点最近的机器人去执行这个子任务,但该机器人自身的角度或其他状态不一定适合执行该子任务[3]。且很多时候环境中的其他信息也很重要。该类机制的缺点则是在各种信息改变较快的情况下,机器人的角色转换太快,导致不能稳定地去执行子任务,在角色之间徘徊,结果出现执行不稳定状态[4],难以获得全局最优解。

2 基于多影响因素的角色动态分配机制

从对常见角色动态分配机制可以看出,多机器人协作完成任务时,多个环境信息的考虑是很有必要的,并且角色动态分配要考虑全局最优,即要得到所有机器人分配角色的一个最优情况。因此,本文提出了一种基于多个影响因素的角色动态分配机制。

该机制的基本思路是:n个机器人,m个子任务,每个机器人对应执行一个子任务,子任务可以多个机器人共同执行。每个机器人执行任意一个子任务的情况都全面地考虑到,并按影响因素来进行计算,计算得出一组数据值,再进行筛选,根据需要选出所需要的情况:最优解,次优解,再次优等。

设定m个子任务目标点存放在数组t_Ptms中;n个机器人目标点信息存放在r_Ptms中,机器人身体朝向信息存放在r_dirs中。变量num记录n与m中较小的值。计算n个机器人取num个元素的排列有r_PermuCount种,具体的排列存 放 在 链 表 r_Permut中; r_Permut[i][0]...r_Permut[i][num]表示表示排列的第i种情况,存放在链表r_Permut[i]中。计算m个子任务目标点取num个元素的排列t_PermuCount种,具体的排列存放在链表t_Permut[j]中。

其中:k=0,1,2,…,num。

夹角影响因子ka;距离影响因子kd。

atemp[k]= 由 r_Ptms[r_Permut[i][k]],t_Ptms[t_Permut[i][k]]两点形成的向量,与r_dirs[r_Permut[i][k]]之间的夹角。

dtemp=r_Ptms[r_Permut[i][k]],t_Ptms[t_Permut[i][k]]两点之间的距离。

影响因素暂时考虑机器人中心坐标点与子任务目标点的距离、机器人中心坐标点与子目标点形成的向量与机器人方向之间的夹角。根据公式(1)进行计算。计算出来的Funs[i,j]就是机器人为第i种排列、子任务目标点为第j种排列的权值,将这样的值进行遍历,首先找出最小值,记录下其i,j,根据i,j值找到对应的排列,即找到了最优解,最后将这个Funs[i,j]重新用一个不会出现的很大的值进行赋值,接着重新遍历Funs数组,找出次优解,依次类推,需要多少组解,就遍历多少次。

3 实验效果

笔者将多影响因素的角色动态分配机制应用到中国水中机器人2D仿真水中搬运项目[5]。水中搬运项目在水池仿真环境中实现,是一个机器人协作项目(图1),机器人的任务是共同将6个彩色球搬运到指定标号的位置,比赛时间为10min,完成任务所需时间越少者获胜。

图1 水中搬运项目开始界面

根据基于多影响因素的角色动态分配机制公式,设置合理的影响因子。当球与目标点位置如图2所示时,机器人的顶球在I、II区域是最优区域,III、IV区域次优,最不合适的就是V、VI,给出不同的值,最优区域的值最小,次优稍大,不合适的最大。距离的远近也分成多个档位,距离越远,档位值越大,反之值越小。每种机制在同样的条件下,进行20组测试,记录了20次完成任务的平均时间、完成任务耗时最长和最短的时间,未完成任务的那几次不参与到平均时间的计算中。计算得到如下表1中的数据。

表1 实验数据表

影响任务的完成时间与机器人顶球的基本动作也有关,因此实验中三种分配方式均采用的是同一个顶球函数。静态角色分配中,出现不能完成任务主要是因为有些时候球的位置很不适合顶,机器人也会去顶,导致时间不够没有完成任务;而一般距离的角色动态分配中会出现两个机器人离某个球的距离值大小摇摆不定,导致角色分配不稳定,不能正常去顶球完成任务。从表格中可以看出,基于多影响因素的角色动态分配,更有效地利用了场上的环境,和目标任务之间的关系,没出现不能完成任务的情况,而且任务完成的时间比较短。

4 结论

从实验效果可以看出基于多影响因子的动态角色分配在多机器人协作完成任务的效果比较好,在2015年中国水中机器人2D仿真水中搬运项目中获得了较好的成绩。笔者在试验中主要考虑的是距离与角度等影响因子,机器人相关的其他因素线速度、角速度、加速度等也是今后研究动态角色分配的一些方面。同时考虑到该算法主要考虑的是已知环境的问题,也要将环境未知的情况考虑进来,这就需要应用人工智能中的一些算法:如强化学习算法等[6],当然实际应用中运算速度的问题也是需要考虑的。

[1]吴丽娟,翟玉人,徐心和.足球机器人系统中角色分配策略的设计[J].基础自动化,2000,7(1):4-6.

[2]Healey A.J,Kim J.Control and random searching with multiple robots[C].The 39th IEEE Conference on Decision and Control.Sydney Australia.2002,9:340-345.

[3]程立英,赵姝颖,潘峰,等.足球机器人动态角色分配策略仿真研究[J].计算机仿真,2013,30(5):383-386.

[4]NunoLau.Multi-RobotTeam Coordinationthrough Roles,Positionings and Coordinated Procedure[C].IEEE/RSJ International Conference on Intelligent Robots and Systems,2009.

[5]肖权.机器鱼位姿控制与协作顶球研究[M].柳州:广西工学院,2012.

[6]陈泽平.基于MSRS 5vs5仿真足球机器人决策系统的研究[D].长沙:长沙理工大学,2010.

猜你喜欢
分配机制协作分配
应答器THR和TFFR分配及SIL等级探讨
团结协作成功易
遗产的分配
一种分配十分不均的财富
指数需求下农产品供应链渠道利润的公平分配机制
农产品供应链渠道利润的公平分配机制
协作
协作
可与您并肩协作的UR3
论我国基本经济制度的经济功能