(57)【要約】【課題】外乱に対しても、爪先関節を駆動させながら安定して歩行することができる脚式ロボット、及びその制御方法を提供する。【解決手段】本発明に係る脚式ロボットは胴体１０と、足平部２６は、爪先部２６ａと爪先関節２７を介して連結された踵部２６ｂとから構成され、歩容データは、爪先部２６ａの目標位置姿勢と爪先関節２７の目標角度とを含み、制御部３０は、距離検出部１６の検出結果に基づいて、爪先部２６ａの目標位置姿勢を補正する爪先部補正量と、爪先関節２７の目標角度を補正する爪先関節補正量とを計算する爪先補正量計算部と、爪先補正量計算部により計算された爪先部補正量と爪先関節補正量とに基づいて、歩容データを修正する歩容データ修正部と、を備え、爪先補正量計算部は、踵部２６ｂが離床している間、爪先関節補正量を所定の値に保持する。【選択図】図４
2009184034.tif 000002
【特許請求の範囲】
【請求項１】
胴体と、該胴体に連結された脚部と、該脚部の下端に設けられた足平部と、該足平部の足裏と路面との距離を検出する距離検出部と、歩容データに基づいて前記脚部の関節を駆動制御する制御部と、を備えた脚式ロボットであって、
前記足平部は、爪先部と爪先関節を介して該爪先部に連結された踵部とから構成され、
前記歩容データは、前記爪先部の目標位置姿勢と前記爪先関節の目標角度とを含み、
前記制御部は、
前記距離検出部の検出結果に基づいて、前記爪先部の目標位置姿勢を補正する爪先部補正量と、前記爪先関節の目標角度を補正する爪先関節補正量とを計算する爪先補正量計算部と、
前記爪先補正量計算部により計算された爪先部補正量と爪先関節補正量とに基づいて、前記歩容データを修正する歩容データ修正部と、を備え、
前記爪先補正量計算部は、
前記踵部が離床している間、前記爪先関節補正量を所定の値に保持する
ことを特徴とする脚式ロボット。
【請求項２】
前記爪先補正量計算部は、
前記爪先関節の目標角度が所定の閾値以上となる場合に、前記爪先関節補正量を所定の値に保持する
ことを特徴とする請求項１記載の脚式ロボット。
【請求項３】
前記爪先補正量計算部は、
前記踵部が離床している間、前記踵部が離床する時点以前の爪先関節補正量のうちで直前の制御周期における爪先関節補正量を前記爪先関節補正量として保持する
ことを特徴とする請求項１又は２記載の脚式ロボット。
【請求項４】
前記爪先部に前記足平部を制御するための爪先座標系を規定し、
前記爪先補正量計算部は、
前記距離検出部の検出結果に基づいて、前記爪先座標系における前記爪先部の目標位置姿勢と実際の位置姿勢との偏差を計算し、該偏差に所定のゲインを乗じて前記爪先部補正量を計算し、
前記爪先関節の目標角度と実際の角度との偏差を計算し、該偏差に所定のゲインを乗じて前記爪先関節補正量を計算する
ことを特徴とする請求項１乃至３いずれか１項記載の脚式ロボット。
【請求項５】
前記胴体の姿勢を検出する胴体姿勢検出部を更に備え、
前記制御部は、
前記胴体姿勢検出部の検出結果に基づいて、前記胴体の目標とする姿勢と実際の姿勢との偏差を計算し、
前記歩容データ修正部は、
当該偏差を小さくするように前記歩容データを修正する
ことを特徴とする請求項１記載の脚式ロボット。
【請求項６】
前記脚式ロボットの重心位置を検出する重心位置検出部を更に備え、
前記制御部は、
前記重心位置検出部の検出結果に基づいて、前記足平部を基準とした前記脚式ロボットの目標とする重心位置と実際の重心位置との偏差を計算し、
前記歩容データ修正部は、
当該偏差を小さくするように前記歩容データを修正する
ことを特徴とする請求項１記載の脚式ロボット。
【請求項７】
前記距離検出部は、前記爪先部の足裏に設けられた少なくとも４個の距離センサと、前記踵部の足裏に設けられた少なくとも２個の距離センサとの出力信号から前記足平部の足裏と路面との距離を検出する
ことを特徴とする請求項１乃至６いずれか１項記載の脚式ロボット。
【請求項８】
胴体と、該胴体に連結された脚部と、該脚部の下端に設けられた足平部と、を備え、前記足平部は、爪先部と爪先関節を介して該爪先部に連結された踵部とから構成された脚式ロボットの制御方法であって、
前記爪先部の目標位置姿勢と前記爪先関節の目標角度とを含む歩容データに基づいて、前記脚部の関節を駆動制御する制御ステップは、
前記足平部の足裏と路面との距離を検出し、該検出結果に基づいて、前記爪先部の目標位置姿勢を補正する爪先部補正量と、前記爪先関節の目標角度を補正する爪先関節補正量とを計算する爪先補正量計算ステップと、
前記計算された爪先部補正量と爪先関節補正量とに基づいて、前記歩容データを修正する歩容データ修正ステップと、を有し、
前記爪先補正量計算ステップでは、
前記爪先関節の目標角度が所定の閾値以上となる場合に、前記爪先関節補正量を所定の値に保持する
ことを特徴とする脚式ロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は脚式ロボット、及びその制御方法に関する。
【背景技術】
【０００２】
近年、脚部の下端に足平部を設けたロボットにおいて、足平部を、爪先と爪先関節を介して連結する踵とから構成して、爪先関節を駆動させながら歩行を行う脚式ロボットが開発されている。
【０００３】
このような脚式ロボットでは、まず、足平部の足裏部分を床面に接触させて支持脚とし、その後に足平の裏面で床面を押して脚部全体（ロボット全体）を持ち上げるように脚部を駆動することで、次の歩行動作を行う。駆動された脚部は遊脚となる一方、他の脚部が支持脚となり、このように、遊脚と支持脚を交互に繰り返して切替えることで、歩行動作を行うことができる。ここで、支持脚から遊脚へと切り替わる際の離床動作においては、まず踵を浮かせて、爪先関節を駆動させて爪先立ちしながら脚の蹴りだし動作を行う。一方、遊脚から支持脚へと切り替わる際の着床動作においては、まず踵から着床して、爪先を路面に倣うように制御することで、足平部の足裏全体を路面に着地させる。
【０００４】
特許文献１には、相対的に揺動可能に接続された２つの足平部と、これら足平部を相対的に揺動させるアクチュエータを備えた足先装置が開示されている。特許文献１に記載の足先装置によれば、爪先部に相当する足平部の接地面は、接地している状態では揺動軸の前後いずれにも亘って伸びており、つま先関節を持つロボットを安定的に支えることができる。
【０００５】
特許文献２には、脚部の下端部に設けられた足平部と、足平部の前端部に上下回動自在に設けられる爪先部とを備えた脚式移動ロボットが開示されている。特許文献２に記載の脚式移動ロボットによれば、爪先部の底面が足平部の底面と同一方向となるように爪先部を付勢する付勢手段を更に設けており、広い歩幅で高速歩行を行うことができる。
【特許文献１】特開２００５−１６９５４４号公報
【特許文献２】特許３９００９５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１及び２記載の技術では、爪先関節を駆動させながら高速に歩行しようとする際に、路面凹凸や人などとの接触によって発生する外乱に対して、ロボットを安定化する技術については述べられていないものであった。また本出願人による出願（特願２００７−０２８６３号）に記載の技術では、前記がイランに対しても安定に歩行する技術を開示しているが、ロボットの制御量が不連続となることがある。ここで、不要にローパスフィルタなどを用いて制御量の連続性を確保しようとすると位相遅れが発生し、外乱に対して不安定になる場合がある。例えば、外乱によってロボットの体幹が傾いた場合には、ロボットはその傾きを戻すために必要な床反力モーメントを足平部から得ることができずに転倒する虞がある。このように従来技術では、爪先関節を駆動させながら歩行する技術と、外乱に対して安定化する技術とを両立させることができず、爪先を駆動させながら安定して歩行することができないという問題があった。
【０００７】
本発明は、かかる課題を解決するためになされたものであり、外乱に対しても、爪先関節を駆動させながら安定して歩行することができる脚式ロボット、及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る脚式ロボットは、胴体と、該胴体に連結された脚部と、該脚部の下端に設けられた足平部と、該足平部の足裏と路面との距離を検出する距離検出部と、歩容データに基づいて前記脚部の関節を駆動制御する制御部と、を備えた脚式ロボットであって、前記足平部は、爪先部と爪先関節を介して該爪先部に連結された踵部とから構成され、前記歩容データは、前記爪先部の目標位置姿勢と前記爪先関節の目標角度とを含み、前記制御部は、前記距離検出部の検出結果に基づいて、前記爪先部の目標位置姿勢を補正する爪先部補正量と、前記爪先関節の目標角度を補正する爪先関節補正量とを計算する爪先補正量計算部と、前記爪先補正量計算部により計算された爪先部補正量と爪先関節補正量とに基づいて、前記歩容データを修正する歩容データ修正部と、を備え、前記爪先補正量計算部は、前記踵部が離床している間、前記爪先関節補正量を所定の値に保持するものである。
【０００９】
このように爪先部補正量と爪先関節補正量を独立に算出し、かつ踵部が離床している間は爪先関節補正量を所定の値に保持することで、爪先関節を駆動させて、踵部が離床して爪先部により爪先立ちしている場合においても、爪先関節補正量の連続性を保証することができる。このため、無駄なローパスフィルタなどを用いて制御量の連続性を確保する必要がなく、位相遅れの発生を抑制することができる。従って、外乱に対しても、安定化に必要なモーメントを足平部から良好に得ることができ、爪先関節を駆動させながら安定して歩行することができる。
【００１０】
また、前記爪先補正量計算部は、前記爪先関節の目標角度が所定の閾値以上となる場合に、前記爪先関節補正量を所定の値に保持するようにしてもよい。このように、爪先関節の目標角度に応じて、踵部が離床しているか否かを判定することで、爪先関節の駆動の認識のみによって爪先関節補正量を保持させるように切替えることができ、良好に応答することができる。
【００１１】
さらにまた、前記爪先補正量計算部は、前記踵部が離床している間、前記踵部が離床する時点以前の爪先関節補正量のうちで直前の制御周期における爪先関節補正量を前記爪先関節補正量として保持するようにしてもよい。このように、踵部が離床している間、踵部が離床する直前の制御周期における爪先関節補正量を保持することで、爪先関節補正量の連続性を容易に保証することができる。
【００１２】
また、接地面から見た相対的な前記爪先部に前記足平部を制御するための爪先座標系を規定し、前記爪先補正量計算部は、前記距離検出部の検出結果に基づいて、前記爪先座標系における前記爪先部の目標位置姿勢と実際の位置姿勢との偏差を計算し、該偏差に所定のゲインを乗じて前記爪先部補正量を計算し、前記爪先関節の目標角度と実際の角度との偏差を計算し、該偏差に所定のゲインを乗じて前記爪先関節補正量を計算するようにしてもよい。このように、爪先部に爪先座標系を規定して、爪先座標系における爪先部補正量と、爪先関節補正量とをそれぞれ別に計算することで、踵部が離床している間、補正量計算を容易に実行することができる。
【００１３】
さらにまた、前記胴体の姿勢を検出する胴体姿勢検出部を更に備え、前記制御部は、前記胴体姿勢検出部の検出結果に基づいて、前記胴体の目標とする姿勢と実際の姿勢との偏差を計算し、前記歩容データ修正部は、当該偏差を小さくするように前記歩容データを修正するようにしてもよい。
【００１４】
また、前記脚式ロボットの重心位置を検出する重心位置検出部を更に備え、前記制御部は、前記重心位置検出部の検出結果に基づいて、前記足平部を基準とした前記脚式ロボットの目標とする重心位置と実際の重心位置との偏差を計算し、前記歩容データ修正部は、当該偏差を小さくするように前記歩容データを修正するようにしてもよい。
【００１５】
さらにまた、前記距離検出部は、前記爪先部の足裏に設けられた少なくとも４個の距離センサと、前記踵部の足裏に設けられた少なくとも２個の距離センサとの出力信号から前記足平部の足裏と路面との距離を検出するようにしてもよい。
【００１６】
本発明に係る脚式ロボットの制御方法は、胴体と、該胴体に連結された脚部と、該脚部の下端に設けられた足平部と、を備え、前記足平部は、爪先部と爪先関節を介して該爪先部に連結された踵部とから構成された脚式ロボットの制御方法であって、前記爪先部の目標位置姿勢と前記爪先関節の目標角度とを含む歩容データに基づいて、前記脚部の関節を駆動制御する制御ステップは、前記足平部の足裏と路面との距離を検出し、該検出結果に基づいて、前記爪先部の目標位置姿勢を補正する爪先部補正量と、前記爪先関節の目標角度を補正する爪先関節補正量とを計算する爪先補正量計算ステップと、前記計算された爪先部補正量と爪先関節補正量とに基づいて、前記歩容データを修正する歩容データ修正ステップと、を有し、前記爪先補正量計算ステップでは、前記爪先関節の目標角度が所定の閾値以上となる場合に、前記爪先関節補正量を所定の値に保持するものである。
【００１７】
このように、爪先関節補正量と爪先関節補正量を独立に算出し、かつ爪先関節の目標角度が所定の閾値以上となる場合に、爪先関節補正量を所定の値に保持することで、爪先関節を駆動させて、踵部が離床して爪先部により爪先立ちしている場合においても、爪先関節補正量の連続性を保証することができる。このため、無駄なローパスフィルタなどを用いて制御量の連続性を確保する必要がなく、位相遅れの発生を抑制することができる。従って、外乱に対しても、安定化に必要なモーメントを足平部から良好に得ることができ、爪先関節を駆動させながら安定して歩行する制御が可能となる。
【発明の効果】
【００１８】
本発明によれば、外乱に対しても、爪先関節を駆動させながら安定して歩行することができる脚式ロボット、及びその制御方法を提供することを目的とする。
【発明を実施するための最良の形態】
【００１９】
発明の実施の形態１．
本実施の形態１に係る脚式ロボットは、胴体と、胴体に連結された脚部と、脚部の下端に設けられた足平部と、足平部の足裏と路面との距離を検出する距離検出部と、歩容データに基づいて脚部の関節を駆動制御する制御部と、を備える。足平部は、爪先部と、爪先関節を介して爪先部に連結された踵部とから構成される。歩容データは、爪先部の目標位置姿勢と爪先関節の目標角度とを少なくとも含む。ここで、脚式ロボットの制御部は、距離検出部の検出結果に基づいて、爪先部の目標位置姿勢を補正する爪先部補正量と、爪先関節の目標角度を補正する爪先関節補正量とを計算する爪先補正量計算部と、爪先補正量計算部により計算された爪先部補正量と爪先関節補正量とに基づいて、前記歩容データを修正する歩容データ修正部と、を備える。脚式ロボットの爪先補正量計算部は、踵部が離床している間、爪先関節補正量を所定の値に保持することを特徴とする。
【００２０】
脚式ロボットの歩行動作においては、距離検出部での検出結果を用いて足平部の足裏を路面に倣わせる足裏倣い制御と、胴体姿勢検出部での検出結果を用いてロボットの姿勢を倒立させる倒立振子制御とを組み合わせることで安定化制御を実現している。本実施の形態１に係る脚式ロボットによれば、踵部が離床している間は爪先関節補正量を所定の値に保持することで、爪先関節を駆動させて、踵部が離床して爪先部により爪先立ちしている場合においても、爪先関節補正量の連続性を保証することができる。このため、無駄なローパスフィルタなどを用いて制御量の連続性を確保する必要がなく、位相遅れの発生を抑制することができる。従って、外乱に対しても、安定化に必要なモーメントを足平部から良好に得ることができ、爪先関節を駆動させながら安定して歩行することができる。
【００２１】
図１は、本実施の形態１に係る脚式ロボットの概要を示す図である。ロボット１００は、胴体１０と、胴体１０に連結された２本の脚を有する。尚、図１には、一方の脚部２０のみを示しており、他方の脚部は図示を省略している。胴体１０は、ロボット１００の動作（脚部の各関節の動作）を制御する制御部３０と、胴体の加速度を検出する加速度センサ１２と、胴体の１０の鉛直方向に対する傾斜角（姿勢角）を検出する姿勢角センサ１４を備える。
【００２２】
脚部２０は、股関節２１、膝関節２３、足首関節２５、大腿リンク２２、脛リンク２４、及び足平部としての足平リンク２６を備える。大腿リンク２２と脛リンク２４は、直線で模式化して示してある。股関節２１は、胴体１０と大腿リンク２２を揺動可能に連結している。膝関節２３は、大腿リンク２２と脛リンク２４を揺動可能に連結している。足首関節２５は、脛リンク２４と足平リンク２６を揺動可能に連結している。脚部２０の下端には足平部としての足平リンク２６が設けられる。足平リンク２６は板状の部材であり、足平リンクの裏面（足裏面）は平面となっている。
【００２３】
図２は、本実施の形態１に係るロボット１００の足平リンク２６の構成を説明するための図である。足平リンク２６は、爪先部２６ａと、爪先関節２７を介して爪先部２６ａに連結された踵部２６ｂとから構成される。ロボット１００の歩行動作中には、爪先関節２７を駆動することで、爪先部２６ａを路面に対して接地させたまま、踵部２６ｂを浮かせることができる。即ち、踵部２６ｂを浮かせたまま爪先部２６ａのみを接地させることにより、ロボット１００を直立させることができる。
【００２４】
足平リンク２６には、距離検出部としての足裏距離センサ１６が設けられている。足裏距離センサ１６は、足平リンク２６の裏面（足裏面）と接地面Ｓとの距離を検出する。図２に示すように、爪先部２６ａ及び踵部２６ｂは、上面視において、略矩形状に形成されている。爪先部２６ａの四隅近傍には、４つの足裏距離センサ１６ａ、１６ｂ、１６ｃ、１６ｄがそれぞれ設けられている。ここでは、爪先部２６ａの爪先側に２つの足裏距離センサ１６ａ及び１６ｄが、踵部方向側に２つの足裏距離センサ１６ｂ及び１６ｃが設けられている。足裏距離センサ１６ａ及び１６ｄは、爪先部２６ａの前方の所定位置における足裏面と接地面Ｓとの距離を検出し、足裏距離センサ１６ｂ及び１６ｃは、爪先部２６ａの後方の所定位置における足裏面と接地面Ｓとの距離を検出する。踵部２６ｂには、爪先部側とは反対側の二隅に２つの足裏距離センサ１６ｅ及び１６ｆがそれぞれ設けられている。足裏距離センサ１６ｅ及び１６ｆは、踵部２６ｂの後方の所定位置における足裏面と接地面Ｓとの距離を検出する。従って、足裏距離センサ１６ａ及び１６ｄが検出する距離と、足裏距離センサ１６ｂ及び１６ｃが検出する距離と、足裏距離センサ１６ｅ及び１６ｆが検出する距離との差から、足平リンク２６の足裏面の接地面Ｓに対する傾きを求めることができる。また、足平リンク２６と路面との間には着地時の衝撃を吸収するための衝撃吸収部材が設けられている。衝撃吸収部材は足裏距離センサ１６と一体的に形成される。
【００２５】
各関節には図示しないモータが内蔵されており、制御部３０からの指令に基づいて駆動される。モータを駆動することによって、関節に連結されたリンク同士を揺動させることができる。図示を省略している他方の脚部も、脚部２０と同様の構造を有する。制御部３０が２本の脚部の関節（詳細には関節角）を適宜制御することにより、ロボット１００を歩行させることができる。
【００２６】
図１においては、説明の便宜上、ロボット１００が進行する向き（前後方向）をｘ軸、ロボット１００が進行する方向に対して水平方向に直交する向き（左右方向）をｙ軸、ロボット１００の進行する平面から鉛直方向に延びる向き（上下方向）をｚ軸とし、これら３軸からなる絶対座標系を用いて説明する。即ち、図１において、ｘ軸は紙面に向かって左右方向、ｙ軸は紙面の奥行き方向、ｚ軸は紙面中の上下方向を示す。尚、ロボット１００の胴体１０に対して点Ｏｂを特定し固定する。足平リンク２６に対して点Ｏｆを特定し固定する。
【００２７】
ロボット１００は、記憶部５０に記憶されている歩容データに基づいて制御される。歩容データには、胴体１０の目標位置（目標胴体位置）、胴体１０の目標姿勢角（目標胴体姿勢角）、足平リンク２６の目標位置（目標足平位置）、足平リンク２６の目標姿勢角（目標足平姿勢角）、及び爪先関節２７の目標角度（目標爪先関節角度）のそれぞれの時系列データが含まれる。ここで、目標足平位置、及び目標足平姿勢角として、爪先部２６ａの目標位置姿勢角（目標爪先位置、目標爪先姿勢角）または踵部２６ｂの目標位置姿勢角（目標踵位置、目標踵姿勢角）のどちらか一方の位置及び姿勢角を用いればよい。
【００２８】
歩容データは、シミュレーション等によってロボット１００を安定して歩行させることができるように作成されている。即ち、目標胴体位置、目標胴体姿勢角、目標足平位置、目標足平姿勢角、及び目標爪先関節角度は、ロボット１００のＺＭＰ位置が接地面に接地した足裏で囲まれた凸包内となる関係を満足するように設定されている。作成された歩容データは、ロボット１００の記憶部５０に記憶される。後述するように、制御部３０は、歩容データに含まれる目標胴体位置等に実胴体位置等を一致させるように各関節を制御する。
【００２９】
目標胴体位置は、絶対座標系に対する特定点Ｏｂの位置で表される。特定点Ｏｂを原点とする胴体座標系を用いる場合には、目標胴体姿勢角は、絶対座標系に対する胴体座標系の傾きで表される。実胴体姿勢角は、胴体１０に備えられた姿勢角センサ１４によって検出することができる。目標足平位置は、絶対座標系に対する特定点Ｏｆの位置で表される。目標足平姿勢角は、接地面に対する足裏面の角度で表される。特定点Ｏｆを原点とする足平座標系を用いる場合には、目標足平姿勢角は、絶対座標系に対する足平座標系の傾きで表してもよい。実足平姿勢角は、後述するように、足平リンク２６に備えられた足裏距離センサ１６によって検出することができる。
【００３０】
図３は、本実施の形態１に係るロボット１００の制御座標系の構成を説明するための図である。本実施の形態１に係るロボット１００では、足平リンク２６を制御するための制御座標系を爪先部２６ａに規定する。即ち、図３（ａ）に示すように、特定点Ｏｆを爪先部２６ａに設け、特定点Ｏｆを原点とする爪先座標系を用いて足平リンク２６の制御を行う。歩容データについて、足平リンク２６の目標足平位置と目標足平姿勢角とに基づいて、目標爪先位置、目標爪先姿勢角、及び目標爪先関節角度とが予め求められ、記憶部５０に記憶される。足平リンク２６の制御において、爪先関節角度を用いて爪先部２６ａの位置姿勢が踵部２６ｂの位置姿勢へと変換された後、逆キネマティクスにより各関節の目標角度が求められる。尚、図３（ｂ）に示すように、踵部２６ｂに相当する足平リンク２６の後方部に特定点Ｏｆを設けた場合には、目標胴体位置及び目標胴体姿勢角の時系列データを含む腰座標系の目標軌道と、目標足平位置及び目標足平姿勢角の時系列データを含む足先座標系の目標軌道とから、逆キネマティクスにより各関節の目標角度を求めることで制御を行う。
【００３１】
続いて、本実施の形態１に係るロボット１００の制御システム１の詳細について説明する。制御システム１は、倒立制御を実行すると共に、足裏倣い制御を実行する。倒立制御は、実胴体位置及び姿勢角を目標胴体位置及び姿勢角に一致する制御である。尚、胴体姿勢角の代わりに重心位置を用いてもよい。足裏倣い制御は、接地面から見た相対的な実足平位置及び実足平姿勢角をそれぞれ目標足平位置及び目標足平姿勢角に一致する制御である。
【００３２】
図４は、制御システム１の機能構成を示す機能ブロック図である。制御システム１は、制御部３０と、記憶部５０と、姿勢角センサ１４と、モータ１５と、足裏距離センサ１６等を有している。
【００３３】
記憶部５０には、歩容データ５１及び路面ノミナル位置・傾斜情報５２が記憶されている。歩容データ５１は、目標胴体位置、目標胴体姿勢角、目標足平位置、目標足平姿勢角、及び爪先関節２７の目標角度の時系列データを含む。ここで、目標足平位置として爪先位置または目標踵位置を、目標足平姿勢角として目標爪先姿勢角または目標踵姿勢角のどちらか一方をそれぞれ用いればよい。歩容データ上で足裏が接地面と接触するときは、足裏面と接地面を面接触状態とするため、目標足平姿勢角（仮想的な接地面に対する仮想的な足裏面の傾き）はゼロに設定されている。また、歩容データ上の各目標値は、ロボット１００のＺＭＰ位置が接地している脚の足裏で囲まれた凸包内となる関係を満たすように決定されている。路面ノミナル位置・傾斜情報５２は、ロボット１００が移動する路面の存在情報であり、路面の位置・傾斜に関する基準値を示す。
【００３４】
制御部３０は、記憶部５０に記憶された歩容データ５１等を読み出すと共に、読み出した歩容データ５１等によって特定されるロボット１００の姿勢を実現するために必要な脚部２０の関節角を算出する。そして、このように算出した関節角に基づく信号をモータ１５に送信する。また、制御部３０は、センサからの信号を受けて、モータの駆動量を調整する。
【００３５】
より詳細には、制御部３０は、足裏倣い制御部６１と、倒立制御部６２と、関節角変換部６３と、各軸制御器６４と、を備える。制御部３０内では、実胴体姿勢角と目標胴体姿勢角の偏差に基づくフィードバック制御系（倒立制御部６２による倒立制御系）と、接地面から見た相対的な実足平姿勢角と目標足平姿勢角の偏差に基づくフィードバック制御系（足裏倣い制御部６１による倣い制御系）が含まれる。以後、足裏倣い制御の偏差については、接地面から見た相対的な足平姿勢角に関するものを示すものとする。
【００３６】
足裏倣い制御部６１は、実足平姿勢角を目標足平姿勢角に一致させるように、例えば足裏が接地面に密着している状態を目標として、踵側が接地面から浮いている場合には、足平リンク２６の爪先側を脛リンク２４に近づける方向に足平リンク２６を回転させる。即ち、足裏面と接地面との面接触を維持するように足平リンク２６を回転させる。実足平姿勢角は、足平リンク２６が備える足裏距離センサ１６ａ、１６ｂ、１６ｃ、１６ｄの出力値から求められる。尚、足裏倣い制御部６１の詳細については後述する。
【００３７】
倒立制御部６２は、ロボット１００の胴体位置姿勢を目標位置姿勢に維持する機能を果たす。胴体位置姿勢は、実際の胴体位置と胴体姿勢角であり、目標位置姿勢は、目標の胴体位置と胴体姿勢角である。実胴体姿勢角は、胴体１０に備えられた姿勢角センサ１４で検出される。姿勢角センサ１４は、例えば胴体１０の角速度を検出するジャイロと、ジャイロの出力（角速度）を積分する積分器と、重力加速度ベクトルを検出する３軸加速度センサで構成される。尚、倒立制御部６２の詳細については後述する。
【００３８】
また、制御部３０は図示しない爪先補正量計算部と歩容データ修正部を備える。爪先補正量計算部は、爪先部２６ａの位置姿勢と爪先関節２７の角度について、まず、足裏距離センサ１６の出力値と追従すべき目標値との偏差を計算し、歩容データを修正するための爪先補正量（爪先部補正量及び爪先関節補正量）を計算する。歩容データ修正部は、爪先補正量計算部で計算された爪先部補正量と、後述する倣い制御目標値補正量とから足先目標値補正量を計算する。そして、足先目標値補正量に基づいて、足裏と路面との位置関係が目標値に追従するように歩容データを修正する。
【００３９】
より詳細には、以下のようにして記憶部５０に記憶された歩容データ（目標胴体位置、目標胴体姿勢角、目標爪先位置、目標爪先姿勢角、及び目標爪先関節角度の時系列データ）が修正され、関節角変換部６３に入力される。図３においては、胴体位置姿勢目標値は、目標胴体位置及び目標胴体姿勢角の時系列データを含む。また、爪先位置姿勢目標値は、目標爪先位置及び目標爪先姿勢角の時系列データを含む。爪先関節角度目標値は、目標爪先関節角度の時系列データを含む。また、目標爪先位置及び目標爪先姿勢角の代わりに、目標踵位置及び目標踵姿勢角を用いてもよい。
【００４０】
記憶部５０に記憶された目標胴体位置は、目標胴体加速度と実胴体加速度の偏差に基づいて補正された後に関節角変換部６３に入力される。目標胴体加速度は、目標胴体位置を２回微分することによって求められる。実胴体加速度は、加速度センサ１２により検出される。
【００４１】
記憶部５０に記憶された目標爪先位置は、目標爪先位置と実足爪先位置の偏差に基づいて補正された後に関節角変換部６３に入力される。実爪先位置は、足裏距離センサ１６により検出される。
【００４２】
記憶部５０に記憶された目標胴体姿勢角は、そのまま関節角変換部６３に入力される。同時に、目標胴体姿勢角と実胴体姿勢角の偏差（胴体姿勢角偏差）が求められる。胴体姿勢角偏差は倒立制御部６２に入力されて、胴体姿勢角偏差を小さくする方向に胴体を回転させる胴体補正角が算出される。実胴体姿勢角は、姿勢角センサ１４により検出される。尚、図３においては、胴体補正角は足裏倣い制御部６１における補正量となるため、胴体補正角を倣い制御目標値補正量という。
【００４３】
記憶部５０に記憶された目標爪先姿勢角と実爪先姿勢角の偏差（爪先姿勢角偏差）が求められる。実爪先姿勢角は、足裏距離センサ１６により検出される。また、記憶部５０に記憶された目標爪先関節角度と実爪先関節角度の偏差（爪先関節角度偏差）が求められる。実爪先関節角度は、足裏距離センサ１６により検出される。足裏倣い制御部６１によって、入力された角度（爪先姿勢角偏差と、爪先関節角度偏差と、胴体補正角とを加算した角度）を小さくする方向へ足平を回転させる足平補正角が求められる。記憶部５０に記憶された目標爪先姿勢角は、上述した足平補正角が加算された後に（足平補正角で補正された後に）関節角変換部６３に入力される。尚、図３においては、足平補正角を足先目標値補正量という。
【００４４】
関節角変換部６３には、以上のようにして修正された歩容データが入力される。これらの値から、関節角変換部６３では、逆キネマティクスの演算によって脚部２０の各関節の目標関節角が算出される。ここで、それぞれの目標値は、絶対座標系に対する値で表されている。関節角変換部６３では、目標爪先位置と目標胴体位置の差から爪先と胴体の相対位置を計算し、目標爪先姿勢角（足平補正角によって補正されている）と目標胴体姿勢角の差から爪先と胴体の相対回転角を計算する。計算された相対位置と相対回転角を実現する目標関節角が算出される。
【００４５】
各軸制御器６４は、関節角変換部６３により送信された目標関節角の信号に基づいて、脚部２０を駆動するための各モータ１５の駆動量を特定し、これらの駆動量でモータ１５を駆動させるためのモータ駆動信号を各モータに送信する。これによって、脚部２０の各関節における駆動量が変更され、ロボット１００の動きが制御される。
【００４６】
続いて、図５を参照しながら、本実施の形態１に係る倒立制御部６２について詳細に説明する。図５は、倒立制御部６２の機能構成を示す機能ブロック図である。図５に示すように、倒立制御部６２は、姿勢偏差計算部６２１と、コントローラ６２２と、リミッタ６２３と、を有する。
【００４７】
倒立制御部６２は、まず、姿勢偏差計算部６２１において、胴体姿勢目標値（胴体の目標姿勢）と、胴体姿勢計測値（姿勢角センサ１４により検出した実姿勢）との偏差を計算する。そして、計算した胴体の姿勢偏差に基づき、所定のコントローラ６２２によって、足裏倣い制御で使用する足裏と路面との目標相対位置・目標相対姿勢の補正量を計算する。
【００４８】
次いで、倒立制御部６２は、足裏距離センサ１６の出力値に基づき、足裏が路面から剥がれたか否かを判定する。判定の結果、足裏が路面から剥がれていない場合には、計算された目標相対位置・目標相対姿勢に対して補正を行わずに、倣い制御目標値補正量として出力する。一方で、足裏が路面から剥がれた場合には、リミッタ６２３を介して、計算した補正量を制限する。即ち、リミッタ６２３は、目標相対位置・目標相対姿勢の補正量の大きさに制限を加えるものである。リミッタ６２３は、入力された補正量の大きさが許容範囲内を超えているときに、許容限界の値を出力する。このリミッタ６２３を設けることで、足裏倣い制御部６１に入力される倣い制御目標値補正量を制限する。これによって、倣い制御系（足裏倣い制御部６１）が倒立制御系（倒立制御部６２）よりも優勢に作用することを保証する。従って、倣い制御系が優勢に作用して、足裏面が接地面と面接触することを保証することができる。
【００４９】
次いで、倒立制御部６２は、計算された補正量に基づいて、胴体の姿勢偏差を小さくする方向へ、足裏と路面との目標相対位置・目標相対姿勢を補正する。補正された目標相対位置・目標相対姿勢を倣い制御目標値補正量として足裏倣い制御部６１へと出力する。
【００５０】
続いて、図６乃至９を参照しながら、本実施の形態１に係る足裏倣い制御部６１について詳細に説明する。図６は、足裏倣い制御部６１の機能構成を示す機能ブロック図である。図７は、足裏倣い制御部６１による制御処理の概要を説明するためのフローチャートである。図８は、足平リンク２６の偏差を説明するための図である。図９は、爪先関節２７を駆動させながら歩行する様子を例示する図である。図６に示すように、足裏倣い制御部６１は、距離センサ目標値計算部６１１と、差分器６１２と、爪先偏差計算部６１３と、加算器６１４と、補償器６１５を有する。
【００５１】
足裏倣い制御部６１は、まず、爪先関節角度目標値が所定の閾値以上であるか否かを判定する（ステップＳ１０１）。判定の結果、爪先関節角度目標値が所定の閾値より小さい場合には、踵部２６ｂは離床していないものと認識し、足裏倣い制御部６１は、足裏距離センサ１６の検出結果に基づいて、爪先部２６ａに規定した座標系における爪先位置姿勢目標値と実爪先位置姿勢との偏差（爪先位置姿勢偏差）と、目標爪先関節角度と実爪先関節角度の偏差（爪先関節角度偏差）とを、それぞれ独立に計算する（ステップＳ１０２）。
【００５２】
以下、爪先位置姿勢偏差及び爪先関節角度偏差の計算方法について詳細に説明する。まず、足裏倣い制御部６１は、距離センサ目標値計算部６１１において、歩容データ５１に含まれる爪先位置姿勢目標値（目標爪先位置・姿勢角の軌道）と、路面の存在情報である路面のノミナル位置・傾斜情報５２とから、足裏距離センサ１６の高さ目標値を計算する。言い換えると、爪先部２６ａの目標位置・姿勢角を示す軌道データと、爪先部２６ａが実際に着地する地点（ノミナル位置・傾斜）とから、足裏距離センサ１６の目標とする時系列値を計算する。即ち、目標とする足裏距離センサ１６の出力値を計算する。尚、ノミナル位置・傾斜に代えて、ロボット１００の一歩分の着地位置から足平リンク２６の着地位置・姿勢を計算することで、目標とする足裏距離センサ１６の出力値を計算するようにしてもよい。
【００５３】
次いで、足裏倣い制御部６１は、計算した足裏距離センサ１６の目標値と、足裏距離センサ１６によって実際に計測された計測値とから、足裏距離センサ１６の偏差を差分器６１２により計算する。そして、爪先偏差計算部６１３において、計算した足裏距離センサ１６の偏差から、爪先部２６ａの足裏と路面との相対位置偏差・相対姿勢偏差を計算する。また、爪先偏差計算部６１３において、計算した足裏距離センサ１６の偏差とから、爪先関節角度偏差を計算する。
【００５４】
図８（ａ）は、爪先関節角度目標値が所定の閾値以下となる場合を示す例であり（図に示す例では、爪先関節角度目標値が略０であり、足平リンク２６全体が路面に倣っている状態）、足裏倣い制御部６１は、足裏距離センサ１６の偏差から、爪先位置姿勢偏差及び爪先関節角度偏差を計算する。尚、爪先座標系における爪先位置姿勢偏差（ロール、ピッチ、ｚ）を（Ψｔ，θｔ，Ｚｔ）として表す。Ｚｔは鉛直方向における測定高さに関する偏差を示す。爪先関節角度偏差をθｔｏｅとして表す。
【００５５】
爪先位置姿勢偏差（Ψｔ，θｔ，Ｚｔ）については、爪先部２６ａの足裏に設けられた４つの足裏距離センサ１６ａ乃至１６ｄの出力結果に基づいて計算する。より詳細には、足裏と足裏距離センサ１６が配置される位置の幾何学的関係から近似を用いて、各足裏距離センサ１６ａ乃至１６ｄの出力値の偏差（Δｚ１，Δｚ２，Δｚ３，Δｚ４）と、各足裏距離センサ１６の偏差に対応する変換行列とから、爪先位置姿勢偏差（Ψｔ，θｔ，Ｚｔ）を一意に決定することができる。
【００５６】
また、爪先関節角度偏差θｔｏｅについては、爪先部２６ａの足裏に設けられた４つの足裏距離センサ１６ａ乃至１６ｄと、踵部２６ｂの足裏に設けられた２つの足裏距離センサ１６ｅ及び１６ｆとの出力結果に基づいて計算する。より詳細には、足裏と足裏距離センサ１６が配置される位置の幾何学的関係から近似を用いて、各足裏距離センサ１６ａ乃至１６ｆの出力値の偏差（Δｚ１，Δｚ２，Δｚ３，Δｚ４，Δｚ５，Δｚ６）と、各足裏距離センサ１６の偏差に対応する変換行列とから、爪先関節角度偏差θｔｏｅを一意に決定することができる。
【００５７】
図７に戻って説明を続ける。足裏倣い制御部６１は、ステップＳ１０２で計算した各偏差から、爪先位置姿勢偏差から爪先部補正量を計算すると共に、爪先関節角度偏差から爪先関節補正量をそれぞれ計算する（ステップＳ１０３）。次いで、計算された爪先補正量を含む足先目標値補正量を実現するように歩容データを修正する（ステップＳ１０４）。より詳細には、足裏倣い制御部６１において、補償器６１５において、所定の伝達関数を用いて、爪先位置姿勢偏差から爪先部補正量を計算すると共に、爪先関節角度偏差から爪先関節補正量をそれぞれ計算する。ここで、倒立制御部６２からの出力である倣い制御目標値補正量が、爪先位置姿勢偏差に加算器６１４により加算され、加算された結果が、補償器６１５に入力される。倣い制御目標値補正量は、爪先関節角度偏差に加算器６１４により加算され、加算された結果が、補償器６１５に入力される。補償器６１５において、所定の伝達関数を用いて、倣い制御目標値補正量が加算された爪先位置姿勢偏差から爪先部補正量を計算すると共に、倣い制御目標値補正量が加算された爪先関節角度偏差から爪先関節補正量をそれぞれ計算する。計算された爪先補正量（爪先部補正量及び爪先関節補正量）を含む補正量を足先目標値補正量として出力し、足先目標値補正量により、偏差が小さくなるように爪先部２６ａの目標位置姿勢及び爪先関節２７の目標角度を補正する。
【００５８】
一方、ステップＳ１０１における判定の結果、爪先関節角度目標値が所定の閾値以上である場合には、踵部２６ｂが離床しているものと認識し、足裏倣い制御部６１は、上述したようにして、足裏距離センサ１６の検出結果に基づいて、爪先位置姿勢偏差を計算する（ステップＳ１０５）。次いで、足裏倣い制御部６１は、ステップＳ１０５で計算した爪先位置姿勢偏差から、実際に歩容データを補正するための爪先部補正量を計算する（ステップＳ１０６）。
【００５９】
次いで、足裏倣い制御部６１は、足裏距離センサ１６の偏差から爪先関節角度偏差を新たに計算せずに、所定の値を爪先関節補正量として保持する（ステップＳ１０７）。このため、踵部２６ｂが離床している間は、爪先関節角度偏差を計算せず、爪先関節補正量は変化せずに一定となる。このように、爪先関節２７の目標角度に応じて、踵部２６ｂが離床しているか否かを判定することで、爪先関節２７の駆動の認識のみによって爪先関節補正量を保持させるように切替えることができ、良好に応答することができる。
【００６０】
尚、踵部２６ｂが離床しているか否かの判定は爪先関節２７の駆動の認識に応じて実施する構成に限定されず、例えば、爪先関節２７の目標角度に応じて踵部２６ｂが離床する期間を予め求めて記憶しておき、その離床期間内において、所定の値を爪先関節補正量として保持させるようにしてもよい。
【００６１】
図８（ｂ）は、爪先関節角度目標値が所定の閾値より小さくなる場合を示す例であり（図に示す例では、踵部２６ｂが離床した状態）、足裏倣い制御部６１は、足裏距離センサ１６の偏差から、爪先位置姿勢偏差のみを計算し、爪先関節角度偏差については計算を行わず、所定の値を爪先関節補正量として保持する。尚、爪先関節角度偏差θｔｏｅを新たに計算しない場合における、所定の定数値をｃｏｎｓｔとして表す。
【００６２】
爪先位置姿勢偏差（Ψｔ，θｔ，Ｚｔ）については、上述したようにして、爪先部２６ａの足裏に設けられた４つの足裏距離センサ１６ａ乃至１６ｄの出力結果に基づいて計算する。
【００６３】
一方で、爪先関節角度偏差θｔｏｅについては、足裏距離センサ１６の出力結果に基づいて新たに偏差を計算せず（即ち、θｔｏｅ＝ｃｏｎｓｔと設定し）、踵部２６ｂが離床している間は、例えば、踵部２６ｂが離床する時点以前の爪先関節補正量のうちで直前の制御周期における爪先関節補正量を爪先関節補正量として保持する。このように、踵部２６ｂが離床している間、踵部２６ｂが離床する直前の制御周期における爪先関節補正量を保持することで、爪先関節補正量の連続性を容易に保証することができる。
【００６４】
図９は、本実施の形態１に係る脚式ロボット１００が、爪先関節２７を駆動させながら歩行する様子を例示する図である。図に示すように、支持脚期の後半から、踵部２６ｂを路面から浮かせるように爪先関節２７を駆動させることで、歩行時の歩幅を大きくすることができ、高速に歩行しやすくなる。駆動させた爪先関節角度は遊脚期の途中において元に戻し、足平リンク２６が路面に着床する際には、踵部２６ｂから着床するように制御する。図８に示す例では、図８（ｂ）及び（ｃ）に示す支持脚期の後半において、爪先関節角度目標値が所定の閾値以上となり、爪先関節補正量を所定の値に保持する。そして、図８（ｄ）から（ｅ）に示す期間にかけて、爪先関節角度偏差を所定の定数に設定することで爪先関節補正量を０とし、駆動させた爪先関節角度を元に戻すように制御する。
【００６５】
以上説明したように、本実施の形態１に係る脚式ロボット１００は、その脚部２０の下端に設けられた足平部２６は、爪先部２６ａと、爪先関節２７を介して爪先部２６ａに連結された踵部２６ｂとから構成される。脚部２０の関節を駆動制御するための歩容データは、爪先部２６ａの目標位置姿勢と爪先関節の目標角度とを少なくとも含む。ここで、脚式ロボット１００の制御部３０は、足裏距離センサ１６の検出結果に基づいて、爪先部２６ａの目標位置姿勢を補正する爪先部補正量と、爪先関節２７の目標角度を補正する爪先関節補正量とを計算すると共に、計算された爪先部補正量と爪先関節補正量とに基づいて、歩容データを修正する。脚式ロボット１００の制御部３０は、踵部２６ｂが離床している間、爪先関節補正量を所定の値に保持することを特徴とする。
【００６６】
本実施の形態１に係る脚式ロボット１００によれば、爪先部補正量と爪先関節補正量を独立に算出し、かつ踵部２６ｂが離床している間は爪先関節補正量を所定の値に保持することで、爪先関節２７を駆動させて、踵部２６ｂが離床して爪先部２６ａにより爪先立ちしている場合においても、爪先関節補正量の連続性を保証することができる。このため、無駄なローパスフィルタなどを用いて制御量の連続性を確保する必要がなく、位相遅れの発生を抑制することができる。従って、外乱に対しても、安定化に必要なモーメントを足平部から良好に得ることができ、爪先関節２７を駆動させながら安定して歩行することができる。
【００６７】
その他の実施の形態．
上述した実施の形態においては、ロボット１００は２本の脚を備えるものとしたが本発明はこれに限定されない。少なくとも２本以上の脚を有し、それぞれの脚の下端には足平部が設けられ、足平部の足裏には少なくとも３個以上の距離センサを備える脚式ロボットに対しても、本発明を適用することができる。
【００６８】
尚、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【００６９】
【図１】本発明の実施の形態１に係る脚式ロボットの構成図である。
【図２】本発明の実施の形態１に係る脚式ロボットの足平リンクの構成図である。
【図３】本発明の実施の形態１に係る脚式ロボットの制御座標系の構成を説明するための図である。
【図４】本発明の実施の形態１に係る脚式ロボットの構成を示す機能ブロック図である。
【図５】本発明の実施の形態１に係る脚式ロボットの倒立制御部の構成を示す機能ブロック図である。
【図６】本発明の実施の形態１に係る脚式ロボットの足裏倣い制御部の構成を示す機能ブロック図である。
【図７】本発明の実施の形態１に係る脚式ロボットの制御部が行う処理を示すフローチャートである。
【図８】本発明の実施の形態１に係る脚式ロボットの足平リンクの偏差を説明するための図である。
【図９】本発明の実施の形態１に係る脚式ロボットが、爪先関節を駆動させながら歩行する様子を例示する図である。
【符号の説明】
【００７０】
１  制御システム、
１０  胴体、
１２  加速度センサ、１４  姿勢角センサ、１５  モータ、１６  距離センサ
２０  脚部、２１  股関節、２２  大腿リンク、２３  膝関節、２４  脛リンク、
２５  足首関節、２６  足平リンク、２６ａ  爪先部、２６ｂ  踵部、２７  爪先関節、
３０  制御部、５０  記憶部、
５１  歩容データ、５２  路面ノミナル位置・傾斜、
６０  演算処理部、６１  倣い制御部、６２  倒立制御部、６３  関節角変換部、
６４  各軸制御器、
６１１  距離センサ目標値計算部、６１３  爪先偏差計算部、６１５  補償器、
６２１  姿勢偏差計算部、６２２  コントローラ、６２３  リミッタ、
１００  ロボット
【図１】
2009184034.tif 000003
【図２】
2009184034.tif 000004
【図３】
2009184034.tif 000005
【図４】
2009184034.tif 000006
【図５】
2009184034.tif 000007
【図６】
2009184034.tif 000008
【図７】
2009184034.tif 000009
【図８】
2009184034.tif 000010
【図９】
2009184034.tif 000011