JP4805818B2 - 移動ロボットの歩容生成装置 - Google Patents

移動ロボットの歩容生成装置 Download PDF

Info

Publication number
JP4805818B2
JP4805818B2 JP2006510511A JP2006510511A JP4805818B2 JP 4805818 B2 JP4805818 B2 JP 4805818B2 JP 2006510511 A JP2006510511 A JP 2006510511A JP 2006510511 A JP2006510511 A JP 2006510511A JP 4805818 B2 JP4805818 B2 JP 4805818B2
Authority
JP
Japan
Prior art keywords
reaction force
floor reaction
motion
error
force component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006510511A
Other languages
English (en)
Other versions
JPWO2005082582A1 (ja
Inventor
透 竹中
隆志 松本
孝英 吉池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP2006510511A priority Critical patent/JP4805818B2/ja
Publication of JPWO2005082582A1 publication Critical patent/JPWO2005082582A1/ja
Application granted granted Critical
Publication of JP4805818B2 publication Critical patent/JP4805818B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D57/00Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
    • B62D57/02Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
    • B62D57/032Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Robotics (AREA)
  • Manipulator (AREA)

Description

本発明は2足移動ロボット等の目標歩容を生成する装置に関する。
2足移動ロボット等の移動ロボットの目標歩容を生成する技術としては、例えば特許第3443077号(特許文献1)、あるいは、第18回日本ロボット学会学術講演/3P14/「2足ヒューマノイドロボットのリアルタイム歩行安定化制御 −HRPにおける歩行制御モジュールの有効性の検証−」(非特許文献1)に見られるように、目標ZMPまわりの床反力モーメントの誤差、あるいは実ZMPの目標ZMPからの誤差を観測し、その誤差を小さくするように歩容を修正する技術が知られている。
しかし、これらの技術では、並進床反力の誤差が考慮されていないため、摩擦係数の低い路面でロボットを歩行させたり、走行のように並進床反力鉛直成分が0もしくはほぼ0になる時期を有する歩容を生成する場合には、ロボットのスリップを生じないような歩容を生成することが困難である。
このため、例えば特開2002−326173号公報(特許文献2)や、PCT国際公開公報WO/03/057427/A1(特許文献3)に見られる技術が本願出願人により提案されている。これらの特許文献3,4に見られる技術では、ロボットの運動(各部位の位置、姿勢)と、床反力との関係を表す第1の動力学モデル(単純化モデル)を用いて該第1の動力学モデル上での動力学的平衡条件(床反力の並進力成分が目標値になる、ある点のまわりの床反力モーメントが目標値になるなどの条件)を満足するようにロボットの目標運動の瞬時値(瞬時目標運動)と目標床反力の瞬時値(瞬時目標床反力)とからなる瞬時目標歩容が逐次作成される。そして、この瞬時目標歩容を第2の動力学モデル(フルモデル)に入力して、該瞬時目標運動の一部(目標上体位置姿勢や目標ZMPまわりの目標モーメントなど)を補正することで、最終的な瞬時目標歩容が時系列的に生成される。
この技術では、第1の動力学モデル(単純化モデル)として、線形性の高いモデルを使用することで、ロボットの安定な運動を継続的に行い得る歩容を効率よく短時間で作成することが可能となると共に、第2の動力学モデル(フルモデル)として比較的動力学的精度の高いモデルを使用することで、最終的に生成される歩容の運動と床反力との間の動力学的精度を実ロボットの動力学により近づけることが可能となる。
しかし、前記特許文献2,3に見られる技術では、第2の動力学モデルを用いて作成される歩容は発散しやすいため、目標ZMP軌道を修正するかもしくは目標ZMPまわりに床反力モーメントを発生させるようにして、ロボットの目標運動軌道が第1の動力学モデルで作成された歩容からかけはなれないようにする必要があった。そして、この場合、目標ZMP軌道の修正量や、目標ZMPまわりの床反力モーメントが比較的大きくなることがあり、このような場合には、安定余裕を高く保つことが困難となる場合あった。逆に、安定余裕を高く保つために、目標ZMP軌道の修正量や、目標ZMPまわりの床反力モーメントの許容範囲を狭く設定すると、歩容が発散する恐れが高まるという不具合があった。
本発明はかかる背景に鑑みてなされたものであり、ロボットのスリップ等を防止するために設定する床反力の所定の成分の許容範囲を満足し得る歩容を効率よく生成できると共に、その歩容の運動と床反力との間の動力学的精度を良好に確保することができる移動ロボットの歩容生成装置を提供することを目的とする。
本発明の移動ロボットの歩容生成装置の第1発明は、かかる目的を達成するために、移動ロボットの運動によって発生する床反力の所定の床反力成分の許容範囲を設定し、その許容範囲を満足するように、移動ロボットの目標運動を少なくとも含む目標歩容を生成する歩容生成装置において、
前記移動ロボットの所定の第1動力学モデルを用いて該移動ロボットの運動を作成するようにあらかじめ構成された所定のアルゴリズムを実行することにより、前記床反力成分が前記許容範囲を満たすように、前記目標運動の仮値である仮運動を作成する仮目標運動作成手段と、
前記第1動力学モデルと該第1動力学モデルよりも動力学的精度が高い所定の第2動力学モデルとを用い、前記移動ロボットの任意の運動に対して、該運動によって前記第2動力学モデル上で発生する前記床反力成分と該運動によって前記第1動力学モデル上で発生する前記床反力成分との差である床反力成分誤差を求める床反力成分誤差算出手段と、
前記作成された仮運動から前記床反力成分誤差算出手段によって求められる床反力成分誤差が所定の許容誤差範囲に収まっているか否かを評価する評価手段と、
前記評価手段の評価において前記仮運動に対応する床反力成分誤差が前記許容誤差範囲に収まっている場合には、前記仮運動を前記目標運動として決定すると共に、前記仮運動に対応する床反力成分誤差が前記許容誤差範囲から逸脱している場合には、前記仮運動を少なくとも1回以上修正して前記目標運動を決定する目標運動決定手段とを備え、
前記仮運動に対応する床反力成分誤差が前記許容誤差範囲から逸脱している場合において、前記目標運動決定手段が前記仮運動の第n回目(n:n≧1である整数)の修正によって求める修正後運動を第n修正後運動とし、該第n修正後運動から前記床反力成分誤差算出手段により求められる床反力成分誤差を第n床反力成分誤差とし、前記仮運動を第0修正後運動とし、前記仮運動に対応する床反力成分誤差を第0床反力成分誤差としたとき、
前記目標運動決定手段は、第n修正後運動によって前記第1動力学モデル上で発生する前記床反力成分に、第n−1床反力成分誤差と少なくとも該第n−1床反力成分誤差に応じて決定した床反力補正量とのいずれかを加えたものが前記許容範囲を満たすように前記所定のアルゴリズムを実行することにより、第n修正後運動を決定する修正後運動決定処理と、前記決定した第n修正後運動に対応する第n床反力成分誤差と第n−1修正後運動に対応する第n−1床反力成分誤差との差、および、前記第n床反力成分誤差と少なくとも前記第n−1床反力成分誤差に応じて決定した前記床反力補正量との差のいずれか一方として定義される床反力成分誤差変化量ΔFMが0に収束したか否かを判断する収束判断処理とを少なくとも該床反力成分誤差変化量ΔFMが0に収束したと判断されるまで繰り返し、この繰り返し処理における最後の修正後運動決定処理で決定した修正後運動を前記目標運動として決定することを特徴とするものである。
なお、本発明において、第2動力学モデルの動力学的精度が第1動力学モデルよりも高いというのは、ロボットの任意の運動によって第2動力学モデル上で発生する床反力が、該運動によって第1動力学モデル上で発生する床反力よりも、該運動で想定されている床上で実際のロボットが該運動を行なったときに該ロボットに作用する実際の床反力(実床反力)により近いものとなることを意味する。このことは、第1発明に限らず、後述の第2〜第16発明のいずれにおいても同様である。
また、ロボットの任意の運動に対して、任意の動力学モデル上で所定の床反力成分(並進床反力水平成分、床反力モーメント鉛直成分など)の許容範囲を満足するということは、該運動によって該動力学モデル上で発生する該所定の床反力成分(該運動に対して該動力学モデルの動力学が成立する床反力のうちの所定の床反力成分)が前記許容範囲に収まるということを意味する。このことは、第1発明に限らず後述の第2〜第16発明のいずれにおいても同様である。
かかる第1発明によれば、前記仮目標運動作成手段によって、とりあえず、目標運動の仮値である仮運動が生成される。この仮運動は、第1動力学モデルを用いて移動ロボットの運動を作成するようにあらかじめ構成された所定のアルゴリズムを実行することにより、前記床反力成分が前記許容範囲を満たすように作成される。
そして、前記仮運動から前記床反力成分誤差算出手段によって求められる床反力成分誤差が所定の許容誤差範囲に収まっているか否かが評価手段によって評価される。この場合、該仮運動に対応する床反力成分誤差は、該仮運動によって前記第2動力学モデル上で発生する前記床反力成分と該仮運動によって前記第1動力学モデル上で発生する前記床反力成分との差であるから、仮運動に対する第1動力学モデル上での前記床反力成分の誤差を意味する。
そして、前記評価手段の評価において、該仮運動に対応する床反力成分誤差が許容誤差範囲に収まっている場合には、該仮運動によって第1動力学モデル上で発生する前記床反力成分の誤差が十分に小さいので、該仮運動が前記目標運動として決定される。また、該仮運動に対応する床反力成分誤差が許容誤差範囲から逸脱している場合には、この仮運動は、目標運動決定手段によって少なくとも1回以上修正され、その修正により目標運動が得られる。この仮運動の修正を行なう場合において、前記目標運動決定手段は、前記修正後運動決定処理と前記収束判断処理とを少なくとも前記床反力成分誤差変化量ΔFMが0に収束したと判断されるまで繰り返し、この繰り返し処理における最後の修正後運動決定処理で決定した修正後運動を前記目標運動として決定する。
この場合、前記修正後運動決定処理では、第n回目の修正後の第n修正後運動によって前記第1動力学モデル上で発生する前記床反力成分に、第n−1修正後運動(第0修正後運動は、前記仮運動である)に対応して算出される第n−1床反力成分誤差と少なくとも該第n−1床反力成分誤差に応じて決定した床反力補正量とのいずれかを加えたものが前記許容範囲を満たすように前記所定のアルゴリズムを実行することにより、第n修正後運動を決定するので、この第n修正後運動は、それによって第2動力学モデル上で発生する前記床反力成分が前記許容範囲を満足し得るものとなる可能性が高い。ただし、第n修正後運動は、第n−1修正後運動とは一般には同一にはならないので、第n修正後運動を決定するに際して加味した、第n−1床反力成分誤差、もしくはこれに応じた床反力補正量は必ずしも適切なものとは言えない。そこで、第1発明では、前記床反力成分誤差変化量ΔFMが0に収束したか否かを前記収束判断処理で判断し、少なくとも収束したと判断されるまで、前記修正後運動決定処理を繰り返す。このとき、ΔFMが0に収束した場合には、その時に決定された第n修正後運動に対応する第n床反力成分誤差は、第n−1床反力成分誤差もしくはこれに応じた前記床反力補正量とほぼ同等のものとなるので、第n修正後運動を決定するに際して加味した第n−1床反力成分誤差もしくはこれに応じた前記床反力補正量は適切な(信頼性の高い)床反力成分誤差であると言える。そして、この時の第n修正後運動が前記目標運動として決定される。
これにより前記第2動力学モデル上で前記床反力成分の許容範囲を満足し得るような動力学的精度の高い目標歩容を第1動力学モデル上で生成できることとなる。
さらに前記修正後運動は、第1動力学モデル(これは第2動力学モデルよりも一般に線形性が高い)上で作成され、また、第2動力学モデルは、単に第n−1修正後運動から床反力を求めるために使用されるので、第n修正後運動の生成処理と、第n−1修正後運動に対する床反力の算出処理を効率よく短時間で行うことができる。また、前記仮運動(第0修正後運動)は、さほど動力学的精度が要求されないので、前記第1動力学モデルなど、線形性の高い動力学モデルを使用して容易に短時間で作成できる。
よって、第1発明によれば、床反力の所定の成分の許容範囲を満足し得る歩容を効率よく生成できると共に、その歩容の運動と床反力との間の動力学的精度を良好に確保することができる。また、目標運動の作成は、第2動力学モデルよりも一般に線形性の高い第1動力学モデルを使用して行なうので、歩容の発散を生じにくく、床反力成分誤差もしくはこれに応じた床反力補正量を加味した前記床反力成分が適切に前記許容範囲を満足し得るような目標運動を効率よく生成できる。
また、本発明の移動ロボットの歩容生成装置の第2発明は、前記の目的を達成するために、移動ロボットの運動によって発生する床反力の所定の床反力成分の許容範囲を設定し、その許容範囲を満足するように、移動ロボットの目標運動を少なくとも含む目標歩容を生成する歩容生成装置において、
前記目標運動の仮値である仮運動を作成する仮目標運動作成手段と、
前記移動ロボットの所定の第1の動力学モデルと該第1動力学モデルよりも動力学的精度が高い所定の第2動力学モデルとを用い、前記移動ロボットの任意の運動に対して、該運動によって前記第2動力学モデル上で発生する前記床反力成分と該運動によって前記第1動力学モデル上で発生する前記床反力成分との差である床反力成分誤差を求める床反力成分誤差算出手段と、
前記仮運動を少なくとも1回以上修正して前記目標運動を決定する目標運動決定手段とを備え、
前記目標運動決定手段が前記仮運動の第n回目(n:n≧1である整数)の修正によって求める修正後運動を第n修正後運動とし、該第n修正後運動から前記床反力成分誤差算出手段により求められる床反力成分誤差を第n床反力成分誤差とし、前記仮運動を第0修正後運動とし、前記仮運動から前記床反力成分誤差算出手段により求められる床反力成分誤差を第0床反力成分誤差としたとき、
前記目標運動決定手段は、前記第1動力学モデルを用いて該移動ロボットの運動を作成するようにあらかじめ構成された所定のアルゴリズムを実行することにより、第n修正後運動によって前記第1動力学モデル上で発生する前記床反力成分に、第n−1床反力成分誤差と少なくとも該第n−1床反力成分誤差に応じて決定した床反力補正量とのいずれかを加えたものが前記許容範囲を満たすように第n修正後運動を決定する修正後運動決定処理と、前記決定した第n修正後運動に対応する第n床反力成分誤差と第n−1修正後運動に対応する第n−1床反力成分誤差との差、および、前記第n床反力成分誤差と少なくとも前記第n−1床反力成分誤差に応じて決定した前記床反力補正量との差のいずれか一方として定義される床反力成分誤差変化量ΔFMが0に収束したか否かを判断する収束判断処理とを少なくとも該床反力成分誤差変化量ΔFMが0に収束したと判断されるまで繰り返し、この繰り返し処理における最後の修正後運動決定処理で決定した修正後運動を前記目標運動として決定することを特徴とするものである。
この第2発明は、第1発明における前記評価手段を省略し、前記修正後運動決定処理と収束判断処理とが少なくも1回以上、実行されるようにしたものである。なお、この第2発明では、前記仮運動は、例えば、前記第1発明と同様に、第1動力学モデルを用いて、前記床反力成分が前記許容範囲を満たすように作成してもよいが、必ずしもこのように作成する必要はない。
この第2発明では、前記修正後運動決定処理および収束判断処理による作用効果は、第1発明と同じである。従って、前記第2動力学モデル上で前記床反力成分の許容範囲を満足し得るような動力学的精度の高い目標歩容を第1動力学モデル上で生成できる。
さらに第1発明と同様に、前記修正後運動は、第1動力学モデル上で作成され、また、第2動力学モデルは、単に第n−1修正後運動から床反力を求めるために使用されるので、第n修正後運動の生成処理と、第n−1修正後運動に対する床反力の算出処理を効率よく短時間で行うことができる。また、前記仮運動(第0修正後運動)は、さほど動力学的精度が要求されないので、前記第1動力学モデルなど、線形性の高い動力学モデルを使用して容易に短時間で作成できる。
よって、第2発明によれば、第1発明と同様に、床反力の所定の成分の許容範囲を満足し得る歩容を効率よく生成できると共に、その歩容の運動と床反力との間の動力学的精度を良好に確保することができる。また、目標運動の作成は、第2動力学モデルよりも一般に線形性の高い第1動力学モデルを使用して行なうので、歩容の発散を生じにくく、床反力成分誤差もしくはこれに応じた床反力補正量を加味した前記床反力成分が適切に前記許容範囲を満足し得るような目標運動を効率よく生成できる。
次に、本発明の移動ロボットの歩容生成装置の第3発明は、移動ロボットの運動によって発生する床反力の所定の第1床反力成分の目標値と該第1床反力成分と異なる所定の第2床反力成分の許容範囲とを設定し、該第1床反力成分の目標値と第2床反力成分の許容範囲とを満足するように、移動ロボットの目標運動を少なくとも含む目標歩容を生成する歩容生成装置において、
前記移動ロボットの所定の第1動力学モデルを用いて該移動ロボットの運動を作成するようにあらかじめ構成された所定のアルゴリズムを実行することにより、前記第1床反力成分が前記目標値に一致し、且つ、前記第2床反力成分が前記許容範囲を満たすように、前記目標運動の仮値である仮運動を作成する仮目標運動作成手段と、
前記第1動力学モデルと該第1動力学モデルよりも動力学的精度が高い所定の第2動力学モデルとを用い、前記移動ロボットの任意の運動に対して、該運動によって前記第2動力学モデル上で発生する前記第1床反力成分と該運動によって前記第1動力学モデル上で発生する前記第1床反力成分との差である床反力成分誤差Aerrを求めると共に、該運動によって前記第2動力学モデル上で発生する前記第2床反力成分と該運動によって前記第1動力学モデル上で発生する前記第2床反力成分との差である床反力成分誤差Berrを求める床反力成分誤差算出手段と、
前記作成された仮運動から前記床反力成分誤差算出手段によって求められる床反力成分誤差Aerr,Berrのうちの床反力成分誤差Aerrが所定の第1許容誤差範囲に収まっているか否かを評価すると共に、床反力成分誤差Berrが所定の第2許容誤差範囲に収まっているか否かを評価する評価手段と、
前記評価手段の評価において前記仮運動に対応する床反力成分誤差Aerr,Berrの両者がそれぞれに対応する前記第1許容誤差範囲および第2許容誤差範囲に収まっている場合には、前記仮運動を前記目標運動として決定すると共に、前記仮運動に対応する床反力成分誤差Aerr,Berrの少なくともいずれか一方がそれに対応する前記第1許容誤差範囲または第2許容誤差範囲から逸脱している場合には、前記仮運動を少なくとも1回以上修正して前記目標運動を決定する目標運動決定手段とを備え、
前記仮運動に対応する床反力成分誤差Aerr,Berrの少なくともいずれか一方がそれに対応する前記第1許容誤差範囲または第2許容誤差範囲から逸脱している場合において、前記目標運動決定手段が前記仮運動の第n回目(n:n≧1である整数)の修正によって求める修正後運動を第n修正後運動とし、該第n修正後運動から前記床反力成分誤差算出手段により求められる床反力成分誤差Aerr,Berrをそれぞれ第n床反力成分誤差Aerr(n),Berr(n)とし、前記仮運動を第0修正後運動とし、前記仮運動に対応する床反力成分誤差Aerr,Berrをそれぞれ第0床反力成分誤差Aerr(0),Berr(0)としたとき、
前記目標運動決定手段は、第n修正後運動によって前記第1動力学モデル上で発生する前記第1床反力成分に、第n−1床反力成分誤差Aerr(n-1)と少なくとも該第n−1床反力成分誤差Aerr(n-1)に応じて決定した第1床反力補正量とのいずれかを加えたものが前記目標値に一致し、且つ、該第n修正後運動によって前記第1動力学モデル上で発生する前記第2床反力成分に、第n−1床反力成分誤差Berr(n-1)と少なくとも該第n−1床反力成分誤差Berr(n-1)に応じて決定した第2床反力補正量とのいずれかを加えたものが前記許容範囲を満たすように前記所定のアルゴリズムを実行することにより、第n修正後運動を決定する修正後運動決定処理と、前記決定した第n修正後運動に対応する第n床反力成分誤差Aerr(n)と第n−1修正後運動に対応する第n−1床反力成分誤差Aerr(n-1)との差、および、前記第n床反力成分誤差Aerr(n)と少なくとも前記第n−1床反力成分誤差Aerr(n-1)に応じて決定した前記第1床反力補正量との差のいずれか一方として定義される床反力成分誤差変化量ΔAerrと、前記決定した第n修正後運動に対応する第n床反力成分誤差Berr(n)と第n−1修正後運動に対応する第n−1床反力成分誤差Berr(n-1)との差、および、前記第n床反力成分誤差Berr(n)と少なくとも前記第n−1床反力成分誤差Berr(n-1)に応じて決定した前記第2床反力補正量との差のいずれか一方として定義される床反力成分誤差変化量ΔBerrとがそれぞれ0に収束したか否かを判断する収束判断処理とを少なくとも該床反力成分誤差変化量ΔAerr,ΔBerrの両者が0に収束したと判断されるまで繰り返し、この繰り返し処理における最後の前記修正後運動決定処理で決定した修正後運動を前記目標運動として決定することを特徴とするものである。
なお、第3発明において、ロボットの任意の運動に対して、任意の動力学モデル上で、ある所定の床反力成分の目標値を満足するということは、該運動によって、該動力学モデル上で発生する該所定の床反力成分(該運動に対して該動力学モデルの動力学が成立する床反力成分)が目標値に一致もしくはほぼ一致することを意味する。このことは、第3発明に限らず後述の第4発明、第6発明、第9発明、第13発明、第14発明においても同様である。
前記第3発明は、移動ロボットに作用する床反力のうちの第2床反力成分(これは第1発明における所定の床反力成分に相当する)の許容範囲に加えて、第1床反力成分の目標値をも満足するように目標運動を含む目標歩容を生成するものである。
この第3発明では、前記仮目標運動作成手段によって、とりあえず、目標運動の仮値である仮運動が生成される。この仮運動は、前記第1動力学モデルを用いて移動ロボットの運動を作成するようにあらかじめ構成された所定のアルゴリズムを実行することにより、前記第1床反力成分が前記目標値に一致し、且つ、前記第2床反力成分が前記許容範囲を満たすように作成される。
そして、前記仮運動から前記床反力成分誤差算出手段によって求められる床反力成分誤差AerrおよびBerrがそれぞれ第1許容誤差範囲、第2許容誤差範囲に収まっているか否かが評価手段によって評価される。この場合、該仮運動に対応する床反力成分誤差Aerrは、該仮運動によって前記第2動力学モデル上で発生する前記第1床反力成分と該仮運動によって前記第1動力学モデル上で発生する前記第1床反力成分との差であるから、仮運動に対する第1動力学モデル上での前記第1床反力成分の誤差を意味する。同様に、該仮運動に対応する床反力成分誤差Berrは、該仮運動によって前記第2動力学モデル上で発生する前記第2反力成分と該仮運動によって前記第1動力学モデル上で発生する前記第2床反力成分との差であるから、仮運動に対する第1動力学モデル上での前記第2床反力成分の誤差を意味する。なお、第1許容誤差範囲および第2許容誤差範囲は、同じ範囲であってもよい。
そして、前記評価手段の評価において、該仮運動に対応する床反力成分誤差Aerr,Berrの両者がそれぞれに対応する第1許容誤差範囲、第2許容誤差範囲に収まっている場合には、該仮運動によって第1動力学モデル上で発生する前記第1床反力成分および第2床反力成分の誤差が両者とも十分に小さいので、該仮運動が前記目標運動として決定される。また、該仮運動に対応する床反力成分誤差Aerr,Berrのいずれかがそれに対応する第1許容誤差範囲または第2許容誤差範囲から逸脱している場合には、この仮運動は、目標運動決定手段によって少なくとも1回以上修正され、その修正により目標運動が得られる。この仮運動の修正を行なう場合において、前記目標運動決定手段は、前記修正後運動決定処理と前記収束判断処理とを少なくとも前記床反力成分誤差変化量ΔAerr,ΔBerrの両者が0に収束したと判断されるまで繰り返し、この繰り返し処理における最後の修正後運動決定処理で決定した修正後運動を前記目標運動として決定する。
この場合、前記修正後運動決定処理では、第n回目の修正後の第n修正後運動によって前記第1動力学モデル上で発生する前記第1床反力成分に、第n−1修正後運動(第0修正後運動は、前記仮運動である)に対応して算出される第n−1床反力成分誤差Aerr(n-1)と少なくとも該第n−1床反力成分誤差Aerr(n-1)に応じて決定した第1床反力補正量とのいずれかを加えたものが前記目標値に一致し、且つ、第n修正後運動によって前記第1動力学モデル上で発生する前記第2床反力成分に、第n−1修正後運動に対応して算出される第n−1床反力成分誤差Berr(n-1)と少なくとも該第n−1床反力成分誤差Berr(n-1)に応じて決定した前記第2床反力補正量とのいずれかを加えたものが前記許容範囲を満たすように前記所定のアルゴリズムを実行することにより、第n修正後運動を決定する。ただし、第n修正後運動は、第n−1修正後運動とは一般には同一にはならないので、第n修正後運動を決定するに際して加味した、第n−1床反力成分誤差Aerr(n-1)およびBerr(n-1)、もしくは、これらに応じた第1床反力補正量および第2床反力補正量は必ずしも適切なものとは言えない。そこで、第3発明では、第1発明と同様の考え方によって、前記床反力成分誤差変化量ΔAerrと前記床反力成分誤差変化量ΔBerrとがそれぞれ0に収束したか否かを前記収束判断処理で判断し、少なくともΔAerrおよびΔBerrの両者が収束したと判断されるまで、前記修正後運動決定処理を繰り返す。このとき、ΔAerrおよびΔBerrの両者が0に収束した場合には、その時に決定された第n修正後運動に対応する第n床反力成分誤差Aerr(n),Berr(n)は、それぞれ第n−1床反力成分誤差Aerr(n-1),Berr(n-1)、あるいは、これらに応じた前記第1床反力補正量、第2床反力補正量とほぼ同等のものとなるので、第n修正後運動を決定するに際して加味した、第n−1床反力成分誤差Aerr(n-1)もしくはこれに応じた前記第1床反力補正量と、第n−1床反力成分誤差Berr(n-1)もしくはこれに応じた前記第2床反力補正量との両者は適切な(信頼性の高い)床反力成分誤差であると言える。そして、この時の第n修正後運動が前記目標運動として決定される。
これにより前記第2動力学モデル上で前記第1床反力成分の目標値を満足し、且つ第2床反力成分の許容範囲を満足し得るような動力学的精度の高い目標歩容を第1動力学モデル上で生成できることとなる。
さらに前記修正後運動は、第1動力学モデル(これは第2動力学モデルよりも一般に線形性が高い)上で作成され、また、第2動力学モデルは、単に第n−1修正後運動から床反力を求めるために使用されるので、第n修正後運動の生成処理と、第n−1修正後運動に対する床反力の算出処理を効率よく短時間で行うことができる。また、前記仮運動(第0修正後運動)は、さほど動力学的精度が要求されないので、前記第1動力学モデルなど、線形性の高い動力学モデルを使用して容易に短時間で作成できる。
よって、第3発明によれば、第1床反力成分の目標値と、第2床反力成分の許容範囲を満足し得る歩容を効率よく生成できると共に、その歩容の運動と床反力との間の動力学的精度を良好に確保することができる。また、目標運動の作成は、第2動力学モデルよりも一般に線形性の高い第1動力学モデルを使用して行なうので、歩容の発散を生じにくく、床反力成分誤差Aerrもしくはこれに応じた第1床反力補正量を加味した前記第1床反力成分が適切に前記目標値を満足し、且つ、床反力成分誤差Berrもしくはこれに応じた第2床反力補正量を加味した前記第2床反力成分が適切に前記許容範囲を満足し得るような目標運動を効率よく生成できる。
また、本発明の移動ロボットの歩容生成装置の第4発明は、前記の目的を達成するために、移動ロボットの運動によって発生する床反力の所定の第1床反力成分の目標値と該第1床反力成分と異なる所定の第2床反力成分の許容範囲とを設定し、該第1床反力成分の目標値と第2床反力成分の許容範囲とを満足するように、移動ロボットの目標運動を少なくとも含む目標歩容を生成する歩容生成装置において、
前記目標運動の仮値である仮運動を作成する仮目標運動作成手段と、
前記移動ロボットの所定の第1動力学モデルと該第1動力学モデルよりも動力学的精度が高い所定の第2動力学モデルとを用い、前記移動ロボットの任意の運動に対して、該運動によって前記第2動力学モデル上で発生する前記第1床反力成分と該運動によって前記第1動力学モデル上で発生する前記第1床反力成分との差である床反力成分誤差Aerrを求めると共に、該運動によって前記第2動力学モデル上で発生する前記第2床反力成分と該運動によって前記第1動力学モデル上で発生する前記第2床反力成分との差である床反力成分誤差Berrを求める床反力成分誤差算出手段と、
前記仮運動を少なくとも1回以上修正して前記目標運動を決定する目標運動決定手段とを備え、
前記目標運動決定手段が前記仮運動の第n回目(n:n≧1である整数)の修正によって求める修正後運動を第n修正後運動とし、該第n修正後運動から前記床反力成分誤差算出手段により求められる床反力成分誤差Aerr,Berrをそれぞれ第n床反力成分誤差Aerr(n),Berr(n)とし、前記仮運動を第0修正後運動とし、前記仮運動から前記床反力成分誤差算出手段により求められる床反力成分誤差Aerr,Berrをそれぞれ第0床反力成分誤差Aerr(0),Berr(0)としたとき、
前記目標運動決定手段は、前記第1動力学モデルを用いて該移動ロボットの運動を作成するようにあらかじめ構成された所定のアルゴリズムを実行することにより、第n修正後運動によって前記第1動力学モデル上で発生する前記第1床反力成分に、第n−1床反力成分誤差Aerr(n-1)と少なくとも該第n−1床反力成分誤差Aerr(n-1)に応じて決定した第1床反力補正量とのいずれかを加えたものが前記目標値に一致し、且つ、該第n修正後運動によって前記第1動力学モデル上で発生する前記第2床反力成分に、第n−1床反力成分誤差Berr(n-1)と少なくとも該第n−1床反力成分誤差Berr(n-1)に応じて決定した第2床反力補正量とのいずれかを加えたものが前記許容範囲を満たすように第n修正後運動を決定する修正後運動決定処理と、前記決定した第n修正後運動に対応する第n床反力成分誤差Aerr(n)と第n−1修正後運動に対応する第n−1床反力成分誤差Aerr(n-1)との差、および、前記第n床反力成分誤差Aerr(n)と少なくとも前記第n−1床反力成分誤差Aerr(n-1)に応じて決定した前記第1床反力補正量との差のいずれか一方として定義される床反力成分誤差変化量ΔAerrと、前記決定した第n修正後運動に対応する第n床反力成分誤差Berr(n)と第n−1修正後運動に対応する第n−1床反力成分誤差Berr(n-1)との差、および、前記第n床反力成分誤差Berr(n)と少なくとも前記第n−1床反力成分誤差Berr(n-1)に応じて決定した前記第2床反力補正量との差のいずれか一方として定義される床反力成分誤差変化量ΔBerrとがそれぞれ0に収束したか否かを判断する収束判断処理とを少なくとも該床反力成分誤差変化量ΔAerr,ΔBerrの両者が0に収束したと判断されるまで繰り返し、この繰り返し処理における最後の前記修正後運動決定処理で決定した修正後運動を前記目標運動として決定することを特徴とするものである。
この第4発明は、第3発明における前記評価手段を省略し、前記修正後運動決定処理と収束判断処理とが少なくも1回以上、実行されるようにしたものである。なお、この第4発明では、前記仮運動は、例えば、前記第3発明と同様に、第1動力学モデルを用いて、前記第1床反力成分が前記目標値に一致し、且つ、前記第2床反力成分が前記許容範囲を満たすように作成してもよいが、必ずしもこのように作成する必要はない。
この第4発明では、前記修正後運動決定処理および収束判断処理による作用効果は、第3発明と同じである。従って、前記第2動力学モデル上で前記第1床反力成分の目標値を満足し、且つ前記第2床反力成分の許容範囲を満足し得るような動力学的精度の高い目標歩容を第1動力学モデル上で生成できる。
さらに第3発明と同様に、前記修正後運動は、第1動力学モデル上で作成され、また、第2動力学モデルは、単に第n−1修正後運動から床反力を求めるために使用されるので、第n修正後運動の生成処理と、第n−1修正後運動に対する床反力の算出処理を効率よく短時間で行うことができる。また、前記仮運動(第0修正後運動)は、さほど動力学的精度が要求されないので、前記第1動力学モデルなど、線形性の高い動力学モデルを使用して容易に短時間で作成できる。
よって、第4発明によれば、第3発明と同様に、第1床反力成分の目標値と、第2床反力成分の許容範囲を満足し得る歩容を効率よく生成できると共に、その歩容の運動と床反力との間の動力学的精度を良好に確保することができる。また、目標運動の作成は、第2動力学モデルよりも一般に線形性の高い第1動力学モデルを使用して行なうので、歩容の発散を生じにくく、床反力成分誤差Aerrを加味した前記第1床反力成分が適切に前記目標値を満足し、且つ、床反力成分誤差Berrを加味した前記第2床反力成分が適切に前記許容範囲を満足し得るような目標運動を効率よく生成できる。
なお、前記第1発明または第2発明では、前記床反力成分は、前記移動ロボットに作用する床反力の並進床反力水平成分であることが好ましい(第5発明)。これによれば、並進床反力水平成分が適切に許容範囲を満足する(許容範囲に収まる)目標歩容を生成できるので、ロボットのスリップを生じ難い目標歩容を適切に生成できる。
さらに、前記第3発明または第4発明では、前記第1床反力成分は、前記移動ロボットに作用する床反力の、所定の作用点(例えば目標ZMP)まわりの床反力モーメント水平成分であり、前記第2床反力成分は、前記移動ロボットに作用する床反力の並進床反力水平成分であることが好ましい(第6発明)。
これによれば、所定の作用点まわりの床反力モーメント水平成分がその目標値を満足し、且つ、並進床反力水平成分がその許容範囲を満足する(許容範囲に収まる)目標歩容を生成できるので、動力学的平衡条件を満たしつつ、ロボットのスリップを生じ難い目標歩容を適切に生成できる。
次に、本発明の移動ロボットの歩容生成装置の第7発明は、前記の目的を達成するために、移動ロボットの目標ZMPと該移動ロボットの運動によって発生する並進床反力水平成分の許容範囲とを設定し、該目標ZMPと並進床反力水平成分の許容範囲とを満足するように、移動ロボットの目標運動を少なくとも含む目標歩容を生成する歩容生成装置において、
前記移動ロボットの所定の第1動力学モデルを用いて該移動ロボットの運動を作成するようにあらかじめ構成された所定のアルゴリズムを実行することにより、前記目標ZMPを満足し、且つ、前記並進床反力水平成分が前記許容範囲を満たすように、前記目標運動の仮値である仮運動を作成する仮目標運動作成手段と、
前記第1動力学モデルと該第1動力学モデルよりも動力学的精度が高い所定の第2動力学モデルとを用い、前記移動ロボットの任意の運動に対して、該運動によって前記第2動力学モデル上で算出されるZMPと該運動によって前記第1動力学モデル上で算出されるZMPとの差であるZMP誤差ZMPerrを求めると共に、該運動によって前記第2動力学モデル上で発生する前記並進床反力水平成分と該運動によって前記第1動力学モデル上で発生する前記並進床反力水平成分との差である並進床反力水平成分誤差Ferrを求める誤差算出手段と、
前記作成された仮運動から前記誤差算出手段によって求められるZMP誤差ZMPerrおよび並進床反力水平成分誤差FerrのうちのZMP誤差ZMPerrが所定の第1許容誤差範囲に収まっているか否かを評価すると共に、並進床反力水平成分誤差Ferrが所定の第2許容誤差範囲に収まっているか否かを評価する評価手段と、
前記評価手段の評価において前記仮運動に対応するZMP誤差ZMPerrおよび並進床反力水平成分誤差Ferrの両者がそれぞれに対応する前記第1許容誤差範囲および第2許容誤差範囲に収まっている場合には、前記仮運動を前記目標運動として決定すると共に、前記仮運動に対応するZMP誤差ZMPerrおよび並進床反力水平成分誤差Ferrの少なくともいずれか一方がそれに対応する前記第1許容誤差範囲または第2許容誤差範囲から逸脱している場合には、前記仮運動を少なくとも1回以上修正して前記目標運動を決定する目標運動決定手段とを備え、
前記仮運動に対応するZMP誤差ZMPerrおよび並進床反力水平成分誤差Ferrの少なくともいずれか一方がそれに対応する前記第1許容誤差範囲または第2許容誤差範囲から逸脱している場合において、前記目標運動決定手段が前記仮運動の第n回目(n:n≧1である整数)の修正によって求める修正後運動を第n修正後運動とし、該第n修正後運動から前記床反力成分誤差算出手段により求められるZMP誤差ZMPerrおよび並進床反力水平成分誤差Ferrをそれぞれ第nZMP誤差ZMPerr(n)および第n並進床反力水平成分誤差Ferr(n)とし、前記仮運動を第0修正後運動とし、前記仮運動に対応するZMP誤差ZMPerrおよび並進床反力水平成分誤差Ferrをそれぞれ第0ZMP誤差ZMPerr(0)および第0並進床反力水平成分誤差Ferr(0)としたとき、
前記目標運動決定手段は、第n修正後運動によって前記第1動力学モデル上で算出されるZMPに、第n−1ZMP誤差ZMPerr(n-1)と少なくとも該第n−1ZMP誤差ZMPerr(n-1)に応じて決定したZMP補正量とのいずれかを加えたものが前記目標ZMPに一致し、且つ、該第n修正後運動によって前記第1動力学モデル上で発生する前記並進床反力水平成分に、第n−1並進床反力水平成分誤差Ferr(n-1)と少なくとも該第n−1並進床反力水平成分誤差Ferr(n-1)に応じて決定した床反力補正量とのいずれかを加えたものが前記許容範囲を満たすように前記所定のアルゴリズムを実行することにより、第n修正後運動を決定する修正後運動決定処理と、前記決定した第n修正後運動に対応する第nZMP誤差ZMPerr(n)と第n−1修正後運動に対応する第n−1ZMP誤差ZMPerr(n-1)との差、および、前記第nZMP誤差ZMPerr(n)と少なくとも前記第n−1ZMP誤差ZMPerr(n-1)に応じて決定した前記ZMP補正量との差のいずれか一方として定義されるZMP誤差変化量ΔZMPerrと、前記決定した第n修正後運動に対応する第n並進床反力水平成分誤差Ferr(n)と第n−1修正後運動に対応する第n−1並進床反力水平成分誤差Ferr(n-1)との差、および、第n並進床反力水平成分誤差Ferr(n)と少なくとも前記第n−1並進床反力水平成分誤差Ferr(n-1)に応じて決定した前記床反力補正量との差のいずれか一方として定義される並進床反力水平成分誤差変化量ΔFerrとがそれぞれ0に収束したか否かを判断する収束判断処理とを少なくとも該ZMP誤差変化量ΔZMPerrおよび並進床反力水平成分誤差変化量ΔFerrの両者が0に収束したと判断されるまで繰り返し、この繰り返し処理における最後の前記修正後運動決定処理で決定した修正後運動を前記目標運動として決定することを特徴とするものである。
なお、この第7発明において、ロボットの任意の運動に対して、任意の動力学モデル上で目標ZMPを満足するということは、該運動によって該動力学モデル上で発生するロボットの慣性力と該ロボットに作用する重力との合力が目標ZMPまわりに発生するモーメントの水平成分(あるいは、そのモーメントに釣り合う床反力モーメント水平成分)が0もしくはほぼ0になることを意味する。このことは、後述の第8発明、第10発明、第15発明、第16発明においても同様である。
かかる第7発明では、前記仮目標運動作成手段によって、とりあえず、目標運動の仮値である仮運動が生成される。この仮運動は、前記第1動力学モデルを用いて移動ロボットの運動を作成するようにあらかじめ構成された所定のアルゴリズムを実行することにより、前記目標ZMPを満足し、且つ、前記並進床反力水平成分が前記許容範囲を満たすように作成される。
そして、前記仮運動から前記誤差算出手段によって求められるZMP誤差ZMPerrおよび並進床反力水平成分誤差Ferrがそれぞれ第1許容誤差範囲、第2許容誤差範囲に収まっているか否かが評価手段によって評価される。この場合、該仮運動に対応するZMP誤差ZMPerrは、該仮運動によって前記第2動力学モデル上で算出されるZMPと該仮運動によって前記第1動力学モデル上で算出されるZMPとの差であるから、仮運動に対する第1動力学モデル上でのZMPの誤差を意味する。同様に、該仮運動に対応する並進床反力水平成分誤差Berrは、該仮運動によって前記第2動力学モデル上で発生する並進床反力水平成分と該仮運動によって前記第1動力学モデル上で発生する並進床反力水平成分との差であるから、仮運動に対する第1動力学モデル上での並進床反力水平成分の誤差を意味する。
そして、前記評価手段の評価において、該仮運動に対応するZMP誤差ZMPerrおよび並進床反力水平成分誤差Ferrの両者がそれぞれに対応する第1許容誤差範囲、第2許容誤差範囲に収まっている場合には、該仮運動によって第1動力学モデル上で算出されるZMPが誤差が十分に小さく、且つ該仮運動によって第1動力学モデル上で発生する並進床反力水平成分の誤差が両者とも十分に小さいので、該仮運動が前記目標運動として決定される。また、該仮運動に対応するZMP誤差ZMPerrおよび並進床反力水平成分誤差Ferrのいずれかがそれに対応する第1許容誤差範囲または第2許容誤差範囲から逸脱している場合には、この仮運動は、目標運動決定手段によって少なくとも1回以上修正され、その修正により目標運動が得られる。この仮運動の修正を行なう場合において、前記目標運動決定手段は、前記修正後運動決定処理と前記収束判断処理とを少なくとも前記ZMP誤差変化量ΔZMPerrおよび並進床反力水平成分誤差変化量ΔFerrの両者が0に収束したと判断されるまで繰り返し、この繰り返し処理における最後の修正後運動決定処理で決定した修正後運動を前記目標運動として決定する。
この場合、前記修正後運動決定処理では、第n回目の修正後の第n修正後運動によって前記第1動力学モデル上で算出されるZMPに、第n−1修正後運動(第0修正後運動は、前記仮運動である)に対応して算出される第n−1ZMP誤差ZMPerr(n-1)と少なくとも該第n−1ZMP誤差ZMPerr(n-1)に応じて決定したZMP補正量とのいずれかを加えたものが前記目標ZMPに一致し、且つ、第n修正後運動によって前記第1動力学モデル上で発生する並進床反力水平成分に、第n−1修正後運動に対応して算出される第n−1並進床反力水平成分誤差Ferr(n-1)と少なくとも該第n−1並進床反力水平成分誤差Ferr(n-1)に応じて決定した床反力補正量とのいずれかを加えたものが前記許容範囲を満たすように前記所定のアルゴリズムを実行することにより、第n修正後運動を決定する。ただし、第n修正後運動は、第n−1修正後運動とは一般には同一にはならないので、第n修正後運動を決定するに際して加味した、第n−1ZMP誤差ZMPerr(n-1)および第n−1並進床反力水平成分誤差Ferr(n-1)、もしくは、これらの応じたZMP補正量および床反力補正量は必ずしも適切なものとは言えない。そこで、第7発明では、第1発明と同様の考え方によって、前記ZMP誤差変化量ΔZMPerrと前記並進床反力水平成分誤差変化量ΔFerrとがそれぞれ0に収束したか否かを前記収束判断処理で判断し、少なくともΔZMPerrおよびΔFerrの両者が収束したと判断されるまで、前記修正後運動決定処理を繰り返す。このとき、ΔZMPerrおよびΔFerrの両者が0に収束した場合には、その時に決定された第n修正後運動に対応する第nZMP誤差ZMPerr(n)および第n並進床反力水平成分誤差Ferr(n)は、それぞれ第n−1ZMP誤差ZMPerr(n-1)、第n−1並進床反力水平成分誤差Ferr(n-1)、あるいは、これらの応じたZMP補正量、床反力補正量とほぼ同等のものとなるので、第n修正後運動を決定するに際して加味した、第n−1ZMP誤差ZMPerr(n-1)もしくはこれに応じた前記ZMP補正量と、第n−1並進床反力水平成分誤差Ferr(n-1)もしくはこれに応じた前記床反力補正量との両者は適切な(信頼性の高い)床反力成分誤差であると言える。そして、この時の第n修正後運動が前記目標運動として決定される。
これにより前記第2動力学モデル上で目標ZMPを満足し、且つ並進床反力水平成分の許容範囲を満足し得るような動力学的精度の高い目標歩容を第1動力学モデル上で生成できることとなる。
さらに前記修正後運動は、第1動力学モデル(これは第2動力学モデルよりも一般に線形性が高い)上で作成され、また、第2動力学モデルは、単に第n−1修正後運動からZMPや床反力を求めるために使用されるので、第n修正後運動の生成処理と、第n−1修正後運動に対するZMPや床反力の算出処理を効率よく短時間で行うことができる。また、前記仮運動(第0修正後運動)は、さほど動力学的精度が要求されないので、前記第1動力学モデルなど、線形性の高い動力学モデルを使用して容易に短時間で作成できる。
よって、第7発明によれば、目標ZMPと、並進床反力水平成分の許容範囲を満足し得る歩容を効率よく生成できると共に、その歩容の運動と床反力との間の動力学的精度を良好に確保することができる。また、目標運動の作成は、第2動力学モデルよりも一般に線形性の高い第1動力学モデルを使用して行なうので、歩容の発散を生じにくく、ZMP誤差ZMPerrもしくはこれに応じたZMP補正量を加味したZMPが適切に目標ZMPを満足し、且つ、並進床反力水平成分誤差Ferrもしくはこれに応じた床反力補正量を加味した並進床反力水平成分が適切に前記許容範囲を満足し得るような目標運動を効率よく生成できる。
また、本発明の移動ロボットの歩容生成装置の第8発明は、前記の目的を達成するために、移動ロボットの目標ZMPと該移動ロボットの運動によって発生する並進床反力水平成分の許容範囲とを設定し、該目標ZMPと並進床反力水平成分の許容範囲とを満足するように、移動ロボットの目標運動を少なくとも含む目標歩容を生成する歩容生成装置において、
前記目標運動の仮値である仮運動を作成する仮目標運動作成手段と、
前記移動ロボットの所定の第1動力学モデルと該第1動力学モデルよりも動力学的精度が高い所定の第2動力学モデルとを用い、前記移動ロボットの任意の運動に対して、該運動によって前記第2動力学モデル上で算出されるZMPと該運動によって前記第1動力学モデル上で算出されるZMPとの差であるZMP誤差ZMPerrを求めると共に、該運動によって前記第2動力学モデル上で発生する前記並進床反力水平成分と該運動によって前記第1動力学モデル上で発生する前記並進床反力水平成分との差である並進床反力水平成分誤差Ferrを求める誤差算出手段と、
前記仮運動を少なくとも1回以上修正して前記目標運動を決定する目標運動決定手段とを備え、
前記目標運動決定手段が前記仮運動の第n回目(n:n≧1である整数)の修正によって求める修正後運動を第n修正後運動とし、該第n修正後運動から前記床反力成分誤差算出手段により求められるZMP誤差ZMPerrおよび並進床反力水平成分誤差Ferrをそれぞれ第nZMP誤差ZMPerr(n)および第n並進床反力水平成分誤差Ferr(n)とし、前記仮運動を第0修正後運動とし、前記仮運動から前記床反力成分誤差算出手段により求められるZMP誤差ZMPerrおよび並進床反力水平成分誤差Ferrをそれぞれ第0ZMP誤差ZMPerr(0)および第0並進床反力水平成分誤差Ferr(0)としたとき、
前記目標運動決定手段は、前記第1動力学モデルを用いて該移動ロボットの運動を作成するようにあらかじめ構成された所定のアルゴリズムを実行することにより、第n修正後運動によって前記第1動力学モデル上で算出されるZMPに、第n−1ZMP誤差ZMPerr(n-1)と少なくとも該第n−1ZMP誤差ZMPerr(n-1)に応じて決定したZMP補正量とのいずれかを加えたものが前記目標ZMPに一致し、且つ、該第n修正後運動によって前記第1動力学モデル上で発生する前記並進床反力水平成分に、第n−1並進床反力水平成分誤差Ferr(n-1)と少なくとも該第n−1並進床反力水平成分誤差Ferr(n-1)に応じて決定した床反力補正量とのいずれかを加えたものが前記許容範囲を満たすように第n修正後運動を決定する修正後運動決定処理と、前記決定した第n修正後運動に対応する第nZMP誤差ZMPerr(n)と第n−1修正後運動に対応する第n−1ZMP誤差ZMPerr(n-1)との差、および、前記第nZMP誤差ZMPerr(n)と少なくとも前記第n−1ZMP誤差ZMPerr(n-1)に応じて決定した前記ZMP補正量との差のいずれか一方として定義されるZMP誤差変化量ΔZMPerrと、前記決定した第n修正後運動に対応する第n並進床反力水平成分誤差Ferr(n)と第n−1修正後運動に対応する第n−1並進床反力水平成分誤差Ferr(n-1)との差、および、第n並進床反力水平成分誤差Ferr(n)と少なくとも前記第n−1並進床反力水平成分誤差Ferr(n-1)に応じて決定した前記床反力補正量との差のいずれか一方として定義される並進床反力水平成分誤差変化量ΔFerrとがそれぞれ0に収束したか否かを判断する収束判断処理とを少なくとも該ZMP誤差変化量ΔZMPerrおよび並進床反力水平成分誤差変化量ΔFerrの両者が0に収束したと判断されるまで繰り返し、この繰り返し処理における最後の前記修正後運動決定処理で決定した修正後運動を前記目標運動として決定することを特徴とするものである。
この第8発明は、第7発明における前記評価手段を省略し、前記修正後運動決定処理と収束判断処理とが少なくとも1回以上、実行されるようにしたものである。なお、この第8発明では、前記仮運動は、例えば、第1動力学モデルを用いて、前記目標ZMPを満足し、且つ、前記並進床反力水平成分が前記許容範囲を満たすように作成してもよいが、必ずしもこのように作成する必要はない。
この第8発明では、前記修正後運動決定処理および収束判断処理による作用効果は、第7発明と同じである。従って、前記第2動力学モデル上で前記目標ZMPを満足し、且つ並進床反力水平成分の許容範囲を満足し得るような動力学的精度の高い目標歩容を第1動力学モデル上で生成できる。
さらに第7発明と同様に、前記修正後運動は、第1動力学モデル(これは第2動力学モデルよりも一般に線形性が高い)上で作成され、また、第2動力学モデルは、単に第n−1修正後運動からZMPや床反力を求めるために使用されるので、第n修正後運動の生成処理と、第n−1修正後運動に対するZMPや床反力の算出処理を効率よく短時間で行うことができる。また、前記仮運動(第0修正後運動)は、さほど動力学的精度が要求されないので、前記第1動力学モデルなど、線形性の高い動力学モデルを使用して容易に短時間で作成できる。
よって、第8発明によれば、第7発明と同様に、目標ZMPと、並進床反力水平成分の許容範囲を満足し得る歩容を効率よく生成できると共に、その歩容の運動と床反力との間の動力学的精度を良好に確保することができる。また、目標運動の作成は、第2動力学モデルよりも一般に線形性の高い第1動力学モデルを使用して行なうので、歩容の発散を生じにくく、ZMP誤差ZMPerrもしくはこれに応じたZMP補正量を加味したZMPが適切に目標ZMPを満足し、且つ、並進床反力水平成分誤差Ferrもしくはこれに応じた床反力補正量を加味した並進床反力水平成分が適切に前記許容範囲を満足し得るような目標運動を効率よく生成できる。
ところで、前記第3発明(あるいはこれを構成要件とする第6発明)において、前記仮運動によって第1動力学モデル上で発生する第1床反力成分は、該目標値に一致もしくはほぼ一致する。また、前記第n修正後運動は、それによって第1動力学モデル上で発生する第1床反力水平成分に、第n−1床反力成分誤差Aerr(n-1)とこれに所定の第1係数を乗じたものとのいずれかを加えたものが前記目標値に一致するように決定される。従って、該第n修正後運動によって第1動力学モデル上で発生する第1床反力水平成分は、前記目標値から、第n−1床反力成分誤差Aerr(n-1)とこれに所定の第1係数を乗じたものとのいずれかを差し引いたものに一致もしくはほぼ一致する。このことは、前記第4発明(あるいはこれを構成要件とする第6発明)において、前記仮運動を、前記第1動力学モデル上で前記第1床反力成分の目標値を満足するように作成した場合には同様である。
そこで、前記第3発明(あるいは第6発明)では、前記床反力成分誤差算出手段は、前記仮運動に対しては、該仮運動によって前記第1動力学モデル上で発生する前記第1床反力成分として、前記目標値を用いることにより該仮運動に対応する前記床反力成分誤差Aerrを算出し、前記仮運動以外の第n修正後運動に対しては、該第n修正後運動によって前記第1動力学モデル上で発生する前記第1床反力成分として、前記目標値から前記第n−1床反力成分誤差Aerr(n-1)と少なくとも該第n−1床反力成分誤差Aerr(n-1)に応じて決定した前記第1床反力補正量とのいずれかを差し引いたものを用いることにより該第n修正後運動に対応する前記床反力成分誤差Aerrを算出するようにしてもよい(第9発明)。
同様に、前記第4発明(あるいは第6発明)では、前記仮運動作成手段が、少なくとも前記第1動力学モデル上で前記第1床反力成分の目標値を満足するように前記仮運動を作成する手段であるときには、前記床反力成分誤差算出手段は、前記仮運動に対しては、該仮運動によって前記第1動力学モデル上で発生する前記第1床反力成分として、前記目標値を用いることにより該仮運動に対応する前記床反力成分誤差Aerrを算出し、前記仮運動以外の第n修正後運動に対しては、該第n修正後運動によって前記第1動力学モデル上で発生する前記第1床反力成分として、前記目標値から前記第n−1床反力成分誤差Aerr(n-1)と少なくとも該第n−1床反力成分誤差Aerr(n-1)に応じて決定した前記第1床反力補正量とのいずれかを差し引いたものを用いることにより該第n修正後運動に対応する前記床反力成分誤差Aerrを算出するようにしてもよい(第10発明)。
この第9発明、あるいは第10発明によれば、第n修正後運動から第1動力学モデルによって直接的に第1床反力成分を算出せずに、これらの運動に対応する床反力成分誤差を容易に求めることができる。
この第9発明、第10発明と同様の考え方によって、前記第7発明では、前記床反力成分誤差算出手段は、前記仮運動に対しては、該仮運動によって前記第1動力学モデル上で算出されるZMPとして、前記目標ZMPを用いることにより該仮運動に対応する前記ZMP誤差ZMPerrを算出し、前記仮運動以外の第n修正後運動に対しては、該第n修正後運動によって前記第1動力学モデル上で算出されるZMPとして、前記目標ZMPから前記第n−1ZMP誤差ZMPerr(n-1)と少なくとも該第n−1ZMP誤差ZMPerr(n-1)に応じて決定した前記ZMP補正量とのいずれかを差し引いたものを用いることにより該第n修正後運動に対応するZMP誤差ZMPerrを算出するようにしてもよい(第11発明)。
同様に、第8発明では、前記仮運動作成手段が、少なくとも前記第1動力学モデル上で前記目標ZMPを満足するように前記仮運動を作成する手段である場合には、前記床反力成分誤差算出手段は、前記仮運動に対しては、該仮運動によって前記第1動力学モデル上で算出されるZMPとして、前記目標ZMPを用いることにより該仮運動に対応する前記ZMP誤差ZMPerrを算出し、前記仮運動以外の第n修正後運動に対しては、該第n修正後運動によって前記第1動力学モデル上で算出されるZMPとして、前記目標ZMPから前記第n−1ZMP誤差ZMPerr(n-1)と少なくとも該第n−1ZMP誤差ZMPerr(n-1)に応じて決定した前記ZMP補正量とのいずれかを差し引いたものを用いることにより該第n修正後運動に対応するZMP誤差ZMPerrを算出するようにしてもよい(第12発明)。
この第11発明、あるいは第12発明によれば、仮運動あるいは第n修正後運動から第1動力学モデルによって直接的にZMPを算出せずに、これらの運動に対応するZMP誤差を容易に求めることができる。
また、前述した第1〜第12発明では、前記誤差の信頼性を高める上では、ロボットの歩容のある期間分の誤差の瞬時値の時系列を使用し、その時系列の全体に対して前記評価手段の評価処理、あるいは、前記収束判断処理を行なうことが望ましい。
そこで、前記第1発明(あるいはこれを構成要件とする第5発明)では、前記目標運動、仮運動および修正後運動は、所定期間における前記移動ロボットの運動の瞬時値の時系列から構成されるものであり、前記床反力成分誤差算出手段により求められる前記第m床反力成分誤差(m:m≧0である整数)は、第m修正後運動によって該第m修正後運動の各時刻に前記第2動力学モデル上で発生する前記床反力成分の瞬時値と該第m修正後運動によって該時刻に前記第1動力学モデル上で発生する前記床反力成分の瞬時値との差の前記所定期間における時系列から構成され、前記評価手段の前記所定の許容誤差範囲は、前記第0床反力成分誤差を構成する時系列のパターンのうちの所定の第1特徴量に対する許容誤差範囲であり、前記目標運動決定手段の前記修正後運動決定処理は、前記第n修正後運動の各時刻tにおいて、該第n修正後運動によって時刻tに前記第1動力学モデル上で発生する前記床反力成分の瞬時値FM(t)に、前記第n−1床反力成分誤差の該時刻tでの値と少なくとも該値に応じて決定した床反力補正量の値とのいずれかを加えたものが該時刻tでの前記許容範囲を満たすように該時刻tにおける第n修正後運動の瞬時値を決定する処理であり、前記床反力成分誤差変化量ΔFMは、前記第n床反力成分誤差の各時刻での値と第n−1床反力成分誤差の該時刻での値との差、および、前記第n床反力成分誤差の各時刻での値と少なくとも第n−1床反力成分誤差の該時刻での値に応じて決定した前記床反力補正量の値との差のいずれか一方の前記所定期間における時系列から構成され、前記目標運動決定手段の前記収束判断処理は、前記床反力成分誤差変化量ΔFMを構成する時系列のパターンのうちの所定の第2特徴量が所定の許容変化量範囲に収まったときに該床反力成分誤差変化量ΔFMが0に収束したと判断する処理であることが好ましい(第13発明)。
なお、この第13発明において、前記第1特徴量、第2特徴量の種類としては、時系列の絶対値(時系列の各値の絶対値)のうちの最大値、あるいは、その絶対値の総和、あるいは、該時系列のパターンの実効値、あるいは、該時系列の最大値と最小値との差などが挙げられる。また、これらの第1特徴量、第2特徴量の種類は、同一である必要はないが、同一でもよい。
この第13発明によれば、前記評価手段は、前記第0床反力成分誤差(すなわち前記仮運動に対応する床反力成分誤差)を構成する時系列のパターンの第1特徴量が前記許容誤差範囲に収まっているか否かを評価するので、第0床反力成分誤差の時系列が全体的に十分に小さいか否かを評価できる。その結果、仮運動の瞬時値の時系列の全体が目標運動の時系列として適したものであるか否かを適切に評価できる。さらに、前記収束判断処理では、前記床反力成分誤差変化量ΔFMを構成する時系列のパターンのうちの所定の第2特徴量が所定の許容変化量範囲に収まったときに該床反力成分誤差変化量ΔFMが0に収束したと判断するので、第n−1修正後運動に対応する第n−1床反力成分誤差の時系列、あるいは該第n−1修正後運動に応じた前記床反力補正量の時系列と、第n修正後運動に対応する第n床反力成分誤差の時系列とが、全体的にほぼ同じパターンになったか否かを判断できる。その結果、前記決定した第n修正後運動の瞬時値の時系列が、信頼性の高い床反力成分誤差または信頼性の高い床反力補正量を加味して決定されたものであるか否かを適切に判断できる。ひいては、最終的に決定した目標運動を含む目標歩容の動力学的精度の信頼性を高めることができる。
上記第11発明と同様の考え方によって、前記第2発明(あるいはこれを構成要件とする第5発明)では、前記目標運動、仮運動および修正後運動は、所定期間における前記移動ロボットの運動の瞬時値の時系列から構成されるものであり、前記床反力成分誤差算出手段により求められる前記第m床反力成分誤差(m:m≧0である整数)は、第m修正後運動によって該第m修正後運動の各時刻に前記第2動力学モデル上で発生する前記床反力成分の瞬時値と該第m修正後運動によって該時刻に前記第1動力学モデル上で発生する前記床反力成分の瞬時値との差の前記所定期間における時系列から構成され、前記目標運動決定手段の前記修正後運動決定処理は、前記第n修正後運動の各時刻tにおいて、該第n修正後運動によって時刻tに前記第1動力学モデル上で発生する前記床反力成分の瞬時値FM(t)に、前記第n−1床反力成分誤差の該時刻tでの値と少なくとも該値に応じて決定した前記床反力補正量の値とのいずれかを加えたものが該時刻tでの前記許容範囲を満たすように該時刻tにおける第n修正後運動の瞬時値を決定する処理であり、前記床反力成分誤差変化量ΔFMは、前記第n床反力成分誤差の各時刻での値と第n−1床反力成分誤差の該時刻での値との差、および、前記第n床反力成分誤差の各時刻での値と少なくとも第n−1床反力成分誤差の該時刻での値に応じて決定した前記床反力補正量の値との差のいずれか一方の前記所定期間における時系列から構成され、前記目標運動決定手段の前記収束判断処理は、前記床反力成分誤差変化量ΔFMを構成する時系列のパターンのうちの所定の特徴量が所定の許容変化量範囲に収まったときに該床反力成分誤差変化量ΔFMが0に収束したと判断する処理であることが好ましい(第14発明)。
なお、この第14発明において、前記特徴量の種類としては、前記第13発明に関して例示したものが挙げられる。
この第14発明によれば、前記収束判断処理では、前記床反力成分誤差変化量ΔFMを構成する時系列のパターンのうちの所定の特徴量が所定の許容変化量範囲に収まったときに該床反力成分誤差変化量ΔFMが0に収束したと判断するので、前記第13発明の場合と同様に、前記決定した第n修正後運動の瞬時値の時系列が、信頼性の高い床反力成分誤差または信頼性の高い床反力補正量を加味して決定されたものであるか否かを適切に判断できる。ひいては、最終的に決定した目標運動を含む目標歩容の動力学的精度の信頼性を高めることができる。
また、第13発明と同様の考え方によって、前記第3発明(あるいはこれを構成要件とする第6発明もしくは第9発明)では、前記目標運動、仮運動および修正後運動は、所定期間における前記移動ロボットの運動の瞬時値の時系列から構成されるものであり、
前記床反力成分誤差算出手段により求められる前記第m床反力成分誤差Aerr,Berr(m:m≧0である整数)のうちの第m床反力成分誤差Aerrは、第m修正後運動によって該第m修正後運動の各時刻に前記第2動力学モデル上で発生する前記第1床反力成分の瞬時値と該第m修正後運動によって該時刻に前記第1動力学モデル上で発生する前記第1床反力成分の瞬時値との差の前記所定期間における時系列から構成されると共に、前記第m床反力成分誤差Berrは、第m修正後運動の各時刻に前記第2動力学モデル上で発生する前記第2床反力成分の瞬時値と該第m修正後運動によって該時刻に前記第1動力学モデル上で発生する前記第2床反力成分の瞬時値との差の前記所定期間における時系列から構成され、前記評価手段の前記所定の第1許容誤差範囲は、前記第0床反力成分誤差Aerr(0)を構成する時系列パターンのうちの所定の第1特徴量に対する許容誤差範囲であると共に前記所定の第2許容誤差範囲は、前記第0床反力成分誤差Berr(0)を構成する時系列のパターンのうちの所定の第2特徴量に対する許容誤差範囲であり、前記目標運動決定手段の前記修正後運動決定処理は、前記第n修正後運動の各時刻tにおいて、該第n修正後運動によって時刻tに前記第1動力学モデル上で発生する前記第1床反力成分の瞬時値に、前記第n−1床反力成分誤差Aerr(n-1)の時刻tでの値と少なくとも該値に応じて決定した前記第1床反力補正量の値とのいずれかを加えたものが該時刻tでの前記目標値を満足し、且つ、該第n修正後運動によって該時刻tに前記第1動力学モデル上で発生する前記第2床反力成分の瞬時値に、前記第n−1床反力成分誤差Berr(n-1)の時刻tでの値と少なくとも該値に応じて決定した前記第2床反力補正量の値とのいずれかを加えたものが該時刻tでの前記許容範囲を満たすように該時刻tにおける第n修正後運動の瞬時値を決定する処理であり、前記床反力成分誤差変化量ΔAerrは、前記第n床反力成分誤差Aerr(n)の各時刻での値と第n−1床反力成分誤差Aerr(n-1)の該時刻での値との差、および、前記第n床反力成分誤差Aerr(n)の各時刻での値と少なくとも第n−1床反力成分誤差Aerr(n-1)の該時刻での値に応じて決定した前記第1床反力補正量の値との差のいずれか一方の前記所定期間における時系列から構成されると共に、前記床反力成分誤差変化量ΔBerrは、前記第n床反力成分誤差Berr(n)の各時刻での値と第n−1床反力成分誤差Berr(n-1)の該時刻での値との差、および、前記第n床反力成分誤差Berr(n)の各時刻での値と少なくとも第n−1床反力成分誤差Berr(n-1)の該時刻での値に応じて決定した前記第2床反力補正量の値との差のいずれか一方の前記所定期間における時系列から構成され、
前記目標運動決定手段の前記収束判断処理は、前記床反力成分誤差変化量ΔAerrを構成する時系列のパターンのうちの所定の第3特徴量が該第3特徴量に対する所定の許容変化量範囲に収まったときに該床反力成分誤差変化量ΔAerrが0に収束したと判断すると共に、前記床反力成分誤差変化量ΔBerrを構成する時系列のパターンのうちの所定の第4特徴量が該第4特徴量に対する所定の許容変化量範囲に収まったときに該床反力成分誤差変化量ΔBerrが0に収束したと判断する処理であることが好ましい(第15発明)。
なお、この第15発明において、前記第1〜第4特徴量のそれぞれの種類としては、前記第13発明に関して例示したものが挙げられる。この場合、第1〜第4特徴量の種類は互いに同一である必要はないが、同一でもよい。
この第15発明によれば、前記評価手段は、前記第0床反力成分誤差Aerr(0)(すなわち前記仮運動に対応する床反力成分誤差Aerr)を構成する時系列のパターンの第1特徴量と、第0床反力成分誤差Aerr(0)(すなわち前記仮運動に対応する床反力成分誤差Berr)を構成する時系列のパターンの第2特徴量とがそれぞれに対応する第1許容誤差範囲、第2許容誤差範囲に収まっているか否かを評価するので、Aerr(0)、Berr(0)の時系列のそれぞれについて該時系列が全体的に十分に小さいか否かを評価できる。その結果、仮運動の瞬時値の時系列の全体が目標運動の時系列として適したものであるか否かを適切に評価できる。さらに、前記収束判断処理では、前記床反力成分誤差変化量ΔAerrを構成する時系列のパターンのうちの所定の第3特徴量がこれに対応する許容変化量範囲に収まったときに該ΔAerrが0に収束したと判断すると共に、前記床反力成分誤差変化量ΔBerrを構成する時系列のパターンのうちの所定の第4特徴量がこれに対応する許容変化量範囲に収まったときに該ΔBerrが0に収束したと判断するので、第n−1修正後運動に対応する第n−1床反力成分誤差Aerr(n-1),Berr(n-1)の時系列、あるいは、これらのAerr(n-1),Berr(n-1)に応じた前記第1床反力補正量、第2床反力補正量の時系列のそれぞれと、第n修正後運動に対応する第n床反力成分誤差の時系列Aerr(n),Berr(n-1)のそれぞれとが、全体的にほぼ同じパターンになったか否かを判断できる。その結果、前記決定した第n修正後運動の瞬時値の時系列が、信頼性の高い床反力成分誤差Aerr,Berrまたは信頼性の高い第1床反力補正量、第2床反力補正量を加味して決定されたものであるか否かを適切に判断できる。ひいては、最終的に決定した目標運動を含む目標歩容の動力学的精度の信頼性を高めることができる。
同様に、前記第4発明(あるいはこれを構成要件とする第6発明、もしくは第10発明)では、前記目標運動、仮運動および修正後運動は、所定期間における前記移動ロボットの運動の瞬時値の時系列から構成されるものであり、前記床反力成分誤差算出手段により求められる前記第m床反力成分誤差Aerr,Berr(m:m≧0である整数)のうちの第m床反力成分誤差Aerrは、第m修正後運動によって該第m修正後運動の各時刻に前記第2動力学モデル上で発生する前記第1床反力成分の瞬時値と該第m修正後運動によって該時刻に前記第1動力学モデル上で発生する前記第1床反力成分の瞬時値との差の前記所定期間における時系列から構成されると共に、前記第m床反力成分誤差Berrは、第m修正後運動の各時刻に前記第2動力学モデル上で発生する前記第2床反力成分の瞬時値と該第m修正後運動によって該時刻に前記第1動力学モデル上で発生する前記第2床反力成分の瞬時値との差の前記所定期間における時系列から構成され、前記目標運動決定手段の前記修正後運動決定処理は、前記第n修正後運動の各時刻tにおいて、該第n修正後運動によって時刻tに前記第1動力学モデル上で発生する前記第1床反力成分の瞬時値に、前記第n−1床反力成分誤差Aerr(n-1)の時刻tでの値と少なくとも該値に応じて決定した前記第1床反力補正量の値とのいずれかを加えたものが該時刻tでの前記目標値を満足し、且つ、該第n修正後運動によって該時刻tに前記第1動力学モデル上で発生する前記第2床反力成分の瞬時値に、前記第n−1床反力成分誤差Berr(n-1)の時刻tでの値と少なくとも該値に応じて決定した前記第2床反力補正量の値とのいずれかを加えたものが該時刻tでの前記許容範囲を満たすように該時刻tにおける第n修正後運動の瞬時値を決定する処理であり、前記床反力成分誤差変化量ΔAerrは、前記第n床反力成分誤差Aerr(n)の各時刻での値と第n−1床反力成分誤差Aerr(n-1)の該時刻での値との差、および、前記第n床反力成分誤差Aerr(n)の各時刻での値と少なくとも第n−1床反力成分誤差Aerr(n-1)の該時刻での値に応じて決定した前記第1床反力補正量の値との差のいずれか一方の前記所定期間における時系列から構成されると共に、前記床反力成分誤差変化量ΔBerrは、前記第n床反力成分誤差Berr(n)の各時刻での値と第n−1床反力成分誤差Berr(n-1)の該時刻での値との差、および、前記第n床反力成分誤差Berr(n)の各時刻での値と少なくとも第n−1床反力成分誤差Berr(n-1)の該時刻での値に応じて決定した前記第2床反力補正量の値との差のいずれか一方の前記所定期間における時系列から構成され、前記目標運動決定手段の前記収束判断処理は、前記床反力成分誤差変化量ΔAerrを構成する時系列のパターンのうちの所定の第3特徴量が該第3特徴量に対する所定の許容変化量範囲に収まったときに該床反力成分誤差変化量ΔAerrが0に収束したと判断すると共に、前記床反力成分誤差変化量ΔBerrを構成する時系列のパターンのうちの前記第4特徴量が該第4特徴量に対する所定の許容変化量範囲に収まったときに該床反力成分誤差変化量ΔBerrが0に収束したと判断する処理であることが好ましい(第16発明)。
なお、この第16発明において、前記第3特徴量、第4特徴量の種類としては、前記第13発明に関して例示したものが挙げられる。この場合、第3、第4特徴量の種類は同一である必要はないが、同一でもよい。
この第16発明によれば、前記収束判断処理では、前記床反力成分誤差変化量ΔAerrを構成する時系列のパターンのうちの所定の第3特徴量がこれに対応する許容変化量範囲に収まったときに該ΔAerrが0に収束したと判断すると共に、前記床反力成分誤差変化量ΔBerrを構成する時系列のパターンのうちの所定の第4特徴量がこれに対応する許容変化量範囲に収まったときに該ΔBerrが0に収束したと判断するので、前記第13発明の場合と同様に、前記決定した第n修正後運動の瞬時値の時系列が、信頼性の高い床反力成分誤差Aerr,Berrまたは信頼性の高い第1床反力補正量、第2床反力補正量を加味して決定されたものであるか否かを適切に判断できる。ひいては、最終的に決定した目標運動を含む目標歩容の動力学的精度の信頼性を高めることができる。
同様に、前記第7発明(あるいはこれを構成要件とする第11発明)においては、前記目標運動、仮運動および修正後運動は、所定期間における前記移動ロボットの運動の瞬時値の時系列から構成されるものであり、前記床反力成分誤差算出手段により求められる前記第mZMP誤差ZMPerrおよび並進床反力水平成分誤差Ferr(m:m≧0である整数)のうちの第mZMP誤差ZMPerrは、第m修正後運動によって該第m修正後運動の各時刻に前記第2動力学モデル上で算出されるZMPの瞬時値と該第m修正後運動によって該時刻に前記第1動力学モデル上で算出されるZMPの瞬時値との差の前記所定期間における時系列から構成されると共に、前記第m並進床反力水平成分誤差Berrは、第m修正後運動の各時刻に前記第2動力学モデル上で発生する並進床反力水平成分の瞬時値と該第m修正後運動によって該時刻に前記第1動力学モデル上で発生する並進床反力水平成分の瞬時値との差の前記所定期間における時系列から構成され、前記評価手段の前記所定の第1許容誤差範囲は、前記第0ZMP誤差ZMPerr(0)を構成する時系列のパターンのうちの所定の第1特徴量に対する許容誤差範囲であると共に、前記所定の第2許容誤差範囲は、前記第0並進床反力水平成分誤差Ferr(0)を構成する時系列のパターンのうちの所定の第2特徴量に対する許容誤差範囲であり、前記目標運動決定手段の前記修正後運動決定処理は、前記第n修正後運動の各時刻tにおいて、該第n修正後運動によって時刻tに前記第1動力学モデル上で算出されるZMPの瞬時値に、前記第n−1ZMP誤差ZMPerr(n-1)の時刻tでの値と少なくとも該値に応じて決定した前記ZMP補正量の値とのいずれかを加えたものが該時刻tでの前記目標ZMPを満足し、且つ、該第n修正後運動によって該時刻tに前記第1動力学モデル上で発生する並進床反力水平成分の瞬時値に、前記第n−1並進床反力水平成分誤差Ferr(n-1)の時刻tでの値と少なくとも該値に応じて決定した前記床反力補正量の値とのいずれかを加えたものが該時刻tでの前記許容範囲を満たすように該時刻tにおける第n修正後運動の瞬時値を決定する処理であり、前記ZMP誤差変化量ΔZMPerrは、前記第nZMP誤差ZMPerr(n)の各時刻での値と第n−1ZMP誤差ZMPerr(n-1)の該時刻での値との差、および、前記第nZMP誤差ZMPerr(n)の各時刻での値と少なくとも第n−1ZMP誤差ZMPerr(n-1)の該時刻での値に応じて決定した前記ZMP補正量の値との差のいずれか一方の前記所定期間における時系列から構成されると共に、前記並進床反力水平成分誤差変化量ΔFerrは、前記第n並進床反力水平成分誤差Ferr(n)の各時刻での値と第n−1並進床反力水平成分誤差Ferr(n-1)の該時刻での値との差、および、前記第n並進床反力水平成分誤差Ferr(n)の各時刻での値と少なくとも第n−1並進床反力水平成分誤差Ferr(n-1)の該時刻での値に応じて決定した前記床反力補正量の値との差のいずれか一方の前記所定期間における時系列から構成され、前記目標運動決定手段の前記収束判断処理は、前記ZMP誤差変化量ΔZMPerrを構成する時系列のパターンのうちの所定の第3特徴量が該第3特徴量に対する所定の許容変化量範囲に収まったときに該ZMP成分誤差変化量ΔZMPerrが0に収束したと判断すると共に、前記並進床反力水平成分誤差変化量ΔFerrを構成する時系列のパターンのうちの所定の第4特徴量が該第4特徴量に対する所定の許容変化量範囲に収まったときに該並進床反力水平成分誤差変化量ΔFerrが0に収束したと判断する処理であることが好ましい(第17発明)。
なお、この第17発明おいて、前記第1〜第4特徴量の種類としては、前記第13発明に関して例示したものが挙げられる。この場合、第1〜第4特徴量の種類は互いに同一である必要はないが、同一でもよい。
この第17発明によれば、前記評価手段は、前記第0ZMP誤差ZMPerr(0)(すなわち前記仮運動に対応するZMP誤差ZMPerr)を構成する時系列のパターンの第1特徴量と、第0並進床反力水平成分誤差Ferr(0)(すなわち前記仮運動に対応する並進床反力水平成分誤差Ferr)を構成する時系列のパターンの第2特徴量とがそれぞれに対応する第1許容誤差範囲、第2許容誤差範囲に収まっているか否かを評価するので、ZMPerr(0)、Ferr(0)の時系列のそれぞれについて該時系列が全体的に十分に小さいか否かを評価できる。その結果、仮運動の瞬時値の時系列の全体が目標運動の時系列として適したものであるか否かを適切に評価できる。さらに、前記収束判断処理では、前記ZMP誤差変化量ΔZMPerrを構成する時系列のパターンのうちの所定の第3特徴量がこれに対応する許容変化量範囲に収まったときに該ΔZMPerrが0に収束したと判断すると共に、前記並進床反力水平成分誤差変化量ΔFerrを構成する時系列のパターンのうちの所定の第4特徴量がこれに対応する許容変化量範囲に収まったときに該ΔFerrが0に収束したと判断するので、第n−1修正後運動に対応する第n−1ZMP誤差ZMPerr(n-1)および第n−1並進床反力水平成分誤差Berr(n-1)の時系列、あるいは、これらの応じた前記ZMP補正量および床反力補正量の時系列のそれぞれと、第n修正後運動に対応する第nZMP誤差ZMPerr(n)および第n並進床反力水平成分誤差Ferr(n-1)の時系列それぞれとが、全体的にほぼ同じパターンになったか否かを判断できる。その結果、前記決定した第n修正後運動の瞬時値の時系列が、信頼性の高いZMP誤差ZMPerrおよび並進床反力水平成分誤差Ferr、または、信頼性の高いZMP補正量および床反力補正量を加味して決定されたものであるか否かを適切に判断できる。ひいては、最終的に決定した目標運動を含む目標歩容の動力学的精度の信頼性を高めることができる。
同様に、前記第9発明(あるいはこれを構成要件とする第12発明)においては、前記目標運動、仮運動および修正後運動は、所定期間における前記移動ロボットの運動の瞬時値の時系列から構成されるものであり、前記床反力成分誤差算出手段により求められる前記第mZMP誤差ZMPerrおよび並進床反力水平成分誤差Ferr(m:m≧0である整数)のうちの第mZMP誤差ZMPerrは、第m修正後運動によって該第m修正後運動の各時刻に前記第2動力学モデル上で算出されるZMPの瞬時値と該第m修正後運動によって該時刻に前記第1動力学モデル上で算出されるZMPの瞬時値との差の前記所定期間における時系列から構成されると共に、前記第m並進床反力水平成分誤差Berrは、第m修正後運動の各時刻に前記第2動力学モデル上で発生する並進床反力水平成分の瞬時値と該第m修正後運動によって該時刻に前記第1動力学モデル上で発生する並進床反力水平成分の瞬時値との差の前記所定期間における時系列から構成され、前記目標運動決定手段の前記修正後運動決定処理は、前記第n修正後運動の各時刻tにおいて、該第n修正後運動によって時刻tに前記第1動力学モデル上で算出されるZMPの瞬時値に、前記第n−1ZMP誤差ZMPerr(n-1)の時刻tでの値と少なくとも該値に応じて決定した前記ZMP補正量の値とのいずれかを加えたものが該時刻tでの前記目標ZMPを満足し、且つ、該第n修正後運動によって該時刻tに前記第1動力学モデル上で発生する並進床反力水平成分の瞬時値に、前記第n−1並進床反力水平成分誤差Ferr(n-1)の時刻tでの値と少なくとも該値に応じて決定した前記床反力補正量の値とのいずれかを加えたものが該時刻tでの前記許容範囲を満たすように該時刻tにおける第n修正後運動の瞬時値を決定する処理であり、前記ZMP誤差変化量ΔZMPerrは、前記第nZMP誤差ZMPerr(n)の各時刻での値と第n−1ZMP誤差ZMPerr(n-1)の該時刻での値との差、および、前記第nZMP誤差ZMPerr(n)の各時刻での値と少なくとも第n−1ZMP誤差ZMPerr(n-1)の該時刻での値に応じて決定した前記ZMP補正量の値との差のいずれか一方の前記所定期間における時系列から構成されると共に、前記並進床反力水平成分誤差変化量ΔFerrは、前記第n並進床反力水平成分誤差Ferr(n)の各時刻での値と第n−1並進床反力水平成分誤差Ferr(n-1)の該時刻での値との差、および、前記第n並進床反力水平成分誤差Ferr(n)の各時刻での値と少なくとも第n−1並進床反力水平成分誤差Ferr(n-1)の該時刻での値に応じて決定した前記床反力補正量の値との差のいずれか一方の前記所定期間における時系列から構成され、前記目標運動決定手段の前記収束判断処理は、前記ZMP誤差変化量ΔZMPerrを構成する時系列のパターンのうちの所定の第3特徴量が該第3特徴量に対する所定の許容変化量範囲に収まったときに該ZMP成分誤差変化量ΔZMPerrが0に収束したと判断すると共に、前記並進床反力水平成分誤差変化量ΔFerrを構成する時系列のパターンのうちの所定の第4特徴量が該第4特徴量に対する所定の許容変化量範囲に収まったときに該並進床反力水平成分誤差変化量ΔFerrが0に収束したと判断する処理であることが好ましい(第18発明)。
なお、この第18発明において、前記第3特徴量、第4特徴量の種類としては、前記第13発明に関して例示したものが挙げられる。この場合、第3、第4特徴量の種類は同一である必要はないが、同一でもよい。
この第18発明によれば、前記収束判断処理では、前記ZMP誤差変化量ΔZMPerrを構成する時系列のパターンのうちの所定の第3特徴量がこれに対応する許容変化量範囲に収まったときに該ΔZMPerrが0に収束したと判断すると共に、前記並進床反力水平成分誤差変化量ΔFerrを構成する時系列のパターンのうちの所定の第4特徴量がこれに対応する許容変化量範囲に収まったときに該ΔFerrが0に収束したと判断するので、前記第17発明の場合と同様に、前記決定した第n修正後運動の瞬時値の時系列が、信頼性の高いZMP誤差ZMPerrおよび並進床反力水平成分誤差Ferr、または、信頼性の高いZMP補正量および床反力補正量を加味して決定されたものであるか否かを適切に判断できる。ひいては、最終的に決定した目標運動を含む目標歩容の動力学的精度の信頼性を高めることができる。
なお、前記第1〜第8発明において、前記修正後運動決定処理をある程度の回数(複数回)、繰り返せば、一般に、前記誤差変化量は0に収束する。従って、前記収束判断処理においては、例えば修正後運動決定処理の繰り返し回数(実行回数)が所定回数に達したときに、前記誤差変化量が0に収束した(誤差変化量が2種類の場合には、その両者が収束した)と判断するようにしてもよい。また、第n修正後運動と第n−1修正後運動との差を基に前記誤差変化量の0への収束を判断するようにしてもよい。
また、以上説明した第1〜第16発明において目標歩容に目標運動だけでなく目標床反力を含めてもよい。
この場合、第1発明、第2発明、あるいはこれらを構成要件とする第5発明、第13発明、第14発明では、最終的に目標運動として決定した第n修正後運動によって第1動力学モデル上で発生する床反力成分に、第n−1床反力成分誤差、もしくはこれに応じた床反力補正量とのいずれかを加えたものを前記床反力成分の目標値とすればよい。あるいは、最終的に目標運動として決定した第n修正後運動によって第2動力学モデル上で発生する床反力成分を、前記床反力成分の目標値とすればよい。なお、前記仮運動を目標運動として決定したときには、該仮運動によって第1動力学モデル上で発生する床反力成分を目標値とすればよい。
また、前記第3発明、第4発明、あるいはこれらを構成要件とする第6発明、第9発明、第10発明、第15発明、第16発明では、最終的に目標運動として決定した第n修正後運動によって第1動力学モデル上で発生する第1床反力成分に、第n−1床反力成分誤差Aerr(n-1)もしくはこれに応じた第1床反力補正量とのいずれかを加えたものを前記第1床反力成分の目標値とし、また、第n修正後運動によって第1動力学モデル上で発生する第2床反力成分に、第n−1床反力成分誤差Berr(n-1)もしくはこれに応じた第2床反力補正量とのいずれかを加えたものを前記第2床反力成分の目標値とすればよい。あるいは、最終的に目標運動として決定した第n修正後運動によって第2動力学モデル上で発生する第1床反力成分および第2床反力成分をそれぞれの目標値とすればよい。なお、前記仮運動を目標運動として決定したときには、該仮運動によって第1動力学モデル上で発生する第1床反力成分、第2床反力成分をそれぞれの目標値とすればよい。
また、前記第7発明、第8発明、あるいはこれらを構成要件とする第11発明、第12発明、第17発明、第18発明では、最終的に目標運動として決定した第n修正後運動によって第1動力学モデル上で発生する並進床反力水平成分に、第n−1並進床反力水平成分誤差Ferr(n-1)もしくはこれに応じた床反力補正量のいずれかを加えたものを並進床反力水平成分の目標値とすればよい。目標ZMPは当初のままでよい。あるいは、最終的に目標運動として決定した第n修正後運動によって第2動力学モデル上で発生する並進床反力水平成分をそれの目標値とすればよい。また、前記仮運動を目標運動として決定したときには、該仮運動によって第1動力学モデル上で発生する並進床反力水平成分を目標値とすればよい。
また、第1〜第16発明では、それにより生成した目標歩容を前記特許文献2,3のものの如く、フルモデル(第3動力学モデル)を用いてさらに補正するようにしてもよい。この場合、第1〜第12発明で生成される目標歩容は、動力学的精度が高いので、フルモデルにおける歩容の発散が生じにくい。このため、目標ZMP軌道の修正量、あるいは、目標ZMPまわりの床反力モーメントが過大になるのを防止し、ロボットの安定余裕を高く保つことができる。
以下、添付図面を参照して本発明の実施形態を説明する。尚、本明細書の実施形態では、移動ロボットとしては2足移動ロボットを例にとる。
図1は、本発明の実施形態を適用する2足移動ロボットの全体的構成の概略を示す概略図である。
図示の如く、2足移動ロボット(以下、ロボットという)1は上体(ロボット1の基体)3から下方に延設された左右一対の脚体(脚部リンク)2,2を備える。両脚体2,2は同一構造であり、それぞれ6個の関節を備える。その6個の関節は上体3側から順に、股(腰部)の回旋(回転)用(上体3に対するヨー方向の回転用)の関節10R,10Lと、股(腰部)のロール方向(X軸まわり)の回転用の関節12R,12Lと、股(腰部)のピッチ方向(Y軸まわり)の回転用の関節14R,14L、膝部のピッチ方向の回転用の関節16R,16Lと、足首のピッチ方向の回転用の関節18R,18Lと、足首のロール方向の回転用の関節20R,20Lとから構成される。なお、本明細書において、符号R,Lはそれぞれロボット1の右側、左側に対応するものであることを意味する符号である。
各脚体2の足首の2つの関節18R(L),20R(L)の下部には、各脚体2の先端部を構成する足平(足部)22R(L)が取着されると共に、両脚体2,2の最上位には、各脚体2の股の3つの関節10R(L),12R(L),14R(L)を介して前記上体3が取り付けられている。上体3の内部には、詳細を後述する制御ユニット60などが格納される。なお、図1では図示の便宜上、制御ユニット60を上体3の外部に記載している。
上記構成の各脚体2においては、股関節(あるいは腰関節)は関節10R(L),12R(L),14R(L)から構成され、膝関節は関節16R(L)から構成され、足首関節は関節18R(L),20R(L)から構成される。また股関節と膝関節とは大腿リンク24R(L)で連結され、膝関節と足首関節とは下腿リンク26R(L)で連結される。
上体3の上部の両側部には左右一対の腕体5,5が取り付けられると共に、上体3の上端部には頭部4が配置される。各腕体5は、3つの関節30R(L),32R(L),34R(L)から構成された肩関節と、関節36R(L)から構成された肘関節と、関節38R(L)から構成された手首関節と、この手首関節に連結された手先部40R(L)とを備えている。肩関節と肘関節との間、および肘関節と手首関節との間はそれぞれ剛体状のリンクで構成されている。
上記のロボット1の構成により、各脚体2の足平22R(L)は、上体3に対して6つの自由度を与えられている。そして、ロボット1の歩行等の移動中に、両脚体2,2を合わせて6*2=12個(この明細書で「*」はスカラに対する演算としては乗算を、ベクトルに対する演算としては外積を示す)の関節を適宜な角度で駆動することで、両足平22R,22Lの所望の運動を行うことができる。これにより、ロボット1は任意に3次元空間を移動することができる。また、各腕体5は、その肩関節、肘関節、手首関節の回転によって、腕振り等の運動を行うことができる。
図1に示す如く、各脚体2の足首関節18R(L),20R(L)の下方には足平22R(L)との間に公知の6軸力センサ50が介装されている。該6軸力センサ50は、各脚体2の足平22R(L)の着地の有無、および各脚体2に作用する床反力(接地荷重)等を検出するためのものであり、該床反力の並進力の3方向成分Fx,Fy,Fz並びにモーメントの3方向成分Mx,My,Mzの検出信号を制御ユニット60に出力する。また、上体3には、Z軸(鉛直方向(重力方向))に対する上体3の傾斜角およびその角速度を検出するための姿勢センサ54が備えられ、その検出信号が該姿勢センサ54から制御ユニット60に出力される。この姿勢センサ54は、図示を省略する加速度センサおよびジャイロセンサを備え、これらのセンサの検出信号が上体3の姿勢角(傾斜角)およびその角速度を検出するために用いられる。また、詳細構造の図示は省略するが、ロボット1の各関節には、それを駆動するための電動モータ64(図3参照)と、その電動モータ64の回転量(各関節の回転角)を検出するためのエンコーダ(ロータリエンコーダ)65(図3参照)とが設けられ、該エンコーダ65の検出信号が該エンコーダ65から制御ユニット60に出力される。
さらに、図1では図示を省略するが、ロボット1の外部には、ロボット1を操縦するためのジョイスティック(操作器)73(図3参照)が設けられ、そのジョイスティック73を操作することで、直進移動しているロボット1を旋回させるなどロボット1の移動方向を指定する、ロボット1の歩行、走行などの運動形態および床面の摩擦状態(路面状態)を指定するなど、ロボット1の歩容に対する要求もしくは制約条件を必要に応じて制御ユニット60に入力できるように構成されている。ジョイスティック73は有線もしくは無線により制御ユニット60との通信が可能とされている。
図2は本実施形態における各脚体2の先端部分(各足平22R(L)を含む)の基本構成を概略的に示す図である。同図に示すように、各足平22R(L)の上方には、前記6軸力センサ50との間にばね機構70が装備されると共に、足底(各足平22R,Lの底面)にはゴムなどからなる足底弾性体71が貼られている。これらのばね機構70及び足底弾性体71によりコンプライアンス機構72が構成されている。詳細な図示は省略するが、ばね機構70は、足平22R(L)の上面部に取り付けられた方形状のガイド部材(図示省略)と、足首関節18R(L)(図2では足首関節20R(L)を省略している)および6軸力センサ50側に取り付けられ、前記ガイド部材に弾性材(ゴムやばね)を介して微動自在に収納されるピストン状部材(図示省略)とから構成されている。
図2に実線で表示された足平22R(L)は、床反力を受けていないときの状態を示している。各脚体2が床反力を受けると、コンプライアンス機構72のばね機構70と足底弾性体71とがたわみ、足平22R(L)は図中に点線で例示したような位置姿勢に移る。このコンプラインアス機構72の構造は、着地衝撃を緩和するためだけでなく、制御性を高めるためにも重要なものである。その詳細は、例えば本出願人が先に提案した特開平5−305584号公報に詳細に説明されているので、本明細書でのさらなる説明は省略する。
図3は制御ユニット60の構成を示すブロック図である。該制御ユニット60はマイクロコンピュータにより構成されており、CPUからなる第1の演算装置90及び第2の演算装置92、A/D変換器80、カウンタ86、D/A変換器96、RAM84、ROM94、並びにこれらの間のデータ授受を行うバスライン82を備えている。この制御ユニット60では、各脚体2の6軸力センサ50、姿勢センサ54(加速度センサおよびレートジャイロセンサ)、ジョイスティック73等の出力信号はA/D変換器80でデジタル値に変換された後、バスライン82を介してRAM84に送られる。またロボット1の各関節のエンコーダ65(ロータリーエンコーダ)の出力は、カウンタ86を介してRAM84に入力される。
前記第1の演算装置90は後述の如く目標歩容を生成すると共に、関節角変位指令(各関節の変位角もしくは各電動モータ64の回転角の指令値)を算出し、RAM84に送出する。また、第2の演算装置92はRAM84から関節角変位指令と、前記エンコーダ65の出力信号に基づいて検出された関節角の実測値とを読み出し、各関節の駆動に必要な操作量を算出して、その操作量をD/A変換器96とサーボアンプ64aとを介して各関節を駆動する電動モータ64に出力する。
図4は、本明細書の実施形態におけるロボット1の制御ユニット60の主な機能的構成を示すブロック図である。この図4中の「実ロボット」の部分以外の部分が制御ユニット60が実行する処理機能(主として第1の演算装置90及び第2の演算装置92の機能)によって構成されるものである。その処理機能は、制御ユニット60に実装されたプログラム等によって実現されている。尚、以下の説明では、ロボット1の各部(脚体2、腕体5など)の左右を特に区別する必要がないときは、前記符号R,Lを省略する。
以下説明すると、制御ユニット60は、後述の如く目標歩容を自在かつリアルタイムに生成して出力する歩容生成装置100を備えている。この歩容生成装置100は、その機能によって本発明の実施形態を実現するものである。この歩容生成装置100が出力する目標歩容は、補正目標上体姿勢軌道(上体3の目標姿勢の軌道)、補正目標上体位置軌道(上体3の目標位置の軌道)、目標足平位置姿勢軌道(各足平22の目標位置及び目標姿勢の軌道)、目標腕姿勢軌道(各腕体の目標姿勢の軌道)、目標ZMP(目標全床反力中心点)軌道、目標ZMPまわりの補正目標床反力モーメント軌道および目標全床反力軌道から構成される。尚、脚体2や腕体5以外に、上体3に対して可動な部位(頭部など)を備える場合には、その可動部位の目標位置姿勢軌道が目標歩容に加えられる。
ここで、本明細書での歩容に関する基本的な用語の定義などについて説明しておく。歩容における「軌道」は時間的変化のパターン(時系列パターン)を意味し、「軌道」の代わりに「パターン」と称することもある。また、「姿勢」は空間的な向きを意味する。例えば上体姿勢はZ軸(鉛直軸)に対するロール方向(X軸まわり)の上体3の傾斜角(姿勢角)とピッチ方向(Y軸まわり)の上体3の傾斜角(姿勢角)とで表され、足平姿勢は各足平22に固定的に設定された2軸の空間的な方位角で表される。本明細書では、上体姿勢は上体姿勢角ということもある。なお、腕体5に関する目標腕姿勢は、本明細書の実施形態では上体3に対する相対姿勢で表される。
上体位置は、上体3のあらかじめ定めた代表点(上体3に対して任意に固定設定したローカル座標系でのある固定点)の位置を意味する。同様に、足平位置は、各足平22のあらかじめ定めた代表点(各足平22に対して任意に固定設定したローカル座標系での固定点)の位置を意味する。例えば各足平22の代表点は、各足平22の底面上(より具体的には各脚体2の足首関節の中心から各足平22の底面への垂線が該底面と交わる点等)に設定される。
上体3に関する前記補正目標上体姿勢および補正目標上体位置は、ある基本となる目標上体姿勢(仮目標上体姿勢)および目標上体位置(仮目標上体位置)を補正したものである。本明細書の実施形態では、基本となる目標上体位置姿勢は、後述する単純化モデル歩容生成部で決定される目標上体位置姿勢(後述の図10のS032で決定される目標上体位置姿勢)が相当する。
なお、以降の説明では、誤解を生じるおそれがない場合には、しばしば「目標」を省略する。
歩容のうちの、床反力に係わる構成要素以外の構成要素、すなわち足平位置姿勢、上体位置姿勢等、ロボット1の各部位の位置姿勢に関する構成要素を総称的に「運動」という。また、各足平22に作用する床反力(並進力及びモーメントからなる床反力)を「各足平床反力」と呼び、ロボット1の全て(2つ)の足平22R,22Lについての「各足平床反力」の合力を「全床反力」という。ただし、以下の説明においては、各足平床反力はほとんど言及しないので、特に断らない限り、「床反力」は「全床反力」と同義として扱う。
目標床反力は、一般的には、作用点とその点に作用する並進力及びモーメントによって表現される。作用点はどこにとっても良いので、同一の目標床反力でも無数の表現が考えられるが、特に目標床反力中心点(全床反力の中心点の目標位置)を作用点にして目標床反力を表現すると、目標床反力のモーメント成分は、鉛直成分(鉛直軸(Z軸)まわりのモーメント成分)を除いて零になる。換言すれば、目標床反力中心点まわりの目標床反力のモーメントの水平成分(水平軸(X軸及びY軸)まわりのモーメント)は零になる。
なお、動力学的平衡条件を満足する歩容では、ロボット1の目標運動軌道から算出されるZMP(目標運動軌道から算出される慣性力と重力との合力がその点まわりに作用するモーメントが、鉛直成分を除いて零になる点)と目標床反力中心点とは一致することから、目標床反力中心点軌道の代わりに目標ZMP軌道を与えると言っても同じことである。
ここで、ロボット1の歩行を行う場合には、例えば本出願人が先に特開平10−86080号公報で提案した上体高さ決定手法によってロボット1の上体3の鉛直位置(上体高さ)が決定されると、並進床反力鉛直成分は従属的に決定される。さらに、目標歩容の運動による慣性力と重力との合力が目標ZMPまわりに発生するモーメントの水平成分が0になるようにロボット1の上体水平位置軌道(あるいは全体重心の位置軌道)を決定することで、並進床反力水平成分も従属的に決定される。このため、ロボット1の歩行を行う場合には、目標歩容の床反力に関して明示的に設定すべき物理量としては、目標ZMPだけでもよい。
一方、床反力が0もしくはほぼ0になるような時期を伴う歩容でのロボット1の移動、例えばロボット1の走行を行う場合には、並進床反力鉛直成分もロボット1の動作制御上重要である。このため、並進床反力鉛直成分の目標軌道を明示的に設定した上で、ロボット1の目標上体鉛直位置等の軌道を決定することが望ましい。また、ロボット1の歩行においても、摩擦係数が低い床面上(低ミュー路上)でロボット1を移動させるような場合には、並進床反力鉛直成分(より厳密には並進床反力の床面に垂直な成分)が摩擦力に影響を及ぼすことから、ロボット1のスリップなどを防止する上で、並進床反力鉛直成分の目標軌道を明示的に設定することが望ましい。さらに、本発明の実施形態では、最終的に歩容生成装置100が出力する目標歩容では、目標ZMPまわりに補正目標床反力モーメント(水平成分が0とは限らないモーメント)を発生させる。
このようなことから、本明細書の実施形態では、歩容生成装置100が出力する目標歩容の床反力に関する構成要素として、目標ZMP軌道のほか、目標ZMPまわりの補正目標床反力モーメントと、目標並進床反力鉛直成分とを含ませている。
そして、本明細書では、歩容生成装置100が出力する目標歩容は、広義には、「1歩ないしは複数歩の期間の目標運動軌道と目標床反力軌道との組」の意味で使用され、狭義には、「1歩の期間の目標運動軌道と、目標ZMP、補正目標床反力モーメント及び目標並進床反力鉛直成分を含む目標床反力軌道との組」の意味で使用される。
但し、本明細書の実施形態においては、最終的な目標歩容(歩容生成装置100が出力する目標歩容)を決定するまでの過程で作成する目標歩容(仮目標歩容)では、上記狭義の目標歩容から、補正目標床反力モーメントを除いたものが目標歩容の意味で使用される。補足すると、本明細書の実施形態では、最終的な目標歩容(歩容生成装置100が出力する目標歩容)を決定するまでの過程で作成する目標歩容(仮目標歩容)が本発明に密接に関連するものとなっている。このため、以降の説明で現れる目標歩容の大部分は、前記狭義の目標歩容から、補正目標床反力モーメントを除いたものの意味で使用される。
なお、以降の説明では、「床反力鉛直成分」は「並進床反力鉛直成分」を意味するものとし、床反力のうちのモーメントの鉛直成分(鉛直軸回り成分)は、「モーメント」という用語を用いて「床反力鉛直成分」と区別をする。同様に、「床反力水平成分」は「並進床反力水平成分」を意味するものとする。並進床反力は、床反力並進力成分ということもある。
また、目標歩容の「1歩」は、ロボット1の片方の脚体2が着地してからもう一方の脚体2が着地するまでの意味で使用する。
また、歩容における両脚支持期とは、ロボット1がその自重を両脚体2,2で支持する期間、片脚支持期とはいずれか一方のみの脚体2でロボット1の自重を支持する期間、空中期とは両脚体2,2が床から離れている(空中に浮いている)期間を言う。片脚支持期においてロボット1の自重を支持しない側の脚体2を遊脚と呼ぶ。なお、片脚支持期と空中期とが交互に繰り返されるロボット1の走行歩容では両脚支持期は無い。この場合、空中期では両脚2,2とも、ロボット1の自重を支持しないこととなるが、便宜上、該空中期の直前の片脚支持期において遊脚であった脚体2、支持脚であった脚体2をそれぞれ該空中期においても遊脚、支持脚と呼ぶ。
また、目標歩容の軌道は、グローバル座標系(床に固定された座標系)で記述される。グローバル座標系としては、例えば支持脚足平22の着地位置姿勢に対応して定まる支持脚座標系が用いられる。この支持脚座標系は、例えば支持脚足平22の底面のほぼ全面を床に接地した状態で、その足平22が連結された足首関節の中心から床面に延ばした垂線が床と交わる点を原点とし、その原点を通る水平面に支持脚足平22を投影したときの該足平22の前後方向をX軸方向、左右方向をY軸方向とする座標系(Z軸方向は鉛直方向)である。以降の説明では、特にことわらない限り、X、Y、Z座標は、この支持脚座標系の座標を意味する。
図5は、歩容生成装置100の詳細を示すブロック図である。この図5を参照して、歩容生成装置100の処理のより具体的な概要を以下に説明する。
図示の如く、歩容生成装置100は歩容パラメータ決定部100aを備える。歩容パラメータ決定部100aは、目標歩容を規定する歩容パラメータの値あるいは時系列テーブルを決定する。
本明細書の実施形態では、歩容パラメータ決定部100aが決定する歩容パラメータには、目標歩容のうちの、目標足平位置姿勢軌道、目標腕姿勢軌道、目標ZMP軌道、および目標床反力鉛直成分軌道をそれぞれ規定するパラメータが含まれる。
ここで、歩容生成装置100が目標歩容を生成するとき、遊脚足平22の着地予定位置姿勢、着地予定時刻、あるいは歩幅、移動速度等の歩容生成用の基本的な要求値(要求パラメータ)が、前記ジョイスティック73、もしくは図示しない行動計画部(ロボット1の行動計画を作成する装置)などの装置から歩容生成装置100に与えられる。あるいは、上記要求パラメータをあらかじめ記憶保持した記憶媒体から該要求パラメータを歩容生成装置100が読み込む。そして、歩容生成装置100の歩容パラメータ決定部100aは、その要求パラメータに応じて歩容パラメータを決定する。
また、本明細書の実施形態では、歩容パラメータ決定部100aが決定する歩容パラメータには、基準上体姿勢軌道、ZMP許容範囲、床反力水平成分許容範囲をそれぞれ規定するパラメータも含まれる。
ここで、前記基準上体姿勢軌道は、最終的に歩容生成装置100が出力するものではないが、目標歩容を決定するときに参酌されるものである。この基準上体姿勢軌道は、ロボット1の上体姿勢に関して、前記ジョイスティック73あるいは行動計画部から与えられ、もしくはあらかじめ定められた要求(上体姿勢を鉛直姿勢に保つなどの要求)にそのまま従って生成される上体姿勢軌道である。目標上体姿勢(以降、「基準」が付いていない「上体姿勢」は、目標上体姿勢を表す)は、基準上体姿勢に長期的に追従するか、または一致するように生成される。
また、前記ZMP許容範囲に関して補足すると、本明細書の実施形態では、目標歩容は、目標ZMPのまわりに補正目標床反力モーメント(これは一般には0ではない)を発生するように修正される。したがって、目標ZMPは、本来の定義(床反力モーメント水平成分が0である点という定義)とは異なる点となり、本来の定義を満足するZMP(以下、真のZMPという)は、補正目標床反力モーメントを目標床反力鉛直成分で割った値だけ目標ZMPからずれた位置に移る。
修正された歩容(歩容生成装置100が最終的に出力する目標歩容)の真のZMPは、少なくともZMP存在可能範囲(いわゆる支持多角形のこと。床と足平22の底面との間に粘着力が作用しないと仮定した場合における床反力作用点(ZMP)の存在可能範囲)内になければならない。さらにロボット1の安定余裕を十分にとるためには、修正された歩容の真のZMPは、ZMP存在可能範囲のなかの中心付近の範囲にあることが望ましい。そこで、本明細書の実施形態では修正された歩容の真のZMPが存在できる許容範囲を設定する。この範囲をZMP許容範囲と呼ぶ。ZMP許容範囲は、ZMP存在可能範囲と一致あるいはZMP存在可能範囲内に包含されるように設定される。
なお、前記したように、目標ZMPまわりの補正目標床反力モーメントを目標床反力鉛直成分で除算したものが、目標ZMPに対する真のZMPの位置のずれ量を表すので、目標ZMPまわりの補正目標床反力モーメントを設定する代わりに、目標ZMPに対する真のZMPの位置のずれ量(補正目標床反力モーメントのZMP換算値)を設定してもよい。また、ZMP許容範囲は、その境界の位置に目標床反力鉛直成分を乗算することで、補正目標床反力モーメント許容範囲に変換することができ、その補正目標床反力モーメント許容範囲をZMP許容範囲の代わりに設定するようにしてもよい。
また、前記床反力水平成分許容範囲は、ロボット1の足平22の床との接地面に、足平22が滑らないような大きさの摩擦力を発生させ得る床反力水平成分の許容範囲である。本明細書の実施形態では、少なくとも最終的に歩容生成装置100が出力する目標歩容の運動(目標運動)は、それによって発生するロボット1の慣性力の水平成分に釣り合う床反力水平成分が床反力水平成分許容範囲内に収まるように(床反力水平成分許容範囲を満足するように)生成される。
なお、本明細書の実施形態で設定する床反力水平成分許容範囲は、後述のS022の処理で設定される定常歩容用のものと、S026の処理で設定される基本歩容用のものと、S030で設定される歩容補正用(フルモデル補正用)のものとがある。ただし、これらの床反力水平成分許容範囲は必ずしも互いに異なる必要はなく、同一でもよい。一方、ZMP許容範囲は、S030処理で設定される歩容補正用(フルモデル補正用)のものだけである。
補足すると、目標歩容を生成するための歩容パラメータには、上記したパラメータ以外のパラメータも含まれる。それらは、歩容パラメータ決定部100aの中で、所要の境界条件を満たすように決定される。
歩容パラメータ決定部100aで決定された歩容パラメータは目標瞬時値発生部100bに入力される。目標瞬時値発生部100bは入力された歩容パラメータに基づき、基準上体姿勢、目標足平位置姿勢、目標ZMP、目標床反力鉛直成分、ZMP許容範囲、床反力水平成分許容範囲等、目標歩容の一部の構成要素(目標上体位置姿勢を除く)の瞬時値(前記制御ユニット60の所定の制御処理周期毎の値)を逐次算出(発生)する。また、目標瞬時値発生部100bは、並進床反力(床反力の並進力成分)誤差軌道(詳しくは並進床反力水平成分の誤差の瞬時値の時系列)および床反力モーメント誤差軌道(詳しくは目標ZMPまわりの床反力モーメントの水平成分の誤差の瞬時値の時系列)も出力する。これらの誤差軌道は、歩容の運動によって後述のセミフルモデル(第2動力学モデル)で発生する床反力に対する、後述の単純化モデル(第1動力学モデル)で発生する床反力の誤差の時系列パターンに相当するものである。
目標瞬時値発生部100bで算出された目標瞬時値は、単純化モデル歩容生成部100cに入力される。単純化モデル歩容生成部100cは、入力された目標瞬時値を基に、ロボット1の運動と床反力との関係を近似表現する動力学モデルとしての後述の単純化モデル(第1動力学モデル)およびセミフルモデル(第2動力学モデル)を用いて目標上体位置姿勢(後述のフルモデル補正部にとっての仮目標上体位置姿勢)の瞬時値を算出する。なお、ここで使用する単純化モデルは、目標瞬時値発生部100bで使用するものと同一である。単純化モデル歩容生成部100cは、目標ZMPまわりの床反力モーメントと並進床反力とに関する所要の動力学的条件が満たされるように目標上体位置姿勢の瞬時値を算出する。その動力学的条件は、歩容の運動によって単純化モデル上で発生する目標ZMPまわりの床反力モーメント水平成分を床反力モーメント誤差に応じて修正してなる床反力モーメント水平成分が、目標ZMPまわりの床反力モーメント水平成分の本来の目標値である目標床反力モーメント水平成分(=0)に一致もしくはほぼ一致し、また、歩容の運動によって単純化モデル上で発生する並進床反力水平成分を前記並進床反力誤差に応じて修正してなる並進床反力水平成分が、床反力水平成分許容範囲を満足するという条件である。補足すると、本明細書の実施形態では、目標床反力鉛直成分軌道を明示的に設定するので、目標上体位置姿勢の瞬時値は、目標運動によって発生する慣性力と重力との合力の並進力鉛直成分(換言すれば、ロボット1の全体重心の鉛直方向の並進運動に伴う慣性力と重力との合力)が目標床反力鉛直成分に釣り合うという動力学的条件も満足するように決定される。
単純化モデル歩容生成部100cの演算処理により、目標上体位置姿勢を含む目標歩容(仮目標歩容)の瞬時値が逐次決定されていくこととなる。以降、単純化モデル歩容生成部100cで求められた目標上体位置姿勢を構成要素とする目標歩容を単純化モデル歩容という。
単純化モデル歩容生成部100cで求められた目標上体位置姿勢を含む単純化モデル歩容は、フルモデル補正部100dに入力される。このフルモデル補正部100dは、単純化モデル歩容の目標上体位置姿勢を、動力学的精度の高い動力学モデルとしてのフルモデルを用いて補正してなる補正目標上体位置姿勢を算出すると共に、目標ZMPまわりの床反力モーメント水平成分の目標値である補正目標床反力モーメントを算出する。
フルモデル補正部100dは、より一般的には、次のD1〜D3の条件を満足するように、E1あるいはE2の処理を実行する。すなわち、フルモデル補正部100dは、
D1)単純化モデルを用いて生成した歩容(単純化モデル歩容)を変位次元補正用モデルを用いて修正してなる歩容(以降、変位次元補正歩容と呼ぶ)よりも高い精度で動力学的平衡条件を満足する。
D2)真のZMP(目標ZMPのまわりに補正目標床反力モーメントを発生させることによって修正された本来の定義を満足するZMP)は、ZMP許容範囲(安定余裕が十分維持できる許容範囲)に存在する。
D3)床反力水平成分は床反力水平成分許容範囲内になる。
という条件を満足するように、
E1)単純化モデル歩容の上体位置姿勢を補正する。
あるいは
E2)単純化モデル歩容の上体位置姿勢を補正すると共に、目標ZMPまわりの補正目標床反力モーメントを出力する(目標床反力を補正する)。
本明細書の実施形態では、D1〜D3の条件を満足するように、E2の処理が実行される。なお、本明細書の実施形態におけるフルモデル補正部100dの処理は、例えば本願出願人が先に提案したPCT国際公開公報WO/03/057427/A1にて詳細に説明されているもの(具体的には、同公報の図13のS038の処理)と同じである。従って、本明細書でのフルモデル補正部100dの処理の詳細な説明は省略する。
また、本明細書の実施形態では、フルモデル補正部100dによる補正を行うが、その補正を省略し、単純化モデル歩容の瞬時値をそのまま歩容生成装置100から出力するようにしてもよい。
補足すると、本明細書の実施形態では、歩容パラメータ決定部100a、目標瞬時値発生部100bおよび単純化モデル歩容生成部100cが、本発明の中核に係わる処理を実行するものとなっている。
図4に戻って、上述のように決定される補正目標上体位置姿勢、目標ZMPまわりの補正目標床反力モーメント、目標足平位置姿勢の瞬時値を含む目標歩容の瞬時値は、複合コンプライアンス制御装置101(図4で破線で囲んだ部分)に入力される。この複合コンプライアンス制御装置101では、ロボット1のバランスを保ちつつ、目標歩容に追従するように関節アクチュエータ(電動モータ64)が制御される。なお、複合コンプライアンス制御装置101のより具体的な処理は後述する。
次に、本発明の実施形態をさらに具体的に説明していく。本実施形態では、歩容生成装置100は、前記制御ユニット60の制御処理周期毎に、以下に詳説する第1動力学モデルとしての単純化モデルと第2動力学モデルとしてのセミフルモデルとを用いて、目標歩容の瞬時値を決定する。
ここで、本実施形態で歩容生成に用いられる上体運動モードと動力学モデルとについて説明する。
走行など、空中期がある歩容や、低摩擦床面での歩行においては、単に上体水平加速度を調整するだけでは、目標歩容の床反力水平成分が許容範囲内(あるいは摩擦限界内)に存在しつつ動力学的平衡条件を満足することができない場合がある。そこで、本実施形態では、以下に説明する上体3の2つの運動モード(上体並進モード及び上体回転モード)を複合的に発生させることにより、目標歩容の床反力水平成分が許容範囲内(あるいは摩擦限界内)に存在しつつ動力学的平衡条件を満足するようにしている。
図6(a)のように、ある運動状態から、上体水平加速度だけを摂動させると、全体重心水平加速度と全体重心まわりの角運動量が摂動する。すなわち、上体水平加速度の摂動は、(それによって発生する慣性力と重力の合力に対して動力学的に釣り合う)床反力鉛直成分を摂動させずに、目標ZMPまわりの床反力モーメント(ただし鉛直軸まわり成分を除く)と床反力水平成分(厳密には、並進床反力水平成分)とを摂動させる。この運動モードを上体並進モードと呼ぶ。
言いかえると、床反力鉛直成分を変化させずに、目標ZMPまわりの床反力モーメントの水平成分と床反力水平成分(並進床反力水平成分)を変化させる運動を上体並進モードと呼ぶ。
この時の単位加速度当たりの床反力モーメント成分の変化をΔMp、単位加速度当たりの床反力水平成分の変化をΔFpとする。図6(a)に示す状況で上体3を前方に水平加速すると、ΔMpとΔFpは図6(a)に示す矢印の向きに作用する。
感覚的に判り易くするために、運動によって発生する慣性力と重力の合力に釣り合う床反力を用いて表現したが、慣性力と重力の合力を用いて表現した方が、理論的には的確である。なお、上記合力と床反力は、互いに大きさが同じで向きが逆になっている。
一方、図6(b)のように、ある運動状態から、ある点Prまわりに上体姿勢角加速度を摂動させると、全体重心は摂動せずに、全体重心まわりの角運動量が摂動する。すなわち、点Prまわりの上体姿勢角加速度摂動は、床反力鉛直成分と床反力水平成分(厳密には、並進床反力鉛直成分と並進床反力水平成分)を摂動させずに、目標ZMPまわりの床反力モーメントの水平成分を摂動させる。この運動モードを上体回転モードと呼ぶ。
言いかえると、床反力鉛直成分と床反力水平成分を変化させずに、目標ZMPまわりの床反力モーメントの水平成分を変化させる運動を上体回転モードと呼ぶ。
この時の単位角加速度当たりの床反力モーメント成分の変化をΔMr、単位角加速度当たりの床反力の水平成分の変化をΔFrとする。ΔFrは零である。図6(b)に示す状況で上体が前傾するように角加速度を与えると、ΔMrは図6(b)に示す矢印の向きに作用する。
上体3の運動には、上体並進モードと上体回転モード以外に、上体鉛直移動モードがある。これは、上体3を鉛直方向に移動させる運動である。
本実施形態においては、前記単純化モデル歩容生成部100cで単純化モデルが用いられると共に、歩容パラメータ決定部100aおよび目標瞬時値発生部100bの処理で、単純化モデルと、セミフルモデルとが用いられる。以下にこれれらの動力学モデルを説明する。
図7に、単純化モデルの構造例を示す。図示の如く、この単純化モデルはロボット1の各脚体2にそれぞれ対応する2つの質点(足平質点)2m,2m、及び上体3に対応する質点(上体質点)24mからなる合計3質点と、イナーシャがあって質量のないフライホイールFHとから構成されるモデルである。この単純化モデルは、本願出願人が例えば先に提案したPCT国際公開公報WO/03/057427/A1に例示した動力学モデルである。従って、本明細書での詳細な説明は省略するが、単純化モデルの動力学は、次のように変数を定義したとき、式1a〜1cにより表される。なお、ここでは、本明細書の理解を容易にするために、サジタルプレーン(前後軸(X軸)と鉛直軸(Z軸)を含む平面)での運動方程式(動力学方程式)のみを記述し、ラテラルプレーン(左右軸(Y軸)と鉛直軸(Z軸)を含む平面)での運動方程式を省略する。
Zsup:支持脚質点鉛直位置、Zswg:遊脚質点鉛直位置、Zb:上体質点鉛直位置、ZGtotal:全体重心鉛直位置、Xsup:支持脚質点水平位置、Xswg:遊脚質点水平位置、Xb:上体質点水平位置、XGtotal:全体重心水平位置、θby:鉛直方向に対するY軸回りの上体姿勢角(傾斜角)、mb:上体質点質量、msup:支持脚質点質量、mswg:遊脚質点質量、mtotal:ロボット総質量(=mb+msup+mswg)、J:上体慣性モーメント(上体回転モードにおける等価慣性モーメント)、Fx:床反力水平成分(詳しくは並進床反力の前後方向(X軸)成分)、Fz:床反力鉛直成分(詳しくは並進床反力の鉛直方向(Z軸)成分)、My:目標ZMPまわりの床反力モーメント(詳しくは床反力モーメントの左右軸(Y軸)まわり成分)、g:重力加速度。なお、任意の変数Xに対してd2X/dt2は、Xの2階微分値を意味するものとする。

