发展型机器人:由人类婴儿启发的机器人. 2.2 机器人学简介-阿里云开发者社区

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

发展型机器人:由人类婴儿启发的机器人. 2.2 机器人学简介

简介:

2.2  机器人学简介

这一节主要是对机器人学中的重要术语和硬件技术进行介绍,主要目的是让不熟悉这些概念的读者更加容易理解后面的内容。机器人学中的一些专业术语会大量地出现在本书中,如自由度(D OF)、红外传感器、电动或气动执行器。所以,认知科学和人类学专业的读者将会在这一章节中学到一些知识,可以说这一节是机器人学知识的入门简介。这部分的技术概述在一定程度上是基于Maja Matari'c的《The Robotics Primer》(2007)。读者可以通过参考该书了解更详细的内容。为了更进一步、更深入、更全面地理解机器人学的知识,我们还推荐大家阅读Siciliano和Khatib(2008)编写的《Springer Handbook of Robotics》。

在本节中,我们首先介绍自由度的概念,23以及其在类人机器人中使用的各种执行器的实现机理。接着,我们将对用于处理视觉、听觉、触觉、本体感知、压力等信息的传感器进行概述。最后,我们还会介绍一些信号处理的相关概念。

2.2.1  自由度、效应器和执行器

机器人的主体主要由两部分构成:一部分是一套能够接收外界环境信息的传感器(例如,获取视觉信息的摄像机,获取音频信息的麦克风,以及感知距离的红外传感器等);另一部分是能够产生行为动作的执行器(例如,使轮子或“机器腿”运动,或者使机器人铰接臂操纵物体等)。

自由度概念的引入,是为了确定机器人能够表现的动作维度。自由度是指在三维x,y,z空间坐标系中能够产生的动作维数。举个例子,我们的肩膀有三个自由度,因为肩膀可以通过窝球关节结构,使上臂在三个维度上运动,分别是水平维度(x)、竖直维度(y)和旋转维度(z)。上臂和小臂之间的结构只有肘部的一个自由度,它可以使手臂伸直或弯曲。当然,最典型的是人类的眼睛,它有三个自由度,可以使眼睛在水平、竖直、旋转方向上运动。

机器人会在一个或多个自由度情况下,使用效应器和执行器来执行相应的动作。效应器指的是一种机械装置,它允许机器人根据外界环境的信息做出相应的反应。人类身体上的效应器主要包括手臂、手指、眼睛和腿。机器人上的效应器主要是车轮和“机器腿”、机械手和夹持器以及“眼睛”“手臂”“机翼”“鱼鳍”等。执行器也是一种机械装置,其作用是让机器人的效应器在至少一个自由度的情况下,将能量转化成动作执行出来。人体中执行器的主要例子是控制各个关节的肌肉和肌腱。在机器人中,最常见的执行器是电机或马达(包括电动、气动或液压型),或者是能够通过改变本身形状和属性产生运动的其他物质。表2-1中列举了一些最常见的执行器以及它们的主要特点。

表2-1  执行器的主要类型执行器简  介注  解电动马达  将电能转变成机械能(转矩和转速),从而产生动作  优点:结构简单,价格便宜,应用广泛

  缺点:易发热,不节能

  主要类型:直流电动机,直流齿轮传动电动机,伺服电动机,步进电动机液压马达  将液体压力转变成机械能(转矩和转速),从而产生动作  优点:力矩大,动作精确

  缺点:体型大,较危险,有液体泄漏风险

  主要类型:汽车活塞气动马达  将空气压力转变成机械能(转矩和转速),从而产生动作  优点:高功率,快速、准确反应,被动动力

  缺点:较危险,噪声大,有气体泄漏风险

  主要类型:Mckibben型气动人工肌肉反应材料  根据物质对光、化学物质或温度的反应,产生小型的动作(收缩/伸长)  优点:适合微型机器人、线性执行器

  缺点:只能产生小/弱的动作,有化学风险

  主要类型:光敏材料,化学活性材料,热活性材料

连接两个身体部位的执行器称为关节(joint)。每个给定的关节可以有多个自由度,一般来说,每个自由度需要一个独立的执行器来链接。不过就在最近,一种支持多个自由度的马达已经被研发出来。

机器人系统中既可以使用被动的效应器,也可以使用更常见的(主动的)执行器。主动型执行器是指那些可以利用能源动力来将效应器移动到所需位置的活动性关节。这些执行器也可以使用一些柔性机构。相比之下,被动效应器是基于被动驱动机制,主要利用执行器结构产生的能源(例如,飞机机翼结构产生的气动升力),并且能与环境进行交互(例如,重力、风力等),从而驱动机器人。最有名的被动效应驱动的机器人是Passive Walker(Collins等人2005),该机器人利用了倾斜轨道上的重力和具有灵活膝盖结构的双腿,在不需要提供动力的情况下便可向下行走。许多动物和人类的运动系统中都有这样的一部分,它们主要是利用被动的、柔性的效应器的属性来进行运动。在机器人学中,这一研究领域叫作涉身智能,24其设计灵感是来源于基于被动或主被动混合执行器研发的低能耗机器人仿生系统(Pfeifer和Bongard 2007)。如果执行器能够通过使马达停止来应对外力刺激,那么该执行器就是柔性的。拥有柔性机械臂的类人机器人在执行物体抓取任务时,当其手部的力传感器感受到物体表面的反作用力时,将会关闭其手指或手的电机,从而实现物体的抓取。如果没有柔性的执行器,电机将会继续对目标施加外力,直到电机轴的位置达到最终位置,因此被抓取的物体有被损坏的风险。柔性执行器对人-机器人交互的应用同样非常重要,因为当机器人触及物体或表面的时候,尤其是其继续运动会对人类用户造成伤害的时候,机器人必须能够停止其效应器的移动,以免对人类造成伤害。

最常用的执行器是电动马达(又称电机)。它们之所以被广泛应用在机器人系统中,是因为这些电机价格便宜、相对来说能耗较低(虽然电机并不很节能),并且基于的是众多工程领域适用的标准、简单的电机技术。目前机器人中使用的电机主要有四种类型:①直流电机,②直流齿轮传动电机,③伺服电机,④步进电机。这些电机将电能转换成轴的转动,所以又称为旋转电机。前三种电机是同一种类型电机(直流电机)的不同形态,而步进电机则基于不同的马达设计原理,其在机器人平台上的使用方法和能量消耗都不同于其他电机。

旋转电机中有两个重要的参数,分别是转矩(torque)和转速(speed)。转矩,就是在一个给定的距离产生的旋转力;25转速,指的是旋转的速度(用每分钟的转速来衡量,记为rpm,也可以每秒钟的转速来衡量,记为rps)。大多数电机使用的是位置控制原理,即控制器驱动电机,使其转动到指定的位置。即便出现了障碍或作用力,控制器也会控制电机产生相应的反作用力来应对,使电机保持在指定位置。另一种电机是通过转矩来控制的,该电机控制目标电机轴的转矩,而并不考虑电机轴的位置。柔性的执行器会有一个反馈机制来感受反作用力,从而阻止电机继续转动到所需位置,避免烧坏电机。

直流电机(DC motor)是目前为止在机器人学中使用最广泛的一种执行器。这种电机将电能转变成电机转轴的运动。直流电机的机电原理是,当电流通过线圈时会产生相应的磁场,从而转动电机转轴。该电机的功率与其转矩、转速成正比,可以通过调节输入电流的幅度来控制电机的速度(转速)和转矩(旋转力)。然而,大多数的直流电机通常具有高转速(每秒50~150转或者每分钟3000~9000转)和低转矩,这可能对需要低转速、高转矩的机器人来说是一个很大的问题。直流齿轮传动电机(geared DC motor)利用齿轮传动原理解决了上述问题,齿轮传动机制可以调节电机转轴的速度和力度,从而让电动机可以完成更慢、更有力的动作。齿轮传动机制的工作原理是,当两个不同直径的齿轮相互连接时,会产生速度和转矩的变化。例如,当电机的转轴通过连接的小齿轮来驱动大齿轮进行转动时,就会引起转矩的增大和转速的减小;当电机的转轴通过连接的大齿轮来驱动小齿轮进行转动时,就会引起转矩的减小和转速的增大。因此,小型齿轮转轴连接大齿轮的直流电机,能够使机器人实现低速、高力度的目标。超过两个齿轮组合(同轴齿轮)的电机,就能够进一步实现各种各样的转矩和转速组合。

