説明

ロボットの制御装置

【課題】ロボットのリンクの振動を十分に抑制する。
【解決手段】複数のリンクと、対応するリンクを駆動する複数のモータとを有するロボットの制御装置であって、対応するモータの回転角度または回転角速度を検出する複数のセンサと、各リンクと対応するモータとの間のバネ要素それぞれについて、そのねじれ角度およびねじれ角速度を、複数のモータそれぞれへの制御入力と複数のセンサそれぞれが検出した回転角度または回転角速度とに基づいて推定する状態観測器と、状態観測器が推定した対応するバネ要素のねじれ角度およびねじれ角速度に基づいて、対応するバネ要素のねじれが解消するトルクをモータが出力するように、対応するモータの制御入力に加算するトルク補償量を算出する複数のトルク補償量算出手段と、トルク補償量算出手段が算出したトルク補償量を加算した制御入力を対応するモータに出力する複数のモータ制御手段とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットの制御装置、特に振動を抑制しながらロボットを制御することができるロボットの制御装置に関する。
【背景技術】
【0002】
従来より、ロボットが種々の分野で使用されている。このようなロボットは、複数のリンクと複数のモータとを有し、各モータが対応するリンクを回転させることに動作する。
【0003】
ところが、近年の高速化および高精度化により、リンクの加減速時に該リンクに振動が発生するということが問題になっている。これは、モータとリンクとの間のバネ要素にねじれが生じることによる。
【0004】
また、ロボットの動作中、特に高速動作中、各リンクの動作は他のリンクの動作の影響(干渉)を受ける。したがって、リンクの振動を抑制するためには、各モータと対応するリンクとの間のバネ要素それぞれのねじれを考慮するとともに、複数のリンク間の干渉も考慮しなければならない。
【0005】
この問題に対処する方法が特許文献1に記載されている。特許文献1に記載する方法では、複数のモータそれぞれと対応するリンクとの間のバネ要素それぞれについて、状態観測器が設けられる。各状態観測器は、バネ要素に対応するモータの制御入力と該モータの回転角度(角度位置)とに基づき、バネ要素のねじれ角度を推定する。次に、各状態観測器が推定した対応するバネ要素のねじれ角度に基づいて、複数のリンク間の干渉(干渉力)を算出する。そして、算出した干渉力に基づいて、各バネ要素のねじれがゼロになるようなトルクを対応するモータが出力できるように、各モータの制御入力が補償される。これにより、バネ要素のねじれは解消され、リンクの振動が抑制される。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許第3611147号
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、上述の特許文献1に記載する方法では、リンクの振動を十分に抑制することができない可能性がある。説明すると、特許文献1の方法では、複数の状態観測器それぞれが推定するバネ要素のねじれ角度は、対応するモータの制御入力と該モータの回転角度のみに基づいている。すなわち、バネ要素のねじれ角度を推定するにあたり、リンク間の干渉を考慮していない。
【0008】
具体的に説明すると、例えばモータとリンクがN個ずつある場合、図5に示すように、特許文献1の方法は、1つのモータと対応する1つのリンクから構成される2慣性モデル(N個の2慣性モデル)に基づいている。そのため、1つのモータと対応する1つのリンクとの間のバネ要素のねじれ角度を推定するにあたり、当該リンクと他のリンクとの間の干渉を考慮していない。したがって、特許文献1の方法が推定するバネ要素のねじれ角度は、推定精度に欠ける。その結果、リンクの振動が十分に抑制されない可能性がある。
【0009】
そこで、本発明は、複数のリンクと、対応するリンクを駆動する複数のモータとを有するロボットにおいて、リンクとモータとの間のバネ要素のねじれを原因として発生するリンクの振動を十分に抑制することを課題とする。
【課題を解決するための手段】
【0010】
上述の課題を解決するために、本発明の請求項1に係る発明は、
複数のリンクと、対応するリンクを駆動する複数のモータとを有するロボットの制御装置であって、
対応するモータの回転角度または回転角速度を検出する複数のセンサと、
各リンクと対応するモータとの間のバネ要素それぞれについて、そのねじれ角度およびねじれ角速度を、複数のモータそれぞれへの制御入力と複数のセンサそれぞれが検出した回転角度または回転角速度とに基づいて推定する状態観測器と、
状態観測器が推定した対応するバネ要素のねじれ角度およびねじれ角速度に基づいて、対応するバネ要素のねじれが解消するトルクをモータが出力するように、対応するモータの制御入力に加算するトルク補償量を算出する複数のトルク補償量算出手段と、
トルク補償量算出手段が算出したトルク補償量を加算した制御入力を対応するモータに出力する複数のモータ制御手段とを有することを特徴とする。
【0011】
また、本発明の請求項2に係る発明は、
状態観測器はフィードバックゲイン行列を含み、
フィードバックゲイン行列が、各モータの制御入力から複数のバネ要素それぞれのねじれ角度に至るモータ数×バネ要素数個の伝達関数と、各モータの制御入力から複数のバネ要素それぞれのねじれ角速度に至るモータ数×バネ要素数個の伝達関数とにおいて、分子のラプラス演算子sの0乗項の係数がゼロになるように設計されていることを特徴とする。
【0012】
さらに、本発明の請求項3に係る発明は、
リンクと、リンクを駆動するモータとを備えたロボットの制御装置であって、
モータの回転角度または回転角速度を検出するセンサと、
リンクとモータとの間のバネ要素のねじれ角度およびねじれ角速度を、モータへの制御入力とセンサが検出した回転角度または回転角速度とに基づいて推定する状態観測器と、
状態観測器が推定したバネ要素のねじれ角度およびねじれ角速度に基づいて、バネ要素のねじれが解消するトルクをモータが出力するように、モータの制御入力に加算するトルク補償量を算出するトルク補償量算出手段と、
トルク補償量算出手段が算出したトルク補償量を加算した制御入力をモータに出力するモータ制御手段とを有し、
状態観測器はフィードバックゲイン行列を含み、
フィードバックゲイン行列が、モータの制御入力からバネ要素のねじれ角度に至る伝達関数と、モータの制御入力からバネ要素のねじれ角速度に至る伝達関数とにおいて、分子のラプラス演算子sの0乗項の係数がゼロになるように設計されていることを特徴とする。
【発明の効果】
【0013】
本発明によれば、複数のリンクと、対応するリンクを駆動する複数のモータとを有するロボットにおいて、状態観測器は、各リンクと対応するモータとの間のバネ要素それぞれについて、そのねじれ角度およびねじれ角速度を、複数のモータそれぞれへの制御入力と複数のセンサそれぞれが検出した回転角度または回転角速度とに基づいて推定する。そのため、各バネ要素のねじれ角度およびねじれ角速度を、これらを対応するモータへの制御入力と該モータの回転角度または回転角速度のみで推定する場合に比べて、高精度に推定することができる。すなわち、複数のリンク間の干渉を考慮して推定することができる。これにより、状態観測器が高精度に推定した各バネ要素のねじれ角度およびねじれ角速度に基づいて各ばね要素のねじれを解消でき、リンクの振動を十分に抑制することができる。
【図面の簡単な説明】
【0014】
【図1】本発明の実施形態に係るロボットの一例の慣性モデルを示す図である。
【図2】図1の慣性モデルに対応するロボットの制御系を示す図である。
【図3】4慣性モデルと2慣性モデルの共振周波数を示す図である。
【図4】極配置した場合と原点に零点を配置した場合の、モータ停止時のトルク補償量の変化を示す図である。
【図5】従来方法で用いられた2慣性モデルを説明するための図である。
【発明を実施するための形態】
【0015】
本発明の一実施形態に係るロボットの制御装置について説明する。本発明は複数のリンクと対応するリンクを駆動する複数のモータとを有するロボットに関するものであるが、理解を容易にするために、本明細書では、主に、2つのリンクと2つのモータを備えたロボットについて説明する。したがって、以下の説明は、本発明を2つのリンクと2つのモータを備えたロボットに限定するわけではない。
【0016】
図1は、本発明の実施形態に係るロボットのモデルを示している。図に示すモデルは4慣性モデルであって、モータとアームとの間のバネ要素の剛性および減衰を考慮したモデルである。また、図5とは異なり、モータが、自身が駆動するリンク以外のリンクに取付けられていることを考慮したモデル、すなわち複数のリンク間の干渉を考慮したモデルである。なお、本明細書で言う「バネ要素」は、広義にはモータとリンクとを連結するものであって、モータシャフトやモータからリンクにトルクを伝達する減速機などのトルク伝達機構も含まれる。
【0017】
図1の4慣性モデルは、第1および第2モータと、モータによって駆動される第1および第2リンクと、モータとリンクとの間の第1および第2バネ要素とから構成されている。
【0018】
図1において、角度θM1,θM2は、第1および第2モータの回転角度(角度位置)である。角度θL1,θL2は、第1および第2リンクの角度である。第1および第2バネ要素のねじれ角度は、θM1−θL1、θM2−θL2で与えられる。また、KS1,KS2は第1および第2バネ要素の剛性であって、DS1,DS2は第1および第2バネ要素の減衰である。さらに、u,uは、第1および第2モータの出力トルクである。
【0019】
図1に示す4慣性モデルの運動方程式は、遠心力・コリオリ力などの非線形な要素を無視すると、数式1〜4に示すように表現できる。
【数1】

