(57)【特許請求の範囲】
【請求項１】
ロボットの歩行を制御するロボット制御装置であって、
ロボットが転倒することなく単独で立っている参照姿勢を少なくとも含む複数の異なる時点の姿勢に基づいて制御情報を生成し、ロボットが予め定められた歩行動作を行うように制御する歩行動作制御手段と、
ロボットの脚が着地する場所に置かれた障害物の存在を検出する障害物検出手段と、
前記障害物検出手段により障害物が検出されると、支持脚にローリング動作を、スイング脚にスイング前の位置に戻す動作を、それぞれ行わせるとともに、コンプライアンス制御のゲインを反転し、スイング脚を一定量伸ばす一方で支持脚を該一定量曲げることで、重心を支持脚に戻すように制御する反射制御手段と、
を備えたことを特徴とするロボット制御装置。
【請求項２】
前記反射制御手段は、ロボットが安定状態になると、スイング脚の足首関節を前後左右に動かして障害物が歩行継続を可能とする歩行面を形成しているか否かを判定し、障害物が歩行継続を可能とする歩行面を形成していると判定した場合には歩行を継続するように制御することを特徴とする請求項１に記載のロボット制御装置。
【請求項３】
前記反射制御手段は、スイング脚の足首関節を前後左右に最大可動範囲の半分まで動かして障害物が歩行継続を可能とする歩行面を形成しているか否かを判定することを特徴とする請求項２に記載のロボット制御装置。
【請求項４】
前記反射制御手段は、障害物が歩行継続を可能とする歩行面を形成していると判定した場合には、スイング脚に重心を移しつつ歩行面の安定性を判定し、歩行面が安定でないと判定した場合にはスイング脚を元に戻すように静的な制御下で歩行を継続することを特徴とする請求項２または３に記載のロボット制御装置。
【請求項５】
前記反射制御手段は、水平な歩行面が見つかるまで静的な制御下で歩行を継続することを特徴とする請求項４に記載のロボット制御装置。
【請求項６】
ロボットの歩行を制御するロボット制御方法であって、
ロボットが転倒することなく単独で立っている参照姿勢を少なくとも含む複数の異なる時点の姿勢に基づいて制御情報を生成し、ロボットが予め定められた歩行動作を行うように制御する歩行動作制御ステップと、
ロボットの脚が着地する場所に置かれた障害物の存在を検出する障害物検出ステップと、
前記障害物検出ステップにより障害物が検出されると、支持脚にローリング動作を、スイング脚にスイング前の位置に戻す動作を、それぞれ行わせるとともに、コンプライアンス制御のゲインを反転し、スイング脚を一定量伸ばす一方で支持脚を該一定量曲げることで、重心を支持脚に戻すように制御する反射制御ステップと、
を含んだことを特徴とするロボット制御方法。
【請求項７】
ロボットの歩行を制御するロボット制御プログラムであって、
ロボットが転倒することなく単独で立っている参照姿勢を少なくとも含む複数の異なる時点の姿勢に基づいて制御情報を生成し、ロボットが予め定められた歩行動作を行うように制御する歩行動作制御手順と、
ロボットの脚が着地する場所に置かれた障害物の存在を検出する障害物検出手順と、
前記障害物検出手順により障害物が検出されると、支持脚にローリング動作を、スイング脚にスイング前の位置に戻す動作を、それぞれ行わせるとともに、コンプライアンス制御のゲインを反転し、スイング脚を一定量伸ばす一方で支持脚を該一定量曲げることで、重心を支持脚に戻すように制御する反射制御手順と、
をコンピュータに実行させることを特徴とするロボット制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボットの歩行を制御するロボット制御装置、ロボット制御方法およびロボット制御プログラムに関し、特に、スイング脚（前方に振り出された脚）が障害物に接触した段階で既に重心がスイング脚に移ってしまっている場合にもロボットの転倒を防止することができるロボット制御装置、ロボット制御方法およびロボット制御プログラムに関するものである。
【背景技術】
【０００２】
近年、ヒューマノイドロボット、特にヒューマノイドロボットの歩行は数多くの研究者の注意を引いている。このヒューマノイドロボットの歩行に関する研究の大部分は、ＺＭＰ（Zero  Moment  Point）規範を用いている。このＺＭＰ規範は、支持多角形の内部にＺＭＰを留めるように制御する。このアプローチでは、ヒューマノイドロボットやロボットの周囲環境を正確にモデリングし、微分方程式を解くことになる。ところが、このモデリングはアンノウンな要素がある場合には難しくなる。さらに、微分方程式を解くのに時間がかかるため、リアルタイム制御は困難なものとなる。
【０００３】
他のアプローチとして、ＺＭＰ規範を用いない方法がある。例えば、ロボットの可動部の周期運動を利用して、ロボットの姿勢が安定するよう周期運動の位相を調節する従来技術がある（特許文献１を参照）。ここで、可動部とは、ロボットの脚や腕である。
【０００４】
また、ヒューマノイドロボットやロボットの周囲環境のモデリングを不要としつつ、ヒューマノイドロボットがさまざまな運動を安定して行うことができるよう効率的に制御する技術が特許文献２に記載されている。
【０００５】
また、歩行面に障害物が置かれている場合や歩行面に段差がある場合に、ヒューマノイドロボットの転倒を防止するために、ヒューマノイドロボットの重心が低くなるように制御する技術も開発されている（特許文献３を参照）。
【０００６】
【特許文献１】特開２００５−９６０６８号公報
【特許文献２】特開２００７−１７５８０９号公報
【特許文献３】米国特許第６０６４１６７号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、スイング脚が障害物を検出した段階で既に重心がスイング脚に移ってしまっている場合には、ヒューマノイドロボットの重心を低くするように制御するだけでは転倒を防止することはできないという問題がある。
【０００８】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、スイング脚が障害物を検出した段階で既に重心がスイング脚に移ってしまっている場合にもロボットの転倒を防止することができるロボット制御装置、ロボット制御方法およびロボット制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するため、本発明の一つの態様では、ロボットの歩行を制御するロボット制御装置が、ロボットが転倒することなく単独で立っている参照姿勢を少なくとも含む複数の異なる時点の姿勢に基づいて制御情報を生成し、ロボットが予め定められた歩行動作を行うように制御する歩行動作制御手段と、ロボットの脚が着地する場所に置かれた障害物の存在を検出する障害物検出手段と、前記障害物検出手段により障害物が検出されると、支持脚へのローリング動作とスイング脚をスイング前の位置に戻す動作を行うとともに、コンプライアンス制御のゲインを反転し、スイング脚を一定量伸ばす一方で支持脚を該一定量曲げるように制御する反射制御手段と、を備えたことを特徴とする。
【００１０】
この態様によれば、ロボットの脚が着地する場所に置かれた障害物の存在を検出すると、支持脚へのローリング動作とスイング脚をスイング前の位置に戻す動作を行うとともに、コンプライアンス制御のゲインを反転し、スイング脚を一定量伸ばす一方で支持脚を一定量曲げるように制御するよう構成したので、スイング脚に移動した重心を支持脚に戻すことができる。
【００１１】
また、本発明の他の態様では、上記の発明の態様において、さらに、前記反射制御手段は、ロボットが安定状態になると、スイング脚の足首関節を前後左右に動かして障害物が歩行継続を可能とする歩行面を形成しているか否かを判定し、障害物が歩行継続を可能とする歩行面を形成していると判定した場合には歩行を継続するように制御することを特徴とする。
【００１２】
この態様によれば、ロボットが安定状態になると、スイング脚の足首関節を前後左右に動かして障害物が歩行継続を可能とする歩行面を形成しているか否かを判定し、障害物が歩行継続を可能とする歩行面を形成していると判定した場合には歩行を継続するように制御することとしたので、停止した歩行を再開することができる。
【００１３】
また、本発明の他の態様では、上記の発明の態様において、さらに、前記反射制御手段は、障害物が歩行継続を可能とする歩行面を形成していると判定した場合には、スイング脚に重心を移しつつ歩行面の安定性を判定し、歩行面が安定でないと判定した場合にはスイング脚を元に戻すように静的な制御下で歩行を継続することを特徴とする。
【００１４】
この態様によれば、障害物が歩行継続を可能とする歩行面を形成していると判定した場合には、スイング脚に重心を移しつつ歩行面の安定性を判定し、歩行面が安定でないと判定した場合にはスイング脚を元に戻すように静的な制御下で歩行を継続するよう構成したので、障害物が形成する歩行面の変化に対応することができる。
【００１５】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも上述した課題を解決するために有効である。
【発明の効果】
【００１６】
本発明の一つの態様によれば、スイング脚に移動した重心を支持脚に戻すことができるので、障害物を検出したスイング脚に重心が移動した後でもロボットを安定状態に戻し、ロボットの転倒を防止することができるという効果を奏する。
【００１７】
また、本発明の他の態様によれば、停止した歩行を再開するので、障害物がある場合にも歩行を継続することができるという効果を奏する。
【００１８】
また、本発明の他の態様によれば、障害物が形成する歩行面の変化に対応するので、歩行面の変化によるロボットの転倒を防止することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１９】
以下に添付図面を参照して、この発明に係るロボット制御装置、ロボット制御方法およびロボット制御プログラムの好適な実施例を詳細に説明する。
【実施例】
【００２０】
図１は、本実施例に係るロボット歩行を説明する図である。ここで、ロボットの右脚は実線で、ロボットの左脚は点線で表されている。ここでは、あらかじめロボットの歩行運動中のさまざまな姿勢を定義する複数のフレームＰｉがロボット制御装置に設定される。正確には、フレームはロボットの関節の角度などのパラメータを定義する。
【００２１】
図１では、Ｐ０からＰ１１までの１２のフレームが設定されている。ただし、このフレーム数は任意である。フレームＰ０は、ロボットが倒れることなく単独で立っている歩行前の姿勢を表している。フレームＰ１，Ｐ６，Ｐ１１は、ロボットが倒れることなく単独で立って、動かないでいる姿勢である。
【００２２】
たとえば、フレームＰ６では、ロボットのリニア速度は０であり、ロボットは左脚のみで立っており、歩幅（ストライド）は０である。フレームＰ１とフレームＰ１１のロボットの状態は同じである。すなわち、これらのフレームＰ１，Ｐ１１においては、ロボットのリニア速度は０であり、ロボットは右脚のみで立っており、歩幅は０となっている。歩幅が０とは、ロボットの両脚が揃っていることを意味する。フレームＰ１，Ｐ６，Ｐ１１においては、ロボットは単独で立っており、また、歩幅は０であるので、これらのフレームをリファレンスフレームと呼ぶこととする。
【００２３】
あるフレームから別のフレームへの切り替えは、すべての介在するフレームの姿勢を補間することにより行われる。また、リファレンスフレーム以外のフレームにおける各姿勢は大まかに定義されたものであり、これらの各姿勢は歩行が安定的に行われるように適宜修正される。
【００２４】
図２は、各フレームＰ０〜Ｐ１１の状態遷移図である。ロボットの状態は、フレームＰ０からリファレンスフレームＰ１（リファレンスフレームＰ１１と同じ）あるいはリファレンスフレームＰ６に遷移する。また、ロボットの状態は、リファレンスフレームＰ１あるいはリファレンスフレームＰ６からフレームＰ０に遷移することもできる。図１の例では、まず、フレームＰ０からリファレンスフレームＰ１にロボットの状態が遷移する。その後、ロボットの状態は、リファレンスフレームＰ２からリファレンスフレームＰ１０を経由してリファレンスフレームＰ１１に遷移する。
【００２５】
このように、ロボットが転倒することなく単独で立っているリファレンスフレームＰ１，Ｐ６，Ｐ１１を含むフレーム情報を取得し、ロボットの動作がリファレンスフレームＰ１，Ｐ６，Ｐ１１の姿勢となるようフレームＰ０〜Ｐ１１の間で姿勢を補間することにより、ロボットの状態が制御される。その結果、たとえロボットの姿勢が不安定になった場合でも、リファレンスフレームでは姿勢が安定な状態となる。すなわち、ロボットは歩行運動を安定して継続することができる。
【００２６】
また、リファレンスフレームＰ６，Ｐ１１では、ロボットは歩行を停止し、安定して立っている状態なので、それ以降の歩行の歩幅を変更したり、歩行する方向を変更したり、あるいは、歩行以外の運動を開始したりすることが容易にできる。
【００２７】
図３は、本実施例に係るロボットの概略図である。このロボットは、胴体２０、胴体に備えられたジャイロセンサ６０、右脚３０Ｒおよび左脚３０Ｌの２本の脚を有する。また、各脚は６つの関節を有する。すなわち、各脚の自由度は６である。なお、関節の数は任意である。
【００２８】
関節は、ピッチ腰関節１０、右ヨー股関節１１Ｒ、左ヨー股関節１１Ｌ、右ロール股関節１２Ｒ、左ロール股関節１２Ｌ、右ピッチ股関節１３Ｒ、左ピッチ股関節１３Ｌ、右ピッチ膝関節１４Ｒ、左ピッチ膝関節１４Ｌ、右ピッチ足首関節１５Ｒ、左ピッチ足首関節１５Ｌ、右ロール足首関節１６Ｒ、左ロール足首関節１６Ｌを含む。各関節には、モータ（図示せず）が組み込まれている。各関節のモータは、それぞれの関節の動きを制御する。また、各関節には位置センサ（図示せず）が組み込まれている。各関節の位置センサは、それぞれの関節の動き、具体的には回転角度を検出する。
【００２９】
ピッチ腰関節１０は、胴体２０の前後の動き（ピッチング）を制御する。右ヨー股関節１１Ｒおよび左ヨー股関節１１Ｌは、それぞれの脚の付け根部分におけるロボットの左右に回転する動き（ヨーイング）を生じさせる。
【００３０】
右ロール股関節１２Ｒおよび左ロール股関節１２Ｌは、それぞれの脚の付け根部分におけるロボットの横向きの回転（ローリング）を生じさせる。右ピッチ股関節１３Ｒおよび左ピッチ股関節１３Ｌは、それぞれの脚の付け根部分におけるロボットの前後の回転（ピッチング）を生じさせる。
【００３１】
また、右ピッチ膝関節１４Ｒおよび左ピッチ膝関節１４Ｌは、それぞれの膝部分におけるロボットの前後の動き（ピッチング）を生じさせる。右ピッチ足首関節１５Ｒおよび左ピッチ足首関節１５Ｌは、それぞれの足首部分におけるロボットの前後の動き（ピッチング）を生じさせる。右ロール足首関節１６Ｒおよび左ロール足首関節１６Ｌは、それぞれの足首部分におけるロボットの横向きの動き（ローリング）を生じさせる。
【００３２】
また、それぞれの脚には、足裏が取り付けられている。図３には、左脚３０Ｌに取り付けられた足裏４０が示されている。それぞれの足裏には、４つの力センサが組み込まれている。なお、力センサの数は任意である。図３には、足裏４０に備えられた力センサ５０ａ〜５０ｄが示されている。これらの力センサは、足裏４０が床面から受ける反力を測定する。力センサにより測定された反力は、ロボットの動きのコンプライアンス制御およびフィードバック制御に用いられる。
【００３３】
ジャイロセンサ６０は、横向き（ローリング）方向および前後（ピッチング）方向の胴体２０の回転角度を測定する。ジャイロセンサ６０により測定された回転角度は、ロボットの動きのフィードバック制御に用いられる。
【００３４】
図４は、ロボットの歩行運動を説明するタイムチャートである。時間ｔ０で、右ロール股関節１２Ｒ、左ロール股関節１２Ｌ、右ロール足首関節１６Ｒ、左ロール足首関節１６Ｌは、左脚３０Ｌを持ち上げるため、両脚をロボットの右側に傾けるローリングの動作を行う。この動作を行う場合、右ロール股関節１２Ｒ、左ロール股関節１２Ｌ、右ロール足首関節１６Ｒ、左ロール足首関節１６Ｌの動きは、ギアバックラッシュ補償の分だけわずかに異なるものとなる。
【００３５】
ローリング動作の振幅は、試行錯誤により決定される。あるいは、ローリング動作の振幅は、胴体２０のローリング角の評価関数が最小となるようにフィードバック制御を行うことにより決定される。
【００３６】
時間ｔ１では、右ロール股関節１２Ｒ、左ロール股関節１２Ｌ、右ロール足首関節１６Ｒ、左ロール足首関節１６Ｌはローリングの動作を停止する。そして、左脚３０Ｌを持ち上げるため、すなわち、左脚３０Ｌのリフティング操作を行うため、左ピッチ膝関節１４Ｌは、左脚３０Ｌを縮めるように回転し、左ピッチ足首関節１５Ｌは、左足首を縮めるように回転する。
【００３７】
時間ｔ２では、左ピッチ膝関節１４Ｌおよび左ピッチ足首関節１５Ｌはリフティングの動作を停止する。そして、右ピッチ股関節１３Ｒおよび右ピッチ足首関節１５Ｒは回転して、胴体２０が前方に移動するようピッチングの動作を行う。
【００３８】
時間ｔ２と時間ｔ３の間では、右ピッチ股関節１３Ｒおよび右ピッチ足首関節１５Ｒは、ピッチングの動作を停止する。
【００３９】
時間ｔ３では、左ピッチ膝関節１４Ｌは、左脚３０Ｌを床面に着地させるため、左脚３０Ｌを伸ばすように回転し、左ピッチ足首関節１５Ｌは、左足首を伸ばすように回転する。
【００４０】
時間ｔ４では、左脚３０Ｌが床面に着地する。加えて、右ロール股関節１２Ｒ、左ロール股関節１２Ｌ、右ロール足首関節１６Ｒ、左ロール足首関節１６Ｌは、右脚３０Ｒを持ち上げるため、両脚をロボットの左側に傾けるローリングの動作を行う。さらに、右ピッチ股関節１３Ｒおよび右ピッチ足首関節１５Ｒは、元の状態、すなわち、時間ｔ２における状態に戻るように回転する。さらに、右脚３０Ｒを前方に振り出すため、左ピッチ股関節１３Ｌおよび左ピッチ足首関節１５Ｌは回転して、胴体２０が前方に移動するようピッチングの動作を行う。
【００４１】
時間ｔ４と時間ｔ５の間では、右ピッチ股関節１３Ｒおよび右ピッチ足首関節１５Ｒは元の状態に戻るとともに、左ピッチ股関節１３Ｌおよび左ピッチ足首関節１５Ｌはピッチングの動作を停止する。
【００４２】
そして、時間ｔ５では、右ロール股関節１２Ｒ、左ロール股関節１２Ｌ、右ロール足首関節１６Ｒ、左ロール足首関節１６Ｌはローリングの動作を停止する。さらに、右脚３０Ｒを持ち上げるため、すなわち、右脚３０Ｒのリフティング操作を行うため、右ピッチ膝関節１４Ｒは、右脚３０Ｒを縮めるように回転し、右ピッチ足首関節１５Ｒは、右足首を縮めるように回転する。
【００４３】
時間ｔ６では、右ピッチ膝関節１４Ｒおよび右ピッチ足首関節１５Ｒはリフティングの動作を停止する。さらに、左ピッチ股関節１３Ｌおよび左ピッチ足首関節１５Ｌは、元の状態、すなわち、時間ｔ４における状態に戻るように回転する。その結果、ロボットの姿勢が、リファレンスフレームＰ６で定義される姿勢に設定される。
【００４４】
時間ｔ６と時間ｔ７の間では、左ピッチ股関節１３Ｌおよび左ピッチ足首関節１５Ｌは元の状態に復帰する。その結果、ロボットの姿勢が、リファレンスフレームＰ６で定義される姿勢に設定される。すなわち、ロボットのリニア速度は０であり、ロボットは左脚３０Ｌのみで立っており、歩幅は０となる。
【００４５】
時間ｔ７では、右脚３０Ｒを前方に振り出すため、左ピッチ股関節１３Ｌおよび左ピッチ足首関節１５Ｌは回転して、胴体２０が前方に移動するようピッチングの動作を行う。
【００４６】
時間ｔ７と時間ｔ８の間では、左ピッチ股関節１３Ｌおよび左ピッチ足首関節１５Ｌは、ピッチングの動作を停止する。時間ｔ８では、右脚３０Ｒを床面に着地させるため、右ピッチ膝関節１４Ｒは、右脚３０Ｒを伸ばすように回転し、右ピッチ足首関節１５Ｒは、右足首を伸ばすように回転する。
【００４７】
時間ｔ９では、右脚３０Ｒが床面に着地する。加えて、右ロール股関節１２Ｒ、左ロール股関節１２Ｌ、右ロール足首関節１６Ｒ、左ロール足首関節１６Ｌは、左脚３０Ｌを持ち上げるため、両脚をロボットの右側に傾けるローリングの動作を行う。さらに、左脚３０Ｌを前方に振り出すため、右ピッチ股関節１３Ｒおよび右ピッチ足首関節１５Ｒは回転して、胴体２０が前方に移動するようピッチングの動作を行う。さらに、左ピッチ股関節１３Ｌおよび左ピッチ足首関節１５Ｌは、元の状態、すなわち、時間ｔ７における状態に戻るように回転する。
【００４８】
時間ｔ１０では、右ロール股関節１２Ｒ、左ロール股関節１２Ｌ、右ロール足首関節１６Ｒ、左ロール足首関節１６Ｌはローリングの動作を停止する。さらに、左脚３０Ｌを持ち上げるため、すなわち、左脚３０Ｌのリフティング操作を行うため、左ピッチ膝関節１４Ｌは、左脚３０Ｌを縮めるように回転し、左ピッチ足首関節１５Ｌは、左足首を縮めるように回転する。
【００４９】
時間ｔ１１では、左ピッチ膝関節１４Ｌおよび左ピッチ足首関節１５Ｌはリフティングの動作を停止する。さらに、右ピッチ股関節１３Ｒおよび右ピッチ足首関節１５Ｒは、元の状態、すなわち、時間ｔ９における状態に戻るように回転する。その結果、ロボットの姿勢が、リファレンスフレームＰ１１で定義される姿勢に設定される。
【００５０】
時間ｔ１１以後、右ピッチ股関節１３Ｒおよび右ピッチ足首関節１５Ｒは元の状態に復帰する。その結果、ロボットの姿勢が、リファレンスフレームＰ１１で定義される姿勢に設定される。すなわち、ロボットのリニア速度は０であり、ロボットは右脚３０Ｒのみで立っており、歩幅は０となる。このような動きを繰り返すことにより、ロボットの歩行運動が実現される。
【００５１】
図５は、本実施例に係るロボット制御システムの機能ブロック図である。このロボット制御システムは、外部端末装置１００とロボット１１０とを含む。
【００５２】
外部端末装置１００は、ロボットの動作を管理するオペレータにより操作されるパーソナルコンピュータなどである。この外部端末装置１００は、ロボット１１０との間で通信を行う。この通信は、さまざまな種類の情報の授受を含むものである。
【００５３】
この外部端末装置１００は、あらかじめ設定したロボット１１０のフレーム情報および／またはロボット１１０への指令情報などをロボット１１０に送信したり、ロボット１１０からロボット１１０の状態（姿勢や速度など）に係る情報などを受信する。ロボット１１０から得られた情報は、表示装置（図示せず）に表示される。
【００５４】
ロボット１１０は、たとえば２本脚のヒューマノイドロボットである。このロボット１１０は、ジャイロセンサ１１１、ジャイロセンサ制御部１１２、関節１１３1〜１１３n（ｎは自然数）、関節制御部１１４1〜１１４n、力センサ１１５1〜１１５m（ｍは自然数）、力センサ制御部１１６1〜１１６m、位置センサ１１７1〜１１７n、位置センサ制御部１１８1〜１１８n、通信インターフェース１２１、メモリ１２２、中央制御部１２３を有する。
【００５５】
ジャイロセンサ１１１は、図３に示したジャイロセンサ６０と同様の機能を有する。このジャイロセンサ１１１は、ロボット１１０の胴体２０に備えられ、横向き（ローリング）方向および前後（ピッチング）方向の胴体２０の回転角度を測定する。ジャイロセンサ制御部１１２は、ジャイロセンサ１１１の機能を制御するとともに、ジャイロセンサ１１１により測定された回転角度の情報を中央制御部１２３に送信する。
【００５６】
関節１１３1〜１１３nは、ロボット１１０をさまざまに動かすものである。モータ（図示せず）がこれらの関節を駆動させる。関節には、図３で説明したピッチ腰関節１０、右ヨー股関節１１Ｒ、左ヨー股関節１１Ｌ、右ロール股関節１２Ｒ、左ロール股関節１２Ｌ、右ピッチ股関節１３Ｒ、左ピッチ股関節１３Ｌ、右ピッチ膝関節１４Ｒ、左ピッチ膝関節１４Ｌ、右ピッチ足首関節１５Ｒ、左ピッチ足首関節１５Ｌ、右ロール足首関節１６Ｒ、左ロール足首関節１６Ｌが含まれる。
【００５７】
関節制御部１１４1〜１１４nは、各関節１１３1〜１１３nの動作を制御する。特に、関節制御部１１４1〜１１４nは、関節１１３1〜１１３nが所定の時間に、所定の角速度で所定の角度だけ回転するよう制御する。この角度、角速度、時間は中央制御部１２３により指定される。
【００５８】
力センサ１１５1〜１１５mは、ロボット１１０の右脚３０Ｒおよび左脚３０Ｌの足裏に設けられる。この力センサ１１５1〜１１５mは、床面からの反力を測定する。また、この力センサ１１５1〜１１５mは、図３で説明した力センサ５０ａ〜５０ｄと同様の機能を有する。力センサ制御部１１６1〜１１６mは、力センサ１１５1〜１１５mの機能を制御するとともに、力センサ１１５1〜１１５mにより測定された反力の情報を中央制御部１２３に送信する。
【００５９】
位置センサ１１７1〜１１７nは、各関節１１３1〜１１３nに取り付けられ、各関節１１３1〜１１３nの位置を検出するセンサであり、具体的には各関節１１３1〜１１３nの回転角度を検出する。位置センサ制御部１１８1〜１１８nは、各位置センサ１１７1〜１１７nの動作を制御するとともに、位置センサ１１７1〜１１７nにより測定された位置情報を中央制御部１２３に送信する。
【００６０】
通信インターフェース１２１は、外部端末装置１００との間で通信を行う。この通信インターフェース１２１は、外部端末装置１００との間で無線通信および／または有線通信を行う。
【００６１】
メモリ１２２は、さまざまな情報を記憶する。たとえば、メモリ１２２は、外部端末装置１００から受信した情報および／または外部端末装置１００に送信される情報を記憶するとともに、中央制御部１２３によりなされた種々の演算の結果に係る情報を記憶する。
【００６２】
中央制御部１２３は、ロボット１１０を全体制御する。この中央制御部１２３は、たとえば、外部端末装置１００から受信したフレーム情報を基にして、ロボット１１０が動作する際の各関節１１３1〜１１３nの回転開始時間、角速度、回転角などを算出し、その結果を関節制御部１１４1〜１１４nに送信する。
【００６３】
また、中央制御部１２３は、外部端末装置１００から通信インターフェース１２１を介してロボット１１０の動作制御要求を受け付ける。動作制御要求とは、歩幅の変更要求や歩行方向の変更要求、あるいは歩行以外の動作の実行要求を含むものである。
【００６４】
中央制御部１２３は、リファレンスフレームＰ１，Ｐ６，Ｐ１１の姿勢が実現された後にのみ、上記要求を実行する。要求を実行する際には、中央制御部１２３は、要求された動作に対応する関節１１３1〜１１３nの回転開始時間、角速度、回転角などの情報を関節制御部１１４1〜１１４nに送信する。リファレンスフレームＰ１，Ｐ６，Ｐ１１においては、ロボット１１０は、片脚で安定して立っているので、ロボット１１０がリファレンスフレームＰ１，Ｐ６，Ｐ１１に対応する姿勢で立っている場合に上記要求を実行することは都合がよいことである。
【００６５】
なお、ここでは、中央制御部１２３がさまざまなパラメータを算出することとしているが、外部端末装置１００がそれらを算出し、ロボットを制御する構成を採用することとしてもよい。このような構成を採用する場合には、外部端末装置１００は、回転開始時間、角速度、回転角などの算出に必要な情報をロボット１１０から受信し、受信した情報に基づいて各パラメータを算出する。関節制御部１１４1〜１１４nは、外部端末装置１００から算出結果の情報を受信し、受信した情報に基づいてロボット１１０の動作制御を行う。
【００６６】
以下に、中央制御部１２３が行うロボット制御処理について詳細に説明する。図６は、中央制御部１２３の構成を示す機能ブロック図である。同図に示すように、この中央制御部１２３は、動作生成部１２３ａと、コンプライアンス制御部１２３ｂと、フィードバック制御部１２３ｃと、反射制御部１２３ｄと、補正部１２３ｅとを有する。
【００６７】
動作生成部１２３ａは、外部端末装置１００から通信インターフェース１２１を介して受信したフレーム情報を基にして、ロボット１１０が動作する際の各関節１１３1〜１１３nの回転開始時間、角速度、回転角などを算出し、補正部１２３ｅに出力する処理部である。また、この動作生成部１２３ａは、ロボット１１０がローリングフェーズ、リフティングフェーズ、着地（ランディング）フェーズのうちのどのフェーズにあるかのフェーズ情報をコンプライアンス制御部１２３ｂおよびフィードバック制御部１２３ｃに渡す。
【００６８】
コンプライアンス制御部１２３ｂは、力センサ１１５1〜１１５mによって測定された力センサデータおよび動作生成部１２３ａからのフェーズ情報に基づいて着地動作などのコンプライアンス制御を行う処理部であり、コンプライアンス制御量を算出して補正部１２３ｅに出力する。
【００６９】
フィードバック制御部１２３ｃは、ジャイロセンサ１１１によって測定されたジャイロセンサデータに基づくジャイロフィードバック制御および力センサ１１５1〜１１５mによって測定された力センサデータに基づくＺＭＰフィードバック制御を行う処理部であり、フィードバック制御量を算出して補正部１２３ｅに出力する。
【００７０】
図７は、中央制御部１２３によるロボット制御方式を説明するための説明図である。同図は、ＺＭＰのｘ座標（ｘm）とその速度（ｄｘm／ｄｔ）の関係を示し、ロボットの１サイクル動作に対応する軌跡を示している。ｘ＝Ｘminおよびｘ＝Ｘmaxの点は、ロボットが片脚立ちで安定状態にある場合に対応し、フィードバック制御が有効となる。
【００７１】
図８は、ロボット１１０が歩行中に右脚３０Ｒで片脚立ちをしている場合の通常のＺＭＰの軌跡を太い矢印で示している。ロボット１１０が歩行中に障害物に着地しようとすると、ＺＭＰは通常の軌跡からはずれる。
【００７２】
フィードバック制御部１２３ｃは、力センサデータを用いてＺＭＰを計算する。図９は、フィードバック制御部１２３ｃによるＺＭＰの計算法を示す図である。同図に示すように、フィードバック反射制御部１２３ｃは、４つの力センサデータＦ1〜Ｆ4および力センサが取り付けられた座標を用いてＺＭＰ(ｘm，ｙm）を計算する。
【００７３】
反射制御部１２３ｄは、歩行面の障害物を検出し、反射制御を行う処理部であり、力センサ１１５1〜１１５mによって測定された力センサデータ、位置センサ１１７1〜１１７nによって測定された位置センサデータ、ジャイロセンサ１１１によって測定されたジャイロセンサデータを用いてロボット１１０が障害物に対して安定するように制御する。
【００７４】
補正部１２３ｅは、動作生成部１２３ａが各関節１１３1〜１１３nに対して算出した回転開始時間、角速度、回転角などをコンプライアンス制御部１２３ｂ、フィードバック制御部１２３ｃおよび反射制御部１２３ｄの出力で補正し、各関節１１３1〜１１３nのモータに対するコマンドを出力する処理部である。
【００７５】
次に、反射制御部１２３ｄによる反射制御の詳細について説明する。歩行面の障害物は力センサ１１５1〜１１５mによって検出される。反射制御部１２３ｄは、通常の歩行面への到達時点より前に力センサ１１５1〜１１５mによって力を検出すると、ロボット１１０の歩行動作を停止し、ロボット１１０が安定状態に戻るように支持脚へのローリング動作とスイング脚をスイング前の位置に戻す動作を行う。
【００７６】
図１０は、障害物を検出した際の反射制御を説明するための説明図である。同図に示すように、反射制御部１２３ｄは、障害物を検出すると、支持脚へのローリング動作とスイング脚をスイング前の位置に戻す動作を指示するとともに、短い時間スイング脚を伸ばすように足首関節、膝関節および股関節に指示する。具体的には、反射制御部１２３ｄは、少しの時間だけコンプライアンス制御のゲインの符号を反転するとともに、コンプライアンス制御の出力を制御することによって、短い時間スイング脚を伸ばすように足首関節、膝関節および股関節に指示する。
【００７７】
図１１は、スイング脚が障害物に接触した際の力センサ出力、スイング脚長の設定値からのずれおよびコンプライアンス制御のゲインを示す図である。同図において、ｔ1は力センサ出力によって障害物が検出された時点を示し、ｔ2は反射制御部１２３ｄによってコンプライアンス制御のゲインの符号が反転させられた時点を示し、ｔ3はコンプライアンス制御のゲインの符号が元に戻される時点を示す。
【００７８】
スイング脚が障害物に接触するとスイング脚長は、コンプライアンス制御のゲインの符号が反転するｔ2までは設定値より短くなり、障害物が検出されると瞬間的に設定値より長くなり、しばらくすると設定値に戻る。ｔ2とｔ3の時間間隔Δｔは約２０ミリ秒であり、このΔｔはできるだけ短くする。反射制御部１２３ｄは、Δｔの間だけコンプライアンス制御のゲインの符号を反転し通常のコンプライアンス制御を中断する。
【００７９】
また、反射制御部１２３ｄは、障害物を検出すると、短い時間支持脚を曲げるように足首関節、膝関節および股関節に指示する。図１２は、支持脚の曲げを説明するための説明図である。同図に示すように、反射制御部１２３ｄの指示によって足首関節、膝関節および股関節がそれぞれ−θr、２θrおよび−θr回転したとすると、支持脚の長さｙc＝２Ｌ（ｓｉｎθr）となり、支持脚の設定値からのずれｄ＝Ｌ0−ｙcとなる。ここで、Ｌは足首関節（膝関節）と膝関節（股関節）との間の脚の長さであり、Ｌ0は支持脚長の設定値である。また、反射制御部１２３ｄは、ｄがスイング脚長のずれ、すなわちスイング脚長を設定値から伸ばした長さと同じになるように制御する。
【００８０】
図１３は、両脚の反射制御をまとめて説明するための説明図である。実線は反射制御前のスイング脚および支持脚を示し、点線は反射制御後のスイング脚および支持脚を示す。同図に示すように、反射制御部１２３ｄはΔｔの間、コンプライアンス制御のゲインＫの符号を反転し、スイング脚に対しては脚を伸ばすように指示し、支持脚に対しては脚を曲げるように指示する。
【００８１】
このように、反射制御部１２３ｄが、障害物を検出すると、Δｔの間、コンプライアンス制御のゲインＫの符号を反転し、スイング脚に対しては脚を伸ばすように指示し、支持脚に対しては脚を曲げるように指示することによって、スイング脚に重心が移動してしまった後でも重心を支持脚に戻し、ロボット１１０の転倒を防ぐことができる。
【００８２】
なお、通常の歩行においては、ピッチング動作に関する関節は以下の式で制御される。
θaｍ（ｔ）＝θl（ｔ）＋θs（ｔ）＋θc（ｔ）
θkｍ（ｔ）＝−２θl（ｔ）−２θc（ｔ）
θhｍ（ｔ）＝θl（ｔ）−θs（ｔ）＋θc（ｔ）
【００８３】
ここで、θlはリフティング動作の関節角度であり、θsはストライド動作の関節角度であり、θaｍ、θkｍおよびθhｍはそれぞれ足首関節、膝関節および股関節に対するピッチング用コマンドである。また、θc（ｔ）＝ａｒｃｓｉｎ（ｙc（ｔ）／Ｌ）は、図１４および式（１）に示す仮想ダンパ−スプリングモデル（コンプライアンス制御のモデル）から導かれる角度である。
【数１】
0005104355.tif 000002
【００８４】
また、反射制御部１２３ｄは、ロボット１１０が安定状態に戻ると、障害物に対して歩行動作を継続できるか否かを判定し、歩行動作を継続できると判定した場合には歩行を継続し、歩行動作を継続できないと判定した場合には、上位制御装置に対して指示を求める。
【００８５】
具体的には、反射制御部１２３ｄは、障害物を踏みながら歩行を継続できるか、または障害物を跨いで歩行を継続できるかを判定する。図１５は、障害物を踏みながら歩行を継続できるか否かを反射制御部１２３ｄが判定する際の動作を説明するための説明図である。同図において、（ａ）および（ｂ）は足裏４０を前後方向から見た場合を示し、（ｃ）および（ｄ）は足裏４０を左右方向から見た場合を示す。
【００８６】
反射制御部１２３ｄは、スイング脚を障害物上に移動し、（ａ）および（ｂ）に示すように足裏４０を左右に動かし、続いて（ｃ）および（ｄ）に示すように足裏４０を前後に動かすことによって、障害物が継続歩行を可能とする安定面を形成しているか否かを判定する。なお、足裏４０は最大可動範囲の半分まで動かす。そして、障害物が継続歩行を可能とする安定面を形成している場合には、歩行動作に対する安定領域（支持多角形）が最大になるように脚を動かして歩行を継続する。
【００８７】
ただし、反射制御部１２３ｄは、通常の動的な制御下ではなく静的な制御下でロボット１１０の歩行を制御する。すなわち、重心をリニアにスイング脚に移動しスイング脚にかかる力を徐々に増加させることによって、スイング脚にかかる力の増加に起因して障害物が形成する面が不安定になった場合には、元の安定状態に戻すことができるように制御する。反射制御部１２３ｄは、このような静的な制御下での歩行の制御を、水平な歩行面が見つかるまで継続する。
【００８８】
また、反射制御部１２３ｄは、ストライドを変更することによって障害物を跨ぐことができるか否かを判定し、障害物を跨ぐことができる場合には、ストライドを変更して歩行を継続するように制御する。なお、ロボット１１０との接触により障害物が移動して障害物が歩行の障害とならなくなった場合にも歩行を継続することができる。
【００８９】
継続歩行を可能とする安定面を障害物が形成していない場合、かつ、ストライドを変更しても障害物を跨ぐことができない場合には、反射制御部１２３ｄは、歩行動作を継続できないと判定する。
【００９０】
このように、反射制御部１２３ｄが、障害物に対して歩行動作を継続できるか否かを判定することによって、可能な限りロボット１１０の歩行を継続することができる。
【００９１】
次に、反射制御部１２３ｄによる反射制御の処理手順について説明する。図１６は、反射制御部１２３ｄによる反射制御の処理手順を示すフローチャートである。なお、ここでは、左脚３０Ｌをスイング脚とし、重心が左脚３０Ｌに移動した後における反射制御について説明する。
【００９２】
図１６に示すように、この反射制御では、反射制御部１２３ｄは、力センサデータに基づいて障害物が検出されたか否かを判定し（ステップＳ１）、障害物が検出されない場合には、障害物の検出を継続する。
【００９３】
一方、障害物が検出された場合には、右脚３０Ｒへのローリング動作と左脚３０Ｌをスイング前の位置に戻す動作を行うとともに、コンプライアンス制御のゲインの符号を反転して左脚３０Ｌを伸ばし、左脚３０Ｌを伸ばした分だけ右脚３０Ｒを曲げるように制御する（ステップＳ２）。そして、Δｔ経過後にコンプライアンス制御のゲインの符号を元に戻し、コンプライアンス制御を再開する（ステップＳ３）。そして、安定状態に戻るとフィードバック制御を起動する（ステップＳ４）。
【００９４】
その後、左脚３０Ｌの足裏４０を前後左右に動かして継続歩行が可能な安定面を探し（ステップＳ５）、安定面があるか否かを判定する（ステップＳ６）。その結果、安定面がある場合には、水平面が見つかるまで静的な制御下で歩行を制御する（ステップＳ７）。すなわち、ジャイロセンサの測定値の絶対値が所定の閾値より大きくなった場合、あるいはＺＭＰのｘ座標の変化率が所定の閾値より大きくなった場合には直ちに安定状態に戻れるように制御する。
【００９５】
一方、安定面がない場合にはストライドを変えることによって障害物を回避できるか否かを判定し（ステップＳ８）、障害物を回避できる場合には、ストライドを変えて歩行動作を継続する（ステップＳ９）。障害物を回避できない場合には、元の安定状態に戻し（ステップＳ１０）、上位制御からの指示を受ける。
【００９６】
このように、反射制御部１２３ｄが障害物に対する反射制御を行うことによって、ロボット１１０の転倒を防ぐことができる。
【００９７】
上述してきたように、本実施例では、反射制御部１２３ｄが、障害物を検知すると、支持脚へのローリング動作とスイング脚を元の安定位置に戻すだけでなく、コンプライアンス制御のゲインの符号を短時間反転してスイング脚を伸ばすとともに、スイング脚を伸ばした分だけ支持脚を曲げるように制御することとしたので、スイング脚に重心が移動した後に障害物を検知した場合にも、ロボット１１０の転倒を防ぐことができる。
【００９８】
また、本実施例では、障害物の検知後ロボット１１０が安定状態になると、反射制御部１２３ｄが、足裏を前後左右に動かして歩行の継続を可能とする安定面を探し、障害物が形成する安定面がある場合には、安定面上を歩行するよう制御することとしたので、対応が可能な場合には、障害物に対してもロボット１１０に歩行を継続させることができる。
【００９９】
また、本実施例では、ロボット１１０が障害物が形成する安定面上を歩行する場合に、反射制御部１２３ｄが、静的な制御下で歩行を制御することとしたので、歩行が不安定になった場合にも安定な状態に戻すことができ、ロボット１１０の転倒を防ぐことができる。
【０１００】
なお、本実施例では、ロボット制御装置について説明したが、ロボット制御装置が有する構成をソフトウェアによって実現することで、同様の機能を有するロボット制御プログラムを得ることができる。そこで、このロボット制御プログラムを実行するコンピュータについて説明する。
【０１０１】
図１７は、本実施例に係るロボット制御プログラムを実行するコンピュータの構成を示す機能ブロック図である。同図に示すように、このコンピュータ２００は、ＲＡＭ２１０と、ＣＰＵ２２０と、フラッシュメモリ２３０と、ＵＳＢインターフェース２４０と、ＣＯＭインターフェース２５０とを有する。
【０１０２】
ＲＡＭ２１０は、プログラムやプログラムの実行途中結果などを記憶するメモリであり、図５に示したメモリ１２２に対応する。ＣＰＵ２２０は、ＲＡＭ２１０からプログラムを読み出して実行する中央処理装置である。フラッシュメモリ２３０は、プログラムやデータを格納する不揮発性メモリであり、ＵＳＢインターフェース２４０は、コンピュータ２００を関節やセンサに接続するためのインターフェースである。ＣＯＭインターフェース２５０は、外部端末装置１００と通信するためのインターフェースであり、図５に示した通信インターフェース１２１に対応するものである。そして、このコンピュータ２００において実行されるロボット制御プログラム２３１は、フラッシュメモリ２３０から読み出されてＣＰＵ２２０によって実行される。
【０１０３】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１０４】
（付記１）ロボットの歩行を制御するロボット制御装置であって、
ロボットが転倒することなく単独で立っている参照姿勢を少なくとも含む複数の異なる時点の姿勢に基づいて制御情報を生成し、ロボットが予め定められた歩行動作を行うように制御する歩行動作制御手段と、
ロボットの脚が着地する場所に置かれた障害物の存在を検出する障害物検出手段と、
前記障害物検出手段により障害物が検出されると、支持脚へのローリング動作とスイング脚をスイング前の位置に戻す動作を行うとともに、コンプライアンス制御のゲインを反転し、スイング脚を一定量伸ばす一方で支持脚を該一定量曲げるように制御する反射制御手段と、
を備えたことを特徴とするロボット制御装置。
【０１０５】
（付記２）前記反射制御手段は、ロボットが安定状態になると、スイング脚の足首関節を前後左右に動かして障害物が歩行継続を可能とする歩行面を形成しているか否かを判定し、障害物が歩行継続を可能とする歩行面を形成していると判定した場合には歩行を継続するように制御することを特徴とする付記１に記載のロボット制御装置。
【０１０６】
（付記３）前記反射制御手段は、スイング脚の足首関節を前後左右に最大可動範囲の半分まで動かして障害物が歩行継続を可能とする歩行面を形成しているか否かを判定することを特徴とする付記２に記載のロボット制御装置。
【０１０７】
（付記４）前記反射制御手段は、障害物が歩行継続を可能とする歩行面を形成していると判定した場合には、スイング脚に重心を移しつつ歩行面の安定性を判定し、歩行面が安定でないと判定した場合にはスイング脚を元に戻すように静的な制御下で歩行を継続することを特徴とする付記２または３に記載のロボット制御装置。
【０１０８】
（付記５）前記反射制御手段は、水平な歩行面が見つかるまで静的な制御下で歩行を継続することを特徴とする付記４に記載のロボット制御装置。
【０１０９】
（付記６）ロボットの歩行を制御するロボット制御方法であって、
ロボットが転倒することなく単独で立っている参照姿勢を少なくとも含む複数の異なる時点の姿勢に基づいて制御情報を生成し、ロボットが予め定められた歩行動作を行うように制御する歩行動作制御ステップと、
ロボットの脚が着地する場所に置かれた障害物の存在を検出する障害物検出ステップと、
前記障害物検出ステップにより障害物が検出されると、支持脚へのローリング動作とスイング脚をスイング前の位置に戻す動作を行うとともに、コンプライアンス制御のゲインを反転し、スイング脚を一定量伸ばす一方で支持脚を該一定量曲げるように制御する反射制御ステップと、
を含んだことを特徴とするロボット制御方法。
【０１１０】
（付記７）前記反射制御ステップは、ロボットが安定状態になると、スイング脚の足首関節を前後左右に動かして障害物が歩行継続を可能とする歩行面を形成しているか否かを判定し、障害物が歩行継続を可能とする歩行面を形成していると判定した場合には歩行を継続するように制御することを特徴とする付記６に記載のロボット制御方法。
【０１１１】
（付記８）前記反射制御ステップは、スイング脚の足首関節を前後左右に最大可動範囲の半分まで動かして障害物が歩行継続を可能とする歩行面を形成しているか否かを判定することを特徴とする付記７に記載のロボット制御方法。
【０１１２】
（付記９）前記反射制御ステップは、障害物が歩行継続を可能とする歩行面を形成していると判定した場合には、スイング脚に重心を移しつつ歩行面の安定性を判定し、歩行面が安定でないと判定した場合にはスイング脚を元に戻すように静的な制御下で歩行を継続することを特徴とする付記７または８に記載のロボット制御方法。
【０１１３】
（付記１０）前記反射制御ステップは、水平な歩行面が見つかるまで静的な制御下で歩行を継続することを特徴とする付記９に記載のロボット制御方法。
【０１１４】
（付記１１）ロボットの歩行を制御するロボット制御プログラムであって、
ロボットが転倒することなく単独で立っている参照姿勢を少なくとも含む複数の異なる時点の姿勢に基づいて制御情報を生成し、ロボットが予め定められた歩行動作を行うように制御する歩行動作制御手順と、
ロボットの脚が着地する場所に置かれた障害物の存在を検出する障害物検出手順と、
前記障害物検出手順により障害物が検出されると、支持脚へのローリング動作とスイング脚をスイング前の位置に戻す動作を行うとともに、コンプライアンス制御のゲインを反転し、スイング脚を一定量伸ばす一方で支持脚を該一定量曲げるように制御する反射制御手順と、
をコンピュータに実行させることを特徴とするロボット制御プログラム。
【０１１５】
（付記１２）前記反射制御手順は、ロボットが安定状態になると、スイング脚の足首関節を前後左右に動かして障害物が歩行継続を可能とする歩行面を形成しているか否かを判定し、障害物が歩行継続を可能とする歩行面を形成していると判定した場合には歩行を継続するように制御することを特徴とする付記１１に記載のロボット制御プログラム。
【０１１６】
（付記１３）前記反射制御手順は、スイング脚の足首関節を前後左右に最大可動範囲の半分まで動かして障害物が歩行継続を可能とする歩行面を形成しているか否かを判定することを特徴とする付記１２に記載のロボット制御プログラム。
【０１１７】
（付記１４）前記反射制御手順は、障害物が歩行継続を可能とする歩行面を形成していると判定した場合には、スイング脚に重心を移しつつ歩行面の安定性を判定し、歩行面が安定でないと判定した場合にはスイング脚を元に戻すように静的な制御下で歩行を継続することを特徴とする付記１２または１３に記載のロボット制御プログラム。
【０１１８】
（付記１５）前記反射制御手順は、水平な歩行面が見つかるまで静的な制御下で歩行を継続することを特徴とする付記１４に記載のロボット制御プログラム。
【図面の簡単な説明】
【０１１９】
【図１】本実施例に係るロボット歩行を説明する図である。
【図２】各フレームＰ０〜Ｐ１１の状態遷移図である。
【図３】本実施例に係るロボットの概略図である。
【図４】ロボットの歩行運動を説明するタイムチャートである。
【図５】本実施例に係るロボット制御システムの機能ブロック図である。
【図６】中央制御部の構成を示す機能ブロック図である。
【図７】中央制御部によるロボット制御方式を説明するための説明図である。
【図８】ＺＭＰの移動を示す図である。
【図９】フィードバック制御部によるＺＭＰの計算法を示す図である。
【図１０】障害物を検出した際の反射制御を説明するための説明図である。
【図１１】スイング脚が障害物に接触した際の力センサ出力、スイング脚長の設定値からのずれおよびコンプライアンス制御のゲインを示す図である。
【図１２】支持脚の曲げを説明するための説明図である。
【図１３】両脚の反射制御をまとめて説明するための説明図である。
【図１４】仮想ダンパ−スプリングモデルを示す図である。
【図１５】障害物を踏みながら歩行を継続できるか否かを反射制御部が判定する際の動作を説明するための説明図である。
【図１６】反射制御部による反射制御の処理手順を示すフローチャートである。
【図１７】本実施例に係るロボット制御プログラムを実行するコンピュータの構成を示す機能ブロック図である。
【符号の説明】
【０１２０】
１０    ピッチ腰関節
１１Ｒ    右ヨー股関節
１１Ｌ    左ヨー股関節
１２Ｒ    右ロール股関節
１２Ｌ    左ロール股関節
１３Ｒ    右ピッチ股関節
１３Ｌ    左ピッチ股関節
１４Ｒ    右ピッチ膝関節
１４Ｌ    左ピッチ膝関節
１５Ｒ    右ピッチ足首関節
１５Ｌ    左ピッチ足首関節
１６Ｒ    右ロール足首関節
１６Ｌ    左ロール足首関節
２０    胴体
３０Ｒ    右脚
３０Ｌ    左脚
４０    足裏
５０ａ〜５０ｄ，１１５1〜１１５m    力センサ
６０，１１１    ジャイロセンサ
１００    外部端末装置
１１０    ロボット
１１２    ジャイロセンサ制御部
１１３1〜１１３n    関節
１１４1〜１１４n    関節制御部
１１６1〜１１６m    力センサ制御部
１１７1〜１１７n    位置センサ
１１８1〜１１８n    位置センサ制御部
１２１    通信インターフェース
１２２    メモリ
１２３    中央制御部
１２３ａ    動作生成部
１２３ｂ    コンプライアンス制御部
１２３ｃ    フィードバック制御部
１２３ｄ    反射制御部
１２３ｅ    補正部
２００    コンピュータ
２１０    ＲＡＭ
２２０    ＣＰＵ
２３０    フラッシュメモリ
２３１    ロボット制御プログラム
２４０    ＵＳＢインターフェース
２５０    ＣＯＭインターフェース
【図１】
0005104355.tif 000003
【図２】
0005104355.tif 000004
【図３】
0005104355.tif 000005
【図４】
0005104355.tif 000006
【図５】
0005104355.tif 000007
【図６】
0005104355.tif 000008
【図７】
0005104355.tif 000009
【図８】
0005104355.tif 000010
【図９】
0005104355.tif 000011
【図１０】
0005104355.tif 000012
【図１１】
0005104355.tif 000013
【図１２】
0005104355.tif 000014
【図１３】
0005104355.tif 000015
【図１４】
0005104355.tif 000016
【図１５】
0005104355.tif 000017
【図１６】
0005104355.tif 000018
【図１７】
0005104355.tif 000019