(57)【要約】  機械学習装置（５０）は、切削加工品の加工仕上がり形状の情報および素材の材質の情報を含む加工形状データと、被加工物から切削加工品を削り出すための複数の切削加工を含む数値制御加工プログラムを自動生成するための数値制御加工プログラムの生成方法と、数値制御加工プログラムの生成方法を参照して生成された第１数値制御加工プログラムに対する編集内容と、を状態変数として観測する状態観測部（５１）と、状態変数に基づいて作成されるデータセットに従って、数値制御加工プログラムの生成方法を学習する学習部（５２）と、を備える。
2020012581.tif 000002
【特許請求の範囲】
【請求項１】
切削加工品の加工仕上がり形状の情報および素材の材質の情報を含む加工形状データと、被加工物から前記切削加工品を削り出すための複数の切削加工を含む数値制御加工プログラムを自動生成するための数値制御加工プログラムの生成方法と、前記数値制御加工プログラムの生成方法を参照して生成された第１数値制御加工プログラムに対する編集内容と、を状態変数として観測する状態観測部と、
前記状態変数に基づいて作成されるデータセットに従って、前記数値制御加工プログラムの生成方法を学習する学習部と、
を備えることを特徴とする機械学習装置。
【請求項２】
前記学習部が、
前記数値制御加工プログラムの生成方法に前記編集内容を反映させた反映数値制御加工プログラムの生成方法に基づいて報酬を計算する報酬計算部と、
計算された前記報酬に基づいて、前記数値制御加工プログラムの生成方法を決定するための関数を更新する関数更新部と、
を備えることを特徴とする請求項１に記載の機械学習装置。
【請求項３】
前記報酬計算部は、
前記数値制御加工プログラムの生成方法と前記反映数値制御加工プログラムの生成方法とが同じ場合には前記反映数値制御加工プログラムの生成方法の報酬を増大し、前記数値制御加工プログラムの生成方法と前記反映数値制御加工プログラムの生成方法とが異なる場合には前記数値制御加工プログラムの生成方法の報酬を低減するとともに前記反映数値制御加工プログラムの生成方法の報酬を増大するように構成されること、
を特徴とする請求項２に記載の機械学習装置。
【請求項４】
請求項１から３のいずれか１つに記載の機械学習装置と、
前記機械学習装置が学習した結果に基づいて決定される前記数値制御加工プログラムの生成方法を参照して前記第１数値制御加工プログラムを生成する数値制御加工プログラム生成部と、
前記第１数値制御加工プログラムを編集して第２数値制御加工プログラムを生成する数値制御加工プログラム編集部と、
前記機械学習装置の前記学習部が学習した結果に基づいて、前記加工形状データに対応する数値制御加工プログラムの生成方法を決定する意思決定部と、
を備えることを特徴とする数値制御加工プログラム生成装置。
【請求項５】
被加工物から切削加工品を削り出すための複数の切削加工を含む数値制御加工プログラムを生成する数値制御加工プログラム生成装置における前記数値制御加工プログラムの自動生成に用いられる数値制御加工プログラムの生成方法を学習する機械学習方法であって、
前記切削加工品の加工仕上がり形状の情報および素材の材質の情報を含む加工形状データと、前記数値制御加工プログラムの生成方法と、前記数値制御加工プログラムの生成方法を参照して前記数値制御加工プログラム生成装置が生成した第１数値制御加工プログラムに対する編集内容と、を状態変数として観測するステップと、
前記状態変数に基づいて作成されるデータセットに従って、前記数値制御加工プログラムの生成方法を学習するステップと、
を含むことを特徴とする機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械を数値制御するための数値制御加工プログラムの自動生成に用いられる数値制御加工プログラムの生成方法を学習する機械学習装置、数値制御加工プログラム生成装置および機械学習方法に関する。
【背景技術】
【０００２】
近年、数値制御（Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ：ＮＣ）工作機械の分野では、複雑且つ多彩な形状の工作物を自動加工できるようにするため、多種類の工具を刃物台に交換可能に装備して、旋削加工、穴あけ加工、フライス加工等の多様な加工工程を実施可能にする複合機械化が進められている。【０００３】
特許文献１には、自動生成した加工プログラムに対してオペレータが修正した切削条件の修正内容を記憶部に記憶させて、他のオペレータが次に同様の加工プログラムを作成する際に、修正後の切削条件を再利用可能な数値制御加工プログラム作成装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１３２３１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１の数値制御加工プログラム作成装置では、再利用可能とされているのは、加工対象素材を回転させる主軸の回転数、回転工具と加工対象素材との間の相対的切削送り量および切り上げといった切削条件だけであり、加工順序および加工方法に関しては加工プログラムを自動生成することができなかった。【０００６】
本発明は、上記に鑑みてなされたものであって、加工順序および加工方法のうち少なくとも一方に関して加工プログラムを自動生成可能とする、数値制御加工プログラムの生成方法を自動的に学習することができる機械学習装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明にかかる機械学習装置は、切削加工品の加工仕上がり形状の情報および素材の材質の情報を含む加工形状データと、被加工物から切削加工品を削り出すための複数の切削加工を含む数値制御加工プログラムを自動生成するための数値制御加工プログラムの生成方法と、数値制御加工プログラムの生成方法を参照して生成された第１数値制御加工プログラムに対する編集内容と、を状態変数として観測する状態観測部と、状態変数に基づいて作成されるデータセットに従って、数値制御加工プログラムの生成方法を学習する学習部と、を備える。
【発明の効果】
【０００８】
本発明によれば、加工順序および加工方法のうち少なくとも一方に関して加工プログラムを自動生成可能とする、数値制御加工プログラムの生成方法を自動的に学習することができる機械学習装置が得られる、という効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態１にかかる数値制御装置の構成例を示すブロック図
【図２】行動価値テーブルの概念を示す図
【図３】本発明の実施の形態１にかかる機械学習装置の関数更新部に加工ナレッジおよび反映加工ナレッジが記憶された状態の一例を示す図
【図４】本発明の実施の形態１における行動価値関数Ｑ（ｓ，ａ）の更新処理の手順を示すフローチャート
【図５】本発明の実施の形態１にかかるＮＣ加工プログラム生成装置のＮＣ加工プログラム生成部におけるＮＣ加工プログラム生成処理の手順の詳細を示すフローチャート
【図６】本発明の実施の形態１におけるＣＡＤ（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ）データで表される加工仕上がり形状の立体モデルの一例を示す斜視図
【図７】本発明の実施の形態１におけるＣＡＤデータで表される加工仕上がり形状を包含する素材形状の一例を示す斜視図
【図８】本発明の実施の形態１におけるＣＡＤデータで表される加工仕上がり形状と素材形状とから生成された加工除去形状の一例を示す斜視図
【図９】本発明の実施の形態１における素材形状、加工形状から生成された旋削断面形状および座標値を示す図
【図１０】本発明の実施の形態１にかかる旋削端面工程の旋削断面形状を示す図
【図１１】本発明の実施の形態１にかかる旋削ドリル工程の旋削断面形状を示す図
【図１２】本発明の実施の形態１にかかる旋削棒材工程の旋削断面形状を示す図
【図１３】本発明の実施の形態１にかかる旋削棒材工程の旋削断面形状を示す図
【図１４】本発明の実施の形態１にかかる旋削端面工程の加工開始点と加工終了点との一例を示す図
【図１５】本発明の実施の形態１にかかる旋削ドリル工程の加工開始点と加工終了点との一例を示す図
【図１６】本発明の実施の形態１にかかる旋削棒材工程の切り込み点と加工開始点と加工終了点との一例を示す図
【図１７】本発明の実施の形態１にかかる旋削棒材工程の切り込み点と加工開始点と加工終了点との一例を示す図
【図１８】本発明の実施の形態１にかかる旋削ドリル工程の旋削断面形状を示す図
【図１９】本発明の実施の形態１にかかる旋削端面工程の旋削断面形状を示す図
【図２０】本発明の実施の形態１にかかる旋削棒材工程の旋削断面形状を示す図
【図２１】本発明の実施の形態１にかかる旋削棒材工程の旋削断面形状を示す図
【図２２】本発明の実施の形態１にかかる旋削ドリル工程の加工開始点と加工終了点との一例を示す図
【図２３】本発明の実施の形態１にかかる旋削端面工程の加工開始点と加工終了点との一例を示す図
【図２４】本発明の実施の形態１にかかる旋削棒材正面工程の切り込み点と加工開始点と加工終了点との一例を示す図
【図２５】本発明の実施の形態１にかかる旋削棒材溝入れ工程の切り込み点と加工開始点と加工終了点との一例を示す図
【図２６】本発明の実施の形態１にかかる機械学習装置が従うニューラルネットワークモデルの一例を示す模式図
【図２７】本発明の実施の形態１にかかるＮＣ加工プログラム生成装置のハードウェア構成を示す図
【発明を実施するための形態】
【００１０】
以下に、本発明の実施の形態にかかる機械学習装置、数値制御加工プログラム生成装置および機械学習方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態１．
図１は、本発明の実施の形態１にかかる数値制御装置１の構成例を示すブロック図である。図１に示すように、数値制御装置１は、対話操作処理部１０と、表示部２０と、指示入力部３０と、ＮＣ加工プログラム生成装置４０とを備える。ＮＣ加工プログラム生成装置４０は、機械学習装置５０を備える。機械学習装置５０は、状態観測部５１と、学習部５２と、を備える。数値制御装置１は、不図示の数値制御工作機械に搭載され、または接続されて、ＮＣ加工プログラムにより数値制御工作機械の動作を数値制御する。
【００１２】
対話操作処理部１０は、数値制御装置１と作業者との間のインタフェース部であるとともに、ＮＣ加工プログラム生成装置４０と作業者との間のインタフェース部である。対話操作処理部１０は、作業者が指示入力部３０を介して入力した指示情報をＮＣ加工プログラム生成装置４０に送信する。また、対話操作処理部１０は、作業者が指示入力部３０を介して入力した指示情報を表示部２０に表示する。
【００１３】
表示部２０は、液晶モニタなどの表示端末であり、ＣＡＤデータ１００、ＮＣ加工プログラム、作業者が指示入力部３０を介して入力した指示情報を表示する。また、表示部２０は、数値制御装置１およびＮＣ加工プログラム生成装置４０で行われる処理に関する各種の情報を表示する。
【００１４】
指示入力部３０は、マウスおよびキーボード等の入力機器を備えて構成され、作業者からの指示情報を受け付けて、対話操作処理部１０に送信する。
【００１５】
ＮＣ加工プログラム生成装置４０は、数値制御装置１の外部からＮＣ加工プログラム生成装置４０に入力されるＣＡＤデータ１００で表される切削加工品の形状を切削加工により被加工物から削り出すために用いられるＮＣ加工プログラムを生成する。ＮＣ加工プログラムは、不図示のＮＣ工作機械を動作させるための数値加工プログラムである。また、数値制御装置１は、ＮＣ加工プログラムに従ってＮＣ工作機械を制御し、被加工物を切削加工して切削加工品を作製する。
【００１６】
ＮＣ加工プログラム生成装置４０は、加工形状データ入力部４１と、加工形状データ記憶部４２と、ＮＣ加工プログラム生成部４３と、ＮＣ加工プログラム記憶部４４と、ＮＣ加工プログラム編集部４５と、意思決定部４６と、を備える。ＮＣ加工プログラム生成装置４０の各構成部は、互いに情報の送受信が可能とされている。
【００１７】
加工形状データ入力部４１は、数値制御装置１の外部の外部装置からＮＣ加工プログラム生成装置４０に入力される加工形状データであるＣＡＤデータ１００を受け付けて、加工形状データ記憶部４２に送信する。加工形状データは、切削加工品の加工仕上がり形状の情報および素材の材質の情報を含む。加工仕上がり形状は、切削加工品を得るために切削加工により仕上げなければならない３次元形状である。素材は、ＣＡＤデータ１００で表される加工仕上がり形状が削り出される被加工物である。ただし、加工形状データはＣＡＤデータ１００に限定されない。加工形状データは、ＮＣ加工プログラム生成装置４０において解釈可能なデータであればよい。
【００１８】
加工形状データ記憶部４２は、加工形状データ入力部４１から送信された加工形状データを記憶する。
【００１９】
ＮＣ加工プログラム生成部４３は、ＣＡＤデータ１００で表される加工仕上がり形状を素材から削り出すためのＮＣ加工プログラムを生成する。詳細には、ＮＣ加工プログラム生成部４３は、切削加工品の加工形状データに基づいて、意思決定部４６を介して関数更新部５４から取得した加工ナレッジまたは反映加工ナレッジを参照して複数の切削加工における加工順序と加工方法とを決定する。そして、ＮＣ加工プログラム生成部４３は、決定した加工順序と加工方法に基づいて、被加工物から切削加工品を削り出すためのＮＣ加工プログラムである第１ＮＣ加工プログラム１１１を生成する。また、ＮＣ加工プログラム生成部４３は、加工形状データであるＣＡＤデータ１００と、第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジと、第１ＮＣ加工プログラム１１１とを関連付けて、ＣＡＤデータ１００と、第１ＮＣ加工プログラム１１１と、加工ナレッジとをＮＣ加工プログラム記憶部４４に送信して記憶させる。
【００２０】
加工ナレッジは、ＣＡＤデータ１００で表される切削加工品の加工仕上がり形状を素材から削り出すためのＮＣ加工プログラムをＮＣ加工プログラム生成部４３が自動生成する際に、素材から切削加工品を削り出すための複数の切削加工における素材の加工順序と素材の加工方法とのうち少なくとも一方を決定するために参照される決定条件であり、ＮＣ加工プログラムの生成方法を示す情報である。
【００２１】
具体的には、加工ナレッジは、素材から切削加工品を削り出すために除去する形状である加工除去形状の寸法に基づいて素材の加工順序と素材の加工方法とのうち少なくとも一方を指定する条件である。素材の加工順序は、素材から切削加工品を削り出すために複数の異なる切削加工が組み合わされる場合における切削加工の順序である。素材の加工方法は、加工方向を含む、切削加工法である。
【００２２】
後述するようにＮＣ加工プログラム生成部４３において自動生成された第１ＮＣ加工プログラム１１１を作業者が編集した場合に、編集内容が反映された新たな加工ナレッジである反映加工ナレッジが生成される。これにより、新たな加工ナレッジには、作業者の知識および経験が反映された編集内容が反映および蓄積される。このため、ＮＣ加工プログラム生成部４３が、加工ナレッジを参照してＮＣ加工プログラムを生成することにより、作業者自身がＮＣ加工プログラムを作製した場合と同様の、作業者が所望するＮＣ加工プログラムを迅速に自動生成することが可能となる。
【００２３】
ＮＣ加工プログラム記憶部４４は、加工形状データであるＣＡＤデータ１００と、ＮＣ加工プログラム生成部４３において生成されたＮＣ加工プログラムである第１ＮＣ加工プログラム１１１と、第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジとを、関連付けて記憶する。また、ＮＣ加工プログラム記憶部４４は、ＮＣ加工プログラム編集部４５において編集されたＮＣ加工プログラムである第２ＮＣ加工プログラム１１２を記憶する。なお、第１ＮＣ加工プログラム１１１は、第２ＮＣ加工プログラム１１２によって更新されてもよい。
【００２４】
ＮＣ加工プログラム編集部４５は、ＣＡＤデータ１００、第１ＮＣ加工プログラム１１１および第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジをＮＣ加工プログラム記憶部４４から読み込み、第１ＮＣ加工プログラム１１１を対話操作処理部１０に送信する。ＮＣ加工プログラム編集部４５は、第１ＮＣ加工プログラム１１１を作業者が指示入力部３０から入力する編集指示情報に基づいて編集して、第２ＮＣ加工プログラム１１２を生成する。ＮＣ加工プログラム編集部４５は、生成した第２ＮＣ加工プログラム１１２をＮＣ加工プログラム記憶部４４に送信して記憶させる。また、ＮＣ加工プログラム編集部４５は、加工形状データであるＣＡＤデータ１００と、第１ＮＣ加工プログラム１１１と、第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジと、第２ＮＣ加工プログラム１１２とを、後述する状態観測部５１に送信する。
【００２５】
ＮＣ加工プログラム編集部４５は、第１ＮＣ加工プログラム１１１の編集が行われていない場合には、すなわち、第２ＮＣ加工プログラム１１２が生成されない場合には、ＣＡＤデータ１００と、第１ＮＣ加工プログラム１１１と、第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジと、を状態観測部５１に送信する。
【００２６】
意思決定部４６は、ＮＣ加工プログラム生成部４３からの要求に対応して、関数更新部５４に記憶されている複数の異なる加工ナレッジを探索して、ＣＡＤデータ１００に対応する最も適切な加工ナレッジを決定して、取得する。ＣＡＤデータ１００に対応する最も適切な加工ナレッジは、関数更新部５４に記憶されている、ＣＡＤデータ１００に対応する加工ナレッジのうち、第１ＮＣ加工プログラム１１１の生成後の第１ＮＣ加工プログラム１１１に対する編集が最も少ない加工ナレッジである。すなわち、ＣＡＤデータ１００に対応する最も適切な加工ナレッジは、ＣＡＤデータ１００に対応する加工ナレッジのうち、作業者の知識および経験がより適切に反映された加工ナレッジである。
【００２７】
意思決定部４６は、関数更新部５４に記憶されているＣＡＤデータ１００に対応する複数の加工ナレッジの中から、行動価値Ｑの最も高い加工ナレッジを取得してＮＣ加工プログラム生成部４３に送信する。なお、意思決定部４６は、ＣＡＤデータ１００に対応する加工ナレッジが１つしか関数更新部５４に記憶されていない場合には、関数更新部５４に記憶されている加工ナレッジを、ＣＡＤデータ１００に対応する最も適切な加工ナレッジと決定する。
【００２８】
加工ナレッジは、たとえば切削加工品と共通の管理番号を付与されることにより切削加工品と対応付けられる。また、加工ナレッジは、たとえばＣＡＤデータ１００で表される加工仕上がり形状と素材の材質との組み合わせに対して対応付けられる。これにより、意思決定部４６は、管理番号、または加工仕上がり形状の情報と素材の材質の情報とを探索条件として、ＮＣ加工プログラム生成部４３から指定されたＣＡＤデータ１００に対応する加工ナレッジを探し、さらにその中から行動価値Ｑの最も高い加工ナレッジを選択することができる。
【００２９】
状態観測部５１および学習部５２を備えた機械学習装置５０が用いる学習アルゴリズムはどのようなものを用いてもよい。一例として、強化学習（Ｒｅｉｎｆｏｒｃｅｍｅｎｔ  Ｌｅａｒｎｉｎｇ）を適用した場合について説明する。
【００３０】
強化学習は、ある環境内における行動主体であるエージェントが、現在の状態を観測し、取るべき行動を決定する、というものである。エージェントは、行動を選択することで環境から報酬を得て、一連の行動を通じて報酬が最も多く得られるような方策を学習する。強化学習の代表的な手法として、Ｑ学習（Ｑ−ｌｅａｒｎｉｎｇ）またはＴＤ学習（ＴＤ−ｌｅａｒｎｉｎｇ）が知られている。例えば、Ｑ学習の場合、行動価値関数Ｑ（ｓ，ａ）の一般的な更新式は、以下の数式（１）で表される。
【００３１】
【数１】
2020012581.tif 000003
【００３２】
数式（１）において、ｓｔは、時刻ｔにおける状態を示す。ａｔは、時刻ｔにおいて実行される行動である。ｓｔ＋１は時刻ｔ＋１における状態を示し、換言すれば、行動ａｔを行った結果として変化した後の状態を示す。ｒｔ＋１は、行動ａｔの結果として変化する環境に応じて与えられる報酬を示す。すなわち、ｒｔ＋１は、状態の変化によって与えられる報酬を表す。数式（１）において、「ｍａｘ」の項は、状態ｓｔ＋１における行動価値Ｑの最大値、すなわち、最良の行動ａｔ＋１に対する行動価値を表している。γは、割引率であり、０＜γ≦１の条件を満足するように設定される。γは、たとえば、０．９以上０．９９以下とされる。αは、学習係数であり、０＜α≦１の条件を満足するように設定される。αは、たとえば、０．０５以上０．２以下とされる。
【００３３】
Ｑ学習における数式（１）で表される更新式は、時刻ｔ＋１における最良の行動ａｔ＋１の行動価値が、時刻ｔにおいて実行された行動ａｔの行動価値Ｑよりも大きければ、時刻ｔの行動価値Ｑを大きくし、逆の場合は、時刻ｔの行動価値Ｑを小さくする。換言すれば、時刻ｔにおける行動ａｔの行動価値Ｑを、時刻ｔ＋１における最良の行動価値に近づけるように、行動価値関数Ｑ（ｓｔ，ａｔ）を更新する。これにより、或る環境における最良の行動価値が、それ以前の環境における行動価値に順次伝播していくようになる。
【００３４】
すなわち、本実施の形態１にかかる機械学習装置５０は、公知のＱ学習の手法に従って強化学習を実行することができる。或る状態変数と行動ａとの組み合わせに対して割当てられる行動価値Ｑは未知である。機械学習装置５０は、種々の状態変数に対して行動ａをランダムに選択して実行し、行動ａの結果として与えられる報酬を積算することによって、行動価値関数Ｑ（ｓ，ａ）を更新する。なお、本実施の形態１にかかるＮＣ加工プログラム生成装置４０において、「行動ａ」は、加工ナレッジ、すなわちＮＣ加工プログラムの生成方法を示す情報が対応する。また、「状態ｓ」は、第１ＮＣ加工プログラム１１１に対する編集内容が対応する。
【００３５】
また、行動価値関数Ｑ（ｓ，ａ）は、行動価値テーブルとも呼ばれる。図２は、行動価値テーブルの概念を示す図である。行動価値テーブルは、任意の行動ｓと、その行動価値Ｑとが関連付けられてテーブルの形式で記憶されたデータセットである。Ｑ学習におけるデータセットは、いわゆるＱテーブルである。Ｑテーブルは、２次元の表で表すと、行方向が様々な状態ｓ、列方向がとりうる行動ａになり、各マスに行動ａと状態ｓとの組み合わせの場合の評価値である行動価値Ｑ、が格納される。ただし、Ｑテーブルで行動価値関数Ｑ（ｓ，ａ）を管理する場合には、保持できる状態ｓと行動ａの数に限界があるため、状態ｓと行動ａの数が多い場合には、テーブル形式を取らずに上記の数式（１）で行動価値Ｑが算出される。
【００３６】
本実施の形態１でＱテーブルを採用する場合には、行動ａに対応するＮＣ加工プログラムの生成方法を示す情報である加工ナレッジと、状態ｓに対応する第１ＮＣ加工プログラム１１１に対する編集内容とが、加工形状データに関連付けられたＱテーブルが、加工形状データ毎に記憶される。すなわち、本実施の形態１におけるデータセットは、加工形状データのデータと、ＮＣ加工プログラムの生成方法を示す情報である加工ナレッジのデータと、第１ＮＣ加工プログラム１１１に対する編集内容のデータと、のセットである。
【００３７】
数値制御装置１は、ＮＣ加工プログラムの生成方法を学習する機械学習機能を有している。すなわち、数値制御装置１は、ＮＣ加工プログラムの生成方法を学習する機械学習装置５０を備えている。機械学習装置５０は、状態観測部５１と、学習部５２と、を備える。学習部５２は、状態変数に基づいて作成されるデータセットに従って、ＮＣ加工プログラムの生成方法を学習する。すなわち、学習部５２は、状態変数に基づいて作成されるデータセットに従って加工形状データとＮＣ加工プログラムの生成方法と第１ＮＣ加工プログラム１１１に対する編集内容との関係性を学習して、ＮＣ加工プログラムの生成方法を学習する。学習部５２は、ＮＣ加工プログラム生成方法である加工ナレッジの学習にかかる報酬を計算する報酬計算部５３と、ＮＣ加工プログラム生成方法である加工ナレッジの学習にかかる関数を更新して評価値である行動価値Ｑを定める関数更新部５４とを備える。なお、機械学習装置５０は、ＮＣ加工プログラム生成装置４０に内蔵されていてもよく、またＮＣ加工プログラム生成装置４０と通信可能なクラウドサーバに存在してもよい。
【００３８】
状態観測部５１は、加工形状データであるＣＡＤデータ１００と、ＮＣ加工プログラム生成部４３が第１ＮＣ加工プログラム１１１を生成する際に参照した数値制御加工プログラムの生成方法を示す情報である加工ナレッジと、第１ＮＣ加工プログラム１１１に対する編集内容と、を状態変数として観測する。すなわち、状態観測部５１は、意思決定部４６で決定される加工ナレッジと、ＮＣ加工プログラム編集部４５において第２ＮＣ加工プログラム１１２の生成において行われた第１ＮＣ加工プログラム１１１に対する編集内容とを、加工形状データであるＣＡＤデータ１００毎に観測する。
【００３９】
状態観測部５１は、第１ＮＣ加工プログラム１１１に対する編集内容を、第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジに反映して反映加工ナレッジを作成する。反映加工ナレッジは、第１ＮＣ加工プログラム１１１に対する編集内容が、第１ＮＣ加工プログラム１１１の生成において参照した数値制御加工プログラムの生成方法に反映された反映数値制御加工プログラムの生成方法である。反映加工ナレッジには、第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジの報酬ｒが引き継がれる。状態観測部５１は、第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジと、反映加工ナレッジと、を観測結果として報酬計算部５３に送信する。
【００４０】
状態観測部５１において反映加工ナレッジが生成される場合には、基の加工ナレッジに付与されている管理番号、または加工仕上がり形状の情報と素材の材質の情報とが、引き継がれて付与される。加工ナレッジに基づいて生成された反映加工ナレッジおよび加工ナレッジは、ともに１つの切削加工品の加工仕上がり形状と対応している。すなわち、反映加工ナレッジは、反映加工ナレッジが生成される基となっている加工ナレッジが対応している切削加工品の加工仕上がり形状に対応している。したがって、反映加工ナレッジは、生成される基となっている加工ナレッジに付与されている管理番号、または加工仕上がり形状の情報と素材の材質の情報とが、引き継がれて付与される。すなわち、反映加工ナレッジは、ＣＡＤデータ１００との関連付けが引き継がれて付与される。
【００４１】
状態観測部５１は、ＣＡＤデータ１００と、第１ＮＣ加工プログラム１１１と、第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジと、第２ＮＣ加工プログラム１１２とがＮＣ加工プログラム編集部４５から送信された場合には、第１ＮＣ加工プログラム１１１に対する編集内容を抽出することができる。したがって、この場合には、ＣＡＤデータ１００についての第１ＮＣ加工プログラム１１１に対する編集内容が第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジに反映された、新たな加工ナレッジが、反映加工ナレッジとなる。
【００４２】
一方、ＣＡＤデータ１００と、第１ＮＣ加工プログラム１１１と、第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジとのみがＮＣ加工プログラム編集部４５から送信され、第２ＮＣ加工プログラム１１２が送信されていない場合には、第１ＮＣ加工プログラム１１１に対する編集内容が無い。この場合には、第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジ自体が反映加工ナレッジとなる。
【００４３】
したがって、加工形状データであるＣＡＤデータ１００と、ＮＣ加工プログラム生成部４３が第１ＮＣ加工プログラム１１１を生成する際に参照した数値制御加工プログラムの生成方法を示す情報である加工ナレッジと、第１ＮＣ加工プログラム１１１に対する編集内容とを状態変数として観測するとは、ＣＡＤデータ１００についての第１ＮＣ加工プログラム１１１に対する編集内容を抽出し、観測結果として、第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジと、反映加工ナレッジと、をＣＡＤデータ１００毎に取得することを意味する。
【００４４】
学習部５２は、加工形状データであるＣＡＤデータ１００と、ＮＣ加工プログラム生成部４３が第１ＮＣ加工プログラム１１１を生成する際に参照した数値制御加工プログラムの生成方法を示す情報である加工ナレッジと、第１ＮＣ加工プログラム１１１に対する編集内容とのデータセットに基づいて加工形状データとＮＣ加工プログラムの生成方法と第１ＮＣ加工プログラム１１１に対する編集内容との関係性を学習して、ＮＣ加工プログラム生成方法を学習する。すなわち、学習部５２は、状態観測部５１で観測される状態変数に基づいて、加工ナレッジを学習する。一実施形態において、学習部５２は、強化学習の概念に従って加工ナレッジを学習する。
【００４５】
報酬計算部５３は、状態観測部５１から送信される観測結果である反映加工ナレッジに基づいて、報酬ｒを計算する。より詳細には、報酬計算部５３は、第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジと、反映加工ナレッジとに基づいて、反映加工ナレッジの報酬ｒを計算する。報酬計算部５３は、報酬ｒを付与する報酬付与基準である、第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジと、反映加工ナレッジとの同一性に基づいて、反映加工ナレッジの報酬ｒを計算する。報酬計算部５３は、計算した報酬ｒを、ＣＡＤデータ１００および反映加工ナレッジと関連付けて、ＣＡＤデータ１００および反映加工ナレッジとともに関数更新部５４に送信する。
【００４６】
報酬計算部５３は、第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジと、反映加工ナレッジとが同じである場合には、反映加工ナレッジの報酬ｒを増大させる。報酬計算部５３は、第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジと、反映加工ナレッジとが同じである場合には、たとえば「正」の報酬ｒである「＋１」の報酬ｒを反映加工ナレッジに与える。そして、反映加工ナレッジの報酬ｒは、生成された際に第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジから引き継がれている報酬ｒに、「＋１」が加算される。これにより、反映加工ナレッジの報酬ｒは、第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジから引き継いだ報酬ｒよりも増大する。
【００４７】
報酬計算部５３は、第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジと、反映加工ナレッジとが異なる場合には、第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジの報酬ｒを減少させる。報酬計算部５３は、第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジと、反映加工ナレッジとが異なる場合には、たとえば「負」の報酬ｒである「−１」の報酬ｒを、第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジに与える。たとえば、旋削端面正面加工を旋削ドリル加工より先に行うように生成された第１ＮＣ加工プログラム１１１に対して、旋削ドリル加工を旋削端面正面加工より先に行うように編集が行われている場合には、報酬計算部５３は、報酬ｒを低減し、たとえば「−１」の報酬ｒを、第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジに与える。そして、第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジの報酬ｒは、現在の報酬ｒに、「−１」が加算される。これにより、第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジの報酬ｒは、第１ＮＣ加工プログラム１１１の生成において参照されたときの報酬ｒよりも減少する。
【００４８】
また、報酬計算部５３は、第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジと、反映加工ナレッジとが異なる場合には、上述したように、第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジの報酬ｒを減少させた後に、反映加工ナレッジの報酬ｒを増大させる。報酬計算部５３は、第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジと、反映加工ナレッジとが異なる場合には、たとえば「正」の報酬ｒである「＋１」の報酬ｒを反映加工ナレッジに与える。そして、反映加工ナレッジの報酬ｒは、生成された際に第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジから引き継がれている報酬ｒに、「＋１」が加算される。これにより、反映加工ナレッジの報酬ｒは、第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジから引き継いだ報酬ｒよりも増大する。
【００４９】
報酬ｒの数値は、「＋１」および「−１」に限定されない。また、第１ＮＣ加工プログラム１１１に対する編集内容によって、すなわち第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジから反映加工ナレッジへの編集内容によって、報酬ｒに差をつけてもよい。
【００５０】
関数更新部５４は、報酬計算部５３によって計算される反映加工ナレッジの報酬ｒに従って、ＮＣ加工プログラムの生成方法を決定するための関数を更新する。たとえば、関数更新部５４は、行動価値関数Ｑ（ｓ，ａ）を更新して評価値である行動価値Ｑを定める。関数更新部５４は、定められた行動価値Ｑを、反映加工ナレッジと関連付けて反映加工ナレッジとともに記憶する。これにより、関数更新部５４には、最初に記憶されている加工ナレッジに加えて、反映加工ナレッジと、反映加工ナレッジに関連付けられた行動価値Ｑとが、第１ＮＣ加工プログラム１１１の生成において参照される加工ナレッジとして記憶されていく。図３は、本発明の実施の形態１にかかる機械学習装置５０の関数更新部５４に加工ナレッジおよび反映加工ナレッジが記憶された状態の一例を示す図である。図３では、加工ナレッジＡ１２１、加工ナレッジＢ１２２、加工ナレッジＣ１２３、反映加工ナレッジＡ１３１、反映加工ナレッジＢ１３２および反映加工ナレッジＣ１３３が記憶されている例を示している。なお、加工ナレッジと、反映加工ナレッジと、反映加工ナレッジに関連付けられた行動価値Ｑと、を記憶する加工ナレッジ記憶部を別途設けてもよい。
【００５１】
つぎに、行動価値関数Ｑ（ｓ，ａ）を更新する強化学習方法について説明する。図４は、本発明の実施の形態１における行動価値関数Ｑ（ｓ，ａ）の更新処理の手順を示すフローチャートである。
【００５２】
ステップＳＴ１１０において、ＮＣ加工プログラム生成部４３が、加工形状データ記憶部４２に記憶されているＣＡＤデータ１００を読み込み、ＮＣ加工プログラム生成部４３内の不図示の記憶部の形状記憶領域に格納する。
【００５３】
次に、ステップＳＴ１２０においてＮＣ加工プログラム生成部４３が、ＮＣ加工プログラムを生成するために、ＣＡＤデータ１００に対応する加工ナレッジを、意思決定部４６を介して関数更新部５４から取得する。意思決定部４６は、機械学習装置５０が学習した結果に基づいて加工ナレッジを決定する。すなわち、意思決定部４６は、関数更新部５４に記憶されている複数の加工ナレッジを探索して、ＮＣ加工プログラム生成部４３からの要求に対応する複数の加工ナレッジの中から、行動価値Ｑの最も高い加工ナレッジを決定して取得し、ＮＣ加工プログラム生成部４３に送信する。
【００５４】
ＮＣ加工プログラム生成部４３に送信される加工ナレッジの一例を以下に示す。
（加工ナレッジＡ１２１）
素材材質：Ｓ４５Ｃ
加工順序：端面取り代が２０ｍｍ以上である場合は旋削ドリル工程を先に行い、その後に旋削端面工程を行う。端面取り代が前記条件以外の場合は、旋削端面工程を先に行い、その後に旋削ドリル工程を行う。
（加工ナレッジＢ１２２）
素材材質：Ｓ４５Ｃ
加工部位：「開放部形状の横方向の長さ÷開放部形状の縦方向の長さ」が「１未満」の場合は加工部位を正面とする。「開放部形状の横方向の長さ÷開放部形状の縦方向の長さ」が「１以上」の場合は加工部位を外径とする。開放部は、旋削断面形状ｔにおいて素材の表面に露出している部位である。
（加工ナレッジＣ１２３）
素材材質：Ｓ４５Ｃ
加工方法：旋削断面形状の縦方向の長さが１０ｍｍ以下、且つ旋削断面形状の横方向の長さが１０ｍｍ以下である場合は、旋削溝入れ工程を行う。旋削断面形状の縦方向の長さおよび横方向の長さが前記条件以外の場合は、旋削棒材工程を行う。
【００５５】
次に、ステップＳＴ１３０においてＮＣ加工プログラム生成部４３は、取得した加工ナレッジを参照してＮＣ加工プログラムである第１ＮＣ加工プログラム１１１を生成する。
【００５６】
次に、ステップＳＴ１４０においてＮＣ加工プログラム生成部４３は、ＣＡＤデータ１００と第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジと第１ＮＣ加工プログラム１１１とを関連付けて、ＣＡＤデータ１００と第１ＮＣ加工プログラム１１１と加工ナレッジとをＮＣ加工プログラム記憶部４４に送信する。ＮＣ加工プログラム記憶部４４は、ＣＡＤデータ１００と第１ＮＣ加工プログラム１１１と加工ナレッジとを記憶する。
【００５７】
次に、ステップＳＴ１５０においてＮＣ加工プログラム編集部４５が、ＣＡＤデータ１００と、第１ＮＣ加工プログラム１１１および第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジをＮＣ加工プログラム記憶部４４から読み込み、第１ＮＣ加工プログラム１１１を対話操作処理部１０に送信する。対話操作処理部１０は、ＮＣ加工プログラム編集部４５から送信された第１ＮＣ加工プログラム１１１を表示部２０に表示させて、作業者に第１ＮＣ加工プログラム１１１の確認を促す。
【００５８】
第１ＮＣ加工プログラム１１１が表示部２０に表示されると、作業者が第１ＮＣ加工プログラム１１１を確認し、第１ＮＣ加工プログラム１１１の編集指示情報を指示入力部３０に入力する。編集指示情報は、指示入力部３０から対話操作処理部１０を介してＮＣ加工プログラム生成装置４０のＮＣ加工プログラム編集部４５に送信される。
【００５９】
次に、ステップＳＴ１６０においてＮＣ加工プログラム編集部４５が、編集指示情報を受信し、編集指示情報に基づいて第１ＮＣ加工プログラム１１１を編集して、第２ＮＣ加工プログラム１１２を生成する。第２ＮＣ加工プログラム１１２は、第１ＮＣ加工プログラム１１１が編集指示情報に基づいて編集されたＮＣ加工プログラムである。そして、ＮＣ加工プログラム編集部４５は、ＣＡＤデータ１００と、第１ＮＣ加工プログラム１１１と、第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジと、第２ＮＣ加工プログラム１１２とを状態観測部５１に送信する。
【００６０】
次に、ステップＳＴ１７０において状態観測部５１は、ＮＣ加工プログラム編集部４５から送信された第１ＮＣ加工プログラム１１１と第２ＮＣ加工プログラム１１２とを比較して、第１ＮＣ加工プログラム１１１に対する編集内容を取得する。これにより、状態観測部５１は、状態変数として、加工形状データであるＣＡＤデータ１００と、第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジと、第１ＮＣ加工プログラム１１１に対する編集内容とを取得する。
【００６１】
次に、ステップＳＴ１８０において状態観測部５１は、第１ＮＣ加工プログラム１１１に対する編集内容を、第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジに反映して反映加工ナレッジを生成する。状態観測部５１は、第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジと、反映加工ナレッジと、を観測結果として報酬計算部５３に送信する。
【００６２】
次に、ステップＳＴ１９０において報酬計算部５３は、第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジと、反映加工ナレッジとを比較し、両者が同じであるか否かを判定する。両者が同じである場合は、ステップＳＴ１９０においてＹｅｓとなり、ステップＳＴ２００に進む。両者が異なる場合は、ステップＳＴ１９０においてＮｏとなり、ステップＳＴ２１０に進む。
【００６３】
ステップＳＴ２００において報酬計算部５３は、反映加工ナレッジの報酬ｒに対する行動価値Ｑが増大するように、反映加工ナレッジの報酬ｒを増大させる報酬ｒを計算し、第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジから引き継いだ反映加工ナレッジの報酬ｒに積算する。これにより、反映加工ナレッジの報酬ｒは、第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジから引き継いだ報酬ｒよりも増大する。これにより、反映加工ナレッジの行動価値Ｑが増大することになる。
【００６４】
第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジと、反映加工ナレッジとが同じである場合には、第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジ自体が反映加工ナレッジである。そして、反映加工ナレッジは、第１ＮＣ加工プログラム１１１に対する編集内容がされていないため、高品質な反映加工ナレッジとなっていると考えられる。すなわち、第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジが、高品質な加工ナレッジであると考えられる。
【００６５】
たとえば、反映加工ナレッジが以下に示すものである場合には、第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジと、反映加工ナレッジとは全て同じであるため、ステップＳＴ２００において反映加工ナレッジの報酬ｒが増大する。反映加工ナレッジＡ１２１ａは、加工ナレッジＡ１２１に基づいて生成された反映加工ナレッジである。反映加工ナレッジＢ１２１ｂは、加工ナレッジＢ１２２に基づいて生成された反映加工ナレッジである。反映加工ナレッジＣ１２１ｃは、加工ナレッジＣ１２３に基づいて生成された反映加工ナレッジである。
【００６６】
（反映加工ナレッジＡ１２１ａ）
素材材質：Ｓ４５Ｃ
加工順序：端面取り代が２０ｍｍ以上である場合は旋削ドリル工程を先に行い、その後に旋削端面工程を行う。端面取り代が前記条件以外の場合は、旋削端面工程を先に行い、その後に旋削ドリル工程を行う。
（反映加工ナレッジＢ１２１ｂ）
素材材質：Ｓ４５Ｃ
加工部位：「開放部形状の横方向の長さ÷開放部形状の縦方向の長さ」が「１未満」の場合は加工部位を正面とする。「開放部形状の横方向の長さ÷開放部形状の縦方向の長さ」が「１以上」の場合は加工部位を外径とする。開放部は、旋削断面形状ｔにおいて素材の表面に露出している部位である。
（反映加工ナレッジＣ１２１ｃ）
素材材質：Ｓ４５Ｃ
加工方法：旋削断面形状の縦方向の長さが１０ｍｍ以下、且つ旋削断面形状の横方向の長さが１０ｍｍ以下である場合は、旋削溝入れ工程を行う。旋削断面形状の縦方向の長さおよび横方向の長さが前記条件以外の場合は、旋削棒材工程を行う。
【００６７】
一方、ステップＳＴ２１０において報酬計算部５３は、加工ナレッジの報酬ｒに対する行動価値Ｑが減少するように、加工ナレッジの報酬ｒを減少させる報酬ｒを計算し、加工ナレッジの報酬ｒに積算する。これにより、加工ナレッジの報酬ｒは、第１ＮＣ加工プログラム１１１の生成において参照されたときの報酬ｒよりも減少する。これにより、加工ナレッジの行動価値Ｑが減少することになる。
【００６８】
たとえば、反映加工ナレッジが以下に示すものである場合には、第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジと、反映加工ナレッジとは全て異なるため、ステップＳＴ２１０において加工ナレッジの報酬ｒが減少する。反映加工ナレッジＡ１３１は、加工ナレッジＡ１２１に基づいて生成された反映加工ナレッジである。反映加工ナレッジＢ１３２は、加工ナレッジＢ１２２に基づいて生成された反映加工ナレッジである。反映加工ナレッジＣ１３３は、加工ナレッジＣ１２３に基づいて生成された反映加工ナレッジである。
【００６９】
（反映加工ナレッジＡ１３１）
素材材質：Ｓ４５Ｃ
加工順序：端面取り代が「１０ｍｍ以上」である場合は旋削ドリルを先に行い、その後に旋削端面工程を行う。端面取り代が前記条件以外の場合は、旋削端面工程を先に行い、その後に旋削ドリル工程を行う。
（反映加工ナレッジＢ１３２）
素材材質：Ｓ４５Ｃ
加工部位：「開放部形状の横方向の長さ÷開放部形状の縦方向の長さ」が「１．０以下」の場合は加工部位を正面とする。「開放部形状の横方向の長さ÷開放部形状の縦方向の長さ」が「１．０より大」の場合は加工部位を外径とする。
（反映加工ナレッジＣ１３３）
素材材質：Ｓ４５Ｃ
加工方法：旋削断面形状の縦方向の長さが１０ｍｍ以下、且つ旋削断面形状の横方向の長さが「２０ｍｍ以下」である場合は、旋削溝入れ工程を行う。旋削断面形状の縦方向の長さおよび横方向の長さが前記条件以外の場合は、旋削棒材工程を行う。
【００７０】
第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジと、反映加工ナレッジとが異なる場合には、第１ＮＣ加工プログラム１１１に対する編集内容がされている。このため、第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジは、反映加工ナレッジよりも品質が低い加工ナレッジとなっていると考えられる。
【００７１】
一方、反映加工ナレッジは、第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジよりも高品質な加工ナレッジとなっていると考えられる。そこで、報酬計算部５３は、ステップＳＴ２１０の後にステップＳＴ２００において反映加工ナレッジの報酬ｒに対する行動価値Ｑが増大するように、反映加工ナレッジの報酬ｒを増大させる報酬ｒを計算し、第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジから引き継いだ反映加工ナレッジの報酬ｒに積算する。これにより、反映加工ナレッジの報酬ｒは、第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジから引き継いだ報酬ｒよりも増大する。これにより、反映加工ナレッジの行動価値Ｑが増大することになる。
【００７２】
次に、ステップＳＴ２２０において関数更新部５４は、ステップＳＴ２００またはステップＳＴ２１０で計算された反映加工ナレッジの報酬ｒに基づいて、行動価値関数Ｑ（ｓ，ａ）を更新して、第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジおよび反映加工ナレッジの評価値である行動価値Ｑを定める。関数更新部５４は、反映加工ナレッジについて定められた行動価値Ｑを、反映加工ナレッジと関連付けて反映加工ナレッジとともに、加工ナレッジとして記憶する。
【００７３】
また、関数更新部５４は、第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジについて定められた行動価値Ｑを、この加工ナレッジと関連付けて加工ナレッジとともに、加工ナレッジとして記憶する。この場合、関数更新部５４には、第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジと、ステップＳＴ２２０で行動価値Ｑを定めた加工ナレッジと、ステップＳＴ２２０で行動価値Ｑを定めた反映加工ナレッジとが、各々の行動価値Ｑが異なる状態で、ＣＡＤデータ１００に対応する加工ナレッジとして記憶されることになる。これにより、意思決定部４６は、ＣＡＤデータ１００に対応する加工ナレッジを決定する際に、作業者の知識および経験が適切に反映された最も適切な加工ナレッジとして、相対的に行動価値Ｑの高い加工ナレッジである反映加工ナレッジを決定することができる。
【００７４】
なお、この場合は、ステップＳＴ２２０で行動価値Ｑを定めた第１ＮＣ加工プログラム１１１に関連付けられた加工ナレッジで、関数更新部５４に記憶されており第１ＮＣ加工プログラム１１１の生成において参照された加工ナレッジを更新してもよい。
【００７５】
その後、新たに読み込まれたＣＡＤデータ１００に対応してステップＳＴ１１０からステップＳＴ２２０の処理が繰り返し実行される。そして、新たに反映加工ナレッジが生成される際には、基となる加工ナレッジの管理番号、加工仕上がり形状の情報および素材の材質の情報、報酬ｒといった付随情報が引き継がれる。
【００７６】
なお、ステップＳＴ１１０からステップＳＴ２２０の処理が繰り返される場合に、意思決定部４６で決定された反映加工ナレッジは、上述したステップＳＴ１２０における加工ナレッジに対応する。
【００７７】
また、ステップＳＴ２００およびステップＳＴ２２０の処理において、品質の高い反映加工ナレッジは行動価値Ｑが増大した状態で関数更新部５４に記憶される。このため、ステップＳＴ２１０を省略することも可能である。
【００７８】
次に、ＮＣ加工プログラム生成部４３におけるＮＣ加工プログラム生成処理の詳細について図５を参照して詳細に説明する。図５は、本発明の実施の形態１にかかるＮＣ加工プログラム生成装置４０のＮＣ加工プログラム生成部４３におけるＮＣ加工プログラム生成処理の手順の詳細を示すフローチャートである。図６は、本発明の実施の形態１におけるＣＡＤデータ１００で表される加工仕上がり形状の立体モデルの一例を示す斜視図である。図７は、本発明の実施の形態１におけるＣＡＤデータ１００で表される加工仕上がり形状を包含する素材形状の一例を示す斜視図である。図８は、本発明の実施の形態１におけるＣＡＤデータ１００で表される加工仕上がり形状と素材形状とから生成された加工除去形状の一例を示す斜視図である。図９は、本発明の実施の形態１における素材形状Ｓ、加工形状から生成された旋削断面形状および座標値を示す図である。以下では、素材を回転させながら削る旋削加工に関するＮＣ加工プログラムを作成する場合について説明する。
【００７９】
ＮＣ加工プログラム生成処理では、ステップＳＴ３１０においてＮＣ加工プログラム生成部４３が、加工形状データ記憶部４２に記憶されているＣＡＤデータ１００を読み込み、図６に示すようにＣＡＤデータ１００で表される３次元の加工仕上がり形状を生成して、プログラム座標系の加工原点であるプログラム原点に配置する。プログラム座標系においては、ＸＹＺ軸のうち、Ｚ軸を、旋削加工を行う際の中心軸である旋削軸ＳＧとする。
【００８０】
ＮＣ加工プログラム生成部４３は、加工仕上がり形状をプログラム原点に配置する際、加工仕上がり形状のうち、直径が最大となる円筒面の回転軸または円錐面の回転軸がＺ軸に一致するように、加工仕上がり形状を移動および回転させて配置する。また、加工仕上がり形状のＺ軸方向の端面がプログラム原点に一致するように移動する。すなわち、ＮＣ加工プログラム生成部４３は、ＣＡＤデータ１００から旋削軸ＳＧと回転中心軸を同一とする円柱面または円錐面を旋削端面として抽出する。したがって、ＮＣ加工プログラム生成部４３は、ＣＡＤデータ１００から、旋削軸を回転中心軸とする３次元の加工仕上がり形状を生成する。
【００８１】
次に、ステップＳＴ３２０においてＮＣ加工プログラム生成部４３は、図７に示すように、プログラム原点に配置された加工仕上がり形状を包含する３次元の円柱形状を生成する。そして、ＮＣ加工プログラム生成部４３は、生成した円柱形状を素材形状として、加工仕上がり形状と同様にプログラム座標系に配置する。素材形状は、加工仕上がり形状を旋削加工により削り出す素材の形状である。すなわち、ＮＣ加工プログラム生成部４３は、ＣＡＤデータ１００から生成した加工仕上がり形状を基に、３次元の素材形状を生成する。
【００８２】
加工仕上がり形状を包含する円柱形状の寸法は、加工仕上がり形状におけるＸ軸方向、Ｙ軸方向およびＺ軸方向における各々の最大値と最小値とから求めることができる。ただし、素材形状は、旋削端面加工を行うため、加工仕上がり形状に合わせて、Ｚ軸方向の寸法が加工仕上がり形状よりも２ｍｍから３ｍｍずつ大きい寸法とされる。また、素材形状のＺ軸方向の端面は、プログラム原点から２ｍｍから３ｍｍだけ加工仕上がり形状から離間する方向にはみ出した位置に配置される。ここでは、素材形状は、素材外径を１５０ｍｍ、素材長さを１２０ｍｍ、素材材質をＳ４５Ｃとする。
【００８３】
次に、ステップＳＴ３３０においてＮＣ加工プログラム生成部４３は、図８に示すように、素材形状から旋削加工により除去する形状である加工除去形状を、加工仕上がり形状と素材形状とから生成する。図８においては、加工仕上がり形状を破線で示している。加工除去形状は、素材形状のソリッドモデルから加工仕上がり形状のソリッドモデルを引き去る差演算により求めることができる。
【００８４】
次に、ステップＳＴ３４０において、ＮＣ加工プログラム生成部４３は、図９に示すように、加工除去形状の断面形状である旋削断面形状ｔを生成する。旋削断面形状ｔは、図９に示すように、加工除去形状をＸＺ平面のうち＋Ｘの領域のみに限定した＋ＸＺ平面に投影して得られる１／２旋削断面形状である。旋削断面形状ｔは、ＸＺ平面からなる断面モデルと加工形状からなるソリッドモデルとの積演算により断面形状を求め、Ｘ≧０の領域として範囲を限定することにより、求めることができる。これにより、図９に示すように、旋削断面形状ｔである旋削断面形状ｔ１および旋削断面形状ｔ２が生成される。
【００８５】
次に、ステップＳＴ３５０においてＮＣ加工プログラム生成部４３が、ＣＡＤデータ１００に対応する加工ナレッジを、意思決定部４６を介して関数更新部５４から取得し、参照する。ＮＣ加工プログラム生成部４３は、たとえば関数更新部５４に記憶されている、上述した加工ナレッジＡ１２１、加工ナレッジＢ１２２および加工ナレッジＣ１２３を取得して参照する。
【００８６】
ＮＣ加工プログラム生成部４３は、たとえばＣＡＤデータ１００と加工ナレッジとに共通に付与された管理番号をＣＡＤデータ１００から取得して意思決定部４６に送信する。これにより、意思決定部４６は、管理番号を探索条件として、ＮＣ加工プログラム生成部４３から指定された所望の加工ナレッジを探索することができる。
【００８７】
ここで、旋削端面工程とは、素材端面の突き出し部を、旋削端面工具で削り落とす旋削端面加工を行う工程である。旋削ドリル工程とは、素材における半径方向の中心領域に旋削ドリルで中心軸に沿った穴をあける旋削ドリル加工を行う工程である。旋削棒材工程とは、旋削工具で丸棒素材の外周、内周、正面または背面を旋削する旋削棒材加工を行う工程である。旋削溝入れ工程とは、丸棒素材の外周、内周、正面または背面に、旋削溝入れ工具で溝加工を行う旋削溝入れ加工を行う工程である。端面取り代は、旋削端面加工での削り代である。
【００８８】
次に、ステップＳＴ３６０においてＮＣ加工プログラム生成部４３は、取得した加工ナレッジＡ１２１、加工ナレッジＢ１２２および加工ナレッジＣ１２３に従って加工除去形状の旋削断面形状ｔを複数の異なる加工工程毎に分割して、旋削加工形状を生成する。旋削加工形状は、複数の異なる加工工程により素材から加工仕上がり形状を削り出す場合の各加工工程における旋削断面形状ｔである。
【００８９】
以下、旋削断面形状ｔの分割手順について具体的に説明する。図１０は、本発明の実施の形態１にかかる旋削端面工程の旋削断面形状ＳＨ１を示す図である。図１１は、本発明の実施の形態１にかかる旋削ドリル工程の旋削断面形状ＳＨ２を示す図である。図１２は、本発明の実施の形態１にかかる旋削棒材工程の旋削断面形状ＳＨ３を示す図である。図１３は、本発明の実施の形態１にかかる旋削棒材工程の旋削断面形状ＳＨ４を示す図である。
【００９０】
ＮＣ加工プログラム生成部４３は、旋削断面形状ｔ１から端面取り代：１０ｍｍの情報を取得する。そして、ＮＣ加工プログラム生成部４３は、加工ナレッジＡ１２１を参照し、端面取り代が２０ｍｍ以上でないことから旋削端面工程を先に行うと判定して、図１０に示すように旋削断面形状ｔ１から旋削端面工程の旋削断面形状ＳＨ１を分割する。
【００９１】
次に、ＮＣ加工プログラム生成部４３は、加工ナレッジＡ１２１を参照し、旋削端面工程の後に旋削ドリル工程を行うと判定して、図１１に示すように旋削断面形状ｔ１から旋削ドリル工程の旋削断面形状ＳＨ２を分割する。
【００９２】
次に、ＮＣ加工プログラム生成部４３は、図１２に示すように旋削断面形状ｔ１から旋削棒材工程の旋削断面形状ＳＨ３を分割する。次に、ＮＣ加工プログラム生成部４３は、図１３に示すように旋削断面形状ｔ２を旋削棒材工程の旋削断面形状ＳＨ４として分割する。
【００９３】
次に、ステップＳＴ３７０においてＮＣ加工プログラム生成部４３は、分割した加工形状である旋削断面形状に、加工ナレッジＡ１２１、加工ナレッジＢ１２２および加工ナレッジＣ１２３に従って旋削加工工程を割り当て、旋削加工工程を生成する。図１４は、本発明の実施の形態１にかかる旋削端面工程の加工開始点と加工終了点との一例を示す図である。図１５は、本発明の実施の形態１にかかる旋削ドリル工程の加工開始点と加工終了点との一例を示す図である。図１６は、本発明の実施の形態１にかかる旋削棒材工程の切り込み点と加工開始点と加工終了点との一例を示す図である。図１７は、本発明の実施の形態１にかかる旋削棒材工程の切り込み点と加工開始点と加工終了点との一例を示す図である。
【００９４】
ＮＣ加工プログラム生成部４３は、旋削端面工程の旋削断面形状ＳＨ１から、図１４に示すように旋削端面工程の加工開始点Ｐ１の座標値と加工終了点Ｐ２の座標値とを取得し、旋削端面工程である旋削端面工程ＬＣ１を生成する。
【００９５】
次に、ＮＣ加工プログラム生成部４３は、旋削ドリル工程の旋削断面形状ＳＨ２から、図１５に示すように旋削ドリル加工で加工する孔の孔径と加工開始点Ｐ３の座標値と加工終了点Ｐ４の座標値とを取得し、旋削ドリル工程である旋削ドリル工程ＬＣ２を生成する。
【００９６】
次に、ＮＣ加工プログラム生成部４３は、旋削棒材工程の旋削断面形状ＳＨ３から、図１６に示すように開放部形状の縦方向の長さ：３０ｍｍの情報と、開放部形状の横方向の長さ：３０ｍｍの情報とを取得する。そして、ＮＣ加工プログラム生成部４３は、加工ナレッジＢ１２２を参照して、「開放部形状の横方向の長さ÷開放部形状の縦方向の長さ」が「１．０」であることから、旋削棒材工程の加工部位を外径と判定する。次に、ＮＣ加工プログラム生成部４３は、旋削棒材工程の旋削断面形状ＳＨ３から、旋削断面形状ＳＨ３の切り込み点Ｐ５の座標値と加工開始点Ｐ６の座標値と加工終了点Ｐ７の座標値とを取得し、加工部位が外径とされた旋削棒材工程である旋削棒材外径工程ＬＣ３を生成する。
【００９７】
次に、ＮＣ加工プログラム生成部４３は、旋削棒材工程の旋削断面形状ＳＨ４から、図１７に示すように旋削断面形状ＳＨ４の縦方向の長さ：１０ｍｍの情報、旋削断面形状ＳＨ４の横方向の長さ：２０ｍｍの情報を取得する。そして、ＮＣ加工プログラム生成部４３は、加工ナレッジＣ１２３を参照して、旋削断面形状ＳＨ４の縦方向の長さが１０ｍｍ以下であり、旋削断面形状ＳＨ４の横方向の長さが１０ｍｍ以下ではないことから、旋削棒材工程を行うと判定する。
【００９８】
次に、ＮＣ加工プログラム生成部４３は、旋削棒材工程の旋削断面形状ＳＨ４から、開放部形状の縦方向長さ：１０ｍｍの情報、開放部形状の横方向長さ：２０ｍｍの情報を取得する。そして、ＮＣ加工プログラム生成部４３は、加工ナレッジＢ１２２を参照して、「開放部形状の横方向の長さ÷開放部形状の縦方向の長さ」が「２．０」であり「１．０未満」でないことから、加工部位を外径と判定する。次に、ＮＣ加工プログラム生成部４３は、旋削棒材工程の旋削断面形状ＳＨ４から、旋削断面形状ＳＨ４の切り込み点Ｐ８と加工開始点Ｐ９と加工終了点Ｐ１０の座標値を取得して、加工部位が外径とされた旋削棒材工程である旋削棒材外径工程ＬＣ４を生成する。
【００９９】
以下に、ＮＣ加工プログラム生成部４３において生成された旋削加工工程の内容を示す。
・旋削端面工程ＬＣ１：加工開始点Ｐ１（７５，−１０）、加工終了点Ｐ２（０，０）
・旋削ドリル工程ＬＣ２：孔径３０ｍｍ、加工開始点Ｐ３（０，０）、加工終了点Ｐ４（０，１１０）
・旋削棒材外径工程ＬＣ３：切り込み点Ｐ５（７５，０）、加工開始点Ｐ６（４５，０）、加工終了点Ｐ７（４５，３０）
・旋削棒材外径工程ＬＣ４：切り込み点Ｐ８（７５，６０）、加工開始点Ｐ９（６５，６０）、加工終了点Ｐ１０（６５，８０）
【０１００】
上述した処理が行われることにより、ＮＣ加工プログラム生成部４３は、加工ナレッジＡ１２１、加工ナレッジＢ１２２、および加工ナレッジＣ１２３を参照して、素材から加工仕上がり形状を削り出すための複数の異なる旋削加工工程を自動で生成することができる。そして、作業者の知識および経験が反映された編集内容が反映および蓄積されている加工ナレッジを参照して旋削加工工程を自動で生成することにより、作業者自身がＮＣ加工プログラムを作製した場合と同様の、作業者が所望する旋削加工工程を自動で生成することができる。
【０１０１】
そして、本実施の形態１にかかる機械学習装置５０による上記学習行動は、ＮＣ加工プログラムが生成されるたびに継続的に行われる。したがって、本実施の形態１にかかるＮＣ加工プログラム生成装置４０では、切削加工品の加工仕上がり形状の情報および素材の材質の情報を含むＣＡＤデータ１００に対応する、ＮＣ加工プログラムの生成方法である加工ナレッジの自律的な学習が継続的に行われる。すなわち、機械学習装置５０を備えたＮＣ加工プログラム生成装置４０は、ＮＣ加工プログラム生成部４３で生成されたＮＣ加工プログラムがＮＣ加工プログラム編集部４５で編集された編集内容に基づいて、作業者の知識および経験が反映された加工効率が良い加工ナレッジを継続的に、自律的に学習する。
【０１０２】
次に、状態観測部５１が、第１ＮＣ加工プログラム１１１に対する編集内容を、第１ＮＣ加工プログラム１１１の生成において参照した加工ナレッジに反映して反映加工ナレッジを作成する反映加工ナレッジの生成処理の詳細について説明する。まず、作業者が入力した編集指示情報に従って、旋削端面工程ＬＣ１を旋削ドリル工程ＬＣ２の後に行うように第１ＮＣ加工プログラム１１１が編集された場合について説明する。状態観測部５１は、ＮＣ加工プログラム編集部４５から送信された第２ＮＣ加工プログラム１１２の旋削端面工程ＬＣ１の旋削断面形状ＳＨ１から端面取り代：１０ｍｍの情報を取得する。
【０１０３】
ここで、加工ナレッジＡ１２１の条件とは異なり、端面取り代：１０ｍｍの条件において、旋削ドリル工程を先に行うように第１ＮＣ加工プログラム１１１が編集されて第２ＮＣ加工プログラム１１２が生成されている。そこで、状態観測部５１は、第１ＮＣ加工プログラム１１１に対する編集内容を反映させて加工ナレッジＡ１２１を以下の条件に変更した反映加工ナレッジＡ１３１を生成する。
【０１０４】
（反映加工ナレッジＡ１３１）
素材材質：Ｓ４５Ｃ
加工順序：端面取り代が「１０ｍｍ以上」である場合は旋削ドリルを先に行い、その後に旋削端面工程を行う。端面取り代が前記条件以外の場合は、旋削端面工程を先に行い、その後に旋削ドリル工程を行う。
【０１０５】
次に、作業者が入力した編集指示情報に従って、旋削棒材外径工程ＬＣ３の加工部位を外径から正面に変更して旋削棒材外径工程ＬＣ３を旋削棒材正面工程ＬＣ３１に変更するように第１ＮＣ加工プログラム１１１が編集された場合について説明する。状態観測部５１は、ＮＣ加工プログラム編集部４５から送信された第２ＮＣ加工プログラム１１２の旋削棒材外径工程ＬＣ３の旋削断面形状ＳＨ３から、開放部形状の縦方向の長さ：３０ｍｍの情報、開放部形状の横方向の長さ：３０ｍｍの情報を取得する。
【０１０６】
ここで、加工ナレッジＢ１２２の条件とは異なり、「開放部形状の横方向の長さ÷開放部形状の縦方向の長さ」が「１．０」の条件において、加工部位を正面に変更するように第１ＮＣ加工プログラム１１１が編集されて第２ＮＣ加工プログラム１１２が生成されている。そこで、状態観測部５１は、第１ＮＣ加工プログラム１１１に対する編集内容を反映させて加工ナレッジＢ１２２を以下の条件に変更した反映加工ナレッジＢ１３２を生成する。
【０１０７】
（反映加工ナレッジＢ１３２）
素材材質：Ｓ４５Ｃ
加工部位：「開放部形状の横方向の長さ÷開放部形状の縦方向の長さ」が「１．０以下」の場合は加工部位を正面とする。「開放部形状の横方向の長さ÷開放部形状の縦方向の長さ」が「１．０より大」の場合は加工部位を外径とする。
【０１０８】
次に、作業者が入力した編集指示情報に従って、旋削棒材外径工程ＬＣ４を旋削溝入れ工程ＬＣ４１に変更するように第１ＮＣ加工プログラム１１１が編集された場合について説明する。状態観測部５１は、ＮＣ加工プログラム編集部４５から送信された第２ＮＣ加工プログラム１１２の旋削棒材外径工程ＬＣ４の旋削断面形状ＳＨ４から、旋削断面形状ＳＨ４の縦方向の長さ：１０ｍｍの情報、旋削断面形状ＳＨ４の横方向の長さ：２０ｍｍの情報を取得する。
【０１０９】
ここで、加工ナレッジＣ１２３の条件とは異なり、「旋削断面形状ＳＨ４の縦方向の長さが１０ｍｍであり、旋削断面形状ＳＨ４の横方向の長さが２０ｍｍ」の条件において、旋削溝入れ工程ＬＣ４１を行うように第１ＮＣ加工プログラム１１１が編集されて第２ＮＣ加工プログラム１１２が生成されている。そこで、状態観測部５１は、第１ＮＣ加工プログラム１１１に対する編集内容を反映させて加工ナレッジＣ１２３を以下の条件に変更した反映加工ナレッジＣ１３３を生成する。
【０１１０】
（反映加工ナレッジＣ１３３）
素材材質：Ｓ４５Ｃ
加工方法：旋削断面形状の縦方向の長さが「１０ｍｍ以下」、且つ旋削断面形状の横方向の長さが「２０ｍｍ以下」である場合は、旋削溝入れ工程を行う。旋削断面形状の縦方向の長さおよび横方向の長さが前記条件以外の場合は、旋削棒材工程を行う。
【０１１１】
次に、ＮＣ加工プログラム生成部４３が反映加工ナレッジＡ１３１、反映加工ナレッジＢ１３２および反映加工ナレッジＣ１３３を参照してＮＣ加工プログラムを生成する場合の旋削断面形状ｔの分割手順について具体的に説明する。図１８は、本発明の実施の形態１にかかる旋削ドリル工程の旋削断面形状ＳＨ５を示す図である。図１９は、本発明の実施の形態１にかかる旋削端面工程の旋削断面形状ＳＨ６を示す図である。図２０は、本発明の実施の形態１にかかる旋削棒材工程の旋削断面形状ＳＨ７を示す図である。図２１は、本発明の実施の形態１にかかる旋削棒材工程の旋削断面形状ＳＨ８を示す図である。
【０１１２】
ＮＣ加工プログラム生成部４３は、素材形状から素材長さ：１２０ｍｍの情報および素材外径：１５０ｍｍの情報を取得し、旋削断面形状ｔ１から端面取り代：１０ｍｍの情報を取得する。そして、ＮＣ加工プログラム生成部４３は、反映加工ナレッジＡ１３１を参照し、端面取り代が１０ｍｍ以上であることから旋削ドリル工程を先に行うと判定して、図１８に示すように旋削断面形状ｔ１から旋削ドリル工程の旋削断面形状ＳＨ５を分割する。
【０１１３】
次に、ＮＣ加工プログラム生成部４３は、反映加工ナレッジＡ１３１を参照し、旋削ドリル工程の後に旋削端面工程を行うと判定して、図１９に示すように旋削断面形状ｔ１から旋削端面工程の旋削断面形状ＳＨ６を分割する。
【０１１４】
次に、ＮＣ加工プログラム生成部４３は、図２０に示すように旋削断面形状ｔ１から旋削棒材工程の旋削断面形状ＳＨ７を分割する。次に、ＮＣ加工プログラム生成部４３は、図２１に示すように旋削断面形状ｔ２を旋削棒材工程の旋削断面形状ＳＨ８として分割する。
【０１１５】
次に、ＮＣ加工プログラム生成部４３が反映加工ナレッジＡ１３１、反映加工ナレッジＢ１３２および反映加工ナレッジＣ１３３を参照してＮＣ加工プログラムを生成する場合の旋削加工工程の割り当て手順について具体的に説明する。図２２は、本発明の実施の形態１にかかる旋削ドリル工程の加工開始点と加工終了点との一例を示す図である。図２３は、本発明の実施の形態１にかかる旋削端面工程の加工開始点と加工終了点との一例を示す図である。図２４は、本発明の実施の形態１にかかる旋削棒材正面工程の切り込み点と加工開始点と加工終了点との一例を示す図である。図２５は、本発明の実施の形態１にかかる旋削棒材溝入れ工程の切り込み点と加工開始点と加工終了点との一例を示す図である。
【０１１６】
ＮＣ加工プログラム生成部４３は、旋削ドリル工程の旋削断面形状ＳＨ５から、図２２に示すように旋削ドリル加工で加工する孔の孔径と加工開始点Ｐ１１の座標値と加工終了点Ｐ１２の座標値とを取得し、旋削ドリル工程である旋削ドリル工程ＬＣ１１を生成する。
【０１１７】
次に、ＮＣ加工プログラム生成部４３は、旋削端面工程の旋削断面形状ＳＨ６から、図２３に示すように旋削端面工程の加工開始点Ｐ１３の座標値と加工終了点Ｐ１４の座標値とを取得し、旋削端面工程である旋削端面工程ＬＣ１２を生成する。
【０１１８】
次に、ＮＣ加工プログラム生成部４３は、旋削棒材工程の旋削断面形状ＳＨ７から、図２４に示すように開放部形状の縦方向の長さ：３０ｍｍの情報と、開放部形状の横方向の長さ：３０ｍｍの情報とを取得する。そして、ＮＣ加工プログラム生成部４３は、反映加工ナレッジＢ１３２を参照して、「開放部形状の横方向の長さ÷開放部形状の縦方向の長さ」が「１．０」であり「１．０以下」であることから、旋削棒材工程の加工部位を正面と判定する。次に、ＮＣ加工プログラム生成部４３は、旋削棒材工程の旋削断面形状ＳＨ７から、旋削断面形状ＳＨ７の切り込み点Ｐ１５の座標値と加工開始点Ｐ１６の座標値と加工終了点Ｐ１７の座標値とを取得し、加工部位が正面とされた旋削棒材工程である旋削棒材正面工程ＬＣ３を生成する。
【０１１９】
次に、ＮＣ加工プログラム生成部４３は、旋削棒材工程の旋削断面形状ＳＨ８から、図２５に示すように旋削断面形状ＳＨ８の縦方向の長さ：１０ｍｍの情報、旋削断面形状ＳＨ８の横方向の長さ：２０ｍｍの情報を取得する。そして、ＮＣ加工プログラム生成部４３は、反映加工ナレッジＣ１３３を参照して、旋削断面形状ＳＨ４の縦方向の長さが１０ｍｍ以下であり、かつ旋削断面形状ＳＨ４の横方向の長さが２０ｍｍ以下であることから、旋削溝入れ工程を行うと判定する。
【０１２０】
次に、ＮＣ加工プログラム生成部４３は、旋削棒材工程の旋削断面形状ＳＨ８から、開放部形状の縦方向長さ：１０ｍｍの情報、開放部形状の横方向長さ：２０ｍｍの情報を取得する。ＮＣ加工プログラム生成部４３は、開放部形状の縦方向長さ：１０ｍｍの情報から溝深さ：１０ｍｍの情報を取得し、開放部形状の横方向長さ：２０ｍｍの情報から溝幅：２０ｍｍの情報を取得する。そして、ＮＣ加工プログラム生成部４３は、旋削棒材工程の旋削断面形状ＳＨ８から、加工開始点Ｐ１８の座標値を取得して、旋削溝入れ工程ＬＣ１４を生成する。
【０１２１】
以下に、反映加工ナレッジＡ１３１、反映加工ナレッジＢ１３２および反映加工ナレッジＣ１３３を参照してＮＣ加工プログラム生成部４３において生成された旋削加工工程の内容を示す。
・旋削ドリル工程ＬＣ１１：孔径３０ｍｍ、加工開始点Ｐ１１（０，−１０）、加工終了点Ｐ１２（０，１１０）
・旋削端面工程ＬＣ１２：加工開始点Ｐ１３（７５，−１０）、加工終了点Ｐ１４（１５，０）
・旋削棒材正面工程ＬＣ１３：切り込み点Ｐ１５（７５，０）、加工開始点Ｐ１６（７５，３０）、加工終了点Ｐ１７（４５，３０）
・旋削溝入れ工程ＬＣ１４：溝幅２０ｍｍ、溝深さ１０ｍｍ、加工開始点Ｐ１８（７５，６０）
【０１２２】
上述した処理が行われることにより、ＮＣ加工プログラム生成部４３は、反映加工ナレッジＡ１３１、反映加工ナレッジＢ１３２および反映加工ナレッジＣ１３３を参照して、素材から加工仕上がり形状を削り出すための複数の異なる旋削加工工程を自動で生成することができる。そして、作業者の知識および経験が反映された編集内容が反映および蓄積されている反映加工ナレッジを参照して旋削加工工程を自動で生成することにより、作業者自身がＮＣ加工プログラムを作製した場合と同様の、作業者が所望する旋削加工工程を自動で生成することができる。
【０１２３】
意思決定部４６は、機械学習装置５０が学習した結果を利用して、ＮＣ加工プログラム生成部４３からの要求に対応する加工ナレッジまたは反映加工ナレッジを決定する。ところで、いったんＮＣ加工プログラムが生成された後に、ＮＣ加工プログラム生成部４３でＮＣ加工プログラムを編集することがある。本実施の形態にかかる機械学習装置５０は、反映加工ナレッジを既に学習しているので、意思決定部４６は、ＮＣ加工プログラム生成部４３からの要求に対応する最も適切な反映加工ナレッジを、関数更新部５４に記憶されている加工ナレッジから必要に応じて決定することができる。
【０１２４】
さらに、機械学習装置５０は、素材の材質とＣＡＤデータ１００と加工ナレッジとの関連性を学習することができる。したがって、素材の材質とＣＡＤデータ１００とに起因してＮＣ加工プログラムを編集することが推測される場合には、意思決定部４６が決定する加工ナレッジまたは反映加工ナレッジを切り替えるように構成されてもよい。
【０１２５】
なお、反映加工ナレッジは、ＣＡＤデータ１００自体を関連付けて記憶されてもよい。たとえば、ＣＡＤデータ１００が、反映加工ナレッジＡ１３１に関連付けられて、加工ナレッジＡ１２１とともに関数更新部５４に記憶される。
【０１２６】
また、反映加工ナレッジは、ＣＡＤデータ１００に付随する情報を関連付けて記憶させてもよい。たとえば、ＣＡＤデータ１００に付随する情報が、反映加工ナレッジＡ１３１に関連付けられて、反映加工ナレッジＡ１３１とともに記憶される。ＣＡＤデータ１００に付随する情報の例は、ＣＡＤデータの画像、ＣＡＤデータの一部などである。なお、ＣＡＤデータ１００に付随する情報は、切削加工品の加工仕上がり形状の情報と被加工物の材質の情報との組み合わせに付随する情報、と換言できる。
【０１２７】
これにより、意思決定部４６は、関数更新部５４に記憶されている複数の加工ナレッジから、ＣＡＤデータ１００またはＣＡＤデータ１００に付随する情報を探索条件として、所望の反映加工ナレッジを探索して取得することが可能となる。
【０１２８】
また、加工ナレッジおよび反映加工ナレッジは、ＮＣ加工プログラムが実行されることにより制御されるＮＣ工作機械毎に分けて記憶されてもよい。複数台のＮＣ工作機械が使用される場合には、たとえば異なる機種のＮＣ工作機械が使用されている、同じ機種のＮＣ工作機械が使用されていてもＮＣ工作機械毎に異なるオプション機能が追加されているなどの理由により、ＮＣ工作機械毎に機能が異なることが多い。この場合には、加工ナレッジにもＮＣ工作機械毎に適した条件が存在する。
【０１２９】
このため、ＮＣ工作機械毎に分けて加工ナレッジおよび反映加工ナレッジを記憶することで、ＮＣ工作機械毎に適した作業者の知識および経験が反映された編集内容が反映加工ナレッジに反映されて蓄積される。そして、ＮＣ加工プログラム生成部４３が、ＮＣ工作機械毎に分けて管理された加工ナレッジまたは反映加工ナレッジを参照してＮＣ加工プログラムを生成することにより、作業者自身がＮＣ加工プログラムを作製した場合と同様の、作業者が所望するＮＣ工作機械毎に適したＮＣ加工プログラムを迅速に自動生成することが可能である。
【０１３０】
また、加工ナレッジおよび反映加工ナレッジをネットワークサーバー上に設けた記憶部に記憶させる構成とすることも可能である。
【０１３１】
本実施の形態１かかる機械学習装置５０の変形例として、機械学習装置５０は、ニューラルネットワークモデルに従って機械学習を実行してもよい。図２６は、本発明の実施の形態１にかかる機械学習装置５０が従うニューラルネットワークモデルの一例を示す模式図である。ニューラルネットワークは、たとえばｌ個の入力ニューロンを含む入力層と、ｍ個のニューロンを含む中間層と、ｎ個の出力ニューロンを含む出力層と、から構成される。図２６では、４個の入力ニューロンを含む入力層と、５個のニューロンを含む中間層と、１個の出力ニューロンを含む出力層と、から構成されるニューラルネットワークモデルの例を示している。なお、図２６において、中間層は、１層のみ示されているものの、２層以上の中間層が設けられてもよい。
【０１３２】
ニューラルネットワークは人間の成功体験又は失敗体験に基づいて最適な行動を感覚的に学習するように、状態変数と環境変化との関係性を学習する。ニューラルネットワークは、状態観測部５１によって観測される状態変数に基づいて作成されるデータセットに従って状態変数と環境変化との関係性を学習する。すなわち、ニューラルネットワークは、いわゆる教師あり学習によって、状態変数と環境変化との関係性を学習する。この場合、機械学習装置５０は、ニューラルネットワークの入力層に入力される加工形状データと、ＮＣ加工プログラムの生成経緯に応答して、出力層が、加工形状データに対応する加工ナレッジであって、作業者の知識および経験がより適切に反映された加工ナレッジを出力する。そして、意思決定部４６は、最適なＮＣ加工プログラム生成方法を決定するように機能する。すなわち、機械学習装置５０は、ニューラルネットワークモデルに従った場合でも、加工形状データとＮＣ加工プログラムの生成方法と第１ＮＣ加工プログラム１１１に対する編集内容との関係性を学習して、ＮＣ加工プログラムの生成方法を学習することが可能である。
【０１３３】
なお、上記においては、機械学習装置５０が強化学習またはニューラルネットワークを利用して機械学習する実施の形態について説明したが、機械学習装置５０は、他の公知の方法、例えば遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を実行してもよい。
【０１３４】
また、学習部５２の学習の一実施の形態として、学習部５２が、他の数値制御装置で使用されるＮＣ加工プログラムに適用される加工ナレッジを学習することも可能である。すなわち、学習部５２は、ある加工形状データについて、他の数値制御装置に対して生成されるＮＣ加工プログラムの生成に用いられる加工ナレッジおよびＮＣ加工プログラムに対する編集内容に基づいて、他の数値制御装置で使用されるＮＣ加工プログラムに適用される加工ナレッジを学習するように構成されてもよい。学習部５２は、同一の現場で稼働する他の数値制御装置で使用されるＮＣ加工プログラムに適用される加工ナレッジを学習してもよく、異なる現場で独立して稼働する他の数値制御装置で使用されるＮＣ加工プログラムに適用される加工ナレッジを学習してもよい。
【０１３５】
図２７は、本発明の実施の形態１にかかるＮＣ加工プログラム生成装置４０のハードウェア構成を示す図である。図２７に示したハードウェアは、演算処理を行うプロセッサ２０１と、プロセッサ２０１がワークエリアに用いるメモリ２０２と、数値制御装置またはプログラム変換装置として動作するためのプログラムを記憶する記憶装置２０３と、作業者との間の入力インタフェースである入力装置２０４と、作業者に情報を表示する表示装置２０５と、被制御機器または他の数値制御装置、その他の各種装置との通信機能を有する通信装置２０６と、を備える。プロセッサ２０１、メモリ２０２、記憶装置２０３、入力装置２０４、表示装置２０５および通信装置２０６はデータバス２０７で接続されている。ここで、プロセッサ２０１は、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、またはＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）などであってもよい。また、メモリ２０２は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、またはＥＥＰＲＯＭ（登録商標）（Ｅｌｅｃｔｒｉｃａｌｌｙ  ＥＰＲＯＭ）などの、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、またはＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）などが該当する。
【０１３６】
ＮＣ加工プログラム生成部４３は、例えば、図２７に示すメモリ２０２に記憶されたプログラムをプロセッサ２０１が実行することにより、実現される。また、複数のプロセッサおよび複数のメモリが連携して上記機能を実現してもよい。また、ＮＣ加工プログラム生成部４３の機能のうちの一部を電子回路として実装し、他の部分をプロセッサ２０１およびメモリ２０２を用いて実現するようにしてもよい。
【０１３７】
また、加工形状データ入力部４１とＮＣ加工プログラム編集部４５と意思決定部４６と状態観測部５１と報酬計算部５３と関数更新部５４とを、同様にメモリ２０２に記憶されたプログラムをプロセッサ２０１が実行することにより、実現されるように構成してもよい。また、複数のプロセッサおよび複数のメモリが連携して上記機能を実現してもよい。また、加工形状データ入力部４１とＮＣ加工プログラム編集部４５と意思決定部４６と状態観測部５１と報酬計算部５３と関数更新部５４との機能のうちの一部を電子回路として実装し、他の部分をプロセッサ２０１およびメモリ２０２を用いて実現するようにしてもよい。また、加工形状データ入力部４１とＮＣ加工プログラム編集部４５と意思決定部４６と状態観測部５１と報酬計算部５３と関数更新部５４との機能を実現するためのプロセッサおよびメモリは、ＮＣ加工プログラム生成部４３を実現するプロセッサおよびメモリと同一であってもよいし、別のプロセッサおよびメモリであってもよい。
【０１３８】
上述した本実施の形態１にかかるＮＣ加工プログラム生成装置４０は、加工形状データであるＣＡＤデータ１００を基にして、作業者の知識および経験が反映された編集内容が反映および蓄積されている加工ナレッジを参照して旋削加工工程を自動で生成することにより、作業者自身がＮＣ加工プログラムを作製した場合と同様の、作業者が所望する旋削加工工程を自動で生成することができる。
【０１３９】
また、本実施の形態１にかかる機械学習装置５０を備えたＮＣ加工プログラム生成装置４０では、切削加工品の加工仕上がり形状の情報および素材の材質の情報を含むＣＡＤデータ１００に対応する、ＮＣ加工プログラムの生成方法である加工ナレッジを自律的に学習する。すなわち、機械学習装置５０を備えたＮＣ加工プログラム生成装置４０は、ＮＣ加工プログラム生成部４３で生成されたＮＣ加工プログラムがＮＣ加工プログラム編集部４５で編集された編集内容に基づいて、作業者の知識および経験が反映された加工効率が良い加工ナレッジを自律的に学習する。これにより、意思決定部４６は、ＣＡＤデータ１００が再度、ＮＣ加工プログラム生成装置４０に入力された際に、関数更新部５４に記憶されている加工ナレッジの中から、ＣＡＤデータ１００に対応する、行動価値Ｑが最も高く加工効率が最も良い加工ナレッジを学習結果に基づいて決定することが可能である。
【０１４０】
したがって、本実施の形態１にかかるＮＣ加工プログラム生成装置４０では、熟練者の知識またはノウハウの蓄積が無くても、作業者が所望する旋削加工工程に近い、加工効率が良く高品質なＮＣ加工プログラムの自動生成が可能になる。そして、作業者が試行錯誤してＮＣ加工プログラムを生成する必要が無いので、ＮＣ加工プログラム作成の作業効率が向上する。これにより、本実施の形態１にかかるＮＣ加工プログラム生成装置４０では、ＮＣ加工プログラムの自動生成にかかる時間の短縮効果、および被加工物の加工時間の短縮効果が得られる。
【０１４１】
また、本実施の形態１にかかるＮＣ加工プログラム生成装置４０は、ユーザのＮＣ加工プログラム編集内容を学習して加工ナレッジに反映するので、次のＮＣプログロム生成時にユーザのＮＣ加工プログラム編集作業を減らすことができる。
【０１４２】
以上、本発明の種々の実施の形態について説明したが、当業者であれば、他の実施の形態によっても本発明の意図する作用効果を実現できることを認識するであろう。特に、本発明の範囲を逸脱することなく、前述した実施の形態１の構成要素を削除または置換することができるし、或いは公知の手段をさらに付加することができる。また、本明細書において明示的または暗示的に開示される実施の形態の特徴を任意に組み合せることによっても本発明を実施できることは当業者に自明である。すなわち、以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【０１４３】
１  数値制御装置、１０  対話操作処理部、２０  表示部、３０  指示入力部、４０  ＮＣ加工プログラム生成装置、４１  加工形状データ入力部、４２  加工形状データ記憶部、４３  ＮＣ加工プログラム生成部、４４  ＮＣ加工プログラム記憶部、４５  ＮＣ加工プログラム編集部、４６  意思決定部、５０  機械学習装置、５１  状態観測部、５２  学習部、５３  報酬計算部、５４  関数更新部、１００  ＣＡＤデータ、１１１  第１ＮＣ加工プログラム、１１２  第２ＮＣ加工プログラム、１２１  加工ナレッジＡ、１２２  加工ナレッジＢ、１２３  加工ナレッジＣ、１３１  反映加工ナレッジＡ、１３２  反映加工ナレッジＢ、１３３  反映加工ナレッジＣ、２０１  プロセッサ、２０２  メモリ、２０３  記憶装置、２０４  入力装置、２０５  表示装置、２０６  通信装置、２０７  データバス。
【図１】
2020012581.tif 000004
【図２】
2020012581.tif 000005
【図３】
2020012581.tif 000006
【図４】
2020012581.tif 000007
【図５】
2020012581.tif 000008
【図６】
2020012581.tif 000009
【図７】
2020012581.tif 000010
【図８】
2020012581.tif 000011
【図９】
2020012581.tif 000012
【図１０】
2020012581.tif 000013
【図１１】
2020012581.tif 000014
【図１２】
2020012581.tif 000015
【図１３】
2020012581.tif 000016
【図１４】
2020012581.tif 000017
【図１５】
2020012581.tif 000018
【図１６】
2020012581.tif 000019
【図１７】
2020012581.tif 000020
【図１８】
2020012581.tif 000021
【図１９】
2020012581.tif 000022
【図２０】
2020012581.tif 000023
【図２１】
2020012581.tif 000024
【図２２】
2020012581.tif 000025
【図２３】
2020012581.tif 000026
【図２４】
2020012581.tif 000027
【図２５】
2020012581.tif 000028
【図２６】
2020012581.tif 000029
【図２７】
2020012581.tif 000030
【手続補正書】
【提出日】平成31年3月6日(2019.3.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
切削加工品の加工仕上がり形状の情報および素材の材質の情報を含む加工形状データと、被加工物から前記切削加工品を削り出すための複数の切削加工を含む数値制御加工プログラムを自動生成するための数値制御加工プログラムの生成方法と、前記数値制御加工プログラムの生成方法を参照して生成された第１数値制御加工プログラムに対する編集内容と、を状態変数として観測する状態観測部と、
前記状態変数に基づいて作成されるデータセットに従って、前記数値制御加工プログラムの生成方法を自律的に学習する学習部と、
を備えることを特徴とする機械学習装置。
【請求項２】
前記学習部が、
前記数値制御加工プログラムの生成方法に前記編集内容を反映させた反映数値制御加工プログラムの生成方法に基づいて報酬を計算する報酬計算部と、
計算された前記報酬に基づいて、前記数値制御加工プログラムの生成方法を決定するための関数を更新する関数更新部と、
を備えることを特徴とする請求項１に記載の機械学習装置。
【請求項３】
切削加工品の加工仕上がり形状の情報および素材の材質の情報を含む加工形状データと、被加工物から前記切削加工品を削り出すための複数の切削加工を含む数値制御加工プログラムを自動生成するための数値制御加工プログラムの生成方法と、前記数値制御加工プログラムの生成方法を参照して生成された第１数値制御加工プログラムに対する編集内容と、を状態変数として観測する状態観測部と、
前記状態変数に基づいて作成されるデータセットに従って、前記数値制御加工プログラムの生成方法を学習する学習部と、
を備え、
前記学習部が、
前記数値制御加工プログラムの生成方法に前記編集内容を反映させた反映数値制御加工プログラムの生成方法に基づいて報酬を計算する報酬計算部と、
計算された前記報酬に基づいて、前記数値制御加工プログラムの生成方法を決定するための関数を更新する関数更新部と、
を備えること、
を特徴とする機械学習装置。
【請求項４】
前記報酬計算部は、
前記数値制御加工プログラムの生成方法と前記反映数値制御加工プログラムの生成方法とが同じ場合には前記反映数値制御加工プログラムの生成方法の報酬を増大し、前記数値制御加工プログラムの生成方法と前記反映数値制御加工プログラムの生成方法とが異なる場合には前記数値制御加工プログラムの生成方法の報酬を低減するとともに前記反映数値制御加工プログラムの生成方法の報酬を増大するように構成されること、
を特徴とする請求項２または３に記載の機械学習装置。
【請求項５】
請求項１から４のいずれか１つに記載の機械学習装置と、
前記機械学習装置が学習した結果に基づいて決定される前記数値制御加工プログラムの生成方法を参照して前記第１数値制御加工プログラムを生成する数値制御加工プログラム生成部と、
前記第１数値制御加工プログラムを編集して第２数値制御加工プログラムを生成する数値制御加工プログラム編集部と、
前記機械学習装置の前記学習部が学習した結果に基づいて、前記加工形状データに対応する数値制御加工プログラムの生成方法を決定する意思決定部と、
を備えることを特徴とする数値制御加工プログラム生成装置。
【請求項６】
被加工物から切削加工品を削り出すための複数の切削加工を含む数値制御加工プログラムを生成する数値制御加工プログラム生成装置における前記数値制御加工プログラムの自動生成に用いられる数値制御加工プログラムの生成方法を機械学習装置が学習する機械学習方法であって、
前記機械学習装置の状態観測部が、前記切削加工品の加工仕上がり形状の情報および素材の材質の情報を含む加工形状データと、前記数値制御加工プログラムの生成方法と、前記数値制御加工プログラムの生成方法を参照して前記数値制御加工プログラム生成装置が生成した第１数値制御加工プログラムに対する編集内容と、を状態変数として観測するステップと、
前記機械学習装置の関数更新部が、前記状態変数に基づいて作成されるデータセットに従って、前記数値制御加工プログラムの生成方法を自律的に学習するステップと、
を含むことを特徴とする機械学習方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上述した課題を解決し、目的を達成するために、本発明にかかる機械学習装置は、切削加工品の加工仕上がり形状の情報および素材の材質の情報を含む加工形状データと、被加工物から切削加工品を削り出すための複数の切削加工を含む数値制御加工プログラムを自動生成するための数値制御加工プログラムの生成方法と、数値制御加工プログラムの生成方法を参照して生成された第１数値制御加工プログラムに対する編集内容と、を状態変数として観測する状態観測部と、状態変数に基づいて作成されるデータセットに従って、数値制御加工プログラムの生成方法を自律的に学習する学習部と、を備える。
【手続補正書】
【提出日】令和1年5月20日(2019.5.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
切削加工品の加工仕上がり形状の情報および素材の材質の情報を含む加工形状データと、被加工物から前記切削加工品を削り出すための複数の切削加工を含む数値制御加工プログラムを自動生成するための数値制御加工プログラムの生成方法と、前記数値制御加工プログラムの生成方法を参照して生成された第１数値制御加工プログラムに対する編集内容と、を状態変数として観測する状態観測部と、
前記状態変数に基づいて作成されるデータセットに従って、前記数値制御加工プログラムの生成方法を学習する学習部と、
を備え、
前記学習部が、
前記数値制御加工プログラムの生成方法に前記編集内容を反映させた反映数値制御加工プログラムの生成方法に基づいて報酬を計算する報酬計算部と、
計算された前記報酬に基づいて、前記数値制御加工プログラムの生成方法を決定するための関数を更新する関数更新部と、
を備えること、
を特徴とする機械学習装置。
【請求項２】
前記報酬計算部は、
前記数値制御加工プログラムの生成方法と前記反映数値制御加工プログラムの生成方法とが同じ場合には前記反映数値制御加工プログラムの生成方法の報酬を増大し、前記数値制御加工プログラムの生成方法と前記反映数値制御加工プログラムの生成方法とが異なる場合には前記数値制御加工プログラムの生成方法の報酬を低減するとともに前記反映数値制御加工プログラムの生成方法の報酬を増大するように構成されること、
を特徴とする請求項１に記載の機械学習装置。
【請求項３】
請求項１または２に記載の機械学習装置と、
前記機械学習装置が学習した結果に基づいて決定される前記数値制御加工プログラムの生成方法を参照して前記第１数値制御加工プログラムを生成する数値制御加工プログラム生成部と、
前記第１数値制御加工プログラムを編集して第２数値制御加工プログラムを生成する数値制御加工プログラム編集部と、
前記機械学習装置の前記学習部が学習した結果に基づいて、前記加工形状データに対応する数値制御加工プログラムの生成方法を決定する意思決定部と、
を備えることを特徴とする数値制御加工プログラム生成装置。
【請求項４】
被加工物から切削加工品を削り出すための複数の切削加工を含む数値制御加工プログラムを生成する数値制御加工プログラム生成装置における前記数値制御加工プログラムの自動生成に用いられる数値制御加工プログラムの生成方法を機械学習装置が学習する機械学習方法であって、
前記機械学習装置の状態観測部が、前記切削加工品の加工仕上がり形状の情報および素材の材質の情報を含む加工形状データと、前記数値制御加工プログラムの生成方法と、前記数値制御加工プログラムの生成方法を参照して前記数値制御加工プログラム生成装置が生成した第１数値制御加工プログラムに対する編集内容と、を状態変数として観測するステップと、
前記機械学習装置の関数更新部が、前記状態変数に基づいて作成されるデータセットに従って、前記数値制御加工プログラムの生成方法に前記編集内容が反映された反映数値制御加工プログラムの生成方法に基づいて計算された報酬に基づいて、前記数値制御加工プログラムの生成方法を決定するための関数を更新することによって、前記数値制御加工プログラムの生成方法を自律的に学習するステップと、
を含むことを特徴とする機械学習方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上述した課題を解決し、目的を達成するために、本発明にかかる機械学習装置は、切削加工品の加工仕上がり形状の情報および素材の材質の情報を含む加工形状データと、被加工物から切削加工品を削り出すための複数の切削加工を含む数値制御加工プログラムを自動生成するための数値制御加工プログラムの生成方法と、数値制御加工プログラムの生成方法を参照して生成された第１数値制御加工プログラムに対する編集内容と、を状態変数として観測する状態観測部と、状態変数に基づいて作成されるデータセットに従って、数値制御加工プログラムの生成方法を学習する学習部と、を備える。学習部は、数値制御加工プログラムの生成方法に編集内容を反映させた反映数値制御加工プログラムの生成方法に基づいて報酬を計算する報酬計算部と、計算された報酬に基づいて、数値制御加工プログラムの生成方法を決定するための関数を更新する関数更新部と、を備える。
【国際調査報告】
2020012581.tif 000031
2020012581.tif 000032
2020012581.tif 000033
2020012581.tif 000034