(57)【特許請求の範囲】
【請求項１】
複数の制御軸を備え、前記制御軸を協調動作させて加工対象であるワークを切削加工する工作機械を制御する制御装置であって、
切削工具を駆動するサーボモータに対する位置指令または前記ワークを駆動するサーボモータに対する位置指令、を取得する位置指令取得部と、
回転する前記切削工具または回転する前記ワークの回転速度、を取得する回転速度取得部と、
取得した前記位置指令と、取得した前記回転速度と、に基づいて揺動振幅を計算する揺動振幅計算部と、
取得した前記回転速度に基づいて、揺動周波数を計算する揺動周波数計算部と、
計算した前記揺動振幅と、計算した前記揺動周波数と、に基づいて、切削の際に発生した切屑を細断するために、前記切削工具が進行する加工経路に沿って、前記切削工具と前記ワークとを相対的に揺動させるための揺動指令を計算する揺動指令計算部と、
計算した前記揺動振幅に基づいた指令経路を記憶する位置指令記憶部と、
記憶した前記指令経路に基づいて、前記揺動指令を補正する揺動指令補正部と、
取得した前記位置指令と、補正された前記揺動指令と、に基づいて前記サーボモータを駆動するための駆動信号を求め、前記駆動信号を出力する駆動部と、
を備え、
前記位置指令記憶部は、少なくとも前記揺動振幅より長い指令経路を記憶し、
前記揺動指令補正部は，前記記憶した指令経路に沿って、前記切削工具と前記ワークとを相対的に揺動させるように、前記揺動指令を補正する制御装置。
【請求項２】
前記揺動振幅計算部は、取得した前記位置指令と、取得した前記回転速度とに基づいて前記切削工具または前記ワークの１回転当たりの移動量を求め、求めた移動量を第１の定数倍することにより前記揺動振幅を計算する請求項１記載の制御装置。
【請求項３】
前記揺動周波数計算部は、取得した前記回転速度を第２の定数倍することにより前記揺動周波数を計算する請求項１または２に記載の制御装置。
【請求項４】
前記第１の定数は、外部の上位装置が提供し、提供された前記第１の定数を使用する請求項２記載の制御装置。
【請求項５】
前記第２の定数は、外部の上位装置が提供し、提供された前記第２の定数を使用する請求項３記載の制御装置。
【請求項６】
前記揺動指令計算部は、上位の制御装置からの信号に基づき、前記揺動指令の計算を開始、または中断、または終了する請求項１から５のいずれか１項に記載の制御装置。
【請求項７】
前記揺動指令補正部は、上位の制御装置からの信号に基づき、前記揺動指令の補正を開始、または中断、または終了する請求項１から６のいずれか１項に記載の制御装置。
【請求項８】
複数の制御軸を備え、前記制御軸を協調動作させて加工対象であるワークを切削加工する工作機械を制御する制御方法であって、
切削工具を駆動するサーボモータに対する位置指令または前記ワークを駆動するサーボモータに対する位置指令、を取得する位置指令取得ステップと、
回転する前記切削工具または回転する前記ワークの回転速度、を取得する回転速度取得ステップと、
取得した前記位置指令と、取得した前記回転速度と、から揺動振幅を計算する揺動振幅計算ステップと、
取得した前記回転速度から、揺動周波数を計算する揺動周波数計算ステップと、
計算した前記揺動振幅と、計算した前記揺動周波数と、から、切削の際に発生した切屑を細断するために、前記切削工具が進行する加工経路に沿って、前記切削工具と前記ワークとを相対的に揺動させるための揺動指令を計算する揺動指令計算ステップと、
計算した前記揺動振幅に基づいた指令経路を所定の位置指令記憶部に記憶する位置指令記憶ステップと、
記憶した前記指令経路に基づき、前記揺動指令を補正する揺動指令補正ステップと、
取得した前記位置指令と、補正された前記揺動指令と、に基づいて前記サーボモータを駆動するための駆動信号を求め、前記駆動信号を出力する駆動ステップと、
を含み、
前記位置指令記憶ステップでは、少なくとも前記揺動振幅より長い指令経路を記憶し、
前記揺動指令補正ステップでは，前記記憶した指令経路に沿って、前記切削工具と前記ワークとを相対的に揺動させるように、前記揺動指令を補正する制御方法。
【請求項９】
コンピュータを、複数の制御軸を備え、前記制御軸を協調動作させて加工対象であるワークを切削加工する工作機械を制御する制御装置として動作させるコンピュータプログラムであって、前記コンピュータに、
切削工具を駆動するサーボモータに対する位置指令または前記ワークを駆動するサーボモータに対する位置指令、を取得する位置指令取得手順と、
回転する前記切削工具または回転する前記ワークの回転速度、を取得する回転速度取得手順と、
取得した前記位置指令と、取得した前記回転速度と、から揺動振幅を計算する揺動振幅計算手順と、
取得した前記回転速度から、揺動周波数を計算する揺動周波数計算手順と、
計算した前記揺動振幅と、計算した前記揺動周波数と、から、切削の際に発生した切屑を細断するために、前記切削工具が進行する加工経路に沿って、前記切削工具と前記ワークとを相対的に揺動させるための揺動指令を計算する揺動指令計算手順と、
計算した前記揺動振幅に基づいた指令経路を所定の位置指令記憶部に記憶する位置指令記憶手順と、
記憶した前記指令経路に基づき、前記揺動指令を補正する揺動指令補正手順と、
取得した前記位置指令と、補正された前記揺動指令と、に基づいて前記サーボモータを駆動するための駆動信号を求め、前記駆動信号を出力する駆動手順と、
を実行させ、
前記位置指令記憶手順では、少なくとも前記揺動振幅より長い指令経路を記憶し、
前記揺動指令補正手順では，前記記憶した指令経路に沿って、前記切削工具と前記ワークとを相対的に揺動させるように、前記揺動指令を補正するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数軸の協調動作によりワークを切削加工する工作機械のサーボ制御装置及び制御方法並びにコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、複数軸の協調動作により加工対象であるワークを切削加工する工作機械が知られている。このような工作機械においては、切削により生じる切屑を細断するために、加工方向に対して、切削工具とワークとを相対的に揺動させる加工方法が採用される場合がある。
【０００３】
例えば、下記特許文献１においては、切削工具を低周波振動させながら切削加工を行わせる技術が開示されている。同文献１では、切削工具送り駆動モータを制御することで切削工具を２軸方向に低周波振動させる制御機構を有し、ワークの回転数または切削工具の回転数と該ワークまたは切削工具１回転当たりの切削工具の送り量に応じて、切削工具を少なくとも２軸方向に同期させて送り動作させる２５Ｈｚ以上の低周波で実働可能なデータとして、テーブル上の質量やモータ特性等の機械特性に応じた切削工具送り機構の前進量，後退量，前進速度，後退速度が予めテーブル化されて格納されており、格納されている当該データに基づいて前記切削工具送り駆動モータを制御している。そして、最適な振動で低周波振動切削を実行させることにより、切屑が粉状となり、切削工具に切屑が絡まりにくくなるとされている。
しかし、同文献１においては、低周波による振動（揺動）は、モータ特性に応じた揺動指令が予めテーブル化されており、加工条件の変更に対応することは困難であると考えられる。
【０００４】
また、下記特許文献２においては、与えられた振動条件、例えば周波数と振幅に基づいて加工経路に沿った振動を加えることを可能とするように揺動指令を作成し、これを加工指令に重畳して各軸のサーボ制御に分配する技術が開示されている。具体的には、移動経路に沿って工具を加工対象に対して相対的に移動させる際に、移動経路をなぞるように工具を振動させるようにし、加工位置と速度を含む移動経路を有する移動指令から単位時間（補間周期）当たりの指令移動量（移動指令による移動量）を算出し、当該移動指令に対応する時刻における当該単位時間での振動による移動量である振動移動量を、周波数と振幅を含む振動条件を用いて算出し、指令移動量と振動移動量とを合成して合成移動量を算出し、合成移動量だけ移動した位置が曲線移動経路上に位置するように、単位時間内の移動量を求めている。そして、この方法により工具の振動条件を格納した表を必要とせずに、種々の条件で加工ができると記載されている。
しかし、同文献２においては、例えば、高周波揺動を与えようとすると、指令が粗くなってしまうと考えられる。これは、揺動周波数が高くて指令分配周波数に近い場合に特に問題になると考えられる。例えば指令分配周波数１００Ｈｚに対して揺動周波数５０Ｈｚの場合は、１揺動周期の間に２点の指令しかできない。揺動周波数がさらに高くなり指令分配周波数に近くなればなるほど、その傾向は顕著であり、緻密な制御が困難になる場合も考えられる。
【０００５】
このように、従来の揺動を用いて工作機械を制御する技術では、高い揺動周波数を利用する場合に、高精度な揺動制御が困難になると考えられる。そこで、本願発明者は、このような点を解消するために鋭意研究を重ねて、サーボモータに高精度な揺動を行わせることができる改良されたサーボ制御装置を開発し、別途特許出願をしている（特願２０１６−０６６５９３）。
【０００６】
この本願発明者が独自に開発した改良されたサーボ制御装置によれば、上位の制御装置から当該サーボ制御装置に対して分配指令を与えたその時点の指示情報（位置指令や主軸の回転速度）に基づいて揺動指令を作成するので、高精度な揺動指令を行うことができる。しかし、この独自に開発したサーボ制御装置においては、過去の指令経路を考慮せずに揺動指令を作成しているので、例えば円弧形状の加工のように、加工経路が時々刻々変化するような指令が出される場合は、経路に沿った揺動が達成できない場合も考えられる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第５０３３９２９号公報
【特許文献２】特許第５５９９５２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、かかる課題に鑑みなされたものであり、その目的は、指令経路に沿った揺動動作を工作装置に実行させることが可能な工作装置の制御装置を提供することである。
【課題を解決するための手段】
【０００９】
本発明に係る制御装置（例えば、後述のサーボ制御装置１００）は、複数の制御軸を備え、前記制御軸を協調動作させて加工対象であるワーク（例えば、後述のワーク１０、２０）を切削加工する工作機械を制御する制御装置であって、切削工具を駆動するサーボモータ（例えば、後述のサーボモータ４００）に対する位置指令または前記ワークを駆動するサーボモータに対する位置指令、を取得する位置指令取得部（例えば、後述の位置指令取得部１２０）と、回転する前記切削工具または回転する前記ワークの回転速度、を取得する回転速度取得部（例えば、後述の回転速度取得部１１８）と、取得した前記位置指令と、取得した前記回転速度と、に基づいて揺動振幅を計算する揺動振幅計算部（例えば、後述の揺動指令補正部１０４）と、取得した前記回転速度に基づいて、揺動周波数を計算する揺動周波数計算部（例えば、後述の揺動指令補正部１０４）と、計算した前記揺動振幅と、計算した前記揺動周波数と、に基づいて揺動指令を計算する揺動指令計算部（例えば、後述の揺動指令補正部１０４）と、計算した前記揺動振幅に基づいた指令経路を記憶する位置指令記憶部（例えば、後述の位置指令記憶部１０３）と、記憶した前記指令経路に基づき、前記揺動指令を補正する揺動指令補正部（例えば、後述の揺動指令補正部１０４）と、取得した前記位置指令と、補正された前記揺動指令と、に基づいて前記サーボモータを駆動するための駆動信号を求め、前記駆動信号を出力する駆動部（例えば、後述の位置・速度・電流制御部１１６と加算器１０６）と、を備える。
【００１０】
前記揺動指令計算部は、前記切削の際に発生した切屑を細断するために、前記切削工具が進行する加工経路に沿って、前記切削工具と前記ワークとを相対的に揺動させるための揺動指令を計算してもよい。
【００１１】
前記揺動振幅計算部は、取得した前記位置指令と、取得した前記回転速度とに基づいて前記切削工具または前記ワークの１回転当たりの移動量を求め、求めた移動量を第１の定数倍することにより前記揺動振幅を計算してもよい。
【００１２】
前記揺動周波数計算部は、取得した前記回転速度を第２の定数倍することにより前記揺動周波数を計算してもよい。
【００１３】
前記位置指令記憶部は、少なくとも前記揺動振幅より長い指令経路を記憶してもよい。
【００１４】
前記揺動指令補正部は，前記記憶した指令経路に沿って、前記切削工具と前記ワークとを相対的に揺動させるように、前記揺動指令を補正してもよい。
【００１５】
前記第１の定数は、外部の上位装置が提供し、提供された前記第１の定数を前記制御装置が使用してもよい。
【００１６】
前記第２の定数は、外部の上位装置が提供し、提供された前記第２の定数を前記制御装置が使用してもよい。
【００１７】
前記揺動指令計算部は、上位の制御装置からの信号に基づき、前記揺動指令の計算を開始、または中断、または終了してもよい。
【００１８】
前記揺動指令補正部は、上位の制御装置からの信号に基づき、前記揺動指令の補正を開始、または中断、または終了してもよい。
【００１９】
本発明に係る制御方法は、複数の制御軸を備え、前記制御軸を協調動作させて加工対象であるワークを切削加工する工作機械を制御する制御方法であって、切削工具を駆動するサーボモータに対する位置指令または前記ワークを駆動するサーボモータに対する位置指令、を取得する位置指令取得ステップと、回転する前記切削工具または回転する前記ワークの回転速度、を取得する回転速度取得ステップと、取得した前記位置指令と、取得した前記回転速度と、から揺動振幅を計算する揺動振幅計算ステップと、取得した前記回転速度から、揺動周波数を計算する揺動周波数計算ステップと、計算した前記揺動振幅と、計算した前記揺動周波数と、から揺動指令を計算する揺動指令計算ステップと、計算した前記揺動振幅に基づいた指令経路を所定の位置指令記憶部に記憶する位置指令記憶ステップと、記憶した前記指令経路に基づき、前記揺動指令を補正する揺動指令補正ステップと、取得した前記位置指令と、補正された前記揺動指令と、に基づいて前記サーボモータを駆動するための駆動信号を求め、前記駆動信号を出力する駆動ステップと、を含む。
【００２０】
本発明に係るコンピュータプログラムは、コンピュータを、複数の制御軸を備え、前記制御軸を協調動作させて加工対象であるワークを切削加工する工作機械を制御する制御装置として動作させるコンピュータプログラムであって、前記コンピュータに、切削工具を駆動するサーボモータに対する位置指令または前記ワークを駆動するサーボモータに対する位置指令、を取得する位置指令取得手順と、回転する前記切削工具または回転する前記ワークの回転速度、を取得する回転速度取得手順と、取得した前記位置指令と、取得した前記回転速度と、から揺動振幅を計算する揺動振幅計算手順と、取得した前記回転速度から、揺動周波数を計算する揺動周波数計算手順と、計算した前記揺動振幅と、計算した前記揺動周波数と、から揺動指令を計算する揺動指令計算手順と、計算した前記揺動振幅に基づいた指令経路を所定の位置指令記憶部に記憶する位置指令記憶手順と、記憶した前記指令経路に基づき、前記揺動指令を補正する揺動指令補正手順と、取得した前記位置指令と、補正された前記揺動指令と、に基づいて前記サーボモータを駆動するための駆動信号を求め、前記駆動信号を出力する駆動手順と、を実行させる。
【発明の効果】
【００２１】
本発明によれば、工作機械に対する指令ベクトルが時々刻々と変化する場合でも、指令経路上で揺動動作を行わせることができる。
【図面の簡単な説明】
【００２２】
【図１Ａ】揺動による切削加工の様子を示す説明図である。
【図１Ｂ】揺動による切削加工の様子を示す説明図である。
【図２】本実施形態に係るサーボ制御装置の構成ブロック図である。
【図３】本実施形態に係るサーボ制御装置の動作の特徴を表す説明図である。
【図４】本実施形態に係るサーボ制御装置の動作を表すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、本発明の実施形態の一例について説明する。
本実施形態においては、複数の制御軸を備えた工作機械のサーボ制御装置を説明する。このサーボ制御装置は、加工対象であるワークを切削加工する工作機械において、切屑を細断するために、切削工具とワークとを相対的に揺動させ、特に加工方向に揺動させることによって断続切削を実行させるサーボ制御装置である。
【００２４】
本実施形態においては、工作機械の各軸の位置指令と、主軸の回転速度と、に基づいて揺動動作を行うように工作機械のサーボモータを駆動させるサーボ制御装置において、指令経路に沿った揺動を行わせることができるサーボ制御装置を提案する。
【００２５】
＜揺動動作の原理の説明＞
図１Ａ及び図１Ｂは、揺動動作の説明を行うための説明図である。
図１Ａは、ワーク１０を、主軸１２を回転軸として回転させ、その表面を切削工具１４で切削加工する様子を示す説明図である。同図に示すように、主軸１２と同方向の軸がＺ軸であり、主軸１２の直交する軸の一つがＸ軸である。切削工具１４は、ワーク１０の表面を所定のプログラムに基づき切削していくが、その加工は、例えばＺ軸、またはＺ軸と所定角度の加工方向Ｂに沿って進んでいく。このように加工が進んでいく方向を加工方向Ｂと呼ぶ。
【００２６】
このような切削加工を行う際に、切削工具１４は、加工方向Ｂに揺動Ａされている。この揺動Ａによって、例えば切屑を細かく分断することができるようになるとされている。この揺動Ａによって、切削工具１４は加工方向にいわば振動していることになる。切削工具１４がワーク１０に対して接触／非接触を繰り返すことになる。切削工具１４がワーク１０に対して接触する場合は、切削工具１４は、ワーク１０の表面上で、図１Ａにおける切削Ｄの軌跡を描いて移動する。他方、切削工具１４がワーク１０に対して接触していない場合は、切削工具１４は、ワーク１０の表面上で、図１Ａにおける空振りＣの軌跡を描いて移動する。
このように断続的な切削が行われることによって、切屑を細かく分断することや、切削工具１４の効果的な冷却が可能となる。
【００２７】
図１Ｂは、切削工具が揺動される他の例を示す説明図である。同図は、内部に空洞があるワーク２０の空洞内部を切削工具２４で切削加工する様子を示す説明図である。図１Ｂにおいてはワーク２０に対して切削工具２４が回転しており、その軸が主軸となる。
すなわち、本特許において、主軸は２通りの場合がある。図１Ａにおいては、主軸１２とは、ワーク１０の回転する軸である。図１Ｂにおいては、主軸２２とは、切削工具２４の回転する軸をいう。
なお、図１Ｂにおいても、図１Ａと同様に、主軸２２と同方向の軸がＺ軸であり、主軸２２の直交する軸の一つがＸ軸である。切削工具２４は、ワーク１０の空洞内部の表面を所定のプログラムに基づき切削していくが、その加工は、図１Ａと同様、加工方向Ｂに沿って進んでいく。
【００２８】
図１Ｂにおいても、切削工具２４は、加工方向Ｂに揺動Ａされ、切削工具２４はワーク２０に対して接触／非接触を繰り返す。切削工具２４がワーク２０に対して接触する場合は、切削工具２４は、ワーク２０の表面上で、図１Ｂにおける切削Ｄの軌跡を描いて移動する。他方、切削工具２４がワーク２０に対して接触していない場合は、切削工具２４は、ワーク２０の表面上で、図１Ｂにおける空振りＣの軌跡を描いて移動する。
図１Ａ及び図１Ｂにおいては、いずれも切削工具１４、２４側が揺動される例を説明したが、ワーク１０、２０側が揺動されるように構成されていてもよい。
【００２９】
本実施形態においては、この揺動動作の制御に特徴を有するサーボ制御装置を提案する。揺動は、基本的には、切削工具１４（２４）等を駆動するサーボモータに、当該揺動の指令を本来の指令に加えて与えることにより実現することが原理的に可能である。しかし、従来技術で説明したように、その時点における指令（指令、主軸の回転速度）のみを考慮して揺動指示を行ったのでは、指令ベクトルが時々刻々と変化するような指令がなされる場合は、その経路に沿った揺動は困難であることも想定される。例えば、円弧の加工経路に沿って加工を行う場合等である。
【００３０】
そこで、本実施形態においては、各軸に対する位置指令と、主軸の回転速度に基づいて、揺動動作を行わせるようにしている。具体的には、位置指令と主軸の回転速度に基づき、揺動の振幅（揺動振幅）を計算している。また、主軸の回転速度に基づいて、揺動の周波数（揺動周波数）を計算している。そして、計算して求めたこれら揺動振幅と揺動周波数とに基づいて揺動指令を計算している。
また、本実施形態においては、求めた揺動振幅より長い距離の指令経路を記憶している。このように、長い指令経路を記憶しておくことによって、これまでの経路を考慮した揺動を行わせることが可能になる。なお、本特許で経路とは加工経路を意味する。具体的には、例えば切削工具に出される位置指令によって、切削工具が辿る経路である。なお、この経路は、切削工具が固定される場合は、ワークの動く経路であってもよい。
本実施形態においては、指令経路を記憶しておくことによって、その記憶された指令経路に基づいて揺動指令を補正している。この結果、指令ベクトルが時々刻々と変化するような位置指令が工作機械に出力される場合であっても、（加工）経路に沿った揺動を行わせることができる。
【００３１】
そして、工作機械の各制御軸に出される位置指令と、上記補正された揺動指令とに基づきサーボモータの駆動制御を行う。
本実施形態において特徴的なことは、指令経路を記憶していることである。この結果、記憶されている指令経路に基づき揺動指令を補正することができる。そして、位置指令と、補正された揺動指令とが、外部のアンプを介して工作機械のサーボモータに印加される。これによって、指令経路に沿った揺動動作を行うことが可能となる。なお、揺動指令は、例えば、切削工具の送り量、前進量、後退量、前進速度、後退速度を含んでよい。
【００３２】
＜構成＞
以下、本実施形態に係るサーボ制御装置１００の構成を図に基づき説明する。本実施形態に係るサーボ制御装置１００の構成ブロック図が図２に示されている。図２に示すように、上位制御装置２００は、位置指令を出力する。サーボ制御装置１００は、工作機械（不図示）のサーボモータ４００を駆動して、この位置指令に合うように工作機械の切削工具やワークを制御する。サーボ制御装置１００は、請求の範囲の制御装置の好適な一例に相当する。
上位制御装置２００は、サーボ制御装置１００を介して工作機械を制御する上位の制御装置であり、例えば、コンピュータで構成することができる。また例えば、ユーザが操作を行う制御コンソール・制御パネルのような構成でもよい。また、複数の工作機械を統合管理する管理装置（管理コンピュータ）のような構成でもよい。また、工場全体を制御する制御装置（制御コンピュータ）のような構成を上位制御装置２００として利用してもよい。
【００３３】
サーボ制御装置１００は、ＣＰＵやメモリを備えたコンピュータで構成することが好ましく、以下説明する各部（各計算部、制御部等）は、当該ＣＰＵがメモリ中の所定のプログラムを実行することによって実現することができる。この所定のプログラムは、請求の範囲のコンピュータプログラムの好適な一例に相当する。
【００３４】
本実施形態に係るサーボ制御装置１００は、揺動指令計算部１０２と、位置指令記憶部１０３と、揺動指令補正部１０４と、位置・速度・電流制御部１１６と、を備えている。
揺動指令計算部１０２は、主軸の回転速度と、上位制御装置２００が出力する位置指令とに基づき、揺動指令を計算する。指令記憶部は、位置指令を記憶する。揺動指令補正部１０４は、揺動指令を、位置指令記憶部が記憶している指令経路に基づき補正する。位置・速度・電流制御部１１６は、位置指令に補正した揺動指令を加えて、サーボモータに対する駆動信号を求める。
【００３５】
さらに、サーボ制御装置１００は、主軸の回転速度を取得する回転速度取得部１１８と、上位制御装置２００からの位置指令を取得する位置指令取得部１２０と、位置フィードバック値を取得する位置取得部１２２と、も備えている。なお、主軸の回転速度は、分（秒）当たりの回転数でもいいし、角速度でもよい。これら各取得部は、コンピュータの入力インターフェースと、その入力インターフェースを制御して情報を取得するプログラムと、そのプログラムを実行するＣＰＵと、とから構成することが好ましい。なお、このプログラムも、請求の範囲のコンピュータプログラムの好適な一例に相当する。また、各取得部は、外部からのデータを保存するバッファ等を含んでいてもよい。
【００３６】
＜動作＞
以下、サーボ制御装置１００の具体的な動作を、図２の構成ブロック図及び図３の動作説明図、図４のフローチャートに基づき説明する。
位置指令取得部１２０は、上位制御装置２００が出力する、切削工具を駆動するサーボモータに対する位置指令またはワークを駆動するサーボモータ４００に対する位置指令、を取得するインターフェースである。ここで取得した位置指令は、揺動指令計算部１０２と、位置指令記憶部１０３と、揺動指令補正部１０４と、加算器１０６と、に供給される。
位置指令取得部１２０は、請求の範囲の位置指令取得部の好適な一例に相当する。また、位置指令取得部１２０による位置指令の取得動作は、図４のステップＳ１に該当する。
【００３７】
回転速度取得部１１８は、回転するワークまたは切削工具の主軸の回転速度を取得するインターフェースであり、ここで取得した回転速度は、揺動指令計算部１０２に供給される。
回転速度取得部１１８は、請求の範囲の回転速度取得部の好適な一例に相当する。回転速度取得部１１８による主軸の回転速度の取得動作は、図４のフローチャートにおけるステップＳ２の好適な一例に相当する。
なお、本実施形態における回転速度は、切削工具の回転速度である場合でもよいし、ワークの回転速度である場合でもよい。また、回転速度は、切削工具等の主軸に回転速度センサを設けて取得してもよいが、上位制御装置２００が出力する位置指令に基づき、その時間変化率から回転速度を求めてもよい。また、後述するサーボモータ４００の回転角度を検出する検出器５００が検出する位置フィードバック値の変化率（または微分）から算出することも好適である。
【００３８】
揺動指令計算部１０２は、取得した位置指令と、取得した回転速度と、に基づいて揺動指令を計算する。本実施形態においては、具体的には、揺動指令計算部１０２は、上位制御装置２００が出力する位置指令に基づき、次のような手順で揺動指令を計算する。これらの計算も、サーボ制御装置１００のＣＰＵが、揺動指令計算部１０２の機能を記述するプログラムを実行することによって実現している。
揺動指令計算部１０２は、請求の範囲の揺動振幅計算部と、揺動周波数計算部と、揺動指令計算部と、の好適な一例に相当する。
【００３９】
まず、揺動指令計算部１０２は、取得した位置指令と、取得した回転速度と、に基づいて揺動振幅を計算する。例えば、位置指令と主軸の回転速度とに基づき、主軸の１回転当たりの送り量を求め、その１回転当たりの送り量の例えば１．５倍を揺動振幅として設定してよい。この１．５とは、請求の範囲の第１の定数の好適な一例に相当する。
揺動振幅の計算を行う揺動指令計算部１０２は、請求の範囲の揺動振幅計算部の好適な一例に相当する。また、この揺動指令計算部１０２の揺動振幅の計算動作は、図４のステップＳ３：揺動振幅計算ステップに該当する。
【００４０】
次に、揺動指令計算部１０２は、取得した回転速度に基づいて揺動周波数を計算する。例えば、回転周波数の１．５倍の値を揺動周波数として設定することが好適である。この１．５とは、請求の範囲の第２の定数の好適な一例に相当する。
揺動周波数の計算を行う揺動指令計算部１０２は、請求の範囲の揺動周波数計算部の好適な一例に相当する。また、揺動指令計算部１０２の揺動周波数の計算動作は、図４のステップＳ４：揺動周波数計算ステップに該当する。
【００４１】
次に、揺動指令計算部１０２は、計算した揺動振幅と、計算した揺動周波数と、に基づいて揺動指令を計算する。この揺動指令は、上位制御装置２００から出力される位置指令とともにサーボモータに送られることによって、切削工具（またはワーク）の移動に際して、揺動動作が加えられる。
この揺動指令の計算を行う揺動指令計算部１０２は、請求の範囲の揺動指令計算部１０２の好適な一例に相当する。また、揺動指令計算部１０２の揺動指令の計算動作は、図４のステップＳ５：揺動指令計算ステップに該当する。
【００４２】
位置指令記憶部１０３は、揺動指令計算部１０２が求めた振幅と、位置指令とに基づいて、位置指令を記憶する。ここで、位置指令記憶部１０３は、少なくとも、揺動振幅より長い経路に渡って、前記位置指令を記憶する。これによって、位置指令記憶部１０３は、位置指令を複数個記憶し、それによって、いわば「指令経路」を記憶することになる。
位置指令記憶部１０３は、半導体記憶装置等の記憶装置と、この記憶装置に位置指令を書き込み／読み出しするプログラムと、このプログラムを実行するサーボ制御装置１００のＣＰＵと、から構成される。このプログラムも請求の範囲のコンピュータプログラムの好適な一例に相当する。
本実施形態において特徴的なことは、位置指令記憶部１０３が、揺動指令計算部１０２が計算した揺動振幅より長い経路の指令経路を記憶していることである。このような長さの指令経路を記憶しておくことによって、後述するように、揺動指令をかかる指令経路上で補正することができたものである。位置指令記憶部１０３は、請求の範囲の位置指令記憶部の好適な一例に相当する。また、この位置指令記憶部１０３の記憶動作は、図４のステップＳ６：位置指令記憶ステップに該当する。
【００４３】
揺動指令補正部１０４は、位置指令記憶部１０３が記憶する指令経路に基づき、揺動指令計算部１０２が計算した揺動指令を補正する。揺動指令補正部１０４は、揺動指令を補正する動作を記述するプログラムと、このプログラムを実行するサーボ制御装置１００のＣＰＵと、から実現されている。
【００４４】
＜揺動指令の補正＞
本実施形態においては、揺動指令補正部１０４は、指令経路を考慮して揺動指令を補正したので、より円滑な工作を実行することができる。補正の例が図３に示されている。図３は、図１Ａのワークの上を工具が移動していく様子と、その際の揺動の様子を説明する説明図である。この図３は、図１Ａと同様に、縦にＸ軸をとり、水平方向にＺ軸がとられている。
【００４５】
図３におけるワークも、図１Ａと同様に，略円筒形をなしており、図３に示すような形状にワークを加工している様子が同図に示されている。図３には、加工の形状が、ワーク断面の輪郭Ｅとして示されている。このワークの表面を指令経路Ｆに基づき切削工具が移動していき、ワークの表面を加工していく。図３に示すように、加工方向Ｂは、図１Ａと同様にＺ軸方向であり、切削工具が、左側の指令経路Ｆから、右側の指令経路Ｆに順次移動していき、回転するワークの表面を徐々に加工していく。
【００４６】
本実施形態においては、指令経路Ｆに、既存の制御装置において利用される揺動指令Ｇが加わることによって、切削工具は、工具経路Ｈの上を辿ることになる（図３参照）。この揺動指令Ｇは、指令経路を考慮せず、その時点の位置指令に基づき計算した揺動指令Ｇであり、図１Ａ、図１Ｂで説明したように、例えば加工方向Ｂに沿った揺動指令である。
これに対して、本実施形態においては、記憶されている指令経路を考慮して揺動を補正することによって、過去の指令経路の上に沿うように揺動指令を補正することができる。図３においては、この補正後の揺動指令Ｊが示されている。このような補正後の揺動指令Ｊを指令経路に加えれば、指令経路上に沿うように揺動を行わせることができ、その結果、ワークの加工をより滑らかにすることができる。補正後の揺動指令Ｊを加えた工具経路Ｋが、図３に示されており、指令経路上に沿った揺動動作ができるように揺動指令Ｊが補正されている。
【００４７】
揺動指令補正部１０４は、請求の範囲の揺動指令補正部の好適な一例に相当する。また、この揺動指令の補正は、図４のステップＳ７に該当する。
このようにして補正された揺動補正は、加算器１０６において、位置指令に加えられて、位置・速度・電流制御部１１６に供給される。
位置・速度・電流制御部１１６は、補正後の揺動指令が加算された位置指令に基づき、サーボモータを駆動する駆動信号を求めて、外部のアンプ３００にこの駆動信号を供給（出力）する。
したがって、位置・速度・電流制御部１１６と加算器１０６とは、請求の範囲の駆動部の好適な一例に相当する。また、位置・速度・電流制御部１１６と加算器１０６とによる、駆動信号の出力は、図３のフローチャートのステップＳ８に該当する。
【００４８】
アンプ３００は、上述した駆動信号を増幅し、サーボモータ４００を駆動するのに十分な電力をサーボモータ４００に供給する。サーボモータ４００は、（増幅された）駆動信号で駆動される。なお、図２においては、アンプ３００やサーボモータ４００が、それぞれ１個ずつ示されているが、それぞれ複数個備えられていてよい。多軸制御の場合（複数の制御軸を備えている工作機械の場合）は、その軸数分だけアンプ３００及びサーボモータ４００が備えられていてよい。
【００４９】
サーボモータ４００の駆動軸には検出器５００が備えられており、切削工具やワークの位置を検出することができる。検出器５００は、ロータリーエンコーダや、リニアエンコーダ等を用いて構成することができる。この検出器５００は、位置フィードバック値を、位置取得部１２２に対して出力する。位置取得部１２２は、切削工具の位置またはワークの位置、を位置フィードバック値として取得するインターフェースである。位置取得部１２２が取得した位置フィードバック値は、加算器１６に加えられる。これによって、いわゆるフィードバック制御が実行され、サーボモータの位置と、位置指令による位置とをより正確に合わせることができる。
【００５０】
なお、図４のフローチャートにおいては、ステップＳ８の後、上位制御装置２００から引き続き出力される位置指令の取得が実行され（ステップＳ１）、以下、順次処理が繰り替えさえる。ただし、実際には、出力される位置指令に対して、図４のフローチャートに示される処理が連続して実行されるので、図４における各処理は並行して実行されてよい。
以上述べたようにして、本実施形態に係るサーボ制御装置１００は、複数の制御軸を有する工作機械のサーボモータに対して揺動動作を実行させる。
特に、本実施形態においては、記憶された指令経路に基づいて揺動指令を補正したので、指令経路上で揺動動作を行わせることができる。また、本実施形態においては、位置指令と補正された揺動指令に基づいて、揺動動作を実行している。このように、記憶されている指令経路を考慮して揺動動作を行わせることができるので、より円滑に指令経路上でワークに対する工作を実行することができる。
【００５１】
＜第１の定数、第２の定数の設定＞
第１の定数は、本実施形態では、１．５倍に設定したが、０．５倍から１０倍の範囲で設定することができる。ここで、揺動振幅は、主軸が１回転する間の（ワーク１０、切削工具２４）の移動量（加工方向への移動量）の０．５倍以上の振幅が通常は必要である。
また、主軸１回転の速度は、例えば、上述した主軸の角度の変化から推定（角速度）することもでき、移動速度は、位置指令の変化から推定（速度指令）することもできる。この推定した角速度から主軸１回転に要する時間が判明する。したがって、１回転の時間×速度指令を算出すれば、主軸１回転当たりのワーク１０（または切削工具）の移動量を求めることができる。
【００５２】
このようにして求めた移動量から、第１の定数倍して、揺動振幅を求める（設定する）ことができる。また、位置指令と、揺動振幅が加工方向への移動量の０．５倍以上となるように第１の所定の数を設定してもよい。このような第１の定数の算出は、人間が行ってもよいし、サーボ制御装置１００や上位制御装置２００が実行してもよい。
例えば、第１の定数は、１倍超〜２倍未満程度の範囲で設定することが好ましく、１．５倍近傍がより好ましい範囲である。これらの数値範囲も、請求の範囲の第１の定数の好適な例に相当する。また、例えば、第２の定数も、本実施形態では、１．５倍に設定したが、０．５倍から１０倍の範囲で設定することができる。特に、１倍超〜２倍未満程度の範囲で設定することが好ましく、１．５倍近傍がより好ましい範囲である。これらの数値範囲も、請求の範囲の第２の定数の好適な例に相当する。
【００５３】
また、これら第１の定数や、第２の定数は、上位制御装置２００が、サーボ制御装置１００に対して指示するように構成してもよい。この場合、サーボ制御装置１００は、指示された第１の定数、第２の定数を、サーボ制御装置１００内の所定のメモリに格納しておくことができる。また、第１の定数や、第２の定数は、ユーザが上位制御装置２００を操作して設定してもよい。また、ユーザがサーボ制御装置１００に対して直接これらの定数を設定してもよい。
【００５４】
＜揺動指令の計算の制御＞
なお、揺動指令計算部１０２は、工作機械の加工の目的によっては、指令経路に沿った揺動以外の様々な揺動指令と、指令経路上に沿った揺動指令とを、切り替えて制御してもよい。また、様々な揺動指令と、指令経路上に沿った揺動指令と、を組み合わせた揺動指令を計算してもよい。例えば、切削の際に発生した切屑を細断する等の目的のためには、切削工具が進行する加工方向に、切削工具とワークとが相対的に揺動するような揺動指令を計算してもよいし、このような加工方向の揺動指令と、上述した指令経路上に沿った揺動指令と、を組み合わせた揺動指令を計算してもよい。
【００５５】
また、揺動指令計算部１０２は、外部からの指示によって、揺動指令の計算を開始、中断、または終了するように構成することも好適である。例えば、外部の上位制御装置２００からの指示によって、揺動指令の計算を開始、中断、終了するように構成してもよい。
【００５６】
上位制御装置２００が出力したこのような指示を入力するためのインターフェース部がサーボ制御装置１００に備えさせる必要があるが、他のインターフェース、例えば回転速度取得部１１８等と共用することも好適である。
【００５７】
また、揺動指令補正部１０４も、揺動指令計算部１０２と同様に、外部からの指示によって、揺動指令の補正を開始、中断、または終了するように構成することも好適である。例えば、外部の上位制御装置２００からの指示によって、補正動作の実行を開始、中断、終了するように構成してもよい。また、上位制御装置２００が出力したこのような指示を入力するためのインターフェース部は、上記揺動指令計算部１０２と共用してもよい。例えば、位置指令取得部１２０等を利用してもよいし、別個専用のインターフェースを設けてもよい。
【００５８】
以上、本発明の実施形態について詳細に説明したが、前述した実施形態は、本発明を実施するにあたっての具体例を示したに過ぎない。本発明の技術的範囲は、前記実施形態に限定されるものではない。本発明は、その趣旨を逸脱しない範囲において種々の変更が可能であり、それらも本発明の技術的範囲に含まれる。
【符号の説明】
【００５９】
１０、２０  ワーク
１２、２２  主軸
１４、２４  切削工具
１００  サーボ制御装置
１０２  揺動指令計算部
１０３  位置指令記憶部
１０４  揺動指令補正部
１０６  加算器
１１６  位置・速度・電流制御部
１１８  回転速度取得部
１２０  位置指令取得部
１２２  位置取得部
２００  上位制御装置
３００  アンプ
４００  サーボモータ
５００  検出器
Ａ  揺動    
Ｂ  加工方向
Ｃ  空振り
Ｄ  切削
Ｅ  ワーク断面の輪郭
Ｆ  指令経路
Ｇ  揺動指令
Ｈ  工具経路（指令経路＋揺動指令）
Ｊ  補正後の揺動指令
Ｋ  工具経路（指令経路＋補正後の揺動指令）
【図１Ａ】
0006457432.tif 000002
【図１Ｂ】
0006457432.tif 000003
【図２】
0006457432.tif 000004
【図３】
0006457432.tif 000005
【図４】
0006457432.tif 000006