(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024112523
(43)【公開日】2024-08-21
(54)【発明の名称】歩行制御方法
(51)【国際特許分類】
B25J 5/00 20060101AFI20240814BHJP
【FI】
B25J5/00 F
【審査請求】未請求
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2023017600
(22)【出願日】2023-02-08
(71)【出願人】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(74)【代理人】
【識別番号】100165179
【弁理士】
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100126664
【弁理士】
【氏名又は名称】鈴木 慎吾
(74)【代理人】
【識別番号】100154852
【弁理士】
【氏名又は名称】酒井 太一
(74)【代理人】
【識別番号】100194087
【弁理士】
【氏名又は名称】渡辺 伸一
(72)【発明者】
【氏名】進 寛史
(72)【発明者】
【氏名】上岡 拓未
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707CS08
3C707HS27
3C707KW05
3C707KX11
3C707LU01
3C707WA13
3C707WK08
(57)【要約】
【課題】外乱が生じた場合であってもロバストに継続歩行することができる歩行制御方法を提供することを目的とする。
【解決手段】実施形態の歩行制御方法は、脚部を有する移動装置を、複数の質点に分解し、分解された前記複数の質点を、第1質点と、それ以外の第2質点とに分解し、前記第1質点と歩行平面上の接触点とを結ぶ直線の長さが一定であるとし、前記第2質点は、前記第1質点のアフィン変換された位置に拘束されるとし、前記第1質点が動かされると、前記拘束に従い、前記第2質点の拘束軌道を生成し、単質点モデルに、遊脚の運動に関する追加質点を加えた多質点モデルを用いて、前記追加質点の重心が前記追加質点の重心位置のアフィン変換となるような前記追加質点の重心の拘束軌道を与え、予想される前記追加質点の重心のピーク位置を前記接触点周りに所定角度だけ回転させた位置にずらす、ことを含む。
【選択図】
図14
【特許請求の範囲】
【請求項1】
歩行制御装置が、
脚部を有する移動装置を、複数の質点に分解し、
分解された前記複数の質点を、注目すべき1つの質点である第1質点と、前記第1質点を除いた残りの質点である第2質点とに分解し、
前記第1質点と歩行平面上の接触点とを結ぶ直線の長さが一定であるとし、
前記第2質点は、前記第1質点のアフィン変換された位置に拘束されるとし、
前記第1質点が動かされると、前記拘束に従い、前記第2質点の拘束軌道を生成し、
単質点モデルに、遊脚の運動に関する追加質点を加えた多質点モデルを用いて、前記追加質点の重心が前記追加質点の重心位置のアフィン変換となるような前記追加質点の重心の拘束軌道を与え、
予想される前記追加質点の重心のピーク位置を前記歩行平面上の接触点を原点として所定角度だけ回転させた位置にずらす、
歩行制御方法。
【請求項2】
前記所定角度は、前記遊脚を振り始めたときの支持脚の位置に応じた角度である、
請求項1に記載の歩行制御方法。
【請求項3】
前記所定角度をγとしたとき、γは次式で表され、
【数1】
ここで、α
gbは、前記遊脚が前記歩行平面から離れたときの前記支持脚と前記歩行平面とのなす角であり、
α
feは、前記遊脚の振り終わりの前記追加質点の重心位置と、前記遊脚が前記歩行平面に接する際の前記追加質点の重心位置とのなす角であり、
α
egは、前記遊脚が前記歩行平面に接する際の前記追加質点の重心位置と、前記歩行平面とのなす角であり、
η
swingは、α
bp/α
pfであり、
α
bpは、(P
pend)
beginと、(P
pend)
peakとのなす角であり、
(P
pend)
beginは、前記歩行平面上の接触点を原点としたときの、前記遊脚の運動が開始された時点における前記第1質点の位置であり、
(P
pend)
peakは、前記歩行平面上の接触点を原点としたときの、前記第1質点が前記原点の直上に到達したときの前記第1質点の位置であり、
α
pfは、(P
pend)
peakと、前記遊脚の運動が終了した時点における前記追加質点の重心位置とのなす角である、
請求項2に記載の歩行制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、歩行制御方法に関する。
【背景技術】
【0002】
近年、二足歩行ロボットの研究が進められている。ロボットが人間のように歩けるようになるには、特に耐故障性や効率性の面で機能が十分でない。二足歩行ロボットでは、柔らかさを加えることでロボットの耐故障性が向上し、関節のトルク制御が可能なロボットの開発も行われている。
【0003】
例えば、弾性を有する脚式ロボットの歩行の制御方法では、例えば歩行の巨視的な運動に着目した3つの要素(胴体姿勢制御,蹴りだし制御,接地位置制御)に分解して歩行を実現する制御手法がある。例えば非特許文献1では、歩行の要素分解を、人間の歩行動作に着目した巨視的な挙動に分解している。要素は、蹴り、遊脚及び歩幅、状態姿勢維持の3つの能動的な要素である。この手法は、Raibertらが提案した走行制御の手法である(非特許文献1参照)。
【0004】
また、Hodginsが、この手法を歩行に拡張した(非特許文献2参照)。なお、Hodgingsが行った3分割制御は、歩幅制御、高さ制御および姿勢制御の3つの独立した制御則からなる。歩幅制御では、水平速度を目標値に追従させるように歩幅を制御する。ただし、歩幅制御では、定常歩行では不要である。高さ制御では、遊脚着床時に次の片脚支持期の胴体の目標高さを満たすように後ろ脚の蹴りによってエネルギーを印加する。姿勢制御では、胴体の姿勢を鉛直に保つためにフィードバック制御する。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Marc H. Raibert, ”Legged Robots That Balance (Artificial Intelligence)”, MIT Press, 1986
【非特許文献2】J. K. Hodgins, “Biped gait transitions,” in Proc. IEEE Int. Conf. Robot. Autom, 1991, pp. 2092-2097.
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、これらの従来技術では、外乱が生じる状況においてロバストに歩行を継続することができない場合があった。
【0007】
本発明は、上記の問題点に鑑みてなされたものであって、外乱が生じた場合であってもロバストに継続歩行することができる歩行制御方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
(1)本発明の第1の例は、脚部を有する移動装置を、複数の質点に分解し、分解された前記複数の質点を、注目すべき1つの質点である第1質点と、前記第1質点を除いた残りの質点である第2質点とに分解し、前記第1質点と歩行平面上の接触点とを結ぶ直線の長さが一定であるとし、前記第2質点は、前記第1質点のアフィン変換された位置に拘束されるとし、前記第1質点が動かされると、前記拘束に従い、前記第2質点の拘束軌道を生成し、単質点モデルに、遊脚の運動に関する追加質点を加えた多質点モデルを用いて、前記追加質点の重心が前記追加質点の重心位置のアフィン変換となるような前記追加質点の重心の拘束軌道を与え、予想される前記追加質点の重心のピーク位置を前記歩行平面上の接触点を原点として所定角度だけ回転させた位置にずらす、歩行制御方法である。
【0009】
(2)本発明の第2の例は、第1の例の歩行制御方法において、前記所定角度は、前記遊脚を振り始めたときの支持脚の位置に応じた角度である。
【0010】
(3)本発明の第3の例は、第2の例の歩行制御方法において、前記所定角度をγとしたとき、γは後述の数式(15)で表される。ここで、αgbは、前記遊脚が前記歩行平面から離れたときの前記支持脚と前記歩行平面とのなす角であり、αfeは、前記遊脚の振り終わりの前記第4質点の重心位置と、前記遊脚が前記歩行平面に接する際の前記第4質点の重心位置とのなす角であり、αbpは、(Ppend)beginと、(Ppend)peakとのなす角であり、(Ppend)beginは、前記歩行平面上の接触点を原点としたときの、前記遊脚運動が開始された時点における前記第1質点の位置であり、(Ppend)peakは、前記歩行平面上の接触点を原点としたときの、前記第1質点が前記原点の直上に到達したときの前記第1質点の位置であり、αpfは、(Ppend)peakと、前記遊脚の運動が終了した時点における前記追加質点の重心位置とのなす角であるである。
【発明の効果】
【0011】
上記のいずれかの例によれば、外乱が生じた場合であってもロバストに継続歩行することができる。
【図面の簡単な説明】
【0012】
【
図1】実施形態に係るロボットの構成例を示す図である。
【
図3】脚部に関する定義を説明するための図である。
【
図4】ロボットにおける座標と角度等の定義を説明するための図である。
【
図5】ロボットのタスク空間座標系を説明するための図であり、従来手法であるHodginsの制御に使用する変数を示す平面2足歩行モデルの図である。
【
図7】単質点バネマスモデルと追加質点モデルを示す図である。
【
図8】保存系が成り立つ条件を説明するための図である。
【
図10】遊脚における運動における3つのフェーズを説明するための図である。
【
図11】ロボットが歩行を失敗する要因について分析した結果例を説明するための図である。
【
図12】遊脚制御によって得られる倒立振子及び遊脚質点の軌道を示す図である。
【
図13】時系列に変化する遊脚質点の位置軌跡を表す図である。
【
図14】遊脚を補正するための位相差γの求め方を説明するための図である。
【
図15】歩行制御方法の処理手順を表すフローチャートである。
【発明を実施するための形態】
【0013】
以下、本発明の実施の形態について図面を参照しながら説明する。なお、以下の説明に用いる図面では、各部材を認識可能な大きさとするため、各部材の縮尺を適宜変更している。
なお、実施形態を説明するための全図において、同一の機能を有するものは同一符号を用い、繰り返しの説明は省略する。
また、本願でいう「XXに基づいて」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含む。また、「XXに基づいて」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含む。「XX」は、任意の要素(例えば、任意の情報)である。
【0014】
(ロボットの構成例)
図1は、本実施形態に係るロボットの構成例を示す図である。なお、
図1に示す構成は一例であり、これに限らない。
図1のようにロボット1(歩行装置)は、例えば、脚部11、駆動部12、ギヤ13、胴体14、および歩行制御装置10を備える。
歩行制御装置10は、例えば、制御部15、記憶部16、およびセンサ17を備える。
【0015】
なお、ロボット1は、アーム、ハンド、頭部等を備えていてもよい。なお、脚部11は、胴体14に接続され、少なくとも2つ備える。また、制御部15、記憶部16は、例えばロボット制御装置等の外部装置が備えていてもよい。
【0016】
記憶部16は、制御に必要なパラメータ、式、モデル、プログラム等を記憶する。記憶部16は、ロボット1の重量、脚部11の長さ等を記憶する。
【0017】
センサ17は、例えば、力センサまたはトルクセンサ、回転や方向の変化などを知る3軸のジャイロセンサーと、軸方向の速度の変化を知る3軸の加速度センサを用いて慣性運動量を検出する慣性計測ユニットである。
【0018】
制御部15は、上述したように導出した単質点モデルに対し質点を追加した時の力学を考え保存系になる条件を用い、その条件のもと遊脚拘束軌道を与え、系全体を保存系とすることで、蹴りだしのみで制御する。なお、この歩行制御は、駆動部12が備えるモータを制御して行ってもよく、機構系を制御して行ってもよい。
【0019】
図2は、ロボットの外観例を示す図である。
図2のように、ロボット1は、2つの脚部11と、胴体14を備えている。各脚部11は、駆動部12によって駆動させる。駆動部12は、歩行制御装置10によって制御される。脚部11には、センサ17が取り付けられている。
図2のように、ロボット1は、二次元平面上で4自由度を拘束している。なお、
図2に示した外観例は一例であり、これに限らない。
【0020】
(名称等の定義)
次に、本実施形態で用いる名称等について定義する。
図3は、脚部に関する定義を説明するための図である。
符号g10の画像は、両脚支持期の状態であり、矢印g15は移動方向であり、符号g11は後ろ脚(rear)であり、符号g12は前脚(front)である。
符号g20の画像は、片脚支持期の状態であり、符号g21は支持脚(sup)であり、符号g22は遊脚(swing)である。
【0021】
図4は、ロボットにおける座標と角度等の定義を説明するための図である。
z軸方向は、移動面(地面または床等)に対して垂直方向である。x軸方向は、移動面に対して水平方向である。lは、脚の長さである。γは、z軸方向とロボット1の重心または胴体の傾きとの角度である。ψは、胴体から鉛直方向g33から足先の角度(脚角度)である。φは、脚の股関節から足先までの脚長に関係する角度(脚長角度)である。
符号g31は、脚部11を構成するリンクのうち胴体14に接続され短い方のリンク方向である。符号g32は、脚部11を構成するリンクのうち胴体14に接続され長い方のリンク方向である。θ
rocは、符号g33方向を基準とする脚部11の腿を構成するリンクのうち胴体14に接続され短い方のリンクの相対角度である。θ
thighは、符号g33方向を基準とする脚部11の腿を構成するリンクのうち胴体14に接続され長い方のリンクの相対角度である。
【0022】
(ロボットのタスク空間座標系)
図5を用いて、さらにロボット1のタスク空間座標系について説明する。
図5は、ロボットのタスク空間座標系を説明するための図であり、従来手法であるHodginsの制御に使用する変数を示す平面2足歩行モデルの図である。関節空間を股関節から伸びる4本のリンクの相対角度θ
M={θ
left,in、θ
left,out、θ
right,in、θ
right,out}
Tによって定義する。なお、Tは転置を表し、leftは左側を表し、rightは右側を表している。また、ここで,各駆動部12のin、outはそれぞれ腿を形成する平行リンクのロッカー、腿リンクに対応する。足先位置を表すタスク空間x={(x
swg)
T、(x
sup)
T} or {(x
fore)
T、(x
back)
T}を次式(1)で定義する。
【0023】
【0024】
式(1)において、添字jは対応する脚の左右を示し、添字iは脚の機能的な分類である。片脚支持期のときは遊脚、支持脚を示すi∈{swg、sup}であり、両脚支持期のときは前脚、後ろ脚を示すi∈{fore、back}である。φi、ψiは脚iの股関節から足先までの脚長に関係する角度と鉛直方向からの角度を表し、それぞれ脚長角度と脚角度と呼ぶ。また、llinkは腿リンクの長さを示す。足先から股関節に向かう単位ベクトルをz軸とする座標系を脚座標系Σiと呼ぶ。
また、制御系は全てタスク空間における目標速度として定式化され、モータ指令値はヤコビ行列Jを用いて次式(2)によって与えられる。なお、上付き・は一階微分を表す。
【0025】
【0026】
(従来技術の平面2足歩行モデル)
図6は、歩行モデルを示す図である。符号g131の図は、両足支持(DS)期における後ろ足で床を蹴る蹴り出し制御のモデルである。符号g132の図は、片足支持(SS)期における片足遊脚時のストライド制御のモデルである。なお、
図6において、床に対して水平方向をx軸、高さ方向をz軸とする。また、l
rearは後脚リンク長、l
swagは遊脚リンク長、p
pendは重心(CoG)位置、x
swgは後脚と遊脚とのx方向の距離である。
【0027】
このHodginsの制御は、以下の3つの動作に分解できる。
(a)DS期からSS期に切り替えるために、後脚で床を蹴る。
(b)足の歩幅を調整し、SS期の水平速度を制御する。
(c)DS期とSS期で体の回転を調整する。
Hodginsの制御では、蹴り出し動作でロボットの高さを制御し(a)、歩幅調整でロボットの走行速度を制御する(b)。SS期の歩行がIPモデルと同様に振る舞い、ピーク位置での高さが一定であると仮定すると、SSフェーズの移動速度(ピーク位置での水平速度)は力学的エネルギーと立脚角のみで一意に決定される。このように、Hodginsの制御は、各SS期で一定の目標歩幅を与えるものの、DS期では蹴り出し動作のみを制御することで歩行動作を実現する。
【0028】
従来手法であるRaibertの制御やHodginsの制御は、単質点モデルの重心のダイナミクスのみを考慮したものである。
しかしながら、実際のロボットでは、各リンクに質量が分散しているため、遊脚運動のような高速な運動で角運動量が発生する。脚の質量が全身の質量に比べて十分に小さい場合(例えばtotalmass:legmass=10:1)でも、脚のスイング運動による角運動量は無視できない。このため、従来手法のHodginsの制御のように質点モデルで全身のダイナミクスを表現する歩行制御では、予想以上に大きな誤差が生じる。この誤差により、これらの従来手法の制御手法では、目標移動速度に応じた歩行をさせることができなくなる。また、これらの従来手法の制御手法では、大きな角運動量を生じる脚運動は全身のダイナミクスに無視できない誤差を生じさせるため、単質点モデルのみを利用する制御では目標どおりに歩行を継続させることが困難になる。この問題は、制御を構成する上で想定したモデルの力学系と実際の力学系との違いにより生じる。実際には角運動量の影響があり、歩容モデルによる動作は想定と比べて大きな誤差を生じる。このように、従来手法では、その運動の影響により運動の力学系は保存系ではなくなってしまい、保存エネルギーによる制御が不可能になってしまう問題があった。
【0029】
(多質点モデル)
次に、多質点モデルについて説明する。
図7は、単質点バネマスモデルと追加質点モデルを示す図である。画像g135が単質点バネマスモデルであり、画像g136が加質点モデルである。
符号g135の図において、単質点の質量をm
pend、位置(注目点)をp
pend(={x
pend、z
pend}
T)、m
pend(p
pend)
・・は単質点に外力が加わったモデルの運動方程式である。また、l=l
0+l
aである。l
0はバネの自然長を示し、l
aはバネの変位入力を示し、fは系に発生する外力を示す。M
mは、f
addによってp
pendに発生するモーメントである。力f
addは、追加質点の位置p
addに加わる力である。
【0030】
符号g136の図のように質点maddが追加された場合は、その運動から発生される外力は、次式(3)のような合力になる。
【0031】
【0032】
式(3)のように、maddの質点運動によってmpendに加わる外力fは、直接力として加わるfdとモーメントとして伝わった後に床反力を経てmpendに伝わるfmの2つの力の合力によって計算される。fmを発生するためのモーメントMmと、fdは次式(4)のように計算される。なお、上付き・・は二階微分を表す。
【0033】
【0034】
式(4)において,脚質点maddの位置をpadd={fxadd、zadd}Tとしており、gは重力加速度である。この外力に関して、(ppend)・を乗じた時間積分は次式(5)のように展開される。
【0035】
【0036】
この式(5)の並進力に関する項とモーメントに関する項の両方の積分において時間依存関数でない原始関数が求まれば系は保存系である(運動の積分が求まる)。これらの運動の積分が求まるには次式(6)の両条件を満たす必要がある。
【0037】
【0038】
式(6)の条件のもと式(4)のMmの式とfdの式の両方を満たす(ppend)・を算出できたならば、2質点以上の多質点を考慮した場合にでも、運動の積分が求まり力学系が保存系になる。すなわち、多質点の運動を考慮したモデルの運動方程式の力学系において保存則が成立する条件である。
【0039】
例えば、
図8の符号g141の図、符号g142の図に示すような拘束条件である。
図8は、保存系が成り立つ条件を説明するための図である。符号g141の図は、モーメントを無視した強制的な制約を説明するための図である。符号g142の図は、位置の制約を説明するための図である。
符号g141の図では,モーメント成分である式(6)のM
mを消すように,p
addからp
pend方向に並進力を発生させ,更にその並進力をp
pendや(p
pend)
・の関数にすることで保存系条件を満たすようにできる。
また、符号g142の図のように、p
pend以外の質点の重心位置を支持脚軸上に置き、その座標にp
pend依存の拘束軌道を与えることでも、モーメントの影響を消し,前述保存系条件を満たすようにできる(ただし,複数質点の運動でp
add自体にモーメントを発生させないようにする必要がある)。
【0040】
このように簡単に保存系にする条件を考えることは可能であるが、多くの場合、発生力に対して拘束条件を与えたり質点位置を固定する様な軌道が必要であり極めて厳しい拘束条件になる。特に歩行の遊脚動作において、任意の胴体姿勢かつ特定の支持脚姿勢で特定の位置に脚を持っていく必要があり(足部接地時)、力による拘束ではなく位置による拘束を与えかつ保存系になるような条件を考える必要がある。
【0041】
図9は、軌道の制約例を示す図である。
図9に示すように、SLIPに基づく単質点モデルに、遊脚運動に関する追加質点を加えた多質点モデルを用いている。なお、以下の説明において、一質点モデルの重心(CoM)をp
pendで示す。また、遊脚運動に対する追加質点の重心をp
addとする。p
addがp
pendの一次関数となるような拘束軌道を与えることで、システム全体を保存系とすることができる。追加質点は、例えば、系に遊脚の構造体を加えた時のその重心位置であってよい。
【0042】
(脚拘束位置軌道による積分可能条件)
エネルギーを規範とした歩行制御へと利用するには、式(6)のように表現できるような拘束条件をpswgに与えれば良い。ある程度任意に遊脚軌道を調節できるように、次式(7)のような遊脚軌道位置拘束を与える。なお、次式(7)において、Rγは、cosとsinで表されている回転行列である。つまり、Rγは、アフィン変換を表している。また、c添え字付きはパラメータである。また、baddはオフセットである。
【0043】
【0044】
これにより、(padd)・・は次式(8)となり、大半の項が積分可能となる。
【0045】
【0046】
ここで、支持脚中のppendの運動は倒立振子と同様の運動を行なうとし、以下の第1の仮定を行う。
・第1の仮定;単脚支持中の脚長は一定である
このとき、全ての運動の積分Eallは次式(9)~(12)のように表現される。
【0047】
【0048】
【0049】
【0050】
【0051】
以上の導出の元、各マスにおいて適切な拘束軌道を考慮することで、系全体の運動が保存系になる条件を導出する。特に遊脚軌道に関して、以下の第2の仮定を行う。
・第2の仮定;歩行中は、支持脚角度θは十分に小さいとすると,cosθ≒1である
この仮定により、Emodは次式(13)のように近似できる。
【0052】
【0053】
このように、式(10)、(11)、(13)から、式(7)の拘束条件が与えられる運動が近似的に保存系になり、運動を事前に規定し、事前のエネルギー操作によって遊脚運動を含めた単脚支持運動を一意に定めることができる。
【0054】
実際のロボットでは,歩行中のSS期において,歩幅や足と地面の間隔を変化させた遊脚軌道を行わせることが多い。このため、
図10に示すように、3つの遊脚フェーズに分解した拘束遊脚軌道を実装する。
図10は、遊脚における運動における3つのフェーズを説明するための図である。この分解により、地面(または床)とのクリアランスと、歩幅を調整することができる。
【0055】
フェーズ(i)では、遊脚の質点位置の目標最大高さから遊脚の軌道を算出する。
フェーズ(ii)、(iii)では、最終クリアランス(hcle)pendとストライド長(lstride)endの2つのパラメータを導入する。
なお、振り子質点位置と遊脚質点位置との間の長さは、遊脚質点位置のz軸位置が最終クリアランス(hcle)pendに到達したときに最大とする。また、最大長はSS期の支持脚長と同じである。
これらの軌道は、パラメータbaddとcaddによって決定される。
【0056】
各フェーズのパラメータb
addとc
addは、各遊脚フェーズの開始時と終了時の振り子質点と遊脚質点位置X={p
pend,p
add}を求め、式(17)を用いて連立方程式を解くことにより導出する。また、
図6に示すように、揺れ位相(i)、(ii)、(iii)の各始終位置をX
start、X
peak、X
end、X
atkとする。
【0057】
まず、フェーズ(i)の始まりであるSS期とDS期の終わりの各位置をXstartとし、ピーク位置(θ=0)の各位置をXpeakとする。(ppend)peakのz成分は、ピーク位置での目標身長であり、SS期中の脚長と同じである。(ppeak)addのz成分は最大脚部クリアランスであり、この値を目標パラメータとして任意に設定する。
【0058】
(歩行失敗の要因)
次に、ロボット1が歩行を失敗する要因について分析した結果例を説明する。
図11は、ロボットが歩行を失敗する要因について分析した結果例を説明するための図である。
画像g201~g205は、ロボット1の歩行中、床に障害物があった場合や、例えばロボット1が後ろから押された場合等の歩行時の状態を示す。
画像g210は、歩行失敗の要因を分析した結果を示す。
【0059】
解析の結果、ロボット1の歩行時に外乱が加わった場合、失敗する要因の1つは、外乱が無い場合より早く脚が接地される早着であることが分かった。また、解析の結果、この早着が要因で発生する場合でも、符号g210のように、2つの問題があることが分かった。
(i)遊脚における問題;大きな加速度が発生。
(ii)支持脚における問題;支持脚が外乱が無い場合より短く接地される。
【0060】
本実施形態では、遊脚における問題を解決するため、言い換えれば、外乱等によって過剰な加速度が加わって早着が生じるのを抑制するために、遊脚軌道を補正する。
【0061】
(遊脚補正)
図12は、遊脚制御によって得られる倒立振子及び遊脚質点の軌道を示す図である。遊脚期中,倒立振子の軌道は直立時の(P
pend)
peak,遊脚の振りの終点である(P
pend)
fix,遊脚期の終端(P
pend)
endの4点によって定義され,理想的には直立時を中心にほぼ対象な軌道を通ると想定されている。倒立振子が(P
pend)
beginから(P
pend)
endに遷移するとき,遊脚質点も同じく倒立振子の並進位置まで移動する。
【0062】
図13は、時系列に変化する遊脚質点の位置軌跡を表す図である。ここで、遊脚接地面が平面でないなどの外乱や、脚長変化による遊脚重心位置の偏りにより、(P
pend)
beginが(P
pend)
-beginとなった場合を考える。
図13に示すように、このとき(P
pend)
-beginから(P
pend)
peakへ移動する時間T
-beginは想定されていたT
beginよりも短くなる。ただし、遊脚の移動距離は固定されているため、要求される速度が大きくなり、遊脚軌道の制御誤差が大きくなる。この結果,遊脚を目標地点に設置させることができずに転倒する事象が起きる。又は過剰な遊脚の加速度により支持脚がスリップし転倒する事象が起きる。
【0063】
このような問題に対処するため、
図12に示すように,直立時と定義していた(P
pend)
peakを直立時から位相差γだけ傾けた角度に変更する。
図13に示すように,この操作により,T
-beginを(T
mdfd)
beginまで伸ばすことができ,遊脚の移動時間を確保することが可能になる。
【0064】
位相差を含む保存系を満たす遊脚拘束は、上述した数式(7)によって表される。ここでは遊脚開始時の倒立振子位置(Ppend)beginに応じて位相差γを求める方法を示す。
【0065】
図14は、遊脚を補正するための位相差γの求め方を説明するための図である。
図14に示すように,γは遊脚並進位置x
swg=0となるとき,即ち(p
swg)
peakがピーク位置となるときの倒立振子位置の鉛直方向からの角度を表す。
図14の様にα
gb,α
feとα
egを定めれば,(P
pend)
beginと(P
pend)
fixの成す角α
bp+α
pfは数式(14)のように定まる。
【0066】
【0067】
ここで,αgbは遊脚離床時の支持脚角度であり,αfeとαegは遊脚運動の目標値によって設定される。
【0068】
αfeは、目標歩幅によって決められてよく、具体的には、遊脚の振り終わりの追加質点の重心位置(遊脚の振りの終点である(Ppend)fix)と、遊脚が歩行平面に接する際の追加質点の重心位置(遊脚期の終端(Ppend)end)とのなす角であってよい。
【0069】
αegは、最終クリアランス(hcle)pendによって決められてよく、具体的には、遊脚が歩行平面に接する際の追加質点の重心位置(遊脚期の終端(Ppend)end)と、歩行平面とのなす角であってよい。
【0070】
ここで,ηswing=αbp/αpfとおくと,γは数式(15)のように定まる。
【0071】
【0072】
数式(15)に示すように、ηswing=αbp/αpfの比率によって,前述の遊脚軌道の偏りを調節することができる。
【0073】
(処理手順)
次に、歩行制御装置10が行う歩行制御方法の処理手順例を説明する。
図15は、本実施形態に係る歩行制御装置が行う歩行制御方法の処理手順例を説明するための図、つまりフローチャートである。
【0074】
(ステップS101)まず、設計者や開発者といったユーザは、複数の脚部を有する移動装置(典型的には二足歩行ロボット)を、複数の質点に分解する。
【0075】
(ステップS102)次にユーザは、分解された複数の質点を、第1注目質点(pendulum mass)と、第1注目質点以外の質点(第2注目質点、…)に分解する。第2の注目質点は、例えば、Hip mass、Impend massまたはswing-leg massである。第1注目質点は「第1質点」の一例であり、第1注目質点以外の質点(第2注目質点、…)は、「第2質点」の一例である。
【0076】
(ステップS103)次にユーザは、第1注目質点(例えば支持脚)と、支持脚及び歩行平面の接触点とを結ぶ直線の長さが一定であると仮定する。第1注目質点と歩行平面上の接触点とを結ぶ直線の長さが一定であるという条件のことを、以下、「第1条件」ともいう。
【0077】
(ステップS104)次にユーザは、遊脚(swing-leg mass)について、第1注目質点以外の質点が、第1注目質点のアフィン変換(式(7))された位置に拘束されると仮定する。
【0078】
(ステップS105)歩行制御装置10は、第1注目質点が動かされると、第1注目質点以外の質点が第1注目質点のアフィン変換(式(7))された位置に拘束されるという拘束条件(以下、「第2条件」ともいう)に従い、第1注目質点以外の質点の軌道を生成する。第1注目質点以外の質点の軌道は「第2質点の拘束軌道」または「第1拘束軌道」の一例である。
【0079】
(ステップS106)歩行制御装置10は、単質点モデルに、遊脚運動に関する追加質点を加えた多質点モデルを用いて、追加質点の重心(padd)が追加質点の重心位置(ppend)のアフィン変換となるような拘束軌道を与える。追加質点は「第N+1質点」の一例である。
【0080】
言い換えれば、歩行制御装置10は、遊脚運動に関する追加質点を含む多質点モデルを用いて、追加質点の重心(padd)が追加質点の重心位置(ppend)のアフィン変換された位置に拘束されるという拘束条件(以下、「第3条件」ともいう)に従い、追加質点の重心(padd)の軌道を生成する。これによって、システム全体を保存系とする。追加質点の重心(padd)の軌道は「追加質点の重心の拘束軌道」又は「第N拘束軌道」の一例である。
【0081】
(ステップS107)歩行制御装置10は、追加質点の重心(padd)の軌道上において歩行平面から最も遠くなる追加質点の重心(padd)、すなわち、(pswg)peakを、歩行平面上の接触点周りに回転させる。
【0082】
例えば、歩行制御装置10は、直立時と定義していた(Ppend)peakを、直立時から位相差γだけ傾けた角度に変更し、(pswg)peakを、歩行平面上の接触点周りに回転させる。言い換えれば、歩行制御装置10は、後ろの脚が離れる瞬間に、(その脚が次の遊脚になるが)その拘束軌道に関して、γ分オフセット回転をさせる。その後、歩行制御装置10は、遊脚の現在の位置と前述の拘束軌道の位置がずれないようにその他のパラメータ(CとB)を修正し、それを新たな拘束軌道とする。
【0083】
(ステップS108)歩行制御装置10は、各質点の軌道に基づいて支持脚と遊脚を操作し、歩行制御装置10による歩行を制御する。
【0084】
以上のように、本実施形態では、仮想的な質点を利用した保存系モデルを用いて、ロボット1の歩行制御を行うようにした。
【0085】
以上説明した実施形態によれば、支持脚中の運動が保存系を満たしながらも,状況に応じて緩やかな遊脚軌道を実現できるように遊脚軌道を修正するため、計算量が少ない歩行制御方法でありながらも,ロバストに継続歩行することが可能となる。
【0086】
なお、上述した移動装置は、ロボット1に限られず、例えば、少なくとも二脚を有するその他の移動可能な装置であってもよい。
【0087】
なお、本発明における歩行制御装置10の機能の全てまたは一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより歩行制御装置10が行う全ての処理又は一部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0088】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0089】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形および置換を加えることができる。
【0090】
以下、上述した実施形態のその他の表現例を付記として記載する。
(付記1)
複数の脚を有する移動装置の歩行を制御するコンピュータを用いた歩行制御方法であって、
前記移動装置に設定された複数の質点のうち、注目すべき1つの質点である第1質点と、前記複数の脚のなかで前記移動装置が歩行する平面と接する脚である支持脚及び前記平面の接触点とを結ぶ直線の長さが一定であるという第1条件、及び前記移動装置に設定された複数の質点のうち、前記第1質点を除いた残りの質点である第2質点が、前記第1質点のアフィン変換された位置の軌道に拘束されるという第2条件の両条件下で、前記移動装置の歩行に伴い前記第1質点が動かされる際に、前記第2条件に基づいて、前記第2質点の軌道である第1拘束軌道を生成すること、
前記複数の脚のなかで前記平面に接していない脚である遊脚の運動に関する第N+1質点を単質点モデルに加えた多質点モデルを用いて、前記第N+1質点の重心が、前記第1質点の重心位置のアフィン変換された位置の軌道に拘束されるという第3条件に基づき、前記第N+1質点の重心の軌道である第N拘束軌道を生成すること、
前記Nは、2以上の自然数であり、
前記第1拘束軌道又は前記第N拘束軌道において、各拘束軌道を、前記接触点周りに回転させること、
前記第1拘束軌道を回転させた場合、前記回転させた第1拘束軌道を、新たな前記第1拘束軌道とし、前記第N拘束軌道を回転させた場合、前記回転させた第N拘束軌道を、新たな前記第N拘束軌道とすること、
を含む歩行制御方法。
(付記2)
付記1に記載の歩行制御方法において、前記第N+1拘束軌道に関して、前記第N+1質点の重心を、前記接触点周りに、前記遊脚を振り始めたときの前記支持脚の位置に応じた所定角度分回転させることが含まれてよい。
(付記3)
付記2に記載の歩行制御方法において、前記所定角度をγとしたとき、γは数式(15)で表されてよい。
ここで、αgbは、前記遊脚が前記平面から離れたときの前記支持脚と前記平面とのなす角であり、
αfeは、前記遊脚の振り終わりの前記第4質点の重心位置と、前記遊脚が前記平面に接する際の前記第N+1質点の重心位置とのなす角であり、
αegは、前記遊脚が前記平面に接する際の前記第N+1質点の重心位置と、前記平面とのなす角であり、
ηswingは、αbp/αpfであり、
αbpは、(Ppend)beginと、(Ppend)peakとのなす角であり、
(Ppend)beginは、前記平面上の接触点を原点としたときの、前記遊脚運動が開始された時点における前記第1質点の位置であり、
(Ppend)peakは、前記平面上の接触点を原点としたときの、前記第1質点が前記原点の直上に到達したときの前記第1質点の位置であり、
αpfは、(Ppend)peakと、前記遊脚の振り終わりの前記第N+1質点の重心位置とのなす角である。
【符号の説明】
【0091】
1…ロボット、11…脚部、12…駆動部、13…ギヤ、14…胴体、15…制御部、16…記憶部、ppend…第1注目質点・理想質点、pimpend…仮想質点、phip…実質点、padd…遊脚の位置、ptorso…上体の位置、psup…支持脚の位置、mpend…質点の重量、madd…質点、M…モーメント、fm…、fd…、f…外力成分、Eall…運動のエネルギーの積分、Ekinetic…エネルギー、Epotential…エネルギー、Emod…エネルギー、b…定数行列、c…定数行列、(ppend)start…ppendの開始位置、(ppend)peak…ppendの最大位置、(ppend)end…ppendの最終位置、(padd)start…paddの開始位置、(padd)peak…paddの最大位置、(padd)
end…paddの最終位置、g…重力加速度、cadd…、badd…、madd…脚質点、padd…脚質点の位置、β…(padd)endと(padd)atkの成す角、θ…脚とz軸との角度、(ppend)atk…遊脚接地時のbswg、(padd)atk…遊脚接地時のadd、m…ロボットの重量