机器人及机器人的姿态控制方法

文档序号:2317646阅读:2577来源:国知局
专利名称:机器人及机器人的姿态控制方法
技术领域
本发明涉及具有多个可移动部分,例如腿的机器人,以及控制这种机器人的姿态的方法。特别是,本发明涉及按照预定稳定标准自主保持其姿态稳定性的机器人,以及控制这种机器人姿态的方法。
尤其是,本发明涉及不采用ZMP(零力矩点,zero moment point)作为稳定标准的控制其身体姿态的稳定性的机器人,以及控制这种机器人姿态的方法。尤其是,本发明涉及通过关注机器人的移动部分的周期性运动来控制其身体姿态的稳定性的机器人,以及控制这种机器人的姿态的方法。
本申请要求于2003年8月25日申请的日本专利申请第2003-300521号和于2004年8月11日申请的日本专利申请第2004-234022号的优先权,上述申请在此作为参考并入。
背景技术
通过电和/或磁操作,适合于按照类似于人类运动的方式运动的机械设备被称作“机器人”。据说“机器人”这个词是从斯拉夫语“ROBOTA”(奴隶机器)演化而来的。
在日本,从60后代后期机器人开始变得流行起来,尽管它们中许多是工业机器人,例如为工厂的自动化生产操作和节省人力的目的而安装的机械手和传送机器人。近年来,对装配有可移动的腿,并适合于站着工作的机器人进行了研究和开发。对于将这种可移动的机器人投入实际应用的期望非常高。两条腿的模拟人类运动的可移动机器人被称为具有人类特点的机器人。
尽管与爬行类的机器人和四腿或六腿的机器人相比,基于人类两足运动的机器人伴有不稳定问题和难于进行姿态控制和行走控制的问题,它们仍然具有优越性,包括它们可自己适应不平的地面、路上带障碍和有起伏的行走表面以及不连续的行走表面,例如逐渐上升和下降的楼梯和梯子,从而可以以灵活的方式移动。
已经提出大量技术用于两腿可移动机器人的姿态控制和稳定行走。在此使用的稳定“行走”定义为“使用腿,而不蹒跚并跌倒的移动”。当机器人的身体蹒跚并跌倒时,意味着将中止机器人正在进行的操作,并且机器人将花费大量的能量和时间用于从跌倒的位置站立起来,重新开始操作。另外,当机器人蹒跚并跌倒时,增加了机器人本身和/或跌倒的机器人碰撞的物体遭到致命损坏的危险。因此,防止机器人蹒跚并跌倒的姿态/稳定性控制是开发两腿可移动机器人需要优先解决的问题之一。
基于人类两足运动的机器人的站立姿态作为基本姿态是不稳定的。通常采用ZMP(零力矩点)作为两腿可移动机器人的行走稳定性的标准。采用ZMP来评价行走的稳定性是根据d’Alembert的理论,即行走系统施加到地面表面的重力和惯性力及它们的力矩(moment)分别与地面表面施加到行走系统的反作用力及其力矩相平衡。作为动态特性框架的推理结果,存在一个俯仰轴力矩和翻滚轴力矩都等于零的点,或在由相对于地面的底部和地面表面足底的接触点所形成的支撑多边形(或ZMP稳定区域)的一个边上,或在其内部的一个ZMP点(参见非专利参考文献1)。
基于ZMP标准的两足行走模式的产生具有优越性,包括有可能预先定义足底接触点,同时,考虑脚尖相应于地面表面的轮廓的运动约束也是容易的。另外,采用ZMP评估稳定性意味着并不是力,而是运动轨迹被作为控制运动的目标进行处理,从而在技术上更加可行。
当计划进行运动,以在每时每刻获得动态平衡时,目标ZMP控制已经在真正的机器人上得到成功。采用ZMP作为稳定性标准的运动产生技术可以真正实现稳定的两足行走,因而是已被证实的技术。换句话说,在一个方面,基于ZMP的稳定性控制一直由一个等式限定,因此为了按照ZMP标准设计运动轨迹,必须对机器人自身和环境进行精确建模,同时,通过高精确度的轨迹跟踪控制系统,一直使计划与环境模型相匹配。换句话说,基于ZMP的稳定性控制伴有对于未知环境的适应性的问题。求解ZMP等式的过程需要相当繁重的计算花费,因而在实时控制情况下是非常困难的。
满足ZMP等式对于机器人的姿态稳定性控制是充分条件,而不是必要条件。很明显,人类的行走并不需要最大化ZMP稳定裕度。
换句话说,人类利用自身具有的生物结构行走,适当地应用四肢的从动动态特性(passive dynamics),而不依靠ZMP。如果机器人可以精确地应用从动动态特性,它也有可能实现具有高能量转换效率的行走运动,既不需要精巧的设计模型(从而也不需要计算操作的繁重的计算花费),也不需要大驱动力矩的致动器。
例如,可以认为行走运动为周期性的运动,并认为至少机器人的每个移动部分的部分为物理振荡器。于是,有可能通过确定或控制振荡器的相位和振荡频率来控制机器人的行走。当继续进行这种周期性运动时,可以将其作为“稳定的行走”。如果在一个周期内有一个时刻,失去了动态平衡,进而失去稳定性时(根据ZMP理论),只要通过重复该周期来恢复稳定的限制周期,有可能继续行走运动。更进一步,如果在一定时期内没有恢复稳定限制周期,只要在一个实际的时间周期内将运动收敛于恒定的周期性运动,运动也能够继续。
如果通过关注机器人的行走运动而如此定义稳定性,则可能实现“全面的稳定性”,这是因为如果使机器人面临外部的未知干扰,其能在几个周期内恢复稳定状态。于是,结果是,既不需要精确的模型,也不需要精确的轨迹跟踪控制。另外,可降低致动器的增益,从而可能减少花费,同时,以小增益提高稳定性。(换句话说,如果需要精确的模型和精确的轨迹跟踪控制,则由于需要高增益和精度,则将提高花费)。更进一步,从全面的观点来看,允许机器人离开稳定区。然后,可以采用种种模式实现行走和其他腿的运动(姿态),以提高机器人的表达潜力,并改进对于环境的适应性。
关注行走运动周期的利用腿移动的机器人的行走技术包括从生物学上得到启示的四足动物机器人在不规则区域上的适应性的动态行走(参见非专利文献D2)以及在外部干扰下重新设定节奏与人类的两足行走运动的行走的动态稳定性之间的关系(参见非专利文献D3)。
根据前述的文献,通过在在独特的非线性动态特性基础上耦合机械系统和神经系统而形成的动态系统与环境的交互作用下,创造性地产生了适应性运动。然而,上述文献记载相位和频率是由非线性的不等式(Matsuoka振荡器)诱导,揭示了不可能获得物理振荡器的相位的分析结果,从而不可能在数学上设计该系统。简而言之,不可能得到任何特定的设计理论。
根据最后一篇文献,通过对两足行走运动应用动态模型有可能在数学上分析包含相位复位的运动轨迹与动态稳定性之间的关系。然而,这只描述了在已知的外部干扰之后通过开环方法,立即调节物理振荡器的相位,缺少从物理系统的任何反馈,因而缺少对未知状态和外部干扰的适应性。
非专利文献1Miomir Vukobratovic,“利用腿运动的机器人”(IchiroKato等人的,“行走机器人及人造脚”,Nikkan Kogyo Shinbun公司)。
非专利文献2Fukuoka等人的,“从生物学上得到启发的四足动物在不规则区域上的适应性动态行走-耦合神经-机械系统的设计原理及对于倾斜(pitch)运动、CPG和滚动运动之间的互相诱导的估计”(日本机器人世界杂志,第21卷,5号,2003年7月)非专利文献3Yamazaki等人的,“在外部干扰下的节奏复位与人类两足行走运动的动态稳定性之间的关系”,(IEICE技术报告,电子、信息和通信工程师协会,)发明内容根据上述情况,本发明目的是提供一种高级机器人,根据给定的稳定性标准,它可自主保持姿态的稳定性,以及控制这种机器人姿态的方法。
本发明的另一个目的是,提供一种高级机器人,它不需更采用ZMP(零力矩点)作为稳定性的标准,即可控制其身体姿态的稳定性,以及一种控制这种机器人姿态的方法。
本发明的另一个目的是,提供一种高级机器人,通过关注其运动部件的周期性运动,可控制其身体姿态的稳定性,以及一种控制这种机器人姿态的方法。
本发明的另一个目的是,提供一种高级机器人,通过将其每个可移动部分的至少部分作为物理振荡器,并生成数学上容易处理的相位,适于控制它的可移动部分,并自适应处理任何未知的干扰,以及一种控制这种机器人的方法。
本发明达到了上述目的。通过本发明的一个方面,提供了一种具有多个可移动部分的机器人,该机器人包括相位信号发生装置,用来产生与至少部分可移动部分的周期运动相关的相位信号;控制装置,用来根据相位信号产生对于可移动部分的控制信号;驱动装置,用来根据控制信号驱动可移动部分;状态量检测装置,用来检测驱动装置所驱动的可移动部分的状态量;以及估计装置,用来根据状态量估计可移动部分周期运动的相位或角频率;相位信号发生装置,适于根据估计装置所估计的相位或角频率来更新相位信号。
控制装置包括多个具有不同的控制规则的控制器,根据相位信号来选择适当的控制器,所选择的控制器根据相位信号生成可移动部分的控制信号。
因此,根据本发明的机器人,可移动部分的运动是作为周期性的运动,因此,从广义上来说,可通过调节可移动部分的传输,来稳定地控制机器人的姿态。特别是,在机器人系统中可采用一个或多于一个相位生成装置,同时,根据生成的相位来选择多个控制器中的一个。于是,控制器根据连续的相位信息,来控制可移动部分的驱动。另外,从物理系统中估计实际的相位,同时,通过采用估计值来调节相位生成器的相位和频率。由于机器人系统的物理相位和相位生成器受到互相诱导,因此有可能通过有效应用机器人动态特性来控制机器人的运动。
图1示意性和概念性地说明根据本发明的机器人姿态稳定控制系统的配置。在机器人中,可移动部分的运动认为是周期性的运动,行走及可移动部分的其他运动按照相位来描述。
机器人系统的每个物理系统定义了一个或多于一个的相位生成器。提供具有不同控制规则的多个控制器,因此,可根据机器人系统输出的相位来选择适当的控制器。
所选择的控制器根据相位生成器提供的连续的相位信息,来控制机器人可移动部分的驱动。
在机器人系统中提供传感器来检测当驱动可移动部分时,可移动部分的状态量(state quantity)。相位估计器估计根据传感器信息得到的角频率ω和相位。
下一步,相位生成器根据相位估计器估计的运动的相位和角频率,来调节可移动部分周期性运动的相位和频率。
传统上,当将行走运动作为周期性运动时,通过神经振荡器(neuraloscillator)或类似装置来生成周期性信号,并采用上述周期性信号来控制致动器。于是,通过观察行走运动的周期性信号,并使神经振荡器相互作用,从而实现稳定的行走运动。(参见非专利文献2)相反,根据本发明,当同样将行走运动作为周期性运动时,没有采用神经振荡器或类似装置来产生幅值信号,而是作为从相位生成器生成的相位信号所得到的控制输出。由于这种设计,有可能在诱导控制和得到宽稳定性区域方面,显著简化设计操作。
通常采用下述更新规则来调节相位信号。
公式1ω=ω0+Δωφ=φ0+Δφ在上面的公式中,Δω和Δ是相位估计器和相位生成器在运动中的相位误差的估计值,其通过观察该运动得到。运动的相位可从机器人传感器中估计得到。更进一步,在行走运动情况下,可从足底开关(或接触确认传感器)的接触时间和运动周期估计得出相位。在基于指尖接触目标的接触转换的时间和运动开始的时间,从胳膊的运动能预测整个身体的协调性周期运动的情况下,可从相似的关节运动开始的时间和运动周期来估计该相位。
下一步,通过适当的传输相位信号来得到机器人可移动部分的输入信号(控制输出)U,该相位信号是由相位信号生成装置所生成的。
公式2U=f()如果从观察信号的矢量V估计得到的相位和角频率分别为0和ω0,相位误差的估计值可以按照下述公式得出(作为对上述方法的改进,比较控制输出U和观察矢量V的估计方法,或者直接从和V或0和U或U,V和估计的估计方法也是可能的。)公式3Δ=0·Δω=ω0·ω为了保证平稳运动,可以得到一种利用动态特性逐步改变相位或处理相位的技术。例如,可以得到一种采用下面公式的技术。
公式4αdxdt=-x+Δφ]]>βdydt=-y+Δω]]>公式5=0+xω=ω0+y
当可以预测到急剧的相位变化时(例如,作为在行走过程中绊倒的结果),应用动态系统处理输入信号(控制输出)U,并将其发送给机器人的可移动部分的技术是可以得到的。例如,应用下面的公式可以实现平稳的运动。(相位平稳变化的技术适合于以几个台阶结束的行走,例如于在斜坡上行走。另一方面,对于例如需要快速反应的跌倒的运动,相位急剧变化,且控制基准自身也被转变。在这种情况下,控制器可保证平稳运动。)公式6rdzdt=-z+f(φ)]]>U=z在将机器人可移动部分的运动作为周期性运动的许多传统的控制方法中,通过采用时间作为参数,描述运动的目标轨迹。相反,采用相位描述目标轨迹。
另外,根据本发明,为一个机器人系统定义一个或多于一个相位生成器。由于相位生成器的配置并不受特定的限制,从设计角度看,可以期望通过相位复位得到行为的分析结果。相位生成器是机器人的机器机体本身。然而,相位生成器允许变化。例如,机器人的机器机体可以作为相位生成器。或者,可以这样考虑,为每个关节的每个自由度提供一个相位生成器(将在下面描述)。
另外,根据本发明,根据从机器人系统的相位输出来选择适当的控制器。例如,如下表所示,根据腿的状态来确定机器人系统的相位,为每个可能的状态提供控制器。如果两个或多于两个控制器是基于同样的PD控制方法,需要应用不同的控制参数(例如,不同的增益值)。
表1