【数2】

【数3】

【数4】

【0020】
数式1〜4において、JL11,JL12,JL21,およびJL22は、リンクの質量、重心位置、長さなどのロボットパラメータとリンクの角度θL1,θL2から求まる係数である。また、JM1,JM2は、第1および第2モータの慣性である。さらに、



は、第1および第2バネ要素のねじれ角速度である。
【0021】
この4つの運動方程式から数式5の次の状態方程式が得られる。
【数5】

【0022】
上述の4慣性モデルを適用した状態観測器を含む第1および第2モータの制御系、すなわち本発明に係るロボットの制御装置の制御系の一部のブロック図を図2に示す。
【0023】
図2に示す状態観測器は、数式5の状態方程式と数式6の出力方程式に基づく観測器、すなわち第1リンクと第2リンクとの間の干渉を考慮した観測器である。行列A,B,およびCは4慣性モデルによって決定される行列である。行列Kは、詳細は後述するが、状態観測器の設計パラメータであって、フィードバックゲイン行列である。「∫」は、積分器である。
【数6】

【0024】
この状態観測器は、第1および第2モータそれぞれに対する制御入力(トルクu,uに対応する入力電流)I,Iと第1および第2モータそれぞれの回転角度θM1,θM2とに基づいて、状態xとして、第1バネ要素のねじれ角度θM1−θL1およびねじれ角速度

