JP3658147B2 - 脚式移動ロボットの歩容生成装置 - Google Patents
脚式移動ロボットの歩容生成装置 Download PDFInfo
- Publication number
- JP3658147B2 JP3658147B2 JP21395397A JP21395397A JP3658147B2 JP 3658147 B2 JP3658147 B2 JP 3658147B2 JP 21395397 A JP21395397 A JP 21395397A JP 21395397 A JP21395397 A JP 21395397A JP 3658147 B2 JP3658147 B2 JP 3658147B2
- Authority
- JP
- Japan
- Prior art keywords
- gait
- parameter
- mobile robot
- legged mobile
- zmp
- 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
Links
Images
Landscapes
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Description
【発明の属する技術分野】
この発明は、脚式移動ロボットの歩容生成装置に関し、より詳しくは脚式移動ロボットにおいてその歩容を自在かつリアルタイムに生成できるようにしたものに関する。
【0002】
【従来の技術】
従来の脚式移動ロボットにおいて、例えば特開平5−285868号公報記載の技術に示されるように、直進、方向転換などの種々の歩容を予めオフラインで設計し、設計値をロボットに搭載した制御用マイクロコンピュータのメモリに記憶させておき、歩行時に適当な順で出力して実行することが提案されている。
【0003】
また、特開昭62−97006号(特公平5−62363号)公報記載の技術も同様に予めオフラインで生成した歩行パターンデータをメモリに記憶させておき、歩行時に出力すると共に、必要に応じて記憶された時系列データ間を時間的に補間して刻み時間を細分化することを提案している。
【0004】
【発明が解決しようとする課題】
しかしながら、上記した従来技術にあっては、歩容データが予め決められているので、任意の歩幅や旋回角を実現するなど歩容を自在かつリアルタイムに生成することができなかった。
【0005】
この発明の第1の目的は従来技術の上記した不都合を解消し、脚式移動ロボットにおいて、床反力を含む歩容を自在かつリアルタイムに生成して任意の歩幅や旋回角などを実現できるようにした脚式移動ロボットの歩容生成装置を提供することにある。
【0006】
この発明の第2の目的は従来技術の上記した不都合を解消し、脚式移動ロボットにおいて歩容を自在かつリアルタイムに生成すると共に、生成された歩容同士の境界においてロボットの各部位の変位および速度が連続であるようにした脚式移動ロボットの歩容生成装置を提供することにある。
【0007】
この発明の第3の目的は従来技術の上記した不都合を解消し、脚式移動ロボットにおいて、リアルタイムに生成した歩容に基づいて脚式移動ロボットを駆動制御するようにした脚式移動ロボットの歩容生成装置を提供することにある。
【0008】
【課題を解決するための手段】
上記の第1および第2の目的を達成するために、例えば請求項1項において、少なくとも上体と、前記上体に関節を介して連結される複数本の脚部リンクとからなる脚式移動ロボットの歩容生成装置において、少なくとも1歩分の歩容について、それぞれ床反力に関するパラメータを含むパラメータの集合からなる複数種の標準歩容を記憶する標準歩容記憶手段、歩容に関する要求を行う歩容要求手段、および前記歩容に関する要求に対して前記標準歩容を1個から複数個選択し、前記選択した標準歩容を基に近似演算を行うことにより、前記歩容に関する要求を満足する近似歩容を生成する歩容生成手段を備える如く構成した。
【0009】
請求項2項にあっては、前記歩容生成手段は、前記選択した歩容を加重平均して前記近似歩容を求める如く構成した。
【0010】
請求項3項にあっては、前記歩容生成手段は、前記選択した歩容のパラメータ感度を用いて前記近似歩容を求める如く構成した。
【0011】
請求項4項にあっては、前記歩容生成手段は、前記選択した歩容を加重平均すると共に、前記選択した歩容のパラメータ感度を用いて前記近似歩容を求める如く構成した。
【0012】
請求項5項にあっては、前記歩容生成手段は、前記標準歩容の少なくとも1個についてその単位変更量当たりの他のパラメータの変更量を前記歩容のパラメータ感度として求めて記憶する記憶手段を備え、前記記憶された歩容のパラメータ感度を用いて前記近似歩容を求める如く構成した。
【0013】
請求項6項にあっては、前記標準歩容生成手段は、前記標準歩容の床反力に関するパラメータに対するその他のパラメータの摂動の関係を表現する表現手段、を備え、前記表現された摂動の関係に基づいて前記近似歩容を補正し、境界条件において少なくとも変位および速度が連続するように前記歩容に関する要求を満足する歩容を生成する如く構成した。
【0014】
請求項7項にあっては、前記その他のパラメータの摂動が上体の水平位置の摂動である如く構成した。
【0015】
請求項8項にあっては、前記関係が線形モデルで表現される如く構成した。
【0016】
請求項9項にあっては、前記関係が倒立振子モデルで表現される如く構成した。
【0017】
請求項10項にあっては、前記関係が時系列値で表現される如く構成した。
【0018】
請求項11項にあっては、前記歩容生成手段は、前記床反力に関するパラメータが所定の条件にあるときは、そのパラメータを除外して前記近似歩容を求める如く構成した。
【0019】
請求項12項にあっては、前記歩容生成手段は、前記生成された歩容に基づいて前記ロボットの関節角度を算出する関節角度算出手段、および算出された関節角度となるように前記ロボットの関節を駆動制御する関節駆動制御手段を備える如く構成した。
【0020】
請求項13項にあっては、前記関節角度決定手段は、前記ロボットの状態量を検出する検出手段、および検出された状態量に基づいて前記ロボットの位置および姿勢を修正する修正手段を備え、前記関節角度算出手段は、修正された位置および姿勢となるように前記ロボットの関節角度を算出する如く構成した。
【0021】
【作用】
床反力を含む歩容を自在かつリアルタイムに生成して任意の歩幅や旋回角などを実現することができる。また、生成された歩容同士の境界においてロボットの各部位の変位および速度が連続させることができる。更に、リアルタイムに生成した歩容に基づいて脚式移動ロボットを駆動制御することができる。
【0022】
【発明の実施の形態】
以下、添付図面を参照してこの発明に係る脚式移動ロボットの歩容生成装置を説明する。尚、脚式移動ロボットとしては2足歩行ロボットを例にとる。
【0023】
図1はその2足歩行ロボット1を含む装置全体の説明図である。
【0024】
図示の如く、2足歩行ロボット1は左右それぞれの脚部リンク2に6個の関節を備える(理解の便宜のために各関節をそれを駆動する電動モータで示す)。6個の関節は上から順に、股(腰部)の脚部回旋用の関節10R,10L(右側をR、左側をLとする。以下同じ)、股(腰部)のピッチ方向(Y軸まわり)の関節12R,12L、同ロール方向(X軸まわり)の関節14R,14L、膝部のピッチ方向の関節16R,16L、足部のピッチ方向の関節18R,18L、同ロール方向の関節20R,20Lから構成される。
【0025】
足部には足平22R,22Lが取着されると共に、最上位には上体(基体)24が設けられ、その内部に図2に関して後述するマイクロコンピュータからなる制御ユニット26などが格納される。上記において股関節(あるいは腰関節)は関節10R(L),12R(L),14R(L)から、足関節は関節18R(L),20R(L)から構成される。また股関節と膝関節とは大腿リンク28R,28L、膝関節と足関節とは下腿リンク30R,30Lで連結される。
【0026】
上記の構成により、脚部リンク2は左右の足についてそれぞれ6つの自由度を与えられ、歩行中にこれらの6*2=12個の関節を適宜な角度で駆動することで、足全体に所望の動きを与えることができ、任意に3次元空間を歩行させることができる(この明細書で「*」は乗算を示す)。
【0027】
尚、この明細書で後述する上体の位置およびその速度は、上体24の所定位置、具体的には上体24の重心位置などの代表点およびその(変位)速度を意味する。
【0028】
図1に示す如く、足関節の下方には公知の6軸力センサ44が取着され、力の3方向成分Fx,Fy,Fzとモーメントの3方向成分Mx,My,Mzとを測定し、足部の着地の有無ないしは接地荷重などを検出する。また、上体24には傾斜センサ60が設置され、Z軸(鉛直方向)に対する傾きとその角速度を検出する。また各関節の電動モータには、その回転量を検出するロータリエンコーダが設けられる。
【0029】
更に、図1では図示を省略するが、2足歩行ロボット1の適宜な位置にはジョイスティック62が設けられ、外部から必要に応じて直進歩行しているロボットを旋回させるなど要求歩容を入力できるように構成される。
【0030】
図2は制御ユニット26の詳細を示すブロック図であり、マイクロ・コンピュータから構成される。そこにおいて傾斜センサ60などの出力はA/D変換器70でデジタル値に変換され、その出力はバス72を介してRAM74に送られる。また各電動モータに隣接して配置されるエンコーダの出力はカウンタ76を介してRAM74内に入力される。
【0031】
制御ユニット内にはCPUからなる第1、第2の演算装置80,82が設けられており、第1の演算装置80は後述の如く、ROM84に格納されている標準歩容に基づいて自在かつリアルタイムに歩容を生成すると共に目標関節角を算出し、RAM74に送出する。また第2の演算装置82はRAM74からその目標値と検出された実測値とを読み出し、各関節の駆動に必要な制御値を算出してD/A変換器86とサーボアンプを介して各関節を駆動する電動モータに出力する。
【0032】
図3はこの装置の動作を機能的に示すブロック図であり、図4はその中の歩容混合ないし歩容生成処理を示すフロー・チャート(構造化フロー・チャート)である(この明細書では歩容生成を『歩容混合』ともいう)。
【0033】
最初にこの装置が生成する歩容について説明すると、この発明の目的は前記したように歩容をリアルタイムに生成する装置を提供することにあり、より具体的には本出願人が先に特開平5−305585号公報において提案した両脚コンプライアンス制御によるロボットの姿勢安定化制御を行うために必要な目標歩容を自在に生成することを目的としている。
【0034】
そこで先ず、先に提案した姿勢安定化制御について簡単に説明すると、その技術にあっては床反力(ZMP)の目標位置と実測位置の偏差を検出し、その偏差を解消するように脚部の一方または双方を駆動して姿勢の安定化を図っている。それと共に、ロボットが倒れそうになると、目標床反力を意図的にずらすことによって実床反力をずらし、姿勢復元力を得るようにしている。
【0035】
かかる如く、脚式移動ロボットにおいては、目標運動軌跡と目標床反力パターンの関係が動力学的平衡条件を満足していなければ、安定した歩行が実現できない。動力学的平衡条件とは、具体的には、例えば、目標床反力中心点(目標床反力分布の2次モーメントが0になる床上の作用点)とZMP(Zero Moment Point...運動による慣性力と重力の合力が床と交わる点)が一致することである。一致していないと、コンプライアンス制御が働いた時に、慣性力と重力の合力と床反力との間の動バランスを崩し、転倒する。
【0036】
先に提案した技術においては、それをロボットが不安定となったときの姿勢回復に逆用しているが、上記から明らかな如く、脚式移動ロボットにおいてはこのように歩行制御に与える目標値として、目標の運動パターンだけではなく、目標の運動パターンと動力学的平衡条件を満足する目標床反力パターンも必要である。
【0037】
目標床反力は、一般的には、作用点とその点に作用する力と力のモーメントによって表現される。作用点はどこにとっても良いので、同一の目標床反力でも無数の表現が考えられるが、特に前述の目標床反力中心点を作用点にして目標床反力を表現すると、力のモーメントは、床に垂直な成分を除けば、0になる。
【0038】
尚、前述のように、目標の運動軌道と動力学的平衡条件を満足する目標床反力中心点軌道はZMPと一致するから、目標床反力作用中心点軌道の代わりに目標ZMP軌道を与えると言っても同じことである。
【0039】
従って、上記は、『歩行制御に与える目標値としては、目標運動軌跡だけでなく、目標ZMP軌道(目標床反力パターン)も必要である』と言い換えることができる。このような背景から、この明細書では目標歩容を、次のように定義する。
【0040】
a)広義の目標歩容とは、1歩ないしは複数歩の期間の目標運動軌跡とその目標床反力パターンの組である。
b)狭義の目標歩容とは、1歩の期間の目標運動軌跡とそのZMP軌道の組である。
c) 一連の歩行は、いくつかの歩容がつながったものとする。
【0041】
尚、以下では、理解を容易にするために、特にことわらない限り、目標歩容は狭義の目標歩容の意味で使用する。より詳しくは、この明細書では、目標歩容は、両脚支持期の初期から片脚支持期の終端までの意味で使用する。尚、両脚支持期とは言うまでもなく、ロボット1がその自重を脚部リンク2の双方で支持する期間を、片脚支持期とは脚部リンク2の一方で支持する期間をいう。片脚支持期においてロボット1の自重を支持しない側の脚部(リンク)を遊脚と呼ぶ。
【0042】
この発明は、具体的には、上記に定義した目標歩容を自在かつリアルタイムに生成することを目的としている。自在かつリアルタイムに生成できれば、例えばロボット1を遠隔操縦によってオペレータが自由自在に操ることができ、また、自動操縦においても、単なる固定シーケンス通りに移動するだけでなく、誘導制御やデリケートな位置決めも可能となる。
【0043】
ここで、目標歩容としての条件を説明する。
【0044】
目標歩容が満たさなければならない条件は、大きく分けて以下の5つに分類される。
条件1)動力学的平衡条件を満足していること。即ち、ロボット1の目標運動軌跡から動力学的に算出されるZMP軌道が目標ZMP軌道と一致していること。
条件2)ロボット1の歩行計画部や歩行経路誘導部(共に図示せず)、あるいはオペレータから歩幅や旋回角など歩容が満たすべき条件が要求される場合、それらの要求条件を満たしていること。
【0045】
条件3)足平が床を掘ったり擦ったりしない、関節角度が可動範囲を超えない、関節速度が限界を超えないなどの、キネマティクス(運動学)に関する制約条件を満たしていること。
条件4)片脚支持期においてZMPが支持脚足平接地面内になければならない、駆動系の最大能力を超えないなどの、ダイナミクスに関する制約条件を満たしていること。
【0046】
条件5)境界条件を満たしていること。即ち、条件1)の当然の帰結として、歩容と歩容の境界では、少なくとも、各部位の変位と(変位)速度が連続であるという境界条件が導かれる(不連続であれば、無限大の力が発生したり、ZMPが接地面からはるかに遠くの点に移動してしまうから)。
【0047】
また、第n+1回歩容の初期状態は、第n回歩容の終端状態(特に、足平位置に対する上体の位置・姿勢および速度)に一致するように設定されなければならない。このとき、第n回歩容の終端状態は、第n+1回歩容の初期状態が決まっていれば、第n+1回歩容の初期状態に一致させれば良い。
【0048】
決まっていなければ、第n回歩容の終端状態が、姿勢が崩れないで長期的な歩行ができる範囲に入っていれば良い。但し、後述するように、姿勢が崩れないで長期的な歩行ができるための終端状態の範囲を求めることは、極めて難しい。
【0049】
一般的に、目標歩容は、後述する標準歩容のように、パラメータ値あるいは時系列テーブルを含む歩容発生アルゴリズムによって発生させられる(歩容を決定するということは、パラメータ値あるいは時系列テーブルを適当に設定することに他ならない)。
【0050】
パラメータ値あるいは時系列テーブルを変えることによって、様々な歩容が生成される。しかし、パラメータ値あるいは時系列テーブルを十分な配慮もせずに設定しただけでは、作成された歩容が前記の歩容条件をすべて満足しているか否かは分からない。
【0051】
特に、長期的歩行に適した終端上体位置および速度の範囲が分かっていたとしても、ZMP軌道に基づいて上記した条件1)を満足する上体の軌道を歩容発生アルゴリズムに従って生成する場合には、発生した歩容の終端での上体位置と速度の両方がその範囲に入るようにZMP軌道に関するパラメータを設定することは、極めて難しい。
【0052】
その理由は次の通りである。
理由1)上体は、一旦、ZMPから遠くに離れると、さらに遠くに離れようとする発散傾向がある。これを説明するために、ロボットの上体の挙動に近い倒立振子の挙動を例に挙げる。
【0053】
倒立振子は重心の床投影点が支点からずれると、ずれが発散して倒れる。しかし、そのときも倒立振子の慣性力と重力の合力は支点上に作用し(即ち、ZMPが支点に一致し)、支点から受ける床反力に釣り合っている。即ち、動力学的平衡条件は、運動する物体のその瞬間における慣性力と重力と床反力の関係を表すだけのものである。
【0054】
動力学的平衡条件を満足していればロボットの長期歩行が保証されたように錯覚しやすいが、ロボットの姿勢が崩れているか否かとは全く関係がない。倒立振子の重心が支点の真上から離れると、ますます遠くに離れようとする傾向があるように、ロボットの重心がZMPの真上から遠くに離れるとますます遠くに離れようとする発散傾向がある。
【0055】
理由2)片脚支持期においてZMPが支持脚足平接地面内になければならないなどの厳しい制約条件があるために、上体の加減速パターンを恣意的に設定することができず、位置を合わせようとすると速度が合わず、速度を合わせようとすると位置が合わず、なかなか両方を同時に一致させることは難しい。例えて言えば、自動車の運転において、ブレーキを踏む力をある狭い範囲に限定されている状況で、決められた時刻にぴったりと目標停止線の上で停止するようなものである。
【0056】
以上の問題点のために、前記歩容条件を全て満たした目標歩容のパラメータやテーブルをリアルタイムに決定することは、従来では不可能であった。そのため、前記した従来技術では、自在な歩行は実現されていなかった。
【0057】
上記を前提として図3を参照してこの発明に係る装置を説明する。尚、同図は、図4フロー・チャートに示すこの装置の動作を理解の便宜のために機能的に示すブロック図である。
【0058】
この装置にあっては図示の如く、オフラインで作成され、ROM84に格納されている標準歩容に基づき、歩行時にリアルタイムに発せられる歩容に対する要求(歩容の変更など)を満足するように、混合歩容瞬時値発生器において歩容が生成される。
【0059】
標準歩容はオフラインにおいて種々の歩容を試行錯誤して作成し、その中から上体が発散せず、その後の継続的な歩行が保証される終端状態を持つ歩容を選択し、前記ROM84に記憶されてなる。例えば、静止状態から歩き始める歩容、加速歩容、等速度歩容、減速歩容、停止歩容など、一連の継続した歩容の列などは、継続的な歩行が保証された標準歩容の代表例である。
【0060】
歩容は、歩容パラメータによって記述される。歩容パラメータは、運動パラメータとZMPパラメータ(より一般的に表現すれば、床反力パラメータ)から構成される。尚、この明細書で『床反力パラメータ』なる語は、『床反力の時間的なパターンに関するパラメータ』を意味するものとして使用する。
【0061】
ZMPパラメータは後で図7などに示すように、X,Y,Z座標(方向)について折れ線グラフ状のZMP軌道の折れ点の位置と通過時刻で示す(X座標のみ図示)。混合歩容瞬時値発生器においては、ZMPパラメータに基づいてZMP生成器でZMP(軌道)の瞬時値(今回(現在時刻)制御周期の値)が算出される。
【0062】
運動パラメータは、足平(軌道)パラメータと上体(軌道)パラメータとから構成される。
【0063】
足平軌道パラメータは、初期(離床時)遊脚位置および姿勢、終端(着床時)遊脚位置および姿勢、両脚支持期時間、片脚支持期時間などを含む。これらに基づき、足平軌道発生器において先に本出願人が特開平5−318339号および特開平5−324115号公報などで提案した技術を用いて、両足平の位置(xf ,yf ,zf )および姿勢(θxf ,θyf ,θzf )の瞬時値が求められる。尚、ここで『姿勢は空間上の傾斜または向き』を意味する。
【0064】
上体軌道パラメータは、上体の姿勢(空間上の上体24の向きあるいは傾き)を決定するパラメータ、上体高さ(Z方向の値)を決定するパラメータ、初期の上体位置(変位)および速度パラメータなどから構成される。
【0065】
上体水平位置発生器においては、上体の位置および姿勢を決定するパラメータに基づいて時間関数または先に特開平5−324115号公報で本出願人が提案した技術などで上体の水平位置(xb ,yb )および姿勢(θxb ,θyb ,θzb )の瞬時値が求められる。尚、前記したように上体の位置は、上体24の重心位置などの代表点を意味する。また上体高さ決定器において、上体高さzb は適宜な手法、例えばこの出願と同時に本出願人が提案する手法で決定される。
【0066】
脚式移動ロボット1の関節は図1に示すように12関節から構成されているので、得られた両足平の位置・姿勢と上体位置・姿勢とから、逆キネマティックス演算によって目標関節変位が一義的に決定される。即ち、今回のロボットの目標姿勢が一義的に決定される。(正確には、両足平の目標位置・姿勢が両脚コンプライアンス制御によって修正された後、目標関節変位が計算される。)
【0067】
尚、本来、歩容は歩容パラメータだけで一義的に表現されているが、この実施の形態では歩行時の演算量を低減するために、標準歩容の上体軌跡をあらかじめオフラインで計算しておいて時系列テーブルにして記憶させておき、制御周期毎に現在時刻データを吐き出すようにした。尚、若干誤差が発生するが、ROM84の容量が少ない場合には標準歩容の上体軌跡を多項式で近似し、時系列テーブルの代わりに、その近似式の係数を歩容パラメータの一種として記憶しても良い。
【0068】
ここで標準歩容についての説明を補足すると、標準歩容はより具体的には、この明細書で時間関数として表し、1つの歩容は次のように定義されるg(t)とf(t)の組で表すようにした。
g(t):運動を記述する関数(この関数値は、時刻tにおけるロボット全体の位置・姿勢を表す。具体的には全体の位置・姿勢は図3に示すように、上体の位置・姿勢、両足平の位置・姿勢で表される)。
f(t):ZMP軌道を記述する関数(この関数の値は前記の如く、時刻tにおけるZMPの位置(x,y,z)を表す)。
【0069】
また歩容関数はパラメータを意識して記号表記するようにした。即ち、g(t)とf(t)は、共に歩容パラメータをパラメータとして持つ関数である。異なる歩容を明確に示すためには全パラメータを明示的に表記すべきであるが、パラメータの種類は非常に多いので、以降の説明に必要なパラメータ変数だけを明記した、以下の表記を用いることとする。
g( t: a, b, c, d, x(k), y(k)):運動軌道を記述する関数
f( t: a, b, c, d):ZMP軌道を記述する関数(床反力を記述する関数)
但し、
a :初期遊脚足平向き(ロボット旋回角)
b :初期遊脚足平前後位置(歩幅)
c :片脚支持期のZMPのX座標
d :片脚支持期のZMPのY座標
x(k) :上体位置のX座標時系列
y(k) :上体位置のY座標時系列
【0070】
この表記では、時系列も一種のパラメータとして扱っている。本来は、初期上体位置・速度パラメータを与えれば、上体位置の時系列テーブルがなくても歩容は一義的に定まる。即ち、上体位置の時系列は冗長なものであるが、前述したようにリアルタイム歩容生成の演算時間短縮のために、上体位置の時系列テーブルも歩容を記述するパラメータのように扱っている。
【0071】
この実施の形態では、初期上体位置・速度パラメータも歩容によって異なるが、上体位置の時系列を明記している場合には、時系列の最初の2つから初期上体位置・速度パラメータ値が算出できるので、その記述を省略する。
【0072】
この実施の形態においては標準歩容として、前記した如く、静止状態から歩き始める歩容など複数種の歩容をオフラインで予め作成しておくが、以下3種の歩容を具体例として例示する。
第0標準歩容
g( t: a0, b0, c0, d0, x0(k), y0(k))
f( t: a0, b0, c0, d0)
第1標準歩容
g( t: a1, b0, c1, d1, x1(k), y1(k))
f( t: a1, b0, c1, d1)
第2標準歩容
g( t: a0, b2, c2, d2, x2(k), y2(k))
f( t: a0, b2, c2, d2)
【0073】
これら標準歩容の初期遊脚足平位置・姿勢と終端遊脚足平位置・姿勢などを、図5ないし図11に示す。歩容を表現するために、座標系を本図に示すように、支持脚足平接地位置のある基準点を原点にし、支持脚足平の前後方向をX軸、左右方向をY軸にとる。
【0074】
図4フロー・チャートの説明に入る前に、ここで図12および図13に示すような歩容に関する要求が与えられたと仮定し、上記した標準歩容から前記歩容条件を満たすように要求歩容(前記した近似歩容)(以下「第3歩容」と言う)を生成する作業を例にとってこの装置の動作を説明する。尚、第3歩容は、任意の初期遊脚足平向きa3および任意の初期遊脚足平前後位置b3を持つ。
【0075】
当然、第3歩容のパラメータaの値はa3、bの値はb3である。問題は、歩容の条件を満たすように、その他のパラメータc,dおよびテーブルx(k), y(k)を如何に決定するかである。
【0076】
そこで、第3歩容を
g( t: a3, b3, c3, d3, x3(k), y3(k))
f( t: a3, b3, c3, d3)
とおき、パラメータc3, d3および時系列テーブルx3(k), y3(k)を決定する。
【0077】
ここで、用語を定義すると、パラメータaおよびbは、この装置以外の外部(オペレータのジョイスティック62などの操作による)または別の装置(図3ブロック図において両脚コンプライアンス制御器など)からこの装置に対して要求設定値(前記した「歩容に関する要求」に同じ)として入力される値を含む。このように、直接的にある設定値を要求されるパラメータを直接設定パラメータと呼ぶ。
【0078】
この実施の形態では説明の簡略化のため、初期遊脚足平向きと前後位置(歩幅)のみを任意に変更できるようにしたが、これ以外に要求設定値として入力されるものは、今述べた
1)オペレータからの指示(旋回角度および角速度指令、移動速度指令など)
2)他の処理装置(軌道誘導装置など)を設けた場合、それからの要求(終端遊脚足平位置・姿勢など)
の他に、
3)前および/または次の歩容との境界条件(初期上体位置および姿勢、初期遊脚足平位置・姿勢など)
を挙げることができる。3)については第4の実施の形態で触れる。
【0079】
それに対し、パラメータc,dおよびテーブルx(k), y(k)のように、直接設定パラメータの値に応じて歩容の条件を満たすように値が決定されるパラメータ(またはテーブル)を、従属パラメータ(または従属テーブル)と呼ぶ。時系列テーブルを直接的に設定することは極めて難しいので、時系列テーブルが直接設定パラメータとなることはほとんどない。
【0080】
また、第0標準歩容以外の第1および第2標準歩容は、第0標準歩容を基準として、直接設定パラメータ(ここでは、パラメータaとb)の内でただひとつだけを変えたものである。このように、選択された標準歩容の核となる歩容(第0標準歩容)をベース歩容と呼ぶ。
【0081】
ここで、要求歩容のパラメータ(この明細書では要求歩容のパラメータを「混合パラメータ」とも言う)の求め方を説明すると、従属パラメータc3, d3および従属時系列テーブルx3(k), y3(k)は、いずれも、歩容の条件を満たすために、直接設定パラメータaとbに応じて変化する。しかも、パラメータaとbの変化に対して、これらの値は連続的に変化するものと考えられる。即ち、これらは、パラメータaとbの連続関数である。そこで以下に述べる近似原理を利用することができる。即ち、近似演算を行うことにより要求歩容のパラメータを求めることができる。
【0082】
関数Pが滑らかな連続関数であるならば、
P(a0+Δa, b0+Δb) = P(a0, b0) + δP /δa|(a=a0,b=b0)*Δa + δP
/δb|(a=a0,b=b0) *Δb・・・近似式1
但し、
δP /δa|(a=a0,b=b0) :a=a0,b=b0でのPのaに関する偏微分値
δP /δb|(a=a0,b=b0) :a=a0,b=b0でのPのbに関する偏微分値
【0083】
更に、
δP /δa|(a=a0,b=b0) = ( P(a0+ Δa1, b0) - P(a0, b0) ) / Δa1
δP /δb|(a=a0,b=b0) = ( P(a0, b0+ Δb2) - P(a0, b0) ) / Δb2
であるので、近似式1は
P(a0+Δa, b0+Δb) = P(a0, b0)
+ ( P(a0+Δa1, b0) - P(a0, b0) )/ Δa1*Δa
+ ( P(a0, b0+Δb2) - P(a0, b0) )/Δb2*Δb
・・・・・・・・・・・・・・近似式2
【0084】
第1の実施の形態は近似式2を発展させたものであり、後述する第2の実施の形態は近似式1を発展させたものである。
【0085】
要求歩容のパラメータの求め方の説明を続けると、具体的には以下の式のように全ての従属パラメータ、全ての従属時系列テーブルに対して内分または外分することによって、標準歩容から第3歩容のパラメータを求める。これは、直接設定パラメータと従属パラメータとは比例関係にあると考えることができるからである。
【0086】
a3がa1とa2の内側にあれば内分、外側にあれば外分である。また、違いが動力学的に無視できる一部のパラメータ、一部の時系列テーブルは、内分、外分せず、ベース歩容のままであっても良い。更に、時系列テーブルに関しては、全時刻のデータをすべて一度に計算すると第1の演算装置80の負荷が大き過ぎるので、制御周期毎に今回時刻のデータだけ内分、外分すれば良い。
【0087】
以下に従属パラメータおよび従属テーブルの混合式(内分または外分による)を示す(後でこの混合式を「式1」と言う)。
c3 = c0
+ ( c1 - c0 ) *( a3 - a0 ) / ( a1 - a0 )
+ ( c2 - c0 ) *( b3 - b0 ) / ( b2 - b0 )
d3 = d0
+ ( d1 - d0 ) *( a3 - a0 ) / ( a1 - a0 )
+ ( d2 - d0 ) *( b3 - b0 ) / ( b2 - b0 )
x3(k) = x0(k)
+ ( x1(k) - x0(k) ) *( a3 - a0 ) / ( a1 - a0 )
+ ( x2(k) - x0(k) ) *( b3 - b0 ) / ( b2 - b0 )
y3(k) = y0(k)
+ ( y1(k) - y0(k) ) *( a3 - a0 ) / ( a1 - a0 )
+ ( y2(k) - y0(k) ) *( b3 - b0 ) / ( b2 - b0 )
【0088】
上記の式1は、各標準パラメータおよびテーブル値の加重平均(重み付き平均)となっている。例えば、c3を求める式を変形すると、
c3 = ( 1 - ( a3 - a0 ) / ( a1 - a0 ) - ( b3 - b0 ) / ( b2 - b0 ) ) *c0
+ ( a3 − a0 ) / ( a1 − a0 )*c1
+ ( b3 − b0 ) / ( b2 − b0 )* c2
となり、c0とc1とc2の係数の和が1になっているので、c3は、c0とc1と c2 に対する重みがそれぞれ
( 1 - ( a3 - a0 ) / ( a1 - a0 ) - ( b3 - b0 ) / ( b2 - b0 ) )
( a3 - a0 ) / ( a1 - a0 )
( b3 − b0 ) / ( b2 − b0 )
の加重平均となっている。
【0089】
尚、終端上体位置・速度も直接設定パラメータとして任意の値に設定したい場合には、ベース歩容とZMPパラメータが異なる標準歩容をいくつか選択して加重平均すれば良い。混合歩容の終端状態は混合される各標準歩容の終端状態の加重平均にほぼ一致するので、混合歩容の終端状態の全て(上体の前後左右の位置・速度)が要求値になるように加重平均の重みを求めれば良い。
【0090】
また上体位置を時系列テーブルから求める場合には、終端条件は完全に一致する。但し、後で第7の実施の形態で触れるように、動力学演算でZMP設定軌道を満足するように上体位置を逐次的に求める場合には若干ずれる。
【0091】
またこのとき、重みを決定するためには、混合される各標準歩容の終端状態が必要であるので、各標準歩容の終端状態を予め記憶したテーブルを利用すれば、処理時間を短縮することができる。
【0092】
上記の手法によって混合歩容のパラメータを決定し、次いでオフラインで作成された標準歩容と同一の歩容生成アルゴリズムによって要求歩容の各時刻における瞬時値を生成する、ないし発生させることができる。
【0093】
以下、図4フロー・チャートを参照してこの装置の動作を説明すると、S10でオフラインで作成した前記標準歩容のデータ群をROM84に予め記憶させておくものとする。次いでS12に進み、各々の標準歩容の終端上体位置および速度を求めて記憶する。
【0094】
先に述べた如く、上体24の位置が関数x(k),y(k) としてテーブル化されているので、速度はテーブルの最後とその直前の時刻のデータから求める。具体的には最後の時刻の値を位置とすると共に、最後とその直前の時刻の値の差分を求めて速度とする。
【0095】
次いで、S14に進んでタイマ値tを0とし(タイマをスタートさせ)、S16を経てS18に進み、タイマ割り込みを待つ(S14のタイマとは異なる)。図4のフロー・チャートは例えば、20msごとに起動される。即ち、制御周期は20msごとである。
【0096】
次いでS20に進んで歩容の切り替わり目、具体的には1歩の切り替わり目であるか否か判断し、肯定されるときはS22に進んでタイマを0にリセットし、S24に進んで歩容に対する要求値(具体的には今回歩容の直接設定パラメータの要求値(前記したa,b)を読み込む。
【0097】
次いでS26に進んで歩容の混合処理を行う。
【0098】
図14はその作業を示すサブルーチン・フロー・チャートである。
【0099】
先ず、S100において直接設定パラメータの値が要求値に近い標準歩容をベース歩容として選択する。図15を参照して説明すると、直接設定パラメータa,bの値が要求値(第3歩容)のa3,b3に近い標準歩容は第0標準歩容であるので、それをベース歩容として選択する。
【0100】
次いでS102に進んで上記の直接設定パラメータに着目し、そのパラメータの1つだけがベース歩容と異なる標準歩容を1つずつ選択する。候補が複数個ある場合には、その候補のパラメータ値が着目したパラメータの値になるべく近く、また、できれば、ベース歩容のパラメータ値とその候補のパラメータ値の間に要求値が位置するものを選択する。例えば図16に示すような場合では、パラメータaについて標準歩容候補1を採用する。
【0101】
尚、後で第5の実施の形態で述べるように、脚部リンク2の質量が上体24に較べて十分に小さい場合には、直接設定パラメータの中、終端遊脚足平位置・姿勢パラメータだけを少し変更しても、ロボット1が発生する慣性力はほとんど変わらない。即ち、そのパラメータ値を変更しても、動力学的平衡条件を満足する上でその他のパラメータにほとんど影響を与えないものと考えることが可能である。
【0102】
従って、終端遊脚足平位置・姿勢パラメータがベース歩容と少し違うだけなら、ベース歩容のそのパラメータ値を要求値通りに書き換えてしまえば良い。従って、終端遊脚足平位置・姿勢パラメータだけがベース歩容と異なる歩容を混合のために選択する必要もない。
【0103】
次いでS104に進んで混合歩容の直接設定パラメータに要求値を代入し、S106に進んで前記のパラメータ算出式(式1)により混合歩容の従属パラメータ値を算出し、混合歩容パラメータに代入する。
【0104】
図4に戻ると、続いてS28に進んで混合歩容パラメータ(テーブル)を目標歩容パラメータ(テーブル)に代入し、S30に進んで目標歩容の瞬時値(今回制御周期の値)を算出する。
【0105】
図17はその作業を示すサブルーチン・フロー・チャートである。
【0106】
先ず、S200において混合歩容パラメータに基づいて時刻tのZMPを求め、S202に進んで混合歩容パラメータに基づき、前記の提案技術を用いて時刻tの両足平位置・姿勢を求める。
【0107】
続いてS204に進んで時刻tの両足平位置・姿勢と時刻t−Δtの上体水平位置から時刻tの上体高さを求める。尚、その詳細は先にも述べたように同時に提案する別の出願に記載されており、この発明の要旨と直接の関連を有しないので、省略する。
【0108】
続いてS206に進んで選択した標準歩容(ベース歩容含む)の時刻tの上体位置に基づいて先に述べた混合式(式1)に従い、時刻tの混合歩容上体水平位置を算出する。
【0109】
続いて図4フロー・チャートのS32に戻って時刻tをΔtだけ更新し、S18に戻って上記の処理を繰り返す。
【0110】
尚、上記の如くして生成した歩容に基づいて両脚コンプライアンス制御器において両脚コンプライアンスが行われ、次いで目標関節角が求められ、目標値に向けて駆動制御される。
【0111】
図18フロー・チャートを参照して両脚コンプライアンス制御について簡単に説明すると、先ずS300で両脚コンプライアンス操作量が演算される。
【0112】
図19はその作業を示すサブルーチン・フロー・チャートであり、S400において6軸力センサ44の検出値を読み込み、S402に進んで検出値からZMPの実測位置(実床反力中心点)を求め、S404に進んでZMP目標位置と比較して偏差、即ち、ずれ方向およびずれ量Xを求め、S406に進んで図示の式に従って足平の操作量を求め、S408に進んで両足平の目標位置・姿勢を求めた操作量に応じてずらす。尚、実ZMP位置と実床反力中心点は一致するため、この明細書では同義として扱う。
【0113】
図18フロー・チャートに戻ると、次いでS302に進んで足平位置・姿勢(コンプライアンス制御により修正されたときは修正値)および上体位置・姿勢に基づいて公知の逆キネマティクス演算を介して12個の関節の目標角度を算出し、S304に進んで傾斜センサ11の出力からロボット1が不安定と判断されるときは、床反力中心点を故意にずらすように目標姿勢を修正する。次いでS306に進んで全関節を目標角度に追従制御する。これは具体的には第2の演算装置82が行う。
【0114】
この実施の形態は上記の如く構成したので、歩容を自在かつリアルタイムに生成して任意の歩幅や旋回角を実現することができる。更には、リアルタイムに生成された歩容に基づいて脚式移動ロボットを目標関節角度に駆動制御させつつ、自在に歩行させることができる。
【0115】
より詳しくは、歩幅や旋回角についての任意の要求に対して記憶された幾つかの標準歩容からベースとなる歩容を適当に選択し、合成や変形などの混合操作、即ち、前記した近似演算を行うことにより、前記した歩容条件や歩容に関する要求を満足する近似歩容をリアルタイムに生成することができる。
【0116】
更には上記の如く構成したことから、微妙な角度・歩幅に設定することができ、ある程度(境界状態が近ければ)既存の標準歩容同士を組み合わせて混合することにより、それらの中間的な歩容を任意に生成することも可能である。
【0117】
また、上記の如く構成したことで演算量を低減することができる。具体的には、リアルタイムにダイナミクスを解くのに比べて第1の演算装置80の演算量が1/10程度に低減する。更に、最適な標準歩容を記憶しておき、それらを混合して歩容を生成するので、メモリ(ROM84)の容量も低減させることができる。更に、最適性を満足するので、条件1)から5)を満足する歩容を、試行錯誤を経ずに、容易に得ることができる。
【0118】
図20は、この発明の第2の実施の形態を示すフロー・チャートである。
【0119】
第2の実施の形態においては、標準歩容と共に、歩容パラメータについての感度を用いた。一般的に、「感度」は、システムの出力や特性が入力やパラメータ、あるいは環境状況の変化によって受ける影響の程度を意味するが、第2の実施の形態においてはある歩容パラメータの単位変更量当たりの他のパラメータの変更量(以下「歩容パラメータ感度」という)を求め、それを用いてパラメータの変更量(あるいは変化量)を求めるようにした。
【0120】
より具体的には、歩容パラメータ感度は、標準歩容において、直接設定パラメータ(例えば、第1の実施の形態の初期遊脚向きa、初期遊脚前後位置bなど)を微小量変更したときに、その歩容が望ましい標準歩容となるためには、他の従属的なパラメータをどれだけ変化させなければならないかを示す意味で使用する。このように具体的には、歩容パラメータ感度は、直接設定パラメータの単位量変更あたりの従属パラメータの変更量と定義する。
【0121】
その結果として、第2の実施の形態においては標準歩容の個数を低減し、ベース歩容となるものだけを用いるようにした。即ち、例えば静止状態から歩き始める歩容、加速歩容、等速度歩容、減速歩容、停止歩容など、一連の継続したベース歩容の列などを用意するが、それらから各種パラメータを少しずらした標準歩容は用意しないようにした。
【0122】
具体的には、ある標準歩容i においてパラメータpに対するパラメータqの感度をDi (q,p) と記述する。時系列テーブルも同様、パラメータpに対するk番目データx(k)の感度をDi (x(k),p) と記述する。
【0123】
第2の実施の形態における要求歩容の生成手法について説明する。
【0124】
先の第0標準歩容におけるパラメータaに対するパラメータcの感度D0(c,a) などと、第1標準歩容との関係は、以下のようになる。
(a1 - a0) が十分に小さければ、定義に従って、
D0(c,a ) = (c1 - c0) / (a1 - a0)
D0( d ,a ) = (d1 - d0) / (a1 - a0)
D0( x(k) ,a ) = (x1(k) - x0(k) ) / (a1 - a0)
D0( y(k) ,a ) = (y1(k) - y0(k) ) / (a1 - a0)
である。
【0125】
同様に、第0標準歩容におけるパラメータbに対するパラメータcの感度D0(c,b) などと、第2標準歩容との関係は、以下のようになる。
(b2 - b0) が十分に小さければ、定義に従って、
D0(c,b) = (c2 - c0) / (b2 - b0)
D0( d ,b) = (d2 - d0) / (b2 - b0)
D0( x(k) ,b) = (x2(k) - x0(k) ) / (b2 - b0)
D0( y(k) ,b) = (y2(k) - y0(k) ) / (b2 - b0)
である。
【0126】
第1の実施の形態のパラメータおよびテーブルの混合式にこれらを代入することにより、パラメータ決定式(パラメータ感度を用いた)として次式(以下「式2」という)を得る。
【0127】
c3 = c0
+ D0( c,a )*( a3 - a0 )
+ D0( c,b )*( b3 - b0 )
d3 = d0
+ D0( d,a )*( a3 - a0 )
+ D0( d,b )*( b3 - b0 )
x3(k) = x0(k)
+ D0( x(k) ,a )* ( a3 - a0 )
+ D0( x(k) ,b )*( b3 - b0 )
y3(k) = y0(k)
+ D0( y(k) ,a )* ( a3 - a0 )
+ D0( y(k) ,b )* ( b3 - b0 )
【0128】
上記を前提として図20フロー・チャートを参照して説明すると、S500においてオフラインで作成したベース歩容と歩容パラメータ感度を記憶しておき、S502からS514まで第1の実施の形態と同様の処理を行ってS516に進み、歩容の混合処理を行う。
【0129】
図21はその作業を示すサブルーチン・フロー・チャートであり、S600で直接設定パラメータの値が要求値に近いベース歩容を選択し、S602に進んで混合歩容の直接設定パラメータに要求値を代入し、S604に進んで式2に従って従属パラメータを求める。尚、上体水平位置の時系列テーブルは一度に計算しても良いが、演算量が多いので、後述する瞬時値発生サブルーチンの中で制御周期ごとに必要な値だけを演算しても良い。
【0130】
図20に戻り、S518およびS510を経てS520に進んで目標歩容の瞬時値を算出する。
【0131】
図22はその作業を示すサブルーチン・フロー・チャートであり、第1の実施の形態と同様にS700からS706までの処理を行って足平および上体の位置・姿勢を算出する。尚、S706では式2の中のx,yに関する式に従って上体水平位置を算出する。続いて図20に戻ってS522を経てS508に戻って以上の処理を繰り返す。
【0132】
第2の実施の形態は上記の如く構成したことから、第1の実施の形態と同様の効果を得ることができる。
【0133】
但し、記憶する標準歩容の組合せや標準歩容の性質によっては、第1の実施の形態に対する第2の実施の形態の優位性は異なる。例えば、直接設定パラメータの組が作る全空間をパラメータ空間と呼ぶとき、第1の実施の形態において直接設定パラメータのそれぞれに対してある間隔毎に離散化し、パラメータ空間内に格子状の不連続部分空間を作り、その不連続部分空間のすべての直接設定パラメータの組に対して望ましい標準歩容を作成する。即ち、直接設定パラメータ以外のパラメータ(従属パラメータ)の値を望ましい歩容になるように調整する。
【0134】
このようにして作成した標準歩容を持っていれば、ほとんどの標準歩容がベース歩容としての条件を満たす(ベース歩容の条件は、その歩容から全ての変更したいパラメータに対してその1つだけが異なる標準歩容が存在することである)。従って、第1の実施の形態の手法で任意の歩容が作成でき、パラメータ感度を持つ必要がない。
【0135】
尚、第2の実施の形態において、広範囲の歩容に対してパラメータ感度がほぼ等しい場合には、1つ1つの歩容に対してパラメータ感度を持つのではなく、広範囲の歩容において共有すれば良い。こうすれば、メモリ(ROM84)の容量を節約することができ、その場合には第1の実施の形態に比較してはるかに少ないメモリ容量で足る。
【0136】
例えば、D0(c, a),D1(c, a),D2(c, a),...Dn(c, a) がほぼ同一値であるならば、その平均値をD(c, a)として、上記のパラメータ感度を用いたパラメータ決定式におけるD0(c, a),D1(c, a),..の代わりにD(c, a)を共通に使えば良い。
【0137】
図23はこの発明の第3の実施の形態を示すフロー・チャートである。
【0138】
第3の実施の形態においては、第1の実施の形態と同様の標準歩容を用いると共に、第2の実施の形態の歩容パラメータ感度も用いるようにした。
【0139】
第3の実施の形態における要求歩容の生成手法を説明する。
【0140】
第3の実施の形態においては、従属パラメータの値を求めるに当たって、直接設定パラメータの影響を、一部は第1の実施の形態の手法で、残りは第2の実施の形態の手法を用いて求める。即ち、歩容の混合と、歩容パラメータ感度による摂動分の加算を併用するようにした。
【0141】
例えば、直接設定パラメータの内のaの影響に対しては第1の実施の形態、bの影響に対しては第2の実施の形態の手法を用いると、次式のようになる。
c3 = c0
+ ( c1 − c0 ) *( a3 - a0 ) / ( a1 - a0 )
+ D0( c,b )*( b3 - b0 )
d3 = d0
+ ( d1 - d0 ) *( a3 - a0 ) / ( a1 - a0 )
+ D0( d,b )*( b3 - b0 )
x3(k) = x0(k)
+ ( x1(k) - x0(k) ) *( a3 - a0 ) / ( a1 - a0 )
+ D0( x(k) ,b )*( b3 - b0 )
y3(k) = y0(k)
+ ( y1(k) - y0(k) ) *( a3 - a0 ) / ( a1 - a0 )
+ D0( y(k) ,b )*( b3 - b0 )
【0142】
図23を参照して説明すると、S800においてオフラインで作成した標準歩容と歩容パラメータ感度を記憶し、S802以降に進んで第1の実施の形態と同様の処理を行い、S816から図24フロー・チャートに進んでS900以降において歩容の混合を行う。また図23フロー・チャートのS820から図25フロー・チャートのS1000以降に進んで瞬時値を算出する。
【0143】
第3の実施の形態は上記の如く構成したことから、従前の実施の形態と同様の効果を有する。
【0144】
図26はこの発明の第4の実施の形態を示すフロー・チャートである。
【0145】
標準歩容から得られる混合歩容(要求歩容)同士は、図27に示す如く、歩容境界における上体位置・速度が少しずれる傾向があるので、ある混合歩容の終端上体位置・速度を次の混合歩容の初期上体位置・速度に合わせる必要が生じる。そこで第4の実施の形態では、上体位置・速度の境界条件を任意に設定するようにした。即ち、初期上体位置・速度および終端上体位置・速度も直接設定パラメータとして考慮し、上体位置・速度が境界条件において連続するようにした。
【0146】
その手法を要約すると、先ず第1ないし第3の実施の形態の手法を用いて、初期上体位置・速度および終端上体位置・速度を除く、直接設定パラメータが全て望み通りに設定された混合歩容を生成し、次いで初期上体位置・速度および終端上体位置・速度も望み通りになるように、ZMPパラメータを補正する。
【0147】
前半の処理は従前の実施の形態と同様であるので説明を省略し、以下、後半の初期上体位置・速度および終端上体位置・速度も望み通りになるようにZMPパラメータを補正する手法を説明する。
【0148】
前述の歩容生成手法において、初期上体位置・速度、終端上体位置・速度およびZMPパラメータ以外の歩容パラメータが固定されている場合を考える。
【0149】
この場合、初期上体位置・速度とZMPパターンを設定すると動力学的平衡条件を満足する歩容が一義的に決定されるので、終端上体位置・速度も一義的に決定される。逆に、終端上体位置・速度とZMPパターンを与えると、初期上体位置・速度が一義的に決定される。従って、初期上体位置・速度と終端上体位置・速度を任意に設定するためには、ZMPパターンはそれに合わせて調整しなければならない。即ち、ZMPパターンを決めてしまえば、初期上体位置・速度と終端上体位置・速度は、1対1写像の関係になっている。
【0150】
以下では、説明を簡単にするために上体の前後方向(X方向)の挙動だけを考えることとすると、状態量は位置と速度の2変数であるから、これらに関する境界条件を任意に設定できるようにするためには、ZMPパターンに2個以上のパラメータが必要である。
【0151】
ここでは、ZMPパラメータの一部をわずかに変更するだけで、上体境界位置・速度を大きく変更できるように、ZMPパターンとそのパラメータを図28のように設定する。
【0152】
これは、従前の実施の形態で用いるZMPパターンよりも複雑なパターンとなっている。なぜなら、従前の実施の形態で用いたのと同様のZMPパターンを用いると、上体の前後方向の位置と速度の両方を同時に満足させるためには、パラメータc以外に足平軌道に影響を与えない時間のパラメータt2も変更しなくてはならないが、t2を大きく変更しても、上体境界位置・速度はわずかしか修正できないからである。
【0153】
第4の実施の形態においてZMPパラメータの決定は、第1の実施の形態あるいは第2の実施の形態のいずれの手法を用いても可能であるが、ここでは第2の実施の形態の手法を採用してZMPパラメータの補正量と上体の補正軌跡を以下の手順で決定するようにした。尚、ZMPパラメータの補正量は、混合歩容の上体境界条件を望みの値にするために混合歩容のZMPパラメータに加える補正量を意味する。
【0154】
図26を参照して第4の実施の形態の動作を説明すると、S1100において従前の実施の形態と同様にオフラインで作成した標準歩容を記憶しておき、S1102に進んで各種標準歩容の終端上体位置・速度を求めて記憶した後、S1104に進んで以下の処理を行う。
【0155】
先ず、混合歩容においてZMPパラメータcに着目し、これを図29に示すようにΔcだけ微小摂動させ、それに伴って、動力学平衡条件を満足するように上体位置の時系列データの摂動分Δx(k)を求める。
【0156】
このとき、
Rmix(x(k),c)=Δx(k)/Δc
とおく。このRmix(x(k), c)をcに対するx(k)の偏微分的感度(前記歩容パラメータ感度に相当)と呼ぶ。同様に、図30に示すように、ZMPパラメータeに関してRmix(x(k),e)を求める。
【0157】
第2の実施の形態においては、ある注目したパラメータに対するx(k)の感度を求めるときに、制約条件として歩容の最適性を維持しながら、注目したパラメータとx(k)を除く複数の従属パラメータを調整した。それに対して、第4の実施の形態では、歩容の最適性を無視して、注目したパラメータとx(k)を除く全てのパラメータを固定して感度を求めるようにした。言ってみれば、第2の実施の形態は最適性を制約条件にした全微分、第4の実施の形態は最適性を無視した偏微分を求めることになる。
【0158】
次にS1106に進み、Rmix(x(k), c)とRmix(x(k), e)の終端とその直前の値から、混合歩容におけるZMPパラメータcに対する終端上体位置の偏微分的感度Rmix(Xe, c)、終端上体速度の偏微分的感度Rmix(Ve, c)、ZMPパラメータeに対する終端上体位置の偏微分的感度Rmix(Xe, e)、終端上体速度の偏微分的感度Rmix(Ve, e)を次式によって求める。
【0159】
Rmix(Xe,c)=Rmix(x(ke),c)
Rmix(Ve,c)=(Rmix(x(ke),c) -Rmix(x(ke-1),c)) / Δt
Rmix(Xe,e)=Rmix(x(ke),e)
Rmix(Ve,e)=(Rmix(x(ke),e) - Rmix(x(ke-1),e)) / Δt
但し、ke:時系列の最後の配列番号、Δt:時系列の刻み時間(離散系のサンプル時間)である。
【0160】
次いでS1108に進み、求めた感度から第1行第1列の要素がRmix(Xe, c)、第1行第2列の要素がRmix(Xe, e)、第2行第1列の要素がRmix(Ve, c)、第2行第2列の要素がRmix(Ve, e)の2*2行列を作成する。
【0161】
次いでS1110に進んで作成した行列の逆行列を求める。この逆行列の第1行第1列の要素は、終端上体位置Xe に対するパラメータcの偏微分的感度Rmix(c, Xe)、第2行第1列の要素は、終端上体位置Xe に対するパラメータeの偏微分的感度Rmix(e, Xe)、第1行第2列の要素は、終端上体速度Ve に対するパラメータcの偏微分的感度Rmix(c, Ve)、第2行第2列の要素は、終端上体速度Ve に対するパラメータeの偏微分的感度Rmix(e, Ve)とする。
【0162】
尚、あらゆる混合歩容において上記感度がほとんど変化しない場合には、その平均的な値をそれぞれR(c, Xe),R(e, Xe),R(c, Ve),R(e, Ve) として、全歩容に共通に用いれば良い。
【0163】
次いでS1112に進んで混合歩容において初期上体位置に着目し、これだけを図31に示すようにΔx0だけ微小摂動させ、それに伴って、動力学平衡条件を満足するように上体位置の時系列データの摂動分Δx(k)を求める。当然、
Δx(0)=Δx0
である。
【0164】
このとき、
Rmix(x(k), x0)=Δx(k)/Δx0
とおく。同様に、図32に示すように初期上体速度だけをΔv0だけ微小摂動させ、Rmix(x(k), v0)を求める。
【0165】
次にS1114に進み、求めた感度Rmix(x(k), x0) とRmix(x(k), v0) の終端とその直前の値に基づいて、混合歩容における初期上体位置に対する終端上体位置の偏微分的感度Rmix(Xe, x0) 、終端上体速度の偏微分的感度Rmix(Ve, x0) 、初期上体速度に対する終端上体位置の偏微分的感度Rmix(Xe, v0) 、終端上体速度の偏微分的感度Rmix(Ve, v0) を次式によって求める。
【0166】
Rmix(Xe, x0)=Rmix(x(ke), x0)
Rmix(Ve, x0)=(Rmix(x(ke), x0) - Rmix(x(ke-1), x0)) / Δt
Rmix(Xe, v0)=Rmix(x(ke), v0)
Rmix(Ve, v0)=(Rmix(x(ke), v0) - Rmix(x(ke-1), v0)) / Δt
但し、ke:時系列の最後の配列番号、Δt:時系列の刻み時間である。
【0167】
続いてS1116に進んでタイマを0にリセットしてスタートさせ、S1118を経てS1120に進んでタイマ割り込みを待機し、S1122に進んで歩容の切り替わり目にあるか否か判断し、肯定されるときはS1124に進んでタイマを0にリセットし、次いでS1126に進んで直接設定パラメータの要求値を読み込み、S1128に進んで歩容の混合を行う。
【0168】
即ち、図33サブルーチン・フロー・チャートのS1200に進んで第1ないし第3の実施の形態と同様の手法を用いて混合歩容パラメータを作成する。この際に、初期上体位置・速度および終端上体位置・速度も要求値に近いものをベース歩容として選択する。
【0169】
但し、ベース歩容を選択した後、初期上体位置・速度および終端上体位置・速度に関しては、直接設定パラメータから除外し、従前の実施の形態と同様に混合歩容を生成する。
【0170】
次いでS1202に進んで初期上体位置・速度要求値と混合歩容の初期上体位置・速度との差を求め、これをΔx0,Δv0 とする。同様に、終端上体位置・速度要求値と混合歩容の終端上体位置・速度との差を求め、これをΔXe,ΔVeとする。
【0171】
次いでS1204に進み、混合歩容において初期上体位置・速度だけを初期上体位置・速度要求値に変更し、それに伴って、動力学平衡条件を満足するように、上体位置の時系列データを摂動させた歩容の、終端上体位置・速度の摂動量ΔXse、ΔVseを次式により求める。
ΔXse=Rmix(Xe, x0)*Δx0+Rmix(Xe, v0)*Δv0
ΔVse=Rmix(Ve, x0)*Δx0+Rmix(Ve, v0)*Δv0
【0172】
S1204の歩容は、初期上体位置・速度は要求値に一致しているが、終端上体位置・速度要求値とこの歩容の終端上体位置・速度との差は、ΔXe +ΔXse,ΔVe +ΔVseである。そこでS1206に進み、その差を0にするためのZMPパラメータの補正量Δc,Δeを次式によって求める。
Δc=Rmix(c, Xe)*(ΔXe +ΔXse)+Rmix(c, Ve)*(ΔVe +ΔVse)
Δe=Rmix(e, Xe)*(ΔXe +ΔXse)+Rmix(e, Ve)*(ΔVe +ΔVse)
【0173】
次いでS1208に進んでZMPパラメータc,eを次式によって求める。
c=cmix+Δc
e=emix+Δe
但し、cmix:混合歩容のパラメータcの値、emix:混合歩容のパラメータeの値である。
【0174】
次いで図26フロー・チャートに戻り、S1130に進んで目標歩容のパラメータに上記混合歩容のパラメータを代入する。但し、ZMPパラメータc,eには、S1208で求めた値を代入する。次いでS1122を経てS1132に進んで目標歩容の瞬時値を算出する。
【0175】
具体的には、図34サブルーチン・フロー・チャートのS1300に進んで従前の実施の形態と同様の手法で時刻tのZMPを求め、S1302に進んで従前の実施の形態と同様の手法で時刻tの両足平の位置・姿勢を求め、S1304に進んで目標歩容の上体位置を次式で求める。
x(k) =xmix(x) +Rmix(x(k),c) *Δc+Rmix(x(k),e) *Δe +Rmix(x(k),x0)*Δx0+Rmix(x(k),v0)*Δv0
但し、xmix(x) :混合歩容の上体軌道時系列のk番データである。尚、説明は省略するが、Y方向の上体位置も同様に算出することは言うまでもない。また、Z方向の上体位置はX,Y方向の値と同様に算出しても、前記のこの出願と同時に提案する手法で算出しても良い。
【0176】
上記した処理によって具体的には図27および図29ないし図32に示す波形を重ね合わせることとなり、それにより図35に示すように、所望の境界条件を備えた目標歩容を生成することができる。尚、図35に示す状況では、
c<0,c+Δc<0,e<0,e+Δe>0
とした。
【0177】
第4の実施の形態は上記の如く構成したので、歩容を自在かつリアルタイムに生成すると共に、生成された歩容同士の境界においてロボットの各部位の変位および変位速度を連続させることができる。
【0178】
図36はこの発明の第5の実施の形態を示すフロー・チャートである。
【0179】
先の第4の実施の形態では、混合歩容におけるZMPパラメータcに対する上体位置時系列の偏微分的感度Rmix(x(k), c)、ZMPパラメータeに対する上体位置時系列の偏微分的感度Rmix(x(k), e)、初期上体位置に対する上体位置時系列の偏微分的感度Rmix(x(k), x0) 、初期上体速度に対する上体位置時系列の偏微分的感度Rmix(x(k), v0) を用いていた。言わば、ZMPの摂動に対する上体軌道の摂動のモデルを時系列テーブルの形で持っていたと言える。
【0180】
第5の実施の形態では、その代わりに、以下の式で表されるロボットの線形摂動動力学モデル(ZMPの摂動に対する上体位置速度の摂動の関係を表す線形化モデル)を用いて、上体位置・速度に関する境界条件を要求値に一致させるようにした。
【0181】
以下に、この手法の基本原理を説明する。尚、以下の説明では上体挙動とZMP軌道の前後方向(X方向)成分についてのみ議論するが、左右方向(Y方向)も同様に考えれば良い。
【0182】
ロボット1の上体24の質量がそれ以外の部位の質量に較べて十分に大きく、かつ歩行時に上体の上下加速度が小さいとする。この特殊条件が成立する場合には、ZMPの摂動に対する上体位置・速度の摂動の関係、即ち、摂動動力学モデルは、次式および図37で示される線形倒立振子モデルで近似される。図示の如く、このモデルにあっては支点22aも移動自在である。
【0183】
dxmdl/dt=v
dvmdl/dt =ω0*(xmdl‐ZMPmdl)
ここで、xmdlは線形倒立振子の重心位置、vmdlは線形倒立振子の重心速度である。またω0は正の定数であり、上体重心高さhおよび重力加速度gとほぼ次の関係を持つ。
ω0=√(g /h)
【0184】
上記特殊条件が成立している場合には、第4の実施の形態における一般性の高い摂動動力学モデルRmix(x(k), c), Rmix(x(k), e), Rmix(x(k), x0),Rmix(x(k), v0)の代わりに、上記した線形倒立振子モデルを用いることができる。以降、モデルの状態の表記に、時刻tを明示したい場合には、
xmdl(t) ,vmdl(t)
と表記する。
【0185】
上記を前提として図36フロー・チャートを参照して説明する。尚、ZMPパターンの構造は、第4の実施の形態と同一にする。
【0186】
先ず、S1400において標準歩容を記憶しておき、S1402に進んで各標準歩容の終端上体位置・速度を求めて記憶した後、S1404に進み、ZMPパラメータの内でcとeをc=1,e=0、またp(図35に示すように時刻0におけるZMPの値)=0、その他の折点でのZMPの値を0、初期状態をx0=0,v0=0とし、歩容の終端時刻まで摂動動力学モデルの挙動を計算し、終端モデル位置Xe、終端モデル速度Veを求める。
【0187】
具体的には、図29におけるΔcを1に設定したときのΔcによるZMPパターン補正量をモデル入力としてモデルの挙動を得、モデル終端状態を求め、続いてZMPパラメータcに対する終端モデル位置Xeの偏微分的感度を次式によって求める。
R(Xe,c)=Xe
【0188】
同様にZMPパラメータcに対する終端モデル速度Veの偏微分的感度を次式によって求める。
R(Ve,c)=Ve
【0189】
尚、摂動動力学モデルの挙動の計算は、モデルを離散化してから逐次演算によって求めても良いし、解析的に解いても良い。
【0190】
次いでS1406に進み、ZMPパラメータの内でcとeをc=0,e=1、またp=0、その他の折点でのZMPの値を0、初期状態をx0=0,v0=0として、歩容の終端時刻まで、摂動動力学モデルの挙動を計算し、終端モデル位置Xe、終端モデル速度Veを求める。
【0191】
次いでZMPパラメータeに対する終端モデル位置Xeの偏微分的感度を次式によって求める。
R(Xe,e)=Xe
【0192】
同様にZMPパラメータeに対する終端モデル速度の偏微分的感度を次式によって求める。
R(Ve,e)=Ve
【0193】
次いでS1408に進み、ZMPパラメータの内でcとeをc=0,e=0、またp=0、その他の折点でのZMPの値を0、初期状態をx0=1,v0=0として、歩容の終端時刻まで摂動動力学モデルの挙動を計算し、終端モデル位置Xe、終端モデル速度Veを求める。
【0194】
次いで初期モデル位置x0に対する終端モデル位置Xeの偏微分的感度を次式によって求める。
R(Xe, x0)=Xe
【0195】
同様に、初期モデル位置x0に対する終端モデル速度Veの偏微分的感度を次式によって求める。
R(Ve, x0)=Ve
【0196】
次いでS1410に進み、ZMPパラメータの内でcとeをc=0,e=0、またp=0、その他の折点でのZMPの値を0、初期状態をx0=0,v0=1として、歩容の終端時刻まで、摂動動力学モデルの挙動を計算し、終端モデル位置Xe、終端モデル速度Veを求める。
【0197】
次いで初期モデル速度v0に対する終端モデル位置Xeの偏微分的感度を次式によって求める。
R(Xe, v0)=Xe
【0198】
同様に、初期モデル速度v0に対する終端モデル速度Veの偏微分的感度を次式によって求める。
R(Ve, v0)=Ve
【0199】
次いでS1411に進み、c=0,e=0,p=1、その他の折点でのZMPを0、初期状態をx0=0,v0=0として歩容の終端時刻までの摂動力学モデルの挙動を計算し、終端モデル位置Xe、終端モデル速度Veの偏微分感度を求める。
【0200】
次いで初期モデル速度v0 に対する終端モデル位置Xeの偏微分的感度を次式によって求める。
R(Xe, p)=Xe
【0201】
次いで初期モデル速度v0 に対する終端モデル速度Veの偏微分的感度を次式によって求める。
R(Ve, p)=Ve
【0202】
次いでS1412に進み、求めた感度から第1行第1列の要素がR(Xe, c) 、第1行第2列の要素がR(Xe, e) 、第2行第1列の要素がR(Ve, c) 、第2行第2列の要素がR(Ve, e) の2*2行列を作成する。
【0203】
次いでS1414に進み、作成した行列の逆行列を求める。逆行列の第1行第1列の要素は、終端モデル位置Xeに対するパラメータcの偏微分的感度R(c, Xe) 、第2行第1列の要素は、終端モデル位置Xeに対するパラメータeの偏微分的感度R(e, Xe) 、第1行第2列の要素は、終端モデル速度Veに対するパラメータcの偏微分的感度R(c, Ve) 、第2行第2列の要素は、終端モデル速度Veに対するパラメータeの偏微分的感度R(e, Ve)とする。
【0204】
次いでS1416でタイマを0にリセットしてスタートさせ、S1418,S1420を経てS1422に進んで歩容の切り替わり目にあるか否か判断し、否定されるときはS1432に進むと共に、肯定されるときはS1424,S1426を経てS1428に進んで歩容の混合を行う。
【0205】
図38フロー・チャートを参照してその歩容の混合処理を説明すると、S1500において従前の実施の形態のいずれかの手法で混合歩容パラメータを生成する。このとき、初期および終端上体位置・速度要求値に近い標準歩容をベース歩容として選択するが、それ以外の混合歩容パラメータを生成する過程では、初期および終端上体位置・速度を直接設定パラメータから除外し、他の実施の形態と同様に、混合歩容パラメータを求める。次いでS1502に進んで初期および終端上体位置・速度要求値と混合歩容の初期および終端上体位置・速度との差Δx0, Δv0, ΔXe, ΔVeを求める。
【0206】
続いてS1504に進み、モデルの初期位置・速度をΔx0,Δv0 とし、ZMPを0とした場合の終端位置・速度ΔXse, ΔVseを次式により求める。
ΔXse=R(Xe, x0)*Δx0+R(Xe, v0)*Δv0
ΔVse=R(Ve, x0)*Δx0+R(Ve, v0)*Δv0
【0207】
次いでS1506に進み、ZMPパラメータの補正量Δc,Δeを次式によって求める。
Δc=R(c, Xe)*(Δx+ΔXse)+R(c, Ve)*(Δv+ΔVse)
Δe=R(e, Xe)*(Δx+ΔXse)+R(e, Ve)*(Δv+ΔVse)
【0208】
次いでS1508に進んでZMPパラメータc,eをS1208で用いたのと同じ式によって求める。続いて図36フロー・チャートのS1430,S1432を経て図39フロー・チャートに進み、S1600およびS1602で第4の実施の形態と同様の処理を行ってS1604に進み、ZMP軌道補正量を求める。これは、図28においてパラメータc=Δc,e=Δe、その他の折点のZMPの値を0としたパターンである。
【0209】
次いでS1606に進み、モデル初期位置・速度を xmdl(0)=Δx0,vmdl(0)=Δv0とし、ZMPmdl として上記ZMP軌道補正量を入力し、モデルの挙動を逐次演算によって計算する。即ち、モデルの前回(時刻t−Δt)の位置・速度と今回(時刻t)のZMP軌道補正量に基づいて離散化モデル式によってモデルの今回(時刻t)の位置・速度を求める。但し、最初の制御周期では、モデルの今回の位置・速度を xmdl(0)=Δx0、vmdl(0)=Δv0とする。尚、離散化モデルには、現代制御理論で一般的に用いられるマトリクス表現モデルを用いれば良い。
【0210】
次いでS1608に進んで次式に従って、モデル位置を補正量として混合上体位置に加えることによって目標上体位置を求める。
x(k)=xmix(k)+xmdl(kΔt)
但し、x(k):目標上体位置
xmix(k):混合歩容の上体軌跡時系列のk番データ
xmdl(kΔt):時刻kΔtのモデル位置、である。
【0211】
第5の実施の形態は上記の如く構成したことから、第4の実施の形態と同様の効果を得ることができる。
【0212】
より具体的には線形倒立振子モデルを用いたことから、メモリ(ROM84)の容量が僅少で足り、逐次演算などによってわずかな計算量でリアルタイムに上体軌道の摂動を計算することができる。また、このモデル式は厳密解が容易に求められ、この厳密解から将来の挙動予測を容易に行うことができる。
【0213】
尚、ZMPパラメータに対する終端上体位置・速度の感度は厳密解によって求められるが、指数関数演算を含んでいるので、予めその値を求めて記憶しておいた方が演算時間を一層節約することができる。
【0214】
図40はこの発明の第6の実施の形態を示すフロー・チャートである。
【0215】
先にも触れたが、初期遊脚足平位置、終端遊脚足平位置を摂動させても、それによる慣性力が無視できる場合、すなわちZMPがほとんど変化しない場合には、歩容の生成を簡略化することができる。第6の実施の形態は、それを意図した。
【0216】
この明細書で定義する歩容では、終端時刻は遊脚が着地した瞬間であり、そのときにはZMPは未だ支持脚足平の接地面に設定されている。従って、終端遊脚足平位置を変えても、それによる慣性力が無視できるなら、ZMPパラメータを変える必要はないが、設定ZMPパターンの初期位置が初期遊脚足平位置・姿勢のつまさきに存在するように通常設定されることから、初期遊脚足平位置を変えるときは、ZMPパターンも変更しなければならない。
【0217】
以下、初期遊脚足平位置を変えるなどZMPパラメータを変更する場合を例にとって、第5の実施の形態との相違点に焦点をおいて説明する。
【0218】
図40フロー・チャートにおいてS1700からS1710まで第5の実施の形態と同様の処理を経てS1712に進む。第6の実施の形態では動力学的平衡条件を満足させるために、ZMPパターンの変更に伴い、以下の処理を追加変更した。
【0219】
即ち、S1712においては図41に示すように、時刻0におけるZMPの値をpとすると共に、ZMPパラメータの内でcとeとpを、c=0,e=0,p=1、その他の折点でのZMPの値を0、初期状態をx0=0,v0=0として、歩容の終端時刻まで摂動動力学モデルの挙動を計算し、終端モデル位置Xe、終端モデル速度Veを求める。
【0220】
次いでZMPパラメータpに対する終端モデル位置Xeの偏微分的感度を次式によって求める。
R(Xe,p)=Xe
【0221】
同様に、ZMPパラメータpに対する終端モデル速度Veの偏微分的感度を次式によって求める。
R(Ve,p)=Ve
【0222】
続いてS1728まで第5の実施の形態と同様の処理を行い、S1730に進んで歩容の混合を行う。即ち、図42フロー・チャートのS1800において従前の実施の形態のいずれかの手法で混合歩容パラメータを作成する。このとき、初期上体位置・速度、終端上体位置・速度、初期遊脚足平位置および終端遊脚足平位置も要求値に近いものをベース歩容として選択する。
【0223】
但し、ベース歩容を選択した後、初期上体位置・速度、終端上体位置・速度、初期遊脚足平位置および終端遊脚足平位置に関しては、直接設定パラメータから除外して、他の実施例と同様に混合歩容を作成する。従って、初期上体位置・速度、終端上体位置・速度、初期遊脚足平位置および終端遊脚足平位置は、ベース歩容のままの値となる。
【0224】
続いてS1802,S1804の処理を経てS1806に進み、初期遊脚足平位置要求値と混合歩容の初期遊脚足平位置との差を求め、それをΔpとする。続いてS1808に進んでモデルの初期ZMPをΔpとし、その他の折点でのZMPを0とした場合の終端位置・速度ΔXpe、ΔVpeを次式により求める。
ΔXpe=R(Xe, p)*Δp
ΔVpe=R(Ve, p)*Δp
【0225】
続いてS1810に進んでZMPパラメータの補正量Δc,Δeを次式によって求める。
Δc=R(c, Xe)*(ΔXe +ΔXse+ΔXpe)+R(c, Ve)*(ΔVe +ΔVse+ΔVpe)
Δe=R(e, Xe)*(ΔXe +ΔXse+ΔXpe)+R(e, Ve)*(ΔVe +ΔVse+ΔVpe)
【0226】
続いて図40フロー・チャートに戻り、S1732に進んで目標歩容のパラメータに上記混合歩容のパラメータを代入する。但し、ZMPパラメータc,eには、S1812で求めた値を代入する。また、初期遊脚足平位置パラメータおよび終端遊脚足平位置パラメータには要求値を代入する。
【0227】
続いてS1734から図43フロー・チャートに進み、S1900,S1902で第5の実施の形態と同様の処理を行う。これによって初期遊脚足平位置と終端遊脚足平位置の要求を満足する足平軌道と、補正されたZMP軌道が得られる。次いでS1904に進み、ZMP軌道補正量を求める。これは図44に示す如く、パラメータc=Δc,e=Δe,p=Δp、その他の折点のZMPの値を0としたZMPパターンである。
【0228】
尚、残余の構成は、第5の実施の形態と異ならない。
【0229】
第6の実施の形態は上記の如く構成したので、第4ないし第5の実施の形態と同様の効果を得ることができると共に、初期上体位置・速度が異なる歩容を標準歩容として記憶しておく必要がないので、記憶容量を一層低減することができる。
【0230】
図45はこの発明の第7の実施の形態を示す、図3に示す第1の実施の形態と同様の歩容生成装置のブロック図である。但し、第7の実施の形態では上体水平位置の算出手法が異なる。
【0231】
第7の実施の形態においては、得られた今回(時刻t)の混合歩容の両足平の位置・姿勢、ZMPおよび上体高さZと前回(時刻t−Δt)の状態(上体位置・速度など)をロボット運動モデル(ダイナミクスとキネマティクスと各種拘束式、制約条件式からなる)に入力して、動力学的平衡条件を満足した上体位置の水平座標(X、Y)の今回値(瞬時値)を算出するようにした。
【0232】
即ち、第7の実施の形態においては、第2の実施の形態と同様に、図46フロー・チャートのS2000ないし2014から図47フロー・チャートのS2100ないしS2104の処理を経て図46に戻り、S2022から図48のS2200以降に進み、S2206において混合歩容の上体と混合歩容の足平の運動から動力学的に計算されるZMPが混合歩容のZMPパラメータから求められる設定ZMPに一致するように、混合歩容の上体軌道を逐次演算によって求めるようにした。
【0233】
但し、歩容初期では、上体の位置・速度には適宜設定した初期上体位置・速度パラメータ値を使用する。即ち、1歩の歩容は、初期上体位置・速度パラメータ値から始まって、逐次演算によって順々に計算することによって求められる。
【0234】
この手法では、演算量が多く、終端上体位置姿勢が要求値から若干ずれる欠点があるが、動力学的平衡条件を厳密に満足させることができる。
【0235】
尚、第7の実施の形態において、今回の上体高さと上体水平位置を、動力学的平衡条件と上体高さ決定法の拘束式を同時に満足するように求めても良い。従前の実施の形態では、演算時間短縮のため、上体高さは短時間に大きく変化することはないと仮定して、前回上体水平位置を用いて上体高さを算出した。
【0236】
このように上記した第1ないし第7の実施の形態において、少なくとも上体24と、前記上体に関節10,12,14R(L)を介して連結される複数本の脚部リンク2とからなる脚式移動ロボットの歩容生成装置において、少なくとも1歩分の歩容について、それぞれ床反力に関するパラメータを含むパラメータの集合からなる複数種の標準歩容を記憶する標準歩容記憶手段(S10など)、歩容に関する要求を行う歩容要求手段(S24など)、および前記歩容に関する要求に対して前記標準歩容を1個ないし複数個選択し、前記選択した標準歩容を基に近似演算を行うことにより、前記歩容に関する要求を満足する近似歩容を生成する歩容生成手段(S26ないしS30,S100ないしS106,S200ないしS206など)を備える如く構成した。
【0237】
また、前記歩容生成手段は、前記選択した歩容を加重平均して前記近似歩容を求める(S100ないしS106,S200ないしS206など)如く構成した。
【0238】
また、前記歩容生成手段は、前記選択した歩容のパラメータ感度を用いて前記近似歩容を求める(S500,S600ないしS604、S700ないしS706など)如く構成した。
【0239】
また、前記歩容生成手段は、前記選択した歩容を加重平均すると共に、前記選択した歩容のパラメータ感度を用いて前記近似歩容を求める(S800,S900ないしS906,S1000ないしS1006など)如く構成した。
【0240】
また、前記歩容生成手段は、前記標準歩容の少なくとも1個についてその単位変更量当たりの他のパラメータの変更量を前記歩容のパラメータ感度として求めて記憶する記憶手段(S500,S800など)を備え、前記記憶された歩容のパラメータ感度を用いて前記近似歩容を求める如く構成した。
【0241】
また、前記標準歩容生成手段は、前記標準歩容の床反力に関するパラメータに対するその他のパラメータの摂動の関係を表現する表現手段(S1104ないしS1114など)を備え、前記表現された摂動の関係に基づいて前記近似歩容を補正し、境界条件において少なくとも変位および速度が連続するように前記歩容に関する要求を満足する歩容を生成する(S1128,S1200ないしS1208)如く構成した。
【0242】
また、前記その他のパラメータの摂動が上体の水平位置の摂動である如く構成した。
【0243】
また、前記関係が線形モデルで表現される如く構成した。
【0244】
また、前記関係が倒立振子モデルで表現される如く構成した。
【0245】
また、前記関係が時系列値で表現される如く構成した。
【0246】
また、前記歩容生成手段は、前記床反力に関するパラメータが所定の条件にあるときは、そのパラメータを除外して前記近似歩容を求める(S1730,S1800ないしS1812)如く構成した。
【0247】
また、前記歩容生成手段は、前記生成された歩容に基づいて前記ロボットの関節角度を算出する関節角度算出手段(S302)、および算出された関節角度となるように前記ロボットの関節を駆動制御する関節駆制御手段(S306)を備える如く構成した。
【0248】
また、前記関節角度決定手段は、前記ロボットの状態量を検出する検出手段(S300,S400ないしS406)、および検出された状態量に基づいて前記ロボットの位置および姿勢を修正する修正手段(S408)を備え、前記関節角度算出手段は、修正された位置および姿勢となるように前記ロボットの関節角度を算出する如く構成した。
【0249】
尚、上記した第1ないし第7の実施の形態において、近似演算の例は図示のもの止まらず、他にも種々の変形が可能である。
【0250】
また、上記した第1ないし第7の実施の形態において、上体位置は上体24内のある基準点を支持脚接地点から見た座標で記述している。この基準点は左右方向に関しては、中心に設定すべきであるが、前後方向に対しては以下のように幾つかの設定法がある。
設定法1)上体の重心に設定する(第1ないし第7の実施の形態で採用)
設定法2)直立時に全体重心位置と一致するような位置に設定する。
設定法3)試行錯誤によって、適当な位置に設定する。
【0251】
いずれの設定方式を採用しても、上体の向きが一定である歩行の場合には差が生じないが、旋回歩行など、上体の向きが変化する場合には、基準点の取り方によって誤差の生じ方が異なってくる。たとえば、図49に示すように、基準点を紙面右方向に移動させながら、基準点まわりに上体を回転させる場合を考えると、基準点が上体の中央にある場合と、前寄りにある場合とでは、明らかに上体の位置関係が異なっていることが分かる。
【0252】
混合歩容(要求歩容)を生成する際に、異なる旋回角を持つ歩容を混合する例を示したが、歩容を混合することは一種の近似である。しかし、以上の理由から、基準点の設定次第で混合された歩容が微妙に異なり、動力学平衡条件に対する近似精度が変化する。
【0253】
従って基準点は、なるべく動力学平衡条件に対する誤差が小さくなるように設定されるべきである。上記の設定法のいずれが最適であるか、または、いずれであっても支障ないかは、ロボットの構造や歩行のさせ方による。
【0254】
更に、動力学平衡条件の精度を高めるために、上体位置の時系列テーブルの代わりに、ロボット全体重心の時系列テーブルを使うことも考えられる。但し、欠点として、ロボット全体重心が指示された位置になるようにロボットの姿勢を求めるために、かなりの演算が必要となる。
【0255】
また、上記において、歩容パラメータとして(変位)加速度については述べなかったが、歩容の境界において加速度まで合わせる方が、より滑らかな歩容が生成されることは言うまでもない。
【0256】
また、この発明を2足歩行ロボットに関して説明してきたが、2足歩行ロボットに限らず、多脚ロボットにも応用することができる。
【0257】
【発明の効果】
床反力を含む歩容を自在かつリアルタイムに生成して任意の歩幅や旋回角などを実現することができる。また、生成された歩容同士の境界においてロボットの各部位の変位および速度が連続させることができる。更に、リアルタイムに生成した歩容に基づいて脚式移動ロボットを駆動制御することができる。
【図面の簡単な説明】
【図1】この発明に係る脚式移動ロボットの歩容生成装置を全体的に示す説明図である。
【図2】図1に示す2足歩行ロボットの制御ユニットの詳細を示すブロック図である。
【図3】この発明に係る脚式移動ロボットの歩容生成装置の動作を機能的に示すブロック図である。
【図4】この発明に係る脚式移動ロボットの歩容生成装置の動作を示すメイン・フロー・チャートである。
【図5】図3および図4の歩容生成動作で使用する標準歩容の中の第0標準歩容の遊脚位置および姿勢を示す説明図である。
【図6】図5の第0標準歩容の足平軌跡を示すタイミング・チャートである。
【図7】図5の第0標準歩容のZMP(X座標)のタイミング・チャートである。
【図8】図3および図4の歩容生成動作で使用する標準歩容の中の第1標準歩容の遊脚位置および姿勢を示す説明図である。
【図9】図8の第1標準歩容のZMP(X座標)のタイミング・チャートである。
【図10】図3および図4の歩容生成動作で使用する標準歩容の中の第2標準歩容の遊脚位置および姿勢を示す説明図である。
【図11】図10の第2標準歩容のZMP(X座標)のタイミング・チャートである。
【図12】図3および図4の歩容生成動作で要求された要求歩容の遊脚位置および姿勢を示す説明図である。
【図13】図12の要求歩容のZMP(X座標)のタイミング・チャートである。
【図14】図4フロー・チャートの中の歩容混合作業を示すサブルーチン・フロー・チャートである。
【図15】図14フロー・チャートの動作を説明する説明図である。
【図16】図15と同様に図14フロー・チャートの動作を説明する説明図である。
【図17】図4フロー・チャートの中の目標歩容の瞬時値算出作業を示すサブルーチン・フロー・チャートである。
【図18】図3および図4の歩容生成動作で生成された歩容に基づいて行われる、本出願人が先に提案した両脚コンプライアンス制御のフロー・チャートである。
【図19】図18フロー・チャートの中の両脚コンプライアンス操作量算出作業を示すサブルーチン・フロー・チャートである。
【図20】この発明の第2の実施の形態に係る装置の動作を示す、図4と同様のメイン・フロー・チャートである。
【図21】図20フロー・チャートの中の歩容混合作業を示すサブルーチン・フロー・チャートである。
【図22】図20フロー・チャートの中の目標歩容の瞬時値算出作業を示すサブルーチン・フロー・チャートである。
【図23】この発明の第3の実施の形態に係る装置の動作を示す、図4と同様のメイン・フロー・チャートである。
【図24】図23フロー・チャートの中の歩容混合作業を示すサブルーチン・フロー・チャートである。
【図25】図23フロー・チャートの中の目標歩容の瞬時値算出作業を示すサブルーチン・フロー・チャートである。
【図26】この発明の第4の実施の形態に係る装置の動作を示す、図4と同様のメイン・フロー・チャートである。
【図27】従前の実施の形態で生成された上体位置などの歩容を示すタイミング・チャートである。
【図28】図26フロー・チャートの動作における境界条件合わせを説明するZMP(X座標)のタイミング・チャートである。
【図29】図26フロー・チャートの動作の動作を説明するZMP(X座標)のタイミング・チャートである。
【図30】同様に図26フロー・チャートの動作の動作を説明するZMP(X座標)のタイミング・チャートである。
【図31】同様に図26フロー・チャートの動作の動作を説明するZMP(X座標)のタイミング・チャートである。
【図32】同様に図26フロー・チャートの動作の動作を説明するZMP(X座標)のタイミング・チャートである。
【図33】図26フロー・チャートの中の歩容混合作業を示すサブルーチン・フロー・チャートである。
【図34】図26フロー・チャートの中の目標歩容の瞬時値算出作業を示すサブルーチン・フロー・チャートである。
【図35】図26フロー・チャートに示す第4の実施の形態で生成される歩容を示す説明タイミング・チャートである。
【図36】この発明の第5の実施の形態に係る装置の動作を示す、図4と同様のメイン・フロー・チャートである。
【図37】第5の実施の形態で使用する倒立振子モデルの説明図である。
【図38】図36フロー・チャートの中の歩容混合作業を示すサブルーチン・フロー・チャートである。
【図39】図36フロー・チャートの中の目標歩容の瞬時値算出作業を示すサブルーチン・フロー・チャートである。
【図40】この発明の第6の実施の形態に係る装置の動作を示す、図4と同様のメイン・フロー・チャートである。
【図41】図40フロー・チャートの第5の実施の形態の動作を説明するタイミング・チャートである。
【図42】図40フロー・チャートの中の歩容混合作業を示すサブルーチン・フロー・チャートである。
【図43】図40フロー・チャートの中の目標歩容の瞬時値算出作業を示すサブルーチン・フロー・チャートである。
【図44】図40フロー・チャートの動作を説明するタイミング・チャートである。
【図45】この発明の第7の実施の形態に係る装置の構成および動作を示す、図3と同様のブロック図である。
【図46】第7の実施の形態に係る装置の動作を示すメイン・フロー・チャートである。
【図47】図44フロー・チャートの中の歩容混合作業を示すサブルーチン・フロー・チャートである。
【図48】図44フロー・チャートの中の目標歩容の瞬時値算出作業を示すサブルーチン・フロー・チャートである。
【図49】この発明に係る脚式移動ロボットの歩容生成装置が生成する歩容における上体の位置を説明する説明図である。
【符号の説明】
1 2足歩行ロボット(脚式移動ロボット)
2 脚部リンク
10,12,14R,L 股関節
16R,L 膝関節
18,20R,L 足関節
22R,L 足平
24 上体
26 制御ユニット
Claims (13)
- 少なくとも上体と、前記上体に関節を介して連結される複数本の脚部リンクとからなる脚式移動ロボットの歩容生成装置において、
a.少なくとも1歩分の歩容について、それぞれ床反力に関するパラメータを含むパラメータの集合からなる複数種の標準歩容を記憶する標準歩容記憶手段、
b.歩容に関する要求を行う歩容要求手段、
および
c.前記歩容に関する要求に対して前記標準歩容を1個から複数個選択し、前記選択した標準歩容を基に近似演算を行うことにより、前記歩容に関する要求を満足する近似歩容を生成する歩容生成手段、
を備えたことを特徴とする脚式移動ロボットの歩容生成装置。 - 前記歩容生成手段は、前記選択した歩容を加重平均して前記近似歩容を求めることを特徴とする請求項1項記載の脚式移動ロボットの歩容生成装置。
- 前記歩容生成手段は、前記選択した歩容のパラメータ感度を用いて前記近似歩容を求めることを特徴とする請求項1項記載の脚式移動ロボットの歩容生成装置。
- 前記歩容生成手段は、前記選択した歩容を加重平均すると共に、前記選択した歩容のパラメータ感度を用いて前記近似歩容を求めることを特徴とする請求項1項記載の脚式移動ロボットの歩容生成装置。
- 前記歩容生成手段は、
d.前記標準歩容の少なくとも1個についてその単位変更量当たりの他のパラメータの変更量を前記歩容のパラメータ感度として求めて記憶する記憶手段、
を備え、前記記憶された歩容のパラメータ感度を用いて前記近似歩容を求めることを特徴とする請求項3項または4項記載の脚式移動ロボットの歩容生成装置。 - 前記標準歩容生成手段は、
e.前記標準歩容の床反力に関するパラメータに対するその他のパラメータの摂動の関係を表現する表現手段、
を備え、前記表現された摂動の関係に基づいて前記近似歩容を補正し、境界条件において少なくとも変位および速度が連続するように前記歩容に関する要求を満足する歩容を生成することを特徴とする請求項1項から5項のいずれかに記載の脚式移動ロボットの歩容生成装置。 - 前記その他のパラメータの摂動が上体の水平位置の摂動であることを特徴とする請求項6項記載の脚式移動ロボットの歩容生成装置。
- 前記関係が線形モデルで表現されることを特徴とする請求項6項または7項記載の脚式移動ロボットの歩容生成装置。
- 前記関係が倒立振子モデルで表現されることを特徴とする請求項8項記載の脚式移動ロボットの歩容生成装置。
- 前記関係が時系列値で表現されることを特徴とする請求項6項または7項記載の脚式移動ロボットの歩容生成装置。
- 前記歩容生成手段は、前記床反力に関するパラメータが所定の条件にあるときは、そのパラメータを除外して前記近似歩容を求めることを特徴とする請求項1項から10項のいずれかに記載の脚式移動ロボット歩容生成装置。
- 前記歩容生成手段は、
f.前記生成された歩容に基づいて前記ロボットの関節角度を算出する関節角度算出手段、
および
g.算出された関節角度となるように前記ロボットの関節を駆動制御する関節駆動制御手段、
を備えることを特徴とする請求項1項から11項のいずれかに記載の脚式移動ロボットの歩容生成装置。 - 前記関節角度決定手段は、
h.前記ロボットの状態量を検出する検出手段、
および
i.検出された状態量に基づいて前記ロボットの位置および姿勢を修正する修正手段、
を備え、前記関節角度算出手段は、修正された位置および姿勢となるように前記ロボットの関節角度を算出することを特徴とする請求項12項記載の脚式移動ロボットの歩容生成装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP21395397A JP3658147B2 (ja) | 1996-07-25 | 1997-07-25 | 脚式移動ロボットの歩容生成装置 |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8-214261 | 1996-07-25 | ||
| JP21426196 | 1996-07-25 | ||
| JP21395397A JP3658147B2 (ja) | 1996-07-25 | 1997-07-25 | 脚式移動ロボットの歩容生成装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH1086081A JPH1086081A (ja) | 1998-04-07 |
| JP3658147B2 true JP3658147B2 (ja) | 2005-06-08 |
Family
ID=26520069
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP21395397A Expired - Fee Related JP3658147B2 (ja) | 1996-07-25 | 1997-07-25 | 脚式移動ロボットの歩容生成装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3658147B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20210147017A1 (en) * | 2015-11-11 | 2021-05-20 | Boston Dynamics, Inc. | Achieving a Target Gait Behavior in a Legged Robot |
Families Citing this family (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE69836765T2 (de) | 1997-01-31 | 2007-10-04 | Honda Giken Kogyo K.K. | Steuergerät eines mit beinen beweglichen roboters |
| JP3655056B2 (ja) * | 1997-08-04 | 2005-06-02 | 本田技研工業株式会社 | 脚式移動ロボットの制御装置 |
| DE69943148D1 (de) | 1998-04-20 | 2011-03-03 | Honda Motor Co Ltd | Steuereinheit für einen mit beinen beweglichen roboter |
| US6961640B2 (en) | 2000-11-17 | 2005-11-01 | Sony Corporation | Motion control for a legged robot |
| KR100661333B1 (ko) | 2000-11-17 | 2006-12-27 | 혼다 기켄 고교 가부시키가이샤 | 레그식 이동 로봇의 보용 생성장치 |
| CN100515694C (zh) | 2000-11-17 | 2009-07-22 | 本田技研工业株式会社 | 双脚行走机器人的远程操纵装置 |
| JP3627057B2 (ja) * | 2001-11-19 | 2005-03-09 | 独立行政法人科学技術振興機構 | 二脚歩行式人型ロボット |
| DE60237999D1 (de) | 2001-12-28 | 2010-11-25 | Honda Motor Co Ltd | Vorrichtung zur steuerung des ganges für mobilen roboter mit beinen |
| US7487011B2 (en) | 2001-12-28 | 2009-02-03 | Honda Giken Kogyo Kabushiki Kaisha | Gait generation device for legged mobile robot |
| KR100924505B1 (ko) | 2002-01-18 | 2009-11-02 | 혼다 기켄 고교 가부시키가이샤 | 다리식 이동로봇의 제어장치 |
| JP3731118B2 (ja) * | 2002-02-18 | 2006-01-05 | 独立行政法人科学技術振興機構 | 二脚歩行式人型ロボット |
| DE602004029256D1 (de) | 2003-06-27 | 2010-11-04 | Honda Motor Co Ltd | Gangerzeugungsvorrichtung für beweglichen roboter mit beinen |
| JP4155993B2 (ja) | 2003-06-27 | 2008-09-24 | 本田技研工業株式会社 | 脚式移動ロボットの制御装置 |
| JP4735927B2 (ja) * | 2004-06-28 | 2011-07-27 | 独立行政法人産業技術総合研究所 | 人間型ロボットの制御装置 |
| US8014896B2 (en) | 2004-12-14 | 2011-09-06 | Honda Motor Co., Ltd. | Legged mobile robot and control program |
| EP1844908B1 (en) | 2004-12-14 | 2011-06-29 | Honda Motor Co., Ltd. | Legged mobile robot and control program for the robot |
| WO2006064599A1 (ja) | 2004-12-14 | 2006-06-22 | Honda Motor Co., Ltd. | 脚式移動ロボットおよびその制御プログラム |
| JP4833121B2 (ja) * | 2007-03-16 | 2011-12-07 | 敏男 福田 | 脚式ロボットと歩容生成装置と歩容修正装置を備えるシステム |
| KR101687630B1 (ko) * | 2010-01-11 | 2016-12-20 | 삼성전자주식회사 | 보행 로봇 및 그 균형 제어 방법 |
-
1997
- 1997-07-25 JP JP21395397A patent/JP3658147B2/ja not_active Expired - Fee Related
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20210147017A1 (en) * | 2015-11-11 | 2021-05-20 | Boston Dynamics, Inc. | Achieving a Target Gait Behavior in a Legged Robot |
| US12054208B2 (en) * | 2015-11-11 | 2024-08-06 | Boston Dynamics, Inc. | Achieving a target gait behavior in a legged robot |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH1086081A (ja) | 1998-04-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1018467B1 (en) | Gait generating device for leg type moving robot | |
| JP3658147B2 (ja) | 脚式移動ロボットの歩容生成装置 | |
| JP3672406B2 (ja) | 脚式移動ロボットの歩容生成装置 | |
| JP3640255B2 (ja) | 脚式移動ロボットの歩容生成装置 | |
| JP4641252B2 (ja) | 脚式移動ロボットの歩容生成装置 | |
| JP3726096B2 (ja) | 脚式移動ロボットの歩容生成装置 | |
| US7765030B2 (en) | Gait generator for mobile robot | |
| US7715945B2 (en) | Gait producing device for moving robot | |
| JPH06170758A (ja) | リンク式移動ロボットの制御装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041124 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050124 |
|
| 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: 20050222 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050311 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080318 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090318 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100318 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100318 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110318 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110318 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120318 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130318 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130318 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140318 Year of fee payment: 9 |
|
| LAPS | Cancellation because of no payment of annual fees |