(57)【要約】【課題】左足先と右足先の位置を経時的に指示するデータからロボットが転倒しないで歩行するのに必要な体幹の位置を経時的に指示するデータを高速に算出する【解決手段】ロボットの足先位置を指令するデータの作成装置と、足先位置から目標ＺＭＰ位置を計算する装置と、目標ＺＭＰ位置を体幹位置とその加速度から線形計算できるディメンジョンに変換する装置と、体幹位置とその加速度をロボットの力学モデルに指令する装置と、ロボットの力学モデルに基づいて、指令された足先位置と体幹位置に従うときに得られるＺＭＰ位置を計算する装置と、計算されたＺＭＰ位置を前記ディメンジョンに変換する装置と、目標ＺＭＰ位置を変換した値と、力学モデルから計算されたＺＭＰ位置を変換した値が一致するように、指令装置が指令する体幹位置とその加速度を増減修正する装置をもつ。【選択図】図１
2005007496.tif 000002
【特許請求の範囲】
【請求項１】
両脚リンクを持つロボットを歩行させるのに必要な歩容データを作成する装置であり、
ロボットの脚リンクの足先位置を指令するデータの作成装置と、
指令された足先位置から目標ＺＭＰ位置を計算する装置と、
目標ＺＭＰ位置に、足先位置とその加速度と脚リンク質量と体幹質量を加味し、体幹位置とその加速度から線形計算できるディメンジョンに変換する装置と、
体幹位置とその加速度をロボットの力学モデルに指令する装置と、
ロボットの力学モデルに基づいて、指令された足先位置に足先をおき、指令された体幹位置とその加速度で体幹を移動させるときに得られるＺＭＰ位置を計算する装置と、
計算されたＺＭＰ位置を前記ディメンジョンに変換する装置と、
目標ＺＭＰ位置を前記ディメンジョンに変換した値と、ロボットの力学モデルから計算されたＺＭＰ位置を前記ディメンジョンに変換した値を比較し、両者が一致するように、前記指令装置が指令する体幹位置とその加速度を増減修正する修正装置と、
を有する歩容データの作成装置。
【請求項２】
両脚リンクを持つロボットを歩行させるのに必要な歩容データを作成する方法であり、
両脚リンクを持つロボットの力学モデルを構築する工程と、
ロボットの脚リンクの足先位置を指令するデータを作成する工程と、
指令された足先位置から目標ＺＭＰ位置を計算する工程と、
目標ＺＭＰ位置に、足先位置とその加速度と脚リンク質量と体幹質量を加味し、体幹位置とその加速度から線形計算できるディメンジョンに変換する工程と、
体幹位置とその加速度をロボットの力学モデルに指令する工程と、
ロボットの力学モデルに基づいて、指令された足先位置に足先をおき、指令された体幹位置とその加速度で体幹を移動させるときに得られるＺＭＰ位置を計算する工程と、
計算されたＺＭＰ位置を前記ディメンジョンに変換する工程と、
目標ＺＭＰ位置を前記ディメンジョンに変換した値と、ロボットの力学モデルから計算されたＺＭＰ位置を前記ディメンジョンに変換した値を比較し、両者が一致するように、ロボットの力学モデルに指令する体幹位置とその加速度を増減修正する工程と、
を有する歩容データの作成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】本発明は、体幹（胴部）に対して脚リンクが揺動可能に連結されている機械（脚式ロボット）を制御して歩行させる技術に関する。詳しくは、脚式ロボットを歩行させるのに必要なデータ（歩容データ）の作成技術に関する。
【０００２】
【従来の技術】体幹に対して左脚リンクと右脚リンクの相対的姿勢を変化させることによって歩行するロボットが開発されている。このロボットの場合、結果として歩行した結果が得られるように、体幹に対する左脚リンクと右脚リンクの相対的姿勢を変化させなければならない。このために、体幹と左足先と右足先の位置を指示する歩容データが利用される。
図１に示すように、歩容データは、ロボットが活動する空間の座標を定めるグローバル座標系において、体幹と左足先と右足先の位置を指示する。体幹と左足先と右足先の位置を指示するために、体幹には基準点Ｗが定められており、左足先には基準点Ｌが定められており、右足先には基準点Ｒが定められている。歩容データは、体幹の基準点Ｗと左足先の基準点Ｌと右足先の基準点Ｒの位置を経時的に指示する、グローバル座標系での座標データ（ｘ、ｙ、ｚ）を備えている。（ｘ、ｙ、ｚ）の座標データは時間ｔに対して変化する。経時的に変化する体幹と左足先と右足先の位置を指示する歩容データ（ｘ（ｔ）、ｙ（ｔ）、ｚ（ｔ））に従って、体幹と左脚リンクと右脚リンクの相対的姿勢を経時的に変化させることによってロボット６は歩行する。
より具体的に説明すると、経時的に変化する体幹と左足先と右足先の位置を指示する歩容データ（ｘ（ｔ）、ｙ（ｔ）、ｚ（ｔ））に従って、その姿勢を実現するのに必要な各関節の関節角を計算し、関節を回転させるアクチュエータを制御して計算された関節角に調整する。経時的に変化する歩容データに従って計算される関節角も経時的に変化する。ロボットは、経時的に関節角を変化させることによって経時的に体幹と左足先と右足先の相対位置関係を変化させ、その結果として歩行する。
【０００３】
体幹の位置を経時的に指示するデータＷ（ｘ（ｔ）、ｙ（ｔ）、ｚ（ｔ））と、左足先の位置を経時的に指示するデータＬ（ｘ（ｔ）、ｙ（ｔ）、ｚ（ｔ））と、右足先の位置を経時的に指示するデータＲ（ｘ（ｔ）、ｙ（ｔ）、ｚ（ｔ））は、独立に決定できるのものでなく、ロボットがバランスを保って転倒を免れられるものでなければならない。
【０００４】
歩容データを作成する第１段階では、左脚リンクと右脚リンクの相対的姿勢の変化を想定しながら、左足先の位置を経時的に指示するデータＬ（ｘ（ｔ）、ｙ（ｔ）、ｚ（ｔ））と、右足先の位置を経時的に指示するデータＲ（ｘ（ｔ）、ｙ（ｔ）、ｚ（ｔ））を作成する。
歩容データを作成する第２段階では、前記のデータから、体幹の位置を経時的に指示するデータＷ（ｘ（ｔ）、ｙ（ｔ）、ｚ（ｔ））を計算して算出する。
体幹位置を指示するデータを計算するために、ＺＭＰ（ｚｅｒｏ  ｍｏｍｅｎｔ  ｐｏｉｎｔ）が利用される。ＺＭＰは、ロボットが床から受ける反力によるモーメントがゼロになる点をいい、ＺＭＰが接地脚の足平内にあればロボットは転倒しない。逆にいうと、ロボットが転倒しないためには、ＺＭＰが接地脚の足平内になければならない。そこで、体幹位置を指示するデータを計算するために、接地脚の足平内に存在する目標ＺＭＰを定める。この目標ＺＭＰは接地脚の足平内にあることが必要とされ、左足先の位置を経時的に指示するデータＬ（ｘ（ｔ）、ｙ（ｔ）、ｚ（ｔ））、右足先の位置を経時的に指示するデータＲ（ｘ（ｔ）、ｙ（ｔ）、ｚ（ｔ））から、目標ＺＭＰを経時的に指示するデータＺＭＰＴ（ｘ（ｔ）、ｙ（ｔ））を定めることができる。平地を歩行する場合、目標ＺＭＰのｚ座標はゼロとすることができる。
ロボットの力学モデル（質点の位置と質点の質量を示すモデル）が得られていれば、左足先の位置を経時的に示すデータＬ（ｘ（ｔ）、ｙ（ｔ）、ｚ（ｔ））と、右足先の位置を経時的に示すデータＲ（ｘ（ｔ）、ｙ（ｔ）、ｚ（ｔ））と、体幹の位置を経時的に示すデータＷ（ｘ（ｔ）、ｙ（ｔ）、ｚ（ｔ））を利用することによって、実際に得られるＺＭＰの位置を経時的に指示するデータＺＭＰＲ（ｘ（ｔ）、ｙ（ｔ））を計算することができる。
そこで、体幹の位置を経時的に示すデータＷ（ｘ（ｔ）、ｙ（ｔ）、ｚ（ｔ））を仮定し、それから実際に得られるＺＭＰの位置を経時的に指示するデータＺＭＰＲ（ｘ（ｔ）、ｙ（ｔ））を計算する。次に、計算されたＺＭＰＲ（ｘ（ｔ）、ｙ（ｔ））と、目標ＺＭＰを示すＺＭＰＴ（ｘ（ｔ）、ｙ（ｔ））の偏差を求める。そしてその偏差が小さくなる側に体幹の位置を示すデータＷ（ｘ（ｔ）、ｙ（ｔ）、ｚ（ｔ））を修正する。
即ち、（１）体幹の位置を仮定して実際に得られるＺＭＰの位置を計算し、（２）目標ＺＭＰとの偏差を計算し、（３）その偏差が小さくなるように体幹の位置を修正し、再度（１）〜（３）の計算を繰返す処理を相当回数に亘って繰返すことによって目標ＺＭＰを実現する体幹の位置を計算している。
上記技術によると、目標ＺＭＰを実現する体幹の位置を計算するまでに体幹の位置を修正する工程を何度も繰返さなければならず、その計算量が膨大であり、計算に時間を要している。
【０００５】
目標ＺＭＰを実現する体幹の位置を計算する方法が様々に開発されて特許文献１等に報告されているが、依然として計算量が膨大であり、計算に時間を必要とする。非特許文献３によると、計算量の大幅な圧縮が可能となるが、その技術は質点が１つで代表されるロボットにしか適用できず、体幹に対して大きく姿勢を変え、しかも脚リンクに大きな質量を有する脚式ロボットに適用することが困難である。
【０００６】
【特許文献１】
特開２００１−１５７９７３号公報
【非特許文献１】
高西、「上体の運動によりモーメントを補償する二足歩行ロボット」、日本ロボット学会誌、１９９３年、Ｖｏｌ．１１，Ｎｏ３、ｐ．３４８−３５３
【非特許文献２】
西脇、北川、杉原、加賀美他、「ＺＭＰ導出の線形・非干渉化、離散化によるヒューマノイドの動力学安定軌道の高速生成−感覚行動統合全身型ヒューマノイドＨ６での実現−」、第１８回日本ロボット学会学術講演会、２０００年、ｐ．７２１−７２２
【非特許文献３】
梶田、金広、比留川、「予見制御理論を応用した２足歩行パターン生成」、日本ロボット学会創立２０周年記念学術講演会、２００２年１０月１２日〜１４日、１Ｄ２３
【０００７】
【発明が解決しようとする課題】本発明は、左足先の位置を経時的に指示するデータＬ（ｘ（ｔ）、ｙ（ｔ）、ｚ（ｔ））と、右足先の位置を経時的に指示するデータＲ（ｘ（ｔ）、ｙ（ｔ）、ｚ（ｔ））から、ロボットが転倒しないで歩行するために必要な体幹の位置を経時的に指示するデータＷ（ｘ（ｔ）、ｙ（ｔ）、ｚ（ｔ））を高速に算出することができる装置と方法を提供するものである。本発明は、体幹に対して大きく姿勢を変え、しかも体幹質量に比して無視できない質量を持つ脚リンクを有するために、１質点モデルではモデル化できないロボットにも適用することができる。
【０００８】
【課題を解決するための手段と作用】本発明では、両脚リンクを持つロボットを歩行させるのに必要な歩容データを作成する装置を完成した。この装置は、
・ロボットの脚リンクの足先位置を指令するデータの作成装置と、
・指令された足先位置から目標ＺＭＰ位置を計算する装置と、
・目標ＺＭＰ位置に、足先位置とその加速度と脚リンク質量と体幹質量を加味し、体幹位置とその加速度から線形計算できるディメンジョンに変換する装置と、
・体幹位置とその加速度をロボットの力学モデルに指令する装置と、
・ロボットの力学モデルに基づいて、指令された足先位置に足先をおき、指令された体幹位置とその加速度で体幹を移動させるときに得られるＺＭＰ位置を計算する装置と、
・計算されたＺＭＰ位置を前記ディメンジョンに変換する装置と、
・目標ＺＭＰ位置を前記ディメンジョンに変換した値と、ロボットの力学モデルから計算されたＺＭＰ位置を前記ディメンジョンに変換した値を比較し、両者が一致するように、前記指令装置が指令する体幹位置とその加速度を増減修正する修正装置を備えている。
【０００９】
上記装置の一つの特徴は、体幹位置とその加速度から線形計算できるディメンジョンによってＺＭＰ位置に関する偏差を数量化する点であり、これによって、フィードバック制御等によって体幹位置とその加速度を増減修正することが可能となった。足先位置とその加速度と脚リンク質量と体幹質量を加味することによって、目標ＺＭＰ位置を前記したディメンジョンに変換することができる。
上記装置の一つの特徴は、予めバッチ式に解を解いておく方式に代えて、瞬時瞬時に体幹位置とその加速度を算出することであり、これによってリアルタイムでロボットを歩行させることが可能となる。歩行するロボットを観測しながら歩幅や歩行速度や歩行方向を指示するのに追従して歩容データを計算することができるために、リアルタイムでロボットを歩行させることが可能となる。
本発明の修正装置は、追従制御して修正するものを基本とするが、予測制御を加えて追従性を向上させたものを含む。
【００１０】
本発明の方法では、
・両脚リンクを持つロボットの力学モデルを構築する工程と、
・ロボットの脚リンクの足先位置を指令するデータを作成する工程と、
・指令された足先位置から目標ＺＭＰ位置を計算する工程と、
・目標ＺＭＰ位置に、足先位置とその加速度と脚リンク質量と体幹質量を加味し、体幹位置とその加速度から線形計算できるディメンジョンに変換する工程と、
・体幹位置とその加速度をロボットの力学モデルに指令する工程と、
・ロボットの力学モデルに基づいて、指令された足先位置に足先をおき、指令された体幹位置とその加速度で体幹を移動させるときに得られるＺＭＰ位置を計算する工程と、
・計算されたＺＭＰ位置を前記ディメンジョンに変換する工程と、
・目標ＺＭＰ位置を前記ディメンジョンに変換した値と、ロボットの力学モデルから計算されたＺＭＰ位置を前記ディメンジョンに変換した値を比較し、両者が一致するように、ロボットの力学モデルに指令する体幹位置とその加速度を増減修正する工程を実行する。
【００１１】
本方法によると、瞬時瞬時に体幹位置とその加速度を算出することが可能となる。歩行するロボットを観測しながら歩幅や歩行速度や歩行方向を指示するのに追従してリアルタイムで歩容データを計算することができるために、リアルタイムでロボットを歩行させることが可能となる。
【００１２】
【実施の形態】以下に説明する実施例の主要な特徴を最初に列記する。
（形態１）  オペレータは、動作するロボットを観察しながら、ジョイスティック等を利用して、それ以後の足先位置を指令する。
（形態２）  オペレータは、動作するロボットを観察しながら、ジョイスティック等を利用して、歩幅係数と歩速係数と進行方向のうちの少なくとも１種を指定することによって、ロボットの足先位置を指令する。
（形態３）  オペレータが指令した係数は足先位置指令値生成装置に入力され、入力された係数で標準足先軌道を補正することによって、オペレータが指令した足先軌道を算出する。
（形態４）  指令された足先軌道を示すデータは、歩容データ作成装置に入力される。
（形態５）  歩容データ作成装置はロボット外に搭載されており、作成した歩容データを有線または無線でロボットに伝達する。
（形態６）  歩容データ作成装置はロボット外に搭載されており、作成した歩容データを有線または無線でロボットに伝達する。歩容データから関節角を計算する装置はロボットに搭載されている。
（形態７）  歩容データ作成装置と、歩容データから関節角を計算する装置はロボット外に搭載されており、計算された関節角を有線または無線でロボットに伝達する。
（形態８）  歩容データ作成装置はロボットに搭載されており、動作するロボットを観察しながらオペレータがジョイスティック等でその後の足先軌道を指令すると、それが有線または無線でロボットに伝達される。
【００１３】
【実施例】この実施例では、図１に示すように、ロボット６の右脚が接地している間に左脚を遊脚として軌道７のように移動させ、左脚が接地すると今度は右脚を遊脚として軌道８のように移動させ、以後同様に、左脚を遊脚として軌道９のように移動させ、次には右脚を遊脚として軌道１０のように移動させて歩行を続ける。
ロボット６が歩行を続けるには、遊脚足先の軌道７，８，９，１０を記述するデータが必要とされ、そのためにコンピュータ装置１４が用意されている。コンピュータ装置１４は、オペレータＨが歩幅係数と歩速係数と歩行方向等を入力する入力装置（ジョイスティック）１２等に接続されている。
【００１４】
コンピュータ１４のハードウエア構成は汎用のコンピュータと同じであり、説明を省略する。図６に、コンピュータ１４の機能を示す。
コンピュータ１４は、標準足先軌道記憶装置３２を持ち、標準足先軌道を記憶している。図２はその例を示し、カーブ１６は左脚の歩行方向の座標（縦軸）と時間（横軸）の関係を例示している。左脚を持ち上げたら前方に送り（部分１６ａ参照）、着地点に近づいたら前進速度を緩め（部分１６ｂ参照）、着地させる。着地中は歩行方向の座標は変動しない（部分１６ｃ参照）。左脚の着地中（時間ｔ１に示される）に、右脚の座標を歩行方向に進める（グラフ１８参照）。
【００１５】
図１に示すオペレータＨは、ジョイスティック１２を操作して歩幅係数を入力することができる。歩幅係数は、標準的な歩行方向の座標値変化量を拡大縮小する係数であり、図２のグラフ２０は、歩幅を広げる係数が入力されたときの歩行方向の座標と時間の関係を例示している。１．０以上の歩幅係数を入力すると広い歩幅で歩行する足先軌道に修正され、１．０未満の歩幅係数を入力すると狭い歩幅で歩行する足先軌道に修正される。
図１に示すオペレータＨは、ジョイスティック１２を操作して歩速係数を入力することができる。歩速係数は、時間変化を増減速する係数であり、例えば、左脚が着地している標準時間ｔ１をｔ２に縮めたりｔ３に伸ばしたりすることができる（図２参照）。１．０以上の歩速係数を入力すると標準時間から縮められて早脚で歩く軌道に修正され、１．０未満の歩速係数を入力すると標準時間から伸ばされてゆっくりと歩く軌道に修正される。
オペレータＨは、ジョイスティック１２を操作して、歩行方向を入力することもできる。歩行方向がｘ軸方向であれば、図２の縦軸の変化がｘ座標の変化とされ、ｘ軸方向に歩行する軌道が指令される。歩行方向がｙ軸方向であれば、図２の縦軸の変化がｙ座標の変化とされ、ｙ軸方向に歩行する軌道が指令される。中間方位に向けて歩行する場合には、図２の縦軸の変化がｘ座標とｙ座標に振り分けられる。例えば、ｘ軸に対して４５度の方向に歩行する場合には、ｘ座標とｙ座標の変化量が図２の縦軸の変化量の（１／ルート２）倍される。
図３のグラフ１７に例示するように、標準足先軌道記憶装置３２は、足先の高さ方向の座標と時間の関係も記憶している。
以下では、説明の簡単化のために、ロボットがｘ軸に沿って歩行する場合について説明するが、下記の説明は任意の歩行方向について成立する。
【００１６】
図６に示すように、コンピュータ１４に用意されている足先位置指令値生成部３０は、図１に示す歩行するロボット６をオペレータＨが観察しながら、ジョイスティック１２を利用して歩幅係数と歩速係数を入力すると、標準足先軌道記憶装置３２に記憶されている標準軌道（グラフ１６，１７，１８（図２と図３参照））を修正して、オペレータＨが意図する歩幅と歩速に対応する足先軌道を計算する。図３に示すように、足先位置指令値生成部３０は、オペレータＨが指令した歩行を実現する、左足先の位置を示すデータＬ（ｘ（ｔ）、ｙ（ｔ）、ｚ（ｔ））と、右足先の位置を示すデータＲ（ｘ（ｔ）、ｙ（ｔ）、ｚ（ｔ））を計算する。
【００１７】
以下では、図５に示すように、点０に質量ｍ０を持つ質点で体幹が代表され、点１に質量ｍ１を持つ質点で右腕が代表され、点２に質量ｍ２を持つ質点で左腕が代表され、点３に質量ｍ３を持つ質点で右脚が代表され、点４に質量ｍ４を持つ質点で左脚が代表されるとして、図１に示すロボット６をモデル化した力学モデルで記述することがある。
【００１８】
図６に示す足先位置指令値生成部３０は、左右の足先位置を指令するデータを生成する。このデータは、接地脚を持ち上げて歩行方向に前進させて着地させる軌道を記述しており、歩行方向がｘ軸方向であれば、図５に示す質点３のｘ座標ｘ３（ｔ）と質点４のｘ座標ｘ４（ｔ）を含んでいる。左右の足先位置を指令するデータは、左右の脚のいずれが接地しているのかという情報と接地脚の位置の座標を含んでいる。この情報は、図６に示すコンピュータ１４に用意されている目標ＺＭＰ位置計算部２６に送られ、目標ＺＭＰ位置計算部２６は、接地脚の位置の情報に基づいて目標ＺＭＰ位置を計算する。目標ＺＭＰ位置は接地脚の足平内にあるように計算される。図６では、目標ＺＭＰのｘ座標をＰＴｘ（ｔ）としている。
図４には、目標ＺＭＰ位置計算部２６で計算される目標ＺＭＰの軌道ＺＭＰＴ（ｔ）が例示されており、接地脚の足平内から次の接地脚の足平内に順次移動していく様子が示されている。実際のＺＭＰが目標ＺＭＰに一致し、接地脚の足平内から次の接地脚の足平内に順次移動していけば、ロボット６は転倒することなく歩行を続ける。
【００１９】
コンピュータ１４には、腕先位置指令値生成部２４が用意されており、腕先の位置の経時的変化を示すデータを生成する。このデータは、足先位置指令値生成部３０が生成した足先位置の軌道に対応しており、ロボットが自然な感じで手脚を振って歩行する外観を呈する腕先位置の経時的変化を示すデータを生成する。このデータには、図５に示す質点１のｘ座標ｘ１（ｔ）と質点２のｘ座標ｘ２（ｔ）が含まれている。
【００２０】
図５に示すロボットの力学モデルから、（１）式が成立する。ここで、ｘ１〜ｘ４は、質点１〜４の歩行方向の座標を示し、足先位置指令値生成部３０と腕先位置指令値生成部２４で生成されており、コンピュータ１４にとっては既知の量である。ｚ１〜ｚ４は、質点１〜４の高さ方向の座標を示し、足先位置指令値生成部３０と腕先位置指令値生成部２４で生成されており、コンピュータ１４にとっては既知の量である。ｚ０は、体幹の高さ方向の座標を示しているが、体幹の重心位置の高さ方向の変化量は小さく、ここでは既知とすることができる。Ｐｘ（ｔ）は、ロボットの力学モデルから計算されるＺＭＰのｘ座標を示している。
（１）式の第１項は、ｚ方向の加速度に起因する力にＺＭＰからの腕の長さを乗じることによってＺＭＰ回りのモーメントに変換した値である。第２項は、ｘ方向の加速度に起因する力にＺＭＰからの腕の長さを乗じることによってＺＭＰ回りのモーメントに変換した値である。ＺＭＰのｚ方向の座標はゼロである。（１）式には、質点０から４の重力に起因するモーメントが含まれていないが、必要に応じて（１）式に含ませることができる。
（２）式は、（１）式から得られるＺＭＰのｘ座標Ｐｘ（ｔ）と、目標ＺＭＰのｘ座標ＺＭＰＴｘ（ｔ）（あるいはＰＴｘ（ｔ））が一致する条件を示しており、（２）式が成立すればロボット６は転倒しない。
（３）式は、（１）式から計算されるＺＭＰのｘ座標Ｐｘ（ｔ）を、後記するディメンジョンに変換する式であり、腕先位置ｘ１、ｘ２、ｚ１、ｚ２とそれらの加速度と、足先位置ｘ３、ｘ４、ｚ３、ｚ４とそれらの加速度と、腕リンクの質量ｍ１、ｍ２と、脚リンクの質量ｍ３、ｍ４と、体幹の質量ｍ０と、体幹の高さ座標ｚ０を加味することによって、ＺＭＰのｘ座標Ｐｘ（ｔ）をｆｘ（ｔ）のディメンジョンの値に変換することができる。
（４）式は、（１）式と（３）式から得られる式であり、（３）式で変換されるディメンジョンの値は、体幹の歩行方向の座標ｘ０とその加速度から線形計算することによって簡単に計算できることがわかる。
図６に示すコンピュータ１４の目標ＺＭＰ位置ディメンジョン変換部２８は、図５の（３）式によって目標ＺＭＰを変換する。この変換では、（３）式のＰｘ（ｔ）にの代わりに目標ＺＭＰのｘ軸方向の座標ＰＴｘ（ｔ）を用いる。変換された目標ＺＭＰを、以下ではｆＴｘ（ｔ）とする。
【００２１】
図６のコンピュータ１４は、ロボットの力学モデル４０に、体幹の歩行方向の座標ｘ０とその加速度を指令する指令装置３４を備えている。ロボットの力学モデル４０には、手足の移動軌道のデータｘ１（ｔ），ｘ２（ｔ），ｘ３（ｔ），ｘ４（ｔ）も入力される。指令装置３４がロボットの力学モデル４０に体幹の歩行方向の座標ｘ０とその加速度を指令すると、ＺＭＰ位置計算部４２が、（１）式に従ってそのときに実現されるＺＭＰ位置Ｐｘを計算する。さらに、ＺＭＰ位置ディメンジョン変換部４４が、（３）式に従って、実現されるＺＭＰ位置Ｐｘを前記したディメンジョンに変換し、変換された値ｆｘ（ｔ）を計算する。このときに、ＺＭＰ位置計算部４２が前記のディメンジョンでＺＭＰ位置ｆｘ（ｔ）を計算してもよい。数学的には同等である。
【００２２】
指令装置３４は、自身が指令した体幹の歩行方向の座標ｘ０とその加速度によって得られるＺＭＰ位置（それが前記したディメンジョンに変換されている値ｆｘ（ｔ））と、目標ＺＭＰ位置（それも前記したディメンジョンに変換されている値ｆＴｘ（ｔ））の偏差を計算し、その偏差を解消するように、自身が指令した体幹の歩行方向の座標ｘ０とその加速度を増減修正するフィードバック制御部３８を備えている。この結果、指令装置３４が指令した体幹の歩行方向の座標ｘ０とその加速度によって得られるＺＭＰ位置と目標ＺＭＰ位置の偏差はゼロにフィードバック制御される関係が得られる。従って、指令装置３４が指令した体幹の歩行方向の座標ｘ０とその加速度を、歩容データ記憶装置４６に記憶することができ、その歩容データによると、実際のＺＭＰ位置が目標ＺＭＰ位置に一致する関係が得られる。体幹の歩行方向の座標ｘ０とその加速度を増減修正して実際のＺＭＰ位置が目標ＺＭＰ位置に一致する関係が得られるようにするために、必要ならフィードフォワード制御部３６を付加してもよい。
【００２３】
歩容データ記憶装置４６には、足先位置指令値生成部３０が生成した足先位置の経時的変化を示す軌道データや、腕先位置指令値生成部２４が用意した腕先位置の経時的変化を示す軌道データも記憶されている。その他に、体幹位置の指令装置３４が増減修正した体幹位置の軌道データを含んでいる。
この歩容データは、図１に示すロボット６の姿勢を決めるのに充分なデータを含んでおり、コンピュータ１４に用意されている関節角群計算装置４８に送られる。関節角群計算装置４８はいわゆる逆キネマティクスを解いて関節角を計算する。計算された関節各群は、ロボット６のアクチュエータ制御部５０に送られ、ロボット６の機械系５２に存在して関節を回転させるアクチュエータが制御される。これによって、ロボットの関節角が計算された間接角に調整され、その結果、オペレータが意図する歩幅と歩速が得られるように姿勢を変えて歩行する。このとき、実際に得られるＺＭＰ位置は目標ＺＭＰに一致することからロボットは転倒することがない。
【００２４】
コンピュータ装置１４の全部をロボットに搭載することもできる。この場合には、オペレータが指令する歩幅係数と歩速係数を有線または無線でロボット６に伝達する。コンピュータ装置１４の大半をロボット外に搭載することもできる。例えば、関節角群計算装置４８までロボット外に搭載することもできる。この場合には、計算された関節角を有線または無線でロボット６に伝達する。もちろんコンピュータ１４の一部をロボット６に搭載し、一部をロボット６外に搭載することもできる。
【００２５】
【発明の効果】本発明によると、ロボットが転倒しない歩容データが短時間で簡便に作成できる。動作するロボットにリアルタイムで指令し、指令内容を反映した歩容データをリアルタイムで作成し、作成された歩容データをロボットに指示することによってリアルタイムでロボットを歩行させることを可能にする。
【図面の簡単な説明】
【図１】実施例のロボットとリアルタイムで指令する様子を説明する図。
【図２】標準足先軌道と、それを修正する歩幅係数と歩速係数の意味を説明する図。
【図３】標準足先軌道を歩幅係数や歩速係数等で修正して足先軌道を計算する手順を示す図。
【図４】計算された足先軌道から、目標ＺＭＰを計算し、目標ＺＭＰに一致するＺＭＰを実現する体幹位置を計算して歩容データを完成し、完成した歩容データから関節角を計算してロボットが実際に姿勢を変えるまでの手順を示す図。
【図５】ロボットの力学モデルと、ＺＭＰの計算式と、ＺＭＰの変換式を説明する図。
【図６】コンピュータ装置の機能をブロック化して示す図。
【符号の説明】
２４：腕先位置指令値生成部
２６：目標ＺＭＰ位置計算部
２８：目標ＺＭＰ位置ディメンジョン変換部
３０：足先位置指令値生成部
３２：標準足先軌道記憶装置
３４：体幹位置とその加速度指令装置（修正手段を内蔵する）
３６：フィードフォワード制御部
３８：フィードバック制御部
４０：ロボットの力学モデル
４２：ロボットの力学モデルと指令された体幹位置とその加速度からＺＭＰ位置を計算する装置
４４：計算されたＺＭＰ位置のディメンジョン変換部
【図１】
2005007496.tif 000003
【図２】
2005007496.tif 000004
【図３】
2005007496.tif 000005
【図４】
2005007496.tif 000006
【図５】
2005007496.tif 000007
【図６】
2005007496.tif 000008