と第2バネ要素のねじれ角度θM2−θL2およびねじれ角速度

とを推定する。
【0025】
厳密に言えば、状態観測器は、第1バネ要素のねじれ角度θM1−θL1およびねじれ角速度

を、第1モータの入力電流Iおよび第2モータの入力電流Iと、第1モータの回転角度θM1および第2のモータの回転角度θM2とから推定する。また、第2バネ要素のねじれ角度θM2−θL2およびねじれ角速度

を、第1モータの入力電流Iおよび第2モータの入力電流Iと、第1モータの回転角度θM1および第2のモータの回転角度θM2とから推定する。
【0026】
そのため、この状態観測器は、第1バネ要素のねじれ角度θM1−θL1およびねじれ角速度

を、これらを第1モータの入力電流Iと第1モータの回転角度θM1のみから推定する場合に比べて、高精度に推定することができる。また、第2バネ要素のねじれ角度θM2−θL2およびねじれ角速度

を、これらを第2モータの入力電流Iと第2モータの回転角度θM2のみから推定する場合に比べて、高精度に推定することができる。
【0027】
なお、第1および第2モータそれぞれの回転角度θM1,θM2の代りに、回転角速度

であってもよい。すなわち、回転角度または回転角速度のうち、実際に観測可能な方、例えばセンサ(エンコーダ)によって検出可能な方に基づいて状態観測器は状態xを推定する。
【0028】
図2に示す第1および第2トルク補償量演算部は、状態観測器が推定した状態xに基づいて、数式7,8を用いて、トルク補償量Tu1,Tu2を算出する。
【数7】

【数8】

