发展型机器人:由人类婴儿启发的机器人. 2.5 婴儿机器人模拟器-阿里云开发者社区

开发者社区> 华章出版社> 正文

发展型机器人:由人类婴儿启发的机器人. 2.5 婴儿机器人模拟器

简介:

2.5  婴儿机器人模拟器

机器人平台往往是昂贵的研究工具,通常世界上只有很少的实验室能够负担得起。设备齐全的iCub的成本在2012年大约是250000欧元,因此只能通过参与大规模的研究资助才能承担得起这些费用。ASIMO和QRIO等其他机器人平台还没有商业化,如果可以购买的话,其成本将超过100万美元。更便宜的机器人,比如NAO机器人,其成本大约6000美元,尽管一些中等规模的实验室和研究基金支付得起,但还是需要对实验室设备进行重大投资。此外,机器人实验室的配置和运行成本只有少数研究人员和实验室能够负担得起。这就是好的、真实的现有机器人平台仿真软件模拟器对发展型机器人研究极其有用的原因之一。60

当然,鉴于机器人模拟器只能提供对有限的机器人机械结构物理性质的现实模拟,所以机器人模拟器不能完全替代真正的机器人实验(这还没有考虑如何以一种可靠且有用的方式来模拟更复杂的外部世界)。这种不完全的替代性对从模拟结果转换到现实机器人有着重要的意义。然而,为什么机器人软件模拟器更适用于一般认知建模与认知机器人研究?这个问题有着许多科学上的根本原因(Tikhanoff、Cangelosi和Metta 2011;Ziemke 2003;Cangelosi 2010)。这些原因包括:①对原型机器人的测试;②形态变换实验;③多智能体和进化机器人研究的应用;④合作研究。

使用模拟器的第一个优势是原型机器人的测试,尤其是在新平台设计的早期阶段。一些高级的物理模拟器工具,如免费使用的开放动力学系统(Open Dynamics System,ode.org),它能够真实地呈现刚性身体机器人模拟器的物体交互动力学。这就可以使设计师在实际生产之前,对模拟不同配置的传感器和执行器进行测试。第二个优势是,软件仿真的虚拟机器人在设想的形态配置设计阶段不需要开发出对应的硬件结构。比如,形态进化实验就是这样一个例子(Kumar和Bentley 2003;Bongard和Pfeifer 2003),机器人控制器与身体和外部世界交互的模型里是不需要有实际硬件结构的。在发展型机器人研究中,模拟器可以实现与身体形态相关的成熟现象的调查研究,如成长过程中的机器人肢体长度和全身尺寸之间比率的改变,从而对已知儿童形态学变化进行建模。使用机器人仿真器的第三个优势在于多机器人场景中的社交互动研究,因为在该场景中多机器人的控制是非常难以实现的,并且时间成本也很高(Vaughan 2008)。例如,在进化机器人的研究中,计算机仿真技术可以大幅减少测试每代机器人智能体所需要的实验时间(Nolfi和Floreano 2000)。最后,使用机器人模拟器软件还有一个更实际的优势,也就是支持不同实验室之间的合作研究。不同地域的研究人员可以通过相同的机器人仿真软件共享机器人配置和任务设置参数,进而执行初步的计算实验。这也使得一些没有机器人研究平台的研究人员能够和拥有真正机器人平台的实验室进行联合,以便将模拟工作在真实机器人平台上进行最终的联合适应与验证。

在下一节中我们将详细介绍一种开源的机器人模拟器,该模拟器可以非常容易地在iCub机器人上进行建模实验(2.5.1节)。还会介绍一款名叫Webots的商用型机器人仿真软件,它包含了各种机器人

61的身体模型(2.5.2节)。还有一个小节将描述东京大学研发的胎儿和新生儿机器人模拟器(2.5.3节)。除了这些软件工具,还有一些在参考文献中所涉及的其他免费和商用型模拟器。一个是免费软件Player(Collett、MacDonald和Gerkey 2005),其中,Player模块提供对各种机器人传感器硬件的网络接口,Stage模块提供简单的二维环境,Gazebo模块提供三维机器人和环境的仿真模拟。其他的免费机器人模拟器软件还有进化型机器人EvoRobot(Nolfi和Gigliotta 2010)和Simbad机器人模拟器(Hugues和Bredeche 2006)。并且,还有各种各样用于机器人足球赛的模拟器,如Simspark和SimTwo(Shafii、Reis和Rossetti 2011)。此外,微软机器人工作室(Microsoft Robotics Studio)软件还提供了现有机器人的众多仿真模型,如NAO机器人的模型(www.microsoft.com/robotics)。

2.5.1  iCub机器人模拟器

