(57)【特許請求の範囲】
【請求項１】
工作機械を数値制御するための複数の加工プログラムから、調整対象のパラメータである第１のパラメータと、前記調整対象のパラメータを調整するために使用されるパラメータである第２のパラメータとを抽出するデータ抽出部と、
前記データ抽出部が抽出した前記第１のパラメータおよび前記第２のパラメータを含むデータセットに従って、前記第１のパラメータの値を学習する機械学習部と、
を備えることを特徴とする機械学習装置。
【請求項２】
前記データ抽出部は、前記複数の加工プログラムのそれぞれに基づいて、加工処理後の加工対象物の形状データを生成し、生成した形状データから前記第２のパラメータを抽出することを特徴とする請求項１に記載の機械学習装置。
【請求項３】
前記データ抽出部は、前記第１のパラメータの種類毎に、抽出する前記第２のパラメータの種類を決定し、決定した種類の前記第２のパラメータを抽出して前記機械学習部に入力することを特徴とする請求項１または２に記載の機械学習装置。
【請求項４】
前記複数の加工プログラムは、パラメータを示すラベル名を使用して記述されており、
前記データ抽出部は、前記第１のパラメータを示すラベル名を抽出し、
前記機械学習部は、学習結果として、前記ラベル名を使用した学習モデルを生成することを特徴とする請求項１から３のいずれか１項に記載の機械学習装置。
【請求項５】
請求項１から４のいずれか１項に記載の機械学習装置の学習結果を取得する加工プログラム生成装置であって、
前記機械学習部が学習した結果に基づいて、前記第２のパラメータの値から前記第１のパラメータの値を推論する推論部と、
前記推論部が推論した前記第１のパラメータの値に基づいて、前記加工プログラムを生成する加工プログラム生成部と、
を備えることを特徴とする加工プログラム生成装置。
【請求項６】
前記加工プログラム生成部は、加工対象物の加工前後の形状を含む設計データから、前記第２のパラメータを生成して前記推論部に入力し、前記推論部の推論した前記第１のパラメータの値を取得することを特徴とする請求項５に記載の加工プログラム生成装置。
【請求項７】
機械学習装置が、
工作機械を数値制御するための複数の加工プログラムから、調整対象のパラメータである第１のパラメータと、前記調整対象のパラメータを調整するために使用されるパラメータである第２のパラメータとを抽出するステップと、
抽出した前記第１のパラメータおよび前記第２のパラメータを含むデータセットに従って、前記第１のパラメータの値を学習するステップと、
を含むことを特徴とする機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械を数値制御するための加工プログラムを自動作成するために用いられる機械学習装置、加工プログラム生成装置および機械学習方法に関する。
【背景技術】
【０００２】
近年、数値制御装置によって制御される工作機械の分野では、複雑な形状を精密に加工できるように、工作機械の構造が複雑になり、工作機械の制御対象軸数が増大しているため、数値制御対象の処理が増加している（例えば、特許文献１）。このため、加工プログラムも複雑化している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２１０９２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のように、加工プログラムが複雑化しているため、加工プログラムを生成する際に調整しなければならないパラメータが多種多様に渡り、加工プログラムの生成に手間と時間とがかかっていた。【０００５】
本発明は、上記に鑑みてなされたものであって、工作機械を数値制御するための加工プログラムを容易に生成することが可能な機械学習装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明にかかる機械学習装置は、工作機械を数値制御するための複数の加工プログラムから、調整対象のパラメータである第１のパラメータと、調整対象のパラメータを調整するために使用されるパラメータである第２のパラメータとを抽出するデータ抽出部と、データ抽出部が抽出した第１のパラメータおよび第２のパラメータを含むデータセットに従って、第１のパラメータの値を学習する機械学習部と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明にかかる機械学習装置は、工作機械を数値制御するための加工プログラムを容易に生成することが可能であるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態１にかかる機械学習装置および加工プログラム生成装置を含む数値制御装置の構成例を示すブロック図
【図２】図１に示す機械学習装置の学習モデル生成処理の手順を示すフローチャート
【図３】図１に示す加工プログラム生成装置の加工プログラム生成処理の手順を示すフローチャート
【図４】図１に示す機械学習装置の学習モデル生成処理の詳細を示すフローチャート
【図５】図１に示す機械学習装置が読み込む加工プログラムの一例を示す図
【図６】図１に示す加工プログラム生成部の加工プログラム生成処理の詳細を示すフローチャート
【図７】図１に示すＣＡＤデータが示す加工後の加工対象物の形状である加工形状を示す斜視図
【図８】図１に示すＣＡＤデータに基づいて生成される素材形状を示す斜視図
【図９】図１に示す加工プログラム生成部が生成する加工除去形状を示す斜視図
【図１０】図９に示す加工除去形状の断面形状である旋削断面形状を示す図
【図１１】旋削端面工程の旋削加工形状を示す図
【図１２】旋削ドリル工程の旋削加工形状を示す図
【図１３】旋削棒材工程の旋削加工形状を示す図
【図１４】旋削棒材工程の旋削加工形状を示す図
【図１５】図１１に示す旋削加工形状の旋削加工工程の加工開始点および加工終了点の座標を示す図
【図１６】図１２に示す旋削加工形状の旋削ドリル工程の加工開始点および加工終了点の座標を示す図
【図１７】図１３に示す旋削加工形状の旋削棒材工程の切り込み点、加工開始点、および加工終了点の座標を示す図
【図１８】図１４に示す旋削加工形状の旋削棒材工程の切り込み点、加工開始点および加工終了点の座標を示す図
【図１９】本発明の実施の形態２にかかる学習モデル生成処理の概要を示すフローチャート
【図２０】図１９に示す学習モデル生成処理の詳細を示すフローチャート
【図２１】実施の形態２において機械学習装置が読み込む加工プログラムの一例を示す図
【図２２】図２０のステップＳ６０３において生成される加工形状の一例を示す図
【図２３】実施の形態２にかかる加工プログラム生成処理の詳細を示すフローチャート
【図２４】実施の形態２において使用されるＣＡＤデータが示す加工形状の斜視図
【図２５】実施の形態２において使用されるＣＡＤデータに基づいて生成される素材形状を示す斜視図
【図２６】実施の形態２において生成される加工除去形状を示す斜視図
【図２７】図２６に示す加工除去形状の断面形状である旋削断面形状を示す図
【図２８】旋削加工形状の旋削加工工程の切り込み点、加工開始点、加工途中点および加工終了点の座標を示す図
【図２９】実施の形態２にかかる穴加工工程の内容を示す説明図
【図３０】図１に示す機械学習装置および加工プログラム生成装置のハードウェア構成を示す図
【発明を実施するための形態】
【０００９】
以下に、本発明の実施の形態１および実施の形態２にかかる機械学習装置、加工プログラム生成装置および機械学習方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１０】
実施の形態１．
図１は、本発明の実施の形態１にかかる機械学習装置１０および加工プログラム生成装置２０を含む数値制御装置１００の構成例を示すブロック図である。
【００１１】
数値制御装置１００は、機械学習装置１０と、加工プログラム生成装置２０と、対話操作処理部３０と、指示入力部４０と、表示部５０とを有する。数値制御装置１００は、不図示の工作機械に搭載され、または、工作機械に接続されて、加工プログラムに従って工作機械の動作を数値制御する。ここでは加工プログラムは、加工対象物を素材の状態から切削加工して設計形状を削り出すために用いられる。
【００１２】
なお、図１に示す例では、機械学習装置１０および加工プログラム生成装置２０は、数値制御装置１００に搭載されることとしたが、本実施の形態はかかる例に限定されない。例えば、機械学習装置１０および加工プログラム生成装置２０は、数値制御装置１００と異なる装置であってもよい。また、機械学習装置１０は、加工プログラム生成装置２０と異なる装置であってもよい。
【００１３】
機械学習装置１０は、過去に作成された複数の加工プログラム１に基づいて、加工プログラム生成装置２０が加工プログラムを生成する際に使用する学習モデルを生成する。すなわち、機械学習装置１０に入力される加工プログラム１は、学習用の加工プログラムであり、加工プログラム生成装置２０が生成する加工プログラムは、工作機械を数値制御するために作成される新規の加工プログラムである。
【００１４】
加工プログラム生成装置２０は、数値制御装置１００の外部から加工プログラム生成装置２０に入力されるＣＡＤ（Computer-Aided  Design）データ２など設計形状を示す加工形状データに基づいて、加工プログラムを生成する。加工プログラム生成装置２０は、加工プログラムを生成する際に、機械学習装置１０の学習結果である学習モデルを使用する。
【００１５】
対話操作処理部３０は、数値制御装置１００と作業者との間のインタフェースであるとともに、機械学習装置１０または加工プログラム生成装置２０と作業者との間のインタフェースでもある。対話操作処理部３０は、作業者が指示入力部４０を介して入力した指示情報を機械学習装置１０または加工プログラム生成装置２０に送信する。また、対話操作処理部３０は、作業者が指示入力部４０を介して入力した指示情報を表示部５０に表示する。
【００１６】
指示入力部４０は、マウス、キーボードなどの入力機器から構成され、作業者からの指示情報を受け付けて、対話操作処理部３０に送信する。
【００１７】
表示部５０は、液晶モニタなどの表示機器であり、加工プログラム１、ＣＡＤデータ２、作業者が指示入力部４０を介して入力した指示情報などを表示する。また、表示部５０は、数値制御装置１００、機械学習装置１０、および加工プログラム生成装置２０で行われる処理に関する各種の情報を表示することができる。
【００１８】
機械学習装置１０は、加工プログラム入力部１１と、加工プログラム記憶部１２と、データ抽出部１３と、機械学習部１４と、学習モデル記憶部１５とを有する。
【００１９】
加工プログラム入力部１１は、数値制御装置１００の外部装置から機械学習装置１０に入力される加工プログラム１のデータを受け付けて、加工プログラム記憶部１２に入力する。加工プログラム１は、不図示の工作機械を数値制御するためのコンピュータプログラムであり、加工方法、工具、切削条件、工具軌道、素材形状、素材の材質情報などを含む。加工プログラム記憶部１２は、加工プログラム入力部１１から入力された加工プログラム１を記憶する。
【００２０】
データ抽出部１３は、複数の加工プログラム１のそれぞれから、加工プログラム１内で使用されているパラメータであって、調整対象のパラメータである第１のパラメータと、調整対象外のパラメータである第２のパラメータとを抽出する。第１のパラメータは、加工プログラム１を生成する際に決定する必要があるパラメータであり、例えば、加工方法、加工順序、工具種類、送り、切削速度、径方向切込み量、軸方向切込み量などである。第２のパラメータは、第１のパラメータを調整する際に使用される調整対象外のパラメータである。第２のパラメータは、例えば、素材形状、素材材質、加工形状などに基づいて値が定まるパラメータ、または、既に調整済みのパラメータなどを含む。第１のパラメータの種類毎に、第１のパラメータを調整する際に使用される第２のパラメータの種類は定まる。すなわち、第１のパラメータは第２のパラメータに基づいて調整される。
【００２１】
データ抽出部１３は、第１のパラメータの種類毎に、抽出する第２のパラメータの種類を決定し、決定した種類の第２のパラメータを抽出する。データ抽出部１３は、抽出した第１のパラメータおよび第２のパラメータを、加工プログラム１毎に、機械学習部１４に入力する。
【００２２】
機械学習部１４は、データ抽出部１３が抽出した第１のパラメータおよび第２のパラメータに基づいて、教師あり学習を行い、入力から結果を推定するモデル、つまり、第１のパラメータと第２のパラメータとの関係を示す学習モデルを生成する。具体的には、機械学習部１４は、データ抽出部１３が抽出した第１のパラメータおよび第２のパラメータを含むデータセットに従って、第１のパラメータの値を学習する。機械学習部１４は、生成した学習モデルを学習モデル記憶部１５に記憶させる。
【００２３】
機械学習部１４が用いる学習アルゴリズムはどのようなものを用いてもよい。一例として、ニューラルネットワーク、ＳＶＭなどのアルゴリズムが挙げられる。ニューラルネットワークは、多層構造のディープラーニングであってもよい。また機械学習部１４が用いる学習アルゴリズムは、遺伝的プログラミング、機能論理プログラミング、サポートベクターマシーンなどであってもよい。機械学習は、ニューラルネットワークの重み、バイアスなどのパラメータを最適化する処理である。
【００２４】
学習モデル記憶部１５は、機械学習部１４の学習結果である学習モデルを記憶する。学習モデルは、入力される第２のパラメータに対する、最適な第１のパラメータの関係を示している。
【００２５】
加工プログラム生成装置２０は、加工形状データ入力部２１と、加工形状データ記憶部２２と、加工プログラム生成部２３と、推論部２４と、加工プログラム記憶部２５とを有する。
【００２６】
加工形状データ入力部２１は、数値制御装置１００の外部装置からＣＡＤデータ２などの加工形状データを受け付けて、受け付けた加工形状データを、加工形状データ記憶部２２に記憶させる。加工形状データは、切削加工品の加工仕上がり形状である設計形状と、素材の材質を示す情報とを含む。素材は、ＣＡＤデータ２で表される設計形状が削り出される加工対象物である。加工形状データは、ＣＡＤデータ２に限定されず、加工プログラム生成装置２０が解釈可能なデータであればよい。
【００２７】
加工形状データ記憶部２２は、加工形状データ入力部２１が受け付けた加工形状データを記憶する。
【００２８】
加工プログラム生成部２３は、ＣＡＤデータ２が示す設計形状を素材から削り出すための加工プログラムを生成する。加工プログラム生成部２３は、生成した加工プログラムを加工プログラム記憶部２５に記憶する。加工プログラム生成部２３は、加工形状データ記憶部２２から加工形状データを取得すると、取得した加工形状データに基づいて、推論部２４が学習モデルに入力する入力データを生成する。加工プログラム生成部２３は、生成した入力データを用いて、推論部２４に、生成する加工プログラムに使用する第１のパラメータの値を推論させ、推論結果を取得する。加工プログラム生成部２３は、加工プログラムを生成するために使用する複数の第１のパラメータのそれぞれについて、入力データを生成し、第１のパラメータの種類を指定して、入力データを受け渡し、推論部２４に第１のパラメータの推論を指示する。加工プログラム生成部２３は、指示に応じて推論部２４が生成した推論結果を取得する。加工プログラム生成部２３は、推論部２４が推論した第１のパラメータの値に基づいて、加工プログラムを生成する。加工プログラム生成部２３は、生成した加工プログラムを加工プログラム記憶部２５に記憶させる。
【００２９】
推論部２４は、加工プログラム生成部２３から入力データを受け取り、第１のパラメータの種類が指定されると、受け取った入力データと、学習モデル記憶部１５に記憶された学習モデルとを用いて、指定された第１のパラメータの値を推論する。推論部２４は、第１のパラメータの推論結果を、加工プログラム生成部２３に返す。
【００３０】
加工プログラム記憶部２５は、加工プログラム生成部２３が生成した加工プログラムを記憶する。
【００３１】
以下、数値制御装置１００の動作について説明する。数値制御装置１００の動作は、機械学習装置１０が行う学習モデル生成処理と、加工プログラム生成装置２０が行う加工プログラム生成処理とを含む。
【００３２】
図２は、図１に示す機械学習装置１０の学習モデル生成処理の手順を示すフローチャートである。学習モデル生成処理では、加工プログラム１に基づいて、加工プログラムを生成するための学習モデルが生成される。
【００３３】
まず、加工プログラム入力部１１は、図示しない記憶領域から、複数の加工プログラム１を読み込み、加工プログラム記憶部１２に記憶させる（ステップＳ１０１）。次に、データ抽出部１３は、加工プログラム記憶部１２に記憶された加工プログラム１から、第１のパラメータを抽出する（ステップＳ１０２）。データ抽出部１３は、さらに、抽出した複数の第１のパラメータについて、第１のパラメータ毎に、第２のパラメータを抽出する（ステップＳ１０３）。このとき、データ抽出部１３は、第１のパラメータの種類毎に、抽出する第２のパラメータの種類を決定し、決定した種類の第２のパラメータを抽出することができる。また、ステップＳ１０２およびステップＳ１０３の処理は、加工プログラム毎に行われ、データ抽出部１３は、加工プログラム毎に、抽出した第１のパラメータおよび第２のパラメータを機械学習部１４に入力する。
【００３４】
機械学習部１４は、データ抽出部１３から入力された第１のパラメータおよび第２のパラメータを用いて、機械学習処理を行う（ステップＳ１０４）。機械学習部１４は、第１のパラメータおよび第２のパラメータに基づいてデータセットを生成し、生成したデータセットに従って機械学習を行う。データセットは、調整対象の第１のパラメータと、当該第１のパラメータの値を決定するために使用される調整対象外のパラメータである第２のパラメータとを対応づけたデータの組である。機械学習部１４は、予め定められた基準を用いて、最適化されたモデルを学習モデルとして生成する。機械学習部１４は、学習結果である学習モデルを生成して、生成した学習モデルを学習モデル記憶部１５に記憶させる。
【００３５】
図３は、図１に示す加工プログラム生成装置２０の加工プログラム生成処理の手順を示すフローチャートである。加工プログラム生成装置２０は、機械学習装置１０の学習結果を使用して加工プログラムのパラメータを推論し、推論結果を使用して加工プログラムを生成する。
【００３６】
加工形状データ入力部２１は、図示しない記憶領域から、ＣＡＤデータ２を読み込み、読み込んだＣＡＤデータ２を加工形状データ記憶部２２に記憶させる（ステップＳ２０１）。加工プログラム生成部２３は、加工形状データから第１のパラメータを推論するために使用する第２のパラメータを取得し、推論部２４は、加工プログラム生成部２３が取得した第２のパラメータと機械学習装置１０が生成した学習モデルとを使用して、第１のパラメータを推論する（ステップＳ２０２）。
【００３７】
加工プログラム生成部２３は、第１のパラメータの推論結果に基づいて、加工プログラムを生成する（ステップＳ２０３）。加工プログラム生成部２３は、生成した加工プログラムを加工プログラム記憶部２５に記憶させる（ステップＳ２０４）。
【００３８】
続いて、機械学習装置１０の学習モデル生成処理の詳細について説明する。図４は、図１に示す機械学習装置１０の学習モデル生成処理の詳細を示すフローチャートである。ここでは、図５に示す加工プログラムを使用して、図４に示す動作について説明する。図５は、図１に示す機械学習装置１０が読み込む加工プログラムの一例を示す図である。
【００３９】
図５に示す加工プログラムは、タップ加工を行うための数値制御プログラムであり、複数のパラメータ名とその値とを含む。図４の説明に戻る。加工プログラム入力部１１は、図示しない記憶領域から、複数の加工プログラム１を読み込み、読み込んだ加工プログラム１を加工プログラム記憶部１２に記憶させる（ステップＳ３０１）。
【００４０】
データ抽出部１３は、加工プログラム記憶部１２に記憶された複数の加工プログラム１のそれぞれからパラメータを抽出する（ステップＳ３０２）。
【００４１】
図５に示す加工プログラムから抽出されるパラメータは、例えば、素材に関するパラメータ、加工に関するパラメータ、工具に関するパラメータ、加工位置に関するパラメータである。素材に関するパラメータは、素材材質「ＦＣ２５０」、素材外径「４３８」、素材内径「３５２」、素材長さ「５３０」、素材端面「３０」、および、素材回転数「１００」である。加工に関するパラメータは、ユニット番号「９」、加工種類「タップ加工」、加工モード「ＸＣ」、タップ呼び「Ｍ１６」、外径「１６」、ピッチ「２」、ネジ深さ「４５」、および、面取り「０．９」である。工具に関するパラメータは、工具シーケンス番号「２」、工具種類「ドリル」、呼び径「１４」、工具Ｎｏ．「８」、加工穴径「１４」、加工穴深さ「４２．７」、下穴径「０」、下穴深さ「１００」、ドリル加工方法「深穴加工」、１回あたりの切込み深さ「７．１」、周速「６０」、送り「０．２２」、および、Ｍコード「Ｍ４５」である。加工位置に関するパラメータは、形状パターン「円弧」、始点位置座標ｘ「２０２．５」、始点位置座標ｙ「２２５」、始点位置座標ｚ「０」、個数「２」、および、角度「９０」である。
【００４２】
図４の説明に戻る。データ抽出部１３は、抽出したパラメータの中から、調整対象のパラメータである第１のパラメータ毎に、調整対象外の第２のパラメータを絞り込む（ステップＳ３０３）。
【００４３】
図５に示す例において、第１のパラメータを「ドリル加工方法」とした場合、ドリル加工方法の値は、０から３の４種類の値のいずれかとし、「０」ドリルサイクル、「１」高速深穴サイクル、「２」深穴サイクル、「３」超深穴サイクルとする。このとき、第１のパラメータの種類に基づいて絞り込んだ第２のパラメータは、素材材質「ＦＣ２５０」、素材外径「４３８」、素材内径「３５２」、素材長さ「５３０」、素材端面「３０」、加工種類「タップ加工」、加工穴径「１４」、加工穴深さ「４２．７」である。
【００４４】
また、旋削ドリルと旋削端面の加工順を第１のパラメータとした場合、加工順の値は、０または１の２種類の値のいずれかとし、「０」旋削ドリル→旋削端面、「１」旋削端面→旋削ドリルとする。このとき、第１のパラメータの種類に基づいて絞り込んだ第２のパラメータは、素材材質、素材外径、素材内径、素材長さ、素材端面、加工穴径、加工穴深さとすることができる。
【００４５】
また、加工部位を第１のパラメータとした場合、加工部位の値は、０から３の４種類の値のいずれかとし、「０」外径、「１」内径、「２」正面、「３」背面とする。このとき第１のパラメータの種類に基づいて絞り込んだ第２のパラメータは、素材材質、素材外径、素材内径、径方向取り代、軸方向取り代とすることができる。
【００４６】
また、加工方法を第１のパラメータとした場合、加工方法の値は、０または１の２種類の値のいずれかとし、「０」旋削棒材加工、「１」旋削溝入れ加工とする。このとき第１のパラメータの種類に基づいて絞り込んだ第２のパラメータは、素材材質、素材外径、素材内径、径方向取り代、軸方向取り代とすることができる。
【００４７】
なお、パラメータを抽出する方法は、入力パターンから得られたパラメータから機械学習に有効な特徴を選択する方法であり、総当たり法、前向き逐次特徴選択法、後ろ向き逐次特徴選択法などである。また、パラメータを抽出する方法としては、評価関数を設定して特徴変換パラメータを更新する機械学習に基づく方法もある。評価関数にパラメータのＬ１ノルムを正則化項として加えた「Ｌａｓｓｏ」と呼ばれる方法では、多くのパラメータの値がゼロとなるスパースな特徴変換を行うことができる。さらに、いくつかのパラメータをグループ化してＬａｓｓｏを行うことで、グループ毎に値をゼロとする「Ｇｒｏｕｐ  Ｌａｓｓｏ」と呼ばれる方法も提案されている。また、作業者の経験からパラメータを抽出する方法もある。
【００４８】
また、第１のパラメータは、「ドリルの加工方法」、「旋削ドリルと旋削端面の加工順」、「加工部位」、「旋削棒材加工と旋削溝入れ加工」だけでなく、加工プログラムの生成に関する項目であって、調整対象のパラメータであればよい。例えば、第１のパラメータは、「旋削加工の素材の回転数」、「旋削工具の呼び」、「切込−Ｘ」、「切込−Ｚ」、「周速」、「送り」、「残し代−Ｘ」、「残し代−Ｚ」などである。旋削加工、穴加工だけでなく、線加工、面加工、ヘッド選択、ワーク移動など加工プログラムに関する全ての項目が第１のパラメータとなり得る。また第１のパラメータは、整数値だけでなく、線形回帰を用いれば実数値でもよい。
【００４９】
図４の説明に戻る。データ抽出部１３は、第１のパラメータと、第１のパラメータの種類に基づいて絞り込まれた第２のパラメータとを用いて、第１のパラメータおよび第２のパラメータを含むデータセットを生成し、生成したデータセットを機械学習部１４に入力する（ステップＳ３０４）。
【００５０】
機械学習部１４は、データ抽出部１３から入力されるデータセットに従って、機械学習を行い、第１のパラメータ毎に、第１のパラメータと第２のパラメータとの関係を示す学習モデルを生成する（ステップＳ３０５）。機械学習部１４は、生成した学習モデルを、学習モデル記憶部１５に記憶させる（ステップＳ３０６）。
【００５１】
続いて、加工プログラム生成装置２０の加工プログラム生成処理の詳細について説明する。図６は、図１に示す加工プログラム生成部２３の加工プログラム生成処理の詳細を示すフローチャートである。以下では、素材を回転させながら削る旋削加工に関する加工プログラム生成処理の例を説明する。
【００５２】
まず加工プログラム生成部２３は、加工形状データ記憶部２２に記憶された加工形状データであるＣＡＤデータ２を読み込む（ステップＳ４０１）。ＣＡＤデータ２は、加工対象物の加工前後の形状を含む設計データである。図７は、図１に示すＣＡＤデータ２が示す加工後の加工対象物の形状である加工形状を示す斜視図である。
【００５３】
図６の説明に戻る。加工プログラム生成部２３は、読み込んだＣＡＤデータ２に基づいて、図７に示すような加工形状を生成し、プログラム座標系の加工原点であるプログラム原点に加工形状を配置する（ステップＳ４０２）。
【００５４】
プログラム座標系においては、ＸＹＺ軸のうち、Ｚ軸を、旋削加工を行う際の中心軸である旋削軸ＳＧとする。加工プログラム生成部２３は、加工形状をプログラム原点に配置する際、加工形状のうち、直径が最大となる円筒面の回転軸または円錐面の回転軸がＺ軸に一致するように、加工形状を移動および回転させて配置する。また、加工形状のＺ軸方向の端面がプログラム原点に一致するように移動する。すなわち、加工プログラム生成部２３は、ＣＡＤデータ２から旋削軸ＳＧと回転中心軸を同一とする円柱面または円錐面を切削端面として抽出する。したがって、加工プログラム生成部２３は、ＣＡＤデータ２から、旋削軸を回転中心軸とする３次元の加工形状を生成する。
【００５５】
図６の説明に戻る。続いて加工プログラム生成部２３は、読み込んだＣＡＤデータ２に基づいて、３次元の素材形状を生成する（ステップＳ４０３）。具体的には、加工プログラム生成部２３は、プログラム原点に配置された加工形状を包含する３次元の円柱形状を生成し、加工形状と同様にプログラム座標系に配置する。図８は、図１に示すＣＡＤデータ２に基づいて生成される素材形状を示す斜視図である。素材形状は、加工前の加工対象物の形状である。素材形状の寸法は、加工形状におけるＸ軸方向、Ｙ軸方向およびＺ軸方向におけるそれぞれの最大値および最小値から求めることができる。ただし、旋削端面加工を行うため、素材形状は、加工形状に合わせて、Ｚ軸方向の寸法が加工形状よりも２ｍｍから３ｍｍ程度大きい寸法とする。また、素材形状のＺ軸方向の端面は、プログラム原点から２ｍｍから３ｍｍだけ加工形状から離間する方向にはみ出した位置に配置される。ここでは、素材形状は、素材外径を１５０ｍｍ、素材長さを１２０ｍｍ、素材材質をＳ４５Ｃとする。
【００５６】
加工プログラム生成部２３は、素材形状から旋削加工により除去する形状である加工除去形状を、素材形状および加工形状に基づいて生成する（ステップＳ４０４）。図９は、図１に示す加工プログラム生成部２３が生成する加工除去形状を示す斜視図である。図９では、加工形状を破線で示している。加工除去形状は、素材形状のソリッドモデルから加工形状のソリッドモデルを引き去る差演算により求めることができる。
【００５７】
続いて加工プログラム生成部２３は、加工除去形状の断面形状である旋削断面形状ｔを生成する（ステップＳ４０５）。図１０は、図９に示す加工除去形状の断面形状である旋削断面形状ｔを示す図である。図１０に示す旋削断面形状は、加工除去形状をＸＺ平面のうち＋Ｘの領域のみに限定した＋ＸＺ平面に投影して得られる１／２旋削断面形状である。加工プログラム生成部２３は、ＸＺ平面からなる断面モデルと加工形状からなるソリッドモデルとの積演算により断面形状を求め、Ｘが０以上の領域として範囲を限定することにより、旋削断面形状を求めることができる。図１０には、旋削断面形状ｔ１および旋削断面形状ｔ２を含む旋削断面形状ｔが示されている。
【００５８】
図６の説明に戻る。加工プログラム生成部２３は、推論部２４に、推論する第１のパラメータの種類を指定し、第２のパラメータを入力して、第１のパラメータの推論結果を取得する（ステップＳ４０６）。例えば、加工プログラム生成部２３は、第２のパラメータである素材材質「Ｓ４５Ｃ」、素材長さ「１２０ｍｍ」、素材外径「１５０ｍｍ」、素材内径「０ｍｍ」、素材端面「１０ｍｍ」、穴径「３０ｍｍ」、穴深さ「１０ｍｍ」を推論部２４に入力し、推論部２４から推論結果である第１のパラメータ「０」を取得する。ここで第１のパラメータ「０」は、旋削ドリル工程を先に行い、その後に旋削端面工程を行うことを示している。ここで、推論部２４に入力した複数の第２のパラメータと、推論結果である第１のパラメータとを合わせて、プログラム生成パラメータＰＡ１２１と称する。推論部２４は、加工プログラム生成部２３から入力される第２のパラメータを入力データとして、学習モデル記憶部１５に記憶された学習モデルのうち、指定された第１のパラメータに対応する学習モデルを使用して、第１のパラメータの値を推論し、推論結果を加工プログラム生成部２３に入力する。
【００５９】
ステップＳ４０６の処理は、取得する第１のパラメータの数だけ繰り返される。加工プログラム生成部２３は、第２のパラメータである素材材質「Ｓ４５Ｃ」、素材長さ「１２０ｍｍ」、素材外径「１５０ｍｍ」、素材内径「０ｍｍ」、径方向取り代「３０ｍｍ」、軸方向取り代「３０ｍｍ」を推論部２４に入力し、推論部２４から推論結果である第１のパラメータ「０」を取得することができる。ここで第１のパラメータ「０」は、外径の値が０であることを示している。ここで、推論部２４に入力した複数の第２のパラメータと、推論結果である第１のパラメータとを合わせて、プログラム生成パラメータＰＡ１２２と称する。
【００６０】
加工プログラム生成部２３は、第２のパラメータである素材材質「Ｓ４５Ｃ」、素材長さ「１２０ｍｍ」、素材外径「１５０ｍｍ」、素材内径「０ｍｍ」、径方向取り代「１０ｍｍ」、軸方向取り代「２０ｍｍ」を推論部２４に入力し、推論部２４から推論結果である第１のパラメータ「０」を取得することができる。ここで第１のパラメータ「０」は、旋削棒材加工であることを示している。ここで、推論部２４に入力した複数の第２のパラメータと、推論結果である第１のパラメータとを合わせて、プログラム生成パラメータＰＡ１２３と称する。
【００６１】
加工プログラム生成部２３は、第２のパラメータである素材材質「Ｓ４５Ｃ」、素材長さ「１２０ｍｍ」、素材外径「１５０ｍｍ」、素材内径「０ｍｍ」、径方向取り代「１０ｍｍ」、軸方向取り代「２０ｍｍ」を推論部２４に入力し、推論部２４から推論結果である第１のパラメータ「０」を取得することができる。ここで第１のパラメータ「０」は、加工部位が外径であることを示している。ここで、推論部２４に入力した複数の第２のパラメータと、推論結果である第１のパラメータとを合わせて、プログラム生成パラメータＰＡ１２４と称する。
【００６２】
なお、旋削端面工程とは、素材端面の突出し部を、旋削端面工具で削り落とす旋削端面加工を行う工程である。旋削ドリル工程とは、素材における半径方向の中心領域に旋削ドリルで中心軸に沿った穴をあける旋削ドリル加工を行う工程である。旋削棒材工程とは、旋削工具で丸棒素材の外径、内径、正面、または背面を旋削する旋削棒材加工を行う工程である。旋削溝入れ工程とは、丸棒素材の外径、内径、正面または背面に、旋削溝入れ工具で溝加工を行う旋削溝入れ加工を行う工程である。端面取り代は、旋削端面加工における削り代である。
【００６３】
続いて加工プログラム生成部２３は、プログラム生成パラメータＰＡ１２１〜１２４を使用して、加工除去形状の旋削断面形状ｔを複数の異なる加工工程に分割して、旋削加工形状を生成する（ステップＳ４０７）。旋削加工形状は、複数の異なる加工工程により素材から加工形状を削り出す場合の各加工工程における旋削断面形状である。
【００６４】
以下、旋削断面形状ｔの分割手順について説明する。図１１は、旋削端面工程の旋削加工形状ＳＨ１を示す図である。図１２は、旋削ドリル工程の旋削加工形状ＳＨ２を示す図である。図１３は、旋削棒材工程の旋削加工形状ＳＨ３を示す図である。図１４は、旋削棒材工程の旋削加工形状ＳＨ４を示す図である。
【００６５】
加工プログラム生成部２３は、旋削断面形状ｔ１から端面取り代「１０ｍｍ」の情報を取得する。加工プログラム生成部２３は、プログラム生成パラメータＰＡ１２１を参照し、加工順序を示す第１のパラメータの値が「旋削ドリル工程を先に行い、その後に旋削端面工程を行う」となっているため、図１１に示すように、図１０に示す旋削断面形状ｔ１から旋削端面工程の旋削加工形状ＳＨ１を分割する。
【００６６】
続いて、加工プログラム生成部２３は、プログラム生成パラメータＰＡ１２１を参照し、加工部位を示す第１のパラメータの値が「外径」となっているので、図１２に示すように、図１０に示す旋削断面形状ｔ１から旋削ドリル工程の旋削加工形状ＳＨ２を分割する。
【００６７】
加工プログラム生成部２３は、続いて、図１３に示すように、図１０に示す旋削断面形状ｔ１から旋削棒材工程の旋削加工形状ＳＨ３を分割する。加工プログラム生成部２３は、図１４に示すように、図１０に示す旋削断面形状ｔ２を旋削棒材工程の旋削加工形状ＳＨ４として分割する。
【００６８】
図６の説明に戻る。加工プログラム生成部２３は、第１のパラメータの推論結果を含むプログラム生成パラメータＰＡ１２１〜１２４と、生成した旋削加工形状とに基づいて、加工プログラムの各工程を生成する（ステップＳ４０８）。
【００６９】
具体的には、加工プログラム生成部２３は、旋削加工形状に、プログラム生成パラメータＰＡ１２１〜１２４に基づいて旋削加工工程を割り当てて、旋削加工工程を生成する。図１５は、図１１に示す旋削加工形状ＳＨ１の旋削加工工程の加工開始点および加工終了点の座標を示す図である。加工プログラム生成部２３は、プログラム生成パラメータＰＡ１２１〜１２４に基づいて、旋削加工形状ＳＨ１の旋削加工工程の加工開始点Ｐ１（７５，−１０）および加工終了点Ｐ２を算出し、旋削加工形状ＳＨ１に割り当て、旋削加工工程ＬＣ１の加工プログラムを生成する。
【００７０】
図１６は、図１２に示す旋削加工形状ＳＨ２の旋削ドリル工程の加工開始点および加工終了点の座標を示す図である。加工プログラム生成部２３は、プログラム生成パラメータＰＡ１２１〜１２４に基づいて、旋削加工形状ＳＨ２の旋削ドリル工程の加工開始点Ｐ３（０，０）および加工終了点Ｐ４（０，１１０）を算出し、旋削加工形状ＳＨ２に割り当て、旋削ドリル工程ＬＣ２の加工プログラムを生成する。
【００７１】
図１７は、図１３に示す旋削加工形状ＳＨ３の旋削棒材工程の切り込み点、加工開始点、および加工終了点の座標を示す図である。旋削棒材工程の旋削加工形状ＳＨ３から、開放部形状のＸ軸方向の長さ３０ｍｍの情報と、開放部形状のＺ軸方向の長さ３０ｍｍの情報とを取得する。加工プログラム生成部２３は、プログラム生成パラメータＰＡ１２２を参照して、加工部位「外径」とし、旋削加工形状ＳＨ３から、旋削棒材工程の切り込み点Ｐ５（７５，０）、加工開始点Ｐ６（４５，０）、加工終了点Ｐ７（４５，３０）の座標を取得し、加工部位が外径とされた旋削棒材工程である旋削棒材外径工程ＬＣ３の加工プログラムを生成する。
【００７２】
図１８は、図１４に示す旋削加工形状ＳＨ４の旋削棒材工程の切り込み点、加工開始点および加工終了点の座標を示す図である。加工プログラム生成部２３は、旋削棒材工程の旋削加工形状ＳＨ４から、開放部形状のＸ軸方向の長さ１０ｍｍ、開放部形状のＺ軸方向の長さ２０ｍｍの情報を取得する。加工プログラム生成部２３は、プログラム生成パラメータＰＡ１２４を参照して、加工部位「外径」とし、旋削加工形状ＳＨ４から、旋削棒材工程の切り込み点Ｐ８（７５，６０）、加工開始点Ｐ９（６５，６０）、加工終了点Ｐ１０（６５，８０）の座標を取得し、加工部位が外径とされた旋削棒材工程である旋削棒材外径工程ＬＣ４の加工プログラムを生成する。
【００７３】
以上説明したように、図６に示す処理が行われることにより、加工プログラム生成部２３は、プログラム生成パラメータＰＡ１２１〜１２４を参照して、素材から加工形状を削り出すための複数の異なる旋削加工工程を自動で生成することができる。
【００７４】
また、ここでは過去に作成された加工プログラムから生成された学習モデルを用いて、各第１のパラメータが決定される。過去に作成された加工プログラムには、作業者の知識および経験が蓄積されており、作業者自身が加工プログラムを手作業で作成した場合と同様の加工プログラムを自動で容易に生成することが可能になる。
【００７５】
また、加工プログラムを生成する際に調整しなければならないパラメータが多種多様に渡っても、加工プログラムを容易に生成することが可能になる。
【００７６】
実施の形態２．
実施の形態２にかかる数値制御装置１００の構成は、図１に示す実施の形態１と同様であるため、ここでは説明を省略する。
【００７７】
以下、数値制御装置１００の動作について説明する。実施の形態２においても、実施の形態１と同様に、数値制御装置１００の動作は、機械学習装置１０が行う学習モデル生成処理と、加工プログラム生成装置２０が行う加工プログラム生成処理とを含む。
【００７８】
まず、機械学習装置１０が行う学習モデル生成処理の概要について説明する。図１９は、本発明の実施の形態２にかかる学習モデル生成処理の概要を示すフローチャートである。
【００７９】
まず、加工プログラム入力部１１は、図示しない記憶領域から加工プログラム１を読み込み、加工プログラム記憶部１２に記憶させる（ステップＳ５０１）。データ抽出部１３は、加工プログラム記憶部１２に記憶された加工プログラム１に基づいて、加工プログラム１毎に、加工後の加工対象物の形状である加工形状を生成する（ステップＳ５０２）。
【００８０】
データ抽出部１３は、加工プログラム記憶部１２に記憶された加工プログラム１と、ステップＳ５０２において生成された加工形状とから、第２のパラメータを抽出する（ステップＳ５０３）。
【００８１】
続いてデータ抽出部１３は、加工プログラム記憶部１２に記憶された加工プログラム１から、第１のパラメータを抽出する（ステップＳ５０４）。続いて機械学習部１４は、データ抽出部１３が抽出した第１のパラメータと第２のパラメータとの組に基づいてデータセットを生成し、機械学習処理を行う（ステップＳ５０５）。機械学習部１４は、機械学習の結果として生成される学習モデルを、学習モデル記憶部１５に記憶させる。
【００８２】
加工プログラム生成処理の概要については、実施の形態１と同様であるためここでは説明を省略する。
【００８３】
図２０は、図１９に示す学習モデル生成処理の詳細を示すフローチャートである。まず、加工プログラム入力部１１は、不図示の記憶領域から加工プログラム１を読み込み、加工プログラム記憶部１２に記憶させる（ステップＳ６０１）。
【００８４】
データ抽出部１３は、加工プログラム記憶部１２に記憶されている複数の加工プログラム１のそれぞれから、パラメータを抽出する（ステップＳ６０２）。
【００８５】
図２１は、実施の形態２において機械学習装置１０が読み込む加工プログラムの一例を示す図である。図２１に示す加工プログラムから抽出されるパラメータは、例えば、素材に関するパラメータ、加工に関するパラメータ、工具に関するパラメータ、加工位置に関するパラメータである。素材に関するパラメータは、素材材質「ＣＳＴ  ＩＲＮ」、素材外径「６」、素材内径「１．５」、素材長さ「７」、素材端面「０」、および、素材回転数「１５００」である。加工に関するパラメータは、ユニット番号「４」、角度Ｂ「９０」、角度Ｃ「０」、加工種類「棒材」、加工部「外径」、切込−Ｘ「６．０」、切込−Ｚ「０」、仕上げ代−Ｘ「０．１」、仕上げ代−Ｚ「０．１」である。工具に関するパラメータは、工具シーケンス番号「１」、加工種別「荒加工」、工具種類「旋削外形」、呼び径「１」、サフィックス「Ａ」、加工パターン「０」、最大切込み量「０．３」、周速「１００」、送り「１」、工具シーケンス番号「２」、加工種別「仕上げ加工」、工具種類「旋削外形」、呼び径「１」、サフィックス「Ｂ」、加工パターン「０」、最大切込み量「０．３」、周速「１００」、送り「１」である。加工位置に関するパラメータは、形状シーケンス番号「１」、形状パターン「テーパ」、前コーナ「０」、始点−Ｘ「３」、始点−Ｚ「０」、終点−Ｘ「５．２７１７６」、終点−Ｚ「１．９６７４」、後コーナ「０」、形状シーケンス番号「２」、形状パターン「テーパ」、前コーナ「０」、始点−Ｘ「５．２７１７６」、始点−Ｚ「１．９６７４」、終点−Ｘ「５．２７１７６」、終点−Ｚ「２．９６７４」、後コーナ「０」である。
【００８６】
さらに、図２１に示す加工プログラムから抽出されるパラメータは、以下に示すパラメータが挙げられる。加工に関するパラメータは、ユニット番号「６」、角度Ｂ「０」、角度Ｃ「０」、加工種類「ドリル」、穴径「０．５１５６」、穴深さ「０．５９、面取り「０」である。工具に関するパラメータは、工具シーケンス番号「１」、工具種類「ドリル」、呼び径「０．５２」、サフィックス「なし」、加工穴径「０．５２」、加工穴深さ「０．５」、下穴径「０」、送り速度変更割合「１００」、加工サイクル「ドリルサイクル」、切込み量「０．２６」、周速「１０」、送り「１」である。加工位置に関する特徴量は、形状シーケンス番号「１」、形状パターン「円」、Ｚ「０」、Ｘ「０」、Ｙ「０」、始点とＸ軸のなす角度「０．００８」、半径「１．０８３０７」、穴個数「４」である。
【００８７】
図２０の説明に戻る。続いてデータ抽出部１３は、加工プログラム記憶部１２に記憶された複数の加工プログラムのそれぞれから加工形状を生成する（ステップＳ６０３）。図２２は、図２０のステップＳ６０３において生成される加工形状の一例を示す図である。なお、加工プログラムから加工形状を生成する技術は、特許第５３４９７１３号、特許第５９０５１５９号、特許第５９３６７８１号などに示されている技術を使用することができる。
【００８８】
図２０の説明に戻る。データ抽出部１３は、ステップＳ６０３において生成した加工形状から、第２のパラメータを抽出する（ステップＳ６０４）。ここで生成した加工形状から抽出できる第２のパラメータとしては、製品長さ「７」、製品最大外径「６」、製品最小外径「３」、製品最大内径「１．５」、製品最小内径「１．５」などが挙げられる。
【００８９】
データ抽出部１３は、第１のパラメータ毎に、第２のパラメータを絞り込む（ステップＳ６０５）。例えば、第１のパラメータの種類を加工部位とし、第１のパラメータの値は０から３の４種類の値のいずれかとし、「０」外径、「１」内径、「２」正面、「３」背面」とする。このとき第１のパラメータの種類に基づいて絞り込んだ第２のパラメータは、素材材質「ＣＳＴ  ＩＲＮ」、素材外径「６」、素材内径「１．５」、素材長さ「７」、素材端面「０」、加工種類「旋削棒材」、径方向取り代「２．２７１６」、軸方向取り代「１．９６７４」、製品長さ「７」、製品最大外径「６」、製品最小外径「３」、製品最大内径「１．５」、製品最小外径「１．５」、加工部位最大Ｘ「５．２７１７６」、加工部位最小Ｘ「３」、加工部位最大Ｚ「１．９６７４」、加工部位最小Ｚ「０」となる。また、第１のパラメータの値は「０」である。
【００９０】
また、第１のパラメータの種類をドリル加工方法とし、第１のパラメータの値は０から３の４種類の値のいずれかとし、「０」ドリルサイクル、「１」高速深穴サイクル、「２」深穴サイクル、「３」超深穴サイクルとする。このとき第１のパラメータの種類に基づいて絞り込んだ第２のパラメータは、素材材質「ＣＳＴ  ＩＲＮ」、素材外径「６」、素材内径「１．５」、素材長さ「７」、素材端面「０」、加工種類「ドリル加工」、加工穴径「０．５２」、加工穴深さ「０．５」、製品長さ「７」、製品最大外径「６」、製品最小外径「３」、製品最大内径「１．５」、製品最小外径「１．５」、加工部位最大Ｘ「１．０８３０７」、加工部位最小Ｘ「−１．０８３０７」、加工部位最大Ｚ「０」、加工部位最小Ｚ「０」となる。また、第１のパラメータの値は「０」である。
【００９１】
データ抽出部１３は、第１のパラメータおよび第２のパラメータのデータセットを生成し、生成したデータセットを機械学習部１４に入力する（ステップＳ６０６）。
【００９２】
機械学習部１４は、データ抽出部１３から入力されたデータセットに従って、機械学習を行い、第１のパラメータ毎に学習モデルを生成する（ステップＳ６０７）。機械学習部１４は、生成した学習モデルを学習モデル記憶部１５に記憶させる（ステップＳ６０８）。
【００９３】
図２３は、実施の形態２にかかる加工プログラム生成処理の詳細を示すフローチャートである。まず加工プログラム生成部２３は、加工形状データ記憶部２２に記憶された加工形状データであるＣＡＤデータ２を読み込む（ステップＳ７０１）。ＣＡＤデータ２は、加工対象物の加工前後の形状を含む設計データである。図２４は、実施の形態２において使用されるＣＡＤデータ２が示す加工形状の斜視図である。
【００９４】
図２３の説明に戻る。加工プログラム生成部２３は、読み込んだＣＡＤデータ２に基づいて、図２４に示すような加工形状を生成し、プログラム座標系の加工原点であるプログラム原点に加工形状を配置する（ステップＳ７０２）。
【００９５】
プログラム座標系においては、ＸＹＺ軸のうち、Ｚ軸を、旋削加工を行う際の中心軸である旋削軸ＳＧとする。加工プログラム生成部２３は、加工形状をプログラム原点に配置する際、加工形状のうち、直径が最大となる円筒面の回転軸または円錐面の回転軸がＺ軸に一致するように、加工形状を移動および回転させて配置する。また、加工形状のＺ軸方向の端面がプログラム原点に一致するように移動する。すなわち、加工プログラム生成部２３は、ＣＡＤデータ２から旋削軸ＳＧと回転中心軸を同一とする円柱面または円錐面を切削端面として抽出する。したがって、加工プログラム生成部２３は、ＣＡＤデータ２から、旋削軸を回転中心軸とする３次元の加工形状を生成する。
【００９６】
図２３の説明に戻る。続いて加工プログラム生成部２３は、読み込んだＣＡＤデータ２に基づいて、３次元の素材形状を生成する（ステップＳ７０３）。具体的には、加工プログラム生成部２３は、プログラム原点に配置された加工形状を包含する３次元の円柱形状を生成し、加工形状と同様にプログラム座標系に配置する。図２５は、実施の形態２において使用されるＣＡＤデータ２に基づいて生成される素材形状を示す斜視図である。素材形状は、加工前の加工対象物の形状である。素材形状の寸法は、加工形状におけるＸ軸方向、Ｙ軸方向およびＺ軸方向におけるそれぞれの最大値および最小値から求めることができる。ここでは、素材形状は、素材外径「６」、素材長さ「７」、素材材質「ＣＳＴ  ＩＲＮ」とする。
【００９７】
加工プログラム生成部２３は、素材形状から旋削加工により除去する形状である加工除去形状を、素材形状および加工形状に基づいて生成する（ステップＳ７０４）。図２６は、実施の形態２において生成される加工除去形状を示す斜視図である。図２６では、加工形状を破線で示している。加工除去形状は、素材形状のソリッドモデルから加工形状のソリッドモデルを引き去る差演算により求めることができる。
【００９８】
続いて加工プログラム生成部２３は、加工除去形状の断面形状である旋削断面形状ｕを生成する（ステップＳ７０５）。図２７は、図２６に示す加工除去形状の断面形状である旋削断面形状ｕを示す図である。図２７に示す旋削断面形状は、加工除去形状をＸＺ平面のうち＋Ｘの領域のみに限定した＋ＸＺ平面に投影して得られる１／２旋削断面形状である。加工プログラム生成部２３は、ＸＺ平面からなる断面モデルと加工形状からなるソリッドモデルとの積演算により断面形状を求め、Ｘが０以上の領域として範囲を限定することにより、旋削断面形状ｕを求めることができる。
【００９９】
図２３の説明に戻る。加工プログラム生成部２３は、推論部２４に、推論する第１のパラメータの種類を指定し、第２のパラメータを入力して、旋削加工工程の第１のパラメータの推論結果を取得する（ステップＳ７０６）。例えば、加工プログラム生成部２３は、第２のパラメータである素材材質「ＣＳＴ  ＩＲＮ」、素材長さ「７」、素材外径「６」、素材内径「１．５」、素材端面「０」、加工種類「旋削棒材」、径方向取り代「２．２７１６」、軸方向取り代「１．９６７４」、製品長さ「７」、製品最大外径「６」、製品最小外径「３」、製品最大内径「１．５」、製品最小内径「１．５」、加工部位最大Ｘ「５．２７１７６」、加工部位最小Ｘ「３」、加工部位最大Ｚ「１．９６７４」、加工部位最小Ｚ「０」を推論部２４に入力し、推論部２４から推論結果である第１のパラメータ「０」を取得する。ここで第１のパラメータ「０」は、加工部位が「外径」であることを示している。ここで、推論部２４に入力した複数の第２のパラメータと、推論結果である第１のパラメータとを合わせて、プログラム生成パラメータＰＡ１２５と称する。推論部２４は、加工プログラム生成部２３から入力される第２のパラメータを入力データとして、学習モデル記憶部１５に記憶された学習モデルのうち、指定された第１のパラメータに対応する学習モデルを使用して、第１のパラメータの値を推論し、推論結果を加工プログラム生成部２３に入力する。
【０１００】
続いて加工プログラム生成部２３は、旋削加工形状を生成する（ステップＳ７０７）。旋削加工形状は、複数の異なる加工工程により素材から加工形状を削り出す場合の各加工工程における旋削断面形状である。ここでは、加工工程を分割する必要がないため、旋削断面形状ｕがそのまま旋削加工形状となる。
【０１０１】
加工プログラム生成部２３は、第１のパラメータの推論結果を含むプログラム生成パラメータＰＡ１２５と、生成した旋削加工形状とに基づいて、加工プログラムの旋削加工工程を生成する（ステップＳ７０８）。
【０１０２】
図２８は、旋削加工形状ＳＨ５の旋削加工工程の切り込み点、加工開始点、加工途中点および加工終了点の座標を示す図である。加工プログラム生成部２３は、プログラム生成パラメータＰＡ１２５に基づいて、旋削加工形状ＳＨ５の旋削加工工程の切り込み点Ｐ２１（３，０）、加工開始点Ｐ２２（１．５，０）、加工途中点Ｐ２３（２．６３５８８，１．９６７４）、加工途中点Ｐ２４（２．６３５８８，２．９６７４）、加工終了点Ｐ２５（３，２．９６７４）を算出し、旋削加工形状ＳＨ５に割り当て、旋削加工工程の加工プログラムを生成する。
【０１０３】
図２３の説明に戻る。続いて加工プログラム生成部２３は、推論部２４に、推論する第１のパラメータの種類を指定し、第２のパラメータを入力して、穴加工工程の第１のパラメータの推論結果を取得する（ステップＳ７０９）。例えば、加工プログラム生成部２３は、第２のパラメータである素材材質「ＣＳＴ  ＩＲＮ」、素材長さ「７」、素材外径「６」、素材内径「１．５」、素材端面「０」、加工種類「ドリル加工」、加工穴径「０．５２」、加工穴深さ「０．５」、製品長さ「７」、製品最大外径「６」、製品最小外径「３」、製品最大内径「１．５」、製品最小内径「１．５」、加工部位最大Ｘ「１．０８３０７」、加工部位最小Ｘ「−１．０８３０７」、加工部位最大Ｚ「０」、加工部位最小Ｚ「０」を推論部２４に入力し、推論部２４から推論結果である第１のパラメータ「０」を取得する。ここで第１のパラメータ「０」は、加工方法が「ドリルサイクル」であることを示している。ここで、推論部２４に入力した複数の第２のパラメータと、推論結果である第１のパラメータとを合わせて、プログラム生成パラメータＰＡ１２６と称する。推論部２４は、加工プログラム生成部２３から入力される第２のパラメータを入力データとして、学習モデル記憶部１５に記憶された学習モデルのうち、指定された第１のパラメータに対応する学習モデルを使用して、第１のパラメータの値を推論し、推論結果を加工プログラム生成部２３に入力する。
【０１０４】
加工プログラム生成部２３は、穴加工形状を生成する（ステップＳ７１０）。続いて加工プログラム生成部２３は、第１のパラメータの推論結果を含むプログラム生成パラメータＰＡ１２６と、生成した穴加工形状とに基づいて、加工プログラムの穴加工工程を生成する（ステップＳ７１１）。
【０１０５】
図２９は、実施の形態２にかかる穴加工工程の内容を示す説明図である。穴加工工程は、加工穴径「０．５１５６」、穴深さ「０．５」、面取り「０」、工具種類「ドリル」、呼び径「０．５２」、加工穴径「０．５２」、加工穴深さ「０．５」、下穴径「０」、加工サイクル「ドリルサイクル」、形状パターン「円」、Ｚ「０」、Ｘ「０」、Ｙ「０」、始点とＸ軸のなす角度「０．００８°」、半径「１．０８３０７」、穴個数「４」といったパラメータで示される。これらのパラメータを使用して、加工プログラム生成部２３は、加工プログラムの穴加工工程を生成する。
【０１０６】
図３０は、図１に示す機械学習装置１０および加工プログラム生成装置２０のハードウェア構成を示す図である。図１に示す各機能部は、プロセッサ９０１と、プロセッサ９０１がワークエリアに用いるメモリ９０２と、数値制御装置１００の各機能を記述したコンピュータプログラムを記憶する記憶装置９０３と、作業者との間の入力インタフェースである入力装置９０４と、作業者に情報を表示する出力装置である表示装置９０５と、被制御機器または他の数値制御装置などとの通信機能を有する通信装置９０６とを備える。プロセッサ９０１、メモリ９０２、記憶装置９０３、入力装置９０４、表示装置９０５および通信装置９０６の間は、データバス９０７で接続されている。
【０１０７】
プロセッサ９０１は、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、またはＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）などである。メモリ９０２は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、またはＥＥＰＲＯＭ（登録商標）（Ｅｌｅｃｔｒｉｃａｌｌｙ  ＥＰＲＯＭ）などの、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、またはＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）などである。
【０１０８】
加工プログラム入力部１１、データ抽出部１３、および機械学習部１４は、例えば、図３０に示すメモリ９０２に記憶されたコンピュータプログラムを、プロセッサ９０１が読み出して実行することにより実現することができる。また、複数のプロセッサ９０１および複数のメモリ９０２が連携して、上記の機能を実現してもよい。また、機械学習部１４の機能の内の一部を電子回路として実装し、他の部分をプロセッサ９０１およびメモリ９０２を用いて実現するようにしてもよい。
【０１０９】
また加工形状データ入力部２１、加工形状データ記憶部２２、加工プログラム生成部２３、および推論部２４を、同様に、メモリ９０２に記憶されたコンピュータプログラムをプロセッサ９０１が読み出して実行することにより、実現することができる。また、複数のプロセッサ９０１および複数のメモリ９０２が連携して上記の機能を実現してもよい。加工形状データ入力部２１、加工形状データ記憶部２２、加工プログラム生成部２３、および推論部２４の機能のうちの一部を電子回路として実装し、他の部分をプロセッサ９０１およびメモリ９０２を用いて実現するようにしてもよい。加工形状データ入力部２１、加工形状データ記憶部２２、加工プログラム生成部２３、および推論部２４の機能を実現するためのプロセッサ９０１およびメモリ９０２は、機械学習部１４を実現するためのプロセッサ９０１およびメモリ９０２と同一であってもよいし、異なるプロセッサ９０１およびメモリ９０２が用いられてもよい。
【０１１０】
以上説明したように、本発明の実施の形態１および２にかかる機械学習装置１０は、加工プログラム１に基づいて、機械学習可能な調整対象のパラメータである第１のパラメータを取得することができ、取得した第１のパラメータ毎に、第１のパラメータの推論に用いる調整対象外のパラメータである第２のパラメータを抽出し、学習モデルを自動で生成することができる。この学習モデルは、過去に作成した加工プログラムに基づいて生成されているため、加工プログラム内に蓄積された過去の知識および経験の内容を含む学習モデルを生成することができる。
【０１１１】
また、加工プログラム生成装置２０は、機械学習装置１０が生成した学習モデルを用いて第１のパラメータの推論を行い、推論結果を用いて加工プログラムを自動的に生成するため、過去の加工プログラム内に蓄積された知識および経験を活用した高品質な加工プログラムを容易に生成することが可能になる。
【０１１２】
また、実施の形態２にかかる機械学習装置１０では、加工プログラム１から加工形状を生成して、加工形状から第２のパラメータを抽出することができる。これにより、抽出可能なパラメータの種類を増やすことができ、学習モデルの精度を高めることができる。
【０１１３】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【０１１４】
例えば、上記の実施の形態１および２においては、機械学習装置１０および加工プログラム生成装置２０は、同一の数値制御装置１００内に組み込まれた例を示したが、本実施の形態はかかる例に限定されない。機械学習装置１０および加工プログラム生成装置２０は、数値制御装置１００の外部に独立して設けられてもよい。
【０１１５】
また、上記の実施の形態１および２においては、数値制御される工作機械が旋盤である場合の加工プログラムを例に説明したが、数値制御される工作機械は旋盤に限定されず、他の工作機械であってもよい。
【符号の説明】
【０１１６】
１  加工プログラム、２  ＣＡＤデータ、１０  機械学習装置、１１  加工プログラム入力部、１２  加工プログラム記憶部、１３  データ抽出部、１４  機械学習部、１５  学習モデル記憶部、２０  加工プログラム生成装置、２１  加工形状データ入力部、２２  加工形状データ記憶部、２３  加工プログラム生成部、２４  推論部、２５  加工プログラム記憶部、３０  対話操作処理部、４０  指示入力部、５０  表示部、１００  数値制御装置、９０１  プロセッサ、９０２  メモリ、９０３  記憶装置、９０４  入力装置、９０５  表示装置、９０６  通信装置、９０７  データバス、ｔ，ｔ１，ｔ２，ｕ  旋削断面形状、ＳＨ１，ＳＨ２，ＳＨ３，ＳＨ４，ＳＨ５  旋削加工形状。
【要約】
機械学習装置（１０）は、工作機械を数値制御するための複数の加工プログラム（１）から、調整対象のパラメータである第１のパラメータと、調整対象のパラメータを調整するために使用されるパラメータである第２のパラメータとを抽出するデータ抽出部（１３）と、データ抽出部（１３）が抽出した第１のパラメータおよび第２のパラメータを含むデータセットに従って、第１のパラメータの値を学習する機械学習部（１４）と、を備えることを特徴とする。【図１】
0006599069.tif 000002
【図２】
0006599069.tif 000003
【図３】
0006599069.tif 000004
【図４】
0006599069.tif 000005
【図５】
0006599069.tif 000006
【図６】
0006599069.tif 000007
【図７】
0006599069.tif 000008
【図８】
0006599069.tif 000009
【図９】
0006599069.tif 000010
【図１０】
0006599069.tif 000011
【図１１】
0006599069.tif 000012
【図１２】
0006599069.tif 000013
【図１３】
0006599069.tif 000014
【図１４】
0006599069.tif 000015
【図１５】
0006599069.tif 000016
【図１６】
0006599069.tif 000017
【図１７】
0006599069.tif 000018
【図１８】
0006599069.tif 000019
【図１９】
0006599069.tif 000020
【図２０】
0006599069.tif 000021
【図２１】
0006599069.tif 000022
【図２２】
0006599069.tif 000023
【図２３】
0006599069.tif 000024
【図２４】
0006599069.tif 000025
【図２５】
0006599069.tif 000026
【図２６】
0006599069.tif 000027
【図２７】
0006599069.tif 000028
【図２８】
0006599069.tif 000029
【図２９】
0006599069.tif 000030
【図３０】
0006599069.tif 000031