第三种类型的电动机是伺服电机系统(servo motor),通常简称为伺服电机(servo),该电机能够使转轴转到特定的角度位置。它主要由三个部分构成:一个标准直流电机、能够控制电机转动信息(位置和速度)的电子组件、一个感知电机转轴位置的电位器。这样,伺服电机就可以通过反馈信息来计算误差和调节电机轴的最终位置(如负载补偿)。该电机有一个局限,即转轴转动不能超过180°  这里的描述不正确,有些低档的模拟舵机才有180°的限制,一般的伺服电机是没有的。——译者注。然而,由于伺服电机拥有很高的精度,因此在机器人学的研究中,伺服电机越来越多地被用于界定或达到某一目标角度位置。

最后一种类型的电动26机是步进电机,该电机按设定的方向转动一个固定的角度,也称为“步距角”,它的旋转是以固定的角度一步一步运行的。当然,步进电机也可以通过结合齿轮传动装置来提高转矩和减小电机转速。

液压马达和气动马达是一种线性的执行器,它们分别通过向液压缸中注入液体以及向气缸中注入压缩空气来引起执行器的线性收缩和延伸。这些马达可以提供很强的力度,因此在工业机器人中被广泛使用。液压马达机构需要重型设备来构建,所以维护困难,因此一般应用在自动化制造工业中。液压马达还可以提供高水平的动作精度来到达所需的目标位置。在一些小型的研究平台(如类人机器人)中,液压马达和气动马达存在一些缺点:噪声非常大,有液体/气体泄漏的风险,可能需要大型的压缩机。但是,应用气动马达的发展型机器人系统也有很多优点,因为它们可建模实现肌肉的动态属性。事实正是如此,就像Mckibben型气动人工肌肉在Pneuborn-13婴儿机器人中的应用(Narioka等人2009),该机器人将会在2.3节中详细介绍。像这样的气动马达由两部分构成——内置的橡胶管和外置的尼龙套,对内置橡胶管内压缩气体的抽气效应会引起肌肉的收缩,最高可达25%,其刚度也会提高,此外,刚度也可以根据需要来调整。

最后,除了基于电力和压力的系统,反应材料执行器也为机器人系统提供了另一种选择。这种执行器包含了多种多样的特殊材料,例如编织物、聚合材料和化学化合物,它们都能够对光(光敏)、化学物质、酸性/碱性溶液(化学反应)、温度(热敏)等产生较小的运动(组织的收缩/伸长)。

上述这些执行器中的一个或者多个执行器的组合,都能够实现控制效应器实现动作的功能。在机器人的相关研究中,我们根据效应器的主要功能把它们分成两个大类:用于移动的效应器和用于操纵的效应器。移动(或行走)效应器(locomotion effector)可以完成各种各样的动作来使机器人移动到不同的位置。例如,双足行走、四足行走、摆动、跳跃、爬行、攀登、飞行、游动等。这类效应器主要包含“腿”、车轮、飞行翼和鳍状物。当然,有的时候,比如爬行或攀登时,也会使用手臂来执行移动动作。操纵效应器(manipulation effector)主要用来操作物体,通常也包括使用“手臂”(类似人类上肢)的单手或双手操作。可供选择的操纵效应器大都是受动物手臂的启发而研制的,例如借鉴章鱼手臂(Laschi等人2012)或者大象象鼻(Hannan和Walker 2001;Martinez等人2013)的软材料效应器。

在发展型机器人学的研究中,机械臂和机械手等效应器是非常重要的,因为它们都被广泛应用于该领域内的类人机器人平台中,并且机器人操作能力的发展也被认为与各种高层次认知功能的进化和个体发展过程息息相关(Cangelosi等人2010)。机器人中的机械手臂通常有着简化的自由度结构,27和人类身体比较相似,包含肩部关节、肘部关节、腕部关节和手指关节。人类的手臂(除手部之外)有七个自由度:肩部有三个自由度(上-下、左-右、旋转);肘部有一个自由度(伸直-弯曲);腕部有三个自由度(上-下、左-右、旋转)。尽管机器人手臂在自由度的数量上通常有些限制,但是为研究认知和发展型模型而构造的类人机器人更趋向于精确复制人类的手臂/手结构。

最后还有一个非常重要的问题,即如何在操纵过程中找到那些具有高自由度的末端效应器(例如,包含夹持器或“手指”来操作物体的效应器)的位置。目前,我们可以通过正向运动学和逆向运动学方法来计算,或者使用机器学习的方法(Pattacini等人2010)和仿生模型(bio-inspired model)来解决这一问题(我们将在本书的第5章中介绍)(Massera、Cangelosi和Nolfi 2007)。