作为主要的开源机器人iCub模拟器(Tikhanoff等人2008;Tikhanoff、Cangelosi和Metta 2011),它的设计目标是尽可能准确地复制iCub的物理和动力学属性,并且为将iCub作为发展型机器人研究基准平台提供进一步支持。该软件公布在www.icub.org网站上。

该模拟器使用开放式动力学引擎(Open Dynamics Engine,ODE)将机器人关节表达成刚性的身体,并使用碰撞检测的方法来处理机器人部件和环境中物体之间的实体交互。ODE由模拟刚体动力学的高性能软件库构成,该软件库使用简单的C/C++程序接口。为了能够对各种对象的参数(如质量和摩擦力)进行操作,ODE还提供了预设的多种样式的关节种类、刚性身体、地形和创建复杂对象的网格。

模拟iCub机器人的创建使用了真实的机器人规格参数。其总高度约105cm,重约20.3kg,有相同数量的自由度(53个)。机器人的身体模型是通过多种与iCub机器人实际执行器相对应的关节将多个刚性身体部件连接而成的。模拟器中实现了所有的传感器功能,包括手触摸传感器(指尖和手掌)和肩膀及臀部的力/力矩传感器。仿真机器人扭矩参数以及这些参数在静态或运动任务中的校验,已经通过实验证实具有一定的且可接受的可靠性(Nava等人2008)。

  图2-14  iCub模拟器运行截图。图片由Vadim Tikhanoff授权提供为了促进从模拟仿真机器人到真实机器人研究工作的转移,该软件使用了相同的软件基础架构和基于YARP中间件的进程间通信。无论从设备API角度还是从网络通信角度来看,模拟器与实际机器人具有相同的接口,并且从用户的角度来看,模拟器与机器人两套系统是可以互换的。

62机器人模拟器就像真正的机器人一样,可以直接通过通信接口和简单的文本模式控制协议来达到控制目的。所有发送到机器人和来自机器人的命令都是基于YARP的脚本指令。至于视觉传感器,有两个摄像机位于机器人的眼睛位置。通过连接一个标准的摄像机和在一个空白的屏幕投影出机器人的形象,可以让虚拟机器人在虚拟环境中看到真实的世界,并与人类用户进行交互。这就是机器人的模拟眼睛看到外部世界的方式。

模拟的iCub机器人可以与虚拟世界进行完整的互动(图2-14)。模拟器的软件提供类似YARP语法的简单指令方式,可以动态地创建、修改和查询对象。软件还允许使用标准三维文件格式的CAD对象模型作为输入。这个模拟器目前已经用于多种iCub仿真实验,例如语言学习(Tikhanoff、Cangelosi和Metta 2011)、实现合作的心智模型(Dominey和Warneken 2011;第6章)以及大量基于这个模拟器的认知与抽象概念模型(详见第8章)。

另外还有一类iCub的软件模拟器(如Righetti和Ijspeert 2006a,2006b),不过它们没有达到Tikhanoff模拟器那种细致的级别。但问题是,这些模拟器都是基于专有软件Webots的(详见2.5.2节),因此需要购买许可证才能运行iCub机器人。Nolfi及其合作者也研制出了一种可作为替换的iCub模拟器——FARSA,该模拟器是基于开源游戏 “Newton Game Dynamics”(牛顿物理引擎)的一款软件,并且适用于进化机器人的实验(Massera等人2013;laral.istc.cnr.it/farsa)。

2.5.2  Webots机器人模拟器

Webots是一款由Cyberbotics有限公司研发和提供的商用机器人模拟器(Michel 2004;www.cyberbotics.com),并被广泛用于认知机器人的研究中。该软件能够进行多种移动机器人的仿真,包括轮式机器人、足式机器人平台和飞行机器人。Webots标准版本在默认情况下包括NAO类人机器人平台的三维模型(图2-15)和用于发展型机器人研究的AIBO机器人平台的三维模型。该软件还提供了许多其他平台的三维模型,包括:Katana IPR手臂型机器人(Neuronics),轮式机器人e-puck(洛桑理工学院“EPFL Lausanne”)和KheperaⅢ(K-Team Corporation),Hoap-2(Fujitsu Automation)和KHR-2HV(Kondo Kagaku有限公司)人形机器人,DARwIn-OP(Robotis有限公司),Pioneer 3-AT和Pioneer 3-DX(Adept有限公司)平台,以及KHR-3HV和KHR-2HV机器人。

图2-15  Webots模拟器中NAO机器人的三维模型。图片由Cyberbotics授权提供

