4
持持持持持持持持持持持持持 Josh Bongard, 1 *† Victor Zykov, 1 Hod Lipson 1 持持持持持持持持持持持持持持持持持持持持持 一,。体,。一,。一 ,,。一,,。,一。 持 持持持持持持 ,。( 1-3 持持持持 )、( 4-6 )、体 持7 持持持 )。,一(8 持持 )。,(9 )。(10-12 持持持持 ),。体,。 持持 一(8 ),。 持持持 一,(13 持 持 持持持持持持持持持持持持持持持持 )。,, (6, 14–16) ,(17) 持持持持 。体,,。 持持持持持持持持持持持持持持持持 ,一,一一。一,。,,。,。,(18.19 持 持持持持 ), , ,(20 持持持 )。,,。 持 持持持持持 ,体( .1 持持持持持持持持持 ):、。,, 1A )。持持 1B , 持持 ,一 15持 持持持持持 ,。( 1C 持持持 ),,。 持持持持 一一, 21-24 持持持 )。体( 1A 持持 ),。 16持 持 持 持 ,,( 1D 持持持 )。,( 1E 持持持持持持持持持 )。 ,。、,,。, 。一持持.2

持续自模化构建自行修复机器

Embed Size (px)

DESCRIPTION

持续自模化构建自行修复机器

Citation preview

Page 1: 持续自模化构建自行修复机器

持续自模化构建自行修复机器

Josh Bongard, 1 *† Victor Zykov, 1 Hod Lipson 1

动物拥有一种行为能力,可以在受到伤害后作出不同方式补偿。工程体系中十分需要这种

名为鲁棒性的机制,从而解决机器面临意外伤害造成的损坏。我们将一个机器能够自动应

对各种变化,持续自模化的过程称为鲁棒性。一个四脚机器可以通过传感推动,间接推断

出其自我结构,从而利用这种自我模型产生前行运动。当一个脚被移除时,该机器可以适

应自我模型,产生替代步态方式。这个概念可以被用于开发出更强大的机器,以及进一步

揭示动物的自模化行为。

由于机器人的实际应用范围变广,其系统也越发复杂。目前机器人已经可以帮助了解人类

及动物行为(1-3)、认知功能(4-6)、体能表现(7)。尽管许多工业机器人早已被用于结

构化环境中完成重复任务,但在不确定的条件下实现其强大的性能仍是一项长期的挑战

(8)。大多数机器人系统采用人为构造的数学模型,捕捉机器人动力并规划其行动(9)。

尽管有些参数识别方法能够自动改善这些模型(10-12),但为这些复杂的机器构建精确的

模型是相当困难的。尤其是当机器主体发生拓扑变化时,而损伤引起的变化更是难以控制。

尽管机器人在各种环境中自主构建模型这一方面已经取得了很大的进展(8),但有关机器

人学习自我形态的方面却鲜为人知。 这一部分无法通过直接观察过去的经验以及数据,推

断或检索出来(13)。事实上,即使没有内部模型,机器人系统也可以自主应付日益复杂

的行为(6, 14–16),或者通过物理实验以及检查错误修复收到的伤害(17)。但这需要实体机

器进行成千上百次的测试,而且通常情况这种方式进行缓慢,花费巨大且风险极高。

现在,我们假设存在这样一个良好的程序,一台机器可以通过持续的自模化保持一直运作

一个机器人可以通过自我探究间接的推断出其自身形态,从而建立自我模型来合成新行为

如果这个机器人的拓扑结构意外发生变化,这个程序将重新构建内部自我模型,为不同的

情况作出补偿行为。从本质来说,这个程序能够使得机器人不断对损坏作出诊断并从中恢

复。这种程序不同于其他损坏恢复方式,这里所介绍的方式不存在所谓的内置冗余

(18.19),专门的传感器阵列,,或者可能失败的应急预案(20)。恰恰相反的是,我们的

方式建立在多个内部存在差异的模型,以及最大限度预测这些模型之间的行动上。

该程序的演算法由三部分组成,无论在进行还是休息实体机器人都将持续这三个步骤

(图.1):建模、测试和预测。首先,机器人执行任意电动机的动作,并记录所获得的传感

Page 2: 持续自模化构建自行修复机器

数据(图 1A)。合成模型部件(图 1B)之后, 使用随机优化法则对合成的,一组内 15个候

选自模进行检测,解释所观察到的感觉与驱动之间的因果关系。完成成分合成(图 1C)后,

就可以利用这些模型寻找新的,能让机器人得出最多信息的行为。 一一执行每个候选自模,

通过搜索驱动模型还可以预测每个传感器信号之间存在的最大区别(21-24)。这项新动作

的执行由实体机器进行操控(图 1A),这种模型合成的部件又为评估模型的质量提供了更

多的资料。在这个程序经过 16次的反复执行,并最后终止后,由合成部件构成的可最准确