2.2.2  传感器

机器人必须能够使用从外界环境及其本身内部获取的信息,从而对外部环境做出正确的反应。这就是传感器所要扮演的关键性角色。传感器是一种电气机械装置,用来定量测量(内部和外部)环境的物理属性。

为了能够感知内部和外部的状态信息,机器人需要两种传感器,分别是本体感受传感器(proprioceptive sensor)和外感受性传感器(exteroceptive sensor)。本体感受传感器(内部传感器)能够感知机器人自己的轮子的位置,以及不同执行器中的各个关节的角度值(例如,力传感器、力矩传感器)。这和人体内部的感觉器官很类似,就像感知肌肉伸缩的器官。外感受性传感器(外部传感器)能够感知外部环境的信息,例如,到障碍物或墙壁的距离信息,其他机器人或人类施加的外力,能够通过视觉、听觉、嗅觉感知到的物体存在及其特性。

表2-2列举了在机器人学中使用的主要传感器。前五种类型是外感受性传感器,主要用来测量外部环境的信号(光、声音、距离和位置)。剩下的两种类型是本体感受传感器,其功能是测量机器人的内部构成和状态信息(马达的力矩、加速度和倾斜角度)。表中也列举了各个传感器使用中的常见属性及问题。

表 2-2  传感器的主要类型传感器设  备注  释视觉(光)传感器  光敏电阻  感知光的强度  一维摄像机  感知水平方向的信息  二维黑白或彩色摄像机  感知完整的视觉信息;计算密集、信息丰富声传感器  麦克风  感知完整的声音信息;计算密集、信息丰富远距和邻近传感器  超声波(声呐、雷达)  超声波的反馈需要反馈时间;在不光滑的表面上反射具有局限性  红外线(IR)  使用红外光波中的反射光极子;通过调制红外线来减少干扰  摄像机  根据双目视差或视觉透视来测距  激光  激光的反馈需要反馈时间;无镜面反射问题  霍尔效应  铁磁性材料接触(触觉)传感器  碰触开关  二进制的开/关接触  模拟触摸传感器  在传动轴上结合弹簧;由能够根据压缩来改变电阻的软导电材料构成  皮肤  分布在体表的传感器位置(定位)传感器  GPS  全球定位系统,精确到1.5米(GPS)或2米(DGPS)  SLAM(光、声呐、视觉)  同步定位与建图,光、声呐、视觉多种传感器协同使用力(力矩)传感器  轴编码器  感知马达转轴的旋转值;使用透射型光电传感器的测速仪测量旋转速度  二次轴编码器  感知电机转轴的旋转方向  电位器  感知电机轴的位置;在电机内部,检测转轴的位置倾斜和加速度传感器  陀螺仪  感知倾斜度和加速度  加速度器  感知加速度

传感器既可以使用被动感知技术,也可以使用主动感知技术。被动型传感器是由一个可以感知环境变化的探测器构成的,如碰撞传感器主要用于探知外界压力变化,光切换器则检测光照变化。主动型传感器需要电源和一个能够向外界环境发送信号的发射器,当然也需要一个探测器来感知信号的反馈,从而确定是否有环境引起的定量影响(如反馈延迟)。最常见的主动型传感器是“反射式光电传感器”(reflective optosensor),即要么使用反射传感器,28  ~29要么使用透射型传感器。在反射传感器中,发射器和探测器安装在设备上的同一侧,因为这一设计,发射器发出的光信号必须反射回探测器。这些反射传感器使用三角测量法来计算光信号从发出到返回之间的时间消耗。主动型反射传感器也会和红外(IR)传感器中的光信号、声呐(声波导航和测距)中的超声波信号及激光传感器一起使用。第二种类型的主动型发射式光电传感器是透射型传感器,其信号探测器位于信号发射器的对立面。这种设计虽然打破了信号发射和接收延迟的障碍,但是会存在缺乏信号检测这样的弊端。

