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

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

Info

Publication number
JP4800038B2
JP4800038B2 JP2005518038A JP2005518038A JP4800038B2 JP 4800038 B2 JP4800038 B2 JP 4800038B2 JP 2005518038 A JP2005518038 A JP 2005518038A JP 2005518038 A JP2005518038 A JP 2005518038A JP 4800038 B2 JP4800038 B2 JP 4800038B2
Authority
JP
Japan
Prior art keywords
gait
parameter
value
target
priority
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
JP2005518038A
Other languages
English (en)
Other versions
JPWO2005077610A1 (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 JP2005518038A priority Critical patent/JP4800038B2/ja
Publication of JPWO2005077610A1 publication Critical patent/JPWO2005077610A1/ja
Application granted granted Critical
Publication of JP4800038B2 publication Critical patent/JP4800038B2/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
    • B25J5/00Manipulators mounted on wheels or on carriages
    • 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
    • B25J13/00Controls for manipulators

Landscapes

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

Description

本発明は2足移動ロボット等の移動ロボットの歩容を生成する装置に関する。
2足移動ロボット等の移動ロボットの目標歩容を生成する技術としては、例えば特開2002−326173号公報(特許文献1)や、PCT国際公開公報WO/03/057427/A1(特許文献2)に見られるものが本願出願人により提案されている。これらの文献に見られる技術は、ロボットの運動(各部位の位置、姿勢)と、床反力との関係を表す第1の動力学モデル(単純化モデル)を用いて該第1の動力学モデル上での動力学的平衡条件(床反力の並進力成分が目標値になる、ある点のまわりの床反力モーメントが目標値になるなどの条件)を満足するようにロボットの目標運動の瞬時値(瞬時目標運動)と目標床反力の瞬時値(瞬時目標床反力)とからなる瞬時目標歩容が逐次作成される。そして、この瞬時目標歩容を第2の動力学モデル(フルモデル)に入力して、該瞬時目標運動の一部(目標上体位置姿勢や目標ZMPまわりの目標モーメントなど)を補正することで、最終的な瞬時目標歩容を時系列的に生成するようにしている。なお、文献1,2に見られる技術では、目標歩容は、2足移動ロボットの1歩の期間分の歩容を単位として、1歩毎に生成される。この場合、ロボットの1歩毎の目標歩容の瞬時値を生成するにあたっては、まず、その目標歩容に続く仮想的な周期的歩容である定常歩容を規定する歩容パラメータ(各足平の位置姿勢軌道を規定するパラメータ、目標ZMP軌道を規定するパラメータなどから構成されるもの)が、その歩容パラメータと前記第1の動力学モデルとを用いて所要の境界条件(定常歩容の1周期の始端と終端とで該歩容の状態が一致するという条件)を満たすように決定される。さらに、目標歩容を規定する歩容パラメータが、その歩容パラメータと前記第1の動力学モデルとを用いて生成される歩容が所要の境界条件(目標歩容がその終端側で定常歩容に近づくという条件)を満たすように決定される。そして、このように決定された目標歩容の歩容パラメータと第1の動力学モデルとを用いて該目標歩容の瞬時値の時系列が生成される。
上記のように目標歩容を生成する技術では、第1の動力学モデル(単純化モデル)としては、線形性の高いモデルが一般に使用される。線形性の高い動力学モデルを用いて瞬時目標歩容を作成することで、仮想的な周期的歩容である定常歩容につながり、もしくは漸近するような歩容(ロボットの安定な運動を継続的に行い得る歩容)を効率よく短時間で作成することが可能となり、ひいては実ロボットの実際の運動を行いながら、リアルタイムでロボットの瞬時目標歩容を逐次生成することが可能となる。また、定常歩容の歩容パラメータを決定する場合にも、該定常歩容の境界条件を満足し得る歩容パラメータを効率よく短時間で決定することが可能となる。
ところが、線形性の高い動力学モデルは、ロボットの種々様々の動作において一般に動力学的精度が比較的低くなりがちである。すなわち、その動力学モデル上でのロボットの動力学は、実ロボットの実際の動力学に対して誤差を生じやすい。このため、第1の動力学モデルを用いて作成される瞬時目標歩容を、そのまま実ロボットに適用して、該実ロボットの動作を行わせると、第1の動力学モデル上で保証された動力学的平衡条件が、実ロボット上では成立せず、実ロボットの動作が安定性に欠けるものとなりやすい。
そこで、前記特許文献1、2に見られる技術では、第1の動力学モデルを用いて作成した瞬時目標歩容の一部をさらに、第2の動力学モデルを用いて補正するようにしている。この場合、第2の動力学モデルとしては、第1の動力学モデルよりも動力学的精度の高いモデルが用いられる。これにより、第1の動力学モデルを用いて作成した歩容よりも、より動力学的精度の高い(実ロボットの動力学により近い)歩容を生成することが可能となる。
しかし、前記特許文献1,2に見られる技術では、第2動力学モデルを用いて作成される歩容は発散しやすいため、目標ZMP軌道を修正するかもしくは目標ZMPまわりに床反力モーメントを発生させるようにして、ロボットの目標運動軌道が第1の動力学モデルで作成された歩容からかけはなれないようにする必要があった。そして、この場合、目標ZMP軌道の修正量や、目標ZMPまわりの床反力モーメントが比較的大きくなることがあり、このような場合には、安定余裕を高く保つことが困難となる場合あった。逆に、安定余裕を高く保つために、目標ZMP軌道の修正量や、目標ZMPまわりの床反力モーメントの許容範囲を狭く設定すると、歩容が発散する恐れが高まるという不具合があった。
また、定常歩容の歩容パラメータを決定する場合にあっても、第1の動力学モデルの動力学的精度を高くすると、該第1の動力学モデルの線形性が低下して、定常歩容の境界条件を満たし得る定常歩容パラメータを効率よく短時間で見出すことが困難となることから、前記第2の動力学モデルでの歩容の発散が生じ難い適切な定常歩容パラメータを決定することが困難であった。ひいては、前記した如く、安定余裕を高く保つことが困難となったり、第2の動力学モデルで生成される歩容の発散が生じやすくなるという不都合があった。
本発明はかかる背景に鑑みてなされたものであり、目標歩容の発散を防止しつつ、所要の境界条件を満足し得る目標歩容を効率よく生成することができる移動ロボットの歩容生成装置を提供することを目的とする。また、本発明は、定常歩容を規定する歩容パラメータを決定する場合に、定常歩容が所要の境界条件を満足し得る定常歩容パラメータを効率よく決定し、ひいては目標歩容の発散を防止することができる移動ロボットの歩容生成装置を提供することを目的とする。
かかる目的を達成するために、本発明の移動ロボットの歩容生成装置の第1発明は、
所定の期間における移動ロボットの歩容を規定する複数のパラメータの組である歩容パラメータを決定し、その決定した歩容パラメータと前記移動ロボットの動力学モデルとを用いて前記所定の期間における移動ロボットの目標歩容を生成する歩容生成装置において、
前記目標歩容に関する要求が与えられ、前記歩容パラメータのうちの所定のパラメータを優先パラメータとし、該優先パラメータ以外のパラメータを非優先パラメータとしたとき、前記要求を満足するための前記優先パラメータの値である優先パラメータ要求値を決定する優先パラメータ要求値決定手段と、
前記移動ロボットのあらかじめ用意された基準歩容を規定する歩容パラメータと、所定の境界条件を満たすように過去に決定された歩容パラメータとのうちのいずれかの歩容パラメータをベース歩容パラメータとして設定するベース歩容パラメータ設定手段と、
前記ベース歩容パラメータの優先パラメータの値を、該値が前記優先パラメータ要求値に一致するまで段階的に前記優先パラメータ要求値に漸近させるように更新する優先パラメータ漸近手段と、
該優先パラメータ漸近手段による優先パラメータの値の更新の都度、その更新後の値の優先パラメータを有し、且つ前記所定の境界条件を満足する歩容を前記動力学モデルを用いて生成し得る歩容パラメータである新規歩容パラメータを探索的に決定する新規歩容パラメータ決定手段とを備えると共に、
前記新規歩容パラメータ決定手段は、前記新規歩容パラメータを新たに決定するときの前記優先パラメータ漸近手段による優先パラメータの値の更新回数をn(n:n≧1を満たす整数)とし、その第n回目の更新処理によって得られた優先パラメータの値を第n優先パラメータ更新値とし、当該新たに決定する新規歩容パラメータを第n新規歩容パラメータとし、前記ベース歩容パラメータを第0新規歩容パラメータとしたとき、非優先パラメータの値に第n−1新規歩容パラメータの非優先パラメータの値を設定し、且つ、優先パラメータの値を第n優先パラメータ更新値に設定してなる歩容パラメータを初期探索候補歩容パラメータとして、この初期探索候補歩容パラメータの非優先パラメータのうちの所定のパラメータである探索対象パラメータの値を前記所定の境界条件を満たすように探索することにより第n新規歩容パラメータを決定する手段であり、
前記優先パラメータ漸近手段による優先パラメータの値の最後の更新時に決定された新規歩容パラメータを前記目標歩容を規定する歩容パラメータとして、該新規歩容パラメータと前記動力学モデルとを用いて該目標歩容を生成するようにしたことを特徴とするものである。
なお、この第1発明を含めて本願発明においては、目標歩容は、ロボットの運動(各部位の位置・姿勢、あるいは各関節の変位量)の目標瞬時値の時系列から構成され、あるいは、該運動の目標瞬時値の時系列とロボットに作用する床反力(並進力、モーメント、作用点の少なくともひとつ)の目標瞬時値の時系列とから構成される。また、ロボットの動力学モデルは、少なくともロボットの運動とロボットに作用する床反力との関係を表す運動・床反力モデル(ロボットの動力学方程式)を含むモデルである。この動力学モデルには、ロボットの運動に関する制約条件(ロボットのある部位の可動範囲や、リンク機構の幾何学的な拘束条件など)あるいは床反力に関する制約条件(床反力の所定成分の許容範囲、あるいは該床反力の作用点の存在許容範囲など)が付加されていてもよく、その場合、それらの制約条件と上記運動・床反力モデルとを合わせたものが動力学モデルである。また、歩容パラメータと動力学モデルとを用いて歩容を生成するということは、歩容パラメータを基に、動力学モデルに対する入力量あるいは動力学モデルの状態量を決定して、該動力学モデル上の動力学(運動・床反力モデルの関係、あるいはその関係と付加された制約条件)を満たす歩容を生成することを意味する。
前記第1発明によれば、前記優先パラメータ漸近手段による優先パラメータの値の更新の都度、前記新規歩容パラメータ決定手段により新たに決定される前記新規歩容パラメータの優先パラメータの値は、優先パラメータ漸近手段による更新後の優先パラメータの値に一致する。従って、該新規歩容パラメータの優先パラメータの値は、前記ベース歩容パラメータ(=第0新規歩容パラメータ)から段階的に優先パラメータ要求値、すなわち前記目標歩容に関する要求を満足するための優先パラメータの値に近づいていき、最終的に該優先パラメータ要求値に一致するように更新されることとなる。
また、優先パラメータの値の任意の第n回目の更新時に決定される第n新規歩容パラメータは、非優先パラメータの値に第n−1新規歩容パラメータの非優先パラメータの値を設定し、且つ、優先パラメータの値を第n回目の更新後の値(第n優先パラメータ更新値)に設定してなる歩容パラメータ(優先歩容パラメータ以外のパラメータが第n−1新規歩容パラメータと同一になる歩容パラメータ)を初期探索候補歩容パラメータとして、この初期探索候補歩容パラメータの非優先パラメータのうちの所定のパラメータである探索対象パラメータの値を前記所定の境界条件を満たすように探索することにより決定される。該該境界条件は、例えば前記所定の期間の一端(始端または終端の時刻)における歩容(瞬時値)の所定の状態量(例えばロボットのある部位の位置、姿勢、もしくはその変化速度、あるいは、床反力)が所定の値に一致またはほぼ一致するというような条件である。
この場合、初期探索候補歩容パラメータは、その探索パラメータ以外のパラメータが、これから決定しようとする第n新規歩容パラメータと同一である。そして、該初期探索候補歩容パラメータと先に決定された第n−1新規歩容パラメータとは、それらの優先パラメータの値の差を十分に小さくできるので、新たに決定しようとする第n新規歩容パラメータの、前記所定の境界条件を満たし得るような適正な探索対象パラメータの値は、第n−1新規歩容パラメータの探索対象パラメータの値から大きくかけ離れたものとなることはない。このため、前記境界条件を満たし得るような第n新規歩容パラメータの探索対象パラメータを容易に短時間で探索することができる。
そして、優先パラメータの値の最後の更新時、すなわち、優先パラメータの値を最終的に前記優先パラメータ要求値に一致させたときに決定された新規歩容パラメータと前記動力学モデルとを用いて前記目標歩容が生成される。
従って、第1発明によれば、生成しようとする前記目標歩容を規定する歩容パラメータは、その優先パラメータの値を前記ベース歩容パラメータの優先パラメータの値から徐々に(段階的に)、本来の要求値である優先パラメータ要求値に近づけつつ、優先パラメータでない探索対象パラメータの値を探索的に調整していくことで、最終的に前記境界条件を満足し得るように決定されることとなる。換言すれば、ベース歩容パラメータを起点として、それを、前記目標歩容に関する要求と境界条件とを徐々に満たしていくように変化させていくことで該目標歩容を規定する歩容パラメータが決定されることとなる。この場合、ベース歩容パラメータは、あらかじめ用意された基準歩容を規定する歩容パラメータと、所定の境界条件を満たすように過去に決定された歩容パラメータとのうちのいずれかであるので、それと、動力学モデルとを用いて歩容を生成したときにその歩容の発散などの不都合を生じないか、もしくは生じ難い歩容パレメータ(歩容パラメータとして適切なもの)である。このため、第1発明で、目標歩容を規定するものとして最終的に決定される歩容パラメータは、それと動力学モデルとを用いて生成される歩容が発散を生じないか、もしくは発散が生じ難いものとすることが可能となる。また、前記したように、優先パラメータの各回の更新時に、適正な新規歩容パラメータの探索対象パラメータは容易に短時間で探索できるので、結果的に、前記目標歩容を規定する最終的な歩容パラメータを効率よく決定できることとなる。
よって、第1発明によれば、目標歩容の発散を防止しつつ、所要の境界条件を満足し得る目標歩容を効率よく生成することができる。また、発散しない、あるいは発散し難い目標歩容を生成できることから、発散を防止するために目標歩容のうちの目標ZMPや目標床反力モーメントなどを大きく修正したりする必要がなくなり、移動ロボットの安定余裕を高めることができる。
また、本発明の移動ロボットの歩容生成装置の第2発明は、前記の目的を達成するために、
所定の期間における移動ロボットの目標歩容を生成するとき、該目標歩容に続く仮想的な周期的歩容である定常歩容を規定する複数のパラメータの組である定常歩容パラメータを決定すると共に、その決定した定常歩容パラメータと前記移動ロボットの動力学モデルとを用いて生成される定常歩容に前記目標歩容を近づけるように該目標歩容を生成する移動ロボットの歩容生成装置において、
前記目標歩容に対応する定常歩容に関する要求が入力され、前記定常歩容パラメータのうちの所定のパラメータを優先パラメータとし、該優先パラメータ以外のパラメータを非優先パラメータとしたとき、前記要求を満足するための該優先パラメータの値である優先パラメータ要求値を決定する優先パラメータ要求値決定手段と、
前記移動ロボットのあらかじめ用意された基準定常歩容を規定する定常歩容パラメータと、所定の境界条件を満たすように過去に決定された定常歩容パラメータとのうちのいずれかの定常歩容パラメータをベース定常歩容パラメータとして設定するベース定常歩容パラメータ設定手段と、
前記ベース定常歩容パラメータの優先パラメータの値を、該値が前記優先パラメータ要求値に一致するまで段階的に前記優先パラメータ要求値に漸近させるように更新する優先パラメータ漸近手段と、
該優先パラメータ漸近手段のよる優先パラメータの値の更新の都度、その更新後の値の優先パラメータを有し、且つ前記所定の境界条件を満たす歩容を前記動力学モデルを用いて生成し得る定常歩容パラメータである新規定常歩容パラメータを探索的に決定する新規定常歩容パラメータ探索手段とを備えると共に、
前記新規定常歩容パラメータ探索手段は、前記新規定常歩容パラメータを新たに決定するときの前記優先パラメータ漸近手段による優先パラメータの値の更新回数をn(n:n≧1を満たす整数)とし、その第n回目の更新後の優先パラメータの値を第n優先パラメータ更新値とし、当該新たに決定する新規定常歩容パラメータを第n新規定常歩容パラメータとし、前記ベース定常歩容パラメータを第0新規定常歩容パラメータとしたとき、非優先パラメータの値に第n−1新規定常歩容パラメータの非優先パラメータの値を設定し、且つ、優先パラメータの値に第n優先パラメータ更新値を設定してなる歩容パラメータを初期探索候補歩容パラメータとして、この初期探索候補歩容パラメータの非優先パラメータのうちの所定のパラメータである探索対象パラメータの値を前記所定の境界条件を満たすように探索することにより第n新規定常歩容パラメータを決定する手段であり、
前記優先パラメータ漸近手段による優先パラメータの値の最後の更新時に決定された新規定常歩容パラメータを前記目標歩容に対応する定常歩容の定常歩容パラメータとして、該定常歩容パラメータと前記動力学モデルとを用いて生成される定常歩容に近づけるように前記目標歩容を生成するようにしたことを特徴とするものである。
この第2発明によれば、前記優先パラメータ漸近手段による優先パラメータの値の更新の都度、前記新規定常歩容パラメータ決定手段により新たに決定される前記新規定常歩容パラメータの優先パラメータの値は、優先パラメータ漸近手段による更新後の優先パラメータの値に一致する。従って、該新規定常歩容パラメータの優先パラメータの値は、前記ベース定常歩容パラメータ(=第0新規定常歩容パラメータ)から段階的に優先パラメータ要求値、すなわち前記定常歩容に関する要求を満足するための優先パラメータの値に近づいていき、最終的に該優先パラメータ要求値に一致するように更新されることとなる。
また、優先パラメータの値の任意の第n回目の更新時に決定される第n新規定常歩容パラメータは、非優先パラメータの値に第n−1新規定常歩容パラメータの非優先パラメータの値を設定し、且つ、優先パラメータの値を第n回目の更新後の値(第n優先パラメータ更新値)に設定してなる歩容パラメータ(優先歩容パラメータ以外のパラメータが第n−1新規定常歩容パラメータと同一になる歩容パラメータ)を初期探索候補歩容パラメータとして、この初期探索候補歩容パラメータの非優先パラメータのうちの所定のパラメータである探索対象パラメータの値を前記所定の境界条件を満たすように探索することにより決定される。該境界条件は、例えば定常歩容の1周期の期間の両端(該期間の始端および終端)における該歩容の所定の状態量(ロボットのある部位の位置、姿勢、もしくはその変化速度、あるいは、床反力)が互いに一致するというような条件である。
この場合、初期探索候補歩容パラメータは、その探索パラメータ以外のパラメータが、これから決定しようとする第n新規定常歩容パラメータと同一である。そして、該初期探索候補歩容パラメータと先に決定された第n−1新規定常歩容パラメータとは、それらの優先パラメータの値の差を十分に小さくできるので、新たに決定しようとする第n新規定常歩容パラメータの、前記所定の境界条件を満たし得るような適正な探索対象パラメータの値は、第n−1新規定常歩容パラメータの探索対象パラメータの値から大きくかけ離れたものとなることはない。このため、前記境界条件を満たし得るような第n新規定常歩容パラメータの探索対象パラメータを容易に短時間で探索することができる。
従って、第2発明によれば、生成しようとする前記目標歩容に対応する定常歩容を規定する定常歩容パラメータは、その優先パラメータの値を前記ベース歩容パラメータの優先パラメータの値から徐々に(段階的に)、本来の要求値である優先パラメータ要求値に近づけつつ、優先パラメータでない探索対象パラメータの値を探索的に調整していくことで、最終的に前記境界条件を満足し得るように決定されることとなる。換言すれば、ベース歩容パラメータを起点として、それを、前記定常歩容に関する要求と境界条件とを徐々に満たしていくように変化させていくことで該定常歩容を規定する定常歩容パラメータが決定されることとなる。この場合、ベース歩容パラメータは、あらかじめ用意された基準定常歩容を規定する歩容パラメータと、所定の境界条件を満たすように過去に決定された定常歩容パラメータとのうちのいずれかであるので、それと、動力学モデルとを用いて定常歩容を生成したときに前記境界条件を満足し得るような適切な歩容パラメータである。このため、第2発明で、前記目標歩容に対応する定常歩容を規定するものとして最終的に決定される定常歩容パラメータは、それと動力学モデルとを用いて生成される定常歩容が、前記境界条件を適切に満足し得るものとすることが可能となる。また、前記したように、優先パラメータの各回の更新時に、適正な新規定常歩容パラメータの探索対象パラメータは容易に短時間で探索できるので、結果的に、前記目標歩容に対応する定常歩容を規定する最終的な定常歩容パラメータを効率よく決定できることとなる。
そして、第2発明では、優先パラメータの値の最後の更新時、すなわち、優先パラメータの値を最終的に前記優先パラメータ要求値に一致させたときに決定された新規定常歩容パラメータと前記動力学モデルとを用いて生成される定常歩容に近づけるように前記目標歩容が生成されるので、該目標歩容は、第n動力学モデル上でロボットの継続的な安定性を適切に高め得る歩容となり、該目標歩容の発散を防止することができる。また、発散しない、あるいはし難い目標歩容を生成できることから、発散を防止するために目標歩容のうちの目標ZMPや目標床反力モーメントなどを大きく修正したりする必要がなくなり、移動ロボットの安定余裕を高めることができる。
なお、第1発明と第2発明とは複合させてもよい。すなわち、第1発明において、所定の期間における目標歩容を第2発明における定常歩容に近づけるように生成し、このとき、その定常歩容を規定する定常歩容パラメータを第2発明の如く決定する。この場合、第1発明における動力学モデルと第2発明における動力学モデルとは同じでよいことはもちろんであるが、異なるものでもよい。
前記第1発明では、前記優先パラメータ漸近手段による優先パラメータの値の総更新回数は、前記ベース歩容パラメータの優先パラメータの値と、前記優先パラメータ要求値との差に応じて設定されることが好ましい(第3発明)。
同様に、前記第2発明では、前記優先パラメータ漸近手段による優先パラメータの値の総更新回数は、前記ベース定常歩容パラメータの優先パラメータの値と、前記優先パラメータ要求値との差に応じて設定されることが好ましい(第4発明)。
これらの第3発明または第4発明によれば、優先パラメータの値の各更新時における更新量が過大あるいは過小にならないような適切な更新量にして、各第n新規歩容パラメータまたは各第n新規定常歩容パラメータの探索対象パラメータの探索処理を効率よく行なうことができる。
また、前記第1発明では、前記歩容パラメータは、前記目標歩容のうちの目標ZMP軌道を規定するパラメータを前記探索対象パラメータとして含むことが好ましい(第5発明)。
この第5発明によれば、目標ZMP軌道をロボットの安定余裕を確保するために好適な軌道から大きく修正しないようにしつつ、前記境界条件を満足し得る目標歩容を生成することが可能となる。
また、前記第2発明では、前記定常歩容パラメータは、前記定常歩容の1周期の期間の一端における移動ロボットの運動の所定の状態量を規定するパラメータを前記探索対象パラメータとして含むことが好ましい(第6発明)。
この第6発明によれば、定常歩容の境界条件が満たされる定常歩容パラメータを、定常歩容の1周期の期間の一端における移動ロボットの運動の所定の状態量を調整することで決定することとなるので、安定余裕の高い定常歩容を規定する定常歩容パラメータを決定できる。なお、定常歩容は、周期的な歩容であるので、その1周期の一端におけるロボットの運動の所定の状態量を調整することは、1周期の他端におけるロボットの運動の所定の状態量を調整することを意味する。
また、前記第1発明では、前記所定の境界条件は、前記所定の期間における歩容の境界における移動ロボットの運動の所定の状態量が前記境界において隣接する歩容における移動ロボットの運動の該所定の状態量と一致するという条件を含む(第7発明)。
すなわち、目標歩容は、連続している必要があるので、前記所定の期間における目標歩容を生成するとき、該所定の期間における歩容の境界(該所定の期間の始端または終端における歩容)で、移動ロボットの歩容の運動の所定の状態量(例えばある移動ロボットのある部位の位置、姿勢、もしくはその変化速度)が該歩容に隣接する歩容における当該運動の所定の状態量と一致することが望ましい。
また、第1発明において、前記所定の期間における目標歩容に続く仮想的な周期的歩容である定常歩容(あるいはこれを規定する定常歩容パラメータ)を決定した上で、この目標歩容に近づけるように目標歩容を生成する場合には、前記所定の境界条件は、前記所定の期間における歩容の終端側の境界における移動ロボットの運動の所定の状態量が該歩容に続くべき仮想的な周期的歩容として決定された定常歩容における移動ロボットの運動の該所定の状態量と一致するという条件を含むことが好ましい(第8発明)。
このように前記目標歩容に対応する境界条件を定めることで、目標歩容の終端側(前記所定の期間の終端側)で定常歩容に近づけるような目標歩容を生成し得る歩容パラメータを効率よく生成できる。なお、第8発明において、定常歩容は、必ずしもそれを規定する定常歩容パラメータを第2発明の如く段階的に決定する必要はないが、第2発明の如く決定するようにしてもよい。
また、第2発明においては、前記所定の境界条件は、前記定常歩容の1周期の始端と終端における移動ロボットの運動の所定の状態量が一致するという条件を含むことが好ましい(第9発明)。
定常歩容は、周期的な歩容であるので、上記のように境界条件を定めることで、周期性の条件を満たす定常歩容を生成し得る定常歩容パラメータを適切に決定できる。なお、この第9発明における定常歩容の1周期の始端は必ずしも、前記目標歩容の終端と一致する必要はない。
前記第6〜第9発明では、特に、前記移動ロボットが、上体から延設された複数の脚体を備えた脚式移動ロボットである場合には、前記所定の状態量は、該ロボットの上体の位置、該上体の速度、該上体の姿勢角、該上体の姿勢角の角速度、該上体の位置と速度との重み付き平均値、該ロボットの全体重心の位置、該全体重心の速度、該全体重心の位置と速度との重み付き平均値、および発散成分のうちの少なくともいずれか一つを含むことが好ましい(第10発明)。
これによれば、第6発明にあっては、前記探索対象パラメータを少なくしつつ、定常歩容の境界条件を満たすような定常歩容パラメータを効率よく決定できる。また、特に第8発明にあっては、前記所定の期間における目標歩容を定常歩容に近づけるための歩容パラメータを、探索対象パラメータを少なくしつつ効率よく決定できる。なお、第8発明では、特に、前記所定の状態量としては、上体の位置と速度との重み付き平均値、あるいは全体重心の位置と速度との重み付き平均値、あるいは発散成分が好適である。
以下、添付図面を参照して本発明の実施形態を説明する。尚、本明細書の実施形態では、移動ロボットとしては脚式移動ロボットとしての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に関する前記補正目標上体姿勢および補正目標上体位置は、ある基本となる目標上体姿勢(仮目標上体姿勢)および目標上体位置(仮目標上体位置)を補正したものである。本明細書の実施形態では、基本となる目標上体位置姿勢は、後述する目標瞬時値発生部で決定される目標上体位置姿勢(後述の図12の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が出力する目標歩容)を決定するまでの過程で作成する目標歩容(仮目標歩容)では、目標ZMPまわりの目標床反力モーメントの水平成分は、本来の目標ZMPの定義どおりに0とされる。従って、最終的に決定する目標歩容以外の仮目標歩容では、上記狭義の目標歩容から、補正目標床反力モーメントを除いたものが目標歩容の意味で使用される。補足すると、本明細書の実施形態では、最終的な目標歩容(歩容生成装置100が出力する目標歩容)を決定するまでの過程で作成する目標歩容(仮目標歩容)が本発明に密接に関連するものとなっている。このため、以降の説明で現れる目標歩容の大部分は、前記狭義の目標歩容から、補正目標床反力モーメントを除いたもの(目標ZMPを満足する歩容)の意味で使用される。
なお、以降の説明では、「床反力鉛直成分」は「並進床反力鉛直成分」を意味するものとし、床反力のうちのモーメントの鉛直成分(鉛直軸回り成分)は、「モーメント」という用語を用いて「床反力鉛直成分」と区別をする。同様に、「床反力水平成分」は「並進床反力水平成分」を意味するものとする。
また、目標歩容の「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は、本発明の中核に係わる処理を担うものである。
本明細書の実施形態では、歩容パラメータ決定部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の所定の制御処理周期毎の値)を逐次算出(発生)する。なお、図5では一部の目標瞬時値のみを代表的に記載している。
目標瞬時値発生部100bで算出された目標瞬時値は、フルモデル補正部100cに入力される。このフルモデル補正部100cは、目標瞬時値発生部100bが求めた目標上体位置姿勢を、動力学的精度の高い動力学モデルとしてのフルモデルを用いて補正してなる補正目標上体位置姿勢を算出すると共に、目標ZMPまわりの床反力モーメント水平成分の目標値である補正目標床反力モーメントを算出する。
フルモデル補正部100cは、より一般的には、次のD1〜D3の条件を満足するように、E1あるいはE2の処理を実行する。すなわち、フルモデル補正部100cは、
D1)目標瞬時値発生部100bで生成した歩容よりも高い精度で動力学的平衡条件を満足する。
D2)真のZMP(目標ZMPのまわりに補正目標床反力モーメントを発生させることによって修正された本来の定義を満足するZMP)は、ZMP許容範囲(安定余裕が十分維持できる許容範囲)に存在する。
D3)床反力水平成分は床反力水平成分許容範囲内になる。
という条件を満足するように、
E1)目標瞬時値発生部100bで生成した歩容の上体位置姿勢を補正する。
あるいは
E2)目標瞬時値発生部100bで生成した歩容の上体位置姿勢を補正すると共に、目標ZMPまわりの補正目標床反力モーメントを出力する(目標床反力を補正する)。
本明細書の実施形態では、D1〜D3の条件を満足するように、E2の処理が実行される。なお、本明細書の実施形態におけるフルモデル補正部100cの処理は、例えば本願出願人が先に提案したPCT国際公開公報WO/03/057427/A1にて詳細に説明されているもの(具体的には、同公報の図13のS038の処理)と同じである。従って、本明細書でのフルモデル補正部100cの処理の詳細な説明は省略する。
また、本明細書の実施形態では、フルモデル補正部100cによる補正を行うが、その補正を省略し、目標瞬時値発生部100bで決定した目標歩容の瞬時値をそのまま歩容生成装置100から出力するようにしてもよい。
図4に戻って、上述のように決定される補正目標上体位置姿勢、目標ZMPまわりの補正目標床反力モーメント、目標足平位置姿勢の瞬時値を含む目標歩容の瞬時値は、複合コンプライアンス制御装置101(図4で破線で囲んだ部分)に入力される。この複合コンプライアンス制御装置101では、ロボット1のバランスを保ちつつ、目標歩容に追従するように関節アクチュエータ(電動モータ64)が制御される。なお、複合コンプライアンス制御装置101のより具体的な処理は後述する。
以上が歩容生成装置100の概要である。
次に、本発明の実施形態を具体的に説明していく。本実施形態では、歩容パラメータ決定部100aは、前記制御ユニット60の制御処理周期毎に、目標ZMP軌道(より正確には歩容パラメータのうちの目標ZMP軌道を規定するパラメータ)を修正するためのパラメータを段階的に決定したり、前記したパラメータ以外のパラメータを探索的に決定することにより、そして、その決定した歩容パラメータと前記動力学モデルとを用いて目標瞬時値発生部100bにより目標歩容の瞬時値の時系列を決定する。この場合、歩容パラメータは、既に作成済みの歩容に係わる歩容パラメータを初期値として、その歩容パラメータの一部のパラメータを、これから作成しようとする歩容に対応して定まる歩容パラメータに段階的に近づけつつ、残りのパラメータのうちの所定のパラメータが探索的に決定される。
ここで、本実施形態で歩容生成に用いられる上体運動モードと動力学モデルとについて説明する。
走行など、空中期がある歩容や、低摩擦床面での歩行においては、単に上体水平加速度を調整するだけでは、目標歩容の床反力水平成分が許容範囲内(あるいは摩擦限界内)に存在しつつ動力学的平衡条件を満足することができない場合がある。そこで、本実施形態では、以下に説明する上体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を鉛直方向に移動させる運動である。
第1実施形態においては、目標瞬時値発生部100bは、以下に示す動力学モデルを用いて歩容を生成する。本実施形態では、その動力学モデルとして、例えば図7に示す動力学モデルが用いられる。
図7を参照して、この動力学モデルはロボット1の各脚体2にそれぞれ対応する2つの質点(足平質点)2m,2m、及び上体3に対応する質点(上体質点)24mからなる合計3質点と、イナーシャがあって質量のないフライホイールFHとから構成されるモデルである。上体質点は、上体3に任意に固定設定されたローカル座標系において上体3の代表点と一定の位置関係を有する点である。同様に、各足平質点は、それに対応する足平22に任意に固定設定されたローカル座標系において該足平22の代表点と一定の位置関係を有する点である。この動力学モデルは、本願出願人が例えば先に提案したPCT国際公開公報WO/03/057427/A1に例示した動力学モデルである。従って、本明細書での詳細な説明は省略するが、該動力学モデルの動力学は、次のように変数を定義したとき、式2a〜2cにより表される。なお、ここでは、本明細書の理解を容易にするために、サジタルプレーン(前後軸(X軸)と鉛直軸(Z軸)を含む平面)での動力学方程式(運動と床反力との関係を表す式)のみを記述し、ラテラルプレーン(左右軸(Y軸)と鉛直軸(Z軸)を含む平面)での動力学方程式を省略する。
Zsup2:支持脚質点鉛直位置、Zswg2:遊脚質点鉛直位置、Zb2:上体質点鉛直位置、ZGtotal2:全体重心鉛直位置、Xsup2:支持脚質点水平位置、Xswg2:遊脚質点水平位置、Xb2:上体質点水平位置、XGtotal2:全体重心水平位置、θby2:鉛直方向に対するY軸回りの上体姿勢角(傾斜角)、mb2:上体質点質量、msup2:支持脚質点質量、mswg2:遊脚質点質量、mtotal:ロボット総質量(=mb2+msup2+mswg2)、J:上体慣性モーメント(上体回転モードにおける等価慣性モーメント)、Fx:床反力水平成分(詳しくは並進床反力の前後方向(X軸)成分)、Fz:床反力鉛直成分(詳しくは並進床反力の鉛直方向(Z軸)成分)、My:目標ZMPまわりの床反力モーメント(詳しくは床反力モーメントの左右軸(Y軸)まわり成分)。
Fz=mb2*(g+d2Zb2/dt2)+msup2*(g+d2Zsup2/dt2)
+mswg2*(g+d2Zswg2/dt2) ……式2a
Fx=mb2*d2Xb/dt2+msup2*d2Xsup2/dt2+mswg2*d2Xswg2/dt2
……式2b
My=−mb2*(Xb2−Xzmp)+(g+d2Zb2/dt2)+mb2*(Zb2−Zzmp)*d2Xb2/dt2
−msup2*(Xsup2−Xzmp)*(g+d2Zsup2/dt2)
+msup2*(Zsup2−Zzmp)*d2Xsup2/dt2
−mswg2*(Xswg2−Xzmp)*(g+d2Zswg2/dt2)
+mswg2*(Zswg2−Zzmp)*(d2Xswg2/dt2)+J*d2θby/dt2
……式2c
なお、ロボット全体重心位置には次の関係式が成立する。
ZGtotal2=(mb2*Zb2+msup2*Zsup2+mswg2*Zswg2)/mtotal …式2d
XGtotal2=(mb2*Xb2+msup2*Xsup2+mswg2*Xswg2)/mtotal …式2e

