IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ボストン ダイナミクス,インコーポレイテッドの特許一覧

特許7469282動的バランスを使用する脚ロボットに対する全身マニピュレーション
<>
  • 特許-動的バランスを使用する脚ロボットに対する全身マニピュレーション 図1
  • 特許-動的バランスを使用する脚ロボットに対する全身マニピュレーション 図2
  • 特許-動的バランスを使用する脚ロボットに対する全身マニピュレーション 図3
  • 特許-動的バランスを使用する脚ロボットに対する全身マニピュレーション 図4A
  • 特許-動的バランスを使用する脚ロボットに対する全身マニピュレーション 図4B
  • 特許-動的バランスを使用する脚ロボットに対する全身マニピュレーション 図4C
  • 特許-動的バランスを使用する脚ロボットに対する全身マニピュレーション 図4D
  • 特許-動的バランスを使用する脚ロボットに対する全身マニピュレーション 図5
  • 特許-動的バランスを使用する脚ロボットに対する全身マニピュレーション 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-08
(45)【発行日】2024-04-16
(54)【発明の名称】動的バランスを使用する脚ロボットに対する全身マニピュレーション
(51)【国際特許分類】
   B25J 5/00 20060101AFI20240409BHJP
   B25J 13/00 20060101ALI20240409BHJP
