(57)【要約】【課題】歩行動作中において、関節を駆動するアクチュエータの過負荷に対する負荷を吸収して、故障を未然に防止する二足歩行ロボットの制御方法を提供する。【解決手段】脚リンク３０，４０は、膝関節３４，４４および足首関節３７，４７に可動関節部を有し、可動関節部を駆動するアクチュエータと、アクチュエータの負荷率を検出する負荷率検出手段と、足裏においてＺＭＰの位置を検出するＺＭＰ検出手段を備え、立脚側の膝関節３４，４４を駆動するアクチュエータの負荷率が、足首関節３７，４７を駆動するアクチュエータの負荷率より大きいときに、ＺＭＰの位置を膝関節３４，４４の鉛直下寄りの方向に移動させるように姿勢変更し、立脚側の膝関節３４，４４を駆動するアクチュエータの負荷率が、足首関節３７，４７を駆動するアクチュエータの負荷率より小さいときに、ＺＭＰの位置を足首関節３７，４７寄りの方向に移動させるように姿勢変更する。【選択図】図５
2016117114.tif 000002
【特許請求の範囲】
【請求項１】
基体と、前記基体に連結される二本の脚リンクと、前記脚リンクのそれぞれの先端に連結される足部を備え、前記脚リンクを駆動し、所定の歩容データに基づいて、前記足部の足裏を床面上に配置することで歩行動作をおこなう二足歩行ロボットの制御方法において、
前記脚リンクは、膝関節および足首関節に可動関節部を有し、前記可動関節部を駆動するアクチュエータと、前記アクチュエータの負荷率を検出する負荷率検出手段と、
前記足裏においてＺＭＰの位置を検出するＺＭＰ検出手段を備え、
立脚側の前記膝関節を駆動するアクチュエータの負荷率が、前記足首関節を駆動するアクチュエータの負荷率より大きいときに、前記足裏におけるＺＭＰの位置を前記膝関節の鉛直下寄りの方向に移動させるように姿勢変更し、
立脚側の前記膝関節を駆動するアクチュエータの負荷率が、前記足首関節を駆動するアクチュエータの負荷率より小さいときに、前記足裏におけるＺＭＰの位置を前記足首関節寄りの方向に移動させるように姿勢変更することを特徴とする二足歩行ロボットの制御方法。
【請求項２】
請求項１に記載する二足歩行ロボットの制御方法であって、
前記アクチュエータは、サーボモータからなり、前記負荷率は、前記サーボモータの定格電流値に対する供給電流値の比率であることを特徴とする二足歩行ロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二足歩行ロボットの制御方法に関する。
【背景技術】
【０００２】
従来、基体と、基体に連結される二本の脚リンクと、脚リンクのそれぞれの先端に連結される足部を備え、脚リンクを駆動し、所定の歩容データに基づいて、足部の足裏を床面上に配置することで、歩行動作をおこなう二足歩行ロボットがある。この二足歩行ロボットは、まず、脚リンクの足部の足裏を床面に接触させて立脚とし、その後に足部の足裏で床面を押して脚リンク全体、すなわちロボット全体を上げるように脚リンクを駆動することで、次の歩行動作をおこなう。駆動された脚リンクは遊脚となる一方、他方の脚リンクが立脚となる。このように、遊脚と立脚とを交互に繰り返して切り換えることで、歩行動作をおこなうことが可能になる。
【０００３】
歩行動作を安定しておこなうには、ロボット全体の重心位置を制御して、脚リンクを駆動する必要がある。二足歩行ロボットの場合、歩行する床面に接地する立脚の足裏の接地面内に、ロボットに作用する重力や床反力や慣性力の合力によるモーメントがゼロになる点であるＺＭＰ（ゼロモーメント・ポイント）を位置させるようにすることで、安定した歩容データを作成することができる。また、各関節を駆動するアクチュエータの追従性がよく、脚リンクや関節などのメカ剛性が十分に高い場合には、歩容データに対して良好に追従して、安定した歩行動作が可能となる。
【０００４】
このような二足歩行ロボットであっても、歩行動作によっては各関節を駆動するアクチュエータに負荷がかかり過ぎて、故障して停止してしまう場合がある。例えば、特許文献１には、関節を駆動するアクチュエータであるモータの過負荷に対する負荷を吸収するため、各モータの過負荷やトルクの累積を検出して故障を防止する二足歩行ロボットの制御方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２７２４７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の二足歩行ロボットの制御方法は、歩行動作中には使用することができないため、歩行動作中において、関節を駆動するモータが過負荷となって故障する場合があるという問題があった。
【０００７】
本発明は、上記問題点を解決するためになされたものであって、その目的は、歩行動作中において、関節を駆動するアクチュエータの過負荷に対する負荷を吸収して、故障を未然に防止する二足歩行ロボットの制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
請求項１に係わる発明は、基体と、前記基体に連結される二本の脚リンクと、前記脚リンクのそれぞれの先端に連結される足部を備え、前記脚リンクを駆動し、所定の歩容データに基づいて、前記足部の足裏を床面上に配置することで歩行動作をおこなう二足歩行ロボットの制御方法において、前記脚リンクは、膝関節および足首関節に可動関節部を有し、前記可動関節部を駆動するアクチュエータと、前記アクチュエータの負荷率を検出する負荷率検出手段と、前記足裏においてＺＭＰの位置を検出するＺＭＰ検出手段を備え、立脚側の前記膝関節を駆動するアクチュエータの負荷率が、前記足首関節を駆動するアクチュエータの負荷率より大きいときに、前記足裏におけるＺＭＰの位置を前記膝関節の鉛直下寄りの方向に移動させるように姿勢変更し、立脚側の前記膝関節を駆動するアクチュエータの負荷率が、前記足首関節を駆動するアクチュエータの負荷率より小さいときに、前記足裏におけるＺＭＰの位置を前記足首関節寄りの方向に移動させるように姿勢変更することを特徴とする。
【０００９】
上記のように構成した請求項１の発明によれば、立脚側の膝関節を駆動するアクチュエータの負荷率と足首関節を駆動するアクチュエータの負荷率を比較して、膝関節を駆動するアクチュエータの負荷率のほうが大きい場合、足裏におけるＺＭＰの位置を膝関節の鉛直下寄りの方向に移動させるように姿勢変更する。これにより、膝関節を駆動するアクチュエータの負荷は減少し、足首関節を駆動するアクチュエータの負荷が増大する。また、足首関節を駆動するアクチュエータの負荷率のほうが大きい場合、足裏におけるＺＭＰの位置を足首関節寄りの方向に移動させるように姿勢変化する。これにより、足首関節を駆動するアクチュエータの負荷は減少し、膝関節を駆動するアクチュエータの負荷が増大する。このように、ロボットの歩行動作中に姿勢変更をおこなうことで、立脚側の足裏におけるＺＭＰを移動させ、膝関節または足首関節のどちらか一方へかかるアクチュエータの負荷を軽減することができる。したがって、歩行動作中において、関節を駆動するアクチュエータの過負荷に対する負荷を吸収して、過負荷にともなう故障を未然に防止することができる。
【００１０】
請求項２に係わる発明は、前記アクチュエータは、サーボモータからなり、前記負荷率は、前記サーボモータの定格電流値に対する供給電流値の比率であることを特徴とする。
【００１１】
上記のように構成した請求項２の発明によれば、各関節を駆動するアクチュエータであるサーボモータの負荷率を、各モータの定格電流値に対する供給電流値の比率とすることで、容易に負荷率を求めることができ、過負荷を適切に判断することができる。
【発明の効果】
【００１２】
本発明によれば、歩行動作中において、関節を駆動するアクチュエータの過負荷に対する負荷を吸収して、故障を未然に防止する二足歩行ロボットの制御方法を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係わる二足歩行ロボットを模式的に示す図である。
【図２】図１の制御装置の構成を示すブロック図である。
【図３】図２の姿勢変更量計算装置の構成を示すブロック図である。
【図４】足首関節におけるトルクとＺＭＰの関係を示す説明図である。
【図５】ＺＭＰ操作による姿勢変化を示す説明図である。
【図６】ＺＭＰ操作による姿勢変化を示す説明図である。
【図７】歩行動作の制御方法の流れを示す説明図である。
【図８】姿勢変更量算出処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態に係わる二足歩行ロボットを図面にしたがって説明する。
図１に示すように、ロボット６は、基体１１と、基体１１の腰部１２に連結される左脚リンク３０と右脚リンク４０と、それぞれ二本の脚リンクの先端に連結される足部３８，４８を備えている。本実施形態では、ロボット６の歩行方向をＸ軸、体側方向をＹ軸、高さ方向をＺ軸としている。ＸＹ平面は水平面であり、Ｚ軸方向は鉛直方向である。
【００１５】
左脚リンク３０は、左大腿部３２と、左下腿部３６と、左大腿部３２と左下腿部３６を連結する可動関節部である左膝関節３４を備えている。左脚リンク３０の基端は、可動関節部である左股関節３１を介して基体１１の腰部１２に連結されている。左脚リンク３０の先端には、可動関節部である左足首関節３７を介して左足部３８が連結されている。
【００１６】
右脚リンク４０は、左脚リンク３０と対称の関係となるように構成されている。右脚リンク４０は、右大腿部４２と、右下腿部４６、右大腿部４２と右下腿部４６を連結する可動関節部である右膝関節４４を備えている。右脚リンク４０の基端は、可動関節部である右股関節４１を介して基体１１の腰部１２に連結されている。右脚リンク４０の先端には、可動関節部である右足首関節４７を介して右足部４８が連結されている。
【００１７】
ロボット６は、各関節を駆動するアクチュエータであるサーボモータ（以下モータ）を備えている。これらのアクチュエータは、制御装置１４によって制御される。
【００１８】
ロボット６は、実際の歩行動作の状態を検出するための各種センサを備えている。各種センサは、各関節の関節角度を検出するためのエンコーダ、加速度センサ、足裏圧力センサ、ジャイロセンサ等である。また、左足部３８および右足部４８の足裏には、６軸力センサを備えている。
【００１９】
図１に示すように、ロボット６は、右足部４８が床面に接地している間に左脚リンク３０を遊脚として左足部３８を軌道７のように移動させ、左足部３８が床面に接地すると、今度は右脚リンク４０を遊脚として右足部４８を軌道８のように移動させる。以下同様に、左足部３８を軌道９のように移動させ、次に右足部４８を軌道１０のように移動させることにより、歩行動作を続ける。
【００２０】
ロボット６は、歩行動作をするのに歩容データを必要とする。この歩容データは、歩容データ作成装置によって作成され、ロボット６に記憶される。
【００２１】
ここで、歩容データの作成方法について説明する。
歩容データ作成装置により、足先目標位置データを教示すると、歩容データ作成装置は、教示された足先目標位置データと、ロボット６のモデル情報に基づいて、腰部１２の動作を記述する腰部目標位置データを作成する。
【００２２】
歩容データは、左足部３８の目標位置と姿勢を記述する左足目標位置データ、右足部４８の目標位置と姿勢を記述する右足目標位置データ、腰部１２の目標位置と姿勢を記述する腰部目標位置データや、目標ＺＭＰデータ等を備えている。
【００２３】
腰部目標位置データは、腰部１２の位置を代表点の位置ＰＷで記述し、腰部１２の姿勢を腰部１２の姿勢角で記述している。左足目標位置データは、左足部３８の位置を代表点の位置ＰＬで記述し、左足部３８の姿勢を左足部３８の姿勢角で記述している。右足目標位置データは、右足部４８の位置を代表点の位置ＰＲで記述し、右足部４８の姿勢を右足部４８の姿勢角で記述している。この位置データおよび姿勢データは、時間ごとのデータである。
【００２４】
ロボット６は、ロボット６の歩行動作を制御する制御装置１４を備えている。制御装置１４は、ロボット６に搭載されている。制御装置１４の各要素は、ロボット６に搭載されていなくてもよく、ロボット６と物理的に分離されて収容されていてもよい。また、制御装置１４をロボット６の外部に配備し、無線又は有線で指示するようにしてもよい。制御装置１４の構成は、ＣＰＵ、メモリ、ディスク装置等を備える汎用のコンピュータと同じであり、説明は省略する。
【００２５】
図２は、制御装置１４の構成を示すブロック図である。
図２に示すように、制御装置１４は、歩容データ記憶装置１１０と、安定化制御装置１１２と、関節角度計算装置１１８と、アクチュエータ制御装置１２０と、姿勢変更量計算装置１１４と、ＺＭＰ検出装置１１５等を備えている。
【００２６】
歩容データ記憶装置１１０は、歩容データ作成装置によって作成された歩容データを記憶している。歩容データ記憶装置１１０が記憶している歩容データは、安定化制御装置１１２に入力される。
【００２７】
安定化制御装置１１２は、歩容データ記憶装置１１０が記憶している歩容データと、各種センサ１２４から入力された各種センサ情報に基づいて、歩容データを補正する。この各種センサ１２４には、加速度センサ、足裏圧力センサ、ジャイロセンサ等がある。
【００２８】
補正された歩容データは、関節角度計算装置１１８に入力される。
関節角度計算装置１１８は、腰部目標位置データや、左足部３８および右足部４８等の目標位置データを入力し、入力した目標位置に基づいて、いわゆる逆キネマティクス演算によりロボット６の各関節の角度指令を計算する装置である。計算された関節の角度指令データは、アクチュエータ制御装置１２０に入力される。
【００２９】
アクチュエータ制御装置１２０は、入力した関節の角度指令データに基づいて、関節駆動用アクチュエータ１２２を制御する装置である。アクチュエータ制御装置１２０が関節駆動用アクチュエータ１２２を駆動することによって、各関節が動作して、ロボット６の歩行動作がおこなわれる。
【００３０】
姿勢変更量計算装置１１４は、各関節を駆動するアクチュエータの負荷率と、ＺＭＰ検出手段によって求められた実際のＺＭＰとから、負荷率の高いアクチュエータを判別するとともに、そのアクチュエータにかかる負荷を軽減するのに必要な姿勢の変更量を計算し、この計算結果に基づいて歩容データを補正する。姿勢変更量計算装置１１４の詳細については後述する。
【００３１】
安定化制御装置１１２は、各種センサ１２４によって検出された各種センサ情報に基づいて、歩容データ記憶装置１１０に記憶されている歩容データを補正する。この補正は、実際の歩行動作の状態に基づいて、左足部３８の目標とする位置と姿勢と、右足部４８の目標とする位置と姿勢を補正する。次に、補正した左足部３８の目標とする位置と姿勢と、補正した右足部４８の目標とする位置と姿勢に基づいて、腰部１２の目標位置を補正する。
【００３２】
ロボット６は、歩行動作中において、予期しない床面の凹凸等による外乱力の影響を受ける場合があるが、安定化制御装置１１２により、実際の歩行動作の状態に基づいてフィードバックしながら、安定した歩行動作になるよう制御される。
【００３３】
図３は、姿勢変更量計算装置１１４およびＺＭＰ検出装置１１５の構成を示すブロック図である。図３に示すように、負荷率検出手段である姿勢変更量計算装置１１４は、負荷率計算処理として、左足膝関節アクチュエータ負荷率計算処理１４２、左足足首関節アクチュエータ負荷率計算処理１４４、右足膝関節アクチュエータ負荷率計算処理１４６、右足足首関節アクチュエータ負荷率計算処理１４８と、姿勢変更量計算処理１５８を備えている。
【００３４】
左足膝関節アクチュエータ負荷率計算処理１４２は、左足部の膝関節を駆動するアクチュエータであるモータへの供給電流値を検出し、この検出電流値に基づきアクチュエータの負荷率を求める。アクチュエータの負荷率は、駆動、停止が繰り返し行われるモータの負荷状態を表す量として、モータの定格電流値に対する供給電流値の割合から求めることができる。
【００３５】
左足足首関節アクチュエータ負荷率計算処理１４４、右足膝関節アクチュエータ負荷率計算処理アクチュエータ、右足足首関節アクチュエータ負荷率計算処理１４８は、上記と同様にして、それぞれのアクチュエータの負荷率を求める。
【００３６】
アクチュエータ負荷率判別処理１５６は、立脚側の膝関節を駆動するアクチュエータの負荷率と、足首関節を駆動するアクチュエータの負荷率とを比較する。立脚が左脚リンクの場合、左足膝関節アクチュエータ負荷率計算処理１４２によって求められた負荷率と、左足足首関節アクチュエータ負荷率計算処理１４４によって求められた負荷率とを比較する。立脚が右脚リンクの場合、右足膝関節アクチュエータ負荷率計算処理１４６によって求められた負荷率と、右足足首関節アクチュエータ負荷率計算処理１４８によって求められた負荷率とを比較する。
【００３７】
ＺＭＰ検出手段であるＺＭＰ検出装置１１５は、左足部および右足部の足裏に備えた６軸力センサと、６軸力センサで測定された６軸力により実際のＺＭＰを求める左足ＺＭＰ検出処理１５２と、右足ＺＭＰ検出装置１５４を備えている。片脚支持期においては、遊脚側は足部から直接床面に対し力を作用することはないので、立脚側のＺＭＰを求めることで、ロボット全体のＺＭＰを求めることができる。
【００３８】
ここで、関節におけるトルクとＺＭＰの関係について説明する。図４は、足首関節におけるトルクとＺＭＰの関係を示す説明図である。図４に示すように、足首関節まわりのモーメントのつり合いは、τ＝−ＲＮδ−ＲＴｈ＋ρｍｇと表すことができる。
【００３９】
ここで、τは足首トルク、Ｒは床圧（ＲＮ：垂直成分、ＲＴ：水平成分）、δは足首とＺＭＰとの水平距離、ρは足首と重心との水平距離、ｈは床面と重心との垂直距離、ｍは脚部の質量、ｇは重力加速度を示す。なお、トルクτは反時計回りの方向を正の値とし、時計回りの方向を負の値としている。
【００４０】
上式から、足首関節にトルクを供給することで、ＺＭＰの位置を制御することが可能である。言い換えると、足首関節にかかる負荷は、足首関節とＺＭＰとの距離に依存している。したがって、足裏におけるＺＭＰの位置を操作することによって、足首関節の負荷を調整することができる。
【００４１】
膝関節におけるトルクとＺＭＰの関係も、足首関節と同様に考えることができる。膝関節にトルクを供給することで、ＺＭＰの位置を制御することが可能である。言い換えると、膝関節にかかる負荷は膝関節とＺＭＰとの距離に依存している。したがって、足裏におけるＺＭＰの位置を操作することによって、膝関節の負荷を調整することができる。
【００４２】
図５および図６を参照して、ＺＭＰの位置の操作による足首関節および膝関節のトルクの調整について説明する。図は、歩行動作中において、右脚リンク４０を立脚、左脚リンク３０を遊脚とした場合を示している。なお、Ａは右足首関節４７の鉛直下の位置、Ｂは右膝関節４４の鉛直下の位置を示している。
【００４３】
図５（ａ）は、立脚側の右膝関節４４のトルク４４ｔより右足首関節４７のトルク４７ｔが大きい場合を示している。図５（ｂ）に示すように、立脚側の右足部４８の目標位置ＰＲをそのままに、腰部１２の目標位置ＰＷを歩行方向の加速度の大きさに基づいて水平方向に移動させ、目標ＺＭＰの位置を右足首関節４７寄りに操作する。
【００４４】
ロボット６のような二足歩行ロボットでは、腰部１２の目標位置ＰＷを水平方向に移動するとＺＭＰの位置がよく移動することが知られている。そのことから、歩行方向の加速度の大きさに基づいて腰部目標位置ＰＷを水平方向に補正することで、ＺＭＰを目標ＺＭＰに一致させることができる。
【００４５】
これらの目標位置に基づいて、逆キネマティクス演算することで、右足首関節４７および右膝関節４４の関節角度指令を計算する。この関節の角度指令に基づき、関節駆動用アクチュエータを駆動すると、ロボット６の姿勢が変更され、立脚側の右膝関節４４のトルク４４ｔが増大し、右足首関節４７のトルク４７ｔが減少する。
【００４６】
図６（ａ）は、図５（ａ）とは逆に、立脚側の右足首関節４７のトルク４７ｔより右膝関節４４のトルク４４ｔが大きい場合を示している。図６（ｂ）に示すように、立脚側の右足部４８の目標位置ＰＲをそのままに、腰部の目標位置ＰＷを歩行方向の加速度の大きさに基づいて水平方向に移動させ、目標ＺＭＰの位置を右膝関節４４の鉛直下寄りに操作する。
【００４７】
これらの目標位置に基づいて、逆キネマティクス演算することで、右足首関節４７および右膝関節４４の関節角度指令を計算する。この各関節の角度指令に基づき、関節駆動用アクチュエータを駆動すると、ロボット６の姿勢が変更され、立脚側の右膝関節４４のトルク４４ｔが減少し、右足首関節４７のトルク４７ｔが増大する。
【００４８】
このように、ロボット６の歩行動作中において、腰部目標位置と目標ＺＭＰを操作して姿勢変更することで、立脚側の膝関節または足首関節のどちらか一方へかかる負荷を軽減することができる。
【００４９】
図７を参照して、ロボット６の歩行動作の制御方法の流れを説明する。
歩容データ記憶装置１１０に記憶された歩容データを取得する（ステップＳ０２）。
【００５０】
ロボット６の歩行制御を開始する（ステップＳ０４）。ロボット６は、ステップＳ０８、ステップＳ１０、ステップＳ１２からなる第１制御ループ１２６と、ステップＳ０６、ステップＳ０８、ステップＳ１０、ステップＳ１２からなる第２制御ループ１２８を、それぞれ所定の動作周期で繰り返し実行することにより、歩行動作をおこなう。
【００５１】
第１制御ループ１２６は、実際の歩行動作の状態に基づいてフィードバックしながら、安定に歩行動作するための処理である。第２制御ループ１２８は、歩行動作中において、関節を駆動するアクチュエータのうち、一方へかかるアクチュエータの負荷を軽減するための処理である。第２制御ループ１２８の動作周期は、第１制御ループの動作周期よりも長く設定される。例えば、第１制御ループ１２６の動作周期０．１ｍｓｅｃに対し、第２制御ループの動作周期は、１０ｍｓｅｃとされる。
【００５２】
第１制御ループ１２６は、安定化制御装置１１２が、各種センサ１２４により取得されたロボット６の実際の歩行動作の状態に基づいて、安定化制御補正量を算出し、歩容データを補正する（ステップＳ０８）。
【００５３】
次に、関節角度計算装置１１８が、補正された歩容データを入力し、逆キネマティクス演算によりロボット６の各関節の関節角度を計算する（ステップＳ１０）。
【００５４】
次に、アクチュエータ制御装置１２０が、ステップＳ１０で計算された各関節の角度指令を入力し、関節駆動用アクチュエータ１２２を駆動する。この結果、各関節が動作して、ロボット６は歩行動作をおこなう（ステップＳ１２）。ステップＳ１２の処理が終わると、ステップＳ０６の処理へ移行する。
【００５５】
第２制御ループ１２８は、姿勢変更量計算装置１１４が、各関節を駆動するアクチュエータの負荷率と、ＺＭＰ検出手段によって取得した実際のＺＭＰとから、負荷率の高いアクチュエータを判別するとともに、そのアクチュエータの負荷を軽減させるのに必要な姿勢の変更量を算出する。この姿勢の変更量に基づき、歩容データを補正する（ステップＳ０６）。
【００５６】
次に、関節角度計算装置１１８が、補正された歩容データを入力し、逆キネマティクス演算によりロボット６の各関節の関節角度を計算する（ステップＳ１０）。
【００５７】
次に、アクチュエータ制御装置１２０が、ステップＳ１０で計算された各関節の角度指令を入力し、関節駆動用アクチュエータ１２２を駆動する。この結果、各関節が動作して、ロボット６は姿勢変更をおこなう（ステップＳ１２）。この姿勢変更により、立脚側の膝関節または足首関節のどちらか一方へかかるアクチュエータの負荷が軽減される。ステップＳ１２の処理が終わると、ステップＳ０６の処理に戻る。
【００５８】
図８を参照して、図７の姿勢変更量算出処理（ステップＳ１２）を説明する。
ロボットの立脚側の関節を駆動するアクチュエータの負荷率を計算する。立脚が左脚リンクの場合、左足膝関節と左足足首関節のアクチュエータ負荷率を計算し、立脚が右脚リンクの場合、右足膝関節と右足足首関節のアクチュエータ負荷率を計算する（ステップＳ１０２）。
【００５９】
立脚側の関節を駆動するアクチュエータの負荷率が許容範囲内であるか判別する。すべてのアクチュエータの負荷率が許容範囲内であれば処理を終了する。許容範囲外の負荷率のアクチュエータがある場合は、ステップＳ１０６へ分岐する（ステップＳ１０４）。
【００６０】
ＺＭＰ検出装置が、ロボットの立脚側の足裏における実際のＺＭＰの位置を検出する（ステップＳ１０６）。
【００６１】
アクチュエータ負荷率判別処理が、膝関節を駆動するアクチュエータの負荷率と、足首関節を駆動するアクチュエータの負荷率とを比較する。この結果、膝関節を駆動するアクチュエータの負荷率のほうが大きい場合は、ステップＳ１１０へ分岐する。また、足首関節を駆動するアクチュエータの負荷率のほうが大きい場合は、ステップＳ１１２へ分岐する（ステップＳ１０８）。
【００６２】
歩容データに対し、立脚側の足部の目標位置をそのままに、腰部の目標位置を歩行方向の加速度の大きさに基づいて補正するとともに、目標ＺＭＰの位置を膝関節の鉛直下寄りに補正する（ステップＳ１１０）。
【００６３】
これらの目標位置に基づいて、関節角度計算装置が、逆キネマティクス演算することで、足首関節および膝関節の関節角度が求められる。そして、アクチュエータ制御装置が、各関節の角度指令を入力し、関節駆動用アクチュエータを駆動することにより、立脚側の膝関節のトルクが減少し、足首関節のトルクが増大する。
【００６４】
歩容データに対し、立脚側の足部の目標位置をそのままに、腰部の目標位置を歩行方向の加速度の大きさに基づいて補正するとともに、目標ＺＭＰの位置を足首関節寄りに補正する（ステップＳ１１２）。
【００６５】
これらの目標位置に基づいて、関節角度計算装置が、逆キネマティクス演算することで、足首関節および膝関節の関節角度が求められる。そして、アクチュエータ制御装置が、各関節の角度指令を入力し、関節駆動用アクチュエータを駆動することにより、ロボットの姿勢が変更され、立脚側の膝関節のトルクが増大し、足首関節のトルクが減少する。
【００６６】
このように、ロボットは、歩行動作中において、実際の歩行動作の状態に基づいてフィードバックしながら、安定に歩行動作するとともに、立脚側の膝関節または足首関節のどちらか一方へかかるアクチュエータの負荷を軽減することができる。
【００６７】
本発明は、上記実施形態に限定されるものではなく、特許請求の範囲に記載された発明の範囲内で適宜変更することが可能である。例えば上記実施形態では、負荷率として、モータの定格電流値に対する供給電流値の比率を用いているが、トルク値の時間に対する積分値としてトルク累積過負荷値を算出して用いてもよい。
【符号の説明】
【００６８】
６：ロボット、  １１：基体、１２：腰部、  １４：制御装置、
３０：左脚リンク、  ３１：左股関節、  ３２：左大腿部、  ３４：左膝関節、
３６：左下腿部、  ３７：左足首関節、  ３７ｔ：左足首関節のトルク、  ３８：左足部、
４０：右脚リンク、  ４１：右股関節、  ４２：右大腿部、  ４４：右膝関節、
４６：右下腿部、  ４７：右足首関節、  ４７ｔ：右足首関節のトルク、  ４８：右足部、
１１０：歩容データ記憶装置、  １１２：安定化制御装置、
１１４：姿勢変更量計算装置、  １１５：ＺＭＰ検出装置、
１１８：関節角度計算装置、  １２０：アクチュエータ制御装置、
１２２：関節駆動用アクチュエータ、  １２４：各種センサ、
１４２：左足アクチュエータ負荷率計算処理、
１４４：左足アクチュエータ負荷率計算処理、
１４６：右足アクチュエータ負荷率計算処理、
１４８：右足アクチュエータ負荷率計算処理、
１５２：左足ＺＭＰ検出処理、  １５４：右足ＺＭＰ検出処理、
１５６：アクチュエータ負荷率判別処理、  １５８：姿勢変更量計算処理
【図１】
2016117114.tif 000003
【図２】
2016117114.tif 000004
【図３】
2016117114.tif 000005
【図４】
2016117114.tif 000006
【図５】
2016117114.tif 000007
【図６】
2016117114.tif 000008
【図７】
2016117114.tif 000009
【図８】
2016117114.tif 000010