この動力学モデルでは、脚体2,2の動力学(各質点2m,2mの動力学)と上体3の動力学(質点24m及びフライホイールFHの動力学)とが相互に非干渉に構成されると共に、ロボット1全体の動力学は、それらの線形結合で表される。また、さらに、上体3の運動と床反力との関係は、上体3の並進運動(上体並進モード)と床反力との関係、並びに上体3の回転運動(上体回転モード)と床反力との関係に分離される。具体的には、上体質点24mの水平運動によって発生する床反力は、上体3の水平方向並進運動(上体並進モード)によって発生する床反力に対応し、フライホイールの回転運動によって発生する床反力は、上体3の姿勢角の回転運動(上体回転モード)によって発生する床反力に対応する。
尚、ロボット1の腕体の質量は上体質点24mに含まれるものとし、上体質点24mは腕体の質量を含む質量をもつ。本実施形態では、目標歩容における腕体の運動(腕振り運動)は、後述するように、ロボット1の腕振り以外の運動によってロボット1に発生する鉛直軸まわりの慣性力のモーメントを打ち消しつつも、上体3に対する両腕体の全体の重心の相対位置が動かないように行なわれるので、腕体の腕振り運動による(鉛直軸まわり成分を除く)床反力モーメントへの影響と床反力水平成分への影響とは無視する。
なお、前記フルモデル補正部100cで用いるフルモデルは、例えば図8に示す如く、ロボット1の各リンクに質点をもつような多質点モデルである。この場合、ロボット1の各リンクは、それに対応する質点の回りにイナーシャをもつようなものであってもよい。
次に、歩容生成装置100の処理の詳細をより具体的に説明する。
本実施形態における歩容生成装置100は、ロボット1の片方の脚体2が着地してから他方の脚体2が着地するまでの1歩の期間の目標歩容(前記狭義の目標歩容)を単位として、その1歩の期間の目標歩容を順番に生成する。ここで、新たに生成しようとしている目標歩容を「今回歩容」、その次の目標歩容を「次回歩容」、さらにその次の目標歩容を「次次回歩容」、というように呼ぶ。また、「今回歩容」の一つ前に生成した目標歩容を「前回歩容」と呼ぶ。「今回歩容」は、本発明における「所定の期間における目標歩容」に相当するものである。
また、歩容生成装置100が今回歩容を新たに生成するとき、該歩容生成装置100には、ロボット1の2歩先までの遊脚側足平22の着地予定位置姿勢、着地予定時刻の要求値(要求)等が歩容に対する要求パラメータとして入力される(あるいは歩容生成装置100が記憶装置から要求パラメータを読み込む)。そして、歩容生成装置100は、これらの要求パラメータを基に、補正目標上体位置姿勢軌道、目標足平位置姿勢軌道、目標ZMP軌道、目標床反力鉛直成分軌道、目標腕姿勢軌道、補正目標床反力モーメント軌道等を生成する。なお、本実施形態では、要求パラメータには、2歩先までの遊脚側足平22の着地予定位置姿勢、着地予定時刻の要求値の他、基準上体姿勢に対する要求、上体姿勢に対する相対的な腕姿勢に対するの要求、目標床反力鉛直成分のパターンに対する要求、床の摩擦力(もしくは摩擦係数)に対する要求などを規定するパラメータも含まれる。基準上体姿勢に対する要求は、例えば上体姿勢を鉛直姿勢に維持するというような要求であり、腕姿勢に対する要求は、上体3に対して腕姿勢を所定の姿勢に維持するというような要求である。また、目標床反力鉛直成分のパターンに対する要求は、ロボット1の空中期では、目標床反力鉛直成分を0にし、また、片脚支持期では、目標床反力鉛直成分を台形状のパターンで変化させるというような要求である。また、床の摩擦力に対する要求は、目標床反力鉛直成分と摩擦係数(要求値)との積により定まる摩擦力限界に対して、どの程度の範囲内に目標床反力水平成分を収めるかというような要求である。
以下に歩容生成装置100の歩容生成処理の詳細を図9〜図22を参照しつつ説明する。図9は、その歩容生成装置100が実行する歩容生成処理のメインルーチンを示すフローチャート(構造化フローチャート)である。なお、このメインルーチン処理の手順自体は、その一部のサブルーチン処理を除いて、例えば本願出願人による前記PCT国際公開公報WO/03/057427/A1(以下、公報文献1という)と同じである。
まずS010において時刻tを0に初期化するなど種々の初期化作業が行なわれる。この処理は、歩容生成装置100の起動時等に行なわれる。次いで、S012を経てS014に進み、歩容生成装置100は、制御周期(図9のフローチャートの演算処理周期)毎のタイマ割り込みを待つ。制御周期はΔ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は、今回歩容に続く仮想的な周期的歩容としての定常歩容の歩容パラメータ(定常歩容パラメータ)を決定する。ここで決定する歩容パラメータとしては、定常歩容における各足平22の目標足平位置姿勢軌道を規定する足平軌道パラメータ、基準とする上体姿勢軌道を規定する基準上体姿勢軌道パラメータ、目標腕姿勢軌道を規定する腕姿勢軌道パラメータ、目標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 …式3