执行该行为的模型已被创建成功(图 1D)。接下来的动作,将由机器人来执行动作(图

1E)。如果机器人在这期间检测到的传感器电机模式或其它外部信号无法使用,不能用于

改变行为。那么机器人将重新发起建模、探索行为,交替重复这两种过程直至找到全新的模

型,来应对所发生的变化。新模型生成后,可构建出补偿性行为用于恢复机器功能。一个完

整的实验样品展示图,见图.2。

图 .

Page 3: 持续自模化构建自行修复机器

1算法的大致步骤。 机器人通过执行动作不断循环程序。(A和 B)合成自模。 机器人实际执行的操作(A)。最

初,将会随机的执行各种行为;之后,机器人将执行从中找出的最佳行为(C)。随后,机器人将在执行操作

钱,自主产生一些与传感器收集的数据相匹配的行为。(B)机器人并不知道何种模式才是正确的。(C) 试探

性的动作合成。机器人自主生成了几种可能符合却又互相区别的模型。(D) 目标行为合成。在经过几轮重复

(A)到(C)的步骤后,得出的目前最佳模型经过优化后被用于合成连续运动。(E) 最佳运动方式由实际设备进

行操作。 (F)不断重复(B)步骤提炼模型,或重复步骤(D)创建新行为。

我们对一个实体的四脚机器人进行了程序测试,这个机器人身体上带有八个电动关节,每

个关节上都带有一个可监测角度的传感器,此外还配有两个倾斜传感器。这个充满可能性

的模型涵盖了各种拓扑结构,其中的八个关节,链接点以及枝干都可以被控制(例如,参

见图 1和图 2)。发生损坏后,拓扑构成的空间可用于固定先前预测出的形态。但实际四肢

的比例,是允许缩放的(图 2,N和O)。该项程序期望所达到的要求涵盖可能存在的行为,

以及每个动作所需要的角度。这里所使用的模拟步骤,可以由许多其他自模通过分析压力

和加速度替代完成。如人工神经, Bayesian 网络以及其他传感器都可以在此使用。(这里所

使用的关节传感器,仅用于验证理想角度成果。所选取的主题,仅用于自我模型的合成。)

尽管人工神经网络通产采用内隐式模型表示,但越来越多模拟步骤都日益凸显出其生物合

理性。这意味着我们的理论验证将更具有挑战性,因为评估模型的正确性将变得更加困难

(可通过视觉检查直接执行模拟)。更重要的是,当模型完成如前行(需要提前预测向前

位移的行为)等任务时,这项模拟中只有预测方向的数据,但并不存在一个明确的反馈机

制。

这项模拟流程中采用了两种基础算法进行对比,每一种都采用了随机搜集数据的方式,而

不是利用自模导向型数据。这三种计算使用了相似数量的计算量(〜250,000内部模型模

拟),并且还使用了同样次数(16)的实际操作行为(表格 1)。在第一项基础算法中,16

项行动由实体机器人执行操作(图 1A),并将得到的数据批量提供给模型合成部件(图

1B)。在第二项基础算法中,动作合成组件并非选中某一特定动作,而是采取随机抽取的

方式。从而构建存在差异的,可供选择的自主模型。与图一中A至 C为循环算法步骤。图 1C

所展示的动作为随机选择,并非优化程序。

三个基础算法中的每一个实验都是可变的,而且都是在机器人遭受到破坏的情况的情况下

进行的。机器人受到损害前,每一个实验都采用一组随机的模型;受到损害后,机器人将

Page 4: 持续自模化构建自行修复机器

开启由自我模型驱动产生的最佳算法模式(图 2F)。我们发现通过自我模型驱动产生的算

法推断拓扑模型概率的正确率,高于任意一种随机的基础算法(表 1)。并且,通过这种方

式获得最终模型,较任意一种随机算法获得的模型都更为准确(表 1)。于此相同的是,在

收到损伤后,比起使用任意一种基础算法,机器人能够通过模型驱动算法更快的推算出一

条腿被减少的长度(表 1)。这表明,与简单的率先执行几个动作并完成建模相比,采用循

环的随机算法建模,并不能够提高模型合成率(算法 2并未表现优于算法 1)。但一个能够

主动选择匹配当前虚拟自主模行动作的机器人,与随机作出行为的机器人相比,能够更好

地推断其自身形态(模型驱动算法优于基础算法 1和 2)。

因为倘若机器人无法提前预知其自身形态,那么它就无法确定,当前选择的模式是否适用

于其身体结构。我们发现当前模型组之间存在的差异(即提供给算法的信息),能模型存

在的错误(算法无法直接获得的,该模型实际存在的误差)提供良好的指标。因为在整个N

=30的模型驱动算法实验中,模型间存在的差异以及模型的错误率存在正相关的关系

(Spearman等级相关=0.425,P <0.02)。因此,这个实验导致了大多数来源于N=30以内的

实验范本(通过减少范围得到正确的模型),被认为十分成功。而由此行为选定产生的模

