(57)【要約】【課題】外乱の作用時に、ハードウェアや環境の制約に則った適切な遊脚の着地位置を設定する。【解決手段】外乱作用時の遊脚の着地位置の決定に際して、電子制御ユニット１は、ハードウェアの制約により決定される遊脚の着地可能域を第１の着地可能域として算出するとともに、環境の制約により決定される遊脚の着地可能域を第２の着地可能域として算出する。そして電子制御ユニット１は、第１及び第２の着地可能域のＡＮＤ領域を抽出し、その抽出したＡＮＤ領域を、外乱が作用したときの遊脚の着地可能域として演算する。【選択図】図１
2011206903.tif 000002
【特許請求の範囲】
【請求項１】
２つの脚を交互に踏み出して歩行する２足歩行ロボットにおいて、
当該ロボットのハードウェアの制約により決定される遊脚の着地可能域を第１の着地可能域として算出する第１の算出手段と、
環境の制約により決定される遊脚の着地可能域を第２の着地可能域として算出する第２の算出手段と、
前記第１及び第２の着地可能域のＡＮＤ領域を抽出し、その抽出したＡＮＤ領域を前記遊脚の着地可能域として演算する演算手段と、
を備えることを特徴とする２足歩行ロボット。
【請求項２】
前記第１の算出手段は、前記遊脚の最大足先速度及び最大足先加速度から着地までに前記遊脚が到達可能な領域を求め、その求めた領域に基づいて前記第１の着地可能域を算出する
請求項１に記載の２足歩行ロボット。
【請求項３】
前記第１の算出手段は、支持脚と前記遊脚との干渉を防止可能な前記遊脚の着地可能領域と、当該ロボットの関節の可動域から決定される前記遊脚の着地可能領域と、着地までに前記遊脚が到達可能な領域として前記遊脚の最大足先速度及び最大足先加速度から求められた前記遊脚の着地可能領域とのＡＮＤ領域を、前記第１の着地可能域として算出する
請求項１に記載の２足歩行ロボット。
【請求項４】
前記第１及び第２の着地可能域は、凸多角形としてそれぞれ算出される
請求項１〜３のいずれか１項に記載の２足歩行ロボット。
【請求項５】
２つの脚を交互に踏み出して歩行する２足歩行ロボットの外乱作用時の制御を行う方法であって、
当該ロボットのハードウェアの制約により決定される遊脚の着地可能域を第１の着地可能域として算出する第１のステップと、
環境の制約により決定される前記遊脚の着地可能域を第２の着地可能域として算出する第２のステップと、
前記第１及び前記第２の着地可能域のＡＮＤ領域を抽出する第３のステップと、
前記第３のステップで抽出された前記ＡＮＤ領域を前記遊脚の着地可能域として演算する第４のステップと、
を備えることを特徴とする２足歩行ロボットの制御方法。
【請求項６】
前記第１のステップでは、前記遊脚の最大足先速度及び最大足先加速度から着地までに前記遊脚が到達可能な領域が求められ、その求められた領域に基づいて前記第１の着地可能域が算出される
請求項５に記載の２足歩行ロボットの制御方法。
【請求項７】
前記第１のステップは、
支持脚と前記遊脚との干渉を防止可能な前記遊脚の着地可能域を求めるステップと、
当該ロボットの関節の可動域から決定される前記遊脚の着地可能域を求めるステップと、
着地までに前記遊脚が到達可能な領域を同遊脚の最大足先速度及び最大足先加速度から求めるとともに、その求めた領域を前記遊脚の着地可能域として求めるステップと、
以上の３つのステップで求められた着地可能域のＡＮＤ領域を、前記第１の着地可能域として算出するステップと、
を通じて行われる請求項５に記載の２足歩行ロボットの制御方法。
【請求項８】
前記第１及び第２の着地可能域は、凸多角形として算出される
請求項５〜７のいずれか１項に記載の２足歩行ロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２つの脚を交互に踏み出して歩行する２足歩行ロボット及びその制御方法に関する。
【背景技術】
【０００２】
近年、特許文献１や非特許文献１等に見られるように、２本の足でバランスを取りながら歩行する２足歩行ロボットの実用化に向けた研究、開発が進められている。ロボットの２足歩行は、節と関節とからなるリンク機構として構成された脚の関節をアクチュエーターで駆動することで行われる。
【０００３】
こうした２足歩行ロボットの歩行制御において、ロボットに外乱が作用した場合には、（１）まず支持多角形からゼロモーメントポイント（ＺＭＰ）がはみ出さない範囲で踏ん張る、（２）踏ん張り切れないときには、次の１歩の着地位置を変更して転倒を回避する、というのが基本的な制御の流れとなっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０９−２０１７８２号公報
【非特許文献】
【０００５】
【非特許文献１】日本ロボット学会誌  Ｖｏｌ．２５  Ｎｏ．６  ８３４〜８４１頁，２００７  ヒューマノイドのための短周期オンライン歩行軌道生成更新法
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記（２）の制御に際しては、姿勢の立て直しに最適な位置が遊脚の着地位置として決定されるようになっている。しかしながら、ロボットの姿勢の安定性のみを考慮して着地位置を決定すると、ロボットのハードウェアの制約や障害物などの環境の制約のため、実際には実現不能な着地位置が算出されてしまうことがある。そのため、歩行中に外乱が作用すると、支持脚と遊脚とが干渉したり、関節が可動域を超えて駆動されようとしたり、アクチュエーターのスペックを超える遊脚軌道が設定されたり、遊脚が障害物に当ったりしてしまうことがあった。
【０００７】
本発明は、こうした実情に鑑みてなされたものであり、その解決しようとする課題は、外乱の作用時に、ハードウェアや環境の制約に則った適切な遊脚の着地位置を設定することのできる２足歩行ロボット及びその制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、請求項１に記載の発明は、２つの脚を交互に踏み出して歩行する２足歩行ロボットにおいて、当該ロボットのハードウェアの制約により決定される遊脚の着地可能域を第１の着地可能域として算出するとともに、環境の制約により決定される遊脚の着地可能域を第２の着地可能域として算出するようになる。そして請求項１に記載の発明は、第１及び第２の着地可能域のＡＮＤ領域を抽出し、その抽出したＡＮＤ領域が遊脚の着地可能域として演算するようにしている。
【０００９】
こうした構成では、環境とハードウェアとの双方の制約を満すように外乱作用時の遊脚の着地可能域が演算されるようになる。そのため、上記構成によれば、外乱の作用時に、ハードウェアや環境の制約に則った適切な遊脚の着地位置を設定することができるようになる。
【００１０】
なお、第１の算出手段は、例えば請求項２によるように、遊脚の最大足先速度及び最大足先加速度から着地までに遊脚が到達可能な領域を求め、その求めた領域に基づいて第１の着地可能域を算出するように構成することができる。
【００１１】
また、請求項３によるように、支持脚と前記遊脚との干渉を防止可能な前記遊脚の着地可能領域と、当該ロボットの関節の可動域から決定される遊脚の着地可能領域と、着地までに遊脚が到達可能な領域として遊脚の最大足先速度及び最大足先加速度から求められた遊脚の着地可能領域とのＡＮＤ領域を、第１の着地可能域として算出すべく第１の算出手段を構成することも可能である。
【００１２】
更に請求項４によるように、第１及び第２の着地可能域を、凸多角形としてそれぞれ算出するようにすれば、それらのＡＮＤ領域の演算に、高速に演算可能な既存のアルゴリズムを利用できるため、外乱作用時の遊脚の着地可能域の演算を短時間で行うことができるようになる。
【００１３】
一方、２つの脚を交互に踏み出して歩行する２足歩行ロボットの外乱作用時の制御を行う方法としての請求項５に記載の発明では、次の各ステップを通じて遊脚の着地可能域が演算されるようになる。すなわち、（Ａ）当該ロボットのハードウェアの制約により決定される遊脚の着地可能域を第１の着地可能域として算出する第１のステップ、（Ｂ）環境の制約により決定される遊脚の着地可能域を第２の着地可能域として算出する第２のステップ、（Ｃ）第１及び第２の着地可能域のＡＮＤ領域を抽出する第３のステップ、及び（Ｄ）第３のステップで抽出されたＡＮＤ領域を遊脚の着地可能域として決定する第４のステップ、の４つのステップである。
【００１４】
こうした制御方法によれば、環境とハードウェアとの双方の制約を満すように外乱作用時の遊脚の着地可能域を演算することができる。したがって、上記制御方法によれば、外乱の作用時に、ハードウェアや環境の制約に則った適切な遊脚の着地位置を設定することができるようになる。
【００１５】
なお、上記第１のステップは、請求項６によるように、遊脚の最大足先速度及び最大足先加速度から着地までに遊脚が到達可能な領域を求め、その求めた領域に基づいて第１の着地可能域を算出するように設定することができる。
【００１６】
また、第１のステップは、請求項７によるように、（ａ）支持脚と前記遊脚との干渉を防止可能な前記遊脚の着地可能域を求めるステップ、（ｂ）当該ロボットの関節の可動域から決定される遊脚の着地可能域を求めるステップ、（ｃ）着地までに前記遊脚が到達可能な領域を同遊脚の最大足先速度及び最大足先加速度から求めるとともに、その求めた領域を前記遊脚の着地可能域として求めるステップ、及び（ｄ）以上の３つのステップで求められた着地可能域のＡＮＤ領域を、第１の着地可能域として算出するステップ、を通じて第１の着地可能域を算出するように設定することも可能である。
【００１７】
ちなみに、請求項８によるように、第１及び第２の着地可能域を凸多角形としてそれぞれ算出するようにすれば、それらのＡＮＤ領域の演算に、高速に演算可能な既存のアルゴリズムを利用できるため、外乱作用時の遊脚の着地可能域の演算を短時間で行うことができるようになる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態についてその２足歩行ロボットの外乱作用時の遊脚の着地可能域の演算に係る制御構造を模式的に示す略図。
【図２】支持脚と遊脚との干渉を防止可能な遊脚の着地可能域を示す平面図。
【図３】可動域の制限に基づく遊脚の着地可能域を示す平面図。
【図４】前後方向における可動域の制限に基づく遊脚の着地可能域を示す側面図。
【図５】足先速度、足先加速度の制約に基づく遊脚の着地可能域を示す平面図。
【図６】前後方向における足先速度、足先加速度の制約に基づく遊脚の着地可能域を示す側面図。
【図７】着地時のＸ方向における足先位置が最大となるときの着地までの足先位置の推移を示すグラフ。
【図８】着地時のＸ方向における足先位置が最大となるときの着地までの足先速度の推移を示すグラフ。
【図９】着地時のＸ方向における足先位置が最大となるときの着地までの足先加速度の推移を示すグラフ。
【図１０】着地時のＸ方向における足先位置が最小となるときの着地までの足先位置の推移を示すグラフ。
【図１１】着地時のＸ方向における足先位置が最小となるときの着地までの足先速度の推移を示すグラフ。
【図１２】着地時のＸ方向における足先位置が最小となるときの着地までの足先加速度の推移を示すグラフ。
【図１３】ハードウェアの制約により決定される遊脚の着地可能域を示す平面図。
【図１４】２足歩行ロボットと障害物との関係を示す平面図。
【図１５】環境の制約により決定される遊脚の着地可能域の演算手順の第１段階を示す平面図。
【図１６】環境の制約により決定される遊脚の着地可能域の演算手順の第２段階を示す平面図。
【図１７】環境の制約により決定される遊脚の着地可能域の演算手順の第３段階を示す平面図。
【図１８】ハードウェアの制約と環境の制約との双方を満すように設定された遊脚の着地可能域を示す平面図。
【図１９】着地可能域演算処理における電子制御ユニットの処理手順を示すフローチャート。
【発明を実施するための形態】
【００１９】
以下、本発明の２足歩行ロボット及びその制御方法を具体化した一実施形態を、図１〜図１９を参照して詳細に説明する。
本実施形態の２足歩行ロボットは、通常は、歩行軌道を予め計画しておき、その歩行軌道に沿って歩行を行っている。ただし、外部から力を受けるなどの外乱の作用時には、予め計画された歩行軌道に沿った歩行を中断し、姿勢を安定するように遊脚を動かすことで、転倒を防止するようにしている。
【００２０】
図１は、こうした本実施の形態の２足歩行ロボットにおける外乱作用時の遊脚の着地位置の決定に係る制御構造を示している。同図に示す電子制御ユニット１は、２足歩行ロボットに搭載されて、その制御全般を司るコンピューターユニットとして構成されている。電子制御ユニット１は、ロボットに外乱が作用すると、ロボットのハードウェアの制約により決定される遊脚の着地可能域を第１の着地可能域として算出する処理と、環境の制約により決定される遊脚の着地可能域を第２の着地可能域として算出する処理とを実施する。そして電子制御ユニット１は、算出した第１及び第２の着地可能域のＡＮＤ領域を抽出し、その抽出したＡＮＤ領域を、外乱作用時の遊脚の着地可能域として演算する。その後、電子制御ユニット１は、演算した着地可能域内で、姿勢の安定に最適な遊脚の着地位置を決定し、その位置に遊脚が着地されるようにアクチュエーター２に指令する。
【００２１】
以下、こうした外乱作用時の遊脚の着地位置の決定に係る遊脚着地可能域の算出ロジックの詳細を説明する。
Ａ．ハードウェアの制約により決定される遊脚の着地可能域の算出
まずハードウェアの制約により決定される遊脚の着地可能域の算出について説明する。この算出は、以下の各ステップ（ａ）〜（ｄ）を通じて行われる。
【００２２】
（ａ）支持脚と遊脚との干渉を防止可能な遊脚の着地可能域を求めるステップ
上記のような遊脚の着地可能域の算出に際しては、まず、ロボットの自己干渉を、すなわち支持脚と遊脚との干渉を防止可能な遊脚の着地可能域が求められる。ここでは、支持脚と交差しないように遊脚を動かすことで、支持脚と遊脚との干渉を回避することとしている。したがって、支持脚と遊脚との干渉を防止可能な遊脚の着地可能域は、図２にハッチングで示す範囲となる。すなわち、干渉を防止可能な遊脚の着地可能域は、支持脚と遊脚との間を通る直線に対して遊脚側の領域となる。
【００２３】
（ｂ）関節の可動域から決定される遊脚の着地可能域を求めるステップ
２足歩行ロボットの各関節には、可動域が決っている。そのため、遊脚の着地可能域は、関節の可動域により制限されることになる。この関節の可動域から決定される遊脚の着地可能域は、例えば図３にハッチングで示す範囲となる。
【００２４】
この範囲は、次の手順で算出される（図４参照）。すなわち、まずロボットＲの現在の重心位置及びその速度と目標ＺＭＰ（ゼロ・モーメント・ポイント）位置から、単脚支持期の終端（遊脚の着地時）における重心位置を予測する。次に、ロボットＲの現在の重心位置と腰位置との相対ベクトルを、単脚支持期終端の重心位置に加えることで、単脚支持期終端の腰位置を予測する。なお歩行軌道の計画に際し、腰位置の軌道を生成している場合には、その生成した軌道から単脚支持期終端のロボットＲの腰位置を求めることができる。続いて、求められた単脚支持期終端の腰位置にて、ロボットＲの脚の各関節を可動域限界まで動かしたときの遊脚の着地位置を計算する。以上により、関節の可動域から決定される遊脚の着地可能域が算出される。
【００２５】
（ｃ）着地までに遊脚が到達可能な領域を同遊脚の最大足先速度及び最大足先加速度から求めるとともに、その求めた領域を遊脚の着地可能域として求めるステップ
各関節を動かすアクチュエーターの動作速度や発生トルクにより、ロボットの足先速度及び足先加速度には限界がある。そしてその限界により、着地までに遊脚を動かすことのできる範囲が制限されるようになる。このステップでは、そうした範囲が、例えば図５にハッチングで示される矩形の範囲として求められる。
【００２６】
ここで図６に示すように、現在の遊脚の足先位置を「Ｘｓｗ０」、足先速度を「Ｖｓｗ０」とし、単脚支持期終端の足先位置を「Ｘｓｗ１」、足先速度を「Ｖｓｗ１」とする。
ここではまず、遊脚の最大足先速度を考慮したときのロボット前後方向（以下、「Ｘ方向」と記載する）における遊脚の到達可能範囲を求める。以下では、Ｘ方向における遊脚の最大足先速度を「Ｖｍａｘ」、同じくＸ方向における最大足先加速度を「Ａｍａｘ」と表すこととする。
【００２７】
Ｘ方向における遊脚の足先位置ｘの軌跡を３次関数ｆ（ｔ）に近似すると、着地時Ｔまでの足先位置ｘの軌跡は図７に示すようになる。このときの遊脚の足先速度ｖの軌跡は、図８に示すような２次関数ｆ’（ｔ）で表され、足先加速度ａの軌跡は、図９に示すような１次関数ｆ”（ｔ）で表されることになる。すなわち、このときの足先速度ｖの軌跡は、図８に示すような「σｖ」を極値とする放物線となり、足先加速度ａの軌跡は、図９に示すような直線となる。
【００２８】
上記のように現在の、すなわち時刻「０」の足先位置ｘは「Ｘｓｗ０」であり、そのときの足先速度ｖは「Ｖｓｗ０」となっている。また単脚支持期終端の時刻を「Ｔ」とすると、その時刻Ｔにおける遊脚の足先速度ｖは「０」となる。更に、最大足先速度Ｖｍａｘを考慮した場合、単脚支持期終端の遊脚の足先位置ｆ（Ｔ）が最大となるのは、すなわち遊脚が最も前方に踏み出されるのは、Ｘ方向の足先速度ｖの極値σｖが最大足先速度Ｖｍａｘとなるときである。したがって、最大足先速度Ｖｍａｘを考慮した場合において、単脚支持期終端の遊脚の足先位置ｆ（Ｔ）が最大となるときには、下式（１）〜（４）の関係が得られることになる。
【００２９】
【数１】
2011206903.tif 000003
ここでＸ方向における遊脚の足先位置ｘの軌跡を下式（５）のような係数α、β、γ、σを有した３次関数ｆ（ｔ）と置くと、Ｘ方向における遊脚の足先速度ｖの軌跡は下式（６）のような２次関数ｆ’（ｔ）として、またＸ方向における遊脚の足先加速度ａの軌跡は下式（７）のような１次関数ｆ”（ｔ）として、それぞれ表されるようになる。
【００３０】
【数２】
2011206903.tif 000004
ここで上式（５）に上式（１）の関係を代入すると、下式（８）の通りとなり、係数σの値が定まるようになる。また上式（６）に上式（２）の関係を代入すると、下式（９）の通りとなり、係数σの値が定まることになる。更に上式（６）に上式（３）の関係を代入すると、下式（１０）のような関係式が得られるようになる。
【００３１】
【数３】
2011206903.tif 000005
ここで下式（１１）のように、足先速度ｖが極値σｖを取るときの足先加速度ａは「０」となる。したがって、足先速度ｖが極値σｖを取る時刻を「ｔａ」とすると下式（１２）が得られ、これを解くことで下式（１３）のように時刻ｔａの値が「−β／３α」であることが求められる。
【００３２】
【数４】
2011206903.tif 000006
一方、足先速度ｖの軌跡は、上式（７）で表される。よって、時刻ｔが「ｔａ（＝−β／３α）」のときの足先速度ｖ、すなわちｆ’（−β／３α）から下式（１４）のような、係数αと係数βの関係式が得られるようになる。
【００３３】
【数５】
2011206903.tif 000007
この式（１４）からは、下式（１５）が導かれ、この式（１５）からは更に下式（１６）が導かれる。すなわち、下式（１６）のように、係数β、現在の足先速度Ｖｓｗ０及び最大足先速度Ｖｍａｘを用いて係数αが表されるようになる。
【００３４】
【数６】
2011206903.tif 000008
上式（１０）の「α」を上式（１６）の右辺で置換すれば、下式（１７）が得られ、この式（１７）からは、下式（１８）のような、係数βについての２次方程式が得られるようになる。したがって、この２次方程式を解くことで、係数βの値が定まり、ひいては係数αの値も定まるようになる。
【００３５】
【数７】
2011206903.tif 000009
以上により、上式（５）のすべての係数が求まる。すなわち、着地までの期間に足先速度ｖが最大足先速度Ｖｍａｘを取るように、遊脚を前方に踏み出したときのＸ方向における遊脚の足先位置ｘの軌跡が求まるようになる。したがって、最大足先速度Ｖｍａｘを考慮した場合においての、単脚支持期終端の遊脚の足先位置ｆ（Ｔ）の最大値Ｘｍａｘ１が求められることになる。
【００３６】
次に、同様に最大足先速度Ｖｍａｘを考慮したときの単脚支持期終端の遊脚の足先位置ｆ（Ｔ）の最小値Ｘｍｉｎ１を計算する。このときにも、Ｘ方向の足先位置ｘの軌跡を図１０のような３次関数に近似すると、Ｘ方向の足先速度ｖの軌跡は、図１１のような２次関数となり、Ｘ方向の足先加速度ａの規制は、図１２のような１次関数となる。この場合、Ｘ方向の足先速度ｖの軌跡は、極値σｖを持つ、下に凸の放物線となる。
【００３７】
ここで単脚支持期終端の遊脚の足先位置ｆ（Ｔ）が最小となるのは、すなわち遊脚が最も後方に踏み戻されるのは、Ｘ方向の足先速度ｖの極値σｖが「−Ｖｍａｘ」となるときである。したがって、最大足先速度Ｖｍａｘを考慮した場合において、単脚支持期終端の遊脚の足先位置ｆ（Ｔ）が最小となるときには、下式（１９）〜（２２）の関係が得られることになる。そしてこれらの関係からは、先程と同様にして、最大足先速度Ｖｍａｘを考慮した場合における単脚支持期終端の遊脚の足先位置ｆ（Ｔ）の最小値Ｘｍｉｎ１を求めることができる。
【００３８】
【数８】
2011206903.tif 000010
次に、最大足先加速度Ａｍａｘを考慮したときの単脚支持期終端の遊脚の足先位置ｆ（Ｔ）の最大値Ｘｍａｘ２を計算する。遊脚が前に踏み出されるときのＸ方向の足先加速度ａの軌跡は、Ｘ方向の足先位置ｘの軌跡を３次関数で近似した場合には、図９に示したような１次関数となる。同図に示すように、足先加速度ａは、現在、すなわち時刻ｔが「０」のときに最大値ａｍａｘを取り、単脚支持期終端、すなわち時刻ｔが「Ｔ」のときに最小値ａｍｉｎを取る。したがって、遊脚が着地するまでの期間に足先加速度ａの絶対値が最大足先加速度Ａｍａｘを取るのであれば、それは時刻ｔが「０」又は「Ｔ」のときのいずれかとなる。
【００３９】
ここで時刻ｔが「０」のときに足先加速度ａの絶対値が最大足先加速度Ａｍａｘとなる場合には、下式（２３）〜（２６）の関係が得られるようになる。そしてこれらの関係からは、この場合における単脚支持期終端の遊脚の足先位置ｆ（Ｔ）の最大値Ｘｍａｘ２ａを求めることができる。
【００４０】
【数９】
2011206903.tif 000011
一方、時刻ｔが「Ｔ」のときに足先加速度ａの絶対値が最大足先加速度Ａｍａｘとなる場合には、下式（２７）〜（３０）の関係が得られるようになる。これらの関係からも、この場合における単脚支持期終端の遊脚の足先位置ｆ（Ｔ）の最大値Ｘｍａｘ２ｂを求めることができる。
【００４１】
【数１０】
2011206903.tif 000012
こうして２つの最大値Ｘｍａｘ２ａ、Ｘｍａｘ２ｂが求められる。ここでは、それらの内、絶対値が小さい方の値を、最大足先加速度Ａｍａｘを考慮したときの単脚支持期終端の遊脚の足先位置ｆ（Ｔ）の最大値Ｘｍａｘ２として採用するようにしている。
【００４２】
続いて最大足先加速度Ａｍａｘを考慮したときの単脚支持期終端の遊脚の足先位置ｆ（Ｔ）の最小値Ｘｍｉｎ２を計算する。遊脚が後ろに踏み戻されるときのＸ方向の足先加速度ａの軌跡は、Ｘ方向の足先位置ｘの軌跡を３次関数で近似した場合には、図１２に示したような１次関数となる。同図に示すように、足先加速度ａは、現在、すなわち時刻ｔが「０」のときに最小値ａｍｉｎを取り、単脚支持期終端、すなわち時刻ｔが「Ｔ」のときに最大値ａｍａｘを取る。したがって、遊脚が着地するまでの期間に足先加速度ａの絶対値が最大足先加速度Ａｍａｘを取るのであれば、それは時刻ｔが「０」又は「Ｔ」のときのいずれかとなる。
【００４３】
ここで時刻ｔが「０」のときに足先加速度ａの絶対値が最大足先加速度Ａｍａｘとなる場合には、下式（３１）〜（３４）の関係が得られるようになる。そしてこれらの関係からは、この場合における単脚支持期終端の遊脚の足先位置ｆ（Ｔ）の最小値Ｘｍｉｎ２ａを求めることができる。
【００４４】
【数１１】
2011206903.tif 000013
一方、時刻ｔが「Ｔ」のときに足先加速度ａの絶対値が最大足先加速度Ａｍａｘとなる場合には、下式（３５）〜（３８）の関係が得られるようになる。これらの関係からも、この場合における単脚支持期終端の遊脚の足先位置ｆ（Ｔ）の最小値Ｘｍｉｎ２ｂを求めることができる。
【００４５】
【数１２】
2011206903.tif 000014
こうして２つの最小値Ｘｍｉｎ２ａ、Ｘｍｉｎ２ｂが求められる。ここでは、それらの内、絶対値が小さい方の値を、最大足先加速度Ａｍａｘを考慮したときの単脚支持期終端の遊脚の足先位置ｆ（Ｔ）の最小値Ｘｍｉｎ２として採用するようにしている。
【００４６】
以上により、２つの最大値Ｘｍａｘ１、Ｘｍａｘ２、及び２つの最小値Ｘｍｉｎ１、Ｘｍｉｎ２が求められるようになる。ここでは、２つの最大値Ｘｍａｘ１、Ｘｍａｘ２の内の絶対値が小さい方の値を、遊脚の最大足先速度Ｖｍａｘ及び最大足先加速度Ａｍａｘを考慮したときのＸ方向における遊脚着地位置の最大値Ｘｍａｘとして採用するようにしている。また２つの最小値Ｘｍｉｎ１、Ｘｍｉｎ２の内の絶対値が小さい方の値を、遊脚の最大足先速度Ｖｍａｘ及び最大足先加速度Ａｍａｘを考慮したときのＸ方向における遊脚着地位置の最小値Ｘｍｉｎとして採用するようにしている。
【００４７】
以上と同様の計算をロボットＲの左右方向（Ｙ方向）について行うことで、遊脚の最大足先速度及び最大足先加速度を考慮したときのＹ方向における遊脚着地位置の最大値Ｙｍａｘ及び最小値Ｙｍｉｎを求めることができる。そして求められた最大値Ｘｍａｘ、Ｙｍａｘ及び最小値Ｘｍｉｎ、Ｙｍｉｎから、最大足先速度及び最大足先加速度により決定される遊脚の着地可能域が算出されることになる。
【００４８】
（ｄ）ステップ（ａ）〜（ｃ）で求められた着地可能域のＡＮＤ領域を、第１の着地可能域として算出するステップ
以上により、自己干渉の回避、関節の可動域、足先速度及び足先加速度の制限をそれぞれ考慮した遊脚の着地可能域が求められる。よって、図１３にハッチングで示されるような、上記３つの着地可能域のＡＮＤ領域を抽出すれば、自己干渉の回避、関節の可動域、足先速度及び足先加速度の制限のすべてを満足する遊脚の着地可能域が求められることになる。なお、本実施の形態では、こうしたハードウェアの制約により決定される第１の着地可能域が、凸多角形として算出されるようになっている。
【００４９】
Ｂ．環境の制約により決定される遊脚の着地可能域の算出
続いて、環境の制約により決定される遊脚の着地可能域の算出について説明する。ここでの「環境の制約」とは、要は、障害物により遊脚の着地が妨げられることを意味している。
【００５０】
さて、環境の制約により決定される遊脚の着地可能域の算出に際しては、ロボットＲの周囲の障害物を確認する必要がある。こうした障害物の検知は、カメラによって撮像された画像の解析や、レーザーレンジファインダーによる反射光到達時間及び到達方向の解析などを通じて行うことができる。ここでは、図１４に示すように、ロボットＲの周囲に４つの障害物Ｂ１〜Ｂ４が検知されたものとする。
【００５１】
周囲の障害物が検知されると、図１５に示されるように、ロボットＲと各障害物Ｂ１〜Ｂ４とを最短で結ぶ線分Ｌ１〜Ｌ４がそれぞれ算出される。そして図１６に示すように、各線分Ｌ１〜Ｌ４の障害物Ｂ１〜Ｂ４側の端点を通る、各線分Ｌ１〜Ｌ４の法線Ｎ１〜Ｎ４が算出され、各法線Ｎ１〜Ｎ４により囲まれた、図１７にハッチングで示される領域が求められる。そしてこの求められた領域が、環境の制約により決定された遊脚の着地可能域となる。なお、本実施の形態では、こうした環境の制約により決定される第２の着地可能域も、凸多角形として算出されるようになっている。
【００５２】
Ｃ．最終的な着地可能域の算出
以上により、ハードウェアの制約により決定される第１の着地可能域と、環境の制約により決定される２の着地可能域とが算出される。よって、図１８にハッチングで示されるような、これら２つの着地可能域のＡＮＤ領域を抽出すれば、環境とハードウェアとの双方の制約を満すような遊脚の着地可能域が求まるようになる。こうして着地可能域が求まると、その範囲内でロボットＲの姿勢の安定に最適な遊脚の着地位置を決定されることになる。
【００５３】
図１９は、こうした本実施の形態に採用される着地可能域演算処理のフローチャートを示している。本ルーチンの処理は、ロボットＲの歩行中の外乱の作用が検出されたときに電子制御ユニット１により実行されるものとなっている。
【００５４】
さて、本ルーチンが開始されると、まずステップＳ１００において、自己干渉を防止可能な遊脚の着地可能域が算出され、続くステップＳ１０１において、関節の可動域から決定される遊脚の着地可能域が算出される。また次のステップＳ１０２では、最大足先速度及び最大足先加速度から求められた遊脚の着地可能域が算出される。更に続くステップＳ１０３では、以上の３つのステップでそれぞれ算出された着地可能域のＡＮＤ領域が抽出され、その抽出した領域がハードウェアの制約により決定された第１の着地可能域として算出される。
【００５５】
一方、次のステップＳ１０４では、環境の制約により決定された遊脚の着地可能域が、第２の着地可能域として算出される。そして続くステップＳ１０５では、ステップＳ１０３で算出された第１の着地可能域とステップＳ１０４で算出された第２の着地可能域とのＡＮＤ領域が算出される。そして、次のステップ１０６において、その算出された領域が、外乱作用時の遊脚の着地可能域として設定される。
【００５６】
なお、以上説明した本実施の形態では、電子制御ユニット１が、第１及び第２の算出手段、及び演算手段にそれぞれ相当する構成となっている。
以上の本実施の形態の２足歩行ロボット及びその制御方法によれば、以下のような効果を得ることができる。
【００５７】
（１）本実施の形態では、電子制御ユニット１は、ロボットＲのハードウェアの制約により決定される遊脚の着地可能域を第１の着地可能域として算出するとともに、環境の制約により決定される遊脚の着地可能域を第２の着地可能域として算出するようにしている。そして電子制御ユニット１は、第１及び第２の着地可能域のＡＮＤ領域を抽出し、その抽出した領域を、外乱が作用したときの遊脚の着地可能域として演算するようにしている。こうした本実施の形態では、環境とハードウェアとの双方の制約を満すように外乱作用時の遊脚の着地可能域が演算されるようになる。そのため、本実施の形態では、外乱の作用時に、ハードウェアや環境の制約に則った適切な遊脚の着地位置を設定することができるようになる。
【００５８】
（２）本実施の形態では、電子制御ユニット１は、遊脚の最大足先速度及び最大足先加速度から着地までに遊脚が到達可能な領域を求め、その求めた領域に基づいて上記第１の着地可能域を算出するようにしている。より詳しくは、電子制御ユニット１は、支持脚と遊脚との干渉を防止可能な遊脚の着地可能領域と、ロボットＲの関節の可動域から決定される遊脚の着地可能領域と、着地までに遊脚が到達可能な領域として遊脚の最大足先速度及び最大足先加速度から求められた遊脚の着地可能領域とをそれぞれ算出するようにしている。そして電子制御ユニット１はそれら算出した３つの着地可能域のＡＮＤ領域を、第１の着地可能域として算出するようにしている。そのため、ロボットＲのハードウェアの制約により決定される遊脚の着地可能域を適切に算出することができるようになる。
【００５９】
（３）本実施の形態では、電子制御ユニット１は、第１及び第２の着地可能域を、凸多角形としてそれぞれ算出するようにしている。そのため、それらのＡＮＤ領域の演算に、高速に演算可能な既存のアルゴリズムを利用でき、外乱作用時の遊脚の着地可能域の演算を短時間で行うことができるようになる。
【００６０】
なお、上記実施の形態は、以下のように変更して実施することもできる。
・上記実施の形態では、第１及び第２の着地可能域を、凸多角形としてそれぞれ算出するようにしているが、ＡＮＤ領域の演算を十分高速に行えるのであれば、両着地可能域の凹多角形やその他の図形として算出するようにしても良い。
【００６１】
・上記実施の形態では、ロボットＲの周囲の障害物の検知を、カメラやレーザーレンジファインダーを用いて行うことが記載されていたが、そうした検知は、音波を用いたソナーシステムなどの他のシステムを用いて行うことも可能である。
【００６２】
・上記実施の形態では、環境の制約により決定される第２の着地可能域を、ロボットＲと障害物Ｂ１〜Ｂ４とを最短で結ぶ線分Ｌ１〜Ｌ４の法線Ｎ１〜Ｎ４により囲まれた領域として算出するようにしていた。こうした障害物の無い領域の算出ロジックとして、これ以外のロジックを採用しても良い。
【００６３】
・上記実施の形態では、自己干渉の回避、関節の可動域、足先速度及び足先加速度の制限をそれぞれ考慮した遊脚の着地可能域を求めている。そしてそれら３つの着地可能域のＡＮＤ領域を第１の着地可能域として算出するようにしている。ロボットＲのハードウェアの構成によっては、上記３つの着地可能域の算出を一部割愛することが可能な場合がある。例えば自己干渉を確実に回避可能なように関節の可動域が設定されているロボットでは、関節の可動域により決定される着地可能域さえ算出すれば、自己干渉の回避可能な着地可能域を敢えて算出せずとも、自ずと自己干渉は回避されるようになる。また、遊脚の着地までに確実に関節の可動域の限界に到達可能なだけの十分に高い動作性を備えたロボットでは、足先速度及び足先加速度の制限による着地可能域の算出を割愛することができる。
【符号の説明】
【００６４】
１…電子制御ユニット（第１の算出手段、第２の算出手段、演算手段）、２…アクチュエーター、Ｒ…ロボット、Ｂ１〜Ｂ４…障害物、Ｌ１〜Ｌ４…ロボットと障害物とを最短で結ぶ線分、Ｎ１〜Ｎ４…線分Ｌ１〜Ｌ４の障害物側の端点を通る、同線分Ｌ１〜Ｌ４の法線。
【図１】
2011206903.tif 000015
【図２】
2011206903.tif 000016
【図３】
2011206903.tif 000017
【図４】
2011206903.tif 000018
【図５】
2011206903.tif 000019
【図６】
2011206903.tif 000020
【図７】
2011206903.tif 000021
【図８】
2011206903.tif 000022
【図９】
2011206903.tif 000023
【図１０】
2011206903.tif 000024
【図１１】
2011206903.tif 000025
【図１２】
2011206903.tif 000026
【図１３】
2011206903.tif 000027
【図１４】
2011206903.tif 000028
【図１５】
2011206903.tif 000029
【図１６】
2011206903.tif 000030
【図１７】
2011206903.tif 000031
【図１８】
2011206903.tif 000032
【図１９】
2011206903.tif 000033