【0029】
数式7,8において、F,Fは、トルク補償量Tu1,Tu2を演算するためのゲイン行列である。具体的には、ゲイン行列F,Fは、状態観測器が推定した状態x(ねじれ角度とねじれ角速度)から、第1および第2バネ要素のねじれを解消できるトルクを第1および第2モータが出力するように、第1および第2モータの入力電流I,Iに加算するトルク補償量Tu1,Tu2を算出するための行列である。
【0030】
第1トルク補償量演算部が算出したトルク補償量Tu1は、第1リンク位置/姿勢制御部から出力された第1モータへの入力電流Iに加算される。第1リンク位置/姿勢制御部は、第1リンクの位置と姿勢とを制御するために、第1モータを制御する、ロボットの制御装置の構成要素である。
【0031】
また、第2トルク補償量演算部が算出したトルク補償量Tu2は、第2リンク位置/姿勢制御部から出力された第2モータへの入力電流Iに加算される。第2リンク位置/姿勢制御部は、第2リンクの位置と姿勢とを制御するために、第2モータを制御する、ロボットの制御装置の構成要素である。
【0032】
このような状態観測器と第1および第2トルク補償量演算部により、第1および第2バネ要素は、第1リンクと第2リンクとの間の干渉を考慮して、そのねじれが解消される。その結果、第1および第2リンクの振動が十分に抑制される。
【0033】
また、別の効果として、第1リンクと第2リンクの間の干渉を考慮するため(すなわち4慣性モデルであるため)、複数の共振周波数を求めることが可能である。
【0034】
具体的に説明する。図3(a)は、図1に示す4慣性モデルにおける、第1モータへの入力電流から該モータの回転角速度の推定値までのゲイン特性(実施例)を示す図である。一方、図3(b)は、2慣性モデルにおける、モータへの入力電流から該モータの回転角速度の推定値までのゲイン特性(比較例)を示す図である。
【0035】
図3(a)に示すように、4慣性モデルの場合、すなわち第1リンクと第2リンクとの間の干渉を考慮した場合、第1バネ要素および第2バネ要素それぞれについて、その挙動において2つの共振周波数を持つ。一方、図3(b)に示すように、2慣性モデルの場合、モータとリンクとの間のバネ要素は、その挙動において1つの共振周波数を持つ。
【0036】
したがって、モータとリンクとがそれぞれ複数あるにもかかわらず、2慣性モデルに基づく場合は、現実に存在する複数の共振周波数に対して考慮できず、各バネ要素について1つの共振周波数しか考慮できない。これにより、非考慮の共振周波数によるスピルオーバの問題が起こる。一方、リンク間の干渉を考慮すれば、4慣性モデルが各バネ要素について2つの共振周波数が考慮できるように、モータとリンクとがN個ずつある2N慣性モデルの場合、N個の共振周波数を考慮することができる。
【0037】
また、本実施形態の状態観測器は、トルク補償量演算部のゲインを大きく設定することができるように、すなわち、それによって第1リンクや第2リンクの振動をさらに十分に抑制することができるように構成されている。
【0038】
このことについて具体的に説明する。
【0039】
図2に示す状態観測器の構成は、該状態観測器の状態xの推定値を

とすると、数式9のように表現することができる。
【数9】

【0040】
状態観測器が推定した状態

と実際の状態xとの誤差をe

とすると、数式9から数式10が得られる。
【数10】

【0041】
誤差eの収束はフィードバックゲイン行列Kに依存し、フィードバックゲイン行列Kは、一般的には、極配置によって数式10の(A−KC)の極の実部が負となるように設計されている。この極の実部の値により、誤差eの収束度合いが決定される。
【0042】
ところが、フィードバックゲイン行列Kを、極配置によって数式10の(A−KC)の極の実部が負になるように設計すると、モータの停止時に第1リンクや第2リンクに持続振動が発生する。
【0043】
この持続振動の発生は、モータの特性を原因とする。通常、モータは非線形な静止摩擦があるため、その入力電流ゼロ付近で不感帯が存在し、モータ停止時に入力電流のオフセットが発生する。また、リンクには重力が作用するので該リンクを一定の姿勢で維持するためのトルクをモータは出力する必要があり、そのためにも入力電流のオフセットが発生する。
【0044】
このようなオフセットが発生する入力電流を推定に使用すると、極配置によってフィードバックゲイン行列Kが設計されている状態観測器は、モータの停止時、実際の値との誤差が大きいねじれ角度やねじれ角速度を推定する。すなわち、モータの停止時、状態観測器の推定精度が低下する。
【0045】
モータの停止時に状態観測器の推定精度が低下すると、トルク補償量演算部が出力するトルク補償量は、図4(a)に示すように、モータの停止時、持続振動する。なお、図4(a)は、数式10に示す(A−KC)の極の実部全てが(−150)になるように、フィードバックゲイン行列Kを設計した場合を示している。
【0046】
図4(a)に示すようにトルク補償量が持続振動することを考えると、当然ながらトルク補償量演算部のゲインを大きく設定することはできない(ゲインを大きくすると、リンクが大きく振動する)。
【0047】
したがって、トルク補償量演算部のゲインは、モータ停止時の入力電流のオフセットを原因とする、モータの停止時における状態観測器の推定精度の低下を考慮して、小さく設定される。
【0048】
そこで、本実施形態の状態観測器では、モータ停止時に入力電流のオフセットが発生しても、モータ停止時において状態観測器の推定精度が低下しないように、すなわちトルク補償量演算部のゲインを大きく設定できるように、フィードバックゲイン行列Kが、各モータの入力電流から複数のバネ要素それぞれのねじれ角度およびねじれ角速度に至る複数の伝達関数全てが原点に零点を持つように設計されている。
【0049】
具体的には、図1の4慣性モデルに対応する図2の状態観測器の場合、第1モータの入力電流Iから第1バネ要素のねじれ角度θM1−θL1に至る伝達関数、入力電流Iから第1バネ要素のねじれ角速度

