(57)【特許請求の範囲】
【請求項１】
胴体部と、胴体部の下部両側にて揺動可能な中間に膝部，下端に足部を備えた脚部と、胴体部の上部両側にて揺動可能な中間に肘部，下端に手部を備えた腕部と、胴体部の上端に取り付けられた頭部と、を備えており、
上記脚部の足部，下腿部，大腿部そして上記腕部の手部，下腕部及び上腕部の揺動可能な関節部をそれぞれ揺動させる駆動手段と、各駆動手段をそれぞれ駆動制御する動作制御装置とを有している二脚歩行式人型ロボットにおいて、
上記胴体部及び両膝部にそれぞれ力センサを備えており、
ロボットの転倒時の受け身動作，起き上がり動作，前転運動の動作時に接触する接地面に対して、上記動作制御装置が、上記力センサの検出信号に基づいて当該接地面に対する反力と重力との合成モーメントがゼロとなる拡張ＺＭＰを規範としてロボット全体の動作制御を行うことを特徴とする、二脚歩行式人型ロボット。
【請求項２】
力センサが、さらに、頭部の前後，大腿部，足部，肘部にそれぞれ備えられていることを特徴とする、請求項１に記載の二脚歩行式人型ロボット。
【請求項３】
前記動作制御装置が、
各力センサの検出信号に基づいてそのとき接地している部分を検出して、ロボット全体を多面剛体として動作データを生成する動作生成部と、
各力センサの検出信号に基づいてロボットの姿勢を検出し、この姿勢に基づいて動作生成部からの動作データを修正する補償部と、
動作生成部からの動作データに基づいて拡張ＺＭＰ目標値を算出する拡張ＺＭＰ変換部と、を備えており、
上記補償部が、
上記各力センサの検出信号に基づいて検出された拡張ＺＭＰ実測値と拡張ＺＭＰ変換部からの拡張ＺＭＰ目標値を比較して、動作生成部からの動作データの補償量を計算することを特徴とする、請求項１または２に記載の二脚歩行式人型ロボット。
【請求項４】
前記動作制御装置が、ロボットの動作の要素となる姿勢データを格納した動作ライブラリを備えており、
前記動作生成部が、与えられたロボットの初期状態から所定の動作の最終状態までの中間の動作に関して、動作データを生成する際に動作ライブラリから対応する姿勢データを読み出して、組合せ動作のシーケンスとして動作データを生成することを特徴とする、請求項３に記載の二脚歩行式人型ロボット。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、二脚歩行式人型ロボットに関するものである。
【０００２】
【従来の技術】
従来、所謂二脚歩行式人型ロボットは、前もって設定された歩行パターン（以下、歩容という）データを生成して、この歩容データに従って歩行制御を行なって、所定の歩行パターンで脚部を動作させることにより二脚歩行を実現するようにしている。その際、歩行姿勢を安定させるために、ロボットの足裏における反力と重力との合成モーメントがゼロとなる点（以下、ＺＭＰ（Ｚｅｒｏ  Ｍｏｍｅｎｔ  Ｐｏｉｎｔ）という。）を目標値に収束させる、所謂ＺＭＰ補償を行なうことによってＺＭＰ規範によりロボットの安定化を図るようにしている。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来の二脚歩行式人型ロボットは、立ち上がった姿勢で歩行することを前提に設定されており、できるだけ転倒しないようにしてあるが、胴体部は歩行制御を支援するものであり、胴体部を腕部や脚部と連携させて行動するようにはなっていない。
このため、従来の二脚歩行式人型ロボットは、胴体部，脚部や腕部を全体として動作させるような全身運動、例えば転倒時の受け身動作や、転倒した状態からの起き上がり動作や前転運動のような運動を行なうようには設計されていない。これは、前述したＺＭＰ規範の歩行制御が、ロボットの足裏付近での動特性に基づいて行なわれるものであるため、全身運動を行なって環境との接触を伴う床運動の生成及び制御には適用できないからである。
【０００４】
従って、従来は二脚歩行式人型ロボットに環境との接触を伴う全身運動等を行なわせる場合に、ロボットの全身運動を動的に行なわせるための安定化の指針が存在しないこと、また環境との接触を伴う全身運動を動的に制御するための制御方法が存在しないという問題があった。
【０００５】
本発明は、以上の点にかんがみて、容易に全身運動を動的に安定した状態で行なわせ、制御することができるようにした二脚歩行式人型ロボットを提供することを目的としている。
【０００６】
【課題を解決するための手段】
上記目的は、本発明によれば、胴体部と、胴体部の下部両側にて揺動可能な中間に膝部，下端に足部を備えた脚部と、胴体部の上部両側にて揺動可能な中間に肘部，下端に手部を備えた腕部と、胴体部の上端に取り付けられた頭部とを備えており、上記脚部の足部，下腿部，大腿部そして上記腕部の手部，下腕部及び上腕部の揺動可能な関節部をそれぞれ揺動させる駆動手段と、各駆動手段をそれぞれ駆動制御する動作制御装置とを有している二脚歩行式人型ロボットにおいて、上記胴体部及び両膝部にそれぞれ力センサを備えており、ロボットの転倒時の受け身動作，起き上がり動作，前転運動の動作時に接触する接地面に対して、上記動作制御装置が、上記力センサの検出信号に基づいて当該接地面に対する反力と重力との合成モーメントがゼロとなる拡張ＺＭＰを規範としてロボット全体の動作制御を行うことを特徴とする二脚歩行式人型ロボットにより達成される。上記力センサは、さらに、頭部の前後，大腿部，足部，肘部にそれぞれ備えられていてもよい。
【０００７】
本発明による二脚歩行式人型ロボットは、好ましくは、上記動作制御装置が、各力センサの検出信号に基づいてそのとき接地している部分を検出して、ロボット全体を多面剛体として動作データを生成する動作生成部と、各力センサの検出信号に基づいてロボットの姿勢を検出し、この姿勢に基づいて動作生成部からの動作データを修正する補償部と、動作生成部からの動作データに基づいて、拡張ＺＭＰ（そのとき接地している部分における反力と重力との合成モーメントがゼロとなる点）目標値を算出する拡張ＺＭＰ変換部とを備えており、上記補償部が、上記各力センサの検出信号に基づいて検出された拡張ＺＭＰ実測値と拡張ＺＭＰ変換部からの拡張ＺＭＰ目標値を比較して、動作生成部からの動作データの補償量を計算する。
【０００８】
本発明による二脚歩行式人型ロボットは、好ましくは、上記動作制御装置がロボットの動作の要素となる姿勢データを格納した動作ライブラリを備えており、上記動作生成部が、与えられたロボットの初期状態から所定の動作の最終状態までの中間の動作に関して、動作データを生成する際に動作ライブラリから対応する姿勢データを読み出して、組合せ動作のシーケンスとして動作データを生成する。
【０００９】
本発明による二脚歩行式人型ロボットは、好ましくは、さらにロボットの各関節部の駆動状態及び全体の姿勢を常に監視する動作監視部を備えており、この動作監視部は、拡張ＺＭＰ実際値が拡張ＺＭＰ目標値から大きくずれた場合に、動作生成部に対して動作データの再生成を指令する。
【００１０】
上記構成によれば、二脚歩行式人型ロボットが全身運動を行なう際、動作制御装置が、ロボットに設けられた力センサからの検出信号に基づいてロボットのどの部分が環境、例えば床面または壁面等と接触しているかを把握することによりロボットの姿勢を検出して、この姿勢に基づいて補償部により動作生成部からの動作データを修正する。
従って、動作制御装置が、ロボットの全身運動時に常にロボットの姿勢に基づいて動作データを修正することにより、例えば転倒時の受け身動作，起き上がり動作や前転運動等の全身運動を安定して確実に行なうことが可能になる。
【００１１】
上記動作制御装置が、各力センサの検出信号に基づいてそのとき接地している部分を検出して、ロボット全体を多面剛体として動作データを生成する動作生成部と、動作生成部からの動作データに基づいて拡張ＺＭＰ（そのとき接地している部分における反力と重力との合成モーメントがゼロとなる点）目標値を算出する拡張ＺＭＰ変換部と、を備えており、上記補償部が、上記各力センサの検出信号に基づいて検出された拡張ＺＭＰ実測値と拡張ＺＭＰ変換部からの拡張ＺＭＰ目標値を比較して、動作生成部からの動作データの補償量を計算する場合には、従来のＺＭＰ規範による歩行制御と同様に、ロボット全体を多面剛体として取り扱ってそのときの拡張ＺＭＰを目標値に集束させるように拡張ＺＭＰ補償を行なうことにより、拡張ＺＭＰ規範によりロボットの全身運動の安定化を図ることができる。
【００１２】
上記動作制御装置が、ロボットの動作の要素となる姿勢データを格納した動作ライブラリを備えており、上記動作生成部が、与えられたロボットの初期状態から所定の動作の最終状態までの中間の動作に関して、動作データを生成する際に動作ライブラリから対応する姿勢データを読み出して、組合せ動作のシーケンスとして動作データを生成する場合には、ロボットの全身運動を分解したときの要素となる姿勢データが動作ライブラリに格納されているので、動作生成部が動作データを生成する際に、要素となる姿勢データを動作ライブラリから読み出して組み合わせることにより、所望の動作データを生成することができる。これにより動作生成部の計算量が低減され、迅速な動作データの生成を行なうことが可能になる。
【００１３】
さらにロボットの各関節部の駆動状態及び全体の姿勢を常に監視する動作監視部を備えており、この動作監視部が、拡張ＺＭＰ実際値が拡張ＺＭＰ目標値から大きくずれた場合に、動作生成部に対して動作データの再生成を指令する場合には、ロボットが全身運動中にバランスを崩す等により、生成した動作データによる初期状態から所定の動作の最終状態までの中間の動作から大きくずれたとき、動作データを再生成することによって、再び所定の動作の最終状態までの中間の動作を行なわせて当該最終状態まで動作させることができる。
【００１４】
【発明の実施の形態】
以下、図面に示した実施形態に基づいて、この発明を詳細に説明する。
図１乃至図２は、本発明による二脚歩行式人型ロボットの一実施形態の構成を示している。
図１において、二脚歩行式人型ロボット１０は、胴体部１１と、胴体部１１の下部両側に取り付けられた脚部１２Ｌ，１２Ｒと、胴体部の上部両側に取り付けられた腕部１３Ｌ，１３Ｒと、胴体部の上端に取り付けられた頭部１４と、を含んでいる。
【００１５】
上記胴体部１１は上方の胸部１１ａと下方の腰部１１ｂとに分割されており、胸部１１ａが、前屈部１１ｃにて腰部１１ｂに対して前後方向に揺動可能に、特に前方に前屈可能に、そして左右方向に旋回可能に支持されている。さらに、上記胴体部１１の胸部１１ａには、後述する歩行制御装置５０が内蔵されている。なお、上記前屈部１１ｃは、前後揺動用の関節部１１ｄ及び左右旋回用の関節部１１ｅを備えており、各関節部１１ｄ及び１１ｅは、それぞれ関節駆動用モータ（図２参照）により構成されている。
【００１６】
上記脚部１２Ｌ，１２Ｒは、それぞれ大腿部１５Ｌ，１５Ｒ，下腿部１６Ｌ，１６Ｒ及び足部１７Ｌ，１７Ｒと、から構成されている。
ここで、上記脚部１２Ｌ，１２Ｒは、図２に示すように、それぞれ六個の関節部、即ち上方から順に、胴体部１１の腰部１１ｂに対する脚部回旋用の関節部１８Ｌ，１８Ｒ、脚部のロール方向（ｘ軸周り）の関節部１９Ｌ，１９Ｒ、脚部のピッチ方向（ｙ軸周り）の関節部２０Ｌ，２０Ｒ、大腿部１５Ｌ，１５Ｒと下腿部１６Ｌ，１６Ｒの接続部分である膝部２１Ｌ，２１Ｒのピッチ方向の関節部２２Ｌ，２２Ｒ、足部１７Ｌ，１７Ｒに対する足首部のピッチ方向の関節部２３Ｌ，２３Ｒ、足首部のロール方向の関節部２４Ｌ，２４Ｒを備えている。なお、各関節部１８Ｌ，１８Ｒ乃至２４Ｌ，２４Ｒは、それぞれ関節駆動用モータにより構成されている。
【００１７】
このようにして、腰関節は上記関節部１１ｄ，１１ｅから構成され、股間節は上記関節部１８Ｌ，１８Ｒ，１９Ｌ，１９Ｒ，２０Ｌ，２０Ｒから構成され、また足関節は関節部２３Ｌ，２３Ｒ，２４Ｌ，２４Ｒから構成されることになる。これにより、二脚歩行式人型ロボット１０の左右両側の脚部１２Ｌ，１２Ｒは、それぞれ６自由度を与えられることになり、各種動作中にこれらの１２個の関節部をそれぞれ駆動モータにより適宜の角度に駆動制御することにより、脚部１２Ｌ，１２Ｒ全体に所望の動作を与えて、例えば任意に三次元空間を歩行することができるように構成されている。
【００１８】
上記腕部１３Ｌ，１３Ｒは、それぞれ上腕部２５Ｌ，２５Ｒ，下腕部２６Ｌ，２６Ｒ及び手部２７Ｌ，２７Ｒと、から構成されている。
ここで、上記腕部１３Ｌ，１３Ｒの上腕部２５Ｌ，２５Ｒ，下腕部２６Ｌ，２６Ｒ及び手部２７Ｌ，２７Ｒは、上述した脚部１２Ｌ，１２Ｒと同様にして、図２に示すように、それぞれ五個の関節部、即ち上方から順に、肩部にて、胴体部１１に対する上腕部２５Ｌ，２５Ｒのピッチ方向の関節部２８Ｌ，２８Ｒ、ロール方向の関節部２９Ｌ，２９Ｒ、そして左右方向の関節部３０Ｌ，３０Ｒ、上腕部２５Ｌ，２５Ｒと下腕部２６Ｌ，２６Ｒの接続部分である肘部３１Ｌ，３１Ｒにてピッチ方向の関節部３２Ｌ，３２Ｒ、手首部にて下腕部２６Ｌ，２６Ｒに対する手部２７Ｌ，２７Ｒのピッチ方向の関節部３３Ｌ，３３Ｒを備えている。なお、各関節部２８Ｌ，２８Ｒ乃至３３Ｌ，３３Ｒは、それぞれ関節駆動用モータにより構成されている。
【００１９】
このようにして、二脚歩行式人型ロボット１０の左右両側の腕部１３Ｌ，１３Ｒはそれぞれ５自由度を与えられることにより、各種動作中にこれらの１２個の関節部をそれぞれ駆動モータにより適宜の角度に駆動制御し、腕部１３Ｌ，１３Ｒ全体に所望の動作を与えることができるように構成されている。
ここで、上記肩部におけるピッチ方向の関節部２８Ｌ，２８Ｒは、ロール方向の関節部２９Ｌ，２９Ｒ及び左右方向の関節部３０Ｌ，３０Ｒに対して回転軸が前方にずれて配設されており、前方への腕部１３Ｌ，１３Ｒの振り角度が大きく設定されている。
【００２０】
上記頭部１４は、胴体部１１の上部１１ａの上端に取り付けられており、例えば視覚としてのカメラや聴覚としてのマイクが搭載されている。ここで、上記頭部１４は、図２に示すように、首のピッチ方向の関節部３５及び左右方向の関節部３６を備えている。なお、各関節部３５，３６は、それぞれ関節駆動用モータにより構成されている。
【００２１】
このようにして、二脚歩行式人型ロボット１０の頭部１４は、２自由度を与えられることにより、各種動作中にこれらの２個の関節部３５，３６をそれぞれ駆動モータにより適宜の角度に駆動制御し、頭部１４を左右方向または前後方向に動かすことができるように構成されている。
ここで、上記ピッチ方向の関節部３５は、左右方向の関節部３６に対して回転軸が前方にずれて配設されており、前方への頭部１４の揺動角度が大きく設定されている。
【００２２】
さらに、上記二脚歩行式人型ロボット１０においては、胴体部１１の前屈部１１ｃの関節部１１ｄと、脚部１２Ｌ，１２Ｒの前後方向の関節部、即ち股間節の関節部２０Ｌ，２０Ｒ，膝部の関節部２２Ｌ，２２Ｒ，足首部の関節部２３Ｌ，２３Ｒは、図３及び図４に示す角度範囲で揺動可能に支持されている。
【００２３】
即ち、足首部の関節部２３Ｌ，２３Ｒは、その揺動角度θ１が−２０乃至＋２０度以上の角度範囲で揺動可能である。また、膝部の関節部２２Ｌ，２２Ｒは、その揺動角度θ２が−１２０乃至０度以上の角度範囲で揺動可能である。さらに、腰関節の関節部２０Ｌ，２０Ｒは、その揺動角度θ３が−４５乃至＋６０度以上の角度範囲で揺動可能である。また、胴体部１１の前屈部１１ｃは、その揺動角度θ４が、−１０乃至＋６０度以上の角度範囲で揺動可能である。
【００２４】
これに対して、胴体部１１の前屈部１１ｃの関節部１１ｅは、図５に示す角度範囲で揺動可能に支持されている。即ち、前屈部１１ｃの関節部１１ｅはその揺動角度θ５が、図５（Ａ）に示す左方に関して−４５度以上、そして図５（Ｂ）に示す右方に関して＋４５度以上の角度範囲で旋回可能である。
【００２５】
さらに、二脚歩行式人型ロボット１０においては、図６に示すように、動作時に突出する部分または動作時に環境と接触する部分、例えば両膝部や腰部後側にそれぞれ力センサ４０が備えられている。即ち、胴体部１１の下部１１ｂの後側（即ち、腰部）及び両膝部２１Ｌ，２１Ｒに、好ましくは頭部１４の前後，胴体部１１の上部１１ａの前側の胸部，後側の肩部及び背中部，下部１１ｂの後側の上下部、脚部１２Ｌ，１２Ｒの大腿部１５Ｌ，１５Ｒの前後，膝部２１Ｌ，２１Ｒ，足部１７Ｌ，１７Ｒの爪先部及び踵部，腕部１３Ｌ，１３Ｒの肘部３１Ｌ，３１Ｒ及び手首部にそれぞれ力センサ４０が備えられている。
これらの力センサ４０は、二脚歩行式人型ロボット１０の全身運動により当該力センサ４０が床面，壁面等の環境に接触しているときに接触圧力を検出して、その検出信号を後述する動作制御装置５０に出力するようになっている。なお、各力センサ４０は、少なくとも垂直方向の力成分を検出できればよい。
【００２６】
図７は図１乃至図５に示した二脚歩行式人型ロボット１０の電気的構成を示している。図７において、二脚歩行式人型ロボット１０は駆動手段、即ち上述した各関節部、詳しくは関節駆動用モータ１１ｄ，１１ｅ，１８Ｌ，１８Ｒ乃至３６を駆動制御する動作制御装置５０を備えている。
【００２７】
上記動作制御装置５０は、動作計画部５１と、動作生成部５２と、拡張ＺＭＰ変換部５３と、拡張ＺＭＰ安定部５４と、制御部５５と、ロボットの各関節部の角度を検出する角度計測ユニット５６と、動作監視部５７とを備えている。
なお、二脚歩行式ロボット１０の座標系として、前後方向をｘ方向（前方＋），横方向をｙ方向（内方＋）そして上下方向をｚ方向（上方＋）とするｘｙｚ座標系を使用する。
【００２８】
上記動作計画部５１は、与えられたロボットの初期状態（各関節部の角度及び力センサ４０の検出信号に基づく姿勢）と所望の動作の最終状態から、初期状態と最終状態との間の中間の動作を計画する。即ち、動作計画部５１は、ロボット全体により構成される凸部分を覆うような多面剛体を仮想的に設定して、初期状態から最終状態までの上記多面剛体の時系列形状データ及び重心軌道を計算し、全身運動を行なうために必要なロボットの角運動量を計算する。
【００２９】
そして、動作計画部５１は、上記多面剛体の重心位置，初期運動状態（重心周りの角速度及び角加速度）に基づいて、ロボットの動作軌道すなわち動作計画を生成する。なお、上記動作計画部５１は、後述するように動作監視部５７からロボットの現在の状態及び動作計画からのずれ量が入力されたときには、同様にして動作計画の再生成を行なう。
【００３０】
ここで、動作計画部５１は動作ライブラリ５１ａを備えている。
この動作ライブラリ５１ａは、前もってロボットの動作の要素となる姿勢データ等が種類別に格納されている。これにより動作計画部５１は、上述した動作計画を行なう際に、必要に応じて各種姿勢データ等を動作ライブラリ５１ａから読み出して、組合せ動作のシーケンスとして動作計画を生成する。そして、動作計画部５１は、動作計画として、シーケンス毎に姿勢データ及びそのときの各関節部の角運動量を動作生成部５２に出力するようになっている。
【００３１】
上記動作生成部５２は、二脚歩行式人型ロボット１０の全身運動に必要な各関節部１５Ｌ，１５Ｒ乃至３６の角度データθｒｅｆを生成する。その際、上記動作生成部５２は、後述する拡張ＺＭＰ安定部５４からの指令に基づいて内部のパラメータ及び角度データを修正するようになっている。
【００３２】
上記拡張ＺＭＰ変換部５３は、動作生成部５２からの各関節部の角度データθｒｅｆに基づいて拡張ＺＭＰ目標値を計算し、拡張ＺＭＰ安定部５４及び動作監視部５７に出力する。
【００３３】
上記拡張ＺＭＰ安定部５４は、角度計測ユニット５６からの姿勢情報及び前記力センサ４０からの検出出力に基づいて拡張ＺＭＰ実際値を計算し、さらにこの拡張ＺＭＰ実際値を拡張ＺＭＰ変換部５３からの拡張ＺＭＰ目標値と比較して、その差に基づいて拡張ＺＭＰ補償量を計算して、動作生成部５２に出力する。拡張ＺＭＰ補償量の計算方法は、従来のＺＭＰ補償量の計算方法をそのまま適用することができる。
【００３４】
ここで、動作生成部５２は、拡張ＺＭＰ安定部５４からの拡張ＺＭＰ補償量がフィードバックされることにより、この拡張ＺＭＰ補償量に基づいて動作データを修正して、制御部５５に出力する。
【００３５】
上記制御部５５は、動作生成部５２からの修正された動作データに基づいて各関節駆動用モータの制御信号を生成し、各関節駆動用モータを駆動制御するようになっている。
【００３６】
上記角度計測ユニット５６は、各関節部１５Ｌ，１５Ｒ乃至３６の関節駆動用モータに備えられた、例えばロータリエンコーダ等により各関節駆動用モータの角度情報が入力されることによって各関節駆動用モータの角度位置、即ち角度及び角速度そして角度モーメントに関する状態情報、即ちロボット１０の姿勢情報θｒｅａｌを計測して、拡張ＺＭＰ安定部５４及び動作監視部５７に出力するようになっている。
【００３７】
上記動作監視部５７は、動作計画部５１からの動作計画，拡張ＺＭＰ変換部５３からの拡張ＺＭＰ目標値，角度計測ユニット５６及び力センサ４０からの拡張ＺＭＰ実際値としての（角度及び角度モーメントを含む）角度情報が入力されており、これらに基づいて、常に二脚歩行式人型ロボット１０の状態を監視している。そして、動作監視部５７は、動作計画，拡張ＺＭＰ目標値から実際のロボットの動作が大きくずれたとき、現在の状態およびずれ量を動作計画部５１にフィードバックして、動作計画部５１に動作計画の再生成を行なわせる。
【００３８】
本発明実施形態による二脚歩行式人型ロボット１０は以上のように構成されており、図８のフローチャートに示すように動作する。
図８のフローチャートにおいて、先ず動作計画部５１が、ステップＳＴ１にて、与えられたロボットの初期状態及び所望の動作の最終状態から動作計画の生成を開始する。
【００３９】
そして、動作計画部５１は、ステップＳＴ２にて、ロボット全体の凸部分を覆う多面剛体を仮想的に設定し、続いてステップＳＴ３にて、初期状態から最終状態までの上記多面剛体の時系列形状データ及びその重心軌道を計算する。
次に、動作計画部５１は、ステップＳＴ４にて、全身運動を行なうために必要なロボットの角運動量を計算し、ステップＳＴ５にて、上記多面剛体の重心位置，初期運動状態（重心周りの角速度及び角加速度）に基づいて、ロボットの動作軌道すなわち動作計画を生成する。
これにより、ステップＳＴ６にて、動作計画の生成が終了する。
【００４０】
次に、ステップＳＴ７にてロボット動作を開始する。
先ず、ステップＳＴ８にて、動作生成部５２は、上記動作計画部５１の時系列形状データ及び重心軌道による各関節部の各運動量から各関節部の角度データθｒｅｆを生成し、これにより拡張ＺＭＰ変換部５３が、この角度データθｒｅｆに基づいて拡張ＺＭＰ目標値を計算する。
そして、ステップＳＴ９にて、拡張ＺＭＰ安定部５４が、角度計測ユニット５６からの姿勢情報及び力センサ４０からの検出出力に基づいて、拡張ＺＭＰ実際値及び各関節部の角運動量を検出し、ステップＳＴ１０にて、拡張ＺＭＰ実際値と拡張ＺＭＰ目標値を比較する。
【００４１】
ここで、拡張ＺＭＰ実際値と拡張ＺＭＰ目標値の比較により、所定値以上の誤差がある場合には、ステップＳＴ１１にて、ロボットの状態が動作計画の最終点であるか否か判断し、最終点でない場合には上記ステップＳＴ８に戻り、最終点である場合には、ステップＳＴ１２にてロボット動作を完了する。
また、ステップＳＴ１０にて、所定値以上の誤差がない場合には、ステップＳＴ１３にて、動作監視部５７がこの誤差が拡張ＺＭＰ安定部５４により補償可能か否か判断して、補償できない場合には、ステップＳＴ１４にて、動作計画部５１に動作計画の再生成を行なわせてステップＳＴ２に戻る。
これに対して、ステップＳＴ１３にて補償可能である場合には、ステップＳＴ１５にて、動作制御装置５０の拡張ＺＭＰ安定部５４は、ロボットにより構成される多面剛体の形状を変化させずに、各関節部の角速度等の調整により上記誤差を修正して、ステップＳＴ１１に進む。
【００４２】
このようにして、本発明実施形態による二脚歩行式人型ロボット１０によれば、従来のＺＭＰ規範の歩行制御を、全身運動を行なうロボットの動作時に突出しまたは環境に接触する部分における反力と重力との合成モーメントがゼロとなる点を拡張ＺＭＰとして、この拡張ＺＭＰを従来のロボットの歩行制御におけるＺＭＰと同様にして、拡張ＺＭＰ目標値と拡張ＺＭＰ実測値の差である拡張ＺＭＰ誤差に基づいて動作データを修正することにより、ロボット１０に発生する慣性力を制御して、拡張ＺＭＰ目標値を補償する。
これにより、例えば転倒時の受け身動作，起き上がり動作や前転運動等の全身運動において、動作制御を安定的に行なうことにより、二脚歩行式人型ロボットの全身運動を動的に安定して確実に行なうことが可能になる。
【００４３】
ここで、二脚歩行式人型ロボット１０が、例えば前転運動を行なう場合、制御部５１が、上述した拡張ＺＭＰ規範における動作制御装置５０に基づく動作制御によって、図９（Ａ）に示す直立した状態から順次に前屈みになり（図９（Ｂ）参照）、頭部１４及び手部を床面に着き（図９（Ｃ）参照）、両脚部１２Ｌ，１２Ｒを床面から離し（図９（Ｄ）参照）、胴体部１１を前方に押し出し（図９（Ｅ）参照）、胴体部１１の後面（背中部）を床面に着け（図９（Ｆ）参照）、手を床面から離して前方に回転し（図９（Ｇ）参照）、踵部を床面に着けて胴体部１１を起こし（図９（Ｈ）参照）、足部の裏面を床面に着けて胴体部１１を床面から持ち上げ（図９（Ｉ）参照）、胴体部１１をほぼ垂直に立て直して（図９（Ｊ）参照）、最後に図９（Ｋ）に示すように、再び直立状態に立ち上がることができる。
ここで、上記図９（Ｃ），（Ｅ）及び（Ｉ）においては、それぞれ図１０（Ａ），（Ｂ）及び（Ｃ）に拡大して示すように、ロボット全体が凸面のみによって多面剛体Ｐとして取り扱うことができ、この多面剛体Ｐの角部または面部に力センサ４０が備えられていることにより、そのときのロボット全体の姿勢は、床面に接地している力センサ４０からの検出信号と各関節部の角度によって、正確に検出することができる。
【００４４】
このようにして、本発明実施形態による二脚歩行式人型ロボット１０によれば、動作時に突出する部分または動作時に環境と接触する部分（例えば、両膝部及び腰部後側）に、それぞれ力センサ４０が設けられているので、ロボットのそのときの姿勢が正確に検出されると共に、各力センサ４０の検出信号に基づいて、そのときのロボットの接地面に対する反力と重力との合成モーメントがゼロとなる拡張ＺＭＰを規範としてロボット全体の動作制御を行なうことにより、例えば転倒時の受け身動作，起き上がり動作や前転運動等の全身運動の動作制御を確実に行なうことができる。
【００４５】
上述した実施形態においては、脚部１２Ｌ，１２Ｒは６自由度を、そして腕部１３Ｌ，１３Ｒは５自由度を有しているが、これに限らず、より小さい自由度またはより大きい自由度を有していてもよい。
【００４６】
【発明の効果】
以上述べたように、本発明によれば、二脚歩行式人型ロボットが全身運動を行なう際、動作制御装置が、ロボット各部の動作時に突出する部分または動作時に環境と接触する部分に設けられた力センサからの検出信号に基づいて、ロボットのどの部分が環境、例えば床面または壁面等と接触しているかを把握することによりロボットの姿勢を検出して、この姿勢に基づいて、補償部により動作生成部からの動作データを修正する。
従って、動作制御装置が、ロボットの全身運動時に、常にロボットの姿勢に基づいて動作データを修正するので、例えば転倒時の受け身動作，起き上がり動作や前転運動等の全身運動を安定して確実に行なうことが可能になる。
このようにして、本発明によれば、容易に全身運動を行なうことができるようにした、極めて優れた二脚歩行式人型ロボットが提供される。
【図面の簡単な説明】
【図１】本発明による二脚歩行式人型ロボットの一実施形態の外観を示し、（Ａ）は概略正面図、（Ｂ）は概略側面図である。
【図２】図１の二脚歩行式人型ロボットの機械的構成を示す概略図である。
【図３】図１の二脚歩行式人型ロボットの前屈部及び脚部の各関節部の前方への揺動限界を示す概略図である。
【図４】図１の二脚歩行式人型ロボットの前屈部及び脚部の各関節部の後方への揺動限界を示す概略図である。
【図５】図１の二脚歩行式人型ロボットの前屈部の各関節部の概略図で、（Ａ）は左方向への旋回限界を、（Ｂ）は右方向への旋回限界をそれぞれ示す。
【図６】図１の二脚歩行式人型ロボットにおける力センサの配置を示す側面図である。
【図７】図１の二脚歩行式人型ロボットの電気的構成を示すブロック図である。
【図８】図１の二脚歩行式人型ロボットの動作制御を示すフローチャートである。
【図９】図１の二脚歩行式人型ロボットの前転動作を順次に示す左側面図である。
【図１０】図９の前転動作の途中における拡大図である。
【符号の説明】
１０    二脚歩行式人型ロボット
１１    胴体部
１１ａ  上部
１１ｂ  下部
１１ｃ  前屈部
１１ｄ，１１ｅ  関節部（関節駆動用モータ）
１２Ｌ，１２Ｒ    脚部
１３Ｌ，１３Ｒ    腕部
１４    頭部
１５Ｌ，１５Ｒ    大腿部
１６Ｌ，１６Ｒ    下腿部
１７Ｌ，１７Ｒ    足部
１８Ｌ，１８３〜２４Ｌ，２４Ｒ  関節部（関節駆動用モータ）
２１Ｌ，２１Ｒ    膝部
２５Ｌ，２５Ｒ    上腕部
２６Ｌ，２６Ｒ    下腕部
２７Ｌ，２７Ｒ    手部
２８Ｌ，２８Ｒ〜３３Ｌ，３３Ｒ    関節部（関節駆動用モータ）
３１Ｌ，３１Ｒ    肘部
３５，３６    関節部（関節駆動用モータ）
４０    力センサ
５０    動作制御装置
５１    動作計画部
５１ａ  動作ライブラリ
５２    動作生成部
５３    拡張ＺＭＰ変換部
５４    拡張ＺＭＰ安定部
５５    制御部
５６    角度計測ユニット
５７    動作監視部
Ｐ      多面剛体
【図１】
0003627057.tif 000002
【図２】
0003627057.tif 000003
【図３】
0003627057.tif 000004
【図４】
0003627057.tif 000005
【図５】
0003627057.tif 000006
【図６】
0003627057.tif 000007
【図７】
0003627057.tif 000008
【図８】
0003627057.tif 000009
【図９】
0003627057.tif 000010
【図１０】
0003627057.tif 000011