(57)【要約】【課題】  人間の歩行動作のように、膝関節部が完全に伸展した状態を歩行動作中に採り入れることを可能にすること。【解決手段】  本発明に係るロボットの運動パターン作成プログラムは、少なくとも一部の脚部における一部の関節角度を予め任意に設定しておき、前記足先部の軌道である足先軌道と前記腰部の軌道である腰軌道とが仮設定された状態で、所定の拘束条件に基づき、前記足先軌道及び／又は腰軌道の少なくとも一部に変更を加えた上で、これら任意の足先軌道及び／又は腰軌道に関する逆運動学解を算出することにより、予め設定された関節角度を除く関節角度を求める。【選択図】          図２
2005088189.tif 000002
【特許請求の範囲】
【請求項１】
複数の関節部からなる複数の脚部と、当該脚部の下端側にそれぞれ連なる足先部と、前記脚部の上端側に連なる腰部と、所定の運動パターンに基づいて前記各関節部の動作を制御する制御装置とを備えた脚式ロボットに対し、前記運動パターンをコンピュータで作成するプログラムにおいて、
少なくとも一部の脚部における関節角度の一部を予め任意に設定しておき、前記足先部の軌道である足先軌道と前記腰部の軌道である腰軌道とが仮設定された状態で、所定の拘束条件に基づき、前記足先軌道及び／又は腰軌道の少なくとも一部に変更を加えた上、これら任意の足先軌道及び／又は腰軌道に関する逆運動学解を算出することにより、予め設定された関節角度を除く関節角度を求めることを特徴とするロボットの運動パターン作成用プログラム。
【請求項２】
股関節部及び膝関節部を含む複数の脚部と、これら脚部の下端側にそれぞれ連なる足先部と、前記脚部の上端側に連なる腰部と、所定の運動パターンに基づいて前記各関節部の動作を制御する制御装置とを備えた脚式ロボットに対し、前記運動パターンを所定のコンピュータで作成するプログラムにおいて、
前記足先部の軌道である足先軌道、高さ方向の座標を除く前記腰部の軌道である５自由度腰軌道、及び立脚側の膝関節角度を含む各種条件が初期設定された状態で、
所定時間における前記各脚部に対し、立脚か遊脚かを判定するステップと、
立脚と判定された脚部に対し、前記足先軌道、前記５自由度腰軌道、及び前記膝関節角度から、逆運動学解を算出することにより、前記膝関節角度を除く前記立脚側の各関節角度及び股関節部の高さを求める立脚側決定ステップと、
遊脚と判定された脚部に対し、前記立脚側決定ステップで決定された立脚側の股関節部の位置及び姿勢と、前記足先軌道及び前記５自由度腰軌道とから、逆運動学解を算出することにより、前記遊脚側の各関節角度を求める遊脚側決定ステップとを、
前記コンピュータに実行させることを特徴とするロボットの運動パターン作成用プログラム。
【請求項３】
前記膝関節部の動作に関する物理量の制限域が更に初期設定された状態で、
前記立脚側決定ステップは、遊脚から立脚への移行に際し、予め設定された立脚側の膝関節角度に変位する際に前記物理量が制限域外となる場合、前記物理量が制限域内となる立脚側の膝関節角度に補正した上で、当該補正後の膝関節角度、前記足先軌道、及び前記５自由度腰軌道から逆運動学解を算出することにより、前記立脚側の各関節角度及び股関節部の高さを決定することを特徴とする請求項２記載のロボットの運動パターン作成用プログラム。
【請求項４】
前記膝関節部の動作に関する物理量の制限域が更に初期設定された状態で、
前記遊脚側決定ステップは、遊脚側の膝関節部の物理量が制限域外となる場合に、前記遊脚側の膝関節角度を、前記物理量が制限域内となる所定値に固定した上で、前記腰部の運動をも考慮した逆運動学解を算出することにより、前記遊脚側の各関節角度を決定することを特徴とする請求項２又は３記載のロボットの運動パターン作成用プログラム。
【請求項５】
膝関節部を含む複数の脚部と、これら脚部の下端側にそれぞれ連なる足先部と、前記脚部の上端側に連なる腰部と、所定の歩行パターンに基づいて前記各関節部の動作を制御する制御装置とを備えた脚式ロボットに対し、前記運動パターンを所定のコンピュータで作成するプログラムにおいて、
前記足先部の軌道である足先軌道と、ロール方向の姿勢及び高さ方向の座標を除く前記腰部の軌道である４自由度腰軌道と、各膝関節角度とを含む各種条件が初期設定された状態で、
前記足先軌道と前記４自由度腰軌道と前記各膝関節角度とから、各足先部を基準に計算した前記腰部の高さが相互に同一になることを利用して、前記ロール方向の姿勢及び高さ方向の座標を計算により求めるステップと、
前記足先軌道と前記各膝関節角度と前記ロール方向の姿勢及び高さ方向の座標を含む前記腰軌道とから、逆運動学解を算出することにより、予め設定した膝関節角度を除く各関節角度を求めるステップとを、
前記コンピュータに実行させることを特徴とするロボットの運動パターン作成用プログラム。
【請求項６】
請求項１〜５の何れかに記載された運動パターン作成用プログラムが記憶され、当該運動パターン作成用プログラムに基づいて、前記運動パターンを作成することを特徴とする運動パターン作成装置。
【請求項７】
請求項１〜５の何れかに記載された運動パターン作成用プログラムが記憶され、当該運動パターン作成用プログラムに基づいて、前記運動パターンを作成する運動パターン作成装置を備えたことを特徴とするロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの運動パターン作成用プログラム、並びに運動パターン作成装置及びそれを用いたロボットに係り、更に詳しくは、二足歩行型ロボット等の脚式ロボットに対し、脚を使って歩行する人間の歩行動作等の各種運動を行えるようにするロボットの運動パターン作成用プログラム、並びに運動パターン作成装置及びそれを用いたロボットに関する。
【背景技術】
【０００２】
近時における殆どの二足歩行型ロボットは、関節部が複数設けられた左右一対の脚部と、これら脚部の下端側に連なる左右一対の足先部と、前記脚部の上端側に配置された腰部とを下肢部分に備え、当該下肢部分が左右それぞれ６自由度に設定されている。前記各関節部における各関節角度は、足先部と腰部との相対位置及び姿勢に基づき、立脚、遊脚問わず、６自由度の逆運動学解を算出することで得られる。この場合、膝関節部が完全に伸展する時、すなわち、膝関節部を挟んだ上下両側の脚部領域が相互に略一直線状となる時は、膝関節部の角速度が無限になる特異点になるため、逆運動学解の算出に際し、膝関節部が完全に伸展しない範囲で、歩行パターンが作成されるように調整される（非特許文献１及び２参照）。
【非特許文献１】広瀬茂男著、「ロボット工学（改定版）−機械システムのベクトル解析」、第１版、裳華房、１９８７年１２月、ｐ．１５７−１８７
【非特許文献２】吉川恒夫著、「ロボット制御基礎論」、初版、コロナ社、１９８８年１１月、ｐ．１１−６８
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、前記従来の二足歩行型ロボットにあっては、前記特異点回避の目的により、常時、膝関節部が屈曲した状態で歩行動作を行わなければならず、人間の歩行動作と異なり、膝関節部が完全に伸展した状態を歩行動作の一部に採り入れることができない。これにより、膝関節部に作用するトルクが増してエネルギー消費が増大する他、人間よりも可動範囲が狭くなるという不都合がある。
【０００４】
本発明は、このような不都合に着目して案出されたものであり、その目的は、脚部を構成する一部の関節部の角度を制限なく自由に設定できる運動パターンを作成することができ、特に、人間等の歩行動作のように、膝関節部が完全に伸展した状態を歩行動作中に採り入れ可能にするロボットの運動パターン作成用プログラム、並びに運動パターン作成装置及びそれを用いたロボットを提供することにある。
【課題を解決するための手段】
【０００５】
（１）前記目的を達成するため、複数の関節部からなる複数の脚部と、当該脚部の下端側にそれぞれ連なる足先部と、前記脚部の上端側に連なる腰部と、所定の運動パターンに基づいて前記各関節部の動作を制御する制御装置とを備えた脚式ロボットに対し、前記運動パターンをコンピュータで作成するプログラムにおいて、
少なくとも一部の脚部における関節角度の一部を予め任意に設定しておき、前記足先部の軌道である足先軌道と前記腰部の軌道である腰軌道とが仮設定された状態で、所定の拘束条件に基づき、前記足先軌道及び／又は腰軌道の少なくとも一部に変更を加えた上、これら任意の足先軌道及び／又は腰軌道に関する逆運動学解を算出することにより、予め設定された関節角度を除く関節角度を求める、という構成を採っている。
【０００６】
（２）また、股関節部及び膝関節部を含む複数の脚部と、これら脚部の下端側にそれぞれ連なる足先部と、前記脚部の上端側に連なる腰部と、所定の運動パターンに基づいて前記各関節部の動作を制御する制御装置とを備えた脚式ロボットに対し、前記運動パターンを所定のコンピュータで作成するプログラムにおいて、
前記足先部の軌道である足先軌道、高さ方向の座標を除く前記腰部の軌道である５自由度腰軌道、及び立脚側の膝関節角度を含む各種条件が初期設定された状態で、
所定時間における前記各脚部に対し、立脚か遊脚かを判定するステップと、
立脚と判定された脚部に対し、前記足先軌道、前記５自由度腰軌道、及び前記膝関節角度から、逆運動学解を算出することにより、前記膝関節角度を除く前記立脚側の各関節角度及び股関節部の高さを求める立脚側決定ステップと、
遊脚と判定された脚部に対し、前記立脚側決定ステップで決定された立脚側の股関節部の位置及び姿勢と、前記足先軌道及び前記５自由度腰軌道とから、逆運動学解を算出することにより、前記遊脚側の各関節角度を求める遊脚側決定ステップとを、
前記コンピュータに実行させる、という構成をも採っている。
【０００７】
（３）ここで、前記膝関節部の動作に関する物理量の制限域が更に初期設定された状態で、
前記立脚側決定ステップは、遊脚から立脚への移行に際し、予め設定された立脚側の膝関節角度に変位する際に前記物理量が制限域外となる場合、前記物理量が制限域内となる立脚側の膝関節角度に補正した上で、当該補正後の膝関節角度、前記足先軌道、及び前記５自由度腰軌道から逆運動学解を算出することにより、前記立脚側の各関節角度及び股関節部の高さを決定する、という構成を採ることが好ましい。
【０００８】
（４）また、前記膝関節部の動作に関する物理量の制限域が更に初期設定された状態で、
前記遊脚側決定ステップは、遊脚側の膝関節部の物理量が制限域外となる場合に、前記遊脚側の膝関節角度を、前記物理量が制限域内となる所定値に固定した上で、前記腰部の運動をも考慮した逆運動学解を算出することにより、前記遊脚側の各関節角度を決定する、という構成を好ましくは採用する。
【０００９】
（５）更に、膝関節部を含む複数の脚部と、これら脚部の下端側にそれぞれ連なる足先部と、前記脚部の上端側に連なる腰部と、所定の歩行パターンに基づいて前記各関節部の動作を制御する制御装置とを備えた脚式ロボットに対し、前記運動パターンを所定のコンピュータで作成するプログラムにおいて、
前記足先部の軌道である足先軌道と、ロール方向の姿勢及び高さ方向の座標を除く前記腰部の軌道である４自由度腰軌道と、各膝関節角度とを含む各種条件が初期設定された状態で、
前記足先軌道と前記４自由度腰軌道と前記各膝関節角度とから、各足先部を基準に計算した前記腰部の高さが相互に同一になることを利用して、前記ロール方向の姿勢及び高さ方向の座標を計算により求めるステップと、
前記足先軌道と前記各膝関節角度と前記ロール方向の姿勢及び高さ方向の座標を含む前記腰軌道とから、逆運動学解を算出することにより、予め設定した膝関節角度を除く各関節角度を求めるステップとを、
前記コンピュータに実行させる、という構成を採っている。
【００１０】
（６）また、前記目的を達成するため、本発明に係る運動パターン作成装置は、前記運動パターン作成用プログラムが記憶され、当該運動パターン作成用プログラムに基づいて、前記運動パターンを作成する、という構成を採っている。
【００１１】
（７）更に、本発明に係るロボットは、前記運動パターン作成用プログラムが記憶され、当該運動パターン作成用プログラムに基づいて、前記運動パターンを作成する運動パターン作成装置を備えた、という構成を採っている。
【００１２】
なお、本明細書において、「立脚」とは、接地している方の脚部を意味し、「遊脚」とは、接地していない方の脚部を意味する。
【００１３】
また、本明細書において、「Ｘ軸」、「Ｙ軸」、「Ｚ軸」とは、図１に示された座標における各軸線、つまり、二足歩行型ロボットの前後方向に延びる軸線、同左右方向に延びる軸線、同上下方向に延びる軸線を意味する。
【００１４】
更に、「ロール方向」とは、前記Ｘ軸回りの回転方向を意味し、「ピッチ方向」とは、前記Ｙ軸回りの回転方向を意味し、「ヨー方向」とは、前記Ｚ軸回りの回転方向を意味する。
【００１５】
また、「関節角度」は、関節部の回転角度を意味する。
【００１６】
更に、「歩行パターン」とは、各関節部における回転角度を時系列的に定めてなる下肢軌道に関するデータを意味し、その他の運動をも含む運動パターンの一種である。
【００１７】
また、「制限域」とは、関節部を動作させるアクチュエータの出力を適正に保てる物理量の範囲を意味する。
【発明の効果】
【００１８】
前記（１）、（６）及び（７）の構成によれば、一部の関節角度を任意に設定し、拘束条件を使い、仮設定された足先軌道及び／又は腰軌道の少なくとも一部に変更を加え、逆運動学を使って残りの関節角度を決定するようになっているため、前記一部の関節角度の特異点回避等の制限をなくし、人間等が行う各種運動に適した運動パターンを得ることができる。
【００１９】
特に、前記（２）の構成によれば、立脚側では、股関節部の高さ方向の座標を設定しない代わりに、膝関節角度を予め設定することにより、膝関節角度を逆運動学解として算出しないため、膝関節部を完全に伸展させた状態を自由に設定することができる。従って、二足歩行型ロボット等に対し、歩行動作の過程において膝関節部が完全に伸展した状態を採用可能にすることができ、人間のような歩行動作を実現することができる。
【００２０】
ここで、前記（３）のように構成することで、立脚側の膝関節部を構成するアクチュエータを規定範囲内で駆動させることができ、ロボットの暴走を防止することができる。
【００２１】
また、前記（４）の構成によっても、遊脚側の膝関節部を構成するアクチュエータを規定範囲内で駆動させることができ、ロボットの暴走を防止することができる。
【００２２】
更に、前記（５）の構成を採用することで、立脚期及び遊脚期の全域に亘って予め膝関節角度を設定した状態で、残りの関節角度を計算するようになっているため、立脚期と遊脚期との切替時における膝関節部の急激な角速度変化が抑制され、一層滑らかな歩行動作が実現可能となる。また、膝関節角度を予め設定するため、膝関節部に効果的な動作を行わせることができ、その結果、ロボットの歩幅を増大させることが可能になる。また、膝関節部を除く関節部の動作パターンについても滑らかなパターン生成が可能となり、ロボット全体としてより安定した運動パターンの作成が可能となる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施例について図面を参照しながら説明する。
[第１実施例]
【００２４】
図１には、本発明が適用されたロボットシステムの概念図が示されている。この図において、ロボットシステム１０は、片脚６自由度に設定された脚式ロボットとしての二足歩行型ロボット１１と、当該二足歩行型ロボット１１の運動パターンの一つである歩行パターンを作成する運動パターン作成装置としてのコンピュータ１２とを備えて構成されている。
【００２５】
前記二足歩行型ロボット１１は、左右一対の脚部１４，１４と、これら脚部１４，１４の下端側に連なる左右一対の足先部１５，１５と、脚部１４，１４の上端側に連なる腰部１６と、この腰部１６の上に配置された制御装置１７とを備えて構成されている。
【００２６】
前記脚部１４，１４は、左右同一の構造をなし左右対称に配置されている。当該脚部１４は、足先部１５の上端側に連なる足首関節部１９と、腰部１６の下端側に連なる股関節部２０と、これら足首関節部１９と股関節部２０との間に延びる脚体２１と、当該脚体２１の途中に設けられた膝関節部２３とを備えて構成されている。
【００２７】
前記足首関節部１９は、脚体２１に対して足先部１５をロール方向に回転可能にする足首ロール機構２５と、脚体２１に対して足先部１５をピッチ方向に回転可能にする足首ピッチ機構２６とを備えている。
【００２８】
前記股関節部２０は、腰部１６に対して脚体２１をロール方向に回転可能にする上脚ロール機構２７と、腰部１６に対して脚体２１をピッチ方向に回転可能にする上脚ピッチ機構２８と、腰部１６に対して脚体２１をヨー方向に回転可能にする上脚ヨー機構２９とを備えている。
【００２９】
前記脚体２１は、前記膝関節部２３の上方に位置する上脚２１Ａと、前記膝関節部２３の下方に位置する下脚２１Ｂとからなる。
【００３０】
前記膝関節部２３は、上脚２１Ａ及び下脚２１Ｂをピッチ方向に相対回転可能に連結する膝ピッチ機構３０により構成されている。
【００３１】
以上の各機構２５〜３０は、図示しないモータ等のアクチュエータ及び当該アクチュエータに繋がるベルト、プーリ、リンク等からなり、前記アクチュエータの駆動によって、前述した各動作を可能にするように構成されている。なお、ここでの構成は、公知の二足歩行型ロボットに採用されているものと実質的に同一であり、詳細な説明を省略するとともに、構造を簡略化して図示した点、了承されたい。
【００３２】
前記制御装置１７は、前記コンピュータ１２によって作成された歩行パターン、すなわち、前記各関節部１９，２０，２３における関節角度が時系列的に決定されたデータに基づいて、各関節部１９，２０，２３を動作させる前記各機構２５〜３０のアクチュエータの駆動を制御するようになっている。ここで、歩行パターンは、コンピュータ１２によって作成された後で、所定の記録媒体に記録され、当該記録媒体を制御装置１７にセットすることで、制御装置１７に記憶されるようになっている。
【００３３】
前記コンピュータ１２は、所定の初期設定をした上で、前記歩行パターンを作成可能にするプログラムが予め記憶され、当該プログラムの実行により、二足歩行型ロボット１１に対して前記初期設定に対応した所望の歩行動作を実現させる歩行パターンを作成するようになっている。ここでの初期設定は、図２に示されるように、足先軌道設定部３３と、腰軌道設定部３４と、膝関節角度設定部３５と、膝関節部３２の角速度（以下、「膝関節角速度」と称する）の制限域設定部３６とで行われる。
【００３４】
前記足先軌道設定部３３では、次のようにして、足先部１５の軌道（足先軌道）の設定が行われる。先ず、両足接地状態のときの足先部１５のＸ軸方向及びＹ軸方向の離間距離と、左右の足先部１５それぞれにつき、当該足先部１５の接地点間の中間点の高さとが一歩毎に任意に指定され、コンピュータ１２に入力される。すると、コンピュータ１２の計算により、一歩毎の左右各足先部１５の最初の座標、前記中間点の座標及び最後の座標から、５次ないしは６次関数で補完することで足先軌道が求められる。すなわち、ここでは、所定時間の間隔（以下、「層」と称する）毎に、左右の足先部１５，１５のＸ軸方向、Ｙ軸方向、Ｚ軸方向の座標（位置）とロール方向、ピッチ方向、ヨー方向の姿勢が求められることになる。
【００３５】
前記腰軌道設定部３４は、前述のように求められた足先軌道に基づき、Ｚ軸方向（高さ方向）の座標を除外した腰部１６の軌道（５自由度腰軌道）が、コンピュータ１２の計算により求められる。つまり、各層毎に、腰部１６の重心位置が左右足先部１５の中央間の中点を通るように、Ｘ軸及びＹ軸方向における腰部１６の座標が決定される。なお、このとき、腰部１６の高さ方向の座標は、コンピュータ処理上、所定のダミー数値が仮設定される。また、腰部１６のロール方向、ピッチ方向、ヨー方向の姿勢は、接地面に対して傾かないように水平状態に設定される。なお、腰部１６のロール方向、ピッチ方向、ヨー方向の姿勢は、ユーザによって任意に設定することも可能である。
【００３６】
前記膝関節角度設定部３５では、遊脚から立脚に移行した時間をｔ＝０とした次式に基づいて、立脚側の膝関節部２３の回転角度（膝関節角度）が設定される。
【数１】
2005088189.tif 000003
ここで、θは、膝関節角度を表し、Ｔは、歩速を表している。本実施例では、上脚２１Ａ及び下脚２１Ｂが相互に略一直線状態となる膝関節部２３の完全伸展時をθ＝０（ｄｅｇ）とし、上脚２１Ａ及び下脚２１Ｂが相互に略重合する状態となる膝関節部２３の完全屈曲時をθ＝−１８０（ｄｅｇ）とし、また、Ｔ＝０．９６ｓ／ｓｔｅｐとしている。
【００３７】
前記膝関節角速度の制限域設定部３６では、膝関節部２３の動作に関する物理量の制限域が設定される。具体的に、ここでの制限域は、膝関節部２３を構成するアクチュエータの性能上、許容される角速度の最大値を上限として設定されている。なお、本実施例では、角速度の最大値として、約１００ｄｅｇ／ｓｅｃに設定されている。
【００３８】
以上のような初期設定後、歩行パターン作成プログラムにおける次の手順に従って、歩行パターンが求められる。すなわち、ここでは、一層毎に、図２のステップＳ１〜Ｓ１０を経て、前記各機構２５〜３０における回転角度である関節角度が決定され、全層における各関節角度が決定すると（ステップＳ１１）、各関節角度が時系列化された歩行パターンができる（ステップＳ１２）。
【００３９】
具体的に、先ず、ステップＳ１では、予め設定された足先軌道から、対象層における各脚部１４，１４に対し、立脚か遊脚かが判定される。
【００４０】
次いで、ステップＳ２では、ステップＳ１で立脚と判定された脚部１４について、膝関節部２３を除く他の関節部１９，２０の関節角度が算出される。すなわち、ここでは、初期設定された足先部１５及び腰部１６の相対的な位置及び姿勢（拘束条件）と、初期設定された立脚側の膝関節角度とから、膝関節部２３を除く５自由度の逆運動学解が算出され、膝関節部２３を除く立脚側の各関節角度と、腰部１６の高さに対応する立脚側の股関節部２０の高さ方向（Ｚ軸方向）の座標が求められ、先の仮設定値は変更される。このとき、前層が遊脚で、対象層で立脚に移行する際のように、前記初期設定された立脚側の膝関節角度に変位するのに必要な膝関節角速度が前記制限域内になるか否かについて判定される（ステップＳ３）。ここで、膝関節角速度が前記制限域内にあれば、股関節部２０の高さとして、ステップＳ２で求められた逆運動学解が決定値とされる（ステップＳ４）。一方、膝関節角速度が前記制限域の上限を超える場合は、膝関節角速度が前記制限域内の所定値となるように、前記式（１）により求められた膝関節角度の値が補正される（ステップＳ５）。そして、再びステップＳ２に戻り、補正された膝関節角度を使って、逆運動学により、股関節部２０の高さ方向の座標が再び算出され、当該算出された値が決定値とされる（ステップＳ４）。以上において、ステップＳ２〜Ｓ５は、立脚側決定ステップを構成する。
【００４１】
その後、ステップＳ６では、ステップＳ１で遊脚と判定された側の脚部１４について、全関節部１９，２０，２３の回転角度（関節角度）がそれぞれ算出される。すなわち、ここでは、初期設定された足先部１５及び腰部１６の位置及び姿勢と、ステップＳ４で決定された立脚側の股関節部２０の高さ方向（Ｚ軸方向）の座標とから、６自由度の逆運動学解が算出され、遊脚側の各関節角度が求められる。この際、腰部１６のロール方向の運動が行われず、立脚側と遊脚側で股関節部２０の高さが相互に同一であるとされる（拘束条件）。そして、一層前からの膝関節部２３の変位に伴い、遊脚側の膝関節角速度が予め設定された制限域内になるか否かについて判定される（ステップＳ７）。ここで、膝関節角速度が前記制限域内であれば、ステップＳ６で算出された遊脚側の各関節角度が決定値とされ、立脚側及び遊脚側の全関節角度が決定する（ステップＳ８）。
【００４２】
一方、膝関節角速度が前記制限域の上限を超える場合は、膝関節角速度が前記制限域内の所定値となるように、遊脚側の膝関節角度が固定される（ステップＳ９）。そして、ステップＳ９で固定された遊脚側の膝関節角度と、足先部１５及び腰部１６の位置及び姿勢と、立脚側の股関節部２０の位置及び姿勢とから、立脚側の股関節部２０を中心とし、腰部１６がロール方向に回転運動を行うとして、逆運動学により、遊脚側の各関節角度が改めて算出される（ステップＳ１０）。すなわち、ここでは、遊脚側の各関節角度の他に、腰運動に関連する立脚側の股関節部２０におけるロール方向の回転角度が算出され、初期設定により設定されたロール方向の回転角度が変更され、立脚側及び遊脚側の関節角度が最終決定される（ステップＳ８）。なお、以上において、ステップＳ６，Ｓ７，Ｓ９，Ｓ１０は、遊脚側決定ステップを構成する。
【００４３】
その後、ステップＳ１１では、１歩行周期についての計算が終了したか否かについて判断される。その結果、１歩行周期についての計算が終了していなければ、次層についても、前述と同様にしてステップＳ１〜Ｓ１０により、立脚側及び遊脚側の各関節角度が決定される。一方、全層における各関節角度が決定したと判断されると、各層における各関節角度のデータが時系列化された歩行パターンが完成する（ステップＳ１２）。
【００４４】
このようにして作成された歩行パターンは、腰軌道設定部３４によって任意に設定された腰軌道に基づいて作成されたものであり、ロボット１１の質量及び作用するモーメントが考慮されていないため、歩行時にロボット１１が転倒する可能性もある。そこで、歩行時におけるロボット１１の転倒を回避するために、初期設定された腰軌道に基づいて前述のように歩行パターンを作成した後、次に説明するように、当該歩行パターンを修正するプログラムが実行される。このプログラムは、図３に示される手順で各種演算等が行われ、最終的に、歩行時にロボット１１が転倒しないような歩行パターンに修正される。
【００４５】
すなわち、腰軌道設定部３４で任意に設定された腰軌道に基づいて、前述したように歩行パターンが算出された後（ステップＳ１００）、当該歩行パターンから、予め設定した公知のＺＭＰ（ゼロ・モーメント・ポイント）軌道上で、ロボット１１の歩行によって発生するモーメントが計算される（ステップＳ１０１）。ここで、ＺＭＰ軌道は、足先軌道設定部３３で設定された足先軌道に基づき、足先部１５の接地部分にＺＭＰが位置するように、コンピュータ１２内のＺＭＰ軌道設定部３７で設定される。
【００４６】
次いで、ステップＳ１０１で計算されたモーメントに基づき、ロボット１１が転倒しないように、Ｘ軸及びＹ軸方向における腰部１６の座標が補正される（ステップＳ１０２）。すなわち、ここでは、線形化された二足歩行型ロボットのモデルより、高速フーリエ変換、逆高速フーリエ変換を用いて、モーメント補償腰軌道の近似解が求められる。なお、腰部１６のロール方向、ピッチ方向、ヨー方向の姿勢は、腰軌道設定部３４で設定された値がそのまま用いられる。
【００４７】
そして、モーメント補償がなされた補正後の腰軌道を使い、ステップＳ１０１と同様の計算によって、モーメント補償がなされた歩行パターンを作成する（ステップＳ１０３）。
【００４８】
次に、モーメント補償がなされた歩行パターンから、前記ステップＳ１０１と同様の計算により、前記ＺＭＰ軌道上でのモーメントが計算され、設定ＺＭＰとのモーメント誤差が求まる（ステップＳ１０４）。
【００４９】
そして、求めたモーメント誤差が、許容エラーモーメント設定部３８で予め設定された許容エラーモーメントと対比される（ステップＳ１０５）。その結果、モーメント誤差が許容エラーモーメントより小さければ、最後に求めた歩行パターンがロボット１１の歩行パターンとして決定され、前記記憶媒体に出力される（ステップＳ１０６）。一方、モーメント誤差が許容エラーモーメントより大きければ、前記モーメント誤差を前記ステップＳ１０１で計算されたモーメントに加え、ステップＳ１０２以下の再計算が行われる。そして、モーメント誤差が許容エラーモーメントより小さくなるまで、ステップＳ１０１〜ステップＳ１０５が繰り返し行われる。
【００５０】
従って、このような第１実施例によれば、立脚側の膝関節角度が逆運動学によって求められるものではなく、立脚側の膝関節角度を予め設定し、その分を腰部１６の高さ方向の座標で調整するようになっているため、立脚側の膝関節部２３を完全に伸展させることが可能になり、ロボット１１に対し、人間の歩行動作に極めて近い歩行動作をさせることできる。その結果、膝関節部２３の負担が軽減されることになり、膝関節部２３を構成するアクチュエータの小型化が促進され、ロボットの軽量化等から、少ないエネルギーでの歩行動作が可能になる他、従来型に比べて可動範囲を拡張できるという効果を得る。
また、遊脚側の膝関節部２３が完全に伸展する若しくはその近傍の状態となる場合でも、腰部１６のロール運動を併用して、足先部１５を目標値に通りに位置させるように補償できるため、初期設定した遊脚側の足先軌道通りに歩行パターンを作成することができる。
【００５１】
なお、膝関節部２３の制限域を構成する物理量としては、前述した角速度の他、角度、角加速度、膝関節部２３を動作させるアクチュエータの電流値等、当該アクチュエータの出力に関連する物理量であれば何でもよい。
【００５２】
[第２実施例]
次に、本発明の第２実施例について説明する。なお、以下の説明において、前記第１実施例と同一若しくは同等の構成部分については同一符号を用いるものとし、説明を省略若しくは簡略にする。
【００５３】
本実施例は、前記第１実施例に対し、前記ステップＳ１００及びステップＳ１０３で適用される歩行パターンの算出方法を変えたものである。つまり、本実施例は、立脚、遊脚の切替時に膝関節部２３がスムーズに動作するように、立脚期及び遊脚期の双方で連続する膝関節角度を設定しておき、立脚、遊脚の区別なく同一のアルゴリズムで、各層における関節角度を求めるようにしたことを特徴とする。
【００５４】
本実施例では、図４に示される手順で歩行パターンが作成される。ここでの初期設定は、足先軌道設定部３３と、腰軌道設定部３４と、膝関節角度設定部３５とで行われる。
【００５５】
本実施例の足先軌道設定部３３では、第１実施例と同様の手順で足先軌道、つまり、層毎に、左右の足先部１５，１５のＸ軸方向、Ｙ軸方向、Ｚ軸方向の座標（位置）とロール方向、ピッチ方向、ヨー方向の姿勢とが求められる。
【００５６】
一方、腰軌道設定部３４では、足先軌道設定部３３で求めた足先軌道に基づき、Ｚ軸方向（高さ方向）の座標及びロール方向の姿勢を除外した腰部１６の軌道（４自由度腰軌道）が、コンピュータ１２の計算により求められる。つまり、本実施例では、第１実施例より１自由度少ない４自由度の腰軌道が設定される。なお、ここでは、腰部１６の高さ方向の座標及びロール方向の姿勢は、コンピュータ処理上、所定のダミー数値が仮設定される。
【００５７】
本実施例の膝関節角度設定部３５では、立脚期及び遊脚期の全域で連続的に各膝関節部２３，２３の角度が設定される。つまり、本実施例では、図５に示されるように、一膝関節部２３おいて経過時間と膝関節角度との関係を３次スプライン曲線の関係となるように設定している。なお、経過時間と膝関節角度との関係は、３次スプライン曲線の関係に限定されるものではなく、滑らかな動きを実現できる曲線、つまり、２回微分して加速度項になったときでも連続化するような曲線（例えば、ＳＩＮ曲線等）であれば何でもよい。
【００５８】
以上のような初期設定後、次の手順に従って歩行パターンが作成される。すなわち、一層毎に、図４のステップＳ２００〜Ｓ２０３を経て、前記各機構２５〜３０の関節角度が求められ、各関節角度が全層で求められると、各関節角度を時系列化してなる歩行パターンができる（ステップＳ２０４）。
【００５９】
具体的には、先ず、足先軌道設定部３３で設定された足先軌道と、腰軌道設定部３４で設定された４自由度腰軌道と、膝関節角度設定部３５で設定された左右両膝関節部２３，２３の関節角度とから、次の計算によって、未だ定まっていない腰部１６のロール方向の姿勢（ロール角）を決定する。
左側の足先部１５を基準とした腰部１６の位置Ｐｗｌは、
【数２】
2005088189.tif 000004
で表される。
ここで、
【数３】
2005088189.tif 000005
同様に、右側の足先部１５を基準とした腰部１６の位置Ｐｗｒは、
【数４】
2005088189.tif 000006
で表される。
【００６０】
歩行中においてロボット１１の足先部１５は様々な姿勢を取ることが考えられるが、本実施例においては、常に、足先部１５の接地面に対して水平を保つようにしており、これによって、左右足先部１５，１５の姿勢はそれぞれ次式で示される。
【数５】
2005088189.tif 000007
そして、上式（２），（３），（４）より、左脚のリンクで計算される腰部１６の高さ及び右脚のリンクで計算する腰部１６の高さは、次の通りとなる。
【数６】
2005088189.tif 000008
このとき、腰部１６の位置及び姿勢は、基準が左右どちらであろうと同じ値を取らなければならないという拘束条件があるため、上式（５）＝上式（６）となり、次式の関係が成立する。
【数７】
2005088189.tif 000009
ここで、ロール方向の姿勢行列（ｂｘ，ｂｙ，ｂｚ）は、単位ベクトルであるため、ｂｘ２＋ｂｙ２＋ｂｚ２＝１の関係が成立し、ヨー方向の姿勢が初期設定されていることから、式（７）は１変数の式となり、これによって、ロール方向の姿勢（ｂｘ，ｂｙ，ｂｚ）が求められ、前述の仮設定値が変更される。なお、式（７）中、その他のパラメータの意味については図６を参照されたい。
【００６１】
そして、上式（５）又は（６）を使って腰部１６の高さが求められ、前述した仮設定値が変更される（ステップＳ２０１）。
【００６２】
以上の計算を行った後、足先部１５及び腰部１６の位置及び姿勢が定まり、第１実施例の場合と同様に、逆運動学解の算出により、膝関節角度を除く両脚の各関節角度が求められる（ステップＳ２０２）。
【００６３】
そして、１歩行周期全ての計算が終了したか否かについて判断される（ステップＳ２０３）。その結果、１歩行周期についての計算が終了していなければ、次層についても、前述と同様にステップＳ２００〜Ｓ２０２により、膝関節角度を除く両脚の各関節角度が求められる。一方、各関節角度が全層で求められたと判断されると、各層における各関節角度のデータが時系列化された歩行パターンができる（ステップＳ２０４）。
【００６４】
このようにして作成された歩行パターンは、第１実施例のように、図３に示される手順で、歩行時にロボット１１が転倒しないような歩行パターンに修正される。
【００６５】
このような第２実施例によれば、立脚期及び遊脚期の双方で一連となる膝関節角度を予め設定した状態で歩行パターンを求めるため、立脚期と遊脚期の切替時に膝関節部２３の急激な速度変化が抑制でき、立脚期と遊脚期との間でのスムーズな移行動作が実現するとともに、歩幅が増大して、人間に一層近い歩行動作を得ることができる。
【００６６】
なお、前記各実施例では、コンピュータ１２で作成された歩行パターンが記録媒体を介して制御装置１７に記憶されるようにしたが、有線通信或いは無線通信により、コンピュータ１２から制御装置１７に歩行パターンを送信するようにしてもよい。また、コンピュータ１２は、制御装置１７に一体化すること等により、二足歩行型ロボット１１側に設けることもできる。
【００６７】
また、足首関節部１９には、脚体２１に対して足先部１５をヨー方向に回転可能にする足首ヨー機構を更に設けてもよい。
【００６８】
更に、前記各実施例では、本発明を二足歩行型ロボット１１に適用した例を図示説明したが、本発明はこれに限らず、動物型や昆虫等に擬似させた多足歩行型の脚式ロボットにも適用可能である。
【００６９】
また、前記各実施例のアルゴリズムは、膝関節部２３を自由に動かせるようにするものであるが、前記アルゴリズムにおける初期設定関節部を足首関節部１９若しくは股関節部２０に置換して適用することも可能である。すなわち、この場合のアルゴリズムでは、足首関節部１９若しくは股関節部２０が初期設定された状態で、拘束条件を使って他の関節部の関節角度が求められるようになる。
【００７０】
更に、前記各実施例では、腰軌道のうち、高さ方向の座標やロール方向の姿勢を仮設定しているが、他の座標や姿勢を仮設定してもよい。また、腰軌道に代え、または、腰軌道とともに、足首軌道の一部座標や姿勢を仮設定し、各実施例と同様のアルゴリズムで各関節角度を求めるようにしてもよい。
【００７１】
また、前記各実施例でのアルゴリズムは、ロボットの歩行パターンの作成に適用しているが、一部要素の変更により、同じ位置でロボットが屈伸運動やジャンプ等を行う運動パターンの作成に適用することも可能である。
【００７２】
その他、本発明における装置各部の構成は図示構成例に限定されるものではなく、実質的に同様の作用を奏する限りにおいて、種々の変更が可能である。
【図面の簡単な説明】
【００７３】
【図１】ロボットシステムの概念図。
【図２】第１実施例に係る歩行パターンの作成手順を示すフローチャート。
【図３】歩行パターンの修正手順を示すフローチャート。
【図４】第２実施例に係る歩行パターンの作成手順を示すフローチャート。
【図５】経過時間と膝関節角度との関係を示すグラフ。
【図６】数式中のパラメータの意味を説明するための模式図。
【符号の説明】
【００７４】
１１  二足歩行型ロボット（脚式ロボット）
１２  コンピュータ（運動パターン作成装置）
１４  脚部
１５  足先部
１６  腰部
１７  制御装置
２０  股関節部
２３  膝関節部
【図１】
2005088189.tif 000010
【図２】
2005088189.tif 000011
【図３】
2005088189.tif 000012
【図４】
2005088189.tif 000013
【図５】
2005088189.tif 000014
【図６】
2005088189.tif 000015