(57)【特許請求の範囲】
【請求項１】
少なくとも複数本の可動脚を備えた多関節構成の脚式移動ロボットの動作制御装置であって、
動作開始時における各関節の位置若しくは角度と加速度若しくは角加速度を記述した開始点動的基本姿勢データと、動作終了時における各関節の位置若しくは角度と加速度若しくは角加速度を記述した終点動的基本姿勢データと、前記動作開始時と前記動作終了時の間の各関節の位置若しくは角度のみを記述した１以上の姿勢データとからなる動作ユニットをつなぎ合わせて、前記脚式移動ロボットの行動シーケンスを生成する行動シーケンス生成部と、
該生成された行動シーケンスに従って、前記の各関節の動作を制御する運動制御部と、を備え、
前記行動シーケンス生成部は、前記第１の動作ユニットの後に前記第２の動作ユニットを配置して行動シーケンスを生成する際に、前記第１の動作ユニットの終点動的基本姿勢データと前記第２の動作ユニットの開始点動的基本姿勢データが不連続である場合には、前記第１の動作ユニットの終点動的基本姿勢データと前記第２の開始点動的基本姿勢データ間の連続性を補償するような各関節の位置若しくは角度と加速度若しくは角加速度を持つ動的基本姿勢データを前記第１及び第２の動作ユニット間に挿入する、
ことを特徴とする脚式移動ロボットの動作制御装置。
【請求項２】
少なくとも複数本の可動脚を備えた多関節構成の脚式移動ロボットの動作制御装置であって、
動作開始時における各関節の位置若しくは角度と加速度若しくは角加速度を記述した開始点動的基本姿勢データと、動作終了時における各関節の位置若しくは角度と加速度若しくは角加速度を記述した終点動的基本姿勢データと、前記動作開始時と前記動作終了時の間の各関節の位置若しくは角度のみを記述した１以上の姿勢データとからなる動作ユニットをつなぎ合わせて、前記脚式移動ロボットの行動シーケンスを生成する行動シーケンス生成部と、
該生成された行動シーケンスに従って、前記の各関節の動作を制御する運動制御部と、を備え、
前記行動シーケンス生成部は、前記第１の動作ユニットの後に前記第２の動作ユニットを配置して行動シーケンスを生成する際に、前記第１の動作ユニットの終点動的基本姿勢データと前記第２の動作ユニットの開始点動的基本姿勢データが連続的でない場合には、前記第１の動作ユニットの終点動的基本姿勢データを開始点動的基本姿勢データに持つとともに前記第２の開始点動的基本姿勢データを終点動的基本姿勢データに持つ第３の動作ユニットを前記第１及び第２の動作ユニット間に挿入する、
ことを特徴とする脚式移動ロボットの動作制御装置。
【請求項３】
少なくとも複数本の可動脚を備えた多関節構成の脚式移動ロボットの動作制御装置であって、
動作開始時における各関節の位置若しくは角度と加速度若しくは角加速度を記述した開始点動的基本姿勢データと、動作終了時における各関節の位置若しくは角度と加速度若しくは角加速度を記述した終点動的基本姿勢データと、前記動作開始時と前記動作終了時の間の各関節の位置若しくは角度のみを記述した１以上の姿勢データとからなる動作ユニットをつなぎ合わせて、前記脚式移動ロボットの行動シーケンスを生成する行動シーケンス生成部と、
該生成された行動シーケンスに従って、前記の各関節の動作を制御する運動制御部と、
前記第１の動作ユニットの終点動的基本姿勢データと前記第２の動作ユニットの開始点動的基本姿勢データがそれぞれ持つ各関節の位置若しくは角度と加速度若しくは角加速度を境界条件として、これらの動的基本姿勢データを各関節の位置若しくは角度を記述した複数の姿勢データで補間する姿勢データ変換部と、
を備え、
前記運動制御部は、前記姿勢データ変換部によって動的基本姿勢データが姿勢データに変換された行動シーケンスに従って、各関節の動作を制御する、
ことを特徴とする脚式移動ロボットの動作制御装置。
【請求項４】
少なくとも複数本の可動脚を備えた多関節構成の脚式移動ロボットの動作制御方法であって、
動作開始時における各関節の位置若しくは角度と加速度若しくは角加速度を記述した開始点動的基本姿勢データと、動作終了時における各関節の位置若しくは角度と加速度若しくは角加速度を記述した終点動的基本姿勢データと、前記動作開始時と前記動作終了時の間の各関節の位置若しくは角度のみを記述した１以上の姿勢データとからなる動作ユニットをつなぎ合わせて、前記脚式移動ロボットの行動シーケンスを生成する行動シーケンス生成ステップと、
該生成された行動シーケンスに従って、前記の各関節の動作を制御する運動制御ステップと、
を有し、
前記行動シーケンス生成ステップでは、前記第１の動作ユニットの後に前記第２の動作ユニットを配置して行動シーケンスを生成する際に、前記第１の動作ユニットの終点動的基本姿勢データと前記第２の動作ユニットの開始点動的基本姿勢データが不連続である場合には、前記第１の動作ユニットの終点動的基本姿勢データと前記第２の開始点動的基本姿勢データ間の連続性を補償するような各関節の位置若しくは角度と加速度若しくは角加速度を持つ動的基本姿勢データを前記第１及び第２の動作ユニット間に挿入する、
ことを特徴とする脚式移動ロボットの動作制御方法。
【請求項５】
少なくとも複数本の可動脚を備えた多関節構成の脚式移動ロボットの動作制御方法であって、
動作開始時における各関節の位置若しくは角度と加速度若しくは角加速度を記述した開始点動的基本姿勢データと、動作終了時における各関節の位置若しくは角度と加速度若しくは角加速度を記述した終点動的基本姿勢データと、前記動作開始時と前記動作終了時の間の各関節の位置若しくは角度のみを記述した１以上の姿勢データとからなる動作ユニットをつなぎ合わせて、前記脚式移動ロボットの行動シーケンスを生成する行動シーケンス生成ステップと、
該生成された行動シーケンスに従って、前記の各関節の動作を制御する運動制御ステップと、
を有し、
前記行動シーケンス生成ステップでは、前記第１の動作ユニットの後に前記第２の動作ユニットを配置して行動シーケンスを生成する際に、前記第１の動作ユニットの終点動的基本姿勢データと前記第２の動作ユニットの開始点動的基本姿勢データが連続的でない場合には、前記第１の動作ユニットの終点動的基本姿勢データを開始点動的基本姿勢データに持つとともに前記第２の開始点動的基本姿勢データを終点動的基本姿勢データに持つ第３の動作ユニットを前記第１及び第２の動作ユニット間に挿入する、
ことを特徴とする脚式移動ロボットの動作制御方法。
【請求項６】
少なくとも複数本の可動脚を備えた多関節構成の脚式移動ロボットの動作制御方法であって、
動作開始時における各関節の位置若しくは角度と加速度若しくは角加速度を記述した開始点動的基本姿勢データと、動作終了時における各関節の位置若しくは角度と加速度若しくは角加速度を記述した終点動的基本姿勢データと、前記動作開始時と前記動作終了時の間の各関節の位置若しくは角度のみを記述した１以上の姿勢データとからなる動作ユニットをつなぎ合わせて、前記脚式移動ロボットの行動シーケンスを生成する行動シーケンス生成ステップと、
該生成された行動シーケンスに従って、前記の各関節の動作を制御する運動制御ステップと、
前記第１の動作ユニットの終点動的基本姿勢データと前記第２の動作ユニットの開始点動的基本姿勢データがそれぞれ持つ各関節の位置若しくは角度と加速度若しくは角加速度を境界条件として、これらの動的基本姿勢データを各関節の位置若しくは角度を記述した複数の姿勢データで補間する姿勢データ変換ステップと、
を有し、
前記運動制御ステップでは、前記姿勢データ変換部によって動的基本姿勢データが姿勢データに変換された行動シーケンスに従って、各関節の動作を制御する、
ことを特徴とする脚式移動ロボットの動作制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ヒトやサルなどの脚式移動型動物の身体メカニズムをモデル化した脚式移動ロボットの動作制御装置及び動作制御方法に係り、特に、多関節構造からなり且つ各関節の時系列的に動作させることにより所定の行動シーケンスを発現する脚式移動ロボットの動作制御装置及び動作制御方法に関する。
【０００２】
さらに詳しくは、本発明は、各関節の時系列的な動作からなる基本動作ユニット、並びに基本動作の組み合わせからなる複合動作ユニットを用いて、所定の行動シーケンスを発現する脚式移動ロボットの動作制御装置及び動作制御方法、並びに脚式移動ロボットのための動作ユニット生成方法に係り、特に、高速動作時においても機体動作の安定性を維持したまま動作ユニットを接続して行動シーケンスを発現する脚式移動ロボットの動作制御装置及び動作制御方法、並びに脚式移動ロボットのための動作ユニット生成方法に関する。
【０００３】
【従来の技術】
電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置のことを「ロボット」という。ロボットの語源は、スラブ語の"ＲＯＢＯＴＡ(奴隷機械)"に由来すると言われている。わが国では、ロボットが普及し始めたのは１９６０年代末からであるが、その多くは、工場における生産作業の自動化・無人化などを目的としたマニピュレータや搬送ロボットなどの産業用ロボット（industrial robot）であった。
【０００４】
最近では、ヒトやサルなどの２足直立歩行を行う動物の身体メカニズムや動作を模した脚式移動ロボットに関する研究開発が進展し、実用化への期待も高まってきている。２足直立による脚式移動は、クローラ式や、４足又は６足式などに比し不安定で姿勢制御や歩行制御が難しくなるが、不整地や障害物など作業経路上に凹凸のある歩行面や、階段や梯子の昇降など不連続な歩行面に対応することができるなど、柔軟な移動作業を実現できるという点で優れている。
【０００５】
ヒトの生体メカニズムや動作をエミュレートした脚式移動ロボットのことを、特に、「人間形」、若しくは「人間型」のロボット（humanoid robot）と呼ぶ。人間型ロボットは、例えば、生活支援、すなわち住環境その他の日常生活上の様々な場面における人的活動の支援などを行うことができる。
【０００６】
人間形若しくは人間型と呼ばれるロボットを研究・開発する意義を、例えば以下の２つの視点から把握することができよう。
【０００７】
１つは、人間科学的な視点である。すなわち、人間の下肢及び／又は上肢に似た構造のロボットを作り、その制御方法を考案して、人間の歩行動作をシミュレートするというプロセスを通じて、歩行を始めとする人間の自然な動作のメカニズムを工学的に解明することができる。このような研究成果は、人間工学、リハビリテーション工学、あるいはスポーツ科学など、人間の運動メカニズムを扱う他のさまざまな研究分野の進展に大いに還元することができるであろう。
【０００８】
もう１つは、人間のパートナーとして生活を支援する、すなわち住環境その他の日常生活上の様々な場面における人的活動の支援を行うロボットの開発である。この種のロボットは、人間の生活環境のさまざまな局面において、人間から動作や作法を教わりながら個々に個性の相違する人間又は環境への適応方法を学習し、機能面でさらに成長していく必要がある。このとき、ロボットが「人間形」すなわち人間と同じ形又は同じ構造をしている方が、人間とロボットとのスムースなコミュニケーションを行う上で有効に機能するものと考えられる。
【０００９】
例えば、踏んではならない障害物を避けながら部屋を通り抜ける方法を実地においてロボットに教示するような場合、クローラ式や4足式ロボットのように教える相手が自分と全く違う構造をしているよりも、同じような格好をしている２足歩行ロボットの方がユーザ（作業員）ははるかに教え易く、またロボットにとっても教わり易い筈である（例えば、高西著「２足歩行ロボットのコントロール」（自動車技術会関東支部＜高塑＞No.25, 1996 APRIL）を参照のこと）。
【００１０】
人間の作業空間や居住空間のほとんどは、２足による直立歩行という人間が持つ身体メカニズムや行動様式に合わせて形成されている。言い換えれば、人間の住空間は、車輪その他の駆動装置を移動手段とした現状の機械システムが移動するのには多くの障壁が存在する。したがって、機械システムすなわちロボットが様々な人的作業を代行し、さらに人間の住空間に深く浸透していくためには、ロボットの移動可能範囲が人間のそれとほぼ同じであることが好ましい。これが、脚式移動ロボットの実用化が大いに期待されている所以でもある。２足直立歩行を行うという人間の形態を有していることは、ロボットが人間の住環境との親和性を高める上で必須であると言える。
【００１１】
人間型ロボットの用途の１つとして、産業活動・生産活動等における各種の難作業の代行が挙げられる。例えば、原子力発電プラントや火力発電プラント、石油化学プラントにおけるメンテナンス作業、製造工場における部品の搬送・組立作業、高層ビルにおける清掃、火災現場その他における救助といったような危険作業・難作業を、人間に類似した構造や機能を備えたロボットに代行してもらう。
【００１２】
また、人間型ロボットの他の用途として、難作業の代行などの生活支援というよりも、生活密着型、すなわち人間との「共生」という用途が挙げられる。この種のロボットは、ヒトやサルなどの２足の直立歩行を行う動物が本来持つ全身協調型の動作メカニズムを忠実に再現し、その自然に円滑な動作を実現することを至上の目的とする。また、ヒトやサルなどの知性の高い直立動物をエミュレートする以上、四肢を用いた動作が生体として自然であり、且つ、動作が持つ表現力が豊かであることが望ましい。さらに、ユーザから入力されたコマンドを単に忠実に実行するだけではなく、相手の言葉や態度（「褒める」とか「叱る」、「叩く」など）に呼応した、生き生きとした動作表現を実現することも要求される。この意味において、ヒトを模したエンターティンメント指向の人間型ロボットは、まさに「人間形」のロボットと呼ぶに相応しい。
【００１３】
人間型を始めとする脚式移動ロボットは、他のタイプのロボットに比し、自由度すなわち関節駆動アクチュエータの個数が多い。すなわち、システムの制御対象が多いので、姿勢制御や歩行安定制御の計算量は指数関数的に増大する。さらに、２足歩行ロボットの場合には、機体の重心位置が上部に偏り、且つ、脚式動作時における重心移動が大きく本来不安定であるので（２足歩行ロボットのＺＭＰの存在範囲は、４足歩行型のそれに比しはるかに狭い）、姿勢制御や歩行安定制御の計算量は膨大である。
【００１４】
また、高速で安定した脚式作業の制御をすべて機体上でスタンドアロンで且つリアルタイムで行うことは不可能に近い。このため、一般に、脚式ロボットは予め計画された歩行動作を行う。（例えば、特開昭６２−９７００６号公報には、あらかじめ記憶された歩行パターン・データを用いることで、制御プログラムを簡素化するとともに、歩行パターンの各データ間を密につなぐことができる多関節歩行ロボット制御装置について開示されている。）
【００１５】
ロボットが実演する意味のある一連の振る舞いのことを「ビヘイビア」又は行動シーケンスと呼ぶ。行動シーケンスは、機体上の各関節アクチュエータの時系列的な動作を記述した動作パターン・データ（「アクション」とも呼ぶ）を複数組み合わせることによって構成することができる。すなわち、各関節の時系列的な動作を記述した動作パターン・データをあらかじめ所定の記憶装置内に用意しておき、所定の行動シーケンスを発現する際には、該当する動作パターン・データを記憶装置から呼び出して、これを機体上で再生するようにすればよい。
【００１６】
また、行動シーケンスを柔軟に生成するために、基本的あるいは頻繁に利用される動作パターン・データをデータベース管理して、部品化して再利用することができる。部品化された動作パターン・データのことを、本明細書では「動作ユニット」と呼ぶことにする。
【００１７】
基本動作ユニットの例としては、前進開始ユニット、前進定常歩行ユニット、前進停止ユニット、後退開始ユニット、後退定常歩行ユニット、後退停止ユニット、左（又は右）並進開始ユニット、左（又は右）並進定常歩行ユニット、左（右又は）並進停止ユニットなどを挙げることができる。
【００１８】
幾つかの基本動作ユニットを組み合わせることにより、さらに複雑な動作パターンを発現することができる。例えば、前進開始ユニットと、Ｎ回の前進定常歩行ユニットと、前進停止ユニットとを組み合わせることにより、直立停止中のロボットを前進歩行せしめることができる。
【００１９】
ロボットがさまざまの基本動作ユニットをあらかじめ備えておくことにより、豊かな動きを比較的容易に実現することができる。例えば、先述したエンターテインメント向けのロボットにおいては、動作表現が豊かであることが強く望まれている。基本的な動作ユニットの組み合わせを変更することより、記憶すべき動作ユニット数を増やすことなく、さまざまな行動シーケンスを実演することが可能になる。
【００２０】
従来、動作ユニットと呼ばれるようなロボットの基本動作パターンは、ロボットのポーズ、すなわち静止した状態での各関節の位置を記述した姿勢データを時系列的に配列することによって表すことが一般的であった。この場合、２つの動作ユニットを接続する際には、各関節の静的な位置（すなわち静的な姿勢）の連続性のみを考慮して接続の可否が判定される。
【００２１】
ロボットが静的若しくは比較的緩やかな動作しか実演しないような場合であれば、各関節の回転角度のみを指示する動作ユニットを単につなぎ合わせていくだけでも、安定した動作を行うことが可能であろう。しかしながら、加速度成分を無視できないような高速動作を行うような場合には、加速度成分は外乱となって機体に影響を及ぼすので、動作ユニットを接続する際に不安定な動作になる危険がある。あるいは、加速度成分の影響のため、動作ユニット間の切替えポイントに著しい制限が加わることもある。
【００２２】
加速度成分を無視できないような動作としては、走行若しくは走行への移行期のように機体に対する床反力がゼロになる状態を遷移する動作や、さらに、走行時において重力加速度に打ち勝つ加速度運動が生じて両足とも地面と接地していない空中にいる状態を遷移する動作が挙げられる。
【００２３】
【発明が解決しようとする課題】
本発明の目的は、多関節構造からなり且つ各関節の時系列的に動作させることにより所定の行動シーケンスを発現することができる、脚式移動ロボットのための優れた動作制御装置及び動作制御方法を提供することにある。
【００２４】
本発明のさらなる目的は、各関節の時系列的な動作からなる基本動作ユニット、並びに基本動作の組み合わせからなる複合動作ユニットを用いて、所定の行動シーケンスを発現することができる、脚式移動ロボットのための優れた動作制御装置及び動作制御方法、並びに脚式移動ロボットのための動作ユニット生成方法を提供することにある。
【００２５】
本発明のさらなる目的は、加速度成分を無視できないような高速動作時においても機体動作の安定性を維持したまま動作ユニットを接続して行動シーケンスを発現することができる、脚式移動ロボットのための優れた動作制御装置及び動作制御方法、並びに脚式移動ロボットのための動作ユニット生成方法を提供することにある。
【００２６】
【課題を解決するための手段及び作用】
本発明は、上記課題を参酌してなされたものであり、その第１の側面は、少なくとも複数本の可動脚を備えた多関節構成の脚式移動ロボットの動作制御装置又は動作制御方法であって、
各関節の時系列的な動作を記述した動作ユニットを用いて行動シーケンスを生成する行動シーケンス生成部又はステップと、
該生成された行動シーケンスに従って、前記の各関節の動作を制御する運動制御部又はステップと、
を備えた脚式移動ロボットの動作制御装置である。
【００２７】
ここで言う動作ユニットは、該動作ユニットの動作開始並びに動作終了の各端点における各関節の少なくとも加速度若しくは関節角加速度を含んだ動的基本姿勢と、両端の動的基本姿勢の間を接続する１以上の運動姿勢とで構成される。運動姿勢は、各関節における加速度若しくは関節角加速度以外に、各関節における位置データ又は角度データや速度若しくは角速度成分を含んでもよい。
【００２８】
動作ユニットの両端点が加速度成分を含んでいるので、２つの動作ユニットを接続する際は、関節の位置又は角度、速度又は角速度の連続性だけでなく、関節における加速度若しくは角加速度の連続性をも考慮に入れてその接続の可否を判定することができる。したがって、例えば走行時や跳躍時のように加速度成分を無視できないような高速動作を記述した動作ユニットどうしを接続する場合であっても、加速度の連続性が保証されるので、加速度成分が外乱となることはない。また、動作ユニット間の切替えポイントに制限が加わることはない。
【００２９】
本発明の第１の側面によれば、前記行動シーケンス生成部又はステップは、２つの動作ユニットを接続する際には、各動作ユニットの接続側の各端点における動的基本姿勢が持つ位置若しくは関節角度、速度若しくは関節角速度、並びに加速度若しくは関節角加速度の連続性を考慮することができる。そして、各動的基本姿勢どうしが不連続である場合には連続性を補償する動的基本姿勢を該動作ユニット間に挿入するようにしてもよい。
【００３０】
あるいは、各動的基本姿勢どうしが不連続である場合には連続性を補償する１以上の運動姿勢を該動作ユニット間に挿入するようにしてもよい。
【００３１】
あるいは、各動的基本姿勢どうしが不連続である場合には連続性を補償する動作ユニットを該動作ユニット間に挿入するようにしてもよい。
【００３２】
また、動的基本姿勢を１以上の静的な（すなわち、速度、加速度を持たない）姿勢データに変換する姿勢データ変換部又はステップをさらに備えていてもよい。このような場合、運動制御部は、静的な姿勢データに基づいて各関節の動作を制御することができる。したがって、位置若しくは関節角度、速度若しくは関節角速度、加速度若しくは関節角加速度からなる動的基本姿勢を扱うことができないロボット装置、すなわち位置データのみの指令に基づいて動作するロボット装置に対しても、本発明の思想を適用することができる。
【００３３】
また、本発明の第２の側面は、少なくとも複数本の可動脚を備えた多関節構成の脚式移動ロボットにおける各関節の時系列的な動作を記述した動作ユニットを生成する動作ユニット生成方法であって、
動作ユニットの両端点における各関節の少なくとも加速度若しくは関節角加速度を記述した動的基本姿勢の仮設定、並びに安定化条件の設定を行うステップと、
動作ユニット内で両端点の動的基本姿勢の間に挿入される各運動姿勢の仮設定を行うステップと、
仮設定された動的基本姿勢を持つ動作ユニットの運動パターンの安定化処理を行うステップと、
を具備することを特徴とする脚式移動ロボットのための動作ユニット生成方法である。
【００３４】
本発明の第２の側面に係る動作ユニット生成方法は、動的基本姿勢を含む動作ユニットを、少なくとも３つ以上の静的基本姿勢により構成される静的基本姿勢ユニットに変換して代替するステップをさらに備えてもよい。このような場合、位置若しくは関節角度、速度若しくは関節角速度、加速度若しくは関節角加速度からなる動的基本姿勢を扱うことができないロボット装置、すなわち位置データのみの指令に基づいて動作するロボット装置に対しても、本発明の思想を適用することができる。
【００３５】
また、動作ユニットの運動パターンの安定化処理を行うステップは、
（ａ）該動作ユニットを実現するための足部運動、体幹運動、上肢運動、腰部の姿勢及び高さを設定するサブステップと、
（ｂ）前記サブステップ（ａ）により設定された足部運動に基づいてＺＭＰ軌道を設定するサブステップと、
（ｃ）前記サブステップ（ｂ）により設定されたＺＭＰ上でモーメントが釣り合う腰部運動の解を求めるサブステップと、
を備えていてもよい。
【００３６】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【００３７】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００３８】
図１及び図２には本発明の実施に供される「人間形」又は「人間型」の脚式移動ロボット１００が直立している様子を前方及び後方の各々から眺望した様子を示している。図示の通り、脚式移動ロボット１００は、脚式移動を行う左右２足の下肢と、体幹部と、左右の上肢と、頭部と、制御部とで構成される。
【００３９】
左右各々の下肢は、大腿部と、膝関節と、脛部と、足首と、足平とで構成され、股関節によって体幹部の略最下端にて連結されている。また、左右各々の上肢は、上腕と、肘関節と、前腕とで構成され、肩関節によって体幹部の上方の左右各側縁にて連結されている。また、頭部は、首関節によって体幹部の略最上端中央に連結されている。
【００４０】
制御部は、この脚式移動ロボット１００を構成する各関節アクチュエータの駆動制御や各センサ（後述）などからの外部入力を処理するコントローラ（主制御部）や、電源回路その他の周辺機器類を搭載した筐体である。制御部は、その他、遠隔操作用の通信インターフェースや通信装置を含んでいてもよい。また、図１及び図２に示す例では、脚式移動ロボット１００が制御部を背中に背負うような格好となっているが、制御部の設置場所は特に限定されない。
【００４１】
さらに、図３には、本実施例に係る脚式移動ロボット１００が具備する関節自由度構成を模式的に示している。図示の通り、脚式移動ロボット１００は、２本の腕部と頭部１を含む上体と、脚式移動動作を実現する２本の脚部からなる下肢と、上肢と下肢とを連結する体幹部とで構成される。
【００４２】
頭部１を支持する首関節は、首関節ヨー軸２と、首関節ピッチ軸３と、首関節ロール軸４という３自由度を有している。
【００４３】
また、各腕部は、肩関節ピッチ軸８と、肩関節ロール軸９と、上腕ヨー軸１０と、肘関節ピッチ軸１１と、前腕ヨー軸１２と、手首関節ピッチ軸１３と、手首関節ロール軸１４と、手部１５とで構成される。手部１５は、実際には、複数本の指を含む多関節・多自由度構造体である。但し、手部１５の動作自体は、ロボット１００の姿勢安定制御や歩行動作制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、左右の各腕部は７自由度を有するとする。
【００４４】
また、体幹部は、体幹ピッチ軸５と、体幹ロール軸６と、体幹ヨー軸７という３自由度を有する。
【００４５】
また、下肢を構成する左右各々の脚部は、股関節ヨー軸１６と、股関節ピッチ軸１７と、股関節ロール軸１８と、膝関節ピッチ軸１９と、足首関節ピッチ軸２０と、関節ロール軸２１と、足部（足底）２２とで構成される。股関節ピッチ軸１７と股関節ロール軸１８の交点は、本実施例に係る脚式移動ロボット１００の股関節位置を定義するものとする。人体の足部（足底）２２は、実際には多関節・多自由度の足底を含んだ構造体であるが、本実施例に係る脚式移動ロボット１００の足底はゼロ自由度とする。したがって、左右の各脚部は６自由度で構成される。
【００４６】
以上を総括すれば、本実施例に係る脚式移動ロボット１００全体としては、合計で３＋７×２＋３＋６×２＝３２自由度を有することになる。但し、脚式移動ロボット１００が必ずしも３２個の関節自由度に限定される訳ではない。設計・製作上の制約条件や要求仕様等に応じて、関節自由度の個数を適宜増減することができることは言うまでもない。
【００４７】
脚式移動ロボット１００が持つ上述の各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、２足歩行という不安定構造体に対して姿勢制御を行うことなどの要請から、アクチュエータは小型且つ軽量であることが好ましい。本実施例では、ギア直結型で且つサーボ制御系をワンチップ化してモータ・ユニットに内蔵したタイプの小型ＡＣサーボ・アクチュエータを搭載することとした。なお、この種のＡＣサーボ・アクチュエータに関しては、例えば本出願人に既に譲渡されている特開２０００−２９９９７０号公報（特願平１１−３３３８６号明細書）に開示されている。
【００４８】
図４には、本実施例に係る脚式移動ロボット１００の制御システム構成を模式的に示している。同図に示すように、脚式移動ロボット１００は、ヒトの四肢を表現した各機構ユニット３０，４０，５０Ｒ／Ｌ，６０Ｒ／Ｌと、各機構ユニット間の協調動作を実現するための適応制御を行う制御ユニット８０とで構成される（但し、Ｒ及びＬの各々は、右及び左の各々を示す接尾辞である。以下同様）。
脚式移動ロボット１００全体の動作は、制御ユニット８０によって統括的に制御される。制御ユニット８０は、ＣＰＵ（Central Processing Unit）チップやメモリ・チップ等の主要回路コンポーネント（図示しない）で構成される主制御部８１と、電源装置やロボット１００の各構成要素とのデータやコマンドの授受を行うインターフェースや外部記憶装置（いずれも図示しない）などを含んだ周辺回路８２とで構成される。
【００４９】
本実施例では、電源装置は、脚式移動ロボット１００を自立的に駆動するためのバッテリを含んだ構成（図４には図示しない）となっている。バッテリによる自立駆動型であれば、脚式移動ロボット１００の行動半径は、電源ケーブル長や商用電源コンセントの場所などによる物理的な制限を受けることなく、自由に歩行することができる。また、歩行やその他の上肢を含めた各種の運動時に、電源ケーブルと機体との干渉を考慮する必要がなくなり、広範囲の作業空間における脚式移動が容易になる。
【００５０】
図３に示した脚式移動ロボット１００内の各関節自由度は、それぞれに対応するアクチュエータによって実現される。すなわち、頭部ユニット３０には、首関節ヨー軸２、首関節ピッチ軸３、首関節ロール軸４の各々を表現する首関節ヨー軸アクチュエータＡ2、首関節ピッチ軸アクチュエータＡ3、首関節ロール軸アクチュエータＡ4がそれぞれ配設されている。
【００５１】
また、体幹部ユニット４０には、体幹ピッチ軸５、体幹ロール軸６、体幹ヨー軸７の各々を表現する体幹ピッチ軸アクチュエータＡ5、体幹ロール軸アクチュエータＡ6、体幹ヨー軸アクチュエータＡ7がそれぞれ配備されている。
【００５２】
また、腕部ユニット５０Ｒ／Ｌは、上腕ユニット５１Ｒ／Ｌと、肘関節ユニット５２Ｒ／Ｌと、前腕ユニット５３Ｒ／Ｌに細分化されるが、肩関節ピッチ軸８、肩関節ロール軸９、上腕ヨー軸１０、肘関節ピッチ軸１１、肘関節ロール軸１２、手首関節ピッチ軸１３、手首関節ロール軸１４の各々を表現する肩関節ピッチ軸アクチュエータＡ8、肩関節ロール軸アクチュエータＡ9、上腕ヨー軸アクチュエータＡ10、肘関節ピッチ軸アクチュエータＡ11、肘関節ロール軸アクチュエータＡ12、手首関節ピッチ軸アクチュエータＡ13、手首関節ロール軸アクチュエータＡ14がそれぞれ配備されている。
【００５３】
また、脚部ユニット６０Ｒ／Ｌは、大腿部ユニット６１Ｒ／Ｌと、膝ユニット６２Ｒ／Ｌと、脛部ユニット６３Ｒ／Ｌに細分化されるが、股関節ヨー軸１６、股関節ピッチ軸１７、股関節ロール軸１８、膝関節ピッチ軸１９、足首関節ピッチ軸２０、足首関節ロール軸２１の各々を表現する股関節ヨー軸アクチュエータＡ16、股関節ピッチ軸アクチュエータＡ17、股関節ロール軸アクチュエータＡ18、膝関節ピッチ軸アクチュエータＡ19、足首関節ピッチ軸アクチュエータＡ20、足首関節ロール軸アクチュエータＡ21がそれぞれ配備されている。
【００５４】
上述した各関節アクチュエータＡ2，Ａ3…は、より好ましくは、ギア直結型で且つサーボ制御系をワンチップ化してモータ・ユニット内に搭載したタイプの小型ＡＣサーボ・アクチュエータ（前述）である。
【００５５】
頭部ユニット３０、体幹部ユニット４０、腕部ユニット５０、各脚部ユニット６０などの各機構ユニット毎に、アクチュエータ駆動制御用の副制御部３５，４５，５５，６５がそれぞれ配備されている。さらに、各脚部６０Ｒ，Ｌの足底が着床したか否かを検出する接地確認センサ９１及び９２を装着するとともに、体幹部ユニット４０内には、姿勢を計測する姿勢センサ９３を装備している。
【００５６】
姿勢センサ９３は、例えば、加速度センサとジャイロ・センサの組み合わせによって構成される。また、接地確認センサ９１及び９２は、例えば足底に設置された近接センサ又はマイクロ・スイッチなどで構成される。
【００５７】
姿勢センサ９３の出力により、体幹部分の傾きや姿勢を検出することができる。また、接地確認センサ９１及び９２の出力によって、歩行・走行などの動作期間中において、左右の各脚部が現在立脚又は遊脚いずれの状態であるかを判別することができる。
【００５８】
主制御部８０は、各センサ９１〜９３の出力に応答して制御目標をダイナミックに補正することができる。より具体的には、副制御部３５，４５，５５，６５の各々に対して適応的な制御を行い、脚式移動ロボット１００の上肢、体幹、及び下肢の協調した動作を実現することができる。
【００５９】
主制御部８１は、ユーザ・コマンドなどの外部要因に従って、あるいは感情モデルや本能モデル、学習モデルなどからなる内部状態に基づいて、行動計画を立案して、所望の機体動作を実行する。ロボット１００が行う機体動作は、主制御部８１にローカル接続された外部記憶装置にデータベース登録された動作ユニットを順次読み出して、１以上の動作ユニットを接続して行動シーケンスを生成して、これを機体上で再生することによって実現される。外部記憶装置は、例えば周辺回路８２の１つとして実装されるが、図面の錯綜を避けるため図４には図示しない。
【００６０】
本実施形態に係るロボット１００における機体動作は、脚式移動が基調となる。２足歩行タイプのロボットの場合、重心位置が上部に偏り、且つ脚式作業中の重心位置の移動量が大きいので、姿勢・歩行安定制御が極めて重要である。主制御部８１は、ＺＭＰ（Zero Moment Point）を安定度判別規範に用いて姿勢・歩行安定制御を行う。すなわち、主制御部８１は、足部運動、ＺＭＰ軌道、体幹運動、上肢運動、腰部高さなどを設定するとともに、これらの設定内容に従った動作を指示するコマンドを各副制御部３５，４５，５５，６５に転送する。
【００６１】
ここで言う「ＺＭＰ」とは、歩行中の床反力によるモーメントがゼロとなる床面上の点のことであり、また、「ＺＭＰ軌道」とは、例えばロボット１００の歩行動作期間中などにＺＭＰが動く軌跡を意味する。ＺＭＰの概念並びにＺＭＰを歩行ロボットの安定度判別規範に適用する点については、Miomir Vukobratovic著"LEGGED LOCOMOTION ROBOTS"（加藤一郎外著『歩行ロボットと人工の足』（日刊工業新聞社））に記載されている。
【００６２】
各々の副制御部３５，４５…では、主制御部８１から転送されてくる制御指令値をデコードして、該当する各関節アクチュエータＡ2，Ａ3…に対して駆動制御信号を出力する。
【００６３】
脚式移動ロボット１００が実演する意味のある一連の振る舞いのことを「ビヘイビア」又は行動シーケンスと呼ぶ。行動シーケンスは、機体上の各関節アクチュエータの時系列的な動作を記述した１以上の動作ユニットを組み合わせることによって構成することができる。すなわち、各関節の時系列的な動作を記述した動作ユニットを、あらかじめ機体上の所定の記憶装置（記憶装置は例えば周辺回路８２の１つとして実装されている）内に用意しておき、所定の行動シーケンスを発現する際には、該当する動作ユニットを記憶装置から逐次呼び出して、各動作ユニットをつなぎ合わせて機体上で再生するようにすればよい。
【００６４】
図５には、動作ユニットの構成例を示している。同図に示す例では、前進開始ユニット、前進定常歩行ユニット、前進停止ユニット、後退開始ユニット、後退定常歩行ユニット、後退停止ユニット、左（又は右）並進開始ユニット、左（又は右）並進定常歩行ユニット、左（又は右）並進停止ユニットが示されている。
【００６５】
図５に示す例では、脚式移動ロボット１００を前後並びに左右に移動させるための各動作ユニットが示されている。
【００６６】
前進開始ユニットは、停止姿勢から動的両脚支持姿勢Ｉまでの動作パターンを記述した動作ユニットであり、歩行周期と歩幅のデータを含む。また、前進定常歩行ユニットは、動的両脚支持姿勢Ｉから動的両脚支持姿勢Ｉまでの動作パターンを記述した動作ユニットであり、歩行周期と歩幅のデータを含む。また、前進停止ユニットは、動的両脚支持姿勢Ｉから停止姿勢までの動作パターンを記述した動作ユニットであり、歩行周期と歩幅のデータを含む。
【００６７】
後退開始ユニットは、停止姿勢から動的両脚支持姿勢IIまでの動作パターンを記述した動作ユニットであり、歩行周期と歩幅のデータを含む。また、後退定常歩行ユニットは、動的両脚支持姿勢IIから動的両脚支持姿勢IIまでの動作パターンを記述した動作ユニットであり、歩行周期と歩幅のデータを含む。また、後退停止ユニットは、動的両脚支持姿勢IIから停止姿勢までの動作パターンを記述した動作ユニットであり、歩行周期と歩幅のデータを含む。
【００６８】
左並進開始ユニットは、停止姿勢から動的両脚支持姿勢IIIまでの動作パターンを記述した動作ユニットであり、歩行周期と歩幅のデータを含む。また、左並進定常歩行ユニットは、動的両脚支持姿勢IIIから動的両脚支持姿勢IIIまでの動作パターンを記述した動作ユニットであり、歩行周期と歩幅のデータを含む。また、左並進停止ユニットは、動的両脚支持姿勢IIIから停止姿勢までの動作パターンを記述した動作ユニットであり、歩行周期と歩幅のデータを含む。
【００６９】
右並進開始ユニットは、停止姿勢から動的両脚支持姿勢IVまでの動作パターンを記述した動作ユニットであり、歩行周期と歩幅のデータを含む。また、右並進定常歩行ユニットは、動的両脚支持姿勢IVから動的両脚支持姿勢IVまでの動作パターンを記述した動作ユニットであり、歩行周期と歩幅のデータを含む。また、右並進停止ユニットは、動的両脚支持姿勢IVから停止姿勢までの動作パターンを記述した動作ユニットであり、歩行周期と歩幅のデータを含む。
【００７０】
幾つかの基本動作ユニットを組み合わせることにより、さらに複雑な動作パターンを発現することができる。例えば、前進開始ユニットと、Ｎ回の前進定常歩行ユニットと、前進停止ユニットという３種類の動作ユニットを組み合わせることにより、図６に示すように所定の距離を歩くという行動シーケンスを実現することができる。
【００７１】
また、図７には、動作ユニットの他の構成例を示している。同図に示す例では、さらに、前進左旋回定常歩行ユニット、前進右旋回定常歩行ユニット、後退左旋回定常歩行ユニット、後退右旋回定常歩行ユニットが示されている。これらの旋回定常歩行ユニットを上述の前進開始ユニット、前進停止ユニット、後退開始ユニット、並びに後退停止ユニットと組み合わせることにより、脚式移動ロボット１００が旋回して歩行するような行動シーケンスを実演することができる。
【００７２】
この他、前進、並進、後退、旋回の各動作について微調整を行うような、微調整前進歩行ユニット、微調整後退歩行ユニット、微調整左並進ユニット、微調整右並進ユニットを用意しておいてもよい。また、比較的高速に移動する前進動作に関しては、前進開始から前進定常歩行に至るまでの加速前進歩行ユニットや、前進定常歩行から前進停止に至るまでの減速前進歩行ユニットを用意しておいてもよい。
【００７３】
図８には、本実施例に係る脚式移動ロボット１００において使用する動作ユニットの構造を模式的に図解している。１つの動作ユニットは、動作ユニットの開始並びに終了の状態を記述する動的基本姿勢と、これら両端点の動的基本姿勢を結ぶ１以上の運動姿勢とで構成される。
【００７４】
動的基本姿勢は、当該姿勢を構成する各関節の位置（すなわち回転角度）の他に、速度若しくは関節角速度、並びに加速度若しくは関節角加速度の成分を含んでいる。
【００７５】
運動姿勢は、機体の静止状態を記述した（すなわち位置データのみからなる）静的な運動姿勢の場合と、機体が動作する状態を記述した動的な運動姿勢の場合とがある。運動姿勢は、各関節の位置データだけで構成してもよいし、速度並びに加速度成分を含んでもよい。
【００７６】
動作ユニットの両端点が加速度成分を含んでいるので、２つの動作ユニットを接続する際は、関節の位置の連続性だけでなく、加速度の連続性をも考慮に入れてその接続の可否を判定することができる。したがって、加速度成分を無視できないような高速動作を記述した動作ユニットどうしを接続する場合であっても、加速度の連続性が保証されるので、加速度成分が外乱となることはない。また、動作ユニット間の切替えポイントに制限が加わることはない。
【００７７】
なお、加速度成分を無視できないような動作としては、走行若しくは走行への移行期のように機体に対する床反力がゼロになる状態を遷移する動作や、さらに、走行時において重力加速度に打ち勝つ加速度運動が生じて両足とも地面と接地していない空中にいる状態を遷移する動作が挙げられる。
【００７８】
次いで、２つの動作ユニットを接続するための処理について説明する。
【００７９】
接続元の動作ユニットＡの終点動的基本姿勢と、接続先の動作ユニットＢの開始点動的基本姿勢とが、連続性が成立する場合には、図９に示すように、そのまま動的基本姿勢どうしを接続すればよい。
【００８０】
これに対し、接続元の動作ユニットＡの終点動的基本姿勢と、接続先の動作ユニットＢの開始点動的基本姿勢とが連続しないような場合には、図１０に示すように、一方の終点と他方の開始点との連続性を補うような動的基本姿勢Ａ−Ｂを生成して、これで両動作ユニット間に挿入すればよい。図示しないが、このような動作ユニット間を補間する動作ユニットを２以上挿入してもよい。
【００８１】
あるいは、図１１に示すように、動作ユニットＡの終点動的基本姿勢と動作ユニットＢの開始点動的基本姿勢とを端点に持つ動作ユニットＣを新たに生成して、この動作ユニットＣによって動作ユニットＡ及びＢ間を補間するようにしてもよい。
【００８２】
次いで、動作ユニットを生成する方法について、図１２に示したフローチャートを参照しながら説明する。
【００８３】
まず、動作ユニットの両端点となる動的基本姿勢の仮設定、並びに安定化条件の設定を行う（ステップＳ１）。動的基本姿勢の仮設定は、当該姿勢における各関節アクチュエータの位置若しくは関節角度、速度若しくは関節角速度、加速度若しくは関節角加速度の各値を仮に設定することを意味する。また、安定化条件の設定では、例えばＺＭＰ軌道を安定度判別規範として使用する。
【００８４】
次いで、動作ユニット内で両端点の動的基本姿勢の間に挿入される各運動姿勢の仮設定を行う（ステップＳ２）。運動姿勢の仮設定は、当該姿勢における各関節アクチュエータの位置若しくは関節角度、速度若しくは関節角速度、加速度若しくは関節角加速度の各値を仮設定するか、又は、各関節アクチュエータの位置を仮設定することに相当する。
【００８５】
次いで、仮設定された動的基本姿勢を持つ動作ユニットの運動パターンの安定化処理、すなわち、ロボット１００の機体の腰、体幹、下肢運動などの修正処理を行うことによって、位置（若しくは関節角度）、速度（若しくは関節角速度）、並びに加速度（若しくは関節角加速度）の各データからなる動的基本姿勢を持つ動作ユニットを得ることができる（ステップＳ３）。
【００８６】
運動パターンの安定化処理については後述する。また、システムが静的姿勢（すなわち位置データと角度データのみ）しか受け付けない場合には、動的基本姿勢を含む動作ユニットを、少なくとも３つ以上の静的基本姿勢により構成される静的基本姿勢ユニットに変換して代替する。
【００８７】
次いで、図１２のステップＳ３で実行される運動パターンの安定化処理、すなわちロボット１００の機体の腰、体幹、下肢運動などの修正処理について説明する。
【００８８】
本実施例に係る脚式移動ロボット１００は、無限のすなわち連続的な質点の集合体であるが、有限数で離散的な質点からなる近似モデルに置き換えることによって、安定化処理のための計算量を削減するようにしている。より具体的には物理的には図３に示す多関節自由度構成を具備する脚式移動ロボット１００を、図１３に示すように多質点近似モデルに置き換えて取り扱う。図示の近似モデルは、線形且つ非干渉の多質点近似モデルである。
【００８９】
図１３において、Ｏ−ＸＹＺ座標系は絶対座標系におけるロール、ピッチ、ヨー各軸を表し、また、Ｏ'−Ｘ'Ｙ'Ｚ'座標系はロボット１００とともに動く運動座標系におけるロール、ピッチ、ヨー各軸を表している。同図に示す多質点モデルでは、ｉはｉ番目に与えられた質点を表す添え字であり、ｍiはｉ番目の質点の質量、ｒ'iはｉ番目の質点の位置ベクトル（但し運動座標系）を表すものとする。また、後述する腰部運動制御において特に重要な腰部質点の質量はｍh、その位置ベクトルはｒ'h（ｒ'hx，ｒ'hy，ｒ'hz）とし、また、ＺＭＰの位置ベクトルをｒ'zmpとする。
【００９０】
多質点モデルは、言わば、ワイヤフレーム・モデルの形態でロボットを表現したものである。図１３を見ても判るように、多質点近似モデルは、両肩、両肘、両手首、体幹、腰部、及び、両足首の各々を質点として設定される。図示の非厳密の多質点近似モデルにおいては、モーメント式は線形方程式の形式で記述され、該モーメント式はピッチ軸及びロール軸に関して干渉しない。多質点近似モデルは、概ね以下の処理手順により生成することができる。
【００９１】
（１）ロボット１００全体の質量分布を求める。
（２）質点を設定する。質点の設定方法は、設計者のマニュアル入力であっても、所定の規則に従った自動生成のいずれでも構わない。
（３）各領域i毎に、重心を求め、その重心位置と質量ｍiを該当する質点に付与する。
（４）各質点ｍiを、質点位置ｒiを中心とし、その質量に比例した半径に持つ球体として表示する。
（５）現実に連結関係のある質点すなわち球体同士を連結する。
【００９２】
なお、図１３に示す多質点モデルの腰部情報における各回転角（θhx，θhy，θhz）は、脚式移動ロボット１００における腰部の姿勢すなわちロール、ピッチ、ヨー軸の回転を規定するものである（図１４には、多質点モデルの腰部周辺の拡大図を示しているので、確認されたい）。
【００９３】
次いで、本実施例に係る脚式移動ロボット１００における安定化処理、すなわち腰、体幹、下肢運動などの修正処理の手順について説明する。
【００９４】
図１５及び図１６には、脚式移動ロボット１００において安定歩行可能な腰、体幹、下肢運動を生成するための処理手順の一例をフローチャートの形式で示している。但し、以下では、図１３に示すような線形・非干渉多質点近似モデルを用いてロボット１００の各関節位置や動作を記述するものとし、且つ、計算に際して以下のようなパラメータを用いることとする。但し、ダッシュ（´）付きの記号は運動座標系を記述するものと理解されたい。
【００９５】
【数１】
0004707290.tif 000002
【００９６】
また、ロボット１００の腰部高さが一定（ｒ'hz＋ｒqz＝const）で、且つ、膝部質点がゼロであることを前提とする。
【００９７】
まず、足部（より具体的には足底）運動、足部運動から導出されるＺＭＰ軌道、体幹運動、上肢運動、腰部の姿勢や高さなど、各部の駆動・動作を実際に決定するためのパターンが設定される（ステップＳ１１）。より具体的には、まず足部運動パターン、次いでＺＭＰ軌道、体幹運動パターン、そして上肢運動パターンを設定する。また、腰部の運動に関しては、Ｚ'方向のみ設定し、Ｘ'及びＹ'の各方向については未知とする。
【００９８】
次に、線形・非干渉多質点近似モデルを用いて、足部、体幹、そして上肢運動により発生する設定ＺＭＰ上でのピッチ軸、ロール軸まわりの各モーメント（Ｍx，Ｍy）を算出する（ステップＳ１２）。
【００９９】
次いで、線形・非干渉多質点近似モデルを用いて、腰部水平面内運動（ｒ'hx，ｒ'hy）によって発生する設定ＺＭＰ上でのモーメントを算出する（ステップＳ１３）。
【０１００】
次いで、設定ＺＭＰ上におけるモーメントに関する釣り合い式を、ロボットとともに動く運動座標系Ｏ'−Ｘ'Ｙ'Ｚ'上で導出する（ステップＳ１４）。より具体的には、足部、体幹、そして上肢運動により発生するロール軸並びにピッチ軸回りの各モーメント（Ｍx，Ｍy）を既知変数の項として右辺に、腰部質点の水平運動に関する項（ｒ'hx，ｒ'hy）を未知変数の項として左辺にまとめ、下式に示すような線形・非干渉なＺＭＰ方程式（１）を導出する。
【０１０１】
【数２】
0004707290.tif 000003
【０１０２】
但し、以下が成立するものとする。
【０１０３】
【数３】
0004707290.tif 000004
【０１０４】
次いで、上記のＺＭＰ方程式（１）を解いて、腰部水平面内軌道を算出する（ステップＳ１５）。例えば、オイラー法やルンゲ・クッタ法などの数値的解法（周知）を用いてＺＭＰ方程式（１）を解くことで、未知変数としての腰部の水平絶対位置（ｒ'hx，ｒ'hy）に入るような腰部水平絶対位置である。ＺＭＰ目標位置は、通常、着床した足底に設定される。
【０１０５】
算出された近似解上ではあらかじめ設定した体幹・上肢運動が実現できない場合には、体幹・上肢運動パターンの再設定・修正を行う（ステップＳ１７）。この際、膝部の軌道を算出してもよい。
【０１０６】
次いで、上述のようにして得られた全身運動パターンを代入して、厳密モデル（すなわち、剛体、若しくは非常に多くの質点からなるロボット１００の精密なモデル）における設定ＺＭＰ上のロール、ピッチ各軸回りのモーメント（ｅＭx，ｅＭy）を算出する（ステップＳ１８）。非厳密モデルでは上記の［数３］が成立することを前提としたが、厳密モデルではかかる前提を要しない（すなわち時間の変化に対して一定である必要はない）。
【０１０７】
厳密モデルにおけるモーメント（ｅＭx，ｅＭy）は、腰部運動においてロール並びのピッチの各軸回りに発生するモーメント誤差である。続くステップＳ１９では、これら各軸回りのモーメント（ｅＭx，ｅＭy）が非厳密モデルにおける近似モーメントの許容値（εＭx，εＭy）未満か否かを判定する。許容値ε未満であれば、機体上の腰、体幹、下肢の各部における安定運動パターンの厳密解及び安定歩行を実現できる全身運動パターンを得ることができたことを意味するので（ステップＳ２０）、本処理ルーチン全体を終了する。
【０１０８】
他方、厳密モデルにおけるモーメント（ｅＭx，ｅＭy）が近似モデルにおけるモーメントの許容値（εＭx，εＭy）以上であった場合には、厳密モデルにおけるモーメント（ｅＭx，ｅＭy）を用いて近似モデルにおける既知発生モーメント（Ｍx，Ｍy）を修正して（ステップＳ２１）、再びＺＭＰ方程式の導出を行う。そして、許容値ε未満に収束するまで、上述したような腰、体幹、下肢の運動パターンの近似解の算出と修正を繰り返し実行する。
【０１０９】
また、図１７及び図１８には、脚式移動ロボット１００において安定歩行可能な腰、体幹、下肢運動を生成するための処理手順の他の例をフローチャートの形式で示している。但し、上述と同様に、図１３に示した線形・非干渉多質点近似モデルを用いてロボット１００の各関節位置や動作を記述するものとする。
【０１１０】
まず、足部（より具体的には足底）運動、足部運動から導出されるＺＭＰ軌道、体幹運動、上肢運動、腰部の姿勢や高さなど、各部の駆動・動作を実際に決定するためのパターンが設定される（ステップＳ３１）。より具体的には、まず足部運動パターン、次いでＺＭＰ軌道、体幹運動パターン、そして上肢運動パターンを設定する。また、腰部の運動に関しては、Ｚ'方向のみ設定し、Ｘ'及びＹ'の各方向については未知とする。
【０１１１】
次に、線形・非干渉多質点近似モデル（前述並びに図１３を参照のこと）を用いて、足部、体幹、そして上肢運動により発生する設定ＺＭＰ上でのピッチ軸、ロール軸まわりの各モーメント（Ｍx，Ｍy）を算出する（ステップＳ３２）。
【０１１２】
次いで、腰部水平面内運動（ｒ'hx，ｒ'hy）をフーリエ級数展開する（ステップＳ３３）。当業界において既に周知のように、フーリエ級数展開することにより、時間軸成分を周波数成分に置き換えて演算することができる。すなわち、この場合には腰部の動きを周期的な動きとして捉えることができる。また、ＦＦＴ（高速フーリエ変換）を適用することができるので、計算速度を大幅に向上させることができる。
【０１１３】
次いで、設定ＺＭＰ上でのピッチ軸、ロール軸まわりの各モーメント（Ｍx，Ｍy）についてもフーリエ級数展開する（ステップＳ３４）。
【０１１４】
次いで、腰部水平面内軌道のフーリエ係数を算出し、さらに逆フーリエ級数展開することで（ステップＳ３５）、腰部運動の近似解が求まる（ステップＳ３６）。ここで求められる近似解は、安定歩行可能な腰部運動パターンを規定する腰部の水平絶対位置の近似解（ｒ'hx，ｒ'hy）であり、より具体的にはＺＭＰが目標位置に入るような腰部水平絶対位置である。ＺＭＰ目標位置は、通常、着床した足底に設定される。
【０１１５】
算出された近似解上では予め設定した体幹・上肢運動が実現できない場合には、体幹・上肢運動パターンの再設定・修正を行う（ステップＳ３７）。この際、膝部の軌道を算出してもよい。
【０１１６】
次いで、上述のようにして得られた全身運動パターンを代入して、厳密モデル（すなわち、剛体、若しくは非常に多くの質点からなるロボット１００の精密なモデル）における設定ＺＭＰ上のモーメント（ｅＭx，ｅＭy）を算出する（ステップＳ３８）。非厳密モデルでは上記の［数３］が成立することを前提としたが、厳密モデルではかかる前提を要しない（すなわち時間の変化に対して一定である必要はない）。
【０１１７】
厳密モデルにおけるモーメント（ｅＭx，ｅＭy）は、腰部運動の発生するモーメント誤差である。続くステップＳ３９では、このモーメント（ｅＭx，ｅＭy）が近似モデルにおけるモーメントの許容値（εＭx，εＭy）未満か否かを判定する。許容値ε未満であれば、腰、体幹、下肢などの安定運動パターンの厳密解及び安定歩行を実現できる全身運動パターンを得ることができたことを意味するので（ステップＳ４０）、本処理ルーチン全体を終了する。
【０１１８】
他方、厳密モデルにおけるモーメント（ｅＭx，ｅＭy）が近似モデルにおけるモーメントの許容値（εＭx，εＭy）以上であった場合には、厳密モデルにおけるモーメント（ｅＭx，ｅＭy）を用いて非厳密モデルにおける既知発生モーメント（Ｍx，Ｍy）を修正して（ステップＳ４１）、再びフーリエ級数展開して、許容値ε未満に収束するまで、上述したような腰、体幹、下肢などの運動パターンの近似解の算出と修正を繰り返し実行する。
【０１１９】
静的姿勢（すなわち位置データと角度データのみ）しか受け付けないシステムにおいては、動的基本姿勢を含む動作ユニットを、少なくとも３つ以上の静的基本姿勢により構成される静的基本姿勢ユニットに変換して代替すればよいという点は、既に述べた通りである。以下では、静的基本姿勢による代替処理について説明する。
【０１２０】
例えば、動作ユニットＡと動作ユニットＢを接続する場合、接続する各ユニットの端点並びにその近傍において、複数の静的基本姿勢を生成して、動的基本姿勢と置き換えることにより、実現される。
【０１２１】
図１９には、静的姿勢のみを受けつけるシステムにおいて連続する２つの動作ユニットを接続する様子を模式的に示している。また、図２０には、静的姿勢のみを受けつけるシステムにおいて連続しない２つの動作ユニットを接続する様子を模式的に示している。後者の場合、静的基本姿勢のみからなる動作ユニットが新たに生成されるがこの動作ユニットの端点は、接続対象となる動作ユニットＡ及びＢに含まれる。
【０１２２】
静的基本姿勢は、動作ユニットＡの端点の動的基本姿勢、並びに、動作ユニットＢの動的基本姿勢における各端点情報（すなわち、位置（若しくは関節角度）、速度（若しくは関節角速度）、加速度（若しくは関節角加速度））を境界条件として、５次又はそれ以上の多項式補間を用いて生成することができる。
【０１２３】
５次多項式補間は、以下の式を用いて行うことができる。
【０１２４】
【数４】
0004707290.tif 000005
【０１２５】
以下、上式を用いて動的基本姿勢（動作ユニットＡの端点）を代替する静的基本姿勢を生成するための擬似プログラム・コードを以下に示しておく。
【０１２６】
0004707290.tif 000006
0004707290.tif 000007
0004707290.tif 000008
0004707290.tif 000009
【０１２７】
勿論、各基本姿勢はロボットの安定性に影響を与えない範囲での許容値をもっても構わないので、５次よりも低い次数の多項式、若しくは直線補間を用いて簡易的に静的基本姿勢を生成することもできる。
【０１２８】
本発明に係る脚式移動ロボットの脚式移動ロボットの動作制御装置及び動作制御方法によれば、動作ユニットの両端点が加速度成分を含んでいるので、２つの動作ユニットを接続する際は、関節の位置又は角度、速度又は角速度の連続性だけでなく、関節における加速度若しくは角加速度の連続性をも考慮に入れてその接続の可否を判定することができる。
【０１２９】
ここでは、関節の位置又は角度、速度又は角速度の連続性だけを考慮して動作ユニットどうしを接続した場合と、本発明のように関節における加速度若しくは角加速度の連続性を考慮して動作ユニットを接続した場合について、動作シミュレーション結果を基に比較検討してみる。
【０１３０】
図２１及び図２２には、関節における加速度若しくは角加速度の連続性を考慮して動作ユニットを接続した場合における脚式移動ロボットの機体のＺＭＰ位置のＸ方向及びＹ方向の変動量を示している。
【０１３１】
また、図２３及び図２４には、関節における位置若しくは角度、速度若しくは角速度の連続性だけを考慮して動作ユニットを接続した場合における脚式移動ロボットの機体のＺＭＰ位置のＸ方向及びＹ方向の変動量を示している。
【０１３２】
各図において、横軸は時間軸であり、縦軸はＺＭＰ位置のＸ方向及びＹ方向の変動量を表している。横軸において１．３５付近が動作ユニットの接続点に相当する。特にＸ方向のＺＭＰ位置の変動量を比較した場合、加速度若しくは角加速度の連続性を考慮して接続した場合の方が滑らかに接続していることが判る。
【０１３３】
さらに、図２５には、動作ユニットの接続点におけるＺＭＰ位置のＸ方向の変動量を拡大して両者を比較している。但し、実線が関節における加速度若しくは角加速度の連続性を考慮した場合であり、破線が関節における位置若しくは角度、速度若しくは角速度の連続性だけを考慮した場合である。図示の通り、前者は動作ユニットが滑らかに接続されているのに対して、後者はＺＭＰ位置が急峻に変動するスパイク成分が現れており、動作ユニットの接続が滑らかでないことが判る。
【０１３４】
このような動作ユニットの接続時に関節の加速度若しくは角加速度成分を考慮するか否かの相違は、例えば走行時や跳躍時のように機体が高速に動作するような場合に顕著に現れてくる。すなわち、高速動作時には加速度成分を無視できなくなるので、これを無視して動作ユニットを接続すると、加速度成分は外乱となって機体に影響を及ぼすので、動作ユニットを接続する際に不安定な動作になる危険がある。あるいは、加速度成分の影響のため、動作ユニット間の切替えポイントに著しい制限が加わることもある。
【０１３５】
［追補］
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【０１３６】
本発明の要旨は、必ずしも「ロボット」と称される製品には限定されない。すなわち、電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置であるならば、例えば玩具等のような他の産業分野に属する製品であっても、同様に本発明を適用することができる。
【０１３７】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０１３８】
【発明の効果】
以上詳記したように、本発明によれば、多関節構造からなり且つ各関節の時系列的に動作させることにより所定の行動シーケンスを発現することができる、脚式移動ロボットのための優れた動作制御装置及び動作制御方法を提供することができる。
【０１３９】
また、本発明によれば、各関節の時系列的な動作からなる基本動作ユニット、並びに基本動作の組み合わせからなる複合動作ユニットを用いて、所定の行動シーケンスを発現することができる、脚式移動ロボットのための優れた動作制御装置及び動作制御方法、並びに脚式移動ロボットのための動作ユニット生成方法を提供することができる。
【０１４０】
また、本発明によれば、加速度成分を無視できないような高速動作時においても機体動作の安定性を維持したまま動作ユニットを接続して行動シーケンスを発現することができる、脚式移動ロボットのための優れた動作制御装置及び動作制御方法、並びに脚式移動ロボットのための動作ユニット生成方法を提供することができる。
【図面の簡単な説明】
【図１】本発明の実施に供される脚式移動ロボット１００を前方から眺望した様子を示た図である。
【図２】本発明の実施に供される脚式移動ロボット１００を後方から眺望した様子を示た図である。
【図３】本実施例に係る脚式移動ロボット１００が具備する関節自由度構成を模式的に示した図である。
【図４】本実施例に係る脚式移動ロボット１００の制御システム構成を模式的に示した図である。
【図５】動作ユニットの構成例を示した図である。
【図６】複数の動作ユニットの組み合わせにより、所定の距離を歩くという行動シーケンスを実現した例を示した図である。
【図７】動作ユニットの他の構成例を示した図である。
【図８】動作ユニットの構造を模式的に示した図である。
【図９】連続する２つの動作ユニットを接続する様子を模式的に示した図である。
【図１０】連続しない２つの動作ユニットを接続する例を模式的に示した図である。
【図１１】連続しない２つの動作ユニットを接続する他の例を模式的に示した図である。
【図１２】動作ユニットを生成するための処理手順をフローチャートの形式で示した図である。
【図１３】安定化処理のために導入される、脚式移動ロボット１００の線形且つ非干渉の多質点近似モデルを示した図である。
【図１４】図１３に示した多質点モデルの腰部周辺の拡大図である。
【図１５】脚式移動ロボット１００において安定歩行可能な腰、体幹、下肢運動を生成するための処理手順の一例を示したフローチャートである。
【図１６】脚式移動ロボット１００において安定歩行可能な腰、体幹、下肢運動を生成するための処理手順の一例を示したフローチャートである。
【図１７】脚式移動ロボット１００において安定歩行可能な腰、体幹、下肢運動を生成するための処理手順の他の例を示したフローチャートである。
【図１８】脚式移動ロボット１００において安定歩行可能な腰、体幹、下肢運動を生成するための処理手順の他の例を示したフローチャートである。
【図１９】静的姿勢のみを受けつけるシステムにおいて連続する２つの動作ユニットを接続する様子を模式的に示した図である。
【図２０】静的姿勢のみを受けつけるシステムにおいて連続しない２つの動作ユニットを接続する様子を模式的に示した図である。
【図２１】関節における加速度若しくは角加速度の連続性を考慮して動作ユニットを接続した場合におけるロボットの機体のＺＭＰ位置のＸ方向及びＹ方向の変動量を示したチャートである。
【図２２】関節における加速度若しくは角加速度の連続性を考慮して動作ユニットを接続した場合におけるロボットの機体のＺＭＰ位置のＸ方向及びＹ方向の変動量を示したチャートである。
【図２３】関節における位置若しくは角度、速度若しくは角速度の連続性だけを考慮して動作ユニットを接続した場合におけるロボットの機体のＺＭＰ位置のＸ方向及びＹ方向の変動量を示したチャートである。
【図２４】関節における位置若しくは角度、速度若しくは角速度の連続性だけを考慮して動作ユニットを接続した場合におけるロボットの機体のＺＭＰ位置のＸ方向及びＹ方向の変動量を示したチャートである。
【図２５】関節における位置若しくは角度、速度若しくは角速度の連続性だけを考慮して動作ユニットを接続した場合と、関節における加速度若しくは角加速度の連続性を考慮して動作ユニットを接続した場合とを、動作ユニットの接続点におけるＺＭＰ位置のＸ方向の変動量を拡大して比較したチャートである。
【符号の説明】
１…頭部，２…首関節ヨー軸
３…首関節ピッチ軸，４…首関節ロール軸
５…体幹ピッチ軸，６…体幹ロール軸
７…体幹ヨー軸，８…肩関節ピッチ軸
９…肩関節ロール軸，１０…上腕ヨー軸
１１…肘関節ピッチ軸，１２…前腕ヨー軸
１３…手首関節ピッチ軸，１４…手首関節ロール軸
１５…手部，１６…股関節ヨー軸
１７…股関節ピッチ軸，１８…股関節ロール軸
１９…膝関節ピッチ軸，２０…足首関節ピッチ軸
２１…足首関節ロール軸，２２…足部（足底）
３０…頭部ユニット，４０…体幹部ユニット
５０…腕部ユニット，５１…上腕ユニット
５２…肘関節ユニット，５３…前腕ユニット
６０…脚部ユニット，６１…大腿部ユニット
６２…膝関節ユニット，６３…脛部ユニット
８０…制御ユニット，８１…主制御部
８２…周辺回路
９１，９２…接地確認センサ
９３…姿勢センサ
１００…脚式移動ロボット
【図１】
0004707290.tif 000010
【図２】
0004707290.tif 000011
【図３】
0004707290.tif 000012
【図４】
0004707290.tif 000013
【図５】
0004707290.tif 000014
【図６】
0004707290.tif 000015
【図７】
0004707290.tif 000016
【図８】
0004707290.tif 000017
【図９】
0004707290.tif 000018
【図１０】
0004707290.tif 000019
【図１１】
0004707290.tif 000020
【図１２】
0004707290.tif 000021
【図１３】
0004707290.tif 000022
【図１４】
0004707290.tif 000023
【図１５】
0004707290.tif 000024
【図１６】
0004707290.tif 000025
【図１７】
0004707290.tif 000026
【図１８】
0004707290.tif 000027
【図１９】
0004707290.tif 000028
【図２０】
0004707290.tif 000029
【図２１】
0004707290.tif 000030
【図２２】
0004707290.tif 000031
【図２３】
0004707290.tif 000032
【図２４】
0004707290.tif 000033
【図２５】
0004707290.tif 000034