この式3のω0は所定の値である。なお、歩容における発散成分は、式3の上体質点水平位置、上体質点水平速度の代わりに、それぞれ上体水平位置、上体水平速度を用いて発散成分が求められる。
本明細書の実施形態では、目標歩容が前記発散を生じることなく、継続的に生成されるように、発散成分を指標にして歩容(今回歩容)を生成するようにした。すなわち、これから生成しようとする今回歩容の後に続く定常歩容(より正確には定常歩容パラメータ)が前記今回歩容に係わる要求パラメータ等に応じて決定され、定常歩容の初期発散成分を求めてから、今回歩容の終端発散成分を定常歩容の初期発散成分に一致させる(より一般的には、今回歩容を定常歩容に連続させ、もしくは近づける)ように、今回歩容を生成する。
本題に戻り、S022では、図10に示すサブルーチン処理のフローチャートに従って、定常歩容の歩容パラメータが決定される。すなわち、定常歩容に係る前記足平軌道パラメータ、基準上体姿勢軌道パラメータ、腕軌道パラメータ、ZMP軌道パラメータ、床反力鉛直成分軌道パラメータ、目標床反力水平成分許容範囲を規定するパラメータがそれぞれS100〜S110の処理で決定される。そして、S112において、定常歩容の初期時刻Tsと、1歩の期間(定常歩容の1周期の時間)Tcycとが再定義される。これらの処理は、前記公報文献1の図15のフローチャートの処理と同一であるので、ここでの詳細な説明は省略するが、S100〜S110で決定される定常歩容のパラメータは、そのそれぞれのパラメータにより規定される軌道が定常歩容の周期性を満たしつつ、前記した要求パラメータなどにより表される歩容に関する要求を優先的に満足するように決定されるパラメータである。例えば、前記公報文献1の図15のフローチャートに関して説明されている如く、定常歩容の足平軌道パラメータは、今回歩容に続く第1旋回歩容の遊脚足平22の着地予定位置姿勢(前記次回歩容支持脚座標系で見た着地予定位置姿勢)が前記した2歩目の着地予定位置姿勢(要求値)に合致し、且つ、該第2旋回歩容の遊脚足平22の着地予定位置姿勢(前記次次回歩容支持脚座標系で見た着地予定位置姿勢)が、今回歩容の遊脚足平22の着地予定位置姿勢(要求値)に合致するように決定される。なお、ZMP軌道パラメータは、足平軌道パラメータを基に、目標ZMPが支持脚足平22の接地面のほぼ中央付近に位置し、且つ、定常歩容の全期間にわたって連続的に変化するように決定される。
また、図10のS112で再定義する定常歩容の初期時刻Tsは、定常歩容の1周期分の歩容を後述するように作成するときの1周期の始点の時刻(これは本実施形態では今回歩容の終端の時刻とは相違する)を意味し、第1旋回歩容の空中期(目標床反力鉛直成分が0となる時期)の開始直前の時刻である。また、定常歩容の1歩の期間Tcycは、定常歩容の第1旋回歩容と第2旋回歩容との合計時間の期間である。定常歩容は、その周期性によって、任意の時刻Txにおける状態(ロボット1の各部位の位置姿勢やその変化速度の状態)は時刻Tx+Tcycにおける状態と同一になる歩容である。定常歩容は、2歩分の歩容を1周期とする周期的な歩容であるので、本明細書では、その1周期の期間(第1旋回歩容と第2旋回歩容との合計時間)を定常歩容の1歩の期間とみなす。
補足すると、S100〜S110の処理で決定される定常歩容のパラメータは、定常歩容に関する要求を優先的に満足するように決定されるパラメータであるので、前記第2発明における優先パラメータに相当し、その決定された値は、優先パラメータ要求値に相当するものである。従って、S100〜S110の処理は、第2発明における優先パラメータ要求値決定手段に相当するものである。また、S100〜S110の処理で決定される定常歩容のパラメータは、定常歩容パラメータを構成する全てのパラメータではない。この他にも、定常歩容の歩容パラメータには種々様々なパラメータが含まれる。本実施形態では、定常歩容パラメータを構成するパラメータとして、S100〜S110で決定されるパラメータ(優先パラメータ)の他に、例えば、定常歩容の1周期の期間の始端(該期間の開始時刻)あるいは終端(該期間の終了時刻)における上体3の位置および速度、並びに上体3の姿勢角およびその角速度と、後述の上体傾斜復元モーメントZMP換算値のピーク値とが含まれる。これらのパラメータのうち、上体3の水平位置および水平速度、上体3の姿勢角の角速度、上体傾斜復元モーメントZMP換算値のピーク値は、後述のS024の処理で定常歩容の境界条件(定常歩容の任意の時刻での状態と、1周期後の時刻での状態とが一致もしくはほぼ一致するという条件)を満足するように探索的に決定される。定常歩容パラメータは、それを構成する各パラメータの値と、前記した各動力学モデルとを用いて定常歩容を一義的に生成することができる歩容パラメータである。
また、定常歩容パラメータを構成するパラメータを大別すると、前記優先パラメータとそれ以外の非優先パラメータとに大別される。そして、非優先パラメータには、上記の如く探索的に決定されるパラメータ(前記第2発明における探索対象パラメータ)が含まれる。なお、定常歩容パラメータの非優先パラメータには、歩容に関する要求、あるいは歩容に関する境界条件に依存せずに固定的に決定されるパラメータもある。例えば、本実施形態では、ロボット1の遊脚足平22の持ち上げ高さ(支持脚足平22の接地面に対する相対的な高さ)は、固定的に設定されるパラメータである。固定的に設定されるパラメータは、制御処理周期毎に、S100からS110の処理において設定することは無駄であるので、ROMに記憶しておくか、あるいは、制御ユニット60の電源投入直後における諸々の初期化処理(図9のS010)において設定すればよい。
また、一つもしくは複数の上位のパラメータから従属的に決定される下位のパラメータもある。例えば、本実施形態では、定常歩容の初期(前記時刻Ts)での上体姿勢は、基準上体姿勢と同一とされ、基準上体姿勢軌道パラメータから従属的に決定される。本明細書では、一つの上位のパラメータから従属的に決定されるパラメータは、その上位のパラメータと同じ属性(優先パラメータであるか、非優先パラメータであるか、探索対象パラメータであるか、固定的なパラメータであるかの属性)のパラメータであると見なす。そして、複数の上位のパラメータを基に決定される下位のパラメータについては、上位のパラメータに探索対象パラメータが含まれる場合には、下位のパラメータも探索対象パラメータと見なし、上位のパラメータに探索対象パラメータが含まれず、且つ優先パラメータが含まれる場合には、下位のパラメータは優先パラメータと見なす。本明細書では、全ての定常歩容パラメータの構成パラメータを列挙することは省略し、本願発明を理解する上で十分な典型的なパラメータだけを例示する。
図9の説明に戻って、次にS024に進み、定常歩容の初期状態が算出される。ここで算出される初期状態は、定常歩容の初期上体水平位置速度(水平方向での初期上体位置及び初期上体速度)、初期上体鉛直位置速度(鉛直方向での初期上体位置及び初期上体速度)、初期発散成分、初期上体姿勢角およびその角速度である。この初期状態の算出は、図11のサブルーチン処理のフローチャートに従って探索処理により行なわれる。なお、図11の処理で最終的に決定する定常歩容の初期状態は、今回歩容の終端の時刻(定常歩容の本来の初期時刻0)での状態であるが、本実施形態では、図11のS2008の処理が終了するまでは、図10のS112で設定した初期時刻Tsでの状態を定常歩容の初期状態とする。
図11のサブルーチン処理を説明すると、まず、S2000において、前回歩容(今回歩容の1歩前の歩容)を生成したときのS022およびS024の処理で最終的に決定された、初期(時刻Ts)上体位置Xsおよびその変化速度Vxs、初期(時刻Ts)上体姿勢角速度ωbs、並びに上体傾斜復元モーメントZMP換算値ピーク値ZMPrecpeekを含む第2旋回歩容パラメータ(第2旋回歩容を規定する歩容パラメータ)の各パラメータ値を今回歩容に対応する定常旋回歩容の第1旋回歩容パラメータの各パラメータの仮値とする。
なお、前記上体傾斜復元モーメントZMP換算値ピーク値ZMPrecpeekは、ロボット1の片脚支持期(より詳しくは、片脚支持期の開始直後から終了直前までの時期。以下、上体傾斜角復元期間ということがある)で上体姿勢を基準上体姿勢に近づけるために必要な床反力モーメントのZMP換算値ZMPrec(基準となる目標ZMP(S022で決定したZMP軌道パラメータにより規定される目標ZMP)からのずれ量)のピーク値を示すものであり、その例を図示したものが図20である。ZMPrecは同図示の如く台形状のパターンとされ、そのピーク値(台形の高さ)がZMPrecpeekである。
S2000においてはさらに、前回歩容を生成するときのS022およびS024の処理で最終的に決定された第1旋回歩容パラメータ(第1旋回歩容を規定するパラメータ)の各パラメータ値を今回歩容に対応する定常旋回歩容の第2旋回歩容パラメータの各パラメータの仮値とする。なお、前回歩容に対応する定常旋回歩容における上体3の初期状態を旋回歩容パラメータに含ませたのは、本実施形態では、定常旋回歩容の1周期分を生成するときの初期時刻Tsが本来の初期時刻0と異なり、本来の初期時刻0での上体3の初期状態は、第2旋回歩容内の途中時刻における上体3の状態と同じになるからである。以上がS2000の処理である。
このS2000の処理は、今回歩容に対応する定常旋回歩容の第1旋回歩容パラメータおよび第2旋回歩容パラメータの候補をそれぞれ、とりあえず、前回歩容に対応する定常旋回歩容の第2旋回歩容パラメータ、第1旋回歩容パラメータに一致させるということを意味する。このように設定された、今回歩容に対応する第1旋回歩容パラメータおよび第2旋回歩容パラメータからなる定常旋回歩容パラメータを基に前記動力学モデルを用いて定常旋回歩容を生成すると、その定常旋回歩容は、定常旋回歩容の境界条件を満たすものとなる。なお、上記のように設定された今回歩容に対応する第1旋回歩容パラメータおよび第2旋回歩容パラメータからなる定常旋回歩容パラメータは、第2発明におけるベース定常歩容パラメータに相当するものである。従って、S2000の処理は、第2発明におけるベース定常歩容パラメータ設定手段に相当する。
次いで、S2000−1において、探索対象(探索対象パラメータ)である初期(Ts)上体水平位置Xs、初期(Ts)上体水平速度、初期(Ts)上体姿勢角速度ωbsおよび上体傾斜復元モーメント換算値ZMPrecpeekを除く定常歩容パラメータの優先パラメータ(より詳しくはS022で決定する定常歩容の足平軌道パラメータ、基準上体姿勢軌道パラメータ、腕姿勢軌道パラメータ、床反力鉛直成分軌道パラメータ、床反力水平成分許容範囲を規定するパラメータ、ZMP軌道パラメータ)の値を現在候補値(S2000で設定された値)から前記S022で決定した値に所定量だけ近づけた値に更新する。
次いで、S2004−1において、現在候補の定常歩容パラメータ(S2000で仮決定された定常歩容パラメータの優先パラメータをS2002−1で更新したもの)を基に、定常歩容の境界条件を満足するような探索対象Xs、Vxs、ωbs、ZMPrecpeekの値を探索的に決定する。この処理は、図12のフローチャートに示す如く行なわれる。なお、以下の図12の処理(その処理の中のサブルーチン処理を含む)の説明においては、歩容パラメータの各パラメータの値に関する「現在値」は、該当するパラメータの「現在(該当処理の実行時点)設定されている候補値もしくは仮値」の意味で使用する。また、「現在の○○」(○○はあるパラメータ)というときは、「現在(該当処理の実行時点)候補となっている○○」の意味で使用する。
以下、図12の処理を説明すると、まず、S1200において、現在の定常旋回歩容パラメータを基に足平位置姿勢、上体姿勢角θbsおよび腕姿勢の初期状態(定常旋回歩容の初期時刻Tsでの状態)が決定される。なお、これらの初期状態は、第1旋回歩容の支持脚座標系(前記次回歩容支持脚座標系)で見た状態である。この処理では、足平位置姿勢の初期状態は、現在の定常歩容パラメータの足平軌道パラメータを基に有限時間整定フィルタを用いて算出される足平位置姿勢軌道のうちの時刻Tsでの各足平22の位置姿勢に決定される。該有限時間整定フィルタは、前記公報文献1等にて説明されているので、ここでの説明は省略する。また、上体姿勢角θbsの初期状態は、現在の定常歩容パラメータの基準上体姿勢軌道パラメータから定まる時刻Tsでの基準上体姿勢角と同一に決定され、腕姿勢の初期状態は、現在の定常歩容パラメータの腕姿勢軌道パラメータにより定まる時刻Tsでの状態と同一に決定される。
次いで、S1202において、探索対象である初期(時刻Ts)上体水平位置、初期上体水平速度、初期上体姿勢角速度、および上体傾斜復元モーメントZMP換算値ピーク値(Xs1,Vx1,ωbs1,ZMPrecpeek1)の現在値を、これらの探索対象の初期候補として設定する。なお、これらの探索対象の値は、第1旋回歩容の支持脚座標系(前記次回歩容支持脚座標系)で見た値である。
次いで、S1206〜S1218のループ処理が実行される。その処理を概略的に説明すれば、前記の如く設定した探索対象の初期候補を含む定常歩容パラメータと前記動力学モデルとを用いて定常歩容の終端(時刻Ts+Tcyc)までの歩容を生成する。そして、その生成した定常歩容が境界条件(初期と終端での状態(本実施形態では上体水平位置、上体水平速度、上体姿勢角、上体姿勢角速度)がほぼ一致すること)を満たしているか否かを判断し、満たしていない場合には、探索対象の値を変更する。これを繰り返すことで、最終的に前記動力学モデル上で定常歩容の境界条件を満たすことができる該定常歩容の初期状態が決定される。
S1202〜S1218の処理をより具体的に説明すると、S1202において、動力学モデル上での定常歩容の初期(時刻Ts)の上体鉛直位置および上体鉛直速度(Zs,Vzs)が決定される。この場合、動力学モデル上でのロボット1の全体重心の鉛直方向の慣性力と重力との合力が目標床反力鉛直成分に釣り合い、且つ、全体重心の鉛直位置が定常歩容の境界条件を満たすように決定される。この処理は、前記公報文献1の図20のS206の処理と同様に行なわれる。なお、(Zs,Vzs)は、前記探索対象Xs,Vxs,θbs,ωsに依存する。従って、(Zs,Vzs)は従属的な探索対象パラメータとしての属性を持つ。
次いで、S1208において、上体3の初期状態(θbs,Xs,Vxs,ωbs,Zs,Vzs)の現在値とZMPrecpeekの現在値とを含む定常歩容パラメータを基に、動力学モデルを用いて定常歩容が時刻Ts+Tcyc(定常歩容の終端)まで生成される。この処理は、図13のフローチャートで示すサブルーチン処理により実行され、さらに、この図13のS304の処理は、図14のフローチャートで示すサブルーチン処理により実行される。さらに、図14のS412の処理は、図15フローチャートで示すサブルーチン処理により実行される。これらの処理については後述する。
次いで、S1210において、S1208で生成した定常歩容の終端の上体水平位置、上体水平速度、上体姿勢角およびその角速度を、該定常歩容の次の1歩の支持脚座標系(定常歩容の第2旋回歩容に続く第1旋回歩容の支持脚座標系)から見た値に変換し、その値を(Xe1,Vxe1,θbe1,ωbe1)とする。
そして、S1212において、現在の(Xs1,Vxs1,θbs1,ωbs1)の値と、(Xe1,Vxe1,θbe1,ωbe1)の値との差を定常歩容の境界条件誤差(errx,errv,errθ,errω)として求める。定常歩容の境界条件を満足するためには、境界条件誤差はほぼ0でなければならない。この境界条件誤差は、S1208において作成した定常歩容の、境界条件からのずれ度合いを表すものである。
次いで、S1214において、errx,errv,errθ,errωがいずれも十分に小さい(0近傍の)所定の許容範囲内にあるか否かを判断し、その判断結果がYESである場合には、S1206〜S1218のループ処理を終了する。この場合、このループ処理の終了時現在の定常歩容パラメータが動力学モデル上で境界条件を満たし得る定常歩容パラメータとして得られる。
一方、S1214の判断結果がNOである場合には、現在の探索対象(Xs,Vx,ωbs,ZMPrecpeek)の値の近辺に、それぞれのパラメータの値を所定の微小量ΔXs,ΔVx,Δωbs,ΔZMPrecpeekだけ変化させた複数(本実施形態では4個)の探索対象の候補を決めて、それぞれの探索対象の候補を含む定常歩容パラメータ(現在の定常歩容パラメータの探索対象を新たに決めた各候補に修正した定常歩容パラメータ)を基に、S1206〜S1212と同じ処理を実行して、それぞれの探索対象の候補に対応する境界条件誤差を求める。
次いで、S1218において、現在の(Xs,Vx,ωbs,ZMPrecpeek)およびその近辺の探索対象の候補のそれぞれに対応する境界条件誤差を基に、最急降下法やシンプレックス法などの探索手法によって、探索対象(Xs,Vx,ωbs,ZMPrecpeek)の新たな候補を決定する。そして、S1206からの処理が再び繰り返される。
以上のようにして、(Xs,Vx,ωbs,ZMPrecpeek)を探索対象として、定常歩容の境界条件を満たす新たな定常歩容パラメータが探索的に決定される。なお、図12の処理では、定常歩容パラメータのうちの優先パラメータ(足平軌道パラメータ、基準上体姿勢軌道パラメータなど)は図12の処理の開始時の値に維持される。
補足すると、図12の処理の基本的な考え方(手法)は、前記公報文献1の図20の処理と同様である。但し、本明細書の実施形態では、上記探索対象として、上体姿勢角速度と上体傾斜復元モーメントZMP換算値ピーク値とが含まれ、この点は、前記公報文献1の図20の処理と相違している。また、後述するS1208の処理の細部の処理(サブルーチン処理)の一部も前記公報文献1のものと相違している。
前記S1208のサブルーチン処理を以下に説明する。
S1208のサブルーチン処理である図13の処理は、図示の通り、(Xs,Vxs,θbs,ωbs,Zs,Vzs)の現在値(候補値または仮決め値)を定常歩容における上体3の運動の初期状態として(S300)、その初期(時刻Ts)状態から、時刻Ts+Tcycまで(終端状態まで)の定常歩容の瞬時値を時系列的に実際に作成する(S302〜S306)処理である。なお、図13の「k」は、作成する定常歩容の瞬時値の時系列の時刻である。
この図13のS304のサブルーチン処理(定常歩容の瞬時値を決定するサブルーチン処理)である図14の処理では、S400〜S410の処理によって、現在の定常歩容パラメータ(詳しくは優先パラメータ)を基に、目標床反力鉛直成分、目標ZMP、目標両足平位置姿勢、基準上体姿勢、目標腕姿勢、目標上体鉛直位置、床反力水平成分許容範囲の瞬時値が求められる。
さらに、S412の処理によって、動力学モデルを用いて、図中に記載された条件を満たすように上体水平加速度および上体姿勢角加速度の瞬時値が決定される。そして、S414の処理によって、上体水平加速度および上体姿勢角加速度をそれぞれ2階積分して、上体水平位置および上体姿勢角の瞬時値が決定される。
補足すると、図14の処理のうち、S412以外の処理は、前記公報文献1の図22ののS400〜S410、S414の処理と同じである。従って、S412の処理以外の図13の処理については詳細な説明を省略する。
図14のS412のサブルーチン処理である図15の処理では、まず、定常歩容の上体傾斜角復元期間を規定する時刻Tm、Ts2、Tm2を決定する。これらの時刻は、それぞれ、図20に示す如く、前記上体傾斜復元モーメンZMP換算値ZMPrecを発生させる期間を規定するものである。すなわち、定常歩容の初期時刻Tsの後の最初の片脚支持期の開始直後の時刻をTm、該片脚支持期の終了直前の時刻をTs2、次の片脚支持期の開始直後の時刻をTm2として決定する。そして、期間[Tm,Ts2]と、期間[Tm2,Te]を、それぞれZMPrecを発生させる期間(以下、上体傾斜角復元期間という)とする。これは、前記公報文献1の図23のS500の処理と同じである。
次いで、S502において、定常歩容の瞬時値を作成しようとしている現在時刻k(作成中の定常歩容内での時刻)が上体傾斜角復元期間にあるか否かが判断される。そして、現在時刻kが前記上体傾斜角復元期間内の時刻でないとき、換言すれば、現在時刻kが、片脚支持期の終了直前から次の片脚支持期の開始直後までの期間(目標床反力鉛直成分が0であるかもしくは0に近い期間)にあるときには、S504〜S516の処理によって、動力学モデル上で、目標ZMPを満足し、且つ、該動力学モデル上でのロボット1の全体重心の水平加速度による慣性力に釣り合う床反力水平成分が時刻kの床反力水平成分許容範囲の瞬時値内に収まるように、上体並進モードの上体水平加速度αと、上体回転モードの上体角加速度β(上体姿勢角の角加速度)とが決定される。これらのS504〜S516の処理は、前記公報文献1の図19のS504〜S516の処理と同じである。
また、現在時刻k(作成中の定常歩容内での時刻)が前記上体傾斜角復元期間内の時刻であるときには、S518〜S526の処理によって、上体角加速度βは、動力学モデル上で、上体傾斜復元モーメントZMP換算値パターンの瞬時値(これは、現在設定されている上体傾斜復元モーメントZMP換算値ピーク値(図12のS1208の処理の直前に決定された候補値)と現在時刻kとに応じて定まる。図20を参照)に対応する床反力モーメントを目標ZMPまわりに発生するように決定される。また、上体水平加速度は、動力学モデル上で、上体並進モードによって発生する目標ZMPまわりの床反力モーメントが0になるための上体水平加速度と、上体角加速度βによる目標ZMPまわりの床反力モーメントと同等の床反力モーメントを発生する上体水平加速度との差として求められる。これにより、上体傾斜角復元期間では、上体姿勢を基準上体姿勢に向かって復元させつつ、目標ZMPを満足するように上体角加速度βおよび上体水平加速度αが決定される。
補足すると、本実施形態の図15のS518〜S526の処理は、前記公報文献1の図23のS520〜S528の処理と同じである。
以上、説明した図11のS2002−1、2004−1の処理は、それを簡潔的に言えば、定常歩容パラメータの優先パラメータ(足平軌道パラメータなど)の値を現在値(現在候補値)からS022の処理(詳しくは図10のS100〜S110の処理)で決定した値に所定量だけ近づけて更新し、その更新後の優先パラメータを含んで、定常歩容の境界条件を動力学モデル上で満足し得る新たな定常歩容パラメータを探索する処理である。そして、この処理では、(Xs,Vx,ωbs,ZMPrecpeek)が探索対象とされる。なお、S2002−1における定常歩容パラメータの優先パラメータの現在値(更新前の候補値)は、S2000で決定された定常歩容パラメータの仮値のうちの優先パラメータの値である。また、S2004−1の処理では、探索対象の初期候補値として、S2000で決定された仮値が用いられる。
図11の説明に戻って、S2002−1,S2004−1の上記した処理の後、S2002−1,S2004−1の処理と同様の処理(図11ではS2002−2,S2004−2)が繰り返される。そして、最終的に、S2004−n(nは総繰り返し回数)において、定常歩容パラメータの優先パラメータは、S022の処理で決定された値に一致させる。さらに、S2004−nにおいて、S2004−1と同様に、現在候補の定常歩容パラメータを基に、動力学モデル上で定常歩容の境界条件を満足するような探索対象Xs,Vx,ωbs,ZMPrecpeekの値が探索的に決定され、新たな定常歩容パラメータが決定される。
これらの繰り返し処理において、S2002−k(k=2,…,n)で優先パラメータを更新する前における優先パラメータの値は、S2002−(k−1)での更新後の優先パラメータの値である(S2002−1では、前記したように更新前の優先パラメータの値はS2000で決定された仮値である)。また、S2004−k(k=2,…,n)の処理は、S2004−1の処理と同じである。但し、S2004−kでは、探索対象Xs,Vx,ωbs,ZMPrecpeekの初期値補(図12のS1202で設定する初期値候補)として、S2004−kの処理の開始時に設定されている値、すなわち、S2004−(k−1)の処理で最終的に探索された探索対象の値が用いられる(S2004−1では、前記したように探索対象の初期値候補は、S2000で決定された仮値である)。
以上のようにして、S2000で決定された定常歩容パラメータの優先パラメターの値(仮値)を初期値として、該優先パラメータの値が、段階的にS022の処理で決定された値(これは今回歩容に関する要求を満足するための優先パラメータの値(優先パラメータ要求値)である)に近づくように、該優先パラメータの値が段階的に更新され、最終的にS022の処理で決定された値に一致させられる(S2002−1,S2002−2,……,S2002−n)。従って、これらのS2002−1,S2002−2,……,S2002−nの処理は、第2発明における優先パラメータ漸近手段に相当する。そして、その優先パラメータの更新の都度、その更新後の優先パラメータを含む定常歩容パラメータの探索対象の値が、その更新の直前に決定された値を初期値候補として、定常歩容の境界条件を満たすように探索され、その探索結果の探索対象を含む定常歩容パラメータが新たに決定される(S2004−1,2004−2,……,S2004−n)。従って、これらのS2004−1,S2004−2,……,S2004−nの処理は、第2発明における新規定常歩容パラメータ決定手段に相当し、それぞれの処理で最終的に決定される探索対象を含む定常歩容パラメータが第2発明における新規定常歩容パラメータに相当する。そして、S2004−nで最終的に決定された新たな定常歩容パラメータがこれから生成しようとする今回歩容に続くべき定常歩容の歩容パラメータとされる。
補足すると、上記の繰り返し処理の総繰り返し回数nは、S2000で決定する定常歩容パラメータの優先パラメータの値と、S022で決定した優先パラメータの値(優先パラメータ要求値)との差に応じて決定される。また、定常歩容パラメータのうち、優先パラメータおよび探索対象のパラメータ以外のパラメータ(固定的なパラメータ)は、S2000で決定された定常歩容パラメータの当該パラメータの値に維持される。
上記の如くS2002−1〜S2004−nの繰り返し処理が実行された後、S2006において、現在候補の定常旋回歩容(S2004−nの処理で最後に作成された定常歩容)を基に、本来の初期時刻0における定常歩容の上体3の運動状態である初期上体水平位置X0、初期上体水平速度Vx0、初期上体姿勢角θb0およびその角速度ωb0、並びに初期上体鉛直位置Z0、初期上体鉛直速度Vz0が求められる。さらに、S2008において、前記した初期発散成分qの定義式に従って、定常旋回歩容の、本来の初期時刻0における発散成分である定常旋回初期発散成分q[0]が求められる。S2006およびS2008で求められる値は、今回歩容に続く定常旋回歩容の第1旋回歩容の支持脚座標系で見た値である。そして、S2010において、定常旋回初期発散成分q[0]を今回歩容の支持脚座標系から見た値であるq''と、初期上体鉛直位置・速度を今回歩容の支持脚座標系から見た値である(Z0'',Vz0'')を求める。
以上が、図11の処理の詳細である。
以上説明した図11の処理によって、S2000で決定された仮の定常歩容パラメータ(定常歩容の境界条件を満足するように過去に決定された定常歩容パラメータ)の優先パラメータの値を徐々にS022で決定した優先パラメータ(これから生成しようとする今回歩容に続く定常歩容の優先パラメータ)の値に近づけるように更新しつつ、その更新の都度、定常歩容の境界条件を満足する定常歩容パラメータが新たに決定される。このため、定常歩容の境界条件を満足するような定常歩容を上体位置姿勢の発散が生じたりすることなく、効率よく短時間で作成して、今回歩容に対応する定常歩容の初期状態を適切に求めることができる。
図9の説明に戻って、以上説明したようにS024の処理を実行した後、S026において、今回歩容の歩容パラメータが決定(一部は仮決定)される。この処理は、図16のフローチャートに従って実行される。ここで決定する歩容パラメータとしては、今回歩容における足平位置姿勢軌道(各足平22の位置姿勢軌道)、基準上体姿勢軌道、腕姿勢軌道、床反力鉛直成分軌道、床反力水平成分許容範囲、ZMP軌道をそれぞれ規定するパラメータがあり、これらの各パラメータがS600〜S610の処理で決定される。そして、S612において、今回歩容における上体傾斜角復元期間[Ta,Tb]が設定される。これらの処理は、前記公報文献1の図33のフローチャートの処理と同一であるので、ここでの詳細な説明は省略するが、上記各軌道が前回歩容の終端の状態(=今回歩容の初期状態)から、今回歩容に関する前記した要求を満たしつつ、定常歩容につながるように各軌道を規定するパラメータが決定される。例えば、今回歩容の遊脚足平22に関する足平軌道パラメータは、今回歩容の遊脚足平22の着地予定位置姿勢および時刻がそれらの要求値を満たしつつ、今回歩容の終端において該遊脚足平22の位置姿勢が定常歩容の初期(今回歩容の終端の時刻)で一致するように決定される。
補足すると、S610で決定されるZMP軌道パラメータは今回歩容の基準とするZMP軌道(仮目標ZMP軌道)を規定するパラメータであり、そのパラメータにより規定される仮ZMP軌道の例(X軸方向の軌道の例)が図22の最上段に示されている。該ZMP軌道パラメータは、今回歩容の片脚支持期において、支持脚足平22の接地面のほぼ中央付近に目標ZMP位置し、且つ、片脚支持期に続く空中期では、目標ZMPが今回歩容の終端において定常歩容の初期のZMPまで連続的に変化するように決定される。また、図16のS612で設定する上体傾斜角復元期間は、図22の時刻Taから時刻Tbまでの期間であり、今回歩容の片脚支持期の開始直後から終了直前までの期間である。
補足すると、S600〜S610の処理で決定される今回歩容のパラメータは、今回歩容に関する要求を優先的に満足するように決定されるパラメータであるので、前記S600〜S610の処理で決定される今回歩容のパラメータは、前記第1発明における優先パラメータに相当し、その決定された値は、優先パラメータ要求値に相当するものである。従って、S600〜S610の処理は、第1発明における優先パラメータ要求値決定手段に相当するものである。また、S600〜S610の処理で決定される今回歩容のパラメータは、今回歩容パラメータを構成する全てのパラメータではない。定常歩容パラメータの場合と同様、この他にも、今回歩容の歩容パラメータには種々様々なパラメータが含まれる。本実施形態では、今回歩容パラメータを構成するパラメータとして、S600〜S610で決定されるパラメータ(優先パラメータ)の他に、例えば、ZMP軌道パラメータを修正するためのZMP修正量を規定するZMP修正パラメータと、上体傾斜復元モーメントZMP換算値のピーク値(この場合2種類のピーク値)とが含まれる。これらのパラメータは、以下に説明するS028の処理の中で今回歩容の境界条件(定常歩容に近づける条件)を満足するように探索的に決定されるパラメータである。
なお、定常歩容パラメータの場合と同様、今回歩容パラメータを構成するパラメータを大別すると、前記優先パラメータとそれ以外の非優先パラメータとに大別される。そして、非優先パラメータには、上記の如く探索的に決定されるパラメータ(前記第1発明における探索対象パラメータ)が含まれる。また、非優先パラメータには、歩容に関する要求、あるいは歩容に関する境界条件に依存しない固定的なパラメータもある(例えば、ロボット1の遊脚足平22の持ち上げ高さ)。また、一つもしくは複数の上位のパラメータから従属的に決定される下位のパラメータもある。この場合、下位のパラメータの属性については、定常歩容パラメータの場合と同じである。
図9のS028に進んで、今回歩容の歩容パラメータ(ZMP軌道パラメータ)が修正される(最終的な今回歩容パラメータが決定される)。この処理では、今回歩容の終端における発散成分がS024で決定した定常旋回歩容の初期発散成分q''に一致するように(より詳しくは上体位置姿勢軌道を定常歩容に連続させ、もしくは近づけるように)、今回歩容の歩容パラメータが修正されて、最終的な今回歩容パラメータが決定される(より詳しくは、ZMP修正パラメータと上体傾斜復元モーメントZMP換算値の2種類のピーク値とが決定される)。本実施形態では、上記の如く、今回歩容の終端における発散成分が定常旋回歩容の初期発散成分q''に一致する(もしくはほぼ一致する)ことが今回歩容の終端における境界条件である。
この処理は、図17のフローチャートで示すサブルーチン処理に従って、段階的な探索処理により行われる。
図17のサブルーチン処理を説明すると、まず、S2100において、前回歩容を生成したときのS026およびS028の処理で最終的に決定されたZMP修正パラメータa、並びに上体傾斜復元モーメント換算値の第1ピーク値ZMPrecpeekaおよび第2ピーク値ZMPrecpeekbを含む今回歩容パラメータの各パラメータ値を、これから生成しようとする今回歩容パラメータの各パラメータの仮値とする。但し、前回歩容の歩容パラメータの左右を反転させた上で、今回歩容の当該パラメータの仮値とする。例えば、今回歩容の支持脚側の足平軌道パラメータ、遊脚側の足平軌道パラメータ、ZMP軌道パラメータの仮値は、前回歩容のこれらのパラメータの左右を反転させたものに設定される。
ここで、図17のフローチャートの処理中で求める(探索する)上体傾斜復元モーメントZMP換算値の第1ピーク値ZMPrecpeekaおよび第2ピーク値ZMPrecpeekbは、今回歩容の上体傾斜角復元期間[Ta,Tb]で上体姿勢を基準上体姿勢に近づけるために必要な床反力モーメントのZMP換算値のパターンの2つのピーク値を示す探索対象パラメータであり、その例を図示したものが図21である。定常歩容の場合の上体傾斜復元モーメントZMP換算値のピーク値は1つであったが、今回歩容の終端における上体姿勢角およびその角速度をそれぞれ定常歩容の初期上体姿勢角およびその角速度に一致させるために、本実施形態では、上体傾斜復元モーメントZMP換算値の調整可能な2つのパラメータとして、第1ピーク値ZMPrecpeekaおよび第2ピーク値ZMPrecpeekbが用いられる。本実施形態では、図21に示す如く、今回歩容における上体傾斜復元モーメントZMP換算値は、片脚支持期の前半の台形状のパターンと、後半側の台形状のパターンとを合成した形のパターンとされ、その前半側の台形状のパターンのピーク値が第1ピーク値ZMPrecpeeka、後半側の台形状のパターンのピーク値が第2ピーク値ZMPrecpeekbである。
また、図17のフローチャートの処理中で求めるZMP修正パラメータaは、今回歩容を定常歩容につなげる(今回歩容の終端の発散成分を定常歩容の初期発散成分q''にほぼ一致させる)ための目標ZMPの修正量を規定するパラメータであり、その例を図示したものが、図22の中段の図である。図示の如く、ZMP修正量は、片脚支持期の開始直後から終了直前まで発生させる台形状のパターンとされ、そのピーク値aがZMP修正量のパターンを規定するZMP修正パラメータとして用いられる。
以上説明したS2100の処理は、とりあえず、前回歩容(これは既に歩容の境界条件を満足するように決定されている)の左右を反転させたものの歩容パラメータを今回歩容の歩容パラメータとして設定するということを意味する。このように設定された、今回歩容パラメータを基に前記動力学モデルを用いて今回歩容を生成すると、その今回歩容は、既に歩容の境界条件を満たすように決定された前回歩容の左右を反転させたものと一致することとなる。なお、上記のように設定された今回歩容パラメータは、第1発明におけるベース歩容パラメータに相当するものである。従って、S2100の処理は、第1発明におけるベース歩容パラメータ設定手段に相当する。
補足すると、今回歩容をロボット1の2歩分の歩容から成る歩容とした場合には、左右の反転などを行なうことなく、前回歩容(2歩前の歩容)の歩容パラメータをそのままS2100で今回歩容の歩容パラメータの仮値として設定するようにしてもよい。あるいは、今回歩容の歩容パラメータの仮値を前前回歩容の歩容パラメータに設定してもよい。
次いで、S2102−1において、探索対象(探索対象パラメータ)であるZMP修正パラメータaと上体姿勢傾斜復元モーメントZMP換算値の第1ピーク値ZMPrecpeekaおよび第2ピーク値ZMPrecpeekbとを除く今回歩容パラメータの優先パラメータ(より詳しくは、S026で決定する今回歩容の足平軌道パラメータ、基準上体姿勢軌道パラメータ、腕姿勢軌道パラメータ、床反力鉛直成分軌道パラメータ、床反力水平成分許容範囲を規定するパラメータ、ZMP軌道パラメータ)の値を現在候補値(S2100で設定された値)から前記S026で決定した値に所定量だけ近づけた値に更新する。
次いで、S2104−1において、現在候補の今回歩容パラメータ(S2100で仮決定された定常歩容パラメータの優先パラメータをS2102−1で更新したもの)を基に、今回歩容の前記境界条件(今回歩容の終端の発散成分が定常歩容の初期の発散成分に一致、もしくはほぼ一致するという条件)を満足するような探索対象a、ZMPrecpeeka、ZMPrecpeekbの値を探索的に決定する。この処理は、図18のフローチャートに示す如く行なわれる。なお、前記図12の処理の説明の場合と同様、以下の図18の処理(その処理の中のサブルーチン処理を含む)の説明においては、歩容パラメータの各パラメータの値に関する「現在値」は、該当するパラメータの「現在(該当処理の実行時点)設定されている候補値もしくは仮値」の意味で使用する。また、「現在の○○」(○○はあるパラメータ)というときは、「現在(該当処理の実行時点)候補となっている○○」の意味で使用する。
以下、図18の処理を説明すると、まず、S1700において、探索対象であるZMP修正パラメータ、上体傾斜復元モーメントZMP換算値の第1ピーク値、第2ピーク値(a,ZMPrecpeeka,ZMPrecpeekb)の現在値を、これらの探索対象の初期値候補として設定する。
次いで、S1704〜S1716のループ処理が実行される。その処理を概略的に説明すれば、まず、S1704において、探索対象であるa、ZMPrecpeekaおよびZMPrecpeekbの現在値(現在候補値)と前記動力学モデルとを用いて今回歩容(仮今回歩容)が算出される。より詳しくは、探索対象a,ZMPrecpeeka,ZMPrecpeekbの現在値と優先パラメータの現在値とを含む今回歩容パラメータと、動力学モデルとを用いて仮今回歩容が算出される。なお、S1704のより具体的な処理については後述する。
そして、S1706〜S1716において、S1704で算出した仮今回歩容の終端(今回歩容の遊脚足平の着地予定時刻)での発散成分と定常歩容の初期発散成分q''(前記S024で最終的に算出したもの)との差、仮今回歩容の終端での上体姿勢角と定常歩容の初期上体姿勢角(前記S024で最終的に算出したもの)との差、並びに、仮今回歩容の終端での上体姿勢角の角速度と定常歩容の初期上体姿勢角速度(前記S024で最終的に算出したもの)との差が求められる。そして、これらの差の値がいずれも許容範囲内にあるか否か(0に近いか否か)の条件を満たしているか判断し、満たしていない場合には、探索対象の値を変更する。これを繰り返すことで、最終的に動力学モデル上で仮今回歩容を定常歩容につながらせることが可能な探索対象のパラメータの修正値としてのa、ZMPrecpeekaおよびZMPrecpeekbを含む今回歩容パラメータが新たに決定される。
S1706〜S1716の処理をより具体的に説明すると、S1706において、仮今回歩容の終端での上体位置速度(Xe,Ve)から、今回歩容の終端発散成分q0[k]を前記した発散成分の定義式に従って算出する。
次いで、S1708において、この終端発散成分q0[k]と定常旋回歩容の初期発散成分q''との差を終端発散成分誤差errqとして求める。
さらに、S1710において、定常歩容の初期上体姿勢角と、今回歩容(仮今回歩容)の終端上体姿勢角との差を終端上体姿勢角誤差θberrとして求めると共に、定常歩容の初期上体姿勢角速度と、今回歩容(仮今回歩容)の終端上体姿勢角速度との差を終端上体姿勢角速度誤差ωberrとして求める。
上記の如くもとめた誤差errq、θberr、ωberrは、S1704において作成した仮今回歩容の、境界条件からのずれ度合いを表すものである。
次いで、S1712において、上記の如くもとめたerrq、θberr、ωberrがいずれも0近傍の所定の許容範囲内にあるか否かを判断し、その判断結果がYESである場合には、S1704〜S1716のループ処理を終了する。この場合、このループ処理の終了時現在の探索対象を含む今回歩容パラメータが動力学モデル上で境界条件を満たし得る今回歩容パラメータとして得られる。
一方、S1712の判断結果がNOである場合には、現在の探索対象(a,ZMPrecpeeka,ZMPrecpeekb)の値の近辺に、それぞれのパラメータの値を所定の微小量Δa,ΔZMPrecpeeka,ΔZMPrecpeekbだけ変化させた複数(本実施形態では3個)の探索対象の候補を決めて、それぞれの探索対象の候補を含む今回歩容パラメータ(現在の今回歩容パラメータの探索対象を新たに決めた各候補に修正した今回歩容パラメータ)を基に、S1704〜S1710と同じ処理を実行して、それぞれの探索対象の候補に対応する誤差(errq、θberr、ωberr)の組を求める。
次いで、S1716において、現在の(a,ZMPrecpeeka,ZMPrecpeekb)およびその近辺の探索対象の候補のそれぞれに対応する誤差(errq、θberr、ωberr)の組を基に、最急降下法やシンプレックス法などの探索手法によって、探索対象(a,ZMPrecpeeka,ZMPrecpeekb)の新たな候補を決定する。そして、S1704からの処理が再び繰り返される。
以上のようにして、(a,ZMPrecpeeka,ZMPrecpeekb)を探索対象として、今回歩容の終端の境界条件を満たす新たな今回歩容パラメータが探索的に決定される。なお、図18の処理では、今回歩容パラメータのうちの優先パラメータ(足平軌道パラメータ、基準上体姿勢軌道パラメータなど)は、図18の処理の開始時の値に維持される。
この図18の処理中の前記S1704の処理を以下に説明する。この処理は、図19のフローチャートで示すサブルーチン処理により実行される。図19のサブルーチン処理は、図示の通り、前回歩容の終端状態(詳しくは今回歩容の支持脚座標系で見た前回歩容の終端状態)を今回歩容(仮今回歩容)の初期状態として(S800)、その初期状態から今回歩容の終端時刻Tcurr(今回歩容の遊脚足平22の着地予定時刻)まで今回歩容の瞬時値を時系列的に作成する(S802〜S806)処理である。なお、図19の「k」は、作成する今回歩容の瞬時値の時系列の時刻である。そして、図19のS804のサブルーチン処理は、先に定常歩容の作成処理に関して説明した図14の処理と同様に行なわれる。
この場合の図14の処理では、S400、S404〜S410の処理では、現在の今回歩容パラメータの優先パラメータを基に、目標床反力鉛直成分、目標両足平位置姿勢、基準上体姿勢、目標腕姿勢、目標上体鉛直位置、床反力水平成分許容範囲の瞬時値が求められる。また、図19のS804の中で実行される図14中のS402の処理では、ZMP修正パラメータaの現在値(候補値)aにより規定されるZMP修正量(図22の中段図を参照)を現在の今回歩容パラメータのZMP軌道パラメータにより規定される目標ZMP軌道(図22の上段図を参照)に加えることで、該目標ZMP軌道を修正してなるZMP軌道(図22の下段図を参照)の瞬時値が求められる。
さらに、S412の処理によって、動力学モデルを用いて、図中に記載された条件を満たすように上体水平加速度および上体姿勢角加速度の瞬時値が決定される。そして、S414の処理によって、上体水平加速度および上体姿勢角加速度をそれぞれ2階積分して、上体水平位置および上体姿勢角の瞬時値が決定される。
また、仮今回歩容の作成時におけるS412のサブルーチン処理である図15の処理も、定常歩容の場合と同様に行われる。すなわち、仮今回歩容の瞬時値を作成しようとしている現在時刻k(作成中の仮今回歩容内での時刻)が前記上体傾斜角復元期間内の時刻でないときには、S504〜S516の処理によって、動力学モデル上で、目標ZMP(ZMP修正量により修正した目標ZMP)を満足し、且つ、全体重心の水平加速度による慣性力に釣り合う床反力水平成分が時刻kの床反力水平成分許容範囲の瞬時値内に収まるように、上体並進モードの上体水平加速度αと、上体回転モードの上体角加速度β(上体姿勢角の角加速度)とが決定される。
また、現在時刻k(作成中の仮今回歩容内での時刻)が前記上体傾斜角復元期間内の時刻であるときには、S518〜S526の処理によって、上体角加速度βは、動力学モデル上で、上体傾斜復元モーメントZMP換算値パターンの瞬時値(これは上体傾斜復元モーメントZMP換算値の第1ピーク値ZMPrecpeekaおよび第2ピーク値ZMPrecpeekbの現在値(候補値)と現在時刻kとに応じて定まる。図21を参照)に対応する床反力モーメントを発生するように決定される。また、上体水平加速度は、動力学モデル上で、上体並進モードによって発生する目標ZMP(ZMP修正量により修正した目標ZMP)まわりの床反力モーメントが0になるための上体水平加速度と、上体角加速度βによる床反力モーメントと同等の床反力モーメントを発生する上体水平加速度との差として求められる。これにより、上体姿勢を基準上体姿勢に向かって復元させつつ、目標ZMPを満足するように上体角加速度βおよび上体水平加速度αが決定される。
なお、仮今回歩容を生成する場合の上体傾斜角復元期間は前記図16のS612で決定した時刻TaからTbの期間であるので、図15のS500の処理は省略される。
以上、説明した図17のS2102−1、2104−1の処理は、それを簡潔的に言えば、今回歩容パラメータの優先パラメータ(足平軌道パラメータなど)の値を現在値(現在候補値)からS026の処理(詳しくは図16のS600〜S610の処理)で決定した値に所定量だけ近づけて更新し、その更新後の優先パラメータを含んで、今回歩容の境界条件を動力学モデル上で満足し得る新たな今回歩容パラメータを探索する処理である。そして、この処理では、(a,ZMPrecpeeka,ZMPrecpeekb)が探索対象とされる。なお、S2102−1における今回歩容パラメータの優先パラメータの現在値(更新前の候補値)は、S2100で決定された今回歩容パラメータの仮値のうちの優先パラメータの値である。また、S2104−1の処理では、探索対象の初期候補値として、S2100で決定された仮値が用いられる。
図17の説明に戻って、S2102−1,S2104−1の上記した処理の後、S2102−1,S2104−1の処理と同様の処理(図17ではS2102−2,S2104−2)が繰り返される。そして、最終的に、S2104−n(nは総繰り返し回数)において、今回歩容パラメータの優先パラメータは、S026の処理で決定された値に一致させる。さらに、S2104−nにおいて、S2104−1と同様に、現在候補の今回歩容パラメータを基に、動力学モデル上で今回歩容の境界条件を満足するような探索対象a,ZMPrecpeeka,ZMPrecpeekbの値が探索的に決定され、新たな今回歩容パラメータが決定される。
これらの繰り返し処理において、S2102−k(k=2,…,n)で優先パラメータを更新する前における優先パラメータの値は、S2102−(k−1)での更新後の優先パラメータの値である(S2102−1では、前記したように更新前の優先パラメータの値はS2100で決定された仮値である)。また、S2104−k(k=2,…,n)の処理は、S2104−1の処理と同じである。但し、S2104−kでは、探索対象a,ZMPrecpeeka,ZMPrecpeekbの初期値候補(図18のS1700で設定する初期値候補)として、S2104−kの処理の開始時に設定されている値、すなわち、S2104−(k−1)の処理で最終的に探索された探索対象の値が用いられる(S2104−1では、前記したように探索対象の初期値候補は、S2100で決定された仮値である)。
以上のようにして、S2100で決定された今回歩容パラメータの優先パラメータの値(仮値)を初期値として、該優先パラメータの値が段階的にS026の処理で決定された値(これは今回歩容に関する要求を満足するための優先パラメータの値(優先パラメータ要求値)である)に近づくように、該優先パラメータの値が段階的に更新され、最終的にS026の処理で決定された値に一致させられる(S2102−1,S2102−2,……,S2102−n)。従って、これらのS2102−1,S2102−2,……,S2102−nの処理は、第1発明における優先パラメータ漸近手段に相当する。そして、その優先パラメータの更新の都度、その更新後の優先パラメータを含む今回歩容パラメータの探索対象の値が、その更新の直前に決定された値を初期値候補として、今回歩容の境界条件を満たすように探索され、その探索結果の探索対象を含む今回歩容パラメータが新たに決定される(S2104−1,2104−2,……,S2104−n)。従って、これらのS2104−1,S2104−2,……,S2104−nの処理は、第1発明における新規歩容パラメータ決定手段に相当し、それぞれの処理で最終的に決定される探索対象を含む今回歩容パラメータが第1発明における新規歩容パラメータに相当する。そして、S2104−nで最終的に決定された新たな今回歩容パラメータがこれから生成しようとする今回歩容の歩容パラメータである。
補足すると、上記の繰り返し処理の総繰り返し回数nは、S2100で決定する今回歩容パラメータの優先パラメータの値と、S026で決定した優先パラメータの値(優先パラメータ要求値)との差に応じて決定される。また、今回歩容パラメータのうち、優先パラメータおよび探索対象のパラメータ以外のパラメータ(固定的なパラメータ)は、S2100で決定された今回歩容パラメータの当該パラメータの値に維持される。
以上説明した図17の処理によって、S2100で決定された仮の今回歩容パラメータ(今回歩容の境界条件を満足するように過去に決定された今回歩容パラメータ)の優先パラメータの値を徐々にS026で決定した優先パラメータ(これから生成しようとする今回歩容の優先パラメータ)の値に近づけるように更新しつつ、その更新の都度、境界条件を満足する今回歩容パラメータが新たに決定される。このため、境界条件を満足するような今回歩容を上体位置姿勢の発散が生じたりすることなく、効率よく短時間で作成することができる。
図12の説明に戻って、以上説明したようにS028の処理を実行した後、S030に進んで、フルモデル補正用のZMP許容範囲と床反力水平成分許容範囲を規定するパラメータが決定される。
この処理は、前記公報文献1の図13のS030の処理と同一であり、ここでの説明は省略する。
以上説明したS018からS030までの処理が、前記図5の歩容パラメータ決定部100aで実行される処理である。
S030の処理を実行した後、あるいは、S016の判断結果がNOであるときには、S032に進んで、今回歩容の瞬時値を逐次決定する。この処理のサブルーチン処理は、仮今回歩容の生成に関して説明した前記図19のフローチャートの処理と同じである。この場合、ZMP修正パラメータa、上体傾斜復元モーメントZMP換算値の第1ピーク値ZMPrecpeekaおよび第2ピーク値ZMPrecpeekbとしては、図12のS028で最終的に決定したもの(図17のS2104−nの処理で最終的に探索されたもの)が用いられる。
次いで、S034に進んで、ロボット1のスピン(鉛直軸まわりの回転)をキャンセルするための腕体5,5の動作が決定される。この処理は、ロボット1の腕を振らずに目標歩容通りにロボット1を運動させた場合に目標ZMPまわりに発生する床反力モーメントの鉛直成分と逆向きの床反力モーメントを腕体5,5の腕振り(両腕体5,5を前後逆方向に振る運動)によって発生させるように腕体5,5の姿勢を決定するものであり、前記公報文献1の図13のS034と全く同様に行われる。その詳細は、同公報文献1に記載されているので、ここではさらなる説明を省略する。
次いで、S036に進んで、フルモデル補正用(前記フルモデル補正部100cの処理用)のZMP許容範囲の瞬時値と、床反力水平成分許容範囲の瞬時値とが決定される。この処理では、前記S030で決定したZMP許容範囲および床反力水平成分許容範囲を規定する歩容パラメータに基づいて決定される。
以上説明したS032〜S036の処理が、前記図5の目標瞬時値発生部100bで実行される処理の詳細である。
次いで、S038に進んで、フルモデルを用いた補正歩容を発生する。この処理は、前記フルモデル補正部100cにより実行される処理である。この場合、この処理は、前記公報文献1の図13のS038の処理と同一であり、同公報文献1に記載されたとおりに実行される。従って、本明細書では詳細な説明は省略する。この処理により、目標上体位置姿勢(前記変位次元補正歩容の上体位置姿勢)をさらに修正してなる補正目標上体位置姿勢と補正目標床反力モーメントとが決定される。
以上が、本実施形態における歩容生成装置100の歩容生成処理である。
次に図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乗)の重み付き平均が最小になるように制御する。これにより、実際の足平位置姿勢と全床反力とが目標足平位置姿勢と目標全床反力とに概ね従うように制御される。
なお、以上説明した実施形態では、歩容パラメータ(定常歩容パラメータおよび今回歩容パラメータ)を、前回歩容(過去に決定した歩容)に対応するものから徐々に更新していくようにしたが、定常歩容、今回歩容のいずれにおいても、あらかじめ該歩容の境界条件を満足する標準(基準)歩容パラメータを用意(作成)して記憶保持しておき、それを起点として歩容パラメータを徐々に更新していくようにしてもよい。例えば、今回歩容の足平軌道パラメータに係る遊脚足平22の着地予定位置姿勢を、ロボット1の同じ場所での足踏みを行なう場合の位置姿勢から、要求値に対応する位置姿勢に徐々に更新したり、歩行周期を徐々に更新していくようにしてもよい。
また、前記実施形態では、今回歩容を定常歩容に近づけるために、今回歩容の終端の発散成分を定常歩容の初期発散成分にほぼ一致させることを今回歩容の境界条件として、その境界条件を満たすように今回歩容パラメータの探索対象を探索して決定するようにしたが、今回歩容の終端の上体位置(水平位置および鉛直位置)と、上体速度(水平速度および鉛直速度)とをそれぞれ定常歩容の初期の上体位置、上体速度にほぼ一致させることを今回歩容の境界条件とし、この境界条件を満たすように今回歩容パラメータの探索対象を探索して決定するようにしてもよい。
あるいは、今回歩容の終端のロボット1の全体重心の位置とその変化速度との重み付き平均値を、定常歩容の初期の当該重み付き平均値にほぼ一致させることを境界条件として、その境界条件を満たすように今回歩容パラメータの探索対象を決定するようにしてもよい。
また、定常歩容パラメータを決定するとき、定常歩容の境界条件を満たすために、定常歩容パラメータの探索対象として、ロボット1の上記重み付き平均値、または発散成分を用いてもよい。なお、重み付き平均値は、所定の重みを設定することで、絶対的な大きさを無視すれば、発散成分と等価(より正確には、発散成分と比例関係)になる。
以上の説明から明らかなように、本発明の移動ロボットの歩容生成装置は、歩容の発散を防止しつつ、所要の境界条件を満足し得る歩容を効率よく生成することができ、特に2足移動ロボットのような本来的な安定性が低い移動ロボットの歩容を該移動ロボットの安定性を確保しつつ生成できる点で有用である。
本発明の実施形態を適用する移動ロボット(2足歩行ロボット)の全体構成の概略を示す図。 図1のロボットの各脚体の足平部分の構成を示す側面図。 図1のロボットに備えた制御ユニットの構成を示すブロック図。 図3の制御ユニットの機能的構成を示すブロック図。 図4に示す歩容生成装置の機能を示すブロック図。 (a),(b)はそれぞれロボットの運動モード(上体並進モード、上体回転モード)を説明するための図。 歩容生成で用いる動力学モデルの構造を示す図。 歩容生成で用いるフルモデルの構造を示す図。 実施形態における歩容生成装置のメインルーチン処理を示すフローチャート。 図9のサブルーチン処理を示すフローチャート。 図10のサブルーチン処理を示すフローチャート。 図11のサブルーチン処理を示すフローチャート。 図12のサブルーチン処理を示すフローチャート。 図13のサブルーチン処理を示すフローチャート。 図14のサブルーチン処理を示すフローチャート。 図9のサブルーチン処理を示すフローチャート。 図9のサブルーチン処理を示すフローチャート。 図17のサブルーチン処理を示すフローチャート。 図18のサブルーチン処理を示すフローチャート。 定常歩容における上体傾斜復元モーメントZMP換算値の例を示すグラフ。 今回歩容における上体傾斜復元モーメントZMP換算値の例を示すグラフ。 今回歩容における仮目標ZMPとZMP修正量と目標ZMPとの例を示すグラフ。

