身体的智能:7.6模块化机器人




身体的智能:7.6模块化机器人


回到本章开始的故事,Kasper Stoy以他装备了分布式控制系统的模块化机器人震惊了观众,每个单元都能独自活动,而不是所有的模块都由一些领导模块或者外部计算机控制的。Stoy使用角色这个概念来使其工作,模块能自动检测它们与邻居是如何连接的,依据连通性,决定它们在系统中的角色并启动与角色相应的控制程序。不用细究技术细节,如果一个模块只与另一个模块相连,它就是肢体(或者是一条蛇)的末端。如果它连接到两个模块中间,那么就形成了一个肢体或者蛇躯体的一部分。如果它被连接成T形,它就处于腿与身体连接的关节位置上等。如果给合适的角色指定了合适的控制程序,那么有用的行为,如移动,就能实现。


我们已经了解到某些生物体,如吹气的河豚,通过改变它的形态能表现出不同的功能。东京工业大学的Fumio Hara 创造了术语形态功能机器(morphofunctional machines指通过改变形态而具有不同功能的人造物(HaraPfeifer2003)。与一般机器人只能靠控制结构上的改变来获得适应性相比,上述能力提高了机器人的适应性。并且,改变形态是模块化机器人的重要目标之一。为了进一步说明这点,让我们再看另一个例子。


M-TRAN


M-TRAN是由东京工业大学的Satoshi Murata开发的一个机器人系统。Satoshi Murata是模块化机器人技术领域公认的领袖人物之一。他似乎与未来有某种联系,所以他第一流的研究有着很明显的科幻风格。但是与科幻小说不同的是,他的想法不仅在仿真中,在真实的硬件上也得到了验证。Murata 开发了一个模块,叫做M-TRAN,靠这个模块,能实现令人难以置信的多样化的行为。尽管某些原理与Stoy的方法相类似,M-TRAN不需要人类的干预,就能自动连接到其他模块上或从其他模块脱开。初一听也许会觉得容易,但是再深入研究一下,就会发现从硬件的角度而言,这绝非轻而易举的事。一个方案是使用电磁铁,当你想连接两个模块时,导通电流就能连接相应的磁铁,而当不需要连接时,断开电流即可。这种方案的问题是能量消耗和散热,当连接模块时,需要持续供给能量,而且还是对全部模块都要供给能量;此外,每个模块至少有一边总是要连接上的,因此每个模块都需要通以电流。另一个方案是,我们可以使用永久磁铁。它们很容易连接,并且一旦连接上就不需要额外的能量了。但是要分开时怎么处理呢?如果我们想把模块连接


得牢靠,例如,足以支撑起一支由数个M-TRAN模块连接而成的手臂(假如每个模块重400g,两个或者三个模块就重达800~1200g),我们就需要相对强力的磁铁,这也意味着我们在分开它们时需要更强的力量。在M-TRAN模块中,通过引入独创性的分离机构解决了这个问题(有兴趣的读者可参看Murata等,2004)。


M-TRAN模块是非常复杂的。它们是由两个半立方体组成,一端是立方体状,另一端是圆筒状。每个模块是6×6×6cm2大小,由一个连杆连接,然后由一个伺服电机驱动(见图7.1a))。每个模块的表面都安装了3个连接用的金属板,还配备了一块电池、一个微处理芯片、带分离机构的磁铁以及用于与相邻模块通信的通信连接。通过重复包括如与邻居模块表面断开、旋转一个半立方体以及与另一个模块表面重新连接这些基本的操作,就可以实现自重构。自重构中的基本问题如下:给定一个初始配置A(如形,这是模块的一种线性排列),还有一个目标配置B(一个四足步行者),可以通过一系列的局部操作实现由A配置向B配置的转换吗?这是一个很困难的计算任务,Murata和他的小组开发了一种算法来完成这项工作。通过(b


G0ni00


1


7.1自重构机器人Satoshi
Murata
M-TRAN系统(a)个体模块;(b)形态变化的中间过程


这种方法,步行者还可以转换成蛇形和圆筒形来实现移动(见图7.1b))。正如早先所提到的,自重构的想法是为了让设计者不必将机器人拆分,然后重新组装,通过循序渐进的方法,使其自身逐步变形到一种新的形态。因而,由M-TRAN模块所构建的创造物是形态功能机器的最初例子。


用于计算转换序列的算法是在一台单独的计算机上离线计算的,然后模块按着这些特定的方式运动以实现形态变换。从这个意义上说,它是集中控制体系,但是以它转换的方式而言是分散的:它是由个体模块的联合行动实现的。当然,移动模式的生成在这样的系统上比在给定了形态的机器人上要更困难一些,因为每种模式都必须能对应于系统所能变化的不同形态。在基于M-TRAN的机器人上,这是通过前面一章所讨论的基于人工进化的优化方法实现的。


一如既往,我们对涌现性很感兴趣,一种研究涌现性的方法就是依据人工进化,步态模式蛇形的、有腿的或者滚筒运动由在M-TRAN机器人上进行的进化过程产生。从某种意义上说,运动模式是涌现的,因为它们由单个模块的简单运动产生,通过与环境或者其他模块的交互,产生特殊的步态或其他运动模式。但是。重构过程本身是集中控制的,因而不是涌现的,因为在重构过程中,它不依靠模块与环境的交互。


“Slimebot”


为了让我们对涌现性有一个更好的认识,让我们研究一下最后一个模块化机器人自重构的例子。该例子集中反应了涌现性。日本东北大学的机器人学专家Akio Ishiguro以他的非传统思维闻名,长期以来他一直对生态平衡、形态计算以及神经躯体耦合进行着研究。在开发他最新的机器人时,他再一次从自然中获得了启发。


“Slimebot”的灵感来自黏菌(slime mold),这个生物吸引了很多人工智能和人工生命领域的学者。毫不奇怪,黏菌是黏糊的,它没有头,没有真正的躯体,也没有肢体。它仅由一种类型的细胞构成,还没有神经系统,但是它有很有趣的生命循环。该循环中有一个与动物类似的阶段,在其中它就像动物一样能动,能吃,能消化。


还有一个类似植物的繁殖阶段。Ishiguro对黏菌很感兴趣,因为尽管它没有神经系统,更不用说头了,但是它的众多细胞可以产生移动模式。


他构造了一个模块,与M-TRAN模块有本质不同一它是轮式结构,有8个轮辐状零件,每个由一个所谓的直线驱动器驱动(驱动器中,一根较小的套管在一根直径较大的管里来回运动,就像汽车发动机里的活塞)。轮子水平躺在地上。为了连到其他模块上,轮子圆周覆盖了一层Velcro,这样当它与另一台覆盖了Velcro的机器人接触时,它们能粘到一起。要分离的话,只要通过制动器就能把各单元分开。此外,有一套机制来控制地面摩擦力的大小来产生运动:当高摩擦力的部件到达地面时,就能拉或者推其邻居单元。使用一种振荡器,像那些我们在


“Puppy”和七鳃鳗上已经见过的,并且利用相邻模块的相互耦合,我们能制造一种相邻模块的协调波动,这种波动能穿过全身30多个模块;再利用这种大小摩擦力控制机制,整个机器人就可以移动了,尽管没有一个模块靠其自身可以移动。注意穿越机器人的波动是由于相邻模块的交互作用及摩擦力产生的,不是全局控制的;


其运动明显是涌现的一这就是自组织过程的结果。


在众多模块化机器人方法中,一个普遍问题是与连接、分离还有移动模块相关的机械问题,这需要很大的力,还要消耗掉许多能量。但是或许有更简单的方法来实现,如在水里或者其他液体中,经过适当设计的模块可以浮起来。这就是前面所提到的HYDRA工程中的HYDRON模块所采用的思路。尽管这种方法在一定程度上缓解了机械问题,但是人们又要应付在液体中操作的问题。无论如何,在未来见到此项工作的结果都将是非常有趣的。另一个解决方案是减小个体模块的尺寸,这将使它们变得更轻,从而减轻(或至少改变)机械问题。这指引着我们去探讨可扩展性问题,如果我们想要得到诸如自修复及自再造等接近自然系统的能力,这是很有必要的。







 





ETC注销ETC充值ETC客服ETC扣费查询


ETC发行合作

发表回复