Fz=mb*(g+d2Zb/dt2)+msup*(g+d2Zsup/dt2)
+mswg*(g+d2Zswg/dt2) ……式1a
Fx=mb*d2Xb/dt2+msup*d2Xsup/dt2+mswg*d2Xswg/dt2
……式1b
My=−mb*(Xb−Xzmp)+(g+d2Zb/dt2)+mb*(Zb−Zzmp)*d2Xb/dt2
−msup*(Xsup−Xzmp)*(g+d2Zsup/dt2)
+msup*(Zsup−Zzmp)*d2Xsup/dt2
−mswg*(Xswg−Xzmp)*(g+d2Zswg/dt2)
+mswg*(Zswg−Zzmp)*(d2Xswg/dt2)+J*d2θby/dt2
……式1c
なお、ロボット全体重心位置には次の関係式が成立する。
ZGtotal=(mb*Zb+msup*Zsup+mswg*Zswg)/mtotal …式1d
XGtotal=(mb*Xb+msup*Xsup+mswg*Xswg)/mtotal …式1e

この単純化モデルでは、脚体2,2の動力学(各質点2m,2mの動力学)と上体3の動力学(質点24m及びフライホイールFHの動力学)とが相互に非干渉に構成されると共に、ロボット1全体の動力学は、それらの線形結合で表される。また、さらに、上体3の運動と床反力との関係は、上体3の並進運動(上体並進モード)と床反力との関係、並びに上体3の回転運動(上体回転モード)と床反力との関係に分離される。具体的には、上体質点24mの水平運動によって発生する床反力は、上体3の水平方向並進運動(上体並進モード)によって発生する床反力に対応し、フライホイールの回転運動によって発生する床反力は、上体3の回転運動(上体回転モード)、すなわち上体3の姿勢変化運動によって発生する床反力に対応する。
尚、ロボット1の腕体の質量は上体質点24mに含まれるものとし、上体質点24mは腕体の質量を含む質量をもつ。本実施形態では、目標歩容における腕体の運動(腕振り運動)は、後述するように、ロボット1の腕振り以外の運動によってロボット1に発生する鉛直軸まわりの慣性力のモーメントを打ち消しつつも、上体3に対する両腕体の全体の重心の相対位置が動かないように行なわれるので、腕体の腕振り運動による(鉛直軸まわり成分を除く)床反力モーメントへの影響と床反力水平成分への影響とは無視する。
図8にセミフルモデルの構造を例示する。同図に示す如く、セミフルモデルは、上体3、各足平22、各脚体2の膝関節の近傍部分(大腿リンクの膝関節寄りの部分)にそれぞれ対応する質点を有すると共に、上体3に上体質点の回りにイナーシャ(慣性モーメント)Ibをもつモデルである。このセミフルモデルでは、動力学的方程式は省略するが、ロボット1の運動と床反力との関係は、前記単純化モデルと同様に、各質点の並進運動および上体3の姿勢変化運動と、床反力(並進床反力および目標ZMP回りの床反力モーメント)との関係として記述される。このセミフルモデルは、前記単純化モデルよりも動力学的精度が高いものとなっている。ここで、セミフルモデルの動力学的精度が単純化モデルよりも高いということは、より詳しくは、ロボット1の任意の目標運動によってセミフルモデル上で発生する床反力が、該目標運動によって単純化モデル上で発生する床反力よりも、当該目標運動を、想定されている床面上で実際のロボット1が行ったときに該ロボット1に実際に作用する実床反力により一致するものとなっている。
なお、前記フルモデル補正部100dで用いるフルモデルは、例えば図9に示す如く、ロボット1の各リンクに質点をもつような多質点モデルである。この場合、ロボット1の各リンクは、それに対応する質点の回りにイナーシャをもつようなものであってもよい。
補足すると、前記セミフルモデルは、フルモデルと同じ構造のものであってもよい。
次に、本実施形態に関して、歩容生成装置100の処理の詳細をより具体的に説明する。
本実施形態における歩容生成装置100は、ロボット1の片方の脚体2が着地してから他方の脚体2が着地するまでの1歩分の目標歩容(前記狭義の目標歩容)を単位として、その1歩分の目標歩容を順番に生成する。ここで、新たに生成しようとしている目標歩容を「今回歩容」、その次の目標歩容を「次回歩容」、さらにその次の目標歩容を「次次回歩容」、というように呼ぶ。また、「今回歩容」の一つ前に生成した目標歩容を「前回歩容」と呼ぶ。
また、歩容生成装置100が今回歩容を新たに生成するとき、該歩容生成装置100には、ロボット1の2歩先までの遊脚側足平22の着地予定位置姿勢、着地予定時刻の要求値(要求)が歩容に対する要求パラメータとして入力される(あるいは歩容生成装置100が記憶装置から要求パラメータを読み込む)。そして、歩容生成装置100は、これらの要求パラメータを基に、補正目標上体位置姿勢軌道、目標足平位置姿勢軌道、目標ZMP軌道、目標床反力鉛直成分軌道、目標腕姿勢軌道、補正目標床反力モーメント軌道等を生成する。
以下に歩容生成装置100の歩容生成処理の詳細を図10〜図21を参照しつつ説明する。図10は、その歩容生成装置100が実行する歩容生成処理のメインルーチンを示すフローチャート(構造化フローチャート)である。なお、このメインルーチン処理の手順自体は、その一部のサブルーチン処理を除いて、例えば本願出願人による前記PCT国際公開公報WO/03/057427/A1(以下、公報文献1という)と同じである。
まずS010において時刻tを0に初期化するなど種々の初期化作業が行なわれる。この処理は、歩容生成装置100の起動時等に行なわれる。次いで、S012を経てS014に進み、歩容生成装置100は、制御周期(図10のフローチャートの演算処理周期)毎のタイマ割り込みを待つ。制御周期はΔtである。
次いで、S016に進み、歩容の切り替わり目であるか否かが判断され、歩容の切り替わり目であるときはS018に進むと共に、切り替わり目でないときはS030に進む。ここで、上記「歩容の切り替わり目」は、前回歩容の生成が完了し、今回歩容の生成を開始するタイミングを意味し、例えば前回歩容の生成を完了した制御周期の次の制御周期が歩容の切り替わり目になる。
S018に進むときは時刻tが0に初期化され、次いでS020に進み、次回歩容支持脚座標系、次次回歩容支持脚座標系、今回歩容周期および次回歩容周期が読み込まれる。これらの支持脚座標系及び歩容周期は、前記要求パラメータにより定まるものである。すなわち、本実施形態では、歩容生成装置100にジョイスティック44等から与えられる要求パラメータは、2歩先までの遊脚側足平22の着地予定位置姿勢(足平22が着地してから足底を床面にほぼ全面的に接触させるように、滑らさずに回転させた状態での足平位置姿勢)、着地予定時刻の要求値を含んでおり、その1歩目の要求値、2歩目の要求値がそれぞれ、今回歩容、次回歩容に対応するものとして、今回歩容の生成開始時(前記S016の歩容の切り替わり目)以前に歩容生成装置100に与えられたものである。なお、これらの要求値は今回歩容の生成途中でも変更することは可能である。
そして、上記要求パラメータにおける1歩目の遊脚側足平22(今回歩容での遊脚側足平22)の着地予定位置姿勢の要求値に対応して次回歩容支持脚座標系が定まる。また、2歩目の遊脚側足平22の着地予定位置姿勢の要求値に応じて次々回歩容支持脚座標系が定まる。また、今回歩容周期は、今回歩容の支持脚側足平22の着地予定時刻(要求値)から、1歩目(今回歩容)の遊脚側足平22の着地予定時刻(要求値)までの時間として定まり、次回歩容周期は、1歩目の遊脚側足平22の着地予定時刻(要求値)から2歩目の遊脚側足平22の着地予定時刻(要求値)までの時間として定まる。
このS020の処理は、前記公報文献1の図13のS020の処理と同一であり、本明細書での説明は以上に留める。
次いでS022に進み、歩容生成装置100は、今回歩容に続く仮想的な周期的歩容としての定常歩容の歩容パラメータ(定常歩容パラメータ)を決定する。ここで決定する歩容パラメータとしては、定常歩容における目標足平位置姿勢軌道を規定する足平軌道パラメータ、基準とする上体姿勢軌道を規定する基準上体姿勢軌道パラメータ、目標腕姿勢軌道を規定する腕軌道パラメータ、目標ZMP軌道を規定するZMP軌道パラメータ、目標床反力鉛直成分軌道を規定する床反力鉛直成分軌道パラメータと、目標床反力水平成分許容範囲を規定するパラメータとがある。
この明細書で「定常歩容」は、その歩容を繰り返したときに歩容の境界においてロボット1の運動状態(足平位置姿勢、上体位置姿勢等の状態)に不連続が生じないような周期的歩容を意味するものとして使用する。「定常歩容」は、ロボット1を直進させる周期的歩容を含むことはもちろん、ロボット1を旋回させる周期的歩容も含む。この場合、旋回率を零とするときは直進を意味することから、「旋回」には、広義の意味で直進も含まれる。このため、本明細書の実施形態では、「定常歩容」をしばしば「定常旋回歩容」と言うこともある。
定常旋回歩容の詳細は、前記公報文献1や特願2000−352011号などにて説明されているので、本明細書での詳細な説明は省略するが、その概要は次の通りである。
周期的歩容である定常旋回歩容は、本実施形態では、ロボット1の2歩分の歩容、すなわち今回歩容に続く第1旋回歩容と該第1旋回歩容に続く第2旋回歩容とからなる歩容を該定常旋回歩容の1周期分の歩容として、その1周期分の歩容を繰り返す歩容である。また、生成する今回歩容が例えばロボット1の走行を行う走行歩容(片脚支持期と空中期とを有する歩容)であるときには、定常旋回歩容の第1旋回歩容及び第2旋回歩容も走行歩容であり、ロボット1の歩行を行う歩行歩容(片脚支持期と両脚支持期とを有する歩容)であるときには、定常旋回歩容の第1旋回歩容及び第2旋回歩容も歩行歩容である。つまり、第1旋回歩容及び第2旋回歩容の基本的な歩容形態は今回歩容と同一である。
なお、以降の説明では、特にことわらない限り、生成する歩容として走行歩容を例にとって説明する。
定常旋回歩容は、歩容生成装置100で今回歩容の終端における発散成分や上体鉛直位置速度、上体姿勢角及びその角速度等のロボット1の運動状態を決定するために暫定的に作成されるものであり、歩容生成装置100からそのまま出力されるものではない。
尚、「発散」とは、ロボット1の上体3の位置が両足平22,22の位置からかけ離れた位置にずれてしまうことを意味する。発散成分の値とは、ロボット1の上体3の位置が両足平22,22の位置(より具体的には、支持脚側足平22の接地面に設定されたグローバル座標系(支持脚座標系)の原点)からかけ離れていく具合を表す数値である。例えば、本明細書の実施形態では、発散成分は、前記した各動力学モデルに対して、次式により求められる。

