JP4844416B2 - 2足ロボット - Google Patents
2足ロボット Download PDFInfo
- Publication number
- JP4844416B2 JP4844416B2 JP2007022740A JP2007022740A JP4844416B2 JP 4844416 B2 JP4844416 B2 JP 4844416B2 JP 2007022740 A JP2007022740 A JP 2007022740A JP 2007022740 A JP2007022740 A JP 2007022740A JP 4844416 B2 JP4844416 B2 JP 4844416B2
- Authority
- JP
- Japan
- Prior art keywords
- angle
- foot
- target
- posture angle
- control system
- 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
Description
2足ロボットを安定して立たせるためには、或いは安定して歩行させるためには、2足ロボットのZMP位置が適切な位置(予め設定された目標ZMP位置)となるようにロボットの関節を適切に制御する必要がある。なお、以下では「2足ロボット」を単に「ロボット」と称することがある。
ところで、接地面に予定外の凹凸が存在したり、接地面が予定外に傾斜していると、接地している脚の足裏面が予定外に傾斜し、その結果ロボット全体が予定外に傾斜する。ロボット全体が予定外に傾斜すると、接地している脚の足平と胴体の水平方向の偏差が大きくなり、ZMP位置が足裏の端まで移動してしまう虞がある。その結果、足裏の端のZMP位置を回転中心としてロボットが転倒する虞が生じる。
ロボット全体の傾斜は胴体の姿勢角に影響を与える。即ち、足平に対するZMP位置の相対的位置の変化は胴体の姿勢角の変化に顕著に現れる。そこで、ZMP位置を足裏面内に維持するために、胴体の姿勢角に応じてロボットを制御する技術が特許文献1に開示されている。特許文献1に開示されたロボットでは、胴体の実際の姿勢角を望ましい姿勢角(目標胴体姿勢角)に一致させるフィードバック制御系が構成されている。
2足ロボットでは、倒立制御のほかに、脚の足裏面を接地面に面接触させる制御が必要となる。足裏面と接地面が面接触していないと、床反力に基づくモーメントをロボット全体に加えることができず、ロボット全体の傾斜を制御することができないからである。脚の足裏面を接地面に面接触させる制御を倣い制御と称する。具体的には、2足ロボットに、接地面に対する足裏面の相対角(接地面に対する足裏面の傾斜角)を検出するセンサを搭載する。倣い制御系は、検出した相対角を小さくする(最終的にはゼロにする)フィードバック制御系として実現される。なお、接地面に対する足裏面の相対角を足平姿勢角と称する場合がある。
倒立制御系は胴体姿勢角を制御するものであり、倣い制御系は足平姿勢角を制御するものであるため、従来の2足ロボットでは、夫々の制御系が独立かつ並列したフィードバック制御系として実装されていた。そのような制御系では、倒立制御系によって胴体姿勢角が決定され倣い制御系によって足平姿勢角が決定される。
ところで、リンクと関節で構成される脚を有するロボットでは、最終的には夫々の関節の目標駆動量(典型的には目標関節角)を算出し、目標駆動量に基づいて各関節を駆動する。例えば目標関節角を算出する場合には、各関節は、その角度が目標関節角に一致するように制御される。ここで、目標関節角は胴体と足平の相対位置と相対回転角を規定する。従って目標関節角は、倒立制御系によって決定された胴体姿勢角と倣い制御系によって決定された足平姿勢角の角度差(即ち胴体と足平の相対回転角)を実現する関節角として算出される。倒立制御系と倣い制御系は共に胴体と足平の相対回転角に影響を与える。倣い制御が相対回転角に与える影響と倒立制御が相対回転角に与える影響が互いに相反する場合がある。以下、図1、2を参照して具体的に説明する。
図1、2は、胴体10と脚20を有する2足ロボット100の模式的側面図である。なお、図1、2には、ロボット100の胴体10と一方の脚20のみを示しており他方の脚は図示を省略してある。また、図1、2は、説明を簡単にするために、ロボット100の動作を2次元に限定している。図1、2に示す座標系Og−XgZgは絶対座標系であり、軸Zgは鉛直方向を向いている。胴体10の位置は、胴体10に固定された点Obの絶対座標系における位置で表現される。足平リンク26の位置は、足平リンク26に固定された点Ofの絶対座標系における位置で表現される。Vbは点Obを通る鉛直線を表しており、Vfは点Ofを通る鉛直線を表している。胴体10の姿勢角は、胴体10に固定された座標系Ob−XbZbのZb軸の鉛直線に対する角度で表現される。
図1に、ロボットに実現させたい全体姿勢(絶対座標系に対する姿勢)を示す。ロボットに実現させたい全体姿勢を目標全体姿勢と称する。今、図1に示す目標全体姿勢となるようにロボットを制御した結果、図2に示す姿勢が実現された場合を想定する。図2は、実現された姿勢が目標全体姿勢よりも前傾した姿勢となっていることを示している。なお、胴体10と足平リンク26の相対回転角は図1と図2で同じである。
図1に示すように、目標全体姿勢においては、胴体10と足平リンク26の水平方向の偏差はLdである。一方、実現された姿勢においては、胴体10と足平リンク26の水平方向の偏差はLrである。実現された姿勢は前傾しているために、実際の偏差Lrは目標とする偏差Ldよりも大きくなる。即ち、ロボット全体が傾斜すると、ロボットのZMP位置が足裏の端に移動してしまう可能性が大きくなる。ロボット全体が前傾したことは、胴体10の姿勢角θbに反映される。従って、倒立制御系は、図2に示す胴体姿勢角θbを図1に示す角度(図1に示す目標全体姿勢では胴体の姿勢角(目標胴体姿勢角)はゼロである)に一致するように胴体姿勢角を修正する。具体的には図2において胴体10を、足首関節を中心に反時計回りにθbだけ回転させる。その結果、ロボットの目標関節角は、胴体姿勢角と足平姿勢角の相対的な角度差が反時計回りにθbだけ修正されるように決定される。決定された目標関節角が実現されると、爪先側(図2において足平リンク26の右側)が脛から遠ざかる方向に足平リンク26が回転する。足平リンク26が接地面Sに接地している場合には、足平リンク26は絶対座標系に対して動かずにロボット全体が足平リンク26を軸にして反時計回りに回転する。その結果、実際の偏差Lrを目標とする偏差Ldに近づけることができる。
一方、ロボット全体が前傾すると、足平リンク26は踵側(図2において足平リンク26の左側)が接地面から離れる方向に傾く。このとき倣い制御系は、足裏面と接地面の面接触を維持するように、爪先側を脛に近づける方向(図2において反時計回り)に足平リンク26を回転させる。
上記の場合、倒立制御系と倣い制御系は、胴体と足平の相対的な回転角を相反する方向へ変化させようとする。どちらの制御が優勢に作用するかは夫々の制御系の設計次第である。
上記の通り、倒立制御系と倣い制御系は、自己の制御特性が互いに相手の制御性能に影響を及ぼす。従って、倒立制御系と倣い制御系が独立かつ並列したフィードバックループの場合には、夫々の制御系の設計(例えばPD制御則を用いるかPID制御則を用いるかなどの制御則の選定、或いは、選定した制御系の時定数のパラメータの決定など)は試行錯誤的にならざるを得ない。制御系の設計が困難となる。
本発明は、上記の課題に鑑みてなされたものであり、その目的は、倒立制御系と倣い制御系の設計が容易な2足ロボットを提供することにある。
なお、「目標胴体姿勢角に対する検出した実際の胴体姿勢角の偏差」は、目標胴体姿勢角を基準としたときの、目標胴体姿勢角に対する検出した実際の胴体姿勢角の差を意味する。同様に、「接地面に対する足裏面の相対角」も、接地面を基準としたときの、接地面に対する足裏面の角度を意味する。従って、偏差、及び相対角には正負の区別がある。また、偏差と相対角の正負は、ともに同じ特定の座標系(典型的には絶対座標系)を基準に規定される。上記の偏差に正負の区別があるので、偏差に基づいて算出される胴体補正角にも正負の区別がある。従って、「検出した相対角に算出した胴体補正角を加算した角度を小さくする方向」とは、特定の座標系からみたときの相対角と胴体補正角を加算した角度を、その特定の座標系からみて小さくする方向を意味する。
なお、関節の目標駆動量は、目標関節角の他に関節の目標トルクや目標関節角速度で与えられてもよい。
本発明によれば、倒立制御と倣い制御の制御系の設計が容易であり、倒立制御系より先に倣い制御系が機能する制御系を有する2足ロボットを実現できる。
2足ロボットは、実際の胴体位置を検出する手段を備える。また、検出した実際の胴体位置と目標胴体位置の偏差を小さくするように、足平を軸にして胴体を回転させるための胴体補正角を算出する手段を備える。
また、この2足ロボットは、前述した2足ロボットと同様に、接地面に対する足裏面の相対角(傾斜角)を検出する手段と、検出した相対角に算出した胴体補正角を加算した角度を小さくする方向へ足平を回転させるための足平補正角を算出する手段と、胴体と足平の相対回転角を、目標胴体姿勢角に足平補正角を加算した角度に一致させるように脚の関節を駆動する手段を備える。
足平補正角を算出する手段、即ち倣い制御系は、接地面に対する足平の相対角に胴体補正角を加算した角度を入力として足平補正角を算出する。胴体補正角が大きくなると、足裏を接地面に面接触させる倣い制御系の本来の目的が達成できなくなる可能性がある。即ち、足裏面が接地面から離れてしまう虞がある。胴体補正角の大きさを制限することによって、倣い制御系が適切に機能することを保証する。足裏面が接地面から離れてしまうことを防止できる。
図1は、ロボット100の模式的断面図である。ロボット100は、胴体10と、胴体10に連結された2本の脚を有する。なお、図1には、一方の脚20のみを示しており、他方の脚は図示を省略している。図1において、ロボット100の右側がロボット100の前方である。
胴体10は、ロボット100の動作(脚の各関節の動作)を制御するコントローラ30と、胴体10の加速度を検出する加速度センサ12と、胴体10の鉛直方向に対する傾斜角(姿勢角)を検出する姿勢角センサ14を備える。
脚20は、股関節21、膝関節23、足首関節25、大腿リンク22、脛リンク24、及び足平リンク26を備える。大腿リンク22と脛リンク24は、直線で模式化して示してある。股関節21は、胴体10と大腿リンク22を揺動可能に連結している。膝関節23は、大腿リンク22と脛リンク24を揺動可能に連結している。足首関節25は、脛リンク24と足平リンク26を揺動可能に連結している。
足平リンク26には、足平リンク26の裏面(足裏面)と接地面Sとの距離を検出する距離センサ16a、16bが備えられている。距離センサ16aは、足平リンク26の前側の所定位置に固定されており、足裏面の前側の所定位置と接地面Sの間の距離を検出する。距離センサ16bは、足平リンク26の後ろ側の所定位置に固定されており、足裏面の後ろ側所定位置と接地面Sの間の距離を検出する。
各関節には図示しないモータが内蔵されており、コントローラ30からの指令に基づいて駆動される。モータを駆動することによって、関節に連結されたリンク同士を揺動させることができる。図示を省略している他方の脚も、脚20と同様の構造を有している。コントローラ30が2本の脚の関節(より厳密には関節の関節角)を適宜制御することによって、ロボット100は歩行することができる。
胴体10には、胴体座標系Ob−XbZbが設定されている。胴体座標系Ob−XbZbは、胴体10に対して固定された特定点を原点Obとし、胴体10に対して固定されている座標系である。座標軸Xbは、原点Obから胴体10の前方に伸びており、座標軸Zbは、原点Obから胴体10の上方へ伸びている。
足平リンク26には、足平座標系Of−XfZfが設定されている。足平座標系Of−XfZfは、足平リンク26に対して固定された特定点を原点Ofとし、足平リンク26に対して固定されている座標系である。座標軸Xfは、足平リンク26が水平な接地面Sに面接触しているときに、水平面内で足平リンク26の前方へ伸びる方向に設定されている。座標系Zfは、足平リンク26が水平な接地面Sに面接触しているときに、垂直方向へ伸びる方向に設定されている。
なお、図1に示す破線Vbは、胴体位置Obを通る鉛直線を表しており、破線Bfは、足平位置Ofを通る鉛直線を表している。
歩容データは、ロボット100を実際に動作させる前に、シミュレーション等によってロボット100を安定して歩行させることができるように作成されている。即ち、目標胴体位置、目標胴体姿勢角、目標足平位置、及び目標足平姿勢角は、ロボットのZMP位置が足裏面内となる関係を満足するように設定されている。作成された歩容データは、ロボット100のコントローラ30に記憶される。後述するように、コントローラ30は、歩容データに含まれる目標胴体位置等に実胴体位置等を一致させるように各関節を制御する。
目標足平位置は、絶対座標系Og−XgZgに対する足平座標系Of−XfZfの原点Ofの位置で表される。目標足平姿勢角は、接地面に対する足裏面の角度で表される。目標足平姿勢角は、絶対座標系Og−XgZgに対する足平座標系Of−XfZfの傾きで表されていてもよい。目標足平姿勢角は、接地面に対する足裏面の角度で表されていても、絶対座標系Og−XgZgに対する足平座標系Of−XfZfの傾きで表されていても、両者は実質的に等価である。これは次の理由による。歩容データの目標足平姿勢角を作成するときの接地面は、シミュレーション上で設定された仮想的な接地面である。仮想的な接地面の絶対座標系Og−XgZgにおける傾きは、実際の接地面の傾きに基づいて設定されてもよいし、実際の接地面の傾きに関わらず仮の傾きに設定されてもよい。いずれの場合もシミュレーションにおける仮想的な接地面の絶対座標系Og−XgZgに対する傾きが設定されている。従って、目標足平姿勢角が、接地面に対する足裏面の角度で表されていても、絶対座標系Og−XgZgに対する足平座標系Of−XfZfの傾きで表されていても、両者は実質的に等価となる。以下では、足平リンク26の実際の位置と姿勢角を夫々実足平位置と実足平姿勢角と称する。
実足平姿勢角は、実際の接地面と足裏面がなす角度(傾き)で表され、後述するように足平リンク26に備えられた距離センサ16で検出することができる。実足平姿勢角と比較しやすいように、目標足平姿勢角は仮想的な接地面に対する仮想的な足裏面の傾きで表されているとする。
図2は、ロボット100が前方(絶対座標系において座標軸Xgが伸びる方向)へ傾斜したときの状態を示す模式的側面図である。今、図1に示すように目標胴体姿勢角(鉛直方向に対する胴体の傾きの目標値)はゼロ度であるとする。目標足平姿勢角(歩行面に対する足裏面の傾きの目標値)はゼロ度である。目標足平姿勢角がゼロ度であるのは、目標足平位置が、足平リンク26が接地面Sに接触する位置を示すときには、目標足平姿勢角は、足平リンク26の足裏面が接地面Sと面接触する角度に設定されるからである。なお、「目標足平位置が、足平リンク26が接地面Sに接触する位置を示すとき」とは、歩容データを作成するときにコンピュータシミュレーション上で仮想的な足平リンク26の足裏面が仮想的な接地面に接触する位置を示すとき、という意味である。
実胴体姿勢角θbは、胴体10に備えられた姿勢角センサ14で検出される。姿勢角センサ14は、例えば胴体10の角速度を検出するジャイロと、ジャイロの出力(角速度)を積分する積分器と、重力加速度ベクトルを検出する3軸加速度センサで構成される。実足平姿勢角θfは、足平リンク26が備える距離センサ16a、16bの出力から求められる。距離センサ16aは、夫々足平リンク26の前方の所定位置における足裏面と接地面Sとの距離を検出し、距離センサ16bは、足平リンク26の後方の所定位置における足裏面と接地面Sとの距離を検出する。従って、距離センサ16aが検出する距離と16bが検出する距離の差から足平リンク26の足裏面の接地面Sに対する傾きを求めることができる。
なお、目標足平姿勢角は歩容データを作成するときのコンピュータシミュレーションにおける仮想的な接地面に対してゼロ度に設定されている。従って、実際の接地面Sが仮想的な接地面と異なる傾き(絶対座標系に対する傾き)を有している場合でも、実足平姿勢角を目標足平姿勢角に一致させることによって、足裏面を接地面に面接触させることができる。
倒立制御系は、ロボット100の胴体位置姿勢(実際の胴体位置と実際の胴体姿勢角)を目標位置姿勢(目標胴体位置と目標胴体姿勢角)に維持する機能を果たす。図1では、足平リンク26と胴体10の水平方向の偏差はLdである。このLdは、足平リンク26の位置と胴体10の位置が夫々目標足平位置と目標胴体位置に位置するときの偏差を表している。即ち、Ldは、歩容データ上における足平と胴体の水平方向の偏差の大きさを表している。図2に示す状態では、ロボット100全体が前傾することによって、実際の偏差Lrは、歩容データ上の偏差Ldよりも大きくなっている。しかしながら、足平リンク26と胴体10の水平方向の偏差Lrを検出することは厄介である。そこで、足平リンク26と胴体10の水平方向の偏差Lrの代わりに胴体10の実際の姿勢角と目標胴体姿勢角の偏差を利用する。姿勢角の偏差を小さくすることによってZMP位置を足裏面に維持できるのは次の理由による。
歩容データでは胴体10と足平リンク26の夫々の目標位置と姿勢角が与えられるが、実際の制御対象は関節角である。関節角は、胴体10と足平リンク26の相対位置と相対回転角を規定するにすぎない。即ち、ロボットの各関節は、歩容データから算出される胴体10と足平リンク26の相対位置と相対回転角を実現するように制御される。ロボットの各関節が、歩容データから算出される胴体10と足平リンク26の相対位置と相対回転角を実現するようにほぼ正確に制御されていると仮定すると、ロボット全体をひとつの剛体と見なすことができる。ここで、足裏面が接地する接地面に予定外の凹凸や予定外の傾斜が存在する場合、ロボット全体が傾斜する。胴体10の実際の姿勢角は目標胴体姿勢角からロボット全体の傾斜角だけすれる。ロボット全体が剛体と見なせる場合には、足平リンク26と胴体10の水平方向の偏差は、ロボット全体の傾斜角(即ち、胴体10の実際の姿勢角と目標胴体姿勢角の偏差)にほぼ比例する。倒立制御系は、胴体10の姿勢角を目標胴体姿勢角に近づける胴体補正角を算出する。図2に示す状態の場合、胴体姿勢角を足首関節の回りに反時計回りに回転させる胴体補正角を求める。胴体補正角を実現させると、足平リンク26に対する胴体10の相対回転角が反時計回りに胴体補正角だけ変化すると共に、足平リンク26と胴体10の相対位置も変化する。その結果、胴体10と足平リンク26の水平方向の偏差を小さくすることができる。
なお、従来は、倒立制御系が実胴体姿勢角と目標胴体姿勢角の偏差に基づいて目標胴体姿勢角を補正し、倒立制御系と同時並行して倣い制御系が実足平姿勢角と目標足平姿勢角の偏差に基づいて目標足平姿勢角を補正する。補正された目標胴体姿勢角と補正された目標足平姿勢角を実現する目標関節角を算出する。即ち、2足ロボットのコントローラ内には、倒立制御系と倣い制御系が並列に構成されていた。そうすると、倒立制御系と倣い制御系は夫々独立に設計しなければならず、倒立制御系と倣い制御系が互いに相反する方向に足平リンクを回転させようとする状況においてどちらの制御系をどの程度優勢に作用させたらよいか試行錯誤的に夫々の制御系を設計しなければならなかった。
次に、本発明のロボット100のコントローラ30の構成について詳細に説明する。
コントローラ30は、記憶部50、足平姿勢角演算部52、倣い制御部54、逆キネマティクス演算部56(図3には「逆キネマ演算部」と記載してある)、モータドライバ58、加速度制御部62、倒立制御部64、リミッタ66、及び2回微分器60(図3には「s2」と記載してある)を備えている。その他に、加算器72、74、及び76、差分器70、78、及び80を備えている。図3に示す2回微分器の「s」は、ラプラス演算子を意味しており、「s2」が2回微分することを意味している。
記憶部50には、歩容データ(目標胴体位置、目標胴体姿勢角、目標足平位置、及び目標足平姿勢角の時系列データ)が記憶されている。歩容データ上で足裏が接地面と接触するときは、目標足平姿勢角(仮想的な接地面に対する仮想的な足裏面の傾き)はゼロに設定されている。足裏面と接地面を面接触状態にするためである。また、歩容データ上の各目標値は、ロボットのZMP位置が接地している脚の足裏面内となる関係を満たすように決定されている。
記憶部50に記憶された目標足平位置は、逆キネマティクス演算部56に入力される。なお、目標足平位置は、目標足平位置と実足平位置の偏差に基づいて補正された後に逆キネマティクス演算部56に入力されるが、ここでは説明を省略する。目標足平位置の補正については後述する。
記憶部50に記憶された目標胴体位置は、目標胴体加速度(目標胴体位置を2回微分することによって求められる)と実胴体加速度の偏差に基づいて補正された後に逆キネマティクス演算部56に入力される。
記憶部50に記憶された目標胴体姿勢角は、そのまま逆キネマティクス演算部56に入力される。同時に、差分器80によって、目標胴体姿勢角と実胴体姿勢角の偏差(胴体姿勢角偏差)が求められる。胴体姿勢角偏差は倒立制御部64に入力されて、胴体姿勢角偏差を小さくする方向に胴体を回転させる胴体補正角が算出される。
記憶部50に記憶された目標足平姿勢角は、差分器70によって、実足平姿勢角との偏差(足平姿勢角偏差)が求められる。加算器72によって、胴体補正角と足平姿勢角偏差が加算される。加算された結果は倣い制御部54に入力される。倣い制御部54によって、入力された角度(胴体補正角と足平姿勢角偏差を加算した角度)を小さくする方向へ足平を回転させる足平補正角が求められる。
記憶部50に記憶された目標足平姿勢角は、加算器74で足平補正角が加算された後に(足平補正角で補正された後に)逆キネマティクス演算部56へ入力される。
以上により、逆キネマティクス演算部56には、補正された目標胴体位置と補正された目標足平位置(目標足平位置の補正制御系については図示を省略してある)と補正された目標足平姿勢角と補正されていない目標胴体姿勢角が入力される。これらの値から、逆キネマティクス演算部56では逆キネマティクスの演算によって足の各関節の目標関節角が算出される。ここで、夫々の目標値は、絶対座標系に対する値で表されている。逆キネマティクス演算部56では、目標足平位置と目標胴体位置の差から足平と胴体の相対位置を計算し、目標足平姿勢角(足平補正角によって補正されている)と目標胴体姿勢角の差から足平と胴体の相対回転角を計算する。計算された相対位置と相対回転角を実現する目標関節角が算出される。
ここで、前述したように、歩容データ上で足裏が接地面に接地しているとき(及び歩容データ上で接地面に接地する直前と接地面から離れる直後)には目標足平姿勢角(仮想的な接地面に対する仮想的な足裏面の傾き)はゼロであるので、加算器74から逆キネマティクス演算部56へ入力される角度は足平補正角に等しくなる。即ち、逆キネマティクス演算部56は、胴体10と足平リンク26の相対回転角を目標胴体姿勢角に足平補正角を加算した角度に一致させる目標関節角を算出する。
算出された各関節の目標関節角はモータドライバ58に入力される。モータドライバ58は、各関節の関節角が目標関節角に一致するように関節に内蔵されたモータを制御する。
まず、実胴体位置を目標胴体位置に高域で一致させる制御系を詳細に説明する。なお、「高域」とは、制御系の周波数帯域の高域を意味する。即ち、「実胴体位置を目標胴体位置に高域で一致させる制御系」とは、実胴体位置を目標胴体位置に迅速に一致させる制御系を意味する。
記憶部50に記憶された目標胴体位置は、2回微分器60に送られる。2回微分器60は、目標胴体位置を2回微分して胴体10の目標加速度(目標胴体加速度)を出力する。なお、コントローラ30はデジタル制御系として構成されているので、目標胴体位置の微分は、より正確には目標胴体位置の時系列データの差分によって近似的に求められる。
胴体10に備えられた姿勢角センサ14によって胴体10の実際の加速度(実胴体加速度)が検出される。差分器78によって、目標胴体加速度と実胴体加速度の差分(加速度差分)が求められる。加速度差分は、加速度制御部62に入力される。
加速度制御部62では、加速度差分に基づいて目標胴体位置の補正量が求められる。具体的には、加速度制御部62には、比例要素と2次遅れ要素などの伝達関数に基づく制御系が構成されている。また加速度制御部62は、加速度の次元を有する入力を位置の次元に変換して出力する。加速度制御部62によって求められた目標胴体位置の補正量は、加算器76によって、記憶部50に記憶された目標胴体位置に加算される。目標胴体位置の補正量によって補正された目標胴体位置は、逆キネマティクス演算部56に入力される。
記憶部50に記憶された目標胴体姿勢角は、直接に逆キネマティクス演算部56に入力される。一方で、差分器80によって、目標胴体姿勢角と実胴体姿勢角の偏差(胴体姿勢角偏差)が求められる。実胴体姿勢角は、胴体10に備えられた姿勢角センサ14によって検出される。
胴体姿勢角偏差は、倒立制御部64に入力される。倒立制御部64には、PD制御則やPID制御則などの制御系が構成されている。倒立制御部64の制御性能(即ち、実胴体姿勢角を目標姿勢角に一致させる制御の制御性能)は、このPD制御或いはPID制御の制御系の性能で決定される。倒立制御部64は、胴体姿勢角偏差を小さくする方向に胴体を回転させる胴体補正角を算出する。胴体補正角は、本来は実胴体姿勢角を記憶部50に記憶された目標胴体姿勢角に一致させるための目標胴体姿勢角の補正量である。即ち、従来の制御系では、記憶部50に記憶された目標胴体姿勢角が胴体補正角によって補正されて逆キネマティクス演算部56に入力される。本実施例のコントローラ30では、胴体補正角は目標胴体姿勢角に加算せずに次に説明する足平姿勢角偏差に加算する。
差分器70によって、記憶部50に記憶された目標足平姿勢角と実足平姿勢角の偏差(足平姿勢角偏差)が求められる。実足平姿勢角は、足平リンク26に備えられた距離センサ16(16a、16b)の検出結果から足平姿勢角演算部52によって求められる。足平姿勢角演算部52が距離センサ16の出力から接地面に対する足裏面の傾き(実足平姿勢角)を算出する方法は前述した通りである。
胴体補正角と足平姿勢角偏差は、加算器72によって加算された後に倣い制御部54に入力される。なお、図3に示すように、倒立制御部64から出力される胴体補正角は、リミッタ66を介して加算器72へ入力される。リミッタ66は、倒立制御部64が算出した胴体補正角の大きさに制限を加えるものである。リミッタ66は、入力された胴体補正角の大きさが許容範囲を超えているときに、許容限界の値を出力する。
倣い制御部54では、足平姿勢角偏差に胴体補正角を加算した角度を小さくする方向に胴体に対して足平を回転させる足平補正角を算出する。倣い制御部54には、PI制御系(比例−積分制御系)などの制御系が構築されている。倣い制御部54の制御性能(即ち、実足平姿勢角を目標足平姿勢角に一致させる制御であり、換言すれば足平リンク26の足裏面と接地面の面接触を維持する制御の制御性能)は、この倣い制御部54内に実現されるPI制御則の制御系の性能で決定される。
倣い制御部54が出力する足平補正角は、加算器74によって記憶部50に記憶された目標足平姿勢角に加算される。即ち、記憶部50に記憶された目標足平姿勢角は、足平補正角によって補正される。補正された目標足平姿勢角は逆キネマティクス演算部56へ入力される。
算出された各関節の目標関節角はモータドライバ58に入力される。モータドライバ58は、各関節の関節角が目標関節角に一致するように関節に内蔵されたモータを制御する。
胴体姿勢角偏差と足平姿勢角偏差は双方とも、最終的に倣い制御部54を通して足平補正角に反映される。即ち、倣い制御部54の制御性能がロボットの関節角の制御に支配的な影響を与える。換言すれば、ロボットの関節角の制御について、倣い制御部54の制御性能が倒立制御部64の制御性能よりも支配的となる。従って、倣い制御部54と倒立制御部64の夫々の制御部に組み込む制御系を設計する場合、まず、倣い制御部54に組み込む制御系を設計すればよい。具体的には、胴体姿勢角偏差の影響を無視して、足平姿勢角偏差をゼロにする制御系として(接地面に対する実際の足平姿勢角の傾きをゼロにさせる制御系として)設計すればよい。倣い制御部54を設計した後に、倒立制御部64に組み込む制御系を設計する。このように図3に示すコントローラ30の構造によれば、倣い制御部54を設計し、倣い制御系の制御性能を確保した上で倒立制御部64を設計することができる。倒立制御系と倣い制御系を設計しやすいロボットを実現できる。
なお、倣い制御部54の時定数は、倒立制御部64の時定数よりも小さい値に設定されていることが好ましい。足裏面を接地面に面接触させる倣い制御系を倒立制御系よりも早い応答が実現できるからである。ここでいう時定数とは、制御系を設計する際に一般的に用いられているパラメータであり、制御系の応答の早さを計る指標である。時定数は例えば、制御系のステップ応答が入力の所定割合に達するまでの時間である。
足平姿勢角演算部52は、距離センサ16から足平リンク26と接地面の距離を求める。より正確には足平リンク26に固定された座標原点Ofと接地面の間の距離を求める。この距離は、接地面に対する実足平位置を表す。目標足平位置(ここでは歩容データを作成する際のシミュレーション上での仮想的な接地面と仮想的な足平リンクの間の距離)と実足平位置の偏差に基づいて目標足平位置の補正量を算出する。算出された補正量を記憶装置50に記憶された目標足平位置に加算した値(目標足平位置の補正量で補正された目標足平位置)を逆キネマティクス演算部56へ入力する。そのような制御系によって、実足平位置を目標足平位置に一致させることができる。例えば、実際のロボットの遊脚が実際の接地面に着地するタイミングを、歩容データ上で遊脚が接地面に着地するタイミングに一致させることができる。
実際の胴体位置が検出できる場合には、倒立制御系は、実際の胴体位置と目標胴体位置の偏差を小さくする方向へ足平を軸にして胴体を回転させる胴体補正角を算出する制御系であってよい。このことを、図面を用いて説明する。図1に示す胴体位置が目標胴体位置に相当する。図2に示す胴体位置が実際の胴体位置に相当する。従って、実際の胴体位置と目標胴体位置の偏差は図2に示す偏差Lrから図1に示す偏差Ldを引いたものに相当する。前述したように、検出した実際の胴体位置と目標胴体位置の偏差を小さくする方向へ、足平を軸にして胴体を回転させる胴体補正角は、前述した実胴体姿勢角と目標胴体姿勢角の偏差に基づく胴体補正角と同等である。従って、倒立制御系が、「実胴体位置と目標胴体位置の水平方向の偏差を小さくする方向へ、足平を軸にして胴体を回転させる胴体補正角を算出する」制御系として実現されても実施例の2足ロボットと同じ効果を得ることができる。
足平と胴体の実際の水平偏差は、例えばロボットを外部から撮影するカメラの画像から検出する。ロボットに実現させたい姿勢が図1の姿勢であり、実際のロボットが実現した姿勢が図2の姿勢であるとする。このとき、実胴体位置と目標胴体位置の水平方向の偏差は(Ld−Lr)である。図3の倒立制御部64の代わりに、この偏差(Ld−Lr)を入力とし、この偏差を小さくする方向へ足平に対して胴体を回転させる胴体補正角を算出する倒立制御系を図3のコントローラ30に組み込む。なお、図2の場合、胴体補正角は反時計周りの方向となる。このときの倒立制御系の出力(胴体補正角)は、図3のリミッタ66へ入力させる。その他は図3の制御系と同じ構造でよい。そのような構成によっても、実施例1のロボットと同様の効果を得ることができる。
本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
10:胴体
12:加速度センサ
14:姿勢角センサ
16a、16b:距離センサ
20:脚
26:足平リンク
30:コントローラ
50:記憶部
52:足平姿勢角演算部
54:倣い制御部
56:逆キネマティクス演算部
58:モータドライバ
60:2回微分器
62:加速度制御部
64:倒立制御部
66:リミッタ
Claims (3)
- 脚の関節を駆動することによって実際の胴体姿勢角を目標胴体姿勢角に一致させる2足ロボットであり、
実際の胴体姿勢角を検出する手段と、
目標胴体姿勢角に対する検出した実際の胴体姿勢角の偏差を小さくするように、胴体を足首関節の回りに回転させるための胴体補正角を算出する手段と、
接地面に対する足裏面の相対角を検出する手段と、
検出した相対角に算出した胴体補正角を加算した角度を小さくする方向へ足平を回転させるための足平補正角を算出する手段と、
胴体と足平の相対回転角を、目標胴体姿勢角に足平補正角を加算した角度に一致させるように脚の関節を駆動する手段と、
を備えることを特徴とする2足ロボット。 - 脚の関節を駆動することによって実際の胴体位置を目標胴体位置に一致させる2足ロボットであり、
実際の胴体位置を検出する手段と、
目標胴体位置に対する検出した実際の胴体位置の偏差を小さくするように、足平を軸にして胴体を回転させるための胴体補正角を算出する手段と、
接地面に対する足裏面の相対角を検出する手段と、
検出した相対角に算出した胴体補正角を加算した角度を小さくする方向へ足平を回転させるための足平補正角を算出する手段と、
胴体と足平の相対回転角を、目標胴体姿勢角に足平補正角を加算した角度に一致させるように脚の関節を駆動する手段と、
を備えることを特徴とする2足ロボット。 - 足平補正角を算出する手段は、検出した相対角に加える胴体補正角の大きさに制限を設けることを特徴とする請求項1又は2に記載の2足ロボット。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007022740A JP4844416B2 (ja) | 2007-02-01 | 2007-02-01 | 2足ロボット |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007022740A JP4844416B2 (ja) | 2007-02-01 | 2007-02-01 | 2足ロボット |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008188684A JP2008188684A (ja) | 2008-08-21 |
JP4844416B2 true JP4844416B2 (ja) | 2011-12-28 |
Family
ID=39749284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007022740A Expired - Fee Related JP4844416B2 (ja) | 2007-02-01 | 2007-02-01 | 2足ロボット |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4844416B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5228589B2 (ja) * | 2008-04-10 | 2013-07-03 | トヨタ自動車株式会社 | 脚式ロボット、及びその制御方法 |
JP5232120B2 (ja) * | 2009-10-01 | 2013-07-10 | 本田技研工業株式会社 | 移動体の制御装置 |
JP5463991B2 (ja) * | 2010-03-18 | 2014-04-09 | トヨタ自動車株式会社 | 2脚歩行ロボット |
JP2015175664A (ja) * | 2014-03-13 | 2015-10-05 | 三菱重工業株式会社 | 地形判断装置、及び脚式移動ロボット |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3270766B2 (ja) * | 1992-03-04 | 2002-04-02 | 本田技研工業株式会社 | 脚式移動ロボットの制御装置 |
JP3183557B2 (ja) * | 1992-04-28 | 2001-07-09 | 本田技研工業株式会社 | 脚式移動ロボットの歩行制御装置 |
JP3167406B2 (ja) * | 1992-03-12 | 2001-05-21 | 本田技研工業株式会社 | 脚式移動ロボットの歩行制御装置 |
JP3811072B2 (ja) * | 2002-01-18 | 2006-08-16 | 本田技研工業株式会社 | 移動ロボットの異常検知装置 |
JP3888295B2 (ja) * | 2002-11-26 | 2007-02-28 | トヨタ自動車株式会社 | 倒立振子制御のゲインを静止時に下げる歩行ロボット |
-
2007
- 2007-02-01 JP JP2007022740A patent/JP4844416B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008188684A (ja) | 2008-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4466715B2 (ja) | 脚式ロボット、及びその制御方法 | |
JP3760186B2 (ja) | 二脚歩行式移動装置及びその歩行制御装置並びに歩行制御方法 | |
JP3278467B2 (ja) | 移動ロボットの制御装置 | |
JP3672426B2 (ja) | 脚式移動ロボットの姿勢制御装置 | |
JP6483014B2 (ja) | 移動ロボットの制御装置 | |
EP1053835B1 (en) | Leg type mobile robot control apparatus | |
EP1120203B1 (en) | Controller for legged mobile robot | |
JP3167404B2 (ja) | ロボットの関節駆動制御装置 | |
JPH05337849A (ja) | 脚式移動ロボットの姿勢安定化制御装置 | |
JP4912891B2 (ja) | 脚式移動ロボットおよびその制御プログラム | |
JPH10277969A (ja) | 脚式移動ロボットの制御装置 | |
JP4844416B2 (ja) | 2足ロボット | |
JPH05305579A (ja) | 脚式移動ロボットの歩行制御装置 | |
JP3167420B2 (ja) | 脚式移動ロボットの歩行制御装置 | |
JP3148830B2 (ja) | 脚式移動ロボットの歩行制御装置 | |
JPH05305585A (ja) | 脚式移動ロボットの歩行制御装置 | |
JPH05245780A (ja) | 脚式移動ロボットの制御装置 | |
JPH11300661A (ja) | 脚式移動ロボットの制御装置 | |
JP2008119764A (ja) | 二足歩行ロボットの制御装置 | |
JP5198035B2 (ja) | 脚式ロボット及びその制御方法 | |
JP2008119763A (ja) | 二足歩行ロボットの制御装置 | |
JP2007007803A (ja) | ロボットとその制御方法 | |
JP5040693B2 (ja) | 脚式ロボット、及びその制御方法 | |
JP3024028B2 (ja) | 脚式移動ロボットの歩行制御装置 | |
JP2009107033A (ja) | 脚式移動ロボット及びその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090703 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20090708 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20090708 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110201 |
|
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: 20110913 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110926 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141021 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141021 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |