(57)【要約】【課題】足首の関節を自由にして接地脚が受動的に揺動する現象を利用して、自然な歩容動作が得られ、消費エネルギが小さな歩行動作を実現する。【解決手段】接地脚リンクの足首関節を揺動自由とし、揺動自由とした関節の関節角を計測し、計測された関節角に基づいて残余の関節角を計算し、残余の関節角を計算された関節角に調整し、脚リンクの先端が接地して浮遊して再度接地する繰返し現象の進行に合わせて揺動自由とする足首関節を切替えることによって揺動自由とする足首関節を接地脚リンクの側に維持する。計算された関節角に調整したときのロボットの重心位置が、右脚リンクが遊脚リンクになっている間は右脚リンクの接地位置に向けて移動し、左脚リンクが遊脚リンクになっている間は左脚リンクの接地位置に向けて移動する関係を満たす関節角を計算する。【選択図】  図３
2004276167.tif 000002
【特許請求の範囲】
【請求項１】
足首関節を持つ脚リンクが股関節によって胴部に揺動可能に連結されており、その脚リンクが２以上存在するロボットであり、下記のコントローラ、即ち、
接地脚リンクの足首関節を揺動自由とし、
揺動自由とした関節の関節角を計測し、
計測された関節角に基づいて残余の関節角を計算し、
残余の関節角を調整するアクチュエータを制御して、残余の関節角を計算された関節角に調整し、
脚リンクの先端が接地して浮遊して再度接地する繰返し現象の進行に合わせて揺動自由とする足首関節を切替えることによって、揺動自由とする足首関節を接地脚リンクの側に維持する、
コントローラを有する、関節角の受動変化を利用して歩行するロボット。
【請求項２】
足首関節を持つ左脚リンクと右脚リンクが股関節によって胴部に揺動可能に連結されているロボットであり、下記のコントローラ、即ち、
接地脚リンクの足首関節を揺動自由とし、
揺動自由とした関節の関節角を計測し、
計測された関節角に基づいて残余の関節角を計算し、
残余の関節角を調整するアクチュエータを制御して、残余の関節角を計算された関節角に調整し、
脚リンクの先端が接地して浮遊して再度接地する繰返し現象の進行に合わせて揺動自由とする足首関節を切替えることによって、揺動自由とする足首関節を接地脚リンクの側に維持する、
コントローラを有し、
計測された関節角に基づいて残余の関節角を計算する際に、計算された関節角に調整したときのロボットの重心位置が、右脚リンクが遊脚リンクになっている間は左右の脚リンクの体側方向での接地位置の間において右脚リンクの接地位置に向けて移動し、左脚リンクが遊脚リンクになっている間は左右の脚リンクの体側方向での接地位置の間において左脚リンクの接地位置に向けて移動する関係を満たす関節角を計算することを特徴とする、関節角の受動変化を利用して歩行するロボット。
【請求項３】
前記コントローラが、接地脚リンクの接地位置よりも股関節が進行方向に前方に位置するように接地脚リンクの足首関節と股関節の進行方向の関節角を調整し、股関節よりも遊脚リンクの先端が進行方向に前方に位置するように遊脚リンクの足首関節と股関節の進行方向の関節角を調整することを特徴とする請求項２のロボット。
【請求項４】
足首関節を持つ脚リンクが股関節によって胴部に揺動可能に連結されており、その脚リンクが２以上存在するロボットの制御方法であり、
接地脚リンクの足首関節を揺動自由とする工程と、
揺動自由とした関節の関節角を計測する工程と、
計測された関節角に基づいて残余の関節角を計算する工程と、
残余の関節角を計算された関節角に調整する工程と、
脚リンクの先端が接地して浮遊して再度接地する繰返し現象の進行に合わせて揺動自由とする足首関節を切替えることによって、揺動自由とする足首関節を接地脚リンクの側に維持する工程と、を有するロボットの制御方法。
【請求項５】
足首関節を持つ左脚リンクと右脚リンクが股関節によって胴部に揺動可能に連結されているロボットの制御方法であり、
接地脚リンクの足首関節を揺動自由とする工程と、
揺動自由とした関節の関節角を計測する工程と、
計測された関節角に基づいて残余の関節角を計算する工程と、
残余の関節角を計算された関節角に調整する工程と、
脚リンクの先端が接地して浮遊して再度接地する繰返し現象の進行に合わせて揺動自由とする足首関節を切替えることによって、揺動自由とする足首関節を接地脚リンクの側に維持する工程とを有し、
計測された関節角に基づいて残余の関節角を計算する際に、計算された関節角に調整したときのロボットの重心位置が、右脚リンクが遊脚リンクになっている間は左右の脚リンクの体側方向での接地位置の間において右脚リンクの接地位置に向けて移動し、左脚リンクが遊脚リンクになっている間は左右の脚リンクの体側方向での接地位置の間において左脚リンクの接地位置に向けて移動する関係を満たす関節角を計算することを特徴とするロボット制御方法。
【請求項６】
足首関節を持つ左脚リンクと右脚リンクが股関節によって胴部に揺動可能に連結されているロボットの制御方法であり、
接地脚リンクの足首関節を進行方向に揺動自由とする工程と、
揺動自由とした関節の関節角を計測する工程と、
計測された関節角に基づいて残余の関節角を計算する工程と、
残余の関節角を計算された関節角に調整する工程と、
脚リンクの先端が接地して浮遊して再度接地する繰返し現象の進行に合わせて揺動自由とする足首関節を切替えることによって、揺動自由とする足首関節を接地脚リンクの側に維持する工程とを有し、
計測された関節角に基づいて残余の関節角を計算する際に、計算された関節角に調整したときのロボットの重心位置が、右脚リンクが遊脚リンクになっている間は左右の脚リンクの体側方向での接地位置の間において右脚リンクの接地位置に向けて移動すると同時に進行方向でも右脚リンクの接地位置に向けて移動し、左脚リンクが遊脚リンクになっている間は左右の脚リンクの体側方向での接地位置の間において左脚リンクの接地位置に向けて移動すると同時に進行方向でも左脚リンクの接地位置に向けて移動する関係を満たす関節角を計算することを特徴とするロボット制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】本発明は、２以上の脚リンクが股関節によって胴部に揺動可能に連結されており、その脚リンクを揺動させることによって歩行するロボットに関する。
【０００２】
【従来の技術】左脚リンクと腰と右脚リンクの相対的姿勢を変化させることによって歩行するロボットが開発されている。左脚リンクと腰と右脚リンクの相対的姿勢を変化させる場合、結果として歩行した結果が得られるように、左脚リンクと腰と右脚リンクの相対的姿勢を変化させなければならない。このために、左足先と腰と右足先の位置と姿勢を指示する歩容データが利用される。
図１１に示すように、歩容データは、ロボットが活動する空間の座標を定めるグローバル座標系において、左足先と腰と右足先の位置と姿勢を指示する。左足先と腰と右足先の位置を指示するために、左足先には基準点Ｌ０が定められており、右足先には基準点Ｒ０が定められており、腰には基準点Ｗ０が定められている。左足先と腰と右足先の姿勢を指示するために、左足先に垂直なベクトルＬが想定されており、右足先に垂直なベクトルＲが想定されており、腰柱に沿って伸びるベクトルＷが想定されている。歩容データは、グローバル座標系において、左足先の基準点Ｌ０のｘ、ｙ、ｚ座標、右足先の基準点Ｒ０のｘ、ｙ、ｚ座標、腰の基準点Ｗ０のｘ、ｙ、ｚ座標を指示する。また、左足先に垂直なベクトルＬのピッチ角Ｌαと、ロール角Ｌβと、ヨー角Ｌγを指示し、右足先に垂直なベクトルＲのピッチ角Ｒαと、ロール角Ｒβと、ヨー角Ｒγを指示し、腰柱に沿って伸びるベクトルＷのピッチ角Ｗαと、ロール角Ｗβと、ヨー角Ｗγを指示する。歩容データは、左足先と腰と右足先の位置と姿勢を指示するデータを経時的に記憶している。
【０００３】
左足先と腰と右足先の位置と姿勢を指示する歩容データが与えられると、ロボットは、与えられた位置と姿勢をとるために必要な関節の関節角を計算し、計算された関節角に調整する。歩容データが経時的に変化することから、関節角も経時的に変えられる。歩容データに従って、左脚リンクと腰と右脚リンクの相対的姿勢を経時的に変化させることによってロボットは歩行する。
腰の位置（Ｗｘ、Ｗｙ，Ｗｚ）と姿勢（Ｗα、Ｗβ、Ｗγ）は、ロボットのＺＭＰ（ｚｅｒｏ  ｍｏｍｅｎｔ  ｐｏｉｎｔ）を接地脚の足平内に維持する関係に設定されているために、ロボットは転倒しないで歩行を続ける。
上記の方式は、ロボットの全ての関節を能動的に動かして歩行する方式であるということができ、特許文献１等に記載されている。
【０００４】
【特許文献１】
特開平０５−２５３８６７号公報
【０００５】
【発明が解決しようとする課題】歩行に関与する全ての関節を能動的に動かして歩行するロボットの歩容動作には不自然さが感じられる。また歩行するロボットを静止させるには、プラグラムによって静止させる必要があり、人がロボットに手を差し伸べて停止させることが難しい。
【０００６】
【課題を解決するための手段と作用】本発明者らは、足首の関節を自由にすることによって、受動的に揺動する現象を活用することを想到した。能動的に揺動させるのではなく、力を抜いたために自然に揺動する現象を利用するのである。
意図的に能動的に揺動させる現象に比して、自然に受動的に揺動する現象には不自然さがなく、ロボットのダイナミクスに適応した自然な歩容動作が得られる。
また自然に受動的に揺動する現象であるがゆえに、人がロボットに手を差し伸べることによって揺動することを止めることができ、ロボットの歩行を停止させることができる。さらには、自然に受動的に揺動する現象を利用して歩行すると、歩行に要するエネルギも節約できることが判明した。
【０００７】
本発明のロボットは、足首関節を持つ脚リンクが股関節によって胴部に揺動可能に連結されており、その脚リンクが２以上存在する。機械構成自体は既知であるが、そのコントローラが新規で斬新である。本発明のコントローラは、
（１）  接地脚リンクの足首関節を揺動自由とし、
（２）  揺動自由とした関節の関節角を計測し、
（３）  計測された関節角に基づいて残余の関節角を計算し、
（４）  残余の関節角を調整するアクチュエータを制御して、残余の関節角を計算された関節角に調整し、
（５）  脚リンクの先端が接地して浮遊して再度接地する繰返し現象の進行に合わせて揺動自由とする足首関節を切替えることによって、揺動自由とする足首関節を接地脚リンクの側に維持することを特徴とする。
【０００８】
このロボットは、接地脚リンクの足首関節を揺動自由とするために、接地脚リンク自体は自然に受動的に倒れようとする。このときに他の関節角を能動的に調整し、ロボットが転倒する以前に他方の脚リンクが接地して転倒を防止するように制御する。接地脚が入れ代わるために、ロボットは歩を進める。これを繰り返すことによって、ロボットは接地脚を入れ代えながら歩行を続ける。
自然界で受動的に生じる動きを利用して歩行することから自然な歩行動作が得られる。ロボットのダイナミクスに適応した動作を利用して歩行することから、歩行に要するエネルギも節約できる。人がロボットに手を差し伸べて受動的な動きを停止させるとロボットは停止する。人とロボットの共存にも有利であり、高い安全性を確保することができる。
【０００９】
左脚リンクと右脚リンクが股関節によって胴部に揺動可能に連結されているロボットの場合、コントローラが、前記（３）の処理で残余の関節角を計算する際に、下記の関係を利用して計算することが好ましい。即ち、計算された関節角に残余の関節角を調整したときのロボットの重心位置が、
（６）  右脚リンクが遊脚リンクになっている間は、左右の脚リンクの体側方向での接地位置の間において右脚リンクの接地位置に向けて移動し、
（７）  左脚リンクが遊脚リンクになっている間は、左右の脚リンクの体側方向での接地位置の間において左脚リンクの接地位置に向けて移動する関係を満たす関節角を計算する。
【００１０】
この場合、左脚リンクが接地して右脚リンクが遊脚リンクになっている間は、ロボットの重心位置が右脚リンクの接地位置に向けて移動するように残余の関節角が調整されることから、接地脚が受動的に揺動する動きと、遊脚を接地方向に能動的に揺動する動きが複合し、ロボットは自然な感じで歩行する。同様に、右脚リンクが接地して左脚リンクが遊脚リンクになっている間は、ロボットの重心位置が左脚リンクの接地位置に向けて移動するように残余の関節角が調整されることから、接地脚が受動的に揺動する動きと、遊脚を接地方向に能動的に揺動する動きが複合して得られる。
【００１１】
コントローラが、
（８）  接地脚リンクの接地位置よりも股関節が進行方向に前方に位置するように接地脚リンクの足首関節と股関節の進行方向の関節角を調整し、
（９）  股関節よりも遊脚リンクの先端が進行方向に前方に位置するように遊脚リンクの足首関節と股関節の進行方向の関節角を調整するようにすると、
ロボットは左右方向に交互に揺動しながら、接地脚に対して胴を前方に送り、胴に対して遊脚を前方に送る。これによって、ロボットは前方に歩行する。
【００１２】
本発明は、ロボットの新規で斬新な制御方法を創作した。この方法は、
（１）  接地脚リンクの足首関節を揺動自由とする工程と、
（２）  揺動自由とした関節の関節角を計測する工程と、
（３）  計測された関節角に基づいて残余の関節角を計算する工程と、
（４）  残余の関節角を計算された関節角に調整する工程と、
（５）  脚リンクの先端が接地して浮遊して再度接地する繰返し現象の進行に合わせて揺動自由とする足首関節を切替えることによって、揺動自由とする足首関節を接地脚リンクの側に維持する工程とを有する。
【００１３】
この制御方法によると、接地脚リンクが受動的に倒れる動きを利用してロボットが歩行するようになり、自然な歩行動作が得られ、歩行に要するエネルギも節約できる。人がロボットに手を差し伸べて受動的な動きを停止させるとロボットは停止するために、人とロボットの共存にも有利である。
【００１４】
左脚リンクと右脚リンクが股関節によって胴部に揺動可能に連結されているロボットの場合、前記（３）の処理で残余の関節角を計算する際に、下記の関係を利用して計算することが好ましい。即ち、計測された関節角に基づいて残余の関節角を計算する際に、計算された関節角に調整したときのロボットの重心位置が、（６）  右脚リンクが遊脚リンクになっている間は、左右の脚リンクの体側方向での接地位置の間において右脚リンクの接地位置に向けて移動し、
（７）  左脚リンクが遊脚リンクになっている間は、左右の脚リンクの体側方向での接地位置の間において左脚リンクの接地位置に向けて移動する関係を満たす関節角を計算する。
【００１５】
この制御方法によると、左脚リンクが接地して右脚リンクが遊脚リンクになっている間は、ロボットの重心位置が右脚リンクの接地位置に向けて移動するように残余の関節角が調整されることから、接地脚が受動的に揺動する動きと、遊脚を接地方向に能動的に揺動する動きが複合して得られる。同様に、右脚リンクが接地して左脚リンクが遊脚リンクになっている間は、ロボットの重心位置が左脚リンクの接地位置に向けて移動するように残余の関節角が調整されることから、接地脚が受動的に揺動する動きと、遊脚を接地方向に能動的に揺動する動きが複合して得られる。ロボットは自然な感じで歩行する。
【００１６】
前記（３）の処理で残余の関節角を計算する際に、下記の関係を利用して計算することが好ましい。即ち、計測された関節角に基づいて残余の関節角を計算する際に、計算された関節角に調整したときのロボットの重心位置が、
（８）  右脚リンクが遊脚リンクになっている間は左右の脚リンクの体側方向での接地位置の間において右脚リンクの接地位置に向けて移動すると同時に進行方向でも右脚リンクの接地位置に向けて移動し、
（９）  左脚リンクが遊脚リンクになっている間は左右の脚リンクの体側方向での接地位置の間において左脚リンクの接地位置に向けて移動すると同時に進行方向でも左脚リンクの接地位置に向けて移動する関係を満たす関節角を計算する。
【００１７】
この制御方法によると、体側方向においても進行方向においても、左脚リンクが接地して右脚リンクが遊脚リンクになっている間は、ロボットの重心位置が右脚リンクの接地位置に向けて移動するように残余の関節角が調整され、右脚リンクが接地して左脚リンクが遊脚リンクになっている間は、ロボットの重心位置が左脚リンクの接地位置に向けて移動するように残余の関節角が調整されることから、ロボットは左右方向に交互に揺動しながら、接地脚に対して胴を前方に送り、胴に対して遊脚を前方に送る。これによって、ロボットは前方に歩行する。歩行姿勢は自然であり、歩行に要するエネルギは小さくてすむ。また、外部から人が手を差し伸べることによってロボットを停止させることができる。
【００１８】
【実施例】図１は、ロボット２１の機械構成のスケルトン図を示す。股関節に２軸、膝関節に１軸、足首関節に２軸、肩関節に２軸、肘関節に１軸を備えている。各関節にエンコーダ付のモータを備えており、関節角を調整でき、関節角を計測することができる。θ１〜θ１０は関節角を示す。参照番号１７，１８は力センサを示し、１９，２０はホトセンサを示す。ホトセンサ１９，２０は、足平が接地しているのか浮遊しているのかを検出する。
図２は、ロボットのコントローラ２２の構成を示し、エンコーダ１〜１０の出力と、力センサ１７，１８の出力と、ホトセンサ１９，２０の出力を入力する。コントローラ２２は、モータ１〜１０に回転角を指示する。
【００１９】
図３は、歩行するロボットを正面から見た図を示し、（１）は右足で踏ん張っている状態を示し、（ａ）は（１）の状態から左傾して左足が接地する直前の状態を示し、（２）は左足が接地した状態を示し、（３）は（２）の状態からさらに左傾して左足で踏ん張っている状態を示し、（４）は（３）の状態から右傾して右足が接地した状態を示し、（５）は（４）の状態からさらに右傾して右足で踏ん張っている状態を示している。（１）と（５）は同一状態であり、（３）の状態と左右対称であり、（２）と（４）は左右対称である。
このロボット２１は、コントローラ２２によって、図３の（１）、（２）、（３）、（４）、（１）の状態を繰り返して左右に足踏みする動作を実現する。
【００２０】
図２に示すように、コントローラ２２は相判定手段２４をもち、判定された相によって、制御内容を切替える。相は、図３に示すように、状態（１）から（２）までの右脚支持Ａ相と、状態（２）から（３）までの左脚支持Ｂ相と、状態（３）から（４）までの左脚支持Ａ相と、状態（４）から（５）までの右脚支持Ｂ相に分けられている。
【００２１】
図７は、左右に足踏みするロボット２１の、右足首の体側方向の関節の関節角θ９の時間的変化を示し、（１）の状態では−α（これがこの関節の最大関節角）であり、ｋα（ｋは１以下の定数）まで回転すると（２）の状態となって左足が接地し、（３）の状態では＋α（これがこの関節の最大関節角）であり、−ｋαまで回転すると（４）の状態となって右足が接地し、（５）の状態では−αとなって（１）の状態に戻る。
図８は、相判定手段２４による判定処理手順の一例を示し、右足首の体側方向の関節の関節角θ９によって相を判別する。ステップＳ２でθ９＝αであれば、左脚支持Ａ相であると判別する（ステップＳ４）。ステップＳ６でθ９＝−αであれば、右脚支持Ａ相であると判別する（ステップＳ８）。θ９が増大中で−α以上でｋα未満であれば、右脚支持Ａ相であると判別する（ステップＳ１４）。
θ９が増大中でｋα以上であれば、左脚支持Ｂ相であると判別する（ステップＳ１６）。θ９が減少中でα以下で−ｋαよりも大きければ、左脚支持Ａ相であると判別する（ステップＳ２０）。θ９が減少中で−ｋα以下であれば、右脚支持Ｂ相であると判別する（ステップＳ２２）。
この相判定処理手順は一例に過ぎず、他に様々な手順が可能である。力センサ１７，１８やホトセンサ１９，２０の情報を活用して判定することもできる。
【００２２】
図２に示すコントローラ２２は、相判定手段２４の判定結果によって制御内容を切替える。
図２の（１）は、右脚支持状態での制御内容を示す。右脚支持状態では、次にように制御する。
（１）  接地脚の足首の体側方向の関節（この場合θ９）のモータを回転自由とし、勝手に回転するのに任せる。関節θ９を受動関節（フリー関節）とし、受動的に回転するのに任せる。ただし、−αがこの関節の最大関節角であり、それ以上には回転しない。
（２）  受動的に回転する関節角θ９を計測する。
（３）  計測された関節角θ９によって、接地脚の股関節の体側方向の関節の関節角（この場合θ７）を計算する。この計算内容については後記する。
（４）  遊脚の股関節の体側方向の関節の関節角（この場合θ２）を−θ７に等しくする。この結果、接地脚リンクと遊脚リンクが平行に維持される。
（５）  遊脚の足首関節の体側方向の関節の関節角（この場合θ４）をθ９に等しくする。この結果、接地脚の足平と遊脚の足平が平行に維持される。
（６）  膝関節（θ３とθ８）については、膝をまっすぐに伸びした角度（ここではそれをゼロとする）に維持する。
（７）  計測された関節角θ９によって、接地脚の足首関節の進行方向の関節の関節角（この場合θ１０）を計算する。この計算内容については後記する。これによって、接地脚の接地位置に対して股関節の位置が進行方向前方に送られる。
（８）  接地脚の股関節の進行方向の関節の関節角（この場合θ６）を−θ１０に等しくする。胴部が倒れることが防止される。
（９）  遊脚の股関節の進行方向の関節の関節角（この場合θ１）をθ１０に等しくする。これによって、遊脚が進行方向前方に踏み出される。
（１０）  遊脚の足首関節の進行方向の関節の関節角（この場合θ５）を−θ１０に等しくする。これによって、遊脚の足平と接地脚の足平が平行に維持される。
【００２３】
図２の（２）は、左脚支持状態での制御内容を示す。左脚支持状態では、次にように制御する。
（１）  接地脚の足首の体側方向の関節（この場合θ４）のモータを回転自由とし、勝手に回転するのに任せる。関節θ４を受動関節（フリー関節）とし、受動的に回転するのに任せる。ただし、αがこの関節の最大関節角であり、それ以上には回転しない。
（２）  受動的に回転する関節角θ４を計測する。
（３）  計測された関節角θ４によって、接地脚の股関節の体側方向の関節の関節角（この場合θ２）を計算する。この計算内容については後記する。
（４）  遊脚の股関節の体側方向の関節の関節角（この場合θ７）を−θ２に等しくする。この結果、接地脚リンクと遊脚リンクが平行に維持される。
（５）  遊脚の足首関節の体側方向の関節の関節角（この場合θ９）をθ４に等しくする。この結果、接地脚の足平と遊脚の足平が平行に維持される。
（６）  膝関節（θ３とθ８）については、膝をまっすぐに伸びした角度（ここではそれをゼロとする）に維持する。
（７）  計測された関節角θ４によって、接地脚の足首関節の進行方向の関節の関節角（この場合θ５）を計算する。この計算内容については後記する。これによって、接地脚の接地位置に対して股関節の位置が進行方向前方に送られる。
（８）  接地脚の股関節の進行方向の関節の関節角（この場合θ１）を−θ５に等しくする。胴部が倒れることが防止される。
（９）  遊脚の股関節の進行方向の関節の関節角（この場合θ６）をθ５に等しくする。これによって、遊脚が進行方向前方に踏み出される。
（１０）  遊脚の足首関節の進行方向の関節の関節角（この場合θ１０）を−θ５に等しくする。これによって、遊脚の足平と接地脚の足平が平行に維持される。
図２に示すように、ロボットコントローラ２２は、相判定手段２４を備え、判定された相によって、モータ４とモータ９のいずれか一方をフリーとし（２６）、フリ−とした関節の回転角（θ４またはθ９）を計測し（２８）、計測された関節角によってその他のモータの関節角を計算し（３０）、その他のモータの関節角を計算された角に調整する（３４）。その他のモータの関節角を計算するときに、次に説明する重心推移モデル３２を利用する。
【００２４】
図４に示すように、状態（１）で右足が踏ん張ってθ９＝−αに維持されている場合、ロボットの重心位置はＷ１の位置にある。ここでは、重心位置Ｗが左右の股関節の中央にあるとしているが、胴部にあってもかまわない。状態（１）から左傾して左足が接地したときのθ９がｋαであれば、θ９＝ｋαのときのロボットの重心位置はＷ２の位置にある。
状態（１）以降、即ち、右脚支持Ａ相では、フリーにする関節角θ９に応じて重心位置が変化し、θ９＝−αでは重心位置がＷ１にあり、ロボットが左傾するにつれて重心位置がＷ１からＷ２に向けて移動し、θ９＝ｋαのときの重心位置がＷ２にあるようにすれば、状態（１）から状態２に変化する。
ロボットのラテラル面の重心位置は、θ２、θ４、θ７、θ９で決定される。
右脚支持状態では、θ９がフリーであり（計測はできるがアクティブに制御することはしない）、θ４はθ９に等しく、θ２は−θ７に等しくされ、θ７がθ９によって計算される。θ９からθ７を計算するにあたって、計算されたθ７を利用してロボットの姿勢を調節したときのロボットの重心位置が、θ９＝−αのときの重心位置がＷ１にあり、ロボットが左傾するにつれて重心位置がＷ１からＷ２に向けて移動し、θ９＝ｋαのときの重心位置がＷ２にあるようにすれば、ロボットは、状態（１）から状態（２）に変化する。
θ９＝−αのときの重心位置Ｗ１は、右脚の接地位置よりも左方向にあり、それ以上には右傾することがない。ロボットは右側に転倒することがない。重心位置Ｗ１は、右脚の接地位置よりも左方向にあり、関節θ９を自由にすれば左傾する。
【００２５】
図５の（Ａ）式は、θ９からθ７を計算する式を示し、その式を利用してθ７を計算し、計算された関節角θ７に調整すると、ロボットの重心位置は、θ９＝−αのときにＷ１にあり、ロボットが左傾するにつれてＷ１からＷ２に向けて移動し、θ９＝ｋαのときにＷ２に移動する関係が得られる。
【００２６】
図４には、状態（２）から状態（３）における重心位置の推移も示しており、左足が踏ん張ってθ４＝αに維持されているときの重心位置がＷ３で示されている。θ４の変化に追従してθ２、θ７、θ９を制御することによって状態（３）では重心位置がＷ３に来るようにすれば、ロボットは状態（２）から状態（３）に変化する。
左脚支持Ｂ層では、θ４からθ２を計算し、θ７＝−θ２、θ９＝θ４に制御するところ、ロボットの重心位置が、θ４＝−ｋαのときにＷ２にあり、ロボットが左傾するにつれてＷ２からＷ３に向けて移動し、θ４＝αのときにＷ３に移動する関係が得られれば、ロボットは状態（２）から状態（３）に変化する。この場合も、図５の（Ａ）式と類似する式によって、θ４からθ２を計算することができる。
θ４＝αのときの重心位置Ｗ３は、左脚の接地位置よりも右方向にあり、それ以上には左傾することがない。ロボットは左側に転倒することがない。重心位置Ｗ３は、左脚の接地位置よりも右方向にあり、関節θ４を自由にすれば右傾する。
【００２７】
図４には、状態（３）から状態（４）における重心位置の推移も示しており、ロボットが右傾してθ４が−ｋαで右足が接地したときの重心位置がＷ４の位置にあれば、ロボットは状態（３）から状態（４）に変化する。
同様に、状態（４）から状態（１）における重心位置の推移も示しており、ロボットがさらに右傾してθ９が−αで踏ん張っているときの重心位置がＷ１の位置にあれば、ロボットは状態（４）から状態（１）に変化する。
【００２８】
重心位置は、Ｗ１からＷ３の間にあるが、それは、左右の脚リンクの体側方向での接地位置の間Ｌにおいて存在している。左脚リンクが遊脚リンクになっている間の重心位置は、左脚リンクの接地位置に向けて移動し、右脚リンクが遊脚リンクになっている間の重心位置は右脚リンクの接地位置に向けて移動する。
状態（１）から（２）の右脚支持Ａ相では、重心位置が下降するために現象が自然に進行する。状態（２）から（３）の左脚支持Ｂ相では、重心位置が上昇するが、ロボットは状態（１）から（２）で左傾運動をしており、その慣性が存在することから重心位置が上昇する現象が自然に進行する。同様に、状態（３）から（４）の左脚支持Ａ相では、重心位置が下がるために現象が自然に進行する。状態（４）から（１）の右脚支持Ｂ相では、重心位置が上がるが、ロボットは状態（３）から（４）で右傾運動をしており、その慣性が存在することから重心位置が上がる現象が自然に進行する。
【００２９】
状態（１）から（４）の繰返し運動は、三角柱が反発係数１の床の上で振り子運動を繰り返すのに似ており、小さなエネルギで運動を持続することができる。
揺動ないし回転自在とした関節の摩擦がなければ、状態（１）から（４）の繰返し運動が減衰することなく繰り返される。実際には、摩擦が存在する。回転自在とした関節のモータに、摩擦を相殺するだけのトルクを与えることによって、摩擦が存在しない状態を作り出すことができる。本発明で関節をフリーにするというのは、モータに電流を加えないで受動回転を許容するようにすることのみならず、摩擦を相殺するだけのトルクを与えることによって実質的には摩擦が存在しない状態とすることの両者を言う。
【００３０】
状態（１）から（４）の繰返し運動は、左右の脚の足踏み運動を実現する。この左右の脚の足踏み運動に同期して足を踏み出す動作を加えると、ロボットは進行する。このとき、左右の傾動を利用することから遊脚の膝を曲げないでも遊脚は空中を移動する。
図５のＢ式は、右脚接地中における接地脚の足首の進行方向の関節の関節角（この場合θ１０）を示す。この場合、接地脚の股関節の進行方向の関節の関節角θ６を−θ１０とし、遊脚の股関節の進行方向の関節の関節角θ１をθ１０とし、遊脚の足首の進行方向の関節の関節角θ５を−θ１０とすれば、θ１０によって接地脚の接地位置よりも股関節が進行方向前方に位置し、θ６によって胴の傾きが禁止され、θ１によって股関節よりも前方向に遊脚リンクが踏み出され、θ５によって接地脚の足平と遊脚の足平が平行に維持される。図６の下段がそれを示し、ロボットは左右の脚を交互に踏み出して歩行する。左右の足踏み運動と前方への踏み出し運動が複合され、ロボットは自然な感じで歩行する。
【００３１】
以上では、接地脚の足首の体側方向の関節角θ４またはθ９をフリーにし、その変化に追従して残余の関節の関節角を制御する。これによって左右の足踏み運動と前方への踏み出し運動が複合した動作を得ている。
これに代えて、接地脚の足首の進行方向の関節角θ５またはθ１０をフリーにし、その変化に追従して残余の関節の関節角を制御することもできる。このようにしても左右の足踏み運動と前方への踏み出し運動が複合した動作を得ることができる。この場合、進行方向については、ロボットの重心が前方にシフトするように、フリーにした関節角θ５またはθ１０に基づいて残余の関節角をアクティブに制御する。また、体側方向については、右脚接地中はロボットの重心が左方にシフトし、左脚接地中はロボットの重心が右方にシフトするように、フリーにした関節角θ５またはθ１０に基づいて残余の関節角をアクティブに制御する。
接地脚の足首の体側方向の関節角と進行方向の関節角の両者をフリーにしてもよい。接地脚の交替に同期して、関節角θ４とθ５とフリーにする状態と、θ９とθ１０をフリーにする状態を切替える。この場合には、右脚支持相では、θ９とθ１０をフリーにする（ただしθ９の絶対値をαで規制し、θ１０の絶対値をβで規制する）。体側方向の残余の関節θ７、θ２、θ４については、計測された関節角θ９に基づいてアクティブに制御し、進行方向の残余の関節θ６、θ１、θ５については、計測された関節角θ１０に基づいてアクティブに制御する。
左脚支持相では、θ４とθ５をフリーにする（ただしθ４の絶対値をαで規制し、θ５の絶対値をβで規制する）。体側方向の残余の関節θ２、θ７、θ９については、計測された関節角θ４に基づいてアクティブに制御し、進行方向の残余の関節θ１、θ６、θ１０については、計測された関節角θ５に基づいてアクティブに制御する。いずれの場合にも、θ９＝θ４、θ７＝−θ２、θ６＝−θ１、θ１０＝−θ５の関係を維持するようにアクティブに制御する。進行方向については、ロボットの重心が前方にシフトするように、フリーにした関節角θ５またはθ１０に基づいて残余の関節角をアクティブに制御する。また、体側方向については、右脚接地中はロボットの重心が左方にシフトし、左脚接地中はロボットの重心が右方にシフトするように、フリーにした関節角θ４またはθ９に基づいて残余の関節角をアクティブに制御する。計測された関節角に基づいて残余の関節角を計算する際に、計算された関節角に調整したときのロボットの重心位置が、右脚リンクが遊脚リンクになっている間は左右の脚リンクの体側方向での接地位置の間において右脚リンクの接地位置に向けて移動すると同時に進行方向でも右脚リンクの接地位置に向けて移動し、左脚リンクが遊脚リンクになっている間は左右の脚リンクの体側方向での接地位置の間において左脚リンクの接地位置に向けて移動すると同時に進行方向でも左脚リンクの接地位置に向けて移動する関係を満たす関節角を計算することによって、ロボットは歩行を続けることが確認されている。
【００３２】
重心の変化軌跡は様々に設定することが可能であり、図９に示すように、滑らかなカーブ状の軌跡を採用するともできる。接地時の傾斜角、即ち、上記した定数ｋの大小は、実験によってチューニングするべきであり、図１０の（１）の重心軌跡に示すように小さく設定することが好ましいロボットも存在すれば、（２）のように大きく設定することが好ましいロボットも存在する。
【００３３】
以上、本発明の具体例を詳細に説明したが、これらは例示であり、特許請求の範囲を限定するものではない。また、本発明はいくつかの目的を解決するものであり、全部の目的を同時に解決するときに限って有意義なものではなく、一または二の目的を解決するだけで十分に有意義なものである。
【００３４】
【発明の効果】本発明のロボット制御技術によると、受動的で自然に変化する事象を利用して歩行することができる。これは人間の歩行パターンによく一致しており、自然な歩容動作が得られる。またロボットのダイナミクスに無理なく適応しており、小さな消費エネルギで歩行することを可能とする。さらに受動的で自然に変化する現象を利用して歩行することから、人間がその変化を止めてやるとロボットは歩行動作を停止する。人が手を差し伸べることでロボットが停止するために、人とロボットが共存しやすく、高い安全性を確保することができる。
【図面の簡単な説明】
【図１】ロボットの機械構成を示すスケルトン図。
【図２】ロボットのコントローラの構成を示す図。
【図３】ロボットの左右の足踏み運動と、相と、制御内容を対照して示す。
【図４】重心位置の移動軌跡を示す。
【図５】重心位置の移動軌跡を実現する関節角の計算方法を示す。
【図６】ロボットの左右の足踏み運動と、踏み出し運動を対照して示す。
【図７】関節角θ９の時間的変化を示す。
【図８】相判別処理手順の一例を示す。
【図９】重心移動軌跡の別例を示す。
【図１０】重心移動軌跡の他の別例を示す。
【図１１】従来のロボットの教示技術を示す。
【符号の説明】
θ１：左股関節の進行方向の関節
θ２：左股関節の体側方向の関節
θ３：膝関節
θ４：左足首の体側方向の関節
θ５：左足首の進行方向の関節
θ６：右股関節の進行方向の関節
θ７：右股関節の体側方向の関節
θ８：膝関節
θ９：右足首の体側方向の関節
θ１０：右足首の進行方向の関節
【図１】
2004276167.tif 000003
【図２】
2004276167.tif 000004
【図３】
2004276167.tif 000005
【図４】
2004276167.tif 000006
【図５】
2004276167.tif 000007
【図６】
2004276167.tif 000008
【図７】
2004276167.tif 000009
【図８】
2004276167.tif 000010
【図９】
2004276167.tif 000011
【図１０】
2004276167.tif 000012
【図１１】
2004276167.tif 000013