该软件带有一个机器人编辑器,通过导入VRML文件格式来构建新的机器人平台配置。它还带有一个世界编辑器来创建物体和地形环境(例如物体的属性,像形状、颜色、质地、质量、摩擦等),或者直接使用默认的世界配置。为了编辑新的机器人,Webots还包括了含有传感器和执行器的扩展库。预定义的传感器模块包括:红外和超声波距离传感器,各种用于视觉的一维、二维、黑白、彩色摄像机,压力和碰撞传感器,GPS传感器,用于伺服电机的位置和力传感器,车轮编码器,三维加速度计和陀螺仪。这些传感器在范围、噪声、响应和视野内是可控制的。执行器的库包括:差动轮电机单元,伺服电机(用于腿、手臂、车轮),夹持器,发光二极管和电子显示器。

机器人编辑器整合了接收器与发射器来进行机器人内部通信,因此可以模拟在机器人沟通和语言方面的多智能体系统和实验。该软件也带有一个运动编辑器,用于创建和重用关节型机器人的运动序列。此外,该软件也能够设置实验的监督部分,例如,用于线下执行各种各样的实验(如遗传算法或与不同任务设置的训练)。通过使用这个监督功能,研究人员可以编写一个程序脚本,63

  ~

65如改变对象属性及其位置的动作、给机器人发送信息以及记录机器人轨迹或视频。

Webots是一个多平台的应用程序,可用于Windows、Mac OS、Linux系统。该模拟器基于ODE物理仿真引擎。它拥有一个由各种程序语言(如C/C++、Java、Python)编写的通信接口,并且在MATLAB和其他机器人应用程序(ROS、URBI)中编写的程序也可以通过TCP/IP的第三方软件作为接口。

为促进模拟器中研发的机器人控制器转移到真实机器人平台上,除了要包含现有平台的三维模型,也需要为标准的机器人软件应用程序提供的接口。例如,使用 NAO机器人的实验可以使用Webots的URBI(Gostai SAS)或NaoQi和“NAO_in_webots”(Aldebaran Robotics SA),这些都可以与真实机器人或模拟机器人直接进行通信。

Webots是一款商用型软件应用程序,需要购买许可证才能使用所有功能。当然,Webots也提供功能简化的免费版本,只能在认知机器人的实验中进行有限的使用。

Webots模拟器目前已经用于认知和发展型机器人的研究,如使用Hoap-2机器人模型的双足行走实验(Righetti和Ijspeert 2006b)、使用Webots模拟iCub机器人的爬行实验(Righetti和Ijspeert 2006a)以及使用NAO机器人模型的行走实验(Lee、Lowe和Ziemke 2011)。

2.5.3  胎儿机器人和新生儿机器人模拟器

胎儿机器人和新生儿机器人模拟器这两个计算机仿真三维模型是由Kuniyoshi及其同事们在JSP ERATO Asada项目中开发的。第一个模型,我们称为Fetus Model 1(Kuniyoshi和Sangawa 2006),是最早出现的、“最简”身体的胎儿和新生儿发展模型。随后的Fetus Model 2(Mori和Kuniyoshi 2010)提供了胎儿感觉运动装置的更真实呈现,并且更加关注学习实验。

这些胎儿发展模型是通过计算机模拟来实现的,当前已有的技术还不可能开发出一个漂浮在液体中的机器人胎儿。因此,这些胎儿发展模型为探索产前胎儿感觉运动的发展建立了一套有用的研究工具,这套工具能够提供一种关于胎儿感知器官的真实表征方式,以及身体对重力和子宫壁的反应。

Fetus Model 1机器人模拟器包含一个婴儿的三维模型,这个模型模拟了子宫内胎儿和新生儿出生时的形态(Kuniyoshi和Sangawa 2006;Sangawa和Kuniyoshi 2006;如图2-16所示)。该模型包括由19个球形身体部件与连接在圆柱体上的198块肌肉(手指和面部肌肉没有建模)构成的一套肌肉骨骼系统。该模拟器通过与iCub和Webots模拟器一样的ODE物理引擎来实现。肌肉的动力学属性和肌肉的尺寸、质量、惯性参数是基于来自人类66生理学文献的知识。关节的设置可以使其模拟胎儿的自然姿势和动作。总共有1448个触觉传感器分布在其身体的各个部位,用来反映已知的婴儿身体敏感的触觉。子宫环境由模拟重力、浮力和流体阻力等物理参数的球状环境构成。连接胎儿和子宫壁的脐带也会影响胎儿的运动。子宫壁则由拥有阻尼特性的非线性弹簧建模而成。

