IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 本田技研工業株式会社の特許一覧

<>
  • 特開-歩行制御方法 図1
  • 特開-歩行制御方法 図2
  • 特開-歩行制御方法 図3
  • 特開-歩行制御方法 図4
  • 特開-歩行制御方法 図5
  • 特開-歩行制御方法 図6
  • 特開-歩行制御方法 図7
  • 特開-歩行制御方法 図8
  • 特開-歩行制御方法 図9
  • 特開-歩行制御方法 図10
  • 特開-歩行制御方法 図11
  • 特開-歩行制御方法 図12
  • 特開-歩行制御方法 図13
  • 特開-歩行制御方法 図14
  • 特開-歩行制御方法 図15
  • 特開-歩行制御方法 図16
  • 特開-歩行制御方法 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024112524
(43)【公開日】2024-08-21
(54)【発明の名称】歩行制御方法
(51)【国際特許分類】
   B25J 5/00 20060101AFI20240814BHJP
【FI】
B25J5/00 F
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023017601
(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注目質点と、前記第1注目質点以外の質点に分解し、第1注目質点と歩行平面上の接触点との長さが一定であるとし、第1注目質点以外の質点は、第1注目質点のアフィン変換された位置に拘束されるとし、第1注目質点が動かされると、拘束に従い、第1注目質点以外の質点の拘束軌道を生成し、単質点モデルに、遊脚運動に関する追加質点を加えた多質点モデルを用いて、追加質点の重心が追加質点の重心位置のアフィン変換となるような拘束軌道を与えることで、システム全体を保存系とし、第1注目質点を理想質点とし、理想質点と仮想質点の重心が移動装置の実質点であるように仮想質点と理想質点を設定する、歩行制御方法。
【選択図】図17
【特許請求の範囲】
【請求項1】
歩行制御装置が、
脚部を有する移動装置を、複数の質点に分解し、
分解された前記複数の質点を、第1注目質点と、前記第1注目質点以外の質点に分解し、
前記第1注目質点と歩行平面上の接触点との長さが一定であるとし、
前記第1注目質点以外の質点は、前記第1注目質点のアフィン変換された位置に拘束されるとし、
前記第1注目質点が動かされると、前記拘束に従い、前記第1注目質点以外の質点の拘束軌道を生成し、
単質点モデルに、遊脚運動に関する追加質点を加えた多質点モデルを用いて、前記追加質点の重心が前記追加質点の重心位置のアフィン変換となるような拘束軌道を与えることで、システム全体を保存系とし、
前記第1注目質点を理想質点とし、
前記理想質点と仮想質点の重心が前記移動装置の実質点であるように仮想質点と理想質点を設定する、
歩行制御方法。
【請求項2】
前記理想質点の長さが一定であるとする、
請求項1に記載の歩行制御方法。
【請求項3】
前記実質点の位置は、前記移動装置が備える脚の支持脚重心位置である、
請求項1または請求項2に記載の歩行制御方法。
【請求項4】
前記移動装置の歩行開始時の前記実質点の位置と前記理想質点の位置と仮想質点の位置は同じ位置である、
請求項1または請求項2に記載の歩行制御方法。
【請求項5】
前記移動装置が移動中において、前記実質点の移動時の軌道は、次式であり、
【数1】
hipは移動時の単脚支持時の状態毎のパラメータであり、ppendは理想質点であり、bhipは移動時の単脚支持時の状態毎のパラメータである、
請求項1または請求項2に記載の歩行制御方法。
【請求項6】
前記移動装置が移動中において、前記移動装置が備える脚の遊脚の軌道は、次式であり、
【数2】
swgは移動時の遊脚軌道のパラメータであり、Rγはcosとsinで表されている回転行列であり、bswgは移動時の遊脚軌道のパラメータであり、bhipは移動時の単脚支持時の状態毎のパラメータである、
請求項1または請求項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注目質点以外の質点は、前記第1注目質点のアフィン変換された位置に拘束されるとし、前記第1注目質点が動かされると、前記拘束に従い、前記第1注目質点以外の質点の拘束軌道を生成し、単質点モデルに、遊脚運動に関する追加質点を加えた多質点モデルを用いて、前記追加質点の重心(padd)が前記追加質点の重心位置(分解前のppend)のアフィン変換となるような拘束軌道を与えることで、システム全体を保存系とし、前記第1注目質点を理想質点(分解後のppend)とし、前記理想質点(ppend)と仮想質点(pimpend)の重心が前記移動装置の実質点(phip)であるように仮想質点と理想質点を設定する、歩行制御方法である。
【0009】
(2)本発明の一態様に係る歩行制御方法は、前記理想質点(ppend)の長さが一定であるとする、上記(1)に記載の歩行制御方法である。
【0010】
(3)本発明の一態様に係る歩行制御方法は、前記実質点(phip)の位置は、前記移動装置が備える脚の支持脚重心位置である、上記(1)または(2)に記載の歩行制御方法である。
【0011】
(4)本発明の一態様に係る歩行制御方法は、前記移動装置の歩行開始時の前記実質点(phip)の位置と前記理想質点(ppend)の位置と仮想質点(pimpend)の位置は同じ位置である、上記(1)から(3)のうちのいずれか1つに記載の歩行制御方法である。
【0012】
(5)本発明の一態様に係る歩行制御方法は、前記移動装置が移動中において、前記実質点(phip)の移動時の軌道は、次式であり、
【数1】
hipは移動時の単脚支持時の状態毎のパラメータであり、ppendは理想質点であり、bhipは移動時の単脚支持時の状態毎のパラメータである、上記(1)から(4)のうちのいずれか1つに記載の歩行制御方法である。
【0013】
(6)本発明の一態様に係る歩行制御方法は、前記移動装置が移動中において、前記移動装置が備える脚の遊脚の軌道は、次式であり、
【数2】
swgは移動時の遊脚軌道のパラメータであり、Rγはcosとsinで表されている回転行列であり、bswgは移動時の遊脚軌道のパラメータであり、bhipは移動時の単脚支持時の状態毎のパラメータである、上記(1)から(5)のうちのいずれか1つに記載の歩行制御方法である。
【発明の効果】
【0014】
上記(1)~(6)によれば、外乱が生じた場合であってもロバストに継続歩行することができる。
【図面の簡単な説明】
【0015】
図1】実施形態に係るロボットの構成例を示す図である。
図2】ロボットの外観例を示す図である。
図3】脚部に関する定義を説明するための図である。
図4】ロボットにおける座標と角度等の定義を説明するための図である。
図5】ロボットのタスク空間座標系を説明するための図であり、従来手法であるHodginsの制御に使用する変数を示す平面2足歩行モデルの図である。
図6】歩行モデルを示す図である。
図7】単質点バネマスモデルと追加質点モデルを示す図である。
図8】保存系が成り立つ条件を説明するための図である。
図9】軌道の制約例を示す図である。
図10】遊脚における運動における3つのフェーズを説明するための図である。
図11】ロボットが歩行を失敗する要因について分析した結果例を説明するための図である。
図12】仮想質点化における支持脚モデルを説明するための図である。
図13】各フェーズにおける立脚の定義を説明するための図である。
図14】各フェーズにおける立脚の定義を説明するための図である。
図15】単質点のモデルと多質点のモデルを示す図である。
図16】実施形態における保存系モデルを説明するための図である。
図17】実施形態に係る歩行制御装置が行う歩行制御方法の処理手順例を説明するための図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態について図面を参照しながら説明する。なお、以下の説明に用いる図面では、各部材を認識可能な大きさとするため、各部材の縮尺を適宜変更している。
なお、実施形態を説明するための全図において、同一の機能を有するものは同一符号を用い、繰り返しの説明は省略する。
また、本願でいう「XXに基づいて」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含む。また、「XXに基づいて」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含む。「XX」は、任意の要素(例えば、任意の情報)である。
【0017】
(ロボットの構成例)
図1は、本実施形態に係るロボットの構成例を示す図である。なお、図1に示す構成は一例であり、これに限らない。
図1のようにロボット1(歩行装置)は、例えば、脚部11、駆動部12、ギヤ13、胴体14、および歩行制御装置10を備える。
歩行制御装置10は、例えば、制御部15、記憶部16、およびセンサ17を備える。
【0018】
なお、ロボット1は、アーム、ハンド、頭部等を備えていてもよい。なお、脚部11は、胴体14に接続され、少なくとも2つ備える。また、制御部15、記憶部16は、例えばロボット制御装置等の外部装置が備えていてもよい。
【0019】
記憶部16は、制御に必要なパラメータ、式、モデル、プログラム等を記憶する。記憶部16は、ロボット1の重量、脚部11の長さ等を記憶する。
【0020】
センサ17は、例えば、力センサまたはトルクセンサ、回転や方向の変化などを知る3軸のジャイロセンサーと、軸方向の速度の変化を知る3軸の加速度センサを用いて慣性運動量を検出する慣性計測ユニットである。
【0021】
制御部15は、上述したように導出した単質点モデルに対し質点を追加した時の力学を考え保存系になる条件を用い、その条件のもと遊脚拘束軌道を与え、系全体を保存系とすることで、蹴りだしのみで制御する。なお、この歩行制御は、駆動部12が備えるモータを制御して行ってもよく、機構系を制御して行ってもよい。
【0022】
図2は、ロボットの外観例を示す図である。図2のように、ロボット1は、2つの脚部11と、胴体14を備えている。各脚部11は、駆動部12によって駆動させる。駆動部12は、歩行制御装置10によって制御される。脚部11には、センサ17が取り付けられている。図2のように、ロボット1は、二次元平面上で4自由度を拘束している。なお、図2に示した外観例は一例であり、これに限らない。
【0023】
(名称等の定義)
次に、本実施形態で用いる名称等について定義する。
図3は、脚部に関する定義を説明するための図である。
符号g10の画像は、両脚支持期の状態であり、矢印g15は移動方向であり、符号g11は後ろ脚(rear)であり、符号g12は前脚(front)である。
符号g20の画像は、片脚支持期の状態であり、符号g21は支持脚(sup)であり、符号g22は遊脚(swing)である。
【0024】
図4は、ロボットにおける座標と角度等の定義を説明するための図である。
z軸方向は、移動面(地面または床等)に対して垂直方向である。x軸方向は、移動面に対して水平方向である。lは、脚の長さである。γは、z軸方向とロボット1の重心または胴体の傾きとの角度である。ψは、胴体から鉛直方向g33から足先の角度(脚角度)である。φは、脚の股関節から足先までの脚長に関係する角度(脚長角度)である。
符号g31は、脚部11を構成するリンクのうち胴体14に接続され短い方のリンク方向である。符号g32は、脚部11を構成するリンクのうち胴体14に接続され長い方のリンク方向である。θrocは、符号g33方向を基準とする脚部11の腿を構成するリンクのうち胴体14に接続され短い方のリンクの相対角度である。θthighは、符号g33方向を基準とする脚部11の腿を構成するリンクのうち胴体14に接続され長い方のリンクの相対角度である。
【0025】
(ロボットのタスク空間座標系)
図5を用いて、さらにロボット1のタスク空間座標系について説明する。
図5は、ロボットのタスク空間座標系を説明するための図である。関節空間を股関節から伸びる4本のリンクの相対角度θ={θleft,in、θleft,out、θright,in、θright,outによって定義する。なお、Tは転置を表し、leftは左側を表し、rightは右側を表している。また、ここで,各駆動部12のin、outはそれぞれ腿を形成する平行リンクのロッカー、腿リンクに対応する。足先位置を表すタスク空間x={(xswg、(xsup} or {(xfore、(xback}を次式(1)で定義する。
【0026】
【数3】
【0027】
式(1)において、添字jは対応する脚の左右を示し、添字iは脚の機能的な分類である。片脚支持期のときは遊脚、支持脚を示すi∈{swg、sup}であり、両脚支持期のときは前脚、後ろ脚を示すi∈{fore、back}である。φ、ψは脚の股関節から足先までの脚長に関係する角度と鉛直方向からの角度を表し、それぞれ脚長角度と脚角度と呼ぶ。また、llinkは腿リンクの長さを示す。足先から股関節に向かう単位ベクトルをz軸とする座標系を脚座標系Σと呼ぶ。
また、制御系は全てタスク空間における目標速度として定式化され、モータ指令値はヤコビ行列Jを用いて次式(2)によって与えられる。なお、上付きは一階微分を表す。
【0028】
【数4】
【0029】
(従来技術の平面2足歩行モデル)
図6は、歩行モデルを示す図である。符号g131の図は、両足支持(DS)期における後ろ足で床を蹴る蹴り出し制御のモデルである。符号g132の図は、片足支持(SS)期における片足遊脚時のストライド制御のモデルである。なお、図6において、床に対して水平方向をx軸、高さ方向をz軸とする。また、lrearは後脚リンク長、lswagは遊脚リンク長、ppendは重心(CoG)位置、xswgは後脚と遊脚とのx方向の距離である。
【0030】
このHodginsの制御は、以下の3つの動作に分解できる。
(a)DS期からSS期に切り替えるために、後脚で床を蹴る。
(b)足の歩幅を調整し、SS期の水平速度を制御する。
(c)DS期とSS期で体の回転を調整する。
Hodginsの制御では、蹴り出し動作でロボットの高さを制御し(a)、歩幅調整でロボットの走行速度を制御する(b)。SS期の歩行がIPモデルと同様に振る舞い、ピーク位置での高さが一定であると仮定すると、SSフェーズの移動速度(ピーク位置での水平速度)は力学的エネルギーと立脚角のみで一意に決定される。このように、Hodginsの制御は、各SS期で一定の目標歩幅を与えるものの、DS期では蹴り出し動作のみを制御することで歩行動作を実現する。
【0031】
従来手法であるRaibertの制御やHodginsの制御は、単質点モデルの重心のダイナミクスのみを考慮したものである。
しかしながら、実際のロボットでは、各リンクに質量が分散しているため、遊脚運動のような高速な運動で角運動量が発生する。脚の質量が全身の質量に比べて十分に小さい場合(例えばtotalmass:legmass=10:1)でも、脚のスイング運動による角運動量は無視できない。このため、従来手法のHodginsの制御のように質点モデルで全身のダイナミクスを表現する歩行制御では、予想以上に大きな誤差が生じる。この誤差により、これらの従来手法の制御手法では、目標移動速度に応じた歩行をさせることができなくなる。また、これらの従来手法の制御手法では、大きな角運動量を生じる脚運動は全身のダイナミクスに無視できない誤差を生じさせるため、単質点モデルのみを利用する制御では目標どおりに歩行を継続させることが困難になる。この問題は、制御を構成する上で想定したモデルの力学系と実際の力学系との違いにより生じる。実際には角運動量の影響があり、歩容モデルによる動作は想定と比べて大きな誤差を生じる。このように、従来手法では、その運動の影響により運動の力学系は保存系ではなくなってしまい、保存エネルギーによる制御が不可能になってしまう問題があった。
【0032】
(多質点モデル)
次に、多質点モデルについて説明する。
図7は、単質点バネマスモデルと追加質点モデルを示す図である。画像g135が単質点バネマスモデルであり、画像g136が加質点モデルである。
符号g135の図において、単質点の質量をmpend、位置(注目点)をppend(={xpend、zpend)、mpend(ppend・・は単質点に外力が加わったモデルの運動方程式である。また、l=l+lである。lはバネの自然長を示し、lはバネの変位入力を示し、fは系に発生する外力を示す。Mは、faddによってppendに発生するモーメントである。力faddは、追加質位置paddに加わる力である。
【0033】
符号g136の図のように質点maddが追加された場合は、その運動から発生される外力は、次式(3)のような合力になる。
【0034】
【数5】
【0035】
式(3)のように、maddの質点運動によってmpendに加わる外力fは、直接力として加わるfとモーメントとして伝わった後に床反力を経てmpendに伝わるfmの2つの力の合力によって計算される。fを発生するためのモーメントMと、fは次式(4)のように計算される。なお、上付き・・は二階微分を表す。
【0036】
【数6】
【0037】
式(4)において,脚質点maddの位置をpadd={fxadd、zaddとしており、gは重力加速度である。この外力に関して、(ppendを乗じた時間積分は次式(5)のように展開される。
【0038】
【数7】
【0039】
この式(5)の並進力に関する項とモーメントに関する項の両方の積分において時間依存関数でない原始関数が求まれば系は保存系である(運動の積分が求まる)。これらの運動の積分が求まるには次式(6)の両条件を満たす必要がある。
【0040】
【数8】
【0041】
式(6)の条件のもと式(4)のMの式とfの式の両方を満たす(ppendを算出できたならば、2質点以上の多質点を考慮した場合にでも、運動の積分が求まり力学系が保存系になる。すなわち、多質点の運動を考慮したモデルの運動方程式の力学系において保存則が成立する条件である。
【0042】
例えば図8の符号g141の図、符号g142の図に示すような拘束条件である。図8は、保存系が成り立つ条件を説明するための図である。符号g141の図は、モーメントを無視した強制的な制約を説明するための図である。符号g142の図は、位置の制約を説明するための図である。
符号g141の図では,モーメント成分である式(6)のMを消すように,paddからppend方向に並進力を発生させ,更にその並進力をppendや(ppendの関数にすることで保存系条件を満たすようにできる。
また、符号g142の図のように、ppend以外の質点の重心位置を支持脚軸上に置き、その座標にppend依存の拘束軌道を与えることでも、モーメントの影響を消し,前述保存系条件を満たすようにできる(ただし,複数質点の運動でpadd自体にモーメントを発生させないようにする必要がある)。
【0043】
このように簡単に保存系にする条件を考えることは可能であるが、多くの場合、発生力に対して拘束条件を与えたり質点位置を固定する様な軌道が必要であり極めて厳しい拘束条件になる。特に歩行の遊脚動作において、任意の胴体姿勢かつ特定の支持脚姿勢で特定の位置に脚を持っていく必要があり(足部接地時)、力による拘束ではなく位置による拘束を与えかつ保存系になるような条件を考える必要がある。
【0044】
図9は、軌道の制約例を示す図である。図9に示すように、SLIPに基づく単質点モデルに、遊脚運動に関する追加質点を加えた多質点モデルを用いている。なお、以下の説明において、一質点モデルの重心(CoM)をppendで示す。また、遊脚運動に対する追加質点の重心をpaddとする。paddがppendの一次関数となるような拘束軌道を与えることで、システム全体を保存系とすることができる。
【0045】
(脚拘束位置軌道による積分可能条件)
エネルギーを規範とした歩行制御へと利用するには、式(6)のように表現できるような拘束条件をpswgに与えれば良い。ある程度任意に遊脚軌道を調節できるように、次式(7)のような遊脚軌道位置拘束を与える。なお、次式(7)において、Rγは、cosとsinで表されている回転行列である。また、c添え字付きはパラメータである。また、baddはオフセットである。
【0046】
【数9】
【0047】
これにより、(padd・・は次式(8)となり、大半の項が積分可能となる。
【0048】
【数10】
【0049】
ここで、支持脚中のppendの運動は倒立振子と同様の運動を行なうとし、以下の第1の仮定を行う。
・第1の仮定;単脚支持中の脚長は一定である。
このとき、全ての運動の積分Eallは次式(9)~(12)のように表現される。
【0050】
【数11】
【0051】
【数12】
【0052】
【数13】
【0053】
【数14】
【0054】
以上の導出の元、各マスにおいて適切な拘束軌道を考慮することで、系全体の運動が保存系になる条件を導出する。特に遊脚軌道に関して、以下の第2の仮定を行う。
・第2の仮定;歩行中は、支持脚角度θは十分に小さいとすると,cosθ≒1である
この仮定により、Emodは次式(13)のように近似できる。
【0055】
【数15】
【0056】
このように、式(10)、(11)、(13)から、式(7)の拘束条件が与えられる運動が近似的に保存系になり、運動を事前に規定し、事前のエネルギー操作によって遊脚運動を含めた単脚支持運動を一意に定めることができる。
【0057】
実際のロボットでは,歩行中のSS期において,歩幅や足と地面の間隔を変化させた遊脚軌道を行わせることが多い。このため、図10に示すように、3つの遊脚フェーズに分解した拘束遊脚軌道を実装する。図10は、遊脚における運動における3つのフェーズを説明するための図である。この分解により、地面(または床)とのクリアランスと、歩幅を調整することができる。
【0058】
フェーズ(i)では、遊脚の質点位置の目標最大高さから遊脚の軌道を算出する。
フェーズ(ii)、(iii)では、最終クリアランス(hclependとストライド長(lstrideendの2つのパラメータを導入する。
なお、振り子質点位置と遊脚質点位置との間の長さは、遊脚質点位置のz軸位置が最終クリアランス(hclependに到達したときに最大とする。また、最大長はSS期の支持脚長と同じである。
これらの軌道は、パラメータbaddとcaddによって決定される。
【0059】
各フェーズのパラメータbaddとcaddは、各遊脚フェーズの開始時と終了時の振り子質点と遊脚質点位置X={ppend,padd}を求め、式(17)を用いて連立方程式を解くことにより導出する。また、図6に示すように、揺れ位相(i)、(ii)、(iii)の各始終位置をXstart、Xpeak、Xend、Xatkとする。
【0060】
まず、フェーズ(i)の始まりであるSS期とDS期の終わりの各位置をXstartとし、ピーク位置(θ=0)の各位置をXpeakとする。(ppendpeakのz成分は、ピーク位置での目標身長であり、SS期中の脚長と同じである。(ppeakaddのz成分は最大脚部クリアランスであり、この値を目標パラメータとして任意に設定する。
【0061】
(歩行失敗の要因)
次に、ロボット1が歩行を失敗する要因について分析した結果例を説明する。
図11は、ロボットが歩行を失敗する要因について分析した結果例を説明するための図である。
画像g201~g205は、ロボット1の歩行中、床に障害物があった場合や、例えばロボット1が後ろから押された場合等の歩行時の状態を示す。
画像g210は、歩行失敗の要因を分析した結果を示す。
【0062】
解析の結果、ロボット1の歩行時に外乱が加わった場合、失敗する要因の1つは、脚が外乱が無い場合より早く接地される早着であることが分かった。また、解析の結果、この早着が要因で発生する場合でも、符号g210のように、2つの問題があることが分かった。
(i)遊脚における問題;大きな加速度が発生
(ii)支持脚における問題;支持脚が外乱が無い場合より短く接地される
【0063】
上述した比較例では、遊脚期の支持脚長は常に一定としていた。しかし、図11を用いて説明したように、実際の歩行中においては、外乱などにより遊脚が所望の脚長にならずに遊脚期が始まってしまうことが起こりうる。また、外乱によってロボット1の速度が増減した場合は、ロボット1の蹴り動作のみで速度追従させることが難しい場合がある。
【0064】
このため、本実施形態では、このような場合に保存系条件を壊すことなく支持脚長を所望の長さに戻すようにする。また本実施形態では、支持脚軌道を変化させることで蹴り動作のみでは実現できない歩行速度を追従する支持脚軌道変化方法を実現するために支持脚長を積極的に修正できるモデルを用いた。
【0065】
(可変支持脚長モデル)
まず、SS期中の支持脚長を変化させても全体のダイナミクスが保存系になるような脚軌道の表現方法を説明する。比較例において、上述したように遊脚軌道位置の拘束条件は、式(7)である。式(7)で表すように、遊脚軌道は倒立振子位置ppendを基準に決められている。このため、この倒立振子の長さを変化させると脚軌道パラメータも修正が必要になるため、別途複雑な導出が必要になる。上述した第1の仮定を崩さないように、支持脚長を可変とするため,ppendの質点を仮想的な2質点に分解することを考える。
【0066】
このため、本実施形態では、図12図14のような分解を行う。
図12は、仮想質点化における支持脚モデルを説明するための図である。図12のように、本実施形態では、腰(hip)を支持脚重心位置とした。
そして本実施形態では、比較例でppendとしていた支持脚の質点位置をphipと置き換える。なお、実際に支持脚質点に置き換えたとしても、以下の説明は同様に行える。
支持脚質点の位置である実質点phipを第1の仮定を満たすように運動する理想質点ppendと、次式(14)、次式(15)を満たすような理想質点ppendと対になる仮想質点pimpendに分解する。そして、本実施形態では、上述した第1注目点を、この理想質点ppendとする。
【0067】
【数16】
【0068】
【数17】
【0069】
なお、pimpendは新たに導入する仮想倒立振子の位置を表し、式(14)、式(15)において、mhipは股関節質点であり、mpendは倒立振子であり、mimpendは仮想倒立振子の質量である。また、ロボット1の全質量mは、次式(16)である。
【0070】
【数18】
【0071】
本実施形態では、ロボット1の全質量mから脚一本分の質量を除いた質量が股関節質量であり、股関節質量を倒立振子と仮想倒立振子で分け合う。このモデルにおいては、倒立振子以外の質点の運動は倒立振子にのみに、上述した式(3)の外力を与えるとする。
上記のこの仮定のもとでは、仮想倒立振子位置pimpendを式(7)によって動かした場合、系全体は保存系となる。
【0072】
図13は、仮想質点化における支持脚質点における定義を説明するための図である。本実施形態では、図13のように、理想質点ppendの長さを一定にし、実質点phipの位置を、式(7)、後述する式(17)、第1注目質点のアフィン変換された位置に拘束される軌道に沿って自由に変更できるようにした。さらに、本実施形態では、辻褄が合うように仮想質点pimpendの位置を修正した。
【0073】
図13において、鎖線g223は、歩行時の理想質点ppendの位置の変化であり、脚の長さが一定である。線g222は、歩行時の実質点phipの位置の変化であり、脚の長さが一定ではなく、理想質点ppendの長さより長い位置がある。線g221は、歩行時の仮想質点pimpendの位置の変化であり、脚の長さが一定ではなく、実質点phipの位置の長さより長い位置がある。
【0074】
(phip軌道)
次に、phip軌道を決める方法を説明する。
図14は、各フェーズにおける立脚の定義を説明するための図である。また、鎖線g231は理想質点ppendの軌道である。まず、各単脚支持フェーズにおける目標脚長にについて、図14のようにbegin期(歩行開始期)、peak期(歩行最大期)、end期(歩行終了期)を定める。ここで、peak期の目標phip位置は床から(lsuppeakとし、end期の目標phip位置は床から(lsupendとする。なお、図14のように単脚支持始まりのphip、ppendとpimpendは同じ位置であるとする。なお、脚の長さは(lsuppeakは、脚の長さ(lsupbeginより長くすると減速する。脚の長さ(lsupendは、長くすると遊脚期の時間を長く出来る。脚の長さ(lswgendは、短くすると減速する。
【0075】
これらの(lsuppeakと(lsupendに従い、(ppendpeakと(ppendendを決定する。これらの目標値を用いて、phip軌道の単支持脚歩行におけるフェーズ毎のパラメータchip、bhipは計算される、この場合のphip軌道は次式(17)のようになる。
【0076】
【数19】
【0077】
また、の遊脚軌道の導出において、ppeakからの遊脚位置を計算するのではなく、phipの高さ分オフセットを与えるとする。これにより支持脚の伸び縮みによって、遊脚自体が伸び縮みするのを少なくする。これにより、遊脚軌道は次式(18)のようになる。
【0078】
【数20】
【0079】
なお、式(18)において、cswgは移動時の遊脚軌道のパラメータであり、Rγはパラメータであり、bswgは移動時の遊脚軌道のパラメータであり、bhipは移動時の単脚支持時の状態毎のパラメータである。
ここで、式(18)は、式(7)と式(17)が足し合わされ着目点ppendの位置を差し引いたものであり、その軌道は不定積分可能であり保存系を満たす。なお、式(18)では、式(7)のaddをswgで表している。さらに、遊脚軌道は、pimpend軌道のパラメータcimpend、bimpend、式(14)、式(15)および式(18)から求まる。
本実施形態では、これらを用いてエネルギーを計算し、遊脚のエネルギーと合わせて保存エネルギーとする。
【0080】
なお、シミュレーションでは、接地状況に応じて、脚の長さは(lsuppeak、脚の長さ(lsupend、遊脚の長さ(lswgendを最適化した。
実機では、脚の長さは(lsuppeak、脚の長さ(lsupend、遊脚の長さ(lswgendを固定値として与えた。なお、早着した場合は固定値(脚の長さは(lsuppeak)より短い脚長で接地するが、固定値に戻すために,速度を戻すことが出来る。この場合は、最適化の計算が不要になる。
【0081】
(他の拘束条件)
上述した例では、拘束条件として式(1)を用いた。しかしながら、拘束条件は式(7)に限らず、以下のような一般化したアフィン変換を用いることも可能である。
図15は、単質点のモデルを示す図である。なお、符号g402は、端点が地面に接する支持点を示す。符号g401の図のpendは質点の中心を示す。符号g403の図において、addは、符号g401の図のモデルに追加された質点を示し、pendはaddを含まない質点中心を示す。
【0082】
図15の符号g401の図に示すように、単質点モデルの質点と位置をそれぞれmpend、ppend={xpend,zpendとすると、2質点モデルの運動方程式は次式(19)のようになる。
【0083】
【数21】
【0084】
力faddが追加位置paddにかかる場合を加えた場合(図15の符号g402の図)、追加質点位置paddの外力fは、次式(20)のように2つの力の結果として計算される。
【0085】
【数22】
【0086】
式(20)において、fはfaddから直接計算され、fはモーメントMから地盤反力を経由して換算される。モーメントM、力f、fは次式(21)~(23)のように計算される。
【0087】
【数23】
【0088】
【数24】
【0089】
【数25】
【0090】
lは脚の長さであり、l=l+lであり、lはバネの自然長を示し、lはバネの変位入力を示す。また、fは、次式(24)のように定義する。
【0091】
【数26】
【0092】
ここで、kは次式(25)である。
【0093】
【数27】
【0094】
バネ力の調整は,式(25)に示すバネの自然長lの変位で行うことができる。このモデルでは、バネの変位量lを調整することで、キッキングコントローラがエネルギーを与える。また、モデルにおいて、ばねと並列にダンパーを配置するため、次式(26)の項を追加した。
【0095】
【数28】
【0096】
ばねのエネルギーは、次式(27)のように計算される。
【0097】
【数29】
【0098】
なお、本シミュレーションではダンパーの効果は小さいため、ダンパーのエネルギー損失は無視する。
このように、運動方程式の式(19)と力の式(20)から、多質点モデルの挙動をシミュレートすることができる。
【0099】
上述したように、系に発生する外力f(図15の符号g401の図)を任意に設計できるとすると、式(19)は任意の一質点モデルの運動方程式を表すことができる。
【0100】
次に、単質点モデルの力学系が保存系であるかどうかを判断するために、運動の積分が得られるかどうかを解析する。運動方程式の式(19)に(ppendを掛けると、その時間積分量はエネルギーとなる。エネルギーの解析解が時間に依存しない関数であるとき、その量は運動の積分であり、保存量となる。従って、このモデルの力学系は、保存系である。
システムのエネルギーEallは、運動方程式の式(19)から次式(28)のように計算される。
【0101】
【数30】
【0102】
なお、Eallは、fで計算されるエネルギーが位置エネルギーや運動エネルギーである場合、例えばf=0であれば系の力学的エネルギーとなる。
fが未知であるため、式(28)は時間依存の項を持つ。この項を時間に依存しない形で解くことができれば、式(28)の運動の積分を得ることができる。
【0103】
つまり、システム自身が外力を発生するモデルでも、∫(f・(ppend)dtが時間に依存しなければ、そのモデルの力学系は保存系となる。そして、その力fは保存力と呼ばれる。
例えば、関数g(.)、その時間積分関数G(.)、外力f=g(ppend)が与えられたとき、外力を加えた力学系の運動積分は、ppendの関数として次式(29)のように求められる。
【0104】
【数31】
【0105】
なお、式(29)の導出は、位置依存関数の運動の積分と同様である。
このため、この力学系は保存系となる。したがって、式(28)は時間依存の項を持たない。式(29)を式(28)に代入すると、量Eallは一種の保存エネルギーとなる。力学系が保存系である以上、運動は保存エネルギー量によって一意に決定される。
【0106】
このように、歩行制御器の力学モデルの実例として、保存系となる条件からモデルを作成した。図15の符号g401に示すLIPモデの軌道エネルギーを用いたコントローラは次式(30)のような条件を与えている。
【0107】
【数32】
【0108】
式(30)において、eはz方向の単位ベクトルである。
fは、位置ppendに依存するため、脚に外力が発生しても力学系は保存系となる。参考文献1では、保存エネルギーを軌道エネルギーと定義し、現在と目標の軌道エネルギーの差を比較することでロボットの歩行速度を制御している。このように、モデル内で発生する力を適切に設計することで、特定の運動に対する力学系が時間の均質性を持った保存系となる。ロボットの運動は、現時点での保存エネルギーと目標保存エネルギーを参照することで、一意に決定することができる。
【0109】
参考文献1;S. Kajita, Tomio Yamaura, and Akira Kobayashi, “Dynamic walking control of a biped robot along a potential energy conserving orbit”, .IEEE Transactions on robotics and automation, 8(4):431-438, 1992
【0110】
(多質点における保存系)
本実施形態において、多質点における保存系については、第1実施形態において、式(3)(f=f+f)が、式(20)(f=f+f+f)に置き換える。
【0111】
(保存エネルギーの導出)
次に、いくつかの仮定を置くことで遊脚運動を考慮した保存系になるための条件と、保存エネルギーの導出について説明する。
図16は、本実施形態における保存系モデルを説明するための図である。図16のように、図9で用いたフライホイールを用いず、モーメントMを加える代わりにエネルギーEaddを加え、拘束式として式(7)の代わりにアフィン変換(後述する式(31))を用いる。また、上述した例では歩行時の脚の長さを一定としpaddの軌跡dpadd/dppendを一定とし、例えば左右対称の曲線と見做したが、本実施形態では、歩行時の脚の長さを可変とし、図16の曲線g451ように、paddの軌跡が例えば放物線状であるとした。
【0112】
歩行の場合、SS期の終了時に特定の体位で足が地面に接地している必要がある。つまり、ロボットの特定の姿勢で足が特定の位置に到達するように、paddに位置拘束条件を与える必要がある。このため、本実施形態では、遊脚の位置をある程度任意に調整できるように、次式(31)のような位置拘束条件を与える。なお、Caddは、アフィン変換の行列である。また、Baddはオフセットである。
【0113】
【数33】
【0114】
これにより、次式(32)のようになる。
【0115】
【数34】
【0116】
また、外力のエネルギーの並進力に関する項に関して不定積分が求まる。一方、外モーメント項については、このままでは不定積分を求めることができない。
このため、SS期のppendの運動は倒立振子と同様の運動を行なうとし、第1の仮定をおく。
【0117】
・第1の仮定;SS期での支持脚の長さは一定である。
これにより、モーメントの項に関しても大半の不定積分が求まることになる。このとき、全エネルギーEallとすると、運動エネルギーEkineticと位置エネルギーEpotentialとその他のエネルギーEmodで、次式(33)~(36)のように表現される。
【0118】
【数35】
【0119】
【数36】
【0120】
【数37】
【0121】
【数38】
【0122】
式(34)、(35)において、ここで、|Cadd|はCaddの行列式を示す。また、Eはバネのエネルギーである。
システムエネルギーEallは、不定積分で得られない項Emodを持つ。このEmodの項をさらに式(36)に展開すると、次式(37)のようになる。
【0123】
【数39】
【0124】
最後に、不定積分で求めることができない項が残る。ここでは、システムのエネルギーEallの不定積分を求めるために、別の追加エネルギーが発生することを想定している。
式(79)の不定積分を求めるための追加エネルギーを導き出すには、次式(38)のエネルギーが発生する必要がある。
【0125】
【数40】
【0126】
式(38)において、Eaddは、次式(39)である。
【0127】
【数41】
【0128】
ここで、Aは変数である。エネルギーの式(38)の不定積分は、次式(40)のように求められる。また、θは質点ppendのピークの位置と脚部との角度であり、maddは脚部の重量である。
【0129】
【数42】
【0130】
ここで、Eallは、次式(41)である。
【0131】
【数43】
【0132】
以上のように、拘束条件は、式(31)のアフィン変換を用いることもできる。
【0133】
(処理手順)
次に、歩行制御装置10が行う歩行制御方法の処理手順例を説明する。図17は、本実施形態に係る歩行制御装置が行う歩行制御方法の処理手順例を説明するための図である。
【0134】
(ステップS101)歩行制御装置10は、脚部を有する移動装置(ロボット)を、複数の質点に分解する。
【0135】
(ステップS102)歩行制御装置10は、分解された複数の質点を、第1注目質点(pendulum mass)と、第1注目質点以外の質点(第2注目質点、…)に分解する。第2の注目質点は、例えば、Hip mass、Impend massまたはswing-leg massである。
【0136】
(ステップS103)歩行制御装置10は、第1注目質点(例えば支持脚)と歩行平面上の床との接触点との長さが一定であるとする。
【0137】
(ステップS104)遊脚(swing-leg mass)について、歩行制御装置10は、第1注目質点以外の質点は、第1注目質点のアフィン変換(式(20))された位置に拘束されるとする。また、支持脚について、歩行制御装置10は、支持脚の実際の重心位置(例えばhip mass)をアフィン変換された軌道に拘束すると仮定する。そうすると(14)から(17)式に従い設定された仮想質点(例えばImpend mass)は、第1注目質点をアフィン変換(式(20))した位置となる。なお、このときhip massはpend massとimpend massで表現できる。
【0138】
(ステップS105)歩行制御装置10は、第1注目質点が動かされると、拘束に従い、第1注目質点以外の質点の拘束軌道が生成する。
【0139】
(ステップS106)歩行制御装置10は、単質点モデルに、遊脚運動に関する追加質点を加えた多質点モデルを用いて、追加質点(追加質量)の重心(padd)が追加質点(追加質量)の重心位置(ppend)のアフィン変換となるような拘束軌道を与えることで、システム全体を保存系とする。
【0140】
(ステップS107)歩行制御装置10は、第1注目質点を理想質点ppendとする。そして、歩行制御装置10は、理想質点ppendと仮想質点pimpendの重心が移動装置の実質点phipであるように仮想質点と理想質点を設定する。
【0141】
(ステップS108)歩行制御装置10は、支持脚と遊脚の操作をする。これにより、系全体が保存系になる。
【0142】
歩行制御装置10は、このような処理によって設定した結果等を用いて、ロボット1の歩行制御を行う。
【0143】
以上のように、本実施形態では、仮想的な質点を利用した保存系モデルを用いて、ロボット1の歩行制御を行うようにした。
【0144】
これにより、本実施形態によれば、単脚支持期中の運動が保存系を満たしながらも、状況に応じて単脚支持期中の支持脚長を変更できる方法を構築し、外乱に対してロバストに継続歩行を実現することができる。そして、本実施形態によれば、計算量が少ない歩行制御方法でありながらもロバストに継続歩行することが可能となる。
【0145】
なお、上述した例では、移動装置の一例としてロボット1を例に説明したが、移動装置はこれに限らない。移動装置は、例えば、二脚を有し移動可能なものであってもよい。
【0146】
なお、本発明における歩行制御装置10の機能の全てまたは一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより歩行制御装置10が行う全ての処理又は一部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0147】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0148】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形および置換を加えることができる。
【符号の説明】
【0149】
1…ロボット、11…脚部、12…駆動部、13…ギヤ、14…胴体、15…制御部、16…記憶部、ppend…第1注目質点・理想質点、pimpend…仮想質点、phip…実質点、padd…遊脚の位置、ptorso…上体の位置、psup…支持脚の位置、mpend…質点の重量、madd…質点、M…モーメント、f…、f…、f…外力成分、Eall…運動のエネルギーの積分、Ekinetic…エネルギー、Epotential…エネルギー、Emod…エネルギー、b…定数行列、c…定数行列、(ppendstart…ppendの開始位置、(ppendpeak…ppendの最大位置、(ppendend…ppendの最終位置、(paddstart…paddの開始位置、(paddpeak…paddの最大位置、(padd) end…paddの最終位置、g…重力加速度、cadd…、badd…、madd…脚質点、padd…脚質点の位置、β…(paddendと(paddatkの成す角、θ…脚とz軸との角度、(ppendatk…遊脚接地時のbswg、(paddatk…遊脚接地時のadd、m…ロボットの重量
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17