【FI】
B25J5/00 E
B25J13/00 Z
B25J5/00 C
B25J5/00 F
【請求項の数】 20
【外国語出願】
(21)【出願番号】P 2021184675
(22)【出願日】2021-11-12
(62)【分割の表示】P 2021001564の分割
【原出願日】2017-12-06
(65)【公開番号】P2022020784
(43)【公開日】2022-02-01
【審査請求日】2021-12-09
(31)【優先権主張番号】15/377,559
(32)【優先日】2016-12-13
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518096722
【氏名又は名称】ボストン ダイナミクス,インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】ブランクスプアー,ケビン
(72)【発明者】
【氏名】スティーブンス,ベンジャミン
(72)【発明者】
【氏名】ハドソン,ニコラス
(72)【発明者】
【氏名】アベ,イェウヒ
(72)【発明者】
【氏名】バリー,ジェニファー
【審査官】松浦 陽
(56)【参考文献】
【文献】特開2004-167676(JP,A)
【文献】米国特許出願公開第2011/0172824(US,A1)
【文献】特開2001-157973(JP,A)
【文献】特開2004-148491(JP,A)
【文献】特開2006-175567(JP,A)
【文献】特開平10-230485(JP,A)
【文献】特開2007-007797(JP,A)
【文献】米国特許出願公開第2011/0040407(US,A1)
【文献】特開昭61-030385(JP,A)
【文献】矢口 裕明,笹渕 一宏,長濱 虎太郎,稲葉 雅幸 ,生活支援研究プラットフォームAeroの競技会を通じたシステム評価,第34回日本ロボット学会学術講演会予稿集DVD-ROM 2016年 ,日本,2016年09月07日
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
(57)【特許請求の範囲】
【請求項1】
ロボット・システムであって、
可動エンドエフェクタを含む上側本体セクションと、
複数の脚を含む下側本体セクションであって、前記複数の脚のうちの各脚は、表面に接触するように構成される、下側本体セクションと、
前記上側本体セクションおよび前記下側本体セクションを結合する中間本体セクションと
を含む本体と、
プロセッサを用いて実施される制御システムとを含み、
前記制御システムは、
物体を操作するように前記可動エンドエフェクタを動作させるように構成され、前記可動エンドエフェクタは、前記物体の前記操作に基づく第1の力を経験し、前記中間本体セクションは、前記第1の力に基づく第2の力を経験し、
前記制御システムは、
前記中間本体セクションに対する前記複数の脚のうちの1つまたは複数の脚の方向付けを調整するように構成され、前記1つまたは複数の脚は、前記表面からのそれぞれの第3の力を経験し、前記中間本体セクションは、前記それぞれの第3の力に基づく第4の力を経験し、前記1つまたは複数の脚の前記方向付けの調整に基づいて前記第2の力を前記第4の力に対して均衡させる、
ロボット・システム。
【請求項2】
前記制御システムは、上側本体制御システムを含み、前記上側本体制御システムは、前記物体を操作するように前記可動エンドエフェクタを動作させるように構成される、請求項1に記載のロボット・システム。
【請求項3】
前記制御システムは、下側本体制御システムを含み、前記下側本体制御システムは、前記第2の力に関する情報を前記上側本体制御システムから受信し、かつ、前記上側本体制御システムによる前記可動エンドエフェクタの前記動作に基づいて前記1つまたは複数の脚の前記方向付けを調整するように構成される、請求項2に記載のロボット・システム。
【請求項4】
前記上側本体制御システムは、前記中間本体セクションに結合された仮想リンクとして前記下側本体セクションを処理するように構成され、前記可動エンドエフェクタを動作させることは、前記仮想リンクの動作に基づく、請求項2に記載のロボット・システム。
【請求項5】
前記制御システムは、前記1つまたは複数の脚の前記方向付けに基づく1つまたは複数の第1の自由度に従って前記中間本体セクションを位置決めするようにさらに構成され、前記上側本体制御システムは、前記可動エンドエフェクタの動作に基づく1つまたは複数の第2の自由度に従って前記中間本体セクションを位置決めするようにさらに構成され、前記上側本体制御システムは、前記1つまたは複数の第1の自由度に従って前記中間本体セクションの位置決めを制約される、請求項2に記載のロボット・システム。
【請求項6】
下側本体制御システムは、前記中間本体セクションに対する前記1つまたは複数の脚の前記方向付けを調整するように前記1つまたは複数の脚を動作させる、請求項1に記載のロボット・システム。
【請求項7】
前記複数の脚のうちの各脚は、前記表面に接触するように構成されたそれぞれの足を含み、
各足の所与の位置に関して、前記制御システムは、前記制御システムがそれぞれの第4の力を前記第2の力に均衡させることができるかどうかを判定するように構成され、
前記制御システムが前記それぞれの第4の力を前記第2の力に均衡させることができないとの判定に応答して、前記制御システムは、前記表面上で前記足のうちの少なくとも1つを再位置決めする、請求項1に記載のロボット・システム。
【請求項8】
前記制御システムは、歩行に従って前記表面上で前記足のうちの前記少なくとも1つを再位置決めする、請求項7に記載のロボット・システム。
【請求項9】
前記制御システムは、前記1つまたは複数の脚が歩行に従って移動している間に、前記1つまたは複数の脚の前記方向付けを調整する、請求項1に記載のロボット・システム。
【請求項10】
前記第2の力は、第1の中間本体直線力および第1の中間本体モーメントを含み、
前記第4の力は、第2の中間本体直線力および第2の中間本体モーメントを含み、
前記制御システムは、前記第1の中間本体直線力に対する前記第2の中間本体直線力を均衡させかつ、前記第1の中間本体モーメントに対する前記第2の中間本体モーメントを均衡させる、請求項1に記載のロボット・システム。
【請求項11】
ロボット・システムを制御する方法であって、前記ロボット・システムは、
前記ロボット・システムの制御システムによって、物体を操作するように前記ロボット・システムの上側本体セクションの前記ロボット・システムの可動エンドエフェクタを動作させることであって、前記物体の前記操作は、前記可動エンドエフェクタに第1の力を経験させ、かつ前記ロボット・システムの中間本体セクションに第2の力を経験させ、前記中間本体セクションは、前記上側本体セクションを前記ロボット・システムの下側本体セクションに結合させ、前記下側本体セクションは、複数の脚を含み、前記複数の脚のうちの各脚は、表面に接触するように構成され、前記表面への前記接触は、前記複数の脚のうちの1つまたは複数の脚に、前記表面からのそれぞれの第3の力を経験させ、かつ、前記中間本体セクションに、第4の力を経験させる、前記可動エンドエフェクタを動作させることと、
前記制御システムによって、前記複数の脚のうちの1つまたは複数の脚の方向付けを調整して、前記第4の力を前記第2の力に均衡させることとを含む、
方法。
【請求項12】
前記制御システムは、上側本体制御システムを含み、前記上側本体制御システムは、前記物体を操作するように前記可動エンドエフェクタを動作させるように構成される、請求項11に記載の方法。
【請求項13】
前記制御システムは、下側本体制御システムを含み、前記下側本体制御システムは、前記第2の力に関する情報を前記上側本体制御システムから受信し、かつ、前記上側本体制御システムによる前記可動エンドエフェクタの前記動作に基づいて前記1つまたは複数の脚の前記方向付けを調整するように構成される、請求項12に記載の方法。
【請求項14】
前記上側本体制御システムは、前記中間本体セクションに結合された仮想リンクとして前記下側本体セクションを識別するように構成され、前記可動エンドエフェクタを動作させることは、前記仮想リンクの動作に基づく請求項12に記載の方法。
【請求項15】
前記制御システムは、前記1つまたは複数の脚の前記方向付けに基づく1つまたは複数の第1の自由度に従って前記中間本体セクションを位置決めするようにさらに構成され、
前記上側本体制御システムは、前記可動エンドエフェクタの動作に基づく1つまたは複数の第2の自由度に従って前記中間本体セクションを位置決めするようにさらに構成され、
前記上側本体制御システムは、前記1つまたは複数の第1の自由度に従って前記中間本体セクションの位置決めを制約される、請求項12に記載の方法。
【請求項16】
下側本体制御システムは、前記中間本体セクションに対する前記1つまたは複数の脚の前記方向付けを調整するように前記1つまたは複数の脚を動作させる、請求項11に記載の方法。
【請求項17】
前記複数の脚のうちの各脚は、前記表面に接触するように構成されたそれぞれの足を含み、
各足の所与の位置に関して、前記制御システムは、前記制御システムがそれぞれの第4の力を前記第2の力に均衡させることができるかどうかを判定するように構成され、
前記制御システムが前記それぞれの第4の力を前記第2の力に均衡させることができないとの判定に応答して、前記制御システムは、前記表面上で前記足のうちの少なくとも1つを再位置決めする、請求項11に記載の方法。
【請求項18】
前記制御システムは、歩行に従って前記表面上で前記足のうちの前記少なくとも1つを再位置決めする、請求項17に記載の方法。
【請求項19】
前記制御システムは、歩行に従って前記1つまたは複数の脚が移動している間に、前記1つまたは複数の脚の前記方向付けを調整する、請求項11に記載の方法。
【請求項20】
前記第2の力は、第1の中間本体直線力および第1の中間本体モーメントを含み、
前記第4の力は、第2の中間本体直線力および第2の中間本体モーメントを含み、
前記制御システムは、前記第1の中間本体直線力に対する前記第2の中間本体直線力を均衡させかつ、前記第1の中間本体モーメントに対する前記第2の中間本体モーメントを均衡させる、請求項11に記載の方法。
【発明の詳細な説明】
【背景技術】
【0001】
[0001] ロボットは、地面上でロボットのバランスをとるか地面に沿ってロボットを移動するように動作可能な複数の脚を含むことができる。ロボットは、ロボットが物体を操作するか荷重を支持することを可能にする1つまたは複数のエンドエフェクタをも含むことができる。
【発明の概要】
【0002】
[0002] 例の実施態様によれば、ロボットは、そのエンドエフェクタを動作させている間に、表面上でそれ自体のバランスを動的にとるために、その脚を動作させることができる。脚が、表面(たとえば、地面)に接触する時に、脚は、表面に力を印加し、表面からの反力を経験する。ロボットは、脚を動的に制御することができ、その結果、反力は、ロボットが、エンドエフェクタの動作をサポートするバランスを維持することを可能にするようになる。エンドエフェクタの動作中に脚によって提供される動的バランシングは、実際の人間による実際の動きによりよく似た全身マニピュレーション(whole body manipulation)を構成する。
【0003】
[0003] 例の実施態様によれば、ロボット・システムは、本体を含む。本体は、1つまたは複数の可動エンドエフェクタを含む上側本体セクションと、表面に接触するように構成された1つまたは複数の脚を含む下側本体セクションと、上側本体セクションおよび下側本体セクションを結合する中間本体セクションとを含む。ロボット・システムは、1つまたは複数のプロセッサを用いて実施される制御システムをも含む。制御システムは、エンドエフェクタのうちの少なくとも1つを動作させるように構成された上側本体制御システムを含む。少なくとも1つのエンドエフェクタは、上側本体制御システムによる動作に基づくエンドエフェクタ力を経験する。中間本体セクションは、エンドエフェクタ力に基づく第1の中間本体直線力または第1の中間本体モーメントのうちの少なくとも1つを経験する。制御システムは、少なくとも1つのエンドエフェクタの動作に応答して1つまたは複数の脚を動作させるように構成された下側本体制御システムを含む。1つまたは複数の脚は、下側本体制御システムによる動作に基づく表面からのそれぞれの反力を経験する。中間本体セクションは、反力に基づく第2の中間本体直線力または第2の中間本体モーメントのうちの少なくとも1つを経験する。下側本体制御システムは、第2の中間本体直線力が第1の中間本体直線力とバランスをとり、第2の中間本体モーメントが第1の中間本体モーメントとバランスをとるようにするために、1つまたは複数の脚を動作させる。
【0004】
[0004] 別の例の実施態様によれば、ロボット・システムは、本体を含む。本体は、1つまたは複数の可動エンドエフェクタを含む上側本体セクションと、表面に接触するように構成された1つまたは複数の脚を含む下側本体セクションと、上側本体セクションおよび下側本体セクションを結合する中間本体セクションとを含む。ロボット・システムは、1つまたは複数のプロセッサを用いて実施される制御システムを含む。制御システムは、下側本体制御システムおよび上側本体制御システムを含む。ロボット・システムを制御する方法は、上側本体制御システムを用いて、エンドエフェクタのうちの少なくとも1つを動作させることを含む。少なくとも1つのエンドエフェクタは、上側本体制御システムによる動作に基づくエンドエフェクタ力を経験する。中間本体セクションは、エンドエフェクタ力に基づく第1の中間本体直線力または第1の中間本体モーメントのうちの少なくとも1つを経験する。この方法は、下側本体制御システムを用いて、少なくとも1つのエンドエフェクタの動作に応答して1つまたは複数の脚を動作させることを含む。1つまたは複数の脚は、下側本体制御システムによる動作に基づく表面からのそれぞれの反力を経験する。中間本体セクションは、反力に基づく第2の中間本体直線力または第2の中間本体モーメントのうちの少なくとも1つを経験する。
【0005】
[0005] さらに別の例の実施態様によれば、ロボット・システムは、本体を含む。本体は、1つまたは複数の可動エンドエフェクタを含む上側本体セクションと、表面に接触するように構成された1つまたは複数の脚を含む下側本体セクションと、上側本体セクションおよび下側本体セクションを結合する中間本体セクションとを含む。ロボット・システムは、1つまたは複数のプロセッサを用いて実施される制御システムを含む。制御システムは、エンドエフェクタのうちの少なくとも1つを動作させるように構成された上側本体制御システムを含む。少なくとも1つのエンドエフェクタは、上側本体制御システムによる動作に基づくエンドエフェクタ力を経験する。中間本体セクションは、少なくとも1つのエンドエフェクタ力に基づく第1の中間本体直線力または第1の中間本体モーメントを経験する。制御システムは、第1の中間本体直線力または第1の中間本体モーメントに基づいて1つまたは複数の脚を動作させるように構成された下側本体制御システムを含む。1つまたは複数の脚は、下側本体制御システムによる動作に基づく表面からのそれぞれの反力を経験する。中間本体セクションは、反力に基づく第2の中間本体直線力または第2の中間本体モーメントのうちの少なくとも1つを経験する。下側本体制御システムは、第2の中間本体直線力が第1の中間本体直線力とバランスをとり、第2の中間本体モーメントが第1の中間本体モーメントとバランスをとるようにするために1つまたは複数の脚を動作させる。上側本体制御システムは、中間本体セクションに結合された仮想リンクとして下側本体セクションを処理する。下側本体制御システムは、1つまたは複数の脚の動作に基づく自由度の第1のセットに従って中間本体セクションを位置決めするようにさらに構成される。上側本体制御システムは、少なくとも1つのエンドエフェクタの動作に基づく自由度の第2のセットに従って中間本体セクションを位置決めするようにさらに構成される。上側本体制御システムは、自由度の第1のセットに従う中間本体セクションの位置決めを制約される。
【0006】
[0006] さらなる例の実施態様によれば、ロボット・システムは、本体を含む。本体は、上側本体セクションと、表面に接触するように構成された1つまたは複数の脚を含む下側本体セクションと、上側本体セクションおよび下側本体セクションを結合する中間本体セクションとを含む。ロボット・システムは、1つまたは複数のプロセッサを用いて実施される制御システムを含む。制御システムは、上側本体セクションを動作させるように構成された上側本体制御システムを含む。上側本体セクションは、上側本体制御システムによる動作に応答して上側本体力を経験する。中間本体セクションは、上側本体力に基づく第1の中間本体直線力または第1の中間本体モーメントのうちの少なくとも1つを経験する。制御システムは、1つまたは複数の脚を動作させるように構成された下側本体制御システムを含む。1つまたは複数の脚は、下側本体制御システムによる動作に基づく表面からのそれぞれの反力を経験する。中間本体セクションは、反力に基づく第2の中間本体直線力または第2の中間本体モーメントのうちの少なくとも1つを経験する。下側本体制御システムは、第2の中間本体直線力が第1の中間本体直線力とバランスをとり、第2の中間本体モーメントが第1の中間本体モーメントとバランスをとるようにするために1つまたは複数の脚を動作させる。
【0007】
[0007] 上記ならびに他の態様、利点、および代替案は、適当な場合に添付図面を参照して以下の詳細な説明を読むことによって、当業者に明白になる。さらに、この発明の概要セクションおよびこの文書の他所で提供される説明が、限定のためではなく例として請求される主題を示すことを意図されたものであることを理解されたい。
【図面の簡単な説明】
【0008】
図1】[0008]例の実施態様によるロボット・システムの構成を示す図である。
図2】[0009]例の実施態様による四足ロボットを示す図である。
図3】[0010]例の実施態様による二足ロボットを示す図である。
図4A】[0011]例の実施態様による、動的バランスが全身マニピュレーションに使用される二足ロボットを示す図である。
図4B】[0012]例の実施態様による、図4Aの二足ロボットによる動的バランシングの例を示す図である。
図4C】[0013]例の実施態様による、ロボットがエンドエフェクタを動作させる間の図4Aの二足ロボットによる動的バランシングの別の例を示す図である。
図4D】[0014]図4Aの二足ロボットの分解組立図を示す図である。
図5】[0015]例の実施態様による、動的バランスが全身マニピュレーションに使用されるロボット・システムの構成を示す図である。
図6】[0016]例の実施態様による、動的バランスが全身マニピュレーションに使用される、ロボットを動作させる方法を示す図である。
【発明を実施するための形態】
【0009】
[0017] 以下の詳細な説明は、添付図面を参照して、開示されるシステムおよび方法の様々な特徴および機能を説明する。本明細書で説明される例示的なシステム実施形態および方法実施形態は、限定的であることを意図されたものではない。開示されるシステムおよび方法のある種の態様が、様々な異なる構成で配置され、組み合わされ得、そのすべてが本明細書で企図されていることが、たやすく理解されよう。
【0010】
I.概要
[0018] ロボットは、地面上でロボットのバランスをとるか地面に沿ってロボットを移動するように動作可能な複数の脚を含むことができる。ロボットは、ロボットが物体を操作するか荷重を支持することを可能にする1つまたは複数のエンドエフェクタをも含むことができる。1つの手法によれば、ロボットは、仕事を実行するためにエンドエフェクタを位置決めできるようになる前に、まず、位置制御を維持し、静的バランスを確立するために、その脚を動作させなければならない。たとえば、ロボットは、当初に、位置決め中およびエンドエフェクタの動作中にロボットの質量中心がその上で維持される静的な支持多角形を形成するように脚を動作させることができる。この手法によれば、脚およびエンドエフェクタは、全身として働くために同時に操作はされない。
【0011】
[0019] しかし、本明細書で開示される例の実施形態によれば、ロボットは、そのエンドエフェクタを動作させる間に、表面上でそれ自体のバランスを動的にとるために、その脚を動作させることができる。脚が、表面(たとえば、地面)に接触する時に、脚は、表面に力を印加し、表面からの反力を経験する。ロボットは、脚を動的に制御することができ、その結果、反力は、ロボットが、エンドエフェクタの動作をサポートするバランスを維持することを可能にするようになる。エンドエフェクタの動作中に脚によって提供される動的バランシングは、実際の人間による実際の動きによりよく似たものとすることができる全身マニピュレーションを構成する。
【0012】
[0020] 脚は、ロボットが歩行に従って移動しつつある間であっても、ロボットのバランスを動的にとることができる。たとえば、ロボットは、地面に沿って歩くか走ることができ、動的バランシングに起因して、ロボットは、歩行を中断せずに物体をつかむためにエンドエフェクタを同時に位置決めすることができる。
【0013】
[0021] 例の実施態様では、ロボットは、下側本体セクション、上側本体セクション、および中間本体セクションを含む。二足ロボットに関して、中間セクションは、骨盤として働き、またはこれに似たものとすることができる。下側本体セクションは、脚を含み、上側本体セクションは、エンドエフェクタを含む。いくつかの場合に、エンドエフェクタは、エンドエフェクタを位置決めするためにロボットから外に延びることのできる腕の端に配置され得る。下側本体セクションは、中間セクションに下から結合され、上側本体セクションは、中間セクションに上から結合される。
【0014】
[0022] ロボットは、下側本体制御システムおよび上側本体制御システムを含む。下側本体制御システムは、脚を制御し、上側本体制御システムは、エンドエフェクタを制御する。下側本体制御システムおよび上側本体制御システムは、全身マニピュレーションおよびロボットのバランスを達成するために連動する。具体的には、下側本体制御システムは、表面からの反力が、上側本体制御システムがエンドエフェクタを用いて仕事を実行することを可能にする動的バランスを提供するようするために、脚を制御する。
【0015】
[0023] その分析中に、上側本体制御システムは、中間本体セクションに結合された仮想リンクとして下側本体セクションを表現し、処理する。エンドエフェクタを位置決めし、動作させるために、上側本体制御システムは、仮想リンクならびに中間本体セクションの位置および方位を考慮に入れる逆運動学ソルバを使用する。逆運動学は、エンドエフェクタが目標位置に達し、仕事を実行することを可能にするための、構成要素(たとえば、関節)のパラメータを判定するためのロボットの運動学方程式の使用を指す。運動計画は、エンドエフェクタが目標位置に達し、仕事を実行できるようにするためのロボットの移動を指定する。たとえば、逆運動学ソルバは、静的なワールド・フレーム(static world frame)内で所望のエンドエフェクタ速度を達成する上側本体セクションの運動計画を判定するのに、仮想リンクの速度を使用することができる。逆運動学は、運動計画をロボットの構成要素(たとえば、関節)のアクチュエータ軌道に変換する。
【0016】
[0024] エンドエフェクタを位置決めするために、上側本体制御システムは、中間本体セクションを再位置決め/再方向付けすることができる。一般に、中間本体セクションは、6自由度のうちの任意の1つまたは複数に従って位置決めされ、方向付けられ得る。しかし、動的バランスを達成するために、下側本体制御システムは、これらの6自由度のうちの1つまたは複数に従って中間本体セクションを再位置決め/再方向付けする必要がある場合がある。したがって、動的バランスを維持するために、上側本体制御システムは、動的バランスを達成するために下側本体制御システムによって必要とされる自由度に従う中間本体セクションの再位置決め/再方向付けを制約される場合がある。言い換えると、上側本体制御システムの逆運動学ソルバは、これらの特定の自由度を制約として扱う。これらの制約は、下側本体制御システムに、自由に動的にバランスをとらせる。
【0017】
[0025] エンドエフェクタによって支持される荷重は、結果として中間本体セクションの直線力および/またはモーメントを生成する。上側本体制御システムは、結果として生じる直線力およびモーメントを判定し、この情報を下側本体制御システムに通信することができる。これに応答して、下側本体制御システムは、反力が中間本体セクションで直線力および/またはモーメントとバランスをとれるようにするために脚を動作させることができる。一般に、第2の力/モーメントが、少なくとも実質的に同一の大きさを有する第1の力/モーメントに方向的に対向する時に、第1の力/モーメントは、第2の力/モーメントによってバランスをとられる。
【0018】
[0026] そのようなバランシングは、それに加えてまたはその代わりに他の荷重が上側本体セクションによって経験される時にも使用され得る。たとえば、上側本体セクションは、高速運動中に腕、エンドエフェクタ、またはペイロードを加速するのに必要な力など、動的な力を経験する場合がある。そのような動的な力も、結果として中間本体セクションに直線力および/またはモーメントを生成し、下側本体制御は、反力を用いてその直線力および/またはモーメントとバランスをとることもできる。
【0019】
[0027] さらに、上側本体制御システムが、エンドエフェクタを目標位置まで延ばすことを望む時に、下側本体制御システムは、脚の現在位置が、エンドエフェクタが十分なバランスを伴って目標位置に達することを可能にするかどうかを判定することができる。必要な場合には、脚は、エンドエフェクタが目標位置に達することが可能になるようにするために、表面に沿ってロボットを移動するように動作させられ得る。
【0020】
II.例のロボット・システム
[0028] 図1は、本明細書で説明される実施態様に関連して使用され得るロボット・システムの例の構成を示す。ロボット・システム100は、自律的に、半自律的に、および/またはユーザ(1つまたは複数)によって供給される指示を使用して動作するように構成され得る。ロボット・システム100は、二足ロボット、四足ロボット、またはなんらかの他の配置など、様々な形で実施され得る。さらに、ロボット・システム100は、他の指定の中で、ロボット、ロボット・デバイス、またはモバイル・ロボットと呼ばれる場合もある。
【0021】
[0029] 図1に示されているように、ロボット・システム100は、プロセッサ(1つまたは複数)102、データ・ストレージ104、およびコントローラ(1つまたは複数)108を含むことができ、これらは、一緒に制御システム118の一部になることができる。ロボット・システム100は、センサ(1つまたは複数)112、動力源(1つまたは複数)114、機械構成要素110、および電気構成要素116をも含むことができる。それでも、ロボット・システム100は、例示のために示されており、より多数またはより少数の構成要素を含むことができる。ロボット・システム100の様々な構成要素は、有線接続または無線接続を含む任意の形で接続され得る。さらに、いくつかの例では、ロボット・システム100の構成要素は、単一の物理エンティティではなく複数の物理エンティティの間で分散され得る。ロボット・システム100の他の例の実例も存在することができる。
【0022】
[0030] プロセッサ(1つまたは複数)102は、1つまたは複数の汎用ハードウェア・プロセッサまたは特殊目的ハードウェア・プロセッサ(たとえば、デジタル信号プロセッサ、特定用途向け集積回路など)として動作することができる。プロセッサ(1つまたは複数)102は、両方がデータ・ストレージ104内に記憶されるコンピュータ可読プログラム命令106と操作データ107とを実行するように構成され得る。プロセッサ(1つまたは複数)102は、センサ(1つまたは複数)112、動力源(1つまたは複数)114、機械構成要素110、および/または電気構成要素116など、ロボット・システム100の他の構成要素と直接にまたは間接に相互作用することもできる。
【0023】
[0031] データ・ストレージ104は、1つまたは複数のタイプのハードウェア・メモリとすることができる。たとえば、データ・ストレージ104は、プロセッサ(1つまたは複数)102によって読み取られまたはアクセスされ得る1つまたは複数のコンピュータ可読記憶媒体を含み、またはその形をとることができる。1つまたは複数のコンピュータ可読記憶媒体は、全体的にまたは部分的にプロセッサ(1つまたは複数)102と一体化され得る、光、磁気、有機、または別のタイプのメモリまたはストレージなど、揮発性および/または不揮発性のストレージ構成要素を含むことができる。いくつかの実施態様では、データ・ストレージ104は、単一の物理デバイスとすることができる。他の実施態様では、データ・ストレージ104は、有線通信または無線通信を介してお互いと通信することのできる2つ以上の物理デバイスを使用して実施され得る。前に注記したように、データ・ストレージ104は、コンピュータ可読プログラム命令106およびデータ107を含むことができる。データ107は、いくつかある可能性の中でも特に、構成データ、センサ・データ、および/または診断データなど、任意のタイプのデータとすることができる。
【0024】
[0032] コントローラ108は、(おそらくいくつかある仕事の中でも特に)機械構成要素110、センサ(1つまたは複数)112、動力源(1つまたは複数)114、電気構成要素116、制御システム118、および/またはロボット・システム100のユーザの間でインターフェースするように構成された、1つまたは複数の電気回路、デジタル論理のユニット、コンピュータ・チップ、および/またはマイクロプロセッサを含むことができる。いくつかの実施態様では、コントローラ108は、ロボット・デバイス100の1つまたは複数のサブシステムと共に特定の動作を実行する、専用の組込みデバイスとすることができる。
【0025】
[0033] 制御システム118は、ロボット・システム100の動作条件を監視し、物理的に変更することができる。それを行う際に、制御システム118は、機械構成要素110および/または電気構成要素116の間など、ロボット・システム100の諸部分の間のリンクとして働くことができる。いくつかの場合に、制御システム118は、ロボット・システム100と別のコンピューティング・デバイスとの間のインターフェースとして働くことができる。さらに、制御システム118は、ロボット・システム100とユーザとの間のインターフェースとして働くことができる。実例、制御システム118は、ジョイスティック、ボタン、および/またはポートなどを含む、ロボット・システム100と通信する様々な構成要素を含むことができる。上で言及した例のインターフェースおよび通信は、有線接続もしくは無線接続またはその両方を介して実施され得る。制御システム118は、ロボット・システム100の他の動作を実行することもできる。
【0026】
[0034] 動作中に、制御システム118は、有線接続または無線接続を介してロボット・システム100の他のシステムと通信することができ、ロボットの1つまたは複数のユーザと通信するようにさらに構成され得る。1つの可能な実例として、制御システム118は、特定の方向で特定の速度での特定の歩行を実行する命令を示す入力(たとえば、ユーザからまたは別のロボットからの)を受信することができる。歩行は、動物、ロボット、または他の機械構造の肢の移動のパターンである。
【0027】
[0035] この入力に基づいて、制御システム118は、ロボット・デバイス100に、要求された歩行に従って移動させる動作を実行することができる。別の実例として、制御システムは、特定の地理的位置に移動する命令を示す入力を受信することができる。これに応答して、制御システム118は(おそらくは他の構成要素またはシステムの援助によって)、ロボット・システム100が地理的位置への途上でそれを介して移動しつつある環境に基づいて、方向、速度、および/または歩行を判定することができる。
【0028】
[0036] 制御システム118の動作は、プロセッサ(1つまたは複数)102によって実行され得る。代替案では、これらの動作は、コントローラ108またはプロセッサ(1つまたは複数)102とコントローラ108との組合せによって実行され得る。いくつかの実施態様では、制御システム118は、ロボット・システム100以外のデバイス上に部分的にまたは完全に存在することができ、したがって、ロボット・システム100を少なくとも部分的にリモートに制御することができる。
【0029】
[0037] 機械構成要素110は、ロボット・システム100が物理的動作を実行することを可能にすることのできるロボット・システム100のハードウェアを表す。少数の例として、ロボット・システム100は、脚(1つまたは複数)、腕(1つまたは複数)、および/または車輪(1つまたは複数)などの物理的部材を含むことができる。ロボット・システム100の物理的部材または他の部分は、物理的部材をお互いに関して移動するように配置されたアクチュエータをさらに含むことができる。ロボット・システム100は、制御システム118および/または他の構成要素を収容する1つまたは複数の構造化された本体をも含むことができ、他のタイプの機械構成要素をさらに含むことができる。所与のロボット内で使用される特定の機械構成要素110は、ロボットの設計に基づいて変化することができ、ロボットが実行するように構成され得る動作および/または仕事に基づく場合もある。
【0030】
[0038] いくつかの例では、機械構成要素110は、1つまたは複数の取り外し可能な構成要素を含むことができる。ロボット・システム100は、そのような取り外し可能な構成要素を追加し、かつ/または取り外すように構成され得、これは、ユーザおよび/または別のロボットからの援助を含むことができる。たとえば、ロボット・システム100は、取り外し可能な腕、手、足、および/または脚を伴って構成され得、その結果、これらの付加物は、必要または望みに応じて交換されまたは変更され得るようになる。いくつかの実施態様では、ロボット・システム100は、1つまたは複数の取り外し可能なかつ/または交換可能なバッテリ・ユニットまたはセンサを含むことができる。他のタイプの取り外し可能構成要素が、いくつかの実施態様内に含められ得る。
【0031】
[0039] ロボット・システム100は、ロボット・システム100の諸態様を感知するように配置されたセンサ(1つまたは複数)112を含むことができる。センサ(1つまたは複数)112は、とりわけ、1つまたは複数の力センサ、トルク・センサ、速度センサ、加速度センサ、ポジション・センサ、近接センサ、動きセンサ、ロケーション・センサ、荷重センサ、温度センサ、タッチ・センサ、奥行きセンサ、超音波距離センサ、赤外線センサ、物体センサ、および/またはカメラを含むことができる。いくつかの例において、ロボット・システム100は、ロボットから物理的に分離されたセンサ(たとえば、他のロボット上に位置決めされたセンサまたはロボットが動作している環境内に配置されたセンサ)からセンサ・データを受信するように構成され得る。
【0032】
[0040] センサ(1つまたは複数)112は、その環境とのロボット・システム100の相互作用ならびにロボット・システム100の動作の監視を可能にするために、プロセッサ(1つまたは複数)102にセンサ・データを供給することができる(おそらくはデータ107によって)。センサ・データは、制御システム118による機械構成要素110および電気構成要素116のアクティブ化、移動、および非アクティブ化に関する様々な要因の評価の際に使用され得る。たとえば、センサ(1つまたは複数)112は、環境の認識およびナビゲーションを手助けすることのできる、環境の地形または近くの物体の位置に対応するデータを取り込むことができる。例の構成では、センサ(1つまたは複数)112は、レーダー(たとえば、長距離物体検出、距離判定、および/または速度判定用)、ライダ(たとえば、短距離物体検出、距離判定、および/または速度判定用)、ソナー(たとえば、水中物体検出、距離判定、および/または速度判定用)、VICON(登録商標)(たとえば、動き取込用)、1つまたは複数のカメラ(たとえば、3Dビジョン用の立体カメラ)、全地球測位システム(GPS)トランシーバ、および/またはロボット・システム100が動作している環境の情報を取り込むための他のセンサを含むことができる。センサ(1つまたは複数)112は、環境をリアル・タイムで監視し、障害物、地形の要素、気象条件、温度、および/または環境の他の態様を検出することができる。
【0033】
[0041] さらに、ロボット・システム100は、ロボット・システム100の様々な構成要素の状態を監視することのできるセンサ(1つまたは複数)112を含む、ロボット・システム100の状態を示す情報を受信するように構成されたセンサ(1つまたは複数)112を含むことができる。センサ(1つまたは複数)112は、ロボット・システム100のシステムのアクティビティを測定し、ロボット・システム100の様々な特徴の動作、伸長可能な脚、腕、またはロボット・システム100の他の機械的特徴および/もしくは電気的特徴のそのような動作に基づく情報を受信することができる。センサ(1つまたは複数)112によって供給されるデータは、制御システム118が、動作の誤差を判定すると同時に、ロボット・システム100の構成要素の全体的な動作を監視することを可能にすることができる。
【0034】
[0042] 一例として、ロボット・システム100は、ロボット・システム100の様々な構成要素への荷重を測定するのに力センサを使用することができる。いくつかの実施態様では、ロボット・システム100は、腕または脚の1つまたは複数の部材を移動するアクチュエータに対する荷重を測定するために、腕または脚上の1つまたは複数の力センサを含むことができる。別の例として、ロボット・システム100は、ロボット・システムのアクチュエータの位置を感知するのに1つまたは複数のポジション・センサを使用することができる。たとえば、そのようなポジション・センサは、腕または脚上のアクチュエータの伸長、収縮、または回転の状態を感知することができる。
【0035】
[0043] 別の例として、センサ(1つまたは複数)112は、1つまたは複数の速度センサおよび/または加速度センサを含むことができる。たとえば、センサ(1つまたは複数)112は、慣性計測装置(IMU)を含むことができる。IMUは、重力ベクタに関する、ワールド・フレーム内の速度および加速度を感知することができる。IMUによって測定された速度および加速度は、その後、ロボット・システム100内のIMUの位置およびロボット・システム100の運動学に基づいてロボット・システム100の速度および加速度に変換され得る。
【0036】
[0044] ロボット・システム100は、本明細書で明示的には議論されない他のタイプのセンサを含むことができる。それに加えてまたはその代わりに、ロボット・システムは、本明細書では列挙されない目的のために特定のセンサを使用することができる。
【0037】
[0045] ロボット・システム100は、ロボット・システム100の様々な構成要素に動力を供給するように構成された1つまたは複数の動力源114をも含むことができる。いくつかある可能な動力系統の中でも特に、ロボット・システム100は、油圧系統、電気系統、バッテリ、および/または他のタイプの動力系統を含むことができる。例の実例として、ロボット・システム100は、ロボット・システム100の構成要素に電荷を供給するように構成された1つまたは複数のバッテリを含むことができる。機械構成要素110および/または電気構成要素116の一部は、それぞれ、異なる動力源に接続することができ、同一の動力源によって動力を供給され得、または複数の動力源によって動力を供給され得る。
【0038】
[0046] 電力またはガソリン・エンジンなど、任意のタイプの動力源が、ロボット・システム100に動力を供給するのに使用され得る。それに加えてまたはその代わりに、ロボット・システム100は、流体動力を使用して機械構成要素110に動力を供給するように構成された油圧系統を含むことができる。ロボット・システム100の構成要素は、たとえば、油圧系統を介して様々な油圧モーターおよび油圧シリンダに送られる作動液に基づいて動作することができる。油圧系統は、チューブ、柔軟なホース、またはロボット・システム100の構成要素の間の他のリンクを介して、加圧された作動液によって油圧動力を転送することができる。動力源(1つまたは複数)114は、外部電源への有線接続、無線充電、燃焼、または他の例など、様々なタイプの充電を使用して充電することができる。
【0039】
[0047] 電気構成要素116は、電荷または電気信号の処理、転送、および/または供給が可能な様々な機構を含むことができる。可能な例の中で、電気構成要素116は、ロボット・システム100の動作を可能にするために電気ワイヤ、回路網、ならびに/または無線通信送信器および受信器を含むことができる。電気構成要素116は、ロボット・システム100が様々な動作を実行することを可能にするために、機械構成要素110と相互に作用することができる。電気構成要素116は、たとえば動力源(1つまたは複数)114から様々な機械構成要素110に動力を供給するように構成され得る。さらに、ロボット・システム100は、電気モーターを含むことができる。電気構成要素116の他の例も、存在することができる。
【0040】
[0048] 図1には図示されていないが、ロボット・システム100は、ロボット・システムの付加物および構成要素に接続しまたはこれを収容することのできる本体を含むことができる。したがって、本体の構造は、例の中で変化する可能性があり、さらに、所与のロボットが実行するように設計された可能性がある特定の動作に依存する可能性がある。たとえば、重い荷重を保持するために開発されるロボットは、荷重の配置を可能にする幅広い本体を有する場合がある。同様に、高速に達するように設計されるロボットは、かなりの重量を有しない狭く小さい本体を有する場合がある。さらに、本体および/または他の構成要素は、金属またはプラスティックなど、様々なタイプの材料を使用して開発され得る。他の例の中で、ロボットは、異なる構造を有する本体または様々なタイプの材料から作られた本体を有する場合がある。
【0041】
[0049] 本体および/または他の構成要素は、センサ(1つまたは複数)112を含みまたは保持することができる。これらのセンサは、とりわけ、本体上および/または付加物のうちの1つまたは複数の上など、ロボット・デバイス100上の様々な位置に位置決めされ得る。
【0042】
[0050] その本体上に、ロボット・デバイス100は、搬送されるべきタイプの積荷など、荷重を保持することができる。荷重は、ロボット・デバイス100が利用できる外部バッテリまたは他のタイプの動力源(たとえば、太陽電池パネル)を表すこともできる。荷重の保持は、ロボット・デバイス100がそのために構成され得る1つの例の使用を表すが、ロボット・デバイス100は、他の動作をも実行するように構成され得る。
【0043】
[0051] 上で言及したように、ロボット・システム100は、様々なタイプの脚、腕、車輪などを含むことができる。一般に、ロボット・システム100は、0個以上の脚を有して構成され得る。0個の脚を有するロボット・システムの実施態様は、車輪、接地面、または移動のなんらかの他の形を含むことができる。2つの脚を有するロボット・システムの実施態様は、二足と呼ばれる場合があり、4つの脚を有する実施態様は、四足と呼ばれる場合がある。6つまたは8つの脚を有する実施態様も可能である。例示のために、ロボット・システム100の二足実施態様および四足実施態様が、下で説明される。
【0044】
[0052] 図2は、例の実施態様による四足ロボット200を示す。いくつかある可能な特徴の中でも特に、ロボット200は、本明細書で説明される動作の一部を実行するように構成され得る。ロボット200は、制御システムと、本体208に接続された脚204A、204B、204C、および204Dとを含む。各脚は、表面(たとえば、地面)と接触することのできるそれぞれの足206A、206B、206C、および206Dを含むことができる。さらに、ロボット200は、センサ(1つまたは複数)210を有して図示され、本体208上で荷重を保持できる場合がある。他の例の中で、ロボット200は、より多数またはより少数の構成要素を含むことができ、したがって、図2に示されていない構成要素を含むことができる。
【0045】
[0053] ロボット200は、図1に示されたロボット・システム100の物理表現とすることができ、あるいは、他の構成に基づくものとすることができる。したがって、ロボット200は、いくつかある可能な構成要素またはシステムの中でも特に、機械構成要素110、センサ(1つまたは複数)112、動力源(1つまたは複数)114、電気構成要素116、および/または制御システム118のうちの1つまたは複数を含むことができる。
【0046】
[0054] 脚204A~204Dの構成、位置、および/または構造は、例の実施態様で変化する可能性がある。脚204A~204Dは、ロボット200がその環境に対して相対的に移動することを可能にし、移動の異なる技法を可能にするために複数の自由度で動作するように構成され得る。具体的には、脚204A~204Dは、ロボット200が、異なる歩行内で示される力学に従って様々な速度で移動することを可能にすることができる。ロボット200は、環境内で移動するために1つまたは複数の歩行を使用することができ、これは、速度、地形、操縦の必要、および/またはエネルギ効率に基づいて歩行を選択することを含むことができる。
【0047】
[0055] さらに、異なるタイプのロボットは、設計の変動に起因して異なる歩行を使用する場合がある。一部の歩行が、特定の名前(たとえば、徒歩、早足、走行、跳躍、ギャロップなど)を有する場合があるが、歩行の間の区別が、オーバーラップする場合がある。歩行は、足取りパターンすなわち、置く 足206A~206D ための表面上の位置に基づいて分類され得る。同様に、歩行は、歩行力学に基づいても分類され得る。
【0048】
[0056] ロボット200の本体208は、脚204A~204Dに接続し、ロボット200の様々な構成要素を収容することができる。たとえば、本体208は、センサ(1つまたは複数)210を含みまたは保持することができる。これらのセンサは、カメラ、ライダ、または赤外線センサなど、センサ(1つまたは複数)112の文脈で議論したセンサのいずれかとすることができる。さらに、センサ(1つまたは複数)210の位置は、図2に示された位置に限定されない。したがって、センサ(1つまたは複数)210は、とりわけ、本体208上および/または脚204A~204Dのうちの1つまたは複数の上など、ロボット200上の様々な位置に位置決めされ得る。
【0049】
[0057] 図3は、別の例の実施態様による二足ロボット300を示す。ロボット200と同様に、ロボット300は、図1に示されたロボット・システム100に対応することができ、本明細書で説明される実施態様の一部を実行するように構成され得る。したがって、ロボット200と同様に、ロボット300は、機械構成要素110、センサ(1つまたは複数)112、動力源(1つまたは複数)114、電気構成要素116、および/または制御システム118のうちの1つまたは複数を含むことができる。
【0050】
[0058] たとえば、ロボット300は、本体308に接続された脚304および306を含むことができる。各脚は、関節によって接続され、お互いに関して様々な自由度で動作するように構成された、1つまたは複数の部材からなるものとすることができる。各脚は、表面(たとえば、地面)と接触することのできるそれぞれの足310および312をも含むことができる。ロボット200と同様に、脚304および306は、ロボット300が、歩行内で示される力学に従って様々な速度で移動することを可能にすることができる。しかし、ロボット300は、少なくとも部分的に二足能力と四足能力との間の差に起因して、ロボット200の歩行とは異なる歩行を利用する可能性がある。
【0051】
[0059] ロボット300は、腕318および320をも含むことができる。これらの腕は、物体操作、荷重保持、および/またはロボット300のバランシングを容易にすることができる。脚304および306と同様に、各腕は、関節によって接続され、お互いに関して様々な自由度で動作するように構成された、1つまたは複数の部材からなるものとすることができる。各腕は、それぞれの手322および324をも含むことができる。ロボット300は、物体をつかみ、回し、引き、かつ/または押すのに手322および324を使用することができる。手322および324は、指、グリッパ、溶接工具、切断工具、その他など、様々なタイプの付加物またはアタッチメントを含むことができる。
【0052】
[0060] ロボット300は、センサ(1つまたは複数)112に対応し、その制御システムにセンサ・データを供給するように構成されたセンサ(1つまたは複数)314をも含むことができる。いくつかの場合に、これらのセンサの位置は、ロボット300の擬人化された構造を暗示するために選択され得る。したがって、図3に示されているように、ロボット300は、その頭316内に視覚センサ(たとえば、カメラ、赤外線センサ、物体センサ、距離センサなど)を含むことができる。
【0053】
III.全身マニピュレーションのために動的バランスを使用する例のロボット
[0061] 図4Aは、下側本体セクション408a、上側本体セクション408b、および中間本体セクション408cによって画定される本体408を含む例の二足ロボット400を示す。下側本体セクション408aおよび上側本体セクション408bは、中間本体セクション408cに結合される。下側本体セクション408aは、全体的に中間本体セクション408cから表面(たとえば、地面)に向かって下向きに延びる2つの脚404および406を含む。ロボット300の脚304および306と同様に、各脚404、406は、関節によって接続され、お互いに関して様々な自由度で動作するように構成された、1つまたは複数の部材を含むことができる。たとえば、図4Aに示されているように、脚404は、少なくとも部材404a1~a2および関節404b1~b2を含み、脚406は、少なくとも部材406a1~a2および関節406b1~b2を含む。
【0054】
[0062] 各脚404、406は、表面との直接接触を確立するためにそれぞれの足410、412をも含むことができる。脚404、406は、表面上でロボット400を安定して支持することができる。さらに、脚404、406は、ロボット400が、異なる歩行のための力学に従って様々な速度で移動することを可能にする。たとえば、図4Aに示されているように、脚404、406は、少なくとも、y軸に沿った前後の並進および/またはx軸に沿った左右の並進に従ってロボット400を移動するように動作可能である。
【0055】
[0063] 上側本体セクション408bは、それぞれの腕418、420の端に配置されたエンドエフェクタ422、424を含む。腕418、420は、それぞれのエンドエフェクタ422、424を位置決めするために上側本体セクション408bから外向きに延びることができる。ロボット300の腕318、320と同様に、各腕418、420は、関節によって接続され、お互いに関して様々な自由度で動作するように構成された、1つまたは複数の部材を含むことができる。たとえば、図4Aに示されているように、腕418は、少なくとも、部材418a1~a2および関節418b1~b2を含み、腕420は、少なくとも、部材420a1~a2および関節420b1~b2を含む。
【0056】
[0064] エンドエフェクタ422、424は、物体を操作すること、荷重に作用することなどによって仕事を実行するのに使用され得る。たとえば、ロボット400は、物体をつかみ、回し、保持し、引き、かつ/または押すのにエンドエフェクタ422、424を使用することができる。図示されているように、エンドエフェクタ422、424は、可動の指を有する手様構造とすることができる。代替案では、エンドエフェクタ422、424は、グリッパ、溶接工具、切断工具、および類似物など、他のタイプの付加物またはアタッチメントを含むことができる。
【0057】
[0065] 図4Aに示されているように、中間本体セクション408cは、ロボット400の二足構成に関して骨盤として働き、またはこれに似たものとすることができる。中間本体セクション408cは、下の下側本体セクション408aによって支持され、対応して、中間本体セクション408cは、上の上側本体セクション408bを支持する。下でさらに説明するように、中間本体セクション408cは、脚404、406およびエンドエフェクタ422、424の所望の位置決めおよび動作を可能にするために位置決めされ、かつ/または方位付けされ得る。
【0058】
[0066] ロボット400は、上で説明したロボット・システム100の諸態様を含むことができる。具体的には、センサ112に似たセンサが、他の構成要素および/または外部環境に対する相対的なロボット400の構成要素の位置および移動に関する情報を供給することができる。たとえば、図4Aに示されているように、ロボット400は、頭416内にセンサ414(たとえば、カメラ、赤外線センサ、物体センサ、距離センサなど)を含むことができる。
【0059】
[0067] さらに、図5に示されているように、ロボット400は、下側本体制御システム417a、上側本体制御システム417b、およびマスタ制御システム417cを有する制御システム417を含み、これらのそれぞれは、上で説明した制御システム118の諸態様を含むことができる。下側本体制御システム417aは、下側本体セクション408aの諸態様を動作させることができる。上側本体制御システム417bは、上側本体セクション408bの諸態様を動作させることができる。マスタ・コントローラー417cは、ロボット400の他の態様を制御することができる。マスタ・コントローラー417cは、下側本体制御システム417aおよび上側本体制御システム417bのアクションを調整することもできる。
【0060】
[0068] 制御システム417a~cのそれぞれは、ロボット400のそれぞれの態様を動作させるためにセンサからセンサ・データを受信することができる。制御システム417a~cは、図5では別々の要素として図示されているが、制御システム417a~cの諸態様は、共通のハードウェアおよび/またはソフトウェアを用いて実施され得る。
【0061】
[0069] 足410、412の所望の位置および/または脚404、406に関する所望の力を達成するために、下側本体制御システム417aは、関節の対応する位置およびそれぞれの脚404、406の部材の方位付けを判定するために逆運動学ソルバ419aを使用することができる。その一方で、エンドエフェクタ422、424の所望の位置を達成するために、上側本体制御システム417aは、関節の対応する位置およびそれぞれの腕418、420の部材の方向付け判定するために逆運動学ソルバ419bを使用することができる。
【0062】
[0070] 一般に、逆運動学は、それぞれの足410、412またはエンドエフェクタ422、424が目標位置に達することを可能にするために、脚404,406または腕418、420の関節などの構成要素のパラメータを判定するためのロボット400の運動学方程式の使用を指す。運動計画は、足410、412またはエンドエフェクタ422、424が目標位置に達することができるようにするためのロボットの移動を指定する。逆運動学ソルバ419a、419bは、運動計画をロボット400の構成要素(たとえば、関節)のアクチュエータ軌跡に変換する。
【0063】
[0071] 下側本体制御システム417aは、表面上でロボット400のバランスを動的にとるために脚404、406を動作させることができ、上側本体制御システム417bは、仕事を実行するために腕418、420およびエンドエフェクタ422、424を動作させることができる。図4Aに示されているように、足410が表面に接触している時に、脚404は、脚404によって印加される力に応答する反力Fr1を経験する。同様に、足412が表面に接触している時に、脚406は、脚406によって印加される力に応答する反力Fr2を経験する。各反力Fr1、Fr2は、x軸、y軸、およびz軸のうちの1つまたは複数に沿った成分を含む可能性がある。
【0064】
[0072] 下側本体制御システム417aは、反力Fr1、Fr2が、腕418、420およびエンドエフェクタ422、424の動作を支持するバランスをロボット400が維持することを可能にするようにするために脚404、406を動的に制御することができる。ロボット400によって経験されるすべてのモーメントに応答して、反力Fr1、Fr2は、ロボット400のバランスをとるために、それぞれ対向するモーメントMr1、Mr2(図示せず)を作ることもできる。エンドエフェクタ422、424の動作中に脚404、406によって提供される動的バランシングは、実際の人間による実際の動きによりよく似る全身マニピュレーションを構成する。
【0065】
A.下側本体を用いる例のバランシング
[0073] 図4Bを参照すると、ロボット400は、脚404のみによって表面上で支持されている。ロボット400の重量すなわち重力Fgrは、足410を介して負のz方向で表面に印加される。重力Fgrは、効果的に、本体408の質量中心(COM)で負のz方向に作用する。反力Fr1の成分が、重力Fgrと等しい大きさを伴って、足410で正のz方向に印加される。したがって、重力Fgrは、反力Fr1のz成分によってバランスをとられる。
【0066】
[0074] しかし、ロボット400の質量中心が、x軸および/またはy軸に沿って足410に整列されていない場合には、重力Fgrが、足410でモーメントMgrを生じる可能性がある。モーメントMgrは、x軸および/またはy軸回りの成分を含むことができる。反力Fr1は、足410と表面との間の摩擦力を含み、この摩擦力は、x方向および/またはy方向で足410に作用する。この摩擦力は、重力Fgrによって作られたモーメントMgrに対向するトルクをもたらす。モーメントMgrが、摩擦力によってもたらされ得る最大トルクを超えない場合に、ロボット400は、バランスを維持することができる。その一方で、モーメントMgrが最大トルクを超える場合には、足410が滑る可能性があり、モーメントMgrが、ロボット400にバランスを失わせる可能性がある。
【0067】
[0075] 足410が表面上の所与の位置にある状態で、下側本体制御システム417aは、脚404に対する反力Fr1の影響を制御し、バランス 本体408を達成するために、部材404a1~a2および関節404b1~b2の位置および方向付けを制御することができる。たとえば、下側本体制御システム417aが、図4Bに示されたロボット400がモーメントMgrに起因してバランスを維持できないと判定する場合に、下側本体制御システム417aは、x軸および/またはy軸に沿った足410とのより近い整列にロボット400の質量中心を再位置決めするために、脚404の部材404a1~a2および関節404b1~b2を制御することができる。これは、モーメントMgrを減少させ、反力Fr1からの摩擦力が上で説明したようにロボット400のバランスをとることを可能にすることができる。
【0068】
[0076] 図4Bに示されているように、下側本体制御システム417aが、質量中心を再位置決めする時に、中間本体セクション408cは、x方向およびy方向で位置(x,y,z)から新しい位置(x’,y’,z)へ、対応して移動することができる。図4Bの質量中心は、中間本体セクション408cと一致して見える可能性があるが、質量中心が、ロボット400に対して相対的に他の位置に配置され得ることを理解されたい。
【0069】
[0077] 図4Bには図示されていないが、脚406は、脚404と同様の形で操作され得る。一般に、足410、412が表面上の所与の位置にある状態で、下側本体制御システム417aは、反力Fr1およびFr2が本体408にどのように影響するのかを制御するために、脚404、406の部材および関節を再位置決めし、かつ/または再方向付けすることができる。具体的には、下側本体制御システム417aは、反力Fg1およびFg2が本体408のバランスをとるようにするために、脚を制御することができる。
【0070】
[0078] 実際に、足410、412の両方が、表面に同時に接触することができ、脚404、406が、反力Fr1およびFr2を経験する場合がある。重力Fgrは、反力Fr1およびFr2のz成分の和によってバランスをとられ得る。さらに、下側本体制御システム417aは、質量中心の位置を変更し、反力Fr1およびFr2(たとえば、摩擦力)からの対向するモーメントMr1、Mr2が重力FgrからのモーメントMgrとバランスをとることを可能にするために、脚404、406の部材および関節を制御することができる。
【0071】
B.エンドエフェクタの動作を支持するための下側本体を用いる動的バランシング
[0079] 上で説明したように、上側本体制御システム417bは、それぞれの仕事を実行するために各エンドエフェクタ422、424を動作させることができる。異なる仕事を実行するために、上側本体制御システム417bは、物体に達し、これを移動し、荷重に作用するなどのために、腕418、420を用いてエンドエフェクタ422、424を異なる位置に移動することができる。
【0072】
[0080] たとえば、図4Aに示されているように、エンドエフェクタ424は、当初に、座標(xe2,ye2,ze2)に位置決めされる。図4Cでは、上側本体制御システム417bは、仕事を実行するために、エンドエフェクタ424を(xe2’,ye2’,ze2’)に再位置決めする。再位置決めのために、上側本体制御システム417bは、エンドエフェクタ424を目標位置(xe2’,ye2’,ze2’)に延ばすために、腕420の部材420a1~a2および関節420b1~b2を動作させる。
【0073】
[0081] 腕418、420に関連する質量に依存して、ロボット400の質量中心の位置は、腕418、420および対応するエンドエフェクタ422、424が再位置決めされる時に変化する可能性がある。質量中心の位置の変化は、本体408に対する重力Fgrの影響を変化させる。具体的には、重力Fgrによって作られるモーメントMgrも変化する。ロボット400のバランスを維持するために、脚404、406の部材および関節は、新しいモーメントMとバランスをとる反力Fr1、Fr2を達成するために再位置決めされ、かつ/または方向付けされる必要がある場合がある。
【0074】
[0082] 仕事を実行する時に、各エンドエフェクタ422、424は、図4Aに示されているように、それぞれの外部エンドエフェクタ力Fe1、Fe2を経験する場合もある。たとえば、各エンドエフェクタ422、424が、それぞれの物体を保持するという仕事を課されている場合に、それぞれのエンドエフェクタ力Fe1、Fe2は、負のz方向に作用するそれぞれの物体の重量を含むことができる。別の例では、エンドエフェクタ422、424が、表面に沿って大きい物体を押すという仕事を課されている場合に、エンドエフェクタ力Fe1、Fe2は、大きい物体と表面との間の対向する摩擦力を含むことができる。両方のエンドエフェクタ力Fe1、Fe2図4Aに図示されているが、エンドエフェクタ410、412は、必ずしも同時にエンドエフェクタ力Fe1、Fe2を経験するわけではない。
【0075】
[0083] したがって、ロボット400は、重力Fgrに加えてエンドエフェクタ力Fe1、Fe2を経験する場合がある。さらに、ロボット400は、それぞれエンドエフェクタ力Fe1、Fe2によって作られるモーメントMe1、Me2を経験する場合がある。したがって、下側本体制御システム417aは、表面上でロボット400のバランスをとるために、外部エンドエフェクタ力Fe1、Fe2ならびに重力Fgrの影響を考慮に入れることもできる。具体的には、下側本体制御システム417aは、反力Fr1、Fr2が、力Fe1、Fe2、Fgrの和ならびに力Fe1、Fe2、Fgrによって作られるモーメントの和のバランスをとることを可能にするために、脚404、406の部材および関節を制御することができる。
【0076】
[0084] たとえば、エンドエフェクタ422、424が物体を保持している場合に、エンドエフェクタ力Fe1、Fe2は、負のz方向に作用する各物体の重量を含む。重力Fgrに加えて、脚404、406は、足410、412を介して表面に各物体の重量を印加する。反力Fr1、Fr2は、これに対応して、脚404、406によって印加される力とバランスをとるために、正のz方向に力を印加する。
【0077】
[0085] さらに、重力Fgrによって作られるモーメントMgrに加えて、力Fe1、Fe2は、モーメントMe1、Me2をも作る。反力Fr1、Fr2は、対応して、モーメントMe1、Me2に対向するモーメントMr1、Mr2を作る。下側本体制御システム417aは、モーメントMr1、Mr2がモーメントMe1、Me2とバランスをとれるようにするために、脚404、406の部材および関節を動作させることができる。たとえば、反力Fr1、Fr2は、正のy方向に作用し、モーメントMe1、Me2に対向するためのトルクを提供する摩擦力を含むことができる。
【0078】
[0086] 下側本体制御システム417aが、エンドエフェクタ422、424の位置決めおよび操作によって作られる力およびモーメントを考慮に入れることを可能にするために、上側本体制御システム417bは、エンドエフェクタ422、424の位置ならびにエンドエフェクタ力Fe1、Fe2およびモーメントMe1、Me2に関する情報を下側本体制御システム417aに通信することができる。たとえば、上側本体制御システム417bは、エンドエフェクタ力Fe1、Fe2およびモーメントMe1、Me2を判定するために、力センサおよびトルク・センサから信号を受信することができる。
【0079】
[0087] 上側本体制御システム417bは、任意の個数およびシーケンスの仕事を実行するためにエンドエフェクタ422、424を制御することができる。したがって、腕418、420およびエンドエフェクタ422、424は、常に移動している可能性があり、変化するエンドエフェクタ力Fe1、Fe2を経験する可能性がある。有利なことに、下側本体制御システム417aは、上側本体セクション408bのアクションをサポートするために本体408のバランスを動的にとることができる。下側本体制御システム417aは、上側本体セクション408bによる連続したアクティビティのために連続したバランスを実現するために、上で説明したように脚404、406を同時に動作させることができる。上側本体制御システム417bは、各仕事を実行するためにエンドエフェクタ422、424を動作させる前に静的バランスを確立するために、下側本体制御システム417aに頼ることはしない。
【0080】
[0088] 下側本体制御システム417aが、下側本体セクション408aを制御するので、上側本体制御システム417bは、中間本体セクション408cを介して接続された仮想リンクとして下側本体セクション408aを表現し、処理することによって、上側本体セクション408bを制御することができる。仮想リンクを用いると、下側本体セクション408aおよび上側本体408bの制御が、それぞれ下側本体制御システム417aと上側本体制御システム417bとの間で分割されるので、制御システム417の実施態様は単純化される。上側本体制御システム417bは、一般に、上側本体制御システム417bがエンドエフェクタ422、424を用いる仕事の実行に焦点を合わせることができるので、下側本体制御システム417aが、上側本体セクション408bをサポートするためのバランスを動的に提供すると仮定することができる。
【0081】
[0089] 腕418、420に加えて、上側本体制御システム417bは、エンドエフェクタ422、424を位置決めし、動作させるために、下側本体セクション408bに対して相対的に中間本体セクション408cを位置決めし、かつ/または方向付けすることができる。中間本体セクション408cは、6自由度すなわち(1)y軸に沿った前後の並進、(2)x軸に沿った左右の並進、(3)z軸に沿った上下の並進、(4)x軸回りのピッチ回転、(5)y軸回りのロール回転、および(6)z軸回りのヨー回転のうちの任意の1つまたは複数に従って位置決めされ、かつ/または方向付けされ得る。たとえば、ロボット400の左にある物体に達するために、上側本体制御システム417bは、中間本体セクション408cにz軸回りに回転(すなわち、ヨー回転)させることができる。
【0082】
[0090] 上の例で説明したように、下側本体制御システム417aは、本体408のバランスをとるために、x軸および/またはy軸に沿ってロボット400の質量中心を再位置決めすることができる。これは、x軸(左右の横並進)および/またはy軸(前後の並進)に沿った中間本体セクション408cによる移動を含む場合もある。したがって、下側本体セクション408aを用いて本体408のバランスをとるために、下側本体制御システム417aが、中間本体セクション408cの1つまたは複数の自由度を制御する必要がある場合がある。
【0083】
[0091] その結果、上側本体制御システム417bは、下側本体セクション408aの動的にバランスをとる能力に影響する可能性がある自由度に従って中間本体セクション408cを移動することを制約される可能性がある。この制約は、動的にバランスをとるために下側本体制御システム417aを解放する。そのような制約は、上側本体制御システム117bが、中間本体セクション408cを介して接続された仮想リンクとして下側本体セクション408aを表現しまたは考慮することを可能にする。
【0084】
[0092] たとえば、下側本体制御システム417aが、x軸(左右の横並進)および/またはy軸(前後の並進)に沿った中間本体セクション408cの位置を制御する必要がある場合に、上側本体制御システム417bは、これらの自由度を制約される可能性がある。上側本体制御システム417bの逆運動学ソルバ419bは、エンドエフェクタ422、424の位置決めを判定する時に、この2つの自由度を制約として扱うことができる。その結果、上側本体制御システム417bは、残りの4つの自由度すなわち、z軸に沿った上下の並進、x軸回りのピッチ回転、y軸回りのロール回転、およびz軸回りのヨー回転のいずれかに従って中間本体セクション408cの位置を制御する。
【0085】
[0093] エンドエフェクタ力Fe1、Fe2は、中間本体セクション408cに結果として生じる直線力Fおよび/またはモーメントMを生成する。図4Dは、中間本体セクション408cに印加される直線力FおよびモーメントMと共にロボット400の分解図を示す。たとえば、力センサおよびトルク・センサを使用することによって、上側本体制御システム417bは、直線力FおよびモーメントMを判定し、この情報を下側本体制御システム417aに通信することができる。したがって、下側本体制御システム417aは、反力Fr1、Fr2が中間本体セクション408cでの直線力Fおよび/またはモーメントMとバランスをとることができるようにするために、脚404、406を動作させることができる。
【0086】
[0094] 図5に示されているように、上側本体制御システム417bは、下側本体制御システム417aに直線力FおよびモーメントMを通信する。さらに、下側本体制御システム417aは、1つまたは複数の自由度のセットDoFに従って中間本体セクション408cを制御する。その一方で、上側本体制御システム417bは、DoFの自由度を含まない、1つまたは複数の自由度の異なるセットDoFに従って中間本体セクション408cを制御する。
【0087】
[0095] さらに、下側本体制御システム417aは、直線力Fおよび/またはモーメントMが上側本体セクション408bの動作に伴って変化する時に、直線力Fおよび/またはモーメントMのバランスを動的にとることができる。上側本体制御システム417bは、直線力FおよびモーメントMに対する変更を通信することによって、この動的なバランシングを可能にする。
【0088】
[0096] したがって、図6は、上側本体セクション408bによって実行されるアクティビティをサポートするために下側本体セクション408aを操作する例のプロセス500を示す。ステップ502では、上側本体制御システム417bが、エンドエフェクタ422、424のうちの少なくとも1つを動作させる。少なくとも1つのエンドエフェクタ422、424は、上側本体制御システム417bによる動作に基づくエンドエフェクタ力Fe1、Fe2を経験する。中間本体セクション408cは、エンドエフェクタ力Fe1、Fe2に基づく、第1の中間本体直線力Fまたは第1の中間本体モーメントMのうちの少なくとも1つを経験する。ステップ504では、上側本体制御システム417bが、第1の中間本体直線力Fおよび第1の中間本体モーメントMに関する情報を下側本体制御システムに通信する。
【0089】
[0097] ステップ506では、下側本体制御システム417aが、少なくとも1つの可動エンドエフェクタ422、424の動作に応答して1つまたは複数の脚404、406を動作させる。1つまたは複数の脚404、406は、下側本体制御システム417aによる動作に基づく表面からのそれぞれの反力Fr1、Fr2を経験する。中間本体セクション408cは、反力Fr1、Fr2に基づく第2の中間本体直線力または第2の中間本体モーメントのうちの少なくとも1つを経験する。下側本体制御システム417aによる1つまたは複数の脚404、406の動作は、第2の中間本体直線力および/または第2の中間本体モーメントを決定する。第2の中間本体直線力は、エンドエフェクタ力Fe1、Fe2から生じる中間本体セクション408cに対する第1の中間本体直線力Fを打ち消す。第2の中間本体モーメントは、エンドエフェクタ力Fe1、Fe2から生じる中間本体セクション408cに対する第1の中間本体モーメントMを打ち消す。
【0090】
[0098] プロセス500は、下側本体制御システム417aが、1つまたは複数の脚404、406の動作に基づく自由度の第1のセットに従って中間本体セクション408cを位置決めするステップ506aをも含むことができる。対応して、プロセス500は、上側本体制御システム417bが、少なくとも1つの可動エンドエフェクタ422、424の動作に応答して中間本体セクション408cを位置決めするステップ502aをさらに含むことができる。上側本体制御システム417bによる中間本体セクション408cのこの位置決めは、自由度の第2のセットに従う移動を含む。上側本体制御システム417bは、自由度の第1のセットに従って中間本体セクションの位置決めを制約される。
【0091】
[0099] 上側本体制御システム417bが、下側本体制御システム417aと直接に通信することができるが、マスタ・コントローラー417cが、下側本体制御システム417aと上側本体制御システム417bとの間の相互作用を調整するのを助けることもできる。たとえば、上側本体制御システム417bが、エンドエフェクタ422、424のうちの1つを所望の位置に移動することを計画する場合がある。マスタ・コントローラー417cは、上側本体制御システム417bがエンドエフェクタ422、424を所望の位置に移動することを試みる場合に、足410、412の現在位置によってバランスが維持され得るかどうかを判定することができる。バランスを維持できない場合には、マスタ・コントローラー417cは、エンドエフェクタ422、424が目標位置でより安定して位置決めされることを可能にする新しい位置に足410、412を移動するように下側本体制御システム417aに知らせることができる。代替案では、下側本体制御システム417aが、ロボット400が新しい位置に移動されなければならないかどうかを判定することができる。
【0092】
[0100] 所与の位置で足410、412を用いてバランスを達成するための脚404、406の部材および関節の制御に加えて、下側本体制御システム417aは、反力Fr1、Fr2を変更するために表面上で足410、412を再位置決めすることもできる。足410、412の再位置決めは、重力Fgrが足410、412で作るモーメントを変更することもできる。その結果として生じる反力Fr1、Fr2は、ロボット400に関するより効果的なバランスを作ることができる。
【0093】
[0101] 上で説明したように、上側本体制御システム417bは、中間本体セクション408cを介して接続された仮想リンクとして下側本体セクション408aを表現し、処理することによって、上側本体セクション408bを制御することができる。有利なことに、仮想リンクは、エンドエフェクタ422、424の位置決めおよび移動(速度)が下側本体セクション408aの動きに関して補償されることを可能にする(位置保持(station keeping)とも称する)。たとえば、上側本体制御システム417bが、世界内のある静止物体に対して相対的にある速度で移動するようにエンドエフェクタ422、424に指令する場合に、そのような移動は、上側本体制御システム417bが下側本体セクション408a(バランスおよび移動を主に扱う)の直接制御を有しない場合であっても、下側本体セクション408aの動きを考慮に入れなければならない。この場合に、下側本体制御システム417aは、仮想リンク速度を推定し、その速度を上側本体制御システム417bに渡すことができ、上側本体制御システム417bは、それ相応に逆運動学ソルバ419bを調整することができる。逆運動学ソルバ419bは、静的なワールド・フレーム内でエンドエフェクタ422、424の所望の速度を達成する上側本体セクション408bの運動計画を判定するのに、仮想リンクの速度を使用することができる。
【0094】
[0102] 本明細書で説明される例は、力センサ/トルク・センサによって検出されるエンドエフェクタ力に応答して動的バランシングを達成することができるが、動的バランシングは、他の実施形態では期待されるまたは所望のエンドエフェクタ力の計算に基づいても達成され得る。そのような実施態様では、下側本体制御システム417aは、すべてのバランス誤差または位置決め誤差が発生する前に、期待されるまたは所望のエンドエフェクタ力を、機先を制して有利に補償する。
【0095】
[0103] さらに、本明細書で説明される例は、エンドエフェクタによって支持される荷重に応答して動的バランシングを達成することができるが、動的バランシングは、他の実施形態では、他の荷重がそれに加えてまたはその代わりに上側本体セクションによって経験される時にも達成され得る。たとえば、上側本体セクションは、高速運動中に、腕、エンドエフェクタ、またはペイロードを加速するのに必要な力など、動的な力を経験する場合がある。そのような動的な力は、中間本体セクションに対する結果として生じる直線力および/またはモーメントをも生成し、下側本体制御は、反力を用いてこの直線力および/またはモーメントのバランスをとることもできる。
【0096】
C.ロボットによる移動中のエンドエフェクタの動作をサポートするための下側本体のバランシング
[0104] 下側本体制御システム417aは、所望の歩行に従ってロボット400を移動するために反力Fr1、Fr2をさらに制御することができる。たとえば、図4Bに示されているようにロボット400のバランスをとるために脚404だけを制御するのではなく、下側本体制御システム417aは、表面上に足412を置くために脚406を動作させることもできる。結果として生じる反力Fr2は、重力Fgrによって作られるモーメントMgrとバランスをとるために対向するモーメントMr2を作ることができる。したがって、モーメントMgrとバランスをとるために表面上に足412を置くことは、歩行の1ステップを構成することができる。
【0097】
[0105] 足412が置かれ、ロボット400がバランスをとられた後に、下側本体制御システム417aは、質量中心を再位置決めするために脚404、406を動作させ、重力Fgrを用いて別のモーメントMgrを作ることができる。モーメントMgrは、本体408を前に倒れさせるが、下側本体制御システム417aは、足410を前にスイングし、足410を表面に置くために脚404を動作させることができる。足410に対する結果として生じる反力Fr1は、モーメントMgrのバランスをとる別の対向するモーメントMr1を作る。したがって、表面に足410を置くことは、第2のステップを構成する。代替案では、足410、412によるステップの繰返しが、歩行をもたらす。説明したように、下側本体制御システム417aは、本体408が次のステップのためにもう一度前に倒れさせる前に、各交番するステップを用いてバランスの状態を確立することができる。
【0098】
[0106] 反力Fr1、Fr2は、重力Fgrの影響のバランシングに限定されない。各足410、412が表面に接触する時に、下側本体制御システム417aは、表面に追加の力を印加するためにそれぞれの脚404、406を動作させることができる。たとえば、脚410、412は、負のy方向に力を印加することができる。この力に応答して、それぞれの反力Fr1、Fr2のy成分が、足410、412に対して正のy方向に作用する。このy成分は、足410、412と表面との間の摩擦から生じる。したがって、地面の反力Fr1、Fr2は、本体408を前向きに正のy方向に押すのを助けることのできる力を印加する。したがって、負のy方向での力の印加は、より速い歩行を達成するために表面を押すことを構成することができる。
【0099】
[0107] それに加えてまたはその代わりに、脚410、412は、正または負のx方向で表面に力を印加することができる。この力に応答して、それぞれの地面の反力Fr1、Fr2のx成分は、足410、412に対向するx方向で作用する。このx成分は、足410、412と表面との間の摩擦から生じる。したがって、反力Fr1、Fr2は、本体408を横に正および/または負のx方向に押すのを助けることのできる力を印加する。
【0100】
[0108] 下側本体制御システム417aは、ロボット400が歩行に従って移動している間にエンドエフェクタ422、424が位置決めされ動作させられることを可能にするために本体408のバランスを動的にとることができる。実際に、ロボット400は、地面に沿って歩きまたは走ることができ、動的バランシングに起因して、ロボット400は、歩行を中断することなく、たとえば物体をつかむために、エンドエフェクタ422を位置決めするために腕418を同時に動作させることができる。歩行中の所与の時のエンドエフェクタ422、422の所望の動作のためにバランスを作るために、下側本体制御システム417aは、ロボット400が歩行に従って移動する時に脚404、406によって印加され/経験される追加の力を考慮に入れることができる。本体408のバランスをとり、移動するための所望の反力Fr1、Fr2を達成するために、下側本体制御システム417aは、脚404、406の部材および関節を位置決めし、方向付けるための対応する速度を判定するのに逆運動学を使用することができる。さらに、下側本体制御システム417aは、上で説明したバランシング・プロセス中に歩行を維持するために、足410、412の位置決め/再位置決めを動的に調整することができる。
【0101】
IV.結論
[0109] 前述に鑑みて、ロボットは、そのエンドエフェクタを動作させながら、表面上でそれ自体のバランスを動的にとるためにその脚を動作させることができる。脚が表面(たとえば、地面)に接触する時に、脚は、表面に力を印加し、表面からの反力を経験する。ロボットは、ロボットがエンドエフェクタの動作をサポートするバランスを維持することを反力が可能にするようにするために、脚を動的に制御することができる。
【0102】
[0110] 例の実施態様は、二足ロボットを含むことができるが、他の構成は、上側本体が1つまたは複数のエンドエフェクタを用いて仕事を実行する間に動的バランシングを提供する下側本体を含むことができる。さらに、上の例は、エンドエフェクタ422、424に関連する力Fe1、Fe2およびモーメントMe1、Me2のバランシングを説明することができるが、ロボットが、ロボットの他の構成要素での荷重からの力およびモーメントを経験する場合があることを理解されたい。たとえば、ロボットは、積荷を保持するための容器を含むことができる。ロボットは、これらの他の荷重を同様に考慮に入れることによって、動的バランシングを達成することができる。
【0103】
[0111] 上記の詳細な説明は、添付図面を参照して、開示されるシステム、デバイス、および方法の様々な特徴および機能を説明するものである。図面では、文脈がそうではないことを示さない限り、同様の記号は、通常は同様の構成要素を識別する。詳細な説明、図面、および特許請求の範囲で説明される例示的な実施態様は、限定的であることを意図されたものではない。本明細書で提示される主題の範囲から逸脱せずに、他の実施態様を利用することができ、他の変更を行うことができる。本明細書で全体的に説明され、図面に示された本開示の諸態様が、様々な異なる構成で配置され、置換され、組み合わされ、分離され、設計され得ることが、たやすく理解されよう。
【0104】
[0112] 図内および本明細書で説明されるメッセージ・フロー図、シナリオ、および流れ図のいずれかまたはすべてに関して、各ステップ、ブロック、および/または通信は、例の実施態様による情報の処理および/または情報の伝送を表すことができる。代替の実施態様が、これらの例の実施態様の範囲内に含まれる。これらの代替実施態様では、たとえば、ステップ、ブロック、伝送、通信、要求、応答、および/またはメッセージとして説明される機能が、用いられる機能性に応じて、実質的に同時または逆順を含めて、図示されまたは議論される順序から外れた順序で実行され得る。さらに、より多数またはより少数のステップ、ブロック、および/または機能が、本明細書で議論されるメッセージ・フロー図、シナリオ、および流れ図のいずれかと共に使用され得、これらのメッセージ・フロー図、シナリオ、および流れ図が、部分的または全体的に、お互いと組み合わされ得る。
【0105】
[0113] 情報の処理を表すステップまたはブロックは、本明細書で説明される方法または技法の特定の論理機能を実行するように構成され得る回路網に対応することができる。その代わりにまたはそれに加えて、情報の処理を表すステップまたはブロックは、プログラム・コード(関連するデータを含む)のモジュール、セグメント、または一部に対応することができる。プログラム・コードは、方法または技法内の特定の論理機能を実施するためにプロセッサによって実行可能な1つまたは複数の命令を含むことができる。プログラム・コードおよび/または関連するデータは、ディスク・ドライブ、ハード・ドライブ、または他の記憶媒体を含む、ストレージ・デバイスなどの任意のタイプのコンピュータ可読媒体上に記憶され得る。
【0106】
[0114] コンピュータ可読媒体は、レジスタ・メモリ、プロセッサ・キャッシュ、および/またはランダム・アクセス・メモリ(RAM)など、短い時間期間にわたってデータを記憶するコンピュータ可読媒体などの非一時的コンピュータ可読媒体を含むことができる。たとえば、コンピュータ可読媒体は、読取専用メモリ(ROM)、光ディスク、磁気ディスク、および/またはコンパクト・ディスク読取専用メモリ(CD-ROM)など、二次または永続的な長期ストレージなど、より長い時間期間にわたってプログラム・コードおよび/またはデータを記憶する非一時的コンピュータ可読媒体をも含むことができる。コンピュータ可読媒体は、任意の他の揮発性または不揮発性のストレージ・システムとすることもできる。コンピュータ可読媒体は、たとえば、コンピュータ可読記憶媒体または有形の記憶デバイスと考えられ得る。
【0107】
[0115] さらに、1つまたは複数の情報伝送を表すステップまたはブロックは、同一の物理デバイス内のソフトウェア・モジュールおよび/またはハードウェア・モジューの間の情報伝送に対応することができる。しかし、他の情報伝送は、異なる物理デバイス内のソフトウェア・モジュールおよび/またはハードウェア・モジューの間とすることができる。
【0108】
[0116] 様々な態様および実施態様が本明細書で開示されたが、他の態様および実施態様が、当業者に明白になろう。本明細書で開示された様々な態様および実施態様は、例示のためのものであって限定的であることは意図されておらず、真の範囲は、以下の特許請求の範囲によって示される。
図1
図2
図3
図4A
図4B
図4C
図4D
図5
図6