発散成分=上体質点水平位置+上体質点水平速度/ω0 …式2

この式2のω0は所定の値である。なお、本実施形態では、歩容における発散成分は、式2の上体質点水平位置、上体質点水平速度の代わりに、それぞれ上体水平位置、上体水平速度を用いて求められる。
本明細書の実施形態では、目標歩容が前記発散を生じることなく、継続的に生成されるように、発散成分を指標にして歩容(今回歩容)を生成するようにした。すなわち、これから生成しようとする今回歩容の後に続く定常歩容(より正確には定常歩容パラメータ)が前記今回歩容に係わる要求パラメータ等に応じて設定され、定常歩容の初期発散成分を求めてから、今回歩容の終端発散成分を定常歩容の初期発散成分に一致させる(より一般的には、今回歩容を定常歩容に連続させ、もしくは近づける)ように、今回歩容を生成する。
本題に戻り、S022では、図11に示すサブルーチン処理のフローチャートに従って、定常歩容の歩容パラメータ(定常歩容を規定するパラメータ)が決定される。すなわち、定常歩容に係る前記足平軌道パラメータ、基準上体姿勢軌道パラメータ、腕軌道パラメータ、ZMP軌道パラメータ、床反力鉛直成分軌道パラメータ、目標床反力水平成分許容範囲を規定するパラメータがそれぞれS100〜S110の処理で決定される。そして、S112において、定常歩容の初期時刻Tsと、1歩の期間(定常歩容の1周期の時間)Tcycとが再定義される。これらの処理は、前記公報文献1の図15のフローチャートの処理と同一であるので、ここでの詳細な説明は省略するが、S100〜S110で決定される定常歩容のパラメータは、そのそれぞれのパラメータにより規定される軌道が定常歩容の周期性を満たしつつ、前記した要求パラメータなどにより表される歩容に関する要求を満足するように決定されるパラメータである。例えば、前記公報文献1の図15のフローチャートに関して説明されている如く、定常歩容の足平軌道パラメータは、今回歩容に続く第1旋回歩容の遊脚足平22の着地予定位置姿勢(前記次回歩容支持脚座標系で見た着地予定位置姿勢)が前記した2歩目の着地予定位置姿勢(要求値)に合致し、且つ、該第2旋回歩容の遊脚足平22の着地予定位置姿勢(前記次次回歩容支持脚座標系で見た着地予定位置姿勢)が、今回歩容の遊脚足平22の着地予定位置姿勢(要求値)に合致するように決定される。なお、ZMP軌道パラメータは、足平軌道パラメータを基に、目標ZMPが支持脚足平22の接地面のほぼ中央付近に位置し、且つ、定常歩容の全期間にわたって連続的に変化するように決定される。
また、図13のS112で再定義する定常歩容の初期時刻Tsは、定常歩容の1周期分の歩容を後述するように作成するときの始点の時刻(これは本実施形態では今回歩容の終端の時刻とは相違する)を意味し、第1旋回歩容の空中期(目標床反力鉛直成分が0となる時期)の開始直前の時刻である。また、定常歩容の1歩の期間Tcycは、定常歩容の第1旋回歩容と第2旋回歩容との合計時間の期間である。定常歩容は、その周期性によって、任意の時刻Txにおける状態(ロボット1の各部位の位置姿勢やその変化速度の状態)は時刻Tx+Tcycにおける状態と同一になる歩容である。定常歩容は、2歩分の歩容を1周期とする周期的な歩容であるので、本明細書では、その1周期の期間(第1旋回歩容と第2旋回歩容)との合計時間を定常歩容の1歩の期間とみなす。
補足すると、S100〜S110の処理で決定される定常歩容のパラメータは、定常歩容を規定する全てのパラメータではない。本実施形態では、定常歩容を規定する歩容パラメータ(定常歩容パラメータ)は、S022で決定するパラメータの他に、定常歩容の1周期の期間の始端(該期間の開始時刻)あるいは終端(該期間の終了時刻)における上体3の位置および速度、並びに上体3の姿勢角およびその角速度と、後述の上体傾斜復元モーメントZMP換算値のピーク値とが含まれる。これらのパラメータのうち、上体3の水平位置および水平速度、上体3の姿勢角の角速度、上体傾斜復元モーメントZMP換算値のピーク値は、後述のS024の処理で探索的に決定される。定常歩容パラメータは、それを構成する各パラメータの値と、前記した単純化モデルとを用いて定常歩容を一義的に生成することができる歩容パラメータである。
次いで、S024に進み、定常歩容の初期状態が算出される。ここで算出される初期状態は、定常歩容の初期上体水平位置速度(水平方向での初期上体位置及び初期上体速度)、初期上体鉛直位置速度(鉛直方向での初期上体位置及び初期上体速度)、初期発散成分、初期上体姿勢角およびその角速度である。この初期状態の算出は、図12のサブルーチン処理のフローチャートに従って、前記単純化モデルおよびセミフルモデルを使用して行なわれる。
図12の処理を概略的に説明すれば、時刻Ts(定常歩容の初期時刻)でのロボット1の初期上体水平位置、初期上体水平速度、初期上体姿勢角速度、上体傾斜復元モーメントZMP換算値ピーク値を探索対象として、これらの探索対象を含む定常歩容の初期状態を仮決めし、この初期状態から、動力学モデル(単純化モデルおよびセミフルモデル)を用いて定常歩容の終端(時刻Ts+Tcyc)までの歩容を生成する。そして、その生成した定常歩容が境界条件(初期と終端での状態(本実施形態では上体水平位置、上体水平速度、上体姿勢角、上体姿勢角速度)がほぼ一致すること)を満たしているか否かを判断し、満たしていない場合には、探索対象の値を変更する。これを繰り返すことで、最終的に定常歩容の境界条件を満たすことができる初期状態が決定される。
補足すると、図12の処理の基本的な考え方(手法)は、前記公報文献1の図20の処理と同様である。但し、本明細書の実施形態では、上記探索対象として、上体姿勢角速度と上体傾斜復元モーメントZMP換算値のピーク値とが含まれ、この点は、前記公報文献1の図20の処理と相違している。また、S208の処理の細部の処理(サブルーチン処理)の一部も前記公報文献1のものと相違している。
なお、図12のフローチャートの処理中で求める上体傾斜復元モーメントZMP換算値ピーク値ZMPrecpeekは、ロボット1の片脚支持期(より詳しくは、片脚支持期の開始直後から終了直前までの時期。以下、上体傾斜角復元期間ということがある)で上体姿勢を基準上体姿勢に近づけるために必要な床反力モーメントのZMP換算値ZMPrec(基準となる目標ZMP(S022で決定したZMP軌道パラメータにより規定される目標ZMP)からのずれ量)のピーク値を示すものであり、その例を図示したものが図19である。ZMPrecが同図示の如く台形状のパターンとされ、そのピーク値(台形の高さ)がZMPrecpeekである。
以下に図12の処理を具体的に説明すると、まず、S200において、定常歩容パラメータ(S022で決定されたパラメータ)を基に足平位置姿勢、上体姿勢角θbsおよび腕姿勢の初期状態(定常旋回歩容の初期時刻Tsでの状態)が決定される。なお、これらの初期状態は、第1旋回歩容の支持脚座標系(前記次回歩容支持脚座標系)で見た状態である。この処理では、足平位置姿勢の初期状態は、前記S022で決定した足平軌道パラメータを基に有限時間整定フィルタを用いて算出される足平位置姿勢軌道のうちの時刻Tsでの各足平22の位置姿勢に決定される。該有限時間整定フィルタは、前記公報文献1等にて説明されているので、ここでの説明は省略する。また、上体姿勢角θbsの初期状態は、S022で決定した基準上体姿勢軌道パラメータから定まる時刻Tsでの基準上体姿勢角と同一に決定され、腕姿勢の初期状態は、S022で決定した腕姿勢軌道パラメータにより定まる時刻Tsでの状態と同一に決定される。
次いで、S202において、前記単純化モデル上での初期(時刻Ts)上体水平位置、初期上体水平速度、初期上体姿勢角速度、および上体傾斜復元モーメントZMP換算値のピーク値を探索対象として、これらの探索対象の候補(Xs,Vx,ωbs,ZMPrecpeek)が仮決めされる(探索対象の候補値の初期値が決定される)。この場合、その仮決めの候補値は、基本的には任意でよいが、例えば、前回歩容の生成時に求めた定常歩容の初期状態を基に決定してもよい。なお、これらの仮決めされる値は、第1旋回歩容の支持脚座標系(前記次回歩容支持脚座標系)で見た値である。
次いで、S206〜S218のループ処理が実行される。その処理を概略的に説明すれば、前記の如く仮決めした探索対象を含む定常歩容パラメータと単純化モデルとを用いて定常歩容の初期(時刻Ts)から終端(時刻Ts+Tcyc)までの歩容を生成する。そして、その生成した定常歩容が境界条件(初期と終端での状態(本実施形態では上体水平位置、上体水平速度、上体姿勢角、上体姿勢角速度)がほぼ一致すること)を満たしているか否かを判断し、満たしていない場合には、探索対象の値を変更する。これを繰り返すことで、最終的に単純化モデル上で定常歩容の境界条件を満たすことができる該定常歩容の初期状態が決定される。
S206〜S218の処理をより具体的に説明すると、S206において、単純化モデル上での定常歩容の初期(時刻Ts)の上体鉛直位置および上体鉛直速度(Zs,Vzs)が決定される。この場合、単純化モデル上でのロボット1の全体重心の鉛直方向の慣性力と重力との合力が目標床反力鉛直成分に釣り合い、且つ、全体重心の鉛直位置が定常歩容の境界条件を満たすように決定される。この処理は、前記公報文献1の図20のS206の処理と同様に行なわれる。なお、(Zs,Vzs)は、前述の如く決定もしくは仮決めされたXs1,Vxs1,θbs1,ωs1の値(候補値)に依存する。
次いで、S208において、現在の探索対象の候補値と、上体3の鉛直位置および鉛直速度と、ZMPrecpeekとを含む定常歩容パラメータを基に、単純化モデルを用いて歩容(仮の定常歩容)が時刻Ts+Tcyc(定常歩容の終端)まで生成される。この処理については後述する。
次いで、S210において、S208で生成した歩容の終端の上体水平位置、上体水平速度、上体姿勢角およびその角速度を、該歩容の次の1歩の支持脚座標系(S208で生成した定常歩容の第2旋回歩容に続く第1旋回歩容の支持脚座標系)から見た値に変換し、その値を(Xe,Vxe,θbe,ωbe)とする。
そして、S212において、現在の(Xs,Vxs,θbs,ωbs)の値と、(Xe1,Vxe1,θbe1,ωbe1)の値との差を定常歩容(S208で生成した仮の定常歩容)の境界条件誤差(errx,errv,errθ,errω)として求める。定常歩容の境界条件を満足するためには、境界条件誤差はほぼ0でなければならない。この境界条件誤差は、S208において作成した歩容の、境界条件からのずれ度合いを表すものである。
次いで、S214において、errx,errv,errθ,errωがいずれも十分に小さい(0近傍の)所定の許容範囲内にあるか否かを判断し、その判断結果がYESである場合には、S206〜S218のループ処理を終了し、S220に進む。この場合には、S208で生成した歩容が定常歩容の境界条件を満たしていることとなるので、その歩容が今回歩容をつながらせるべき適切な定常歩容となる。
一方、S214の判断結果がNOである場合には、現在の探索対象(Xs,Vx,ωbs,ZMPrecpeek)の候補値の近辺に、Xs,Vx,ωbs,ZMPrecpeekのそれぞれの値を所定の微小量ΔXs,ΔVx,Δωbs,ΔZMPrecpeekだけ変化させた複数(本実施形態では4個)の探索対象の候補を決めて、それぞれの探索対象の候補を含む定常歩容パラメータ(定常歩容パラメータの探索対象を新たに決めた各候補に修正した定常歩容パラメータ)を基に、S2088〜S212と同じ処理を実行して、それぞれの探索対象の候補に対応する境界条件誤差を求める。
次いで、S218において、現在の(Xs,Vx,ωbs,ZMPrecpeek)およびその近辺の探索対象の候補のそれぞれに対応する境界条件誤差を基に、最急降下法やシンプレックス法などの探索手法によって、探索対象(Xs,Vx,ωbs,ZMPrecpeek)の新たな候補を決定する。そして、S206からの処理が再び繰り返される。
S206〜S218のループ処理を終了した後のS220では、該ループ処理のS208で最後に生成された定常歩容(定常歩容の境界条件を満たす歩容)を基に、本来の初期時刻0(今回歩容の終端時刻)における定常歩容の上体3の運動状態である初期上体水平位置X0、初期上体水平速度Vx0、初期上体姿勢角θb0およびその角速度ωb0、並びに初期上体鉛直位置Z0、初期上体鉛直速度Vz0とが求められる。さらに、S222において、前記した初期発散成分qの定義式に従って、定常旋回歩容の、本来の初期時刻0における発散成分である定常旋回初期発散成分q[0]が求められる。S222で求められる値は、今回歩容に続く定常旋回歩容の第1旋回歩容の支持脚座標系で見た値である。そして、S224において、定常旋回初期発散成分q[0]を今回歩容の支持脚座標系から見た値であるq''と、初期(時刻0)上体鉛直位置・速度を今回歩容の支持脚座標系から見た値である(Z0'',Vz0'')を求める。
以上のようにして、探索対象である(Xs,Vx,ωbs,ZMPrecpeek)の値が、定常歩容の境界条件を満たすように決定され、その探索対象の値を用いて単純化モデル上で生成される定常歩容の、本来の初期時刻(時刻0)における状態(上体3の運動状態)である初期状態(初期発散成分を含む)が決定される。
図12の処理のうちの説明を後回しにしたS208の処理は、図13のフローチャートで示すサブルーチン処理により実行され、さらに、この図13のS306およびS322の処理は、図14のフローチャートで示すサブルーチン処理により実行される。さらに、図14のS412の処理は、図15のフローチャートで示すサブルーチン処理により実行される。以下、これらの処理を説明する。
図13の処理の概要を説明すると、まず、S300〜S312の処理によって、定常歩容の初期時刻Tsから終端時刻Ts+Tcycまでの各時刻k(所定の時間幅Δk毎の時刻)において、単純化モデル上で目標ZMPを満足し、且つ、床反力成分許容範囲を満足するように定常歩容が仮作成される。このとき、その仮作成された歩容の運動(仮運動)によって単純化モデル上で発生する目標ZMPまわりの床反力モーメント水平成分の誤差としての床反力モーメント誤差Merr_p(k)の時系列と、該運動によって単純化モデル上で発生する並進床反力水平成分の誤差としての並進床反力誤差Ferr_p(k)の時系列とが求められる。図13の処理では、定常歩容を作成するだけでなく、これらの誤差Merr_p(k)およびFerr_p(k)を求める処理も含まれる。また、これらの誤差Merr_p(k)およびFerr_p(k)は、図13の処理の中で更新され、最終的に確定される。
ここで、床反力モーメント誤差Merr_p(k)は、それを一般的に言えば、定常歩容の初期時刻Tsから終端時刻Ts+Tcycまでの期間(定常歩容の1周期の期間)において単純化モデル(第1動力学モデル)を用いて生成された歩容の運動によって、セミフルモデル(第2動力学モデル)上で目標ZMPなどの所定の作用点まわりに発生する床反力モーメントと、単純化モデル上で該作用点まわりに発生する床反力モーメントとの差、あるいは、単純化モデル上で所定の作用点まわりの床反力モーメントの目標値を満足するように生成された歩容の運動によって、セミフルモデル上で該作用点まわりに発生する床反力モーメントと該作用点まわりの床反力モーメントの目標値との差の時系列(所定の時間幅Δk毎の時系列)を表すものである。本実施形態では、目標ZMP(S022で決定したZMP軌道パラメータにより規定される目標ZMP)まわりの床反力モーメント水平成分に着目し、単純化モデル上で目標ZMPを満足するように生成された歩容の運動によって、セミフルモデル上で目標ZMPまわりに発生する床反力モーメント水平成分と単純化モデル上で目標ZMPまわりに発生する床反力モーメント水平成分もしくはその目標値(=0)との差(各時刻kでの床反力モーメント水平成分の瞬時値の差)の時系列を床反力モーメント誤差Merr_p(k)の時系列とする。
また、並進床反力誤差Ferr_p(k)は、それを一般的に言えば、定常歩容の初期時刻Tsから終端時刻Ts+Tcycまでの期間(定常歩容の1周期の期間)において単純化モデル(第1動力学モデル)を用いて生成された歩容の運動によって、セミフルモデル(第2動力学モデル)上で発生する並進床反力と、単純化モデル上で発生する並進床反力との差の時系列(所定の時間幅Δk毎の時系列)を表すものである。本実施形態では、並進床反力水平成分を床反力水平成分許容範囲に収めるように歩容を生成することから、並進床反力水平成分に着目し、単純化モデル上で生成された歩容の運動によって、セミフルモデル上で発生する並進床反力水平成分と単純化モデル上で発生する並進床反力水平成分との差(各時刻kでの並進床反力水平成分の瞬時値の差)の時系列を並進床反力誤差Ferr_p(k)の時系列とする。
次いで、S314〜S328のループ処理によって、前記仮作成した歩容の運動を、誤差Merr_p(k)およびFerr_p(k)を用いて修正してなる歩容(仮の定常歩容)が作成される。この場合、歩容の修正は、必要に応じて繰り返され、その都度、誤差Merr_p(k)およびFerr_p(k)が更新される。そして、最終的にS314〜328で作成された歩容が図13の処理で作成すべき歩容として得られる。なお、S300〜S312の処理で仮作成した歩容の運動を修正しない場合もあり、このときには、その仮作成の歩容が図13の処理で作成すべき歩容として得られる。
このS314〜S328の処理においては、定常歩容は、その初期から終端までの各時刻kにおいて、その歩容(作成する定常歩容)の運動によって単純化モデル上で発生する目標ZMPまわりの床反力モーメントに床反力モーメント誤差Merr_p(k)を加えたものが、目標ZMPまわりの真の床反力モーメントであるとみなし、その真の床反力モーメントが0となるように(目標ZMPの本来の定義を満足するように)作成される。また、同時に、定常歩容は、その初期から終端までの各時刻kにおいて、その歩容(作成する定常歩容)の運動によって、単純化モデル上で発生する並進床反力水平成分に並進床反力誤差Ferr_p(k)を加えたものが、真の並進床反力水平成分であるとみなし、その真の床反力水平成分が床反力水平成分許容範囲を満足するように、作成される。この際、Merr_p(k)およびFerr_p(k)は、その信頼性を高めることが望ましいと共に歩容の運動パターンによって変化するので、1周期分の定常歩容の作成が所要の条件を満たすまで(より詳しくは、Merr_p(k)およびFerr_p(k)のそれぞれの時系列パターンがほぼ一定のパターンに収束するまで、もしくは、実質的に収束したであろうと判断されるまで)繰り返される。そして、その都度、定常歩容の1周期分(2歩分)のMerr_p(k)およびFerr_p(k)の時系列を新たに求めて観測することで、適切なMerr_p(k)およびFerr_(k)の時系列が決定される。この場合、誤差Merr_p(k)およびFerr_p(k)の基準とする床反力の真値として、セミフルモデル上で発生する床反力が用いられる。補足すると、単純化モデル上で発生する目標ZMPまわりの床反力モーメントに床反力モーメント誤差Merr_p(k)を加えたものが0となるように歩容を作成するということは、目標ZMPまわりの床反力モーメント水平成分の本来の目標値(=0)から床反力モーメント誤差Merr_p(k)を差し引いてなる床反力モーメント水平成分(=−Merr_p(k))が単純化モデル上で目標ZMPまわりに発生するように歩容を作成することと等価である。
以下に図13の処理を具体的に説明すると、まず、S300において、上体3の運動の初期状態(時刻Tsでの状態)として、図12の処理中で仮決めした値(現在候補値)(Xs,Vxs,θbs,ωs,Zs,Vzs)がセットされる。
次いで、S302において、床反力モーメント誤差Merr_p(k)および並進床反力誤差Ferr_p(k)の時系列の各値が0に初期化される。なお、ここでMerr_p(k)およびFerr_p(k)を0に初期化するのは、後述するS306において、単純化モデル上で目標ZMPを満足し、且つ、床反力水平成分許容範囲を満足する歩容を作成するためである。、
前記S302の次に、S304を経て、定常歩容の初期時刻Tsから終端時刻Ts+Tcycまでの各時刻に対し、S306〜S312の処理が実行される。S306では、S302で初期化した誤差Merr_p(k)およびFerr_p(k)の時系列を用い、単純化モデル上で時刻kの目標ZMP(S022の中で決定されたZMP軌道パラメータにより規定される目標ZMP)まわりに−Merr_p(k)が発生し、且つ、並進床反力水平成分(単純化モデル上での歩容の全体重心の並進加速度水平成分に伴う慣性力に釣り合う並進床反力)にFerr_p(k)を加えたものが時刻kの床反力水平成分許容範囲(S022の中で決定されたパラメータにより規定される床反力水平成分許容範囲)に収まるように定常歩容の瞬時値の時系列が作成される。この場合、S306では、Merr_p(k)=0且つFerr_p(k)=0であるから、S306で作成される(仮作成される)歩容は、結局、単純化モデル上で目標ZMPを満足し、且つ、床反力水平成分許容範囲を満足する歩容となる。S306のより具体的な処理は後述するが、S306の処理の中では、各時刻kにおいて、作成中の歩容の運動によってセミフルモデル上で発生する目標ZMPまわりの床反力モーメント水平成分と該運動によってセミフルモデル上で発生する目標ZMPまわりの床反力モーメント水平成分との差Merr(k)が求められると共に、該運動によってセミフルモデル上で発生する並進床反力水平成分と該運動によって単純化モデル上で発生する並進床反力水平成分との差Ferr(k)が求められる。
次いで、S308において、上記の如く求められたMerr(k)およびFerr(k)のそれぞれと、Merr_p(k)、Ferr_p(k)のそれぞれの現在値との差ΔMerr(k)、ΔFerr(k)が図示の式によって算出される。さらに、S310において、S306で求められたMerr(k)およびFerr(k)がそれぞれMerr_p(k)、Ferr_p(k)の新たな値としてセットされる。そして、S312において時刻kがk+Δkに更新される。以上のS306〜S312の処理が、k=Ts+Tcycとなるまで繰り返される。これにより、単純化モデル上で目標ZMPを満足し、且つ、床反力水平成分許容範囲を満足する歩容の瞬時値の時系列が仮作成されると共に、それに対応するMerr_p(k)およびFerr_p(k)の時系列が決定される。このようにして決定されるMerr_p(k)およびFerr_p(k)は、目標ZMPと床反力水平成分許容範囲を満足するようにS306で作成される歩容の運動(仮運動)によって単純化モデル上で発生する床反力の誤差を表すものである。
補足すると、前記ΔMerr(k)およびΔFerr(k)は、後述するS314〜S328のループ処理の中で、歩容の作成の都度、更新されるMerr(k)およびFerr(k)の変化量を意味するものであり、以降、ΔMerr(k)の時系列を床反力モーメント誤差変化量、ΔFerr(k)の時系列を並進床反力誤差変化量という。ただし、S302においてMerr_p(k)およびFerr_p(k)はいずれも0に初期化されているので、S308で算出されるΔMerr(k)およびΔFerr(k)は、S306で求められたMerr(k)およびFerr(k)にそれぞれ一致する。従って、S308で算出されるΔMerr(k)およびΔFerr(k)は、実質的には、目標ZMPと床反力水平成分許容範囲を満足するようにS306で作成される歩容の運動(仮運動)によって単純化モデル上で発生する床反力の誤差を表すものとなっている。S308で算出されるΔMerr(k)およびΔFerr(k)は、それぞれ床反力モーメント誤差変化量ΔMerr(k)、並進床反力誤差変化量ΔFerr(k)の初期値としての意味を持つ。
次いで、S314を経て、S316の判断処理が実行される。このS316においては、ΔMerr(k)の時系列(現在の時系列)およびΔFerr(k)の時系列(現在の時系列)のそれぞれの所定の特徴量が所定の許容範囲内にあるか否かが判断される。この判断処理は、ΔMerr(k)の時系列およびΔFerr(k)の時系列の両者がそれぞれほぼ0に収束したか否か(これは、Merr_p(k)の時系列パターンおよびFerr_p(k)の時系列パターンがそれぞれほぼ一定のパターンに収束したか否かを意味する)を判断する処理である。この場合、例えばΔMerr(k)の時系列の絶対値(各時刻kでの値の絶対値)のうちの最大値、あるいは、その絶対値の総和、あるいは、該時系列のパターンの実効値、あるいは、該時系列の最大値と最小値との差をΔMerr(k)の時系列の収束判断のための特徴量とし、その特徴量が0に近い許容範囲にあるか否かがS314で判断される。同様に、ΔFerr(k)の時系列の絶対値(各時刻kでの値の絶対値)のうちの最大値、あるいは、その絶対値の総和、あるいは、該時系列のパターンの実効値、あるいは、該時系列の最大値と最小値との差をΔFerr(k)の時系列の収束判断のための特徴量とし、その特徴量が0に近い許容範囲にあるか否かがS314で判断される。なお、ΔMerr(k)とΔFerr(k)とで、特徴量の種類は同じでよいが、同じでなくてもよい。また、その特徴量に対する許容範囲もΔMerr(k)とΔFerr(k)とで同一である必要はない。
補足すると、S300〜S312の処理の終了後、最初にS316の処理を実行するときには、前記したようにΔMerr(k)=Merr_p(k)、ΔFerr(k)=Ferr_p(k)であるから、このときのS316の判断処理は、ΔMerr(k)の時系列およびΔFerr(k)の時系列の収束判断処理というよりも、S300〜S312の処理で作成した歩容に関する床反力モーメント誤差Merr_p(k)および並進床反力誤差Ferr_p(k)がそれぞれ十分に小さいか否か(S300〜S312の処理で作成した歩容の動力学的精度が十分か否か)を評価する処理と言える。つまり、S316の判断処理は、S300〜S312の処理で作成した歩容に関する床反力モーメント誤差Merr_p(k)および並進床反力誤差Ferr_p(k)が十分に小さいか否かを評価する処理と、ΔMerr(k)の時系列およびΔFerr(k)の時系列の収束判断処理とを兼ねている。なお、これらの評価処理と、収束判断処理とは別に行なうようにしてもよい。その場合、該評価処理と、収束判断処理とで、特徴量の種類を別にしてもよく、あるいは、特徴量に対する許容範囲を別にしてもよい。
S316の判断結果がYESである場合には、S314〜S328のループ処理は終了し、図13の処理も終了する。この場合、この時点で、図13の処理により最終的に作成された歩容が図12のS208で作成すべき歩容(定常歩容)として得られる。従って、S300〜S312の処理の終了後、S316の最初の判断結果がYESである場合には、S300〜S312の処理によって作成された歩容が図12のS208で作成すべき歩容(定常歩容)として得られる。なお、その歩容は、S316の判断結果がYESであるので、十分な動力学的精度を有する歩容となっている。
S316の判断結果がNOである限り(ΔMerr(k)の時系列およびΔFerr(k)の時系列の少なくとも一方の時系列の特徴量が許容範囲を逸脱している場合)、S300およびS304〜S312と同様の処理が、S318〜S328で繰り返される。より詳しくは、S318において、S300と同様に上体3の初期状態がセットされる。さらに、S320(これはS304と同じ)を経て、定常歩容の初期時刻Tsから終端時刻Ts+Tcycまでの各時刻に対し、S322〜S328の処理が実行される。これらのS322〜S328の処理は、それぞれ前記S306〜S312の処理と同じである。但し、S322の処理においては、そこで用いるMerr_p(k)およびFerr_p(k)の時系列は、前記S302で初期化された値(=0)ではなく、最新の時系列、すなわち前記S310で更新されたMerr_p(k)およびFerr_p(k)の時系列、あるいは、S318〜S328で繰り返しの中で、一つ前(前回)のS318〜S328の処理におけるS326で更新されたMerr_p(k)およびFerr_p(k)の時系列である。
従って、S318〜S328で繰り返しの中で、第n回目(n=1,2,……)のS322の処理では、第n−1回目の歩容生成時にその歩容の運動に対応して求められる誤差Merr_p(k)およびFerr_p(k)による修正を加えて第n回目の歩容が生成される。詳しくは、第n回目の歩容は、その第n回目の歩容の運動によって、単純化モデル上で、第n−1回目の歩容生成時の床反力モーメント誤差Merr_p(k)の符号を反転させた−Merr_p(k)が時刻kの目標ZMPまわりに発生し、且つ、その第n回目の歩容の運動によって、単純化モデル上で発生する並進床反力水平成分に、第n−1回目の歩容生成時の並進床反力誤差Ferr_p(k)を加えたものが時刻kの床反力水平成分許容範囲に収まるように作成される。なお、この場合において、第0回目の歩容生成は、S300〜S312での歩容生成を意味する。
そして、前記したように、S316の判断結果がYESになると、図13の処理は終了し、この時点で最終的に作成された歩容が図12のS208で作成すべき定常歩容として得られる。
ここで、S318〜S328の処理の繰り返しにおいて、S316の判断結果がNOとなる状態は、その繰り返しの都度、更新されるMerr_p(k)またはFerr_p(k)の時系列のパターンが変化する状態である。そして、そのようなMerr_p(k)およびFerr_p(k)の時系列を用いて修正された歩容の運動から新たに求められるMerr_p(k)またはFerr_p(k)の時系列は、該運動によって単純化モデル上で発生する床反力の誤差を表すものとしての信頼性が低い。これに対して、S316の判断結果がYESとなる状態は、S318〜S328の処理の繰り返しの都度、更新されるMerr_p(k)またはFerr_p(k)の時系列のパターンが定常的なものとなった状態であるから、この状態でのMerr_p(k)またはFerr_p(k)の時系列は、それを用いて修正した歩容の運動によって単純化モデル上で発生する床反力の誤差を表すものとしての信頼性が高い。従って、S316の判断結果がYESになると、図13の処理は終了し、この時点で最終的に作成された歩容は、単純化モデル上で発生する床反力の誤差が適切に反映されたものとなり、動力学的精度の高いものとなる。
図13のS306およびS322の処理(定常歩容の瞬時値の時系列の作成処理)は、図14のフローチャートで示すサブルーチン処理により実行される。
この図14の処理では、まず、S400〜S410の処理によって、前記S022で決定した定常歩容のパラメータを基に、目標床反力鉛直成分、目標ZMP、目標両足平位置姿勢、基準上体姿勢、目標腕姿勢、目標上体鉛直位置、床反力水平成分許容範囲の瞬時値が求められる。このS400〜S410の処理は、前記公報文献1の図22のS400〜S410処理と同じであるので、ここでの詳細説明は省略する。
次いで、S412の処理によって、図中に記載された条件を満たすように上体水平加速度および上体姿勢角加速度の瞬時値が決定される。この場合、Merr_p(k)(第n−1回目の歩容生成時に求めたMerr_p(k))が、作成中の歩容(第n回目の作成中の歩容)の運動によって時刻kにおいて単純化モデル上で発生する目標ZMPまわりの床反力モーメント水平成分の誤差分であるとみなした場合、単純化モデル上で、目標ZMP(S402で求めた目標ZMP)まわりに−Merr_p(k)が発生するように、歩容の運動を決定すれば、その決定した運動によって実際のロボット1が発生する目標ZMPまわりの真の床反力モーメント水平成分(厳密にはセミフルモデル上で発生する目標ZMPまわりの床反力モーメント水平成分)はほぼ0(目標ZMPまわりの床反力モーメント水平成分の本来の目標値)になると考えられる。従って、S412では、単純化モデル上で、目標ZMPまわりに−Merr_p(k)が発生するように上体水平加速度および上体姿勢角加速度を決定する。なお、このことは、作成しようとしている歩容の運動によって単純化モデル上で発生する目標ZMPまわりの床反力モーメント水平成分(≒−Merr_p(k))に誤差Merr_p(k)を加えたものが、目標ZMPまわりの床反力モーメント水平成分の本来の目標値である0になるように、上体水平加速度および上体姿勢角加速度を決定することと等価である。
また、Ferr_p(k)(第n−1回目の歩容生成時に求めたFerr_p(k))が、作成中の歩容(第n回目の作成中の歩容)の運動によって時刻kにおいて単純化モデルで発生する並進床反力水平成分の誤差分であるとみなした場合、単純化モデル上で歩容の運動によって発生する並進床反力水平成分にFerr_p(k)を加えたものが床反力水平成分許容範囲(S410で決定された許容範囲)を超えないように歩容の運動を決定すれば、その決定した運動によって実際のロボット1に作用する並進床反力水平成分(厳密にはセミフルモデル上で発生する並進床反力水平成分)は、当該床反力水平成分許容範囲内に収まると考えられる。従って、S412では、作成しようとしている歩容の運動によって単純化モデル上で発生する並進床反力水平成分にFerr_p(k)を加えたものが、床反力水平成分許容範囲(S410で決定した現在時刻kでの許容範囲)を超えないように上体水平加速度および上体姿勢角加速度を決定する。
なお、S412の処理のより具体的な内容については後述する。
次いで、S414の処理によって、上記の如くS412で決定した上体水平加速度および上体姿勢角加速度をそれぞれ2階積分して、上体水平位置および上体姿勢角の瞬時値が決定される。この時点までに、上体鉛直位置、足平位置姿勢および腕姿勢の瞬時値は既に決定されているので(S404、S408を参照)、これらと、上体水平位置および上体姿勢角の瞬時値とから構成されるロボット1の運動の瞬時値(定常歩容の目標運動の瞬時値)が決定されたこととなる。補足すると、本実施形態のロボット1は、各脚体2が6自由度を有するので、各足平22の目標位置姿勢の瞬時値と上体3の目標位置姿勢の瞬時値とが決まれば、ロボット1の各脚体2の各関節の変位量は一義的に定まる。
また、S414に続くS415の処理によって、上記の如く決定された定常歩容の目標運動によって単純化モデル上で発生する時刻k(現在時刻)における目標ZMPまわりの床反力モーメント水平成分Msmpl(k)と、並進床反力水平成分Fsmpl(k)とが算出される。
この場合、決定された足平位置姿勢、上体位置・速度、上体姿勢角・角速度からなる目標運動を基に、単純化モデルを用いて目標ZMPまわりの床反力モーメント水平成分Msmpl(k)と並進床反力水平成分Fsmpl(k)とを算出すればよい。すなわち、Msmpl(k)は、目標運動に対応して定まる、単純化モデルの各要素(本実施形態では質点およびフライホイール)の運動によってそれぞれ発生する慣性力と単純化モデルの全体重心に作用する重力との合力が目標ZMPまわりに発生するモーメントの水平成分の瞬時値(各時刻kでの値)の符合を反転させたものとして算出される。また、Fsmpl(k)は、目標運動に対応する単純化モデルの全体重心の並進加速度の水平成分の瞬時値(各時刻kでの値)に単純化モデルの全体質量を乗じてなる値(全体重心の運動が発生する慣性力の水平成分)の符号を反転させたものとして算出される。
なお、Msmpl(k)およびFsmpl(k)は、上述のように単純化モデルの演算を行なう代わりに、次式によって求めてもよい。

