(57)【要約】【課題】制御性の高い脚式ロボット、その制御装置及び制御方法を提供すること。【解決手段】本発明にかかるロボット制御装置は、複数の脚を備えるロボット１０１の関節を駆動して、ロボットを歩行させるロボット制御装置であって、ロボット１０１を取り巻く環境の情報である環境検出値に基づいて、ロボットの体幹垂直位置に対する許容範囲を決定し、ロボットの姿勢を表す姿勢検出値に基づいて、体幹垂直位置が許容範囲内になるように、ロボットを歩行させるものである。【選択図】図２
2010253585.tif 000002
【特許請求の範囲】
【請求項１】
複数の脚を備えるロボットの関節を駆動して、前記ロボットを歩行させるロボット制御装置であって、
前記ロボットを取り巻く環境の情報である環境検出値に基づいて、前記ロボットの体幹垂直位置に対する許容範囲を決定し、
前記ロボットの姿勢を表す姿勢検出値に基づいて、前記体幹垂直位置が前記許容範囲内になるように、前記ロボットを歩行させるロボット制御装置。
【請求項２】
前記ロボットの大腿部角速度を制御する大腿部角速度制御器と、
前記ロボットの膝絶対角度を制御する膝絶対角度制御器と、
前記ロボットの遊脚角度を制御する遊脚角度制御器と、を有する請求項１記載のロボット制御装置。
【請求項３】
大腿部角速度指令を発生する大腿部角速度指令発生器と、
前記環境検出値と前記姿勢検出値に基づいて前記ロボットの体幹垂直位置の目標値である体幹垂直位置指令を発生する体幹垂直位置指令発生器と、を備えた請求項１記載のロボット制御装置。
【請求項４】
前記ロボットの機構であるロボット機構の線形部分を制御する線形部トルクを演算することを特徴とする請求項１乃至３のいずれか１項に記載のロボット制御装置。
【請求項５】
前記線形部トルクは前記ロボットの大腿部角速度を制御する足首線形部トルクと、前記ロボットの膝絶対角度を制御する膝線形部トルクと、前記ロボットの遊脚角度を制御する遊脚線形部トルクとを含んでいることを特徴とする請求項４記載のロボット制御装置。
【請求項６】
前記環境検出値を出力する環境検出器を備えることを特徴とする請求項１乃至５のいずれか１項に記載のロボット制御装置。
【請求項７】
前記環境検出値は前記ロボットの上方の障害の位置と、地面の温度を含んでいることを特徴とする請求項１乃至６のいずれか１項に記載のロボット制御装置。
【請求項８】
前記ロボットの上方の障害の位置に応じて前記体幹垂直位置の許容範囲の上限値を設定し、かつ、地面の温度に応じて前記体幹垂直位置の許容範囲の下限値を設定し、
前記体幹垂直位置が前記下限値より小さい場合には、前記ロボットの体幹垂直位置の目標値である体幹垂直位置指令を前記下限値とし、
前記体幹垂直位置が前記体幹垂直位置指令上限値より大きい場合には。前記体幹垂直位置指令を前記垂直位置指令上限値とし、
前記体幹垂直位置が前記体幹垂直位置指令下限値と前記体幹垂直位置指令上限値の間にある場合は前記体幹垂直位置指令を前記体幹垂直位置とすることを特徴とする請求項７に記載のロボット制御装置。
【請求項９】
前記姿勢検出値を出力する姿勢検出器を備えることを特徴とする請求項１乃至８のいずれか１項に記載のロボット制御装置。
【請求項１０】
前記姿勢検出値は前記ロボットの大腿部角度、膝角度、及び遊脚角度を含んでいることを特徴とする請求項１乃至９のいずれか１項に記載のロボット制御装置。
【請求項１１】
前記ロボットの大腿部角度と膝角度の和である膝絶対角度の目標値を膝絶対角度指令とし、前記膝絶対角度指令は前記ロボットの大腿部角度の関数とすることを特徴とする請求項１０に記載のロボット制御装置。
【請求項１２】
前記体幹垂直位置指令から前記ロボットの大腿部長さと前記大腿部角度の積を減算した値を求め、
前記減算した値を脛長さで除算し、
前記除算した値の逆余弦値を前記膝絶対角度指令とすることを特徴とする請求項１１に記載のロボット制御装置。
【請求項１３】
前記ロボットの遊脚角度の目標値である遊脚角度指令は前記ロボットの大腿部角度の関数となっていることを特徴とする請求項１乃至１２のいずれか１項に記載のロボット制御装置。
【請求項１４】
前記遊脚角度指令を前記大腿部角度の符号を逆にしたものとすることを特徴とする請求項１３記載のロボット制御装置。
【請求項１５】
請求項１乃至１４のいずれか１項に記載のロボット制御装置と、
複数の脚と、を備えた脚式ロボット。
【請求項１６】
複数の脚を備えるロボットの関節を駆動して、前記ロボットを歩行させるロボット制御方法であって、
前記ロボットを取り巻く環境の情報である環境検出値に基づいて、前記ロボットの体幹垂直位置に対する許容範囲を決定し、
前記ロボットの姿勢を表す姿勢検出値に基づいて、前記体幹垂直位置が前記許容範囲内になるように、前記ロボットを歩行させるロボット制御方法。
【請求項１７】
前記環境検出値と前記姿勢検出値に基づいて前記ロボットの体幹垂直位置の目標値である体幹垂直位置指令を発生する請求項１６記載のロボット制御方法。
【請求項１８】
前記ロボットの機構であるロボット機構の線形部分を制御する線形部トルクを演算することを特徴とする請求項１６、又は１７に記載のロボット制御方法。
【請求項１９】
前記線形部トルクは前記ロボットの大腿部角速度を制御する足首線形部トルクと、前記ロボットの膝絶対角度を制御する膝線形部トルクと、前記ロボットの遊脚角度を制御する遊脚線形部トルクとを含んでいることを特徴とする請求項１８記載のロボット制御方法。
【請求項２０】
前記環境検出値は前記ロボットの上方の障害の位置と、地面の温度を含んでいることを特徴とする請求項１６乃至１９のいずれか１項に記載のロボット制御方法。
【請求項２１】
前記ロボットの上方の障害の位置に応じて前記体幹垂直位置の許容範囲の上限値を設定し、かつ、地面の温度に応じて前記体幹垂直位置の許容範囲の下限値を設定し、
前記体幹垂直位置が前記下限値より小さい場合には、前記ロボットの体幹垂直位置の目標値である体幹垂直位置指令を前記下限値とし、
前記体幹垂直位置が前記体幹垂直位置指令上限値より大きい場合には。前記体幹垂直位置指令を前記垂直位置指令上限値とし、
前記体幹垂直位置が前記体幹垂直位置指令下限値と前記体幹垂直位置指令上限値の間にある場合は前記体幹垂直位置指令を前記体幹垂直位置とすることを特徴とする請求項２０に記載のロボット制御方法。
【請求項２２】
前記姿勢検出値は前記ロボットの大腿部角度、膝角度、及び遊脚角度を含んでいることを特徴とする請求項１６乃至２１のいずれか１項に記載のロボット制御方法。
【請求項２３】
前記ロボットの大腿部角度と膝角度の和である膝絶対角度の目標値を膝絶対角度指令とし、前記膝絶対角度指令は前記ロボットの大腿部角度の関数とすることを特徴とする請求項２２に記載のロボット制御方法。
【請求項２４】
前記体幹垂直位置指令から前記ロボットの大腿部長さと前記大腿部角度の積を減算した値を求め、
前記減算した値を脛長さで除算し、
前記除算した値の逆余弦値を前記膝絶対角度指令とすることを特徴とする請求項２３に記載のロボット制御方法。
【請求項２５】
前記ロボットの遊脚角度の目標値である遊脚角度指令は前記ロボットの大腿部角度の関数とすることを特徴とする請求項１６乃至２４のいずれか１項に記載のロボット制御方法。
【請求項２６】
前記遊脚角度指令を前記大腿部角度の符号を逆にしたものとすることを特徴とする請求項２５記載のロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置、ロボット制御方法、及び脚式ロボットに関する。
【背景技術】
【０００２】
近年、脚部を駆動して歩行する歩行ロボットが開発されている（特許文献１、２）。特許文献１の制御手法では、膝関節角速度が制限域内となるように、各関節角度を時系列化した歩行パターンを生成している。そして、歩行パターン通りにロボットの動作を制御している（例えば、特許文献１参照）。
【０００３】
また、特許文献２のロボット制御装置は、実上体位置が前記目標上体位置に、前記実姿勢軌道が前記目標姿勢軌道に、前記実足平位置が前記目標足平位置に、前記実足平姿勢軌道が前記目標足平姿勢軌道に、前記実全床反力中心点が前記目標全床反力中心点に、前記実全床反力が前記目標全床反力にそれぞれ収束するようにロボットの動作を制御している（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−８８１８９号（第１４頁、第２図）
【特許文献２】特許第３６５５０５６号（第１８頁、第４図）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
図６を用いて、特許文献１の制御方法について説明する。図６において、６０１は足先軌道設定部、６０２は腰軌道設定部、６０３は膝関節角度設定部、６０４は膝関節角速度の制限域設定部である。
【０００６】
足先軌道設定部６０１は、一歩毎の左右各足先部の最初の座標、中間点の座標、および最後の座標から、補間して足先軌道を演算し出力する。腰軌道設定部６０２は、足先軌道に基づいて、腰部の重心位置が左右足先部の中央間の中点を通るように腰軌道を演算し出力する。
【０００７】
膝関節角度設定部６０３は、膝関節角度をあらかじめ設定した歩速と時間の関数として演算し出力する。膝関節角速度の制限域設定部６０４は、膝関節部の動作に関する物理量の制限域を設定し出力する。足先軌道と、前記腰軌道と、前記膝関節角度と、前記制限域が歩行パターンを生成するための初期設定値となる。そして、ステップＳ６０１からステップＳ６０４を経ることで、これらの初期設定値から歩行パターンが生成される。ステップＳ６０１では、初期設定値を用いて立脚と遊脚を判定する。ステップＳ６０２では、立脚の初期設定値が前記制限域を超えないように初期設定値を変更し、立脚の腰関節高さを決定する。
【０００８】
ステップＳ６０３では、初期設定値とステップＳ６０３で決定した腰関節高さに基づいて、両足の各関節角度を決定する。ステップＳ６０４では、１歩行周期についての計算の終了を確認し歩行パターンを決定する。このようにして、特許文献１の制御方法は、歩行パターン通りにロボットの動作を制御している。
【０００９】
図７を用いて、特許文献２の制御方法について説明する。図７において、７０１はロボット脚制御装置、７０２は脚アクチュエータ、７０３は脚アクチュエータ変位検出部、７０４は６軸力センサ、７０５は傾斜検出器である。
【００１０】
ロボット脚制御装置７０１は、目標上体位置、目標姿勢軌道、目標足平位置、目標足平姿勢軌道、目標全床反力中心点、目標全床反力を演算する。そして、実変位、実各足平床反力、上体実傾斜姿勢に基づいて算出した実上体位置が目標上体位置に、実姿勢軌道が目標姿勢軌道に、実足平位置が目標足平位置に、実足平姿勢軌道が目標足平姿勢軌道に、実全床反力中心点が目標全床反力中心点に、実全床反力が目標全床反力にそれぞれ収束するような駆動指令を出力する。
【００１１】
脚アクチュエータ７０２は、駆動指令に従って動作する。脚アクチュエータ変位検出部７０３は、前記実変位を検出し出力する。６軸力センサ７０４は、前記実各足平床反力を検出し出力する。傾斜検出器７０５は、前記上体実傾斜姿勢を検出し出力する。
【００１２】
特許文献２の制御方法は、実上体位置が目標上体位置に、実姿勢軌道が目標姿勢軌道に、実足平位置が目標足平位置に、実足平姿勢軌道が目標足平姿勢軌道に、実全床反力中心点が目標全床反力中心点に、実全床反力が前記目標全床反力にそれぞれ収束するようにロボットの動作を制御する。
【００１３】
このようなロボットの制御手法では、ロボットの脚の各関節があらかじめ算出した理想の関節軌道を通るように制御し、ロボットを歩行させている。このため、外乱、実際の地面の状態などによっては、関節軌道に沿って各関節を動作させると転倒するおそれがある。
【００１４】
また、多様な環境および姿勢でロボットを歩行させるためには、各環境と各姿勢に対して歩行パターンを演算する必要がある。そして、歩行パターンのデータをメモリに記憶しておく必要がある。このため、膨大なメモリ容量を必要とし、ロボットを安価に構築することができない一般的な技術的課題がある。この一般的な技術課題を解決するために、安価で少ないメモリしか搭載していない場合にも、多様な外乱や地面の状態においても転倒することなくロボットを歩行させることができる制御技術が要求される。このように、制御性のより高い脚式ロボットの開発が望まれている。
【００１５】
本発明は、上記の問題点に鑑みてなされたものであり、制御性の高いロボット制御装置、ロボット制御方法、及び脚式ロボットを提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明の第１の態様にかかるロボット制御装置は、複数の脚を備えるロボットの関節を駆動して、前記ロボットを歩行させるロボット制御装置であって、前記ロボットを取り巻く環境の情報である環境検出値に基づいて、前記ロボットの体幹垂直位置に対する許容範囲を決定し、前記ロボットの姿勢を表す姿勢検出値に基づいて、前記体幹垂直位置が前記許容範囲内になるように、前記ロボットを歩行させるものである。これにより、制御性を向上することができる。
【００１７】
本発明の第２の態様にかかるロボット制御装置は、上記のロボット制御装置であって、前記ロボットの大腿部角速度を制御する大腿部角速度制御器と、前記ロボットの膝絶対角度を制御する膝絶対角度制御器と、前記ロボットの遊脚角度を制御する遊脚角度制御器と、を有するものである。これにより、制御性を向上することができる。
【００１８】
本発明の第３の態様にかかるロボット制御装置は、上記のロボット制御装置であって、大腿部角速度指令を発生する大腿部角速度指令発生器と、前記環境検出値と前記姿勢検出値に基づいて前記ロボットの体幹垂直位置の目標値である体幹垂直位置指令を発生する体幹垂直位置指令発生器と、を備えたものである。これにより、制御性を向上することができる。
【００１９】
本発明の第４の態様にかかるロボット制御装置は、上記のロボット制御装置であって、前記ロボットの機構であるロボット機構の線形部分を制御する線形部トルクを演算することを特徴とするものである。これにより、制御性を向上することができる。
【００２０】
本発明の第５の態様にかかるロボット制御装置は、上記のロボット制御装置であって、前記線形部トルクは前記ロボットの大腿部角速度を制御する足首線形部トルクと、前記ロボットの膝絶対角度を制御する膝線形部トルクと、前記ロボットの遊脚角度を制御する遊脚線形部トルクとを含んでいることを特徴とするものである。これにより、制御性を向上することができる。
【００２１】
本発明の第６の態様にかかるロボット制御装置は、上記のロボット制御装置であって、前記環境検出値を出力する環境検出器を備えることを特徴とするものである。これにより、適切な環境検出値を得ることができ、制御性を向上することができる。
【００２２】
本発明の第７の態様にかかるロボット制御装置は、上記のロボット制御装置であって、前記環境検出値は前記ロボットの上方の障害の位置と、地面の温度を含んでいることを特徴とするものである。これにより、上方の障害を回避し、且つ地面の熱から電気部を保護しながら、ロボットを歩行させることができる。これにより、障害の位置と地面の温度に応じた制御を行うことができる。
【００２３】
本発明の第８の態様にかかるロボット制御装置は、上記のロボット制御装置であって、前記ロボットの上方の障害の位置に応じて前記体幹垂直位置の許容範囲の上限値を設定し、かつ、地面の温度に応じて前記体幹垂直位置の許容範囲の下限値を設定し、前記ロボットの上方の障害の位置に応じて前記体幹垂直位置の許容範囲の上限値を設定し、かつ、地面の温度に応じて前記体幹垂直位置の許容範囲の下限値を設定し、前記体幹垂直位置が前記下限値より小さい場合には、前記ロボットの体幹垂直位置の目標値である体幹垂直位置指令を前記下限値とし、前記体幹垂直位置が前記体幹垂直位置指令上限値より大きい場合には。前記体幹垂直位置指令を前記垂直位置指令上限値とし、前記体幹垂直位置が前記体幹垂直位置指令下限値と前記体幹垂直位置指令上限値の間にある場合は前記体幹垂直位置指令を前記体幹垂直位置とすることを特徴とするものである。これにより、上方の障害物を回避し、且つ地面の熱から電気部を保護しながら、ロボットを歩行させることができる。
【００２４】
本発明の第９の態様にかかるロボット制御装置は、上記のロボット制御装置であって、前記姿勢検出値を出力する姿勢検出器を備えることを特徴とするものである。これにより、確実に制御することができ、制御性を向上することができる。
【００２５】
本発明の第１０の態様にかかるロボット制御装置は、上記のロボット制御装置であって、前記姿勢検出値は前記ロボットの大腿部角度、膝角度、及び遊脚角度を含んでいることを特徴とするものである。これにより、確実に制御することができる。これにより、確実に制御することができ、制御性を向上することができる。
【００２６】
本発明の第１１の態様にかかるロボット制御装置は、上記のロボット制御装置であって、前記ロボットの大腿部角度と膝角度の和である膝絶対角度の目標値を膝絶対角度指令とし、前記膝絶対角度指令は前記ロボットの大腿部角度の関数とすることを特徴とするものである。これにより、確実に制御することができ、制御性を向上することができる。
【００２７】
本発明の第１２の態様にかかるロボット制御装置は、上記のロボット制御装置であって、前記体幹垂直位置指令から前記ロボットの大腿部長さと前記大腿部角度の積を減算した値を求め、前記減算した値を脛長さで除算し、前記除算した値の逆余弦値を前記膝絶対角度指令とすることを特徴とするものである。これにより、確実に制御することができ、制御性を向上することができる。
【００２８】
本発明の第１３の態様にかかるロボット制御装置は、上記のロボット制御装置であって、前記ロボットの遊脚角度の目標値である遊脚角度指令は前記ロボットの大腿部角度の関数となっていることを特徴とするものである。これにより、確実に制御することができ、制御性を向上することができる。
【００２９】
本発明の第１４の態様にかかるロボット制御装置は、上記のロボット制御装置であって、前記遊脚角度指令を前記大腿部角度の符号を逆にしたものとすることを特徴とするものである。これにより、確実に制御することができ、制御性を向上することができる。
【００３０】
本発明の第１５の態様にかかるロボットは、上記のロボット制御装置と、複数の脚と、を備えたものである。これにより、制御性の高いロボットを提供することができる。
【００３１】
本発明の第１６の態様にかかるロボット制御方法は、複数の脚を備えるロボットの関節を駆動して、前記ロボットを歩行させるロボット制御方法であって、前記ロボットを取り巻く環境の情報である環境検出値に基づいて、前記ロボットの体幹垂直位置に対する許容範囲を決定し、前記ロボットの姿勢を表す姿勢検出値に基づいて、前記体幹垂直位置が前記許容範囲内になるように、前記ロボットを歩行させるものである。これにより、制御性を向上することができる。
【００３２】
本発明の第１７の態様にかかるロボット制御方法は、上記のロボット制御方法であって、前記環境検出値と前記姿勢検出値に基づいて前記ロボットの体幹垂直位置の目標値である体幹垂直位置指令を発生するものである。これにより、制御性を向上することができる。
【００３３】
本発明の第１８の態様にかかるロボット制御方法は、上記のロボット制御方法であって、前記ロボットの機構であるロボット機構の線形部分を制御する線形部トルクを演算することを特徴とするものである。これにより、制御性を向上することができる。
【００３４】
本発明の第１９の態様にかかるロボット制御方法は、上記のロボット制御方法であって、前記線形部トルクは前記ロボットの大腿部角速度を制御する足首線形部トルクと、前記ロボットの膝絶対角度を制御する膝線形部トルクと、前記ロボットの遊脚角度を制御する遊脚線形部トルクとを含んでいることを特徴とするものである。これにより、制御性を向上することができる。
【００３５】
本発明の第２０の態様にかかるロボット制御方法は、上記のロボット制御方法であって、前記環境検出値は前記ロボットの上方の障害の位置と、地面の温度を含んでいることを特徴とするものである。これにより、障害の位置と地面の温度に応じた制御を行うことができる。
【００３６】
本発明の第２１の態様にかかるロボット制御方法は、上記のロボット制御方法であって、前記ロボットの上方の障害の位置に応じて前記体幹垂直位置の許容範囲の上限値を設定し、かつ、地面の温度に応じて前記体幹垂直位置の許容範囲の下限値を設定し、前記ロボットの上方の障害の位置に応じて前記体幹垂直位置の許容範囲の上限値を設定し、かつ、地面の温度に応じて前記体幹垂直位置の許容範囲の下限値を設定し、前記体幹垂直位置が前記下限値より小さい場合には、前記ロボットの体幹垂直位置の目標値である体幹垂直位置指令を前記下限値とし、前記体幹垂直位置が前記体幹垂直位置指令上限値より大きい場合には。前記体幹垂直位置指令を前記垂直位置指令上限値とし、前記体幹垂直位置が前記体幹垂直位置指令下限値と前記体幹垂直位置指令上限値の間にある場合は前記体幹垂直位置指令を前記体幹垂直位置とすることを特徴とするものである。これにより、上方の障害物を回避し、且つ地面の熱から電気部を保護しながら、ロボットを歩行させることができる。
【００３７】
本発明の第２２の態様にかかるロボット制御方法は、上記のロボット制御方法であって、前記姿勢検出値は前記ロボットの大腿部角度、膝角度、及び遊脚角度を含んでいることを特徴とするものである。これにより、確実に制御することができ、制御性を向上することができる。
【００３８】
本発明の第２３の態様にかかるロボット制御方法は、上記のロボット制御方法であって、前記ロボットの大腿部角度と膝角度の和である膝絶対角度の目標値を膝絶対角度指令とし、前記膝絶対角度指令は前記ロボットの大腿部角度の関数とすることを特徴とするものである。これにより、確実に制御することができ、制御性を向上することができる。
【００３９】
本発明の第２４の態様にかかるロボット制御方法は、上記のロボット制御方法であって、前記体幹垂直位置指令から前記ロボットの大腿部長さと前記大腿部角度の積を減算した値を求め、前記減算した値を脛長さで除算し、前記除算した値の逆余弦値を前記膝絶対角度指令とすることを特徴とするものである。これにより、確実に制御することができ、制御性を向上することができる。
【００４０】
本発明の第２５の態様にかかるロボット制御方法は、上記のロボット制御方法であって、前記ロボットの遊脚角度の目標値である遊脚角度指令は前記ロボットの大腿部角度の関数とすることを特徴とするものである。これにより、確実に制御することができ、制御性を向上することができる。
【００４１】
本発明の第２６の態様にかかるロボット制御方法は、上記のロボット制御方法であって、前記遊脚角度指令を前記大腿部角度の符号を逆にしたものとすることを特徴とするものである。これにより、確実に制御することができ、制御性を向上することができる。
【発明の効果】
【００４２】
本発明によれば、制御性の高いロボット制御装置、ロボット制御方法、及び脚式ロボットを提供することができる。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施の形態にかかるロボットの構成を模式的に示す図である。
【図２】本発明の実施の形態にかかるロボットの制御装置を示すブロック図である。
【図３】本発明の実施の形態にかかるロボットの歩行制御を説明するための図である。
【図４】ロボットの歩行動作において、体幹垂直位置の時間変化のシミュレーション結果を示す図である。
【図５】ロボットの歩行動作において、体幹水平位置および体幹垂直位置の軌跡のシミュレーション結果を示す図である。
【図６】特許文献１に記載された制御方法を説明するための図である。
【図７】特許文献２に記載された制御方法を説明するための図である。
【発明を実施するための形態】
【００４４】
以下、本発明に係る脚式ロボット及びその制御装置の実施形態を、図面に基づいて詳細に説明する。但し、本発明が以下の実施形態に限定される訳ではない。また、説明を明確にするため、以下の記載及び図面は、適宜、簡略化されている。
【００４５】
以下に、図１を参照しつつ本発明の実施の形態にかかる脚式移動ロボット（以下、単にロボットという）について説明する。
【００４６】
図１は、ロボット１０１を正面から見た様子を概略的に表す概略図であり、床面１５１上をロボット１０１が歩行する様子を表しているなお、図１においては、説明の便宜上、ロボット１０１が進行する向き（前後方向）をｘ軸、ロボット１０１が進行する方向について水平方向に直交する向き（左右方向）をｙ軸、移動体の移動する平面から鉛直方向に延びる向き（上下方向）をｚ軸とし、これらの３軸からなる座標系を用いて説明する。すなわち、図１中において、前記ｘ軸は紙面の奥行方向、ｙ軸は紙面に向かって左右方向、ｚ軸は紙面中の上下方向を示す。
【００４７】
図１に示すように、ロボット１０１は、頭部１０２と、体幹（胴体）１０３と、体幹１０３の一部である腰部１０４と、体幹１０３に接続された右腕１０５、左腕１０６と、腰部１０４に対して回動自在に固定される脚部１１０と、を備えた２足歩行型のロボットである。以下、詳細に説明する。
【００４８】
頭部１０２は、ロボット１０１の周囲の環境を視覚的に撮像するための左右一対の撮像部（図示せず）を備えているとともに、体幹１０３に対して頭部１０２を鉛直方向に平行な軸周りに回動させることで、周囲の環境を広く撮像する。撮像した周囲の環境を示す画像データは、後述する制御部１４１に送信され、ロボット１０１の動作を決定するための情報として用いられる。
【００４９】
体幹１０３は、その内部にロボット１０１の動作を制御する制御部１４１や、脚部のモータ等に電力を供給するためのバッテリー（図示せず）等を収容するものである。制御部１４１は、演算処理部と、脚部１１０に含まれるモータを駆動するモータ駆動部と、を備えている。なお、制御部１４１の構成については後述する。これらの各構成要素は、体幹１０３の内部に設けられたバッテリー（図示せず）から電力を供給されることで動作する。
【００５０】
また、演算処理部は、記憶領域に記憶されたプログラム等を読み出すとともに、読み出したプログラム等によって特定されるロボット１０１の姿勢を実現するために必要な脚部１１０の関節角を算出する。そして、このように算出した関節角に基づく信号をモータ駆動部に送信する。
【００５１】
モータ駆動部は、演算処理部より送信された信号に基づいて、脚部を駆動するための各モータの駆動量を特定し、これらの駆動量でモータを駆動させるためのモータ駆動信号を各モータに送信する。これによって脚部１１０の各関節における駆動量が変更され、ロボット１０１の動きが制御される。
【００５２】
また、演算処理部は、読み出したプログラム等に基づいてモータの駆動を行うように指令するほか、ロボット１０１に組み込まれたジャイロや加速度計やロータリーエンコーダなどセンサ（図示せず）からの信号を受けて、モータの駆動量を調整する。このように、センサにより検出したロボット１０１に作用する外力や、ロボット１０１の姿勢などに応じて脚部１１０の関節角を調整することで、ロボット１０１が安定した状態を維持することができる。
【００５３】
右腕１０５および左腕１０６は、体幹１０３に対して回動自在に接続されており、肘部分および手首部分に設けられた関節部分を駆動することにより、人間の腕部と同様の動きを行うことができる。また、手首部分の先端に接続された手先部は、図示を省略するが物体を把持するためのハンド構造を備えており、ハンド構造に組み込まれた複数の指関節を駆動することで、様々な形状の物体を把持することが可能となる。
【００５４】
腰部１０４は、体幹１０３の胴体部分に対して回動するように接続されており、歩行動作を行う際に腰部１０４の回動動作を組み合わせることで、脚部１１０を駆動するために必要な駆動エネルギーを低減させることができる。
【００５５】
２足歩行を行うための脚部１１０は、右脚１２０と左脚１３０とから構成されている。詳細には、図２に示すように、右脚１２０は右股関節１２１、右上腿１２２、右膝関節１２３、右下腿（右脛）１２４、右足首関節１２５、右足平１２６を備え、同様に、左脚１３０は左股関節１３１、左上腿１３２、左膝関節１３３、左下腿（左脛）１３４、左足首関節１３５、左足平１３６を備えている。
【００５６】
そして、右脚１２０および左脚１３０は、図示しないモータからの駆動力が、同じく図示しないプーリおよびベルトを介して伝達されることで、各関節部が所望の角度に駆動され、その結果、脚部に所望の動きをさせることができる。
【００５７】
なお、本実施形態においては、脚部１１０（右脚１２０および左脚１３０）は、下腿を膝関節回りに前方側に持ち上げると、人間の脚部のように、上腿と下腿が後方側に向かって開いた状態（上腿の延長線よりも後方側に、下腿が膝関節回りに回転した状態）となる。
【００５８】
ここで、制御部１４１について詳細に説明する。制御部１４１は、演算処理部であるＣＰＵ（Central Processing Unit）、記憶領域であるＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）、通信用のインターフェースなどを有し、ロボット１０１の各種動作を制御する。例えば、ＲＯＭには、制御するための制御プログラムや、各種の設定データ等が記憶されている。そして、ＣＰＵは、このＲＯＭに記憶されている制御プログラムを読み出し、RAMに展開する。そして、設定データや、センサ等からの出力に応じてプログラムを実行する。
【００５９】
次に、歩行動作を制御するための制御部１４１の構成について図２を用いて説明する。図２は、制御部１４１の構成を示すブロック図である。従って、図２が、ロボットを制御するロボット制御装置となる。なお、ここでは、主にロボット１０１の歩行動作の制御について説明する。
【００６０】
図２において、２０１は大腿部角速度指令発生器、２０２は大腿部角速度制御器、２０３は足首トルク演算器、２０４は足首モータ、２０５は体幹垂直位置指令発生器、２０６は膝絶対角度制御器、２０７は膝トルク演算器、２０８は膝モータ、２０９は遊脚角度制御器、２１０は遊脚トルク演算器、２１１は遊脚モータ、２１２はロボット機構、２１３は姿勢検出器、２１４は環境検出器である。
【００６１】
大腿部角速度指令発生器２０１は、大腿部角速度ｄθｈ／ｄｔの目標値である大腿部角速度指令を出力する。大腿部角速度指令は、ロボット１０１の歩行速度に応じて決定されている。大腿部角速度制御器２０２は、ロボット機構２１２の線形部に対する足首トルクの成分である足首線形部トルクを演算し出力する。この足首線形部トルクによって、大腿部角速度が大腿部角速度指令に追従するように制御される。
【００６２】
足首トルク演算器２０３は、足首線形部トルクと姿勢検出値とに基づいて、足首モータ駆動電流を足首モータ２０４に流す。なお、姿勢検出値は、ロボット機構２１２の各関節角度などを含んでいる。足首モータ２０４は、足首モータ駆動電流に基づいて足首トルクを発生し、ロボット機構２１２の足首を駆動する。なお、ロボット機構２１２は、各関節を動作させる機構を含んでいる。
【００６３】
体幹垂直位置指令発生器２０５は、姿勢検出値と環境検出値に基づいて体幹垂直位置指令を演算し出力する。体幹垂直位置指令は、ロボット機構２１２が安全に動作できる体幹の垂直位置である体幹垂直位置の目標値である。すなわち、体幹垂直位置を体幹垂直位置指令に追従するように、ロボット機構２１２に含まれる関節が動作する。膝絶対角度制御器２０６は、体幹垂直位置指令と姿勢検出値に基づいて、膝線形部トルクを演算し出力する。膝線形部トルクは、大腿部角度と膝角度の和である膝絶対角度を制御するロボット機構２１２の線形部に対する膝トルクの成分である。これにより、ロボット機構２１２の体幹垂直位置が体幹垂直位置指令に追従するように制御される。
【００６４】
膝トルク演算器２０７は、膝線形部トルクと姿勢検出値に基づいて、膝モータ駆動電流を膝モータ２０８に流す。膝モータ２０８は、膝モータ駆動電流に基づいて膝トルクを発生し、ロボット機構２１２の膝を駆動する。
【００６５】
遊脚角度制御器２０９は、姿勢検出値に基づいて遊脚角度指令を演算する。遊脚角度指令は、ロボット機構２１２の遊脚角度の目標値である。そして、遊脚角度制御器２０９は、ロボット機構２１２の線形部に対する遊脚トルクの成分である遊脚線形部トルクを演算し出力する。これにより、遊脚角度が遊脚角度指令に追従するように制御される。遊脚角度指令をロボット１０１の大腿部角度の関数としてもよい。遊脚角度指令を大腿部角度の符号を逆にしたものとしてもよい。すなわち、遊脚と立脚とが対称になるように、遊脚角度を制御してもよい。
【００６６】
遊脚トルク演算器２１０は、遊脚線形部トルクと姿勢検出値に基づいて、遊脚モータ駆動電流を遊脚モータ２１１に流す。ロボット機構２１２は足首トルク、膝トルク、遊脚トルクにより駆動される。すなわち、演算器から供給されたモータ駆動電流で各関節の駆動モータが動作する。さらに、ロボット機構２１２に連結された姿勢検出器２１３が姿勢検出値を検出し、出力する。姿勢検出器２１３は、例えば、各関節の角度を測定する角度センサを有している。角度センサの具体例としては、レゾルバ、ポテンショメータ、エンコーダがある。また、姿勢を検出することができるセンサであれば、角度センサ以外のセンサであってもよい。姿勢検出器２１３が例えば、関節に付けない加速度検出器などを含んでいてもよい。この姿勢検出器２１３によって、ロボット機構２１２の姿勢が検出される。すなわち、各関節の回転角度に応じたロボット姿勢が検出される。
【００６７】
環境検出器２１４は、ロボット機構２１２を取り巻く環境に関する情報（例えば、周囲の障害物、温度など）を検出し、環境検出値として出力する。環境検出器２１４は、例えば、床面の温度を検出する温度センサや障害物の高さを検出する障害物センサを含んでいる。
【００６８】
なお、環境検出器２１４は、ロボット１０１の外部に設けられていてもよい。例えば、環境の温度を測定するセンサや、障害物の位置を検出するセンサをロボット１０１が移動する環境中に設けてもよい。そして、ロボット１０１が、環境に関する情報を外部のセンサから受信してもよい。また、環境検出値は動的に変化してもよい。すなわち、ロボット１０１の歩行中に環境検出値が変化してもよい。例えば、環境中の温度が変化した場合は、それに合わせて環境検出値が変化してもよい。あるいは、障害物との距離に応じて、環境検出値が変化してもよい。例えば、ロボット１０１が障害物をくぐった後は、環境検出値が変化するようにしてもよい。動的に環境の変化を認識するためには、環境検出器２１４がロボット１０１に内蔵されていることが好ましい。これにより、適切な環境検出値を得ることができる。
【００６９】
以下、本実施例の制御部１３９がロボット機構２１２を駆動する仕組みの詳細を図３を用いて説明する。
【００７０】
図３は本実施形態に係るロボット機構２１２を模式的に示す図である。図３では、右脚が遊脚となっており、左脚が立脚となっている。図３では、遊脚の一部を省略している。θｈは大腿部角度、θｋは膝角度、θａは足首角度、θｉは遊脚角度、ｍは体幹質量、ｍｋは膝質量、ｍｉは遊脚質量、ｌｇは大腿部長さ、ｌｎは下腿長さ（脛長さ）、ｌｉは遊脚長さとする。また、大腿部角度θｈ、膝角度θｋ、足首角度θａは反時計回りを正とする。オイラーラグランジュ方程式を用いて図３のロボット機構の運動方程式は式（１）、式（２）、式（３）と求められる。
【００７１】
2010253585.tif 000003
【００７２】
2010253585.tif 000004
【００７３】
2010253585.tif 000005
【００７４】
ただし、ｇは重力加速度、Ｔａは左足平１３６を左膝関節１３３に対して回転させるトルクである足首トルク、Ｔｋは左下腿１３４を左上腿１３２に対して回転させるトルクである膝トルク、Ｔｉは遊脚を体幹１０３に対して回転させるトルクである遊脚トルク、ｗａは足首にかかるトルク外乱である。ただし、足首トルクＴａ、膝トルクＴｋ、遊脚トルクＴｉ、及びトルク外乱ｗａは反時計回りを正とする。
【００７５】
式（１）、（２）、（３）の左辺非線形項をそれぞれｇｈ、ｇｋ、ｇｉと表すと、足首トルクＴａ、膝トルクＴｋ、遊脚トルクＴｉは式（４）、（５）、（６）と書き換えられる。
【００７６】
2010253585.tif 000006
【００７７】
2010253585.tif 000007
【００７８】
2010253585.tif 000008
【００７９】
ただし、Ｔａ０は足首線形部トルク、Ｔｋ０は膝線形部トルク、Ｔｉ０は遊脚線形部トルクである。式（４）、（５）、（６）を式（１）、（２）、（３）に代入すると式（７）、（８）、（９）が得られる。
【００８０】
2010253585.tif 000009
【００８１】
2010253585.tif 000010
【００８２】
2010253585.tif 000011
【００８３】
式（８）を用いて式（７）を書き換えると式（１０）となる。
【００８４】
2010253585.tif 000012
【００８５】
大腿部角度θｈと膝角度θｋの和である膝絶対角度θｈｋ＝θｈ＋θｋを用いて式（８）を書き換えると式（１１）と表される。
【００８６】
2010253585.tif 000013
【００８７】
大腿部角速度指令発生器２０１は、大腿部角速度ｄθｈ／ｄｔの目標値である大腿部角速度指令ｖｈを生成し出力する。大腿部角速度制御器２０２は、式（１０）に基づいて式（１２）が成り立つように足首線形部トルクＴａ０を演算する。
【００８８】
2010253585.tif 000014
【００８９】
足首トルク演算器２０３は足首線形部トルクＴａ０と式（４）に基づいて足首トルクＴａを演算し、足首モータ２０４が足首トルクＴａを発生するような足首モータ駆動電流を演算し出力する。
【００９０】
体幹垂直位置指令発生器２０５は、環境検出器２１４が出力したロボット機構２１２をとりまく環境の情報（例えば、周囲の障害物、温度など）に基づいて、体幹垂直位置ｙの許容範囲（目標範囲）を演算する。体幹垂直位置ｙの範囲は、ロボット機構２１２が安全に動作できる体幹１０３の地面１５１からの垂直位置の範囲である。許容範囲の上限値と下限値を体幹垂直位置上限値ｙｍａｘ、体幹垂直位置下限値ｙｍｉｎとする。式（１３）に示すよう、姿勢検出値に基づいて体幹垂直位置ｙを演算する。
【００９１】
2010253585.tif 000015
【００９２】
体幹垂直位置指令発生器２０５は、体幹垂直位置ｙの目標値である体幹垂直位置指令ｒｙを体幹垂直位置上限値ｙｍａｘ、体幹垂直位置下限値ｙｍｉｎ、体幹垂直位置ｙを用いて式（１４）に示すように演算する。
【００９３】
2010253585.tif 000016
【００９４】
体幹垂直位置ｙがロボット機構２１２が安全に動作できる範囲にある場合は体幹垂直位置ｙの制御をしない。すなわち、体幹数直位置指令ｒｙが体幹垂直位置ｙで変化しないように制御する。体幹垂直位置上限値ｙｍａｘより大きくなった場合には体幹垂直位置上限値ｙｍａｘに近付ける。体幹垂直位置下限値ｙｍｉｎより小さくなった場合には体幹垂直位置下限値ｙｍｉｎに近付ける。このようにロボット機構２１２を制御する。すなわち、体幹垂直位置ｙが許容範囲内に収まるように、ロボット機構２１２の各関節を制御する。
【００９５】
例えば、倒壊したビルから被災者救助のため救助ロボットが炎天下で働く場合、救助ロボットの身長より低い障害物を潜り同時に高温な地面上を歩行する必要がある。救助ロボットのバッテリを長持ちさせるため、および地面の熱から救助ロボットの電気部を保護するため体幹垂直位置ｙを大きくすることが望ましい。一方、障害物を潜って被災者を救助するために、体幹垂直位置ｙを低くして、障害物との衝突を防ぐ必要がある。すなわち、頭部１０２等を障害物の位置より低くするように、体幹垂直位置を制御する必要がある。ここで、環境検出値は地面の温度と障害物の位置（高さ）である。床面温度に基づいて体幹垂直位置下限値ｙｍｉｎを決定し、障害物の位置に基づいて体幹垂直位置上限値ｙｍａｘを決定する。
【００９６】
あるいは、路面の状態に応じて閾値を設定してもよい。例えば、床面が凍結している場合、ロボットが滑り易くなる。ロボット１０１が転倒しやすくなるので、体幹垂直位置上限値ｙｍａｘを設定してもよい。これにより、転倒による故障を防ぐことができる。また、浸水している場合、ロボット１０１の電気部が濡れるのを防ぐため、体幹垂直位置下限値ｙｍｉｎを設定してもよい。これにより、ロボット１０１の故障を防ぐことができる。すなわち、バッテリやモータ等の電気部品が濡れるのを防ぐことができ、電気部品の故障を防ぐことができる。
【００９７】
膝絶対角度制御器２０６は体幹垂直位置指令ｒｙと姿勢検出値を用いて式（１５）が成り立つように式（１１）の膝線形部トルクＴｋ０を演算し出力する。
【００９８】
2010253585.tif 000017
【００９９】
膝トルク演算器２０７は、膝線形部トルクＴｋ０、姿勢検出値と式（５）を用いて膝トルクＴｋを演算する。膝モータ２０８が膝トルクＴｋを発生するように膝モータ駆動電流を演算し出力する。
【０１００】
遊脚角度制御器２０９は、姿勢検出値に基づいて遊脚角度指令を演算する。遊脚角度指令は、ロボット機構２１２が歩行を持続できるような遊脚角度θｉの目標値である。遊脚角度指令を、立脚における大腿部角度の関数としてもよい。さらに、遊脚角度指令を大腿部角度の符号を逆にした値としてもよい。遊脚角度制御器２０９は、遊脚角度θｉが遊脚角度指令に追従するように、遊脚線形部トルクＴｉ０を演算する。すなわち、遊脚角度制御器２０９は、式（１６）が成り立つように式（９）の遊脚線形部トルクＴｉ０を演算し、出力する。
【０１０１】
2010253585.tif 000018
【０１０２】
遊脚トルク演算器２１０は、遊脚線形部トルクＴｉ０、姿勢検出値と式（６）を用いて遊脚トルクＴｉを演算する。そして、遊脚トルク演算器２１０は、遊脚モータ２１１が遊脚トルクＴｉを発生するように遊脚モータ駆動電流を演算し出力する。
【０１０３】
このように、ロボットを取り巻く環境に基づいて体幹垂直位置ｙの目標範囲（許容範囲）を設定している。そして、体幹垂直位置ｙと大腿部角速度ｄθｈ／ｄｔをフィードバック制御している。体幹垂直位置ｙが目標範囲内にある場合、体幹垂直位置ｙを制御せず電力消費量を削減できバッテリ寿命を延ばすことができる。さらに、周囲の物体や人に衝突することなく安全にロボット１０１を動作させることができる。よって、ロボット１０１の故障や破損を最小限に抑えることができる。なお、上記の説明では、目標範囲は、上限値と下限値との間になっているが、下限値のみを設定してもよい。すなわち、下限値以上を目標範囲と設定してもよい。
【０１０４】
また、上記の制御では、体幹垂直位置ｙの目標値に幅を持たせている。すなわち、体幹垂直位置ｙが一定の幅を持つ許容範囲内になるようフィードバック制御している。このため、上記の制御は、従来技術のように一つの目標姿勢に近付けようとする動作制御に比べて、外乱に対してさらにロバストである。これにより、荒れた地面や動く地面の上も安定にロボットを歩行させることができる。例えば、外乱によって、体幹垂直位置ｙが許容範囲を越えた場合、速やかに許容範囲内に戻るようにフィードバック制御している。よって、制御性を向上することができる。
【０１０５】
上記の制御では、ロボットが転倒しないことを重視した動作制御を行っている。このため、地面が激しく荒れた場合でも、バランスを取ることができる。例えば、立脚が着地した場所が不安定で動き、足首に大きなトルク外乱が発生し前進できなくなっても、遊脚を後方に引いて倒れないようにバランスを取ることができる。
【０１０６】
大腿部角速度制御器２０２にＰ制御、ＰＩ制御、Ｉ−Ｐ制御、ＰＩＤ制御など任意の線形制御、およびスライディングモード制御などの任意の非線形制御を用いても、制御することができる。
【０１０７】
膝絶対角度制御器２０６、遊脚角度制御器２０９に位置Ｐ速度Ｐ制御、位置Ｐ速度ＰＩ制御、位置Ｐ速度Ｉ−Ｐ制御、位置Ｐ制御、位置ＰＩ制御、位置Ｉ−Ｐ制御、位置ＰＩＤ制御など任意の線形制御、およびスライディングモード制御など任意の非線形制御を用いても、制御することができる。
【０１０８】
本実施例では２足歩行の例を示したが、遊脚の動作を示す式（１６）を適切に変更することで、上記の制御を任意の複数脚を持つロボットの歩行制御に適用することができる。例えば、３本以上の脚部を有するロボットを制御することができる。
【０１０９】
ロボット１０１の大腿部角度と膝角度の和である膝絶対角度の目標値を膝絶対角度指令とし、膝絶対角度指令をロボットの大腿部角度の関数とするようにしてもよい。
【０１１０】
例えば、体幹垂直位置指令からロボット１０１の大腿部長さと大腿部角の余弦値の積を減算した値を求める。そして、減算した値を脛長さで除算する。そして、除算した値の逆余弦値を算出することで膝絶対角指令を求めてもよい。
【０１１１】
ロボットの遊脚角度の目標値である遊脚角度指令をロボットの大腿部角度の関数としてもよい。遊脚角度指令を大腿部角度の符号を逆にしたものとしてもよい。
【０１１２】
また、本発明は歩行パターンをメモリに記憶しておく必要がないので、安価で少ないメモリしか搭載しないロボットの歩行制御に適用可能である。
【０１１３】
以下に、上記制御のシミュレーション結果を示す。
【０１１４】
ｍ＝３０[ｋｇ]、ｍｋ＝１０［ｋｇ］、ｍｉ＝１０[ｋｇ]、ｌｎ＝０．５[ｍ]、ｌｇ＝０．４[ｍ]、ｌｉ＝０．５[ｍ]、ｇ＝９．８[ｍ／ｓ＾２]、Ｊｔ＝（ｍ＋ｍｉ）・ｌｇ＾２、Ｊｈｋ＝（ｍｋ＋ｍ＋ｍｉ）・ｌｎ＾２、Ｊｉ＝ｍｉ・ｌｉ＾２、Ｔ＝１０×１０＾−３[ｓ]、Ｋｖｈ＝１０・（２π）[ｓ＾−１]、Ｋｖｊｈ＝Ｋｖｈ・Ｊｔ[Ｎ・ｍ・ｓ／ｒａｄ]、Ｋｖｈｋ＝１０・（２π）［ｓ＾−１］、Ｋｖｊｈｋ＝Ｋｖｈｋ・Ｊｈｋ[Ｎ・ｍ・ｓ／ｒａｄ]、Ｋｐｈｋ＝１０[ｓ＾−１]、Ｋｖｉ＝１０・（２π）[ｓ＾−１]、Ｋｖｊｉ＝Ｋｖｉ・Ｊｉ[Ｎ・ｍ・ｓ／ｒａｄ]、Ｋｐｉ＝１０[ｓ＾−１]、Ａｗａ＝０．３１８[Ｎ・ｍ]、ｔｄ＝０．５[ｓ]、ｖｈ＝−１．５／（ｌｇ＋ｌｎ）[ｒａｄ／ｓ]、ｑｋｍｉｎ＝−１７５・π／１８０［ｒａｄ］、ｑｋｍａｘ＝−０．５・π／１８０［ｒａｄ］、ｑｈｍｉｎ＝−６０・π／１８０［ｒａｄ］、ｑｈｍａｘ＝９０・π／１８０［ｒａｄ］、ｑｉｍｉｎ＝ｑｈｍｉｎ［ｒａｄ］、ｑｉｍａｘ＝ｑｈｍａｘ［ｒａｄ］、ｙｍｉｎ＝０．８・（ｌｇ＋ｌｎ）[ｍ]、ｙｍａｘ＝０．９・（ｌｇ＋ｌｎ）[ｍ]、ｑｈｉｃ＝５０・π／１８０［ｒａｄ］、ｖｈｉｃ＝ｖｈ[ｒａｄ／ｓ]、ｑｋｉｃ＝−４５・π／１８０［ｒａｄ］、ｖｋｉｃ＝０［ｒａｄ／ｓ］、ｑｉｉｃ＝−ｑｈｉｃ［ｒａｄ］、ｖｉｉｃ＝−ｖｈｉｃ［ｒａｄ／ｓ］
【０１１５】
ただし、ｍは体幹質量、ｍｋは膝質量、ｍｉは遊脚質量、ｌｎは脛長さ、ｌｇは大腿部長さ、ｌｉは遊脚長さ、Ｊｔは体幹慣性モーメント、Ｊｈｋは膝慣性モーメント、Ｊｉは遊脚慣性モーメント、ｇは重力加速度、Ｔは制御周期、Ｋｖｈは正規化大腿部角速度比例制御ゲイン、Ｋｖｊｈは大腿部角速度比例制御ゲイン、Ｋｖｈｋは正規化膝角速度比例制御ゲイン、Ｋｖｊｈｋは膝角速度比例制御ゲイン、Ｋｐｈｋは膝角度比例制御ゲイン、Ｋｖｉは正規化遊脚角速度比例制御ゲイン、Ｋｖｊｉは遊脚角速度比例制御ゲイン、Ｋｐｉは遊脚角度比例制御ゲイン、Ａｗａはトルク外乱振幅、ｔｄはトルク外乱時間、ｖｈは大腿部角速度指令、ｑｋｍｉｎは膝角度下限値、ｑｋｍａｘは膝角度上限値、ｑｈｍｉｎは大腿部角度下限値、ｑｈｍａｘは大腿部角度上限値、ｑｉｍｉｎは遊脚角度下限値、ｑｉｍａｘは遊脚角度上限値、ｙｍｉｎは体幹垂直位置下限値、ｙｍａｘは体幹垂直位置上限値、ｑｈｉｃは大腿部角度初期値、ｖｈｉｃは大腿部角速度初期値、ｑｋｉｃは膝角度初期値、ｖｋｉｃは膝角速度初期値、ｑｉｉｃは遊脚角度初期値、ｖｉｉｃは遊脚角速度初期値である。
【０１１６】
本シミュレーションでは大腿部角速度制御器２０２は位置Ｐ制御とし、膝絶対角度制御器２０６と遊脚角度制御器２０９は位置Ｐ速度Ｐ制御とする。本発明の動作制御の外乱に対するロバスト性を示すため、時間ｔｄにおいて振幅Ａｗａであるインパルストルク外乱を足首に反時計回りに加える。本シミュレーションのロボットの各関節の可動範囲およびその角度および角速度の初期値は上記の値を用いている。
【０１１７】
図４、及び図５はシミュレーション結果を示すグラフである。図４は体幹垂直位置ｙの時間変化を示す。図４において、実線は体幹垂直位置ｙ、破線は式（１４）により算出した体幹垂直位置指令ｒｙ、細い直線は体幹垂直位置下限値ｙｍｉｎと体幹垂直位置上限値ｙｍａｘを示す。図４の横軸は時間、縦軸は体幹垂直位置を示している。体幹垂直位置ｙはｔｄ＝０．２５[ｓ]において、トルク外乱が加わっても、体幹垂直位置指令上限値ｙｍａｘと体幹垂直位置指令下限値ｙｍｉｎに囲まれた範囲の近傍に制御されていることが分かる。また、１／３の間は体幹垂直位置ｙを制御しないですんでおり、各モータの消費電力を１／３削減できることが分かる。すなわち、モータの駆動電流を低減することができる。
【０１１８】
図５は体幹垂直水平位置の軌跡を示す。図５において、横軸は、体幹水平位置を示しており、縦軸は、体幹垂直位置を示している。図５において、体勢を崩しかけても、体勢を立て直して前進していることが分かる。
【０１１９】
上記の制御によって、トルク外乱がある場合にもロボットが倒れないように歩行させることができる。さらに、電力消費量を削減できる。また、ロボット１０１の上方の障害物を回避し且つ地面の熱から電気部を保護し、ロボット１０１を歩行させることができる。このように、制御性を向上することができる。
【０１２０】
上記の制御では、各関節角度の指令値を含む歩行データを予め作成する必要がなくなる。よって、制御部１４１に搭載するメモリ容量を抑制することができる。ロボット１０１が少ないメモリしか搭載していない場合にも、制御性を向上することができる。すなわち、周囲の人や物体への安全性が高く、電力消費量が小さくすることができる。例えば、荒れた地面の上でも、外力が加わってもロボットを歩行させることができる。このため、上記の制御装置及び制御方法は、家事手伝いロボット、介護ロボット、救助ロボット、極限環境での作業ロボットなどに好適である。すなわち、上記の制御は、歩行のロバスト安定性、長充電間時間などが要求される複数脚を持つロボットの歩行制御に広く適用できる。
【符号の説明】
【０１２１】
１０１  ロボット
１０２  頭部
１０３  体幹
１０４  腰部
１０５  右腕
１０６  左腕
１１０  脚部
１２０  右脚
１２１  右股関節
１２２  右上腿
１２３  右膝関節
１２４  右下腿
１２５  右足首関節
１２６  右足平
１３０  左脚
１３１  左股関節
１３２  左上腿
１３３  左膝関節
１３４  左下腿
１３５  左足首関節
１３６  左足平
１４１  制御部
１５１  地面、床面
２０１  大腿部角速度指令発生器
２０２  大腿部角速度制御器
２０３  足首トルク演算器
２０４  足首モータ
２０５  体幹垂直位置指令発生器
２０６  膝絶対角度制御器
２０７  膝トルク演算器
２０８  膝モータ
２０９  遊脚角度制御器
２１０  遊脚トルク演算器
２１１  遊脚モータ
２１２  ロボット機構
２１３  姿勢検出器
２１４  環境検出器
６０１  足先軌道設定部
６０２  膝関節角度設定部
６０３  腰軌道設定部
６０４  膝関節角速度の制限域設定部
７０１  ロボット脚制御装置
７０２  脚アクチュエータ
７０３  脚アクチュエータ変位検出部
７０４  ６軸力センサ
７０５  傾斜検出器
【図１】
2010253585.tif 000019
【図２】
2010253585.tif 000020
【図３】
2010253585.tif 000021
【図４】
2010253585.tif 000022
【図５】
2010253585.tif 000023
【図６】
2010253585.tif 000024
【図７】
2010253585.tif 000025