(57)【要約】【課題】二足歩行の際に踏み出す足部の姿勢を制御することで安定した歩行動作を可能にする二足歩行ロボットを提供する。【解決手段】二足歩行ロボット１は、一対の脚部２と、各脚部２の下端に連結された足部３と、脚部２と足部３を駆動するサーボモーター８ａと、サーボモーター８ａの駆動を制御する制御部９を備える。制御部９は、一対の脚部２及び足部３による二足歩行の歩行動作を制御し、遊脚側の足部３が床面Ｆに着地する際に足裏３ａの踵部から先に床面Ｆに着地させる。具体的には、遊脚側の足部３が床面Ｆに着地する際に、一対の足部３の内側に対応する足裏３ａの踵部の内側から先に着地させる。【選択図】図４Ａ
2016040054.tif 000002
【特許請求の範囲】
【請求項１】
一対の脚部と、前記各脚部の下端に連結された足部と、前記脚部と前記足部を駆動する駆動部と、前記駆動部の駆動を制御することで前記一対の脚部及び足部による二足歩行の歩行動作を制御する制御部と、を備え、
遊脚側の前記足部が床面に着地する際に足裏の踵部から先に前記床面に着地するように前記制御部が前記駆動部を制御する二足歩行ロボットであって、
前記遊脚側の前記足部が前記床面に着地する際に、一対の前記足部の内側に対応する前記足裏の踵部の内側から先に着地させるように、前記制御部が前記駆動部を制御することを特徴とする二足歩行ロボット。
【請求項２】
前記脚部と前記足部を連結し、前記駆動部の駆動により前記足部を前記脚部に対して可動させる足首関節部を有し、
前記足首関節部は、前記足部の踵側から爪先側に向かう進行方向の軸回りに前記駆動部により前記足部を揺動可能な第１足首回転軸と、前記足部の幅方向の軸回りに前記駆動部により前記足部を揺動可能な第２足首回転軸と、を備え、
前記遊脚側の前記足部が前記床面に着地する際に、前記第１足首回転軸によって前記足部の外側が持ち上がり、かつ、前記第２足首回転軸により前記足部の爪先側が持ち上がった状態で前記足裏を着地させるように前記制御部が前記駆動部を制御する請求項１に記載の二足歩行ロボット。
【請求項３】
前記足部が前記床面に着地する際に前記床面の形状に応じて前記足部を少なくとも前記第１又は第２足首回転軸の一方の軸回りに可動させる非拘束状態から、前記足部が前記床面に着地した後に前記駆動部の駆動に追従して前記足部を少なくとも前記第１又は第２足首回転軸の一方の軸回りに可動させる拘束状態にする前記制御部と、を備える請求項２に記載の二足歩行ロボット。
【請求項４】
前記第２足首回転軸は、前記進行方向における前記足部の踵側に位置し、
前記床面の形状に応じて前記足部を前記第２足首回転軸回りに可動させ、前記床面に沿って着地した前記足裏の中心部の基準位置から鉛直方向に伸びる基準線と、前記基準位置と前記二足歩行ロボットの重心位置を結んだ重心線とのなす角は前記二足歩行ロボットの重心軌道により経時的に可変し、前記なす角を前記幅方向から見た角度を第２角度とし、
支持脚期間中に前記足裏が床面と接触して生じる床反力の作用点となるＺＭＰが前記基準位置に固定するように前記重心軌道が設定された場合の前記第２角度を第２理想角とし、
前記制御部は、前記第２角度の実角度が前記第２理想角より大きくなるように前記床面に沿って前記足裏を着地させ、
前記制御部は、前記第２角度の実角度が前記第２理想角に追いつくと、前記第２足首回転軸を前記非拘束状態から前記拘束状態にする請求項３に記載の二足歩行ロボット。
【請求項５】
前記第１足首回転軸は、前記幅方向における前記足部の内側に位置し、
前記なす角を前記進行方向から見た角度を第１角度とし、
支持脚期間中に前記足裏が床面と接触して生じる床反力の作用点となるＺＭＰが前記基準位置に固定するように前記重心軌道が設定された場合の前記第１角度を第１理想角とし、
前記制御部は、前記第１角度の実角度が前記第１理想角より大きくなるように前記床面に沿って前記足裏を着地させ、前記第１角度が前記第１理想角に追いつくと、前記第１足首回転軸を前記非拘束状態から前記拘束状態にする請求項４に記載の二足歩行ロボット。
【請求項６】
鉛直方向を基準として前記二足歩行ロボットの前後方向に対する前記二足歩行ロボットの上半身の前後傾斜角を測定する前後傾斜センサーを備え、
前記制御部は、前記前後傾斜角が生じるように前記床面に沿って前記足裏を着地させ、
前記制御部は、前記前後傾斜角が０度になると、前記第２足首回転軸を前記非拘束状態から前記拘束状態にする請求項３に記載の二足歩行ロボット。
【請求項７】
鉛直方向を基準として前記二足歩行ロボットの左右方向に対する前記二足歩行ロボットの上半身の左右傾斜角を測定する左右傾斜センサーを備え、
前記制御部は、前記左右傾斜角が生じるように前記床面に沿って前記足裏を着地させ、
前記制御部は、前記左右傾斜角が０度になると、前記第１足首回転軸を前記非拘束状態から前記拘束状態にする請求項３に記載の二足歩行ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は二足歩行ロボットに関する。
【背景技術】
【０００２】
ロボットが二足歩行する際、遊脚の下端に取り付けられた足部が、その足裏の踵部から先に床面に着地し、その後、足裏の全体が床面に着地するように歩行動作が制御される二足歩行ロボットが知られる（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２９９０３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、先に床面に着地させる足裏の踵部は、足の幅方向に渡る全域を同時に床面に着地させるように制御するのが一般的である。よって、そのように制御した場合、歩行動作の位置ずれ等により足裏の踵部が足の幅方向の外側から先に着地してしまう場合がある。
【０００５】
ロボットが二足歩行する際、ロボットの重心は、ロボットの進行方向に移動するとともに、ロボットの進行方向に向かって左右方向にも移動する。ロボットの左右方向に着目すると、ロボットが二足歩行する際、進行方向に向かって踏み出した足側（右足なら右側、左足なら左側）にロボットの重心が移動する。そして、踏み出した足を踏ん張ることより移動してきた重心をもときた方向に方向転換させる。このような歩行動作を一対の足で交互に繰り返すことにより、進行方向に向かって自身の重心を左右交互に振るようにしてロボットは歩行する。
【０００６】
そのため、足裏の踵部が足の幅方向の外側から先に着地してしまうと、踏み出した足側に重心が移動することで、踏み出した足裏に加わる荷重を足裏の中心に導くことが難しく、ロボットがバランスを崩し易くなる。
【０００７】
本発明の課題は、二足歩行の際に踏み出す足部の姿勢を制御することで安定した歩行動作を可能にする二足歩行ロボットを提供する。
【課題を解決するための手段及び発明の効果】
【０００８】
本発明の二足歩行ロボットは、
一対の脚部と、各脚部の下端に連結された足部と、脚部と足部を駆動する駆動部と、駆動部の駆動を制御することで一対の脚部及び足部による二足歩行の歩行動作を制御する制御部と、を備え、
遊脚側の足部が床面に着地する際に足裏の踵部から先に床面に着地するように制御部が駆動部を制御する二足歩行ロボットであって、
遊脚側の足部が床面に着地する際に、一対の足部の内側に対応する足裏の踵部の内側から先に着地させるように、制御部が駆動部を制御することを特徴とする。
【０００９】
本発明の二足歩行ロボットは、足部が床面に着地する際、一対の足部の内側に対応する足裏の踵部の内側から先に着地する。よって、足部の幅方向に着目すれば、踏み出した足裏の踵部の内側にロボットの荷重が加わると、踏み出した足側にロボットの重心が移動してくるため、足裏の踵部の内側に次いで外側も床面に着地する。そのため、足裏全体では足裏の踵部における内側が先に着地した後、足裏全体を同時又はほぼ同時に着地させることが可能となる。よって、踏み出した足裏に加わる荷重を足裏の中心に導くことが容易となる。したがって、ロボットのバランスを保つことが可能となり、ロボットを安定して歩行させることができる。
【００１０】
本発明の実施態様では、脚部と足部を連結し、駆動部の駆動により足部を脚部に対して可動させる足首関節部を有し、
足首関節部は、足部の踵側から爪先側に向かう進行方向の軸回りに駆動部により足部を揺動可能な第１足首回転軸と、足部の幅方向の軸回りに駆動部により足部を揺動可能な第２足首回転軸と、を備え、
遊脚側の足部が床面に着地する際に、第１足首回転軸により足部の外側が持ち上がり、かつ、第２足首回転軸により足部の爪先側が持ち上がった状態で足裏を着地させることができる。
【００１１】
足首関節部を足部の踵から爪先に向かう進行方向の軸回りと、足部の幅方向の軸回りとに揺動可能にすることで、足部の外側と爪先側が持ち上がった状態で足裏を着地させることができる。
【００１２】
また、本発明の実施態様では、
足部が床面に着地する際に床面の形状に応じて足部を少なくとも第１又は第２足首回転軸回りの一方の軸回りに可動させる非拘束状態から、足部が床面に着地した後に駆動部の駆動に追従して足部を少なくとも第１又は第２足首回転軸回りの一方の軸回りに可動させる拘束状態にする制御部と、を備えることができる。
【００１３】
したがって、例えば、床面に着地した足部の爪先側と踵側で床面の高さが異なる場合は、足部が床面に着地する際に第２足首回転軸回りに足部が可動することで床面の高さの違いを非拘束状態の足部で吸収できる。また、床面に着地した足部の内側と外側で床面の高さが異なる場合は、第１足首回転軸回りに足部が可動することで床面の高さの違いを非拘束状態の足部で吸収できる。
【００１４】
更に、本発明の実施態様では、
進行方向における足部の踵側に位置する第２足首回転軸を備え、
床面の形状に応じて足部を第２足首回転軸回りに可動させ、床面に沿って着地した足裏の中心部の基準位置から鉛直方向に伸びる基準線と、基準位置と二足歩行ロボットの重心位置を結んだ重心線とのなす角はロボットの重心軌道により経時的に可変し、なす角を幅方向から見た角度を第２角度とし、
支持脚期間中に足裏が床面と接触して生じる床反力の作用点となるＺＭＰが基準位置に固定するように重心軌道が設定された場合の第２角度を第２理想角とし、
制御部は、第２角度の実角度が第２理想角より大きくなるように床面に沿って足裏を着地させ、
制御部は、第２角度の実角度が第２理想角に追いつくと、第２足首回転軸を非拘束状態から拘束状態にすることができる。
【００１５】
また、幅方向における足部の内側に位置する第１足首回転軸を備え、
なす角を進行方向から見た角度を第１角度とし、
支持脚期間中に足裏が床面と接触して生じる床反力の作用点となるＺＭＰが基準位置に固定するように重心軌道が設定された場合の第１角度を第１理想角とし、
制御部は、第１角度の実角度が第１理想角より大きくなるように床面に沿って足裏を着地させ、第１角度が第１理想角に追いつくと、第１足首回転軸を非拘束状態から拘束状態にすることができる。
【００１６】
本発明者は二足歩行ロボットの歩行動作の安定化を図るために、様々なシミュレーションを行った結果、ロボットの足裏に加わる荷重について次の知見を得た。即ち、遊脚の着地後において、足裏が床面と接触して生じる床反力の作用点となるＺＭＰ（Ｚｅｒｏ  Ｍｏｍｅｎｔ  Ｐｏｉｎｔ）が足裏の中心部に向かって直線的に移動する場合にロボットの歩行動作が最も安定することを見出した。第１又は第２足首回転軸の少なくとも一方が非拘束状態の場合には足首回転軸の直下にロボットの荷重が加わる。そのため、足首回転軸を拘束状態にする際に、足裏に加わる荷重を足裏の中心部に移動させることで、ロボットの歩行動作を安定させることが可能になるとの結論に本発明者は到達した。そして、足首回転軸の直下に加わるロボットの荷重（ＺＭＰ）を足裏の中心部に移動させる方法として、ＺＭＰが足裏の中心部に固定された状態で歩行するロボットの重心軌道を利用した。即ち、床面に沿って足裏を着地させる際に実角度（第１角度、第２角度）を理想角（第１理想角、第２理想角）より大きくし、その後、実角度が理想角に追いついた際に足首回転軸を非拘束状態から拘束状態にする。すると、ＺＭＰが足裏の中心部に固定された状態で歩行するロボットと同じように足首回転軸が拘束され、足裏の中心部に向かってＺＭＰが直線的に移動させることが可能となる。そのため、ロボットの安定した歩行動作が制御可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明の二足歩行ロボットの一例を示すスケルトン図。
【図２】図１のロボットの電気的構成の例１を示したブロック図。
【図３Ａ】歩行プログラムに基づき進行方向に向けて図１のロボットが歩行する歩行モーションの概略をロボットの幅方向から見た状態で示した実施例１のスケルトン図（進行方向に踏み出した足部の踵部が平坦な床面に着地した状況）。
【図３Ｂ】図３Ａに続き、足部の足裏全体が床面に着地した状況を示す実施例１のスケルトン図。
【図３Ｃ】図３Ｂに続き、足部の爪先側が床面に留まる一方で踵側が床面から離れる状況を示す実施例１のスケルトン図。
【図４Ａ】歩行プログラムに基づき進行方向に向けて図１のロボットが歩行する歩行モーションの概略をロボットの後方から進行方向に向けて見た状態で示した実施例１のスケルトン図（進行方向に踏み出した足部の内側が平坦な床面に着地した状況）。
【図４Ｂ】図４Ａに続き、足部の足裏全体が床面に着地した状態を示す実施例１のスケルトン図。
【図４Ｃ】図４Ｂに続き、足部の内側が床面に留まる一方で外側が床面から離れる状況を示す実施例１のスケルトン図。
【図５Ａ】歩行モーション上におけるロボットの重心位置より実際に歩行するロボットの重心位置が進んだ状態を示す実施例１のスケルトン図。
【図５Ｂ】歩行モーション上におけるロボットの重心位置より実際に歩行するロボットの重心位置が遅れた状態を示す実施例１のスケルトン図。
【図６】図１のロボットの電気的構成の例２を示したブロック図。
【図７Ａ】図６のプログラムの処理の一例を示すフローチャート。
【図７Ｂ】図７Ａのサブルーチンの一例を示すフローチャート。
【図８Ａ】図７ＢのステップＳ１２を説明するスケルトン図。
【図８Ｂ】図７ＢのステップＳ１５を説明するスケルトン図。
【図９Ａ】歩行プログラムに基づき進行方向に向けて図１のロボットが歩行する歩行モーションの概略をロボットの幅方向から見た状態で示した実施例２のスケルトン図（進行方向に踏み出した足部の踵部が平坦な床面に着地し、足裏全体が床面に着地した状況）。
【図９Ｂ】図９Ａに続き、足部の足裏全体が床面に着地した状況を示す実施例２のスケルトン図。
【図９Ｃ】図９Ｂに続き、足部の爪先側が床面に留まる一方で踵側が床面から離れる状況を示す実施例２のスケルトン図。
【図１０Ａ】歩行プログラムに基づき進行方向に向けて図１のロボットが歩行する歩行モーションの概略をロボットの後方から進行方向に向けて見た状態で示した実施例２のスケルトン図（進行方向に踏み出した足部の内側が平坦な床面に着地した状況）。
【図１０Ｂ】図１０Ａに続き、足部の足裏全体が床面に着地した状態を示す実施例２のスケルトン図。
【図１０Ｃ】図１０Ｂに続き、足部の内側が床面に留まる一方で外側が床面から離れる状況を示す実施例２のスケルトン図。
【図１１Ａ】歩行プログラムに基づき進行方向に向けて図１のロボットが歩行する歩行モーションの概略をロボットの幅方向から見た状態で示した実施例２のスケルトン図（進行方向に踏み出した足部の踵部が床面に着地し、爪先側が凸状の障害物上に着地した状況）。
【図１１Ｂ】図１１Ａに続き、足裏で障害物を踏んだ状況を示す実施例２のスケルトン図。
【図１１Ｃ】図１１Ｂに続き、爪先側が障害物を踏む一方で踵側が床面から離れる状況を示す実施例２のスケルトン図。
【図１２Ａ】歩行プログラムに基づき進行方向に向けて図１のロボットが歩行する歩行モーションの概略をロボットの後方から進行方向に向けて見た状態で示した実施例２のスケルトン図（進行方向に踏み出した足部の内側が床面に着地し、外側が凸状の障害物上に着地した状況）。
【図１２Ｂ】図１２Ａに続き、足裏で障害物を踏んだ状況を示す実施例２のスケルトン図。
【図１２Ｃ】図１２Ｂに続き、足部の内側が障害物を踏む一方で外側が床面から離れる状況を示す実施例２のスケルトン図。
【図１３Ａ】歩行モーション上のロボットの重心位置より実際に歩行するロボットの重心位置が進んだ状態を示す実施例２のスケルトン図。
【図１３Ｂ】歩行モーション上のロボットの重心位置より実際に歩行するロボットの重心位置が遅れた状態を示す実施例２のスケルトン図。
【図１４Ａ】図７Ａのプログラムの変形例を示すフローチャート。
【図１４Ｂ】図７Ｂのサブルーチンの変形例を示すフローチャート。
【図１５Ａ】図１４ＢのステップＳ１２を説明するスケルトン図。
【図１５Ｂ】図１４ＢのステップＳ１５を説明するスケルトン図。
【発明を実施するための形態】
【００１８】
図１に示すように本発明の一例のロボット１は、左右の脚部２（右脚は符号を省略）と、左右の脚部２の下端に位置し、矩形板状の足裏３ａを有する左右の足部３（右足は符号を省略）と、脚部２の上端に位置する本体部４（ロボット１の上半身）を備える。なお、ロボット１における各部材の関係を明確にするために本体部４は、便宜的に破線で示される。
【００１９】
左右の脚部２は、大腿部２ａと、下腿部２ｂと、大腿部２ａと下腿部２ｂを連結する膝関節部５をそれぞれ備える。大腿部２ａの下端には膝関節部５が連結され、大腿部２ａの上端には股関節部６（大腿部２ａと本体部４を連結する関節）が連結される。また、下腿部２ｂの上端には膝関節部５が連結され、下腿部２ｂの下端には足首関節部７（下腿部２ｂと足部３を連結する関節）が連結される。
【００２０】
膝関節部５は、図１に示すロボット１の横方向（ロボット１の幅方向）を軸として、下腿部２ｂを大腿部２ａに対して揺動可能な膝回転軸５ａである。
【００２１】
股関節部６は、図１に示すロボット１の横方向（ロボット１の幅方向）、縦方向（ロボット１の進行方向）及び高さ方向をそれぞれ軸として、各軸回りに大腿部２ａを本体部４に対して揺動可能な股回転軸である。股回転軸は、ロボット１の縦方向を軸とする第１股回転軸６ａ、ロボット１の横方向を軸とする第２股回転軸６ｂ、ロボット１の高さ方向を軸とする第３股回転軸６ｃを備える。各股回転軸６ａ、６ｂ、６ｃは互いの軸線が３次元空間で直交又は直交状に立体交差するように位置する。
【００２２】
足首関節部７は、図１に示すロボット１の横方向（ロボット１の幅方向）及び縦方向（ロボット１の進行方向）をそれぞれ軸として、各軸回りに足部３を下腿部２ｂに対して揺動可能な足首回転軸である。足首回転軸は、ロボット１の縦方向を軸とする第１足首回転軸７ａ、ロボット１の横方向を軸とする第２足首回転軸７ｂを備える。第１及び第２足首回転軸７ａ、７ｂの軸線は互いに直交又は直交状に立体交差するように位置する。また、第１足首回転軸７ａは足部３の幅方向における内側に位置し、第２足首回転軸７ｂは足部３の長さ方向における踵側に位置する。
【００２３】
図１では省略するが、膝関節部５、股関節部６及び足首関節部７の各回転軸（膝回転軸５ａ、股回転軸６ａ、６ｂ、６ｃ、足首回転軸７ａ、７ｂ）には、各回転軸をそれぞれ所定の角度に駆動できる駆動部８が備わる（図２参照）。駆動部８は、例えば、図示しない減速機を介して各回転軸をその軸回りに駆動させる。実施例１では駆動部８は電動モーター（例えば、サーボモーター８ａ）として構成され、各回転軸を独立して回転させるため、各回転軸に対応してサーボモーター８ａが個別に備わる。
【００２４】
図１に戻って、股関節部６に連結される本体部４の内部には制御部９が格納されるとともに、本体部４の内部の中央下部にロボット１の重心Ｇが位置する。図２に示すように制御部９はＣＰＵ１０、ＲＡＭ１１、ＲＯＭ１２を備え、これらがバス１３によりＩ／Ｏポート１４（入出力インターフェース）に接続される。Ｉ／Ｏポート１４には、駆動部８及びロボット１を歩行させる（駆動部８を駆動させる）電源スイッチ１５が接続される。
【００２５】
制御部９に戻って、ＲＯＭ１２に格納されるプログラムの一例を説明する。ＲＯＭ１２には、ロボット１が平坦な床面を歩行するための歩行プログラム１２ａ等が格納される。歩行プログラム１２ａは、各回転軸を駆動させる各サーボモーター８ａをそれぞれ適切な角度に経時的に駆動する。そして、左右の脚部２及び左右の足部３に所定の動きを与え、ロボット１に平坦な床面を連続して歩行させる。歩行プログラム１２ａは、いわば、ロボット１に予め決められた動きをさせるモーションプログラムである。
【００２６】
歩行プログラム１２ａの詳細を説明する。歩行プログラム１２ａにより実行される歩行モーションは、支持脚（軸足）期間中に支持脚側の足裏３ａの中心部にＺＭＰが固定されるように歩行する（重心Ｇが移動する）歩行モーション（標準モーション）を基準に設定される。具体的には、歩行プログラム１２ａによる歩行モーションは、標準モーションより重心Ｇの移動が僅かに遅れるように設定される。歩行プログラム１２ａによる歩行モーションは、例えば、足裏３ａが床面Ｆに沿って着地する際に標準モーションよりも重心Ｇの位置が遅れて設定される。なお、標準モーションに基づきロボット１０１が歩行する場合は、本体部４（上体）は傾かない（本体部４は前後左右に傾かない）。
【００２７】
歩行プログラム１２ａに基づくロボット１の歩行モーションの概略が図３Ａ〜Ｃに示される。図３Ａ〜Ｃは、平坦な床面Ｆ上を進行方向に向かって進むロボット１を横方向（図１参照：ロボット１の幅方向）から見た一連の流れを示す。なお、膝回転軸５ａ及び遊脚側の足部３は省略してある。図３Ａに示すように足裏３ａが床面Ｆに着地する際、足裏３ａの図示後端点Ｐ１と先端点Ｐ２を結ぶ直線と平坦な床面Ｆが成す鋭角がｋ１θ（例えば、０°＜ｋ１θ＜５度）となるように足裏３ａの踵部から先に床面Ｆに着地する。
【００２８】
その後、後端点Ｐ１を軸とするように足裏３ａの先端点Ｐ２側が床面Ｆに向けて倒れ、足裏３ａの全体が床面Ｆに着地して本体部４が足裏３ａの中心点Ｃの上方に位置する（図３Ａ→Ｂ）。
【００２９】
次いで、足裏３ａで床面Ｆを踏み締めるようにして本体部４を進行方向の前方に移動させるとともに、先端点Ｐ２を軸として後端点Ｐ１側から足裏３ａが床面Ｆから持ち上がる（図３Ｂ→Ｃ）。そして、他方の足部３についても同様に図３Ａ〜Ｃに示す歩行動作をし、一対の足部３が同様の歩行動作を交互に繰り返す。
【００３０】
図４Ａ〜Ｃは、進行方向に進むロボット１をその後方から縦方向（図１参照：ロボット１の進行方向）に見た一連の流れを示す。なお、図４Ａ〜Ｃでは遊脚側の足部３は省略してある。図４Ａに示すように足裏３ａが床面Ｆに着地する際、足裏３ａの図示左端点Ｐ３と右端点Ｐ４を結ぶ直線と平坦な床面Ｆが成す鋭角がｋ２θ（例えば、０°＜ｋ２θ＜５度）となるように足裏３ａの内側（図示左側：一対の足部３における内側）から先に床面Ｆに着地する。
【００３１】
その後、進行方向に向かって踏み出した足部３側にロボット１の重心Ｇが移動することで、左端点Ｐ３を軸とするように足裏３ａが床面Ｆに向けて倒れ、足裏３ａの全体が床面Ｆに着地する。そして、足裏３ａの全体で床面Ｆを踏み締めるようにロボット１の重心Ｇをもときた方向に方向転換させる（図４Ａ→Ｂ）。
【００３２】
ロボット１の重心Ｇがもときた方向に移動すると、今度は左端点Ｐ３を軸とするように右端点Ｐ４側から足裏３ａが床面Ｆから離れる（図４Ｂ→Ｃ）。そして、他方の足部３についても同様に図４Ａ〜Ｃに示す歩行動作をし、一対の足部３が同様の歩行動作を交互に繰り返す。
【００３３】
図３Ａ〜Ｃに示す歩行モーションの概略は、進行方向に進むロボット１を横方向から見るのに対し、図４Ａ〜Ｃに示す歩行モーションの概略は、進行方向に進むロボット１をその後方から縦方向に見る。よって、３次元空間におけるロボット１の歩行モーションは次の様になる。つまり、遊脚側の足部３が平坦な床面Ｆに着地する際、一対の足部３の内側に対応する足裏３ａの踵部の内側から先に着地させ、その後、足裏３ａの全体を床面に着地させる。そして、他方の足部３についても同様の歩行動作をし、一対の足部３が交互に同様の歩行動作を繰り返す歩行モーションとなる。
【００３４】
次に歩行モーションに基づいてロボット１を歩行させる歩行プログラム１２ａの内容を説明する。図２の歩行プログラム１２ａがＲＡＭ１１のワークメモリを作業領域としてＣＰＵ１０に読み出され、実行される処理である。この処理は、例えば、電源スイッチ１５がＯＦＦになるまで繰り返し実行される。
【００３５】
電源スイッチ１５がＯＮになると、ロボット１の各関節（各回転軸）を初期位置にセットする。そして、図３Ａ〜Ｃ及び図４Ａ〜Ｃに示す歩行モーションを実行するためにロボット１における左右の脚部２及び足部３を経時的に可動させる。例えば、各サーボモーター８ａの現在位置（現在角度）と、各サーボモーター８ａの目標位置（目標角度）から各回転軸で必要な制御値を算出し、各回転軸を回転させる各サーボモーター８ａに制御信号を出力する。それにより各サーボモーター８ａは、対応する制御信号に基づき回転軸を可動（揺動）させる。このような制御を経時的に実行することで、歩行モーションに基づいたロボット１の二足歩行が実行される。ロボット１の二足歩行は、例えば、電源スイッチ１５がＯＦＦになるまで繰り返される。
【００３６】
ロボット１の遊脚が床面Ｆに着地する際の足部３の動作に着目すると、図１の図示左側の第１及び第２足首回転軸７ａ、７ｂが図示時計回りＣに揺動する。よって、第１足首回転軸７ａにより足部３の外側が持ち上がり、かつ、第２足首回転軸７ｂにより足部３の爪先側が持ち上がり、その状態で足裏３ａを床面Ｆに着地させる。第１及び第２足首回転軸７ａ、７ｂの揺動は遊脚の期間に実行され、足部３が着地する前に着地するための第１及び第２足首回転軸７ａ、７ｂ（足部３）の姿勢は整っている。
【００３７】
そのため、足部３が床面Ｆに着地する際、一対の足部３の内側に対応する足裏３ａの踵部における内側（又は内側の領域）から先に着地する。よって、図３Ａ及び図４Ａに示すように踏み出した足裏３ａ（踵部）の内側に荷重が加わると、ロボット１の重心Ｇが踏み出した足部３側に移動する。そして、後端点Ｐ１（図３Ａ）と左端点Ｐ３（図４Ａ）を軸とするように足裏３ａが床面Ｆに向けて倒れ、足裏３ａの全体が床面Ｆに着地する（足部３は踵部が着地して足裏３ａの全体が着地するまではサーボモーター８ａにより揺動しない）。即ち、足裏３ａの踵部における内側が先に着地した後に足裏３ａ全体が着地する。そのため、足を踏み出した方に重心Ｇを振りながら進行方向に移動する重心Ｇの移動を阻害することなく、いわば、重心Ｇが移動する流れに沿うように踏み出した足裏３ａに加わる荷重（ＺＭＰ）を足裏３ａの中心に導くことができる。それ故、ロボット１のバランスを保つことが可能となり、ロボット１を安定して歩行させることができる。
【００３８】
ロボット１を組み立てる際には、ロボット１の構成部品の組み付け時の位置ずれ、サーボモーター８ａの原点位置の位置ずれ、バックラッシュ等が存在する。そのことが原因となり、ロボット１の実際の歩行動作がプログラム上の歩行モーションに比べて僅かにずれる場合がある。図５Ａには何らかの原因で歩行モーション上の重心Ｇ’位置よりロボット１の重心Ｇ位置が進んだ状態が示される。破線の足部３は歩行モーション上の重心Ｇ’に対応する足部３位置を示す。歩行中のロボット１の重心Ｇ位置が歩行モーションで設定された重心Ｇ’位置より進行方向側に位置すると、ロボット１が進行方向側に倒れ易くなる。一方、歩行モーションでは、ロボット１は足部３の爪先側を持ち上げて足裏３ａを床面Ｆに着地させる。そのため、ロボット１が進行方向側に予定より早く倒れても足裏３ａの爪先側を持ち上がるため、足裏３ａの踵側から床面Ｆに着地させることが可能となる。よって、ロボット１が足裏３ａの爪先側から床面Ｆに着地し、着地の際にロボット１がバランスを崩すのを抑制できる。更に足裏３ａの踵側から床面Ｆに着地することで、ロボット１の荷重（ＺＭＰ）を足裏３ａの中心に向けて移動させることが可能となる。
【００３９】
同様に、図５Ｂには歩行モーション上の重心Ｇ’位置よりロボット１の重心Ｇ位置が遅れた状態が示される。破線の足部３は歩行モーション上の重心Ｇ’に対応する足部３位置を示す。歩行中のロボット１の重心Ｇ位置が歩行モーションで設定された重心Ｇ’位置より進行方向の後側に位置すると、ロボット１が進行方向側に倒れるのが遅くなる（進行方向側に移動するのが遅くなる）。一方、歩行モーションでは、ロボット１は足裏３ａの爪先側を持ち上げて床面Ｆに着地させる。よって、ロボット１が進行方向側に予定よりも遅く倒れるならば、ロボット１は確実に足裏３ａの踵側から着地可能となる。そのため、ロボット１が足裏３ａの爪先側から床面Ｆに着地し、着地の際にロボット１がバランスを崩すのを抑制できる。更に足裏３ａの踵側から床面Ｆに着地することで、ロボット１の荷重（ＺＭＰ）は足裏３ａの中心に向けて移動させることが可能となる。
【００４０】
図５Ａ及びＢでは、進行方向に進むロボット１を横方向から見た場合を説明したが、進行方向に進むロボット１をその後方から進行方向に向かって見た場合も同様となる。よって、歩行中のロボット１と歩行モーションの間にズレが生じても床面Ｆに着地する足部３（足裏３ａ）の姿勢を制御し、着地時にロボット１がバランスを崩すのを抑制できる（足部３が着地する毎にズレを吸収できる）。そのため、歩行中のロボット１における各部の位置ずれを検出し、位置ずれを補正等する必要がない。
【００４１】
以上、歩行プログラム１２ａに基づき平坦な床面Ｆを安定して歩行するロボット１を説明した。実施例１では、ロボット１の足首関節部７（第１及び第２足首回転軸７ａ、７ｂ）等をサーボモーター８ａで経時的に制御する例を説明した。実施例２は、図６に示すように足首関節部７（第１及び第２足首回転軸７ａ、７ｂ）を駆動する駆動部８に駆動伝達部１６を設けた二足歩行ロボット１０１を説明する。駆動伝達部１６により足首関節部７を駆動するトルクを制御（遮断又は伝達）することで、凸状の障害物Ｂや凹状の窪みＤが存在する床面Ｆ’を二足歩行できるロボット１０１である。以下の実施例２の説明においては、実施例１と同様の構成は同一の符号を付して説明を省略する。
【００４２】
図６に示すようにＩ／Ｏポート１４には、足首関節部７（第１及び第２足首回転軸７ａ、７ｂ）を駆動する駆動部８のトルクを遮断又は伝達する駆動伝達部１６が接続される。実施例２では、駆動伝達部１６は、制御部９からの制御信号に応じて第１足首回転軸７ａを駆動するサーボモーター８ａのトルクを遮断又は伝達する第１クラッチ１６ａと、同様に第２足首回転軸７ｂを駆動するサーボモーター８ａのトルクを遮断又は伝達する第２クラッチ１６ｂを備える。なお、実施例２では他の回転軸（股回転軸、膝回転軸）には駆動伝達部１６は存在しない。
【００４３】
また、Ｉ／Ｏポート１４には、サーボモーター８ａにより各回転軸が駆動した角度（回転量）を測定するロータリーエンコーダー１７ａ（回転測定部１７）が接続される。図示省略するが、ロータリーエンコーダー１７ａはサーボモーター８ａに隣接して配置され、ロータリーエンコーダー１７ａで測定された回転信号がＩ／Ｏポート１４から制御部９に入力される。
【００４４】
更にＩ／Ｏポート１４には、ロボット１の重心Ｇにおける縦方向、横方向及び高さ方向（図１参照）回りの角速度を測定可能な角速度測定部１８が接続される。実施例２では、角速度測定部１８はジャイロセンサー１８ａとして構成される。例えば、ジャイロセンサー１８ａの測定点をロボット１０１が直立静止した状態の重心Ｇ位置と一致させ、ロボット１０１の縦方向、横方向及び高さ方向の各軸回りの角速度を測定する。ジャイロセンサー１８ａで測定された角速度信号がＩ／Ｏポート１４から制御部９に入力される。
【００４５】
Ｉ／Ｏポート１４には、足部３に加わる荷重を検出する荷重検出部１９が各足部３にそれぞれ接続される。実施例２では、荷重検出部１９は荷重センサー１９ａとして構成される。荷重センサー１９ａは各足部３の足裏３ａにそれぞれ備り、荷重センサー１９ａにより検出された荷重信号がＩ／Ｏポート１４から制御部９に入力される。
【００４６】
回転信号等が入力される制御部９のＲＯＭ１２には、実施例１と同様の歩行プログラム１２ａが格納される。更に、ロボット１の重心Ｇ位置を演算する演算プログラム１２ｂ及びロボット１の重心Ｇ位置に応じて第１、第２クラッチ１６ａ、１６ｂを制御することで、ロボット１０１の着地を制御する着地制御プログラム１２ｃが格納される。
【００４７】
次に図７Ａ及びＢのフローチャートにより演算プログラム１２ｂ及び着地制御プログラム１２ｃの内容（着地制御の内容）を説明する。図７Ａは、片方の足首関節部７（第１、第２足首回転軸７ａ、７ｂ）を駆動するサーボモーター８ａのトルクを制御する一連の処理である。図７Ｂはその中のサブルーチンの処理である。図６のＲＯＭ１２の着地制御プログラム１２ｃ等がＲＡＭ１１のワークメモリを作業領域としてＣＰＵ１０に読み出され、実行される。この処理は、例えば、ロボット１０１の歩行開始に合わせて処理がされる。
【００４８】
着地制御は脚部２の遊脚期間中に制御が開始される。図７ＡのステップＳ１に示すように足部３が着地をするために実施例１と同様に第１足首回転軸７ａにより足部３の外側を持ち上げ、かつ、第２足首回転軸７ｂにより足部３の爪先側を持ち上げる。第１、第２足首回転軸７ａ、７ｂにより足部３の姿勢制御が完了すると、第１クラッチ１６ａによりサーボモーター８ａから第１足首回転軸７ａへの駆動が遮断される。同様に第２クラッチ１６ｂによりサーボモーター８ａから第２足首回転軸７ｂへの駆動が遮断される。なお、サーボモーター８ａの駆動が遮断されても、サーボモーター８ａと各足首回転軸７ａ、７ｂの間の減速機（図示省略）により第１、第２足首回転軸７ａ、７ｂの位置関係は保たれる。また、サーボモーター８ａから第１、第２足首回転軸７ａ、７ｂへの駆動が遮断されるため、足部３が床面に着地する際、足裏３ａに加わるロボット１０１の荷重により第１、第２足首回転軸７ａ、７ｂは可動可能となる。
【００４９】
次にステップＳ２では、ステップＳ１で姿勢を制御した足部３が着地を完了したかを判断する。ここでの着地の完了とは、足裏３ａが床面に対して停止した状態を意味する。例えば、平坦な床面に足部３が着地する場合は、足裏３ａ全体が平坦な床面に着地した状態を意味する。また、凹凸状の床面に足部３が着地する場合は、凸状の床面に足裏３ａが乗り上げる、又は凹状の床面に足裏３ａが落ちる等して足裏３ａが床面に対して停止した状態を意味する。着地の完了は、例えば、制御部９に入力される荷重センサー１９ａが検出した荷重信号、各ロータリーエンコーダー１７ａが検出した各回転軸における回転信号に基づき判断する。
【００５０】
ステップＳ３では、足部３が床面に着地する際に足裏３ａに加わる荷重により回転した第１、第２足首回転軸７ａ、７ｂの各回転角を検出する。平坦な床面に着地した場合に回転する第１、第２足首回転軸７ａ、７ｂの回転角を基準回転角（０度）とし、第１足首回転角７ａの回転角αｘ、第２足首回転角７ｂの回転角αｙを検出する。基準回転角よりも回転が不足する場合は、回転角はプラスの値（αｘ＞０、αｙ＞０）として検出される。基準回転角よりも回転が増大する場合は、回転角はマイナスの値（αｘ＜０、αｙ＜０）として検出される。具体的には、ロータリーエンコーダー１７ａの検出角度に応じて、第１足首回転軸７ａの回転角αｘ、第２足首回転軸７ｂの回転角αｙがＲＡＭ１１に出力される。
【００５１】
ステップＳ４では、着地した足部３が支持脚（軸足）期間中か否かが判断される。例えば、制御部９に入力される荷重センサー１９ａが検出した荷重信号、各ロータリーエンコーダー１７ａが検出した各回転軸における回転信号に基づき判断する。
【００５２】
ステップＳ４で支持脚期間中と判断されると、ステップＳ５で足首クラッチ制御に入る。足首クラッチ制御は、図７Ｂのサブルーチンに示される。ステップＳ１１では、第１クラッチ１６ａがサーボモーター８ａから第１足首回転軸７ａへの駆動を遮断（第１クラッチ１６ａのＯＦＦ）しているか否かを判断する。
【００５３】
第１クラッチ１６ａがＯＦＦならば、ステップＳ１２に進む。ステップＳ１２では、ロボット１０１の重心Ｇ位置が所定の制御開始位置に到達したか否かを判断する。図８Ａを参照してステップＳ１２の詳細を説明する。図８Ａは足裏３ａが平坦な床面Ｆに沿って着地した（足裏３ａの全面が床面Ｆに着地した）時刻ｔ０におけるロボット１０１の状態を示す（ロボット１０１を縦方向から見た図）。図８Ａでは、床面Ｆに着地した足裏３ａの中心部、具体的には足裏３ａの中心点に基準位置Ｓが設定される。基準位置Ｓから鉛直方向に伸びる直線を基準線Ｌ１とする。基準位置Ｓとロボット１０１の重心Ｇ位置を結んだ直線を重心線Ｌ２とする。基準線Ｌ１と重心線Ｌ２によりなす角（鋭角：第１角度）をθｘ real（ｔ０）とする（θｘ realはロボット１０１を縦方向から見た角であることを示し、時刻（重心Ｇの移動）により可変する）。また、図中のＧｓは、標準モーションでロボット１０１が歩行した場合（時刻ｔ０）での重心位置（標準重心位置Ｇｓ）を示す。標準重心位置Ｇｓと基準位置Ｓを結んだ直線と基準線Ｌ１とのなす角（第１理想角）をθｘ ref（ｔ０）とする（θｘ refはロボット１０１を縦方向から見た角であることを示し、時刻（重心の移動）により可変する）。歩行プログラム１２ａによる歩行モーションは、標準モーションより遅れるため、足裏３ａが床面に沿って着地した時刻ｔ０では、実角度（第１角度）は第１理想角より大きい（θｘ real（ｔ０）＞θｘ ref（ｔ０））。θｘ real（ｔ０）からθｘ ref（ｔ０）を引いた角度が、第１理想角に対する第１角度（実角度）の遅れ角φx（ｔ０）を示す（φxはロボット１０１を縦方向から見た時刻（重心の移動）により可変する）。
【００５４】
ロボット１０１の重心Ｇ位置が移動することで、第１角度（θｘ real（ｔ））が可変する。ステップＳ１２では、可変する第１角度（θｘ real（ｔ））に第１足首回転軸７ａの回転角（αｘ：図８Ａに示すように床面が平坦ならば０度）を足した角度が第１理想角（θｘ ref（ｔ））に到達したかを判断する。図８Ａに示すように標準モーションに基づく第１理想角（θｘ ref（ｔ））は、基準位置Ｓを支点に標準重心位置Ｇｓが移動するのに対し、第１角度（θｘ real（ｔ））は、第１足首回転軸７ａを支点に重心Ｇ位置が移動する。そのため、時間とともにθｘ real（ｔ）とθｘ ref（ｔ）の差が縮まる。そして、θｘ real（ｔ）＋αｘ≦θｘ ref（ｔ）の関係式を満たす場合には、ステップＳ１３に進む。例えば、制御部９に入力される各ロータリーエンコーダー１７ａが検出した各回転軸における回転信号に基づき各関節における経時的変化に基づき制御開始位置に到達したか否かを判断する。また、ジャイロセンサー１８ａ等を利用してもよい。
【００５５】
ステップＳ１３では、第１クラッチ１６ａをＯＮにして、サーボモーター８ａから第１足首回転軸７ａへの駆動を伝達する。そして、ステップＳ１４に移り、第２クラッチ１６ｂがサーボモーター８ａから第２足首回転軸７ｂへの駆動を遮断（第２クラッチ１６ｂのＯＦＦ）しているか否かを判断する。
【００５６】
第２クラッチ１６ｂがＯＦＦならば、ステップＳ１５に進む。ステップＳ１５では、ロボット１０１の重心Ｇ位置が所定の制御開始位置に到達したか否かを判断する。図８Ｂを参照してステップＳ１５の詳細を説明する。図８Ｂは足裏３ａが平坦な床面Ｆに沿って着地した（足裏３ａの全面が床面Ｆに着地した）時刻ｔ０におけるロボット１０１の状態を示す（ロボット１０１を横方向から見た図）。基準線Ｌ１と重心線Ｌ２によりなす角（鋭角：第２角度）をθｙ real（ｔ０）とする（θｙ realはロボット１０１を横方向から見た角であることを示し、時刻（重心Ｇの移動）により可変する）。標準重心位置Ｇｓと基準位置Ｓを結んだ直線と基準線Ｌ１とのなす角（第２理想角）をθｙ ref（ｔ０）とする（θｙ refはロボット１０１を横方向から見た角であることを示し、時刻（重心の移動）により可変する）。歩行プログラム１２ａによる歩行モーションは、標準モーションより遅れるため、足裏３ａが床面に沿って着地した時刻ｔ０では、実角度（第２角度）は第２理想角より大きい（θｙ real（ｔ０）＞θｙ ref（ｔ０））。θｙ real（ｔ０）からθｙ ref（ｔ０）を引いた角度が第２理想角に対する第２角度（実角度）の遅れ角φｙ（ｔ０）を示す（φｙはロボット１０１を横方向から見たを示し、時刻（重心の移動）により可変する）。
【００５７】
ロボット１０１の重心Ｇ位置が移動することで、第２角度（θｙ real（ｔ））が可変する。ステップＳ１５では、可変する第２角度（θｙ real（ｔ））に第２足首回転軸７ｂの回転角（αｙ：床面が平坦ならば０度）を足した角度が第２理想角（θｙ ref（ｔ））に到達したかを判断する。図８Ｂに示すように標準モーションに基づく第２理想角（θｙ ref（ｔ））は、基準位置Ｓを支点に標準重心位置Ｇｓが移動するのに対し、第１角度（θｙ real（ｔ））は、第２足首回転軸７ｂを支点に重心Ｇ位置が移動する。そのため、時間とともにθｙ real（ｔ）とθｙ ref（ｔ）の差が縮まる。そして、θｙ real（ｔ）＋αｙ≦θｙ ref（ｔ）の関係式を満たす場合には、ステップＳ１６に進む。
【００５８】
ステップＳ１６では、第２クラッチ１６ｂをＯＮにして、サーボモーター８ａから第２足首回転軸７ｂへの駆動を伝達し、図７Ｂに示すサブルーチンを抜け、図７Ａに戻る。そして、足部３の支持脚期間（図７ＡのステップＳ４）が終わると足部３の着地制御を完了する。以上の一連の処理は、ロボット１０１の左右の足首関節部７（第１、第２足首回転軸７ａ、７ｂ）それぞれについて、ロボット１０１の歩行中に繰り返し実行される。
【００５９】
実施例２では、以上のような着地制御プログラム１２ｃ等により凸状の障害物Ｂや凹状の窪みが存在する床面Ｆ’の二足歩行が可能となる。最初に実施例１と同様の平坦な床面Ｆを歩行する歩行動作を説明する。図９Ａ〜Ｃは、平坦な床面Ｆを進行方向に進むロボット１０１を横方向（図１参照：ロボット１の幅方向）から見た一連の流れを示す。なお、図９Ａ〜Ｃでは、膝回転軸５ａ及び遊脚側の足部３は省略してある。
【００６０】
遊脚側の足部３が床面Ｆに着地する前には、第２クラッチ１６ｂによりサーボモーター８ａから第２足首回転軸７ｂへの駆動が遮断される（図７ＡのステップＳ１参照）。そのため、第２足首回転軸７ｂはサーボモーター８ａのトルクに拘束されない非拘束状態となる。よって、図９Ａに示すように足裏３ａの踵部が床面Ｆに着地すると（破線の足部３）、その踵部にロボット１０１の荷重が加わる。その荷重が、第２足首回転軸７ｂの位置を保持する減速機のトルクを上回ると、第２足首回転軸７ｂ回りに足部３が揺動する（足部３の点線→実線）。その結果、足裏３ａの踵側が床面Ｆに着地したまま、足裏３ａの爪先側も床面Ｆに着地するまで第２足首回転軸７ｂが可動する。
【００６１】
そして、第２足首回転軸７ｂを非拘束状態にしたままで、サーボモーター８ａが膝回転軸５ａ（図示省略）及び第２股回転軸６ｂを駆動することで、ロボット１０１の本体部４が進行方向に向けて移動する。ここで、第２足首回転軸７ｂは非拘束状態であることから、第２足首回転軸７ｂが非拘束状態の間、ロボット１０１の荷重（ＺＭＰ）は踵側(足首関節直下)に留まる。そして、図８Ｂに示すように足裏３ａが床面Ｆに沿って着地した際の重心Ｇ位置の遅れ角φｙ（ｔ０）は時間（重心Ｇの移動）と共に減少する。そのため、ロボット１０１の重心Ｇ位置が次の数式１を満たす位置に到達した時点でロボット１０１の第２角度（θｙreal（ｔ））が第２理想角（θｙref（ｔ））となる。
【００６２】
（数式１）θｙ real（ｔ）≦θｙ ref（ｔ）
【００６３】
ロボット１０１の横方向から見た第２角度（θｙ real（ｔ））が、重心Ｇ位置が移動することで第２理想角（θｙ ref（ｔ））以下になると、制御部９は第２足首回転軸７ｂを非拘束状態から拘束状態にする。そのため、標準モーションにおいて、足裏３ａの中心部に固定されたＺＭＰに追従するように足裏３ａに加わるＺＭＰを足裏３ａの中心部に移動させることができる。図９Ｂに示すように、足裏３ａの全体が床面Ｆに着地して本体部４が足裏の中心点Ｃの上方近傍に位置した時点では第２クラッチ１６ｂがＯＮ状態であり、ＺＭＰは足裏３ａの中心部に位置する。
【００６４】
次いで足裏３ａの爪先側で床面Ｆを踏み締めるようにして本体部４が進行方向の前方に移動する。続いて足裏３ａの爪先側を軸に足裏３が後端点Ｐ１側から床面Ｆから離れる（図９Ｂ→Ｃ）。そして、他方の足部３についても同様に図９Ａ〜Ｃに示す歩行動作をし、一対の足部３が同様の歩行動作を交互に繰り返す。
【００６５】
図１０Ａ〜Ｃは、平坦な床面Ｆを進行方向に進むロボット１０１をその後方から（図１参照：ロボット１の進行方向）に見た一連の流れを示し、遊脚側の足部３は省略してある。
【００６６】
遊脚側の足部３が床面Ｆに着地する前には、第１クラッチ１６ａ（図６参照）によりサーボモーター８ａから第１足首回転軸７ａへの駆動が遮断される（図７ＡのステップＳ１参照）。そのため、第１足首回転軸７ａはサーボモーター８ａの駆動に拘束されない非拘束状態となる。よって、図１０Ａに示すように足裏３ａの内側（図示左側：一対の足部３における内側）から先に床面Ｆに着地すると（破線の足部３）、その着地した足裏３にロボット１０１の荷重が加わる。その荷重が、第１足首回転軸７ａの位置を保持する減速機のトルクを上回ると、第１足首回転軸７ａ回りに足部３が揺動する（足部３の点線→実線）。その結果、足裏３ａの内側が床面Ｆに着地した状態で足裏３ａの外側（図示右側：一対の足部３における外側）も床面Ｆに着地するまで、第１足首回転軸７ａが可動する。
【００６７】
そして、第１足首回転軸７ａを非拘束状態にしたままで、サーボモーター８ａが第１股回転軸６ａを駆動することで、ロボット１０１は図示（図１０Ａ）の右方向（重心Ｇの移動方向）に向けて移動する。ここで、第１足首回転軸７ａは非拘束状態であることから、第１足首回転軸７ａが非拘束状態の間、ロボット１０１の荷重（ＺＭＰ）は足裏３ａの踵側(第１足首回転軸７ａの直下)に留まる。そして、図８Ａに示すように足裏３ａが床面Ｆに沿って着地した際の重心位置の遅れ角φｘ（ｔ０）は時間（重心Ｇの移動）と共に減少する。そのため、ロボット１０１の重心Ｇ位置が次の数式２を満たす位置に到達した時点でロボット１０１の第１角度（θｘreal（ｔ））が第１理想角（θｘref（ｔ））以下になる。
【００６８】
（数式２）θｘ real（ｔ）≦θｘ ref（ｔ）
【００６９】
ロボット１０１の縦方向から見た第１角度（θｘ real（ｔ））が、重心Ｇ位置が移動することで第１理想角（θｘ ref（ｔ））以下になると、制御部９は第１足首回転軸７ａを非拘束状態から拘束状態にする。そのため、標準モーションにおける足裏３ａの中心部に固定されたＺＭＰに追従するように足裏３ａに加わるＺＭＰを足裏３ａの中心部に移動させることができる。図１０Ｂに示すように、足裏３ａの全体が床面Ｆに着地して本体部４が足裏の中心点Ｃの上方近傍に位置した時点では第１クラッチ１６ａがＯＮ状態であり、ＺＭＰは足裏３ａの中心部に位置する。
【００７０】
次いで、ロボット１０１の重心Ｇをもときた方向に移動させ、足裏３ａの内側（左端点Ｐ３）を軸として足裏３ａの右端点Ｐ４側が床面Ｆから離れる（図１０Ｂ→Ｃ）。そして、他方の足部３についても同様に図１０Ａ〜Ｃに示す歩行動作をし、一対の足部３が同様の歩行動作を交互に繰り返す。このように第１、第２クラッチ１６ａ、１６ｂを用いても実施例１と同様にロボット１０１は平坦な床面Ｆを歩行できる。
【００７１】
次に凸状の障害物Ｂが存在する床面Ｆ’をロボット１０１が歩行する例を説明する。図１１Ａ〜Ｃは、凸状の障害物Ｂが存在する床面Ｆ’を進行方向に進むロボット１０１を横方向（図１参照：ロボット１の幅方向）から見た一連の流れを示す。なお、図１１Ａ〜Ｃでは、膝回転軸５ａ及び遊脚側の足部３は省略してある。
【００７２】
遊脚側の足部３が床面Ｆ’に着地する前には、第２クラッチ１６ｂ（図６参照）によりサーボモーター８ａから第２足首回転軸７ｂへの駆動が遮断される（図７ＡのステップＳ１参照）。そのため、第２足首回転軸７ｂは非拘束状態となる。よって、図１１Ａに示すように足裏３ａの踵部が床面Ｆ’に着地すると（破線の足部３）、その踵部にロボット１０１の荷重が加わる。その荷重が、第２足首回転軸７ｂの位置を保持する減速機のトルクを上回ると、第２足首回転軸７ｂ回りに足部３が揺動する（足部３の点線→実線）。その結果、足裏３ａの踵側が床面Ｆ’に着地した状態で足裏３ａの爪先側が障害物Ｂの上面に乗り上げるまで第２足首回転軸７ｂが可動する。
【００７３】
その後、第２足首回転軸７ｂを非拘束状態にしたままで、サーボモーター８ａが膝回転軸５ａ（図示省略）及び第２股回転軸６ｂを駆動することで、ロボット１０１の本体部４が進行方向に向けて移動する。そして、ロボット１０１の重心Ｇ位置が次の数式３を満たす位置に到達した時点で第２クラッチ１６ｂにより第２足首回転軸７ｂを拘束状態にする（図７ＢのステップＳ１６参照）。
【００７４】
（数式３）θｙ real（ｔ）＋αｙ≦θｙ ref（ｔ）
図１１Ａに示すように、足部３が障害物Ｂに乗り上げた場合でもロボット１０１の荷重（ＺＭＰ）は足裏３ａの踵側(足首関節直下)に留まる。よって、平坦な床面Ｆに足裏３ａ全体が着地した場合に比べて第２足首回転軸７ｂの回転角が不足する不足回転角αｙ（＞０）を加算した角度と、第２理想角（θｙ ref（ｔ））を比較すれば、平坦な床面Ｆと同視できる。
【００７５】
そのため、ロボット１０１の幅方向から見た第２角度（θｙ real（ｔ）にαｙを加算した角度）が第２理想角（θｙ ref（ｔ））に到達すると、制御部９は第２足首回転軸７ｂを非拘束状態から拘束状態にする。よって、例えば、図１１Ｂに示すように足裏３ａの爪先側が障害物Ｂに乗り上げて、本体部４が足裏３ａの上方近傍に位置した時点では既に第２クラッチ１６ｂがＯＮとなり、第２足首回転軸７ｂが拘束状態である。
【００７６】
次いで足裏３ａの爪先側で障害物Ｂの上面を踏み締めるようにして本体部４が進行方向の前方に移動する。続いて足裏３ａの爪先側を軸に足裏３が後端点Ｐ１側から床面Ｆから離れる（図１１Ｂ→Ｃ）。そして、他方の足部３についても同様に図１１Ａ〜Ｃに示す歩行動作をし、一対の足部３が同様の歩行動作を交互に繰り返す。
【００７７】
図１２Ａ〜Ｃは、床面Ｆ’を進行方向に進むロボット１０１をその後方から（図１参照：ロボット１の進行方向）に見た一連の流れを示し、遊脚側の足部３は省略してある。
【００７８】
遊脚側の足部３が床面Ｆ’に着地する際は、第１クラッチ１６ａ（図６参照）によりサーボモーター８ａから第１足首回転軸７ａへの駆動が遮断される（図７ＡのステップＳ１参照）。そのため、第１足首回転軸７ａは非拘束状態となる。よって、図１２Ａに示すように足裏３ａの内側（図示左側：一対の足部３における内側）から先に床面Ｆに着地すると（破線の足部３）、その着地した足裏３にロボット１０１の荷重が加わる。その荷重が、第１足首回転軸７ａの位置を保持する減速機のトルクを上回ると、第１足首回転軸７ａ回りに足部３が揺動する（足部３の点線→実線）。その結果、足裏３ａの内側が床面Ｆに着地した状態で、足裏３ａの外側（図示右側：一対の足部３における外側）が障害物Ｂに乗り上げるまで、第１足首回転軸７ａが可動する。
【００７９】
その後、第１足首回転軸７ａが非拘束状態のまま、進行方向に向かって踏み出した足部３側にロボット１０１の重心Ｇが移動する（図１２Ａ）。そして、ロボット１０１の重心Ｇ位置が次の数式４を満たす位置に到達した時点で第１クラッチ１６ａにより第１足首回転軸７ａを拘束状態にする（図７ＢのステップＳ１３参照）。
【００８０】
（数式４）θｘ real（ｔ）＋αｘ≦θｘ ref（ｔ）
図１２Ａに示すように、足部３が障害物Ｂに乗り上げた場合でもロボット１０１の荷重（ＺＭＰ）は足裏３ａの踵部の内側(足首関節直下)に留まる。よって、平坦な床面Ｆに足裏３ａ全体が着地した場合に比べて第１足首回転軸７ａの回転角が不足する不足回転角αｘ（＞０）を加算した角度と、第１理想角（θｘ ref（ｔ））を比較すれば、平坦な床面Ｆと同視できる。
【００８１】
そのため、進行方向から見たなす第１角度（θｘ real（ｔ）にαｘを加算した角度）が第１理想角（θｘ ref（ｔ））に到達すると、制御部９は第１足首回転軸７ａを非拘束状態から拘束状態にする。よって、図１２Ｂに示すように、例えば、重心Ｇが足裏３ａの上方近傍に位置した時点では既に第１クラッチ１６ａがＯＮとなり、第１足首回転軸７ａが拘束状態となる。そして、足裏３ａの外側で障害物Ｂの上面を踏み締めるようにしてロボット１０１の重心をもときた方向に方向転換させる。
【００８２】
次いで、ロボット１０１の重心をもときた方向に移動させ、足裏３ａの内側（左端点Ｐ３）を軸として足裏３ａの右端点Ｐ４側が障害物Ｂから離れる（図１２Ｂ→Ｃ）。そして、他方の足部３についても同様に図１２Ａ〜Ｃに示す歩行動作をし、一対の足部３が同様の歩行動作を交互に繰り返す。なお、凹状の窪みＤが存在する床面Ｆ’ならば、αｘ＜０、αｙ＜０となり、上記と同様にロボット１０１は二足歩行が可能となる。
【００８３】
なお、図１３Ａは、歩行モーション上の重心Ｇ’位置（図示省略）よりロボット１０１の重心Ｇ位置が進んだ状態のロボット１０１が凹状の窪みＤが存在する床面Ｆ’に着地する状況を示す。上記の数式３を満たす時点（ただし、αｘ＜０、αｙ＜０）で第２クラッチ１６ｂ（図６参照）によりサーボモーター８ａの駆動を第２足首回転軸７ｂへ伝達すると、平坦な床面Ｆを歩行する場合と同様の歩行動作を実現することが可能となる。よって、床面Ｆ’に着地した足部３の爪先側と踵側の高さが異なる場合でも、安定した歩行動作を確保することができる。
【００８４】
同様に図１３Ｂには、歩行モーション上の重心Ｇ’位置（図示省略）よりロボット１０１の重心Ｇ位置が遅れた状態のロボット１０１が凸状の障害物Ｂが存在する床面Ｆ’に着地する状況を示す。上記の数式３を満たす時点で第２足首回転軸７ｂを拘束状態にすると、平坦な床面を歩行する場合と同様の歩行動作を実現することが可能となる。よって、床面に着地した足部３の爪先側と踵側の高さが異なる場合でも、安定した歩行動作を確保することができる。図１３Ａ及びＢに示す歩行モーションの概略は、進行方向に進むロボット１０１を横方向から見た例を説明したが、進行方向に進むロボット１０１をその後方から縦方向に見た場合でも同様である。
【００８５】
以上、本発明の実施の態様を説明したが、本発明はその具体的な記載に限定されることなく、例示した構成、処理等を技術的に矛盾のない範囲で適宜組み合わせて実施することも可能であるし、またある要素、処理を周知の形態に置き換えて実施することもできる。
【００８６】
実施例２では、図８Ａ及びＢに示すように第１角度（θｘ real（ｔ））と第１理想角（θｘ ref（ｔ））、第２角度（θｙ real（ｔ））と第２理想角（θｙ ref（ｔ））に基づきクラッチ１６ａ、１６ｂを制御する例を説明した。図１４Ａ及びＢ並びに図１５Ａ及びＢは実施例２の変形例を示す。変形例は、第１、第２クラッチ１６ａ、１６ｂのＯＮとＯＦＦを本体部４の傾きに基づいて制御する例である。
【００８７】
変形例では、実施例２におけるＩ／Ｏポート１４に傾斜センサーが更に備わる。傾斜センサーは、本体部４の左右の傾きを測定する左右傾斜センサーと本体部４の前後の傾きを測定する前後傾斜センサーを備える。左右傾斜センサーは、鉛直方向を基準としてロボット１０１の左右方向に対する本体部４の左右傾斜角（εｘ（ｔ）：時刻（重心Ｇの移動）により可変する）を測定する。前後傾斜センサーは、鉛直方向を基準としてロボット１０１の前後方向に対する本体部４の前後傾斜角（εｙ（ｔ）：時刻（重心Ｇの移動）により可変する）を測定する。
【００８８】
ＲＯＭ１２には、実施例２の演算プログラム１２ｂ及着地制御プログラム１２ｃの一部を修正した修正プログラムが格納される。図１４Ａ及びＢのフローチャートにより修正プログラムの内容を説明する。実施例２と同じステップは同じ符号を付して説明を省略する。修正プログラムでは、図７ＡのステップＳ３の処理を省略し、図７ＢのステップＳ１２及びステップＳ１５における第１、第２クラッチ１６ａ、１６ｂをＯＮにする制御を変更した。
【００８９】
具体的には、図７ＢのステップＳ１２に代わる図１４ＢのステップＳ１２ａでは、本体部４の左右傾斜角（εｘ（ｔ））が０度に到達したか否かを判断する。歩行プログラム１２ａによる歩行モーションは、本体部４（上体）が前後左右に傾かない標準モーションより遅れる。よって、図１５Ａに示すように床面に沿って足部３が着地した時刻ｔ０で、本体部４が図示左側に傾くように左右傾斜角εｘ（ｔ０）（≠０）が生じる。ここで、第１足首回転軸７ａが非拘束状態であるため、図１５Ａに示すように図示右側に重心Ｇが移動すると、本体部４が図示右側に傾く。そのため、足部３が床面に着地した後に左右傾斜角εｄｘ（ｔ）は０度となり、ステップＳ１３で第１クラッチ１６ａがＯＮとなる。
【００９０】
よって、第１足首回転軸７ａが非拘束状態から拘束状態になると、足裏３ａの中心部にＺＭＰが固定される標準モーションに追従するように足裏３ａに加わるＺＭＰを足裏３ａの中心部に移動させることができる。また、傾斜センサーを用いるだけで簡易に第１クラッチ１６ａのＯＮが制御可能となる。
【００９１】
また、図７ＢのステップＳ１５に代わる図１４ＢのステップＳ１５ａでは、本体部４の左右傾斜角（εｙ（ｔ））が０度に到達したか否かを判断する。歩行プログラム１２ａによる歩行モーションは、本体部４（上体）が左右に傾かない標準モーションより遅れる。そのため、図１５Ｂに示すように床面に沿って足部３が着地した時刻ｔ０で、本体部４が図示左側に傾くように前後傾斜角εｙ（ｔ０）（≠０）が生じる。ここで、第２足首回転軸７ｂが非拘束状態であるため、図１５Ｂに示すように図示右側に重心Ｇが移動すると、本体部４が図示右側に傾く。よって、足部３が床面に着地した後に左右傾斜角εｙ（ｔ）は０度となり、ステップＳ１６で第２クラッチ１６ｂはＯＮとなる。
【００９２】
よって、第２足首回転軸７ｂが非拘束状態から拘束状態になると、足裏３ａの中心部にＺＭＰが固定される標準モーションに追従するように足裏３ａに加わるＺＭＰを足裏３ａの中心部に移動させることができる。また、傾斜センサーを用いるだけで簡易に第２クラッチ１６ｂのＯＮが制御可能となる。
【００９３】
実施例１、２では、矩形板状の足裏３ａを例示したが、多角形状や人間の足裏をかたどる等の種々の形状を採用できる。また、足裏３ａ面が平坦な例を示したが、足裏３ａの４隅から半球状に突出し、歩行時に足裏３ａが滑るのを防止するグリップ部を設けてもよい。更に、予め定められた歩行プログラム１２ａに基づいて歩行するロボット１、１０１を説明したが、外乱等を検出して補正するロボット等にも適用できる。
【００９４】
実施例２の第１、第２クラッチ１６ａ、１６ｂとしては、電磁クラッチやワンウェイクラッチなど種々のクラッチを採用できる。同様に駆動部８として、サーボモーター８ａを例示したが、ステッピングモーターなどの他のモーターを用いてもよい。足裏３ａの中心点を基準位置Ｓとする例を説明したが、基準位置Ｓとして足裏３ａの中心部近傍にあればよい。
【００９５】
なお、実施例２では、足裏３ａの踵部の内側から先に着地する例を説明した。しかし、遊脚側の足部３が床面に着地する際に、一対の足部３の内側に対応する足裏３ａの踵部の内側から先に着地させるように、制御部９が駆動部６を制御することは前提としなくても実施例２及びその変形例の歩行動作は可能となる。
【符号の説明】
【００９６】
１    ロボット                ２      脚部
３    足部                    ４      本体部
５    膝関節部                ６      股関節部
７    足首関節部              ７ａ    第１足首回転軸
７ｂ  第２足首回転軸          ８      駆動部（サーボモーター８ａ）
９    制御部                  １２ａ  歩行プログラム
１６  駆動伝達部（第１クラッチ１６ａ、第２クラッチ１６ｂ）
【図１】
2016040054.tif 000003
【図２】
2016040054.tif 000004
【図３Ａ】
2016040054.tif 000005
【図３Ｂ】
2016040054.tif 000006
【図３Ｃ】
2016040054.tif 000007
【図４Ａ】
2016040054.tif 000008
【図４Ｂ】
2016040054.tif 000009
【図４Ｃ】
2016040054.tif 000010
【図５Ａ】
2016040054.tif 000011
【図５Ｂ】
2016040054.tif 000012
【図６】
2016040054.tif 000013
【図７Ａ】
2016040054.tif 000014
【図７Ｂ】
2016040054.tif 000015
【図８Ａ】
2016040054.tif 000016
【図８Ｂ】
2016040054.tif 000017
【図９Ａ】
2016040054.tif 000018
【図９Ｂ】
2016040054.tif 000019
【図９Ｃ】
2016040054.tif 000020
【図１０Ａ】
2016040054.tif 000021
【図１０Ｂ】
2016040054.tif 000022
【図１０Ｃ】
2016040054.tif 000023
【図１１Ａ】
2016040054.tif 000024
【図１１Ｂ】
2016040054.tif 000025
【図１１Ｃ】
2016040054.tif 000026
【図１２Ａ】
2016040054.tif 000027
【図１２Ｂ】
2016040054.tif 000028
【図１２Ｃ】
2016040054.tif 000029
【図１３Ａ】
2016040054.tif 000030
【図１３Ｂ】
2016040054.tif 000031
【図１４Ａ】
2016040054.tif 000032
【図１４Ｂ】
2016040054.tif 000033
【図１５Ａ】
2016040054.tif 000034
【図１５Ｂ】
2016040054.tif 000035