(57)【要約】【課題】凹凸などが未知の歩行面をスムーズに歩行する脚式ロボットを提供する。【解決手段】歩容データには仮想的な歩行面に対する脚部１１の足平部の目標位置姿勢角のデータが含まれる。目標距離算出部１０６が歩容データから足平部と仮想的な歩行面との間の目標距離を求める。距離センサ５０が現実の足平部と現実の歩行面との間の距離を計測する。距離偏差算出手段１０６が目標距離と計測距離の偏差を求める。補正量算出手段１１０が偏差を小さくする方向に足平部の目標位置姿勢角を補正する補正量を求める。モータドライバ１１６が、足平部が補正量の加算された目標位置姿勢角に追従するように脚部の関節を駆動する。距離偏差を小さくすることによって、現実の歩行面に対する足平部の動きを歩容データ上での歩行面に対する足平部の動きに近づけることができる。歩行データ上でのスムーズな歩行動作に近い歩行動作を実現することができる。【選択図】図２
2008049458.tif 000002
【特許請求の範囲】
【請求項１】
胴体部に脚部が連結されており、脚部の関節を駆動することによって歩行面を歩行する脚式ロボットであり、
シミュレーションモデルにおける仮想的な歩行面に対する脚部先端の足平部の目標位置姿勢角の経時的変化を記述する歩容データを記憶する記憶装置と、
歩容データから、足平部に設定された点であり一直線上に並ばない少なくとも３点の夫々の点と仮想的な歩行面との間の目標距離を求める目標距離算出部と、
歩行中に現実の足平部の前記少なくとも３点の夫々の点と現実の歩行面との間の距離を計測する距離センサと、
夫々の点の目標距離と各点に対応する計測された距離の偏差を求める距離偏差算出手段と、
偏差を小さくする方向に足平部の目標位置姿勢角を補正する補正量を求める補正量算出手段と、
求めた補正量を足平部の目標位置姿勢角に加算する加算手段と、
足平部が補正量の加算された目標位置姿勢角に追従するように脚部の関節を駆動する駆動制御部と、
を備えることを特徴とする脚式ロボット。
【請求項２】
胴体部の姿勢角を検出する姿勢角検出手段を備えており、
歩容データは、胴体部の目標姿勢角の経時的変化を記述するデータを含んでおり、
駆動制御部は、姿勢角検出手段が検出する姿勢角が目標姿勢角に追従するように脚部の関節を駆動することを特徴とする請求項１に記載の脚式ロボット。
【請求項３】
足平部の下面に対向しており、足平部に弾性支持される足底部をさらに備えており、
目標距離算出部は、前記少なくとも３点の夫々の点と仮想的な歩行面に接する仮想的な足底部との間の距離を目標距離として求め、
距離センサは、前記少なくとも３点の夫々の点と現実の歩行面に接した足底部との間の距離を計測することを特徴とする請求項１又は２に記載の脚式ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、胴体部に脚部が連結されており、脚部の関節を駆動することによって歩行面を歩行する脚式ロボットに関する。特に、段差や凹凸などの状態が未知の歩行面をスムーズに歩行できる脚式ロボットに関する。
【背景技術】
【０００２】
脚式ロボットは、胴体部と、胴体部に連結されている脚部を有する。脚部は多数のリンクを有しており、隣接するリンク同士が関節を介して連結されている。脚部の関節を駆動することによって脚式ロボットは歩行する。各脚部は歩行中に、離床−前方への振り出し−着床を繰り返す。離床から着床するまでの期間にある脚部を遊脚と称し、歩行面に着床している期間にある脚部を立脚と称する。また、脚部先端のリンクであって、歩行面と接触するリンクを足平部と称する。
「離床−前方への振り出し−着床」という歩行における脚部の動作は、個々の関節の関節角の経時的変化よりも足平部の位置と姿勢角の経時的変化によって表現する方が好都合である。そこで、脚式ロボットでは、足平部の目標位置と目標姿勢角の経時的変化を記述する歩容データが予め作成される場合が多い。歩行時には、各時刻の足平部の位置と姿勢角が歩容データの目標位置と目標姿勢角に追従するように各関節が駆動される。なお、以下では、目標位置と目標姿勢角を合わせて目標位置姿勢角と称する。
歩容データは、予めコンピュータ上で（換言すればシミュレーションモデルにおける）、仮想的な脚式ロボットが仮想的な歩行面上を歩行する状況をシミュレートしながら作成される。ところが実際の歩行面は、段差や凹凸などの歩行面の状態がコンピュータ上の仮想的な歩行面と一致しない場合が多い。即ち、実際の歩行面の状態が未知である場合が多い。従って、仮想的な歩行面を前提にして作成された歩容データに従って関節を駆動してもスムーズな歩行が実現されない虞がある。
脚式ロボットの歩行中に、歩行面の段差や凹凸などに応じてリアルタイムに歩容データを補正する技術が例えば特許文献１に開示されている。特許文献１の技術は、足平部が歩行面に接触したときの床反力を計測し、計測した反力に基づいて歩容データを補正する技術である。
【０００３】
【特許文献１】特開平５−３０５５８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１の技術は、脚部の足平部が着床したときの床反力を計測する。従って特許文献１の技術では、足平部が着床してから歩容データが補正されることになる。足平部が着床する前に歩容データが補正されることはない。即ち、特許文献１の技術では、着床するまでは事前に設定された歩容データに基づいて足平部の動きが制御される。そのため、現実の歩行面の状態が仮想的な歩行面と異なる場合には、足平部は、歩容データ上での着床のタイミングとは異なるタイミングで着床することになる。早く着床した場合には歩行面から大きな外乱力を受け、遅く着床した場合には脚部を空振りさせることとなり、いずれの場合も脚式ロボットが転倒する原因となりやすい。そうすると、現実の脚式ロボットの歩行はぎこちないものとなってしまう。
スムーズな歩行を実現するには、足平リンクが歩行面に着床する前に、実際の歩行面の段差や凹凸などの状態に応じて歩容データ内の足平部の目標位置姿勢角を補正できる方がよい。
足平部が歩行面に着床する前に、歩行面の段差や凹凸などの状態に応じて歩容データ内の足平部の目標位置姿勢角をリアルタイムに補正してスムーズに歩行する脚式ロボットが望まれている。
【課題を解決するための手段】
【０００５】
本発明に係る脚式ロボットは、胴体部に脚部が連結されており、脚部の関節を駆動することによって歩行面を歩行する脚式ロボットである。この脚式ロボットは、シミュレーションモデルにおける仮想的な歩行面に対する脚部先端の足平部の目標位置姿勢角の経時的変化を記述する歩容データを記憶する記憶装置と、歩容データから、足平部に設定された点であり一直線上に並ばない少なくとも３点の夫々の点と仮想的な歩行面との間の目標距離を求める目標距離算出部と、歩行中に現実の足平部の前記少なくとも３点の夫々の点と現実の歩行面との間の距離を計測する距離センサと、夫々の点の目標距離と各点に対応する計測された距離の偏差を求める距離偏差算出手段と、偏差を小さくする方向に足平部の目標位置姿勢角を補正する補正量を求める補正量算出手段と、求めた補正量を足平部の目標位置姿勢角に加算する加算手段と、足平部が補正量の加算された目標位置姿勢角に追従するように脚部の関節を駆動する駆動制御部を備える。
駆動部は、例えばモータと減速機などである。関節は回転関節の場合もあれば直動関節の場合もある。
歩容データに含まれる足平部の目標位置姿勢角は、仮想的な歩行面に対する目標位置姿勢角の関係を直接的に記述するものであっても間接的に記述するものであってもよい。直接的に記述する場合とは例えば、仮想空間内に絶対座標系を定義し、その絶対座標系に対して仮想的な歩行面が定義されているとともに、その絶対座標系に対して足平部の目標位置姿勢角が設定されている場合である。典型的には、例えば絶対座標系におけるＸＹ平面が仮想的な歩行面に定義されていれば、その絶対座標系で記述された足平部の目標位置姿勢角は直接的に仮想的な歩行面に対する相対位置と相対姿勢角を表すものとなる。間接的に記述する場合とは例えば、絶対座標系に対して仮想的な歩行面が定義されているとともに、その絶対座標系で立脚の足平部の目標位置姿勢角が設定されており、立脚の足平部に固定された座標系に対して胴体部の目標位置姿勢角が設定されており、さらに胴体部に固定された座標系に対して足平部の目標位置姿勢角が設定されている場合である。
【０００６】
上記の脚式ロボットによれば、歩容データには、足平部の目標位置姿勢角と仮想的な歩行面との相対的位置関係が記述されている。その歩容データから（即ちシミュレーションモデルにおける）、仮想的な足平部と仮想的な歩行面との間の目標距離を求める。求める距離は、足平部に設定された点であり一直線上に並ばない少なくとも３点の夫々の点と仮想的な歩行面との間の距離である。一方で、脚式ロボットの歩行中であって遊脚の足平部が歩行面に着床する前に、距離センサによって前記少なくとも３点の夫々の点と現実の歩行面との間の距離が計測される。目標距離と計測した距離の偏差に基づいて足平部の目標位置姿勢角の補正量を求める。一直線上に並ばない少なくとも３点の夫々の点と歩行面との間の距離から、仮想的な歩行面に対する足平部の相対的な位置と姿勢角を求めることができるので、足平部の目標位置姿勢の補正量を求めることができる。この補正量は、距離センサによって計測された現実の歩行面と足平部との間の距離を、歩容データから求められた目標距離に近づくように足平部の目標位置姿勢角を補正するものとなる。即ち、現実の歩行面が歩容データを作成したときの仮想的な歩行面と一致しなくとも（換言すれば段差や凹凸などの状態が未知の歩行面であっても）、足平部は、仮想的な歩行面と足平部の目標距離の経時的変化に追従するように制御される。現実の足平部が、仮想的な歩行面と足平部の目標距離の経時的変化に追従するように制御されるということは、シミュレーション上での仮想的な歩行面に対する足平部の動作に近い動作が現実の脚式ロボットの歩行において得られることを意味する。足平部の着床タイミングや現実の歩行面に対する着床時の姿勢角が、シミュレーション上での着床タイミングや仮想的な歩容面に対する着床時の姿勢角に近いものとなる。その結果、歩容データ作成時にコンピュータ上でシミュレートされたスムーズな歩行に近い歩行を実現することができる。即ち、凹凸などの状態が未知の現実の歩行面を歩行する脚式ロボットにおいて、仮想的な歩行面に基づいてコンピュータ上でシミュレートされたスムーズな歩行に近い歩行を実現することができる。
【０００７】
特に２本の脚部を有するいわゆる２足歩行の脚式ロボットでは、転倒しないために脚式ロボットに要求される動力学的な制約が厳しいことが知られている。制約条件は例えば、動歩行においてはＺＭＰが立脚の足平と歩行面との接触領域の凸包（一般的には支持多角形と呼ばれる）内に存在することなどである。
歩容データ内の足平部の目標位置姿勢角は、そのような制約条件を満足するように設定されている。ここで、上記のように補正量を加えた足平部の目標位置姿勢角は、上記制約条件を満足しなくなる可能性が生じる。発明者らは、実際の歩行時の絶対座標系（グローバル座標系もしくはワールド座標系とも呼ばれる）における足平部と胴体部との相対位置関係が、歩容データ作成時にシミュレートしたときの仮想的な脚式ロボットの絶対座標系における足平部と胴体部との相対位置関係に追従すれば、実際の歩行時の足平部の位置と姿勢角が歩容データ上での目標位置姿勢角からずれても上記制約条件を満足しやすいことを見出した。そこで本発明に係る脚式ロボットは、次の構成を有することが好ましい。即ち、脚式ロボットは、胴体部の姿勢角を検出する姿勢角検出手段を備える。歩容データは、胴体部の目標姿勢角の経時的変化を記述するデータを含む。駆動制御部は、姿勢角検出手段が検出する姿勢角に基づいて、絶対座標系における足平部と胴体部との相対位置関係が仮想的な脚式ロボットの絶対座標系における足平部と胴体部との相対位置関係に追従するように関節を駆動する。そのように構成することで、段差や凹凸などの状態が未知の歩行面上を、転倒し難く、スムーズに歩行できる脚式ロボットを実現することができる。
【０００８】
ここで、足平部の目標位置姿勢角のうち、目標姿勢角に着目する。補正量を加えた目標姿勢角は、足平部が安定して着床するように設定されることが必要である。足平部が安定して着床するとは、足平部の下面と歩行面が、３点（一直線に並ばない３点）以上で接触して着床することを意味する。遊脚が不安定な状態で着床すると、即ち、足平部の下面と歩行面が１点接触若しくは２点接触の状態になると、他の脚が遊脚となったときに脚式ロボット全体がぐらつく虞が生じるからである。特に２足歩行ロボットでは、脚式ロボット全体がぐらつくことは転倒に繋がる可能性が高い。補正量を加えた目標姿勢角が、足平部が安定して着床するように設定されるためには、着床予定位置における歩行面の凹凸を考慮する必要がある。歩行面の凹凸を考慮した上で、足平部の下面が歩行面に３点以上で接触するための足平部の目標姿勢角を設定することが必要だからである。そのためには上記した距離センサは、歩行面の凹凸のピッチと同程度の分解能が必要となる。歩行面の凹凸のピッチが小さい場合には、歩行面と足平部の間の距離を計測する距離センサには、２点間の距離を計測する距離センサを格子状に配置したものや、或いは画像処理を利用するものが必要となる。格子状に配置した距離センサや画像処理を利用する距離センサは高価となる。
そこで本発明の脚式ロボットは、足平部の下面に対向しており足平部に弾性支持される足底部を備えていることが好ましい。そして、前述した目標距離算出部は、足平部に設定された点であり一直線上に並ばない少なくとも３点の夫々の点と、仮想的な歩行面に接する仮想的な足底部との間の距離を目標距離として求める。同時に前述した距離センサは、足平部に設定された点であり一直線上に並ばない少なくとも３点の夫々の点と現実の歩行面に接した足底部との間の距離を計測する。即ち、距離センサは、歩行面に接する足底部と足平部との間の距離を、歩行面と足平部との間の距離として計測する。
【０００９】
足平部が着床位置に近づくと、足底部が先に歩行面と接する。足底部は足平部の下面に弾性支持されているので、足平部の姿勢角に関わらずに歩行面の凹凸に適合した位置と姿勢角で静止する。従って足底部の姿勢角が、足平部を安定して着床させることのできる姿勢角となる。補正量は、足平部と足底部の間の距離偏差を小さくするように設定されるため、そのような補正量を加えた目標位置姿勢角は、足底部の位置姿勢角となる。従って、補正量の加算された目標位置姿勢角に足平部が追従するように脚部の関節を駆動することによって、足平部を安定して着床させることができる。
足底部距離センサは少なくとも３点の距離を計測できればよいので、格子状に配置した距離センサや画像処理を利用する距離センサよりも低コストで製造できる。足平部が歩行面に着床する前に、歩行面の凹凸などの状態に応じて歩容データをリアルタイムに補正してスムーズに歩行する脚式ロボットを低コストで実現することができる。
【発明の効果】
【００１０】
本発明によれば、足平部が歩行面に着床する前に、歩行面の段差や凹凸などの状態に応じて歩容データ内の足平部の目標位置姿勢角をリアルタイムに補正してスムーズに歩行する脚式ロボットを実現することができる。
【発明を実施するための最良の形態】
【００１１】
実施例の主要な特徴を列記する。
（第１特徴）足底部距離センサの計測距離が所定値以下となったときに足底部が歩行面に接触したと判断する。
【実施例】
【００１２】
＜第１実施例＞  図１は、第１実施例に係る脚式ロボット１の模式図である。図１（Ａ）は、脚式ロボット１の模式的正面図であり、図１（Ｂ）は、脚式ロボット１の模式的側面図である。
本実施例の脚式ロボット１は、胴体部１０と、胴体部１０に連結する２本の脚部１１Ｌ、１１Ｒを有する２脚の脚式ロボットである。
胴体部１０には、コントローラ１００と、加速度センサ５２と姿勢角センサ５４が内蔵されている。姿勢角センサ５４は、具体的には３軸傾斜センサであり、胴体部１０の３軸周りの傾斜角を検出する。加速度センサ５２と姿勢角センサ５４の出力はコントローラ１００へ送られる。
右脚部１１Ｒは、右第１リンク１２Ｒ、右第２リンク１６Ｒ、右第３リンク２０Ｒ、右第４リンク２４Ｒ、右第５リンク２８Ｒ、右第６リンク３２Ｒ、右第７リンク３６Ｒ、及び右足平リンク４０Ｒを有する。また、右脚部１１Ｒは、右第１関節１４Ｒ、右第２関節１８Ｒ、右第３関節２２Ｒ、右第４関節２６Ｒ、右第５関節３０Ｒ、右第６関節３４Ｒ、及び右第７関節３８Ｒを有する。
右第１リンク１２Ｒの一端は胴体部１０に連結されており、他端は右第１関節１４Ｒに連結されている。右第２リンク１６Ｒの一端は右第１関節１４Ｒに連結されており、他端は右第２関節１８Ｒに連結されている。同様に、右第３リンク２０Ｒの両端は夫々右第２関節１８Ｒと右第３関節２２Ｒに連結されている。右第４リンク２４Ｒの両端は夫々右第３関節２２Ｒと右第４関節２６Ｒに連結されている。右第５リンク２８Ｒの両端は夫々右第４関節２６Ｒと右第５関節３０Ｒに連結されている。右第６リンク３２Ｒの両端は夫々右第５関節３０Ｒと右第６関節３４Ｒに連結されている。右第７リンク３６Ｒの両端は夫々右第６関節３４Ｒと右第７関節３８Ｒに連結されている。右足平リンク４０Ｒの一端は右第７関節３８Ｒに連結されている。
右足平リンク４０Ｒの下面には、４個の距離センサ５０Ｒａ、５０Ｒｂ、５０Ｒｃ、及び５０Ｒｄが設置されている。４個の距離センサは、右足平リンク４０Ｒの４隅付近に夫々取り付けられており、脚式ロボット１の動作中に、右足平リンク４０Ｒの下面と歩行面ｇとの間の距離を検出する。夫々の距離センサの出力はコントローラ１００へ送られる。なお、距離センサ５０Ｒｄは、図１（Ａ）においては距離センサ５０Ｒｂの紙面奥側に位置し、図１（Ｂ）においては距離センサ５０Ｒｃの紙面奥側に位置するため、図１では図示されていない。
左脚部１１Ｌは、左第１リンク１２Ｌ、左第２リンク１６Ｌ、左第３リンク２０Ｌ、左第４リンク２４Ｌ、左第５リンク２８Ｌ、左第６リンク３２Ｌ、左第７リンク３６Ｌ、及び左足平リンク４０Ｌを有する。また、左脚部１１Ｌは、左第１関節１４Ｌ、左第２関節１８Ｌ、左第３関節２２Ｌ、左第４関節２６Ｌ、左第５関節３０Ｌ、左第６関節３４Ｌ、及び左第７関節３８Ｌを有する。左足平リンク４０Ｌの下面には、４個の距離センサ５０Ｌａ、５０Ｌｂ、５０Ｌｃ、及び５０Ｌｄが設置されている。左脚部１１Ｒの各リンク、各関節、及び４個の距離センサの配置は右脚部１１Ｒと同じであるので説明を省略する。
夫々の関節にはモータ（不図示）とエンコーダ（不図示）が内蔵されており、モータを駆動することで、連結されているリンクの相対回転角を変えることができる。モータへの駆動指令信号はコントローラ１００から送られる。図１において、各関節の回転軸は次のように表される。図面上で紙面に垂直な方向に伸びる回転軸を有する関節は、図１（Ａ）に記した右第１関節１４Ｒのように円で表す。図面上で左右方向に伸びる回転軸を有する関節は、図１（Ａ）に記した右第２関節１８Ｒのように、図面の上下方向に対角線を記した矩形で表す。図面上で上下方向に伸びる回転軸を有する関節は、図１（Ａ）に記した右第３関節２２Ｒのように、図面の左右方向に対角線を記した矩形で表す。
【００１３】
図２に、脚式ロボット１のブロック図を示す。図２では、右脚部１１Ｒと左脚部１１Ｌを合わせて脚部１１と称している。また、右足平リンク４０Ｒに取り付けられた４個の距離センサ５０Ｒａ、５０Ｒｂ、５０Ｒｃ、及び５０Ｒｄと、左足平リンク４０Ｌに取り付けられた４個の距離センサ５０Ｌａ、５０Ｌｂ、５０Ｌｃ、及び５０Ｌｄを合わせて距離センサ５０と称している。また、各関節に設けられたモータを総称してモータ５１と称している。また、以下では、右足平リンク４０Ｒと右足平リンク４０Ｌを総称する場合には足平リンク４０と称する。
【００１４】
コントローラ１００は、記憶装置１０２を有する。記憶装置１０２には歩容データ１０３が記憶されている。歩容データ１０３は、胴体部１０の目標位置姿勢角の経時的データと、足平リンク４０の目標位置姿勢角の経時的データが含まれている。歩容データ１０３は、事前にコンピュータ上で作成される。コンピュータ上で、歩行面ｇ上を歩行するときの脚式ロボット１の動作をシミュレーションすることによって、脚式ロボット１がスムーズに歩行するときの足平リンク４０の位置姿勢角と胴体部１０の位置姿勢角の軌跡が求められる。求めた軌跡が足平リンク４０の目標位置姿勢角の経時的データと胴体部１０の目標位置姿勢角の経時的データ（即ち、歩容データ１０３）となる。
本実施例では、図１に示すように絶対座標系ｘｙｚを定義する。歩行面ｇはｘｙ平面と一致する平面である。足平リンク４０と胴体部１０の夫々の目標位置はｘｙｚ座標系上の座標値で与えられる。目標姿勢角はｘｙｚ座標系における各軸周りの回転角（ロール角、ピッチ角、ヨー角と呼ばれる）で与えられる。歩行面ｇがｘｙｚ座標系に対して定義されているので、ｘｙｚ座標系で表現された足平リンク４０の目標位置姿勢角は、歩行面ｇに対する足平リンク４０の相対的な目標位置姿勢角を表すことになる。
【００１５】
コントローラ１００内で行なわれる処理についてまず概説する。
歩容データの足平リンク４０の目標位置姿勢角と胴体部１０の目標位置姿勢角は、種々の補正量が加えられた後に関節角変換部１１４に送られる。補正量については後述する。関節角変換部１１４では、足平リンク４０の目標位置姿勢角と胴体部１０の目標位置姿勢角を脚部１１の各関節の関節角に変換する。この変換はいわゆる逆変換と呼ばれるものである。関節角変換部１１４で求められた関節角が関節角指令値としてモータドライバ１１６へ送られる。モータドライバ１１６は、脚部１１の各関節に取り付けられたモータ５１を駆動し、夫々の関節の関節角が関節角変換部１１４から送られた関節角指令値に一致するように制御する。その結果、脚式ロボット１は、歩容データの足平リンク４０と胴体部１０の夫々の目標位置姿勢角に追従しながら歩行する。
【００１６】
コントローラ１００内で行なわれる各処理について説明する。
記憶装置１０２に記憶された歩容データ１０３のうち、足平リンク４０の目標位置姿勢角のデータは目標距離算出部１０４へ送られる。目標距離算出部１０４では、足平リンク４０の目標位置姿勢角データから、歩容データ上での歩行面ｇと足平リンク４０の目標距離を求める。より詳細には、目標距離算出部１０４は、距離センサ５０が取り付けられている足平リンク上の点から歩行面までの距離（目標距離）を算出する。足平リンク４０の目標位置姿勢角は、足平リンク４０上に設定された基準点における目標位置と姿勢角である。その基準点と各距離センサ５０との位置関係は既知であるから、基準点の目標位置姿勢角から、各距離センサの取り付け点と仮想的な歩行面ｇの間の距離を算出することできる。本実施例では、１つの足平リンクに４つの距離センサが取り付けられているので、目標距離算出手段１０４は、一方の足平リンクについて４つの目標距離を算出する。
なお、本実施例では、図１に示したように、歩行面ｇは、絶対座標系のｘｙ平面と一致する平面である。従って絶対座標系ｘｙｚで表現された足平リンク４０の目標位置姿勢角データのうち、ｚ軸方向の位置の値がそのまま足平リンク４０の基準点における歩行面ｇと足平リンク４０との間の目標距離となる。
目標距離算出部１０４で求められた目標距離は、距離偏差算出部１０６へ送られる。また距離偏差算出部１０６には、足平リンク４０に取り付けられた各距離センサ５０の出力が送られる。距離偏差算出部１０６では、距離センサごとに、距離センサが計測した実際の歩行面と足平リンクとの間の距離と、目標距離との偏差を算出する。求められた距離偏差は、ＰＩＤ制御部１０８へ送られる。ＰＩＤ制御部１０８は、以下のフィードバックループによる制御を適正に収束させるように構築される。そのフィードバックループとは、脚部１１に取り付けられた距離センサ５０の計測値が、距離偏差算出部１０６、ＰＩＤ制御部１０８、補正量算出部１１０、加算器１１２、関節角変換部１１４、及びモータドライバ１１６を介して脚部１１の関節を駆動するモータ５１へと影響するループである。ＰＩＤ制御部１０８の具体的な機能は、一般的なＰＩＤ制御器と同じであるので説明を省略する。なお、距離偏差算出部１０６から出力される距離偏差の値は、ＰＩＤ制御器によって修正されるが、以下ではＰＩＤ制御器の出力も距離偏差と称する。
ＰＩＤ制御部１０８から出力される距離偏差は、補正量算出部１１０へ送られる。補正量算出部１１０では、足平リンク４０の目標位置姿勢角の補正量が算出される。補正量は、距離偏差が小さくなる方向に設定される。算出された補正量は、加算器１１２で歩容データ１０３の足平リンク４０の目標位置姿勢角データに加算されて関節角変換部１１４へ入力される
【００１７】
上記説明した目標距離算出部１０４、距離偏差算出部１０６、および補正量算出部１１０の処理を、図３を参照しながら説明する。なお図３では、説明をし易くするために足平リンクに４０ａ、や４０Ａなど、図１で示した足平リンク４０Ｒ，４０Ｌとは異なる符号を付してある。
図３の左側は、あるタイミングにおける歩容データ上での（即ち仮想空間における）足平リンク４０ａと歩行面ｇの相対位置関係を示す図である。図３の右側は、図３の左側と同じタイミングにおける実空間における足平リンク４０Ａと歩行面Ｇとの位置関係を示す図である。即ち、足平リンク４０ａの目標位置姿勢角が図３左側に示すベクトルｒのときに、この目標位置姿勢角に基づいて現実の脚式ロボットが制御された結果、現実の足平リンク４０Ａと歩行面Ｇの位置関係が図３の右側に示す位置関係となる。
図３では説明を簡略化するため、仮想空間における足平リンク４０ａの位置と実空間における足平リンク４０Ａの位置の差異に注目し、姿勢角には差異がないと仮定する。足平リンク４０ａ、４０Ａの姿勢角については、仮想空間においても実空間においても足平リンクの下面は歩行面に対して平行であると仮定する。仮想空間における足平リンクの目標位置姿勢角は、仮想空間内に設定された絶対座標系ｘｙｚの原点から足平リンク４０ａに設定された基準点Ｐまでのベクトルｒで表現できる。仮想空間内の絶対座標系ｘｙｚは、そのｘｙ平面が歩行面ｇと一致するように設定されている。
【００１８】
図３の右側に記した座標系ＸＹＺは、仮想空間内の絶対座標系ｘｙｚに対応する実空間における絶対座標系を表している。
ここで、実空間における歩行面Ｇは、絶対座標系ＸＹＺのＸＹ平面からＺ軸方向にΔＳだけずれている。即ち、仮想空間における歩行面ｇの位置と実空間における歩行面Ｇは一致しない。この不一致は、現実の歩行面の凹凸を仮想空間内で正確に反映できなかった場合などに生じる。
また、図３では、仮想空間内における絶対座標系ｘｙｚの原点から足平リンク４０ａの基準点Ｐへの位置ベクトルｒ（即ち目標位置）と、実空間における絶対座標系ＸＹＺの原点から足平リンク４０Ａの基準点Ｐへの位置ベクトルＲが一致していない。即ち、現実の脚式ロボットの足平リンク４０Ａが、その目標位置に正確に追従していないことを示している。これは、例えば、現実の脚式ロボット組立誤差など、仮想空間の脚式ロボットに反映されない要素が存在するからである。
【００１９】
目標距離算出部１０４は、仮想空間における歩行面ｇと足平リンク４０ａの目標距離を歩容データから求める。図３の左側には目標距離が符号ｈrefで示されている。
距離センサ５０は、実空間における歩行面Gと足平リンク４０Ａの距離を計測する。図３の右側には、計測した距離が符号ｈmesで示されている。
距離偏差算出部１０６は、目標距離ｈrefと計測した距離ｈmesとの距離偏差ｅhを求める。図３の例ではｅh＝ｈref−ｈmesで表される。
ＰＩＤ制御部１０８は、比例制御則、微分制御則、及び積分制御則に基づいて、距離偏差ｅhを修正するが、本実施例では、ＰＩＤ制御部１０８の出力も距離偏差ｅhで表す。
補正量算出部１１０は、距離偏差ｅhを小さくする方向に足平リンク４０ａの目標位置ｒを補正する補正量を算出する。図３の例では、補正量は、絶対座標系ｘｙｚにおけるｚ軸の正方向への距離ｅhとなる。
補正量算出部１１０が算出した補正量は、加算器１１２で歩容データ１０３上の目標位置ベクトルｒに加算される。図３の左側に示すように、補正量が加算された目標位置ベクトルｒ＋ｅhは、足平リンク４０ａを距離偏差ｅhだけ上方へ移動させるベクトルとなる。図３の左側には、目標位置ベクトルｒ＋ｅhで示される足平リンクの位置を符号４０ｂで示す。
補正量の加算された目標位置に基づいて脚式ロボットの各関節が駆動されると、実空間における脚式ロボットの足平リンク４０Ａの位置は、図３の右側に符号４０Bで示す位置となる。即ち、歩容データ１０３上での目標位置ベクトルｒが、補正量によって歩行面ｇの上方へ距離偏差ehだけ移動する。これによって、実空間における足平リンクの位置も、目標位置ベクトルｒに基づいて脚式ロボットが制御されるときの足平リンクの位置（足平リンク４０Ａの位置）よりも上方へｅｈだけ移動した位置（足平リンク４０Ｂの位置）となる。
【００２０】
このように、本実施例では、仮想空間における（即ち歩容データにおける）歩行面と実空間における歩行面が一致せず、しかも足平リンクが目標位置に追従していなくとも、仮想空間における歩行面と足平リンクの距離が実空間においても保たれるように脚式ロボットの各関節が制御される。図３では足平リンクの姿勢角は一定と仮定したが、足平の下面の３点（一直線上に並ばない３点）において夫々歩行面との距離を計測し、３点夫々の点において距離偏差を求めることで、姿勢角についても同様の処理を行なうことができる。そのような処理によって、仮想空間における歩行面に対する足平リンクの姿勢角と、実空間における歩行面に対する足平リンクの姿勢角を一致させることができる。
図３に例示した処理は、制御サンプリング毎に行なわれる。従って、仮想空間上で足平リンクが着床するタイミングで、実空間における足平リンクを着床させることができる。さらに着床するときの歩行面に対する足平リンクの姿勢角も仮想空間内での姿勢角と実空間での姿勢角を一致させることができる。即ち、上記の補正量によって、実空間における歩行面に対する足平リンクの動作を、仮想空間上で歩容データ作成時に行なったシミュレーション時の動作に近づけることができる。そうすることによって、凹凸などの状態が未知の歩行面をスムーズに歩行する脚式ロボットを実現できる。
目標距離算出部１０４、距離偏差算出部１０６、および補正量算出部１１０の処理を、図３に示す単純化した例を用いて説明した。より具体的な処理については後述する。
【００２１】
図２に戻り、コントローラ１００の処理の説明を続ける。
歩容データ１０３のうち、胴体部１０の目標位置姿勢角は加算器１１８に送られる。胴体部１０の目標位置姿勢角のうち、目標姿勢角のデータは加算器１２０に送られる。
加算器１２０には、胴体部１０に取り付けられた姿勢角センサ５４の検出値が入力される。加算器１２０では、胴体部１０の目標姿勢角と姿勢角センサ５４の検出した姿勢角との姿勢角偏差が算出される。算出された姿勢角偏差はＰＩＤ制御部１２２に送られる。ＰＩＤ制御部１２２は、胴体部１０の姿勢角のフィードバック制御を行なう。以下ではこのフィードバック制御を姿勢角フィードバックと称する。
胴体部１０の目標位置姿勢角のうち、目標位置のデータは２回微分器１２６に送られる。２回微分器１２６では、目標位置のデータが２回微分されて目標位置の加速度、即ち胴体部１０の目標加速度が出力される。出力した目標加速度は、加算器１２８に送られる。加算器１２８には、胴体部１０に取り付けられた加速度センサ５２の検出値が入力される。加算器１２８では、胴体部１０の目標加速度と加速度姿勢角センサ５２の検出した加速度との加速度偏差が算出される。算出された加速度偏差はＰＩＤ制御部１３０に送られる。ＰＩＤ制御部１３０は、胴体部１０の加速度のフィードバック制御を行なう。ＰＩＤ制御部１２２とＰＩＤ制御部１３０の機能は、いずれも一般的なＰＩＤ制御器の機能と同様であるので説明を省略する。
ＰＩＤ制御部１２２の出力とＰＩＤ制御部１３０の出力は、加算器１１８に送られ、歩容データ１０３上の胴体部１０の目標位置姿勢角に加算され、関節角変換部１１４へ送られる。
【００２２】
姿勢角フィードバックは、特に動歩行する２足歩行ロボットである本実施例の脚式ロボット１にとって重要である。前述したように、足平リンク４０の目標位置姿勢角の補正量は、歩行面と足平リンク４０の距離に応じて算出される。補正量の算出過程には胴体部１０の動作は考慮されていない。即ち、補正量の算出過程には、歩行の安定が考慮されていない。動歩行においては、所定の条件を満足しないとロボットが転倒することが知られている。その条件とは、例えばＺＭＰが立脚の足平と歩行面との接触領域の凸包（一般的には支持多角形と呼ばれる）内に存在することなどである。そのような条件を以下では制約条件と称する。
コンピュータ上でのシミュレーションにより歩容データを作成する際には、制約条件を満足するように歩容データが作成される。現実の歩行動作時に、胴体部の動作とは無関係に歩行データ上の足平リンクの目標位置姿勢角に補正量を加えると、制約条件が満足されない可能性が生じる。本願の発明者らは、実際の歩行時の絶対座標系（グローバル座標系またはワールド座標系と呼ばれる場合もある）における足平部と胴体部との相対位置関係が、歩容データ作成時にシミュレートしたときの仮想的な脚式ロボットの絶対座標系における足平部と胴体部との相対位置関係に追従すれば、実際の歩行時の足平リンクの位置と姿勢角が歩容データ上での目標位置姿勢角からずれても制約条件を満足しやすいことを見出した。そこで本実施例の脚式ロボットは姿勢角フィードバックを備える。これによって、足平リンクの目標位置姿勢角のデータに補正量を加算しても転倒し難い脚式ロボットを実現した。
【００２３】
距離偏差算出部１０６、および補正量算出部１１０の処理を、より具体的に説明する。ここでも前述した記号（計測距離ｈmes：足平リンク４０に取り付けられた距離センサ５０が計測する足平リンク４０と歩行面との間の距離、目標距離ｈref：夫々の距離センサ５０の取り付け位置における足平リンク４０と歩行面との歩容データ上での距離、距離偏差ｅh：目標距離ｈrefと計測距離ｈmesの偏差）を利用する。
前述した足平リンク４０の補正量は、遊脚期間の全期間に亘って算出する必要がない。そこで、足平リンク４０と歩行面との距離が所定距離以上のときは偏差をゼロとする。また、足平リンク４０が着床しているときに、例えば計算時の丸め誤差などにより距離偏差に微小な定常偏差が発生すると、ＰＩＤ制御部１０８の積分項による定常偏差の積分量が補正量に加わってしまう。計算時の丸め誤差が微小でもその積分量は制御にとって無視できない程に大きくなる可能性があるので、そのような定常偏差が補正量に影響を与えないようにする必要がある。そこで、本実施例では、足平リンク４０と歩行面との距離が所定値以下の場合には補正量を算出しないように、不感帯を設ける。即ち、足平リンク４０と歩行面との距離が所定範囲内のときだけ、補正量が算出されるようにする。そのような所定範囲を制御距離範囲と称する。制御距離範囲を設定したときの距離偏差ｅhの算出方法を図４に示す。制御距離範囲は、仮想空間における目標距離ｈrefと、実空間における計測距離ｈmesの双方に同じ範囲を設定する。範囲の上限値をｈth_Hと表し、範囲の下限値をｈth_Lと表す。
目標距離ｈrefと計測距離ｈmesのいずれも上限値ｈth_Hを超える場合が図４の（１）の欄に対応する。この場合には、距離偏差ｅh＝０とする。また、目標距離ｈrefと計測距離ｈmesのいずれも下限値ｈth_Lより小さい場合が図４の（９）の欄に対応する。この場合にも、距離偏差ｅh＝０とする。ｅh＝０とすることで、足平リンク４０の目標位置姿勢角に対する補正量もゼロとなる。
目標距離ｈrefが上限値ｈth_Hよりも大きく、計測距離ｈmesが制御距離範囲内である場合が図４の（２）の欄に対応する。この場合には、距離偏差ｅh＝ｈref−ｈmesとする。目標距離ｈrefが上限値ｈth_Hよりも大きく、計測距離ｈmesが下限値ｈth_Lよりも小さい場合が図４の（３）の欄に対応する。この場合には、距離偏差ｅh＝ｈref−ｈth_Lとする。目標距離ｈrefと計測距離ｈmesの値に応じて、図４の（１）から（９）の欄に示すようにｅhが計算される。
【００２４】
目標距離ｈrefと計測距離ｈmesの経時的変化に伴う距離偏差ｅhの経時的変化を図５と図６に例示する。図５（Ａ）は、目標距離ｈrefと計測距離ｈmesの経時的変化を示す。図５（Ｂ）は、図５（Ａ）に対応する距離偏差ｅhの経時的変化を示す。
図５の例は、計測距離ｈmesが目標距離ｈrefよりも大きい場合である。図５に示す期間ａでは、目標距離ｈrefと計測距離ｈmesのいずれも距離の上限値ｈth_Hよりも大きい。従って期間ａでは、図４の（１）の欄に示す計算式が採用されて距離偏差ｅｈ＝０となる。期間ｂでは、計測距離ｈmesは上限値ｈth_Hより大きいが目標距離ｈrefは制御距離範囲内である。この期間ｂでは、図４の（４）の欄に示す計算式が採用される。期間ｃでは、計測距離ｈmesと目標距離ｈrefのいずれも制御距離範囲内である。この期間ｃでは、図４の（５）の欄に示す計算式が採用される。期間ｄでは、計測距離ｈmesは制御距離範囲内であるが目標距離ｈrefは下限値ｈth_Lより小さい。この期間ｄでは、図４の（８）の欄に示す計算式が採用される。期間ｅでは、目標距離ｈrefと計測距離ｈmesのいずれも下限値ｈth_Ｌよりも小さい。従って期間ｅでは、図４の（９）の欄に示す計算式が採用されて距離偏差ｅｈ＝０となる。以上より、距離偏差ｅhは図５（Ｂ）のようになる。
図６の例は、計測距離ｈmesが目標距離ｈrefよりも小さい場合である。図６（Ａ）は、目標距離ｈrefと計測距離ｈmesの経時的変化を示す。図６（Ｂ）は、図６（Ａ）に対応する距離偏差ｅhの経時的変化を示す。なお、図６（Ｂ）に破線で示すグラフは、距離偏差ｅhにローパスフィルタをかけたときの出力である。
図６に示す期間ａでは、目標距離ｈrefと計測距離ｈmesのいずれも距離の上限値ｈth_Hよりも大きい。従って期間ａでは、図４の（１）の欄に示す計算式が採用されて距離偏差ｅｈ＝０となる。期間ｂでは、計測距離ｈmesは制御距離範囲内であるが目標距離ｈrefは上限値ｈth_Hより大きい。この期間ｂでは、図４の（２）の欄に示す計算式が採用される。
期間ｃでは、計測距離ｈmesと目標距離ｈrefのいずれも制御距離範囲内である。この期間ｃでは、図４の（５）の欄に示す計算式が採用される。期間ｄでは、計測距離ｈmesは下限値ｈth_Lより小さいが目標距離ｈrefは制御距離範囲内である。この期間ｄでは、図４の（６）の欄に示す計算式が採用される。期間ｅでは、目標距離ｈrefと計測距離ｈmesのいずれも下限値ｈth_Ｌよりも小さい。従って期間ｅでは、図４の（９）の欄に示す計算式が採用されて距離偏差ｅｈ＝０となる。以上より、距離偏差ｅhの経時的変化は図６（Ｂ）に実線で示すグラフとなる。ここで、図４の計算式に従うと、期間ａと期間ｂの境界、及び期間ｄと期間ｅの境界において、距離偏差ｅhがステップ状に変化する。そこで、距離偏差ｅｈにローパスフィルタをかけることも好適である。ローパスフィルタの出力が図６（Ｂ）に点線で示すグラフである。図６（Ｂ）の点線のグラフからわかる通り、距離偏差ｅｈのステップ状の変化を除去することができる。その結果、補正量がステップ状に変化することを防止できる。
【００２５】
次に、補正量算出部１１０の処理をより具体的に説明する。補正量算出部１１０は、次の（１）式と（２）式により右足平リンク４０Ｒと左足平リンク４０Ｌの目標位置姿勢角の補正量を求める。
【数１】
2008049458.tif 000003
ここで、（１）式の左辺［ΔφＲ、ΔθＲ、ΔｚＲ］は、右足平リンク４０Ｒの目標位置姿勢角の補正量ベクトルである。ΔφＲとΔθＲは、歩行面に平行な面を規定する２直線回りの姿勢角の補正量である。ΔｚＲは、歩行面に直交する方向の位置の補正量である。同様に、（２）式の左辺［ΔφＬ、ΔθＬ、ΔｚＬ］は、左足平リンク４０Ｌの目標位置姿勢角の補正量ベクトルである。ΔφＬとΔθＬは、歩行面に平行な面を規定する２直線回りの姿勢角の補正量である。ΔｚＬは、歩行面に直交する方向の位置の補正量である。
（１）式の右辺の［ＥＲ１、ＥＲ２、ＥＲ３、ＥＲ４］は、右足平リンク４０Ｒの４つの距離偏差を表す。ここで、左足平リンク４０Ｒには４つの距離センサ５０Ｒａ、５０Ｒｂ、５０Ｒｃ、及び５０Ｒｄが取り付けられている。目標距離算出部１０４は、足平リンクにおける夫々の距離センサの取り付け点から仮想空間内の歩行面までの距離（目標距離）を算出する。距離偏差［ＥＲ１、ＥＲ２、ＥＲ３、ＥＲ４］は、距離センサの取り付け点に対応した目標距離と距離センサが計測した距離の差である。同様に（２）式の右辺の［ＥＬ１、ＥＬ２、ＥＬ３、ＥＬ４］は、左足平リンク４０Ｌの４つの距離偏差を表す。
（１）式右辺のＸＲｉｊ（ｉ＝１，２，３，４、ｊ＝１，２，３，４）は、右足平リンク４０Ｒの幾何学的形状と、４つの距離センサの取り付け点から決定される定数である。ここで、（１）の左辺に示されているように、右足平リンク４０Ｒの目標位置姿勢角の補正量ベクトルは３つの変数を有している。従って、右足平リンク４０Ｒの下面の３点（一直線上に並ばない３点）と夫々の点から歩行面までの距離が計測できれば補正量ベクトルの３つの変数を決定できる。即ち、３点の距離偏差が計測できれば補正量ベクトルの３つの変数を決定できる。本実施例では、右足リンク４０Ｒの距離偏差［ＥＲ１、ＥＲ２、ＥＲ３、ＥＲ４］は、４つの変数を有している。即ち、左辺の３つの変数に対して右辺の距離変数は冗長である。本実施例ではこの冗長性を活用するようにＸＲｉｊが決定される。具体的には次の通り決定する。補正量［ΔφＬ、ΔθＬ、ΔｚＬ］が決定されたと仮定したときの４つの距離偏差を［ＥＥＲ１、ＥＥＲ２、ＥＥＲ３、ＥＥＲ４］とする。ＸＲｉｊは、誤差＝（ＥＥＲ１−ＥＲ１）２＋（ＥＥＲ２−ＥＲ２）２＋（ＥＥＲ３−ＥＲ３）２＋（ＥＥＲ４−ＥＲ４）２が最小となるように決定される。即ち、ＸＲｉｊは、計測距離に基づく距離偏差（ＥＲ１等）と、補正量を決定したと仮定したときの距離偏差（ＥＥＲ１等）との誤差が最小となるように決定する。（２）式のＸＬｉｊ（ｉ＝１，２，３，４、Ｊ＝１，２，３，４）も同様に決定する。
【００２６】
補正量変換部１１０はさらに、（１）式と（２）式で求めた足平リンク４０の歩行面に垂直方向の補正量ΔｚＲ、ΔｚＬを次の（３）式によって変換する。
【数２】
2008049458.tif 000004
左辺のΔＺＲ、ΔＺＬが、足平リンクの歩行面に垂直方向の補正量の最終的な値となる。（３）式は次の意味を有する。立脚の足平リンクにおいては、足平リンクと歩行面との距離偏差はゼロであるため、図４の（４）の欄に示す場合に相当する。従って、補正量はゼロとなる。即ち、ΔｚＲ、ΔｚＬのいずれか一方は常にゼロとなる。仮に左脚が立脚であるとして、ΔｚＲ＝Δｚ、ΔｚＬ＝０とする。（３）式によりΔＺＲ＝Δｚ／２、ΔＺＬ＝−Δｚ／２となる。立脚側である左足平リンク４０Ｒの補正量は下方へΔｚ／２となる。立脚側である左足平リンク４０Ｌは接している歩行面より下方へずれることはできないので、補正量のΔｚ／２の大きさだけ胴体部１０の位置が上方へ移動することになる。一方、遊脚側の右足平リンク４０Ｒの目標位置が上方へΔｚ／２へ補正されるので、現実の右足平リンク４０Ｒも上方へΔｚ／２だけ移動する。胴体部１０が上方へΔｚ／２の大きさだけ移動し、遊脚側の右足平リンク４０Ｒが胴体部１０に対して上方へΔｚ／２の大きさだけ移動するので、結果として遊脚側である右足平リンク４０Ｒは歩行面に対してΔｚだけ上方へ移動する。（３）式によって、遊脚の足平リンクの補正量を半分にすることができる。残りの半分は立脚側の足平リンクの目標位置の補正量とする。そうすることで、遊脚側の足平リンクの目標位置の補正量を小さくすることができる。歩容データに対する補正量の大きさを小さくすることによって、本来の歩容データによる歩行動作に近い歩行を行わせることができる。（３）式による作用は、次のように換言することもできる。補正量算出部１１０は、距離偏差算出部１０６が算出した距離偏差を１／２にして遊脚の足平リンクの目標位置姿勢角に対する補正量のうち、歩行面と交差する方向の補正量を算出し、算出した補正量の符号を逆転させた補正量を立脚の足平リンクの補正量に設定する。
【００２７】
＜第２実施例＞  次に第２実施例について説明する。本実施例は、脚式ロボットの足平リンクの構造が第１実施例と異なる。足平リンクを除く脚式ロボットの構成は図１の脚式ロボット１と同じである。
図７（Ａ）に本実施例の脚式ロボットの右足平リンク１４０Ｒの模式図を示す。なお、左足平リンクも構造は同じであるので説明を省略する。
右足平リンク１４０Ｒは、その下面に対向しており、弾性部材１５２によって右足平リンク１４０Ｒに弾性支持される足底部１６０を有する。弾性部材１５２は典型的にはバネである。また、右足平リンク１４０Ｒは、その下面に４つの足底部距離センサ１５０Ｒａ、１５０Ｒｂ、１５０Ｒｃ、１５０Ｒｄを有している。夫々の足底部距離センサは、右足平リンク１４０Ｒの下面と足底部１６０の間の距離を計測する。４つの足底部距離センサ１５０Ｒａ、１５０Ｒｂ、１５０Ｒｃ、１５０Ｒｄは、右足平リンク１４０Ｒの４隅に取り付けられている。換言すれば、４つの足底部距離センサが、そのうちの少なくとも３つが直線上に並ばないような配置で右足平リンク１４０Ｒの下面に取り付けられている。なお、図７（Ａ）には、２つの足底部距離センサ１５０Ｒａ、１５０Ｒｃのみを示してある。足底部距離センサ１５０Ｒｂは、足底部距離センサ１５０Ｒａの図面奥側に位置し、足底部距離センサ１５０Ｒｄは、足底部距離センサ１５０Ｒｃの図面奥側に位置するので図示を省略している。
なお、図７（Ａ）に示す右第７関節３８Ｒ、右第７リンク３６Ｒは、図１に示す略式ロボット１と同じである。
【００２８】
足底部１６０は、右足平リンク１４０Ｒの下方に位置しているので、右脚の着床時には右足平リンク１４０Ｒより先に歩行面Ｇに接触する。足底部１６０は、弾性部材１５２によって右足平リンク１４０Ｒに弾性支持されているため、右足平リンク１４０Ｒの姿勢角に関わらず、歩行面Ｇに対して安定する姿勢角で静止する。ここで「安定する姿勢角」とは、直線上に並ばない少なくとも３点で歩行面Ｇと接触することを意味する。
【００２９】
本実施例の脚式ロボットの構成を、図２のブロック図を参照して説明する。但し、本実施例では、図２の距離センサ５０を足底部距離センサ１５０に置き換える。また、目標距離算出部１０４は、仮想空間における歩行面と足平リンクとの距離（目標距離）に代えて、仮想空間における足底部と足平リンクとの距離（目標距離）を算出する。また、距離算出部１０６は、足底部距離センサ１５０が計測した足平リンクと足底部の計測距離と目標距離の距離偏差を求める。
【００３０】
本実施例による足平リンクの補正量の算出処理について説明する。なお、説明を簡略化するために、図７において、紙面と交差する直線回りの右足平リンク１４０Ｒの姿勢角の補正量に注目する。そのため、右足平リンク１４０Ｒに取り付けられた足底部距離センサ１５０Ｒａ、１５０Ｒｃの計測距離のみに注目する。図７（Ａ）に示すように、足底部１６０が歩行面Ｇに接触していない状態における足底部距離センサ１５０Ｒａの計測距離をｈａ、足底部距離センサ１５０Ｒｃの計測距離をｈｃとする。また、右足平リンク１４０Ｒの着床予定位置における歩行面Ｇには突出部ｄが存在する。歩容データを作成する際の仮想的な歩行面には突出部ｄが存在しないものとする。
【００３１】
図７（Ｂ）に、足底部１６０が歩行面Ｇに接触した状態を示す。歩行面Ｇに接した足底部１６０は、弾性部材１５２によって歩行面Ｇに押し付けられるので、歩行面Ｇに対して安定した姿勢角で静止する。図７（Ｂ）に示すように、足底部１６０は、突出部ｄとその他の平坦部で歩行面Ｇと接触した状態で安定して静止する。即ち、足底部１６０は歩行面Ｇの平坦な面に対して傾いた姿勢角で安定して静止する。このとき、足底部距離センサ１５０Ｒａの計測距離がＨａ、足底部距離センサ１５０Ｒｃの計測距離がＨｃである。図７（Ｂ）に示すように、Ｈａ＜Ｈｃである。
一方、仮想的な歩行面には突出部ｄが存在しない。従って、足底部距離センサ１５０Ｒａの取り付け点における歩容データ上での右足平リンク１４０Ｒと足底部１６０との目標距離をＨａrefとし、足底部距離センサ１５０Ｒｃの取り付け点における歩容データ上での右足平リンク１４０Ｒと足底部１６０との目標距離をＨｃrefとすると、Ｈａref＝Ｈｃrefとなる。補正量算出部１１０（図２参照）は、夫々の足底部距離センサ１５０Ｒａ、１５０Ｒｃの取り付け点における目標距離と計測距離の距離偏差が小さくなるように、目標姿勢角の補正量を算出する。補正量が付加された目標位置姿勢角に基づいて各関節が制御される。その結果、右足平リンク１４０Rの姿勢角は、その下面が足底部１６０に平行となるように制御される。なぜならば、足底部距離センサ１５０Ｒａの計測距離Ｈａと足底部距離センサ１５０Ｒｃの計測距離Ｈｃが等しくなるような補正量が算出されるからである。
右足平リンク１４０Rの下面が足底部１６０に平行の状態で、右足平リンク１４０Rが下降すると、図７（Ｃ）に示すように、右足平リンク１４０Ｒは、足底部１６０と接する姿勢角で着床する。足底部１６０は既に突出部ｄの存在する現実の歩行面G上で安定した姿勢角で静止しているので、右足平リンク１４０Rも安定した姿勢角で着床することになる。
【００３２】
第２実施例の技術は、凹凸などの歩行面の状態を直接計測せずとも、足平リンクを安定に着床させる技術を提供する。歩行面の凹凸を直接計測するためには、その凹凸のピッチと同等の分解能を有する２次元的な距離センサが必要となる。そのような距離センサは、画像処理によるか、或いは２点間の距離を計測する距離センサを格子状に多数並べたセンサが必要である。いずれのセンサも高価である。第２実施例の技術は、高価な距離センサを用いることなく、２点間の距離を計測する距離センサを少なくとも３個備えるだけで、歩行面の凹凸に応じて足平リンクを安定に着床する脚式ロボットを提供するものである。
この技術は、足平リンクが歩行面の傾斜や凹凸に適合することによって、足平部材の下面が歩行面上でどのような姿勢角で安定するかが事前に把握できればよいという点に着目する。そこで、着床予定位置に、足平リンクの下面と同じ面を有するダミー板を置くと仮定する。ダミー板は重力の作用によって着床予定位置の歩行面上で安定した位置と姿勢角で静止する。そのときのダミー板の位置と姿勢角を足平部材の目標位置姿勢角に決定する。足平リンクをその目標位置姿勢角へ移動させるように、脚部の各関節を駆動すれば、足平リンクは、静止しているダミー板の上へ安定して着床することになる。即ち、歩行面の傾斜や凹凸を直接計測せずとも、既に存在する凹凸の上に置かれたダミー板の位置と姿勢角を計測することによって、足平リンクを安定して着床させる目標位置姿勢角を決定することができる。
【００３３】
第２実施例の脚式ロボットは、次のように表現することもできる。即ち、胴体部に脚部が連結されており、脚部の関節を駆動することによって歩行面を歩行する脚式ロボットであり、脚部先端の足平リンク（足平部）の下面に対向しており、足平部に弾性支持される足底部と、足平部の下面に設定された点であり直線上に並ばない少なくとも３点の夫々の点と歩行面に接触した足底部との間の距離を計測する足底部距離センサと、計測された各々の距離が等しくなるように脚部の関節を駆動する駆動制御部と、を備える脚式ロボット。
足底部が前述したダミー板の役割を果す。足平リンクが着床位置に近づくと、足底部が先に歩行面と接触する。足底部は足平リンクに弾性支持されているので、足平リンクの姿勢角に関わらずに歩行面の傾斜や凹凸に適合した位置と姿勢角で静止する。足平リンクの下面の少なくとも３点における足底部との間の距離は、足底部センサによって検出される。少なくとも３点は、一直線上に並ばない点が設定される。計測された少なくとも３つの距離が等しくなるように脚部の関節を駆動する。すると、足平リンクの下面と足底部を平行にすることができる。その状態で計測された距離をゼロにするように脚部の関節を駆動する。そうすることで、足平リンクを安定した着床させることができる。換言すれば、計測された各々の距離を略等しい距離に維持しながら、その距離をゼロに収束させるように脚部の関節を駆動する。
なお、足底部が歩行面に接触したことは、たとえば、足底部距離センサの計測距離が所定値以下となったときに足底部が歩行面に接触したと判断すればよい。
第２実施例における足底部距離センサが、請求項の「距離センサ」の一例に相当する。
【００３４】
以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
【００３５】
例えば、図８に実施例２の足平リンクの変形例を示す。この右足平リンク２４０Ｒは、右関節２７０Ｒで連結された右爪先部２７２Ｒを有する。右関節２７０Ｒを駆動することによって、右足平リンク２４０Ｒに対する右爪先部２７２Ｒの相対角を変化させることができる。なお、右関節２７０Ｒは、３軸周りに回転可能である。右足平リンク２４０Ｒの下面には、弾性部材１５２によって弾性支持された足底部２６０を備える。右足平リンク２４０Ｒの下面にはまた、足底部との距離を計測する足底部距離センサ２５０Ｒａ、２５０Ｒｂ、２５０Ｒｃ、２５０Ｒｂを有する。なお、図８には足底部距離センサ２５０Ｒａの紙面奥側に位置する足底部センサ２５０Ｒｂと、足底部距離センサ２５０Ｒｃの紙面奥側に位置する足底部センサ２５０Ｒｄは図示を省略している。
また、右爪先部２７２Ｒの下面には、弾性部材２５２によって弾性支持された爪先足底部２７４を備える。右爪先部２７２Ｒの下面にはまた、爪先足底部２７４との距離を計測する爪先足底部距離センサ２７６Ｒａ、２７６Ｒｂ、２７６Ｒｃ、２７６Ｒｂを有する。なお、図８には爪先足底部距離センサ２７６Ｒａの紙面奥側に位置する爪先足底部センサ２７６Ｒｂと、爪先足底部距離センサ２７６Ｒｃの紙面奥側に位置する爪先足底部センサ２７６Ｒｄは図示を省略している。なお、左足平リンクも図８の右足平リンク２４０Ｒと同様の構造なので説明を省略する。
この足平リンク２４０Ｒは、足平リンク２４０Ｒと爪先部２７２Ｒの双方で歩行面に接触することができる。足平リンク２４０Ｒと爪先部２７２Ｒは、３軸周りに回転可能である右関節２７０Ｒによって連結されている。従って、足平リンク２４０Ｒと爪先部２７２Ｒの夫々に対して第２実施例で示した処理を施すことによって、足平リンク２４０Ｒと爪先部２７２Ｒの夫々を歩行面に対して安定して着床することができる。
【００３６】
また、第２実施例で示した足底部距離センサ１５０Ｒａ等には、レーザを利用した距離センサ、反射板を利用する光学式線距離センサ、超音波を利用する距離センサ、或いは渦電流を利用する距離センサを利用することができる。また、第２実施例では、足底部距離センサ１５０Ｒａ等は、右足平リンク１４０Ｒの下面に取り付けたが足底部１６０側に取り付けてもよい。
また、右足平リンク１４０Ｒと足底部１６０の周囲を覆うカバーを取り付けることも好適である。カバーを取り付けることによって、特に光学式の距離センサを利用する場合には発光部や受光部に塵等が付着することを防止できる。
【００３７】
また、図２に示すＰＩＤ制御部１０８、１２２、１３０は、制御則の一例であり、ＰＩＤ制御以外の制御則を適用してもよい。例えば、ＰＩＤ（比例、積分、微分）要素のうち、ひとつの要素からなる制御則、あるいは２つの要素からなる制御則を適用してもよい。また、位相進み回路や位相遅れ回路、あるいは二次遅れ要素などを含む制御則であってもよい。
【００３８】
また、第１実施例では足平リンク４０の４隅に夫々一つずつ片足に４個の距離センサを備えた。距離センサはさらに多数であってもよい。例えば、多数の距離センサを足平リンク４０の下面に格子状に配置してもよい。そうすることで、足平リンク４０の着床予定位置における歩行面の凹凸を検出することができる。さらに、足平リンクの下面に、例えばゴムなどの柔軟な部材を弾性支持するとともに、その柔軟な部材と足平リンク下面の距離を測定する距離センサを足平リンクの下面に格子状に配置してもよい。柔軟な部材が歩行面の凹凸に沿って変位し、柔軟な部材と足平リンクの下面の距離を多点で計測することによっても、歩行面の凹凸を計測することができる。
【００３９】
本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【００４０】
【図１】実施例の脚式ロボットの模式図である。
【図２】実施例の脚式ロボットのブロック図である。
【図３】歩行面と足平リンクとの関係を説明する図である。
【図４】距離偏差の算出方法を示す図である。
【図５】目標距離と計測距離が異なるときの距離偏差の例を示す図である。
【図６】目標距離と計測距離が異なるときの距離偏差の他の例を示す図である。
【図７】図７（Ａ）は、第２実施例における足平リンクの模式図である。図７（Ｂ）は、足底部が歩行面と接触した状態を示す図である。図７（Ｃ）は、足平リンクが着床したときの状態を示す図である。
【図８】足底部を有する足平リンクの他の形状の模式図である。
【符号の説明】
【００４１】
１：脚式ロボット
１０：胴体部
１１Ｒ、１１Ｌ：脚部
４０ａ、４０Ａ、４０ｂ、４０Ｂ、４０Ｒ、４０Ｌ：足平リンク
５０：距離センサ
５１：モータ
５２：加速度センサ
５４：姿勢角センサ
１００：コントローラ
１０２：記憶装置
１０３：歩容データ
１０４：目標距離算出部
１０６：距離偏差算出部
１０８、１２２、１３０：ＰＩＤ制御部
１１０：補正量算出部
１１２、１１８、１２０、１２８：加算器
１１４：関節角変換部
１１６：モータドライバ
１４０Ｒ、２４０Ｒ：足平リンク
１５０Ｒａ、１５０Ｒｃ：足底部距離センサ
１５２、２５２：弾性部材
１６０、２６０：足底部
【図１】
2008049458.tif 000005
【図２】
2008049458.tif 000006
【図３】
2008049458.tif 000007
【図４】
2008049458.tif 000008
【図５】
2008049458.tif 000009
【図６】
2008049458.tif 000010
【図７】
2008049458.tif 000011
【図８】
2008049458.tif 000012