(57)【要約】【課題】消費電力量を抑制しつつ、柔軟に所望動作を実行できるロボット装置及びその制御方法を提供すること。【解決手段】ロボット装置１０１は、複数の関節を有するロボット機構１１０と、ロボット機構１１０の関節軸を駆動する複数のアクチュエータ１０９と、を備えている。また、ロボット装置１０１は、アクチュエータ１０９に対するトルク指令の関数である評価関数に基づいて、アクチュエータ１０９の駆動を柔軟に制御するロボット制御装置１０２を備えている。【選択図】図１
2010207986.tif 000002
【特許請求の範囲】
【請求項１】
複数の関節を有するロボット機構と、
前記ロボット機構の関節軸を駆動する複数のアクチュエータと、を備えるロボット装置であって、
前記アクチュエータに対するトルク指令の関数である評価関数に基づいて、前記アクチュエータの駆動を柔軟に制御するロボット制御装置を備える、ことを特徴とするロボット装置。
【請求項２】
請求項１記載のロボット装置であって、
前記ロボット制御装置は、前記評価関数の最小値を算出するための評価関数最小値演算部を有し、
前記ロボット制御装置は、前記評価関数最小値演算部により算出される前記評価関数の値が最小となるように、前記アクチュエータの駆動を制御する、ことを特徴とするロボット装置。
【請求項３】
請求項２記載のロボット装置であって、
前記ロボット機構の所望動作を表す、動作目標を生成する動作目標生成器を更に備え、
前記評価関数最小値演算部は、
前記動作目標生成器により生成された前記動作目標に基づいて、前記ロボット機構の複数の関節軸を、独立軸と該独立軸に従動する従属軸と、に分類し、
前記独立軸の回転位置のみを変数とした前記評価関数の最小値を算出する、ことを特徴とするロボット装置。
【請求項４】
請求項３記載のロボット装置であって、
前記ロボット機構の動作環境を検出する動作環境検出器を更に備え、
前記評価関数最小値演算部は、前記動作環境検出器により検出された前記動作環境と、前記動作目標生成器により生成された前記動作目標と、に基づいて、前記評価関数の最小値を算出する、ことを特徴とする、ロボット装置。
【請求項５】
請求項４記載のロボット装置であって、
前記動作環境検出器は、前記ロボット機構の周辺環境による前記関節軸の可動範囲と、前記関節軸の限界可動範囲と、を満足する拘束条件を、前記動作環境として検出する、ことを特徴とするロボット装置。
【請求項６】
請求項２乃至５のうちいずれか１項記載のロボット装置であって、
前記関節軸の回転位置を検出する位置検出センサを更に備え、
前記評価関数最小値演算部は、前記評価関数が最小値となるときの前記独立軸の回転位置を独立軸位置指令値として算出し、
前記ロボット制御装置は、前記位置検出センサにより検出された前記独立軸の回転位置が前記評価関数最小値演算部により算出された前記独立軸位置指令値に収束するような、独立軸トルク指令値を算出する軸別フィードバック制御部を更に有する、ことを特徴とするロボット装置。
【請求項７】
請求項６記載のロボット装置であって、
前記ロボット制御装置は、前記複数のアクチュエータの相対的な重要度を示すアクチュエータ別重みを算出するアクチュエータ別重み演算部を更に有し、
前記軸別フィードバック制御部は、前記アクチュエータ別重み演算部により算出された前記アクチュエータ別重みに比例して、前記独立軸に対する制御ゲインを算出し、該算出した制御ゲインを用いて、前記独立軸トルク指令値を算出する独立軸制御部を有する、ことを特徴とするロボット装置。
【請求項８】
請求項６又は７記載のロボット装置であって、
前記軸別フィードバック制御部は、
前記位置検出センサにより検出された前記従属軸の回転位置と、動作目標生成器により生成された前記動作目標と、に基づいて、従属軸位置指令値を算出する従属軸位置指令生成部と、
前記アクチュエータ別重み演算部により算出された前記アクチュエータ別重みに比例して、前記従属軸に対する制御ゲインを算出し、該算出した制御ゲインを用いて、前記従属軸トルク指令値を算出する従属軸制御部と、を更に有する、ことを特徴とするロボット装置。
【請求項９】
請求項７又は８記載のロボット装置であって、
前記ロボット制御装置は、前記独立軸制御部により算出された前記独立軸トルク指令値、又は、前記従属軸制御部により算出された前記従属軸トルク指令値、に基づいて、前記アクチュエータを制御するトルク制御部を更に有する、ことを特徴とするロボット装置。
【請求項１０】
請求項１乃至９のうちいずれか１項記載のロボット装置であって、
前記評価関数は、前記アクチュエータに対するトルク指令値の２乗の和である、ことを特徴とするロボット装置。
【請求項１１】
請求項２乃至１０のうちいずれか１項記載のロボット装置であって、
前記評価関数最小値演算部は、前記評価関数の最小値を数値探索法により算出する、ことを特徴とするロボット装置。
【請求項１２】
請求項２乃至１０のうちいずれか１項記載のロボット装置であって、
前記評価関数最小値演算部は、前記評価関数の極値、および評価関数の所定区間における端の値、のうち最小となる値を、前記評価関数の最小値とする、ことを特徴とするロボット装置。
【請求項１３】
請求項２乃至１２のうちいずれか１項記載のロボット装置であって、
前記評価関数最小値演算部は、乱数によって選択した初期パラメータの周囲で最も小さい値をとる点を前記評価関数の最小値の候補とし、前記評価関数の最小値にする、ことを特徴とするロボット装置。
【請求項１４】
複数の関節を有するロボット機構と、前記ロボット機構の関節軸を駆動する複数のアクチュエータと、を備えるロボット装置の制御方法であって、
前記アクチュエータに対するトルク指令の関数である評価関数に基づいて、前記アクチュエータの駆動を柔軟に制御するロボット制御工程を含む、ことを特徴とするロボット装置の制御方法。
【請求項１５】
請求項１４記載のロボット装置の制御方法であって、
前記ロボット制御工程は、前記評価関数の最小値を算出するための評価関数最小値演算工程を含み、
前記ロボット制御工程において、前記評価関数最小値演算工程で算出される前記評価関数の値が最小となるように、前記アクチュエータの駆動を制御する、ことを特徴とするロボット装置の制御方法。
【請求項１６】
請求項１５記載のロボット装置の制御方法であって、
前記ロボット機構の所望動作を表す、動作目標を生成する動作目標生成工程を更に含み、
前記評価関数最小値演算工程において、
前記動作目標生成工程で生成された前記動作目標に基づいて、前記ロボット機構の複数の関節軸を、独立軸と該独立軸に従動する従属軸と、に分類し、
前記独立軸の回転位置のみを変数とした前記評価関数の最小値を算出する、ことを特徴とするロボット装置の制御方法。
【請求項１７】
請求項１５又は１６記載のロボット装置の制御方法であって、
前記ロボット機構の動作環境を検出する動作環境検出工程を更に含み、
前記評価関数最小値演算工程において、前記動作環境検出工程で検出された前記動作環境と、前記動作目標生成工程で生成された前記動作目標と、に基づいて、前記評価関数の最小値を算出する、ことを特徴とする、ロボット装置の制御方法。
【請求項１８】
請求項１５乃至１７のうちいずれか１項記載のロボット装置の制御方法であって、
前記関節軸の回転位置を検出する位置検出工程を更に含み、
前記評価関数最小値演算工程において、前記評価関数が最小値となるときの前記独立軸の回転位置を独立軸位置指令値として算出し、
前記ロボット制御工程は、前記位置検出工程で検出された前記独立軸の回転位置が前記評価関数最小値演算工程で算出された前記独立軸位置指令値に収束するような、独立軸トルク指令値を算出する軸別フィードバック制御工程を更に含む、ことを特徴とするロボット装置の制御方法。
【請求項１９】
請求項１８記載のロボット装置の制御方法であって、
前記ロボット制御工程は、前記複数のアクチュエータの相対的な重要度を示すアクチュエータ別重みを算出するアクチュエータ別重み演算工程を更に含み、
前記軸別フィードバック制御工程は、前記アクチュエータ別重み演算工程で算出された前記アクチュエータ別重みに比例して、前記独立軸に対する制御ゲインを算出し、該算出した制御ゲインを用いて、前記独立軸トルク指令値を算出する独立軸制御工程を含む、ことを特徴とするロボット装置の制御方法。
【請求項２０】
請求項１８又は１９記載のロボット装置の制御方法であって、
前記軸別フィードバック制御工程は、
前記位置検出工程で検出された前記従属軸の回転位置と、動作目標生成工程で生成された前記動作目標と、に基づいて、従属軸位置指令値を算出する従属軸位置指令生成工程と、
前記アクチュエータ別重み演算工程で算出された前記アクチュエータ別重みに比例して、前記従属軸に対する制御ゲインを算出し、該算出した制御ゲインを用いて、前記従属軸トルク指令値を算出する従属軸制御工程と、を更に含む、ことを特徴とするロボット装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の関節を有するロボット機構と、ロボット機構の関節軸を駆動する複数のアクチュエータと、を備えるロボット装置及びその制御方法に関し、特に、消費電力量を抑制しつつ、柔軟に所望動作を実行できるロボット装置及びその制御方法に関するものである。
【背景技術】
【０００２】
近年、人と共生するロボット装置において、その消費電力量の増加に伴い、バッテリ充電を頻繁に行わなければならいという事態が生じている。また、周囲の人、物等と接触した場合でも、柔軟かつ安全に接触しつつ、さらに、所望動作を実行しなければならないという技術的課題を有している。このように、ロボット装置において、その消費電力量を抑制しつつ、柔軟に所望動作を実行できるロボット制御が要求されている。
【０００３】
一方で、行動指令情報に基づいて算出された、次の行動に遷移するための姿勢遷移計画に、ロボットの各関節軸の位置を追従させるように制御するロボット装置が知られている（例えば、特許文献１参照）。また、ロボットが認識している座標系に関連した柔らかさの尺度の指定により、サーボ制御系の制御ゲインを変更し、ロボットの各軸を制御するロボット制御装置が知られている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】ＷＯ００／４３１６７号
【特許文献２】特許３２８３６５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に示すロボット装置においては、例えば、ユーザからの動作指令が必要以上にロボットの各関節軸の動作を拘束してしまい、その結果として、消費電力量が増加し、周囲の障害物と柔軟に接触できなくなる虞がある。同様に、上記特許文献２に示すロボット制御装置においても、ロボットの各軸の動作を拘束していまい、その結果として、消費電力量が増加し、また、周囲の障害物と接触した場合に、動作指令を満足した動作が実行できない虞がある。
【０００６】
本発明は、このような問題点を解決するためになされたものであり、消費電力量を抑制しつつ、柔軟に所望動作を実行できるロボット装置及びその制御方法を提供することを主たる目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するための本発明の一態様は、複数の関節を有するロボット機構と、前記ロボット機構の関節軸を駆動する複数のアクチュエータと、を備えるロボット装置であって、前記アクチュエータに対するトルク指令の関数である評価関数に基づいて、前記アクチュエータの駆動を柔軟に制御するロボット制御装置を備える、ことを特徴とするロボット装置である。この一態様によれば、消費電力量を抑制しつつ、柔軟に所望動作を実行できる。
【０００８】
また、この一態様において、前記ロボット制御装置は、前記評価関数の最小値を算出するための評価関数最小値演算部を有し、前記ロボット制御装置は、前記評価関数最小値演算部により算出される前記評価関数の値が最小となるように、前記アクチュエータの駆動を制御してもよい。これにより、評価関数の値が最小値となり、消費電力量を最小に抑制することができる。
【０００９】
さらに、この一態様において、前記ロボット機構の所望動作を表す、動作目標を生成する動作目標生成器を更に備え、前記評価関数最小値演算部は、前記動作目標生成器により生成された前記動作目標に基づいて、前記ロボット機構の複数の関節軸を、独立軸と該独立軸に従動する従属軸と、に分類し、前記独立軸の回転位置のみを変数とした前記評価関数の最小値を算出してもよい。これにより、独立軸及び従属軸に応じた柔軟な制御が可能となり、消費電力量を抑制しつつ、周囲の障害物と接触した場合でも、柔軟かつ安全に接触することができる。
【００１０】
この一態様において、前記ロボット機構の動作環境を検出する動作環境検出器を更に備え、前記評価関数最小値演算部は、前記動作環境検出器により検出された前記動作環境と、前記動作目標生成器により生成された前記動作目標と、に基づいて、前記評価関数の最小値を算出してもよい。これにより、ロボット機構の動作環境及び動作目標を考慮して、評価関数の最小値を算出することができる。
【００１１】
この一態様において、前記動作環境検出器は、例えば、前記ロボット機構の周辺環境による前記関節軸の可動範囲と、前記関節軸の限界可動範囲と、を満足する拘束条件を、前記動作環境として検出してもよい。これにより、ロボット機構の拘束条件を適切に設定することができる。
【００１２】
この一態様において、前記関節軸の回転位置を検出する位置検出センサを更に備え、前記評価関数最小値演算部は、前記評価関数が最小値となるときの前記独立軸の回転位置を独立軸位置指令値として算出し、前記ロボット制御装置は、前記位置検出センサにより検出された前記独立軸の回転位置が前記評価関数最小値演算部により算出された前記独立軸位置指令値に収束するような、独立軸トルク指令値を算出する軸別フィードバック制御部を更に有していてもよい。これにより、独立軸を制御するための独立軸トルク指令値を算出でき、独立軸を適切に制御することができる。
【００１３】
この一態様において、前記ロボット制御装置は、前記複数のアクチュエータの相対的な重要度を示すアクチュエータ別重みを算出するアクチュエータ別重み演算部を更に有し、前記軸別フィードバック制御部は、前記アクチュエータ別重み演算部により算出された前記アクチュエータ別重みに比例して、前記独立軸に対する制御ゲインを算出し、該算出した制御ゲインを用いて、前記独立軸トルク指令値を算出する独立軸制御部を有していてもよい。これにより、独立軸の重要度に応じた最適な制御ゲインを設定することができ、独立軸を最適に制御できる。
【００１４】
この一態様において、前記軸別フィードバック制御部は、前記位置検出センサにより検出された前記従属軸の回転位置と、動作目標生成器により生成された前記動作目標と、に基づいて、従属軸位置指令値を算出する従属軸位置指令生成部と、前記アクチュエータ別重み演算部により算出された前記アクチュエータ別重みに比例して、前記従属軸に対する制御ゲインを算出し、該算出した制御ゲインを用いて、前記従属軸トルク指令値を算出する従属軸制御部と、を更に有していてもよい。これにより、従属軸の重要度に応じた最適な制御ゲインを設定でき、従属軸を最適に制御できる。
【００１５】
この一態様において、前記ロボット制御装置は、前記独立軸制御部により算出された前記独立軸トルク指令値、又は、前記従属軸制御部により算出された前記従属軸トルク指令値、に基づいて、前記アクチュエータを制御するトルク制御部を更に有していてもよい。また、この一態様において、前記評価関数は、前記アクチュエータに対するトルク指令値の２乗の和であってもよい。
【００１６】
この一態様において、前記評価関数最小値演算部は、前記評価関数の最小値を数値探索法により算出してもよい。例えば、複雑なロボット機構に対して、評価関数の最小値をより適切に算出することができる。
【００１７】
この一態様において、前記評価関数最小値演算部は、前記評価関数の極値、および評価関数の所定区間における端の値、のうち最小となる値を、前記評価関数の最小値としてもよい。これにより、簡易な処理で評価関数の最小値を算出することができる。また、この一態様において、前記評価関数最小値演算部は、乱数によって選択した初期パラメータの周囲で最も小さい値をとる点を前記評価関数の最小値の候補とし、前記評価関数の最小値にしてもよい。これにより、簡易な処理で評価関数の最小値を算出することができる。
【００１８】
他方、上記目的を達成するための本発明の一態様は、複数の関節を有するロボット機構と、前記ロボット機構の関節軸を駆動する複数のアクチュエータと、を備えるロボット装置の制御方法であって、前記アクチュエータに対するトルク指令の関数である評価関数に基づいて、前記アクチュエータの駆動を柔軟に制御するロボット制御工程を含む、ことを特徴とするロボット装置の制御方法であってもよい。この一態様によれば、消費電力量を抑制しつつ、柔軟に所望動作を実行できる。
【００１９】
また、この一態様において、前記ロボット制御工程は、前記評価関数の最小値を算出するための評価関数最小値演算工程を含み、前記ロボット制御工程において、前記評価関数最小値演算工程で算出される前記評価関数の値が最小となるように、前記アクチュエータの駆動を制御してもよい。
【００２０】
さらに、この一態様において、前記ロボット機構の所望動作を表す、動作目標を生成する動作目標生成工程を更に含み、前記評価関数最小値演算工程において、前記動作目標生成工程で生成された前記動作目標に基づいて、前記ロボット機構の複数の関節軸を、独立軸と該独立軸に従動する従属軸と、に分類し、前記独立軸の回転位置のみを変数とした前記評価関数の最小値を算出してもよい。
【００２１】
この一態様において、前記ロボット機構の動作環境を検出する動作環境検出工程を更に含み、前記評価関数最小値演算工程において、前記動作環境検出工程で検出された前記動作環境と、前記動作目標生成工程で生成された前記動作目標と、に基づいて、前記評価関数の最小値を算出してもよい。
【００２２】
この一態様において、前記関節軸の回転位置を検出する位置検出工程を更に含み、前記評価関数最小値演算工程において、前記評価関数が最小値となるときの前記独立軸の回転位置を独立軸位置指令値として算出し、前記ロボット制御工程は、前記位置検出工程で検出された前記独立軸の回転位置が前記評価関数最小値演算工程で算出された前記独立軸位置指令値に収束するような、独立軸トルク指令値を算出する軸別フィードバック制御工程を更に含んでいてもよい。
【００２３】
この一態様において、前記ロボット制御工程は、前記複数のアクチュエータの相対的な重要度を示すアクチュエータ別重みを算出するアクチュエータ別重み演算工程を更に含み、前記軸別フィードバック制御工程は、前記アクチュエータ別重み演算工程で算出された前記アクチュエータ別重みに比例して、前記独立軸に対する制御ゲインを算出し、該算出した制御ゲインを用いて、前記独立軸トルク指令値を算出する独立軸制御工程を含んでいてもよい。
【００２４】
この一態様において、前記軸別フィードバック制御工程は、前記位置検出工程で検出された前記従属軸の回転位置と、動作目標生成工程で生成された前記動作目標と、に基づいて、従属軸位置指令値を算出する従属軸位置指令生成工程と、前記アクチュエータ別重み演算工程で算出された前記アクチュエータ別重みに比例して、前記従属軸に対する制御ゲインを算出し、該算出した制御ゲインを用いて、前記従属軸トルク指令値を算出する従属軸制御工程と、を更に含んでいてもよい。
【発明の効果】
【００２５】
本発明によれば、消費電力量を抑制しつつ、柔軟に所望動作を実行できるロボット装置及びその制御方法を提供することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の一実施形態に係るロボット装置の概略的なシステム構成を示すブロック図である。
【図２】本発明の一実施形態に係るロボット制御装置の軸別フィードバック制御部の概略的なシステム構成を示すブロック図である。
【図３】本発明の一実施形態に係るロボット装置のロボット機構モデルを概略的に示す図である。
【図４】所定パラメータ値を用いてシミュレーションを行った結果を示す図であり、肩関節位置θ１、肘関節位置θ２、および評価関数の値の一関係例を示す図である。
【図５】（ａ）ステップ外力を前腕部の中心に水平方向へ印加したときの、本実施形態に係るロボット装置における追従偏差のシミュレーション結果を示す図である。（ｂ）ステップ外力を前腕部の中心に水平方向へ印加したときの、本実施形態に係るロボット装置における総トルク指令値のシミュレーション結果を示す図である。
【図６】本発明の一実施形態に係るロボット装置による制御処理フローの一例を示すフローチャートである。
【発明を実施するための形態】
【００２７】
以下、本発明を実施するための一実施形態について、添付図面を参照しながら説明する。図１は、本発明の一実施形態に係るロボット装置の概略的なシステム構成を示すブロック図である。本実施形態に係るロボット装置１０１は、動作目標生成器１０３と、動作環境検出器１０４と、複数のアクチュエータ１０９と、ロボット機構１１０と、複数の位置検出センサ１１１と、ロボット制御装置１０２と、を備えている。
【００２８】
ロボット機構１１０は、例えば、回動可能な複数の関節軸を有するロボットのアーム部、脚部等のロボット可動部である。また、各関節軸には、各関節軸を回転駆動するためのアクチュエータ１０９が設けられている。さらに、各関節軸には、各関節軸の回転位置を検出するための位置検出センサ１１１が設けられている。
【００２９】
動作目標生成器１０３は、例えば、当該ロボット装置１０１に所望動作させる際の、ロボット機構１１０の各関節軸の従属関係式である動作目標を生成する。ロボット機構１１０は、例えば、複数の関節軸を有る多関節型のロボットアーム機構であり、この場合、動作目標は各関節軸の回転位置（回転角度）の関係式となる。動作目標生成器１０３は、生成した動作目標をロボット制御装置１０２の評価関数最小値演算部１０６に対して出力する。
【００３０】
動作環境検出器１０４は、視覚センサ（カメラ等）、近接覚センサ（超音波センサ等）、などの各種センサを用いて、ロボット機構１１０周辺の障害物（人、物体）等の相対位置を検出する。動作環境検出器１０４は、検出した障害物の相対位置に基づいて、例えば、ロボット機構１１０がその障害物に接触しないような各関節軸の可動範囲Ωｅを算出する。そして、動作環境検出器１０４は、算出したロボット機構１１０の各関節軸の可動範囲Ωｅと、予め設定された各関節軸の限界可動範囲Ωｍと、に基づいて、最終的な、ロボット機構１１０の各関節軸の拘束条件Ωを算出する。
【００３１】
ここで、ロボット機構１１０の各関節軸の限界可動範囲Ωｍとは、例えば、ロボット機構１１０の機械的な制約により各関節軸が回転できる限界範囲を指す。動作環境検出器１０４は、算出したロボット機構１１０の各関節軸の拘束条件Ωを、ロボット制御装置１０２の評価関数最小値演算部１０６に対して出力する。
【００３２】
ロボット制御装置１０２は、動作目標生成器１０３により生成された動作目標と、動作環境検出器１０４により算出されたロボット機構１１０の各関節軸の拘束条件Ωと、各位置検出センサ１１１からの検出信号と、に基づいて、各アクチュエータ１０９を制御して、後述の如く、ロボット機構１１０を柔軟に制御することができる。
【００３３】
次に、ロボット制御装置１０２のシステム構成について詳細に説明する。ロボット制御装置１０２は、アクチュエータ別重み演算部１０５と、評価関数最小値演算部１０６と、軸別フィードバック制御部１０７と、トルク制御部１０８と、を有している。
【００３４】
アクチュエータ別重み演算部１０５は、各関節軸のアクチュエータ１０９による動作の重要度に応じて、各アクチュエータ１０９に対する、アクチュエータ別重みを算出する。このアクチュエータ別重みは、ロボット装置１０１が動作目標生成器１０３で生成された動作目標を満足するような動作をするための、各関節軸のアクチュエータ１０９に対する相対的な重要度を示す重み係数である。
【００３５】
アクチュエータ別重み演算部１０５は、例えば、動作目標生成器１０３により生成された動作目標と、予め設定された動作パターンと、を比較して、アクチュエータ別重みを算出する。例えば、アクチュエータ別重み演算部１０５は、重要な動作をする各関節軸のアクチュエータ１０９に対するアクチュエータ別重みをより高く算出し、重要でない動作をする関節軸のアクチュエータ１０９に対するアクチュエータ別重みをより低く算出する。アクチュエータ別重み演算部１０５は、算出した各関節軸のアクチュエータ１０９に対するアクチュエータ別重みを、軸別フィードバック制御部１０７に対して出力する。
【００３６】
評価関数最小値演算部１０６は、動作目標生成器１０３により生成された動作目標と、動作環境検出器１０４により算出された各関節軸の拘束条件Ωと、を満足した、評価関数の最小値を算出し、そのときの独立軸の回転位置を算出する。なお、評価関数は、例えば、当該ロボット装置１０１の消費電力量を評価する関数であり、各関節軸のアクチュエータ１０９に対するトルク指令値を変数としている。したがって、例えば、評価関数の値を最小値にすることで、各関節軸のアクチュエータ１０９に対するトルク指令値を最小にして、ロボット装置１０１の消費電力量を最小にすることができる。
【００３７】
また、評価関数最小値演算部１０６は、ロボット機構１１０の複数の関節軸を、動作目標に基づいて、独立軸と、この独立軸に従動する従属軸とに分類する。ここで、独立軸とは、例えば、動作目標の従属関係式において独立変数として表わされる関節軸である。一方、従属軸とは、動作目標の従属関係式において従属変数として表わされる関節軸である。評価関数最小値演算部１０６は、算出した独立軸の回転位置を、独立軸位置指令値として、軸別フィードバック制御部１０７に対して出力する。
【００３８】
軸別フィードバック制御部１０７は、アクチュエータ別重み演算部１０５により算出された各アクチュエータ１０９のアクチュエータ別重みに比例して、各関節軸のアクチュエータ１０９に対する制御ゲインを算出する。また、軸別フィードバック制御部１０７は、動作目標を満足しているという仮定のもとに、位置検出センサ１１１により検出された独立軸位置検出値（独立軸の回転位置）が、評価関数最小値演算部１０６により算出された独立軸位置指令値に収束するような、独立軸トルク指令値を算出する。さらに、軸別フィードバック制御部１０７は、独立軸位置検出値の変化が従属軸位置検出値（位置検出センサ１１１により検出される従属軸の回転位置）の変化より十分遅いという仮定のもとに、動作目標を満足するように、従属軸トルク指令値を算出する。
【００３９】
ここで、独立軸トルク指令値とは、独立軸のアクチュエータ１０９を制御するためのトルク指令値であり、従属軸トルク指令値とは、従属軸のアクチュエータ１０９を制御するためのトルク指令値である。軸別フィードバック制御部１０７は、算出した独立軸トルク指令値および従属軸トルク指令値を、トルク制御部１０８に対して出力する。
【００４０】
トルク制御部１０８は、軸別フィードバック制御部１０７により算出された独立軸トルク指令値に応じて、対応する独立軸のアクチュエータ１０９に対して、各アクチュエータ１０９を駆動するための駆動電流を出力する。同様に、トルク制御部１０８は、軸別フィードバック制御部１０７により算出された従属軸トルク指令値に応じて、対応する従属軸のアクチュエータ１０９に対して、各アクチュエータ１０９の駆動電流を出力する。
【００４１】
なお、ロボット制御装置１０２は、例えば、制御処理、演算処理等と行うＣＰＵ（Central Processing Unit）と、ＣＰＵによって実行される制御プログラム、演算プログラム等が記憶されたＲＯＭ（Read Only Memory）と、処理データ等を一時的に記憶するＲＡＭ（Random Access Memory）と、を有するマイクロコンピュータを中心にしてハードウェア構成されている。また、アクチュエータ別重み演算部１０５、評価関数最小値演算部１０６、軸別フィードバック制御部１０７、およびトルク制御部１０８は、例えば、上記ＲＯＭに記憶され、上記ＣＰＵによって実行されるプログラムによって実現することができる。
【００４２】
複数のアクチュエータ１０９は、例えば、ロボット機構１１０の各関節軸を回転駆動するサーボモータ等である。各アクチュエータ１０９は、トルク制御部１０８からの駆動電流に応じて、ロボット機構１１０の各関節軸を回転駆動し、ロボット装置１０１に所望の動作をさせる。
【００４３】
複数の位置検出センサ１１１は、例えば、ポテンショメータ、エンコーダ、レゾルバー等である。各位置検出センサ１１１は、ロボット機構１１０の各関節軸に設けられ、各関節軸の回転位置を検出することができる。位置検出センサ１１１は、例えば、独立軸の回転位置を検出し、その検出した回転位置を独立軸位置検出値として、軸別フィードバック制御部１０７に対して出力する。同様に、位置検出センサ１１１は、例えば、従属軸の回転位置を検出し、その検出した回転位置を従属軸位置検出値として、軸別フィードバック制御部１０７に対して出力する。
【００４４】
図２は、本発明の一実施形態に係るロボット制御装置の軸別フィードバック制御部の概略的なシステム構成を示すブロック図である。本実施形態に係る軸別フィードバック制御部１０７は、独立軸制御部２０１と、従属軸位置指令生成部２０２と、従属軸制御部２０３と、を有している。
【００４５】
独立軸制御部２０１は、アクチュエータ別重み演算部１０５により算出された独立軸のアクチュエータ別重み（制御ゲインバランス）に比例して（例えば、アクチュエータ別重みに比例係数を乗算して）、独立軸に対する制御ゲインを算出する。そして、独立軸制御部２０１は、算出した独立軸の制御ゲインを用いて、位置検出センサ１１１により検出された独立軸位置検出値が評価関数最小値演算部１０６により算出された独立軸位置指令値に収束するように、独立軸トルク指令値を算出する。独立軸制御部２０１は、算出した独立軸トルク指令値を、トルク制御部１０８に対して出力する。
【００４６】
従属軸位置指令生成部２０２は、位置検出センサ１１１により検出された従属軸位置検出値と、動作目標生成器１０３により生成された動作目標と、に基づいて、この動作目標を満たすような従属軸の回転位置である従属軸位置指令値を算出する。従属軸位置指令生成部２０２は、算出した従属軸位置指令値を、従属軸制御部２０３に対して出力する。
【００４７】
従属軸制御部２０３は、アクチュエータ別重み演算部１０５により算出された従属軸のアクチュエータ別重み（制御ゲインバランス）に比例して、従属軸に対する制御ゲインを算出する。そして、従属軸制御部２０３は、算出した従属軸の制御ゲインを用いて、位置検出センサ１１１により検出された従属軸位置検出値が従属軸位置指令生成部２０２により算出された従属軸位置指令値に収束するように、従属軸トルク指令値を算出する。従属軸制御部２０３は、算出した従属軸トルク指令値を、トルク制御部１０８に対して出力する。
【００４８】
なお、独立軸制御部２０１及び従属軸制御部２０３は、例えば、フィードバック線形化制御、スライディングモード制御、適応制御、ニューロ制御、ファジー制御、外乱オブザーバ、線形制御、又はこれらの任意の組合せ、などの任意の制御則を用いて、上記制御を行うことができる。
【００４９】
次に、本発明の一実施形態に係るロボット装置の制御処理における、一具体例について説明する。図３は、本発明の一実施形態に係るロボット装置のロボット機構モデルを概略的に示す図である。本実施形態に係るロボット機構１１０は、体幹部３０１と、体幹部３０１に肩関節軸３０２を介して回動可能に連結された上腕部３０３と、上腕部３０３に肘関節軸３０４を介して回動可能に連結された前腕部３０５と、前腕部３０５に手首関節軸３０６を介して回動可能に連結されたハンド部３０７と、を有している。また、ハンド部３０７には、把持物３０８が把持されている。
【００５０】
ここで、例えば、肩関節軸３０２の回転位置をθ１、肘関節軸３０４の回転位置をθ２、手首関節軸３０６の回転位置をθ３、上腕部３０３の長さをｌ１、前腕部３０５の長さをｌ２、ハンド部３０７の長さをｌ３、上腕部３０３の質量をｍ１、前腕部３０５の質量をｍ２、ハンド部３０７の質量をｍ３、および、把持物３０８の質量をｍ０とする。また、上腕部３０３の重心位置から肩関節軸３０２までの距離をｌ１ｃ、前腕部３０５の重心位置から肘関節軸３０４までの距離をｌ２ｃ、および、ハンド部３０７の重心位置から手首関節軸３０６までの距離をｌ３ｃ、とする。
【００５１】
例えば、把持物３０８が飲み物の入ったコップであり、ロボット装置１０１のロボット機構１１０がこの把持物３０８を把持し、目的地へ移動させる場合を想定する。この場合、定常状態において、肩関節軸３０２、肘関節軸３０４、及び、手首関節軸３０６に必要な肩関節トルクＴ１、肘関節トルクＴ２、及び、手首関節トルクＴ３は、夫々、下記（１）式、（２）式、及び、（３）式で表現できる。
2010207986.tif 000003
2010207986.tif 000004
2010207986.tif 000005
【００５２】
本実施形態において、例えば、把持物３０８は、飲み物が入ったコップであるため、この把持物３０８を水平に維持することが動作目標となる。この場合、肩関節軸３０２（回転位置θ１）、および、肘関節軸３０４（回転位置θ２）が独立軸となり、手首関節軸３０６（回転位置θ３）が従属軸となる。そして、動作目標生成器１０３は、下記（４）式に示す動作目標を幾何学的に生成し、生成した動作目標を評価関数最小値演算部１０６に対して出力する。
2010207986.tif 000006
【００５３】
また、例えば、ロボット機構１１０が把持物３０８をテーブルと壁との間（間隔ｈ）を移動させる場合を想定する。この場合、動作環境検出器１０４は、ロボット機構１１０がテーブル及び壁に接触しない、肩関節軸３０８、肘関節軸３０４、及び、手首関節軸３０６の可動範囲Ωｅを、幾何学的に下記（５）式のように算出する。
2010207986.tif 000007
【００５４】
ここで、肩関節軸３０２、肘関節軸３０４、及び、手首関節軸３０６の限界可動範囲をΩｍとすると、動作環境検出器１０４は、この限界可動範囲Ωｍと、上記（５）式により算出した可動範囲Ωｅと、の両方を満足する下記（６）式に示す拘束条件Ωを算出する。そして、動作環境検出器１０４は、下記（６）式により算出した拘束条件Ωを、評価関数最小値演算部１０６に対して出力する。
2010207986.tif 000008
【００５５】
評価関数最小値演算部１０６は、下記（７）式に示す評価関数を用いて、この評価関数が最小となり、消費電力量が最小となる独立軸の回転位置（独立軸位置指令値）を算出する。なお、（７）式に示すように、評価関数は、肩関節トルクＴ１、肘関節トルクＴ２、及び、手首関節トルクＴ３の夫々の２乗の総和で表現され、独立軸の回転位置である肩関節軸３０２の回転位置θ１（以下、肩関節位置θ１と称す）、および、肘関節軸３０４の回転位置θ２（以下、肘関節位置θ２と称す）のみをパラメータとしている。
2010207986.tif 000009
【００５６】
なお、評価関数最小値演算部１０６は、上記（１）乃至（４）式を、上記（７）式に代入して、以降の算出を行う。次に、評価関数最小値演算部１０６は、下記（８）式を用いて、評価関数極点（θ１＊、θ２＊）を算出する。
2010207986.tif 000010
【００５７】
さらに、評価関数最小値演算部１０６は、上記評価関数極点（θ１＊、θ２＊）において、下記（９）及び（１０）式の評価関数２階微分値符号を算出する。ここで、下記（９）式におけるΔを、ラプラシアンとする。
2010207986.tif 000011
2010207986.tif 000012
【００５８】
評価関数最小値演算部１０６は、上記（９）及び（１０）式において、ｓｄ＞０かつｓｃ＞０を満たす評価関数極点（θ１＊、θ２＊）における評価関数の値、および、上記（６）式の拘束条件Ωの端における評価関数の値、のうち、最小となる評価関数の値を、評価関数の最小値として算出する。そして、評価関数最小値演算部１０６は、算出した評価関数の最小値における肩関節位置θ１、および、肘関節位置θ２を独立軸位置指令値ｒ１、ｒ２として、軸別フィードバック制御部１０７に対して出力する。
【００５９】
次に、軸別フィードバック制御部１０７における制御処理について、詳細に説明する。ここで、上腕部３０３の重心位置であり、体幹部３０１からの水平位置である上腕水平位置ｘ１は、下記（１１）式により求められ、上腕部３０３の重心位置であり、肩関節位置θ１が０°のときにおける、肘関節軸３０４からの垂直位置である上腕垂直位置ｙ１は、下記（１２）式により求められる。
【００６０】
また、前腕部３０５の重心位置であり、体幹部３０１からの水平位置である前腕水平位置ｘ２は、下記（１３）式により求められ、前腕部３０５の重心位置であり、肩関節位置θ１及び肘関節位置θ２が０°のときにおける、手首関節軸３０６からの垂直位置である前腕垂直位置ｙ２は、下記（１４）式により求められる。
【００６１】
さらに、ハンド部３０７の重心位置であり、体幹部３０１からの水平位置であるハンド水平位置ｘ３は、下記（１５）式により求められ、ハンド部３０７の重心位置であり、肩関節位置θ１、肘関節位置θ２、及び手首関節位置θ３が０°のときにおける、把持物３０８の重心位置からの垂直位置であるハンド垂直位置ｙ３は、下記（１６）式により求められる。
【００６２】
またさらに、把持物３０８の重心位置であり、体幹部３０１からの水平位置である把持物水平位置ｘ０は、下記（１７）式により求められ、把持物３０８の重心位置であり、肩関節位置θ１、肘関節位置θ２、及び手首関節位置θ３が０°のときにおける、把持物３０８の重心位置からの垂直位置である把持物垂直位置ｙ０は、下記（１８）式により求められる。
2010207986.tif 000013
2010207986.tif 000014
2010207986.tif 000015
2010207986.tif 000016
2010207986.tif 000017
2010207986.tif 000018
2010207986.tif 000019
2010207986.tif 000020
【００６３】
ここで、アクチュエータ別重み演算部１０５は、例えば、独立軸である肩関節軸３０２（肩関節位置θ１）及び肘関節軸３０４（肘関節位置θ２）の各アクチュエータ１０９に対するアクチュエータ別重みを低く設定し、設定したアクチュエータ別重みを軸別フィードバック制御部１０７に対して出力する。軸別フィードバック制御部１０７の独立軸制御部２０１は、この低く設定されたアクチュエータ別重みに比例して、肩関節位置θ１及び肘関節位置θ２の制御ゲインを低く算出する。
【００６４】
一方で、アクチュエータ別重み演算部１０５は、従属軸である手首関節軸３０６（手首関節位置θ３）のアクチュエータ１０９に対するアクチュエータ別重みを比較的高く設定し、設定したアクチュエータ別重みを軸別フィードバック制御部１０７に対して出力する。軸別フィードバック制御部１０７の従属軸制御部２０３は、この高く設定されたアクチュエータ別重みに比例して、手首関節位置θ３の制御ゲインを高く算出する。
【００６５】
このように、動作目標が把持物（飲み物が入ったコップ）３０８を水平に維持することの場合、例えば、手首関節軸３０６の動作が重要となり、手首関節軸３０６に比較的大きな力を加える必要が生じる。一方で、肩関節軸３０２及び肘関節軸３０４の動作は、それほど重要ではなく、肩関節軸３０２及び肘関節軸３０４への力を低く抑えることができる。したがって、上述の如く、アクチュエータ別重み演算部１０５は、重要な手首関節軸３０６のアクチュエータ別重みを高く設定し、従属軸制御部２０３は、この高く設定されたアクチュエータ別重みに比例して、手首関節位置θ３の制御ゲインを高く算出する。一方で、アクチュエータ別重み演算部１０５は、それほど重要でない肩関節軸３０２及び肘関節軸３０４のアクチュエータ別重みを低く設定し、従属軸制御部２０３は、この低く設定されたアクチュエータ別重みに比例して、手首関節位置θ３の制御ゲインを低く算出する。
【００６６】
これにより、肩関節軸３０２、肘関節軸３０４、及び手首関節軸３０６の動作の重要度に応じた最適な力を、各関節軸３０２、３０４、３０６に付加することが可能となる。このため、柔軟かつ安全な動作を行いつつも、無駄な力を排除でき、当該ロボット装置１０１の消費電力量を抑制することができる。すなわち、重要な動作をする手首関節軸３０６に対しては、大きな力を付加して力を入れ、重要でない動作をする肩関節軸３０２及び肘関節軸３０４に対しては、小さな力を付加して力を抜いた柔軟な動作が可能となる。これにより、ロボット機構１１０は、その周辺における人、物等の障害物と接触した場合でも、柔軟かつ安全に接触することができ、さらに、ロボット装置１０１の消費電力を最小に抑制することができる。
【００６７】
なお、従属軸の手首関節位置θ３の応答は、独立軸の肩関節位置θ１及び肘関節位置θ２の応答よりも十分に速く、上記（４）式が成立していると仮定できる。この仮定により、ポテンシャルエネルギーＶｓは、下記（１９）式により求められ、運動エネルギーＴｓは、下記（２０）式により求められる。
2010207986.tif 000021
2010207986.tif 000022
【００６８】
また、上記（１９）及び（２０）式をオイラーラグランジュ方程式に代入すると、独立軸の肩関節位置θ１及び肘関節位置θ２に対する独立軸運動方程式は、下記（２１）及び（２２）式のように求めることができる。なお、下記（２１）及び（２２）式において、ｄ１及びｄ２は肩関節軸３０２及び肘関節軸３０４を回転駆動するアクチュエータ１０９へのトルク外乱を示している。
2010207986.tif 000023
2010207986.tif 000024
【００６９】
軸別フィードバック制御部１０７の独立軸制御部２０１は、上記独立軸運動方程式（２１）及び（２２）に基づいて設計した制御を用いて、位置検出センサ１１１により検出された肩関節位置θ１及び肘関節位置θ２の独立軸位置検出値が、評価関数最小値演算部１０６により算出された独立軸位置指令値に収束するように、独立軸トルク指令値を算出する。そして、独立軸制御部２０１は、算出した独立軸トルク指令値を、トルク制御部１０８に対して出力する。
【００７０】
なお、独立軸制御部２０１は、上記独立軸運動方程式（２１）及び（２２）を、評価関数の最小値における肩関節位置θ１及び肘関節位置θ２に対して線形化し、Ｐ制御、ＰＩ制御、Ｉ-Ｐ制御、ＰＩＤ制御などの任意の線形制御則を適用できる。
【００７１】
一方、上記（２１）及び（２２）式における仮定に基づいて、肩関節位置θ１及び肘関節位置θ２は、手首関節位置θ３より十分に遅く変化するため、近似的に一定であると仮定できる。この仮定により、ポテンシャルエネルギーＶｆは、下記（２３）式により求められ、運動エネルギーＴｆは、下記（２４）式により求められる。
2010207986.tif 000025
2010207986.tif 000026
【００７２】
また、上記（２３）及び（２４）式をオイラーラグランジュ方程式に代入すると、従属軸の手首関節位置θ３に対する従属軸運動方程式は、下記（２５）式のように求めることができる。なお、下記（２５）式において、ｄ３は、手首関節軸３０６を駆動するアクチュエータ１０９へのトルク外乱を示している。
2010207986.tif 000027
【００７３】
軸別フィードバック制御部１０７の従属軸制御部２０３は、上記従属軸運動方程式（２５）に基づいて設計した制御を用いて、位置検出センサ１１１により検出された手首関節位置θ３の従属軸位置検出値が、従属軸位置指令生成部２０２により算出された従属軸位置指令値に収束するように、従属軸トルク指令値を算出する。そして、従属軸制御部２０３は、算出した従属軸トルク指令値を、トルク制御部１０８に対して出力する。
【００７４】
このように、本実施形態に係るロボット装置１０１において、動作目標生成器１０３により生成された上記（４）式の動作目標と、動作環境検出器１０４により算出された上記（６）式の拘束条件Ωと、を満たすように、ロボット機構１１０を制御することで、ロボット機構１１０と周辺のテーブル及び壁との接触を回避しつつ、柔軟に所望動作を行うことができる。さらに、上記（７）式の評価関数が最小となるように、独立軸位置指令値を算出することで、ロボット装置１０１の消費電力量を最小に抑えることができる。
【００７５】
なお、従属軸制御部２０３は、上記従属軸運動方程式（２５）を、評価関数の最小値における手首関節位置θ３に対して線形化して、Ｐ制御、ＰＩ制御、Ｉ-Ｐ制御、ＰＩＤ制御などの任意の線形制御則を適用できる。
【００７６】
次に、本実施形態に係るロボット装置１０１の制御処理のシミュレーション結果について、詳細に説明する。ここで、各パラメータ値を、ｌ１＝２５０×１０−３（ｍ）、ｌ２＝２１５×１０−３（ｍ）、ｌ３＝４０×１０−３（ｍ）、ｌ１ｃ＝１２５×１０−３（ｍ）、ｌ２ｃ＝１０８×１０−３（ｍ）、ｌ３ｃ＝２００×１０−３（ｍ）、ｍ１＝１．４３（ｋｇ）、ｍ２＝０．８４（ｋｇ）、ｍ３＝０．３０（ｋｇ）、θ１ｍｉｎ＝０（ｒａｄ）、θ１ｍａｘ＝π（ｒａｄ）、θ２ｍｉｎ＝０（ｒａｄ）、θ２ｍａｘ＝π／２（ｒａｄ）、θ３ｍｉｎ＝−２π／３（ｒａｄ）、θ３ｍａｘ＝π／２（ｒａｄ）、ｍ０＝０．５（ｋｇ）、Ｔ＝１２５×１０−６（ｓ）、ｐ＝（−１×２×π、−１×２×π、−２×２×π、−２×２×π）（ｒａｄ／ｓ）、Ｋｐ３＝１０（ｓ−１）、Ｋｖ３＝Ｋｐ３×２×ｐｉ、Ｋｖｊ３＝Ｋｖ３×Ｊ３（ｓ−１）、Ｔｉ３＝４／Ｋｖ３（ｓ）、ｒ１ｃｏｎｖ＝π／６（ｒａｄ）、ｒ２ｃｏｎｖ＝π／６（ｒａｄ）、ｒ３ｃｏｎｖ＝π／６（ｒａｄ）とする。
【００７７】
また、θ１ｍｉｎを肩関節可動範囲の下限値とし、θ１ｍａｘを肩関節可動範囲の上限値とし、θ２ｍｉｎを肘関節可動範囲の下限値とし、θ２ｍａｘを肘関節可動範囲の上限値とし、θ３ｍｉｎを手首関節可動範囲の下限値とし、θ３ｍａｘを手首関節可動範囲の上限値とする。さらに、Ｔを制御周期とし、ｐを独立軸の閉ループ系極とし、Ｋｐ３を位置比例制御ゲインとし、Ｋｖ３を正規化速度比例制御ゲインとし、Ｋｖｊ３を速度比例制御ゲインとし、Ｔｉ３を速度制御積分時定数とし、ｒ１ｃｏｎｖを従来技術における肩関節位置指令値とし、ｒ２ｃｏｎｖを従来技術における肘関節位置指令値とし、ｒ３ｃｏｎｖを従来技術における手首関節位置指令値とする。
【００７８】
図４は、上記の所定パラメータ値を用いてシミュレーションを行った結果を示す図であり、肩関節位置θ１、肘関節位置θ２、および評価関数の値の一関係例を示す図である。なお、図４において、ｘ軸は肩関節位置θ１、ｙ軸は肘関節位置θ２、およびｚ軸は評価関数の値を示している。また、細メッシュ部分Ｓ１は、評価関数最小値演算部１０６が上記（７）式により算出する評価関数の値である。さらに、太メッシュ部分Ｓ２は、評価関数最小値演算部１０６により算出される評価関数の値のうち、動作目標生成器１０３により生成された上記（４）式の動作目標、および、動作環境検出器１０４により算出された上記（６）式の拘束条件Ωを、満足する評価関数の値である。
【００７９】
評価関数最小値演算部１０６は、例えば、大ドットで示す評価関数の最小値Ｓ３を算出する。この評価関数の最小値Ｓ３は、Ｉｃｍｉｎ＝０．１４２（Ｎ２。ｍ２）となっており、このときの肩関節位置θ１及び肘関節位置θ２に対応する独立軸位置指令値は、夫々、ｒ１ｏｐｔ＝−０．０５（ｒａｄ）、ｒ２ｏｐｔ＝０．０６（ｒａｄ）となっている。
【００８０】
図５（ａ）及び（ｂ）は、ステップ外力を前腕部３０５の中心に水平方向へ印加したときの、本実施形態に係るロボット装置１０１における制御処理のシミュレーション結果を示す図である。図５（ａ）及び（ｂ）において、１．５秒後に０．９８（Ｎ）のステップ外力を前腕部３０５の中心に水平方向に印加するものとする。
【００８１】
図５（ａ）において、横軸は経過時間を示し、縦軸はハンド部３０７の位置の追従偏差Δを示している。また、実線Ｘ１は本実施形態に係るロボット装置１０１によるハンド部３０７の位置の追従偏差Δを示し、点線Ｘ２は従来技術によるハンド部の位置の追従偏差を示している。なお、本実施形態の比較に用いる従来技術（特許文献２）において、肩関節位置θ１、肘関節位置θ２、及び手首関節位置θ３が、夫々、肩関節位置指令値ｒ１ｃｏｎｖ、肘関節位置指令値ｒ２ｃｏｎｖ、及び手首関節位置指令値ｒ３ｃｏｎｖに追従するように設計され、位置比例制御ゲインＫｐ３、速度比例制御ゲインＫｖｊ３、及び速度制御積分時定数Ｔｉ３を、パラメータとする位置Ｐ制御及び速度ＰＩ制御を行うものとする。
【００８２】
図５（ａ）に示すように、従来技術による追従偏差（点線）Ｘ２は、ステップ外力を印加した後、約０．０２８６（ｒａｄ）に収束するのに対し、本実施形態に係るロボット装置１０１による追従偏差（実線）Ｘ１は、約５．５×１０−５に収束する。すなわち、本実施形態に係るロボット装置１０１は、その追従偏差Δを従来技術と比較して、１／５２０に低減することができ、制御性能を向上させることができる。
【００８３】
また、図５（ｂ）において、横軸は経過時間を示し、縦軸は肩関節トルク指令値、肘関節トルク指令値、及び手首関節トルク指令値の夫々の２乗の総和である総トルク指令値（評価関数の値）を示している。なお、図５（ｂ）における実線Ｘ１は、本実施形態に係るロボット装置１０１の総トルク指令値を示しており、点線Ｘ２は従来技術の総トルク指令値を示している。
【００８４】
図５（ｂ）に示すように、ステップ外力を印加する前は、本実施形態に係る総トルク指令値（実線）Ｘ１は、０．３３７（Ｎ２・ｍ２）となり、従来技術に係る総トルク指令値（点線）Ｘ２は、５．７０（Ｎ２・ｍ２）となる。また、ステップ外力を印加した後は、本実施形態に係る総トルク指令値Ｘ１は、０．９７７（Ｎ２・ｍ２）となり、従来技術に係る総トルク指令値Ｘ２は、６．３４（Ｎ２・ｍ２）となる。このように、ステップ外力を印加する前後において、本実施形態に係る総トルク指令値Ｘ１を、従来技術に係る総トルク指令値Ｘ２と比較して、夫々、約１／１６．９、１／６．４９に低減することができる。例えば、トルク定数を一定とし、電圧を一定とした場合に、本実施形態に係るロボット装置１０１の消費電力量を、従来技術と比較して、１／６以下に低減できることがわかる。
【００８５】
さらに、本実施形態に係るロボット装置１０１においては、独立軸である肩関節軸及び肘関節軸の閉ループの極を、夫々、−１×π（ｒａｄ／ｓ）、−２×２×π（ｒａｄ／ｓ）に設定し、制御ゲインを低く算出している。このため、仮に、ロボット機構１１０が障害物に接触した場合でも、その障害物に柔軟かつ安全に接触できつつ、同時に、動作目標である、例えば、把持物３０８の飲み物を確実に水平に維持することができる。
【００８６】
次に、本実施形態に係るロボット装置による制御処理フローについて、詳細に説明する。図６は、本実施形態に係るロボット装置による制御処理フローの一例を示すフローチャートである。
【００８７】
動作目標生成器１０３は、当該ロボット装置１０１に所望動作させる際の、ロボット機構１１０の各関節軸の動作目標（例えば、上記（４）式）を生成し（ステップＳ６０１）、ロボット制御装置１０２の評価関数最小値演算部１０６に対して出力する。
【００８８】
また、動作環境検出器１０４は、ロボット装置１０１の各種センサを用いて、ロボット機構１１０がその障害物に接触しないような各関節軸（肩関節位置θ１、肘関節位置θ２及び手首関節位置θ３）の可動範囲Ωｅを算出する。そして、動作環境検出器１０４は、算出した各関節軸の可動範囲Ωｅと、予め設定されたロボット機構１１０の各関節軸の限界可動範囲Ωｍと、に基づいて、ロボット機構１１０の各関節軸の拘束条件Ωを算出し（ステップＳ６０２）、ロボット制御装置１０２の評価関数最小値演算部１０６に対して出力する。
【００８９】
さらに、アクチュエータ別重み演算部１０５は、動作目標生成器１０３により生成された動作目標と、予め設定された動作パターンと、を比較して、各アクチュエータ１０９に対するアクチュエータ別重みを算出し（ステップＳ６０３）、軸別フィードバック制御部１０７に対して出力する。
【００９０】
またさらに、評価関数最小値演算部１０６は、動作目標生成器１０３により生成された動作目標と、動作環境検出器１０４により算出された各関節軸の拘束条件Ωと、に基づいて、評価関数が最小値となる独立軸位置指令値を算出し（ステップＳ６０４）、軸別フィードバック制御部１０７に対して出力する。
【００９１】
次に、軸別フィードバック制御部１０７の独立軸制御部２０１は、アクチュエータ別重み演算部１０５により算出された独立軸のアクチュエータ別重みに比例して、独立軸である肩関節軸３０２および肘関節軸３０４に対する制御ゲインを低く算出する（ステップＳ６０５）。そして、独立軸制御部２０１は、算出した独立軸の制御ゲインを用いて、位置検出センサ１１１により検出された独立軸位置検出値が、評価関数最小値演算部１０６により算出された独立軸位置指令値に収束するように、独立軸トルク指令値を算出し（ステップＳ６０６）、トルク制御部１０８に対して出力する。
【００９２】
トルク制御部１０８は、軸別フィードバック制御部１０７の独立軸制御部２０１により算出された独立軸トルク指令値に応じて、対応する独立軸（肩関節軸３０２および肘関節軸３０４）のアクチュエータ１０９に対して、駆動電流を出力する（ステップＳ６０７）。
【００９３】
一方、軸別フィードバック制御部１０７の従属軸位置指令生成部２０２は、位置検出センサ１１１により検出された従属軸位置検出値と、動作目標生成器１０３により生成された動作目標と、に基づいて、この動作目標を満たすような従属軸の回転位置（手首関節位置θ３）である従属軸位置指令値を算出し（ステップＳ６０８）、従属軸制御部２０３に対して出力する。次に、従属軸制御部２０３は、アクチュエータ別重み演算部１０５により算出された従属軸のアクチュエータ別重みに比例して、従属軸である手首関節軸３０６に対する制御ゲインを高く算出する（ステップＳ６０９）。
【００９４】
そして、従属軸制御部２０３は、算出した従属軸の制御ゲインを用いて、位置検出センサ１１１により検出された従属軸位置検出値が、従属軸位置指令生成部２０２により算出された従属軸位置指令値に収束するように、従属軸トルク指令値を算出し（ステップＳ６１０）、トルク制御部１０８に対して出力する。
【００９５】
トルク制御部１０８は、軸別フィードバック制御部１０７の従属軸制御部２０３により算出された従属軸トルク指令値に応じて、対応する従属軸（手首関節軸３０６）のアクチュエータ１０９に対して、駆動電流を出力する（ステップＳ６１１）。
【００９６】
各アクチュエータ１０９は、トルク制御部１０８からの駆動電流に応じて、ロボット機構１１０の各関節軸（肩関節軸３０２、肘関節軸３０４及び手首関節軸３０６）を駆動し（ステップＳ６１２）、ロボット装置１０１に所望の動作をさせる。
【００９７】
以上、本実施形態に係るロボット装置１０１において、ロボット制御装置１０２の評価関数最小値演算部１０６は、動作目標生成器１０３により生成された動作目標と、動作環境検出器１０４により算出された各関節軸の拘束条件Ωと、を満足した、評価関数の最小値を算出し、そのときの独立軸位置指令値を算出する。これにより、ロボット装置１０１の消費電力量を抑制しつつ、柔軟に所望動作を実行できる。
【００９８】
また、アクチュエータ別重み演算部１０５は、各関節軸のアクチュエータ１０９の動作の重要度に応じて、各アクチュエータ１０９に対する、アクチュエータ別重みを算出する。そして、軸別フィードバック制御部１０７は、この算出されたアクチュエータ別重みに比例して、各関節軸のアクチュエータ１０９に対する制御ゲインを算出する。これにより、各関節軸の動作の重要度に応じた最適な力を、各関節軸に付加することが可能となるため、柔軟かつ安全な動作を行いつつも、無駄な力を排除でき、当該ロボット装置１０１の消費電力量を抑制することができる。すなわち、重要な動作をする関節軸に対しては、大きな力を付加して力を入れ、重要でない動作をする関節軸に対しては、小さな力を付加して力を抜いた柔軟な動作が可能となる。これにより、ロボット機構１１０は、その周辺における人、物等の障害物と接触した場合でも、柔軟かつ安全に接触することができ、さらに、ロボット装置１０１の消費電力を最小に抑制することができる。すなわち、ロボット装置１０１の消費電力量を抑制しつつ、柔軟に所望動作を実行できる。なお、消費電力量を抑制することで、例えば、バッテリの容量を小さく抑えることができるため、ロボット装置１０１の軽量小型化を図ることができる。
【００９９】
なお、本発明を実施するための実施形態について、上記一実施形態を用いて説明したが、本発明はこうした上記一実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、上記一実施形態に種々の変形及び置換を加えることができる。
【０１００】
例えば、上記一実施形態において、評価関数最小値演算部１０６は、評価関数極点（θ１＊、θ２＊）における評価関数の値、および、拘束条件Ωの端における評価関数の値、のうち、最小となる評価関数の値を、評価関数の最小値としているが、これに限らず、例えば、数値探索法により評価関数の最小値を算出してもよい。これにより、複雑なロボット機構１１０に対して、評価関数の最小値をより適切に算出することができる。さらに、評価関数最小値演算部１０６は、乱数によって選択した初期パラメータの周囲で最も小さい値をとる点を評価関数の最小値の候補とし、評価関数の最小値にしてもよく、また、上記算出方法を任意に組み合わせてもよく、任意の算出方法が適用可能である。
【０１０１】
また、上記一実施形態において、評価関数は、肩関節トルクＴ１、肘関節トルクＴ２、及び、手首関節トルクＴ３の夫々の２乗の総和で表現されているが、これに限らず、例えば、各関節のアクチュエータ１０９に対する駆動電流の夫々の２乗の総和であってもよい。すなわち、該ロボット装置１０１の消費電力量を適切に評価できれば、任意の評価関数を適用できる。
【０１０２】
さらに、上記一実施形態において、ロボット機構１１０は、体幹部３０１と、肩関節軸３０２と、上腕部３０３と、肘関節軸３０４と、前腕部３０５と、手首関節軸３０６と、ハンド部３０７と、を有する構成であるが、これに限らず、任意の構成が適用可能である。
【０１０３】
上記一実施形態において、把持物３０８は飲み物の入ったコップとしているが、これに限らず、食べ物を載せたトレー等でもよく、任意の把持物３０８に適用可能である。例えば、把持物３０８が刃物の場合には、刃物が周囲の人や物体に接触しない拘束条件Ωを設定してもよく、把持物３０８が鞄の場合には、鞄が地面に接触しない拘束条件Ωを設定してもよい。また、動作目標として、把持物３０８を水平に維持することとしているが、これに限らず、任意の動作目標を設定できる。
【０１０４】
上記一実施形態において、動作目標生成器１０３が動作目標を生成しているが、これに限らず、動作目標がロボット装置１０１に予め設定される構成であってもよい。また、動作環境検出器１０４が、ロボット機構１１０の各関節軸の拘束条件Ωを算出しているが、これに限らず、拘束条件Ωがロボット装置１０１に予め設定される構成であってもよい。
【産業上の利用可能性】
【０１０５】
本発明に係るロボット装置１０１は、例えば、家事手伝いロボット、介護ロボット、柔軟で複雑な部品の組立ロボット、救助ロボット、極限環境での作業ロボットなどの、柔軟性、長充電時間、ロバスト性、器用性などが要求される広範囲のロボット装置に適用可能である。
【符号の説明】
【０１０６】
１０１      ロボット装置
１０２    ロボット制御装置
１０３      動作目標生成器
１０４      動作環境検出器
１０５      アクチュエータ別重み演算部
１０６      評価関数最小値演算部
１０７      軸別フィードバック制御部
１０８      トルク制御部
１０９      アクチュエータ
１１０      ロボット機構
１１１      位置検出センサ
２０１      独立軸制御部
２０２      従属軸位置指令生成部
２０３      従属軸制御部
【図１】
2010207986.tif 000028
【図２】
2010207986.tif 000029
【図３】
2010207986.tif 000030
【図４】
2010207986.tif 000031
【図５】
2010207986.tif 000032
【図６】
2010207986.tif 000033