トップ :: B 処理操作 運輸 :: B25 手工具;可搬型動力工具;手工具用の柄;作業場設備;マニプレ−タ




【発明の名称】 脚式ロボット
【発明者】 【氏名】嶋田 宏史

【氏名】菅 敬介

【氏名】村山 英之

【氏名】菊地 貢

【氏名】津坂 祐司

【要約】 【課題】凹凸などが未知の歩行面をスムーズに歩行する脚式ロボットを提供する。

【構成】歩容データには仮想的な歩行面に対する脚部11の足平部の目標位置姿勢角のデータが含まれる。目標距離算出部106が歩容データから足平部と仮想的な歩行面との間の目標距離を求める。距離センサ50が現実の足平部と現実の歩行面との間の距離を計測する。距離偏差算出手段106が目標距離と計測距離の偏差を求める。補正量算出手段110が偏差を小さくする方向に足平部の目標位置姿勢角を補正する補正量を求める。モータドライバ116が、足平部が補正量の加算された目標位置姿勢角に追従するように脚部の関節を駆動する。距離偏差を小さくすることによって、現実の歩行面に対する足平部の動きを歩容データ上での歩行面に対する足平部の動きに近づけることができる。歩行データ上でのスムーズな歩行動作に近い歩行動作を実現することができる。
【特許請求の範囲】
【請求項1】
胴体部に脚部が連結されており、脚部の関節を駆動することによって歩行面を歩行する脚式ロボットであり、
シミュレーションモデルにおける仮想的な歩行面に対する脚部先端の足平部の目標位置姿勢角の経時的変化を記述する歩容データを記憶する記憶装置と、
歩容データから、足平部に設定された点であり一直線上に並ばない少なくとも3点の夫々の点と仮想的な歩行面との間の目標距離を求める目標距離算出部と、
歩行中に現実の足平部の前記少なくとも3点の夫々の点と現実の歩行面との間の距離を計測する距離センサと、
夫々の点の目標距離と各点に対応する計測された距離の偏差を求める距離偏差算出手段と、
偏差を小さくする方向に足平部の目標位置姿勢角を補正する補正量を求める補正量算出手段と、
求めた補正量を足平部の目標位置姿勢角に加算する加算手段と、
足平部が補正量の加算された目標位置姿勢角に追従するように脚部の関節を駆動する駆動制御部と、
を備えることを特徴とする脚式ロボット。
【請求項2】
胴体部の姿勢角を検出する姿勢角検出手段を備えており、
歩容データは、胴体部の目標姿勢角の経時的変化を記述するデータを含んでおり、
駆動制御部は、姿勢角検出手段が検出する姿勢角が目標姿勢角に追従するように脚部の関節を駆動することを特徴とする請求項1に記載の脚式ロボット。
【請求項3】
足平部の下面に対向しており、足平部に弾性支持される足底部をさらに備えており、
目標距離算出部は、前記少なくとも3点の夫々の点と仮想的な歩行面に接する仮想的な足底部との間の距離を目標距離として求め、
距離センサは、前記少なくとも3点の夫々の点と現実の歩行面に接した足底部との間の距離を計測することを特徴とする請求項1又は2に記載の脚式ロボット。
【発明の詳細な説明】【技術分野】
【0001】
本発明は、胴体部に脚部が連結されており、脚部の関節を駆動することによって歩行面を歩行する脚式ロボットに関する。特に、段差や凹凸などの状態が未知の歩行面をスムーズに歩行できる脚式ロボットに関する。
【背景技術】
【0002】
脚式ロボットは、胴体部と、胴体部に連結されている脚部を有する。脚部は多数のリンクを有しており、隣接するリンク同士が関節を介して連結されている。脚部の関節を駆動することによって脚式ロボットは歩行する。各脚部は歩行中に、離床−前方への振り出し−着床を繰り返す。離床から着床するまでの期間にある脚部を遊脚と称し、歩行面に着床している期間にある脚部を立脚と称する。また、脚部先端のリンクであって、歩行面と接触するリンクを足平部と称する。
「離床−前方への振り出し−着床」という歩行における脚部の動作は、個々の関節の関節角の経時的変化よりも足平部の位置と姿勢角の経時的変化によって表現する方が好都合である。そこで、脚式ロボットでは、足平部の目標位置と目標姿勢角の経時的変化を記述する歩容データが予め作成される場合が多い。歩行時には、各時刻の足平部の位置と姿勢角が歩容データの目標位置と目標姿勢角に追従するように各関節が駆動される。なお、以下では、目標位置と目標姿勢角を合わせて目標位置姿勢角と称する。
歩容データは、予めコンピュータ上で(換言すればシミュレーションモデルにおける)、仮想的な脚式ロボットが仮想的な歩行面上を歩行する状況をシミュレートしながら作成される。ところが実際の歩行面は、段差や凹凸などの歩行面の状態がコンピュータ上の仮想的な歩行面と一致しない場合が多い。即ち、実際の歩行面の状態が未知である場合が多い。従って、仮想的な歩行面を前提にして作成された歩容データに従って関節を駆動してもスムーズな歩行が実現されない虞がある。
脚式ロボットの歩行中に、歩行面の段差や凹凸などに応じてリアルタイムに歩容データを補正する技術が例えば特許文献1に開示されている。特許文献1の技術は、足平部が歩行面に接触したときの床反力を計測し、計測した反力に基づいて歩容データを補正する技術である。
【0003】
【特許文献1】特開平5−305585号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1の技術は、脚部の足平部が着床したときの床反力を計測する。従って特許文献1の技術では、足平部が着床してから歩容データが補正されることになる。足平部が着床する前に歩容データが補正されることはない。即ち、特許文献1の技術では、着床するまでは事前に設定された歩容データに基づいて足平部の動きが制御される。そのため、現実の歩行面の状態が仮想的な歩行面と異なる場合には、足平部は、歩容データ上での着床のタイミングとは異なるタイミングで着床することになる。早く着床した場合には歩行面から大きな外乱力を受け、遅く着床した場合には脚部を空振りさせることとなり、いずれの場合も脚式ロボットが転倒する原因となりやすい。そうすると、現実の脚式ロボットの歩行はぎこちないものとなってしまう。
スムーズな歩行を実現するには、足平リンクが歩行面に着床する前に、実際の歩行面の段差や凹凸などの状態に応じて歩容データ内の足平部の目標位置姿勢角を補正できる方がよい。
足平部が歩行面に着床する前に、歩行面の段差や凹凸などの状態に応じて歩容データ内の足平部の目標位置姿勢角をリアルタイムに補正してスムーズに歩行する脚式ロボットが望まれている。
【課題を解決するための手段】
【0005】
本発明に係る脚式ロボットは、胴体部に脚部が連結されており、脚部の関節を駆動することによって歩行面を歩行する脚式ロボットである。この脚式ロボットは、シミュレーションモデルにおける仮想的な歩行面に対する脚部先端の足平部の目標位置姿勢角の経時的変化を記述する歩容データを記憶する記憶装置と、歩容データから、足平部に設定された点であり一直線上に並ばない少なくとも3点の夫々の点と仮想的な歩行面との間の目標距離を求める目標距離算出部と、歩行中に現実の足平部の前記少なくとも3点の夫々の点と現実の歩行面との間の距離を計測する距離センサと、夫々の点の目標距離と各点に対応する計測された距離の偏差を求める距離偏差算出手段と、偏差を小さくする方向に足平部の目標位置姿勢角を補正する補正量を求める補正量算出手段と、求めた補正量を足平部の目標位置姿勢角に加算する加算手段と、足平部が補正量の加算された目標位置姿勢角に追従するように脚部の関節を駆動する駆動制御部を備える。
駆動部は、例えばモータと減速機などである。関節は回転関節の場合もあれば直動関節の場合もある。
歩容データに含まれる足平部の目標位置姿勢角は、仮想的な歩行面に対する目標位置姿勢角の関係を直接的に記述するものであっても間接的に記述するものであってもよい。直接的に記述する場合とは例えば、仮想空間内に絶対座標系を定義し、その絶対座標系に対して仮想的な歩行面が定義されているとともに、その絶対座標系に対して足平部の目標位置姿勢角が設定されている場合である。典型的には、例えば絶対座標系におけるXY平面が仮想的な歩行面に定義されていれば、その絶対座標系で記述された足平部の目標位置姿勢角は直接的に仮想的な歩行面に対する相対位置と相対姿勢角を表すものとなる。間接的に記述する場合とは例えば、絶対座標系に対して仮想的な歩行面が定義されているとともに、その絶対座標系で立脚の足平部の目標位置姿勢角が設定されており、立脚の足平部に固定された座標系に対して胴体部の目標位置姿勢角が設定されており、さらに胴体部に固定された座標系に対して足平部の目標位置姿勢角が設定されている場合である。
【0006】
上記の脚式ロボットによれば、歩容データには、足平部の目標位置姿勢角と仮想的な歩行面との相対的位置関係が記述されている。その歩容データから(即ちシミュレーションモデルにおける)、仮想的な足平部と仮想的な歩行面との間の目標距離を求める。求める距離は、足平部に設定された点であり一直線上に並ばない少なくとも3点の夫々の点と仮想的な歩行面との間の距離である。一方で、脚式ロボットの歩行中であって遊脚の足平部が歩行面に着床する前に、距離センサによって前記少なくとも3点の夫々の点と現実の歩行面との間の距離が計測される。目標距離と計測した距離の偏差に基づいて足平部の目標位置姿勢角の補正量を求める。一直線上に並ばない少なくとも3点の夫々の点と歩行面との間の距離から、仮想的な歩行面に対する足平部の相対的な位置と姿勢角を求めることができるので、足平部の目標位置姿勢の補正量を求めることができる。この補正量は、距離センサによって計測された現実の歩行面と足平部との間の距離を、歩容データから求められた目標距離に近づくように足平部の目標位置姿勢角を補正するものとなる。即ち、現実の歩行面が歩容データを作成したときの仮想的な歩行面と一致しなくとも(換言すれば段差や凹凸などの状態が未知の歩行面であっても)、足平部は、仮想的な歩行面と足平部の目標距離の経時的変化に追従するように制御される。現実の足平部が、仮想的な歩行面と足平部の目標距離の経時的変化に追従するように制御されるということは、シミュレーション上での仮想的な歩行面に対する足平部の動作に近い動作が現実の脚式ロボットの歩行において得られることを意味する。足平部の着床タイミングや現実の歩行面に対する着床時の姿勢角が、シミュレーション上での着床タイミングや仮想的な歩容面に対する着床時の姿勢角に近いものとなる。その結果、歩容データ作成時にコンピュータ上でシミュレートされたスムーズな歩行に近い歩行を実現することができる。即ち、凹凸などの状態が未知の現実の歩行面を歩行する脚式ロボットにおいて、仮想的な歩行面に基づいてコンピュータ上でシミュレートされたスムーズな歩行に近い歩行を実現することができる。
【0007】
特に2本の脚部を有するいわゆる2足歩行の脚式ロボットでは、転倒しないために脚式ロボットに要求される動力学的な制約が厳しいことが知られている。制約条件は例えば、動歩行においてはZMPが立脚の足平と歩行面との接触領域の凸包(一般的には支持多角形と呼ばれる)内に存在することなどである。
歩容データ内の足平部の目標位置姿勢角は、そのような制約条件を満足するように設定されている。ここで、上記のように補正量を加えた足平部の目標位置姿勢角は、上記制約条件を満足しなくなる可能性が生じる。発明者らは、実際の歩行時の絶対座標系(グローバル座標系もしくはワールド座標系とも呼ばれる)における足平部と胴体部との相対位置関係が、歩容データ作成時にシミュレートしたときの仮想的な脚式ロボットの絶対座標系における足平部と胴体部との相対位置関係に追従すれば、実際の歩行時の足平部の位置と姿勢角が歩容データ上での目標位置姿勢角からずれても上記制約条件を満足しやすいことを見出した。そこで本発明に係る脚式ロボットは、次の構成を有することが好ましい。即ち、脚式ロボットは、胴体部の姿勢角を検出する姿勢角検出手段を備える。歩容データは、胴体部の目標姿勢角の経時的変化を記述するデータを含む。駆動制御部は、姿勢角検出手段が検出する姿勢角に基づいて、絶対座標系における足平部と胴体部との相対位置関係が仮想的な脚式ロボットの絶対座標系における足平部と胴体部との相対位置関係に追従するように関節を駆動する。そのように構成することで、段差や凹凸などの状態が未知の歩行面上を、転倒し難く、スムーズに歩行できる脚式ロボットを実現することができる。
【0008】
ここで、足平部の目標位置姿勢角のうち、目標姿勢角に着目する。補正量を加えた目標姿勢角は、足平部が安定して着床するように設定されることが必要である。足平部が安定して着床するとは、足平部の下面と歩行面が、3点(一直線に並ばない3点)以上で接触して着床することを意味する。遊脚が不安定な状態で着床すると、即ち、足平部の下面と歩行面が1点接触若しくは2点接触の状態になると、他の脚が遊脚となったときに脚式ロボット全体がぐらつく虞が生じるからである。特に2足歩行ロボットでは、脚式ロボット全体がぐらつくことは転倒に繋がる可能性が高い。補正量を加えた目標姿勢角が、足平部が安定して着床するように設定されるためには、着床予定位置における歩行面の凹凸を考慮する必要がある。歩行面の凹凸を考慮した上で、足平部の下面が歩行面に3点以上で接触するための足平部の目標姿勢角を設定することが必要だからである。そのためには上記した距離センサは、歩行面の凹凸のピッチと同程度の分解能が必要となる。歩行面の凹凸のピッチが小さい場合には、歩行面と足平部の間の距離を計測する距離センサには、2点間の距離を計測する距離センサを格子状に配置したものや、或いは画像処理を利用するものが必要となる。格子状に配置した距離センサや画像処理を利用する距離センサは高価となる。
そこで本発明の脚式ロボットは、足平部の下面に対向しており足平部に弾性支持される足底部を備えていることが好ましい。そして、前述した目標距離算出部は、足平部に設定された点であり一直線上に並ばない少なくとも3点の夫々の点と、仮想的な歩行面に接する仮想的な足底部との間の距離を目標距離として求める。同時に前述した距離センサは、足平部に設定された点であり一直線上に並ばない少なくとも3点の夫々の点と現実の歩行面に接した足底部との間の距離を計測する。即ち、距離センサは、歩行面に接する足底部と足平部との間の距離を、歩行面と足平部との間の距離として計測する。
【0009】
足平部が着床位置に近づくと、足底部が先に歩行面と接する。足底部は足平部の下面に弾性支持されているので、足平部の姿勢角に関わらずに歩行面の凹凸に適合した位置と姿勢角で静止する。従って足底部の姿勢角が、足平部を安定して着床させることのできる姿勢角となる。補正量は、足平部と足底部の間の距離偏差を小さくするように設定されるため、そのような補正量を加えた目標位置姿勢角は、足底部の位置姿勢角となる。従って、補正量の加算された目標位置姿勢角に足平部が追従するように脚部の関節を駆動することによって、足平部を安定して着床させることができる。
足底部距離センサは少なくとも3点の距離を計測できればよいので、格子状に配置した距離センサや画像処理を利用する距離センサよりも低コストで製造できる。足平部が歩行面に着床する前に、歩行面の凹凸などの状態に応じて歩容データをリアルタイムに補正してスムーズに歩行する脚式ロボットを低コストで実現することができる。
【発明の効果】
【0010】
本発明によれば、足平部が歩行面に着床する前に、歩行面の段差や凹凸などの状態に応じて歩容データ内の足平部の目標位置姿勢角をリアルタイムに補正してスムーズに歩行する脚式ロボットを実現することができる。
【発明を実施するための最良の形態】
【0011】
実施例の主要な特徴を列記する。
(第1特徴)足底部距離センサの計測距離が所定値以下となったときに足底部が歩行面に接触したと判断する。
【実施例】
【0012】
<第1実施例> 図1は、第1実施例に係る脚式ロボット1の模式図である。図1(A)は、脚式ロボット1の模式的正面図であり、図1(B)は、脚式ロボット1の模式的側面図である。
本実施例の脚式ロボット1は、胴体部10と、胴体部10に連結する2本の脚部11L、11Rを有する2脚の脚式ロボットである。
胴体部10には、コントローラ100と、加速度センサ52と姿勢角センサ54が内蔵されている。姿勢角センサ54は、具体的には3軸傾斜センサであり、胴体部10の3軸周りの傾斜角を検出する。加速度センサ52と姿勢角センサ54の出力はコントローラ100へ送られる。
右脚部11Rは、右第1リンク12R、右第2リンク16R、右第3リンク20R、右第4リンク24R、右第5リンク28R、右第6リンク32R、右第7リンク36R、及び右足平リンク40Rを有する。また、右脚部11Rは、右第1関節14R、右第2関節18R、右第3関節22R、右第4関節26R、右第5関節30R、右第6関節34R、及び右第7関節38Rを有する。
右第1リンク12Rの一端は胴体部10に連結されており、他端は右第1関節14Rに連結されている。右第2リンク16Rの一端は右第1関節14Rに連結されており、他端は右第2関節18Rに連結されている。同様に、右第3リンク20Rの両端は夫々右第2関節18Rと右第3関節22Rに連結されている。右第4リンク24Rの両端は夫々右第3関節22Rと右第4関節26Rに連結されている。右第5リンク28Rの両端は夫々右第4関節26Rと右第5関節30Rに連結されている。右第6リンク32Rの両端は夫々右第5関節30Rと右第6関節34Rに連結されている。右第7リンク36Rの両端は夫々右第6関節34Rと右第7関節38Rに連結されている。右足平リンク40Rの一端は右第7関節38Rに連結されている。
右足平リンク40Rの下面には、4個の距離センサ50Ra、50Rb、50Rc、及び50Rdが設置されている。4個の距離センサは、右足平リンク40Rの4隅付近に夫々取り付けられており、脚式ロボット1の動作中に、右足平リンク40Rの下面と歩行面gとの間の距離を検出する。夫々の距離センサの出力はコントローラ100へ送られる。なお、距離センサ50Rdは、図1(A)においては距離センサ50Rbの紙面奥側に位置し、図1(B)においては距離センサ50Rcの紙面奥側に位置するため、図1では図示されていない。
左脚部11Lは、左第1リンク12L、左第2リンク16L、左第3リンク20L、左第4リンク24L、左第5リンク28L、左第6リンク32L、左第7リンク36L、及び左足平リンク40Lを有する。また、左脚部11Lは、左第1関節14L、左第2関節18L、左第3関節22L、左第4関節26L、左第5関節30L、左第6関節34L、及び左第7関節38Lを有する。左足平リンク40Lの下面には、4個の距離センサ50La、50Lb、50Lc、及び50Ldが設置されている。左脚部11Rの各リンク、各関節、及び4個の距離センサの配置は右脚部11Rと同じであるので説明を省略する。
夫々の関節にはモータ(不図示)とエンコーダ(不図示)が内蔵されており、モータを駆動することで、連結されているリンクの相対回転角を変えることができる。モータへの駆動指令信号はコントローラ100から送られる。図1において、各関節の回転軸は次のように表される。図面上で紙面に垂直な方向に伸びる回転軸を有する関節は、図1(A)に記した右第1関節14Rのように円で表す。図面上で左右方向に伸びる回転軸を有する関節は、図1(A)に記した右第2関節18Rのように、図面の上下方向に対角線を記した矩形で表す。図面上で上下方向に伸びる回転軸を有する関節は、図1(A)に記した右第3関節22Rのように、図面の左右方向に対角線を記した矩形で表す。
【0013】
図2に、脚式ロボット1のブロック図を示す。図2では、右脚部11Rと左脚部11Lを合わせて脚部11と称している。また、右足平リンク40Rに取り付けられた4個の距離センサ50Ra、50Rb、50Rc、及び50Rdと、左足平リンク40Lに取り付けられた4個の距離センサ50La、50Lb、50Lc、及び50Ldを合わせて距離センサ50と称している。また、各関節に設けられたモータを総称してモータ51と称している。また、以下では、右足平リンク40Rと右足平リンク40Lを総称する場合には足平リンク40と称する。
【0014】
コントローラ100は、記憶装置102を有する。記憶装置102には歩容データ103が記憶されている。歩容データ103は、胴体部10の目標位置姿勢角の経時的データと、足平リンク40の目標位置姿勢角の経時的データが含まれている。歩容データ103は、事前にコンピュータ上で作成される。コンピュータ上で、歩行面g上を歩行するときの脚式ロボット1の動作をシミュレーションすることによって、脚式ロボット1がスムーズに歩行するときの足平リンク40の位置姿勢角と胴体部10の位置姿勢角の軌跡が求められる。求めた軌跡が足平リンク40の目標位置姿勢角の経時的データと胴体部10の目標位置姿勢角の経時的データ(即ち、歩容データ103)となる。
本実施例では、図1に示すように絶対座標系xyzを定義する。歩行面gはxy平面と一致する平面である。足平リンク40と胴体部10の夫々の目標位置はxyz座標系上の座標値で与えられる。目標姿勢角はxyz座標系における各軸周りの回転角(ロール角、ピッチ角、ヨー角と呼ばれる)で与えられる。歩行面gがxyz座標系に対して定義されているので、xyz座標系で表現された足平リンク40の目標位置姿勢角は、歩行面gに対する足平リンク40の相対的な目標位置姿勢角を表すことになる。
【0015】
コントローラ100内で行なわれる処理についてまず概説する。
歩容データの足平リンク40の目標位置姿勢角と胴体部10の目標位置姿勢角は、種々の補正量が加えられた後に関節角変換部114に送られる。補正量については後述する。関節角変換部114では、足平リンク40の目標位置姿勢角と胴体部10の目標位置姿勢角を脚部11の各関節の関節角に変換する。この変換はいわゆる逆変換と呼ばれるものである。関節角変換部114で求められた関節角が関節角指令値としてモータドライバ116へ送られる。モータドライバ116は、脚部11の各関節に取り付けられたモータ51を駆動し、夫々の関節の関節角が関節角変換部114から送られた関節角指令値に一致するように制御する。その結果、脚式ロボット1は、歩容データの足平リンク40と胴体部10の夫々の目標位置姿勢角に追従しながら歩行する。
【0016】
コントローラ100内で行なわれる各処理について説明する。
記憶装置102に記憶された歩容データ103のうち、足平リンク40の目標位置姿勢角のデータは目標距離算出部104へ送られる。目標距離算出部104では、足平リンク40の目標位置姿勢角データから、歩容データ上での歩行面gと足平リンク40の目標距離を求める。より詳細には、目標距離算出部104は、距離センサ50が取り付けられている足平リンク上の点から歩行面までの距離(目標距離)を算出する。足平リンク40の目標位置姿勢角は、足平リンク40上に設定された基準点における目標位置と姿勢角である。その基準点と各距離センサ50との位置関係は既知であるから、基準点の目標位置姿勢角から、各距離センサの取り付け点と仮想的な歩行面gの間の距離を算出することできる。本実施例では、1つの足平リンクに4つの距離センサが取り付けられているので、目標距離算出手段104は、一方の足平リンクについて4つの目標距離を算出する。
なお、本実施例では、図1に示したように、歩行面gは、絶対座標系のxy平面と一致する平面である。従って絶対座標系xyzで表現された足平リンク40の目標位置姿勢角データのうち、z軸方向の位置の値がそのまま足平リンク40の基準点における歩行面gと足平リンク40との間の目標距離となる。
目標距離算出部104で求められた目標距離は、距離偏差算出部106へ送られる。また距離偏差算出部106には、足平リンク40に取り付けられた各距離センサ50の出力が送られる。距離偏差算出部106では、距離センサごとに、距離センサが計測した実際の歩行面と足平リンクとの間の距離と、目標距離との偏差を算出する。求められた距離偏差は、PID制御部108へ送られる。PID制御部108は、以下のフィードバックループによる制御を適正に収束させるように構築される。そのフィードバックループとは、脚部11に取り付けられた距離センサ50の計測値が、距離偏差算出部106、PID制御部108、補正量算出部110、加算器112、関節角変換部114、及びモータドライバ116を介して脚部11の関節を駆動するモータ51へと影響するループである。PID制御部108の具体的な機能は、一般的なPID制御器と同じであるので説明を省略する。なお、距離偏差算出部106から出力される距離偏差の値は、PID制御器によって修正されるが、以下ではPID制御器の出力も距離偏差と称する。
PID制御部108から出力される距離偏差は、補正量算出部110へ送られる。補正量算出部110では、足平リンク40の目標位置姿勢角の補正量が算出される。補正量は、距離偏差が小さくなる方向に設定される。算出された補正量は、加算器112で歩容データ103の足平リンク40の目標位置姿勢角データに加算されて関節角変換部114へ入力される
【0017】
上記説明した目標距離算出部104、距離偏差算出部106、および補正量算出部110の処理を、図3を参照しながら説明する。なお図3では、説明をし易くするために足平リンクに40a、や40Aなど、図1で示した足平リンク40R,40Lとは異なる符号を付してある。
図3の左側は、あるタイミングにおける歩容データ上での(即ち仮想空間における)足平リンク40aと歩行面gの相対位置関係を示す図である。図3の右側は、図3の左側と同じタイミングにおける実空間における足平リンク40Aと歩行面Gとの位置関係を示す図である。即ち、足平リンク40aの目標位置姿勢角が図3左側に示すベクトルrのときに、この目標位置姿勢角に基づいて現実の脚式ロボットが制御された結果、現実の足平リンク40Aと歩行面Gの位置関係が図3の右側に示す位置関係となる。
図3では説明を簡略化するため、仮想空間における足平リンク40aの位置と実空間における足平リンク40Aの位置の差異に注目し、姿勢角には差異がないと仮定する。足平リンク40a、40Aの姿勢角については、仮想空間においても実空間においても足平リンクの下面は歩行面に対して平行であると仮定する。仮想空間における足平リンクの目標位置姿勢角は、仮想空間内に設定された絶対座標系xyzの原点から足平リンク40aに設定された基準点Pまでのベクトルrで表現できる。仮想空間内の絶対座標系xyzは、そのxy平面が歩行面gと一致するように設定されている。
【0018】
図3の右側に記した座標系XYZは、仮想空間内の絶対座標系xyzに対応する実空間における絶対座標系を表している。
ここで、実空間における歩行面Gは、絶対座標系XYZのXY平面からZ軸方向にΔSだけずれている。即ち、仮想空間における歩行面gの位置と実空間における歩行面Gは一致しない。この不一致は、現実の歩行面の凹凸を仮想空間内で正確に反映できなかった場合などに生じる。
また、図3では、仮想空間内における絶対座標系xyzの原点から足平リンク40aの基準点Pへの位置ベクトルr(即ち目標位置)と、実空間における絶対座標系XYZの原点から足平リンク40Aの基準点Pへの位置ベクトルRが一致していない。即ち、現実の脚式ロボットの足平リンク40Aが、その目標位置に正確に追従していないことを示している。これは、例えば、現実の脚式ロボット組立誤差など、仮想空間の脚式ロボットに反映されない要素が存在するからである。
【0019】
目標距離算出部104は、仮想空間における歩行面gと足平リンク40aの目標距離を歩容データから求める。図3の左側には目標距離が符号hrefで示されている。
距離センサ50は、実空間における歩行面Gと足平リンク40Aの距離を計測する。図3の右側には、計測した距離が符号hmesで示されている。
距離偏差算出部106は、目標距離hrefと計測した距離hmesとの距離偏差ehを求める。図3の例ではeh=href−hmesで表される。
PID制御部108は、比例制御則、微分制御則、及び積分制御則に基づいて、距離偏差ehを修正するが、本実施例では、PID制御部108の出力も距離偏差ehで表す。
補正量算出部110は、距離偏差ehを小さくする方向に足平リンク40aの目標位置rを補正する補正量を算出する。図3の例では、補正量は、絶対座標系xyzにおけるz軸の正方向への距離ehとなる。
補正量算出部110が算出した補正量は、加算器112で歩容データ103上の目標位置ベクトルrに加算される。図3の左側に示すように、補正量が加算された目標位置ベクトルr+ehは、足平リンク40aを距離偏差ehだけ上方へ移動させるベクトルとなる。図3の左側には、目標位置ベクトルr+ehで示される足平リンクの位置を符号40bで示す。
補正量の加算された目標位置に基づいて脚式ロボットの各関節が駆動されると、実空間における脚式ロボットの足平リンク40Aの位置は、図3の右側に符号40Bで示す位置となる。即ち、歩容データ103上での目標位置ベクトルrが、補正量によって歩行面gの上方へ距離偏差ehだけ移動する。これによって、実空間における足平リンクの位置も、目標位置ベクトルrに基づいて脚式ロボットが制御されるときの足平リンクの位置(足平リンク40Aの位置)よりも上方へeだけ移動した位置(足平リンク40Bの位置)となる。
【0020】
このように、本実施例では、仮想空間における(即ち歩容データにおける)歩行面と実空間における歩行面が一致せず、しかも足平リンクが目標位置に追従していなくとも、仮想空間における歩行面と足平リンクの距離が実空間においても保たれるように脚式ロボットの各関節が制御される。図3では足平リンクの姿勢角は一定と仮定したが、足平の下面の3点(一直線上に並ばない3点)において夫々歩行面との距離を計測し、3点夫々の点において距離偏差を求めることで、姿勢角についても同様の処理を行なうことができる。そのような処理によって、仮想空間における歩行面に対する足平リンクの姿勢角と、実空間における歩行面に対する足平リンクの姿勢角を一致させることができる。
図3に例示した処理は、制御サンプリング毎に行なわれる。従って、仮想空間上で足平リンクが着床するタイミングで、実空間における足平リンクを着床させることができる。さらに着床するときの歩行面に対する足平リンクの姿勢角も仮想空間内での姿勢角と実空間での姿勢角を一致させることができる。即ち、上記の補正量によって、実空間における歩行面に対する足平リンクの動作を、仮想空間上で歩容データ作成時に行なったシミュレーション時の動作に近づけることができる。そうすることによって、凹凸などの状態が未知の歩行面をスムーズに歩行する脚式ロボットを実現できる。
目標距離算出部104、距離偏差算出部106、および補正量算出部110の処理を、図3に示す単純化した例を用いて説明した。より具体的な処理については後述する。
【0021】
図2に戻り、コントローラ100の処理の説明を続ける。
歩容データ103のうち、胴体部10の目標位置姿勢角は加算器118に送られる。胴体部10の目標位置姿勢角のうち、目標姿勢角のデータは加算器120に送られる。
加算器120には、胴体部10に取り付けられた姿勢角センサ54の検出値が入力される。加算器120では、胴体部10の目標姿勢角と姿勢角センサ54の検出した姿勢角との姿勢角偏差が算出される。算出された姿勢角偏差はPID制御部122に送られる。PID制御部122は、胴体部10の姿勢角のフィードバック制御を行なう。以下ではこのフィードバック制御を姿勢角フィードバックと称する。
胴体部10の目標位置姿勢角のうち、目標位置のデータは2回微分器126に送られる。2回微分器126では、目標位置のデータが2回微分されて目標位置の加速度、即ち胴体部10の目標加速度が出力される。出力した目標加速度は、加算器128に送られる。加算器128には、胴体部10に取り付けられた加速度センサ52の検出値が入力される。加算器128では、胴体部10の目標加速度と加速度姿勢角センサ52の検出した加速度との加速度偏差が算出される。算出された加速度偏差はPID制御部130に送られる。PID制御部130は、胴体部10の加速度のフィードバック制御を行なう。PID制御部122とPID制御部130の機能は、いずれも一般的なPID制御器の機能と同様であるので説明を省略する。
PID制御部122の出力とPID制御部130の出力は、加算器118に送られ、歩容データ103上の胴体部10の目標位置姿勢角に加算され、関節角変換部114へ送られる。
【0022】
姿勢角フィードバックは、特に動歩行する2足歩行ロボットである本実施例の脚式ロボット1にとって重要である。前述したように、足平リンク40の目標位置姿勢角の補正量は、歩行面と足平リンク40の距離に応じて算出される。補正量の算出過程には胴体部10の動作は考慮されていない。即ち、補正量の算出過程には、歩行の安定が考慮されていない。動歩行においては、所定の条件を満足しないとロボットが転倒することが知られている。その条件とは、例えばZMPが立脚の足平と歩行面との接触領域の凸包(一般的には支持多角形と呼ばれる)内に存在することなどである。そのような条件を以下では制約条件と称する。
コンピュータ上でのシミュレーションにより歩容データを作成する際には、制約条件を満足するように歩容データが作成される。現実の歩行動作時に、胴体部の動作とは無関係に歩行データ上の足平リンクの目標位置姿勢角に補正量を加えると、制約条件が満足されない可能性が生じる。本願の発明者らは、実際の歩行時の絶対座標系(グローバル座標系またはワールド座標系と呼ばれる場合もある)における足平部と胴体部との相対位置関係が、歩容データ作成時にシミュレートしたときの仮想的な脚式ロボットの絶対座標系における足平部と胴体部との相対位置関係に追従すれば、実際の歩行時の足平リンクの位置と姿勢角が歩容データ上での目標位置姿勢角からずれても制約条件を満足しやすいことを見出した。そこで本実施例の脚式ロボットは姿勢角フィードバックを備える。これによって、足平リンクの目標位置姿勢角のデータに補正量を加算しても転倒し難い脚式ロボットを実現した。
【0023】
距離偏差算出部106、および補正量算出部110の処理を、より具体的に説明する。ここでも前述した記号(計測距離hmes:足平リンク40に取り付けられた距離センサ50が計測する足平リンク40と歩行面との間の距離、目標距離href:夫々の距離センサ50の取り付け位置における足平リンク40と歩行面との歩容データ上での距離、距離偏差eh:目標距離hrefと計測距離hmesの偏差)を利用する。
前述した足平リンク40の補正量は、遊脚期間の全期間に亘って算出する必要がない。そこで、足平リンク40と歩行面との距離が所定距離以上のときは偏差をゼロとする。また、足平リンク40が着床しているときに、例えば計算時の丸め誤差などにより距離偏差に微小な定常偏差が発生すると、PID制御部108の積分項による定常偏差の積分量が補正量に加わってしまう。計算時の丸め誤差が微小でもその積分量は制御にとって無視できない程に大きくなる可能性があるので、そのような定常偏差が補正量に影響を与えないようにする必要がある。そこで、本実施例では、足平リンク40と歩行面との距離が所定値以下の場合には補正量を算出しないように、不感帯を設ける。即ち、足平リンク40と歩行面との距離が所定範囲内のときだけ、補正量が算出されるようにする。そのような所定範囲を制御距離範囲と称する。制御距離範囲を設定したときの距離偏差ehの算出方法を図4に示す。制御距離範囲は、仮想空間における目標距離hrefと、実空間における計測距離hmesの双方に同じ範囲を設定する。範囲の上限値をhth_Hと表し、範囲の下限値をhth_Lと表す。
目標距離hrefと計測距離hmesのいずれも上限値hth_Hを超える場合が図4の(1)の欄に対応する。この場合には、距離偏差eh=0とする。また、目標距離hrefと計測距離hmesのいずれも下限値hth_Lより小さい場合が図4の(9)の欄に対応する。この場合にも、距離偏差eh=0とする。eh=0とすることで、足平リンク40の目標位置姿勢角に対する補正量もゼロとなる。
目標距離hrefが上限値hth_Hよりも大きく、計測距離hmesが制御距離範囲内である場合が図4の(2)の欄に対応する。この場合には、距離偏差eh=href−hmesとする。目標距離hrefが上限値hth_Hよりも大きく、計測距離hmesが下限値hth_Lよりも小さい場合が図4の(3)の欄に対応する。この場合には、距離偏差eh=href−hth_Lとする。目標距離hrefと計測距離hmesの値に応じて、図4の(1)から(9)の欄に示すようにehが計算される。
【0024】
目標距離hrefと計測距離hmesの経時的変化に伴う距離偏差ehの経時的変化を図5と図6に例示する。図5(A)は、目標距離hrefと計測距離hmesの経時的変化を示す。図5(B)は、図5(A)に対応する距離偏差ehの経時的変化を示す。
図5の例は、計測距離hmesが目標距離hrefよりも大きい場合である。図5に示す期間aでは、目標距離hrefと計測距離hmesのいずれも距離の上限値hth_Hよりも大きい。従って期間aでは、図4の(1)の欄に示す計算式が採用されて距離偏差e=0となる。期間bでは、計測距離hmesは上限値hth_Hより大きいが目標距離hrefは制御距離範囲内である。この期間bでは、図4の(4)の欄に示す計算式が採用される。期間cでは、計測距離hmesと目標距離hrefのいずれも制御距離範囲内である。この期間cでは、図4の(5)の欄に示す計算式が採用される。期間dでは、計測距離hmesは制御距離範囲内であるが目標距離hrefは下限値hth_Lより小さい。この期間dでは、図4の(8)の欄に示す計算式が採用される。期間eでは、目標距離hrefと計測距離hmesのいずれも下限値hth_Lよりも小さい。従って期間eでは、図4の(9)の欄に示す計算式が採用されて距離偏差e=0となる。以上より、距離偏差ehは図5(B)のようになる。
図6の例は、計測距離hmesが目標距離hrefよりも小さい場合である。図6(A)は、目標距離hrefと計測距離hmesの経時的変化を示す。図6(B)は、図6(A)に対応する距離偏差ehの経時的変化を示す。なお、図6(B)に破線で示すグラフは、距離偏差ehにローパスフィルタをかけたときの出力である。
図6に示す期間aでは、目標距離hrefと計測距離hmesのいずれも距離の上限値hth_Hよりも大きい。従って期間aでは、図4の(1)の欄に示す計算式が採用されて距離偏差e=0となる。期間bでは、計測距離hmesは制御距離範囲内であるが目標距離hrefは上限値hth_Hより大きい。この期間bでは、図4の(2)の欄に示す計算式が採用される。
期間cでは、計測距離hmesと目標距離hrefのいずれも制御距離範囲内である。この期間cでは、図4の(5)の欄に示す計算式が採用される。期間dでは、計測距離hmesは下限値hth_Lより小さいが目標距離hrefは制御距離範囲内である。この期間dでは、図4の(6)の欄に示す計算式が採用される。期間eでは、目標距離hrefと計測距離hmesのいずれも下限値hth_Lよりも小さい。従って期間eでは、図4の(9)の欄に示す計算式が採用されて距離偏差e=0となる。以上より、距離偏差ehの経時的変化は図6(B)に実線で示すグラフとなる。ここで、図4の計算式に従うと、期間aと期間bの境界、及び期間dと期間eの境界において、距離偏差ehがステップ状に変化する。そこで、距離偏差ehにローパスフィルタをかけることも好適である。ローパスフィルタの出力が図6(B)に点線で示すグラフである。図6(B)の点線のグラフからわかる通り、距離偏差eのステップ状の変化を除去することができる。その結果、補正量がステップ状に変化することを防止できる。
【0025】
次に、補正量算出部110の処理をより具体的に説明する。補正量算出部110は、次の(1)式と(2)式により右足平リンク40Rと左足平リンク40Lの目標位置姿勢角の補正量を求める。
【数1】


ここで、(1)式の左辺[Δφ、Δθ、Δz]は、右足平リンク40Rの目標位置姿勢角の補正量ベクトルである。ΔφとΔθは、歩行面に平行な面を規定する2直線回りの姿勢角の補正量である。Δzは、歩行面に直交する方向の位置の補正量である。同様に、(2)式の左辺[Δφ、Δθ、Δz]は、左足平リンク40Lの目標位置姿勢角の補正量ベクトルである。ΔφとΔθは、歩行面に平行な面を規定する2直線回りの姿勢角の補正量である。Δzは、歩行面に直交する方向の位置の補正量である。
(1)式の右辺の[ER1、ER2、ER3、ER4]は、右足平リンク40Rの4つの距離偏差を表す。ここで、左足平リンク40Rには4つの距離センサ50Ra、50Rb、50Rc、及び50Rdが取り付けられている。目標距離算出部104は、足平リンクにおける夫々の距離センサの取り付け点から仮想空間内の歩行面までの距離(目標距離)を算出する。距離偏差[ER1、ER2、ER3、ER4]は、距離センサの取り付け点に対応した目標距離と距離センサが計測した距離の差である。同様に(2)式の右辺の[EL1、EL2、EL3、EL4]は、左足平リンク40Lの4つの距離偏差を表す。
(1)式右辺のXRij(i=1,2,3,4、j=1,2,3,4)は、右足平リンク40Rの幾何学的形状と、4つの距離センサの取り付け点から決定される定数である。ここで、(1)の左辺に示されているように、右足平リンク40Rの目標位置姿勢角の補正量ベクトルは3つの変数を有している。従って、右足平リンク40Rの下面の3点(一直線上に並ばない3点)と夫々の点から歩行面までの距離が計測できれば補正量ベクトルの3つの変数を決定できる。即ち、3点の距離偏差が計測できれば補正量ベクトルの3つの変数を決定できる。本実施例では、右足リンク40Rの距離偏差[ER1、ER2、ER3、ER4]は、4つの変数を有している。即ち、左辺の3つの変数に対して右辺の距離変数は冗長である。本実施例ではこの冗長性を活用するようにXRijが決定される。具体的には次の通り決定する。補正量[Δφ、Δθ、Δz]が決定されたと仮定したときの4つの距離偏差を[EER1、EER2、EER3、EER4]とする。XRiは、誤差=(EER1−ER1+(EER2−ER2+(EER3−ER3+(EER4−ER4が最小となるように決定される。即ち、XRijは、計測距離に基づく距離偏差(ER1等)と、補正量を決定したと仮定したときの距離偏差(EER1等)との誤差が最小となるように決定する。(2)式のXLij(i=1,2,3,4、J=1,2,3,4)も同様に決定する。
【0026】
補正量変換部110はさらに、(1)式と(2)式で求めた足平リンク40の歩行面に垂直方向の補正量Δz、Δzを次の(3)式によって変換する。
【数2】


左辺のΔZ、ΔZが、足平リンクの歩行面に垂直方向の補正量の最終的な値となる。(3)式は次の意味を有する。立脚の足平リンクにおいては、足平リンクと歩行面との距離偏差はゼロであるため、図4の(4)の欄に示す場合に相当する。従って、補正量はゼロとなる。即ち、Δz、Δzのいずれか一方は常にゼロとなる。仮に左脚が立脚であるとして、Δz=Δz、Δz=0とする。(3)式によりΔZ=Δz/2、ΔZ=−Δz/2となる。立脚側である左足平リンク40Rの補正量は下方へΔz/2となる。立脚側である左足平リンク40Lは接している歩行面より下方へずれることはできないので、補正量のΔz/2の大きさだけ胴体部10の位置が上方へ移動することになる。一方、遊脚側の右足平リンク40Rの目標位置が上方へΔz/2へ補正されるので、現実の右足平リンク40Rも上方へΔz/2だけ移動する。胴体部10が上方へΔz/2の大きさだけ移動し、遊脚側の右足平リンク40Rが胴体部10に対して上方へΔz/2の大きさだけ移動するので、結果として遊脚側である右足平リンク40Rは歩行面に対してΔzだけ上方へ移動する。(3)式によって、遊脚の足平リンクの補正量を半分にすることができる。残りの半分は立脚側の足平リンクの目標位置の補正量とする。そうすることで、遊脚側の足平リンクの目標位置の補正量を小さくすることができる。歩容データに対する補正量の大きさを小さくすることによって、本来の歩容データによる歩行動作に近い歩行を行わせることができる。(3)式による作用は、次のように換言することもできる。補正量算出部110は、距離偏差算出部106が算出した距離偏差を1/2にして遊脚の足平リンクの目標位置姿勢角に対する補正量のうち、歩行面と交差する方向の補正量を算出し、算出した補正量の符号を逆転させた補正量を立脚の足平リンクの補正量に設定する。
【0027】
<第2実施例> 次に第2実施例について説明する。本実施例は、脚式ロボットの足平リンクの構造が第1実施例と異なる。足平リンクを除く脚式ロボットの構成は図1の脚式ロボット1と同じである。
図7(A)に本実施例の脚式ロボットの右足平リンク140Rの模式図を示す。なお、左足平リンクも構造は同じであるので説明を省略する。
右足平リンク140Rは、その下面に対向しており、弾性部材152によって右足平リンク140Rに弾性支持される足底部160を有する。弾性部材152は典型的にはバネである。また、右足平リンク140Rは、その下面に4つの足底部距離センサ150Ra、150Rb、150Rc、150Rdを有している。夫々の足底部距離センサは、右足平リンク140Rの下面と足底部160の間の距離を計測する。4つの足底部距離センサ150Ra、150Rb、150Rc、150Rdは、右足平リンク140Rの4隅に取り付けられている。換言すれば、4つの足底部距離センサが、そのうちの少なくとも3つが直線上に並ばないような配置で右足平リンク140Rの下面に取り付けられている。なお、図7(A)には、2つの足底部距離センサ150Ra、150Rcのみを示してある。足底部距離センサ150Rbは、足底部距離センサ150Raの図面奥側に位置し、足底部距離センサ150Rdは、足底部距離センサ150Rcの図面奥側に位置するので図示を省略している。
なお、図7(A)に示す右第7関節38R、右第7リンク36Rは、図1に示す略式ロボット1と同じである。
【0028】
足底部160は、右足平リンク140Rの下方に位置しているので、右脚の着床時には右足平リンク140Rより先に歩行面Gに接触する。足底部160は、弾性部材152によって右足平リンク140Rに弾性支持されているため、右足平リンク140Rの姿勢角に関わらず、歩行面Gに対して安定する姿勢角で静止する。ここで「安定する姿勢角」とは、直線上に並ばない少なくとも3点で歩行面Gと接触することを意味する。
【0029】
本実施例の脚式ロボットの構成を、図2のブロック図を参照して説明する。但し、本実施例では、図2の距離センサ50を足底部距離センサ150に置き換える。また、目標距離算出部104は、仮想空間における歩行面と足平リンクとの距離(目標距離)に代えて、仮想空間における足底部と足平リンクとの距離(目標距離)を算出する。また、距離算出部106は、足底部距離センサ150が計測した足平リンクと足底部の計測距離と目標距離の距離偏差を求める。
【0030】
本実施例による足平リンクの補正量の算出処理について説明する。なお、説明を簡略化するために、図7において、紙面と交差する直線回りの右足平リンク140Rの姿勢角の補正量に注目する。そのため、右足平リンク140Rに取り付けられた足底部距離センサ150Ra、150Rcの計測距離のみに注目する。図7(A)に示すように、足底部160が歩行面Gに接触していない状態における足底部距離センサ150Raの計測距離をha、足底部距離センサ150Rcの計測距離をhcとする。また、右足平リンク140Rの着床予定位置における歩行面Gには突出部dが存在する。歩容データを作成する際の仮想的な歩行面には突出部dが存在しないものとする。
【0031】
図7(B)に、足底部160が歩行面Gに接触した状態を示す。歩行面Gに接した足底部160は、弾性部材152によって歩行面Gに押し付けられるので、歩行面Gに対して安定した姿勢角で静止する。図7(B)に示すように、足底部160は、突出部dとその他の平坦部で歩行面Gと接触した状態で安定して静止する。即ち、足底部160は歩行面Gの平坦な面に対して傾いた姿勢角で安定して静止する。このとき、足底部距離センサ150Raの計測距離がHa、足底部距離センサ150Rcの計測距離がHcである。図7(B)に示すように、Ha<Hcである。
一方、仮想的な歩行面には突出部dが存在しない。従って、足底部距離センサ150Raの取り付け点における歩容データ上での右足平リンク140Rと足底部160との目標距離をHarefとし、足底部距離センサ150Rcの取り付け点における歩容データ上での右足平リンク140Rと足底部160との目標距離をHcrefとすると、Haref=Hcrefとなる。補正量算出部110(図2参照)は、夫々の足底部距離センサ150Ra、150Rcの取り付け点における目標距離と計測距離の距離偏差が小さくなるように、目標姿勢角の補正量を算出する。補正量が付加された目標位置姿勢角に基づいて各関節が制御される。その結果、右足平リンク140Rの姿勢角は、その下面が足底部160に平行となるように制御される。なぜならば、足底部距離センサ150Raの計測距離Haと足底部距離センサ150Rcの計測距離Hcが等しくなるような補正量が算出されるからである。
右足平リンク140Rの下面が足底部160に平行の状態で、右足平リンク140Rが下降すると、図7(C)に示すように、右足平リンク140Rは、足底部160と接する姿勢角で着床する。足底部160は既に突出部dの存在する現実の歩行面G上で安定した姿勢角で静止しているので、右足平リンク140Rも安定した姿勢角で着床することになる。
【0032】
第2実施例の技術は、凹凸などの歩行面の状態を直接計測せずとも、足平リンクを安定に着床させる技術を提供する。歩行面の凹凸を直接計測するためには、その凹凸のピッチと同等の分解能を有する2次元的な距離センサが必要となる。そのような距離センサは、画像処理によるか、或いは2点間の距離を計測する距離センサを格子状に多数並べたセンサが必要である。いずれのセンサも高価である。第2実施例の技術は、高価な距離センサを用いることなく、2点間の距離を計測する距離センサを少なくとも3個備えるだけで、歩行面の凹凸に応じて足平リンクを安定に着床する脚式ロボットを提供するものである。
この技術は、足平リンクが歩行面の傾斜や凹凸に適合することによって、足平部材の下面が歩行面上でどのような姿勢角で安定するかが事前に把握できればよいという点に着目する。そこで、着床予定位置に、足平リンクの下面と同じ面を有するダミー板を置くと仮定する。ダミー板は重力の作用によって着床予定位置の歩行面上で安定した位置と姿勢角で静止する。そのときのダミー板の位置と姿勢角を足平部材の目標位置姿勢角に決定する。足平リンクをその目標位置姿勢角へ移動させるように、脚部の各関節を駆動すれば、足平リンクは、静止しているダミー板の上へ安定して着床することになる。即ち、歩行面の傾斜や凹凸を直接計測せずとも、既に存在する凹凸の上に置かれたダミー板の位置と姿勢角を計測することによって、足平リンクを安定して着床させる目標位置姿勢角を決定することができる。
【0033】
第2実施例の脚式ロボットは、次のように表現することもできる。即ち、胴体部に脚部が連結されており、脚部の関節を駆動することによって歩行面を歩行する脚式ロボットであり、脚部先端の足平リンク(足平部)の下面に対向しており、足平部に弾性支持される足底部と、足平部の下面に設定された点であり直線上に並ばない少なくとも3点の夫々の点と歩行面に接触した足底部との間の距離を計測する足底部距離センサと、計測された各々の距離が等しくなるように脚部の関節を駆動する駆動制御部と、を備える脚式ロボット。
足底部が前述したダミー板の役割を果す。足平リンクが着床位置に近づくと、足底部が先に歩行面と接触する。足底部は足平リンクに弾性支持されているので、足平リンクの姿勢角に関わらずに歩行面の傾斜や凹凸に適合した位置と姿勢角で静止する。足平リンクの下面の少なくとも3点における足底部との間の距離は、足底部センサによって検出される。少なくとも3点は、一直線上に並ばない点が設定される。計測された少なくとも3つの距離が等しくなるように脚部の関節を駆動する。すると、足平リンクの下面と足底部を平行にすることができる。その状態で計測された距離をゼロにするように脚部の関節を駆動する。そうすることで、足平リンクを安定した着床させることができる。換言すれば、計測された各々の距離を略等しい距離に維持しながら、その距離をゼロに収束させるように脚部の関節を駆動する。
なお、足底部が歩行面に接触したことは、たとえば、足底部距離センサの計測距離が所定値以下となったときに足底部が歩行面に接触したと判断すればよい。
第2実施例における足底部距離センサが、請求項の「距離センサ」の一例に相当する。
【0034】
以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
【0035】
例えば、図8に実施例2の足平リンクの変形例を示す。この右足平リンク240Rは、右関節270Rで連結された右爪先部272Rを有する。右関節270Rを駆動することによって、右足平リンク240Rに対する右爪先部272Rの相対角を変化させることができる。なお、右関節270Rは、3軸周りに回転可能である。右足平リンク240Rの下面には、弾性部材152によって弾性支持された足底部260を備える。右足平リンク240Rの下面にはまた、足底部との距離を計測する足底部距離センサ250Ra、250Rb、250Rc、250Rbを有する。なお、図8には足底部距離センサ250Raの紙面奥側に位置する足底部センサ250Rbと、足底部距離センサ250Rcの紙面奥側に位置する足底部センサ250Rdは図示を省略している。
また、右爪先部272Rの下面には、弾性部材252によって弾性支持された爪先足底部274を備える。右爪先部272Rの下面にはまた、爪先足底部274との距離を計測する爪先足底部距離センサ276Ra、276Rb、276Rc、276Rbを有する。なお、図8には爪先足底部距離センサ276Raの紙面奥側に位置する爪先足底部センサ276Rbと、爪先足底部距離センサ276Rcの紙面奥側に位置する爪先足底部センサ276Rdは図示を省略している。なお、左足平リンクも図8の右足平リンク240Rと同様の構造なので説明を省略する。
この足平リンク240Rは、足平リンク240Rと爪先部272Rの双方で歩行面に接触することができる。足平リンク240Rと爪先部272Rは、3軸周りに回転可能である右関節270Rによって連結されている。従って、足平リンク240Rと爪先部272Rの夫々に対して第2実施例で示した処理を施すことによって、足平リンク240Rと爪先部272Rの夫々を歩行面に対して安定して着床することができる。
【0036】
また、第2実施例で示した足底部距離センサ150Ra等には、レーザを利用した距離センサ、反射板を利用する光学式線距離センサ、超音波を利用する距離センサ、或いは渦電流を利用する距離センサを利用することができる。また、第2実施例では、足底部距離センサ150Ra等は、右足平リンク140Rの下面に取り付けたが足底部160側に取り付けてもよい。
また、右足平リンク140Rと足底部160の周囲を覆うカバーを取り付けることも好適である。カバーを取り付けることによって、特に光学式の距離センサを利用する場合には発光部や受光部に塵等が付着することを防止できる。
【0037】
また、図2に示すPID制御部108、122、130は、制御則の一例であり、PID制御以外の制御則を適用してもよい。例えば、PID(比例、積分、微分)要素のうち、ひとつの要素からなる制御則、あるいは2つの要素からなる制御則を適用してもよい。また、位相進み回路や位相遅れ回路、あるいは二次遅れ要素などを含む制御則であってもよい。
【0038】
また、第1実施例では足平リンク40の4隅に夫々一つずつ片足に4個の距離センサを備えた。距離センサはさらに多数であってもよい。例えば、多数の距離センサを足平リンク40の下面に格子状に配置してもよい。そうすることで、足平リンク40の着床予定位置における歩行面の凹凸を検出することができる。さらに、足平リンクの下面に、例えばゴムなどの柔軟な部材を弾性支持するとともに、その柔軟な部材と足平リンク下面の距離を測定する距離センサを足平リンクの下面に格子状に配置してもよい。柔軟な部材が歩行面の凹凸に沿って変位し、柔軟な部材と足平リンクの下面の距離を多点で計測することによっても、歩行面の凹凸を計測することができる。
【0039】
本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【0040】
【図1】実施例の脚式ロボットの模式図である。
【図2】実施例の脚式ロボットのブロック図である。
【図3】歩行面と足平リンクとの関係を説明する図である。
【図4】距離偏差の算出方法を示す図である。
【図5】目標距離と計測距離が異なるときの距離偏差の例を示す図である。
【図6】目標距離と計測距離が異なるときの距離偏差の他の例を示す図である。
【図7】図7(A)は、第2実施例における足平リンクの模式図である。図7(B)は、足底部が歩行面と接触した状態を示す図である。図7(C)は、足平リンクが着床したときの状態を示す図である。
【図8】足底部を有する足平リンクの他の形状の模式図である。
【符号の説明】
【0041】
1:脚式ロボット
10:胴体部
11R、11L:脚部
40a、40A、40b、40B、40R、40L:足平リンク
50:距離センサ
51:モータ
52:加速度センサ
54:姿勢角センサ
100:コントローラ
102:記憶装置
103:歩容データ
104:目標距離算出部
106:距離偏差算出部
108、122、130:PID制御部
110:補正量算出部
112、118、120、128:加算器
114:関節角変換部
116:モータドライバ
140R、240R:足平リンク
150Ra、150Rc:足底部距離センサ
152、252:弾性部材
160、260:足底部
【出願人】 【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
【識別番号】000003609
【氏名又は名称】株式会社豊田中央研究所
【出願日】 平成18年8月28日(2006.8.28)
【代理人】 【識別番号】110000110
【氏名又は名称】特許業務法人快友国際特許事務所


【公開番号】 特開2008−49458(P2008−49458A)
【公開日】 平成20年3月6日(2008.3.6)
【出願番号】 特願2006−230452(P2006−230452)