(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6054404
(24)【登録日】2016年12月9日
(45)【発行日】2016年12月27日
(54)【発明の名称】少なくとも2本の脚を有するロボットの制御方法
(51)【国際特許分類】
B25J 5/00 20060101AFI20161219BHJP
【FI】
B25J5/00 E
【請求項の数】14
【全頁数】19
(21)【出願番号】特願2014-535136(P2014-535136)
(86)(22)【出願日】2012年10月1日
(65)【公表番号】特表2014-528368(P2014-528368A)
(43)【公表日】2014年10月27日
(86)【国際出願番号】FR2012052216
(87)【国際公開番号】WO2013054019
(87)【国際公開日】20130418
【審査請求日】2015年8月6日
(31)【優先権主張番号】1159152
(32)【優先日】2011年10月11日
(33)【優先権主張国】FR
(73)【特許権者】
【識別番号】510225292
【氏名又は名称】コミサリア ア レネルジー アトミック エ オ ゼネルジー アルテルナティブ
【氏名又は名称原語表記】COMMISSARIAT A L’ENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES
(74)【代理人】
【識別番号】100107641
【弁理士】
【氏名又は名称】鎌田 耕一
(72)【発明者】
【氏名】ミカエリ,アラン
【審査官】
中田 善邦
(56)【参考文献】
【文献】
特開2005−088113(JP,A)
【文献】
特開2010−221395(JP,A)
【文献】
特開2003−150036(JP,A)
【文献】
特開2008−080418(JP,A)
【文献】
特開2007−061954(JP,A)
【文献】
特表2008−534304(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J1/00−21/02
(57)【特許請求の範囲】
【請求項1】
少なくとも2本の脚(120)を有する装置(100)の地面での動作の制御方法であって、
前記装置の動的状態変数の現在の値(σ)を取得する取得工程(300;400;800)と、
前記現在の値(σ)と前記装置の運動のセットポイント(σ
d)とを考慮しながら制約(1500;1900)下にある前記装置のための運動指令(μ)を最適化し、前記最適化(320;420;820)は現在の状態(t
1)と第2の状態(t
2)との間における前記装置(100)の運動をモデル化(
図1,2)することにより行われ、前記装置は、前記運動の間には少なくとも第1の脚で支持され、地面における圧力中心が変化する時刻(t
p)からは少なくとも第2の脚で支持される、最適化工程(320;420;820)と、
前記運動指令(μ)を付与する付与工程(330;430;830)と、を備え、
当該方法は、前記最適化が、前記第2の状態(t
2)における前記装置の重力ポテンシャルエネルギーが時間の関数で極大であるという仮定のもとで行われ
、
前記最適化は、数式から得られたモデルを用いて行われ、
前記数式は、前記第2の状態(t2)における前記装置の重力ポテンシャルエネルギーが時間の関数で極大であるという条件を与えることによって得られたものであることを特徴とする、方法。
【請求項2】
前記装置は、線形倒立振子でモデル化されている、請求項1に記載の制御方法。
【請求項3】
前記運動指令(μ)は、脚と地面とが接触する地面の位置(ΔXf)を備えている、請求項1または請求項2に記載の制御方法。
【請求項4】
前記運動指令(μ)は、脚と地面とが接触する時間(T1)を備えている、請求項1から3のいずれか1項に記載の制御方法。
【請求項5】
前記最適化(420)は、運動は直線的であるという仮定のもとで線形化された運動モデルを用いることによって行われる、請求項1から4のいずれか1項に記載の制御方法。
【請求項6】
前記最適化(420)は、線形二次レギュレータを利用して行われる、請求項5に記載の制御方法。
【請求項7】
前記最適化は、モデル反転法によって行われる、請求項1から4のいずれか1項に記載の制御方法。
【請求項8】
前記最適化は、追従するべき軌道の関数として決定されたセットポイント(σd)の関数として行われる、請求項1から7のいずれか1項に記載の制御方法。
【請求項9】
前記最適化は、従うべき速度の関数として決定されたセットポイント(σd)の関数として行われる、請求項1から8のいずれか1項に記載の制御方法。
【請求項10】
前記最適化は、脚(120)が地面に接触しているとき(tp)の摩擦円錐に従う制約のもとで行われる、請求項1から9のいずれか1項に記載の制御方法。
【請求項11】
前記最適化は、前記装置の少なくとも1つの位置(U)または前記装置の少なくとも1つの速度(V)を含むセットポイント(σd)の関数として行われる、請求項1から10のいずれか1項に記載の制御方法。
【請求項12】
前記最適化(415)は、平均歩幅のセットポイントの関数として行われる、請求項1から11のいずれか1項に記載の制御方法。
【請求項13】
前記ポテンシャルエネルギーは、質量中心と、地面と接触している脚の地面との接触ポイントとの間の距離の関数である、請求項1から12のいずれか1項に記載の制御方法。
【請求項14】
少なくとも2本の脚を含み、請求項1から13のいずれか1項に記載の制御方法を行う制御装置を組み込んだ、ロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット工学の分野、より正確には、少なくとも2本の脚で支持された本体を有し、これらの脚で立って進むロボットの制御方法の分野に属する。
【背景技術】
【0002】
上述のようなロボットの歩行を制御するための種々の数学的な方法が報告されているが、シンプルな環境(例えば、障害物のない平坦な地面)においても、
さらには階段等を含む複雑な環境においても効率的に運動するために2本脚のロボットが解消するべき多くの困難を考慮すると、それらの方法は多くの点で完全ではない。
【0003】
ある制御手法では、ステップ時間を種々のやり方で決定する。例えば、これは、Herdtらによる文献"Online walking motion generation with automatic foot step placement" Advanced Robotics, 24, 719, 2010、の開示に相当し、この文献には、所定の基準速度、足の配置の自由な変更、および地面でのロボットの足の圧力中心に関する制約に基づいて2本脚のロボットの歩行運動を生成する予測制御を活用することが記載されている。
【0004】
その文献では、用いられているロボットのモデルは、シンプルであるが、常にステップ時間が一定であることに基づいてロボットを制御するものであり、ある著者は、人間のダイナミクスに近い複雑なダイナミクスを考慮に入れるために、腰の運動等を含むより複雑なモデルを開発している。
【0005】
具体的に、米国特許出願公開第2008/0133053号明細書では、推進力を受けたロボットの安定性が取り上げられている。ロボットは、本体の角モーメントの変化による影響を再現するフライホイールを含む倒立振子によってモデル化されている。著者は、地面の足との接触位置と、フライホイールの角モーメントとを瞬時に決定する制御方法を開示する。
【0006】
別の手法、例えばHyonおよびFujimotoによる文献IFAC Symposium on robot control 2009、ならびにVan OortおよびStramigioliによる文献IEEE International Conference on Robotics and Automotion 2007, pp. 4653-4660では、ステップ所要時間は可変であり、決定されるのは歩幅である。
【0007】
ステップ所要時間および歩幅の両方を制御変数として利用する提案もなされている。すなわち、Mordatchらによる文献“Robust physics-based locomotion using low-dimensional planning” ACM Transactions on Graphics 2010, 29 (3)は、倒立振子モデルに基づいて規定され、ステップ所要時間およびステップの位置を含む制御パラメータを有するコントローラを開示している。多項方程式である運動方程式が、連続する少なくとも2ステップについて適用される。連続する2ステップの間の、制御パラメータの連続性が設定される。ロボットの少なくとも2ステップからなる1セットについての最適化は、統計的手法を用いて行われる。宙にある時間帯がない状況では、制御は、2ステップ、すなわち第1の足変化、運動、第2の足変化、新たな運動、最後に第3の足変化で構成されるシーケンス、に基づいて計算される。
【0008】
このような制御方法は、少なくとも2ステップからなる1セットに適用されるため、計算に非常に長い時間を要することがあるという欠点を有し、このことによって、より多くの計算能力が必要となり、システムの応答性が低下する。
【0009】
本発明は、要求される計算量を削減しつつ、特にこれらの問題を解決することを目的とする。
【0010】
本発明は、少なくとも2本の脚を有する装置の地面での動作の制御方法であって、
前記装置の動的状態変数の現在の値を取得する取得工程と、
前記現在の値と前記装置の運動変数のセットポイントとを考慮しながら制約下にあってもよい前記装置のための運動指令を最適化し、前記最適化は現在の状態と第2の状態との間における前記装置の運動をモデル化することにより行われ、前記装置は、前記運動の間には少なくとも第1の脚で支持され、地面における圧力中心が変化する時刻からは少なくとも第2の脚で支持される、最適化工程と、
前記運動指令を付与する付与工程と、を備え、
当該方法は、前記最適化が、前記第2の状態における前記装置の重力ポテンシャルエネルギーが時間の関数で極大であるという仮定のもとで行われることを特徴とする、方法である。
【0011】
すなわち、本発明で提案されるモデル化は、ポテンシャルエネルギーの極大という、歩行サイクルの特徴的な状態に基づいている。
【0012】
この状態は、周期的な歩き方において絶えず現れ、以下で詳細に説明するように、状態変数についての1つの制約のみによって特徴づけられる。
【0013】
この状態は、システムの軌道と、状態空間の部分空間であって状態変数についての制約によって特徴づけられたポアンカレ断面との交点(intersection de la trajectoire du systeme avec une section de Poincare)である。
【0014】
このような遷移モデルによれば、解析処理によって、特に制御変数であるステップ所要時間および歩幅の同時利用によって、運動方程式を立てることが可能となるため、当該制御方法によれば、正確かつ高速に2本脚のロボットのための制御パラメータを規定することが可能となる。
【0015】
特に、提案される制御方法は、Mordatchらによる文献に記載された先行技術の場合の半数以下の制御変数しか用いない。
【0016】
ポアンカレ断面は、円環構造の安定性(stabilite des systemes cycliques)の検討によく適合しており、従って本発明によって用いられる運動モデルは、2つの足変化の状態間の運動をモデル化する先行技術、例えばMordatchらによる文献で考慮されたモデルよりも優れた解析制御につながる。
【0017】
制約が複数の足の位置について設定され、結果として制御変数としてステップ所要時間のみが残る場合、2ステップ、すなわち第1の状態および第2の状態間の2つの支持脚変化を考慮する必要があるものの、本発明で提案される制御は、解析および特性評価を行うことに適している。
【0018】
この特性評価によって、指令がより理解され、特に、収束性の保証の規定が可能となる。
【0019】
コントローラに適したゲインまたはパラメータを事前に選択することもできる。
【0020】
装置の重力ポテンシャルエネルギーは、装置のモデルのコンテキストに適合している。
【0021】
“線形倒立振子”モデルとして知られている装置のモデルでは、装置の質量中心は、上記の運動の間は、平面に拘束される。倒立振子の別例であり“コンパス”モデルと称される非線形モデルでは、一定であるのは、装置の質量中心と装置の各足との間の各長さである。
【0022】
好適には、運動指令は、脚と地面とが接触する地面の位置、または脚と地面とが接触する時間、またはこれら両方を備える。
【0023】
有利な実装例では、上記の最適化は、例えば直線的または円形の軌道である多項式軌道(trajectoire polynomiale)に運動が従うという仮定のもとで線形化された運動モデルを用いて行われる。計算は、相当程度簡易化される。
【0024】
最適化は、一実装例では線形二次レギュレータを利用して行われ、別例ではモデル反転法(inversion de modele)によって行われる。
【0025】
本発明の別の特徴は、以下のとおりである:最適化は、追従するべき軌道の関数として決定されたセットポイントの関数として行われ得る、および/または、従うべき速度の関数として決定されたセットポイントの関数として行われ得る。
【0026】
最適化は、脚が地面に接触しているときの摩擦円錐に従う制約のもとで行われてもよい。
【0027】
最適化は、装置の少なくとも1つの位置または装置の少なくとも1つの速度を含むセットポイントの関数として、および/または、平均歩幅のセットポイントまたは平均ステップ時間(所要時間)の関数として行われてもよい。
【0028】
最後に、一モデルでは、ポテンシャルエネルギーは、質量中心と、地面と接触している脚の地面との接触ポイントとの間の距離の関数である。
【0029】
本発明はまた、随意には、上記に示した制御方法を行う制御装置を組み込んだ人型ロボットを提供する。
【図面の簡単な説明】
【0030】
【
図1】
図1および2は、用いられるロボットのモデルおよび運動のモデルを示す。
【
図2】
図1および2は、用いられるロボットのモデルおよび運動のモデルを示す。
【
図3】
図3は、本発明の方法のゼネラルフローチャートである。
【
図5】
図5から7は、本発明の第1の実装例におけるロボットの第1の運動のシミュレート結果を示す。
【
図6】
図5から7は、本発明の第1の実装例におけるロボットの第1の運動のシミュレート結果を示す。
【
図7】
図5から7は、本発明の第1の実装例におけるロボットの第1の運動のシミュレート結果を示す。
【
図9】
図9から11は、今回は本発明の第2の実装例における、ロボットの同一の第1の運動のシミュレート結果を示す。
【
図10】
図9から11は、今回は本発明の第2の実装例における、ロボットの同一の第1の運動のシミュレート結果を示す。
【
図11】
図9から11は、今回は本発明の第2の実装例における、ロボットの同一の第1の運動のシミュレート結果を示す。
【
図12】
図12から14は、本発明の第2の実装例におけるロボットの第2の運動のシミュレート結果を示す。
【
図13】
図12から14は、本発明の第2の実装例におけるロボットの第2の運動のシミュレート結果を示す。
【
図14】
図12から14は、本発明の第2の実装例におけるロボットの第2の運動のシミュレート結果を示す。
【
図16】
図16から18は、本発明の第2の実装例におけるロボットの第3の運動のシミュレート結果を示す。
【
図17】
図16から18は、本発明の第2の実装例におけるロボットの第3の運動のシミュレート結果を示す。
【
図18】
図16から18は、本発明の第2の実装例におけるロボットの第3の運動のシミュレート結果を示す。
【
図19】
図19は、本発明の第2の実装例の別の変形例を示す。
【
図20】
図20から22は、本発明の第2の実装例におけるロボットの第4の運動のシミュレート結果を示す。
【
図21】
図20から22は、本発明の第2の実装例におけるロボットの第4の運動のシミュレート結果を示す。
【
図22】
図20から22は、本発明の第2の実装例におけるロボットの第4の運動のシミュレート結果を示す。
【発明を実施するための形態】
【0031】
図1は、本発明で用いられる物理的なロボットモデルの線図である。ロボット100は、質量中心110、脚120および足130を有している。脚120は、質量中心110を足130に接続している。第2の脚もまたロボット100の要素ではあるが、
図1では示されていない。ロボット100をモデル化するための下記の数学的なモデルでは、1本の脚120のみを考慮すれば足りる。
【0032】
ロボット100は、線形倒立振子でモデル化されている。ロボットの複数の足のうちの1つが常に地面に接触しているという仮定のもとでは、システムは、以下の方程式で、シンプルで数学的に表される(trouve)。
【0034】
ここでは、以下の表記を用いる。
・X:水平面における質量中心110の位置;
・X
f:同一水平面における足130の位置;
・z
c:質量中心110が足130の鉛直上方にあるときの、質量中心110の高さ。
【0035】
用いられるモデルでは、質量中心110の軌道は、X=X
fでz=z
cとなる条件に従う平面内に留まるように制約される。この平面は、最初の時刻における質量中心の速度ベクトルおよび加速度ベクトルによって決まる。ロボット100のポテンシャルエネルギーは、以下の形となる。
【0037】
ここで、ωは、システムの特定角周波数であり、gおよびz
cに依存する。脚は、長さが可変である。
図1では、このことが、伸縮自在なものとして示された脚120によって表されている。あるいは、脚の長さは、膝の存在によっても変更できる。
【0038】
変形例では、質量中心は、X=X
fでz=z
cとなる条件を満たす表面に留まるように制約される。
【0039】
微分方程式(1)を積分することは、挙動を、以下のような時間の関数として与える。
【0041】
下付文字0は、時刻0における初期値であることを示す。変数tは、時間を表す。
【0042】
以下の明細書では、座標は、以下の変数変換の関数として表され、システムの状態変数をシンプルに規定する。
【0044】
ベクトルUは、質量中心110の位置および足130の位置によって規定される2次元のベクトルである。2次元のベクトルVは、角周波数に相対的なものとして表現された、水平面における質量中心の速度を表す。
【0045】
図2は、本発明で用いられる遷移モデルを示す。
図2は、システムがどのように経時変化するのかを示す。3つの時刻が示されている。まず、現在の時刻に対応する時刻t
1がある。次に、時刻t
pが示されている。これは、一方の足が地面に配置されると同時に他方の足が地面と接触を失う時刻である(足変化と称され、一般的には、これは地面における圧力中心の変化に過ぎない)。最後に、時刻t
1および時刻t
pよりも後に、第3の時刻t
2が示されている。この時刻はシステム100が極大のポテンシャルエネルギーをとる時刻(“アペックス”と称する)であり、この時刻ではポテンシャルエネルギーνの微分がゼロとなり、従って以下の方程式を設定する。
【0047】
時刻t
1と時刻t
pとの間の時間は、T
1と記載されている。時刻t
pと時刻t
2との間の時間は、T
2と記載されている。
【0048】
図2に示す遷移モデルは、システム100の第1の状態(時刻t
1)から、ポテンシャルエネルギーが極大となるシステム100の第2の状態(時刻t
2)への遷移に関するものであり、これらの2つの時刻は、地面と接触する足の1つの足変化(時刻t
p)によって隔てられている。
【0049】
遷移の最初の状態および遷移の最後の状態が下付文字1および2を有する状態変数を用いて記載され、以下の表記
・ΔX
f:2つの連続する足配置位置の間のベクトル;および
・SおよびC:それぞれ、双曲線正弦関数および双曲線余弦関数;
が用いられるとすると、足変化の時刻(または地面における圧力中心が変化する時刻)における状態変数が同一であるという事実は、以下の方程式を設定する。
【0051】
これらの方程式は、2つの状態間の遷移を表す以下のモデルを得ることを可能とする。
【0053】
上述のように、時刻t
2がポテンシャルエネルギーが極大となる時刻であり従ってU
tV=0の条件により特徴づけられ、そしてT
1およびΔX
fが制御変数として用いられる場合には、制御状態は3つの次元を有しシステムは制御可能ということになる。
【0054】
図1は、平面Pにおいて軌道Tに沿って運動しているシステム100が、時刻t
2すなわちポテンシャルエネルギーが極大の状態にある様子を示している。
【0055】
本発明の制御方法を
図3に示す。この方法は、最初に、状態変数の現在の値σを測定する工程300を備えている。本発明の種々の実施形態では、これは各種センサーを用いて実行され得る。また、ロボットは、その質量中心110を移動させることが望まれる平面Pを、現在の値σの関数で決定する。
【0056】
さらに、システムについての運動のセットポイント(consigne)が決定され、そのセットポイントは、トラックサーボ制御によってそのセットポイントを処理する工程310において、状態変数のセットポイントσ
dに変換される。
【0057】
工程320において、状態変数のセットポイントσ
dは、
図2に示す遷移モデルに依存するコントローラによって処理される。コントローラ320は制御変数μを生成し、その制御変数μは、工程330において、シンプルなモデルによるロボット100またはシステムの複雑なモデルのセットポイントによるロボット100(robot 100 lui-meme comme modele simple ou comme consignes pour un modele complexe du systeme)を制御するために用いられる。
【0058】
指令が付与されると、工程300および310での処理が再開される。
【0059】
図4を参照しながら、本発明の第1の詳細な実装例を説明する。従うべき軌道は、運動のセットポイントの形式で予め規定される。
【0060】
方法は、状態変数の現在の値σを測定する工程400で始まる。
【0061】
また、運動のセットポイントを用いる射影工程410は、速度ベクトルV(状態変数のセットポイントσ
d)の規定を担う。
【0062】
射影工程410は、ロボット100の現在の位置とこの現在の位置に対応するとされる軌道上の位置との間の偏差の関数で、速度ベクトル(状態変数のセットポイントσ
d)を規定する。ロボット100の位置は、ポテンシャルエネルギーが極大となる連続する2つの状態における、ロボット100の質量中心の位置の平均とする。ロボット100の位置に対応する軌道に沿う位置とは、ロボット100の位置の、軌道への正射影である。
【0063】
具体的に、軌道が直線である場合には、射影は、その線への正射影である。軌道が円である場合には、円への射影は、円の半径に沿って行われる。
【0064】
速度ベクトルVおよび現在の値σは、サーボ制御工程420において、上述の方程式(5)で説明したモデルに由来する線形化された遷移モデルに基づいて、コントローラによって用いられる。
【0065】
工程430において指令が付与されると、工程400および410で処理が再開される。
【0066】
線形化された遷移モデルに基づいてコントローラによって行われるサーボ制御工程420は、線形的であるという仮定に基づいて行われ、その仮定の一実装例では、ロボット100の運動は準直線的であり、その進み方は対称的である。
【0067】
これらの仮定の下では、連立方程式(5)の解は、以下のように与えられる。
【0069】
連立方程式(5)は、公称指令ΔX
fの関数として、以下のように記載され得る。
【0071】
指令X
fにδX
fと記載される小さな変動量を導入することによって、連立方程式(5)は以下のように記載される。
【0073】
時刻t
2においてU
tV=0の条件が与えられることで、以下の式が得られる。
【0075】
この数学的な処理は、方程式(5)の遷移モデルが、以下のような線形化された形式で表現されることを可能とする。
【0077】
工程420において、用いられるコントローラは、線形二次レギュレータ(LQR)タイプのローカルサーボ制御を行う。モデルは、先行する指令の状態の関数として、1ステップごとに修正される。
【0078】
コントローラ420の初期化は、追加のサーボ制御によって、所望の平均歩幅Step
avの関数として、公称指令T
1nomを計算する事前の工程415を備える。より正確には、ステップ所要時間が、現在の速度V
0の関数として以下のように計算される。
【0080】
図5から7を参照して、
図4の制御方法を用いたロボット100の運動の結果を示す。
【0081】
角周波数(pulsation)は、3毎秒(s
-1)である。ステップ所要時間T
1+T
2は、0.2秒(s)から0.8sの範囲に制約され、歩幅ΔX
fは10センチメートル(cm)から1.2メートル(m)の範囲に制約される。制御変数ΔX
fおよびT
1は、制御変数μを構成する。ロボットの質量は70キログラム(kg)である。
【0082】
以下のセットポイントが規定される:3s間は、ロボット100に対して、座標(0,0)の点で始まる、y方向の0.7メートル毎秒(m.s
-1)の一定速度が要求される。次に、前記速度の方向に直交する直線に到達することと、この直線を0.7m.s
-1の速度で20s間で踏破すること(atteinte et parcourue a une vitesse de 0,7 m.s
-1 pendant 20 s)が要求される。ロボット100が上述の線の半分に達したときに(atteint le milieu de la droite precedente)、時間0.2sにわたって700ニュートン(N)の横外乱が加えられる。最後に、ロボットに対して、27sにわたって速度0.5m.s
-1で、半径2mの円に沿って移動することが要求される。
【0083】
図5は、質量中心110および足130の連続する位置を示す。横方向の外乱が約3.5mの変位を生じさせていることが分かる。
図6は、2つの軸に沿う水平速度を示す。
図7は、ロボットが運動しているときのロボットのステップ所要時間を、T
1およびT
1+T
2のグラフ表示で示す。
【0085】
最初に、状態変数σの現在の値を測定する工程800が行われる。
【0086】
図4の実装例の工程400で規定されたものと同一の状態変数のセットポイントが、射影工程810において並行して規定される。工程810は、
図4に示す実装例の射影工程410に類似している。
【0087】
この射影工程は、セットポイントの速度Vおよびセットポイントの位置ベクトルUを計算することを可能にする。状態変数のセットポイントσ
dを構成するこれら2つの状態変数は、サーボ制御工程820用のセットポイントとしてコントローラによって用いられる。用いられるコントローラは、方程式(4)で厳密に規定される遷移モデルに依存し、モデルを変換するアルゴリズムを利用する。
【0088】
モデルの変換のための最適化基準は、以下のようになる。
【0090】
ここで、U
dおよびV
dは、所望の状態変数であり、Q
UおよびQ
Vは重み行列である。
【0091】
この最適化では、連立方程式(5)が等式制約(contraintes d'egalites)を得るために用いられ、ステップ所要時間、足の位置、および地面の特性が不等式制約(contraintes d'inegalites)として用いられ得る。抽出される変数は、マグニチュードT
1、T
2およびΔX
fである。最適化は、ロボット100の1ステップを通じて行われる。
【0092】
時刻t
2においてポテンシャルエネルギーが極大となることに関連する制約は、以下のように記載される。
【0096】
制御変数T
1およびΔX
f(μと記載される)は、ロボット100の複雑なモデルまたはロボット100自身を制御するための工程830において用いられる。
【0097】
指令が付与されると、工程800および810で処理が再開される。
【0098】
図9から11を参照して、
図8に示す方法によって制御されるロボット100の運動の結果を示す。
【0099】
図9はロボット100の軌道を示し、
図10は2つの軸に沿うその水平速度を示し、そして
図11はロボットの移動時のステップ所要時間を示す。
【0100】
セットポイントは、
図5から7のシナリオで示したものと同一である。
図9では、
図5で観察されたものとは異なり、横方向の変位が2m未満であることから、非線形制御モデルを用いた方法が、外乱に対するより迅速な反応を提供していることが理解される。
【0101】
図12から14を参照して、
図8の方法によって制御されるロボット100の運動に関する結果を示す。ただし、今回は、異なるセットポイントを用いる。
【0102】
今回用いられるセットポイントは以下のとおりである:速度ゼロで始まり、ロボットは、時刻t=10sまでは直線x=0に留まりつつ速度0.7m.s
-1となる。その後、ロボットは、t=14sまでは、同一の直線に沿って後退する。最後に、ロボットが停止するよう要求される時刻であるt=24sまでは、ロボットは、同一の速度で直線x=1mに追従する。
【0103】
図12は、ロボットの軌道を示す。挿入は、ロボットが反転または停止した領域を拡大したものである。
図13は、ロボットの速度が2つの軸に沿って経時的にどのように変化するかを示す。最後に、
図14は、ロボットの歩幅が時間の関数でどのように変化するかを示す。
【0104】
図15は、ロボットが運動する環境に関連付けられた制御変数μに関連する制約1500を導入する点で、
図8に示すものとは異なる本発明の制御方法を示す。
【0105】
これらは、階段の存在に関連付けられる歩幅の制約である。
【0106】
1つのシナリオでは、ロボットは、0.2sにわたって175Nの外乱が加えられることによって前方へ押されその後0.2sにわたって500Nの外乱が加えられることによって横方向に押されながらも、速度0.4m.s
-1で直線に追従しつつ階段に沿って運動する。
【0107】
図16から18は、
図15の制御方法によって得られた結果を示す。歩幅は、y方向に沿って0.5mの値に制約され、時間T
1は、0.1sから0.8sの範囲に制約される。従って、先のシミュレーションと比べると、ステップ所要時間は短いことがある。
【0108】
図16は、平面におけるロボット100の運動を示す。y方向の歩幅が一定であるという制約に従っていることを示すために、挿入が含められている。
【0109】
図17は、2つの軸に沿う速度の変化を、時間の関数として示す。最後に、
図18は、ロボットのステップ所要時間を時間の関数として示す。
【0110】
図19は、状態変数σに関連する制約1900を含む本発明のロボット制御方法を示す。この例におけるこれらの制約は、地面の摩擦特性に関連付けられている。それらは、工程820でコントローラを介して導入される。
【0111】
地面の摩擦特性に関連付けられた制約は、これらの制約が満たされるべき時刻は地面に接触する足が変化する時刻であるとの仮定のもとに導入されている。
【0112】
2系統の条件がモデルに導入される。それらは、以下のように表現される。
【0115】
下付文字“−”および“+”は、地面に接触している足が変化する前の時刻および後の時刻であることを、それぞれ表す。摩擦係数μによって規定される摩擦円錐の内側の接触力を確保することは、以下の制約が満たされなければならないということである。
【0117】
図20から22は、
図19の方法で得られた結果を示す。
【0118】
ロボットに与えられるセットポイントのシナリオは、以下のとおりである:ロボットは、0.5m.s
-1でy方向に沿って運動する。環境の制約は、摩擦係数が、最初は1の値を有し、続けて、値0.4,0.3および0.2を取るように5sごとに変化するというものである。
【0119】
図20は、平面におけるロボットの運動を示す。
【0120】
図21は、2つの軸に沿う速度の変化を、時間の関数として示す。最後に、
図22は、ステップ時間の変化を時間の関数として示す。摩擦係数が0.3に至ったときに、ステップが速くなる。
【0121】
図8の制御方法は、
図11の制御方法の4倍速に設定されている。それは、1ステップの運動ごとに、デュアルプロセッサのコンピュータを用いてMatlab
TM言語によりプログラムされた制御で25ミリ秒(ms)の計算時間を要する。このような結果は、対話的コンテキストまたは実時間コンテキストにおいて当該制御方法を用いることの構想を可能とする。
【0122】
変形例では、
図4および8の制御方法を同時に用いる制御が利用される。
【0123】
ある実装例では、工程300で状態変数の値を測定する代わりに、それらは、利用可能な種々の情報項目に基づいて推定される。
【0124】
ある実装例では、制御変数ΔX
fおよびT
1を最適化する代わりに、線形倒立振子モデルに関連する実装例で説明した原理を用いて、複雑なモデルの制御変数が最適化される。
【0125】
安定性を確保するためには、シンプルなシステムでは、提案されたモデル化に基づく制御は、少なくとも2つの制御変数によって構成されるべきである。
【0126】
例えば、足の位置がx方向およびy方向の両方で非拘束である場合、時間T
1が設定され得る。階段では、階段の方向における歩幅(階段のピッチ)を決定することが必要である場合、時間T
1および横方向の足の位置は非拘束であるべきである。
【0127】
別の制約が設定されるべき場合には、1ステップよりも多くを考慮する必要が生じる。例えば、複数の足の位置が設定される場合、最適化の計算において連続する少なくとも2ステップを考慮すれば、制御変数T
1で足りる。
【0128】
本発明は、上述の実装例に限定されず、変形した実装例は特許請求の範囲に含まれる。具体的には、線形倒立振子でモデル化される代わりに、ロボットは、コンパスタイプのシステム、すなわち少なくとも2本の足に一定長の脚を介して接続された質量中心を有するシステムでモデル化されていてもよい。
【0129】
また、ロボットは、2本よりも多くの脚、例えば4本の脚を有していてもよい。一実装例では、ロボットは、地面に配置される1本の脚と、地面から離れた3本の脚とで連続的に移動する。別の実装例では、ロボットは、地面に配置される複数の脚と地面から離れた1または複数の脚とで移動する。このような状況下では、2つの脚変化の間で、地面における圧力中心が変化しない。脚変化とは、地面における圧力中心の変化である。脚変化という概念は、少なくとも1本の脚が常に地面に接しているのであれば、別の脚を離すと同時に1本の脚を地面に押接することのみならず、同時に別の脚を離すことなく1本の脚を地面に接触させたり、同時に別の脚を地面に接触させることなく1本の脚を離したりすることを網羅する。