在使用机器人传感器的时候,需要考虑一个非常重要的问题:传感器所提供的定量信息有着不确定性。这种不确定性是任何物理测量系统所固有的,产生这种不确定性的原因很多,例如,传感器的噪声和误差,其测量范围的局限性,机器人效应器的噪声和误差,以及环境中未知、不可预见的属性和变化。尽管目前采用了一些可行的方法来处理传感器的一些噪声和局限性问题,但是这些方法只能解决部分不确定性的问题。例如,校准标定可以用来处理使用LED传感器、红外传感器和摄像机时的环境光线。这里的环境光指的是环境中默认的光线。传感器在接收反射的光信号时应该忽略环境光,只处理传感器自己发射出去的光信号。这可以通过传感器的校准标定来解决,换句话说,就是将发射的光信号关闭后先进行一次接收信号的读取,然后在打开发射光信号时,所读取的信号要将之前关闭时的读取信号减去。

大多数传感器提供的信息通常会提供给机器人的控制器,帮助其进行动作选择。对于简单的传感器,如红外(IR)和碰撞开关,控制器可以直接使用原始数据。对于更复杂的传感器,情况则恰恰相反,在机器人使用传感器信息之前,需要运用先进的信号处理技术对采集到的数据进行预处理。例如,视觉和声音传感器以及实现定位与映射的主动声呐/光传感器的集合,都属于这种需要预处理的情况。我们将简要描述一些与二维摄像机视觉传感器、麦克风传感器和即时定位与地图构建(SLAM)传感器相关的主要信号处理方法(Thrun和Leonard 2008),这是因为接下来在本书里描述的各种实验会涉及这些信号处理方法。在发展型机器人学的研究中,视觉和听觉感知是至关重要的特征,而且在人-机器人交互的实验中还可以使用同步定位与建图来进行导航控制。

机器人的视觉感知(visual perception)使用它自己的(彩色)摄像机生成的数字图像来获取一组丰富的信息集。只要处理好这些视觉信号,智能系统就能够建立一个外部世界的表征方式。这套表征方式包含:对象的分割与识别,以及这两个操作任务的属性;导航和避障的环境布局;与其他人类和机器人智能系统进行的社交互动。

30

人工视觉(也叫机器视觉)专家,已经研发出了一系列的标准图像处理程序和算法,这些程序和算法已经广泛应用在机器人学的研究中。尽管在人工智能和机器人学研究领域中,视觉方面的研究仍然是一个重大挑战,但是目前的一些程序和算法在机器人视觉对象分割、识别和跟踪等方面都有着成功的应用(Shapiro和Stockman 2002;Szeliski 2011)。

在机器人视觉的研究中,一组特征提取方法通常可以应用于获取“特征图”(saliency map)(Itti和Koch 2001),也就是说,局部图像的识别对机器人的行为有着十分重要的意义。具体来说,特征提取用来检测和抽取数字图像中的各种特征,如颜色、形状、边缘和运动等。例如,在Schlesinger、Amso和Johnson(2007)关于对象完备化(object completion)的发展型模型的研究中(将在第4章中讲述),他们通过一组结合颜色、运动、方位和色度的提取方法来构建特征图。通过组合这些特征,便可生成注视物体模型的整个特征图(图2-3)。

图2-3  实现特征图的特征提取集合,从Schlesinger、Amso和Johnson 2007中生成该图。参阅第4章获取该模型的更多信息

数字摄像机的图像处理通常包括两个主要阶段的视觉分析:①图像处理,例如,平滑去噪、边缘识别、从背景(或其他对象)中分割感兴趣的对象;②场景分析,对图像中的各对象进行注释,并将部分对象(如四肢、头部、躯干等身体部分)集成到整体对象(如人类身体)的模型中。

31

平滑处理是指去除原始图像的噪声,如一些具有欺骗性和不规则的像素(例如,对细线条进行消除和对粗线条进行增粗)。边缘检测需要识别出图像中出现亮度急剧变化的点。通常使用卷积(convolution)方法来实现平滑处理,换句话说,采用平均窗口的滑动以及该滑动窗口中心的像素强度数值的总和。滑动窗口通常使用高斯函数。更先进的方法是使用结合了平滑和边缘检测的平均窗口函数。例如,结合了高斯平滑和边缘检测差异化的Sobel滤波器。Sobel滤波器基于图像的卷积,在水平方向和竖直方向有着小型、可分离和整数值的滤波器。另外,Gabor滤波器采用线性滤波器来进行边缘检测,其灵感来源于初级视觉皮层的神经元功能。二维Gabor滤波器基于一个由正弦波调制的高斯函数,并且能够使用不同的频率和方向设置。

