JP3672406B2 - 脚式移動ロボットの歩容生成装置 - Google Patents
脚式移動ロボットの歩容生成装置 Download PDFInfo
- Publication number
- JP3672406B2 JP3672406B2 JP03317597A JP3317597A JP3672406B2 JP 3672406 B2 JP3672406 B2 JP 3672406B2 JP 03317597 A JP03317597 A JP 03317597A JP 3317597 A JP3317597 A JP 3317597A JP 3672406 B2 JP3672406 B2 JP 3672406B2
- Authority
- JP
- Japan
- Prior art keywords
- gait
- model
- zmp
- mixed
- perturbation
- 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
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D57/00—Vehicles 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/02—Vehicles 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
Landscapes
- Engineering & Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Description
【発明の属する技術分野】
この発明は、脚式移動ロボットの歩容生成装置に関し、より詳しくは脚式移動ロボットにおいて長期的に継続できる歩容を自在に生成するものに関する。
【0002】
【従来の技術】
従来の脚式移動ロボットにおいて、例えば特開平5−285868号公報記載の技術に示されるように、直進、方向転換などの種々の歩容を予めオフラインで設計し、設計値をロボットに搭載した制御用マイクロコンピュータのメモリに記憶させておき、歩行時に適当な順で出力して実行することが提案されている。
【0003】
また、特開昭62−97006号(特公平5−62363号)公報記載の技術も同様に予めオフラインで生成した歩行パターンデータをメモリに記憶させておき、歩行時に出力すると共に、必要に応じて記憶された時系列データ間を時間的に補間して刻み時間を細分化することを提案している。
【0004】
【発明が解決しようとする課題】
しかしながら、上記した従来技術にあっては、歩容データが予め決められているので、任意の歩幅や旋回角を実現するなど歩容を自在かつリアルタイムに生成することができなかった。
【0005】
そこで、本出願人は先に、特願平8−214261号において、従来技術の上記した不都合を解消すべく、脚式移動ロボットの位置(変位)、速度および床反力などのパラメータからなる歩容を、1歩づつ任意かつリアルタイムに生成して所望の歩幅や旋回角などを実現できるようにした技術を提案している。
【0006】
この発明の目的はその先に提案した技術の改良にあり、1歩と1歩との間の歩容の境界を滑らかに連続させるために、常に複数歩を考慮に入れることで歩容境界での連続性を保ちつつ長期に安定な姿勢を保って歩行継続できる歩容を任意に生成するようにした脚式移動ロボットの歩容生成装置を提供することにある。
【0007】
更には、常に複数歩を考慮に入れることで歩容境界での連続性を保つと共に、演算誤差による歩容の発散を防止し、よって長期に安定な姿勢を保ちつつ歩行継続できる歩容を任意に生成するようにした脚式移動ロボットの歩容生成装置を提供することにある。
【0008】
【課題を解決するための手段】
上記の目的を達成するために、この発明の構成を添付図面に使用する符号および実施の形態での表現を用いて説明する。
【0009】
請求項1項記載の発明においては、少なくとも基体(上体)24と、前記基体に関節10,12,14R(L)を介して連結される複数本の脚部リンク2とからなる脚式移動ロボット1の歩容生成装置において、少なくとも前記ロボットの基体24の変位および速度の少なくともいずれかに関するパラメータ(上体位置・速度)と前記ロボットに接地床面から作用する床反力に関するパラメータ(ZMP)とからなる時系列に続く少なくとも2個の歩容(第1歩容および第2歩容または今回歩容および次回歩容)生成する歩容生成手段(図3の標準歩容の集合、歩容生成処方決定装置および歩容混合装置。図20フロー・チャートのS10,S30,S32)、前記生成された少なくとも2個の歩容の間の境界における、前記基体の変位および速度の少なくともいずれかの不連続量Xm,Vm,Dmを算出する不連続量算出手段(図3のモデル挙動パラメータ決定器。図20フロー・チャートのS30、図26フロー・チャートのS112、図27フロー・チャートのS200からS206)、前記床反力の摂動に対する前記基体の変位および速度の少なくともいずれかの摂動の関係を近似する摂動動力学モデル(図3の摂動動力学モデルR,L。図20フロー・チャートのS36、図26フロー・チャートのS114)、前記算出された不連続量に基づいて、前記モデルが前記算出された不連続量を相殺しつつ、所定の時点において前記モデルが所定の状態となるように、前記モデルへの入力B1,B2を決定するモデル入力決定手段(図3のモデル挙動パラメータ決定器。図20フロー・チャートのS30、図26フロー・チャートのS112、図27フロー・チャートのS208からS210)、前記決定された入力に基づいて前記モデルの出力(モデルR,LZMP、モデルR,L状態量)を算出するモデル出力算出手段(図3のモデルR,L用ZMP波形発生器。図20フロー・チャートのS30,S34,S36、図26フロー・チャートのS114,S116)、および前記決定された入力および前記算出されたモデル出力に基づいて前記少なくとも2個の歩容の少なくともいずれかを修正する歩容修正手段(図20フロー・チャートのS38)を備える如く構成した。上記で「変位」は位置を意味する。
【0010】
請求項2項に記載する発明にあっては、前記モデルを複数個(摂動動力学モデルR,Lの2個)備えると共に、前記複数個のモデルが所定の歩容の数だけ(1歩)ずれて前記算出された不連続量を相殺するように設定される如く構成した。尚、前記モデルの個数は、3個以上であっても良い。
【0011】
請求項3項に記載する発明にあっては、前記モデル(摂動動力学モデルR,L)が、前記ロボット1を倒立振子で近似する如く構成した。
【0012】
請求項4項に記載する発明にあっては、さらに、前記モデル入力に対するモデル出力の特性を予め求めて記憶する記憶手段(図20フロー・チャートのS14、ROM84,RAM74)を備え、前記モデル入力決定手段は、前記記憶された特性に基づいて前記モデル入力を決定する如く構成した。
【0013】
請求項5項に記載する発明にあっては、前記モデル(摂動動力学モデルR,L)が前記歩容のうちの時系列的に最後の歩容の終端において停止するように設定される如く構成した。尚、所定の挙動は、結果として2つの挙動が滑らかに連続するようになるものであればどのようなものでも良い。
【0014】
請求項6項に記載する発明にあっては、前記モデル出力が前記床反力(モデルZMP和)および前記基体の変位(モデル変位和)の少なくともいずれかである如く構成した。
【0015】
【作用】
請求項1項に記載する発明にあっては、1歩と1歩との間の歩容の境界条件を滑らかに連続させ、換言すれば、常に複数歩を考慮に入れることで歩容境界での連続性を保ちつつ長期に安定な姿勢を保って歩行継続できる歩容を自在かつ適切に生成することができる。
【0016】
請求項2項に記載する発明にあっては前記モデルを複数個備えると共に、前記複数個のモデルが所定歩数ずれて前記算出された不連続量を相殺するように設定される如く構成したので、上記した作用・効果に加え、演算誤差が累積せず、よって長期に安定な姿勢を保ちつつ歩行継続することができる歩容を自在かつ適切に生成することができる。
【0017】
請求項3項に記載する発明にあっては前記モデルが前記ロボットを倒立振子で近似する如く構成したので、上記した作用効果に加え、演算量を低減することができる。
【0018】
請求項4項に記載する発明にあっては、さらに前記モデル入力に対するモデル出力の特性を予め求めて記憶する記憶手段を備え、前記モデル入力決定手段は前記記憶された特性に基づいて前記モデル入力を決定する如く構成したので、上記した作用効果に加えて演算量を一層低減することができる。
【0019】
請求項5項にあっては、前記モデルが終端状態において直立停止するように設定される如く構成したので、歩容境界での連続性を保ちつつ長期に安定な姿勢を保って歩行継続できる歩容を一層適切に生成することができる。
【0020】
請求項6項にあっては、前記モデル出力が前記床反力および/または前記基体の変位である如く構成したので、歩容境界での連続性を保ちつつ長期に安定な姿勢を保って歩行継続できる歩容を一層適切に生成することができる。
【0021】
【発明の実施の形態】
以下、添付図面を参照してこの発明に係る脚式移動ロボットの歩容生成装置を説明する。尚、脚式移動ロボットとしては2足歩行ロボットを例にとる。
【0022】
図1はその2足歩行ロボット1を含む装置全体の説明図である。
【0023】
図示の如く、2足歩行ロボット1は左右それぞれの脚部リンク2に6個の関節を備える(理解の便宜のために各関節をそれを駆動する電動モータで示す)。6個の関節は上から順に、股(腰部)の脚部回旋用の関節10R,10L(右側をR、左側をLとする。以下同じ)、股(腰部)のロール方向(Y軸まわり)の関節12R,12L、同ピッチ方向(X軸まわり)の関節14R,14L、膝部のロール方向の関節16R,16L、足部のロール方向の関節18R,18L、同ピッチ方向の関節20R,20Lから構成される。
【0024】
足部には足平22R,22Lが取着されると共に、最上位には上体(基体)24が設けられ、その内部に図2に関して後述するマイクロコンピュータからなる制御ユニット26などが格納される。上記において股関節(あるいは腰関節)は関節10R(L),12R(L),14R(L)から、足関節は関節18R(L),20R(L)から構成される。また股関節と膝関節とは大腿リンク28R,28L、膝関節と足関節とは下腿リンク30R,30Lで連結される。
【0025】
上記の構成により、脚部リンク2は左右の足についてそれぞれ6つの自由度を与えられ、歩行中にこれらの6*2=12個の関節を適宜な角度で駆動することで、足全体に所望の動きを与えることができ、任意に3次元空間を歩行させることができる(この明細書で「*」は乗算を示す)。
【0026】
尚、この明細書で後述する上体の位置およびその速度は、上体24の所定位置、具体的には上体24の重心位置などの代表点およびその(変位)速度を意味する。
【0027】
図1に示す如く、足関節の下方には公知の6軸力センサ44が取着され、接地面(床面)からロボット1に作用する床反力の3方向成分Fx,Fy,Fzとモーメントの3方向成分Mx,My,Mzとを測定し、足部の着地の有無ないしは接地荷重などを検出する。また、上体24には傾斜センサ60が設置され、Z軸(鉛直方向)に対する傾きとその角速度を検出する。また各関節の電動モータには、その回転量を検出するロータリエンコーダが設けられる。
【0028】
更に、図1では図示を省略するが、2足歩行ロボット1の適宜な位置にはジョイスティック62が設けられ、外部から必要に応じて直進歩行しているロボットを旋回させるなど、歩容に対する要求を入力できるように構成される。尚、歩容に対する要求は、ジョイスティックに代え、遠隔操縦装置を設けて行っても良く、あるいは通信を介して行っても良い。
【0029】
図2は制御ユニット26の詳細を示すブロック図であり、マイクロ・コンピュータから構成される。そこにおいて傾斜センサ60などの出力はA/D変換器70でデジタル値に変換され、その出力はバス72を介してRAM74に送られる。また各電動モータに隣接して配置されるエンコーダの出力はカウンタ76を介してRAM74内に入力される。
【0030】
制御ユニット内にはCPUからなる第1、第2の演算装置80,82が設けられており、第1の演算装置80は後述の如く、ROM84に格納されている標準歩容に基づいて後述の如く自在かつリアルタイムに歩容を生成すると共に、関節角指令値を算出し、RAM74に送出する。また第2の演算装置82はRAM74からその指令値と検出された実測値とを読み出し、各関節の駆動に必要な制御値を算出してD/A変換器86とサーボアンプを介して各関節を駆動する電動モータに出力する。
【0031】
図3はこの装置の構成および動作を機能的に示すブロック図である。
【0032】
最初に、先の出願(特願平8−214261号)で提案した歩容生成手法について概説する。
【0033】
その先に提案した技術(特願平8−214261号)は、本出願人が更にその前に特開平5−305585号公報において提案したコンプライアンス制御技術を前提とする。
【0034】
そのコンプライアンス制御技術においては、床反力の目標位置と実測位置の偏差を検出し、その偏差を解消するように脚部の一方または双方を駆動して姿勢の安定化を図ると共に、ロボットが倒れそうになると、目標床反力を意図的にずらすことによって実床反力をずらして姿勢復元力を得ている。先の出願(特願平8−214261号)では、そのようなコンプライアンス制御によるロボットの姿勢安定化制御を行うために必要な目標歩容を自在に生成することを意図した。
【0035】
それらで提案した脚式移動ロボットの制御においては、目標運動軌跡と目標床反力パターンの関係が動力学的平衡条件を満足していなければ、安定した歩行を実現することができない。動力学的平衡条件とは、具体的には、例えば、目標床反力中心点(目標床反力分布の2次モーメントが0になる床上の作用点)とZMP(Zero Moment Point...運動による慣性力と重力の合力が床と交わる点)が一致することである。一致していないと、コンプライアンス制御が働いたときに、慣性力と重力の合力と床反力との間の動バランスを崩し、転倒する。
【0036】
先に提案したコンプライアンス制御においては、それをロボットが不安定となったときの姿勢回復に逆用しているが、脚式移動ロボットにおいてはこのように歩行制御に与える目標歩容として、目標の運動パターンだけではなく、目標の運動パターンと動力学的平衡条件を満足する目標床反力パターンも必要である。
【0037】
目標床反力は、一般的には、作用点とその点に作用する力と力のモーメントによって表現される。作用点はどこにとっても良いので、同一の目標床反力でも無数の表現が考えられるが、特に前述の目標床反力中心点を作用点にして目標床反力を表現すると、力のモーメントは、床に垂直な成分を除けば、0になる。
【0038】
尚、前述のように、目標の運動軌道と動力学的平衡条件を満足する目標床反力中心点軌道はZMPと一致するから、目標床反力作用中心点軌道の代わりに目標ZMP軌道を与えると言っても同じことである。従って、上記は、「歩行制御に与える目標値(目標歩容)としては、目標運動軌跡だけでなく、目標ZMP軌道(目標床反力パターン)も必要である」と言い換えることができる。
【0039】
このように、目標歩容は広義には1歩ないしは複数歩の期間の目標運動軌跡とその目標床反力パターンの組であり、狭義には1歩の期間(例えば、両脚支持期の初期から片脚支持期の終端まで)の目標運動軌跡とそのZMP軌道の組であって、一連の歩行は、いくつかの歩容がつながったものである。尚、両脚支持期は言うまでもなく、ロボット1がその自重を脚部リンク2の双方で支持する期間を、片脚支持期は脚部リンク2の一方で支持する期間をいう。片脚支持期においてロボット1の自重を支持しない側の脚部リンクを遊脚という。
【0040】
目標歩容は、以下の条件を満たさなければならない。
条件1)動力学的平衡条件を満足していること。即ち、ロボット1の目標運動軌跡から動力学的に算出されるZMP軌道が目標ZMP軌道と一致していること。条件2)ロボット1の歩行計画部や歩行経路誘導部(共に図示せず)、あるいはオペレータから歩幅や旋回角など歩容が満たすべき条件が要求される場合、それらの要求条件を満たしていること。
【0041】
条件3)足平が床を掘ったり擦ったりしない、関節角度が可動範囲を超えない、関節速度が限界を超えないなどの、キネマティクス(運動学)に関する制約条件を満たしていること。
条件4)片脚支持期においてZMPが支持脚足平接地面内になければならない、駆動系の最大能力を超えないなどの、ダイナミクスに関する制約条件を満たしていること。
【0042】
条件5)境界条件を満たしていること。即ち、条件1)の当然の帰結として、歩容と歩容の境界では、少なくとも、各部位の位置・速度が連続であるという境界条件が導かれる(不連続であれば、無限大の力が発生したり、ZMPが接地面からはるかに遠くの点に移動してしまうから)。
【0043】
即ち、第n+1回歩容の初期状態は、第n回歩容の終端状態(特に、足平位置に対する上体の位置・姿勢および速度)に一致するように設定されなければならない。
【0044】
一般的に、目標歩容は、後述する標準歩容のように、パラメータ値あるいは時系列テーブルを含む歩容発生アルゴリズムによって発生させられる。しかし、パラメータ値あるいは時系列テーブルを十分な配慮もせずに設定しただけでは、作成された歩容が前記の歩容条件をすべて満足しているか否かは分からない。
【0045】
特に、長期的歩行に適した終端上体位置および速度の範囲が分かっていたとしても、ZMP軌道に基づいて上記した条件1)を満足する上体の軌道を歩容発生アルゴリズムに従って生成する場合には、発生した歩容の終端での上体位置と速度の両方がその範囲に入るようにZMP軌道に関するパラメータを設定することは、極めて難しい。
【0046】
その理由は次の通りである。
理由1)上体は、一旦、ZMPから遠くに離れると、さらに遠くに離れようとする発散傾向がある。これを説明するために、図4に示すようなロボットの上体の挙動に近い倒立振子の挙動を例に挙げる。
【0047】
倒立振子は重心の床投影点が支点からずれると、ずれが発散して倒れる。しかし、そのときも倒立振子の慣性力と重力の合力は支点上に作用し(即ち、ZMPが支点に一致し)、支点から受ける床反力に釣り合っている。即ち、動力学的平衡条件は、運動する物体のその瞬間における慣性力と重力と床反力の関係を表すだけのものである。
【0048】
動力学的平衡条件を満足していればロボットの長期歩行が保証されたように錯覚しやすいが、ロボットの姿勢が崩れているか否かとは全く関係がない。倒立振子の重心が支点の真上から離れると、ますます遠くに離れようとする傾向があるように、ロボットの重心がZMPの真上から遠くに離れるとますます遠くに離れようとする発散傾向がある。
【0049】
理由2)片脚支持期においてZMPが支持脚足平接地面内になければならないなどの厳しい制約条件があるために、上体の加減速パターンを恣意的に設定することができず、位置を合わせようとすると速度が合わず、速度を合わせようとすると位置が合わず、なかなか両方を同時に一致させることは難しい。
【0050】
以上の問題点のために、前記歩容条件を全て満たした目標歩容のパラメータやテーブルをリアルタイムに決定することは、従来では不可能であった。そのため、前記した従来技術では、自在な歩行は実現されていなかった。その意図から、先の出願(特願平8−214261号)では、一歩の歩容を、パラメータに対する要求を満たしつつ生成するようにした。
【0051】
ところで、既に生成された目標歩容1に連結する、目標歩容2を生成する場合、この2つの歩容の境界において、上体や足平の位置(変位)・速度が連続になっていなければならない。先の出願では、目標歩容を以下の手順で生成した。先ず、目標歩容1との境界での上体の位置・速度の条件を無視し、それ以外の目標歩容2に関する要求を満足するように予め記憶しておいた複数の標準歩容を混合することにより生成していた。
【0052】
次に、図4に示すような倒立振子型の摂動動力学モデルを用い、混合歩容に補正ZMPパターンと動力学平衡条件を満足する補正上体位置パターンを加えることにより、目標歩容1との境界条件も満足する目標歩容2を生成していた。
【0053】
しかし、連続にするための上体の初期位置・速度の要求値が、上記混合歩容から大きくずれている場合でも、補正上体位置パターンをその境界条件を満足させるように強引に変更させていたことから、補正ZMPパターンの振幅が過大になり、ZMPの足平接地面内での存在などを要求する補正制約条件を満足しきれなくなることがあった。
【0054】
それを解消しようとして、逆に、補正ZMPパターンの振幅を十分な配慮をせずに強引に小さく抑えてしまうと、それと動力学平衡条件を満足する補正上体位置パターンが犠牲になり、終端上体位置・速度が長期的歩行に適した範囲を超えてしまう。この状態を放置しておくと、上体位置が発散し、大きく姿勢を崩して歩行が困難になる。このように、隣合う歩容の境界条件を設定する際に、単に一方の歩容に他方の境界条件を合わせるだけでは不十分であった。
【0055】
従って、この発明においては、先の出願で提案したように一歩ごとに境界条件を直接的に設定する手法は用いずに、複数の歩容、より具体的には2歩の間でZMPパターンと上体位置パターンを操作するようにした。
【0056】
即ち、図5に示す如く、先の出願で提案した手法に従って生成された2個の歩容を連続させて継続的に目標歩容を発生させるときに、歩容境界での上体位置・速度に不連続が生じ、ZMPが距離aだけ無限遠点に移動してしまう。尚、この明細書では1つないしは複数の歩容から、歩容の境界条件を除く、要求を満足する歩容を生成することを「歩容混合」という。
【0057】
しかしながら、歩容境界において摂動動力学モデルの位置・速度を上記歩容と逆向きに不連続にすると、その瞬間だけ、摂動動力学モデルのZMPは、上記歩容と逆向きに距離−aだけ移動し、それによってZMPの移動を相殺できることが知見された。
【0058】
即ち、混合歩容の運動に対して動力学的平衡条件を満たすZMPに摂動動力学モデルのZMPを加えると、同図に示す如く、合成された目標歩容において上体の位置は連続し、ZMPの瞬間的な移動を解消できることが知見された。混合歩容を作成するときに用いるロボットモデルと摂動動力学モデルがかけ離れていなければ、混合歩容の運動に対して、動力学的平衡条件を満たすZMPと摂動動力学モデルのZMPは互いに打ち消し合う。
【0059】
この発明は、以上の知見に基づく。
【0060】
ところで、混合歩容のZMPは、歩行時には設定ZMPパラメータから算出される。設定ZMPパラメータから算出されるZMPは、もともと歩容境界での不連続がないものとして設定されている。従って、設定ZMPパラメータから算出されるZMPと摂動動力学モデルのZMPから目標ZMPを求める場合には、摂動動力学モデルの位置・速度を歩容境界で不連続にすることによる摂動動力学モデルのZMPへの影響は零とみなす必要がある。
【0061】
換言すれば、不連続に対応するZMPの移動がどのくらいであるかを気にする必要はなく、従って図6に示す如く、ただ単に、混合歩容の歩容境界条件の不連続を打ち消すように、摂動動力学モデルの上体位置・速度だけを不連続に変化させれば良いことになる。
【0062】
ここで、図4に示す倒立振子型の摂動動力学モデルについて説明する。倒立振子型の摂動動力学モデルは、ZMPの摂動に対する上体位置・速度の摂動の関係を表す線形モデルであり、この発明でも使用する。
【0063】
即ち、ロボット1の上体24の質量がそれ以外の部位の質量に比べて十分に大きく、かつ歩行時に上体の上下加速度が小さいと仮定すると、ZMPの摂動に対する上体位置・速度の摂動の関係は、次式および図4に示す如く、線形倒立振子モデルで近似することができる。図示の如く、このモデルにあっては、支点22aも移動自在である。
【0064】
dxmdl/dt=v
dvmdl/dt=ω0*(xmdl−ZMPmdl)
ここで、xmdl:線形倒立振子の重心位置、vmdl:線形倒立振子の重心速度である。またω0は正の定数であり、上体重心高さhと重力加速度gとほぼ次の関係を持つ。
ω0=√(g/h)
【0065】
このように、倒立振子で近似したことから、演算量を低減させることができる。尚、図においてZMPmdlは線形倒立振子のZMPである。
【0066】
この装置においては先の出願と同様に上記のような摂動動力学モデルを備えると共に、境界での上体の位置・速度と目標ZMPの連続性を無視して生成した2個の混合歩容の間にX,Y方向の位置・速度の不連続量が生じたとき、図7に示す如く摂動動力学モデルにモデル位置スキップ量、モデル速度スキップ量、モデルZMP移動量を発生させ、歩容境界での不連続を解消するようにした。
【0067】
尚、ここで図7および以下の明細書で使用する用語について少し触れておくと、2個の混合歩容の内の時間的に先行する歩容を「第1歩容」、後行する歩容を「第2歩容」という。「第1歩容」および「第2歩容」は、摂動動力学モデルの挙動を論じるときの概念である。「第1歩容」「第2歩容」に加え、「第1混合歩容」「第2混合歩容」という表現も使用するが、「第1混合歩容」は第1歩容の生成に用いられる混合歩容を、「第2混合歩容」は第2歩容の生成に用いられる混合歩容を意味する。
【0068】
また、上で述べたように混合歩容境界でのずれを「不連続量」、具体的には位置不連続量Xm、速度不連続量Vm、ZMP不連続量Dmといい、その不連続量を打ち消すために摂動動力学モデルに加える、意図的なずらし量を、上記の如く「スキップ量」、具体的には、モデル位置スキップ量Xs、モデル速度スキップ量Vs、モデルZMP移動量Dsという。
【0069】
尚、モデルZMP移動量はZMP不連続量に対応して求められるが、そのZMP不連続量はより具体的には、第2歩容の初期遊脚位置要求値と混合歩容の初期遊脚位置との差である。補足すると、本来、この差が0であれば、混合歩容のZMPは連続になるように生成されるが、歩幅や歩隔を変更するために混合歩容の初期遊脚位置を変更すると、この差が0ではなくなり、混合歩容のZMPは不連続になる。これを打ち消すように、モデルZMP移動量が決定される。
【0070】
これらスキップ量は具体的には、次のように決定される。
Xs=−Xm
Vs=−Vm
Ds=−Dm
【0071】
ここで、図7に示すように、倒立振子に与えるZMPパターンは台形状の波形となっている。台形の高さを「バイアス」ともいい、第1歩容のそれを「第1歩容ZMPバイアスB1」第2歩容のそれを「第2歩容ZMPバイアスB2」という。バイアスB1,B2は、より具体的には第1歩容および第2歩容でのZMPの定常的な摂動量を示す。尚、この明細書で位置・速度およびZMPはX方向についてのみ示すが、Y方向についても同様である。
【0072】
尚、モデルZMPの座標系原点は、支持脚接地面に設定する。従って、第1歩容と第2歩容とでは座標系の原点が異なる。モデルZMPを第1歩容の座標系から見続ければ連続である。しかし、第1歩容の座標系から見た第1歩容終端モデルZMPは0であるが、第2歩容の座標系から見た第2歩容の初期モデルZMPは、図7に示す如く、−Dsとなる。一方、第2混合歩容の初期遊脚位置を初期遊脚位置要求値に書き換えると、つまさきにあるべき初期ZMPが、つまさきから−Dm位置にずれる。従って、第2混合歩容に、第2歩容の座標系から見たモデルZMPを加えることにより得られる第2歩容の初期ZMPは、つまさきから−Ds−Dm(=0)の位置、即ち、本来あるべき、つまさきに存在する。
【0073】
ここで、モデル演算誤差について説明する。
【0074】
モデルの挙動、即ち、モデルZMPを長時間演算した場合、図8に示すようにモデル位置、即ち、モデル変位には誤差が累積する。倒立振子型摂動動力学モデルは不安定系なので、わずかな演算誤差があっても、それが累積すれば発散してしまう。例えば、倒立振子型摂動動力学モデルの挙動計算を数十秒間実行すると、倒立振子に1度以上の誤差が発生することがある。
【0075】
従って、長期継続的な歩行を実現するためにはその累積誤差を解消することが望ましい。そのために、この発明においては倒立振子型摂動動力学モデルを複数個備え、1つの倒立振子(型摂動動力学モデル)が歩行終端時期など所定の時期になったら、その倒立振子を変位がZMP操作量と一致するように、強制的に所定の姿勢、具体的には直立停止させるようにした。
【0076】
即ち、図9に示す如く、倒立振子型摂動動力学モデルを2個備え、図10に示すようにモデルそれぞれには2歩の間に直立停止する(前記した「所定の挙動を示す」に相当)ようなモデルZMPパターンしか加えないこととし、2歩後にモデルを強制的にリセット、即ち、モデルの速度を0に書き換え、変位をモデルZMPに強制的に一致させるようにした。
【0077】
図10でモデル1はA点で、モデル2はB点で速度を0にされて直立停止させられる。従って、モデル全体としては図10下部に示すように連続する動作を示すが、個々のモデルの演算値はその度にリセットされるので、誤差が累積することがない。
【0078】
この場合、数歩以上にわたる複雑なモデルZMPパターンは、それぞれのモデルに与えられるモデルZMPパターンの和によって作成すれば良い。
【0079】
上記を前提として図3を参照してこの発明に係る装置を説明する。尚、同図において線Cより上の部位の処理は歩行の始め、あるいは1歩ごとに行われ、下の部位の処理は制御周期ごと、例えば20msごとに行われる。
【0080】
この装置にあっても先の出願と同様に、標準歩容の集合が用意される。標準歩容は、オフラインにおいて上体が発散せず、その後の長期継続的な歩行が保証される終端状態を持つように生成される。例えば、静止状態から歩き始める始動歩容、加速歩容、等速度歩容、減速歩容、停止歩容など、一連の連続した歩容の列は、長期継続的な歩行が保証された標準歩容の代表例である。
【0081】
歩容は、歩容パラメータによって記述される。歩容パラメータは、運動パラメータとZMPパラメータ(より一般的に表現すれば、床反力パラメータ)から構成される。尚、この明細書で「床反力パラメータ」なる語は、「床反力の時間的なパターンに関するパラメータ」を意味するものとして使用する。
【0082】
ZMPパラメータは、X,Y,Z座標(方向)について折れ線グラフ状のZMP軌道の折れ点の位置と通過時刻で示される(図13などに示す)。この明細書および図面ではX座標のみ言及するが、Y座標についても同様である。尚、ZMPのZ方向は混合歩容を生成する段階で連続になっているものとし、ZMPのZ方向を倒立振子によって連続化する必要はないものとする。
【0083】
運動パラメータは、足平軌道パラメータと上体軌道パラメータとから構成される。足平軌道パラメータは、初期(離床時)遊脚位置および姿勢、終端(着床時)遊脚位置および姿勢、両脚支持期時間、片脚支持期時間などを含む。上体軌道パラメータは、上体の姿勢を決定するパラメータ、上体高さ(Z方向の値)を決定するパラメータ、初期の上体位置(変位)および速度パラメータなどから構成される。
【0084】
それらに基づき、混合歩容瞬時値発生器において先に本出願人が別途、特開平5−318339号および特開平5−324115号公報などで提案した技術を用いて、両足平の位置・姿勢および上体の位置・速度および姿勢の瞬時値が求められる。但し、上体の位置・速度の境界条件は無視して作られる。尚、ここで「瞬時値」は、制御周期ごとの値を意味する。
【0085】
速度は具体的には、位置の制御周期ごとの値(瞬時値)の差分を演算して求める。尚、ここで「姿勢」は空間上の向きを、上体の位置は前記の如く、上体24の重心位置などの代表点の位置を意味する。
【0086】
シーケンサは一連の歩行の時間管理と歩容の切替えを行ない、具体的には時刻を初期化する、制御周期ごとに時刻を更新する、目標歩容の終端時期を判断して目標歩容を切替え、時刻を初期化し、支持脚を切り替えるなどの作業を行う。尚、両脚支持期においても、脚の区別をつけるために、1歩の間、常に接地している脚を支持脚、それ以外を遊脚という。
【0087】
歩容生成処方決定装置においては、目標歩容を生成するための混合歩容の作り方を決定する。具体的には、混合する標準歩容を選択し、加重平均の重みを決定し、遊脚足平位置の修正量を決定する。ここで、遊脚足平位置の修正量は、目標歩容の遊脚初期位置要求値と混合歩容の初期遊脚位置の差である。
【0088】
モデル挙動パラメータ決定器においては先に触れたように、先ず、歩容生成処方決定装置で作られた今回混合歩容と次回混合歩容の間の上体位置・速度の不連続量を求める。更に、その不連続量と遊脚足平位置の修正量に基づいて摂動動力学モデルの位置・速度スキップ量とモデルZMP移動量を、最終的に得られる目標歩容が連続するように、決定する。また、摂動動力学モデルの位置・速度スキップ量とモデルZMP移動量から、ZMP補正量を決定する。
【0089】
モデル挙動パラメータ決定器が決定するZMP補正量は、原則として1歩の時間の間に1回だけ台形パターンを発生する。ZMP補正量は摂動動力学モデルに与えるZMPのパターンであるので、この明細書では「モデルZMP」、より詳しくは「モデルZMPパラメータ」または「モデルZMP軌道パラメータ」という。モデル挙動パラメータ決定器は、このようにZMP補正量(図に「モデルR用ZMPパラメータ」あるいは「モデルL用ZMPパラメータ」と示す)も決定する。モデルZMPパラメータは、台形の高さと、モデルZMP移動量と各折れ点の時間配分とから構成されるが、この実施の形態では時間配分は歩容に関わらず、固定する。
【0090】
モデルRないしL用ZMP波形発生器においては、そのZMPパラメータに基づき、モデルZMP(瞬時値)を算出する。
【0091】
この装置においてはRとLの2つの摂動動力学モデルR,Lを備え、ZMP波形発生器もモデルR用とモデルL用の2つからなる。摂動動力学モデルR,Lは図4に示した倒立振子型の摂動動力学モデルであり、リアルタイムで状態量(モデルの上体位置・速度)を計算する。
【0092】
歩容混合装置においては、歩容生成処方決定装置で決定した歩容生成処方および標準歩容(の集合)に基づき、混合歩容生成アルゴリズムに従って後述の如く混合歩容パラメータを生成する。
【0093】
混合歩容瞬時値発生器においては、歩容生成処方決定装置で決定した歩容生成処方に基づき、前述の混合歩容生成アルゴリズムに従って混合歩容の瞬時値(制御周期ごとの値)、具体的には混合上体位置・速度、混合目標ZMP、混合上体姿勢(目標上体姿勢)および混合足平位置・姿勢(目標足平位置・姿勢)を決定する。
【0094】
決定された混合上体位置には、摂動動力学モデルR,Lを介して決定されるモデルR,Lの変位の和が加算され、目標上体位置が決定される。また、決定された混合目標ZMPには、モデルR,L用ZMP波形発生器を介して決定されるモデルR,LのZMPの和が加算され、目標ZMPが決定される。
【0095】
目標上体位置などは安定化制御装置に送られ、そこで上体傾斜角など検出された各種姿勢安定化制御量に基づき、必要に応じて目標上体位置などが修正され、修正目標上体位置・速度、修正目標ZMP、修正目標足平位置・姿勢および修正目標上体姿勢が決定される。これが、前記したコンプライアンス制御に相当する。
【0096】
姿勢安定化制御装置の出力は逆キネマティクス演算器に送られ、そこで入力値から逆キネマティクス演算によって関節角指令値が決定される。脚式移動ロボット1の関節は図1に示すように12関節から構成されているので、12個の関節について関節角指令値が一義的に決定される。上記の処理は図2に示す第1の演算装置80の動作であり、決定された関節角指令値となるように第2の演算装置82において関節角サーボ制御が行われる。尚、安定化制御装置およびそれ以降の構成はこの発明に係る歩容生成装置を構成せず、それらでの処理は先の出願に述べたので、説明は省略する。
【0097】
ここで標準歩容についての説明を補足すると、標準歩容はより具体的には、この明細書で時間関数として表し、1つの歩容は次のように定義されるg(t)とf(t)の組で表すようにした。
g(t):運動を記述する関数(この関数値は、時刻tにおけるロボット全体の位置・姿勢を表す。具体的には全体の位置・姿勢は、上体の位置・姿勢、両足平の位置・姿勢で表される)。
f(t):ZMP軌道を記述する関数(この関数の値は前記の如く、時刻tにおけるZMPの位置(x,y,z) を表す)。
【0098】
また歩容関数はパラメータを意識して記号表記するようにした。即ち、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座標時系列
【0099】
この表記では、時系列も一種のパラメータとして扱っている。本来は、初期上体位置・速度パラメータを与えることで、上体高さを決定する拘束条件があれば、上体位置の時系列テーブルがなくても歩容は一義的に定まる。即ち、上体位置の時系列は冗長なものであるが、前述したようにリアルタイム歩容生成の演算時間短縮のために、上体位置の時系列テーブルも歩容を記述するパラメータのように扱っている。
【0100】
この実施の形態では、初期上体位置・速度パラメータも歩容によって異なるが、上体位置の時系列を明記している場合には、時系列の最初の2つから初期上体位置・速度パラメータ値が算出できるので、その記述を省略する。
【0101】
この実施の形態においては標準歩容として、前記した如く、静止状態から歩き始める歩容など複数種の歩容をオフラインで予め作成しておくが、以下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)
【0102】
これら標準歩容の初期遊脚足平位置・姿勢と終端遊脚足平位置・姿勢などを、図11ないし図17に示す。歩容を表現するために、座標系を図に示すように、支持脚足平接地位置のある基準点を原点にし、支持脚足平の前後方向をX軸、左右方向をY軸にとる。
【0103】
ここで図18および図19に示すような歩容に関する要求が与えられたと仮定し、上記した標準歩容から前記歩容条件を満たすように要求歩容(以下「要求混合歩容」と言う)を生成する作業を例にとって歩容混合装置の動作を説明する。尚、要求混合歩容は、任意の初期遊脚足平向きa3および任意の初期遊脚足平前後位置b3を持つ。尚、要求混合歩容に対し、歩容境界での上体位置・速度と初期および終端遊脚足平位置は、要求しなくても良い。この要求は、要求混合歩容に摂動動力学モデルの挙動を加えることによって満たされるからである。
【0104】
当然、要求混合歩容のパラメータaの値はa3、bの値はb3である。問題は、歩容の条件を満たすように、その他のパラメータc,dおよびテーブルx(k), y(k)を如何に決定するかである。
【0105】
そこで、要求混合歩容を
g( t: a3, b3, c3, d3, x3(k), y3(k))
f( t: a3, b3, c3, d3)
とおき、パラメータc3, d3および時系列テーブルx3(k), y3(k)を決定する。
【0106】
ここで、用語を定義すると、パラメータaおよびbは、この装置以外の外部(オペレータのジョイスティック62などの操作による)または別の装置からこの装置に対して要求設定値(前記した「歩容に関する要求」に同じ)として入力される値を含む。このように、直接的にある設定値を要求されるパラメータを直接設定パラメータと呼ぶ。
【0107】
それに対し、パラメータc,dおよびテーブルx(k), y(k)のように、直接設定パラメータの値に応じて歩容の条件を満たすように値が決定されるパラメータ(またはテーブル)を、従属パラメータ(または従属テーブル)と呼ぶ。時系列テーブルを直接的に設定することは極めて難しいので、時系列テーブルが直接設定パラメータとなることはほとんどない。
【0108】
また、第0標準歩容以外の第1および第2標準歩容は、第0標準歩容を基準として、直接設定パラメータ(ここでは、パラメータaとb)の内でただひとつだけを変えたものである。このように、選択された標準歩容の核となる歩容(第0標準歩容)をベース歩容と呼ぶ。
【0109】
ここで、要求歩容のパラメータ(この明細書では要求歩容のパラメータを「混合パラメータ」とも言う)の求め方を説明すると、従属パラメータc3, d3および従属時系列テーブルx3(k), y3(k)は、いずれも、歩容の条件を満たすために、直接設定パラメータaとbに応じて変化する。しかも、パラメータaとbの変化に対して、これらの値は連続的に変化するものと考えられる。即ち、これらは、パラメータaとbの連続関数である。そこで以下に述べる近似原理を利用することができる。即ち、近似演算を行うことにより要求歩容のパラメータを求めることができる。
【0110】
関数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 に関する偏微分値
【0111】
更に、
δ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
と書き直すことができる。
【0112】
要求歩容のパラメータの求め方の説明を続けると、具体的には以下の式のように全ての従属パラメータ、全ての従属時系列テーブルに対して内分または外分することによって、標準歩容から要求混合歩容のパラメータを求める。これは、直接設定パラメータと従属パラメータとは比例関係にあると考えることができるからである。
【0113】
a3がa1とa2の内側にあれば内分、外側にあれば外分である。また、違いが動力学的に無視できる一部のパラメータ、一部の時系列テーブルは、内分、外分せず、ベース歩容のままであっても良い。更に、時系列テーブルに関しては、全時刻のデータをすべて一度に計算すると第1の演算装置80の負荷が大き過ぎるので、制御周期毎に今回時刻のデータだけ内分、外分すれば良い。
【0114】
以下に従属パラメータおよび従属テーブルの混合式(内分または外分による)を示す。
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 )
【0115】
上記の混合式は、各標準パラメータおよびテーブル値の加重平均(重み付き平均)となっている。例えば、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 )
の加重平均となっている。
【0116】
上記の手法によって混合歩容のパラメータを決定し、次いでオフラインで作成された標準歩容と同一の歩容生成アルゴリズムによって混合歩容の各時刻における瞬時値(制御周期ごとの値)を生成する。
【0117】
上記を前提として、以下、図20フロー・チャートを参照してこの装置の動作を説明する。
【0118】
先ず、S10においてオフラインで作成した前記標準歩容のデータ群をROM84(またはRAM74)に記憶させる。次いでS12に進み、各々の標準歩容の終端の上体位置・速度を求めて記憶する。
【0119】
支持脚の位置・姿勢を一致させながら、複数個の標準歩容を加重平均して得られる混合歩容においては、初期・終端での上体位置・速度は、標準歩容の歩容境界における上体位置・速度の加重平均に一致する。そこでこの実施の形態においては、予め標準歩容の初期・終端での上体位置・速度をテーブル化して記憶し、歩行時に読み出し、混合歩容の初期および終端の上体位置・速度を演算する。
【0120】
例えば、終端の上体位置・速度は先に述べた如く、上体24の位置が関数x(k),y(k) としてテーブル化されているので、終端位置・速度はテーブルの最後とその直前の時刻のデータから求める。具体的には最後の時刻の値を終端位置とすると共に、最後とその直前の時刻の値の差分を求めて終端速度とする。
【0121】
次いで、S14に進んで摂動動力学モデルの挙動に関する知識を獲得する。
【0122】
摂動動力学モデルの挙動予測を瞬時に行って希望通りのモデル挙動を実現するモデルZMP軌道パターンを即座に求めるために、この実施の形態では基本的なモデルZMP軌道パターンに対するモデルの挙動特性を予め求めて前記ROM84あるいはRAM74に記憶する。以降、このための基本的なモデルZMP軌道パターンを、「基本モデルZMPパターン」という。
【0123】
即ち、図21および図22に示す如く、第1歩容および第2歩容においてモデルZMPを移動させたときのモデル変位、即ち、ZMPバイアスに対する挙動特性を予め求めて記憶する。
【0124】
更に、図23ないし図25に示すように、モデルZMP移動量、モデル位置スキップ量、およびモデル速度スキップ量についても単位量当たりのモデルの挙動特性も演算して記憶しておく。これらは後述の如く、ZMPバイアスを決定するときに使用する。
【0125】
ここで、モデルZMP軌道パターン(図では「モデルZMP」と示す)は前記の如く台形パターンによって構成され、その時間配分は、第1歩容と第2歩容の種類(始動歩容、定常旋回歩容、停止歩容など)によって固定される。基本モデルZMP軌道パターンは時間配分以外のパラメータに対して1つだけを単位量とし、それ以外を0とした。
【0126】
具体的には、倒立振子(モデル)の初期状態を直立停止状態(即ち、モデル変位=0)とし、各基本ZMP軌道パターンに対する倒立振子の挙動を逐次演算で求めるか、あるいは解析的に導き、倒立振子の第2歩容終端での位置・速度を保存する。また、倒立振子の初期状態を直立停止状態とし、モデルZMPを0として第1歩容と第2歩容の境界において倒立振子の位置または速度を不連続的に単位量だけスキップさせた場合の挙動を求め、第2歩容終端での位置・速度を保存する。
【0127】
このように、摂動動力学モデルが線形であるので、所望の特徴を持つモデル挙動を上記基本モデル挙動の線形結合で実現することができ、モデル入力を基本モデルZMPパターンの線形結合として容易に得ることができることから、演算量を低減することができる。
【0128】
図20フロー・チャートの説明に戻ると、次いでS16に進み、摂動動力学モデルとそれに関連したパラメータ、即ち、モデル軌道パラメータ(歩容境界でのスキップ量など)やモデルZMPパラメータなどの初期化を行う。
【0129】
続いてS18に進んでタイマ値tを0とし(タイマをスタートさせ)、S20を経てS22に進み、タイマ割り込みを待つ(S18のタイマとは異なる)。この割り込み用タイマは例えば、20ms(制御周期20ms)ごとに起動される。
【0130】
S22でタイマ割り込みが確認されるとS24に進み、そこで歩容の切り替わり目、即ち、現在の1歩の歩容が完了したか否か判断する。そして否定されるときは直ちにS32に進むと共に、肯定されるときはS26に進んでタイマを0にリセットし、S28に進んで支持脚の切換えを行う。具体的には、前回(前の支持脚)がRならば今回はL、前回がLならば今回はRとする。
【0131】
尚、説明の便宜のため、今回支持脚をR(L)、今回遊脚をL(R)で表す。尚、以降、混乱を起こさないように、「今回歩容」と「次回歩容」、および「第1歩容」と「第2歩容」の使い分けを説明する。「今回歩容」とは、今回の制御周期における歩容生成演算が完了して出力される歩容である。この歩容の直前につながる歩容が「前回歩容」、この歩容の直後につながる歩容が「次回歩容」である。これに対し、「第1歩容」および「第2歩容」は前記の如く、摂動動力学モデルの挙動を論じるときの概念である。
【0132】
続いてS30に進んで歩容切り替わり目処理を行う。
【0133】
図26はその処理を示すサブルーチン・フロー・チャートである。
【0134】
以下説明すると、先ずS100において歩容の切り替わり目であることから、今回歩容パラメータ値を前回歩容パラメータに、次回歩容パラメータ値を今回歩容パラメータに上書きする(書き換える)。また、次回混合歩容を作成するための、混合する標準歩容の識別ナンバーと重みの値も、今回混合歩容を作成するための、混合する標準歩容の識別ナンバーと重みの変数に上書きする。
【0135】
続いてS102に進み始動歩容か、即ち、歩行初めか否か判断し、否定されるときは直ちにS108に進むと共に、肯定されるときはS104に進んで今回歩容(摂動動力学モデルR(L)にとっての第1歩容)の直接設定パラメータの要求値を読み込み、S106に進んで今回混合歩容(同様に摂動動力学モデルR(L)にとっての第1混合歩容)を作成するための、混合する標準歩容の選択と重みを決める。このとき、終端における遊脚足平位置に対する要求は無視しても良い。但し、旋回角(初期遊脚足平姿勢)は満足することとする。
【0136】
続いてS108に進んで次回歩容(第2歩容)の直接設定パラメータの要求値を読み込み、S110に進んで次回混合歩容(第2混合歩容)を作成するための、混合する標準歩容の選択と重みを決める。
【0137】
このとき、初期と終端における遊脚足平位置に対する要求は無視しても良い。但し、旋回角(初期遊脚足平向き)は満足させることとする。標準歩容として、初期遊脚足平位置が異なるものが用意されているならば、ベース歩容としてその中から最も要求値に近いものを選ぶ。選んだ後は、混合によって要求値に厳密に一致させる必要はない。強引に一致させると、上体の軌道が標準歩容から大きくずれ、歩容の長期継続性が損なわれるからである。
【0138】
続いてS112に進んでモデルR(L)の軌道パラメータ(状態量)とZMPパラメータを決定する。前述の如く、モデルR(L)軌道パラメータは、モデルR(L)が今回混合歩容(第1混合歩容)と次回混合歩容(第2混合歩容)の境界での混合歩容の不連続を打ち消すように決定すると共に、モデルR(L)用ZMPパラメータは、今回歩容と次回歩容のZMP軌道がつながり、かつモデルR(L)が2歩後、即ち、次回歩容終了後に直立停止するように決定する。
【0139】
図27はその作業を示すサブルーチン・フロー・チャートである。
【0140】
先ずS200において、前記した第2歩容に対する初期遊脚位置要求値と第2混合歩容(第2歩容のための混合歩容)の初期遊脚位置の差Dmを算出する。例えば、第2歩容の初期遊脚位置を−50cmと予定したが、生成された混合歩容では−40cmであった場合にその差−10cmを算出する作業である。
【0141】
続いてS202に進み、モデルR(L)のZMPパラメータの内のモデルZMP移動量Dsに値−Dmを代入する。(例で言えば、モデルZMP移動量Dsは10cmとなる。)
【0142】
続いてS204に進み、今回混合歩容(第1混合歩容)の終端上体位置・速度と次回混合歩容(第2混合歩容)の初期上体位置・速度を求める。これは、混合する各々の標準歩容の終端または初期位置・速度にそれぞれ混合重みを乗算し、求めた積の和を求めることで行う。標準歩容の終端位置・速度は先のS12で求めて記憶されているので、それを利用して算出することによって演算の高速化を図る。
【0143】
続いてS206に進み、算出した今回混合歩容と次回混合歩容の境界での、前記した上体位置・速度の不連続量Xm,Vmを算出する。
【0144】
続いてS208に進み、上記不連続量Xm,Vmをキャンセルするため、その逆数−Xm,−Vmを、モデルR(L)の軌道パラメータの内のモデルの位置スキップ量Xsおよびモデルの速度スキップ量Vsに代入する。
【0145】
続いてS210に進み、上記設定に加え、更に、第2歩容終端でモデルが停止するように、即ち、第1歩容の座標系から見て終端でのモデル位置XcがDs(即ち、−Dm)、モデル速度Vcが0になるように、モデルR(L)のZMPパラメータの内の第1歩容ZMPと第2歩容ZMPを強制的に移動させる量(前記第1、第2歩容ZMPバイアス)B1,B2を決定する。具体的には、以下の原理に基づいて決定する。第1、第2歩容ZMPバイアスB1,B2は図7に良く示す。
【0146】
先ず、B1とB2を0にしたまま、設定した位置スキップ量Xs、速度スキップ量VsおよびモデルZMP移動量Ds通りの挙動をさせると、その挙動は線形結合であることから、各設定値を単独で設定したときの挙動の和になる。従って、この挙動の第2歩容終端でのモデル位置Xcと速度Vcは、次式で求められる。尚、次式のXxなどの定数の意味は、図21ないし図25に示す通りである。
【0147】
【0148】
上記挙動に、更に第1歩容ZMPバイアスB1に対する挙動と第2歩容ZMPバイアスB2に対する挙動を合成したときに第2歩容終端でのモデル位置XcがDs(即ち、−Dm)、速度Vcが0になるように第1歩容ZMPバイアスB1と第2歩容ZMPバイアスB2の値を決定する。
【0149】
そのためには、次式を満足しなければならない。
【0150】
式1と式2から次式が得られる。
【0151】
即ち、式1によりモデル位置Xcおよびモデル速度Vcを求め、次に式3の連立方程式を解いて第1、第2歩容ZMPバイアスB1,B2を求めれば良い。
【0152】
図26に戻ると、続いてS114に進み、丁度1歩前に動き出したモデルL(R)の位置・速度を、1歩前にS210で演算されたモデルL(R)の位置スキップ量Xs、速度スキップ量Vsに従って動作(スキップ)させる。尚、同時にモデルを今回歩容の座標系に変換すると共に、モデルL(R)のZMPパラメータも座標変換する。尚、モデルL(R)は1歩前から動き出しているので、モデルL(R)にとって第1歩容は前回歩容であり、第2歩容は今回歩容である。
【0153】
続いてS116に進み、モデルR(L)を直立停止(強制リセット)させる。即ち、位置および速度を0にする。これは前記の如く、演算誤差累積防止のためである。
【0154】
続いてS118に進み、選択された標準歩容と重みから今回混合歩容パラメータを作成する。このときの標準歩容と重みは、今回歩容が始動歩容でなければ、一歩手前の歩容切り替わり目にS110で求められた次回用のものが、S100で今回用に上書きされたものである。
【0155】
続いてS120に進んで今回混合歩容パラメータの遊脚終端位置に要求値を代入する。遊脚終端位置を変更しても、遊脚の慣性力が少し変化するだけであるから、混合歩容の動力学的平衡には余り影響しない。従って、遊脚終端位置を変更しても、ZMPパラメータは変更しない。
【0156】
続いて、S122に進んで前回混合歩容と今回混合歩容の足平軌道の境界条件を一致させるように、今回混合歩容の初期遊脚位置(正確には両脚支持期にあって接地中であるが、離床しようとする方の脚の位置パラメータ)を書き換える。初期遊脚位置を書き換えたことによってZMPの初期位置が遊脚つまさきからずれて不連続を生じることに対しては、前記の如く、モデルZMP移動量によって不連続量が解消される。
【0157】
図20に戻ると、続いてS32に進んで混合歩容の瞬時値(制御周期ごとの値、制御周期:t)を生成する(S24で否定されるときも同様である)。
【0158】
図28はその作業を示すサブルーチン・フロー・チャートである。
【0159】
以下説明すると、先ずS300において混合歩容パラメータに基づいて時刻tにおける混合目標ZMPを求め、S302に進んで混合歩容パラメータおよび標準歩容に基づいて前記提案技術を用いて時刻tでの混合足平位置・姿勢を求め、S304に進んで時刻tの混合足平位置・姿勢と時刻t−Δtの上体水平位置から時刻tでの上体高さを求める。これは例えば、本出願人が特願平8−214260号で提案した技術を用いる。
【0160】
続いてS306に進み、選択した標準歩容(ベース歩容を含む)の時刻tでの上体位置に基づいて前記した混合式に従って時刻tでの上体水平位置を算出する。これで、混合歩容の瞬時値が全て決定されたことになる。
【0161】
図20に戻ると、続いてS34に進んで摂動動力学モデルRとL用のモデルZMPの今回瞬時値を計算する。
【0162】
この作業を説明すると、モデルR(L)用ZMPパラメータに基づき、第1歩容におけるモデルZMP瞬時値を算出してモデルR(L)のZMP瞬時値とする。続いてモデルL(R)用ZMPパラメータに基づき、第2歩容におけるモデルZMP瞬時値を算出してモデルL(R)のZMP瞬時値とする。但し、第2歩容におけるモデルZMPは第1歩容の場合とは座標系が異なり、両脚支持期の終端時のZMP瞬時値が、図29に示す如く、0になるように設定する。
【0163】
続いてS36に進み、摂動動力学モデルR,Lに上記で求めた各モデル用ZMP瞬時値を入力することによって摂動動力学モデルR,Lの挙動を計算する。更に、図3に示す如く、モデルR,Lを介して演算したモデルZMPを加算してモデルZMPの和を求めると共に、モデルR,Lの変位(上体の位置)を加算してモデル変位和を演算する。
【0164】
続いてS38に進んで混合歩容と摂動動力学モデルR,Lを合成する。即ち、図3に示す如く、演算したモデル変位和を混合上体位置・速度に加算して目標上体位置・速度とすると共に、演算したモデルZMP和を混合目標ZMPに加算して目標ZMPとする。
【0165】
尚、この実施の形態においては、混合歩容ではZMP軌道パラメータは初期遊脚足平位置の変更分を考慮していない。しかし、初期遊脚足平位置の変更によって必要なZMP軌道の変更は、摂動動力学モデル(倒立振子モデル)のZMP軌道に考慮されている。従って、合成される最終的な目標歩容のZMP軌道は、初期遊脚足平位置の変更分が考慮されたものとなり、不連続を生じない。
【0166】
続いてS40に進んで時刻tをΔtだけ更新し、S22に戻って上記の処理を繰り返す。
【0167】
上記の如くして図3に示す如く、目標上体位置、目標上体姿勢(混合上体姿勢)、目標足平位置・姿勢(混合足平位置・姿勢)および目標ZMPが決定され、前述の如く、姿勢安定化制御装置において必要があるときは姿勢修正(コンプライアンス制御)が行われ、逆キネマティクス演算器で関節角指令値が決定される。
【0168】
この実施の形態は上記の如く構成したので、歩容を自在かつリアルタイムに生成して任意の歩幅や旋回角を実現することができる。更には、リアルタイムに生成された歩容に基づいて脚式移動ロボットを目標関節角度に駆動制御させつつ、自在に歩行させることができる。
【0169】
より詳しくは、歩幅や旋回角についての任意の要求に対して記憶された幾つかの標準歩容からベースとなる歩容を適当に選択し、合成や変形などの混合操作、即ち、前記した近似演算を行うことにより、前記した歩容条件や歩容に関する要求を満足する近似歩容をリアルタイムに生成することができる。
【0170】
更には上記の如く構成したことから、微妙な角度・歩幅に設定することができ、ある程度(境界状態が近ければ)既存の標準歩容同士を組み合わせて混合することにより、それらの中間的な歩容を任意に生成することも可能である。
【0171】
また、上記の如く構成したことで演算量を低減することができる。具体的には、リアルタイムにダイナミクスを解くのに比べて第1の演算装置80の演算量が1/10程度に低減する。更に、最適な標準歩容を記憶しておき、それらを混合して歩容を生成するので、メモリ(ROM84)の容量も低減させることができる。更に、最適性を満足するので、条件1)から5)を満足する歩容を、試行錯誤を経ずに、容易に得ることができる。
【0172】
図30はこの発明に係る装置の第2の実施の形態を示す、図9と同様の倒立振子型摂動動力学モデルの説明図である。
【0173】
第1の実施の形態に係る装置においては、摂動動力学モデルを2個備えたが、第2の実施の形態においては3個備えるようにした。図31に示す如く、この場合、モデルZMP1は1歩目の初期から歩行を開始し、2歩目の終わり(終端)で強制リセット(直立停止)させられる。モデルZMP2は2歩目の中途から歩行を開始し、3歩の終わり(終端)で強制リセット(直立停止)させられ、モデルZMP3は3歩目の中途から歩行を開始し、4歩の終わり(終端)で強制リセット(直立停止)させられる。
【0174】
このように第2の実施の形態においても全体の動作としては図31下部に示すように連続するが、個々のモデルZMPは2歩ごとにリセットされる。その結果、計算値は理想値となり、演算誤差が累積することがない。
【0175】
以上の如く、第1および第2の実施の形態においては、少なくとも基体(上体)24と、前記基体に関節10,12,14R(L)を介して連結される複数本の脚部リンク2とからなる脚式移動ロボット1の歩容生成装置において、少なくとも前記ロボットの基体24の変位および/または速度に関するパラメータ(上体位置・速度)と前記ロボットに接地床面から作用する床反力に関するパラメータ(ZMP)とからなる1歩分の歩容を少なくとも2個(第1歩容および第2歩容または今回歩容および次回歩容)生成する歩容生成手段(図3の標準歩容の集合、歩容生成処方決定装置および歩容混合装置。図20フロー・チャートのS10,S30,S32)、前記生成された少なくとも2個の歩容の境界における、前記基体の変位および/または速度ならびに前記床反力の不連続量Xm,Vm,Dmを算出する不連続量算出手段(図3のモデル挙動パラメータ決定器。図20フロー・チャートのS30、図26フロー・チャートのS112、図27フロー・チャートのS200からS206)、前記床反力の摂動に対する前記基体の変位および/または速度の摂動の関係を近似する摂動動力学モデル(図3の摂動動力学モデルR,L。図20フロー・チャートのS36、図26フロー・チャートのS114)、前記算出された不連続量に基づいて、前記モデルが前記算出された不連続量を相殺するように、前記モデルへの入力B1,B2を決定するモデル入力決定手段(図3のモデル挙動パラメータ決定器。図20フロー・チャートのS30、図26フロー・チャートのS112、図27フロー・チャートのS208からS210)、前記決定された入力に基づいて前記モデルの出力(モデルR,LZMP、モデルR,L状態量)を算出するモデル出力算出手段(図3のモデルR,L用ZMP波形発生器。図20フロー・チャートのS30,S34,S36、図26フロー・チャートのS114,S116)、および前記決定された入力および前記算出されたモデル出力に基づいて前記少なくとも2個の歩容の少なくともいずれかを修正する歩容修正手段(図20フロー・チャートのS38)を備える如く構成した。これによって、1歩と1歩との間の歩容の境界条件を滑らかに連続させ、換言すれば、常に複数歩を考慮に入れることで歩容境界での連続性を保ちつつ長期に安定な姿勢を保って歩行継続できる歩容を適切に生成することができる。
【0176】
また、前記モデルを複数個(摂動動力学モデルR,Lの2個)備えると共に、前記複数個のモデルが所定歩数(1歩)ずれて前記算出された不連続量を相殺するように設定される如く構成した。それによって、上記した作用・効果に加え、演算誤差が累積せず、よって長期に安定な姿勢を保ちつつ歩行継続することができる歩容を適切に生成することができる。
【0177】
また、前記モデル(摂動動力学モデルR,L)が、前記ロボット1の摂動挙動を倒立振子で近似する如く構成した。それによって、上記した作用効果に加え、演算量を低減することができる。
【0178】
また、さらに、前記モデルに対し基本波形を入力したときのモデル出力の挙動特性(特に終端位置・速度)を予め求めて記憶する記憶手段(図20フロー・チャートのS14。ROM84,RAM74)を備え、前記モデル入力決定手段は、前記記憶された挙動特性に基づいて前記モデル入力を算出する如く構成した。それによって、上記した作用効果に加えて演算量を一層低減することができる。
【0179】
また、前記モデル(摂動動力学モデルR,L)が終端状態において直立停止するように設定される如く構成した。それによって、歩容境界での連続性を保ちつつ長期に安定な姿勢を保って歩行継続できる歩容を一層適切に生成することができる。
【0180】
また、前記モデル出力が前記床反力(モデルZMP和)および/または前記基体の変位(モデル変位和)である如く構成した。それによって、歩容境界での連続性を保ちつつ長期に安定な姿勢を保って歩行継続できる歩容を一層適切に生成することができる。
【0181】
尚、第1および第2の実施の形態において、図10および図31に示す如く、境界条件を2歩の間で連続させるようにしたが、これに限られるものではなく、境界条件を3歩以上の間で連続させても良い。歩数が増加するほど、僅かなZMPバイアス(モデルZMP用台形波形の高さ)で歩容境界を滑らかにすることができるが、歩容要求の変更に対する動作の応答性は低下する。更には、無限時間の間、摂動動力学モデルを動作させることによって2歩以上の歩容間の境界条件を連続させるようにしても良い。
【0182】
また、摂動動力学モデルは2歩ごとに直立停止するようにしたが、別の姿勢をとっても良い。また2歩ごとではなく、3歩ごとに、あるいは4歩以上ごとに所定の姿勢をとるようにしても良い。更には、無限時間かけて所定の姿勢に漸近させても良い。
【0183】
また、摂動動力学モデルを2個あるいは3個備えたが、これに限られるものではなく、1個あるいは4個以上であっても良い。
【0184】
また、モデルの波形(軌道)は、テーブル化も可能である。2歩分の単位入力波形(軌道)に対するモデル出力波形と2歩の歩容の境界での単位不連続に対するモデル出力波形をテーブル化し、これらを入力の大きさや不連続の大きさに比例して拡大し、合成すれば良い。但し、テーブルは時間の拡大縮小ができないので、歩容の時間分割が一定でない場合には、テーブル数が非常に多くなる。
【0185】
また、歩容混合の例として先の出願の第1の実施の形態を用いたが、その他の実施の形態であっても良い。また、近似演算の例は図示のものに止まらず、他にも種々の変形が可能である。歩容を混合しなくても良い。
【0186】
また、上記において、歩容パラメータとして(変位)加速度については述べなかったが、歩容の境界において加速度まで合わせる方が、より滑らかな歩容が生成されることは言うまでもない。但し、加速度はZMPと上体のずれに比例した値となるので、実際的には制御パラメータとして不要である。
【0187】
また、この発明を2足歩行ロボットに関して説明してきたが、2足歩行ロボットに限らず、多脚ロボットにも応用することができる。
【0188】
【発明の効果】
請求項1項に記載する発明にあっては、1歩と1歩との間の歩容の境界条件を滑らかに連続させ、換言すれば、常に複数歩を考慮に入れることで歩容境界での連続性を保ちつつ長期に安定な姿勢を保って歩行継続できる歩容を適切に生成することができる。
【0189】
請求項2項に記載する発明にあっては前記モデルを複数個備えると共に、前記複数個のモデルが所定歩数ずれて前記所定の挙動を示すように設定される如く構成したので、上記した作用・効果に加え、演算誤差が累積せず、よって長期に安定な姿勢を保ちつつ歩行継続することができる歩容を適切に生成することができる。
【0190】
請求項3項に記載する発明にあっては前記モデルが前記ロボットを倒立振子で近似する如く構成したので、上記した作用効果に加え、演算量を低減することができる。
【0191】
請求項4項に記載する発明にあっては、さらに前記モデル入力に対するモデル出力の単位変化量を予め求めて記憶する記憶手段を備え、前記モデル入力決定手段は前記記憶された単位変化量に基づいて前記モデル入力を決定する如く構成したので、上記した作用効果に加えて演算量を一層低減することができる。
【0192】
請求項5項にあっては、前記モデルが示す所定の挙動が直立停止である如く構成したので、歩容境界での連続性を保ちつつ長期に安定な姿勢を保って歩行継続できる歩容を一層適切に生成することができる。
【0193】
請求項6項にあっては、前記モデル出力が前記床反力および前記基体の変位である如く構成したので、歩容境界での連続性を保ちつつ長期に安定な姿勢を保って歩行継続できる歩容を一層適切に生成することができる。
【図面の簡単な説明】
【図1】この発明に係る脚式移動ロボットの歩容生成装置を全体的に示す説明図である。
【図2】図1に示す2足歩行ロボットの制御ユニットの詳細を示すブロック図である。
【図3】この発明に係る脚式移動ロボットの歩容生成装置の構成および動作を機能的に示すブロック図である。
【図4】図3装置で使用する倒立振子モデルを示す説明図である。
【図5】2つの歩容の境界において不連続があるときのZMPの不連続を防止する手法を示す説明タイミング・チャートである。
【図6】図5と同様な説明タイミング・チャートである。
【図7】2つの歩容の境界における不連続をキャンセルするための手法をより具体的に示す説明タイミング・チャートである。
【図8】図3装置で用いる摂動動力学モデルの挙動の演算誤差を示す説明タイミング・チャートである。
【図9】図3装置の2個の摂動動力学モデルを備える構成を示す説明ブロック図である。
【図10】図9の構成に基づいて合成したモデルの挙動を示す説明タイミング・チャートである。
【図11】図3装置で使用する標準歩容の中の第0標準歩容の遊脚位置および姿勢を示す説明図である。
【図12】図11の第0標準歩容の足平軌跡を示すタイミング・チャートである。
【図13】図11の第0標準歩容のZMP(X座標)のタイミング・チャートである。
【図14】図3装置で使用する標準歩容の中の第1標準歩容の遊脚位置および姿勢を示す説明図である。
【図15】図14の第1標準歩容のZMP(X座標)のタイミング・チャートである。
【図16】図3装置で使用する標準歩容の中の第2標準歩容の遊脚位置および姿勢を示す説明図である。
【図17】図16の第2標準歩容のZMP(X座標)のタイミング・チャートである。
【図18】図3装置の歩容生成動作で要求された要求歩容の遊脚位置および姿勢を示す説明図である。
【図19】図18の要求歩容のZMP(X座標)のタイミング・チャートである。
【図20】図3装置の動作を示すフロー・チャートである。
【図21】図20フロー・チャートの知識獲得作業で獲得される第1歩容(今回歩容)のZMP移動量(バイアス)に対する挙動特性を示す説明図である。
【図22】図20フロー・チャートの知識獲得作業で獲得される第2歩容(次回歩容)のZMP移動量(バイアス)に対する挙動特性を示す説明図である。
【図23】図20フロー・チャートの知識獲得作業で獲得される単位モデルZMP移動量(バイアス)に対する挙動特性を示す説明図である。
【図24】図20フロー・チャートの知識獲得作業で獲得される単位モデル位置スキップ量に対する挙動特性を示す説明図である。
【図25】図20フロー・チャートの知識獲得作業で獲得される単位モデル速度スキップ量に対する挙動特性を示す説明図である。
【図26】図20フロー・チャートの歩容切り替わり目処理作業を示すサブルーチン・フロー・チャートである。
【図27】図26フロー・チャートの中のモデル軌道パラメータとモデルZMPパラメータ決定作業を示すサブルーチン・フロー・チャートである。
【図28】図20フロー・チャートの中の混合歩容の瞬時値生成作業を示すサブルーチン・フロー・チャートである。
【図29】図20フロー・チャートの中のモデルZMPの今回瞬時値計算作業を示す説明図である。
【図30】この発明の第2の実施の形態に係る装置の構成を示す、図9と同様の摂動動力学モデルの構成を示す説明図である。
【図31】図30の構成に基づいて合成したモデルの挙動を示す説明タイミング・チャートである。
【符号の説明】
1 2足歩行ロボット(脚式移動ロボット)
2 脚部リンク
10,12,14R,L 股関節
16R,L 膝関節
18,20R,L 足関節
22R,L 足平
24 上体(基体)
26 制御ユニット
44 6軸力センサ
74 RAM
84 ROM
Claims (6)
- 少なくとも基体と、前記基体に関節を介して連結される複数本の脚部リンクとからなる脚式移動ロボットの歩容生成装置において、
a.少なくとも前記ロボットの基体の変位および速度の少なくともいずれかに関するパラメータと前記ロボットに接地床面から作用する床反力に関するパラメータとからなる時系列的に続く少なくとも2個の歩容を生成する歩容生成手段、
b.前記生成された少なくとも2個の歩容の間の境界における、前記基体の変位および速度の少なくともいずれかの不連続量を算出する不連続量算出手段、
c.前記床反力の摂動に対する前記基体の変位および速度の少なくともいずれかの摂動の関係を近似する摂動動力学モデル、
d.前記算出された不連続量に基づいて、前記モデルが前記算出された不連続量を相殺しつつ、所定の時点において前記モデルが所定の状態となるように、前記モデルへの入力を決定するモデル入力決定手段、
e.前記決定された入力に基づいて前記モデルの出力を算出するモデル出力算出手段、
および
f.前記決定された入力および前記算出されたモデル出力に基づいて前記少なくとも2個の歩容の少なくともいずれかを修正する歩容修正手段、
を備えたことを特徴とする脚式移動ロボットの歩容生成装置。 - 前記モデルを複数個備えると共に、前記複数個のモデルが所定の歩容の数だけずれて前記算出された不連続量を相殺するように設定されることを特徴とする請求項1項記載の脚式移動ロボットの歩容生成装置。
- 前記モデルが、前記ロボットを倒立振子で近似することを特徴とする請求項1項または2項記載の脚式移動ロボットの歩容生成装置。
- さらに、
g.前記モデル入力に対するモデル出力の特性を予め求めて記憶する記憶手段、
を備え、前記モデル入力決定手段は、前記記憶された特性に基づいて前記モデル入力を決定することを特徴とする請求項1項から3項のいずれかに記載の脚式移動ロボットの歩容生成装置。 - 前記モデルが前記歩容のうちの時系列的に最後の歩容の終端において停止するように設定されることを特徴とする請求項1項から4項のいずれかに記載の脚式移動ロボットの歩容生成装置。
- 前記モデル出力が、前記床反力および前記基体の変位の少なくともいずれかであることを特徴とする請求項1項から5項のいずれかに記載の脚式移動ロボットの歩容生成装置。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP03317597A JP3672406B2 (ja) | 1997-01-31 | 1997-01-31 | 脚式移動ロボットの歩容生成装置 |
| DE69805218T DE69805218T2 (de) | 1997-01-31 | 1998-02-02 | System zur Steuerung des Ganges eines mit Beinen beweglichen Roboters |
| EP98300739A EP0856457B1 (en) | 1997-01-31 | 1998-02-02 | Gait generation system of legged mobile robot |
| US09/017,652 US5936367A (en) | 1997-01-31 | 1998-02-02 | Gait generation system of legged mobile robot |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP03317597A JP3672406B2 (ja) | 1997-01-31 | 1997-01-31 | 脚式移動ロボットの歩容生成装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH10217161A JPH10217161A (ja) | 1998-08-18 |
| JP3672406B2 true JP3672406B2 (ja) | 2005-07-20 |
Family
ID=12379194
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP03317597A Expired - Fee Related JP3672406B2 (ja) | 1997-01-31 | 1997-01-31 | 脚式移動ロボットの歩容生成装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5936367A (ja) |
| EP (1) | EP0856457B1 (ja) |
| JP (1) | JP3672406B2 (ja) |
| DE (1) | DE69805218T2 (ja) |
Families Citing this family (52)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3621808B2 (ja) * | 1997-06-20 | 2005-02-16 | 本田技研工業株式会社 | 脚式移動ロボットの足平接地状態把握装置 |
| JP4213310B2 (ja) * | 1999-08-30 | 2009-01-21 | 本田技研工業株式会社 | 2足歩行脚式移動ロボット |
| JP3443077B2 (ja) * | 1999-09-20 | 2003-09-02 | ソニー株式会社 | ロボットの運動パターン生成装置及び運動パターン生成方法、並びにロボット |
| JP3555107B2 (ja) * | 1999-11-24 | 2004-08-18 | ソニー株式会社 | 脚式移動ロボット及び脚式移動ロボットの動作制御方法 |
| JP2001322079A (ja) * | 2000-05-15 | 2001-11-20 | Sony Corp | 脚式移動ロボット及びその動作教示方法 |
| JP3634238B2 (ja) * | 2000-05-19 | 2005-03-30 | 本田技研工業株式会社 | 脚式移動ロボットの床形状推定装置 |
| JP3726009B2 (ja) * | 2000-05-19 | 2005-12-14 | 本田技研工業株式会社 | 脚式移動ロボットの床形状推定装置 |
| CN100515694C (zh) | 2000-11-17 | 2009-07-22 | 本田技研工业株式会社 | 双脚行走机器人的远程操纵装置 |
| KR100824179B1 (ko) * | 2000-11-17 | 2008-04-21 | 소니 가부시끼 가이샤 | 보행식 이동 로봇의 동작 제어 장치 및 동작 제어 방법,및 보행식 이동 로봇을 위한 동작 유닛 생성 방법 |
| JP4252721B2 (ja) * | 2000-11-17 | 2009-04-08 | 本田技研工業株式会社 | 二足歩行ロボット |
| US6876903B2 (en) * | 2000-11-17 | 2005-04-05 | Honda Giken Kogyo Kabushiki Kaisha | Gait pattern generating device for legged mobile robot |
| JP3726032B2 (ja) | 2001-04-27 | 2005-12-14 | 本田技研工業株式会社 | 脚式移動ロボットの目標運動生成装置 |
| JP4188607B2 (ja) * | 2001-06-27 | 2008-11-26 | 本田技研工業株式会社 | 二足歩行移動体の床反力推定方法及び二足歩行移動体の関節モーメント推定方法 |
| KR100501456B1 (ko) * | 2001-08-29 | 2005-07-18 | 혼다 기켄 고교 가부시키가이샤 | 2족 이동 로봇의 원격 조작 장치 |
| JP3569764B2 (ja) * | 2001-11-19 | 2004-09-29 | 独立行政法人 科学技術振興機構 | 二脚歩行式移動装置およびその歩行制御装置並びに歩行制御方法 |
| EP1475192B1 (en) * | 2001-12-28 | 2010-05-19 | Honda Giken Kogyo Kabushiki Kaisha | Gait producing device for leg type movable robot |
| EP1473122B1 (en) | 2001-12-28 | 2010-10-13 | Honda Giken Kogyo Kabushiki Kaisha | Gait generation device for legged mobile robot |
| JP2003236783A (ja) * | 2002-02-18 | 2003-08-26 | Japan Science & Technology Corp | 二脚歩行式移動装置 |
| JP3574952B2 (ja) * | 2002-02-18 | 2004-10-06 | 独立行政法人 科学技術振興機構 | 二脚歩行式移動装置及びその歩行制御装置 |
| JP3731118B2 (ja) * | 2002-02-18 | 2006-01-05 | 独立行政法人科学技術振興機構 | 二脚歩行式人型ロボット |
| KR100977348B1 (ko) * | 2002-03-15 | 2010-08-20 | 소니 주식회사 | 다리식 이동 로봇의 동작 제어 장치 및 동작 제어 방법 및 로봇 장치 |
| DE60332233D1 (de) * | 2002-04-26 | 2010-06-02 | Honda Motor Co Ltd | System zur selbstbewertung der lage eines mobilen roboters mit beinen |
| US7113847B2 (en) * | 2002-05-07 | 2006-09-26 | Royal Appliance Mfg. Co. | Robotic vacuum with removable portable vacuum and semi-automated environment mapping |
| JP3646169B2 (ja) | 2002-05-07 | 2005-05-11 | 独立行政法人産業技術総合研究所 | 脚式ロボットの歩行制御装置 |
| WO2004030870A1 (ja) * | 2002-10-01 | 2004-04-15 | Sony Corporation | ロボット装置及びロボット装置の制御方法 |
| US7054718B2 (en) * | 2002-10-11 | 2006-05-30 | Sony Corporation | Motion editing apparatus and method for legged mobile robot and computer program |
| WO2004052597A1 (ja) | 2002-12-10 | 2004-06-24 | Honda Motor Co.,Ltd. | ロボット制御装置、ロボット制御方法、及びロボット制御プログラム |
| JP4246534B2 (ja) * | 2003-04-17 | 2009-04-02 | 本田技研工業株式会社 | 二足歩行移動体の床反力作用点推定方法及び二足歩行移動体の関節モーメント推定方法 |
| JP4199236B2 (ja) * | 2003-06-27 | 2008-12-17 | 本田技研工業株式会社 | 脚式移動ロボットの歩容生成装置 |
| KR101083414B1 (ko) | 2003-06-27 | 2011-11-14 | 혼다 기켄 고교 가부시키가이샤 | 다리식 이동 로봇의 제어장치 |
| KR20050005995A (ko) * | 2003-07-08 | 2005-01-15 | 삼성전자주식회사 | 2족 보행 이동 장치의 보행 제어 방법 |
| JP4592276B2 (ja) * | 2003-10-24 | 2010-12-01 | ソニー株式会社 | ロボット装置のためのモーション編集装置及びモーション編集方法、並びにコンピュータ・プログラム |
| EP1733852B1 (en) * | 2004-02-16 | 2012-09-12 | Honda Motor Co., Ltd. | Gait generator for mobile robot |
| US7715945B2 (en) | 2004-02-27 | 2010-05-11 | Honda Motor Co., Ltd. | Gait producing device for moving robot |
| JP4744092B2 (ja) * | 2004-03-23 | 2011-08-10 | 本田技研工業株式会社 | 脚式移動ロボットおよびその制御装置 |
| JP4472592B2 (ja) * | 2004-08-30 | 2010-06-02 | 本田技研工業株式会社 | 運動体の制御方法、制御システム、制御プログラム |
| JP4501601B2 (ja) * | 2004-09-03 | 2010-07-14 | トヨタ自動車株式会社 | 脚式ロボットとその制御方法ならびに歩容データの作成装置と作成方法 |
| KR100709556B1 (ko) * | 2005-10-19 | 2007-04-20 | 한국과학기술연구원 | 인간형 로봇의 보행 제어 방법 |
| JP4641252B2 (ja) * | 2005-12-12 | 2011-03-02 | 本田技研工業株式会社 | 脚式移動ロボットの歩容生成装置 |
| JP4951732B2 (ja) * | 2006-05-02 | 2012-06-13 | ソニー株式会社 | 駆動方法、駆動制御装置及びロボット |
| US7649536B1 (en) * | 2006-06-16 | 2010-01-19 | Nvidia Corporation | System, method, and computer program product for utilizing natural motions of a user to display intuitively correlated reactions |
| KR100958114B1 (ko) | 2007-12-17 | 2010-05-18 | 한국과학기술연구원 | 인간형 로봇의 보행 안정화 및 자세 제어 방법 |
| JP4981074B2 (ja) * | 2009-01-16 | 2012-07-18 | ソニー株式会社 | 脚式移動ロボット |
| KR101687630B1 (ko) * | 2010-01-11 | 2016-12-20 | 삼성전자주식회사 | 보행 로봇 및 그 균형 제어 방법 |
| KR101200191B1 (ko) * | 2010-07-14 | 2012-11-13 | 서울대학교산학협력단 | 데이터 기반 바이페드 제어 장치 및 방법 |
| KR20130078886A (ko) * | 2012-01-02 | 2013-07-10 | 현대자동차주식회사 | 보행로봇의 균형제어방법 |
| US9623556B1 (en) * | 2014-09-03 | 2017-04-18 | X Development Llc | Robotic sole joint |
| US11254004B2 (en) * | 2018-08-30 | 2022-02-22 | Veo Robotics, Inc. | System identification of industrial robot dynamics for safety-critical applications |
| WO2020133288A1 (zh) * | 2018-12-28 | 2020-07-02 | 深圳市优必选科技有限公司 | 一种双足机器人步态控制方法以及双足机器人 |
| CN110083075B (zh) * | 2019-05-15 | 2022-04-08 | 桂林电子科技大学 | 一种拖挂式自行车的稳定裕度估算方法以及控制方法 |
| CN112744313B (zh) * | 2020-12-24 | 2022-04-15 | 深圳市优必选科技股份有限公司 | 一种机器人状态估计方法、装置、可读存储介质及机器人 |
| CN117590840A (zh) * | 2022-08-08 | 2024-02-23 | 北京小米机器人技术有限公司 | 运动控制方法、装置、控制器、介质及机器人 |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6297006A (ja) * | 1985-10-23 | 1987-05-06 | Hitachi Ltd | 多関節歩行ロボツト制御装置 |
| US5221883A (en) * | 1990-11-30 | 1993-06-22 | Honda Giken Kogyo Kabushiki Kaisha | System for controlling locomotion of legged walking robot |
| JP3035051B2 (ja) * | 1991-12-20 | 2000-04-17 | 本田技研工業株式会社 | 脚式移動ロボットの歩行制御装置 |
| JP3167404B2 (ja) * | 1992-02-26 | 2001-05-21 | 本田技研工業株式会社 | ロボットの関節駆動制御装置 |
| JPH05285868A (ja) | 1992-04-15 | 1993-11-02 | Honda Motor Co Ltd | 脚式移動ロボットの歩行制御装置 |
| US5432417A (en) | 1992-04-30 | 1995-07-11 | Honda Giken Kogyo Kabushiki Kaisha | Locomotion control system for legged mobile robot |
| JP3233450B2 (ja) * | 1992-05-22 | 2001-11-26 | 本田技研工業株式会社 | 指定時刻到達関数発生器 |
| JP3132156B2 (ja) * | 1992-05-22 | 2001-02-05 | 本田技研工業株式会社 | 脚式移動ロボットの歩容生成装置 |
| JP3273443B2 (ja) * | 1992-05-22 | 2002-04-08 | 本田技研工業株式会社 | ロボットのリンクなどの軌道生成方法及び装置 |
| JP3269852B2 (ja) * | 1992-05-29 | 2002-04-02 | 本田技研工業株式会社 | 脚式移動ロボットの姿勢安定化制御装置 |
| US5404086A (en) * | 1992-07-20 | 1995-04-04 | Honda Giken Kogyo Kabushiki Kaisha | System for controlling locomotion of legged mobile robot and correcting inclinometer's output thereof |
| JP3278467B2 (ja) * | 1992-08-18 | 2002-04-30 | 本田技研工業株式会社 | 移動ロボットの制御装置 |
| US5576902A (en) | 1993-01-13 | 1996-11-19 | Hitachi America, Ltd. | Method and apparatus directed to processing trick play video data to compensate for intentionally omitted data |
| JP3491366B2 (ja) | 1995-01-31 | 2004-01-26 | ソニー株式会社 | 符号化データの特殊再生方法および特殊再生装置 |
| US5808433A (en) * | 1995-09-29 | 1998-09-15 | Honda Giken Kogyo Kabushiki Kaisha | Method of generating gait of legged walking robot and system for controlling its locomotion |
| JP3662996B2 (ja) * | 1996-01-25 | 2005-06-22 | 本田技研工業株式会社 | 脚式移動ロボットの歩行制御装置 |
-
1997
- 1997-01-31 JP JP03317597A patent/JP3672406B2/ja not_active Expired - Fee Related
-
1998
- 1998-02-02 US US09/017,652 patent/US5936367A/en not_active Expired - Lifetime
- 1998-02-02 EP EP98300739A patent/EP0856457B1/en not_active Expired - Lifetime
- 1998-02-02 DE DE69805218T patent/DE69805218T2/de not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US5936367A (en) | 1999-08-10 |
| EP0856457B1 (en) | 2002-05-08 |
| EP0856457A3 (en) | 1999-03-03 |
| DE69805218D1 (de) | 2002-06-13 |
| DE69805218T2 (de) | 2002-08-29 |
| JPH10217161A (ja) | 1998-08-18 |
| EP0856457A2 (en) | 1998-08-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3672406B2 (ja) | 脚式移動ロボットの歩容生成装置 | |
| JP3726032B2 (ja) | 脚式移動ロボットの目標運動生成装置 | |
| JP3640255B2 (ja) | 脚式移動ロボットの歩容生成装置 | |
| US6243623B1 (en) | Leg type mobile robot control apparatus | |
| EP1120203B1 (en) | Controller for legged mobile robot | |
| EP0572285B1 (en) | Attitude stabilization control system for a mobile robot, especially a legged mobile robot | |
| JP3132156B2 (ja) | 脚式移動ロボットの歩容生成装置 | |
| US6301524B1 (en) | Gait generation system of legged mobile robot | |
| US6922609B2 (en) | Floor shape estimation system of legged mobile robot | |
| EP1291136A1 (en) | Floor shape deducing device for legged mobile robot | |
| WO2003061917A1 (fr) | Dispositif de commande pour robot bipede | |
| JP3658147B2 (ja) | 脚式移動ロボットの歩容生成装置 | |
| JPWO2002040224A1 (ja) | 脚式移動ロボットの歩容生成装置 | |
| JPWO2003057427A1 (ja) | 脚式移動ロボットの歩容生成装置 | |
| JPH10277969A (ja) | 脚式移動ロボットの制御装置 | |
| JPH11300661A (ja) | 脚式移動ロボットの制御装置 | |
| JP3726097B2 (ja) | 脚式移動ロボットの姿勢制御装置 | |
| JP2005052968A (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: 20050405 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050419 |
|
| 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: 20080428 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090428 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090428 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100428 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110428 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110428 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120428 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130428 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130428 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140428 Year of fee payment: 9 |
|
| LAPS | Cancellation because of no payment of annual fees |
