(57)【要約】脚式移動ロボット１の所定方向の並進運動（例えば鉛直方向並進運動）に関する実際の状態量と目標歩容の状態量との偏差である状態量偏差（例えば上体３の鉛直位置の偏差）を求め、その状態量偏差を０に近づけるように目標歩容の目標運動を決定する。目標運動は、目標歩容を生成するための動力学モデルに、状態量偏差に応じて決定した仮想外力を付加的に入力することにより、該動力学モデルを用いて決定する。併せて、状態量偏差０に応じてロボット１の目標床反力を修正し、コンプライアンス制御によりロボット１の運動と床反力とを目標歩容の目標運動と目標床反力とに追従させる。
2003090978.tif 000002
【特許請求の範囲】
【請求項１】
脚体の運動により移動する脚式移動ロボットの目標歩容を生成し、その目標歩容に追従させるように該ロボットの動作を制御する脚式移動ロボットの制御装置において、
少なくとも前記ロボットの目標運動を含む目標歩容を生成する目標歩容生成手段と、
前記ロボットの所定方向の並進運動に関する前記目標歩容の状態量と、該所定方向の並進運動に関する該ロボットの実際の状態量との偏差を状態量偏差として求める状態量偏差算出手段とを備え、
前記目標歩容生成手段は、前記状態量偏差に応じて該状態量偏差を０に近づけるように前記ロボットの目標歩容の目標運動を決定することを特徴とする脚式移動ロボットの制御装置。
【請求項２】
前記目標歩容は、前記ロボットの全ての脚体を空中に浮かせる空中期を有する歩容であり、
前記ロボットの所定の部位の位置又は該ロボットの重心の位置を該ロボットの代表自己位置とし、その代表自己位置の前記所定方向の成分を前記所定方向の並進運動に関する該ロボットの実際の状態量を表すものとして推定する自己位置推定手段と、
少なくとも前記空中期の開始時までに前記自己位置推定手段により推定された前記代表自己位置の所定方向の成分に基づいて少なくとも該空中期における該代表自己位置の所定方向の成分の予想軌道を求める予想軌道算出手段とを備え、
前記目標歩容生成手段は、前記空中期において前記目標歩容により定まる前記代表自己位置の前記所定方向の成分の目標軌道が少なくとも該空中期の終了時までに前記予想軌道に近づくように前記推定された代表自己位置の所定方向の成分と前記目標歩容の代表自己位置の所定方向の成分との偏差である前記状態量偏差に応じて該空中期における前記目標歩容の目標運動を決定することを特徴とすることを特徴とする請求の範囲第１項に記載の脚式移動ロボットの制御装置。
【請求項３】
前記目標歩容生成手段は、前記ロボットに作用する力と該ロボットの運動との関係を表す動力学モデルに少なくとも該ロボットに作用させるべき床反力の目標値としての基準床反力を入力しつつ、該動力学モデルを用いて前記目標運動を決定する手段であり、少なくとも前記状態量偏差に応じて仮想外力を決定し、該仮想外力を前記動力学モデルに付加的に入力することにより前記目標運動を決定することを特徴とする請求の範囲第１項に記載の脚式移動ロボットの制御装置。
【請求項４】
前記目標歩容生成手段は、前記状態量偏差を０に近づけるために前記動力学モデルに付加的に入力すべき外力操作量を該状態量偏差からフィードバック制御則により決定する手段を備え、該外力操作量の値が０を含む所定の不感帯域に存在するときには、前記仮想外力を０に決定し、該外力操作量の値が前記不感帯域から逸脱しているときには、前記仮想外力を該外力操作量が前記不感帯域から逸脱した分の値に決定することを特徴とする請求の範囲第３項に記載の脚式移動ロボットの制御装置。
【請求項５】
前記目標歩容は、前記ロボットに作用する床反力が略０に維持される床反力不作用期間を有する歩容であり、
前記目標歩容生成手段は、前記床反力不作用期間において、前記状態量偏差を０に近づけるように前記目標運動を決定することを特徴とする請求の範囲第１項に記載の脚式移動ロボットの制御装置。
【請求項６】
前記基準床反力は、その値が略０に維持される床反力不作用期間を有し、
前記目標歩容生成手段は、前記床反力不作用期間以外の期間内で前記仮想外力を略０に決定することを特徴とする請求の範囲第３項に記載の脚式移動ロボットの制御装置。
【請求項７】
前記目標歩容生成手段は、少なくとも前記床反力不作用期間以外の期間内において、前記目標運動を所定の基準運動に近づけるように該目標運動を決定することを特徴とする請求の範囲第５項に記載の脚式移動ロボットの制御装置。
【請求項８】
前記目標歩容生成手段は、少なくとも前記仮想外力を略０に決定する期間内において前記目標運動を前記基準床反力に前記動力学モデル上で釣り合う基準運動に近づけるように前記目標運動を決定することを特徴とする請求の範囲第６項に記載の脚式移動ロボットの制御装置。
【請求項９】
前記目標歩容生成手段は、前記ロボットの目標床反力を決定する手段を含み、前記目標運動と目標床反力とに該ロボットの歩容を追従させるように該ロボットを操作するコンプライアンス制御手段を備えたことを特徴とする請求の範囲第１項に記載の脚式移動ロボットの制御装置。
【請求項１０】
前記目標歩容生成手段は、少なくとも前記基準床反力を基に前記目標運動に前記動力学モデル上で不釣合いとなるロボットの目標床反力を決定する手段を含み、前記目標運動と目標床反力とに該ロボットの歩容を追従させるように該ロボットを操作するコンプライアンス制御手段を備えたことを特徴とする請求の範囲第３項に記載の脚式移動ロボットの制御装置。
【請求項１１】
前記目標歩容生成手段は、少なくとも前記状態量偏差に応じて該状態量偏差を０に近づけるように前記目標床反力を決定することを特徴とする請求の範囲第９項又は第１０項に記載の脚式移動ロボットの制御装置。
【請求項１２】
脚体の運動により移動する脚式移動ロボットの目標運動及び目標床反力からなる目標歩容を生成する目標歩容生成手段と、その目標歩容の目標運動及び目標床反力に前記ロボットの歩容を追従させるように該ロボットを操作するコンプアライアンス制御手段とを備えた脚式移動ロボットの制御装置において、
前記ロボットの所定方向の並進運動に関する前記目標歩容の状態量と、該所定方向の並進運動に関する該ロボットの実際の状態量との偏差を状態量偏差として求める状態量偏差算出手段を備え、
前記目標歩容生成手段は、少なくとも前記状態量偏差に応じて該状態量偏差を０に近づけるように前記ロボットの目標運動と目標床反力との組を決定することを特徴とする脚式移動ロボットの制御装置。
【請求項１３】
前記目標歩容生成手段は、前記ロボットに作用する床反力と該ロボットの運動との関係を表す動力学モデルに、少なくとも該ロボットに作用させるべき床反力の基準目標値としての基準床反力を入力しつつ、該動力学モデルを用いて前記目標運動を決定する手段と、少なくとも前記状態量偏差に応じて前記動力学モデルに付加的に入力すべき仮想外力と前記目標床反力の前記基準床反力からの修正量としての目標床反力修正量との組を決定する手段とを備え、その決定された仮想外力及び目標床反力修正量のうちの仮想外力を前記動力学モデルに付加的に入力することにより前記目標運動を決定すると共に、前記目標床反力修正量により前記基準床反力を修正することにより前記目標床反力を決定することを特徴とする請求の範囲第１２項に記載の脚式移動ロボットの制御装置。
【請求項１４】
前記目標歩容生成手段は、前記状態量偏差を０に近づけるように前記目標床反力修正量と前記仮想外力との差分の目標値を該状態量偏差に応じて決定し、その決定された差分の目標値を満足するように前記目標床反力修正量と前記仮想外力との組を決定することを特徴とする請求の範囲第１３項に記載の脚式移動ロボットの制御装置。
【請求項１５】
前記目標歩容生成手段は、前記目標床反力修正量の許容範囲を決定する手段を備え、前記差分の目標値と該目標床反力修正量の許容範囲とを満足するように前記目標床反力修正量と仮想外力との組を決定することを特徴とする請求の範囲第１４項に記載の脚式移動ロボットの制御装置。
【請求項１６】
前記目標歩容生成手段は、前記差分の目標値に対応する前記仮想外力が０であると仮定して前記目標床反力修正量の仮値を決定する手段と、該目標床反力修正量の仮値と前記許容範囲とに基づいて該仮値を該許容範囲内の値に制限してなる目標床反力修正量を決定する手段と、その決定した目標床反力修正量と前記決定された差分の目標値とに基づき前記仮想外力を決定する手段とを備えることを特徴とする請求の範囲第１５項に記載の脚式移動ロボットの制御装置。
【請求項１７】
前記目標歩容は、前記ロボットの全脚体を空中に浮かせる期間を有する歩容であり、前記目標床反力修正量の許容範囲は、少なくとも前記空中期において該許容範囲の上限値と下限値とが略０となる範囲に決定されることを特徴とする請求の範囲第１５項に記載の脚式移動ロボットの制御装置。
【請求項１８】
前記目標歩容生成手段は、前記差分の目標値を満足しつつ、前記目標運動を前記動力学モデル上で前記基準床反力に釣り合う基準運動に近づけるように前記目標床反力修正量と仮想外力との組を決定することを特徴とする請求の範囲第１４項に記載の脚式移動ロボットの制御装置。
【請求項１９】
前記目標歩容生成手段は、前記状態量偏差を０に近づけるためのフィードバック制御則に基づき第１床反力操作量を決定する手段と、前記目標運動を前記動力学モデル上で前記基準床反力に釣り合う基準運動に近づけるためのフィードバック制御則に基づき第２床反力操作量を決定する手段と、前記目標床反力修正量の許容範囲を決定する手段と、前記第１床反力操作量と第２床反力操作量とを合成してなる床反力操作量を前記目標床反力修正量の仮値とし、その仮値を前記許容範囲内に制限することにより目標床反力修正量を決定する手段と、その目標床反力操作量と前記仮想外力との差分が前記第１床反力操作量に合致するように該仮想外力を決定する手段とを備えることを特徴とする請求の範囲第１３項に記載の脚式移動ロボットの制御装置。
【請求項２０】
前記目標歩容生成手段は、所定期間分の目標歩容づつ、該所定期間分の目標歩容を仮想的な周期的歩容に近づけるように生成することを特徴とする請求の範囲第１項又は第１２項に記載の脚式移動ロボットの制御装置。
【請求項２１】
前記状態量は、前記ロボットの所定の部位の位置又は該ロボットの重心の位置であることを特徴とする請求の範囲第１項又は第１２項に記載の脚式移動ロボットの制御装置。
【請求項２２】
前記所定の部位は、前記ロボットの上体であることを特徴とする請求の範囲第２１項に記載の脚式移動ロボットの制御装置。
【請求項２３】
脚体の運動により移動する脚式移動ロボットの目標歩容を生成し、その目標歩容に追従させるように該ロボットの動作を制御する脚式移動ロボットの制御装置において、
前記目標歩容を生成する目標歩容生成手段と、
前記ロボットの所定の部位の位置及び該ロボットの重心の位置のうちの少なくともいずれかの位置をロボットの代表自己位置とし、該代表自己位置を推定する自己位置推定手段と、
その推定された代表自己位置と、前記目標歩容における代表自己位置との差のうち、所定方向の成分を所定方向位置偏差として求める位置偏差算出手段と、
前記目標歩容における目標着地点に対応して、前記ロボットの着地動作を行なう脚体の先端部が実際に着地すると予想される床上の着地予定点の鉛直位置を測定する床形状認識手段とを備え、
前記目標歩容生成手段は、少なくとも前記位置偏差算出手段により求められた前記所定方向位置偏差と前記床形状認識手段により測定された前記着地予定点の鉛直位置とに基づいて前記目標歩容を修正することを特徴とする脚式移動ロボットの制御装置。
【請求項２４】
前記目標歩容生成手段は、少なくとも前記所定方向位置偏差に基づいて、該所定方向位置偏差が０に近づくように前記目標歩容のうちの前記代表自己位置の軌道を規定する目標運動を修正する手段と、少なくとも前記測定された前記着地予定点の鉛直位置に基づいて、前記目標歩容のうちの脚体の先端部の軌道を規定する目標運動を修正する手段とを備えることを特徴とする請求の範囲第２３項に記載の脚式移動ロボットの制御装置。
【請求項２５】
前記目標歩容生成手段は、少なくとも前記測定された前記着地予定点の鉛直位置と前記目標歩容における目標着地点の鉛直位置との偏差と、前記所定方向位置偏差とに基づいて、これらの偏差が０に近づくように前記目標歩容のうちの前記代表自己位置の軌道を規定する目標運動を修正することを特徴とする請求の範囲第１１項に記載の脚式移動ロボットの制御装置。
【請求項２６】
脚体の運動により移動する脚式移動ロボットの目標運動及び目標床反力からなる目標歩容に追従させるようにロボットの動作を制御するコンプライアンス制御手段を備え、該コンプラインアンス制御手段が、前記ロボットに実際に作用する床反力を把握しつつ、その把握した床反力と前記目標床反力との偏差である床反力偏差に応じて前記ロボットの上体に対する脚体の先端部の相対位置を前記目標運動により規定される相対位置から修正する脚式移動ロボットの制御装置において、
前記目標歩容は、前記ロボットの全脚体を空中に浮かせる空中期を有する歩容であり、前記コンプライアンス制御手段は、前記床反力偏差に対する前記脚体の先端部の相対位置の修正量のゲインを少なくとも前記空中期の開始直前に減少させることを特徴とする脚式移動ロボットの制御装置。
【請求項２７】
脚体の運動により移動する脚式移動ロボットの目標運動を少なくとも含む目標歩容を生成し、その目標歩容に追従させるように該ロボットの動作を制御する脚式移動ロボットの制御装置において、
少なくとも前記ロボットの全脚体を空中に浮かせる空中期を含む前記目標歩容を生成する目標歩容生成手段と、
前記ロボットの所定の部位の位置及び該ロボットの重心の位置のうちの少なくともいずれかの位置をロボットの代表自己位置とし、該代表自己位置を推定する自己位置推定手段と、
その推定された代表自己位置と、前記目標歩容における代表自己位置との差のうち、所定方向の成分を所定方向位置偏差として求める位置偏差算出手段と、
少なくとも前記所定方向位置偏差に応じて、該所定方向位置偏差が０に近づくように前記ロボットの脚体の先端部の位置を前記目標歩容により規定される位置から修正する脚先端部位置修正手段とを備え、
該脚先端部位置修正手段は、少なくとも前記目標歩容の空中期の開始時までに前記脚体の先端部の位置の修正量を前記所定方向位置偏差によらずに強制的に略０にすることを特徴とする脚式移動ロボットの制御装置。
【請求項２８】
脚体の運動により移動する脚式移動ロボットの目標運動及び目標床反力からなる目標歩容を生成し、その目標歩容に追従させるように該ロボットの動作を制御する脚式移動ロボットの制御装置において、
少なくとも前記ロボットの全脚体を空中に浮かせる空中期を含む前記目標歩容を生成する目標歩容生成手段と、
前記ロボットの所定の部位の位置及び該ロボットの重心の位置のうちの少なくともいずれかの位置をロボットの代表自己位置とし、該代表自己位置を推定する自己位置推定手段と、
その推定された代表自己位置と、前記目標歩容における代表自己位置との差のうち、所定方向の成分を所定方向位置偏差として求める位置偏差算出手段と、
少なくとも前記所定方向位置偏差に応じて、該所定方向位置偏差が０に近づくように前記目標歩容うちの目標床反力を修正する床反力修正手段とを備え、
該床反力修正手段は、少なくとも前記目標歩容の空中期の開始時までに前記目標床反力の修正量を前記所定方向位置偏差によらずに強制的に略０にすることを特徴とする脚式移動ロボットの制御装置。
【発明の詳細な説明】
技術分野
本発明は、脚式移動ロボットの制御装置に関する。
背景技術
脚式移動ロボット、例えば２足移動ロボットでは、従来、主にロボットの歩行動作を行なわせるようにしていた。しかし、近年では、脚式移動ロボットの開発が進むにつれて、該ロボットに歩行だけでなく、より高速での走行、あるいはジャンプを行わせることが望まれている。
ロボットの歩行では、常時、いずれかの脚体を接地させて自重を支えることとなるが、ロボットの走行あるいはジャンプでは、ロボットに作用する床反力が０もしくはほぼ０になる時期が存在する。従って、ロボットの走行やジャンプでは、ロボットに作用させる床反力、特に並進力鉛直成分の制御も重要となる。
そこで、本出願人は先に提案したＰＣＴ出願ＰＣＴ／ＪＰ０２／１３５９６号等にて、目標ＺＭＰパターンと目標床反力鉛直成分（並進力の鉛直成分。以下、同じ）パターンを明示的に設計しつつ、ロボットの動力学モデルを基に、目標運動パターンを生成し、実際のロボットを目標運動パターンに追従させつつ、コンプライアンス制御によって実際の床反力鉛直成分が目標床反力鉛直成分パターンに追従するように制御して、走行等を実現する制御装置を提案している。
また、前記ＰＣＴ出願ＰＣＴ／ＪＰ０２／１３５９６号では、床反力鉛直成分を制御する特願平１１−３００６６１号において提案した、実床反力鉛直成分に応じて脚体の先端（足平）をロボットの上体に対して鉛直方向に変位させる（目標歩容の脚先端位置からずらす）コンプライアンス制御が用いられている。これを以降、鉛直方向コンプライアンス制御と呼ぶ。
鉛直方向コンプライアンス制御を用いないと、ジャンプ時の蹴り力が床の硬さに大きく影響される傾向があった。例えば、硬い床では、適切なジャンプ力が得られても、絨毯の上では、ジャンプ力が不足する場合があった。また、床のたわみ剛性、ロボットの剛性およびロボットの質量によって発生する固有振動が減衰しにくい場合があった。特に鉄板などでできた減衰性の低い床では、固有振動が長期間減衰せず、接地性が損なわれ、スリップが生じる場合もあった。
しかし、この不都合を解消するために鉛直方向コンプライアンス制御を用いると、ロボットの実際の上体鉛直位置（以降、実上体鉛直位置と呼ぶ）が目標上体鉛直位置からずれ易くなり、ジャンプの離床タイミングがずれる傾向があった。例えば、目標の離床時刻に実上体鉛直位置が目標上体鉛直位置よりも低い場合には、目標の離床時刻になっても、床反力鉛直成分は０にならず、離床のタイミングは遅れる。
逆に、目標の離床時刻より少し前に、実上体鉛直位置が目標上体鉛直位置よりも高い場合には、目標の離床時刻になる前に、床反力鉛直成分は０になり、離床のタイミングは早くなる。補足すると、鉛直方向コンプライアンス制御を用いないと、実上体鉛直位置は目標上体鉛直位置にほぼ一致するので、離床のタイミングはずれにくい。
上記のように離床タイミングが早くなると、水平方向の摩擦力が想定して時刻よりも早めに小さくなるか０となるので、スリップやスピンを生じ易かった。
逆に、離床タイミングが遅くなると、走行のように離床した直後に遊脚足平を前に移動する時に、遊脚足平が床に引っ掛かってしまう恐れがあった。
また、離床時に、実際のロボットの上体鉛直位置軌道（重心軌道）が目標上体鉛直位置軌道からずれると、着地時の重心軌道もずれ、着地タイミングがずれたりして、遊脚足平の着地時の対地速度が過大になり、大きな着地衝撃が発生する恐れもあった。
また、実際のロボットの運動と床反力とが目標歩容のそれからずれるので、姿勢安定性も低下した。
本発明はかかる背景に鑑みてなされたものであり、ロボットの脚体先端部（足平）の床に対する軌道を目標歩容の脚体先端部（足平）軌道に近づけることができ、ひいては、ロボットが目標歩容通りの離床のタイミングで離床するようにして、ロボットのスリップやスピン、遊脚の床への引っ掛かかり等が発生するのを防止し、また、着地衝撃を低減することができる脚式移動ロボットの制御装置を提供することを目的とする。
発明の開示
本発明の脚式移動ロボットの第１発明は、脚体の運動により移動する脚式移動ロボットの目標歩容を生成し、その目標歩容に追従させるように該ロボットの動作を制御する脚式移動ロボットの制御装置において、少なくとも前記ロボットの目標運動を含む目標歩容を生成する目標歩容生成手段と、前記ロボットの所定方向の並進運動に関する前記目標歩容の状態量と、該所定方向の並進運動に関する該ロボットの実際の状態量との偏差を状態量偏差として求める状態量偏差算出手段とを備え、前記目標歩容生成手段は、前記状態量偏差に応じて該状態量偏差を０に近づけるように前記ロボットの目標歩容の目標運動を決定することを特徴とする。
かかる第１発明では、前記所定方向の並進運動に関する前記状態量偏差を０に近づけるようにロボットの目標歩容の目標運動を決定するので、前記並進運動に関する実際のロボットの状態量と目標歩容における状態量との一致性が高まる。その結果、ロボットの前記所定方向の並進運動に関する実際の動作のタイミングを目標歩容での動作タイミングに合わせることが可能となり、ロボットの円滑な運動が可能となる。
なお、前記所定方向は、例えば鉛直方向、あるいは、ロボットの重心と目標歩容の目標ＺＭＰとを結ぶ方向等である。これは、以下に説明するいずれの発明においても同様である。
また、後述の第２１発明、第２２発明の如く、前記状態量は、例えば前記ロボットの所定の部位の位置又は該ロボットの重心の位置であることが好ましく、特に、前記所定の部位はロボットの上体（脚体が延設される基体）であることが好ましい。これは、以下に説明するいずれの発明においても同様である。ロボットの上体の位置、あるいは、重心の位置に係わる前記状態量偏差（すなわち位置偏差）を０に近づけるように目標歩容の目標運動を決定することで、脚体の先端部（足平）の実際の軌道も、目標歩容の軌道に近づけることができ、該脚体の離床、着床等の動作のタイミングを所望のタイミング（目標歩容上のタイミング）に合わせることができる。その結果、スリップやスピン、脚体先端部の床への引っ掛かり等を防止し、また、着地時に過大な着地衝撃が生じるのを防止することが可能となる。
上記第１発明では、前記目標歩容が、前記ロボットの全ての脚体を空中に浮かせる空中期を有する歩容であるとき、すなわち、ロボットの走行やジャンプを行う歩容であるときには、例えば、前記ロボットの所定の部位の位置又は該ロボットの重心の位置を該ロボットの代表自己位置とし、その代表自己位置の前記所定方向の成分を前記所定方向の並進運動に関する該ロボットの実際の状態量を表すものとして推定する自己位置推定手段と、少なくとも前記空中期の開始時までに前記自己位置推定手段により推定された前記代表自己位置の所定方向の成分に基づいて少なくとも該空中期における該代表自己位置の所定方向の成分の予想軌道を求める予想軌道算出手段とを備え、前記目標歩容生成手段は、前記空中期において前記目標歩容により定まる前記代表自己位置の前記所定方向の成分の目標軌道が少なくとも該空中期の終了時までに前記予想軌道に近づくように前記推定された代表自己位置の所定方向の成分と前記目標歩容の代表自己位置の所定方向の成分との偏差である前記状態量偏差に応じて該空中期における前記目標歩容の目標運動を決定することが一つの形態として好適である（第２発明）。
かかる第２発明によれば、空中期におけるロボットの代表自己位置の所定方向の成分の予想軌道を求め、この予想軌道に、少なくとも空中期の終了時までに目標歩容における代表自己位置の所定方向（鉛直方向等）の成分の目標軌道が近づくように目標歩容の目標運動が決定される。その結果、空中期の終了時、すなわち、ロボットの着地時における実際の代表自己位置の所定方向成分と目標歩容における代表自己位置の所定方向成分との間の偏差（状態量偏差）を小さくして、実際の着地タイミングと目標歩容上での着地タイミングとを合わせることが可能となり、ロボットの着地時に過大な着地衝撃を生じるのを防止しつつ、ロボットの着地動作を円滑に行わせることができる。また、ロボットの着地毎に前記状態量偏差をほぼ０にするため、ロボットの離床時（空中期の開始時）における実際のロボットの離床タイミングと目標歩容における離床タイミングとの間の誤差も極力小さくできるので、ロボットの離床動作も円滑に行なうことが可能となる。
また、前記第１発明では、前記目標歩容生成手段が、前記ロボットに作用する力と該ロボットの運動との関係を表す動力学モデルに少なくとも該ロボットに作用させるべき床反力の目標値としての基準床反力を入力しつつ、該動力学モデルを用いて前記目標運動を決定する手段であるときには、少なくとも前記状態量偏差に応じて仮想外力を決定し、該仮想外力を前記動力学モデルに付加的に入力することにより前記目標運動を決定することが好ましい（第３発明）。
これによれば、前記動力学モデルに前記仮想外力を付加的に入力することによって、前記状態量偏差を０に近づけるような目標運動が決定される。なお、前記仮想外力は、例えば前記状態量偏差からフィードバック制御則（ＰＤ制御則等）によって決定すればよい。また、前記動力学モデルには、少なくとも基準床反力と仮想外力とが入力されることとなるため、該仮想外力が０でないときには、該動力学モデルによって決定される目標運動は、該動力学モデル上では、前記基準床反力とは釣り合わないものとなる。つまり、第３発明では、前記仮想外力を動力学モデルに付加的に入力することで、意図的に前記基準床反力に動力学モデル上で釣り合う運動（これは理想的な環境下でロボットの本来あるべき運動を意味する）からずらした目標運動を決定し、これにより、前記状態量偏差を０に近づける。
上記第３発明では、前記目標歩容生成手段は、前記状態量偏差を０に近づけるために前記動力学モデルに付加的に入力すべき外力操作量を該状態量偏差からフィードバック制御則により決定する手段を備え、該外力操作量の値が０を含む所定の不感帯域に存在するときには、前記仮想外力を０に決定し、該外力操作量の値が前記不感帯域から逸脱しているときには、前記仮想外力を該外力操作量が前記不感帯域から逸脱した分の値に決定することが好ましい（第４発明）。
これによれば、前記状態量偏差が前記不感帯域にあるとき、すなわち、該状態量偏差が微小であるときには、前記仮想外力を０とするので、前記動力学モデルによって決定される目標運動は、該動力学モデル上で前記基準床反力に釣り合う運動に前記不感帯域がない場合に較べ近づくこととなる。その結果、ロボットの実際の運動が、動力学的な安定性の高い（動力学的平衡条件を満たす）本来の運動から過剰にずれてしまうのを防止できる。
また、第１発明では、前記目標歩容が、前記ロボットに作用する床反力が略０に維持される床反力不作用期間を有する歩容であるときには、前記目標歩容生成手段は、前記床反力不作用期間において、前記状態量偏差を０に近づけるように前記目標運動を決定することが好ましい（第５発明）。
同様に、前記第３又は第４発明では、前記基準床反力が、その値が略０に維持される床反力不作用期間を有するときには、前記目標歩容生成手段は、前記床反力不作用期間以外の期間内で前記仮想外力を略０に決定することが好ましい（第６発明）。
すなわち、前記床反力不作用期間では、ロボットには実質的に重力のみが作用して、該ロボットの重心の運動が該重力によって支配されるので、ロボットの各部の相対的な運動だけを考慮すればよいが、前記床反力不作用期間以外の期間では、ロボットに床反力が作用するため、動力学的平衡条件を満たす必要性が高い。そして、第５発明では、前記床反力不作用期間において、前記状態量偏差を０に近づけるように前記目標運動を決定して、ロボットの前記所定方向の並進運動に関する実際の挙動と目標歩容における挙動とを合致させる一方、該床反力不作用期間以外の期間では、ロボットの動力学的平衡条件を重視した目標運動を決定することが可能となる。また、前記第６発明では、前記床反力不作用期間以外の期間内で前記仮想外力を略０に決定することで、第５発明と同様に、前記床反力不作用期間において、ロボットの前記所定方向の並進運動に関する実際の挙動と目標歩容における挙動とを合致させる一方、該床反力不作用期間以外の期間では、ロボットの動力学的平衡条件を重視した目標運動を決定することが可能となる。
さらに、前記第５発明では、前記目標歩容生成手段は、少なくとも前記床反力不作用期間以外の期間内において、前記目標運動を所定の基準運動に近づけるように該目標運動を決定することが好ましい（第７発明）。
また、前記第６発明では、前記目標歩容生成手段は、少なくとも前記仮想外力を略０に決定する期間内において前記目標運動を前記基準床反力に前記動力学モデル上で釣り合う基準運動に近づけるように前記目標運動を決定することが好ましい（第８発明）。
これらの第７発明及び第８発明によれば、前記床反力不作用期間以外の期間内（第７発明）、あるいは、前記仮想外力を略０に決定する期間内（第８発明）において、動力学的平衡条件を重視した目標運動を決定できる。
また、前記第１発明では、前記目標歩容生成手段は、前記ロボットの目標床反力を決定する手段を含み、前記目標運動と目標床反力とに該ロボットの歩容を追従させるように該ロボットを操作するコンプライアンス制御手段を備えることが好適である（第９発明）。
同様に、前記第３発明では、前記目標歩容生成手段は、少なくとも前記基準床反力を基に前記目標運動に前記動力学モデル上で不釣合いとなるロボットの目標床反力を決定する手段を含み、前記目標運動と目標床反力とに該ロボットの歩容を追従させるように該ロボットを操作するコンプライアンス制御手段を備えることが好適である（第１０発明）。
これらの第９発明及び第１０発明によれば、前記コンプライアンス制御手段を備えることで、ロボットの実際の運動と床反力との両者を概ね目標運動と目標床反力とに追従させることができる。
特に上記第９又は第１０発明では、前記目標歩容生成手段は、少なくとも前記状態量偏差に応じて該状態量偏差を０に近づけるように前記目標床反力を決定することが好ましい（第１１発明）。
これによれば、目標運動と目標床反力との両者を操作して、状態量偏差を０に近づけることができるため、該状態量偏差の０への収束、すなわち、該状態量偏差の解消を迅速に行うことができる。
また、本発明の第１２発明は、脚体の運動により移動する脚式移動ロボットの目標運動及び目標床反力からなる目標歩容を生成する目標歩容生成手段と、その目標歩容の目標運動及び目標床反力に前記ロボットの歩容を追従させるように該ロボットを操作するコンプアライアンス制御手段とを備えた脚式移動ロボットの制御装置において、前記ロボットの所定方向の並進運動に関する前記目標歩容の状態量と、該所定方向の並進運動に関する該ロボットの実際の状態量との偏差を状態量偏差として求める状態量偏差算出手段を備え、前記目標歩容生成手段は、少なくとも前記状態量偏差に応じて該状態量偏差を０に近づけるように前記ロボットの目標運動と目標床反力との組を決定することを特徴とするものである。
かかる第１２発明では、前記状態量偏差を０に近づけるようにロボットの目標運動と目標床反力との組を決定するので、換言すれば、状態量偏差を０に近づけるように、目標運動と目標床反力との組を操作するので、前記第１発明と同様に前記並進運動に関する実際のロボットの状態量と目標歩容における状態量との一致性が高まることに加えて、それらの状態量の偏差（状態量偏差）を迅速に０に近づけることができる。その結果、ロボットの前記所定方向の並進運動に関する実際の動作のタイミングを目標歩容での動作タイミングに合わせることが可能となり、ロボットの円滑な運動が可能となる。
この第１２発明では、前記目標歩容生成手段は、前記ロボットに作用する床反力と該ロボットの運動との関係を表す動力学モデルに、少なくとも該ロボットに作用させるべき床反力の基準目標値としての基準床反力を入力しつつ、該動力学モデルを用いて前記目標運動を決定する手段と、少なくとも前記状態量偏差に応じて前記動力学モデルに付加的に入力すべき仮想外力と前記目標床反力の前記基準床反力からの修正量としての目標床反力修正量との組を決定する手段とを備え、その決定された仮想外力及び目標床反力修正量のうちの仮想外力を前記動力学モデルに付加的に入力することにより前記目標運動を決定すると共に、前記目標床反力修正量により前記基準床反力を修正することにより前記目標床反力を決定することが好ましい（第１３発明）。
かかる第１３発明によれば、前記仮想外力を前記動力学モデルに付加的に入力することによって前記状態量偏差を０に近づけるように目標運動が決定されると共に、前記目標床反力修正量により前記基準床反力を修正することにより前記状態量偏差を０に近づけるように目標床反力が決定される。
より具体的には、第１３発明では、前記目標床反力修正量と前記仮想外力との差分が、ロボットの前記所定方向の並進運動を操作するものとなるので、前記目標歩容生成手段は、前記状態量偏差を０に近づけるように前記目標床反力修正量と前記仮想外力との差分の目標値を該状態量偏差に応じて決定し、その決定された差分の目標値を満足するように前記目標床反力修正量と前記仮想外力との組を決定することが好ましい（第１４発明）。これにより、前記状態量偏差を０に近づけ得る目標運動と目標床反力との組を適正に決定できる。
さらに、第１４発明では、前記目標歩容生成手段は、前記目標床反力修正量の許容範囲を決定する手段を備え、前記差分の目標値と該目標床反力修正量の許容範囲とを満足するように前記目標床反力修正量と仮想外力との組を決定することが好ましい（第１５発明）。すなわち、目標床反力は、ロボットに実際に作用する床反力の目標値であるが、ロボットに作用させ得る床反力には限界がある。従って、上記のように目標床反力の修正量の許容範囲を決定して、前記差分の目標値と該目標床反力修正量の許容範囲とを満足するように前記目標床反力修正量と仮想外力との組を決定することで、目標運動及び目標床反力へのロボットの追従性を高めることができ、ひいては、前記状態量偏差を０に近づけることを円滑に行うことができる。
上記第１５発明では、より具体的には、前記目標歩容生成手段は、前記差分の目標値に対応する前記仮想外力が０であると仮定して前記目標床反力修正量の仮値を決定する手段と、該目標床反力修正量の仮値と前記許容範囲とに基づいて該仮値を該許容範囲内の値に制限してなる目標床反力修正量を決定する手段と、その決定した目標床反力修正量と前記決定された差分の目標値とに基づき前記仮想外力を決定する手段とを備えることが好ましい（第１６発明）。
これによれば、前記仮想外力を０と仮定して前記差分の目標値に応じて決定される目標床反力修正量が前記許容範囲内に存在するときには、前記仮想外力が０に決定されることとなる。従って、前記状態量偏差を０に近づけるために、目標運動と目標床反力とのうち、目標床反力が優先的に操作されることとなる。つまり、状態量偏差の解消を、床反力の操作が可能な範囲では、該床反力の操作により行い、床反力の操作による状態量偏差の解消が不可能となる状態では、前記仮想外力による目標運動の操作と床反力との操作を併用する。この結果、目標運動が、前記動力学モデル上で前記基準床反力に釣り合う運動から過剰にずれるような事態を防止することができる。なお、第１５発明における目標床反力修正量の許容範囲は、前記第４発明における仮想外力の不感帯を規定するものとなる。
さらに、第１５又は第１６発明では、前記目標歩容が、前記ロボットの全脚体を空中に浮かせる期間を有する歩容であるときには、前記目標床反力修正量の許容範囲は、少なくとも前記空中期において該許容範囲の上限値と下限値とが略０となる範囲に決定されることが好ましい（第１７発明）。これによれば、ロボットに床反力を作用させ得ない前記空中期では、主に、前記仮想外力による目標運動の操作によって前記状態量偏差を０に近づけることとなる。また、実際の床反力が０となる空中期では、当然の如く前記基準床反力は０に設定されると共に、前記目標床反力修正量も前記許容範囲によって、ほぼ０となる。従って、空中期における実際の床反力と目標床反力との差もほぼ０となるので、前記コンプライアンス制御の余計な動作がなくなり、ロボットの目標運動への追従性が高まる。
前記第１４発明〜第１７発明では、前記目標歩容生成手段は、前記差分の目標値を満足しつつ、前記目標運動を前記動力学モデル上で前記基準床反力に釣り合う基準運動に近づけるように前記目標床反力修正量と仮想外力との組を決定することが好適である（第１８発明）。これによれば、前記状態量偏差を０に近づけることと、前記基準床反力に対して動力学モデル上で釣り合う基準運動に目標運動を近づけることとを妥協的に両立させることができる。
より具体的には、前記目標歩容生成手段は、前記状態量偏差を０に近づけるためのフィードバック制御則に基づき第１床反力操作量を決定する手段と、前記目標運動を前記動力学モデル上で前記基準床反力に釣り合う基準運動に近づけるためのフィードバック制御則に基づき第２床反力操作量を決定する手段と、前記目標床反力修正量の許容範囲を決定する手段と、前記第１床反力操作量と第２床反力操作量とを合成してなる床反力操作量を前記目標床反力修正量の仮値とし、その仮値を前記許容範囲内に制限することにより目標床反力修正量を決定する手段と、その目標床反力操作量と前記仮想外力との差分が前記第１床反力操作量に合致するように該仮想外力を決定する手段とを備えることが好ましい（第１９発明）。
かかる第１９発明では、前記状態量偏差がほぼ０になれば、前記第１床反力操作量と第２床反力操作量とを合成してなる床反力操作量は、目標運動を基準運動に近づけるための前記第２床反力操作量にほぼ等しくなるので、この第２床反力操作量に基づいて目標床反力修正量と仮想外力との組が決定されることとなる。従って、これらの目標床反力修正量と仮想外力とは、目標運動を前記基準運動に近づけるように決定されることとなる。また、目標運動が基準運動にほぼ一致していれば、前記第１床反力操作量と第２床反力操作量とを合成してなる床反力操作量は、前記状態量偏差を０に近づけるための前記第１床反力操作量にほぼ等しくなるので、この第１床反力操作量に基づいて目標床反力修正量と仮想外力との組が決定されることとなる。従って、これらの目標床反力修正量と仮想外力とは、前記状態量偏差を０に近づけるように決定されることとなる。従って、前記目標運動を前記基準運動に近づけること、すなわち、動力学的な安定性の高いロボットの運動を確保することと、前記状態量偏差を０に近づけること、すなわち、前記所定方向の並進運動に関するロボットの挙動と目標歩容の挙動とをできるだけ一致させることととを妥協的に両立させることができる。なお、第１９発明では、前記第１６発明と同様に、前記目標床反力修正量の許容範囲内で、目標床反力が優先的に操作される。
以上説明した、第１〜第１９発明では、前記目標歩容生成手段は、所定期間分の目標歩容づつ、該所定期間分の目標歩容を仮想的な周期的歩容に近づけるように生成することが好ましい（第２０発明）。これによより、ロボットの安定性の高い目標歩容を生成できる。
また、先に説明した如く、前記第１〜第２０発明では、前記状態量は、前記ロボットの所定の部位の位置又は該ロボットの重心の位置であることが好ましい（第２１発明）。そして、前記所定の部位は、前記ロボットの上体であることが好ましい（第２２発明）。
また、本発明の脚式移動ロボットの制御装置の第２３発明は、脚体の運動により移動する脚式移動ロボットの目標歩容を生成し、その目標歩容に追従させるように該ロボットの動作を制御する脚式移動ロボットの制御装置において、前記目標歩容を生成する目標歩容生成手段と、前記ロボットの所定の部位の位置及び該ロボットの重心の位置のうちの少なくともいずれかの位置をロボットの代表自己位置とし、該代表自己位置を推定する自己位置推定手段と、その推定された代表自己位置と、前記目標歩容における代表自己位置との差のうち、所定方向の成分を所定方向位置偏差として求める位置偏差算出手段と、前記目標歩容における目標着地点に対応して、前記ロボットの着地動作を行なう脚体の先端部が実際に着地すると予想される床上の着地予定点の鉛直位置を測定する床形状認識手段とを備え、前記目標歩容生成手段は、少なくとも前記位置偏差算出手段により求められた前記所定方向位置偏差と前記床形状認識手段により測定された前記着地予定点の鉛直位置とに基づいて前記目標歩容を修正することを特徴とするものである。
この第２３発明では、所定方向位置偏差が前記した第１〜第２２発明の状態量偏差に相当するものである。そして、第２３発明では、該所定方向位置偏差と、前記床形状認識手段により測定された前記着地予定点の鉛直位置とに基づいて前記目標歩容が修正される。これにより、着地予定点での床の鉛直位置（高さ）が当初の目標目標歩容で想定していた鉛直位置からずれていても、前記所定方向位置偏差を解消しつつ、実際の床の高さに則した目標歩容を生成することができる。その結果、ロボットの実際の離床タイミングや着地タイミングと目標歩容上のタイミングを整合させつつ、ロボットの円滑な移動を行うことが可能となる。
なお、前記所定の部位は、ロボットの上体であることが好ましい。
この第２３発明では、前記目標歩容生成手段は、少なくとも前記所定方向位置偏差に基づいて、該所定方向位置偏差が０に近づくように前記目標歩容のうちの前記代表自己位置の軌道を規定する目標運動を修正する手段と、少なくとも前記測定された前記着地予定点の鉛直位置に基づいて、前記目標歩容のうちの脚体の先端部の軌道を規定する目標運動を修正する手段とを備えることが好ましい（第２４発明）。これによれば、
前記所定方向位置偏差は、前記代表自己位置の軌道を規定する目標運動、例えば上体の目標運動の修正（操作）によって０に近づき、着地予定点での床の鉛直位置（高さ）のずれに対しては、脚体の先端部の軌道を規定する目標運動の修正（操作）によって、脚体の着地が円滑に行われるようにされる。
なお、第２４発明での前記代表自己位置の軌道を規定する目標運動の修正（操作）は、前記所定方向位置偏差を前記状態量偏差とみなして、前記した第１発明〜第１９発明の如く行うようにすればよい。
第２３発明では、前記目標歩容生成手段は、少なくとも前記測定された前記着地予定点の鉛直位置と前記目標歩容における目標着地点の鉛直位置との偏差と、前記所定方向位置偏差とに基づいて、これらの偏差が０に近づくように前記目標歩容のうちの前記代表自己位置の軌道を規定する目標運動を修正するようにしてもよい（第２５発明）。これによれば、前記着地予定点の鉛直位置と前記目標歩容における目標着地点の鉛直位置との偏差と、前記所定方向位置偏差との両者を０に近づけるように前記代表自己位置の軌道を規定する目標運動（例えば上体の目標運動）が修正（操作）されることとなる。なお、この場合には、前記代表自己位置の軌道を規定する目標運動の修正（操作）は、前記着地予定点の鉛直位置と前記目標歩容における目標着地点の鉛直位置との偏差と、前記所定方向位置偏差との和を前記状態量偏差とみなして、前記した第１発明〜第１９発明の如く行うようにすればよい。
また、本発明の脚式移動ロボットの制御装置の第２６発明は、脚体の運動により移動する脚式移動ロボットの目標運動及び目標床反力からなる目標歩容に追従させるようにロボットの動作を制御するコンプライアンス制御手段を備え、該コンプラインアンス制御手段が、前記ロボットに実際に作用する床反力を把握しつつ、その把握した床反力と前記目標床反力との偏差である床反力偏差に応じて前記ロボットの上体に対する脚体の先端部の相対位置を前記目標運動により規定される相対位置から修正する脚式移動ロボットの制御装置において、前記目標歩容は、前記ロボットの全脚体を空中に浮かせる空中期を有する歩容であり、前記コンプライアンス制御手段は、前記床反力偏差に対する前記脚体の先端部の相対位置の修正量のゲインを少なくとも前記空中期の開始直前に減少させることを特徴とするものである。
かかる第２６発明によれば、前記床反力偏差に対する前記脚体の先端部の相対位置の修正量のゲイン（コンプライアンス制御手段のゲイン）を少なくとも前記空中期の開始直前に減少させるので、空中期の開始直前では、コンプライアンス制御が硬いものとなる。その結果、脚体の先端部の、目標歩容の目標運動に対する追従性が高まり、脚体の離床を、つまづきを生じたりすることなく円滑に行うことができる。
また、本発明の脚式移動ロボットの制御装置の第２７発明は、脚体の運動により移動する脚式移動ロボットの目標運動を少なくとも含む目標歩容を生成し、その目標歩容に追従させるように該ロボットの動作を制御する脚式移動ロボットの制御装置において、少なくとも前記ロボットの全脚体を空中に浮かせる空中期を含む前記目標歩容を生成する目標歩容生成手段と、前記ロボットの所定の部位の位置及び該ロボットの重心の位置のうちの少なくともいずれかの位置をロボットの代表自己位置とし、該代表自己位置を推定する自己位置推定手段と、その推定された代表自己位置と、前記目標歩容における代表自己位置との差のうち、所定方向の成分を所定方向位置偏差として求める位置偏差算出手段と、少なくとも前記所定方向位置偏差に応じて、該所定方向位置偏差が０に近づくように前記ロボットの脚体の先端部の位置を前記目標歩容により規定される位置から修正する脚先端部位置修正手段とを備え、該脚先端部位置修正手段は、少なくとも前記目標歩容の空中期の開始時までに前記脚体の先端部の位置の修正量を前記所定方向位置偏差によらずに強制的に略０にすることを特徴とするものである。なお、前記所定の部位は、例えばロボットの上体であることが好ましい。
かかる第２７発明では、空中期の開始前、すなわち、いずれかの脚体を接地させている支持脚期では、基本的には、前記所定方向位置偏差が０に近づくように脚体先端部の位置が修正（操作）されるが、空中期の開始時までには、その修正量が、強制的に０にされる。このため、空中期の開始時には、脚体先端部の軌道が、本来の目標歩容により定まる脚体先端部の位置姿勢、すなわち、離床動作を行なうのに適した位置姿勢に制御されることとなる。その結果、脚体の離床を、つまづきを生じたりすることなく円滑に行うことができる。
また、本発明の脚式移動ロボットの制御装置の第２８発明は、脚体の運動により移動する脚式移動ロボットの目標運動及び目標床反力からなる目標歩容を生成し、その目標歩容に追従させるように該ロボットの動作を制御する脚式移動ロボットの制御装置において、少なくとも前記ロボットの全脚体を空中に浮かせる空中期を含む前記目標歩容を生成する目標歩容生成手段と、前記ロボットの所定の部位の位置及び該ロボットの重心の位置のうちの少なくともいずれかの位置をロボットの代表自己位置とし、該代表自己位置を推定する自己位置推定手段と、その推定された代表自己位置と、前記目標歩容における代表自己位置との差のうち、所定方向の成分を所定方向位置偏差として求める位置偏差算出手段と、少なくとも前記所定方向位置偏差に応じて、該所定方向位置偏差が０に近づくように前記目標歩容うちの目標床反力を修正する床反力修正手段とを備え、該床反力修正手段は、少なくとも前記目標歩容の空中期の開始時までに前記目標床反力の修正量を前記所定方向位置偏差によらずに強制的に略０にすることを特徴とするものである。
かかる第２８発明では、空中期の開始前、すなわち、いずれかの脚体を接地させている支持脚期では、基本的には、前記所定方向位置偏差が０に近づくように目標歩容の目標床反力が修正（操作）されるが、空中期の開始時までには、その修正量が、強制的に０にされる。このため、空中期の開始時には、目標床反力が本来の目標床反力、すなわち、ロボットの離床動作を行なうのに適した目標床反力に決定され、その目標床反力に実際の床反力を追従させるように脚体の運動等が制御されることとなる。その結果、脚体の離床を、つまづきを生じたりすることなく円滑に行うことができる。
発明を実施するための最良の形態
以下、添付図面を参照してこの発明の実施形態に係る脚式移動ロボットの制御装置を説明する。尚、脚式移動ロボットとしては２足移動ロボットを例にとる。
図１は、この実施形態に係る脚式移動ロボットとしての２足移動ロボットを全体的に示す概略図である。
図示の如く、２足移動ロボット（以下、ロボットという）１は上体（ロボット１の基体）３から下方に延設された左右一対の脚体（脚部リンク）２，２を備える。両脚体２，２は同一構造であり、それぞれ６個の関節を備える。その６個の関節は上体３側から順に、股（腰部）の回旋（回転）用（上体３に対するヨー方向の回転用）の関節１０Ｒ，１０Ｌ（符号Ｒ，Ｌはそれぞれ右側脚体、左側脚体に対応するものであることを意味する符号である。以下同じ）と、股（腰部）のロール方向（Ｘ軸まわり）の回転用の関節１２Ｒ，１２Ｌと、股（腰部）のピッチ方向（Ｙ軸まわり）の回転用の関節１４Ｒ，１４Ｌ、膝部のピッチ方向の回転用の関節１６Ｒ，１６Ｌと、足首のピッチ方向の回転用の関節１８Ｒ，１８Ｌと、足首のロール方向の回転用の関節２０Ｒ，２０Ｌとから構成される。
各脚体２の足首の２つの関節１８Ｒ（Ｌ），２０Ｒ（Ｌ）の下部には、各脚体２の先端部を構成する足平（足部）２２Ｒ（Ｌ）が取着されると共に、両脚体２，２の最上位には、各脚体２の股の３つの関節１０Ｒ（Ｌ），１２Ｒ（Ｌ），１４Ｒ（Ｌ）を介して前記上体３が取り付けられている。上体３の内部には、詳細を後述する制御ユニット６０などが格納される。なお、図１では図示の便宜上、制御ユニット６０を上体３の外部に記載している。
上記構成の各脚体２においては、股関節（あるいは腰関節）は関節１０Ｒ（Ｌ），１２Ｒ（Ｌ），１４Ｒ（Ｌ）から構成され、膝関節は関節１６Ｒ（Ｌ）から構成され、足首関節は関節１８Ｒ（Ｌ），２０Ｒ（Ｌ）から構成される。また股関節と膝関節とは大腿リンク２４Ｒ（Ｌ）で連結され、膝関節と足首関節とは下腿リンク２６Ｒ（Ｌ）で連結される。
尚、上体３の上部の両側部には左右一対の腕体５，５が取り付けられると共に、上体３の上端部には頭部４が配置される。これらの腕体５，５及び頭部４のうち、腕体５は、本発明の要旨と直接的な関連を有しないため詳細な説明を省略する。また、頭部４については後述する。
上記の構成により、各脚体２の足平２２Ｒ（Ｌ）は、上体３に対して６つの自由度を与えられている。そして、ロボット１の歩行等の移動中に、両脚体２，２を合わせて６＊２＝１２個（この明細書で「＊」はスカラに対する演算としては乗算を、ベクトルに対する演算としては外積を示す）の関節を適宜な角度で駆動することで、両足平２２Ｒ，２２Ｌの所望の運動を行うことができる。これにより、ロボット１は任意に３次元空間を移動することができる。
図１に示す如く、各脚体２の足首関節１８Ｒ（Ｌ），２０Ｒ（Ｌ）の下方には足平２２Ｒ（Ｌ）との間に公知の６軸力センサ５０が介装されている。該６軸力センサ５０は、各脚体２の足平２２Ｒ（Ｌ）の着地の有無、および各脚体２に作用する床反力（接地荷重）等を検出するためのものであり、該床反力の並進力の３方向成分Ｆｘ，Ｆｙ，Ｆｚ並びにモーメントの３方向成分Ｍｘ，Ｍｙ，Ｍｚの検出信号を制御ユニット６０に出力する。また、上体３には、Ｚ軸（鉛直方向（重力方向））に対する上体３の傾き（姿勢角）およびその角速度等を検出するための傾斜センサ５４が備えられ、その検出信号が該傾斜センサ５４から制御ユニット６０に出力される。この傾斜センサ５４は、図示を省略する３軸方向の加速度センサおよび３軸方向のジャイロセンサを備え、これらのセンサの検出信号が上体３の傾きおよびその角速度を検出するために用いられると共に、ロボット１の自己位置姿勢を推定するために用いられる。また、詳細構造の図示は省略するが、ロボット１の各関節には、それを駆動するための電動モータ６４（図５参照）と、その電動モータ６４の回転量（各関節の回転角）を検出するためのエンコーダ（ロータリエンコーダ）６５（図５参照）とが設けられ、該エンコーダ６５の検出信号が該エンコーダ６５から制御ユニット６０に出力される。
さらに、図１では図示を省略するが、ロボット１の適宜な位置にはジョイスティック（操作器）７３（図５参照）が設けられ、そのジョイスティック７３を操作することで、直進移動しているロボット１を旋回させるなど、ロボット１の歩容に対する要求を必要に応じて制御ユニット６０に入力できるように構成されている。
図２は本実施形態における各脚体２の先端部分（各足平２２Ｒ（Ｌ）を含む）の基本構成を概略的に示す図である。同図に示すように、各足平２２Ｒ（Ｌ）の上方には、前記６軸力センサ５０との間にばね機構７０が装備されると共に、足底（各足平２２Ｒ，Ｌの底面）にはゴムなどからなる足底弾性体７１が貼られている。これらのばね機構７０及び足底弾性体７１によりコンプライアンス機構７２が構成されている。ばね機構７０は詳細は後述するが、足平２２Ｒ（Ｌ）の上面部に取り付けられた方形状のガイド部材（図２では図示省略）と、足首関節１８Ｒ（Ｌ）（図２では足首関節２０Ｒ（Ｌ）を省略している）および６軸力センサ５０側に取り付けられ、前記ガイド部材に弾性材（ゴムやばね）を介して微動自在に収納されるピストン状部材（図２では図示省略）とから構成されている。
図２に実線で表示された足平２２Ｒ（Ｌ）は、床反力を受けていないときの状態を示している。各脚体２が床反力を受けると、コンプライアンス機構７２のばね機構７０と足底弾性体７１とがたわみ、足平２２Ｒ（Ｌ）は図中に点線で例示したような位置姿勢に移る。このコンプラインアス機構７２の構造は、例えば本出願人が先に提案した特開平５−３０５５８４号公報に詳細に説明されている如く、着地衝撃を緩和するためだけでなく、制御性を高めるためにも重要なものである。
上記コンプライアンス機構７２を含めた足平２２Ｒ（Ｌ）（以下、足平機構２２Ｒ（Ｌ）と称することがある。）のより詳細な構成を図３及び図４を参照してさらに説明する。図３は足平機構２２Ｒ（Ｌ）の側面示の断面図、図４は該足平機構２２Ｒ（Ｌ）の底面側から見た平面図である。
足平機構２２Ｒ（Ｌ）は、大略平板状の足平プレート部材１０２を骨格部材として備えている。この足平プレート部材１０２は、その前端部（つま先部）と後端部（踵部）とが若干上方に湾曲されているが、他の部分は平坦な平板状になっている。また、足平プレート部材１０２の上面部には、横断面方形状のガイド部材１０３がその軸心を上下方向に向けて固設されている。このガイド部材１０３の内部には、該ガイド部材１０３の内周面に沿うようにして略上下方向に移動可能に設けられた可動板（ピストン状部材）１０４が設けられ、該可動板１０４が足首関節１８Ｒ（Ｌ），２０Ｒ（Ｌ）に６軸力センサ５０を介して連結されている。
また、可動板１０４は、その下面の周縁部がばね、ゴム等の弾性材からなる複数の弾性部材１０６（図ではばねとして記載している）を介して足平プレート部材１０２の上面部に連結されている。従って、足平プレート部材１０２は、弾性部材１０６、可動板１０４及び６軸力センサ５０を介して足首関節１８Ｒ（Ｌ）に連結されている。尚、ガイド部材１０３の内部（可動板１０４の下側の空間）は、図示を省略する穴や隙間を介して大気側に開放されており、大気中の空気がガイド部材１０３の内部に入出自在となっている。また、上記ガイド部材１０３、可動板１０４、及び弾性部材１０６は前記図２に示したばね機構７０を構成するものである。
足平プレート部材１０２の底面（下面）には、前記図２に示した足底弾性体７１としての接地部材７１が取着されている。該接地部材７１は、足平機構２２Ｒ（Ｌ）の接地状態で、該足平プレート部材１０２と床面との間に介在させる弾性部材（床面に直接的に接触する弾性部材）であり、本実施形態では、足平プレート部材１０２の接地面の四隅（足平プレート部材１０２のつま先部の両側部並びに踵部の両側部）に固着されている。
また、接地部材７１は、本実施形態では、比較的軟質のゴム材から成る軟質層１０７ａと、比較的硬質のゴム材から成る硬質層１０７ｂとを上下に重合してなる２層構造に形成され、硬質層１０７ｂが、脚体２の着床時に直接的に床面に接触する接地面部として最下面側に設けられている。
足平機構２２Ｒ（Ｌ）には、上記の構成の他、着地衝撃緩衝装置１０８が備えられている。この着地衝撃緩衝装置１０８は、足平プレート部材１０２の底面に取着された袋状部材１０９と、該袋状部材１０９の内部に対して圧縮性流体としての空気（大気中の空気）を入出させるための流通路１１０とを備えている。
袋状部材１０９は、その周囲に前記接地部材７１が存するようにして、足平プレート部材１０２の底面の大略中央部に設けられている。この袋状部材１０９は、ゴム等の弾性材により変形自在に構成されており、外力による弾性変形が生じていない自然状態では、図３に実線で示すように、上方に開口した円筒容器形状を呈する。そして、該袋状部材１０９は、その開口端部が全周にわたって足平プレート部材１０２の底面に固着され、該足平プレート部材１０２により閉蓋されている。また、袋状部材１０９は、円筒容器形状を呈する自然状態では、該袋状部材１０９の底部が前記接地部材７１よりも下方に突出するように設けられている。つまり、該袋状部材１０９の高さ（足平プレート部材１０２の下面から袋状部材１０９の底部までの距離）は、接地部材７１の厚さよりも大きいものとされている。従って、足平プレート部材１０２が接地部材７１を介して接地した状態（脚部２の着床状態）では、袋状部材１０９は、図３に仮想線で示すように、床反力により袋状部材１０９の高さ方向に圧縮される。
尚、本実施形態では、袋状部材１０９が円筒容器形状を呈する自然状態は該袋状部材１０９の膨張状態である。そして、袋状部材１０９は、弾性材により構成されているため、圧縮されたとき、自然状態の形状（円筒容器形状）への形状復元力を有する。
前記流通路１１０は、袋状部材１０９に対する空気の流入・流出を行う流入・流出手段を構成するものであり、本実施形態では、袋状部材１０９の内部と前記ガイド部材１０３の内部とを連通させるように足平プレート部材１０２に穿設された流通孔である。この場合、前述のように、ガイド部材１０３の内部は大気側に開放されているので、該流通路１１０は、袋状部材１０９の内部を大気側に連通させていることとなる。従って、袋状部材１０９の内部には、大気中の空気が流通路１１０を介して入出自在となっており、該袋状部材１０９の膨張状態（自然状態）では、該袋状部材１０９内には空気が充填され、その内部の圧力は大気圧と同等になる。また、流通路１１０は絞り通路となっており、袋状部材１０９の内部に空気が入出する際には流体抵抗を生じるようになっている。
図５は制御ユニット６０の構成を示すブロック図である。該制御ユニット６０はマイクロコンピュータにより構成されており、ＣＰＵからなる第１の演算装置９０及び第２の演算装置９２、Ａ／Ｄ変換器８０、カウンタ８６、Ｄ／Ａ変換器９６、ＲＡＭ８４、ＲＯＭ９４、並びにこれらの間のデータ授受を行うバスライン８２を備えている。この制御ユニット６０では、各脚体２の６軸力センサ５０、傾斜センサ５４（加速度センサおよびレートジャイロセンサ）、ジョイスティック７３等の出力信号はＡ／Ｄ変換器８０でデジタル値に変換された後、バスライン８２を介してＲＡＭ８４に送られる。またロボット１の各関節のエンコーダ６５（ロータリーエンコーダ）の出力は、カウンタ８６を介してＲＡＭ８４に入力される。
前記第１の演算装置９０は後述の如く目標歩容を生成すると共に、関節角変位指令（各関節の変位角もしくは各電動モータ６４の回転角の指令値）を算出し、ＲＡＭ８４に送出する。また第２の演算装置９２はＲＡＭ８４から関節角変位指令と、前記エンコーダ６５の出力信号とに基づいて検出された関節角の実測値とを読み出し、各関節の駆動に必要な操作量を算出してＤ／Ａ変換器９６とサーボアンプ６４ａとを介して各関節を駆動する電動モータ６４に出力する。
図６および図７は、前記ロボット１の頭部４の内部構造を表す図面である。図６は正面視、図７は側面視の図である。頭部４は、パン・チルト方向に回転する首関節１２０を介して、前記上体３の上部に連接されている。
首関節１２０にも、他の関節と同じく、エンコーダ（関節変位検出器）付きのモータ１２１，１２２と減速機１２３，１２４とを備え、図示を省略するモータ制御装置を介して前記制御ユニット６０からの関節変位指令に追従するように制御される。
頭部４には、環境認識手段として、左右２台のビデオカメラ１２５，１２５が備えられ、対象物を立体視することができるようになっている。前記図３では図示を省略しているが、ビデオカメラ１２５，１２５の出力（撮像情報）は、制御ユニット６０に入力され、該制御ユニット６０で撮像情報内の対象物までの距離等が認識される。
なお、左右２台のビデオカメラ１２５，１２５の代わりに、以下のような環境認識手段を備えても良い。
ａ）３台以上のカメラによる立体視
ｂ）１台カメラで対象物の多点を認識し、三角測量の原理で距離を推定する手段
ｃ）レンジファインダ、スキャン式レーザー距離計等の非接触多点距離計測装置
図８は、この実施形態に係る脚式移動ロボットの制御装置の機能的構成を全体的に示すブロック図である。この図８中の「実ロボット」部分以外の部分が制御ユニット６０が実行する処理機能（主として第１の演算装置９０及び第２の演算装置９２の機能）によって構成されるものである。なお、以下の説明では、脚体２の左右を特に区別する必要がないときは、前記符号Ｒ，Ｌを省略する。
以下説明すると、制御ユニット６０は、ロボット１の目標歩容を自在かつリアルタイムに生成して出力する歩容生成装置２００を備えている。この歩容生成装置２００が出力する目標歩容は、目標上体位置姿勢軌道（上体３の目標位置及び目標姿勢の軌道）、目標足平位置姿勢軌道（各足平２２の目標位置及び目標姿勢の軌道）、目標腕姿勢軌道（各腕体５の目標姿勢の軌道）、目標全床反力中心点（目標ＺＭＰ）軌道、目標全床反力軌道から構成される。なお、前記頭部４等、脚体２や腕体５以外に上体３に対して可動な部位の目標位置姿勢軌道を必要に応じて上記目標歩容に加えてもよい。
ここで、本発明の実施形態での用語の意味あるいは定義について補足しておく。上記歩容における「軌道」は時間的変化のパターン（時系列パターン）を意味し、以下の説明では、「軌道」の代わりに「パターン」と称することもある。また、各部位の「姿勢」は空間的な向きを意味する。例えば上体姿勢は、Ｚ軸（鉛直軸）に対するロール方向（Ｘ軸回り）の上体３の傾斜角（姿勢角）と、Ｚ軸に対するピッチ方向（Ｙ軸回り）の上体３の傾斜角（姿勢角）と、ヨー方向（Ｚ軸回り）の上体３の回転角とで表され、足平姿勢は各足平２２に固定的に設定された２軸の空間的な方位角で表される。また、目標腕姿勢は、腕体５，５の全ての部位に関する上体３に対する相対的な姿勢で表わされる。
上体位置は、上体３の所定位置、具体的には上体３のあらかじめ定めた代表点の位置を意味する。同様に、足平位置は、各足平２２Ｒ，２２Ｌのあらかじめ定めた代表点の位置を意味する。なお、上体速度は、上体３の上記代表点の移動速度を意味し、足平速度は、各足平２２Ｒ，２２Ｌの上記代表点の移動速度を意味する。
目標上体位置姿勢等の目標歩容に関し、以下の説明では、誤解を生じるおそれがない場合には、しばしば「目標」を省略する。また、歩容のうちの、床反力に係わる構成要素以外の構成要素、すなわち足平位置姿勢、上体位置姿勢等、ロボット１の運動に係わる歩容を総称的に「運動」という。
各足平２２Ｒ，Ｌの床反力（並進力及びモーメントからなる床反力）を「各足平床反力」と呼び、ロボット１の全ての（２本の）足平２２Ｒ，２２Ｌの床反力の合力を「全床反力」と呼ぶ。ただし、以下の説明においては、各足平床反力に関してはほとんど言及しないので、断らない限り、「床反力」は「全床反力」と同義として扱う。
目標床反力は、一般的には、作用点とその点に作用する力（並進力）と力のモーメントによって表現される。作用点はどこにとっても良いので、同一の目標床反力でも無数の表現が考えられるが、特に前述の目標床反力中心点を作用点にして目標床反力を表現すると、力のモーメントは、鉛直軸成分を除けば、０になる。
尚、動力学的平衡条件を満足する歩容では、目標運動軌道から算出されるＺＭＰ（目標運動軌道から算出されるロボット１の慣性力と重力との合力がその点まわりに作用するモーメントが、鉛直軸成分を除いて０になる点）と目標全床反力中心点は一致することから、目標全床反力中心点軌道の代わりに目標ＺＭＰ軌道を与えると言っても同じことである（詳細は、例えば本出願人によるＰＣＴ公開公報ＷＯ／０２／４０２２４を参照）。
このような背景から、ＰＣＴ公開公報ＷＯ／０２／４０２２４の明細書では目標歩容を次のように定義していた。
ａ）広義の目標歩容とは、１歩ないしは複数歩の期間の目標運動軌道とその目標床反力軌道との組である。
ｂ）狭義の目標歩容とは、１歩の期間の目標運動軌道とそのＺＭＰ軌道との組である。
ｃ）一連の歩容は、いくつかの歩容がつながったものとする。
ロボット１の歩行を行う場合においては、本出願人が先に特開平１０−８６０８０号公報で提案した上体高さ決定手法によって上体鉛直位置（上体高さ）が決定されると、床反力の並進力成分は従属的に決定されるので、目標歩容の床反力に関して明示的に設定すべき物理量としては、ＺＭＰだけで十分であった。したがって、ＰＣＴ公開公報ＷＯ／０２／４０２２４の明細書では、狭義の目標歩容としては、上記のｂ）で十分であった。それに対し、ロボット１の走行を行う場合には、床反力鉛直成分も制御上重要であるので、該床反力鉛直成分を明示的に設定することが好ましい。そこで、本願出願人が先に提案したＰＣＴ出願（ＰＣＴ／ＪＰ０２／１３５９６）等では、狭義の目標歩容として、次のｂ’）を採用した。
ｂ’）狭義の目標歩容とは、１歩の期間の目標運動軌道とそのＺＭＰ軌道と床反力鉛直成分軌道の組である。
この明細書では以降、特にことわらない限り、目標歩容は狭義の目標歩容の意味で使用する。また、目標歩容の「１歩」は、ロボット１の片方の脚体２が着地してからもう一方の脚体２が着地するまでの意味で使用する。
歩容における両脚支持期とは言うまでもなく、ロボット１がその自重を両脚体２，２で支持する期間、片脚支持期とはいずれか一方のみの脚体２でロボット１の自重を支持する期間、空中期とは両脚体２，２が床から離れている（空中に浮いている）期間を言う。
片脚支持期においてロボット１の自重を支持しない側の脚体２を「遊脚」と呼び、自重を支持する側の脚体２を「支持脚」と呼ぶ。ロボット１の歩行では、両脚支持期と片脚支持期とが交互に繰り返され、ロボット１の走行では片脚支持期と空中期とが交互に繰り返される。この場合、走行の空中期では、両脚体２，２とも、ロボット１の自重を支持しないこととなるが、該空中期の直前の片脚支持期において遊脚であった脚体２、支持脚であった脚体２をそれぞれ該空中期においても遊脚、支持脚と呼ぶ。
また、目標上体姿勢、目標上体位置、目標足平位置姿勢、目標腕姿勢等、目標歩容におけるロボット１の各部の位置姿勢は支持脚座標系で記述される。支持脚座標系とは、支持脚足平２２の接地面辺りに原点を持つ床面に固定された座標系である。より詳細には、支持脚座標系は、本出願人の特許３２７３４４３号に記載されているように、支持脚の足平２２を接地面との間で滑らさないで、水平姿勢になるまで回転させた時の、該支持脚の足首関節の中心から接地面への垂直投影点を原点とし、該支持脚足平２２のつま先に向かう水平軸（足平２２の前後方向の軸）をＸ軸として、鉛直軸をＺ軸、これらのＸ軸、Ｚ軸に直交する座標軸（足平２２の左右方向の軸）をＹ軸とする座標系である。
本発明の実施形態に係る歩容生成装置２００は、２歩先までの遊脚の足平２２の着地位置姿勢、着地時刻の要求値（目標値）を入力として、目標上体位置姿勢軌道、目標足平位置姿勢軌道、目標ＺＭＰ軌道、目標床反力鉛直成分軌道、及び目標腕姿勢軌道から構成される目標歩容を生成する。このとき、これらの軌道を規定するパラメータ（これを歩容パラメータと呼ぶ）の一部は、歩容の継続性を満足するように修正される。
また、歩容生成装置２００は、ロボット１の片方の脚体２が着地してから他方の脚体２が着地するまでの１歩分の目標歩容（前記狭義の意味での目標歩容）を単位として、その１歩分の目標歩容を順番に生成する。ここで、現在あるいはこれから生成しようとしている歩容を「今回歩容」、その次の歩容を「次回歩容」、さらにその次の歩容を「次次回歩容」と呼ぶ。また、「今回歩容」の１つ前に生成した目標歩容を「前回歩容」と呼ぶ。
歩容生成装置２００が生成する目標歩容の一部を例示的に概説すると、例えば目標足平位置姿勢軌道は、本出願人による特許３２３３４５０号に開示した有限時間整定フィルタを用いて生成される。この有限時間整定フィルタによる足平位置姿勢軌道の生成処理では、例えば足平位置軌道は、目標着地位置（着地位置の要求値）に向かって足平２２を徐々に加速しながら移動を開始し、目標着地時刻（着地時刻の要求値）までに徐々に速度を０またはほぼ０にまで減速し、該目標着地時刻に目標着地位置に到達して停止するように生成される。足平姿勢軌道についても同様である。これにより生成される目標足平位置姿勢軌道は、着地瞬間における対地速度が０またはほぼ０になるため、特にロボット１の走行を行う場合に、前記空中期からの着地時における着地衝撃を小さくできる。
また、例えば人間が走行を行う場合と同様の形態でロボット１の走行を行う場合には、例えば目標床反力鉛直成分軌道および目標ＺＭＰ軌道（詳しくは支持脚座標系のＸ軸方向（支持脚足平２２の前後方向）での目標ＺＭＰ軌道）は、それぞれ図９（ａ）、図９（ｂ）に実線で示すようなパターンで設定される。
ロボット１の走行を行う場合には、目標床反力鉛直成分軌道は、基本的には、図９（ａ）の実線で示す如く、片脚支持期では上に凸のパターンとなり、空中期では０に維持される。なお、ロボット１の歩行を行う場合には、目標床反力鉛直成分軌道は、例えば図９（ａ）に二点鎖線で示すように設定される。この場合、二点鎖線のうちの上に凸の部分が両脚支持期に対応し、下に凸の部分が片脚支持期に対応する。また、目標ＺＭＰは走行、歩行のいずれであっても、基本的には、ロボット１の脚体２の接地面内（より詳しくは所謂、支持多角形内）の中央付近に設定される。以降の説明では、主にロボット１の走行を行う場合を例に採って説明する。
図８に示す制御ユニット６０の機能的構成は、本出願人が先に提案したＰＣＴ出願ＰＣＴ／ＪＰ０３／００４３５の第１実施形態と一部が相違するものである。その相違点は、上体鉛直位置安定化制御演算部２１８と自己位置姿勢推定部２１６とが新たに追加されていること、歩容生成装置２００に上体鉛直位置安定化制御演算部２１８から後述するモデル鉛直外力Ｆｍｄｌｚが入力され、歩容生成装置２００の歩容の生成において、モデル鉛直外力Ｆｍｄｌｚが考慮されること、および複合コンプライアンス動作決定部２０４に上体鉛直位置安定化制御演算部２１８からコンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚが入力され、複合コンプライアンス動作決定部２０４においてコンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚが考慮されてコンプライアンス動作が決定されることが異なる。残余の形態については、上記ＰＣＴ出願ＰＣＴ／ＪＰ０３／００４３５の第１実施形態と異ならない。
以下、主にＰＣＴ出願ＰＣＴ／ＪＰ０３／００４３５の第１実施形態と異なる点について詳細に説明すると、自己位置姿勢推定部２１６において、ロボット１の上体３の実際の鉛直位置の推定値である推定上体鉛直位置を決定し、その推定上体鉛直位置と目標上体鉛直位置との差である上体鉛直位置偏差を求める。なお、自己位置姿勢推定部２１６における推定上体鉛直位置の決定には、例えば本願と同日の出願（特願２００２−１２７０６６号を優先権の主張の基礎とするＰＣＴ出願、発明の名称「脚式移動ロボットの自己位置推定装置」）にて提案しているいずれかの実施形態の手法を用いれば良い。あるいは、公知の慣性航法の手法によって、推定上体鉛直位置を決定するようにしてもよい。基本的には、推定上体鉛直位置をできるだけ精度よく決定することができる手法であればどのような手法を用いてもよい。また、前記上体鉛直位置偏差の算出に用いる目標上体鉛直位置は、歩容生成装置２００によって、前回制御周期に決定された目標歩容の上体鉛直位置である。また、本実施形態の自己位置姿勢推定部２１６では、上体３の実際の姿勢の推定値としての推定上体姿勢も決定され、その推定上体姿勢と目標上体姿勢との偏差うちの傾き成分（鉛直軸に対する傾き成分）である実上体姿勢角偏差も求められる。そして、自己位置姿勢推定部２１６には、推定上体位置姿勢の決定や、上体鉛直位置偏差、実上体姿勢角偏差の算出を行うために、前記傾斜センサ５４に備えた加速度センサの加速度検出値とジャイロセンサの角速度検出値とが与えられると共に、歩容生成装置２００から目標上体位置姿勢等の目標歩容が与えられる。
上体鉛直位置安定化制御演算部２１８では、前記上体鉛直位置偏差を基に、コンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚとモデル鉛直外力Ｆｍｄｌｚとを決定する。
なお、一般的には、力は、並進力と力のモーメントの組で表されるが、以降、断りがない限り、力は、並進力成分のみを表すものとする。
コンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚは、全床反力鉛直方向成分に対するコンプライアンス制御を含む複合コンプライアンス動作決定部２０４に入力される。複合コンプライアンス動作決定部２０４では、実全床反力（すべての足平床反力の合力）が、目標各足平床反力の合力である全床反力とコンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚとの和（合力）に一致するように、機構変形補償付き修正目標足平位置姿勢（軌道）を決定する。すなわち、コンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚが実床反力として付加的に発生させられる。
モデル鉛直外力Ｆｍｄｌｚは、歩容生成装置２００に送られる。歩容生成装置２００では、モデル鉛直外力Ｆｍｄｌｚがロボットに作用すると想定して、動力学的平衡条件（ニュートン方程式とオイラー方程式）を満足する目標歩容の運動を動力学モデルを用いて生成する。すなわち、動力学モデルの重心に、重力とモデル鉛直外力Ｆｍｄｌｚとが作用するものとして、動力学的平衡条件を満足する運動を生成する。
なお、上記動力学モデルとしては、例えば、前記ＰＣＴ公開公報ＷＯ／０２／４０２２４号に記載の単純化モデルあるいは、本出願人が提案した特開２００２−３２６１７３号公報に記載の多質点モデル（フルモデル）などを用いれば良い。
動力学モデルを用いて動力学的平衡条件を満足するように生成された、目標運動と目標床反力とから成る目標歩容に実ロボットを追従させる追従制御系においては、動力学モデルと実ロボットとに同一の床反力を作用させる限り、いかなる床反力を作用させても、目標運動と実ロボットの運動との差は、ほとんど該床反力の影響を受けない。
このことは、言い換えると、実ロボットにある床反力Ｆを作用させることと、動力学モデルに前記床反力Ｆの符号を反転した床反力（−Ｆ）を作用させることとは、目標運動と実ロボットの運動との差に対する影響としては等価である、と言える。
なお、動力学モデルに作用させる床反力は、必ずしも、接触している床から作用する力とは、限らない。例えば、ロボットと床が接触していなくて現実には発生できない床反力を動力学モデルに作用させる場合もある。したがって、目標床反力と呼ぶよりは、目標外力と呼ぶ方がより自然と言えるが、いずれにしても架空の力であるから、どちらでも構わないことである。
上体鉛直位置安定化制御演算部２１８の処理を、そのフローチャートである図１０とその制御ブロック図である図１１とを用いて詳説すると、まず、図１０のＳ４０００において、推定上体鉛直位置と目標上体鉛直位置の差（上体鉛直位置偏差）Δｈおよびその変化率（時間微分値）ｄΔｈ／ｄｔを求める。
次いでＳ４００２に進み、図示する式によって、総合要求鉛直復元力Ｆｄｍｄｚを決定する。すなわち、上体鉛直位置偏差からフィードバック制御則（本実施形態ではＰＤ制御則）により、Ｆｄｍｄｚを決定する。
次いでＳ４００４に進み、総合要求鉛直復元力Ｆｄｍｄｚを基にコンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚとモデル鉛直外力Ｆｍｄｌｚとを決定する。具体的には、まず、コンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚの最小許容値および最大許容値を図１２（ｃ），（ｄ）に例示する如く設定し、その最小許容値を下限値、最大許容値を上限値とした制限をかける飽和手段（リミッタ）２５０に総合要求鉛直復元力Ｆｄｍｄｚを通することにより、コンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚを決定する。従って、Ｆｃｍｐｎｚは、最小許容値≦Ｆｄｍｄｚ≦最大許容値であれば、Ｆｄｍｄｚに等しくなり、Ｆｄｍｄｚ＜最小許容値、又はＦｄｍｄｚ＞最大許容値であれば、それぞれＦｃｍｐｎｚは最小許容値、最大許容値に制限される。そして、このように決定されたコンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚから総合要求鉛直復元力Ｆｄｍｄｚを減じることにより、モデル鉛直外力Ｆｍｄｌｚが決定される。つまり、ＦｃｍｐｎｚとＦｍｄｌｚとの差がＦｄｍｄｚとなるようにＦｃｍｐｎｚとＦｍｄｌｚとが決定される。
補足すると、Ｓ４００２におけるゲインＫｈおよびゲインＫｄｈは、負の値であり、推定上体鉛直位置と目標上体鉛直位置との差Δｈが０に近づく（収束する）ように設定される。片脚支持期や空中期などの時期に応じてゲインの値を変更しても良い。
コンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚの許容範囲を規定する前記最小許容値は非正の値、最大許容値は非負の値である。図１２（ｃ）、（ｄ）に例示した最大許容値および最小許容値は、ロボット１の走行を行う場合の例であり、この例では、上記最小許容値と最大許容値との間の許容範囲は、空中期の直前から片脚支持期の開始直後までの期間では０に設定されている。なお、図１２には、Ｆｃｍｐｎｚの最小許容値および最大許容値と、目標床反力鉛直成分および目標ＺＭＰとの時期的な関係を示すために、前記図９（ａ），（ｂ）に示した目標床反力鉛直成分および目標ＺＭＰを図１２（ａ）、（ｂ）として併記した。
空中期においては、コンプライアンス制御によって、コンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚを発生させることができないので、言い換えると、空中期においては、コンプライアンス制御によって足平２２を摂動させても床反力は０のままであるので、Ｆｃｍｐｎｚの最小許容値および最大許容値は０または概ね０に設定することが望ましい。
また、離床直前（空中期の開始直前）の床反力が小さい状態またはつま先しか接地していない状態でも、コンプライアンス制御によって足平を摂動させて、床反力を変化させることは困難であることから、離床直前でも最小許容値および最大許容値は０または概ね０に設定するのが良い。また、離床直前にコンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚが０以外の値であると、床反力が０になる離床時刻（空中期の開始時刻）が目標離床時刻からずれる恐れがあることからも、離床直前では最小許容値および最大許容値は概ね０に設定するのが良い。
ロボット１の実際の離床時刻が目標離床時刻よりも早くなると、水平方向の摩擦力が想定した時刻よりも早めに小さくなるか０となるので、スリップやスピンを生じ易い。逆に、離床時刻が遅くなると、走行のように離床した直後に遊脚足平２２を前に移動する時に、遊脚足平２２が床に引っ掛かってしまう恐れがあった。
上記の構成により、推定上体鉛直位置と目標上体鉛直位置との差（上体鉛直位置偏差）Δｈを０に漸近させるために、空中期においては、モデル鉛直外力Ｆｍｄｌｚが作用し、支持脚期においては、主にコンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚが作用する。
なお、支持脚期においては、ゲインＫｈおよびゲインＫｄｈを０またはほぼ０にしても良い。コンプライアンス制御自身、上体鉛直位置偏差推定上体鉛直位置と目標上体鉛直位置との差Δｈおよびその微分値に応じて、床反力が変化し、推定上体鉛直位置と目標上体鉛直位置との差Δｈを０に収束させる作用を持っているからである。
Ｓ４００２およびＳ４００４の代わりに、図１３に示すごとく、推定上体鉛直位置と目標上体鉛直位置との差（上体鉛直位置偏差）Δｈを基に、図示する式を用いて、モデル鉛直外力Ｆｍｄｌｚとコンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚとを決定しても良い。すなわち、前記上体鉛直位置偏差Δｈから、モデル鉛直外力Ｆｍｄｌｚとコンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚとを各別にフィードバック制御則（図１３の例ではＰＤ制御則）により決定しても良い。ただし、コンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚに係わるゲインＫｈｃ（比例ゲイン）とモデル鉛直外力Ｆｍｄｌｚに係わるゲインＫｈｍ（比例ゲイン）とは、それぞれ図１４（ｃ），（ｄ）に示すように、片脚支持期や空中期などの時期等に応じて値を変更するのが良い。すなわち、ゲインＫｈｃは、空中期や、その開始直前（離床直前）、片脚支持期の開始直後（着地直後）のように、床反力が０もしくはほぼ０になる時期では、Ｋｈｃ≒０に設定することが好ましい。逆に、ゲインＫｈｍは、支持脚期においてＫｈｍ≒０に設定することが好ましい。なお、図１４（ａ），（ｂ）は、前記図９に示した目標床反力鉛直成分、目標ＺＭＰ（Ｘ軸成分）である。
また、安定性を考慮すると、ＫｄｈｃはＫｈｃと同様の傾向を持たせ、ＫｄｈｍはＫｈｍと同様の傾向を持たせるのが良い。
また、上体鉛直位置安定化制御演算部２１８は、前記飽和手段２５０のようなリミッタと可変ゲインとを組み合わせても良い。あるいは、上体鉛直位置安定化制御演算部２１８には、ローパスフィルターなどのフィルターを挿入しても良い。また、ニューロ制御やファジー制御等でモデル鉛直外力Ｆｍｄｌｚとコンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚを決定させても良い。
いずれにせよ、推定上体鉛直位置と目標上体鉛直位置の差Δｈを０に近づけるように、空中期においては、主にモデル鉛直外力Ｆｍｄｌｚが作用し、支持脚期においては、主にコンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚが作用するように構成すれば良い。
歩容生成装置２００における目標歩容生成処理ならびに自己位置姿勢推定部２１６の自己位置姿勢推定処理のフローチャートを図１５示す。
この図を用いて以下に歩容生成装置２００ならびに自己位置姿勢推定部２１６の処理について詳説する。
まずＳ０１０において時刻ｔを０に初期化するなど種々の初期化作業を行う。
次いでＳ０１２を経てＳ０１４に進み、制御周期毎のタイマ割り込みを待つ。制御周期はΔｔである。
次いでＳ０１６に進み、自己位置姿勢推定部２１６の処理、すなわち、ロボット１の実際の上体位置姿勢を推定する（推定上体位置姿勢を決定する処理）を行う。Ｓ０１６における処理は、先にも述べたように、例えば本願と同日の出願（特願２００２−１２７０６６号を優先権の主張の基礎とするＰＣＴ出願、発明の名称「脚式移動ロボットの自己位置推定装置」）にて提案しているいずれかの実施形態の手法を用いれば良い。または、従来方式である慣性航法によって自己位置（上体位置姿勢）を推定しても良い。
次いでＳ０１８に進み、歩容切り替わり目（前回歩容の生成が終了し、新たな今回歩容の生成を開始すべき時刻）であるか否かを判断し、その判断結果がＹＥＳである場合には、Ｓ０２０に進む。また、判断結果がＮＯである場合には、Ｓ０３２に進む。なお、以下に説明するＳ０２０からＳ０３０までの処理は、本願出願人が先に提案したＰＣＴ公開公報ＷＯ／０２／４０２２４あるいは前記ＰＣＴ出願ＰＣＴ／ＪＰ０３／００４３５に詳細に説明されているので、本明細書では簡略的な説明に留める。
Ｓ０２０に進むときは時刻ｔを０に初期化し、次いでＳ０２２に進み、次回歩容支持脚座標系（詳しくはその位置および向き）、次次回歩容支持脚座標系（詳しくはその位置および向き）、今回歩容周期および次回歩容周期を読み込む。
上記次回歩容支持脚座標系および次次回歩容支持脚座標系は、それぞれ、前記ジョイスティック７３の操作等によって指定される１歩目の遊脚足平２２（今回歩容の遊脚足平２２）の着地位置姿勢の要求値（目標着地位置姿勢）、２歩目の遊脚足平２２（次回歩容の遊脚足平２２）の着地位置姿勢の要求値（目標着地位置姿勢）に応じて、前記した支持脚座標系の定義に従って決定される。
また、今回歩容周期、次回歩容周期は、それぞれ、１歩目の遊脚足平２２の着地時刻の要求値（目標着地時刻）、２歩目の遊脚足平２２の着地時刻の要求値（目標着地時刻）に応じて決定される。
上記した遊脚足平２２の着地位置姿勢の要求値並びに着地時刻の要求値、あるいは支持脚座標系の位置および向き並びに歩容周期は、あらかじめ歩行スケジュールとして記憶しておいても良く、あるいはジョイスティック７３などの操縦装置からの指令（要求）とそのときまでの歩行履歴を基に決定しても良い。
次いでＳ０２４に進み、今回歩容につながる定常旋回歩容の歩容パラメータが、Ｓ０２２で決定された次回歩容支持脚座標系、次次回歩容支持脚座標系、今回歩容周期および次回歩容周期等に基づいて決定される。主に、目標足平位置姿勢軌道を規定する足平軌道パラメータ、目標上体姿勢の基準軌道を規定する基準上体姿勢軌道パラメータ、目標腕姿勢軌道を規定する腕姿勢軌道パラメータ、目標ＺＭＰ軌道を規定するＺＭＰ軌道パラメータ、目標床反力鉛直成分軌道を規定する床反力鉛直成分軌道パラメータが決定される。例えば床反力鉛直成分軌道パラメータに関して例示すると、前記図９（ａ）に示したパターンの折れ点の時刻や値が床反力鉛直成分軌道パラメータとして決定される。
ここで、前記定常旋回歩容は、その歩容を繰り返したときに歩容の境界においてロボット１の運動状態に不連続が生じないような周期的歩容を意味する（以降、「定常旋回歩容」を「定常歩容」と略す場合もある）。
定常旋回歩容の１周期分の歩容は、第１旋回歩容と第２旋回歩容とからなる。第１旋回歩容は、今回歩容の支持脚座標系に対応する支持脚足平２２を次次回歩容支持脚座標系に対応する位置姿勢まで動かすときの歩容に相当し、第２旋回歩容は、次回歩容支持脚座標系に対応する支持脚足平２２を次次次回支持脚座標系に対応する位置姿勢まで動かすときの歩容に相当する。この場合、次次次回歩容支持脚座標系は、第２旋回歩容の遊脚足平２２の目標着地位置姿勢に対応するものである。そして、該次次次回歩容支持脚座標系は、次次回歩容支持脚座標系（第２旋回歩容の支持脚座標系）から見た該次次次回歩容支持脚座標系の位置姿勢（位置及び向き）が、今回歩容支持脚座標系から見た次回歩容支持脚座標系（今回歩容の遊脚足平２２の着地位置姿勢）の位置姿勢（位置及び向き）に一致するように設定される。尚、定常旋回歩容に関して「旋回」なる用語を用いたのは、旋回率を零とするときは直進を意味するので、直進も広義の意味で旋回に含ませることができるからである。
定常旋回歩容は、歩容生成装置２００で今回歩容の終端における発散成分や上体鉛直位置速度を決定するために暫定的に作成される仮想的な周期的歩容であり、ロボット１を実際に制御するために歩容生成装置２００からそのまま出力されるものではない。
尚、「発散」とは、上体の位置が両足部（足平）の位置からかけ離れた位置にずれてしまうことを意味する。発散成分の値とは、２足移動ロボットの上体の位置が両足部（足平）の位置（厳密には、支持脚接地面に設定された支持脚座標系の原点からかけ離れていく具合を表す数値であり、上体の水平方向の位置及びその速度の関数で表される。
本実施形態では、これから生成する今回歩容の後につながる定常歩容を移動要求（前記２歩先までの遊脚の足平２２の着地位置姿勢、着地時刻などの要求値）に応じて設定し、定常歩容の初期発散成分を求めてから、今回歩容の終端発散成分を定常歩容の初期発散成分に一致するように、今回歩容を生成するようにした。Ｓ０２４の詳細は、本出願人が提案した前記ＰＣＴ公開公報ＷＯ／０２／４０２２４、あるいはＰＣＴ／ＪＰ０３／００４３５に説明されているので、これ以上の説明を省略する。
Ｓ０２４の処理を行って定常歩容の歩容パラメータを決定した後、Ｓ０２６に進み、定常旋回歩容の初期状態（初期上体水平位置速度成分、初期上体鉛直位置速度、初期発散成分、初期上体姿勢角および角速度）を決定する。
Ｓ０２６の詳細は、ＰＣＴ公開公報ＷＯ／０２／４０２２４、あるいはＰＣＴ／ＪＰ０３／００４３５に説明しているので、ここでは、これ以上の説明を省略する。
次いで、Ｓ０２８に進み、今回歩容の歩容パラメータを決定（一部仮決定）する。この場合、決定される今回歩容の歩容パラメータは、定常旋回歩容の歩容パラメータと同様、主に、足平軌道パラメータ、基準上体姿勢軌道パラメータ、腕姿勢軌道パラメータ、目標ＺＭＰ軌道パラメータ、目標床反力鉛直成分軌道パラメータであり、それぞれのパラメータにより規定される軌道が、定常旋回歩容の軌道に連続するように決定される。ただし、これらのパラメータのうち、目標ＺＭＰ軌道パラメータは暫定的なものである。このＳ０２８の処理の詳細は、前記ＰＣＴ公開公報ＷＯ／０２／４０２２４、あるいはＰＣＴ／ＪＰ０２／１３５９６号等に説明されているので、ここではこれ以上の説明を省略する。
次いでＳ０２９に進み、今回歩容の終端発散成分が定常歩容の初期発散成分に一致するように、今回歩容の歩容パラメータを修正する。ここで修正される歩容パラメータは、目標ＺＭＰ軌道パラメータである。
Ｓ０２９の詳細は、ＰＣＴ公開公報ＷＯ／０２／４０２２４、あるいはＰＣＴ／ＪＰ０２／１３５９６号等に説明しているので、ここでは、これ以上の説明を省略する。
次いでＳ０３０に進み、床反力モーメント許容範囲のパラメータを決定する。
Ｓ０３０の詳細は、ＰＣＴ／ＪＰ０２／１３５９６号に説明しているので、ここでは、これ以上の説明を省略する。
Ｓ０３０の処理を行った後、あるいはＳ０１８の判断結果がＮＯである場合には、Ｓ０３２に進み、今回歩容瞬時値を決定する。
Ｓ０３２では、ロボット１の動力学モデルに対して、目標床反力（目標歩容の床反力）に加えて、目標ＺＭＰまわりにモデル操作床反力モーメントが発生し、かつモデル鉛直外力Ｆｍｄｌｚがロボット１の動力学モデル上での全体重心に作用するように、歩容瞬時値（修正歩容瞬時値）が決定される。
具体的には、図１６のフローチャートにしたがって歩容瞬時値が決定される。
以下にこれを説明する。
Ｓ９００からＳ９０４までは、前記Ｓ０２９の処理で最終的に決定された今回歩容パラメータに基づいて、現在時刻ｔにおける目標床反力鉛直成分、目標ＺＭＰ、目標両足平位置姿勢、基準上体姿勢、および目標腕姿勢の瞬時値が求められる。これらのＳ９００〜Ｓ９０４までの処理は、例えば本出願人が先に提案したＰＣＴ出願ＰＣＴ／ＪＰ０２／１３５９６号で詳細に説明した同出願の実施形態のフローチャートのＳ９００からＳ９０４と同一の処理である。したがって、ここでは詳細な説明を省略する。
なお、Ｓ９０４において、歩容パラメータを基に決定される時刻ｔの目標両足平位置姿勢は、今回歩容支持脚座標系（今回歩容の支持脚足平２２の着地位置姿勢に対応して前述した如く定まる支持脚座標系）で記述される。
補足すると、目標足平位置姿勢軌道は、前述の如く、本出願人が特許第３２３３４５０号で提案した有限時間整定フィルタを用いて生成される。このため、ロボット１の走行での空中期からの着地瞬間において、対地速度が０またはほぼ０になるように、上体３から見て足平２２を引き上げるようにして着地する。これによって、着地衝撃は小さくなり、着地衝撃が過大になるのを防止することができる。
さらに、上記有限時間整定フィルタを３次以上の次数にする、すなわち、可変時定数の１次遅れフィルタを３段以上直列にするのが望ましい。こうすることにより、着地時刻（目標着地時刻）までに速度のみならず加速度も０またはほぼ０になって停止する。つまり、着地瞬間における対地加速度も０またはほぼ０になる。したがって、着地衝撃がより一層小さくなる。特に、実際のロボット１の着地時刻が目標の着地時刻からずれても、衝撃があまり増大しなくなる。
なお、有限時間整定フィルタを用いる代わりに、着地時刻（到達時刻）での変化速度が０または実質的に０になる（時間微分値が０になる）ように設定された多項式などの関数を用いて、足平位置姿勢軌道を決定するようにしてもよい。
Ｓ９００からＳ９０４の処理を行った後、次いでＳ９０６に進み、目標床反力鉛直成分と、前述の如く上体鉛直位置安定化制御演算部２１８で決定されたモデル鉛直外力Ｆｍｄｌｚとの合力に動力学的に釣り合うように全体重心鉛直位置を算出する。
すなわち、ロボット１の動力学モデルに目標床反力鉛直成分とモデル鉛直外力Ｆｍｄｌｚとの合力が作用した場合に、動力学（ニュートン力学）的に釣り合う全体重心鉛直加速度を以下の式１によって求める。さらに、その求めた全体重心鉛直加速度を以下の式２を用いて積分して時刻ｔにおける全体重心鉛直速度を求め、さらに求めた全体重心鉛直速度を式３を用いて積分して時刻ｔにおける全体重心鉛直位置を算出する。ただし、ここで重力加速度は負の値とする。なお、式２、式３の代わりに台形近似によって全体重心鉛直位置・速度を求めても良い。
時刻ｔにおける全体重心鉛直加速度
＝重力加速度＋（目標床反力鉛直成分＋モデル鉛直外力Ｆｍｄｌｚ）／全体質量
…式１
時刻ｔにおける全体重心鉛直速度
＝時刻（ｔ−Δｔ）における全体重心鉛直速度
＋時刻ｔにおける全体重心鉛直加速度＊Δｔ
（ただし、重力加速度は負の値とする。）
…式２
時刻ｔにおける全体重心鉛直位置
＝  時刻（ｔ−Δｔ）における全体重心鉛直位置
＋  時刻ｔにおける全体重心鉛直速度＊Δｔ
…式３
次いでＳ９０８に進み、全体重心鉛直位置速度を満足する上体鉛直位置速度を算出する。具体的には、前記求めた目標両足平位置姿勢（時刻ｔの値）、時刻（ｔ−Δｔ）の目標上体姿勢、前記求めた目標腕姿勢（時刻ｔの値）、時刻（ｔ−Δｔ）の上体水平位置およびそれらの変化率（変化速度）と求めたい上体鉛直位置速度から決定される姿勢の全体重心鉛直位置速度が、上記求めた全体重心鉛直位置速度の今回値（時刻ｔの値）に一致するように上体鉛直位置速度を求める。
なお、時刻ｔの上体姿勢と上体水平位置とは、未だ決定されていないので、代わりに時刻（ｔ−Δｔ）の値を用いた。より精度を高めるために、時刻ｔでの上体姿勢と上体水平位置と推定値を、時刻（ｔ−Δｔ）以前の歩容状態から外挿によって求めても良い。
次いでＳ９１０に進み、歩容パラメータを基に時刻ｔの床反力水平成分許容範囲［Ｆｘｍｉｎ，Ｆｘｍａｘ］を求める。なお、床反力水平成分許容範囲を規定する歩容パラメータは、前記Ｓ０２８で決定されるものであるが、これについては、本出願人が先に提案したＰＣＴ出願ＰＣＴ／ＪＰ０２／１３５９６号に記載されているので、ここでは、これ以上の説明を省略する。
次いで、Ｓ９１１に進み、床反力モーメント許容範囲パラメータを基に、床反力モーメント許容範囲の瞬時値を求める。また、床反力モーメント許容範囲は、前記図８に示した補償全床反力モーメント分配器２１４に送られる。該補償全床反力モーメント分配器２１４は、基本的には、ロボット１の上体姿勢（推定上体姿勢）を目標上体姿勢に近づけるように、コンプライアンス制御用の目標床反力モーメントと、歩容生成装置２００の動力学モデルに入力するモデル操作床反力モーメントとを決定するものである。その詳細は、本出願人が先に提案したＰＣＴ／ＪＰ０３／００４３５に記載されているので、ここでは、これ以上の説明を省略する。
次いで、Ｓ９１２に進み、目標ＺＭＰまわりにモデル操作床反力モーメント（これは補償全床反力モーメント分配器２１４で決定される）が発生するように、今回歩容の上体水平加速度と上体姿勢角加速度とが決定される。ただし、このとき、上体水平加速度および上体姿勢角加速度は、床反力水平成分Ｆｘが床反力水平成分許容範囲［Ｆｘｍｉｎ，Ｆｘｍａｘ］を越えないように決定される。
言い換えると、ロボット１の目標運動によって発生する慣性力と重力との合力によって目標ＺＭＰまわりに作用するモーメントが、モデル操作床反力モーメントの符号を反転したモーメントになるように、今回歩容の上体水平加速度と上体姿勢角加速との組が決定される。ただし、慣性力の符号を反転した力が床反力水平成分許容範囲［Ｆｘｍｉｎ，Ｆｘｍａｘ］を越えないように決定する。
これについても、本出願人が先に提案したＰＣＴ出願ＰＣＴ／ＪＰ０２／１３５９６号に記載されているので、ここでは、これ以上の説明を省略する。
次いでＳ９１４に進み、上体水平加速度と上体姿勢角加速度とをそれぞれ積分して、上体水平速度と上体姿勢角速度とを算出し、これらをさらに積分して、上体水平位置と上体姿勢角とが決定される。
以上のごとくＳ０３２の処理を行った後、Ｓ０３４に進み、ＰＣＴ出願ＰＣＴ／ＪＰ０２／１３５９６号の実施形態のＳ０３２の処理と同様、スピン力をキャンセルするための腕振り動作を決定する。次いでＳ０３６に進み、時刻ｔに制御周期Δｔを加え、再び、Ｓ０１４に戻り、制御周期毎のタイマー割り込みを待つ。
以上が、歩容生成装置２００における目標歩容生成処理、ならびに、自己位置姿勢推定部２１６の自己位置姿勢推定処理である。
図８を参照してこの実施形態に係る制御ユニット６０の制御処理をさらに説明すると、歩容生成装置２００において、上記したように目標歩容が生成される。生成された目標歩容のうち、目標上体位置姿勢（軌道）および目標腕姿勢軌道は、ロボット幾何学モデル（逆キネマティクス演算部）２０２に直接送られる。
また、目標足平位置姿勢（軌道）、目標ＺＭＰ軌道（目標全床反力中心点軌道）、および目標全床反力（軌道）（目標床反力水平成分と目標床反力鉛直成分）は、複合コンプライアンス動作決定部２０４に直接送られる一方、目標床反力分配器２０６にも送られる。目標床反力分配器２０６では、目標全床反力は各足平２２Ｒ，２２Ｌに分配され、目標各足平床反力中心点および目標各足平床反力が決定される。その決定された目標各足平床反力中心点および目標各足平床反力が複合コンプライアンス動作決定部２０４に送られる。
複合コンプライアンス動作決定部２０４では、機構変形補償付き修正目標足平位置姿勢軌道が生成され、それがロボット幾何学モデル２０２に送られる。ロボット幾何学モデル２０２は、目標上体位置姿勢（軌道）と機構変形補償付き修正目標足平位置姿勢（軌道）が入力されると、それらを満足する脚体２，２の１２個の関節（１０Ｒ（Ｌ）など）の関節変位指令（値）を算出して変位コントローラ２０８に送る。変位コントローラ２０８は、ロボット幾何学モデル２０２で算出された関節変位指令（値）を目標値としてロボット１の１２個の関節の変位を追従制御する。
ロボット１に生じた床反力（詳しくは実各足平床反力）は６軸力センサ５０によって検出される。その検出値は前記複合コンプライアンス動作決定部２０４に送られる。また、前記図１５のＳ０１６で求められた推定上体姿勢と歩容生成装置２００が生成した目標上体姿勢との差のうちの傾き成分、すなわち実上体姿勢角偏差θｅｒｒｘ，θｅｒｒｙが姿勢安定化制御演算部２１２に送られる。なお、θｅｒｒｘはロール方向（Ｘ軸回り）の傾き成分であり、θｅｒｒｙはピッチ方向（Ｙ軸回り）の傾き成分である。この姿勢安定化制御演算部２１２で、ロボット１の上体姿勢の傾きを目標歩容の上体姿勢の傾きに復元するための目標全床反力中心点（目標ＺＭＰ）まわりの補償全床反力モーメントＭｄｍｄが算出され、この補償全床反力モーメントＭｄｍｄが補償全床反力モーメント分配器２１４に与えられる。そして、該分配器２１４では、補償全床反力モーメントＭｄｍｄをコンプライアンス制御用目標床反力モーメントと、モデル操作床反力モーメントとに分配し、それぞれを複合コンプライアンス動作決定部２０４と、歩容生成装置２００とに与える。また、前記上体鉛直位置安定化制御演算部２１８で前述の如く決定されたコンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚが複合コンプライアンス動作決定部２０４に与えられる。複合コンプライアンス動作決定部２０４は、入力値に基づいて目標足平位置姿勢を修正する。具体的には、複合コンプライアンス動作決定部２０４では、実全床反力（すべての実足平床反力の合力で、並進力およびモーメントの両者を含む）が、目標各足平床反力の合力である目標全床反力とコンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚとコンプライアンス制御用目標床反力モーメントとの合力に一致するように、歩容生成装置２００から与えられた目標足平位置姿勢を修正して、機構変形補償付き修正目標足平位置姿勢（軌道）を決定する。すなわち、コンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚが付加的に発生させられると共に、コンプライアンス制御用床反力モーメントが目標ＺＭＰ回りに付加的に発生させられる。ただしすべての状態を目標に一致させることは事実上不可能であるので、これらの間にトレードオフ関係を与えて妥協的になるべく一致させる。すなわち、各目標（足平位置姿勢および床反力の目標）に対する制御偏差に重みを与えて、制御偏差（あるいは制御偏差の２乗）の重み付き平均が最小になるように制御する。
補足すると、機構変形補償付き修正目標足平位置姿勢（軌道）は、複合コンプライアンス動作決定部２０４によって修正された床反力の目標値を発生させるために必要な足平の変形機構（円柱状ゴム、足底スポンジおよび衝撃吸収用の袋状のエアダンパー）の変形量を変形機構の力学モデル（ばねダンパーモデル等）を用いて求めて、その変形量が発生するように修正した、目標足平位置姿勢（軌道）である。
なお、以上説明した第１実施形態は、前記第１発明、第３発明〜第１７発明の一実施形態である。補足すると、前記モデル鉛直外力Ｆｍｄｌｚが仮想外力に相当し、コンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚが目標床反力修正量に相当する。
次に本発明の第２実施形態を図１７および図１８を参照して説明する。なお、第２実施形態においては、歩容生成装置２００の処理は、図１５のＳ０３２の修正歩容瞬時値決定サブルーチンだけが第１実施形態と異なる。また、歩容生成装置２００ではモデル鉛直外力Ｆｍｄｌｚを用いないので、上体鉛直位置安定化制御演算部２１８の処理では、コンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚのみを前記第１実施形態のものと同様に決定し、モデル鉛直外力Ｆｍｄｌｚは出力しない。これ以外の制御ユニット６０の処理は、前記第１実施形態と同一である。
図１７は第２実施例における修正歩容瞬時値（今回歩容瞬時値）決定サブルーチン（図１５のＳ０３２のサブルーチン）を示すフローチャートである。
以下、第２実施例における修正歩容瞬時値決定サブルーチンについて詳説すると、まずＳ１０００からＳ１００４まで、前記第１実施形態の図１６のＳ９００からＳ９０４と同じ処理が実行される。
次いでＳ１００６に進み、目標床反力鉛直成分（時刻ｔの今回値）に動力学的に釣り合うように全体重心鉛直位置を算出する。この処理は、前記第１実施形態の図１６のＳ９０６で、Ｆｍｄｌ＝０とした場合の処理と同じである。
次いでＳ１００８に進み、空中期であるか否かを判断する。この判断は、例えば前記６軸力センサ５０による床反力検出値（実床反力）がある所定の値（０近傍の値）以下であるか否かによって行われる。あるいは、現在時刻ｔが、目標歩容の離床時刻（空中期の開始時刻）もしくはその前後の所定の時刻から、目標歩容の着地時刻もしくはその前後の所定の時刻までの範囲にあるか否かによって空中期であるか否かの判断をしてもよい。
Ｓ１００８の判断結果がＹＥＳである場合には、Ｓ１０１０に進み、現在の推定上体位置とその時間的変化率である推定上体速度とを基に、ロボット１の現在の全体重心位置速度の推定値である推定重心位置速度を求め、その現在の推定重心位置速度を基に、ロボット１の全体重心が重力による放物線運動を行うとして、目標着地時刻における推定重心位置速度を求める。
次いで、Ｓ１０１２に進み、以下に説明する補正量曲線による修正（空中期での修正）をしなかったとした場合の元の目標歩容の全体重心軌道（詳しくは全体重心鉛直成分軌道）の現在時刻以後の予想軌道と補正量曲線の和の曲線（すなわち修正後の目標全体重心位置の鉛直成分軌道）の位置速度が目標着地時刻において前記推定全体重心位置速度（詳しくはその鉛直成分）に一致するように、補正量曲線を決定する。なお、上記元の目標歩容は、より詳しくは、Ｓ１００６で求められた目標全体重心鉛直位置をそのまま用いて（後述するＳ１０１６の修正全体重心鉛直位置をＳ１００６の全体重心鉛直位置と同一として）決定される歩容であり、この元の目標歩容の全体重心軌道の予想軌道は、現在時刻の制御周期のＳ１００６で求められた全体重心鉛直位置およびその速度（時間的変化率）につながる放物線である。
上記補正量曲線はより具体的には次のように決定される。図１８を参照して説明すると、まず、現在時刻ｔが空中期の開始時刻（Ｓ１００８の判断結果がＮＯからＹＥＳに切り替わった時刻）であるときに、図１８（ａ）の下側に示すように補正量曲線（ここでは第１補正量曲線と称する）が決定される。該第１補正量曲線を元の目標歩容の全体重心位置軌道（現在時刻以後の予想軌道）に加えたものが、現在時刻以後の実線で示す修正全体重心位置軌道（ここでは第１修正全体重心位置軌道と称する）であり、該修正全体重心位置軌道が、空中期の開始時刻で元の目標歩容の全体重心位置軌道に滑らかにつながり（全体重心鉛直位置および速度が一致する）、且つ、空中期の終了時刻（目標着地時刻）で推定全体重心軌道に滑らかにつながる（鉛直位置および速度が一致する）ように第１補正量曲線が決定される。
次に、現在時刻が制御周期Δｔだけ進むと、図１８（ｂ）に示すように新たな補正量曲線としての第２補正量曲線が決定される。なお、図中の制御周期Δｔは、説明の便宜上、実際よりも長い時間間隔として記載している。
ここで、現在時刻以後の推定全体重心位置軌道の予想軌道は、推定上体位置姿勢の推定誤差等に起因して、一般には、前回の制御周期の時刻で予想された推定重心位置軌道と同一にはならない。そこで、本実施形態では、補正量曲線を制御周期毎に更新するようにした。新たな補正量曲線（第２補正量曲線）は、現在時刻で第１補正量曲線（前回制御周期に決定した補正量曲線）に滑らかにつながり（現在時刻での第２補正量曲線の値および時間微分値が第１補正量曲線と一致する）、且つ、該第２補正量曲線を元の目標歩容の全体重心位置軌道の現在時刻以後の予想軌道に加えてなる修正全体重心位置軌道（図では第２修正全体重心位置軌道と称する）が空中期の終了時刻（目標着地時刻）で、推定全体重心軌道に滑らかにつながるように、決定される。以降、同様にして、補正量曲線は、制御周期毎に更新されつつ決定される。なお、補正量曲線は、三角関数や高次関数を用いて滑らかな曲線（Ｓ字カーブ）に決定される。
Ｓ１０１２の後、あるいはＳ１００８の判断結果がＮＯである場合（空中期でない場合）には、Ｓ１０１４に進み、全体重心鉛直位置と、現在の補正量曲線の現在瞬時値の和を修正全体重心鉛直位置とする。なお、空中期でない時刻では、補正量曲線の値は、０とする。
次いでＳ１０１６に進み、修正全体重心鉛直位置を満足する上体鉛直位置を、現在の目標足平位値やロボット１の幾何学モデルを用いて算出する。次いでＳ１０１８からＳ１０２４まで、前記第１実施形態の図１６のＳ９１０からＳ９１４と同様の処理を行う。
以上が、第２実施形態における修正歩容瞬時値決定サブルーチンの処理である。第２実施形態では、空中期において、目標歩容の全体重心鉛直位置と推定上体鉛直位置に対応する推定全体重心鉛直位置との偏差が将来の空中期の終了時刻、すなわち、今回歩容の終端において０に近づくように目標歩容の全体重心鉛直位置軌道が決定（修正）される。その結果、目標上体鉛直位置軌道も、今回歩容の終端において推定上体鉛直位置の軌道に近づくように決定されることとなる。
なお、以上説明した第２実施形態は、本発明の第２発明の一実施形態である。
次に本発明の第３実施形態を図１９を参照して説明する。なお、本実施形態は、歩容生成装置２００の処理のみが、前記第１実施形態と相違するものである。
図１９は第３実施形態における歩容生成装置２００の目標歩容生成処理ならびに自己位置姿勢推定部２１６の自己位置姿勢推定処理のフローチャートである。
まずＳ１１１０において時刻ｔを０に初期化するなど種々の初期化作業を行う。
次いでＳ１１１２を経てＳ１１１４に進み、制御周期毎のタイマ割り込みを待つ。制御周期はΔｔである。
次いでＳ１１１６に進み、第１実施形態の図１５のＳ０１６と同様、自己位置推定部２１６の自己位置姿勢推定処理を実行し、上体位置姿勢の推定（推定上体位置姿勢の決定）を行う。
次いでＳ１１１８に進み、歩容切り替わり目であるか否かを判断し、その判断結果がＹＥＳである場合には、Ｓ１１２０に進む。
Ｓ１１２０に進むときは時刻ｔを０にする。
Ｓ１１１８の判断結果がＮＯである場合、およびＳ１１２０を実行した場合には、Ｓ１１２２に進む。Ｓ１１２２からＳ１１２８までは、第１実施例における図１５のＳ０２２からＳ０２８までと同様の処理を行う。
次いでＳ１１３０に進み、頭部４に搭載された２個のビデオカメラ１２５，１２５の画像と現在の推定上体位置姿勢とを基に、今回歩容の遊脚足平２２の着地予想点（今回歩容の遊脚足平２２の目標着地位置に対応する床面上の点で、例えば今回歩容支持脚座標系での目標着地位置の水平位置とほぼ同じ水平位置となる床面上の点）の高さ（鉛直位置）を求め、目標歩容パラメータのうちの目標着地鉛直位置を修正する。なお、このＳ１１３０で上記着地予想点の高さを求める処理は、本発明の第２３発明における床形状認識手段に相当するものである。
すなわち、ビデオカメラ画像を基に求めた着地予想点の高さ（鉛直位置）の値あるいはこれをローパスフィルタに通した値を、目標歩容パラメータのうちの目標着地鉛直位置（これは今回歩容の遊脚の足平位置姿勢軌道を規定する歩容パラメータである）に代入する。ビデオカメラ画像と推定上体位置姿勢とは、ノイズが大きい（検出値が大きくばらつく）ので、ローパスフィルタを通さないで、直接、着地予想点の高さの値を目標着地鉛直位置に代入すると、遊脚の足平位置姿勢軌道が激しく変動する恐れがあるので、ローパスフィルタに通した方が良い。
ローパスフィルタの代わりに、複数の制御周期に渡って取り込んだビデオカメラ画像と推定上体位置姿勢とを基に平均化処理によって、高周波数ノイズを低減しても良い。
次いでＳ１１３２に進み、第１実施形態の図１５のＳ０２９同様、今回歩容パラメータを修正し、次いでＳ１１３４に進み、第１実施形態のＳ０３０同様、床反力モーメント許容範囲のパラメータを決定する。次いでＳ１１３６に進み、第１実施形態の図１５のＳ０３２同様、修正歩容瞬時値決定サブルーチンを実行する。次いでＳ１１３８に進み、第１実施形態のＳ０３４同様、スピン力をキャンセルするための腕振り動作を決定する。次いでＳ１１４０に進み、時刻ｔに制御周期Δｔを加え、再び、Ｓ１１１４に戻り、制御周期毎のタイマー割り込みを待つ。
以上が、第３実施形態における歩容生成装置２００ならびに自己位置姿勢推定部２１６の処理である。なお、本実施形態では、Ｓ１１２２では、次回歩容支持脚座標系の鉛直位置および次次回歩容支持脚座標系の鉛直位置は、前回の制御周期のＳ１１３０で求められた着地予想点の鉛直位置に設定される。但し、次次回歩容支持脚座標系の鉛直位置は必ずしもこのようにする必要はない。
ビデオカメラ１２５，１２５でなくとも、レーザーレンジファインダや超音波距離計（スキャナー）などの非接触の距離（あるいは距離分布、あるいは形状）を認識するセンサや、あるいは触覚センサを用いて着地予想点の鉛直位置を把握するようにしても良い。
以上のごとく、第３実施形態においては、ロボット１の実際の上体鉛直位置軌道（推定上体鉛直位置の軌道）と目標上体鉛直位置軌道の差に対しては、上記第１実施例のごとく、前記差（上体鉛直位置偏差Δｈ）を０に収束させるようにモデル鉛直外力Ｆｍｄｌｚを動力学モデルに加えると共に、想定していなかった床の凹凸に対しては、ビデオカメラ等、床面の高さを非接触で測定する床面形状認識センサ（距離センサ）により、遊脚足平２２の目標着地位置に対応する着地予想点での床面高さを測定する。そして、その測定した床面高さに応じて（目標着地鉛直位置と床面の鉛直位置との偏差分だけ）遊脚の足平位置軌道を修正する。すなわち足平位置姿勢軌道を規定する歩容パラメータのうちの目標着地鉛直位置（パラメータ）を修正する。
なお、第３実施形態のＳ１１３６では、前記第１実施形態の図１６に示したサブルーチン処理に代えて、前記第２実施形態の図１７に示したサブルーチン処理を実行するようにして、空中期に、目標歩容の全体重心鉛直位置軌道あるいは上体鉛直位置軌道が、推定上体位置を基に予想される実際のロボット１の将来（着地時）の重心位置あるいは上体位置の推定値に収束するように、目標全体重心鉛直位置軌道あるいは目標上体鉛直位置軌道を修正するようにしてもよい。
また、足平位置姿勢軌道の修正方法としては、前記測定した床面高さ（着地予想点の鉛直位置）と目標歩容で想定していた着地高さ（目標着地鉛直位置）との差に応じて決定した滑らかな（Ｓ字曲線状の）補正軌道を、目標足平位置姿勢軌道に加えることで、足平位置姿勢軌道を修正するようにしても良い。
なお、以上説明した第３実施形態は、第２３発明及び第２４発明の一実施形態である。
以上説明した各実施形態では、コンプライアンス制御によって足平２２を鉛直方向に変位させた時の慣性力や重心位置変化なども考慮して動力学演算による歩容生成を行っても良い。
コンプライアンスゲイン（床反力鉛直成分に対する足平摂動変位量の比）を可変にしても良い。例えば、コンプライアンスゲインを、着地時はコンプライアンス制御が柔らかくなり、その後離床時刻にかけて徐々にコンプライアンス制御が硬くなるように決定しても良い。これにより、床が硬い場合には、離床時のロボット１の実際の上体位置速度が目標歩容の上体位置速度に近くなる。ただし、鉛直方向のコンプライアンス制御を用いないと（すなわち鉛直方向のコンプライアンス制御が非常に硬いと）、ジャンプ時の蹴り力が床の硬さに大きく影響される傾向があるので、鉛直方向のコンプライアンス制御はあまり硬くし過ぎないようにすべきである。
また、足平２２の位置誤差が大きい時に急激にコンプライアンスゲインを変えると誤差が急激に０に戻るため急激な加減速が発生し、脚体２の膝の位置制御偏差が過大になってロボット１が姿勢を崩したり、膝トルクが過大になって場合によっては損傷する恐れがある。従って、コンプライアンスゲインは徐々に変えるべきである。
なお、上記のようにコンプライアンスゲインを可変化する技術は、本発明の第２６発明の実施形態である。
前記第１および第２実施形態においては、歩容の切り替わり目においてのみ、今回歩容パラメータを決定あるいは修正していたが、離床時などの所定の時刻あるいは、制御周期毎に修正するようにしても良い。ただし、今回歩容パラメータの修正処理は、歩容の切り替わり目でない時には、図１５のＳ０２２の処理を実行せず、Ｓ０２４からＳ０３０を実行する。
なお、図１５のＳ０２４からＳ０３０の処理によって今回歩容の床反力鉛直成分パターン（詳しくは、これを規定する歩容パラメータ）も修正される。この時、次に続く定常歩容の床反力鉛直成分パターンも修正しても良い。
制御周期毎あるいは歩容の切り替わり目で、推定上体鉛直位置速度を基に、あるいは推定上体鉛直位置速度と目標上体鉛直位置速度との差を基に、次の着地時のロボット１の姿勢を予測して、その予測した姿勢が適切な姿勢になるように、すなわち着地時の上体３が高過ぎたり（膝が伸び過ぎたり）、低過ぎたり（膝が曲がり過ぎたり）しないように、着地時刻パラメータ（目標着地時刻）を変更しても良い。ただしその結果、ロボット１の姿勢が傾くので、目標ＺＭＰや目標着地位置など、姿勢に影響するパラメータなども同時に変更する必要がある。
前記第１実施形態あるいは第３実施形態においては、モデル鉛直外力Ｆｍｄｌｚを動力学モデルの重心に作用させる代わりに目標ＺＭＰに作用させても良い。
また、前記各実施形態においては、コンプライアンス制御の目標値として付加される床反力は、コンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚのように鉛直成分だけとしたが、水平成分があっても良い。例えば、ロボット１の全体重心と目標ＺＭＰとを結ぶ線分の方向に、あるいは上体３のある所定の点と目標ＺＭＰとを結ぶ線分の方向に床反力を付加しても良い。こうすることによって、コンプライアンス動作によってロボットの姿勢がずれる悪影響を防止することができる。
また、前記第１、第３実施例においては、動力学的モデルに仮想的に加える外力も、モデル鉛直外力Ｆｍｄｌｚのように鉛直成分だけとしたが、水平成分があっても良い。例えば、ロボット１の全体重心と目標ＺＭＰとを結ぶ線分の方向に、あるいは上体３のある所定の点と目標ＺＭＰとを結ぶ線分の方向に床反力を付加しても良い。こうすることによって、モデル鉛直外力Ｆｍｄｌｚを加えることによる目標ＺＭＰのずれが防止される。
なお、全体重心まわりに作用する力のモーメントが０となるように仮想外力をモデルに与えること、すなわち動力学モデルの全体重心に並進力であるモデル外力を仮想的に加えることは、動力学モデルに作用する重力の大きさおよび／または向きを変動させることと等価である。
上体鉛直位置安定化制御演算部２１８では、上体鉛直位置偏差（推定上体鉛直位置と目標上体鉛直位置の差Δｈ）を基にコンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚとモデル鉛直外力Ｆｍｄｌｚとを決定する代わりに、全体重心鉛直位置偏差（推定全体重心鉛直位置と目標全体重心鉛直位置との差）を基にコンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚとモデル鉛直外力Ｆｍｄｌｚとを決定するようにしても良い。
上体鉛直位置安定化制御演算部２１８では、推定上体鉛直位置と目標上体鉛直位置との差を基にコンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚ、モデル鉛直外力Ｆｍｄｌｚあるいは、目標上体鉛直位置軌道の修正量を決定するようにしたが、上体３以外の所定の部位（例えば頭部４など）に基づいて決定しても構わない。
また、前記各実施形態では、鉛直成分（Ｚ成分）に関する制御のみを説明したが、水平成分（Ｘ成分、Ｙ成分）に対しても、同様の制御を行なっても良い。例えば、離床時の実際の重心水平位置速度と目標重心水平位置速度との差に応じて、動力学モデルの重心に仮想的な水平並進外力を加えても良い。
上体鉛直位置安定化制御演算部２１８では、モデル鉛直外力Ｆｍｄｌｚのみを決定するようにしても良い。
例えば、上体鉛直位置安定化制御演算部２１８において、前記第１実施形態で説明した如く、モデル鉛直外力Ｆｍｄｌｚとコンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚとを決定した後、コンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚを０に決定し直しても良い。
また、上記と逆に上体鉛直位置安定化制御演算部２１８では、コンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚのみを決定するようにしても良い。
例えば、上体鉛直位置安定化制御演算部２１８において、前記第１実施形態で説明した如く、モデル鉛直外力Ｆｍｄｌｚとコンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚとを決定した後、モデル鉛直外力Ｆｍｄｌｚを０に決定し直しても良い。
この方式では、前述の実施形態に較べて、ロボット１の上体３等、所定の部位の位置偏差（推定位置と目標位置との差）、あるいはロボット１の全体重心位置偏差（推定全体重心位置と目標全体重心位置との差）を０に収束させる作用は弱くなる。しかし、前述した如く、Ｆｃｍｐｎｚの許容範囲を前記図１２（ｃ）、（ｄ）のように設定したり、あるいはＦｃｍｐｎｚに係わるゲインを図１４（ｃ）のように設定したりすることで、少なくとも、目標離床時刻（空中期の開始予定時刻）までには、コンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚを０にすることができる。このため、目標離床時刻以降に、離床すべき脚体２がさらに床を蹴り続けることがなくなり、該脚体２を振り出す時に床に干渉することを防止することができる。
なお、上記のようにＦｃｍｐｎｚを決定して、ロボット１を制御する技術は、本発明の第２７発明、第２８発明の一実施形態である。
自己位置姿勢推定部２１６においては、少なくとも目標歩容の関節変位とコンプライアンス補償量（本出願人が先に提案した特開平１０−２７７９６９号を参照）を基に、キネマティクス演算によって推定上体位置姿勢を決定しても良い。これにより、一層、推定上体位置の精度が高まり、結果的にロボット１の実際の足平２２の位置姿勢軌道も、精度良く、目標足平位置姿勢軌道に追従する。
あるいは、少なくとも実関節変位（関節変位の検出値）を基に、キネマティクス演算によって推定上体位置姿勢を決定しても良い。これにより、一層、推定上体位置の精度が高まり、結果的にロボット１の実際の足平２２の位置姿勢軌道も、精度良く、目標足平位置姿勢軌道に追従する。
前記第２実施形態においてモデル鉛直外力Ｆｍｄｌｚを仮想的に加えるようにしても良い。より一層安定になる。
前記第３実施形態のごとく床面の高さを非接触で測定する床面形状認識センサ（距離センサ）を備え、これにより目標着地点（着地予想点）の床面高さを測定して、測定した高さが想定していた高さとずれていたら、この高さのずれ（偏差）を推定上体鉛直位置と目標上体鉛直位置の差（上体鉛直位置偏差）とみなしてもよい。そして、この高さのずれに応じて、上記第１実施形態のごとく、実ロボット１の上体鉛直位置軌道と目標上体鉛直位置軌道との差を０に収束させるように（上記高さのずれを含む上体鉛直位置偏差を０に収束させるように）モデル鉛直外力Ｆｍｄｌｚを動力学モデルに仮想的に加えるようにしても良い。あるいは、上記高さのずれに応じて、前記第２実施形態のごとく、実ロボット１の将来の上体鉛直位置軌道に収束するように目標上体鉛直位置軌道を修正しても良い。なお、上記のように床面高さのずれに応じて、モデル鉛直外力Ｆｍｄｌｚを操作したり、前記目標上体鉛直位置軌道を修正する技術は、本発明の第２５発明の一実施形態である。
ただし、この制御方式を用いると、着地予想点が想定していた高さよりもかなり低い場合には、この制御によって、いずれの足平２２も上体３からの相対距離が増える。すなわち全ての脚体２が伸びるので、目標着地点に着地する足平２２Ｒ又は２２Ｌと異なる足平２２Ｌ又は２２Ｒが、床に引っ掛かる恐れが生じる。
歩容生成装置２００において、修正された目標歩容を生成すると共に、修正する前の元の歩容も生成し、上体鉛直位置安定化制御演算部２１８において、修正された目標歩容が可能な範囲で（コンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚが最小許容値と最大許容値で規定される許容範囲を越えないで）元の歩容に収束するように、モデル鉛直外力Ｆｍｄｌｚとコンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚとの組を決定するようにしても良い。なお、修正された目標歩容とは、図１５のＳ０３２で瞬時値が決定される目標歩容（歩容生成装置２００が最終的に出力する目標歩容）であり、修正する前の元の歩容とは、Ｓ０３２でモデル鉛直外力Ｆｍｄｌｚを０として決定される歩容である。
以下に第４実施形態として説明すると、例えば、修正された目標歩容が元の歩容に収束するために必要なモデル復元要求鉛直外力Ｆｍｄｌｒｅｃｚを次の式４によって求める。
Ｆｍｄｌｒｅｃｚ
＝Ｋｒ＊（修正された目標歩容の上体鉛直位置−元の歩容の上体鉛直位置）
＋Ｋｄｒ＊（修正された目標歩容の上体鉛直速度−元の歩容の上体鉛直速度）
…式４
つまり、修正された目標歩容の上体鉛直位置と元の歩容の上体鉛直位置との差から、フィードバック制御則（本例ではＰＤ制御則）によりモデル復元要求鉛直外力Ｆｍｄｌｒｅｃｚを求める。なお、目標歩容と元の歩容との上体鉛直位置の差の代わりに、ロボット１の全体重心鉛直位置の差を用いてもよい。
次いで、図２０のブロック図に従って、モデル鉛直外力Ｆｍｄｌｚとコンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚとの組を決定する。
すなわち、前述のごとくコンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚに対する最小許容値と最大許容値を設定し、図２０に示すごとく、その最小許容値を下限、最大許容値を上限とした制限をかける飽和手段（リミッタ）２５０に総合要求鉛直復元力Ｆｄｍｄｚとモデル復元要求鉛直外力Ｆｍｄｌｒｅｃｚとの和を通す。これにより、コンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚを求める。なお、総合要求鉛直復元力Ｆｄｍｄｚは前記第１実施形態で説明した如く求められる。そして、この求めたコンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚから総合要求鉛直復元力Ｆｄｍｄｚを減じることにより、モデル鉛直外力Ｆｍｄｌｚを決定する。
この第４実施形態では、コンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚの最小許容値および最大許容値を前記第１実施形態と同様に設定することで、空中期では、モデル鉛直外力Ｆｍｄｌｚが上体鉛直位置偏差Δｈを０に近づけるように決定される一方、支持脚期では、上体鉛直位置偏差Δｈ、並びに、修正された目標歩容の上体鉛直位置と元の歩容の上体鉛直位置との差を共に、０に近づけるようにモデル鉛直外力Ｆｍｄｌｚとコンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚとの組が決定される。より詳しくは、支持脚期では、総合要求鉛直復元力Ｆｄｍｄｚとモデル復元要求鉛直外力Ｆｍｄｌｒｅｃｚとの和が、コンプライアンス制御用補償鉛直床反力Ｆｃｍｐｎｚの最小許容値および最大許容値の間の許容範囲内の値である限り、Ｆｃｍｐｎｚは、上体鉛直位置偏差Δｈ、並びに、修正された目標歩容の上体鉛直位置と元の歩容の上体鉛直位置との差の両者を妥協的に０に近づけるように決定される一方、モデル鉛直外力Ｆｍｄｌｚは、修正された目標歩容の上体鉛直位置と元の歩容の上体鉛直位置との差を０に近づけるように決定される。
なお、以上説明した第４実施形態は、本発明の第１８発明及び第１９発明の一実施形態である。
以上説明した本発明の実施形態によれば、動力学モデルによって生成される目標歩容の関節変位に追従するようにロボット１の実際の関節変位が制御されつつ、ロボット１の実際の上体鉛直位置軌道と目標上体鉛直位置軌道の差、あるいは実際の全体重心の鉛直位置軌道と目標歩容の全体重心の鉛直位置軌道が０に収束（漸近）するので、グローバル空間において、ロボット１の実際の足平軌道が目標足平軌道に収束する。したがって、グローバル空間（床に固定された座標系）から見て、実際のロボットの運動と床反力とが目標歩容の運動と床反力とに、常にほぼ一致する（精度良く追従制御される）ようになる。
したがって、ロボット１の姿勢安定性が向上すると共に、過大な床反力や衝撃が発生することを防止する。
また、その結果、実際の離床タイミングが目標歩容の離床タイミングにほぼ一致するので、離床タイミングずれによるスリップやスピンおよび遊脚足平が床に引っ掛かってしまうなどの問題が解消される。
また、着地に関しては、グローバル空間から見て、着地時の実際のロボット１の足平位置と速度が目標の位置速度にほぼ一致するので、実際の着地タイミングが目標歩容の着地タイミングにほぼ一致し、かつ着地時の対地速度が適切（例えば０）に制御されるので、着地衝撃が低減される。特に、目標足平軌道が、着地時に対地速度が０またはほぼ０になるように設定されているので、一層、着地衝撃が低減される。
補足すると、足平軌道はグローバル座標系（空間）で記述されているので、上記実施例のごとく上体鉛直位置を修正することにより、上体３と足平２２との相対位置が変り、結果的に脚体２の伸縮（膝曲げ伸ばし）が発生するが、単なる足平２２の軌道修正とは作用が異なる。例えば、空中期において実際のロボット１の上体鉛直位置軌道が目標歩容の上体鉛直位置軌道からずれた時に、着地時の対地速度が０になるように単に足平軌道だけを修正すると、着地衝撃は低減されるが、実際のロボット１の上体鉛直位置軌道が目標歩容生成用動力学モデルの上体鉛直位置軌道からずれたままであるので、実際のロボット１の状態と目標歩容生成用動力学モデルの状態とが一致せず、着地後に姿勢安定性を損なう恐れがある。特に、状態量の中でも、重心鉛直速度などのような速度に関する状態量に不一致が生じると、着地後に姿勢安定性を大きく損なう場合がある。
産業上の利用可能性
以上の如く、本発明は２足移動ロボット等の脚式移動ロボットを走行させたり、ジャンプさせる場合に円滑な運動を該ロボットに行わせることができるものとして有用である。
【図面の簡単な説明】
図１は、本発明の実施形態における脚式移動ロボットとしての２足移動ロボットの全体的構成の概略を示す概略図、図２は図１の各脚体の足平部分の構成を概略的に示す概略図、図３及び図４はそれぞれ各脚体の足平部分の詳細構成を示す側面視の断面図及び底面図、図５は図１のロボットに備えた制御ユニットの構成を示すブロック図、図６及び図７はロボットの頭部の内部構造をそれぞれ正面視、側面視で見た図、図８は図５の制御ユニットの機能的構成を示すブロック図、図９（ａ）、（ｂ）はそれぞれ目標歩容の床反力鉛直成分、目標ＺＭＰの設定例を示すグラフである。図１０は第１実施形態における上体鉛直位置安定化制御部の処理を示すフローチャート、図１１は図１０の処理の詳細を示すブロック図である。図１２（ａ）〜（ｄ）はそれぞれ、目標歩容の床反力鉛直成分、目標ＺＭＰ、コンプライアンス制御用補償鉛直床反力の最大許容値、補償鉛直床反力の最小許容値の設定例を示すグラフである。図１３は第１実施形態における上体鉛直位置安定化制御部の処理の他の例を示すブロック図である。図１４（ａ）〜（ｄ）はそれぞれ、目標歩容の床反力鉛直成分、目標ＺＭＰ、上体鉛直位置安定化制御部の処理におけるゲイン（図１４（ｃ），（ｄ））の設定例を示すグラフである。図１５は第１実施形態の歩容生成処理及び自己位置姿勢推定処理を示すフローチャート、図１６は図１５の要部のサブルーチン処理を示すフローチャートである。図１７は第２実施形態における要部の処理を示すフローチャート、図１８（ａ）、（ｂ）は図１７の処理を説明するためののグラフである。図１９は第３実施形態における歩容生成処理及び自己位置姿勢推定処理を示すフローチャートである。図２０は第４実施形態における要部の処理を示すブロック図である。、
【図１】
2003090978.tif 000003
【図２】
2003090978.tif 000004
【図３】
2003090978.tif 000005
【図４】
2003090978.tif 000006
【図５】
2003090978.tif 000007
【図６】
2003090978.tif 000008
【図７】
2003090978.tif 000009
【図８】
2003090978.tif 000010
【図９（ａ）】
2003090978.tif 000011
【図９（ｂ）】
2003090978.tif 000012
【図１０】
2003090978.tif 000013
【図１１】
2003090978.tif 000014
【図１２（ａ）】
2003090978.tif 000015
【図１２（ｂ）】
2003090978.tif 000016
【図１２（ｃ）】
2003090978.tif 000017
【図１２（ｄ）】
2003090978.tif 000018
【図１３】
2003090978.tif 000019
【図１４（ａ）】
2003090978.tif 000020
【図１４（ｂ）】
2003090978.tif 000021
【図１４（ｃ）】
2003090978.tif 000022
【図１４（ｄ）】
2003090978.tif 000023
【図１５】
2003090978.tif 000024
【図１６】
2003090978.tif 000025
【図１７】
2003090978.tif 000026
【図１８（ａ）】
2003090978.tif 000027
【図１８（ｂ）】
2003090978.tif 000028
【図１９】
2003090978.tif 000029
【図２０】
2003090978.tif 000030
【手続補正書】
【提出日】平成16年4月5日(2004.4.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
脚体の運動により移動する脚式移動ロボットの目標歩容を生成し、その目標歩容に追従させるように該ロボットの動作を制御する脚式移動ロボットの制御装置において、
少なくとも前記ロボットの目標運動を含み、且つ、該ロボットに作用する床反力が略０に維持される床反力不作用期間を有する目標歩容を生成する目標歩容生成手段と、
前記ロボットの所定方向の並進運動に関する前記目標歩容の状態量と、該所定方向の並進運動に関する該ロボットの実際の状態量との偏差を状態量偏差として求める状態量偏差算出手段とを備え、
前記目標歩容生成手段は、前記床反力不作用期間において、前記状態量偏差に応じて該状態量偏差を０に近づけるように前記ロボットの目標歩容の目標運動を決定することを特徴とする脚式移動ロボットの制御装置。
【請求項２】
脚体の運動により移動する脚式移動ロボットの目標歩容を生成し、その目標歩容に追従させるように該ロボットの動作を制御する脚式移動ロボットの制御装置において、
少なくとも前記ロボットの目標運動を含み、且つ、該ロボットの全ての脚体を空中に浮かせる空中期を有する目標歩容を生成する目標歩容生成手段と、
前記ロボットの所定の部位の位置又は該ロボットの重心の位置を該ロボットの代表自己位置とし、その代表自己位置の所定方向の成分を該ロボットの所定方向の並進運動に関する該ロボットの実際の状態量を表すものとして推定する自己位置推定手段と、
前記推定された代表自己位置の前記所定方向の成分と前記目標歩容の代表自己位置の前記所定方向の成分との偏差を状態量偏差として求める状態量偏差算出手段と、
少なくとも前記空中期の開始時までに前記自己位置推定手段により推定された前記代表自己位置の所定方向の成分に基づいて少なくとも該空中期における該代表自己位置の所定方向の成分の予想軌道を求める予想軌道算出手段とを備え、
前記目標歩容生成手段は、前記空中期において前記目標歩容により定まる前記代表自己位置の前記所定方向の成分の目標軌道が少なくとも該空中期の終了時までに前記予想軌道に近づくように前記状態量偏差に応じて該空中期における前記目標歩容の目標運動を決定することを特徴とすることを特徴とする脚式移動ロボットの制御装置。
【請求項３】
前記目標歩容生成手段は、前記ロボットに作用する力と該ロボットの運動との関係を表す動力学モデルに少なくとも該ロボットに作用させるべき床反力の目標値としての基準床反力を入力しつつ、該動力学モデルを用いて前記目標運動を決定する手段であり、少なくとも前記状態量偏差に応じて仮想外力を決定し、該仮想外力を前記動力学モデルに付加的に入力することにより前記目標運動を決定することを特徴とする請求の範囲第１項に記載の脚式移動ロボットの制御装置。
【請求項４】
前記目標歩容生成手段は、前記状態量偏差を０に近づけるために前記動力学モデルに付加的に入力すべき外力操作量を該状態量偏差からフィードバック制御則により決定する手段を備え、該外力操作量の値が０を含む所定の不感帯域に存在するときには、前記仮想外力を０に決定し、該外力操作量の値が前記不感帯域から逸脱しているときには、前記仮想外力を該外力操作量が前記不感帯域から逸脱した分の値に決定することを特徴とする請求の範囲第３項に記載の脚式移動ロボットの制御装置。
【請求項５】
（削除）
【請求項６】
前記基準床反力は、その値が略０に維持される床反力不作用期間を有し、
前記目標歩容生成手段は、前記床反力不作用期間以外の期間内で前記仮想外力を略０に決定することを特徴とする請求の範囲第３項に記載の脚式移動ロボットの制御装置。
【請求項７】
前記目標歩容生成手段は、少なくとも前記床反力不作用期間以外の期間内において、前記目標運動を所定の基準運動に近づけるように該目標運動を決定することを特徴とする請求の範囲第１項に記載の脚式移動ロボットの制御装置。
【請求項８】
前記目標歩容生成手段は、少なくとも前記仮想外力を略０に決定する期間内において前記目標運動を前記基準床反力に前記動力学モデル上で釣り合う基準運動に近づけるように前記目標運動を決定することを特徴とする請求の範囲第６項に記載の脚式移動ロボットの制御装置。
【請求項９】
前記目標歩容生成手段は、前記ロボットの目標床反力を決定する手段を含み、前記目標運動と目標床反力とに該ロボットの歩容を追従させるように該ロボットを操作するコンプライアンス制御手段を備えたことを特徴とする請求の範囲第１項に記載の脚式移動ロボットの制御装置。
【請求項１０】
前記目標歩容生成手段は、少なくとも前記基準床反力を基に前記目標運動に前記動力学モデル上で不釣合いとなるロボットの目標床反力を決定する手段を含み、前記目標運動と目標床反力とに該ロボットの歩容を追従させるように該ロボットを操作するコンプライアンス制御手段を備えたことを特徴とする請求の範囲第３項に記載の脚式移動ロボットの制御装置。
【請求項１１】
前記目標歩容生成手段は、少なくとも前記状態量偏差に応じて該状態量偏差を０に近づけるように前記目標床反力を決定することを特徴とする請求の範囲第９項又は第１０項に記載の脚式移動ロボットの制御装置。
【請求項１２】
脚体の運動により移動する脚式移動ロボットの目標運動及び目標床反力からなる目標歩容を生成する目標歩容生成手段と、その目標歩容の目標運動及び目標床反力に前記ロボットの歩容を追従させるように該ロボットを操作するコンプライアンス制御手段とを備えた脚式移動ロボットの制御装置において、
前記ロボットの鉛直方向の並進運動に関する前記目標歩容の状態量と、該鉛直方向の並進運動に関する該ロボットの実際の状態量との偏差を状態量偏差として求める状態量偏差算出手段を備え、
前記目標歩容生成手段は、少なくとも前記状態量偏差に応じて該状態量偏差を０に近づけるように前記ロボットの目標運動と目標床反力の並進力鉛直成分との組を決定することを特徴とする脚式移動ロボットの制御装置。
【請求項１３】
前記目標歩容生成手段は、前記ロボットに作用する床反力と該ロボットの運動との関係を表す動力学モデルに、少なくとも該ロボットに作用させるべき床反力の並進力鉛直成分の基準目標値としての基準床反力を入力しつつ、該動力学モデルを用いて前記目標運動を決定する手段と、少なくとも前記状態量偏差に応じて前記動力学モデルに付加的に入力すべき仮想外力と前記目標床反力の並進力鉛直成分の前記基準床反力からの修正量としての目標床反力修正量との組を決定する手段とを備え、その決定された仮想外力及び目標床反力修正量のうちの仮想外力を前記動力学モデルに付加的に入力することにより前記目標運動を決定すると共に、前記目標床反力修正量により前記基準床反力を修正することにより前記目標床反力の並進力鉛直成分を決定することを特徴とする請求の範囲第１２項に記載の脚式移動ロボットの制御装置。
【請求項１４】
前記目標歩容生成手段は、前記状態量偏差を０に近づけるように前記目標床反力修正量と前記仮想外力との差分の目標値を該状態量偏差に応じて決定し、その決定された差分の目標値を満足するように前記目標床反力修正量と前記仮想外力との組を決定することを特徴とする請求の範囲第１３項に記載の脚式移動ロボットの制御装置。
【請求項１５】
前記目標歩容生成手段は、前記目標床反力修正量の許容範囲を決定する手段を備え、前記差分の目標値と該目標床反力修正量の許容範囲とを満足するように前記目標床反力修正量と仮想外力との組を決定することを特徴とする請求の範囲第１４項に記載の脚式移動ロボットの制御装置。
【請求項１６】
前記目標歩容生成手段は、前記差分の目標値に対応する前記仮想外力が０であると仮定して前記目標床反力修正量の仮値を決定する手段と、該目標床反力修正量の仮値と前記許容範囲とに基づいて該仮値を該許容範囲内の値に制限してなる目標床反力修正量を決定する手段と、その決定した目標床反力修正量と前記決定された差分の目標値とに基づき前記仮想外力を決定する手段とを備えることを特徴とする請求の範囲第１５項に記載の脚式移動ロボットの制御装置。
【請求項１７】
前記目標歩容は、前記ロボットの全脚体を空中に浮かせる期間を有する歩容であり、前記目標床反力修正量の許容範囲は、少なくとも前記空中期において該許容範囲の上限値と下限値とが略０となる範囲に決定されることを特徴とする請求の範囲第１５項に記載の脚式移動ロボットの制御装置。
【請求項１８】
前記目標歩容生成手段は、前記差分の目標値を満足しつつ、前記目標運動を前記動力学モデル上で前記基準床反力に釣り合う基準運動に近づけるように前記目標床反力修正量と仮想外力との組を決定することを特徴とする請求の範囲第１４項に記載の脚式移動ロボットの制御装置。
【請求項１９】
前記目標歩容生成手段は、前記状態量偏差を０に近づけるためのフィードバック制御則に基づき第１床反力操作量を決定する手段と、前記目標運動を前記動力学モデル上で前記基準床反力に釣り合う基準運動に近づけるためのフィードバック制御則に基づき第２床反力操作量を決定する手段と、前記目標床反力修正量の許容範囲を決定する手段と、前記第１床反力操作量と第２床反力操作量とを合成してなる床反力操作量を前記目標床反力修正量の仮値とし、その仮値を前記許容範囲内に制限することにより目標床反力修正量を決定する手段と、その目標床反力修正量と前記仮想外力との差分が前記第１床反力操作量に合致するように該仮想外力を決定する手段とを備えることを特徴とする請求の範囲第１８項に記載の脚式移動ロボットの制御装置。
【請求項２０】
前記目標歩容生成手段は、所定期間分の目標歩容づつ、該所定期間分の目標歩容を仮想的な周期的歩容に近づけるように生成することを特徴とする請求の範囲第１項又は第１２項に記載の脚式移動ロボットの制御装置。
【請求項２１】
前記状態量は、前記ロボットの所定の部位の位置又は該ロボットの重心の位置であることを特徴とする請求の範囲第１項又は第１２項に記載の脚式移動ロボットの制御装置。
【請求項２２】
前記所定の部位は、前記ロボットの上体であることを特徴とする請求の範囲第２１項に記載の脚式移動ロボットの制御装置。
【請求項２３】
脚体の運動により移動する脚式移動ロボットの目標歩容を生成し、その目標歩容に追従させるように該ロボットの動作を制御する脚式移動ロボットの制御装置において、
前記目標歩容を生成する目標歩容生成手段と、
前記ロボットの所定の部位の位置及び該ロボットの重心の位置のうちの少なくともいずれかの位置をロボットの代表自己位置とし、該代表自己位置を推定する自己位置推定手段と、
その推定された代表自己位置と、前記目標歩容における代表自己位置との差のうち、所定方向の成分を所定方向位置偏差として求める位置偏差算出手段と、
前記目標歩容における目標着地点に対応して、前記ロボットの着地動作を行なう脚体の先端部が実際に着地すると予想される床上の着地予定点の鉛直位置を測定する床形状認識手段とを備え、
前記目標歩容生成手段は、少なくとも前記位置偏差算出手段により求められた前記所定方向位置偏差と前記床形状認識手段により測定された前記着地予定点の鉛直位置とに基づいて前記目標歩容を修正することを特徴とする脚式移動ロボットの制御装置。
【請求項２４】
前記目標歩容生成手段は、少なくとも前記所定方向位置偏差に基づいて、該所定方向位置偏差が０に近づくように前記目標歩容のうちの前記代表自己位置の軌道を規定する目標運動を修正する手段と、少なくとも前記測定された前記着地予定点の鉛直位置に基づいて、前記目標歩容のうちの脚体の先端部の軌道を規定する目標運動を修正する手段とを備えることを特徴とする請求の範囲第２３項に記載の脚式移動ロボットの制御装置。
【請求項２５】
前記目標歩容生成手段は、少なくとも前記測定された前記着地予定点の鉛直位置と前記目標歩容における目標着地点の鉛直位置との偏差と、前記所定方向位置偏差とに基づいて、これらの偏差が０に近づくように前記目標歩容のうちの前記代表自己位置の軌道を規定する目標運動を修正することを特徴とする請求の範囲第２３項に記載の脚式移動ロボットの制御装置。
【請求項２６】
脚体の運動により移動する脚式移動ロボットの目標運動及び目標床反力からなる目標歩容に追従させるようにロボットの動作を制御するコンプライアンス制御手段を備え、該コンプラインアンス制御手段が、前記ロボットに実際に作用する床反力を把握しつつ、その把握した床反力と前記目標床反力との偏差である床反力偏差に応じて前記ロボットの上体に対する脚体の先端部の相対位置を前記目標運動により規定される相対位置から修正する脚式移動ロボットの制御装置において、
前記目標歩容は、前記ロボットの全脚体を空中に浮かせる空中期を有する歩容であり、前記コンプライアンス制御手段は、前記床反力偏差に対する前記脚体の先端部の相対位置の修正量のゲインを少なくとも前記空中期の開始直前に減少させることを特徴とする脚式移動ロボットの制御装置。
【請求項２７】
脚体の運動により移動する脚式移動ロボットの目標運動を少なくとも含む目標歩容を生成し、その目標歩容に追従させるように該ロボットの動作を制御する脚式移動ロボットの制御装置において、
少なくとも前記ロボットの全脚体を空中に浮かせる空中期を含む前記目標歩容を生成する目標歩容生成手段と、
前記ロボットの所定の部位の位置及び該ロボットの重心の位置のうちの少なくともいずれかの位置をロボットの代表自己位置とし、該代表自己位置を推定する自己位置推定手段と、
その推定された代表自己位置と、前記目標歩容における代表自己位置との差のうち、所定方向の成分を所定方向位置偏差として求める位置偏差算出手段と、
少なくとも前記所定方向位置偏差に応じて、該所定方向位置偏差が０に近づくように前記ロボットの脚体の先端部の位置を前記目標歩容により規定される位置から修正する脚先端部位置修正手段とを備え、
該脚先端部位置修正手段は、少なくとも前記目標歩容の空中期の開始時までに前記脚体の先端部の位置の修正量を前記所定方向位置偏差によらずに強制的に略０にすることを特徴とする脚式移動ロボットの制御装置。
【請求項２８】
脚体の運動により移動する脚式移動ロボットの目標運動及び目標床反力からなる目標歩容を生成し、その目標歩容に追従させるように該ロボットの動作を制御する脚式移動ロボットの制御装置において、
少なくとも前記ロボットの全脚体を空中に浮かせる空中期を含む前記目標歩容を生成する目標歩容生成手段と、
前記ロボットの所定の部位の位置及び該ロボットの重心の位置のうちの少なくともいずれかの位置をロボットの代表自己位置とし、該代表自己位置を推定する自己位置推定手段と、
その推定された代表自己位置と、前記目標歩容における代表自己位置との差のうち、所定方向の成分を所定方向位置偏差として求める位置偏差算出手段と、
少なくとも前記所定方向位置偏差に応じて、該所定方向位置偏差が０に近づくように前記目標歩容うちの目標床反力を修正する床反力修正手段とを備え、
該床反力修正手段は、少なくとも前記目標歩容の空中期の開始時までに前記目標床反力の修正量を前記所定方向位置偏差によらずに強制的に略０にすることを特徴とする脚式移動ロボットの制御装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
あった。
また、離床時に、実際のロボットの上体鉛直位置軌道（重心軌道）が目標上体鉛直位置軌道からずれると、着地時の重心軌道もずれ、着地タイミングがずれたりして、遊脚足平の着地時の対地速度が過大になり、大きな着地衝撃が発生する恐れもあった。
また、実際のロボットの運動と床反力とが目標歩容のそれからずれるので、姿勢安定性も低下した。
本発明はかかる背景に鑑みてなされたものであり、ロボットの脚体先端部（足平）の床に対する軌道を目標歩容の脚体先端部（足平）軌道に近づけることができ、ひいては、ロボットが目標歩容通りの離床のタイミングで離床するようにして、ロボットのスリップやスピン、遊脚の床への引っ掛かかり等が発生するのを防止し、また、着地衝撃を低減することができる脚式移動ロボットの制御装置を提供することを目的とする。
発明の開示
本発明の脚式移動ロボットの第１発明は、脚体の運動により移動する脚式移動ロボットの目標歩容を生成し、その目標歩容に追従させるように該ロボットの動作を制御する脚式移動ロボットの制御装置において、少なくとも前記ロボットの目標運動を含み、且つ、該ロボットに作用する床反力が略０に維持される床反力不作用期間を有する目標歩容を生成する目標歩容生成手段と、前記ロボットの所定方向の並進運動に関する前記目標歩容の状態量と、該所定方向の並進運動に関する該ロボットの実際の状態量との偏差を状態量偏差として求める状態量偏差算出手段とを備え、前記目標歩容生成手段は、前記床反力不作用期間において、前記状態量偏差に応じて該状態量偏差を０に近づけるように前記ロボットの目標歩容の目標運動を決定することを特徴とする。
かかる第１発明では、前記床反力不作用期間において、前記所定方向の並進運動に関する前記状態量偏
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
差を０に近づけるようにロボットの目標歩容の目標運動を決定するので、ロボットの前記所定方向の並進運動に関する実際の挙動と目標歩容における挙動とを合致させるようにすることができる。従って、床反力不作用期間において、前記並進運動に関する実際のロボットの状態量と目標歩容における状態量との一致性が高まる。その結果、ロボットの前記所定方向の並進運動に関する実際の動作のタイミングを目標歩容での動作タイミングに合わせることが可能となり、ロボットの円滑な運動が可能となる。また、前記床反力不作用期間では、ロボットには実質的に重力のみが作用して、該ロボットの重心の運動が該重力によって支配されるので、ロボットの各部の相対的な運動だけを考慮すればよいが、前記床反力不作用期間以外の期間では、ロボットに床反力が作用するため、動力学的平衡条件を満たす必要性が高い。そして、第１発明では、床反力不作用期間以外の期間では、ロボットの動力学的平衡条件を重視した目標運動を決定することが可能となる。
なお、前記所定方向は、例えば鉛直方向、あるいは、ロボットの重心と目標歩容の目標ＺＭＰとを結ぶ方向等である。これは、以下に説明するいずれの発明（第１２〜第１９発明を除く）においても同様である。
また、後述の第２１発明、第２２発明の如く、前記状態量は、例えば前記ロボットの所定の部位の位置又は該ロボットの重心の位置であることが好ましく、特に、前記所定の部位はロボットの上体（脚体が延設される基体）であることが好ましい。これは、以下に説明するいずれの発明においても同様である。ロボットの上体の位置、あるいは、重心の位置に係わる前記状態量偏差（すなわち位置偏差）を０に近づけるように目標歩容の目標運動を決定することで、脚体の先端部（足平）の実際の軌道も、目標歩容の軌道に近づけることができ、該脚体の離床、着床等の動作のタイミングを所望のタイミング（目標歩容上のタイミング）に合わせることができる。その結果、スリップやスピン、脚体先端部の床への引っ掛かり等を防止し、また、着地時に過大な着地衝撃が生じるのを防止することが可能となる。
また、本発明の脚式移動ロボットの制御装置の第２発明は、脚体の運動により移動する脚式移動ロボットの目標歩容を生成し、その目標歩容に追従させるように該ロボットの動作を制御する脚式移動ロボットの制御装置において、少なくとも前記ロボットの目標運動を含み、且つ、該ロボットの全ての脚体を空中に浮かせる空中期を有する目標歩容を生成する目標歩容生成手段と、前記ロボットの所定の部位の位置又は該ロボットの重心の位置を該ロボットの代表自己位置とし、その代表自己位置の所定方向の成分を該ロボットの所定方向の並進運動に関する該ロボットの実際の状態量を表すものとして推定する自己位
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
置推定手段と、前記推定された代表自己位置の前記所定方向の成分と前記目標歩容の代表自己位置の前記所定方向の成分との偏差を状態量偏差として求める状態量偏差算出手段と、少なくとも前記空中期の開始時までに前記自己位置推定手段により推定された前記代表自己位置の所定方向の成分に基づいて少なくとも該空中期における該代表自己位置の所定方向の成分の予想軌道を求める予想軌道算出手段とを備え、前記目標歩容生成手段は、前記空中期において前記目標歩容により定まる前記代表自己位置の前記所定方向の成分の目標軌道が少なくとも該空中期の終了時までに前記予想軌道に近づくように前記状態量偏差に応じて該空中期における前記目標歩容の目標運動を決定することを特徴とすることを特徴とする。
かかる第２発明によれば、空中期におけるロボットの代表自己位置の所定方向の成分の予想軌道を求め、この予想軌道に、少なくとも空中期の終了時までに目標歩容における代表自己位置の所定方向（鉛直方向等）の成分の目標軌道が近づくように目標歩容の目標運動が決定される。その結果、空中期の終了時、すなわち、ロボットの着地時における実際の代表自己位置の所定方向成分と目標歩容における代表自己位置の所定方向成分との間の偏差（状態量偏差）を小さくして、実際の着地タイミングと目標歩容上での着地タイミングとを合わせることが可能となり、ロボットの着地時に過大な着地衝撃を生じるのを防止しつつ、ロボットの着地動作を円滑に行わせることができる。また、ロボットの着地毎に前記状態量偏差をほぼ０にするため、ロボットの離床時（空中期の開始時）における実際のロボットの離床タイミングと目標歩容における離床タイミングとの間の誤差も極力小さくできるので、ロボットの離床動作も円滑に行なうことが可能となる。
また、前記第１発明では、前記目標歩容生成手段が、前記ロボットに作用する力と該ロボットの運動との関係を表す動力学モデルに少なくと
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
記動力学モデルによって決定される目標運動は、該動力学モデル上で前記基準床反力に釣り合う運動に前記不感帯域がない場合に較べ近づくこととなる。その結果、ロボットの実際の運動が、動力学的な安定性の高い（動力学的平衡条件を満たす）本来の運動から過剰にずれてしまうのを防止できる。
また、前記第３又は第４発明では、前記基準床反力が、その値が略０に維持される床反力不作用期間を有するときには、前記目標歩容生成手段は、前記床反力不作用期間以外の期間内で前記仮想外力を略０に決定することが好ましい（第６発明）。
すなわち、前記床反力不作用期間では、ロボットには実質的に重力のみが作用して、該ロボットの重心の運動が該重力によって支配されるので、ロボットの各部の相対的な運動だけを考慮すればよいが、前記床反力不作用期間以外の期間では、ロボットに床反力が作用するため、動力学的平衡条件を満たす必要性が高い。そして、前記第６発明では、前記床反力不作用期間以外の期間内で前記仮想外力を略０に決定することで、前記床反力不作用期間において、ロボットの前記所定方向の並進
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
運動に関する実際の挙動と目標歩容における挙動とを合致させる一方、該床反力不作用期間以外の期間では、ロボットの動力学的平衡条件を重視した目標運動を決定することが可能となる。
さらに、前記第１発明では、前記目標歩容生成手段は、少なくとも前記床反力不作用期間以外の期間内において、前記目標運動を所定の基準運動に近づけるように該目標運動を決定することが好ましい（第７発明）。
また、前記第６発明では、前記目標歩容生成手段は、少なくとも前記仮想外力を略０に決定する期間内において前記目標運動を前記基準床反力に前記動力学モデル上で釣り合う基準運動に近づけるように前記目標運動を決定することが好ましい（第８発明）。
これらの第７発明及び第８発明によれば、前記床反力不作用期間以外の期間内（第７発明）、あるいは、前記仮想外力を略０に決定する期間内（第８発明）において、動力学的平衡条件を重視した目標運動を決定できる。
また、前記第１発明では、前記目標歩容生成手段は、前記ロボットの目標床反力を決定する手段を含み、前記目標運動と目標床反力とに該ロボットの歩容を追従させるように該ロボットを操作するコンプライアンス制御手段を備えることが好適である（第９発明）。
同様に、前記第３発明では、前記目標歩容生成手段は、少なくとも前記基準床反力を基に前記目標運動に前記動力学モデル上で不釣合いとなるロボットの目標床反力を決定する手段を含み、前記目標運動と目標床反力とに該ロボットの歩容を追従させるように該ロボットを操作するコンプライアンス制御手段を備えることが好適である（第１０発明）。
これらの第９発明及び第１０発明によれば、前記コンプライアンス制御手段を備えることで、ロボットの実際の運動と床反力との両者を概ね
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
目標運動と目標床反力とに追従させることができる。
特に上記第９又は第１０発明では、前記目標歩容生成手段は、少なくとも前記状態量偏差に応じて該状態量偏差を０に近づけるように前記目標床反力を決定することが好ましい（第１１発明）。
これによれば、目標運動と目標床反力との両者を操作して、状態量偏差を０に近づけることができるため、該状態量偏差の０への収束、すなわち、該状態量偏差の解消を迅速に行うことができる。
また、本発明の第１２発明は、脚体の運動により移動する脚式移動ロボットの目標運動及び目標床反力からなる目標歩容を生成する目標歩容生成手段と、その目標歩容の目標運動及び目標床反力に前記ロボットの歩容を追従させるように該ロボットを操作するコンプライアンス制御手段とを備えた脚式移動ロボットの制御装置において、前記ロボットの鉛直方向の並進運動に関する前記目標歩容の状態量と、該鉛直方向の並進運動に関する該ロボットの実際の状態量との偏差を状態量偏差として求める状態量偏差算出手段を備え、前記目標歩容生成手段は、少なくとも前記状態量偏差に応じて該状態量偏差を０に近づけるように前記ロボットの目標運動と目標床反力の並進力鉛直成分との組を決定することを特徴とするものである。
かかる第１２発明では、前記状態量偏差を０に近づけるようにロボットの目標運動と目標床反力の並進力鉛直成分との組を決定するので、換言すれば、状態量偏差を０に近づけるように、目標運動と目標床反力の並進力鉛直成分との組を操作するので、前記第１発明と同様に前記並進運動に関する実際のロボットの状態量と目標歩容における状態量との一致性が高まることに加えて、それらの状態量の偏差（状態量偏差）を迅速に０に近づけることができる。その結果、ロボットの前記鉛直方向の並進運動に関する実際の動作のタイミングを目標歩容での動作タイミングに合わせることが可能となり、ロ
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
ボットの円滑な運動が可能となる。
この第１２発明では、前記目標歩容生成手段は、前記ロボットに作用する床反力と該ロボットの運動との関係を表す動力学モデルに、少なくとも該ロボットに作用させるべき床反力の並進力鉛直成分の基準目標値としての基準床反力を入力しつつ、該動力学モデルを用いて前記目標運動を決定する手段と、少なくとも前記状態量偏差に応じて前記動力学モデルに付加的に入力すべき仮想外力と前記目標床反力の並進力鉛直成分の前記基準床反力からの修正量としての目標床反力修正量との組を決定する手段とを備え、その決定された仮想外力及び目標床反力修正量のうちの仮想外力を前記動力学モデルに付加的に入力することにより前記目標運動を決定すると共に、前記目標床反力修正量により前記基準床反力を修正することにより前記目標床反力の並進力鉛直成分を決定することが好ましい（第１３発明）。
かかる第１３発明によれば、前記仮想外力を前記動力学モデルに付加的に入力することによって前記状態量偏差を０に近づけるように目標運動が決定されると共に、前記目標床反力修正量により前記基準床反力を修正することにより前記状態量偏差を０に近づけるように目標床反力が決定される。
より具体的には、第１３発明では、前記目標床反力修正量と前記仮想外力との差分が、ロボットの前記鉛直方向の並進運動を操作するものとなるので、前記目標歩容生成手段は、前記状態量偏差を０に近づけるように前記目標床反力修正量と前記仮想外力との差分の目標値を該状態量偏差に応じて決定し、その決定された差分の目標値を満足するように前記目標床反力修正量と前記仮想外力との組を決定することが好ましい（第１４発明）。これにより、前記状態量偏差を０に近づけ得る目標運動と目標床反力の並進力鉛直成分との組を適正に決定できる。
さらに、第１４発明では、前記目標歩容生成手段は、前記目標床反力
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
修正量の許容範囲を決定する手段を備え、前記差分の目標値と該目標床反力修正量の許容範囲とを満足するように前記目標床反力修正量と仮想外力との組を決定することが好ましい（第１５発明）。すなわち、目標床反力は、ロボットに実際に作用する床反力の目標値であるが、ロボットに作用させ得る床反力には限界がある。従って、上記のように目標床反力の修正量の許容範囲を決定して、前記差分の目標値と該目標床反力修正量の許容範囲とを満足するように前記目標床反力修正量と仮想外力との組を決定することで、目標運動及び目標床反力へのロボットの追従性を高めることができ、ひいては、前記状態量偏差を０に近づけることを円滑に行うことができる。
上記第１５発明では、より具体的には、前記目標歩容生成手段は、前記差分の目標値に対応する前記仮想外力が０であると仮定して前記目標床反力修正量の仮値を決定する手段と、該目標床反力修正量の仮値と前記許容範囲とに基づいて該仮値を該許容範囲内の値に制限してなる目標床反力修正量を決定する手段と、その決定した目標床反力修正量と前記決定された差分の目標値とに基づき前記仮想外力を決定する手段とを備えることが好ましい（第１６発明）。
これによれば、前記仮想外力を０と仮定して前記差分の目標値に応じて決定される目標床反力修正量が前記許容範囲内に存在するときには、前記仮想外力が０に決定されることとなる。従って、前記状態量偏差を０に近づけるために、目標運動と目標床反力の並進力鉛直成分とのうち、目標床反力の並進力鉛直成分が優先的に操作されることとなる。つまり、状態量偏差の解消を、床反力の並進力鉛直成分の操作が可能な範囲では、該床反力の並進力鉛直成分の操作により行い、床反力の並進力鉛直成分の操作による状態量偏差の解消が不可能となる状態では、前記仮想外力による目標運動の操作と床反力の並進力鉛直成分の操作とを併用する。この結果、目標運動が、前記動力学モデル上で前記基準床反力に釣り合う運動から過剰にずれるよう
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
な事態を防止することができる。なお、第１５発明における目標床反力修正量の許容範囲は、前記第４発明における仮想外力の不感帯を規定するものとなる。
さらに、第１５又は第１６発明では、前記目標歩容が、前記ロボットの全脚体を空中に浮かせる期間を有する歩容であるときには、前記目標床反力修正量の許容範囲は、少なくとも前記空中期において該許容範囲の上限値と下限値とが略０となる範囲に決定されることが好ましい（第１７発明）。これによれば、ロボットに床反力を作用させ得ない前記空中期では、主に、前記仮想外力による目標運動の操作によって前記状態量偏差を０に近づけることとなる。また、実際の床反力が０となる空中期では、当然の如く前記基準床反力は０に設定されると共に、前記目標床反力修正量も前記許容範囲によって、ほぼ０となる。従って、空中期における実際の床反力と目標床反力との差もほぼ０となるので、前記コンプライアンス制御の余計な動作がなくなり、ロボットの目標運動への追従性が高まる。
前記第１４発明〜第１７発明では、前記目標歩容生成手段は、前記差分の目標値を満足しつつ、前記目標運動を前記動力学モデル上で前記基準床反力に釣り合う基準運動に近づけるように前記目標床反力修正量と仮想外力との組を決定することが好適である（第１８発明）。これによれば、前記状態量偏差を０に近づけることと、前記基準床反力に対して動力学モデル上で釣り合う基準運動に目標運動を近づけることとを妥協的に両立させることができる。
より具体的には、前記目標歩容生成手段は、前記状態量偏差を０に近づけるためのフィードバック制御則に基づき第１床反力操作量を決定する手段と、前記目標運動を前記動力学モデル上で前記基準床反力に釣り合う基準運動に近づけるためのフィードバック制御則に基づき第２床反
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
力操作量を決定する手段と、前記目標床反力修正量の許容範囲を決定する手段と、前記第１床反力操作量と第２床反力操作量とを合成してなる床反力操作量を前記目標床反力修正量の仮値とし、その仮値を前記許容範囲内に制限することにより目標床反力修正量を決定する手段と、その目標床反力操作量と前記仮想外力との差分が前記第１床反力操作量に合致するように該仮想外力を決定する手段とを備えることが好ましい（第１９発明）。
かかる第１９発明では、前記状態量偏差がほぼ０になれば、前記第１床反力操作量と第２床反力操作量とを合成してなる床反力操作量は、目標運動を基準運動に近づけるための前記第２床反力操作量にほぼ等しくなるので、この第２床反力操作量に基づいて目標床反力修正量と仮想外力との組が決定されることとなる。従って、これらの目標床反力修正量と仮想外力とは、目標運動を前記基準運動に近づけるように決定されることとなる。また、目標運動が基準運動にほぼ一致していれば、前記第１床反力操作量と第２床反力操作量とを合成してなる床反力操作量は、前記状態量偏差を０に近づけるための前記第１床反力操作量にほぼ等しくなるので、この第１床反力操作量に基づいて目標床反力修正量と仮想外力との組が決定されることとなる。従って、これらの目標床反力修正量と仮想外力とは、前記状態量偏差を０に近づけるように決定されることとなる。従って、前記目標運動を前記基準運動に近づけること、すなわち、動力学的な安定性の高いロボットの運動を確保することと、前記状態量偏差を０に近づけること、すなわち、前記鉛直方向の並進運動に関するロボットの挙動と目標歩容の挙動とをできるだけ一致させることととを妥協的に両立させることができる。なお、第１９発明では、前記第１６発明と同様に、前記目標床反力修正量の許容範囲内で、目標床反力の並進力鉛直成分が優先的に操作される。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
の鉛直位置とに基づいて前記目標歩容が修正される。これにより、着地予定点での床の鉛直位置（高さ）が当初の目標歩容で想定していた鉛直位置からずれていても、前記所定方向位置偏差を解消しつつ、実際の床の高さに則した目標歩容を生成することができる。その結果、ロボットの実際の離床タイミングや着地タイミングと目標歩容上のタイミングを整合させつつ、ロボットの円滑な移動を行うことが可能となる。
なお、前記所定の部位は、ロボットの上体であることが好ましい。
この第２３発明では、前記目標歩容生成手段は、少なくとも前記所定方向位置偏差に基づいて、該所定方向位置偏差が０に近づくように前記目標歩容のうちの前記代表自己位置の軌道を規定する目標運動を修正する手段と、少なくとも前記測定された前記着地予定点の鉛直位置に基づいて、前記目標歩容のうちの脚体の先端部の軌道を規定する目標運動を修正する手段とを備えることが好ましい（第２４発明）。これによれば、
前記所定方向位置偏差は、前記代表自己位置の軌道を規定する目標運動、例えば上体の目標運動の修正（操作）によって０に近づき、着地予定点での床の鉛直位置（高さ）のずれに対しては、脚体の先端部の軌道を規定する目標運動の修正（操作）によって、脚体の着地が円滑に行われるようにされる。
なお、第２４発明での前記代表自己位置の軌道を規定する目標運動の修正（操作）は、前記所定方向位置偏差を前記状態量偏差とみなして、前記した第１発明〜第１９発明の如く行うようにすればよい。
第２３発明では、前記目標歩容生成手段は、少なくとも前記測定された前記着地予定点の鉛直位置と前記目標歩容における目標着地点の鉛直位置との偏差と、前記所定方向位置偏差とに基づいて、これらの偏差が０に近づくように前記目標歩容のうちの前記代表自己位置の軌道を規定する目標運動を修正するようにしてもよい（第２５発明）。これによれ
【国際調査報告】
2003090978.tif 000031
2003090978.tif 000032
2003090978.tif 000033
2003090978.tif 000034