对于区域识别,一般使用直方图和划分-合并(split-and-merge)等方法。基于直方图的方法会产生一个关于图像中像素亮度的直方图,并且分布图中的波峰和波谷会被用来定位图像中的区域(集群)。这是一种高效的方法,因为该方法通常只需要通过像素就能完成。划分-合并方法使用图像的“四叉树”分割。首先对整个图像中的像素强度进行分析,如果在整体图像中找到了像素的非齐次强度,就会将图像分割成四个象限,然后对产生的每个新图像再次检测齐次像素强度。这个过程是通过更小象限的迭代来完成的。在完成分割之后,相邻的均匀区域会合并成大的区域,进而构成了分割区域。

其他的滤波器也能够用于生成物体的附加特征,如彩色滤波通常使用红-绿-蓝(RGB)原色组件,而动作滤波则是通过识别图像中运动的像素(区域或对象)来完成的。只要能够提取出一个完整分割的图像,就可以使用各种各样的场景分析方法对其中的对象进行描述。例如,我们通常使用的基于模型的方法来识别人类/机器人的身体,身体中的不同部位必须能够分割和识别(如四肢、头部、躯干),并且能够和期望的人类身体模型匹配。在人脸识别模型中,这种方法可能需要对脸部的关键点和特征进行识别,如眼睛和嘴的位置和构造。

有很多的软件库提供了现成的工具,从而可以使用各种各样的特征提取过滤器和算法来处理机器人获取的图像。OpenCV(opencv.org;Bradski和Kaehler 2008)是最常见的开源软件库之一,在发展型机器人学的视觉处理中使用广泛。这种软件库也通常与机器人软件集成在一起,如iCub和YARP中的中间件程序(详见2.3.1节)。

32

还有一些其他的人工视觉方法,它们是基于大脑视觉系统的神经生理学和功能来实现的。例如,对数-极坐标视觉方法对哺乳动物视觉系统中视觉传感器(视网膜视锥细胞)分布的神经生理学进行建模(Sandini和Tagliasco 1980)。在那些哺乳动物中,特别是在人体中,视网膜中神经末梢(视杆细胞和视锥细胞)的分布情况是在中心注视点更加密集,在边缘部位比较稀疏。这就导致了图像分辨率的非线性,即在中心部位具有较高分辨率,在边缘具有低分辨率。其服从辐射对称分布,可以由极性分布近似得到。此外,从视网膜视锥细胞到初级视觉皮层的数组投影,也可以近似为到一个矩形表面的对数-极坐标分布。这样,在视觉中央凹的皮层代表区就有更多的神经元专注于目标,而其外围使用较少的神经元则展现出较粗的分辨率。对数-极坐标方法将一个标准的矩形图像转化成一个空间可变的图像。这种拓扑表示很容易用来进行实时对象分割和追踪任务,因为它使用了一个节省资源的图像展示和处理方法。对数-极坐标映射也已经广泛运用在认知机器人的研究中(Traver和Bernardino 2010),例如,Babybot平台(iCub仿人机器人的前身)上的彩色物体追踪(Metta、Gasteratos和Sandini 2004)。

一些视觉处理工具是基于人工神经网络的方法(如Riesenhuber和Poggio 1999;Serre和Poggio 2010;参阅Borisyuk等人2009,了解其在机器人中的应用)。这些方法不使用预定义的滤波方法对图像进行人为标注分析。相反,这些方法使用受到视觉系统生理学启发的神经计算算法。神经网络在处理图像时,使用了一种分层处理架构方式,该方式受到了初级视觉皮层V1-V4(包含选择性刺激取向、大小、深度和运动方向)到前下颞区(AIT,对物体的表示)的刺激处理过程的启发。例如,Riesenhuber和Poggio(1999)提出了一种用于视觉对象识别的大脑分层计算模型。

基于视觉神经计算模型的软件库还包括Spikenet视觉系统(spikenet-technology.com),该系统允许使用一组预先训练好的目标图像与分割的对象进行模板匹配。Dominey和Warneken(2011)使用这个软件库对发展型机器人进行建模,从而能够确定目标物体的位置;他们也在人机合作实验中用它来识别地标(详见6.4节)。

