説明

脚式ロボット、及びその制御方法

【課題】距離センサの故障を検知して、安定して歩行が可能な脚式ロボット、及びその制御方法を提供する。
【解決手段】本発明に係る脚式ロボットは、胴体10と、脚部20と、足平部26と、足平部26の足裏と路面との距離を検出する距離検出部16と、歩容データに基づいて脚部20の関節を駆動制御する制御部30と、を備え、制御部30は、距離検出部16の検出結果が基準範囲内に含まれない場合に、距離検出部16の故障を検知する故障検知部66と、故障していない正常な距離検出部16の検出結果に基づいて、歩容データを修正する歩容データ修正部と、を備える

【発明の詳細な説明】
【技術分野】
【0001】
本発明は脚式ロボット、及びその制御方法に関する。
【背景技術】
【0002】
近年、脚部の下端に足平部を設けたロボットにおいて、足平部の足裏を路面に倣わせる足裏倣い制御と、足平部から胴体への位置姿勢を目標の位置姿勢に維持する倒立制御とを組合せて、ロボットを安定して歩行させる技術が開発されている。
【0003】
このような脚式ロボットでは、まず、足平部の足裏部分を床面に接触させて支持脚とし、その後に足平の裏面で床面を押して脚部全体(ロボット全体)を持ち上げるように脚部を駆動することで、次の歩行動作を行う。駆動された脚部は遊脚となる一方、他の脚部が支持脚となり、このように、遊脚と支持脚を交互に繰り返して切替えることで、歩行動作を行うことができる。
【0004】
脚式ロボットを転倒させずに安定して移動させるためには、支持脚期ではロボットの足裏を路面に密着させると共に、遊脚を着地させる際には、予期しない路面凹凸からの外乱力を抑制することが効果的である。このため、ロボットの足裏と路面との関係を目標どおりに制御することが重要となる。
【0005】
従来、ロボットの足裏に距離センサを配置して、距離センサの出力値を目標値に追従させるように足裏を制御する技術が知られている。本出願人による出願(特願2007−278107号)には、足裏に路面との距離を検出する距離センサを設け、距離センサの検出結果に基づく足裏倣い制御により歩行安定化を行う2足ロボットが開示されている。当該2足ロボットでは、足裏倣い制御と倒立制御を組合せて制御する際に、ロボットの転倒方向を検出して足裏倣い制御で使用する距離センサを適切に選択することにより、不整地においても足裏が路面に密着しつつ、転倒しているロボットを戻すのに効果的な床反力モーメントを得るものである。
【特許文献1】特開2007−152470号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、本出願人による出願(特願2007−278107号)に開示されるロボットでは、距離センサの故障を検知する手段を備えておらず、距離センサの故障に起因してロボットが転倒する虞があった。即ち、距離センサが故障した際に、故障した距離センサをそのまま用いて制御を行った場合には足裏を路面に密着させることができず、逆に、路面から離れた場所へと足裏を制御しようとするため、歩行が不安定となる。このため、足裏に設けられた距離センサが故障した際には、足裏倣い制御において、路面と足裏との関係を目標通りに制御することができず、結果として、床から意図しない反力を受けてロボットが転倒してしまうという問題がある。
【0007】
他方、特許文献1には、距離センサの出力信号に変動が生じなかった場合に、距離センサに故障が生じているものと判定する自己診断機能付きロボットが開示されている。かかる特許文献1記載のロボットは、人を検知するための超音波距離センサを胸部に設けると共に、障害物や段差を検出する赤外線センサを脚部の前面に設け、これらセンサの故障をセンサの検出値に基づいて検知するものである。即ち、特許文献1記載のロボットは、足裏と路面との距離を検出する距離検出部の故障を検知して、正常な距離検出部の検出結果に基づいて歩容データを修正することで、路面と足裏との関係を目標通りに制御することを目的とするものではないため、足裏距離センサが故障した場合に、歩行の安定化を図るものではない。
【0008】
このように、従来の脚式ロボットによれば、距離センサの故障を検知することができないため歩行が不安定となり、ロボットが転倒する虞があるという問題があった。
【0009】
本発明は、かかる課題を解決するためになされたものであり、距離センサの故障を検知して、安定して歩行が可能な脚式ロボット、及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明にかかる脚式ロボットは、胴体と、該胴体に連結された脚部と、該脚部の下端に設けられた足平部と、前記足平部の足裏と路面との距離を検出する距離検出部と、歩容データに基づいて前記脚部の関節を駆動制御する制御部と、を備えた脚式ロボットであって、前記制御部は、前記距離検出部の検出結果が基準範囲内に含まれない場合に、当該距離検出部の故障を検知する故障検知部と、故障していない正常な距離検出部の検出結果に基づいて、前記歩容データを修正する歩容データ修正部と、を備えるものである。
【0011】
このように距離検出部の検出結果が基準範囲内に含まれるか否かに応じてその故障を検知し、故障していない正常な距離検出部の検出結果に基づいて歩容データを修正することで、距離センサが故障した場合であっても、路面と足裏との関係を目標通りに制御することができ、安定して歩行することができる。
【0012】
また、前記故障検知部は、前記脚部が遊脚期であって、前記距離検出部の検出値が前記基準範囲内に含まれない場合に、当該距離検出部の故障を検知するようにしてもよい。これにより、脚部が遊脚期である場合には、支持脚期の場合と比べて、距離検出部の検出値はその目標値近辺により安定して収束するため、距離検出部の検出値が基準範囲内に含まれるか否かに応じて距離検出部の故障を容易かつ正確に検知することができる。
【0013】
さらにまた、前記基準範囲が、前記脚部が遊脚期であって、前記距離検出部の検出可能な最大値を含む所定の範囲であるようにしてもよい。これにより、脚部が遊脚期である場合には、距離検出部の検出値は、その検出可能な最大値近傍の値になるものと考えられるため、脚部が遊脚期である場合に、距離検出部が検出可能な最大値を含む所定の範囲を基準範囲とすることで、距離検出部の故障をより容易かつ正確に検知することができる。
【0014】
また、前記制御部は、前記距離検出部の検出結果に基づいて、接地面から見た相対的な前記足平部の目標とする位置姿勢と実際の位置姿勢との偏差を計算し、前記歩容データ修正部は、当該偏差を小さくするように前記歩容データを修正するようにしてもよい。
【0015】
さらにまた、前記制御部は、前記故障検知部の検知結果に応じて、前記制御部による制御が継続可能であるか否かを判定する切替判定部を更に備え、前記歩容データ修正部は、前記切替判定部による判定の結果、前記制御部による制御が継続可能であると判定した場合に、故障していない正常な距離検出部を利用して、前記歩容データを修正するようにしてもよい。このように、距離検出部の故障検知結果に応じて制御の切替を行うことで、距離検出部が故障した際に、ロボットの制御をより迅速に安定化させることができる。
【0016】
また、前記胴体の姿勢を検出する胴体姿勢検出部を更に備え、前記制御部は、前記胴体姿勢検出部の検出結果に基づいて、前記胴体の目標とする姿勢と実際の姿勢との偏差を計算し、前記歩容データ修正部は、当該偏差を小さくするように前記歩容データを修正するようにしてもよい。
【0017】
さらにまた、前記脚式ロボットの重心位置を検出する重心位置検出部を更に備え、前記制御部は、前記重心位置検出部の検出結果に基づいて、前記足平部を基準とした目標とする重心位置と実際の重心位置との偏差を計算し、前記歩容データ修正部は、当該偏差を小さくするように前記歩容データを修正するようにしてもよい。
【0018】
また、前記距離検出部は、前記足平部の足裏に設けられた距離センサの出力信号から前記足平部の足裏と路面との距離を検出するようにしてもよい。
【0019】
本発明にかかる脚式ロボットの制御方法は、胴体と、該胴体に連結された脚部と、該脚部の下端に設けられた足平部と、を備えた脚式ロボットの制御方法であって、歩容データに基づいて前記脚部の関節を駆動制御する制御ステップでは、前記足平部の足裏と路面との距離を検出する距離検出ステップと、前記検出された前記足平部の足裏と路面との距離が基準範囲内に含まれない場合に、当該距離検出部の故障を検知する故障検知ステップと、故障していない正常な距離検出部の検出結果に基づいて、前記歩容データを修正する歩容データ修正ステップと、を備えるものである。
【0020】
このように、検出された足平部の足裏と路面との距離が基準範囲内に含まれるか否かに応じてその故障を検知し、故障していない正常な距離検出部の検出結果に基づいて歩容データを修正することで、距離センサが故障した場合であっても、路面と足裏との関係を目標通りに制御することができ、安定して歩行することができる。
【0021】
また、前記故障検知部は、前記脚部が遊脚期であって、前記距離検出部の検出値が、前記距離検出部が検出可能な最大値を含む所定の範囲内に含まれない場合に、当該距離検出部の故障を検知するようにしてもよい。これにより、脚部が遊脚期である場合には、支持脚期の場合と比べて、距離検出部の検出値はその目標値近辺により安定して収束し、距離検出部の検出値は、その検出可能な最大値近傍の値になるものと考えられるため、脚部が遊脚期である場合に、距離検出部が検出可能な最大値を含む所定の範囲を基準範囲とすることで、距離検出部の故障をより容易かつ正確に検知することができる。
【発明の効果】
【0022】
本発明によれば、距離センサの故障を検知して、安定して歩行が可能な脚式ロボット、及びその制御方法を提供することを目的とする。
【発明を実施するための最良の形態】
【0023】
発明の実施の形態1.
本実施の形態1にかかる脚式ロボットは、胴体と、胴体に連結された脚部と、脚部の下端に設けられた足平部と、足平部の足裏と路面との距離を検出する距離検出部と、歩容データに基づいて脚部の関節を駆動制御する制御部と、を備える。ここで、制御部は、距離検出部の検出結果が基準範囲内に含まれない場合に、その距離検出部の故障を検知する故障検知部と、故障していない正常な距離検出部の検出結果に基づいて、歩容データを修正する歩容データ修正部と、を備える
【0024】
脚式ロボットが歩行する際には、足平部の足裏に設けられた足裏距離センサを用いて足裏を路面に倣わせる足裏倣い制御と、姿勢センサを用いてロボットの姿勢を倒立させる倒立振子制御を組合せることによって安定化制御を実現している。本実施の形態1にかかる脚式ロボットによれば、足裏距離センサの検出値が基準範囲内に含まれるか否かに応じてその故障を検知し、故障していない正常な足裏距離センサの検出値に基づいて歩容データを修正することで、足裏距離センサが故障した場合であっても、路面と足裏との関係を目標通りに制御することができ、安定して歩行することができる。
【0025】
以下、図面を参照しながら本実施の形態1に係るロボットの制御方法について説明する。図1は、本実施の形態1に係る脚式ロボットの概要を示す図である。ロボット100は、胴体10と、胴体10に連結された2本の脚を有する。尚、図1には、一方の脚部20のみを示しており、他方の脚部は図示を省略している。胴体10は、ロボット100の動作(脚部の各関節の動作)を制御する制御部30と、胴体の加速度を検出する加速度センサ12と、胴体の10の鉛直方向に対する傾斜角(姿勢角)を検出する姿勢角センサ14を備える。
【0026】
脚部20は、股関節21、膝関節23、足首関節25、大腿リンク22、脛リンク24、及び足平部としての足平リンク26を備える。大腿リンク22と脛リンク24は、直線で模式化して示してある。股関節21は、胴体10と大腿リンク22を揺動可能に連結している。膝関節23は、大腿リンク22と脛リンク24を揺動可能に連結している。足首関節25は、脛リンク24と足平リンク26を揺動可能に連結している。脚部20の下端には足平部としての足平リンク26が設けられる。足平リンク26は板状の部材であり、足平リンクの裏面(足裏面)は平面となっている。
【0027】
足平リンク26には、距離検出部としての少なくとも3個以上の足裏距離センサ16が設けられている。足裏距離センサ16は、足平リンク26の裏面(足裏面)と接地面Sとの距離を検出する。図2は、足平リンク26の構成を説明するための図である。図2に示すように、足平リンク26は、上面視において、略矩形状に形成されている。足平リンク26の四隅近傍には、4つの足裏距離センサ16a、16b、16c、16dがそれぞれ設けられている。ここでは、足平リンク26の爪先側に2つの足裏距離センサ16a及び16dが、踵側に2つ足裏距離センサ16b及び16cがそれぞれ設けられている。足裏距離センサ16a及び16dは、足平リンク26の前方の所定位置における足裏面と接地面Sとの距離を検出し、足裏距離センサ16b及び16cは、足平リンク26の後方の所定位置における足裏面と接地面Sとの距離を検出する。従って、足裏距離センサ16a及び16dが検出する距離と16b及び16cが検出する距離の差から、足平リンク26の足裏面の接地面Sに対する傾きを求めることができる。
【0028】
各関節には図示しないモータが内蔵されており、制御部30からの指令に基づいて駆動される。モータを駆動することによって、関節に連結されたリンク同士を揺動させることができる。図示を省略している他方の脚部も、脚部20と同様の構造を有する。制御部30が2本の脚部の関節(詳細には関節角)を適宜制御することにより、ロボット100を歩行させることができる。
【0029】
図1においては、説明の便宜上、ロボット100が進行する向き(前後方向)をx軸、ロボット100が進行する方向に対して水平方向に直交する向き(左右方向)をy軸、ロボット100の進行する平面から鉛直方向に延びる向き(上下方向)をz軸とし、これら3軸からなる絶対座標系を用いて説明する。即ち、図1において、x軸は紙面に向かって左右方向、y軸は紙面の奥行き方向、z軸は紙面中の上下方向を示す。尚、ロボット100の胴体10に対して点Obを特定し固定する。足平リンク26に対して点Ofを特定し固定する。
【0030】
ロボット100は、制御部30に記憶されている歩容データに基づいて制御される。歩容データには、胴体10の目標位置(目標胴体位置)、胴体10の目標姿勢角(目標胴体姿勢角)、足平リンク26の目標位置(目標足平位置)、及び足平リンク26の目標姿勢角(目標足平姿勢角)のそれぞれの時系列データが含まれる。歩容データには、ロボット100が有する脚部のそれぞれの目標足平位置・姿勢角の時系列データが含まれる。
【0031】
歩容データは、シミュレーション等によってロボット100を安定して歩行させることができるように作成されている。即ち、目標胴体位置、目標胴体姿勢角、目標足平位置、及び目標足平姿勢角は、ロボット100のZMP位置が接地面に接地した足裏で囲まれた凸包内となる関係を満足するように設定されている。作成された歩容データは、ロボット100の制御部30に記憶される。後述するように、制御部30は、歩容データに含まれる目標胴体位置等に実胴体位置等を一致させるように各関節を制御する。
【0032】
目標胴体位置は、絶対座標系に対する特定点Obの位置で表される。特定点Obを原点とする胴体座標系を用いる場合には、目標胴体姿勢角は、絶対座標系に対する胴体座標系の傾きで表される。実胴体姿勢角は、胴体10に備えられた姿勢角センサ14によって検出することができる。目標足平位置は、絶対座標系に対する特定点Ofの位置で表される。目標足平姿勢角は、接地面に対する足裏面の角度で表される。特定点Ofを原点とする足平座標系を用いる場合には、目標足平姿勢角は、絶対座標系に対する足平座標系の傾きで表してもよい。実足平姿勢角は、後述するように、足平リンク26に備えられた足裏距離センサ16によって検出することができる。
【0033】
続いて、本実施の形態1に係るロボット100の制御システム1の詳細について説明する。制御システム1は、倒立制御を実行すると共に、足裏倣い制御を実行する。倒立制御は、実胴体位置及び姿勢角を目標胴体位置及び姿勢角に一致する制御である。尚、胴体姿勢角の代わりに重心位置を用いてもよい。足裏倣い制御は、接地面から見た相対的な実足平位置及び実足平姿勢角をそれぞれ目標足平位置及び目標足平姿勢角に一致する制御である。
【0034】
図3は、制御システム1の機能構成を示す機能ブロック図である。制御システム1は、制御部30と、記憶部50と、姿勢角センサ14と、モータ15と、足裏距離センサ16等を有している。
【0035】
記憶部50には、歩容データ51及び路面ノミナル位置・傾斜情報52が記憶されている。歩容データ51は、目標胴体位置、目標胴体姿勢角、目標足平位置、及び目標足平姿勢角の時系列データを含む。歩容データ上で足裏が接地面と接触するときは、足裏面と接地面を面接触状態とするため、目標足平姿勢角(仮想的な接地面に対する仮想的な足裏面の傾き)はゼロに設定されている。また、歩容データ上の各目標値は、ロボット100のZMP位置が接地している脚の足裏で囲まれた凸包内となる関係を満たすように決定されている。路面ノミナル位置・傾斜情報52は、ロボット100が移動する路面の存在情報であり、路面の位置・傾斜に関する基準値を示す。
【0036】
制御部30は、記憶部50に記憶された歩容データ51等を読み出すと共に、読み出した歩容データ51等によって特定されるロボット100の姿勢を実現するために必要な脚部20の関節角を算出する。そして、このように算出した関節角に基づく信号をモータ15に送信する。また、制御部30は、センサからの信号を受けて、モータの駆動量を調整する。
【0037】
より詳細には、制御部30は、足裏倣い制御部61と、倒立制御部62と、関節角変換部63と、各軸制御器64と、足裏倣い制御切替判定部65と、故障検知部66と、を備える。制御部30内では、実胴体姿勢角と目標胴体姿勢角の偏差に基づくフィードバック制御系(倒立制御部62による倒立制御系)と、接地面から見た相対的な実足平姿勢角と目標足平姿勢角の偏差に基づくフィードバック制御系(足裏倣い制御部61による倣い制御系)が含まれる。以後、足裏倣い制御の偏差については、接地面から見た相対的な足平姿勢角に関するものを示すものとする。
【0038】
足裏倣い制御部61は、実足平姿勢角を目標足平姿勢角に一致させるように、例えば足裏が接地面に密着している状態を目標として、踵側が接地面から浮いている場合には、足平リンク26の爪先側を脛リンク24に近づける方向に足平リンク26を回転させる。即ち、足裏面と接地面との面接触を維持するように足平リンク26を回転させる。実足平姿勢角は、足平リンク26が備える足裏距離センサ16a、16b、16c、16dの出力値から求められる。尚、足裏倣い制御部61の詳細については後述する。
【0039】
倒立制御部62は、ロボット100の胴体位置姿勢を目標位置姿勢に維持する機能を果たす。胴体位置姿勢は、実際の胴体位置と胴体姿勢角であり、目標位置姿勢は、目標の胴体位置と胴体姿勢角である。実胴体姿勢角は、胴体10に備えられた姿勢角センサ14で検出される。姿勢角センサ14は、例えば胴体10の角速度を検出するジャイロと、ジャイロの出力(角速度)を積分する積分器と、重力加速度ベクトルを検出する3軸加速度センサで構成される。尚、倒立制御部62の詳細については後述する。
【0040】
故障検知部66は、足裏距離センサ16の検出結果が基準範囲内に含まれない場合に、足裏距離センサ16の故障を検知する。切替判定部としての足裏倣い制御切替判定部65は、故障検知部66の検知結果に応じて、制御部30による制御が継続可能であるか否かを判定する。図示しない歩容データ修正部は、足裏倣い制御切替判定部65による判定の結果、制御部30による制御が継続可能であると判定した場合に、故障していない正常な足裏距離センサ16に基づいて、歩容データを修正する。尚、故障検知部66及び足裏倣い制御切替判定部65の詳細については後述する。
【0041】
より詳細には、以下のようにして記憶部50に記憶された歩容データ(目標胴体位置、目標胴体姿勢角、目標足平位置、及び目標足平姿勢角の時系列データ)が修正され、関節角変換部63に入力される。図3においては、胴体位置姿勢目標値が、目標胴体位置及び目標胴体姿勢角の時系列データを含み、足先位置姿勢目標値が、目標足平位置及び目標足平姿勢角の時系列データを含む。
【0042】
記憶部50に記憶された目標胴体位置は、目標胴体加速度と実胴体加速度の偏差に基づいて補正された後に関節角変換部63に入力される。目標胴体加速度は、目標胴体位置を2回微分することによって求められる。実胴体加速度は、加速度センサ12により検出される。
【0043】
記憶部50に記憶された目標足平位置は、目標足平位置と実足平位置の偏差に基づいて補正された後に関節角変換部63に入力される。
【0044】
記憶部50に記憶された目標胴体姿勢角は、そのまま関節角変換部63に入力される。同時に、目標胴体姿勢角と実胴体姿勢角の偏差(胴体姿勢角偏差)が求められる。胴体姿勢角偏差は倒立制御部62に入力されて、胴体姿勢角偏差を小さくする方向に胴体を回転させる胴体補正角が算出される。実胴体姿勢角は、姿勢角センサ14により検出される。尚、図3においては、胴体補正角は足裏倣い制御部61における補正量となるため、胴体補正角を倣い制御目標値補正量という。
【0045】
記憶部50に記憶された目標足平姿勢角と実足平姿勢角の偏差(足平姿勢角偏差)が求められる。実足平姿勢角は、足裏距離センサ16により検出される。足平姿勢角偏差と上述した胴体補正角(倣い制御目標値補正量)とが加算され、加算された結果が、足裏倣い制御部61に入力される。足裏倣い制御部61によって、入力された角度(胴体補正角と足平姿勢角偏差を加算した角度)を小さくする方向へ足平を回転させる足平補正角が求められる。記憶部50に記憶された目標足平姿勢角は、上述した足平補正角が加算された後に(足平補正角で補正された後に)関節角変換部63に入力される。尚、図3においては、足平補正角を足先目標値補正量という。
【0046】
関節角変換部63には、以上のようにして修正された歩容データが入力される。これらの値から、関節角変換部63では、逆キネマティクスの演算によって脚部20の各関節の目標関節角が算出される。ここで、それぞれの目標値は、絶対座標系に対する値で表されている。関節角変換部63では、目標足平位置と目標胴体位置の差から足平と胴体の相対位置を計算し、目標足平姿勢角(足平補正角によって補正されている)と目標胴体姿勢角の差から足平と胴体の相対回転角を計算する。計算された相対位置と相対回転角を実現する目標関節角が算出される。
【0047】
各軸制御器64は、関節角変換部63により送信された目標関節角の信号に基づいて、脚部20を駆動するための各モータ15の駆動量を特定し、これらの駆動量でモータ15を駆動させるためのモータ駆動信号を各モータに送信する。これによって、脚部20の各関節における駆動量が変更され、ロボット100の動きが制御される。
【0048】
続いて、図4を参照しながら、本実施の形態1に係る倒立制御部62について詳細に説明する。図4は、倒立制御部62の機能構成を示す機能ブロック図である。図4に示すように、倒立制御部62は、姿勢偏差計算部621と、コントローラ622と、リミッタ623と、を有する。
【0049】
倒立制御部62は、まず、姿勢偏差計算部621において、胴体姿勢目標値(胴体の目標姿勢)と、胴体姿勢計測値(姿勢角センサ14により検出した実姿勢)との偏差を計算する。そして、計算した胴体の姿勢偏差に基づき、所定のコントローラ622によって、足裏倣い制御で使用する足裏と路面との目標相対位置・目標相対姿勢の補正量を計算する。
【0050】
次いで、倒立制御部62は、足裏距離センサ16の出力値に基づき、足裏が路面から剥がれたか否かを判定する。判定の結果、足裏が路面から剥がれていない場合には、計算された目標相対位置・目標相対姿勢に対して補正を行わずに、倣い制御目標値補正量として出力する。一方で、足裏が路面から剥がれた場合には、リミッタ623を介して、計算した補正量を制限する。即ち、リミッタ623は、目標相対位置・目標相対姿勢の補正量の大きさに制限を加えるものである。リミッタ623は、入力された補正量の大きさが許容範囲内を超えているときに、許容限界の値を出力する。このリミッタ623を設けることで、足裏倣い制御部61に入力される倣い制御目標値補正量を制限する。これによって、倣い制御系(足裏倣い制御部61)が倒立制御系(倒立制御部62)よりも優勢に作用することを保証する。従って、倣い制御系が優勢に作用して、足裏面が接地面と面接触することを保証することができる。
【0051】
次いで、倒立制御部62は、計算された補正量に基づいて、胴体の姿勢偏差を小さくする方向へ、足裏と路面との目標相対位置・目標相対姿勢を補正する。補正された目標相対位置・目標相対姿勢を倣い制御目標値補正量として足裏倣い制御部61へと出力する。
【0052】
続いて、図5及び6を参照しながら、本実施の形態1に係る故障検知部66について詳細に説明する。図5は、故障検知部66による故障検知処理を説明するためのフローチャートである。図6は、足裏距離センサ16の検出値と目標値の関係を示す概念図である。
【0053】
故障検知部66は、まず、各足裏距離センサ16の故障を検出するための故障フラグの値を初期化する(fail_flag=0)(ステップS101)。次いで、故障検知部66は、ロボット100の脚部20が遊脚であるか又は支持脚であるかを判定する(ステップS102)。判定の結果、脚部20が支持脚である場合には、故障検知処理を終了する。
【0054】
一方で、判定の結果、脚部20が遊脚である場合には、歩容データに含まれる足平リンク26の目標位置(ここでは高さ)が、予め定めた所定値よりも大きいか否かを判定する(ステップS103)。即ち、遊脚期における足平リンク26の目標高さが十分大きいか否かを判定する。判定の結果、足平リンク26の目標高さが所定値よりも大きくない場合には、故障検知処理を終了する。
【0055】
一方で、判定の結果、足平リンク26の目標高さが所定値よりも大きな場合には、計測された足裏距離センサ16の出力値が、予め定めた基準範囲内に含まれるか否かを判定する(ステップS104)。判定の結果、計測された足裏距離センサ16の出力値が、予め定めた基準範囲内に含まれる場合には、故障検知処理を終了する。
【0056】
一方で、判定の結果、計測された足裏距離センサ16の出力値が、予め定めた基準範囲内に含まれない場合には、その足裏距離センサ16は故障しているものとし、故障状態を示す値を故障フラグの値に設定する(fail_flag=1)(ステップS105)。
【0057】
図6は、足裏距離センサ16の検出値と目標値の関係を示す概念図である。本実施の形態1に係るロボット100では、足裏距離センサ16として接触型のセンサを採用する。これにより、足裏と路面との間の距離を精度良く測定することができる。このような接触型の距離センサでは、遊脚が路面から完全に離床している状態においては、足裏距離センサ16の出力値として、その計測可能な範囲の最大値を出力する。図6(a)に示すように、脚部20が遊脚時であって、目標高さが所定値よりも十分大きな場合(例えば時間t1〜t2に示す区間の場合)、足裏距離センサ16の目標とする出力(路面と足裏との目標距離(即ち足平リンク26の目標高さ))は、足裏距離センサ16が計測可能な最大値h_maxとなる。そこで、図6(b)に示すように、遊脚時における足裏距離センサ16が検出可能な最大値を中心として、当該最大値を含む範囲を基準範囲として設定する。このように、遊脚時であって、足平リンク26の目標高さが所定値よりも十分大きな場合に、故障していない正常な足裏距離センサ16によって計測される出力値は、当該基準範囲内に含まれるものと想定される。従って、計測時における誤差を考慮して、最大値を含む所定の範囲を基準範囲とし、遊脚時であって、足平リンク26の目標高さが所定値よりも十分大きな場合に、計測された足裏距離センサ16の出力値が、基準範囲内に含まれるか否かを判定することで、足裏距離センサ16の故障を容易かつ正確に検知することができる。また、最大値に対して所定の範囲を持たせることで、センサノイズに対しても耐性を有することができる。
【0058】
続いて、図7乃至9を参照しながら、本実施の形態1に係る足裏倣い制御部61について詳細に説明する。図7は、足裏倣い制御部61の機能構成を示す機能ブロック図である。図8は、足裏倣い制御部61による制御処理の概要を説明するためのフローチャートである。図9は、足裏倣い制御が継続可能であるか否かの判定処理を説明するための図である。図5に示すように、足裏倣い制御部61は、距離センサ目標値計算部611と、差分器612と、距離センサ選択部613と、位置姿勢偏差計算部614と、加算器615と、補償器616を有する。
【0059】
まず、足裏倣い制御部61に対して切替判定情報が入力され、足裏倣い制御部61は、切替判定情報から、足裏距離センサ16のうちで故障したセンサが存在するか否かを判定する(ステップS201)。ここで、切替判定情報は足裏倣い制御切替判定部65により出力される。足裏倣い制御切替判定部65は、故障検知部66の検知結果に基づいて、足裏倣い制御が継続可能であるか否かを判定し、当該判定結果を含む切替判定情報を出力する。また、切替判定情報は、各足裏距離センサ16が故障しているか又は正常であるかを示す足裏距離センサ状態情報(足裏距離センサ16の故障フラグの値)を含む。
【0060】
次いで、判定の結果、故障した足裏距離センサ16が存在する場合には、足裏倣い制御部61は、切替判定情報から、正常な足裏距離センサ16のみで足裏倣い制御が継続可能か否かを判定する(ステップS202)。判定の結果、正常な足裏距離センサ16のみでは足裏倣い制御が継続不可能な場合には、足裏倣い制御を実行せずに、その出力値(足先目標値補正量)を0に設定する(ステップS203)。尚、足裏倣い制御と倒立制御は同時に実行することが好ましいため、足裏倣い制御部61の出力である足先目標値補正量を0とすることで、足裏倣い制御を実行しない場合には、倒立制御も同時に実行させないようにすることができる。
【0061】
次いでロボット100の制御部30は、足先目標値補正量を計算し(ステップS204)、計算された足先目標値補正量を実現するように歩容データを修正する(ステップS205)。より詳細には、足裏倣い制御部61において、相対位置偏差・相対姿勢偏差と倣い制御目標値補正量とが加算器615により加算され、加算された結果が、補償器616に入力される。補償器616において、所定の伝達関数を用いて足先目標値補正量を計算し、計算された足先目標値補正量により、偏差が小さくなるように足平リンク26の目標位置姿勢を補正する。足先目標値補正量の計算は、例えば、足偏差を入力とし、足先目標値補正量を出力とする伝達関数を通すことで実現することができる。
【0062】
一方で、ステップS201における判定の結果、故障した足裏距離センサ16が存在しない場合には、足裏倣い制御部61は、全ての足裏距離センサ16を用いて、通常の足裏倣い制御を実行する(ステップS207)。より詳細には、まず、足裏倣い制御部61の距離センサ目標値計算部611において、歩容データ51に含まれる足先位置姿勢目標値(目標足平位置・姿勢角の軌道)と、路面の存在情報である路面のノミナル位置・傾斜情報52とから、足裏距離センサ16の高さ目標値を計算する。言い換えると、足平リンク26の目標位置・姿勢角を示す軌道データと、足平26が実際に着地する地点(ノミナル位置・傾斜)とから、足裏距離センサ16の目標とする時系列値を計算する。即ち、目標とする足裏距離センサ16の出力値を計算する。尚、ノミナル位置・傾斜に代えて、ロボット100の一歩分の着地位置から足平リンク26の着地位置・姿勢を計算することで、目標とする足裏距離センサ16の出力値を計算するようにしてもよい。
【0063】
次いで、計算した足裏距離センサ16の目標値と、足裏距離センサ16によって実際に計測された計測値とから、足裏距離センサ16の偏差を差分器612により計算する。このとき、距離センサ選択部613によって、足裏距離センサ16のうち、床反力モーメントを効果的に得ることができるように足裏距離センサ16を選択し、選択された足裏距離センサ16を用いて足裏倣い制御を実行することで、倒立制御において転倒をより効果的に防止することができる。
【0064】
次いで、位置姿勢偏差計算部614において、計算した足裏距離センサ16の偏差から、足平リンク26の足裏と路面との相対位置偏差・相対姿勢偏差を計算する。より詳細には、足平リンク26の目標位置姿勢に対する実際の位置姿勢の足偏差(ロール、ピッチ、z)を計算する。尚、zは鉛直方向の測定高さを示す。足裏と距離センサ16が配置される位置の幾何学的関係から近似を用いて、各足裏距離センサ16a乃至16dの出力値の偏差と、各足裏距離センサ16の偏差に対応する変換行列とから、足偏差を一意に決定することができる。制御部30は、このようにして計算した足偏差から、上述したように足先目標値補正量を計算し(ステップS204)、計算された足先目標補正量を実現するように歩容データを修正する(ステップS205)。
【0065】
一方で、ステップS202における判定の結果、正常な足裏距離センサ16のみで足裏倣い制御が継続可能である場合には、正常な足裏距離センサ16のみを用いて、足裏倣い制御を実行する(ステップS206)。次いで、制御部30は、上述したようにして、計算した足偏差から、足先目標値補正量を計算し(ステップS204)、計算された足先目標補正量を実現するように歩容データを修正する(ステップS205)。
【0066】
図9は、足裏倣い制御が継続可能であるか否かの判定処理を説明するための図である。図において、故障した足裏距離センサ16を斜線領域により示す。図9(a)に示すように、足裏倣い制御では、足偏差(ロール、ピッチ、z)を補正する。これに対して、本実施の形態1に係るロボット100では、足裏距離センサ16を4個備えているため、センサの個数が冗長となる。このため、図9(b)乃至(d)に示すように、足裏距離センサ16の故障状況に応じて、距離センサ選択部613は、足裏距離センサ16のうち、床反力モーメントを効果的に得ることができるように足裏距離センサ16を選択する。そして、足裏倣い制御処理においては、選択された足裏距離センサ16を用いて足裏倣い制御を実行する。
【0067】
まず、図9(b)に示すように、足裏距離センサ16が全て正常な場合には(図8におけるステップS207の場合)、床反力モーメントを効果的に得ることができるように3個の足裏距離センサ16を選択することで、倒立制御の転倒を防止することができる。
【0068】
他方、図9(c)に示すように、足裏距離センサ16のうち1つが故障している場合には(例えば図8におけるステップS206の場合)、正常な残り3個の足裏距離センサ16を選択し、選択された足裏距離センサ16を用いて足裏倣い制御を実行する。
【0069】
また、図9(d)に示すように、足裏距離センサ16のうち2つが故障している場合には(例えば図8におけるステップS203の場合)、正常な残り2個の足裏距離センサ16では足先目標値補正量を適切に計算することができないため、足裏距離センサ16を用いて足裏倣い制御を実行しないものとする。
【0070】
発明の実施の形態2.
上述した実施の形態1においては、足平リンク26に設けられた足裏距離センサ16が4個である場合について、それら足裏距離センサ16のうち、3個の足裏距離センサ16を選択する処理について説明した。本発明はこれに限定されず、足平リンク26に設けられた少なくとも3個以上の足裏距離センサ16から、3個の足裏距離センサ16を選択するようにしてもよい。尚、本実施の形態2に係るロボット100の構成は、足平リンク26の構成、及び足平リンク26に設けられる足裏距離センサ16の配置を除いて、上述した発明の実施の形態1と同様である。
【0071】
図10は、本実施の形態2に係るロボット100の足平リンク26の構成を説明するための図である。足平リンク26は、爪先部26aと、爪先関節27を介して爪先部26aに連結された踵部26bとから構成される。ロボット100の歩行動作中には、爪先関節27を駆動することで、爪先部26aを路面に対して接地させたまま、踵部26bを浮かせることができる。即ち、踵部26bを浮かせたまま爪先部26aのみを接地させることにより、ロボット100を直立させることができる。
【0072】
図10に示すように、爪先部26a及び踵部26bは、上面視において、略矩形状に形成されている。爪先部26aの四隅近傍には、4つの足裏距離センサ16a、16b、16c、16dがそれぞれ設けられている。ここでは、爪先部26aの爪先側に2つの足裏距離センサ16a及び16dが、踵部方向側に2つ足裏距離センサ16b及び16cが設けられている。足裏距離センサ16a及び16dは、爪先部26aの前方の所定位置における足裏面と接地面Sとの距離を検出し、足裏距離センサ16b及び16cは、爪先部26aの後方の所定位置における足裏面と接地面Sとの距離を検出する。踵部26bには、爪先部側とは反対側の二隅に2つの足裏距離センサ16e及び16fがそれぞれ設けられている。足裏距離センサ16e及び16fは、踵部26bの後方の所定位置における足裏面と接地面Sとの距離を検出する。従って、足裏距離センサ16a及び16dが検出する距離と、足裏距離センサ16b及び16cが検出する距離と、足裏距離センサ16e及び16fが検出する距離との差から、足平リンク26の足裏面の接地面Sに対する傾きを求めることができる。
【0073】
本実施の形態2に係るロボット100は、爪先関節27を駆動させて爪先部26a及び踵部26bを路面に倣わせる際に、ロボット100の足裏から倒立制御に対して効果的な床反力モーメントを得ることができるように、爪先部26aに配置された足裏距離センサ16から3個の距離センサ16を選択すると共に、踵部26bと路面との距離に基づいて、踵部26bに配置された足裏距離センサ16から路面との距離を追従させるべき1個の距離センサ16を選択する。
【0074】
図11は、本実施の形態2に係るロボット100について、足裏倣い制御が継続可能であるか否かの判定処理を説明するための図である。図に示すように、足裏倣い制御では、爪先部26aの爪先偏差(ロール、ピッチ、z)に加えて、爪先角度も補正する。これに対して、本実施の形態2に係るロボット100では、足裏距離センサ16を足裏に6個備えているため、センサの個数が冗長となる。このため、足裏距離センサ16の故障状況に応じて、距離センサ選択部613は、足裏距離センサ16のうち、床反力モーメントを効果的に得ることができるように足裏距離センサ16を選択する。そして、足裏倣い制御処理においては、選択された足裏距離センサ16を用いて足裏倣い制御を実行する。
【0075】
ここで、爪先部26aの爪先偏差(ロール、ピッチ、z)については、爪先部26aに設けられた4個の足裏距離センサ16a、16b、16c、16dを用いることで計算することができるため、実施の形態1と同様にして、4個の足裏距離センサ16から3個の足裏距離センサ16を選択する。爪先角度については、爪先部26aに設けられた少なくとも1個の足裏距離センサ16と、踵部26bに設けられた少なくとも1個の足裏距離センサ16とを選択することで計算することができる。従って、爪先角度について、爪先部26aに設けられた足裏距離センサ16と、踵部26bに設けられた足裏距離センサ16とから、少なくともそれぞれ1個ずつの足裏距離センサ16を使用することができない場合には、足先目標値補正量を適切に計算することができないため、足裏距離センサ16を用いて足裏倣い制御を実行しないものとする。
【0076】
以上説明したように足裏距離センサ16の検出結果が基準範囲内に含まれない場合に、その足裏距離センサ16の故障を検知する故障検知部を備え、故障していない正常な距離検出部の検出結果に基づいて、歩容データを修正することで、足裏距離センサ16が故障した場合であっても、路面と足裏との関係を目標通りに制御することができ、安定して歩行することができる。
【0077】
その他の実施の形態.
上述した実施の形態においては、ロボット100は2本の脚を備えるものとしたが本発明はこれに限定されない。少なくとも2本以上の脚を有し、それぞれの脚の下端には足平部が設けられ、足平部の足裏には少なくとも3個以上の足裏距離センサを備える脚式ロボットに対しても、本発明を適用することができる。
【0078】
尚、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【0079】
【図1】本発明の実施の形態1に係る脚式ロボットの構成図である。
【図2】本発明の実施の形態1に係る脚式ロボットの足平リンクの構成図である。
【図3】本発明の実施の形態1に係る脚式ロボットの構成を示す機能ブロック図である。
【図4】本発明の実施の形態1に係る脚式ロボットの倒立制御部の構成を示す機能ブロック図である。
【図5】本発明の実施の形態1に係る脚式ロボットの故障検知部による故障検知処理を説明するためのフローチャートである。
【図6】本発明の実施の形態1に係る脚式ロボットの足裏距離センサの検出値と目標値の関係を示す概念図である。
【図7】本発明の実施の形態1に係る脚式ロボットの足裏倣い制御部の機能構成を示す機能ブロック図である。
【図8】本発明の実施の形態1に係る脚式ロボットの足裏倣い制御部による制御処理の概要を説明するためのフローチャートである。
【図9】本発明の実施の形態1に係る脚式ロボットの足裏倣い制御が継続可能であるか否かの判定処理を説明するための図である。
【図10】本発明の実施の形態2に係る脚式ロボットの脚式ロボットの足平リンクの構成図である。
【図11】本発明の実施の形態2に係る脚式ロボットの足裏倣い制御が継続可能であるか否かの判定処理を説明するための図である。
【符号の説明】
【0080】
1 制御システム、
10 胴体、
12 加速度センサ、14 姿勢角センサ、15 モータ、16 距離センサ
20 脚部、21 股関節、22 大腿リンク、23 膝関節、24 脛リンク、
25 足首関節、26 足平リンク、26a 爪先部、26b 踵部、27 爪先関節、
30 制御部、50 記憶部、
51 歩容データ、52 路面ノミナル位置・傾斜、
60 演算処理部、61 足裏倣い制御部、62 倒立制御部、63 関節角変換部、
64 各軸制御器、65 足裏倣い制御切替判定部、66 故障検知部、
611 距離センサ目標値計算部、613 距離センサ選択部、
614 位置姿勢偏差計算部、615 補償器、
621 姿勢偏差計算部、622 コントローラ、623 リミッタ、
100 ロボット

【特許請求の範囲】
【請求項1】
胴体と、該胴体に連結された脚部と、該脚部の下端に設けられた足平部と、前記足平部の足裏と路面との距離を検出する距離検出部と、歩容データに基づいて前記脚部の関節を駆動制御する制御部と、を備えた脚式ロボットであって、
前記制御部は、
前記距離検出部の検出結果が基準範囲内に含まれない場合に、当該距離検出部の故障を検知する故障検知部と、
故障していない正常な距離検出部の検出結果に基づいて、前記歩容データを修正する歩容データ修正部と、を備える
ことを特徴とする脚式ロボット。
【請求項2】
前記故障検知部は、
前記脚部が遊脚期であって、前記距離検出部の検出値が前記基準範囲内に含まれない場合に、当該距離検出部の故障を検知する
ことを特徴とする請求項1記載の脚式ロボット。
【請求項3】
前記基準範囲が、
前記脚部が遊脚期であって、前記距離検出部の検出可能な最大値を含む所定の範囲である
ことを特徴とする請求項2記載の脚式ロボット。
【請求項4】
前記制御部は、
前記距離検出部の検出結果に基づいて、前記足平部の目標とする位置姿勢と実際の位置姿勢との偏差を計算し、
前記歩容データ修正部は、
当該偏差を小さくするように前記歩容データを修正する
ことを特徴とする請求項1乃至3いずれか1項記載の脚式ロボット。
【請求項5】
前記制御部は、
前記故障検知部の検知結果に応じて、前記制御部による制御が継続可能であるか否かを判定する切替判定部を更に備え、
前記歩容データ修正部は、
前記切替判定部による判定の結果、前記制御部による制御が継続可能であると判定した場合に、故障していない正常な距離検出部を利用して、前記歩容データを修正する
ことを特徴とする請求項1記載乃至4いずれか1項記載の脚式ロボット。
【請求項6】
前記胴体の姿勢を検出する胴体姿勢検出部を更に備え、
前記制御部は、
前記胴体姿勢検出部の検出結果に基づいて、前記胴体の目標とする姿勢と実際の姿勢との偏差を計算し、
前記歩容データ修正部は、
当該偏差を小さくするように前記歩容データを修正する
ことを特徴とする請求項1記載の脚式ロボット。
【請求項7】
前記脚式ロボットの重心位置を検出する重心位置検出部を更に備え、
前記制御部は、
前記重心位置検出部の検出結果に基づいて、前記足平部を基準とした目標とする重心位置と実際の重心位置との偏差を計算し、
前記歩容データ修正部は、
当該偏差を小さくするように前記歩容データを修正する
ことを特徴とする請求項1記載の脚式ロボット。
【請求項8】
前記距離検出部は、前記足平部の足裏に設けられた距離センサの出力信号から前記足平部の足裏と路面との距離を検出する
ことを特徴とする請求項1乃至7いずれか1項記載の脚式ロボット。
【請求項9】
胴体と、該胴体に連結された脚部と、該脚部の下端に設けられた足平部と、を備えた脚式ロボットの制御方法であって、
歩容データに基づいて前記脚部の関節を駆動制御する制御ステップでは、
前記足平部の足裏と路面との距離を検出する距離検出ステップと、
前記検出された前記足平部の足裏と路面との距離が基準範囲内に含まれない場合に、当該距離検出部の故障を検知する故障検知ステップと、
故障していない正常な距離検出部の検出結果に基づいて、前記歩容データを修正する歩容データ修正ステップと、を備える
ことを特徴とする脚式ロボットの制御方法。
【請求項10】
前記故障検知部は、
前記脚部が遊脚期であって、前記距離検出部の検出値が、前記距離検出部が検出可能な最大値を含む所定の範囲内に含まれない場合に、当該距離検出部の故障を検知する
ことを特徴とする請求項9記載の脚式ロボットの制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2009−184035(P2009−184035A)
【公開日】平成21年8月20日(2009.8.20)
【国際特許分類】
【出願番号】特願2008−24125(P2008−24125)
【出願日】平成20年2月4日(2008.2.4)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】