Claims (10)

  1. 所定の期間における移動ロボットの歩容を規定する複数のパラメータの組である歩容パラメータを決定し、その決定した歩容パラメータと前記移動ロボットの動力学モデルとを用いて前記所定の期間における移動ロボットの目標歩容を生成する歩容生成装置において、
    前記目標歩容に関する要求が与えられ、前記歩容パラメータのうちの所定のパラメータを優先パラメータとし、該優先パラメータ以外のパラメータを非優先パラメータとしたとき、前記要求を満足するための前記優先パラメータの値である優先パラメータ要求値を決定する優先パラメータ要求値決定手段と、
    前記移動ロボットのあらかじめ用意された基準歩容を規定する歩容パラメータと、所定の境界条件を満たすように過去に決定された歩容パラメータとのうちのいずれかの歩容パラメータをベース歩容パラメータとして設定するベース歩容パラメータ設定手段と、
    前記ベース歩容パラメータの優先パラメータの値を、該値が前記優先パラメータ要求値に一致するまで段階的に前記優先パラメータ要求値に漸近させるように更新する優先パラメータ漸近手段と、
    該優先パラメータ漸近手段による優先パラメータの値の更新の都度、その更新後の値の優先パラメータを有し、且つ前記所定の境界条件を満足する歩容を前記動力学モデルを用いて生成し得る歩容パラメータである新規歩容パラメータを探索的に決定する新規歩容パラメータ決定手段とを備えると共に、
    前記新規歩容パラメータ決定手段は、前記新規歩容パラメータを新たに決定するときの前記優先パラメータ漸近手段による優先パラメータの値の更新回数をn(n:n≧1を満たす整数)とし、その第n回目の更新処理によって得られた優先パラメータの値を第n優先パラメータ更新値とし、当該新たに決定する新規歩容パラメータを第n新規歩容パラメータとし、前記ベース歩容パラメータを第0新規歩容パラメータとしたとき、非優先パラメータの値に第n−1新規歩容パラメータの非優先パラメータの値を設定し、且つ、優先パラメータの値を第n優先パラメータ更新値に設定してなる歩容パラメータを初期探索候補歩容パラメータとして、この初期探索候補歩容パラメータの非優先パラメータのうちの所定のパラメータである探索対象パラメータの値を前記所定の境界条件を満たすように探索することにより第n新規歩容パラメータを決定する手段であり、
    前記優先パラメータ漸近手段による優先パラメータの値の最後の更新時に決定された新規歩容パラメータを前記目標歩容を規定する歩容パラメータとして、該新規歩容パラメータと前記動力学モデルとを用いて該目標歩容を生成するようにしたことを特徴とする移動ロボットの歩容生成装置。
  2. 所定の期間における移動ロボットの目標歩容を生成するとき、該目標歩容に続く仮想的な周期的歩容である定常歩容を規定する複数のパラメータの組である定常歩容パラメータを決定すると共に、その決定した定常歩容パラメータと前記移動ロボットの動力学モデルとを用いて生成される定常歩容に前記目標歩容を近づけるように該目標歩容を生成する移動ロボットの歩容生成装置において、
    前記目標歩容に対応する定常歩容に関する要求が入力され、前記定常歩容パラメータのうちの所定のパラメータを優先パラメータとし、該優先パラメータ以外のパラメータを非優先パラメータとしたとき、前記要求を満足するための該優先パラメータの値である優先パラメータ要求値を決定する優先パラメータ要求値決定手段と、
    前記移動ロボットのあらかじめ用意された基準定常歩容を規定する定常歩容パラメータと、所定の境界条件を満たすように過去に決定された定常歩容パラメータとのうちのいずれかの定常歩容パラメータをベース定常歩容パラメータとして設定するベース定常歩容パラメータ設定手段と、
    前記ベース定常歩容パラメータの優先パラメータの値を、該値が前記優先パラメータ要求値に一致するまで段階的に前記優先パラメータ要求値に漸近させるように更新する優先パラメータ漸近手段と、
    該優先パラメータ漸近手段のよる優先パラメータの値の更新の都度、その更新後の値の優先パラメータを有し、且つ前記所定の境界条件を満たす歩容を前記動力学モデルを用いて生成し得る定常歩容パラメータである新規定常歩容パラメータを探索的に決定する新規定常歩容パラメータ探索手段とを備えると共に、
    前記新規定常歩容パラメータ探索手段は、前記新規定常歩容パラメータを新たに決定するときの前記優先パラメータ漸近手段による優先パラメータの値の更新回数をn(n:n≧1を満たす整数)とし、その第n回目の更新後の優先パラメータの値を第n優先パラメータ更新値とし、当該新たに決定する新規定常歩容パラメータを第n新規定常歩容パラメータとし、前記ベース定常歩容パラメータを第0新規定常歩容パラメータとしたとき、非優先パラメータの値に第n−1新規定常歩容パラメータの非優先パラメータの値を設定し、且つ、優先パラメータの値に第n優先パラメータ更新値を設定してなる歩容パラメータを初期探索候補歩容パラメータとして、この初期探索候補歩容パラメータの非優先パラメータのうちの所定のパラメータである探索対象パラメータの値を前記所定の境界条件を満たすように探索することにより第n新規定常歩容パラメータを決定する手段であり、
    前記優先パラメータ漸近手段による優先パラメータの値の最後の更新時に決定された新規定常歩容パラメータを前記目標歩容に対応する定常歩容の定常歩容パラメータとして、該定常歩容パラメータと前記動力学モデルとを用いて生成される定常歩容に近づけるように前記目標歩容を生成するようにしたことを特徴とする移動ロボットの歩容生成装置。
  3. 前記優先パラメータ漸近手段による優先パラメータの値の総更新回数は、前記ベース歩容パラメータの優先パラメータの値と、前記優先パラメータ要求値との差に応じて設定されることを特徴とする請求項1記載の移動ロボットの歩容生成装置。
  4. 前記優先パラメータ漸近手段による優先パラメータの値の総更新回数は、前記ベース定常歩容パラメータの優先パラメータの値と、前記優先パラメータ要求値との差に応じて設定されることを特徴とする請求項2記載の移動ロボットの歩容生成装置。
  5. 前記歩容パラメータは、前記目標歩容のうちの目標ZMP軌道を規定するパラメータを前記探索対象パラメータとして含むことを特徴とする請求項1記載の移動ロボットの歩容生成装置。
  6. 前記定常歩容パラメータは、前記定常歩容の1周期の期間の一端における移動ロボットの運動の所定の状態量を規定するパラメータを前記探索対象パラメータとして含むことを特徴とする請求項2記載の移動ロボットの歩容生成装置。
  7. 前記所定の境界条件は、前記所定の期間における歩容の境界における移動ロボットの運動の所定の状態量が前記境界において隣接する歩容における移動ロボットの運動の該所定の状態量と一致するという条件を含むことを特徴とする請求項1記載の移動ロボットの歩容生成装置。
  8. 前記所定の境界条件は、前記所定の期間における歩容の終端側の境界における移動ロボットの運動の所定の状態量が該歩容に続くべき仮想的な周期的歩容として決定された定常歩容における移動ロボットの運動の該所定の状態量と一致するという条件を含むことを特徴とする請求項1記載の移動ロボットの歩容生成装置。
  9. 前記所定の境界条件は、前記定常歩容の1周期の始端と終端における移動ロボットの運動の所定の状態量が一致するという条件を含むことを特徴とする請求項2記載の移動ロボットの歩容生成装置。
  10. 前記移動ロボットは、上体から延設された複数の脚体を備えた脚式移動ロボットであり、前記所定の状態量は、該ロボットの上体の位置、該上体の速度、該上体の姿勢角、該上体の姿勢角の角速度、該上体の位置と速度との重み付き平均値、該ロボットの全体重心の位置、該全体重心の速度、該全体重心の位置と速度との重み付き平均値、および発散成分のうちの少なくともいずれか一つを含むことを特徴とする請求項6〜9のいずれか1項に記載の移動ロボットの歩容生成装置。