机器人的声音和语言感知可以通过处理原始音频的信号处理方法来实现,或通过更先进的用于声音和言语的模式识别系统来完成(Jurafsky等人2000)。分析原始声音信号的经典方法包括:

33对语音提取的第一共振波峰进行傅里叶分析(以元音的表示为例),隐马尔可夫模型(HMM),人工神经网络。在没有预定义声音系统的情况下(如在机器人语音系统的进化模型中,详见第7章Oudeyer的研究),或者在声音感知神经网络中关注机器人的语音与填词能力的情况下(如Westermann和Miranda 2004),通常适合采用机器人的语音和语音信号的特殊处理。

对于语言感知,在发展型机器人研究中,最常使用的是自动语音识别系统(ASR),它可以提取一串识别的文字,并且自动分析这些文字的语法。很多语音处理软件包都含有ASR和语法分析器。常用于发展型机器人研究中的ASR系统包括:开源的SPHINX、ESMERALDA、JULIUS,商业性软件DRAGON DICTATE,以及在Windows和Apple操作系统里包含的标准ASR系统。卡内基·梅隆大学(Carnegie Mellon University)开发的SPHINX系统在ASR系统中使用最广泛的程序之一。SPHINX系统实际上包含了一组依赖于N-gram和HMM方法的语音识别程序。它通过对说话人的初步训练来创建一个基于个人声音系统的声学模型,之后就可以支持大量连续语音的识别。ESMERALDA系统是由比勒费尔德大学(Bielefeld University)研发的,它提供了一个可以使用多种ASR方法的语音识别系统的软件框架。JULIUS是由日本连续语音识别联盟(Japanese Continuous Speech Recognition Consortium)研发的,它是基于N-gram和上下文相关的HMM模型的方法,能够对大量词汇的连续语音进行实时、高速识别。它也包含了一个名为“Julian”的基于语法的识别解析器。尽管现在的JULIUS声音模型包含许多其他语言(含英语),但是其最初是基于日语研制的。在商业化方面,Dragon Dictate(纽昂斯通信公司)是一种很流行的选择,因为该软件还有一个功能简化的免费版本。

在发展型机器人的语言学习实验中,目前使用了各种各样的ASR系统。例如SPHINX(Tikhanoff、Cangelosi和Metta 2011)和ESMERALDA(Saunders等人2009),还有一些使用Apple和Dragon Dictate软件(Morse等人2011,详见第7章)。

对于实现机器人在地图上感知自己的位置,可以通过集成位置、定位和距离传感器的信号,使得机器人可以构建环境地图,从而在地图上确定自己的位置。通过同步定位和映射(也可以称为并发映射和定位)的方法,机器人能够同时完成建图和定位工作。SLAM不需要程序员提供关于房间/建筑环境的预定义规划,也不需要绝对位置标定(GPS需要标定)。34当机器人需要探索某个位置的环境,又没有可以使用的地图时,或者GPS无法使用(如在室内环境)时,SLAM实际上对机器人来说是必不可少的。但是SLAM很难实现,因为这是一个“鸡和蛋”的问题:如果机器人没有地图,它该如何确定自己的位置;如果机器人不知道自己在哪,它又怎么能创建一幅地图。此外,在现实中这个问题又变得更加困难,原因在于:传感器在不同环境中收集到的数据可能看起来是一样的,或者相同/相近的位置可能由于噪声或方向而出现不同的数据。基于这个问题固有的复杂性和传感器数据的不确定性,尽管SLAM给机器人专家留下了难题,但是地标的识别和距离测量信息可以帮助解决这个问题。

用于SLAM的传感器数据可以通过多种方式来收集,包括利用光学传感器(一维或二维激光测距仪)、超声波传感器(二维或三维声呐传感器)、视觉摄像机传感器和机器人车轮行程传感器。通常情况下,使用最多的是这些传感器的组合,如利用辅以摄像机的声呐信号用来检测地标。为了解决定位和建图的问题,SLAM使用了多种信号处理和信息融合技术,并取得了不同程度的成功。一个好的SLAM算法是非常关键的,就如斯坦福大学(Stanford University)团队和斯坦利(Stanley)机器人小车在2005年的DARPA挑战赛中取得的成功。关于SLAM方法的综述,详见Siciliano和Kathib的《Springer Handbook of Robotics》(2008)3.7节中由Thrun和Leonard举的例子。

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

分享:

华章出版社

官方博客
官网链接