(57)【特許請求の範囲】
【請求項１】
少なくとも２本の脚（１２０）を有する装置（１００）の地面での動作の制御方法であって、
前記装置の動的状態変数の現在の値（σ）を取得する取得工程（３００；４００；８００）と、
前記現在の値（σ）と前記装置の運動のセットポイント（σd）とを考慮しながら制約（１５００；１９００）下にある前記装置のための運動指令（μ）を最適化し、前記最適化（３２０；４２０；８２０）は現在の状態（ｔ1）と第２の状態（ｔ2）との間における前記装置（１００）の運動をモデル化（図１，２）することにより行われ、前記装置は、前記運動の間には少なくとも第１の脚で支持され、地面における圧力中心が変化する時刻（ｔp）からは少なくとも第２の脚で支持される、最適化工程（３２０；４２０；８２０）と、
前記運動指令（μ）を付与する付与工程（３３０；４３０；８３０）と、を備え、
当該方法は、前記最適化が、前記第２の状態（ｔ2）における前記装置の重力ポテンシャルエネルギーが時間の関数で極大であるという仮定のもとで行われ、
前記最適化は、数式から得られたモデルを用いて行われ、
前記数式は、前記第２の状態（ｔ2）における前記装置の重力ポテンシャルエネルギーが時間の関数で極大であるという条件を与えることによって得られたものであることを特徴とする、方法。
【請求項２】
前記装置は、線形倒立振子でモデル化されている、請求項１に記載の制御方法。
【請求項３】
前記運動指令（μ）は、脚と地面とが接触する地面の位置（ΔＸf）を備えている、請求項１または請求項２に記載の制御方法。
【請求項４】
前記運動指令（μ）は、脚と地面とが接触する時間（Ｔ1）を備えている、請求項１から３のいずれか１項に記載の制御方法。
【請求項５】
前記最適化（４２０）は、運動は直線的であるという仮定のもとで線形化された運動モデルを用いることによって行われる、請求項１から４のいずれか１項に記載の制御方法。
【請求項６】
前記最適化（４２０）は、線形二次レギュレータを利用して行われる、請求項５に記載の制御方法。
【請求項７】
前記最適化は、モデル反転法によって行われる、請求項１から４のいずれか１項に記載の制御方法。
【請求項８】
前記最適化は、追従するべき軌道の関数として決定されたセットポイント（σd）の関数として行われる、請求項１から７のいずれか１項に記載の制御方法。
【請求項９】
前記最適化は、従うべき速度の関数として決定されたセットポイント（σd）の関数として行われる、請求項１から８のいずれか１項に記載の制御方法。
【請求項１０】
前記最適化は、脚（１２０）が地面に接触しているとき（ｔp）の摩擦円錐に従う制約のもとで行われる、請求項１から９のいずれか１項に記載の制御方法。
【請求項１１】
前記最適化は、前記装置の少なくとも１つの位置（Ｕ）または前記装置の少なくとも１つの速度（Ｖ）を含むセットポイント（σd）の関数として行われる、請求項１から１０のいずれか１項に記載の制御方法。
【請求項１２】
前記最適化（４１５）は、平均歩幅のセットポイントの関数として行われる、請求項１から１１のいずれか１項に記載の制御方法。
【請求項１３】
前記ポテンシャルエネルギーは、質量中心と、地面と接触している脚の地面との接触ポイントとの間の距離の関数である、請求項１から１２のいずれか１項に記載の制御方法。
【請求項１４】
少なくとも２本の脚を含み、請求項１から１３のいずれか１項に記載の制御方法を行う制御装置を組み込んだ、ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット工学の分野、より正確には、少なくとも２本の脚で支持された本体を有し、これらの脚で立って進むロボットの制御方法の分野に属する。
【背景技術】
【０００２】
上述のようなロボットの歩行を制御するための種々の数学的な方法が報告されているが、シンプルな環境（例えば、障害物のない平坦な地面）においても、さらには階段等を含む複雑な環境においても効率的に運動するために２本脚のロボットが解消するべき多くの困難を考慮すると、それらの方法は多くの点で完全ではない。
【０００３】
ある制御手法では、ステップ時間を種々のやり方で決定する。例えば、これは、Herdtらによる文献"Online walking motion generation with automatic foot step placement" Advanced Robotics, 24, 719, 2010、の開示に相当し、この文献には、所定の基準速度、足の配置の自由な変更、および地面でのロボットの足の圧力中心に関する制約に基づいて２本脚のロボットの歩行運動を生成する予測制御を活用することが記載されている。
【０００４】
その文献では、用いられているロボットのモデルは、シンプルであるが、常にステップ時間が一定であることに基づいてロボットを制御するものであり、ある著者は、人間のダイナミクスに近い複雑なダイナミクスを考慮に入れるために、腰の運動等を含むより複雑なモデルを開発している。
【０００５】
具体的に、米国特許出願公開第２００８／０１３３０５３号明細書では、推進力を受けたロボットの安定性が取り上げられている。ロボットは、本体の角モーメントの変化による影響を再現するフライホイールを含む倒立振子によってモデル化されている。著者は、地面の足との接触位置と、フライホイールの角モーメントとを瞬時に決定する制御方法を開示する。
【０００６】
別の手法、例えばHyonおよびFujimotoによる文献IFAC Symposium on robot control 2009、ならびにVan OortおよびStramigioliによる文献IEEE International Conference on Robotics and Automotion 2007, pp. 4653-4660では、ステップ所要時間は可変であり、決定されるのは歩幅である。
【０００７】
ステップ所要時間および歩幅の両方を制御変数として利用する提案もなされている。すなわち、Mordatchらによる文献“Robust physics-based locomotion using low-dimensional planning” ACM Transactions on Graphics 2010, 29 (3)は、倒立振子モデルに基づいて規定され、ステップ所要時間およびステップの位置を含む制御パラメータを有するコントローラを開示している。多項方程式である運動方程式が、連続する少なくとも２ステップについて適用される。連続する２ステップの間の、制御パラメータの連続性が設定される。ロボットの少なくとも２ステップからなる１セットについての最適化は、統計的手法を用いて行われる。宙にある時間帯がない状況では、制御は、２ステップ、すなわち第１の足変化、運動、第２の足変化、新たな運動、最後に第３の足変化で構成されるシーケンス、に基づいて計算される。
【０００８】
このような制御方法は、少なくとも２ステップからなる１セットに適用されるため、計算に非常に長い時間を要することがあるという欠点を有し、このことによって、より多くの計算能力が必要となり、システムの応答性が低下する。
【０００９】
本発明は、要求される計算量を削減しつつ、特にこれらの問題を解決することを目的とする。
【００１０】
本発明は、少なくとも２本の脚を有する装置の地面での動作の制御方法であって、
前記装置の動的状態変数の現在の値を取得する取得工程と、
前記現在の値と前記装置の運動変数のセットポイントとを考慮しながら制約下にあってもよい前記装置のための運動指令を最適化し、前記最適化は現在の状態と第２の状態との間における前記装置の運動をモデル化することにより行われ、前記装置は、前記運動の間には少なくとも第１の脚で支持され、地面における圧力中心が変化する時刻からは少なくとも第２の脚で支持される、最適化工程と、
前記運動指令を付与する付与工程と、を備え、
当該方法は、前記最適化が、前記第２の状態における前記装置の重力ポテンシャルエネルギーが時間の関数で極大であるという仮定のもとで行われることを特徴とする、方法である。
【００１１】
すなわち、本発明で提案されるモデル化は、ポテンシャルエネルギーの極大という、歩行サイクルの特徴的な状態に基づいている。
【００１２】
この状態は、周期的な歩き方において絶えず現れ、以下で詳細に説明するように、状態変数についての１つの制約のみによって特徴づけられる。
【００１３】
この状態は、システムの軌道と、状態空間の部分空間であって状態変数についての制約によって特徴づけられたポアンカレ断面との交点（intersection de la trajectoire du systeme avec une section de Poincare）である。
【００１４】
このような遷移モデルによれば、解析処理によって、特に制御変数であるステップ所要時間および歩幅の同時利用によって、運動方程式を立てることが可能となるため、当該制御方法によれば、正確かつ高速に２本脚のロボットのための制御パラメータを規定することが可能となる。
【００１５】
特に、提案される制御方法は、Mordatchらによる文献に記載された先行技術の場合の半数以下の制御変数しか用いない。
【００１６】
ポアンカレ断面は、円環構造の安定性（stabilite des systemes cycliques）の検討によく適合しており、従って本発明によって用いられる運動モデルは、２つの足変化の状態間の運動をモデル化する先行技術、例えばMordatchらによる文献で考慮されたモデルよりも優れた解析制御につながる。
【００１７】
制約が複数の足の位置について設定され、結果として制御変数としてステップ所要時間のみが残る場合、２ステップ、すなわち第１の状態および第２の状態間の２つの支持脚変化を考慮する必要があるものの、本発明で提案される制御は、解析および特性評価を行うことに適している。
【００１８】
この特性評価によって、指令がより理解され、特に、収束性の保証の規定が可能となる。
【００１９】
コントローラに適したゲインまたはパラメータを事前に選択することもできる。
【００２０】
装置の重力ポテンシャルエネルギーは、装置のモデルのコンテキストに適合している。
【００２１】
“線形倒立振子”モデルとして知られている装置のモデルでは、装置の質量中心は、上記の運動の間は、平面に拘束される。倒立振子の別例であり“コンパス”モデルと称される非線形モデルでは、一定であるのは、装置の質量中心と装置の各足との間の各長さである。
【００２２】
好適には、運動指令は、脚と地面とが接触する地面の位置、または脚と地面とが接触する時間、またはこれら両方を備える。
【００２３】
有利な実装例では、上記の最適化は、例えば直線的または円形の軌道である多項式軌道（trajectoire polynomiale）に運動が従うという仮定のもとで線形化された運動モデルを用いて行われる。計算は、相当程度簡易化される。
【００２４】
最適化は、一実装例では線形二次レギュレータを利用して行われ、別例ではモデル反転法（inversion de modele）によって行われる。
【００２５】
本発明の別の特徴は、以下のとおりである：最適化は、追従するべき軌道の関数として決定されたセットポイントの関数として行われ得る、および／または、従うべき速度の関数として決定されたセットポイントの関数として行われ得る。
【００２６】
最適化は、脚が地面に接触しているときの摩擦円錐に従う制約のもとで行われてもよい。
【００２７】
最適化は、装置の少なくとも１つの位置または装置の少なくとも１つの速度を含むセットポイントの関数として、および／または、平均歩幅のセットポイントまたは平均ステップ時間（所要時間）の関数として行われてもよい。
【００２８】
最後に、一モデルでは、ポテンシャルエネルギーは、質量中心と、地面と接触している脚の地面との接触ポイントとの間の距離の関数である。
【００２９】
本発明はまた、随意には、上記に示した制御方法を行う制御装置を組み込んだ人型ロボットを提供する。
【図面の簡単な説明】
【００３０】
【図１】図１および２は、用いられるロボットのモデルおよび運動のモデルを示す。
【図２】図１および２は、用いられるロボットのモデルおよび運動のモデルを示す。
【図３】図３は、本発明の方法のゼネラルフローチャートである。
【図４】図４は、本発明の第１の実装例を示す。
【図５】図５から７は、本発明の第１の実装例におけるロボットの第１の運動のシミュレート結果を示す。
【図６】図５から７は、本発明の第１の実装例におけるロボットの第１の運動のシミュレート結果を示す。
【図７】図５から７は、本発明の第１の実装例におけるロボットの第１の運動のシミュレート結果を示す。
【図８】図８は、本発明の第２の実装例を示す。
【図９】図９から１１は、今回は本発明の第２の実装例における、ロボットの同一の第１の運動のシミュレート結果を示す。
【図１０】図９から１１は、今回は本発明の第２の実装例における、ロボットの同一の第１の運動のシミュレート結果を示す。
【図１１】図９から１１は、今回は本発明の第２の実装例における、ロボットの同一の第１の運動のシミュレート結果を示す。
【図１２】図１２から１４は、本発明の第２の実装例におけるロボットの第２の運動のシミュレート結果を示す。
【図１３】図１２から１４は、本発明の第２の実装例におけるロボットの第２の運動のシミュレート結果を示す。
【図１４】図１２から１４は、本発明の第２の実装例におけるロボットの第２の運動のシミュレート結果を示す。
【図１５】図１５は、本発明の第２の実装例の変形例を示す。
【図１６】図１６から１８は、本発明の第２の実装例におけるロボットの第３の運動のシミュレート結果を示す。
【図１７】図１６から１８は、本発明の第２の実装例におけるロボットの第３の運動のシミュレート結果を示す。
【図１８】図１６から１８は、本発明の第２の実装例におけるロボットの第３の運動のシミュレート結果を示す。
【図１９】図１９は、本発明の第２の実装例の別の変形例を示す。
【図２０】図２０から２２は、本発明の第２の実装例におけるロボットの第４の運動のシミュレート結果を示す。
【図２１】図２０から２２は、本発明の第２の実装例におけるロボットの第４の運動のシミュレート結果を示す。
【図２２】図２０から２２は、本発明の第２の実装例におけるロボットの第４の運動のシミュレート結果を示す。
【発明を実施するための形態】
【００３１】
図１は、本発明で用いられる物理的なロボットモデルの線図である。ロボット１００は、質量中心１１０、脚１２０および足１３０を有している。脚１２０は、質量中心１１０を足１３０に接続している。第２の脚もまたロボット１００の要素ではあるが、図１では示されていない。ロボット１００をモデル化するための下記の数学的なモデルでは、１本の脚１２０のみを考慮すれば足りる。
【００３２】
ロボット１００は、線形倒立振子でモデル化されている。ロボットの複数の足のうちの１つが常に地面に接触しているという仮定のもとでは、システムは、以下の方程式で、シンプルで数学的に表される（trouve）。
【００３３】
【数１】
0006054404.tif 000002
【００３４】
ここでは、以下の表記を用いる。
・Ｘ：水平面における質量中心１１０の位置；
・Ｘf：同一水平面における足１３０の位置；
・ｚc：質量中心１１０が足１３０の鉛直上方にあるときの、質量中心１１０の高さ。
【００３５】
用いられるモデルでは、質量中心１１０の軌道は、Ｘ＝Ｘfでｚ＝ｚcとなる条件に従う平面内に留まるように制約される。この平面は、最初の時刻における質量中心の速度ベクトルおよび加速度ベクトルによって決まる。ロボット１００のポテンシャルエネルギーは、以下の形となる。
【００３６】
【数２】
0006054404.tif 000003
【００３７】
ここで、ωは、システムの特定角周波数であり、ｇおよびzcに依存する。脚は、長さが可変である。図１では、このことが、伸縮自在なものとして示された脚１２０によって表されている。あるいは、脚の長さは、膝の存在によっても変更できる。
【００３８】
変形例では、質量中心は、Ｘ＝Ｘfでｚ＝ｚcとなる条件を満たす表面に留まるように制約される。
【００３９】
微分方程式（１）を積分することは、挙動を、以下のような時間の関数として与える。
【００４０】
【数３】
0006054404.tif 000004
【００４１】
下付文字０は、時刻０における初期値であることを示す。変数ｔは、時間を表す。
【００４２】
以下の明細書では、座標は、以下の変数変換の関数として表され、システムの状態変数をシンプルに規定する。
【００４３】
【数４】
0006054404.tif 000005
【００４４】
ベクトルＵは、質量中心１１０の位置および足１３０の位置によって規定される２次元のベクトルである。２次元のベクトルＶは、角周波数に相対的なものとして表現された、水平面における質量中心の速度を表す。
【００４５】
図２は、本発明で用いられる遷移モデルを示す。図２は、システムがどのように経時変化するのかを示す。３つの時刻が示されている。まず、現在の時刻に対応する時刻ｔ1がある。次に、時刻ｔpが示されている。これは、一方の足が地面に配置されると同時に他方の足が地面と接触を失う時刻である（足変化と称され、一般的には、これは地面における圧力中心の変化に過ぎない）。最後に、時刻ｔ1および時刻ｔpよりも後に、第３の時刻ｔ2が示されている。この時刻はシステム１００が極大のポテンシャルエネルギーをとる時刻（“アペックス”と称する）であり、この時刻ではポテンシャルエネルギーνの微分がゼロとなり、従って以下の方程式を設定する。
【００４６】
【数５】
0006054404.tif 000006
【００４７】
時刻ｔ1と時刻ｔpとの間の時間は、Ｔ1と記載されている。時刻ｔpと時刻ｔ2との間の時間は、Ｔ2と記載されている。
【００４８】
図２に示す遷移モデルは、システム１００の第１の状態（時刻ｔ1）から、ポテンシャルエネルギーが極大となるシステム１００の第２の状態（時刻ｔ2）への遷移に関するものであり、これらの２つの時刻は、地面と接触する足の１つの足変化（時刻ｔp）によって隔てられている。
【００４９】
遷移の最初の状態および遷移の最後の状態が下付文字１および２を有する状態変数を用いて記載され、以下の表記
・ΔＸf：２つの連続する足配置位置の間のベクトル；および
・ＳおよびＣ：それぞれ、双曲線正弦関数および双曲線余弦関数；
が用いられるとすると、足変化の時刻（または地面における圧力中心が変化する時刻）における状態変数が同一であるという事実は、以下の方程式を設定する。
【００５０】
【数６】
0006054404.tif 000007
【００５１】
これらの方程式は、２つの状態間の遷移を表す以下のモデルを得ることを可能とする。
【００５２】
【数７】
0006054404.tif 000008
【００５３】
上述のように、時刻ｔ2がポテンシャルエネルギーが極大となる時刻であり従ってＵtＶ＝０の条件により特徴づけられ、そしてＴ1およびΔＸfが制御変数として用いられる場合には、制御状態は３つの次元を有しシステムは制御可能ということになる。
【００５４】
図１は、平面Ｐにおいて軌道Ｔに沿って運動しているシステム１００が、時刻ｔ2すなわちポテンシャルエネルギーが極大の状態にある様子を示している。
【００５５】
本発明の制御方法を図３に示す。この方法は、最初に、状態変数の現在の値σを測定する工程３００を備えている。本発明の種々の実施形態では、これは各種センサーを用いて実行され得る。また、ロボットは、その質量中心１１０を移動させることが望まれる平面Ｐを、現在の値σの関数で決定する。
【００５６】
さらに、システムについての運動のセットポイント（consigne）が決定され、そのセットポイントは、トラックサーボ制御によってそのセットポイントを処理する工程３１０において、状態変数のセットポイントσdに変換される。
【００５７】
工程３２０において、状態変数のセットポイントσdは、図２に示す遷移モデルに依存するコントローラによって処理される。コントローラ３２０は制御変数μを生成し、その制御変数μは、工程３３０において、シンプルなモデルによるロボット１００またはシステムの複雑なモデルのセットポイントによるロボット１００（robot 100 lui-meme comme modele simple ou comme consignes pour un modele complexe du systeme）を制御するために用いられる。
【００５８】
指令が付与されると、工程３００および３１０での処理が再開される。
【００５９】
図４を参照しながら、本発明の第１の詳細な実装例を説明する。従うべき軌道は、運動のセットポイントの形式で予め規定される。
【００６０】
方法は、状態変数の現在の値σを測定する工程４００で始まる。
【００６１】
また、運動のセットポイントを用いる射影工程４１０は、速度ベクトルＶ（状態変数のセットポイントσd）の規定を担う。
【００６２】
射影工程４１０は、ロボット１００の現在の位置とこの現在の位置に対応するとされる軌道上の位置との間の偏差の関数で、速度ベクトル（状態変数のセットポイントσd）を規定する。ロボット１００の位置は、ポテンシャルエネルギーが極大となる連続する２つの状態における、ロボット１００の質量中心の位置の平均とする。ロボット１００の位置に対応する軌道に沿う位置とは、ロボット１００の位置の、軌道への正射影である。
【００６３】
具体的に、軌道が直線である場合には、射影は、その線への正射影である。軌道が円である場合には、円への射影は、円の半径に沿って行われる。
【００６４】
速度ベクトルＶおよび現在の値σは、サーボ制御工程４２０において、上述の方程式（５）で説明したモデルに由来する線形化された遷移モデルに基づいて、コントローラによって用いられる。
【００６５】
工程４３０において指令が付与されると、工程４００および４１０で処理が再開される。
【００６６】
線形化された遷移モデルに基づいてコントローラによって行われるサーボ制御工程４２０は、線形的であるという仮定に基づいて行われ、その仮定の一実装例では、ロボット１００の運動は準直線的であり、その進み方は対称的である。
【００６７】
これらの仮定の下では、連立方程式（５）の解は、以下のように与えられる。
【００６８】
【数８】
0006054404.tif 000009
【００６９】
連立方程式（５）は、公称指令ΔＸfの関数として、以下のように記載され得る。
【００７０】
【数９】
0006054404.tif 000010
【００７１】
指令ＸfにδＸfと記載される小さな変動量を導入することによって、連立方程式（５）は以下のように記載される。
【００７２】
【数１０】
0006054404.tif 000011
【００７３】
時刻ｔ2においてＵtＶ＝０の条件が与えられることで、以下の式が得られる。
【００７４】
【数１１】
0006054404.tif 000012
【００７５】
この数学的な処理は、方程式（５）の遷移モデルが、以下のような線形化された形式で表現されることを可能とする。
【００７６】
【数１２】
0006054404.tif 000013
【００７７】
工程４２０において、用いられるコントローラは、線形二次レギュレータ（ＬＱＲ）タイプのローカルサーボ制御を行う。モデルは、先行する指令の状態の関数として、１ステップごとに修正される。
【００７８】
コントローラ４２０の初期化は、追加のサーボ制御によって、所望の平均歩幅Ｓｔｅｐavの関数として、公称指令Ｔ1nomを計算する事前の工程４１５を備える。より正確には、ステップ所要時間が、現在の速度Ｖ0の関数として以下のように計算される。
【００７９】
【数１３】
0006054404.tif 000014
【００８０】
図５から７を参照して、図４の制御方法を用いたロボット１００の運動の結果を示す。
【００８１】
角周波数（pulsation）は、３毎秒（ｓ-1）である。ステップ所要時間Ｔ1＋Ｔ2は、０．２秒（ｓ）から０．８ｓの範囲に制約され、歩幅ΔＸfは１０センチメートル（ｃｍ）から１．２メートル（ｍ）の範囲に制約される。制御変数ΔＸfおよびＴ1は、制御変数μを構成する。ロボットの質量は７０キログラム（ｋｇ）である。
【００８２】
以下のセットポイントが規定される：３ｓ間は、ロボット１００に対して、座標（０，０）の点で始まる、ｙ方向の０．７メートル毎秒（ｍ．ｓ-1）の一定速度が要求される。次に、前記速度の方向に直交する直線に到達することと、この直線を０．７ｍ．ｓ-1の速度で２０ｓ間で踏破すること（atteinte et parcourue a une vitesse de 0,7 m.s-1 pendant 20 s）が要求される。ロボット１００が上述の線の半分に達したときに（atteint le milieu de la droite precedente）、時間０．２ｓにわたって７００ニュートン（Ｎ）の横外乱が加えられる。最後に、ロボットに対して、２７ｓにわたって速度０．５ｍ．ｓ-1で、半径２ｍの円に沿って移動することが要求される。
【００８３】
図５は、質量中心１１０および足１３０の連続する位置を示す。横方向の外乱が約３．５ｍの変位を生じさせていることが分かる。図６は、２つの軸に沿う水平速度を示す。図７は、ロボットが運動しているときのロボットのステップ所要時間を、Ｔ1およびＴ1＋Ｔ2のグラフ表示で示す。
【００８４】
図８は、本発明の別の実装例を示す。
【００８５】
最初に、状態変数σの現在の値を測定する工程８００が行われる。
【００８６】
図４の実装例の工程４００で規定されたものと同一の状態変数のセットポイントが、射影工程８１０において並行して規定される。工程８１０は、図４に示す実装例の射影工程４１０に類似している。
【００８７】
この射影工程は、セットポイントの速度Ｖおよびセットポイントの位置ベクトルＵを計算することを可能にする。状態変数のセットポイントσdを構成するこれら２つの状態変数は、サーボ制御工程８２０用のセットポイントとしてコントローラによって用いられる。用いられるコントローラは、方程式（４）で厳密に規定される遷移モデルに依存し、モデルを変換するアルゴリズムを利用する。
【００８８】
モデルの変換のための最適化基準は、以下のようになる。
【００８９】
【数１４】
0006054404.tif 000015
【００９０】
ここで、ＵdおよびＶdは、所望の状態変数であり、ＱUおよびＱVは重み行列である。
【００９１】
この最適化では、連立方程式（５）が等式制約（contraintes d'egalites）を得るために用いられ、ステップ所要時間、足の位置、および地面の特性が不等式制約（contraintes d'inegalites）として用いられ得る。抽出される変数は、マグニチュードＴ1、Ｔ2およびΔＸfである。最適化は、ロボット１００の１ステップを通じて行われる。
【００９２】
時刻ｔ2においてポテンシャルエネルギーが極大となることに関連する制約は、以下のように記載される。
【００９３】
【数１５】
0006054404.tif 000016
【００９４】
これは、以下を意味する。
【００９５】
【数１６】
0006054404.tif 000017
【００９６】
制御変数Ｔ1およびΔＸf（μと記載される）は、ロボット１００の複雑なモデルまたはロボット１００自身を制御するための工程８３０において用いられる。
【００９７】
指令が付与されると、工程８００および８１０で処理が再開される。
【００９８】
図９から１１を参照して、図８に示す方法によって制御されるロボット１００の運動の結果を示す。
【００９９】
図９はロボット１００の軌道を示し、図１０は２つの軸に沿うその水平速度を示し、そして図１１はロボットの移動時のステップ所要時間を示す。
【０１００】
セットポイントは、図５から７のシナリオで示したものと同一である。図９では、図５で観察されたものとは異なり、横方向の変位が２ｍ未満であることから、非線形制御モデルを用いた方法が、外乱に対するより迅速な反応を提供していることが理解される。
【０１０１】
図１２から１４を参照して、図８の方法によって制御されるロボット１００の運動に関する結果を示す。ただし、今回は、異なるセットポイントを用いる。
【０１０２】
今回用いられるセットポイントは以下のとおりである：速度ゼロで始まり、ロボットは、時刻ｔ＝１０ｓまでは直線ｘ＝０に留まりつつ速度０．７ｍ．ｓ-1となる。その後、ロボットは、ｔ＝１４ｓまでは、同一の直線に沿って後退する。最後に、ロボットが停止するよう要求される時刻であるｔ＝２４ｓまでは、ロボットは、同一の速度で直線ｘ＝１ｍに追従する。
【０１０３】
図１２は、ロボットの軌道を示す。挿入は、ロボットが反転または停止した領域を拡大したものである。図１３は、ロボットの速度が２つの軸に沿って経時的にどのように変化するかを示す。最後に、図１４は、ロボットの歩幅が時間の関数でどのように変化するかを示す。
【０１０４】
図１５は、ロボットが運動する環境に関連付けられた制御変数μに関連する制約１５００を導入する点で、図８に示すものとは異なる本発明の制御方法を示す。
【０１０５】
これらは、階段の存在に関連付けられる歩幅の制約である。
【０１０６】
１つのシナリオでは、ロボットは、０．２ｓにわたって１７５Ｎの外乱が加えられることによって前方へ押されその後０．２ｓにわたって５００Ｎの外乱が加えられることによって横方向に押されながらも、速度０．４ｍ．ｓ-1で直線に追従しつつ階段に沿って運動する。
【０１０７】
図１６から１８は、図１５の制御方法によって得られた結果を示す。歩幅は、ｙ方向に沿って０．５ｍの値に制約され、時間Ｔ1は、０．１ｓから０．８ｓの範囲に制約される。従って、先のシミュレーションと比べると、ステップ所要時間は短いことがある。
【０１０８】
図１６は、平面におけるロボット１００の運動を示す。ｙ方向の歩幅が一定であるという制約に従っていることを示すために、挿入が含められている。
【０１０９】
図１７は、２つの軸に沿う速度の変化を、時間の関数として示す。最後に、図１８は、ロボットのステップ所要時間を時間の関数として示す。
【０１１０】
図１９は、状態変数σに関連する制約１９００を含む本発明のロボット制御方法を示す。この例におけるこれらの制約は、地面の摩擦特性に関連付けられている。それらは、工程８２０でコントローラを介して導入される。
【０１１１】
地面の摩擦特性に関連付けられた制約は、これらの制約が満たされるべき時刻は地面に接触する足が変化する時刻であるとの仮定のもとに導入されている。
【０１１２】
２系統の条件がモデルに導入される。それらは、以下のように表現される。
【０１１３】
【数１７】
0006054404.tif 000018
【０１１４】
【数１８】
0006054404.tif 000019
【０１１５】
下付文字“−”および“＋”は、地面に接触している足が変化する前の時刻および後の時刻であることを、それぞれ表す。摩擦係数μによって規定される摩擦円錐の内側の接触力を確保することは、以下の制約が満たされなければならないということである。
【０１１６】
【数１９】
0006054404.tif 000020
【０１１７】
図２０から２２は、図１９の方法で得られた結果を示す。
【０１１８】
ロボットに与えられるセットポイントのシナリオは、以下のとおりである：ロボットは、０．５ｍ．ｓ-1でｙ方向に沿って運動する。環境の制約は、摩擦係数が、最初は１の値を有し、続けて、値０．４，０．３および０．２を取るように５ｓごとに変化するというものである。
【０１１９】
図２０は、平面におけるロボットの運動を示す。
【０１２０】
図２１は、２つの軸に沿う速度の変化を、時間の関数として示す。最後に、図２２は、ステップ時間の変化を時間の関数として示す。摩擦係数が０．３に至ったときに、ステップが速くなる。
【０１２１】
図８の制御方法は、図１１の制御方法の４倍速に設定されている。それは、１ステップの運動ごとに、デュアルプロセッサのコンピュータを用いてMatlabTM言語によりプログラムされた制御で２５ミリ秒（ｍｓ）の計算時間を要する。このような結果は、対話的コンテキストまたは実時間コンテキストにおいて当該制御方法を用いることの構想を可能とする。
【０１２２】
変形例では、図４および８の制御方法を同時に用いる制御が利用される。
【０１２３】
ある実装例では、工程３００で状態変数の値を測定する代わりに、それらは、利用可能な種々の情報項目に基づいて推定される。
【０１２４】
ある実装例では、制御変数ΔＸfおよびＴ1を最適化する代わりに、線形倒立振子モデルに関連する実装例で説明した原理を用いて、複雑なモデルの制御変数が最適化される。
【０１２５】
安定性を確保するためには、シンプルなシステムでは、提案されたモデル化に基づく制御は、少なくとも２つの制御変数によって構成されるべきである。
【０１２６】
例えば、足の位置がｘ方向およびｙ方向の両方で非拘束である場合、時間Ｔ1が設定され得る。階段では、階段の方向における歩幅（階段のピッチ）を決定することが必要である場合、時間Ｔ1および横方向の足の位置は非拘束であるべきである。
【０１２７】
別の制約が設定されるべき場合には、１ステップよりも多くを考慮する必要が生じる。例えば、複数の足の位置が設定される場合、最適化の計算において連続する少なくとも２ステップを考慮すれば、制御変数Ｔ1で足りる。
【０１２８】
本発明は、上述の実装例に限定されず、変形した実装例は特許請求の範囲に含まれる。具体的には、線形倒立振子でモデル化される代わりに、ロボットは、コンパスタイプのシステム、すなわち少なくとも２本の足に一定長の脚を介して接続された質量中心を有するシステムでモデル化されていてもよい。
【０１２９】
また、ロボットは、２本よりも多くの脚、例えば４本の脚を有していてもよい。一実装例では、ロボットは、地面に配置される１本の脚と、地面から離れた３本の脚とで連続的に移動する。別の実装例では、ロボットは、地面に配置される複数の脚と地面から離れた１または複数の脚とで移動する。このような状況下では、２つの脚変化の間で、地面における圧力中心が変化しない。脚変化とは、地面における圧力中心の変化である。脚変化という概念は、少なくとも１本の脚が常に地面に接しているのであれば、別の脚を離すと同時に１本の脚を地面に押接することのみならず、同時に別の脚を離すことなく１本の脚を地面に接触させたり、同時に別の脚を地面に接触させることなく１本の脚を離したりすることを網羅する。
【図１】
0006054404.tif 000021
【図２】
0006054404.tif 000022
【図３】
0006054404.tif 000023
【図４】
0006054404.tif 000024
【図５】
0006054404.tif 000025
【図６】
0006054404.tif 000026
【図７】
0006054404.tif 000027
【図８】
0006054404.tif 000028
【図９】
0006054404.tif 000029
【図１０】
0006054404.tif 000030
【図１１】
0006054404.tif 000031
【図１２】
0006054404.tif 000032
【図１３】
0006054404.tif 000033
【図１４】
0006054404.tif 000034
【図１５】
0006054404.tif 000035
【図１６】
0006054404.tif 000036
【図１７】
0006054404.tif 000037
【図１８】
0006054404.tif 000038
【図１９】
0006054404.tif 000039
【図２０】
0006054404.tif 000040
【図２１】
0006054404.tif 000041
【図２２】
0006054404.tif 000042