不久的将来,成千上万的机器蜜蜂将带着同一任务被放飞天空。
撰文:罗伯特·伍德(Robert Wood) 拉迪卡·纳格帕尔(Radhika Nagpal) 古杨·魏(Gu-Yeon Wei)
翻译:季丰 审校:梁晓峣
看上去,这似乎是个不可能完成的任务。蜜蜂经过几百万年的进化,被大自然塑造成了令人叹服的飞行能手。它们小小的身体,不但可以持续飞行数小时,还可以在狂风中保持稳定,寻找花朵以及躲避天敌。试想一下,如果一个机器人只有硬币大小,它将如何完成这些任务呢?
现在,让我们先来看一下蜂群。蜂群似乎没有领导者和管理者。成千上万的蜜蜂根据蜂巢的状态,巧妙地进行分工。当蜂巢需要更多的花粉时,就多派些蜜蜂出去采蜜;当蜂巢需要照顾时,更多的蜜蜂就呆在家里。一旦有突发状况,比如蜂后突然死亡,蜜蜂们就会迅速根据情况进行调整。这个庞大的群体,究竟是如何在没有领导的情况下,迅速而又准确地做出这些复杂决定的呢?
机器蜂群完全能够胜任采蜜以外的工作(尽管采蜜是一大潜在用途)。事实上,小巧灵活、简单价廉的机器人,能比一些专业人员更有效地完成任务。例如,营救人员可以带上一个重量不足一千克、装有1 000只机器蜜蜂的盒子,在遭受自然灾害的野外,放飞这些机器蜜蜂,根据伤者的热量、声音、呼出的二氧化碳来搜寻、营救伤者。如果只有3只机器蜜蜂完成任务,其他蜜蜂都失败了,对于整个蜂群来说,仍然是取得了成功。而对于那些造价10万美元的救援机器人来说,情况就不同了。
不过,机器蜜蜂的开发还存在很多技术难题,比如这些小机器人体长仅有几厘米,体重也不足一克(在全世界最轻的自动飞行装置中,位列第100位),而我们要在它们“迷你”的身体里,放入飞行系统、电子大脑和视觉系统,以及用于管理它与其他蜜蜂个体交流互动的控制设备。近年来,人类在材料学、传感器技术和计算机体系架构方面的进步,使我们能进一步朝这个目标迈进。
能量限制
制造一个小型飞行机器人最大的挑战就是,怎么让它飞起来。可惜的是,过去几十年,人们对小型机器人的研究成果对我们毫无帮助,因为机器蜜蜂很小,以至于力学机制有所不同。在这样的尺度下,占主导的是表面作用力(如摩擦力),而不是与质量相关的力(比如重力和惯性)。由于体型的限制,机械工程师的传统工具都无法使用,包括旋转轴承、齿轮和电磁发动机组件——这些在大型机器人中随处可见的组件,在机器蜜蜂身上效率太低。
除了快速旋转的发动机和齿轮,我们还模仿飞行类昆虫,为机器蜜蜂设计了一个飞行结构——由人造肌肉提供动力,使翅膀可以拍动。我们的肌肉系统用独立的“肌肉”来提供动力,控制飞行。较大功率的驱动器用来驱动翅—胸(wing-thorax)装置摆动,从而带动翅膀拍动,而较小功率的驱动器用来微调翅膀运动,产生转矩,控制和操纵飞行。这两个驱动器都设在翅膀与身体的连接处。
人造肌肉由压电材料构成,当你向压电材料施加电压时,人造肌肉就会收缩。虽然这样的驱动器有一些缺点——例如需要较高的电压,并且易碎,但从物理上来说,尺寸较小对我们也有好处。驱动器越小,运动速度越快。由于驱动器在每个运动周期完成的做功量是恒定的,所以翅膀拍打得越快,输出的功率就越大。事实上,人造肌肉的功率,与同体积的昆虫肌肉相当。
过去几年,我们已经试用了数十种不同的驱动器和关节。我们的目的是想找到一种最简单可行的制作方案,因为要想制造成千上万的机器蜜蜂,驱动器和关节这样的组件必须得实现大规模生产。
目前,我们设计出的最好的关节,是一个三层的三明治结构:顶部和底部由硬质面板组成,中间是一层聚合物薄膜。我们会对顶层和底层的材料进行蚀刻,而中间层的聚合物层则保持弯曲性,这样就能制成一个挠性关节。
我们在建造蜜蜂大小的机器人方面已经取得了很大的进展,但我们仍然还未解决的问题是,怎样来为这么小的机器人供能。为了供能问题,机器蜜蜂的身体大部分都得由主驱动器和动力装置占据(想想电池吧,尽管我们也在研制固体氧化物微型燃料电池)。供能也是一个两难的问题:供能元件越大,提供的能量当然也越多,但这样一来,机器蜜蜂的重量就会增加,需要更大的推进系统来抵消增加的重量,最后又得寻找更大的供能元件。
虽然我们还未制造出可以自己供能飞行的机器蜜蜂,但我们已经可以让一只100毫克的机器蜜蜂,产生足够的推力起飞(我们把它系在一个外接电源上)。借助主动和被动机构,这只机器蜜蜂可以自己保持稳定。考虑到电池的能量密度和身体各部件的能量利用率,我们最乐观的估计是,这只机器蜜蜂只能飞行几十秒钟。为了延长飞行时间,我们尽量减小蜜蜂的重量,并使各部件的效率最大化。
会思考的机器
电源不是唯一的问题。机器蜜蜂的“大脑”是另一个难题。在野外,机器蜜蜂必须不断根据环境,确定最好的行动方式,并自己控制飞行机制。实验室里,我们还可以借助外部电子设备,制定一个临时的解决方案,但真正进入工作状态,机器蜜蜂只能依靠自己的“大脑”。
如果达到较高的水平,机器蜜蜂的“大脑”不仅需要自身的行动,还得与其他机器蜜蜂互动。我们打算给机器蜜蜂设计一个多层次的“大脑”:传感器负责感知环境因素,电子神经系统负责基本的控制功能,而一个可编程的电子大脑皮层负责做出高层次的决策。作为第一步,我们首先要设计一个简要版的大脑系统,让机器蜜蜂实现自主飞行。这也是一个挑战,需要严格控制由传感器、信号处理器和身体各部位组成的回路。
为了弄清楚该使用什么样的传感器,以及如何构建大脑的电路结构,我们再次将目光投向了大自然。苍蝇(和其他动物)感知世界时,使用了两类传感器:本体感受器会让苍蝇知道,自己飞行时身体处于何种状态——翅膀的拍打速度、身体的体能状况;外部传感器则提供外部世界的信息。
现代技术提供了GPS、加速计和多轴陀螺仪,但这些传感器要么太重,要么会消耗太多的能量,或者又重又耗能,根本没法用在机器蜜蜂上。因此,我们正在研究一种电子视觉系统,与天然蜜蜂的视觉系统类似,可以分析“光流”(optical flow),也就是在一个视觉传感器的“视野”中,明显的物体运动。想象一下,当你乘坐汽车时,看到的窗外景物是怎样的:车窗附近的物体移动速度快,而远处的物体移动缓慢。如果一个视觉系统可以做到这一点,它就能展现某一环境的详细三维场景,即使它只配备有一个小小的、简单的图像传感器。
另外,机器蜜蜂的大脑还得有足够的能力,处理图像传感器传来的数据流,做出适当的决策,驱动身体里的驱动器。同样,那些现成的先进设备还是没法用于机器蜜蜂。因此,我们一直在开发一类新的计算机架构,用于构建机器蜜蜂的大脑,把通用计算与专用电路(也就是硬件加速器,hardware accelerator)结合起来。与普通家用电脑中可以做任何事情的通用处理器不同,硬件加速器这种经过精细设计的电路模块只能做一件事情,但可以做得很好。这样一来,即便在严格的功耗限制之下,我们也可以使用硬件加速器来快速并实时地进行稳定飞行的反馈环所需要的计算。
我们面临的一个重要问题是怎么取舍。例如,我们希望有一个高分辨率的摄像头,但高像素意味着更大的图像传感器,而且需要额外的计算能力来处理图像。那么,如何取舍才是最合适的?
为了回答这类问题,我们已经开发出一种特殊的风洞实验室。我们把机器蜜蜂的身体,安装在一个固定的多轴向力和扭矩传感器上,让它扇动翅膀,模拟飞行。我们将蜜蜂飞经的物理环境的图像,投影在风洞实验室的墙壁上。通过这种方式,我们可以探索原型视觉系统、大脑和身体如何协调合作,从而更好地控制机器蜜蜂的飞行。
当然,飞行控制仅仅是个开始。同时,我们还须开发其他一些传感器,让机器蜜蜂完成某些特殊任务,比如去搜寻埋在地震废墟中的幸存者。
可惜的是,我们目前还不敢妄言,未来的机器蜜蜂可以实现直接的相互交流,因为这涉及无线通信,而要实现这一功能,能耗实在太高。不过,这并不意味着,机器蜜蜂只能单独行动。
群体智慧
相对于我们想要掌控的世界,一只机器蜜蜂显然很渺小,能力有限。由于能源和重量的限制,使得单个机器蜜蜂可以装备的传感器和通信设备非常少。因此,除了研究机器蜜蜂的身体和大脑,我们还必须弄清楚,如何建立一个蜂群。和真正的蜜蜂一样,一只机器蜜蜂能做到的事情很有限。但一群呢?通过分工合理的群体行为,机器蜜蜂可以扩大探索区域,即使这当中有个别蜜蜂失败,整个蜂群仍然可以成功完成任务。成群的小巧灵活、成本低廉的机器人,可以用在很多领域,例如授粉、搜索和灾难救援,这些都是单个机器人无法完成的。
20世纪90年代初,“群体智能”(swarm intelligence)研究领域的计算机科学家就受到社交性昆虫的启发,开发出了很多强大的协同算法(coordination algorithm)——从协调搜索策略到智能分工,不一而足。但是,即使有了这些算法,成群的机器人仍不能像一个机器人那样来管理。
举例来说,如果面对数千个问题,让一个人逐一去解决这些问题,那根本就是一个无法完成的任务。这就像要求一位普通的软件开发人员坐下来,为一台计算机的每个物理位都写出指令一样。相反,正如编译器可将人类可读的计算机程序翻译成1和0,用来控制微处理器内的一个个晶体管,我们也需要一个更高级、更抽象的方式,把机器蜜蜂群体当作一个整体来控制——把整体指令翻译成可以控制个体行为的程序。我们需要为整个群体设计一种编程语言。
哪种语言能正确捕获蜂群的行为?我们希望机器蜜蜂群为我们做什么?没有简单的答案,但我们已经开发出了两个抽象的初始语言。利用Karma语言,你可以制定一个多任务流程图,然后让机器蜜蜂群去执行。流程图中,有些环节代表着可以触发新任务的具体条件。Karma系统会根据个体反馈的信息,调整资源的分配方式,这是对真实蜂群中的社会机制的一种模仿。
另一种语言系统称为OptRAD(Optimizing Reaction-Advection-Diffusion),会把空中飞行的机器蜜蜂群看作在环境中扩散的流体。任何机器蜜蜂都将使用一个概率算法,以确定它是否该在目前的环境状况下执行某个任务。将群体视为流体后,OptRAD可以高水平地推测预期结果,并调整机器蜜蜂的行为,适应新的环境。
要制造和操控数量大大超过操作人员的机器蜜蜂群(不是百八十个,而是成千上万个),我们需要攻克的难题还有很多。当数量成千上万时,一个一个地操控机器人就不现实了。试想一下,如果每个机器人有一个ON / OFF开关,启动每个开关花5秒钟,那么启动1 000个机器人需要将近一个半小时。同样,成本和维护也是如此——所以,按这个标准,单个机器人必须成本低廉、制造简单、操作方便。在理想的情况下,我们希望每一个操作是可规模化执行的——即响应时间固定,且不随群体的规模增大而增加(或增加得非常缓慢)。
因为这些难题,我们创建了Kilobot机器人系统,这是一个由上百个机器人组成的“团队”,每个机器人约25美分硬币大小(直径约2.5cm),可以依靠振动来移动,并能与附近其他的Kilobot机器人交流。利用这个机器人系统,我们可以检验上面提到的编程语言和应急反应数学模型。毕竟,没有用真正的硬件测试,我们不可能了解物理系统的应急行为。
这个系统可用于测试我们希望机器蜜蜂最终要实现的许多群体行为。例如,我们可以要求Kilobot小组在环境中搜索目标,那么,一旦某个Kilobot发现目标,就可以将位置报告给整个小组。我们已经将Kilobot的设计公开,提供给想自己制作机器人的爱好者,你也可以向K-Team公司购买预制的Kilobot机器人。我们希望这个标准化的机器人套件有助于产生新的思路,推动科学的进步。这是单个团队所做不到的,我们也一样,集体的力量,将大于我们这个团队。
前途无限
虽然我们已经取得了很大的进步,但要做的工作还有许多。我们预计,几年之内,机器蜜蜂将能在严格控制的实验条件下飞行。5~10年以后,它们将被广泛使用。
1989年,著名机器人专家罗德尼·布鲁克斯(Rodney Brooks)写了一篇题为《快速、廉价和失控:一个机器人入侵太阳系》的文章,描述了用小机器人进行太空探索的好处。当然,这是对当年工程界格言的一种调侃:“消费产品只须符合‘快速、廉价和可靠’中的任意两个特征就行。”但对于很多人来说,丧失一个属性确实无关紧要。
布鲁克斯对这个概念机器人的解释颇具有预言性。如果你可以使很多简单的机器高效地工作在一起,谁还会在乎其中某一个体的失败?要想保证机器蜜蜂探险家能够成功,就应该允许它们偶尔从天上掉下来。
本文译者:季丰毕业于美国南新罕布什尔大学的英语教育专业。
本文审校:梁晓峣是上海交通大学电子信息与电气工程学院计算机科学与工程系教授,2009年毕业于美国哈佛大学计算机系,获计算机系统结构博士学位,主要研究方向为计算机系统结构和多核并行技术,与本文作者古杨·魏有过合作研究。
请 登录 发表评论