所选择的控制器根据连续的相位信息来控制可移动部分。当按照动态系统描述运动时,如果发生急剧的相位改变,控制器可保证平稳运动。
图2示意地表示出当两腿可动机器人进行行走运动时,按照切换方式交替地采用左腿和右腿作为支撑腿腿和摆动腿,根据相位信息适当地选择控制器的机制。
在图示的实例中,提供一个根据相位信息,用于控制摆动腿的抬起运动的控制器(摆动控制器);一个根据相位信息,用于控制摆动腿的接触地面运动的控制器(接触控制器);一个根据相位信息,用于控制以两腿支撑机器人的运动的控制器(双支撑控制器)以及一个根据相位信息,用于控制以单独腿支撑机器人的运动的控制器(单支撑控制器)。
在行走运动中的当前时刻,相位生成器生成相位。然后,根据相位来选择控制器,并将相位信息提供给控制器。
控制器根据提供的相位信息,为机器人的可移动部分生成控制输出U。根据控制器参量U,驱动机器人的可移动部分进行行走运动。
在行走运动中,获取可移动部分中关节的角、角速度、角加速度等的传感器的输出值,并将输出值输入到相位估计器。相位估计器根据传感器输出值,估计周期运动中的相位和角频率,或者可移动部分的状态量,并将它们提供给相位生成器。
相位生成器根据相位估计器估计的相位和角频率,更新相位信号,并调节机器人系统周期运动的相位。
机器人每个可移动部分的关节自由度不小于1。然后,状态量检测装置检测关节角和关节角速度作为状态量。然后,估计装置可根据关节角和关节角速度,来估计每个关节的周期运动的相位或频率。
作为最简单的例子,假设将相位作为关节角输出。然后,在图形中得到正旋曲线波形图,其中,水平轴表示时间T,垂直轴表示关节角θ(见图3)。在图中得到单元电路的相位图表,其中水平轴代表关节角,垂直轴代表关节角速度。下一步,在给定时刻的旋转角(由连接单元电路的一个点和原点的直线和水平轴所形成的角)是周期运动的相位(见图4)。
可提供多个可动腿作为可移动部分。如果这样的话,状态量检测装置检测可动腿每个足底从地面得到的反作用力作为状态量。下一步,估计装置根据地面对每个可动腿的足底的反作用力,来估计相位或角频率。例如,可根据地面的反作用力,确定或者左腿、或者右腿的单腿支撑周期,以及双腿支撑周期。下一步,可估计对支撑腿确定的结果作为行走运动的相位。
正如上面指出的,可提供多个可动腿作为可移动部分的机器人。在这种情况下,状态量检测装置可检测每个可动腿的足底受到的地面的反作用力作为状态量。下一步,估计装置可根据地面对每个可动腿的足底的反作用力,估计可移动部分的周期运动的相位或角频率。
替代的,状态量检测装置可检测可动腿每个足底从地面获得的在移动方向或垂直于移动方向的方向上的摩擦力作为状态量。接着,估计装置根据可动腿足底从地面接收的摩擦力,来估计每个可移动部分周期运动的相位或角频率。
可提供具有躯干部位的机器人,状态量检测装置可检测躯干部位的倾斜度作为状态量。然后,估计装置可根据躯干部位的倾斜度,估计每个可移动部分的周期运动的相位或角频率。
状态量检测装置可检测机器人或每个可移动部分的加速度来作为状态量,估计装置也可根据加速度来估计每个可移动部分的周期运动的相位或角频率。
估计装置可响应于预先确定的事件的发生,复位与关节的周期运动相关的相位。
估计装置可学习与状态量检测装置检测的状态量相关的训练信号以及可移动部分的周期,根据学习到的训练信号,来估计相位或角频率。
估计装置可由神经网络构成,其根据状态量检测装置检测的状态量,输出与可移动部分的周期运动相关的相位和角频率。
估计装置可根据从多个连续设置的内部传感器得到的信息,通过前馈神经网络,连续估计相位或角频率。
当估计的相位是离散的,例如,在每个足底的接触确认传感器输出的基础上,为研究起见,一条腿的接触地面和另一条腿的接触地面可分别定义为相位0和相位π。在这种情况下,可以从左腿和右腿接触地面的时间间隔来计算频率。
根据本发明的机器人,可为每个物理系统定义一个或多于一个的相位生成器。机器机体可作为进行周期运动的物理振荡器,同时,单独的相位生成器可定义为整个机器机体,如图5所示。
作为选择,当关注行走或一些其它的腿运动时,每条腿的运动可作为一个独立的周期运动。然后,可为每条腿定义一个相位生成器,如图6所示。
当关注行走或一些其它的腿运动时,左腿和右腿以一种协调的方式操作,以交替重复一条腿支撑和两条腿支撑。因此,可认为下肢在进行单独的周期运动,而认为上肢、躯干和其它部分在进行另一个周期运动。于是,可为下肢和上肢、躯干以及其它部分分别定义相位生成器,如图7所示。然而,在这种情况下,每条腿的运动可作为独立的周期运动。因此,可为每条腿定义一个相位生成器,如图8所示。
作为选择,当关注行走或其它机器机体的运动时,每条腿、胳膊、躯干和头的运动可作为一个独立的周期运动。然后,可为每个部分定义一个相位生成器,如图9所示。
然而,不需要认为每个可移动部分在进行由于组合相邻关节的运动所产生的周期运动。换句话说,每个关节的运动可作为独立的周期运动。因此,可为每个关节定义一个相位生成器,如图10所示。
当如图6到10所示,在一个单一的机器人上定义多个相位生成器时,为每个可移动部分提供控制器,为所述可移动部分定义了相位生成器并认为其在进行周期运动,所述控制器具有相应的不同控制规则。在这种情况下,可为机器人另外提供协调装置,用于协调来自可移动部分控制器的控制参量,从而使整个机器人进行协调运动。
机器人所有可移动部分的运动也可不作为周期运动。换句话说,可以将一些可移动部分的运动作为周期运动,同时其它一些可移动部分的运动不作为周期运动。
如果在这种情况下,可为可移动部分提供第二控制装置,所述控制装置适合于按照与周期运动无关的控制规则来控制各自的可移动部分,以便可以适当地控制不做周期运动的可移动部分。第二控制装置通常根据ZMP稳定标准来产生控制信号。
如果在这种情况下,机器人可进一步包括协调装置,用于按照周期运动的相位,协调从控制装置输出的进行周期运动的可移动部分的控制参数,及从第二控制装置输出的不进行周期运动的可移动部分的控制参数,从而使整个机器人进行协调运动(见图11)。
总之,根据本发明,提供一种高级机器人,能够不采用ZMP作为稳定性标准,来控制其机体姿态的稳定性,以及控制这种机器人的方法。
根据本发明,提供一种高级机器人,通过关注其可移动部分的周期运动来控制其机体姿态的稳定性,以及控制这种机器人的方法。
根据本发明,提供一种高级机器人,其通过将每个可移动部分的至少部分作为物理振荡器并生成数学上容易处理的相位,适合于控制其可移动部分并适应于处理任何未知的干扰,以及控制这种机器人的方法。
本发明的其它目的、性能特点及优越性通过下面给出的优选实施例,结合相关附图,将变得容易理解。