に至る伝達関数、入力電流Iから第2バネ要素のねじれ角度θM2−θL2に至る伝達関数、入力電流Iから第2バネ要素のねじれ角速度

に至る伝達関数、第2モータの入力電流Iから第1バネ要素のねじれ角度θM1−θL1に至る伝達関数、入力電流Iから第1バネ要素のねじれ角速度

に至る伝達関数、入力電流Iから第2バネ要素のねじれ角度θM2−θL2に至る伝達関数、および入力電流Iから第2バネ要素のねじれ角速度

に至る伝達関数の全てが原点に零点を持つように、フィードバックゲイン行列Kが設計されている。言い換えると、8つの伝達関数全てにおいて、分子のs項(ラプラス演算子sの0乗の項)の係数がゼロになるように、フィードバックゲイン行列Kが設計されている。
【0050】
このようなフィードバックゲイン行列Kの設計について具体的に説明する。なお、ここでは、説明を簡単にするために、1つのリンクと該リンクを駆動する1つのモータからなる2慣性モデルを例に挙げて説明する。
【0051】
2慣性モデルの場合、状態方程式は、モータの回転角度をθ、リンクの角度をθ
モータの慣性をJ、リンクの慣性をJ、モータとリンクとの間のバネ要素の剛性をK、バネ要素の減衰をDとすると、数式11のようになる。
【数11】

【0052】
ここで、フィードバックゲイン行列Kを

とし、モータの回転角度が観測可能(すなわち、

)とすると、モータの入力電流からバネ要素のねじれ角度θ−θの推定値に至る伝達関数は、数式12のようになる。また、モータの入力電流からバネ要素のねじれ角速度

に至る伝達関数は、数式13のようになる。なお、数式12および13における係数a〜aは、数式14のようになる。
【数12】

【数13】

【数14】

【0053】
数式12,13に示す2つの伝達関数が原点に零点を持つためには、数式12の分子のs項の係数K−(K−K)Jと、数式13の分子のS項の係数Kの両方がゼロになるような値に、フィードバックゲイン行列Kの要素K〜Kを決定しなければならない。
【0054】
ここで、例えば、フィードバックゲイン行列Kを数式15に示すように与える。
【数15】

【0055】
数式15において、α,βは調整パラメータである。フィードバックゲイン行例Kを数式15のように設計すれば、数式12,13に示す2つの伝達関数の分子のs項の係数がゼロになり、2つの伝達関数は原点に零点を持つ。なお、モータの回転角度ではなく回転角速度が観測可能な場合(すなわち、

)、調整パラメータβをゼロにすれば、同様に、2つの伝達関数は原点に零点を持つことができる。
【0056】
数式12,13の伝達関数が原点に零点を持てば、図4(b)に示すように、モータ停止時における、トルク補償量の持続振動の発生が抑制される。
【0057】
これは、モータの入力電流からねじれ角度の推定値やねじれ角速度の推定値までの間の特性に微分が存在するため、低周波数域でのゲインが低下し、一定の入力値に対してはゲインがゼロになることによる。そのため、状態観測器は入力電流のオフセットの影響を受けにくくなり、その推定精度が低下しにくくなる。その結果、モータ停止時において、トルク補償量に持続振動が発生しにくくなり、トルク補償量演算部のゲインを大きく設定することができる。
【0058】
当然ながら、モータの入力電流からバネ要素のねじれ角度およびねじれ角速度に至る複数の伝達関数が原点に零点を持つことにより、トルク補償量演算部のゲインを大きく設定することができることは、2慣性モデルに限らない。
【0059】
例えば、図1の4慣性モデルにおいて第1モータが停止している場合、すなわち3慣性モデルの場合、状態方程式は数式16のようになる。
【数16】

