TOP > 国内特許検索 > 二脚歩行式移動装置及びその歩行制御装置並びに歩行制御方法 > 明細書

明細書 :二脚歩行式移動装置及びその歩行制御装置並びに歩行制御方法

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第3760186号 (P3760186)
公開番号 特開2002-361574 (P2002-361574A)
登録日 平成18年1月20日(2006.1.20)
発行日 平成18年3月29日(2006.3.29)
公開日 平成14年12月18日(2002.12.18)
発明の名称または考案の名称 二脚歩行式移動装置及びその歩行制御装置並びに歩行制御方法
国際特許分類 B25J   5/00        (2006.01)
B25J  13/00        (2006.01)
FI B25J 5/00 F
B25J 13/00 Z
請求項の数または発明の数 7
全頁数 16
出願番号 特願2001-173262 (P2001-173262)
出願日 平成13年6月7日(2001.6.7)
審査請求日 平成15年4月9日(2003.4.9)
特許権者または実用新案権者 【識別番号】503360115
【氏名又は名称】独立行政法人科学技術振興機構
発明者または考案者 【氏名】古田 貴之
【氏名】富山 健
【氏名】北野 宏明
個別代理人の代理人 【識別番号】100082876、【弁理士】、【氏名又は名称】平山 一幸
審査官 【審査官】二階堂 恭弘
参考文献・文献 特開平5-305583(JP,A)
特開2001-138273(JP,A)
調査した分野 B25J 1/00-21/02
特許請求の範囲 【請求項1】
本体と、本体の下部両側にて二軸方向に揺動可能に取り付けられた中間に膝部を有する二本の脚部と、各脚部の下端に二軸方向に揺動可能に取り付けられた足部と、各脚部,膝部及び足部を揺動させる駆動手段と、要求動作に対応して、目標角度軌道,目標角速度,目標角加速度を含む歩容データを生成する歩容生成部と、この歩容データに基づいて上記駆動手段を駆動制御する歩行制御装置と、を備えた二脚歩行式移動装置において、
上記歩行制御装置が、ZMP補償装置を備えており、
このZMP補償装置が、
各足部におけるZMPを検出するZMP検出センサと、
歩容生成部からの歩容データに基づいて、ZMP目標値を算出するZMP変換部と、
ZMP検出センサにより検出されたZMP実測値と、ZMP変換部からのZMP目標値を比較して歩容生成部からの歩容データの目標角速度及び角加速度を修正することによりZMP目標値を補償するZMP補償部と、
を含んでいることを特徴とする、二脚歩行式移動装置。
【請求項2】
前記本体が、人型ロボットの上体であって、頭部及び両手部を備えていることを特徴とする、請求項1に記載の二脚歩行式移動装置。
【請求項3】
前記ZMP補償部が、ZMP検出センサにより検出されたZMP実測値と、ZMP変換部からのZMP目標値を比較して、ZMP仮想目標値を生成するZMP仮想目標値生成部と、ZMP目標値からZMP仮想目標値への補償のための慣性力操作パラメータを生成するパラメータ生成部と、パラメータ生成部からの慣性力操作パラメータに基づいて、保容データの目標角速度及び角加速度を修正する安定化フィルタと、から構成されていることを特徴とする、請求項1または2に記載の二脚歩行式移動装置。
【請求項4】
本体と、本体の下部両側にて二軸方向に揺動可能に取り付けられた中間に膝部分を有する二本の脚部と、各脚部の下端に二軸方向に揺動可能に取り付けられた足部と、各脚部,膝部分及び足部を揺動させる駆動手段と、から成る二脚歩行式移動装置に関して、要求動作に対応して歩容生成部により生成される、目標角度軌道,目標角速度,目標角加速度を含む歩容データに基づいて上記駆動手段を駆動制御する、二脚歩行式移動装置の歩行制御装置において、
上記歩行制御装置が、ZMP補償装置を備えており、
このZMP補償装置が、
各足部におけるZMPを検出するZMP検出センサと、
歩容生成部からの歩容データに基づいて、ZMP目標値を算出するZMP変換部と、
ZMP検出センサにより検出されたZMP実測値と、ZMP変換部からのZMP目標値を比較して、歩容生成部からの歩容データの目標角速度及び角加速度を修正することにより、ZMP目標値を補償するZMP補償部と、
を含んでいることを特徴とする、二脚歩行式移動装置の歩行制御装置。
【請求項5】
前記ZMP補償部が、ZMP検出センサにより検出されたZMP実測値と、ZMP変換部からのZMP目標値を比較して、ZMP仮想目標値を生成するZMP仮想目標値生成部と、ZMP目標値からZMP仮想目標値への補償のための慣性力操作パラメータを生成するパラメータ生成部と、パラメータ生成部からのパラメータに基づいて、保容データの目標角速度及び角加速度を修正する安定化フィルタと、から構成されていることを特徴とする、請求項に記載の二脚歩行式移動装置の歩行制御装置。
【請求項6】
本体と、本体の下部両側にて二軸方向に揺動可能に取り付けられた中間に膝部分を有する二本の脚部と、各脚部の下端に二軸方向に揺動可能に取り付けられた足部と、各脚部,膝部分及び足部を揺動させる駆動手段と、から成る二脚歩行式移動装置に関して、要求動作に対応して歩容生成部により生成される、目標角度軌道,目標角速度,目標角加速度を含む歩容データに基づいて上記駆動手段を駆動制御する二脚歩行式移動装置の歩行制御方法において、
上記歩行制御方法がZMP補償を行なう際に、
ZMP検出センサにより各足部におけるZMPを検出する第一の段階と、
歩容生成部からの歩容データに基づいて、ZMP変換部によりZMP目標値を算出する第二の段階と、
ZMP検出センサにより検出されたZMP実測値とZMP目標値を比較して、ZMP補償部により歩容生成部からの歩容データの目標角速度及び角加速度を修正することにより、ZMP目標値を補償する第三の段階と、
を含んでいることを特徴とする、二脚歩行式移動装置の歩行制御方法。
【請求項7】
前記第三の段階が、ZMP検出センサにより検出されたZMP実測値と、ZMP変換部からのZMP目標値を比較して、ZMP仮想目標値を生成する段階と、ZMP目標値からZMP仮想目標値への補償のための慣性力操作パラメータを生成する段階と、慣性力操作パラメータに基づいて、保容データの目標角速度及び角加速度を安定化フィルタにより修正する段階と、を含んでいることを特徴とする、請求項6に記載の二脚歩行式移動装置の歩行制御方法。
発明の詳細な説明
【0001】
【発明の属する技術分野】
本発明は、二脚歩行式移動装置に関し、特に歩行安定化を実現するようにした歩行制御に関するものである。
【0002】
【従来の技術】
従来、所謂二脚歩行式ロボットは、前もって設定された歩行パターン(以下、歩容という)データを生成して、この歩容データに従って歩行制御を行なって、所定の歩行パターンで脚部を動作させることにより二足歩行を実現するようにしている。
ところで、このような二脚歩行式ロボットは、例えば路面状況,ロボット自体の物理パラメータの誤差等によって歩行の際の姿勢が不安定になりやすく、場合によっては転倒してしまう。
【0003】
これに対して、歩容データを前もって設定せずに、リアルタイムにロボットの歩行状態を認識しながら、歩行制御を行なうようにすれば、歩行の際の姿勢を安定させて歩行を行なわせることも可能であるが、このような場合でも、予期しない路面状況等が発生した場合には、歩行姿勢が崩れてロボットが転倒してしまうことになる。
【0004】
このため、歩行制御によって、ロボットの足裏における床反力と重力の合成モーメントがゼロとなる点(以下、ZMP:Zero Moment Pointという)を目標値に収束させる、所謂ZMP補償を行なう必要がある。
このようなZMP補償のための制御方法としては、例えば特開平5-305583号公報に示すように、コンプライアンス制御を利用して、ZMPを目標値に収束させ、ロボットの上体を加速させて修正する方法や、ロボットの足の接地場所を修正する制御方法が知られている。
【0005】
【発明が解決しようとする課題】
ところで、これらの制御方法においては、何れの場合も、ロボットの関節部分の角速度を変化させて動作軌跡を変更することにより、ロボットの安定化を図るようにしている。このため、ロボットの遊脚先端,上体位置等のロボットの各部の運動軌道が歩容データによる歩容からずれて、ロボットの足の歩幅や遊脚の高さが変わったり上体が傾斜してしまう。従って、上体の傾斜を傾斜センサにより検出して上体の傾斜を補償するようにしている。
【0006】
しかしながら、このような構成の二脚歩行式ロボットにおいては、上体の傾斜の補償が必要であると共に、例えば飛び石上を歩行する等の遊脚着地位置を変更できない場合や、上方に在る障害物をくぐり抜けたり、路面にある障害物を跨ぐような場合には、歩容が変化することにより歩幅が変わったり、あるいは遊脚及び上体の姿勢が変わってしまうので、飛び石上に遊脚を着地させることができなかったり、あるいは上方の障害物に当たってしまったり、路面にある障害物に躓いたりして、歩行できなくなってしまうことがある。
【0007】
この発明は、以上の点にかんがみて、歩容すなわち各関節部分の動作軌跡を変更せずに歩行安定性を実現できるようにした、二脚歩行式移動装置と、その歩行制御装置及び歩行制御方法を提供することを目的としている。
【0008】
【課題を解決するための手段】
上記目的は、この発明の第一の構成によれば、本体と、本体の下部両側にて二軸方向に揺動可能に取り付けられた中間に膝部分を有する二本の脚部と、各脚部の下端に二軸方向に揺動可能に取り付けられた足部と、各脚部,膝部分及び足部を揺動させる駆動手段と、要求動作に対応して、目標角度軌道,目標角速度,目標角加速度を含む歩容データを生成する歩容生成部と、この歩容データに基づいて上記駆動手段を駆動制御する歩行制御装置と、を備えた二脚歩行式移動装置において、上記歩行制御装置がZMP補償装置を備えており、このZMP補償装置が、各足部におけるZMPを検出するZMP検出センサと、歩容生成部からの歩容データに基づいてZMP目標値を算出するZMP変換部と、ZMP検出センサにより検出されたZMP実測値と、ZMP変換部からのZMP目標値を比較して歩容生成部からの歩容データの目標角速度及び角加速度を修正することによりZMP目標値を補償するZMP補償部と、を含んでいることを特徴とする二脚歩行式移動装置により達成される。
【0009】
本発明による二脚歩行式移動装置は、好ましくは、上記本体が人型ロボットの上体であって頭部及び両手部を備えている。
【0010】
本発明による二脚歩行式移動装置は、好ましくは、上記ZMP補償部が、ZMP検出センサにより検出されたZMP実測値と、ZMP変換部からのZMP目標値を比較してZMP仮想目標値を生成するZMP仮想目標値生成部と、ZMP目標値からZMP仮想目標値への補償のための慣性力操作パラメータを生成するパラメータ生成部と、パラメータ生成部からの慣性力操作パラメータに基づいて保容データの目標角速度及び角加速度を修正する安定化フィルタと、から構成されている。
【0011】
本発明による二脚歩行式移動装置は、好ましくは、上記ZMP仮想目標値生成部が、生成したZMP仮想目標値が補償可能限界内であるか否かを判別する。
【0012】
本発明による二脚歩行式移動装置は、好ましくは、上記ZMP仮想目標値生成部が、生成したZMP仮想目標値が補償可能限界を超えていると判別したときには再度ZMP仮想目標値を生成する。
【0013】
また、上記目的は、この発明の第二の構成によれば、本体と、本体の下部両側にて二軸方向に揺動可能に取り付けられた中間に膝部分を有する二本の脚部と、各脚部の下端に二軸方向に揺動可能に取り付けられた足部と、各脚部,膝部分及び足部を揺動させる駆動手段と、から成る二脚歩行式移動装置に関して、要求動作に対応して歩容生成部により生成される、目標角度軌道,目標角速度,目標角加速度を含む歩容データに基づいて上記駆動手段を駆動制御する二脚歩行式移動装置の歩行制御装置において、上記歩行制御装置がZMP補償装置を備えており、このZMP補償装置が、各足部におけるZMPを検出するZMP検出センサと、歩容生成部からの歩容データに基づいてZMP目標値を算出するZMP変換部と、ZMP検出センサにより検出されたZMP実測値と、ZMP変換部からのZMP目標値を比較して歩容生成部からの歩容データの目標角速度及び角加速度を修正することによりZMP目標値を補償するZMP補償部と、を含んでいることを特徴とする二脚歩行式移動装置の歩行制御装置により達成される。
【0014】
本発明による二脚歩行式移動装置の歩行制御装置は、好ましくは、上記ZMP補償部が、ZMP検出センサにより検出されたZMP実測値と、ZMP変換部からのZMP目標値を比較してZMP仮想目標値を生成するZMP仮想目標値生成部と、ZMP目標値からZMP仮想目標値への補償のための慣性力操作パラメータを生成するパラメータ生成部と、パラメータ生成部からのパラメータに基づいて保容データの目標角速度及び角加速度を修正する安定化フィルタと、から構成されている。
【0015】
本発明による二脚歩行式移動装置の歩行制御装置は、好ましくは、上記ZMP仮想目標値生成部が、生成したZMP仮想目標値が補償可能限界内であるか否かを判別する。
【0016】
本発明による二脚歩行式移動装置の歩行制御装置は、好ましくは、上記ZMP仮想目標値生成部が、生成したZMP仮想目標値が補償可能限界を超えていると判別したときには、再度ZMP仮想目標値を生成する。
【0017】
さらに、上記目的は、この発明の第三の構成によれば、本体と、本体の下部両側にて二軸方向に揺動可能に取り付けられた中間に膝部分を有する二本の脚部と、各脚部の下端に二軸方向に揺動可能に取り付けられた足部と、各脚部,膝部分及び足部を揺動させる駆動手段と、から成る二脚歩行式移動装置に関して、要求動作に対応して歩容生成部により生成される目標角度軌道,目標角速度,目標角加速度を含む歩容データに基づいて上記駆動手段を駆動制御する二脚歩行式移動装置の歩行制御方法において、上記歩行制御方法がZMP補償を行なう際に、ZMP検出センサにより各足部におけるZMPを検出する第一の段階と、歩容生成部からの歩容データに基づいてZMP変換部によりZMP目標値を算出する第二の段階と、ZMP検出センサにより検出されたZMP実測値とZMP目標値を比較してZMP補償部により歩容生成部からの歩容データの目標角速度及び角加速度を修正することによりZMP目標値を補償する第三の段階と、を含んでいることを特徴とする二脚歩行式移動装置の歩行制御方法により達成される。
【0018】
本発明による二脚歩行式移動装置の歩行制御方法は、好ましくは、上記第三の段階が、ZMP検出センサにより検出されたZMP実測値と、ZMP変換部からのZMP目標値を比較してZMP仮想目標値を生成する段階と、ZMP目標値からZMP仮想目標値への補償のための慣性力操作パラメータを生成する段階と、慣性力操作パラメータに基づいて保容データの目標角速度及び角加速度を安定化フィルタにより修正する段階と、を含んでいる。
【0019】
本発明による二脚歩行式移動装置の歩行制御方法は、好ましくは、上記ZMP仮想目標値を生成する段階が、生成したZMP仮想目標値が補償可能限界内であるか否かを判別する。
【0020】
本発明による二脚歩行式移動装置の歩行制御方法は、好ましくは、上記ZMP仮想目標値を生成する段階が、生成したZMP仮想目標値が補償可能限界を超えていると判別したときには、再度ZMP目標値を生成する。
【0021】
上記構成によれば、ZMP検出センサにより検出したZMP実測値と、歩容データからZMP変換部により算出したZMP目標値とを比較してZMP補償部により歩容生成部からの歩容データの目標角速度及び目標角加速度を修正して、移動装置に発生する慣性力を制御することによりZMP目標値を補償する。
これにより、脚部及び足部の動作軌跡を変更することなく、ZMPの実測誤差をゼロに収束させて、本体、好ましくはロボットの上体の安定化を図るようになっている。
従って、ZMP目標値の補償の際に、歩容データの目標角度軌道を変更することがないので、ロボット等の移動装置の本体,脚部の各部分の運動軌道が歩容データにより決められた運動軌道から外れることがない。
【0022】
これにより、例えば移動装置が飛び石等の遊脚着地位置が決まっている場合であっても、また障害物を跨いだり潜り抜けるような場合であっても、確実に歩行制御を行なうことが可能である。
また、ZMPの補償は、歩容生成部により生成された歩容データを利用することにより行なうようになっているので、歩容データの生成手法には依存しない。従って、ZMPの補償が簡略化され得ることになる。
さらに、ZMPの補償に際して歩容データの目標角度軌道を変更しないので、従来のような補償の際に用いた上体の傾斜を検出して上体を補償する必要がなく、簡単な構成によりZMPの補償を行なうことができる。
【0023】
上記ZMP補償部が、ZMP検出センサにより検出されたZMP実測値と、ZMP変換部からのZMP目標値を比較してZMP仮想目標値を生成するZMP仮想目標値生成部と、ZMP目標値からZMP仮想目標値への補償のための慣性力操作パラメータを生成するパラメータ生成部と、パラメータ生成部からの慣性力操作パラメータに基づいてZMP目標値を補償する安定化フィルタとから構成されている場合には、ZMP仮想目標値生成部によりZMP仮想目標値を設定することによりZMPを段階的に補償することができる。
これにより、ZMP実測値がZMP目標値から大きくずれた場合であっても、ZMPの補償を段階的に行なうことにより、過大なトルクが各関節部で発生することを防止して移動装置の歩行安定性を確保することができるので、移動装置全体の転倒を防止することができる。
【0024】
上記ZMP仮想目標値生成部が、生成したZMP仮想目標値が補償可能限界内であるか否かを判別するときには、判別の結果、生成したZMP仮想目標値が補償可能限界内である場合には、このZMP仮想目標値に対してZMPの補償を行なったとしても移動装置が転倒するようなことはない。従って、このZMP仮想目標値に対してZMPの補償を行なうことができる。
【0025】
上記ZMP仮想目標値生成部が、生成したZMP仮想目標値が補償可能限界を超えていると判別したとき、再度ZMP仮想目標値を生成する場合には、補償可能限界内のZMP仮想目標値を生成することにより、二脚歩行式移動装置の歩行安定性を確保しつつ、ZMP実測値をZMP目標値に近づけるようにすることで移動装置の転倒を防止することができる。
【0026】
【発明の実施の形態】
以下、図面に示した実施形態に基づいて、この発明を詳細に説明する。
図1乃至図2は、この発明による二脚歩行式移動装置を適用した二脚歩行式ロボットの一実施形態の構成を示している。
図1において、二脚歩行式ロボット10は、本体である上体11と、上体11の下部両側に取り付けられた中間に膝部12L,12Rを備えた二本の脚部13L,13Rと、各脚部13L,13Rの下端に取り付けられた足部14L,14Rと、を含んでいる。
【0027】
ここで、上記脚部13L,13Rは、それぞれ六個の関節部、即ち上方から順に、上体11に対する腰の脚部回旋用の関節部15L,15R、腰のロール方向(x軸周り)の関節部16L,16R、腰のピッチ方向(y軸周り)の関節部17L,17R、膝部12L,12Rのピッチ方向の関節部18L,18R、足部14L,14Rに対する足首部のピッチ方向の関節部19L,19R、足首部のロール方向の関節部20L,20Rを備えている。
なお、各関節部15L,15R乃至20L,20Rはそれぞれ関節駆動用モータにより構成されている。
【0028】
このようにして、腰関節は、上記関節部15L,15R,16L,16R,17KL,17Rから構成され、また足関節は、関節部19L,19R,20L,20Rから構成されることになる。
さらに、腰関節と膝関節との間は大腿リンク21L,21Rにより連結されており、また膝関節と足関節との間は下腿リンク22L,22Rにより連結されている。
これにより、二脚歩行式ロボット10の左右両側の脚部13L,13R及び足部14L,14Rは、それぞれ6自由度を与えられることになり、歩行中にこれらの12個の関節部をそれぞれ駆動モータにより適宜の角度に駆動制御することにより、脚部13L,13R,足部14L,14R全体に所望の動作を与えて、任意に三次元空間を歩行することができるように構成されている。
【0029】
さらに、上記足部14L,14Rは、ZMP検出センサ23L,23Rを備えている。このZMP検出センサ23L,23Rは、それぞれ各足部14L,14Rにおける足裏床反力の中心点であるZMPを検出して、ZMP実測値を出力するようになっている。
【0030】
なお、上記上体11は、図示の場合、単に箱状に示されているが、実際には、頭部や両手を備えていてもよい。
【0031】
図2は、図1に示した二脚歩行式ロボット10の電気的構成を示している。図2において、二脚歩行式ロボット10は、要求動作に対応して歩容データを生成する歩容生成部24と、この歩容データに基づいて駆動手段、即ち上述した各関節部即ち関節駆動用モータ15L,15R乃至20L,20Rを駆動制御する歩行制御装置30と、を備えている。なお、二脚歩行式ロボット10の座標系として、前後方向をx方向(前方+),横方向をy方向(内方+)そして上下方向をz方向(上方+)とするxyz座標系を使用する。
【0032】
上記歩容生成部24は、外部から入力される要求動作に対応して、二脚歩行式ロボット10の歩行に必要な各関節部15L,15R乃至20L,20Rの目標角度軌道θref ,目標角速度(dθref /dt),目標角加速度(d2 θref /dt2 )を含む歩容データを生成するようになっている。
【0033】
上記歩行制御装置30は、角度計測ユニット31と、ZMP補償装置32と、制御部33と、モータ制御ユニット34と、から構成されている。
上記角度計測ユニット31は、各関節部15L,15R乃至20L,20Rの関節駆動用モータに備えられた例えばロータリエンコーダ等により各関節駆動用モータの角度情報が入力されることにより、各関節駆動用モータの角度位置を計測して、制御部33に出力するようになっている。
【0034】
上記ZMP補償装置32は、以下に詳細に説明するように、上記ZMP検出センサ23L,23RからのZMP実測値に基づいて、歩容生成部24からの歩容データのZMP目標値補償を行うようになっている。
【0035】
上記制御部33は、ZMP補償装置32で補償された歩容データのZMP目標値と、角度計測ユニット31からの各関節駆動用モータの角度位置に基づいて、各関節駆動用モータの制御信号を生成するようになっている。
上記モータ制御ユニット34は、制御部33からの制御信号に従って各関節駆動用モータを駆動制御するようになっている。
【0036】
ここで、上記ZMP補償装置32は、図3に示すように構成されている。
図3において、ZMP補償装置32は、ZMP変換部35とZMP補償部36とから構成されている。上記ZMP変換部35は、歩容生成部24からの歩容データの目標角度軌道θref ,目標角速度(dθref /dt)及び目標角加速度(d2 θref /dt2 )に基づいて、ZMP目標値ZMPref を算出する。
ZMP目標値ZMPref の算出は、以下のようにして行なわれる。
【0037】
図4に示すように、二脚歩行式ロボット10の支持脚をxz平面の原点として、支持脚の下腿部22Lまたは22Rの質量をm1,角度をθ1とし、大腿部21Lまたは21Rの質量をm2,角度をθ2とし、上体11の質量をm3,角度をθ3とし、遊脚の大腿部21Rまたは21Lの質量をm4,角度をθ4とし、大腿部22Rまたは22Lの質量をm5,角度をθ5とすると、ピッチ軸周りのZMP(XZMP )は、次式
【数1】
JP0003760186B2_000002t.gifにより算出される。
同様にして、ロール軸周りのZMP(YZMP )も算出することができる。
【0038】
上記ZMP補償部36は、図3に示すように、ZMP仮想目標値生成部37とパラメータ生成部38と安定化フィルタ39とから構成されている。
上記ZMP仮想目標値生成部37は、ZMP検出センサにより検出されたZMP実測値と、ZMP変換部35からのZMP目標値ZMPref とを比較して、ZMP仮想目標値ZMPvrefを生成する。
具体的には、ZMP仮想目標値生成部37は、減算器37aによるZMP誤差ZMPerr (=ZMPref -ZMP実測値)と、ZMP目標値ZMPref から、次式
【数2】
JP0003760186B2_000003t.gifによりZMP仮想目標値ZMPvrefを生成する。ここで、αはゲインである。
さらに、上記ZMP仮想目標値生成部37は、このZMP仮想目標値ZMPvrefが補償可能限界以内であるか否かの判別を行ない、補償可能限界を超えている場合には、再度ZMP仮想目標値ZMPvrefを生成する。
【0039】
上記パラメータ生成部38は、ZMP仮想目標値生成部37からのZMP仮想目標値ZMPvrefと、歩行生成部24からの目標角度軌道θref ,目標角速度(dθref /dt)及び目標角加速度(d2 θref /dt2 )に基づいて、ZMP補償関数を利用して、ZMP実測値をZMP仮想目標値ZMPvrefまで修正するために必要な慣性力を計算し、この慣性力に応じた慣性力操作パラメータTcを算出する。
この慣性力操作パラメータTcは、ピッチ軸周りに関して、前述したZMPの計算式から、次式
【数3】
JP0003760186B2_000004t.gifにより導出され、この式をZMP補償関数という。
ここで、κ,λ,μは、ロボットの物理量及びθrefにより決定されるパラメータである。
同様にして、ロール軸周りのZMP補償関数も導出することができる。
これにより、パラメータ生成部38は、慣性力操作パラメータTcにより、ZMPサンプリング間隔を仮想的に伸縮させて、ZMP目標値を実現するために必要な慣性力を生じさせるようになっている。
【0040】
上記安定化フィルタ39は、パラメータ生成部38からの慣性力操作パラメータTcに基づいて、歩容生成部24からの歩容データである目標角度軌道θref ,目標角速度(dθref /dt)及び目標角加速度(d2 θref /dt2 )から、各関節部の修正した目標角度軌道θc,目標角速度(dθc/dt)及び目標角加速度(d2 θc/dt2 )を算出する。
【0041】
本発明実施形態による二脚歩行式ロボット10は以上のように構成されており、歩行動作は、図5に示すフローチャートにより以下のように行なわれる。
図5において、先ずステップST1にて、歩容生成部24が、入力された要求動作(J=J)に基づいて歩容データを生成し、歩行制御装置30のZMP補償装置32に出力する。
次に、ステップST2にて、ZMP補償装置32のZMP変換部35が、この歩容データに基づいて各関節部16L,16R乃至20L,20Rの目標角度θref ,目標角速度(dθref /dt),目標角加速度(d2 θref /dt2 )からZMP目標値を算出する。
【0042】
他方、ステップST3にて、双方の足部14L,14Rに備えられたZMP検出センサ23L,23RがZMP実測値を検出する。
これにより、ステップST4にて、ZMP仮想目標値生成部37が、減算器37aからのZMP誤差ZMPerr と、ZMP変換部35からのZMP目標値ZMPref から、ZMP仮想目標値ZMPvrefを生成する。
続いて、ステップST5にて、ZMP仮想目標値生成部37が、ZMP仮想目標値ZMPvrefが補償可能限界内であるか否かを判別する。
【0043】
そして、ステップST5にて、ZMP仮想目標値ZMPvrefが補償可能限界を超えている場合には、前述したステップST4に戻って、ZMP仮想目標値生成部37が、再びZMP仮想目標値ZMPvrefを生成する。
また、ステップST5にて、ZMP仮想目標値ZMPvrefが補償可能限界内である場合には、ZMP仮想目標値生成部37が、ZMP仮想目標値ZMPvrefをパラメータ生成部38に出力する。
【0044】
そして、ステップST6にて、パラメータ生成部38が、このZMP仮想目標値ZMPvrefと、歩容生成部24からの歩容データによる各関節部16L,16R乃至20L,20Rの目標角度θref ,目標角速度(dθref /dt),目標角加速度(d2 θref /dt2 )とから、ZMP補償関数により慣性力操作パラメータTcを算出して、安定化フィルタ39に出力する。
【0045】
続いて、ステップST7にて、安定化フィルタ39が、上記慣性力操作パラメータTcに基づいて、歩容生成部24からの歩容データによる各関節部16L,16R乃至20L,20Rの目標角度θref ,目標角速度(dθref /dt),目標角加速度(d2 θref /dt2 )に修正を加えて、各関節部の修正した目標角度軌道θc,目標角速度(dθc/dt)及び目標角加速度(d2 θc/dt2 )を算出する。
【0046】
次に、ステップST8にて、ZMP補償装置32は、上述した補償した歩容データ、すなわち各関節部の修正した目標角度軌道θc,目標角速度(dθc/dt)及び目標角加速度(d2 θc/dt2 )を制御部33に出力し、モータ制御ユニット34が各関節部の関節駆動用モータを駆動制御する。これにより、二脚歩行式ロボット10は要求動作に対応して歩行動作を行なうことになる。
【0047】
その後、ステップST9にて、制御部33が、動作カウンタインクリメントによりJ=J+1として、所定のサンプリング時間になるまで待機した後、ステップST10にて、上記Jが前以て決められた動作終了カウント以下の場合には再びステップ2に戻って上記動作を繰り返す。
そして、ステップST10にて、上記Jが動作終了カウントを超えた場合には動作を終了する。
【0048】
この場合、二脚歩行式ロボット10において、各関節駆動用モータの駆動制御の際に、目標角加速度(d2 θref /dt2 )が、修正した目標角加速度(d2 θc/dt2 )に変更されることにより、ロボット10に作用する加速度が変化することになり、これに伴って、加速度の反作用としての慣性力が変化する。従って、ロボット10に作用する慣性力が目標角加速度(d2 θref /dt2 )の変化により適宜に制御される。これによりロボット10は、図6に示すようにその歩行の際の動作軌跡Aを変更することなく、動作軌跡Bを時間的に伸縮させることによって要求動作に対する歩行動作を行なう。
【0049】
さらに、ZMP仮想目標値生成部37が、ZMP目標値ZMPref とZMP実測値から、一旦ZMP仮想目標値ZMPvrefを生成することにより、ZMP実測値がZMP目標値から大きくずれている場合には、段階的にZMP実測値をZMP目標値に近づけるように、ZMPの補償を行なうようになっている。
これにより、ZMP実測値がZMP目標値から大きくずれている場合でも、ロボット10の各関節部に過大な角加速度が作用することがないので、ロボット10が安定した状態で歩行を行なうことが可能である。
【0050】
このようにして、本発明実施形態による二脚歩行式ロボット10によれば、ZMP目標値とZMP実測値の差であるZMP誤差に基づいて、歩容データの目標角速度及び目標角加速度を修正することにより、ロボット10に発生する慣性力を制御してZMP目標値を補償する。
従って、歩行の際の動作軌跡を変更することなく、ZMP誤差をゼロに収束させることによりロボット10の歩行安定化を実現することができる。
【0051】
次に、本発明による二脚歩行式ロボット10に関するシミュレーション実験及び実機実験について説明する。
先ず、シミュレーション実験について説明する。
上述した二脚歩行式ロボット10により、yz面内での動的足踏み動作を行なわせて、一方の支持脚による片足立ち状態から0.42秒後に外乱を与えて、ZMPに関して目標値からのずれを生じさせた。
この結果、ZMP仮想目標値生成部37により生成されたZMP仮想目標値ZMPvrefは、図7(A)に示すように、0.43秒までにはZMP目標値にほぼ完全に収束すると共に、さらに図7(B)に示すように、ZMP実測値もZMP目標値に正しく修正されていることが確認された。なお、図8において、上述したZMP補償がない場合には、ZMP目標値はZMP目標値から大きくずれたままであった。
【0052】
実機実験では、二脚歩行式ロボット10として、全体質量1370g,全高30.0cm,足部底面形状がロール方向(y方向)6.0cm,ピッチ方向(x方向)8.0cmのロボットを使用して足踏み動作を行なわせたところ、図9に示すように、本発明によるZMP補償の場合には、ZMP補償のない場合と比較してZMP実測値がZMP目標値により近づいており、ロボットの歩行安定性が向上していることが分かった。
さらに、実機実験により、上述したシミュレーション実験の場合と同様に足踏み動作中の外乱について実験したところ、図10に示すように、本発明によるZMP補償の場合には、ZMP実測値がZMP目標値に確実に近づいて、ZMP誤差がゼロに近づいており(図11参照)、ロボットの歩行安定性が向上していることが分かる。
これに対して、従来のZMP補償による場合には、図10に示すように、その後約0.5秒経過後にロボットが転倒してしまった。
【0053】
上述した実施形態においては、実験において、yz面内における足踏み動作の場合について説明したが、これに限らず、xz面内においても同様に二脚歩行式ロボット10の歩行安定性が向上することは明らかである。
また、上述した実施形態においては、本発明を二脚歩行式ロボットに適用した場合について説明したが、これに限らず、他の各種機器を二本足で支持すると共に、この二本足で歩行するようにした二脚歩行式移動装置に対して本発明を適用し得ることは明らかである。
【0054】
【発明の効果】
以上述べたように、この発明によれば、ZMP検出センサにより検出したZMP実測値と、歩容データからZMP変換部により算出したZMP目標値とを比較して、ZMP補償部により歩容生成部からの歩容データの目標角速度及び目標角加速度を修正して移動装置に発生する慣性力を制御することにより、ZMP目標値を補償する。これにより、脚部及び足部の動作軌跡を変更することなく、ZMPの実測誤差をゼロに収束させて、本体、好ましくはロボットの上体の安定化を図るようになっている。
従って、ZMP目標値の補償の際に、歩容データの目標角度軌道を変更することがないので、ロボット等の移動装置の本体,脚部の各部分の運動軌道が歩容データにより決められた運動軌道から外れることがない。
【0055】
これにより、例えば移動装置が飛び石等の遊脚着地位置が決まっている場合であっても、また障害物を跨いだり、潜り抜けるような場合であっても、確実に歩行制御を行なうことが可能である。
また、ZMPの補償は、歩容生成部により生成された歩容データを利用することにより行なうようになっているので、歩容データの生成手法には依存しない。従って、ZMPの補償が簡略化され得る。
さらに、ZMPの補償に際して、歩容データの目標角度軌道を変更することがないので、従来のような補償の際に用いた上体の傾斜を検出して上体を補償する必要がなく、簡単な構成によりZMPの補償を行なうことができる。
このようにして、本発明によれば、歩容すなわち各関節部分の動作軌跡を変更せずに歩行安定性を実現できるようにした、極めて優れた二脚歩行式移動装置とその歩行制御装置及び歩行制御方法を提供することができる。
【図面の簡単な説明】
【図1】この発明による二脚歩行式ロボットの一実施形態の機械的構成を示す概略図である。
【図2】図1の二脚歩行式ロボットの電気的構成を示すブロック図である。
【図3】図1の二脚歩行式ロボットのZMP補償装置の構成を示すブロック図である。
【図4】図1に示す二脚歩行式ロボットの歩行時のxz平面分離モデルを示す概略図である。
【図5】図1の二脚歩行式ロボットの歩行制御動作を示すフローチャートである。
【図6】図1の二脚歩行式ロボットにおけるZMP補償の角速度操作を示す概略図である。
【図7】図1の二脚歩行式ロボットにおけるシミュレーション実験によるZMP仮想目標値とZMP実測値を示すグラフである。
【図8】図1の二脚歩行式ロボットにおけるシミュレーション実験によるZMP目標値,ZMP実測値及びZMP補償のない場合のZMP実測値を示すグラフである。
【図9】図1の二脚歩行式ロボットにおける実機実験によるZMP目標値,ZMP実測値及びZMP補償のない場合のZMP実測値を示すグラフである。
【図10】図1の二脚歩行式ロボットにおける他の実機実験によるZMP実測値及び従来のZMP補償による場合のZMP実測値を示すグラフである。
【図11】図10の実機実験の外乱作用直後の(A)ZMP目標値,ZMP実測値及び、(B)ZMP誤差を示す拡大グラフである。
【符号の説明】
10 二脚歩行式ロボット
11 本体
12L,12R 膝部
13L,13R 脚部
14L,14R 足部
15L,15R乃至20L,20R 関節部(関節駆動用モータ)
21L,21R 大腿部
22L,22R 下腿部
23L,23R ZMP検出センサ
24 歩容生成部
30 歩行制御装置
31 角度計測ユニット
32 ZMP補償装置
33 制御部
34 モータ制御ユニット
35 ZMP変換部
36 ZMP補償部
37 ZMP仮想目標値生成部
38 パラメータ生成部
39 安定化フィルタ
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7】
6
【図8】
7
【図9】
8
【図10】
9
【図11】
10