一千多个机器人利用群组智能进行分工合作

一千个机器人所呈现出的如蚂蚁般密集的景象

哈佛机器人专家第一次介绍Kilobots是在2011年,当时只有25个,可以进行一些简单的前进后退旋转等动作,并能通过遥控器进行统一控制,有一些简单的群组智能。然后在2013年出现时,到了100个。然后。。。这一次就出现了上图中密集的机器人阵列,总共1024只!这是从始至今在同一时间同一地点看到如此之多的机器人。

别看他们似乎有些可怕的名字(KILL-O-BOTS!其实kilo是计算机中的一千,也就是1024)还有在大家印象中对机器人群的恐怖印象,其实这些小机器人是没有任何危害的。每个机器人都如同金币般大小,而且非常廉价(才14美金)。靠振动腿来移动,机器人之间通过红外进行通信。

研究群组机器人最关键的两点

首先是要达到一千多这种足够多的数量。事实上,研究院研究群组机器人通常通过电脑模拟,毕竟这种方式能节省很大的成本。而建造实际的机器人时,群组至少包含五个或者十个,极少情况下会有一百个。

当有一千个群组机器人时,单个机器人的重要性几乎降低到零:虽然某几个机器人可能会出现故障或当机,但是机器人数量如此之大,机器人群组的集体行为趋势并没有改变,因此也没有造成任何影响。

其次是管理如此巨大的群组机器人的软件和基础设备。当有一千个机器人时,对几个机器人管理有效的方法已经行不通了。充电就是一个例子。想象一下将1000个机器人手动插到电源上的场景吧。哈佛研究员因此制作了如图所示的充电设备。同时,也可以通过红外信号快速的对其进行编程。正因为可以一次性的对所有的机器人群组进行充电与编程操作,所以,当扩充机器人群组的数量时,所需要的时间仍然没有增加。

如果你有了这群机器人你会怎么做呢?

在生物系统中,群组织控制是根据一套非常简单的规则。拿鱼举例来说,当转向旁边离你最近的邻居时,要与前面的鱼保持紧密的距离。对于Kilobots,组织形状的算法也是基于类似的一套简单功能。

  • 跟踪边缘,机器人可以通过测量到边缘机器人的距离沿着群组的边缘进行移动
  • 梯度阵列,初始机器人生成一个带有梯度值的信息随着在群组中传播而递增,让每个机器人知道与初始机器人之间的距离。
  • 定位,机器人可以通过和邻居通信以及测量和其之间的距离来组建一个本地定位系统。

在这些功能中,定位是最困难也是最重要的。机器人通过从桌面反射后的红外进行通信,同样通过检测红外光的强度来测量机器人之间的距离:光亮度越小距离越远。但是他们并不确定光是从什么地方过来的。因此就需要用到定位,他们通过一个初始的“种子”机器人组来定义定位系统的原点,随后的机器人就可以通过至少三个已经定位好的机器人的红外光照强度进行定位了。

集体自组合算法

左上:用户发送给机器人的确定的图形形状。

右上:这个算法基于三个基本的集体行为:跟踪边缘,梯度阵列和定位。

底部:一组机器人根据用户定义的形状进行群组自组合。

一旦机器人定位好后,组建成任何形状的图案都是相对简单直接的:机器人围绕着群组的边缘移动一直到检测到已经进入图形区域中。然后,每个机器人继续沿着形状边缘移动一直到检测到即将走出形状或者碰到前面的机器人。也就是说:机器人根据这个简单的规则一直移动,直到形状组建完成。

Kilobots结构

好了,下面熟悉下Kilobots的结构

1,3.7V电池
2,电源跳线
3,振动电机
4,RGB灯
5,环境光传感器
6,串口输出接口
7,编程接口
8,充电销
9,红外发射器
10,红外接收器

当然,如果也想玩玩群组智能,可以从这里下载电路图和源代码,完全开源!并且官网kilobotics有详细的操作说明,如果你是枚人工智能爱好者还可以在这里查看详细的算法.

感兴趣的小伙伴们速度也来做出一套来吧!

参照资料
kilobotics
Harward
pnas
Kilobot: A Low Cost Scalable Robot System for Collective Behaviors
IEEE

坐沙发

发表评论

你的邮件地址不会公开


*