JP2005518038A 2004-02-16 2005-02-16 移動ロボットの歩容生成装置 Expired - Fee Related JP4800038B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005518038A JP4800038B2 (ja) 2004-02-16 2005-02-16 移動ロボットの歩容生成装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2004038961 2004-02-16
JP2004038961 2004-02-16
JP2005518038A JP4800038B2 (ja) 2004-02-16 2005-02-16 移動ロボットの歩容生成装置
PCT/JP2005/002353 WO2005077610A1 (ja) 2004-02-16 2005-02-16 移動ロボットの歩容生成装置

Publications (2)

Publication Number Publication Date
JPWO2005077610A1 JPWO2005077610A1 (ja) 2007-10-18
JP4800038B2 true JP4800038B2 (ja) 2011-10-26

Family

ID=34857828

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2005518039A Expired - Fee Related JP4800039B2 (ja) 2004-02-16 2005-02-16 移動ロボットの歩容生成装置
JP2005518038A Expired - Fee Related JP4800038B2 (ja) 2004-02-16 2005-02-16 移動ロボットの歩容生成装置

Family Applications Before (1)

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

Country Status (5)

Country Link
US (2) US7319302B2 (ja)
EP (2) EP1733852B1 (ja)
JP (2) JP4800039B2 (ja)
KR (2) KR101140810B1 (ja)
WO (2) WO2005077611A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100873107B1 (ko) * 2007-01-30 2008-12-09 한국과학기술원 이족 보행 로봇의 수정 가능한 걸음새 생성을 위한 실시간zmp 조작법
US7905303B2 (en) * 2009-02-10 2011-03-15 Honda Motor Co., Ltd. Legged locomotion robot
KR101200191B1 (ko) * 2010-07-14 2012-11-13 서울대학교산학협력단 데이터 기반 바이페드 제어 장치 및 방법
KR20120024098A (ko) * 2010-09-06 2012-03-14 삼성전자주식회사 보행 로봇 및 그 제어방법
US9517561B2 (en) 2014-08-25 2016-12-13 Google Inc. Natural pitch and roll
US9623556B1 (en) * 2014-09-03 2017-04-18 X Development Llc Robotic sole joint
JP6228097B2 (ja) * 2014-10-06 2017-11-08 本田技研工業株式会社 移動ロボット
US9440353B1 (en) 2014-12-29 2016-09-13 Google Inc. Offline determination of robot behavior
US9499218B1 (en) 2014-12-30 2016-11-22 Google Inc. Mechanically-timed footsteps for a robotic device
US9987745B1 (en) 2016-04-01 2018-06-05 Boston Dynamics, Inc. Execution of robotic tasks
US11981031B2 (en) * 2016-08-18 2024-05-14 The Trustees Of The University Of Pennsylvania Systems and methods for controlling robotic behaviors
CN117590840A (zh) * 2022-08-08 2024-02-23 北京小米机器人技术有限公司 运动控制方法、装置、控制器、介质及机器人

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05253866A (ja) * 1992-03-12 1993-10-05 Honda Motor Co Ltd 脚式移動ロボットの歩行制御装置
JP2001191284A (ja) * 1999-10-25 2001-07-17 Sony Corp ロボット装置及びロボット装置の学習方法
JP2003311669A (ja) * 2002-04-18 2003-11-05 Fuji Heavy Ind Ltd ロボット装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3148827B2 (ja) 1992-04-30 2001-03-26 本田技研工業株式会社 脚式移動ロボットの歩行制御装置
JP3422883B2 (ja) * 1995-09-29 2003-06-30 本田技研工業株式会社 脚式歩行ロボットの歩容生成方法および歩行制御装置
JP3672406B2 (ja) 1997-01-31 2005-07-20 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
KR20010102230A (ko) 1999-02-19 2001-11-15 쿤츠 조엘 전기 전도성이고 자립성인 미공성 중합체 시트
JP2001277166A (ja) * 2000-03-31 2001-10-09 Sony Corp ロボット及びロボットの行動決定方法
KR20030051823A (ko) 2000-11-17 2003-06-25 혼다 기켄 고교 가부시키가이샤 레그식 이동 로봇의 보용 생성장치
JP3726032B2 (ja) 2001-04-27 2005-12-14 本田技研工業株式会社 脚式移動ロボットの目標運動生成装置
JP3569764B2 (ja) * 2001-11-19 2004-09-29 独立行政法人 科学技術振興機構 二脚歩行式移動装置およびその歩行制御装置並びに歩行制御方法
US7319917B2 (en) 2001-12-28 2008-01-15 Honda Giken Kogyo Kabushiki Kaisha Gait generation device for legged mobile robot
US7319918B2 (en) * 2001-12-28 2008-01-15 Honda Giken Kogyo Kabushiki Kaisha Gait generation device for legged mobile robot
KR100924505B1 (ko) * 2002-01-18 2009-11-02 혼다 기켄 고교 가부시키가이샤 다리식 이동로봇의 제어장치
EP1502711B1 (en) * 2002-04-26 2011-02-23 Honda Giken Kogyo Kabushiki Kaisha Control device of legged mobile robot
JP4483254B2 (ja) * 2002-10-01 2010-06-16 ソニー株式会社 ロボット装置及びロボット装置の制御方法
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
US20040138780A1 (en) * 2002-11-15 2004-07-15 Lewis Murray Anthony Certain principles of biomorphic robots
US7072740B2 (en) * 2002-12-16 2006-07-04 Sony Corporation Legged mobile robot

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05253866A (ja) * 1992-03-12 1993-10-05 Honda Motor Co Ltd 脚式移動ロボットの歩行制御装置
JP2001191284A (ja) * 1999-10-25 2001-07-17 Sony Corp ロボット装置及びロボット装置の学習方法
JP2003311669A (ja) * 2002-04-18 2003-11-05 Fuji Heavy Ind Ltd ロボット装置