Msmpl(k)=0−Merr_p(k) ……式3a
Fsmpl(k)=Fx'(k)−Ferr_p(k) ……式3b

すなわち、S410〜S414までの処理で作成する歩容は、目標ZMPまわりに−Merr_p(k)(より正確には、目標ZMPまわりの本来の目標床反力モーメント水平成分(=0)からMerr_p(k)を差し引いたもの)が発生するように作成されるので、その歩容の運動によって単純化モデル上で発生する目標ZMPまわりの床反力モーメントMsmpl(k)は、−Merr_p(k)に一致もしくはほぼ一致する。従って、Msmpl(k)は、前記式3aにより求めてもよい。なお、当然ながら、式3a中の「0」は省略してもよい。
また、式3b中のFx'(k)は、S410〜S414までの処理で作成する歩容の運動によって単純化モデル上で発生する並進床反力水平成分Fsmpl(k)に、並進床反力誤差(並進床反力水平成分誤差)Ferr_p(k)を加えたものであり、それは、S412の後述する処理の中で床反力水平成分許容範囲を満足するように決定される(より詳しくは、上体水平加速度を決定するときの床反力水平成分(Fsmpl(k)+Ferr_p(k))の目標値(床反力水平成分許容範囲を満足する目標値)として決定される)。従って、S410〜S414までの処理で作成する歩容の運動によって単純化モデル上で発生する並進床反力水平成分Fsmpl(k)は、式3bの右辺の値と一致もしくはほぼ一致するので、Fsmpl(k)をS412の処理中で決定するFx'(k)の値を用いて式3bにより求めてもよい。
上記のように式3a、式3bを用いてMsmpl(k)およびFsmpl(k)を求めてもよいことは、後述する今回歩容の作成処理(後述のS028の処理、あるいはS032の処理)においても同様である。
次いで、S415に続くS416の処理によって、上記の如く決定された歩容の目標運動を基に、前記セミフルモデル上で発生する目標ZMPまわりの床反力モーメント水平成分の瞬時値Msemifull(k)と並進床反力水平成分の瞬時値Fsemifull(k)とが算出される。その算出の仕方は、前記S415において単純化モデル上での瞬時値Msmpl(k)、Fsmpl(k)を算出する場合と同様である。ただし、この場合は、前記式3a,3bと同様の手法でMsemifull(k)、Fsemifull(k)を求めることはできないので、セミフルモデルの実際の演算処理を行なう必要がある。これらのMsemifull(k)、Fsemifull(k)は、それぞれ目標運動に従って実際のロボット1の運動を行ったときにロボット1に作用する床反力モーメント水平成分、並進床反力水平成分の真値に相当するものである。
次いで、S418の処理において、次式3c,3dによって、新たな床反力モーメント誤差Merr(k)および並進床反力誤差Ferr(k)(第n回目の歩容生成時に求める誤差Merr(k)、Ferr(k))が算出される。

