【課題を解決するための手段】
【0005】
さて、ロボットの制御分野では、モータとアーム間の減速機に存在するバネ要素による振動モードを考慮したいわゆる2慣性系のシミュレーションが利用されている。この振動モードは、減速機等の動力が伝達していく動力伝達機構における動作方向の剛性に起因する振動である。また、2慣性系のシミュレーションは、広く利用されており、その有効性は認知されていると考えられる。
【0006】
このとき、アームの剛性等の機械的数値はシミュレーション条件に当然盛り込まれており、実際のロボットは、そのシミュレーション条件を満たすような機械的数値の範囲で設計されている。それにも関わらずロボットに振動が生じるということは、従来の2慣性系で考慮されていた振動モードとは異なる振動モードが存在していると考えられる。
【0007】
そして、発明者らは、振動を生じさせる原因の調査を重ねた結果、実際のロボットでは、2慣性系の振動モードにおける動力伝達機構の動作方向の剛性による振動(以下、便宜的に動作方向振動と称する)以外にも、動力伝達機構の動作方向とは異なる振動(以下、便宜的に非動作方向振動)が存在していることを見いだした。つまり、動作方向とは異なる向きの非動作方向振動がシミュレーションには現れなかった振動の原因であることを突き止めるとともに、その非動作方向振動によってロボットの可動部側が全体的に動作方向以外にも揺れて、その結果、手先に振動が生じていることを見いだした。
【0008】
ところで、もしも非動作方向振動の存在が今まで認知されていたならば、非動作方向振動に対処するための制御方法が検討されているはずである。しかし、実際には、非動作方向振動の存在を示唆するような考察や非動作方向振動を抑制するための制御方法等は検討されていない。つまり、非動作方向振動は、今まで認知されていなかったと考えられる。そのため、発明者らは、なぜ今まで非動作方向振動が考慮されていなかったのかについて考察した。
【0009】
最初期の産業用のロボットは、近年のロボットと比べて、格段にアームやギアあるいは軸受け部材などが相対的に太く且つ頑丈であった反面、アームおよび可動部分の全体の重量が相対的に大きかった。2慣性系の場合、共振周波数は、慣性(つまり重量)の逆数の平方根に比例することから、動作方向振動の共振周波数は低くなる。その一方で、アームを構成する部材等は非常に高剛性に作られており、非動作方向共振が存在していたとしても、その共振周波数は高くなっていたと考えられる。
【0010】
一般的に、複数の共振が存在する場合、低い共振周波数を持つ共振による影響が支配的となる場合が多い。つまり、非動作方向共振は、共振周波数が相対的に高かったことから、アームの位置応答や速度応答へ与える影響は無視できるほど小さかったと考えられる。また、発明者らの研究の結果、非動作方向振動の発生原因には例えば遠心力のように非動作方向に加わる力の存在があることが判明したが、最初期のロボットは、近年のロボットに比べて動作速度が相対的に遅かったため、遠心力による影響は無視できるほど小さかったと考えられる。
【0011】
これに対して、近年のロボットでは、アームを太く頑丈にする方向から、細く軽量化する方向へとその設計が変化してきている。つまり、アームが軽量化されてきた反面、アームを構成する部材は、最初期のロボットに比べれば低剛性化している。なお、低剛性化しているとはいっても、柔軟アームと呼ばれるようなアーム自体が捻れてしまうような状態ではなく、例えばクロスローラなどの軸支持部で、その回転軸以外の方向に微少振動が発生しているということである。
【0012】
そのため、複数の共振が存在している状態において支配的な共振が最初期のロボットとは入れ替わってきた、あるいは、両者の共振が近い共振周波数となって互いに影響し合うような状態になってきたと考えられる。さらに、近年のロボットの場合、最初期のロボットと比べてその動作速度が格段に高速化されており、速度の2乗に比例する遠心力の影響がより顕著に現れてきたと考えられる。
【0013】
例えば4軸の水平多関節型ロボットの場合であれば、3軸目(シャフトに相当する)を上下方向(Z方向)へ直動する支持部が、例えば2軸目(第2アームに相当する)の動きに連動して振動してしまう現象が確認されている。この場合、軸間干渉による振動のようにシャフトの移動方向への振動(動作方向振動に含まれる)とは異なる振動、具体的には、第2アームの円周方向(第2アームの動作方向)や第2アームの直径方向(第2アームに加わる遠心力の方向)への振動が発生している。なお、6軸の垂直多関節型ロボット(PUMA(Programmable Universal Manipulation Arm)型ロボット)や、いわゆる7軸ロボット等の他の構成のロボットにおいても、これに類似する現象により、非動作方向振動が発生している。
【0014】
そして、産業用のロボットにおいては、複数のアームが連結してロボットを構成することが多いため、ある軸が振動した結果、別の軸が干渉して振動するといった現象が発生する。このため、振動特性自体が単純な2慣性系モデルのようにはっきりとしたものとはならならず、複数の共振振動が周波数特定に現れること、また、周波数特性に現れる共振周波数と実際の振動波形に現れる共振周波数とに僅かな相違があることがある。そのため、非動作方向振動が存在していたとしても、非動作方向振動が原因となっていることを突き止めることが困難であったと考えられる。
【0015】
さらに、動作方向振動と非動作方向振動とでは振動周波数が異なることが多いものの、減速機として例えば波動歯車装置を用いている場合には、その剛性が入力されるトルクに応じて変化することが知られている等、モデル化誤差の原因となる要素が様々であることから、誰も非動作方向振動に想到することがなく、単に誤差として扱われていたものと考えられる。
【0016】
このような事情によって、シミュレーション上で現れた振動のうち最も影響度の大きいものを動作方向振動として扱い、それ以外は他の軸からの干渉などの誤差として扱っていたことから、非動作方向振動についての検討がなされてこなかったものと考えられる。つまり、最初期のロボットでは非動作方向振動がそれほど顕著ではなく、また、近年のロボットでは非動作方向振動が誤差として扱われていたことが、非動作方向振動が認知されていなかった理由であると推測された。
【0017】
そして、このような非動作方向振動の存在は、従来のシミュレーションの前提条件であった2慣性系モデルや干渉を含めた2慣性系モデルを拡張した例えば特許文献1でいう4慣性モデル等の制御モデルでは実際のロボットの振動特性をそもそも表現しきれていなかったこと示しており、極めて重大な技術的意義をもっている。
【0018】
つまり、ロボットに非動作方向振動が生じた場合、その非動作方向振動も軸間干渉を引き起こす要因となる。そして、上記したように非動作方向振動はシミュレーションでは考慮されていない振動であるから、実際のロボットの振動特性は、単純な2慣性系モデルのようにはっきりとしたものとはならず、複数の共振振動が周波数特性に表れたり、周波数特性で表れている共振周波数と実際の振動波形に表れている共振周波数との間に僅かな相違が生じたりする。その結果、実際のロボットと2慣性系モデルとの間に齟齬が生じ、その齟齬が、ロボットをモデルベース制御する際の誤差となるのである。
【0019】
さて、非動作方向振動の存在が判明したのであれば、その非動作方向振動に起因して生じる振動を抑制するような制御を行えば、シミュレーションには現れなかった手先に生じる振動を抑制することができると考えられる。
しかし、従来のロボットは、非動作方向振動が考慮されていなかったため、回転方向以外の振動を検出する手段をそもそも備えておらず、また、非動作方向振動の検出自体ができていないことから、その非動作方向振動を収束させる制御も行うこともできない構成となっている。
【0020】
そこで、請求項1に係る制御モデルの取得方法の発明では、以下のようにして、軸間干渉を補償している。
まず、ロボットのi軸目出力(y
i)、i軸目入力(u
i)、およびi軸目入力からj軸目出力までの伝達特性(^P
ij)を用いて、入力から出力までの軸間干渉を含む制御モデルを干渉制御モデルとして定義し、ロボットの軸数と同じ回数、且つ、試験ごとに与える周波数測定試験用の外乱入力(τ
Di)を変化させる態様にて周波数測定試験を行い、得られたn回分の試験結果を干渉制御モデルに反映させることで、伝達特性(^P
ij)を、i軸以外の軸間干渉による影響を含むとともにi軸目入力(u
i)によって表される形で求める。
【0021】
この時点では、求まった伝達特性(^P
ij)には、i軸以外の軸間干渉による影響、具体的には、i軸が振動したことによって別の軸が振動し、その別の軸が振動したことによってi軸が振動することの影響が含まれている。
そこで、i軸以外の軸間干渉による影響を補償するために、軸間干渉トルクを含むi軸目に加わる全トルク(τ
i)と、i軸目に加わる全トルクからi軸目出力までの伝達特性(P
i)とを用いて、干渉制御モデルに等価となる制御モデルを等価制御モデルとして定義する。また、i軸目入力(u
i)、およびi軸目出力からj軸目干渉トルクまでの伝達特性(Q
ij)を用いて、i軸目に加わる全トルク(τ
i)を、i軸目入力(u
i)と、伝達特性(Q
ij)により表される軸間干渉トルク推定値との和として定義する。
【0022】
つまり、i軸目に加わる全トルク(τi)を、モータトルク
指令(τMi)と、i軸以外の軸間干渉による影響を補償するための補償値(軸間干渉トルク推定値)とに区分けする。
そして、等価制御モデルと周波数測定試験の試験結果を反映させた干渉制御モデルとを対比することで、等価制御モデルの係数である伝達特性(Pi)および伝達特性(Qij)を、伝達特性(^Pij)により表される形で求める。
【0023】
そして、軸間干渉トルクを完全に補償した状態の伝達特性(Pi)および伝達特性(Qij)を
等価制御モデルに適用することで、軸間干渉トルクを補償した制御モデルを取得することができる。
したがって、このような制御モデル取得方法を用いることにより、加速度センサを備えていないロボットであっても、軸間干渉の影響を補償することができ、モデルベース制御に適した制御モデルを取得することができる。なお、加速度センサを備えたロボットであっても、同様の方法にてモデルベース制御に適した制御モデルを取得することができるのは勿論である。
【0024】
このとき、n回目の試験時にはn軸目のみに外乱入力(τDi)を与える態様にて周波数測定試験を行うことで、求めた伝達特性(Pi)は、純粋に、i軸目の全入力トルクから出力角度までの伝達特性を示すものとなる。換言すると、モータトルク
指令(τMi)に軸間干渉トルク推定値を重畳した形とすることにより、軸間干渉トルクを完全に補償した状態(τi=τMiが達成された状態)の伝達特性を取得することができる。
【0025】
この場合、請求項3に係る発明のように、i軸目出力(yi)は、当該i軸目モータ角度、角速度および角加速度、あるいはリンク角度、角速度および
角加速度、あるいはアーム速度および加速度のいずれかによって与えてもよい。
また、請求項4に係る発明のように、i軸目入力(ui)は、モータトルク
指令(τMi)、または、実際のモータが出力するトルクの測定値、モータ電流指令値、モータ電流測定値のうちいずれかによって与えてもよい。
【0026】
また、請求項5に係る発明のように、i軸目入力(ui)を、i軸目の制御指令値(ri)、外乱入力(τDi)、フィードバック伝達特性(Ci)を用いて導出してもよい。
より具体的には、請求項6に係る発明のように、i軸目出力(yi)は、当該i軸目モータ角度によって与えられ、i軸目入力(ui)は、当該i軸目モータトルク
指令(τMi)によって与えられ手居る場合、ロボットのi軸目モータ角度(yi)、i軸目モータトルク指令(τMi)、およびi軸目モータトルク
指令からj軸目モータ角度(j軸目出力に相当する)までの伝達特性(^Pij)を用いて、モータトルク指令からモータ角度までの軸間干渉を含む制御モデルを干渉制御モデルとして定義するとともに、i軸目のモータ角度指令値(ri)、周波数測定試験用の外乱信号(τDi)、フィードバック伝達特性(Ci)を用いて、i軸目モータトルク指令(τMi)を定義する。
【0027】
次に、干渉制御モデルに対して、ロボットの軸数と同じ回数、且つ、n回目の試験時にはn軸目のみに外乱入力(τ
Di)を与える態様にて周波数測定試験を行い、得られたn回分の試験結果を干渉制御モデルに反映させることで、干渉制御モデルに用いる伝達特性(^P
ij)を、i軸以外の軸間干渉による影響を含むとともにi軸目モータトルク指令(τ
Mi)によって表される形で求める。
この時点では、求まった伝達特性(^P
ij)には、i軸以外の軸間干渉による影響、具体的には、i軸が振動したことによって別の軸が振動し、その別の軸が振動したことによってi軸が振動することの影響が含まれている。
【0028】
そこで、i軸以外の軸間干渉による影響を補償するために、軸間干渉トルクを含むi軸目に加わる全トルク(τ
i)、およびi軸目に加わる全トルクからi軸目モータ角度までの伝達特性(P
i)を用いて、モータ実トルクがモータトルク指令に等しいと仮定した場合において干渉制御モデルに等価となる制御モデルを等価制御モデルとして定義する。
【0029】
また、i軸目モータトルク指令(τ
Mi)、およびi軸目モータ角度からj軸目干渉トルクまでの伝達特性(Q
ij)を用いて、i軸目に加わる全トルク(τ
i)を、i軸目モータトルク指令(τ
Mi)と、伝達特性(Q
ij)により表される軸間干渉トルク推定値との和として定義する。つまり、i軸目に加わる全トルク(τ
i)を、モータトルク指令値(τ
Mi)と、i軸以外の軸間干渉による影響を補償するための補償値(軸間干渉トルク推定値)とに区分けする。
【0030】
そして、等価制御モデルと周波数特性試験の試験結果を反映させた干渉制御モデルとを対比することで、等価制御モデルの係数である伝達特性(Pi)および伝達特性(Qij)を、周波数測定試験の試験結果が反映された伝達特性(^Pij)により表される形で求める。
そして、軸間干渉トルクを完全に補償した状態の伝達特性(Pi)および伝達特性(Qij)を
等価制御モデルに適用することで、請求項1記載の発明と同様に、軸間干渉トルクを補償した制御モデルを取得することができる。
【0031】
また、請求項7に係るロボット制御装置の発明は、請求項1に係る発明と同一の技術的思想に基づいてなされたものであり、請求項1に係る発明で説明した制御モデル取得方法で軸間干渉トルクが補償された制御モデルを取得し、取得した軸間干渉トルクが補償された制御モデルを用いてロボットをモデルベース制御する。
これにより、請求項1に係る発明と同様に、加速度センサを備えていないロボットであっても、軸間干渉の影響を補償することができ、モデルベース制御に適した制御モデルを取得することができる。