【0060】
ここで、フィードバックゲイン行列Kを

とし、モータの回転角度が観測可能とすると、第2モータの入力電流から第1バネ要素のねじれ角度θM1−θL1に至る伝達関数の分子のs項の係数は数式17のように、第2モータの入力電流から第2バネ要素のねじれ角度θM2−θL2に至る伝達関数の分子のs項の係数は数式18のように、第2モータの入力電流から第1バネ要素のねじれ角速度

に至る伝達関数の分子のs項の係数は数式19のように、第2モータの入力電流から第2バネ要素のねじれ角速度

に至る伝達関数の分子のs項の係数は数式20のようになる。
【数17】

【数18】

【数19】

【数20】

【0061】
ここで、例えば、フィードバックゲイン行列Kを数式21に示すように与える。
【数21】

【0062】
数式21において、α,βは調整パラメータである。フィードバックゲイン行例Kを数式21のように設計すれば、第2モータの入力電流から第1バネ要素のねじれ角度θM1−θL1に至る伝達関数、第2モータの入力電流から第2バネ要素のねじれ角度θM2−θL2に至る伝達関数、第2モータの入力電流から第1バネ要素のねじれ角速度

に至る伝達関数、および第2モータの入力電流から第2バネ要素のねじれ角速度

に至る伝達関数は、分子のs項の係数がゼロになり、4つの伝達関数は原点に零点を持つ。
【0063】
さらに、図1に示す4慣性モデルにおいても、バックゲイン行列Kを数式22のように設計すれば、第1モータの入力電流Iから第1バネ要素のねじれ角度θM1−θL1に至る伝達関数、入力電流Iから第1バネ要素のねじれ角速度

に至る伝達関数、入力電流Iから第2バネ要素のねじれ角度θM2−θL2に至る伝達関数、入力電流Iから第2バネ要素のねじれ角速度

に至る伝達関数、第2モータの入力電流Iから第1バネ要素のねじれ角度θM1−θL1に至る伝達関数、入力電流Iから第1バネ要素のねじれ角速度

に至る伝達関数、入力電流Iから第2バネ要素のねじれ角度θM2−θL2に至る伝達関数、および入力電流Iから第2バネ要素のねじれ角速度

に至る伝達関数の全てが原点に零点を持つ。
【数22】

【0064】
数式15,21,22に示すように、慣性モデルに関わらず、トルク補償量演算部のゲインを大きく設定することができる、フィードバックゲイン行列Kは、