型(图片.2F),也被视为是最完美的。而这种模型也被选定成为当机器人遭受意外损坏时,

最为合适的初始模型(表 1)。

Page 5: 持续自模化构建自行修复机器
Page 6: 持续自模化构建自行修复机器

图 2.机器人重复建造模型,执行动作。该机器人执行随机操作(A)。一组随机模型(B),被合成为近似

模型(C).产生新动作用于最大程度合成不同的模型,并由实体机器人操作行动(D),完成后进行下一

步建模行动。在一段时间内重复以上行为,之至无法再对模型进行改善(E和 F)。得出最佳模型,并用其

合成行为。在这种情况下,产生的行为是向前移动,部分移动动作展示如图(G至 I)。这种行为由实体机

器人控制(J至 L)。接下来,机器人遭受到损坏【右脚下半部被破坏(M)】。重新开始建模,获得最佳模型

(N),使用同样的建模以及实验方式,最终发现损坏部分(O)。新的模型被用于合成新的行为(P至

R),由实体机器人执行(S至U)。尽管遭到意外损坏,最终功能得到恢复。

该模型合成行为组件(图.1D)总计 30次,每一次都采用了一组随机的不同行为。图 3为每

一个实验通过模型机器人最终确定的最佳行为,预测出的最终位置(黑点)。实体机器人

在这 30次行为中的操作,被记录位置并生成报告于图 3(蓝点)。作为对照,实体机器人

随机操作的 30次任意因为也被记录于图 3(红点)。尽管预测距离以及实际距离存在一些

差异,但可以发现随机行为中缺少清晰的前移运动。这表明,该自动生成的模型可以在缺

乏实际操作的情况下,充分预测机器人持续向前移动的运动模式。一个更好的运动模式如

图.S1A。从自模到实际的转变并非完美无瑕,尽管二者步态十分相似。但模拟步态和实际仍

然存在差异(参见 2.6以及 5.2S),这大多是由于摩擦以及对称姿态中存在的干扰所造成

的,并且这二者难以提起预测。同样的在受到损伤后,机器人完全能够合成一个精确的新

模型(示例见图 2O)。这种补偿性行为,能够确保机器人继续前移。补偿性步态示例见图

S1B,电影 S1.

Page 7: 持续自模化构建自行修复机器

图 3,优化行为及随机行为间距离差异。圆点表示机器人自起点开始行动后的最终位置。红点表示实体机器

人执行随机操作后的最终位置。黑点表示自模型执行 30次优化行为后,预期中的最终位置(图.2F)。蓝点

表示实体机器人在现实中执行 30次行为后,实际情况中的最终位置。该原点对应的实际操作行为见图

2,G至 L。方块表示最终位置。垂直水平线表示 2 SD所对应的垂直和水平方向所发生的位移。

此前,我们已经讨论了自主建模存在各种可能性(26)。首次证明了物理系统在形态发生

意外变化后,可利用其拓扑结构自主完成参数优化构建自模。此前,一直缺乏相关的知识

体系。这种过程可以同时展示拓扑模式和参数自建模型。这表明,未来的机器将能够不断的

检测其自身形态是否发生了变化(如发生了损坏,或获取了新工具),以及周围的环境

(当机器人进入未知的或变化了的环境)。并利用这种能力,进行预测并生成补偿性行为。

除机器人外,这种一般的非线性拓扑系统(23)所具有的,积极创造以及测试假定行为的

能力也可以应用在其他领域中。如:计算系统(22),生物网络(23),结构损坏

(24),甚至自动化科学(27)中。

这项工作在未来将可能被运用在,调查动物的认知以及发展认知机器等方面。这项功能虽

然简单但是强大,无需模型就可创造出机器人(14-17,28)。高等动物需要提前预测行为

的功能,因为在许多情况下,传感器无法及时捕捉快速而复杂的行为并作出反馈(29)。

尽管这里所提出的标准化生物模型无法直接使用,但这种方法已经为揭示未知的进程打开

了新世界。告知了人们如何在头脑中积极创造、实时更新自模。应当选择哪种传感器电机信

Page 8: 持续自模化构建自行修复机器

号,如何加以利用。怎样组成模型,并丰富不同实用模型的种类(30)。这项工作尤其证明,

定向勘探采集的预测性自我模型(31)可以在实现更高水平的机器认知方面,发挥关键作

用。

表 1.三种算法变式的表现摘要。基础算法 1和 2分别禁用迭代算法,以及模型驱动自我学习功能。同时确保

二者计算次数,以及操作行为次数相等。损坏前,能够输出正确的拓扑结构被视为试验成功(正确以及不

正确的模型见图 2)。从每 30个实验中选出最优模型,计算误差值数据平均值。平均值用±SD表示。机器人

损坏后,进行另外 90个实验。从这 90个实验中选取最佳模型,使用机器人进行重新建模(图.2F)。在这

种情况下,平均模型误差值为推断受伤腿的长度以及真实损坏的长度(9.7厘米)之间的差异。