(57)【特許請求の範囲】
【請求項１】
多軸のロボットをモデルベース制御するための制御モデルを取得する制御モデル取得方法であって、
前記ロボットのｉ軸目出力（ｙｉ）、ｉ軸目入力（ｕｉ）、およびｉ軸目入力からｊ軸目出力までの伝達特性（＾Ｐｉｊ）を用いて、入力から出力までの軸間干渉を含む制御モデルを干渉制御モデルとして定義し、
前記ロボットの軸数と同じ回数、且つ、試験ごとに与える周波数測定試験用の外乱入力（τＤｉ）を変化させる態様にて周波数測定試験を行い、得られたｎ回分の試験結果を前記干渉制御モデルに反映させることで、前記伝達特性（＾Ｐｉｊ）を、ｉ軸以外の軸間干渉による影響を含むとともに前記ｉ軸目入力（ｕｉ）によって表される形で求め、
軸間干渉トルクを含むｉ軸目に加わる全トルク（τｉ）と、ｉ軸目に加わる全トルクからｉ軸目出力までの伝達特性（Ｐｉ）とを用いて、前記干渉制御モデルに等価となる制御モデルを等価制御モデルとして定義し、
前記ｉ軸目入力（ｕｉ）、およびｉ軸目出力からｊ軸目干渉トルクまでの伝達特性（Ｑｉｊ）を用いて、前記ｉ軸目に加わる全トルク（τｉ）を、前記ｉ軸目入力（ｕｉ）と、前記伝達特性（Ｑｉｊ）により表される軸間干渉トルク推定値との和として定義し、
前記等価制御モデルと前記周波数測定試験の試験結果を反映させた前記干渉制御モデルとを対比することで、前記等価制御モデルの係数である前記伝達特性（Ｐｉ）および前記伝達特性（Ｑｉｊ）を、前記伝達特性（＾Ｐｉｊ）により表される形で求め、
求めた前記伝達特性（Ｐｉ）および前記伝達特性（Ｑｉｊ）を前記等価制御モデルに適用することで、軸間干渉トルクを補償した制御モデルを取得する制御モデル取得方法。
【請求項２】
ｎ回目の試験時にはｎ軸目のみに外乱入力（τＤｉ）を与える態様にて周波数測定試験を行う請求項１記載の制御モデル取得方法。
【請求項３】
前記ｉ軸目出力（ｙｉ）は、当該ｉ軸目モータ角度、角速度および角加速度、あるいはリンク角度、角速度および角加速度、あるいはアーム速度および加速度のいずれかによって与えられる請求項１または２記載の制御モデル取得方法。
【請求項４】
前記ｉ軸目入力（ｕｉ）は、モータトルク指令（τＭｉ）、または、実際のモータが出力するトルクの測定値、モータ電流指令値、モータ電流測定値のうちいずれかによって与えられる請求項１から３のいずれか一項記載の制御モデル取得方法。
【請求項５】
ｉ軸目の制御指令値（ｒｉ）、外乱入力（τＤｉ）、フィードバック伝達特性（Ｃｉ）を用いて、前記ｉ軸目入力（ｕｉ）を導出する請求項１から４のいずれか一項記載の制御モデル取得方法。
【請求項６】
前記ｉ軸目出力（ｙｉ）は、当該ｉ軸目モータ角度（ｙｉ）によって与えられ、
前記ｉ軸目入力（ｕｉ）は、当該ｉ軸目モータトルク指令（τＭｉ）によって与えられ、
前記ロボットのｉ軸目モータ角度（ｙｉ）、ｉ軸目モータトルク指令（τＭｉ）、およびｉ軸目モータトルク指令からｊ軸目モータ角度までの伝達特性（＾Ｐｉｊ）を用いて、モータトルク指令からモータ角度までの軸間干渉を含む制御モデルを干渉制御モデルとして定義し、
ｉ軸目のモータ角度指令値（ｒｉ）、周波数測定試験用の外乱信号（τＤｉ）、フィードバック伝達特性（Ｃｉ）を用いて、前記ｉ軸目モータトルク指令（τＭｉ）を定義し、
前記ロボットの軸数と同じ回数、且つ、ｎ回目の試験ではｎ軸目のみに外乱入力（τＤｉ）を与える態様にて周波数測定試験を行い、得られたｎ回分の試験結果を前記干渉制御モデルに反映させることで、前記伝達特性（＾Ｐｉｊ）を、ｉ軸以外の軸間干渉による影響を含むとともに前記ｉ軸目モータトルク指令（τＭｉ）によって表される形で求め、
軸間干渉トルクを含むｉ軸目に加わる全トルク（τｉ）、およびｉ軸目に加わる全トルクからｉ軸目モータ角度までの伝達特性（Ｐｉ）を用いて、モータ実トルクがモータトルク指令に等しいと仮定した場合において前記干渉制御モデルに等価となる制御モデルを等価制御モデルとして定義し、
前記ｉ軸目モータトルク指令（τＭｉ）、およびｉ軸目モータ角度からｊ軸目干渉トルクまでの伝達特性（Ｑｉｊ）を用いて、前記ｉ軸目に加わる全トルク（τｉ）を、前記ｉ軸目モータトルク指令（τＭｉ）と、前記伝達特性（Ｑｉｊ）により表される軸間干渉トルク推定値との和として定義し、
前記等価制御モデルと前記周波数測定試験の試験結果を反映させた前記干渉制御モデルとを対比することで、前記等価制御モデルの係数である前記伝達特性（Ｐｉ）および前記伝達特性（Ｑｉｊ）を、前記伝達特性（＾Ｐｉｊ）により表される形で求め、
求めた前記伝達特性（Ｐｉ）および前記伝達特性（Ｑｉｊ）を前記等価制御モデルに適用することで、軸間干渉トルクを補償した制御モデルを取得する請求項１から５のいずれか一項記載の制御モデル取得方法。
【請求項７】
多軸のロボットをモデルベース制御するためのロボット制御装置であって、
前記ロボットのｉ軸目出力（ｙｉ）、ｉ軸目入力（ｕｉ）、およびｉ軸目入力からｊ軸目出力までの伝達特性（＾Ｐｉｊ）を用いて、入力から出力までの軸間干渉を含む制御モデルを干渉制御モデルとして定義し、
前記ロボットの軸数と同じ回数、且つ、試験ごとに与える周波数測定試験用の外乱入力（τＤｉ）を変化させる態様にて周波数測定試験を行い、得られたｎ回分の試験結果を前記干渉制御モデルに反映させることで、前記伝達特性（＾Ｐｉｊ）を、ｉ軸以外の軸間干渉による影響を含むとともに前記ｉ軸目入力（ｕｉ）によって表される形で求め、
軸間干渉トルクを含むｉ軸目に加わる全トルク（τｉ）、およびｉ軸目に加わる全トルクからｉ軸目モータ角度までの伝達特性（Ｐｉ）を用いて、前記干渉制御モデルに等価となる制御モデルを等価制御モデルとして定義し、
前記ｉ軸目入力（ｕｉ）、およびｉ軸目出力からｊ軸目干渉トルクまでの伝達特性（Ｑｉｊ）を用いて、前記ｉ軸目に加わる全トルク（τｉ）を、前記ｉ軸目入力（ｕｉ）と、前記伝達特性（Ｑｉｊ）により表される軸間干渉トルク推定値との和として定義し、
前記等価制御モデルと前記周波数測定試験の試験結果を反映させた前記干渉制御モデルとを対比することで、前記等価制御モデルの係数である前記伝達特性（Ｐｉ）および前記伝達特性（Ｑｉｊ）を、前記伝達特性（＾Ｐｉｊ）により表される形で求め、
求めた前記伝達特性（Ｐｉ）および前記伝達特性（Ｑｉｊ）を前記等価制御モデルに適用することで、軸間干渉トルクを補償した制御モデルを取得し、
取得した制御モデルを用いて前記ロボットをモデルベース制御するロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多軸のロボットをモデルベース制御するための制御モデルを取得する制御モデル取得方法、ロボット制御装置に関する。
【背景技術】
【０００２】
産業用のロボットは、複数のアームが連結されて構成されているため、ある軸が振動した結果、別の軸がその振動に干渉して振動することがある。そのため、例えば非特許文献１では、加速度センサを設け、リンク角速度・リンク角加速度を測定してリンク側の干渉力を推定することにより、軸間の干渉（連成振動。以下、軸間干渉と称する）の影響を除外した同定とパラメータの推定、つまりは、制御モデルの取得を行っている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】「シリアル2リンク2慣性系の非干渉化同定と物理パラメータ推定」、電気学会論文誌D（産業応用部門誌）、128巻、5号、2008年、p.669-677
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、２慣性系のシミュレーション上では所望の振動抑制効果が得られた制御内容を実際のロボットに適用した場合、シミュレーション通りの性能を発揮できないことがある。具体的には、例えば４軸の水平多関節ロボット（ＳＣＡＲＡ（Selective Compliance Assembly Robot Arm）型ロボット）であればシャフトの先端部分に相当する手先に、シミュレーション上では現れなかった振動が生じることがある。
本発明は上記事情に鑑みてなされたものであり、その目的は、シミュレーション上では現れなかった振動を考慮した制御モデルを取得することができる制御モデル取得方法、ロボット制御装置を提供することにある。
【課題を解決するための手段】
【０００５】
さて、ロボットの制御分野では、モータとアーム間の減速機に存在するバネ要素による振動モードを考慮したいわゆる２慣性系のシミュレーションが利用されている。この振動モードは、減速機等の動力が伝達していく動力伝達機構における動作方向の剛性に起因する振動である。また、２慣性系のシミュレーションは、広く利用されており、その有効性は認知されていると考えられる。
【０００６】
このとき、アームの剛性等の機械的数値はシミュレーション条件に当然盛り込まれており、実際のロボットは、そのシミュレーション条件を満たすような機械的数値の範囲で設計されている。それにも関わらずロボットに振動が生じるということは、従来の２慣性系で考慮されていた振動モードとは異なる振動モードが存在していると考えられる。
【０００７】
そして、発明者らは、振動を生じさせる原因の調査を重ねた結果、実際のロボットでは、２慣性系の振動モードにおける動力伝達機構の動作方向の剛性による振動（以下、便宜的に動作方向振動と称する）以外にも、動力伝達機構の動作方向とは異なる振動（以下、便宜的に非動作方向振動）が存在していることを見いだした。つまり、動作方向とは異なる向きの非動作方向振動がシミュレーションには現れなかった振動の原因であることを突き止めるとともに、その非動作方向振動によってロボットの可動部側が全体的に動作方向以外にも揺れて、その結果、手先に振動が生じていることを見いだした。
【０００８】
ところで、もしも非動作方向振動の存在が今まで認知されていたならば、非動作方向振動に対処するための制御方法が検討されているはずである。しかし、実際には、非動作方向振動の存在を示唆するような考察や非動作方向振動を抑制するための制御方法等は検討されていない。つまり、非動作方向振動は、今まで認知されていなかったと考えられる。そのため、発明者らは、なぜ今まで非動作方向振動が考慮されていなかったのかについて考察した。
【０００９】
最初期の産業用のロボットは、近年のロボットと比べて、格段にアームやギアあるいは軸受け部材などが相対的に太く且つ頑丈であった反面、アームおよび可動部分の全体の重量が相対的に大きかった。２慣性系の場合、共振周波数は、慣性（つまり重量）の逆数の平方根に比例することから、動作方向振動の共振周波数は低くなる。その一方で、アームを構成する部材等は非常に高剛性に作られており、非動作方向共振が存在していたとしても、その共振周波数は高くなっていたと考えられる。
【００１０】
一般的に、複数の共振が存在する場合、低い共振周波数を持つ共振による影響が支配的となる場合が多い。つまり、非動作方向共振は、共振周波数が相対的に高かったことから、アームの位置応答や速度応答へ与える影響は無視できるほど小さかったと考えられる。また、発明者らの研究の結果、非動作方向振動の発生原因には例えば遠心力のように非動作方向に加わる力の存在があることが判明したが、最初期のロボットは、近年のロボットに比べて動作速度が相対的に遅かったため、遠心力による影響は無視できるほど小さかったと考えられる。
【００１１】
これに対して、近年のロボットでは、アームを太く頑丈にする方向から、細く軽量化する方向へとその設計が変化してきている。つまり、アームが軽量化されてきた反面、アームを構成する部材は、最初期のロボットに比べれば低剛性化している。なお、低剛性化しているとはいっても、柔軟アームと呼ばれるようなアーム自体が捻れてしまうような状態ではなく、例えばクロスローラなどの軸支持部で、その回転軸以外の方向に微少振動が発生しているということである。
【００１２】
そのため、複数の共振が存在している状態において支配的な共振が最初期のロボットとは入れ替わってきた、あるいは、両者の共振が近い共振周波数となって互いに影響し合うような状態になってきたと考えられる。さらに、近年のロボットの場合、最初期のロボットと比べてその動作速度が格段に高速化されており、速度の２乗に比例する遠心力の影響がより顕著に現れてきたと考えられる。
【００１３】
例えば４軸の水平多関節型ロボットの場合であれば、３軸目（シャフトに相当する）を上下方向（Ｚ方向）へ直動する支持部が、例えば２軸目（第２アームに相当する）の動きに連動して振動してしまう現象が確認されている。この場合、軸間干渉による振動のようにシャフトの移動方向への振動（動作方向振動に含まれる）とは異なる振動、具体的には、第２アームの円周方向（第２アームの動作方向）や第２アームの直径方向（第２アームに加わる遠心力の方向）への振動が発生している。なお、６軸の垂直多関節型ロボット（ＰＵＭＡ（Programmable Universal Manipulation Arm）型ロボット）や、いわゆる７軸ロボット等の他の構成のロボットにおいても、これに類似する現象により、非動作方向振動が発生している。
【００１４】
そして、産業用のロボットにおいては、複数のアームが連結してロボットを構成することが多いため、ある軸が振動した結果、別の軸が干渉して振動するといった現象が発生する。このため、振動特性自体が単純な２慣性系モデルのようにはっきりとしたものとはならならず、複数の共振振動が周波数特定に現れること、また、周波数特性に現れる共振周波数と実際の振動波形に現れる共振周波数とに僅かな相違があることがある。そのため、非動作方向振動が存在していたとしても、非動作方向振動が原因となっていることを突き止めることが困難であったと考えられる。
【００１５】
さらに、動作方向振動と非動作方向振動とでは振動周波数が異なることが多いものの、減速機として例えば波動歯車装置を用いている場合には、その剛性が入力されるトルクに応じて変化することが知られている等、モデル化誤差の原因となる要素が様々であることから、誰も非動作方向振動に想到することがなく、単に誤差として扱われていたものと考えられる。
【００１６】
このような事情によって、シミュレーション上で現れた振動のうち最も影響度の大きいものを動作方向振動として扱い、それ以外は他の軸からの干渉などの誤差として扱っていたことから、非動作方向振動についての検討がなされてこなかったものと考えられる。つまり、最初期のロボットでは非動作方向振動がそれほど顕著ではなく、また、近年のロボットでは非動作方向振動が誤差として扱われていたことが、非動作方向振動が認知されていなかった理由であると推測された。
【００１７】
そして、このような非動作方向振動の存在は、従来のシミュレーションの前提条件であった２慣性系モデルや干渉を含めた２慣性系モデルを拡張した例えば特許文献１でいう４慣性モデル等の制御モデルでは実際のロボットの振動特性をそもそも表現しきれていなかったこと示しており、極めて重大な技術的意義をもっている。
【００１８】
つまり、ロボットに非動作方向振動が生じた場合、その非動作方向振動も軸間干渉を引き起こす要因となる。そして、上記したように非動作方向振動はシミュレーションでは考慮されていない振動であるから、実際のロボットの振動特性は、単純な２慣性系モデルのようにはっきりとしたものとはならず、複数の共振振動が周波数特性に表れたり、周波数特性で表れている共振周波数と実際の振動波形に表れている共振周波数との間に僅かな相違が生じたりする。その結果、実際のロボットと２慣性系モデルとの間に齟齬が生じ、その齟齬が、ロボットをモデルベース制御する際の誤差となるのである。
【００１９】
さて、非動作方向振動の存在が判明したのであれば、その非動作方向振動に起因して生じる振動を抑制するような制御を行えば、シミュレーションには現れなかった手先に生じる振動を抑制することができると考えられる。
しかし、従来のロボットは、非動作方向振動が考慮されていなかったため、回転方向以外の振動を検出する手段をそもそも備えておらず、また、非動作方向振動の検出自体ができていないことから、その非動作方向振動を収束させる制御も行うこともできない構成となっている。
【００２０】
そこで、請求項１に係る制御モデルの取得方法の発明では、以下のようにして、軸間干渉を補償している。
まず、ロボットのｉ軸目出力（ｙｉ）、ｉ軸目入力（ｕｉ）、およびｉ軸目入力からｊ軸目出力までの伝達特性（＾Ｐｉｊ）を用いて、入力から出力までの軸間干渉を含む制御モデルを干渉制御モデルとして定義し、ロボットの軸数と同じ回数、且つ、試験ごとに与える周波数測定試験用の外乱入力（τＤｉ）を変化させる態様にて周波数測定試験を行い、得られたｎ回分の試験結果を干渉制御モデルに反映させることで、伝達特性（＾Ｐｉｊ）を、ｉ軸以外の軸間干渉による影響を含むとともにｉ軸目入力（ｕｉ）によって表される形で求める。
【００２１】
この時点では、求まった伝達特性（＾Ｐｉｊ）には、ｉ軸以外の軸間干渉による影響、具体的には、ｉ軸が振動したことによって別の軸が振動し、その別の軸が振動したことによってｉ軸が振動することの影響が含まれている。
そこで、ｉ軸以外の軸間干渉による影響を補償するために、軸間干渉トルクを含むｉ軸目に加わる全トルク（τｉ）と、ｉ軸目に加わる全トルクからｉ軸目出力までの伝達特性（Ｐｉ）とを用いて、干渉制御モデルに等価となる制御モデルを等価制御モデルとして定義する。また、ｉ軸目入力（ｕｉ）、およびｉ軸目出力からｊ軸目干渉トルクまでの伝達特性（Ｑｉｊ）を用いて、ｉ軸目に加わる全トルク（τｉ）を、ｉ軸目入力（ｕｉ）と、伝達特性（Ｑｉｊ）により表される軸間干渉トルク推定値との和として定義する。
【００２２】
つまり、ｉ軸目に加わる全トルク（τｉ）を、モータトルク指令（τＭｉ）と、ｉ軸以外の軸間干渉による影響を補償するための補償値（軸間干渉トルク推定値）とに区分けする。
そして、等価制御モデルと周波数測定試験の試験結果を反映させた干渉制御モデルとを対比することで、等価制御モデルの係数である伝達特性（Ｐｉ）および伝達特性（Ｑｉｊ）を、伝達特性（＾Ｐｉｊ）により表される形で求める。
【００２３】
そして、軸間干渉トルクを完全に補償した状態の伝達特性（Ｐｉ）および伝達特性（Ｑｉｊ）を等価制御モデルに適用することで、軸間干渉トルクを補償した制御モデルを取得することができる。
したがって、このような制御モデル取得方法を用いることにより、加速度センサを備えていないロボットであっても、軸間干渉の影響を補償することができ、モデルベース制御に適した制御モデルを取得することができる。なお、加速度センサを備えたロボットであっても、同様の方法にてモデルベース制御に適した制御モデルを取得することができるのは勿論である。
【００２４】
このとき、ｎ回目の試験時にはｎ軸目のみに外乱入力（τＤｉ）を与える態様にて周波数測定試験を行うことで、求めた伝達特性（Ｐｉ）は、純粋に、ｉ軸目の全入力トルクから出力角度までの伝達特性を示すものとなる。換言すると、モータトルク指令（τＭｉ）に軸間干渉トルク推定値を重畳した形とすることにより、軸間干渉トルクを完全に補償した状態（τｉ＝τＭｉが達成された状態）の伝達特性を取得することができる。
【００２５】
この場合、請求項３に係る発明のように、ｉ軸目出力（ｙｉ）は、当該ｉ軸目モータ角度、角速度および角加速度、あるいはリンク角度、角速度および角加速度、あるいはアーム速度および加速度のいずれかによって与えてもよい。
また、請求項４に係る発明のように、ｉ軸目入力（ｕｉ）は、モータトルク指令（τＭｉ）、または、実際のモータが出力するトルクの測定値、モータ電流指令値、モータ電流測定値のうちいずれかによって与えてもよい。
【００２６】
また、請求項５に係る発明のように、ｉ軸目入力（ｕｉ）を、ｉ軸目の制御指令値（ｒｉ）、外乱入力（τＤｉ）、フィードバック伝達特性（Ｃｉ）を用いて導出してもよい。
より具体的には、請求項６に係る発明のように、ｉ軸目出力（ｙｉ）は、当該ｉ軸目モータ角度によって与えられ、ｉ軸目入力（ｕｉ）は、当該ｉ軸目モータトルク指令（τＭｉ）によって与えられ手居る場合、ロボットのｉ軸目モータ角度（ｙｉ）、ｉ軸目モータトルク指令（τＭｉ）、およびｉ軸目モータトルク指令からｊ軸目モータ角度（ｊ軸目出力に相当する）までの伝達特性（＾Ｐｉｊ）を用いて、モータトルク指令からモータ角度までの軸間干渉を含む制御モデルを干渉制御モデルとして定義するとともに、ｉ軸目のモータ角度指令値（ｒｉ）、周波数測定試験用の外乱信号（τＤｉ）、フィードバック伝達特性（Ｃｉ）を用いて、ｉ軸目モータトルク指令（τＭｉ）を定義する。
【００２７】
次に、干渉制御モデルに対して、ロボットの軸数と同じ回数、且つ、ｎ回目の試験時にはｎ軸目のみに外乱入力（τＤｉ）を与える態様にて周波数測定試験を行い、得られたｎ回分の試験結果を干渉制御モデルに反映させることで、干渉制御モデルに用いる伝達特性（＾Ｐｉｊ）を、ｉ軸以外の軸間干渉による影響を含むとともにｉ軸目モータトルク指令（τＭｉ）によって表される形で求める。
この時点では、求まった伝達特性（＾Ｐｉｊ）には、ｉ軸以外の軸間干渉による影響、具体的には、ｉ軸が振動したことによって別の軸が振動し、その別の軸が振動したことによってｉ軸が振動することの影響が含まれている。
【００２８】
そこで、ｉ軸以外の軸間干渉による影響を補償するために、軸間干渉トルクを含むｉ軸目に加わる全トルク（τｉ）、およびｉ軸目に加わる全トルクからｉ軸目モータ角度までの伝達特性（Ｐｉ）を用いて、モータ実トルクがモータトルク指令に等しいと仮定した場合において干渉制御モデルに等価となる制御モデルを等価制御モデルとして定義する。
【００２９】
また、ｉ軸目モータトルク指令（τＭｉ）、およびｉ軸目モータ角度からｊ軸目干渉トルクまでの伝達特性（Ｑｉｊ）を用いて、ｉ軸目に加わる全トルク（τｉ）を、ｉ軸目モータトルク指令（τＭｉ）と、伝達特性（Ｑｉｊ）により表される軸間干渉トルク推定値との和として定義する。つまり、ｉ軸目に加わる全トルク（τｉ）を、モータトルク指令値（τＭｉ）と、ｉ軸以外の軸間干渉による影響を補償するための補償値（軸間干渉トルク推定値）とに区分けする。
【００３０】
そして、等価制御モデルと周波数特性試験の試験結果を反映させた干渉制御モデルとを対比することで、等価制御モデルの係数である伝達特性（Ｐｉ）および伝達特性（Ｑｉｊ）を、周波数測定試験の試験結果が反映された伝達特性（＾Ｐｉｊ）により表される形で求める。
そして、軸間干渉トルクを完全に補償した状態の伝達特性（Ｐｉ）および伝達特性（Ｑｉｊ）を等価制御モデルに適用することで、請求項１記載の発明と同様に、軸間干渉トルクを補償した制御モデルを取得することができる。
【００３１】
また、請求項７に係るロボット制御装置の発明は、請求項１に係る発明と同一の技術的思想に基づいてなされたものであり、請求項１に係る発明で説明した制御モデル取得方法で軸間干渉トルクが補償された制御モデルを取得し、取得した軸間干渉トルクが補償された制御モデルを用いてロボットをモデルベース制御する。
これにより、請求項１に係る発明と同様に、加速度センサを備えていないロボットであっても、軸間干渉の影響を補償することができ、モデルベース制御に適した制御モデルを取得することができる。
【図面の簡単な説明】
【００３２】
【図１】一実施形態におけるロボット制御装置の構成を模式的に示す図
【図２】＾Ｐ１１の周波数特性の一例を示す図
【図３】＾Ｐ２２の周波数特性の一例を示す図
【図４】＾Ｐ１２の周波数特性の一例を示す図
【図５】＾Ｐ２１の周波数特性の一例を示す図
【図６】Ｐ１の周波数特性の一例を示す図
【図７】Ｐ２の周波数特性の一例を示す図
【図８】Ｑ１２の周波数特性の一例を示す図
【図９】Ｑ２１の周波数特性の一例を示す図
【図１０】Ｐ１と＾Ｐ１１の周波数特性との比較結果を示す図
【図１１】Ｐ２と＾Ｐ２２の周波数特性との比較結果を示す図
【発明を実施するための形態】
【００３３】
以下、本発明の一実施形態について図１から図１１を参照しながら説明する。
図１に示すように、ロボット制御装置１は、制御部１ａを備えており、ロボット２を制御する。ロボット２は、モータ等で構成された駆動系２ａと、駆動系２ａによって駆動されるアーム２ｂを備えている。なお、図１では説明の簡略化のために駆動系２ａとアーム２ｂとを１つずつ示しているが、実際のロボット２は、複数のアーム２ｂを備えており、各アーム２ｂに対してそれぞれ駆動系２ａが設けられている。具体的には、ｎ軸のロボットの場合、ｎ個の駆動系２ａとｎ個のアーム２ｂとを備えている。なお、アーム２ｂとしては、例えば水平多関節型ロボットに設けられるボールねじスプライン等のシャフトも含まれる。
【００３４】
ロボット制御装置１の制御部１ａは、周知のように、ロボット２の動作を制御するための角度指令やモータトルク指令等の制御指令を生成・出力するとともに、以下に説明する取得方法にて取得した制御モデルを用いてロボット２をモデルベース制御する。このため、ロボット制御装置１は、制御モデルを取得する制御モデル取得装置としても機能する。
【００３５】
以下、制御モデルの取得方法について説明するが、説明の簡略化のために、ｎ＝２つまり２軸の場合の制御モデルの取得方法について説明する。なお、３軸以上の場合であっても、以下に説明する行列、ベクトルの次数を拡張することにより、同様の取得方法にて制御モデルを取得することができる。
【００３６】
まず、モータトルク指令からモータ角度までの軸間干渉を考慮した制御モデル（干渉制御モデルに相当する）を、次の（１）式のように定義する。なお、使用可能文字の関係上、以下に示す数式においてハット記号が付されているものについては、例えば「＾Ｐ１１」ように表記する。
【００３７】
【数１】
0006645083.tif 000002
【００３８】
ここで、ｙｉはｉ軸目モータ角度（ｉ軸目出力に相当する）、τＭｉはｉ軸目モータトルク指令（ｉ軸目入力（ｕｉ）に相当する）、＾Ｐｉｊはｉ軸目モータトルク指令からｊ軸目モータ角度までの伝達特性（ｉ軸目入力からｊ軸目出力までの伝達特性に相当する）である。
ただし、モータ角度は、例えばアーム角度で代用してもよく、位置や速度あるいは加速度など位置に依存した制御値を用いることができる。また、モータトルク指令は、実際にモータが出力しているトルクの測定値を用いてもよいし、モータ電流指令、モータ電流測定値を用いてもよい。また、摩擦などの既知外乱分に相当するトルクを差し引いた値を用いてもよい。
【００３９】
次に、ｉ軸目のモータ角度指令値をｒｉ、正弦波などの測定用外乱信号をτＤｉ、フィードバック伝達特性をＣｉとする。このとき、ｉ軸目モータトルク指令（τＭｉ）は、以下の（２）式のように表される。
【００４０】
【数２】
0006645083.tif 000003
【００４１】
ここで、説明の簡略化のためにｒｉ＝０とした場合について説明する。これは、周波数測定試験では、例えば角度指令値を０とし、モータトルクを変化させて振動を測定することが行われるためである。ただし、ｒｉ≠０の場合であっても以下と同様に各式を展開することができる。
さて、（２）式にｒｉ＝０を代入すると、以下の（３）式となる。
【００４２】
【数３】
0006645083.tif 000004
【００４３】
次に、上記した（１）式の制御モデルにおいて、各軸に与える外乱入力の大きさのバランスを変えつつ、正弦波掃引試験などの周波数測定試験をｎ回（ロボット２の軸数と同じ回数。本実施形態では２回）行う。具体的には、例えば１回目の周波数測定試験では１軸目のみに外乱入力を加え、２回目の周波数特性測定時には２軸目のみに外乱入力を加えるといった手順で試験が行われる。
この場合、ｎ回目の周波数特性測定試験の結果は、以下の（４）式で表すことができる。
【００４４】
【数４】
0006645083.tif 000005
【００４５】
このようにｎ軸目のみに外乱入力を与えるという手順で試験を行った場合には、ｎ軸目モータトルク指令から各軸モータ角度までの周波数特性のみが測定できていればよい。これは、ｎ軸目以外のモータトルクについてはτＤｉ＝０であり、且つ、Ｃｉは設計パラメータであることから既知であることから、（３）式に基づいて、以下の（５）式のように導出することができるためである。
【００４６】
【数５】
0006645083.tif 000006
【００４７】
そして、本実施形態では２回の周波数測定試験を行うことから、その試験結果は、まとめると、以下の（６）式で表される。
【００４８】
【数６】
0006645083.tif 000007
【００４９】
この（６）式から、以下の（７）式で示される制御モデル、つまりは、（１）式で用いる伝達特性（＾Ｐ１１、＾Ｐ２２、＾Ｐ１２、＾Ｐ２１）を得ることができる。
【００５０】
【数７】
0006645083.tif 000008
【００５１】
ところで、上記したように、＾Ｐｉｉはｉ軸目モータトルクからｉ軸目モータ角度までの伝達特性であるが、この＾Ｐｉｉは、実際には、ｉ軸以外の軸間干渉による影響も含んでいる。例えば、＾Ｐｉｉの場合、ｉ軸が振動したことによって別の軸が振動し、その別の軸が振動したことによってｉ軸が振動することの影響が含まれている。
【００５２】
より具体的には、図２から図５に＾Ｐ１１、＾Ｐ２２、＾Ｐ１２、＾Ｐ２１の周波数特性の一例を示すように、各周波数特性には、複数の共振振動が表れていることが分かる。例えば、図２に示す＾Ｐ１１の場合、複数の共振が表れており、その主共振が約５５Ｈｚとなっている。なお、詳細は後述するが、周波数特性で表れている共振周波数と実際の振動波形に表れている共振周波数との間に僅かな相違が実際の振動波形に表れている。
【００５３】
また、図３に示す＾Ｐ２２の場合、複数の共振が現れており、その主共振が約９５Ｈｚであるものの、１軸目からの干渉が約５５Ｈｚに表れている。図４に示す＾Ｐ１２の場合、＾Ｐ１１と＾Ｐ２２と同じ周波数に複数の共振が表れている。図５に示す＾Ｐ２１の場合、＾Ｐ１２と同様に、＾Ｐ１１と＾Ｐ２２と同じ周波数に複数の共振が表れている。
このように、（７）式に示した制御モデルは、モデルベース制御に適したものとは言えなくなっている。
【００５４】
そこで、本実施形態では、以下のようにして、ｉ軸以外の軸間干渉による影響を補償すなわち排除している。
まず、軸間干渉トルクを含んだｉ軸目に加わる全トルクをτｉとし、ｉ軸目モータ角度からｊ軸目干渉トルクまでの伝達特性をＱｉｊとし、ｉ軸目に加わる全トルクからｉ軸目モータ角度までの伝達特性をＰｉとする。
【００５５】
この場合、モータ実トルクがモータトルク指令に等しいと仮定すると、（１）式に示した制御モデル（干渉制御モデル）に等価となる制御モデル（等価制御モデルに相当する）は、次の（８）式のように表される。このとき、ｉ軸目に加わる全トルク（τｉ）は、以下の（９）式のように、ｉ軸目モータトルク指令（τＭｉ）と軸間干渉トルク推定値（（９）式の右辺第２項）との和として定義する。
【００５６】
【数８】
0006645083.tif 000009
【００５７】
この（８）式を（９）式に代入することで以下の（１０）式が求まり、その（１０）式を展開することで、以下の（１１）式から（１６）式が求まる。
【００５８】
【数９】
0006645083.tif 000010
【００５９】
なお、（１３）式中のIは、単位行列を示している。
この（１６）式を（１）式と対比すると、次の（１７）式の関係が明らかになる。
【００６０】
【数１０】
0006645083.tif 000011
【００６１】
この（１７）式から、上記した（８）式および（９）式中の係数が求まる。なお、（１７）式で用いられている伝達特性（＾Ｐ１１、＾Ｐ２２、＾Ｐ１２、＾Ｐ２１）は、上記した（７）式で得られたもの、つまり、周波数試験により得られたものである。
そして、（１７）式のＰｉは、純粋に、ｉ軸目の全入力トルクから出力角度までの伝達特性を示すものとなっている。具体例で説明すると、図６に示すように、Ｐ１の周波数特性には、単一の共振のみが表れるようになっている。また、図７に示すように、Ｐ２の周波数特性にも、単一の共振のみが表れるようになっている。また、Ｑ１２およびＱ２１の周波数特性は、図８に示すようにＱ１２の場合にはＰ１およびＰ２の反共振周波数に該当する周波数の共振が表れており、図９に示すようにＱ２１の場合もＰ１およびＰ２の反共振周波数に該当する周波数の共振が表れたものとなっている。
【００６２】
つまり、（９）式で示したようにモータトルク指令に軸間干渉トルク推定値を重畳することにより、軸間干渉トルクを完全に補償した状態（τｉ＝τＭｉが達成された状態）の伝達特性を取得することができる。すなわち、軸間干渉トルクが補償された制御モデルを取得することができる。
【００６３】
具体例で説明すると、図１０に示すようにＰ１の周波数特性と＾Ｐ１１の周波数特性とを比較した場合、Ｐ１の周波数特性は、主共振以外の共振が除去されているとともに、共振周波数が約５５Ｈｚから約５０Ｈｚになり、実際の振動波形に表れている共振周波数との間の僅かな相違が解消されている。同様に、図１１に示すようにＰ２の周波数特性と＾Ｐ２２の周波数特性とを比較すると、Ｐ２の周波数特性は、主共振以外の共振が除去されている。
【００６４】
このように、モータトルク指令に、モータ実トルクとモータトルク指令とを一致させるための軸間干渉トルク推定値を重畳する形で制御モデルを定義することにより、その制御モデルは、軸間干渉が完全に補償された状態となり、軸間干渉補償と組み合わせた場合のモデルベース制御に適した制御モデルになる。
【００６５】
以上説明した実施形態によれば、次のような効果を得ることができる。
実施形態では、ロボット２のｉ軸目出力（ｙｉ）、ｉ軸目入力（ｕｉ）、およびｉ軸目入力からｊ軸目出力までの伝達特性（＾Ｐｉｊ）を用いて、入力から出力までの軸間干渉を含む制御モデルを干渉制御モデルとして定義し、ロボット２の軸数と同じ回数、且つ、試験ごとに与える周波数測定試験用の外乱入力（τＤｉ）を変化させる態様にて周波数測定試験を行い、得られたｎ回分の試験結果を干渉制御モデルに反映させることで、伝達特性（＾Ｐｉｊ）を、ｉ軸以外の軸間干渉による影響を含むとともにｉ軸目入力（ｕｉ）によって表される形で求める。
【００６６】
そして、軸間干渉トルクを含むｉ軸目に加わる全トルク（τｉ）と、ｉ軸目に加わる全トルクからｉ軸目出力までの伝達特性（Ｐｉ）とを用いて干渉制御モデルに等価となる制御モデルを等価制御モデルとして定義し、ｉ軸目入力（ｕｉ）、およびｉ軸目出力からｊ軸目干渉トルクまでの伝達特性（Ｑｉｊ）を用いて、ｉ軸目に加わる全トルク（τｉ）を、ｉ軸目入力（ｕｉ）と伝達特性（Ｑｉｊ）により表される軸間干渉トルク推定値との和として定義する。
【００６７】
続いて、等価制御モデルと周波数測定試験の試験結果を反映させた干渉制御モデルとを対比することで、等価制御モデルの係数である伝達特性（Ｐｉ）および伝達特性（Ｑｉｊ）を、伝達特性（＾Ｐｉｊ）により表される形で求め、求めた伝達特性（Ｐｉ）および伝達特性（Ｑｉｊ）を等価制御モデルに適用することで、軸間干渉トルクを補償した制御モデルを取得する。
【００６８】
より具体的には、モータトルク指令からモータ角度までの軸間干渉を含む制御モデルを干渉制御モデルとして定義し、ロボット２の軸数と同じ回数、且つ、ｎ回目の試験ではｎ軸目のみに外乱入力（τＤｉ）を与える態様にて周波数測定試験を行うことで、干渉制御モデルに用いる伝達特性（＾Ｐｉｊ）を、ｉ軸以外の軸間干渉による影響を含むとともにｉ軸目モータトルク指令（τＭｉ）によって表される形で求めることができる。
【００６９】
この時点では、求まった伝達特性（＾Ｐｉｊ）には、ｉ軸以外の軸間干渉による影響、具体的には、ｉ軸が振動したことによって別の軸が振動し、その別の軸が振動したことによってｉ軸が振動することの影響が含まれているものの、等価制御モデルを定義し、ｉ軸目に加わる全トルク（τｉ）を、モータトルク指令（τＭｉ）とｉ軸以外の軸間干渉による影響を補償するための補償値（軸間干渉トルク推定値）とに区分けし、その等価制御モデルと周波数特性試験の試験結果を反映させた干渉制御モデルとを対比することで、伝達特性（Ｐｉ）および伝達特性（Ｑｉｊ）を、周波数測定試験の試験結果が反映された伝
達特性（＾Ｐｉｊ）により表される形で求める。
【００７０】
周波数測定試験では、上記したようにｎ回目の試験ではｎ軸目のみに外乱入力（τＤｉ）を与える態様にて試験が行われているため、今回求めた伝達特性（Ｐｉ）は、純粋に、ｉ軸目の全入力トルクから出力角度までの伝達特性を示すものとなっている。換言すると、モータトルク指令（τＭｉ）に軸間干渉トルク推定値を重畳した形とすることにより、軸間干渉トルクを完全に補償した状態（τｉ＝τＭｉが達成された状態）の伝達特性を取得することができる。
【００７１】
そして、軸間干渉トルクを完全に補償した状態の伝達特性（Ｐｉ）および伝達特性（Ｑｉｊ）を等価制御モデルに適用することで、軸間干渉トルクが補償された制御モデルを取得することができる。したがって、このような制御モデル取得方法を用いることにより、加速度センサを備えていないロボット２であっても、軸間干渉の影響を補償することができ、モデルベース制御に適した制御モデルを取得することができる。
【００７２】
このとき、定義するｉ軸目モータ角度（ｙｉ）は、角度センサで測定される測定値そのものであってもよいし、角度の微分値である角速度や角加速度を測定して与えてもよい。また、モータ角度ではなく、リンク角度、角速度および角加速度の測定値や、アーム速度および加速度の測定値のいずれかによって与えてもよい。
【００７３】
また、ｉ軸目モータトルク指令（τＭｉ）は、制御指令値そのものであってもよいし、実際のモータが出力するトルクの測定値、モータ電流指令値、モータ電流測定値のうちいずれかによって与えてもよい。また、上記した制御モデル取得方法を用いて軸間干渉トルクが補償された制御モデルを取得し、取得した軸間干渉トルクが補償された制御モデルを用いてロボット２をモデルベース制御するロボット制御装置１によれば、加速度センサを備えていないロボット２であっても、軸間干渉の影響を補償することができ、モデルベース制御に適した制御モデルを取得することができる。
【００７４】
本発明は、上記し且つ図面に記載した態様に限定されるものではなく、その要旨を逸脱しない範囲で種々の変形や拡張をすることができる。
実施形態では２軸の例を説明したが、本発明は、３軸以上の多軸に拡張することができる。具体的には、軸の数をｎとすると、上記した（１）式を以下の（１８）式のように拡張することができる。なお、以下の演算は、実施形態と共通する流れで行われる。
【００７５】
【数１１】
0006645083.tif 000012
【００７６】
この（１８）式から以下の（１９）式で示される制御モデルを得ることができる。
【００７７】
【数１２】
0006645083.tif 000013
【００７８】
そして、モータ実トルクがモータトルク指令に等しいと仮定すると、（１８）式に示した制御モデルは、以下の（２０）式のように表される。このとき、ｉ軸目に加わる全トルク（τｉ）は、以下の（２１）式のように、ｉ軸目モータトルク指令（τＭｉ）と軸間干渉トルク推定値との和として定義する。
【００７９】
【数１３】
0006645083.tif 000014
【００８０】
【数１４】
0006645083.tif 000015
【００８１】
これら（２０）式および（２１）式から、以下の（２２）式が求まりこの（２２）式と（１８）式とを対比することにより、以下の（２３）式の関係が明らかになる。
【００８２】
【数１５】
0006645083.tif 000016
【００８３】
【数１６】
0006645083.tif 000017
【００８４】
この（２３）式から、上記した（１９）式および（２０）式中の係数が求まる。そしてこの（２３）式のＰｉは、純粋に、ｉ軸目の全入力トルクから出力角度までの伝達特性を示すものとなっており、実施形態と同様に、軸間干渉トルクが補償された制御モデルを取得することができる。
【００８５】
実施形態で示した数値は一例であり、これに限定されない。
実施形態ではｉ軸目入力（ｕｉ）としてｉ軸目モータトルク指令を用いたが、ｉ軸目の制御指令値（ｒｉ）、外乱入力（τＤｉ）、フィードバック伝達特性（Ｃｉ）を用いてｉ軸目入力（ｕｉ）を導出してもよい。
実施形態では２軸の場合について説明したが、３軸以上のロボットであっても、行列やベクトルの次数を増やすことにより、実施形態と同様の方法にて制御モデルを取得することができる。
【００８６】
実施形態では、加速度センサを備えていないロボット２を例示したが、モータ角度の代わりにアーム加速度を用いることで、加速度センサを備えているロボットに対しても本発明を適用することができる。
また、実施形態では、角速度センサを備えていないロボット２を例示したが、モータ角度の代わりにリンク角速度を用いることで、角速度センサを備えているロボットに対しても本発明を適用することができる。
【符号の説明】
【００８７】
図面中、１はロボット制御装置、２はロボットを示す。
【図１】
0006645083.tif 000018
【図２】
0006645083.tif 000019
【図３】
0006645083.tif 000020
【図４】
0006645083.tif 000021
【図５】
0006645083.tif 000022
【図６】
0006645083.tif 000023
【図７】
0006645083.tif 000024
【図８】
0006645083.tif 000025
【図９】
0006645083.tif 000026
【図１０】
0006645083.tif 000027
【図１１】
0006645083.tif 000028