(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0004】
前記手法では、軸毎のサーボ遅れ時間と前記基準時間とに基づく補償トルクの計算、並びに補償トルクが反映された指令値の算出が煩雑になるという問題があった。
【0005】
本発明は、前記の問題点に鑑みてなされたものであり、その目的は、複数軸(複数のサーボモータ)間の応答遅れ時間のばらつきに起因する軌跡ずれを抑制しうる制御装置を実現することにある。
【課題を解決するための手段】
【0006】
本制御装置は、複数のサーボモータに対応する複数のサーボドライバに指令を行う制御装置であって、前記複数のサーボモータのうち応答遅れ時間が最大である基準サーボモータに対応するサーボドライバを基準サーボドライバとして、他のサーボドライバへの指令タイミングを、前記基準サーボドライバへの指令タイミングよりも、前記基準サーボモータの応答遅れ時間と前記他のサーボドライバに対応するサーボモータの応答遅れ時間との差だけ遅らせることを特徴とする。
【0007】
前記構成によれば、前記複数のサーボモータの応答タイミングが揃うため、複数軸(複数のサーボモータ)間の応答遅れ時間のばらつきに起因する軌跡ずれを抑制することができる。
【0008】
本制御装置では、前記指令は、目標軌跡に基づいた位置指令である構成とすることもできる。
【0009】
本制御装置では、各サーボモータの応答遅れ時間は、対応するサーボドライバの位置ループゲインの逆数で示される構成とすることもできる。
【0010】
本制御装置では、各サーボモータの加速度変化時に、加速度に比例する量の補正が加わるように位置指令を行う構成とすることもできる。
【0011】
前記構成によれば、加速度変化時の位置偏差に起因する軌跡ずれの抑制が可能となる。
【0012】
本制御方法は、複数のサーボモータに対応する複数のサーボドライバに指令を行い、前記複数のサーボモータを応答させる制御方法であって、各サーボモータの応答遅れ時間を得る第1ステップと、応答遅れ時間を比較する第2ステップと、前記複数のサーボモータのうち応答遅れ時間が最大である基準サーボモータに対応するサーボドライバを基準サーボドライバとして、他のサーボドライバへの位置指令を、前記基準サーボドライバへの位置指令よりも、前記基準サーボモータの応答遅れ時間と前記他のサーボドライバに対応するサーボモータの応答遅れ時間との差だけ遅らせて行う第3ステップとを含むことを特徴とする。
【0013】
前記方法によれば、前記複数のサーボモータの応答タイミングが揃うため、複数軸(複数のサーボモータ)間の応答遅れ時間のばらつきに起因する軌跡ずれを抑制することができる。
【0014】
本制御方法では、前記第2ステップでは、各サーボドライバの位置ループゲインの逆数を比較してもよい。
【0015】
本制御プログラムは、前記第1〜第3ステップをプロセッサに実行させることを特徴とする。
【0016】
本記録媒体は、前記制御プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【0017】
本制御装置によれば、複数のサーボモータ間の応答遅れ時間のばらつきに起因する軌跡ずれを抑制することができる。
【発明を実施するための形態】
【0019】
本発明の実施形態を
図1〜
図11を用いて説明する。以下では
図1のような3軸(X軸、Y軸、Z軸)構成の同期グループを前提に説明するが、本実施形態の同期グループは2軸以上の構成であればよい。
【0020】
図1のような3軸構成では、例えば、制御装置からの指令を受けたX軸用サーボドライバがX軸用サーボモータを制御し、X軸用サーボモータによってワークWxがX軸方向に移動する(X軸用サーボモータの動作情報はX軸用サーボドライバにフィードバックされる)。また、制御装置からの指令を受けたY軸用サーボドライバがY軸用サーボモータを制御し、Y軸用サーボモータによってワークWyがY軸方向に移動する(Y軸用サーボモータの動作情報はY軸用サーボドライバにフィードバックされる)。また、制御装置からの指令を受けたZ軸用サーボドライバがZ軸用サーボモータを制御し、Z軸用サーボモータによってワークWzがZ軸方向に移動する(Z軸用サーボモータの動作情報はZ軸用サーボドライバにフィードバックされる)。
【0021】
〔応答遅れ時間の軸間差に起因する軌跡ずれの抑制〕
一般に、X軸用サーボドライバ、Y軸用サーボドライバおよびZ軸用サーボドライバへの指令は同期しているが、指令を受けてから対応するサーボモータが応答するまでの時間(応答遅れ時間)は軸間でばらついている。
【0022】
例えば、Y軸系では応答遅れがほとんどなく(小さく)、Z軸系で応答遅れが大きい場合、
図2のように、Y軸系では指令速度とフィードバック速度とがほぼ一致するのに対して、Z軸系では指令速度とフィードバック速度とが時間的にずれるため、コーナ軌跡においてZ軸方向の立ち上がりが遅れ、目標よりも外回りの軌跡となってしまう。
【0023】
すなわち、
図3(a)のように、X軸用サーボドライバ(以下、サーボドライバSDx)の応答遅れ時間をRx、Y軸用サーボドライバ(以下、サーボドライバSDy)の応答遅れ時間をRy、Z軸用サーボドライバ(以下、サーボドライバSDz)の応答遅れ時間をRzとし、サーボドライバSDx、サーボドライバSDyおよびサーボドライバSDzに対して時刻tに同期して位置指令が到達した場合に、サーボモータSMxの応答時刻がTx(=t+Rx)、応答遅れ時間が最小のサーボモータSMyの応答時刻がTy(=t+Ry)、応答遅れ時間最大のサーボモータSMzの応答時刻がTz(=t+Rz)となって、3つのサーボモータが時間的にばらばらに応答し、
図3(b)に示されるように目標軌跡からずれた軌跡をたどることになる。
【0024】
そこで、本実施形態では、応答遅れ時間の軸間差に起因する軌跡ずれを抑制するため、
図4(a)のように、サーボドライバSDx、サーボドライバSDyおよびサーボドライバSDzへの位置指令を時間的にずらして行う。
【0025】
具体的には、応答遅れ時間最大のサーボモータSMzを基準サーボモータとし、サーボモータSMzの応答時刻Tに同期してサーボモータSMxおよびサーボモータSMyを応答させるべく、サーボモータSMz(基準サーボモータ)を制御するサーボドライバSDz(基準サーボドライバ)への指令時刻tzに対して、サーボドライバSDxへの指令時刻txを、dx(基準サーボモータSMzとサーボモータSMxとの応答遅れ時間の差=Rz−Rx)だけ遅らせ、サーボドライバSDyへの指令時刻txを、dy(基準サーボモータSMzとサーボモータSMyとの応答遅れ時間の差=Rz−Ry)だけ遅らせる。
【0026】
例えば、ある時刻の目標位置座標が(Px,Py,Pz)であれば、サーボドライバSDxへのPxの位置指令を、サーボドライバSDzへのPzの位置指令よりもdxだけ遅らせ、サーボドライバSDyへのPyの位置指令を、サーボドライバSDzへのPzの位置指令よりもdyだけ遅らせる。これにより、
図4(b)に示されるように目標軌跡に近い軌跡とすることができる。
【0027】
〔加速度変化時の位置偏差に起因する軌跡ずれの抑制〕
前記の手法によって軸間の応答タイミングは揃うが、各軸の応答遅れ自体は存在する。このため、
図5のように、X軸用のサーボドライバへの速度指令が小⇒大となり、Y軸用のサーボドライバへの速度指令が大⇒小となる場合、X軸の位置偏差(指令位置とフィードバック位置の差)が時間的に増加する一方、Y軸の位置偏差(指令位置とフィードバック位置の差)は時間的に減少し、
図5に示されるように目標軌跡に対して内回りの軌跡をたどることがある。
【0028】
発明者は、
図6(a)のように、指令速度とフィードバック速度とが応答遅れ時間だけずれているモデルにおいては、
図6(b)のように、加速度変化時(プラス方向の変化とマイナス方向の変化を含む)の位置偏差に起因する軌跡ずれに対して、網掛け部分の補正を行うことが有効であることを見出した。具体的には、網掛け部分の面積にあたる、(1/2)×応答遅れ時間の2乗×加速度(予測加速度)に該当する量だけ、指令位置の補正を行う。
【0029】
こうすれば、
図7(a)のように折り返し軌跡であって、フィードバック位置が折り返し点に到達していなかった場合でも、前記の指令位置の補正によって、
図7(b)のようにフィードバック位置が折り返し点に到達するようになる。
【0030】
〔制御装置のプロセッサの機能モジュール〕
本実施形態にかかる制御装置は、
図8のような機能モジュールをもつプロセッサを備える。プロセッサが備える機能モジュールは、予測同期計算部、指令位置生成部、X軸位置補正部、Y軸位置補正部、Z軸位置補正部、X軸指令部、Y軸指令部、およびZ軸指令部である。
【0031】
予測同期計算部は、サーボドライバSDx、サーボドライバSDy、およびサーボドライバSDzからサーボパラメータを読み見出し、X軸応答遅れ時間、Y軸応答遅れ時間、Z軸応答遅れ時間、および基準応答遅れ時間を含む予測位置同期補正パラメータを算出する。
【0032】
ここでは、X軸応答遅れ時間(
図3・
図4のRx)は、サーボドライバSDxのサーボパラメータの1つである位置ループゲインの逆数とし、Y軸応答遅れ時間(
図3・
図4のRy)は、サーボドライバSDyのサーボパラメータの1つである位置ループゲインの逆数とし、Z軸応答遅れ時間(
図3・
図4のRz)は、サーボドライバSDzのサーボパラメータの1つである位置ループゲインの逆数とし、基準応答遅れ時間を、Rx、Ry、およびRzの最大値とする。
【0033】
指令位置生成部は、目標軌跡に基づいて、X軸指令位置、Y軸指令位置、およびZ軸指令位置を生成し、X軸指令位置をX軸位置補正部に入力し、Y軸指令位置をY軸位置補正部に入力し、Z軸指令位置をZ軸位置補正部に入力する。
【0034】
X軸位置補正部は、予測位置同期補正パラメータに基づいて、X軸指令位置の補正(応答遅れ時間の軸間差に関する補正、および加速度変化により生じる位置偏差に関する補正)を行い、X軸指令部は、補正後のX軸指令位置に基づいてサーボドライバSDxへの位置指令を行う。
【0035】
Y軸位置補正部は、予測位置同期補正パラメータに基づいて、Y軸指令位置の補正(応答遅れ時間の軸間差に関する補正、および加速度変化により生じる位置偏差に関する補正)を行い、Y軸指令部は、補正後のY軸指令位置に基づいてサーボドライバSDyへの位置指令を行う。
【0036】
Z軸位置補正部は、予測位置同期補正パラメータに基づいて、Z軸指令位置の補正(応答遅れ時間の軸間差に関する補正、および加速度変化により生じる位置偏差に関する補正)を行い、Z軸指令部は、補正後のZ軸指令位置に基づいてサーボドライバSDzへの位置指令を行う。
【0037】
図9に示すように、サーボドライバSDxは、制御装置からの位置指令を受けるX軸位置制御部と、X軸位置制御部からの出力を受けるX軸速度制御部と、X軸速度制御部からの出力を受けるX軸電流制御部(X軸トルク制御部)とを含み、X軸電流制御部の出力によってサーボモータSMxの回転部が駆動し、サーボモータSMxのエンコーダの出力が、X軸位置制御部、X軸速度制御部、およびX軸電流制御部にフィードバックされる。X軸位置制御部は制御装置に位置ループゲインを出力し、X軸速度制御部は制御装置に速度ループゲインを出力する。
【0038】
また、サーボドライバSDyは、制御装置からの位置指令を受けるY軸位置制御部と、Y軸位置制御部からの出力を受けるY軸速度制御部と、Y軸速度制御部からの出力を受けるY軸電流制御部(Y軸トルク制御部)とを含み、Y軸電流制御部の出力によってサーボモータSMyの回転部が駆動し、サーボモータSMyのエンコーダの出力が、Y軸位置制御部、Y軸速度制御部、およびY軸電流制御部にフィードバックされる。Y軸位置制御部は制御装置に位置ループゲインを出力し、Y軸速度制御部は制御装置に速度ループゲインを出力する。
【0039】
また、サーボドライバSDzは、制御装置からの位置指令を受けるZ軸位置制御部と、Z軸位置制御部からの出力を受けるZ軸速度制御部と、Z軸速度制御部からの出力を受けるZ軸電流制御部(Z軸トルク制御部)とを含み、Z軸電流制御部の出力によってサーボモータSMzの回転部が駆動し、サーボモータSMzのエンコーダの出力が、Z軸位置制御部、Z軸速度制御部、およびZ軸電流制御部にフィードバックされる。Z軸位置制御部は制御装置に位置ループゲインを出力し、Z軸速度制御部は制御装置に速度ループゲインを出力する。
【0040】
制御装置のプロセッサは、例えば、本実施形態にかかる制御プログラムを実行することで、
図10のステップS1〜S8を実行する。
【0041】
すなわち、ステップS1で、(あらかじめ設定された同期グループの)各軸の位置ループゲインをサーボドライバから取得し、ステップS2で、各軸の応答遅れ時間を算出し、ステップS3で各軸の応答遅れ時間を互いに比較し、ステップS4で、応答遅れ時間のうち、最大応答遅れ時間を算出し、ステップS5で、各軸応答遅れ時間と最大応答遅れ時間との差分を算出し、ステップS6で、指令位置に対し、各軸につき算出された差分だけ遅らせる補正を行い、ステップS7で、ステップS6の結果に対して、加速度変化により生じる位置偏差に関する補正、具体的には、加速度に比例して生じる位置偏差の補正を行い、ステップS8で、ステップS7で得られた補正後の指令位置に基づいて対応するサーボドライバに位置指令を行う。
【0042】
前述のように、応答遅れ時間の軸間差に関する補正、および加速度変化時の位置偏差に関する補正を行うことで、
図11のように目標軌跡に対するずれが抑制されることがわかる。
【0043】
〔位置補正部における処理例〕
図8のX軸補正部や
図10のステップS7では、応答遅れ時間の軸間差に関する補正が下記式Axの第1項によって実現され、および加速度変化時の位置偏差に関する補正が下記式Axの第2項によって実現可能である。
【0044】
Xcp(t)=X(t−(Rs−Rx))−(1/2)×Rx
2×Ax・・・式1
X(t):目標位置(目標軌跡)
Xcp(t):サーボドライバSDxに与える指令位置
Rx:X軸の応答遅れ時間(逆数がその位置ループゲイン)
Ax:X軸の加速度(予測加速度)
td:通信遅れ時間(軸間で共通)
Rs:基準応答遅れ時間(Rx、Ry、Rzの最大値)
この式1によって、式2の効果を得ることができる。
Xpp(t)=X(t−(Rs+td))≒Xap(t)・・・式2
Xpp(t):予測位置
Xap(t):Xcp(t)を与えたときの実位置(フィードバック位置)
ここでは、式1第2項の加速度Axとして、(d
2x/dt
2)(t−(Rs−Rx))で求められる結果に、位置ループゲインの逆数Rxを一次遅れ時定数とする一次遅れ演算を行い、さらに、1/(2π×速度ループゲイン)を一次遅れ時定数とする一次遅れ演算を行った結果を加速度Axとして使用する。
【0045】
また、
図8のY軸補正部や
図10のステップS7では、応答遅れ時間の軸間差に関する補正が下記式3の第1項によって実現され、および加速度変化時の位置偏差に関する補正が下記式3の第2項によって実現可能である。
【0046】
Ycp(t)=Y(t−(Rs−Ry))−1/2×Ry
2×Ay・・・式3
Y(t):目標位置(目標軌跡)
Ycp(t):サーボドライバSDyに与える指令位置
Ry:Y軸の応答遅れ時間(逆数がその位置ループゲイン)
Ay:Y軸の加速度(予測加速度)
td:通信遅れ時間(軸間で共通)
Rs:基準応答遅れ時間(Rx、Ry、Rzの最大値)
この式3によって、式4の効果を得ることができる。
Ypp(t)=Y(t−(Rs+td))≒Yap(t)・・・式4
Ypp(t):予測位置
Yap(t):Ycp(t)を与えたときの実位置(フィードバック位置)
ここでは、式3第2項の加速度Ayとして、(d
2y/dt
2)(t−(Rs−Ry))で求められる結果に、位置ループゲインの逆数Ryを一次遅れ時定数とする一次遅れ演算を行い、さらに、1/(2π×速度ループゲイン)を一次遅れ時定数とする一次遅れ演算を行った結果を加速度Ayとして使用する。
【0047】
また、
図8のZ軸補正部や
図10のステップS7では、応答遅れ時間の軸間差に関する補正が下記式5の第1項によって実現され、および加速度変化時の位置偏差に関する補正が下記式5の第2項によって実現可能である。
【0048】
Zcp(t)=Z(t−(Rs−Rz))−1/2×Rz
2×Az・・・式5
Z(t):目標位置(目標軌跡)
Zcp(t):サーボドライバSDzに与える指令位置
Rz:Z軸の応答遅れ時間(逆数がその位置ループゲイン)
Az:Z軸の加速度(予測加速度)
td:通信遅れ時間(軸間で共通)
Rs:基準応答遅れ時間(Rx、Ry、Rzの最大値)
この式5によって、式6の効果を得ることができる。
Zpp(t)=Z(t−(Rs+td))≒Zap(t)・・・式6
Zpp(t):予測位置
Zap(t):Zcp(t)を与えたときの実位置(フィードバック位置)
ここでは、式5第2項の加速度Azとして、(d
2z/dt
2)(t−(Rs−Rz))で求められる結果に、位置ループゲインの逆数Rzを一次遅れ時定数とする一次遅れ演算を行い、さらに、1/(2π×速度ループゲイン)を一次遅れ時定数とする一次遅れ演算を行った結果を加速度Azとして使用する。
【0049】
〔ソフトウェアによる実現例〕
制御装置の各機能モジュールは、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよいし、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよい。
【0050】
前者の場合、制御装置は、各機能を実現するソフトウェアである制御プログラムの命令を実行するCPU、制御プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、制御プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が制御プログラムを記録媒体から読み取って実行することにより、本実施形態の目的が達成される。記録媒体としては、「一時的でない有形の媒体」、例えば、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、制御プログラムは、これを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介してコンピュータに供給されてもよい。なお、本実施形態は、制御プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0051】
本発明は上記の実施の形態に限定されるものではなく、上記実施の形態を技術常識に基づいて適宜変更したものやそれらを組み合わせて得られるものも本発明の実施の形態に含まれる。