图2-16  Kuniyoshi和Sangawa 2006。图片由东京大学Yasuo Kuniyoshi教授提供。Springer授权复制该模型旨在对通用的涉身发展原则在早期感觉运动学习中的作用进行研究。特别是,该模型是以探索可以部分排序的涉身动态模式假说为目标的,这些涉身动态模式是在孕期过程中从身体-大脑-环境之间交互的无序探索中涌现出来的。这个假说随后将导致一些有意义的运动行为的涌现,如新生婴儿的翻身和类似爬行的动作。这个假说与人类胎儿所观察到的自发性运动是有关联的,自发性运动也就是一般动作,这种流畅的动作并不是对外部刺激的反应(Kisilevsky和Low 1998),而是在妊娠两个月(8~10周)之后就能出现。该模型还实现了一个细致的神经体系结构,基于的是感觉器官、髓质与脊柱模型,以及初级躯体感觉与运动区域。肌肉感觉器官的模型包括纺锤体(对肌肉拉伸速度敏感)和高尔基腱器官(与肌肉收缩成正比反应)。脊柱模型处理从纺锤体和高尔基腱器官传递来的成对输入,以控制拉伸反射并使用抑制来调节肌肉张力。髓质模型由每块肌肉的中枢模式发生器(CPG)构成。虽然两个肌肉的CPG并不直接耦合,但是这两个CPG可以通过身体与物理环境和肌肉的反应交互来达到功能耦合。耦合的CPG能产生周期性的活动模式,从而应对持续输入和非均匀感觉混乱模式的输入。神经皮层模型由相互联系的初级躯体感觉区(S1)和运动区(M1)组成,通过自组织映射(SOM)人工神经网络来实现。

该模型只有一个与发展时间刻度相关的主要参数,也就是用于区分胎儿和新生儿的孕龄。子宫内的胎儿模型展示的是一个35周大小的胚胎。新生儿模型展示的是刚出生的婴儿。新生儿的环境模型是一块围挡的正方形区域,该区域只有重力作用,没有像在子宫里那样的流体阻力作用。

对子宫内胎儿模型的自发运动的模拟,以及对在围挡平面内新生儿自发翻滚动作的模拟,能够显示出丰富的有意义运动模式的涌现,还能显示出感觉运动区域与躯体结构组织过程的涌现。胎儿模拟器也强调了在球形子宫内环境限制下的自发性胎儿运动的重要作用。子宫壁的约束会使胎儿的身体产生以旋转为主的动作,这些动作通过感觉区S1和驱动运动区M1的构造,进而促进腿与脖子之间的协作关系的学习。67

  ~

68如果没有这样一种预设的胎儿环境限制和体验,婴儿将只能体验到用头部引导的运动探索,而不会协调其他身体部位。

更复杂的胚胎模拟仿真模型是Fetus Model 2,该模型是随后开发出来的,它通过行为模式学习中触觉感知的特殊贡献来研究子宫内学习的细化机理(Mori和Kuniyoshi 2010;如图2-17所示)。这个复杂的胎儿有1542个触觉感知器(见图2-17a),大部分集中头部(365个触点)和手部(173个)。其余的感知器分布在颈部(6个)、胸部与腹部(54个)、髋部(22个)、肩膀(15个)、手臂(31个)、大腿(22个)、小腿(17个)和脚(43个)。

模拟器上的实验专注于更加复杂的行为学习,在胎儿发展过程中,这些复杂的行为是在一般运动后出现的。特别的是,模拟器探索了触觉引起胎儿运动的假说。实验结果表明,在胎儿身体里使用与人类相似的触觉分布可以引起对两种反应动作的学习,这两种反应动作是在胚胎的一般运动之后被观察到的。这两种反应动作是:①孤立的手臂或腿部动作(IALM),在人类胎儿妊娠10周之后观察到一组独立于其他身体部位的忽动忽停的动作;②手/脸接触动作(HFC),手部慢慢地触摸脸部,该动作可以在怀孕第11周被观察到。这些结果除了可以探索出生之前运动学习的作用之外,对临床研究也有影响。69特别是这些结果有助于理解潜在的学习能力,并应用于早产儿在新生儿重症监护病房的护理,如“筑巢护理”或“襁褓法护理”(Mori和Kuniyoshi 2010;van Sleuwen等人2007)。

图2-17  Mori和Kuniyoshi 2010。图片由东京大学Yasuo Kuniyoshi教授提供。IEEE授权复制

与开源的iCub模拟器或商用的Webots程序相比,这些胎儿和新生儿模型的仿真软件还没有开放使用。然而,它们提供了一个使用三维物理模拟器模型来研究机器人潜在原理的非常吸引人的实例,甚至这种模拟还可以发生在胚胎发展阶段。这使得我们可以对胎儿的自发运动和其他认知功能的作用假说进行验证,如先天与后天的评估行为、动力机制与认知的起源、胚胎体验对引导出生后更复杂能力的作用。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

华章出版社

官方博客
官网链接