の形で表現することができる。したがって、複数モータのうち停止中のモータを特定することにより慣性モデルを決定し、決定した慣性モデルに基づく行列B、Cからフィードバックゲイン行列Kを算出することができる。
【0065】
本実施形態によれば、複数のリンクと、対応するリンクを駆動する複数のモータとを有するロボットにおいて、状態観測器は、各リンクと対応するモータとの間のバネ要素それぞれについて、そのねじれ角度およびねじれ角速度を、複数のモータそれぞれへの制御入力と複数のセンサそれぞれが検出した回転角度または回転角速度とに基づいて推定する。そのため、各バネ要素のねじれ角度およびねじれ角速度を、これらを対応するモータへの制御入力と該モータの回転角度または回転角速度のみで推定する場合に比べて、高精度に推定することができる。すなわち、複数のリンク間の干渉を考慮して推定することができる。これにより、状態観測器が高精度に推定した各バネ要素のねじれ角度およびねじれ角速度に基づいて各バネ要素のねじれを解消でき、リンクの振動を十分に抑制することができる。
【0066】
また、本実施形態によれば、状態観測器に含まれるフィードバックゲイン行列Kが、各モータの制御入力から複数のバネ要素それぞれのねじれ角度に至るモータ数×バネ要素数個の伝達関数と、各モータの制御入力から複数のバネ要素それぞれのねじれ角速度に至るモータ数×バネ要素数個の伝達関数とにおいて、分子のラプラス演算子sの0乗項の係数がゼロになるように設計される。これにより、モータ停止時に入力電流のオフセットが発生しても、モータ停止時おける状態観測器の推定精度の低下が抑制される。そのため、状態観測器が推定した状態をモータの制御入力に大きくフィードバックすることができる(トルク補償量演算部のゲインを大きく設定することができる)。そして、その結果、リンクの振動をさらに十分に抑制することができる。
【0067】
以上、上述の実施形態を挙げて、本発明を説明してきた。しかし、本発明は、上述の実施形態に限定されない。
【0068】
例えば、上述の実施形態の場合、複数のリンクと対応するリンクを駆動する複数のモータとを有するロボットにおいて、リンク間の干渉による影響と、モータ停止時の入力電流のオフセットの影響の両方に対処して状態観測器を構成することにより、リンクの振動を十分に抑制している。しかしながら、本発明は、この2つの影響の両方に状態観測器が対処することに限定しない。
【0069】
例えば、ロボットが1つのリンクと該リンクを駆動する1つのモータのみで構成される場合、当然ながらリンク間の干渉の影響を考慮する必要はない。また、機構的にリンク間の干渉が起こらない場合も、リンク間の干渉を考慮しなくてもよい。このような場合、状態観測器において、フィードバックゲイン行列Kを、各モータへの制御入力から複数のバネ要素それぞれのねじれ角度およびねじれ角速度に至る複数の伝達関数が原点に零点を持つように設計して、モータ停止時の入力電流のオフセットの影響に対処すればよい。
【0070】
また、例えば、ロボットが軽量に構成されているなどの理由から、モータの停止時の入力電流オフセット量が小さい場合、またトルク補償量演算部のゲインを大きくしてもトルク補償量が図4(a)に示すように大きく持続振動しない場合、モータ停止時の入力電流のオフセットの影響に対処する必要はない。

【特許請求の範囲】
【請求項1】
複数のリンクと、対応するリンクを駆動する複数のモータとを有するロボットの制御装置であって、
対応するモータの回転角度または回転角速度を検出する複数のセンサと、
各リンクと対応するモータとの間のバネ要素それぞれについて、そのねじれ角度およびねじれ角速度を、複数のモータそれぞれへの制御入力と複数のセンサそれぞれが検出した回転角度または回転角速度とに基づいて推定する状態観測器と、
状態観測器が推定した対応するバネ要素のねじれ角度およびねじれ角速度に基づいて、対応するバネ要素のねじれが解消するトルクをモータが出力するように、対応するモータの制御入力に加算するトルク補償量を算出する複数のトルク補償量算出手段と、
トルク補償量算出手段が算出したトルク補償量を加算した制御入力を対応するモータに出力する複数のモータ制御手段とを有することを特徴とするロボットの制御装置。
【請求項2】
状態観測器はフィードバックゲイン行列を含み、
フィードバックゲイン行列が、各モータの制御入力から複数のバネ要素それぞれのねじれ角度に至るモータ数×バネ要素数個の伝達関数と、各モータの制御入力から複数のバネ要素それぞれのねじれ角速度に至るモータ数×バネ要素数個の伝達関数とにおいて、分子のラプラス演算子sの0乗項の係数がゼロになるように設計されていることを特徴とする請求項1に記載のロボットの制御装置。
【請求項3】
リンクと、リンクを駆動するモータとを備えたロボットの制御装置であって、
モータの回転角度または回転角速度を検出するセンサと、
リンクとモータとの間のバネ要素のねじれ角度およびねじれ角速度を、モータへの制御入力とセンサが検出した回転角度または回転角速度とに基づいて推定する状態観測器と、
状態観測器が推定したバネ要素のねじれ角度およびねじれ角速度に基づいて、バネ要素のねじれが解消するトルクをモータが出力するように、モータの制御入力に加算するトルク補償量を算出するトルク補償量算出手段と、
トルク補償量算出手段が算出したトルク補償量を加算した制御入力をモータに出力するモータ制御手段とを有し、
状態観測器はフィードバックゲイン行列を含み、
フィードバックゲイン行列が、モータの制御入力からバネ要素のねじれ角度に至る伝達関数と、モータの制御入力からバネ要素のねじれ角速度に至る伝達関数とにおいて、分子のラプラス演算子sの0乗項の係数がゼロになるように設計されていることを特徴とするロボットの制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate