(57)【特許請求の範囲】
【請求項１】
複数の制御軸を備え、前記制御軸を協調動作させて加工対象であるワークを切削加工する工作機械を制御する制御装置であって、
切削工具を駆動するサーボモータに対する位置指令または前記ワークを駆動するサーボモータに対する位置指令、を取得する位置指令取得部と、
前記切削工具の位置または前記ワークの位置、を位置フィードバック値として取得する位置取得部と、
取得した前記位置指令と、取得した前記位置フィードバック値と、から位置偏差を計算する位置偏差計算部と、
回転する前記ワークの主軸、または、回転する前記切削工具の主軸の回転角度である主軸角度を取得する主軸角度取得部と、
取得した前記位置指令または取得した前記位置フィードバック値、及び、取得した前記主軸角度、から揺動指令を計算する揺動指令計算部と、
前記計算した位置偏差と、前記計算した揺動指令と、前記主軸角度と、から前記揺動指令の補正値を計算する揺動補正計算部と、
前記位置偏差と、前記揺動指令と、前記揺動補正量と、に基づき前記サーボモータを駆動するための駆動信号を求め、前記駆動信号を出力する駆動部と、
を備える制御装置。
【請求項２】
前記揺動指令計算部は、前記切削の際に発生した切屑を細断するために、前記切削工具が進行する加工方向に、前記切削工具と前記ワークとを相対的に揺動させるための揺動指令を計算する請求項１記載の制御装置。
【請求項３】
前記揺動指令計算部は、
前記位置指令または前記位置フィードバック値に第１の所定の数を乗じて振幅を求め、前記主軸角度に第２の所定の数を乗じて第１の角度を求め、求めた前記振幅及び前記第１の角度から、前記揺動指令を計算する請求項１または２記載の制御装置。
【請求項４】
前記揺動補正計算部は、前記位置偏差に前記揺動指令を加えて第２の位置偏差を求め、求めた前記第２の位置偏差及び前記第１の角度から、前記補正量を計算して学習制御を行う請求項３に記載の制御装置。
【請求項５】
前記主軸角度は、外部の上位装置が出力する主軸指令、もしくは、前記主軸の位置フィードバック値である請求項１〜３のいずれか１項に記載の制御装置。
【請求項６】
前記第１の所定の数と前記第２の所定の数とは、外部の上位装置が提供し、提供された前記第１の所定の数と第２の所定の数とを使用する請求項３または４記載の制御装置。
【請求項７】
前記第１の所定の数は、前記位置指令と前記主軸角度とに基づき算出される請求項１または２記載の制御装置。
【請求項８】
前記揺動指令計算部は、上位の制御装置からの信号に基づき、前記揺動指令の計算を開始、または中断、または終了する請求項１から７のいずれか１項に記載の制御装置。
【請求項９】
前記揺動補正計算部は上位の制御装置からの信号に基づき、前記補正値の計算を開始、または中断、または終了する請求項１から８のいずれか１項に記載の制御装置。
【請求項１０】
前記揺動補正計算部は、前記位置偏差に前記揺動指令を加えて第２の位置偏差を求め、
前記第２の位置偏差から揺動周波数成分を取りだして第３の位置偏差を求め、求めた前記第３の位置偏差及び前記第１の角度から、前記補正量を計算して学習制御を行う請求項１または２に記載の制御装置。
【請求項１１】
複数の制御軸を備え、前記制御軸を協調動作させて加工対象であるワークを切削加工する工作機械を制御する制御方法であって、
前記切削工具を駆動するサーボモータに対する位置指令または前記ワークを駆動するサーボモータに対する位置指令、を取得する位置指令取得ステップと、
前記切削工具の位置または前記ワークの位置、を位置フィードバック値として取得する位置取得ステップと、
取得した前記位置指令と、取得した前記位置フィードバック値と、から位置偏差を計算する位置偏差計算ステップと、
回転する前記ワークまたは前記切削工具の主軸角度を取得する主軸角度取得ステップと、
取得した前記位置指令または取得した前記位置フィードバック値、及び、取得した前記主軸角度、から揺動指令を計算する揺動指令計算ステップと、
前記計算した位置偏差と、前記計算した揺動指令と、前記主軸角度と、から前記揺動指令の補正値を計算する揺動補正計算ステップと、
前記位置偏差と、前記揺動指令と、前記揺動補正量と、に基づき前記サーボモータを駆動するための駆動信号を求め、前記駆動信号を出力する駆動ステップと、
を含む制御方法。
【請求項１２】
コンピュータを、複数の制御軸を備え、前記制御軸を協調動作させて加工対象であるワークを切削加工する工作機械を制御する制御装置として動作させるコンピュータプログラムにおいて、前記コンピュータに、
前記切削工具を駆動するサーボモータに対する位置指令または前記ワークを駆動するサーボモータに対する位置指令、を取得する位置指令取得手順と、
前記切削工具の位置または前記ワークの位置、を位置フィードバック値として取得する位置取得手順と、
取得した前記位置指令と、取得した前記位置フィードバック値と、から位置偏差を計算する位置偏差計算手順と、
回転する前記ワークまたは前記切削工具の主軸角度を取得する主軸角度取得手順と、
取得した前記位置指令または取得した前記位置フィードバック値、及び、取得した前記主軸角度、から揺動指令を計算する揺動指令計算手順と、
前記計算した位置偏差と、前記計算した揺動指令と、前記主軸角度と、から前記揺動指令の補正値を計算する揺動補正計算手順と、
前記位置偏差と、前記揺動指令と、前記揺動補正量と、に基づき前記サーボモータを駆動するための駆動信号を求め、前記駆動信号を出力する駆動手順と、
を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数軸の協調動作によりワークを切削加工する工作機械のサーボ制御装置及び制御方法並びにコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、複数軸の協調動作により加工対象であるワークを切削加工する工作機械が知られている。このような工作機械においては、切削により生じる切屑を細断するために、加工方向に対して、切削工具とワークとを相対的に揺動させる加工方法が採用される場合がある。
【０００３】
例えば、下記特許文献１においては、切削工具を低周波振動させながら切削加工を行わせる技術が開示されている。同文献１では、切削工具送り駆動モータを制御することで切削工具を２軸方向に低周波振動させる制御機構を有し、ワークの回転数または切削工具の回転数と該ワークまたは切削工具１回転当たりの切削工具の送り量に応じて、切削工具を少なくとも２軸方向に同期させて送り動作させる２５Ｈｚ以上の低周波で実働可能なデータとして、テーブル上の質量やモータ特性等の機械特性に応じた切削工具送り機構の前進量，後退量，前進速度，後退速度が予めテーブル化されて格納されており、格納されている当該データに基づいて前記切削工具送り駆動モータを制御している。そして、最適な振動で低周波振動切削を実行させることにより、切屑が粉状となり、切削工具に切屑が絡まりにくくなるとされている。
しかし、同文献１においては、低周波による振動（揺動）は、モータ特性に応じた揺動指令が予めテーブル化されており、加工条件の変更に対応することは困難であると考えられる。
【０００４】
また、下記特許文献２においては、与えられた振動条件、例えば周波数と振幅に基づいて加工経路に沿った振動を加えることを可能とするように揺動指令を作成し、これを加工指令に重畳して各軸のサーボ制御に分配する技術が開示されている。具体的には、移動経路に沿って工具を加工対象に対して相対的に移動させる際に、移動経路をなぞるように工具を振動させるようにし、加工位置と速度を含む移動経路を有する移動指令から単位時間（補間周期）当たりの指令移動量（移動指令による移動量）を算出し、当該移動指令に対応する時刻における当該単位時間での振動による移動量である振動移動量を、周波数と振幅を含む振動条件を用いて算出し、指令移動量と振動移動量とを合成して合成移動量を算出し、合成移動量だけ移動した位置が曲線移動経路上に位置するように、単位時間内の移動量を求めている。そして、この方法により工具の振動条件を格納した表を必要とせずに、種々の条件で加工ができると記載されている。
しかし、同文献２においては、高周波揺動を与えようとすると、指令が粗くなってしまうと考えられる。これは、揺動周波数が高くて、指令分配周波数に近づく場合に問題になる。例えば、指令分配周波数１００Ｈｚに対して揺動周波数５０Ｈｚの場合は、１揺動周期のうち、２点しか指令できない。揺動周波数がさらに高くなり、指令分配周波数に近くなれば、その傾向はさらに顕著になってしまう。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第５０３３９２９号公報
【特許文献２】特許第５５９９５２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、かかる課題に鑑みなされたものであり、その目的は、高い揺動周波数を利用する場合でも、高精度な揺動動作が可能な制御装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明に係る制御装置（例えば、後述のサーボ制御装置１００ａ、１００ｂ）は、複数の制御軸を備え、前記制御軸を協調動作させて加工対象であるワーク（例えば、後述のワーク１０、２０）を切削加工する工作機械を制御する制御装置であって、前記切削工具を駆動するサーボモータ（例えば、後述のサーボモータ４００）に対する位置指令または前記ワークを駆動するサーボモータに対する位置指令、を取得する位置指令取得部（例えば、後述の位置指令取得部１２０）と、前記切削工具の位置または前記ワークの位置、を位置フィードバック値として取得する位置取得部（例えば、後述の位置取得部１２２）と、取得した前記位置指令と、取得した前記位置フィードバック値と、から位置偏差を計算する位置偏差計算部（例えば、後述の差分器１０６）と、回転する前記ワークの主軸、または、回転する前記切削工具の主軸の回転角度である主軸角度を取得する主軸角度取得部（例えば、後述の主軸角度取得部１１８）と、取得した前記位置指令または取得した前記位置フィードバック値、及び、取得した前記主軸角度、から揺動指令を計算する揺動指令計算部（例えば、後述の揺動指令計算部１０２）と、前記計算した位置偏差と、前記計算した揺動指令と、前記主軸角度と、から前記揺動指令の補正値を計算する揺動補正計算部（例えば、後述の揺動補正計算部１０４）と、前記位置偏差と、前記揺動指令と、前記揺動補正量と、に基づき前記サーボモータを駆動するための駆動信号を求め、前記駆動信号を出力する駆動部（例えば、後述の速度・電流制御部１１６と加算器１１４と加算器１１０）と、を備える。
【０００８】
前記揺動指令計算部は、前記切削の際に発生した切屑を細断するために、前記切削工具が進行する加工方向に、前記切削工具と前記ワークとを相対的に揺動させるための揺動指令を計算してもよい。
【０００９】
前記揺動指令計算部は、前記位置指令または前記位置フィードバック値に第１の所定の数を乗じて振幅を求め、前記主軸角度に第２の所定の数を乗じて第１の角度を求め、求めた前記振幅及び前記第１の角度から、前記揺動指令を計算してもよい。
【００１０】
前記揺動補正計算部は、前記位置偏差に前記揺動指令を加えて第２の位置偏差を求め、求めた前記第２の位置偏差及び前記第１の角度から、前記補正量を計算して学習制御を行ってよい。
【００１１】
前記主軸角度は、外部の上位装置（例えば、後述の上位制御装置２００）が出力する主軸指令、もしくは、前記主軸の位置フィードバック値であってよい。
【００１２】
前記第１の所定の数と前記第２の所定の数と前記第３の所定の数とは、外部の上位装置が提供し、提供された前記第１の所定の数と第２の所定の数と第３の所定の数を使用してもよい。
【００１３】
前記第１の所定の数は、前記位置指令と前記主軸角度とに基づき算出されてよい。
【００１４】
前記揺動指令計算部は、上位の制御装置からの信号に基づき、前記揺動指令の計算を開始、または中断、または終了してよい。
【００１５】
前記揺動補正計算部は、上位の制御装置からの信号に基づき、前記補正値の計算を開始、または中断、または終了してよい。
【００１６】
前記揺動補正計算部は、前記位置偏差に前記揺動指令を加えて第２の位置偏差を求め、
前記第２の位置偏差から揺動周波数成分を取りだして第３の位置偏差を求め、求めた前記第３の位置偏差及び前記第１の角度から、前記補正量を計算して学習制御を行ってよい。
【００１７】
本発明に係る制御方法は、複数の制御軸を備え、前記制御軸を協調動作させて加工対象であるワークを切削加工する工作機械を制御する制御方法であって、前記切削工具を駆動するサーボモータに対する位置指令または前記ワークを駆動するサーボモータに対する位置指令、を取得する位置指令取得ステップと、前記切削工具の位置または前記ワークの位置、を位置フィードバック値として取得する位置取得ステップと、取得した前記位置指令と、取得した前記位置フィードバック値と、から位置偏差を計算する位置偏差計算ステップと、回転する前記ワークまたは前記切削工具の主軸角度を取得する主軸角度取得ステップと、取得した前記位置指令または取得した前記位置フィードバック値、及び、取得した前記主軸角度、から揺動指令を計算する揺動指令計算ステップと、前記計算した位置偏差と、前記計算した揺動指令と、前記主軸角度と、から前記揺動指令の補正値を計算する揺動補正計算ステップと、前記位置偏差と、前記揺動指令と、前記揺動補正量と、に基づき前記サーボモータを駆動するための駆動信号を求め、前記駆動信号を出力する駆動ステップと、を含む。
【００１８】
本発明に係るコンピュータプログラムは、コンピュータを、複数の制御軸を備え、前記制御軸を協調動作させて加工対象であるワークを切削加工する工作機械を制御する制御装置として動作させるコンピュータプログラムにおいて、前記コンピュータに、前記切削工具を駆動するサーボモータに対する位置指令または前記ワークを駆動するサーボモータに対する位置指令、を取得する位置指令取得手順と、前記切削工具の位置または前記ワークの位置、を位置フィードバック値として取得する位置取得手順と、取得した前記位置指令と、取得した前記位置フィードバック値と、から位置偏差を計算する位置偏差計算手順と、回転する前記ワークまたは前記切削工具の主軸角度を取得する主軸角度取得手順と、取得した前記位置指令または取得した前記位置フィードバック値、及び、取得した前記主軸角度、から揺動指令を計算する揺動指令計算手順と、前記計算した位置偏差と、前記計算した揺動指令と、前記主軸角度と、から前記揺動指令の補正値を計算する揺動補正計算手順と、前記位置偏差と、前記揺動指令と、前記揺動補正量と、に基づき前記サーボモータを駆動するための駆動信号を求め、前記駆動信号を出力する駆動手順と、を実行させる。
【発明の効果】
【００１９】
本発明によれば、工作機械において高い揺動周波数を利用する場合でも、高精度な揺動動作が可能となる。一般に、指令分配周波数に対し、サーボ制御装置の制御周波数が高い場合が多い。したがって、サーボ制御装置で揺動指令を作成した方が、高い揺動周波数に対し、高精度な揺動指令を作成することが可能である。
【図面の簡単な説明】
【００２０】
【図１Ａ】揺動による切削加工の様子を示す説明図である。
【図１Ｂ】揺動による切削加工の様子を示す説明図である。
【図２Ａ】本実施形態の例１に係るサーボ制御装置の構成ブロック図である。
【図２Ｂ】本実施形態の例２に係るサーボ制御装置の構成ブロック図である。
【図３】本実施形態に係るサーボ制御装置の動作を表すフローチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態の一例について説明する。
本実施形態においては、複数の制御軸を備えた工作機械のサーボ制御装置を説明する。このサーボ制御装置は、加工対象であるワークを切削加工する工作機械において、切屑を細断するために、切削工具とワークとを相対的に揺動させ、特に加工方向に揺動させることによって断続切削を実行させるサーボ制御装置である。
【００２２】
特に、本実施形態においては、工作機械の各軸の分配指令と、主軸との角度と、に基づいて揺動動作を行うように工作機械のサーボモータを駆動させることを特徴とするサーボ制御装置を提案する。
【００２３】
図１Ａ及び図１Ｂは、揺動動作の説明を行うための説明図である。
図１Ａは、ワーク１０を、主軸１２を回転軸として回転させ、その表面を切削工具１４で切削加工する様子を示す説明図である。同図に示すように、主軸１２と同方向の軸がＺ軸であり、主軸１２の直交する軸の一つがＸ軸である。切削工具１４は、ワーク１０の表面を所定のプログラムに基づき切削していくが、その加工は、例えばＺ軸、またはＺ軸と所定角度の加工方向Ｂに沿って進んでいく。このように加工が進んでいく方向を加工方向Ｂと呼ぶ。
【００２４】
このような切削加工を行う際に、切削工具１４は、加工方向Ｂに揺動Ａされている。この揺動Ａによって、例えば切屑を細かく分断することができるようになるとされている。この揺動Ａによって、切削工具１４は加工方向にいわば振動していることになる。切削工具１４がワーク１０に対して接触／非接触を繰り返すことになる。切削工具１４がワーク１０に対して接触する場合は、切削工具１４は、ワーク１０の表面上で、図１Ａにおける切削Ｄの軌跡を描いて移動する。他方、切削工具１４がワーク１０に対して接触していない場合は、切削工具１４は、ワーク１０の表面上で、図１Ａにおける空振りＣの軌跡を描いて移動する。
このように断続的な切削が行われることによって、切屑を細かく分断することや、切削工具１４の効果的な冷却が可能となる。
【００２５】
図１Ｂは、切削工具が揺動される他の例を示す説明図である。同図は、内部に空洞があるワーク２０の空洞内部を切削工具２４で切削加工する様子を示す説明図である。図１Ｂにおいてはワーク２０に対して切削工具２４が回転しており、その軸が主軸となる。
すなわち、本特許において、主軸は２通りの場合がある。図１Ａにおいては、主軸１２とは、ワーク１０の回転する軸である。図１Ｂにおいては、主軸２２とは、切削工具２４の回転する軸をいう。
なお、図１Ｂにおいても、図１Ａと同様に、主軸２２と同方向の軸がＺ軸であり、主軸２２の直交する軸の一つがＸ軸である。切削工具２４は、ワーク１０の空洞内部の表面を所定のプログラムに基づき切削していくが、その加工は、図１Ａと同様、加工方向Ｂに沿って進んでいく。
【００２６】
図１Ｂにおいても、切削工具２４は、加工方向Ｂに揺動Ａされ、切削工具２４はワーク２０に対して接触／非接触を繰り返す。切削工具２４がワーク２０に対して接触する場合は、切削工具２４は、ワーク２０の表面上で、図１Ｂにおける切削Ｄの軌跡を描いて移動する。他方、切削工具２４がワーク２０に対して接触していない場合は、切削工具２４は、ワーク２０の表面上で、図１Ｂにおける空振りＣの軌跡を描いて移動する。
図１Ａ及び図１Ｂにおいては、いずれも切削工具１４、２４側が揺動される例を説明したが、ワーク１０、２０側が揺動されるように構成されていてもよい。
【００２７】
本実施形態においては、この揺動動作の制御に特徴を有するサーボ制御装置を提案する。揺動は、基本的には、切削工具１４（２４）等を駆動するサーボモータに、当該揺動の指示を本来の指示に加えて与えることにより実現することが原理的に可能である。しかし、従来技術で説明したように、そのサーボモータの特性や、加工経路上の切削工具の移動によって、高い周波数で揺動させることは困難である場合もあった。
【００２８】
そこで、本実施形態においては。各軸に分配される指令と、主軸の回転方向の角度に基づいて、揺動動作を行わせるようにした。さらに、フィードバックされる位置偏差と、指示される揺動指令とに基づいて、揺動を正しく行わせるための（揺動）補正値を、学習制御を用いて算出している。そして、位置偏差と、算出した補正値とに基づき、揺動動作の指令を出力する。この指令は外部のアンプを介して工作機械のサーボモータに印加される。これによって、揺動の制御を円滑に行うことが可能となる。揺動指令は、例えば、切削工具の送り量、前進量、後退量、前進速度、後退速度を含む。
【００２９】
サーボ制御装置の例１を以下説明する。本例１にかかるサーボ制御装置１００ａの構成ブロック図が図２Ａに示されている。図２Ａに示すように、上位制御装置２００は、位置指令を出力する。サーボ制御装置１００ａは、工作機械（不図示）のサーボモータ４００を駆動して、この位置指令に合うように工作機械の切削工具やワークを制御する。サーボ制御装置１００ａは、請求の範囲の制御装置の好適な一例に相当する。後述する例２で説明するサーボ制御装置１００ｂも、請求の範囲の制御装置の好適な一例に相当する。
【００３０】
サーボ制御装置１００ａは、ＣＰＵやメモリを備えたコンピュータで構成することが好ましく、以下説明する各部（各計算部、差分器、加算器、積分器、制御部）は、当該ＣＰＵがメモリ中の所定のプログラムを実行することによって実現することができる。この所定のプログラムは、請求の範囲のコンピュータプログラムの好適な一例に相当する。
【００３１】
本実施形態に係るサーボ制御装置１００ａは、揺動指令計算部１０２と、揺動補正計算部１０４と、差分器１０６と、加算器１１０、１１４と、速度・電流制御部１１６と、を備えている。
さらに、サーボ制御装置１００ａは、主軸角度を取得する主軸角度取得部１１８と、上位制御装置２００からの位置指令を取得する位置指令取得部１２０と、位置フィードバック値を取得する位置取得部１２２と、も備えている。なお、主軸角度とは、主軸の回転角度である。これら各取得部は、コンピュータの入力インターフェースとして実現することが好ましく、外部からのデータを保存するバッファ等を含んでいてもよい。
【００３２】
以下、サーボ制御装置１００ａの具体的な動作を図２Ａの構成ブロック図及び図３のフローチャートに基づき説明する。
位置指令取得部１２０は、上位制御装置２００が出力する、切削工具を駆動するサーボモータに対する位置指令またはワークを駆動するサーボモータに対する位置指令、を取得するインターフェースである。ここで取得した位置指令は、差分器１０６と、揺動指令計算部１０２と、に供給される。なお、位置指令は、揺動指令計算部１０２へは供給しない構成でもよいが、そのような構成は、図２Ｂで後に説明する。位置指令取得部１２０による位置指令の取得動作は、図３のステップＳ１に該当する。
【００３３】
位置取得部１２２は、切削工具の位置またはワークの位置、を位置フィードバック値として取得するインターフェースである。ここで取得した位置フィードバック値は、差分器１０６に供給される。位置取得部１２２による位置フィードバック値の取得動作は、図３のステップＳ２に該当する。なお、位置フィードバック値は、揺動指令計算部１０２に供給してもよいが、そのような構成は、図２Ｂで後に説明する。
【００３４】
差分器１０６は、取得した位置指令と、取得した位置フィードバック値の差分を算出すし、位置偏差が求められる。この差分器１０６は、請求の範囲の位置偏差計算部の好適な一例に相当する。また、この差分器１０６による位置偏差の計算は、図３のステップＳ３に該当する。
【００３５】
加算器１１０は、揺動指令計算部１０２に対して位置偏差を加算し、揺動指令に位置偏差による修正を加える。修正を加えた揺動指令は、揺動補正計算部１０４に供給されると共に、加算器１１４にも供給される。
【００３６】
主軸角度取得部１１８は、回転するワークまたは切削工具の主軸角度を取得するインターフェースであり、ここで取得した主軸角度は揺動指令計算部１０２と、揺動補正計算部１０４とに供給される。主軸角度取得部１１８による主軸角度の取得動作は、図３のフローチャートにおけるステップＳ４に該当する。
なお、本実施形態における主軸は、ワークの回転軸である場合でもよいし、切削工具の回転軸である場合でもよい。また、主軸角度とは、主軸の回転角度をいい、上位制御装置２００が指示する主軸指令にかかる主軸角度でもよいし、また後述するように検出器５００が検出する位置フィードバック値としての主軸角度でもよい。
【００３７】
揺動指令計算部１０２は、取得した位置指令と、取得した主軸角度と、に基づいて揺動指令を計算する。本実施形態においては、具体的には、揺動指令計算部１０２は、上位制御装置２００が出力する分配指令に応じた揺動振幅を求め、主軸の角度に応じた揺動周波数を求めている。求めた揺動振幅と、求めた揺動周波数と、から揺動指令が構成される。
【００３８】
例えば、揺動指令計算部１０２は、位置指令に第１の所定の数を乗算し、振幅を求めることができる。さらに、揺動指令計算部１０２は、主軸角度に第２の所定の数を乗算し、第１の角度を求めることができる。その結果、揺動指令計算部１０２は、この求めた振幅と第１の角度とから揺動指令を計算することができる。第２の所定の数は、例えば、０．５や１．５とすることができる。なお、第１の角度は、いわば揺動指令の周期を表し、同時に学習制御を行う際の学習周期をも表し、両周期は一致している。
揺動指令計算部１０２による揺動指令の計算は、図３のフローチャートのステップＳ５に該当する。
【００３９】
第１の所定の数や、第２の所定の数は、上位制御装置２００が、サーボ制御装置１００ａに対して指示してもよい。この場合、サーボ制御装置１００ａは、指示された所定の数をサーボ制御装置１００ａ内の所定のメモリに格納しておく。また、第１の所定の数や、第２の所定の数は、ユーザが上位制御装置２００を操作して設定してもよい。また、ユーザがサーボ制御装置１００ａに対して直接設定してもよい。
また、第１の所定の数は、位置指令と角度とから求めることができる。揺動振幅は、主軸が１回転する間の（ワーク１０、切削工具２４）の移動量（加工方向への移動量）の０．５倍以上の振幅が通常は必要である。また、主軸１回転の速度は、主軸の角度の変化から推定（角速度）することができ、移動速度は、位置指令の変化から推定（速度指令）することができる。この推定した角速度から主軸１回転に要する時間が判明する。したがって、１回転の時間×速度指令を算出すれば、主軸１回転当たりのワーク１０（切削工具２４）の移動量を求めることができる。このようにして求めた移動量から、揺動振幅を求める（設定する）ことができる。位置指令と、求められた（設定した）揺動振幅との関係から第１の所定の数を求めることができる。このような第１の所定の数の算出はサーボ制御装置１００ａが実行してもよいし、上位制御装置２００が実行してもよい。
なお、揺動指令計算部１０２は、種々の目的で様々な揺動指令を計算してよいが、例えば、切削の際に発生した切屑を細断する等の目的のためには、切削工具が進行する加工方向に、切削工具とワークとが相対的に揺動するような揺動指令を計算することが好適である。
【００４０】
また、揺動指令計算部１０２は、外部からの指示によって、揺動指令の計算を開始、中断、または終了するように構成することも好適である。例えば、外部の上位制御装置２００からの指示によって、揺動指令の計算を開始、中断、終了するように構成してもよい。
【００４１】
上位制御装置２００が出力したこのような指示を入力するためのインターフェース部がサーボ制御装置１００ａに備えさせる必要があるが、他のインターフェース、例えば主軸角度取得部１１８等と共用することも好適である。
【００４２】
揺動補正計算部１０４は、位置偏差と、揺動指令と、主軸角度と、から揺動指令に対するサーボモータの応答性の遅れを補正するための補正値を計算する。本実施形態においては、揺動補正計算部１０４は、位置偏差と揺動指令に基づいて学習制御によって補正値を計算している。揺動補正計算部１０４による補正値の計算は、図３のフローチャートのステップＳ６に該当する。
【００４３】
より具体的に言えば、揺動補正計算部１０４は、上述したように、揺動指令に位置偏差を（加算器１１０を用いて）加えて第２の位置偏差を求めている。そして、第２の位置偏差と、第１の角度と、揺動指令と、に基づいて、揺動指令に対する補正値を算出している。したがって、加算器１１０は、請求の範囲の揺動補正計算部の一部を構成する。つまり、加算器１１０と揺動補正計算部１０４とが、請求の範囲の揺動補正計算部の好適な一例に相当する。
【００４４】
これまで説明した補正値の計算例では、第２の位置偏差に基づき、学習制御を行う例を説明したが、この第２の位置偏差からさらに、揺動周波数成分を取りだして、これを第３の位置偏差とし、この第３の位置偏差を用いて補正値を計算することも好適である。この場合は、揺動補正計算部１０４は、第３の位置偏差と、第１の角度と、揺動指令と、に基づいて、揺動指令に対する補正値を算出する。
【００４５】
なお、上述した第３の所定の数も、上位制御装置２００が、サーボ制御装置１００ａに対して指示してもよい。係る指示に基づき、サーボ制御装置１００ａは、指示された第３の所定の数を所定のメモリに格納しておいてもよい。また、ユーザが、第３の所定の数を、上位制御装置２００を操作して設定してもよい。また、ユーザがサーボ制御装置１００ａに対して直接設定してもよい。
【００４６】
また、揺動補正計算部１０４も、揺動指令計算部１０２と同様に、外部からの指示によって、補正値の計算を開始、中断、または終了するように構成することも好適である。例えば、外部の上位制御装置２００からの指示によって、補正値の計算を開始、中断、終了するように構成してもよい。また、上位制御装置２００が出力したこのような指示を入力するためのインターフェース部は、上記揺動指令計算部１０２と共用してもよい。
【００４７】
次に、加算器１１４は、位置偏差を加えた揺動指令に対して、上記算出した補正値を加算し、加算後の揺動指令を速度・電流制御部１１６に供給する。速度・電流制御部１１６は、補正値を加算後の揺動指令に基づき、サーボモータを駆動する駆動信号を求めて、外部のアンプ３００にこの駆動信号を供給（出力）する。
したがって、速度・電流制御部１１６と加算器１１４と加算器１１０とは、請求の範囲の駆動部の好適な一例に相当する。また、速度・電流制御部１１６と加算器１１４と加算器１１０とによる、駆動信号の出力は、図３のフローチャートのステップＳ７に該当する。
【００４８】
アンプ３００は、上述した駆動信号を増幅し、サーボモータ４００を駆動するのに十分な電力をサーボモータ４００に供給する。サーボモータ４００は、（増幅された）駆動信号で駆動される。なお、図２Ａにおいては、アンプ３００やサーボモータ４００が、それぞれ１個ずつ示されているが、それぞれ複数個備えられていてよい。多軸制御の場合（複数の制御軸を備えている工作機械の場合）は、その軸数分だけアンプ３００及びサーボモータ４００が備えられていてよい。
【００４９】
サーボモータ４００の駆動軸には検出器５００が備えられており、切削工具やワークの位置を検出することができる。検出器５００は、ロータリーエンコーダや、リニアエンコーダ等を用いて構成することができる。この検出器５００は、既に説明した位置フィードバック値を、位置取得部１２２に対して出力する。
なお、図３のフローチャートにおいては、ステップＳ７の後、検出器５００が検出した位置フィードバック値がステップＳ２において再び取得される。すなわち再びステップＳ１、Ｓ２等の処理に続いていくものであり、実際には各ステップは、並行して実行されてよい。
【００５０】
以上述べたようにして、本実施形態に係るサーボ制御装置１００ｂは、複数の制御軸を有する工作機械のサーボモータに対して揺動動作を実行させる。
特に、本実施形態１においては、位置偏差と揺動指令に基づいて、学習制御を行って揺動の補正値を求めている。したがって、サーボモータの遅れを補正する補正値を効率よく求めることができる。その結果、高い揺動周波数を利用する場合でも、高精度な揺動動作を工作機械に実行させることが可能である。
【００５１】
サーボ制御装置の例２を以下説明する。本例２にかかるサーボ制御装置１００ｂの構成ブロック図が図２Ｂに示されている。図２Ｂに示す構成は、図２Ａに示されたサーボ制御装置１００ａと以下に説明する点を除きほぼ同様であり、その動作も以下に説明する点を除いてほぼ同様である。
【００５２】
（１）まず、位置指令取得部１２０は、切削工具を駆動するサーボモータに対する位置指令と、ワークを駆動するサーボモータに対する位置指令と、を上位制御装置２００から取得するインターフェースである点は、上記サーボ制御装置１００ａと同様である。  
しかし、サーボ制御装置１００ｂにおいては、位置指令取得部１２０が取得した位置指令を、揺動指令計算部１０２には供給せず、差分器１０６にのみ供給する。
【００５３】
（２）また、例１における揺動指令計算部１０２は、取得した位置指令と、取得した主軸角度と、に基づいて揺動指令を計算していた。これに対して例２の揺動指令計算部１０２は、位置指令に替えて、位置フィードバック値を用いている。したがって、図３のステップＳ５の処理内容も位置指令に替えて、位置フィードバック値を用いている点において異なる。
これに伴って、位置取得部１２２は、取得した位置フィードバック値を、差分器１０６だけでなく、揺動指令計算部１０２に対しても供給している。
このような構成の下、例２の揺動指令計算部１０２は、位置フィードバック値に応じた揺動振幅を求め、主軸角度に応じた揺動周波数を求めている。求めた揺動振幅と、求めた揺動周波数と、から揺動指令が構成されている。したがって、図３のステップＳ６の処理内容も位置フィードバック値に応じた揺動振幅を求め、主軸角度に応じた揺動周波数を求めている点において異なる。
【００５４】
例えば、揺動指令計算部１０２は、位置指令に第１の所定の数を乗算し、振幅を求め、主軸角度に第２の所定の数を乗算し、第１の角度を求める。揺動指令計算部１０２は、この求めた振幅と第１の角度とから揺動指令を計算する。
このような構成によって、サーボ制御装置１００ｂは、実際の位置フィードバック値を利用して揺動指令を計算することができるので、より実際の切削工具やワークの位置に適した揺動指令を計算することができる。
【００５５】
以上、本発明の実施形態について詳細に説明したが、前述した実施形態は、本発明を実施するにあたっての具体例を示したに過ぎない。本発明の技術的範囲は、前記実施形態に限定されるものではない。本発明は、その趣旨を逸脱しない範囲において種々の変更が可能であり、それらも本発明の技術的範囲に含まれる。
【符号の説明】
【００５６】
１０、２０  ワーク
１２、２２  主軸
１４、２４  切削工具
１００ａ、１００ｂ  サーボ制御装置
１０２  揺動指令計算部
１０４  揺動補正計算部
１０６  差分器
１１０、１１４  加算器
１１６  速度・電流制御部
１１８  主軸角度取得部
１２０  位置指令取得部
１２２  位置取得部
２００  上位制御装置
３００  アンプ
４００  サーボモータ
５００  検出器
Ａ  揺動    
Ｂ  加工方向
Ｃ  空振り
Ｄ  切削
【図１Ａ】
0006342935.tif 000002
【図１Ｂ】
0006342935.tif 000003
【図２Ａ】
0006342935.tif 000004
【図２Ｂ】
0006342935.tif 000005
【図３】
0006342935.tif 000006