(57)【特許請求の範囲】
【請求項１】
全方向可動地面基部（１４０）に結合された身体（１９０）を有する人間型ロボット（１００）であって、
−計測値を提供するための身体位置センサ、全方向可動地面基部位置センサ、及び人間型ロボットの傾斜角速度センサと、
−少なくとも１つの全方向車輪を有する前記全方向可動地面基部内において配置された関節モーター及び少なくとも３つの車輪を有するアクチュエータ（２１２）と、
−検知された計測値を変換する抽出器（２１１）と、
−抽出されたデータから、身体位置及び全方向可動地面基部位置に関する、位置、速度、及び加速度コマンドを算出するためのスーパーバイザ（５００）と、
−コマンドを前記アクチュエータ用の命令に変換する手段と、
を装備しており、
前記人間型ロボットは、前記スーパーバイザが、
−非傾斜状態コントローラ（５０１）、傾斜状態コントローラ（５０２）、及びランディング状態コントローラ（５０３）であって、それぞれのコントローラは、前記抽出されたデータ、身体位置及び全方向可動地面基部位置に関する、予め命令された位置及び速度基準、並びに、０に設定された、人間型ロボットの傾斜角度及び角速度基準から、２質点ロボットモデルと、重み付けされた目的の合計及び予め定義された線形制約の組を有する二次最適化式として表現された、サンプリング周期Ｔ及び数Ｎの予測されたサンプルによる打ち切り時点を有する線形モデル予測制御法則とに基づいて、身体位置及び全方向可動地面基部位置に関する、位置、速度、及び加速度コマンドを算出する手段を有する、コントローラと、
−人間型ロボットの抽出された傾斜角度及び傾斜角速度に基づいて、衝撃角速度及びランディング衝撃時点を推定する推定器（５０４）であって、衝撃角速度及びランディング衝撃時点は、それぞれ、人間型ロボットが地面に衝突する際の角速度及び時点である、推定器（５０４）と、
−推定された衝撃角速度及び人間型ロボットの抽出された傾斜角速度に従ってコントローラを選択する手段と、
と、を有することを特徴とする、人間型ロボット。
【請求項２】
前記全方向可動地面基部は、一定の傾斜角加速度を有することを特徴とする請求項１に記載の人間型ロボット。
【請求項３】
前記非傾斜状態コントローラは、非傾斜ロボットモデルに基づいており、且つ、予め命令された基準を使用することにより、前記抽出されたデータから、身体位置及び全方向可動地面基部位置に関する、位置、速度、及び加速度コマンドを算出することが可能であり、且つ、前記目的は、
−基部位置目的と、
−基部速度目的と、
−ＣｏＰと前記全方向可動地面基部の中心の間の距離に関係付けされた目的であって、ＣｏＰは、前記人間型ロボットと地面の間の接触力の共通重心である、目的と、
であり、且つ、前記線形制約は、
−前記全方向可動地面基部の最大速度及び加速度と、
−ＣｏＰ限度と、
であること特徴とする請求項１又は２に記載の人間型ロボット。
【請求項４】
前記傾斜状態コントローラは、傾斜の動きを有するロボットモデルに基づいており、且つ、予め命令された基準及び０に設定された、人間型ロボットの傾斜角度及び角速度基準を使用することにより、前記抽出されたデータから、身体位置及び全方向可動地面基部位置に関する、位置、速度、及び加速度コマンドを算出することが可能であり、且つ、前記目的は、傾斜角度の極小化及び角速度の極小化であり、且つ、線形制約は、前記全方向可動地面基部の運動学的限度、前記身体の運動学的限度、正の傾斜角度、及び前記角速度軸上のみにおける前記身体の運動であることを特徴とする請求項１乃至３のいずれか１項に記載の人間型ロボット。
【請求項５】
重み付けされた数値的安定性目的が前記重み付けされた目的の合計に追加されることを特徴とする請求項３又は４に記載の人間型ロボット。
【請求項６】
前記ランディング状態コントローラは、非傾斜ロボットモデルに基づいており、且つ、予め命令された基準及び０に設定された、人間型ロボットの傾斜角度及び角度的速度基準を使用することにより、前記抽出されたデータから、身体位置及び全方向可動地面基部位置に関する、位置、速度、及び加速度コマンドを算出することが可能であり、且つ、前記目的は、ＣｏＰと前記全方向可動地面基部の中心の間の距離に関係付けられた目的であって、ＣｏＰは、前記人間型ロボットと前記地面の間の接触力の共通重心である、目的と、数値的安定性目的と、であり、線形制約は、前記全方向可動地面基部の最大速度及び加速度と、前記身体の運動学的限度と、ＣｏＰ限度と、前記角速度軸上のみにおける前記身体の運動と、であることを特徴とする請求項１乃至５のいずれか１項に記載の人間型ロボット。
【請求項７】
基部速度目的が、前記重み付けされた目的の合計に追加されることを特徴とする請求項１乃至６のいずれか１項に記載の人間型ロボット。
【請求項８】
前記線形制約は、前記身体の運動学的限度を有することを特徴とする請求項３乃至７のいずれか１項に記載の人間型ロボット。
【請求項９】
少なくとも１つの全方向車輪を有する少なくとも３つの車輪（１４１）を有するアクチュエータを有する全方向可動地面基部（１４０）に結合された身体（１９０）を有する人間型ロボットを制御する方法であって、
−予め定義されたサンプリング時点において、前記身体の位置計測値、前記全方向可動地面基部の位置計測値、前記人間型ロボットの傾斜角度、及び前記人間型ロボットの傾斜角速度計測値を取得するステップと、
−これらの計測値を抽出されたデータに変換するステップと、
−前記抽出されたデータを使用し、且つ、前記人間型ロボットの定義された傾斜状態、又は非傾斜状態、又はランディング状態に従って、２質点ロボットモデルと、サンプリング周期及びいくつかの予測されたサンプルによる打ち切り時間を有する線形モデル予測制御法則に基づいた、且つ、予め定義された重みを伴う重み付けされた目的の合計及び線形制約の組を有する二次最適化式として表現された、傾斜状態、又は非傾斜状態、又はランディング状態制御法則とを使用することにより、身体位置及び全方向可動地面基部位置に関する、位置、速度、及び加速度コマンドを算出するステップと、
−これらのコマンドを前記ロボットアクチュエータ（２１２）用の命令に変換するステップと、
を有する方法。
【請求項１０】
前記人間型ロボットの前記状態は、
前記人間型ロボットの傾斜角度計測値又は及び前記人間型ロボットの傾斜角速度計測値のうちの１つが、ゼロを上回っている場合に、推定衝撃角速度及び推定衝撃時点を推定し、衝撃角速度及び衝撃時点は、それぞれ、人間型ロボットが地面に衝突する際の角速度及び時点であり、
まず、前記ロボットは、非傾斜状態にあり、
非傾斜状態：
・推定衝撃時点が存在していない場合には、傾斜状態にスイッチし、
・前記衝撃角速度が、予め定義された限度１を上回っている場合には、前記傾斜状態にスイッチし、
・前記傾斜角速度計測値が、予め定義された限度２を上回っている場合には、前記傾斜状態にスイッチし、
・さもなければ、前記傾斜角度が０でない場合には、ランディング状態にスイッチし、前記傾斜角度が０である場合には、前記非傾斜状態において留まり、
傾斜状態：
・前記傾斜角速度計測値が、前記予め定義された限度２を上回っている場合には、傾斜状態において留まり、
・前記推定衝撃角速度が、予め定義された限度１を下回っている場合には、前記ランディング状態にスイッチし、
・さもなければ、傾斜状態において留まり、
ランディング状態：
・推定衝撃時点が存在していない場合には、前記傾斜状態にスイッチし、
・前記衝撃角速度が、予め定義された限度１を上回っている場合には、前記傾斜状態にスイッチし、
・前記傾斜角速度計測値が、予め定義された限度２を上回っている場合には、前記傾斜状態にスイッチし、
・前記傾斜角度が０に低下し、且つ、次の時点において計測された傾斜角速度が０である場合には、前記非傾斜状態にスイッチし、さもなければ、前記ランディング状態において留まる、
ステップに従って定義される請求項９に記載の方法。
【請求項１１】
コンピュータ上において稼働した際に請求項９又は１０に記載の前記方法を実行するのに適したコンピュータコードを有する人間型ロボットのアクチュエータにリンクされたコンピュータプログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
本発明は、ロボットプログラミングシステムの分野に関する。更に詳しくは、本発明は、関節接続された四肢によって運動する又はこれらの四肢を使用するロボットの、特に、人間又は動物の形態のロボットの、動きの制御に対して適用される。ロボットは、頭部、胴体、２本の腕、２つの手などの特定の人間の外観属性を獲得した場合に、人間型として分類されうる。但し、人間型ロボットは、多少洗練されている場合もある。その四肢が、更に多くの又は少ない数の関節接続を有してもよい。人間型ロボットは、その独自のバランスを静的に且つ動的に制御してもよく、且つ、基部によって転動してもよい。人間型ロボットは、環境から信号を（「聴取」する、「観察」する、「接触」する、「感知」するなどのように）取得してもよく、且つ、多少洗練された振る舞いに従って反応してもよく、且つ、発話によるか又はジェスチャにより、その他のロボット又は人間とやり取りしてもよい。人間型ロボットの現時点の世代においては、プログラマは、シナリオを生成する能力を有し、これらのシナリオは、ロボットに対して反応する／ロボットによって実行されるイベント／動作のシーケンスとして、多少洗練させることができる。これらの動作は、ロボットとやり取りする人々の特定の振る舞いを条件としたものにすることができる。但し、これらの第１世代の人間型ロボットにおいては、アプリケーションプログラミングは、開発ツールキットにおいて実行されており、且つ、それぞれのアプリケーションは、トリガイベントによって起動する必要があり、トリガイベントの発生は、これまでのところ、アプリケーションに含まれている。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
従って、自身が進化している環境に応じて、判定された方式によって振る舞う能力を有する、人間が実行しているような、「自律的生活」を送る能力を有する人間型ロボットに対するニーズが存在している。プログラマのなんらの介入をも伴うことなしに、自身が進化している状況に対して適合されたその生活のシーケンスを自律的に判定する能力を有するロボットを提供することにより、従来技術のロボットの制限を克服することが本発明の目的である。
【課題を解決するための手段】
【０００３】
本発明者らは、上半身とも呼称される身体に結合された可動基部を有するロボットを対象としている。
【０００４】
標準的な振る舞いにおいて、ロボットは、その車輪のすべてとの接触状態にあり、且つ、地面とロボットの間において作用する力の共通重心である圧力中心（ＣｏＰ：Ｃｅｎｔｅｒ  ｏｆ  Ｐｒｅｓｓｕｒｅ）が、厳密に、その車輪接触点によって定義される凸形の外殻構造の内部に位置している際に、動的に安定した状態にある。妨害が存在していない状態において、このＣｏＰ制約は、常に遵守される。但し、妨害が出現した際には、ＣｏＰは、支持外殻構造の境界上に位置しうる。このケースにおいては、ロボットは、傾斜し始める可能性があり、且つ、なにも実行されなければ、転倒する可能性がある。従って、本発明者らの課題は、ロボットが傾斜していない際のものとロボットが傾斜している際のものという２つの動的モデルにおいてロボットを制御するというものである。
【０００５】
ロボットが傾斜していない際には、本発明者らは、動的な安定性制約を有する可動ロボットの制御に関する又は人間型の二本脚ロボットの制御に関するいくつかの文献を見出すことができる。
【０００６】
いくつかの最近の研究は、マニピュレータアームなどの四肢によって生成される動的な制約を有するロボットの制御を取り扱っている。Ｋ．  Ｍｉｎｇｅｕｋ他は、「Ｓｔａｂｉｌｉｚａｔｉｏｎ  ｏｆ  ａ  ｒａｐｉｄ  ｆｏｕｒ−ｗｈｅｅｌｅｄ  ｍｏｂｉｌｅ  ｐｌａｔｆｏｒｍ  ｕｓｉｎｇ  ｔｈｅ  ｚｍｐ  ｓｔａｂｉｌｉｚａｔｉｏｎ  ｍｅｔｈｏｄ」において、動的な制約を使用した車輪を有するプラットフォームの安定性について研究している。彼らは、プラットフォームを制御するべく、直接的な線形二次レギュレータ（ＬＱＲ：Ｌｉｎｅａｒ  Ｑｕａｄｒａｔｉｃ  Ｒｅｇｕｌａｔｏｒ）法を使用している。この方法の不便な点は、提出された動的制約が、プラットフォームの中央においてＣｏＰ（圧力中心）を有することを必要としているという点にある。ＣｏＰは、ロボットと地面の間の接触力の共通重心である。この方法は、いくつかのＤｏＦ（自由度）の喪失を伴っており、実際に、ロボットの転倒を防止するには、ＣｏＰは、車輪と地面の間の接触点によって定義される凸形の多角形の内部においてのみ存在する必要がある。
【０００７】
「Ｔｈｅ  ｄｙｎａｍｉｃ  ｓｔａｂｉｌｉｔｙ  ｃｒｉｔｅｒｉｏｎ  ｏｎ  ｔｈｅ  ｗｈｅｅｌ−ｂａｓｅｄ  ｈｕｍａｎｏｉｄ  ｒｏｂｏｔ  ｂａｓｅｄ  ｏｎ  ｚｍｐ  ｍｏｄｅｌｉｎｇ」という別の文献において、Ｙ．  Ｌｉ他は、動的な制約を有する可動ロボットの単純なコントローラを提示している。Ｋ．  Ｍｉｎｇｅｕｋ他の文献との相違点は、このコントローラが、不等式制約の合計である十分なＣｏＰ制約を考慮しているという点にある。このコントローラは、ＣｏＰが支持多角形の内部に位置しているトルクコマンドを見出すべくロボットの完全なモデル上において反復されるＰＩＤ制御装置である。
【０００８】
人間型ロボットに関しては、「Ｗａｌｋｉｎｇ  ｗｉｔｈｏｕｔ  ｔｈｉｎｋｉｎｇ  ａｂｏｕｔ  ｉｔ」において、Ｐ．  Ｂ．  Ｗｉｅｂｅｒ、Ｈ．  Ｄｉｅｄａｍ、及びＡ．  Ｈｅｒｄｔが、高度に制約された動力学を有する人間型の２本脚ロボットを制御する方法について記述している。この最近の方式は、３ｄ線形反転振り子モデルに基づいた線形予測制御に関するものである。単純なロボットのモデルを使用することにより、この制御法則は、ロボットに対して送信された現時点のコマンドが数秒以内に不可避な転倒を引き起こさないことを保証するべく、将来におけるその状態の動力学を予測している。二本脚の人間型ロボットＮＡＯに関し、この制御法則の一実装形態は、Ｄ．  Ｇｏｕａｉｌｌｉｅｒ、Ｃ．  Ｃｏｌｌｅｔｔｅ、及びＫ．  Ｋｉｌｎｅｒによって記述された文献「Ｏｍｎｉ−ｄｉｒｅｃｔｉｏｎａｌ  ｃｌｏｓｅｄ−ｌｏｏｐ  ｗａｌｋ  ｆｏｒ  ＮＡＯ」において見出すことができる。但し、ロボットＮＡＯは、小さく、従って、この方法は、特に、例えば、
−２０個の自由度（ＤｏＦ：Ｄｅｇｒｅｅ  ｏｆ  Ｆｒｅｅｄｏｍ）（頭部１６０上における２つのＤｏＦ、アーム１７０上における２×６個のＤｏＦ、脚部１８０上における３つのＤｏＦ、及び可動基部１４０上における３つのＤｏｆ）
−１．３７ｍの高さ１１０、
−０．６５ｍの幅１３０、
−０．４０ｍの奥行１２０、
−３０ｋｇの合計質量、
−３つの車輪１４１を有する全方向基部１４０にリンクされた１つの脚部１８０、
という特徴を有する図１に示されている相対的に背の高い人間型ロボットの場合には、良好な結果を付与しないであろう。
【０００９】
可動基部は、０．４２２ｍの長さの三角形の形状を有しており、且つ、ロボットを１：４ｍ／ｓ−１の最大速度及び１：７ｍ／ｓ−２の加速度において短時間にわたって移動させることができる。公称速度及び加速度は、０：５ｍ／ｓ−１及び１：０ｍ／ｓ−２である。
【００１０】
ロボットが傾斜しているケースに関し、本発明者らは、この問題を１つ又は２つの車輪を有する可動ロボットの制御とリンクさせることができる。但し、本発明者らのケースにおいては、本発明者らは、すべての１つ又は２つの車輪を有する可動ロボットのように、不安定な平衡方向（一般的に、垂直方向）の周りにおけるロボットの制御を所望してはいない。これらのロボットの制御については、多くの文献を見出すことができる。これらは、以下のように、様々なタイプの制御に基づいている。
−Ｊ．  Ｋ．  Ａｈｎ及びＳ．  Ｊ．  Ｌｅｅによる２０１０年の文献「Ｆｏｒｃｅ  ｃｏｎｔｒｏｌ  ａｐｐｌｉｃａｔｉｏｎ  ｔｏ  ａ  ｍｏｂｉｌｅ  ｍａｎｉｐｕｌａｔｏｒ  ｗｉｔｈ  ｂａｌａｎｃｉｎｇ  ｍｅｃｈａｎｉｓｍ」において記述されているＰＩＤ力制御
−Ｘ．  Ｃｈａｎｇｋａｉ、Ｌ．  Ｍｉｎｇ、及びＰ．  Ｆａｎｇｙｕによる２０１１年の文献「Ｔｈｅ  ｓｙｓｔｅｍ  ｄｅｓｉｇｎ  ａｎｄ  ｌｑｒ  ｃｏｎｔｒｏｌ  ｏｆ  ａ  ｔｗｏ−ｗｈｅｅｌｓ  ｓｅｌｆ−ｂａｌａｎｃｉｎｇ  ｍｏｂｉｌｅ  ｒｏｂｏｔ」に記述されている線形二次レギュレータ、又は、
−Ｋ．  Ｓｈｏ−Ｔｓｕｎｇ、Ｃ．  Ｗａｎ−Ｊｕｎｇ、及びＨ．  Ｍｉｎｇ−Ｔｚｕによる文献「Ｂａｌａｎｃｉｎｇ  ｏｆ  ａ  ｓｐｈｅｒｉｃａｌ  ｉｎｖｅｒｔｅｄ  ｐｅｎｄｕｌｕｍ  ｗｉｔｈ  ａｎ  ｏｍｎｉ−ｄｉｒｅｃｔｉｏｎａｌ  ｍｏｂｉｌｅ  ｒｏｂｏｔ」、ＩＥＥＥ  Ｍｕｌｔｉ−ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｓｙｓｔｅｍｓ  ａｎｄ  Ｃｏｎｔｒｏｌ，  ２０１３に記述されている摺動モード制御
【００１１】
これらのコントローラのすべては、目的のために、重力及び外部力に応じて、ロボットを不安定な平衡方向の周りにおいて制御しなければならない。人間型ロボットに関し、本発明者らは、プッシュ回復に関するいくつかの文献を見出することができる。主要な概念は、
−上半身を使用したＣｏＰの移動、
−足首を使用したトルクの生成、
−腕を使用したいくつかの角運動量の生成、及び、
−数歩の歩行の実行、
という４つの制御の可能性について管理するというものである。
【００１２】
これらは、本発明者らのケースに対して適用することができず、その理由は、これらが、二本脚メカニズムに強力に依存しており、これは、足が、地面上において転動又はスリップすることができないことを意味すると共に、プッシュから回復するべく、数歩だけ歩行しうることを意味しているからである。本発明者らのケースにおいては、ＣｏＰは、変位させることができず、その理由は、傾斜方向において接触の表面が存在していないからである。又、本発明者らの問題に伴う別の難しさは、動的なモデルの別個のスイッチング（いくつかの接触力の存在又は不存在）を考慮するという点にある。これは、なんらかの衝撃が発生しうることを意味している。一般に、衝撃に伴う管理は、リアルタイム制御における困難な課題である。
【００１３】
従って、その動的な制約と、ロボットが、強力に妨害されうると共に、その車輪を中心として傾斜しうることと、を考慮しつつ、人間型ロボットの可動基部とその身体の両方を制御するニーズが存在している。
【００１４】
従って、様々な可能な動的状態において有効となるユニークなコントローラを提案する代わりに、本発明者らは、ロボットが傾斜していない際のものと、ロボットが傾斜している際のものという、２つのコントローラを定義している。２つのコントローラの間における正しく且つ滑らかな遷移を保証するべく、ランディングフェーズを取り扱うための第３のコントローラが定義されており、且つ、相応して、これらのコントローラを制御するべく、スーパーバイザが定義されている。
【００１５】
これを目的として、本発明は、
−計測値を提供するための身体位置センサ、基部位置センサ、及び角速度センサと、
−全方向可動基部内に配置された関節モーター及び少なくとも３つの車輪を有するアクチュエータと、
−検知された計測値を有用なデータに変換する抽出器と、
−有用なデータから、位置、速度、及び加速度コマンドを算出するためのスーパーバイザと、
−コマンドをアクチュエータ用の命令に変換する手段と、
を装備した、全方向可動地上基部に結合された身体を有する人間型ロボットを提供する。
【００１６】
これは、スーパーバイザが、
−非傾斜状態コントローラ、傾斜状態コントローラ、及びランディング状態コントローラであって、それぞれのコントローラは、有用なデータ、予め命令された位置及び速度基準、並びに、０に設定された傾斜角度及び角速度基準から、重み付けされた目的の合計及び予め定義された線形制約を有する二次最適化式として表現された、傾斜運動を伴う２質点ロボットモデル及びサンプリング周期Ｔ及びＮ個の予測されたサンプルによる打切り時点を有する線形モデル予測制御法則に基づいて、位置、速、及び加速度コマンドを算出する手段を有する、コントローラと、
−衝撃角速度及びランディング衝撃時点推定器と、
−推定された衝撃角速度及び有用な角速度に従って、コントローラを選択する手段と、
を有することを主な特徴としている。
【００１７】
このロボットの利点は、多くのタイプの妨害の際に安定しているという点にある。これらの妨害は、大きな動的帯域幅を伴って、短くてよく、長くてもよく、高速であってもよく、或いは、複数であってもよい。本発明者らは、妨害についての仮定を実施してはいない。更には、回復不能な非常に強力な妨害のケースにおいては、地面との間における身体の衝撃を最小化するべく、ロボット上において、転倒マネージャ方式が実装されている。
【００１８】
更に正確には、このロボットの利点は、第１に、ロボットを傾斜させる強力な妨害から回復することができるという点にある。第２の利点は、単純且つリアルタイムな方式により、別個の変化及び衝撃を伴う非線形動力学を制御するという点にある。第３の利点は、機械的衝撃を更に制限するか又は傾斜回復の際に移動距離を制限するべく選択するようにスーパーバイザのパラメータをチューニングすることにより、ロボットの多数の振る舞いを定義することができるという点にある。
【００１９】
本発明の一実施形態によれば、推定衝撃角速度は、定数の積分によって算出される。
【００２０】
ロボットモデルにおいては、傾斜が存在しないことが可能であり、非傾斜コントローラは、
−基部位置目的、
−基部速度目的、
−ＣｏＰと基部中心の間の距離に関係付けられた目的であって、ＣｏＰは、ロボットと地面の間の接触力の共通重心である、目的
という目的を伴って、且つ、
−可動基部の最大速度及び加速度、
−身体の運動学的限度、
−ＣｏＰ限度、
という制約を伴って、予め命令された基準を使用することにより、有用なデータから、例えば、位置、速度、及び加速度コマンドを算出することができる。
【００２１】
傾斜コントローラは、予め命令された基準、並びに、０に設定された傾斜角度及び角度速度基準を使用することにより、且つ、傾斜角度の最小化及び角速度の最小化である目的を伴って、且つ、可動基部の運動学的限度、身体の運動学的限度、正の傾斜角度、及び角速度軸上のみにおける身体の運動である制約を伴って、位置、速度、及び加速度コマンドを有用なデータから算出可能であってもよい。
【００２２】
重み付けされた数値的な安定性目的を重み付けされた目的の合計に追加することができる。
【００２３】
ランディングコントローラは、予め命令された基準、並びに、０に設定された傾斜角度及び角速度基準を使用することにより、ＣｏＰと基部中心の間の差に関係付けされた目的であって、ＣｏＰは、ロボットと地面の間の接触力の共通重心である、目的と、数値的な安定性目的と、である目的を伴って、且つ、可動基部の最大速度及び加速度と、身体の運動学的限度と、ＣｏＰ限度と、角速度軸上のみにおける身体の運動と、である制約を伴って、位置、速度、及び加速度コマンドを有用なデータから算出可能であってもよい。
【００２４】
基部速度目的をこれらの重み付けされた目的の合計に追加することができる。
【００２５】
身体の運動学的限度は、ヌルであってもよい。
【００２６】
本発明の一実施形態によれば、少なくとも１つの車輪は、全方向型である。
【００２７】
有利には、地面は、平坦であり、且つ、水平である。
【００２８】
又、本発明は、予め定義されたサンプリング時点において実装され、且つ、
−身体の位置計測値、基部の位置計測値、ロボットの傾斜角度、及びロボットの角速度計測値を取得するステップと、
−これらの計測値を有用なデータに変換するステップと、
−サンプル周期及びいくつかの予測されたサンプルによる打切り時点を有する線形モデル予測制御法則に基づいた、且つ、予め定義された重み及び線形制約の組を有する重み付けされた目的の合計を有する二次最適化式として表現された、制御法則を使用することにより、有用なデータを使用し、且つ、ロボットの状態に応じて、位置、速度、及び加速度コマンドを算出するステップと、
−これらのコマンドをロボットアクチュエータ用の命令に変換するステップと、
を有する、全方向可動地上基部に結合された身体を有する人間型ロボットを制御する方法をも提供している。
【００２９】
ロボットの状態は、以下のステップに従って定義することができる。
傾斜角度計測値又は／及び角速度計測値のうちの１つがゼロを上回っている場合には、推定衝撃角度速度及び推定衝撃時点を推定し、
まずは、ロボットは、非傾斜状態にあり、
非傾斜状態：
・推定衝撃時点が存在していない場合には、傾斜状態にスイッチし、
・衝撃角速度が、予め定義された限度１を上回っている場合には、傾斜状態にスイッチし、
・計測角度速度が、予め定義された限度２を上回っている場合には、傾斜状態にスイッチし、
・さもなければ、傾斜速度がヌルでない場合には、ランディング状態にスイッチし、傾斜角度がヌルである場合には、非傾斜状態において留まり、
傾斜状態：
・計測角度速度が、予め定義された限度２を上回っている場合には、傾斜状態において留まり、
・推定衝撃速度が、予め定義された限度１未満である場合には、ランディング状態にスイッチし、
・さもなければ、傾斜状態に留まり、
ランディング状態：
・推定衝撃時点が存在していない場合には、傾斜状態にスイッチし、
・衝撃角速度が、予め定義された限度１を上回っている場合には、傾斜状態にスイッチし、
・計測角速度が、予め定義された限度２を上回っている場合には、傾斜状態にスイッチし、
・傾斜角度が０に低下し、且つ、次の時点における計測角速度がヌルである場合には、非傾斜状態にスイッチし、さもなければ、ランディング状態において留まる。
【００３０】
又、本発明は、コンピュータ上において稼働した際に記述されている方法を実行するのに適したコンピュータコードを有するコンピュータプログラムをも提供している。
【００３１】
いくつかの例示用の実施形態及びその添付図面に関する以下の説明から、本発明について更に十分に理解されると共に、その様々な特徴及び利点が明らかとなろう。
【図面の簡単な説明】
【００３２】
【図１】本発明のいくつかの実施形態における人間型ロボットの物理的アーキテクチャを示す。
【図２】本発明のいくつかの実施形態における人間型ロボットのソフトウェアモジュールの機能的アーキテクチャを示す。
【図３】本発明に従って設計されたロボットの質量再分割のモデル化を示す。
【図４】本発明によるロボットの傾斜動力学のモデル化を示す。
【図５】制約の幾何学的表現を示す。
【図６】スーパーバイザの機能的方式を概略的に表す。
【発明を実施するための形態】
【００３３】
添付図面においては、同一の要素は、同一の参照符号によってタグ付けされている。
【００３４】
図１は、本発明のいくつかの実施形態における人間型ロボットの物理的アーキテクチャを示している。
【００３５】
この図における特定のロボット１００は、本発明を実装しうる人間型ロボットの一例に過ぎないものとの解釈されたい。この図のロボットの下肢１８０は、歩行のために機能しないが、このロボットが位置している表面上において転動するその基部１４０上において任意の方向に運動することができる。一例として、ロボットは、約１２０ｃｍであってもよい高さ１１０と、約６５ｃｍの奥行１２０と、約４０ｃｍの幅１３０と、を有する。特定の実施形態においては、本発明のロボットは、メッセージ（オーディオ、ビデオ、ウェブページ）をその環境に対して伝達しうるか又はタブレットの触覚インターフェイスを通じてユーザーから入力を受け取ることができるタブレット１５０を有する。又、タブレットのプロセッサに加えて、本発明のロボットは、その独自のマザーボードのプロセッサをも使用しており、これは、例えば、Ｉｎｔｅｌ（商標）のＡＴＯＭ（商標）Ｚ５３０であってもよい。又、本発明のロボットは、有利には、本発明の特定の実施形態においては、マザーボードと、四肢内の関節のモーター及び車輪としてロボットが使用しているボールを制御するアクチュエータの間におけるデータフローの処理に専用であるプロセッサをも含む。モーターは、確実な結合に必要とされる最大トルクの大きさに応じて、様々なタイプであってもよい。例えば、ｅ−ｍｉｎｅｂｅａ（商標）のブラシＤＣコアレスモーター（例えば、ＳＥ２４Ｐ２ＣＴＣＡ）を使用することが可能であり、或いは、Ｍａｘｏｎ（商標）のブラシレスＤＣモーター（例えば、ＥＣ４５＿７０Ｗ）を使用することができる。ＭＲＥは、好ましくは、ホール効果を使用したタイプであり、１２又は１４ビットの精度を有する。
【００３６】
又、本発明の実施形態においては、図１に示されているロボットは、様々な種類のセンサをも有する。これらのうちのいくつかは、ロボットの位置及び運動を制御するべく使用されている。これは、例えば、３軸ジャイロメータ及び３軸加速度計を有するロボットの胴体内に配置された慣性ユニットのケースに当て嵌まる。又、ロボットは、ロボットの額（上部及び下部）上において、５フレーム／秒において５メガピクセル分解能と、約５７°の水平方向及び４４°の垂直方向の視野（ＦＯＶ）と、を有する、Ｓｈｅｎｚｅｎ  Ｖ−Ｖｉｓｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ  Ｌｔｄ（商標）のもの（ＯＶ５６４０）などのシステムオンチップ（ＳＯＣ：Ｓｙｓｔｅｍ  Ｏｎ  Ｃｈｉｐ）タイプの２つの２ＤカラーＲＧＢカメラを含むこともできる。又、２０フレーム／秒において０．３メガピクセルの分解能を有し、且つ、２Ｄカメラとほぼ同一のＦＯＶを有するＡＳＵＳ  ＸＴＩＯＮ（商標）のＳＯＣセンサなどの１つの３Ｄセンサをロボットの眼の背後において含むこともできる。又、本発明のロボットは、その環境内の物体／生き物までのその相対的な位置を検知しうるように、例えば、頭部内において３つ、且つ、基部内において３つ、などのように、レーザーライン生成器を装備することもできる。又、本発明のロボットは、その環境内のサウンドを検知する能力を有するように、マイクロフォンを含むこともできる。一実施形態においては、１ｋＨｚにおける３００ｍＶ／Ｐａ＋／−３ｄＢの感度と、３００Ｈｚ〜１２ｋＨｚの周波数範囲（１ｋＨｚとの関係において−１０ｄＢ）と、を有する４つのマイクロフォンをロボットの頭部上において埋植することができる。又、本発明のロボットは、その環境内の物体／人間までの距離を計測するべく、恐らくは、その基部の前面及び背面において配置された、２つのソナーセンサを含むこともできる。又、ロボットは、人間とのやり取りを許容するべく、その頭部上に、且つ、その手の上部に、触覚センサを含むこともできる。
【００３７】
又、その感情を変換すると共にその環境内において人間と通信するべく、本発明のロボットは、
例えば、その眼、耳の内部の、且つ、その肩の上部の、ＬＥＤと、
その耳の内部に配置された、例えば、２つのラウドスピーカと、
を含むこともできる。
【００３８】
本発明のロボットは、ベースステーション又はその他のロボットとＥｔｈｅｒｎｅｔ  ＲＪ４５又はＷｉＦｉ８０２．１１接続を通じて通信してもよい。
【００３９】
本発明のロボットは、約４００Ｗｈのエネルギーを有するリン酸鉄リチウム電池によって電力供給することができる。ロボットは、含まれている電池のタイプに適した充電ステーションにアクセスすることができる。
【００４０】
ロボットの位置／運動は、センサの計測値に鑑み、それぞれの四肢によって定義されたチェーン及びそれぞれの四肢の端部において定義されたエフェクタを起動するアルゴリズムを使用することにより、そのモーターによって制御される。
【００４１】
図２は、本発明のいくつかの実施形態における人間型ロボットのソフトウェアモジュールの機能的アーキテクチャを示している。
【００４２】
本発明の目標は、ロボットが遭遇することになる状態を予想するべく、プログラマの介入を伴うことなしに、人間型ロボットが自律的な方法で活動を実行することを許容する方法を提供するという点にある。従来技術においては、ロボットは、プログラムされると共にそのマザーボードにアップロードされたシナリオを実行する能力を有する。これらのシナリオは、その環境内の変化する状態に対する反応を含むことができるが、ロボットは、予測されていないと共にそのマザーボードにアップロードされた又は遠隔地からアクセスされたコード内に含まれていない状態に対して反応する能力を有してはいない。対照的に、本発明の目標は、プログラマによって予想されていないイベント／状態に遭遇した場合にも、ロボットが自律的に振る舞うことを許容するというものである。この目標は、図２に示されている機能的アーキテクチャによって実現される。
【００４３】
この機能的アーキテクチャは、４つのメインソフトウェアモジュールを基本的に有する。
【００４４】
サービスモジュール２１０は、以下のような少なくとも３つのタイプのサービスを含む。
−図１との関係において記述されているタイプのロボットセンサから読取値を入力として受け取る抽出器サービス２１１であって、これらのセンサ読取値は、ロボットの位置、その環境内の物体／人間の識別情報、前記物体／人間の距離、人間によって発せられる単語又はその感情との関係において関連するデータ（有用なデータとも呼称される）を抽出するように事前処理されており、抽出器サービスの例は、ロボットの近傍における人間の存在を知覚するための人物知覚、これらの人間の運動を検出するための運動検出、サウンドの位置を特定するサウンド測位、ロボットの触覚センサ上における接触を解釈する接触検出、発話認識、その単語又はジェスチャを通じたロボットの近傍の人間によって表現された感情を識別する感情認識である。
−関節又は基部のモーターを起動するための動き、ロボットの環境内の人間の動きを追跡するためのトラッカ、感情を伝達するためのロボットのＬＥＤの点灯、活性化された発話（発話及びジェスチャの組合せ）、振る舞いなどのロボットの物理的な動作を制御するアクチュエータサービス２１２であって、振る舞いは、ロボットの感情を表現しうると共にロボットが複雑な動作を実行できるようにしうる運動、単語、点灯の組合せである。
−特にデータサービスを含むシステムサービス２１３であって、データサービスは、一時的に又は長期にわたって保存されたデータを提供し、データサービスの例は、
・ユーザーデータと、ユーザーがロボットと共に実施した内容のユーザーの履歴と、を保存するセッションサービスと、
・ロボットによって実行された手順のスケーラブルな保存をそのハイレベルな定義、起動条件、及びタグと共に提供するパッケージマネージャサービスと、
である。
【００４５】
活動モジュール２２０は、プログラムされたロボットの振る舞い２２１を含む。振る舞いのプログラミングは、本特許出願の出願人に譲渡された欧州特許出願公開第ＥＰ２４３５２１６号明細書の目的であるグラフィカルな統合開発環境（Ｃｈｏｒｅｇａｐｈｅ（商標））を使用することにより、実現することができる。Ｃｈｏｒｅｇａｐｈｅ（商標）によってプログラムされた振る舞いは、時間に基づいたロジックとイベントに基づいたロジックを組み合わせる。それぞれの振る舞いは、マニフェスト２２２によってタグ付けされており、マニフェストは、特に振る舞いの起動条件を含むテキストファイルである。これらの起動条件は、抽出器２１１が知覚しうるものに基づいている。
【００４６】
マインドモジュール２３０は、起動対象の１つ又は複数の活動の選択を担当している。これを実行するべく、マインドは、抽出器にアクセスし、且つ、すべてのインストール済みの活動の起動条件を評価する。これらの条件の変数は、イベントに基づいている。従って、効率的に、変化した変数を含む条件ステートメントのみが再評価される必要がある。ソートアルゴリズム、その優先順位、及びライフサイクルの結果に基づいて（以下を参照されたい）、活動が起動される場合があり、且つ、恐らくは、いくつかの活動が停止される場合がある。
【００４７】
実行される活動は、実行するべく自身がプログラミングされているタスクを実行するべく、サービスに対するＡＰＩ（仏語表現「Ａｐｐｌｉｃａｔｉｏｎ  Ｐｏｕｒ  Ｉｎｔｅｒｆａｃｅ」の頭文字）呼出しに依存することになる。活動が稼働中であるか又は停止されたら常に、マインドは、学習を促進するべく、それが発生した時点、条件の現在の状態、及びユーザーフィードバックの想定される状態に関するデータを収集する。
【００４８】
既存の抽出器イベントが、その条件のために十分なものではない場合には、開発者は、新しいイベントを生成するべく更なる抽出器を生成することが可能であり、その抽出器をそのアプリケーションと共にパッケージとして配布することができる。
【００４９】
これを実行するために、マインドモジュール２３０は、活動の選択を制御すると共に、抽出器の読取りと、セレクタと呼称されるマインドにおいて実行されるアルゴリズムと、に基づいて、アクチュエータを起動することにより、サービス及び活動モジュールを１つに結び付ける。セレクタの例は、以下のとおりである。
−活動を実行する自律的ライフ２３１であって、状況のコンテキストに基づいて、マインドは、合焦対象の活動を自律的ライフに通知することが可能であり（以下の例を参照されたい）、すべての活動は、モジュールＡＰＩのすべての呼出し手順に対するフルアクセスを有しており、活動は、明確な活動に合焦するように自律的ライフを制御することになる制約を含むことができる。
−運動するように動きサービスに通知するべく、人物知覚、運動検出、及びサウンド測位などの抽出器サービスにアクセスする基本的認識２３２であって、マインドは、基本的認識の振る舞いを状況に基づいて構成し、その他の時点において、基本的認識は、それ自身で機能するか、或いは、稼働中の活動によって構成される。
−発話認識抽出器にアクセスすると共に、発話するべく活性化された発話アクチュエータサービスを使用するダイアログ２３３であって、状況のコンテキストに基づいて、マインドは、合焦対象のトピックをダイアログに通知することが可能であり、マニフェスト内のメタデータは、この情報をマインド内に結び付け、ダイアログは、会話を管理するためのそのアルゴリズムをも有し、且つ、通常は、それ独自で機能している。
【００５０】
実行エンジン２４０は、サービスを起動するべく、ＡＰＩ呼出しを起動する。
【００５１】
本発明の目標は、更に詳しくは、強力に妨害されうると共にその車輪を中心として傾斜しうる全方向車輪を有する人間型ロボットを制御するというものである。この方法は、第１の２つのコントローラの間における正しく且つ滑らかな遷移を保証するべく、ロボットの動的モデルと、第３コントローラと、に依存した２つの線形モデル予測コントローラに基づいている。推定器は、ロボットが傾斜動力学状態に進入した時点を、或いは、ロボットがその公称安定動力学状態に戻った時点を、検出するように設計されている。
【００５２】
−予め命令された位置及び速度基準、並びに、０に設定された傾斜角度及び角速度基準と、
−検知された計測値及び呼び出された有用なデータから抽出された身体位置、基部位置、及び角速度データと、
を使用することにより、
それぞれのコントローラは、
−図３及び図４に示されている傾斜運動を有する２質点ロボットモデルであって、第１質点ｂは、可動基部の質量の中心（ＣｏＭ：Ｃｅｎｔｅｒ  ｏｆ  Ｍａｓｓ）を表し、且つ、第２質点ｃは、上半身のＣｏＭを表しており、可動基部１４０と身体（又は、上半身）１９０の間の結合部は、質量を有していないものと見なされる。ロボットが傾斜していない際には、上半身の、且つ、可動基部の、ＣｏＭは、ｃｃ及びｂｃである。傾斜角度は、ψであり、ｈは、ｃｃの高さである。このモデルは、システムデータサービス２１３として保存される、ロボットモデルと、
−重み付けされた目的の合計及び予め定義された線形制約の組を有する二次最適化式として表現された、サンプル周期Ｔ及び数Ｎの予測されたサンプルによる打切り時間を有する線形モデル予測制御法則であって、制御された身体及び基部（ｃ及びｂ）の動的な振る舞いを定義するべく、本発明者らは、まず、予測の持続時間（水平線）と、それぞれのサンプリングインスタンスの間の期間と、を選択しなければならない。水平線を可能な限り小さく、且つ、期間を可能な限り大きく、選択することにより、演算時間が低減されることになるが、その動力学の種類に応じて、制御の安定性及び堅牢性が低減されることにもなる。システムの線形性を保持するべく、本発明者らは、ロボットの力のピークを回避するべく、連続的なＣｏＰ軌跡を有するように、身体及び基部軌跡のために３次多項式の種類を選択した。又、このコントローラにおいては、時間は、サンプリング期間Ｔにより、サンプリングされている。予測されるサンプルの数は、Ｎである。この種の制御の別の利点は、ロボットの運動学的限度、可動基部の最大速度及び加速度、並びに、ＣｏＰ限度などの多くの不等式制約を伴って管理することが簡単であるという点にある。この制御法則は、モーションＡＰＩを呼び出すシステムデータサービス２１３として保存される、法則と、
とに基づいて、位置、速度、及び加速度コマンドを算出する。
【００５３】
位置、速度、及び加速度コマンドを算出するステップは、ロボットの傾斜角度及び角速度を制御するステップを伴っている。
【００５４】
第１コントローラは、ロボットが傾斜していない、従って、傾斜角度がヌルである、状況に専用である。
【００５５】
リアルタイム制御を実現するべく、ロボットのモデルは、可能な限り単純である必要がある。本発明者らは、地面上において基部によって作用する力の良好な近似を演算する必要がある。ロボット内における質量の再分割は、単一質点モデルによって実行することができず、その理由は、質量の約半分が基部内において集中すると共に、残りが上半身内において集中しているからである。
【００５６】
この結果、本発明者は、このシステムにおけるニュートン及びオイラーの式を以下のように記述することが可能であり、この場合に、軸ｚは、垂直方向の軸であり、且つ、ｘ及びｙは、２つの水平方向の軸である。
【数１】
0006496396.tif 000002
ここで、ｍｃ及びｍｂは、それぞれ、ｃ及びｂにリンクされた質量であり、且つ、
【数２】
0006496396.tif 000003
は、それぞれの質点における角運動量である。
【数３】
0006496396.tif 000004
は、上半身に対して可動基部によって作用する力に対応しており、且つ、
【数４】
0006496396.tif 000005
は、可動基部の３つの車輪に対して地面によって作用する力に対応している。
【００５７】
又、ｐは、力
【数５】
0006496396.tif 000006
のＣｏＰであり、これは、これらの力の共通重心である。その定義に起因し、ｐは、３つの車輪の接触点によって表される凸形の多角形の内部においてのみ定義される。
【００５８】
このモデルにおいて、本発明者らは、ｃとｂの間の運動量（３）（４）を直接的に考慮している。これは、本発明者らが、腕によって誘発される運動量を無視することを意味している。本発明者らがこれを実行している理由は、本発明者らの動作のケースにおいては、高速で運動するものが存在していないからである。式（１）（２）（３）（４）を組み合わせることにより、本発明者らは、システムの動力学式を次のように記述することができる。
【数６】
0006496396.tif 000007
【００５９】
本発明者らは、式（５）において、２質量モデルの動力学式が、２つの単一のものの合計に過ぎないという点を指摘することができる。 
【００６０】
この結果、式（５）を線形化するべく、本発明者らは、いくつかの仮定を実施する。第１に、本発明者らは、合計角運動量
【数７】
0006496396.tif 000008
を無視することが可能であり、その理由は、本発明者らが、ｃとｂの間の運動量のみを考慮するように選択したからである。第２に、本発明者らは、冗長的なロボットを有していることから、本発明者らは、軸ｚ上のその位置を変更することなしに、軸ｘ及びｙを中心としてｃのＣｏＭを運動させることができる。従って、本発明者らは、一定の値ｈにおいて制約されたｃｚを考慮しており、この仮定は、線形モデルを取得するために重要であるが、ロボットは、この仮定を伴うことなしに、依然としてその基部上において転動することができる。更には、説明を簡単にするべく、本発明者らは、好ましくは、平坦であると共に水平である地面を考慮しており、従って、ｐｚ＝０である。ｂｚの位置を制御するためのＤｏＦが存在しておらず、本発明者らは、これを定数Ｉに設定することができる。最後に、本発明者らは、ｇｘ＝ｇｙ＝０であり、ｇｚ＝ｇ重力基準であることを指摘することができる。
【００６１】
これらの仮定及び指摘事項を使用することにより、本発明者らは、式（５）を以下のように書き換えることができる。
【数８】
0006496396.tif 000009
【００６２】
この結果、本発明者らは、以下のように、ＣｏＰと、基部及び身体の位置及び加速度の間における線形関係を提供するべく、式（６）を使用することができる。
【数９】
0006496396.tif 000010
【００６３】
本発明者らは、このモデルが、なんらの傾斜の可能性をも考慮していないことを指摘することができる。従って、モデルの有効性を保証するには、ＣｏＰが、厳格に、安定性基準が定義されているロボットの３つの車輪によって定義された凸形の多角形の内部において位置することを保証するべく、ＣｏＰに対する制約をコントローラに追加しなければならない。本発明者らは、
【数１０】
0006496396.tif 000011
を地面との間におけるそれぞれの車輪の接触点によって表された凸形多角形であると見なしており、図５には、この多角形Ｄの一例が示されている。定義により、本発明者らは、常に、
【数１１】
0006496396.tif 000012
を有する。回転によって不変であるＣｏＰ制約を得るべく、ｂ上においてセンタリングされたロボットのフレーム内において、本発明者らは、
【数１２】
0006496396.tif 000013
という控えめな制約を設計しており、ここで、
【数１３】
0006496396.tif 000014
は、半径ｒのｂ上においてセンタリングされた円であり、プロパティ
【数１４】
0006496396.tif 000015
である。
【００６４】
このシステムの安定性の定量化は、未決の問題である。妨害力のなんらかのモデル化が存在していない状態においては、本発明者らは、方向、振幅、及びその動力学に関するなんらかの仮定を実施することができない。妨害を補償するためのロボットの能力は、ｃのＣｏＰ及びＣｏＭ位置にリンクさせることができる。これらは、運動することができることから、ロボットは、強力な妨害に反応することができる。本発明者らは、妨害に関するなんらの仮定も存在していない状態においては、ｃのＣｏＰ及びＣｏＭ位置は、これらがｂに近接している場合には、任意の方向において運動するための大部分の範囲を有することを指摘することができる。従って、本発明者らは、安定基準ζを提案し、これは、次式のように、最大安定性において、０に等しい。
【数１５】
0006496396.tif 000016
ここで、ζｆは、本発明者らが、ＣｏＰをセンタリングするべく、或いは、ｃのＣｏＭをセンタリングするべく、最も重要であると見なしている安定性のタイプを決定する範囲［０；１］内の係数である。
【００６５】
このロボットモデルが、ロボットが傾斜していないケースに対処するべく定義されることにより、本発明者らは、対応する制御法則に対処することがでる。
【００６６】
本発明者らは、オイラーの陽解法を使用することにより、それぞれの状態の間の関係を以下のように記述することができる。
【数１６】
0006496396.tif 000017
【００６７】
サンプリング周期Ｔの選択における重要な結果が存在している。軌跡は、２つのサンプルの間において制約の外に位置することが許容されており、その理由は、本発明者らが、それぞれのサンプリング時点においてのみ、軌跡を制約しているからである。リアルタイムを理由として、本発明者らは、Ｔの値を過剰に小さく選択することができない。従って、セキュリティマージンとして、それぞれの制約内において、このオーバーフローを考慮する必要がある。
【００６８】
【数１７】
0006496396.tif 000018
であるものと見なし、且つ、同一の方法により、ｃの導関数についても、且つ、ｂ及びｐについても、同様に見なすものとする。又、初期状態
【数１８】
0006496396.tif 000019
であるものと見なし、且つ、同一の方法により、
【数１９】
0006496396.tif 000020
についても、同様に見なすものとする。
【００６９】
式（９）（１０）（１１）を使用することにより、本発明者らは、身体軌跡
【数２０】
0006496396.tif 000021
のそれぞれの導関数とコマンド
【数２１】
0006496396.tif 000022
の間における関係を以下のように記述することができる。
【数２２】
0006496396.tif 000023
【００７０】
ここでは、以下のとおりである。
【数２３】
0006496396.tif 000024
【００７１】
同一の方法は、ｂの動力学を定義するべく使用される。本発明者らは、
【数２４】
0006496396.tif 000025
は、反転可能であることを指摘することが可能であり、その理由は、これらが、対角線においてゼロを有していない二乗された下三角行列であるからである。
【００７２】
ｐと関連し、式（６）を使用することにより、本発明者らは、この関係を以下のように記述することができる。
【数２５】
0006496396.tif 000026
【００７３】
ここでは、以下のとおりである。
【数２６】
0006496396.tif 000027
【００７４】
これらの位置、安定性、及び動的な振る舞いの条件を充足する制御法則を判定する問題を解決するべく使用しうる様々な方法のうちで、本発明者らは、最適化問題として、これに対処することを選択した。そして、この最適化問題を解決するべく、本発明者らは、線形制約下における最小二乗最小化として、或いは、目的及び線形制約を有する二次最適化として、これを規定することを選択した。主な理由は、この種の問題用のソルバは、演算が高速であるというものである。非線形制約又は非二次最小化目的を追加することにより、演算時間が大幅に増大する。
【００７５】
これらの最適化変数は、制御された身体及び基部
【数２７】
0006496396.tif 000028
に対応している。従って、それぞれの目的及び制約は、Ｘの関数として表現されなければならない。
【００７６】
１）制御目的：
目的Ｏｉは、最小二乗最小化及びＱＰ（Ｑｕａｄｒａｔｉｃ  Ｐｒｏｂｌｅｍ）式
【数２８】
0006496396.tif 000029
として表現されることになる。
【００７７】
Ｘｔは、転置された際のＸである。
【００７８】
第１の目的は、追跡制御である。この制御においては、本発明者らは、位置／速度追跡を実行するべく選択した。
【数２９】
0006496396.tif 000030
を水平軸上における位置及び速度目的としよう。（１３）を使用することにより、本発明者らは、速度制御目的Ｏ１を以下のように記述することができる。
【数３０】
0006496396.tif 000031
【００７９】
（１２）を使用することにより、本発明者らは、以下のように、位置制御目的Ｏ２を記述することができる。
【数３１】
0006496396.tif 000032
【００８０】
次の目的は、安定性の極大化である。ζを極小化することにより、本発明者らは、安定性を極大化させる。Ｕｐｂｂ＝Ｕｐｂ−Ｕｂであるとしよう。（８）、（１２）、（１６）を使用することにより、本発明者らは、安定性制御目的Ｏ３を以下のように記述することができる。
【数３２】
0006496396.tif 000033
【００８１】
本発明者らは、ロボット上における急な動きのピークを回避するべく、別の目的を定義することが好ましく、従って、本発明者らは、急な動き極小化目的Ｏ４を以下のように制御に対して追加する。
【数３３】
0006496396.tif 000034
【００８２】
この第４の目的と関連し、本発明者らは、ロボットが転倒した際に、ｃ及びｂの軌跡が指数的に成長することを指摘することができる。従って、これらの軌跡の急な動きを極小化することにより、本発明者らは、ｃ及びｂの指数的な発散の回避を直接的に強化することになり、これは、ロボットの安定化に寄与する。
【００８３】
２）制御制約：
以下においては、制約Ｒｉは、ＱＰ線形不等式制約式
【数３４】
0006496396.tif 000035
として表現されることになる。
【００８４】
第１制約Ｒ１は、安定性を保証するためのものであり、ロボットがそれ自体で傾斜しないことを保証するべく、ζは、１以下でなければならない。この制約は、線形ではなく、従って、本発明者らは、これを近似するべく、控えめな線形制約の組を導入する。本発明者らは、図４に示されているように、ＣｏＰ限度制約を定義している円
【数３５】
0006496396.tif 000036
内において内接する制約
【数３６】
0006496396.tif 000037
の八角形の形状を使用することを選択している。
【数３７】
0006496396.tif 000038
であるとしよう。このＣｏＰ境界に関する制約Ｒ１は、次式のように記述される。
【数３８】
0006496396.tif 000039
【００８５】
第２制約Ｒ２は、可動基部の運動学的限度に関する。
【数３９】
0006496396.tif 000040
を可動基部の最大速度及び加速度であるとしよう。本発明者らは、制約Ｒ２を以下のように記述することができる。
【数４０】
0006496396.tif 000041
【００８６】
第３の且つ最後の制約Ｒ３は、身体の運動学的限度に関する。その関節に起因し、ロボットは、その上半身のＣｏＭを可動基部のＣｏＭを中心として矩形ゾーン
【数４１】
0006496396.tif 000042
内において運動させることができる。ｋｘｙを矩形の形状
【数４２】
0006496396.tif 000043
の限度であるとしよう。制約Ｒ３は、以下のように記述される。
【数４３】
0006496396.tif 000044
【００８７】
身体の運動学的限度は、ヌルであってもよい。その結果、本発明者らは、ｃｘｙ＝ｂｘｙを得る。
【００８８】
これらの目的及び制約を有するこの最適化問題を解決するべく、本発明者らは、線形二次問題ソルバを使用する。ＱＰの解明に関するいくつかの文献は、Ｊ．  Ｎｏｃｅｄａｌ及びＳ．  Ｊ．  Ｗｒｉｇｈｔによる２０００年の書籍「Ｎｕｍｅｒｉｃａｌ  ｏｐｔｉｍｉｚａｔｉｏｎ，  ｓｅｃｏｎｄ  ｅｄｉｔｉｏｎ」において見出すことができる。この種のソルバは、この問題のような問題の最適な解を以下のように見出す。
【数４４】
0006496396.tif 000045
ここで、Ｑは、対称的な且つ正の明確な値（ｓｙｍｍｅｔｒｉｃ  ａｎｄ  ｐｏｓｉｔｉｖｅ  ｄｅｆｉｎｉｔｅ）である。式（１９）、（２１）、（２５）、（２７、（２９）、（３１）、（３３）を使用することにより、本発明者らは、Ｑ、ｐ、Ｖ、ｖ−、及びｖ＋の値を以下のように充当することができる。
Ｑ＝  α１Ｑ１＋  α２Ｑ２＋  α３Ｑ３＋  α４Ｑ４＋  α５Ｑ５    （３５）
ｐ＝  α１ｐ１＋  α２ｐ２＋  α３ｐ３＋  α４ｐ４＋  α５ｐ５    （３６）
【数４５】
0006496396.tif 000046
ここで、αｉは、それぞれの目的と関連付けられた重み付けである。これらは、実験的に選択することができる。
【００８９】
αｉ値の選択は、制御法則の振る舞いを定義するための開始点である。それぞれのαｉの間の相対的なギャップは、優先順位付けされることになる目的と、無視されることになる目的と、を定義する。α１及びα２が、その他の重み付けよりも大きい場合には、軌跡追跡は、非常に効率的なものとなるが、安定性は、効率性が低下することになり、且つ、身体の且つ基部の急な動きが大きくなる可能性がある。α３がその他の重み付けよりも大きい場合には、ロボットは、強力な妨害に対して非常に安定することになる。本発明者らは、この振る舞いのモードにおいては、本発明者らが、正の速度を追跡目的として定義した場合には、ロボットが、ＣｏＰをセンタリングするべく、前方に運動する前に、後方にスタートすることになることを指摘することができる。重み付けα４は、ｃ及びｂの軌跡に対するスムージング効果を有しており、この重み付けがその他のものよりも大きい場合には、最適な解は、運動させないこと、となる。従って、この重み付けは、小さくなければならない。
【００９０】
十分な重み付けを選択することにより、いくつかのその他の振る舞いを得ることができる。２つの目的の間の相対的なギャップが（数桁だけ）大きい場合には、相対的に小さな目的は、ほとんど、相対的に大きな目的のヌル空間内において演算されることになる。充足されえない場合に緩和されうる疑似制約を有することを本発明者ら所望する際には、このプロパティの使用が有用である。例えば、本発明者らは、良好な視覚的振る舞いを得るために、可動基部の位置にセンタリングするように、上半身のＣｏＭの大きく重み付けされた目的を追加することができる。これは、可能な場合には常に、ＣｏＭを可動基部の位置において固定するという効果を有することになるが、これが可能ではないケースにおいては、この疑似制約は、緩和されることになる。
【００９１】
重み付けセットは、固定することが可能であり、これは、相対的に良好な軌跡追跡又は安定性の取得を所望するかどうかを本発明者らが事前に選択したことを意味している。
【００９２】
図２を参照すれば、ロボットのモデル及び制御法則は、振る舞い２２１として保存されており、これらは、
−センサから、身体の位置計測値及び基部の位置計測値を取得するステップと
−抽出器２１１を使用することにより、これらの位置計測値を観察位置計測値に変換するステップと、
−システムサービス２１３内において、上述の制御法則を使用することにより、身体速度及び基部速度コマンドを算出するステップと、
−これらの身体及び基部速度を積分し、結果を抽出器２１１に提供するステップと、
−これらのコマンド（身体及び基部用の位置及び速度）を基部の車輪及びロボットの関節であるロボットアクチュエータ２１２用の命令として変換するステップと、
を有する閉ループ方式に従って、実行エンジン２４０により、且つ、サービスモジュール２１０により、実装される。
【００９３】
第２コントローラは、ロボットが傾斜している状況に専用である。ロボットが、例えば、妨害に起因して傾斜しかけている場合には、以前の節において定義されたモデルは、十分ではない。本発明者らは、傾斜角度ψがヌルではない図４に示されているモデルにおいて傾斜の動きを考慮する必要がある。まず、本発明者らは、ロボットが、その車輪のうちの２つにおいてのみ、傾斜しうるものと見なしている。本発明者らは、１つの車輪を中心とした傾斜のみを考慮することはせず、その理由は、このケースにおいては、ロボットが、適切に制御されるには、過剰なＤｏＦを喪失するからである。
【００９４】
ロボットが傾斜している際には、ＣｏＰは、２つの接触車輪の間のライン上においてのみ変化することができる。１つの車輪上において傾斜する確率を極小化するべく、ＣｏＰは、２つの接触車輪の中間に位置するように制約される。更には、ロボットの機械的構造は、１つの車輪において傾斜するリスクを低減するように製造されている。傾斜の動きの際に、ロボットは、空中の車輪によって許容されている１つのＤｏＦを喪失する。結果は、ロボットが非ホロノミックになるというものである。これを取り扱うべく、コントローラ内におけるいくつかの制約を追加しなければならない。
【００９５】
【数４６】
0006496396.tif 000047
をｘｙプレーン上の且つ傾斜軸に直交した単位ベクトルであると見なそう。ｐは、ｖψによって定義された軸上においてのみ運動することができる。又、ψを傾斜角度であるとしよう。地面に起因し、本発明者らは、ψ≧０を有する。本発明者らは、ｃ（並びに、それぞれ、ｂ）を、ロボットのモーターによる制御部分ｃｃ（並びに、それぞれ、ｂｃ）と、以下の運動学的関係による傾斜角度に依存した別の部分と、という２つの成分に分割することができる。
【数４７】
0006496396.tif 000048
ここでは、以下のとおりである。
【数４８】
0006496396.tif 000049
【００９６】
これらの関係を単純化するべく、本発明者らは、以下のような２つの仮定を実施する。
−ｄｃは、一定であると見なすことが可能であり、その理由は、ψとの関係における
【数４９】
0006496396.tif 000050
の動きは、過渡的な傾斜運動の際には、無視可能であるからである。
−いつものように、本発明者らは、
【数５０】
0006496396.tif 000051
という遠心効果との関係におけるコリオリ効果を無視する。従って、式は、以下のように書き換えることができる。
【数５１】
0006496396.tif 000052
【００９７】
最後に、本発明者らは、傾斜角度が０に近接した状態において留まると見なすことにより、これらの式をψ＝０を中心として線形化する。又、本発明者らは、ψ≒０である際には、ｈ＞＞ｄｃｓｉｎ（ψ）であると見なすことができる。式は、以下のようになり、
【数５２】
0006496396.tif 000053
且つ、ｂについても、ｄｂによってｄｃを置換し、且つ、Ｉによってｈを置換することにより、同様である。この結果、（７）（５０）（５２）（５３）（５５）を使用することにより、本発明者らは、動力学の式を以下のように書き換えることができる。
【数５３】
0006496396.tif 000054
【００９８】
本発明者らは、角速度がヌルである際には（ロボットが非傾斜状態にあることを意味している）、非傾斜コントローラとの関係において記述されているロボットモデル化の式（７）が得られることを指摘しておく。
【００９９】
本発明者らは、２つの接触車輪の中間においてｐの位置を制約することを選択した。従って、ｐは、以下の関係によって完全に定義される。
ｐ  ＝  ｂｃ  ＋  ｖψ  ｄｃ          （５７）
【０１００】
この結果、（５６）（５７）を使用することにより、本発明者らは、ψとその導関数の間のリンクをその他の変数を伴って以下のように表現することができる。
【数５４】
0006496396.tif 000055
【０１０１】
この傾斜を有するロボットモデルが定義されることにより、本発明者らは、対応する制御法則に対処することができる。
【０１０２】
本発明者らは、以前の節と同一の定式化を使用する。従って、本発明者らは、ψの軌跡を以下のように定義することができる。
【数５５】
0006496396.tif 000056
ここで、
【数５６】
0006496396.tif 000057
であり、且つ、
【数５７】
0006496396.tif 000058
である。
【０１０３】
これらの関係及び式（５８）を使用することにより、本発明者らは、次式を得る。
【数５８】
0006496396.tif 000059
【０１０４】
本発明者らは、式（５９）（６１）を使用することにより、
【数５９】
0006496396.tif 000060
の間において直接的な線形関係が得られることを指摘することができる。
【数６０】
0006496396.tif 000061
【０１０５】
そして、総合的な形態においては、以下のとおりである。
【数６１】
0006496396.tif 000062
【０１０６】
この関係は、行列
【数６２】
0006496396.tif 000063
が可逆性を有する場合にのみ、有効である。Ｕψ及びＵψは、値
【数６３】
0006496396.tif 000064
及びＴサンプル周期の一定の対角線を有する２つの下三角行列である。従って、可逆性は、次式のとおりである場合にのみ、有効である。
【数６４】
0006496396.tif 000065
【０１０７】
この系を解くことにより、本発明者らは、この行列の可逆性を許容するためのＴに対する条件を得る（本発明者らは、Ｔ＞０であると仮定している）。
【数６５】
0006496396.tif 000066
【０１０８】
図１との関係において前提部分において記述されている特徴を有する本発明によるロボットの場合には、本発明者らは、Ｔ≠２２０ｍｓを有する。
【０１０９】
この問題を解決するべく、本発明者らは、以前の節（ロボットが傾斜していない）と同一の定式化を使用する。最適化変数は、同一の状態に留まり、その理由は、新しい変数ψの追加にも拘らず、本発明者らは、ＣｏＰのｐを１つの点に位置するように制約しているからである。従って、問題を解決するための変数の数は、以下のとおり、不変である。
【数６６】
0006496396.tif 000067
【０１１０】
１）制御目的：
第１の目的は、傾斜を回復させるべく、ψのノルムを極小化するというものである。本発明者らは、ψとＸの間の関係を以下のように表現することができる。
【数６７】
0006496396.tif 000068
【０１１１】
ここでは、以下のとおりである。
【数６８】
0006496396.tif 000069
【０１１２】
この結果、本発明者らは、この目的Ｏ１を以下のように記述することができる。
【数６９】
0006496396.tif 000070
【０１１３】
第２の目的は、傾斜速度の極小化である。最低角速度によって着地するべく、可能な限り、リバウンドを回避するべく、且つ、機械的衝撃を極小化するべく、傾斜の際の角速度を極小化することが重要である。本発明者らは、
【数７０】
0006496396.tif 000071
とＸの間の関係を次のように表現することができる。
【数７１】
0006496396.tif 000072
【０１１４】
この結果、本発明者らは、この目的Ｏ２を以下のように記述することができる。
【数７２】
0006496396.tif 000073
【０１１５】
第３の目的は、傾斜を伴わないケースと同様に、以下のように、数値的な安定性のためのものである。
【数７３】
0006496396.tif 000074
【０１１６】
２）制御制約：
以下においては、制約は、ＱＰ線形等式制約式
【数７４】
0006496396.tif 000075
として表現されることになる。
【０１１７】
最初の制約は、可動基部の運動学的限度に関する。
【数７５】
0006496396.tif 000076
を可動基部の最大速度及び加速度とすると、本発明者らは、制約Ｒ２を以下のように記述することができる。
【数７６】
0006496396.tif 000077
【０１１８】
第２制約は、上半身の運動学的限度に関する。その関節に起因し、ロボットは、可動基部のＣｏＭを中心として矩形ゾーン内においてその上半身のＣｏＭを運動させることができる。ｋｘｙを矩形の形状
【数７７】
0006496396.tif 000078
の限度とすることにより、制約Ｒ２は、以下のように記述される。
【数７８】
0006496396.tif 000079
【０１１９】
第３制約は、地面の存在に対応しており、これは、傾斜角度が常に正であることを意味する。
【数７９】
0006496396.tif 000080
【０１２０】
最後の制約は、可動基部のＤｏＦ損失を考慮することを意味している。ｂは、ｖψ軸上においてのみ運動させることができる。制約Ｒ４は、以下のように記述される。
【数８０】
0006496396.tif 000081
【０１２１】
第３コントローラは、ランディングフェーズに専用である。これは、第１コントローラ（非傾斜状態）と同一であるが、２つの追跡制御目的を伴っておらず、且つ、傾斜コントローラの制約Ｒ４を伴っている。更に正確には、目的は、
−ＣｏＰと基部の中心の間の距離に関係付けられた目的であって、ＣｏＰは、ロボットと地面の間の接触力の共通重心である、目的と、
−数値的安定性の目的と、
である。
【０１２２】
基部速度の目的をこれらの目的に追加することができる。
【０１２３】
制約は、
−可動基部の最大速度及び加速度と、
−身体の運動学的限度と、
−ＣｏＰ限度と、
−角速度軸上のみにおける身体の運動と、
である。
【０１２４】
ロボットのライフタイムにおいて、本発明者らは、以下のように、使用するコントローラを選択しなければならない（図６に示されている）。
・ロボットが傾斜していない際にロボットを制御するための第１のもの５０１
・妨害を回復させるべく、ロボットが傾斜している際に使用される第２のもの５０２
・ロボットがランディングフェーズにある際に使用される第３のもの５０３
【０１２５】
これらのコントローラにより、本発明者らは、以下の３つの状態をロボットについて定義する。
・第１コントローラ５０１が起動される際の非傾斜状態
・第２コントローラ５０２が起動される際の傾斜状態
・第３コントローラ５０３が起動される際のランディング状態
【０１２６】
本発明者らは、更に記述されているランディング衝撃時点及び衝撃角速度を推定することにより、ロボットが傾斜している際のロボットの将来の振る舞いを予測するべく推定器５０４を開発した。
【０１２７】
図４に示されているように、それぞれのサンプリング時点において、スーパーバイザ５００は、以下のステップに従って、これら３つの状態のうちの１つを選択する。
【０１２８】
まず、ロボットは、非傾斜状態にある。
【０１２９】
それぞれのサンプリング時点において、本発明者らは、傾斜角度及び傾斜速度を計測し、これらのうちの１つがゼロを上回っている場合に、本発明者らは、推定器を使用して衝撃角速度及び衝撃時点を推定する。
【０１３０】
Ａ）ロボットが非傾斜状態にある際
・推定衝撃時点が存在していない場合には（不安定な動き）、傾斜状態にスイッチし、その理由は、ロボットは、なにもすることなしに、回復することができないからである。
・衝撃角速度が、ロボットのセキュリティのために過大である場合には、（＝衝撃角速度が、予め定義された限度１を上回っている）、衝撃角速度を低減するべく、傾斜状態にスイッチする。
・計測角速度が過大である場合には（＝計測角速度が、予め定義された限度２を上回っている）、推定衝撃速度がどのようなものであっても、傾斜状態にスイッチする。この状態は、強力なプッシュを補償するために相対的に小さな遅延を有することを意図したものである。本発明者らは、大きな角速度が計測された場合には、これは、ロボットを転倒させるべく、だれかがロボットをプッシュしたためであると仮定している。
・さもなければ、角度を回復させる必要はないが、傾斜角度がヌルでない場合には、ランディング状態にスイッチし、その理由は、ロボットが、空中の車輪に起因し、１つのＤｏＦを喪失しているからである。
・さもなければ、傾斜角度がヌルである場合には、この状態に留まる。
【０１３１】
Ｂ）ロボットが傾斜状態にある際
この状態においては、ロボットの傾斜角度及び傾斜角速度を極小化するべく、第２コントローラが起動される。このモデルにおいては、本発明者らは、衝撃の際に傾斜の動きを補償するように力を追加することになる地面をモデル化してはいない。角度を０において制御することにより、この角度においてロボットに作用する重力を補償するべく、ロボットの加速度は、過大な速度におけるものとなる。従って、このコントローラを使用することにより、本発明者らは、傾斜が終了して停止する時点まで、待つ必要はない。
・計測角速度が過大である場合には（＝計測角速度が、予め定義された限度２を上回っている）、推定衝撃速度がどのようなものであっても、この状態において留まる。
・推定衝撃速度が限度未満である場合には、ランディング状態にスイッチする。
・さもなければ、この状態に留まる。
【０１３２】
Ｃ）ロボットがランディング状態にある際
この状態は、第１には、傾斜コントローラ内におけるモデル化されていない地面に起因した大きな基部の加速度を回避するべく、且つ、第２には、空中の車輪が落下すると共に非傾斜状態を再起動する前にロボットが喪失したＤｏＦを回復するようにするべく、傾斜状態と非傾斜状態の間の滑らかな遷移を管理する。
・推定衝撃時点が存在していない場合には、或いは、衝撃角速度が過大である場合には、或いは、計測角速度が過大である場合には、傾斜状態にスイッチする。
・傾斜角度が０に低下した場合には、リバウンドが出現したら、わずかな時間だけ待ち、そうではなければ、非傾斜状態にスイッチする。
・さもなければ、この状態において留まる。
【０１３３】
以下、本発明者らは、推定器について説明する。本発明者らは、ロボットが落下するかどうか、並びに、落下する場合には、衝撃角速度がどのようなものになるか、を知るべく、推定器を開発した。現時点の計測傾斜角度ψ０及び角速度ψ・０を使用することにより、本発明者らは、一定の加速度
【数８１】
0006496396.tif 000082
を有するものと仮定する。傾斜角度ψが０である際には、可動基部のＣｏＭと傾斜接触点の間の角度は、
【数８２】
0006496396.tif 000083
である。この仮定は、可動基部が、加速するために停止することになることを意味している。本発明者らが（可動基部の加速度を０に制御する）ランディングモードを使用できるかどうかを知るべく、この推定器が使用されるのに伴って、一定の角加速度の検討が有効である。本発明者らは、接触時点ｔｉを見出すべく、且つ、これが存在している場合には、この時点における角速度
【数８３】
0006496396.tif 000084
を演算するべく、関連する二次系を以下のように解くことができる。
【数８４】
0006496396.tif 000085
【０１３４】
式
【数８５】
0006496396.tif 000086
が成立する場合には、本発明者らは、衝撃を有していない。本発明者らは、これは、
【数８６】
0006496396.tif 000087
である場合にのみ、発生しうることを指摘することができる。さもなければ、衝撃時点ｔｉを以下のように演算することができる。
【数８７】
0006496396.tif 000088
【０１３５】
本発明者らが、ｔｉ＞０である解を選択することは、明らかである。そして、従って、推定された衝撃速度
【数８８】
0006496396.tif 000089
は、次式のとおりである。
【数８９】
0006496396.tif 000090
【０１３６】
推定器及びスーパーバイザも、システムデータサービス２１３として保存することができる。
【図１】
0006496396.tif 000091
【図２】
0006496396.tif 000092
【図３】
0006496396.tif 000093
【図４】
0006496396.tif 000094
【図５】
0006496396.tif 000095
【図６】
0006496396.tif 000096