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