当前位置: 首页 > 资讯

【原创】一种可以设计集群机器人控制算法的新语言

机器人之家       2017-09-29

编者按:2017年9月24—28日,全球机器人规模最大的学术会议在加拿大温哥华举行。会上,Lenka Pitonakova博士代表英国南安普顿大学介绍了一种专为编程控制集群机器人开发的新型建模语言——BDRML。以下是机器人官网(公众号:jqr-com)的独家编译:


【原创】一种可以设计集群机器人控制算法的新语言


为集群机器人设计控制算法是一件十分具有挑战性的事,因为整个群体的集群性能取决于机器人内部、机器人与环境的相互作用。而目前可用的建模语言,如UML,在这方面无法做到充分描述。为此,我们开发了一种新语言——BDRML(Behaviour-Data Relations Modeling Language,即行为数据关系建模语言)——能明确描述机器人的行为和使用的数据,解释它们彼此之间的关系,因此在机器人合作、数据共享、环境交互等情景上有更优秀的表现。


BDRML primitives(基元)


primitives是BDRML的基础,它们包括:


行为:机器人在特定情况下做出的“应激”举动,如,“侦察”;

内部数据结构:机器人内部储存器中的信息;

外部数据结构:存储在非机器人实体上的信息,如机器人所处的环境;

【原创】一种可以设计集群机器人控制算法的新语言


BDRML交互


实体的交互情景主要有以下几方面:


过渡:机器人从一个行为模式过渡到另一种;

读/写:内部数据只能由从事特定行为的机器人使用/存储;

接收/发送:外部数据由机器人使用/存储,它们也可以把数据从自己内部数据结构中提取出来,发送给其他机器人;

复制:信息从一个数据结构复制到另一个;

更新:随着BDRML图中不可见子程序的进行,数据结构的值会不断更新(例如信息素水平会自发地随时间流逝而减少)。

如下图虚线位置所示,当实体间发生写、发送交互时,BDRML支持选择性定义新的数据结构值,或改变该值的函数,并在数据复制前写入文字描述。值得注意的一点是,\textit{update}必须始终指向已更新的值或函数。


【原创】一种可以设计集群机器人控制算法的新语言


BRML交互条件


每个交互和动作都是在特定条件下发生的,这些条件在下图中被表示为一个带三角形的箭头。根据图片我们可以看到,copy(d1,d2)时,b1与d1分离,除非另有规定,“or”语句只在多个条件影响单一交互时使用。


【原创】一种可以设计集群机器人控制算法的新语言

例子


BDRML整体由视觉和文本规范共同构成。B——行为组,D——内部数据结构,E——外部数据结构,根据彼此间的关系被事先定义。


【原创】一种可以设计集群机器人控制算法的新语言


上图是一个简单的例子。该算法允许机器人寻找工作地点并招募其他机器人进行工作,它可应用于分布式任务分配。在这个集群中,机器人外出执行通过概率找到合适工作环境的工作——P(F),这时它是一个“侦查”的角色。一旦成功发现目标,机器人就切换为“工作”行为,在此期间,它会把“工地”位置信息同步进内部数据结构,用来跟踪“工地”所在。同时,另外的“侦查”机器人会接收到位置信息,并加入“工作”队列,它是被“招募者”,也将成为“招募者”。


要注意的是,促使机器人从“侦查”行为切换到“工作”行为的是P(F)或被“招募”,这些都源于内部数据结构变化。“招募”时,两台机器人必须处于类似的时间类似的位置。该BDRML图充分显示了当机器人进行“招募”时,彼此之间的数据交换。


该论文最初发表于:


Pitonakova, L., Crowder, R. & Bullock, S. (in press). Behaviour-Data Relations Modelling Language For Multi-Robot Control Algorithms. Proceedings of the 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2017), IEEE.


机器人网原创文章,未经授权禁止转载。详情见转载须知

本文来自机器人网,如若转载,请注明出处:https://www.jqr.com/news/007680


关键词:机器人