图1示意性地,从概念上说明根据本发明的机器人姿态稳定性控制机构的配置;图2示意性地说明当两腿可动机器人进行行走运动,并采用左腿和右腿以切换的方式交替作为支撑腿和摇摆腿时,根据相位信息适当选择控制器的机制;图3示意性地说明可移动部分的关节角θ与其周期运动的相位之间的关系;图4示意性地说明对于给定的相位,可移动部分的关节角θ与其关节角速度之间的关系;图5示意性地说明将整个机器人的运动作为周期运动时,为机器人的整个机器机体定义的单一的相位生成器;图6示意性地说明将每个左腿和右腿的运动作为独立的周期运动时,分别为左腿和右腿定义的相位生成器;图7示意性地说明将下部肢体和包括上部肢体和躯干的其它部分的每个部分的运动作为独立的周期运动时,分别为下部肢体和包括上部肢体和躯干的其它部分定义的相位生成器;图8示意性地说明将左腿、右腿和包括上部肢体和躯干的其它部分的每个部分的运动作为独立的周期运动时,分别为每个部分定义的相位生成器;图9示意性地说明将左腿、右腿、左臂、右臂、躯干和头的每个部分的运动作为独立的周期运动时,分别为每个部分定义的相位生成器;图10示意性地说明将每个关节的运动作为独立的周期运动时,分别为每个关节定义的相位生成器;图11示意性地说明通过协调可移动部分的控制参数,为实现整个机器人的协调运动的装置;图12示意性地说明本发明一个实施例中有腿和站立的可动人形机器人100的透视前视图;图13示意性地说明本发明一个实施例中有腿和站立的可动人形机器人100的透视后视图;图14示意性地图示有腿的可动机器人100具有的每个关节的自由度;图15示意性地说明有腿的可动机器人100的控制系统的配置;图16示意性地说明Matsuoka的神经振荡器模型;图17示意性地说明采用DB的用于CPG诱导现象的实验性硬件;图18示意性地说明在与环境交互作用下,通过在径向平面两足模型的每个关节处布置神经振荡器,如何产生自主行走;图19示意性说明行走运动的三个状态;图20图示类似圆规状的两足模型;图21示意性说明神经振荡器和关联数;图22示意性说明作为实验性硬件使用的机器人机器机体的连接部分;图23示意性说明反馈路径;图24示意性说明为前后腿替换目标角的值;图25示意性说明转换LM输出的符号并输入到SW;图26表示说明正常行走运动的测量结果的曲线;图27是示意性的机器人左侧髋关节的相平面视图;图28是表示稳定输入值C、行走速度/机械能消耗/移动效率的无次元值和传送能量之间关系的曲线图;图29是表示通过将腿的长度/质量标准化得到的关节最大力矩与采用通常的目标ZMP标准得到的值相比较得出的结果的图表;图30示意性说明基于适当缩放由学习人类行走运动以及采用在相位振荡器基础上形成的简单具有有限周期的有节奏运动而得到的运动的比例,所产生的机器人行走运动,并将该运动局部加权回归作为CPG模型;图31示意性说明具有平面五段的两足机器人的模型;图32示意性说明对学习的运动轨迹进行的变化;图33示意性和概念性说明根据本发明的实施例的机器人的控制系统;图34是表示从采集的数据得到的右腿从一个接触点到下一个接触点的关节角和运动周期的图表;图35是表示运动学习基元的学习人类行走轨迹的一些结果的图表;图36是表示在运动学习基元的输出中t为0到20的情况下,目标关节轨迹和机器人关节轨迹的图表;图37图示在两个行走周期中(四步),机器人左腿目标关节轨迹、关节轨迹和腿的接触时间的图表;图38图示关节力矩命令值;图39示意性说明机器人如何在稳定状态行走;图40示意性说明两个耦合的相位振荡器的动态特性;图41图示行走仿真的一些结果的图表;图42示意性说明基于摆动腿是由自由振荡摆动的假设,具有不同长度的两个单独摆体的运动;图43示意性说明相位振荡器和相位复位机构;图44示意性说明使用两腿可动机器人足底切换的相位估计机制;图45示意性说明按照连续交互作用的相位复位机制;图46图表表示示范性相位响应曲线;图47示意性说明诱导不等式;图48示意性说明在相位响应曲线上寻找静态解决方案的稳定性的操作;图49示意性说明在两个相位生成器之间应用互相离散信号的诱导;图50图表表示互相诱导的不等式;图51示意性说明具有通过支撑杆约束到两维平面的五段的两腿可动机器人;图52示意性说明图51所示的真正的机器人的状态变化;图53图表表示一个实施例得到的行走中的关节角轨迹;图54图表表示一个实施例得到的输出力矩轨迹;图55示意性说明最终得到的记录的行走样本;图56示意性说明采用猫的动物实施例;图57示意性说明具有简单的3段配置的远程机器人模型;图58示意性说明行走轨迹生成模型;图59示意性说明学习(左)状态定义和行为(右)定义;图60图表说明在学习期间(第25次练习)的实验性行走轨迹;图61图表表示在学习期间之后的稳定行走轨迹;图62图表表示在一个仿真中,当机器人行走50步时,特定值的变化;
图63图表表示在正常的行走运动中的测试结果;图64示意性说明机器人左侧髋关节的相平面视图;图65图表表示涉及相位复位和不涉及相位复位的测试的比较;图66A和66B表示施加外力作为外部干扰的响应实例;图67表示在最前一行的学习之前的行走轨迹和30次练习之后的中间行的行走轨迹;图68表示在每次练习中累积的奖励;图69表示仿真得到的值函数;图70表示机器人在学习之前的行走运动;图71表示机器人在学习之后的行走运动;图72表示应用真实的硬件进行实验所得到的值函数结果;图73表示每次实验的Jacobian矩阵的平均本征值。
具体实施例方式
在此将参考附图详细描述本发明。
A.机器人的配置图12和13是本发明的一个实施例的有腿的站立可动类人机器人100的示意性透视前视图和后视图。如图所示,有腿的可动机器人100具有能被驱动以进行移动操作的躯干部分、头部、左右上肢和左右下肢。机器机体(machinebody)的操作是由控制部分(未示出)进行控制的,控制部分通常安置在躯干中。
每个下肢具有大腿部分、膝盖部分、小腿部分、踝、脚背,实质上与躯干部分的下端通过髋关节连接。每个上肢包括上臂、肘和前臂,通过肩关节与相应的躯干部分的上部侧边缘相连接。头部实质上通过颈关节与躯干部分的中央顶端连接。
控制部分是个腔,包含用于处理来自驱动控制和有腿可动机器人100的每个关节致动器的传感器(在后面将详细描述)的外部输入的控制器(主控制部分)、供电电路和其它外围设备。控制部分可另外包含一个或多于一个通信接口和用于远程控制目的的通信设备。
具有上述配置的有腿的可动机器人100在控制部分对整个机体的协调行动控制下,能够用两条腿行走。这种两腿行走是通过重复一个行走周期来实现的。上述行走周期通常划分为下述的运动周期。
1)左腿的单腿支撑周期,右腿举起2)双腿支撑周期,右腿在地面上3)右腿的单腿支撑周期,左腿举起4)双腿支撑周期,左腿在地面上有腿的可动机器人100的行走通常由预先设计每个下肢的目标轨迹、应用ZMP作为稳定性标准及在每个上述周期修改计划的轨迹来控制。在双腿支撑周期,中止修改每个下肢轨迹的操作,通过对设计的轨迹使用整个修改参量,修改髋部的高度到一个常值。在单腿支撑周期,生成修改轨迹,使得恢复已修改的每条腿的踝和髋的相关位置关系,并使其与设计的轨迹相匹配。
另外,有可能将至少部分有腿可动机器人100的可移动部分,例如左腿和右腿,作为物理振荡器,并基于传感器的输出,根据得到的内部状态和外部环境,通过数学运算生成物理振荡器的相位,从而实现广义上说的机器机体的稳定性,并使其适应地响应任何未知的外部干扰。
图14示意性说明有腿可动机器人100设置的每个关节的自由度。如图14所示,有腿可动机器人100的结构为具有包括两个上臂和头部1的上肢、包括两条腿用于实现移动运动的下肢以及连接上肢和下肢的躯干部分。简要地说,有腿的可动机器人100具有多个肢体。
支撑头部的颈关节有由颈关节摇摆(yaw)轴1、第一和第二颈关节倾斜(pitch)轴2a和2b、及颈关节滚动轴3提供的三个自由度。
每条胳膊具有肩关节倾斜轴4、肩关节滚动轴5、上臂摇摆轴6、肘关节倾斜轴7、腕关节摇摆轴8和手部,用于提供自由度。手部实际是多关节的结构,包括多个手指,并具有自由度。
躯干部分具有两个自由度,由躯干倾斜轴9和躯干滚动轴10提供。
下肢的每条腿具有髋关节摇摆轴11、髋关节倾斜轴12、髋关节滚动轴13、膝关节倾斜轴14、踝关节倾斜轴15、踝关节滚动轴16和脚。
然而,如果有腿的可动机器人100设计用于娱乐,机器人不必具有上述所有的自由度。机器人也不限于上述所列的自由度。不消说,根据在设计和生产阶段中的限制条件和规格要求,可以增加或减少自由度或关节的数目。
本实施例的有腿可动机器人100的重心布置在髋部。因此,髋部是在姿态稳定性控制中的重要对象,并作为机器人的“基本身体部分”进行操作。
图15示意性说明了有腿可动机器人100的控制系统的配置。如图15所示,有腿可动机器人100包括对应于人类四肢的机构单元30、40、50R/L和60R/L,以及自适应控制机构单元以实现机器人的协调运动的控制单元80(R和L是分别代表右和左的后缀)。
整个有腿可动机器人100的运动由控制单元80全面控制。控制单元80包括主控制部分81,其包括CPU(中央处理器),其它主电路部件,例如内存(没有示出);和包括供电电路和接口(没有示出)的外围电路82,控制单元80通过上述接口与不同的部件交换数据和指令。
外围电路82包括安装在机器机体上的外围设备、通过电缆及无线电波与机器机体相连接的外部外围设备、和用于电连接充电站(未示出)和其它外围设备的接口连接器。
当实现本发明时,中央处理器80的安装位置并不受任何特定的限制。虽然在图15中,它是安装在躯干单元40中,但是它也可选的安装在头部单元30。同样可选的,控制单元80可以布置在有腿可动机器人100的外部,从而与有腿可动机器人100的机器机体通过有线或无线的方式进行通信。
表示在图14中的有腿可动机器人100的每个关节的自由度是由非常多的致动器来实现的。具体地说,颈关节摇摆轴致动器A1、颈关节倾斜轴致动器A2和颈关节滚动轴致动器A3设置在头部单元30,分别用于颈关节摇摆轴1、颈关节倾斜轴2和颈关节滚动轴3。
躯干单元40设置有躯干倾斜轴致动器A9和躯干滚动轴致动器A10,分别用于躯干倾斜轴9和躯干滚动轴10。
胳膊单元50R/L分别包括上臂单元51R/L、肘关节单元52R/L和前臂单元53R/L,它们中每个均设置有肩关节倾斜轴致动器A4、肩关节滚动轴致动器A5、上臂摇摆轴致动器A6、肘关节倾斜轴致动器A7、腕关节摇摆轴致动器A8,分别用于肩关节倾斜轴4、肩关节滚动轴5、上臂摇摆轴6、肘关节倾斜轴7和腕关节摇摆轴8。
腿单元60R/L分别包括大腿单元61R/L、膝盖单元62R/L和小腿单元63R/L,它们中每个均设置有髋关节摇摆轴致动器A11、髋关节倾斜轴致动器A12、髋关节滚动轴致动器A13、膝关节倾斜轴致动器A14、踝关节倾斜轴致动器A15、踝关节滚动轴致动器A16,分别用于髋关节摇摆轴11、髋关节倾斜轴12、髋关节滚动轴13、膝关节倾斜轴14、踝关节倾斜轴15和踝关节滚动轴16。
分别布置在相应的关节轴上的每个致动器A1、A2、A3,...最好是紧凑型的致动器,其直接耦合到传动装置(gear)上,并以一个芯片的形式出现,从而可以安装在电机单元中。
机械单元包括头部单元30、躯干单元40、胳膊单元50和腿单元60,分别设置有辅助控制部分35、45、55、65,用于控制驱动致动器的操作。
机器机体的躯干部分40提供有加速度传感器95和姿态传感器96。通常为X、Y和Z轴布置加速度传感器95。当加速度传感器95布置在机器机体的髋部时,有可能选择髋部(其是需要大量的处理量的部件)作为控制目标,直接研究部件的姿态和加速度,从而应用ZMP控制姿态稳定性。
每条腿60R和60L设置有一个或多于一个的触地(touch down)确认传感器91或92,以及一个或多于一个的加速度传感器93或94,只要它们适合即可。接触确认传感器91和92为压力传感器,安装到相应的足底,根据有或没有地面的反作用力,来检测有腿可动机器人100的足底中的一个或两个是否接触地面。因此,有可能检测两腿支撑周期和单腿支撑周期,并估计作为物理振荡器进行操作的每个可动腿的相位和角频率ω。
加速度传感器93和94布置在X和Y轴。由于左右脚提供有加速度传感器93和94,有可能将最接近ZMP位置的脚直接用ZMP等式表示。
主控制部分80根据机器人100的内部状态和外部环境,按照传感器91到93的输出,控制姿态稳定性。尤其是,它适于控制辅助控制部分35、45、55、65,从而以协调的方式驱动上肢、躯干和下肢。姿态稳定性控制的第一技术为设计一个运动,从而可应用ZMP作为标准为目标ZMP控制在每个时刻建立动态平衡。姿态稳定性控制的第二技术为通常在行走运动过程中,提取至少部分机器机体,例如可动的腿的周期运动,并根据内部状态和外部环境,为该周期运动生成相位信号,从而根据该相位信号驱动并控制可移动部分。
B.根据生物学原理的两足运动本发明的发明人为了实现基于信息处理技术的类人机器人,一直在研究人类的行为,该信息处理技术类似于人类信息处理技术。在对人类信息处理系统的深入研究,并发现人类两足运动的生物学原理的基础上,本发明人已经开发出驱动机器人以类似于人的、平稳和自然的方式行走的技术。其将在下面详细进行描述。在本专利文献中,主要讨论下面的三个主题。
(1)CPG(中央模式生成器)和两足运动特性近些年进行的应用神经振荡器的关于CPG的研究已经实现了理想的周期运动,并且已经通过实验发现周期运动的一些特性。然而,为应用CPG实现两足运动所必须的周期运动的基本特性仍然不清楚。CPG的特性对于应用本专利文献中描述的CPG来实现两足运动是不可缺少的。本发明的申请人已利用神经振荡器,通过CPG成功实现了小型两足机器人的期望行走运动。
(2)两足运动的基本原理本发明的申请人一直在从物理和数学的角度寻找行走的基本元素,以发展用于领会和控制行走的动态技术。在本专利文献中,将描述关于生成周期运动的基于非线性动态系统的一个新的CPG概念以及它的有效性。
(3)行走学习控制方法下面将详细描述使更高层元件的多个估计标准能用于行走控制器的学习技术。在该技术框架内,学习行走状态和行走周期的转化。另外,将描述用于生成稳定的行走轨迹,同时实现既稳固又有效的学习技术。根据本发明,通过行走学习控制方法,类人机器人可实现类似于人类的灵巧的行走运动。
下面将按照下列项目描述本发明的一个实施例。
1.关于CPG(中央模式生成器)基本特性的学习应用神经振荡器的两足运动2.行走的基本原理学习人类行走,应用基本运动和自适应3.学习行走控制利用基于模型强化学习的一种两足运动的有效的学习算法B-1.应用神经振荡器的两足运动本发明申请人的根本目标是建立一种可以代替传统的目标ZMP控制方法的非基于模型的两足运动控制方法。基于ZMP标准的传统方法是通过采用控制工程技术以便简化及随后通过分析得到答案形成的很通用的方法。换句话说,它需要为机器人和环境产生精确的设计模型。结果就是,机器人硬件需要高度精确性。另外,数学地得出的机器人运动与人类得行走方式有明显不同。认识到这些问题,本发明申请人根据将在下面描述的从运动生理学、头颅神经科学和计算机获得的知识,研究出一种“实现非常接近人类行走的行走的行走控制方法”。在本章,将关注中央模式生成器(CPG),它是一种存在于生物脊髓中的节律生成器,应用神经振荡器对其进行建模,以理解它的特性并试图将其应用于真实硬件。
B-1-1.中央模式生成器(CPG)特性B-1-1-1.实验证明,生命体在脊髓[1]中具有被称为CPG的节律(rhythm)生成器。频繁引用的示例包括关于七鳃鳗的推动运动的实验,以及关于被切除大脑的猫的行走运动,上述七鳃鳗是一种鳗鱼并且最原始的鱼类之一。后者为驱动猫的实验,那些猫的大脑和脊髓被分割开,让其在脚踏器(treadmill)上走,同时改变脚踏器的速度。已知切除大脑的猫会根据速度改变它们的行走模式。这些实验说明控制猫的行走运动的不是大脑,而是在猫的脊髓中有一种节律生成器,它的操作由某种传感器反馈来调节(例如,接触信息)。
当单独取出脊髓神经时,它表现出动摇不定的刺激,而没有在行走运动中观察到的任何传感器输入。因此,坚定地相信在脊髓神经中存在有节律生成器,其独立于大脑和传感器信息固有地振荡。这种节律生成器被称为CPG(虽然人类是否有CPG仍然是讨论的主题,但从下述报告认为人类身体中存在固有的节律生成器,即报告显示小孩子应用左腿和右腿表现出节律性的步进运动,当被外界暂停,并且成长受到阻碍的人在被向其脊髓施加周期性的电刺激时,表现出改进的恢复效果。)B-1-1-2.通常将Matsuoka的神经振荡器模型用作神经振荡器CPG(见图16)[2]。在图16中,x1、x2、v1、v2是变量,c、β、γ、τ1、τ2为常数,而g是输入、y是输出。因此,振荡的时间常数和输出波形的轮廓由τ1和τ2来确定。注意,时间并不肯定表示在下面的公式中。
τ1x·1=c-x1-βv1-γ[x2]+-Σhj[gj]+]]>τ2v·1=[x1]+-v1]]>τ1x·2=c-x2-βv2-γ[x1]+-Σhj[gj]-]]>τ2v·2=[x2]+-v2]]>youtput=[x1]+-[x2]+参考上述公式,振荡器的波形和频率由τ1和τ2确定。c的值是控制幅值的参数。c作为恒定的输入,确定输出的幅值。由于很难分析性地确定输出,在公式中表示为一个特定的数据值[3]。
神经振荡器以固有频率ωn振荡,ωn由τ1和τ2确定,与输入g无关。如果有具有充分的振幅和频率接近ωn的输入g,输出以恒定的相位关系相对于输入是固定的。换句话说,出现“诱导(entrainment)现象”。这是神经振荡器的最典型的特性。
B-1-1-3.应用DB的实验应用命名为动态大脑(DB)的类人机器人进行实验(1)yoyo(上下移动)运动,(2)(卷簧的)slinky(体态)运动,以定性地理解由CPG引起的诱导。实际上,首先采用DB模拟器将CPG安装到位,由实际机器来验证结果(见图17)。为了模拟yoyo运动,用肘部的垂直往复运动振荡一个具有一个自由度的弹簧质量(spring-mass)系统。利用手腕的力矩作为CPG的输入,肘部的角度用作它的输出(因为将充满水的瓶子作为重量,将橡胶绳作为弹簧,因此涉及非线性)。相比于应用正旋波形来驱动,观察到具有恒定幅值的快速诱导。确认当质量和弹簧常数在一定范围内变化时,发生诱导。也进行继续slinky(其是弹簧玩具)振荡的振荡实验。观察到当手腕力矩的幅值减小时,slinky如何停止振荡,以及它如何适应性地调整自己,以在周期中改变。无论如何,要注意下列项目。
(1)神经振荡器的吸引池(basin of attraction)并不是很宽如参考文献[3]所述,只有在接近神经振荡器的固有频率的范围内才会发生诱导。在yoyo运动的情况下,当质量在200g到500g的范围内(对应于大约固有频率的±20%的差)时,观察到诱导,但在超过这个范围时则很难确保稳定的振荡。换句话说,需要预先进行一定程度的建模。实际上,振荡器的时间常数是预先从弹簧质量系统的固有频率确定的,并定义为参考值。Kotosaka等人为了扩大诱导的范围,采用类似于锁相环(PLL)技术的技术改变了时间常数[4]。
(2)反馈信号的幅值振荡器的输入和输出分别是力矩和关节角。由于要结合不同尺寸的值,因此需要某种标准化。DB的力矩传感器表示偏移和死区,因此不能使用模拟器得到的值。换句话说,要得到相应的值,实验是不可缺少的。当应用肘部的力矩作为反馈信号进行实验时,由于肘部的垂直往复运动而产生的前臂部分的惯性力矩在弹簧减震系统的力的波动中重叠,因此不可能保持振荡器刺激。尽管可通过应用反转动态特性来减少解决这个问题,还是需要精确的模型。也可以通过反馈模拟器上的重叠的绝对速度来进行振荡器实验。尽管由于这种布置完全消除了机体的动态,而能观察到高度稳定的诱导,但由于需要外部传感器,还没有在实际机器上进行实验。
(3)反馈信号的相位尽管可以容易地确定神经振荡器的诱导,但带来了如何形成目标限制周期的问题。在成功的情形下,目标被激励,这可通过“当施加大力矩时抬高肘部”来实现。相反的,如果目标是限制振荡激励,则仅需要反转反馈信号的符号。这可在模拟器上证实。然而,依据任务,可能需要固定相位90,那么应用单一的神经振荡器是不可行的。Miyakoshi等人提出了一种应用四个神经元的自动相位调节机构。
B-1-2 应用于两足运动在本部分中,将简要介绍在先技术,并讨论在控制实际的机器人时带来的问题,以探讨应用神经振荡器的两足运动。
将CPG应用到两足运动起始于Taga[6,7,8]的先驱研究。Taga主张一种观念,称为球形诱导,其与依靠控制工程的关于行走的传统研究相对立。根据传统的工程方法,认为机器人是控制的目标并对其进行建模,以便在开始标称的运动目标轨迹后,控制机器人,将机器人的实际运动与标称的轨迹之间的误差最小化。在环境和那些机器人参数的任何变化都被认为是来自标称状态或外部干扰的诸多误差。从控制方的角度,这些变化被认为是“不希望的,因为它们使机器人离开标称状态”。根据生物进行类推,认为神经系统=控制系统和肌肉骨骼系统=非控制系统的关系为真。换句话说,认为神经系统控制肌肉骨骼系统,并发出指令使对于标称状态的误差达到最小。传送ZMP控制也基于同样的观点。相反,Taga从他的神经生理学发现“神经系统和肌肉骨骼系统被描述为动态的系统,并且在同一层面上互相作用”出发,主张“限制周期吸引物形成在拓扑空间,该空间是由神经系统和肌肉骨骼系统通过节律诱导组合形成,并对应于稳定的柔性行走的产生”。他将该现象称为球形诱导,通过该诱导改变了环境,改变了肌肉骨骼系统和参与行走产生的物理系统和控制系统的所有元件。因此,与传统的控制工程不同,在神经系统和肌肉骨骼系统中不存在明确的主-从关系。如图18所示,在径向(sagittal)平面两足模型的每个关节布置神经振荡器,在其与环境的交互作用下自主产生行走。他也通过仿真表示出在斜坡上如何自主调节步幅,以及通过改变神经系统行动等级(输出力矩幅值和参数稳定输入值c),将行走模式自然的从走变为跑。
同时,盲目地定义一个神经振荡器是不可能生成行走运动的。根据神经生理学,Taga定义了神经振荡器的布置和组合及传感器反馈路径。这里的问题是如何发现这些组合及如何对它们进行加权。从上面描述的DB实验可以看到,尽管很容易形成某种或其它的限制周期,但很难形成任务特有的限制周期。尤其是,当神经振荡器的输入包含所有的肌肉骨骼系统和环境的交互作用时,不可能分析性地解决这个问题。Taga在反复实验的基础上手动调节加权系数。他在参数调整上花费了大量时间。
遵循Taga的主张,Hase等人采用遗传算法[9,10]优化了手动调节。结果是,通过应用Taga提出的反馈路径,有可能自动获得稍微简单的神经结构。从那时开始,Hase等人研究的技术已经成为采用神经振荡器获得行走模式的标准技术。Sato等人应用与Taga[11]的模式相同的模式获得了反馈加权系数,尽管他得到的值与Taga定义的值不同。
总的来说,以前应用神经振荡器在两足运动上的研究维持在仿真水平上。就两足运动而言,由于对地面的反作用力的建模不完美,及一些其它的原因,仿真器的输出与真实硬件的输出互相并不一致。因此,可以安全地假设,上面描述的成就并不能应用到真实的硬件上。这是为什么自从Taga在十多年之前提出他的主张以来,还没有报道过一个成功的实验的主要原因。
Kimura等人所开发的四足机器人提供了采用神经振荡器作为CPG用于真实硬件的行走控制的一个成功的例子(12,13)。他们证明通过独创地将神经振荡器、反射系统、PD伺服系统和状态机结合起来,有可能使机器人在非常不平的地面上行走,尽管让一个常规的机器人完成这样的动作是非常困难的。尤其是,CPG并不驱动关节,而只是根据输出控制腿的相位、伺服增益选择及所发生的状态转变。将传感器信息输入到神经振荡器,以调节腿的相位关系。尽管神经振荡器的输出通常用于指挥相应的关节力矩,但高度的运动性能只是通过离散地控制相位来实现的。尽管Kimura等人没有提供分析性的讨论,许多参数也是在研究中实验性选择的,他们证明了采用CPG控制机器人的潜能。另外,这个机器人表现得非常象有生命的物体。Kimura等人研究的目标是开发出能够应用于真实硬件的CPG控制器。因此,将在下面部分讨论Kimura等人对于两足运动的方法的应用,该应用在实验上得到成功。由于到目前为止,还没有报导过一个应用CPG驱动真实的两足机器人成功的实验,首要的就是直观地实现成功的控制器。
B-1-3.两足运动仿真在这部分,作为应用真实硬件的初级阶段,讨论应用SD/Fast安装在两足仿真器上的不同的控制器,该控制器是由本发明的发明人开发的。首先,将描述模拟器,并讨论安装在模拟器上的控制器。
B-1-3-1.两足模拟器本发明申请人开发的两足模拟器采用通用的动态模拟器,或SD/Fast,用于动态计算。应用躯干、大腿和小腿形成每条腿并且为了简化没有踝关节,并假设踝关节不参与对于行走至关重要的运动,这是从观察当象常规行走一样踩着高跷行走而产生的地面反作用力的分布得出的结论。假设当行走时每条腿的脚趾在一个点上与地面接触,应用的接触模型是简单的弹簧/阻尼器模型。控制周期为1毫秒,指令以力矩的方式发送给每个关节。然而,由于很多硬件机器人配置了PD伺服系统,从装配的角度将PD控制器布置在内部,通过给出位置目标值来控制每条腿的轨迹。假设每条腿的脚趾接触地面,所有的状态变量是可观察的,并且传感器信息没有延迟。
B-1-3-2.状态机首先,为了直观地理解行走运动,将讨论采用状态机的行走。行走运动分为三个状态,如图19所示。注意,为了简化,PD增益在所有的相位中都是固定的。
参考图19,在姿态(stance)1,从移动方向观察,布置在前面的腿(在此后称为“前腿”)以双支撑状态弯曲,从而向前和向后移动重心。前稳定裕度(SM)用作观察前腿负载的指数。由于重心位于充分接近髋关节(基础机体部件)的位置,而大腿和小腿的质量很小,为了简化,采用髋关节在地面的投影点与前腿接触地面点之间的相对距离。定性地,将动态结果与SM合并得到的指数为ZMP的前稳定裕度。
由于继续姿态1的运动,SM落到给定值之下。然后,停止弯曲前腿,开始伸展运动(姿态2)。由于伸展提高了重心,将势能施加到保持行走所必需的随后注入的动能。注意,伸展函数不是以时间,而是以SM来表示。换句话说,如果重心向前和向后快速移动,伸展运动快速进行。在摇摆中,由于从运动方向观察的布置在后腿面的腿(在后面称为“后腿”)因继续姿态1而离开地面,姿态1转变为姿态2。在摇摆腿的轨迹上,髋关节作为SM的函数给出,膝关节作为时间的函数给出。由于大腿的质量相对大,当摇摆腿位于支撑腿前面时,重心移动到稳定侧以实现双支撑状态。从直观上说,快速离开单支撑相位(phase)的行走模式能够很容易引起跌倒情形,并通过移动到双支撑相位来阻止跌倒。可以证实,通过在模拟器上安装控制器使行走得到继续。
上述算法提供如下优越性(1)它可以容易地直观上理解。
(2)由于不涉及基于时间的开环轨迹,它可以自适应(对于相对小的外部干扰)。
(3)它不需要任何复杂的设计模型。
B-1-3-3.状态机+CPG在紧靠前面的部分采用SM和接触信息简单地切换状态。尽管这部分信息可能不会引起模拟器的任何问题,真实的硬件可能由于传感器噪声和其它问题而操作不正确。因此,本发明的发明人试图采用CPG来切换状态。尤其是,通过采用SM位移信号作为输入来诱导CPG,并只应用CPG输出的正或负符号来切换相位。
由于在上一部分中,只应用SM的离散值来切换相位,当在这部分中应用连续的SM值时,该相位估计为稳定的。可以证实当在模拟器上试验时,可以持续行走运动。如果与基于状态机的行走运动相比,这行走运动是平稳的。但是,如果与在紧接前面部分中描述的算法相比,不可能看到包括关于参数波动的稳定性的令人满意的优点。这可能是因为模拟器的干净的环境。
Kimura提出的算法提供一种优越性,即可以估计相位,同时接触信息可有效地反馈给CPG。例如,可另外提供维持机器人姿态的函数特性,用于在一条接触地面的腿处于比所估计的地面水平高的情况下,通过伸展另一条腿(滚动/倾斜紧张反射)来应付这种情况。但是,这种反射系统只在四足动物上是可行的反馈系统,而在没有某种或其它修改的情况下不能适用于两足动物。下面将描述使两足运动得以继续的传感器反馈系统。
B-1-3-4.弹道(ballistic)行走+CPG在很多传统的CPG方法中,神经振荡器布置在每个关节处,关节由力矩输出来驱动。从运动生理学的观点来看,使振荡器输出与有反作用的肌肉相对应是很自然的想法。从机器人工程学的观点来看,这种布置是直接的运动学想法,并不能直观地理解每个神经振荡器的输出是如何反应到整个系统上(例如,重心的高度)。如果机器人在跌倒或者没有跌倒但调整了很多参数,在整个系统的更高的水平例如标准水平来评估神经振荡器是很困难的。从机器人工程学的观点来看,在这种情况下,通常的方法是采用反运动学。换句话说,在笛卡儿坐标系统中,驱动每个振荡器沿X和Z方向振荡。但是,这是完全的工程学方法,因此,并不知道这种方法是否能模拟人类的行走运动。(也存在硬件限制的问题。当在模拟器上实验时,发现实验硬件没有完全的膝力矩,当重心保持在一个固定的高度,并驱动它在移动方向前后移动时,会绊倒)。
因此,我们考虑了类似圆规的两足,在行走时模拟人类,并在直观上是有希望的。两足动物适于将腿的运动分解为从髋关节到相应腿的接触点的线性运动(LM)和围绕髋关节的摇摆运动(SW)(见图20)。
根据Miyakoshi的观点,有可能制造类似圆规的两足动物,当施加适当的初始速度给腿和躯干时,其腿的长度主动移动,而髋关节从动运动,形成一个开环。同样知道,响应这种行走的地面的反作用力类似于人类行走所得到的反作用力。因此,LM的频率大于SW14的三倍。根据这个发现,本发明的发明人为行走的线性运动和摇摆运动的自由度分配CPG。
图21示意性地说明神经振荡器的布置和关联(incidence)数。如此定义参数,即每个CPG的固有频率是这样的,参考在紧靠前面的部分之前部分中描述的行走频率,LM的频率大于SW频率的三倍。然后,使神经振荡器表现稳定振荡,随后输出频率给模拟器模型,该模型被施加一个初始速度。最初,不给CPG反馈,观察机器人的运动。结果是,发现尽管已经调整了参数,机器人在走了大约7步左右后跌倒。在此之后,提供相应于双腿支撑周期中SW的反馈给SW神经振荡器。然后发现,由于SW神经振荡器已被诱导到适当的相位关系中,尽管在线性运动系统中没有清楚的反馈路径,机器人能够继续行走。然而,对于参数改变的敏感性很高。例如,当摇摆角只改变1度时,机器人就跌倒了。特别是,由于很难发现在稳定的基础上施加并产生稳定的限制周期的初始速度,行走的初始阶段的状态是个问题。
B-1-4.在硬件中的应用在这部分中,将在紧接前面部分描述的两足动物仿真的细节应用到真实硬件。通过采用如B-1-3-4中描述的控制器并根据仿真中得到的发现,在实验的基础上调整机器,可实现行走。
B-1-4-1.实验硬件图22示意性地说明在实验硬件中采用的机器人的机器机体的连接部分。由于机器人的行为根据足底的轮廓而改变,改进该机器,使具有不同轮廓的部分,可有选择地安装在除接触点外的足底的位置。另外,可以如此设计机器人,使其增加机械开关,用于观察接触。致动器上采用DC无刷电机,并用于准-直接驱动模式,从而可消除任何因减少齿轮而产生的摩擦和粘滞。
B-1-4-2.步进运动首先,让我们考虑现场中的步进运动。在开始行走之前在现场实现步进运动是应用神经振荡器观察行走的常规的方法15,16
在上面描述的实验硬件的情况下,由于该机器没有任何踝关节,在行走方向张开腿到一个给定的角度,以防止其跌倒。通过产生一个线性运动(LM)来生成倾斜振荡器。反馈路径如图23所示,以继续振荡。对于姿态腿,施加相互抑制到其伸展/收缩侧使继续振荡。在双支撑相位,根据躯干的倾斜在伸展腿的方向调节反馈。尤其是,如果躯干向前倾斜,延伸前腿的支撑腿周期。由于前腿和后腿以如图21所示的方式耦合,采用振荡器生成前/后步进运动。
作为实验性调节参数的结果来进一步确认步进运动。当施加一个外部干扰时,可以证实,通过延长步进周期和支撑腿周期,恢复步进运动。当机器人非常向前倾斜,同时后腿抬起时,由于为保持平衡的传感器反馈只在双腿支撑阶段有效,恢复力矩的量级依赖于足底的外形。
B-1-4-3.CPG+状态机行走运动是由在紧接前面部分中实现的步进运动和摇摆运动结合生成的。应用状态机来切换腿,当后腿为摇摆腿且前稳定裕度落到给定水平之下时,切换前腿的角度目标值和后腿的角度目标值(见图24)。
直观地说,行走运动是通过“当机器人将要跌倒时向前迈步”而实现的。已经证实,当应用真实硬件时机器人能够行走。这时,手动调节神经振荡器的参数、PD增益、LM幅值、SW幅值和稳定裕度的阈值。尽管连续行走的距离根据实验硬件的硬件问题(由于电机过热或其它问题引起的机器特性变化)而变化,机器人通常可行走大约50步(360连续步、行走距离50米、最大行走速度0.4m/s)。另外,机器人可使其自身适应于在地面材料和阻止运动机器人的力的一定程度的变化。
当与摇摆运动相结合,对于步幅和周期自动调节步进运动,机器人象有生命的机体一样移动。这可以是,当CPG路径计划和状态机的路径计划都不明确包含时间时观察到的现象。
B-1-4-4.只有CPG现在,考虑通过采用神经振荡器来驱动腿从而实现摇摆运动(SW)。由于摇摆运动需要与线性运动(LM)相协调,通过转变输出信号的符号(见图25),将LM的输出输入到SW。
在这种结合的情况下,LM与SW之间的相位差为180。SW的频率与LM的频率相等。实验的结果是,发现机器人能够在应用状态机的情况下行走。
然而,如果与应用状态机相比较,很难将机器人从行走的最开始带入稳定状态。这可能是由于SW需要时间来被LM以适当的相位关系诱导。图63表示模拟的结果,图26表示实验的比较结果。由于LM与SW之间的最优相位差限于180,从实际数据可以清楚得出,SW带有相位延迟地被诱导。
接触腿的膝关节也表现出很大的背离,这也是很明显的。这归因于小的增益。从传统的轨迹跟踪控制观点来看,可以认为这是不好的控制特性。然而,也有可能认为机器人在行走,有效地利用虚拟的小增益致动器的弹簧阻尼特性,正如在Kimura等人的四足机器人的情况。通过上述结果,很明显增益对于机器人行走具有显著影响。
图64是表示振荡器的相位变化的相位平面图,上述相位变化是当将左侧髋关节作为物理振荡器(PDF)进行周期运动模拟所得到的结果,图27表示实验的比较结果。通过图表,可以清楚看出在这里形成了限制周期。由于在接触的时刻出现大的角速度改变,很明显,脚尖在接触时并不是以零相对速度接触地面。由于在这里涉及的冲击使机器人的行为不稳定,传统的ZMP技术避免这种冲击。机器人表现出不自然的“蹑手蹑脚”的行走方式。
另一方面,由于它象人类的行走,主动利用脚跟的碰撞以调节行走速度,机器人的脚尖以相对于地面零速度的接触使它的行走表现得接近于人类的行走。对于行走周期,由于神经振荡器的自然行走周期为0.33秒每步,稳定状态的行走周期平均为0.368秒,证明了它是由诱导特性所调节。另外,由于它相对接近人类的行走周期,与后者差8%,这个值可以代表机器人更自然的行走。机器人行走的步幅不必要为常值,可观察到左腿和右腿具有不同的步幅。无论如何,不考虑步幅差别,机器人能够连续行走证明了本算法能够使用,即使机器人表现出步幅差别。现在,考虑通过调节步幅来调节行走速度。
Taga报告机器人的行走步态可通过增加稳定输入值c从走变为跑,上述稳定输入值c改变神经振荡器6的表现(幅值)。c值可从1.8变为3.5,在稳定输入值的范围之外,机器人不能行走。当c值很小时,步幅过分减小,稳定裕度将降低,因此,机器人很容易蹒跚和跌倒。另一方面,当步幅过分增大时,由于摇摆腿接触地面时机器人受到很大冲击,机器人的步态变得不稳定。
机器人行走步态的印象随c值而变化。当c值很小时,机器人行走步态给人优雅的印象,而当c值很大时,给人机器化的印象。因此,c可用来作为表达的手段。
图28为表示稳定输入值c、行走速度/机械能量消耗/移动效率的无次元值与电阻率(specific resistance)之间关系的图表。消耗的能量是从到伺服驱动器的力矩指令值和测量的角速度计算得出,电阻率是通过利用消耗能量和测量的行走速度计算得出。通过增加c值,可能增大步幅并改变行走速度。但是,速度调节的范围是有限的,在这种实验硬件没有任何踝关节的情况下,非常依赖足底的圆弧半径。
当前的算法目的是通过积极利用动态效果使机器人连续行走,并且机器人只在接近机器机体倾斜方向的固有频率的频率范围内能够行走。这一特性是在如“从动动态行走”17示出的、积极利用机器机体的从动动态特性的机器人行走共同的问题。看起来,低行走速度的运动不可缺少地需要利用踝力矩和反馈路径的控制操作。Taga认为在现场单步行走和稳定行走需要不同的结构。
随c值的增加,能量消耗也增大。这是通过确定能量消耗为最小时的电阻率和当c值等于1.8时该电阻率表现为一个很大值发现的。通过应用当前的算法,有可能使腿可动机器人以很高的能量消耗率运动。能量消耗完全机器输出由来确定的,当c=2.05(效率0.7%)时,施加给致动器的电功率为大约340瓦。在针对高效率行走的Spring Flamingo18的情况下,机器输出为5瓦时,电功率为200瓦(效率为2.5%)。因此,尤其在长的电池操作时间方面,首先需要改善硬件特性,从而改善净效率。
通过观察当前算法所实现的行走,可以发现,膝部只弯曲很小的程度。图29是一个示意图,表示对腿部长度/质量所标准化的关节的最大力矩以及采用典型目标ZMP判据所获得的最大力矩进行比较而得到的结果。从图中可以看出施加到膝部的力矩减小到了约1/3。
当前算法的一个最重要的优点就是能够选择一较低的关节增益。当前可用的腿移动机器人之所以必然昂贵的原因就是要选择较大的增益来实现高精度的轨迹追踪。要获得较大增益,就必须满足严格的硬件要求,包括齿轮后冲(backlash)的减少和响应特性的提高。此外,从人-机器人交互作用的观点来看,关节硬度高的状态是非常危险的。基于反射的运动根据环境来变化。因此,机器人对倒下的响应会根据机器人周围的条件而不同。本发明的发明人认为机器人的这一特性问题是使机器人不会干扰人类的一个关键点。
B-2.利用运动学习前向的人类行走学习及其应用已经开发出具有人类特点的机器人,包括SDR(Sony),ASIMO(Honda),HRP(国家高级工业科学技术学院)和H7(东京大学),高水平双足运动的进步是值得注意的。在许多机器人(如前所述)中,通过用ZMP的关节轨迹方法可产生一种行走模式。在采用ZMP作为判据的运动产生算法被证明为实现双足稳定运动的较好的技术的同时,轨迹设计需要对机器人精确建模的操作,需要高精度轨迹追踪控制系统来实现运动。此外,也指出了具有弯曲膝部的行走模式的问题。该行走模式设计用来避免反向运动的异常姿态。
除此以外,还作出了多种尝试采用神经振荡生物刺激的控制算法(如前所述)利用CPG自适应机构产生行走运动。由Matsuoka提出、并通过对屈肌伸肌建模的非线性微分方程而获得的神经振荡已广泛地用作CPG[2],并利用伴有与环境交互作用的诱导特性来控制周期运动。特定的例子包括双足运动控制[19,20],四足运动控制[12],晃动控制[21],振动[4]和slinky(螺旋弹簧)控制[3]。然而,对于设计控制系统仍存在很多问题,包括如何设计振荡器的相互结合,以及调整振荡器参数以便用来实现目标运动的困难。
在本节,注意力放在行走机器人的物理和动态特性上,并描述了设计控制系统的技术,该控制系统可实现机器人自然和平稳的行走运动,从而使它看上去更象人类。本发明的发明人研究了通过模仿来实现类似人类的复杂和平稳运动的运动产生/运动描述算法。本发明的发明人已经提出,通过非线性微分方程和一种通过静态学习技术[22]来迅速学习老师演示运动的运动学习基元,来描述关节轨迹。在本节,通过把律动运动基元和局部加权学习(局部加权回归)[23]用作CPG模型来产生机器人行走运动的操作,学习人类行走运动并适当地比例化需要的运动,该律动运动基元具有在相位振荡器基础上形成的极限环吸引区(attractor)。图30是该操作的示意性概念图。
采用该基元作为CPG的优点包括,它可迅速学习教师的演示运动,该演示运动一般为测量到的人类行走模式的形式,它还易于比例化(scale)所学律动运动的幅度、周期和偏移。在本节,将提出相位复元(resetting),该相位复元采用了来自环境[24]的反馈和行走周期自应用规则,并利用了相位振荡器、机器系统和环境的交互作用产生的诱导;该技术的基础效应将通过数值模拟的方式来进行讨论。
在本节,采用双足机器人作为数值模拟的模型,该机器人具有如图31所示的五个平面段(link)。机器人的总高度为40厘米,机器人的重量为3千克。它采用下表中所列的物理参数来进行数值模拟。