Also Published As

Publication number Publication date
EP1733852B1 (en) 2012-09-12
EP1733852A1 (en) 2006-12-20
US20070168080A1 (en) 2007-07-19
KR20070003848A (ko) 2007-01-05
EP1738878B1 (en) 2011-09-28
WO2005077610A1 (ja) 2005-08-25
JPWO2005077611A1 (ja) 2007-10-18
EP1738878A4 (en) 2009-12-09
KR101140810B1 (ko) 2012-05-03
EP1733852A4 (en) 2009-12-09
KR101131774B1 (ko) 2012-04-05
JPWO2005077610A1 (ja) 2007-10-18
KR20060126759A (ko) 2006-12-08
EP1738878A1 (en) 2007-01-03
US7765030B2 (en) 2010-07-27
JP4800039B2 (ja) 2011-10-26
WO2005077611A1 (ja) 2005-08-25
US20080147237A1 (en) 2008-06-19
US7319302B2 (en) 2008-01-15

Similar Documents

Publication Publication Date Title
JP4800038B2 (ja) 移動ロボットの歩容生成装置
JP5221688B2 (ja) 脚式移動ロボットの歩容生成装置
JP4805817B2 (ja) 移動ロボットの歩容生成装置
JP3640255B2 (ja) 脚式移動ロボットの歩容生成装置
JP4800037B2 (ja) 移動ロボットの歩容生成装置
JP4199236B2 (ja) 脚式移動ロボットの歩容生成装置
JP5468974B2 (ja) 2足移動ロボットの制御装置及び歩容生成装置
JP2012016800A (ja) 脚式移動ロボットの制御装置
JP2012016801A (ja) 脚式移動ロボットの制御装置

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: 20110802

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: 20110803

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

Free format text: PAYMENT UNTIL: 20140812

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4800038

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees