(57)【特許請求の範囲】
【請求項１】
複数の脚体のそれぞれの先端部の離床動作及び着床動作を繰り返して移動する脚式移動ロボットにおける各脚体の目標運動軌道を生成する装置であって、
前記ロボットの動作環境の床面の複数の局所領域のそれぞれにおいて事前に特定された床面情報であって、各局所領域における該ロボットの各脚体の先端部の接地可能面の位置及び姿勢を表す情報を少なくとも含む床面情報を取得する床面情報取得手段と、
前記ロボットの移動運動において離床動作及びこれに続く着床動作を行なう脚体である遊脚の先端部の目標着地位置及び目標着地姿勢を、前記床面情報が取得された複数の局所領域のうちの１つの局所領域内に設定する目標着地位置姿勢設定手段と、
前記遊脚の先端部の離床動作の開始直前における接地位置から前記設定された目標着地位置までの該遊脚の先端部の水平方向の目標運動軌道を、少なくとも該遊脚と他の脚体との接触を生じないように決定する水平方向軌道決定手段と、
前記決定された水平方向の目標運動軌道上に、複数のサンプリング点を設定して、各サンプリング点毎に、該サンプリング点の位置での遊脚の先端部と、前記床面情報が取得された複数の局所領域のうちの該サンプリング点の位置に存在する局所領域の床面との接触が生じないようにするために必要な該遊脚の先端部の下限の高さを、該サンプリング点の位置に存在する局所領域の床面情報に基づいて決定する下限高さ決定手段と、
前記複数のサンプリング点の位置での遊脚の先端部の高さが前記決定された下限の高さ以上となるように、該遊脚の先端部の鉛直方向の目標運動軌道を決定する鉛直方向軌道決定手段とを備えており、
前記鉛直方向軌道決定手段は、前記遊脚の先端部の離床動作の開始直前の接地位置と前記目標着地位置との間で前記水平方向の目標運動軌道上に設定された前記各サンプリング点毎に、該サンプリング点と同じ水平方向位置を有し、且つ、該サンプリング点に対応して決定された前記下限の高さよりも所定のオフセット量だけ高い高さ位置を有する点である下限オフセット点を決定する下限オフセット点決定手段を備えており、前記遊脚の先端部の離床動作の開始直前の接地位置から前記目標着地位置までの該遊脚の先端部の鉛直方向の目標運動軌道が、前記下限オフセット点のうちの、前記遊脚の先端部の離床動作の開始直前の接地位置から前記目標着地位置に至る仮想的な直線軌道に対する相対的な高さが最も高い高さとなる下限オフセット点を通り、且つ、各下限オフセット点を内側に包含する凸状軌道となり、さらに、前記鉛直方向の目標運動軌道のうちの前記遊脚の先端部の離床動作の開始直前の接地位置寄りの軌道が、該接地位置から各下限オフセット点に至る直線のうち、前記仮想的な直線軌道に対する傾きの大きさが最大となる直線の軌道となり、且つ、前記鉛直方向の目標運動軌道のうちの前記遊脚の先端部の目標着地位置寄りの軌道が、該目標着地位置から各下限オフセット点に至る直線のうち、前記仮想的な直線軌道に対する傾きの大きさが最大となる直線の軌道となるように、前記鉛直方向の目標運動軌道を決定することを特徴とする脚式移動ロボットの脚体運動軌道生成装置。
【請求項２】
請求項１記載の脚式移動ロボットの脚体運動軌道生成装置において、
前記鉛直方向軌道決定手段は、前記仮想的な直線軌道に対する前記鉛直方向の軌道の相対的な高さのうちの最大の高さが、前記下限オフセット点のうちの前記仮想的な直線軌道に対する相対的な高さが最も高い高さとなる下限オフセット点の当該相対的な高さ以下の高さとなるように前記鉛直方向の目標運動軌道を決定することを特徴とする脚式移動ロボットの脚体運動軌道生成装置。
【請求項３】
請求項１又は２記載の脚式移動ロボットの脚体運動軌道生成装置において、
前記局所領域は、その内側に前記ロボットの複数の脚体のうちの任意の単一の脚体の先端部を包含し得る面積を有する領域であることを特徴とする脚式移動ロボットの脚体運動軌道生成装置。
【請求項４】
請求項１〜３のいずれか１項に記載の脚式移動ロボットの脚体運動軌道生成装置において、
前記目標着地位置姿勢設定手段は、前記目標着地位置及び目標着地姿勢を設定する前記局所領域の接地可能面が、該局所領域内に該接地可能面の境界線であるエッジを有する接地可能面である場合に、該接地可能面と前記脚体の先端部との接触面の面積と、該エッジの方向に対する前記脚体の先端部の姿勢とがあらかじめ定められた接地状態条件を少なくとも満たすように、前記目標着地位置を設定することを特徴とする脚式移動ロボットの脚体運動軌道生成装置。
【請求項５】
請求項４記載の脚式移動ロボットの脚体運動軌道生成装置において、
前記目標着地位置姿勢設定手段は、前記遊脚の先端部の目標着地位置のうちの水平方向位置と、該遊脚の目標着地姿勢のうちの鉛直軸周り方向の姿勢との組み合わせがあらかじめ定められた所定の組み合わせ条件を満たすように前記目標着地位置及び目標着地姿勢を決定することを特徴とする脚式移動ロボットの脚体運動軌道生成装置。
【請求項６】
請求項１〜５のいずれか１項に記載の脚式移動ロボットの脚体運動軌道生成装置において、
前記水平方向軌道決定手段は、前記床面情報が取得された複数の局所領域のうち、前記遊脚の先端部の水平方向の目標運動軌道上の位置に存在する局所領域における床面の、前記ロボットの脚体のうちの支持脚の接地面に対する最大の高さが、あらかじめ定めた所定値以下となるように前記水平方向の目標運動軌道を決定することを特徴とする脚式移動ロボットの脚体運動軌道生成装置。
【請求項７】
請求項１〜６のいずれか１項に記載の脚式移動ロボットの脚体運動軌道生成装置におい て、
前記下限高さ決定手段は、前記遊脚の実際の先端部よりも大きいサイズを有するようにあらかじめ定めた仮想的な先端部である仮想遊脚先端部を用い、該仮想遊脚先端部と、該サンプリング点の位置に存在する前記局所領域の床面との接触が生じる該仮想遊脚先端部の最大の高さを求め、その求めた最大の高さにより規定される前記遊脚の先端部の高さを、該サンプリング点での前記下限の高さとして決定することを特徴とする脚式移動ロボットの脚体運動軌道生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２足移動ロボット等の脚式移動ロボットの脚体の目標運動軌道を生成する装置に関する。
【背景技術】
【０００２】
脚式移動ロボット（以下、単にロボットということがある）は、その各脚体の離床動作及び着床動作を繰り返すことによって移動する。このため、脚式移動ロボットを移動させる場合、各脚体の離床動作に続く着床動作で着床させようとする床面上の目標位置（目標着地位置）や、空中での動きを規定する目標運動軌道を決定する必要がある。
【０００３】
そして、このように各脚体の目標運動軌道を生成する手法としては、例えば特許文献１に見られるように、各脚体の目標運動軌道の複数の候補を用意しておくと共に、ロボットの進行方向前方の床形状を計測し、計測した床の突起物を回避し得るような目標運動軌道を、複数の候補から選択して決定するようにしたものが知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２５３６５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ロボットを種々様々な環境で動作させる場合、ロボットを移動させる床面の形状は、千差万別なものとなる。そして、それらの千差万別の床面に対応し得るように各脚体の目標運動軌道の複数の候補を用意しておくことは困難である。
【０００６】
このため、上記特許文献１に見られる如き技術では、ロボットを移動させようとする環境の床面の形状状態によっては、用意されている目標運動軌道の候補から、ロボットの適切な移動を行うことが可能な目標運動軌道を見出すことができないという状況が発生し易い。ひいては、種々様々な環境でロボットを移動させることが困難である。
【０００７】
また、従来のロボットの制御技術では、ロボットの各脚体等の目標運動を決定する場合、ロボットの動作環境の床面が、比較的広い範囲にわたって、概ね一定もしくは一様な形状であるとの前提の基で該目標運動を決定することが一般的である。
【０００８】
しかしながら、種々様々な動作環境では、その床面が、広い範囲にわたって一定もしくは一様な形状となるような床面では無い場合も多い。
【０００９】
そのため、このような状況でも、ロボットの移動を行い得るようにロボットの脚体の運動軌道を決定する技術が望まれていた。
【００１０】
本発明は、かかる背景に鑑みてなされたものであり、種々様々な環境で脚式移動ロボットの移動を行い得るように該ロボットの脚体の運動軌道を生成する装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の脚式移動ロボットの脚体運動軌道生成装置は、かかる目的を達成するために、複数の脚体のそれぞれの先端部の離床動作及び着床動作を繰り返して移動する脚式移動ロ ボットにおける各脚体の目標運動軌道を生成する装置であって、
前記ロボットの動作環境の床面の複数の局所領域のそれぞれにおいて事前に特定された床面情報であって、各局所領域における該ロボットの各脚体の先端部の接地可能面の位置及び姿勢を表す情報を少なくとも含む床面情報を取得する床面情報取得手段と、
前記ロボットの移動運動において離床動作及びこれに続く着床動作を行なう脚体である遊脚の先端部の目標着地位置及び目標着地姿勢を、前記床面情報が取得された複数の局所領域のうちの１つの局所領域内に設定する目標着地位置姿勢設定手段と、
前記遊脚の先端部の離床動作の開始直前における接地位置から前記設定された目標着地位置までの該遊脚の先端部の水平方向の目標運動軌道を、少なくとも該遊脚と他の脚体との接触を生じないように決定する水平方向軌道決定手段と、
前記決定された水平方向の目標運動軌道上に、複数のサンプリング点を設定して、各サンプリング点毎に、該サンプリング点の位置での遊脚の先端部と、前記床面情報が取得された複数の局所領域のうちの該サンプリング点の位置に存在する局所領域の床面との接触が生じないようにするために必要な該遊脚の先端部の下限の高さを、該サンプリング点の位置に存在する局所領域の床面情報に基づいて決定する下限高さ決定手段と、
前記複数のサンプリング点の位置での遊脚の先端部の高さが前記決定された下限の高さ以上となるように、該遊脚の先端部の鉛直方向の目標運動軌道を決定する鉛直方向軌道決定手段とを備えることを基本構成とする。
そして、本発明（第１発明）は、上記基本構成に加えて次の構成を有することを特徴とする。すなわち、前記鉛直方向軌道決定手段は、前記遊脚の先端部の離床動作の開始直前の接地位置と前記目標着地位置との間で前記水平方向の目標運動軌道上に設定された前記各サンプリング点毎に、該サンプリング点と同じ水平方向位置を有し、且つ、該サンプリング点に対応して決定された前記下限の高さよりも所定のオフセット量だけ高い高さ位置を有する点である下限オフセット点を決定する下限オフセット点決定手段を備えており、前記遊脚の先端部の離床動作の開始直前の接地位置から前記目標着地位置までの該遊脚の先端部の鉛直方向の目標運動軌道が、前記下限オフセット点のうちの、前記遊脚の先端部の離床動作の開始直前の接地位置から前記目標着地位置に至る仮想的な直線軌道に対する相対的な高さが最も高い高さとなる下限オフセット点を通り、且つ、各下限オフセット点を内側に包含する凸状軌道となり、さらに、前記鉛直方向の目標運動軌道のうちの前記遊脚の先端部の離床動作の開始直前の接地位置寄りの軌道が、該接地位置から各下限オフセット点に至る直線のうち、前記仮想的な直線軌道に対する傾きの大きさが最大となる直線の軌道となり、且つ、前記鉛直方向の目標運動軌道のうちの前記遊脚の先端部の目標着地位置寄りの軌道が、該目標着地位置から各下限オフセット点に至る直線のうち、前記仮想的な直線軌道に対する傾きの大きさが最大となる直線の軌道となるように、前記鉛直方向の目標運動軌道を決定する。
【００１２】
なお、本発明においては、「床面」は、屋内の通常の床面に限らず、地面（不整地面でもよい）や路面等、ロボットの各脚体の足場となるような面を有する外界領域を意味するものである。
【００１３】
上記基本構成によれば、前記ロボット（脚式移動ロボット）の移動運動において離床動作及びこれに続く着床動作を行なう遊脚の先端部の目標運動軌道を決定する場合、まず、前記目標着地位置姿勢設定手段が、遊脚の先端部の目標着地位置及び目標着地姿勢を、前記床面情報取得手段により取得された複数の局所領域のうちの１つの局所領域内に設定する。
【００１４】
この場合、各局所領域は、その内側に各脚体の先端部を接地させ得る程度の大きさの比較的小さな面積の領域でよい。このため、各局所領域における前記接地可能面の位置及び姿勢を表す情報を含む前記床面情報を、高い信頼性で事前に特定しておくことができる。
【００１５】
従って、ロボットの遊脚の先端部の目標着地位置及び着地姿勢を、ロボットの移動を行なう上で適切な接地可能面を有する局所領域内に設定することができる。
【００１６】
なお、床面情報取得手段により取得する床面情報は、ロボットに搭載された測距センサ等を用いて該ロボットの動作中（遊脚の目標着地位置姿勢を決定する前の動作中）に、事前に計測された情報でもよいが、ロボットの動作を行なう前に、ロボットとは別の適宜の測定装置を使用して、事前に計測された情報であってもよい。また、隣合う局所領域どうしは、重なり（重複部分）を有していてもよい。
【００１７】
次いで、前記水平方向軌道決定手段によって、前記遊脚の先端部の離床動作の開始直前における接地位置から目標着地位置までの該遊脚の先端部の水平方向の目標運動軌道（水平方向の目標位置の軌道）が決定される。この場合、少なくとも該遊脚と他の脚体との接触を生じないように該遊脚の先端部の水平方向の目標運動軌道が決定される。該水平方向の目標運動軌道は、あらかじめ定められた形状パターンの軌道であってもよい。
【００１８】
そして、前記下限高さ決定手段が、決定された水平方向の目標運動軌道上に、複数のサンプリング点を設定して、各サンプリング点毎に、該サンプリング点の位置での遊脚の先端部と、前記床面情報が取得された複数の局所領域のうちの該サンプリング点の位置に存在する局所領域との接触が生じないようにするために必要な該遊脚の先端部の下限の高さを、該サンプリング点の位置に存在する局所領域の床面情報に基づいて決定する。
【００１９】
上記下限の高さは、その高さよりも低い位置に前記遊脚の先端部が存在すると、いずれかの局所領域の接触可能面に該遊脚の先端部が接触してしまうか、もしくは、その可能性が高いような高さを意味する。
【００２０】
この場合、前記したように各局所領域の床面情報は信頼性に高い情報として得ることができるので、前記水平方向の目標運動軌道上の各サンプリング点の位置での前記下限の高さを適切に決定することができる。
【００２１】
次いで、前記複数のサンプリング点の位置での遊脚の先端部の高さが前記決定された下限の高さ以上となるように、該遊脚の先端部の鉛直方向の目標運動軌道（鉛直方向の目標位置の軌道）が、前記鉛直方向軌道決定手段により決定される。
【００２２】
これにより、ロボットの遊脚の先端部を、前記床面情報が取得された複数の局所領域のうちの適切な接地可能面として信頼性の高い接地可能面を有する局所領域内に着地させ、且つ、該遊脚の先端部の離床動作の開始直前の接地位置から目標着地位置までの水平方向の目標運動軌道及び鉛直方向の目標運動軌道を、該遊脚の先端部と他の脚体や、床面との接触が生じることのないように決定できる。
【００２３】
従って、前記基本構成によれば、種々様々な環境で脚式移動ロボットの移動を行い得るように該ロボットの脚体の運動軌道を生成することができる。
【００２４】
なお、前記基本構成において、前記遊脚の先端部の姿勢の目標運動軌道は、該遊脚の先端部の離床動作の開始直前の接地位置での姿勢から目標着地姿勢まで連続的に変化する（不連続的な変化を生じない）形態であれば、どのような形態であってもよい。この場合、該遊脚の先端部の離床から着床までの全期間もしくは一部の期間で姿勢を一定に保持する形態であってもよい。
【００２５】
同様に、接地状態となる支持脚の先端部の姿勢の目標運動軌道も、該支持脚の先端部の着床動作の直後の接地位置での姿勢から離床動作の開始直前まで離床動作の開始直前の接地位置での姿勢から目標着地姿勢まで連続的に変化する形態であれば、どのような形態であってもよい。
また、第１発明では、前記鉛直方向軌道決定手段は、前記遊脚の先端部の離床動作の開始直前の接地位置と前記目標着地位置との間で前記水平方向の目標運動軌道上に設定された前記各サンプリング点毎に、該サンプリング点と同じ水平方向位置を有し、且つ、該サンプリング点に対応して決定された前記下限の高さよりも所定のオフセット量だけ高い高さ位置を有する点である下限オフセット点を決定する下限オフセット点決定手段を備えており、前記遊脚の先端部の離床動作の開始直前の接地位置から前記目標着地位置までの該遊脚の先端部の鉛直方向の目標運動軌道を、前記下限オフセット点のうちの、前記遊脚の先端部の離床動作の開始直前の接地位置から前記目標着地位置に至る仮想的な直線軌道に対する相対的な高さが最も高い高さとなる下限オフセット点を通り、且つ、各下限オフセット点を内側に包含する凸状軌道となるように決定する。
このため、第１発明によれば、前記遊脚の先端部の離床動作の開始直前の接地位置と前記目標着地位置との間で前記水平方向の目標運動軌道上に設定された各サンプリング点に対応する上記下限オフセット点は、前記下限高さよりも所定のオフセット量だけ高い位置の点である。従って、前記遊脚の先端部の鉛直方向の目標運動軌道を、前記下限オフセット点のうちの、前記遊脚の先端部の離床動作の開始直前の接地位置から前記目標着地位置に至る仮想的な直線軌道に対する相対的な高さが最も高い高さとなる下限オフセット点を通り、且つ、各下限オフセット点を内側に包含する凸状軌道となるように決定することで、各サンプリング点の位置での遊脚の先端部の高さが前記決定された下限の高さ以上となるような鉛直方向の軌道を適切に決定できる。
なお、各下限オフセット点に対応する上記オフセット量は、既定の一定値でもよいが、前記遊脚の先端部の離床動作の開始直前の接地位置及び前記目標着地位置のうちの少なくとも一方と、該下限オフセット点との距離に応じて変化させるようにしてもよい。例えば、該下限オフセット点の水平方向の位置が、前記遊脚の先端部の離床動作の開始直前の接地位置及び前記目標着地位置の両者から遠いほど、オフセット量が大きくなるように該オフセット量を設定するようにしてもよい。
さらに、第１発明では、前記鉛直方向軌道決定手段は、前記鉛直方向の目標運動軌道のうちの前記遊脚の先端部の離床動作の開始直前の接地位置寄りの軌道が、該接地位置から各下限オフセット点に至る直線のうち、前記仮想的な直線軌道に対する傾きの大きさが最大となる直線の軌道となり、且つ、前記鉛直方向の目標運動軌道のうちの前記遊脚の先端部の目標着地位置寄りの軌道が、該目標着地位置から各下限オフセット点に至る直線のうち、前記仮想的な直線軌道に対する傾きの大きさが最大となる直線の軌道となるように前記鉛直方向の目標運動軌道を決定する。
このため、第１発明によれば、前記遊脚の先端部の離床動作の開始直後の鉛直方向軌道と、着地直前の鉛直方向軌道とが、直線状の軌道となるので、該遊脚の先端部の離床動作と着床動作とをスムーズに行い得るように該遊脚の先端部の鉛直方向の目標運動軌道を決定できる。
【００２６】
かかる第１発明では、前記鉛直方向軌道決定手段は、例えば、前記仮想的な直線軌道に対する前記鉛直方向の軌道の相対的な高さのうちの最大の高さが、前記下限オフセット点のうちの前記仮想的な直線軌道に対する相対的な高さが最も高い高さとなる下限オフセット点の当該相対的な高さ以下の高さとなるように前記鉛直方向の目標運動軌道を決定する（第２発明）。
この第２発明によれば、遊脚の先端部の高さが、床面との接触を生じない範囲で極力低くなるように該遊脚の先端部の鉛直方向の目標運動軌道を決定できる。
また、上記第１発明又は第２発明では、前記局所領域は、その内側に前記ロボットの複数の脚体のうちの任意の単一の脚体の先端部を包含し得る面積を有する領域であることが好ましい（第３発明）。
【００２７】
この第３発明によれば、該局所領域の面積を、個々の脚体の先端部を該局所領域の内側に収め得る範囲で最小限の面積に留めることができるので、各局所領域の床面情報の信頼性を高めることができる。
【００２８】
また、上記第１〜第３発明では、前記目標着地位置姿勢設定手段は、前記目標着地位置及び目標着地姿勢を設定する前記局所領域の接地可能面が、該局所領域内に該接地可能面の境界線であるエッジを有する接地可能面である場合に、該接地可能面と前記脚体の先端部との接触面の面積と、該エッジの方向に対する前記脚体の先端部の姿勢とがあらかじめ定められた接地状態条件を少なくとも満たすように、前記目標着地位置を設定することが好ましい（第４発明）。
【００２９】
この第４発明によれば、前記目標着地位置及び目標着地姿勢を設定する前記局所領域の接地可能面が、該局所領域内に該接地可能面の境界線であるエッジを有する接地可能面（例えば、階段や段差部の踏面上の面）である場合に、前記接地状態条件を少なくとも満たすように、前記目標着地位置及び目標着地姿勢を設定するので、前記遊脚の先端部の着地後の接地状態を、その着地後の支持脚（着地前に遊脚であった脚体）の先端部に作用する床反力の調整（ロボットの姿勢の安定性を確保するための調整）を行い易い接地状態にすることができる。ひいては、ロボットを高い安定性で動作させることが容易になる。
【００３０】
上記第４発明では、前記目標着地位置姿勢設定手段は、前記遊脚の先端部の目標着地位置のうちの水平方向位置と、該遊脚の目標着地姿勢のうちの鉛直軸周り方向の姿勢との組み合わせがあらかじめ定められた所定の組み合わせ条件を満たすように前記目標着地位置及び目標着地姿勢を決定するようにしてもよい（第５発明）。
【００３１】
この第５発明によれば、前記遊脚の先端部の目標着地位置のうちの水平方向位置と、該遊脚の目標着地姿勢のうちの鉛直軸周り方向の姿勢との組み合わせを、前記組み合わせ条件によって、前記ロボットの各関節の変位量が該関節の機構的な可動範囲（変位量の可変範囲）を超えないような組み合わせに制限することができる。
【００３２】
なお、上記組み合わせ条件としては、より具体的には、例えば上記水平方向位置が、遊脚の目標着地姿勢のうちの鉛直軸周り方向の姿勢に応じて設定した所定の許容領域（ロボットの各関節の変位量が該関節の機構的な可動範囲を超えないようにするための許容領域）に収まるというような条件を用いることができる。
【００３３】
上記第１〜第５発明では、前記水平方向軌道決定手段は、前記床面情報が取得された複数の局所領域のうち、前記遊脚の先端部の水平方向の目標運動軌道上の位置に存在する局所領域における床面の、前記ロボットの脚体のうちの支持脚の接地面に対する最大の高さが、あらかじめ定めた所定値以下となるように前記水平方向の目標運動軌道を決定することが好ましい（第６発明）。
【００３４】
この第６発明によれば、前記遊脚の先端部の水平方向の目標運動軌道上の位置に、過剰に高い床面が存在しないように該水平方向の軌道を決定することができる。
【００３５】
また、上記第１〜第６発明においては、前記下限高さ決定手段は、前記遊脚の実際の先端部よりも大きいサイズを有するようにあらかじめ定めた仮想的な先端部である仮想遊脚先端部を用い、該仮想遊脚先端部と、該サンプリング点の位置に存在する前記局所領域の床面との接触が生じる該仮想遊脚先端部の最大の高さを求め、その求めた最大の高さにより規定される前記遊脚の先端部の高さを、該サンプリング点での前記下限の高さとして決定するようにしてもよい（第７発明）。
【００３６】
この第７発明によれば、前記遊脚の実際の先端部よりも大きいサイズを有する仮想遊脚先端部を用いて、各サンプリング点での遊脚の先端部の下限の高さを決定するので、各サンプリング点の位置に存在する前記局所領域の床面情報が誤差を有していても、該サンプリング点の位置に存在する局所領域の床面と遊脚との接触が生じないようにするために必要な該遊脚の先端部の下限の高さを適切に決定することができる。
【図面の簡単な説明】
【００４４】
【図１】本発明の一実施形態における脚式移動ロボットの概略構成を示す図。
【図２】図１に示すロボットの動作制御のための構成を示すブロック図。
【図３】図３（ａ），（ｂ）は図２に示す床面情報取得部で取得する床面情報を説明するための図。
【図４】図２に示す歩容生成部の要部処理を示すフローチャート。
【図５】図４のＳＴＥＰ３の処理の詳細を示すフローチャート。
【図６】図５のＳＴＥＰ３−１の処理を説明するための図。
【図７】図７（ａ），（ｂ）は図５のＳＴＥＰ３−５の処理における接地状態条件を説明するための図。
【図８】図５のＳＴＥＰ３−１４の処理で生成する水平方向軌道の例を示す図。
【図９】図４のＳＴＥＰ４の処理の詳細を示すフローチャート。
【図１０】図９のＳＴＥＰ４−４の処理を説明するための図。
【図１１】図１１（ａ）は図９のＳＴＥＰ４−５の処理を説明するための図、図１１（ｂ）は図１１（ａ）のＩ−Ｉ線断面で見た図。。
【図１２】図１２（ａ），（ｂ）は、図９のＳＴＥＰ４−６の処理を説明するための図。
【図１３】図９のＳＴＥＰ４−６に処理において、基準化鉛直方向軌道を決定するための処理を示すフローチャート。
【図１４】図１４（ａ），（ｂ），（ｃ）は図１３のフローチャートの処理によって決定される基準化鉛直方向軌道の例を示す図。
【図１５】図９のＳＴＥＰ４−６に処理において、基準化鉛直方向軌道を決定するための他の手法の処理を示すフローチャート。
【図１６】図１５のフローチャートの処理によって決定される基準化鉛直方向軌道の例を示す図。
【発明を実施するための形態】
【００４５】
本発明の一実施形態を図１〜図１６を参照して以下に説明する。
【００４６】
図１を参照して、本実施形態の脚式移動ロボット１は、２足移動ロボットであり、基体としての上体２から延設された左右一対の脚体（脚リンク）３，３を有する。詳細な図示は省略するが、各脚体３は、その先端部を構成する足平部４と、上体２との間に６個の関節を備える公知のリンク構造のものである。そして、各脚体３の各関節を電動モータ等により構成される関節アクチュエータ１０（図２に示す）により駆動することで、各脚体３の足平部４の６自由度の運動（３軸方向の並進運動及び３軸周りの回転運動）を行なうことが可能となっている。
【００４７】
なお、図１に示す脚式移動ロボット１（以下、単にロボット１という）は、左右一対の腕体５，５や頭部６を備えるロボットとして記載されているが、これらは備えられていなくてもよい。
【００４８】
また、ロボット１の各脚体３は、７自由度以上の自由度数を有するように構成されていてもよい。
【００４９】
図２に示すように、ロボット１には、各関節を駆動する関節アクチュエータ１０の他、ＣＰＵ、ＲＡＭ、ＲＯＭ、インターフェース回路等を含む電子回路ユニットにより構成された制御処理ユニット１１と、ロボット１の動作環境の床面を認識するための床面認識用センサ１２等の各種センサとが搭載されている。
【００５０】
床面認識用センサ１２は、該センサ１２とロボット１の周辺の床面の各部との間の距離を計測可能なセンサであり、例えばステレオカメラあるいはレーザ式測距センサ等により構成される。この床面認識用センサ１２は、本実施形態では、ロボット１の進行方向前方のロボット１寄りの領域を含むロボット１の周辺の所定領域の床面を計測対象とし、センサ１２から計測対象の床面の各部までの距離を計測し得るようにロボット１の上体２の胸部あるいは頭部６等に搭載されている。
【００５１】
制御処理ユニット１１は、実装されるプログラム等により実現される主要な機能として、ロボット１の動作環境の床面において、ロボット１の各脚体３の足平部４を接地させることが可能な接地可能面がどこにどのような姿勢（傾き）で存在するかを認識し得る床面情報を取得する床面情報取得部２１と、ロボット１の目標歩容を生成する歩容生成部２２と、この目標歩容にロボット１の実際の動作を追従させるようにロボット１の各関節の変位量を制御するロボット動作制御部２３とを備える。
【００５２】
なお、ロボット１には、上記床面認識用センサ１２の他、ロボット動作制御部２３によるロボット１の動作制御を行なうために、ロボット１の上体２の実際の姿勢（詳しくは鉛直方向又は水平方向に対する上体２の体幹軸の傾き角）を計測するための傾斜センサ１３、ロボット１の各関節の実際の変位量を計測するための関節変位センサ１４、ロボット１の各足平部４に作用する実際の床反力を計測するための床反力センサ１５も搭載されている。
【００５３】
この場合、傾斜センサ１３は、例えばジャイロセンサ等の角速度センサと加速度センサとから構成される。関節変位センサ１４は、例えばロータリーエンコーダやポテンショメータにより構成される。床反力センサ１５は、例えば６軸力センサにより構成される。
【００５４】
ここで、ロボット１を移動させる場合の制御処理ユニット１１の概略的な処理を以下に説明しておく。
【００５５】
制御処理ユニット１１は、ロボット１の動作制御と並行して、前記床面情報取得部２１の処理を実行し、ロボット１の周辺（主にロボット１の進行方向前方の領域）の床面情報を取得する。この場合、本実施形態では、床面情報取得部２１は、床面認識用センサ１２の計測対象の床面に対して仮想的に配置した複数の局所領域ＡＲ（図１参照）のそれぞれにおける床面情報を、床面認識用センサ１２の計測データを基に決定することで、各局所領域ＡＲの床面情報を観測データとして取得する。そして、床面情報取得部２１は、観測データとして取得した床面情報を、ロボット１の図示しない記憶装置にデータベース状に蓄積して記憶保持する。
【００５６】
さらに、制御処理ユニット１１は、床面情報取得部２１により取得した床面情報を用いて、歩容生成部２２の処理を実行し、ロボット１の移動を行なうための目標歩容を生成する。この目標歩容は、例えば、ロボット１の各脚体３の離床動作（接地している足平部４を床面から空中に移動させる動作）及びこれに続く着床動作（足平部４を空中から床面に着地させる動作）を両脚体３，３で交互に繰り返すことでロボット１を移動させる歩容、例えばロボット１の歩行又は走行を行なわせる歩容である。なお、目標歩容は、ロボット１の一方の脚体３を離床させた状態で、他方の脚体３の離床動作及びこれに続く着床動作を１回もしくは複数回繰り返すような歩容、すなわち、ロボット１の片方の脚体３でホッピングを行なうような歩容であってもよい。あるいは、目標歩容は、ロボット１の横歩きを行うような歩容であってもよい。
【００５７】
本実施形態では、歩容生成部２２が生成する目標歩容は、その構成要素として、ロボット１の各脚体３の足平部４の目標位置及び目標姿勢（以降、これらを総称的に目標足平位置姿勢という）の軌道である目標足平位置姿勢軌道と、ロボット１の上体２の目標位置及び目標姿勢（以降、これらを総称的に目標上体位置姿勢という）の軌道である目標上体位置姿勢軌道と、ＺＭＰ（Zero Moment Poit）の目標位置（以降、目標ＺＭＰという）の軌道である目標ＺＭＰ軌道とを含む。
【００５８】
上記「軌道」は、位置あるいは姿勢の瞬時値の時系列を意味する。また、各足平部４の目標姿勢は、該足平部４の空間的な向きの目標を意味し、各足平部４の目標位置は、該足平部４のあらかじめ定めた任意の代表点の空間的な位置の目標を意味する。このことは、上体２の目標姿勢、目標位置についても同様である。
【００５９】
なお、本実施形態では、各脚体３の足平部４の目標足平位置姿勢軌道が、本発明における各脚体の目標運動軌道に相当するものである。
【００６０】
目標歩容の上記の構成要素は、ロボット座標系（図３（ａ）に示す）での位置又は姿勢の軌道として記述される。
【００６１】
上記ロボット座標系は、ロボット１の１歩分の期間（又は複数歩分の期間）における目標足平位置姿勢軌道等を記述するために、該期間において床面に対して固定して設定されるグローバル座標系（慣性座標系）である。本実施形態では、このロボット座標系は、図３（ａ）に示す如く、ロボット１の両脚体３，３のうちの支持脚（ロボット１の移動中に自重を支える側の脚体３）の足平部４である支持脚足平４supの接地面（もしくはこれを包含する平面）上で該支持脚足平４supの所定の部位の直下位置（例えば支持脚足平４supの踵の直下位置）に原点を有し、且つ、該支持脚足平４supの前後方向の水平軸及び左右方向（横方向）の水平軸をそれぞれＸ軸、Ｙ軸とし、鉛直軸をＺ軸とする３軸直交座標系である。Ｘ軸、Ｙ軸、Ｚ軸は、換言すれば、それぞれロール軸、ピッチ軸、ヨー軸に相当する。
【００６２】
従って、本実施形態におけるロボット座標系は、その原点位置と、Ｘ軸及びＹ軸の向き（Ｚ軸周りの向き）とが、支持脚足平４supが両足平部４，４のうちの一方から他方に切替わる毎に更新されるように設定されるグローバル座標系である。以降の説明では、特にことわらない限り、Ｘ軸、Ｙ軸、Ｚ軸は、このロボット座標系の座標軸を意味するものとする。
【００６３】
ただし、ロボット座標系は、定常的に、あるいはロボット１の複数歩分の移動期間において床面に対して一定の位置及び姿勢に保持されるグローバル座標系であってもよい。
【００６４】
なお、ロボット１が脚体３，３以外に上体２に対して可動な部分を備える場合には、目標歩容には、その可動部分の目標運動軌道も含まれる。例えば、図１に示すロボット１は、上体２に対して可動な腕体５，５を備えるので、歩容生成部２２が生成する目標歩容には、各腕体５の目標姿勢（以降、目標腕姿勢という）の軌道である目標腕姿勢軌道も含まれる。この目標腕姿勢は、本実施形態では、上体２に対する各腕体５の全体の相対的な目標姿勢を意味する。
【００６５】
補足すると、本実施形態のロボット１の各脚体３は６自由度を有するので、各足平部４の目標足平位置姿勢と、目標上体位置姿勢とから、ロボット１の幾何学モデルに基づく幾何学演算（キネマティクス演算）によって、各脚体３の各関節の目標変位量が一義的に決定される。
【００６６】
歩容生成部２２は、本実施形態では、ロボット１の移動動作中に、両脚体３，３のうち、どちらか一方、または両方を着地させてから、次に、一旦離床した脚体３（片脚または両脚）を着地させるまでの期間（１歩分の期間）における目標歩容を単位歩容として、この単位歩容を次々と生成していく。該単位歩容は次回の支持脚となる脚体３が、離床状態から着地する度に、新たに生成される。この場合、将来まで含めた既定の複数歩分の単位歩容が生成される。
【００６７】
ここで、上記単位歩容は、例えば、歩行又は走行動作においては、両脚体３，３のうち、片方の脚体３を交互に着地させる（支持脚と遊脚とを交互に入れ替える）ため、遊脚足平４swgを着地させて（この遊脚足平４swgを有する脚体３は次に支持脚となる）から次の遊脚足平４swgを着地させるまでの期間の歩容となる。
【００６８】
一方、片脚跳躍動作（片脚ホッピング動作）においては、どちらか片方の脚体３が、着床・離床を繰り返し行う（支持脚が入れ替わらない）ため、単位歩容は、支持脚足平４supを着地させてから次の支持脚足平４supを着地させるまでの期間の歩容となる。
【００６９】
本実施形態では、ロボット１の歩行動作を行なうための目標歩容を生成する場合を想定し、単位歩容は、遊脚足平４swgを着地させて該遊脚足平４swgを有する脚体３が支持脚になった時点を始点とし、もう片方の脚体３である遊脚が離床し、再び着地させる時点を終点とする歩容であるとして、以降の説明を行なう。また、以降、遊脚足平４swgの着地毎に新たに生成しようとする単位歩容を今回歩容ということがある。
【００７０】
なお、上記単位歩容の始端のタイミング（＝１つ前の単位歩容の終端のタイミング）は、一方の脚体３の足平部４が離床状態から着床状態に切替わる着地瞬間のタイミングに限らず、その足平部４の着地後の接地中の任意のタイミングに設定してもよい。さらに、単位歩容の生成は、歩容の切り替わりタイミングによらない任意の時間周期で行ってもよい。
【００７１】
上記単位歩容の生成は概略的には、次のように行なわれる。すなわち、歩容生成部２２は、まず、床面情報取得部２１により取得された床面情報を用いて、ロボット１の移動方向及び移動速度等に関する要求をできるだけ満たし、且つ、ロボット１がつまずいたりすることなく安定に移動できるように、今回歩容の目標足平位置姿勢軌道を規定するパラメータである足平位置姿勢軌道パラメータを決定する。
【００７２】
なお、この場合、今回歩容に続く１つもしくは複数の単位歩容の足平位置姿勢軌道パラメータも暫定的に決定される。これは、今回歩容に続く将来の歩容の収束目標とする仮想的な周期歩容を決定するためである。該周期歩容は、ロボット１の同じパターンの移動動作を周期的に繰り返す歩容である。従って、該周期歩容は、ロボット１が姿勢を崩すことなく、継続的に移動を行なうことが可能な歩容である。
【００７３】
さらに、歩容生成部２２は、両足平部４，４の目標足平位置姿勢軌道に応じて規定される所謂、支持多角形の領域（ＺＭＰの存在可能領域）内で目標ＺＭＰが連続的に滑らかに動いていき、且つ、今回歩容が、将来において、上記仮想的な周期歩容に収束し得る歩容になるように、今回歩容の目標ＺＭＰ軌道を規定するパラメータであるＺＭＰ軌道パラメータを決定する。
【００７４】
なお、支持多角形は、両脚体３，３のうちの一方の脚体３の足平部４だけが接地した状態（片脚支持状態）では、その足平部４の接地面の領域に相当し、両脚体３，３の足平部４，４の両方が接地した状態（両脚支持状態）では、両足平部４，４のそれぞれの接地面を連接した領域に相当する。
【００７５】
そして、歩容生成部２２は、ロボット１のあらかじめ定められた動力学モデルを使用して、目標ＺＭＰ軌道を満足するように（ロボット１の運動によって発生する慣性力とロボット１に作用する重力との合力によって目標ＺＭＰ周りに発生するモーメントの水平軸周り成分（ロボット座標系のＸ軸周り成分及びＹ軸周り成分）がゼロになるように）、今回歩容の目標上体位置姿勢軌道を規定するパラメータである上体位置姿勢軌道パラメータを決定する。
【００７６】
なお、例えば、前記傾斜センサ１３の出力から計測される上体２の実際の傾き角が、上体２の目標姿勢における傾き角に対して偏差を有する場合、あるいは、前記傾斜センサ１３の出力と関節変位センサ１４の出力とからロボット１の幾何学モデルに基づいて推定されるロボット１の全体重心の水平方向位置（ロボット座標系のＸ軸方向及びＹ軸方向の位置）が、ロボット１の目標歩容での全体重心の水平方向位置に対して偏差を有する場合には、上記合力によって目標ＺＭＰ周りに発生するモーメントの水平軸周り成分が、該偏差を低減するように該偏差に応じて決定したモーメントになるように、目標上体位置姿勢軌道を決定するようにしてもよい。
【００７７】
また、歩容生成部２２は、今回歩容における各腕体５の目標腕姿勢軌道を規定するパラメータである腕姿勢軌道パラメータを、例えば、目標足平位置姿勢軌道による各足平部４の運動に応じてヨー軸周り（ロボット座標系のＺ軸周り）に発生する慣性力モーメントを打ち消すように、ロボット１の動力学モデルを用いて決定する。ただし、各腕体５の目標腕姿勢軌道は、上体２に対する各腕体５の全体の相対的な姿勢を（ひいては、各腕体５の各関節の変位量を）一定に保持するような軌道であってもよい。
【００７８】
なお、上記足平位置姿勢軌道パラメータは、該パラメータから、既定の演算処理によって目標足平位置姿勢軌道を決定し得るパラメータであり、例えば、目標足平位置姿勢軌道上の複数の特定の瞬時点での位置及び姿勢等から構成される。このことは、ＺＭＰ軌道パラメータ、上体位置姿勢軌道パラメータ、腕姿勢軌道パラメータについても同様である。以降、これらのパラメータを総称的に歩容パラメータということがある。
【００７９】
制御処理ユニット１１は、さらに、上記の如く歩容生成部２２により決定された歩容パラメータに応じて、ロボット動作制御部２３の処理を実行する。
【００８０】
具体的には、ロボット動作制御部２３は、各腕体５の各関節の目標変位量の瞬時値を、腕姿勢軌道パラメータにより規定される目標腕姿勢軌道から逐次決定する。
【００８１】
また、ロボット動作制御部２３は、各脚体３の各関節の目標変位量の瞬時値を、基本的には、各足平部４の足平位置姿勢軌道パラメータにより規定される目標足平位置姿勢軌道と上体位置姿勢軌道パラメータにより規定される目標上体位置姿勢軌道とから幾何学演算によって逐次決定する。
【００８２】
ただし、本実施形態では、床面情報の誤差や外乱等の影響で、前記傾斜センサ１３の出力から計測される上体２の実際の傾き角が目標上体位置姿勢における目標の傾き角からずれること（あるいはロボット１の全体重心の水平方向位置が、目標歩容における全体重心の水平方向位置からずれること）や、ロボット１の実際のＺＭＰが目標ＺＭＰから乖離することを極力防止するために、接地させる各足平部４の目標足平位置姿勢軌道は歩容生成部２２により決定されたものから適宜修正される。そして、その修正後の目標足平位置姿勢軌道と、目標上体位置姿勢軌道とから、各脚体３の各関節の目標変位量の瞬時値が逐次決定される。
【００８３】
目標足平位置姿勢軌道の修正は、より詳しくは例えば次のように行なわれる。すなわち、傾斜センサ１３の出力から計測される上体２の実際の傾き角と目標上体位置姿勢における目標の傾き角との偏差が生じている場合（あるいは、傾斜センサ１３の出力と関節変位センサ１４の出力とからロボット１の幾何学モデルに基づいて推定されるロボット１の全体重心の水平方向位置と、ロボット１の目標歩容での全体重心の水平方向位置との偏差が生じている場合）に、該偏差を低減するために、目標ＺＭＰ周りに付加的に発生させる水平軸周り（ロボット座標系のＸ軸周り及びＹ軸周り）の補償モーメントが該偏差に応じて決定される。
【００８４】
そして、前記床反力センサ１５の出力から計測される目標ＺＭＰ周りの実際のモーメントの水平軸周り成分を補償モーメントに近づけるように、所謂コンプライアンス制御によって、目標足平位置姿勢軌道が修正される。
【００８５】
なお、上体２の実際の傾き角と目標の傾き角との偏差（あるいはロボット１の全体重心の実際の水平方向位置と目標の水平方向位置との偏差）が生じていない場合等、補償モーメントがゼロである場合には、接地している各足平部４の目標足平位置姿勢は、床反力センサ１５の出力から計測される目標ＺＭＰ周りの実際のモーメントの水平軸周り成分を、ゼロ、すなわち、目標ＺＭＰ周りの本来の目標モーメントに近づけるように修正されることとなる。
【００８６】
ロボット動作制御部２３は、上記の如く逐次決定したロボット１の各関節の目標変位量の瞬時値の時系列（すなわち目標変位量の軌道）に、前記関節変位センサ１４の出力から計測される各関節の実際の変位量をフィードバック制御により追従させるように各関節に対応する関節アクチュエータ１０の駆動力を制御する。
【００８７】
以上が、制御処理ユニット１１の制御処理の概要である。かかる制御処理において、床面情報取得部２１の処理と、歩容生成部２２の処理のうちの目標足平位置姿勢軌道の決定処理（足平位置姿勢軌道パラメータの決定処理）とを除く処理は、より具体的には、例えば、本願出願人が特許第３７２６０８１号、あるいは、特許第３６７４７８９号にて詳細に説明した処理と同様に行なわれる。
【００８８】
そこで、以降の本実施形態の説明では、床面情報取得部２１の処理と、歩容生成部２２における目標足平位置姿勢軌道の決定処理とをさらに詳細に説明する。これらの処理が、本願発明に特に関連する処理である。
【００８９】
床面情報取得部２１が取得する床面情報は、本実施形態では、ロボット１の動作環境の床面に対して仮想的に配置される複数の局所領域ＡＲのそれぞれの床面情報である。各局所領域ＡＲは、本実施形態では、図１及び図３（ａ）に示すように円形状の領域である。また、各局所領域ＡＲのサイズ（面積又は直径）は、図３（ａ）に示す如く、ロボット１の任意の１つの脚体３の足平部４の底面の平坦部の全体が局所領域ＡＲの内側に収まり得るようにあらかじめ定められたサイズ（例えば、局所領域ＡＲの直径が各脚体３の足平部４の最大長よりも若干大きい直径となるようなサイズ）に設定されている。
【００９０】
床面情報取得部２１は、上記の如き形状及びサイズを有する局所領域ＡＲを、図１に例示する如く、ロボット１の進行方向前方の領域等、前記床面認識用センサ１２の計測対象の領域の床面上に分布するように（詳しくは、床面を上方から見たときに、互いに隣合う局所領域ＡＲどうしが部分的な重なりをもつように）、仮想的に配置する。そして、床面情報取得部２１は、各局所領域ＡＲ毎の床面情報を求める。
【００９１】
なお、床面に対する複数の局所領域ＡＲの分布のパターンは、マトリクス状の配列等の規則的な分布パターンでもよいが、不規則的な分布パターンであってもよい。また、局所領域ＡＲの形状は、円形状に限らず、四角形、六角形等の多角形状であってもよい。また、床面認識用センサ１２がステレオカメラにより構成されている場合には、該カメラの撮像画像上で各局所領域ＡＲの配置位置を設定するようにしてもよい。
【００９２】
本実施形態では、床面情報取得部２１は、ロボット１の動作中に、床面認識用センサ１２の前記した計測データを基に、床面認識用センサ１２の計測対象の領域に仮想的に配置した各局所領域ＡＲ毎の床面情報を取得する。そして、床面情報取得部２１は、取得した各局所領域ＡＲの床面情報を図示しない記憶装置に記憶保持する。
【００９３】
ここで、床面認識用センサ１２がレーザ測距センサ等により構成される場合、計測データ（測距データ）は、計測対象の床面における距離を計測した部分の方位（センサ１２から見た方位）と、その方位での距離の計測値とから構成され、この計測データによってセンサ１２に対する床面の各部の空間的な位置を認識することが可能となっている。
【００９４】
一方、床面認識用センサ１２がステレオカメラにより構成され、該カメラの撮像画像の輝度値が計測データとして得られている場合、床面情報取得部２１は計測データより距離画像あるいは計測対象である床面の平面パラメータ(ステレオカメラのうちの１つのカメラから床面までの距離と床面の法線ベクトル)を求める処理を行う。距離画像は、ステレオカメラを構成する一方のカメラの撮像画像の各画素位置での距離をステレオカメラ間の視差に基づき求められる。そして、この距離画像によって床面認識用センサ１２に対する床面の各部の空間的な位置が認識される。
【００９５】
また、上記平面パラメータは、計測対象である床面の平面パラメータを利用した射影変換をステレオカメラの２つの画像の所定領域間で行うことで推定される。推定された平面パラメータと各局所領域ＡＲの配置位置とから、床面情報が取得される。
【００９６】
各局所領域ＡＲの床面情報は、ロボット１の各脚体３の足平部４の接地可能面が各局所領域ＡＲに存在するか否かや、該接地可能面の空間的な存在位置、該接地可能面の空間的な姿勢（向き）等を示す複数種類のデータにより構成される。
【００９７】
具体的には、床面情報取得部２１は、各局所領域ＡＲの床面情報として、次のようなデータを取得（決定）する。すなわち、床面情報取得部２１は、各局所領域ＡＲの床面情報を構成するデータの１つとして、該局所領域ＡＲに接地可能面が存在するか否かをそれぞれＯＮ（値“１”）、ＯＦＦ（値“０”）で示す接地可否フラグの値を決定する。この場合、例えば、該局所領域ＡＲ内に、水平面に対する傾きが所定の範囲内となり、且つ、所定の面積以上の平坦面が存在することが、該局所領域ＡＲでの床面認識用センサ１２の計測データに基づいて認識される場合に、該局所領域ＡＲに接地可能面が存在すると判定され、当該平坦面が存在しない場合には、該局所領域ＡＲに接地可能面が存在しないと判定される。なお、当該平坦面は、平面上の部分でよいことはもちろんであるが、曲率が十分に小さいほぼ平坦な面であってもよい。
【００９８】
また、局所領域ＡＲに接地可能面が存在する場合には、該局所領域ＡＲは、接地可能面を包含する平面上の領域とされる。
【００９９】
ここで、局所領域ＡＲが、ロボット１の動作環境に存在する比較的広い平坦な床面上に配置されるような場合には、局所領域ＡＲの全体が接地可能面となる。
【０１００】
一方、局所領域ＡＲが、例えば、図３（ｂ）に示すように段差部となっている床面（例えば階段状の床面）に対して、該局所領域ＡＲが段差部の接地可能面としての平坦な踏面から部分的にはみ出すように配置されたような場合には、この局所領域ＡＲにおける接地可能面は、例えば図３（ａ）に点描を付して示した如き領域となる。この場合、局所領域ＡＲに存在する接地可能面は、該局所領域ＡＲ内で段差部の踏面のエッジに相当する境界線Ｌｅを有することとなる。
【０１０１】
そこで、局所領域ＡＲに接地可能面が存在する場合には、床面情報取得部２１は、上記接地可否フラグに加えて、局所領域ＡＲの代表点としての中心点Ｃaの空間的な位置の座標値（Ｘc，Ｙc，Ｚc）と、接地可能面の空間的な姿勢（＝局所領域ＡＲの空間的な姿勢）を表す傾斜角（thx，thy）と、局所領域ＡＲの半径ｒ（又は直径）と、局所領域ＡＲの中心点Ｃarから該局所領域ＡＲ内での接地可能面の境界線Ｌｅ（エッジ）までの距離Ｄeと、該境界線Ｌｅの傾き角θeとを、該局所領域ＡＲの床面情報を構成するデータとして決定する。
【０１０２】
この場合、局所領域ＡＲの中心点Ｃaの空間的な位置は、該局所領域ＡＲの配置位置に相当しており、その座標値（Ｘc，Ｙc，Ｚc）は、前記ロボット座標系で見た座標値である。
【０１０３】
また、局所領域ＡＲの接地可能面の空間的な姿勢（＝局所領域ＡＲの空間的な姿勢）を表す傾斜角（thx，thy）は、上記ロボット座標系で見た該接地可能面のＸ軸周りの傾斜角thxとＹ軸周りの傾斜角thyとから構成される。
【０１０４】
また、接地可能面の境界線Ｌｅの傾き角θeは、ロボット座標系のＺ軸周りの傾き角である。図示例では、該傾き角θeは、局所領域ＡＲの中心点Ｃaから境界線Ｌｅへの垂線が、ロボット座標系のＸ軸方向に対してなす角度として表される。
【０１０５】
そして、床面情報取得部２１は、局所領域ＡＲの中心点Ｃaの座標値（Ｘc，Ｙc，Ｚc）、傾斜角（thx，thy）、距離Ｄe、及び傾き角θeを、床面認識用センサ１２の計測データに基づいて決定する。
【０１０６】
以上のように決定される各局所領域ＡＲの床面情報の構成データによって、各局所領域ＡＲに接地可能面が存在するか否かや、該局所領域ＡＲに存在する接地可能面及びその境界線Ｌｅの空間的な位置、該接地可能面の空間的な姿勢等が特定されることとなる。
【０１０７】
なお、局所領域ＡＲの全体が接地可能面であるような場合には、例えば上記Ｄeの値が、局所領域ＡＲの半径ｒ以上の大きさの所定値に設定され、あるいは、床面情報の他の構成データとして、境界線Ｌｅが存在しないことを示すフラグの値が設定される。これにより、局所領域ＡＲの全体が接地可能面であるか否かが判るようになっている。この場合、上記θeの値は不要であるが、任意の値に設定してもよい。
【０１０８】
また、局所領域ＡＲに接地可能面が存在しない場合には、該局所領域ＡＲの床面情報を構成するデータとして、前記接地可否フラグに加えて、例えば、該局所領域ＡＲの中心点Ｃaの位置、該局所領域ＡＲ内で最も高い位置に存在する面の位置及び姿勢等を表すデータが設定される。
【０１０９】
以上が、床面情報取得部２１の処理の詳細である。補足すると、複数の局所領域ＡＲを含む計測対象の床面に対する前記床面認識用センサ１２による計測をロボット１の動作中に複数回実行し、各局所領域ＡＲの床面情報を構成するデータの値を適宜更新するようにしてもよい。また、各局所領域ＡＲの床面情報を、床面認識用センサ１２とは別の適宜の計測装置を使用して、ロボット１の動作前に事前に作成しておき、その床面情報をロボット１の記憶装置にあらかじめ記憶保持したり、あるいは、外部のサーバから無線通信などにより随時、ロボット１に与えるようにしてもよい。
【０１１０】
次に、歩容生成部２２により目標足平位置姿勢軌道を決定するための処理を説明する。なお、以降の説明は、理解の便宜上、目標歩容として、例えば、ロボット１の歩行動作を行なう歩容を生成する場合を想定して行なう。
【０１１１】
歩容生成部２２が目標足平位置姿勢軌道を決定する処理は、図４のフローチャートに示すように実行される。まず、ＳＴＥＰ１において、歩容生成部２２は、ロボット１の外部のサーバから適宜与えられる該ロボット１の移動計画、あるいは、ロボット１に事前にティーチングされた移動計画、あるいは、ロボット１の外部の操縦装置から与えられた移動指令等、該ロボット１の移動方向や移動速度に関する要求に基づいて、１歩目からＮ歩目（Ｎ：２以上の既定の整数値）までの各単位歩容の遊脚足平４swgの着地位置姿勢の基本要求値としての基本要求着地位置姿勢と、Ｎ歩目までの各単位歩容の所要時間（該単位歩容の始端から終端までの期間の所要時間）の基本要求値としての基本要求歩容周期とを決定する。なお、本実施形態では、上記整数値Ｎの値は例えば“２”である。
【０１１２】
ここで、本実施形態における遊脚足平４swgの着地位置姿勢というのは、遊脚足平４swgが離床状態から着床状態に移行する着地瞬間からの接地中における該遊脚足平４swgの代表的な位置及び姿勢を意味している。その着地位置姿勢は、本実施形態では、例えば、遊脚足平４swgの底面を着地箇所の床面（接地可能面）と平行な姿勢で該床面に接地させてなる基準姿勢状態での該遊脚足平４swgの位置及び姿勢である。
【０１１３】
このような基準姿勢状態での遊脚足平４swgの着地位置姿勢は、該遊脚足平４swgの着地瞬間における位置及び姿勢と異なっていてもよいことはもちろんであるが、同一であってもよい。
【０１１４】
補足すると、前記ロボット座標系の原点位置及び姿勢（Ｘ軸及びＹ軸の向き）を前記したように支持脚足平４supの位置及び姿勢に対応させて設定する場合、ｎ歩目の単位歩容における遊脚足平４swgの着地位置姿勢（基準姿勢状態での着地位置姿勢）は、ｎ歩目の単位歩容の次の単位歩容（ｎ＋１歩目の単位歩容）における支持脚足平４sup（＝ｎ歩目の単位歩容で着地させた遊脚足平４swg）に対応するロボット座標系の原点位置及び姿勢とを規定するものとなる。
【０１１５】
すなわち、ｎ＋１歩目の単位歩容における支持脚足平４supに対応するロボット座標系は、ｎ歩目の単位歩容における遊脚足平４swgの着地位置姿勢に位置及び姿勢を一致させた支持脚足平４supの所定の部位の直下の床面上に原点を有し、且つ、該支持脚足平４supの前後方向の水平軸及び左右方向の水平軸をそれぞれＸ軸、Ｙ軸とする座標系として規定される。
【０１１６】
従って、各単位歩容における遊脚足平４swgの着地位置姿勢（基準姿勢状態での着地位置姿勢）を決定するということは、その次の単位歩容における支持脚足平４supに対応するロボット座標系の原点位置と姿勢（各座標軸の向き）とを決定することと実質的に等価である。
【０１１７】
ＳＴＥＰ１で決定される上記基本要求着地位置姿勢は、より詳しくは、Ｚ軸方向（鉛直軸方向）で見た遊脚足平４swgの着地位置姿勢である。従って、該基本要求着地位置姿勢は、上記基準姿勢状態で床面に接地させた遊脚足平４swgの水平方向（Ｘ軸方向及びＹ軸方向）の目標位置と、該遊脚足平４swgのＺ軸周りの目標姿勢とから構成される。
【０１１８】
ＳＴＥＰ１では、上記基本要求着地位置姿勢及び基本要求歩容周期は、与えられた要求にできるだけ従うように決定される。例えば、ロボット１のＮ歩目までの各単位歩容の期間もしくはＮ歩目までの全体の期間での平均移動速度が、移動計画等に要求される移動速度に一致し、また、該期間でのロボット１の移動方向が、移動計画等により要求される移動方向に一致するように基本要求着地位置姿勢及び基本要求歩容周期が決定される。
【０１１９】
なお、ロボット１の各単位歩容での歩幅（１歩分の歩幅）や各単位歩容の歩容周期（１歩分の所要時間）に許容限界（上限）を設定しておき、与えられた要求通りに基本要求着地位置姿勢及び基本要求歩容周期を決定すると、Ｎ歩目までの各単位歩容の歩幅又は歩容周期が許容限界を逸脱してしまうような場合には、該許容範囲を満たすように基本要求着地位置姿勢又は基本要求歩容周期を制限してもよい。
【０１２０】
次いで、歩容生成部２２は、ＳＴＥＰ２において、歩数（単位歩容の順番）を表すｎの値を“１”に初期化した後、ＳＴＥＰ３の処理を実行する。このＳＴＥＰ３では、歩容生成部２２は、ｎ歩目の遊脚足平４swgの目標着地位置姿勢と目標歩容周期とを決定する。この処理の詳細は後述する。
【０１２１】
次いで、歩容生成部２２は、ＳＴＥＰ４において、ｎ歩目の単位歩容の目標足平位置姿勢軌道を規定するパラメータである目標足平位置姿勢軌道パラメータを決定する。この処理の詳細も後述する。
【０１２２】
次いで、歩容生成部２２は、ＳＴＥＰ５においてｎの値を“１”だけ増加させた後、ｎ＞Ｎであるか否かをＳＴＥＰ６で判断する。そして、ＳＴＥＰ６の判断結果が否定的である場合（ｎ≦Ｎである場合）には、歩容生成部２２は、新たなｎ歩目の単位歩容に関するＳＴＥＰ３，４の処理を実行し、さらにＳＴＥＰ５，６の処理を順次実行する。
【０１２３】
そして、最終的にＳＴＥＰ６の判断結果が肯定的となった場合、すなわち、Ｎ歩目までの各単位歩容に対応するＳＴＥＰ３，４の処理が終了すると、図４のフローチャートの処理が終了する。これにより、１歩目からＮ歩目までの各単位歩容における目標足平位置姿勢軌道パラメータが順番に決定される。
【０１２４】
上記ＳＴＥＰ３の処理は、図５のフローチャートに示すように実行される。以下、説明すると、歩容生成部２２は、まず、ＳＴＥＰ３−１の処理を実行する。このＳＴＥＰ３−１では、歩容生成部２２は、床面情報取得部２１で既に床面情報が取得された複数の局所領域ＡＲから、ｎ歩目の単位歩容での遊脚足平４swgを着地させるべき領域の候補である着地候補領域ＡＲａを抽出する。
【０１２５】
ここで、本実施形態では、各単位歩容での遊脚足平４swgの目標着地位置姿勢を決定する場合、複数の局所領域ＡＲから所要の条件を満たし得るように選択した１つの局所領域ＡＲ内で、遊脚足平４swgの目標着地位置姿勢を決定する。ＳＴＥＰ３−１で抽出する着地候補領域ＡＲａは、上記の選択の対象となり得る局所領域ＡＲである。
【０１２６】
かかる着地候補領域ＡＲａは、具体的には、次のように抽出される。すなわち、歩容生成部２２は、局所領域ＡＲのうち、図６に二点鎖線で示す如く設定される着地制限領域Ｒａ内に、中心点Ｃａを有する局所領域ＡＲを着地候補領域ＡＲａとして抽出する。
【０１２７】
上記着地制限領域Ｒａは、本実施形態では、Ｚ軸方向で見た形状が楕円形状となる領域であり、その配置位置は、ｎ歩目の単位歩容での支持脚足平４supに対応するロボット座標系で見た該着地制限領域Ｒａの中心点Ｐａの水平方向位置（Ｘ軸方向及びＹ軸方向の位置）が既定の位置になるように決定される。例えば、ｎ歩目の単位歩容での支持脚足平４supに対応するロボット座標系の原点からのＸ軸方向及びＹ軸方向の距離がそれぞれ既定の所定値となる点の位置が、着地制限領域Ｒａの中心点Ｐａの水平方向位置とされる。
【０１２８】
この場合、ｎ歩目の単位歩容での支持脚足平４supがロボット１の右側の脚体３の足平部４である場合には、着地制限領域Ｒａの中心点Ｐａは、支持脚足平４supの左側に設定され、支持脚足平４supが左側の脚体３の足平部４である場合には、着地制限領域Ｒａの中心点Ｐａは、支持脚足平４supの右側に設定される。
【０１２９】
また、着地制限領域Ｒａのサイズ（より詳しくは、ｎ歩目の単位歩容での支持脚足平４supに対応するロボット座標系のＸ軸方向及びＹ軸方向での着地制限領域Ｒａの径）は、既定のサイズとされる。その既定のサイズは、着地制限領域Ｒａ内に中心点Ｃａを有する任意の局所領域ＡＲａ内に遊脚足平４swgを着地させた場合に、両脚体３，３の各関節の変位量を、該関節の機構的な可動範囲内に収めることができるように設定されている。
【０１３０】
ＳＴＥＰ３−１では、床面情報取得部２１により床面情報が取得された複数の局所領域ＡＲから、上記の如く設定される着地制限領域Ｒａ内に中心点Ｃａを有する局所領域ＡＲが、着地候補領域ＡＲａとして抽出される。ただし、この場合、接地可能面を持たない局所領域ＡＲ（前記接地可否フラグがＯＦＦになっている局所領域ＡＲ）と、ｎ歩目の単位歩容の遊脚足平４swgと支持脚足平４supとの干渉が生じるような局所領域ＡＲ（支持脚足平４supと重なり合うような局所領域ＡＲ）とは、着地候補領域ＡＲａから除外される。例えば図６中に実線で示す局所領域ＡＲが着地候補領域ＡＲａとして抽出される。
【０１３１】
この抽出処理によって、例えば図６に実線で示す局所領域ＡＲ等の局所領域ＡＲが着地候補領域ＡＲａとして抽出される一方、破線で示す局所領域ＡＲ等の局所領域ＡＲは、着地候補領域ＡＲａから除外される。なお、図６では、床面情報取得部２１により床面情報を取得した複数の局所領域ＡＲのうちの一部の局所領域ＡＲを代表的に例示している。
【０１３２】
歩容生成部２２は、次に、ＳＴＥＰ３−２の処理を実行する。このＳＴＥＰ３−２では、歩容生成部２２は、抽出した着地候補領域ＡＲａを、その中心点Ｃａと、ｎ歩目の単位歩容での遊脚足平４swgの基本要求着地位置姿勢における該遊脚足平４swgの代表点との間の水平方向の距離が短いものから順番に順位付けするようにソートする。
【０１３３】
以降、このようにソートされた着地候補領域ＡＲａを、ＡＲａ(i)（ｉ＝１，２，……）というように表記する。この場合、着地候補領域ＡＲａ(i)の中心点Ｃａと、ｎ歩目の単位歩容での遊脚足平４swgの基本要求着地位置姿勢における該遊脚足平４swgの代表点との間の水平方向の距離が短いほど、添え字ｉの値（ＡＲａ(i)の順位）が小さいものとする。
【０１３４】
次いで、歩容生成部２２は、注目対象の着地候補領域ＡＲａ(i)の順位の値ｉをＳＴＥＰ３−３で“１”に初期化した後、ＳＴＥＰ３−４〜３−１２の処理を実行する。このＳＴＥＰ３−４〜３−１２の処理は、注目対象の着地候補領域ＡＲａ(i)内で、所要の条件を満たす遊脚足平４swgの目標着地位置姿勢を設定できるか否かを探索的に検証する処理である。
【０１３５】
具体的には、ＳＴＥＰ３−４では、歩容生成部２２は、ｎ歩目の単位歩容での遊脚足平４swgを注目対象の着地候補領域ＡＲａ(i)内に着地させる場合における該遊脚足平４swgのＺ軸周りの着地姿勢（デフォルトの着地姿勢）として、前記ＳＴＥＰ１で決定したｎ歩目の遊脚足平４swgの基本要求着地姿勢（基本要求着地位置姿勢におけるＺ軸周りの姿勢）を暫定的に設定する。
【０１３６】
次いで、ＳＴＥＰ３−５では、歩容生成部２２は、注目対象の着地候補領域ＡＲａ(i)でのｎ歩目の単位歩容の遊脚足平４swgの着地位置姿勢を、所定の接地状態条件を満たすように設定する。
【０１３７】
上記接地状態条件は、設定する着地位置姿勢での遊脚足平４swgの接地面の面積が過小となったり、あるいは、該遊脚足平４swgのＺ軸周りの姿勢が、着地候補領域ＡＲａ(i)の接地可能面の境界線Ｌｅに対して不適切な姿勢となるのを防止するための条件である。
【０１３８】
具体的には、上記接地状態条件は、例えば、設定する着地位置姿勢での遊脚足平４swgの接地面（接地可能面との接触面）の面積が所定値以上となるという条件（以降、第１接地状態条件という）と、設定する着地位置姿勢での遊脚足平４swgの前後方向の水平軸と、注目対象の着地候補領域ＡＲａ(i)の接地可能面の境界線Ｌｅとのなす角度（Ｚ軸周りの角度）が、所定の範囲内になるという条件（以降、第２接地状態条件という）とから構成される。該所定の範囲は、生成しようとする目標歩容における脚体３の運動形態等に応じて決定される。例えば、ロボット１の歩行又は走行を行なう目標歩容を生成する場合には、上記所定の範囲は、９０°近辺の範囲とされる。また、ロボット１の横歩きを行なう目標歩容を生成する場合には、上記所定の範囲は、０°近辺の範囲とされる。なお、上記所定の範囲を、基本要求着地位置姿勢での遊脚足平４swgの前後方向の水平軸と、注目対象の着地候補領域ＡＲａ(i)の接地可能面の境界線Ｌｅとのなす角度の近辺の範囲に設定するようにしてもよい。
【０１３９】
そして、ＳＴＥＰ３−５の処理は、より具体的には、次のように行なわれる。すなわち、歩容生成部２２は、まず、ｎ歩目の単位歩容での遊脚足平４swgの着地位置でのＺ軸周りの着地姿勢を、基本要求着地姿勢に一致させることを前提として、該遊脚足平４swgを注目対象の着地候補領域ＡＲａ(i)内に着地させるように該遊脚足平４swgの着地位置姿勢を暫定的に設定する。
【０１４０】
この場合、暫定的に設定する着地位置姿勢での遊脚足平４swgの水平方向（Ｘ軸方向及びＹ軸方向）の着地位置が、前記基本要求着地位置姿勢での遊脚足平４swgの水平方向の着地位置に極力近い位置となる（例えば前者の着地位置と後者の着地位置との間の水平方向の距離が最短となる）ように、注目対象の着地候補領域ＡＲａ(i)での遊脚足平４swgの着地位置姿勢が暫定的に設定される。
【０１４１】
なお、該遊脚足平４swgのＸ軸周り及びＹ軸周りの着地姿勢と、Ｚ軸方向の着地位置は、注目対象の着地候補領域ＡＲａ(i)の接地可能面に、遊脚足平４swgの底面が該接地可能面と平行な姿勢で接地するように暫定的に設定される。
【０１４２】
この場合、注目対象の着地候補領域ＡＲａ(i)が、その全体が接地可能面となっている領域である場合には、上記の如く暫定的に設定した遊脚足平４swgの着地位置姿勢は、前記接地状態条件（第１接地状態条件及び第２接地状態条件の両方）を満たしているものと見なされる。このため、注目対象の着地候補領域ＡＲａ(i)が、その全体が接地可能面となっている領域である場合には、歩容生成部２２は、上記の如く暫定的に設定した遊脚足平４swgの着地位置姿勢が、接地状態条件を満たす目的の着地位置姿勢であるとして、ＳＴＥＰ３−５の処理を終了する。
【０１４３】
一方、注目対象の着地候補領域ＡＲａ(i)の接地可能面が、境界線Ｌｅを有する場合には、歩容生成部２２は、上記の如く遊脚足平４swgの着地位置姿勢を暫定的に設定した後に、その着地位置姿勢が、前記第１接地状態条件及び第２接地状態条件を満たしているか否かを判断する。
【０１４４】
この場合、第１接地状態条件及び第２接地状態条件の両方を満たすような遊脚足平４swgの着地位置姿勢は、例えば、図７（ａ）に示すような着地位置姿勢である。
【０１４５】
また、第１接地状態条件及び第２接地状態条件の一方、例えば、第１接地状態条件を満たさないような遊脚足平４swgの着地位置姿勢は、例えば、図７（ｂ）に示すような着地位置姿勢である。
【０１４６】
なお、図７（ａ），（ｂ）中の斜線部は、第１接地状態条件を満たすために必要な接地面積を示している。
【０１４７】
そして、歩容生成部２２は、暫定的に設定した着地位置姿勢が、第１接地状態条件及び第２接地状態条件の両方を満たしている場合には、その着地位置姿勢が、接地状態条件を満たす目的の着地位置姿勢であるとして、ＳＴＥＰ３−５の処理を終了する。
【０１４８】
また、暫定的に設定した着地位置姿勢が、前記第１接地状態条件又は第２接地状態条件を満たしてない場合には、歩容生成部２２は、これらの第１接地状態条件及び第２接地状態条件を満たすように遊脚足平４swgの水平方向の着地位置及びＺ軸周りの着地姿勢の一方又は両方を修正する。
【０１４９】
例えば、遊脚足平４swgのＺ軸周りの着地姿勢が、第２接地状態条件を満足しない場合には、歩容生成部２２は、第２接地状態条件を満足し得るＺ軸周りの着地姿勢の範囲内で、基本要求着地位置姿勢におけるＺ軸周りの着地姿勢に極力近い姿勢（例えば最も近い姿勢）になるように、遊脚足平４swgのＺ軸周りの着地姿勢を修正する。
【０１５０】
また、第１接地状態条件を満足しない場合（遊脚足平４swgのＺ軸周りの着地姿勢の修正の結果に第１接地状態条件を満足しなくなった場合を含む）には、歩容生成部２２は、第１接地状態条件を満足し得る水平方向の着地位置の範囲内で、基本要求着地位置姿勢における水平方向の着地位置に極力近い位置（例えば最も近い位置）になるように、遊脚足平４swgの水平方向の着地位置（Ｘ軸方向及びＹ軸方向の一方又は両方の位置）を修正する。
【０１５１】
以上により、注目対象の着地候補領域ＡＲａ(i)内で、接地状態条件を満たす遊脚足平４swgの着地位置姿勢が設定され、ＳＴＥＰ３−５の処理が終了する。
【０１５２】
なお、図５では記載を省略したが、遊脚足平４swgの水平方向の着地位置及びＺ軸周りの着地姿勢の一方又は両方を修正しても、第１接地状態条件及び第２接地状態条件の両方を満たすようにすることができない場合には、歩容生成部２２は、後述するＳＴＥＰ３−１３からの処理を実行する。
【０１５３】
次いで、歩容生成部２２は、ＳＴＥＰ３−６の判断処理を実行する。このＳＴＥＰ３−６では、歩容生成部２２は、ＳＴＥＰ３−５で設定した遊脚足平４swgの着地位置姿勢が所定の高さ・傾斜条件を満たすか否かを判断する。
【０１５４】
上記高さ・傾斜条件は、ｎ歩目の単位歩容での支持脚足平４supに対する遊脚足平４swgの着地位置の相対的な高さ（より詳しくは、ｎ歩目の単位歩容での支持脚足平４supに対応するロボット座標系で見た遊脚足平４swgのＺ軸方向の着地位置）と、ｎ歩目の単位歩容での支持脚足平４supに対する遊脚足平４swgの着地姿勢（水平軸周りの着地姿勢）の相対的な傾斜度合い（より詳しくは、ｎ歩目の単位歩容での支持脚足平４supに対応するロボット座標系で見た遊脚足平４swgのＸ軸周り及びＹ軸周りの着地姿勢）とに応じて、遊脚足平４swgの水平方向の着地位置（ひいては、ｎ歩目の単位歩容での歩幅）の許容範囲を制限することで、各脚体３の各関節の変位量が許容限界を超えてしまうことを防止するための条件である。
【０１５５】
この高さ・傾斜条件は、支持脚足平４supに対する遊脚足平４swgの着地位置の相対的な高さに関する高さ条件と、支持脚足平４supに対する遊脚足平４swgの着地姿勢の相対的な傾斜度合に関する傾斜条件とから構成される。
【０１５６】
上記高さ条件は、ｎ歩目の単位歩容での支持脚足平４supに対応するロボット座標系で見た遊脚足平４swgのＸ軸方向及びＹ軸方向の位置が、上記相対的な高さに応じてそれぞれ設定される所定の許容範囲内の位置となるという条件である。
【０１５７】
また、上記傾斜条件は、ｎ歩目の単位歩容での支持脚足平４supに対応するロボット座標系で見た遊脚足平４swgのＸ軸方向及びＹ軸方向の位置が、上記相対的な傾斜度合い応じてそれぞれ設定される所定の許容範囲内の位置となるという条件である。
【０１５８】
ＳＴＥＰ３−６では、歩容生成部２２は、ＳＴＥＰ３−５で設定したｎ歩目の単位歩容での遊脚足平４swgの着地位置姿勢における水平方向の着地位置が、前記高さ条件に関する許容範囲と、前記傾斜条件に関する許容範囲との収まっているか否かを判断することによって、遊脚足平４swgの設定した着地位置姿勢が高さ・傾斜条件を満たすか否かを判断する。
【０１５９】
この場合、高さ条件に関する許容範囲は、遊脚足平４swgの相対高さに応じて設定され、傾斜条件に関する許容範囲は、遊脚足平４swgの相対的な傾斜度合いに応じて設定される。これらの高さ条件及び傾斜条件に関する許容範囲は、遊脚足平４swgのＸ軸方向及びＹ軸方向の着地位置が、該許容範囲に収まれば、各脚体３の関節の可動範囲内で遊脚足平４swgを着地位置まで動かすことができるように、該遊脚足平４swgの相対高さ、相対的な傾斜度合い応じてあらかじめ定められた範囲である。
【０１６０】
そして、歩容生成部２２は、ＳＴＥＰ３−６の判断結果が否定的である場合（高さ・傾斜条件を満たさない場合）には、ｎ歩目の単位歩容での遊脚足平４swgの着地位置（水平方向の着地位置）を、注目対象の着地候補領域ＡＲａ内で高さ・傾斜条件が満たされるような位置に修正する処理をＳＴＥＰ３−７で実行する。この場合、遊脚足平４swgの着地位置の修正は、修正前の着地位置からの修正量（水平方向の変位量）が極力小さくなる（例えば最小になる）ように行なわれる。
【０１６１】
なお、図５では記載を省略したが、ＳＴＥＰ３−７において、遊脚足平４swgの水平方向の着地位置を修正しても、高さ・傾斜条件を満たすようにすることができない場合には、歩容生成部２２は、後述するＳＴＥＰ３−１３からの処理を実行する。
【０１６２】
歩容生成部２２は、ＳＴＥＰ３−６の判断結果が肯定的である場合（高さ・傾斜条件が満たされている場合）、あるいは、ＳＴＥＰ３−７の処理の実行後に、ＳＴＥＰ３−８の判断処理を次に実行する。
【０１６３】
このＳＴＥＰ３−８では、歩容生成部２２は、現在設定されている遊脚足平４swgの着地位置姿勢が、該遊脚足平４swgの水平方向の着地位置と、Ｚ軸方向周りの着地姿勢との所定の組み合わせ条件を満たすか否かを判断する。
【０１６４】
上記組み合わせ条件は、ｎ歩目の単位歩容での遊脚足平４swgのＺ軸周りの着地姿勢（ｎ歩目の単位歩容での支持脚足平４supに対応するロボット座標系で見たＺ軸周りの着地姿勢）に応じて、遊脚足平４swgの水平方向の着地位置の許容範囲（ＸＹ平面上での許容範囲）を制限することで、各脚体３の各関節の変位量が許容限界を超えてしまうことを防止するための条件である。
【０１６５】
この場合、遊脚足平４swgの水平方向の着地位置の許容範囲は、遊脚足平４swgのＺ軸周りの着地姿勢を入力変数としてマップ化してなるマップデータとしてあらかじめ設定されている。
【０１６６】
そして、ＳＴＥＰ３−８の判断処理では、歩容生成部２２は、遊脚足平４swgの現在設定されているＺ軸周りの着地姿勢（ＳＴＥＰ３−５で設定された着地姿勢）から、遊脚足平４swgの水平方向の着地位置の許容範囲を上記マップデータに基づいて求める。
【０１６７】
さらに、歩容生成部２２は、この許容範囲に、遊脚足平４swgの現在設定されている水平方向の着地位置が収まっているか否かを判断することによって、遊脚足平４swgの現在設定されている着地位置姿勢が上記組み合わせ条件を満たすか否かを判断する。
【０１６８】
次に、歩容生成部２２は、ＳＴＥＰ３−８の判断結果が否定的である場合（組み合せ条件を満たさない場合）には、ｎ歩目の単位歩容での遊脚足平４swgの着地位置（水平方向の着地位置）を、注目対象の着地候補領域ＡＲａ内で上記高さ・傾斜条件と、組み合わせ条件との両方が満たされるような位置に修正する処理をＳＴＥＰ３−９で実行する。この場合、遊脚足平４swgの着地位置の修正は、修正前の着地位置からの修正量（水平方向の変位量）が極力小さくなる（例えば最小になる）ように行なわれる。
【０１６９】
なお、図５では記載を省略したが、ＳＴＥＰ３−９において、遊脚足平４swgの水平方向の着地位置を修正しても、高さ・傾斜条件と組み合わせ条件との両方を満たすようにすることができない場合には、歩容生成部２２は、後述するＳＴＥＰ３−１３からの処理を実行する。
【０１７０】
歩容生成部２２は、ＳＴＥＰ３−８の判断結果が肯定的である場合（高さ・傾斜条件及び組み合わせ条件の両方が満たされている場合）、あるいは、ＳＴＥＰ３−９の処理の実行後に、ＳＴＥＰ３−１０の判断処理を次に実行する。
【０１７１】
ここで、前記ＳＴＥＰ３−７又３−９でｎ歩目の単位歩容での遊脚足平４swgの着地位置を修正した場合、前記接地状態条件が満たされなくなっている可能性がある。
【０１７２】
そこで、ＳＴＥＰ３−１０では、歩容生成部２２は、現在設定されている遊脚足平４swgの着地位置姿勢が、前記接地状態条件を満たすか否かを改めて判断する。
【０１７３】
このＳＴＥＰ３−１０の判断結果が否定的でる場合には、歩容生成部２２は、次に、遊脚足平４swgのＺ軸周りの着地姿勢を、現在設定されている姿勢から修正する処理をＳＴＥＰ３−１１で実行する。
【０１７４】
この修正処理では、歩容生成部２２は、前記第２接地状態条件を満たす範囲で、遊脚足平４swgのＺ軸周りの着地姿勢を、現在設定されている姿勢から所定量だけ修正する。
【０１７５】
次いで、歩容生成部２２は、ＳＴＥＰ３−１２において、遊脚足平４swgのＺ軸周りの着地姿勢の修正が限界であるか否かを判断する。ここで、遊脚足平４swgのＺ軸周りの着地姿勢の修正が限界であるということは、遊脚足平４swgのＺ軸周りの着地姿勢を現在設定されている姿勢から所定量修正すると、前記第２接地状態条件を満たすことができなくなってしまうこと、換言すれば、第２接地状態条件を満たす範囲では、遊脚足平４swgのＺ軸周りの着地姿勢を新たな姿勢に設定することができないことを意味する。
【０１７６】
そして、歩容生成部２２は、ＳＴＥＰ３−１２の判断結果が否定的である場合には、前記ＳＴＥＰ３−５からの処理を再び実行する。なお、この場合のＳＴＥＰ３−５の処理では、前記第２接地状態条件は満たされているので、前記第１接地状態条件が満たされるように、遊脚足平４swgの水平方向の着地位置が設定される。
【０１７７】
また、ＳＴＥＰ３−１２の判断結果が肯定的である場合には、現在の注目対象の着地候補領域ＡＲａ内では、前記接地状態条件、高さ・傾斜条件及び組み合わせ条件の全てを満たすような遊脚足平４swgの着地位置姿勢を設定することができない。そこで、この場合には、歩容生成部２２は、注目対象の着地候補領域ＡＲａ(i)の順位の値ｉをＳＴＥＰ３−１３で“１”だけ増加させた値に設定した後、前記ＳＴＥＰ３−４〜３−１２の処理を改めて実行する。
【０１７８】
以上のようにして、最終的に接地状態条件、高さ・傾斜条件及び組み合わせ条件の全てを満たすような遊脚足平４swgの着地位置姿勢が、ある１つの着地候補領域ＡＲａ(i)内に設定される。そして、この場合、ＳＴＥＰ３−１０の判断結果が肯定的となる。
【０１７９】
この場合、歩容生成部２２は、ＳＴＥＰ３−１０の判断処理の次に、ＳＴＥＰ３−１４の処理を実行する。このＳＴＥＰ３−１４では、歩容生成部２２は、ｎ歩目の単位歩容での遊脚足平４swgの水平方向軌道（鉛直軸方向で見た軌道）を所定の軌道条件を満たすように決定する。
【０１８０】
上記所定の軌道条件は、例えば、ｎ歩目の単位歩容での遊脚足平４swgがｎ歩目の単位歩容での支持脚としての脚体３に干渉しないという第１軌道条件と、該遊脚足平４swgの水平方向軌道の直下に配置された各局所領域ＡＲａ（Ｚ軸方向で見て、当該水平方向軌道と交差する局所領域ＡＲａ）の接地可能面もしくは突起の頂面の最大高さ（詳しくは、ｎ歩目の単位歩容での支持脚足平４supに対応するロボット座標系で見たＺ軸方向の最大高さ）が所定値以下の高さであるという第２軌道条件と、該遊脚足平４swgの水平方向軌道の直下に、床面情報が不明となっている（設定されていない）局所領域ＡＲが存在しないという第３軌道条件とから構成される。
【０１８１】
なお、第３軌道条件については、床面認識用センサ１２の計測データに基づく床面情報が不明となっている局所領域ＡＲのうち、その周辺にある局所領域ＡＲと重なっている領域の大きさが所定の範囲内（例えば局所領域ＡＲの面積の３／４以上)である場合、床面情報が不明となっている局所領域ＡＲの床面情報を、周辺にある局所領域ＡＲの床面情報を用いて補間するようにしても良い。例えば床面情報が不明となっている局所領域ＡＲとの中心間の距離が最も近い周辺の局所領域ＡＲの接地可能面を広げることで、不明の床面情報の補間を行なうようにしてもよい。局所領域ＡＲが仮想的に配置されていない床面領域がある場合も、同様に補間するようにしても良い。
【０１８２】
また、本実施形態では、歩容生成部２２は、ｎ歩目の単位歩容の遊脚足平４swgの離床前の接地位置から設定された着地位置までの、前記第１軌道条件を満たす複数種類の水平方向軌道（軌道の曲率の変化パターン等の形状パターンを規定するパラメータが相互に異なる複数種類の水平方向軌道）を、所定のアルゴリズム（演算処理）によって生成することが可能となっている。その水平方向軌道は、基本的には、図８に太線の矢印で一例を示すように、遊脚足平４swgと支持脚（支持脚足平４supを有する脚体３）との干渉を避けるために、支持脚から離れる側に凸となるような軌道である。
【０１８３】
そして、ＳＴＥＰ３−１４では、歩容生成部２２は、ｎ歩目の単位歩容の遊脚足平４swgの離床前の接地位置から、前記ＳＴＥＰ３−１〜３−１３の処理によって、最終的に設定された該遊脚足平４swgの着地位置までの各種類の水平方向軌道（第１軌道条件を満たす軌道）を所定の順番で順次生成する。
【０１８４】
なお、この場合、ｎ歩目の単位歩容の遊脚足平４swgの離床前の接地位置としては、例えば、ｎ歩目の単位歩容の１つ前の単位歩容での遊脚足平４swgの目標着地位置として先に設定された着地位置が使用される。
【０１８５】
さらに、歩容生成部２２は、各種類の水平方向軌道を生成する都度、前記床面情報取得部２１により取得された床面情報を参照して、該水平方向軌道が前記第２軌道条件及び第３軌道条件を満たすか否かを判断し、その判断結果が肯定的となる場合に、当該水平方向軌道を、所定の軌道条件（第１〜第３軌道条件）を満たす軌道として得る。
【０１８６】
次いで、歩容生成部２２は、上記軌道条件を満たす水平方向軌道が生成されたか否かをＳＴＥＰ３−１５で判断する。
【０１８７】
この判断結果が否定的となる場合、すなわち、ＳＴＥＰ３−１４で生成した全ての種類の水平方向軌道が、第２軌道条件又は第３軌道条件を満たさない場合には、歩容生成部２２は、現在の注目対象の着地候補領域ＡＲａ(i)が所定の軌道条件を満たす上で不適切であるとして、前記ＳＴＥＰ３−１２の判断結果が肯定的となる場合と同様にＳＴＥＰ３−１３の処理（注目対象の着地候補領域ＡＲａ(i)を変更する処理）を実行した後、ＳＴＥＰ３−４からの処理を改めて実行する。
【０１８８】
また、ＳＴＥＰ３−１５の判断結果が肯定的となる場合、すなわち、ＳＴＥＰ３−１４で第１〜第３軌道条件を満たす水平方向軌道が生成された場合には、歩容生成部２２は、次に、ＳＴＥＰ３−１６の処理を実行する。
【０１８９】
このＳＴＥＰ３−１６では、歩容生成部２２は、ｎ歩目の単位歩容での遊脚足平４swgの目標着地位置姿勢を、現在設定されている着地位置姿勢、すなわち、ＳＴＥＰ３−１〜３−１５の処理によって最終的に設定された着地位置姿勢とする。
【０１９０】
これにより、ある１つの着地候補領域ＡＲａ(i)内で、ｎ歩目の単位歩容での遊脚足平４swgの目標着地位置姿勢が、前記接地状態条件、高さ・傾斜条件、組み合わせ条件及び軌道条件が満たされるように決定される。
【０１９１】
さらに、歩容生成部２２は、ＳＴＥＰ３−１７において、ｎ歩目の単位歩容の目標歩容周期を決定する。この場合、前記ＳＴＥＰ１で設定したｎ歩目の単位歩容の基本要求歩容周期が、そのままｎ歩目の単位歩容の目標歩容周期として決定される。
【０１９２】
以上が、前記ＳＴＥＰ３で歩容生成部２２が実行する処理の詳細である。
【０１９３】
次に、前記ＳＴＥＰ４で歩容生成部２２が実行する処理の詳細を説明する。図４のＳＴＥＰ４の処理は、ｎ歩目の単位歩容での支持脚足平４supの目標足平位置姿勢軌道を規定する足平位置姿勢軌道パラメータを決定する処理と、該単位歩容での遊脚足平４swgの目標足平位置姿勢軌道を規定する足平位置姿勢軌道パラメータを決定する処理とに大別される。
【０１９４】
支持脚足平４supの目標足平位置姿勢軌道を規定する足平位置姿勢軌道パラメータを決定する処理は、例えば次のように実行される。すなわち、ｎ歩目の単位歩容の始端（開始時点）での支持脚足平４supの目標足平姿勢は、該単位歩容の１つ前の単位歩容の終端（終了時点）での遊脚足平４swgの姿勢とされる。
【０１９５】
さらに、該支持脚足平４supの目標足平姿勢軌道は、単位歩容の始端での目標姿勢からあらかじめ定められた所定のパターンで連続的に変化する（一定姿勢となる期間がある場合を含む）ような軌道とされる。
【０１９６】
また、単位歩容の始端（開始時点）での支持脚足平４supの目標足平位置は、該単位歩容の１つ前の単位歩容の終端（終了時点）での遊脚足平４swgの位置とされる。
【０１９７】
さらに、該支持脚足平４supの目標足平位置軌道は、単位歩容の始端での目標位置姿勢から、床面に対して滑らせないないように該支持脚足平４supの姿勢を目標姿勢軌道に従って変化させることで規定される足平位置軌道とされる。
【０１９８】
そして、上記のように決定した支持脚足平４supの目標足平位置姿勢軌道を規定するパラメータが該支持脚足平４supの足平位置姿勢軌道パラメータとして決定される。
【０１９９】
一方、遊脚足平４swgの目標足平位置姿勢軌道を規定する足平位置姿勢軌道パラメータを決定する処理は、例えば図９のフローチャートに示すように実行される。以下、説明すると、歩容生成部２２は、まず、ＳＴＥＰ４−１の処理を実行する。
【０２００】
このＳＴＥＰ４−１では、歩容生成部２２は、ｎ歩目の単位歩容での遊脚足平４swgの水平方向軌道を決定する。この場合、前記ＳＴＥＰ３−１４で前記軌道条件を満たすように生成された水平方向軌道がそのままｎ歩目の単位歩容での遊脚足平４swgの水平方向軌道として決定される。
【０２０１】
次いで、歩容生成部２２は、ｎ歩目の単位歩容での遊脚足平４swgの足平位置姿勢軌道のうちの、目標足平姿勢軌道を規定する足平姿勢軌道パラメータを決定する処理をＳＴＥＰ４−２で実行する。
【０２０２】
この場合、ｎ歩目の単位歩容の始端での遊脚足平４swgの目標足平姿勢は、該単位歩容の１つ前の単位歩容の終端での支持脚足平４supの足平姿勢とされる。
【０２０３】
さらに、該遊脚足平４swgの目標足平姿勢軌道は、単位歩容の始端での目標姿勢から該遊脚足平４swgの目標着地姿勢に向ってあらかじめ定められた所定のパターンで連続的に変化する（一定姿勢となる期間がある場合を含む）ような軌道とされる。そして、このような足平姿勢軌道を規定するパタメータが遊脚足平４swgの足平姿勢軌道パラメータとして決定される。
【０２０４】
次いで、歩容生成部２２は、ｎ歩目の単位歩容での遊脚足平４swgの鉛直方向軌道（Ｚ軸方向の軌道）を決定する処理をＳＴＥＰ４−３〜４−７で実行する。
【０２０５】
ＳＴＥＰ４−３では、歩容生成部２２は、ＳＴＥＰ４−１で決定した遊脚足平４swgの水平方向軌道上に、複数のサンプリング点を設定し、その各サンプリング点での遊脚足平４swgの水平方向位置（詳しくは、ｎ歩目の支持脚足平４supに対応するロボット座標系で見たＸ軸方向及びＹ軸方向の位置）と、該遊脚足平４swgの姿勢（詳しくは、ｎ歩目の支持脚足平４supに対応するロボット座標系で見た各座標軸周りの姿勢）とを算出する。
【０２０６】
この場合、上記サンプリング点は、例えば、水平方向軌道上に一定間隔で並ぶように設定される。例えば、図８に例示するように、水平方向軌道上に複数のサンプリング点Ｐｓが設定される。なお、水平方向軌道上に設定されるサンプリング点には、該軌道の始端及び終端の点も含まれる。
【０２０７】
そして、各サンプリング点の水平方向位置が、そのサンプリング点での遊脚足平４swgの水平方向位置として求められる。
【０２０８】
また、前記ＳＴＥＰ４−２で決定した遊脚足平４swgの足平姿勢軌道を基に、各サンプリング点の時刻での遊脚足平４swgの姿勢が求められ、それが、該サンプリング点での遊脚足平４swgの姿勢とされる。
【０２０９】
次いで、ＳＴＥＰ４−４では、歩容生成部２２は、ロボット１の周辺で床面情報取得部２１により仮想的に配置された複数の局所領域ＡＲのうち、遊脚足平４swgの水平方向軌道上の各サンプリング点の位置に存在する局所領域ＡＲｂを抽出する。
【０２１０】
ここで、各サンプリング点の位置に存在する局所領域ＡＲｂというのは、図１０に示す如く、該サンプリング点の位置での遊脚足平４swgを鉛直方向（Ｚ軸方向）で見た場合に、該遊脚足平４swgと重なる部分を有するような局所領域ＡＲである。
【０２１１】
なお、ＳＴＥＰ４−４では、局所領域ＡＲｂは、例えば、遊脚足平４swgを図１０に二点鎖線で示すように仮想的に拡大したサイズの足平４swg_b（以降、仮想拡大遊脚足平４swg_bということがある）と重なる部分を有するような局所領域ＡＲであってもよい。この場合、仮想拡大遊脚足平４swg_bの位置は、遊脚足平４swgの位置に一致するものとされる。また、仮想拡大遊脚足平４swg_bのサイズは、例えば、その前後方向の長さと左右方向の幅とをそれぞれ既定の所定量づつ、遊脚足平４swgよりも拡大したようなサイズとされる。
【０２１２】
あるいは、局所領域ＡＲｂは、例えば、遊脚足平４swg又は仮想拡大遊脚足平４swg_bとの重なり部分の面積が所定値以上となる局所領域ＡＲ（当該面積が微小なものを除いた局所領域ＡＲ）であってもよい。
【０２１３】
次いで、ＳＴＥＰ４−５では、歩容生成部２２は、上記した仮想拡大遊脚足平４swg_bを用いて、サンプリグ点での遊脚足平４swgの高さ（ｎ歩目の単位歩容での支持脚足平４supに対応するロボット座標系で見たＺ軸方向位置）の下限値である下限高さを決定する。なお、ここでの処理の対象とするサンプリング点は、ＳＴＥＰ４−３で設定したサンプリング点のうち、遊脚足平４swgの水平方向軌道の始端及び終端のサンプリング点を除くサンプリング点である。
【０２１４】
上記下限高さは、より詳しくは、遊脚足平４swgの水平方向軌道の始端及び終端のサンプリング点を除く各サンプリング点での仮想拡大遊脚足平４swg_bの水平方向位置と姿勢とをそれぞれ前記ＳＴＥＰ４−３で算出した該サンプリング点の遊脚足平４swgの水平方向位置、その位置での遊脚足平４swgの目標姿勢に一致させた状態で、該仮想拡大遊脚足平４swg_bの鉛直方向位置を変化させた場合に、該サンプリング点に対応して前記ＳＴＥＰ４−４で抽出された局所領域ＡＲｂのうちのいずれかの局所領域ＡＲｂの床面（接地可能面）に該仮想拡大遊脚足平４swg_bが接触することとなる最大の高さの鉛直方向位置（Ｚ軸方向位置）として決定されるものである。
【０２１５】
換言すれば、各サンプリング点での上記下限高さは、そのサンプリング点での仮想拡大遊脚足平４swg_bと床面との接触を回避する上で必要な仮想拡大遊脚足平４swg_bの最低限の高さ（鉛直方向位置）である。この場合、該下限高さは、実際の遊脚足平４swgよりも大きいサイズの仮想拡大遊脚足平４swg_bに対する下限高さであるので、実際の遊脚足平４swgの高さが上記下限高さよりも高ければ、局所領域ＡＲｂの床面情報の誤差が多少あっても、遊脚足平４swgと床面との接触を確実に回避できることとなる。このために、本実施形態では、仮想拡大遊脚足平４swg_bを用いて各サンプリン点での下限高さを決定するようにしている。
【０２１６】
各サンプリング点での下限高さは、より具体的には、例えば次のような手法によって決定される。なお、この手法の説明においては、前記ＳＴＥＰ４−３で設定したサンプリング点のうち、遊脚足平４swgの水平方向軌道の始端及び終端のサンプリング点を除く任意の１つのサンプリング点である第ｍサンプリング点での下限高さを決定する場合を想定する。
【０２１７】
本実施形態では、歩容生成部２２は、第ｍサンプリング点での下限高さを決定する場合、まず、第ｍサンプリング点の位置で抽出された各局所領域ＡＲｂ毎に、その局所領域ＡＲｂの床面に対する仮想拡大遊脚足平４swg_bの接触を回避するための下限高さを決定する。
【０２１８】
このとき、第ｍサンプリング点の位置で抽出された任意の１つの局所領域ＡＲｂ（以降、ここでの説明では便宜上、第ｍx局所領域ＡＲｂという）に対応する下限高さを決定する場合、例えば図１１（ａ）に示すように、第ｍサンプリング点の位置での仮想拡大遊脚足平４swg_bの各角部の点Ｐc1，Ｐc3，Ｐc7，Ｐc9と、外周の各辺の中央の点Ｐc2，Ｐc4，Ｐc6，Ｐc8と、左右方向及び前後方向の中心点Ｐc5とが、仮想拡大遊脚足平４swg_bの代表的な参照点として設定される。
【０２１９】
さらに第ｍx局所領域ＡＲｂの接地可能面がエッジＬｅを有する場合には、図１１（ａ）に示す如く、鉛直方向（Ｚ軸方向）で見たときに、エッジＬｅと仮想拡大遊脚足平４swg_bの周辺とが交差する点Ｐc10，Ｐc12と、これらの点Ｐc10，Ｐc12の間の中点Ｐc11とがさらなる参照点として追加・設定される。
【０２２０】
そして、歩容生成部２２は、仮想拡大遊脚足平４swg_bの水平方向位置と姿勢とをそれぞれ前記ＳＴＥＰ４−２で算出した第ｍサンプリング点での遊脚足平４swgの水平方向位置、姿勢に一致させた状態で、上記参照点Ｐc1〜Ｐc9（又はＰc1〜Ｐc12）のうち、Ｚ軸方向で見たときに第ｍx局所領域ＡＲｂの接地可能面上に位置する参照点（図１１（ａ）に示す例では、Ｐc7〜Ｐc9を除く９個の参照点）のそれぞれを、第ｍx局所領域ＡＲｂの接地可能面に鉛直方向で投影してなる点と合致するように仮想拡大遊脚足平４swg_bを配置した場合における該仮想拡大遊脚足平４swg_bの高さを、第ｍx局所領域ＡＲｂの接地可能面上の各参照点毎に、それぞれ算出する。
【０２２１】
そして、歩容生成部２２は、第ｍx局所領域ＡＲｂに対応して上記の如く算出した仮想拡大遊脚足平４swg_bの高さのうちの最大の高さを該第ｍx局所領域ＡＲｂに対応する下限高さとして求める。例えば、図１１（ａ）に示した例において、第ｍサンプリング点での遊脚足平４swgの水平方向位置及び姿勢（＝仮想拡大遊脚足平４swg_bの水平方向位置及び姿勢）が、第ｍx局所領域ＡＲｂの床面に対して図１１（ｂ）に示すような位置及び姿勢であるとした場合には、仮想拡大遊脚足平４swg_bの参照点Ｐc10を第ｍx局所領域の接地可能面のエッジＬｅ上の点に一致させた場合における該仮想拡大遊脚足平４swg_bの高さが、第ｍx局所領域ＡＲｂに対応する下限高さとして決定される。
【０２２２】
なお、この場合の例では、第ｍx局所領域ＡＲｂの接地可能面は水平面であると共に、そのエッジＬｅが遊脚足平４swgの横方向に対して傾斜しており、また、遊脚足平４swgの姿勢は、水平面に対してＹ軸周り方向（ピッチ方向）にだけ傾斜させた姿勢である場合を想定している。
【０２２３】
歩容生成部２２は、第ｍサンプリング点の位置で抽出された第ｍx局所領域ＡＲｂ以外の各局所領域ＡＲｂについても上記と同様に下限高さを求める。それらの下限高さのうちの最大の高さは、第ｍサンプリング点の位置でのいずれかの局所領域ＡＲｂの床面と仮想拡大遊脚足平４swg_bとの接触が生じ得る最大の高さに相当するものとなる。
【０２２４】
そこで、歩容生成部２２は、第ｍサンプリング点の位置で抽出された各局所領域ＡＲｂに対応して求めた下限高さのうちの最大の高さを、第ｍサンプリング点での遊脚足平４swgの下限高さとして決定する。
【０２２５】
第ｍサンプリング点以外の他のサンプリング点（ただし、水平方向軌道の始端及び終端のサンプリング点を除く）についても、上記と同様に、遊脚足平４swgの下限高さが決定される。
【０２２６】
なお、各サンプリング点での下限高さの決定手法は、上記の手法に限らず、他の手法により決定するようにしてもよい。例えば、参照点を用いずに、空間的な幾何学演算によって、仮想拡大遊脚足平４swg_b（又は遊脚足平４swg）と、各サンプリング点の位置の各局所領域ＡＲｂの床面との接触を生じるような、仮想拡大遊脚足平４swg_b（又は遊脚足平４swg）の最大の高さを求め、その最大の高さ、あるいは、それに若干のオフセット量を加算した値を、該サンプリング点での遊脚足平４swgの下限高さとして決定するようにしてもよい。
【０２２７】
補足すると、遊脚足平４swgの水平方向軌道の始端及び終端のサンプリング点、すなわち、遊脚足平４swgが床面に接地することとなる位置でのサンプリング点においては、本実施形態では、便宜上、ｎ歩目の単位歩容の始端及び終端での遊脚足平４swgの目標着地位置のＺ軸方向位置が、それぞれ、始端のサンプリグ点、終端のサンプリング点での下限高さとして設定される。
【０２２８】
この場合、ｎ歩目の単位歩容の始端での遊脚足平４swgの目標着地位置のＺ軸方向位置（始端のサンプリング点での下限高さ）は、ｎ歩目の単位歩容の１つ前の単位歩容での支持脚足平４supの、当該１つ前の単位歩容の終端でのＺ軸方向位置（ただし、ｎ歩目の単位歩容の支持脚足平４supに対応するロボット座標系で見た場合のＺ軸方向位置）である。
【０２２９】
また、ｎ歩目の単位歩容の終端での遊脚足平４swgの目標着地位置のＺ軸方向位置（終端のサンプリング点での下限高さ）は、ｎ歩目の単位歩容の遊脚足平４swgの目標着地位置姿勢と、該単位歩容の終端での遊脚足平４swgの目標足平姿勢（これは前記ＳＴＥＰ４−２で決定される）とにより規定される該単位歩容の終端での遊脚足平４swgのＺ軸方向位置（ｎ歩目の単位歩容の支持脚足平４supに対応するロボット座標系で見たＺ軸方向位置）である。
【０２３０】
上記したＳＴＥＰ４−５の次のＳＴＥＰ４−６においては、歩容生成部２２は、遊脚足平４swgの水平方向軌道の各サンプリング点（始端及び終端のサンプリング点を除く）での遊脚足平４swgの高さを、ＳＴＥＰ４−５で決定した下限高さよりも高くするように、該遊脚足平４swgの鉛直方向軌道を決定する。
【０２３１】
この処理を概略的に説明すると、歩容生成部２２は、遊脚足平４swgの水平方向軌道の各サンプリング点での下限高さに所定のオフセット量を加えた高さ位置（鉛直方向位置）の点（後述の下限オフセット点）を、各サンプリング点に対応させて決定する。そして、歩容生成部２２は、それらの決定した点を包含するような凸状軌道を遊脚足平４swgの鉛直方向軌道として決定する。
【０２３２】
このように鉛直方向軌道を決定する処理は、具体的には例えば次のように行なわれる。ＳＴＥＰ４−６の処理では、歩容生成部２２は、ｎ歩目の単位歩容での遊脚足平４swgの位置（代表点の位置）の空間的な軌道を、該単位歩容の始端での位置と終端での位置とを通り、且つ、水平面と直交する鉛直姿勢の平面に投影した状態で取り扱う。その投影を行なう平面である投影面は、遊脚足平４swgの水平方向軌道が、例えば図８に示したような軌道である場合、図中に示す直線Ｓを含む鉛直姿勢の平面である。
【０２３３】
そこで、歩容生成部２２は、まず、各サンプリング点での遊脚足平４swgの水平方向位置と、該サンプリング点での下限高さとにより規定される点（以降、下限高さ点という）を、上記投影平面の法線方向で該投影面に投影してなる点（以降、下限高さ投影点という）の該投影面上での位置を算出する。この場合、投影面上での各下限高さ投影点の位置は、各下限高さ点を通って投影面に直交する直線と、該投影面との交点の位置を、該投影面上に設定した２次元座標系での位置として算出することにより決定される。
【０２３４】
例えば図１２（ａ）に示す複数の黒丸の点が、上記の下限高さ投影点を例示的に示している。そして、このような各下限高さ投影点の投影面上での位置（図１２（ａ）に示す水平軸及び鉛直軸から成る座標系で見た水平方向位置及び鉛直方向位置）が算出される。
【０２３５】
なお、図１２（ａ）では、遊脚足平４swgの水平方向軌道上の一部のサンプリング点に対応する下限高さ投影点を代表的に例示している。また、図１２（ａ）に示す床面は、投影面上で見た床面の例である。
【０２３６】
次いで、歩容生成部２２は、遊脚足平４swgの鉛直方向軌道を決定するための演算処理の便宜上、図１２（ａ）に示すように、投影面上で単位歩容（ｎ歩目の単位歩容）の始端に位置する下限高さ投影点と、終端に位置する下限高さ投影点とを結ぶ直線Ｌse（以降、始端・終端間ラインＬseという）を算出する。
【０２３７】
そして、各下限高さ投影点の鉛直方向位置を、該下限高さ投影点の水平方向位置での始端・終端間ラインＬseの高さ位置を基準とする高さ位置（すなわち、始端・終端間ラインＬseの高さに対する相対高さ）に変換してなる点である基準化下限高さ投影点の投影面上での位置（水平方向位置及び鉛直方向位置）を算出する。
【０２３８】
例えば図１２（ａ）に示した例では、図中の白抜き四角の点が基準化下限高さ投影点となり、これらの基準化下限高さ投影点の投影面上での位置が算出される。
【０２３９】
各下限高さ投影点に対応する基準化下限高さ投影点の鉛直方向位置は、該下限高さ投影点の鉛直方向位置から、該下限高さ投影点の水平方向位置での始端・終端間ラインＬseの相対高さ（始端の下限高さ投影点に対する相対高さ）を差し引くことにより算出される。
【０２４０】
例えば、図１２（ａ）において、ａ(k)の水平方向位置での始端・終端間ラインＬseの相対高さは、ｈ(k)である。従って、ａ(k)の水平方向位置での基準化下限高さ投影点の鉛直方向位置は、ａ(k)の水平方向位置の下限高さ投影点の鉛直方向位置から、上記相対高さｈ(k)を差し引いた位置として算出される。
【０２４１】
なお、下限高さ投影点の水平方向位置での始端・終端間ラインＬseの相対高さは、単位歩容の始端での遊脚足平４swgの鉛直方向位置（＝始端での下限高さ）よりも、単位歩容の終端での遊脚足平４swgの鉛直方向位置（＝終端での下限高さ）が高い場合に、正の値とされ、単位歩容の始端での遊脚足平４swgの鉛直方向位置よりも、単位歩容の終端での遊脚足平４swgの鉛直方向位置が低い場合には、負の値とされる。従って、図１２（ａ）に示す例では、上記ｈ(k)は正の値である。
【０２４２】
また、各下限高さ投影点に対応する基準化下限高さ投影点の水平方向位置は、該下限高さ投影点の水平歩行位置と同じである。
【０２４３】
次いで、歩容生成部２２は、上記各基準化下限高さ投影点よりも所定オフセット量だけ高い高さ位置の点である下限オフセット点の投影面上での位置（水平方向位置及び鉛直方向位置）を算出する。
【０２４４】
例えば図１２（ａ）に示した例では、各基準化下限高さ投影点に対応して、図１２（ｂ）に示す白丸の点が下限オフセット点とされ、その下限オフセット点の投影面上での位置が算出される。
【０２４５】
ここで、上記オフセット量は、遊脚足平４swgと床面との干渉を確実に回避するために、該遊脚足平４swgの鉛直方向位置の下限に余裕（マージン）を持たせるためのものである。本実施形態では、各基準化下限高さ投影点に対応するオフセット量は、例えば、該基準化下限高さ投影点の水平方向位置が単位歩容の始端及び終端のそれぞれの基準化下限高さ投影点の位置から遠いほど（始端及び終端のそれぞれの基準化下限高さ投影点からの水平方向の距離が大きいほど）、大きくなるように設定される。また、単位歩容の始端及び終端の水平方向位置では、オフセット量がゼロになるように設定されている。
【０２４６】
この場合、各基準化下限高さ投影点に対応するオフセット量は、例えば単位歩容の始端及び終端のそれぞれの基準化下限高さ投影点と、各基準化下限高さ投影点との間の水平方向距離から、あらかじめ設定されたマップあるいは演算式により設定される。
【０２４７】
そして、各基準化下限高さ投影点に対応する下限オフセット点の鉛直方向位置は、上記の如く設定されたオフセット量（≧０）を、基準化下限高さ投影点の鉛直方向位置に加えることにより決定される。
【０２４８】
例えば、図１２（ｂ）において、ａ(k)の水平方向位置の基準化下限高さ投影点に対応して設定されるオフセット量はｈad(k)である。従って、ａ(k)の水平方向位置での下限オフセット点の鉛直方向位置は、ａ(k)の水平方向位置の基準化下限高さ投影点の鉛直方向位置に、上記オフセット量ｈad(k)を加えた位置として算出される。
【０２４９】
なお、単位歩容の始端及び終端でのオフセット量はゼロであるので、始端位置の下限オフセット点と終端位置の下限オフセット点とは、それぞれ、単位歩容の始端、終端での基準化下限高さ投影点に一致する。
【０２５０】
また、各基準化下限高さ投影点に対応する下限オフセット点の水平方向位置は、該基準化下限高さ投影点の水平方向位置と同じである。
【０２５１】
補足すると、下限高さ投影点から、下限オフセット点の位置を決定するまでの処理の手順は上記の手順に限られるものではない。例えば、下限高さ投影点に対して、上記オフセット量による鉛直方向位置の修正を行なった後に、前記始端・終端間ラインＬseの相対高さによる鉛直方向位置の修正を行なうことで、下限オフセット点の位置を決定するようにしてもよい。
【０２５２】
あるいは、下限高さ投影点に対して、上記オフセット量による鉛直方向位置の修正と始端・終端間ラインＬseの相対高さによる修正とを一括して行なうことで、下限オフセット点の位置を決定するようにしてもよい。
【０２５３】
また、本実施形態では、遊脚足平４swgの鉛直方向の軌道の決定処理の便宜上、前記始端・終端間ラインＬseの相対高さによる鉛直方向位置の修正（高さの基準化）を行なった基準化下限高さ投影点の高さを、前記オフセット量だけ高くした点を下限オフセット点として求めるようにしているが、高さの基準化を行なっていない前記下限高さ投影点の高さを、前記オフセット量だけ高くした点を下限オフセット点として求めるようにしてもよい。
【０２５４】
基準化下限高さ投影点と、下限高さ投影点とは、それらの高さ位置を、前記始端・終端間ラインＬseの相対高さ分だけずらした点として一義的に規定されるので、基準化下限高さ投影点の高さを、前記オフセット量だけ高くした点を下限オフセット点として求めるということは、下限高さ投影点の高さを、前記オフセット量だけ高くした点を下限オフセット点として求めることと実質的に等価である。
【０２５５】
次に、歩容生成部２２は、上記の如く投影面上の位置を決定した下限オフセット点を包含する凸多角形状の軌道である基準化鉛直方向軌道を決定する。この基準化鉛直方向軌道は、各下限オフセット点の水平方向位置での当該軌道上の鉛直方向位置が、該下限オフセット点の鉛直方向位置以上の高さ位置となるように凸多角形状に決定される。例えば、図１２（ｂ）に示した例では、図中に例示する如く基準化鉛直方向軌道が決定される。
【０２５６】
このような基準化鉛直方向軌道を決定する手法は種々様々な手法を採用し得るが、以下にその手法の一例を説明する。
【０２５７】
なお、以下の説明では、単位歩容の始端位置の下限オフセット点を始端位置下限オフセット点Ｑｓ、終端位置の下限オフセット点を終端位置下限オフセット点Ｑｅという。
【０２５８】
基準化鉛直方向軌道は、例えば、図１３のフローチャートで示す処理によって生成される。
【０２５９】
まず、ＳＴＥＰ５１において、歩容生成部２２は、遊脚足平４swgの水平方向軌道の各サンプリング点に対応して前記の如く決定した下限オフセット点うちの、始端位置下限オフセット点Ｑｓと終端位置下限オフセット点Ｑｅとを除く下限オフセット点から、始端側の鉛直方向軌道を規定するために用いる始端側最大傾斜点Ｑasと、終端側の鉛直方向軌道を規定するために用いる終端側最大傾斜点Ｑaeとを決定する。
【０２６０】
ここで、始端側最大傾斜点Ｑasは、Ｑｓ，Ｑｅを除く下限オフセット点のうち、その点と始端位置下限オフセット点Ｑｓとを結ぶ直線の傾きの大きさ（絶対値）が最大となる点である。同様に、終端側最大傾斜点Ｑaeは、Ｑｓ，Ｑｅを除く下限オフセット点のうち、その点と終端位置下限オフセット点Ｑｅとを結ぶ直線の傾きの大きさ（絶対値）が最大となる点である。
【０２６１】
例えば、図１４（ａ），（ｂ），（ｃ）にそれぞれ例示したように下限オフセット点が決定されている場合を想定する。この場合、図１４（ａ）の例ではＱ１の下限オフセット点、図１４（ｂ）の例ではＱ６の下限オフセット点、図１４（ｃ）の例ではＱ１０の下限オフセット点が始端側最大傾斜点Ｑasとして決定される。また、図１４（ａ）の例ではＱ２の下限オフセット点、図１４（ｂ）の例ではＱ７の下限オフセット点、図１４（ｃ）の例ではＱ１０の下限オフセット点が終端側最大傾斜点Ｑaeとして決定される。
【０２６２】
なお、始端位置下限オフセット点Ｑｓと結ぶ直線の傾きの大きさが互いに同一の値で最大となる下限オフセット点が２つ以上有る場合には、それらの下限オフセット点のうち、Ｑｓに最も遠い下限オフセット点が始端側最大傾斜点Ｑasとして決定される。
【０２６３】
同様に、終端位置下限オフセット点Ｑｅと結ぶ直線の傾きの大きさが互いに同一の値で最大となる下限オフセット点が２つ以上有る場合には、それらの下限オフセット点のうち、Ｑｅに最も遠い下限オフセット点が終端側最大傾斜点Ｑaeとして決定される。
【０２６４】
補足すると、下限オフセット点と、始端位置下限オフセット点Ｑｓとを結ぶ直線の上記傾き、並びに、下限オフセット点と、終端位置下限オフセット点Ｑｅとを結ぶ直線の上記傾きというのは、詳しくは、始端位置下限オフセット点Ｑｓ（＝始端での基準化下限高さ投影点）と終端位置下限オフセット点Ｑｅ（＝終端での基準化下限高さ投影点）とを結ぶ直線に対する傾きである。
【０２６５】
従って、各下限オフセット点を、前記下限高さ投影点の高さを前記オフセット量だけ高くした点として決定した場合には、上記傾きは、前記始端・終端間ラインＬseに対する傾きを意味するものとなる。
【０２６６】
次いで、ＳＴＥＰ５２において、歩容生成部２２は、始端側最大傾斜点Ｑasと終端側最大傾斜点Ｑaeとの間（詳しくは、両最大傾斜点Ｑas，Ｑaeの水平方向の間隔内）に、他の下限オフセット点が存在するか否かを判断する。
【０２６７】
そして、この判断結果が否定的である場合には、歩容生成部２２は、ＳＴＥＰ５３で基準化鉛直方向軌道を決定する。このＳＴＥＰ５３では、詳しくは、歩容生成部２２は、始端位置下限オフセット点Ｑｓ、始端側最大傾斜点Ｑas、終端側最大傾斜点Ｑae、終端位置下限オフセット点Ｑｅを順に線分で結んでなる四角形状又は三角形状の凸多角形軌道を基準化鉛直方向軌道として決定する。
【０２６８】
例えば図１４（ｃ）に示す例では、ＳＴＥＰ５２の判断結果が否定的となる。そして、この場合、始端側最大傾斜点Ｑasと終端側最大傾斜点Ｑaeとが同じ点Ｑ１０であるので、ＳＴＥＰ５３においては、図１４（ｃ）に太線で示すように、Ｑｓ，Ｑ１０（＝Ｑas＝Ｑae），Ｑｅを頂点とする三角形状の軌道が、基準化鉛直方向軌道として決定される。
【０２６９】
なお、始端側最大傾斜点Ｑasと終端側最大傾斜点Ｑaeとが異なる場合（両最大傾斜点Ｑas，Ｑaeが、互いに隣合う２つのサンプリング点に対応する点である場合）には、四角形状の軌道が、基準化鉛直方向軌道として決定される。この場合の一例の基準化鉛直方向軌道が、図１２（ｂ）に示したものである。
【０２７０】
上記ＳＴＥＰ５２の判断結果が肯定的である場合には、歩容生成部２２は、ＳＴＥＰ５４において、両最大傾斜点Ｑas，Ｑaeと、これらの両最大傾斜点Ｑas，Ｑaeの間の下限オフセット点とから、その高さ（詳しくは、始端位置下限オフセット点Ｑｓと終端位置下限オフセット点Ｑｅを結ぶ直線に対する相対高さ）が最も高い点である最大高さ点Ｑhmaxを決定する。
【０２７１】
例えば図１４（ａ），（ｂ）に示す例では、ＳＴＥＰ５２の判断結果が肯定的となる。この場合、図１４（ａ）に示す例では、ＳＴＥＰ５４で、Ｑ３の点が最大高さ点Ｑhmaxとして決定される。また、図１４（ｂ）に示す例では、ＳＴＥＰ５４で、Ｑ７（＝Ｑae）の点が、最大高さ点Ｑhmaxとして決定される。
【０２７２】
次いで、歩容生成部２２は、ＳＴＥＰ５５において、最大高さ点Ｑhmaxが、両最大傾斜点Ｑas，Ｑaeのうちのいずれか一方に一致する点であるか否かを判断する。
【０２７３】
この判断結果が否定的である場合には、歩容生成部２２は、ＳＴＥＰ５６において、始端位置下限オフセット点Ｑｓと終端位置下限オフセット点Ｑｅとを結ぶ直線に平行で、最大高さ点Ｑhmaxを通る直線を、基準化鉛直方向軌道の上辺の軌道を規定する上辺直線として決定する。このように決定される上辺直線は、始端側最大傾斜点Ｑas及び終端側最大傾斜点Ｑaeと、これら間の下限オフセット点とのいずれもが、該上辺直線上又はその下側の点となるような直線である。
【０２７４】
次いで、ＳＴＥＰ５７において、歩容生成部２２は、上記上辺直線と、始端位置下限オフセット点Ｑｓ及び始端側最大傾斜点Ｑasの２点を結ぶ直線である始端側最大傾斜直線との交点Ｑbsを求める（Ｑbsの位置を決定する）と共に、上記上辺直線と、終端位置下限オフセット点Ｑｅ及び終端側最大傾斜点Ｑaeの２点を結ぶ直線である終端側最大傾斜直線との交点Ｑbeを求める（Ｑbeの位置を決定する）。
【０２７５】
さらに、歩容生成部２２は、ＳＴＥＰ５８において、始端位置下限オフセット点Ｑｓ、上記交点Ｑbs及びＱbe、終端位置下限オフセット点Ｑｅを順に線分で結んでなる四角形状（ここでは台形状）の凸多角形軌道を基準化鉛直方向軌道として決定する。
【０２７６】
例えば図１４（ａ）に示す例では、ＳＴＥＰ５５の判断結果が否定的となる。この場合、ＳＴＥＰ５６において、Ｌ３の直線が上辺直線として決定される。そして、この上辺直線Ｌ３と、始端側最大傾斜直線としてのＬ１の直線との交点Ｑ４、並びに、上辺直線Ｌ３と、終端側最大傾斜直線としてのＬ２の直線との交点Ｑ５が、それぞれ上記交点Ｑbs，ＱbeとしてＳＴＥＰ５７で求められる。
【０２７７】
そして、ＳＴＥＰ５８において、図中に太線で示すように、Ｑｓ，Ｑ４（＝Ｑbs），Ｑ５（＝Ｑbe），Ｑｅを頂点とする四角形状（台形状）の軌道が基準化鉛直方向軌道として決定される。
【０２７８】
一方、ＳＴＥＰ５５の判断結果が肯定的である場合には、歩容生成部２２は、ＳＴＥＰ５９において、上辺直線を決定する。このＳＴＥＰ５９では、より詳しくは、歩容生成部２２は、始端側最大傾斜点Ｑas及び終端側最大傾斜点Ｑaeと、これら間の下限オフセット点とのうちの前記最大高さ点Ｑhmax（＝Ｑas又はＱae）と、他の点とを結ぶ直線であって、その傾斜の大きさが最も小さい直線を上辺直線として決定する。このように決定される上辺直線は、始端側最大傾斜点Ｑas及び終端側最大傾斜点Ｑaeと、これら間の下限オフセット点とのいずれもが、該上辺直線上又はその下側の点となるような直線である。
【０２７９】
次いで、ＳＴＥＰ６０において、歩容生成部２２は、上記上辺直線と、始端側最大傾斜点Ｑas及び終端側最大傾斜点Ｑaeのうちの最大高さ点Ｑhmaxと異なる点を通る最大傾斜直線（前記始端側最大傾斜直線又は終端側最大傾斜直線）との交点Ｑｃを求める（Ｑｃの位置を決定する）。
【０２８０】
さらに、歩容生成部２２は、ＳＴＥＰ６１において、始端位置下限オフセット点Ｑｓと、上記最大高さ点Ｑhmax及び交点ＱｃのうちのＱｓに近い側の一方の点Ｑhmax又はＱｃと、他方の点Ｑｃ又はＱhmaxと、終端位置下限オフセット点Ｑｅとを順に線分で結んでなる四角形状の凸多角形軌道を基準化鉛直方向軌道として決定する。
【０２８１】
例えば図１４（ｂ）に示す例では、ＳＴＥＰ５５の判断結果が肯定的となる。この場合、ＳＴＥＰ５９において、最大高さ点Ｑhmax（ここではＱhmax＝Ｑae）としてのＱ７の点と、図中のＱ８の点とを結ぶＬ６の直線が上辺直線として決定される。そして、この上辺直線Ｌ６と、最大高さ点Ｑhmaxではない始端側最傾斜点Ｑ６（＝Ｑas）及び始端位置下限オフセット点Ｑｓの２点を結ぶ始端側最大傾斜直線としてのＬ４の直線との交点Ｑ９が上記交点ＱｃとしてＳＴＥＰ６０で求められる。
【０２８２】
そして、この場合、交点Ｑ９が最大高さ点Ｑ７よりも始端位置下限オフセット点Ｑｓに近い。このため、ＳＴＥＰ６１においては、図中に太線で示すように、Ｑｓ，Ｑ９（＝Ｑｃ），Ｑ７（＝Ｑhmax＝Ｑbe），Ｑｅを頂点とする四角形状（台形状）の軌道が基準化鉛直方向軌道として決定される。
【０２８３】
以上が、基準化鉛直方向軌道を決定する手法の一例である。
【０２８４】
ただし、各下限オフセット点を、軌道上又はその内側に包含するような凸多角形状の基準化鉛直方向軌道の決定手法は、上記の手法に限られるものではない。例えば、前記ＳＴＥＰ５５の判断結果が否定的となった場合の基準化鉛直方向軌道は、図１５のフローチャートに示す如き手法によって決定するようにしてもよい。以下説明すると、この例では、ＳＴＥＰ５５の判断結果が否定的である場合に、歩容生成部２２は、ＳＴＥＰ７１において、基準化鉛直方向軌道の上辺直線の候補としての始端側上辺直線候補と、終端側上辺直線候補とを決定する。
【０２８５】
この場合、より詳しくは、始端側最大傾斜点Ｑas及び終端側最大傾斜点Ｑaeと、これら間の下限オフセット点とのうちの最大高さ点Ｑhmaxと、このＱhmaxよりも始端側の他の点とを結ぶ直線であって、その傾斜の大きさが最も小さい直線が始端側上辺直線候補として決定される。
【０２８６】
また、始端側最大傾斜点Ｑas及び終端側最大傾斜点Ｑaeと、これら間の下限オフセット点とのうちの最大高さ点Ｑhmaxと、このＱhmaxよりも終端側の他の点とを結ぶ直線であって、その傾斜の大きさが最も小さい直線が終端側上辺直線候補として決定される。
【０２８７】
例えば前記した図１４（ａ）と下限オフセット点の配置が同じである図１６に示す例を想定する。この場合、前記ＳＴＥＰ５４で最大高さ点Ｑhmaxとして決定されるＱ３の点と、それよりも始端側のＱ１１の点とを結ぶＬ９の直線が、始端側上辺直線候補として決定される。
【０２８８】
また、Ｑ３の点と、それよりも終端側のＱ２の点（ここではＱ２＝Ｑae）とを結ぶＬ１０の直線が、終端側上辺直線候補として決定される。
【０２８９】
次いで、歩容生成部２２は、ＳＴＥＰ７２において、上記の如く決定した始端側上辺直線候補と、前記始端側最大傾斜直線及び終端側最大傾斜直線のそれぞれとの交点Ｑds1，Ｑde1を求めると共に、終端側上辺直線候補と、前記始端側最大傾斜直線及び終端側最大傾斜直線のそれぞれとの交点Ｑds2，Ｑde2を求める。
【０２９０】
例えば図１６に示す例では、始端側上辺直線候補である直線Ｌ９と始端側最大傾斜直線である直線Ｌ１との交点Ｑ１２、並びに、直線Ｌ９と終端側最大傾斜直線である直線Ｌ２との交点Ｑ１３が、それぞれ上記交点Ｑds1，Ｑde1として求められる。
【０２９１】
さらに、終端側上辺直線候補である直線Ｌ１０と直線Ｌ１との交点Ｑ１４、並びに、直線Ｌ１０と直線Ｌ２との交点Ｑ２が、それぞれ上記交点Ｑds2，Ｑde2として求められる。
【０２９２】
次いで、歩容生成部２２は、ＳＴＥＰ７３において、始端側上辺直線候補に対応する上記交点Ｑds1，Ｑde1の組と、終端側上辺直線候補に対応する上記交点Ｑds2，Ｑde2の組のうち、最大高さ（各組毎の点の高さ（詳しくは、始端位置下限オフセット点Ｑｓと終端位置下限オフセット点Ｑｅを結ぶ直線に対する相対高さ）の最大値）が小さい方の組の２点を、基準化鉛直方向軌道を形成する点（基準化鉛直方向軌道上の折れ点）としての軌道形成点Ｑds，Ｑdeとして決定する。
【０２９３】
例えば図１６に示す例では、始端側上辺直線候補に対応する交点Ｑds1，Ｑde1の組の最大高さは、Ｑ１３（＝Ｑde1）の高さ、終端側上辺直線候補に対応する交点Ｑds2，Ｑde2の組の最大高さは、Ｑ１４（＝Ｑds2）の高さであり、前者の最大高さは、後者の最大高さよりも低い。
【０２９４】
従って、この場合には、交点Ｑ１２（＝Ｑds1），Ｑ１３（＝Ｑde1）が、軌道形成点Ｑds，Ｑdeとして決定される。
【０２９５】
そして、歩容生成部２２は、ＳＴＥＰ７４において、始端位置下限オフセット点Ｑｓと、上記軌道形成点Ｑds及びＱdeと、終端位置下限オフセット点Ｑｅとを順に線分で結んでなる四角形状の凸多角形軌道を基準化鉛直方向軌道として決定する。
【０２９６】
例えば図１６に示す例では、Ｑ１２（＝Ｑds1），Ｑ１３（＝Ｑde1）が軌道形成点Ｑds，Ｑdeとして決定されるので、図中に太線で示すように、Ｑｓ，Ｑ１２，Ｑ１３，Ｑｅを頂点とする四角形状（台形状）の軌道が基準化鉛直方向軌道として決定される。
【０２９７】
以上、図１５及び図１６を参照して説明した例では、前記ＳＴＥＰ５５の判断結果が否定的となる場合に決定される基準化鉛直方向軌道の上辺は、一般には、Ｑｓ、Ｑｅを結ぶ直線に対して傾斜した線分となる。
【０２９８】
本実施形態では、歩容生成部２２は、以上説明した如く基準化鉛直方向軌道を決定した後に、この基準化方向軌道を用いて遊脚足平４swgの鉛直方向軌道を決定する。
【０２９９】
この場合、遊脚足平４swgの鉛直方向軌道は、前記投影面上の各水平方向位置（始端位置と終端位置との間の任意の水平方向位置）での遊脚足平４swgの高さ位置（詳しくは、ｎ歩目の支持脚足平４supに対応するロボット座標系で見た鉛直方向（Ｚ軸方向）位置）が、該水平方向位置での基準化鉛直方向軌道の高さ位置に、該水平方向位置での前記始端・終端間ラインＬseの相対高さ（始端位置での高さに対する相対高さ）を加えた高さ位置になる軌道として決定される。
【０３００】
例えば図１２（ａ），（ｂ）に示した例において、図中のａxの水平方向位置での鉛直方向軌道の高さ位置（鉛直方向位置）は、位置ａxでの基準化鉛直方向軌道の高さ位置に、位置ａxでは、始端・終端間ラインＬseの相対高さｈxを加えた高さ位置となる。
【０３０１】
図９のフローチャートの説明に戻って、以上説明した如く、ＳＴＥＰ４−６において遊脚足平４swgの鉛直方向軌道を決定した後、歩容生成部２２は、次にＳＴＥＰ４−７の処理を実行し、遊脚足平４swgの水平方向軌道及び鉛直方向軌道を規定する足平位置軌道パラメータを決定する。
【０３０２】
この場合、水平方向軌道を規定する足平位置軌道パラメータとして、例えば、該水平方向軌道上の複数の点での水平方向位置と時刻（始端での時刻を基準とする時刻）との組、あるいは、該水平方向軌道の形状を近似する関数を指定するパラメータ等が決定される。
【０３０３】
また、鉛直方向軌道を規定する足平位置軌道パラメータとして、例えば、単位歩容の始端及び終端での点を含めて該鉛直方向軌道の各折れ点での鉛直方向位置（Ｚ軸方向位置）及び時刻（始端での時刻を基準とする時刻）との組が決定される。
【０３０４】
以上が、本実施形態において、歩容生成部２２により各足平部４の目標足平位置姿勢軌道を規定する足平位置姿勢軌道パラメータを決定するための処理の詳細である。
【０３０５】
ここで、以上説明した実施形態と本発明との対応関係について補足しておく。
【０３０６】
本実施形態では、制御処理ユニット１１が、本発明の脚体運動軌道生成装置としての機能を有する。そして、この制御処理ユニット１１の床面情報取得部２１によって、本発明における床面情報取得手段が実現される。
【０３０７】
また、制御処理ユニット１１の歩容生成部２２は、本発明における目標着地位置姿勢設定手段、水平方向軌道決定手段、下限高さ決定手段、鉛直方向軌道決定手段、下限オフセット点決定手段としての機能を含んでいる。
【０３０８】
この場合、より詳しくは、前記ＳＴＥＰ３の処理によって、目標着地位置姿勢設定手段が実現され、前記ＳＴＥＰ４−１の処理によって、水平方向軌道決定手段が実現される。なお、ＳＴＥＰ４−１の処理で決定する遊脚足平４swgの水平方向軌道が、本発明における遊脚の先端部の水平方向の目標運動軌道に相当する。
【０３０９】
また、前記ＳＴＥＰ４−３〜４−５の処理によって、下限高さ決定手段が実現され、前記ＳＴＥＰ４−６の処理によって、鉛直方向軌道決定手段が実現される。この場合、ＳＴＥＰ４−６の処理の中で、下限オフセット点を決定する処理によって、本発明における下限オフセット点決定手段が実現される。
【０３１０】
なお、ＳＴＥＰ４−６の処理で決定する遊脚足平４swgの鉛直方向軌道が、本発明における遊脚の先端部の鉛直方向の目標運動軌道に相当する。
【０３１１】
以上説明した実施形態によれば、床面情報取得部２１により取得した局所領域ＡＲ毎の床面情報を用い、遊脚足平４swgの目標着地位置及び目標着地姿勢を、前記接地状態条件、高さ・傾斜条件、組み合わせ条件、及び軌道条件を満たすように前記１つの局所領域ＡＲ内で決定するようにしたので、ロボット１を移動させる床面が、種々様々の高さ、傾きを有する形状のものであっても、ロボット１の各関節の変位量が可動範囲に収まるようにしつつ、該遊脚足平４swgの着地後の接地状態を安定に確保でき、また、該遊脚足平４swgの軌道途中に過剰な高さの床面を有する局所領域ＡＲや床面情報の不明な局所領域ＡＲが存在することのないように、遊脚足平４swgの目標着地位置及び目標着地姿勢を決定できる。
【０３１２】
そして、単位歩容における遊脚足平４swgの水平方向軌道上の各サンプリング毎に、その水平方向位置での前記下限高さを決定し、この下限高さにオフセット量を加えた高さ位置の点である下限オフセット点を包含する凸状軌道となるように遊脚足平４swgの鉛直方向軌道を決定したので、その軌道途中の床面形状によらずに、遊脚足平４swgと床面と接触を確実に回避し得る鉛直方向軌道を決定できる。
【０３１３】
従って、本実施形態によれば、種々様々な形状の床面上で、ロボット１の移動を行なうことができるように、目標足平位置姿勢軌道を生成することができることとなる。
【０３１４】
補足すると、本実施形態においては、Ｎ歩目までの単位歩容の目標足平位置姿勢軌道を決定した後に、それらの目標足平位置姿勢軌道を用いて、前記特許第３７２６０８１号、あるいは、特許第３６７４７８９号に示されているように今回歩容に続く前記仮想的な周期歩容（定常歩容）が決定される。そして、この周期歩容を将来の収束目標として、目標ＺＭＰ軌道が基準の軌道から修正され、その目標ＺＭＰ軌道を満足するように（ロボット１の運動によって発生する慣性力とロボット１に作用する重力との合力が目標ＺＭＰ周りに発生するモーメントの水平軸周り成分がゼロになるように）、今回歩容の目標上体位置姿勢軌道が動力学モデルを用いて決定される。
【０３１５】
この場合、周期歩容における目標足平位置姿勢軌道によっては、該周期歩容を将来の収束目標として、目標ＺＭＰ軌道を修正したときに、該目標ＺＭＰ軌道が、支持多角形内の許容領域から逸脱してしまう場合もある。
【０３１６】
そのような場合には、前記ＳＴＥＰ１における基本要求着地位置姿勢を修正した上で、改めて前記ＳＴＥＰ２からの処理を実行し、ｎ歩目まで単位歩容の各足平部４の目標足平位置姿勢軌道を決定するようにすればよい。
【０３１７】
なお、以上説明した実施形態では、下限高さ投影点から基準化下限高さ投影点を決定した上で、遊脚足平４swgの鉛直方向軌道を決定するようにしたが、基準化下限高さ投影点を決定する処理を省略して、遊脚足平４swgの鉛直方向軌道を決定するようにしてもよい。その場合には、前記下限高さ投影点の高さを前記オフセット量だけ高くした点を下限フセット点として決定した上で、前記基準化鉛直方向軌道を決定する前記の処理と同じ処理によって決定される軌道を、そのまま遊脚足平４swgの鉛直方向軌道として決定すればよい。
【０３１８】
なお、この場合においては、始端位置下限オフセット点Ｑｓと終端位置下限オフセット点Ｑｅとは、それぞれ、単位歩容の始端での下限高さ投影点（＝始端での遊脚足平４swgの位置の点）、終端での下限高さ投影点（＝終端での遊脚足平４swgの位置の点）に一致する。そして、それらのＱｓ、Ｑｅを結ぶ直線は、前記始端・終端間ラインＬseに一致する。
【０３１９】
また、前記実施形態では、遊脚足平４swgの鉛直方向軌道を、三角形又は四角形状の軌道としたが、該鉛直方向軌道は、五角形等、より多くの角部を有する凸多角形状の軌道であってもよい。例えば、図１６に示す例で、Ｑｓ、Ｑ１２、Ｑ３、Ｑ２、Ｑｅを順に結ぶ五角形状の軌道を基準化鉛直方向軌道として決定し、この軌道の高さを、始端・終端間ラインＬseの相対高さだけ修正してなる軌道を、遊脚足平４swgの鉛直方向軌道として決定するようにしてもよい。
【０３２０】
さらには、例えば、始端側最大傾斜点と終端側最大傾斜点との間の鉛直方向軌道を凸曲線状の軌道に決定してもよい。
【０３２１】
また、前記実施形態では、２つの脚体３，３を有する２足移動ロボットを例にとって説明したが、本発明の脚式移動ロボットは、３つ以上の脚体を備えるロボットであってもよい。
【０３２２】
また、各脚体３の先端部は、足平状のものに限らず、他の形状に形成されたものであってもよい。
【符号の説明】
【０３２３】
１…２足移動ロボット（脚式移動ロボット）、３…脚体、４…足平部（脚体の先端部）、１１…制御処理ユニット（制御装置）、２２…床面情報取得部（床面情報取得手段）、２３…歩容生成部（目標着地位置姿勢設定手段、水平方向軌道決定手段、下限高さ決定手段、鉛直方向軌道決定手段、下限オフセット点決定手段）。
【図１】
0005945419.tif 000002
【図２】
0005945419.tif 000003
【図３】
0005945419.tif 000004
【図４】
0005945419.tif 000005
【図５】
0005945419.tif 000006
【図６】
0005945419.tif 000007
【図７】
0005945419.tif 000008
【図８】
0005945419.tif 000009
【図９】
0005945419.tif 000010
【図１０】
0005945419.tif 000011
【図１１】
0005945419.tif 000012
【図１２】
0005945419.tif 000013
【図１３】
0005945419.tif 000014
【図１４】
0005945419.tif 000015
【図１５】
0005945419.tif 000016
【図１６】
0005945419.tif 000017