参照图31,假定该机器人在髋关节具有两个致动器,并在每个膝关节还具有两个致动器,且其运动限制在径向面上。在模拟中,机器人的动态方程通过采用SD/FAST[25]来推导出,并利用龙格-库塔法以1微秒的时间间隔求积分,地面的反作用力利用与地面接触的弹簧/阻尼模型来计算。
B-2-1.利用动态运动基元的人类行走学习
B-2-1-1.律动动态运动基元在本节,对本发明发明人提出的动态运动基元(primitive)[22]进行简单描述。运动学习基元适用于通过一非线性微分方程来描述教师的演示运动,并通过静态学习方法迅速学习该运动,以便用来产生机器人的运动。下面将描述周期运动的运动学习基元的形式。
作为基本周期运动模式产生器,让我们假定一极限周期振荡器系统通过由下式表示的极坐标系统(Φ,r)来表示,[公式8]Tφ·=1---Tr·=-μ(r-r0)]]>在上式中,(Φ,r)分别表示振荡器的相位和幅度。τ为时间常数,r0为(相对)目标幅值,同时μ为正常数。上式的相位动态特性也可用以下的公式来表示。应当注意,下式对应于一相位发生器,用来为作为振荡器的机器人的周期运动产生相位信号Φ。
φ·=ω]]>其中ω=def1/T]]>运动学习基元的输出y通过下式来描述,该公式表示了采用相位振荡器的状态(Φ,r)和通过坐标转换所获得作为输入的v(hat)=[rcosΦ,rsinΦ]T的二阶系统动态特性。
TZ·=αZ(βz(ym-y)-Z)]]>Ty·=z+f(V~,φ)]]>在上式中,αz和βz为正常数,ym是输出偏移,同时利用由下式表示的局部线性模型[23],f表示非线性函数近似器(approximater),该局部线性模型由高斯Ψi=exp(-hi(mod(Φ,2π)-ci)2)进行加权。其输出通过计算局部线性模型的加权平均值来获得。
f(V~,φ)=Σi=1NΨiWiTV~Σi=1NΨi]]>在上式中,wi是局部线性模型的一个参数,它在给定示范的轨迹时由局部加权回归来确定,如以下将更详细描述的。
以上两个公式[公式10]和[公式11]描述了机器人的一个周期运动,如通过相位信息Φ的行走运动,并对应于一个控制可移动部分如腿的驱动操作的控制器。通过这样一个控制器,有可能只需简单选择参数值就可连续轻松地改变幅值、同步性、偏移等等。
图32是对运动的学习轨迹作出改变的示意图,表示了在本节所述的运动学习基元的特征特性。通过改变参数r0、τ(=1/ω)和Ym,可以轻松地改变学习运动的幅值、周期以及偏移量。本发明的发明人在一个实验中证明了该运动学习基元的有效性,在该实验,模拟人的机器人DB受驱动画出数字8并学习打鼓运动[22]。
B-2-1-2.利用运动学习基元的双足机器人控制系统图33是表示根据本发明机器人一个实施例的控制系统的示意和概念图。如B-2-1-1中所述,一运动学习基元用作CPG模型,输出用于机器人的目标关节轨迹θdes。这里,运动学习基元用来产生每个关节(i=1-4)的目标轨迹。一个局部PD控制器用来控制机器人每个关节的关节角度。触地(touchdown)信息从机器人反馈到CPG用来进行相位复原[24],并更新振荡器的固有频率。
在本节,将要描述将接触腿的振荡器的相位减小到Φ=0的操作,以及在接触时,将另一腿的振荡器的相位减小到Φ=π的操作,以作为相位复原。在B-2-4中将详细描述用来更新每个振荡器的固有频率以使其适应行走周期的规则。在本节的后面将详细讨论相位复原。
B-2-1-3.学习人类的行走模式行走数据在本节,采用了一位行人的关节角度数据(男性,29岁,身高176cm,体重83.5公斤,右髋关节和右膝关节)[26]。在将来,会收集各种条件的数据以供学习。图34的左图表示从所收集数据中获得的关节角度,图34的右图表示从右腿的一次接触到下一次接触期间关节的角度。在下一节将描述的学习过程中,周期的轨迹重复20次,所获得的周期轨迹用作学习数据。图34的行走数据只是用作方便的目的,还希望在通过实际观察人类的行走来获得行走数据时,可获得足够大量周期的数据。从数据中,通过借助于离散FFT获得能谱和自相关,来估计出周期T=1.17秒,频率f=1/T=0.855Hz。
局部加权学习将要讨论在从人类范例性运动中获得关节轨迹ydemo时,通过采用上式[公式10]中的学习参数wi来确定局部加权学习的技术[23],该公式对应一控制器。
假定给出了在一给定时间t的数据点或数据点(ftarget,v(hat))。
ftarget=y·demo-βz(ym-ydemo)]]>此时,学习参数wi通过局部加权回归[23]顺序更新。
wit+1=wit+Pit+1v~ei]]>其中[公式14]Pit+1=1λ(Pit-Pitv~v~TPitλΨi+v~TPitv~),ei=ftarget-wiTv~]]>其中λ∈
是遗忘系数。为了学习,有可能通过使局部模型的数字和排列相加,并在在线基础上优化局部模型的相关区域,来近似出具有期望近似精度水平的未知的这似值目标,而无需预先确定函数近似器的结构,。
图35表示了运动学习基元的学习人类行走轨迹的一些结果的示意图。由于在以下所述的模拟中只收集了右腿的数据,分别对应右髋关节(R_HIP)和右膝关节(R_KNEE)的学习参数根据右髋关节和右膝关节的数据来确定。于是,通过采用分别对应左髋关节(L_HIP)和左膝关节(L_KNEE)的右髋关节和右膝关节学习参数,并把左振荡器的相位从右振荡器的相位移动π[弧度],产生了一目标行走轨迹。
B-2-1-4.数值模拟参数值选择在数值模拟中,为运动学习基元、PD控制器以及以下表中所示的内容选择参数值 当前,上述参数值通过模拟经验确定。然而,这些参数的物理意义对于周期和幅度来说却是原本就直观的,因此如果与其他CPG模型相比,它们相对更容易调节。在本节所述的模拟中,振荡器的周期逐步移动,从行走开始到第二步等于1.5秒(根据角频率ω=4.19弧度/秒),从第三步到第九步等于1.2秒(根据角频率ω=5.24弧度/秒),从第十步向上为1.0秒(据角频率ω=6.28弧度/秒)。这些值经验化获得。在以下描述中,将讨论采用诱导现象的行走周期的自适应规则,以及通过应用自适应规则所获结果而获得比例化周期的规则。
模拟结果在模拟中,设计器产生了从两腿并排放在地面上的状态到作第一步行走的轨迹。图36表示了对于t=0到20,具有行走学习基元输出的目标关节轨迹和机器人关节轨迹。图37是表示机器人左腿的目标关节轨迹、关节轨迹、以及在两个行走周期(四步)腿部的接触时间的示意图。图38表示关节力矩指令值的示意图。髋关节的指令速度和膝关节的指令速度分别在-3.12到2.22弧度/秒和-6.09到5.23弧度/秒的范围内。
在时间t=11.2到11.6秒时,从膝关节的力矩指令值可以看出,实际上不需要力矩来使膝部摆动。根据这一发现可以想到,膝部以下关节的摆动可以通过大腿关节的摇摆运动而从动地实现。图39是表示机器人如何在稳定状态下行走的示意图。在两个相邻帧之间的时间间隔为66毫秒。
B-2-2.采用相位振荡器诱导的行走周期自适应B-2-2-1.耦合相位振荡器通过诱导的同步通过相差反馈的诱导首先,将讨论一耦合相位振荡器系统通过相差反馈诱导的同步[27]。让我们考虑如图40所示的两个耦合相位振荡器的动态特性。下式对应一相位发生器,该发生器产生与机器人两个可移动部分的周期运动相关的相位信息Φ1和Φ2。
φ·1=ω1+K1(φ2-φ1)]]>φ·2=ω2+K2(φ1-φ2)]]>当相差Ψ定义成Ψ=Φ2-Φ1时,时间微分用下式来表示[公式16]ψ·=(ω2-ω1)-(K1+K2)ψ]]>于是,平衡点Ψ*由下式定义[公式17]ψ*=ω2-ω1K1+K2]]>每个振荡器的频率由如下式所定义的方式诱导[公式18]ω*=K2ω1+K1ω2K1+K2]]>因此,可以看出,作为每个振荡器诱导的结果,振荡器以渐进同步的方式振荡,频率ω*=(K2ω1+k1ω2)/(K1+K2),相差Ψ=Φ2-Φ=(ω2-ω1)/(K1+K2)。
通过固有频率适应的目标相差的实现在上述相位振荡器的情况下,如果振荡器的固有频率ω1和ω2被固定,它们以同步方式振荡,作为诱导的结果,相差Ψ=Φ2-Φ1=(ω2-ω1)/(K1+K2)。如果ω1=ω2,显而易见振荡器以相差0振荡。因此,让我们在此考虑如下式所示地引入更新固有频率的动态特性,并渐进地使ω1→ω2,以通过诱导的频率一致和0相差来实现同步。
φ·1(t)=ω1(t)+K1(φ2(t)-φ1(t))]]>ω·1(t)=-K(ω2-ω1(t))]]>φ·2(t)=ω2+K2(φ1(t)-φ2(t))]]>因此,由于ω1→ω2渐进地发生,实现了相差Ψ=Φ2-Φ→0。
B-2-2-2.行走周期的自适应规则在本节,将讨论利用运动学习基元,把上述诱导耦合相位振荡器应用到行走控制中行走周期的自适应控制。如图30所示,本实施例的控制系统被看作是采用运动学习基元的CPG和机器系统振荡器(机器人)的结合。
对于采用正弦合成波的目标关节轨迹的产生,本发明的发明人考虑通过下式,利用机器人每一步所测量到的时间来更新模式产生器的频率。
ω^n+1=ω^n+K(ωmeasuredn-ω^n)]]>相位估计器处理测量到的相位值ωn,其基于状态量V作为估计相位值。然而,要注意使下式保持成立。
ωmeasuredn=πTmeasuredn]]>测得的Tn定义为机器人在第n步走出一步所需的时间(振荡器的半个周期)。从在B-2-2-1所述的相位振荡器动态特性的角度来看,这恰好是前面的公式[公式19]的离散形式。然而,由于只更新频率就不存在相差的反馈,显然,上述设计对于通过诱导实现预期的相差是不够的。因此,在本实施例中,由下式所表示的自适应规则将被引入到运动学习基元(相位发生器)中,从而根据B-2-2-1的描述,通过在接触时的“相位复原”,进一步离散地反馈相差。通过相位复原,可以提高和稳定在行走或一些其他运动中的瞬态特性(以下将更具体地描述)。以下方程对应一相位发生器的更新规则,用来根据由相位估计器估计的相位和角度频率来更新相位信号。
φ·=ω^n+δ(t-theelstrike)(φheelstrikerobot-φ)]]>ω^n+1=ω^n+K(ωmeasuredn-ω^n)]]>在上式中,n是迈步的数量,Φrobottheelstrike是在接触时机器系统振荡器(机器人)的相位。更具体地,相位复原相对于基元(相位发生器)定义,以便在该腿的接触时间Φrobottheelstrike=0,而另一腿的接触时间Φrobottheelstrike=π。通过对B-2-2-1的相位振荡器动态特性的分析,规则的关系显示出实现了预期的同步,从而实现相位振荡器和机器系统振荡器的行走。同时ω在本节离散地更新,还可以引入如下式所定义的自适应规则来连续地更新ω,并考虑了相位反馈的增益。

