(57)【特許請求の範囲】
【請求項１】
本体（４０８）であって、
１つまたは複数の可動エンドエフェクタ（４２２、４２４）を含む上側本体セクション（４０８ｂ）と、
表面に接触するように構成された１つまたは複数の脚（４０４、４０６）を含む下側本体セクション（４０８ａ）と、
前記上側本体セクション（４０８ｂ）および下側本体セクション（４０８ａ）を結合する中間本体セクション（４０８ｃ）と
を含む本体（４０８）と、
１つまたは複数のプロセッサを用いて実施される制御システム（４１７）であって、前記制御システム（４１７）は
前記可動エンドエフェクタ（４２２、４２４）のうちの少なくとも１つを動作させるように構成された上側本体制御システム（４１７ｂ）であって、前記少なくとも１つの可動エンドエフェクタ（４２２、４２４）は、前記上側本体制御システム（４１７ｂ）による前記動作に基づくエンドエフェクタ力を経験し、前記中間本体セクション（４０８ｃ）は、前記エンドエフェクタ力に基づく第１の中間本体直線力または第１の中間本体モーメントのうちの少なくとも１つを経験する、上側本体制御システム（４１７ｂ）と、
前記少なくとも１つの可動エンドエフェクタ（４２２、４２４）の前記動作に応答して前記１つまたは複数の脚（４０４、４０６）を動作させるように構成された下側本体制御システム（４１７ａ）であって、前記１つまたは複数の脚（４０４、４０６）は、前記下側本体制御システム（４１７ａ）による前記動作に基づく前記表面からのそれぞれの反力を経験し、前記中間本体セクション（４０８ｃ）は、前記反力に基づく第２の中間本体直線力または第２の中間本体モーメントのうちの少なくとも１つを経験する、下側本体制御システム（４１７ａ）と
を含む、制御システム（４１７）と
を含み、前記下側本体制御システム（４１７ａ）は、前記第２の中間本体直線力が前記第１の中間本体直線力とバランスをとり、前記第２の中間本体モーメントが前記第１の中間本体モーメントとバランスをとるようにするために、前記１つまたは複数の脚（４０４、４０６）を動作させる
ロボット・システム（４００）。
【請求項２】
前記上側本体制御システム（４１７ｂ）は、前記第１の中間本体直線力および前記第１の中間本体モーメントに関する情報を前記下側本体制御システム（４１７ａ）に通信する、請求項１に記載のロボット・システム（４００）。
【請求項３】
前記上側本体制御システム（４１７ｂ）は、前記中間本体セクション（４０８ｃ）に結合された仮想リンクとして前記下側本体セクション（４０８ａ）を処理する、請求項１または請求項２に記載のロボット・システム（４００）。
【請求項４】
前記下側本体制御システム（４１７ａ）は、前記１つまたは複数の脚（４０４、４０６）の前記動作に基づく自由度の第１のセットに従って前記中間本体セクション（４０８ｃ）を位置決めするようにさらに構成され、前記上側本体制御システム（４１７ｂ）は、前記少なくとも１つの可動エンドエフェクタ（４２２、４２４）の前記動作に基づく自由度の第２のセットに従って前記中間本体セクション（４０８ｃ）を位置決めするようにさらに構成され、前記上側本体制御システム（４１７ｂ）は、自由度の前記第１のセットに従って前記中間本体セクション（４０８ｃ）の位置決めを制約される、請求項１から請求項３のいずれかに記載のロボット・システム（４００）。
【請求項５】
前記中間本体セクション（４０８ｃ）を位置決めするための自由度の前記第１のセットは、第１の軸および第２の軸に沿った並進を含み、前記中間本体セクション（４０８ｃ）を位置決めするための自由度の前記第２のセットは、３つの軸の回りの回転および第３の軸に沿った並進を含む、請求項４に記載のロボット・システム（４００）。
【請求項６】
前記下側本体セクション（４０８ａ）は、２つの脚（４０４、４０６）からなり、各脚（４０４、４０６）は、前記表面に直接に接触するように構成された足（４１０、４１２）を含み、
前記足（４１０、４１２）の所与の位置に関して、前記制御システム（４１７）は、前記第２の中間本体直線力が前記第１の中間本体直線力とバランスをとることができ、前記第２の中間本体モーメントが前記第１の中間本体モーメントとバランスをとることができるかどうかを判定し、
前記第２の中間本体直線力が前記第１の中間本体直線力とバランスをとることができない、または前記第２の中間本体モーメントが前記第１の中間本体モーメントとバランスをとることができないとの判定に応答して、前記下側本体制御システム（４１７ａ）は、前記表面上で前記足（４１０、４１２）のうちの少なくとも１つを再位置決めする
請求項１から請求項５のいずれかに記載のロボット・システム（４００）。
【請求項７】
前記下側本体制御システム（４１７ａ）は、歩行に従って前記足（４１０、４１２）のうちの前記少なくとも１つの前記再位置決めを調整する、請求項６に記載のロボット・システム（４００）。
【請求項８】
前記下側本体制御システム（４１７ａ）は、前記１つまたは複数の脚（４０４、４０６）が歩行に従って移動している間に、前記少なくとも１つの可動エンドエフェクタ（４２２、４２４）の前記動作に応答して前記１つまたは複数の脚（４０４、４０６）を動作させる、請求項１から請求項７のいずれかに記載のロボット・システム（４００）。
【請求項９】
ロボット・システム（４００）を制御する方法（５００）であって、前記ロボット・システム（４００）は、本体（４０８）を含み、前記本体（４０８）は、
１つまたは複数の可動エンドエフェクタ（４２２、４２４）を含む上側本体セクション（４０８ｂ）と、
表面に接触するように構成された１つまたは複数の脚（４０４、４０６）を含む下側本体セクション（４０８ａ）と、
前記上側本体セクション（４０８ｂ）および前記下側本体セクション（４０８ａ）を結合する中間本体セクション（４０８ｃ）と、
１つまたは複数のプロセッサを用いて実施される制御システム（４１７）であって、前記制御システム（４１７）は、下側本体制御システム（４１７ａ）および上側制御システム（４１７ｂ）を含む、制御システム（４１７）と
を含み、前記方法（５００）は、
上側本体制御システム（４１７ｂ）を用いて、前記可動エンドエフェクタ（４２２、４２４）のうちの少なくとも１つを動作させることであって、前記少なくとも１つの可動エンドエフェクタ（４２２、４２４）は、前記上側本体制御システム（４１７ｂ）による前記動作に基づくエンドエフェクタ力を経験し、前記中間本体セクション（４０８ｃ）は、前記エンドエフェクタ力に基づく第１の中間本体直線力または第１の中間本体モーメントのうちの少なくとも１つを経験する、動作させることと、
前記下側本体制御システム（４１７ａ）を用いて、前記少なくとも１つの可動エンドエフェクタ（４２２、４２４）の前記動作に応答して前記１つまたは複数の脚（４０４、４０６）を動作させることであって、前記１つまたは複数の脚（４０４、４０６）は、前記下側本体制御システム（４１７ａ）による前記動作に基づく前記表面からのそれぞれの反力を経験し、前記中間本体セクション（４０８ｃ）は、前記反力に基づく第２の中間本体直線力または第２の中間本体モーメントのうちの少なくとも１つを経験する、動作させることと
を含み、前記下側本体制御システム（４１７ａ）は、前記第２の中間本体直線力が前記第１の中間本体直線力とバランスをとり、前記第２の中間本体モーメントが前記第１の中間本体モーメントとバランスとをとるようにするために、前記１つまたは複数の脚（４０４、４０６）を動作させる
方法（５００）。
【請求項１０】
前記第１の中間本体直線力および前記第１の中間本体モーメントに関する情報を前記上側本体制御システム（４１７ｂ）から前記下側本体制御システム（４１７ａ）に通信することをさらに含む、請求項９に記載の方法（５００）。
【請求項１１】
前記上側本体制御システム（４１７ｂ）を用いて、前記中間本体セクション（４０８ｃ）に結合された仮想リンクとして前記下側本体セクション（４０８ａ）を抽象化することをさらに含む、請求項９または請求項１０に記載の方法（５００）。
【請求項１２】
前記下側本体制御システム（４１７ａ）を用いて、前記１つまたは複数の脚（４０４、４０６）の前記動作に基づく自由度の第１のセットに従って前記中間本体セクション（４０８ｃ）を位置決めすることと、
前記上側本体制御システム（４１７ｂ）を用いて、前記少なくとも１つの可動エンドエフェクタ（４２２、４２４）の前記動作に基づく自由度の第２のセットに従って前記中間本体セクション（４０８ｃ）を位置決めすることと
をさらに含み、前記上側本体制御システム（４１７ｂ）は、自由度の前記第１のセットに従って前記中間本体セクション（４０８ｃ）の位置決めを制約される、請求項９から請求項１１のいずれかに記載の方法（５００）。
【請求項１３】
前記中間本体セクション（４０８ｃ）を位置決めするための自由度の前記第１のセットは、第１の軸および第２の軸に沿った並進を含み、前記中間本体セクション（４０８ｃ）を位置決めするための自由度の前記第２のセットは、３つの軸の回りの回転および第３の軸に沿った並進を含む、請求項１２に記載の方法（５００）。
【請求項１４】
前記下側本体セクション（４０８ａ）は、２つの脚（４０４、４０６）からなり、各脚（４０４、４０６）は、前記表面に直接に接触するように構成された足（４１０、４１２）を含み、前記方法（５００）は、
前記足（４１０、４１２）の所与の位置に関して、前記制御システム（４１７）を用いて、前記第２の中間本体直線力が前記第１の中間本体直線力とバランスをとることができ、前記第２の中間本体モーメントが前記第１の中間本体モーメントとバランスをとることができるかどうかを判定することと、
前記第２の中間本体直線力が前記第１の中間本体直線力とバランスをとることができない、または前記第２の中間本体モーメントが前記第１の中間本体モーメントとバランスをとることができないとの判定に応答して、前記下側本体制御システム（４１７ａ）を用いて、前記表面上で前記足（４１０、４１２）のうちの少なくとも１つを再位置決めすることと
をさらに含む、請求項９から請求項１３のいずれかに記載の方法（５００）。
【請求項１５】
前記下側本体制御システム（４１７ａ）を用いて、歩行に従って前記表面上で前記足（４１０、４１２）のうちの前記少なくとも１つの前記再位置決めを調整することをさらに含む、請求項１４に記載の方法（５００）。
【請求項１６】
歩行に従って前記１つまたは複数の脚（４０４、４０６）を移動することをさらに含み、前記少なくとも１つの可動エンドエフェクタ（４２２、４２４）の前記動作に応答する前記１つまたは複数の脚（４０４、４０６）の動作は、前記歩行中に発生する、請求項９から請求項１５のいずれかに記載の方法（５００）。
【請求項１７】
本体（４０８）であって、
１つまたは複数の可動エンドエフェクタ（４２２、４２４）を含む上側本体セクション（４０８ｂ）と、
表面に接触するように構成された１つまたは複数の脚（４０４、４０６）を含む下側本体セクション（４０８ａ）と、
前記上側本体セクション（４０８ｂ）および下側本体セクション（４０８ａ）を結合する中間本体セクション（４０８ｃ）と
を含む本体（４０８）と、
１つまたは複数のプロセッサを用いて実施される制御システム（４１７）であって、前記制御システム（４１７）は、
前記可動エンドエフェクタ（４２２、４２４）のうちの少なくとも１つを動作させるように構成された上側本体制御システム（４１７ｂ）であって、前記少なくとも１つの可動エンドエフェクタ（４２２、４２４）は、前記上側本体制御システム（４１７ｂ）による前記動作に基づくエンドエフェクタ力を経験し、前記中間本体セクション（４０８ｃ）は、少なくとも１つのエンドエフェクタ力に基づく第１の中間本体直線力または第１の中間本体モーメントを経験する、上側本体制御システム（４１７ｂ）と、
前記第１の中間本体直線力または前記第１の中間本体モーメントに基づいて前記１つまたは複数の脚（４０４、４０６）を動作させるように構成された下側本体制御システム（４１７ａ）であって、前記１つまたは複数の脚（４０４、４０６）は、前記下側本体制御システム（４１７ａ）による前記動作に基づく前記表面からのそれぞれの反力を経験し、前記中間本体セクション（４０８ｃ）は、前記反力に基づく第２の中間本体直線力または第２の中間本体モーメントのうちの少なくとも１つを経験する、下側本体制御システム（４１７ａ）と
を含み、
前記下側本体制御システム（４１７ａ）は、前記第２の中間本体直線力が前記第１の中間本体直線力とバランスをとり、前記第２の中間本体モーメントが前記第１の中間本体モーメントとバランスをとるようにするために前記１つまたは複数の脚（４０４、４０６）を動作させ、
前記上側本体制御システム（４１７ｂ）は、中間本体セクション（４０８ｃ）に結合された仮想リンクとして前記下側本体セクション（４０８ａ）を処理し、
前記下側本体制御システム（４１７ａ）は、前記１つまたは複数の脚（４０４、４０６）の前記動作に基づく自由度の第１のセットに従って前記中間本体セクション（４０８ｃ）を位置決めするようにさらに構成され、前記上側本体制御システム（４１７ｂ）は、前記少なくとも１つの可動エンドエフェクタ（４２２、４２４）の前記動作に基づく自由度の第２のセットに従って前記中間本体セクション（４０８ｃ）を位置決めするようにさらに構成され、前記上側本体制御システム（４１７ｂ）は、自由度の前記第１のセットに従って前記中間本体セクション（４０８ｃ）の位置決めを制約される
ロボット・システム（４００）。
【請求項１８】
前記上側本体制御システム（４１７ｂ）は、前記第１の中間本体直線力および前記第１の中間本体モーメントに関する情報を前記下側本体制御システム（４１７ａ）に通信する、請求項１７に記載のロボット・システム（４００）。
【請求項１９】
前記下側本体セクション（４０８ａ）は、２つの脚（４０４、４０６）からなり、各脚（４０４、４０６）は、前記表面に直接に接触するように構成された足（４１０、４１２）を含み、
前記足（４１０、４１２）の所与の位置に関して、前記制御システム（４１７）は、前記第２の中間本体直線力が前記第１の中間本体直線力とバランスをとることができ、前記第２の中間本体モーメントが前記第１の中間本体モーメントとバランスをとることができるかどうかを判定し、
前記第２の中間本体直線力が前記第１の中間本体直線力とバランスをとることができない、または前記第２の中間本体モーメントが前記第１の中間本体モーメントとバランスをとることができないとの判定に応答して、前記下側本体制御システム（４１７ａ）は、前記表面上で前記足（４１０、４１２）のうちの少なくとも１つを再位置決めする
請求項１８に記載のロボット・システム（４００）。
【請求項２０】
本体（４０８）であって、
上側本体セクション（４０８ｂ）と、
表面に接触するように構成された１つまたは複数の脚（４０４、４０６）を含む下側本体セクション（４０８ａ）と、
前記上側本体セクション（４０８ｂ）および下側本体セクション（４０８ａ）を結合する中間本体セクション（４０８ｃ）と
を含む本体（４０８）と、
１つまたは複数のプロセッサを用いて実施される制御システム（４１７）であって、前記制御システム（４１７）は、
上側本体セクション（４０８ｂ）を動作させるように構成された上側本体制御システム（４１７ｂ）であって、前記上側本体セクション（４０８ｂ）は、前記上側本体制御システム（４１７ｂ）による前記動作に応答して上側本体力を経験し、前記中間本体セクション（４０８ｃ）は、前記上側本体力に基づく第１の中間本体直線力または第１の中間本体モーメントのうちの少なくとも１つを経験する、上側本体制御システム（４１７ｂ）と、
前記１つまたは複数の脚（４０４、４０６）を動作させるように構成された下側本体制御システム（４１７ａ）であって、前記１つまたは複数の脚（４０４、４０６）は、前記下側本体制御システム（４１７ａ）による前記動作に基づく前記表面からのそれぞれの反力を経験し、前記中間本体セクション（４０８ｃ）は、前記反力に基づく第２の中間本体直線力または第２の中間本体モーメントのうちの少なくとも１つを経験する、下側本体制御システム（４１７ａ）と
を含む、制御システム（４１７）と
を含み、
前記下側本体制御システム（４１７ａ）は、前記第２の中間本体直線力が前記第１の中間本体直線力とバランスをとり、前記第２の中間本体モーメントが前記第１の中間本体モーメントとバランスをとるようにするために前記１つまたは複数の脚（４０４、４０６）を動作させる
ロボット・システム（４００）。
【請求項２１】
前記上側本体セクション（４０８ｂ）は、１つもしくは複数の可動エンドエフェクタ（４２２、４２４）または１つもしくは複数の可動腕（４１８、４２０）を含み、前記上側本体制御システム（４１７ｂ）は、前記１つもしくは複数の可動エンドエフェクタ（４２２、４２４）または前記１つもしくは複数の可動腕（４１８、４２０）を移動することによって上側本体セクション（４０８ｂ）を動作させるように構成され、前記１つもしくは複数の可動エンドエフェクタ（４２２、４２４）または前記１つもしくは複数の腕（４１８、４２０）の移動は、上側本体力をもたらす、請求項２０に記載のロボット・システム（４００）。
【請求項２２】
前記上側本体制御システム（４１７ｂ）は、上側本体セクション（４０８ｂ）を動作させる前に、上側本体力、前記第１の中間本体直線力、および前記第１の中間本体モーメントを判定し、前記下側本体制御システム（４１７ａ）は、上側本体セクション（４０８ｂ）を動作させる前に判定された前記第１の中間本体直線力および前記第１の中間本体モーメントに基づいて前記１つまたは複数の脚（４０４、４０６）を動作させる、請求項２０または請求項２１に記載のロボット・システム（４００）。
【請求項２３】
前記上側本体セクション（４０８ｂ）は、１つまたは複数の可動エンドエフェクタ（４２２、４２４）を含み、前記上側本体制御システム（４１７ｂ）は、前記可動エンドエフェクタ（４２２、４２４）のうちの少なくとも１つを動作させることによって上側本体セクション（４０８ｂ）を動作させるように構成され、上側本体力は、前記少なくとも１つの可動エンドエフェクタ（４２２、４２４）に作用するエンドエフェクタ力を含み、前記上側本体制御システム（４１７ｂ）は、前記少なくとも１つの可動エンドエフェクタ（４２２、４２４）を動作させる前に前記エンドエフェクタ力を判定し、前記下側本体制御システム（４１７ａ）は、前記少なくとも１つの可動エンドエフェクタ（４２２、４２４）を動作させる前に判定された前記エンドエフェクタ力に基づいて前記１つまたは複数の脚（４０４、４０６）を動作させる、請求項２２に記載のロボット・システム（４００）。
【発明の詳細な説明】
【背景技術】
【０００１】
［0001］  ロボットは、地面上でロボットのバランスをとるか地面に沿ってロボットを移動するように動作可能な複数の脚を含むことができる。ロボットは、ロボットが物体を操作するか荷重を支持することを可能にする１つまたは複数のエンドエフェクタをも含むことができる。
【発明の概要】
【０００２】
［0002］  例の実施態様によれば、ロボットは、そのエンドエフェクタを動作させている間に、表面上でそれ自体のバランスを動的にとるために、その脚を動作させることができる。脚が、表面（たとえば、地面）に接触する時に、脚は、表面に力を印加し、表面からの反力を経験する。ロボットは、脚を動的に制御することができ、その結果、反力は、ロボットが、エンドエフェクタの動作をサポートするバランスを維持することを可能にするようになる。エンドエフェクタの動作中に脚によって提供される動的バランシングは、実際の人間による実際の動きによりよく似た全身マニピュレーション（ｗｈｏｌｅ  ｂｏｄｙ  ｍａｎｉｐｕｌａｔｉｏｎ）を構成する。
【０００３】
［0003］  例の実施態様によれば、ロボット・システムは、本体を含む。本体は、１つまたは複数の可動エンドエフェクタを含む上側本体セクションと、表面に接触するように構成された１つまたは複数の脚を含む下側本体セクションと、上側本体セクションおよび下側本体セクションを結合する中間本体セクションとを含む。ロボット・システムは、１つまたは複数のプロセッサを用いて実施される制御システムをも含む。制御システムは、エンドエフェクタのうちの少なくとも１つを動作させるように構成された上側本体制御システムを含む。少なくとも１つのエンドエフェクタは、上側本体制御システムによる動作に基づくエンドエフェクタ力を経験する。中間本体セクションは、エンドエフェクタ力に基づく第１の中間本体直線力または第１の中間本体モーメントのうちの少なくとも１つを経験する。制御システムは、少なくとも１つのエンドエフェクタの動作に応答して１つまたは複数の脚を動作させるように構成された下側本体制御システムを含む。１つまたは複数の脚は、下側本体制御システムによる動作に基づく表面からのそれぞれの反力を経験する。中間本体セクションは、反力に基づく第２の中間本体直線力または第２の中間本体モーメントのうちの少なくとも１つを経験する。下側本体制御システムは、第２の中間本体直線力が第１の中間本体直線力とバランスをとり、第２の中間本体モーメントが第１の中間本体モーメントとバランスをとるようにするために、１つまたは複数の脚を動作させる。
【０００４】
［0004］  別の例の実施態様によれば、ロボット・システムは、本体を含む。本体は、１つまたは複数の可動エンドエフェクタを含む上側本体セクションと、表面に接触するように構成された１つまたは複数の脚を含む下側本体セクションと、上側本体セクションおよび下側本体セクションを結合する中間本体セクションとを含む。ロボット・システムは、１つまたは複数のプロセッサを用いて実施される制御システムを含む。制御システムは、下側本体制御システムおよび上側本体制御システムを含む。ロボット・システムを制御する方法は、上側本体制御システムを用いて、エンドエフェクタのうちの少なくとも１つを動作させることを含む。少なくとも１つのエンドエフェクタは、上側本体制御システムによる動作に基づくエンドエフェクタ力を経験する。中間本体セクションは、エンドエフェクタ力に基づく第１の中間本体直線力または第１の中間本体モーメントのうちの少なくとも１つを経験する。この方法は、下側本体制御システムを用いて、少なくとも１つのエンドエフェクタの動作に応答して１つまたは複数の脚を動作させることを含む。１つまたは複数の脚は、下側本体制御システムによる動作に基づく表面からのそれぞれの反力を経験する。中間本体セクションは、反力に基づく第２の中間本体直線力または第２の中間本体モーメントのうちの少なくとも１つを経験する。
【０００５】
［0005］  さらに別の例の実施態様によれば、ロボット・システムは、本体を含む。本体は、１つまたは複数の可動エンドエフェクタを含む上側本体セクションと、表面に接触するように構成された１つまたは複数の脚を含む下側本体セクションと、上側本体セクションおよび下側本体セクションを結合する中間本体セクションとを含む。ロボット・システムは、１つまたは複数のプロセッサを用いて実施される制御システムを含む。制御システムは、エンドエフェクタのうちの少なくとも１つを動作させるように構成された上側本体制御システムを含む。少なくとも１つのエンドエフェクタは、上側本体制御システムによる動作に基づくエンドエフェクタ力を経験する。中間本体セクションは、少なくとも１つのエンドエフェクタ力に基づく第１の中間本体直線力または第１の中間本体モーメントを経験する。制御システムは、第１の中間本体直線力または第１の中間本体モーメントに基づいて１つまたは複数の脚を動作させるように構成された下側本体制御システムを含む。１つまたは複数の脚は、下側本体制御システムによる動作に基づく表面からのそれぞれの反力を経験する。中間本体セクションは、反力に基づく第２の中間本体直線力または第２の中間本体モーメントのうちの少なくとも１つを経験する。下側本体制御システムは、第２の中間本体直線力が第１の中間本体直線力とバランスをとり、第２の中間本体モーメントが第１の中間本体モーメントとバランスをとるようにするために１つまたは複数の脚を動作させる。上側本体制御システムは、中間本体セクションに結合された仮想リンクとして下側本体セクションを処理する。下側本体制御システムは、１つまたは複数の脚の動作に基づく自由度の第１のセットに従って中間本体セクションを位置決めするようにさらに構成される。上側本体制御システムは、少なくとも１つのエンドエフェクタの動作に基づく自由度の第２のセットに従って中間本体セクションを位置決めするようにさらに構成される。上側本体制御システムは、自由度の第１のセットに従う中間本体セクションの位置決めを制約される。
【０００６】
［0006］  さらなる例の実施態様によれば、ロボット・システムは、本体を含む。本体は、上側本体セクションと、表面に接触するように構成された１つまたは複数の脚を含む下側本体セクションと、上側本体セクションおよび下側本体セクションを結合する中間本体セクションとを含む。ロボット・システムは、１つまたは複数のプロセッサを用いて実施される制御システムを含む。制御システムは、上側本体セクションを動作させるように構成された上側本体制御システムを含む。上側本体セクションは、上側本体制御システムによる動作に応答して上側本体力を経験する。中間本体セクションは、上側本体力に基づく第１の中間本体直線力または第１の中間本体モーメントのうちの少なくとも１つを経験する。制御システムは、１つまたは複数の脚を動作させるように構成された下側本体制御システムを含む。１つまたは複数の脚は、下側本体制御システムによる動作に基づく表面からのそれぞれの反力を経験する。中間本体セクションは、反力に基づく第２の中間本体直線力または第２の中間本体モーメントのうちの少なくとも１つを経験する。下側本体制御システムは、第２の中間本体直線力が第１の中間本体直線力とバランスをとり、第２の中間本体モーメントが第１の中間本体モーメントとバランスをとるようにするために１つまたは複数の脚を動作させる。
【０００７】
［0007］  上記ならびに他の態様、利点、および代替案は、適当な場合に添付図面を参照して以下の詳細な説明を読むことによって、当業者に明白になる。さらに、この発明の概要セクションおよびこの文書の他所で提供される説明が、限定のためではなく例として請求される主題を示すことを意図されたものであることを理解されたい。
【図面の簡単な説明】
【０００８】
【図１】［0008］例の実施態様によるロボット・システムの構成を示す図である。
【図２】［0009］例の実施態様による四足ロボットを示す図である。
【図３】［0010］例の実施態様による二足ロボットを示す図である。
【図４Ａ】［0011］例の実施態様による、動的バランスが全身マニピュレーションに使用される二足ロボットを示す図である。
【図４Ｂ】［0012］例の実施態様による、図４Ａの二足ロボットによる動的バランシングの例を示す図である。
【図４Ｃ】［0013］例の実施態様による、ロボットがエンドエフェクタを動作させる間の図４Ａの二足ロボットによる動的バランシングの別の例を示す図である。
【図４Ｄ】［0014］図４Ａの二足ロボットの分解組立図を示す図である。
【図５】［0015］例の実施態様による、動的バランスが全身マニピュレーションに使用されるロボット・システムの構成を示す図である。
【図６】［0016］例の実施態様による、動的バランスが全身マニピュレーションに使用される、ロボットを動作させる方法を示す図である。
【発明を実施するための形態】
【０００９】
［0017］  以下の詳細な説明は、添付図面を参照して、開示されるシステムおよび方法の様々な特徴および機能を説明する。本明細書で説明される例示的なシステム実施形態および方法実施形態は、限定的であることを意図されたものではない。開示されるシステムおよび方法のある種の態様が、様々な異なる構成で配置され、組み合わされ得、そのすべてが本明細書で企図されていることが、たやすく理解されよう。
【００１０】
Ｉ．概要
［0018］  ロボットは、地面上でロボットのバランスをとるか地面に沿ってロボットを移動するように動作可能な複数の脚を含むことができる。ロボットは、ロボットが物体を操作するか荷重を支持することを可能にする１つまたは複数のエンドエフェクタをも含むことができる。１つの手法によれば、ロボットは、仕事を実行するためにエンドエフェクタを位置決めできるようになる前に、まず、位置制御を維持し、静的バランスを確立するために、その脚を動作させなければならない。たとえば、ロボットは、当初に、位置決め中およびエンドエフェクタの動作中にロボットの質量中心がその上で維持される静的な支持多角形を形成するように脚を動作させることができる。この手法によれば、脚およびエンドエフェクタは、全身として働くために同時に操作はされない。
【００１１】
［0019］  しかし、本明細書で開示される例の実施形態によれば、ロボットは、そのエンドエフェクタを動作させる間に、表面上でそれ自体のバランスを動的にとるために、その脚を動作させることができる。脚が、表面（たとえば、地面）に接触する時に、脚は、表面に力を印加し、表面からの反力を経験する。ロボットは、脚を動的に制御することができ、その結果、反力は、ロボットが、エンドエフェクタの動作をサポートするバランスを維持することを可能にするようになる。エンドエフェクタの動作中に脚によって提供される動的バランシングは、実際の人間による実際の動きによりよく似たものとすることができる全身マニピュレーションを構成する。
【００１２】
［0020］  脚は、ロボットが歩行に従って移動しつつある間であっても、ロボットのバランスを動的にとることができる。たとえば、ロボットは、地面に沿って歩くか走ることができ、動的バランシングに起因して、ロボットは、歩行を中断せずに物体をつかむためにエンドエフェクタを同時に位置決めすることができる。
【００１３】
［0021］  例の実施態様では、ロボットは、下側本体セクション、上側本体セクション、および中間本体セクションを含む。二足ロボットに関して、中間セクションは、骨盤として働き、またはこれに似たものとすることができる。下側本体セクションは、脚を含み、上側本体セクションは、エンドエフェクタを含む。いくつかの場合に、エンドエフェクタは、エンドエフェクタを位置決めするためにロボットから外に延びることのできる腕の端に配置され得る。下側本体セクションは、中間セクションに下から結合され、上側本体セクションは、中間セクションに上から結合される。
【００１４】
［0022］  ロボットは、下側本体制御システムおよび上側本体制御システムを含む。下側本体制御システムは、脚を制御し、上側本体制御システムは、エンドエフェクタを制御する。下側本体制御システムおよび上側本体制御システムは、全身マニピュレーションおよびロボットのバランスを達成するために連動する。具体的には、下側本体制御システムは、表面からの反力が、上側本体制御システムがエンドエフェクタを用いて仕事を実行することを可能にする動的バランスを提供するようするために、脚を制御する。
【００１５】
［0023］  その分析中に、上側本体制御システムは、中間本体セクションに結合された仮想リンクとして下側本体セクションを表現し、処理する。エンドエフェクタを位置決めし、動作させるために、上側本体制御システムは、仮想リンクならびに中間本体セクションの位置および方位を考慮に入れる逆運動学ソルバを使用する。逆運動学は、エンドエフェクタが目標位置に達し、仕事を実行することを可能にするための、構成要素（たとえば、関節）のパラメータを判定するためのロボットの運動学方程式の使用を指す。運動計画は、エンドエフェクタが目標位置に達し、仕事を実行できるようにするためのロボットの移動を指定する。たとえば、逆運動学ソルバは、静的なワールド・フレーム（ｓｔａｔｉｃ  ｗｏｒｌｄ  ｆｒａｍｅ）内で所望のエンドエフェクタ速度を達成する上側本体セクションの運動計画を判定するのに、仮想リンクの速度を使用することができる。逆運動学は、運動計画をロボットの構成要素（たとえば、関節）のアクチュエータ軌道に変換する。
【００１６】
［0024］  エンドエフェクタを位置決めするために、上側本体制御システムは、中間本体セクションを再位置決め／再方向付けすることができる。一般に、中間本体セクションは、６自由度のうちの任意の１つまたは複数に従って位置決めされ、方向付けられ得る。しかし、動的バランスを達成するために、下側本体制御システムは、これらの６自由度のうちの１つまたは複数に従って中間本体セクションを再位置決め／再方向付けする必要がある場合がある。したがって、動的バランスを維持するために、上側本体制御システムは、動的バランスを達成するために下側本体制御システムによって必要とされる自由度に従う中間本体セクションの再位置決め／再方向付けを制約される場合がある。言い換えると、上側本体制御システムの逆運動学ソルバは、これらの特定の自由度を制約として扱う。これらの制約は、下側本体制御システムに、自由に動的にバランスをとらせる。
【００１７】
［0025］  エンドエフェクタによって支持される荷重は、結果として中間本体セクションの直線力および／またはモーメントを生成する。上側本体制御システムは、結果として生じる直線力およびモーメントを判定し、この情報を下側本体制御システムに通信することができる。これに応答して、下側本体制御システムは、反力が中間本体セクションで直線力および／またはモーメントとバランスをとれるようにするために脚を動作させることができる。一般に、第２の力／モーメントが、少なくとも実質的に同一の大きさを有する第１の力／モーメントに方向的に対向する時に、第１の力／モーメントは、第２の力／モーメントによってバランスをとられる。
【００１８】
［0026］  そのようなバランシングは、それに加えてまたはその代わりに他の荷重が上側本体セクションによって経験される時にも使用され得る。たとえば、上側本体セクションは、高速運動中に腕、エンドエフェクタ、またはペイロードを加速するのに必要な力など、動的な力を経験する場合がある。そのような動的な力も、結果として中間本体セクションに直線力および／またはモーメントを生成し、下側本体制御は、反力を用いてその直線力および／またはモーメントとバランスをとることもできる。
【００１９】
［0027］  さらに、上側本体制御システムが、エンドエフェクタを目標位置まで延ばすことを望む時に、下側本体制御システムは、脚の現在位置が、エンドエフェクタが十分なバランスを伴って目標位置に達することを可能にするかどうかを判定することができる。必要な場合には、脚は、エンドエフェクタが目標位置に達することが可能になるようにするために、表面に沿ってロボットを移動するように動作させられ得る。
【００２０】
ＩＩ．例のロボット・システム
［0028］  図１は、本明細書で説明される実施態様に関連して使用され得るロボット・システムの例の構成を示す。ロボット・システム１００は、自律的に、半自律的に、および／またはユーザ（１つまたは複数）によって供給される指示を使用して動作するように構成され得る。ロボット・システム１００は、二足ロボット、四足ロボット、またはなんらかの他の配置など、様々な形で実施され得る。さらに、ロボット・システム１００は、他の指定の中で、ロボット、ロボット・デバイス、またはモバイル・ロボットと呼ばれる場合もある。
【００２１】
［0029］  図１に示されているように、ロボット・システム１００は、プロセッサ（１つまたは複数）１０２、データ・ストレージ１０４、およびコントローラ（１つまたは複数）１０８を含むことができ、これらは、一緒に制御システム１１８の一部になることができる。ロボット・システム１００は、センサ（１つまたは複数）１１２、動力源（１つまたは複数）１１４、機械構成要素１１０、および電気構成要素１１６をも含むことができる。それでも、ロボット・システム１００は、例示のために示されており、より多数またはより少数の構成要素を含むことができる。ロボット・システム１００の様々な構成要素は、有線接続または無線接続を含む任意の形で接続され得る。さらに、いくつかの例では、ロボット・システム１００の構成要素は、単一の物理エンティティではなく複数の物理エンティティの間で分散され得る。ロボット・システム１００の他の例の実例も存在することができる。
【００２２】
［0030］  プロセッサ（１つまたは複数）１０２は、１つまたは複数の汎用ハードウェア・プロセッサまたは特殊目的ハードウェア・プロセッサ（たとえば、デジタル信号プロセッサ、特定用途向け集積回路など）として動作することができる。プロセッサ（１つまたは複数）１０２は、両方がデータ・ストレージ１０４内に記憶されるコンピュータ可読プログラム命令１０６と操作データ１０７とを実行するように構成され得る。プロセッサ（１つまたは複数）１０２は、センサ（１つまたは複数）１１２、動力源（１つまたは複数）１１４、機械構成要素１１０、および／または電気構成要素１１６など、ロボット・システム１００の他の構成要素と直接にまたは間接に相互作用することもできる。
【００２３】
［0031］  データ・ストレージ１０４は、１つまたは複数のタイプのハードウェア・メモリとすることができる。たとえば、データ・ストレージ１０４は、プロセッサ（１つまたは複数）１０２によって読み取られまたはアクセスされ得る１つまたは複数のコンピュータ可読記憶媒体を含み、またはその形をとることができる。１つまたは複数のコンピュータ可読記憶媒体は、全体的にまたは部分的にプロセッサ（１つまたは複数）１０２と一体化され得る、光、磁気、有機、または別のタイプのメモリまたはストレージなど、揮発性および／または不揮発性のストレージ構成要素を含むことができる。いくつかの実施態様では、データ・ストレージ１０４は、単一の物理デバイスとすることができる。他の実施態様では、データ・ストレージ１０４は、有線通信または無線通信を介してお互いと通信することのできる２つ以上の物理デバイスを使用して実施され得る。前に注記したように、データ・ストレージ１０４は、コンピュータ可読プログラム命令１０６およびデータ１０７を含むことができる。データ１０７は、いくつかある可能性の中でも特に、構成データ、センサ・データ、および／または診断データなど、任意のタイプのデータとすることができる。
【００２４】
［0032］  コントローラ１０８は、（おそらくいくつかある仕事の中でも特に）機械構成要素１１０、センサ（１つまたは複数）１１２、動力源（１つまたは複数）１１４、電気構成要素１１６、制御システム１１８、および／またはロボット・システム１００のユーザの間でインターフェースするように構成された、１つまたは複数の電気回路、デジタル論理のユニット、コンピュータ・チップ、および／またはマイクロプロセッサを含むことができる。いくつかの実施態様では、コントローラ１０８は、ロボット・デバイス１００の１つまたは複数のサブシステムと共に特定の動作を実行する、専用の組込みデバイスとすることができる。
【００２５】
［0033］  制御システム１１８は、ロボット・システム１００の動作条件を監視し、物理的に変更することができる。それを行う際に、制御システム１１８は、機械構成要素１１０および／または電気構成要素１１６の間など、ロボット・システム１００の諸部分の間のリンクとして働くことができる。いくつかの場合に、制御システム１１８は、ロボット・システム１００と別のコンピューティング・デバイスとの間のインターフェースとして働くことができる。さらに、制御システム１１８は、ロボット・システム１００とユーザとの間のインターフェースとして働くことができる。実例、制御システム１１８は、ジョイスティック、ボタン、および／またはポートなどを含む、ロボット・システム１００と通信する様々な構成要素を含むことができる。上で言及した例のインターフェースおよび通信は、有線接続もしくは無線接続またはその両方を介して実施され得る。制御システム１１８は、ロボット・システム１００の他の動作を実行することもできる。
【００２６】
［0034］  動作中に、制御システム１１８は、有線接続または無線接続を介してロボット・システム１００の他のシステムと通信することができ、ロボットの１つまたは複数のユーザと通信するようにさらに構成され得る。１つの可能な実例として、制御システム１１８は、特定の方向で特定の速度での特定の歩行を実行する命令を示す入力（たとえば、ユーザからまたは別のロボットからの）を受信することができる。歩行は、動物、ロボット、または他の機械構造の肢の移動のパターンである。
【００２７】
［0035］  この入力に基づいて、制御システム１１８は、ロボット・デバイス１００に、要求された歩行に従って移動させる動作を実行することができる。別の実例として、制御システムは、特定の地理的位置に移動する命令を示す入力を受信することができる。これに応答して、制御システム１１８は（おそらくは他の構成要素またはシステムの援助によって）、ロボット・システム１００が地理的位置への途上でそれを介して移動しつつある環境に基づいて、方向、速度、および／または歩行を判定することができる。
【００２８】
［0036］  制御システム１１８の動作は、プロセッサ（１つまたは複数）１０２によって実行され得る。代替案では、これらの動作は、コントローラ１０８またはプロセッサ（１つまたは複数）１０２とコントローラ１０８との組合せによって実行され得る。いくつかの実施態様では、制御システム１１８は、ロボット・システム１００以外のデバイス上に部分的にまたは完全に存在することができ、したがって、ロボット・システム１００を少なくとも部分的にリモートに制御することができる。
【００２９】
［0037］  機械構成要素１１０は、ロボット・システム１００が物理的動作を実行することを可能にすることのできるロボット・システム１００のハードウェアを表す。少数の例として、ロボット・システム１００は、脚（１つまたは複数）、腕（１つまたは複数）、および／または車輪（１つまたは複数）などの物理的部材を含むことができる。ロボット・システム１００の物理的部材または他の部分は、物理的部材をお互いに関して移動するように配置されたアクチュエータをさらに含むことができる。ロボット・システム１００は、制御システム１１８および／または他の構成要素を収容する１つまたは複数の構造化された本体をも含むことができ、他のタイプの機械構成要素をさらに含むことができる。所与のロボット内で使用される特定の機械構成要素１１０は、ロボットの設計に基づいて変化することができ、ロボットが実行するように構成され得る動作および／または仕事に基づく場合もある。
【００３０】
［0038］  いくつかの例では、機械構成要素１１０は、１つまたは複数の取り外し可能な構成要素を含むことができる。ロボット・システム１００は、そのような取り外し可能な構成要素を追加し、かつ／または取り外すように構成され得、これは、ユーザおよび／または別のロボットからの援助を含むことができる。たとえば、ロボット・システム１００は、取り外し可能な腕、手、足、および／または脚を伴って構成され得、その結果、これらの付加物は、必要または望みに応じて交換されまたは変更され得るようになる。いくつかの実施態様では、ロボット・システム１００は、１つまたは複数の取り外し可能なかつ／または交換可能なバッテリ・ユニットまたはセンサを含むことができる。他のタイプの取り外し可能構成要素が、いくつかの実施態様内に含められ得る。
【００３１】
［0039］  ロボット・システム１００は、ロボット・システム１００の諸態様を感知するように配置されたセンサ（１つまたは複数）１１２を含むことができる。センサ（１つまたは複数）１１２は、とりわけ、１つまたは複数の力センサ、トルク・センサ、速度センサ、加速度センサ、ポジション・センサ、近接センサ、動きセンサ、ロケーション・センサ、荷重センサ、温度センサ、タッチ・センサ、奥行きセンサ、超音波距離センサ、赤外線センサ、物体センサ、および／またはカメラを含むことができる。いくつかの例において、ロボット・システム１００は、ロボットから物理的に分離されたセンサ（たとえば、他のロボット上に位置決めされたセンサまたはロボットが動作している環境内に配置されたセンサ）からセンサ・データを受信するように構成され得る。
【００３２】
［0040］  センサ（１つまたは複数）１１２は、その環境とのロボット・システム１００の相互作用ならびにロボット・システム１００の動作の監視を可能にするために、プロセッサ（１つまたは複数）１０２にセンサ・データを供給することができる（おそらくはデータ１０７によって）。センサ・データは、制御システム１１８による機械構成要素１１０および電気構成要素１１６のアクティブ化、移動、および非アクティブ化に関する様々な要因の評価の際に使用され得る。たとえば、センサ（１つまたは複数）１１２は、環境の認識およびナビゲーションを手助けすることのできる、環境の地形または近くの物体の位置に対応するデータを取り込むことができる。例の構成では、センサ（１つまたは複数）１１２は、レーダー（たとえば、長距離物体検出、距離判定、および／または速度判定用）、ライダ（たとえば、短距離物体検出、距離判定、および／または速度判定用）、ソナー（たとえば、水中物体検出、距離判定、および／または速度判定用）、ＶＩＣＯＮ（登録商標）（たとえば、動き取込用）、１つまたは複数のカメラ（たとえば、３Ｄビジョン用の立体カメラ）、全地球測位システム（ＧＰＳ）トランシーバ、および／またはロボット・システム１００が動作している環境の情報を取り込むための他のセンサを含むことができる。センサ（１つまたは複数）１１２は、環境をリアル・タイムで監視し、障害物、地形の要素、気象条件、温度、および／または環境の他の態様を検出することができる。
【００３３】
［0041］  さらに、ロボット・システム１００は、ロボット・システム１００の様々な構成要素の状態を監視することのできるセンサ（１つまたは複数）１１２を含む、ロボット・システム１００の状態を示す情報を受信するように構成されたセンサ（１つまたは複数）１１２を含むことができる。センサ（１つまたは複数）１１２は、ロボット・システム１００のシステムのアクティビティを測定し、ロボット・システム１００の様々な特徴の動作、伸長可能な脚、腕、またはロボット・システム１００の他の機械的特徴および／もしくは電気的特徴のそのような動作に基づく情報を受信することができる。センサ（１つまたは複数）１１２によって供給されるデータは、制御システム１１８が、動作の誤差を判定すると同時に、ロボット・システム１００の構成要素の全体的な動作を監視することを可能にすることができる。
【００３４】
［0042］  一例として、ロボット・システム１００は、ロボット・システム１００の様々な構成要素への荷重を測定するのに力センサを使用することができる。いくつかの実施態様では、ロボット・システム１００は、腕または脚の１つまたは複数の部材を移動するアクチュエータに対する荷重を測定するために、腕または脚上の１つまたは複数の力センサを含むことができる。別の例として、ロボット・システム１００は、ロボット・システムのアクチュエータの位置を感知するのに１つまたは複数のポジション・センサを使用することができる。たとえば、そのようなポジション・センサは、腕または脚上のアクチュエータの伸長、収縮、または回転の状態を感知することができる。
【００３５】
［0043］  別の例として、センサ（１つまたは複数）１１２は、１つまたは複数の速度センサおよび／または加速度センサを含むことができる。たとえば、センサ（１つまたは複数）１１２は、慣性計測装置（ＩＭＵ）を含むことができる。ＩＭＵは、重力ベクタに関する、ワールド・フレーム内の速度および加速度を感知することができる。ＩＭＵによって測定された速度および加速度は、その後、ロボット・システム１００内のＩＭＵの位置およびロボット・システム１００の運動学に基づいてロボット・システム１００の速度および加速度に変換され得る。
【００３６】
［0044］  ロボット・システム１００は、本明細書で明示的には議論されない他のタイプのセンサを含むことができる。それに加えてまたはその代わりに、ロボット・システムは、本明細書では列挙されない目的のために特定のセンサを使用することができる。
【００３７】
［0045］  ロボット・システム１００は、ロボット・システム１００の様々な構成要素に動力を供給するように構成された１つまたは複数の動力源１１４をも含むことができる。いくつかある可能な動力系統の中でも特に、ロボット・システム１００は、油圧系統、電気系統、バッテリ、および／または他のタイプの動力系統を含むことができる。例の実例として、ロボット・システム１００は、ロボット・システム１００の構成要素に電荷を供給するように構成された１つまたは複数のバッテリを含むことができる。機械構成要素１１０および／または電気構成要素１１６の一部は、それぞれ、異なる動力源に接続することができ、同一の動力源によって動力を供給され得、または複数の動力源によって動力を供給され得る。
【００３８】
［0046］  電力またはガソリン・エンジンなど、任意のタイプの動力源が、ロボット・システム１００に動力を供給するのに使用され得る。それに加えてまたはその代わりに、ロボット・システム１００は、流体動力を使用して機械構成要素１１０に動力を供給するように構成された油圧系統を含むことができる。ロボット・システム１００の構成要素は、たとえば、油圧系統を介して様々な油圧モーターおよび油圧シリンダに送られる作動液に基づいて動作することができる。油圧系統は、チューブ、柔軟なホース、またはロボット・システム１００の構成要素の間の他のリンクを介して、加圧された作動液によって油圧動力を転送することができる。動力源（１つまたは複数）１１４は、外部電源への有線接続、無線充電、燃焼、または他の例など、様々なタイプの充電を使用して充電することができる。
【００３９】
［0047］  電気構成要素１１６は、電荷または電気信号の処理、転送、および／または供給が可能な様々な機構を含むことができる。可能な例の中で、電気構成要素１１６は、ロボット・システム１００の動作を可能にするために電気ワイヤ、回路網、ならびに／または無線通信送信器および受信器を含むことができる。電気構成要素１１６は、ロボット・システム１００が様々な動作を実行することを可能にするために、機械構成要素１１０と相互に作用することができる。電気構成要素１１６は、たとえば動力源（１つまたは複数）１１４から様々な機械構成要素１１０に動力を供給するように構成され得る。さらに、ロボット・システム１００は、電気モーターを含むことができる。電気構成要素１１６の他の例も、存在することができる。
【００４０】
［0048］  図１には図示されていないが、ロボット・システム１００は、ロボット・システムの付加物および構成要素に接続しまたはこれを収容することのできる本体を含むことができる。したがって、本体の構造は、例の中で変化する可能性があり、さらに、所与のロボットが実行するように設計された可能性がある特定の動作に依存する可能性がある。たとえば、重い荷重を保持するために開発されるロボットは、荷重の配置を可能にする幅広い本体を有する場合がある。同様に、高速に達するように設計されるロボットは、かなりの重量を有しない狭く小さい本体を有する場合がある。さらに、本体および／または他の構成要素は、金属またはプラスティックなど、様々なタイプの材料を使用して開発され得る。他の例の中で、ロボットは、異なる構造を有する本体または様々なタイプの材料から作られた本体を有する場合がある。
【００４１】
［0049］  本体および／または他の構成要素は、センサ（１つまたは複数）１１２を含みまたは保持することができる。これらのセンサは、とりわけ、本体上および／または付加物のうちの１つまたは複数の上など、ロボット・デバイス１００上の様々な位置に位置決めされ得る。
【００４２】
［0050］  その本体上に、ロボット・デバイス１００は、搬送されるべきタイプの積荷など、荷重を保持することができる。荷重は、ロボット・デバイス１００が利用できる外部バッテリまたは他のタイプの動力源（たとえば、太陽電池パネル）を表すこともできる。荷重の保持は、ロボット・デバイス１００がそのために構成され得る１つの例の使用を表すが、ロボット・デバイス１００は、他の動作をも実行するように構成され得る。
【００４３】
［0051］  上で言及したように、ロボット・システム１００は、様々なタイプの脚、腕、車輪などを含むことができる。一般に、ロボット・システム１００は、０個以上の脚を有して構成され得る。０個の脚を有するロボット・システムの実施態様は、車輪、接地面、または移動のなんらかの他の形を含むことができる。２つの脚を有するロボット・システムの実施態様は、二足と呼ばれる場合があり、４つの脚を有する実施態様は、四足と呼ばれる場合がある。６つまたは８つの脚を有する実施態様も可能である。例示のために、ロボット・システム１００の二足実施態様および四足実施態様が、下で説明される。
【００４４】
［0052］  図２は、例の実施態様による四足ロボット２００を示す。いくつかある可能な特徴の中でも特に、ロボット２００は、本明細書で説明される動作の一部を実行するように構成され得る。ロボット２００は、制御システムと、本体２０８に接続された脚２０４Ａ、２０４Ｂ、２０４Ｃ、および２０４Ｄとを含む。各脚は、表面（たとえば、地面）と接触することのできるそれぞれの足２０６Ａ、２０６Ｂ、２０６Ｃ、および２０６Ｄを含むことができる。さらに、ロボット２００は、センサ（１つまたは複数）２１０を有して図示され、本体２０８上で荷重を保持できる場合がある。他の例の中で、ロボット２００は、より多数またはより少数の構成要素を含むことができ、したがって、図２に示されていない構成要素を含むことができる。
【００４５】
［0053］  ロボット２００は、図１に示されたロボット・システム１００の物理表現とすることができ、あるいは、他の構成に基づくものとすることができる。したがって、ロボット２００は、いくつかある可能な構成要素またはシステムの中でも特に、機械構成要素１１０、センサ（１つまたは複数）１１２、動力源（１つまたは複数）１１４、電気構成要素１１６、および／または制御システム１１８のうちの１つまたは複数を含むことができる。
【００４６】
［0054］  脚２０４Ａ〜２０４Ｄの構成、位置、および／または構造は、例の実施態様で変化する可能性がある。脚２０４Ａ〜２０４Ｄは、ロボット２００がその環境に対して相対的に移動することを可能にし、移動の異なる技法を可能にするために複数の自由度で動作するように構成され得る。具体的には、脚２０４Ａ〜２０４Ｄは、ロボット２００が、異なる歩行内で示される力学に従って様々な速度で移動することを可能にすることができる。ロボット２００は、環境内で移動するために１つまたは複数の歩行を使用することができ、これは、速度、地形、操縦の必要、および／またはエネルギ効率に基づいて歩行を選択することを含むことができる。
【００４７】
［0055］  さらに、異なるタイプのロボットは、設計の変動に起因して異なる歩行を使用する場合がある。一部の歩行が、特定の名前（たとえば、徒歩、早足、走行、跳躍、ギャロップなど）を有する場合があるが、歩行の間の区別が、オーバーラップする場合がある。歩行は、足取りパターンすなわち、置く  足２０６Ａ〜２０６Ｄ  ための表面上の位置に基づいて分類され得る。同様に、歩行は、歩行力学に基づいても分類され得る。
【００４８】
［0056］  ロボット２００の本体２０８は、脚２０４Ａ〜２０４Ｄに接続し、ロボット２００の様々な構成要素を収容することができる。たとえば、本体２０８は、センサ（１つまたは複数）２１０を含みまたは保持することができる。これらのセンサは、カメラ、ライダ、または赤外線センサなど、センサ（１つまたは複数）１１２の文脈で議論したセンサのいずれかとすることができる。さらに、センサ（１つまたは複数）２１０の位置は、図２に示された位置に限定されない。したがって、センサ（１つまたは複数）２１０は、とりわけ、本体２０８上および／または脚２０４Ａ〜２０４Ｄのうちの１つまたは複数の上など、ロボット２００上の様々な位置に位置決めされ得る。
【００４９】
［0057］  図３は、別の例の実施態様による二足ロボット３００を示す。ロボット２００と同様に、ロボット３００は、図１に示されたロボット・システム１００に対応することができ、本明細書で説明される実施態様の一部を実行するように構成され得る。したがって、ロボット２００と同様に、ロボット３００は、機械構成要素１１０、センサ（１つまたは複数）１１２、動力源（１つまたは複数）１１４、電気構成要素１１６、および／または制御システム１１８のうちの１つまたは複数を含むことができる。
【００５０】
［0058］  たとえば、ロボット３００は、本体３０８に接続された脚３０４および３０６を含むことができる。各脚は、関節によって接続され、お互いに関して様々な自由度で動作するように構成された、１つまたは複数の部材からなるものとすることができる。各脚は、表面（たとえば、地面）と接触することのできるそれぞれの足３１０および３１２をも含むことができる。ロボット２００と同様に、脚３０４および３０６は、ロボット３００が、歩行内で示される力学に従って様々な速度で移動することを可能にすることができる。しかし、ロボット３００は、少なくとも部分的に二足能力と四足能力との間の差に起因して、ロボット２００の歩行とは異なる歩行を利用する可能性がある。
【００５１】
［0059］  ロボット３００は、腕３１８および３２０をも含むことができる。これらの腕は、物体操作、荷重保持、および／またはロボット３００のバランシングを容易にすることができる。脚３０４および３０６と同様に、各腕は、関節によって接続され、お互いに関して様々な自由度で動作するように構成された、１つまたは複数の部材からなるものとすることができる。各腕は、それぞれの手３２２および３２４をも含むことができる。ロボット３００は、物体をつかみ、回し、引き、かつ／または押すのに手３２２および３２４を使用することができる。手３２２および３２４は、指、グリッパ、溶接工具、切断工具、その他など、様々なタイプの付加物またはアタッチメントを含むことができる。
【００５２】
［0060］  ロボット３００は、センサ（１つまたは複数）１１２に対応し、その制御システムにセンサ・データを供給するように構成されたセンサ（１つまたは複数）３１４をも含むことができる。いくつかの場合に、これらのセンサの位置は、ロボット３００の擬人化された構造を暗示するために選択され得る。したがって、図３に示されているように、ロボット３００は、その頭３１６内に視覚センサ（たとえば、カメラ、赤外線センサ、物体センサ、距離センサなど）を含むことができる。
【００５３】
ＩＩＩ．全身マニピュレーションのために動的バランスを使用する例のロボット
［0061］  図４Ａは、下側本体セクション４０８ａ、上側本体セクション４０８ｂ、および中間本体セクション４０８ｃによって画定される本体４０８を含む例の二足ロボット４００を示す。下側本体セクション４０８ａおよび上側本体セクション４０８ｂは、中間本体セクション４０８ｃに結合される。下側本体セクション４０８ａは、全体的に中間本体セクション４０８ｃから表面（たとえば、地面）に向かって下向きに延びる２つの脚４０４および４０６を含む。ロボット３００の脚３０４および３０６と同様に、各脚４０４、４０６は、関節によって接続され、お互いに関して様々な自由度で動作するように構成された、１つまたは複数の部材を含むことができる。たとえば、図４Ａに示されているように、脚４０４は、少なくとも部材４０４ａ１〜ａ２および関節４０４ｂ１〜ｂ２を含み、脚４０６は、少なくとも部材４０６ａ１〜ａ２および関節４０６ｂ１〜ｂ２を含む。
【００５４】
［0062］  各脚４０４、４０６は、表面との直接接触を確立するためにそれぞれの足４１０、４１２をも含むことができる。脚４０４、４０６は、表面上でロボット４００を安定して支持することができる。さらに、脚４０４、４０６は、ロボット４００が、異なる歩行のための力学に従って様々な速度で移動することを可能にする。たとえば、図４Ａに示されているように、脚４０４、４０６は、少なくとも、ｙ軸に沿った前後の並進および／またはｘ軸に沿った左右の並進に従ってロボット４００を移動するように動作可能である。
【００５５】
［0063］  上側本体セクション４０８ｂは、それぞれの腕４１８、４２０の端に配置されたエンドエフェクタ４２２、４２４を含む。腕４１８、４２０は、それぞれのエンドエフェクタ４２２、４２４を位置決めするために上側本体セクション４０８ｂから外向きに延びることができる。ロボット３００の腕３１８、３２０と同様に、各腕４１８、４２０は、関節によって接続され、お互いに関して様々な自由度で動作するように構成された、１つまたは複数の部材を含むことができる。たとえば、図４Ａに示されているように、腕４１８は、少なくとも、部材４１８ａ１〜ａ２および関節４１８ｂ１〜ｂ２を含み、腕４２０は、少なくとも、部材４２０ａ１〜ａ２および関節４２０ｂ１〜ｂ２を含む。
【００５６】
［0064］  エンドエフェクタ４２２、４２４は、物体を操作すること、荷重に作用することなどによって仕事を実行するのに使用され得る。たとえば、ロボット４００は、物体をつかみ、回し、保持し、引き、かつ／または押すのにエンドエフェクタ４２２、４２４を使用することができる。図示されているように、エンドエフェクタ４２２、４２４は、可動の指を有する手様構造とすることができる。代替案では、エンドエフェクタ４２２、４２４は、グリッパ、溶接工具、切断工具、および類似物など、他のタイプの付加物またはアタッチメントを含むことができる。
【００５７】
［0065］  図４Ａに示されているように、中間本体セクション４０８ｃは、ロボット４００の二足構成に関して骨盤として働き、またはこれに似たものとすることができる。中間本体セクション４０８ｃは、下の下側本体セクション４０８ａによって支持され、対応して、中間本体セクション４０８ｃは、上の上側本体セクション４０８ｂを支持する。下でさらに説明するように、中間本体セクション４０８ｃは、脚４０４、４０６およびエンドエフェクタ４２２、４２４の所望の位置決めおよび動作を可能にするために位置決めされ、かつ／または方位付けされ得る。
【００５８】
［0066］  ロボット４００は、上で説明したロボット・システム１００の諸態様を含むことができる。具体的には、センサ１１２に似たセンサが、他の構成要素および／または外部環境に対する相対的なロボット４００の構成要素の位置および移動に関する情報を供給することができる。たとえば、図４Ａに示されているように、ロボット４００は、頭４１６内にセンサ４１４（たとえば、カメラ、赤外線センサ、物体センサ、距離センサなど）を含むことができる。
【００５９】
［0067］  さらに、図５に示されているように、ロボット４００は、下側本体制御システム４１７ａ、上側本体制御システム４１７ｂ、およびマスタ制御システム４１７ｃを有する制御システム４１７を含み、これらのそれぞれは、上で説明した制御システム１１８の諸態様を含むことができる。下側本体制御システム４１７ａは、下側本体セクション４０８ａの諸態様を動作させることができる。上側本体制御システム４１７ｂは、上側本体セクション４０８ｂの諸態様を動作させることができる。マスタ・コントローラー４１７ｃは、ロボット４００の他の態様を制御することができる。マスタ・コントローラー４１７ｃは、下側本体制御システム４１７ａおよび上側本体制御システム４１７ｂのアクションを調整することもできる。
【００６０】
［0068］  制御システム４１７ａ〜ｃのそれぞれは、ロボット４００のそれぞれの態様を動作させるためにセンサからセンサ・データを受信することができる。制御システム４１７ａ〜ｃは、図５では別々の要素として図示されているが、制御システム４１７ａ〜ｃの諸態様は、共通のハードウェアおよび／またはソフトウェアを用いて実施され得る。
【００６１】
［0069］  足４１０、４１２の所望の位置および／または脚４０４、４０６に関する所望の力を達成するために、下側本体制御システム４１７ａは、関節の対応する位置およびそれぞれの脚４０４、４０６の部材の方位付けを判定するために逆運動学ソルバ４１９ａを使用することができる。その一方で、エンドエフェクタ４２２、４２４の所望の位置を達成するために、上側本体制御システム４１７ａは、関節の対応する位置およびそれぞれの腕４１８、４２０の部材の方向付け判定するために逆運動学ソルバ４１９ｂを使用することができる。
【００６２】
［0070］  一般に、逆運動学は、それぞれの足４１０、４１２またはエンドエフェクタ４２２、４２４が目標位置に達することを可能にするために、脚４０４，４０６または腕４１８、４２０の関節などの構成要素のパラメータを判定するためのロボット４００の運動学方程式の使用を指す。運動計画は、足４１０、４１２またはエンドエフェクタ４２２、４２４が目標位置に達することができるようにするためのロボットの移動を指定する。逆運動学ソルバ４１９ａ、４１９ｂは、運動計画をロボット４００の構成要素（たとえば、関節）のアクチュエータ軌跡に変換する。
【００６３】
［0071］  下側本体制御システム４１７ａは、表面上でロボット４００のバランスを動的にとるために脚４０４、４０６を動作させることができ、上側本体制御システム４１７ｂは、仕事を実行するために腕４１８、４２０およびエンドエフェクタ４２２、４２４を動作させることができる。図４Ａに示されているように、足４１０が表面に接触している時に、脚４０４は、脚４０４によって印加される力に応答する反力Ｆｒ１を経験する。同様に、足４１２が表面に接触している時に、脚４０６は、脚４０６によって印加される力に応答する反力Ｆｒ２を経験する。各反力Ｆｒ１、Ｆｒ２は、ｘ軸、ｙ軸、およびｚ軸のうちの１つまたは複数に沿った成分を含む可能性がある。
【００６４】
［0072］  下側本体制御システム４１７ａは、反力Ｆｒ１、Ｆｒ２が、腕４１８、４２０およびエンドエフェクタ４２２、４２４の動作を支持するバランスをロボット４００が維持することを可能にするようにするために脚４０４、４０６を動的に制御することができる。ロボット４００によって経験されるすべてのモーメントに応答して、反力Ｆｒ１、Ｆｒ２は、ロボット４００のバランスをとるために、それぞれ対向するモーメントＭｒ１、Ｍｒ２（図示せず）を作ることもできる。エンドエフェクタ４２２、４２４の動作中に脚４０４、４０６によって提供される動的バランシングは、実際の人間による実際の動きによりよく似る全身マニピュレーションを構成する。
【００６５】
Ａ．下側本体を用いる例のバランシング
［0073］  図４Ｂを参照すると、ロボット４００は、脚４０４のみによって表面上で支持されている。ロボット４００の重量すなわち重力Ｆｇｒは、足４１０を介して負のｚ方向で表面に印加される。重力Ｆｇｒは、効果的に、本体４０８の質量中心（ＣＯＭ）で負のｚ方向に作用する。反力Ｆｒ１の成分が、重力Ｆｇｒと等しい大きさを伴って、足４１０で正のｚ方向に印加される。したがって、重力Ｆｇｒは、反力Ｆｒ１のｚ成分によってバランスをとられる。
【００６６】
［0074］  しかし、ロボット４００の質量中心が、ｘ軸および／またはｙ軸に沿って足４１０に整列されていない場合には、重力Ｆｇｒが、足４１０でモーメントＭｇｒを生じる可能性がある。モーメントＭｇｒは、ｘ軸および／またはｙ軸回りの成分を含むことができる。反力Ｆｒ１は、足４１０と表面との間の摩擦力を含み、この摩擦力は、ｘ方向および／またはｙ方向で足４１０に作用する。この摩擦力は、重力Ｆｇｒによって作られたモーメントＭｇｒに対向するトルクをもたらす。モーメントＭｇｒが、摩擦力によってもたらされ得る最大トルクを超えない場合に、ロボット４００は、バランスを維持することができる。その一方で、モーメントＭｇｒが最大トルクを超える場合には、足４１０が滑る可能性があり、モーメントＭｇｒが、ロボット４００にバランスを失わせる可能性がある。
【００６７】
［0075］  足４１０が表面上の所与の位置にある状態で、下側本体制御システム４１７ａは、脚４０４に対する反力Ｆｒ１の影響を制御し、バランス  本体４０８を達成するために、部材４０４ａ１〜ａ２および関節４０４ｂ１〜ｂ２の位置および方向付けを制御することができる。たとえば、下側本体制御システム４１７ａが、図４Ｂに示されたロボット４００がモーメントＭｇｒに起因してバランスを維持できないと判定する場合に、下側本体制御システム４１７ａは、ｘ軸および／またはｙ軸に沿った足４１０とのより近い整列にロボット４００の質量中心を再位置決めするために、脚４０４の部材４０４ａ１〜ａ２および関節４０４ｂ１〜ｂ２を制御することができる。これは、モーメントＭｇｒを減少させ、反力Ｆｒ１からの摩擦力が上で説明したようにロボット４００のバランスをとることを可能にすることができる。
【００６８】
［0076］  図４Ｂに示されているように、下側本体制御システム４１７ａが、質量中心を再位置決めする時に、中間本体セクション４０８ｃは、ｘ方向およびｙ方向で位置（ｘｉ，ｙｉ，ｚｉ）から新しい位置（ｘｉ’，ｙｉ’，ｚｉ）へ、対応して移動することができる。図４Ｂの質量中心は、中間本体セクション４０８ｃと一致して見える可能性があるが、質量中心が、ロボット４００に対して相対的に他の位置に配置され得ることを理解されたい。
【００６９】
［0077］  図４Ｂには図示されていないが、脚４０６は、脚４０４と同様の形で操作され得る。一般に、足４１０、４１２が表面上の所与の位置にある状態で、下側本体制御システム４１７ａは、反力Ｆｒ１およびＦｒ２が本体４０８にどのように影響するのかを制御するために、脚４０４、４０６の部材および関節を再位置決めし、かつ／または再方向付けすることができる。具体的には、下側本体制御システム４１７ａは、反力Ｆｇ１およびＦｇ２が本体４０８のバランスをとるようにするために、脚を制御することができる。
【００７０】
［0078］  実際に、足４１０、４１２の両方が、表面に同時に接触することができ、脚４０４、４０６が、反力Ｆｒ１およびＦｒ２を経験する場合がある。重力Ｆｇｒは、反力Ｆｒ１およびＦｒ２のｚ成分の和によってバランスをとられ得る。さらに、下側本体制御システム４１７ａは、質量中心の位置を変更し、反力Ｆｒ１およびＦｒ２（たとえば、摩擦力）からの対向するモーメントＭｒ１、Ｍｒ２が重力ＦｇｒからのモーメントＭｇｒとバランスをとることを可能にするために、脚４０４、４０６の部材および関節を制御することができる。
【００７１】
Ｂ．エンドエフェクタの動作を支持するための下側本体を用いる動的バランシング
［0079］  上で説明したように、上側本体制御システム４１７ｂは、それぞれの仕事を実行するために各エンドエフェクタ４２２、４２４を動作させることができる。異なる仕事を実行するために、上側本体制御システム４１７ｂは、物体に達し、これを移動し、荷重に作用するなどのために、腕４１８、４２０を用いてエンドエフェクタ４２２、４２４を異なる位置に移動することができる。
【００７２】
［0080］  たとえば、図４Ａに示されているように、エンドエフェクタ４２４は、当初に、座標（ｘｅ２，ｙｅ２，ｚｅ２）に位置決めされる。図４Ｃでは、上側本体制御システム４１７ｂは、仕事を実行するために、エンドエフェクタ４２４を（ｘｅ２’，ｙｅ２’，ｚｅ２’）に再位置決めする。再位置決めのために、上側本体制御システム４１７ｂは、エンドエフェクタ４２４を目標位置（ｘｅ２’，ｙｅ２’，ｚｅ２’）に延ばすために、腕４２０の部材４２０ａ１〜ａ２および関節４２０ｂ１〜ｂ２を動作させる。
【００７３】
［0081］  腕４１８、４２０に関連する質量に依存して、ロボット４００の質量中心の位置は、腕４１８、４２０および対応するエンドエフェクタ４２２、４２４が再位置決めされる時に変化する可能性がある。質量中心の位置の変化は、本体４０８に対する重力Ｆｇｒの影響を変化させる。具体的には、重力Ｆｇｒによって作られるモーメントＭｇｒも変化する。ロボット４００のバランスを維持するために、脚４０４、４０６の部材および関節は、新しいモーメントＭｇとバランスをとる反力Ｆｒ１、Ｆｒ２を達成するために再位置決めされ、かつ／または方向付けされる必要がある場合がある。
【００７４】
［0082］  仕事を実行する時に、各エンドエフェクタ４２２、４２４は、図４Ａに示されているように、それぞれの外部エンドエフェクタ力Ｆｅ１、Ｆｅ２を経験する場合もある。たとえば、各エンドエフェクタ４２２、４２４が、それぞれの物体を保持するという仕事を課されている場合に、それぞれのエンドエフェクタ力Ｆｅ１、Ｆｅ２は、負のｚ方向に作用するそれぞれの物体の重量を含むことができる。別の例では、エンドエフェクタ４２２、４２４が、表面に沿って大きい物体を押すという仕事を課されている場合に、エンドエフェクタ力Ｆｅ１、Ｆｅ２は、大きい物体と表面との間の対向する摩擦力を含むことができる。両方のエンドエフェクタ力Ｆｅ１、Ｆｅ２が図４Ａに図示されているが、エンドエフェクタ４１０、４１２は、必ずしも同時にエンドエフェクタ力Ｆｅ１、Ｆｅ２を経験するわけではない。
【００７５】
［0083］  したがって、ロボット４００は、重力Ｆｇｒに加えてエンドエフェクタ力Ｆｅ１、Ｆｅ２を経験する場合がある。さらに、ロボット４００は、それぞれエンドエフェクタ力Ｆｅ１、Ｆｅ２によって作られるモーメントＭｅ１、Ｍｅ２を経験する場合がある。したがって、下側本体制御システム４１７ａは、表面上でロボット４００のバランスをとるために、外部エンドエフェクタ力Ｆｅ１、Ｆｅ２ならびに重力Ｆｇｒの影響を考慮に入れることもできる。具体的には、下側本体制御システム４１７ａは、反力Ｆｒ１、Ｆｒ２が、力Ｆｅ１、Ｆｅ２、Ｆｇｒの和ならびに力Ｆｅ１、Ｆｅ２、Ｆｇｒによって作られるモーメントの和のバランスをとることを可能にするために、脚４０４、４０６の部材および関節を制御することができる。
【００７６】
［0084］  たとえば、エンドエフェクタ４２２、４２４が物体を保持している場合に、エンドエフェクタ力Ｆｅ１、Ｆｅ２は、負のｚ方向に作用する各物体の重量を含む。重力Ｆｇｒに加えて、脚４０４、４０６は、足４１０、４１２を介して表面に各物体の重量を印加する。反力Ｆｒ１、Ｆｒ２は、これに対応して、脚４０４、４０６によって印加される力とバランスをとるために、正のｚ方向に力を印加する。
【００７７】
［0085］  さらに、重力Ｆｇｒによって作られるモーメントＭｇｒに加えて、力Ｆｅ１、Ｆｅ２は、モーメントＭｅ１、Ｍｅ２をも作る。反力Ｆｒ１、Ｆｒ２は、対応して、モーメントＭｅ１、Ｍｅ２に対向するモーメントＭｒ１、Ｍｒ２を作る。下側本体制御システム４１７ａは、モーメントＭｒ１、Ｍｒ２がモーメントＭｅ１、Ｍｅ２とバランスをとれるようにするために、脚４０４、４０６の部材および関節を動作させることができる。たとえば、反力Ｆｒ１、Ｆｒ２は、正のｙ方向に作用し、モーメントＭｅ１、Ｍｅ２に対向するためのトルクを提供する摩擦力を含むことができる。
【００７８】
［0086］  下側本体制御システム４１７ａが、エンドエフェクタ４２２、４２４の位置決めおよび操作によって作られる力およびモーメントを考慮に入れることを可能にするために、上側本体制御システム４１７ｂは、エンドエフェクタ４２２、４２４の位置ならびにエンドエフェクタ力Ｆｅ１、Ｆｅ２およびモーメントＭｅ１、Ｍｅ２に関する情報を下側本体制御システム４１７ａに通信することができる。たとえば、上側本体制御システム４１７ｂは、エンドエフェクタ力Ｆｅ１、Ｆｅ２およびモーメントＭｅ１、Ｍｅ２を判定するために、力センサおよびトルク・センサから信号を受信することができる。
【００７９】
［0087］  上側本体制御システム４１７ｂは、任意の個数およびシーケンスの仕事を実行するためにエンドエフェクタ４２２、４２４を制御することができる。したがって、腕４１８、４２０およびエンドエフェクタ４２２、４２４は、常に移動している可能性があり、変化するエンドエフェクタ力Ｆｅ１、Ｆｅ２を経験する可能性がある。有利なことに、下側本体制御システム４１７ａは、上側本体セクション４０８ｂのアクションをサポートするために本体４０８のバランスを動的にとることができる。下側本体制御システム４１７ａは、上側本体セクション４０８ｂによる連続したアクティビティのために連続したバランスを実現するために、上で説明したように脚４０４、４０６を同時に動作させることができる。上側本体制御システム４１７ｂは、各仕事を実行するためにエンドエフェクタ４２２、４２４を動作させる前に静的バランスを確立するために、下側本体制御システム４１７ａに頼ることはしない。
【００８０】
［0088］  下側本体制御システム４１７ａが、下側本体セクション４０８ａを制御するので、上側本体制御システム４１７ｂは、中間本体セクション４０８ｃを介して接続された仮想リンクとして下側本体セクション４０８ａを表現し、処理することによって、上側本体セクション４０８ｂを制御することができる。仮想リンクを用いると、下側本体セクション４０８ａおよび上側本体４０８ｂの制御が、それぞれ下側本体制御システム４１７ａと上側本体制御システム４１７ｂとの間で分割されるので、制御システム４１７の実施態様は単純化される。上側本体制御システム４１７ｂは、一般に、上側本体制御システム４１７ｂがエンドエフェクタ４２２、４２４を用いる仕事の実行に焦点を合わせることができるので、下側本体制御システム４１７ａが、上側本体セクション４０８ｂをサポートするためのバランスを動的に提供すると仮定することができる。
【００８１】
［0089］  腕４１８、４２０に加えて、上側本体制御システム４１７ｂは、エンドエフェクタ４２２、４２４を位置決めし、動作させるために、下側本体セクション４０８ｂに対して相対的に中間本体セクション４０８ｃを位置決めし、かつ／または方向付けすることができる。中間本体セクション４０８ｃは、６自由度すなわち（１）ｙ軸に沿った前後の並進、（２）ｘ軸に沿った左右の並進、（３）ｚ軸に沿った上下の並進、（４）ｘ軸回りのピッチ回転、（５）ｙ軸回りのロール回転、および（６）ｚ軸回りのヨー回転のうちの任意の１つまたは複数に従って位置決めされ、かつ／または方向付けされ得る。たとえば、ロボット４００の左にある物体に達するために、上側本体制御システム４１７ｂは、中間本体セクション４０８ｃにｚ軸回りに回転（すなわち、ヨー回転）させることができる。
【００８２】
［0090］  上の例で説明したように、下側本体制御システム４１７ａは、本体４０８のバランスをとるために、ｘ軸および／またはｙ軸に沿ってロボット４００の質量中心を再位置決めすることができる。これは、ｘ軸（左右の横並進）および／またはｙ軸（前後の並進）に沿った中間本体セクション４０８ｃによる移動を含む場合もある。したがって、下側本体セクション４０８ａを用いて本体４０８のバランスをとるために、下側本体制御システム４１７ａが、中間本体セクション４０８ｃの１つまたは複数の自由度を制御する必要がある場合がある。
【００８３】
［0091］  その結果、上側本体制御システム４１７ｂは、下側本体セクション４０８ａの動的にバランスをとる能力に影響する可能性がある自由度に従って中間本体セクション４０８ｃを移動することを制約される可能性がある。この制約は、動的にバランスをとるために下側本体制御システム４１７ａを解放する。そのような制約は、上側本体制御システム１１７ｂが、中間本体セクション４０８ｃを介して接続された仮想リンクとして下側本体セクション４０８ａを表現しまたは考慮することを可能にする。
【００８４】
［0092］  たとえば、下側本体制御システム４１７ａが、ｘ軸（左右の横並進）および／またはｙ軸（前後の並進）に沿った中間本体セクション４０８ｃの位置を制御する必要がある場合に、上側本体制御システム４１７ｂは、これらの自由度を制約される可能性がある。上側本体制御システム４１７ｂの逆運動学ソルバ４１９ｂは、エンドエフェクタ４２２、４２４の位置決めを判定する時に、この２つの自由度を制約として扱うことができる。その結果、上側本体制御システム４１７ｂは、残りの４つの自由度すなわち、ｚ軸に沿った上下の並進、ｘ軸回りのピッチ回転、ｙ軸回りのロール回転、およびｚ軸回りのヨー回転のいずれかに従って中間本体セクション４０８ｃの位置を制御する。
【００８５】
［0093］  エンドエフェクタ力Ｆｅ１、Ｆｅ２は、中間本体セクション４０８ｃに結果として生じる直線力Ｆｉおよび／またはモーメントＭｉを生成する。図４Ｄは、中間本体セクション４０８ｃに印加される直線力ＦｉおよびモーメントＭｉと共にロボット４００の分解図を示す。たとえば、力センサおよびトルク・センサを使用することによって、上側本体制御システム４１７ｂは、直線力ＦｉおよびモーメントＭｉを判定し、この情報を下側本体制御システム４１７ａに通信することができる。したがって、下側本体制御システム４１７ａは、反力Ｆｒ１、Ｆｒ２が中間本体セクション４０８ｃでの直線力Ｆｉおよび／またはモーメントＭｉとバランスをとることができるようにするために、脚４０４、４０６を動作させることができる。
【００８６】
［0094］  図５に示されているように、上側本体制御システム４１７ｂは、下側本体制御システム４１７ａに直線力ＦｉおよびモーメントＭｉを通信する。さらに、下側本体制御システム４１７ａは、１つまたは複数の自由度のセットＤｏＦＡに従って中間本体セクション４０８ｃを制御する。その一方で、上側本体制御システム４１７ｂは、ＤｏＦＡの自由度を含まない、１つまたは複数の自由度の異なるセットＤｏＦＢに従って中間本体セクション４０８ｃを制御する。
【００８７】
［0095］  さらに、下側本体制御システム４１７ａは、直線力Ｆｉおよび／またはモーメントＭｉが上側本体セクション４０８ｂの動作に伴って変化する時に、直線力Ｆｉおよび／またはモーメントＭｉのバランスを動的にとることができる。上側本体制御システム４１７ｂは、直線力ＦｉおよびモーメントＭｉに対する変更を通信することによって、この動的なバランシングを可能にする。
【００８８】
［0096］  したがって、図６は、上側本体セクション４０８ｂによって実行されるアクティビティをサポートするために下側本体セクション４０８ａを操作する例のプロセス５００を示す。ステップ５０２では、上側本体制御システム４１７ｂが、エンドエフェクタ４２２、４２４のうちの少なくとも１つを動作させる。少なくとも１つのエンドエフェクタ４２２、４２４は、上側本体制御システム４１７ｂによる動作に基づくエンドエフェクタ力Ｆｅ１、Ｆｅ２を経験する。中間本体セクション４０８ｃは、エンドエフェクタ力Ｆｅ１、Ｆｅ２に基づく、第１の中間本体直線力Ｆｉまたは第１の中間本体モーメントＭｉのうちの少なくとも１つを経験する。ステップ５０４では、上側本体制御システム４１７ｂが、第１の中間本体直線力Ｆｉおよび第１の中間本体モーメントＭｉに関する情報を下側本体制御システムに通信する。
【００８９】
［0097］  ステップ５０６では、下側本体制御システム４１７ａが、少なくとも１つの可動エンドエフェクタ４２２、４２４の動作に応答して１つまたは複数の脚４０４、４０６を動作させる。１つまたは複数の脚４０４、４０６は、下側本体制御システム４１７ａによる動作に基づく表面からのそれぞれの反力Ｆｒ１、Ｆｒ２を経験する。中間本体セクション４０８ｃは、反力Ｆｒ１、Ｆｒ２に基づく第２の中間本体直線力または第２の中間本体モーメントのうちの少なくとも１つを経験する。下側本体制御システム４１７ａによる１つまたは複数の脚４０４、４０６の動作は、第２の中間本体直線力および／または第２の中間本体モーメントを決定する。第２の中間本体直線力は、エンドエフェクタ力Ｆｅ１、Ｆｅ２から生じる中間本体セクション４０８ｃに対する第１の中間本体直線力Ｆｉを打ち消す。第２の中間本体モーメントは、エンドエフェクタ力Ｆｅ１、Ｆｅ２から生じる中間本体セクション４０８ｃに対する第１の中間本体モーメントＭｉを打ち消す。
【００９０】
［0098］  プロセス５００は、下側本体制御システム４１７ａが、１つまたは複数の脚４０４、４０６の動作に基づく自由度の第１のセットに従って中間本体セクション４０８ｃを位置決めするステップ５０６ａをも含むことができる。対応して、プロセス５００は、上側本体制御システム４１７ｂが、少なくとも１つの可動エンドエフェクタ４２２、４２４の動作に応答して中間本体セクション４０８ｃを位置決めするステップ５０２ａをさらに含むことができる。上側本体制御システム４１７ｂによる中間本体セクション４０８ｃのこの位置決めは、自由度の第２のセットに従う移動を含む。上側本体制御システム４１７ｂは、自由度の第１のセットに従って中間本体セクションの位置決めを制約される。
【００９１】
［0099］  上側本体制御システム４１７ｂが、下側本体制御システム４１７ａと直接に通信することができるが、マスタ・コントローラー４１７ｃが、下側本体制御システム４１７ａと上側本体制御システム４１７ｂとの間の相互作用を調整するのを助けることもできる。たとえば、上側本体制御システム４１７ｂが、エンドエフェクタ４２２、４２４のうちの１つを所望の位置に移動することを計画する場合がある。マスタ・コントローラー４１７ｃは、上側本体制御システム４１７ｂがエンドエフェクタ４２２、４２４を所望の位置に移動することを試みる場合に、足４１０、４１２の現在位置によってバランスが維持され得るかどうかを判定することができる。バランスを維持できない場合には、マスタ・コントローラー４１７ｃは、エンドエフェクタ４２２、４２４が目標位置でより安定して位置決めされることを可能にする新しい位置に足４１０、４１２を移動するように下側本体制御システム４１７ａに知らせることができる。代替案では、下側本体制御システム４１７ａが、ロボット４００が新しい位置に移動されなければならないかどうかを判定することができる。
【００９２】
［0100］  所与の位置で足４１０、４１２を用いてバランスを達成するための脚４０４、４０６の部材および関節の制御に加えて、下側本体制御システム４１７ａは、反力Ｆｒ１、Ｆｒ２を変更するために表面上で足４１０、４１２を再位置決めすることもできる。足４１０、４１２の再位置決めは、重力Ｆｇｒが足４１０、４１２で作るモーメントを変更することもできる。その結果として生じる反力Ｆｒ１、Ｆｒ２は、ロボット４００に関するより効果的なバランスを作ることができる。
【００９３】
［0101］  上で説明したように、上側本体制御システム４１７ｂは、中間本体セクション４０８ｃを介して接続された仮想リンクとして下側本体セクション４０８ａを表現し、処理することによって、上側本体セクション４０８ｂを制御することができる。有利なことに、仮想リンクは、エンドエフェクタ４２２、４２４の位置決めおよび移動（速度）が下側本体セクション４０８ａの動きに関して補償されることを可能にする（位置保持（ｓｔａｔｉｏｎ  ｋｅｅｐｉｎｇ）とも称する）。たとえば、上側本体制御システム４１７ｂが、世界内のある静止物体に対して相対的にある速度で移動するようにエンドエフェクタ４２２、４２４に指令する場合に、そのような移動は、上側本体制御システム４１７ｂが下側本体セクション４０８ａ（バランスおよび移動を主に扱う）の直接制御を有しない場合であっても、下側本体セクション４０８ａの動きを考慮に入れなければならない。この場合に、下側本体制御システム４１７ａは、仮想リンク速度を推定し、その速度を上側本体制御システム４１７ｂに渡すことができ、上側本体制御システム４１７ｂは、それ相応に逆運動学ソルバ４１９ｂを調整することができる。逆運動学ソルバ４１９ｂは、静的なワールド・フレーム内でエンドエフェクタ４２２、４２４の所望の速度を達成する上側本体セクション４０８ｂの運動計画を判定するのに、仮想リンクの速度を使用することができる。
【００９４】
［0102］  本明細書で説明される例は、力センサ／トルク・センサによって検出されるエンドエフェクタ力に応答して動的バランシングを達成することができるが、動的バランシングは、他の実施形態では期待されるまたは所望のエンドエフェクタ力の計算に基づいても達成され得る。そのような実施態様では、下側本体制御システム４１７ａは、すべてのバランス誤差または位置決め誤差が発生する前に、期待されるまたは所望のエンドエフェクタ力を、機先を制して有利に補償する。
【００９５】
［0103］  さらに、本明細書で説明される例は、エンドエフェクタによって支持される荷重に応答して動的バランシングを達成することができるが、動的バランシングは、他の実施形態では、他の荷重がそれに加えてまたはその代わりに上側本体セクションによって経験される時にも達成され得る。たとえば、上側本体セクションは、高速運動中に、腕、エンドエフェクタ、またはペイロードを加速するのに必要な力など、動的な力を経験する場合がある。そのような動的な力は、中間本体セクションに対する結果として生じる直線力および／またはモーメントをも生成し、下側本体制御は、反力を用いてこの直線力および／またはモーメントのバランスをとることもできる。
【００９６】
Ｃ．ロボットによる移動中のエンドエフェクタの動作をサポートするための下側本体のバランシング
［0104］  下側本体制御システム４１７ａは、所望の歩行に従ってロボット４００を移動するために反力Ｆｒ１、Ｆｒ２をさらに制御することができる。たとえば、図４Ｂに示されているようにロボット４００のバランスをとるために脚４０４だけを制御するのではなく、下側本体制御システム４１７ａは、表面上に足４１２を置くために脚４０６を動作させることもできる。結果として生じる反力Ｆｒ２は、重力Ｆｇｒによって作られるモーメントＭｇｒとバランスをとるために対向するモーメントＭｒ２を作ることができる。したがって、モーメントＭｇｒとバランスをとるために表面上に足４１２を置くことは、歩行の１ステップを構成することができる。
【００９７】
［0105］  足４１２が置かれ、ロボット４００がバランスをとられた後に、下側本体制御システム４１７ａは、質量中心を再位置決めするために脚４０４、４０６を動作させ、重力Ｆｇｒを用いて別のモーメントＭｇｒを作ることができる。モーメントＭｇｒは、本体４０８を前に倒れさせるが、下側本体制御システム４１７ａは、足４１０を前にスイングし、足４１０を表面に置くために脚４０４を動作させることができる。足４１０に対する結果として生じる反力Ｆｒ１は、モーメントＭｇｒのバランスをとる別の対向するモーメントＭｒ１を作る。したがって、表面に足４１０を置くことは、第２のステップを構成する。代替案では、足４１０、４１２によるステップの繰返しが、歩行をもたらす。説明したように、下側本体制御システム４１７ａは、本体４０８が次のステップのためにもう一度前に倒れさせる前に、各交番するステップを用いてバランスの状態を確立することができる。
【００９８】
［0106］  反力Ｆｒ１、Ｆｒ２は、重力Ｆｇｒの影響のバランシングに限定されない。各足４１０、４１２が表面に接触する時に、下側本体制御システム４１７ａは、表面に追加の力を印加するためにそれぞれの脚４０４、４０６を動作させることができる。たとえば、脚４１０、４１２は、負のｙ方向に力を印加することができる。この力に応答して、それぞれの反力Ｆｒ１、Ｆｒ２のｙ成分が、足４１０、４１２に対して正のｙ方向に作用する。このｙ成分は、足４１０、４１２と表面との間の摩擦から生じる。したがって、地面の反力Ｆｒ１、Ｆｒ２は、本体４０８を前向きに正のｙ方向に押すのを助けることのできる力を印加する。したがって、負のｙ方向での力の印加は、より速い歩行を達成するために表面を押すことを構成することができる。
【００９９】
［0107］  それに加えてまたはその代わりに、脚４１０、４１２は、正または負のｘ方向で表面に力を印加することができる。この力に応答して、それぞれの地面の反力Ｆｒ１、Ｆｒ２のｘ成分は、足４１０、４１２に対向するｘ方向で作用する。このｘ成分は、足４１０、４１２と表面との間の摩擦から生じる。したがって、反力Ｆｒ１、Ｆｒ２は、本体４０８を横に正および／または負のｘ方向に押すのを助けることのできる力を印加する。
【０１００】
［0108］  下側本体制御システム４１７ａは、ロボット４００が歩行に従って移動している間にエンドエフェクタ４２２、４２４が位置決めされ動作させられることを可能にするために本体４０８のバランスを動的にとることができる。実際に、ロボット４００は、地面に沿って歩きまたは走ることができ、動的バランシングに起因して、ロボット４００は、歩行を中断することなく、たとえば物体をつかむために、エンドエフェクタ４２２を位置決めするために腕４１８を同時に動作させることができる。歩行中の所与の時のエンドエフェクタ４２２、４２２の所望の動作のためにバランスを作るために、下側本体制御システム４１７ａは、ロボット４００が歩行に従って移動する時に脚４０４、４０６によって印加され／経験される追加の力を考慮に入れることができる。本体４０８のバランスをとり、移動するための所望の反力Ｆｒ１、Ｆｒ２を達成するために、下側本体制御システム４１７ａは、脚４０４、４０６の部材および関節を位置決めし、方向付けるための対応する速度を判定するのに逆運動学を使用することができる。さらに、下側本体制御システム４１７ａは、上で説明したバランシング・プロセス中に歩行を維持するために、足４１０、４１２の位置決め／再位置決めを動的に調整することができる。
【０１０１】
ＩＶ．結論
［0109］  前述に鑑みて、ロボットは、そのエンドエフェクタを動作させながら、表面上でそれ自体のバランスを動的にとるためにその脚を動作させることができる。脚が表面（たとえば、地面）に接触する時に、脚は、表面に力を印加し、表面からの反力を経験する。ロボットは、ロボットがエンドエフェクタの動作をサポートするバランスを維持することを反力が可能にするようにするために、脚を動的に制御することができる。
【０１０２】
［0110］  例の実施態様は、二足ロボットを含むことができるが、他の構成は、上側本体が１つまたは複数のエンドエフェクタを用いて仕事を実行する間に動的バランシングを提供する下側本体を含むことができる。さらに、上の例は、エンドエフェクタ４２２、４２４に関連する力Ｆｅ１、Ｆｅ２およびモーメントＭｅ１、Ｍｅ２のバランシングを説明することができるが、ロボットが、ロボットの他の構成要素での荷重からの力およびモーメントを経験する場合があることを理解されたい。たとえば、ロボットは、積荷を保持するための容器を含むことができる。ロボットは、これらの他の荷重を同様に考慮に入れることによって、動的バランシングを達成することができる。
【０１０３】
［0111］  上記の詳細な説明は、添付図面を参照して、開示されるシステム、デバイス、および方法の様々な特徴および機能を説明するものである。図面では、文脈がそうではないことを示さない限り、同様の記号は、通常は同様の構成要素を識別する。詳細な説明、図面、および特許請求の範囲で説明される例示的な実施態様は、限定的であることを意図されたものではない。本明細書で提示される主題の範囲から逸脱せずに、他の実施態様を利用することができ、他の変更を行うことができる。本明細書で全体的に説明され、図面に示された本開示の諸態様が、様々な異なる構成で配置され、置換され、組み合わされ、分離され、設計され得ることが、たやすく理解されよう。
【０１０４】
［0112］  図内および本明細書で説明されるメッセージ・フロー図、シナリオ、および流れ図のいずれかまたはすべてに関して、各ステップ、ブロック、および／または通信は、例の実施態様による情報の処理および／または情報の伝送を表すことができる。代替の実施態様が、これらの例の実施態様の範囲内に含まれる。これらの代替実施態様では、たとえば、ステップ、ブロック、伝送、通信、要求、応答、および／またはメッセージとして説明される機能が、用いられる機能性に応じて、実質的に同時または逆順を含めて、図示されまたは議論される順序から外れた順序で実行され得る。さらに、より多数またはより少数のステップ、ブロック、および／または機能が、本明細書で議論されるメッセージ・フロー図、シナリオ、および流れ図のいずれかと共に使用され得、これらのメッセージ・フロー図、シナリオ、および流れ図が、部分的または全体的に、お互いと組み合わされ得る。
【０１０５】
［0113］  情報の処理を表すステップまたはブロックは、本明細書で説明される方法または技法の特定の論理機能を実行するように構成され得る回路網に対応することができる。その代わりにまたはそれに加えて、情報の処理を表すステップまたはブロックは、プログラム・コード（関連するデータを含む）のモジュール、セグメント、または一部に対応することができる。プログラム・コードは、方法または技法内の特定の論理機能を実施するためにプロセッサによって実行可能な１つまたは複数の命令を含むことができる。プログラム・コードおよび／または関連するデータは、ディスク・ドライブ、ハード・ドライブ、または他の記憶媒体を含む、ストレージ・デバイスなどの任意のタイプのコンピュータ可読媒体上に記憶され得る。
【０１０６】
［0114］  コンピュータ可読媒体は、レジスタ・メモリ、プロセッサ・キャッシュ、および／またはランダム・アクセス・メモリ（ＲＡＭ）など、短い時間期間にわたってデータを記憶するコンピュータ可読媒体などの非一時的コンピュータ可読媒体を含むことができる。たとえば、コンピュータ可読媒体は、読取専用メモリ（ＲＯＭ）、光ディスク、磁気ディスク、および／またはコンパクト・ディスク読取専用メモリ（ＣＤ−ＲＯＭ）など、二次または永続的な長期ストレージなど、より長い時間期間にわたってプログラム・コードおよび／またはデータを記憶する非一時的コンピュータ可読媒体をも含むことができる。コンピュータ可読媒体は、任意の他の揮発性または不揮発性のストレージ・システムとすることもできる。コンピュータ可読媒体は、たとえば、コンピュータ可読記憶媒体または有形の記憶デバイスと考えられ得る。
【０１０７】
［0115］  さらに、１つまたは複数の情報伝送を表すステップまたはブロックは、同一の物理デバイス内のソフトウェア・モジュールおよび／またはハードウェア・モジューの間の情報伝送に対応することができる。しかし、他の情報伝送は、異なる物理デバイス内のソフトウェア・モジュールおよび／またはハードウェア・モジューの間とすることができる。
【０１０８】
［0116］  様々な態様および実施態様が本明細書で開示されたが、他の態様および実施態様が、当業者に明白になろう。本明細書で開示された様々な態様および実施態様は、例示のためのものであって限定的であることは意図されておらず、真の範囲は、以下の特許請求の範囲によって示される。
【図１】
0006823172.tif 000002
【図２】
0006823172.tif 000003
【図３】
0006823172.tif 000004
【図４Ａ】
0006823172.tif 000005
【図４Ｂ】
0006823172.tif 000006
【図４Ｃ】
0006823172.tif 000007
【図４Ｄ】
0006823172.tif 000008
【図５】
0006823172.tif 000009
【図６】
0006823172.tif 000010