(57)【特許請求の範囲】
【請求項１】
本体と、本体の下部両側にて二軸方向に揺動可能に取り付けられた中間に膝部を有する二本の脚部と、各脚部の下端に二軸方向に揺動可能に取り付けられた足部と、各脚部，膝部及び足部を揺動させる駆動手段と、要求動作に対応して、目標角度軌道，目標角速度，目標角加速度を含む歩容データを生成する歩容生成部と、この歩容データに基づいて上記駆動手段を駆動制御する歩行制御装置と、を備えた二脚歩行式移動装置において、
上記歩行制御装置が、ＺＭＰ補償装置を備えており、
このＺＭＰ補償装置が、
各足部におけるＺＭＰを検出するＺＭＰ検出センサと、
歩容生成部からの歩容データに基づいて、ＺＭＰ目標値を算出するＺＭＰ変換部と、
ＺＭＰ検出センサにより検出されたＺＭＰ実測値と、ＺＭＰ変換部からのＺＭＰ目標値を比較して歩容生成部からの歩容データの目標角速度及び角加速度を修正することによりＺＭＰ目標値を補償するＺＭＰ補償部と、
を含んでいることを特徴とする、二脚歩行式移動装置。
【請求項２】
前記本体が、人型ロボットの上体であって、頭部及び両手部を備えていることを特徴とする、請求項１に記載の二脚歩行式移動装置。
【請求項３】
前記ＺＭＰ補償部が、ＺＭＰ検出センサにより検出されたＺＭＰ実測値と、ＺＭＰ変換部からのＺＭＰ目標値を比較して、ＺＭＰ仮想目標値を生成するＺＭＰ仮想目標値生成部と、ＺＭＰ目標値からＺＭＰ仮想目標値への補償のための慣性力操作パラメータを生成するパラメータ生成部と、パラメータ生成部からの慣性力操作パラメータに基づいて、保容データの目標角速度及び角加速度を修正する安定化フィルタと、から構成されていることを特徴とする、請求項１または２に記載の二脚歩行式移動装置。
【請求項４】
本体と、本体の下部両側にて二軸方向に揺動可能に取り付けられた中間に膝部分を有する二本の脚部と、各脚部の下端に二軸方向に揺動可能に取り付けられた足部と、各脚部，膝部分及び足部を揺動させる駆動手段と、から成る二脚歩行式移動装置に関して、要求動作に対応して歩容生成部により生成される、目標角度軌道，目標角速度，目標角加速度を含む歩容データに基づいて上記駆動手段を駆動制御する、二脚歩行式移動装置の歩行制御装置において、
上記歩行制御装置が、ＺＭＰ補償装置を備えており、
このＺＭＰ補償装置が、
各足部におけるＺＭＰを検出するＺＭＰ検出センサと、
歩容生成部からの歩容データに基づいて、ＺＭＰ目標値を算出するＺＭＰ変換部と、
ＺＭＰ検出センサにより検出されたＺＭＰ実測値と、ＺＭＰ変換部からのＺＭＰ目標値を比較して、歩容生成部からの歩容データの目標角速度及び角加速度を修正することにより、ＺＭＰ目標値を補償するＺＭＰ補償部と、
を含んでいることを特徴とする、二脚歩行式移動装置の歩行制御装置。
【請求項５】
前記ＺＭＰ補償部が、ＺＭＰ検出センサにより検出されたＺＭＰ実測値と、ＺＭＰ変換部からのＺＭＰ目標値を比較して、ＺＭＰ仮想目標値を生成するＺＭＰ仮想目標値生成部と、ＺＭＰ目標値からＺＭＰ仮想目標値への補償のための慣性力操作パラメータを生成するパラメータ生成部と、パラメータ生成部からのパラメータに基づいて、保容データの目標角速度及び角加速度を修正する安定化フィルタと、から構成されていることを特徴とする、請求項４に記載の二脚歩行式移動装置の歩行制御装置。
【請求項６】
本体と、本体の下部両側にて二軸方向に揺動可能に取り付けられた中間に膝部分を有する二本の脚部と、各脚部の下端に二軸方向に揺動可能に取り付けられた足部と、各脚部，膝部分及び足部を揺動させる駆動手段と、から成る二脚歩行式移動装置に関して、要求動作に対応して歩容生成部により生成される、目標角度軌道，目標角速度，目標角加速度を含む歩容データに基づいて上記駆動手段を駆動制御する二脚歩行式移動装置の歩行制御方法において、
上記歩行制御方法がＺＭＰ補償を行なう際に、
ＺＭＰ検出センサにより各足部におけるＺＭＰを検出する第一の段階と、
歩容生成部からの歩容データに基づいて、ＺＭＰ変換部によりＺＭＰ目標値を算出する第二の段階と、
ＺＭＰ検出センサにより検出されたＺＭＰ実測値とＺＭＰ目標値を比較して、ＺＭＰ補償部により歩容生成部からの歩容データの目標角速度及び角加速度を修正することにより、ＺＭＰ目標値を補償する第三の段階と、
を含んでいることを特徴とする、二脚歩行式移動装置の歩行制御方法。
【請求項７】
前記第三の段階が、ＺＭＰ検出センサにより検出されたＺＭＰ実測値と、ＺＭＰ変換部からのＺＭＰ目標値を比較して、ＺＭＰ仮想目標値を生成する段階と、ＺＭＰ目標値からＺＭＰ仮想目標値への補償のための慣性力操作パラメータを生成する段階と、慣性力操作パラメータに基づいて、保容データの目標角速度及び角加速度を安定化フィルタにより修正する段階と、を含んでいることを特徴とする、請求項６に記載の二脚歩行式移動装置の歩行制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、二脚歩行式移動装置に関し、特に歩行安定化を実現するようにした歩行制御に関するものである。
【０００２】
【従来の技術】
従来、所謂二脚歩行式ロボットは、前もって設定された歩行パターン（以下、歩容という）データを生成して、この歩容データに従って歩行制御を行なって、所定の歩行パターンで脚部を動作させることにより二足歩行を実現するようにしている。
ところで、このような二脚歩行式ロボットは、例えば路面状況，ロボット自体の物理パラメータの誤差等によって歩行の際の姿勢が不安定になりやすく、場合によっては転倒してしまう。
【０００３】
これに対して、歩容データを前もって設定せずに、リアルタイムにロボットの歩行状態を認識しながら、歩行制御を行なうようにすれば、歩行の際の姿勢を安定させて歩行を行なわせることも可能であるが、このような場合でも、予期しない路面状況等が発生した場合には、歩行姿勢が崩れてロボットが転倒してしまうことになる。
【０００４】
このため、歩行制御によって、ロボットの足裏における床反力と重力の合成モーメントがゼロとなる点（以下、ＺＭＰ：Ｚｅｒｏ  Ｍｏｍｅｎｔ  Ｐｏｉｎｔという）を目標値に収束させる、所謂ＺＭＰ補償を行なう必要がある。
このようなＺＭＰ補償のための制御方法としては、例えば特開平５−３０５５８３号公報に示すように、コンプライアンス制御を利用して、ＺＭＰを目標値に収束させ、ロボットの上体を加速させて修正する方法や、ロボットの足の接地場所を修正する制御方法が知られている。
【０００５】
【発明が解決しようとする課題】
ところで、これらの制御方法においては、何れの場合も、ロボットの関節部分の角速度を変化させて動作軌跡を変更することにより、ロボットの安定化を図るようにしている。このため、ロボットの遊脚先端，上体位置等のロボットの各部の運動軌道が歩容データによる歩容からずれて、ロボットの足の歩幅や遊脚の高さが変わったり上体が傾斜してしまう。従って、上体の傾斜を傾斜センサにより検出して上体の傾斜を補償するようにしている。
【０００６】
しかしながら、このような構成の二脚歩行式ロボットにおいては、上体の傾斜の補償が必要であると共に、例えば飛び石上を歩行する等の遊脚着地位置を変更できない場合や、上方に在る障害物をくぐり抜けたり、路面にある障害物を跨ぐような場合には、歩容が変化することにより歩幅が変わったり、あるいは遊脚及び上体の姿勢が変わってしまうので、飛び石上に遊脚を着地させることができなかったり、あるいは上方の障害物に当たってしまったり、路面にある障害物に躓いたりして、歩行できなくなってしまうことがある。
【０００７】
この発明は、以上の点にかんがみて、歩容すなわち各関節部分の動作軌跡を変更せずに歩行安定性を実現できるようにした、二脚歩行式移動装置と、その歩行制御装置及び歩行制御方法を提供することを目的としている。
【０００８】
【課題を解決するための手段】
上記目的は、この発明の第一の構成によれば、本体と、本体の下部両側にて二軸方向に揺動可能に取り付けられた中間に膝部分を有する二本の脚部と、各脚部の下端に二軸方向に揺動可能に取り付けられた足部と、各脚部，膝部分及び足部を揺動させる駆動手段と、要求動作に対応して、目標角度軌道，目標角速度，目標角加速度を含む歩容データを生成する歩容生成部と、この歩容データに基づいて上記駆動手段を駆動制御する歩行制御装置と、を備えた二脚歩行式移動装置において、上記歩行制御装置がＺＭＰ補償装置を備えており、このＺＭＰ補償装置が、各足部におけるＺＭＰを検出するＺＭＰ検出センサと、歩容生成部からの歩容データに基づいてＺＭＰ目標値を算出するＺＭＰ変換部と、ＺＭＰ検出センサにより検出されたＺＭＰ実測値と、ＺＭＰ変換部からのＺＭＰ目標値を比較して歩容生成部からの歩容データの目標角速度及び角加速度を修正することによりＺＭＰ目標値を補償するＺＭＰ補償部と、を含んでいることを特徴とする二脚歩行式移動装置により達成される。
【０００９】
本発明による二脚歩行式移動装置は、好ましくは、上記本体が人型ロボットの上体であって頭部及び両手部を備えている。
【００１０】
本発明による二脚歩行式移動装置は、好ましくは、上記ＺＭＰ補償部が、ＺＭＰ検出センサにより検出されたＺＭＰ実測値と、ＺＭＰ変換部からのＺＭＰ目標値を比較してＺＭＰ仮想目標値を生成するＺＭＰ仮想目標値生成部と、ＺＭＰ目標値からＺＭＰ仮想目標値への補償のための慣性力操作パラメータを生成するパラメータ生成部と、パラメータ生成部からの慣性力操作パラメータに基づいて保容データの目標角速度及び角加速度を修正する安定化フィルタと、から構成されている。
【００１１】
本発明による二脚歩行式移動装置は、好ましくは、上記ＺＭＰ仮想目標値生成部が、生成したＺＭＰ仮想目標値が補償可能限界内であるか否かを判別する。
【００１２】
本発明による二脚歩行式移動装置は、好ましくは、上記ＺＭＰ仮想目標値生成部が、生成したＺＭＰ仮想目標値が補償可能限界を超えていると判別したときには再度ＺＭＰ仮想目標値を生成する。
【００１３】
また、上記目的は、この発明の第二の構成によれば、本体と、本体の下部両側にて二軸方向に揺動可能に取り付けられた中間に膝部分を有する二本の脚部と、各脚部の下端に二軸方向に揺動可能に取り付けられた足部と、各脚部，膝部分及び足部を揺動させる駆動手段と、から成る二脚歩行式移動装置に関して、要求動作に対応して歩容生成部により生成される、目標角度軌道，目標角速度，目標角加速度を含む歩容データに基づいて上記駆動手段を駆動制御する二脚歩行式移動装置の歩行制御装置において、上記歩行制御装置がＺＭＰ補償装置を備えており、このＺＭＰ補償装置が、各足部におけるＺＭＰを検出するＺＭＰ検出センサと、歩容生成部からの歩容データに基づいてＺＭＰ目標値を算出するＺＭＰ変換部と、ＺＭＰ検出センサにより検出されたＺＭＰ実測値と、ＺＭＰ変換部からのＺＭＰ目標値を比較して歩容生成部からの歩容データの目標角速度及び角加速度を修正することによりＺＭＰ目標値を補償するＺＭＰ補償部と、を含んでいることを特徴とする二脚歩行式移動装置の歩行制御装置により達成される。
【００１４】
本発明による二脚歩行式移動装置の歩行制御装置は、好ましくは、上記ＺＭＰ補償部が、ＺＭＰ検出センサにより検出されたＺＭＰ実測値と、ＺＭＰ変換部からのＺＭＰ目標値を比較してＺＭＰ仮想目標値を生成するＺＭＰ仮想目標値生成部と、ＺＭＰ目標値からＺＭＰ仮想目標値への補償のための慣性力操作パラメータを生成するパラメータ生成部と、パラメータ生成部からのパラメータに基づいて保容データの目標角速度及び角加速度を修正する安定化フィルタと、から構成されている。
【００１５】
本発明による二脚歩行式移動装置の歩行制御装置は、好ましくは、上記ＺＭＰ仮想目標値生成部が、生成したＺＭＰ仮想目標値が補償可能限界内であるか否かを判別する。
【００１６】
本発明による二脚歩行式移動装置の歩行制御装置は、好ましくは、上記ＺＭＰ仮想目標値生成部が、生成したＺＭＰ仮想目標値が補償可能限界を超えていると判別したときには、再度ＺＭＰ仮想目標値を生成する。
【００１７】
さらに、上記目的は、この発明の第三の構成によれば、本体と、本体の下部両側にて二軸方向に揺動可能に取り付けられた中間に膝部分を有する二本の脚部と、各脚部の下端に二軸方向に揺動可能に取り付けられた足部と、各脚部，膝部分及び足部を揺動させる駆動手段と、から成る二脚歩行式移動装置に関して、要求動作に対応して歩容生成部により生成される目標角度軌道，目標角速度，目標角加速度を含む歩容データに基づいて上記駆動手段を駆動制御する二脚歩行式移動装置の歩行制御方法において、上記歩行制御方法がＺＭＰ補償を行なう際に、ＺＭＰ検出センサにより各足部におけるＺＭＰを検出する第一の段階と、歩容生成部からの歩容データに基づいてＺＭＰ変換部によりＺＭＰ目標値を算出する第二の段階と、ＺＭＰ検出センサにより検出されたＺＭＰ実測値とＺＭＰ目標値を比較してＺＭＰ補償部により歩容生成部からの歩容データの目標角速度及び角加速度を修正することによりＺＭＰ目標値を補償する第三の段階と、を含んでいることを特徴とする二脚歩行式移動装置の歩行制御方法により達成される。
【００１８】
本発明による二脚歩行式移動装置の歩行制御方法は、好ましくは、上記第三の段階が、ＺＭＰ検出センサにより検出されたＺＭＰ実測値と、ＺＭＰ変換部からのＺＭＰ目標値を比較してＺＭＰ仮想目標値を生成する段階と、ＺＭＰ目標値からＺＭＰ仮想目標値への補償のための慣性力操作パラメータを生成する段階と、慣性力操作パラメータに基づいて保容データの目標角速度及び角加速度を安定化フィルタにより修正する段階と、を含んでいる。
【００１９】
本発明による二脚歩行式移動装置の歩行制御方法は、好ましくは、上記ＺＭＰ仮想目標値を生成する段階が、生成したＺＭＰ仮想目標値が補償可能限界内であるか否かを判別する。
【００２０】
本発明による二脚歩行式移動装置の歩行制御方法は、好ましくは、上記ＺＭＰ仮想目標値を生成する段階が、生成したＺＭＰ仮想目標値が補償可能限界を超えていると判別したときには、再度ＺＭＰ目標値を生成する。
【００２１】
上記構成によれば、ＺＭＰ検出センサにより検出したＺＭＰ実測値と、歩容データからＺＭＰ変換部により算出したＺＭＰ目標値とを比較してＺＭＰ補償部により歩容生成部からの歩容データの目標角速度及び目標角加速度を修正して、移動装置に発生する慣性力を制御することによりＺＭＰ目標値を補償する。
これにより、脚部及び足部の動作軌跡を変更することなく、ＺＭＰの実測誤差をゼロに収束させて、本体、好ましくはロボットの上体の安定化を図るようになっている。
従って、ＺＭＰ目標値の補償の際に、歩容データの目標角度軌道を変更することがないので、ロボット等の移動装置の本体，脚部の各部分の運動軌道が歩容データにより決められた運動軌道から外れることがない。
【００２２】
これにより、例えば移動装置が飛び石等の遊脚着地位置が決まっている場合であっても、また障害物を跨いだり潜り抜けるような場合であっても、確実に歩行制御を行なうことが可能である。
また、ＺＭＰの補償は、歩容生成部により生成された歩容データを利用することにより行なうようになっているので、歩容データの生成手法には依存しない。従って、ＺＭＰの補償が簡略化され得ることになる。
さらに、ＺＭＰの補償に際して歩容データの目標角度軌道を変更しないので、従来のような補償の際に用いた上体の傾斜を検出して上体を補償する必要がなく、簡単な構成によりＺＭＰの補償を行なうことができる。
【００２３】
上記ＺＭＰ補償部が、ＺＭＰ検出センサにより検出されたＺＭＰ実測値と、ＺＭＰ変換部からのＺＭＰ目標値を比較してＺＭＰ仮想目標値を生成するＺＭＰ仮想目標値生成部と、ＺＭＰ目標値からＺＭＰ仮想目標値への補償のための慣性力操作パラメータを生成するパラメータ生成部と、パラメータ生成部からの慣性力操作パラメータに基づいてＺＭＰ目標値を補償する安定化フィルタとから構成されている場合には、ＺＭＰ仮想目標値生成部によりＺＭＰ仮想目標値を設定することによりＺＭＰを段階的に補償することができる。
これにより、ＺＭＰ実測値がＺＭＰ目標値から大きくずれた場合であっても、ＺＭＰの補償を段階的に行なうことにより、過大なトルクが各関節部で発生することを防止して移動装置の歩行安定性を確保することができるので、移動装置全体の転倒を防止することができる。
【００２４】
上記ＺＭＰ仮想目標値生成部が、生成したＺＭＰ仮想目標値が補償可能限界内であるか否かを判別するときには、判別の結果、生成したＺＭＰ仮想目標値が補償可能限界内である場合には、このＺＭＰ仮想目標値に対してＺＭＰの補償を行なったとしても移動装置が転倒するようなことはない。従って、このＺＭＰ仮想目標値に対してＺＭＰの補償を行なうことができる。
【００２５】
上記ＺＭＰ仮想目標値生成部が、生成したＺＭＰ仮想目標値が補償可能限界を超えていると判別したとき、再度ＺＭＰ仮想目標値を生成する場合には、補償可能限界内のＺＭＰ仮想目標値を生成することにより、二脚歩行式移動装置の歩行安定性を確保しつつ、ＺＭＰ実測値をＺＭＰ目標値に近づけるようにすることで移動装置の転倒を防止することができる。
【００２６】
【発明の実施の形態】
以下、図面に示した実施形態に基づいて、この発明を詳細に説明する。
図１乃至図２は、この発明による二脚歩行式移動装置を適用した二脚歩行式ロボットの一実施形態の構成を示している。
図１において、二脚歩行式ロボット１０は、本体である上体１１と、上体１１の下部両側に取り付けられた中間に膝部１２Ｌ，１２Ｒを備えた二本の脚部１３Ｌ，１３Ｒと、各脚部１３Ｌ，１３Ｒの下端に取り付けられた足部１４Ｌ，１４Ｒと、を含んでいる。
【００２７】
ここで、上記脚部１３Ｌ，１３Ｒは、それぞれ六個の関節部、即ち上方から順に、上体１１に対する腰の脚部回旋用の関節部１５Ｌ，１５Ｒ、腰のロール方向（ｘ軸周り）の関節部１６Ｌ，１６Ｒ、腰のピッチ方向（ｙ軸周り）の関節部１７Ｌ，１７Ｒ、膝部１２Ｌ，１２Ｒのピッチ方向の関節部１８Ｌ，１８Ｒ、足部１４Ｌ，１４Ｒに対する足首部のピッチ方向の関節部１９Ｌ，１９Ｒ、足首部のロール方向の関節部２０Ｌ，２０Ｒを備えている。
なお、各関節部１５Ｌ，１５Ｒ乃至２０Ｌ，２０Ｒはそれぞれ関節駆動用モータにより構成されている。
【００２８】
このようにして、腰関節は、上記関節部１５Ｌ，１５Ｒ，１６Ｌ，１６Ｒ，１７ＫＬ，１７Ｒから構成され、また足関節は、関節部１９Ｌ，１９Ｒ，２０Ｌ，２０Ｒから構成されることになる。
さらに、腰関節と膝関節との間は大腿リンク２１Ｌ，２１Ｒにより連結されており、また膝関節と足関節との間は下腿リンク２２Ｌ，２２Ｒにより連結されている。
これにより、二脚歩行式ロボット１０の左右両側の脚部１３Ｌ，１３Ｒ及び足部１４Ｌ，１４Ｒは、それぞれ６自由度を与えられることになり、歩行中にこれらの１２個の関節部をそれぞれ駆動モータにより適宜の角度に駆動制御することにより、脚部１３Ｌ，１３Ｒ，足部１４Ｌ，１４Ｒ全体に所望の動作を与えて、任意に三次元空間を歩行することができるように構成されている。
【００２９】
さらに、上記足部１４Ｌ，１４Ｒは、ＺＭＰ検出センサ２３Ｌ，２３Ｒを備えている。このＺＭＰ検出センサ２３Ｌ，２３Ｒは、それぞれ各足部１４Ｌ，１４Ｒにおける足裏床反力の中心点であるＺＭＰを検出して、ＺＭＰ実測値を出力するようになっている。
【００３０】
なお、上記上体１１は、図示の場合、単に箱状に示されているが、実際には、頭部や両手を備えていてもよい。
【００３１】
図２は、図１に示した二脚歩行式ロボット１０の電気的構成を示している。図２において、二脚歩行式ロボット１０は、要求動作に対応して歩容データを生成する歩容生成部２４と、この歩容データに基づいて駆動手段、即ち上述した各関節部即ち関節駆動用モータ１５Ｌ，１５Ｒ乃至２０Ｌ，２０Ｒを駆動制御する歩行制御装置３０と、を備えている。なお、二脚歩行式ロボット１０の座標系として、前後方向をｘ方向（前方＋），横方向をｙ方向（内方＋）そして上下方向をｚ方向（上方＋）とするｘｙｚ座標系を使用する。
【００３２】
上記歩容生成部２４は、外部から入力される要求動作に対応して、二脚歩行式ロボット１０の歩行に必要な各関節部１５Ｌ，１５Ｒ乃至２０Ｌ，２０Ｒの目標角度軌道θref ，目標角速度（ｄθref ／ｄｔ），目標角加速度（ｄ2 θref ／ｄｔ2 ）を含む歩容データを生成するようになっている。
【００３３】
上記歩行制御装置３０は、角度計測ユニット３１と、ＺＭＰ補償装置３２と、制御部３３と、モータ制御ユニット３４と、から構成されている。
上記角度計測ユニット３１は、各関節部１５Ｌ，１５Ｒ乃至２０Ｌ，２０Ｒの関節駆動用モータに備えられた例えばロータリエンコーダ等により各関節駆動用モータの角度情報が入力されることにより、各関節駆動用モータの角度位置を計測して、制御部３３に出力するようになっている。
【００３４】
上記ＺＭＰ補償装置３２は、以下に詳細に説明するように、上記ＺＭＰ検出センサ２３Ｌ，２３ＲからのＺＭＰ実測値に基づいて、歩容生成部２４からの歩容データのＺＭＰ目標値補償を行うようになっている。
【００３５】
上記制御部３３は、ＺＭＰ補償装置３２で補償された歩容データのＺＭＰ目標値と、角度計測ユニット３１からの各関節駆動用モータの角度位置に基づいて、各関節駆動用モータの制御信号を生成するようになっている。
上記モータ制御ユニット３４は、制御部３３からの制御信号に従って各関節駆動用モータを駆動制御するようになっている。
【００３６】
ここで、上記ＺＭＰ補償装置３２は、図３に示すように構成されている。
図３において、ＺＭＰ補償装置３２は、ＺＭＰ変換部３５とＺＭＰ補償部３６とから構成されている。上記ＺＭＰ変換部３５は、歩容生成部２４からの歩容データの目標角度軌道θref ，目標角速度（ｄθref ／ｄｔ）及び目標角加速度（ｄ2 θref ／ｄｔ2 ）に基づいて、ＺＭＰ目標値ＺＭＰref を算出する。
ＺＭＰ目標値ＺＭＰref の算出は、以下のようにして行なわれる。
【００３７】
図４に示すように、二脚歩行式ロボット１０の支持脚をｘｚ平面の原点として、支持脚の下腿部２２Ｌまたは２２Ｒの質量をｍ１，角度をθ１とし、大腿部２１Ｌまたは２１Ｒの質量をｍ２，角度をθ２とし、上体１１の質量をｍ３，角度をθ３とし、遊脚の大腿部２１Ｒまたは２１Ｌの質量をｍ４，角度をθ４とし、大腿部２２Ｒまたは２２Ｌの質量をｍ５，角度をθ５とすると、ピッチ軸周りのＺＭＰ（ＸZMP ）は、次式
【数１】
0003760186.tif 000002
により算出される。
同様にして、ロール軸周りのＺＭＰ（ＹZMP ）も算出することができる。
【００３８】
上記ＺＭＰ補償部３６は、図３に示すように、ＺＭＰ仮想目標値生成部３７とパラメータ生成部３８と安定化フィルタ３９とから構成されている。
上記ＺＭＰ仮想目標値生成部３７は、ＺＭＰ検出センサにより検出されたＺＭＰ実測値と、ＺＭＰ変換部３５からのＺＭＰ目標値ＺＭＰref とを比較して、ＺＭＰ仮想目標値ＺＭＰvrefを生成する。
具体的には、ＺＭＰ仮想目標値生成部３７は、減算器３７ａによるＺＭＰ誤差ＺＭＰerr （＝ＺＭＰref −ＺＭＰ実測値）と、ＺＭＰ目標値ＺＭＰref から、次式
【数２】
0003760186.tif 000003
によりＺＭＰ仮想目標値ＺＭＰvrefを生成する。ここで、αはゲインである。
さらに、上記ＺＭＰ仮想目標値生成部３７は、このＺＭＰ仮想目標値ＺＭＰvrefが補償可能限界以内であるか否かの判別を行ない、補償可能限界を超えている場合には、再度ＺＭＰ仮想目標値ＺＭＰvrefを生成する。
【００３９】
上記パラメータ生成部３８は、ＺＭＰ仮想目標値生成部３７からのＺＭＰ仮想目標値ＺＭＰvrefと、歩行生成部２４からの目標角度軌道θref ，目標角速度（ｄθref ／ｄｔ）及び目標角加速度（ｄ2 θref ／ｄｔ2 ）に基づいて、ＺＭＰ補償関数を利用して、ＺＭＰ実測値をＺＭＰ仮想目標値ＺＭＰvrefまで修正するために必要な慣性力を計算し、この慣性力に応じた慣性力操作パラメータＴｃを算出する。
この慣性力操作パラメータＴｃは、ピッチ軸周りに関して、前述したＺＭＰの計算式から、次式
【数３】
0003760186.tif 000004
により導出され、この式をＺＭＰ補償関数という。
ここで、κ，λ，μは、ロボットの物理量及びθｒｅｆにより決定されるパラメータである。
同様にして、ロール軸周りのＺＭＰ補償関数も導出することができる。
これにより、パラメータ生成部３８は、慣性力操作パラメータＴｃにより、ＺＭＰサンプリング間隔を仮想的に伸縮させて、ＺＭＰ目標値を実現するために必要な慣性力を生じさせるようになっている。
【００４０】
上記安定化フィルタ３９は、パラメータ生成部３８からの慣性力操作パラメータＴｃに基づいて、歩容生成部２４からの歩容データである目標角度軌道θref ，目標角速度（ｄθref ／ｄｔ）及び目標角加速度（ｄ2 θref ／ｄｔ2 ）から、各関節部の修正した目標角度軌道θｃ，目標角速度（ｄθｃ／ｄｔ）及び目標角加速度（ｄ2 θｃ／ｄｔ2 ）を算出する。
【００４１】
本発明実施形態による二脚歩行式ロボット１０は以上のように構成されており、歩行動作は、図５に示すフローチャートにより以下のように行なわれる。
図５において、先ずステップＳＴ１にて、歩容生成部２４が、入力された要求動作（Ｊ＝Ｊ）に基づいて歩容データを生成し、歩行制御装置３０のＺＭＰ補償装置３２に出力する。
次に、ステップＳＴ２にて、ＺＭＰ補償装置３２のＺＭＰ変換部３５が、この歩容データに基づいて各関節部１６Ｌ，１６Ｒ乃至２０Ｌ，２０Ｒの目標角度θref ，目標角速度（ｄθref ／ｄｔ），目標角加速度（ｄ2 θref ／ｄｔ2 ）からＺＭＰ目標値を算出する。
【００４２】
他方、ステップＳＴ３にて、双方の足部１４Ｌ，１４Ｒに備えられたＺＭＰ検出センサ２３Ｌ，２３ＲがＺＭＰ実測値を検出する。
これにより、ステップＳＴ４にて、ＺＭＰ仮想目標値生成部３７が、減算器３７ａからのＺＭＰ誤差ＺＭＰerr と、ＺＭＰ変換部３５からのＺＭＰ目標値ＺＭＰref から、ＺＭＰ仮想目標値ＺＭＰvrefを生成する。
続いて、ステップＳＴ５にて、ＺＭＰ仮想目標値生成部３７が、ＺＭＰ仮想目標値ＺＭＰvrefが補償可能限界内であるか否かを判別する。
【００４３】
そして、ステップＳＴ５にて、ＺＭＰ仮想目標値ＺＭＰvrefが補償可能限界を超えている場合には、前述したステップＳＴ４に戻って、ＺＭＰ仮想目標値生成部３７が、再びＺＭＰ仮想目標値ＺＭＰvrefを生成する。
また、ステップＳＴ５にて、ＺＭＰ仮想目標値ＺＭＰvrefが補償可能限界内である場合には、ＺＭＰ仮想目標値生成部３７が、ＺＭＰ仮想目標値ＺＭＰvrefをパラメータ生成部３８に出力する。
【００４４】
そして、ステップＳＴ６にて、パラメータ生成部３８が、このＺＭＰ仮想目標値ＺＭＰvrefと、歩容生成部２４からの歩容データによる各関節部１６Ｌ，１６Ｒ乃至２０Ｌ，２０Ｒの目標角度θref ，目標角速度（ｄθref ／ｄｔ），目標角加速度（ｄ2 θref ／ｄｔ2 ）とから、ＺＭＰ補償関数により慣性力操作パラメータＴｃを算出して、安定化フィルタ３９に出力する。
【００４５】
続いて、ステップＳＴ７にて、安定化フィルタ３９が、上記慣性力操作パラメータＴｃに基づいて、歩容生成部２４からの歩容データによる各関節部１６Ｌ，１６Ｒ乃至２０Ｌ，２０Ｒの目標角度θref ，目標角速度（ｄθref ／ｄｔ），目標角加速度（ｄ2 θref ／ｄｔ2 ）に修正を加えて、各関節部の修正した目標角度軌道θｃ，目標角速度（ｄθｃ／ｄｔ）及び目標角加速度（ｄ2 θｃ／ｄｔ2 ）を算出する。
【００４６】
次に、ステップＳＴ８にて、ＺＭＰ補償装置３２は、上述した補償した歩容データ、すなわち各関節部の修正した目標角度軌道θｃ，目標角速度（ｄθｃ／ｄｔ）及び目標角加速度（ｄ2 θｃ／ｄｔ2 ）を制御部３３に出力し、モータ制御ユニット３４が各関節部の関節駆動用モータを駆動制御する。これにより、二脚歩行式ロボット１０は要求動作に対応して歩行動作を行なうことになる。
【００４７】
その後、ステップＳＴ９にて、制御部３３が、動作カウンタインクリメントによりＪ＝Ｊ＋１として、所定のサンプリング時間になるまで待機した後、ステップＳＴ１０にて、上記Ｊが前以て決められた動作終了カウント以下の場合には再びステップ２に戻って上記動作を繰り返す。
そして、ステップＳＴ１０にて、上記Ｊが動作終了カウントを超えた場合には動作を終了する。
【００４８】
この場合、二脚歩行式ロボット１０において、各関節駆動用モータの駆動制御の際に、目標角加速度（ｄ2 θref ／ｄｔ2 ）が、修正した目標角加速度（ｄ2 θｃ／ｄｔ2 ）に変更されることにより、ロボット１０に作用する加速度が変化することになり、これに伴って、加速度の反作用としての慣性力が変化する。従って、ロボット１０に作用する慣性力が目標角加速度（ｄ2 θref ／ｄｔ2 ）の変化により適宜に制御される。これによりロボット１０は、図６に示すようにその歩行の際の動作軌跡Ａを変更することなく、動作軌跡Ｂを時間的に伸縮させることによって要求動作に対する歩行動作を行なう。
【００４９】
さらに、ＺＭＰ仮想目標値生成部３７が、ＺＭＰ目標値ＺＭＰref とＺＭＰ実測値から、一旦ＺＭＰ仮想目標値ＺＭＰvrefを生成することにより、ＺＭＰ実測値がＺＭＰ目標値から大きくずれている場合には、段階的にＺＭＰ実測値をＺＭＰ目標値に近づけるように、ＺＭＰの補償を行なうようになっている。
これにより、ＺＭＰ実測値がＺＭＰ目標値から大きくずれている場合でも、ロボット１０の各関節部に過大な角加速度が作用することがないので、ロボット１０が安定した状態で歩行を行なうことが可能である。
【００５０】
このようにして、本発明実施形態による二脚歩行式ロボット１０によれば、ＺＭＰ目標値とＺＭＰ実測値の差であるＺＭＰ誤差に基づいて、歩容データの目標角速度及び目標角加速度を修正することにより、ロボット１０に発生する慣性力を制御してＺＭＰ目標値を補償する。
従って、歩行の際の動作軌跡を変更することなく、ＺＭＰ誤差をゼロに収束させることによりロボット１０の歩行安定化を実現することができる。
【００５１】
次に、本発明による二脚歩行式ロボット１０に関するシミュレーション実験及び実機実験について説明する。
先ず、シミュレーション実験について説明する。
上述した二脚歩行式ロボット１０により、ｙｚ面内での動的足踏み動作を行なわせて、一方の支持脚による片足立ち状態から０．４２秒後に外乱を与えて、ＺＭＰに関して目標値からのずれを生じさせた。
この結果、ＺＭＰ仮想目標値生成部３７により生成されたＺＭＰ仮想目標値ＺＭＰvrefは、図７（Ａ）に示すように、０．４３秒までにはＺＭＰ目標値にほぼ完全に収束すると共に、さらに図７（Ｂ）に示すように、ＺＭＰ実測値もＺＭＰ目標値に正しく修正されていることが確認された。なお、図８において、上述したＺＭＰ補償がない場合には、ＺＭＰ目標値はＺＭＰ目標値から大きくずれたままであった。
【００５２】
実機実験では、二脚歩行式ロボット１０として、全体質量１３７０ｇ，全高３０．０ｃｍ，足部底面形状がロール方向（ｙ方向）６．０ｃｍ，ピッチ方向（ｘ方向）８．０ｃｍのロボットを使用して足踏み動作を行なわせたところ、図９に示すように、本発明によるＺＭＰ補償の場合には、ＺＭＰ補償のない場合と比較してＺＭＰ実測値がＺＭＰ目標値により近づいており、ロボットの歩行安定性が向上していることが分かった。
さらに、実機実験により、上述したシミュレーション実験の場合と同様に足踏み動作中の外乱について実験したところ、図１０に示すように、本発明によるＺＭＰ補償の場合には、ＺＭＰ実測値がＺＭＰ目標値に確実に近づいて、ＺＭＰ誤差がゼロに近づいており（図１１参照）、ロボットの歩行安定性が向上していることが分かる。
これに対して、従来のＺＭＰ補償による場合には、図１０に示すように、その後約０．５秒経過後にロボットが転倒してしまった。
【００５３】
上述した実施形態においては、実験において、ｙｚ面内における足踏み動作の場合について説明したが、これに限らず、ｘｚ面内においても同様に二脚歩行式ロボット１０の歩行安定性が向上することは明らかである。
また、上述した実施形態においては、本発明を二脚歩行式ロボットに適用した場合について説明したが、これに限らず、他の各種機器を二本足で支持すると共に、この二本足で歩行するようにした二脚歩行式移動装置に対して本発明を適用し得ることは明らかである。
【００５４】
【発明の効果】
以上述べたように、この発明によれば、ＺＭＰ検出センサにより検出したＺＭＰ実測値と、歩容データからＺＭＰ変換部により算出したＺＭＰ目標値とを比較して、ＺＭＰ補償部により歩容生成部からの歩容データの目標角速度及び目標角加速度を修正して移動装置に発生する慣性力を制御することにより、ＺＭＰ目標値を補償する。これにより、脚部及び足部の動作軌跡を変更することなく、ＺＭＰの実測誤差をゼロに収束させて、本体、好ましくはロボットの上体の安定化を図るようになっている。
従って、ＺＭＰ目標値の補償の際に、歩容データの目標角度軌道を変更することがないので、ロボット等の移動装置の本体，脚部の各部分の運動軌道が歩容データにより決められた運動軌道から外れることがない。
【００５５】
これにより、例えば移動装置が飛び石等の遊脚着地位置が決まっている場合であっても、また障害物を跨いだり、潜り抜けるような場合であっても、確実に歩行制御を行なうことが可能である。
また、ＺＭＰの補償は、歩容生成部により生成された歩容データを利用することにより行なうようになっているので、歩容データの生成手法には依存しない。従って、ＺＭＰの補償が簡略化され得る。
さらに、ＺＭＰの補償に際して、歩容データの目標角度軌道を変更することがないので、従来のような補償の際に用いた上体の傾斜を検出して上体を補償する必要がなく、簡単な構成によりＺＭＰの補償を行なうことができる。
このようにして、本発明によれば、歩容すなわち各関節部分の動作軌跡を変更せずに歩行安定性を実現できるようにした、極めて優れた二脚歩行式移動装置とその歩行制御装置及び歩行制御方法を提供することができる。
【図面の簡単な説明】
【図１】この発明による二脚歩行式ロボットの一実施形態の機械的構成を示す概略図である。
【図２】図１の二脚歩行式ロボットの電気的構成を示すブロック図である。
【図３】図１の二脚歩行式ロボットのＺＭＰ補償装置の構成を示すブロック図である。
【図４】図１に示す二脚歩行式ロボットの歩行時のｘｚ平面分離モデルを示す概略図である。
【図５】図１の二脚歩行式ロボットの歩行制御動作を示すフローチャートである。
【図６】図１の二脚歩行式ロボットにおけるＺＭＰ補償の角速度操作を示す概略図である。
【図７】図１の二脚歩行式ロボットにおけるシミュレーション実験によるＺＭＰ仮想目標値とＺＭＰ実測値を示すグラフである。
【図８】図１の二脚歩行式ロボットにおけるシミュレーション実験によるＺＭＰ目標値，ＺＭＰ実測値及びＺＭＰ補償のない場合のＺＭＰ実測値を示すグラフである。
【図９】図１の二脚歩行式ロボットにおける実機実験によるＺＭＰ目標値，ＺＭＰ実測値及びＺＭＰ補償のない場合のＺＭＰ実測値を示すグラフである。
【図１０】図１の二脚歩行式ロボットにおける他の実機実験によるＺＭＰ実測値及び従来のＺＭＰ補償による場合のＺＭＰ実測値を示すグラフである。
【図１１】図１０の実機実験の外乱作用直後の（Ａ）ＺＭＰ目標値，ＺＭＰ実測値及び、（Ｂ）ＺＭＰ誤差を示す拡大グラフである。
【符号の説明】
１０    二脚歩行式ロボット
１１    本体
１２Ｌ，１２Ｒ  膝部
１３Ｌ，１３Ｒ  脚部
１４Ｌ，１４Ｒ  足部
１５Ｌ，１５Ｒ乃至２０Ｌ，２０Ｒ  関節部（関節駆動用モータ）
２１Ｌ，２１Ｒ  大腿部
２２Ｌ，２２Ｒ  下腿部
２３Ｌ，２３Ｒ  ＺＭＰ検出センサ
２４    歩容生成部
３０    歩行制御装置
３１    角度計測ユニット
３２    ＺＭＰ補償装置
３３    制御部
３４    モータ制御ユニット
３５    ＺＭＰ変換部
３６    ＺＭＰ補償部
３７    ＺＭＰ仮想目標値生成部
３８    パラメータ生成部
３９    安定化フィルタ
【図１】
0003760186.tif 000005
【図２】
0003760186.tif 000006
【図３】
0003760186.tif 000007
【図４】
0003760186.tif 000008
【図５】
0003760186.tif 000009
【図６】
0003760186.tif 000010
【図７】
0003760186.tif 000011
【図８】
0003760186.tif 000012
【図９】
0003760186.tif 000013
【図１０】
0003760186.tif 000014
【図１１】
0003760186.tif 000015