(57)【要約】【課題】運用条件からの逸脱を未然に防止して制御系全体の性能を高める。【解決手段】足部に作用する床反力から算出したＺＭＰを基に運用状態を監視する運用状態監視部を備え、その運用状態に応じて運用状態逸脱を未然に回避するための抑制動作を実行する。抑制動作を行なうことで、運用条件を良好に満足する領域にＺＭＰを操作する効果を持ち、あるいは安定領域を拡大又は移動する効果を持つ。さらに、抑制動作により脚式移動ロボットに加わる衝撃力を吸収する衝撃吸収動作を併用することにより、運用状態を良好に保ち、なお且つ脚式移動ロボット及びその運用環境への影響を緩和する機能を有する。【選択図】　図２
2004130460.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも複数本の可動脚を備えた脚式移動ロボットの動作制御装置であって、
機体の運用状態が制御系が保証する運用条件を保っているかどうかを監視する運用状態監視部と、
運用状態の監視結果に応じて運用状態逸脱を未然に回避するための抑制動作を実行する抑制動作部と、
を具備することを特徴とする脚式移動ロボットの動作制御装置。
【請求項２】
前記抑制動作部において運用状態逸脱を未然に回避することが困難で、運用状態を逸脱した場合における、機体並びに動作環境に対する保護動作を実行する保護動作部をさらに備える、
ことを特徴とする請求項１に記載の脚式移動ロボットの動作制御装置。
【請求項３】
前記運用状態監視部は、前記脚式移動ロボットの脚部に作用する床反力から算出されるＺＭＰを基に運用状態を監視する、
ことを特徴とする請求項１に記載の脚式移動ロボットの動作制御装置。
【請求項４】
前記運用状態監視部は、足部足底面に幾つかの位置に関する閾値を設けることで運用領域を分割し、ＺＭＰ位置が現在どの運用領域に収容されているかによって運用状態を管理する、
ことを特徴とする請求項３に記載の脚式移動ロボットの動作制御装置。
【請求項５】
前記抑制動作部は、運用状態に応じて運用状態逸脱を未然に回避するための抑制動作を切り換える抑制動作判別手段を備える、
ことを特徴とする請求項１に記載の脚式移動ロボットの動作制御装置。
【請求項６】
前記抑制動作部は、所定期間ＺＭＰが留まる状態が継続した場合に運用領域に応じた抑制動作を発動する、
ことを特徴とする請求項４に記載の脚式移動ロボットの動作制御装置。
【請求項７】
前記抑制動作部は、所定期間のＺＭＰの変化速度が所定値よりも小さい場合に運用領域に応じた抑制動作を発動する、
ことを特徴とする請求項４に記載の脚式移動ロボットの動作制御装置。
【請求項８】
前記抑制動作部は、機体の上体運動の停止、及び／又は各部の位置姿勢操作により、運用状況がさらに悪化することを未然に防止する、
ことを特徴とする請求項１に記載の脚式移動ロボットの動作制御装置。
【請求項９】
前記抑制動作部は、蹴り力を発生することにより、発生した床反力を用いてＺＭＰを操作することで、運用状態を回復させる、
ことを特徴とする請求項１に記載の脚式移動ロボットの動作制御装置。
【請求項１０】
前記抑制動作部は、動作目的以外の部位の動作を停止し、又は動作目的以外の部位を用いてＺＭＰを操作する、
ことを特徴とする請求項１に記載の脚式移動ロボットの動作制御装置。
【請求項１１】
前記抑制動作部は、運用状態に応じて操作部位を決定してＺＭＰを操作する、ことを特徴とする請求項４に記載の脚式移動ロボットの動作制御装置。
【請求項１２】
前記抑制動作部は、安定領域を拡大又は移動するように機体を操作する、
ことを特徴とする請求項１に記載の脚式移動ロボットの動作制御装置。
【請求項１３】
前記抑制動作部は、遊脚が着床可能かどうかに応じて安定領域の操作方法を決定する、
ことを特徴とする請求項１２に記載の脚式移動ロボットの動作制御装置。
【請求項１４】
前記抑制動作部は、機体の急停止に応答して、関節アクチュエータのサーボ・ゲインを低下させる、
ことを特徴とする請求項１に記載の脚式移動ロボットの動作制御装置。
【請求項１５】
前記抑制動作部は、機体の急停止に応答して、膝を曲げて衝撃吸収する、
ことを特徴とする請求項１に記載の脚式移動ロボットの動作制御装置。
【請求項１６】
前記抑制動作部は、運用条件を逸脱する可能性が高まってきた場合に、動作目的に応じて、衝撃吸収動作を行なう部位を判別する、
ことを特徴とする請求項１に記載の脚式移動ロボットの動作制御装置。
【請求項１７】
前記抑制動作部は、運用条件を逸脱する可能性が高まってきた場合に、運用状態に応じて操作部位を決定してＺＭＰを操作する、
ことを特徴とする請求項１に記載の脚式移動ロボットの動作制御装置。
【請求項１８】
前記抑制動作部は、撃力に対するセンサの反応に応答して、アクチュエータの応答により撃力をリアルタイムで吸収する、
ことを特徴とする請求項１に記載の脚式移動ロボットの動作制御装置。
【請求項１９】
前記抑制動作部は、所定のモーションの再生により衝撃吸収動作を行なう、
ことを特徴とする請求項１に記載の脚式移動ロボットの動作制御装置。
【請求項２０】
前記抑制動作判別部は、実ＺＭＰが存在する領域に基づいて抑制動作を判別する、
ことを特徴とする請求項５に記載の脚式移動ロボットの動作制御装置。
【請求項２１】
前記抑制動作判別部は、床反力に基づいて抑制動作を判別する、
ことを特徴とする請求項５に記載の脚式移動ロボットの動作制御装置。
【請求項２２】
前記抑制動作判別部は、抑制動作による結果を基に次の抑制動作を判別する、ことを特徴とする請求項５に記載の脚式移動ロボットの動作制御装置。
【請求項２３】
前記抑制動作判別部は、実ＺＭＰが存在する領域に基づいて保護動作を発動する、
ことを特徴とする請求項２に記載の脚式移動ロボットの動作制御装置。
【請求項２４】
前記抑制動作判別部は、床反力に基づいて保護動作を発動する、
ことを特徴とする請求項２に記載の脚式移動ロボットの動作制御装置。
【請求項２５】
前記抑制動作判別部は、抑制動作による結果を基に保護動作を発動する、
ことを特徴とする請求項２に記載の脚式移動ロボットの動作制御装置。
【請求項２６】
前記保護動作部は、関節アクチュエータのサーボ・ゲイン・ダウン、受身姿勢への移行、電源オフ、関節サーボの停止のうちいずれかを実行する、
ことを特徴とする請求項２に記載の脚式移動ロボットの動作制御装置。
【請求項２７】
少なくとも複数本の可動脚を備えた脚式移動ロボットの動作制御方法であって、
機体の運用状態が制御系が保証する運用条件を保っているかどうかを監視する運用状態監視ステップと、
運用状態の監視結果に応じて運用状態逸脱を未然に回避するための抑制動作を実行する抑制動作ステップと、
を具備することを特徴とする脚式移動ロボットの動作制御方法。
【請求項２８】
前記抑制動作ステップにおいて運用状態逸脱を未然に回避することが困難で、運用状態を逸脱した場合における、機体並びに動作環境に対する保護動作を実行する保護動作ステップをさらに備える、
ことを特徴とする請求項２７に記載の脚式移動ロボットの動作制御方法。
【請求項２９】
前記運用状態監視ステップでは、前記脚式移動ロボットの脚部に作用する床反力から算出されるＺＭＰを基に運用状態を監視する、
ことを特徴とする請求項２７に記載の脚式移動ロボットの動作制御方法。
【請求項３０】
前記運用状態監視ステップでは、足部足底面に幾つかの位置に関する閾値を設けることで運用領域を分割し、ＺＭＰ位置が現在どの運用領域に収容されているかによって運用状態を管理する、
ことを特徴とする請求項２９に記載の脚式移動ロボットの動作制御方法。
【請求項３１】
前記抑制動作ステップでは、運用状態に応じて運用状態逸脱を未然に回避するための抑制動作を切り換える抑制動作判別ステップを備える、
ことを特徴とする請求項２７に記載の脚式移動ロボットの動作制御方法。
【請求項３２】
前記抑制動作ステップでは、所定期間ＺＭＰが留まる状態が継続した場合に運用領域に応じた抑制動作を発動する、
ことを特徴とする請求項３０に記載の脚式移動ロボットの動作制御方法。
【請求項３３】
前記抑制動作ステップでは、所定期間のＺＭＰの変化速度が所定値よりも小さい場合に運用領域に応じた抑制動作を発動する、
ことを特徴とする請求項３０に記載の脚式移動ロボットの動作制御方法。
【請求項３４】
前記抑制動作ステップでは、機体の上体運動の停止、及び／又は各部の位置姿勢操作により、運用状況がさらに悪化することを未然に防止する、
ことを特徴とする請求項２７に記載の脚式移動ロボットの動作制御方法。
【請求項３５】
前記抑制動作ステップでは、蹴り力を発生することにより、発生した床反力を用いてＺＭＰを操作することで、運用状態を回復させる、
ことを特徴とする請求項２７に記載の脚式移動ロボットの動作制御方法。
【請求項３６】
前記抑制動作ステップでは、動作目的以外の部位の動作を停止し、又は動作目的以外の部位を用いてＺＭＰを操作する、
ことを特徴とする請求項２７に記載の脚式移動ロボットの動作制御方法。
【請求項３７】
前記抑制動作ステップでは、運用状態に応じて操作部位を決定してＺＭＰを操作する、
ことを特徴とする請求項３０に記載の脚式移動ロボットの動作制御方法。
【請求項３８】
前記抑制動作ステップでは、安定領域を拡大又は移動するように機体を操作する、
ことを特徴とする請求項２７に記載の脚式移動ロボットの動作制御方法。
【請求項３９】
前記抑制動作ステップでは、遊脚が着床可能かどうかに応じて安定領域の操作方法を決定する、
ことを特徴とする請求項３８に記載の脚式移動ロボットの動作制御方法。
【請求項４０】
前記抑制動作ステップでは、機体の急停止に応答して、関節アクチュエータのサーボ・ゲインを低下させる、
ことを特徴とする請求項２７に記載の脚式移動ロボットの動作制御方法。
【請求項４１】
前記抑制動作ステップでは、機体の急停止に応答して、膝を曲げて衝撃吸収する、
ことを特徴とする請求項２７に記載の脚式移動ロボットの動作制御方法。
【請求項４２】
前記抑制動作ステップでは、運用条件を逸脱する可能性が高まってきた場合に、動作目的に応じて、衝撃吸収動作を行なう部位を判別する、
ことを特徴とする請求項２７に記載の脚式移動ロボットの動作制御方法。
【請求項４３】
前記抑制動作ステップでは、運用条件を逸脱する可能性が高まってきた場合に、運用状態に応じて操作部位を決定してＺＭＰを操作する、
ことを特徴とする請求項２７に記載の脚式移動ロボットの動作制御方法。
【請求項４４】
前記抑制動作ステップでは、撃力に対するセンサの反応に応答して、アクチュエータの応答により撃力をリアルタイムで吸収する、
ことを特徴とする請求項２７に記載の脚式移動ロボットの動作制御方法。
【請求項４５】
前記抑制動作ステップでは、所定のモーションの再生により衝撃吸収動作を行なう、
ことを特徴とする請求項２７に記載の脚式移動ロボットの動作制御方法。
【請求項４６】
前記抑制動作判別ステップでは、実ＺＭＰが存在する領域に基づいて抑制動作を判別する、
ことを特徴とする請求項３１に記載の脚式移動ロボットの動作制御方法。
【請求項４７】
前記抑制動作判別ステップでは、床反力に基づいて抑制動作を判別する、
ことを特徴とする請求項３１に記載の脚式移動ロボットの動作制御方法。
【請求項４８】
前記抑制動作判別ステップでは、抑制動作による結果を基に次の抑制動作を判別する、
ことを特徴とする請求項３１に記載の脚式移動ロボットの動作制御方法。
【請求項４９】
前記抑制動作判別ステップでは、実ＺＭＰが存在する領域に基づいて保護動作を発動する、
ことを特徴とする請求項２８に記載の脚式移動ロボットの動作制御方法。
【請求項５０】
前記抑制動作判別ステップでは、床反力に基づいて保護動作を発動する、
ことを特徴とする請求項２８に記載の脚式移動ロボットの動作制御方法。
【請求項５１】
前記抑制動作判別ステップでは、抑制動作による結果を基に保護動作を発動する、
ことを特徴とする請求項２８に記載の脚式移動ロボットの動作制御方法。
【請求項５２】
前記保護動作ステップでは、関節アクチュエータのサーボ・ゲイン・ダウン、受身姿勢への移行、電源オフ、関節サーボの停止のうちいずれかを実行する、
ことを特徴とする請求項２８に記載の脚式移動ロボットの動作制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、少なくとも複数本の可動脚を備えた脚式移動ロボットの動作制御装置及び動作制御方法に係り、特に、さまざまな環境下での使用が想定される脚式移動ロボットの動作制御装置及び動作制御方法に関する。
【０００２】
さらに詳しくは、本発明は、所定の運用条件下での動作を保証する脚式移動ロボットの動作制御装置及び動作制御方法に係り、特に、運用条件からの逸脱を未然に防止して制御系全体の性能を高める脚式移動ロボットの歩行制御装置及び歩行制御方法に関する。
【０００３】
【従来の技術】
電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置のことを「ロボット」という。ロボットの語源は、スラブ語の”ＲＯＢＯＴＡ（奴隷機械）”に由来すると言われている。わが国では、ロボットが普及し始めたのは１９６０年代末からであるが、その多くは、工場における生産作業の自動化・無人化などを目的としたマニピュレータや搬送ロボットなどの産業用ロボット（ｉｎｄｕｓｔｒｉａｌ　ｒｏｂｏｔ）であった。
【０００４】
最近では、ヒトやサルなどの２足直立歩行を行う動物の身体メカニズムや動作を模した脚式移動ロボットに関する研究開発が進展し、実用化への期待も高まってきている。２足直立による脚式移動は、クローラ式や、４足又は６足式などに比し不安定で姿勢制御や歩行制御が難しくなるが、不整地や障害物など作業経路上に凹凸のある歩行面や、階段や梯子の昇降など不連続な歩行面に対応することができるなど、柔軟な移動作業を実現できるという点で優れている。
【０００５】
また、ヒトの生体メカニズムや動作を再現した脚式移動ロボットのことを、特に、「人間形」、若しくは「人間型」のロボット（ｈｕｍａｎｏｉｄ　ｒｏｂｏｔ）と呼ぶ。人間型ロボットは、例えば、生活支援、すなわち住環境その他の日常生活上のさまざまな場面における人的活動の支援などを行なうことができる。
【０００６】
人間の作業空間や居住空間のほとんどは、２足直立歩行という人間が持つ身体メカニズムや行動様式に合わせて形成されおり、車輪その他の駆動装置を移動手段とした現状の機械システムが移動するのには多くの障壁が存在する。したがって、機械システムすなわちロボットがさまざまな人的作業を代行し、さらに人間の住空間に深く浸透していくためには、ロボットの移動可能範囲が人間のそれとほぼ同じであることが好ましい。これが、脚式移動ロボットの実用化が大いに期待されている所以でもある。
【０００７】
高い脚式移動ロボットは、整地・不整地を問わず、あらゆる環境下での使用が想定され、機体の制御系が保証する運用条件を逸脱するような場面が多々存在する。
【０００８】
一般に、制御系が保証する運用条件を逸脱した場合のシステムの挙動は予測が困難であり、その挙動によっては脚式移動ロボット、若しくは運用環境（動作環境）に損傷を与える可能性もある。
【０００９】
【発明が解決しようとする課題】
本発明の目的は、さまざまな環境下での使用が想定される、優れた脚式移動ロボットの動作制御装置及び動作制御方法を提供することにある。
【００１０】
本発明のさらなる目的は、所定の運用条件下での動作を保証する、優れた脚式移動ロボットの動作制御装置及び動作制御方法を提供することにある。
【００１１】
本発明のさらなる目的は、運用条件からの逸脱を未然に防止して制御系全体の性能を高めることができる、優れた脚式移動ロボットの動作制御装置及び動作制御方法を提供することにある。
【００１２】
【課題を解決するための手段及び作用】
本発明は、上記課題を参酌してなされたものであり、少なくとも複数本の可動脚を備えた脚式移動ロボットの動作制御装置又は動作制御方法であって、
機体の運用状態が制御系が保証する運用条件を保っているかどうかを監視する運用状態監視部又はステップと、
運用状態の監視結果に応じて運用状態逸脱を未然に回避するための抑制動作を実行する抑制動作部又はステップと、
を具備することを特徴とする脚式移動ロボットの動作制御装置又は動作制御方法である。
【００１３】
本発明の第１の側面に係る脚式移動ロボットの動作制御装置又は動作制御方法は、前記抑制動作部又はステップにおいて運用状態逸脱を未然に回避することが困難で、運用状態を逸脱した場合における、機体並びに動作環境に対する保護動作を実行する保護動作部又はステップをさらに備えていてもよい。
【００１４】
また、前記運用状態監視部は、前記脚式移動ロボットの脚部に作用する床反力から算出されるＺＭＰを基に運用状態を監視するようにしてもよい。
【００１５】
本発明に係る脚式移動ロボットは、足部に作用する床反力から算出したＺＭＰを基に運用状態を監視する運用状態監視部を備え、その運用状態に応じて運用状態の逸脱を未然に回避するための抑制動作を実行する。抑制動作を行なうことで、運用条件を良好に満足する領域にＺＭＰを操作する効果を持ち、あるいは安定領域を拡大又は移動する効果を持つ。
【００１６】
さらに、抑制動作により脚式移動ロボットに加わる衝撃力を吸収する衝撃吸収動作を併用することにより、運用状態を良好に保ち、なお且つ脚式移動ロボット及びその運用環境への影響を緩和する機能を有する。脚式移動ロボットは、運用状態を逸脱した場合の制御機能も備え、システムの挙動による脚式移動ロボット及び運用環境への影響を最小限に低減することができる。
【００１７】
前記運用状態監視部又はステップは、足部足底面に幾つかの位置に関する閾値を設けることで運用領域を分割し、ＺＭＰ位置が現在どの運用領域に収容されているかによって運用状態を管理するようにしてもよい。
【００１８】
また、前記抑制動作部又はステップは、運用状態に応じて運用状態逸脱を未然に回避するための抑制動作を切り換える抑制動作判別手段又はステップを備えていてもよい。これにより効率的且つ的確な運用状態の回復、又は運用状態逸脱の回避を実現することが可能である。
【００１９】
また、前記抑制動作部又はステップは、所定期間ＺＭＰが留まる状態が継続した場合に運用領域に応じた抑制動作を発動するようにしてもよい。あるいは、前記抑制動作部又はステップは、所定期間のＺＭＰの変化速度が所定値よりも小さい場合に運用領域に応じた抑制動作を発動する
【００２０】
また、前記抑制動作部又はステップは、機体の上体運動の停止、及び／又は各部の位置姿勢操作により、運用状況がさらに悪化することを未然に防止するようにしてもよい。
【００２１】
また、前記抑制動作部又はステップは、蹴り力を発生することにより、発生した床反力を用いてＺＭＰを操作することで、運用状態を回復させるようにしてもよい。
【００２２】
また、前記抑制動作部又はステップは、動作目的以外の部位の動作を停止し、又は動作目的以外の部位を用いてＺＭＰを操作するようにしてもよい。
【００２３】
また、前記抑制動作部又はステップは、運用状態に応じて操作部位を決定してＺＭＰを操作するようにしてもよい。
【００２４】
また、前記抑制動作部又はステップは、安定領域を拡大又は移動するように機体を操作するようにしてもよい。
【００２５】
また、前記抑制動作部又はステップは、遊脚が着床可能かどうかに応じて安定領域の操作方法を決定するようにしてもよい。
【００２６】
また、前記抑制動作部又はステップは、機体の急停止に応答して、関節アクチュエータのサーボ・ゲインを低下させるようにしてもよい。
【００２７】
また、前記抑制動作部又はステップは、機体の急停止に応答して、膝を曲げて衝撃吸収するようにしてもよい。
【００２８】
また、前記抑制動作部又はステップは、運用条件を逸脱する可能性が高まってきた場合に、動作目的に応じて、衝撃吸収動作を行なう部位を判別するようにしてもよい。
【００２９】
また、前記抑制動作部又はステップは、運用条件を逸脱する可能性が高まってきた場合に、運用状態に応じて操作部位を決定してＺＭＰを操作するようにしてもよい。
【００３０】
また、前記抑制動作部又はステップは、撃力に対するセンサの反応に応答して、アクチュエータの応答により撃力をリアルタイムで吸収するようにしてもよい。
【００３１】
また、前記抑制動作部又はステップは、所定のモーションの再生により衝撃吸収動作を行なうようにしてもよい。
【００３２】
また、前記抑制動作判別部又はステップは、実ＺＭＰが存在する領域に基づいて抑制動作を判別するようにしてもよい。あるいは、前記抑制動作判別部又はステップは、床反力に基づいて抑制動作を判別するようにしてもよい。あるいは、前記抑制動作判別部は、抑制動作による結果を基に次の抑制動作を判別するようにしてもよい。
【００３３】
また、前記抑制動作判別部又はステップは、実ＺＭＰが存在する領域に基づいて保護動作を発動するようにしてもよい。あるいは、前記抑制動作判別部又はステップは、床反力に基づいて保護動作を発動するようにしてもよい。あるいは、前記抑制動作判別部又はステップは、抑制動作による結果を基に保護動作を発動するようにしてもよい。
【００３４】
また、前記保護動作部又はステップは、関節アクチュエータのサーボ・ゲイン・ダウン、受身姿勢への移行、電源オフ、関節サーボの停止のうちいずれかを実行するようにしてもよい。
【００３５】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【００３６】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００３７】
図１には、本発明の実施に供される脚式移動ロボットの自由度構成を模式的に示している。
【００３８】
同図に示すロボットは、二脚二腕を有する人間型ロボットである。本ロボットは、機体に四肢が取り付けられ、肩関節ピッチ軸、肩関節ロール軸、上腕ヨー軸、肘関節ピッチ軸、前腕ヨー軸、手首ロール軸、手首ピッチ軸という７自由度からなる左右の腕部と、股関節ヨー軸、股関節ロール軸、股関節ピッチ軸、膝ピッチ軸、足首ピッチ軸、足首ロール軸という６自由度からなる左右の脚部で構成されている。
【００３９】
これらの各関節自由度は、実際にはアクチュエータ・モータにより実現される。本実施形態では、ギア直結型で且つサーボ制御系をワンチップ化してモータ・ユニットに内蔵したタイプの小型ＡＣサーボ・アクチュエータを搭載する。なお、この種のＡＣサーボ・アクチュエータに関しては、例えば本出願人に既に譲渡されている特開２０００−２９９９７０号公報（特願平１１−３３３８６号明細書）に開示されている。
【００４０】
機体には、加速度センサＡ１及びジャイロＧ１が搭載されている。また、左右の足底四隅には、足底面垂直方向の床反力を検出する１軸ロードセル（Ｆ１〜Ｆ８）と、床面までの距離を測定する赤外線測距センサ（Ｄ１〜Ｄ８）がそれぞれ４つ取り付けられている。また、左右の足底中央部には、それぞれ加速度センサ（Ａ２，Ａ３）及びジャイロ（Ｇ２，Ｇ３）が取り付けられている。
【００４１】
本実施形態に係る脚式移動ロボットは、ＺＭＰ（Ｚｅｒｏ　Ｍｏｍｅｎｔ　Ｐｏｉｎｔ）を歩行の安定度判別の規範として用いている。ＺＭＰによる安定度判別規範は、歩行系から路面には重力と慣性力、並びにこれらのモーメントが路面から歩行系への反作用としての床反力並びに床反力モーメントとバランスするという「ダランベールの原理」に基づく。
【００４２】
この力学的推論の帰結として、足底接地点と路面の形成する支持多角形（すなわちＺＭＰ安定領域）の辺上あるいはその内側にピッチ軸及びロール軸モーメントがゼロとなる点、すなわち「ＺＭＰ（Ｚｅｒｏ　Ｍｏｍｅｎｔ　Ｐｏｉｎｔ）」が存在する。
【００４３】
要約すれば、ＺＭＰ規範とは、「歩行のあらゆる瞬間において、ＺＭＰが足部と路面とが形成する支持多角形の内側に存在し、且つ、ロボットが路面に押す方向の力が作用すれば、ロボットが転倒（機体が回転運動）することなく安定に歩行できる」とするものである。
【００４４】
ＺＭＰ規範に基づく２足歩行パターン生成によれば、足底着地点をあらかじめ設定することができ、路面形状に応じた足先の運動学的拘束条件を考慮し易いなどの利点がある。また、ＺＭＰを安定度判別規範とすることは、力ではなく軌道を運動制御上の目標値として扱うことを意味するので、技術的に実現可能性が高まる。
【００４５】
なお、ＺＭＰの概念並びにＺＭＰを歩行ロボットの安定度判別規範に適用する点については、Ｍｉｏｍｉｒ　Ｖｕｋｏｂｒａｔｏｖｉｃ著”ＬＥＧＧＥＤ　ＬＯＣＯＭＯＴＩＯＮ　ＲＯＢＯＴＳ”（加藤一郎外著『歩行ロボットと人工の足』（日刊工業新聞社））に記載されている。
【００４６】
図２には、本実施形態に係る脚式移動ロボットに適用される動作制御システムの機能構成を模式的に示している。
【００４７】
図示の通り、この歩行制御システムは、ロボット状態観測部２１と、環境形状観測部２２と、外力・外モーメント観測部２３と、上肢・下肢要求運動入力部２４と、運用状況監視部２５と、抑制動作部２６と、保護動作部２７と、歩容生成部２８と、全身関節駆動部２９により構成される。
【００４８】
ロボット状態観測部２１は、機体の各部に装備された種々のセンサ（前述）からの情報を基に、実際のロボットの運動状態を計測し、その結果を運用状況監視部２５へと出力する。
【００４９】
環境形状観測部２２は、種々のセンサ（前述）からの情報を基に、路面傾斜・段差高さなどの環境形状を算出し、その結果を運用状況監視部２５へと出力する。
【００５０】
外力・外モーメント観測部２３は、主にロボット上に搭載された力センサ並びに加速度センサ情報を基に、ロボットに対して外界から作用する外力・外モーメントを算出し、その結果を運用状況監視部２５へ反映する。
【００５１】
上肢・下肢要求運動入力部２４は、ユーザ・プログラムに従って時々刻々と決定される上肢への運動要求と、歩幅・歩行周期・旋回角などの下肢への要求運動に関る歩容パラメータを入力し、歩容生成部２８へと出力する。
【００５２】
運用状況監視部２５は、脚部に作用する床反力から算出したＺＭＰを基に、機体の運用状態を監視し、その監視結果を抑制動作部２６に出力する。
【００５３】
抑制動作部２６は、運用状態の監視結果に応じて運用状態逸脱を未然に回避するための抑制動作を生成して、歩容生成部２８へと出力する。
【００５４】
保護動作部２７は、抑制動作部２７において運用状態逸脱を未然に回避することが困難で、運用状態を逸脱した場合における、機体並びに動作環境に対する保護動作を生成して、歩容生成部２８へと出力する。
【００５５】
歩容生成部２８は、通常は上肢・下肢運動変更要求を満足することができる次時刻のロボットの運動状態を決定し、全身の関節角参照値を出力するが、運用状態の逸脱を未然に回避するための歩容、あるいは、運用状態を逸脱したときの歩容を生成して、全身の関節角参照値を出力する。
【００５６】
全身関節駆動部２９は、歩容生成部２８の出力した関節角参照値を実現するよう、各関節の自由度を構成するアクチュエータ・モータ（前述）をサーボ・コントローラ（図示しない）により駆動する。
【００５７】
本実施形態に係る脚式移動ロボットは、足部に作用する床反力から算出したＺＭＰを基に運用状態を監視する運用状態監視部２５を備え、その運用状態に応じて運用状態逸脱を未然に回避するための抑制動作を実行する。抑制動作を行なうことで、運用条件を良好に満足する領域にＺＭＰを操作する効果を持ち、あるいは安定領域を拡大又は移動する効果を持つ。
【００５８】
さらに、抑制動作により脚式移動ロボットに加わる衝撃力を吸収する衝撃吸収動作を併用することにより、運用状態を良好に保ち、なお且つ脚式移動ロボット及びその運用環境への影響を緩和する機能を有する。
【００５９】
また、脚式移動ロボットは運用状態に応じて運用状態逸脱を未然に回避するための抑制動作を切り換える抑制動作判別を行なう機能を備え、これにより効率的且つ的確な運用状態の回復、又は運用状態逸脱の回避を実現することが可能である。
【００６０】
これらに加え、脚式移動ロボットは、運用状態を逸脱した場合の制御機能も備え、システムの挙動による脚式移動ロボット及び運用環境への影響を最小限に低減することができる。
【００６１】
運用状態監視部：
運用状態監視部２５は、ＺＭＰ及び床反力の監視を行なう。ＺＭＰの監視では、支持多角形を領域分割することにより、運用状態を閾値などを用いて管理する。また、足底に搭載した力センサ（Ｆ１〜Ｆ８）の出力である床反力（又は衝撃力）を基に、運用状態を監視する。目標床反力と実床反力との偏差から運用状態を管理する。あるいは、単純にある閾値と実床反力の比較から運用状態を管理する。
【００６２】
図３には、ＺＭＰを監視するための方法の一例を示している。足部に搭載した力センサ（Ｆ１〜Ｆ８）からのセンサ情報を基に運用状態を監視するが、同図に示すように、足部足底面に幾つかの位置に関する閾値（ｔｈｒｅｓｈ１＿ＺＭＰ＿ｘ〜ｔｈｒｅｓｈ６＿ＺＭＰ＿ｘ，　ｔｈｒｅｓｈ１＿ＺＭＰ＿ｙ〜ｔｈｒｅｓｈ６＿ＺＭＰ＿ｙ）を設けることで領域を分割し、運用状態を管理する。ここで、支持脚の足部足底面を領域Ａ、領域Ｂ、領域Ｃに分割して、ＺＭＰ位置が現在どの領域に収容されているかによって、運用状態を監視する。
【００６３】
領域Ａ：運用状態が良好な領域
【数１】
ｔｈｒｅｓｈ１＿ＺＭＰ＿ｘ　＜　ＺＭＰ＿ｘ　＜　ｔｈｒｅｓｈ４＿ＺＭＰ＿ｘ
ｔｈｒｅｓｈ１＿ＺＭＰ＿ｙ　＜　ＺＭＰ＿ｙ　＜　ｔｈｒｅｓｈ４＿ＺＭＰ＿ｙ
【００６４】
領域Ｂ：行動・動作目的の続行を最大限に考慮しつつ、運用状態が良好な領域（領域Ａ）にＺＭＰを戻す抑制動作を発動する領域
【数２】
ｔｈｒｅｓｈ２＿ＺＭＰ＿ｘ　＜　ＺＭＰ＿ｘ　＜　ｔｈｒｅｓｈ１＿ＺＭＰ＿ｘ
ｔｈｒｅｓｈ４＿ＺＭＰ＿ｘ　＜　ＺＭＰ＿ｘ　＜　ｔｈｒｅｓｈ５＿ＺＭＰ＿ｘｔｈｒｅｓｈ２＿ＺＭＰ＿ｙ　＜　ＺＭＰ＿ｙ　＜　ｔｈｒｅｓｈ１＿ＺＭＰ＿ｙｔｈｒｅｓｈ４＿ＺＭＰ＿ｙ　＜　ＺＭＰ＿ｙ　＜　ｔｈｒｅｓｈ５＿ＺＭＰ＿ｙ
【００６５】
領域Ｃ：安定領域を拡大又は移動することを目的とした抑制動作を発動する領域
【数３】
ｔｈｒｅｓｈ２＿ＺＭＰ＿ｘ　＜　ＺＭＰ＿ｘ　＜　ｔｈｒｅｓｈ３＿ＺＭＰ＿ｘ
ｔｈｒｅｓｈ５＿ＺＭＰ＿ｘ　＜　ＺＭＰ＿ｘ　＜　ｔｈｒｅｓｈ６＿ＺＭＰ＿ｘｔｈｒｅｓｈ２＿ＺＭＰ＿ｙ　＜　ＺＭＰ＿ｙ　＜　ｔｈｒｅｓｈ３＿ＺＭＰ＿ｙ
ｔｈｒｅｓｈ５＿ＺＭＰ＿ｙ　＜　ＺＭＰ＿ｙ　＜　ｔｈｒｅｓｈ６＿ＺＭＰ＿ｙ
【００６６】
これら各領域にある一定期間ＺＭＰが留まる状態が継続した場合に、運用領域に応じた抑制動作を発動する。あるいは、ＺＭＰの時間変化（速度）の監視も併用してもよい。ある一定期間（時間）変化速度がある値よりも小さい場合に、運用領域に応じた抑制動作を発動する。
【００６７】
抑制動作部：
抑制動作部２６は、システムに作用する外乱情報に基づき，運用可能条件外での運用を未然に回避し、制御系が未対応な状態への遷移を未然に抑制することで，制御系全体の性能を高める。
【００６８】
本実施形態では、抑制動作部２６は、後述する抑制動作判別の結果に基づいて、以下の抑制動作を切り換えて発動する。
【００６９】
▲１▼運用条件を良好に満足する領域にＺＭＰを操作する。この前提として、良好な足部と床面（環境）との接地状態が確保されている。
▲２▼安定領域を拡大又は移動する（支持多角形の移動）。
▲３▼急停止時の衝撃吸収
【００７０】
以下、これらの各抑制動作について詳解する。
【００７１】
（１）運用条件を良好に満足する領域にＺＭＰを操作する抑制動作
運用条件を良好に満足する領域にＺＭＰを操作する抑制動作として、上体運動の停止と、各部位置姿勢操作を挙げることができる。
【００７２】
上体が動作することにより、運用状況がさらに悪化することを未然に防止することができる。
【００７３】
図４には、上体運動を抑止動作するための処理手順をフローチャートの形式で示している。同図に示す例では、運用条件を逸脱する可能性が高まってきた場合に、動作目的に応じて、上体運動を停止するようになっている。
【００７４】
ここで言う「動作目的」とは、例えば頭部に搭載したカメラを利用して対象物をトラッキングしているような思考動作を行なっている場合には首から上の動きを継続するような形態で上体運動を停止することである。また、モーション・データ中にモーションが持つ意味を埋め込むことによって、このような処理を効率的に行なうことができる。
【００７５】
図４に示すように、運用条件を逸脱する可能性が高まってきたときに、頭部の運動を主とする行動をとっていたときには、頭部以外の上体運動を停止する。同様に、腕部の運動を主とする行動をとっていたときには、腕部以外の上体運動を停止し、脚部の運動を主とする行動をとっていたときには全上体運動を停止する。
【００７６】
また、各部の位置姿勢操作を行なうことにより、運用状況がさらに悪化することを未然に防止することができる。
【００７７】
例えば、蹴り力を発生することにより、発生した床反力を用いてＺＭＰを操作することで、運用状態を回復させることができる。
【００７８】
図５には、各部位置姿勢を操作するための処理手順をフローチャートの形式で示している。同図に示す例では、運用条件を逸脱する可能性が高まってきた場合に、動作目的に応じて、優先度を決定し操作部位を判別するようになっている。
【００７９】
図５に示すように、運用条件を逸脱する可能性が高まってきたときに、頭部の運動を主とする行動をとっていたときには、頭部以外の部位を用いてＺＭＰを操作する。同様に、腕部の運動を主とする行動をとっていたときには、腕部以外の部位を用いてＺＭＰを操作し、脚部の運動を主とする行動をとっていたときには、脚部以外の部位を用いてＺＭＰを操作し、上肢の運動を主とする行動をとっていたときには下肢を用いてＺＭＰを操作し、主とする行動がないときには全部位を用いてＺＭＰを操作する。
【００８０】
図６には、システム状態に応じて操作部位を判別するための処理手順をフローチャートの形式で示している。本実施形態では、図３に示すように、支持脚の足部足底面を領域Ａ、領域Ｂ、領域Ｃに分割して、ＺＭＰ位置が現在どの領域に収容されているかによって、運用状態を監視する。ＺＭＰが領域Ａにあるときには何もしないが、ＺＭＰが領域Ｂにあるときには上肢を用いてＺＭＰを操作し、ＺＭＰが領域Ｃにあるときには全身を用いてＺＭＰを操作する。
【００８１】
以下、各部位を操作した場合の作用について詳解する。
【００８２】
▲１▼骨盤部（腰部、上体）姿勢を操作
骨盤部姿勢を操作することで、蹴り力を発生し、ＺＭＰを操作して、運用上体をより良好な状態に回復させる。実ＺＭＰの足底内での位置に従い、骨盤部姿勢操作量を決定する。操作量決定方法の一例を以下に示す（図３を参照のこと）。
【００８３】
足底中心点からのＺＭＰの距離に所定の係数Ｋを乗じて、操作量を決定する。
【００８４】
【数４】
2004130460.tif 000003
【００８５】
図７には、Ｘの−方向へ運用状態が逸脱する可能性が高まってきた場合に、機体の骨盤部姿勢をピッチ軸＋方向に動作させることでＺＭＰを操作する様子を示している。
【００８６】
また、図８には、Ｙの＋方向へ運用状態が逸脱する可能性が高まってきた場合に、骨盤部姿勢をロール軸−方向に動作させることでＺＭＰを操作する様子を示している。
【００８７】
▲２▼重心（腰部、骨盤部）位置を操作
重心（腰部、骨盤部）位置を操作することで、蹴り力を発生し、ＺＭＰを操作して、運用状態をよりよい状態に回復させる（重心を上げる）。例えば、下式に示すように、抑制動作発動時の床反力に従い操作量を決定する。
【００８８】
【数５】
2004130460.tif 000004
【００８９】
また、下式に示すように、抑制動作発動時の運用領域（分割した足部領域：図３を参照のこと）に従い操作量を決定して、ＺＭＰの足底中心点からの距離に応じて操作量を決定するようにしてもよい。
【００９０】
【数６】
2004130460.tif 000005
【００９１】
あるいは、上記の２式に重み付けをして、合わせて操作量を決定するようにしてもよい。
【００９２】
【数７】
2004130460.tif 000006
【００９３】
図９には、Ｘの＋方向へ運用状態が逸脱する可能性が高まってきた場合に、機体の重心位置をＺ軸＋方向に動作させることでＺＭＰを操作する様子を示している。
【００９４】
重心位置によりＺＭＰを操作する際、目標値床反力と実床反力の偏差にある係数を乗じて操作量としてもよい。
【００９５】
その他、以下の部位もＺＭＰ操作のための操作部位として利用することができる。
【００９６】
▲３▼腕部位置姿勢を操作
▲４▼頭部位置姿勢を操作
▲５▼腰部関節（体幹関節）を操作
【００９７】
（２）安定領域を拡大又は移動する（支持多角形の移動）
立脚姿勢状態で最大の安定領域を実現可能な状態は、両脚支持状態である。上述したような抑制動作を行なったにもかかわらず、運用状態が改善できない場合には、運用条件を逸脱する可能性が高い。また、実床反力の値がある値よりも大きい場合も、運用条件を逸脱する可能性が高い。そこで、安定領域を拡大又は移動することにより、より安定度の高い（すなわち、運用条件に適した）状態を確保するようにする。
【００９８】
安定領域を拡大又は移動する抑制動作として、速やかに両脚支持状態へ移行する動作（安定領域（支持多角形）の拡大）と、飛ぶ又ははねるという動作（安定領域（支持多角形）の移動）を挙げることができる。
【００９９】
図１０には、遊脚が着床可能かどうかに応じて安定領域の操作方法を決定するための処理手順をフローチャートの形式で示している。すなわち、遊脚が着床可能であれば、安定領域（運用領域）を拡大する動作を選択し、遊脚が着床可能でなければ、安定領域（運用領域）を移動する動作を選択する。
【０１００】
単脚支持状態にあり、遊脚を着床可能な状態であれば、安定領域を最大限確保するように、歩幅を拡大して、可能な限り安定領域を拡大して、速やかに両脚支持状態へ移行する。
【０１０１】
このときの歩幅操作量は、抑制動作発動時の床反力にしたがって決定することができる。
【０１０２】
【数８】
2004130460.tif 000007
【０１０３】
また、抑制動作発動時の運用領域（分割した足部領域：図３を参照のこと）に従い、歩幅操作量を決定してもよい。
【０１０４】
【数９】
2004130460.tif 000008
【０１０５】
あるいは、上述した２式に重み付けをし、合わせて歩幅操作量を決定するようにしてもよい。
【０１０６】
【数１０】
2004130460.tif 000009
【０１０７】
図１１には、片脚をピッチ方向へ操作して安定領域を拡大する様子を示している。また、図１２には、片脚をロール方向へ操作して安定領域を拡大する様子を示している。
【０１０８】
一方、単脚支持状態にあるが、遊脚を着床不能な状態であれば、安定領域を確保するために、飛ぶ、はねることにより安定領域を移動し、運用条件からの逸脱を回避することができる。例えば、右足支持期にある状態で、さらに右側に安定領域を拡大したい場合、左足を床面に着床したい状態であるが、物理的に不可能であれば、右方向に跳ねる。
【０１０９】
図１３には、Ｙ軸＋方向に遊脚である左足を着床して安定領域を拡大したいが、物理的に遊脚を望む位置に移動することができないため、安定領域を移動することにより運用条件からの逸脱を回避する様子を示している。
【０１１０】
（３）急停止時の衝撃吸収動作
機体が急停止した場合には、関節アクチュエータのサーボ・ゲインを低下させる。このとき、全関節のサーボ・ゲインを同時に低下させてもよいが、部位に応じてサーボ・ゲインの目標値を異なる値に設定してもよいし、部位に応じてサーボ・ゲインを異なるタイミングで低下させるようにしてもよい。
【０１１１】
また、機体が急停止した場合には、膝を曲げて衝撃吸収するようにしてもよい。このような抑制動作により、足部に加わる衝撃力を緩和すことができる。また、重心位置に限らず、例えば腕部、頭部、腰関節など、その他の部位を動作させることにより衝撃吸収動作を行なう。
【０１１２】
図１４には、衝撃吸収動作を発動させる部位を判別するための処理手順をフローチャートの形式で示している。同図に示す例では、運用条件を逸脱する可能性が高まってきた場合に、動作目的に応じて、衝撃吸収動作を行なう部位を判別するようになっている。
【０１１３】
頭部の運動を主とする行動をとっていた場合には、頭部以外の部位を用いて衝撃吸収動作を行なう。また、腕部の運動を主とする行動をとっていた場合には、腕部以外の部位を用いて衝撃吸収動作を行なう。また、脚部の運動を主とする行動をとっていた場合には、脚部以外の部位を用いて衝撃吸収動作を行なう。また、上肢の運動を主とする行動をとっていた場合には、下肢を用いて衝撃吸収動作を行なう。また、主とする行動がない場合には、全部位を用いて衝撃吸収動作を行なう。
【０１１４】
また、図１５には、システムの運用状態に応じて衝撃吸収動作を発動させる部位を判別するための処理手順をフローチャートの形式で示している。本実施形態では、図３に示すように、支持脚の足部足底面を領域Ａ、領域Ｂ、領域Ｃに分割して、ＺＭＰ位置が現在どの領域に収容されているかによって、運用状態を監視する。ＺＭＰが領域Ａにあるときには何もしないが、ＺＭＰが領域Ｂにあるときには上肢を用いて衝撃吸収動作をし、ＺＭＰが領域Ｃにあるときには全身を用いて衝撃吸収動作をする。
【０１１５】
腰部位置を下げることで、床反力を減少させることが可能である。
【０１１６】
また、床反力などの撃力に対するセンサに応答して、アクチュエータの応答性能を確保できる場合には、撃力をリアルタイムで吸収することができる。
【０１１７】
また、撃力に対するセンサの応答やアクチュエータの応答性能を確保することができない場合には、モーションを発動して、現在値から目標値への遷移を行なう。例えば、重心を下げるのであれば、現在重心位置から目標重心位置への遷移を行なうことになる。
【０１１８】
図１６には、モーションの再生により衝撃吸収動作を行なう様子を示している。同図に示す例では、腰部位置をＺ方向に下げることにより、撃力としての床反力を減少させている。このような衝撃吸収動作を行なうことにより、ロボットの機体の電気的及び機械的な損傷や、運用環境の損傷を低減することができるとともに、運用条件からの逸脱を回避することができる。
【０１１９】
抑制動作判別部：
既に述べたように、本実施形態に係る脚式移動ロボットは運用状態（運用条件からの逸脱状態やセンサ情報）に基づいて運用状態逸脱を未然に回避するための抑制動作を切り換える抑制動作判別を行なう機能を備え、これにより効率的且つ的確な運用状態の回復、又は運用状態逸脱の回避を実現することが可能である。また、抑制動作部２６は、この判別結果に基づいて、抑制動作の組み合わせを変えることで、さまざまな状況への対応が可能になる。ここで言う抑制動作は、上述した個々の抑制動作を指す訳ではなく、１以上の抑制動作を組み合わせてなる抑制動作セットを意味する。
【０１２０】
抑制動作判別部は、実ＺＭＰが存在する領域、床反力Ｆｚの大きさ、抑制動作による結果などから、抑制動作を判別する。
【０１２１】
図１７には、実ＺＭＰが存在する領域に基づいて抑制動作を判別するための処理手順をフローチャートの形式で示している。本実施形態では、図３に示すように、支持脚の足部足底面を領域Ａ、領域Ｂ、領域Ｃに分割して、ＺＭＰ位置が現在どの領域に収容されているかによって、運用状態を監視する。抑制動作判別部は、ＺＭＰが領域Ａにあるときには何もしないが、ＺＭＰが領域Ｂにあるときには抑制動作セットＡ（後述）を選択し、ＺＭＰが領域Ｃにあるときには抑制動作セットＢ（後述）を選択する。
【０１２２】
後述する抑制動作を、そのＺＭＰが一定期間停滞した領域に応じ、効率的且つ的確に切り換える。
【０１２３】
また、図１８には、実ＺＭＰが存在する領域、及び床反力Ｆｚの大きさを考慮し、運用状態をレベル分けして抑制動作を判別するための処理手順をフローチャートの形式で示している。
【０１２４】
抑制動作判別部は、ＺＭＰが領域Ａにあるときには、運用状態レベルをレベル１にセットする。また、ＺＭＰが領域Ｂにあるときには、さらに床反力が所定の閾値ｔｈｒｅｓｈｏｌｄ＿Ｆｚを越えるかどうかを判断し、越えない場合は運用状態レベルをレベル２にセットし、越える場合は運用状態レベルをレベル３にセットする。また、ＺＭＰが領域Ｃにあるときには運用状態レベルをレベル３にセットする。
【０１２５】
そして、抑制動作判別部は、上述のようにして判定された運用状態レベルに応じて抑制動作セットを選択する。すなわち、運用状態レベルがレベル１にあるときには何もしないが、レベル２にあるときには抑制動作セットＡ（後述）を選択し、レベル３にあるときには抑制動作セットＢ（後述）を選択する。
【０１２６】
運用状態監視部２５より得た領域にＺＭＰがある一定期間停滞した場合に、抑制動作を発動する。また、同時にそのときの床反力Ｆｚの大きさも考慮し、抑制動作の種類を切り換える。
【０１２７】
また、図１９には、実ＺＭＰが存在する領域、及び抑制動作による結果（連続抑制動作発動回数）を考慮し、運用状態をレベル分けして抑制動作を判別するための処理手順をフローチャートの形式で示している。
【０１２８】
抑制動作判別部は、ＺＭＰが領域Ａにあるときには、運用状態レベルをレベル１にセットする。また、ＺＭＰが領域Ｂにあるときには、さらに抑制動作連続発動回数が所定値ｎを越えるかどうかを判断し、越えない場合は運用状態レベルをレベル２にセットし、越える場合は運用状態レベルをレベル３にセットする。また、ＺＭＰが領域Ｃにあるときには運用状態レベルをレベル３にセットする。
【０１２９】
そして、抑制動作判別部は、上述のようにして判定された運用状態レベルに応じて抑制動作セットを選択する。すなわち、運用状態レベルがレベル１にあるときには何もしないが、レベル２にあるときには抑制動作セットＡ（後述）を選択し、レベル３にあるときには抑制動作セットＢ（後述）を選択する。
【０１３０】
運用状態監視部２５より得た領域にＺＭＰがある一定期間停滞した場合に、抑制動作を発動する。また、同時に、そのときの抑制動作による結果（連続抑制動作発動回数）を合わせて考慮し、抑制動作の種類を切り換える。
【０１３１】
その他、図１７〜図１９に示した各抑制動作判別処理を同時に考慮して、運用状態をレベル分けし、抑制動作を決定するようにしてもよい。
【０１３２】
抑制動作の組み合わせは自由であり、さまざまな状況に合わせて抑制動作の組み合わせを用意する。したがって、図４〜図６以外の判別方法も考えられる。
【０１３３】
ここで、抑制動作セットの例を挙げておく。
【０１３４】
●抑制動作セット例１
◇抑制動作Ａ：
・上肢運動の停止
・骨盤部姿勢操作によるＺＭＰ操作
・重心位置操作によるＺＭＰ操作
◇抑制動作Ｂ：
・安定領域の拡大（速やかに両脚支持状態へ）
・関節サーボ・ゲイン操作（衝撃吸収）
・重心位置（腰部位置）による衝撃吸収動作
【０１３５】
●抑制動作セット例２
◇抑制動作Ａ：
・上肢運動の停止
・骨盤部姿勢操作によるＺＭＰ操作
◇抑制動作Ｂ：
・安定領域の拡大又は移動
・関節サーボ・ゲイン操作により衝撃吸収動作
【０１３６】
なお、本明細書で示した抑制動作セットはあくまで一例であり、抑制動作をさまざまな形態で組み合わせることが可能であり、目的に適った設計を行なうようにすればよい。
【０１３７】
保護動作部（運用状態を逸脱した場合の制御）：
保護動作部２７は、抑制動作部２７において運用状態逸脱を未然に回避することが困難で、運用状態を逸脱した場合における、機体並びに動作環境に対する保護動作を生成する。
【０１３８】
保護動作部２７は、運用状況判別の領域（図３を参照のこと）に従って発動する。さらに逸脱領域を設け、逸脱状態となった場合に発動する。また、抑制動作を行なったにも拘らず、状況が改善しない場合に発動する（抑制動作連続発動回数による判断）。
【０１３９】
図２０には、実ＺＭＰが存在する領域に基づいて抑制動作を判別し、さらに保護動作を発動するための処理手順をフローチャートの形式で示している。本実施形態では、図３に示すように、支持脚の足部足底面を領域Ａ、領域Ｂ、領域Ｃ、領域Ｄに分割して、ＺＭＰ位置が現在どの領域に収容されているかによって、運用状態を監視する。抑制動作判別部は、ＺＭＰが領域Ａにあるときには何もしないが、ＺＭＰが領域Ｂにあるときには抑制動作セットＡを選択し、ＺＭＰが領域Ｃにあるときには抑制動作Ｃを選択し、ＺＭＰがさらのその外側の領域Ｄにあるときは保護動作を選択する。
【０１４０】
また、図２１には、実ＺＭＰが存在する領域、及び床反力Ｆｚの大きさを考慮し、運用状態をレベル分けして抑制動作を判別し、保護動作を発動するための処理手順をフローチャートの形式で示している。
【０１４１】
抑制動作判別部は、ＺＭＰが領域Ａにあるときには、運用状態レベルをレベル１にセットする。また、ＺＭＰが領域Ｂにあるときには、さらに床反力が所定の閾値ｔｈｒｅｓｈｏｌｄ１＿Ｆｚを越えるかどうかを判断し、越えない場合は運用状態レベルをレベル２にセットし、越える場合は運用状態レベルをレベル３にセットする。また、ＺＭＰが領域Ｃにあるときには、さらに床反力が所定の閾値ｔｈｒｅｓｈｏｌｄ２＿Ｆｚを越えるかどうかを判断し、越えない場合は運用状態レベルをレベル３にセットし、越える場合は運用状態レベルをレベル４にセットする。また、ＺＭＰがさらにその外側の領域Ｄにあるときには、運用状態レベルをレベル４にセットする。
【０１４２】
そして、抑制動作判別部は、上述のようにして判定された運用状態レベルに応じて抑制動作セットを選択する。すなわち、運用状態レベルがレベル１にあるときには何もしないが、レベル２にあるときには抑制動作セットＡを選択し、レベル３にあるときには抑制動作セットＢを選択し、レベル４にあるときには保護動作を実行する。
【０１４３】
また、図２２には、実ＺＭＰが存在する領域、及び抑制動作による結果（連続抑制動作発動回数）を考慮し、運用状態をレベル分けして抑制動作を判別するための処理手順をフローチャートの形式で示している。
【０１４４】
抑制動作判別部は、ＺＭＰが領域Ａにあるときには、運用状態レベルをレベル１にセットする。また、ＺＭＰが領域Ｂにあるときには、さらに抑制動作連続発動回数が所定値ｎ１を越えるかどうかを判断し、越えない場合は運用状態レベルをレベル２にセットし、越える場合は運用状態レベルをレベル３にセットする。また、ＺＭＰが領域Ｃにあるときには、さらに抑制動作連続発動回数が所定値ｎ２を越えるかどうかを判断し、越えない場合は運用状態レベルをレベル３にセットし、越える場合は運用状態レベルをレベル４にセットする。また、ＺＭＰがさらにその外側の領域Ｄにあるときには、運用状態レベルをレベル４にセットする。
【０１４５】
そして、抑制動作判別部は、上述のようにして判定された運用状態レベルに応じて抑制動作セットを選択する。すなわち、運用状態レベルがレベル１にあるときには何もしないが、レベル２にあるときには抑制動作セットＡを選択し、レベル３にあるときには抑制動作セットＢを選択し、レベル４にあるときには保護動作を発動する。
【０１４６】
保護動作の具体例としては、関節アクチュエータのサーボ・ゲイン・ダウン、受身姿勢への移行、電源オフ、関節サーボの停止などを挙げることができる。電源オフさせた場合、関節アクチュエータ自身のバック・ドライブ・アビリティにより、サーボ・ゲインをダウンさせたのと同等の効果が得られる。
【０１４７】
関節サーボ・ゲインをダウンする場合、サーボ・ゲインを小さくする順番を操作対象とする。ゲインをダウンさせる順番を部位により変化させる（部位により異なるタイミングでゲイン・ダウンする）。そのダウンさせる軌道を部位毎に変える。これによって、転倒姿勢を操作することにつながる。また、全部位のサーボ・ゲインを小さく又はゼロにする。
【０１４８】
受身姿勢へ移行（関節角度操作）する場合、現在姿勢から目標姿勢への遷移動作を利用する。例えば手の床面へのつき方を場合に応じて変化させる。
【０１４９】
また、機体の電源をオフにする場合、オフする順番を部位により変化させる。これによって、転倒姿勢を操作することにつながる。
【０１５０】
また、関節サーボをオフにする場合、オフにする順番を部位により変化させる。これによって、転倒姿勢を操作することにつながる。
【０１５１】
関節サーボ・ゲイン操作：
最後に、抑制動作及び保護動作手段の一つである関節サーボ・ゲイン操作について説明する。
【０１５２】
脚式移動ロボットと運用環境との接触時（衝突時）に発生する機械的損傷の大きさを示す指標として、脚式移動ロボット内部及び被衝突物体内部に発生する応力を用いることができる。応力εは以下の式で近似することができる。
【０１５３】
【数１１】
2004130460.tif 000010
【０１５４】
ここで、ΔＬは衝突時の運動量変化、Ｓは応力発生部の断面積、Δｔは衝突に要する時間である。上式によれば、衝突に要する時間Δｔが極力大きくなるように脚式移動ロボットを制御することにより、衝突時に発生する応力を小さくすることができ、衝突力による機械的損傷を軽減することが可能であることが分かる。この衝突時間Δｔ長くするための脚式移動ロボットの動作制御方法を提供する。
【０１５５】
脚式移動ロボットの関節サーボ・ゲインの値を操作し、機械剛性を仮想的に変化させることで、衝突にようする時間を増大させ、脚式移動ロボット及び運用環境に作用する衝撃力を緩和させる。
【０１５６】
上肢及び下肢の関節が位置制御されている場合、一般に各関節に発生させるトルクは以下の式で表現される。
【０１５７】
【数１２】
2004130460.tif 000011
【０１５８】
ここでτは発生トルク、Δθは関節角偏差、Ｋｐ、Ｋｄ、Ｋｉはそれぞれ比例ゲイン、速度ゲイン、積分ゲインを表している。
【０１５９】
例えば，図２３のように，保護動作開始時（ゲインダウン開始時）に比例ゲインＫｐをステップ状に減少させ、関節剛性を低下させることで、図２４に示すような関節にばね定数の低いばねが挿入されているのと同等の特性を与えることができることから、高ゲインのまま衝突する場合に比べて、衝突時間を長くすることができる。
【０１６０】
すなわち、ゲインを下げなかった場合は、図２５の実線に示すように、衝突時間は短く発生衝撃力の最大値も大きくなる。これに対し、ゲインを下げることで図２５の破線のように衝突に要する時間を長くすることができ、その結果として発生衝撃力の最大値を小さく抑えることができる。
【０１６１】
さらに、図２６に示すように、保護動作時に速度ゲインを負の値に設定することで、図２７に示すように、関節にダンパとばねが挿入されているのと同等の特性を得ることができ、着床時の振動に減衰効果を与えるようにしてもよい。
【０１６２】
あるいは、上記のサーボ・ゲインはステップ状の変化のみならず、運用条件逸脱の可能性があると判断された後、任意の時間的変化をするように設定しても良い。例えば、図２８に示すように、比例ゲインを減少から増加へ、速度ゲインを負の値で減少するように変化させることで、関節に非線形なばね及びダンパが挿入されているのと同様の特性を与え、衝撃力を軽減するとともに、減衰効果を与え、なお且つ、関節目標値に復帰する効果を与えることが可能になる。
【０１６３】
あるいは、ゲインを変更する時刻を全ての関節において同一とするのではなく、関節部位毎にサーボ・ゲインの変更開始時刻、変更速度を設定するようにしてもよい。例えば、図２９に示すように、足首関節、膝関節、股関節の順に比例ゲインを低下させることで、衝突部位付近の衝撃力を軽減するとともに、ゲインが未だ低下していない関節に関しては計画軌道を維持させる効果を得ることができる。
【０１６４】
あるいは、ゲインの変更方法は、転倒状況に応じたゲイン変更方法をテーブル方式で記憶しておき、テーブルを参照してゲインを変更するようにしてもよい。例えば、ロボットに保護動作発動方向手段を装備し、保護動作発動方向毎に関節部位のゲイン値の時刻列をテーブル上に記憶しておき、上記保護動作発動方向手段の出力結果に応じてテーブルをルックアップし、ゲインの変更方法を決定するようにすることで、保護動作発動方向毎に衝撃を吸収するのに最適なゲイン変更を行なうことができる。
【０１６５】
あるいは、ゲインの値を零としてもよい。ゲインの値をゼロにすることで、保護動作発動時に機械的損傷を生じ易いギヤ部の破損を軽減することができる。
【０１６６】
その他、上述した例ではサーボ・ゲインを操作量としたのに対し、関節角（角速度，角加速度を含む）の目標値を操作量として、脚式移動ロボットの機械剛性を仮想的に変化させることで、脚式移動ロボット及び運用環境に作用する衝撃力を緩和することも可能である。
【０１６７】
［追補］
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。
【０１６８】
本発明の要旨は、必ずしも「ロボット」と称される製品には限定されない。すなわち、電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置であるならば、例えば玩具等のような他の産業分野に属する製品であっても、同様に本発明を適用することができる。
【０１６９】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【発明の効果】
以上詳記したように、本発明によれば、運用条件からの逸脱を未然に防止して制御系全体の性能を高める、優れた脚式移動ロボットの動作制御装置及び動作制御方法を提供することができる。
【０１７０】
また、本発明によれば、機体の制御系が保証する運用条件を逸脱した場合において、システムの挙動が与える機体及び運用環境への影響を最小限に抑えることができる、優れた脚式移動ロボットの動作制御装置及び動作制御方法を提供することができる。
【図面の簡単な説明】
【図１】本発明の実施に供される脚式移動ロボットの自由度構成を模式的に示した図である。
【図２】本発明の一実施形態に係る脚式移動ロボットに適用される動作制御システムの機能構成を模式的に示した図である
【図３】ＺＭＰを監視するための方法の一例を示した図である。
【図４】上体運動を抑止動作するための処理手順を示したフローチャートである。
【図５】各部位置姿勢を操作するための処理手順を示したフローチャートである。
【図６】システム状態に応じて操作部位を判別するための処理手順を示したフローチャートである。
【図７】Ｘの−方向へ運用上体が逸脱する可能性が高まってきた場合に、機体の骨盤部姿勢をピッチ軸＋方向に動作させることでＺＭＰを操作する様子を示した図である。
【図８】Ｙの＋方向へ運用状態が逸脱する可能性が高まってきた場合に、骨盤部姿勢をロール軸＋方向に動作させることでＺＭＰを操作する様子を示した図である。
【図９】Ｘの＋方向へ運用状態が逸脱する可能性が高まってきた場合に、機体の重心位置をＺ軸＋方向に動作させることでＺＭＰを操作する様子を示した図である。
【図１０】遊脚が着床可能かどうかに応じて安定領域の操作方法を決定するための処理手順を示したフローチャートである。
【図１１】片脚をピッチ方向へ操作して安定領域を拡大する様子を示した図である。
【図１２】片脚をロール方向へ操作して安定領域を拡大する様子を示した図である。
【図１３】安定領域を移動することにより運用条件からの逸脱を回避する様子を示した図である。
【図１４】衝撃吸収動作を発動させる部位を判別するための処理手順を示したフローチャートである。
【図１５】システムの運用状態に応じて衝撃吸収動作を発動させる部位を判別するための処理手順を示したフローチャートである。
【図１６】モーションの再生により衝撃吸収動作を行なう様子を示した図である。
【図１７】実ＺＭＰが存在する領域に基づいて抑制動作を判別するための処理手順を示したフローチャートである。
【図１８】実ＺＭＰが存在する領域、及び床反力Ｆｚの大きさを考慮し、運用状態をレベル分けして抑制動作を判別するための処理手順を示したフローチャートである。
【図１９】実ＺＭＰが存在する領域、及び抑制動作による結果（連続抑制動作発動回数）を考慮し、運用状態をレベル分けして抑制動作を判別するための処理手順を示したフローチャートである。
【図２０】実ＺＭＰが存在する領域に基づいて保護動作を発動するための処理手順を示したフローチャートである。
【図２１】実ＺＭＰが存在する領域、及び床反力Ｆｚの大きさを考慮し、運用状態をレベル分けして保護動作を発動するための処理手順を示したフローチャートである。
【図２２】実ＺＭＰが存在する領域、及び抑制動作による結果（連続抑制動作発動回数）を考慮し、運用状態をレベル分けして保護動作を発動するための処理手順を示したフローチャートである。
【図２３】保護動作開始時（ゲインダウン開始時）に比例ゲインＫｐをステップ状に減少させ、関節剛性を低下させる様子を示した図である。
【図２４】保護動作開始時（ゲインダウン開始時）に比例ゲインＫｐをステップ状に減少させ、関節剛性を低下させることで、関節にばね定数の低いばねが挿入されている効果が得られる様子を示した図である。
【図２５】衝突開始からの時間と衝突力との関係を示した図である。
【図２６】保護動作時に速度ゲインを負の値に設定する様子を示した図である。
【図２７】保護動作時に速度ゲインを負の値に設定することで、関節にダンパとばねが挿入されている効果を得る様子を示した図である。
【図２８】比例ゲインを減少から増加へ、速度ゲインを負の値で減少するように変化させる様子を示した図である。
【図２９】足首関節、膝関節、股関節の順に比例ゲインを低下させる様子を示した図である。
【符号の説明】
２１…ロボット状態観測部
２２…環境形状観測部
２３…外力・外モーメント観測部
２４…上肢・下肢要求運動入力部
２５…運用状況監視部
２６…抑制動作部
２７…保護動作部
２８…歩容生成部
２９…全身関節駆動部
【図１】
2004130460.tif 000012
【図２】
2004130460.tif 000013
【図３】
2004130460.tif 000014
【図４】
2004130460.tif 000015
【図５】
2004130460.tif 000016
【図６】
2004130460.tif 000017
【図７】
2004130460.tif 000018
【図８】
2004130460.tif 000019
【図９】
2004130460.tif 000020
【図１０】
2004130460.tif 000021
【図１１】
2004130460.tif 000022
【図１２】
2004130460.tif 000023
【図１３】
2004130460.tif 000024
【図１４】
2004130460.tif 000025
【図１５】
2004130460.tif 000026
【図１６】
2004130460.tif 000027
【図１７】
2004130460.tif 000028
【図１８】
2004130460.tif 000029
【図１９】
2004130460.tif 000030
【図２０】
2004130460.tif 000031
【図２１】
2004130460.tif 000032
【図２２】
2004130460.tif 000033
【図２３】
2004130460.tif 000034
【図２４】
2004130460.tif 000035
【図２５】
2004130460.tif 000036
【図２６】
2004130460.tif 000037
【図２７】
2004130460.tif 000038
【図２８】
2004130460.tif 000039
【図２９】
2004130460.tif 000040