(57)【要約】【課題】ロボット装置の脚の位置を制御してロボット装置のバランスをとる。【解決手段】制御装置が、ロボットに接続された複数のセンサに対応するそれぞれの関節角を示す第１の複数の測定値を受信し得る。ロボットは、本体と、それぞれの特性に関連した本体に接続された複数の関節肢とを含み得る。制御システムはまた、ロボット本体の姿勢を示す本体の姿勢測定値を受信することもできる。制御システムは、第１の複数の測定値と、ロボットの関節肢に関連した特性に基づく本体の姿勢測定値との間の関係をさらに判定することを含む。加えて、制御システムは、第１の複数の測定値、本体の姿勢測定値、及び判定された関係に基づきロボットの集合的姿勢を推定し得る。さらに、制御システムは、命令を与えて、ロボットの推定された集合的姿勢に基づきロボットの少なくとも１つの関節肢を制御し得る。【選択図】図２
2019089200.tif 000002
【特許請求の範囲】
【請求項１】
ロボットによって、前記ロボットに接続された複数のセンサに対応するそれぞれの関節角を示す第１の複数の測定値を受信することであって、前記ロボットは、本体と、前記本体に接続された複数の関節肢とを含み、前記関節肢はそれぞれの特性に関連している、第１の複数の測定値を受信すること、
前記ロボットの前記本体の姿勢を示す本体の姿勢の測定値を受信すること、
前記第１の複数の測定値と、前記ロボットの前記関節肢に関連した前記特性に基づく前記本体の姿勢の測定値との間の関係を判定すること、
前記第１の複数の測定値、前記本体の姿勢の測定値、及び前記判定された関係に基づく集合的姿勢を推定すること、及び
前記ロボットの前記推定された集合的姿勢に基づき、命令を提供して前記ロボットの少なくとも１つの関節肢を制御すること、を含む方法。
【請求項２】
前記判定された関係は第１の関係であり、前記方法は、
１つ以上のそれぞれの動作範囲内である前記第１の複数の測定値の１つ以上に対応する前記ロボットの動作の特定のモードを判定すること、及び
前記第１の複数の測定値と、（ｉ）前記ロボットの前記関節肢に関連した前記それぞれの特性及び（ｉｉ）前記ロボットの動作の前記判定された特定のモードに基づく前記動作の特定のモードに関連した前記本体の姿勢の測定値との間の第２の関係を判定することをさらに含む、請求項１の方法。
【請求項３】
前記ロボットの前記姿勢を推定することは、前記ロボットが前記特定の動作のモードで動作していることを判定することに基づき、前記第１の測定値、前記本体の姿勢の測定値、及び前記第２の関係に基づく前記ロボットの前記姿勢を推定することを含む、請求項２の方法。
【請求項４】
前記ロボットの少なくとも１つの関節肢を制御する命令を提供することは、
前記推定された集合的姿勢に基づき、前記ロボットのバランスを維持するために表面に前記ロボットの特定の関節肢を配置する力の程度を判定すること、及び
前記判定された力の程度を用いて前記表面に前記ロボットの前記特定の関節肢を配置する命令を提供することを含む、請求項１の方法。
【請求項５】
前記ロボットの少なくとも１つの関節肢を制御する命令を提供することは、
前記推定された集合的姿勢に基づき、前記ロボットのバランスを維持するために前記ロボットの特定の関節肢を移動させる場所を判定すること、及び
前記ロボットの前記特定の関節肢を前記判定場所に移動させる命令を提供することを含む、請求項１の方法。
【請求項６】
前記ロボットの前記推定された集合的姿勢を制御システムに提供することをさらに含み、前記制御システムは前記ロボットのバランスを維持するように構成されている、請求項１の方法。
【請求項７】
前記推定された集合的姿勢に基づく前記ロボットの予想軌道を示す進路を判定することと、
物体が前記判定進路内に存在することを判定すること、及び
前記物体が前記判定進路内に存在することを判定することに基づき、前記ロボットの少なくとも１つの肢を制御する命令を提供し、前記物体との衝突を回避することをさらに含む、請求項１の方法。
【請求項８】
前記ロボットの前記推定された集合的姿勢に基づく前記ロボットの角速度を推定することをさらに含み、前記ロボットの前記少なくとも１つの関節肢を制御する前記命令は、さらに前記判定された推定された角速度に基づく、請求項１の方法。
【請求項９】
前記提供される命令は第１の命令であり、前記方法は、
前記ロボットに加えられる外力を示す第２の複数の測定値を受信すること、
前記受信した第２の複数の測定値及び前記ロボットの前記推定された角速度に基づき、前記ロボットに加えられる前記外力によって引き起こされる前記推定された角速度の構成要素を判定すること、及び
前記ロボットに加えられる前記外力によって引き起こされる前記推定された角速度の前記判定された構成要素に基づき、前記ロボットの少なくとも１つの関節肢を制御する第２の命令を提供することをさらに含む、請求項８の方法。
【請求項１０】
前記提供される命令は第１の命令であり、前記方法は、
前記ロボットの所望の軌道を示す進路を提供すること、及び
提供された進路及び前記ロボットの前記推定された集合的姿勢に基づき、前記ロボットの少なくとも１つの関節肢を制御する第２の命令を提供し、前記ロボットを前記提供された進路に沿って移動するように操縦することをさらに含む、請求項１の方法。
【請求項１１】
前記提供される命令は第１の命令であり、前記方法は、
前記推定された集合的姿勢に基づき前記ロボットの構えが安定しているかどうかを判定すること、及び
前記ロボットの前記構えが安定していないと判定することに基づき、前記ロボットの少なくとも１つの関節肢を制御する第２の命令を提供し、前記ロボットの前記構えを調節することをさらに含む、請求項１の方法。
【請求項１２】
前記提供される命令が第１の命令であり、前記方法が、
前記ロボットに加えられる外力を示す第２の複数の測定値を受信すること、
前記ロボットの前記推定された集合的姿勢に基づき前記ロボットの推定された角速度を判定すること、
前記ロボットの前記関節肢の動きによって引き起こされる前記推定された角速度の構成要素を判定すること、及び
前記ロボットの前記関節肢の動きによって引き起こされる前記推定された角速度の前記判定構成要素に基づき、前記ロボットの少なくとも１つの関節肢を制御する第２の命令を提供することをさらに含む、請求項１の方法。
【請求項１３】
物体が前記ロボットの前にあるかどうかを判定すること、及び
前記物体が前記ロボットの前にあると判定することに応じて前記ロボットを停止させる命令を提供することをさらに含む、請求項１の方法。
【請求項１４】
物体が前記ロボットの特定の関節肢の届く範囲にあるかどうかを判定すること、及び
前記特定の関節肢が動いて前記物体との接触を回避できる角度を制限する命令を提供することをさらに含む、請求項１の方法。
【請求項１５】
前記提供される命令が第１の命令であり、前記ロボットは表面より上の中空にあり、前記方法は、
前記ロボットのバランスをとるために前記推定された集合的姿勢に基づき、前記複数の関節肢の中から所定の関節肢を調節する角度を、前記所定の関節肢が前記表面に降り着くとき判定すること、及び
前記所定の関節肢を前記判定された角度に調節する第２の命令を提供することをさらに含む、請求項１の方法。
【請求項１６】
前記ロボットに加えられる外力を示す第２の複数の測定値を受信すること、
前記第２の複数の測定値、前記第１の複数の測定値の少なくとも１つ、及び前記本体の姿勢の測定値に基づき前記ロボットの測定された角運動量を判定することであって、前記測定された角運動量は、第１の平均振幅を有するノイズを含む、前記ロボットの測定された角運動量を判定すること
前記ロボットの前記推定された集合的姿勢に基づき前記ロボットの角速度を推定すること、
前記測定された角運動量及び前記推定された角速度に基づき推定された角運動量を判定することであって、前記推定された角運動量は、第２の平均振幅を有するノイズを含み、前記第２の平均振幅は、第１の平均振幅より少ない、推定された角運動量を判定することをさらに含む、請求項１の方法。
【請求項１７】
ロボットであって、
本体と、
前記本体に接続された複数の関節肢であって、前記関節肢はそれぞれの特性に関連している複数の関節肢と、
前記関節肢のそれぞれの関節角を示す第１の複数の測定値を提供するように構成された第１の複数のセンサと、
前記ロボットの前記本体の姿勢を示す本体の姿勢の測定値を提供するように構成された第２のセンサであって、前記第２のセンサは前記本体に結合されている、第２のセンサと、
（ｉ）前記第１の複数の測定値と関節肢に関連した特性に基づく前記本体の姿勢の測定値との間の関係を判定し、かつ（ｉｉ）前記第１の複数の測定値、前記本体の姿勢の測定値、及び前記判定された関係を推定するように構成された処理システムと、
前記ロボットの前記推定された集合的姿勢に基づき前記ロボットの少なくとも１つの関節肢を制御する命令を提供するように構成された制御システムと、を含むロボット。
【請求項１８】
前記関節肢に関連した前記それぞれの特性は、各関節肢の質量及び各関節肢の形状を含み、前記判定された関係は、所定の関節肢を動かすことから生じるトルクと前記ロボットの前記部分にかけられるトルクとの関係を示す、請求項１７のロボット。
【請求項１９】
少なくとも１つのプロセッサによる実行時に、ロボットが動作を行うようにさせる、記憶された命令を有する非一時的なコンピュータ可読媒体であって、
ロボットに接続された複数のセンサに対応するそれぞれの関節角を示す第１の複数の測定値を受信することであって、前記ロボットは、複数の関節肢及び前記関節肢に関連したそれぞれの特性を備え、
前記ロボットの部分の姿勢を示す本体の姿勢の測定値を受信すること、
前記ロボットの第１の複数の測定値と関節肢に関連した特性に基づく本体の姿勢の測定値との間の関係を判定すること、
前記第１の複数の測定値、前記本体の姿勢の測定値、及び前記判定された関係を推定すること、及び
前記ロボットの前記推定された集合的姿勢に基づき、前記ロボットの少なくとも１つの関節肢を制御する命令を提供することを含む、非一時的なコンピュータ可読媒体。
【請求項２０】
前記動作は、
前記ロボットの前記推定された集合的姿勢を提供することをさらに含み、前記制御は前記ロボットのバランスを維持するように構成されている、請求項１９の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
[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]  場合によっては、予想進路に沿って物体が検出されると、処理システムは、ロボット装置が物体に当たるのを停止させるようにロボット装置に命令を提供し得る。
【００９１】
[00100]  いくつかの実施形態では、処理システムは、ロボット装置が通る所望の軌道を受信し得る。処理システムは、次いで、ロボット装置の所望の軌道及び推定された集合的姿勢に基づき、所望の軌道に沿って移動させるロボット装置を動作する仕方を判定し得る。これは、ロボット装置の姿勢及び／又は速度（ｘ方向、ｙ方向、及び／又はｚ方向に）を修正する命令を提供することを含み得る。
【００９２】
ＩＶ．  例示的な方法
[00101]  図６は、例示的な実施形態による流れ図６００である。流れ図における動作は、例えば、図１のロボット装置１００、図２のロボット装置２００、図３のロボット装置３００、図４のロボット装置４００、又はロボット装置１００、ロボット装置２００、ロボット装置３００、及び／又はロボット装置４００からの構成要素の任意の組み合わせによって実行され得る。図６は、１つ以上の動作、又はブロック６０２、６０４、６０６、６０８、及び６１０の１つ以上によって示されるような手順を含み得る。ブロックは順番に図示されているが、これらのブロックは、いくつかの例では、本明細書に記載されたものと並行して、及び／又は異なる順序で実行され得る。また、様々なブロックがより少数のブロックに結合され、追加のブロックに分割され、及び／又は所望の実施形態に基づいて除去され得る。
【００９３】
[00102]  さらに、図６及び本明細書に記載の他の手順及び動作について、流れ図は、本実施形態の１つの可能な実施形態の機能及び動作を示す。これに関して、各ブロックは、このプロセスにおいて特定の論理演算又はステップを実施するためにプロセッサによって実行可能な１つ以上の命令を含むモジュール、セグメント、又はプログラムコードの一部を表し得る。さらに、各ブロックは、ロボット装置の動作を実行及び／又は変更するプログラムコードの一部を表し得る。プログラムコードは、例えば、ディスク又はハードドライブを含む記憶装置などの、任意のタイプのコンピュータ可読媒体に記憶し得る。コンピュータ可読媒体は、例えばレジスタメモリ、プロセッサキャッシュ及びランダムアクセスメモリ（ＲＡＭ）のような短時間のデータを記憶するコンピュータ可読媒体などの非一時的なコンピュータ可読媒体を含み得る。コンピュータ読み取り可能媒体はまた、読み取り専用メモリ（ＲＯＭ）、光学ディスク又は磁気ディスク、コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）などの、第２の又は永続的な長期記憶装置などの他の非一時的媒体を含み得る。コンピュータ可読媒体は、任意の他の揮発性又は不揮発性記憶装置システムであり得る。コンピュータ可読媒体は、例えば、コンピュータ可読記憶媒体、有形記憶装置、又は他の製造品と見なし得る。プログラムコード（又はコードのためのデータ）はまた、通信媒体を含む他の媒体上に記憶又は提供されてもよい。例えば、コマンドは、無線通信媒体上で受信され得る。
【００９４】
[00103]  さらに、図６及び本明細書に記載の他の手順及び動作のために、各ブロックは、特定の論理動作を実行するように構成された回路を表し得る。
【００９５】
[00104]  図６の動作は、制御装置によって、又はプロセッサによって完全に実行され、又は複数の制御装置に分散され得る。いくつかの例では、制御装置は、ロボット装置のセンサから情報を受信し、又は制御装置は、情報を収集するプロセッサから情報を受信し得る。制御システムは、例えば、他の装置のセンサから情報を受信するために、遠隔制御システム（例えば、別のロボット装置上の制御装置）と通信し得る。説明のために、ブロック６０２、６０４、６０６、６０８、及び６１０の動作は、制御装置によって実行されるものとして説明されているが、しかし、上記のような他の装置が動作を実行し得る。
【００９６】
[00105]  ブロック６０２では、処理システムは、ロボットに接続された複数のセンサに対応するそれぞれの関節角を示す第１の複数の測定値を受信する。場合によっては、受信された関節角測定値は、関節角を表すアナログ電気信号であり得る。いくつかの実施形態では、センサは、アナログ電気信号を関節角を表すデジタル電気信号に変換する回路を含む。場合によっては、所定のセンサが関節角の相対的変化を検出し、処理システムは、経時的な関節角の変化を測定することによって関節の位置を追跡し得る。関節角は、特定の実施形態に応じて、度又はラジアンで表すことができる。センサは、関節角を有線接続又は無線接続を介して処理システムに送信し得る。
【００９７】
[00106]  ブロック６０４では、処理システムは、ロボット本体の姿勢を示す姿勢測定値を受信する。ロボット装置本体の姿勢は、他のセンサの中でも、加速度計、ジャイロスコープ、磁力計、及び／又は慣性測定ユニット（ＩＭＵ）などの１つ以上のセンサによって測定し得る。センサは、ロボット装置本体の加速度及び／又はロボット本体のピッチ、ロール、及びヨーなどの回転角度を測定し得る。センサは、処理システムに加速及び／又は回転角度を提供することができ、処理システムは、ロボット本体の速度、位置、姿勢、及び角速度のうちの少なくとも１つを判定し得る。いくつかの実施形態では、センサは、ロボット本体の速度、位置、姿勢及び／又は角速度の少なくとも１つを判定するための回路を含むことができ、これらの測定値を処理システムに提供し得る。
【００９８】
[00107]  ロボット装置の本体は、ロボット肢が接続されるロボット装置の任意の部分であり得る。いくつかの実施形態では、ロボット肢は回転可能な関節を介してロボット装置の本体に接続される。
【００９９】
[00108]  ブロック６０６では、処理システムは、ロボットの関節肢に関連する特性に基づき、第１の複数の測定値と姿勢測定値との間の関係を判定する。この関係は、先に説明した関係と同じ又は同様であり得る。関係は、ロボットに結合されたメモリに記憶され得る。ロボット装置は、メモリに記憶されたプログラム命令を実行するように構成された計算装置を含み得る。いくつかの実施形態では、関係をプログラム命令に統合し得る。
【０１００】
[00109]  この関係は、姿勢測定及び関節角測定からロボットの集合的姿勢を判定するために使用できる数式又はアルゴリズムであり得る。ロボット装置の処理システム及び／又は計算装置は、ロボットの集合的姿勢を判定するために、数式の計算を実行してもよく、アルゴリズムを実行してもよい。場合によっては、この関係は、現場プログラム可能ゲートアレイ（ＦＰＧＡ）などの制御装置上に実施される制御システムの一部として統合され得る。
【０１０１】
[00110]  いくつかの実施形態では、関係を更新するか、又は別の方法で修正し得る。場合によっては、関係を更新又は変更するための命令が、ロボットの通信リンクで受信され得る。前述のように、複数の関係を使用してロボットの総体的な姿勢を判定し、ロボット装置は、１つ以上のこれらの関係を追加、除去、更新、又は変更するための指示を受信し得る。
【０１０２】
[00111]  ブロック６０８では、処理システムは、第１の複数の測定値、姿勢の測定値、及び判定された関係に基づき、ロボット装置の姿勢を推定する。ロボット装置の推定された姿勢は、前述のロボット装置の集合的姿勢と同じ又は同様であり得る。推定された姿勢は、受信された関係に従って第１の複数の測定値及び姿勢の測定値に対して数学的又はアルゴリズム的演算を実行することによって判定され得る。
【０１０３】
[00112]  推定された姿勢は、ロボットのメモリに記憶され得る。いくつかの実施形態では、推定された姿勢は、有線接続又は無線接続のいずれかを介して外部計算装置に送信される。さらに、場合によっては、推定された姿勢は、制御システムなどのロボットの他の装置又はシステムに提供され得る。
【０１０４】
[00113]  ブロック６１０では、処理システムは、ロボットの推定された姿勢に基づき、ロボット装置の少なくとも１つの関節肢を制御するための命令を提供する。命令は、ロボットの１つ以上の肢の操縦に対応し得る。例えば、命令は、ロボット装置の肢を特定の位置に移動させ、特定の姿勢にし得る。命令はまた、肢を動かす仕方（例えば、肢を特定の位置にどのくらい速く動かすか）を指定することもできる。命令は、特定の肢が地面又は他の表面に加えられる力の量をさらに指定し得る。
【０１０５】
[00114]  いくつかの実施形態では、命令は、ロボットの肢のアクチュエータを制御するアナログ信号である。場合によっては、アクチュエータは、デジタル信号を受信するように構成され得るとともに、命令は、ロボットの肢を制御するために１つ以上のアクチュエータに提供されるデジタル信号であり得る。
【０１０６】
Ｖ．  例示的なコンピュータ可読媒体
[00115]  図７は、本明細書に記載された少なくともいくつかの実施形態により構成された例示的なコンピュータ可読媒体を示す。例示的な実施形態では、例示的なシステムは、１つ以上のプロセッサ、１つ以上の形のメモリ、１つ以上の入力装置／インターフェース、１つ以上の出力装置／インターフェース、及び、１つ以上のプロセッサによって実行されると、上述した様々な機能の作業、能力等をロボット装置にさせる機械可読命令を含むことができる。
【０１０７】
[00116]  上述したように、開示された手順は、機械可読フォーマットでコンピュータ可読記憶媒体上に符号化されたコンピュータプログラム命令によって、又は他の媒体又は製造品によって実施できる。図７は、本明細書に開示された少なくともいくつかの実施形態に従って構成された、計算装置上でコンピュータプロセスを実行するためのコンピュータプログラムを含むコンピュータプログラム製品７００の概念的部分を示す概略図である。
【０１０８】
[00117]  一実施形態では、例示的なコンピュータプログラム製品７００は、信号担持媒体７０２を使用して提供される。信号担持媒体７０２は、１つ以上のプロセッサによって実行されると、図１〜図６に関して上述した機能性又は機能性の一部を提供し得る１つ以上のプログラム命令７０４を含み得る。いくつかの例では、信号担持媒体７０２は、ハードディスクドライブ、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、デジタルテープなどのコンピュータ可読媒体７０６であることができるが、いくつかの実施形態では、信号担持媒体７０２は、メモリ、読み取り／書き込み（Ｒ／Ｗ）ＣＤ、Ｒ／Ｗ  ＤＶＤなどであるが、これに限定されないコンピュータ記録可能媒体７０８であることができる。いくつかの実施形態では、信号担持媒体７０２は、通信媒体７１０（例えば、光ファイバケーブル、導波路、有線通信リンクなど）であることができる。したがって、例えば、信号担持媒体７０２は、通信媒体７１０の無線形式によって伝達することができる。
【０１０９】
[00118]  １つ以上のプログラム命令７０４は、例えば、コンピュータ実行可能命令及び／又は論理実行命令であることができる。いくつかの例では、計算装置は、コンピュータ可読媒体７０６、コンピュータ可読媒体７０８、及び／又は通信媒体７１０によって計算装置に伝達されるプログラム命令７０４に応答して、様々な動作、機能、又は動作を提供するように構成される。他の例では、計算装置は、ロボット装置に結合された装置と通信する外部装置であることができる。
【０１１０】
[00119]  コンピュータ可読媒体７０６は、互いに離れて位置し得る複数のデータ記憶要素に分散することもできる。記憶された命令の一部又は全部を実行する計算装置は、外部コンピュータ、又は、とりわけ、スマートフォン、タブレット装置、パーソナルコンピュータ、又は装着型装置などのモバイル・コンピューティング・プラットフォームであることができる。あるいは、記憶された命令の一部又は全部を実行する計算装置は、サーバなどの遠隔に位置するコンピュータシステムであることができる。例えば、コンピュータプログラム製品７００は、図６を参照して説明した動作を実施することができる。
【０１１１】
ＶＩ．  結論
[00120]  本明細書に記載された構成は、例示のみの目的のためのものであることを理解されたい。したがって、当業者であれば、他の構成及び他の要素（例えば、機械、インターフェース、機能、順序、及び機能のグループなど）を代わりに使用することができ、いくつかの要素は、所望の結果に従いすべて省略し得る。さらに、記載されている要素の多くは、別個の又は分散された構成要素として、又は他の構成要素と組み合わせて、任意の適切な組み合わせ及び位置で実施し得る機能実体であり、又は独立した構造物として記載される他の構造的要素を組み合わせることができる。
【０１１２】
[00121]  様々な態様及び実施形態が本明細書に開示されているが、他の態様及び実装形態は当業者には明らかであろう。本明細書に開示された様々な態様及び実施形態は、例示のためのものであり、限定することを意図したものではなく、請求項が権利を有する等価物の全範囲とともに以下の特許請求の範囲によって示される。本明細書で使用される用語は、特定の実施形態のみを説明するためのものであり、限定することを意図するものではないことも理解されたい。
【図１】
2019089200.tif 000003
【図２】
2019089200.tif 000004
【図３】
2019089200.tif 000005
【図４】
2019089200.tif 000006
【図５Ａ】
2019089200.tif 000007
【図５Ｂ】
2019089200.tif 000008
【図５Ｃ】
2019089200.tif 000009
【図５Ｄ】
2019089200.tif 000010
【図６】
2019089200.tif 000011
【図７】
2019089200.tif 000012
【手続補正書】
【提出日】平成31年2月15日(2019.2.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
処理システムにおいて、ロボットに接続された複数のセンサから、前記ロボットの本体に接続された複数の関節肢のそれぞれの関節角を示す複数の測定値を受信すること、
前記処理システムにおいて、前記ロボットの前記本体の姿勢を示す本体の姿勢の測定値を受信すること、
前記処理システムによって、前記複数の測定値及び前記本体の姿勢の測定値に基づく前記ロボットの集合的姿勢を推定すること、
前記処理システムによって、前記推定された集合的姿勢が、前記推定された集合的姿勢の特定の角度に基づき不安定である、又は不安定になると判定することであって、前記特定の角度は、ヨー角、ピッチ角、及びロール角のうちの１つであること、及び
前記推定された集合的姿勢が不安定である、又は不安定になると判定することに応じて、前記処理システムによって、前記ロボットが前記特定の角度を低減する別の集合的姿勢をとるように、前記関節肢の少なくとも１つを制御する命令を提供すること、を含む方法。
【請求項２】
前記推定された集合的姿勢の前記特定の角度は、非ゼロ閾値を上回り、
前記別の集合的姿勢は、前記特定の角度を前記非ゼロ閾値未満の値まで低減する、請求項１の方法。
【請求項３】
前記非ゼロ閾値は非ゼロ閾値角度であり、前記推定された集合的姿勢が不安定である、又は不安定になると判定することは、
前記推定された集合的姿勢に基づき、前記ロボットの角速度を判定すること、及び
前記推定された集合的姿勢が、前記角速度が非ゼロ閾値速度を上回ることに基づき不安定であると判定することを含む、請求項２の方法。
【請求項４】
前記ロボットの前記集合的姿勢を推定することは、前記ロボットが将来の時点で前記集合的姿勢をとると予測することを含む、請求項１の方法。
【請求項５】
前記関節肢の前記少なくとも１つを制御する命令を提供することは、前記ロボットが前記推定された集合的姿勢をとる前に前記ロボットが前記別の集合的姿勢をとるように、前記関節肢の前記少なくとも１つを制御する命令を提供することを含む、請求項１の方法。
【請求項６】
前記推定された集合的姿勢が不安定である、又は不安定になると判定することは、前記推定された集合的姿勢の前記特定の角度が加速していると判定することを含む、請求項１の方法。
【請求項７】
前記ロボットの前記集合的姿勢を推定することは、前記関節肢の前記少なくとも１つの重量配分に基づき、前記それぞれの関節角と前記本体の姿勢の測定値との間の関係を判定することを含み、前記関係は、前記それぞれの関節角が前記推定された集合的姿勢に影響を及ぼす程度を表す、請求項１の方法。
【請求項８】
前記それぞれの関節角と前記本体の姿勢の測定値との間の前記関係は、前記関節肢の前記少なくとも１つを動かすことから生じ前記本体にかけられるトルクを示す、請求項７の方法。
【請求項９】
前記関節肢の前記少なくとも１つを制御する前記命令を提供することは、
前記別の集合的姿勢をとるように環境内の表面に対して前記関節肢の前記少なくとも１つを配置する力の程度を判定すること、及び
前記判定された力の程度を用いて前記表面に対して前記関節肢の前記少なくとも１つを配置する命令を提供することを含む、請求項１の方法。
【請求項１０】
前記関節肢の前記少なくとも１つを制御する命令を提供することは、
前記別の集合的姿勢をとるように前記関節肢の前記少なくとも１つを移動させる位置を判定すること、及び
前記関節肢の前記少なくとも１つを前記判定された位置に移動させる命令を提供することを含む、請求項１の方法。
【請求項１１】
前記関節肢の前記少なくとも１つは２脚を含み、前記推定された集合的姿勢は、前記ロボットが表面より上の中空にあり、かつ前記２脚が前記表面に接触していないとき、将来時点における前記ロボットを表し、前記方法は、
前記処理システムによって、前記ロボットが前記別の集合的姿勢をとるように前記２脚のうちの１つを調節する角度を、前記２脚のうちの少なくとも１つが前記表面に降り着くとき判定すること、及び
前記処理システムによって、前記ロボットが前記別の集合的姿勢をとるように、前記判定された角度によって前記２脚のうちの前記１つを調節する命令を提供することをさらに含む、請求項１の方法。
【請求項１２】
前記処理システムによって、前記ロボットがたどる所望の軌道を判定すること、及び
前記処理システムによって、前記ロボットが前記所望の軌道をたどるように前記推定された集合的姿勢に対する修正を判定することをさらに含み、前記別の集合的姿勢は前記判定された修正を含む、請求項１の方法。
【請求項１３】
前記提供される命令は第1の命令であり、前記方法は、
前記処理システムによって、前記推定された集合的姿勢に基づく前記ロボットの角速度を推定すること、
前記処理システムにおいて、前記ロボットに加えられる外力を示す第２の複数の測定値を受信すること、
前記第２の複数の測定値及び前記ロボットの前記推定された角速度に基づき、前記処理システムによって、前記ロボットに加えられる前記外力によって引き起こされる前記推定された角速度の構成要素を判定すること、及び
前記処理システムによって、前記ロボットに加えられる前記外力によって引き起こされる前記推定された角速度の前記判定された構成要素に基づき、前記関節肢の前記少なくとも１つを制御する第２の命令を提供することをさらに含む、請求項１の方法。
【外国語明細書】
2019089200000001.pdf