(57)【要約】【課題】速度変動があっても、学習制御を有効に適用できるサーボモータ駆動制御装置を得る。【解決手段】パターン周期で繰り返し指令されて加工するときの学習制御である。時間・位置変換手段１２でサンプリング時に求められる位置偏差εとサーボモータ７の駆動と同期して出力される参照位置Θより、該参照位置Θにおける所定位置の位置偏差を求める。該位置偏差とメモリ手段１５に記憶する対応する補正データを加算しフィルタ処理（１４）して前記位置に対応する補正データを更新する。メモリ手段１５に記憶する位置に対応する補正データと前記検出参照位置により、位置・時間変換手段１６で当該サンプリング時の補正データを求める。この補正データを動特性補償処理して補正量を求め位置偏差に加算する。位置に応じて補正するから速度変動しても位置偏差を小さくできる。【選択図】      図１
2004280772.tif 000002
【特許請求の範囲】
【請求項１】
周期的に動作する被駆動体をサーボモータで駆動制御する制御装置であって、
前記被駆動体の位置を検出する位置検出器と、
サーボモータに与える位置指令と前記位置検出器からフィードバックされた前記被駆動体の位置との偏差をサンプリング周期毎に取得する手段と、
前記位置偏差を前記被駆動体の駆動と同期して出力される参照位置における所定位置での位置偏差に変換する第１の変換手段と、
第１の変換手段で求められた前記所定位置での位置偏差より該所定位置での補正データを求める補正データ算出手段と、
該補正データ算出手段で求めた補正データを少なくとも１周期分記憶する記憶手段と、
該記憶手段に記憶された前記所定位置に対応する補正データから前記サンプリング周期毎の補正データに変換する第２の変換手段とを備え、
前記位置偏差と第２の変換手段で求めた補正データに基づいて前記被駆動体を位置制御することを特徴とするサーボモータ駆動制御装置。
【請求項２】
前記補正データ算出手段は、前記所定位置での位置偏差と前記記憶手段に記憶された１周期前の前記所定位置での補正データとを加算する加算手段と、該加算手段で加算された位置偏差をフィルタリングして新たな補正データを求め前記記憶手段に出力するフィルタ手段とを具備することを特徴とする請求項１に記載のサーボモータ駆動制御装置。
【請求項３】
周期的に動作する被駆動体をサーボモータで少なくとも位置ループ制御を行って駆動制御する制御装置であって、
前記被駆動体の駆動と同期して出力される参照位置での所定位置に対する補正データを１周期分記憶する記憶手段と、
前記記憶手段に記憶された所定位置に対応する補正データよりサンプリング時間毎の補正データを求める第２の変換手段と、
該第２の変換手段で求められた補正データより補正量を求めて前記位置偏差を補正する手段と、
サンプリング時間毎に検出される位置偏差と前記第２の変換手段で求められた補正データを加算する加算手段と、
加算結果をフィルタリングしてサンプリング時間毎の更新された補正データを求めるフィルタ手段と、
該フィルタ手段から出力されたサンプリング時間毎の補正データより前記所定位置毎の補正データを求め前記記憶手段に出力する第１の変換手段と、
を備えたことを特徴とするサーボモータ駆動制御装置。
【請求項４】
前記第１の変換手段は、サンプリング時間毎に検出される位置偏差と前記参照位置より前記所定位置での位置偏差を得ることを特徴とする請求項１又は請求項２に記載のサーボモータ駆動制御装置。
【請求項５】
前記第１の変換手段は、サンプリング時間毎に求められた補正データからそれぞれ対応する前記所定位置での補正データを得ることを特徴とする請求項３に記載のサーボモータ駆動制御装置。
【請求項６】
前記参照位置は、前記被駆動体若しくは前記他の被駆動体に与えられる指令位置、又は前記被駆動体若しくは前記他の被駆動体の検出位置のいずれかであることを特徴とする請求項１乃至請求項５に記載のサーボモータ駆動制御装置。
【請求項７】
前記第２の変換手段は、サンプリング時間の参照位置と前記記憶手段に記憶する前記所定位置での補正データに基づいてサンプリング時間の補正データを求める請求項１乃至６の内いずれか１項に記載のサーボモータ駆動制御装置。
【請求項８】
速度指令又は速度フィードバック信号の極性を判定する極性判定部を備え、前記記憶手段は、速度指令の極性に応じてそれぞれの補正データを記憶する２つの記憶部を有し、前記極性判定部で判別された速度指令の極性に応じて２つの記憶部のいずれかに切り換えることを特徴とする請求項１乃至７の内いずれか１項に記載のサーボモータ駆動制御装置。
【請求項９】
前記記憶手段に記憶する補正データに対する前記所定位置は、外部から基準信号が入力されたときの前記参照位置を零位置として前記各所定位置が決められる請求項１乃至８の内いずれか１項に記載のサーボモータ駆動制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、数値制御装置等の制御装置によって、駆動制御される工作機械や産業機械等におけるサーボモータの駆動制御装置に関する。特に、所定一定パターンの位置指令によって同一形状を繰り返し加工する等の同一動作パターンを繰り返し行う際に用いられる学習制御に関する。
【０００２】
【従来の技術】
同一パターンの指令が繰り返し指令されて加工等を行う場合、制御偏差を零近くまで収束させて加工精度を向上させる方法として学習制御が知られている。この学習制御は、ワーク１回転等のパターン動作の時間を学習の周期として、ワークを複数回回転させて所定制御周期毎に位置偏差を求め、該位置偏差に基づいて補正データをメモリに記憶しておき、当該パターン周期の各制御周期の位置偏差に、メモリに記憶する１つ前のパターン周期における対応する制御周期の補正データを加算することによって、位置偏差を零に収束させようとするものである（例えば、特許文献１、特許文献２参照）。
【０００３】
また、回転軸に取り付けたワークに対して、直線移動軸に取り付けられた工具に、回転軸に同期して周期的に繰り返される位置指令によってワークを加工するようなとき、所定サンプリング周期毎に回転軸の位置に対応する直線移動軸位置をテーブルより求め、直線移動軸の位置指令とすると共に、この直線移動軸の位置偏差により１繰り返し周期分の補正データを求め記憶しておき、サンプリング時の位置偏差に対応する１繰り返し周期前の補正データを加算して、位置指令とする繰り返し制御による直線移動軸の制御方法も知られている（特許文献３参照）。
【０００４】
【特許文献１】
特開平４−３６２７０２号公報
【特許文献２】
特開平６−３０９０２１号公報
【特許文献３】
特許第２７５７２６９号公報
【０００５】
【発明が解決しようとする課題】
上述した特許文献１，２に記載された発明においては、学習制御の１周期の補正データが１周期内のサンプリング時に対応して記憶されているものであることから、指令速度が変化すると、学習の周期が変化するため、すでに学習制御により、得られた補正データは使用できなくなり、再度補正データを作成する必要がでてくる。又、指令速度が変化し、その変化に周期性がない場合には、学習制御により得られる補正データは時間の関数として得られているものであるから、前回のパターン周期で得られた補正データは当該パターン周期における各制御周期における補正データに対応しなくなり、使用できないものとなる。
【０００６】
同一パターン周期で指令される指令は位置の指令であり、位置に対応したパターンの指令である。しかし、学習制御で１パターン周期分の補正データを記憶するメモリには、位置・速度制御周期等の所定制御周期毎の補正データが１パターン周期分記憶されるものであり、１つ前のパターン周期で記憶した各制御周期毎の補正データの一番旧いデータ、すなわち、１パターン周期前の補正データに基づく補正量が位置偏差に加算されるものであるが、モータ速度が変動していることから、この位置偏差に加算される１パターン周期前の補正データは、ワーク等の被駆動体の位置と対応しないものとなる。その結果、位置偏差は零に収束しないものとなる。
また上述した特許文献３に記載された発明のように、同期して駆動される回転軸と直線移動軸において、回転軸の位置に応じて直線移動軸に対する補正データを繰り返し周期の１周期分記憶しておき、サンプリング時の位置偏差に補正データを補正して直線移動軸の位置偏差を小さくする方法では、回転軸の位置によって補正データが記憶されているものであるから、速度が変わっても、繰り返し制御は有効に作用し位置偏差を小さくすることができる。しかし、この特許文献３に記載された発明では、回転軸のフィードバック位置より直線移動軸の位置を求める変換テーブルを必要とし、１パターン周期のパターンが変わったときなどは、この変換テーブルを作成し直す必要があり、各種パターンの加工等に適用することが難しい。
【０００７】
そこで、本発明の目的は、速度変動があっても、学習制御を有効に適用でき、また、同期するための位置信号に基づいて学習制御を適用でき、位置偏差を小さくできるサーボモータ駆動制御装置を提供することにある。
【０００８】
【課題を解決するための手段】
本願請求項１に係わる発明は、周期的に動作する被駆動体をサーボモータで駆動制御する制御装置であって、前記被駆動体の位置を検出する位置検出器と、サーボモータに与える位置指令と、前記位置検出器からフィードバックされた前記被駆動体の位置との偏差をサンプリング周期毎に取得する手段と、前記位置偏差を前記被駆動体の駆動と同期して出力される参照位置における所定位置での位置偏差に変換する第１の変換手段と、第１の変換手段で求められた前記所定位置での位置偏差より該所定位置での補正データを求める補正データ算出手段と、該補正データ算出手段で求めた補正データを少なくとも１周期分記憶する記憶手段と、該記憶手段に記憶された前記所定位置に対応する補正データから前記サンプリング周期毎の補正データに変換する第２の変換手段とを備え、前記位置偏差と第２の変換手段で求めた補正データに基づいて前記被駆動体を位置制御することによって、位置偏差を小さい値に保持できるようにした。
【０００９】
また、請求項２に係わる発明は、前記補正データ算出手段を、前記所定位置での位置偏差と前記記憶手段に記憶された１周期前の前記所定位置での補正データとを加算する加算手段と、該加算手段で加算された位置偏差をフィルタリングして新たな補正データを求め前記記憶手段に出力するフィルタ手段で構成するようにした。
【００１０】
請求項３に係わる発明は、周期的に動作する被駆動体をサーボモータで少なくとも位置ループ制御を行って駆動制御する制御装置であって、前記被駆動体の駆動と同期して出力される参照位置での所定位置に対する補正データを１周期分記憶する記憶手段と、前記記憶手段に記憶された所定位置に対応する補正データよりサンプリング時間毎の補正データを求める第２の変換手段と、該第２の変換手段で求められた補正データより補正量を求めて前記位置偏差を補正する手段と、サンプリング時間毎に検出される位置偏差と前記第２の変換手段で求められた補正データを加算する加算手段と、加算結果をフィルタリングしてサンプリング時間毎の更新された補正データを求めるフィルタ手段と、該フィルタ手段から出力されたサンプリング時間毎の補正データより前記所定位置毎の補正データを求め前記記憶手段に出力する第１の変換手段とを設け、同様に速度変動があっても位置偏差を小さく保持できるようにした。
【００１１】
また、請求項４に係わる発明は、請求項１又は請求項２に係わる発明において、前記第１の変換手段を、サンプリング時間毎に検出される位置偏差と前記参照位置より前記所定位置での位置偏差を得るものとした。また、請求項５に係わる発明は、請求項３に係わる発明において、前記第１の変換手段を、サンプリング時間毎に求められた補正データからそれぞれ対応する前記所定位置での補正データを得るものとした。
【００１２】
また、請求項６に係わる発明は、前記参照位置を、前記被駆動体若しくは前記他の被駆動体に与えられる指令位置、又は前記被駆動体若しくは前記他の被駆動体の検出位置とした。また、請求項７に係わる発明は、前記第２の変換手段を、サンプリング時間の参照位置と前記記憶手段に記憶する前記所定位置での補正データに基づいてサンプリング時間の補正データを求めるものとした。請求項８に係わる発明は、速度指令又は速度フィードバック信号の極性を判定する極性判定部を設けると共に前記記憶手段に速度指令の極性に応じてそれぞれの補正データを記憶する２つの記憶部を設け、前記極性判定部で判別された速度指令の極性に応じて２つの記憶部のいずれかに切り換えて使用するようにした。さらに、請求項９に係わる発明は、前記記憶手段に記憶する補正データに対する前記所定位置を、外部から基準信号が入力されたときの前記参照位置を零位置として決めるようにした。
【００１３】
【発明の実施の形態】
図１は、本発明の一実施形態の要部ブロック図である。数値制御装置等の上位制御装置から出力された位置指令Ｐｃからサーボモータ７に取り付けられて該サーボモータの位置（該サーボモータの位置により該サーボモータで駆動される被駆動体の位置）を検出する位置検出器８からの位置フィードバックＰｆを演算器１で減じて位置偏差εを求め、該位置偏差εに後述する学習制御手段１０からの補正量を演算器２で加算して補正し、この補正された位置偏差にポジションゲイン３を乗じて速度指令を求める。いわゆる位置ループ制御処理を行い速度指令を求める。この速度指令に対して、速度制御器４により、速度ループ制御処理を行い（サーボモータ又は被駆動体の速度を検出する図示していない速度検出器からのフィードバックされる速度と速度指令との差である速度偏差を求め比例積分制御等の速度ループ制御を行う）、電流指令を求める。この電流指令と図示していない電流検出器からフィードバックされる電流フィードバック量より電流制御器５で電流ループ制御処理して電流増幅器６を介してサーボモータ７を駆動制御する。
上述した構成及び作用は、演算器２で位置偏差に学習制御手段１０からの補正量を加算する点を除いて、従来の、サーボ制御装置と同一である。
【００１４】
本発明の実施形態においては、学習制御手段１０がこのサーボ制御装置に付加され、しかも、この学習制御手段１０は、補正量が位置偏差に補正される点において特徴を有するものである。
【００１５】
学習制御手段１０は、上位制御装置等からの基準信号でオンするスイッチ１１と、所定サンプリング周期毎（位置、速度ループ処理周期毎）の前記位置偏差εを参照位置Θにおける所定位置θ（ｎ）に対する位置偏差に変換する時間・位置変換手段１２と、該時間・位置変換手段（第１の変換手段）１２で求められた所定位置θ（ｎ）における位置偏差とメモリ手段１５に記憶する対応する１パターン周期前の所定位置θ（ｎ）における補正データを加算する加算器１３と、加算器１３の出力をフィルタ処理して補正データを求めるフィルタ手段（例えばＦＩＲ型のローパスフィルタ）１４と、各所定位置の補正データを記憶するメモリ手段１５と、該メモリ手段１５の各所定位置θ（ｎ）に対応するメモリ部から読み出された補正データを位置ベースに対応するものから時間ベースに対応する補正データに変換する位置・時間変換手段（第２の変換手段）１６と、該時間に対する補正データに対して制御対象の位相遅れとゲイン低下分を補償して演算器２に出力する動特性補償要素１７より構成されている。
【００１６】
参照位置Θは、このサーボモータ７で駆動制御される被駆動体と同期する基準となる位置である。このサーボモータ７に指令される位置指令Ｐｃ、又は位置検出器８からのフィードバック位置Ｐｆ、さらには、このサーボモータ７で駆動される被駆動体と同期して駆動される別の被駆動体を駆動するサーボモータへの位置指令やそのフィードバック位置でもよい。また、数値制御装置等の上位制御装置から出力される基準となる１パターン周期の位置でもよいもので、このサーボモータ７で駆動される被駆動体の１パターン周期における動作と同期した位置の信号で構成されるものであればよい。
【００１７】
メモリ手段１５には、繰り返し指令されて加工形状等のこの動作の１パターン周期を分割し、所定移動距離毎の参照位置Θ（ｎ）における所定位置θ（ｎ）の補正データを記憶するメモリ部を少なくとも備えている。１パターン周期を２πとして分割幅をｄとすると少なくとも（２π／ｄ）個のメモリ部を備えている。例えば、（２π／ｄ）＝ｑとすれば、パターンにおける参照位置Θにおける位置θ（０）＝０＝２πから位置θ（ｑ−１）＝２π−ｄまでの各位置θ（ｎ）における補正データを記憶するメモリ部を備えている。以下、このθ（０）＝０＝２π〜位置θ（ｑ−１）までのメモリ手段１５に補正データが記憶される各位置をグリッド位置という。
【００１８】
なお、メモリ手段１５には、１パターン動作（サーボモータ７）の正回転時に対応した補正データを記憶するメモリと逆回転における補正データを記憶するメモリを備え、正・逆回転判定手段２０によって、速度制御器４に入力される速度指令又は図示しないが速度フィードバック信号の極性より、サーボモータ７の回転方向を検出して自動的に正回転方向に対するメモリか、逆回転方向に対するメモリかを選択するようにしている。
【００１９】
時間・位置変換手段１２は、基準信号によってスイッチ１１がオンしたとき、入力される参照位置Θを繰り返し制御におけるパターン周期の原点位置（原点グリッド位置）とし該位置をθ（０）とする。以下参照位置Θとして入力される位置よりパターン周期における位置θ（ｎ）を求める。さらに、位置偏差εは所定サンプリング周期（位置・速度ループ処理周期）毎求められ、時間の関数として求められ、被駆動体の位置やサーボモータの回転位置に対応して求められるものではない。そこで、時間・位置変換手段１２で、サンプリング周期で求めた位置偏差εを参照位置Θに基づいて、該参照位置Θにおける予め決められているグリッド位置θ（ｎ）における位置偏差に変換する。そして、加算器１３で該グリッド位置θ（ｎ）における位置偏差とメモリ手段１５に記憶する該グリッド位置θ（ｎ）に対応する補正データδ（ｎ）を加算してフィルタ手段１４でフィルタ処理して当該グリッド位置θ（ｎ）の更新補正データδ（ｎ）を求め、該グリッド位置θ（ｎ）に記憶する補正データを更新する。
【００２０】
又、位置・時間変換手段１６は、サンプリング周期毎（位置、速度ループ処理周期毎）に、そのサンプリング周期で求めた参照位置Θに基づいて、該参照位置Θの前後のグリッド位置θ（ｍ），θ（ｍ＋１）における補正データδ（ｍ），δ（ｍ＋１）より当該サンプリング時の参照位置Θにおける補正データδ（ｎ）を求める。この補正データは当該サンプリング時の補正データを意味し時間をベースとした補正データとなる。こうして求めた補正データを従来と同様に動特性補償要素１７により位相遅れ、ゲインの低下を補償して補正量を求め演算器２に出力し、位置偏差εにこの補正量を加算し、ポジションゲイン３を乗じて速度指令を求めることになる。
【００２１】
参照位置Θは、被駆動体及びサーボモータ７の駆動と同期して出力されるものであるから、参照位置Θと被駆動体及びサーボモータ７の位置は１体１の対応関係にあり、１パターン周期前の参照位置は、被駆動体及びサーボモータ７の位置に対応し、そのときの位置偏差等で構成される補正データが当該サンプリング時の位置偏差に加算されることは、１パターン周期前の位置偏差等で構成される補正データが加算されることを意味する。
【００２２】
図２は、時間・位置変換手段１２によるサンプリング時に得られた位置偏差εを参照位置Θの各グリッド位置θ（ｎ）における位置偏差に変換する処理の説明図である。横軸は時間（サンプリング時間）、縦軸の上方向は、参照位置Θを示す。又、縦軸の下方向は、位置偏差εを表す。
前サンプリング周期ｔ（ｎ−１）で求められた位置偏差がε（ｎ−１）、参照位置ΘがΘ（ｎ−１）であったとする。当該サンプリング時ｔ（ｎ）において求められた位置偏差がε（ｎ）、参照位置ΘがΘ（ｎ）とする。前サンプリング周期と今回のサンプリング周期における参照位置Θ（ｎ−１）とΘ（ｎ）の間のグリッド位置を求める。例えば図２に示すようにグリッド位置θ（ｃ）がこの位置Θ（ｎ−１）とΘ（ｎ）の間に存在するものとする。
【００２３】
又、サンプリング時ｔ（ｎ−１），ｔ（ｎ）において、検出された位置偏差がε（ｎ−１），ε（ｎ）であると、参照位置Θ（ｎ−１）とΘ（ｎ）の間で位置偏差が直線的に変化しているものと近似して、参照位置がΘ（ｎ−１）とΘ（ｎ）間のグリッド位置θ（ｃ）での位置偏差ε（ｃ）は、次の１式で示すように、内挿補間することによって、求めることができる。
【００２４】
ε（ｃ）＝ε（ｎ−１）＋｛（θ（ｃ）−Θ（ｎ−１）｝・｛ε（ｎ）−ε（ｎ−１）｝／｛Θ（ｎ）−Θ（ｎ−１）｝…（１）
こうして求めたグリッド位置θ（ｃ）の位置偏差ε（ｃ）とメモリ手段１５のグリッド位置θ（ｃ）に対応して記憶する補正データδ（ｃ）を加算器１３で加算し、その後、フィルタ手段１４の処理をして新たなグリッド位置θ（ｃ）に対応する補正データδ（ｃ）を求め、メモリ手段１５のグリッド位置θ（ｃ）に対応するメモリ部に格納し更新する。なお、参照位置Θ（ｎ−１）とΘ（ｎ）（＝θ（ｎ））間にグリッド位置がない場合には、メモリ手段の補正データの更新は行われない。又、この参照位置Θ（ｎ−１）とΘ（ｎ）間に複数のグリッド位置が存在する場合には、この複数のグリッド位置に対する補正データの更新がそれぞれなされる。
【００２５】
図３は、位置・時間変換手段１６によるサンプリング時に得られた参照位置Θより該サンプリング時の補正データδ（ｎ）を求める処理の説明図である。
当該サンプリング時に得られた参照位置がΘ（ｎ）であるとすると、該位置Θ（ｎ）の前後のグリッド位置θ（ｍ），θ（ｍ＋１）に対応してメモリ手段１５に記憶する補正データがδ（ｍ），δ（ｍ＋１）であったとする。そして、グリッド位置θ（ｍ）からθ（ｍ＋１）まで補正データは直線的に変化するものと近似すると、当該サンプリング時のパターン周期における参照位置Θ（ｎ）に対応する補正データδ（ｎ）は次の２式による補間処理によって得られる。
【００２６】
δ（ｎ）＝δ（ｍ）＋｛Θ（ｎ）−θ（ｍ）｝・｛δ（ｍ＋１）−δ（ｍ）｝／｛θ（ｍ＋１）−θ（ｍ）｝…・・（２）
こうして得られた補正データδ（ｎ）は、当該サンプリング時の参照位置Θ（ｎ）に対応し、サーボモータ７への指令位置Ｐｃにも対応するものであるから、当該サンプリング時における補正データとして用いることができ、前述したように動特性補償処理をして補正量を求め当該サンプリング周期の位置偏差に加算することになる。
なお、各サンプリング時においては、位置・時間変換手段１６の処理を先に実行し、その後、時間・位置変換手段１２の処理を実行し、メモリ手段１５に記憶する補正データの更新を行うようにする。
【００２７】
図４は、参照位置Θを当該サーボモータ７に取り付けられた位置検出器８からのフィードバック位置Ｐｆとしたときの実施形態の要部ブロック図である。サーボ制御系に学習制御手段１０が取り付けられたサーボモータ７のフィードバック位置Ｐｆを参照位置Θとするものであり、１パターン周期前の位置偏差等で構成される補正データに基づく補正量を当該サンプリング周期における位置偏差に加算されて該サーボモータ７が制御されるものである。なお、学習制御手段１０の構成は図１で示した構成と同じである。
また、図５は、参照位置Θを当該サーボモータ７への位置指令Ｐｃとしたものである。他の構成は図１と同一である。
【００２８】
図６は、サーボモータ７で駆動される被駆動体と同期して駆動される他の被駆動体の位置を参照位置Θとするものである。この図６に示す例では、他の被駆動体を駆動するサーボモータ７’への位置指令Ｐｃ’を参照位置Θとして学習制御手段１０に入力している。なお、この他の被駆動体を駆動するサーボモータ７’の制御系はサーボモータ７の制御系と同一であり、説明を省略する。
【００２９】
図７は、サーボモータ７で駆動される被駆動体と同期して駆動される他の被駆動体のフィードバック位置（サーボモータ７’に取り付けられた位置検出器８’からのフィードバック位置）Ｐｆ’を参照位置Θとするものである。
【００３０】
図８は、位置・速度ループ処理等を行うサーボ制御装置のプロセッサ、もしくは学習制御手段独自に設けたプロセッサが所定サンプリング周期（位置・速度ループ処理周期）毎実施する学習制御処理のフローチャートである。
【００３１】
まず、数値制御装置等の上位制御装置が出力される位置指令Ｐｃ（ｎ）を取り込むと共に、位置検出器８からフィードバックされてくる実際の位置Ｐｆ（ｎ）及び参照位置Θ（ｎ）を読み取る（ステップ１００〜１０２）。参照位置Θ（ｎ）が、図４や図５に示すような、フィードバック位置Ｐｆ（ｎ）や位置指令Ｐｃ（ｎ）であれば、参照位置Θ（ｎ）＝Ｐｆ（ｎ）、又はΘ（ｎ）＝Ｐｃ（ｎ）となるからステップ１０２の処理は省略される。また、図６，図７の形態のように他の被駆動体への位置指令Ｐｃ’やフィードバック位置Ｐｆ’を参照位置Θとするときは、これらの位置が読み出されることになる。
【００３２】
次に、指令位置Ｐｃ（ｎ）からフィードバックされた実位置Ｐｆ（ｎ）を減じて位置偏差ε（ｎ）を求める（ステップ１０３）。そして、前述したように、読み取った参照位置Θ（ｎ）の前後のグリッド位置θ（ｍ），θ（ｍ＋１）を求め、該グリッド位置θ（ｍ），θ（ｍ＋１）に対応してメモリ手段１５に記憶する補正データδ（ｍ），δ（ｍ＋１）を求め前述した２式の演算によって、参照位置Θ（ｎ）、すなわち当該サンプリング周期時における補正データδ（ｎ）を求める（ステップ１０４）。
【００３３】
この補正データδ（ｎ）に対して動特性補償処理をして補正量を求める（ステップ１０５）。求めた補正量をステップ１０３で求めた位置偏差ε（ｎ）に加算する（ステップ１０６）。この補正量が加算された位置偏差にポジションゲインが乗じられて速度指令が求められ、さらには速度ループ処理がなされるが、この点は従来と同様であることから図８では省略している。
【００３４】
一方、ステップ１０１で求めた参照位置Θ（ｎ）と１つ前のサンプリング周期で求めた参照位置Θ（ｎ−１）の間のグリッド位置θ（ｃ）を求め、参照位置Θ（ｎ−１）、Θ（ｎ）と共に求めた各サンプリング時の位置偏差ε（ｎ），ε（ｎ−１）により、前述した１式の演算処理を行うことによって、グリッド位置θ（ｃ）の位置偏差ε（ｃ）を求める（ステップ１０７）。
【００３５】
この求めた位置偏差ε（ｃ）とメモリ手段１５に記憶するグリッド位置θ（ｃ）に対応する補正データδ（ｃ）を加算し（ステップ１０８）、フィルタリング処理して更新した補正データδ（ｃ）を求め（ステップ１０９）、グリッド位置θ（ｃ）の補正データを更新した補正データδ（ｃ）に書き替えて更新し（ステップ１１０）、当該サンプリング周期の処理を終了する。
【００３６】
以下、各サンプリング周期（位置・速度ループ処理周期）毎、上述した図８に示す処理を実行し、１パターン周期における位置、すなわち、ワーク加工形状等における位置に対応して、補正量が求められ位置偏差を補正する、位置による学習制御がなされることになる。そのため、速度変動があっても、位置に対する補正データの関係は変動せず、正確に位置偏差を零に収束させることができる。
【００３７】
図９は、本発明の第２の実施形態の要部ブロック図である。この第２の実施形態は、学習制御手段１０’の構成が異なるもので、時間・位置変換手段（第１の変換手段）１２がフィルタ手段１４の後に設けられている点である。なお、第１の実施形態と対応する要素は同一符号を付している。
【００３８】
この第２の実施形態では、サンプリング時に求めた位置偏差ε（ｎ）と、該サンプリングに対応する１パターン周期前の補正データを加算器１３で加算した後フィルタ手段１４の処理を行い、当該サンプリング時の補正データを求める。この補正データに対して時間・位置変換手段（第１の変換手段）１２で時間・位置変換処理を行いグリッド位置θ（ｃ）における補正データを求める。
【００３９】
前周期のサンプリング時に求めた補正データをδ（ｎ−１）、当該サンプリング時で求めた補正データをδ（ｎ）、グリッド位置θ（ｃ）に対応する補正データをδ（ｃ）とすると、上述した１式において、ε（ｃ）の代わりにδ（ｃ）、ε（ｎ−１）の代わりにδ（ｎ−１）、ε（ｎ）の代わりにδ（ｎ）を用いて、次の３式の演算を行う。
【００４０】
δ（ｃ）＝δ（ｎ−１）＋｛（θ（ｃ）−Θ（ｎ−１）｝・｛δ（ｎ）−δ（ｎ−１）｝／｛Θ（ｎ）−Θ（ｎ−１）｝…（３）
こうして求めたグリッド位置θ（ｃ）に対する補正データδ（ｃ）をメモリ手段１５に格納し補正データ更新する。
又、位置・時間変換手段（第２の変換手段）１６による処理は、第１の実施形態と同一であり、該位置・時間変換手段１６が加算器１３に出力される点において相違するのみである。他は第１の実施形態と同一であり、説明を省略する。
【００４１】
上述した各実施形態では、位置検出器８，８’で、サーボモータ７，７’の位置を検出してフィードバックするようにしたが、サーボモータ７，７’で駆動される被駆動体の移動位置を直接位置検出器で検出しフィードバック（ブロッククローズド・ループ）するものにも本発明は適用できるものである。
【００４２】
図１０、図１１は、本発明の効果を検証するために行った実験結果を表す図である。図１０に示す例の実験では、速度指令が３００ｒｐｍで速度が１％変化した場合の１回転につき４回の外乱成分を与えて、参照位置Θを自己の位置指令Ｐｃとし、図５に示した態様の本発明による位置による学習制御を行った場合（図１０（ｃ））と、従来の学習制御を行った場合（図１０（ｂ））、及び学習制御のない場合（図１０（ａ））を比較したものである。横軸が時間で縦軸は位置偏差である。
【００４３】
図１０（ａ）に示されるように、学習制御がない場合には１％の速度変化があっても、位置偏差には変化がなく、大きな位置偏差となっている。
又、図１０（ｂ）に示す従来の学習制御（サンプリング時間毎による補正データを記憶する従来の学習制御方法）を適用したときには、速度変化が生じると位置偏差が増大し、速度変化に対応できないことが分かる。
【００４４】
一方、本願発明の位置による学習制御を適用した図１０（ｃ）では、速度変化があっても、位置偏差は零に収束した小さな値に保持され、速度変化に対しても追従していることが分かる。
【００４５】
また、図１１は、回転軸の角度に同期してラジアル方向の直線移動軸が正弦波状に往復運動し、直線移動軸の振幅と回転軸の回転数が時間と共に徐々に変化するように指令を与えて実験したものであり、学習制御を行わない場合（図１１（ａ））、従来の時間ベースの学習制御を適用したとき（図１１（ｂ））。本発明の角度ベースの学習制御を適用したとき（図１１（ｃ））を比較したものである。本発明の適用は、図６に示す形態であり、直線移動軸をサーボモータ７で駆動し、該サーボモータ７のサーボ制御系に学習制御手段１０が組み込まれ、回転軸を駆動するサーボモータ７’への位置指令Ｐｃ’を学習制御手段１０に入力する参照位置Θとしたものである。なお、横軸が時間で縦軸は直線移動軸の位置偏差である。
【００４６】
図１１（ａ）は、学習制御を行わない場合の実験結果であり、大きな位置偏差が発生している。また、図１１（ｂ）は従来の時間をベースとした学習制御を行ったときの実験結果であり、位置偏差が小さくなるときもあるが、全体として大きな位置偏差が発生している。
一方、本発明の位置（角度）ベースの学習制御を適用した結果の図１１（ｃ）では、位置偏差は非常に小さなものになっている。なお、図１１（ａ），（ｂ）は１区分が２０μｍであることに対して図１１（ｃ）は、その１／２０の１μｍである。
【００４７】
【発明の効果】
本発明は、学習制御において、繰り返し指令されるパターンにおける形状の位置に対応して補正データを記憶しておき、位置に対応して位置偏差を補正する学習制御としたから、速度変動があっても、位置偏差を零に収束するように小さなものにすることができる。
【図面の簡単な説明】
【図１】本発明の一実施形態の要部ブロック図である。
【図２】同実施形態における時間・位置変換手段によるサンプリング時に得られた位置偏差を位置における位置偏差に変換する処理の説明図である。
【図３】同実施形態における位置・時間変換手段による位置に対する補正データからサンプリング時の補正データに変換する処理の説明図である。
【図４】参照位置を自己のフィードバック位置としたときの同実施形態の要部ブロック図である。
【図５】参照位置を自己の位置指令としたときの同実施形態の要部ブロック図である。
【図６】参照位置を他の同期駆動されるモータへの位置指令としたときの同実施形態の要部ブロック図である。
【図７】参照位置を他の同期駆動される被駆動体からのフィードバック位置としたときの同実施形態の要部ブロック図である。
【図８】同実施形態において、サンプリング周期毎実施される学習制御処理のフローチャートである。
【図９】本発明の第２の実施形態の要部ブロック図である。
【図１０】本発明の図５に示す態様と、学習制御を行わない場合及び従来の学習制御を適用した場合における実験結果を表す図である。
【図１１】本発明の図６に示す態様と、学習制御を行わない場合及び従来の学習制御を適用した場合における実験結果を表す図である。
【符号の説明】
１，２  演算器
１０，１０’  学習制御手段
１３  加算器
【図１】
2004280772.tif 000003
【図２】
2004280772.tif 000004
【図３】
2004280772.tif 000005
【図４】
2004280772.tif 000006
【図５】
2004280772.tif 000007
【図６】
2004280772.tif 000008
【図７】
2004280772.tif 000009
【図８】
2004280772.tif 000010
【図９】
2004280772.tif 000011
【図１０】
2004280772.tif 000012
【図１１】
2004280772.tif 000013