Merr(k)=Msemifull(k)−Msmpl(k) ……式3c
Ferr(k)=Fsemifull(k)−Fsmpl(k) ……式3d

補足すると、本実施形態では、図13のS306およびS322のサブルーチン処理を同じにしたが、S306およびS322のサブルーチン処理を各別に構築してもよい。この場合、S306の処理では、当初からMerr_p(k)=0、Ferr_p(k)=0を前提としてアルゴリズムを構築しておけばよく、その場合には、図13のS302の処理は不要である。また、S306の処理の中のS415において、前記式3aを適用する場合には常にMsmpl(k)=0となるので、S322の処理の中では、S415の処理を省略してもよい。以上説明した補足事項は、後述する今回歩容の作成処理(後述のS028の処理)においても同様である。
図14のS412のサブルーチン処理は、図15のフローチャートで示す如く実行される。
この図15の処理では、まず、定常歩容の上体傾斜角復元期間を規定する時刻Tm、Ts2、Tm2を決定する。これらの時刻は、図19に示す如く、前記上体傾斜復元モーメントZMP換算値ZMPrecを発生させる期間を規定するものである。すなわち、定常歩容の初期時刻Tsの後の最初の片脚支持期の開始直後の時刻をTm、該片脚支持期の終了直前の時刻をTs2、次の片脚支持期の開始直後の時刻をTm2として決定する。そして、期間[Tm,Ts2]と、期間[Tm2,Te]を、それぞれZMPrecを発生させる期間(定常歩容における上体傾斜角復元期間)とする。これは、前記公報文献1の図23のS500の処理と同じである。
次いで、S502において、定常歩容の瞬時値を作成しようとしている現在時刻k(作成中の定常歩容内での時刻)が上体傾斜角復元期間にあるか否かが判断される。そして、現在時刻kが前記上体傾斜角復元期間内の時刻でないとき、換言すれば、現在時刻kが、片脚支持期の終了直前から次の片脚支持期の開始直後までの期間(目標床反力鉛直成分が0であるかもしくは0に近い期間)にあるとき)には、S504〜S518の処理が実行される。これらの処理では、まず、目標ZMPまわりの本来の目標床反力モーメント水平成分(=0)から床反力モーメント誤差(床反力モーメント水平成分誤差)の現在値Merr_p(k)を差し引いてなる床反力モーメント水平成分−Merr_p(k)が単純化モデル上で発生するように、前記上体並進モードの運動による上体水平加速度αtmpを算出する(S504)。αtmpは作成中の歩容における上体水平加速度の仮値である。そして、上体水平加速度がαtmpである場合の単純化モデルの全体重心の水平加速度による慣性力に釣り合う並進床反力水平成分Fxtmpに、並進床反力誤差(並進床反力水平成分誤差)の現在値Ferr_p(k)を加えてなる並進床反力水平成分Fxtmp'(=Fxtmp+Ferr_p(k))が床反力水平成分許容範囲と比較される(S506〜S510)。この比較において、Fxtmp’が床反力成分許容範囲を逸脱している場合には、作成中の歩容の運動によって発生させるべき並進床反力水平成分Fx’(このFx’は、作成中の歩容の運動によって単純化モデル上で発生する並進床反力水平成分にFerr_p(k)を加えたものの目標値を意味する)を床反力水平成分許容範囲の上限値Fxmaxまたは下限値Fxminに制限し、Fxtmp’が床反力成分許容範囲に収まっている場合には、FxtmpをそのままFx'として決定する(S512〜S514)。
そして、作成中の歩容の運動によって単純化モデル上で発生させる並進床反力水平成分Fxに、並進床反力誤差(並進床反力水平成分誤差)の現在値Ferr_p(k)を加えてなる並進床反力水平成分(=Fx+Ferr_p(k))が上記の如く決定したFx'に一致するように、前記上体並進モードの上体水平加速度αが決定されると共に、この上体水平加速度αの上体並進モードの運動と前記上体回転モードの運動とによって単純化モデル上で目標ZMPまわりの床反力モーメント水平成分が−Merr_p(k)になるように、該上体回転モードの上体角加速度βが決定される(S518)。
これにより、単純化モデル上で目標ZMPまわりに−Merr_p(k)が発生し(作成中の歩容の運動によって単純化モデル上で目標ZMPまわりに発生する床反力モーメント水平成分に床反力モーメント誤差の現在値Merr(k)を加えたものが目標ZMPまわりの本来の目標値である0になり)、且つ、単純化モデル上で全体重心の水平加速度による慣性力に釣り合う床反力水平成分Fxに、並進床反力誤差の現在値Ferr_p(k)を加えてなる並進床反力水平成分Fx'(これは作成中の歩容の運動によって真に発生する並進床反力水平成分に相当する)が床反力水平成分許容範囲に収まるように上体並進モードの上体水平加速度αと上体回転モードの上体角加速度βとが決定される。
また、現在時刻k(作成中の定常歩容内での時刻)が前記上体傾斜角復元期間内の時刻であるときには、S520〜S530の処理が実行される。これらの処理では、まず、上体角加速度βは、単純化モデル上で、上体傾斜復元モーメントZMP換算値パターンの瞬時値(これは、前記S12の処理中で仮決定された上体傾斜復元モーメントZMP換算値ピーク値(最新の候補値)と現在時刻kとに応じて定まる。図19を参照)に対応する床反力モーメントを目標ZMPまわりに発生するように決定される(S520およびS522)。また、上体水平加速度αは、単純化モデル上で、上体並進モードの運動によって発生する目標ZMPまわりの床反力モーメントが、本来の目標床反力モーメント水平成分(=0)から床反力モーメント誤差の現在値Merr_p(k)を差し引いてなる床反力モーメント水平成分−Merr_p(k)に一致するための上体水平加速度αtmpと、先に決定した上体角加速度βによる床反力モーメントと同等の床反力モーメントを発生する上体水平加速度との差として求められる(S524およびS526)。
これにより、単純化モデル上で、上体姿勢を基準上体姿勢に向かって復元させつつ、目標ZMPまわりに、−Merr_p(k)が発生するように上体角加速度βおよび上体水平加速度αが決定される。同時に、上体水平加速度が上記の如く求めた加速度αである場合に、単純化モデル上で全体重心の水平加速度による慣性力に釣り合う床反力水平成分Fxに、並進床反力誤差の現在値Ferr_p(k)を加えてなる並進床反力水平成分Fx'が作成中の歩容の運動によって真に発生する並進床反力水平成分として決定される。なお、現在時刻kが前記上体傾斜角復元期間内の時刻であるときには、床反力水平成分許容範囲は十分に大きいので、上記の如く決定される並進床反力水平成分Fx'は該許容範囲を逸脱することはない。このため、SS520〜S530の処理では、Fx’を床反力水平成分許容範囲と比較することは行なっていない。
補足すると、図15の処理の基本的な考え方(手法)は、前記公報文献1の図22の処理と同様である。但し、同公報文献1のものでは、単純化モデル上で目標ZMPを満足し(目標ZMPまわりの床反力モーメント水平成分が0になる)、且つ、単純化モデル上で床反力水平成分許容範囲を満足するように上体水平加速度および上体姿勢角加速度が決定される。これに対して、本実施形態の図15の処理では、目標ZMPまわりの本来の目標床反力モーメント水平成分(=0)から床反力モーメント誤差の現在値Merr_p(k)を差し引いてなる床反力モーメント水平成分−Merr_p(k)が単純化モデル上で発生し(換言すれば、単純化モデル上でロボット1の運動によって目標ZMPまわりに発生する床反力モーメント水平成分に、床反力モーメント誤差の現在値Merr_p(k)を加えたものが目標ZMPまわりの本来の目標床反力モーメント水平成分である0になる)、且つ、単純化モデル上で全体重心の水平加速度による慣性力に釣り合う床反力水平成分Fxに、並進床反力誤差の現在値Ferr_p(k)を加えてなる並進床反力水平成分Fx’が床反力水平成分許容範囲を満足する(該許容範囲内に収まる)ように上体水平加速度および上体姿勢角加速度が決定される。
なお、本実施形態では、単純化モデル上で全体重心の水平加速度による慣性力に釣り合う床反力水平成分Fxに、並進床反力誤差の現在値Ferr_p(k)を加えてなる並進床反力水平成分Fx'が床反力水平成分許容範囲を満足する(該許容範囲に収まる)ようにしたが、Fxが、床反力水平成分許容範囲の上限値および下限値からそれぞれ並進床反力誤差の現在値Ferr_p(k)を減じてなる許容範囲を満足するように上体水平加速度および上体姿勢角加速度を決定するようにしてもよい。このようにしても、元の方法と等価である。
本実施形態では、以上説明した如く、定常歩容を生成するので、S024で最終的に生成された定常歩容は、その運動によってセミフルモデル上で発生する床反力(これは該運動によって実際のロボット1に作用する床反力に精度よく一致する)が、目標ZMPと床反力水平成分許容範囲とを満足するように決定されることとなる。この際、定常歩容は、歩容の運動に対して単純化モデル上で発生する床反力の誤差Merr_p(k)およびFerr_p(k)を加味した上で、線形性の高い単純化モデルの動力学を基に生成される。また、定常歩容の各時刻kの瞬時値は、その時刻でのMerr_p(k)およびFerr_p(k)による修正を加えて生成される。そして、この場合に用いるMerr_p(k)およびFerr_p(k)は、S316の収束判断結果がYESになった状態でのものであるので、単純化モデル上で発生する床反力の誤差を表すものとしての信頼性が高い。このため、歩容の運動が発散したりすることなく短時間で効率よく定常歩容の初期状態を探索的に決定することができる。また、セミフルモデルは、単純化モデルを用いて作成した歩容の運動によって発生する床反力(床反力モーメント水平成分および並進床反力水平成分)を算出するためにだけに用いられるので、その算出は、探索的な処理などを必要とせずに、短時間で容易に行なうことができる。
図10の説明に戻って、以上説明したようにS024の処理を実行した後、S026において、今回歩容の歩容パラメータが決定(一部は仮決定)される。この処理は、図16のフローチャートに従って実行される。ここで決定する歩容パラメータとしては、今回歩容における足平位置姿勢軌道(各足平22の位置姿勢軌道)、基準上体姿勢軌道、腕姿勢軌道、床反力鉛直成分軌道、床反力水平成分許容範囲、ZMP軌道を規定するパラメータがあり、これらの各パラメータががS600〜S610の処理で決定される。そして、S612において、今回歩容における上体傾斜角復元期間[Ta,Tb]が設定される。これの処理は、前記公報文献1の図33のフローチャートの処理と同一であるので、ここでの詳細な説明は省略するが、上記各軌道が前回歩容の終端の状態(今回歩容の初期状態)から、今回歩容に関する前記した要求を満たしつつ、定常歩容につながるように各軌道を規定する歩容パラメータが決定される。例えば、今回歩容の遊脚足平22に関する足平軌道パラメータは、今回歩容の遊脚足平22の着地予定位置姿勢および時刻がそれらの要求値を満たしつつ、今回歩容の終端において該遊脚足平22の位置姿勢が定常歩容の初期(今回歩容の終端の時刻)で一致するように決定される。
補足すると、S610で決定されるZMP軌道パラメータは仮値であり、その仮値により規定されるZMP軌道の例(X軸方向の軌道の例)が図21の最上段に示されている。該ZMP軌道パラメータは、今回歩容の片脚支持期において、支持脚足平22の接地面のほぼ中央付近に目標ZMPが位置し、且つ、片脚支持期に続く空中期では、目標ZMPが今回歩容の終端において定常歩容の初期のZMPまで連続的に変化するように決定される。また、図16のS612で設定する上体傾斜角復元期間は、図21の時刻Taから時刻Tbまでの期間であり、今回歩容の片脚支持期の開始直後から終了直前までの期間である。
なお、S600〜S610の処理で決定される今回歩容のパラメータは、今回歩容パラメータを構成する全てのパラメータではない。本実施形態では、今回歩容を規定する歩容パラメータ(今回歩容パラメータ)は、S026で決定するパラメータの他に、ZMP軌道パラメータにより規定されるZMP軌道を修正するためのZMP修正パラメータと、上体傾斜復元モーメントZMP換算値のピーク値(この場合2種類のピーク値)とが含まれる。これらのパラメータは、以下に説明するS028の処理の中で探索的に決定される。
次いで、S028に進んで、今回歩容の歩容パラメータ(ZMP軌道パラメータ)が修正される。この処理では、今回歩容の終端における発散成分がS024で決定した定常旋回歩容の初期発散成分に一致するように(より詳しくは上体位置姿勢軌道を定常歩容に連続させ、もしくは近づけるように)、今回歩容の歩容パラメータが修正されて、最終的な今回歩容パラメータが決定される(より詳しくは、ZMP修正パラメータと上体傾斜復元モーメントZMP換算値の2種類のピーク値とが決定される)。
この処理は、図17のフローチャートで示すサブルーチン処理に従って行われる。
図17の処理を概説すると、単純化モデル上で、今回歩容の終端発散成分が定常歩容の初期発散成分に一致もしくはほぼ一致するように(今回歩容を定常歩容につながらせるように)、ZMP修正量を規定するパラメータであるZMP修正パラメータaと、上体傾斜復元モーメントZMP換算値の第1ピーク値ZMPrecpeekaおよび第2ピーク値ZMPrecpeekbとが探索的に決定される。ここで、図17の処理中で求める上体傾斜復元モーメントZMP換算値の第1ピーク値ZMPrecpeekaおよび第2ピーク値ZMPrecpeekbは、今回歩容の上体傾斜角復元期間[Ta,Tb]で上体姿勢を基準上体姿勢に近づけるために必要な床反力モーメントのZMP換算値のパターンの2つのピーク値を示すものであり、その例を図示したものが図20である。定常歩容の場合の上体傾斜復元モーメントZMP換算値のピーク値は1つであったが、今回歩容の終端における上体姿勢角およびその角速度をそれぞれ定常歩容の初期上体姿勢角およびその角速度に一致させるために、本実施形態では、上体傾斜復元モーメントZMP換算値の調整可能な2つのパラメータとして、第1ピーク値ZMPrecpeekaおよび第2ピーク値ZMPrecpeekbが用いられる。本実施形態では、図20に示す如く、今回歩容における上体傾斜復元モーメントZMP換算値は、片脚支持期の前半の台形状のパターンと、後半側の台形状のパターンとを合成した形のパターンとされ、その前半側の台形状のパターンのピーク値が第1ピーク値ZMPrecpeeka、後半側の台形状のパターンのピーク値が第2ピーク値ZMPrecpeekbである。
また、図17の処理中で求めるZMP修正パラメータaは、今回歩容を定常歩容につなげる(今回歩容の終端の発散成分を定常歩容の初期発散成分q''にほぼ一致させる)ための目標ZMPの修正量を規定するパラメータであり、その例を図示したものが、図21の中段の図である。図示の如く、ZMP修正パラメータaにより規定されるZMP修正量は、片脚支持期の開始直後から終了直前まで発生させる台形状のパターンとされ、そのピーク値aがZMP修正パラメータとして用いられる。
図17の処理をより詳しく説明すると、まず、S700において、探索対象であるa、ZMPrecpeekaおよびZMPrecpeekbの単純化モデル上での値の初期候補が仮決定される。この場合、その初期候補は、基本的には、任意でよいが、例えば前回歩容の作成時に最終的に決定したa、ZMPrecpeekaおよびZMPrecpeekbの値などを基に決定してもよい。
次いで、S704〜S714のループ処理が実行される。その処理を概略的に説明すれば、まず、S704において、探索対象であるa、ZMPrecpeekaおよびZMPrecpeekbの現在の候補値と単純化モデルとを用いて今回歩容(仮今回歩容)が算出される。より詳しくは、ZMP修正パラメータaの現在値を基に修正したZMP軌道パラメータと、ZMPrecpeekaおよびZMPrecpeekbの現在値と、S026で決定したZMP軌道パラメータ以外のパラメータ(足平軌道パラメータ、床反力鉛直成分軌道パラメータ等)とから構成される今回歩容パラメータと、単純化モデルを用いて仮今回歩容が算出される。なお、S704のより具体的な処理については後述する。
そして、S706〜S716において、S704で算出した仮今回歩容の終端(今回歩容の遊脚足平の着地予定時刻)での発散成分と定常歩容の初期発散成分q''(前記S024で最終的に算出したもの)との差、仮今回歩容の終端での上体姿勢角と定常歩容の初期上体姿勢角(前記S024で最終的に算出したもの)との差、並びに、仮今回歩容の終端での上体姿勢角の角速度と定常歩容の初期上体姿勢角速度(前記S024で最終的に算出したもの)との差が求められる。そして、これらの差の値がいずれも許容範囲内にあるか否か(0に近いか否か)の条件を満たしているか判断し、満たしていない場合には、探索対象の値を変更する。これを繰り返すことで、最終的に単純化モデル上で仮今回歩容を定常歩容につながらせることが可能な歩容パラメータの修正値としてのa、ZMPrecpeekaおよびZMPrecpeekbが決定される。
S706〜S716の処理をより具体的に説明すると、S706において、仮今回歩容の終端での上体位置速度(Xe,Ve)から、該仮今回歩容の終端発散成分q0[k]を前記した発散成分の定義式に従って算出する。
次いで、S708において、この終端発散成分q0[k]と定常旋回歩容の初期発散成分q''との差を終端発散成分誤差errqとして求める。
さらに、S710において、定常歩容の初期上体姿勢角と、S704で作成した仮今回歩容の終端上体姿勢角との差を終端上体姿勢角誤差θberrとして求めると共に、定常歩容の初期上体姿勢角速度と、S704で作成した仮今回歩容の終端上体姿勢角速度との差を終端上体姿勢角速度誤差ωberrとして求める。
上記の如くもとめた誤差errq、θberr、ωberrは、S704において作成した仮今回歩容の境界条件(今回歩容がその終端で定常歩容につながるという条件)からのずれ度合いを表すものである。
次いで、S712において、上記の如くもとめたerrq、θberr、ωberrがいずれも0近傍の所定の許容範囲内にあるか否かを判断し、その判断結果がYESである場合には、S704〜S716のループ処理を終了する。この場合、探索対象の現在の候補値を含む今回歩容パラメータが単純化モデル上で定常歩容につながるような歩容を生成し得る今回歩容パラメータとして得られる。
一方、S712の判断結果がNOである場合には、現在の探索対象(a,ZMPrecpeeka,ZMPrecpeekb)の候補値の近辺に、それぞれのパラメータの値を所定の微小量Δa,ΔZMPrecpeeka,ΔZMPrecpeekbだけ変化させた複数(本実施形態では3個)の探索対象の候補を決めて、それぞれの探索対象の候補を含む今回歩容パラメータを基に、S704〜S710と同じ処理を実行して、それぞれの探索対象の候補に対応する誤差(errq、θberr、ωberr)の組を求める。
次いで、S716において、探索対象の現在の候補(a,ZMPrecpeeka,ZMPrecpeekb)およびその近辺の探索対象の候補のそれぞれに対応する誤差(errq、θberr、ωberr)の組を基に、最急降下法やシンプレックス法などの探索手法によって、探索対象(a,ZMPrecpeeka,ZMPrecpeekb)の新たな候補を決定する。そして、S704からの処理が再び繰り返される。
以上のようにして、(a,ZMPrecpeeka,ZMPrecpeekb)を探索対象として、今回歩容が定常歩容につながるように今回歩容パラメータが探索的に決定される。
かかる図17の処理のうちのS704の処理は、図18のフローチャートで示すサブルーチン処理により実行される。
この図18の処理は、定常歩容の作成に係わる前記図13の処理と同様に、目標ZMPまわりの床反力モーメント誤差および並進床反力誤差を決定し、今回歩容(仮今回歩容)の瞬時値をその初期から終端まで時系列的に逐次作成する処理である。この場合、図13の定常歩容の生成処理との違いは、歩容の初期状態と、歩容生成の期間だけである。より詳しくは、この相違点に関し、図18の処理では、S800、S818において、前回歩容の終端状態(詳しくは今回歩容の支持脚座標系で見た終端状態)が今回歩容(仮今回歩容)の初期状態として設定される。また、S804〜S812の処理、並びに、S820〜S828の処理を実行する期間は、今回歩容の初期時刻(k=0)から、今回歩容の終端時刻Tcurr(今回歩容の遊脚足平22の着地予定時刻)までの期間である(S804、S820を参照)。これ以外の処理は、図13の処理と同一である。この場合、S804〜S812の処理は、図13のS304〜S312の処理に対応し、S820〜S828の処理は、図13のS320〜S328の処理に対応している。従って、図18のS806、S822の処理は、前記図14のサブルーチン処理によって実行され、図14のS412の処理は、図15のサブルーチン処理によって実行される。ただし、図18のS806、S822の処理の中では、図14のS412のサブルーチン処理である図15の処理においては、S500の処理は省略される。これは、今回歩容の上体傾斜角復元期間は図16のS612で設定された期間[Ta,Tb]であるからである。
本実施形態では、S028において以上説明した如く仮今回歩容を生成する。この場合、定常歩容の作成の場合と同様、図18のS800〜S812の処理では、今回歩容の初期から終端まで、単純化モデル上で目標ZMP(S026で決定したZMP軌道パラメータにより規定される目標ZMPを図17の処理中で仮決定したZMP修正パラメータa(最新の候補値)によって修正してなる目標ZMP)を満足し、且つ、床反力水平成分許容範囲(S026で決定したパラメータにより規定される許容範囲)を満足するように今回歩容が仮作成される。そして、この仮作成された歩容の運動(仮運動)を基に、単純化モデルとセミフルモデルとを用いて床反力モーメント誤差(床反力モーメント水平成分誤差)Merr_p(k)と並進床反力誤差Ferr_p(k)との時系列と、床反力モーメント誤差変化量ΔMerr(k)の時系列の初期値(=Merr_p(k))および並進床反力誤差変化量ΔFerr(k)の時系列の初期値(=Ferr_p(k))とが決定される。
さらに、図18のS814〜S828の処理によって、床反力モーメント誤差変化量ΔMerr(k)の時系列および並進床反力誤差変化量ΔFerr(k)の時系列のそれぞれの特徴量が、共に所定の許容範囲に収まって、S816の判断結果がYESになるまで(それぞれの特徴量が0に収束するまで)、Merr_p(k)およびFerr_p(k)の時系列の最新値を用いて歩容の修正(歩容の作成)が繰り返される。この場合、繰り返しの中で、第n回目(n=1,2,……)に作成される歩容は、今回歩容の各時刻kにおいて、第n回目の歩容の運動によって単純化モデル上で上記目標ZMPまわりに発生する床反力モーメント水平成分が−Merr_p(k)(第n−1回目の歩容生成時に求めた誤差Merr_p(k)の符号を反転させたもの)になり、且つ、第n回目の歩容によって単純化モデル上で発生する並進床反力水平成分にFerr_p(k)(第n−1回目の歩容生成時に求めた誤差Ferr_p(k))を加えたものが今回歩容に係わる床反力水平成分許容範囲に収まるように作成される。なお、第0回目の歩容は、S800〜S812の処理で作成された歩容である。
そして、S816の判断結果がYESになると、図13の処理は終了し、この時点で最終的に作成された歩容が図17のS704で作成すべき今回歩容(仮今回歩容)として得られる。なお、S800〜S812の処理の終了後の最初のS816の判断結果がYESであれば、S800〜S812の処理で作成された歩容(第0回目の歩容)が図17のS704で作成すべき今回歩容(仮今回歩容)として得られる。
補足すると、S816の判断処理においては、前記S316の場合と同様、ΔMerr(k)とΔFerr(k)とで、特徴量の種類は同じでよいが、同じでなくてもよい。また、その特徴量に対する許容範囲もΔMerr(k)とΔFerr(k)とで同一である必要はない。また、S816の判断処理は、S316の場合と同様、S818〜S828の処理の繰り返しにおけるΔMerr(k)およびΔFerr(k)の収束判断だけでなく、800〜S812の処理の終了後の最初のS816の処理は、S800〜S812の処理で作成した歩容に関する床反力モーメント誤差Merr_p(k)および並進床反力誤差Ferr_p(k)がそれぞれ十分に小さいか否か(S300〜S312の処理で作成した歩容の動力学的精度が十分か否か)を評価する処理を兼ねている。なお、これらの評価処理と、収束判断処理とはS316の場合と同様、別に行なうようにしてもよく、その場合、該評価処理と、収束判断処理とで、特徴量の種類を別にし、あるいは、特徴量に対する許容範囲を別にしてもよい。
以上のようにしてS028で最終的に生成される仮今回歩容は、その運動によってセミフルモデル上で目標ZMPと床反力水平成分許容範囲とを満足しつつ、定常歩容につながるような(今回歩容の境界条件を満たすような)ものとなる。この際、仮今回歩容は、単純化モデル上での床反力の誤差Merr_p(k)およびFerr_p(k)を加味した上で、該単純化モデルの動力学を基に生成される。また、今回歩容の各時刻kの瞬時値は、その時刻でのMerr_p(k)およびFerr_p(k)による修正を加えて生成される。そして、この場合に用いるMerr_p(k)およびFerr_p(k)は、S816の収束判断結果がYESになった状態でのものであるので、単純化モデル上で発生する床反力の誤差を表すものとしての信頼性が高い。このため、歩容の運動が発散したりすることなく短時間で効率よく今回歩容の歩容パラメータ(a、ZMPrecpeekaおよびZMPrecpeekb)を探索的に決定することができる。
図10の説明に戻って、以上説明したようにS028の処理を実行した後、S030に進んで、フルモデル補正用のZMP許容範囲と床反力水平成分許容範囲を規定するパラメータが決定される。
この処理は、前記公報文献1の図13のS030の処理と同一であり、ここでの説明は省略する。
以上説明したS018〜S030までの処理が、前記歩容パラメータ決定部100aで実行される処理である。補足すると、S028で最終的に生成された仮今回歩容に係るMerr_p(k)の時系列が前記床反力モーメント誤差軌道(図5参照)であり、また、該仮今回歩容に係るFerr_p(k)の時系列が前記並進床反力誤差軌道(図5参照)である。
S030の処理を実行した後、あるいは、S016の判断結果がNOであるときには、S032に進んで、今回歩容の瞬時値を逐次決定する。この処理のサブルーチン処理は、前記図14のフローチャートの処理と同じである。但し、この場合には、S412で用いるMerr_p(k)およびFerr_p(k)の時系列の値として、前記図10のS028で最終的に決定された値が用いられる。また、S416およびS418の処理は省略される。また、今回歩容の瞬時値の時系列の時間の刻み幅(前記Δkの値)は、制御ユニット60の制御周期Δtとされる。
次いで、S034に進んで、ロボット1のスピン(鉛直軸まわりの回転)をキャンセルするための腕体の動作が決定される。この処理は、ロボット1の腕を振らずに目標歩容通りにロボット1を運動させた場合に目標ZMPまわりに発生する床反力モーメントの鉛直成分と逆向きの床反力モーメントを腕体の腕振り(両腕を前後逆方向に振る運動)によって発生させるように腕体の姿勢を決定するものであり、前記公報文献1の図13のS034と同様に行われる。その詳細は、同公報文献1に記載されているので、ここではさらなる説明を省略する。
補足すると、S032の中のS412およびS414の処理とS034の処理とが、前記単純化モデル歩容生成部100cで実行される処理である。
次いで、S036に進んで、フルモデル補正用(前記フルモデル補正部100eの処理用)のZMP許容範囲の瞬時値と、床反力水平成分許容範囲の瞬時値とが決定される。この処理では、前記S030で決定したZMP許容範囲および床反力水平成分許容範囲を規定する歩容パラメータに基づいて決定される。
補足すると、S032〜S036(S032の中のS412およびS414の処理とS034の処理とを除く)の処理が、前記目標瞬時値発生部100bで実行される処理である。
次いで、S038に進んで、フルモデルを用いた補正歩容を発生する。この処理は、前記フルモデル補正部100cにより実行される処理である。この場合、この処理は、前記公報文献1の図13のS038の処理と同一であり、同公報文献1に記載されたとおりに実行される。従って、本明細書では詳細な説明は省略する。この処理により、目標上体位置姿勢(前記変位次元補正歩容の上体位置姿勢)をさらに修正してなる補正目標上体位置姿勢と補正目標床反力モーメントとが決定される。
以上が、本実施形態における歩容生成装置100の歩容生成処理である。
ここで、本実施形態における歩容生成装置100の歩容生成処理と、本願発明との対応関係について説明しておく。
本実施形態は、前記第1発明、第3発明、第5発明、第6発明、第9発明、第13発明、第15発明の実施形態である。この場合、図10のS024の処理で最終的に生成される定常歩容、あるいは、図10のS028で最終的に生成される今回歩容が上記各発明における目標歩容に相当するものとなっている。そして、図13のS300〜S312の処理、または図18のS800〜S812の処理が、上記各発明における仮目標運動作成手段に相当し、これらの処理で作成される歩容の運動が仮運動に相当する。さらに、図13のS306およびS322、あるいは、図18のS806およびS822の処理の中で実行される図14のS415〜S418の処理が、上記各発明における床反力誤差算出手段に相当している。また、図13のS300〜S312の処理の後の最初のS316の処理、あるいは、図18のS800〜S812の処理の後の最初のS816の処理は、上記各発明における評価手段に相当している。さらに、図13のS316〜S328の繰り返し処理、あるいは、図18のS816〜S828の繰り返し処理は、上記各発明における目標運動決定手段に相当している。この場合、S316の最初の判断処理、あるいはS816の最初の判断処理を除いて、S316あるいはS816の判断処理は、目標運動決定手段における収束判断処理に相当し、また、S322の処理、あるいは、S822の処理は、修正後運動決定処理に相当している。なお、第3発明における第1床反力成分および第2床反力成分はそれぞれ、本実施形態における床反力モーメント水平成分、並進床反力水平成分が相当している。そして、本実施形態において、図14のS415の処理で、前記式3aを使用した場合が、第9発明の実施形態となっている。
次に図4を参照して複合コンプアライアンス制御装置101の動作を説明しておく。なお、複合コンプライアンス制御装置101の動作は、本出願人が先に出願した特開平10−277969号公報などに詳細に記載されているので、本明細書では概略的な説明にとどめる。歩容生成装置100において、上記したように生成された目標歩容のうち、補正目標上体位置姿勢(軌道)、目標腕姿勢(軌道)が、ロボット幾何学モデル(逆キネマティクス演算部)102に送出される。
また、目標足平位置姿勢(軌道)、目標ZMP軌道(目標全床反力中心点軌道)、および目標全床反力(軌道)(補正目標床反力モーメントと目標床反力鉛直成分)は、複合コンプライアンス動作決定部104に送られると共に、目標床反力分配器106にも送られる。そして、目標床反力分配器106で、床反力は各足平22に分配され、目標各足平床反力中心点および目標各足平床反力が決定される。この決定された目標各足平床反力中心点および目標各足平床反力は複合コンプライアンス動作決定部104に送られる。
複合コンプライアンス動作決定部104から、機構変形補償付き修正目標足平位置姿勢(軌道)がロボット幾何学モデル102に送られる。ロボット幾何学モデル102は、目標上体位置姿勢(軌道)と機構変形補償付き修正目標足平位置姿勢(軌道)を入力されると、それらを満足する脚体2,2の12個の関節の関節変位指令(値)を算出して変位コントローラ108に送る。変位コントローラ108は、ロボット幾何学モデル102で算出された関節変位指令(値)を目標値としてロボット1の12個の関節の変位を追従制御する。また、ロボット幾何学モデル102は、目標腕姿勢を満足する腕関節の変位指定(値)を算出して変位コントローラ108に送る。変位コントローラ108は、ロボット幾何学モデル102で算出された関節変位指令(値)を目標値としてロボット1の腕体の12個の関節の変位を追従制御する。
ロボット1に生じた床反力(詳しくは実各足床反力)は6軸力センサ50によって検出される。その検出値は前記複合コンプライアンス動作決定部104に送られる。また、ロボット1に生じた姿勢傾斜偏差θerrx,θerry(詳しくは目標上体姿勢角に対する実姿勢角の偏差で、ロール方向(X軸回り)の姿勢角偏差がθerrxであり、ピッチ方向(Y軸回り)の姿勢角偏差がθerryである)が姿勢センサ54を介して検出され、その検出値は姿勢安定化制御演算部112に送られる。この姿勢安定化制御演算部112で、ロボット1の上体姿勢角を目標上体姿勢角に復元するための目標全床反力中心点(目標ZMP)まわり補償全床反力モーメントが算出されて複合コンプライアンス動作決定部104に送られる。複合コンプライアンス動作決定部104は、入力値に基づいて目標床反力を修正する。具体的には、目標全床反力中心点(目標ZMP)回りに補償全床反力モーメント、あるいは、補償全床反力モーメントと補正目標床反力モーメントとの和が作用するように目標床反力を修正する。
複合コンプライアンス動作決定部104は、修正された目標床反力に、センサ検出値などから算出される実ロボットの状態および床反力を一致させようと上記機構変形補償付き修正目標足平位置姿勢(軌道)を決定する。この場合、機構変形補償付き修正目標足平位置姿勢は、前記コンプライアンス機構72の等の機構的変形を考慮したものである。ただしすべての状態を目標に一致させることは事実上不可能であるので、これらの間にトレードオフ関係を与えて妥協的になるべく一致させる。すなわち、各目標に対する制御偏差に重みを与えて、制御偏差(あるいは制御偏差の2乗)の重み付き平均が最小になるように制御する。これにより、実際の足平位置姿勢と全床反力とが目標足平位置姿勢と目標全床反力とに概ね従うように制御される。
次に、以上説明した実施形態の変形態様をいくつか説明しておく。なお、以下に説明する変形態様は、定常歩容、今回歩容のいずれを生成する場合でも適用できるものである。
前記実施形態では、歩容(定常歩容または今回歩容)の初期から終端までの各時刻kにおいて、単純化モデル上で、目標ZMPまわりの床反力モーメントが、本来の目標床反力モーメント水平成分(=0)から床反力モーメント誤差の現在値Merr_p(k)(=Msemifull(k)−Msmpl(k))を差し引いてなる床反力モーメント水平成分−Merr_p(k)になり、且つ、決定しようとしている歩容の運動によって単純化モデル上で発生する並進床反力成分に並進床反力誤差の現在値Ferr_p(k)(=Fsemifull(k)−Fsmpl(k))を加えたものが床反力水平成分許容範囲に収まるように上体加速度および上体姿勢角加速度を決定した(ひいては目標歩容(定常歩容もしくは今回歩容)を決定した)。
但し、図13のS310およびS326、あるいは、図18のS810およびS826において、次式10a,10bによって、Merr_p(k)、Ferr_p(k)を更新するようにして、図13のS322、あるいは、図18のS822で新たなの歩容を作成するとき、この更新後のMerr_p(k)、Ferr_p(k)(これらは本発明における床反力補正量に相当する)を、床反力モーメント誤差、並進床反力誤差の代わりに用いるようにしてもよい。

Merr_p(k)=Merr_p(k)+p*ΔMerr(k) ……式10a
Ferr_p(k)=Ferr_p(k)+p*ΔFerr(k) ……式10b

これらの式10a、10bにおいて、pは1以下、0以上の所定の係数である。
すなわち、決定しようとしている上体水平加速度および上体姿勢角加速度を含む歩容(目標歩容)の運動によって単純化モデル上で目標ZMPまわりに発生する床反力モーメント水平成分が、本来の目標床反力モーメント水平成分(=0)から、式10aにより求まる補正量Merr_p(k)を差し引いてなる床反力モーメント水平成分−Merr_p(k)になり、且つ、決定しようとしている上体水平加速度および上体姿勢角加速度を含む歩容(目標歩容)の運動によって単純化モデル上で発生する床反力水平成分Fxに、式10bにより求まる補正量Ferr_p(k)を加えてなる並進床反力水平成分が床反力水平成分許容範囲を満足するように、上体加速度および上体姿勢角加速度を決定してもよい。なお、単純化モデル上で目標ZMPまわりに発生する床反力モーメント水平成分が、本来の目標床反力モーメント水平成分(=0)から、式10aにより求まる補正量Merr_p(k)を差し引いてなる床反力モーメント水平成分−Merr_p(k)になるとおいうことは、決定しようとしている歩容の運動によって単純化モデル上で目標ZMPまわりに発生する床反力モーメント水平成分に、補正量Merr_p(k)を加えてなる床反力モーメント水平成分が本来の目標床反力モーメント水平成分に一致するように歩容の運動を決定することを意味する。
上記のように式10a,10bにより、補正量Merr_p(k)、Ferr_p(k)を更新するようにしたとき、ΔMerr(k)、ΔFerr(k)は、図13のS314〜S328のループ処理、あるいは、図18のS814〜S828のループ処理の中で、歩容の作成の都度、単純化モデル上で発生する床反力を補正するために使われる補正量Merr_p(k)、Ferr_p(k)と、作成された歩容の床反力の誤差との差を意味するものと言える。すなわち、その差が0に近いということは、単純化モデル上で発生する床反力を補正するために使用した補正量Merr_p(k)、Ferr_p(k)が適切であったことを意味する。
補足すると、前記係数pの値を1に設定すると、実質的に前記実施形態と同じになる。また、
また、図13のS300〜S312の処理の終了後、図13のS318〜S328の処理を実行する前の最初のS316の判断処理を省略してもよい。すなわち、図13のS300〜S312の処理の後、必ず1回は、S318〜S328の処理を実行するようにしてもよい。同様に、図18のS800〜S812の処理の終了後、図18のS818〜S828の処理を実行する前の最初のS816の判断処理を省略し、S818〜S828の処理が必ず1回は実行されるようにしてもよい。このようにした実施形態(以下、第2実施形態という)は、前記第2発明、第4発明、第5発明、第6発明、第10発明、第14発明、第16発明の実施形態となる。この場合のこれらの発明と第2実施形態との対応関係は、評価手段を除いて(第2実施形態では評価手段は備えられない)、前述の実施形態(本明細書で最初に説明した実施形態(以降、第1実施形態という))と、第1発明もしくは第3発明などとの対応関係と同様である。
なお、前記した如く、式10a,10bによりMerr_p(k)あるいはFerr_p(k)を更新して、歩容の修正を行なうことは、上記第2実施形態に適用してもよい。
また、前記第1実施形態あるいは第2実施形態では、ΔMerr(k)およびΔFerr(k)の収束判断を図13のS316あるいは図18のS816で行なうとき、それらの時系列の所定の特徴量が許容範囲に収まっているか否かの判断により行なうようにしたが、該収束判断を、図13のS318〜S328の処理、あるいは、図18のS818〜S828の処理の繰り返し回数が所定回数(複数回)に達したか否かにより行なうようにしてもよい。すなわち、図13のS318〜S328の処理、あるいは、図18のS818〜S828の処理を、ある程度の回数、繰り返せば、通常、ΔMerr(k)およびΔFerr(k)の時系列の特徴量は0近くに収束する。従って、上記の如く繰り返し回数により、ΔMerr(k)およびΔFerr(k)の収束判断を行なうようにしてもよい。あるいは、各回の歩容の生成時にその生成した歩容の運動と、前回生成した歩容の運動との差(例えば上体などのある部位の位置・姿勢の差)を基に、ΔMerr(k)およびΔFerr(k)の収束判断を行なうようにしてもよい。
また、前記各実施形態では、目標ZMPまわりの床反力モーメント水平成分に関する誤差Merr_p(k)を用いるようにしたが、目標ZMPと異なる点に作用点を設定し、その作用点まわりの床反力モーメント水平成分に関する誤差(ここでは、これをMerr_p'(k)とする)を用いてもよい。この場合、図14のS412の処理において、該作用点のまわりの床反力モーメント水平成分の目標値(目標ZMPまわりの床反力モーメント水平成分が0になるような目標値)から当該誤差Merr_p'(k)を差し引いたものが発生するように上体水平加速度と上体姿勢角加速度とを決定することが、目標ZMPまわりに−Merr_p(k)が発生するように上体水平加速度と上体姿勢角加速度を決定する(ひいては目標歩容の運動の瞬時値を決定する)ことと同等になる。
また、前記各実施形態ではロボット1の走行を行なう場合を例に採って説明したが、ロボット1の歩行を行なう場合でも本発明を適用できる。この場合、床反力鉛直成分軌道(あるいはそれを規定するパラメータ)は、例えば前記公報文献1の図40に示される如く設定すればよい。また、上体傾斜角復元期間は、例えば両脚支持期に設定すればよい。あるいは、歩容生成で想定する床の摩擦係数が大きく、歩容の1歩の全期間において床反力水平成分許容範囲が十分に大きい場合(生成する歩容の運動によって発生する並進床反力水平成分が確実に床反力水平成分許容範囲に収まる場合)には、その全期間を上体傾斜角復元期間としてもよい。なお、この場合には、上体傾斜復元モーメントZMP換算値は、0でよい。
また、前記各実施形態では、床反力モーメント誤差Merr_p(k)を用いるようにしたが、このMerr_p(k)を、歩容の各時刻kにおいて目標床反力鉛直成分で除算したものが、時刻kにおけるZMP(ロボット1の歩容の運動によって発生する慣性力と重力との合力のモーメント水平成分が0となる床面上の点)の目標ZMPからのずれ量(誤差)に相当するものとなる。従って、床反力モーメント誤差Merr_p(k)の代わりにZMPの目標ZMPからの誤差(ここでは、これをZMP誤差ZMPerr_p(k)とする)を用いるようにしてもよい。この場合、図14のS412の処理では、ロボット1の歩容の運動によって発生する慣性力と重力との合力が、ZMP誤差ZMPerr_p(k)(Merr_p(k)を目標ZMPに対するZMPのずれ量に換算した値)の分だけ、あるいはZMP誤差ZMPerr_p(k)に所定の係数(例えば1以下の正数)を乗じてなる値の分だけ、目標ZMPから逆向きにずらした点(目標ZMPから−ZMPerr_p(k)だけ位置をずらした点、または、目標ZMPから、−ZMPerr_p(k)に所定の係数を乗じてなる値の分だけ位置をずらした点)の回りに作用する床反力モーメントの水平成分が0になるように上体水平加速度と上体姿勢角加速度を決定することが、目標ZMPまわりに−Merr_p(k)またはこれに所定の係数を乗じてなる床反力モーメント水平成分が発生するように上体水平加速度と上体姿勢角加速度を決定する(ひいては目標歩容の運動の瞬時値を決定する)ことと同等になる。なお、このことは、作成しようとする歩容の運動から単純化モデル上で算出されるZMPの位置に、ZMPerr_p(k)、あるいはZMPerr_p(k)に所定の係数を乗じてなる値を加えたものが目標ZMPの位置に一致するように上体水平加速度と上体姿勢角加速度を決定する(ひいては目標歩容の運動の瞬時値を決定する)ことと同じである。
このように前記各実施形態においてMerr_p(k)の代わりに誤差ZMPerr_p(k)を用いることで、前記第7発明、第8発明、第11発明、第12発明、第17発明、第18発明の実施形態が構築されることとなる。この場合、より詳しくは、第1実施形態において、図13のS306、S322、あるいは、図18のS806、S822の処理の中で、図14のS418で求めたMerr(k)を該当時刻kでの床反力鉛直成分の瞬時値で除算したものを新たなZMP誤差ZMPerr_p(k)として決定すればよい。このとき、図14の414において、単純化モデル上で目標ZMPまわりに発生する床反力モーメントMsmpl(k)を、該単純化モデルの実際の演算により算出した場合には、上記の如く決定される誤差ZMPerr_p(k)は、図13のS306、S322、あるいは、図18のS806、S822の処理で作成中の歩容の運動からセミフルモデル上で算出されるZMPと、該運動から単純化モデル上で算出されるZMPとの差を意味するものとなる。さらに、S308、S324、あるいは、S808、S824においては、各時刻kにおいて、新たに求めたZMP誤差と、その一つ前の歩容生成時に求めたZMP誤差との差をZMP誤差変化量ΔZMPerr(k)として求め、それをS316あるいはS816の判断処理で、ΔMerrの代わりに使用すればよい。このようにすることで、前記第7発明および第17発明の実施形態(以下、第3実施形態という)が構成されることとなる。
さらに、この第3実施形態において、前記第2実施形態の如く、図13のS300〜S312の処理の終了後、図13のS318〜S328の処理を実行する前の最初のS316の判断処理を省略し、あるいは、図18のS800〜S812の処理の終了後、図18のS818〜S828の処理を実行する前の最初のS816の判断処理を省略することで、第8発明および第18発明の実施形態(以下、第4実施形態という)が構成されることとなる。
また、上記第3実施形態または第4実施形態において、図14のS414において、単純化モデル上で目標ZMPまわりに発生する床反力モーメントMsmpl(k)を、前記式3aにより目標ZMPまわりの床反力モーメント水平成分の目標値(=0)とMerr_p(k)との差として算出した場合には、上記の如く決定される誤差ZMPerr_p(k)は、図13のS306、S322、あるいは、図18のS806、S822の処理で作成中の歩容の運動(仮運動)からセミフルモデル上で算出されるZMPと、目標ZMPとの差を意味するものとなる。従って、この場合の実施形態は、前記第11発明もしくは第12発明の実施形態に相当するものとなる。
このように前記第1実施形態あるいは第2実施形態においてMerr_p(k)の代わりにZMP誤差ZMPerr_p(k)を用いることで、前記第7発明、第8発明、第10発明、第15発明、第16発明の実施形態が構築されることとなる。但し、空中期を有する歩容を生成する場合、その空中期では、床反力鉛直成分が0になってZMPが不定となるため、前記実施形態の如く、床反力モーメント誤差を用いることが好ましい。なお、ロボット1の歩行歩容を生成する場合には、空中期が無いので、歩容の全期間においてZMPerr_p(k)を用いることができる。また、上記のようにして決定されるZMP誤差ZMPerr_p(k)の代わりに、前記式10aの右辺を時刻kの床反力鉛直成分で除算してなるもの(これは本発明におけるZMP補正量に相当する)を使用してもよい。
また、前記第1〜第4実施形態では、図13または図18の処理で、目標ZMPと床反力水平成分許容範囲とを満足する歩容をその初期から終端まで生成した上で、床反力モーメント誤差Merr_p(k)および並進床反力誤差Ferr_p(k)の修正を加えた歩容(定常歩容または今回歩容)をその初期から終端まで生成するようにしたが、各時刻k毎に、目標ZMPと床反力水平成分許容範囲とを満足する歩容の瞬時値の生成と、この歩容の運動(仮運動)を基に決定される床反力モーメント誤差Merr_p(k)および並進床反力誤差Ferr_p(k)の修正を加えた歩容の瞬時値の生成とを、歩容の初期から終端まで逐次行なうようにしてもよい。
また、先にも述べたように前記セミフルモデルは、フルモデル補正用のフルモデルと同一でもよい。この場合、歩容パラメータを探索的に決定するための処理(図10のS024、S028の処理)を短時間で効率よく行ううえでは、セミフルモデル用の床反力水平成分許容範囲は、フルモデル用の床反力水平成分許容範囲よりも広めに設定することが好ましい。
また、前記第1〜第4実施形態では、フルモデルによる歩容の補正処理を除いて、目標ZMPまわりの並進床反力水平成分の許容範囲だけを設定するようにしたが、ロボット1のスピンを防止するために、目標ZMPまわりの床反力モーメント鉛直成分の許容範囲も設定するようにしてもよい。この場合、床反力モーメント誤差に関しては、目標ZMP、床反力水平成分許容範囲、および床反力モーメント鉛直成分の許容範囲を満足するように単純化モデル上で作成した歩容の運動に対して、床反力モーメント水平成分の誤差だけでなく、床反力モーメント鉛直成分の誤差も求めておき、単純化モデル上で発生する床反力モーメント鉛直成分に該鉛直成分に対する誤差を加えたモーメントが、該鉛直成分に対する許容範囲を満足するように目標歩容の運動を生成してもよい。
また、図13のS306または図18のS806の処理の中で、並進床反力鉛直成分の誤差も求めておき、単純化モデル上で発生する並進床反力鉛直成分に当該誤差を加えたものが、並進床反力鉛直成分の目標値を満足するように目標歩容の運動を生成してもよい。
以上の説明から明らかなように、本発明の移動ロボットの歩容生成装置は、ロボットのスリップなどを防止し得る歩容を効率よく生成できると共に、その歩容の運動と床反力との間の動力学的精度を良好に確保することができ、特に2足移動ロボットのような本来的な安定性が低い移動ロボットの歩容を該移動ロボットの安定性を確保しつつ生成できる点で有用である。
本発明の実施形態を適用する移動ロボット(2足歩行ロボット)の全体構成の概略を示す図。 図1のロボットの各脚体の足平部分の構成を示す側面図。 図1のロボットに備えた制御ユニットの構成を示すブロック図。 図3の制御ユニットの機能的構成を示すブロック図。 図4に示す歩容生成装置の機能を示すブロック図。 (a),(b)はそれぞれロボットの運動モード(上体並進モード、上体回転モード)を説明するための図。 歩容生成で用いる第1動力学モデル(単純化モデル)の構造を示す図。 歩容生成で用いる第2動力学モデル(セミフルモデル)の構造を示す図。 歩容生成で用いるフルモデルの構造を示す図。 実施形態における歩容生成装置のメインルーチン処理を示すフローチャート。 図10のサブルーチン処理を示すフローチャート。 図10のサブルーチン処理を示すフローチャート。 図12のサブルーチン処理を示すフローチャート。 図13のサブルーチン処理を示すフローチャート。 図14のサブルーチン処理を示すフローチャート。 図10のサブルーチン処理を示すフローチャート。 図10のサブルーチン処理を示すフローチャート。 図17のサブルーチン処理を示すフローチャート。 定常歩容における上体傾斜復元モーメントZMP換算値の例を示すグラフ。 今回歩容における上体傾斜復元モーメントZMP換算値の例を示すグラフ。 今回歩容における仮目標ZMPとZMP修正量と目標ZMPとの例を示すグラフ。

Claims (18)

  1. 移動ロボットの運動によって発生する床反力の所定の床反力成分の許容範囲を設定し、その許容範囲を満足するように、移動ロボットの目標運動を少なくとも含む目標歩容を生成する歩容生成装置において、
    前記移動ロボットの所定の第1動力学モデルを用いて該移動ロボットの運動を作成するようにあらかじめ構成された所定のアルゴリズムを実行することにより、前記床反力成分が前記許容範囲を満たすように、前記目標運動の仮値である仮運動を作成する仮目標運動作成手段と、
    前記第1動力学モデルと該第1動力学モデルよりも動力学的精度が高い所定の第2動力学モデルとを用い、前記移動ロボットの任意の運動に対して、該運動によって前記第2動力学モデル上で発生する前記床反力成分と該運動によって前記第1動力学モデル上で発生する前記床反力成分との差である床反力成分誤差を求める床反力成分誤差算出手段と、
    前記作成された仮運動から前記床反力成分誤差算出手段によって求められる床反力成分誤差が所定の許容誤差範囲に収まっているか否かを評価する評価手段と、
    前記評価手段の評価において前記仮運動に対応する床反力成分誤差が前記許容誤差範囲に収まっている場合には、前記仮運動を前記目標運動として決定すると共に、前記仮運動に対応する床反力成分誤差が前記許容誤差範囲から逸脱している場合には、前記仮運動を少なくとも1回以上修正して前記目標運動を決定する目標運動決定手段とを備え、
    前記仮運動に対応する床反力成分誤差が前記許容誤差範囲から逸脱している場合において、前記目標運動決定手段が前記仮運動の第n回目(n:n≧1である整数)の修正によって求める修正後運動を第n修正後運動とし、該第n修正後運動から前記床反力成分誤差算出手段により求められる床反力成分誤差を第n床反力成分誤差とし、前記仮運動を第0修正後運動とし、前記仮運動に対応する床反力成分誤差を第0床反力成分誤差としたとき、
    前記目標運動決定手段は、第n修正後運動によって前記第1動力学モデル上で発生する前記床反力成分に、第n−1床反力成分誤差と少なくとも該第n−1床反力成分誤差に応じて決定した床反力補正量とのいずれかを加えたものが前記許容範囲を満たすように前記所定のアルゴリズムを実行することにより、第n修正後運動を決定する修正後運動決定処理と、前記決定した第n修正後運動に対応する第n床反力成分誤差と第n−1修正後運動に対応する第n−1床反力成分誤差との差、および、前記第n床反力成分誤差と少なくとも前記第n−1床反力成分誤差に応じて決定した前記床反力補正量との差のいずれか一方として定義される床反力成分誤差変化量ΔFMが0に収束したか否かを判断する収束判断処理とを少なくとも該床反力成分誤差変化量ΔFMが0に収束したと判断されるまで繰り返し、この繰り返し処理における最後の修正後運動決定処理で決定した修正後運動を前記目標運動として決定することを特徴とする移動ロボットの歩容生成装置。
  2. 移動ロボットの運動によって発生する床反力の所定の床反力成分の許容範囲を設定し、その許容範囲を満足するように、移動ロボットの目標運動を少なくとも含む目標歩容を生成する歩容生成装置において、
    前記目標運動の仮値である仮運動を作成する仮目標運動作成手段と、
    前記移動ロボットの所定の第1の動力学モデルと該第1動力学モデルよりも動力学的精度が高い所定の第2動力学モデルとを用い、前記移動ロボットの任意の運動に対して、該運動によって前記第2動力学モデル上で発生する前記床反力成分と該運動によって前記第1動力学モデル上で発生する前記床反力成分との差である床反力成分誤差を求める床反力成分誤差算出手段と、
    前記仮運動を少なくとも1回以上修正して前記目標運動を決定する目標運動決定手段とを備え、
    前記目標運動決定手段が前記仮運動の第n回目(n:n≧1である整数)の修正によって求める修正後運動を第n修正後運動とし、該第n修正後運動から前記床反力成分誤差算出手段により求められる床反力成分誤差を第n床反力成分誤差とし、前記仮運動を第0修正後運動とし、前記仮運動から前記床反力成分誤差算出手段により求められる床反力成分誤差を第0床反力成分誤差としたとき、
    前記目標運動決定手段は、前記第1動力学モデルを用いて該移動ロボットの運動を作成するようにあらかじめ構成された所定のアルゴリズムを実行することにより、第n修正後運動によって前記第1動力学モデル上で発生する前記床反力成分に、第n−1床反力成分誤差と少なくとも該第n−1床反力成分誤差に応じて決定した床反力補正量とのいずれかを加えたものが前記許容範囲を満たすように第n修正後運動を決定する修正後運動決定処理と、前記決定した第n修正後運動に対応する第n床反力成分誤差と第n−1修正後運動に対応する第n−1床反力成分誤差との差、および、前記第n床反力成分誤差と少なくとも前記第n−1床反力成分誤差に応じて決定した前記床反力補正量との差のいずれか一方として定義される床反力成分誤差変化量ΔFMが0に収束したか否かを判断する収束判断処理とを少なくとも該床反力成分誤差変化量ΔFMが0に収束したと判断されるまで繰り返し、この繰り返し処理における最後の修正後運動決定処理で決定した修正後運動を前記目標運動として決定することを特徴とする移動ロボットの歩容生成装置。
  3. 移動ロボットの運動によって発生する床反力の所定の第1床反力成分の目標値と該第1床反力成分と異なる所定の第2床反力成分の許容範囲とを設定し、該第1床反力成分の目標値と第2床反力成分の許容範囲とを満足するように、移動ロボットの目標運動を少なくとも含む目標歩容を生成する歩容生成装置において、
    前記移動ロボットの所定の第1動力学モデルを用いて該移動ロボットの運動を作成するようにあらかじめ構成された所定のアルゴリズムを実行することにより、前記第1床反力成分が前記目標値に一致し、且つ、前記第2床反力成分が前記許容範囲を満たすように、前記目標運動の仮値である仮運動を作成する仮目標運動作成手段と、
    前記第1動力学モデルと該第1動力学モデルよりも動力学的精度が高い所定の第2動力学モデルとを用い、前記移動ロボットの任意の運動に対して、該運動によって前記第2動力学モデル上で発生する前記第1床反力成分と該運動によって前記第1動力学モデル上で発生する前記第1床反力成分との差である床反力成分誤差Aerrを求めると共に、該運動によって前記第2動力学モデル上で発生する前記第2床反力成分と該運動によって前記第1動力学モデル上で発生する前記第2床反力成分との差である床反力成分誤差Berrを求める床反力成分誤差算出手段と、
    前記作成された仮運動から前記床反力成分誤差算出手段によって求められる床反力成分誤差Aerr,Berrのうちの床反力成分誤差Aerrが所定の第1許容誤差範囲に収まっているか否かを評価すると共に、床反力成分誤差Berrが所定の第2許容誤差範囲に収まっているか否かを評価する評価手段と、
    前記評価手段の評価において前記仮運動に対応する床反力成分誤差Aerr,Berrの両者がそれぞれに対応する前記第1許容誤差範囲および第2許容誤差範囲に収まっている場合には、前記仮運動を前記目標運動として決定すると共に、前記仮運動に対応する床反力成分誤差Aerr,Berrの少なくともいずれか一方がそれに対応する前記第1許容誤差範囲または第2許容誤差範囲から逸脱している場合には、前記仮運動を少なくとも1回以上修正して前記目標運動を決定する目標運動決定手段とを備え、
    前記仮運動に対応する床反力成分誤差Aerr,Berrの少なくともいずれか一方がそれに対応する前記第1許容誤差範囲または第2許容誤差範囲から逸脱している場合において、前記目標運動決定手段が前記仮運動の第n回目(n:n≧1である整数)の修正によって求める修正後運動を第n修正後運動とし、該第n修正後運動から前記床反力成分誤差算出手段により求められる床反力成分誤差Aerr,Berrをそれぞれ第n床反力成分誤差Aerr(n),Berr(n)とし、前記仮運動を第0修正後運動とし、前記仮運動に対応する床反力成分誤差Aerr,Berrをそれぞれ第0床反力成分誤差Aerr(0),Berr(0)としたとき、
    前記目標運動決定手段は、第n修正後運動によって前記第1動力学モデル上で発生する前記第1床反力成分に、第n−1床反力成分誤差Aerr(n-1)と少なくとも該第n−1床反力成分誤差Aerr(n-1)に応じて決定した第1床反力補正量とのいずれかを加えたものが前記目標値に一致し、且つ、該第n修正後運動によって前記第1動力学モデル上で発生する前記第2床反力成分に、第n−1床反力成分誤差Berr(n-1)と少なくとも該第n−1床反力成分誤差Berr(n-1)に応じて決定した第2床反力補正量とのいずれかを加えたものが前記許容範囲を満たすように前記所定のアルゴリズムを実行することにより、第n修正後運動を決定する修正後運動決定処理と、前記決定した第n修正後運動に対応する第n床反力成分誤差Aerr(n)と第n−1修正後運動に対応する第n−1床反力成分誤差Aerr(n-1)との差、および、前記第n床反力成分誤差Aerr(n)と少なくとも前記第n−1床反力成分誤差Aerr(n-1)に応じて決定した前記第1床反力補正量との差のいずれか一方として定義される床反力成分誤差変化量ΔAerrと、前記決定した第n修正後運動に対応する第n床反力成分誤差Berr(n)と第n−1修正後運動に対応する第n−1床反力成分誤差Berr(n-1)との差、および、前記第n床反力成分誤差Berr(n)と少なくとも前記第n−1床反力成分誤差Berr(n-1)に応じて決定した前記第2床反力補正量との差のいずれか一方として定義される床反力成分誤差変化量ΔBerrとがそれぞれ0に収束したか否かを判断する収束判断処理とを少なくとも該床反力成分誤差変化量ΔAerr,ΔBerrの両者が0に収束したと判断されるまで繰り返し、この繰り返し処理における最後の前記修正後運動決定処理で決定した修正後運動を前記目標運動として決定することを特徴とする移動ロボットの歩容生成装置。
  4. 移動ロボットの運動によって発生する床反力の所定の第1床反力成分の目標値と該第1床反力成分と異なる所定の第2床反力成分の許容範囲とを設定し、該第1床反力成分の目標値と第2床反力成分の許容範囲とを満足するように、移動ロボットの目標運動を少なくとも含む目標歩容を生成する歩容生成装置において、
    前記目標運動の仮値である仮運動を作成する仮目標運動作成手段と、
    前記移動ロボットの所定の第1動力学モデルと該第1動力学モデルよりも動力学的精度が高い所定の第2動力学モデルとを用い、前記移動ロボットの任意の運動に対して、該運動によって前記第2動力学モデル上で発生する前記第1床反力成分と該運動によって前記第1動力学モデル上で発生する前記第1床反力成分との差である床反力成分誤差Aerrを求めると共に、該運動によって前記第2動力学モデル上で発生する前記第2床反力成分と該運動によって前記第1動力学モデル上で発生する前記第2床反力成分との差である床反力成分誤差Berrを求める床反力成分誤差算出手段と、
    前記仮運動を少なくとも1回以上修正して前記目標運動を決定する目標運動決定手段とを備え、
    前記目標運動決定手段が前記仮運動の第n回目(n:n≧1である整数)の修正によって求める修正後運動を第n修正後運動とし、該第n修正後運動から前記床反力成分誤差算出手段により求められる床反力成分誤差Aerr,Berrをそれぞれ第n床反力成分誤差Aerr(n),Berr(n)とし、前記仮運動を第0修正後運動とし、前記仮運動から前記床反力成分誤差算出手段により求められる床反力成分誤差Aerr,Berrをそれぞれ第0床反力成分誤差Aerr(0),Berr(0)としたとき、
    前記目標運動決定手段は、前記第1動力学モデルを用いて該移動ロボットの運動を作成するようにあらかじめ構成された所定のアルゴリズムを実行することにより、第n修正後運動によって前記第1動力学モデル上で発生する前記第1床反力成分に、第n−1床反力成分誤差Aerr(n-1)と少なくとも該第n−1床反力成分誤差Aerr(n-1)に応じて決定した第1床反力補正量とのいずれかを加えたものが前記目標値に一致し、且つ、該第n修正後運動によって前記第1動力学モデル上で発生する前記第2床反力成分に、第n−1床反力成分誤差Berr(n-1)と少なくとも該第n−1床反力成分誤差Berr(n-1)に応じて決定した第2床反力補正量とのいずれかを加えたものが前記許容範囲を満たすように第n修正後運動を決定する修正後運動決定処理と、前記決定した第n修正後運動に対応する第n床反力成分誤差Aerr(n)と第n−1修正後運動に対応する第n−1床反力成分誤差Aerr(n-1)との差、および、前記第n床反力成分誤差Aerr(n)と少なくとも前記第n−1床反力成分誤差Aerr(n-1)に応じて決定した前記第1床反力補正量との差のいずれか一方として定義される床反力成分誤差変化量ΔAerrと、前記決定した第n修正後運動に対応する第n床反力成分誤差Berr(n)と第n−1修正後運動に対応する第n−1床反力成分誤差Berr(n-1)との差、および、前記第n床反力成分誤差Berr(n)と少なくとも前記第n−1床反力成分誤差Berr(n-1)に応じて決定した前記第2床反力補正量との差のいずれか一方として定義される床反力成分誤差変化量ΔBerrとがそれぞれ0に収束したか否かを判断する収束判断処理とを少なくとも該床反力成分誤差変化量ΔAerr,ΔBerrの両者が0に収束したと判断されるまで繰り返し、この繰り返し処理における最後の前記修正後運動決定処理で決定した修正後運動を前記目標運動として決定することを特徴とする移動ロボットの歩容生成装置。
  5. 前記床反力成分は、前記移動ロボットに作用する床反力の並進床反力水平成分であることを特徴とする請求項1または2記載の移動ロボットの歩容生成装置。
  6. 前記第1床反力成分は、前記移動ロボットに作用する床反力の、所定の作用点まわりの床反力モーメント水平成分であり、前記第2床反力成分は、前記移動ロボットに作用する床反力の並進床反力水平成分であることを特徴とする請求項3または4記載の移動ロボットの歩容生成装置。
  7. 移動ロボットの目標ZMPと該移動ロボットの運動によって発生する並進床反力水平成分の許容範囲とを設定し、該目標ZMPと並進床反力水平成分の許容範囲とを満足するように、移動ロボットの目標運動を少なくとも含む目標歩容を生成する歩容生成装置において、
    前記移動ロボットの所定の第1動力学モデルを用いて該移動ロボットの運動を作成するようにあらかじめ構成された所定のアルゴリズムを実行することにより、前記目標ZMPを満足し、且つ、前記並進床反力水平成分が前記許容範囲を満たすように、前記目標運動の仮値である仮運動を作成する仮目標運動作成手段と、
    前記第1動力学モデルと該第1動力学モデルよりも動力学的精度が高い所定の第2動力学モデルとを用い、前記移動ロボットの任意の運動に対して、該運動によって前記第2動力学モデル上で算出されるZMPと該運動によって前記第1動力学モデル上で算出されるZMPとの差であるZMP誤差ZMPerrを求めると共に、該運動によって前記第2動力学モデル上で発生する前記並進床反力水平成分と該運動によって前記第1動力学モデル上で発生する前記並進床反力水平成分との差である並進床反力水平成分誤差Ferrを求める誤差算出手段と、
    前記作成された仮運動から前記誤差算出手段によって求められるZMP誤差ZMPerrおよび並進床反力水平成分誤差FerrのうちのZMP誤差ZMPerrが所定の第1許容誤差範囲に収まっているか否かを評価すると共に、並進床反力水平成分誤差Ferrが所定の第2許容誤差範囲に収まっているか否かを評価する評価手段と、
    前記評価手段の評価において前記仮運動に対応するZMP誤差ZMPerrおよび並進床反力水平成分誤差Ferrの両者がそれぞれに対応する前記第1許容誤差範囲および第2許容誤差範囲に収まっている場合には、前記仮運動を前記目標運動として決定すると共に、前記仮運動に対応するZMP誤差ZMPerrおよび並進床反力水平成分誤差Ferrの少なくともいずれか一方がそれに対応する前記第1許容誤差範囲または第2許容誤差範囲から逸脱している場合には、前記仮運動を少なくとも1回以上修正して前記目標運動を決定する目標運動決定手段とを備え、
    前記仮運動に対応するZMP誤差ZMPerrおよび並進床反力水平成分誤差Ferrの少なくともいずれか一方がそれに対応する前記第1許容誤差範囲または第2許容誤差範囲から逸脱している場合において、前記目標運動決定手段が前記仮運動の第n回目(n:n≧1である整数)の修正によって求める修正後運動を第n修正後運動とし、該第n修正後運動から前記床反力成分誤差算出手段により求められるZMP誤差ZMPerrおよび並進床反力水平成分誤差Ferrをそれぞれ第nZMP誤差ZMPerr(n)および第n並進床反力水平成分誤差Ferr(n)とし、前記仮運動を第0修正後運動とし、前記仮運動に対応するZMP誤差ZMPerrおよび並進床反力水平成分誤差Ferrをそれぞれ第0ZMP誤差ZMPerr(0)および第0並進床反力水平成分誤差Ferr(0)としたとき、
    前記目標運動決定手段は、第n修正後運動によって前記第1動力学モデル上で算出されるZMPに、第n−1ZMP誤差ZMPerr(n-1)と少なくとも該第n−1ZMP誤差ZMPerr(n-1)に応じて決定したZMP補正量とのいずれかを加えたものが前記目標ZMPに一致し、且つ、該第n修正後運動によって前記第1動力学モデル上で発生する前記並進床反力水平成分に、第n−1並進床反力水平成分誤差Ferr(n-1)と少なくとも該第n−1並進床反力水平成分誤差Ferr(n-1)に応じて決定した床反力補正量とのいずれかを加えたものが前記許容範囲を満たすように前記所定のアルゴリズムを実行することにより、第n修正後運動を決定する修正後運動決定処理と、前記決定した第n修正後運動に対応する第nZMP誤差ZMPerr(n)と第n−1修正後運動に対応する第n−1ZMP誤差ZMPerr(n-1)との差、および、前記第nZMP誤差ZMPerr(n)と少なくとも前記第n−1ZMP誤差ZMPerr(n-1)に応じて決定した前記ZMP補正量との差のいずれか一方として定義されるZMP誤差変化量ΔZMPerrと、前記決定した第n修正後運動に対応する第n並進床反力水平成分誤差Ferr(n)と第n−1修正後運動に対応する第n−1並進床反力水平成分誤差Ferr(n-1)との差、および、第n並進床反力水平成分誤差Ferr(n)と少なくとも前記第n−1並進床反力水平成分誤差Ferr(n-1)に応じて決定した前記床反力補正量との差のいずれか一方として定義される並進床反力水平成分誤差変化量ΔFerrとがそれぞれ0に収束したか否かを判断する収束判断処理とを少なくとも該ZMP誤差変化量ΔZMPerrおよび並進床反力水平成分誤差変化量ΔFerrの両者が0に収束したと判断されるまで繰り返し、この繰り返し処理における最後の前記修正後運動決定処理で決定した修正後運動を前記目標運動として決定することを特徴とする移動ロボットの歩容生成装置。
  8. 移動ロボットの目標ZMPと該移動ロボットの運動によって発生する並進床反力水平成分の許容範囲とを設定し、該目標ZMPと並進床反力水平成分の許容範囲とを満足するように、移動ロボットの目標運動を少なくとも含む目標歩容を生成する歩容生成装置において、
    前記目標運動の仮値である仮運動を作成する仮目標運動作成手段と、
    前記移動ロボットの所定の第1動力学モデルと該第1動力学モデルよりも動力学的精度が高い所定の第2動力学モデルとを用い、前記移動ロボットの任意の運動に対して、該運動によって前記第2動力学モデル上で算出されるZMPと該運動によって前記第1動力学モデル上で算出されるZMPとの差であるZMP誤差ZMPerrを求めると共に、該運動によって前記第2動力学モデル上で発生する前記並進床反力水平成分と該運動によって前記第1動力学モデル上で発生する前記並進床反力水平成分との差である並進床反力水平成分誤差Ferrを求める誤差算出手段と、
    前記仮運動を少なくとも1回以上修正して前記目標運動を決定する目標運動決定手段とを備え、
    前記目標運動決定手段が前記仮運動の第n回目(n:n≧1である整数)の修正によって求める修正後運動を第n修正後運動とし、該第n修正後運動から前記床反力成分誤差算出手段により求められるZMP誤差ZMPerrおよび並進床反力水平成分誤差Ferrをそれぞれ第nZMP誤差ZMPerr(n)および第n並進床反力水平成分誤差Ferr(n)とし、前記仮運動を第0修正後運動とし、前記仮運動から前記床反力成分誤差算出手段により求められるZMP誤差ZMPerrおよび並進床反力水平成分誤差Ferrをそれぞれ第0ZMP誤差ZMPerr(0)および第0並進床反力水平成分誤差Ferr(0)としたとき、
    前記目標運動決定手段は、前記第1動力学モデルを用いて該移動ロボットの運動を作成するようにあらかじめ構成された所定のアルゴリズムを実行することにより、第n修正後運動によって前記第1動力学モデル上で算出されるZMPに、第n−1ZMP誤差ZMPerr(n-1)と少なくとも該第n−1ZMP誤差ZMPerr(n-1)に応じて決定したZMP補正量とのいずれかを加えたものが前記目標ZMPに一致し、且つ、該第n修正後運動によって前記第1動力学モデル上で発生する前記並進床反力水平成分に、第n−1並進床反力水平成分誤差Ferr(n-1)と少なくとも該第n−1並進床反力水平成分誤差Ferr(n-1)に応じて決定した床反力補正量とのいずれかを加えたものが前記許容範囲を満たすように第n修正後運動を決定する修正後運動決定処理と、前記決定した第n修正後運動に対応する第nZMP誤差ZMPerr(n)と第n−1修正後運動に対応する第n−1ZMP誤差ZMPerr(n-1)との差、および、前記第nZMP誤差ZMPerr(n)と少なくとも前記第n−1ZMP誤差ZMPerr(n-1)に応じて決定した前記ZMP補正量との差のいずれか一方として定義されるZMP誤差変化量ΔZMPerrと、前記決定した第n修正後運動に対応する第n並進床反力水平成分誤差Ferr(n)と第n−1修正後運動に対応する第n−1並進床反力水平成分誤差Ferr(n-1)との差、および、第n並進床反力水平成分誤差Ferr(n)と少なくとも前記第n−1並進床反力水平成分誤差Ferr(n-1)に応じて決定した前記床反力補正量との差のいずれか一方として定義される並進床反力水平成分誤差変化量ΔFerrとがそれぞれ0に収束したか否かを判断する収束判断処理とを少なくとも該ZMP誤差変化量ΔZMPerrおよび並進床反力水平成分誤差変化量ΔFerrの両者が0に収束したと判断されるまで繰り返し、この繰り返し処理における最後の前記修正後運動決定処理で決定した修正後運動を前記目標運動として決定することを特徴とする移動ロボットの歩容生成装置。
  9. 前記床反力成分誤差算出手段は、前記仮運動に対しては、該仮運動によって前記第1動力学モデル上で発生する前記第1床反力成分として、前記目標値を用いることにより該仮運動に対応する前記床反力成分誤差Aerrを算出し、前記仮運動以外の第n修正後運動に対しては、該第n修正後運動によって前記第1動力学モデル上で発生する前記第1床反力成分として、前記目標値から前記第n−1床反力成分誤差Aerr(n-1)と少なくとも該第n−1床反力成分誤差Aerr(n-1)に応じて決定した前記第1床反力補正量とのいずれかを差し引いたものを用いることにより該第n修正後運動に対応する前記床反力成分誤差Aerrを算出することを特徴とする請求項3記載の移動ロボットの歩容生成装置。
  10. 前記仮運動作成手段は、少なくとも前記第1動力学モデル上で前記第1床反力成分の目標値を満足するように前記仮運動を作成する手段であり、
    前記床反力成分誤差算出手段は、前記仮運動に対しては、該仮運動によって前記第1動力学モデル上で発生する前記第1床反力成分として、前記目標値を用いることにより該仮運動に対応する前記床反力成分誤差Aerrを算出し、前記仮運動以外の第n修正後運動に対しては、該第n修正後運動によって前記第1動力学モデル上で発生する前記第1床反力成分として、前記目標値から前記第n−1床反力成分誤差Aerr(n-1)と少なくとも該第n−1床反力成分誤差Aerr(n-1)に応じて決定した前記第1床反力補正量とのいずれかを差し引いたものを用いることにより該第n修正後運動に対応する前記床反力成分誤差Aerrを算出することを特徴とする請求項4記載の移動ロボットの歩容生成装置。
  11. 前記床反力成分誤差算出手段は、前記仮運動に対しては、該仮運動によって前記第1動力学モデル上で算出されるZMPとして、前記目標ZMPを用いることにより該仮運動に対応する前記ZMP誤差ZMPerrを算出し、前記仮運動以外の第n修正後運動に対しては、該第n修正後運動によって前記第1動力学モデル上で算出されるZMPとして、前記目標ZMPから前記第n−1ZMP誤差ZMPerr(n-1)と少なくとも該第n−1ZMP誤差ZMPerr(n-1)に応じて決定した前記ZMP補正量とのいずれかを差し引いたものを用いることにより該第n修正後運動に対応するZMP誤差ZMPerrを算出することを特徴とする請求項7記載の移動ロボットの歩容生成装置。
  12. 前記仮運動作成手段は、少なくとも前記第1動力学モデル上で前記目標ZMPを満足するように前記仮運動を作成する手段であり、
    前記床反力成分誤差算出手段は、前記仮運動に対しては、該仮運動によって前記第1動力学モデル上で算出されるZMPとして、前記目標ZMPを用いることにより該仮運動に対応する前記ZMP誤差ZMPerrを算出し、前記仮運動以外の第n修正後運動に対しては、該第n修正後運動によって前記第1動力学モデル上で算出されるZMPとして、前記目標ZMPから前記第n−1ZMP誤差ZMPerr(n-1)と少なくとも該第n−1ZMP誤差ZMPerr(n-1)に応じて決定した前記ZMP補正量とのいずれかを差し引いたものを用いることにより該第n修正後運動に対応するZMP誤差ZMPerrを算出することを特徴とする請求項8記載の移動ロボットの歩容生成装置。
  13. 前記目標運動、仮運動および修正後運動は、所定期間における前記移動ロボットの運動の瞬時値の時系列から構成されるものであり、
    前記床反力成分誤差算出手段により求められる前記第m床反力成分誤差(m:m≧0である整数)は、第m修正後運動によって該第m修正後運動の各時刻に前記第2動力学モデル上で発生する前記床反力成分の瞬時値と該第m修正後運動によって該時刻に前記第1動力学モデル上で発生する前記床反力成分の瞬時値との差の前記所定期間における時系列から構成され、
    前記評価手段の前記所定の許容誤差範囲は、前記第0床反力成分誤差を構成する時系列のパターンのうちの所定の第1特徴量に対する許容誤差範囲であり、
    前記目標運動決定手段の前記修正後運動決定処理は、前記第n修正後運動の各時刻tにおいて、該第n修正後運動によって時刻tに前記第1動力学モデル上で発生する前記床反力成分の瞬時値FM(t)に、前記第n−1床反力成分誤差の該時刻tでの値と少なくとも該値に応じて決定した床反力補正量の値とのいずれかを加えたものが該時刻tでの前記許容範囲を満たすように該時刻tにおける第n修正後運動の瞬時値を決定する処理であり、
    前記床反力成分誤差変化量ΔFMは、前記第n床反力成分誤差の各時刻での値と第n−1床反力成分誤差の該時刻での値との差、および、前記第n床反力成分誤差の各時刻での値と少なくとも第n−1床反力成分誤差の該時刻での値に応じて決定した前記床反力補正量の値との差のいずれか一方の前記所定期間における時系列から構成され、
    前記目標運動決定手段の前記収束判断処理は、前記床反力成分誤差変化量ΔFMを構成する時系列のパターンのうちの所定の第2特徴量が所定の許容変化量範囲に収まったときに該床反力成分誤差変化量ΔFMが0に収束したと判断する処理であることを特徴とする請求項1記載の移動ロボットの歩容生成装置。
  14. 前記目標運動、仮運動および修正後運動は、所定期間における前記移動ロボットの運動の瞬時値の時系列から構成されるものであり、
    前記床反力成分誤差算出手段により求められる前記第m床反力成分誤差(m:m≧0である整数)は、第m修正後運動によって該第m修正後運動の各時刻に前記第2動力学モデル上で発生する前記床反力成分の瞬時値と該第m修正後運動によって該時刻に前記第1動力学モデル上で発生する前記床反力成分の瞬時値との差の前記所定期間における時系列から構成され、
    前記目標運動決定手段の前記修正後運動決定処理は、前記第n修正後運動の各時刻tにおいて、該第n修正後運動によって時刻tに前記第1動力学モデル上で発生する前記床反力成分の瞬時値FM(t)に、前記第n−1床反力成分誤差の該時刻tでの値と少なくとも該値に応じて決定した前記床反力補正量の値とのいずれかを加えたものが該時刻tでの前記許容範囲を満たすように該時刻tにおける第n修正後運動の瞬時値を決定する処理であり、
    前記床反力成分誤差変化量ΔFMは、前記第n床反力成分誤差の各時刻での値と第n−1床反力成分誤差の該時刻での値との差、および、前記第n床反力成分誤差の各時刻での値と少なくとも第n−1床反力成分誤差の該時刻での値に応じて決定した前記床反力補正量の値との差のいずれか一方の前記所定期間における時系列から構成され、
    前記目標運動決定手段の前記収束判断処理は、前記床反力成分誤差変化量ΔFMを構成する時系列のパターンのうちの所定の特徴量が所定の許容変化量範囲に収まったときに該床反力成分誤差変化量ΔFMが0に収束したと判断する処理であることを特徴とする請求項2記載の移動ロボットの歩容生成装置。
  15. 前記目標運動、仮運動および修正後運動は、所定期間における前記移動ロボットの運動の瞬時値の時系列から構成されるものであり、
    前記床反力成分誤差算出手段により求められる前記第m床反力成分誤差Aerr,Berr(m:m≧0である整数)のうちの第m床反力成分誤差Aerrは、第m修正後運動によって該第m修正後運動の各時刻に前記第2動力学モデル上で発生する前記第1床反力成分の瞬時値と該第m修正後運動によって該時刻に前記第1動力学モデル上で発生する前記第1床反力成分の瞬時値との差の前記所定期間における時系列から構成されると共に、前記第m床反力成分誤差Berrは、第m修正後運動の各時刻に前記第2動力学モデル上で発生する前記第2床反力成分の瞬時値と該第m修正後運動によって該時刻に前記第1動力学モデル上で発生する前記第2床反力成分の瞬時値との差の前記所定期間における時系列から構成され、
    前記評価手段の前記所定の第1許容誤差範囲は、前記第0床反力成分誤差Aerr(0)を構成する時系列パターンのうちの所定の第1特徴量に対する許容誤差範囲であると共に前記所定の第2許容誤差範囲は、前記第0床反力成分誤差Berr(0)を構成する時系列のパターンのうちの所定の第2特徴量に対する許容誤差範囲であり、
    前記目標運動決定手段の前記修正後運動決定処理は、前記第n修正後運動の各時刻tにおいて、該第n修正後運動によって時刻tに前記第1動力学モデル上で発生する前記第1床反力成分の瞬時値に、前記第n−1床反力成分誤差Aerr(n-1)の時刻tでの値と少なくとも該値に応じて決定した前記第1床反力補正量の値とのいずれかを加えたものが該時刻tでの前記目標値を満足し、且つ、該第n修正後運動によって該時刻tに前記第1動力学モデル上で発生する前記第2床反力成分の瞬時値に、前記第n−1床反力成分誤差Berr(n-1)の時刻tでの値と少なくとも該値に応じて決定した前記第2床反力補正量の値とのいずれかを加えたものが該時刻tでの前記許容範囲を満たすように該時刻tにおける第n修正後運動の瞬時値を決定する処理であり、
    前記床反力成分誤差変化量ΔAerrは、前記第n床反力成分誤差Aerr(n)の各時刻での値と第n−1床反力成分誤差Aerr(n-1)の該時刻での値との差、および、前記第n床反力成分誤差Aerr(n)の各時刻での値と少なくとも第n−1床反力成分誤差Aerr(n-1)の該時刻での値に応じて決定した前記第1床反力補正量の値との差のいずれか一方の前記所定期間における時系列から構成されると共に、前記床反力成分誤差変化量ΔBerrは、前記第n床反力成分誤差Berr(n)の各時刻での値と第n−1床反力成分誤差Berr(n-1)の該時刻での値との差、および、前記第n床反力成分誤差Berr(n)の各時刻での値と少なくとも第n−1床反力成分誤差Berr(n-1)の該時刻での値に応じて決定した前記第2床反力補正量の値との差のいずれか一方の前記所定期間における時系列から構成され、
    前記目標運動決定手段の前記収束判断処理は、前記床反力成分誤差変化量ΔAerrを構成する時系列のパターンのうちの所定の第3特徴量が該第3特徴量に対する所定の許容変化量範囲に収まったときに該床反力成分誤差変化量ΔAerrが0に収束したと判断すると共に、前記床反力成分誤差変化量ΔBerrを構成する時系列のパターンのうちの所定の第4特徴量が該第4特徴量に対する所定の許容変化量範囲に収まったときに該床反力成分誤差変化量ΔBerrが0に収束したと判断する処理であることを特徴とする請求項3記載の移動ロボットの歩容生成装置。
  16. 前記目標運動、仮運動および修正後運動は、所定期間における前記移動ロボットの運動の瞬時値の時系列から構成されるものであり、
    前記床反力成分誤差算出手段により求められる前記第m床反力成分誤差Aerr,Berr(m:m≧0である整数)のうちの第m床反力成分誤差Aerrは、第m修正後運動によって該第m修正後運動の各時刻に前記第2動力学モデル上で発生する前記第1床反力成分の瞬時値と該第m修正後運動によって該時刻に前記第1動力学モデル上で発生する前記第1床反力成分の瞬時値との差の前記所定期間における時系列から構成されると共に、前記第m床反力成分誤差Berrは、第m修正後運動の各時刻に前記第2動力学モデル上で発生する前記第2床反力成分の瞬時値と該第m修正後運動によって該時刻に前記第1動力学モデル上で発生する前記第2床反力成分の瞬時値との差の前記所定期間における時系列から構成され、
    前記目標運動決定手段の前記修正後運動決定処理は、前記第n修正後運動の各時刻tにおいて、該第n修正後運動によって時刻tに前記第1動力学モデル上で発生する前記第1床反力成分の瞬時値に、前記第n−1床反力成分誤差Aerr(n-1)の時刻tでの値と少なくとも該値に応じて決定した前記第1床反力補正量の値とのいずれかを加えたものが該時刻tでの前記目標値を満足し、且つ、該第n修正後運動によって該時刻tに前記第1動力学モデル上で発生する前記第2床反力成分の瞬時値に、前記第n−1床反力成分誤差Berr(n-1)の時刻tでの値と少なくとも該値に応じて決定した前記第2床反力補正量の値とのいずれかを加えたものが該時刻tでの前記許容範囲を満たすように該時刻tにおける第n修正後運動の瞬時値を決定する処理であり、
    前記床反力成分誤差変化量ΔAerrは、前記第n床反力成分誤差Aerr(n)の各時刻での値と第n−1床反力成分誤差Aerr(n-1)の該時刻での値との差、および、前記第n床反力成分誤差Aerr(n)の各時刻での値と少なくとも第n−1床反力成分誤差Aerr(n-1)の該時刻での値に応じて決定した前記第1床反力補正量の値との差のいずれか一方の前記所定期間における時系列から構成されると共に、前記床反力成分誤差変化量ΔBerrは、前記第n床反力成分誤差Berr(n)の各時刻での値と第n−1床反力成分誤差Berr(n-1)の該時刻での値との差、および、前記第n床反力成分誤差Berr(n)の各時刻での値と少なくとも第n−1床反力成分誤差Berr(n-1)の該時刻での値に応じて決定した前記第2床反力補正量の値との差のいずれか一方の前記所定期間における時系列から構成され、
    前記目標運動決定手段の前記収束判断処理は、前記床反力成分誤差変化量ΔAerrを構成する時系列のパターンのうちの所定の第3特徴量が該第3特徴量に対する所定の許容変化量範囲に収まったときに該床反力成分誤差変化量ΔAerrが0に収束したと判断すると共に、前記床反力成分誤差変化量ΔBerrを構成する時系列のパターンのうちの前記第4特徴量が該第4特徴量に対する所定の許容変化量範囲に収まったときに該床反力成分誤差変化量ΔBerrが0に収束したと判断する処理であることを特徴とする請求項3記載の移動ロボットの歩容生成装置。
  17. 前記目標運動、仮運動および修正後運動は、所定期間における前記移動ロボットの運動の瞬時値の時系列から構成されるものであり、
    前記床反力成分誤差算出手段により求められる前記第mZMP誤差ZMPerrおよび並進床反力水平成分誤差Ferr(m:m≧0である整数)のうちの第mZMP誤差ZMPerrは、第m修正後運動によって該第m修正後運動の各時刻に前記第2動力学モデル上で算出されるZMPの瞬時値と該第m修正後運動によって該時刻に前記第1動力学モデル上で算出されるZMPの瞬時値との差の前記所定期間における時系列から構成されると共に、前記第m並進床反力水平成分誤差Berrは、第m修正後運動の各時刻に前記第2動力学モデル上で発生する並進床反力水平成分の瞬時値と該第m修正後運動によって該時刻に前記第1動力学モデル上で発生する並進床反力水平成分の瞬時値との差の前記所定期間における時系列から構成され、
    前記評価手段の前記所定の第1許容誤差範囲は、前記第0ZMP誤差ZMPerr(0)を構成する時系列のパターンのうちの所定の第1特徴量に対する許容誤差範囲であると共に、前記所定の第2許容誤差範囲は、前記第0並進床反力水平成分誤差Ferr(0)を構成する時系列のパターンのうちの所定の第2特徴量に対する許容誤差範囲であり、
    前記目標運動決定手段の前記修正後運動決定処理は、前記第n修正後運動の各時刻tにおいて、該第n修正後運動によって時刻tに前記第1動力学モデル上で算出されるZMPの瞬時値に、前記第n−1ZMP誤差ZMPerr(n-1)の時刻tでの値と少なくとも該値に応じて決定した前記ZMP補正量の値とのいずれかを加えたものが該時刻tでの前記目標ZMPを満足し、且つ、該第n修正後運動によって該時刻tに前記第1動力学モデル上で発生する並進床反力水平成分の瞬時値に、前記第n−1並進床反力水平成分誤差Ferr(n-1)の時刻tでの値と少なくとも該値に応じて決定した前記床反力補正量の値とのいずれかを加えたものが該時刻tでの前記許容範囲を満たすように該時刻tにおける第n修正後運動の瞬時値を決定する処理であり、
    前記ZMP誤差変化量ΔZMPerrは、前記第nZMP誤差ZMPerr(n)の各時刻での値と第n−1ZMP誤差ZMPerr(n-1)の該時刻での値との差、および、前記第nZMP誤差ZMPerr(n)の各時刻での値と少なくとも第n−1ZMP誤差ZMPerr(n-1)の該時刻での値に応じて決定した前記ZMP補正量の値との差のいずれか一方の前記所定期間における時系列から構成されると共に、前記並進床反力水平成分誤差変化量ΔFerrは、前記第n並進床反力水平成分誤差Ferr(n)の各時刻での値と第n−1並進床反力水平成分誤差Ferr(n-1)の該時刻での値との差、および、前記第n並進床反力水平成分誤差Ferr(n)の各時刻での値と少なくとも第n−1並進床反力水平成分誤差Ferr(n-1)の該時刻での値に応じて決定した前記床反力補正量の値との差のいずれか一方の前記所定期間における時系列から構成され、
    前記目標運動決定手段の前記収束判断処理は、前記ZMP誤差変化量ΔZMPerrを構成する時系列のパターンのうちの所定の第3特徴量が該第3特徴量に対する所定の許容変化量範囲に収まったときに該ZMP成分誤差変化量ΔZMPerrが0に収束したと判断すると共に、前記並進床反力水平成分誤差変化量ΔFerrを構成する時系列のパターンのうちの所定の第4特徴量が該第4特徴量に対する所定の許容変化量範囲に収まったときに該並進床反力水平成分誤差変化量ΔFerrが0に収束したと判断する処理であることを特徴とする請求項7記載の移動ロボットの歩容生成装置。
  18. 前記目標運動、仮運動および修正後運動は、所定期間における前記移動ロボットの運動の瞬時値の時系列から構成されるものであり、
    前記床反力成分誤差算出手段により求められる前記第mZMP誤差ZMPerrおよび並進床反力水平成分誤差Ferr(m:m≧0である整数)のうちの第mZMP誤差ZMPerrは、第m修正後運動によって該第m修正後運動の各時刻に前記第2動力学モデル上で算出されるZMPの瞬時値と該第m修正後運動によって該時刻に前記第1動力学モデル上で算出されるZMPの瞬時値との差の前記所定期間における時系列から構成されると共に、前記第m並進床反力水平成分誤差Berrは、第m修正後運動の各時刻に前記第2動力学モデル上で発生する並進床反力水平成分の瞬時値と該第m修正後運動によって該時刻に前記第1動力学モデル上で発生する並進床反力水平成分の瞬時値との差の前記所定期間における時系列から構成され、
    前記目標運動決定手段の前記修正後運動決定処理は、前記第n修正後運動の各時刻tにおいて、該第n修正後運動によって時刻tに前記第1動力学モデル上で算出されるZMPの瞬時値に、前記第n−1ZMP誤差ZMPerr(n-1)の時刻tでの値と少なくとも該値に応じて決定した前記ZMP補正量の値とのいずれかを加えたものが該時刻tでの前記目標ZMPを満足し、且つ、該第n修正後運動によって該時刻tに前記第1動力学モデル上で発生する並進床反力水平成分の瞬時値に、前記第n−1並進床反力水平成分誤差Ferr(n-1)の時刻tでの値と少なくとも該値に応じて決定した前記床反力補正量の値とのいずれかを加えたものが該時刻tでの前記許容範囲を満たすように該時刻tにおける第n修正後運動の瞬時値を決定する処理であり、
    前記ZMP誤差変化量ΔZMPerrは、前記第nZMP誤差ZMPerr(n)の各時刻での値と第n−1ZMP誤差ZMPerr(n-1)の該時刻での値との差、および、前記第nZMP誤差ZMPerr(n)の各時刻での値と少なくとも第n−1ZMP誤差ZMPerr(n-1)の該時刻での値に応じて決定した前記ZMP補正量の値との差のいずれか一方の前記所定期間における時系列から構成されると共に、前記並進床反力水平成分誤差変化量ΔFerrは、前記第n並進床反力水平成分誤差Ferr(n)の各時刻での値と第n−1並進床反力水平成分誤差Ferr(n-1)の該時刻での値との差、および、前記第n並進床反力水平成分誤差Ferr(n)の各時刻での値と少なくとも第n−1並進床反力水平成分誤差Ferr(n-1)の該時刻での値に応じて決定した前記床反力補正量の値との差のいずれか一方の前記所定期間における時系列から構成され、
    前記目標運動決定手段の前記収束判断処理は、前記ZMP誤差変化量ΔZMPerrを構成する時系列のパターンのうちの所定の第3特徴量が該第3特徴量に対する所定の許容変化量範囲に収まったときに該ZMP成分誤差変化量ΔZMPerrが0に収束したと判断すると共に、前記並進床反力水平成分誤差変化量ΔFerrを構成する時系列のパターンのうちの所定の第4特徴量が該第4特徴量に対する所定の許容変化量範囲に収まったときに該並進床反力水平成分誤差変化量ΔFerrが0に収束したと判断する処理であることを特徴とする請求項8記載の移動ロボットの歩容生成装置。
JP2006510511A 2004-02-27 2005-02-28 移動ロボットの歩容生成装置 Expired - Fee Related JP4805818B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006510511A JP4805818B2 (ja) 2004-02-27 2005-02-28 移動ロボットの歩容生成装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2004052823 2004-02-27
JP2004052823 2004-02-27
JP2006510511A JP4805818B2 (ja) 2004-02-27 2005-02-28 移動ロボットの歩容生成装置
PCT/JP2005/003346 WO2005082582A1 (ja) 2004-02-27 2005-02-28 移動ロボットの歩容生成装置

Publications (2)

Publication Number Publication Date
JPWO2005082582A1 JPWO2005082582A1 (ja) 2007-10-25
JP4805818B2 true JP4805818B2 (ja) 2011-11-02

Family

ID=34908714

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2006510510A Expired - Fee Related JP4805817B2 (ja) 2004-02-27 2005-02-28 移動ロボットの歩容生成装置
JP2006510511A Expired - Fee Related JP4805818B2 (ja) 2004-02-27 2005-02-28 移動ロボットの歩容生成装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2006510510A Expired - Fee Related JP4805817B2 (ja) 2004-02-27 2005-02-28 移動ロボットの歩容生成装置

Country Status (5)

Country Link
US (2) US7715945B2 (ja)
EP (2) EP1738879B1 (ja)
JP (2) JP4805817B2 (ja)
KR (2) KR101140812B1 (ja)
WO (2) WO2005082583A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7649536B1 (en) * 2006-06-16 2010-01-19 Nvidia Corporation System, method, and computer program product for utilizing natural motions of a user to display intuitively correlated reactions
KR100835354B1 (ko) * 2006-07-05 2008-06-04 삼성전자주식회사 보행로봇 및 그의 제어방법
US7943874B2 (en) * 2007-09-18 2011-05-17 Honeywell International Inc. Ground contact switch for personal navigation system
JP5251253B2 (ja) * 2008-05-20 2013-07-31 株式会社安川電機 脚式歩行ロボットの安定化制御装置
JP5232124B2 (ja) * 2009-10-28 2013-07-10 本田技研工業株式会社 脚式移動ロボットの制御装置
KR101687629B1 (ko) 2010-01-18 2016-12-20 삼성전자주식회사 인간형 로봇 및 그 보행 제어방법
US8437993B2 (en) 2010-08-12 2013-05-07 International Business Machines Corporation Dynamically adjusting simulation fidelity based on changes in activity levels of components
US8428921B2 (en) 2010-08-12 2013-04-23 International Business Machines Corporation Dynamically adjusting simulation fidelity based on checkpointed fidelity state
US8468005B2 (en) 2010-08-12 2013-06-18 International Business Machines Corporation Determining simulation fidelity in a self-optimized simulation of a complex system
US8407035B2 (en) * 2010-08-12 2013-03-26 International Business Machines Corporation Dynamically adjusting simulation fidelity in a self-optimized simulation of a complex system
WO2016185877A1 (ja) * 2015-05-20 2016-11-24 ボッシュ株式会社 ウェアラブルロボットの制御装置、ウェアラブルロボット、及び、ウェアラブルロボットの制御方法
US9586316B1 (en) * 2015-09-15 2017-03-07 Google Inc. Determination of robotic step path
KR102556924B1 (ko) * 2016-09-05 2023-07-18 삼성전자주식회사 보행 보조 방법 및 이를 수행하는 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002326173A (ja) * 2001-04-27 2002-11-12 Honda Motor Co Ltd 脚式移動ロボットの動作生成装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3167404B2 (ja) * 1992-02-26 2001-05-21 本田技研工業株式会社 ロボットの関節駆動制御装置
JP3148827B2 (ja) 1992-04-30 2001-03-26 本田技研工業株式会社 脚式移動ロボットの歩行制御装置
JP3273443B2 (ja) * 1992-05-22 2002-04-08 本田技研工業株式会社 ロボットのリンクなどの軌道生成方法及び装置
US5872893A (en) * 1996-07-25 1999-02-16 Honda Giken Kogyo Kabushiki Kaisha Gait generation system of legged mobile robot
JP3663034B2 (ja) 1996-07-25 2005-06-22 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
JP3629133B2 (ja) 1997-01-31 2005-03-16 本田技研工業株式会社 脚式移動ロボットの制御装置
JP3672406B2 (ja) * 1997-01-31 2005-07-20 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
JP3443077B2 (ja) 1999-09-20 2003-09-02 ソニー株式会社 ロボットの運動パターン生成装置及び運動パターン生成方法、並びにロボット
JP3615702B2 (ja) * 1999-11-25 2005-02-02 ソニー株式会社 脚式移動ロボットの動作制御装置及び動作制御方法、並びに、脚式移動ロボット
US6876903B2 (en) * 2000-11-17 2005-04-05 Honda Giken Kogyo Kabushiki Kaisha Gait pattern generating device for legged mobile robot
JP3679105B2 (ja) * 2001-12-28 2005-08-03 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
DE60236457D1 (de) * 2001-12-28 2010-07-01 Honda Motor Co Ltd Gangerzeugungsvorrichtung für beweglichen roboter mit beinen und steuervorrichtung
WO2003061917A1 (fr) 2002-01-18 2003-07-31 Honda Giken Kogyo Kabushiki Kaisha Dispositif de commande pour robot bipede
US6999851B2 (en) * 2002-08-30 2006-02-14 Sony Corporation Robot apparatus and motion controlling method therefor
US7236852B2 (en) * 2002-10-11 2007-06-26 Sony Corporation Motion controlling apparatus and method and remote controlling apparatus and method for legged mobile robot
US7054718B2 (en) * 2002-10-11 2006-05-30 Sony Corporation Motion editing apparatus and method for legged mobile robot and computer program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002326173A (ja) * 2001-04-27 2002-11-12 Honda Motor Co Ltd 脚式移動ロボットの動作生成装置

Also Published As

Publication number Publication date
WO2005082583A1 (ja) 2005-09-09
WO2005082582A1 (ja) 2005-09-09
US20070156284A1 (en) 2007-07-05
EP1738879A1 (en) 2007-01-03
KR20060129423A (ko) 2006-12-15
US20070061038A1 (en) 2007-03-15
JP4805817B2 (ja) 2011-11-02
JPWO2005082583A1 (ja) 2007-10-25
KR101140812B1 (ko) 2012-05-03
EP1738879B1 (en) 2011-12-21
US7715945B2 (en) 2010-05-11
KR101160161B1 (ko) 2012-06-27
EP1736286A4 (en) 2009-12-09
EP1736286B1 (en) 2011-11-30
KR20060126803A (ko) 2006-12-08
US7774098B2 (en) 2010-08-10
EP1738879A4 (en) 2009-12-09
EP1736286A1 (en) 2006-12-27
JPWO2005082582A1 (ja) 2007-10-25

Similar Documents

Publication Publication Date Title
JP4805818B2 (ja) 移動ロボットの歩容生成装置
JP5221688B2 (ja) 脚式移動ロボットの歩容生成装置
JP4800038B2 (ja) 移動ロボットの歩容生成装置
EP1825967B1 (en) Gait generator of legged mobile robot
JP4199236B2 (ja) 脚式移動ロボットの歩容生成装置
JP5465074B2 (ja) 2足移動ロボットの制御装置
JP5468974B2 (ja) 2足移動ロボットの制御装置及び歩容生成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110204

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110809

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110811

R150 Certificate of patent or registration of utility model

Ref document number: 4805818

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees