有腿可移动机器人及其控制 方法和相对运动测量传感器 技术领域
本发明涉及至少具有多条可移动腿的有腿可移动机器人,特别涉及能够在各种路面上行走或者使用其可移动的腿执行各种动作(运动)的有腿可移动机器人。更具体地说,涉及能够在路面状况未知的各种路面上行走或者使用其可移动的腿执行各种运动的有腿可移动机器人,以及根据主流路面条件执行自适应的用腿运动操作的有腿可移动机器人。
背景技术
将使用电或磁操作来执行模仿人的运动的机械装置称作“机器人”。术语机器人的词源据说源自斯拉夫语系的“ROBOTA”(从动机)。机器人开始广泛应用始自60年代末。过去所使用的大多数机器人是工业用机器人,比如机械手或运输机器人,其目标是在工厂操作中的自动化或执行无人化操作。
安装在固定位置并使用的站立型机器人,比如机械臂机器人,仅在固定的或局部工作空间中操作,比如用于装配或归类元件部件。另一方面,可移动机器人并不仅被限制于工作空间,而是可以在预设或未限定的通路上以不受限制的方式移动,以便执行替代人工操作者的操作,或者替代人、狗或其它生命体提供各种服务。有腿可移动机器人与爬行类或轮箍型机器人相比,虽然不稳定并难以控制其方向或行走,但是在上下梯子或楼梯、跨越障碍物、或者在平整或不平整的土地上行走或者跑动等方面却是高手。
近年来,在有腿可移动机器人方面的研究和开发,包括模仿比如象狗或猫之类的四足动物的身体机理或运动地宠物型机器人、或者模仿比如象人类的可直立并用脚走路的动物的身体机理或运动的所谓人性机器人,已经取得长足进步,并可以预期实际利用这些宠物机器人。
有腿可移动机器人,术语为人性化机器人,其研究和开发的显著特点例如可以从下面两点领会。
一点是人类科学。也就是说,包括行走在内的人类自然运动的机理,可以通过创建具有类似于人类的腿和/或脚结构的机器人、并设计其控制方法以模仿人类运动的处理过程,来科学地加以阐述。这些研究成果可以反馈到处理人类运动机理的各个研究领域,比如人类工程学、康复工程学、或体育科学领域。
另一点是实际应用机器人的开发,其作为伙伴支持人类的生活,也就是说,比如在生活环境中在日常生活的各个方面支持人类活动。对于这种类型的机器人,当人教育机器人以使其在功能上取得进步时,它必须学习适应不同个性的人和不同环境的方法。如果机器人具有“人性化”,即,具有和人相同的形式和结构,则可以推测人类和机器人之间的交流将变得更为容易。
例如,如果教会机器人规避它本来不应践踏的障碍物的通过小屋的技术,则在机器人是靠两条腿行走的机器人的情况下用户(操作者)教导它,将远比在机器人具有与练习机完全不同的结构的情况下、如在爬行类或四足型机器人的情况下要容易的多。相似地,该机器人将更容易学会。关于该方面,请参见日本自动车技术协会关东分会<KOSO>1996年4月第25期中的“用两条腿行走的机器人的控制”(“Control of Robots Walking on Two Feet”ofAutomobile Technical Association of Japan,Kanto Branch,<KOSO>,No.25,April 1996)。
人类工作空间和生活空间的构成大部分适合于直立并靠两条腿行走的人类的身体机理或行为模式。从其它方面来看,在人类的生活空间中存在太多的障碍物,这是由于当前技术水平的机械系统中包含作为运动部件的轮子或其它驱动设备。为便于机械系统,也就是机器人在各种人类活动中支持或当作人、以及使其自身更加深入到人类的生活空间中,希望机器人的活动范围与人类的活动范围大致相当。这就是为什么期望开发实际应用的有腿可移动机器人。人体结构型的机器人可以说是相对独立的,以便机器人自己更容易地适应人类的生活环境。
为了实现对使用两条腿执行有腿运动类型的机器人的方向控制或稳定行走,已经提出多种方案。稳定“行走”在此指的是“用脚运动而不会摔倒”。
稳定的方向控制对于机器人避免摔倒(leveling)来说是至关重要的。其原因在于摔倒意味着打断机器人正在执行的操作,并且直到机器人自己从摔倒状态直立起来以重新启动操作,需要花费相当多的时间和体力,而且更为重要的是,摔倒不仅对机器人造成致命的损坏,而且对机器人所撞击的物体造成致命损坏。因此,在行走期间稳定的方向控制和防止摔倒对于有腿可移动机器人的开发工程是至关重要的。
在行走期间,由于重力和行走运动产生的加速度,重力及其惯性力从行走系统施加到路面。根据“达郎贝奇原理(d’Alembert’s principle)”,这些由地面的反作用力平衡,作为地面对行走系统的反作用力,也就是地面的反作用力矩。力学推论的结果认为,在由脚底与地面和路面的接触点分隔的支撑多边形上或其内侧存在零力矩点(zero moment point,ZMP)。
迄今为止用于防止有腿可移动机器人摔倒的大多数方案使用该ZMP作为判断行走稳定性的标准。从ZMP标准演化产生的用两条腿行走的模式具有如下优点,即,可以事先设置脚底的触地点,以便能够更加方便地考虑到使脚端的动态限制条件符合路面情况。此外,使用该ZMP作为校验稳定性的标准意味着在运动控制中不是将力、而是将轨迹作为目标值来处理,因此增强了技术可行性。另外,ZMP的原理和使用该ZMP作为判断机器人行走稳定性的标准请参见Miomir Vukobratovic的“Legged Locomotion Robots(有腿运动的机器人)”(Ichiro KATO,“Walking Robots and Artificial Legs(行走机器人和人造腿)”,Nikkan Kogyo Shimbun KK出版)。
但是,有腿可移动机器人仅仅从研究阶段迈出了一步,还有许多技术问题尚待解决。例如,明显影响腿行走的路面状态、特别是地面是否平坦或者摩擦系数还没有充分探讨。
通常,有腿可移动机器人按照计划执行行走运动。在日本待审专利申请第S-62-97006号中公开了一种多关节行走机器人控制设备,其中使用预先存储的行走模式数据以简化控制程序,并且其中各个行走模式数据可以密切链接。但是,在实际行走中,经常发生路面和脚底之间的相对运动,比如打滑,这是由于与路面的关系、或其他因素引起的,比如来自侧面的风或外力、或者与未知的障碍物发生冲突。
两条腿的机器人、比如人性化的机器人,比起四条腿的机器人,其重力的中心点要高,并且限定行走的ZMP稳定性区域要窄。因此,由于路面状态变化引起的各方面问题在两条腿的可移动机器人情况下尤为严重。
图1至4示出有腿可移动机器人2000如何靠两条腿执行行走。如图所示,有腿可移动机器人2000能够通过重复每一个包括下述运动时间间隔的行走周期实现用两条腿行走。
(1)机器人由左腿2002支撑而右腿2001抬起的时间段(图1);
(2)机器人的右脚2003触地、两条腿均置于地板上的时间段(图2);
(3)左腿2002抬起、机器人仅由右腿2001支撑的时间段(图3);和
(4)机器人的左脚2004触地、两条腿均置于地板上的时间段(图4)。
在机器人行走控制中,在每一个上述的时间段中事先测量下肢的目标轨迹并校正计划轨迹。例如,在两条腿支撑机器人的时间段,暂停使用路面信息校正下肢轨迹,而将关于计划轨迹的总校正量用于校正机器人的腰部到预设值。在机器人由一条腿支撑的时间段,生成的校正轨迹将恢复已校正一侧的脚踝和腰部之间的相对位置到计划的轨迹。更具体的校正由5阶多项式完成,以便使用于减少相对于ZMP的偏差的位置、速度和加速度连续(参见Takanishi,“Control of Two-Legged Robot(两条腿机器人的控制)”,日本自动车技术协会关东分会<KOSO>(Automobile Technical Association of Japan,Kanto Branch,<KOSO>),1996年4月第25期)。
在路面关于脚底相对移动(滑动)的情况下,考察图1所示靠单条腿支撑的时间段。在两条腿的可移动机器人2000中,希望计划的轨迹在直立的单条腿接触路面的时间段内,不会发生直立腿相对于路面的相对运动(滑动)。
图5示出在直立的左腿2002接触路面的时间段内,左脚2004相对于路面产生相对运动(滑动)的状态。如图所示,机器人2000的左脚2004在前进方向(滚动轴方向)上相对移动ΔX,在垂直前进方向(倾斜轴方向)上移动ΔY。也就是说,由于左腿计划完全接触路面,因此在计划的或意图的轨迹和机器人的实际轨迹之间产生偏差(ΔX,ΔY)。
在直立的单条腿接触路面的时间段内,需要生成校正轨迹,以便校正的脚和腰的相对位置恢复到计划轨迹。但是,使用在机器人上按照标准项目加载的检测系统,比如加速度传感器或通过摄像机的视觉,测量相对于路面的运动(滑动)以便校正值极其困难。结果是机器人不可能正确地和迅速地校正轨迹,由此可能导致忽略该相对运动,一直到与计划轨迹的差异增加到相当可观的程度。计划轨迹和实际轨迹之间的差异可能导致稳定方向控制的失败或应该避免的与障碍物的冲撞,因此经常导致机器人摔倒或机器人及其附近物体的损坏。
图6示出在直立的左腿2002接触路面的时间段内,左脚2004相对于路面产生相对运动(滑动)的状态,其中左脚2004绕着路面的法线或者从路面得出的法线(偏转轴)旋转。如图所示,机器人2000的左脚2004相对于路面法线已经旋转Δθ。也就是说,由于左脚2004计划完全接触路面,因此在计划的或意图的轨迹和机器人2000的实际轨迹之间产生旋转偏差Δθ。
使用在机器人上按照标准项目加载的检测系统,比如陀螺仪传感器或通过摄像机的视觉,检测到该旋转偏差的准确值将极其困难。该绕着路面法线的偏差将影响机器人的前进方向,连续的行走操作可能会导致明显的轨迹偏差。
通常,当各条腿2003、2004产生相对运动时,这些运动常常产生为平行于图5所示路面的平面内的相对运动的合成、以及那些绕着图6所示的从路面得出的法线的相对运动,从而使行走的负面效应增强。
有鉴于此,可以使用用于感知作用在机器人腿上的力的轴向力传感器测量来自路面的反作用力,以消除相对运动(滑动)的效应。但是完全消除该负面效应将极其困难。
可以考虑通过陀螺仪传感器或加速度传感器、或者使用比如摄像机的视觉传感器测量机器人自身的方向,以便测量相对运动(滑动)的效应,或者将结果反馈到随后的轨迹计划。但是,这些测量经常导致测量精度或响应速度的问题。在机器人的目的是在各种变化的路面上行走的情况下,该任何情况下不允许相对运动(滑动)的行走实际上是不可能的,而且从运动速度的观点来看,消除滑动的方法并不具有优越性。
如果保持如下看法,即,有腿可移动机器人行走时,在腿上不可避免地产生的相对运动(滑动),则可以考虑容许相对运动并在积极开发滑动应用的同时量化、分析和管理滑动的行走处理过程。
当人行走时,会经常发生路面和脚底之间的相对运动(滑动)。因此,为了实现有腿可移动机器人的各种不同行走模式,需要积极地将相对运动(滑动)考虑到轨迹计划中,并进一步执行轨迹校正。对于此,能够识别或测量各条腿相对于路面的相对运动(滑动),对于使用腿执行操作的机器人来说是至关重要的。
在传统的有腿可移动机器人的脚上配置的大多数传感器测量来自路面的反作用力或到路面的距离。换句话说,用于测量或识别相应于各条腿相对于路面的相对运动(滑动)、比如在平行于路面的平面内的运动或绕着从路面得出的法线旋转的运动的物理量的部件,迄今为止还没有在机器人中应用。为了在有腿可移动机器人上实现所谓的脚底知觉,可以认为,检测并量化各条腿相对于路面的相对运动(滑动)是至关重要的。
发明内容
本发明的一个目的是提供一种能够在各种路面上行走、并能够使用可移动的腿靠脚执行各种运动操作的有腿可移动机器人。
本发明的另一个目的是提供一种能够在变化的路面上使用可移动的腿靠脚执行行走或其它操作的有腿可移动机器人。
本发明的再一个目的是提供一种能够根据主流路面状况靠脚执行自适应运动操作的有腿可移动机器人。
本发明的又一个目的是提供一种能够执行比如校正计划轨迹之类的自适应操作控制的有腿可移动机器人,它识别或测量各条腿相对于路面的相对运动(滑动)。
本发明的再一个目的是提供一种能够执行有腿可移动机器人的自适应操作控制的有腿可移动机器人,比如通过识别或测量各条腿相对于路面的相对运动来校正计划轨迹。
为了实现这些目的,本发明提供一种至少具有多条可移动腿的有腿可移动机器人,包括:安置在每一条可移动腿的脚底上的相对运动测量传感器,用于测量脚部和路面之间的相对运动量;以及控制器,用于根据相对运动测量传感器所测量的脚部和路面之间的相对运动量,控制有腿可移动机器人的运动。
相对运动测量传感器最好测量脚部相对于与路面平行的方向的相对运动量,和/或脚部绕着路面的法线的相对运动量。
相对运动测量传感器最好包括:可旋转装配的球,其表面部分暴露在脚底外面;第一旋转单元,用于检测该球在第一方向上的旋转;第二旋转单元,用于检测该球在第二方向上的旋转;以及计算单元,用于计算在第一和第二方向上脚部相对于路面的相对运动量。
另外,相对运动测量传感器包括:成像部件,用于对脚部的触地面成像;图像处理部件,用于以预设的时间间隔比较由成像部件拍摄的图像;以及计算部件,用于根据图像处理部件的图像比较结果,以预设的时间间隔计算脚部相对于路面的相对运动量。
如果相对运动测量传感器能够测量脚部在平行于路面的方向上的相对运动量,则绕着路面法线的相对运动量可以通过将以预设时间间隔测量的脚部在平行于路面的方向上的相对运动量顺序地连接来计算。
在每一个脚部可以配置彼此隔开的两个或多个相对运动测量传感器,在这种情况下,将多个相对运动测量传感器的测量结果相互进行比较,以计算脚部绕路面法线的相对运动量。
在路面上运动期间,控制器响应脚部和路面之间的相对运动量超过预设阈值,可以暂停在路面上的运动。
在暂停运动操作之后,可以作出是否进一步继续运动操作的决定。当证实运动操作不能进一步继续时,可以执行预设的帮助请求操作。帮助请求可以通过发出语音或通过无线通信呼叫附近用户进行。另外,路面状况可以搜索,并响应搜索结果执行动作。
在路面上运动期间,控制器响应脚部和路面之间的相对运动量超过预设阈值,也可以转换为用于该路面的安全运动操作模式。这里的安全运动操作模式可以包括扩大脚部接触路面的倾角、降低运动速度、减小每一条可移动腿的步幅、以及校正ZMP轨迹。
在路面上行走期间,控制器响应脚部和路面之间的相对运动量超过预设阈值,也可以转换为所搜索的路面状况下的运动操作。
本发明还包括一种用于控制至少具有多条可移动腿的有腿可移动机器人的方法,包括:测量步骤,用于当各条可移动腿接触地面时测量脚部和路面之间的相对运动量;以及控制步骤,用于根据所测量的脚部和路面之间的相对运动量,控制有腿可移动机器人的运动。
根据本发明,测量步骤测量脚部相对于与路面平行的方向的相对运动量,和/或脚部绕着路面的法线的相对运动量。
如果测量单元能够测量脚部在平行于路面的方向上的相对运动量,则可以配置计算步骤,用于通过将以预设时间间隔在测量步骤中所测量的、脚部在平行于路面的方向上的相对运动量顺序地连接,计算绕着路面法线的相对运动量。
另外,测量步骤可以包括计算步骤,用于在两个或多个彼此隔开的点上测量脚部和路面之间的相对运动量、并将在两个或多个点上测量的相对运动量相互进行比较,以计算脚部绕路面法线的相对运动量。
在控制步骤中,在路面上运动期间,响应脚部和路面之间的相对运动量超过预设阈值,可以暂停在路面上的运动。
在暂停运动操作之后,也可以验证是否能够进一步继续运动操作。如果发现不可能继续运动操作,则也可以执行预设的帮助请求操作。帮助请求可以包括发出语音或通过无线通信呼叫附近用户。
在路面上运动期间,控制步骤响应脚部和路面之间的相对运动量超过预设阈值,可以暂停在路面上的运动以便搜索路面状况。控制步骤可以执行响应搜索结果的行为。
在路面上运动期间,控制步骤响应脚部和路面之间的相对运动量超过预设阈值,也可以转换为用于该路面的安全运动操作模式。安全运动操作模式可以至少是扩大脚部接触路面的倾角、降低运动速度、减小每一条可移动腿的步幅、以及校正ZMP轨迹中的一种。
在路面上行走期间,控制步骤也可以转换为响应脚部和路面之间的相对运动量超过预设阈值的运动操作。在路面上行走期间,响应脚部和路面之间的相对运动量超过预设阈值,控制器可以执行选择适合于该路面的脚底的处理过程。
本发明还提供一种用于有腿可移动机器人的相对运动测量传感器,用于测量脚部和路面之间的相对运动量,该传感器可用于至少包括多条可移动腿的有腿可移动机器人的脚部,其中所述相对运动测量传感器包括:可旋转装配的球,其表面部分暴露在脚底外面;第一旋转单元,用于检测该球在第一方向上的旋转;第二旋转单元,用于检测该球在第二方向上的旋转;以及计算单元,用于计算在第一和第二方向上脚部相对于路面的相对运动量。
本发明还提供一种用于有腿可移动机器人的相对运动测量传感器,用于测量脚部和路面之间的相对运动量,该传感器可用于至少包括多条可移动腿的有腿可移动机器人的脚部,其中所述相对运动测量传感器包括:成像部件,用于对脚部的触地面成像;图像处理部件,用于以预设的时间间隔比较由成像部件拍摄的图像;以及计算部件,用于根据图像处理部件的图像比较结果,以预设的时间间隔计算脚部相对于路面的相对运动量。
根据本发明的机器人使用多条可移动腿能够靠腿执行各种不同的运动操作,比如行走。例如,按照打算的或计划的下肢轨迹方案,通过左右腿重复执行用左右腿中的一条支撑机器人、和用两条腿支撑机器人的操作,可以实现用两条腿行走。在用一条腿或两条腿支撑机器人的时间段期间,根据路面信息或者脚踝和腰部的相对位置,可以校正计划轨迹,或者可以生成校正的轨迹,以便恢复计划轨迹。
在用腿直立的机器人的操作期间,经常发生可能出现在直立或触地的脚部和路面之间的相对运动,比如滑动。该相对运动可能引起机器人的实际轨迹偏离计划轨迹,从而导致机器人摔倒或与障碍物发生冲撞。因此,需要准确地测量脚部和路面之间的相对运动量,并通过执行自适应控制由机器人实施的操作,根据所述相对运动量校正计划轨迹。
鉴于上述目的,对于本发明的有腿可移动机器人,除了用于确认脚部和路面之间的触地状态的路面接触传感器之外,每一条可移动腿的脚部(脚板或脚底)配置有路面和触地腿之间的相对运动测量传感器,从而确保即使产生与打算的或计划的轨迹之间的偏差,也能够自适应地控制。
从下面结合附图对本发明实施例的描述中,本发明的其它目的、特征和优点将变得更加清楚。
附图说明
图1是表示有腿可移动机器人仅由左腿支撑、其右腿抬起的时间段内的状态视图;
图2是表示有腿可移动机器人由两条腿支撑、其右腿现在触地的时间段内的状态视图;
图3是表示有腿可移动机器人仅由右腿支撑、其左腿抬起的时间段内的状态视图;
图4是表示有腿可移动机器人由两条腿支撑、其左腿现在触地的时间段内的状态视图;
图5是表示在机器人仅由左腿支撑的时间段内、左腿已经相对路面发生移动(滑动)的状态视图;
图6是表示在机器人仅由左腿支撑的时间段内、有腿可移动机器人的左腿绕着从路面得出的法线(偏转轴)旋转从而产生相对运动(滑动)的状态视图;
图7是表示从前面看时实施本发明的有腿可移动机器人的状态视图;
图8是表示从后面看时实施本发明的有腿可移动机器人的状态视图;
图9示意性地示出在根据本发明的有腿可移动机器人中提供的自由度形成模型;
图10示意性地示出根据本发明的有腿可移动机器人的控制系统结构;
图11是表示根据本发明的有腿可移动机器人的脚底的示意结构的视图;
图12是表示能够测量脚部相对平行于路面方向上的相对运动的相对运动测量传感器的示意结构视图;
图13是表示能够测量脚部相对平行于路面方向上的另一个相对运动的相对运动测量传感器的示意结构视图;
图14示出在图像处理计算单元中以较小的时间间隔比较和计算拍摄的图像的状态;
图15是表示能够测量脚底绕从路面得出的法线的相对运动的相对运动测量传感器的示意结构视图;
图16示出以较小的时间间隔在每一个相对运动测量传感器中计算的、脚部在平行于路面的方向上的相对运动量;
图17示出通过顺序连接在平行于路面的方向上以较小时间间隔测量的相对运动量,得出在绕着从路面得出的法线上的相对运动量的方法;
图18示意性地示出在脚底相对于路面的相对运动不包含绕着从地面得出的法线的分量情况下,由相对运动测量传感器测量的结果;
图19示意性地示出在脚底相对于路面的相对运动包含绕着从地面得出的法线的分量情况下,由相对运动测量传感器测量的结果;
图20A至20D示出在有腿可移动机器人行走期间脚底和路面之间的相对运动量的测量结果在随后的行为计划中表现的方式;
图21示出在脚对于路面小倾角的情况下,脚接触路面的操作;
图22示出在脚对于路面大倾角的情况下,脚接触路面的操作;
图23是表示在脚底发生滑动时实时校正行走模式的处理过程的流程图;
图24是表示在脚底发生滑动时离线校正行走模式的处理过程的流程图;
图25示出根据本发明引入用于计算行走控制的有腿可移动机器人100的线性非干涉(non-interferencing)多质点近似模型;
图26是表示在图25所示有腿可移动机器人的多质点近似模型中邻近腰部的放大图;
图27是表示用于生成有腿可移动机器人的行走模型的典型处理过程的流程图;
图28是表示用于生成有腿可移动机器人的行走模型的另一典型处理过程的流程图。
实施本发明的最佳方式
参照附图,下面将详细说明本发明。
图7和图8分别示出从前面和后面看本发明的机器人时,处于直立状态的“人性化”的有腿可移动机器人100。如图所示,有腿可移动机器人100包括负责移动(运动)脚的两个下肢,即左右下肢101R、101L、躯干102、左右上肢103R、103L、以及头104。
左右下肢101R、101L由大腿105R、105L、膝关节106R、106L、胫部107R、107L、脚踝108R、108L、以及脚板109R、109L组成。左右下肢101R、101L由股关节110R、110L在接近躯干102的最下端处连接。左右上肢103R、103L由上臂111R、111L、肘关节112R、112L、前臂113R、113L组成,并由肩关节114R、114L在躯干102的左右侧边缘连接。头104由颈关节155在接近躯干102的中心点处连接。
在躯干单元内安装在图7和8中未示出的控制单元。该控制器是配备有为构成有腿可移动机器人100的每一个关节执行机构形成驱动控制的控制器、将在后面叙述的用于处理各个传感器的外部输入的主控制器、以及诸如电源电路的外围部件的盒子。该控制单元可以包括用于遥控的通信接口或通信设备。
图9示意性地示出本发明的有腿可移动机器人100所拥有的关节自由度的结构。如图所示,有腿可移动机器人100的构成为包括两只胳膊和头1的上体部分、包括用于实施移动动作的两条腿的下肢、以及连接上肢和下肢的躯干部分。
支撑头1的颈关节具有3个自由度,即,颈关节偏转(yaw)轴2、颈关节倾斜(pitch)轴3、以及颈关节滚动(roll)轴4。
每一只胳膊由肩关节倾斜轴8、肩关节滚动轴9、上臂偏转轴10、肘关节倾斜轴11、前臂偏转轴12、腕关节倾斜轴13、腕关节滚动轴14和手15构成。手15实际上具有包括多个手指在内的多点多自由度结构。但是假定手15自身的运动具有0个自由度,这是因为其仅在很小的程度上影响机器人100的方向稳定性控制或行走运动控制。因此,假定左右上肢各具有7个自由度。
躯干部分具有3个自由度,即,躯干倾斜轴5、躯干滚动轴6、以及躯干偏转轴7。
形成下肢的左右腿各自由股关节偏转轴16、股关节倾斜轴17、股关节滚动轴18、膝关节倾斜轴19、踝关节倾斜轴20、踝关节滚动轴21以及脚22(脚板的脚底)构成。股关节倾斜轴17和股关节滚动轴18的交叉点限定本实施例的机器人100的股关节位置。尽管人体的脚(脚底)22实际上具有包括多点多自由度脚底的结构,但是,假定本发明的有腿可移动机器人100的脚底具有0自由度。因此,左右下肢各具有6个自由度。
加起来,有腿可移动机器人100总共有3+7×2+3+6×2=32个自由度。但是,并不一定将有腿可移动机器人100限制在32个自由度。当然,自由度,也就是关节的数量可以根据设计和制造限制或设计参数需要任意地增加或减少。
实际上,上述有腿可移动机器人100的各个自由度是作为关节执行机构主动运动实现的。从为了消除设备总体外观中的任何凹凸部分以仿真人类身体的形状、以及为了对不稳定结构进行方向控制以便实现用两条腿走路的各种需要来看,希望各个关节执行机构尺寸要小并且重量要轻。
根据本发明,使用小尺寸的交流伺服执行机构,属于直接耦合到传动装置并具有包括在电机单元中的单芯片伺服控制系统的类型。并且,该可用于脚式机器人的小尺寸交流伺服执行机构公开在例如,已经转让给并以本受让人的名称申请的日本专利申请第H-11-33386号的说明书中。
图10示意性地示出根据本发明的有腿可移动机器人100的控制系统。如图所示,该控制系统包括:思考控制模块200,用于动态地对用户输入作出反应以进行感情判断和感觉表达;以及运动控制模块300,用于机器人100全身的具体运动,例如驱动关节执行机构。
思考控制模块200是一独立的信息处理装置,包括用于执行有关感情判断或感觉表达的计算处理的CPU(中央处理单元)211、RAM(随机存取存储器)212、ROM(只读存储器)213、以及诸如硬盘驱动器的外部存储设备214。处理可以在模块200内自己完成。可以在外部存储设备214中存储离线计算的行走模式或其它操作模式,比如,行走模式。
通过总线接口201将多个单元连接到思考控制模块200,这些单元包括:比如配置在头部201中的CCD(电荷耦合器件)摄像机的画面输入设备251、比如麦克风的语音输入设备252、比如扬声器的语音输出设备253、或者未示出的、用于通过比如LAN(局域网)与机器人100外部的系统进行数据交换的通信接口254。
思考控制模块200根据来自外部世界的刺激或环境的变化,比如从画面输入设备251输入的画面或视频数据、或者从语音输入设备252输入的语音或音频数据,决定有腿可移动机器人100当前的感觉或意愿。思考控制模块200还向运动控制模块300发布命令,以实施相应于决定的意愿的行为或运动,也就是运动四肢322R、322L、331R、和331L。
运动控制模块300包括用于控制机器人100全身的具体运动的CPU(中央处理单元)311、RAM(随机存取存储器)312、ROM(只读存储器)313、以及诸如硬盘驱动器的外部存储设备314。外部存储设备314能够存储例如行为模式或使用四肢的“行走能力(capacity)”。“行走能力”是用在表示“关节角度的顺序变化”的相关技术中的技术术语。
通过总线接口301将多个设备连接到运动控制模块300,这些设备比如为,用于实现分布在机器人100整个身体上的各个关节的各自的自由度的关节执行机构321(见图9)、用于测量躯干202的方向和倾角的方向传感器351、配置在左右脚上的路面触觉传感器361和相对运动测量传感器362、以及用于监控诸如电池的电源的电源控制设备。
应该指出的是,路面接触传感器361用于检测各个脚底离开和接触路面的时间点。机器人100操作时间期间(也就是机器人由两条腿或单条腿支撑的时间段)可以根据路面接触传感器361的输出确定。另一方面,相对运动测量传感器362用于检测和测量各条腿相对于路面的相对运动量(滑动量)。相对运动传感器362的输出特殊用于机器人由单条腿、即331R或331L支撑的时间段。路面接触传感器361和相对运动传感器362将在下面详细解释。
运动控制模块300通过关节执行机构321、335控制全身的具体运动,以便实施思考控制模块200命令的行为。也就是说,CPU 311从外部存储设备314中提取相应于思考控制模块200命令的行为的行为模式、或者内部生成运动模式。CPU 311还根据特定的行为模式,设置脚部运动、ZMP(零转动力矩)轨迹、躯干运动、上肢运动、手腕水平位置和高度,并发送指明符合所设置内容的运动的命令值给各相应的关节执行机构。而且,ZMP意味着路面对行走反作用力的力矩为零的路面上的点,而ZMP轨迹意味着在比如机器人100的行走期间ZMP所沿着移动的轨迹。
CPU 311能够通过方向传感器351的输出信号检测机器人100的躯干部分的方向或倾角、以及通过左右腿的路面触觉传感器361的输出信号检测各个可移动的腿是处于自由状态还是处于直立状态,自适应地控制有腿可移动机器人100全身的具体运动。
在本发明的有腿可移动机器人100中,CPU 311能够根据各条腿的相对运动测量传感器362检测或测量的滑动量执行自适应运动控制。自适应控制的一个例子是按照开始时的计划动态校正目标轨迹。后面将详细说明从各条腿的相对运动量的测量结果中演化出的操作控制。
思考控制模块200和运动控制模块300构建在共用平台上,并通过总线接口201和301互连,如图10所示。运动控制模块300适宜返回到已经按照思考控制模块200确定的意愿实施的行为范围,也就是到思考控制模块200的处理状态。
图11示出根据本发明的有腿可移动机器人100的脚底示意结构。参照图11,腿1101包括:脚框1102,用于维持脚外形的形状;腿连接部分1103,用于电气地和机械地连接到腿上;相对运动测量传感器1104,用于检测和测量脚相对于路面的相对运动量(滑动量);路面接触传感器1105至1108,用于检测每一个脚底离开和到达路面;传感器输入处理计算单元1109,用于处理传感器1105至1108的检测信号;以及传感器信息通信处理单元1110,用于将处理计算结果传输到作为机器人100的中央处理系统的运动控制模块300。
在图11所示的实施例中,四个路面接触传感器1105至1108单独配置在每一只脚底上。这仅用于示例说明,因此,如果希望在更多的点上确认触地,则可以装配5个或更多的地面接触传感器;而如果仅在特定的点上确认就足够了,则只用一个地面接触传感器足已。
类似地,对相对运动测量传感器的数量也没有限制。在图11的实施例中,各个传感器的检测信号在同一脚底的传感器输入处理计算单元1109中处理一次,并将处理结果传输到运动控制模块300。另外,也可以将计算处理之前的原始检测信号直接发送到运动控制模块300。在这种情况下,传感器输入处理计算单元1109可以免去不用。
相对运动测量传感器1104的相对运动量(滑动量)的检测结果的利用方法将在下文中说明。
在有腿可移动机器人100用腿进行当然包括行走在内的操作时,传感器输入处理计算单元1109总是使用路面接触传感器1105至1108监视腿的各点与路面的触地状态。在由部分或所有的路面接触传感器1105至1108确认触地的时间段内,将相对运动测量传感器1104测量的运动量值用作广义的相对运动量。相对运动测量传感器1104的测量结果的利用方法根据计划的行走状态和触地状态而变化。
作为一种简化情形,下面说明在正常行走期间直立腿的触地状态。假定直立腿(图5中的左脚2004)的脚相对于路面分别在滚动轴方向和倾斜轴方向上移动ΔX和ΔY。由于机器人仅由一条腿支撑,如果不发生相对于计划轨迹的相对运动将是最理想的。
图5所示的状态是左脚2004计划完全接触地面的状态。腿的地面接触状态根据路面接触传感器1105至1108的检测信号确定。相对运动测量传感器1104检测此状态下的相对运动量ΔX和ΔY。
路面接触传感器1105至1108以及相对运动测量传感器1104的检测信号输入到传感器输入处理计算单元1109中,然后对传感器输入进行计算,以分析出在本不应该发生相对运动的状态下产生了脚接触地面的相对运动。传感器信息通信处理单元1110将处理和计算结果发送给运动控制模块300。
然后,运动控制模块300能够知道有腿可移动机器人100分别在滚动轴方向和倾斜轴方向上经历了偏离计划轨迹ΔX和ΔY的相对运动,也就是滑动。这些检测结果可以反映在接下来的运动计划和轨迹校正中。
假定右脚2003现在触地,机器人由两条腿支撑。同时假定当左腿2002下降接触地面时,左脚2004已经相对于左脚2004的路面已经经历了相对运动(滑动)。由于机器人(运动控制模块300)知道各个关节的位置,所以能够检测腿已经经历相对运动,从而左右腿之间的关系已经偏离轨迹计划。但是,对于适用于直接检测和测量相对于路面的相对运动的设备来说,可以确信左右腿的哪一条腿对相对于路面的相对运动负责,并可以从数量上精确地测量相对运动量。在本发明的配置中,左右腿相对于路面的相对运动(滑动)可以通过安装在腿上的路面接触传感器1105观测,而机器人相对于路面的位置的识别可以在精度上显著提高。
下面说明相对运动测量传感器1104的一种具体结构。
图12示出本发明的能够用于有腿可移动机器人100的相对运动测量传感器1104的一种具体结构。图12所示的传感器1104能够根据球1301的旋转量检测相对运动。
在脚底上安装可以旋转的球1301,球的表面部分地暴露在外。当脚充分地接近路面时,球1301暴露的表面能够接触到路面。
球1301内装有传感器盒1302,允许其旋转。在球1301的表面上,与沿着X轴(滚动轴)的旋转谐调旋转的X轴磙子1303、和与沿着Y轴(倾斜轴)的旋转谐调旋转的Y轴磙子1304毗邻,辊子1305在弹簧1306的恢复力的作用下,使用抵抗磙子1304、1305的适度压力按压球1301。用于检测磙子1303的旋转量的X轴旋转编码器1307直接耦合到X轴磙子1303的根部。类似地,用于检测Y轴磙子1304的旋转量的Y轴旋转编码器1308直接耦合到磙子1304。
在腿接触地面的时间段内,如果腿经历相对于路面的相对运动(滑动),则球1301在X轴和Y轴方向上旋转相当于相对运动量的总量。球1301旋转的X轴分量和Y轴分量分别由磙子1303和1304传递,而各自的旋转量分别由X轴旋转编码器1307和Y轴旋转编码器1308读出。
在图12中,用参考标号1309表示的模块是计数器,用于对各编码器1307、1308的输出进行计数,而用参考标号1310表示的模块是计算处理器,用于解释编码器的输出以计算在X轴和Y轴方向上横越的距离。如此生成的由腿横越的距离数据被发送到传感器输入处理计算单元1109,然后通过传感器信息通信处理单元1110传输到运动控制模块300。
图13示出相对运动测量传感器1104的另一种示意结构,并且图13中示出的相对运动测量传感器1104适用于光学地读取相对运动量。
在图13中,所示实施例的相对运动测量传感器1104包括:作为发射光源的光发射单元1401;光发射透镜单元1402,由诸如透镜的光学组件构成,用于收集所发射的光;成像透镜单元1403,由诸如透镜的光学组件构成,用于收集从路面S反射的光;成像单元1404,用于将反射的光成像;图像处理计算单元1405,用于处理图像;相对运动量处理器1406,用于根据图像处理的结果,确定脚和路面之间的相对运动量;以及通信处理器1407,用于将如此确定的相对运动(滑动)量传输给作为机器人100的中央处理系统的运动控制模块300。
在图13的实施例中,由成像单元1404获得的图像在腿中进行处理,以便计算相对运动量。或者,所生成的图像也可以直接传输给运动控制模块300,在这种情况下,可以在脚中省去图像处理计算单元1405和相对运动量处理器1406。
由光发射单元1401所产生的预设波长的发射光发射到临近脚所接触的路面位置。在该照射下从路面反射的光由成像透镜单元1403收集,以在成像单元1404的成像表面形成图像。
成像单元1404由例如CCD(电荷耦合器件)构成,并适用于接收从路面反射的光,以形成符合路面上的微小凹凸或图案的图像。或者,具有高可视性的图案可以在开始时设置在路面上。
图像处理计算单元1405从成像单元1404中得到反馈,以较小的时间间隔比较这些图像来计算图像运动。例如,如图14所示,可以Δt秒的间隔获取所生成的图像的差异,以便从统计上处理相应的凹和凸或各图案之间的运动量Δd1,从而计算图像运动。
在图像处理计算单元1405获得的图像运动数据输出到下游侧的相对运动量处理器1406。根据该图像运动,相对运动量处理器1606计算相对于路面在X轴(滚动轴)方向和Y轴(倾斜轴)方向上的相对运动(滑动)量ΔX和ΔY。所计算的相对运动量通过通信处理器1407传输给运动控制模块300。
图12和13所示的相对运动测量传感器1104计算脚相对于平行于路面的表面的相对运动量,也就是在X轴方向(滚动轴方向)和Y轴方向(倾斜轴方向)上的相对运动(滑动)量ΔX和ΔY。但是,如上所述,与在平行于路面的方向上的相对运动量一样,绕路面法线的相对运动量在有腿可移动机器人100的运动控制或轨迹校正中也是至关重要的。下面说明能够测量绕路面法线的相对运动(滑动)量的相对运动测量传感器。
常规地,可移动机器人绕路面法线的运动使用陀螺仪传感器进行例行测量。但是,这带来了例如测量精确性的问题。另一方面,由于绕法线的相对运动明显影响行走方向,所以必须精确测量。
图15示出带有能够测量绕路面法线的相对运动量的相对运动测量传感器的脚的示意结构。
如图所示,脚1501包括:脚框1502,用于维持脚的形状;腿连接单元1503,用于电气地和机械地将脚连接到相关的腿上;两个相对运动测量传感器1504-1和1504-2,彼此按照预设距离安装在脚的脚底上;路面接触传感器1505至1508,用于检测每一个脚底离开和到达路面;传感器输入处理计算单元1509,用于处理各个传感器的检测信号;以及传感器信息控制处理器1510,用于将处理计算结果发送到作为机器人100的中央处理系统的运动控制模块300。
四个路面接触传感器1505至1508可以与图11所示实施例中的结构一致,对于传感器的数量或安装位置没有限制。
如果相对运动测量传感器1504-1和1504-2中的每一个能够测量在平行于路面的方向上的相对运动量,则已经足够,如此则可以直接使用图12或13所示的相对运动测量传感器1104。
下面说明使用两个相对运动测量传感器1504-1和1504-2测量脚绕着路面法线的相对运动(滑动)量的方法。
如果脚1501经历相对于路面的相对运动(滑动),则各个相对运动测量传感器1504-1和1504-2每隔预设的微小时间间隔计算在平行于路面的方向上的相对运动量。如此计算的相对运动量示于图16中。
通过重复每隔预设的微小时间间隔、测量相对运动量,如图16所示,并将测量结果按时间顺序结合起来,则可以测量绕路面法线的相对运动量,如图17所示。
在图15所示的脚1501的示意性结构中,两个相对运动测量传感器1504-1和1504-2彼此隔开,所以可以在两个点上测量平行于路面的方向上的相对运动量。
在脚1501相对于路面的相对运动中没有绕路面法线的分量时,在传感器1504-1和1504-2的安装点处的相对运动彼此平行,从而由各个相对运动测量传感器1504-1和1504-2测量的在X和Y方向上的分量彼此总是相互一致。也就是说,各个传感器的检测输出具有相同的值。
另一方面,在脚1501相对于路面的相对运动中包含绕路面法线的分量时,由各个相对运动测量传感器1504-1和1504-2测量的在X和Y方向上的分量彼此不一致。图19示出脚1501每隔预设的时间间隔绕着地面法线进行角度θ的相对运动的状况。在这种情况下,由相对运动测量传感器1504-1和1504-2测量的相对运动量所定义的运动矢量A、B彼此不平行。也就是说,绕着脚的路面的法线的旋转量θ可以根据这些运动矢量A和B之间的夹角进行计算。
在图15所示的实施例中,两个相对运动测量传感器装配在脚部。但是,相对于路面法线的相对运动量当然也可以使用三个或多个相对运动测量传感器以类似的方式进行测量。如果使用大量的相对运动测量传感器,则可以消除各个传感器的测量灵敏度和其它传感器的特性方面的偏差,从而更精确地测量相对运动量。
当然,通过使用能够直接测量绕着从路面得出的法线的旋转量的传感器,替代或者与根据平行于路面的方向上的相对运动量来计算绕路面法线的相对旋转量一起,也可以实现本发明的类似操作和结果。
使用如上所述的本发明的有腿可移动机器人100,可以直接并准确地测量脚部相对于路面的相对运动量。根据这些测量结果,可以更迅速地识别在靠腿直立的机器人100的运动操作中出现的没有包括在轨迹计划中的状态,并立即自适应地反映在随后的行为计划中。
例如,如果脚部打滑,则安装在脚部的相对运动测量传感器比安装在机器人100的腰部或躯干部位的方向传感器更快速地响应,以更满意的方式校正行为计划。此外,如果机器人闯入更加光滑的路面部分,则在机器人的方向变得不稳定之前可以预测将会打滑的危险。
另外,通过直接测量脚部和路面之间的相对运动量,可以减轻或者去除施加在机器人100装载的其它测量系统上的负担。例如,可以降低陀螺仪传感器所需的精度,使其不再需要对来自比如摄像机的输入图像执行甚为复杂的计算处理。
脚部和路面之间的相对运动量的测量结果可以反映在有腿可移动机器人100随后的运动计划中,现在将加以说明。
图20A至20D示出在有腿可移动机器人100行走期间脚和路面之间的相对运动量的测量结果在随后的行为计划中表现的四种模式。
其中,图20A和20B所示的模式在停止行走运动的瞬变过程方面相同。
在图20A中,如果运动控制模块300检测到滑动超出预设的阈值,则瞬时暂停行走运动,同时提醒思考控制模块200已经检测到过度滑动。思考控制模块200作出响应,通过类似人类的行为表达危险状况。例如,如果检测到不可行走的状态,则思考控制模块200呼叫附近的用户寻求帮助。例如,通过使用语音或利用无线电通信实现请求帮助。或者,机器人100自动转向或倒退。
在图20B中,如果运动控制模块300检测到滑动超出预设的阈值,则瞬时暂停行走运动,同时转换到路面状况搜索行为例程。
对于路面状况搜索行为例程没有具体限制。例如,可以处理来自比如摄像机的图像输入设备251的输入图像,以便从纹理或图案核实路面的状况。另外,可以使用比如脚部的脚尖,施加一核实路面状况的刮擦路面操作。或者,可以使用脚部之外的其它身体部分,比如胳膊,施加一核实路面状况的刮擦路面操作。
然后,根据路面状况搜索的结果采取适当的动作。典型的合适动作是选择适合于路面状况的行走模式以继续行走。另外,用于打滑路面的行走模式可以离线计算并预先存储在外部存储设备314中,或者在运动控制模块300中实时生成。后面将更加详细地说明行走模式的生成。
对于核实不能行走的状况下,典型的合适动作还可以是通过类似人类的操作、比如呼叫附近用户寻求帮助来表达危险情形。相似典型的合适动作是通过倒退或转向返回到初始的安全路面点。在转向中,可以核实该转向是否可行。
在图20C的模式中,转换到用于打滑路面的行走模式,而不暂停或瞬时暂停行走运动。
用于打滑路面的行走模式分为安全行走模式或者在搜索路面的同时行走。
对于前者,也就是在安全行走模式的情况下,可以增加脚部接触路面时的倾角,以增大脚部401和路面S之间的摩擦阻力。图21和22从前进方向的侧面分别示出在脚接触路面时脚部401小倾角入射的情况下、以及在脚接触路面时脚部401大倾角入射的情况下的路面接触操作。
在图21的情况下,倾向于产生滑动,因为接触地面402的腿施加给路面较大的水平分量力。在图22的情况下,接触地面402的腿施加给路面较小的水平分量力,从而不大可能产生滑动,而路面S的摩擦系数保持恒定。
典型的安全行走模式还可以是行走速度降低或步幅减小以防止滑动的行走模式、或者校正ZMP轨迹的行走模式。下文中将更加详细地描述用于打滑路面的安全行走模式的生成。
在机器人搜索路面的同时行走,如果能够避免在闲脚接触地面的同时移动机器人100的体重,则是足够的,而体重的移动根据符合路面搜索操作执行结果的路面状况进行。
在图20D所示的模式中,在不暂停或瞬时暂停行走运动的同时,选择适合于打滑路面的脚底。
例如,如果有腿可移动机器人100自身携带有用于打滑路面的脚底,则在鞋子替换间隔在该地点上在不同的脚底之间切换就足够了。
如果有腿可移动机器人100自身没有携带脚底,则机器人100可以返回到可以得到用于打滑路面的脚底或其它类型脚底的地方,比如工具库。
如果有腿可移动机器人100自身没有携带脚底,也可以使用类似人类的行为表达危险情形,比如通过呼叫用户并请求改变脚底。
现在说明用于生成在图20B和20C中使用的、用在打滑路面上的行走模式的处理过程。通常,该行走模式可以事先离线计算、或者在行走期间实时校正。
首先说明在脚底发生滑动时实时校正行走模式的情况。图23示出用于说明实时校正行走模式的处理过程的流程图。下面参照该流程图进行说明。
首先,使用所设置的行走模式进行行走控制(步骤S11)。行走模式[s/步]例如由行走周期Kc×C和步长L规定,其中Kc是具有默认值1.0的倍率因子。
在步骤S12使用已经说明的、安装在脚部的脚底上的相对运动测量传感器测量脚底滑动,以核实滑动是否小于允许值(步骤S13)。
如果脚底滑动小于允许值,在机器人由两条腿或仅由单条腿支撑的情况下,处理分别返回到步骤S11或步骤S12(步骤S19),以继续使用所设置的同一行走模式继续行走。
如果脚底滑动超出允许值,则执行选择行走模式的再现速度的处理。
在这种情况下,行走周期暂时改变(步骤S14)。这可以通过暂时增加倍率因子Kc的值(比如Kc=Kc+0.1)实现,结果可以改变行走模式的再现速度。
然后根据所改变的行走模式再现速度计算ZMP轨迹(步骤S15)。导出ZMP轨迹的方法,也就是ZMP公式请参见Takanishi等的“在未知外力的情况用两条腿行走—对于横向方向外力未知的行走控制系统的开发”(日本机器人协会第9次会议,321至324页)(“Two-legged walking under unknownexternal force--development of a walking control system against an unknownexternal force in the transverse direction”(9th Meeting of Robot Association ofJapan,pages 321 to 324))。
根据所计算的ZMP轨迹,然后核实是否满足ZMP稳定性判定标准(步骤S16)。如果满足ZMP稳定性判定标准,则选择所改变的行走模式再现速度(步骤S17)。根据该再现速度执行行走控制(步骤S18)。然后,处理返回到步骤S12,重复上述处理。
应该指出的是,可以通过改变步长、而不改变行走周期,来类似地实现行走模式再现速度。
相反,如果不满足ZMP稳定性判定标准,则在机器人由两条腿支撑、机器人100可能在方向上稳定时,可以放弃继续行走以暂停行走。
现在说明事先离线生成用于脚底发生滑动时的行走模式的处理过程。图24示出离线生成行走模式的处理过程的流程图。下面根据该流程图进行说明。
首先,将初始值1代入变量n(步骤S31),以获取n次行走实验的脚底滑动矢量s(n)(步骤S32)。
使用该脚底滑动矢量s(n),在步骤S33校正机器人100的运动坐标系O’-X’Y’Z’相对于绝对坐标系O的原点矢量rq(rqx,rqy,rqz,rqraw,rqroll,rqpitch,t)。校正公式如下面的公式(1)所示。
rq(rqx,rqy,rqz,rqraw,rqroll,rqpitch,t)
=rq(rqx,rqy,rqz,rqraw,rqroll,rqpitch,t)
+K×s(n)(sx,sy,sz,sraw,sroll,spitch,t) (1)其中K是反馈增益。
使用所校正的原点矢量rq(rqx,rqy,rqz,t),重新计算有腿可移动机器人100的全身运动模式(步骤S34)。下面将描述用于计算有腿可移动机器人100的全身运动模式的处理过程。
使用机械模型、相对运动测量传感器和重新计算的全身运动模式,进行第(n+1)次行走实验,以获取第(n+1)脚底滑动矢量s(n+1)(步骤S35)。
然后在步骤S36,核实第(n+1)脚底滑动矢量s(n+1)是否等于或大于允许值。如果该矢量小于允许值,则将在步骤S34所得到的全身运动模式输出,作为在脚底发生滑动时能够稳定行走的模式。
另一方面,如果脚底滑动矢量s(n+1)等于或大于允许值,则将n加1(步骤S37)。然后,处理返回到步骤S33,重复执行上述处理。
最后,说明在图24的步骤S34中所执行的用于计算全身运动模式的处理。
在本实施例中,使用图25所示、以及用公式(2)和(4)所表示的线性非干涉多质点近似模型代替图7至9所示的有腿可移动机器人100,用于计算全身运动模式。
在图25中,O-XYZ坐标系表示绝对坐标系中的滚动、倾斜和偏转轴,而O’-X’Y’Z’坐标系表示随着有腿可移动机器人100运动的运动坐标系中的滚动、倾斜和偏转轴。在图25所示的多质点模型中,i、mi和r’i分别表示第i项的脚标、第i质点的质量、以及第i质点的位置矢量(在运动坐标系中)。腰部质点的质量和位置矢量,如后面将说明的在生成全身的具体运动模式的处理中是至关重要的,分别为mh和r’h(r’hx,r’hy,r’hz),ZMP的位置矢量为r’zmp。还应该理解的是,在图25所示的不精确的多质点近似模型中,力矩公式表述为线性公式,并且力矩不干涉倾斜和滚动轴。
该多质点近似模型可以通过下述处理过程大致生成。
(1)得到机器人100的全身质量分布;
(2)设置质点,对于设置质点的方法,质点是由设计者通过人工操作输入、还是按照预定规则自动输入没有影响;
(3)得到各区域i的重心、质量mi,以及相应于所述质点的重心位置;
(4)每一个质点mi用具有质点位置ri和正比于质量的半径的球表示;
(5)将具有实际互连关系的质点,也就是球互连起来。
多质点模型就如同以线框模型形式代表的机器人。从图21中可以看出,本实施例的多质点近似模型设置两肩114R、114L、两肘112R、112L、两腕118R、118L、躯干102、腰119、以及两脚踝108R、108L作为质点。在图21所示多质点模型的腰部信息中,旋转角(θhx,θhy,θhz)定义有腿可移动机器人100中腰部的旋转方向,即,滚动、倾斜和偏转轴。另外,图26以放大的比例示出多质点近似模型的腰部及其邻近部位。
下面说明使用上述的多质点近似模型,用于生成有腿可移动机器人100的行走模式的处理过程。
图27示出用于生成有腿可移动机器人100的行走模式的处理过程的流程图。在下面假定使用图25所示的线性非干涉多质点近似模型、以及下述关系式(2)中所示的参数,描述机器人100的各个关节位置和操作,其中带有逗点标记(’)的符号表明运动坐标系。
mh:腰部质点质量腰部质点的位置矢量
mi:第i质点的质量第i质点的位置矢量ZMP的位置矢量重力加速度矢量
O’-X’Y’Z’:运动坐标系(随机器人一起运动)
O-XYZ:绝对坐标系
H=ihz+rqz (2)
还事先假设机器人100的腰部具有固定的高度(r’hz+rqz=常数),并且膝部质点为0。下面根据图27的流程图加以解释。
首先,设置用于实际确定各部分的驱动和操作的模式,比如通过行走实验提供的脚部运动、从脚部运动中导出的ZMP目标轨迹、躯干运动、上肢运动、以及腰部的方向和高度(步骤S41)。应该指出的是,仅在Z’方向上设置腰部的运动,并假定不知道在X’和Y’方向上的运动。
然后,使用线性非干涉多质点近似模型,计算随着腰部(r’hx,r’hy)在水平平面中的运动所产生的、在所设置的ZMP上的力矩(步骤S43)。
然后,在随着机器人运动的运动坐标系O’-X’Y’Z’上导出与所设置的ZMP上的力矩相关的平衡方程。更具体地说,导出下述线性非干涉ZMP公式(3):+mhH(r..hx+r..qx+gx)-mhgz(rhx′-rzmpx′)=-My(t)----(3)]]>-mhH(r..hy+r..qy+gy)+mhgz(rhy′-rzmpy′)=-Mx(t)]]>
其中由脚部、躯干、以及上肢运动产生的力矩(Mx,My)在右侧,而与腰部质点的水平运动相关的项作为未知变量项位于左侧,并假定r..hz=0]]>
r’hz+rqz=常数(对于时间为常数) (4)
求解上述ZMP公式(3),以计算腰部在水平平面中的轨迹(步骤S45)。例如,可以使用比如欧拉法(Euler method)或贝格-库塔法(Runge-Kutta method)的数值分析公知方法,通过求解ZMP公式(3)得出作为未知变量的腰部(rhx,rhy)的绝对水平位置的数值解(步骤S46)。在此得出的数值解是允许稳定行走的腰部运动模式的近似解,更具体地说,是使ZMP进入目标位置的腰部的绝对水平位置。ZMP目标位置通常设置在脚底接触地面的位置。
如果根据所计算的近似解不能实现所预设的躯干运动或上肢运动,则重新设置和校正躯干和上肢的运动(步骤S47)。此时,可以计算膝部的轨迹。
在精确模型上(由刚体或大量质点构成的机器人100的精确模型)所设置的ZMP上的力矩(eMx,eMy)通过代入如上所述获得的全身运动来计算(步骤S48)。尽管不精确的模型假定上述公式(4)成立,但是该假设在精确模型中是不需要的(也就是说,不需要对于时间保持常数)。
关于精确模型的力矩(eMx,eMy)是由腰部运动所产生的力矩误差。在下一步S49中,核实力矩(eMx,eMy)是否小于在不精确模型中近似力矩的允许值(εMx,εMy)。如果该力矩小于允许值ε,则可以得出稳定的腰部运动和稳定行走的模型的精确解(步骤S50)。在有腿机器人的情况下,如在本实施例中其每一个脚部分具有6个自由度(见图9),可以由各脚的位置和高度、以及腰部的水平位置明确地设置两条腿的方向。也就是说,生成腰部的模式等价于机器人100的“行走能力”,即全身的运动模式。本例程在步骤S50结束。
另一方面,如果精确模型中的力矩(eMx,eMy)等于或大于近似模型中力矩的允许值(εMx,εMy),则在精确模型中使用力矩(eMx,eMy)校正近似模型中已经生成的力矩(Mx,My)(步骤S51),以再次导出ZMP公式,以重复的方式计算和校正腰部运动模式的近似解,一直到力矩收敛到小于允许值ε的值为止。
图28示出用于生成有腿可移动机器人100的全身具体运动模式的修正实施例的处理过程的流程图。与在图27所示的实施例中一样,假定使用线性非干涉多质点近似模型表述机器人100的各个关节位置和运动。
首先,设置用于实际确定各部分的驱动和操作的模式,比如通过行走实验提供的脚部运动、从脚部运动中导出的ZMP目标轨迹、躯干运动、上肢运动、以及腰部的方向和高度(步骤S61)。应该指出的是,仅在Z’方向上设置腰部的运动,并假定不知道在X’和Y’方向上的运动。
然后,使用线性非干涉多质点近似模型,计算随着腰部(r’hx,r’hy)在水平平面中的运动所产生的、在所设置的ZMP上的力矩(步骤S62)。
将腰部(r’hx,r’hy)在水平平面中的运动展开为傅立叶级数(Fourierseries)(步骤S63)。如本领域所公知的,傅立叶级数展开将时域分量转换成频域分量。也就是说,在该情况下,可以将腰部的运动理解为周期运动。另一方面,由于可以实施FFT(快速傅立叶变换),所以能够显著提高运算速度。
在所设置的ZMP上绕倾斜轴和滚动轴的力矩(Mx,My)也可以扩展为傅立叶级数(步骤S64)。
然后计算腰部在水平平面中的轨迹的傅立叶系数,并经过反傅立叶级数扩展(步骤S65),得到腰部运动近似解(步骤S66)。在此得出的近似解是限定允许稳定行走的腰部运动模式的腰部绝对水平位置的近似解(r’hx,r’hy),更具体地说,是使ZMP进入目标位置的腰部的绝对水平位置。ZMP目标位置通常设置在脚底接触地面的位置。
如果根据所计算的近似解不能实现躯干和上肢的预设运动,则重新设置和校正躯干和上肢的运动模式(步骤S67)。此时,还可以计算膝部的轨迹。
然后代入如上所述获得的全身运动模式,以计算由刚体或大量质点构成的机器人100的精确模型中的力矩(eMx,eMy)(步骤S68)。尽管不精确的模型假定上述公式(4)成立,但是该假设在精确模型中是不需要的(也就是说,不需要对于时间保持常数)。
关于精确模型的力矩(eMx,eMy)是由腰部运动所产生的力矩误差。在下一步S69中,核实力矩(eMx,eMy)是否小于近似模型的允许值(εMx,εMy)。如果该力矩小于允许值ε,则得到能够实现稳定行走的稳定的腰部运动和全身具体运动的模型的精确解(步骤S70)。至此,结束本例程。
相反,如果精确模型中的力矩(eMx,eMy)不小于近似模型中力矩的允许值(εMx,εMy),则校正在不精确模型中已经生成的力矩(Mx,My)(步骤S71),并再次扩展成傅立叶级数,以重复计算和校正腰部运动模式的近似解,一直到力矩收敛到小于允许值ε为止。
尽管已经参照数个优选实施例描述了本发明,但是非常清楚,本领域的技术人员在不脱离本发明的范围的情况下,可以对本发明进行适当的修改或替换。
在上述的各实施例中,将本发明应用到靠两条腿行走的人性化机器人中。但是,本发明的应用范围并不仅限于两条腿行走的机器人。例如,自然可以将本发明应用到四条腿行走的宠物型机器人、其它有腿的机器人、以及有腿机器人之外的可移动机器人中,具有相似的操作和结果。
前面描述的内容仅用于说明目的,而不应以限制的方式进行理解。可以结合所附权利要求很好地理解本发明的主旨。
工业可应用性
本发明针对具有多条可移动腿的有腿可移动机器人,其中脚部和路面之间的相对运动量由安装在可移动腿的脚底上的相对运动测量传感器进行测量,并且其中根据相对运动测量传感器所测量的脚部和路面之间的相对运动量,控制有腿可移动机器人的运动。因此,有腿可移动机器人能够在各种路面上行走,或者使用可移动腿执行其它各种运动操作。