φ·=ω+K1δ(t-theelstrike)(φheelstrikerobot-φ)]]>ω·=K2(ωmeasuredn-ω)]]>B2-2-3.数值模拟本节将要对前一节中所述的行走周期的自适应规则进行模拟。对于角频率ω的初始值选择了4.78弧度/秒(振荡器周期1.5秒)的值。图41表示了在选择关联数K=0.2,0.5和0.8时,一些行走模拟结果的示意图。在图41,左图表示走一步需要的时间,而右图表示角频率ω的更新值。从图41中很清楚,行走周期的自适应通过CPG和机器系统的交互诱导来实现。
B-2-3.运动定标的讨论设计者根据经验标度了行走周期,从而实现在B-2-2-3所述模拟中机器人的行走。然而,如B-2-2-2所述,对于机器人物理特性所希望的行走周期可以通过利用诱导现象来获得,从而使CPG和机器系统以同步的方式操作,而无需清楚给出目标周期。因此,在本节要讨论测得的人类行走周期和作为自适应结果获得的机器人行走周期之间的关系。
假定一行人的摆腿向前摆动一次,让我们来考虑图4所示的两个具有不同长度的单个摆体的运动。众所周知,假定为线性动态的摆体运动由下式所表示。
θ··+glθ=0]]>接着,固有频率ω由下面的公式表示[公式25]ω=gl]]>因此,当人类行走的频率ωhuman,人类腿部的长度lhuman,以及机器人腿部长度lrobot给定后,预期的机器人频率ωrobot可通过下式在单个摆体频率的比率基础上估计出来。
ω^robot=ωhumanlhumanlrobot]]>接着,下面将讨论在B-2-2-2的模拟中人类行走数据和通过自适应获得的机器人行走周期之间的关系。
在参考文献[26]中包含的行走数据是身高176cm、年龄为29岁的男子的行走数据。从人类解剖学已知,腿的长度占人体身高的约49%[28]。因此,在此假定人的腿部长度为lhuman=1.76×0.49=0.86m。由于机器人的腿部长度为lrobot=0.4m,可以在上述公式[公式26]标度的规则的基础上,利用下式,来估计行走频率和机器人走一步所需要的时间。
行走频率ω^robot=7.87rad/s]]>(弧度/秒)每一步所需时间0.399sec(秒)作为机器人模拟的结果,利用B-2-2-2的自适应规则,获得以下所示的近似公式(对于K=0.2,0.5和0.8在第90步到第100步之间的平均值)。
行走频率ω^robot=8.120rad/s]]>每一步所需时间0.387sec上述结果表示了在估计值和通过模拟获得的各自对应值之间的误差约为3%,并且可以在上述公式[公式26]的频率定标规则的基础上计算预期的机器人行走周期。
接着,将通过模拟来表示,相位复原对于行走针对外部干扰的鲁棒性是有效的。在该模拟中,外部推力在0.1秒内的各个时间点作为外部干扰向前或向后施加到行走机器人上,来观察机器人抵抗外部力而不摔倒可以持续多长时间,该外部力是变化的。更具体地,观察了行走机器人可承受外部干扰的大小以及在0和2π之间的每个相位Φ(以0.1弧度的间隔)的继续行走。图65表示了涉及相位复原的测试值和不涉及相位复原的测试值相比较的示意图。图66A和66B表示了-2.0N的外部力作为外部干扰、以Φ=2.0弧度(用2.0N的力推动机器人向后)施加0.1秒的响应例子。图66A表示涉及相位复原的例子,而图66B表示不涉及相位复原的例子。根据所获结果,可以看出相位复元对于提高机器人针对外部干扰的鲁棒性是有效的。
B-2-4.对于分布式相位发生器的相位复原根据本发明,定义了一种机器人,该机器人被看作是表现出周期运动和产生相位信号的相位发生器的一物理振荡器。如果发现多个独立展现出各周期运动的可移动部分(如,左腿和右腿,腿和躯干的结合部等),则为上述各个可移动部分的每一个定义多个相位发生器,参见图6到图10。
另一方面,尽管为了实现类似于生命体运动的机器运动的目的,神经振荡器(CPG)、从动动态特性、状态机、强化学习、优化和动能约束可用来替代ZMP,但要建立一种可覆盖所有非线性动态系统(不基于数学原理的系统)的实际设计理论是很困难的。
这样,通过相位响应曲线或相位复原曲线来描述多个分布式神经振荡器和物理世界的交互作用的、用来设计机器人的想法是可行的。由于处理相位振荡器是唯一必需的,因而,当物理世界设定为一部分时,只需要对于一离散动态系统解析地获得用于建立稳定周期的解。这样,最终结果就很简单了。尽管整个系统是一混和控制系统,通过相位复原对来自物理世界反馈的近似,就可得到简化。相反地,对于针对物理世界的神经振荡器的行为,信息的连续流通过采用目标轨迹局部反馈的增益、力矩、对肌肉的运动指令、刚度、以及目标轨迹的偏离中的至少部分来设定。至于振荡器对相位的影响,将在一个周期内执行两次或三次相位复原操作,如果可能的话只执行一次单独的相位复原操作。
至于分布式设置的相位发生器的相互同步,尽管可以通过稳定变量的扩散和/或涉及一正弦函数相差的连续动态系统等来设计它,从设计和实现不同相差(门电路)能够获得较好前景的角度看,最好还是通过相位响应曲线来设计。
当通过实际证明否定了无需刺激而产生一律动运动的CPG的存在时,由反射学建立者Sherington确定的一系列刺激→响应→刺激→响应所导致的复杂行为(包括行走)的描述得到了简化。例如,据说一竹节虫(七段)就是基于这一原理行走的,CPG通过感观的输入得到修改。尽管状态机没有正面地采用任何振荡器,但是,通过进一步粗略地观察振荡器相位,将其分成少量的区域,并只观注仅在一定相位范围驱动的运动系统的上-下型运动程序,振荡器就可以被描述出来。于是,可以有把握地说,在词语的负面意义上,相位振荡器就设立于状态机的背景下。根据本发明设计一机器人的原理本质上就在于系统化地把状态机缩减为相位振荡器和相位复原。
图43为相位振荡器和相位复原机构的示意图。在所举例子中,对应一相位发生器和物理振荡器P的神经振荡器N包括检测可移动部分的传感器,其状态量取自状态机,它可以是一腿部移动的机器人。神经振荡器N连续地提供相位信息Φ和/或基于相位信息的控制输出U。另一方面,物理振荡器P提供相位复原信息。
本发明的发明人考虑了通过一连续的交互作用、或通过对某一连续交互作用的近似,来对相位发生器进行相位复原。理由如下。可以断定,行走通过离散的现象,包括接触、站立和摆动来实现。就离散地复原相位并连续地控制轨迹、力量和刚性的混和控制而言,当涉及拓扑上相同的开或闭运动链,并注意到离散过程(接触)、离散地复原相位(因而多个程序)时,从非线性动态系统的角度看,应用连续控制规则是合理的,这些连续控制规则就实质而言是相同的。
在行走运动中腿部的相位是以这样的方式离散估计的,即通过利用如上B-2-2所述的足底的转换(switch),使一腿接触的相位Φ=0,而另一腿接触的相位是Φ=π。图44为利用双腿移动机器人足底转换的相位估计机构。在所示例子中,每次当抬起或接触动作由左腿和右腿足底开关之一所检测到时,相位就复原。更具体地,在每个周期,左腿和右腿轮流保持站立和摆动,该周期被重复。由于接触信息比抬起信息表现出更高程度的置信度,因此前者更适合用于相位复原的计时。
然而,仅仅通过足底的转换(switch)来估计一离散过程(相位)是不够精确灵敏的。换句话说,通过不仅利用足底的转换而且利用其他各种状态量来估计相位,置信度才可以得到提高。考虑到置信度,希望通过前馈神经网络来估计相位,以便在置信度高、条件严格的情况下进行相位复原。值得希望的是,小脑具有相位估计器(前向模型)和相位复原器(反向模型)。
图45是通过连续交互作用复原相位的机构的示意图。从机器人的机器机体上可以看到多个表现出独立周期运动的可移动部分。神经振荡器N1、N2、N3、N4定义为机器人每个身体部件的相位发生器。
相位发生器N1、N2、N3、N4输出相位信息给下层控制器C,即物理振荡器。接着,控制器C产生控制信息,并根据相位信息将控制信息输出给相应的可移动部分。
在示例的控制机构中,每个相位发生器都设置了一相位前馈模型(即相位估计器)。这样,随着可移动部分的状态量得到检测,就可在状态量的基础上估计可移动部分的周期运动的相位或角频率。接着,估计值送回到相位发生器N1、N2、N3、N4,相位发生器再接着根据预定的更新规则,利用估计的相位或角频率来更新相位信号。
下面将讨论图44所示的控制机构的操作顺序。
(1)作为相位发生器操作的神经振荡器N切换下层控制器C,该下层控制器控制了驱动可移动部分的操作。
(2)作为相位发生器操作的神经振荡器N的相位根据物理振荡器的可移动部分的单个相位(或多个相位)来复原。
(3)通过利用相位响应曲线、根据周期-相位物理系统中神经振荡器的行为使相位生成器彼此同步。相位响应曲线将在下一节中更具体的描述。
(4)利用相位估计的前馈模型来进行相位复原。
B-2-5.利用相位响应曲线的相位发生器的更新规则相位发生器的更新规则通过利用相位响应曲线(PRC),或相位复原曲线,可靠地设计用来产生一易于直观理解形式的稳定周期解。
一相位响应曲线根据对产生生命体协调的律动现象(如睡眠和清醒的周期,人类的手指敲击)的观察,来表示外部刺激和振荡器相位改变之间的关系。例如,如果外部干扰在短时期内按周期运动施加到摆体,在长时间过去之后,如果外部干扰不是很显著,摆体会恢复同一周期的原始运动。尽管作为收敛结果而获得的运动可具有与外部干扰之前的原始运动周期相同的周期,还是有可能产生相移。相位响应曲线(PRC)是图中的一曲线,其中水平轴表示外部干扰施加的时间,纵轴表示产生的相移(向前或向后)。
让我们来考虑图46所示的相位响应曲线作为例子。如果相位发生器产生的相位信号为Φk,则当一信号从相位估计器输入时,产生ΔΦk的相移。接着,让我们通过设计一能够有效利用机器人机器机体动态特性的相位反应曲线,来依照外部律动,产生一希望的周期运动。可利用强化学习的框架来设计这样一个PRC。
在此假定相位估计器每周期离散地产生一输出。更具体地,当机器人右腿接触时,它输出一信号。接着,让我们考虑利用相位响应曲线更新规则,用来离散地执行相移ΔΦk。为了简化的目的,在此假定频率ω没有更新。换句话说,TP和TN各自为常值。
图47是一诱导微分方程的示意图,其中TN是相位发生器的固有周期,TP是执行周期运动的机器人可移动部分的固有周期,同时Φ是用作相位发生器的神经振荡器的相位,Δ(Φ)是相位发生器的相位响应曲线(在向前移动时其符号为正),而Φk则是在第K个采样时期,脉冲由物理振荡器产生时,神经振荡器的相位。
根据图47和以下的公式(1)和(2),在相位估计器利用相位响应曲线PRC,对于相位调节后产生的新相位产生下一输出时,相位Φk+1通过以下的公式(3)来表示。对于稳定周期运动,在充足的时间过去后,相位产生器的输出和来自相位估计器的输入表现出某种固定的相位关系是必需的。因此,在公式(3)中,Φk+1=Φk。因此,如公式(4)所表示的,获得了一平衡点。
旧相位φk(1)新相位φk+Δ(φk) (2)φk+1=φk+Δ(φk)+TP-TNTN---(3)]]>平衡点Δ(φk)=TN-TPTN---(4)]]>TN>TP需要相位超前TN<TP需要相位延迟通过利用相位响应曲线PRC,就可能在曲线上获得静态求解的稳定性。图48表示了一相位响应曲线上所示的上述公式(4)。如所示的,公式和曲线的相交点表示收敛后的相移。如果相位响应曲线的梯度为负,相交点就是表示静态周期解存在的稳态平衡点。另一方面,如果相位响应曲线的梯度为正,则由于相位发散而不存在稳态解。因此,通过设计这样一条相位响应曲线,可能很容易在曲线上保证静态周期解的存在。
利用相位响应曲线的设计可以应用到一组相位发生器中。图49是利用两个相位发生器之间相互离散的信号的诱导的示意图。
对于互导(mutual entrainment)的微分方程用以下的公式(5)到(7)表示。图50表示了互导的微分方程的示意图。如图50所示,可以根据曲线确定稳定性。因此,通过利用一相位响应曲线,可以根据曲线来轻而易举地在一组相位发生器中获得静态周期解。

φk+1=T2T1-1+φk+Δ1(φk)-T2T1Δ2[T1T2{1-φk-Δ1(φk)}]]]>B-2-6.利用一神经网络的相位估计器在上述实施例中,足底的转换被用来离散地估计在行走运动中例如一条腿接触的相位Φ=0,另一条腿接触的相位Φ=π。然而,仅靠足底的转换来估计离散过程(相位)是不够灵敏精确的。换句话说,通过不仅利用足底的转换而且利用其他各种状态量来估计相位,稳定的程度才可以得到提高。在本节,将描述利用神经网络的相位估计器的一般构造。
一神经网络构造成在传感器读数v的基础上输出估计的相位值Φ’。作为例子,采用下式所示的线性模型。
φ′=Σi=1nwibi(v)]]>在上式中,wi是第i个网络的负载(参数),而bi()是第i个基础函数。例如,可采用下式表示的径向基础函数。在下式中,n是基础函数的数量。
bi(v)=exp(-(V-Vi)TD(V-Vi))在上式中,vi是第i个基础函数的中心值,D是确定该基础函数的大小的参数。
接着,让我们考虑利用神经网络的输出,由下式所表示的正态分布所实现的概率模型。
P(φ|V)=12πσ2exp{-(φ-φ′)22σ2}]]>在上式中,σ2表示方差。通过采用上式对于当前相位可获得一概率模型。这样,如果Φa<Φ<Φb且P(Φ|V)>a成立,就可以切换一控制器。在上述表达式中,Φa和Φb表示切换控制器的相位,a表示阈值。
还可以利用概率模型并通过Bayes(贝叶斯)估计来构造一相位估计器。
首先,作为例子,相位的先验概率通过下式所表达的正态分布来表示。
p(φ)=12πσ02exp{-(φ-φ0)22σ02}]]>在上式中,Φ0是来自相位输出单元的平均相位输出,σ2是其方差。此外,当相位给定时所预测的传感器读数的概率模型由下面的公式来表示。
P(V|φ)=1(2π)d/2|Σ|1/2exp{-12(V-V′(φ))TΣ-1(V-V′(φ))}]]>在上式中,V’(Φ)是输出来自当前相位的读数的函数,∑是读数的协方差矩阵。接着,通过Bayes估计获得下式。
P(φ|V)=P(V|φ)P(φ)P(V)]]>因此,如果Φa<Φ<Φb且P(Φ|V)>a成立,例如,就可切换一控制器。在上述表达式中,Φa和Φb表示切换控制器的相位,a表示阈值。
还可以采用一混和分布来作为表达更复杂概率分布的技术。
B-3.利用基于模型的强化学习的双足运动有效学习算法为了理解人类的行走学习机制,并通过学习算法的过程实现有效行走,本节将描述双足机器人的学习算法。尽管行走运动可表达为一项向前迈步进入下一步而不会跌倒的任务,获得教师的轨迹从而产生一稳定的行走却常常是不容易的。因此,在本实施例中,强化学习用来作为学习的框架。
B-3-1.双足机器人在本节将处理通过支撑柱(rod)限定在两维平面上的一个五段机器人(见图51)。由于采用了直接驱动型电机作为致动器,改进的真实机器人具有高水平的背后操作性能。在下表中列出了机器人的识别的物理参数。


要处理双足运动的问题,在地面(floor)和足底之间的接触/碰撞是一个问题。在改进的模拟器中采用的碰撞模型由下式表示。

Fx=kx(xg-x)-bxx·,Fz=kz(zg-z)-bzz·(ifz<zg)]]>Fx=0,Fz=0(if z≥zg)在上式中,Fx和Fz分别代表在地面水平方向的反作用力和垂直方向的反作用力,x、z分别代表足尖的水平位置和垂直位置,同时xg表示足尖的接触点,zg表示足尖的高度。一弹簧阻尼器模型用来表示地面的反作用力。kx=3000的位置增益和bx=30的速度增益用于水平方向,而kz=500的位置增益和bz=100的速度增益用于垂直方向。对于水平地面接触模型,当Fx>cFz时,采用xg=x,其中c=1.0,是静态摩擦系数。
B-3-2.实现采用状态机的真实机器人的双足运动在本节将讨论提供学习算法基础的技术。作为最初的尝试,一种采用状态机[29]的方法被应用到真实机器人中(见图51),其中该状态机已作为建立行走控制器的技术获得了良好的效果。
B-3-2-1.状态转换图对于采用状态机的方法,定义转换的状态和条件是必需的。状态和条件的定义通过模拟和实际硬件来实验性地提供。图52是一真实机器人的状态转换示意图。
参照图52,状态1是双足支撑状态。随着摆腿从地面举起,转换发生,产生状态2。状态2是摆腿向前摆动的状态。随着摆腿的足尖通过支撑腿移动,转换发生,产生状态3。状态3是摆腿伸伸展的状态。随着上身在支撑腿上移动,转换发生,产生状态4。状态4是轻微弯曲的支撑腿膝部伸开、踢到地面,从而注入能量的状态。随着摆腿接触,转换发生,回到状态1。通过这种方式,左腿和右腿轮流作为支撑腿和摆腿动作。
B-3-2-2.试验结果图53表示了通过试验获得的表示行走中关节角度轨迹的曲线,图54表示了通过试验获得的表示输出力矩轨迹的曲线。图55是记录的行走模式的示意图,该行走模式通过采用真实的硬件所获得(真实机器人的行走模式,(左栏)左腿为支撑腿,(右栏);右腿为支撑腿,行走过程从上到下)。
B-3-3.行走周期的估计在刚刚的上一节里描述了采用状态机的动态双足运动。然而,采用相同参数的状态机可能无法处理环境中的改变。在本节将讨论行走控制器的环境适应能力。
图56是采用了猫的动物试验的示意图。图56左侧示意图表示了猫的行走配合试验。只有向左的踏步可改变其速度。图56的右侧示意图表示了小脑的模型和CPG。在该示意图中,CF表示攀缘纤维。CF从CPG接收反馈。该试验表明,小脑参与了中央模式发生器(CPG)[30]的参数的改变。可以相信,大脑的学习一般是监控的学习,其采用攀缘纤维[31]所发送的误差信号。有报告显示,在需要改变CPG参数[30]的适应性试验中,攀缘纤维的触发频率显著上升。考虑到以上知识,可以有把握的说,问题在于获得某些类型的误差信号,用来通过行走对象和周围环境的交互作用来改变CPG参数。
尽管不清楚实际涉及什么样的误差信号,本发明的发明人想到了通过行走周期来检测误差的方法。让我们通过采用周围环境信息来使行走轨迹发生器的行走周期适应于主题的动态系统。用来实现目标行走周期的角频率ω*可从实际行走所需的周期中导出,从而获得下式。
ω*=πT]]>这样,误差信号就可用下式来表示。
E=ω*-ω^n]]>在上式中,ωn是第n步估计的角频率。这样,角频率的更新规则可由下式表示。
ωΛn+1=ωΛn+K(ω*-ωΛ)]]>如图57所示的具有简单三段结构的双足机器人模型用来验证上述技术。使所用的控制器跟踪如下式所示的周期目标轨迹。
Tl=k(asinφ-θl)-bθ·l]]>Tr=k(-asinφ-θr)-bθ·r]]>在上式中,τ1和τr分别是施加到左腿的力矩和施加到右腿的力矩,k=5.0和b=0.1分别是位置增益和速度增益,同时θ1和θr分别是左腿的角度和右腿的角度。估计的当前相位由Φ=ω(hat)t所示,其中t是当前时钟时间。
B-3-3-1.模拟结果首先,对于行走周期未估计的情况通过模拟进行试验。对于在平坦的地面(坡度角=0)上易于行走的行走周期,给定了适当的初始条件(在移动方向上的初始速度0.2[米/秒]),并选择了初始值(T=0.42[秒],ω0=15[弧度/秒])。当机器人行走在上坡(3度),接着再下坡(4度)的时候,在每个斜坡上行走10步之前,它就绊跌并倒下了。
另一方面,在估计了行走周期时,机器人就能在上述斜坡上持续行走。然而,要注意,在行走周期已经估计时,上述坡度角表示机器人持续行走的限度。当坡度角超过了上述各限度,机器人就不能仅靠估计行走周期应付这些斜坡。
B-3-4.通过采用强化学习来获得行走运动由上所述,可以看出通过使周期行走轨迹与环境动态系统的计时相匹配,就可获得稳定的行走。然而,没有手段修改行走轨迹。在本节将要讨论一种对于机器人在原始给定的行走轨迹下无法稳定行走的情况,通过采用强化学习的框架、学习能使机器人行走的轨迹的方法。在此,一种类似于B-3-2节所述状态机框架的框架用于提出的模型。此外,由于根据相位给定了转换条件,前一节所述的估计行走周期的方法也是可用的。
通过本节提出的技术,在行走轨迹中,在两个poincare部分上(相位Φ=π/2,Φ=3π/2)实现参数更新和行为确定。如图58所示,行走轨迹通过四个中间姿态(路径点)(只在相位Φ=π/2,Φ=3π/2处的poincare部分上实现参数更新和行为选择)来表示。然而,应该注意,由于横向对称,只需要确定两个中间姿态。这一框架表示了状态的状态转换条件是通过相位来确定的(如图58所示,状态转换的进行发生在相位Φ=0,Φ=π/2,Φ=π和Φ=3π/2上)。对于状态转换条件,还提出了采用Matsuoka振荡器[2]输出的技术作为类似的框架,并成功应用于四足机器人[32]中。提出的技术被看作是一种采用了四个作为路径点[33]的中间姿态的轨迹产生方法。
接着,将通过采用模型来设计学习技术。使学习器官的输入x的状态包括来自支撑腿的足尖和加速部件的上身的位移。图59是学习状态的定义(左)和行为的定义(右)的示意图。简短来说,这里采用了对应于倒摆的状态表述,该倒摆采用支撑腿作为支撑点。如图59所示,学习器官的输出是摆腿的膝关节的目标角度,它对应于摆腿接触点的选择。
B-3-4-1.基于模型的强化学习方法本节将简单描述利用一模型[34,35]的强化学习。如果控制对象模型已知,它就可用于强化学习。然而,在此假定这种模型是未知的。那么,就必须了解控制对象的模型。因而,这里首先将描述了解一模型的方法。
模型学习在监控学习的框架内可获得一控制对象的模型。通过利用本实施例的技术来了解一动态模型意味着获得从相位π/2到相位3π/2的映射状态x(由于对称,同样是从Φ=3π/2到相位Φ=π/2)。离散时间动态特性用如下所示的方式来表述。让我们利用一函数近似器来考虑近似。
X3π2=f(Xπ2,uπ2)]]>换句话说,采用了一种由以下公式所表述的、具有参数m的函数近似器来估计动态特性。如下所示的在一离散时间上的状态可用于一训练信号。
f^(Xπ2,uπ2)=f^(Xπ2,uπ2;m)]]>学习一值函数强化学习的目的是要获得一行为规则,最大化(或最小化)通过一系列行为在各时间所接受的奖励(或惩罚)之和。换句话说,如果在时间T接受的奖励是r(T),则更新行为规则,以最大化由下式定义的累积奖励的预期值(称为值函数),其中γ(0≤γ≤1)表示折减(discount)率。
V(x(T))=E[r(T+1)+γr(T+2)+γ2r(T+3)+...]这里的问题是,如何用它来通过学习和更新行为规则的方式估计值函数。
在此,让我们考虑用下式,通过采用一连续函数的函数近似器来近似值函数。
V^(x)=V^(x;V)]]>在上式中,v代表函数近似器的参数向量。来自奖励和满足以上公式[公式44]的值函数之间关系的偏差通过下式表示,并称为时间差分(temporaldifference)误差(TD误差)。

δ(T)=r(T+1)+γV^(T+1)-V^(T)]]>值函数利用上述误差,按照下式所述的方式来更新。然而,注意β=0.2是学习速率,它必须定义为参数。
V^(x(T))←V^(x(T))+βδ(T)]]>学习行为规则估计模型和值函数用来更新行为规则。更新行为规则的过程如下所示。
(1)利用当前行为规则和估计模型来估计下一时钟时间(相位)的状态。
(2)计算在下一时钟时间(相位),状态的值函数的梯度V/x。
(3)计算在下一时钟时间(相位),状态的模型输入的梯度f/u。
(4)尽管希望更新行为规则以便使状态向值函数梯度V/x的转化得以发生,但通过控制输入,在一步的离散时间内发生这样的转换是不可能的。因此,在使控制输入通过模型输入的梯度f/u来进行该操作的方向上,执行映射操作。换句话说,在V/x·f/u的方向上更新行为规则。
u(x(T))←u(x(T))+α∂V∂x∂f∂u]]>在上式中,α=0.2,是学习速率,它被定义为参数。
作为函数近似器,采用了相应场加权回归(RFWR)[23]。
试验结果上述技术用于如图51所示的5段模型,并通过模拟得到了验证。然而,对于初始步骤,目标轨迹是单独准备的。
图60表示了在学习过程(第25次尝试)中举例性的行走轨迹的示意曲线。由于搜索作用,在接触时间对于摆腿膝关节的目标角度的输出表现为发散。由于输出目标姿态通过采用最小抖动(jerk)标准(5阶样条函数(spline))的轨迹进行插值,每个关节的目标角度都表现为平滑连续。这种技术由Wada等人[33]以及Miyamoto等人[36]提出。在大约50次尝试后获得稳定的行走。图61表示经过学习过程之后,稳定行走轨迹的示意曲线。在第一个四步左右,膝盖很大程度上地弯曲,随后伸展接触地面,以便注入能量并防止跌倒。
图67在上面一行表示学习之前的行走轨迹,中间一行表示30次尝试之后的行走轨迹。图68表示在每次尝试之后的累积奖励。在行走50步时获得的行走定义为成功。作为五次试验的结果,平均在80次尝试之后获得行走运动。图67的下一行表示获得的行走轨迹。
图69表示通过模拟获得的值函数。根据图69,可以得出以下定性推论。(d,d)=(-0.2,-1.0)或支撑腿向前放置,且髋关节表示向后速度,这样机器人容易向后倒下。这时,值函数表现为较小的值。当(d,d)=(0.0,0.5)或支撑腿处于垂直于髋关节的线上,并表现出向前速度,则值函数表现为较大的值。换句话说,当机器人向前移动,值函数表现为较大值。根据以上内容,可以理解获得了定性合理的值函数。
提出的该技术应用到了实际硬件中。图70表示在学习之前的行走运动。可以看出机器人在很少几步内跌倒了。图71表了学习之后的行走运动。在大约50次尝试之后,机器人获得了稳定行走运动。一般,在多自由度系统学习例如行走,在实际硬件的学习收敛之前,需要几百次到几万次的尝试,因此实际上不可能验证实际硬件的学习。相反,通过上述技术,机器人的学习在大约只有50次之后就收敛了,这对于实际硬件来说是一个可行的数字。因此,证明了该技术的有效性。图72表示作为采用实际硬件的试验结果所获得的值函数。可以看出,该函数的分布曲线类似图69所示的模拟的结果。
为了验证机器人对于环境改变的适应性,通过使用作为学习结果获得的控制器,驱动机器人行走在具有斜坡的环境中。通过改变斜坡步幅,每次提高0.1度的梯度,对机器人进行了测试。人们发现,机器人可稳定行走在梯度不大于0.6度的上坡,以及梯度不大于0.2度的下坡上。使行走周期等于T=0.79[秒](ω=8.0[弧度/]秒)。这些结果与B-4-2所述的采用真实硬件所获得的结果基本上是相同的。
B-3-4-2.行走周期估计方法的应用环境改变的可能应用如上一节所述进行了测试。由于其不能产生踝力矩,机器人几乎不能使自己适应假定的具有较大梯度的上坡。由于定义的行走周期与下坡的动态特性不匹配,机器人也不能使自己适应假定的下坡。然而,本实施例的学习方法采用了相位作为转换条件,就可以采用B-3-3所具体描述的行走周期估计方法。因此,采用行走估计方法,通过模拟进行了适应性试验。对于环境,选择了1.5度的下坡。接着,机器人在前七次尝试不断跌倒之后,在第八次尝试时成功实现了稳定行走。
B-3-4-3.所获行为规则的分析本节将验证离散动态特性的稳定性,它是由分别在图58所示的相位Φ=π/2,Φ=3π/2处,在poincare横截面中所获的行为规则所产生的。在各poincare横截面处的离散动态特性的Jacobean本征值用于验证方法[37,38]。可以认为,如果每个本征值λi为|λi(J)|<1,周期轨迹就是稳定的。由于本实施例的技术采用了连续函数来表示动态模型和行为规则,有可能如下式所示解析地获得Jacobean矩阵J。
J=dfdx=∂f∂x+∂f∂u∂u(x)∂x]]>然而,请注意,在学习中对于搜索行为只采用了大体的表述,并且在图59中动态特性只采用了输入状态x作为状态考虑。因而,动态特性的近似精度可能是低于并接近稳态行走轨迹。因此,通过模拟驱动机器人行走50步,只在稳定行走期间对模型进行更新。图62表示了所获得的本征值变化。可以看出Jacobean矩阵的本征值随着模型误差的降低而变成小于1。此时,行为规则不再更新。换句话说,可以确认,已学到的行为规则可根据本征值的计算来产生一稳定的行走周期。
通过试验、利用实际硬件获得的控制器的稳定性在采用仿真时得到了检验。每次尝试中本征值的平均值如图73所示用公式49来确定。从图73中可以看出,随着学习继续,本征值降低到最终变为小于1。这样,确认了在试验中用实际硬件学习到的行为规则可通过计算本征值来产生一稳定行走周期。
本发明通过参考具体实施例在上面得到了具体描述。然而,显然对于本发明所处领域的普通技术人员来说不只限于所述的实施例,这些实施例可以进行修改和变化,而不脱离本发明的范围。
本发明并不限于称为“机器人”的产品。换句话说,本发明可应用于移动机器和通过利用电或磁效应而展现出类似于人类运动的其他一般设备,即使这些产品属于机器人工业以外的工业,比如玩具。
简短地说,本发明在此只是通过实施例进行了描述,本发明决不限于说明书的字面描述。本发明只由后附的权利要求书所限定。
<参考文献>
1Avis H.Cohen,“运动控制原理——看向生物”(AMAM 2003)2Matsuoka,K.,“由具有自适应的交互抑制神经产生的持续振荡”(生物控制论,52,第345-353页(1985))3Matthew M.Williamson,“律动性手臂运动的神经控制”(神经网络,第11卷,第7-8期,第1379-1394(1998))4Kotosaka,S.Schaal,“通过神经振荡器的同步机器人振动”(日本机器人协会期刊,第19卷,第1,第116-123页(2001))5Miyakoshi,Taga,Kuniyoshi,“对于一神经振荡器参数的自调整机构”(机器人讨论会文集,第301-306页(2000))6G.Taga,Y.Yamaguchi,Hi Shimizu,“在不可预知环境中通过神经振荡器的双足运动的自组织控制,生物控制论,第65卷,第147-159页(1991)”7G.Taga,“对于I型人类运动的神经-肌肉-骨骼系统模型”(基础步法的产生,生物控制论,第73卷,第97-111页(1995))8G.Taga,“对于II型人类运动的神经-肌肉-骨骼系统模型”(各种约束下的实时自适应,生物控制论,第73卷,第113-121页(1995))9Hase,Yamazaki,“利用神经振荡器和基因算法的真假双足运动的产生”(仪表和控制工程师协会学报,第33卷,第5,第448-454页(1997))10Hase,Yamazaki,“产生双足运动的神经结构的自发获得”“日本机械工程师协会期刊(丛书C),第64卷,第625,第3541-3547页(1998)”11M.Sato,Y.Nakamura,S.Ishii,“双足运动的强化学习”(ICANN(2002))12Fukuoka,Kimura,“四足机器人在不平坦区域的生物激励自适应动态行走——基于躯体感觉和前庭感觉的调整”(日本机器人协会期刊,第19卷,第4,第510-517页(2001))13H.Kimura,Y.Fukuoka,T.Miura,“四足机器人基于综合运动自适应的动态特性”(AMA2003)14Miyakoshi,Yamamoto,Taga,Kuniyoshi,“类似圆规的双足运动模拟报告”(日本机器人协会第18届年会论文集(2000))15G.Taga,“一种综合姿势与运动的模型”(国际生物力学计算机仿真会议论文集(1997))
16Miyakoshi,Taga,Kuniyoshi,Nagakubo,“利用神经振荡器的三维双足步伐运动——模拟真实世界的人类运动”(日本机器人协会期刊,第18卷,第1,第87-93页(2000))17T.McGeer,“从动动态行走”(IJRRR,第62-82页(1990))18Pratt,Jerry,“在双足行走机器人的控制中采用固有鲁棒性和固有动态特性”(马萨诸塞州,剑桥,麻省理工学院,计算机科学系,Thesis博士(2000))19Hase,K.,Yamazaki,N.,“采用神经-肌肉-骨骼模型的人类双足行走的计算机运算”(人工生命和机器人,第3卷,第133-138页,1999)20Taga,G.,“人类电机控制的非线性动态特性——运动和运动开发的实时和预测自适应”(国际动物和机器自适应运动会议论文集,2000)21Miyakoshi,S.,Yamakita,M.,Furuta,K.,“利用神经振荡器的判别控制”(IEEE/RSJ国际智能机器人和系统会议论文集,第1186-1193页,1994)22Ijspeert,A.,Nakanishi,J.,Schaal.S.,“用于学习电机基元的学习吸引景观”(神经信息处理系统(NIPS 2002),2002)23Schaal,S.,Atkeson,C.G.,“只根据局部信息的结构性递增学习”(神经计算,第10卷第8,第2047-2084页,1998)24Mitsuo Kawato,“对于活体的律动现象的工程研究”(医学电子和生物工程期刊,第19卷第3,第171-178,1981)25http//www.sdfast.com26Yoshihiro Ehara,Sumiko Yamamoto,“对躯体动态特性的介绍——开始行走和行走的分析”(Ishiyaku公开物,2002)27Strogatz,S.H.,“非线性动态特性与混沌状态用于物理学”(Addison-Wesley,1994)28Dempster,W.T.,Gaughran,G.R.L.,“基于尺寸和重量的躯体片段特性”(美国解剖学杂志,第120卷,第33-54页,1965)29M.H.Raibert,“平衡的有腿机器人”(MIT出版物,剑桥,MA,1986)30Dai Yanagihara“运动学习与小脑”(身体训练科学,第46卷,第6,第455-463页,1996)31Mitsuo Kawato“大脑计算原理”“Sanyo Tosho,1996”32Y.Fukuoka,H.Kimura,“基于生物概念的四足机器人在不平坦区域的自适应动态行走”(国际机器人协会期刊,第22卷,第2,第187-202页,2003)33Y.Wada,M.Kawato,“基于最小化原理的草写体理论”(生物控制论,第73卷,第3-15页,1995)34R.S.Sutton,A.G.Barto,“强化学习概论”(MIT出版物,剑桥,MA,1998)35K.Doya,“在连续时间和空间上的强化学习”(神经计算,第12卷,第1,第219-245,2000)36H.Miyamoto,S.Schaal,F.Gandolfo,H.Gomi,Y.Koike,R.Osu,E.Nakano,Y.Wada,M.Kawato,“基于双向原理的Kendama学习机器人”(神经网络,第9卷,第1281-1302页,1996)37M.Garcia,A.Chatterjee,A.Ruina,M.J.Colemang,“最简单的行走模型;稳定性,复杂性及定标”(ASME生物力学工程杂志,第120卷,第2,第281-288页,1998)38R.Q.Van der Linde,“通过相位肌肉收缩的从动双足行走”(生物控制论,第82卷,第227-237页,1999)
权利要求
1.一种具有多个可移动部分的机器人,该机器人包括相位信号发生装置,用来产生与至少部分可移动部分的周期运动相关的相位信号;控制装置,用来根据相位信号产生对于可移动部分的控制信号;驱动装置,用来根据控制信号驱动可移动部分;状态量检测装置,用来检测驱动装置所驱动的可移动部分的状态量;以及估计装置,用来根据状态量估计可移动部分周期运动的相位或角频率;相位信号发生装置适于根据估计装置所估计的相位或角频率来更新相位信号。
2.根据权利要求1的机器人,其中控制装置包括多个具有不同控制规则的控制器,并根据相位信号选择一适当的控制器,该选择的控制器根据相位信号产生对可移动部分的控制信号。
3.根据权利要求1的机器人,其中可移动部分具有一个或多个关节,状态量检测装置检测该一个关节或各个关节的角度和角速度作为状态量,同时估计装置根据该一个关节或各个关节的角度和角速度来估计与该一个关节或各个关节的周期运动相关的相位或角频率。
4.根据权利要求1的机器人,其中该机器人具有多个可移动腿作为可移动部分,且状态量检测装置检测由各可移动腿的足底所受到的地面反作用力作为状态量,同时估计装置根据各可移动腿的足底所受到的地面反作用力来估计各可移动部分的周期运动的相位或角频率。
5.相据权利要求1的机器人,其中机器人具有多个可移动腿作为可移动部分,且状态量检测装置检测各可移动腿的足底在移动方向或垂直于移动方向的方向上所受到的摩擦力作为状态量,同时估计装置根据各可移动腿的足底从地面所受到的摩擦力来估计各可移动部分的周期运动的相位或角频率。
6.根据权利要求1的机器人,其中该机器人具有躯干部分,该状态量检则装置检测躯干部分的倾斜度作为状态量,同时估计装置根据躯干部分的倾斜度来估计各可移动部分的周期运动的相位或角频率。
7.根据权利要求1的机器人,其中状态量检测装置检测机器人或各可移动部分的加速度作为状态量,并且估计装置根据该加速度来估计各可移动部分的周期运动的相位或角频率。
8.根据权利要求1的机器人,其中估计装置响应预定事件的发生,复原与该关节或各关节的周期运动相关的相位。
9.根据权利要求1的机器人,其中估计装置学习与状态量检测装置所检测到的状态量以及各可移动部分的频率相关的训练信号,并根据所学的训练信号来估计相位或角频率。
10.根据权利要求1的机器人,其中估计装置由一神经网络所构成,适于根据状态量检测装置所检测的状态量来输出与各可移动部分的周期运动相关的相位或角频率。
11.根据权利要求1的机器人,其中该机器人包括多个认为在作周期运动的可移动部分,且控制装置为每个认为在作周期运动的可移动部分提供一控制器,该机器人进一步包括协调装置,用来协调来自可移动部分的各控制器的控制量,以实现整个机器人的协调运动。
12.根据权利要求1的机器人,其中该机器人包括多个认为在作周期运动的可移动部分,以及不认为在作周期运动的可移动部分,该机器人进一步包括第二控制装置,用来根据那些不认为在作周期运动的可移动部分的控制规则,来产生控制信号;以及协调装置,用来协调来自控制装置以及第二控制装置的控制量,以实现整个机器人的协调运动。
13.一种具有多个可移动部分的机器人的姿态控制方法,该方法包括相位信号产生步骤,产生与至少部分可移动部分的周期运动相关的相位信号;控制步骤,根据相位信号产生对于可移动部分的控制信号;驱动步骤,根据控制信号驱动可移动部分;状态量检测步骤,检测在驱动步骤所驱动的可移动部分的状态量;以及估计步骤,根据状态量估计可移动部分周期运动的相位或角频率;相位信号产生步骤适于根据估计步骤所估计的相位或角频率来更新相位信号。
14.根据权利要求13的方法,其中控制步骤包括基于不同控制规则的多个控制子步骤,根据相位信号选择一适当的控制子步骤,并根据来自所选控制子步骤的相位信号产生对可移动部分的控制信号。
15.根据权利要求13的方法,其中可移动部分具有一个或多个关节,状态量检测步骤适于检测该一个关节或各个关节的角度和角速度作为状态量,同时估计步骤适于根据该一个关节或各个关节的角度和角速度来估计与该一个关节或各个关节的周期运动相关的相位或角频率。
16.根据权利要求13的方法,其中机器人具有多个可移动腿作为可移动部分,且状态量检测步骤适于检测由各可移动腿的足底所受到的地面反作用力作为状态量,同时估计步骤适于根据各可移动腿的足底所受到的地面反作用力来估计各可移动部分的周期运动的相位或角频率。
17.根据权利要求13的方法,其中机器人具有多个可移动腿作为可移动部分,且状态量检测步骤适于检测各可移动腿的足底在移动方向或垂直于移动方向的方向上所受到的摩擦力作为状态量,同时估计步骤适于根据各可移动腿的足底从地面所受到的摩擦力来估计各可移动部分的周期运动的相位或角频率。
18.根据权利要求13的方法,其中机器人具有躯干部分,状态量检测步骤适于检测躯干部分的倾斜度作为状态量,同时估计步骤适于根据躯干部分的倾斜度来估计各可移动部分的周期运动的相位或角频率。
19.根据权利要求13的方法,其中状态量检测步骤适于检测机器人或各可移动部分的加速度作为状态量,估计步骤适于根据该加速度来估计各可移动部分的周期运动的相位或角频率。
20.根据权利要求13的方法,其中估计步骤适于响应预定事件的发生,复原与该关节或各关节的周期运动相关的相位。
21.根据权利要求13的方法,其中估计步骤适于学习与状态量检测步骤所检测到的状态量以及各可移动部分的周期相关的训练信号,并根据所学的训练信号来估计相位或角频率。
22.根据权利要求13的方法,其中估计步骤由一神经网络所实现,该神经网络适于根据状态量检测步骤所检测的状态量来输出与各可移动部分的周期运动相关的相位或角频率。
23.根据权利要求13的方法,其中该机器人包括多个认为在作周期运动的可移动部分,且控制步骤包括对应于认为在作周期运动的各可移动部分的控制子步骤,该方法进一步包括协调步骤,协调来自各可移动部分的控制子步骤的控制量,以实现整个机器人的协调运动。
24.根据权利要求13的方法,其中机器人包括多个认为在作周期运动的可移动部分,以及不认为在作周期运动的可移动部分,该方法进一步包括第二控制步骤,根据那些不认为在作周期运动的可移动部分的控制规则,来产生控制信号;以及协调步骤,用来协调来自控制步骤以及第二控制步骤的控制量,以实现整个机器人的协调运动。
全文摘要
机器人可移动部分的运动采取周期运动,以便机器人的姿态通过调节可移动部分的移动而在广义上得到稳定的控制。更具体地,一个或多个相位发生器用于机器人系统,且根据产生的相位来选择多个控制器中的一个。接着,控制器根据连续相位信息控制可移动部分的驱动。此外,实际相位根据物理系统而估计,相位发生器的频率和相位通过利用估计值来进行调节,同时机器人系统的物理相位和相位发生器受到交互诱导,因此可以通过有效地利用机器人的动态特性来控制机器人的运动。
文档编号B25J13/08GK1590039SQ20041008742
公开日2005年3月9日 申请日期2004年8月25日 优先权日2003年8月25日
发明者远藤玄, 川人光男, 高登·程, 中西淳, 森本淳 申请人:索尼株式会社, 株式会社国际电气通信基础技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1