(57)【要約】【課題】  脚式ロボットが予期せぬ力を受けたときに自身のバランスを維持できるようなシステムと方法を提供する。【解決手段】  反射段階では、ロボットは力に従うことで即座にこの力の影響に対処する。１つの実施形態では、反射段階中に、制御システムは、力の不安定な影響を相殺するのに必要な大きさで、ロボットの角運動量の負の変化量を発生させるような動きをロボットが実行するように指令を決定する。回復段階では、ロボットは、反射段階で運動を行った後に自身の姿勢を回復する。１つの実施形態では、ロボットは、ロボットの位置エネルギーを最大化する静的な安定した直立姿勢に戻る。１つの実施形態では、回復段階中に、制御システムは、ロボットが自身の位置エネルギーを増加させる動きを実行するように指令を決定する。【選択図】  図２
2008534304.tif 000002
【特許請求の範囲】
【請求項１】
力を受ける脚式ロボットを制御する方法であって、
前記方法は、前記ロボットがこの力に従うように、前記ロボットに送信する第１の指令セットを決定する段階と、
前記ロボットが安定した直立姿勢を達成するように、前記ロボットに送信する第２の指令セットを決定する段階を含む
ことを特徴とする方法。
【請求項２】
前記ロボットに送信する第１の指令セットを決定する段階は、前記ロボットの重心における前記ロボットの角運動量の所望変化量に応じて、前記ロボットに送信する前記第１の指令セットを決定することを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記重心における前記ロボットの角運動量の所望変化量は、前記ロボットの圧力の中心が前記ロボットの質量重心から水平に逸れた程度に比例することを特徴とする請求項２に記載の方法。
【請求項４】
前記ロボットに送信する第１の指令セットを決定する段階は、前記ロボットの重心における前記ロボットの線運動量の所望変化に応じて、前記ロボットに送信する前記第１の指令セットを決定することを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記重心における前記ロボットの線運動量の所望変化は、ロボットの重心におけるロボットの線運動量に比例することを特徴とする請求項４に記載の方法。
【請求項６】
前記ロボットに送信する第２の指令セットを決定する段階は、前記ロボットの位置エネルギーに応じて、前記ロボットに送信する第２の指令セットを決定することを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記安定した直立姿勢は、前記ロボットの位置エネルギーを最大化することを特徴とする請求項６に記載の方法。
【請求項８】
前記ロボットに送信する第２の指令セットを決定する段階は、前記ロボットの静的関節トルクに応じて、前記ロボットに送信する前記第２の指令セットを決定することを含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記安定した直立姿勢は、前記ロボットの静的間接トルクを最小化することを特徴とする請求項８に記載の方法。
【請求項１０】
付与される力に対処するように脚式ロボットを制御する方法であって、
前記方法は、
前記ロボットの重心における前記ロボットの角運動量の所望変化量を決定する段階と、
前記ロボットの重心における前記ロボットの角運動量の所望変化量を発生させるような関節加速度のセットを決定する段階と、
この決定した関節加速度のセットを発生させるような関節トルクのセットを決定する段階と、
前記ロボットがこの決定した関節トルクのセットを発生させるように、前記ロボットに送信する指令を決定する段階を含むことを特徴とする方法。
【請求項１１】
姿勢を回復するように脚式ロボットを制御する方法であって、
前記方法は、
前記ロボットの現在の構成を用いて前記ロボットの所望の構成を決定し、
このロボットの所望の構成の位置エネルギーが前記ロボットの現在の構成の位置エネルギーよりも大きくなるような、前記ロボットの位置エネルギーを最適化するアルゴリズムを用いる段階と、
前記ロボットが前記所望の構成を達成するように、前記ロボットに送信する指令を決定する段階を含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、米国特許仮出願番号第60/666,817（出願日：２００５年３月３０日）発明の名称：「Biomechanically Motivated Two-Phase Strategy for Biped Upright Balance Control」および米国特許出願番号第（未定）号（出願日：２００６年３月２８日）発明の名称：「Systems and Methods for Controlling a Legged Robot Using a Two-Phase Disturbance Response Strategy」の優先権を主張するものであり、これらの出願の記載をすべてここに引用するものである。
【０００２】
本発明は、脚式ロボットが転倒しないように脚式ロボットを制御することに関し、特に、力の外乱に応答する二段階手法を用いたロボットの制御に関する。
【背景技術】
【０００３】
将来の人型ロボットは、人間の日常環境内で自由に居住し、人間の身の回りに物理的な関わりをもつことが期待されている。ロボットと人が共生するための成功の鍵は、ロボットの人との物理的な関わりを持つ能力にある。したがって、ロボットには予期せぬ力の外乱に対処する能力が必要となる。
特に、ロボットは、予期せぬ力を受けたときにも、自身のバランスを維持する能力が必要である。通常、「バランス」という表現は全体的な回転の安定や平衡を意味する。ロボットは全体の回転の平衡が損なわれると転倒してしまう。ロボットの転倒は、近くにいる人に傷を負わせる危険性があるとともに、ロボット自身も損傷する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ここで必要になるのが、予期せぬ力を受けた場合にも自身のバランスを維持できるようにロボットを制御する技術である。
【課題を解決するための手段】
【０００５】
脚式ロボットが予期せぬ力を受けたときに自身のバランスを維持できるようなシステムと方法を提供する。
【０００６】
制御システムは、ロボットが、予期せぬ力を受けたときに自身のバランスを維持できるような、外乱力応答手法を実装する。１つの実施形態では、外乱力手法には反射と回復の２つの段階が含まれる。
【０００７】
反射段階あるいは「外乱力の吸収」段階では、ロボットは外乱力を吸収／従うことで即座に外乱力の影響に対処する。
2008534304.tif 000003
【０００８】
2008534304.tif 000004
次に、この関節加速度を発生させるような関節トルクを決定する。最後に、これらのトルクを達成するためのロボットに対する指令を決定する。いくつかの異なる種類の指令をロボットに送信してもよい。一般的に、これらの指令によって１つ以上のモータを駆動させて、ロボットに自身の体の位置を変化させる。このようなモータは、例えば、２つの隣接するセグメント間の関節角度を制御する。
【０００９】
2008534304.tif 000005
次に、この関節加速度を発生させるような関節トルクを決定する。最後に、これらのトルクを達成するためのロボットに対する指令を決定する。
【００１０】
回復段階では、反射段階の運動を行った後、ロボットは自身の姿勢を回復する。１つの実施形態では、ロボットは静的に安定した直立の「基準姿勢」に戻る。この基準姿勢で、ロボットの静的関節トルクを最小化したり、ロボットの位置エネルギーを最大化することができる。１つの実施形態では、回復段階中に、制御則により、ロボットに自身の位置エネルギーを増大させるような運動を実行させる。
【００１１】
１つの実施形態では、ロボットの位置エネルギー面を決定する。この位置エネルギー面は位置エネルギー値で構成されており、各値はロボットの構成の関数（例えば、関節角度など）である。この位置エネルギー面は、総最大値を達成しようとすることで導出される。表面の各ポイントはロボットの姿勢（関節角度のセット）を示しているため、この表面を登る処理は姿勢回復の処理に相当する。
【００１２】
１つの実施形態では、ロボットの位置エネルギーを最大化するための最適化アルゴリズムを選択する。アルゴリズムにより、ロボットの現在の構成（姿勢）を最適化の「初期推定」として用いて新しい構成（「推定」）を決定する。次に、ロボットの関節角度を、決定した構成に一致させるように、ロボットに対する指令セットを決定する。
【発明を実施するための最良の形態】
【００１３】
以下の記載においては、説明を目的として、数値を用いた具体的内容は本発明を完全に理解するために記載されたものである。しかしながら、当業者には、かかる具体的内容が無い場合にも実施可能であることは明らかである。この他の例では、発明が不明瞭にならないように、構造および装置をブロック図の形態で示す。
【００１４】
明細書中の「１つの実施形態」あるいは「実施形態」という記述は、当該の実施形態に関して記載された特定の特徴、構造、特性が本発明の少なくとも１つの実施形態に含まれることを意味する。明細書の随所に現れる「１つの実施形態では」という表現は、必ずしも同一の実施形態について言及するものではない。
【００１５】
詳細な記載の部分によっては、コンピュータメモリ内のデータビットの操作に関するアルゴリズムや符号表現によって提示される。このようなアルゴリズム的な記載や表現は、データ処理技術を扱う当業者によって用いられる手段であり、他の当業者に仕事の実体を効果的に伝達するためのものである。ここで言う一般的なアルゴリズムとは、所望の結果を導くためのステップが自己無撞着に連続したものと認識されるものである。このようなステップでは、物理量を物理的に操作することを必要とする。必ずしもではないが通常、このような物理量は、記憶、伝送、結合、比較、もしくは処理が可能な電気信号あるいは磁気信号の形態をとる。主に一般用途の理由から、このような信号をビット、値、要素、シンボル、文字、用語、数などとして扱うことの利便性がしばしば証明されている。
【００１６】
しかしながら、留意すべきは、このような表現あるいは類似の表現は所定の物理量に関連する便宜上のラベルにすぎない点である。説明から明らかな場合を除いて特に言及しない限りは、記載全体を通じて「処理する」、「演算する」、「算出する」、「決定する」あるいは「表示する」などの表現を用いる説明では、コンピュータシステムの記録部や記憶部に記憶される物理的（電子的）な量として表されるデータを操作して、コンピュータシステムの記録部、記憶部、送信部、表示部などに記憶される、同様に物理的な量として表される別のデータに変換するようなコンピュータシステムあるいは類似の電子演算装置の実行や処理について述べている。
【００１７】
また、本発明は、ここに記載される動作を実行する装置に関する。この装置は、必要な用途に合わせて特定の構成を備えていてもよいし、コンピュータに記憶されるコンピュータプログラムによって選択的に起動されたり、再構成されるような汎用コンピュータから構成されていてもよい。かかるコンピュータプログラムは、以下のようなコンピュータ読取り可能な媒体に記憶されてもよいが、これらに限定されるものではない：フレキシブルディスク、光ディスク、CD-ROM、磁気光ディスクなどを含むあらゆる種類のディスク、ROM、RAM、EPROM、EEPROM、磁気カードや光カード、あるいは電子命令（electronic instructions）の記憶に適したあらゆる種類の媒体、および各々がコンピュータシステムバスに連結されたもの。
【００１８】
ここで言うアルゴリズムおよび表示装置は、もともと、特定のコンピュータやこの他の装置のみに関するわけではない。ここに教示される内容に応じたプログラムを用いて様々な汎用システムを利用してもよく、より特殊な装置を構成して上記方法のステップを実行する。このようなシステム各種に必要な構成は以下の記載から明らかとなるであろう。また、本発明は、特定のプログラミング言語に関して説明するものではない。各種プログラミング言語を用いてここに記載される発明の教示内容を実装できることは理解されるであろう。
【００１９】
本発明は、類似する符号により類似する構成を示す付属図面の図中に、事例として示されるのであって、限定的に示されるものではない。
【００２０】
１．二段階外乱応答手法の概要
ロボット制御システムは、ロボットが予期せぬ力を受けた場合に自身のバランスを維持できるような外乱応答技術を実装する。１つの実施形態では、（ロボットの歩行中や曲げた状態とは対照的に）脚式ロボットが直立している間のバランスを維持するために、外乱応答の手法を用いる。別の実施形態では、ロボットに影響する外乱力をロボットの質量中心の位置で受けた場合に外乱応答手法を用いる。
【００２１】
１つの実施形態では、外乱応答手法は、「反射」と「回復」の二段階で構成される。反射の段階あるいは「外乱吸収」の段階では、ロボットは、外乱を吸収／従うことで即座にその影響に対処する。回復の段階では、ロボットが自身の姿勢を回復する。１つの実施形態では、反射段階の時間区分は、外乱力を受けている状態の時間区分に相当する。反射段階が終了すると、回復段階が開始する。
【００２２】
ここで、反射段階と回復段階について詳しく説明する前に、まず、外乱力の影響を受けた場合のロボットの状態を検証する。図１は、本発明の１つの実施形態に係わる、外乱力を受けている状態のロボットを示す図である。このロボットは、サジタル平面上の単脚に頭―腕―胴体を備えた（HAT）モデルである。このモデルは、足、下腿、上腿およびHATの４つのセグメントから構成される。これらの剛体セグメントは、足首、膝、股の３つの駆動関節を介して相互に接続されている。なお、図１に示すロボットのモデルを用いて、多種多様な脚式ロボットを表すことができる。例えば、HATセグメントには、胴体、頭、上腕、前腕、手などの複数のセグメントを含んでいてもよい。また、HATセグメントは、首、肩、肘、手首などの複数の関節も含んでいてもよい。さらに、ロボットモデルは１つ以上の脚部を備えていてもよい。
【００２３】
図１では、ロボットは水平な地面上に直立の姿勢で立っている。図１には、ｘ軸、ｙ軸、回転についての座標系も含まれる。
【００２４】
図1では、O は地面上の原点を表す。P は圧力の中心（CoP）を表す。CoP は、ロボットの足の下で結果として得られる床反力（GRF）の作用点である。Gはロボットの重心（質量中心あるいは「CoM」）を表す。Fは外乱力を表す。SはFが付与されている位置を表す。図１では、Fが真の水平方向に付与されている。
【００２５】
一般的な空間システムについての、O に対する P の位置に関する式は下の通りである。
【００２６】
【数１】
2008534304.tif 000006

【００２７】
2008534304.tif 000007
【００２８】
OGはOからGまでのベクトルを表し、m はロボットの総重量を表し、g は重力加速度ベクトルを表し、OS は O から S までのベクトルを表している。F は、Sに付与される正味の「非地面の」外力を表し、・は内積の演算を表し、さらにRは GRF を表す。
【００２９】
ロボットの動きが平面的であり、地面が水平（つまり、n×g = 0）であり、外乱力が水平方向（つまり、F= Fi）である場合には、式１を下のように簡略化できる：
【００３０】
【数２】
2008534304.tif 000008
【００３１】
2008534304.tif 000009
【００３２】
なお、d は正の数値を表す。ロボットが起立位置から始まるとき、このロボットはy 方向の動きに関する特異点、もしくはその近傍にある。したがって、y方向での変動は相対的に小さい。CoMを重力よりも速く落下させるには、dを負にする必要があって困難である。
【００３３】
静的な状態では、最初、CoP は CoMの真下にある（つまりOPx= OGx）。
そして、正の F が CoP を前方へ押す。この力が大きいほど、CoPが足の前端に近くなる。
2008534304.tif 000010
【００３４】
2008534304.tif 000011
あるいは、（例えば、強張ったり、後ずさりを加速させるなどして）ロボットが力に抵抗した場合は、CoPをさらに前方に押しやることになって状況が悪化する。 しかしながら、ロボットが加速した状態で無限に回転することは不可能である。回転によりCoMが前方に移動するため、CoPを足の領域内に維持することがさらに困難になる。
【００３５】
したがって、１つの実施形態では、CoM を一定の水平位置 OGx に維持させるような方法で外乱の吸収を実装する。式２を書き換えて、O 周りではなく、CoP（G）周りの角運動量を表現すると：
【００３６】
【数３】
2008534304.tif 000012
【００３７】
式３の右側の真中の項は「前方に倒れる」項を表し、外乱を吸収するために用いられる。この項には CoM が水平に移動する成分である Lx が含まれる。角運動量であるHG と線運動量である Lx は、どちらも別個に制御することが可能である。HG は外乱を吸収するように制御され、Lxは OGx を調整するように制御される。
【００３８】
なお、外乱力は、地面を中心とする角力積で構成される。バランスを維持するためには、この力積は次の２つのどちらかに一致しなければならない：（CoPが前方に移動することで得られる）等しく対向するGRFからの角力積、または、システムの角運動量の変化。CoPは静止状態で維持される必要があるため、相殺するに等しい角運動量の変化が必要になる。
【００３９】
つまり、外乱の衝撃を吸収するには、脚式ロボットは、（静止状態にあると想定される足を除く）自身のシステムの角運動量の正味変化が必要となる。さらに、角運動量の変化は、線運動量の変化を制限しつつ導く必要がある。
【００４０】
角運動量の変化量に基づいてロボットを制御する情報については、米国特許出願番号第11/096,835（公開番号第20050234593号）出願日２００５年３月３１日、発明の名称「Systems and Methods for Controlling a Legged Robot Based on Rate of Change of Angular Momentum」を参照のこと。なお、この文献に記載されるすべての内容をここに引用するものである。
【００４１】
2008534304.tif 000013
【００４２】
【数４】
2008534304.tif 000014
【００４３】
一般に、D と A は、3×n の行列であり、それぞれ線運動量の行列と角運動量の行列を指す。なお、A は角運動量を演算するポイントに依存する。平面の場合では、A は 1×n 次元のベクトルに減少し、D は 2×n の行列に減少する。A と D を決定する方法についての情報は、Kajita他著、「Resolved Momentum Control: Humanoid Motion Planning Based on the Linear and Angular Momentum」、"IEEE/RSJ International Conference on Intelligent Robots and Systems"誌紀要、Ｐ１６４４−Ｐ１６５０、２００３年、ネバダ州、ラスベガス  を参照のこと。
【００４４】
式４および式５を併合して、下式のように簡単な式に表すことができる。
【００４５】
【数５】
2008534304.tif 000015
【００４６】
2008534304.tif 000016
【００４７】
式６で時間微分を行うと下式のようになる：
【００４８】
【数６】
2008534304.tif 000017
【００４９】
式７は、得られた力およびロボットの重心モーメントと、ロボットの関節の速度および加速度とを関係づけるものである。6×n のマトリックス T は、動的動作の標準形である下式における関節−空間慣性の行列M に類似するが同一ではない。
【００５０】
【数７】
2008534304.tif 000018
【００５１】
式８では、M は n×n の慣性マトリックスを、N は n×1 次元のコリオリのベクトルと遠心項を、G は重力により誘引される関節トルクの n×1次元のベクトルを、τ は n×1 の一般トルク（関節ごとのトルク）を、それぞれ表す。M、N、Gの決定方法については当業者であれば周知であり、次の文献にも記載されている：「Robot Control and Dynamics」M. W. Spong他, John Wiley とその息子達著、 Ｐ１４２、１９８９年。なお、式 ６.３.１２ではD （Mに相当）、 C （Nに相当）, および Ｇ（Gに相当）として記載されている。
【００５２】
2008534304.tif 000019
【００５３】
【数８】
2008534304.tif 000020
【００５４】
2008534304.tif 000021
【００５５】
【数９】
2008534304.tif 000022
【００５６】
これを、下式のように表す：
【００５７】
【数１０】
2008534304.tif 000023
【００５８】
2008534304.tif 000024
【００５９】
式１１は、関節トルクと運動量変化とのアフィン関係を表す。「変位」項であるXを無視するとW は感度行列の役割を果たすため、運動量感度行列（momentum sensitivity matrix）と呼ばれる。W の列は、関節トルクに対する運動量の最適な感度の方向性を表すベクトルである。これは、運動量の成分ごとの最適な効果を有するトルク空間の方向性を示す。
【００６０】
なお、足首 （Ha） を中心とする角運動量を演算すると、慣性行列 M と運動量行列 A との間には関係が存在する。足が扁平の場合、A 行列は M 行列の最上列と等しくなる。これにより、運動量の感度行列 W=[ 1, 0, …, 0 ] を得る。この値は、足首の関節トルクのみが足首ポイントを中心とする角運動量に対して即座に影響を及ぼすことを示す。この場合では、足首のトルクが唯一の外的トルクであって、その他のトルクはすべて内的トルクとなることによると考えられる。
【００６１】
Moore-Penroseの擬似逆行列を用いて式６の加速度を解くと、下式を得る。
【００６２】
【数１１】
2008534304.tif 000025
【００６３】
ここで、+ は逆行列の演算を表し、* は所望値（つまり、所望の加速度を得るために必要な値）を表す。
【００６４】
２．反射段階―制御装置
１つの実施形態では、反射段階中に、外乱応答手法は、ロボットの重心での角運動量の変化量に基づく制御則を用いる。具体的には、制御則は、外乱の不安定な影響を相殺するのに必要な大きさで、ロボットの角運動量の負の変化量を発生させる。このような角運動量の変化は、足踏みや歩行を含まない運動を行うようにロボットに指令することで実現できる。１つの実施形態では、外乱応答手法は、ロボットの重心における線運動量の変化量も考慮する。具体的には、制御則は、前記の運動を実行中にロボットの CoM の水平位置を維持するように試みる。
【００６５】
図２は、本発明の１つの実施形態に係わる、脚式ロボットが外乱力を吸収するように制御する方法のフローチャートを示している。方法２００の最初のステップでは、ロボットの重心でのロボットの角運動量と線運動量の所望の変化量を決定する（Ｓ２１０）。１つの実施形態では、ロボットの角運動量の所望の変化量を、CoP のCoM から逸れた程度に比例するように設定し、ロボットの線運動量の所望の変化量を Lx に比例するように設定する。これによって下式を得る：
【００６６】
【数１２】
2008534304.tif 000026
【００６７】
ここで、kiは正の利得を、Xp は CoP のx 座標を、XG は CoM の x 座標を、それぞれ表す。Xpと XG は、当業者が知る測定、観察、演算などにより決定される。
【００６８】
具体的には、kiは、ロボットの外乱力に対する応答の速さを表す。ki が大きいほど、ロボットの応答は速くなる。 なお、各ki は試行錯誤で決定する。kiを選択し、ロボットに外乱力を受けさせて、その結果を観察する。ki が大きすぎると、応答の力が大きくなり過ぎてバランスを失ってロボットが転倒する。kiが小さすぎると、外乱力に対する応答が遅すぎて適切に外乱力を補正できない。一般に、実験的に決定した値 ki は、ロボットの類似するポイントに類似する方向に付与する力であれば、（合理的な範囲内で）力の大きさに関係なく用いることができる。力を付与するポイントや力の方向が異なる場合には、別のkiを決定する。
【００６９】
方法２００の第２のステップでは、所望の関節加速度を決定する（Ｓ２２０）。
【００７０】
2008534304.tif 000027
【００７１】
【数１３】
2008534304.tif 000028
【００７２】
次に、この値を式１２に代入して、所望の関節加速度を決定する。なお、式１２に基づく制御装置は開ループの設定であるが、これは、二次システムにおける関節加速度を制御することを目的としているためである。したがって、制御装置は必ずしも安定状態にある必要はない。
【００７３】
方法２００の第３のステップでは、所望の関節トルクを決定する（Ｓ２３０）。１つの実施形態では、この決定は所望の関節加速度を式８に代入することで達成される。
【００７４】
方法２００の第４のステップでは、ロボットに対する１つ以上の指令セットを決定する（Ｓ２４０）。なお、いくつかの異なる種類の指令をロボットに送信してもよい。通常、指令により１つ以上のモータを駆動させて身体の位置を変化させるようにロボットを制御する。これらのモータは、例えば、２つの隣接するセグメントの間にある関節の角度を制御する。例えば、指令により、所望の関節トルクや所望の関節角度の位置と、これを達成するのに必要な速度と加速度を指定する。
【００７５】
１つの実施形態では、決定した指令セットにより、Ｓ２３０で決定した所望の関節トルクをロボットに発生させる。ロボットは、指令セットを実行することで所望の関節トルクが得られるような動きを実行する。続いて、この動きによって角運動量と線運動量の所望の変化量が得られる。
【００７６】
１つの実施形態では、方法２００を繰り返し実行する。例えば、方法２００を実行し終えると、指令セットをロボットに送信する。ロボットがこれらの指令を実行することでロボットが動く。その結果、ロボットの CoPと CoM の位置を変化させることができる。そして、再び、方法２００を実行する。このとき、（Ｓ２１０で用いた）Xpと XG の値が変化しているかもしれない。その結果、Ｓ２２０およびＳ２３０で決定した所望の関節加速度と関節トルクも変化することもあり得る。次に、ロボットに対する指令セットを所望の関節トルクに基づいて決定する。１つの実施形態では、方法２００を、外乱力が緩和されるまで２００Ｈｚ（つまり、２００回／秒）で実行してもよい。
【００７７】
３．基準姿勢
回復段階では、ロボットは応答段階での運動を実行した後、自身の姿勢を回復させる。１つの実施形態では、ロボットは、静的な安定した直立姿勢に戻る。この姿勢を、例えば、ロボットの「基準」姿勢（Home Posture）、あるいは、外乱力を受ける前のロボットの姿勢としてもよい。姿勢の回復はロボットに運動を実行するように指令を出すことで達成される。
【００７８】
１つの実施形態では、ロボットの基準姿勢を、ロボットの静的な関節トルクを最小化するような構成になるように定義する。静的トルクの成分は重力により導かれる。（関節のモータにより能動的に相殺されるのとは対照的に）ロボットの構造によって重力が受動的に支持されるときに、これらの成分はゼロに等しくなる。ロボットの姿勢が静的関節トルクを最小化するときに、ロボットが消費するエネルギーは大幅に低減する。
【００７９】
図３Ａ、３Ｂ、３Ｃは、本発明の１つの実施形態に係わる、静的関節トルクのすべてがゼロに等しい場合のロボットの構成を例示するものである。図３Ａでは、ロボットは完全に直立した状態にある。図３Ｂは、ロボットの足は地面にあって、その他の部分（下腿、状態およびHAT）は地面の下に逆さまの状態で吊り下げられている。図３Ｃは、ロボットの一部が直立している。具体的には、足、下腿および上腿は直立しているが、HATは下に向かってぶら下がっている。これらの構成については、以下に詳しく説明する。なお、これらの構成は、関節の限界や接地など、他の物理的な考慮と一致しない場合もある。
【００８０】
式８におけるG ベクトル（動的動作の標準形）は重量トルクを表す。ここで、G は重力によって誘引された関節トルクのn×1 次元のベクトルである。また、G は重力位置エネルギーの関数Vの傾きでもある。
【００８１】
直動関節を持たないロボットの場合、位置エネルギーの関数 V は連続する正弦関数である。つまり、V は総最大値、総最小値、およびいくつかの鞍点を有する。なお、V には極大値あるいは極小値はない。鞍点においては、V は１つ以上の関節について増加し、他の関節については減少する。図３Ａは、本発明の１つの実施形態に係わる、最大位置エネルギーを有するロボットの図である。図３Ｂは、本発明の１つの実施形態に係わる、最小位置エネルギーを有するロボットの図である。図３Ｃは、本発明の１つの実施形態に係わる、位置エネルギー面の鞍点に応じた位置エネルギーの値を有するロボットの図である。
【００８２】
脚式ロボットの CoM が可能な限りで最も高い位置にある場合、位置エネルギーの最大量は保存される。この位置エネルギーを使って、ロボットをいかなる方向へも動かすことができ、これにより、必要なエネルギー消費量を減少させることができる。つまり、最大位置エネルギーを有する姿勢は、水平面上の移動性を最大化しつつ、静的関節トルクを最小化する。このように、１つの実施形態では、ロボットの基準姿勢を、ロボットの静的関節トルクを最小化しつつ、ロボットの位置エネルギーを最大化するような構成に設定する。
【００８３】
なお、ロボットの位置エネルギーを最大化する構成は、各種の理由から好ましくない場合もある。例えば、ロボットに腕がある場合、腕の位置エネルギーを最大化する構成では、腕の位置は、ロボットの脇にだらりと下ろした位置ではなく、まっすぐ上に伸ばした位置になるであろう。しかし、このような構成は不恰好に見えるため、好ましくないかもしれない。したがって、１つの実施形態では、ロボットの基準姿勢は必ずしも位置エネルギーを完全に最大化するものではない。
【００８４】
４．回復段階―制御装置
１つの実施形態では、回復段階中に、外力応答法では、ロボットの位置エネルギーに基づいた制御則を用いる。具体的には、制御則によりロボットの位置エネルギーを最大化する。位置エネルギーの変化は、ロボットに運動するように指令を出すことで実行される。運動を実行することで、ロボットの位置エネルギーが増大する。
【００８５】
１つの実施形態では、回復段階中に、外力応答法では、ロボットの位置エネルギー面を決定する。この位置エネルギー面は位置エネルギーの値により構成され、各値はロボットの構成の関数（例えば、関節角など）である。なお、位置エネルギー面の境界は関節の制限に相当する。
【００８６】
１つの実施形態によれば、位置エネルギー面は、各関節角度（合計n 個の関節）について１つの次元と位置エネルギーについて１つの次元を有するn+1 次元空間における n 次元を表す。図４は、本発明の１つの実施形態に係わるロボットの位置エネルギー面のグラフである。この実施形態では、説明の便宜上、ロボットの股関節を該当箇所に係止させることとする。その結果、図示された位置エネルギー面は２次元のみとなる。x 軸とy 軸は足首関節と膝関節の角度（角度で表示）にそれぞれ相当する。z 軸は位置エネルギーの関数 V （Nm で表示）に相当する。
【００８７】
ここで、制御則により位置エネルギー面を導出し、その総最大値を達成することを試みる。つまり、制御則を用いてロボットを関数Vのピークまで導くことで、位置エネルギーを最大化することを試みる。位置エネルギー面の各ポイントはロボットの１つの姿勢（関節角度のセット）を表すため、この位置エネルギー面を登る処理は姿勢回復の処理に相当する。数値アルゴリズムの分野では、導出の問題は関数最適化の問題に類似する。最適化（ここでは最大化）にあたっては、（例えば、応答段階の完了後の）ロボットの現在の構成を「初期推定（initial guess）」として用いる。なお、関数最適化の問題に関する詳細は、W.H. Press他著の「Numerical Recipes in C: The Art of Scientific Computing」、１９９２年  ケンブリッジ大学出版局、ケンブリッジ、を参照のこと。
【００８８】
最適化アルゴリズムは個々様々であり、位置エネルギー面を導くために用いることができる。ロボットの関節のいずれかに制約条件がある場合、制約条件最適化アルゴリズム（constrained optimization algorithm）を用いることで、これらの制約条件を考慮する。１つの実施形態では、制御則において１次的な勾配に基づく手法を用いる。具体的には、制御則において、勾配が上昇勾配の最も険しい方向に向く性質を利用する。下式は式１５に基づいて決定したものである：
【００８９】
【数１４】
2008534304.tif 000029
【００９０】
ここで、k は一定の正の利得である。この方法は勾配法と呼ばれる。
【００９１】
ここで、直動関節を持たないシステムの位置エネルギーは一定であり、極値を有さない滑らかな正弦波であることを確認しておく。したがって、勾配法を用いることで基準姿勢（最大位置エネルギーの姿勢）にうまく導くことができる。例外としては、ロボットの構成が、鞍点に位置するような構成、あるいは基準姿勢の方向を示す鞍点から延びた１軸上に位置するような構成で開始される場合である。
【００９２】
勾配法の効率性とその極大値近傍の緩慢性については、二次導関数を必要とするNewton法を利用して改善することができる。しかしながら、二次的手法にはいくつかの問題がある。例えば、開始点が選択されている極大点に十分に近接していない場合には、収束する保証はない。
【００９３】
１つの実施形態では、制御則において、Levenberg-Marquardt法の式を組み合わせた手法を用いる。この手法は、互いの落とし穴を避けながら、一次的および二次的手法の両方の強みを有するものである。この式による制御則は下式のように表現される：
【００９４】
【数１５】
2008534304.tif 000030
【００９５】
2008534304.tif 000031
なお、Levenberg-Marquardt 法の式に関する詳細は、W.H. Press 他著の 「Numerical Recipes in C: The Art of Scientific Computing」 ケンブリッジ, ケンブリッジ大学出版局、 １９９２年、を参照のこと。
【００９６】
式１７の行列 I を対角行列B2 に置き換えることで、さらによい進行方向が得られる。なお、B の要素は下式の通りに定義される：
【００９７】
【数１６】
2008534304.tif 000032
【００９８】
総極大値から遠い関節角度では λ は大きくなり、これは一次的な方法に類似する。そして、探査が総極大値に近づくにつれてλ は継続的に減少し、この方法はよりニュートン法に類似してくる。
【００９９】
なお、上記の手法は反復法ではない。これらの手法は、非線形最適化に用いられるのではない。むしろ、ロボットを大域的な（最大位置エネルギーの）解に導くための、各時間段階における関節−空間の瞬間的な方向性を設定するために用いられる。
【０１００】
図５は、本発明の１つの実施形態に係わる、ロボットが姿勢を回復するように制御する方法のフローチャートを示す。方法５００を開始する前に、ロボットの位置エネルギーを最大化するような最適化アルゴリズムを選択する。方法５００の第１のステップでは、最適化アルゴリズムにより、ロボットの現在の構成（姿勢）を最適化の「初期推定」として用いることで、新しい構成（「推定」）を決定する（Ｓ５１０）。
【０１０１】
方法５００における第２のステップでは、ロボットに対する１つ以上の指令セットを決定する（Ｓ５２０）。なお、いくつかの異なる種類の指令を複数ロボットへ送信してもよい。通常、１つの指令により１つ以上のモータを駆動させて、ロボットに身体の位置を変化させる。これらのモータは、例えば、２つの隣接するセグメント間の関節の角度を制御する。指令によって、例えば、所望の関節トルクや所望の関節角度の位置、およびこれを達成するために必要な速度と加速度を指定する。
【０１０２】
１つの実施形態では、決定した指令セットにより、Ｓ５１０で決定した新しい構成（姿勢）にロボットの関節角度を一致させる。ロボットは、この指令セットを実行することで、新しい構成を達成するような運動を行う。これにより、ロボットの位置エネルギーが増加する。
【０１０３】
１つの実施形態では、方法５００を繰り返し実行する。例えば、方法５００の実行後に、指令セットがロボットに送信される。ロボットは、これらの指令を実行することで動く。その結果、ロボットの姿勢が変わる。そして、方法５００を再び実行する。このとき、（Ｓ５１０で用いる）ロボットの「現在の構成」が変更されていることもある。その結果、Ｓ５１０で決定した新しい構成も変更されてもよい。そして、ロボットへの指令セットを、この新しい構成に基づいて決定してもよい。１つの実施形態では、ロボットの位置エネルギーが最大化されるまで方法５００を２００Ｈｚ（つまり毎秒２００回）で実行する。
【０１０４】
５．追加的実施形態
本発明の特定の実施形態に関して本発明について詳細に説明してきたが、この他の実施形態も可能であることは、当業者であれば理解するであろう。例えば、別の実施形態は、M. Abdallah および A. Goswami著の「A Biomechanically Motivated Two-Phase Strategy for Biped Upright Balance Control」、IEEE International Conference on Robotics and Automation (ICRA)議事録、Ｐ２００８−２０１３、２００５年  ４月、バルセロナ、スペイン、に記載されている。なお、この文献のすべての記載をすべてここに引用するものである。
【０１０５】
付属書Ａ  ＜CoP位置は不完全駆動（UNDERACTUATION）を示す＞
【０１０６】
１．背景
二足歩行のロボットにおいてバランスを維持することは難しい課題である。二足の脚式ロボットは、通常、片方のみが断続的に地面と摩擦するような接触を有する不完全駆動システム（underactuated system）である。ロボットは重力場の影響を受けた状態で、支持面から自由になる（そして転倒する）。バランスの維持は、直接駆動によってではなく、足の接地時に身体の四肢と不完全駆動のDOFとを連結する動的手段によって行われる。その結果、二足歩行では、典型的に多数のDOFが存在するため、全体のバランスに関する問題がより複雑になってしまう。
【０１０７】
バランスの問題を物理的に変更することはできないが、DOFの問題に起因する複雑さは、ロボットのバランス状態を反映する基準を特定することで幾分解消することができる。このような基準が容易に測定、算出できる場合には、高次元の状態ベクトルを扱う代わりに、二足歩行ロボットを制御するのにこの基準を用いることができる。
【０１０８】
ロボットに関する文献には、このようなバランスの基準を扱ったものが数件ある。これらの基準には、質量中心の地面投影、ゼロ・モーメント・ポイント（ZMP）として知られる CoP、およびFRI ポイントが含まれる。CoP は、得られたモーメントが接地面に対して直角に作用するように、得られたロボットのGRF が作用するポイントである。このポイントは足の支持領域の凸包内に位置し、両脚支持状態にある間は、必ずしも足の下にある必要はない。CoP は、前記の基準以外では、動的歩容においてもっとも頻繁に用いられるものである。
【０１０９】
前記のポイントはすべて地面上のポイントである。各ポイントは、当該ポイントの座標で構成される 2-DOF 基準である。これらは、「二足安定」基準（"biped stability" criteria）と呼ばれ、直立姿勢中や歩容中に二足バランスを維持するように設計された各種の制御手法で用いられる。特に、ロボットに関する文献では、CoP（あるいはZMP）の位置が足支持基部（foot support base）内に収まる場合に、ロボットの安定性が確保されていると見なす慣習がある。混同の原因として、主に２つの理由がある。１つは、「安定性」について厳格な数学的定義を欠いているため、CoPの位置の有効性が完全に明確でないことである。２つは、安定性が便宜的に選ばれた定義であるに関わらず、CoPまたはZMPの位置の特徴付けが不十分なことである。
【０１１０】
２．不完全駆動の度合  （DoU）
静学的には、安定性はシステムの平衡性を特徴付ける。これは、バネエネルギーの関数や重力ポテンシャルの関数などの位置エネルギー関数に関する。所定の状態におけるポテンシャル関数面の形状に基づいて、システムが「安定している」、「不安定である」、あるいは「平衡状態にある」などと言われる。動的システムの安定性とは、受けた外乱が無制限に継続する、増大する、あるいは時経的に急速に減衰する、のいずれかを特徴付ける特定状態におけるシステムの特性を指す。軌道の安定性とは、時間の影響を無視した軌道に関するシステムの外乱応答を指す。また、バイオメカニック分野では、主に静的コンテクストにおいて、外乱力に対する人間の姿勢のバランスを特徴付けるような姿勢の安定性を指す。
【０１１１】
先に示した通り、CoP（あるいはZMP）の安定状態は、伝統的な安定性の定義を特徴付けるものではない。境界上のCoPがシステムの持続的かつ定期的な動きを自動的に妨げるものではない。あるいは、CoPが足部の内側にあることで地面を蹴らないことを保証するのではない。むしろ、CoPの位置は、ロボットの「不完全駆動の度合」を特徴付けるものである。
【０１１２】
ロボットには、４つの運動学的な足対地面の接触状態がある。図６は、本発明の１つの実施形態に係わる４つの運動学的な足対地面の接触状態を示している。扁平足の状態では、足は地面に対して扁平である。つま先状態では、つま先を軸として、かかと状態では、かかとを軸として、それぞれ回転する。空中状態では、足は完全に地面から離れた状態にある。
【０１１３】
空中状態では、ロボットには６つのDOFがあって、足についての３つのＤＯＦ[x, y, α]と、運動連鎖についての３つのDOF [θa, θk, θh] とで構成される。また、つま先状態とかかと状態では、足で回転はできるが、すり足はできない。それぞれの状態には４つのDOFがあって、運動連鎖についての３つのDOFと足の回転が１つである。また、扁平足の状態には３つのDOFがある。扁平足の状態が最も安定している。
【０１１４】
図７は、本発明の１つの実施形態に係わる、ロボットの足跡であるポイント P1 とポイント P2を示す図である。CoPは、結果として得られたロボットの支持点であるため、支持基部としての役割からはずれることはできない。ロボットの足が扁平で水準面上に置かれている場合、CoPは厳密に支持基部の内側に置かれ、移動の方向は自由である。これは、偏平足の状態に相当し、図７のポイントP1（および矢印）で示される。支持基部の周辺上にCoPがある場合は、足が境界を軸として回転している（あるいは回転しつつある）ことを示す。これは、つま先状態とかかと状態に相当し、図７のポイント P2 で示される状態である。なお、CoPが支持基部の周辺上にある場合は、支持基部の内側のみに移動することができる。なお、空中状態では、ロボットは地面に接触しておらず、CoPは存在しない。
【０１１５】
二足ロボットの不完全駆動は、DOF数よりもアクチュエータ数が少ない場合に起こる。不完全駆動(DoU)の度合は、DOF数からアクチュエータ数を引くことで定義される。空中状態では、ロボットは、足についての３つのDOF [x, y, α] と、運動連鎖についての３つのDOF [θa, θk, θh] からなる６つのDOFを有する。ロボットには３つのアクチュエータがあるため、空中状態では３つのDoUがある。つま先状態とかかと状態には、それぞれ４つのDOFがあって、運動連鎖について３つのDOFと、足の回転が１つで構成される。したがって、どちらの状態にもDoUが１つあることになる。また、偏平足状態は、DoUがゼロであり、完全に駆動した唯一の状態である。
【０１１６】
CoPの位置によりロボットの安定性が確保できない場合には、いかなる量をもって確保すればよいのか？してみれば、DoUの特徴づけを備えたCoPが、ロボット制御の基本的な意味を備えていることが分かる。
【０１１７】
３．制御性に関する不完全駆動の意味
本発明の目的は二足歩行ロボットが転倒することを防ぐことである。つまり、「安全でない」とみなされる状態から開始して、二足歩行ロボットは基準姿勢を確保する状態に戻れる能力が必要である。ロボットが実際にこのような動作が行えるか否かは、ロボットの制御性に依存し、この制御性は、ロボットをある初期状態から限られた時間内に基準姿勢に戻すような制御入力の存在によって定義される。一般に、DoUが高くなるほど、利用可能な制御入力の数が減少し、システムの制御性も低下する。
【０１１８】
かつての研究者達は、車両、宇宙ロボット、ロボットハンドの回転接触などに代表される非ホロノミックなシステムの制御に頭を悩ませた。これらのシステムは一次拘束条件を有し、その制御性は既知である。一方、不完全駆動のマニュピレータはさらに難解な非ホロノミックな二次拘束条件を有する。二次的なシステムを制御したり設計するための一般理論はまだ存在しておらず、これらの制御性を決定することは挑戦的なことである。完全駆動の平面マニュピレータの場合は、完全に制御可能であることはすでに実証されている。どのような種類の不完全駆動の平面マニピュレータが制御可能であるかを決定する体系的な方法はない。しかしながら、第１の（基部）関節が受動的である場合は、マニピュレータは完全な制御性を失うことが分かっている。
【０１１９】
この結果は非常に重要であり、CoP の位置が支持基部の内側から周辺部に移動するにしたがって、ロボットの制御性が損なわれる。たしかに、二足歩行ロボットは、基部が固定されたマニピュレータのモデルから逸脱している。しかし、足が偏平状態で地面と接触した状態で、スリップを防ぐに十分な摩擦がある限りにおいては、この二足歩行ロボットは前記マニピュレータに類似すると見なすことは妥当であり、その制御性を特徴付けることは可能である。
【０１２０】
したがって、CoP 基準は、ロボットの安定性ではなく、ロボットのDoUとその結果としての制御性を特徴付けるものである。本発明の目的は、ロボットの完全な制御を維持することにある。これを達成する方法の１つは、CoPが厳密に支持基部の内側にあり続けるように調整することである。
【０１２１】
付属書Ｂ＜CoP位置の導出＞
式１には、分散接地を有する多体システムの CoP についての一般関係が含まれる。CoPを、分散接触力を得られた力Rと接地面に対して直角な得られたモーメント Mpとに分解できるポイントPとして定義する。CoPは常に地面支持の凸包にある。平面の場合では、CoPは得られるモーメントがない（つまり、MP= 0）ポイントになる。
【０１２２】
図８に、本発明の１つの実施形態に係わる、分散接地を有する一般的な空間多体システムを示す。このシステムの原点 O は足と地面との接触面上にある。地面が平面の場合、O はこの平面上にある。以下は運動の方程式である。
【０１２３】
【数１７】
2008534304.tif 000033
【０１２４】
2008534304.tif 000034
式２１を整理し、接地表面の法線n に対する外積を求めると、下式が得られる。
【０１２５】
【数１８】
2008534304.tif 000035
【０１２６】
なお、Mp は接地表面に対して直角であり、OP はこの表面の平面上にあり、a×b×c = b(a・c)−c(a・b)の外積の特性を用いてCoPの位置を解くことができる：
【０１２７】
【数１９】
2008534304.tif 000036
【０１２８】
あるいは、CoPをCoMを中心とする角運動量から導くこともできる。
【０１２９】
【数２０】
2008534304.tif 000037
【図面の簡単な説明】
【０１３０】
【図１】本発明の１つの実施形態に係わる、外乱力を受けている状態のロボットを示す図である。
【図２】本発明の１つの実施形態に係わる、脚式ロボットに外乱力を吸収させるように制御する方法のフローチャートを示す図である。
【図３】（ａ）は、本発明の１つの実施形態に係わる、最大位置エネルギーを有するロボットの図であり、（ｂ）は、本発明の１つの実施形態に係わる、最小位置エネルギーを有するロボットの図であり、（ｃ）は、本発明の１つの実施形態に係わる、位置エネルギー面の鞍点に応じた位置エネルギー値を有するロボットの図である。
【図４】図４は、本発明の１つの実施形態に係わるロボットの位置エネルギー面のグラフである。
【図５】本発明の１つの実施形態に係わる、ロボットに姿勢を回復させるように制御する方法のフローチャートである。
【図６】本発明の１つの実施形態に係わる、４つの運動学的な足対地面の接触状態を示す。
【図７】本発明の１つの実施形態に係わる、ロボットの足跡であるポイント P1 とポイント P2 を示す。
【図８】本発明の１つの実施形態に係わる、分散接地を有する一般的な空間多体システムを示す。
【図１】
2008534304.tif 000038
【図２】
2008534304.tif 000039
【図３】
2008534304.tif 000040
【図４】
2008534304.tif 000041
【図５】
2008534304.tif 000042
【図６】
2008534304.tif 000043
【図７】
2008534304.tif 000044
【図８】
2008534304.tif 000045
【国際調査報告】
2008534304.tif 000046