本発明の一実施形態を図1〜図16を参照して以下に説明する。
図1を参照して、本実施形態の脚式移動ロボット1は、2足移動ロボットであり、基体としての上体2から延設された左右一対の脚体(脚リンク)3,3を有する。詳細な図示は省略するが、各脚体3は、その先端部を構成する足平部4と、上体2との間に6個の関節を備える公知のリンク構造のものである。そして、各脚体3の各関節を電動モータ等により構成される関節アクチュエータ10(図2に示す)により駆動することで、各脚体3の足平部4の6自由度の運動(3軸方向の並進運動及び3軸周りの回転運動)を行なうことが可能となっている。
なお、図1に示す脚式移動ロボット1(以下、単にロボット1という)は、左右一対の腕体5,5や頭部6を備えるロボットとして記載されているが、これらは備えられていなくてもよい。
また、ロボット1の各脚体3は、7自由度以上の自由度数を有するように構成されていてもよい。
図2に示すように、ロボット1には、各関節を駆動する関節アクチュエータ10の他、CPU、RAM、ROM、インターフェース回路等を含む電子回路ユニットにより構成された制御処理ユニット11と、ロボット1の動作環境の床面を認識するための床面認識用センサ12等の各種センサとが搭載されている。
床面認識用センサ12は、該センサ12とロボット1の周辺の床面の各部との間の距離を計測可能なセンサであり、例えばステレオカメラあるいはレーザ式測距センサ等により構成される。この床面認識用センサ12は、本実施形態では、ロボット1の進行方向前方のロボット1寄りの領域を含むロボット1の周辺の所定領域の床面を計測対象とし、センサ12から計測対象の床面の各部までの距離を計測し得るようにロボット1の上体2の胸部あるいは頭部6等に搭載されている。
制御処理ユニット11は、実装されるプログラム等により実現される主要な機能として、ロボット1の動作環境の床面において、ロボット1の各脚体3の足平部4を接地させることが可能な接地可能面がどこにどのような姿勢(傾き)で存在するかを認識し得る床面情報を取得する床面情報取得部21と、ロボット1の目標歩容を生成する歩容生成部22と、この目標歩容にロボット1の実際の動作を追従させるようにロボット1の各関節の変位量を制御するロボット動作制御部23とを備える。
なお、ロボット1には、上記床面認識用センサ12の他、ロボット動作制御部23によるロボット1の動作制御を行なうために、ロボット1の上体2の実際の姿勢(詳しくは鉛直方向又は水平方向に対する上体2の体幹軸の傾き角)を計測するための傾斜センサ13、ロボット1の各関節の実際の変位量を計測するための関節変位センサ14、ロボット1の各足平部4に作用する実際の床反力を計測するための床反力センサ15も搭載されている。
この場合、傾斜センサ13は、例えばジャイロセンサ等の角速度センサと加速度センサとから構成される。関節変位センサ14は、例えばロータリーエンコーダやポテンショメータにより構成される。床反力センサ15は、例えば6軸力センサにより構成される。
ここで、ロボット1を移動させる場合の制御処理ユニット11の概略的な処理を以下に説明しておく。
制御処理ユニット11は、ロボット1の動作制御と並行して、前記床面情報取得部21の処理を実行し、ロボット1の周辺(主にロボット1の進行方向前方の領域)の床面情報を取得する。この場合、本実施形態では、床面情報取得部21は、床面認識用センサ12の計測対象の床面に対して仮想的に配置した複数の局所領域AR(図1参照)のそれぞれにおける床面情報を、床面認識用センサ12の計測データを基に決定することで、各局所領域ARの床面情報を観測データとして取得する。そして、床面情報取得部21は、観測データとして取得した床面情報を、ロボット1の図示しない記憶装置にデータベース状に蓄積して記憶保持する。
さらに、制御処理ユニット11は、床面情報取得部21により取得した床面情報を用いて、歩容生成部22の処理を実行し、ロボット1の移動を行なうための目標歩容を生成する。この目標歩容は、例えば、ロボット1の各脚体3の離床動作(接地している足平部4を床面から空中に移動させる動作)及びこれに続く着床動作(足平部4を空中から床面に着地させる動作)を両脚体3,3で交互に繰り返すことでロボット1を移動させる歩容、例えばロボット1の歩行又は走行を行なわせる歩容である。なお、目標歩容は、ロボット1の一方の脚体3を離床させた状態で、他方の脚体3の離床動作及びこれに続く着床動作を1回もしくは複数回繰り返すような歩容、すなわち、ロボット1の片方の脚体3でホッピングを行なうような歩容であってもよい。あるいは、目標歩容は、ロボット1の横歩きを行うような歩容であってもよい。
本実施形態では、歩容生成部22が生成する目標歩容は、その構成要素として、ロボット1の各脚体3の足平部4の目標位置及び目標姿勢(以降、これらを総称的に目標足平位置姿勢という)の軌道である目標足平位置姿勢軌道と、ロボット1の上体2の目標位置及び目標姿勢(以降、これらを総称的に目標上体位置姿勢という)の軌道である目標上体位置姿勢軌道と、ZMP(Zero Moment Poit)の目標位置(以降、目標ZMPという)の軌道である目標ZMP軌道とを含む。
上記「軌道」は、位置あるいは姿勢の瞬時値の時系列を意味する。また、各足平部4の目標姿勢は、該足平部4の空間的な向きの目標を意味し、各足平部4の目標位置は、該足平部4のあらかじめ定めた任意の代表点の空間的な位置の目標を意味する。このことは、上体2の目標姿勢、目標位置についても同様である。
なお、本実施形態では、各脚体3の足平部4の目標足平位置姿勢軌道が、本発明における各脚体の目標運動軌道に相当するものである。
目標歩容の上記の構成要素は、ロボット座標系(図3(a)に示す)での位置又は姿勢の軌道として記述される。
上記ロボット座標系は、ロボット1の1歩分の期間(又は複数歩分の期間)における目標足平位置姿勢軌道等を記述するために、該期間において床面に対して固定して設定されるグローバル座標系(慣性座標系)である。本実施形態では、このロボット座標系は、図3(a)に示す如く、ロボット1の両脚体3,3のうちの支持脚(ロボット1の移動中に自重を支える側の脚体3)の足平部4である支持脚足平4supの接地面(もしくはこれを包含する平面)上で該支持脚足平4supの所定の部位の直下位置(例えば支持脚足平4supの踵の直下位置)に原点を有し、且つ、該支持脚足平4supの前後方向の水平軸及び左右方向(横方向)の水平軸をそれぞれX軸、Y軸とし、鉛直軸をZ軸とする3軸直交座標系である。X軸、Y軸、Z軸は、換言すれば、それぞれロール軸、ピッチ軸、ヨー軸に相当する。
従って、本実施形態におけるロボット座標系は、その原点位置と、X軸及びY軸の向き(Z軸周りの向き)とが、支持脚足平4supが両足平部4,4のうちの一方から他方に切替わる毎に更新されるように設定されるグローバル座標系である。以降の説明では、特にことわらない限り、X軸、Y軸、Z軸は、このロボット座標系の座標軸を意味するものとする。
ただし、ロボット座標系は、定常的に、あるいはロボット1の複数歩分の移動期間において床面に対して一定の位置及び姿勢に保持されるグローバル座標系であってもよい。
なお、ロボット1が脚体3,3以外に上体2に対して可動な部分を備える場合には、目標歩容には、その可動部分の目標運動軌道も含まれる。例えば、図1に示すロボット1は、上体2に対して可動な腕体5,5を備えるので、歩容生成部22が生成する目標歩容には、各腕体5の目標姿勢(以降、目標腕姿勢という)の軌道である目標腕姿勢軌道も含まれる。この目標腕姿勢は、本実施形態では、上体2に対する各腕体5の全体の相対的な目標姿勢を意味する。
補足すると、本実施形態のロボット1の各脚体3は6自由度を有するので、各足平部4の目標足平位置姿勢と、目標上体位置姿勢とから、ロボット1の幾何学モデルに基づく幾何学演算(キネマティクス演算)によって、各脚体3の各関節の目標変位量が一義的に決定される。
歩容生成部22は、本実施形態では、ロボット1の移動動作中に、両脚体3,3のうち、どちらか一方、または両方を着地させてから、次に、一旦離床した脚体3(片脚または両脚)を着地させるまでの期間(1歩分の期間)における目標歩容を単位歩容として、この単位歩容を次々と生成していく。該単位歩容は次回の支持脚となる脚体3が、離床状態から着地する度に、新たに生成される。この場合、将来まで含めた既定の複数歩分の単位歩容が生成される。
ここで、上記単位歩容は、例えば、歩行又は走行動作においては、両脚体3,3のうち、片方の脚体3を交互に着地させる(支持脚と遊脚とを交互に入れ替える)ため、遊脚足平4swgを着地させて(この遊脚足平4swgを有する脚体3は次に支持脚となる)から次の遊脚足平4swgを着地させるまでの期間の歩容となる。
一方、片脚跳躍動作(片脚ホッピング動作)においては、どちらか片方の脚体3が、着床・離床を繰り返し行う(支持脚が入れ替わらない)ため、単位歩容は、支持脚足平4supを着地させてから次の支持脚足平4supを着地させるまでの期間の歩容となる。
本実施形態では、ロボット1の歩行動作を行なうための目標歩容を生成する場合を想定し、単位歩容は、遊脚足平4swgを着地させて該遊脚足平4swgを有する脚体3が支持脚になった時点を始点とし、もう片方の脚体3である遊脚が離床し、再び着地させる時点を終点とする歩容であるとして、以降の説明を行なう。また、以降、遊脚足平4swgの着地毎に新たに生成しようとする単位歩容を今回歩容ということがある。
なお、上記単位歩容の始端のタイミング(=1つ前の単位歩容の終端のタイミング)は、一方の脚体3の足平部4が離床状態から着床状態に切替わる着地瞬間のタイミングに限らず、その足平部4の着地後の接地中の任意のタイミングに設定してもよい。さらに、単位歩容の生成は、歩容の切り替わりタイミングによらない任意の時間周期で行ってもよい。
上記単位歩容の生成は概略的には、次のように行なわれる。すなわち、歩容生成部22は、まず、床面情報取得部21により取得された床面情報を用いて、ロボット1の移動方向及び移動速度等に関する要求をできるだけ満たし、且つ、ロボット1がつまずいたりすることなく安定に移動できるように、今回歩容の目標足平位置姿勢軌道を規定するパラメータである足平位置姿勢軌道パラメータを決定する。
なお、この場合、今回歩容に続く1つもしくは複数の単位歩容の足平位置姿勢軌道パラメータも暫定的に決定される。これは、今回歩容に続く将来の歩容の収束目標とする仮想的な周期歩容を決定するためである。該周期歩容は、ロボット1の同じパターンの移動動作を周期的に繰り返す歩容である。従って、該周期歩容は、ロボット1が姿勢を崩すことなく、継続的に移動を行なうことが可能な歩容である。
さらに、歩容生成部22は、両足平部4,4の目標足平位置姿勢軌道に応じて規定される所謂、支持多角形の領域(ZMPの存在可能領域)内で目標ZMPが連続的に滑らかに動いていき、且つ、今回歩容が、将来において、上記仮想的な周期歩容に収束し得る歩容になるように、今回歩容の目標ZMP軌道を規定するパラメータであるZMP軌道パラメータを決定する。
なお、支持多角形は、両脚体3,3のうちの一方の脚体3の足平部4だけが接地した状態(片脚支持状態)では、その足平部4の接地面の領域に相当し、両脚体3,3の足平部4,4の両方が接地した状態(両脚支持状態)では、両足平部4,4のそれぞれの接地面を連接した領域に相当する。
そして、歩容生成部22は、ロボット1のあらかじめ定められた動力学モデルを使用して、目標ZMP軌道を満足するように(ロボット1の運動によって発生する慣性力とロボット1に作用する重力との合力によって目標ZMP周りに発生するモーメントの水平軸周り成分(ロボット座標系のX軸周り成分及びY軸周り成分)がゼロになるように)、今回歩容の目標上体位置姿勢軌道を規定するパラメータである上体位置姿勢軌道パラメータを決定する。
なお、例えば、前記傾斜センサ13の出力から計測される上体2の実際の傾き角が、上体2の目標姿勢における傾き角に対して偏差を有する場合、あるいは、前記傾斜センサ13の出力と関節変位センサ14の出力とからロボット1の幾何学モデルに基づいて推定されるロボット1の全体重心の水平方向位置(ロボット座標系のX軸方向及びY軸方向の位置)が、ロボット1の目標歩容での全体重心の水平方向位置に対して偏差を有する場合には、上記合力によって目標ZMP周りに発生するモーメントの水平軸周り成分が、該偏差を低減するように該偏差に応じて決定したモーメントになるように、目標上体位置姿勢軌道を決定するようにしてもよい。
また、歩容生成部22は、今回歩容における各腕体5の目標腕姿勢軌道を規定するパラメータである腕姿勢軌道パラメータを、例えば、目標足平位置姿勢軌道による各足平部4の運動に応じてヨー軸周り(ロボット座標系のZ軸周り)に発生する慣性力モーメントを打ち消すように、ロボット1の動力学モデルを用いて決定する。ただし、各腕体5の目標腕姿勢軌道は、上体2に対する各腕体5の全体の相対的な姿勢を(ひいては、各腕体5の各関節の変位量を)一定に保持するような軌道であってもよい。
なお、上記足平位置姿勢軌道パラメータは、該パラメータから、既定の演算処理によって目標足平位置姿勢軌道を決定し得るパラメータであり、例えば、目標足平位置姿勢軌道上の複数の特定の瞬時点での位置及び姿勢等から構成される。このことは、ZMP軌道パラメータ、上体位置姿勢軌道パラメータ、腕姿勢軌道パラメータについても同様である。以降、これらのパラメータを総称的に歩容パラメータということがある。
制御処理ユニット11は、さらに、上記の如く歩容生成部22により決定された歩容パラメータに応じて、ロボット動作制御部23の処理を実行する。
具体的には、ロボット動作制御部23は、各腕体5の各関節の目標変位量の瞬時値を、腕姿勢軌道パラメータにより規定される目標腕姿勢軌道から逐次決定する。
また、ロボット動作制御部23は、各脚体3の各関節の目標変位量の瞬時値を、基本的には、各足平部4の足平位置姿勢軌道パラメータにより規定される目標足平位置姿勢軌道と上体位置姿勢軌道パラメータにより規定される目標上体位置姿勢軌道とから幾何学演算によって逐次決定する。
ただし、本実施形態では、床面情報の誤差や外乱等の影響で、前記傾斜センサ13の出力から計測される上体2の実際の傾き角が目標上体位置姿勢における目標の傾き角からずれること(あるいはロボット1の全体重心の水平方向位置が、目標歩容における全体重心の水平方向位置からずれること)や、ロボット1の実際のZMPが目標ZMPから乖離することを極力防止するために、接地させる各足平部4の目標足平位置姿勢軌道は歩容生成部22により決定されたものから適宜修正される。そして、その修正後の目標足平位置姿勢軌道と、目標上体位置姿勢軌道とから、各脚体3の各関節の目標変位量の瞬時値が逐次決定される。
目標足平位置姿勢軌道の修正は、より詳しくは例えば次のように行なわれる。すなわち、傾斜センサ13の出力から計測される上体2の実際の傾き角と目標上体位置姿勢における目標の傾き角との偏差が生じている場合(あるいは、傾斜センサ13の出力と関節変位センサ14の出力とからロボット1の幾何学モデルに基づいて推定されるロボット1の全体重心の水平方向位置と、ロボット1の目標歩容での全体重心の水平方向位置との偏差が生じている場合)に、該偏差を低減するために、目標ZMP周りに付加的に発生させる水平軸周り(ロボット座標系のX軸周り及びY軸周り)の補償モーメントが該偏差に応じて決定される。
そして、前記床反力センサ15の出力から計測される目標ZMP周りの実際のモーメントの水平軸周り成分を補償モーメントに近づけるように、所謂コンプライアンス制御によって、目標足平位置姿勢軌道が修正される。
なお、上体2の実際の傾き角と目標の傾き角との偏差(あるいはロボット1の全体重心の実際の水平方向位置と目標の水平方向位置との偏差)が生じていない場合等、補償モーメントがゼロである場合には、接地している各足平部4の目標足平位置姿勢は、床反力センサ15の出力から計測される目標ZMP周りの実際のモーメントの水平軸周り成分を、ゼロ、すなわち、目標ZMP周りの本来の目標モーメントに近づけるように修正されることとなる。
ロボット動作制御部23は、上記の如く逐次決定したロボット1の各関節の目標変位量の瞬時値の時系列(すなわち目標変位量の軌道)に、前記関節変位センサ14の出力から計測される各関節の実際の変位量をフィードバック制御により追従させるように各関節に対応する関節アクチュエータ10の駆動力を制御する。
以上が、制御処理ユニット11の制御処理の概要である。かかる制御処理において、床面情報取得部21の処理と、歩容生成部22の処理のうちの目標足平位置姿勢軌道の決定処理(足平位置姿勢軌道パラメータの決定処理)とを除く処理は、より具体的には、例えば、本願出願人が特許第3726081号、あるいは、特許第3674789号にて詳細に説明した処理と同様に行なわれる。
そこで、以降の本実施形態の説明では、床面情報取得部21の処理と、歩容生成部22における目標足平位置姿勢軌道の決定処理とをさらに詳細に説明する。これらの処理が、本願発明に特に関連する処理である。
床面情報取得部21が取得する床面情報は、本実施形態では、ロボット1の動作環境の床面に対して仮想的に配置される複数の局所領域ARのそれぞれの床面情報である。各局所領域ARは、本実施形態では、図1及び図3(a)に示すように円形状の領域である。また、各局所領域ARのサイズ(面積又は直径)は、図3(a)に示す如く、ロボット1の任意の1つの脚体3の足平部4の底面の平坦部の全体が局所領域ARの内側に収まり得るようにあらかじめ定められたサイズ(例えば、局所領域ARの直径が各脚体3の足平部4の最大長よりも若干大きい直径となるようなサイズ)に設定されている。
床面情報取得部21は、上記の如き形状及びサイズを有する局所領域ARを、図1に例示する如く、ロボット1の進行方向前方の領域等、前記床面認識用センサ12の計測対象の領域の床面上に分布するように(詳しくは、床面を上方から見たときに、互いに隣合う局所領域ARどうしが部分的な重なりをもつように)、仮想的に配置する。そして、床面情報取得部21は、各局所領域AR毎の床面情報を求める。
なお、床面に対する複数の局所領域ARの分布のパターンは、マトリクス状の配列等の規則的な分布パターンでもよいが、不規則的な分布パターンであってもよい。また、局所領域ARの形状は、円形状に限らず、四角形、六角形等の多角形状であってもよい。また、床面認識用センサ12がステレオカメラにより構成されている場合には、該カメラの撮像画像上で各局所領域ARの配置位置を設定するようにしてもよい。
本実施形態では、床面情報取得部21は、ロボット1の動作中に、床面認識用センサ12の前記した計測データを基に、床面認識用センサ12の計測対象の領域に仮想的に配置した各局所領域AR毎の床面情報を取得する。そして、床面情報取得部21は、取得した各局所領域ARの床面情報を図示しない記憶装置に記憶保持する。
ここで、床面認識用センサ12がレーザ測距センサ等により構成される場合、計測データ(測距データ)は、計測対象の床面における距離を計測した部分の方位(センサ12から見た方位)と、その方位での距離の計測値とから構成され、この計測データによってセンサ12に対する床面の各部の空間的な位置を認識することが可能となっている。
一方、床面認識用センサ12がステレオカメラにより構成され、該カメラの撮像画像の輝度値が計測データとして得られている場合、床面情報取得部21は計測データより距離画像あるいは計測対象である床面の平面パラメータ(ステレオカメラのうちの1つのカメラから床面までの距離と床面の法線ベクトル)を求める処理を行う。距離画像は、ステレオカメラを構成する一方のカメラの撮像画像の各画素位置での距離をステレオカメラ間の視差に基づき求められる。そして、この距離画像によって床面認識用センサ12に対する床面の各部の空間的な位置が認識される。
また、上記平面パラメータは、計測対象である床面の平面パラメータを利用した射影変換をステレオカメラの2つの画像の所定領域間で行うことで推定される。推定された平面パラメータと各局所領域ARの配置位置とから、床面情報が取得される。
各局所領域ARの床面情報は、ロボット1の各脚体3の足平部4の接地可能面が各局所領域ARに存在するか否かや、該接地可能面の空間的な存在位置、該接地可能面の空間的な姿勢(向き)等を示す複数種類のデータにより構成される。
具体的には、床面情報取得部21は、各局所領域ARの床面情報として、次のようなデータを取得(決定)する。すなわち、床面情報取得部21は、各局所領域ARの床面情報を構成するデータの1つとして、該局所領域ARに接地可能面が存在するか否かをそれぞれON(値“1”)、OFF(値“0”)で示す接地可否フラグの値を決定する。この場合、例えば、該局所領域AR内に、水平面に対する傾きが所定の範囲内となり、且つ、所定の面積以上の平坦面が存在することが、該局所領域ARでの床面認識用センサ12の計測データに基づいて認識される場合に、該局所領域ARに接地可能面が存在すると判定され、当該平坦面が存在しない場合には、該局所領域ARに接地可能面が存在しないと判定される。なお、当該平坦面は、平面上の部分でよいことはもちろんであるが、曲率が十分に小さいほぼ平坦な面であってもよい。
また、局所領域ARに接地可能面が存在する場合には、該局所領域ARは、接地可能面を包含する平面上の領域とされる。
ここで、局所領域ARが、ロボット1の動作環境に存在する比較的広い平坦な床面上に配置されるような場合には、局所領域ARの全体が接地可能面となる。
一方、局所領域ARが、例えば、図3(b)に示すように段差部となっている床面(例えば階段状の床面)に対して、該局所領域ARが段差部の接地可能面としての平坦な踏面から部分的にはみ出すように配置されたような場合には、この局所領域ARにおける接地可能面は、例えば図3(a)に点描を付して示した如き領域となる。この場合、局所領域ARに存在する接地可能面は、該局所領域AR内で段差部の踏面のエッジに相当する境界線Leを有することとなる。
そこで、局所領域ARに接地可能面が存在する場合には、床面情報取得部21は、上記接地可否フラグに加えて、局所領域ARの代表点としての中心点Caの空間的な位置の座標値(Xc,Yc,Zc)と、接地可能面の空間的な姿勢(=局所領域ARの空間的な姿勢)を表す傾斜角(thx,thy)と、局所領域ARの半径r(又は直径)と、局所領域ARの中心点Carから該局所領域AR内での接地可能面の境界線Le(エッジ)までの距離Deと、該境界線Leの傾き角θeとを、該局所領域ARの床面情報を構成するデータとして決定する。
この場合、局所領域ARの中心点Caの空間的な位置は、該局所領域ARの配置位置に相当しており、その座標値(Xc,Yc,Zc)は、前記ロボット座標系で見た座標値である。
また、局所領域ARの接地可能面の空間的な姿勢(=局所領域ARの空間的な姿勢)を表す傾斜角(thx,thy)は、上記ロボット座標系で見た該接地可能面のX軸周りの傾斜角thxとY軸周りの傾斜角thyとから構成される。
また、接地可能面の境界線Leの傾き角θeは、ロボット座標系のZ軸周りの傾き角である。図示例では、該傾き角θeは、局所領域ARの中心点Caから境界線Leへの垂線が、ロボット座標系のX軸方向に対してなす角度として表される。
そして、床面情報取得部21は、局所領域ARの中心点Caの座標値(Xc,Yc,Zc)、傾斜角(thx,thy)、距離De、及び傾き角θeを、床面認識用センサ12の計測データに基づいて決定する。
以上のように決定される各局所領域ARの床面情報の構成データによって、各局所領域ARに接地可能面が存在するか否かや、該局所領域ARに存在する接地可能面及びその境界線Leの空間的な位置、該接地可能面の空間的な姿勢等が特定されることとなる。
なお、局所領域ARの全体が接地可能面であるような場合には、例えば上記Deの値が、局所領域ARの半径r以上の大きさの所定値に設定され、あるいは、床面情報の他の構成データとして、境界線Leが存在しないことを示すフラグの値が設定される。これにより、局所領域ARの全体が接地可能面であるか否かが判るようになっている。この場合、上記θeの値は不要であるが、任意の値に設定してもよい。
また、局所領域ARに接地可能面が存在しない場合には、該局所領域ARの床面情報を構成するデータとして、前記接地可否フラグに加えて、例えば、該局所領域ARの中心点Caの位置、該局所領域AR内で最も高い位置に存在する面の位置及び姿勢等を表すデータが設定される。
以上が、床面情報取得部21の処理の詳細である。補足すると、複数の局所領域ARを含む計測対象の床面に対する前記床面認識用センサ12による計測をロボット1の動作中に複数回実行し、各局所領域ARの床面情報を構成するデータの値を適宜更新するようにしてもよい。また、各局所領域ARの床面情報を、床面認識用センサ12とは別の適宜の計測装置を使用して、ロボット1の動作前に事前に作成しておき、その床面情報をロボット1の記憶装置にあらかじめ記憶保持したり、あるいは、外部のサーバから無線通信などにより随時、ロボット1に与えるようにしてもよい。
次に、歩容生成部22により目標足平位置姿勢軌道を決定するための処理を説明する。なお、以降の説明は、理解の便宜上、目標歩容として、例えば、ロボット1の歩行動作を行なう歩容を生成する場合を想定して行なう。
歩容生成部22が目標足平位置姿勢軌道を決定する処理は、図4のフローチャートに示すように実行される。まず、STEP1において、歩容生成部22は、ロボット1の外部のサーバから適宜与えられる該ロボット1の移動計画、あるいは、ロボット1に事前にティーチングされた移動計画、あるいは、ロボット1の外部の操縦装置から与えられた移動指令等、該ロボット1の移動方向や移動速度に関する要求に基づいて、1歩目からN歩目(N:2以上の既定の整数値)までの各単位歩容の遊脚足平4swgの着地位置姿勢の基本要求値としての基本要求着地位置姿勢と、N歩目までの各単位歩容の所要時間(該単位歩容の始端から終端までの期間の所要時間)の基本要求値としての基本要求歩容周期とを決定する。なお、本実施形態では、上記整数値Nの値は例えば“2”である。
ここで、本実施形態における遊脚足平4swgの着地位置姿勢というのは、遊脚足平4swgが離床状態から着床状態に移行する着地瞬間からの接地中における該遊脚足平4swgの代表的な位置及び姿勢を意味している。その着地位置姿勢は、本実施形態では、例えば、遊脚足平4swgの底面を着地箇所の床面(接地可能面)と平行な姿勢で該床面に接地させてなる基準姿勢状態での該遊脚足平4swgの位置及び姿勢である。
このような基準姿勢状態での遊脚足平4swgの着地位置姿勢は、該遊脚足平4swgの着地瞬間における位置及び姿勢と異なっていてもよいことはもちろんであるが、同一であってもよい。
補足すると、前記ロボット座標系の原点位置及び姿勢(X軸及びY軸の向き)を前記したように支持脚足平4supの位置及び姿勢に対応させて設定する場合、n歩目の単位歩容における遊脚足平4swgの着地位置姿勢(基準姿勢状態での着地位置姿勢)は、n歩目の単位歩容の次の単位歩容(n+1歩目の単位歩容)における支持脚足平4sup(=n歩目の単位歩容で着地させた遊脚足平4swg)に対応するロボット座標系の原点位置及び姿勢とを規定するものとなる。
すなわち、n+1歩目の単位歩容における支持脚足平4supに対応するロボット座標系は、n歩目の単位歩容における遊脚足平4swgの着地位置姿勢に位置及び姿勢を一致させた支持脚足平4supの所定の部位の直下の床面上に原点を有し、且つ、該支持脚足平4supの前後方向の水平軸及び左右方向の水平軸をそれぞれX軸、Y軸とする座標系として規定される。
従って、各単位歩容における遊脚足平4swgの着地位置姿勢(基準姿勢状態での着地位置姿勢)を決定するということは、その次の単位歩容における支持脚足平4supに対応するロボット座標系の原点位置と姿勢(各座標軸の向き)とを決定することと実質的に等価である。
STEP1で決定される上記基本要求着地位置姿勢は、より詳しくは、Z軸方向(鉛直軸方向)で見た遊脚足平4swgの着地位置姿勢である。従って、該基本要求着地位置姿勢は、上記基準姿勢状態で床面に接地させた遊脚足平4swgの水平方向(X軸方向及びY軸方向)の目標位置と、該遊脚足平4swgのZ軸周りの目標姿勢とから構成される。
STEP1では、上記基本要求着地位置姿勢及び基本要求歩容周期は、与えられた要求にできるだけ従うように決定される。例えば、ロボット1のN歩目までの各単位歩容の期間もしくはN歩目までの全体の期間での平均移動速度が、移動計画等に要求される移動速度に一致し、また、該期間でのロボット1の移動方向が、移動計画等により要求される移動方向に一致するように基本要求着地位置姿勢及び基本要求歩容周期が決定される。
なお、ロボット1の各単位歩容での歩幅(1歩分の歩幅)や各単位歩容の歩容周期(1歩分の所要時間)に許容限界(上限)を設定しておき、与えられた要求通りに基本要求着地位置姿勢及び基本要求歩容周期を決定すると、N歩目までの各単位歩容の歩幅又は歩容周期が許容限界を逸脱してしまうような場合には、該許容範囲を満たすように基本要求着地位置姿勢又は基本要求歩容周期を制限してもよい。
次いで、歩容生成部22は、STEP2において、歩数(単位歩容の順番)を表すnの値を“1”に初期化した後、STEP3の処理を実行する。このSTEP3では、歩容生成部22は、n歩目の遊脚足平4swgの目標着地位置姿勢と目標歩容周期とを決定する。この処理の詳細は後述する。
次いで、歩容生成部22は、STEP4において、n歩目の単位歩容の目標足平位置姿勢軌道を規定するパラメータである目標足平位置姿勢軌道パラメータを決定する。この処理の詳細も後述する。
次いで、歩容生成部22は、STEP5においてnの値を“1”だけ増加させた後、n>Nであるか否かをSTEP6で判断する。そして、STEP6の判断結果が否定的である場合(n≦Nである場合)には、歩容生成部22は、新たなn歩目の単位歩容に関するSTEP3,4の処理を実行し、さらにSTEP5,6の処理を順次実行する。
そして、最終的にSTEP6の判断結果が肯定的となった場合、すなわち、N歩目までの各単位歩容に対応するSTEP3,4の処理が終了すると、図4のフローチャートの処理が終了する。これにより、1歩目からN歩目までの各単位歩容における目標足平位置姿勢軌道パラメータが順番に決定される。
上記STEP3の処理は、図5のフローチャートに示すように実行される。以下、説明すると、歩容生成部22は、まず、STEP3−1の処理を実行する。このSTEP3−1では、歩容生成部22は、床面情報取得部21で既に床面情報が取得された複数の局所領域ARから、n歩目の単位歩容での遊脚足平4swgを着地させるべき領域の候補である着地候補領域ARaを抽出する。
ここで、本実施形態では、各単位歩容での遊脚足平4swgの目標着地位置姿勢を決定する場合、複数の局所領域ARから所要の条件を満たし得るように選択した1つの局所領域AR内で、遊脚足平4swgの目標着地位置姿勢を決定する。STEP3−1で抽出する着地候補領域ARaは、上記の選択の対象となり得る局所領域ARである。
かかる着地候補領域ARaは、具体的には、次のように抽出される。すなわち、歩容生成部22は、局所領域ARのうち、図6に二点鎖線で示す如く設定される着地制限領域Ra内に、中心点Caを有する局所領域ARを着地候補領域ARaとして抽出する。
上記着地制限領域Raは、本実施形態では、Z軸方向で見た形状が楕円形状となる領域であり、その配置位置は、n歩目の単位歩容での支持脚足平4supに対応するロボット座標系で見た該着地制限領域Raの中心点Paの水平方向位置(X軸方向及びY軸方向の位置)が既定の位置になるように決定される。例えば、n歩目の単位歩容での支持脚足平4supに対応するロボット座標系の原点からのX軸方向及びY軸方向の距離がそれぞれ既定の所定値となる点の位置が、着地制限領域Raの中心点Paの水平方向位置とされる。
この場合、n歩目の単位歩容での支持脚足平4supがロボット1の右側の脚体3の足平部4である場合には、着地制限領域Raの中心点Paは、支持脚足平4supの左側に設定され、支持脚足平4supが左側の脚体3の足平部4である場合には、着地制限領域Raの中心点Paは、支持脚足平4supの右側に設定される。
また、着地制限領域Raのサイズ(より詳しくは、n歩目の単位歩容での支持脚足平4supに対応するロボット座標系のX軸方向及びY軸方向での着地制限領域Raの径)は、既定のサイズとされる。その既定のサイズは、着地制限領域Ra内に中心点Caを有する任意の局所領域ARa内に遊脚足平4swgを着地させた場合に、両脚体3,3の各関節の変位量を、該関節の機構的な可動範囲内に収めることができるように設定されている。
STEP3−1では、床面情報取得部21により床面情報が取得された複数の局所領域ARから、上記の如く設定される着地制限領域Ra内に中心点Caを有する局所領域ARが、着地候補領域ARaとして抽出される。ただし、この場合、接地可能面を持たない局所領域AR(前記接地可否フラグがOFFになっている局所領域AR)と、n歩目の単位歩容の遊脚足平4swgと支持脚足平4supとの干渉が生じるような局所領域AR(支持脚足平4supと重なり合うような局所領域AR)とは、着地候補領域ARaから除外される。例えば図6中に実線で示す局所領域ARが着地候補領域ARaとして抽出される。
この抽出処理によって、例えば図6に実線で示す局所領域AR等の局所領域ARが着地候補領域ARaとして抽出される一方、破線で示す局所領域AR等の局所領域ARは、着地候補領域ARaから除外される。なお、図6では、床面情報取得部21により床面情報を取得した複数の局所領域ARのうちの一部の局所領域ARを代表的に例示している。
歩容生成部22は、次に、STEP3−2の処理を実行する。このSTEP3−2では、歩容生成部22は、抽出した着地候補領域ARaを、その中心点Caと、n歩目の単位歩容での遊脚足平4swgの基本要求着地位置姿勢における該遊脚足平4swgの代表点との間の水平方向の距離が短いものから順番に順位付けするようにソートする。
以降、このようにソートされた着地候補領域ARaを、ARa(i)(i=1,2,……)というように表記する。この場合、着地候補領域ARa(i)の中心点Caと、n歩目の単位歩容での遊脚足平4swgの基本要求着地位置姿勢における該遊脚足平4swgの代表点との間の水平方向の距離が短いほど、添え字iの値(ARa(i)の順位)が小さいものとする。
次いで、歩容生成部22は、注目対象の着地候補領域ARa(i)の順位の値iをSTEP3−3で“1”に初期化した後、STEP3−4〜3−12の処理を実行する。このSTEP3−4〜3−12の処理は、注目対象の着地候補領域ARa(i)内で、所要の条件を満たす遊脚足平4swgの目標着地位置姿勢を設定できるか否かを探索的に検証する処理である。
具体的には、STEP3−4では、歩容生成部22は、n歩目の単位歩容での遊脚足平4swgを注目対象の着地候補領域ARa(i)内に着地させる場合における該遊脚足平4swgのZ軸周りの着地姿勢(デフォルトの着地姿勢)として、前記STEP1で決定したn歩目の遊脚足平4swgの基本要求着地姿勢(基本要求着地位置姿勢におけるZ軸周りの姿勢)を暫定的に設定する。
次いで、STEP3−5では、歩容生成部22は、注目対象の着地候補領域ARa(i)でのn歩目の単位歩容の遊脚足平4swgの着地位置姿勢を、所定の接地状態条件を満たすように設定する。
上記接地状態条件は、設定する着地位置姿勢での遊脚足平4swgの接地面の面積が過小となったり、あるいは、該遊脚足平4swgのZ軸周りの姿勢が、着地候補領域ARa(i)の接地可能面の境界線Leに対して不適切な姿勢となるのを防止するための条件である。
具体的には、上記接地状態条件は、例えば、設定する着地位置姿勢での遊脚足平4swgの接地面(接地可能面との接触面)の面積が所定値以上となるという条件(以降、第1接地状態条件という)と、設定する着地位置姿勢での遊脚足平4swgの前後方向の水平軸と、注目対象の着地候補領域ARa(i)の接地可能面の境界線Leとのなす角度(Z軸周りの角度)が、所定の範囲内になるという条件(以降、第2接地状態条件という)とから構成される。該所定の範囲は、生成しようとする目標歩容における脚体3の運動形態等に応じて決定される。例えば、ロボット1の歩行又は走行を行なう目標歩容を生成する場合には、上記所定の範囲は、90°近辺の範囲とされる。また、ロボット1の横歩きを行なう目標歩容を生成する場合には、上記所定の範囲は、0°近辺の範囲とされる。なお、上記所定の範囲を、基本要求着地位置姿勢での遊脚足平4swgの前後方向の水平軸と、注目対象の着地候補領域ARa(i)の接地可能面の境界線Leとのなす角度の近辺の範囲に設定するようにしてもよい。
そして、STEP3−5の処理は、より具体的には、次のように行なわれる。すなわち、歩容生成部22は、まず、n歩目の単位歩容での遊脚足平4swgの着地位置でのZ軸周りの着地姿勢を、基本要求着地姿勢に一致させることを前提として、該遊脚足平4swgを注目対象の着地候補領域ARa(i)内に着地させるように該遊脚足平4swgの着地位置姿勢を暫定的に設定する。
この場合、暫定的に設定する着地位置姿勢での遊脚足平4swgの水平方向(X軸方向及びY軸方向)の着地位置が、前記基本要求着地位置姿勢での遊脚足平4swgの水平方向の着地位置に極力近い位置となる(例えば前者の着地位置と後者の着地位置との間の水平方向の距離が最短となる)ように、注目対象の着地候補領域ARa(i)での遊脚足平4swgの着地位置姿勢が暫定的に設定される。
なお、該遊脚足平4swgのX軸周り及びY軸周りの着地姿勢と、Z軸方向の着地位置は、注目対象の着地候補領域ARa(i)の接地可能面に、遊脚足平4swgの底面が該接地可能面と平行な姿勢で接地するように暫定的に設定される。
この場合、注目対象の着地候補領域ARa(i)が、その全体が接地可能面となっている領域である場合には、上記の如く暫定的に設定した遊脚足平4swgの着地位置姿勢は、前記接地状態条件(第1接地状態条件及び第2接地状態条件の両方)を満たしているものと見なされる。このため、注目対象の着地候補領域ARa(i)が、その全体が接地可能面となっている領域である場合には、歩容生成部22は、上記の如く暫定的に設定した遊脚足平4swgの着地位置姿勢が、接地状態条件を満たす目的の着地位置姿勢であるとして、STEP3−5の処理を終了する。
一方、注目対象の着地候補領域ARa(i)の接地可能面が、境界線Leを有する場合には、歩容生成部22は、上記の如く遊脚足平4swgの着地位置姿勢を暫定的に設定した後に、その着地位置姿勢が、前記第1接地状態条件及び第2接地状態条件を満たしているか否かを判断する。
この場合、第1接地状態条件及び第2接地状態条件の両方を満たすような遊脚足平4swgの着地位置姿勢は、例えば、図7(a)に示すような着地位置姿勢である。
また、第1接地状態条件及び第2接地状態条件の一方、例えば、第1接地状態条件を満たさないような遊脚足平4swgの着地位置姿勢は、例えば、図7(b)に示すような着地位置姿勢である。
なお、図7(a),(b)中の斜線部は、第1接地状態条件を満たすために必要な接地面積を示している。
そして、歩容生成部22は、暫定的に設定した着地位置姿勢が、第1接地状態条件及び第2接地状態条件の両方を満たしている場合には、その着地位置姿勢が、接地状態条件を満たす目的の着地位置姿勢であるとして、STEP3−5の処理を終了する。
また、暫定的に設定した着地位置姿勢が、前記第1接地状態条件又は第2接地状態条件を満たしてない場合には、歩容生成部22は、これらの第1接地状態条件及び第2接地状態条件を満たすように遊脚足平4swgの水平方向の着地位置及びZ軸周りの着地姿勢の一方又は両方を修正する。
例えば、遊脚足平4swgのZ軸周りの着地姿勢が、第2接地状態条件を満足しない場合には、歩容生成部22は、第2接地状態条件を満足し得るZ軸周りの着地姿勢の範囲内で、基本要求着地位置姿勢におけるZ軸周りの着地姿勢に極力近い姿勢(例えば最も近い姿勢)になるように、遊脚足平4swgのZ軸周りの着地姿勢を修正する。
また、第1接地状態条件を満足しない場合(遊脚足平4swgのZ軸周りの着地姿勢の修正の結果に第1接地状態条件を満足しなくなった場合を含む)には、歩容生成部22は、第1接地状態条件を満足し得る水平方向の着地位置の範囲内で、基本要求着地位置姿勢における水平方向の着地位置に極力近い位置(例えば最も近い位置)になるように、遊脚足平4swgの水平方向の着地位置(X軸方向及びY軸方向の一方又は両方の位置)を修正する。
以上により、注目対象の着地候補領域ARa(i)内で、接地状態条件を満たす遊脚足平4swgの着地位置姿勢が設定され、STEP3−5の処理が終了する。
なお、図5では記載を省略したが、遊脚足平4swgの水平方向の着地位置及びZ軸周りの着地姿勢の一方又は両方を修正しても、第1接地状態条件及び第2接地状態条件の両方を満たすようにすることができない場合には、歩容生成部22は、後述するSTEP3−13からの処理を実行する。
次いで、歩容生成部22は、STEP3−6の判断処理を実行する。このSTEP3−6では、歩容生成部22は、STEP3−5で設定した遊脚足平4swgの着地位置姿勢が所定の高さ・傾斜条件を満たすか否かを判断する。
上記高さ・傾斜条件は、n歩目の単位歩容での支持脚足平4supに対する遊脚足平4swgの着地位置の相対的な高さ(より詳しくは、n歩目の単位歩容での支持脚足平4supに対応するロボット座標系で見た遊脚足平4swgのZ軸方向の着地位置)と、n歩目の単位歩容での支持脚足平4supに対する遊脚足平4swgの着地姿勢(水平軸周りの着地姿勢)の相対的な傾斜度合い(より詳しくは、n歩目の単位歩容での支持脚足平4supに対応するロボット座標系で見た遊脚足平4swgのX軸周り及びY軸周りの着地姿勢)とに応じて、遊脚足平4swgの水平方向の着地位置(ひいては、n歩目の単位歩容での歩幅)の許容範囲を制限することで、各脚体3の各関節の変位量が許容限界を超えてしまうことを防止するための条件である。
この高さ・傾斜条件は、支持脚足平4supに対する遊脚足平4swgの着地位置の相対的な高さに関する高さ条件と、支持脚足平4supに対する遊脚足平4swgの着地姿勢の相対的な傾斜度合に関する傾斜条件とから構成される。
上記高さ条件は、n歩目の単位歩容での支持脚足平4supに対応するロボット座標系で見た遊脚足平4swgのX軸方向及びY軸方向の位置が、上記相対的な高さに応じてそれぞれ設定される所定の許容範囲内の位置となるという条件である。
また、上記傾斜条件は、n歩目の単位歩容での支持脚足平4supに対応するロボット座標系で見た遊脚足平4swgのX軸方向及びY軸方向の位置が、上記相対的な傾斜度合い応じてそれぞれ設定される所定の許容範囲内の位置となるという条件である。
STEP3−6では、歩容生成部22は、STEP3−5で設定したn歩目の単位歩容での遊脚足平4swgの着地位置姿勢における水平方向の着地位置が、前記高さ条件に関する許容範囲と、前記傾斜条件に関する許容範囲との収まっているか否かを判断することによって、遊脚足平4swgの設定した着地位置姿勢が高さ・傾斜条件を満たすか否かを判断する。
この場合、高さ条件に関する許容範囲は、遊脚足平4swgの相対高さに応じて設定され、傾斜条件に関する許容範囲は、遊脚足平4swgの相対的な傾斜度合いに応じて設定される。これらの高さ条件及び傾斜条件に関する許容範囲は、遊脚足平4swgのX軸方向及びY軸方向の着地位置が、該許容範囲に収まれば、各脚体3の関節の可動範囲内で遊脚足平4swgを着地位置まで動かすことができるように、該遊脚足平4swgの相対高さ、相対的な傾斜度合い応じてあらかじめ定められた範囲である。
そして、歩容生成部22は、STEP3−6の判断結果が否定的である場合(高さ・傾斜条件を満たさない場合)には、n歩目の単位歩容での遊脚足平4swgの着地位置(水平方向の着地位置)を、注目対象の着地候補領域ARa内で高さ・傾斜条件が満たされるような位置に修正する処理をSTEP3−7で実行する。この場合、遊脚足平4swgの着地位置の修正は、修正前の着地位置からの修正量(水平方向の変位量)が極力小さくなる(例えば最小になる)ように行なわれる。
なお、図5では記載を省略したが、STEP3−7において、遊脚足平4swgの水平方向の着地位置を修正しても、高さ・傾斜条件を満たすようにすることができない場合には、歩容生成部22は、後述するSTEP3−13からの処理を実行する。
歩容生成部22は、STEP3−6の判断結果が肯定的である場合(高さ・傾斜条件が満たされている場合)、あるいは、STEP3−7の処理の実行後に、STEP3−8の判断処理を次に実行する。
このSTEP3−8では、歩容生成部22は、現在設定されている遊脚足平4swgの着地位置姿勢が、該遊脚足平4swgの水平方向の着地位置と、Z軸方向周りの着地姿勢との所定の組み合わせ条件を満たすか否かを判断する。
上記組み合わせ条件は、n歩目の単位歩容での遊脚足平4swgのZ軸周りの着地姿勢(n歩目の単位歩容での支持脚足平4supに対応するロボット座標系で見たZ軸周りの着地姿勢)に応じて、遊脚足平4swgの水平方向の着地位置の許容範囲(XY平面上での許容範囲)を制限することで、各脚体3の各関節の変位量が許容限界を超えてしまうことを防止するための条件である。
この場合、遊脚足平4swgの水平方向の着地位置の許容範囲は、遊脚足平4swgのZ軸周りの着地姿勢を入力変数としてマップ化してなるマップデータとしてあらかじめ設定されている。
そして、STEP3−8の判断処理では、歩容生成部22は、遊脚足平4swgの現在設定されているZ軸周りの着地姿勢(STEP3−5で設定された着地姿勢)から、遊脚足平4swgの水平方向の着地位置の許容範囲を上記マップデータに基づいて求める。
さらに、歩容生成部22は、この許容範囲に、遊脚足平4swgの現在設定されている水平方向の着地位置が収まっているか否かを判断することによって、遊脚足平4swgの現在設定されている着地位置姿勢が上記組み合わせ条件を満たすか否かを判断する。
次に、歩容生成部22は、STEP3−8の判断結果が否定的である場合(組み合せ条件を満たさない場合)には、n歩目の単位歩容での遊脚足平4swgの着地位置(水平方向の着地位置)を、注目対象の着地候補領域ARa内で上記高さ・傾斜条件と、組み合わせ条件との両方が満たされるような位置に修正する処理をSTEP3−9で実行する。この場合、遊脚足平4swgの着地位置の修正は、修正前の着地位置からの修正量(水平方向の変位量)が極力小さくなる(例えば最小になる)ように行なわれる。
なお、図5では記載を省略したが、STEP3−9において、遊脚足平4swgの水平方向の着地位置を修正しても、高さ・傾斜条件と組み合わせ条件との両方を満たすようにすることができない場合には、歩容生成部22は、後述するSTEP3−13からの処理を実行する。
歩容生成部22は、STEP3−8の判断結果が肯定的である場合(高さ・傾斜条件及び組み合わせ条件の両方が満たされている場合)、あるいは、STEP3−9の処理の実行後に、STEP3−10の判断処理を次に実行する。
ここで、前記STEP3−7又3−9でn歩目の単位歩容での遊脚足平4swgの着地位置を修正した場合、前記接地状態条件が満たされなくなっている可能性がある。
そこで、STEP3−10では、歩容生成部22は、現在設定されている遊脚足平4swgの着地位置姿勢が、前記接地状態条件を満たすか否かを改めて判断する。
このSTEP3−10の判断結果が否定的でる場合には、歩容生成部22は、次に、遊脚足平4swgのZ軸周りの着地姿勢を、現在設定されている姿勢から修正する処理をSTEP3−11で実行する。
この修正処理では、歩容生成部22は、前記第2接地状態条件を満たす範囲で、遊脚足平4swgのZ軸周りの着地姿勢を、現在設定されている姿勢から所定量だけ修正する。
次いで、歩容生成部22は、STEP3−12において、遊脚足平4swgのZ軸周りの着地姿勢の修正が限界であるか否かを判断する。ここで、遊脚足平4swgのZ軸周りの着地姿勢の修正が限界であるということは、遊脚足平4swgのZ軸周りの着地姿勢を現在設定されている姿勢から所定量修正すると、前記第2接地状態条件を満たすことができなくなってしまうこと、換言すれば、第2接地状態条件を満たす範囲では、遊脚足平4swgのZ軸周りの着地姿勢を新たな姿勢に設定することができないことを意味する。
そして、歩容生成部22は、STEP3−12の判断結果が否定的である場合には、前記STEP3−5からの処理を再び実行する。なお、この場合のSTEP3−5の処理では、前記第2接地状態条件は満たされているので、前記第1接地状態条件が満たされるように、遊脚足平4swgの水平方向の着地位置が設定される。
また、STEP3−12の判断結果が肯定的である場合には、現在の注目対象の着地候補領域ARa内では、前記接地状態条件、高さ・傾斜条件及び組み合わせ条件の全てを満たすような遊脚足平4swgの着地位置姿勢を設定することができない。そこで、この場合には、歩容生成部22は、注目対象の着地候補領域ARa(i)の順位の値iをSTEP3−13で“1”だけ増加させた値に設定した後、前記STEP3−4〜3−12の処理を改めて実行する。
以上のようにして、最終的に接地状態条件、高さ・傾斜条件及び組み合わせ条件の全てを満たすような遊脚足平4swgの着地位置姿勢が、ある1つの着地候補領域ARa(i)内に設定される。そして、この場合、STEP3−10の判断結果が肯定的となる。
この場合、歩容生成部22は、STEP3−10の判断処理の次に、STEP3−14の処理を実行する。このSTEP3−14では、歩容生成部22は、n歩目の単位歩容での遊脚足平4swgの水平方向軌道(鉛直軸方向で見た軌道)を所定の軌道条件を満たすように決定する。
上記所定の軌道条件は、例えば、n歩目の単位歩容での遊脚足平4swgがn歩目の単位歩容での支持脚としての脚体3に干渉しないという第1軌道条件と、該遊脚足平4swgの水平方向軌道の直下に配置された各局所領域ARa(Z軸方向で見て、当該水平方向軌道と交差する局所領域ARa)の接地可能面もしくは突起の頂面の最大高さ(詳しくは、n歩目の単位歩容での支持脚足平4supに対応するロボット座標系で見たZ軸方向の最大高さ)が所定値以下の高さであるという第2軌道条件と、該遊脚足平4swgの水平方向軌道の直下に、床面情報が不明となっている(設定されていない)局所領域ARが存在しないという第3軌道条件とから構成される。
なお、第3軌道条件については、床面認識用センサ12の計測データに基づく床面情報が不明となっている局所領域ARのうち、その周辺にある局所領域ARと重なっている領域の大きさが所定の範囲内(例えば局所領域ARの面積の3/4以上)である場合、床面情報が不明となっている局所領域ARの床面情報を、周辺にある局所領域ARの床面情報を用いて補間するようにしても良い。例えば床面情報が不明となっている局所領域ARとの中心間の距離が最も近い周辺の局所領域ARの接地可能面を広げることで、不明の床面情報の補間を行なうようにしてもよい。局所領域ARが仮想的に配置されていない床面領域がある場合も、同様に補間するようにしても良い。
また、本実施形態では、歩容生成部22は、n歩目の単位歩容の遊脚足平4swgの離床前の接地位置から設定された着地位置までの、前記第1軌道条件を満たす複数種類の水平方向軌道(軌道の曲率の変化パターン等の形状パターンを規定するパラメータが相互に異なる複数種類の水平方向軌道)を、所定のアルゴリズム(演算処理)によって生成することが可能となっている。その水平方向軌道は、基本的には、図8に太線の矢印で一例を示すように、遊脚足平4swgと支持脚(支持脚足平4supを有する脚体3)との干渉を避けるために、支持脚から離れる側に凸となるような軌道である。
そして、STEP3−14では、歩容生成部22は、n歩目の単位歩容の遊脚足平4swgの離床前の接地位置から、前記STEP3−1〜3−13の処理によって、最終的に設定された該遊脚足平4swgの着地位置までの各種類の水平方向軌道(第1軌道条件を満たす軌道)を所定の順番で順次生成する。
なお、この場合、n歩目の単位歩容の遊脚足平4swgの離床前の接地位置としては、例えば、n歩目の単位歩容の1つ前の単位歩容での遊脚足平4swgの目標着地位置として先に設定された着地位置が使用される。
さらに、歩容生成部22は、各種類の水平方向軌道を生成する都度、前記床面情報取得部21により取得された床面情報を参照して、該水平方向軌道が前記第2軌道条件及び第3軌道条件を満たすか否かを判断し、その判断結果が肯定的となる場合に、当該水平方向軌道を、所定の軌道条件(第1〜第3軌道条件)を満たす軌道として得る。
次いで、歩容生成部22は、上記軌道条件を満たす水平方向軌道が生成されたか否かをSTEP3−15で判断する。
この判断結果が否定的となる場合、すなわち、STEP3−14で生成した全ての種類の水平方向軌道が、第2軌道条件又は第3軌道条件を満たさない場合には、歩容生成部22は、現在の注目対象の着地候補領域ARa(i)が所定の軌道条件を満たす上で不適切であるとして、前記STEP3−12の判断結果が肯定的となる場合と同様にSTEP3−13の処理(注目対象の着地候補領域ARa(i)を変更する処理)を実行した後、STEP3−4からの処理を改めて実行する。
また、STEP3−15の判断結果が肯定的となる場合、すなわち、STEP3−14で第1〜第3軌道条件を満たす水平方向軌道が生成された場合には、歩容生成部22は、次に、STEP3−16の処理を実行する。
このSTEP3−16では、歩容生成部22は、n歩目の単位歩容での遊脚足平4swgの目標着地位置姿勢を、現在設定されている着地位置姿勢、すなわち、STEP3−1〜3−15の処理によって最終的に設定された着地位置姿勢とする。
これにより、ある1つの着地候補領域ARa(i)内で、n歩目の単位歩容での遊脚足平4swgの目標着地位置姿勢が、前記接地状態条件、高さ・傾斜条件、組み合わせ条件及び軌道条件が満たされるように決定される。
さらに、歩容生成部22は、STEP3−17において、n歩目の単位歩容の目標歩容周期を決定する。この場合、前記STEP1で設定したn歩目の単位歩容の基本要求歩容周期が、そのままn歩目の単位歩容の目標歩容周期として決定される。
以上が、前記STEP3で歩容生成部22が実行する処理の詳細である。
次に、前記STEP4で歩容生成部22が実行する処理の詳細を説明する。図4のSTEP4の処理は、n歩目の単位歩容での支持脚足平4supの目標足平位置姿勢軌道を規定する足平位置姿勢軌道パラメータを決定する処理と、該単位歩容での遊脚足平4swgの目標足平位置姿勢軌道を規定する足平位置姿勢軌道パラメータを決定する処理とに大別される。
支持脚足平4supの目標足平位置姿勢軌道を規定する足平位置姿勢軌道パラメータを決定する処理は、例えば次のように実行される。すなわち、n歩目の単位歩容の始端(開始時点)での支持脚足平4supの目標足平姿勢は、該単位歩容の1つ前の単位歩容の終端(終了時点)での遊脚足平4swgの姿勢とされる。
さらに、該支持脚足平4supの目標足平姿勢軌道は、単位歩容の始端での目標姿勢からあらかじめ定められた所定のパターンで連続的に変化する(一定姿勢となる期間がある場合を含む)ような軌道とされる。
また、単位歩容の始端(開始時点)での支持脚足平4supの目標足平位置は、該単位歩容の1つ前の単位歩容の終端(終了時点)での遊脚足平4swgの位置とされる。
さらに、該支持脚足平4supの目標足平位置軌道は、単位歩容の始端での目標位置姿勢から、床面に対して滑らせないないように該支持脚足平4supの姿勢を目標姿勢軌道に従って変化させることで規定される足平位置軌道とされる。
そして、上記のように決定した支持脚足平4supの目標足平位置姿勢軌道を規定するパラメータが該支持脚足平4supの足平位置姿勢軌道パラメータとして決定される。
一方、遊脚足平4swgの目標足平位置姿勢軌道を規定する足平位置姿勢軌道パラメータを決定する処理は、例えば図9のフローチャートに示すように実行される。以下、説明すると、歩容生成部22は、まず、STEP4−1の処理を実行する。
このSTEP4−1では、歩容生成部22は、n歩目の単位歩容での遊脚足平4swgの水平方向軌道を決定する。この場合、前記STEP3−14で前記軌道条件を満たすように生成された水平方向軌道がそのままn歩目の単位歩容での遊脚足平4swgの水平方向軌道として決定される。
次いで、歩容生成部22は、n歩目の単位歩容での遊脚足平4swgの足平位置姿勢軌道のうちの、目標足平姿勢軌道を規定する足平姿勢軌道パラメータを決定する処理をSTEP4−2で実行する。
この場合、n歩目の単位歩容の始端での遊脚足平4swgの目標足平姿勢は、該単位歩容の1つ前の単位歩容の終端での支持脚足平4supの足平姿勢とされる。
さらに、該遊脚足平4swgの目標足平姿勢軌道は、単位歩容の始端での目標姿勢から該遊脚足平4swgの目標着地姿勢に向ってあらかじめ定められた所定のパターンで連続的に変化する(一定姿勢となる期間がある場合を含む)ような軌道とされる。そして、このような足平姿勢軌道を規定するパタメータが遊脚足平4swgの足平姿勢軌道パラメータとして決定される。
次いで、歩容生成部22は、n歩目の単位歩容での遊脚足平4swgの鉛直方向軌道(Z軸方向の軌道)を決定する処理をSTEP4−3〜4−7で実行する。
STEP4−3では、歩容生成部22は、STEP4−1で決定した遊脚足平4swgの水平方向軌道上に、複数のサンプリング点を設定し、その各サンプリング点での遊脚足平4swgの水平方向位置(詳しくは、n歩目の支持脚足平4supに対応するロボット座標系で見たX軸方向及びY軸方向の位置)と、該遊脚足平4swgの姿勢(詳しくは、n歩目の支持脚足平4supに対応するロボット座標系で見た各座標軸周りの姿勢)とを算出する。
この場合、上記サンプリング点は、例えば、水平方向軌道上に一定間隔で並ぶように設定される。例えば、図8に例示するように、水平方向軌道上に複数のサンプリング点Psが設定される。なお、水平方向軌道上に設定されるサンプリング点には、該軌道の始端及び終端の点も含まれる。
そして、各サンプリング点の水平方向位置が、そのサンプリング点での遊脚足平4swgの水平方向位置として求められる。
また、前記STEP4−2で決定した遊脚足平4swgの足平姿勢軌道を基に、各サンプリング点の時刻での遊脚足平4swgの姿勢が求められ、それが、該サンプリング点での遊脚足平4swgの姿勢とされる。
次いで、STEP4−4では、歩容生成部22は、ロボット1の周辺で床面情報取得部21により仮想的に配置された複数の局所領域ARのうち、遊脚足平4swgの水平方向軌道上の各サンプリング点の位置に存在する局所領域ARbを抽出する。
ここで、各サンプリング点の位置に存在する局所領域ARbというのは、図10に示す如く、該サンプリング点の位置での遊脚足平4swgを鉛直方向(Z軸方向)で見た場合に、該遊脚足平4swgと重なる部分を有するような局所領域ARである。
なお、STEP4−4では、局所領域ARbは、例えば、遊脚足平4swgを図10に二点鎖線で示すように仮想的に拡大したサイズの足平4swg_b(以降、仮想拡大遊脚足平4swg_bということがある)と重なる部分を有するような局所領域ARであってもよい。この場合、仮想拡大遊脚足平4swg_bの位置は、遊脚足平4swgの位置に一致するものとされる。また、仮想拡大遊脚足平4swg_bのサイズは、例えば、その前後方向の長さと左右方向の幅とをそれぞれ既定の所定量づつ、遊脚足平4swgよりも拡大したようなサイズとされる。
あるいは、局所領域ARbは、例えば、遊脚足平4swg又は仮想拡大遊脚足平4swg_bとの重なり部分の面積が所定値以上となる局所領域AR(当該面積が微小なものを除いた局所領域AR)であってもよい。
次いで、STEP4−5では、歩容生成部22は、上記した仮想拡大遊脚足平4swg_bを用いて、サンプリグ点での遊脚足平4swgの高さ(n歩目の単位歩容での支持脚足平4supに対応するロボット座標系で見たZ軸方向位置)の下限値である下限高さを決定する。なお、ここでの処理の対象とするサンプリング点は、STEP4−3で設定したサンプリング点のうち、遊脚足平4swgの水平方向軌道の始端及び終端のサンプリング点を除くサンプリング点である。
上記下限高さは、より詳しくは、遊脚足平4swgの水平方向軌道の始端及び終端のサンプリング点を除く各サンプリング点での仮想拡大遊脚足平4swg_bの水平方向位置と姿勢とをそれぞれ前記STEP4−3で算出した該サンプリング点の遊脚足平4swgの水平方向位置、その位置での遊脚足平4swgの目標姿勢に一致させた状態で、該仮想拡大遊脚足平4swg_bの鉛直方向位置を変化させた場合に、該サンプリング点に対応して前記STEP4−4で抽出された局所領域ARbのうちのいずれかの局所領域ARbの床面(接地可能面)に該仮想拡大遊脚足平4swg_bが接触することとなる最大の高さの鉛直方向位置(Z軸方向位置)として決定されるものである。
換言すれば、各サンプリング点での上記下限高さは、そのサンプリング点での仮想拡大遊脚足平4swg_bと床面との接触を回避する上で必要な仮想拡大遊脚足平4swg_bの最低限の高さ(鉛直方向位置)である。この場合、該下限高さは、実際の遊脚足平4swgよりも大きいサイズの仮想拡大遊脚足平4swg_bに対する下限高さであるので、実際の遊脚足平4swgの高さが上記下限高さよりも高ければ、局所領域ARbの床面情報の誤差が多少あっても、遊脚足平4swgと床面との接触を確実に回避できることとなる。このために、本実施形態では、仮想拡大遊脚足平4swg_bを用いて各サンプリン点での下限高さを決定するようにしている。
各サンプリング点での下限高さは、より具体的には、例えば次のような手法によって決定される。なお、この手法の説明においては、前記STEP4−3で設定したサンプリング点のうち、遊脚足平4swgの水平方向軌道の始端及び終端のサンプリング点を除く任意の1つのサンプリング点である第mサンプリング点での下限高さを決定する場合を想定する。
本実施形態では、歩容生成部22は、第mサンプリング点での下限高さを決定する場合、まず、第mサンプリング点の位置で抽出された各局所領域ARb毎に、その局所領域ARbの床面に対する仮想拡大遊脚足平4swg_bの接触を回避するための下限高さを決定する。
このとき、第mサンプリング点の位置で抽出された任意の1つの局所領域ARb(以降、ここでの説明では便宜上、第mx局所領域ARbという)に対応する下限高さを決定する場合、例えば図11(a)に示すように、第mサンプリング点の位置での仮想拡大遊脚足平4swg_bの各角部の点Pc1,Pc3,Pc7,Pc9と、外周の各辺の中央の点Pc2,Pc4,Pc6,Pc8と、左右方向及び前後方向の中心点Pc5とが、仮想拡大遊脚足平4swg_bの代表的な参照点として設定される。
さらに第mx局所領域ARbの接地可能面がエッジLeを有する場合には、図11(a)に示す如く、鉛直方向(Z軸方向)で見たときに、エッジLeと仮想拡大遊脚足平4swg_bの周辺とが交差する点Pc10,Pc12と、これらの点Pc10,Pc12の間の中点Pc11とがさらなる参照点として追加・設定される。
そして、歩容生成部22は、仮想拡大遊脚足平4swg_bの水平方向位置と姿勢とをそれぞれ前記STEP4−2で算出した第mサンプリング点での遊脚足平4swgの水平方向位置、姿勢に一致させた状態で、上記参照点Pc1〜Pc9(又はPc1〜Pc12)のうち、Z軸方向で見たときに第mx局所領域ARbの接地可能面上に位置する参照点(図11(a)に示す例では、Pc7〜Pc9を除く9個の参照点)のそれぞれを、第mx局所領域ARbの接地可能面に鉛直方向で投影してなる点と合致するように仮想拡大遊脚足平4swg_bを配置した場合における該仮想拡大遊脚足平4swg_bの高さを、第mx局所領域ARbの接地可能面上の各参照点毎に、それぞれ算出する。
そして、歩容生成部22は、第mx局所領域ARbに対応して上記の如く算出した仮想拡大遊脚足平4swg_bの高さのうちの最大の高さを該第mx局所領域ARbに対応する下限高さとして求める。例えば、図11(a)に示した例において、第mサンプリング点での遊脚足平4swgの水平方向位置及び姿勢(=仮想拡大遊脚足平4swg_bの水平方向位置及び姿勢)が、第mx局所領域ARbの床面に対して図11(b)に示すような位置及び姿勢であるとした場合には、仮想拡大遊脚足平4swg_bの参照点Pc10を第mx局所領域の接地可能面のエッジLe上の点に一致させた場合における該仮想拡大遊脚足平4swg_bの高さが、第mx局所領域ARbに対応する下限高さとして決定される。
なお、この場合の例では、第mx局所領域ARbの接地可能面は水平面であると共に、そのエッジLeが遊脚足平4swgの横方向に対して傾斜しており、また、遊脚足平4swgの姿勢は、水平面に対してY軸周り方向(ピッチ方向)にだけ傾斜させた姿勢である場合を想定している。
歩容生成部22は、第mサンプリング点の位置で抽出された第mx局所領域ARb以外の各局所領域ARbについても上記と同様に下限高さを求める。それらの下限高さのうちの最大の高さは、第mサンプリング点の位置でのいずれかの局所領域ARbの床面と仮想拡大遊脚足平4swg_bとの接触が生じ得る最大の高さに相当するものとなる。
そこで、歩容生成部22は、第mサンプリング点の位置で抽出された各局所領域ARbに対応して求めた下限高さのうちの最大の高さを、第mサンプリング点での遊脚足平4swgの下限高さとして決定する。
第mサンプリング点以外の他のサンプリング点(ただし、水平方向軌道の始端及び終端のサンプリング点を除く)についても、上記と同様に、遊脚足平4swgの下限高さが決定される。
なお、各サンプリング点での下限高さの決定手法は、上記の手法に限らず、他の手法により決定するようにしてもよい。例えば、参照点を用いずに、空間的な幾何学演算によって、仮想拡大遊脚足平4swg_b(又は遊脚足平4swg)と、各サンプリング点の位置の各局所領域ARbの床面との接触を生じるような、仮想拡大遊脚足平4swg_b(又は遊脚足平4swg)の最大の高さを求め、その最大の高さ、あるいは、それに若干のオフセット量を加算した値を、該サンプリング点での遊脚足平4swgの下限高さとして決定するようにしてもよい。
補足すると、遊脚足平4swgの水平方向軌道の始端及び終端のサンプリング点、すなわち、遊脚足平4swgが床面に接地することとなる位置でのサンプリング点においては、本実施形態では、便宜上、n歩目の単位歩容の始端及び終端での遊脚足平4swgの目標着地位置のZ軸方向位置が、それぞれ、始端のサンプリグ点、終端のサンプリング点での下限高さとして設定される。
この場合、n歩目の単位歩容の始端での遊脚足平4swgの目標着地位置のZ軸方向位置(始端のサンプリング点での下限高さ)は、n歩目の単位歩容の1つ前の単位歩容での支持脚足平4supの、当該1つ前の単位歩容の終端でのZ軸方向位置(ただし、n歩目の単位歩容の支持脚足平4supに対応するロボット座標系で見た場合のZ軸方向位置)である。
また、n歩目の単位歩容の終端での遊脚足平4swgの目標着地位置のZ軸方向位置(終端のサンプリング点での下限高さ)は、n歩目の単位歩容の遊脚足平4swgの目標着地位置姿勢と、該単位歩容の終端での遊脚足平4swgの目標足平姿勢(これは前記STEP4−2で決定される)とにより規定される該単位歩容の終端での遊脚足平4swgのZ軸方向位置(n歩目の単位歩容の支持脚足平4supに対応するロボット座標系で見たZ軸方向位置)である。
上記したSTEP4−5の次のSTEP4−6においては、歩容生成部22は、遊脚足平4swgの水平方向軌道の各サンプリング点(始端及び終端のサンプリング点を除く)での遊脚足平4swgの高さを、STEP4−5で決定した下限高さよりも高くするように、該遊脚足平4swgの鉛直方向軌道を決定する。
この処理を概略的に説明すると、歩容生成部22は、遊脚足平4swgの水平方向軌道の各サンプリング点での下限高さに所定のオフセット量を加えた高さ位置(鉛直方向位置)の点(後述の下限オフセット点)を、各サンプリング点に対応させて決定する。そして、歩容生成部22は、それらの決定した点を包含するような凸状軌道を遊脚足平4swgの鉛直方向軌道として決定する。
このように鉛直方向軌道を決定する処理は、具体的には例えば次のように行なわれる。STEP4−6の処理では、歩容生成部22は、n歩目の単位歩容での遊脚足平4swgの位置(代表点の位置)の空間的な軌道を、該単位歩容の始端での位置と終端での位置とを通り、且つ、水平面と直交する鉛直姿勢の平面に投影した状態で取り扱う。その投影を行なう平面である投影面は、遊脚足平4swgの水平方向軌道が、例えば図8に示したような軌道である場合、図中に示す直線Sを含む鉛直姿勢の平面である。
そこで、歩容生成部22は、まず、各サンプリング点での遊脚足平4swgの水平方向位置と、該サンプリング点での下限高さとにより規定される点(以降、下限高さ点という)を、上記投影平面の法線方向で該投影面に投影してなる点(以降、下限高さ投影点という)の該投影面上での位置を算出する。この場合、投影面上での各下限高さ投影点の位置は、各下限高さ点を通って投影面に直交する直線と、該投影面との交点の位置を、該投影面上に設定した2次元座標系での位置として算出することにより決定される。
例えば図12(a)に示す複数の黒丸の点が、上記の下限高さ投影点を例示的に示している。そして、このような各下限高さ投影点の投影面上での位置(図12(a)に示す水平軸及び鉛直軸から成る座標系で見た水平方向位置及び鉛直方向位置)が算出される。
なお、図12(a)では、遊脚足平4swgの水平方向軌道上の一部のサンプリング点に対応する下限高さ投影点を代表的に例示している。また、図12(a)に示す床面は、投影面上で見た床面の例である。
次いで、歩容生成部22は、遊脚足平4swgの鉛直方向軌道を決定するための演算処理の便宜上、図12(a)に示すように、投影面上で単位歩容(n歩目の単位歩容)の始端に位置する下限高さ投影点と、終端に位置する下限高さ投影点とを結ぶ直線Lse(以降、始端・終端間ラインLseという)を算出する。
そして、各下限高さ投影点の鉛直方向位置を、該下限高さ投影点の水平方向位置での始端・終端間ラインLseの高さ位置を基準とする高さ位置(すなわち、始端・終端間ラインLseの高さに対する相対高さ)に変換してなる点である基準化下限高さ投影点の投影面上での位置(水平方向位置及び鉛直方向位置)を算出する。
例えば図12(a)に示した例では、図中の白抜き四角の点が基準化下限高さ投影点となり、これらの基準化下限高さ投影点の投影面上での位置が算出される。
各下限高さ投影点に対応する基準化下限高さ投影点の鉛直方向位置は、該下限高さ投影点の鉛直方向位置から、該下限高さ投影点の水平方向位置での始端・終端間ラインLseの相対高さ(始端の下限高さ投影点に対する相対高さ)を差し引くことにより算出される。
例えば、図12(a)において、a(k)の水平方向位置での始端・終端間ラインLseの相対高さは、h(k)である。従って、a(k)の水平方向位置での基準化下限高さ投影点の鉛直方向位置は、a(k)の水平方向位置の下限高さ投影点の鉛直方向位置から、上記相対高さh(k)を差し引いた位置として算出される。
なお、下限高さ投影点の水平方向位置での始端・終端間ラインLseの相対高さは、単位歩容の始端での遊脚足平4swgの鉛直方向位置(=始端での下限高さ)よりも、単位歩容の終端での遊脚足平4swgの鉛直方向位置(=終端での下限高さ)が高い場合に、正の値とされ、単位歩容の始端での遊脚足平4swgの鉛直方向位置よりも、単位歩容の終端での遊脚足平4swgの鉛直方向位置が低い場合には、負の値とされる。従って、図12(a)に示す例では、上記h(k)は正の値である。
また、各下限高さ投影点に対応する基準化下限高さ投影点の水平方向位置は、該下限高さ投影点の水平歩行位置と同じである。
次いで、歩容生成部22は、上記各基準化下限高さ投影点よりも所定オフセット量だけ高い高さ位置の点である下限オフセット点の投影面上での位置(水平方向位置及び鉛直方向位置)を算出する。
例えば図12(a)に示した例では、各基準化下限高さ投影点に対応して、図12(b)に示す白丸の点が下限オフセット点とされ、その下限オフセット点の投影面上での位置が算出される。
ここで、上記オフセット量は、遊脚足平4swgと床面との干渉を確実に回避するために、該遊脚足平4swgの鉛直方向位置の下限に余裕(マージン)を持たせるためのものである。本実施形態では、各基準化下限高さ投影点に対応するオフセット量は、例えば、該基準化下限高さ投影点の水平方向位置が単位歩容の始端及び終端のそれぞれの基準化下限高さ投影点の位置から遠いほど(始端及び終端のそれぞれの基準化下限高さ投影点からの水平方向の距離が大きいほど)、大きくなるように設定される。また、単位歩容の始端及び終端の水平方向位置では、オフセット量がゼロになるように設定されている。
この場合、各基準化下限高さ投影点に対応するオフセット量は、例えば単位歩容の始端及び終端のそれぞれの基準化下限高さ投影点と、各基準化下限高さ投影点との間の水平方向距離から、あらかじめ設定されたマップあるいは演算式により設定される。
そして、各基準化下限高さ投影点に対応する下限オフセット点の鉛直方向位置は、上記の如く設定されたオフセット量(≧0)を、基準化下限高さ投影点の鉛直方向位置に加えることにより決定される。
例えば、図12(b)において、a(k)の水平方向位置の基準化下限高さ投影点に対応して設定されるオフセット量はhad(k)である。従って、a(k)の水平方向位置での下限オフセット点の鉛直方向位置は、a(k)の水平方向位置の基準化下限高さ投影点の鉛直方向位置に、上記オフセット量had(k)を加えた位置として算出される。
なお、単位歩容の始端及び終端でのオフセット量はゼロであるので、始端位置の下限オフセット点と終端位置の下限オフセット点とは、それぞれ、単位歩容の始端、終端での基準化下限高さ投影点に一致する。
また、各基準化下限高さ投影点に対応する下限オフセット点の水平方向位置は、該基準化下限高さ投影点の水平方向位置と同じである。
補足すると、下限高さ投影点から、下限オフセット点の位置を決定するまでの処理の手順は上記の手順に限られるものではない。例えば、下限高さ投影点に対して、上記オフセット量による鉛直方向位置の修正を行なった後に、前記始端・終端間ラインLseの相対高さによる鉛直方向位置の修正を行なうことで、下限オフセット点の位置を決定するようにしてもよい。
あるいは、下限高さ投影点に対して、上記オフセット量による鉛直方向位置の修正と始端・終端間ラインLseの相対高さによる修正とを一括して行なうことで、下限オフセット点の位置を決定するようにしてもよい。
また、本実施形態では、遊脚足平4swgの鉛直方向の軌道の決定処理の便宜上、前記始端・終端間ラインLseの相対高さによる鉛直方向位置の修正(高さの基準化)を行なった基準化下限高さ投影点の高さを、前記オフセット量だけ高くした点を下限オフセット点として求めるようにしているが、高さの基準化を行なっていない前記下限高さ投影点の高さを、前記オフセット量だけ高くした点を下限オフセット点として求めるようにしてもよい。
基準化下限高さ投影点と、下限高さ投影点とは、それらの高さ位置を、前記始端・終端間ラインLseの相対高さ分だけずらした点として一義的に規定されるので、基準化下限高さ投影点の高さを、前記オフセット量だけ高くした点を下限オフセット点として求めるということは、下限高さ投影点の高さを、前記オフセット量だけ高くした点を下限オフセット点として求めることと実質的に等価である。
次に、歩容生成部22は、上記の如く投影面上の位置を決定した下限オフセット点を包含する凸多角形状の軌道である基準化鉛直方向軌道を決定する。この基準化鉛直方向軌道は、各下限オフセット点の水平方向位置での当該軌道上の鉛直方向位置が、該下限オフセット点の鉛直方向位置以上の高さ位置となるように凸多角形状に決定される。例えば、図12(b)に示した例では、図中に例示する如く基準化鉛直方向軌道が決定される。
このような基準化鉛直方向軌道を決定する手法は種々様々な手法を採用し得るが、以下にその手法の一例を説明する。
なお、以下の説明では、単位歩容の始端位置の下限オフセット点を始端位置下限オフセット点Qs、終端位置の下限オフセット点を終端位置下限オフセット点Qeという。
基準化鉛直方向軌道は、例えば、図13のフローチャートで示す処理によって生成される。
まず、STEP51において、歩容生成部22は、遊脚足平4swgの水平方向軌道の各サンプリング点に対応して前記の如く決定した下限オフセット点うちの、始端位置下限オフセット点Qsと終端位置下限オフセット点Qeとを除く下限オフセット点から、始端側の鉛直方向軌道を規定するために用いる始端側最大傾斜点Qasと、終端側の鉛直方向軌道を規定するために用いる終端側最大傾斜点Qaeとを決定する。
ここで、始端側最大傾斜点Qasは、Qs,Qeを除く下限オフセット点のうち、その点と始端位置下限オフセット点Qsとを結ぶ直線の傾きの大きさ(絶対値)が最大となる点である。同様に、終端側最大傾斜点Qaeは、Qs,Qeを除く下限オフセット点のうち、その点と終端位置下限オフセット点Qeとを結ぶ直線の傾きの大きさ(絶対値)が最大となる点である。
例えば、図14(a),(b),(c)にそれぞれ例示したように下限オフセット点が決定されている場合を想定する。この場合、図14(a)の例ではQ1の下限オフセット点、図14(b)の例ではQ6の下限オフセット点、図14(c)の例ではQ10の下限オフセット点が始端側最大傾斜点Qasとして決定される。また、図14(a)の例ではQ2の下限オフセット点、図14(b)の例ではQ7の下限オフセット点、図14(c)の例ではQ10の下限オフセット点が終端側最大傾斜点Qaeとして決定される。
なお、始端位置下限オフセット点Qsと結ぶ直線の傾きの大きさが互いに同一の値で最大となる下限オフセット点が2つ以上有る場合には、それらの下限オフセット点のうち、Qsに最も遠い下限オフセット点が始端側最大傾斜点Qasとして決定される。
同様に、終端位置下限オフセット点Qeと結ぶ直線の傾きの大きさが互いに同一の値で最大となる下限オフセット点が2つ以上有る場合には、それらの下限オフセット点のうち、Qeに最も遠い下限オフセット点が終端側最大傾斜点Qaeとして決定される。
補足すると、下限オフセット点と、始端位置下限オフセット点Qsとを結ぶ直線の上記傾き、並びに、下限オフセット点と、終端位置下限オフセット点Qeとを結ぶ直線の上記傾きというのは、詳しくは、始端位置下限オフセット点Qs(=始端での基準化下限高さ投影点)と終端位置下限オフセット点Qe(=終端での基準化下限高さ投影点)とを結ぶ直線に対する傾きである。
従って、各下限オフセット点を、前記下限高さ投影点の高さを前記オフセット量だけ高くした点として決定した場合には、上記傾きは、前記始端・終端間ラインLseに対する傾きを意味するものとなる。
次いで、STEP52において、歩容生成部22は、始端側最大傾斜点Qasと終端側最大傾斜点Qaeとの間(詳しくは、両最大傾斜点Qas,Qaeの水平方向の間隔内)に、他の下限オフセット点が存在するか否かを判断する。
そして、この判断結果が否定的である場合には、歩容生成部22は、STEP53で基準化鉛直方向軌道を決定する。このSTEP53では、詳しくは、歩容生成部22は、始端位置下限オフセット点Qs、始端側最大傾斜点Qas、終端側最大傾斜点Qae、終端位置下限オフセット点Qeを順に線分で結んでなる四角形状又は三角形状の凸多角形軌道を基準化鉛直方向軌道として決定する。
例えば図14(c)に示す例では、STEP52の判断結果が否定的となる。そして、この場合、始端側最大傾斜点Qasと終端側最大傾斜点Qaeとが同じ点Q10であるので、STEP53においては、図14(c)に太線で示すように、Qs,Q10(=Qas=Qae),Qeを頂点とする三角形状の軌道が、基準化鉛直方向軌道として決定される。
なお、始端側最大傾斜点Qasと終端側最大傾斜点Qaeとが異なる場合(両最大傾斜点Qas,Qaeが、互いに隣合う2つのサンプリング点に対応する点である場合)には、四角形状の軌道が、基準化鉛直方向軌道として決定される。この場合の一例の基準化鉛直方向軌道が、図12(b)に示したものである。
上記STEP52の判断結果が肯定的である場合には、歩容生成部22は、STEP54において、両最大傾斜点Qas,Qaeと、これらの両最大傾斜点Qas,Qaeの間の下限オフセット点とから、その高さ(詳しくは、始端位置下限オフセット点Qsと終端位置下限オフセット点Qeを結ぶ直線に対する相対高さ)が最も高い点である最大高さ点Qhmaxを決定する。
例えば図14(a),(b)に示す例では、STEP52の判断結果が肯定的となる。この場合、図14(a)に示す例では、STEP54で、Q3の点が最大高さ点Qhmaxとして決定される。また、図14(b)に示す例では、STEP54で、Q7(=Qae)の点が、最大高さ点Qhmaxとして決定される。
次いで、歩容生成部22は、STEP55において、最大高さ点Qhmaxが、両最大傾斜点Qas,Qaeのうちのいずれか一方に一致する点であるか否かを判断する。
この判断結果が否定的である場合には、歩容生成部22は、STEP56において、始端位置下限オフセット点Qsと終端位置下限オフセット点Qeとを結ぶ直線に平行で、最大高さ点Qhmaxを通る直線を、基準化鉛直方向軌道の上辺の軌道を規定する上辺直線として決定する。このように決定される上辺直線は、始端側最大傾斜点Qas及び終端側最大傾斜点Qaeと、これら間の下限オフセット点とのいずれもが、該上辺直線上又はその下側の点となるような直線である。
次いで、STEP57において、歩容生成部22は、上記上辺直線と、始端位置下限オフセット点Qs及び始端側最大傾斜点Qasの2点を結ぶ直線である始端側最大傾斜直線との交点Qbsを求める(Qbsの位置を決定する)と共に、上記上辺直線と、終端位置下限オフセット点Qe及び終端側最大傾斜点Qaeの2点を結ぶ直線である終端側最大傾斜直線との交点Qbeを求める(Qbeの位置を決定する)。
さらに、歩容生成部22は、STEP58において、始端位置下限オフセット点Qs、上記交点Qbs及びQbe、終端位置下限オフセット点Qeを順に線分で結んでなる四角形状(ここでは台形状)の凸多角形軌道を基準化鉛直方向軌道として決定する。
例えば図14(a)に示す例では、STEP55の判断結果が否定的となる。この場合、STEP56において、L3の直線が上辺直線として決定される。そして、この上辺直線L3と、始端側最大傾斜直線としてのL1の直線との交点Q4、並びに、上辺直線L3と、終端側最大傾斜直線としてのL2の直線との交点Q5が、それぞれ上記交点Qbs,QbeとしてSTEP57で求められる。
そして、STEP58において、図中に太線で示すように、Qs,Q4(=Qbs),Q5(=Qbe),Qeを頂点とする四角形状(台形状)の軌道が基準化鉛直方向軌道として決定される。
一方、STEP55の判断結果が肯定的である場合には、歩容生成部22は、STEP59において、上辺直線を決定する。このSTEP59では、より詳しくは、歩容生成部22は、始端側最大傾斜点Qas及び終端側最大傾斜点Qaeと、これら間の下限オフセット点とのうちの前記最大高さ点Qhmax(=Qas又はQae)と、他の点とを結ぶ直線であって、その傾斜の大きさが最も小さい直線を上辺直線として決定する。このように決定される上辺直線は、始端側最大傾斜点Qas及び終端側最大傾斜点Qaeと、これら間の下限オフセット点とのいずれもが、該上辺直線上又はその下側の点となるような直線である。
次いで、STEP60において、歩容生成部22は、上記上辺直線と、始端側最大傾斜点Qas及び終端側最大傾斜点Qaeのうちの最大高さ点Qhmaxと異なる点を通る最大傾斜直線(前記始端側最大傾斜直線又は終端側最大傾斜直線)との交点Qcを求める(Qcの位置を決定する)。
さらに、歩容生成部22は、STEP61において、始端位置下限オフセット点Qsと、上記最大高さ点Qhmax及び交点QcのうちのQsに近い側の一方の点Qhmax又はQcと、他方の点Qc又はQhmaxと、終端位置下限オフセット点Qeとを順に線分で結んでなる四角形状の凸多角形軌道を基準化鉛直方向軌道として決定する。
例えば図14(b)に示す例では、STEP55の判断結果が肯定的となる。この場合、STEP59において、最大高さ点Qhmax(ここではQhmax=Qae)としてのQ7の点と、図中のQ8の点とを結ぶL6の直線が上辺直線として決定される。そして、この上辺直線L6と、最大高さ点Qhmaxではない始端側最傾斜点Q6(=Qas)及び始端位置下限オフセット点Qsの2点を結ぶ始端側最大傾斜直線としてのL4の直線との交点Q9が上記交点QcとしてSTEP60で求められる。
そして、この場合、交点Q9が最大高さ点Q7よりも始端位置下限オフセット点Qsに近い。このため、STEP61においては、図中に太線で示すように、Qs,Q9(=Qc),Q7(=Qhmax=Qbe),Qeを頂点とする四角形状(台形状)の軌道が基準化鉛直方向軌道として決定される。
以上が、基準化鉛直方向軌道を決定する手法の一例である。
ただし、各下限オフセット点を、軌道上又はその内側に包含するような凸多角形状の基準化鉛直方向軌道の決定手法は、上記の手法に限られるものではない。例えば、前記STEP55の判断結果が否定的となった場合の基準化鉛直方向軌道は、図15のフローチャートに示す如き手法によって決定するようにしてもよい。以下説明すると、この例では、STEP55の判断結果が否定的である場合に、歩容生成部22は、STEP71において、基準化鉛直方向軌道の上辺直線の候補としての始端側上辺直線候補と、終端側上辺直線候補とを決定する。
この場合、より詳しくは、始端側最大傾斜点Qas及び終端側最大傾斜点Qaeと、これら間の下限オフセット点とのうちの最大高さ点Qhmaxと、このQhmaxよりも始端側の他の点とを結ぶ直線であって、その傾斜の大きさが最も小さい直線が始端側上辺直線候補として決定される。
また、始端側最大傾斜点Qas及び終端側最大傾斜点Qaeと、これら間の下限オフセット点とのうちの最大高さ点Qhmaxと、このQhmaxよりも終端側の他の点とを結ぶ直線であって、その傾斜の大きさが最も小さい直線が終端側上辺直線候補として決定される。
例えば前記した図14(a)と下限オフセット点の配置が同じである図16に示す例を想定する。この場合、前記STEP54で最大高さ点Qhmaxとして決定されるQ3の点と、それよりも始端側のQ11の点とを結ぶL9の直線が、始端側上辺直線候補として決定される。
また、Q3の点と、それよりも終端側のQ2の点(ここではQ2=Qae)とを結ぶL10の直線が、終端側上辺直線候補として決定される。
次いで、歩容生成部22は、STEP72において、上記の如く決定した始端側上辺直線候補と、前記始端側最大傾斜直線及び終端側最大傾斜直線のそれぞれとの交点Qds1,Qde1を求めると共に、終端側上辺直線候補と、前記始端側最大傾斜直線及び終端側最大傾斜直線のそれぞれとの交点Qds2,Qde2を求める。
例えば図16に示す例では、始端側上辺直線候補である直線L9と始端側最大傾斜直線である直線L1との交点Q12、並びに、直線L9と終端側最大傾斜直線である直線L2との交点Q13が、それぞれ上記交点Qds1,Qde1として求められる。
さらに、終端側上辺直線候補である直線L10と直線L1との交点Q14、並びに、直線L10と直線L2との交点Q2が、それぞれ上記交点Qds2,Qde2として求められる。
次いで、歩容生成部22は、STEP73において、始端側上辺直線候補に対応する上記交点Qds1,Qde1の組と、終端側上辺直線候補に対応する上記交点Qds2,Qde2の組のうち、最大高さ(各組毎の点の高さ(詳しくは、始端位置下限オフセット点Qsと終端位置下限オフセット点Qeを結ぶ直線に対する相対高さ)の最大値)が小さい方の組の2点を、基準化鉛直方向軌道を形成する点(基準化鉛直方向軌道上の折れ点)としての軌道形成点Qds,Qdeとして決定する。
例えば図16に示す例では、始端側上辺直線候補に対応する交点Qds1,Qde1の組の最大高さは、Q13(=Qde1)の高さ、終端側上辺直線候補に対応する交点Qds2,Qde2の組の最大高さは、Q14(=Qds2)の高さであり、前者の最大高さは、後者の最大高さよりも低い。
従って、この場合には、交点Q12(=Qds1),Q13(=Qde1)が、軌道形成点Qds,Qdeとして決定される。
そして、歩容生成部22は、STEP74において、始端位置下限オフセット点Qsと、上記軌道形成点Qds及びQdeと、終端位置下限オフセット点Qeとを順に線分で結んでなる四角形状の凸多角形軌道を基準化鉛直方向軌道として決定する。
例えば図16に示す例では、Q12(=Qds1),Q13(=Qde1)が軌道形成点Qds,Qdeとして決定されるので、図中に太線で示すように、Qs,Q12,Q13,Qeを頂点とする四角形状(台形状)の軌道が基準化鉛直方向軌道として決定される。
以上、図15及び図16を参照して説明した例では、前記STEP55の判断結果が否定的となる場合に決定される基準化鉛直方向軌道の上辺は、一般には、Qs、Qeを結ぶ直線に対して傾斜した線分となる。
本実施形態では、歩容生成部22は、以上説明した如く基準化鉛直方向軌道を決定した後に、この基準化方向軌道を用いて遊脚足平4swgの鉛直方向軌道を決定する。
この場合、遊脚足平4swgの鉛直方向軌道は、前記投影面上の各水平方向位置(始端位置と終端位置との間の任意の水平方向位置)での遊脚足平4swgの高さ位置(詳しくは、n歩目の支持脚足平4supに対応するロボット座標系で見た鉛直方向(Z軸方向)位置)が、該水平方向位置での基準化鉛直方向軌道の高さ位置に、該水平方向位置での前記始端・終端間ラインLseの相対高さ(始端位置での高さに対する相対高さ)を加えた高さ位置になる軌道として決定される。
例えば図12(a),(b)に示した例において、図中のaxの水平方向位置での鉛直方向軌道の高さ位置(鉛直方向位置)は、位置axでの基準化鉛直方向軌道の高さ位置に、位置axでは、始端・終端間ラインLseの相対高さhxを加えた高さ位置となる。
図9のフローチャートの説明に戻って、以上説明した如く、STEP4−6において遊脚足平4swgの鉛直方向軌道を決定した後、歩容生成部22は、次にSTEP4−7の処理を実行し、遊脚足平4swgの水平方向軌道及び鉛直方向軌道を規定する足平位置軌道パラメータを決定する。
この場合、水平方向軌道を規定する足平位置軌道パラメータとして、例えば、該水平方向軌道上の複数の点での水平方向位置と時刻(始端での時刻を基準とする時刻)との組、あるいは、該水平方向軌道の形状を近似する関数を指定するパラメータ等が決定される。
また、鉛直方向軌道を規定する足平位置軌道パラメータとして、例えば、単位歩容の始端及び終端での点を含めて該鉛直方向軌道の各折れ点での鉛直方向位置(Z軸方向位置)及び時刻(始端での時刻を基準とする時刻)との組が決定される。
以上が、本実施形態において、歩容生成部22により各足平部4の目標足平位置姿勢軌道を規定する足平位置姿勢軌道パラメータを決定するための処理の詳細である。
ここで、以上説明した実施形態と本発明との対応関係について補足しておく。
本実施形態では、制御処理ユニット11が、本発明の脚体運動軌道生成装置としての機能を有する。そして、この制御処理ユニット11の床面情報取得部21によって、本発明における床面情報取得手段が実現される。
また、制御処理ユニット11の歩容生成部22は、本発明における目標着地位置姿勢設定手段、水平方向軌道決定手段、下限高さ決定手段、鉛直方向軌道決定手段、下限オフセット点決定手段としての機能を含んでいる。
この場合、より詳しくは、前記STEP3の処理によって、目標着地位置姿勢設定手段が実現され、前記STEP4−1の処理によって、水平方向軌道決定手段が実現される。なお、STEP4−1の処理で決定する遊脚足平4swgの水平方向軌道が、本発明における遊脚の先端部の水平方向の目標運動軌道に相当する。
また、前記STEP4−3〜4−5の処理によって、下限高さ決定手段が実現され、前記STEP4−6の処理によって、鉛直方向軌道決定手段が実現される。この場合、STEP4−6の処理の中で、下限オフセット点を決定する処理によって、本発明における下限オフセット点決定手段が実現される。
なお、STEP4−6の処理で決定する遊脚足平4swgの鉛直方向軌道が、本発明における遊脚の先端部の鉛直方向の目標運動軌道に相当する。
以上説明した実施形態によれば、床面情報取得部21により取得した局所領域AR毎の床面情報を用い、遊脚足平4swgの目標着地位置及び目標着地姿勢を、前記接地状態条件、高さ・傾斜条件、組み合わせ条件、及び軌道条件を満たすように前記1つの局所領域AR内で決定するようにしたので、ロボット1を移動させる床面が、種々様々の高さ、傾きを有する形状のものであっても、ロボット1の各関節の変位量が可動範囲に収まるようにしつつ、該遊脚足平4swgの着地後の接地状態を安定に確保でき、また、該遊脚足平4swgの軌道途中に過剰な高さの床面を有する局所領域ARや床面情報の不明な局所領域ARが存在することのないように、遊脚足平4swgの目標着地位置及び目標着地姿勢を決定できる。
そして、単位歩容における遊脚足平4swgの水平方向軌道上の各サンプリング毎に、その水平方向位置での前記下限高さを決定し、この下限高さにオフセット量を加えた高さ位置の点である下限オフセット点を包含する凸状軌道となるように遊脚足平4swgの鉛直方向軌道を決定したので、その軌道途中の床面形状によらずに、遊脚足平4swgと床面と接触を確実に回避し得る鉛直方向軌道を決定できる。
従って、本実施形態によれば、種々様々な形状の床面上で、ロボット1の移動を行なうことができるように、目標足平位置姿勢軌道を生成することができることとなる。
補足すると、本実施形態においては、N歩目までの単位歩容の目標足平位置姿勢軌道を決定した後に、それらの目標足平位置姿勢軌道を用いて、前記特許第3726081号、あるいは、特許第3674789号に示されているように今回歩容に続く前記仮想的な周期歩容(定常歩容)が決定される。そして、この周期歩容を将来の収束目標として、目標ZMP軌道が基準の軌道から修正され、その目標ZMP軌道を満足するように(ロボット1の運動によって発生する慣性力とロボット1に作用する重力との合力が目標ZMP周りに発生するモーメントの水平軸周り成分がゼロになるように)、今回歩容の目標上体位置姿勢軌道が動力学モデルを用いて決定される。
この場合、周期歩容における目標足平位置姿勢軌道によっては、該周期歩容を将来の収束目標として、目標ZMP軌道を修正したときに、該目標ZMP軌道が、支持多角形内の許容領域から逸脱してしまう場合もある。
そのような場合には、前記STEP1における基本要求着地位置姿勢を修正した上で、改めて前記STEP2からの処理を実行し、n歩目まで単位歩容の各足平部4の目標足平位置姿勢軌道を決定するようにすればよい。
なお、以上説明した実施形態では、下限高さ投影点から基準化下限高さ投影点を決定した上で、遊脚足平4swgの鉛直方向軌道を決定するようにしたが、基準化下限高さ投影点を決定する処理を省略して、遊脚足平4swgの鉛直方向軌道を決定するようにしてもよい。その場合には、前記下限高さ投影点の高さを前記オフセット量だけ高くした点を下限フセット点として決定した上で、前記基準化鉛直方向軌道を決定する前記の処理と同じ処理によって決定される軌道を、そのまま遊脚足平4swgの鉛直方向軌道として決定すればよい。
なお、この場合においては、始端位置下限オフセット点Qsと終端位置下限オフセット点Qeとは、それぞれ、単位歩容の始端での下限高さ投影点(=始端での遊脚足平4swgの位置の点)、終端での下限高さ投影点(=終端での遊脚足平4swgの位置の点)に一致する。そして、それらのQs、Qeを結ぶ直線は、前記始端・終端間ラインLseに一致する。
また、前記実施形態では、遊脚足平4swgの鉛直方向軌道を、三角形又は四角形状の軌道としたが、該鉛直方向軌道は、五角形等、より多くの角部を有する凸多角形状の軌道であってもよい。例えば、図16に示す例で、Qs、Q12、Q3、Q2、Qeを順に結ぶ五角形状の軌道を基準化鉛直方向軌道として決定し、この軌道の高さを、始端・終端間ラインLseの相対高さだけ修正してなる軌道を、遊脚足平4swgの鉛直方向軌道として決定するようにしてもよい。
さらには、例えば、始端側最大傾斜点と終端側最大傾斜点との間の鉛直方向軌道を凸曲線状の軌道に決定してもよい。
また、前記実施形態では、2つの脚体3,3を有する2足移動ロボットを例にとって説明したが、本発明の脚式移動ロボットは、3つ以上の脚体を備えるロボットであってもよい。
また、各脚体3の先端部は、足平状のものに限らず、他の形状に形成されたものであってもよい。