(57)【特許請求の範囲】
【請求項１】
進行面上を少なくとも２つの肢部で移動することが可能なロボットの歩行を制御する方法であって、一歩ごとに、各股関節を、前記股関節に接続された前記肢部の、地面（２１０、２１０’）で支持されている端部を中心とする、ほぼ球形の軌道（２００から２００’、２００’’から２００’’’）の上で動かす、少なくとも１つの、第１のステップと、前記端部を新しい支持点に動かす、第２のステップと、を含み、前記進行面上の前記端部の前記新しい支持点の位置を、前記ロボットの質量中心の速度に基づいて計算するステップを含み、
前記第１および第２のステップの間に別の中間的ステップをさらに含み、前記中間的ステップにおいては、前記地面に支持されている前記肢部の前記端部と前記股関節との間（２１０から２００’）を伸ばすことにより、球形軌道の端部にある前記股関節の位置と、前記次の球形軌道の開始点にある第２の股関節の位置とをつないでいるセグメント（２００’から２００’’）を前記進行面とほぼ平行にすること
を特徴とする制御方法。
【請求項２】
前記ロボットの質量中心を股関節の軸に接続してなる胸部の軸は、垂直方向に対して、ほぼ一定の角度内に収まっているようにサーボ制御されることを特徴とする、請求項１に記載の制御方法。
【請求項３】
前記股関節の軸は、歩行の方向に従ってサーボ制御されることを特徴とする、請求項１に記載の制御方法。
【請求項４】
前記地面に支持されている前記肢部の前記端部と前記股関節との間（２１０から２００’）を伸ばす処理は、前記肢部に設けられている足首関節のピッチごとの制御によって発信される、前記地面上の前記端部の信号に応じて実行されることを特徴とする、請求項１に記載の制御方法。
【請求項５】
前記地面に支持されている前記肢部の前記端部と前記股関節との間（２１０から２００’）を伸ばす処理は、前記膝関節の制御によって発信される、前記地面上の前記端部の信号に応じて実行されることを特徴とする、請求項１に記載の制御方法。
【請求項６】
前記地面に支持されている前記部材の前記端部と前記股関節との間（２１０から２００’）を伸ばす処理は、股関節の中心と、足首の球関節の中心とを通る脚部の方向（４０４）と平行な、前記脚部内のシリンダの制御によって発信される、前記地面上の前記端部の信号に応じて実行されることを特徴とする、請求項１に記載の制御方法。
【請求項７】
前記肢部の端部の信号を発信する時機は、股関節の中心と、足首の球関節の中心とを通る脚部の方向（４０４）の、足裏の表面に垂直な方向（４０２）に対する角度が、前記質量中心の速度と歩行速度設定点とに依存する特性角より大きくなったときであることを特徴とする、請求項４、５、または６のいずれか一項に記載の制御方法。
【請求項８】
信号に基づく処理を可能にする、電動化された関節は、電動機の角速度制限と、歩行速度設定点に対する前記質量中心の速度の比とに応じた角速度傾斜によって制御されることを特徴とする、請求項４、５、または６のいずれか一項に記載の制御方法。
【請求項９】
ロボットの歩行方向への、前記肢部の先端に設けられる足部の移動距離は、同じ方向にある前記質量中心の位置と、前記肢部の長さと、前記足部の長さと、前記歩行方向の、前記質量中心の速度と、からなる群から選択される変数に依存することを特徴とする、請求項１に記載の制御方法。
【請求項１０】
前記歩行方向に垂直な、前記足部の移動距離は、同じ方向にある前記質量中心の位置と、前記歩行方向設定点と、股関節幅と、前記歩行方向に垂直な方向の速度と、前記歩行速度設定点と、からなる群から選択される変数に依存することを特徴とする、請求項９に記載の制御方法。
【請求項１１】
少なくとも１つの脚部の肢部の端部が前記進行面に接触する前に、その脚部の股関節の位置が描く円弧において、股関節が、その円弧に沿って下降するとき、股関節の移動速度が減速するように、前記少なくとも１つの肢部を制御することが可能であることを特徴とする、請求項４、５、または６のいずれか一項に記載の制御方法。
【請求項１２】
進行面上を少なくとも２つの肢部で移動することが可能なロボットであって、一歩ごとに、各股関節を、前記股関節に接続された前記肢部の、地面（２１０、２１０’）で支持されている端部を中心とする、ほぼ球形の軌道（２００から２００’、２００’’から２００’’’）の上で動かすことが可能な、少なくとも１つのモジュールと、前記端部を新しい支持点のほうへ動かすことが可能なモジュールと、を備え、前記進行面上の前記端部の前記新しい支持点の位置を、前記ロボットの質量中心の速度に基づいて計算するモジュールをさらに備えることを特徴とするロボット。
【請求項１３】
前記肢部のうちの少なくとも１つに設けられたシリンダを介し、前記地面に支持されている端部と、前記股関節との間を伸ばす動作を制御することを特徴とする、請求項１２に記載のロボット。
【請求項１４】
前記肢部のうちの１つの少なくとも１つの端部が、少なくとも２つのピボット関節を備えた足部を含み、前記ピボット関節の軸は、互いにほぼ平行であり、前記足部の方向にほぼ垂直であり、前記ピボット関節の軸の１つは前記足部の前端部に近く、他の前記ピボット関節の軸はかかとに近いことを特徴とする、請求項１２に記載のロボット。
【請求項１５】
前記肢部のうちの１つの少なくとも１つの端部が、丸みのある前端部を有する足部を含み、前記足部の形状は、前記足部の前端部が前方に旋回したときに前記かかとの持ち上げが実行されるように設計されていることを特徴とする、請求項１２に記載のロボット。
【請求項１６】
前記ロボットの一部分に結び付けられた座標系の向きを、外部の固定座標系に対してほぼ一定に保つことを可能にする一連の慣性センサをさらに備えることを特徴とする、請求項１２に記載のロボット。
【請求項１７】
胸部または頭部の加速度、線速度、および角速度を正確に測定することと、前記測定から重力中心のベクトル速度を演繹することと、を可能にする一連の慣性センサをさらに備えることを特徴とする、請求項１２に記載のロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットプログラミングシステムの分野に属する。具体的には、本発明は、関節の有無にかかわらず、肢部（手足）を使って移動するロボット（特に人間型または動物型ロボット）の歩行および移動距離の制御に適用される。
【背景技術】
【０００２】
ロボットは、人間の外観および機能性の属性（頭部、体幹部、２つの腕部、あるいは２つの手部、２つの脚部、２つの足部など）がある程度あれば、人間型ロボットと称してよい。１７世紀以来、歩行は、固定ピッチで刻まれる、一定方向に移動するコンパスの脚の進行としてモデリングされてきた（Ｂｏｒｅｌｌｉ  Ｇ．，  １６８５，  Ｄｅ  ｍｏｔｉｕ  ａｎｉｍａｌｉｕｍ，  Ｖｏｌ．  １，  Ｌｅｉｄｅｎ，  Ｔｈｅ  Ｎｅｔｈｅｒｌａｎｄｓ，  Ｌｕｇｄｕｎｉ）。別の、よく用いられるイメージは、逆二重振り子のイメージであり、そのイメージでは、２つの足が、移動している点を構成し、これらの点を中心として、２つの関節付き脚部と股関節との連結部の最上点が、ほぼ歩行方向に弧を描くことによって振動する。
【０００３】
より最近では、上述の歩行のモデリングの原理と、各脚部の挙動が、所与の伸び率および静止時長さ係数を有するバネの挙動にたとえられる往復運動のモデリングの原理とをマージする理論的作業が行われている。
【０００４】
しかしながら、これらの構想を適用しても、長期にわたるロボットの移動を制御することには成功していない。この失敗の理由の１つは、おそらく、逆振り子の原理が、これまで、数歩以上の前進を確実にするために外部エネルギ源から十分な運動エネルギを与えられた物体にしか有効に適用されてこなかったためである。地面に対する足の摩擦に関連する損失を補償するために、ロボットに十分なエネルギを伝達すべく、股関節を電動化することは、実際には、ロボットが氷上をスケートで滑る場合などを除き、十分ではなかった。
【０００５】
肢部に関節があるロボットの設計者のほとんど、特に、ホンダやソニーなどの日本メーカーは、歩行を駆動するために、「ゼロモーメントポイント（ＺＭＰ）」と呼ばれる中心概念の様々な実施形態を利用してきた。この概念によれば、最初に、歩行の方向および速度の目標に従って計画された軌道のあらゆる点における動的平衡条件を満たすための、地面に結び付けられた座標系においてＺＭＰが必要とする軌道を求める。次に、同じ、地面に結び付けられた座標系において、ロボットの末端および間接の各時点の位置を、ＺＭＰ並びにロボットの末端および間接のそれぞれの位置を求める方程式の逆変換によって計算する。このアプローチには、特に次の弱点がある。ｉ）任意の時点でＺＭＰおよびロボットの有効点が位置することが可能な地面の、地面に結び付けられた座標系における地形が既知であることが前提であること。ｉｉ）軌道の計画を完全に計算することが必要であり、このために要求される計算能力が多大であること。このアプローチの弱点を限定的にするために、何年にもわたって、基本概念の様々な改良が提案されてきた。しかしながら、これまでのところ、これらの弱点を全面的に解消できる改良はなかった。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
実際の方向をより良くモデリングすることによる、より効果的なアプローチにより、ＺＭＰを参照せずに、股関節の弾道変位によって駆動される歩行のモデルと、かかとの活性化によってロボットに運動エネルギを供給することと、を組み合わせることによって、上述の問題を解決することが、明らかに、本発明の一目的である。
【課題を解決するための手段】
【０００７】
この目的のために、本発明は、進行面上を少なくとも２つの肢部で移動することが可能なロボットの歩行を制御する方法を開示する。本方法は、一歩ごとに、各股関節を、前記股関節に接続された肢部の、地面で支持されている前記端部を中心とする、ほぼ球形の軌道の上で動かす、少なくとも１つの、第１のステップと、その端部を新しい支持点に動かす、第２のステップと、を含む。また、本方法は、進行面上の前記端部の新しい支持点の位置を、ロボットの質量中心の速度に基づいて計算するステップをさらに含むことを特徴とする。
【０００８】
有利なことに、本発明の方法は、前記第１および第２のステップの間に別の中間的ステップをさらに含み、この中間的ステップにおいては、地面に支持されている肢部の端部と前記股関節との間を伸ばすことが、球形軌道の端部にある前記股関節の位置と、次の球形軌道の開始点にある第２の股関節の位置とをつないでいるセグメントを進行面とほぼ平行にするような値によって強化される。
【０００９】
有利なことに、ロボットの胸部の軸は、垂直方向に対して、ほぼ一定の角度内に収まっているようにサーボ制御される。
【００１０】
有利なことに、股関節の軸は、歩行の方向に従ってサーボ制御される。
【００１１】
有利なことに、地面に支持されている肢部の端部と前記股関節との間を伸ばすことの強化は、前記肢部に設けられている足首関節のピッチごとの制御によってトリガされる、地面上の前記端部のインパルスによって得られる。
【００１２】
有利なことに、地面に支持されている肢部の端部と前記股関節との間を伸ばすことの強化は、膝関節の制御によってトリガされる、地面上の前記端部のインパルスによって得られる。
【００１３】
有利なことに、地面に支持されている部材の端部と前記股関節との間を伸ばすことの強化は、脚部と平行な、脚部内のシリンダの制御によってトリガされる、地面上の前記端部のインパルスによって得られる。
【００１４】
有利なことに、かかとのインパルスがトリガされるのは、脚部の方向の、垂直方向に対する角度が、ＣＯＭの速度と歩行速度設定点とに依存する限界角度より大きくなったときである。
【００１５】
有利なことに、インパルスを可能にする、電動化された関節は、電動機の限界加速度と、歩行速度設定点に対する質量中心の速度の比とに応じた速度傾斜によって制御される。
【００１６】
有利なことに、歩行方向への足部の移動距離は、同じ方向にある質量中心の位置と、肢部の長さと、足部の長さと、歩行方向の、質量中心の速度と、からなる群から選択される変数に依存する。
【００１７】
有利なことに、歩行方向に垂直な、足部の移動距離は、同じ方向にある質量中心の位置と、歩行方向設定点と、股関節幅と、歩行方向に垂直な方向の速度と、歩行速度設定点と、からなる群から選択される変数に依存する。
【００１８】
有利なことに、少なくとも１つの肢部の端部が進行面に接触する前に、この少なくとも１つの肢部の移動が減速するように、この少なくとも１つの肢部を制御することが可能である。
【００１９】
本発明はまた、進行面上を少なくとも２つの肢部で移動することが可能なロボットを開示する。本ロボットは、一歩ごとに、各股関節を、前記股関節に接続された肢部の、地面で支持されている端部を中心とする、ほぼ球形の軌道の上で動かすことが可能な、少なくとも１つのモジュールと、前記端部を新しい支持点のほうへ動かすことが可能なモジュールと、を含む。本ロボットはさらに、進行面上の前記端部の新しい支持点の位置を、本ロボットの質量中心の速度に基づいて計算するモジュールを含むことを特徴とする。
【００２０】
有利なことに、少なくとも１つの肢部が、前記肢部の軸と平行な軸を有するシリンダを含む。
【００２１】
有利なことに、前記肢部のうちの１つの少なくとも１つの端部が、少なくとも２つのピボット関節を有する足部を含み、これらのピボット関節の軸は、互いにほぼ平行であり、足部の方向にほぼ垂直であり、これらのピボット関節の軸の１つは足部の前端部に近く、他の軸はかかとに近い。
【００２２】
有利なことに、前記肢部のうちの１つの少なくとも１つの端部が、丸みのある前端部を有する足部を含み、この足部の形状は、足部の前端部が前方に旋回したときにかかとの持ち上げがトリガされるように設計されている。
【００２３】
有利なことに、本発明によるロボットは、本ロボットの一部分に結び付けられた座標系の向きを、外部の固定座標系に対してほぼ一定に保つことを可能にする一連の慣性センサをさらに含む。
【００２４】
有利なことに、本発明によるロボットは、胸部または頭部の加速度、線速度、および角速度を正確に測定することと、この測定から重力中心のベクトル速度を演繹することと、を可能にする一連の慣性センサをさらに含む。
【００２５】
本発明を実装するためには、安定化に直接関係しない地面の形状が既知であることは必須ではない。このことは、進行面が（階段のように）平坦または規則的である場合には、特に問題にはならない。面が不均一な場合には、実装が非常に困難になり、不可能ですらある。本発明によれば、後で明らかになるように、地面の形状を知ることなく、ロボットの位置を固定ガリレイ座標系内で決定することが可能であり、外部座標系に対して安定化されたロボットの座標系の中で歩行移動を制御することが可能である。
【００２６】
さらに、本発明の実施形態の１つに従って製造されるロボットは、ＺＭＰで歩行を制御される先行技術のロボットの速度より高い移動速度が可能である。実際には、先行技術のロボットの場合、ロボットは、その移動速度を、オンボードプロセッサの計算能力に合わせなければならない。オンボードプロセッサは、移動軌道の予測計算を連続的に行わなければならないことから要求が厳しく、移動軌道の予測計算は、加速力の動向のモデリング（プレビューコントローラ）に依存するため、複雑である。このことは、本発明に従って製造されるロボットの場合には当てはまらず、したがって、同じ計算能力でも、より迅速に移動することが可能である。したがって、身長１．３ｍで脚の長さが約７０ｃｍであるロボットであれば、時速５ｋｍの速度を達成することが望ましい。
【００２７】
さらに、移動する足部の未来の位置を正確に特定しなくても歩行を制御することが可能である。これに対し、ＺＭＰの計算の場合は、両足部の位置、およびこれらの位置における地面からの反力が正確にわかっていることが必須である。
【００２８】
本発明にはまた、人間の真の歩行を非常に忠実に再現するという利点がある。これにより、ロボットの移動をより実際的に表現すること、ならびに、ロボットの挙動を、人間の挙動に非常によく似せてプログラミングすることが可能である。したがって、本発明の一実施形態によれば、ジャンプや、場合によっては前方または後方への宙返りを伴うジャンプを行えるようにロボットをプログラミングすることも、十分に想定可能である。
【００２９】
以下の、いくつかの例示的実施形態の説明および添付図面によって、本発明がよりよく理解され、その様々な特徴や利点が明らかになるであろう。
【図面の簡単な説明】
【００３０】
【図１】一先行技術文書による、ロボットの歩行を制御するアルゴリズムの原理を示す図である。
【図２】本発明の一実施形態において実装される歩行モデルの二次元の概略図であって、移動軸に垂直な方向から見た図であり、各主要関節および質量中心を含む図である。
【図３】本発明の一実施形態においてロボットの歩行を制御するために用いる主な特性点を示す、ロボットの概略図である。
【図４】本発明の一実施形態においてロボットの歩行を制御するために用いる主な点、軸、および角度を示す、ロボットの概略図である。
【図５】図４の足部周辺の部分の詳細図である。
【図６】歩行中のインパルス段階においてかかとを持ち上げることを可能にして本発明の方法を実装するための、ロボットの足部の第１の実施形態を示す概略図である。
【図７】足部の前部に位置するピボット関節を用いて本発明の方法を実装するための、ロボットの足部の第２の実施形態を示す概略図である。
【図８】本発明の一実施形態による、ロボットの脚部、股関節、および質量中心の各軌道の側面図である。
【図９】本発明の一実施形態による、ロボットの２つの脚部、２つの股関節、および質量中心の各軌道を、前方斜め４５度から見た図である。
【図１０】本発明の一実施形態に従って本発明を実装するためのコンピュータ処理動作のフロー図である。
【発明を実施するための形態】
【００３１】
図１は、一先行技術文書による、ロボットの歩行を制御するアルゴリズムの原理を示す。
【００３２】
これは、人間型ロボットである。
【００３３】
図１は、１９９４年１０月１８日にタケナカら（ホンダ）に許諾された米国特許第５３５７４３３号明細書からのものである。この特許は、ＺＭＰアルゴリズムの実装に関する。動力学の基本原理によれば、質量中心１００において合成される、慣性力１０１のモーメントと重力１０２のモーメントとの和は、地面と接触している足の裏にかかる反力のモーメントと均衡するはずである。これらの条件によって、ＺＭＰの一連の目標位置１０４が決まり、これらは、質量中心と反力がかかる点とを結ぶ慣性軸と、地面との交点に位置する。実際のＺＭＰは、ロボットの実際の移動によって決まる。ロボットの移動は、実際のＺＭＰの軌道を、目標ＺＭＰの軌道に合わせるように制御される。これを行うためには、地面の反力の向き（したがって、地面の表面の向き）が既知でなければならない。本発明は、ロボットの別の安定条件を活用することにより、この既知情報を不要にすることが可能である。
【００３４】
図２は、本発明の一実施形態において実装される歩行モデルの二次元の概略図であって、移動軸に垂直な方向から見た図であり、各主要関節および質量中心を含む図である。
【００３５】
図２では、一方の股関節の移動を、４つの位置２００、２００’、２００’’、および２００’’’で追うことが可能であり、この脚部の足部は、地面２１０における第１の位置から、地面２１０’における第２の位置へ移動する。足部がその第１の支持点２１０にある間に、股関節は、第１の円弧（２００から２００’）を、２１０を中心とする球の表面に描く。並行して、第２の足部（図示せず）が、それまでの支持点から新しい支持点（点２１０’）へ移動する。その新しい支持点に到達すると、対応する股関節が、第２の円弧（２００’’から２００’’’）を描く。これに付随して、（考慮されている簡略化されたモデルでは）ロボットのすべての質量が集中している質量中心（ｃｅｎｔｅｒ  ｏｆ  ｍａｓｓ（ＣＯＭ））が、軌道２３０、２３０’、２３０’’、２３０’’’をたどる。この軌道も、連続する複数の球の円弧であり、図２では、それらの球の中心のうちの１つ（位置２００、２１０、２３０に対応する球の中心）に、参照符号２４０を付している。これら２つの移動は、弾道的である。すなわち、点２００’と点２００’’との間の遷移の際に、第２の球の上に「登る」ためにエネルギを損失することがないのであれば、これらの移動は、外部エネルギの寄与がなくても存続しうるものである。本発明によれば、外部エネルギは、この登ることのために本システムに与えられる。このエネルギの寄与により、一歩ごとに股関節が進行面に対してあるレベルより低くなることを回避できる。したがって、この移動は持続される。このエネルギの寄与を発生させるには、いくつかの方法がある。これらの方法の共通点は、この寄与中に、股関節と、対応する肢部の、地面上の支持点との間の距離が伸ばされることである。すなわち、図から判るように、２１０から２００’’までの長さは、２１０から２００’までの長さより長い。このように伸ばすためには、たとえば、必要な時点にインパルスをトリガするようにアクチュエートされるシリンダを各肢部に設けることが可能である。また、弾道段階ではロボットの膝関節を曲げたままに保ち、これを広げてインパルスを引き起こすことによって、伸ばすことも可能である。より人間の歩行に似せる場合は、様々な、かかとを持ち上げるモードを与えることも可能である。これらのモードでは、地面に付いている肢部（つま先、すなわち、足部の丸い前端部）の支持点と、股関節との間を伸ばす。これらの様々な伸ばし方は、図２の領域２２０で起こる、歩行に対するエネルギ寄与をもたらすものであり、これについては、本明細書の後半で、特に図６および７を参照して説明する。有利なことに、球の円弧上の下降は、既に減速されていると考えてよく、このことは、実際の人間の歩行動作に対応している。
【００３６】
図３は、本発明の一実施形態においてロボットの歩行を制御するために用いる主な特性点を示す、ロボットの概略図である。
【００３７】
この前方斜め４５度から見た図は、歩行の制御を可能にする、主な要素の相対的な位置づけを示している。骨盤を描いている軸の端部に位置する各股関節は、歩行中に、連続する球の円弧である軌道を描く。これらの円弧をつないでいる段階の間に、前頭面と平行な軸を有する足首のピボット関節によって与えられるインパルスを介して、一方の脚部にインパルスが与えられ、この結果、足部の、この関節を支持している部分が、足部の前方に位置するピボット関節のまわりを回転する。視覚的には、この移動は、支持足部のかかとの持ち上げに対応する。ＣＯＭは、２つの股関節の、球の円弧上の移動距離と、骨盤の、胸部のまわりの回転運動と、の両方によって決まる軌道をたどり、これによって、歩行の方向を駆動することが可能になる。これについて、本明細書では、後で、特に図１０を参照して説明する。
【００３８】
図４は、本発明の一実施形態においてロボットの歩行を制御するために用いる主な点、軸、および角度を示す、ロボットの概略図である。
【００３９】
図中の各参照符号は、以下の要素を示す。
−４００：足部の方向。足首のロールピボットの方向でもある。
−４０２：足裏の表面に垂直な方向。上方を向いている（必ずしも垂直方向ではない）。
−４０１：４００および４０２に垂直。これにより、軸（４００、４０１、４０２）の系は、直接正規直交座標系を構成する。
−４０３：足首のピッチピボットの方向。
−４０４：脚部の方向。股関節２００の中心と点４０８とを通る直線で与えられる。
−４０５：４０８およびＣＯＭを通る直線。さらに転じて、この直線の方向。
−４０６：左右の股関節の中心を通る直線（骨盤の軸）。さらに転じて、この直線の方向。
−４０７：４０６と直交する方向。前方を向く。
−４０８：直線４００、４０１、および４０２の交点に位置する足首の球関節の中心。
−４３０：胸部の方向を象徴する直線。
−４５０：地面（必ずしも水平ではない）。
−４５１：垂直方向。
【００４０】
静止姿勢では、方向４０２および４０４（それぞれ４０１および４０３）は同一である。
【００４１】
この脚部−股関節−胸部システムは、図４では、脚部４０４が股関節２００に接続されていて、股関節２００は、骨盤の半分によって胸部４３０の軸に接続されていて、骨盤は、胸部４３０の軸に垂直であるようにモデリングされている。質量中心ＣＯＭ  ２３０は、軸４３０上に位置する。中間にある固形物の質量は、無視してよいものとする。本ロボットは、質量中心ＣＯＭ  ２３０に位置する単発質量にたとえられる。
【００４２】
以下の説明では、本ロボットの各点の移動を、地面によって支持されている、本ロボットの足部に結び付けられた座標系で識別する。この、足首４０８を中心とする座標系では、軸４００は、足部の軸の方向を定義しており、軸４０１は、足裏に平行、かつ、４００に垂直で、足首４０８を通る軸の方向を定義しており、軸４０２は、２つの直線４００、４０１で形成される平面に垂直な、上向きの方向を定義している。歩行中は、これらの参照（４０８、４００、４０１、４０２）が、連続するガリレイ座標系を構成する。各弾道段階の開始点に固定される、このガリレイ座標系において、質量中心の速度を算出する。質量中心は、非ガリレイ座標系（座標系Ｒ０）の中心である。これによって、次の足部位置を、一歩ごとに、それ以前およびそれ以後の位置と無関係に計算することが可能であり、したがって、軌道を求める必要がない（ＺＭＰ計算では軌道を求めることが必要であった）。したがって、動力学の基本原理の方程式を解くことには意味がない。このため、必要なのは、たとえば、慣性ユニットだけであり、より一般的には、レートジャイロと加速度計の組み合わせがあればよい。これらのセンサを、たとえば、胸部内または頭部内に配置することが可能であるが、これは、可能な限り安定した状態に保つ必要がある。したがって、地面を認識して、そこから垂直方向を演繹することは不要になる。足首４０８と質量中心ＣＯＭとを通る方向４０５がそうであるように、方向４０４も定義され、これは脚部と同一直線上にある。
【００４３】
本発明の実施形態の１つでは、胸部軸４３０の方向は、（たとえば）慣性ユニットにとって既知である垂直方向に対する角度がほぼ一定になるようにサーボ制御されており、これは、上記慣性ユニットを可能な限り安定化するために行われる。股関節４０６の軸の移動も、この軸が足部の座標系の軸４００と成す角度４１０によって制御される。単なる例であるが、たとえば、この角度４１０に適用される設定点を、未来の支持足部が配置される時点で、角度４１０が、未来の支持足部と実際の足部とが成す角度の半分になるように設定することが可能である。
【００４４】
図５は、図４の足部周辺の部分の詳細図である。この図は、以下の参照符号が追加されている。
−５００：（４００、４０３、５００）が直接正規直交座標系であるような方向。したがって、５００は、４００を中心とする角度５０１の回転を４０２に適用した結果である。
−５０１：４００を中心とする回転の角度。これは、足首のロール角度である。静止時の位置は、方向４０３が方向４０１と同じになり、５００が４０２と同じになるように定義されている。
−５０２：４０３を中心とする回転の角度。これは、足首のピッチ角度である。静止時の位置は、方向４０４が方向５００と同じになるように定義されている。
【００４５】
一実施形態では、本ロボットは、以下の３つの関節を足部内に有する。
−足部の移動をピッチ（歩行面内のピッチ角度５０２）に関して制御することを可能にする（点４０８に位置する）関節。
−足部の移動をロール（静止時の股関節面内のロール角度５０１）に関して制御することを可能にする関節。
−足部の前部（つま先とも称する）の移動を、地面に対するピッチ（歩行面内のピッチ角度）に関して制御することを可能にするピボット。
【００４６】
点４０８に位置する２つの関節（足首の関節）は電動化されており、足部の前部の関節は、受動的であっても電動化してもよい。同様に、股関節は、（たとえば、３つのピボットまたは平行運動システムによって）電動機駆動される球関節を優先的に含む。この股関節の電動機駆動は、垂直方向に対する胸部４３０の軸の角度がほぼ一定になるようにサーボ制御すること、ならびに、股関節４０６の移動をサーボ制御することを可能にしなければならない。これらの電動機の動力については、歩行の所望の反応度に応じて設計される。有利なことに、これらの制御は、本出願の出願人によって出願された、関節付き肢部を用いる移動ロボットのための３レベル制御／命令アーキテクチャに関する仏国特許出願第０８／０１９５６０００号明細書で開示されているようなコンピュータシステムによって可能である。第１の処理装置が、高レベル命令を生成して、第２の処理装置に渡す。第２の処理装置は、電動機制御基板との通信を管理する。
【００４７】
本発明の一実施形態では、歩行の解を求めるために、本システムは、次の２つの段階を経て解決される。
−第１の段階では、かかとは地面にある。本システムは、脚部と、質量中心ＣＯＭを股関節の軸に接続している胸部軸とからなる、質量を持たないセグメントから質量中心ＣＯＭにかかるロボットの質量からなる。本システムにかかる外力は、重量（ＣＯＭにあるロボットの質量にかかる重力）と、地面に対する足部の平坦支持の結果としての力（ほぼ４０５に従う向きの反力）との結果である。
−第２の段階では、本システムは、前出のシステムに足部が追加されて構成される。制御パラメータは、角度５０２である。この制御パラメータは、たとえば、足首のピッチ関節の電動機の角速度傾斜によって与えられ、この角速度傾斜は、たとえば、電動機の角加速度制限と、歩行速度設定点に対する質量中心の速度の比とに依存してよい。有利なことに、この設定点は、トルクとして与えられる。実際のねらいは、エネルギを本システムに伝達することであり、したがって、移動の方向に力を伝達することである。トルクを制御することにより、本システムに与えられるエネルギは、より細かく制御される。さらに、足首の位置にかかわらず、かかとを持ち上げるためには、足首に力をかける必要があるため、位置ごとの制御は複雑である。これは、最初に足首の位置および速度を測定してから、傾斜をこの動作点から確立しなければならないためである。これらの計算は、より複雑であるため、Ｎｍ単位で測定されるトルクごとの制御を適用するよりも、多大な計算能力を必要とする。
【００４８】
これら２つの段階に関しては、本システムに適用される「動力学の基本原理（ＦＰＤ）」を書くことによって得られる移動方程式を解くことが可能であろう。しかしながら、以下の計算は必須ではない。すなわち、弾道段階は、特定の命令の適用を必要としないため、計算しなくてよい。また、互いに独立なインパルス制御段階に関しては、軌道計算は不要であり、強度のパラメータおよびインパルスをトリガするタイミングのパラメータだけを計算すればよい。最後に、次の一歩における足部の位置も、弾道段階の選択された時点において取得されるＣＯＭの速度に基づいて、計算しなければならない。
【００４９】
これらの要素の算出を可能にする様々な計算について、本明細書の後半で、図１０を参照しながら説明する。
【００５０】
図６は、歩行中のインパルス段階においてかかとを持ち上げることを可能にして本発明の方法を実装するための、ロボットの足部の第１の実施形態を示す概略図である。
【００５１】
図７は、足部の前部に位置するピボット関節を用いて本発明の方法を実装するための、ロボットの足部の第２の実施形態を示す概略図である。
【００５２】
これら２つの図は、相異なる実施形態を示している。
【００５３】
これらの図は、以下の参照符号が追加されている。
−６００：前部シリンダ６０３の軸。
−６００’：ピボット７００の軸。
−６０４：後部シリンダ６０４の軸。
−６０３：かかとを持ち上げることを可能にする前部シリンダ。
−６０４：足部の先端部を持ち上げることを可能にする後部シリンダ。
−７００：足部とつま先との間のピボット。
【００５４】
ロボットの足部は、足部の前部および後部を中心とするピッチ移動が可能であるように構成しなければならない。これを行うために、ロボットの各足部は、軸６００に属する前部シリンダ６０３（または、軸６００’に属するピボットつま先７００）および軸６０１に属する後部シリンダ６０４によって有利に構成されており、軸６００（または６００’）、６０１は、足裏と平行であって、足部４００の方向に垂直である。
【００５５】
例示的足部（図６および図７）の一方または他方によるピッチ移動は、既述の足首のピッチ関節電動機の駆動動作に従う本システムの動力学の結果である。足部の前端部が丸い場合には、つま先にピボットがなくても、質量中心の速度によって運動エネルギが生成され、これによって、支持肢部を伸ばすことが容易になる（「サンドバッグ」効果）。一方、図７の変形実施形態において与えられているピボットの動作は、したがって、インパルスをトリガすることをより良く制御し、支持点の安定性を向上させることを可能にするものであり、したがって、設定点に対する歩行速度をより良く調節することが可能にするものである。
【００５６】
図８は、本発明の一実施形態による、ロボットの脚部、股関節、および質量中心の各軌道の側面図である。
【００５７】
図中の各参照符号は、以下の要素を示す。
−８０１：弾道段階。
−８０２：インパルス段階。
−８０３：弾道段階８０１の間の支持脚部の股関節の軌道。
−８０４：インパルス段階８０２の間の支持脚部の股関節の軌道。
−８０５：弾道段階８０１の間のＣＯＭの軌道。
−８０６：インパルス段階８０２の間のＣＯＭの軌道。
−８０７：（かかとを持ち上げる）インパルス段階の間の足部。
【００５８】
図８では、ロボットの歩行を、以下のように概略的に表している（一歩ごとの支持脚部のみを表示している）。
−質量中心ＣＯＭは、局所的には、股関節によって描かれる球に対してオフセットした球の円弧上に軌道を描く。
−股関節が描く円弧は、（図４において参照符号４０８で示した）足首の中心に中心がある球の表面に描かれる。
−脚部は、支持点が地面にある間に逆振り子のように振動して、一歩ずつ前進する。各逆振り子の間に、足首のインパルス段階がある。
【００５９】
この例では、平均歩行速度は約１．４５ｍ／秒であり、一歩の継続時間は約０．２５秒である。
【００６０】
図９は、本発明の一実施形態による、ロボットの両脚部、両股関節、および質量中心の各軌道を、前方斜め４５度から見た図である。
【００６１】
この図は、歩行が進行する様子を、より見やすくしたものである。具体的には、質量中心は、地面に付いている肢部が変位する間に描かれる球の各円弧の間にかかとによって与えられるインパルスによって平滑化された垂直平面内の軌道をたどる。歩行は、設定点の方向に進行する。したがって、この歩行は「擬似人間的」であり、これが本発明の目的の１つである。
【００６２】
図示した実施形態では、歩行を、機能面から、以下の３つの段階に分解している。
−「擬似自由」段階。この段階では、足首は、移動を駆動しない。これは弾道段階であって、この段階では、股関節は、この段階に入る際の速度および位置で決まる弾道軌道をたどる。軌道の制御は、足首を電動化して、ピッチにおける乾燥摩擦および粘性摩擦の影響を減らし、ロールを多かれ少なかれ遅くすることにより行う。既定では、足首の関節のクラッチを切ることが可能である。
−インパルス段階。この段階では、エネルギを歩行にもたらす。この段階の間に、足首のピッチを（たとえば、速度傾斜により）制御する。
−次の足部を反応的に位置決めする段階。これは、反応的歩行である。歩行アルゴリズムは、一歩ごとに、次の足部位置を決定する。この位置の決定は、（特定のキー位置で選択された）重力中心の速度および加速度、方向が「高レベル」の設定点、および速度が「高レベル」の設定点を考慮に入れることにより行う。
【００６３】
図１０は、本発明の一実施形態に従って本発明を実装するためのコンピュータ処理動作のフロー図である。
【００６４】
この図は、歩行制御アルゴリズムを示しており、本発明の一実施形態では、全体制御変数１００１、１００２と、センサデータ記憶メモリから得られるデータ１００３、１００４、１００５、１００６、１００７を示している。処理モジュールは、これらを託されて、電動機基板に送るべき状態変数および設定点を生成する。これらの設定点は、ロボットの処理装置によって処理されるスタックに記憶される。各変数の意味は、次のとおりである。
−１００１：歩行速度設定点。
−１００３：膝関節位置。
−１００４：膝関節角速度。
−１００５：座標系Ｒｏにおける胴部の向きの角度（Ｒｏは安定化された「水平方向」であることを理解されたい）。
−１００６：支持脚部の関節位置。
−１００７：支持脚部の関節速度。
−１００８：インパルス／インパルスなし状態変数。
−１００９：インパルスパラメータ（これらの生成に用いる処理動作の説明において詳述）。
−１０１０：脚部が支持されているか、自由かの状態変数。
−１０１２：次の足部のデカルト位置設定点。
−１０１３：胸部中心の位置および速度。
−１０１４：脚部が支持モードであるときの足首ピッチトルク設定点。
−１０１４：脚部が支持モードであるときの足首ロールトルク設定点。
−１０１６：脚部が支持モードであるときの膝関節ピッチトルク設定点。
−１０１７：脚部が支持モードであるときの膝関節ピッチ位置設定点。
−１０１８：脚部が支持モードであるときの股関節ピッチ位置設定点。
−１０１９：脚部が支持モードであるときの股関節ロール位置設定点。
−１０２０：脚部が支持モードであるときの股関節ヨー位置設定点。
−１０２１：脚部が自由であるときの股関節位置設定点（１０１８と同じ変数）。
−１０２２：脚部が自由であるときの股関節ロール位置設定点（１０１９と同じ変数）。
−１０２３：脚部が自由であるときの股関節ヨー位置設定点（１０２０と同じ変数）。
−１０２４：脚部が自由であるときの膝関節ピッチ位置設定点（１０１７と同じ変数）。
−１０２５：脚部が自由であるときの足首ピッチトルク設定点（１０１４と同じ変数）。
−１０２６：脚部が空中にあるときの足首ロールトルク設定点（１０１５と同じ変数）。
−１０２７：慣性ユニットデータ。
−１０２８：胴部方向設定点。
−１０２９：歩行方向設定点。
−１０３０：足部の下にある圧力センサまたは足部上にある力センサからのデータ。
−１０３１：脚部電動機電流測定値。
【００６５】
図１０の中央部にある各ボックスは、それぞれが、以下のタイプの、処理動作の一部を実行する。
−第１のグループのモジュールは、状態変数（たとえば、インパルスの有無（１００８）や、脚部の状態が支持モードか自由か（１００９）など）の判定に用いる。これらのモジュールは、図の左上部分に位置する（「インパルス判定アルゴリズム」および「脚部が支持されているか、自由かの判定」）。第１のモジュールは、設定点パラメータの生成にも使用することを理解されたい。
−第２のグループのモジュールは、ロボットの上部について位置計算を実行することに用いる（図の左下部分）。
−第３のグループのモジュールは、足首関節および膝関節のトルク制御を生成することに用いる（図の右上部分）。
−第４のグループのモジュールは、脚部が支持姿勢にあるときの膝関節および股関節の位置制御と、脚部が自由であるときの位置的関節制御とをを生成する事に用いる（図の右下部分）。脚部が自由であるときは、いくつかの関節は位置ごとに制御され、他の関節はトルクごとに制御されることを理解されたい。
【００６６】
以下では、主モジュールに実装する計算アルゴリズムについて、詳細に説明する。
−「脚部が支持されているか、自由かの判定」モジュール：
このモジュールは、参照符号１０１０の２つの状態変数ｒｉｇｈｔ＿ｌｅｇ＿ｓｔａｔｅおよびｌｅｆｔ＿ｌｅｇ＿ｓｔａｔｅを返す。
各変数は、２値、すなわち、ｓｕｐｐｏｒｔおよびｆｒｅｅという値をとることが可能である。
【００６７】
この判定は、電動機電流の測定値同士、および足部上の力センサまたは足裏の下の圧力センサの値同士を比較することによって行う。
−「インパルス判定アルゴリズム」モジュール：
このモジュールは、全体の歩行速度設定点Ｖ＿ｓｅｔｐｏｉｎｔ（ｍ／秒）を入力として取得する。限定ではない例として、０．５〜１．５ｍ／秒の設定点速度を設定することが可能である。
【００６８】
インパルスは、以下に示す、いくつかの特性角（単位はラジアン）から判定され、これらの数値は、典型的な状況を示すために与えられる。ただし、本発明は、これらの値によって測定される状況にのみ当てはまると見なしうるものではない。
・ｂａｓｅ＿ｃｏｎｅ＿ａｎｇｌｅ（基本円錐角）。たとえば、０．２６２ｒｄ（１５°）のように取得され、平均的な一歩に対応する。
・ｆｒｉｃｔｉｏｎ＿ｃｏｎｅ＿ａｎｇｌｅ（摩擦円錐角）＝ａｒｃｔａｎ（０．３）。垂直面の粘着力に対応する。
・ｃｏｒｒｅｃｔｅｄ＿ｃｏｎｅ＿ａｎｇｌｅ（補正円錐角）＝ｂａｓｅ＿ｃｏｎｅ＿ａｎｇｌｅ＊（１−ｍａｘ（０．３，０．２＊Ｖ＿ｓｅｔｐｏｉｎｔ／ｎｏｒｍ（Ｖ＿ｃｏｍ）））。この中の式Ｖ＿ｃｏｍは、質量中心の速度である。この補正により、達成される速度に対するロボットの速度を考慮することが可能である。ロボットの移動があまり高速でない場合、ロボットは加速しなければならず、したがって、（既に始まっている）インパルス段階が長くなり、したがって、円錐角が小さくなる。移動が高速すぎる場合、補正は逆になる。いずれにしても、この補正は有界である。
・ａｎｇｌｅ＿１（角度１）＝方向４０２および４０５が成す角度。
・ａｎｇｌｅ＿２（角度２）＝方向４０２および４０４が成す角度。
【００６９】
どの時点でインパルスを開始すべきかは、次の２つのルールを適用して決定する。
ＩＦ（ａｎｇｌｅ＿１＞ｆｒｉｃｔｉｏｎ＿ｃｏｎｅ＿ａｎｇｌｅ）→インパルスをトリガする。
ＩＦ（ａｎｇｌｅ＿２＞ｃｏｒｒｅｃｔｅｄ＿ｃｏｎｅ＿ａｎｇｌｅ）かつＩＦ（Ｖ＿Ｚ＿ｃｏｍ＜０）→インパルスをトリガする（この式で、Ｖ＿Ｚ＿ｃｏｍは、質量中心の、垂直軸上の速度を示す）。
【００７０】
次に、インパルス力を求める。たとえば、インパルス段階において足首をサーボ制御するためのパラメータを、「速度台形」型制御により求めることが可能である。
Ｉｍｐｕｌｓｅ＿ｓｐｅｅｄ＿ｃｏｅｆ（インパルス速度係数）＝Ｖ＿ｓｅｔｐｏｉｎｔ／ｎｏｒｍ（Ｖ＿ｃｏｍ）
Ａｎｋｌｅ＿ｐｉｔｃｈ＿ａｃｃ＿ｓｅｔｐｏｉｎｔ（足首ピッチ加速度設定点）＝−ｍａｘ（ａｂｓ（ｐｉｔｃｈ＿ｍａｘ＿ａｃｃｅｌｅｒａｔｉｏｎ），０．５＊Ｉｍｐｕｌｓｅ＿ｓｐｅｅｄ＿ｃｏｅｆ＊ｐｉｔｃｈ＿ｍａｘ＿ａｃｃｅｌｅｒａｔｉｏｎ）
Ａｎｋｌｅ＿ｐｉｔｃｈ＿ｓｐｅｅｄ＿ｓｅｔｐｏｉｎｔ（足首ピッチ速度設定点）＝−ｍａｘ（ａｂｓ（ｐｉｔｃｈ＿ｍａｘ＿ｓｐｅｅｄ），０．５＊Ｉｍｐｕｌｓｅ＿ｓｐｅｅｄ＿ｃｏｅｆ＊ｐｉｔｃｈ＿ｍａｘ＿ｓｐｅｅｄ）
【００７１】
足首が開いているため（足部が下がっているため）、加速度および速度は負である。
−「次の足部位置の計算」モジュール：
【００７２】
このモジュールは、入力として、以下を受け取る。
・参照符号１０１３の変数セット、すなわち、質量中心ＣＯＭの位置（Ｘ＿ｃｏｍ，Ｙ＿ｃｏｍ，Ｚ＿ｃｏｍ）、およびＣＯＭの速度（Ｖ＿Ｘ＿ｃｏｍ，Ｖ＿Ｙ＿ｃｏｍ，Ｖ＿Ｚ＿ｃｏｍ）。
・グローバル歩行方向制御変数ｄｉｒｅｃｔｉｏｎ＿ｓｅｔｐｏｉｎｔ（−１と１の間の実数）。
【００７３】
したがって、本発明の実装を可能にする重要な要素の１つは、ＣＯＭの位置および速度を求めることである。これらの要素に、ロボットの物理特性を組み合わせ、歩行の方向および速度の設定点を含めれば、軌道の履歴や軌道の今後の進行を考慮することなく、ロボットの動的平衡と適合する、動作中の肢部の新しい位置が十分求められる。したがって、これらは、複雑な軌道計算を必要としない瞬時特性である。ロボットの動的平衡は、普通の不均一な進行面と適合しており、不均一さが管理可能かどうかは、ＣＯＭの位置および速度の測定精度に大きく依存する。この測定精度は、本明細書でこの後に示す手段によって確保できる。
【００７４】
支持足部の座標系では、ベクトルおよび他の座標が表される。すなわち、中心４０８と軸４００、４０１、および４０２とからなる正規直交座標系である。
【００７５】
このモジュールの出力では、参照符号１０１２の変数（Ｘ＿ｎｅｘｔ＿ｆｏｏｔ，Ｙ＿ｎｅｘｔ＿ｆｏｏｔ，Ｚ＿ｎｅｘｔ＿ｆｏｏｔ）および変数ｎｅｘｔ＿ｆｏｏｔ＿ｄｉｒｅｃｔｉｏｎ、すなわち、ｎｅｘｔ＿ｆｏｏｔ＿ｄｉｒが回復される。
【００７６】
以下のパラメータを、本発明の例示的動作条件に対応する数値で定義する。ただし、これらの条件は、限定的であると見なしうるものではない。
・ｌ＿ｆｏｏｔ：足部の長さ
・ｌ＿ｌｅｇ：脚部の長さ
・Ｋｙ＝−０．５
・Ｋｘ＝０．２５
・Ｋｖｘ＝０．０１７５＊Ｖ＿Ｘ＿ｃｏｍ
・Ｋｖｙ＝３＊Ｖ＿Ｙ＿ｃｏｍ／ｎｏｒｍ（Ｖ＿ｃｏｍ）
・Ｙ＿ｏｆｆｓｅｔは、骨盤の符号付き半幅であって、支持脚部が左脚部の場合はＹ＿ｏｆｆｓｅｔ＞０、支持脚部が右脚部の場合はＹ＿ｏｆｆｓｅｔ＜０である。
・ｍａｘ＿ｆｏｏｔ＿ａｎｇｌｅ（最大足部角）＝π／４
【００７７】
Ｘ＿ｎｅｘｔ＿ｆｏｏｔ（Ｘ＿次の足部）およびＹ＿ｎｅｘｔ＿ｆｏｏｔ（Ｙ＿次の足部）を求める計算は、次のようになる。
Ｘ＿ｎｅｘｔ＿ｆｏｏｔ＝Ｘ＿ｃｏｍ＋ｌ＿ｆｏｏｔ＋（Ｋｘ＋Ｋｖｘ）＊ｌ＿ｌｅｇ
Ｙ＿ｎｅｘｔ＿ｆｏｏｔ＝Ｙ＿ｃｏｍ＋ｍｉｎ（Ｋｙ＊Ｙ＿ｏｆｆｓｅｔ＋（Ｋｖｙ−ｄｉｒｅｃｔｉｏｎ＿ｓｅｔｐｏｉｎｔ）＊ａｂｓ（Ｙ＿ｏｆｆｓｅｔ），−０．１＊ａｂｓ（Ｙ＿ｏｆｆｓｅｔ））  （左足部の場合）
Ｙ＿ｎｅｘｔ＿ｆｏｏｔ＝Ｙ＿ｃｏｍ＋ｍａｘ（Ｋｙ＊Ｙ＿ｏｆｆｓｅｔ＋（Ｋｖｙ−ｄｉｒｅｃｔｉｏｎ＿ｓｅｔｐｏｉｎｔ）＊ａｂｓ（Ｙ＿ｏｆｆｓｅｔ），０．１＊ａｂｓ（Ｙ＿ｏｆｆｓｅｔ））  （右足部の場合）
【００７８】
足部に応じてｍｉｎまたはｍａｘとするねらいは、足部が、股関節に対して、骨盤の中心の反対側に配置されることを回避するためである。
【００７９】
以下も当てはまる。
Ｚ＿ｎｅｘｔ＿ｆｏｏｔ（Ｚ＿次の足部）＝０．０
ｎｅｘｔ＿ｆｏｏｔ＿ｄｉｒ＝ａｒｃｓｉｎ（Ｖ＿Ｙ＿ｃｏｍ／ｎｏｒｍ（Ｖ＿ｃｏｍ））＋ｄｉｒｅｃｔｉｏｎ＿ｓｅｔｐｏｉｎｔ＊ａｎｇｌｅ＿ｍａｘ＿ｆｏｏｔ
【００８０】
実際には、地面が既知ではないため、接触が起こるのは、厳密に求められた時点においてではなく、したがって、計算によって求められたＸ＿ｎｅｘｔ＿ｆｏｏｔおよびＹ＿ｎｅｘｔ＿ｆｏｏｔにおいてではないが、この点から非常に近い場所である（地面の形状が平坦ではないものの、ほどほどである場合）。
−「胴部方向計算」モジュール：
【００８１】
胴部の方向の計算も、歩行方向に基づく、骨盤の方向の計算である。
【００８２】
支持足部の座標系では、ベクトルおよび他の座標が表される。すなわち、中心４０８と軸４００、４０１、および４０２とからなる正規直交座標系である。
【００８３】
この機能は、グローバル歩行方向制御変数＝ｄｉｒｅｃｔｉｏｎ＿ｓｅｔｐｏｉｎｔ（−１と１の間の１つの実数）を入力として取得する。
【００８４】
図４の参照符号４１０の角度を、角度ｄｉｒ＿ｔｈｏｒａｘとする。
【００８５】
たとえば、単一支持段階の終わりに、ｔｈｏｒａｘ＿ｄｉｒ＿ａｎｇｌｅ＝ｎｅｘｔ＿ｆｏｏｔ＿ｄｉｒ／２となるように骨盤の向きの設定点を選択することが可能であり、これは、一歩の出力において、骨盤を、足部間の角度の半分だけ、次の足部のほうに向けることを要求することと同等であり、これは「自然な」前進に対応する。
【００８６】
設定点を適用するためには、様々な可能性があり、たとえば、次のものがある。
Ｖ＿ｐｅｌｖｉｓ＿ｒｏｔ＿ｓｅｔｐｏｉｎｔ＝ｄｉｒｅｃｔｉｏｎ＿ｓｅｔｐｏｉｎｔ＊Ｖ＿ｐｅｌｖｉｓ＿ｍａｘ＿ｒｏｔ  Ｖ＿ｓｅｔｐｏｉｎｔ＊ｃｏｅｆ＊ａｎｇｌｅ  ｔｈｏｒａｘ＿ｄｉｒ（一歩の開始時点で測定）。
ただし、Ｖ＿ｐｅｌｖｉｓ＿ｒｏｔがＶ＿ｐｅｌｖｉｓ＿ｒｏｔ＿ｓｅｔｐｏｉｎｔと異なる場合は、ｐｅｌｖｉｓ＿ｒｏｔ＿ａｃｃ＝ｐｅｌｖｉｓ＿ｒｏｔ＿ｍａｘ＿ａｃｃ。
【００８７】
この結果は、次のように、骨盤角度誤差に対して設定点を固定することによっても達成可能である。
ｐｅｌｖｉｓ＿ａｎｇｌｅ＿ｅｒｒｏｒ（骨盤角度誤差）＝ｎｅｘｔ＿ｆｏｏｔ＿ｄｉｒ／２−ａｎｇｌｅ  ｔｈｏｒａｘ＿ｄｉｒ
Ｖ＿ｐｅｌｖｉｓ＿ｒｏｔ＿ｓｅｔｐｏｉｎｔ＝Ｋｐ＊ｐｅｌｖｉｓ＿ａｎｇｌｅ＿ｅｒｒｏｒ
ｐｅｌｖｉｓ＿ｖｒｏｔ＿ｅｒｒｏｒ＝Ｖ＿ｐｅｌｖｉｓ＿ｒｏｔ＿ｓｅｔｐｏｉｎｔ−Ｖ＿ｐｅｌｖｉｓ＿ｒｏｔ
ｐｅｌｖｉｓ＿ｒｏｔ＿ａｃｃ＝Ｋｖ＊ｐｅｌｖｉｓ＿ｖｒｏｔ＿ｅｒｒｏｒ
【００８８】
また、トルクまたは位置に関して制御を適用すべきかどうかを決定することも必要である。たとえば、原則として、膝関節位置ごとの制御がトルクごとの制御より優先されるのは、（一方の脚部が支持し、他方の脚部は自由である）単一支持姿勢においてのみであり、これは、脚部をぴんと張った状態を保持できるようにするためである。
【００８９】
このように、歩行に必要な電動機基板制御パラメータはすべて求められる。
【００９０】
本発明の移動ロボットの歩行を制御する方法は、２つの関節付き下肢部を有し、各肢部にある程度の自由度が与えられている人間型ロボットに植え付けることが可能である。このロボットは、有利なことに、３段階のアーキテクチャによって制御され、２つの処理装置を有し、１つは、サーバを有する通信リンクで送信されるであろう高レベル命令を生成する処理装置であり、もう１つは、高レベル命令の翻訳、ならびに関節電動機制御基板への高レベル命令の送信に特化された処理装置である。第１の処理装置は、ＰＣ型の中央ユニットであってよい。第２の処理装置は、（たとえば、ＡＲＭ（商標）ブランドの）縮小命令セット（ＲＩＳＣ）プロセッサであってよい。この第２の処理装置のクロックレートは、所望の歩行速度と適合するように選択しなければならない。具体的には、人間の歩行と似せるために、数ミリ秒の周期性に従って命令を発生させることを可能にするクロックを有利に選択する。バスおよび通信プロトコルも、この歩行速度目標に適合するものでなければならない。本発明の方法が実装される人間型ロボットの歩行速度は、その脚部の長さにも依存する。
【００９１】
既に示したように、ロボットには、胸部および股関節軸の方向を所望の歩行精度でサーボ制御することを可能にするセンサを設ける必要があり、所望の歩行精度自体は、多かれ少なかれ、進行面の通常の性質によって決まる。この精度は、高品質の慣性ユニット、または、各測定値を組み合わせることが可能なセンサ群によって得られる。
【００９２】
ロボットの各脚部は、かかとを安定的に持ち上げることが可能であるように作る必要がある。各脚部は、たとえば、図６および７に示したように有利に作られる。すなわち、足部をその場で回転できるように作られるが、これは、本発明では限定ではない。歩行の制御の質は、足部以外の下部関節の自由度（少なくとも、角度に関して２、各股関節に２、さらに、骨盤内で結合されている１（有利なことに、各股関節における３つ目の自由度））にも依存し、かつ、有利なことに、下部関節をトルクごとに制御できること、または自由段階の間に下部関節のクラッチを切ることができることにも依存する。
【００９３】
上述の各例は、本発明の実施形態を例示するために、簡潔な形で示してある。これらは、後述の特許請求項で定義される本発明の範囲を限定するものではまったくない。
【図１】
0005803039.tif 000002
【図２】
0005803039.tif 000003
【図３】
0005803039.tif 000004
【図４】
0005803039.tif 000005
【図５】
0005803039.tif 000006
【図６】
0005803039.tif 000007
【図７】
0005803039.tif 000008
【図８】
0005803039.tif 000009
【図９】
0005803039.tif 000010
【図１０】
0005803039.tif 000011