(57)【特許請求の範囲】
【請求項１】
複数の駆動軸を制御して工具を駆動し、前記工具の進行方向である切削方向によらず固定の振動方向に前記工具を振動させながら加工対象物を切削加工させる数値制御装置であって、
前記振動方向と、前記切削方向とが一致するか否かを判定する一致判定部と、
前記振動方向と前記切削方向とが一致しない場合、前記加工対象物の加工対象面の前記振動方向における位置の切削前後の差分である切込量の指令値と、前記駆動軸の振動振幅量に基づく前記切込量の実際値とを比較する比較部と、
前記実際値が前記指令値よりも大きい場合、前記実際値が小さくなるように前記工具の動きを調整する調整部と、
を備えることを特徴とする数値制御装置。
【請求項２】
前記調整部は、前記実際値が前記指令値以下となるように前記振動振幅量を調整する振動振幅調整部を有することを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記調整部は、前記実際値が前記指令値以下となるように前記工具の移動経路を調整する経路調整部を有することを特徴とする請求項１に記載の数値制御装置。
【請求項４】
前記調整部は、前記切削方向が変化する点までの残距離に基づいて、前記振動振幅量を調整する残距離調整部を有することを特徴とする請求項１から３のいずれか１項に記載の数値制御装置。
【請求項５】
前記駆動軸の制御手順を記述した加工プログラムを識別するための加工プログラム識別情報と、前記工具の加工経路を示す加工経路情報と、前記工具を識別するための工具識別情報と、前記工具のオフセットを示すオフセット情報と、を状態変数として観測する状態観測部と、
前記状態変数に基づいて作成されるデータセットに従って、前記切込量を学習する学習部と、
を有する機械学習装置をさらに備えることを特徴とする請求項１から４のいずれか１項に記載の数値制御装置。
【請求項６】
前記比較部は、前記実際値と、前記学習部の学習結果が示す前記切込量の指令値とを比較することを特徴とする請求項５に記載の数値制御装置。
【請求項７】
複数の駆動軸を制御して工具を駆動し、前記工具の進行方向である切削方向によらず固定の振動方向に前記工具を振動させながら加工対象物を加工する振動切削において、前記加工対象物の加工対象面の前記振動方向における位置の切削前後の差分である切込量の指令値を学習する機械学習装置であって、
前記駆動軸の制御手順を記述した加工プログラムを識別するための加工プログラム識別情報と、前記工具の加工経路を示す加工経路情報と、前記工具を識別するための工具識別情報と、を状態変数として観測する状態観測部と、
前記状態変数に基づいて作成されるデータセットに従って、前記切込量を前記加工プログラムの切削指令毎に学習する学習部と、
を備えることを特徴とする機械学習装置。
【請求項８】
複数の駆動軸を制御して工具を駆動し、前記工具の進行方向である切削方向によらず固定の振動方向に前記工具を振動させながら加工対象物を切削加工させる数値制御方法であって、
数値制御装置が、前記振動方向と、前記切削方向とが一致するか否かを判定するステップと、
前記振動方向と前記切削方向とが一致しない場合、前記数値制御装置が、前記加工対象物の加工対象面の前記振動方向における位置の切削前後の差分である切込量の指令値と、前記駆動軸の振動振幅量に基づく前記切込量の実際値とを比較するステップと、
前記実際値が前記指令値よりも大きい場合、前記数値制御装置が、前記実際値が小さくなるように前記工具の動きを調整するステップと、
を含むことを特徴とする数値制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工具を振動させながら加工対象物を切削加工する工作機械を制御する数値制御装置、機械学習装置および数値制御方法に関する。
【背景技術】
【０００２】
数値制御装置は、加工プログラムに従って工具の動作を制御し、工具に加工対象物を加工させている。数値制御装置の中には、工具を振動させながら加工対象物を振動切削させるものがある。【０００３】
特許文献１には、加工対象物を切削加工する工作機械を制御する制御装置が開示されている。この制御装置は、工具を加工方向に振動させながら工作機械に切削加工を行わせている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−１８１１００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記従来の技術によれば、切削方向に振動させるための処理負荷が大きくなってしまう。このような処理負荷の問題に対して、振動方向を１つの方向に固定することが考えられる。しかしながら振動方向を固定すると、加工方向と振動方向が一致しないとき、振動によって切込量の指令値よりも大きく加工対象面が切削されてしまい、加工精度が低下してしまう場合があるという問題があった。【０００６】
本発明は、上記に鑑みてなされたものであって、振動方向を固定した振動切削機能を有する数値制御装置において、加工精度の低下を抑制することが可能な数値制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明にかかる数値制御装置は、複数の駆動軸を制御して工具を駆動し、工具の進行方向である切削方向によらず固定の振動方向に工具を振動させながら加工対象物を切削加工させる。この数値制御装置は、振動方向と、切削方向とが一致するか否かを判定する一致判定部と、振動方向と切削方向とが一致しない場合、加工対象物の加工対象面の位置の切削前後の差分である切込量の指令値と、駆動軸の振動振幅量に基づく切込量の実際値とを比較する比較部と、実際値が指令値よりも大きい場合、実際値が小さくなるように工具の動きを調整する調整部と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明にかかる数値制御装置は、振動方向を固定した振動切削機能を有する数値制御装置において、加工精度の低下を抑制することが可能になるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態１にかかる数値制御装置の機能構成を示す図
【図２】図１に示す数値制御装置の制御対象である工作機械の構成を示す図
【図３】図１に示す数値制御装置が用いる加工プログラムの一例を示す図
【図４】本発明の実施の形態１にかかる調整部の構成を示す図
【図５】図４に示す調整部の機能を説明するための図
【図６】図４に示す調整部を有する数値制御装置の動作を説明するためのフローチャート
【図７】本発明の実施の形態２にかかる調整部の構成を示す図
【図８】図７に示す調整部の機能を説明するための図
【図９】図７に示す調整部を有する数値制御装置の動作を説明するためのフローチャート
【図１０】本発明の実施の形態３にかかる調整部の構成を示す図
【図１１】図１０に示す調整部の機能を説明するための図
【図１２】図１０に示す調整部を有する数値制御装置の動作を説明するためのフローチャート
【図１３】本発明の実施の形態４にかかる数値制御装置の機能構成を示す図
【図１４】本発明の実施の形態１〜４にかかる数値制御装置のハードウェア構成を説明するための図
【発明を実施するための形態】
【００１０】
以下に、本発明の実施の形態にかかる数値制御装置、機械学習装置および数値制御方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態１．
図１は、本発明の実施の形態１にかかる数値制御装置１Ｘの機能構成を示す図である。図２は、図１に示す数値制御装置１Ｘの制御対象である工作機械１１０の構成を示す図である。
【００１２】
数値制御装置１Ｘは、工作機械１１０の複数の駆動軸を制御する。数値制御装置１Ｘは、駆動軸を制御することで、加工対象物７０と工具６６Ａとの相対位置を変化させながら、加工対象物７０の切削加工を制御する。このとき数値制御装置１Ｘは、工具６６Ａを固定の振動方向に振動させながら、加工対象物７０を切削加工させる。ここで工具６６Ａの振動方向は、工具６６Ａの進行方向である切削方向によらず固定の方向である。
【００１３】
図１には、工作機械１１０の構成要素である駆動部９０が示されている。駆動部９０は、Ｘ軸方向に工具６６Ａを移動させるサーボモータ９０１と、Ｚ軸方向に工具６６Ａを移動させるサーボモータ９０２と、サーボモータ９０１の位置および速度を検出する検出器９７と、サーボモータ９０２の位置および速度を検出する検出器９８とを有する。また、駆動部９０は、数値制御装置１Ｘからの指令に基づいて、サーボモータ９０１を制御することで工具６６ＡのＸ軸方向の動作を制御するＸ軸サーボ制御部９１と、サーボモータ９０２を制御することで工具６６ＡのＺ軸方向の動作を制御するＺ軸サーボ制御部９２とを有する。Ｘ軸サーボ制御部９１は、検出器９７が検出する位置および速度に基づいて、サーボモータ９０１へフィードバック制御を行う。Ｚ軸サーボ制御部９２は、検出器９８が検出する位置および速度に基づいて、サーボモータ９０２へフィードバック制御を行う。
【００１４】
駆動部９０は、主軸６０を回転させる主軸モータ９１１と、主軸モータ９１１の位置および速度を検出する検出器２１１と、数値制御装置１Ｘからの指令に基づいて、主軸モータ９１１を制御する主軸サーボ制御部２００とを有する。主軸サーボ制御部２００は、検出器２１１が検出する位置および速度に基づいて、主軸モータ９１１へのフィードバック制御を行う。
【００１５】
工作機械１１０は、刃物台６５Ａと、第１スピンドル７５を備える主軸台と、図１に示す駆動部９０とを有する。刃物第６５Ａには、工具６６Ａが取り付けられる。刃物台６５ＡにはＸ軸方向の駆動軸６１ＸおよびＺ軸方向の駆動軸６１Ｚが設けられている。刃物台６５Ａは、Ｘ軸方向およびＺ軸方向に移動可能である。数値制御装置１Ｘは、主軸６０と、駆動軸６１Ｘ，６１Ｚとを制御することによって、工具６６ＡのＸＺ平面における位置を移動させ、工具６６Ａと加工対象物７０を加工する。
【００１６】
第１スピンドル７５は、加工対象物７０が取り付けられた状態で回転し、これにより加工対象物７０を回転させる。第１スピンドル７５の回転軸、すなわち加工対象物７０の回転軸は、主軸台に設けられた主軸６０である。
【００１７】
数値制御装置１Ｘは、工具６６Ａを固定の振動方向に振動させながら、切削加工を行う。工具６６Ａを振動させながら行う切削加工は振動切削加工とも呼ばれる。振動方向は、工具を移動させるための複数の駆動軸のうちの１つの移動方向であり、本実施の形態ではＺ軸方向である。Ｚ軸方向において、工具６６Ａは、加工経路に沿った工具６６Ａ自体の移動距離に加えて、振動振幅量だけ移動する。以下、工具６６Ａ自体の移動距離に、振動振幅量を加えた移動距離を、振動前進距離と称する。
【００１８】
なお、ここでは工具６６Ａの移動方向をＸ軸方向およびＺ軸方向としたが、本実施の形態はかかる例に限定されない。軸方向は装置構成によるため、上記の例に限定されない。また、工作機械１１０は、複数の刃物台６５Ａを備えていてもよい。この場合、駆動部９０は、複数の刃物台６５Ａのそれぞれに対応するＸ軸サーボ制御部９１、Ｚ軸サーボ制御部９２、検出器９７，９８およびサーボモータ９０１，９０２を備える。
【００１９】
数値制御装置１Ｘは、制御演算部２Ｘと、入力操作部３と、表示部４とを有する。入力操作部３は、制御演算部２Ｘに情報を入力する手段である。入力操作部３は、キーボード、ボタンまたはマウスなどの入力手段によって構成される。ユーザは、入力操作部３を用いることで、数値制御装置１Ｘにコマンド、加工プログラムまたはパラメータなどの情報を入力することができる。入力操作部３を用いて入力された情報は、制御演算部２Ｘに入力される。
【００２０】
表示部４は、液晶表示装置などの表示手段によって構成される。表示部４は、制御演算部２Ｘが処理した情報を表示画面に表示する。
【００２１】
制御演算部２Ｘは、画面処理部３１と、入力制御部３２と、データ設定部３３と、記憶部３４と、制御信号処理部３５と、ＰＬＣ（Programmable  Logic  Controller）３６と、解析処理部３７と、補間処理部３８Ｘと、加減速処理部３９と、軸データ出力部４０と、を有する。なお、ＰＬＣ３６は、制御演算部２Ｘの外部に設けられてもよい。
【００２２】
記憶部３４は、パラメータ記憶エリア３４１と、表示データ記憶エリア３４２と、加工プログラム記憶エリア３４３と、共有エリア３４４とを有する。パラメータ記憶エリア３４１内には、制御演算部２Ｘの処理で使用されるパラメータなどが格納される。具体的には、パラメータ記憶エリア３４１内には、数値制御装置１Ｘを動作させるための制御パラメータ、サーボパラメータおよび工具データが格納される。表示データ記憶エリア３４２内には、表示部４で表示される画面表示データが格納される。画面表示データは、表示部４に情報を表示するためのデータであり、表示する画面の内容を示す。加工プログラム記憶エリア３４３には、加工対象物７０の加工に用いられる加工プログラムが格納される。加工プログラムは、工具６６Ａを振動させる指令である振動指令と、工具６６Ａを移動させる指令である移動指令とを含む。共有エリア３４４には、一時的に使用されるデータが記憶される。
【００２３】
図３は、図１に示す数値制御装置１Ｘが用いる加工プログラムの一例を示す図である。この加工プログラムは、複数の指令Ｃ１〜Ｃ５を含んでいる。第１の指令Ｃ１は、主軸回転指令であり、主軸６０の回転数を指定している。第２の指令Ｃ２は、位置決め指令である。第２の指令Ｃ２において、「Ｘ１０」は工具６６ＡのＸ軸方向の位置を指定しており、「Ｚ５０」はＺ軸方向の位置を指定している。第３の指令Ｃ３は、振動指令である。第３の指令Ｃ３において、「Ｇ１６５．２」は、工具６６Ａの振動方向をＺ軸方向に固定することを指定しており、「Ａ２．０」は、振動振幅量を指定しており、「Ｄ１．０」は、振動回数を指定している。第４の指令Ｃ４は、加工方向と振動方向が一致する場合の切削指令である。第４の指令Ｃ４の「Ｚ１０」はＺ軸方向の移動量を指定しており、「Ｆ０．５」は工具６６Ａの送り速度を指定しており、「Ｅ０．０５」は切込量を指定している。第５の指令Ｃ５は、加工方向と振動方向が一致しない場合の切削指令である。第５の指令Ｃ５において、「Ｘ１０」はＸ軸方向の移動量を指定しており、「Ｚ５」はＺ軸方向の移動量を指定しており、「Ｆ０．５」は工具６６Ａの送り速度を指定しており、「Ｅ０．０５」は切込量を指定している。
【００２４】
例えば、Ｍコードは、機械動作指令を示しており、Ｍ３の場合は主軸回転指令を表している。Ｇコードは、駆動軸の移動に関する指令を示す。Ｓコードは、主軸モータ回転数指令を示す。
【００２５】
図１の説明に戻る。解析処理部３７は、移動指令解析部３７１と、振動指令解析部３７２とを有する。補間処理部３８Ｘは、一致判定部１１と、比較部１２と、調整部１３と、波形生成部１４と、振動移動量生成部１５とを有する。
【００２６】
画面処理部３１は、表示データ記憶エリア３４２に記憶されている画面表示データを表示部４に表示させる。入力制御部３２は、入力操作部３を用いて入力される情報を受け付ける。データ設定部３３は、入力制御部３２が受け付けた情報を記憶部３４に記憶させる。入力操作部３が受け付けた情報は、入力制御部３２およびデータ設定部３３を介して記憶部３４に書き込まれる。例えば、入力された内容が加工プログラムの編集内容の場合、データ設定部３３は、記憶部３４の加工プログラム記憶エリア３４３が保持している加工プログラムに編集された内容を反映させて加工プログラム記憶エリア３４３に編集後の加工プログラムを格納する。パラメータが入力された場合、データ設定部３３は、記憶部３４のパラメータ記憶エリア３４１に保持されているパラメータを更新する。
【００２７】
制御信号処理部３５は、ＰＬＣ３６に接続されている。制御信号処理部３５は、ＰＬＣ３６から、工作機械１１０を動作させるためのリレーなどの信号情報を受け付ける。制御信号処理部３５は、受け付けた信号情報を、記憶部３４の共有エリア３４４に書き込む。信号情報は、加工運転時に補間処理部３８Ｘが参照する。また、制御信号処理部３５は、解析処理部３７によって共有エリア３４４に補助指令が出力されると、この補助指令を共有エリア３４４から読み出してＰＬＣ３６に送る。補助指令は、駆動軸を動作させる指令以外の指令である。補助指令は、例えば、Ｍコードである。
【００２８】
ＰＬＣ３６は、制御信号処理部３５から補助指令が送られると、補助指令に対応する処理を実行する。ＰＬＣ３６は、機械動作が記述されたラダープログラムを保持している。ＰＬＣ３６は、補助指令を受け付けると、ラダープログラムに従って補助指令に対応する処理を実行する。ＰＬＣ３６は、補助指令に対応する処理を実行した後、加工プログラムの次のブロックを実行させるために、補助指令に対応する処理が完了したことを示す完了信号を制御信号処理部３５に送る。
【００２９】
制御演算部２Ｘでは、制御信号処理部３５と、解析処理部３７と、補間処理部３８Ｘとが、記憶部３４を介して接続されており、記憶部３４を介して情報の書き込みおよび読出しが行われる。以下の説明では、制御信号処理部３５と、解析処理部３７と、補間処理部３８Ｘとの間の情報の書き込みおよび読出しを説明する際に、記憶部３４を介して行っていることを省略する場合がある。
【００３０】
実行する加工プログラムは、例えば、ユーザが入力操作部３を用いて加工プログラムを指定する入力を行うことで選択される。加工プログラムの指定は、例えば、加工プログラムを識別する加工プログラム識別情報を用いて行われる。指定された加工プログラム識別情報は、入力制御部３２およびデータ設定部３３を介して共有エリア３４４に書き込まれる。解析処理部３７は、加工プログラム識別情報で指定された加工プログラムを記憶部３４から読み込み、読み込んだ加工プログラムを解析する。移動指令解析部３７１は、加工プログラムに含まれる移動指令を解析して移動条件を生成する。移動指令解析部３７１は、Ｇコードで示される移動指令に対応する移動条件を生成する。移動条件は、刃物台６５Ａの移動速度、刃物台６５Ａを移動させる位置などを含む。
【００３１】
振動指令解析部３７２は、加工プログラムに含まれる振動指令を解析する。振動指令解析部３７２は、振動指令を解析して振動条件を生成する。振動条件は、振動切削を実行する際の振動の条件である。振動条件は、例えば、振動切削中の振動方向および振動回数を含む。振動回数は、主軸６０が１回転する間に刃物台６５ＡがＺ軸方向に振動する回数である。解析処理部３７は、解析結果を記憶部３４の共有エリア３４４に書き込む。解析結果は、例えば、移動条件および振動条件である。
【００３２】
補間処理部３８Ｘの一致判定部１１は、工具６６Ａの振動方向と、切削方向とが一致するか否かを判定する。振動方向は、例えば、解析処理部３７の振動指令解析部３７２が加工プログラムを解析することで抽出された、振動指令によって指定される振動方向である。この振動方向は、解析処理部３７によって共有エリア３４４に書き込まれる。また、振動方向は、ＰＬＣ３６で指定された方向であってもよい。この場合、振動方向は、制御信号処理部３５によって共有エリア３４４に書き込まれる。或いは振動方向は、入力操作部３を用いてユーザによって指定された方向であってもよい。この場合、振動方向は、データ設定部３３によってパラメータ記憶エリア３４１に書き込まれる。一致判定部１１は、記憶部３４から振動方向を読み込む。切削方向についても振動方向と同様に、加工プログラム中の移動指令によって指定された方向であってもよいし、ＰＬＣ３６で指定された方向であってもよいし、入力操作部３を用いてユーザによって指定された方向であってもよい。これらの切削方向は共有エリア３４４に書き込まれるため、一致判定部１１は、記憶部３４から切削方向を読み込む。
【００３３】
比較部１２は、一致判定部１１の判定結果が、振動方向と切削方向とが一致しないことを示す場合、切込量の指令値と、駆動軸６１Ｚの振動振幅量に基づく切込量の実際値とを比較する。ここで、切込量は、加工対象物７０の加工対象面の位置の切削前後の差分である。切込量の指令値は、切削方向および振動方向と同様に、加工プログラム中の移動指令によって指定された値であってもよいし、ＰＬＣ３６で指定された値であってもよいし、入力操作部３を用いてユーザによって指定された値であってもよい。切込量の実際値は、移動指令および振動指令から特定される実際の値である。本実施の形態では、工具６６Ａの振動の中心は、加工対象物７０の加工対象面上であるため、切込量の実際値は、振動振幅量となる。以下、切込量の実際値は振動振幅量として説明する。
【００３４】
調整部１３は、工具６６Ａの動きを指定する指令を調整する機能を有する。調整部１３は、切込量の実際値が指令値よりも大きい場合、実際値が指令値以下となるように工具６６Ａの動きを調整する。調整部１３の詳細は、後に詳述する。
【００３５】
波形生成部１４は、解析処理部３７から取得した情報に基づいて、振動の基本波形を生成する。調整部１３が指令の調整を行った場合、波形生成部１４は、調整後の指令に基づいて、振動の基本波形を生成する。
【００３６】
振動移動量生成部１５は、波形生成部１４が生成した基本波形から、移動経路に基本波形を加算した振動前進位置と、振幅を減算した振動後進位置とを求める。振動移動量生成部１５は、Ｘ軸およびＺ軸のそれぞれの振動移動量を生成する。振動移動量生成部１５が生成した振動移動量は、加減速処理部３９、軸データ出力部４０を介して、駆動部９０に送られる。駆動部９０が振動移動量生成部１５からの振動移動量に基づいてサーボモータ９０１，９０２を制御することで、振動切削が行われる。
【００３７】
加減速処理部３９は、補間処理部３８Ｘから供給された補間処理の結果に対して、加速度をなめらかに変化させるための加減速処理を行う。加減速処理部３９は、移動の開始および停止の際の加減速処理を行う。具体的には、加減速処理部３９は、Ｘ軸方向の移動量に基づいて、Ｘ軸方向への移動指令を生成し、Ｚ軸方向の移動量に基づいて、Ｚ軸方向への移動指令を生成する。加減速処理部３９は、加減速処理の処理結果である速度指令を軸データ出力部４０に出力する。なお、加減速処理部３９は、主軸回転数に対しては加減速処理を行わない。加減速処理部３９は、主軸回転数に対応する回転数指令を軸データ出力部４０に送る。
【００３８】
軸データ出力部４０は、速度指令を駆動部９０に出力する。具体的には、軸データ出力部４０は、Ｘ軸への速度指令をＸ軸サーボ制御部９１に出力し、Ｚ軸への速度指令をＺ軸サーボ制御部９２に出力する。また、軸データ出力部４０は、主軸６０への回転数指令を主軸サーボ制御部２００に出力する。これにより、Ｘ軸サーボ制御部９１はＸ軸方向の動作を制御し、Ｚ軸サーボ制御部９２はＺ軸方向の動作を制御し、主軸サーボ制御部２００は主軸６０の回転動作を制御する。
【００３９】
図４は、本発明の実施の形態１にかかる調整部１３の構成を示す図である。調整部１３は、振動振幅調整部１３１を有する。調整部１３は、工具６６Ａの動きを指定する指令を調整することで、工具６６Ａの動きを調整することができる。工具６６Ａの動きを調整する方法については様々な方法が考えられるが、本実施の形態では、調整部１３は、振動振幅量を調整することで工具６６Ａの動きを調整する。
【００４０】
振動振幅調整部１３１は、切込量の実際値が指令値以下となるように振動振幅量を調整する。図５は、図４に示す調整部１３の機能を説明するための図である。加工対象物７０は、主軸６０を中心に回転している。この状態で、工具６６Ａは、切削方向Ｄａ−１，Ｄａ−２に移動しながら、振動方向Ｄｂに振動している。工具６６Ａの振動方向Ｄｂは、工具６６Ａの進行方向が切削方向Ｄａ−１から切削方向Ｄａ−２に変化しても変わらず固定である。振動方向Ｄｂと一致しない切削方向Ｄａ−２に工具６６Ａが移動するとき、工具６６Ａの振動の中心は加工対象面の表面である。工具６６Ａが切削方向Ｄａ−１に移動している間、工具６６Ａは振動振幅量Ｗ１で振動している。振動振幅調整部１３１は、切削方向Ｄａ−２と振動方向Ｄｂとが一致しないことを検知すると、振動振幅量Ｗ２に変化させる。振動振幅量Ｗ２は、切削前の加工対象面である第１の加工対象面Ｓ１と切削後の加工対象面である第２の加工対象面Ｓ２とのＺ軸方向の差分である切込量の指令値以下となるように調整される。
【００４１】
図６は、図４に示す調整部１３を有する数値制御装置１Ｘの動作を説明するためのフローチャートである。数値制御装置１Ｘの補間処理部３８Ｘは、振動振幅量、切込量の指令値、切削方向および振動方向を加工プログラムのブロック毎に取得する（ステップＳ１０１）。一致判定部１１は、次ブロックの切削方向と振動方向が一致するか否かを判定する（ステップＳ１０２）。
【００４２】
切削方向と振動方向が一致しない場合（ステップＳ１０２：Ｎｏ）、比較部１２は、次ブロックの振動振幅量と切込量の指令値とを比較して、振動振幅量が切込量の指令値よりも大きくなるか否かを判断する（ステップＳ１０３）。なお、振動振幅量は、切込量の実際値の一例である。ここでは、工具６６Ａが加工対象面を中心として振動することとしているため、切込量の実際値を振動振幅量としている。工具６６Ａの振動中心が加工対象面でない場合、振動振幅量に基づいて算出される切込量の実際値が用いられる。
【００４３】
振動振幅量が切込量の指令値よりも大きい場合（ステップＳ１０３：Ｙｅｓ）、調整部１３の振動振幅調整部１３１は、次ブロックの振動振幅量を切込量の指令値以下になるように変更する（ステップＳ１０４）。数値制御装置１Ｘは、次ブロックから変更した振動振幅量で振動切削を実行する（ステップＳ１０５）。具体的には、波形生成部１４は、調整後の振動振幅量に基づいて、振動の基本波形を生成する。振動移動量生成部１５は、波形生成部１４が生成した基本波形から、移動経路に基本波形を加算した振動前進位置と、振幅を減算した振動後進位置とを求め、加工プログラムで指定された次ブロックの駆動軸の振動移動量を生成する。振動移動量生成部１５が生成した振動移動量は、加減速処理部３９および軸データ出力部４０を介して、駆動部９０に送られる。駆動部９０は、振動移動量に基づいて、加工プログラムで指定された駆動軸を制御し、振動切削を行う。
【００４４】
切削方向と振動方向が一致する場合（ステップＳ１０２：Ｙｅｓ）、ステップＳ１０３からステップＳ１０５の処理は省略される。振動振幅量が切込量の指令値以下である場合（ステップＳ１０３：Ｎｏ）、ステップＳ１０４およびステップＳ１０５の処理は省略され、設定された主軸回転数、振動回数、振動振幅量で振動切削を継続する。
【００４５】
以上説明したように、本発明の実施の形態１によれば、振動方向を固定した振動切削機能を有する数値制御装置１Ｘにおいて、工作機械１１０の工具６６Ａの進行方向である切削方向が工具６６Ａの振動方向と一致しないとき、加工対象物７０の加工対象面の位置の切削前後の差分である切込量の指令値と、切込量の実際値である振動振幅量とが比較され、実際値が指令値よりも大きい場合、実際値が指令値以下となるように工具６６Ａの動きが調整される。このとき調整部１３の振動振幅調整部１３１は、工具６６Ａの振動振幅量を調整することで、工具６６Ａの動きを調整する。これにより、工具６６Ａの進行方向と振動方向とが一致しない場合であっても、振動切削によって加工対象物７０に対して切り込みすぎない。すなわち、加工精度の低下を抑制することが可能になる。
【００４６】
なお、本実施の形態では、切込量の実際値が指令値以下となるように振動振幅量を調整した。好ましくは、指令値以下となるように調整する必要があるが、要求される加工精度によっては、指令値を若干超えても良い。すなわち、切込量の実際値が指令値よりも大きい場合、切込量の実際値と指令値の差が小さくなるように、つまり実際値が小さくなるように調整すれば、加工対象物７０に対して切り込みすぎる量を低減することが可能となる。
【００４７】
実施の形態２．
図７は、本発明の実施の形態２にかかる調整部１３の構成を示す図である。本実施の形態にかかる数値制御装置１Ｘの構成は、調整部１３以外は図１に示す実施の形態１と同様であるため、ここでは詳細な説明を省略する。以下、実施の形態１と異なる部分について主に説明する。
【００４８】
調整部１３は、経路調整部１３２を有する。調整部１３は、工具６６Ａの動きを指定する指令を調整することで、工具６６Ａの動きを調整することができる。工具６６Ａの動きを調整する方法については様々な方法が考えられるが、本実施の形態では、調整部１３は、加工経路を調整することで工具６６Ａの動きを調整する。
【００４９】
経路調整部１３２は、切込量の実際値が指令値以下となるように工具６６Ａの移動経路を調整する。図８は、図７に示す調整部１３の機能を説明するための図である。加工対象物７０は、主軸６０を中心に回転している。この状態で、工具６６Ａは、切削方向Ｄａ−１，Ｄａ−２に移動しながら、振動方向Ｄｂに振動している。工具６６Ａの振動方向Ｄｂは、工具６６Ａの進行方向が切削方向Ｄａ−１から切削方向Ｄａ−２に変化しても変わらず固定である。本実施の形態では、工具６６Ａの振動振幅量Ｗ１は、工具６６Ａの切削方向Ｄａ−１，Ｄａ−２によらず一定である。経路調整部１３２は、切削方向Ｄａ−２と振動方向Ｄｂとが一致しないことを検知すると、振動振幅量Ｗ１を維持したままで、切込量の実際値が指令値以下となるように工具６６Ａの移動経路を調整する。調整前の工具６６Ａの移動経路は第１の加工対象面Ｓ１であり、調整後の工具６６Ａの移動経路は経路５１である。
【００５０】
図９は、図７に示す調整部１３を有する数値制御装置１Ｘの動作を説明するためのフローチャートである。数値制御装置１Ｘの補間処理部３８Ｘは、振動振幅量、切込量の指令値、切削方向および振動方向を加工プログラムのブロック毎に取得する（ステップＳ１０１）。一致判定部１１は、次ブロックの切削方向と振動方向が一致するか否かを判定する（ステップＳ１０２）。
【００５１】
切削方向と振動方向が一致しない場合（ステップＳ１０２：Ｎｏ）、比較部１２は、次ブロックの振動振幅量と切込量の指令値とを比較して、振動振幅量が切込量の指令値よりも大きくなるか否かを判断する（ステップＳ１０３）。
【００５２】
振動振幅量が切込量の指令値よりも大きい場合（ステップＳ１０３：Ｙｅｓ）、調整部１３の経路調整部１３２は、振動振幅量を維持して、振動振幅量は維持したまま振動振幅が切込量の指令値以下になるように加工経路をシフトする（ステップＳ２０４）。数値制御装置１Ｘは、次ブロックからシフトした加工経路を示す加工指令を用いて振動切削を実行する（ステップＳ２０５）。具体的には、波形生成部１４は、振動振幅量に基づいて、振動の基本波形を生成する。振動移動量生成部１５は、シフト後の加工経路と、波形生成部１４が生成した基本波形とから、移動経路に基本波形を加算した振動前進位置と、振幅を減算した振動後進位置とを求め、加工プログラムで指定された次ブロックの駆動軸の振動移動量を生成する。振動移動量生成部１５が生成した振動移動量は、加減速処理部３９および軸データ出力部４０を介して、駆動部９０に送られる。駆動部９０は、振動移動量に基づいて、加工プログラムで指定された駆動軸を制御し、振動切削を行う。
【００５３】
切削方向と振動方向が一致する場合（ステップＳ１０２：Ｙｅｓ）、ステップＳ１０３，ステップＳ２０４，ステップＳ２０５の処理は省略される。振動振幅量が切込量の指令値以下である場合（ステップＳ１０３：Ｎｏ）、ステップＳ２０４およびステップＳ２０５の処理は省略され、設定された主軸回転数、振動回数、振動振幅量で振動切削を継続する。
【００５４】
以上説明したように、本発明の実施の形態２によれば、振動方向を固定した振動切削機能を有する数値制御装置１Ｘにおいて、工作機械１１０の工具６６Ａの進行方向である切削方向が工具６６Ａの振動方向と一致しないとき、加工対象物７０の加工対象面の位置の切削前後の差分である切込量の指令値と、切込量の実際値である振動振幅量とが比較され、実際値が指令値よりも大きい場合、実際値が指令値以下となるように工具６６Ａの動きが調整される。このとき調整部１３の経路調整部１３２は、工具６６Ａの振動振幅量を維持したままで、工具６６Ａの移動経路を調整することで、工具６６Ａの動きを調整する。これにより、実施の形態１と同様に、工具６６Ａの進行方向と振動方向とが一致しない場合であっても、振動切削によって加工対象物７０に対して切り込みすぎない。すなわち、加工精度の低下を抑制することが可能になる。
【００５５】
なお、本実施の形態では、切込量の実際値が指令値以下となるように振動振幅量を調整した。好ましくは、指令値以下となるように調整する必要があるが、要求される加工精度によっては、指令値を若干超えても良い。すなわち、切込量の実際値が指令値よりも大きい場合、切込量の実際値と指令値の差が小さくなるように、つまり実際値が小さくなるように調整すれば、加工対象物７０に対して切り込みすぎる量を低減することが可能となる。
【００５６】
実施の形態３．
図１０は、本発明の実施の形態３にかかる調整部１３の構成を示す図である。調整部１３は、経路調整部１３２と、残距離調整部１３３とを有する。本実施の形態にかかる数値制御装置１Ｘの構成は、調整部１３以外は図１に示す実施の形態１と同様であるため、ここでは詳細な説明を省略する。以下、実施の形態１と異なる部分について主に説明する。また、経路調整部１３２の機能は実施の形態２と同様であるためここでは説明を省略する。
【００５７】
残距離調整部１３３は、切削方向が変化する点までの残距離に基づいて、振動振幅量を調整する。図１１は、図１０に示す調整部１３の機能を説明するための図である。加工対象物７０は、主軸６０を中心に回転している。この状態で、工具６６Ａは、切削方向Ｄａ−１，Ｄａ−２に移動しながら、振動方向Ｄｂに振動している。工具６６Ａの振動方向Ｄｂは、工具６６Ａの進行方向が切削方向Ｄａ−１から切削方向Ｄａ−２に変化しても変わらず固定である。本実施の形態では、工具６６Ａの振動振幅量Ｗ１は、工具６６Ａの切削方向Ｄａ−１，Ｄａ−２によらず一定である。経路調整部１３２は、切削方向Ｄａ−２と振動方向Ｄｂとが一致しないことを検知すると、振動振幅量Ｗ１を維持したままで、切込量の実際値が指令値以下となるように工具６６Ａの移動経路を調整する。調整前の工具６６Ａの移動経路は第１の加工対象面Ｓ１であり、調整後の工具６６Ａの移動経路は経路５１である。ここで、残距離調整部１３３は、切削方向が変化する点Ｐまでの距離に基づいて、振動振幅量Ｗ１から振動振幅量Ｗ３に調整する。切削方向が変化した後、振動振幅量Ｗ１に戻される。なお、図１１ではＷ３＞Ｗ１の例を示しているが、Ｗ３＜Ｗ１であっても同様に調整することはできる。
【００５８】
図１２は、図１０に示す調整部１３を有する数値制御装置１Ｘの動作を説明するためのフローチャートである。数値制御装置１Ｘの補間処理部３８Ｘは、振動振幅量、切込量の指令値、切削方向および振動方向を加工プログラムのブロック毎に取得する（ステップＳ１０１）。一致判定部１１は、次ブロックの切削方向と振動方向が一致するか否かを判定する（ステップＳ１０２）。
【００５９】
切削方向と振動方向が一致しない場合（ステップＳ１０２：Ｎｏ）、残距離調整部１３３は、切削方向が変化する点Ｐまでの残距離を算出する（ステップＳ３０３）。残距離調整部１３３は、残距離が次ブロック実行直前の振動前進距離と等しいか否かを判断する（ステップＳ３０４）。
【００６０】
残距離が次ブロック実行直前の振動前進距離と等しくない場合（ステップＳ３０４：Ｎｏ）、残距離調整部１３３は、次ブロック実行直前の振動前進距離が終点までの残距離になるように振動前進距離を調整する（ステップＳ３０５）。
【００６１】
切削方向と振動方向が一致する場合（ステップＳ１０２：Ｙｅｓ）、ステップＳ３０３〜ステップＳ３０５の処理は省略される。残距離が次ブロック実行直前の振動前進距離と等しい場合（ステップＳ３０４：Ｙｅｓ）、ステップＳ３０５の処理は省略される。なお、図１２に示す処理は、図９に示す処理と並行して実行される。
【００６２】
ここでは、調整部１３は、経路調整部１３２および残距離調整部１３３を有することとしたが、調整部１３は、振動振幅調整部１３１および残距離調整部１３３を有してもよい。この場合、図６に示す処理と図１２に示す処理とが並行して実行される。
【００６３】
以上説明したように、本発明の実施の形態３によれば、実施の形態１および実施の形態２と同様に、工具６６Ａの進行方向と振動方向とが一致しない場合であっても、工具６６Ａの動きを調整することで、加工精度の低下を抑制することが可能になる。また、残距離調整部１３３は、切削方向が変化する点Ｐの前に、振動前進距離を調整することで、振動による工具６６Ａの移動を考慮して、切削方向が変化する点Ｐまで切削した状態で、切削方向が変わる。したがって、振動切削によって加工対象物７０に対して切り込みすぎない。すなわち、切削方向が変化する点Ｐにおける加工精度を向上させることが可能になる。
【００６４】
実施の形態４．
図１３は、本発明の実施の形態４にかかる数値制御装置１Ｙの機能構成を示す図である。数値制御装置１Ｙは、制御演算部２Ｙと、入力操作部３と、表示部４とを有する。制御演算部２Ｙは、画面処理部３１と、入力制御部３２と、データ設定部３３と、記憶部３４と、制御信号処理部３５と、ＰＬＣ３６と、解析処理部３７と、補間処理部３８Ｙと、加減速処理部３９と、軸データ入出力部４６と、機械学習装置４００とを有する。
【００６５】
以下、図１に示す数値制御装置１Ｘと異なる部分について主に説明し、同様の機能構成については同じ符号を付することで詳細な説明を省略する。補間処理部３８Ｙは、一致判定部１１と、比較部１２Ｙと、調整部１３と、波形生成部１４と、振動移動量生成部１５とを有する。
【００６６】
機械学習装置４００は、切込量の指令値を学習する。機械学習装置４００は、状態観測部４１と、学習部４２とを有する。状態観測部４１は、駆動軸の制御手順を記述した加工プログラムを識別するための加工プログラム識別情報と、工具６６Ａの加工経路を示す加工経路情報と、工具６６Ａを識別するための工具識別情報と、工具６６Ａのオフセットを示すオフセット情報と、切込量の指令値と、を状態変数として観測する。状態観測部４１は、加工プログラム識別情報、加工経路情報、工具識別情報およびオフセット情報を、解析処理部３７から取得する。また、状態観測部４１は、軸データ入出力部４６を介して、位置情報のフィードバックを観測し、最終的に学習部４２は切込量の指令値を学習する。状態観測部４１は、状態変数に基づいて訓練データセットを作成し、作成した訓練データセットを学習部４２に出力する。
【００６７】
学習部４２は、状態変数に基づいて作成された訓練データセットを用いて、切込量の指令値を学習する。学習部４２は、例えば、ニューラルネットワークモデルに従って、いわゆる教師あり学習により、切込量の指令値を学習することができる。教師あり学習とは、入力と結果のデータの組を大量に機械学習装置４００に与えることで、データセットにある特徴を学習し、入力から結果を推定するモデルである。
【００６８】
ニューラルネットワークは、複数のニューロンからなる入力層、複数のニューロンからなる中間層および複数のニューロンからなる出力層で構成される。中間層は、１層または２層以上であってもよい。３層のニューラルネットワークの場合、複数の入力が入力層に入力されると、その値に重みをかけて中間層に入力され、その結果にさらに重みをかけて出力層から出力される。この出力結果は、それぞれの重みの値によって変わる。
【００６９】
学習部４２は、状態観測部４１によって観測されるデータセットにしたがって、教師あり学習により、加工プログラムの各切削指令の切込量の推定値を学習結果として出力する。
【００７０】
なお、図１３では、教師あり学習を用いる場合の構成例について示したが、学習部４２は、教師なし学習を用いてもよい。この場合、学習対象のパラメータを機械学習装置４００に与える必要がない。
【００７１】
教師なし学習とは、入力データのみを機械学習装置４００に大量に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮、分類、整形などを行い学習する手法である。データセットにある特徴を似たもの同士にクラスタリングすることなどができる。この結果を使って、何らかの基準を設けて、基準を最適化する出力の割り当てを行うことで、出力を予測することができる。
【００７２】
なお、ここでは、学習部４２は１台の数値制御装置１Ｙに対して作成されるデータセットを用いたが、複数の数値制御装置１Ｙに対して作成されるデータセットを用いて学習を行ってもよい。学習部４２は、同一の場所で使用される複数の数値制御装置１Ｙからデータセットを収集してもよいし、異なる場所で独立して稼働する複数の工作機械１１０の数値制御装置１Ｙから収集されるデータセットを用いてもよい。本構成では、さらに、データセットを収集する数値制御装置１Ｙを途中で対象に追加し、或いは、逆に対象から切り離すことも可能である。また、ある数値制御装置１Ｙで学習した機械学習装置４００を、これとは別の数値制御装置１Ｙに取り付け、当該別の数値制御装置１Ｙが実行する上記振動切削に関する情報を再学習して加工プログラムの各切削指令の切込量の学習結果を更新するようにしてもよい。
【００７３】
また、学習部４２は、特徴量そのものの抽出を学習する深層学習を用いてもよい。学習部４２が使用する学習アルゴリズムはこれに限られず、他の公知の方法、遺伝的プログラミング、機能理論プログラミング、サポートベクターマシンなどであってもよい。
【００７４】
また、図１３では、機械学習装置４００は、数値制御装置１Ｙに内蔵されることとしたが、本実施の形態はかかる例に限定されない。例えば、機械学習装置４００は、ネットワークを介して数値制御装置１Ｙに接続され、数値制御装置１Ｙとは別体の装置であってもよい。また、機械学習装置４００はクラウドサーバ上に存在していてもよい。
【００７５】
機械学習装置４００の出力する学習結果である切込量の指令値の推定値は、比較部１２Ｙに出力される。比較部１２Ｙは、振動振幅量に基づく切込量の実際値と、学習結果が示す切込量の指令値とを比較する。
【００７６】
以上説明したように、本発明の実施の形態４によれば、ユーザが切込量を指定する入力を行ったり、加工プログラム内に切込量が指定されていなくても、加工プログラムに従った切込量の指令値を、加工プログラムの切削指令毎に得ることができる。このため、加工プログラムを作成する人の負担や、数値制御装置１Ｙを操作する人の負担を低減することが可能になる。
【００７７】
続いて、本発明の実施の形態１〜４にかかる数値制御装置１Ｘ，１Ｙのハードウェア構成について説明する。図１４は、本発明の実施の形態１〜４にかかる数値制御装置１Ｘ，１Ｙのハードウェア構成を説明するための図である。数値制御装置１Ｘ，１Ｙが備える制御演算部２Ｘ，２Ｙおよび数値制御装置１Ｙが備える機械学習装置４００の機能は、図１４に示すプロセッサ１０１およびメモリ１０２を用いて実現することができる。
【００７８】
プロセッサ１０１は、ＣＰＵであり、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、ＤＳＰ（Digital  Signal  Processor）などとも呼ばれる。メモリ１０２は、例えば、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable  Programmable  ＲＯＭ）、ＥＥＰＲＯＭ（登録商標）（Electrically  ＥＰＲＯＭ）などの不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ（Digital  Versatile  Disk）などである。
【００７９】
制御演算部２Ｘ，２Ｙおよび機械学習装置４００の機能は、プロセッサ１０１がメモリ１０２に記憶された、各構成要素の処理に対応するプログラムを読み出して実行することにより実現される。また、メモリ１０２は、プロセッサ１０１が実行する各処理における一時メモリとしても使用される。
【００８０】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００８１】
１Ｘ，１Ｙ  数値制御装置、２Ｘ，２Ｙ  制御演算部、３  入力操作部、４  表示部、１１  一致判定部、１２，１２Ｙ  比較部、１３  調整部、１４  波形生成部、１５  振動移動量生成部、３１  画面処理部、３２  入力制御部、３３  データ設定部、３４  記憶部、３５  制御信号処理部、３６  ＰＬＣ、３７  解析処理部、３８Ｘ，３８Ｙ  補間処理部、３９  加減速処理部、４０  軸データ出力部、４１  状態観測部、４２  学習部、４６  軸データ入出力部、５１  経路、６０  主軸、６１Ｘ，６１Ｚ  駆動軸、６５Ａ  刃物台、６６Ａ  工具、７０  加工対象物、７５  第１スピンドル、９０  駆動部、９１  Ｘ軸サーボ制御部、９２  Ｚ軸サーボ制御部、９７，９８，２１１  検出器、１０１  プロセッサ、１０２  メモリ、１１０  工作機械、１３１  振動振幅調整部、１３２  経路調整部、１３３  残距離調整部、２００  主軸サーボ制御部、３４１  パラメータ記憶エリア、３４２  表示データ記憶エリア、３４３  加工プログラム記憶エリア、３４４  共有エリア、３７１  移動指令解析部、３７２  振動指令解析部、４００  機械学習装置、９０１，９０２  サーボモータ、９１１  主軸モータ、Ｄａ−１，Ｄａ−２  切削方向、Ｄｂ  振動方向、Ｓ１  第１の加工対象面、Ｓ２  第２の加工対象面、Ｗ１，Ｗ２，Ｗ３  振動振幅量。
【要約】
複数の駆動軸を制御して工具を駆動し、工具の進行方向である切削方向によらず固定の振動方向に工具を振動させながら加工対象物を切削加工させる数値制御装置（１Ｘ）は、振動方向と、切削方向とが一致するか否かを判定する一致判定部（１１）と、振動方向と切削方向とが一致しない場合、加工対象物の加工対象面の位置の切削前後の差分である切込量の指令値と、駆動軸の振動振幅量に基づく切込量の実際値とを比較する比較部（１２）と、実際値が指令値よりも大きい場合、実際値が小さくなるように工具の動きを調整する調整部（１３）と、を備えることを特徴とする。【図１】
0006811908.tif 000002
【図２】
0006811908.tif 000003
【図３】
0006811908.tif 000004
【図４】
0006811908.tif 000005
【図５】
0006811908.tif 000006
【図６】
0006811908.tif 000007
【図７】
0006811908.tif 000008
【図８】
0006811908.tif 000009
【図９】
0006811908.tif 000010
【図１０】
0006811908.tif 000011
【図１１】
0006811908.tif 000012
【図１２】
0006811908.tif 000013
【図１３】
0006811908.tif 000014
【図１４】
0006811908.tif 000015