JP6450279B2 - 移動ロボットの目標zmp軌道の生成装置 - Google Patents

移動ロボットの目標zmp軌道の生成装置 Download PDF

Info

Publication number
JP6450279B2
JP6450279B2 JP2015155341A JP2015155341A JP6450279B2 JP 6450279 B2 JP6450279 B2 JP 6450279B2 JP 2015155341 A JP2015155341 A JP 2015155341A JP 2015155341 A JP2015155341 A JP 2015155341A JP 6450279 B2 JP6450279 B2 JP 6450279B2
Authority
JP
Japan
Prior art keywords
target
trajectory
zmp
target zmp
mobile robot
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.)
Active
Application number
JP2015155341A
Other languages
English (en)
Other versions
JP2017030123A (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 JP2015155341A priority Critical patent/JP6450279B2/ja
Priority to US15/206,413 priority patent/US9957003B2/en
Publication of JP2017030123A publication Critical patent/JP2017030123A/ja
Application granted granted Critical
Publication of JP6450279B2 publication Critical patent/JP6450279B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/01Mobile robot

Landscapes

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

Description

本発明は、移動ロボットの目標ZMP軌道を生成する装置に関する。
移動ロボットの移動制御を行う場合、ZMP(Zero Moment Point)の目標位置の軌道(時間軸上での軌道)である目標ZMP軌道を生成し、この目標ZMP軌道を満足するように、ロボットの各関節の動作目標を規定する目標歩容を生成することが従来より一般に行われている(例えば特許文献1を参照)。
また、例えば非特許文献1には、多項式関数の形態で表した目標ZMP軌道を用いて、ロボットの重心の軌道を生成する技術が提案されている。
特許3726081号
「ヒューマノイドロボットの実時間歩容計画における解析的アプローチ」/原田研介、梶田秀司、森澤光晴、金広文男、藤原清司、金子健二、比留川博久/日本ロボット学会誌,Vol.23 No.6, pp.752-760, 2005
移動ロボットの適切な移動を行い得るように目標ZMP軌道を生成するためには、該目標ZMP軌道は種々の制約を受ける。
その制約条件としては、目標ZMP軌道の各時刻におけるZMPの位置が、その時刻での支持多角形内に存在しなければならないというZMPの存在許容領域に関する制約条件、あるいは、移動ロボットを継続的に安定状態に保ち得る目標歩容を生成できるという制約条件等がある。
例えば、前記特許文献1には、支持多角形の中央付近を通る折れ線状に設定した基準のZMP軌道を、台形状の軌道パターンで修正することにより、移動ロボットを継続的に安定状態に保ち得る目標歩容(具体的には、定常歩容に収束させ得る目標歩容)を生成できる目標ZMP軌道を生成する技術が提案されている。
しかしながら、特許文献1に見られる如き従来の目標ZMP軌道の生成手法では、目標ZMP軌道に関する複数の制約条件を同時に満たし得る目標ZMP軌道を効率よく生成することが困難であった。例えば、特許文献1に見られる技術では、基準のZMP軌道の修正により、移動ロボットを継続的に安定状態に保ち得る目標歩容を生成できる目標ZMP軌道を生成しても、該目標ZMP軌道がZMP存在許容領域に関する制約条件を満たさなくなる場合があり得る。そして、その場合には、目標ZMP軌道を生成し直す必要がある。
また、特許文献1に見られる技術では、基準のZMP軌道を台形状の軌道パターンで修正するために、支持多角形のうち、ZMPの目標位置として設定し得る領域が支持多角形よりも狭い領域に制限されやすい。このため、ZMPの目標位置の設定の自由度が抑制され、ひいては、生成し得る目標歩容の自由度が抑制されやすい。
また、特許文献1に見られる技術では、目標ZMP軌道が折れ線形状であるために、該目標ZMP軌道の折れ点の時刻付近での移動ロボットの運動の滑らかさが損なわれる虞がある。
なお、前記非特許文献1には、目標ZMP軌道を多項式関数により表すことが記載されているものの、該非特許文献1には、多項式関数により表される目標ZMP軌道を、種々の制約条件を満たすように生成する技術については記載されていない。
本発明はかかる背景に鑑みてなされたものであり、目標ZMPの存在許容領域に関する制約条件を含む種々様々な制約条件を満たし得る目標ZMP軌道を効率よく適切に生成することができる移動ロボットの目標歩容生成装置を提供することを目的とする。
本発明の移動ロボットの目標ZMP軌道の生成装置は、かかる目的を達成するために、移動ロボットのZMP(Zero Moment Point)の目標位置の軌道である目標ZMP軌道を生成する装置であって、
前記目標ZMP軌道を、時間を変数とする複数次数の多項式関数により表現される軌道であるとして、該多項式関数の各項の係数の目標値から成る目標係数群を決定する多項式関数係数群決定手段を備えており、
該多項式関数係数群決定手段は、前記目標係数群に含まれる係数の二乗値を変数として含むように構成される二次形式の評価関数と、該係数についての線形等式又は線形不等式により各々構成される複数の制約条件とを用い、二次計画問題の解法手法により前記制約条件を満たしつつ、前記評価関数の値を最小化するように前記目標係数群を決定するように構成されており、
前記制約条件は、前記目標ZMP軌道における1つ以上のサンプリング時刻でのZMPの目標位置が、該サンプリング時刻での移動ロボットの接地部位の目標位置及び目標姿勢に応じて設定した所定の多角形領域内に存在するという条件を表す線形不等式を含むように構成されていることを特徴とする(第1発明)。
ここで、本願発明者は、各種検討によって次のことを知見した。すなわち、目標ZMP軌道を、時間を変数とする複数次数の多項式関数により表現した場合、目標ZMP軌道を決定するということは、該目標ZMP軌道を表す多項式関数の各項の係数の目標値から成る目標係数群を決定することと等価である。
そして、目標ZMPの存在許容領域等、目標ZMP軌道に関する種々様々な制約条件は、上記多項式関数の各項の係数ついての線形不等式又は線形等式の形態で表すことができる。
なお、線形等式は、上記多項式関数の係数の線形結合値がある定数値に等しいことを示す等式である。また、線形不等式は、上記多項式関数の係数の線形結合値がある定数値よりも大きい、又は小さいということを示す不等式である。
そして、上記多項式関数の目標係数群に含まれる係数の二乗値を変数として含むように構成される二次形式の適当な評価関数を設定することで、上記線形不等式又は線形等式により表される制約条件を満たしつつ、評価関数の値を最小化するように目標係数群を決定することを、二次計画問題の解法手法を適用して行うことができる。
この場合、当該二次計画問題の解法手法では、上記線形不等式又は線形等式として複数の式を用いることができるので、複数の制約条件を同時に満たし得るように、目標係数群を決定できる。
また、特に、ZMPの存在許容領域に関する制約条件は、前記目標ZMP軌道における1つ以上のサンプリング時刻でのZMPの目標位置が、該サンプリング時刻での移動ロボットの接地部位の目標位置及び目標姿勢に応じて設定した所定の多角形領域内に存在するという条件として表現することができる。そして、この場合、当該制約条件は、多項式関数の係数についての線形不等式の形態で表すことができる。
なお、各サンプリング時刻での上記多角形領域は、該サンプリング時刻での移動ロボットの接地面を包含する最小の凸領域としての支持多角形に一致し、又は該支持多角形の内側に設定される領域である。
そこで、本発明では、移動ロボットの目標ZMP軌道生成装置を上記第1発明の構成とした。
かかる第1発明によれば、二次計画問題の解法手法を用いることで、ZMPの存在許容領域に関する制約条件(線形不等式により表される制約条件)を含む複数の制約条件を満たす目標係数群を決定できる。これにより多項式関数により表される目標ZMP軌道を、複数の制約条件を満たし得るように生成できる。
この場合、上記多項式関数は、複数次数の多項式関数であるから、目標ZMP軌道を直線あるいは曲線のいずれの形態でも生成できる。このため、支持多角形の全体または大部分の領域が、目標ZMP軌道上の点が設定される領域となり得るように目標ZMP軌道を生成できる。
従って、第1発明によれば、目標ZMPの存在許容領域に関する制約条件を含む種々様々な制約条件を満たし得る目標ZMP軌道を効率よく適切に生成することができる。
かかる第1発明では、前記制約条件は、前記目標係数群に含まれる係数についての線形不等式又は線形等式により表される制約条件であれば、ZMPの存在許容領域に関する前記第1制約条件以外の種々様々な制約条件を含み得る。
具体的には、上記第1発明では、前記制約条件は、前記移動ロボットの重心の運動を、該重心に質点を有し、且つ前記目標ZMP軌道上のZMPを支点として有する倒立振子質点の運動により表現するモデルにおける該倒立振子質点を安定状態に保つための条件であって、将来の所定時刻における該倒立振子質点の運動状態が所定の運動状態に一致するという第2制約条件を表す線形等式をさらに含むように構成され得る(第2発明)。
すなわち、上記第2制約条件は、前記目標係数群に含まれる係数についての線形等式により表すことが可能である。このため、前記制約条件は、上記第2制約条件をさらに含みことができる。これにより、多項式関数により表される目標ZMP軌道が前記第1制約条件に加えて、さらに第2制約条件をも満たし得るように、二次計画問題の解法手法により、多項式関数の目標係数群を決定できる。ひいては、移動ロボットの重心の安定性が高い目標歩容を生成する上で好適な目標ZMP軌道を生成できる。
上記第2発明では、前記将来の所定時刻における倒立振子質点の運動状態としては、例えば該倒立振子質点の位置と移動速度との線形結合により表される運動状態を採用できる(第3発明)。
これにより、第2制約条件を、線形等式で表現することができる。
また、上記第1〜第3発明では、前記制約条件は、前記目標ZMP軌道のうちの所定の時刻でのZMPの目標位置が、所定位置に一致するという第3制約条件を表す線形等式をさらに含むように構成され得る(第4発明)。
すなわち、上記第3制約条件は、前記目標係数群に含まれる係数についての線形等式により表すことが可能である。このため、前記制約条件は、上記第3制約条件をさらに含みことができる。これにより、多項式関数により表される目標ZMP軌道が前記第1制約条件に加えて、さらに第3制約条件をも満たし得るように、二次計画問題の解法手法により、多項式関数の目標係数群を決定できる。ひいては、目標ZMP軌道が、所定の時刻において所定の位置を通る軌道となるように目標ZMP軌道を生成できる。
また、上記第1〜第4発明では、前記目標ZMP軌道は、複数の区間の軌道に分割されていると共に各区間毎に個別の多項式関数により表される軌道であり、前記多項式関数係数群決定手段が決定する目標係数群は、前記複数の区間の全ての多項式関数の各項の係数の目標値からなることが好ましい(第5発明)。
これによれば、目標ZMP軌道を、複数の区間のそれぞれ毎の個別の多項式関数で表すことができるので、種々様々な軌道パターンの目標ZMP軌道を生成できる。また、例えば、移動ロボットの接地部位(足部等)の個数の切替えタイミング、あるいは、移動ロボットの接地部位の着地タイミング等、移動ロボットの移動時の動作パターンの切替わり毎に、区間を分けて目標ZMP軌道を生成することも可能である。
上記第5発明では、前記制約条件は、前記複数の区間で互いに隣合う任意の2つの区間のうち、先行側の区間の多項式関数により規定される該先行側の区間の終端時刻におけるZMPの位置と該ZMPの位置の所定階数の微分値とのそれぞれと、後行側の区間の多項式関数により規定される該後行側の区間の始端時刻におけるZMPの位置と該ZMPの位置の前記所定階数の微分値とのそれぞれとが互いに一致するという第4制約条件を表す線形等式をさらに含むように構成され得る(第6発明)。
なお、「ZMPの位置の所定階数の微分値」というのは、ZMPの移動速度(1階微分値)、移動加速度(2階微分値)、3階微分値等を意味する。当該所定階数の微分値は、互いに異なる階数の複数の微分値を含んでいてもよい。
上記第4制約条件のうちのZMPの位置と該ZMPの位置の所定階数の微分値とのそれぞれの関する条件は、いずれも、前記目標係数群に含まれる係数についての線形等式により表すことが可能である。このため、前記制約条件は、上記第4制約条件をさらに含みことができる。これにより各区間の目標ZMP軌道が、ZMPの位置と該ZMPの位置の所定階数の微分値との全てについて滑らかに連続するように、各区間の目標ZMP軌道の全体から成る目標ZMP軌道を生成できる。ひいては、移動ロボットの滑らかな移動を行う目標歩容を生成する上で好適な目標ZMP軌道を生成できる。
上記第5発明又は第6発明では、前記複数の区間のそれぞれにおける多項式関数は、該区間の時間幅をあらかじめ定めた一定値とみなし、且つ、該区間の始端時刻をゼロとみなして該区間での時間を正規化してなる時間の関数として表現してなる多項式関数であることが好ましい(第7発明)。
これによれば、前記複数の区間のそれぞれにおける時刻が、該複数の区間で共通の形式で正規化された時刻として表現できるため、前記制約条件を表す線形等式又は線形不等式、あるいは、前記評価関数を簡略化して表現できる。
上記第1〜第7発明では、前記評価関数としては、前記目標係数群に含まれる係数の二乗値を変数として含むように構成される二次形式の関数であれば、種々様々な関数を採用し得る。
例えば、前記評価関数として、前記目標ZMP軌道におけるZMPの移動加速度の二乗値の積分値を表す関数を採用し得る(第8発明)。
ここで、ZMPの移動加速度は、ZMPの位置の2階微分値に相当するものであるから、目標ZMP軌道が多項式関数により表される場合、前記目標ZMP軌道におけるZMPの移動加速度も多項式関数により表される。このため、該移動加速度の二乗値の積分値は、前記目標係数群に含まれる係数の二乗値を変数として含むように構成される二次形式の関数となる。従って、ZMPの移動加速度の二乗値の積分値を表す関数を前記評価関数として採用できる。
そして、このようにZMPの移動加速度の二乗値の積分値を表す関数を前記評価関数として採用した場合、二次計画問題の解法手法によって、ZMPの移動加速度の二乗値の積分値を最小化するように、前記目標係数群が決定されることとなる。
このため、目標ZMP軌道におけるZMPの移動速度が急激に変化するような形態で目標ZMP軌道が生成されるのを防止できる。ひいては、移動ロボットの滑らかな移動を行い得る目標歩容を生成できるように、滑らかな目標ZMP軌道を生成できる。
本発明の一実施形態における移動ロボットの構成を示す図。 移動ロボットの制御装置の機能を示すブロック図。 移動ロボットの移動時の足部の目標着地位置及び目標着地姿勢の例を示す図。 足部の目標位置及び目標姿勢の軌道の一例を示す図。 移動ロボットの倒立振子モデルを説明するための図。 目標ZMP軌道の軌道生成対象期間の分割に関する説明図。 図7Aは片脚支持期における支持多角形の一例、図7Bは両脚支持期における支持多角形の一例を示す図。 実施例における目標ZMP軌道及び目標重心軌道を示すグラフ。 実施例及び比較例のそれぞれにおける目標ZMPのY軸方向位置の軌道を示すグラフ。
本発明の一実施形態を図1〜図9を参照して以下に説明する。図1は本実施形態で例示する移動ロボットの概略構成を模式的に示している。この移動ロボット1(以降、単にロボット1という)は、基体2と、基体2から延設された複数(本実施形態では4つ)の可動リンク機構3L,3R,4L,4Rと、頭部5とを有する人型の脚式移動ロボットである。
4つの可動リンク機構3L,3R,4L,4Rのうちの可動リンク機構3L,3Rは、左右一対の脚リンク機構に相当するリンク機構、可動リンク機構4L,4Rは、左右一対の腕リンク機構に相当するリンク機構である。
なお、図示の参照符号中の「L」、「R」は、それぞれロボット1の左側の構成要素、右側の構成要素を示す符号である。ただし、以降の説明では、左右を区別する必要が無いときは、符号「L」,「R」を省略する。また、可動リンク機構3L,3Rを脚リンク機構3L,3R(又は脚リンク機構3)と称し、可動リンク機構4L,4Rを腕リンク機構4L,4R(又は腕リンク機構4)と称する場合がある。
また、本実施形態の以下の説明では、ヨー方向、ピッチ方向、ロール方向は、それぞれ図1に示すようにロボット1が直立姿勢で起立した状態(基体2、各可動リンク3R,3L,4R,4Lをほぼ上下方向に伸ばした状態)での該ロボット1の上下方向の軸(図1に示すZ軸)周りの方向、左右方向の軸(図1に示すY軸)周りの方向、前後方向の軸(図1ではX軸)周りの方向を意味する。なお、図1に示すX軸、Y軸、Z軸は、3軸直交座標系の各座標軸である。
基体2は、ロボット1の上体に相当するリンク機構である。この基体2は、本実施形態では、下側基体10と、この下側基体10の上方に配置された上側基体11との2つの要素リンクと、該下側基体10及び上側基体11を連結する関節機構12とから構成されている。図示例のロボット1では、関節機構12は、例えばピッチ方向(Y軸周り方向)の回転自由度を有する関節12aにより構成されている。
可動リンク機構3L,3R,4L,4Rのうちの脚リンク機構3L,3Rは、互いに同じ構造のものである。具体的には、各脚リンク機構3は、下側基体10に股関節機構13を介して連結された大腿部14と、この大腿部14に膝関節機構15を介して連結された下腿部16と、この下腿部16に足首関節機構17を介して連結された足部18とを、該脚リンク3機構を構成する要素リンクとして備える。足部18は、脚リンク機構3の先端部を構成する要素リンクである。
図示例のロボット1では、股関節機構13は、ヨー方向(Z軸周り方向)、ピッチ方向(Y軸周り方向)及びロール方向(X軸周り方向)の回転自由度をそれぞれ有する3つの関節19,20,21により構成されている。また、膝関節機構15は、ピッチ方向の回転自由度を有する関節22により構成されている。また、足首関節機構17は、ピッチ方向及びロール方向の回転自由度をそれぞれ有する2つの関節23,24により構成されている。
従って、本実施形態では、各脚リンク3機構は、その先端部(足部18)が下側基体10に対して、6自由度の運動自由度を有するように構成されている。
可動リンク機構3L,3R,4L,4Rのうちの腕リンク機構4R,4Lは、互いに同じ構造のものである。具体的には、各腕リンク機構4は、上側基体11に肩関節機構25を介して連結された上腕部26と、この上腕部26に肘関節機構27を介して連結された前腕部28と、この前腕部28に手首関節機構29を介して連結されたハンド部30とを、該腕リンク機構4を構成する要素リンクとして備える。ハンド部30は、腕リンク機構4の先端部を構成する要素リンクである。
図示例のロボット1では、肩関節機構25は、ピッチ方向、ロール方向、及びヨー方向の回転自由度をそれぞれ有する3つの関節31,32,33により構成されている。また、肘関節機構27は、ピッチ方向(又はロール方向)の回転自由度を有する関節34により構成されている。また、手首関節機構29は、ヨー方向、ピッチ方向及びロール方向の回転自由度をそれぞれ有する2つの関節35,36,37により構成されている。
従って、本実施形態では、各腕リンク機構4は、その先端部(ハンド部30)が上側基体11に対して、7自由度の運動自由度を有するように構成されている。
なお、ハンド部30は、該ハンド部30による作業用の開閉機構、あるいは、複数の屈伸可能な指機構等を備えていてもよい。
頭部5は、上側基体11の上方に配置され、該上側基体11に固定されている。ただし、頭部5は、例えばチルト動作あるいはパン動作等を行い得るように、上側基体11に対して関節機構を介して連結されていてもよい。
以上が本実施形態のロボット1の機構的な構造の概要である。かかる構造のロボット1は、基本的には、左右の脚リンク機構3L,3Rの動作(各足部18の空中移動及びそれに続く接地を繰り返す2脚歩容の動作)によって移動できる。
あるいは、腕リンク機構4L,4Rを脚リンク機構3L,3Rとは別の脚リンク機構として動作させてロボット1の移動を行うことも可能である。例えば、脚リンク機構3L,3R及び腕リンク機構4L,4Rの4つの可動リンク機構のそれぞれの先端部(足部18、ハンド部30)の空中移動及びそれに続く接地を繰り返す4脚歩容の動作によってロボット1の移動を行うことも可能である。
補足すると、各脚リンク機構3は、例えば6自由度よりも大きい運動自由度を有するように構成されていてもよい。また、各腕リンク機構4は、例えば7自由度よりも小さい運動自由度、もしくは7自由度よりも大きい運動自由度を有するように構成されていてもよい。
また、基体2の関節機構12は、ロール方向又はヨー方向の回転自由度を有する関節により構成されていてもよい。あるいは、該関節機構12は、1自由度よりも大きい運動自由度を有するように構成されていてもよい。あるいは、基体2は、関節機構12を備えない一体構成のもの(下側基体10と上側基体11とを一体化した構成のもの)であってもよい。
また、各脚リンク機構3及び各腕リンク機構4のそれぞれは、回転型の関節に限らず、直動型の関節を含んでいてもよい。
また、ロボット1は、頭部5を持たない構造のもの、あるいは腕リンク機構4R,4Lの一方又は両方を備えないものであってもよい。
また、ロボット1は、3つ以上の脚リンク機構を備えるものであってもよい。なお、脚リンク機構3L,3Rに加えて、腕リンク機構4L,4Rを脚リンク機構として動作させてロボット1の移動を行う場合には、ロボット1は、実質的に4つの脚リンク機構を有するロボットとみなすこともできる。
図1での図示は省略したが、ロボット1には、図2に示すように、上記の各関節をそれぞれ回転駆動する関節アクチュエータ40と、ロボット1の動作制御を行なう制御装置41とが搭載されている。
関節アクチュエータ40は、例えば電動モータあるいは油圧アクチュエータにより構成されたものであり、各関節毎に備えられている。この場合、各関節アクチュエータ40による各関節の駆動機構は公知の構造のものでよい。また、関節アクチュエータ40は、回転型のアクチュエータに限らず、直動型のアクチュエータであってもよい。
制御装置41は、CPU、RAM、ROM、インターフェース回路等を含む電子回路ユニットにより構成されている。この制御装置41は、実装されるプログラムとハードウェア構成とにより実現される主要な機能として、ロボット1の各関節の動作制御のための制御用目標値としての目標歩容(ロボット1の動作目標)を生成する目標歩容生成部42と、該目標歩容に応じてロボット1の各関節アクチュエータ40を制御する関節アクチュエータ制御部43とを備える。
目標歩容生成部42は、ロボット1の移動時に空中移動及びそれに続く着地(接地)を行わせる部位(足部18又はハンド部30)である移動接地部のそれぞれの着地予定箇所での位置及び姿勢の目標(以降、目標着地位置姿勢という)と該着地予定箇所での着地時刻の目標(以降、目標着地時刻という)を設定する着地目標設定部51と、各移動接地部の移動動作における目標位置及び目標姿勢の軌道を生成する移動接地部軌道生成部52と、ZMP(Zero Moment Point)の目標位置(以降、目標ZMPということがある)の軌道である目標ZMP軌道を生成する目標ZMP軌道生成部53と、ロボット1全体の重心の目標位置の軌道である目標重心軌道を生成する目標重心軌道生成部54と、ロボット1の各関節の変位量の目標値である目標関節変位量の軌道を生成する目標関節変位量軌道生成部55とを含む。
ここで本明細書での用語に関して補足すると、ロボット1の足部18等の任意の部位の「位置」は、該部位の代表点(該部位に対して固定された点)の空間的な位置を意味し、任意の部位の「姿勢」は、該部位の空間的な向きを意味する。
また、「位置姿勢」は、「位置」及び「姿勢」の組、「目標位置姿勢」は、「目標位置」及び「目標姿勢」の組を意味する。また、「軌道」は、瞬時値の時系列、又は時間の関数として表現されるものを意味する。
なお、ロボット1の任意の部位の「位置」及び「姿勢」のそれぞれは、ロボット1の動作環境に対して任意に設計的に設定されるグローバル座標系(ワールド座標系)で見た位置及び姿勢として記述される。
また、ZMPは、ロボット1の全体の運動によって発生する慣性力とロボット1に作用する重力との合力によって、該ZMPの周りに発生するモーメントの水平方向成分(水平軸周りの成分)がゼロとなる床面上の点である。なお、「床面」は、通常の意味での床面(屋内の床面)に限らず、地面、路面等の接地面(移動接地部を接地させ得る面)も含む。
以降、脚リンク機構3R,3Lの各足部18の空中移動及びこれに続く着地を繰り返す2脚歩容の動作によってロボット1の移動を行う場合を一例として、制御装置41の具体的な処理を説明する。
上記2脚歩容は、人の歩行動作と同様の形態で脚リンク機構3R,3Lの足部18R,18Lを動かすことでロボット1の移動を行う歩容である。より詳しくは、該2脚歩容は、脚リンク機構3R,3Lの一方の脚リンク機構(支持脚としての脚リンク機構)の足部18を接地状態(床面から接触反力を受けた状態)として、他方の脚リンク機構(遊脚としての脚リンク機構)の足部18の空中移動及びそれに続く着地を行う片脚支持期と、両方の脚リンク機構3R,3Lの足部18R,18Lが接地状態となる両脚支持期とが交互に繰り返される歩容である。この場合、片脚支持期での支持脚たる脚リンク機構及び遊脚たる脚リンク機構は、片脚支持期の繰り返し毎に、右側の脚リンク機構3Rと左側の脚リンク機構3Lとで交互に切替えられる。また、足部18R,18Lのそれぞれが前記移動接地部に相当する。
なお、以降の説明では、ロボット1の足部18等の任意の部位の位置及び姿勢、あるいは、ZMPもしくはロボット1の重心の位置を記述するグローバル座標系として、X軸及びY軸を2つの水平軸、Z軸を鉛直軸とする3軸直交座標系を用いる。この場合、図1に示すように、X軸は、ロボット1の前後方向の水平軸、Y軸は、ロボット1の左右方向の水平軸とする。
制御装置41の目標歩容生成部42は、ロボット1の移動開始前、あるいは、移動途中の適宜のタイミング(例えば、所定歩数の移動毎のタイミング)で、着地目標設定部51の処理を実行する。該着地目標設定部51は、N歩目(N:2以上の整数)までの1歩毎の遊脚側の脚リンク機構3の足部18の目標着地位置姿勢及び目標着地時刻を設定する。
なお、「1歩」は、いずれか一方の脚リンク機構3(3R又は3L)の足部18の空中移動とそれに続く着地とを行う動作を意味する。
図3は、例えば1歩目の遊脚及び支持脚をそれぞれ左側の脚リンク機構3L、右側の脚リンク機構3Rとし、2歩目の遊脚及び支持脚をそれぞれ右側の脚リンク機構3R、左側の脚リンク機構3Lとして、2歩目までの足部18の目標着地位置姿勢(上方から見た目標着地位置姿勢)を設定した状態を例示している。この場合、実線で示す足部18L(1)が1歩目の遊脚側の足部18Lの目標着地位置姿勢、実線で示す足部18R(2)が2歩目の遊脚側の足部18Rの目標着地位置姿勢を例示している。
なお、ロボット1の動作環境の床面形状が事前に判明している場合には、着地目標設定部51で設定する目標着地位置姿勢及び目標着地時刻は、ロボット1の移動開始前に、あらかじめ作成されたものであってもよい。また、ロボット1に搭載された外界センサ等によりロボット1の周辺の床面形状を計測しながらロボット1の移動を行う場合には、着地目標設定部51で設定する目標着地位置姿勢及び目標着地時刻は、随時(例えばロボット1の1歩の移動毎に)、更新するようにしてもよい。
次に制御装置41の目標歩容生成部42は、着地目標設定部51で設定した足部18の目標着地位置姿勢及び目標着地時刻を用いて、各足部18の目標位置姿勢軌道を生成する処理を移動接地部軌道生成部52により実行する。
ここで、本実施形態では、制御装置41の目標歩容生成部42は、例えばロボット1の1歩の移動毎に、将来の所定歩数目までの期間におけるロボット1の目標歩容(各足部18の目標位置姿勢軌道等)を生成する。
このため、移動接地部軌道生成部52は、ロボット1の1歩の移動毎に、着地目標設定部51で設定した足部18の目標着地位置姿勢及び目標着地時刻を用いて、将来の所定歩数目、例えば2歩目までの期間における各足部18の目標位置姿勢軌道を生成する。
この場合、2歩目までの各歩における遊脚側の脚リンク機構3の足部18については、例えば、図4に例示する如く該足部18の位置姿勢が変化していくように該足部18の目標位置姿勢軌道が生成される。
図示例では、遊脚側の脚リンク機構3の足部18の位置及び姿勢の両方を経時的に変化させている。ただし、遊脚側の脚リンク機構3の足部18の姿勢は、該足部18の空中での移動中の全期間又は一部の期間で一定であってもよい。
また、2歩目までの各歩における支持脚側の脚リンク機構3の足部18については、該足部18が滑らずに接地した状態に保たれるように該足部18の目標足平位置姿勢軌道が決定される。この場合、該足部18の目標位置姿勢は、例えば接地中の全期間で一定になるように設定され得る。あるいは、該足部18の接地中の全期間又は一部の期間において、該足部18の接地部分を変化させるように(接地部分を踵側からつま先側に変化させる等)、該足部18の目標位置姿勢を経時的に変化させるように設定することも可能である。
さらに制御装置41の目標歩容生成部42は、移動接地部軌道生成部52で生成した各足部18の目標位置姿勢軌道を用いて、所定歩数目(2歩目)までの期間における将来の目標ZMP軌道を生成する処理を目標ZMP軌道生成部53により実行する。
この処理の詳細は後述するが、目標ZMP軌道生成部53は、目標ZMP軌道を、所定の制約条件下で、複数次数の多項式関数(時間の関数)により表される軌道として生成する。
次に制御装置41の目標歩容生成部42は、ロボット1の動力学モデルを用いて、目標ZMP軌道を満足するように、所定歩数目(2歩目)までの期間における将来のロボット1の目標重心軌道を生成する処理を目標重心軌道生成部54により実行する。この場合、本実施形態では、ロボット1の動力学モデルとして倒立振子モデルが用いられる。
この倒立振子モデルは、ロボット1の重心の運動を、図5に示す倒立振子質点60の運動によって表現する動力学モデルである。この倒立振子モデルでは、倒立振子質点60は、床面からの高さが一定値hに維持された状態で、目標ZMPを支点として、該高さhの水平面上を動く。また、倒立振子質点60の質量は、ロボット1全体の質量に一致する。
なお、図5は、グローバル座標系のY軸方向から見た(XZ座標平面に投影して見た)倒立振子モデルを表している。
このような倒立振子モデルにおける倒立振子質点60(ロボット1の重心)の動力学的な挙動は、次式(1)により表される。

d2↑Ppend/dt2=(g/h)・(↑Ppend−↑Pzmp) ……(1)

ここで、↑Ppendは、グローバル座標系における倒立振子質点60のX軸方向の位置XpendとY軸方向の位置Ypendとから成る2成分のベクトル(=[Xpend, Ypend]T)、↑Pzmpは、グローバル座標系における目標ZMP(=倒立振子質点60の揺動支点)のX軸方向の位置XzmpとY軸方向の位置Yzmpとから成る2成分のベクトル(=[Xzmp, Yzmp]T)、gは重力加速度定数である。
なお、本明細書では、任意の変数の先頭の「↑」は、当該変数がベクトル(縦ベクトル)であることを示す符号、上付きの添え字「T」はベクトル又は行列の転置を表す符号である。
目標重心軌道生成部54は、目標ZMP軌道生成部53で生成された目標ZMP軌道(2歩目までの期間における目標ZMP軌道)と、上記式(1)とを用いて、目標ZMPを満足するように(詳しくは、倒立振子質点60の運動によって発生する慣性力と倒立振子質点60に作用する重力との合力によって目標ZMPの周りに発生する水平軸周りのモーメント(X軸周りのモーメント及びY軸周りのモーメント)がゼロになるように)、2歩目までの期間における倒立振子質点60の水平方向の運動加速度(式(1)の左辺の値)の時系列を算出する。
そして、目標重心軌道生成部54は、算出した運動加速度を積分する(2階積分する)ことで、2歩目までの期間における倒立振子質点60の位置↑Ppendの軌道を、ロボット1の目標重心軌道(詳しくは、重心の水平位置(X軸方向位置及びY軸方向位置)の軌道)として算出する。なお、ロボット1全体の重心のZ軸方向の目標位置は、高さhの位置である。
次に制御装置41の目標歩容生成部42は、所定歩数目(2歩目)までの将来のロボット1の各関節の目標変関節変位量の軌道を生成する処理を目標関節変位量軌道生成部55により実行する。この場合、目標関節変位量軌道生成部55は、例えば、分解運動量制御の手法を用いて目標関節変位量の軌道(瞬時値の時系列)を生成する。
この分解運動量制御の手法では、目標関節変位量軌道生成部55は、ロボット1の目標重心軌道に応じてロボット1の全体の目標並進運動量(=重心の目標並進運動量)の軌道を設定する。さらに、目標関節変位量軌道生成部55は、ロボット1の重心の周りの(又は目標ZMP周りの)全体の目標角運動量の軌道を適宜設定する。また、目標関節変位量軌道生成部55は、腕リンク機構4R,4Lのそれぞれの先端部たる各ハンド部30R,30Lの目標位置姿勢の軌道を適宜設定する。
なお、目標角運動量と、各ハンド部30R,30Lの目標位置姿勢の軌道とは、任意に設計的に設定し得る。
そして、目標関節変位量軌道生成部55は、これらの目標並進運動量及び目標角運動量と、移動接地部たる各足部18R,18Lの目標位置姿勢軌道と、各ハンド部30R,30Lの目標位置姿勢軌道とから、目標並進運動量及び目標角運動量を実現し得る各関節の目標関節変位量の軌道(所定の制御処理周期毎の瞬時値の時系列)を分解運動量制御の手法により算出する。
なお、目標関節変位量軌道生成部55は、分解運動量制御の手法以外の手法により目標関節変位量の軌道を生成してもよい。例えば、ロボット1の基体2及び各脚リンク機構3のそれぞれに1つ以上の質点を設定した多質点モデル(動力学モデル)、あるいは、該多質点モデルにフライホイールを付加した動力学モデルと、目標重心軌道と、目標ZMP軌道と、各足部18R,18Lの目標位置姿勢軌道とを用いて、目標重心軌道と目標ZMP軌道とを満足し得る基体2の目標位置姿勢の軌道を生成する。そして、基体2の目標位置姿勢の軌道と、足部18R,18Lの目標位置姿勢軌道とから逆運動学の演算処理により各脚リンク機構3の各関節の目標関節変位量の軌道を算出する。
この場合、基体2の関節12aの目標関節変位量と、各腕リンク機構4の各関節31〜37の目標関節変位量とは、例えば、一定に維持され、あるいは、足部18R,18Lの動きに同期した一定のパターンで経時的に変化するように設定し得る。
このように、各足部18R,18Lの目標位置姿勢軌道と目標ZMP軌道とを満足し得るロボット1の目標歩容は、種々様々な手法により生成し得る。
以上の如く、本実施形態では、ロボット1の目標歩容生成部42は、ロボット1の1歩の移動毎に所定歩数目(2歩目)までの期間における将来の各関節の目標関節変位量の軌道を生成する。
そして、制御装置41は、かかる関節変位量の軌道に応じてロボット1の各関節の変位量を制御する処理を関節アクチュエータ制御部43により実行する。
この場合、関節アクチュエータ制御部43は、ロータリエンコーダ等により構成される各関節の変位量センサ(図示省略)で検出される各関節の実際の変位量を、該関節の目標関節変位量に追従させるように、関節アクチュエータ40をフィードバック制御する。
なお、この場合、所定の制御処理周期毎の目標関節変位量を、目標関節変位量軌道生成部55で生成された目標値からコンプライアンス制御等により適宜修正するようにしてもよい。
補足すると、ロボット1の目標歩容(目標関節変位量の軌道等)の生成処理は、ロボット1の複数歩の移動毎に行ったり、あるいは、1歩分の期間よりも短い時間間隔で行うようにしてもよい。また、ロボット1の目標歩容(目標関節変位量の軌道等)の生成処理を実行する各タイミングにおいて、2歩目までの期間よりも短い期間(例えば1歩目までの期間)における目標歩容を生成したり、あるいは、2歩目までの期間よりも長い期間(例えば3歩目までの期間)における目標歩容を生成するようにしてもよい。
次に、説明を後回しにした前記目標ZMP軌道生成部53の処理を詳説する。
目標ZMP軌道生成部53は、本発明の目標ZMP軌道の生成装置の一例としての機能を制御装置41に付与するものである。該目標ZMP軌道生成部53は、目標ZMP軌道を表わす多項式関数の各項の係数の目標値から成る目標係数群を決定する多項式関数係数群決定部53aとしての機能を含む。該多項式関数係数群決定部53aは、本発明における多項式関数係数群決定手段に相当する。
本実施形態では、目標ZMP軌道生成部53は、目標歩容生成部42が目標歩容(目標関節変位量の軌道等)を生成する処理を実行する各タイミングにおいて目標ZMP軌道生成部53が生成する所定歩数目(2歩目)までの期間(以降、軌道生成対象期間という)を、図6に例示するように複数の区間i(i=0,1,…,e)に分割する。
なお、図6での目標ZMP軌道は、一例として、ロボット1の直進歩行を行う場合における目標ZMPのY軸方向位置の軌道を例示している。また、図中の足部18Rは、右側の脚リンク機構3Rを遊脚として足部18Rを動かす場合における該足部18RのY軸方向の目標着地位置を示し、図中の足部18Lは、脚リンク機構3Lを遊脚として足部18Lを動かす場合における該足部18LのY軸方向の目標着地位置を示している。
図示例では、例えば、各区間iが、片脚支持期および両脚支持期のいずれか一方の区間となるように、軌道生成対象期間が分割されている。この例では、軌道生成対象期間の分割個数e+1は、7個である。ただし、軌道生成対象期間を上記と異なる仕方で分割してもよい。例えば、軌道生成対象期間をさらに多くの区間に分割してもよい。また、例えば各区間iの時間幅が一定となるよように、軌道生成対象期間を分割してもよい。
目標ZMP軌道生成部53の処理では、軌道生成対象期間を分割してなる各区間iの目標ZMP軌道(詳しくは、グローバル座標系における目標ZMPのX軸方向位置Xzmp及びY軸方向位置Yzmpから成るベクトル↑Pzmp=[Xzmp, Yzmp]Tの各成分の軌道)が、各区間i毎に個別の多項式関数により表現される。なお、目標ZMPのZ軸方向位置は、X軸方向位置及びY軸方向位置がそれぞれXzmp、Yzmpとなる床面上の点のZ軸方向位置として規定される。
各区間i(i=0,1,…,e)における目標ZMP軌道(↑Pzmpの軌道)は、時間tの関数として、次式(2)の形の多項式関数で定義される。
式(2)の左辺の↑Pzmp_i(t)(=[Xzmp_i(t), Yzmp_i(t)]T)は、区間iにおける時刻tでの目標ZMPの位置(X軸方向位置Xzmp_i(t)及びY軸方向位置Yzmp_i(t))を示す2成分のベクトル、式(2)の右辺のnは、↑Pzmp_i(t)(以降、目標ZMPベクトル↑Pzmp_i(t)ということがある)の各成分Xzmp_i(t),Yzmp_i(t)を表す多項式関数の次数、↑W_i,j(=[Wx_i,j , Wy_i,j]T)(j=0,1,…,n)は、Xzmp_i(t)を表す多項式関数の各項のうちの次数jの項の係数Wx_i,jと、Yzmp_i(t)を表す多項式関数の各項のうちの次数jの項の係数Wy_i,jとから成るベクトルである。
なお、本実施形態では、目標ZMPベクトル↑Pzmp_i(t)の各成分Xzmp_i(t),Yzmp_i(t)を表す多項式関数の次数nは、例えば“7”である。
また、式(2)の右辺のtc_i(t)は、区間iの正規化した時間を表すものとして、式(3a),(3b)により定義されるものである。これらの式(3a),(3b)におけるt_iは、区間iの始端時刻、t_i+1は、区間iの終端時刻(=区間i+1の始端時刻)、T_iは、区間iの時間幅である。
従って、式(3a),(3b)により定義される正規化時刻tc_i(t)は、各区間iの始端時刻t_iを“0”、時間幅T_iを“1”とみなして正規化した時刻である。
軌道生成対象期間の各区間iにおける目標ZMPベクトル↑Pzmp_i(t)の各成分Xzmp_i(t),Yzmp_i(t)を上記の如く多項式関数で表した場合、軌道生成対象期間における目標ZMP軌道(↑Pzmp_i(t)の軌道)は、軌道対象生成期間の全ての区間i(i=0,1,…,e)のそれぞれにおける多項式関数の各項の係数Wx_i,j、Wy_i,j(j=0,1,…,n)の値により規定されることとなる。
そこで、目標ZMP軌道生成部53は、軌道生成対象期間を分割してなる各区間iにおける目標ZMPベクトル↑Pzmp_i(t)の各成分Xzmp_i(t),Yzmp_i(t)を表す多項式関数の各項の係数Wx_i,j、Wy_i,jの目標値から成る目標係数群を決定する多項式関数係数群決定部53aを含む。
この多項式関数係数群決定部53aは、目標係数群に含まれる係数Wx_i,j、Wy_i,jの二乗値を変数として含む二次形式の評価関数(目的関数)と、該係数Wx_i,j、Wy_i,jについての線形等式又は線形不等式により表される複数の線形制約条件とを用いて、二次計画問題の公知の解法手法のアルゴリズムにより目標係数群を決定する。
この場合、本実施形態では、線形制約条件として、前記倒立振子モデルにおける倒立振子質点60を継続的に安定状態に保つための制約条件(以降、安定化条件)と、目標ZMP軌道の経由点を規定する制約条件(以降、経由点条件という)と、軌道生成対象期間のうちの隣り合う区間i−1,i(i=1,2,…,e)の境界での目標ZMP軌道の接続に関する制約条件(以降、軌道接続条件)と、目標ZMPの位置を後述する支持多角形内の位置に制限するための制約条件(以降、ZMP存在許容領域条件という)とが用いられる。
上記安定化条件、経由点条件及び軌道接続条件は、線形等式により表される制約条件、ZMP存在許容領域条件は線形不等式により表される制約条件である。線形等式は、軌道生成対象期間の全ての区間i(i=0,1,…,e)のそれぞれにおける多項式関数の各項の係数Wx_i,j、Wy_i,j(j=0,1,…,n)のうちの複数の係数の線形結合値がある定数値に等しいという関係を表す等式であり、線形不等式は、当該複数の係数の線形結合値がある定数値よりも大きい又は小さいという関係を表す不等式である。
なお、安定化条件、経由点条件、軌道接続条件、及びZMP存在許容領域条件は、それぞれ本発明における第2制約条件、第3制約条件、第4制約条件、第1制約条件に相当する。
以下にこれらの制約条件を表す線形等式又は線形不等式を具体的に説明する。
まず、前記安定化条件は、本実施形態では、軌道生成対象期間(本実施形態では2歩分の期間)の終端時刻における倒立振子モデルの発散成分(以降、終端発散成分という)の値が、軌道生成対象期間でのロボット1の歩容に続く仮想的な歩容としての定常歩容の始端時刻(=軌道生成対象期間の終端時刻)における倒立振子モデルの発散成分(以降、定常歩容初期発散成分という)の値に一致するという条件(以降、発散成分条件)として表現される制約条件である。
なお、上記定常歩容及び発散成分については、例えば前記特許文献1等に詳細に説明されているものである。このため、本実施形態では、簡略的な説明に留める。
定常歩容は、軌道生成対象期間でのロボット1の歩容に続く歩容として仮想的に想定される歩容であって、各移動接地部及び基体2を含むロボット1の各部の運動が一定のパターンで周期的に繰り返されるようにしてロボット1の移動を継続的に行い得る歩容である。
このような定常歩容は、ロボット1の移動を継続的に行い得る歩容であるから、ロボット1の重心の挙動を表す倒立振子モデルの倒立振子質点60が安定状態(倒立振子質点60の水平方向位置が支点(目標ZMP)の直上位置から大きく乖離することのない状態)に保つことができる歩容である。
本実施形態において、2脚歩容の動作でロボット1の移動を行う場合における当該定常歩容は、例えば図3に示す如く、軌道生成対象期間におけるロボット1の2歩目の動作に続く周期的な歩容(2歩分の期間を1周期とする周期的な歩容)である。なお、図3では、定常歩容の各歩における足部18の着地位置姿勢を破線で示している。
また、任意の時刻tでの倒立振子モデルの発散成分は、次式(4)で示すように、倒立振子質点60の位置↑Ppendと、該倒立振子質点60の移動速度d↑Ppend(t)/dt(↑Ppendの時間的変化率)との線形結合値として定義される値↑q(t)(X軸方向成分qx(t)とY軸方向成分qy(t)とからなるベクトル)である。
↑q(t)=↑Ppend(t)+(1/ω)・d↑Ppend(t)/dt ……(4)
ただし、ω=√(g/h)

なお、√(g/h)は、(g/h)の平方根である。
このように定義される発散成分に関して、前記発散成分条件を満たすように目標ZMP軌道を設定することによって、軌道生成対象期間の後に続く将来に、倒立振子モデルの倒立振子質点60を継続的に安定状態に保ち得る定常歩容でのロボット1の運動状態に収束させることができるように軌道生成対象期間でのロボット1の目標歩容を決定することができる。
そこで、本実施形態では、上記発散成分条件を、目標ZMP軌道に関する1つの制約条件(安定化条件)として用いる。
倒立振子モデルでは、軌道生成対象期間における発散成分↑q(t)と、軌道生成対象期間における目標ZMPベクトル↑Pzmp(t)との関係は、次式(5)により表される。
ここで、exp( )は、自然対数の底eの指数関数、↑q(t_0)は、軌道生成対象期間の始端時刻t_0での発散成分の値、↑Pzmp(t)は、軌道生成対象期間の任意の時刻tでの目標ZMPベクトルである。軌道生成対象期間の各区間iにおける↑Pzmp(t)は、該区間iでの目標ZMPベクトル↑Pzmp_i(t)に一致する。
従って、軌道生成対象期間の終端時刻t_e+1での発散成分(=↑q(t_e+1))の目標値としての定常歩容初期発散成分を↑q_targetとおくと、安定化条件としての発散成分条件は、次式(6)により表される。
また、この式(6)の左辺に、前記式(2),(3a),(3b)を適用することで、式(6)の左辺は、次式(7)に書き換えられる。
なお、j!、k!は、それぞれjの階乗、kの階乗である。
この式(7)の右辺の第1成分は、(e+1)・(n+1)個の係数Wx_i,j(i=0,1,…,e、j=0、1,…,n)の線形結合、第2成分は、(e+1)・(n+1)個の係数Wy_i,j(i=0,1,…,e、j=0,1,…,n)の線形結合として表される。
また、式(6)の右辺の第1成分及び第2成分は定数である。従って、発散成分条件は、次式(8)の線形等式として表される。
ここで、a_i,jは、Wx_i,j及びWy_i,jの係数、C1x,C1yは定数である。
目標ZMP軌道生成部53は、上記式(8)の第1成分及び第2成分の式を発散成分条件(安定化条件)を表す線形等式として設定する。
この場合、係数a_i,jは、倒立振子モデルの固有振動数ω(=√(g/h))と、軌道生成対象期間の区間iの個数(=i+1)、各区間iにおける多項式関数の次数n、及び各区間iの時間幅T_iのそれぞれのあらかじめ定められた設定値から、前記式(7)の演算式に従って算出される。
また、定数C1x,C1yは、倒立振子モデルの固有振動数ω(=√(g/h))及び軌道生成対象期間の終端時刻t_e+1のあらかじめ定められた設定値と、定常歩容初期発散成分↑q_target(軌道生成対象期間の終端時刻での発散成分の目標値)の値と、軌道生成対象期間の始端時刻t_0での発散成分↑q(t_0)の値とから式(6)の右辺の演算式により算出される。
この場合、↑q(t_0)は、始端時刻t_0までのロボット1の作成済の目標歩容により規定される始端時刻t_0でのロボット1の重心位置とその移動速度とから算出される。
また、定常歩容初期発散成分↑q_targetは、例えば次のように決定される。すなわち、目標ZMP軌道生成部53は、定常歩容の各歩における足部18の位置姿勢軌道を、軌道生成対象期間における足部18の目標位置姿勢軌道に応じて設定する。
例えば、右側の脚リンク機構3Rを支持脚、左側の脚リンク機構3Lを遊脚として、該遊脚側の足部18Lを移動させる各歩(定常歩容の奇数歩目の各歩)における足部18Lの位置姿勢軌道(支持脚側の足部18Rから見た相対的な位置姿勢軌道)のパターンが軌道生成対象期間における1歩目の足部18Lの目標位置姿勢軌道のパターンと同じになり、且つ、左側の脚リンク機構3Lを支持脚、右側の脚リンク機構3Rを遊脚として、該遊脚側の足部18Rを移動させる各歩(定常歩容の偶数歩目の各歩)における足部18Rの位置姿勢軌道(支持脚側の足部18Lから見た相対的な位置姿勢軌道)のパターンが軌道生成対象期間における2歩目の足部18Rの目標位置姿勢軌道のパターンと同じになるように、定常歩容における足部18の位置姿勢軌道が設定される。
そして、目標ZMP軌道生成部53は、定常歩容の各周期の終端時刻(=次の周期の始端時刻)でのロボット1の重心の運動状態(位置、移動速度及び加速度)が該周期の始端時刻での運動状態に一致するという条件を満たし得る重心の位置の軌道(倒立振子質点60の位置の軌道)を倒立振子モデルにより生成し得るように、定常歩容の各周期における目標ZMP軌道を決定する。この場合、定常歩容の目標ZMP軌道は、折れ線状の軌道であってもよい。
なお、定常歩容の各周期の終端時刻(=次の周期の始端時刻)でのロボット1の重心の運動状態のうちの位置が、該周期の始端時刻での該重心の位置に一致するというのは、より詳しくは、定常歩容の各周期の始端時刻での重心を、該周期での支持脚の足部の位置に設定したグローバル座標系(支持脚座標系)で見た場合における該重心の位置と、定常歩容の各周期の終端時刻での重心を、該周期の次の周期での支持脚の足部の位置に設定したグローバル座標系(支持脚座標系)で見た場合における当該重心の位置とが互いに一致するということを意味する。
そして、上記の如く決定した目標ZMP軌道に応じて前記式(1)に基づいて規定される倒立振子質点60の位置の軌道(重心の位置の軌道)から定常歩容初期発散成分↑q_targetが決定される。
なお、定常歩容初期発散成分↑q_targetを求める具体的な手法は、例えば前記特許文献1、あるいは、特許4805818号等に詳細に説明されている。このため、本明細書での詳細な説明は省略する。
補足すると、目標ZMPのX軸方向の成分に関する(e+1)・(n+1)個の係数Wx_i,jと、Y軸方向の成分に関する(e+1)・(n+1)個の係数Wy_i,jとを合わせた2・(e+1)・(n+1)個の係数Wx_i,j,Wy_i,jを並べたベクトルを↑Wと表記した場合、発散成分条件を表す線形等式としての上記式(8)の第1成分(第1行)及び第2成分(第2行)のそれぞれの式は、↑WT・↑α=Cという形の線形等式で表現することもできる。ここで、↑αは↑WTの成分の線形結合における係数ベクトル、Cは定数である。例えば、↑αを、Wx_i,jに係る成分がa_i,j、Wy_i,jに係る成分がゼロである係数ベクトル、C=C1xとすれば、式(8)の第1成分を↑WT・↑α=Cという形の線形等式で表現することができる。
次に、前記経由点条件は、より詳しく言えば、目標ZMP軌道が、あらかじめ定められた所定の時刻tfにおいて、あらかじめ定められた所定位置の経由点(床面上の点)を通るという条件である。なお、かかる経由点は、任意に設計的に設定し得る。また、経由点は、複数であってもよい。
例えば、遊脚側の足部18の着地のタイミング、あるいは、離地のタイミングでの経由点を設定することが望ましい。該経由点は、当該着地のタイミング又は離地のタイミングでの足部18の接地面(床との接触面)の中央位置に設定することが好ましい。
上記経由点条件は、目標ZMP軌道上で、所定の時刻tfにおける目標ZMPベクトル↑Pzmp(t)の値が、各経由点に対応してあらかじめ定めた所定値↑Pzmp(tf)(=[Xzmp(tf), Yznp(tf)]T)となるという条件として表現し得る。従って、時刻tfが区間ifの時刻であるとすると、経由点条件は、次式(9)の線形等式で表される。
そこで、目標ZMP軌道生成部53は、あらかじめ定められた各経由点に対応する↑Pzmp(tf)の値(定数値)と、時刻tfとを用いて、上記式(9)の第1成分及び第2成分の式を、経由点条件を表す線形等式として設定する。
補足すると、発散成分条件を表す線形等式に関して補足説明した場合と同様に、2・(e+1)・(n+1)個の係数Wx_i,j,Wy_i,jを並べたベクトル↑Wを用いると、経由点条件を表す線形等式としての上記式(9)の第1成分及び第2成分の式は、それぞれ、↑WT・↑α=Cという形の線形等式で表現することもできる。
次に、軌道接続条件は、本実施形態では、より詳しくは、区間i−1(i=1,2,…,e)での目標ZMP軌道と区間iでの目標ZMP軌道とが滑らかにつながるという条件である。このような軌道接続条件は、区間i−1での目標ZMP軌道のうちの該区間i−1の終端時刻(時刻t_i)での目標ZMPの位置と該目標ZMPの位置の所定階数の微分値とのそれぞれが、区間iの始端時刻(時刻t_i)での目標ZMPの位置と該目標ZMPの位置の所定階数の微分値とのそれぞれに一致するという条件として表現し得る。
本実施形態では、上記所定階数の微分値は、一例として、ZMPの移動速度(目標ZMPの位置の1階微分値)と、移動加速度(目標ZMPの位置の2階微分値)との2つである。
この場合、隣り合う区間i−1,iのうちの先行側の区間i−1と後行側の区間iとの境界(i=1,2,…,e)のそれぞれでの目標ZMPの位置、移動速度及び移動加速度についての軌道接続条件は、それぞれ、次式(10a)、(10b)、(10c)により表される。
さらに、区間i−1の終端時刻tiに対応する正規化時刻がtc_i-1(t_i)=1、区間iの始端時刻tiに対応する正規化時刻tc_i(t_i)=0であること、並びに、00(ゼロのゼロ乗)=1であることを考慮すると、式(10a)〜(10c)は、それぞれ、次式(11a)〜(11c)に書き換えられる。
そこで、目標ZMP軌道生成部53は、区間i−1と区間iとの境界(i=1,2,…,e)のそれぞれ毎に、各区間iのあらかじめ定められた時間幅T_i(i=0,1,…,e)の設定値を用いて、上記式(11a),(11b),(11c)を軌道接続条件を表す線形等式として設定する。
補足すると、発散成分条件を表す線形等式に関して補足説明した場合と同様に、2・(e+1)・(n+1)個の係数Wx_i,j,Wy_i,jを並べたベクトル↑Wを用いると、軌道接続条件を表す線形等式としての上記式(11a),(11b),(11c)のそれぞれの第1成分及び第2成分の式は、それぞれ、↑WT・↑α=Cという形の線形等式で表現することもできる。
なお、軌道接続条件の要素として使用するZMPの位置の所定階数の微分値は、ZMPの移動速度及び移動加速度の両方に限られるものではない。例えば、移動加速度を軌道接続条件の要素から除外したり、あるいは、ZMPの位置の3階微分値を移動接続条件の要素として用いることも可能である。
次に、ZMP存在許容領域条件は、より詳しくは、軌道生成対象期間の任意の時刻での目標ZMPが、当該時刻でのロボット1の接地面を包含する最小の凸領域に一致もしくは近似する支持多角形内に存在するという条件である。
なお、上記凸領域は、片脚支持期では、支持脚としての脚リンク機構3の足部18の接地面により形成される領域であり、両脚支持期では、両方の脚リンク機構3R,3Lのそれぞれの足部18R,18Lの接地面の両方を含む領域である。
本実施形態では、脚リンク機構3R,3Lのうちの一方の脚リンク機構3の足部18だけが接地する片脚支持期での支持多角形は、例えば図7Aで示すように、四角形で表し、両方の脚リンク機構3R,3Lの足部18R,18Lが接地する両脚支持期での支持多角形は、例えば図7Bで示すように六角形で表す。
ここで、図7Aの点描領域は、片脚支持期での足部18(図示例では18R)の接地面の一例を表し、図7Bの点描領域は、両脚支持期での足部18R,18Lのそれぞれの接地面の一例を表している。これらの図示例では、支持多角形は、上記最小の凸領域に一致もしくはほぼ一致している。ただし、該支持多角形は、該凸領域の内側の多角形領域であってもよい。
かかる支持多角形の各辺は、グローバル座標系のXY座標平面に投影して見たとき、次式(12)により表される。

Cx_m・x+Cy_m・y=d_m ……(12)
ただし、m=1,2,…,M

なお、添え字mは、支持多角形の各辺の番数、Mは支持多角形の辺の総数である。また、Cx_m,Cy_m,d_mは、番数mの辺に対応して定まる定数である。これらの定数Cx_m,Cy_m,d_mの値は、各辺を含む直線上の2つの点(例えば、支持多角形の角の点)の位置から決定できる。
そして、上記ZMP存在許容領域条件は、支持多角形の各辺にそれぞれ対応するM個の不等式(13−m)(m=1,2,…,M)の組により表される。

Cx_m・Xzmp+Cy_m・Yzmp<d_m
又は
Cx_m・Xzmp+Cy_m・Yzmp>d_m
……(13−m)
ただし、m=1,2,…,M

ここで、軌道生成対象期間の各区間iにおける目標ZMPベクトル↑Pzmp_i=[Xzmp_i,Yzmp_i]Tは、前記式(2)により表される。従って、軌道生成対象期間の任意の区間iの任意の時刻t(正規化時刻では、時刻tc_i(t))おけるZMP存在許容領域条件は、次のM個の線形不等式(14−m)(m=1,2,…,M)により表現される。
この線形不等式(14−m)は、総計2・(n+1)個の係数Wx_i,j,Wy_i,j(j=0,1,…,n)の線形結合についての線形不等式である。
そこで、目標ZMP軌道生成部53は、式(14−m)により表される不等式を、ZMP存在許容領域条件を表す線形不等式として設定する。。
より具体的には、ZMP軌道生成部53は、まず、軌道生成対象期間に複数のサンプリング時刻(例えば所定の刻み時間毎の時刻)を設定し、その各サンプリング時刻での支持多角形の各辺の式(式(12))を、該サンプリング時刻での足部18R,18Lの目標位置姿勢に基づいて設定する。この場合、各サンプリング時刻での支持多角形の各辺は、その時刻での足部18R,18Lの接地面を包含する最小の凸領域(これは、該時刻での足部18R,18Lの目標位置姿勢により規定される)の境界に一致又は近接するように設定される。
なお、軌道生成対象期間における複数のサンプリング時刻の設定については、例えば各区間iに含まれるサンプリング時刻の個数が、いずれの区間iでも同数となるようにサンプリング時刻を設定してもよい。
そして、ZMP軌道生成部53は、各サンプリング時刻毎に、その時刻tの値と、該時刻に対応して設定した支持多角形の各辺の式を表す定数Cx_m,Cy_m,d_mの設定値とを用いて、上記(14−m)により表されるM個の線形不等式を、ZMP存在許容領域条件を表す線形不等式として設定する。
補足すると、発散成分条件を表す線形等式に関して補足説明した場合と同様に、2・(e+1)・(n+1)個の係数Wx_i,j,Wy_i,jを並べたベクトル↑Wを用いると、ZMP存在許容領域条件を表す線形不等式としての上記式(14−m)(m=1,2,…,M)は、それぞれ、↑WT・↑α<C又は↑WT・↑α>Cという形の線形不等式で表現することもできる。
なお、本実施形態では、片脚支持期での支持多角形を四角形、両脚支持期での支持多角形を六角形とした。ただし、片脚支持期及び両脚支持期の両方又は一方の支持多角形として、上記と異なる角数の多角形を用いてもよい。目標ZMP軌道の自由度を高める上では、支持多角形は、前記凸領域の面積にできるだけ近い面積を有する多角形が好ましい。
次に、目標係数群に含まれる係数Wx_i,j、Wy_i,jの二乗値を変数として含む二次形式の評価関数を説明する。
本実施形態では、目標係数群を二次計画問題の解法手法のアルゴリズムにより決定するための評価関数(目的関数)として、目標ZMPの急激な変化が生じるのを極力防止するために、目標ZMPベクトル↑Pzmp=[Xzmp,Yzmp]Tの変化加速度↑Azmp(=d2↑Pzmp/dt2=[d2Xzmp/dt2,d2Yzmp/dt2]T)の二乗値(↑Azmp)2(=↑AzmpT・↑Azmp)を積分してなる関数を用いる。以降、↑AzmpをZMP加速度と称し、その二乗値(↑Azmp)2(=↑AzmpT・↑Azmp)をZMP二乗加速度と称する。
ここで、軌道生成対象期間の各区間i(i=0,1,…,e)の任意の時刻tでのZMP加速度↑Azmp_i(t)(=[Axzmp_i(t),Ayzmp_i(t)]T)は、前記式(2)を用いて、次式(15)により表される。
そして、ZMP加速度↑Azmp_i(t)の各成分Axzmp_i(t),Ayzmp_i(t)はスカラーであるので、各成分の二乗値(Axzmp_i(t))2,(Ayzmp_i(t))2は、次式(16a),(16b)により表される。

(Axzmp_i(t))2=↑Wx_iT ・↑h(tc_i(t)) ・ h(tc_i(t))T ・↑Wx_i
=↑Wx_iT ・Hd_m(tc_i(t)) ・↑Wx_i ……(16a)
(Ayzmp_i(t))2=↑Wy_iT ・↑h(tc_i(t)) ・ h(tc_i(t))T ・↑Wy_i
=↑Wy_iT ・Hd_m(tc_i(t)) ・↑Wy_i ……(16b)
ただし、
Hd_m(tc_i(t))=↑h(tc_i(t)) ・ h(tc_i(t))T(:(n+1)次の正方行列)
従って、区間iにおける二乗値(Axzmp_i(t))2,(Ayzmp_i(t))2のそれぞれの積分値(時刻t_iから時刻t_i+1までの積分値)は、次式(17a),(17b)により表される。
ここで、式(15)のただし書き、式(16a),(16b)のただし書き、及び式(17a),(17b)のただし書きから明らかなように、H_m(T_i)は、その各成分が区間iの時間幅T_iに応じた定数値又はゼロとなる行列である。
また、任意の時刻でのZMP二乗加速度(↑Azmp_i(t))2は、ZMP加速度のX軸方向成分(Axzmp_i(t))2とY軸方向成分(Ayzmp_i(t))2との総和(=(Axzmp_i(t))2+(Ayzmp_i(t))2)である。
従って、軌道生成対象期間の全体でのZMP二乗加速度(↑Azmp(t))2の積分値F(時刻t_0から時刻t_e+1までの積分値)は、次式(18)により表される。
なお、↑Wは2・(e+1)・(n+1)個の成分から成るベクトル(これは、前記発散成分条件を表す線形等式に関して補足説明したベクトル↑Wに相当する)、Hh_mは、2・(e+1)・(n+1)次の正方行列、Hs_mは、(e+1)・(n+1)次の正方行列である。
このように式(18)により定義されるZMP二乗加速度(↑Azmp(t))2の積分値Fは、目標ZMPベクトル↑Pzmpの各成分の軌道を多項式関数で表した場合の目標係数群に含まれる2・(e+1)・(n+1)個の係数Wx_i,j,Wy_i,j(i=0,1,…,e、j=0,1,…,n)の二乗値を変数として含む二次形式(Wx_i,j,Wy_i,jについての二次形式)の関数となる。
そこで、本実施形態では、ZMP軌道生成部53は、上記式(18)により定義されるZMP二乗加速度(↑Azmp(t))2の積分値Fを、2次計画問題における評価関数F(目的関数)として設定する。
この場合、評価関数Fにおける行列Hs_mの各成分の値は、軌道生成対象期間の各区間i(i=0,1,…,e)の時間幅T_iの設定値を用いて算出される。
ZMP軌道生成部53は、以上の如く、発散成分条件(安定化条件)、経由点条件及び軌道接続条件をそれぞれ表す線形等式と、ZMP存在許容領域条件を表す線形不等式と、二次形式の評価関数Fとを設定する。
そして、ZMP軌道生成部53は、これらの評価関数Fと、線形等式及び線形不等式と用いて、多項式関数係数群決定部53aの処理を実行することで、目標ZMPベクトルの軌道を表す多項式関数の係数Wx_i,j,Wy_i,j(i=0,1,…,e、j=0,1,…,n)の目標値により構成される目標係数群を決定する。
この場合、多項式関数係数群決定部53aは、上記線形等式及び線形不等式を係数Wx_i,j,Wy_i,jの値に関する制約条件として用いて、評価関数Fの値を最小化するように、目標係数群を決定する処理を、2次計画問題の解法問題の公知のアルゴリズムにより実行する。このアルゴリズムとしては、例えば内点法、有効制約法等を使用することができる。
これにより、軌道生成対象期間の全ての区間i(i=0,1,…,e)のそれぞれの目標ZMPベクトル↑Pzmpの軌道(目標ZMPのX軸方向位置XzmpとY軸方向位置Yzmpのそれぞれの軌道)を時間の関数として表す多項式関数が決定されることとなる。
以上が、本実施形態におけるZMP軌道生成部53の処理の詳細である。
以上説明した本実施形態によれば、目標ZMP軌道を多項式関数により表すことで、目標ZMP軌道に関する複数の制約条件(具体的には、前記安定化条件、経由点条件、軌道接続条件、ZMP存在許容領域条件)を、多項式関数の係数Wx_i,j,Wy_i,j(i=0,1,…,e、j=0,1,…,n)についての線形等式又は線形不等式により表すことができる。
そして、例えば、目標ZMPベクトル↑Azmpの二乗値(ZMP二乗加速度)の積分値を評価関数Fとして用いることで、該評価関数Fを目標ZMP軌道を表す多項式関数の係数Wx_i,j,Wy_i,j(i=0,1,…,e、j=0,1,…,n)に関する二次形式の関数として表現することができる。
このため、二次計画問題の解法手法のアルゴリズムによって、線形等式及び線形不等式により表される複数の制約条件を満たしつつ、上記評価関数の値を最小化するように多項式関数の目標係数群を決定することができる。ひいては、当該複数の制約条件の全てを満足し得る目標ZMP軌道を効率よく生成することができる。
また、当該複数の制約条件を満足し得る目標ZMP軌道を多項式関数により滑らかな曲線形状に生成できる。さらに、軌道生成対象期間が複数の区間iに分割され、各区間iの目標ZMP軌道が各区間i毎に個別の多項式関数により表される。このため、支持多角形の領域を幅広く使用し得るように、高い自由度で目標ZMP軌道を生成することができる。
ひいては、目標歩容生成部42で生成し得る目標歩容の自由度が高まり、ロボット1の種々様々な動作要求を満たし得る目標歩容を適切に生成できる。
また、本実施形態では、目標ZMPベクトル↑Azmpの二乗値(ZMP二乗加速度)の積分値を評価関数Fとして用いることで、目標ZMPの急激な変化を生じ難い滑らかな目標ZMP軌道を生成できる。ひいては、ロボット1の移動動作を滑らかに行い得る目標歩容を生成できる。
また、本実施形態では、各区間iの時間を正規化してなる正規化時刻tc_iの関数として、各区間iにおける多項式関数が表現される。このため、特に目標ZMP軌道に関する制約条件のうち、特に前記軌道接続条件の導出を簡素化することができる。
本実施形態により生成される目標ZMP軌道の実施例を図8及び図9を参照して説明する。
図8は、ロボット1が、足部18R,18Lを左右方向に並列させて起立した状態(時刻t0)から歩行を開始する目標歩容を生成する場合に目標ZMP軌道生成部53により生成される目標ZMP軌道(X軸方向位置Xzmp及びY軸方向位置Yzmpの軌道)の実施例を実線のグラフで示す図である。
また、図8中の破線のグラフは、実線で示した目標ZMP軌道を用いて前記目標重心軌道生成部54により生成されるロボット1の目標重心軌道(X軸方向位置Xpend及びY軸方向位置Ypendの軌道)の実施例を示している。
同図に示されるように、本実施形態によれば、目標ZMPを滑らかな曲線形状で生成することができることが判る。また、ロボット1の重心(倒立振子質点60)が位置(XY座標平面上の位置)が目標ZMPの位置(XY座標平面上の位置)から大きく乖離することないように、滑らかな軌道でロボット1の目標重心軌道を生成することができることが判る。
図9は、ロボット1が足部18R,18Lを左右方向(Y軸方向)に並列させて起立した状態(時刻t0)から、すばやく(0.1秒の予備動作で)遊脚側の足部18Lの空中移動を開始して、ロボット1の歩行を行った場合に目標ZMP軌道生成部53により生成される目標ZMPのY軸方向位置Yzmpの軌道の実施例を実線のグラフで示す図である。
また、図9中の破線のグラフは、比較例における目標ZMPのY軸方向位置Yzmpの軌道を示している。この比較例は、特許文献1に記載されている如く、基準の目標ZMP軌道を台形状の補正パターンで補正することにより生成される折れ線状の目標ZMP軌道である。この場合、この比較例では、支持多角形による目標ZMPの存在位置の制限は行われていない。
なお、図9中のYL、YRはそれぞれ、片脚支持期での足部18L,18RのY軸方向位置(足部18の幅方向の中央位置)を示している。また、図9中の二点鎖線a1,a2の間の範囲は、支持多角形により規定される目標ZMPのY軸方向位置の存在許容範囲の例を示している。
図9に示される比較例では、最初の片脚支持期(足部18Lを接地させる片脚支持期)での目標ZMPのY軸方向位置Yzmpの軌道が、足部18Lの位置YLに対してY軸方向に比較的大きく変位する。このため、目標ZMPのY軸方向位置Yzmpが足部18Lの接地面により規定される支持多角形からはみ出す場合がある。
これに対して、図9に示される実施例では、歩行開始当初の両脚支持期において、目標ZMPのY軸方向位置Yzmpが比較的大きく変位するようにYzmpの軌道が生成されることで、最初の片脚支持期での目標ZMPのY軸方向位置Yzmpの軌道が、足部18Lの位置YLに対してY軸方向に小さめに変位するように生成される。このため、目標ZMPのY軸方向位置Yzmpが足部18Lの接地面により規定される支持多角形からはみ出すことがない(前記ZMP存在許容領域条件が満たされる)。なお、両脚支持期での支持多角形は、Y軸方向に幅広いので、歩行開始当初の両脚支持期においても目標ZMPのY軸方向位置Yzmpが支持多角形からはみ出すことがない(前記ZMP存在許容領域条件が満たされる)。
このように本実施形態によれば、前記ZMP存在許容領域条件を満たす目標ZMP軌道を適切に生成することができる。
なお、本発明は、以上説明した実施形態に限定されるものではなく、上記実施形態以外の態様も採用し得る。以下に、いくつかの変形態様を説明する。
前記実施形態では、ロボット1の2脚歩容の形態で移動させる場合を一例として説明した。ただし、例えば、ロボット1の脚リンク機構3R,3Lの足部18R,18Lに加えて、腕リンク機構4L,4Rのハンド部30R,30Lを移動接地部として用いることで、4脚歩容の形態でロボット1の移動を行う場合でも、本発明を適用できる。
また、本発明における移動ロボットは、2つの脚リンク機構3R,3Lを有するロボット1に限らず、3つ以上の脚リンク機構を有するロボットであってもよい。
また、前記実施形態では、目標ZMP軌道に関する制約条件として、前記安定化条件、経由点条件、軌道接続条件、ZMP存在許容領域条件を用いたが、いずれかの条件を省略したり、あるいは、さらに多くの制約条件を追加してもよい。
例えば経由点条件を省略してもよい。また、軌道生成対象期間を複数の区間iに分割しない場合には、軌道接続条件は不要である。
また、前記実施形態では、評価関数Fとして、ZMP二乗加速度の積分値を用いた。ただし、評価関数は、目標ZMP軌道を表す多項式関数の係数についての二次形式の関数として表すことができるものでれば、他の評価関数を用いてもよい。例えば、目標ZMPの移動速度の積分値などを評価関数を用いることも可能である。
また、前記実施形態では、目標ZMP軌道を表す多項式関数として7次(n=7)の多項式関数を用いた。ただし、該多項式関数の次数nは7次に限られず、10次など、その他の次数であってもよい。
なお、本実施形態の如く、軌道接続条件として、目標ZMPの位置、移動速度、及び移動加速度に関する制約条件を用いた場合には、多項式関数の次数nは、5次以上であることが好ましい。
1…移動ロボット、53…目標ZMP軌道生成部(目標ZMP軌道生成装置)、53a…多項式関数係数群決定部(多項式関数係数群決定手段)。

Claims (8)

  1. 移動ロボットのZMP(Zero Moment Point)の目標位置の軌道である目標ZMP軌道を生成する装置であって、
    前記目標ZMP軌道を、時間を変数とする複数次数の多項式関数により表現される軌道であるとして、該多項式関数の各項の係数の目標値から成る目標係数群を決定する多項式関数係数群決定手段を備えており、
    該多項式関数係数群決定手段は、前記目標係数群に含まれる係数の二乗値を変数として含むように構成される二次形式の評価関数と、該係数についての線形等式又は線形不等式により各々構成される複数の制約条件とを用い、二次計画問題の解法手法により前記制約条件を満たしつつ、前記評価関数の値を最小化するように前記目標係数群を決定するように構成されており、
    前記制約条件は、前記目標ZMP軌道における1つ以上のサンプリング時刻でのZMPの目標位置が、該サンプリング時刻での移動ロボットの接地部位の目標位置及び目標姿勢に応じて設定した所定の多角形領域内に存在するという第1制約条件を表す線形不等式を含むように構成されていることを特徴とする移動ロボットの目標ZMP軌道の生成装置。
  2. 請求項1記載の移動ロボットの目標ZMP軌道の生成装置において、
    前記制約条件は、前記移動ロボットの重心の運動を、該重心に質点を有し、且つ前記目標ZMP軌道上のZMPを支点として有する倒立振子質点の運動により表現するモデルにおける該倒立振子質点を安定状態に保つための条件であって、将来の所定時刻における該倒立振子質点の運動状態が所定の運動状態に一致するという第2制約条件を表す線形等式をさらに含むように構成されていることを特徴とする移動ロボットの目標ZMP軌道の生成装置。
  3. 請求項2記載の移動ロボットの目標ZMP軌道の生成装置において、
    前記将来の所定時刻における倒立振子質点の運動状態は、該倒立振子質点の位置と移動速度との線形結合により表される運動状態であることを特徴とする移動ロボットの目標ZMP軌道の生成装置。
  4. 請求項1〜3のいずれか1項に記載の移動ロボットの目標ZMP軌道の生成装置において、
    前記制約条件は、前記目標ZMP軌道のうちの所定の時刻でのZMPの目標位置が、所定位置に一致するという第3制約条件を表す線形等式をさらに含むように構成されていることを特徴とする移動ロボットの目標ZMP軌道の生成装置。
  5. 請求項1〜4のいずれか1項に記載の移動ロボットの目標ZMP軌道の生成装置において、
    前記目標ZMP軌道は、複数の区間の軌道に分割されていると共に各区間毎に個別の多項式関数により表される軌道であり、
    前記多項式関数係数群決定手段が決定する目標係数群は、前記複数の区間の全ての多項式関数の各項の係数の目標値からなることを特徴とする移動ロボットの目標ZMP軌道の生成装置。
  6. 請求項5記載の移動ロボットの目標ZMP軌道の生成装置において、
    前記制約条件は、前記複数の区間で互いに隣合う任意の2つの区間のうち、先行側の区間の多項式関数により規定される該先行側の区間の終端時刻におけるZMPの位置と該ZMPの位置の所定階数の微分値とのそれぞれと、後行側の区間の多項式関数により規定される該後行側の区間の始端時刻におけるZMPの位置と該ZMPの位置の所定階数の微分値とのそれぞれとが互いに一致するという第4制約条件を表す線形等式をさらに含むように構成されていることを特徴とする移動ロボットの目標ZMP軌道の生成装置。
  7. 請求項5又は6記載の移動ロボットの目標ZMP軌道の生成装置において、
    前記複数の区間のそれぞれにおける多項式関数は、該区間の時間幅をあらかじめ定めた一定値とみなし、且つ、該区間の始端時刻をゼロとみなして該区間での時間を正規化してなる時間の関数として表現してなる多項式関数であることを特徴とする移動ロボットの目標ZMP軌道の生成装置。
  8. 請求項1〜7のいずれか1項に記載の移動ロボットの目標ZMP軌道の生成装置において、
    前記評価関数は、前記目標ZMP軌道におけるZMPの移動加速度の二乗値の積分値を表す関数であることを特徴とする目標ZMP軌道の生成装置。
JP2015155341A 2015-08-05 2015-08-05 移動ロボットの目標zmp軌道の生成装置 Active JP6450279B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015155341A JP6450279B2 (ja) 2015-08-05 2015-08-05 移動ロボットの目標zmp軌道の生成装置
US15/206,413 US9957003B2 (en) 2015-08-05 2016-07-11 Desired ZMP trajectory generating device for a mobile robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015155341A JP6450279B2 (ja) 2015-08-05 2015-08-05 移動ロボットの目標zmp軌道の生成装置

Publications (2)

Publication Number Publication Date
JP2017030123A JP2017030123A (ja) 2017-02-09
JP6450279B2 true JP6450279B2 (ja) 2019-01-09

Family

ID=57986005

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015155341A Active JP6450279B2 (ja) 2015-08-05 2015-08-05 移動ロボットの目標zmp軌道の生成装置

Country Status (2)

Country Link
US (1) US9957003B2 (ja)
JP (1) JP6450279B2 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6104867B2 (ja) * 2014-09-19 2017-03-29 Thk株式会社 ロボット上半身の支持構造
JP6228097B2 (ja) * 2014-10-06 2017-11-08 本田技研工業株式会社 移動ロボット
JP5927270B2 (ja) * 2014-11-06 2016-06-01 ファナック株式会社 ロボットシミュレーション装置
DE112017005336T5 (de) * 2016-10-20 2019-07-11 Mitsubishi Electric Corporation Drei-Rotations-Freiheitsgrad-Verbindungsmechanismus, Roboter, Roboterarm und Roboterhand
US10351189B2 (en) * 2016-12-13 2019-07-16 Boston Dynamics, Inc. Whole body manipulation on a legged robot using dynamic balance
JP6927727B2 (ja) * 2017-03-29 2021-09-01 本田技研工業株式会社 ロボットの制御装置
CN107203212A (zh) * 2017-07-04 2017-09-26 西北工业大学 实现全向步行的小型类人机器人及其控制方法
JP6823569B2 (ja) * 2017-09-04 2021-02-03 本田技研工業株式会社 目標zmp軌道の生成装置
US10881472B2 (en) 2018-02-20 2021-01-05 Verb Surgical Inc. Correcting a robotic surgery user interface device tracking input
US10800049B2 (en) * 2018-02-22 2020-10-13 Boston Dynamics, Inc. Maneuvering mobile robots
US10802508B2 (en) * 2018-02-22 2020-10-13 Boston Dynamics, Inc. Mobile robot
WO2019202900A1 (ja) * 2018-04-15 2019-10-24 国立大学法人埼玉大学 行動推定装置、行動推定方法、および行動推定プログラム
CN108820066B (zh) * 2018-06-28 2020-11-03 吉林大学 一种可调节被动稳定机械足
WO2020107279A1 (zh) * 2018-11-28 2020-06-04 深圳市优必选科技有限公司 双足机器人及其移动方法、装置和存储介质
CN109703645B (zh) * 2018-12-29 2020-05-22 深圳市优必选科技有限公司 机器人质心位置调整方法、装置、机器人和数据存储介质
CN209986951U (zh) * 2019-04-09 2020-01-24 达闼科技(北京)有限公司 机器人
CN110027643B (zh) * 2019-05-30 2020-04-24 贾春平 多足机器人及其控制方法
CN110576922B (zh) * 2019-09-11 2020-10-30 广东博智林机器人有限公司 一种带有匀速器的双脚行走机器人及其控制方法
CN112975941B (zh) * 2019-12-13 2022-06-24 深圳市优必选科技股份有限公司 机器人控制方法、装置、计算机可读存储介质及机器人
CN112114589B (zh) * 2020-09-07 2024-02-09 腾讯科技(深圳)有限公司 足式机器人运动控制方法、装置、设备及介质
CN112731951A (zh) * 2020-12-22 2021-04-30 深圳市优必选科技股份有限公司 一种机器人平衡控制方法、装置、可读存储介质及机器人
CN114115280B (zh) * 2021-11-29 2024-03-29 深圳市优必选科技股份有限公司 四足奔跑步态规划方法、装置及机器人控制设备
CN115256396B (zh) * 2022-08-23 2024-05-28 北京理工大学 基于双层模型预测控制的双足机器人全向行走质心轨迹规划方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1361027B1 (en) 2000-11-17 2007-01-17 Honda Giken Kogyo Kabushiki Kaisha Gait pattern generating device for legged mobile robot
EP1466705B1 (en) * 2001-12-28 2010-05-19 Honda Giken Kogyo Kabushiki Kaisha Gait producing device for leg type movable robot, and control device
EP1547732A4 (en) * 2002-10-01 2012-01-04 Sony Corp ROBOT DEVICE AND CONTROL PROCEDURE THEREFOR
JP4483254B2 (ja) * 2002-10-01 2010-06-16 ソニー株式会社 ロボット装置及びロボット装置の制御方法
DE602004029256D1 (de) * 2003-06-27 2010-11-04 Honda Motor Co Ltd Gangerzeugungsvorrichtung für beweglichen roboter mit beinen
WO2005000534A1 (ja) * 2003-06-27 2005-01-06 Honda Motor Co., Ltd. 脚式移動ロボットの制御装置
US7313463B2 (en) * 2005-03-31 2007-12-25 Massachusetts Institute Of Technology Biomimetic motion and balance controllers for use in prosthetics, orthotics and robotics
KR100985713B1 (ko) * 2008-04-29 2010-10-06 한국과학기술연구원 휴머노이드 로봇의 보행패턴 생성방법
JP5219956B2 (ja) * 2009-07-23 2013-06-26 本田技研工業株式会社 移動体の制御装置
JP5483997B2 (ja) * 2009-10-28 2014-05-07 本田技研工業株式会社 脚式移動ロボットの制御装置
JP5232124B2 (ja) * 2009-10-28 2013-07-10 本田技研工業株式会社 脚式移動ロボットの制御装置
JP5456588B2 (ja) * 2010-06-07 2014-04-02 本田技研工業株式会社 脚式移動ロボットの制御装置
JP5807591B2 (ja) * 2012-03-06 2015-11-10 トヨタ自動車株式会社 脚式歩行ロボットおよびその重心軌道生成方法
JP5803751B2 (ja) * 2012-03-07 2015-11-04 トヨタ自動車株式会社 重心軌道生成装置、その生成方法及びプログラム
US9044859B2 (en) * 2013-10-31 2015-06-02 Disney Enterprises, Inc. Method for gait generation and tracking control for a bipedal walking robot
JP5859036B2 (ja) * 2014-02-04 2016-02-10 本田技研工業株式会社 ロボット

Also Published As

Publication number Publication date
JP2017030123A (ja) 2017-02-09
US9957003B2 (en) 2018-05-01
US20170036346A1 (en) 2017-02-09

Similar Documents

Publication Publication Date Title
JP6450279B2 (ja) 移動ロボットの目標zmp軌道の生成装置
US10836040B2 (en) Desired ZMP trajectory generating device
JP6228079B2 (ja) 移動ロボットの動作目標生成装置
US8825213B2 (en) Gait generating device for legged mobile robot and operational target generating device for robot
JP3972854B2 (ja) ロボットの運動制御装置
US7848849B2 (en) Controller of leg type moving robot
JP4392037B2 (ja) 脚式ロボット、及びその制御方法
JP6339467B2 (ja) 移動ロボットの制御装置
JP6356033B2 (ja) 移動体の制御装置
WO2002040224A1 (fr) Dispositif generateur d'un modele de demarche pour robot mobile pourvu de jambes
JP6228097B2 (ja) 移動ロボット
Li et al. Force-and-moment-based model predictive control for achieving highly dynamic locomotion on bipedal robots
JP5035005B2 (ja) 脚式ロボット、その制御方法、その制御システム
JP5623375B2 (ja) 脚式移動ロボットの歩容生成装置
JP3726097B2 (ja) 脚式移動ロボットの姿勢制御装置
JP5623376B2 (ja) 脚式移動ロボットの歩容生成装置及びロボットの動作目標生成装置
JP4583098B2 (ja) ロボットの運動パターン作成用プログラム、並びに運動パターン作成装置及びそれを用いたロボット。
JP5306959B2 (ja) 脚式移動ロボットの制御装置
JP2008142861A (ja) 歩容データ生成装置と歩容データ生成方法
JP2005007496A (ja) 歩容データの作成装置と作成方法
JP4848686B2 (ja) 脚式ロボットとその動作調節方法
KR20120105611A (ko) 인간형 로봇 플랫폼을 위한 결합진동자 기반의 보행 패턴 생성 및 자세 제어 알고리즘
Nunez et al. Inertial force position control for jumping of humanoid robots
Yeon et al. Trajectory generation method for biped robots based on redundancy analysis

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171129

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

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181207

R150 Certificate of patent or registration of utility model

Ref document number: 6450279

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150