CN101835569B - 腿式机器人和腿式机器人的控制方法 - Google Patents
腿式机器人和腿式机器人的控制方法 Download PDFInfo
- Publication number
- CN101835569B CN101835569B CN2008801133215A CN200880113321A CN101835569B CN 101835569 B CN101835569 B CN 101835569B CN 2008801133215 A CN2008801133215 A CN 2008801133215A CN 200880113321 A CN200880113321 A CN 200880113321A CN 101835569 B CN101835569 B CN 101835569B
- Authority
- CN
- China
- Prior art keywords
- range sensor
- shank
- vola
- road surface
- foot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J5/00—Manipulators mounted on wheels or on carriages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D57/00—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
- B62D57/02—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
- B62D57/032—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
Abstract
腿式机器人包括:主体(10);腿部(20);足部(26);跌倒方向检测单元,其检测主体(10)的跌倒方向;控制单元(30);以及距离检测单元,其检测足部(26)的足底与路面之间的距离。距离检测单元包括设置在足底上的至少三个距离传感器(16),并且控制单元(30)具有距离传感器选择装置(63)和步态数据校正装置(64),距离传感器选择装置(63)用于选择距离传感器(16),步态数据校正装置(64)用于基于来自由距离传感器选择装置(63)选择的距离传感器(16)的检测信号来校正步态数据。距离传感器选择装置(63)基于跌倒方向检测单元的检测结果从距离传感器(16)中选择三个距离传感器(16)。
Description
技术领域
本发明涉及腿式机器人和腿式机器人的控制方法。
背景技术
为了确保腿式移动机器人稳定且不会跌倒地移动,机器人的支撑腿必须与路面紧密接触。还期望抑制当机器人的抬升腿着地时来自路面凹凸的不可预见的外部干扰力。因此,重要的是,根据目标控制机器人的足底与路面之间的关系。
在现有技术中,已经提出了许多技术,将传感器布置在机器人的足底并以目标值来调校传感器的输出值。日本专利No.3574952揭示了一种两足移动装置以及用于该装置的步行控制装置,其检测足部的足底上的地面反作用力,从而即使在复杂凹凸的不稳定路面上也能实现步行稳定性。在日本专利No.3574952所描述的两足移动装置中,从布置在足底上的至少三个三轴力传感器中以检测到的力的大小顺序选择三个传感器,并基于相应的地面反作用力数据来校正步态。
日本专利No.3569768揭示了两足移动装置,利用该装置,即使在复杂凹凸的不稳定路面上,足部也能够可靠地着地。在日本专利No.3569768所描述的两足移动装置中,三轴力传感器设置在踵部和趾部上,并基于来自这些力传感器的信号,校正步态数据,使得通过踵部和趾部实现三点支撑。
日本专利申请公开No.2001-353686(JP-A-2001-353686)揭示了一种用于腿式移动机器人的足部结构和用于在腿式移动机器人正在步行时精确地判定路面的状况和足部的着地状况的路面检测设备。在JP-A-2001-353686中描述的用于腿式移动机器人的足部结构包括足部基体和布置在足部基体的底面上以对足部接近路面以及足部的着地状况进行测量的路面检测单元。路面检测器安装到足部基体以自由地从其出现,并且路面检测单元检测路面检测器的出现位置。JP-A-2001-353686还揭示了用于通过利用足底距离传感器对足底与路面之间的距离进行反馈控制来实现稳定性的装置。
但是,利用日本专利No.3574952和日本专利No.3569768中描述的技术,当多于三个传感器与路面进行接触时,不能精确地获得地面反作用力。在此情况下,根据路面状况不能使全部传感器接触路面,导致不能用于计算地面反作用力的三轴力传感器的数量增大,结果,不能精确地检测地面反作用力。此外,当使用三个传感器时,通过足底与路面之间的接触部分形成的实际凸闭包的尺寸减小,导致其中能够存在零力矩点(此后简称为“ZMP”)的稳定区域的尺寸减小,结果,机器人更容易跌倒。机器人还容易在侧滑方向上滑动。因此,提供多于三个传感器将导致冗余,而三个传感器是不够的。因此,实践中,如实施例所示的,仅设置四个传感器的情况是有效的。
此外,利用JP-A-2001-353686中描述的技术,当传感器以外的部分接触路面时,在传感器位置处路面与足底之间的距离不能被物理地设定为零。换言之,不能根据路面状况将全部距离传感器的测量高度值均设定为零。
当根据目标控制机器人的足底与路面之间的距离关系时,距离传感器优选地布置为尽可能地靠近足底的外周以提高稳定性。此外,距离传感器优选地布置在四个角部处,以将足底与路面之间的接触部分的凸闭包的尺寸增大到最大。但是,考虑到由三个点确定一个平面,如果距离传感器布置在四个角部,则路面与传感器之间的一个接触位置变得冗余。如果距离传感器的数量冗余,则当机器人的足底踩踏在复杂凹凸上时,不能将全部距离传感器的值设定为期望值。例如,如图18所示,当机器人的足部26的一部分踩踏在障碍物B上时(即,当足部26的后表面上的点16a位于障碍物B上时),足底的点16c和16a能够与路面接触,但是同时点16b和16d不能与路面接触。换言之,当足底的点16c和16a与路面接触时,足底绕位于经过点16a和16c的对角线上的轴线C转动,导致不稳定。因此,根据路面凹凸状况,不能使支撑腿的足底上的全部四个点均与路面紧密接触。当在此情况下执行控制来以期望值调校全部足底距离传感器的值时,例如当校正足底以最小化距离的方差时,可以对极度不稳定的状况执行控制,例如使得足底在对角线上着地于路面。换言之,当试图以目标值来调校全部距离传感器的值时,可能相反地维持不稳定状况。因此,当机器人的躯干倾斜而足底没有与路面紧密接触时,机器人不能获得用于校正倾斜的地面反作用力矩,结果可能跌倒。为了避免机器人跌倒,需要从设置在支撑腿上的足底距离传感器的距离中选择未被以目标值进行调校的距离。
可以通过适当地选择将要以目标高度来调校的足底距离传感器,来获得校正倾斜躯干所需的地面反作用力矩。在选择仅三个足底距离传感器的情况下,不能根据躯干的跌倒方向使得支撑腿的足底与路面紧密接触,导致不稳定。例如,如图19所示,当一个距离传感器16d踩踏在路面上的突起上,使得根据检测到的跌倒方向D选择三个足底距离传感器16a、16b、16c时,足底距离传感器16a和16c不能同时与路面接触,因此支撑腿的足底不能被完全调校。其原因在于,当机器人的躯干的倾斜方向和路面上凹凸的方向接近时,与前述情况相似,执行控制使得足底在对角线上着地于路面,导致不稳定状况。
因此,根据现有技术中的腿式机器人,因为难以在有效获得使机器人的躯干成为倒立钟摆状态的地面反作用力矩的同时维持足底与路面之间的接触,所以机器人可能不能根据路面状况来稳定且不跌倒地步行。
发明内容
本发明提供了腿式机器人和腿式机器人的控制方法,即使在不平整的地面上,也可以在有效地获得用于使机器人的躯干正位的地面反作用力矩的同时维持足底与路面之间的接触。
本发明的第一方面是一种腿式机器人,包括:主体;腿部,其连接到所述主体;足部,其设置在所述腿部的下端;跌倒方向检测单元,其检测所述主体的跌倒方向;控制单元,其基于步态数据来控制对所述腿部的关节的驱动;以及距离检测单元,其检测所述足部的足底与路面之间的距离。所述距离检测单元包括设置在所述足部的足底上的至少三个距离传感器。所述控制单元具有距离传感器选择装置和步态数据校正装置,所述距离传感器选择装置用于选择距离传感器,所述步态数据校正装置用于基于来自由所述距离传感器选择装置选择的距离传感器的检测信号来校正所述步态数据。所述距离传感器选择装置基于所述跌倒方向检测单元的检测结果从所述距离传感器中选择三个距离传感器。
通过检测机器人的躯干的跌倒方向并基于检测结果选择三个用于实现目标值的足底距离传感器,可以在有效获得用于使机器人的躯干(主体)正位的地面反作用力矩的同时维持足底与路面之间的接触。因此,通过在保持支撑腿与地表面紧密接触的同时从足底接收地面反作用力矩,能够容易地执行用于使机器人的躯干正位的稳定控制,结果,腿式机器人能够在不平整的地面上步行而不会跌倒。注意,步态数据是用于使机器人步行的数据,并包括主体的目标位置/姿态和足部的目标位置/姿态。通过首先使腿部与地表面进行接触以用作支撑腿,然后驱动腿部使得通过足部的足底来推压地表面,从而使整个腿部(整个机器人)抬升,来使根据本发明的腿式机器人执行步行操作。被驱动的腿部成为抬升腿而另一个腿部成为支撑腿,并通过重复地切换抬升腿和支撑腿,可以执行步行操作。
此外,所述距离传感器选择装置可以基于所述跌倒方向检测单元的检测结果从所述距离传感器中选择第一距离传感器和第二距离传感器,并可以基于所述足部的足底与所述路面之间的距离从未被选择的所述距离传感器中选择第三距离传感器。
此外,所述第三距离传感器可以是未被选择的所述距离传感器中所述足部的足底与所述路面之间的距离最小的距离传感器。
所述控制单元可以基于来自全部被选择的所述距离传感器的检测信号来计算所述足底与所述路面之间的偏差值,并通过使用所述偏差值来计算用于校正所述步态数据的足校正量。
此外,所述控制单元可以判定所述腿部的步行动作模式是支撑腿步行动作模式还是抬升腿步行动作模式,并基于对所述腿部的步行动作模式的判定结果来改变由所述距离传感器选择装置所选择的距离传感器的数量。
此外,当所述腿部是支撑腿时,所述控制单元可以基于来自所述距离检测单元的输出信号来判定所述腿部的足底是否完全着地在所述路面上。所述距离传感器选择装置可以在所述腿部的足底完全着地在所述路面上时基于所述跌倒方向检测单元的检测结果从所述距离传感器中选择三个距离传感器,而在所述腿部的足底未完全着地在所述路面上时选择全部所述距离传感器。
当所述腿部是支撑腿时,所述控制单元可以基于所述步态数据来判定所述腿部的足底是否完全着地在所述路面上。
当所述腿部是抬升腿时,所述控制单元可以基于所述距离检测单元的输出信号判定所述腿部的足底是否完全抬离所述路面。所述距离传感器选择装置可以在所述腿部的足底未完全抬离所述路面时基于所述跌倒方向检测单元的检测结果从所述距离传感器中选择三个距离传感器,而在所述腿部的足底完全抬离所述路面时选择全部所述距离传感器。
当所述腿部是抬升腿时,所述控制单元可以基于所述步态数据来判定所述腿部的足底是否完全抬离所述路面。
本发明的第二方面是一种腿式机器人的控制方法,所述腿式机器人包括:主体;腿部,其连接到所述主体;足部,其设置在所述腿部的下端;跌倒方向检测单元,其检测所述主体的跌倒方向;以及至少三个距离传感器,其检测所述足部的足底与路面之间的距离。此控制方法包括以下步骤:基于所述跌倒方向检测单元的检测结果从所述距离传感器中选择第一距离传感器和第二距离传感器;基于所述足部的足底与所述路面之间的距离从未被选择的所述距离传感器中选择第三距离传感器;根据基于来自被选择的所述距离传感器的检测信号来校正步态数据得到的步态数据,控制对所述腿部的关节的驱动。
通过检测机器人的躯干的跌倒方向并基于检测结果选择三个用于实现目标值的足底距离传感器,可以在有效获得用于使机器人的躯干正位的地面反作用力矩的同时维持足底与路面之间的接触。因此,通过在保持支撑腿与地表面紧密接触的同时从足底接收地面反作用力矩,能够容易地执行用于使机器人的躯干正位的稳定控制,结果,腿式机器人能够在不平整的地面上步行而不会跌倒。
附图说明
通过结合附图对本发明优选实施例的以下详细说明,本发明的上述和其他目的、特征和优点将变得清楚,其中相似标记用于表示相似元件,并且其中:
图1是根据本发明的第一实施例的腿式机器人的构成图;
图2是根据本发明的第一实施例的腿式机器人的足连接体的构成图;
图3是示出根据本发明的第一实施例的腿式机器人的构造的功能框图;
图4是示出由根据本发明的第一实施例的腿式机器人的控制单元执行的处理的流程图;
图5是图示其中根据本发明的第一实施例的腿式机器人的足连接体的一部分与障碍物接触的状态的视图;
图6是图示检测根据本发明的第一实施例的腿式机器人的跌倒方向的处理的视图;
图7是图示根据本发明的第一实施例用于基于跌倒方向选择距离传感器的处理的视图;
图8是图示根据本发明的第一实施例的传递函数的视图;
图9是图示根据本发明的第一实施例的腿式机器人的控制单元根据步行操作模式对激活的距离传感器的数量进行修改的方式的视图;
图10是图示当根据本发明的第一实施例的腿式机器人的腿部处于支撑腿状况时执行的控制处理的概要的流程图;
图11是图示当根据本发明的第一实施例的腿式机器人的腿部处于抬升腿状况时执行的控制处理的概要的流程图;
图12是根据本发明的第二实施例的腿式机器人的足连接体的构造图;
图13是图示根据本发明的第二实施例的腿式机器人的控制单元根据步行操作模式对激活的距离传感器的数量进行修改的方式的视图;
图14是图示当根据本发明的第二实施例的腿式机器人的腿部处于支撑腿状况时执行的控制处理的概要的流程图;
图15是图示其中根据本发明的第二实施例的腿式机器人的足连接体的一部分与障碍物接触的状态的视图;
图16是图示根据本发明的第二实施例的传递函数的视图;
图17是图示当根据本发明的第二实施例的腿式机器人的腿部处于抬升腿状况时执行的控制处理的概要的流程图;
图18是图示其中腿式机器人的足连接体的一部分与障碍物接触的状态的视图;并且
图19是图示其中腿式机器人的足连接体的一部分与障碍物接触的状态的视图。
具体实施方式
根据第一实施例的腿式机器人包括:主体;腿部,其连接到所述主体;足部,其设置在所述腿部的下端;跌倒方向检测单元,其检测所述主体的跌倒方向;控制单元,其控制对所述腿部的关节的驱动;以及距离检测单元,其检测所述足部的足底与路面之间的距离。这里,所述距离检测单元包括设置在所述足部的足底上的至少三个距离传感器。所述腿式机器人的所述控制单元具有距离传感器选择装置和步态数据校正装置,所述距离传感器选择装置用于选择距离传感器,所述步态数据校正装置用于基于来自由所述距离传感器选择装置选择的距离传感器的检测信号来校正所述步态数据。所述距离传感器选择装置基于来自所述跌倒方向检测单元的检测结果从所述距离传感器中选择三个距离传感器。
当步行机器人在不平整地面上步行时,通过将足底贴靠控制和倒立钟摆控制组合来实现稳定控制,足底贴靠控制利用设置在足底上的距离传感器使足底与路面贴靠,倒立钟摆控制用于利用姿态传感器使机器人的姿态正位。当足底贴靠控制中使用的足底距离传感器的数量是冗余的,并试图同等地处理全部传感器时,发生不稳定,结果,机器人可能跌倒。根据第一实施例的腿式机器人,根据机器人状况从冗余的足底距离传感器中适当地选择被激活的传感器,因此腿式机器人能够稳定且不会跌倒地在不平整的地面上步行。
以下将参考附图描述根据第一实施例的机器人的控制方法。图1是示出根据第一实施例腿式机器人的概要的视图。机器人100包括主体10和连接到主体10的两条腿。注意,在图1中,仅示出了一个腿部20,而从图中省略了另一个腿部。主体10包括用于控制机器人100的操作(腿部的每个关节的操作)的控制单元30、检测主体的加速度的加速度传感器12、以及检测主体10相对于竖直方向的倾斜角(姿态角)的姿态角传感器14。
腿部20包括髋关节21、膝关节23、踝关节25、股连接体22、胫连接体24以及用作足部的足连接体26。股连接体22和胫连接体24示意性地以直线图示。髋关节21可摆动地连接到主体10和股连接体22。膝关节23可摆动地连接到股连接体22和胫连接体24。踝关节25可摆动地连接到胫连接体24和足连接体26。用作足部的足连接体26设置在腿部20的下端。足连接体26是平板形构件,并且足连接体的后表面(足底)是平面的。
至少三个距离传感器16设置在足连接体26上作为距离检测单元。距离传感器16检测足连接体26的后表面(足底表面)与地表面S之间的距离。如图2所示,从顶视图中,足连接体26大体上是矩形。四个距离传感器16a、16b、16c、16d分别设置在足连接体26的四个角部附近。此处,两个距离传感器16a和16d设置在足连接体26的趾侧上,并且两个距离传感器16b和16c设置在踵侧上。距离传感器16a和16d检测足连接体26的前方的预定位置处的足底表面和地表面S之间的距离,而距离传感器16b和16c检测足连接体26的后方的预定位置处的足底表面和地表面S之间的距离。因而,可以根据由距离传感器16a和16d检测到的距离与由距离传感器16b和16c检测到的距离之间的差,来确定足连接体26的足底表面相对于地表面S的倾斜度。
图中未示出的电动机内置在各个关节内,并基于来自控制单元30的命令而被驱动。通过驱动电动机,连接到关节的连接体可以摆动。图中未示出的另一个腿部具有与腿部20相同的结构。通过使控制单元30适当地控制两个腿部的关节(更具体而言,关节角),可以使机器人100步行。
在图1中,为了方便说明,机器人100的前进方位(前后方向)被设定为x轴,在水平方向上与机器人100的前进方向相交的方位(左右方向)被设定为y轴,从机器人100的前进平面在竖直方向上延伸的方位(上下方向)被设定为z轴,将利用由这三根轴构成的绝对坐标系来提供说明。在图1中,x轴表示沿着纸表面的左右方向,y轴表示纸表面的深度方向,而z轴表示沿着纸表面的上下方向。注意,点Ob相对于机器人100的主体10标明并固定,并且点Of相对于足连接体26被标明并固定。
基于控制单元30中存储的步态数据来控制机器人100。步态数据包括与主体10的每个目标位置(目标主体位置)相关的时间序列数据、主体10的目标姿态角(目标主体姿态角)、足连接体26的目标位置(目标足部位置)、以及足连接体26的目标姿态角(目标足部姿态角)。步态数据还包括与机器人100的各个目标足部位置和腿部的姿态角相关的时间序列数据。
通过模拟等产生步态数据,使得机器人100能够稳定地步行。更具体而言,目标主体位置、目标主体姿态角、目标足部位置以及目标足部姿态角被设定为满足如下限定的关系:根据该关系,机器人100的ZMP位置落在当足部与地表面接触时由足部围绕的凸闭包内。所产生的步态数据存储在机器人100的控制单元30中。如下文将说明的,控制单元30控制各个关节,使得实际主体位置等与步态数据中包括的目标主体位置等相符。
目标主体位置由特定点Ob相对于绝对坐标系的位置表示。当使用以特定点Ob作为原点的主体坐标系时,目标主体姿态角由主体坐标系相对于绝对坐标系的倾斜度表示。实际主体姿态角可以由设置在主体10中的姿态角传感器14检测。目标足部位置由特定点Of相对于绝对坐标系的位置表示。目标足部姿态角由足底表面相对于地表面的角来表示。当使用以特定点Of为原点的足部坐标系时,目标足部姿态角可以由足部坐标系相对于绝对坐标系的倾斜度来表示。如下文将描述的,可以由设置在足连接体26上的距离传感器16来检测实际足部姿态角。
接着,将详细说明控制单元30的操作。控制单元30执行正位控制和贴靠控制。在正位控制中,实际主体位置和实际主体姿态角分别与目标主体位置和目标主体姿态角相符。在贴靠控制中,从地表面观察的各个实际足部位置和实际足部姿态角分别与目标足部位置和目标足部姿态角相符。
图3是示出控制单元30的功能结构的功能框图。控制单元30包括存储步态数据的存储单元50、用于读取存储在存储单元50中的步态数据的计算处理单元60、以及用于驱动包括在腿部20中的各个电动机的电动机驱动单元70。
存储单元50存储步态数据(与目标主体位置、目标主体姿态角、目标足部位置以及目标足部姿态角相关的时间序列数据)。在步态数据中,当足底接触地表面时,足底表面和地表面进入表面接触状态,因此目标足部姿态角(足底表面相对于假想地表面的假想倾斜度)被设定为零。此外,步态数据中的各个目标值被确定为满足如下关系:据此关系,机器人100的ZMP位置位于由与地面接触的腿的足底所包围的凸闭包内。
计算处理单元60读取存储单元50中存储的步态数据,并计算为实现由所读取的步态数据指明的机器人100的姿态所需的腿部20的关节角。计算处理单元60接着将基于计算得到的关节角的信号传递到电动机驱动单元70。计算处理单元60还如下文所述从设置在机器人100中的姿态角传感器14和距离传感器16接收信号,并选择将在贴靠控制中使用的距离传感器16。此外,计算处理单元60在从传感器接收到信号时调节电动机的驱动量。
更具体而言,计算处理单元60包括贴靠控制单元61、正位控制单元62、用作距离传感器选择装置的距离传感器选择单元63、用作步态数据校正装置的步态数据校正单元64、以及逆向运动学计算单元65。控制单元30包括基于实际主体姿态角与目标主体姿态角之间的偏差的反馈控制系统(正位控制单元62的正位控制系统)和基于从地表面观察的相对实际足部姿态角与目标足部姿态角之间的偏差的反馈控制系统(贴靠控制单元61的贴靠控制系统)。此后,假定贴靠控制偏差表示从地表面观察的相对足部姿态角。
正位控制单元62用于使机器人100的主体的姿态维持在目标位置/姿态。主体位置/姿态对应于实际主体位置和主体姿态角,而目标位置/姿态对应于目标主体位置和主体姿态角。实际主体姿态角由设置在主体10中的姿态角传感器14检测。姿态角传感器14例如包括检测主体10的角速度的陀螺仪,用于对陀螺仪的输出(角速度)进行积分的积分器,以及检测重力加速度矢量的三轴加速度传感器。跌倒方向检测单元(未示出)能够基于来自姿态角传感器14的检测结果检测机器人100的跌倒方向。
例如,当其中足底与路面紧密接触的状态被设定为目标且踵侧从地表面抬升时,贴靠控制单元61通过使足连接体26在使足连接体26的趾侧接近胫连接体24的方向上旋转,来使实际足部姿态角与目标足部姿态角相符。换言之,贴靠控制单元61使足连接体26旋转,使得维持足底表面与地表面之间的表面接触。根据设置在足连接体26上的距离传感器16a、16b、16c、16d的输出来确定实际足部姿态角。假定此处使用的距离传感器16是由下文描述的距离传感器选择单元63选择的距离传感器。距离检测单元(未示出)基于距离传感器16中的检测结果来检测足底与路面之间的距离。
距离传感器选择单元63基于用作跌倒方向检测单元的姿态角传感器14和用作距离检测单元的距离传感器16的检测结果,来选择被用于使足底与路面之间的距离贴近的距离传感器16。下文将详细描述由距离传感器选择单元63采用的距离传感器选择方法。
步态数据校正单元64基于由距离传感器选择单元63选择的距离传感器中的输出信号来校正步态数据,使得足底与路面之间的位置关系与目标值相符。首先,步态数据校正单元64计算所选择的距离传感器16的输出值与贴靠目标值之间的足部偏差。步态数据校正单元64接着根据计算得到的足部偏差,利用与该偏差相关的传递函数来计算校正量。
更具体而言,存储在存储单元50中的步态数据(与目标主体位置、目标主体姿态角、目标足部位置、以及目标足部姿态角相关的时间序列数据)以下述方式被校正并被输入到逆向运动学计算单元65中。
基于目标足部位置与实际足部位置之间的偏差来校正存储在存储单元50中的目标足部位置,并接着将其输入到逆向运动学计算单元65中。
基于目标主体加速度与实际主体加速度之间的偏差,来校正存储在存储单元50中的目标主体位置,并接着将其输入到逆向运动学计算单元65中。通过对目标主体位置微分两次来确定目标主体加速度。由加速度传感器12来检测实际主体加速度。
存储在存储单元50中的目标主体姿态角按原样被输入到逆向运动学计算单元65中。同时,确定目标主体姿态角与实际主体姿态角之间的偏差(主体姿态角偏差)。主体姿态角偏差被输入到正位控制单元62中,在正位控制单元62中计算主体将在减小主体姿态角偏差的方向上转动的主体校正角。由姿态角传感器44检测实际主体姿态角。
然后,确定存储在存储单元50中的目标足部姿态角与实际足部姿态角之间的偏差(足部姿态角偏差)。由通过距离传感器选择单元63选择的距离传感器16来检测实际足部姿态角。然后将足部姿态角偏差与前述主体校正角相加,于是将此相加的结果输入到贴靠控制单元61。贴靠控制单元61确定足部将在减小输入角的方向上转动的足部校正角(通过将主体校正角与足部姿态角偏差相加得到的角)。然后将存储在存储单元50中的目标足部姿态角与足部校正角相加(通过足部校正角进行校正),于是将结果输入到逆向运动学计算单元65中。
以上述方式校正的步态数据输入到逆向运动学计算单元65中。根据步态数据,逆向运动学计算单元65借助于逆向运动学计算来计算腿部20的每个关节的目标关节角。此处,各个目标值由与绝对坐标系统相关的值表示。逆向运动学计算单元65根据目标足部位置和目标主体位置之间的差计算足部和本体的相对位置,并且根据目标足部姿态角(由足部校正角校正)和目标本体姿态角之间的差来计算足部和本体的相对旋转角。然后计算用于实现所计算的相对位置和相对旋转角的目标关节角。
电动机驱动单元70基于由计算处理单元60传递的目标关节角信号来指明用于驱动腿部20的各个电动机的驱动量,并将用于以驱动量驱动电动机的电动机驱动信号传递到各个电动机。结果,腿部20的各个关节的驱动量被更改,从而控制机器人100的运动。
接着,参考图4,将说明由根据第一实施例的机器人100执行的控制处理。图4是图示控制处理的概要的流程图。假定在如图4所示的控制处理期间,机器人100的足连接体26的一部分与不平整地面上的障碍物B接触。图5是图示其中机器人100的足连接体26的一部分与障碍物B接触的状态的视图。图5是示出具有主体10和腿部20的腿式机器人100的示意性侧视图。注意,图5仅示出了机器人100的主体10和腿部20,而省略了另一个腿部。足连接体26设置有四个距离传感器16a、16b、16c、16d。在图5中,使用如图所示由x轴、y轴和z轴构成的绝对坐标系来用于说明。
在图5中,由虚线表示将在机器人100中实现的总体位置/姿态。在箭头C所示的方向上控制机器人100的位置/姿态,以将机器人100设定为由虚线表示的目标位置/姿态。首先,跌倒方向检测单元基于姿态角传感器14的检测结果来检测机器人100的跌倒方向(步骤S101)。跌倒方向检测单元能够根据主体10的姿态偏差、主体10的角速度等来检测跌倒方向。例如,通过计算主体姿态偏差(即,从目标姿态观察到的实际姿态),产生在减小主体姿态偏差的方向上的地面反作用力,因此能够确定使足连接体26贴靠所沿的方向。
例如,假定如图6A所示机器人100的实际姿态相对于目标姿态倾斜。这里,实际姿态相对于从支撑腿观察的目标姿态的姿态偏差矢量(侧倾,俯仰)被设定为(legΔroll,legΔpitch)。那么通过利用姿态偏差矢量(legΔroll,legΔpitch)求解以下方程式,如图6B所示,确定姿态偏差角θΔ。当使用姿态偏差角θΔ时,跌倒方向可以表达为θΔ-π/2。在如图6所示的示例中,可以根据姿态偏差来检测主体向左后方(箭头D)的倾斜。因此,可以根据主体姿态偏差来检测机器人100的跌倒方向。
[方程式1]
接着,机器人100基于在步骤S101检测到的跌倒方向来选择两个传感器(步骤S102)。如图5所示,设想在距离传感器16d的位置存在障碍物B(突起部分)的情况。在此情况下,假定基于跌倒方向选择距离传感器16a、16b、16c,则由于突起部分B引起的障碍,距离传感器16a和16c中的输出值不能被同时设定为0,因此足底不能与路面贴靠。在此情况下,基于跌倒方向初始选择两个传感器16b和16c,使得可以至少产生能够校正主体10的倾斜的地面反作用力矩。
这里,利用图7,将详细说明基于跌倒方向选择两个距离传感器的方法。首先,根据足底与距离传感器16之间的位置关系基于以下方程式预先计算用于选择距离传感器16的常数Θ1至Θ4。这里,Xt是设置在足连接体26上的距离传感器16d与16c之间的距离(距离传感器16a与16b之间的距离),而Yt是距离传感器16b与16c之间的距离(距离传感器16a与16d之间的距离)。注意,常数Θ1至Θ4是使用atan2函数在-π至π的范围内确定的。
[方程式2]
然后,利用在方程式2中计算得到的常数Θ1至Θ4以及在方程式1中计算得到的姿态偏差角θΔ,以下述方式选择两个距离传感器。当Θ4≤θΔ-π/2≤Θ1(即,Θ4+π/2≤θΔ≤Θ1+π/2)成立时,将距离传感器16a和16b选择作为所述两个距离传感器并激活。这里,距离传感器16b和16c未被选择,如下文所述,从这些剩余的距离传感器中再选择一个距离传感器。当Θ3≤θΔ-π/2≤Θ4(即,Θ3+π/2≤θΔ≤θ4+π/2)成立时,将距离传感器16b和16c选择作为所述两个距离传感器并激活。这里,距离传感器16a和16d未被选择,如下文所述,从这些剩余的距离传感器中再选择一个距离传感器。当Θ2≤θΔ-π/2≤Θ3(即,Θ2+π/2≤θΔ≤Θ3+π/2)成立时,将距离传感器16b和16c选择作为所述两个距离传感器并激活。这里,距离传感器16a和16d未被选择,如下文所述,从这些剩余的距离传感器中再选择一个距离传感器。当Θ1≤θΔ-π/2≤π/2或-3π/2≤θΔ-π/2≤Θ2(即,Θ1+π/2≤θΔ≤π或-π≤θΔ≤Θ2+π/2)成立时,将距离传感器16a和16b选择作为所述两个距离传感器并激活。这里,距离传感器16c和16d未被选择,从这些剩余的距离传感器中再选择一个距离传感器。
在图7中,例如,利用姿态偏差角θΔ根据姿态偏差向量V来检测跌倒方向D。在附图中,姿态偏差角θΔ满足Θ2≤θΔ-π/2≤Θ3(即,Θ2+π/2≤θΔ≤Θ3+π/2),因此将距离传感器16b和16c选择作为所述两个距离传感器并激活。通过以此方式选择距离传感器,可以基于跌倒方向D来选择能够有效获得用于校正主体10的倾斜的地面反作用力矩的两个距离传感器16。注意,在实际实施时,可以包括滞后特性。这样处理时,能够防止姿态偏差向量逼近零时发生的震颤。
接着,机器人100从步骤S102中未选择的两个剩余的距离传感器16中选择其中足底与路面之间的距离最小的距离传感器16(步骤S103)。在步骤S102中,从四个距离传感器16选择两个距离传感器。在步骤S103中,基于测量高度(即,距离传感器16的输出值),从步骤S102中未选择的两个剩余的距离传感器16中选择一个距离传感器。假定具有最小测量高度的距离传感器16是位于突起部分侧的距离传感器。因此,通过选择并激活具有最小测量高度的距离传感器16,不管路面的凹凸,也能够使足连接体26稳定,并将足连接体26控制为与路面贴靠。注意,在实际实施时,与步骤S102中选择距离传感器16相似,可以包括滞后特性。
接着,机器人100根据在步骤S102和S103中选择的三个距离传感器16,来计算足部偏差(侧倾,俯仰,z),即,足底与路面之间的偏差(步骤S104)。这里,足连接体26的实际位置/姿态和目标位置/姿态之间的足部偏差(侧倾,俯仰,z)被设定为(Δθ,Δz)。注意,z表示竖直方向测量高度。例如,当选择三个距离传感器16a、16b、16c时,可以利用以下转换方程式来计算足部偏差。根据以下方程式所示的转换矩阵,能够利用来自足底与距离传感器16的布置位置之间的几何关系的近似,根据各个距离传感器16a至16d的输出值中的偏差(Δz1,Δz2,Δz3,Δz4)以及与各个距离传感器16的偏差相对应的三行四列转换矩阵,来唯一地确定足部偏差。注意,转换矩阵中各个元素的值根据所选择的距离传感器16而不同。
[方程式3]
接着,机器人100利用步骤S104中计算得到的足部偏差,计算用于实际校正步态数据的足部校正量(步骤S105)。可以通过以足部偏差作为输入并以足部校正量作为输出的传递函数,来计算足部校正量。图8是图示以足部偏差作为输入并以足部校正量作为输出的传递函数的视图。如图所示,对于足部校正量(侧倾),侧倾偏差经过传递函数Cφ(s)。对于足部校正量(俯仰),俯仰偏差Δθ经过传递函数Cθ(s)。对于足部校正量(z),z偏差Δz经过传递函数Cz(s)。注意,在所采用的距离传感器被切换使得足部偏差变为不连续时,这些传递函数可以具有由此减小高频增益的特性。
接着,机器人100校正步态数据以实现在步骤S105中计算得到的足部校正量(步骤S106)。当要继续操作时,机器人100返回步骤S101并继续该处理,当要结束操作时,机器人100结束该处理。
如上所述,通过检测机器人100的跌倒方向并基于检测结果选择用于实现目标值的三个足底距离传感器16,能够在有效地获得用于使机器人100的躯干(主体10)正位的地面反作用力矩的同时维持足底与路面之间的接触。因此,通过在保持支撑腿与地表面之间的紧密接触的同时从足底获得地面反作用力矩,能够容易地执行用于使机器人100的躯干正位的稳定控制,结果,机器人100能够在不平整的地面上步行而不会跌倒。
接着,参考图9至11,将说明根据第一实施例在机器人100的步行操作期间执行的控制处理。图9是图示机器人100根据步行操作期间的步行操作模式更改激活的距离传感器的数量的方式。图10是图示当机器人100的腿部20处于支撑腿状况时执行的控制处理的概要的流程图。图11是图示当机器人100的腿部20处于抬升腿状况时执行的控制处理的概要的流程图。
如图9所示,机器人100根据步行操作模式更改布置在足连接体26上的距离传感器中的激活的距离传感器的数量。机器人100能够区别其中腿部20用作支撑腿的步行操作模式和其中腿部20用作抬升腿的步行操作模式。机器人100还可以被构造为能够例如基于步态数据或距离传感器16的输出值来检测支撑腿是否完全着地以及抬升腿是否完全抬升。
作为一个规则,当腿部20处于支撑腿状况时,激活布置在足连接体26上的距离传感器中的三个(例如,在图9中,当左腿部20L处于支撑腿状况时,对于左足部距离传感器16L,从t2延续到t3的区间)。作为另一个规则,当腿部20处于抬升腿状况时,激活全部距离传感器(图中的四个距离传感器)(例如,在图9中,当右腿部20R处于抬升腿状况时,对于右足部距离传感器16R,从t2延续到t3的区间)。当腿部20从支撑腿状况切换为抬升腿状况时,激活最少需要数量的距离传感器,并在足底已经完全离开地面并进入抬升腿状况之后,激活全部距离传感器(例如,在图9中,当左腿部20L处于支撑腿状况时,对于左足部距离传感器16L,从t3延续到t4的区间)。当腿部20从抬升腿状况切换为支撑腿状况时,激活全部距离传感器,并且一旦足底完全着地而进入支撑腿状况,激活最少需要数量的距离传感器(图中的三个距离传感器)(例如,在图9中,当右腿部20R处于抬升腿状况时,对于右足部距离传感器16R,从t3延续到t4的区间)。这里,时间点t2和t6表示先前用作支撑腿的右腿部20R已经完全离开地面并且先前用作抬升腿的左腿部20L完全着地时的时间点。时间点t4和t8表示先前用作抬升腿的右腿部20R已经完全着地并且先前用作支撑腿的左腿部20L已经完全离开地面时的时间点。
现在,将利用如图10所示的流程图来说明当机器人100的腿部20处于支撑腿状况时执行的控制处理。首先,在机器人100的步行操作期间执行的用于将腿部20中的一个从抬升腿状况切换为支撑腿状况的处理中,对腿部20是否完全着地进行判定(步骤S201)。当判定结果表明腿部20完全着地(即,腿部20处于支撑腿状况)时,如上所述,选择三个距离传感器16。换言之,检测机器人100的跌倒方向(步骤S202)。接着,基于跌倒方向选择两个距离传感器16(步骤S203)。接着,基于足底与路面之间的距离选择剩余的距离传感器16中的一个(步骤S204)。接着,根据三个所选择的距离传感器16来计算与路面的足部偏差(步骤S205)。
另一方面,如果步骤S201的判定结果表明腿部20未完全着地(即,腿部20尚未处于支撑腿状况),则激活全部距离传感器16,并根据全部距离传感器16计算与路面的足部偏差(步骤S206)。例如,当激活全部四个距离传感器16a、16b、16c、16d时,利用以下转换方程式来计算足部偏差。
[方程式4]
接着,利用步骤S205或S206中计算得到的足部偏差,计算用于实际校正步态数据的足部校正量(步骤S207)。然后,机器人100校正步态数据以实现在步骤S207中计算得到的足部校正量(步骤S208)。当要继续操作时,机器人100接着返回步骤S201并继续该处理,当要结束操作时,机器人100结束该处理。
通过激活全部传感器直到足连接体26完全着地于路面,足连接体26能够迅速地与路面贴靠。结果,能够有效地抑制着地期间的外部干扰。
接着,将利用如图11所示的流程图来说明当机器人100的腿部20处于抬升腿状况时执行的控制处理。首先,在机器人100的步行操作期间执行的用于将腿部20中的一个从支撑腿状况切换为抬升腿状况的处理中,对腿部20是否已经完全离开地面进行判定(步骤S301)。当判定结果表明腿部20已经完全离开地面(即,腿部20处于抬升腿状况)时,如上所述,激活全部距离传感器16,并根据全部距离传感器16来计算与路面的足部偏差(步骤S302)。
另一方面,如果步骤S301的判定结果表明腿部20尚未完全离开地面(即,腿部20尚未处于抬升腿状况),则如上所述,选择三个距离传感器16。换言之,检测机器人100的跌倒方向(步骤S303)。接着,基于跌倒方向选择两个距离传感器16(步骤S304)。接着,基于足底与路面之间的距离选择剩余的距离传感器16中的一个(步骤S305)。接着,根据三个所选择的距离传感器16来计算与路面的足部偏差(步骤S306)。
接着,利用步骤S302或S306中计算得到的足部偏差,计算用于实际校正步态数据的足部校正量(步骤S307)。然后,机器人100校正步态数据以实现在步骤S307中计算得到的足部校正量(步骤S308)。当要继续操作时,机器人100接着返回步骤S301并继续该处理,当要结束操作时,机器人100结束该处理。
在抬升腿已经完全离开地面之前,足底与路面保持接触,因此,通过以此方式选择并激活距离传感器16中的三个,保持支撑腿的校正量。此外,通过一旦抬升腿已经完全离开地面就选择并激活全部距离传感器,抬升腿即使在接触路面之后也能迅速地在避开路面的方向上调整。
在上述第一实施例中,当足连接体26上设置四个距离传感器16时,执行处理以基于跌倒方向选择这些距离传感器16中的三个。但是,本发明不限于此实施例,并且可以基于跌倒方向从设置在足连接体26上的至少三个距离传感器中选择三个距离传感器。注意,除了足连接体26的构造以及设置在足连接体26上的距离传感器16的配置之外,根据第二实施例的机器人100的构造与本发明的第一实施例相同。
图12是图示根据第二实施例的机器人100上的足连接体26的构造的视图。足连接体26包括趾部26a和经由趾关节27连接到趾部26a的踵部26b。通过在机器人100的步行操作期间驱动趾关节27,能够在保持趾部26a与路面接触的同时提升踵部26b。换言之,通过在提升踵部26b的同时仅使趾部26a着地,可以使机器人100直立站立。
如图12所示,当从上表面观察时,趾部26a和踵部26b具有大体矩形的形状。四个距离传感器16a、16b、16c、16d分别设置在趾部26a的四个角部附近。这里,两个距离传感器16a和16d设置在趾部26a的趾侧,而两个距离传感器16b和16c设置在踵部方向侧。距离传感器16a和16d检测趾部26a的前部的预定位置中的足底表面与地表面S之间的距离,而距离传感器16b和16c检测在趾部26a的后方的预定位置中的足底表面和地表面S之间的距离。两个距离传感器16e和16f设置在踵部26b上与趾部侧相对的两个角部处。距离传感器16e和16f检测在踵部26b的后方的预定位置中的足底表面与地表面S之间的距离。因此,可以根据由距离传感器16a和16d检测到的距离、由距离传感器16b和16c检测到的距离、以及由距离传感器16e和16f检测到的距离之间的差异,来确定足连接体26的足底表面相对于地表面S的倾斜度。
当驱动趾关节27以使趾部26a和踵部26b与路面贴靠时,根据第二实施例的机器人100基于机器人100的跌倒方向选择布置在趾部26a上的距离传感器16中的三个距离传感器16,并基于踵部26b与路面之间的距离选择布置在踵部26b上的距离传感器16中的一个距离传感器16以与路面的距离贴近。
接着,将参考图13至17说明根据第二实施例的机器人100的步行操作期间执行的控制处理。图13是图示机器人100根据步行操作期间的步行操作模式来更改激活的距离传感器的数量的方式的视图。图14是图示当机器人100的腿部20处于支撑腿状况时执行的控制处理的概要的流程图。图15是图示其中机器人100上的足连接体26的趾部26a的一部分与障碍物B接触的状态的视图。图16是图示根据第二实施例的传递函数的视图。图17是图示当机器人100的腿部20处于抬升腿状况时执行的控制处理的概要的流程图。
如图13所示,机器人100根据步行操作模式更改布置在足连接体26上的距离传感器中的激活的距离传感器的数量。机器人100能够区别其中腿部20用作支撑腿的步行操作模式和其中腿部20用作抬升腿的步行操作模式。机器人100还可以被构造为能够例如基于步态数据或距离传感器16的输出值来检测支撑腿是否完全着地以及抬升腿是否完全抬升。
作为一个规则,当腿部20处于支撑腿状况时,激活布置在趾部26a上的距离传感器中的三个(例如,在图13中,当左腿部20L处于支撑腿状况时,对于左足部距离传感器16L,从t3延续到t5的区间)。但是,注意,当除了了趾部26a之外踵部26b也与路面接触时,选择布置在趾部26a上的距离传感器16中的三个并选择布置在踵部26b上的距离传感器16中的一个,使得激活合计四个距离传感器16(例如,在图13中,对于左足部距离传感器16L,从t2延续到t3的区间)。在整个足连接体26完全着地于路面上使得腿部20进入支撑腿状况之前,激活全部距离传感器16(图中的六个距离传感器)(例如,在图13中,对于左足部距离传感器16L,从t1延续到t2的区间)。
作为一个规则,当腿部20处于抬升腿状况时,激活全部距离传感器(图中的六个距离传感器)(例如,在图13中,当右腿部20R处于抬升腿状况时,对于右足部距离传感器16R,从t2延续到t5的区间)。但是,注意,当趾部26a和踵部26b两者均与路面接触时,选择布置在趾部26a上的距离传感器16中的三个并选择布置在踵部26b上的距离传感器16中的一个,使得激活合计四个距离传感器16(例如,在图13中,对于右足部距离传感器16R,从t5延续到t6的区间)。当趾部26a与路面接触且踵部26b提升时,激活布置在趾部26a上的距离传感器中的三个(例如,在图13中,对于右足部距离传感器16R,从t6延续到t8的区间)。
因此,当腿部20从抬升腿状况切换为支撑腿状况时,初始地激活全部距离传感器,而激活的距离传感器的数量以步进方式减小。一旦足底完全着地从而进入支撑腿状况,激活最少需要数量的距离传感器(图中的三个距离传感器)(在图13中,对于右足部距离传感器16R,从t2延续到t8的区间,即,例如右腿部20R从抬升腿状况完全着地于路面从而进入支撑腿状况的时段)。
注意,时间点t2和t8表示先前用作支撑腿的右腿部20R已经完全离开地面并且先前用作抬升腿的左腿部20L完全着地时的时间点。时间点t5表示先前用作抬升腿的右腿部20R完全着地并且先前用作支撑腿的左腿部20L已经完全离开地面时的时间点。时间点t3和t5表示先前用作支撑腿的腿部20的踵部26b已经完全离开地面时的时间点。
现在,将利用如图14所示的流程图来说明当机器人100的腿部20处于支撑腿状况时执行的控制处理。假定在如图14所示的控制处理期间,机器人100的足连接体26的一部分与不平整地面上的障碍物B接触。图15是图示机器人100的趾部26a的一部分与障碍物B接触的状态的视图。在图15中,由虚线表示将由机器人100实现的总体位置/姿态。机器人100在箭头C所示的方向上控制其位置/姿态,以实现由虚线表示的目标位置/姿态。
首先,在机器人100的步行操作期间执行的用于将腿部20中的一个从抬升腿状况切换为支撑腿状况的处理中,对腿部20是否完全着地进行判定(步骤S401)。当判定结果表明腿部20完全着地(即,腿部20处于支撑腿状况)时,如上所述,从布置在趾部26a上的四个距离传感器16中选择三个距离传感器16。换言之,检测机器人100的跌倒方向(步骤S402)。接着,基于跌倒方向从布置在趾部26a上的四个距离传感器16中选择两个距离传感器16(步骤S403)。接着,基于足底与路面之间的距离从布置在趾部26a上的剩余的距离传感器16中选择一个距离传感器16(步骤S404)。注意,基于跌倒方向从布置在趾部26a上的四个距离传感器16中选择三个距离传感器16的方法与第一实施例中从布置在足连接体26上的四个距离传感器16中选择三个距离传感器16的方法相似,因此可以省略此方法的说明。
接着,对踵部26b是否提升(即,是否与路面接触)进行判定(步骤S405)。当判定结果表明踵部26b提升(即,未与路面接触)时(当仅趾部26a与路面接触使得机器人100立于趾尖上时),根据在步骤S403和S404中所选择的三个距离传感器16来计算与路面的足部偏差(步骤S406)。这里,趾部26a的目标位置/姿态与实际位置/姿态之间的足部偏差(侧倾,,俯仰,z)被设定为(Δθ,Δz)。注意,z表示竖直方向测量高度。例如,当选择三个距离传感器16a、16b、16c时,可以利用以下转换方程式来计算足部偏差。根据以下方程式所示的转换矩阵,能够利用以下转换方程式来计算足部偏差。根据以下方程式中所示的转换矩阵,可以利用足底与距离传感器16的布置位置之间的几何关系的近似,根据各个距离传感器16的输出值中的偏差(Δz1,Δz2,Δz3,Δz4)以及与距离传感器16的偏差相对应的三行四列转换矩阵,来唯一地确定足部偏差。注意,转换矩阵中各个元素的值根据选择的距离传感器而不同。
[方程式5]
另一方面,如果判定结果表示踵部26b着地(即,与路面接触)(趾部26a和踵部26b两者均与路面接触),则首先基于足底与路面之间的距离从布置在踵部26b上的两个距离传感器16中选择一个距离传感器16(步骤S407)。更具体而言,从设置在踵部26b上的两个距离传感器16e和16f中选择具有最小测量高度的距离传感器16。
接着,根据在步骤S403、S404和S407中选择的四个距离传感器16来计算与路面的足部偏差(步骤S408)。这里,趾部26a的目标位置/姿态与实际位置/姿态之间的足部偏差(侧倾,俯仰,z,趾部)被设定为(Δθ,Δz,Δθtoe)。注意,Δθtoe表示趾部26a相对于趾关节27的转角偏差。例如,当从趾部26a选择三个距离传感器16a、16b和16c并且从踵部26b选择一个距离传感器16e时,可以利用以下转换方程式来计算足部偏差。根据以下方程式所示的转换矩阵,可以利用足底与距离传感器16的布置位置之间的几何关系的近似,根据分别与距离传感器16a至16f对应的输出值中的偏差(Δz1,Δz2,Δz3,Δz4,Δz5,Δz6)以及与各个距离传感器16的偏差相对应的四行六列转换矩阵,来唯一地确定足部偏差。注意,转换矩阵中各个元素的值根据距离传感器而不同。
[方程式6]
另一方面,如果步骤S401的判定结果表明腿部20未完全着地(即,腿部20尚未处于支撑腿状态),则激活布置在趾部26a和踵部26b上的全部距离传感器16,并根据全部距离传感器16计算与路面的足部偏差(步骤S409)。例如,当激活全部六个距离传感器16a、16b、16c、16d、16e、16f时,可以利用以下转换方程式来计算足部偏差。
[方程式7]
接着,利用步骤S406、S408和S409任一者中计算得到的足部偏差,计算用于实际校正步态数据的足部校正量(步骤S410)。例如,可以通过以足部偏差作为输入并以足部校正量作为输出的传递函数,来计算足部校正量。图16是图示以足部偏差作为输入并以足部校正量作为输出的传递函数的视图。如图所示,对于足部校正量(侧倾),侧倾偏差经过传递函数Cφ(s)。对于足部校正量(俯仰),俯仰偏差Δθ经过传递函数Cθ(s)。对于足部校正量(z),z偏差Δz经过传递函数Cz(s)。对于足部校正量(趾部),趾部偏差Δθtoe经过传递函数Cθtoe(s)。注意,在所采用的距离传感器被切换使得足部偏差变为不连续的情况下,这些传递函数优选地具有由此减小高频增益的特性。
然后,机器人100校正步态数据以实现在步骤S410中计算得到的足部校正量(步骤S411)。当要继续操作时,机器人100接着返回到步骤S401并继续该处理,当要结束操作时,机器人100结束该处理。
作为一个规则,当腿部20处于支撑腿状况时,激活布置在趾部26a上的距离传感器中的三个。当除了了趾部26a之外踵部26b也与路面接触时,从布置在趾部26a上的距离传感器16中选择三个距离传感器16并从布置在踵部26b上的距离传感器16中选择一个距离传感器16,使得激活合计四个距离传感器16。在整个足连接体26完全着地于路面上使得腿部20进入支撑腿状况之前,激活全部距离传感器16(图中的六个距离传感器)。通过激活全部传感器直到足连接体26完全着地于路面上,足连接体26可以迅速地与路面贴靠。结果,可以有效地抑制着地期间的外部干扰。
现在,将利用如图17所示的流程图来说明当机器人100的腿部20处于抬升腿状况时执行的控制处理。首先,在机器人100的步行操作期间执行的用于将腿部20中的一个从支撑腿状况切换为抬升腿状况的处理中,对腿部20是否已经完全离开地面进行判定(步骤S501)。当判定结果表明腿部20已经完全离开地面(即,腿部20处于抬升腿状况)时,如上所述,激活全部距离传感器16,并根据全部距离传感器16来计算与路面的足部偏差(步骤S502)。
另一方面,如果步骤S301的判定结果表明腿部20尚未完全离开地面(即,腿部20尚未处于抬升腿状况),则如上所述,从布置在趾部26a上的四个距离传感器16中选择三个距离传感器16。换言之,检测机器人100的跌倒方向(步骤S503)。接着,基于跌倒方向从布置在趾部26a上的四个距离传感器16中选择两个距离传感器16(步骤S504)。接着,基于足底与路面之间的距离从布置在趾部26a上的剩余的距离传感器16中选择一个距离传感器16(步骤S505)。注意,基于跌倒方向从布置在趾部26a上的四个距离传感器16中选择三个距离传感器16的方法与第一实施例中从布置在足连接体26上的四个距离传感器16中选择三个距离传感器16的方法相似,因此可以省略此方法的说明。
接着,对踵部26b是否提升(即,是否与路面接触)进行判定(步骤S506)。当判定结果表明踵部26b提升(即,与路面接触)时(当仅趾部26a与路面接触使得机器人100立于趾尖上时),根据在步骤S504和S505中所选择的三个距离传感器16来计算与路面的足部偏差(步骤S507)。
另一方面,如果判定结果表示踵部26b着地(即,与路面接触)(趾部26a和踵部26b两者均与路面接触),则首先基于足底与路面之间的距离从布置在踵部26b上的两个距离传感器16中选择一个距离传感器16(步骤S508)。更具体而言,从设置在踵部26b上的两个距离传感器16e和16f中选择具有最小测量高度的距离传感器16。接着,根据在步骤S504、S505和S508中选择的四个距离传感器16来计算与路面的足部偏差(步骤S509)。
接着,利用步骤S502、S507和S509任一者中计算得到的足部偏差,计算用于实际校正步态数据的足部校正量(步骤S510)。然后,机器人100校正步态数据以实现在步骤S510中计算得到的足部校正量(步骤S511)。当要继续操作时,机器人100接着返回到步骤S501并继续该处理,当要结束操作时,机器人100结束该处理。
在抬升腿已经完全离开地面之前,足底与路面保持接触,因此,通过以此方式选择并激活距离传感器16中的三个,保持支撑腿的校正量。此外,通过一旦抬升腿已经完全离开地面就选择并激活全部距离传感器,抬升腿即使在接触路面之后也能迅速地在避开路面的方向上调整。
如上所述,通过检测机器人100的跌倒方向、并且基于检测结果从趾部26a选择三个距离传感器16并从踵部26b选择一个距离传感器16以实现目标值,能够在有效地获得用于使机器人100的躯干(主体10)正位的地面反作用力矩的同时维持足底与路面之间的接触。因此,通过在保持支撑腿与路面紧密接触的同时从足底接收地面反作用力,可以容易地执行用于使机器人100的躯干正位的稳定性控制,结果,机器人100能够在不平整的地面上步行而不会跌倒。
在上述实施例中,机器人100具有两条腿,但是本发明不限于此,并可以应用于具有至少两条腿的腿式机器人,其中在腿的各个下端上设置足部,并且在足部的足底上设置至少三个距离传感器。
虽然已经参考本发明的示例实施例说明了本发明,但是应该理解的是,本发明不限于所说明的实施例或构造。相反,本发明意在覆盖各种修改方案和等同配置。此外,虽然示例实施例的各种元素在各种组合和构造中示出,但是包括更多、更少或仅单个原件的其他组合和构造也落在要求权利的本发明的范围内。
Claims (9)
1.一种腿式机器人(100),包括:
主体(10);
腿部(20),其连接到所述主体(10);
足部(26),其设置在所述腿部(20)的下端;
跌倒方向检测单元,其检测所述主体(10)的跌倒方向;
控制单元(30),其基于步态数据来控制对所述腿部(20)的关节的驱动;以及
距离检测单元,其检测所述足部(26)的足底与路面之间的距离,所述腿式机器人特征在于:
所述距离检测单元包括设置在所述足部(26)的足底上的至少三个距离传感器;
所述控制单元(30)具有距离传感器选择装置(63)和步态数据校正装置(64),所述距离传感器选择装置(63)用于选择距离传感器,所述步态数据校正装置(64)用于基于来自由所述距离传感器选择装置(63)选择的距离传感器的检测信号来校正所述步态数据;并且
所述距离传感器选择装置(63)选择第一距离传感器、第二距离传感器和第三距离传感器,
其中,所述距离传感器选择装置(63)基于所述跌倒方向检测单元的检测结果从所述距离传感器中选择所述第一距离传感器和所述第二距离传感器,并基于所述足部(26)的足底与所述路面之间的距离从未被选择的所述距离传感器中选择所述第三距离传感器。
2.根据权利要求1所述的腿式机器人(100),其中,所述第三距离传感器是未被选择的所述距离传感器中所述足部(26)的足底与所述路面之间的距离最小的距离传感器。
3.根据权利要求1或2所述的腿式机器人(100),其中,所述控制单元(30)基于来自全部被选择的所述距离传感器的检测信号来计算所述足底与所述路面之间的偏差值,并通过使用所述偏差值来计算用于校正所述步态数据的足校正量。
4.根据权利要求1或2所述的腿式机器人(100),其中,所述控制单元(30)判定所述腿部(20)的步行动作模式是支撑腿步行动作模式还是抬升腿步行动作模式,并基于对所述腿部(20)的步行动作模式的判定结果来改变由所述距离传感器选择装置(63)所选择的距离传感器的数量。
5.根据权利要求1或2所述的腿式机器人(100),其中,当所述腿部(20)的步行动作模式是支撑腿步行动作模式时,所述控制单元(30)基于来自所述距离检测单元的输出信号来判定所述腿部(20)的足底是否完全着地在所述路面上,并且
所述距离传感器选择装置(63)在所述腿部(20)的足底完全着地在所述路面上时选择所述第一距离传感器、所述第二距离传感器和所述第三距离传感器,而在所述腿部(20)的足底未完全着地在所述路面上时选择全部所述距离传感器。
6.根据权利要求1或2所述的腿式机器人(100),其中,当所述腿部(20)的步行动作模式是支撑腿步行动作模式时,所述控制单元(30)基于所述步态数据来判定所述腿部(20)的足底是否完全着地在所述路面上,并且
所述距离传感器选择装置(63)在所述腿部(20)的足底完全着地在所述路面上时选择所述第一距离传感器、所述第二距离传感器和所述第三距离传感器,而在所述腿部(20)的足底未完全着地在所述路面上时选择全部所述距离传感器。
7.根据权利要求1或2所述的腿式机器人(100),其中,当所述腿部(20)的步行动作模式是抬升腿步行动作模式时,所述控制单元(30)基于所述距离检测单元的输出信号判定所述腿部(20)的足底是否完全抬离所述路面,并且
所述距离传感器选择装置(63)在所述腿部(20)的足底未完全抬离所述路面时选择所述第一距离传感器、所述第二距离传感器和所述第三距离传感器,而在所述腿部(20)的足底完全抬离所述路面时选择全部所述距离传感器。
8.根据权利要求1或2所述的腿式机器人(100),其中,当所述腿部(20)的步行动作模式是抬升腿步行动作模式时,所述控制单元(30)基于所述步态数据来判定所述腿部(20)的足底是否完全抬离所述路面,并且
所述距离传感器选择装置(63)在所述腿部(20)的足底未完全抬离所述路面时选择所述第一距离传感器、所述第二距离传感器和所述第三距离传感器,而在所述腿部(20)的足底完全抬离所述路面时选择全部所述距离传感器。
9.一种腿式机器人(100)的控制方法,所述腿式机器人(100)包括:主体(10);腿部(20),其连接到所述主体(10);足部(26),其设置在所述腿部(20)的下端;跌倒方向检测单元,其检测所述主体(10)的跌倒方向;以及至少三个距离传感器,其检测所述足部(26)的足底与路面之间的距离,所述控制方法的特征在于包括以下步骤:
基于所述跌倒方向检测单元的检测结果从所述距离传感器中选择第一距离传感器和第二距离传感器;
基于所述足部(26)的足底与所述路面之间的距离从未被选择的所述距离传感器中选择第三距离传感器;以及
根据基于来自被选择的所述距离传感器的检测信号校正步态数据而得到的步态数据,控制对所述腿部(20)的关节的驱动。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007278107A JP4466715B2 (ja) | 2007-10-25 | 2007-10-25 | 脚式ロボット、及びその制御方法 |
JP2007-278107 | 2007-10-25 | ||
PCT/IB2008/003245 WO2009053838A2 (en) | 2007-10-25 | 2008-10-22 | Legged robot and control method of legged robot |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101835569A CN101835569A (zh) | 2010-09-15 |
CN101835569B true CN101835569B (zh) | 2012-02-08 |
Family
ID=40466936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008801133215A Expired - Fee Related CN101835569B (zh) | 2007-10-25 | 2008-10-22 | 腿式机器人和腿式机器人的控制方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8172013B2 (zh) |
EP (1) | EP2207645B1 (zh) |
JP (1) | JP4466715B2 (zh) |
KR (1) | KR101111714B1 (zh) |
CN (1) | CN101835569B (zh) |
AT (1) | ATE516116T1 (zh) |
WO (1) | WO2009053838A2 (zh) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011002306A1 (en) * | 2009-07-01 | 2011-01-06 | Rex Bionics Limited | Control system for a mobility aid |
JP5659898B2 (ja) * | 2011-03-22 | 2015-01-28 | トヨタ自動車株式会社 | 脚式ロボット、その制御方法、及び制御プログラム |
CN102372042A (zh) * | 2011-09-07 | 2012-03-14 | 广东工业大学 | 一种双足机器人的运动规划系统 |
CN102541068A (zh) * | 2011-12-27 | 2012-07-04 | 广东工业大学 | 一种双足机器人跨越障碍物的下肢运动规划系统 |
US9605952B2 (en) * | 2012-03-08 | 2017-03-28 | Quality Manufacturing Inc. | Touch sensitive robotic gripper |
JP5959899B2 (ja) * | 2012-03-30 | 2016-08-02 | 本田技研工業株式会社 | 接触状態推定装置 |
CN104002887B (zh) * | 2014-05-26 | 2017-07-25 | 上海大学 | 快速转向球形机器人 |
US9259838B1 (en) * | 2014-07-24 | 2016-02-16 | Google Inc. | Systems and methods for ground plane estimation |
US9618937B1 (en) | 2014-08-25 | 2017-04-11 | Google Inc. | Slip detection using robotic limbs |
US9387588B1 (en) * | 2014-08-25 | 2016-07-12 | Google Inc. | Handling gait disturbances with asynchronous timing |
US9517561B2 (en) | 2014-08-25 | 2016-12-13 | Google Inc. | Natural pitch and roll |
US10081098B1 (en) | 2014-08-25 | 2018-09-25 | Boston Dynamics, Inc. | Generalized coordinate surrogates for integrated estimation and control |
US9446518B1 (en) | 2014-11-11 | 2016-09-20 | Google Inc. | Leg collision avoidance in a robotic device |
US9499218B1 (en) | 2014-12-30 | 2016-11-22 | Google Inc. | Mechanically-timed footsteps for a robotic device |
US9594377B1 (en) | 2015-05-12 | 2017-03-14 | Google Inc. | Auto-height swing adjustment |
CN104816767B (zh) * | 2015-05-21 | 2017-01-25 | 东南大学 | 具有检测障碍物高度和距离的弹跳机器人及检测方法 |
US9586316B1 (en) | 2015-09-15 | 2017-03-07 | Google Inc. | Determination of robotic step path |
CN105203129B (zh) * | 2015-10-13 | 2019-05-07 | 上海华测导航技术股份有限公司 | 一种惯导装置初始对准方法 |
US9778132B1 (en) * | 2015-12-16 | 2017-10-03 | X Development Llc | Methods and systems for force sensor calibration |
US9789919B1 (en) | 2016-03-22 | 2017-10-17 | Google Inc. | Mitigating sensor noise in legged robots |
US10179619B1 (en) * | 2016-03-30 | 2019-01-15 | Schaft Inc. | Robotic foot sensor |
CN105947012A (zh) * | 2016-05-10 | 2016-09-21 | 南京航空航天大学 | 差分齿轮驱动机器人腿机构及控制方法 |
KR101820775B1 (ko) * | 2016-05-27 | 2018-01-22 | (주)한국미래기술 | 로봇 발 착지 제어시스템 |
JP6508167B2 (ja) * | 2016-11-11 | 2019-05-08 | トヨタ自動車株式会社 | 歩行訓練システム |
CN107380294A (zh) * | 2017-03-31 | 2017-11-24 | 西华大学 | 四足机器人仿生足 |
CN107861130A (zh) * | 2017-11-28 | 2018-03-30 | 深圳市优必选科技有限公司 | 一种足部探障装置及机器人 |
CN109987169B (zh) * | 2017-12-29 | 2021-01-08 | 深圳市优必选科技有限公司 | 双足机器人的步态控制方法、装置、终端设备及介质 |
CN109172091A (zh) * | 2018-09-27 | 2019-01-11 | 南京市儿童医院 | 一种踝关节康复装置 |
CN112947398A (zh) * | 2019-12-11 | 2021-06-11 | 深圳市优必选科技股份有限公司 | 一种机器人步态规划方法、装置、可读存储介质及机器人 |
CN111924020B (zh) * | 2020-08-11 | 2022-07-12 | 腾讯科技(深圳)有限公司 | 用于机器人的腿部组件及设备 |
CN113753147B (zh) * | 2021-09-29 | 2022-12-09 | 中国建筑第八工程局有限公司 | 型钢自爬式机器人用的防倾覆装置及其防倾覆方法 |
CN115107900B (zh) * | 2022-07-28 | 2023-04-18 | 南京信息工程大学 | 一种可变形的足端机构 |
KR102631521B1 (ko) | 2023-12-01 | 2024-01-31 | 주식회사세오 | 바닥 감지 장치가 구비된 자율 주행 로봇 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1477283A1 (en) * | 2002-02-18 | 2004-11-17 | Japan Science and Technology Agency | Two-legged walking locomotion apparatus and its walking controller |
CN1610604A (zh) * | 2001-12-28 | 2005-04-27 | 本田技研工业株式会社 | 步行式移动机器人及其地面反作用力检测装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001353686A (ja) | 2000-06-14 | 2001-12-25 | Sony Corp | 脚式移動ロボットのための足部構造、並びに路面検知装置 |
JP3569768B2 (ja) | 2002-09-03 | 2004-09-29 | 独立行政法人 科学技術振興機構 | 二脚歩行式移動装置 |
US7236852B2 (en) * | 2002-10-11 | 2007-06-26 | Sony Corporation | Motion controlling apparatus and method and remote controlling apparatus and method for legged mobile robot |
JP2004345024A (ja) | 2003-05-22 | 2004-12-09 | Seiko Epson Corp | 脚式歩行ロボットの足部構造およびこれを備えた脚式歩行ロボット |
KR100835361B1 (ko) | 2003-08-29 | 2008-06-04 | 삼성전자주식회사 | 간이 지면반력 센서를 이용한 보행 로봇 및 그 제어 방법 |
JP4513320B2 (ja) | 2003-12-17 | 2010-07-28 | ソニー株式会社 | ロボット装置、並びにロボット装置の運動制御方法 |
KR100571829B1 (ko) | 2004-02-06 | 2006-04-17 | 삼성전자주식회사 | 구조체, 발 구조 및 이를 채용한 로봇 |
-
2007
- 2007-10-25 JP JP2007278107A patent/JP4466715B2/ja not_active Expired - Fee Related
-
2008
- 2008-10-22 KR KR1020097019951A patent/KR101111714B1/ko not_active IP Right Cessation
- 2008-10-22 US US12/594,088 patent/US8172013B2/en not_active Expired - Fee Related
- 2008-10-22 EP EP08841605A patent/EP2207645B1/en not_active Not-in-force
- 2008-10-22 CN CN2008801133215A patent/CN101835569B/zh not_active Expired - Fee Related
- 2008-10-22 WO PCT/IB2008/003245 patent/WO2009053838A2/en active Application Filing
- 2008-10-22 AT AT08841605T patent/ATE516116T1/de not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1610604A (zh) * | 2001-12-28 | 2005-04-27 | 本田技研工业株式会社 | 步行式移动机器人及其地面反作用力检测装置 |
EP1477283A1 (en) * | 2002-02-18 | 2004-11-17 | Japan Science and Technology Agency | Two-legged walking locomotion apparatus and its walking controller |
Non-Patent Citations (2)
Title |
---|
JP特开2001-353686A 2001.12.25 |
JP特开2004-90194A 2004.03.25 |
Also Published As
Publication number | Publication date |
---|---|
EP2207645A2 (en) | 2010-07-21 |
JP2009101498A (ja) | 2009-05-14 |
KR20090119984A (ko) | 2009-11-23 |
WO2009053838A2 (en) | 2009-04-30 |
US8172013B2 (en) | 2012-05-08 |
US20100126785A1 (en) | 2010-05-27 |
ATE516116T1 (de) | 2011-07-15 |
CN101835569A (zh) | 2010-09-15 |
KR101111714B1 (ko) | 2012-02-16 |
JP4466715B2 (ja) | 2010-05-26 |
WO2009053838A3 (en) | 2009-06-11 |
EP2207645B1 (en) | 2011-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101835569B (zh) | 腿式机器人和腿式机器人的控制方法 | |
US20120310412A1 (en) | Robot and control method thereof | |
CN102149596B (zh) | 移动体及其控制方法 | |
KR100978356B1 (ko) | 이동 로봇의 제어장치 | |
KR20120060578A (ko) | 보행 로봇 및 그 자세 제어 방법 | |
KR100912688B1 (ko) | 이동 로봇의 제어장치 | |
EP2343163B1 (en) | Walking robot and method of controlling balance thereof | |
TW200303809A (en) | Bipedal walking device and control device therefor | |
CN101950176B (zh) | 一种机器人自主进行zmp标定的方法 | |
JP5181957B2 (ja) | ロボット制御装置、ロボット制御方法およびロボット制御プログラム | |
KR100835361B1 (ko) | 간이 지면반력 센서를 이용한 보행 로봇 및 그 제어 방법 | |
US8805582B2 (en) | Robot control apparatus | |
KR20040068438A (ko) | 보행식 로봇 및 그 위치이동방법 | |
WO2015137169A1 (ja) | 地形判断装置、脚式移動ロボット、ロボットシステム、脚式移動ロボットの制御方法、及び、ロボットシステムの制御方法 | |
KR20090126038A (ko) | 보행 로봇 및 그 제어 방법 | |
JP4905041B2 (ja) | ロボット制御装置 | |
US20100286822A1 (en) | Apparatus and method for robot control | |
JP5040693B2 (ja) | 脚式ロボット、及びその制御方法 | |
JP2005028567A (ja) | 2足歩行移動装置の歩行制御方法 | |
JP2006239848A (ja) | 支持脚をもつ歩行ロボットのオフセット調整システム及びオフセット調整方法 | |
JP2018058177A (ja) | ロボット、姿勢制御装置、姿勢制御方法、および制御プログラム | |
KR100425694B1 (ko) | 로봇의 보행제어방법 | |
JP5228589B2 (ja) | 脚式ロボット、及びその制御方法 | |
Kien et al. | Motion planning of a bipedal walking robot with leg-mounted ultrasonic sensors—An experimental study | |
WO2024041132A1 (zh) | 移动机器人的运动控制方法和移动机器人 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120208 Termination date: 20141022 |
|
EXPY | Termination of patent right or utility model |