(57)【特許請求の範囲】
【請求項１】
学習モデルを使用して、工作機械を数値制御するための加工プログラムを生成する加工プログラム生成装置であって、
前記加工プログラムの編集における調整対象である第１のパラメータの調整に使用されるパラメータであって前記加工プログラムの編集における調整対象外のパラメータである第２のパラメータの値が入力され、前記学習モデルを使用して前記第２のパラメータから前記第１のパラメータの値を推論し、前記第１のパラメータの複数の値を推論結果として出力する推論部と、
前記複数の値を提示することによって前記複数の値からの値の選択を受け付けるパラメータ選択部と、
前記複数の値の中から選択された値に基づいて前記加工プログラムを生成する加工プログラム生成部と、
前記加工プログラムの編集操作を解析する編集操作解析部と、
を備え、
前記パラメータ選択部は、前記複数の値とともに、前記複数の値の各々についての前記加工プログラムへの使用の確率を提示し、
前記編集操作解析部は、前記第１のパラメータの前記複数の値から選択された値を取得し、かつ、前記第１のパラメータに対応する前記第２のパラメータを前記加工プログラムから抽出することによって、前記第１のパラメータと前記第２のパラメータとを含み、かつ前記学習モデルを生成または更新するためのデータセットを生成することを特徴とする加工プログラム生成装置。
【請求項２】
学習モデルを使用して、工作機械を数値制御するための加工プログラムを生成する加工プログラム生成装置であって、
前記加工プログラムの編集における調整対象である第１のパラメータの調整に使用されるパラメータであって前記加工プログラムの編集における調整対象外のパラメータである第２のパラメータの値が入力され、前記学習モデルを使用して前記第２のパラメータから前記第１のパラメータの値を推論し、前記第１のパラメータの複数の値を推論結果として出力する推論部と、
前記複数の値を提示することによって前記複数の値からの値の選択を受け付けるパラメータ選択部と、
前記複数の値の中から選択された値に基づいて前記加工プログラムを生成する加工プログラム生成部と、
前記加工プログラムの編集操作を解析する編集操作解析部と、
を備え、
前記パラメータ選択部は、前記複数の値とともに、前記複数の値の各々が前記加工プログラムへ使用された場合に予想される加工時間を提示し、
前記編集操作解析部は、前記第１のパラメータの前記複数の値から選択された値を取得し、かつ、前記第１のパラメータに対応する前記第２のパラメータを前記加工プログラムから抽出することによって、前記第１のパラメータと前記第２のパラメータとを含み、かつ前記学習モデルを生成または更新するためのデータセットを生成することを特徴とする加工プログラム生成装置。
【請求項３】
加工プログラム生成装置が、学習モデルを使用して、工作機械を数値制御するための加工プログラムを生成する加工プログラム生成方法であって、
前記加工プログラムの編集における調整対象である第１のパラメータの調整に使用されるパラメータであって前記加工プログラムの編集における調整対象外のパラメータである第２のパラメータの値が入力され、前記学習モデルを使用して前記第２のパラメータから前記第１のパラメータの値を推論し、前記第１のパラメータの複数の値を推論結果として出力するステップと、
前記複数の値を提示することによって前記複数の値からの値の選択を受け付けるステップと、
前記複数の値の中から選択された値に基づいて前記加工プログラムを生成するステップと、
前記加工プログラムの編集操作を解析するステップと、
を含み、
前記複数の値からの値の選択を受け付けるステップでは、前記複数の値とともに、前記複数の値の各々についての前記加工プログラムへの使用の確率を提示し、
前記編集操作を解析するステップでは、前記第１のパラメータの前記複数の値から選択された値を取得し、かつ、前記第１のパラメータに対応する前記第２のパラメータを前記加工プログラムから抽出することによって、前記第１のパラメータと前記第２のパラメータとを含み、かつ前記学習モデルを生成または更新するためのデータセットを生成することを特徴とする加工プログラム生成方法。
【請求項４】
加工プログラム生成装置が、学習モデルを使用して、工作機械を数値制御するための加工プログラムを生成する加工プログラム生成方法であって、
前記加工プログラムの編集における調整対象である第１のパラメータの調整に使用されるパラメータであって前記加工プログラムの編集における調整対象外のパラメータである第２のパラメータの値が入力され、前記学習モデルを使用して前記第２のパラメータから前記第１のパラメータの値を推論し、前記第１のパラメータの複数の値を推論結果として出力するステップと、
前記複数の値を提示することによって前記複数の値からの値の選択を受け付けるステップと、
前記複数の値の中から選択された値に基づいて前記加工プログラムを生成するステップと、
前記加工プログラムの編集操作を解析するステップと、
を含み、
前記複数の値からの値の選択を受け付けるステップでは、前記複数の値とともに、前記複数の値の各々が前記加工プログラムへ使用された場合に予想される加工時間を提示し、
前記編集操作を解析するステップでは、前記第１のパラメータの前記複数の値から選択された値を取得し、かつ、前記第１のパラメータに対応する前記第２のパラメータを前記加工プログラムから抽出することによって、前記第１のパラメータと前記第２のパラメータとを含み、かつ前記学習モデルを生成または更新するためのデータセットを生成することを特徴とする加工プログラム生成方法。
【請求項５】
請求項１または２に記載の加工プログラム生成装置によって使用される学習モデルを機械学習装置によって生成する機械学習方法であって、
工作機械を数値制御するための加工プログラムであって、前記加工プログラムを編集した作業者に対応付けられた前記加工プログラムを解析することによって、前記加工プログラムの編集における調整対象である第１のパラメータと、前記加工プログラムの編集における調整対象外のパラメータであって前記第１のパラメータの調整に使用される第２のパラメータとを前記加工プログラムから抽出するステップと、
抽出された前記第１のパラメータおよび前記第２のパラメータを含むデータセットを用いた学習によって、前記作業者が編集する加工プログラムの前記第２のパラメータから前記第１のパラメータの値を推論するための前記学習モデルを生成するステップと、
を含むことを特徴とする機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、工作機械を数値制御するための加工プログラムを生成する加工プログラム生成装置、加工プログラム生成方法および機械学習方法に関する。
【背景技術】
【０００２】
近年、数値制御装置によって制御される工作機械の分野では、複雑な形状を精密に加工できるように、工作機械の構造が複雑になり、工作機械の制御対象である軸の数が増大している。このため、数値制御対象の処理は増加しており、加工プログラムは複雑化している。加工プログラムの複雑化に伴い、加工プログラムの生成において調整を要するパラメータは多種多様に亘ることとなり、加工プログラムの生成に手間と時間とがかかっていた。【０００３】
特許文献１には、加工プログラムの生成において、機械学習を利用して加工プログラムのパラメータを調整する加工プログラム生成装置が開示されている。特許文献１の技術によると、加工プログラム生成装置は、学習モデルを用いた推論によって多種多様なパラメータの値を決定することで、加工プログラムの生成に要する手間と時間との低減が可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第６５９９０６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
加工プログラム生成装置によって生成される加工プログラムには、加工プログラムの編集を行う作業者ごとに異なる特徴が反映され得る。特許文献１にかかる従来の技術によると、作業者が所望するパラメータの値を加工プログラム生成装置が正しく推論できるとは限らず、パラメータの値を作業者が変更しなければならない場合がある。このため、従来の技術によると、加工プログラムを容易に生成できない場合があるという問題があった。【０００６】
本開示は、上記に鑑みてなされたものであって、工作機械を数値制御するための加工プログラムを容易に生成可能とする加工プログラム生成装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本開示にかかる加工プログラム生成装置は、学習モデルを使用して、工作機械を数値制御するための加工プログラムを生成する加工プログラム生成装置である。本開示にかかる加工プログラム生成装置は、加工プログラムの編集における調整対象である第１のパラメータの調整に使用されるパラメータであって加工プログラムの編集における調整対象外のパラメータである第２のパラメータの値が入力され、学習モデルを使用して第２のパラメータから第１のパラメータの値を推論し、第１のパラメータの複数の値を推論結果として出力する推論部と、複数の値を提示することによって複数の値からの値の選択を受け付けるパラメータ選択部と、複数の値の中から選択された値に基づいて加工プログラムを生成する加工プログラム生成部と、加工プログラムの編集操作を解析する編集操作解析部と、を備える。パラメータ選択部は、複数の値とともに、複数の値の各々についての加工プログラムへの使用の確率を提示する。編集操作解析部は、第１のパラメータの複数の値から選択された値を取得し、かつ、第１のパラメータに対応する第２のパラメータを加工プログラムから抽出することによって、第１のパラメータと第２のパラメータとを含み、かつ学習モデルを生成または更新するためのデータセットを生成する。
【発明の効果】
【０００８】
本開示にかかる加工プログラム生成装置は、工作機械を数値制御するための加工プログラムを容易に生成することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１にかかる機械学習装置および加工プログラム生成装置を含む数値制御装置の構成例を示すブロック図
【図２】図１に示す機械学習装置が行う学習モデル生成処理の手順を示すフローチャート
【図３】図１に示す加工プログラム生成装置が行う加工プログラム生成処理の手順を示すフローチャート
【図４】図１に示す機械学習装置および加工プログラム生成装置が編集操作の内容から学習モデルを生成する際に行う処理の手順を示すフローチャート
【図５】図１に示す機械学習装置が行う学習モデル生成処理の詳細を示すフローチャート
【図６】図１に示す機械学習装置が読み込む加工プログラムの例を示す図
【図７】図１に示す加工プログラム生成部が行う加工プログラム生成処理の詳細を示すフローチャート
【図８】図１に示すＣＡＤデータに基づいて生成される加工後の加工対象物の形状を示す斜視図
【図９】図１に示すＣＡＤデータに基づいて生成される素材形状を示す斜視図
【図１０】図１に示す加工プログラム生成部によって生成される加工除去形状を示す斜視図
【図１１】図１に示す加工プログラム生成部によって生成される第１の工程形状を示す斜視図
【図１２】図１に示す加工プログラム生成部によって生成される第２の工程形状を示す斜視図
【図１３】図１に示す加工プログラム生成部によって生成される第３の工程形状を示す斜視図
【図１４】図１に示す加工プログラム生成部によって生成される第４の工程形状を示す斜視図
【図１５】実施の形態２における編集操作解析処理と追加学習処理との手順を示すフローチャート
【図１６】図１に示す機械学習装置および加工プログラム生成装置のハードウェア構成を示す図
【発明を実施するための形態】
【００１０】
以下に、実施の形態にかかる加工プログラム生成装置、加工プログラム生成方法および機械学習方法を図面に基づいて詳細に説明する。
【００１１】
実施の形態１．
図１は、実施の形態１にかかる機械学習装置１０および加工プログラム生成装置２０を含む数値制御装置１００の構成例を示すブロック図である。
【００１２】
数値制御装置１００は、機械学習装置１０と、加工プログラム生成装置２０と、対話操作処理部３０と、指示入力部４０と、表示部５０とを有する。数値制御装置１００は、不図示の工作機械に搭載され、または、工作機械に接続されて、加工プログラムに従って工作機械の動作を数値制御する。ここでは加工プログラムは、加工対象物を素材の状態から切削加工して設計形状を削り出すために用いられる。工作機械は、例えばマシニングセンタである。
【００１３】
なお、図１に示す例では、機械学習装置１０および加工プログラム生成装置２０は、数値制御装置１００に搭載されることとしたが、実施の形態１はかかる例に限定されない。例えば、機械学習装置１０および加工プログラム生成装置２０は、数値制御装置１００と異なる装置であっても良い。また、機械学習装置１０は、加工プログラム生成装置２０と異なる装置であっても良い。
【００１４】
機械学習装置１０は、過去に作成された複数の加工プログラム１に基づいて、加工プログラム生成装置２０が加工プログラムを生成する際に使用する学習モデルを生成する。すなわち、機械学習装置１０に入力される加工プログラム１は、学習用の加工プログラムであり、加工プログラム生成装置２０が生成する加工プログラムは、工作機械を数値制御するために作成される新規の加工プログラムである。
【００１５】
加工プログラム生成装置２０は、数値制御装置１００の外部から加工プログラム生成装置２０に入力される加工形状データに基づいて、加工プログラムを生成する。加工形状データは、設計形状を示すデータであって、例えばＣＡＤ（Computer-Aided  Design）データ２である。加工プログラム生成装置２０は、加工プログラムを生成する際に、機械学習装置１０の学習結果である学習モデルを使用する。
【００１６】
対話操作処理部３０は、数値制御装置１００と作業者との間のインタフェースであるとともに、機械学習装置１０または加工プログラム生成装置２０と作業者との間のインタフェースでもある。対話操作処理部３０は、作業者が指示入力部４０を介して入力した指示情報を機械学習装置１０または加工プログラム生成装置２０に送信する。また、対話操作処理部３０は、作業者が指示入力部４０を介して入力した指示情報を表示部５０に表示する。
【００１７】
指示入力部４０は、マウス、キーボードなどの入力機器から構成される。指示入力部４０は、作業者からの指示情報を受け付けて、対話操作処理部３０に指示情報を送信する。
【００１８】
表示部５０は、液晶モニタなどの表示機器であり、加工プログラム１、ＣＡＤデータ２、作業者が指示入力部４０を介して入力した指示情報などを表示する。また、表示部５０は、数値制御装置１００、機械学習装置１０、および加工プログラム生成装置２０で行われる処理に関する各種の情報を表示することができる。
【００１９】
機械学習装置１０は、加工プログラム入力部１１と、加工プログラム記憶部１２と、加工プログラム解析部１３と、機械学習部１４と、学習モデル記憶部１５とを有する。
【００２０】
加工プログラム１は、数値制御装置１００の外部装置から機械学習装置１０へ入力される。加工プログラム入力部１１は、外部装置から入力される加工プログラム１を受け付け、受け付けた加工プログラム１を加工プログラム記憶部１２に入力する。加工プログラム１は、不図示の工作機械を数値制御するためのコンピュータプログラムであり、加工方法、工具、切削条件、工具軌道、素材形状、素材の材質等についての情報を含む。
【００２１】
加工プログラム記憶部１２は、加工プログラム１を記憶する。加工プログラム記憶部１２は、加工プログラム１を編集した作業者に対応付けて、加工プログラム１を記憶する。作業者に対応付けて加工プログラム１を記憶するとは、作業者を識別可能な情報とともに加工プログラム１を記憶することを指す。作業者を識別可能な情報とは、作業者の氏名またはユーザ名、作業者ごとにあらかじめ付与された番号などである。加工プログラム１の編集とは、加工プログラム１の生成のために作業者が行う作業を指す。加工プログラム１の編集には、生成された加工プログラム１を修正する作業も含まれる。
【００２２】
加工プログラム解析部１３は、加工プログラム１から第１のパラメータと第２のパラメータとを抽出する。第１のパラメータと第２のパラメータとは、加工プログラム１内で使用されているパラメータである。第１のパラメータは、加工プログラム１の編集における調整対象であるパラメータである。第２のパラメータは、加工プログラム１の編集における調整対象外のパラメータであって第１のパラメータの調整に使用されるパラメータである。パラメータの調整とは、パラメータの値を決定することを指す。第１のパラメータの値は、加工プログラム１を生成する際に決定される。
【００２３】
第１のパラメータは、例えば、加工方法、加工順序、工具種類、送り、切削速度、径方向切込み量、軸方向切込み量などを表すパラメータである。第２のパラメータは、例えば、素材形状、素材材質、加工形状などに基づいて値が定まるパラメータである。第２のパラメータには、調整済みのパラメータが含まれる。第１のパラメータごとに、第１のパラメータを調整する際に使用される第２のパラメータが対応付けられている。第１のパラメータは、第１のパラメータに対応する第２のパラメータに基づいて調整される。
【００２４】
加工プログラム解析部１３は、第１のパラメータごとに、抽出する第２のパラメータを決定し、決定した第２のパラメータを抽出する。加工プログラム解析部１３は、加工プログラム１ごとに抽出された第１のパラメータおよび第２のパラメータを、機械学習部１４に入力する。
【００２５】
機械学習部１４は、抽出された第１のパラメータおよび第２のパラメータを含むデータセットを用いた学習によって、学習モデルを生成する。機械学習部１４は、作業者によって編集される加工プログラムの第２のパラメータから第１のパラメータの値を推論するための学習モデルを生成する。実施の形態１において、機械学習部１４は、学習モデルを生成するための教師あり学習を行う。機械学習部１４は、生成した学習モデルを学習モデル記憶部１５に入力する。
【００２６】
機械学習部１４が用いる学習アルゴリズムはどのようなものを用いてもよい。一例として、ニューラルネットワーク、ＳＶＭ(Support  Vector  Machine)などのアルゴリズムが挙げられる。ニューラルネットワークは、多層構造のディープラーニングであっても良い。また機械学習部１４が用いる学習アルゴリズムは、遺伝的プログラミング、帰納論理プログラミング、サポートベクターマシーンなどであってもよい。機械学習は、ニューラルネットワークの重みまたはバイアスといったパラメータを最適化する処理である。
【００２７】
学習モデル記憶部１５は、機械学習部１４の学習結果である学習モデルを記憶する。学習モデルは、入力される第２のパラメータに対する、最適な第１のパラメータの関係を示している。
【００２８】
加工プログラム生成装置２０は、加工形状データ入力部２１と、加工形状データ記憶部２２と、加工プログラム生成部２３と、パラメータ選択部２４と、加工プログラム記憶部２５と、編集操作解析部２６と、推論部２７とを有する。
【００２９】
加工形状データであるＣＡＤデータ２は、数値制御装置１００の外部装置から加工プログラム生成装置２０へ入力される。加工形状データ入力部２１は、外部装置から入力されるＣＡＤデータ２を受け付け、受け付けたＣＡＤデータ２を加工形状データ記憶部２２に入力する。加工形状データ記憶部２２は、ＣＡＤデータ２を記憶する。
【００３０】
加工形状データは、切削加工品の仕上がり形状である設計形状と、素材の材質を示す情報とを含む。素材は、ＣＡＤデータ２で表される設計形状が削り出される加工対象物である。加工形状データは、ＣＡＤデータ２に限定されず、加工プログラム生成装置２０が解釈可能なデータであれば良い。
【００３１】
加工プログラム生成部２３は、ＣＡＤデータ２が示す設計形状を素材から削り出すための加工プログラムを生成する。パラメータ選択部２４は、加工プログラム生成部２３から加工プログラムを取得し、推論部２７において学習データへ入力される入力データを生成する。または、パラメータ選択部２４は、加工形状データ記憶部２２からＣＡＤデータ２を読み出し、ＣＡＤデータ２に示される加工形状に基づいて、学習データへ入力される入力データを生成しても良い。パラメータ選択部２４は、加工プログラムに使用されている第２のパラメータを加工プログラムから抽出し、第２のパラメータを含む入力データを生成する。パラメータ選択部２４は、生成された入力データを推論部２７へ入力する。
【００３２】
パラメータ選択部２４は、加工プログラムを生成するために使用する複数の第１のパラメータのそれぞれについて、入力データを生成する。パラメータ選択部２４は、複数の第１のパラメータの各々を指定するとともに推論部２７へ入力データを渡すことによって、推論部２７に第１のパラメータの推論を指示する。
【００３３】
推論部２７には、入力データとして、第２のパラメータを含む入力データが入力される。推論部２７は、学習モデルを使用して、第２のパラメータから第１のパラメータの値を推論する。推論部２７は、推論結果をパラメータ選択部２４へ返す。推論部２７は、推論結果として、第１のパラメータの複数の値を出力する。
【００３４】
パラメータ選択部２４は、推論結果である複数の値を推論部２７から受ける。パラメータ選択部２４は、複数の値を提示して、複数の値からの値の選択を受け付ける。実施の形態１において、パラメータ選択部２４は、推論部２７から受けた複数の値を、対話操作処理部３０を経て表示部５０へ出力することによって、複数の値を表示部５０に表示させる。このように、パラメータ選択部２４は、表示部５０に複数の値を表示させることによって、複数の値を提示する。作業者は、指示入力部４０を操作することによって、表示部５０に表示された複数の値の中から値を選択する。選択された値は、対話操作処理部３０を経て推論部２７へ入力される。パラメータ選択部２４は、選択された値を加工プログラム生成部２３へ入力する。
【００３５】
加工プログラム生成部２３は、パラメータ選択部２４から受けた第１のパラメータの値に基づいて、加工プログラムを生成する。すなわち、加工プログラム生成部２３は、パラメータ選択部２４において複数の値の中から選択された値に基づいて加工プログラムを生成する。加工プログラム生成部２３は、生成した加工プログラムを加工プログラム記憶部２５に入力する。加工プログラム記憶部２５は、加工プログラムを記憶する。
【００３６】
編集操作解析部２６は、作業者による編集操作を解析する。編集操作解析部２６は、作業者が編集した第１のパラメータごとに、加工プログラムから抽出する第２のパラメータを決定する。編集操作解析部２６は、決定された第２のパラメータを加工プログラムから抽出する。編集操作解析部２６は、第１のパラメータの複数の値の中から選択された値を、加工プログラム生成部２３から取得する。編集操作解析部２６は、第１のパラメータの複数の値から選択された値を取得し、かつ、第１のパラメータに対応する第２のパラメータを加工プログラムから抽出することによって、第１のパラメータと第２のパラメータとを含み、かつ学習モデルを生成または更新するためのデータセットを生成する。編集操作解析部２６は、作業者による編集操作が行われるごとに、機械学習部１４にデータセットを入力する。
【００３７】
次に、数値制御装置１００の動作について説明する。数値制御装置１００の動作は、機械学習装置１０が行う学習モデル生成処理と、加工プログラム生成装置２０が行う加工プログラム生成処理とを含む。
【００３８】
図２は、図１に示す機械学習装置１０が行う学習モデル生成処理の手順を示すフローチャートである。学習モデル生成処理では、加工プログラム１に基づいて、加工プログラムを生成するための学習モデルが生成される。
【００３９】
ステップＳ１において、加工プログラム入力部１１は、図示しない記憶領域から、複数の加工プログラム１を読み込む。加工プログラム記憶部１２は、加工プログラム１を編集した作業者に対応付けて、加工プログラム１を記憶する。
【００４０】
ステップＳ２において、加工プログラム解析部１３は、作業者に対応付けられた加工プログラム１から、第１のパラメータを抽出する。加工プログラム解析部１３は、加工プログラム１に使用されている複数の第１のパラメータを抽出する。
【００４１】
ステップＳ３において、加工プログラム解析部１３は、抽出した複数の第１のパラメータについて、第１のパラメータごとに第２のパラメータを抽出する。このとき、加工プログラム解析部１３は、第１のパラメータごとに、抽出する第２のパラメータを決定し、決定した第２のパラメータを抽出する。加工プログラム解析部１３は、ステップＳ２およびステップＳ３の処理を、加工プログラム１ごとに行う。加工プログラム解析部１３は、加工プログラム１ごとに、抽出した第１のパラメータおよび第２のパラメータを機械学習部１４に入力する。
【００４２】
ステップＳ４において、機械学習部１４は、入力された第１のパラメータおよび第２のパラメータを用いて、機械学習処理を行う。機械学習部１４は、第１のパラメータおよび第２のパラメータに基づいてデータセットを生成し、生成したデータセットに従って機械学習を行う。データセットは、調整対象の第１のパラメータと、当該第１のパラメータの値を決定するために使用される調整対象外のパラメータである第２のパラメータとを対応づけたデータの組である。機械学習部１４は、あらかじめ定められた基準を用いて、最適化されたモデルを学習モデルとして生成する。機械学習部１４は、学習結果である学習モデルを生成する。学習モデル記憶部１５は、生成された学習モデルを記憶する。以上により、機械学習装置１０は、図２に示す手順による学習モデル生成処理を終了する。
【００４３】
図３は、図１に示す加工プログラム生成装置２０が行う加工プログラム生成処理の手順を示すフローチャートである。加工プログラム生成装置２０は、機械学習装置１０の学習結果を使用して加工プログラムのパラメータを推論し、推論結果を使用して加工プログラムを生成する。
【００４４】
ステップＳ１１において、加工形状データ入力部２１は、図示しない記憶領域から、加工形状データであるＣＡＤデータ２を読み込む。加工形状データ記憶部２２は、ＣＡＤデータ２を記憶する。ステップＳ１２において、加工プログラム生成部２３は、ＣＡＤデータ２に基づいて加工プログラムを生成する。
【００４５】
パラメータ選択部２４は、加工プログラム生成部２３から加工プログラムを取得する。または、パラメータ選択部２４は、加工形状データ記憶部２２からＣＡＤデータ２を取得する。パラメータ選択部２４は、第１のパラメータを推論するための第２のパラメータを、加工プログラムまたはＣＡＤデータ２から取得する。パラメータ選択部２４は、入力データである第２のパラメータを推論部２７へ入力する。
【００４６】
ステップＳ１３において、推論部２７は、入力データである第２のパラメータと、学習モデル記憶部１５から読み出された学習モデルとを使用して、第１のパラメータを推論する。推論部２７は、推論結果をパラメータ選択部２４へ出力する。ステップＳ１４において、パラメータ選択部２４は、第１のパラメータの複数の値を表示部５０にて表示させることによって、推論結果である第１のパラメータの値を提示する。表示部５０が表示する複数の値は、加工プログラムに設定される第１のパラメータの値の候補である。作業者によって値が選択されると、パラメータ選択部２４は、選択された値を加工プログラム生成部２３へ入力する。
【００４７】
ステップＳ１５において、加工プログラム生成部２３は、選択された第１のパラメータの値に基づいて、加工プログラムの工程を生成する。ステップＳ１６において、加工プログラム記憶部２５は、加工プログラム生成部２３において生成された加工プログラムを記憶する。以上により、加工プログラム生成装置２０は、図３に示す手順による加工プログラム生成処理を終了する。
【００４８】
次に、加工プログラム生成装置２０への編集操作の内容から学習モデルを生成する際に機械学習装置１０および加工プログラム生成装置２０が行う処理について説明する。図４は、図１に示す機械学習装置１０および加工プログラム生成装置２０が編集操作の内容から学習モデルを生成する際に行う処理の手順を示すフローチャートである。加工プログラム生成装置２０は、機械学習装置１０の学習結果を使用して加工プログラムのパラメータを推論し、推論結果を使用して加工プログラムを生成する。
【００４９】
ステップＳ２１において、パラメータ選択部２４は、作業者によって選択された第１のパラメータの値を取得する。指示入力部４０への入力操作によって選択された第１のパラメータの値は、対話操作処理部３０を経てパラメータ選択部２４に入力される。加工プログラム生成部２３は、パラメータ選択部２４から受けた第１のパラメータの値に基づいて、加工プログラムを生成する。
【００５０】
ステップＳ２２において、編集操作解析部２６は、選択された第１のパラメータの値に対応する第２のパラメータを、加工プログラムまたはＣＡＤデータ２から抽出する。すなわち、編集操作解析部２６は、第１のパラメータに対応する第２のパラメータを抽出する。編集操作解析部２６は、作業者が選択した第１のパラメータの値と、抽出した第２のパラメータとを機械学習部１４へ入力する。
【００５１】
ステップＳ２３において、機械学習部１４は、入力された第１のパラメータの値と第２のパラメータとを用いて、機械学習処理を行う。機械学習部１４は、第１のパラメータと第２のパラメータとを含むデータセットを生成する。機械学習部１４は、学習モデル記憶部１５から学習モデルを読み出す。機械学習部１４は、データセットに基づいた追加学習を行うことによって、学習モデルを更新する。学習モデル記憶部１５は、追加学習によって更新された学習モデルを記憶する。なお、学習モデル記憶部１５に学習モデルが記憶されていない場合、機械学習部１４は、データセットに基づいた学習によって、新規の学習モデルを生成する。学習モデル記憶部１５は、新規の学習モデルを記憶する。以上により、機械学習装置１０および加工プログラム生成装置２０は、編集操作の内容から学習モデルを生成または更新する際における処理を終了する。
【００５２】
次に、機械学習装置１０が行う学習モデル生成処理の詳細について説明する。図５は、図１に示す機械学習装置１０が行う学習モデル生成処理の詳細を示すフローチャートである。ここでは、図６に示す加工プログラムを使用して、図５に示す動作について説明する。図６は、図１に示す機械学習装置１０が読み込む加工プログラムの例を示す図である。図６に示す加工プログラムは、タップ加工を行うための数値制御プログラムであり、複数のパラメータの各々についてのパラメータ名とパラメータの値とを含む。
【００５３】
ステップＳ３１において、加工プログラム入力部１１は、図示しない記憶領域から、複数の加工プログラム１を読み込む。加工プログラム記憶部１２は、加工プログラム１を編集した作業者に対応付けて、加工プログラム１を記憶する。ステップＳ３２において、加工プログラム解析部１３は、加工プログラム記憶部１２に記憶された複数の加工プログラム１のそれぞれからパラメータを抽出する。
【００５４】
図６に示す加工プログラムから抽出されるパラメータは、例えば、素材に関するパラメータ、加工に関するパラメータ、工具に関するパラメータ、加工位置に関するパラメータである。素材に関するパラメータは、素材材質「ＦＣ２５０」、素材外径「４３８」、素材内径「３５２」、素材長さ「５３０」、素材端面「３０」、および、素材回転数「１００」である。加工に関するパラメータは、ユニット番号「９」、加工種類「タップ加工」、加工モード「ＸＣ」、タップ呼び「Ｍ１６」、外径「１６」、ピッチ「２」、ネジ深さ「４５」、および、面取り「０．９」である。工具に関するパラメータは、工具シーケンス番号「２」、工具種類「ドリル」、呼び径「１４」、工具Ｎｏ．「８」、加工穴径「１４」、加工穴深さ「４２．７」、下穴径「０」、下穴深さ「１００」、ドリル加工方法「深穴加工」、１回あたりの切込み深さ「７．１」、周速「６０」、送り「０．２２」、および、Ｍコード「Ｍ４５」である。加工位置に関するパラメータは、形状パターン「円弧」、始点位置座標ｘ「２０２．５」、始点位置座標ｙ「２２５」、始点位置座標ｚ「０」、個数「２」、および、角度「９０」である。抽出されるパラメータには、加工プログラムを編集した作業者名、加工プログラムを使用する機械の種類も含まれる。
【００５５】
図５の説明に戻る。ステップＳ３３において、加工プログラム解析部１３は、抽出したパラメータの中から、調整対象のパラメータである第１のパラメータごとに、調整対象外のパラメータである第２のパラメータを絞り込む。
【００５６】
図６に示す例において、「ドリル加工方法」が第１のパラメータであって、「ドリル加工方法」の値が「０」から「３」の４個の値のいずれかであるとする。「０」はドリルサイクル、「１」は高速深穴サイクル、「２」は深穴サイクル、「３」は超深穴サイクルをそれぞれ表す。この場合において、第１のパラメータに基づいて絞り込まれる第２のパラメータは、素材材質「ＦＣ２５０」、素材外径「４３８」、素材内径「３５２」、素材長さ「５３０」、素材端面「３０」、加工種類「タップ加工」、加工穴径「１４」、加工穴深さ「４２．７」である。
【００５７】
旋削ドリルと旋削端面との順序を表す「旋削ドリルと旋削端面の加工順」が第１のパラメータであって、「旋削ドリルと旋削端面の加工順」の値が「０」または「１」とする。「０」は、旋削ドリルを先、旋削端面を後とする順序、「１」は、旋削端面を先、旋削ドリルを後とする順序をそれぞれ表す。この場合において、第１のパラメータに基づいて絞り込まれる第２のパラメータは、素材材質、素材外径、素材内径、素材長さ、素材端面、加工穴径、加工穴深さとすることができる。
【００５８】
「加工部位」が第１のパラメータであって、「加工部位」の値が「０」から「３」の４個の値のいずれかであるとする。「０」は外径、「１」は内径、「２」は正面、「３」は背面をそれぞれ表す。この場合において、第１のパラメータに基づいて絞り込まれる第２のパラメータは、素材材質、素材外径、素材内径、径方向取り代、軸方向取り代とすることができる。
【００５９】
旋削による加工方法である「旋削棒材加工と旋削溝入れ加工」が第１のパラメータであって、「旋削棒材加工と旋削溝入れ加工」の値が「０」または「１」とする。「０」は旋削棒材加工、「１」は旋削溝入れ加工をそれぞれ表す。この場合において、第１のパラメータに基づいて絞り込まれる第２のパラメータは、素材材質、素材外径、素材内径、径方向取り代、軸方向取り代とすることができる。
【００６０】
なお、パラメータを抽出する方法は、入力パターンから得られたパラメータから機械学習に有効な特徴を選択する方法であり、総当たり法、前向き逐次特徴選択法、後ろ向き逐次特徴選択法などである。また、パラメータを抽出する方法としては、評価関数を設定して特徴変換パラメータを更新する機械学習に基づく方法もある。評価関数にパラメータのＬ１ノルムを正則化項として加えた「Lasso」と呼ばれる方法では、多くのパラメータの値がゼロとなるスパースな特徴変換を行うことができる。さらに、いくつかのパラメータをグループ化して「Lasso」を行うことで、グループ毎に値をゼロとする「Group  Lasso」と呼ばれる方法も提案されている。また、作業者の経験に基づいてパラメータを抽出する方法もある。
【００６１】
「加工方法」が第１のパラメータであって、「加工方法」の値が「０」から「３９」の４０個の値のいずれかであるとする。「０」から「１１」は穴加工の加工方法、「１２」から「２０」は線加工の加工方法、「２１」から「２８」は面加工の加工方法、「２９」から「３６」は旋削加工の加工方法、「３７」から「４０」は穴加工、線加工、面加工および旋削加工以外の加工方法をそれぞれ表す。この場合において、加工プログラム解析部１３は、「加工方法」の値を、加工プログラム１の先頭から順に抽出することができる。
【００６２】
また、第１のパラメータは、「ドリル加工方法」、「旋削ドリルと旋削端面の加工順」、「加工部位」、「旋削棒材加工と旋削溝入れ加工」、「加工方法」だけでなく、加工プログラムの生成に関する項目であって、調整対象のパラメータであれば良い。例えば、第１のパラメータは、「旋削加工の素材の回転数」、「旋削工具の呼び」、「切込−Ｘ」、「切込−Ｚ」、「仕上げ代−Ｘ」、「仕上げ代−Ｚ」、「周速」、「送り」などでも良い。旋削加工または穴加工だけでなく、線加工、面加工、ヘッド選択、ワーク移動などの、加工プログラムに関する全ての項目が第１のパラメータとなり得る。また、第１のパラメータは、整数値だけでなく、線形回帰を用いれば実数値でもよい。
【００６３】
図５の説明に戻る。ステップＳ３４において、加工プログラム解析部１３は、第１のパラメータと、第１のパラメータに基づいて絞り込まれた第２のパラメータとを用いて、第１のパラメータおよび第２のパラメータを含むデータセットを生成する。加工プログラム解析部１３は、生成したデータセットを機械学習部１４に入力する。
【００６４】
ステップＳ３５において、機械学習部１４は、加工プログラム解析部１３から入力されるデータセットに従って、機械学習処理を行う。機械学習部１４は、機械学習処理によって、第１のパラメータごとに、第１のパラメータと第２のパラメータとの関係を示す学習モデルを生成する。ステップＳ３６において、学習モデル記憶部１５は、生成された学習モデルを記憶する。なお、加工プログラム１から学習モデルを生成する技術は、特許第６５９９０６９号公報などに示されている技術を使用することができる。
【００６５】
次に、加工プログラム生成装置２０が行う加工プログラム生成処理の詳細について説明する。図７は、図１に示す加工プログラム生成部２３が行う加工プログラム生成処理の詳細を示すフローチャートである。以下では、工具を回転させながら工具を移動することによって加工対象物を削るミーリング加工に関する加工プログラム生成処理の例を説明する。
【００６６】
ステップＳ４１において、加工プログラム生成部２３は、加工形状データ記憶部２２に記憶されたＣＡＤデータ２を読み込む。ＣＡＤデータ２は、加工前の素材の形状と加工後の加工対象物の形状とを含む設計データである。図８は、図１に示すＣＡＤデータ２に基づいて生成される加工後の加工対象物の形状を示す斜視図である。以下、加工後の加工対象物の形状を、加工形状と称する。図８には、具体例にかかる加工形状ＳＨ１を示す。
【００６７】
図７の説明に戻る。ステップＳ４２において、加工プログラム生成部２３は、読み込んだＣＡＤデータ２に基づいて、図８に示すような加工形状ＳＨ１を生成する。加工プログラム生成部２３は、プログラム原点に加工形状ＳＨ１を配置する。プログラム原点は、プログラム座標系の加工原点である。なお、ステップＳ４２からステップＳ４５において、形状の生成とは、仮想空間における形状の生成を指すものとする。
【００６８】
プログラム座標系は、Ｘ軸、Ｙ軸およびＺ軸の３軸の直交座標系である。Ｘ軸方向は、図中横方向である。Ｘ軸方向におけるプラスは、横方向のうち右の方とする。Ｙ軸方向は、図中前後方向である。Ｙ軸方向におけるプラスは、前後方向のうち後の方とする。Ｚ軸方向は、図中上下方向である。Ｚ軸方向におけるプラスは、上下方向のうち上の方とする。
【００６９】
加工プログラム生成部２３は、加工形状ＳＨ１のうち、Ｘ軸座標が最小となる部位とＹ軸座標が最小となる部位とＺ軸座標が最大となる部位とがプログラム原点に一致するように加工形状ＳＨ１を配置することによって、加工形状ＳＨ１をプログラム原点に配置する。
【００７０】
図７の説明に戻る。ステップＳ４３において、加工プログラム生成部２３は、読み込んだＣＡＤデータ２に基づいて、加工前の素材の形状を生成する。以下、加工前の素材の形状を、素材形状と称する。素材形状は、具体的には、プログラム原点に配置された加工形状ＳＨ１を包含する３次元の直方体形状である。加工プログラム生成部２３は、生成された素材形状を、加工形状ＳＨ１と同様にプログラム座標系に配置する。
【００７１】
図９は、図１に示すＣＡＤデータ２に基づいて生成される素材形状を示す斜視図である。図９には、具体例にかかる素材形状ＳＨ２を示す。素材形状ＳＨ２の寸法は、Ｘ軸方向、Ｙ軸方向およびＺ軸方向の各方向における、加工形状ＳＨ１の座標の最大値および最小値に基づいて求めることができる。
【００７２】
加工形状ＳＨ１の上面を仕上げる上面加工が行われるため、Ｚ軸方向における素材形状ＳＨ２の寸法は、加工形状ＳＨ１よりも２ｍｍから３ｍｍ程度大きい寸法とする。加工プログラム生成部２３は、＋Ｚ軸方向側における素材形状ＳＨ２の上面がプログラム原点と一致するように素材形状ＳＨ２を配置する。このため、加工プログラム生成部２３は、素材形状ＳＨ２の上面から−Ｚ軸方向に加工形状ＳＨ１を平行移動させる。具体的には、加工プログラム生成部２３は、−Ｚ軸方向に２ｍｍから３ｍｍ、加工形状ＳＨ１を平行移動させる。ここでは、素材形状ＳＨ２は、Ｘ軸方向の寸法が８０ｍｍ、Ｙ軸方向の寸法が６０ｍｍ、Ｚ軸方向の寸法が２３ｍｍとする。素材材質はＳ４５Ｃとする。
【００７３】
図７の説明に戻る。ステップＳ４４において、加工プログラム生成部２３は、素材形状ＳＨ２から除去される部分の形状を生成する。以下、除去される部分の形状を、加工除去形状と称する。図１０は、図１に示す加工プログラム生成部２３によって生成される加工除去形状を示す斜視図である。図１０には、具体例にかかる加工除去形状ＳＨ３を示す。加工プログラム生成部２３は、素材形状ＳＨ２のソリッドモデルから加工形状ＳＨ１のソリッドモデルを差し引く差演算によって、加工除去形状ＳＨ３を求めることができる。
【００７４】
図７の説明に戻る。ステップＳ４５において、加工プログラム生成部２３は、工程ごとの除去される部分の形状を生成する。以下、工程ごとの除去される部分の形状を、工程形状と称する。加工形状ＳＨ１は、複数の工程によって素材形状ＳＨ２から削り出される。工程形状は、複数の工程の各々において除去される部分の形状である。
【００７５】
ここで、面を削り出す第１および第２の面加工と、穴あけを行う穴加工と、座ぐり穴を形成する座ぐり穴加工との各工程によって加工形状ＳＨ１が形成される場合における各工程形状について説明する。第１の面加工によって除去される部分の形状を第１の工程形状、第２の面加工によって除去される部分の形状を第２の工程形状、穴加工によって除去される部分の形状を第３の工程形状、座ぐり穴加工によって除去される部分の形状を第４の工程形状とする。
【００７６】
図１１は、図１に示す加工プログラム生成部２３によって生成される第１の工程形状を示す斜視図である。図１１に示す工程形状ＳＨ４は、第１の工程形状の具体例である。図１２は、図１に示す加工プログラム生成部２３によって生成される第２の工程形状を示す斜視図である。図１２に示す工程形状ＳＨ５は、第２の工程形状の具体例である。図１３は、図１に示す加工プログラム生成部２３によって生成される第３の工程形状を示す斜視図である。図１３に示す工程形状ＳＨ６は、第３の工程形状の具体例である。図１４は、図１に示す加工プログラム生成部２３によって生成される第４の工程形状を示す斜視図である。図１４に示す工程形状ＳＨ７は、第４の工程形状の具体例である。加工除去形状ＳＨ３は、工程形状ＳＨ４と、工程形状ＳＨ５と、工程形状ＳＨ６と、工程形状ＳＨ７とを組み合わせた形状である。
【００７７】
工程形状ＳＨ６は、４つの円柱形状ＳＨ６１，ＳＨ６２，ＳＨ６３，ＳＨ６４を含む。工程形状ＳＨ７は、２つの段付き円柱形状ＳＨ７１，ＳＨ７２を含む。加工プログラム生成部２３は、あらかじめ設定された直径以下の複数の円柱形状を加工除去形状ＳＨ３から抽出して、複数の円柱形状を、円柱形状ＳＨ６１，ＳＨ６２，ＳＨ６３，ＳＨ６４と段付き円柱形状ＳＨ７１，ＳＨ７２との各々に分割する。段付き円柱形状ＳＨ７１，ＳＨ７２は、互いに異なる直径の２つの円柱形状をＺ軸方向において隣接させたものである。加工プログラム生成部２３は、隣接する円柱形状は１つの形状として扱う。このようにして、加工プログラム生成部２３は、工程形状ＳＨ６と工程形状ＳＨ７とを生成する。
【００７８】
次に、加工プログラム生成部２３は、加工除去形状ＳＨ３のうち工程形状ＳＨ６，ＳＨ７が除かれることによって残された段付き形状の部分を分割する。当該段付き形状における段の高さ方向は、Ｚ軸方向である。加工プログラム生成部２３は、Ｚ軸方向に垂直なＸＹ平面により当該段付き形状を２つに分割する。このようにして、加工プログラム生成部２３は、工程形状ＳＨ４と工程形状ＳＨ５とを生成する。なお、第１の面加工は、上記の上面加工である。第２の面加工は、工程形状ＳＨ４よりも−Ｚ軸方向側の部分を矩形にくり抜く加工である。かかる矩形における四隅の各々には、丸みが付けられている。
【００７９】
図７の説明に戻る。パラメータ選択部２４は、第１のパラメータを推論するための第２のパラメータを、加工プログラムまたはＣＡＤデータ２から取得する。パラメータ選択部２４は、推論する第１のパラメータを指定して、推論部２７に第２のパラメータを入力する。ステップＳ４６において、パラメータ選択部２４は、推論結果である第１のパラメータの値を推論部２７から取得する。
【００８０】
ここで、パラメータ選択部２４が、推論する第１のパラメータである「面加工方法」を指定したとする。パラメータ選択部２４は、第１のパラメータを推論するための第２のパラメータとして、素材材質「Ｓ４５Ｃ」、工程形状ＳＨ４の上面座標「８０．０，６０．０，０．０」、工程形状ＳＨ４の下面座標「０．０，０．０，−３．０」、工程形状ＳＨ４のＸ軸方向寸法「８０．０」、工程形状ＳＨ４のＹ軸方向寸法「６０．０」、工程形状ＳＨ４のＺ軸方向寸法「３．０」、水平方向において工程形状ＳＨ４と隣接する形状「無」、工程形状ＳＨ４に含まれる山形状「無」、工程形状ＳＨ４に含まれる谷形状「無」の各パラメータを取得する。パラメータ選択部２４は、これらの第２のパラメータを含む入力データを推論部２７へ入力する。
【００８１】
なお、パラメータ選択部２４は、素材形状が生成される際に設定された素材材質を、第２のパラメータとして取得する。また、パラメータ選択部２４は、工程形状ＳＨ４を解析することによって、工程形状ＳＨ４の座標と寸法の値とを取得する。パラメータ選択部２４は、第２のパラメータとして、作業者名、機械の種類を取得しても良い。
【００８２】
パラメータ選択部２４は、推論結果である第１のパラメータの複数の値とともに、当該複数の値の各々についての加工プログラムへの使用の確率を推論部２７から取得する。すなわち、パラメータ選択部２４は、第１のパラメータの複数の値と確率とのセットを取得する。
【００８３】
ここで、パラメータ選択部２４が、推論結果として、第１のパラメータである「面加工方法」について「０」から「４」の５個の値を取得したとする。「０」は、フェイスミルによって平面加工を行うフェイスミル工程を表す。「１」は、エンドミルによって平面加工を行うエンドミル工程を表す。「２」は、エンドミルによる平面加工を、一部の形状を残しながら行うエンドミル山工程を表す。「３」は、エンドミルによってポケット加工を行うポケットミル工程を表す。「４」は、エンドミルによるポケット加工を、一部の形状を残しながら行うポケット山工程を表す。
【００８４】
また、パラメータ選択部２４が、推論結果として、当該５個の各値について、「０」：０．８、「１」：０．１５、「２」：０．０、「３」：０．０５、「４」：０．０の各確率を取得したとする。「０」：０．８は、加工プログラムに「０」が使用される確率が８０％であることを表す。「１」：０．１５は、加工プログラムに「１」が使用される確率が１５％であることを表す。「２」：０．０は、加工プログラムに「２」が使用される確率が０％であることを表す。「３」：０．０５は、加工プログラムに「３」が使用される確率が５％であることを表す。「４」：０．０は、加工プログラムに「４」が使用される確率が０％であることを表す。
【００８５】
ここで、推論部２７に入力される複数の第２のパラメータと、推論結果である第１のパラメータとを合わせて、プログラム生成パラメータＰＡ１２１と称する。推論部２７は、学習モデル記憶部１５に記憶された学習モデルのうち、指定された第１のパラメータに対応する学習モデルを読み出す。推論部２７は、読み出された学習モデルと、入力データである第２のパラメータとを使用して、第１のパラメータの値ごとの確率を求める。推論部２７は、第１のパラメータの各値と確率とのセットである推論結果をパラメータ選択部２４へ出力する。
【００８６】
次に、ステップＳ４７において、パラメータ選択部２４は、推論結果である第１のパラメータの値を、確率とともに提示する。パラメータ選択部２４は、第１のパラメータの各値と確率とを、対話操作処理部３０を介して表示部５０へ送る。パラメータ選択部２４は、第１のパラメータの各値と確率との一覧を表示部５０に表示させることによって、第１のパラメータの値と確率とを提示する。表示部５０は、任意の態様で、第１のパラメータの各値と確率とを表示することができる。表示部５０は、第１のパラメータの各値と確率とを、確率が高い順に並べ替えて表示しても良い。表示部５０は、第１のパラメータの各値のうち、確率があらかじめ設定された値以上である値のみを表示しても良い。作業者は、第１のパラメータの値が確率とともに提示されることによって、第１のパラメータの値を容易に選択することができる。
【００８７】
なお、パラメータ選択部２４は、推論結果である第１のパラメータの複数の値とともに、複数の値の各々が加工プログラムへ使用された場合に予想される加工時間を提示しても良い。パラメータ選択部２４は、工程形状ＳＨ４の加工をシミュレーションすることによって、予想される加工時間を求めることができる。作業者は、第１のパラメータの値が予想される加工時間とともに提示されることによって、第１のパラメータの値を容易に選択することができる。
【００８８】
作業者が、表示部５０に表示された第１のパラメータの複数の値の中から任意の値を選択すると、ステップＳ４８において、パラメータ選択部２４は、選択された第１のパラメータの値を取得する。パラメータ選択部２４は、対話操作処理部３０を介して、選択された第１のパラメータの値を取得する。例えば、作業者が、プログラム生成パラメータＰＡ１２１について、「フェイスミル工程」すなわち「０」を選択した場合、パラメータ選択部２４は、第１のパラメータである「面加工方法」について「０」を取得する。パラメータ選択部２４は、選択された値を加工プログラム生成部２３へ入力する。
【００８９】
ステップＳ４９において、加工プログラム生成部２３は、選択された第１のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部２３は、「面加工方法」について「０」を取得することによって、フェイスミル工程を生成する。
【００９０】
ステップＳ５０において、加工プログラム生成部２３は、加工プログラムに使用される全ての第１のパラメータについて工程の生成が完了したか否かを判断する。工程の生成が完了していない場合（ステップＳ５０，Ｎｏ）、加工プログラム生成装置２０は、手順をステップＳ４６に戻す。
【００９１】
加工プログラム生成装置２０は、加工プログラムに使用される全ての第１のパラメータについて工程の生成が完了するまで、ステップＳ４６からステップＳ５０の処理を繰り返す。すなわち、加工プログラム生成装置２０は、加工プログラムに使用される第１のパラメータの数だけ、ステップＳ４６からステップＳ５０の処理を繰り返す。
【００９２】
次に、パラメータ選択部２４が、推論する第１のパラメータである「フェイスミル工程の仕上げ代」を指定したとする。パラメータ選択部２４は、第１のパラメータを推論するための第２のパラメータとして、素材材質「Ｓ４５Ｃ」、取り代−Ｚ「３．０」、工程形状ＳＨ４の上面座標「８０．０，６０．０，０．０」、工程形状ＳＨ４の下面座標「０．０，０．０，−３．０」、工程形状ＳＨ４のＸ軸方向寸法「８０．０」、工程形状ＳＨ４のＹ軸方向寸法「６０．０」、工程形状ＳＨ４のＺ軸方向寸法「３．０」、水平方向において工程形状ＳＨ４に隣接する形状「無」、工程形状ＳＨ４に含まれる山形状「無」、工程形状ＳＨ４に含まれる谷形状「無」、工程形状ＳＨ４の底面粗さ「１．６」の各パラメータを取得する。パラメータ選択部２４は、これらの第２のパラメータを含む入力データを推論部２７へ入力する。
【００９３】
なお、パラメータ選択部２４は、底面粗さは工程形状ＳＨ４の下面に対応する加工形状ＳＨ１の面の属性である底面粗さ情報を、第２のパラメータとして取得する。パラメータ選択部２４は、例えば、算出平均粗さＲａの値を底面粗さとして取得する。
【００９４】
ステップＳ４６において、パラメータ選択部２４は、推論結果である第１のパラメータの値を推論部２７から取得する。ここで、パラメータ選択部２４が、推論結果として、第１のパラメータである「仕上げ代」として「０．３」の値を取得したとする。推論部２７に入力される複数の第２のパラメータと、推論結果である第１のパラメータとを合わせて、プログラム生成パラメータＰＡ１２２と称する。推論部２７は、学習モデル記憶部１５に記憶された学習モデルのうち、指定された第１のパラメータに対応する学習モデルを読み出す。推論部２７は、推論結果である第１のパラメータの値をパラメータ選択部２４へ出力する。推論部２７は、第１のパラメータが連続値である場合、回帰の機械学習を行い、推論結果である数値をパラメータ選択部２４へ出力する。
【００９５】
次に、ステップＳ４７において、パラメータ選択部２４は、推論結果である第１のパラメータの値を提示する。パラメータ選択部２４は、第１のパラメータの値を、対話操作処理部３０を介して表示部５０へ送る。パラメータ選択部２４は、第１のパラメータの値を表示部５０に表示させることによって、第１のパラメータの値を提示する。
【００９６】
作業者が、表示部５０に表示された第１のパラメータの値をそのまま設定値に決定した場合、または、表示部５０に表示された第１のパラメータの値ではなく任意の値を設定値に決定した場合、ステップＳ４８において、パラメータ選択部２４は、対話操作処理部３０を介して設定値を取得する。例えば、作業者が、プログラム生成パラメータＰＡ１２２について「０．３」を設定値として決定すると、パラメータ選択部２４は、「仕上げ代」についての設定値である「０．３」を取得する。パラメータ選択部２４は、加工プログラム生成部２３へ設定値を入力する。
【００９７】
ステップＳ４９において、加工プログラム生成部２３は、第１のパラメータの設定値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部２３は、「仕上げ代」の値である「０．３」を取得することによって、フェイスミル工程の仕上げ代Ｚ値を０．３に設定する。
【００９８】
次に、パラメータ選択部２４が、推論する第１のパラメータである「フェイスミル工程の工具呼び径」を指定したとする。パラメータ選択部２４は、第１のパラメータを推論するための第２のパラメータとして、素材材質「Ｓ４５Ｃ」、取り代−Ｚ「３．０」、工程形状ＳＨ４の上面座標「８０．０，６０．０，０．０」、工程形状ＳＨ４の下面座標「０．０，０．０，−３．０」、工程形状ＳＨ４のＸ軸方向寸法「８０．０」、工程形状ＳＨ４のＹ軸方向寸法「６０．０」、工程形状ＳＨ４のＺ軸方向寸法「３．０」、水平方向において工程形状ＳＨ４と隣接する形状「無」、工程形状ＳＨ４に含まれる山形状「無」、工程形状ＳＨ４に含まれる谷形状「無」、工具用途「荒」の各パラメータを取得する。パラメータ選択部２４は、これらの第２のパラメータを含む入力データを推論部２７へ入力する。
【００９９】
ステップＳ４６において、パラメータ選択部２４は、推論結果である第１のパラメータの値を推論部２７から取得する。パラメータ選択部２４は、推論結果である第１のパラメータの複数の値とともに、当該複数の値の各々についての加工プログラムへの使用の確率を推論部２７から取得する。
【０１００】
ここで、パラメータ選択部２４が、推論結果として、第１のパラメータである「フェイスミル工程の工具呼び径」について「３０」、「４０」、「５０」、「６０」の４個の値を取得したとする。各値は、フェイスミル工程の工具呼び径を表す。また、パラメータ選択部２４が、推論結果として、当該４個の各値について、「３０」：０．７、「４０」：０．１、「５０」：０．１、「６０」：０．０５の各確率を取得したとする。「３０」：０．７は、フェイスミル工程の工具呼び径が３０とされる確率が７０％であることを表す。「４０」：０．１は、フェイスミル工程の工具呼び径が４０とされる確率が１０％であることを表す。「５０」：０．１は、フェイスミル工程の工具呼び径が５０とされる確率が１０％であることを表す。「６０」：０．０５は、フェイスミル工程の工具呼び径が６０とされる確率が５％であることを表す。
【０１０１】
ここで、推論部２７に入力される複数の第２のパラメータと、推論結果である第１のパラメータとを合わせて、プログラム生成パラメータＰＡ１２３と称する。推論部２７は、学習モデル記憶部１５に記憶された学習モデルのうち、指定された第１のパラメータに対応する学習モデルを読み出す。推論部２７は、読み出された学習モデルと、入力データである第２のパラメータとを使用して、第１のパラメータの値ごとの確率を求める。推論部２７は、第１のパラメータの各値と確率とのセットである推論結果をパラメータ選択部２４へ出力する。
【０１０２】
次に、ステップＳ４７において、パラメータ選択部２４は、推論結果である第１のパラメータの値を、確率とともに提示する。パラメータ選択部２４は、第１のパラメータの各値と確率とを、対話操作処理部３０を介して表示部５０へ送る。パラメータ選択部２４は、第１のパラメータの各値と確率との一覧を表示部５０に表示させることによって、第１のパラメータの値と確率とを提示する。
【０１０３】
作業者が、表示部５０に表示された第１のパラメータの複数の値の中から任意の値を選択すると、ステップＳ４８において、パラメータ選択部２４は、選択された第１のパラメータの値を取得する。パラメータ選択部２４は、対話操作処理部３０を介して、選択された第１のパラメータの値を取得する。例えば、作業者が、プログラム生成パラメータＰＡ１２３について「３０」を選択した場合、パラメータ選択部２４は、第１のパラメータである「フェイスミル工程の工具呼び径」の値である「３０」を取得する。パラメータ選択部２４は、選択された値を加工プログラム生成部２３へ入力する。
【０１０４】
ステップＳ４９において、加工プログラム生成部２３は、選択された第１のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部２３は、「フェイスミル工程の工具呼び径」について「３０」を取得することによって、フェイスミル工程の荒加工における工具呼び径を「３０」に設定する。
【０１０５】
次に、パラメータ選択部２４が、推論する第１のパラメータである「フェイスミル工程の加工方法」を指定したとする。パラメータ選択部２４は、第１のパラメータを推論するための第２のパラメータとして、素材材質「Ｓ４５Ｃ」、取り代−Ｚ「３．０」、工程形状ＳＨ４の上面座標「８０．０，６０．０，０．０」、工程形状ＳＨ４の下面座標「０．０，０．０，−３．０」、工程形状ＳＨ４のＸ軸方向寸法「８０．０」、工程形状ＳＨ４のＹ軸方向寸法「６０．０」、工程形状ＳＨ４のＺ軸方向寸法「３．０」、水平方向において工程形状ＳＨ４に隣接する形状「無」、工程形状ＳＨ４に含まれる山形状「無」、工程形状ＳＨ４に含まれる谷形状「無」、加工用途「荒」の各パラメータを取得する。パラメータ選択部２４は、これらの第２のパラメータを含む入力データを推論部２７へ入力する。
【０１０６】
ステップＳ４６において、パラメータ選択部２４は、推論結果である第１のパラメータの値を推論部２７から取得する。パラメータ選択部２４は、推論結果である第１のパラメータの複数の値とともに、当該複数の値の各々についての加工プログラムへの使用の確率を推論部２７から取得する。
【０１０７】
ここで、パラメータ選択部２４が、推論結果として、第１のパラメータである「フェイスミル工程の加工方法」について、「０」から「３」の４個の値を取得したとする。「０」は、フェイスミルをＸ軸方向に往復させる切削を表す。「１」は、フェイスミルをＹ軸方向に往復させる切削を表す。「２」は、フェイスミルをＸ軸方向の１方向へ移動させる切削を表す。「３」は、フェイスミルをＹ軸方向の１方向へ移動させる切削を表す。
【０１０８】
また、パラメータ選択部２４が、推論結果として、当該４個の各値について、「０」：０．８、「１」：０．１、「２」：０．０５、「３」：０．０５の各確率を取得したとする。「０」：０．８は、加工プログラムに「０」が使用される確率が８０％であることを表す。「１」：０．１は、加工プログラムに「１」が使用される確率が１０％であることを表す。「２」：０．０５は、加工プログラムに「２」が使用される確率が５％であることを表す。「３」：０．０５は、加工プログラムに「３」が使用される確率が５％であることを表す。
【０１０９】
ここで、推論部２７に入力される複数の第２のパラメータと、推論結果である第１のパラメータとを合わせて、プログラム生成パラメータＰＡ１２４と称する。推論部２７は、学習モデル記憶部１５に記憶された学習モデルのうち、指定された第１のパラメータに対応する学習モデルを読み出す。推論部２７は、読み出された学習モデルと、入力データである第２のパラメータとを使用して、第１のパラメータの値ごとの確率を求める。推論部２７は、第１のパラメータの各値と確率とのセットである推論結果をパラメータ選択部２４へ出力する。
【０１１０】
次に、ステップＳ４７において、パラメータ選択部２４は、推論結果である第１のパラメータの値を、確率とともに提示する。パラメータ選択部２４は、第１のパラメータの各値と確率とを、対話操作処理部３０を介して表示部５０へ送る。パラメータ選択部２４は、第１のパラメータの各値と確率との一覧を表示部５０に表示させることによって、第１のパラメータの値と確率とを提示する。
【０１１１】
作業者が、表示部５０に表示された第１のパラメータの複数の値の中から任意の値を選択すると、ステップＳ４８において、パラメータ選択部２４は、選択された第１のパラメータの値を取得する。パラメータ選択部２４は、対話操作処理部３０を介して、選択された第１のパラメータの値を取得する。例えば、作業者が、プログラム生成パラメータＰＡ１２４について、フェイスミルをＸ軸方向に往復させる切削、すなわち「０」を選択した場合、パラメータ選択部２４は、選択された値である「０」を取得する。パラメータ選択部２４は、選択された値を加工プログラム生成部２３へ入力する。
【０１１２】
ステップＳ４９において、加工プログラム生成部２３は、選択された第１のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部２３は、「フェイスミル工程の加工方法」について「０」を取得することによって、フェイスミル工程の荒加工における加工方法を「Ｘ軸方向往復」に設定する。
【０１１３】
次に、パラメータ選択部２４が、推論する第１のパラメータである「フェイスミル工程の工具呼び径」を指定したとする。パラメータ選択部２４は、第１のパラメータを推論するための第２のパラメータとして、素材材質「Ｓ４５Ｃ」、取り代−Ｚ「３．０」、工程形状ＳＨ４の上面座標「８０．０，６０．０，０．０」、工程形状ＳＨ４の下面座標「０．０，０．０，−３．０」、工程形状ＳＨ４のＸ軸方向寸法「８０．０」、工程形状ＳＨ４のＹ軸方向寸法「６０．０」、工程形状ＳＨ４のＺ軸方向寸法「３．０」、水平方向において工程形状ＳＨ４と隣接する形状「無」、工程形状ＳＨ４に含まれる山形状「無」、工程形状ＳＨ４に含まれる谷形状「無」、工具用途「仕上げ」の各パラメータを取得する。パラメータ選択部２４は、これらの第２のパラメータを含む入力データを推論部２７へ入力する。
【０１１４】
ステップＳ４６において、パラメータ選択部２４は、推論結果である第１のパラメータの値を推論部２７から取得する。パラメータ選択部２４は、推論結果である第１のパラメータの複数の値とともに、当該複数の値の各々についての加工プログラムへの使用の確率を推論部２７から取得する。
【０１１５】
ここで、パラメータ選択部２４が、推論結果として、第１のパラメータである「フェイスミル工程の工具呼び径」について「３０」、「４０」、「５０」、「６０」の４個の値を取得したとする。各値は、フェイスミルの工具呼び径を表す。また、パラメータ選択部２４が、推論結果として、当該４個の各値について、「３０」：０．８、「４０」：０．２、「５０」：０．０、「６０」：０．０の各確率を取得したとする。「３０」：０．８は、フェイスミル工程の工具呼び径が３０とされる確率が８０％であることを表す。「４０」：０．２は、フェイスミル工程の工具呼び径が４０とされる確率が２０％であることを表す。「５０」：０．０は、フェイスミル工程の工具呼び径が５０とされる確率が０％であることを表す。「６０」：０．０は、フェイスミル工程の工具呼び径が６０とされる確率が０％であることを表す。
【０１１６】
ここで、推論部２７に入力される複数の第２のパラメータと、推論結果である第１のパラメータとを合わせて、プログラム生成パラメータＰＡ１２５と称する。推論部２７は、学習モデル記憶部１５に記憶された学習モデルのうち、指定された第１のパラメータに対応する学習モデルを読み出す。推論部２７は、読み出された学習モデルと、入力データである第２のパラメータとを使用して、第１のパラメータの値ごとの確率を求める。推論部２７は、第１のパラメータの各値と確率とのセットである推論結果をパラメータ選択部２４へ出力する。
【０１１７】
次に、ステップＳ４７において、パラメータ選択部２４は、推論結果である第１のパラメータの値を、確率とともに提示する。パラメータ選択部２４は、第１のパラメータの各値と確率とを、対話操作処理部３０を介して表示部５０へ送る。パラメータ選択部２４は、第１のパラメータの各値と確率との一覧を表示部５０に表示させることによって、第１のパラメータの値と確率とを提示する。
【０１１８】
作業者が、表示部５０に表示された第１のパラメータの複数の値の中から任意の値を選択すると、ステップＳ４８において、パラメータ選択部２４は、選択された第１のパラメータの値を取得する。パラメータ選択部２４は、対話操作処理部３０を介して、選択された第１のパラメータの値を取得する。例えば、作業者が、プログラム生成パラメータＰＡ１２５について「３０」を選択した場合、パラメータ選択部２４は、第１のパラメータである「フェイスミル工程の工具呼び径」の値である「３０」を取得する。パラメータ選択部２４は、選択された値を加工プログラム生成部２３へ入力する。
【０１１９】
ステップＳ４９において、加工プログラム生成部２３は、選択された第１のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部２３は、「フェイスミル工程の工具呼び径」について「３０」を取得することによって、フェイスミル工程の仕上げ加工における工具呼び径を「３０」と設定する。
【０１２０】
工程の生成が完了していない場合（ステップＳ５０，Ｎｏ）において、次に、パラメータ選択部２４が、推論する第１のパラメータである「フェイスミルの加工方法」を指定したとする。パラメータ選択部２４は、第１のパラメータを推論するための第２のパラメータとして、素材材質「Ｓ４５Ｃ」、取り代−Ｚ「３．０」、工程形状ＳＨ４の上面座標「８０．０，６０．０，０．０」、工程形状ＳＨ４の下面座標「０．０，０．０，−３．０」、工程形状ＳＨ４のＸ軸方向寸法「８０．０」、工程形状ＳＨ４のＹ軸方向寸法「６０．０」、工程形状ＳＨ４のＺ軸方向寸法「３．０」、水平方向において工程形状ＳＨ４に隣接する形状「無」、工程形状ＳＨ４に含まれる山形状「無」、工程形状ＳＨ４に含まれる谷形状「無」、加工用途「仕上げ」の各パラメータを取得する。パラメータ選択部２４は、これらの第２のパラメータを含む入力データを推論部２７へ入力する。
【０１２１】
ステップＳ４６において、パラメータ選択部２４は、推論結果である第１のパラメータの値を推論部２７から取得する。パラメータ選択部２４は、推論結果である第１のパラメータの複数の値とともに、当該複数の値の各々についての加工プログラムへの使用の確率を推論部２７から取得する。
【０１２２】
ここで、パラメータ選択部２４が、推論結果として、第１のパラメータである「フェイスミルの加工方法」について、「０」から「３」の４個の値を取得したとする。「０」は、フェイスミルをＸ軸方向に往復させる切削を表す。「１」は、フェイスミルをＹ軸方向に往復させる切削を表す。「２」は、フェイスミルをＸ軸方向の１方向へ移動させる切削を表す。「３」は、フェイスミルをＹ軸方向の１方向へ移動させる切削を表す。
【０１２３】
また、パラメータ選択部２４が、推論結果として、当該４個の各値について、「０」：０．９、「１」：０．１、「２」：０．０、「３」：０．０の各確率を取得したとする。「０」：０．９は、加工プログラムに「０」が使用される確率が９０％であることを表す。「１」：０．１は、加工プログラムに「１」が使用される確率が１０％であることを表す。「２」：０．０は、加工プログラムに「２」が使用される確率が０％であることを表す。「３」：０．０は、加工プログラムに「３」が使用される確率が０％であることを表す。
【０１２４】
ここで、推論部２７に入力される複数の第２のパラメータと、推論結果である第１のパラメータとを合わせて、プログラム生成パラメータＰＡ１２６と称する。推論部２７は、学習モデル記憶部１５に記憶された学習モデルのうち、指定された第１のパラメータに対応する学習モデルを読み出す。推論部２７は、読み出された学習モデルと、入力データである第２のパラメータとを使用して、第１のパラメータの値ごとの確率を求める。推論部２７は、第１のパラメータの各値と確率とのセットである推論結果をパラメータ選択部２４へ出力する。
【０１２５】
次に、ステップＳ４７において、パラメータ選択部２４は、推論結果である第１のパラメータの値を、確率とともに提示する。パラメータ選択部２４は、第１のパラメータの各値と確率とを、対話操作処理部３０を介して表示部５０へ送る。パラメータ選択部２４は、第１のパラメータの各値と確率との一覧を表示部５０に表示させることによって、第１のパラメータの値と確率とを提示する。
【０１２６】
作業者が、表示部５０に表示された第１のパラメータの複数の値の中から任意の値を選択すると、ステップＳ４８において、パラメータ選択部２４は、選択された第１のパラメータの値を取得する。パラメータ選択部２４は、対話操作処理部３０を介して、選択された第１のパラメータの値を取得する。例えば、作業者が、プログラム生成パラメータＰＡ１２６について「０」を選択した場合、パラメータ選択部２４は、選択された値である「０」を取得する。パラメータ選択部２４は、選択された値を加工プログラム生成部２３へ入力する。
【０１２７】
ステップＳ４９において、加工プログラム生成部２３は、選択された第１のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部２３は、「フェイスミル工程の加工方法」について「０」を取得することによって、フェイスミル工程の仕上げ加工における加工方法を「Ｘ軸方向往復」に設定する。
【０１２８】
加工プログラム生成装置２０は、工程形状ＳＨ４についての工程の生成が完了すると、工程形状ＳＨ４の場合と同様に、工程形状ＳＨ５についてもステップＳ４６からステップＳ５０の処理を繰り返す。これにより、加工プログラム生成装置２０は、工程形状ＳＨ５について、ポケットミル工程の仕上げ代、ポケットミル工程の荒加工における工具呼び径、ポケットミル工程の仕上げ加工における加工方法、ポケットミル工程の仕上げ加工における工具呼び径、ポケットミル工程の仕上げ加工における加工方法を設定する。
【０１２９】
工程形状ＳＨ４，ＳＨ５についての工程の生成が完了すると、パラメータ選択部２４は、工程形状ＳＨ６１について、推論する第１のパラメータである「穴加工方法」を指定する。パラメータ選択部２４は、第１のパラメータを推論するための第２のパラメータとして、素材材質「Ｓ４５Ｃ」、工程形状ＳＨ６１の上面の中心座標「７．０，７．０，−３．０」、工程形状ＳＨ６１の下面の中心座標「７．０，７．０，−２３．０」、工程形状ＳＨ６１の穴径「６．４」、工程形状ＳＨ６１の穴深さ「２３．０」、工程形状ＳＨ６１の座穴径「０．０」、工程形状ＳＨ６１の座穴深さ「０．０」の各パラメータを取得する。パラメータ選択部２４は、これらの第２のパラメータを含む入力データを推論部２７へ入力する。
【０１３０】
ステップＳ４６において、パラメータ選択部２４は、推論結果である第１のパラメータの値を推論部２７から取得する。パラメータ選択部２４は、推論結果である第１のパラメータの複数の値とともに、当該複数の値の各々についての加工プログラムへの使用の確率を推論部２７から取得する。
【０１３１】
ここで、パラメータ選択部２４が、推論結果として、第１のパラメータである「穴加工方法」について「０」から「３」の４個の値を取得したとする。「０」は、ドリルによる穴加工を行うドリル工程を表す。「１」は、座ぐり穴を形成するための穴加工を行う座ぐり穴工程を表す。「２」は、リーマによる仕上げ加工を行うリーマ工程を表す。「３」は、タップによるねじ切り加工を行うタップ工程を表す。
【０１３２】
また、パラメータ選択部２４が、推論結果として、当該４個の各値について、「０」：０．６、「１」：０．０５、「２」：０．１、「３」：０．２５の各確率を取得したとする。「０」：０．６は、加工プログラムに「０」が使用される確率が６０％であることを表す。「１」：０．０５は、加工プログラムに「１」が使用される確率が５％であることを表す。「２」：０．１は、加工プログラムに「２」が使用される確率が１０％であることを表す。「３」：０．２５は、加工プログラムに「３」が使用される確率が２５％であることを表す。
【０１３３】
ここで、推論部２７に入力される複数の第２のパラメータと、推論結果である第１のパラメータとを合わせて、プログラム生成パラメータＰＡ１３１と称する。推論部２７は、学習モデル記憶部１５に記憶された学習モデルのうち、指定された第１のパラメータに対応する学習モデルを読み出す。推論部２７は、読み出された学習モデルと、入力データである第２のパラメータとを使用して、第１のパラメータの値ごとの確率を求める。推論部２７は、第１のパラメータの各値と確率とのセットである推論結果をパラメータ選択部２４へ出力する。
【０１３４】
次に、ステップＳ４７において、パラメータ選択部２４は、推論結果である第１のパラメータの値を、確率とともに提示する。パラメータ選択部２４は、第１のパラメータの各値と確率とを、対話操作処理部３０を介して表示部５０へ送る。パラメータ選択部２４は、第１のパラメータの各値と確率との一覧を表示部５０に表示させることによって、第１のパラメータの値と確率とを提示する。
【０１３５】
作業者が、表示部５０に表示された第１のパラメータの複数の値の中から任意の値を選択すると、ステップＳ４８において、パラメータ選択部２４は、選択された第１のパラメータの値を取得する。パラメータ選択部２４は、対話操作処理部３０を介して、選択された第１のパラメータの値を取得する。例えば、作業者が、プログラム生成パラメータＰＡ１３１についてドリル工程、すなわち「０」を選択した場合、パラメータ選択部２４は、選択された値である「０」を取得する。パラメータ選択部２４は、選択された値を加工プログラム生成部２３へ入力する。
【０１３６】
ステップＳ４９において、加工プログラム生成部２３は、選択された第１のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部２３は、「穴加工方法」について「０」を取得することによって、工程形状ＳＨ６１の穴加工方法を「ドリル工程」に設定する。
【０１３７】
次に、パラメータ選択部２４が、推論する第１のパラメータである「ドリルの呼び径」を指定したとする。パラメータ選択部２４は、第１のパラメータを推論するための第２のパラメータとして、素材材質「Ｓ４５Ｃ」、工程形状ＳＨ６１の穴径「６．４」、工程形状ＳＨ６１の穴深さ「２３．０」、工程形状ＳＨ６１の座穴径「０．０」、工程形状ＳＨ６１の座穴深さ「０．０」の各パラメータを取得する。パラメータ選択部２４は、これらの第２のパラメータを含む入力データを推論部２７へ入力する。
【０１３８】
ステップＳ４６において、パラメータ選択部２４は、推論結果である第１のパラメータの値を推論部２７から取得する。ここで、パラメータ選択部２４が、推論結果として、第１のパラメータである「ドリルの呼び径」として「６．０」の値を取得したとする。推論部２７に入力される複数の第２のパラメータと、推論結果である第１のパラメータとを合わせて、プログラム生成パラメータＰＡ１３２と称する。推論部２７は、学習モデル記憶部１５に記憶された学習モデルのうち、指定された第１のパラメータに対応する学習モデルを読み出す。推論部２７は、推論結果である第１のパラメータの値をパラメータ選択部２４へ出力する。推論部２７は、回帰の機械学習を行う。推論部２７は、分類による機械学習を行っても良い。
【０１３９】
次に、ステップＳ４７において、パラメータ選択部２４は、推論結果である第１のパラメータの値を提示する。パラメータ選択部２４は、第１のパラメータの値を、対話操作処理部３０を介して表示部５０へ送る。パラメータ選択部２４は、第１のパラメータの値を表示部５０に表示させることによって、第１のパラメータの値を提示する。
【０１４０】
作業者が、表示部５０に表示された第１のパラメータの値をそのまま設定値に決定した場合、または、表示部５０に表示された第１のパラメータの値ではなく任意の値を設定値に決定した場合、ステップＳ４８において、パラメータ選択部２４は、対話操作処理部３０を介して設定値を取得する。例えば、作業者が、プログラム生成パラメータＰＡ１３２について「６．０」を設定値として決定すると、パラメータ選択部２４は、「ドリルの呼び径」についての設定値である「６．０」を取得する。パラメータ選択部２４は、加工プログラム生成部２３へ設定値を入力する。
【０１４１】
ステップＳ４９において、加工プログラム生成部２３は、第１のパラメータの設定値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部２３は、「ドリルの呼び径」の値である「６．０」を取得することによって、ドリル工程におけるドリルの呼び径を６．０に設定する。
【０１４２】
次に、パラメータ選択部２４が、推論する第１のパラメータである「ドリル加工方法」を指定したとする。パラメータ選択部２４は、第１のパラメータを推論するための第２のパラメータとして、素材材質「Ｓ４５Ｃ」、工程形状ＳＨ６１の穴径「６．４」、工程形状ＳＨ６１の穴深さ「２３．０」、工程形状ＳＨ６１の座穴径「０．０」、工程形状ＳＨ６１の座穴深さ「０．０」、工程形状ＳＨ６１の穴タイプ「貫通穴」の各パラメータを取得する。パラメータ選択部２４は、これらの第２のパラメータを含む入力データを推論部２７へ入力する。
【０１４３】
ステップＳ４６において、パラメータ選択部２４は、推論結果である第１のパラメータの値を推論部２７から取得する。パラメータ選択部２４は、推論結果である第１のパラメータの複数の値とともに、当該複数の値の各々についての加工プログラムへの使用の確率を推論部２７から取得する。
【０１４４】
ここで、パラメータ選択部２４が、推論結果として、第１のパラメータである「ドリル加工方法」について、「０」または「１」を取得したとする。「０」は、１度でドリル加工するドリルサイクルを表す。「１」は、ドリル加工を行い、指定された切込み量に達すると、あらかじめ設定された位置までドリルを上昇させて再度ドリル加工を行う深穴サイクルを表す。
【０１４５】
また、パラメータ選択部２４が、推論結果として、当該２個の各値について、「０」：１．０、「１」：０．０の各確率を取得したとする。「０」：１．０は、加工プログラムに「０」が使用される確率が１００％であることを表す。「１」：０．０は、加工プログラムに「１」が使用される確率が０％であることを表す。
【０１４６】
ここで、推論部２７に入力される複数の第２のパラメータと、推論結果である第１のパラメータとを合わせて、プログラム生成パラメータＰＡ１３３と称する。推論部２７は、学習モデル記憶部１５に記憶された学習モデルのうち、指定された第１のパラメータに対応する学習モデルを読み出す。推論部２７は、読み出された学習モデルと、入力データである第２のパラメータとを使用して、第１のパラメータの値ごとの確率を求める。推論部２７は、第１のパラメータの各値と確率とのセットである推論結果をパラメータ選択部２４へ出力する。
【０１４７】
次に、ステップＳ４７において、パラメータ選択部２４は、推論結果である第１のパラメータの値を、確率とともに提示する。パラメータ選択部２４は、第１のパラメータの各値と確率とを、対話操作処理部３０を介して表示部５０へ送る。パラメータ選択部２４は、第１のパラメータの各値と確率との一覧を表示部５０に表示させることによって、第１のパラメータの値と確率とを提示する。
【０１４８】
作業者が、表示部５０に表示された第１のパラメータの複数の値の中から任意の値を選択すると、ステップＳ４８において、パラメータ選択部２４は、選択された第１のパラメータの値を取得する。パラメータ選択部２４は、対話操作処理部３０を介して、選択された第１のパラメータの値を取得する。例えば、作業者が、プログラム生成パラメータＰＡ１３３について、１度でドリル加工するドリルサイクル、すなわち「０」を選択した場合、パラメータ選択部２４は、選択された値である「０」を取得する。パラメータ選択部２４は、選択された値を加工プログラム生成部２３へ入力する。
【０１４９】
ステップＳ４９において、加工プログラム生成部２３は、選択された第１のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部２３は、「ドリル加工方法」について「０」を取得することによって、ドリル加工方法を「１度でドリル加工するドリルサイクル」に設定する。
【０１５０】
加工プログラム生成装置２０は、工程形状ＳＨ６１についての工程の生成が完了すると、工程形状ＳＨ６１の場合と同様に、工程形状ＳＨ６２，ＳＨ６３，ＳＨ６４についてもステップＳ４６からステップＳ５０の処理を繰り返す。
【０１５１】
工程形状ＳＨ４，ＳＨ５，ＳＨ６についての工程の生成が完了すると、パラメータ選択部２４は、工程形状ＳＨ７１について、推論する第１のパラメータである「穴加工方法」を指定する。パラメータ選択部２４は、第１のパラメータを推論するための第２のパラメータとして、素材材質「Ｓ４５Ｃ」、工程形状ＳＨ７１の上面の中心座標「５５．０，３０．０，−１３．０」、工程形状ＳＨ７１の下面中心座標「５５．０，３０．０，−２３．０」、工程形状ＳＨ７１の穴径「６．６」、工程形状ＳＨ７１の穴深さ「１０．０」、工程形状ＳＨ７１の座穴径「１１．６」、工程形状ＳＨ７１の座穴深さ「４．３」の各パラメータを取得する。パラメータ選択部２４は、これらの第２のパラメータを含む入力データを推論部２７へ入力する。
【０１５２】
ステップＳ４６において、パラメータ選択部２４は、推論結果である第１のパラメータの値を推論部２７から取得する。パラメータ選択部２４は、推論結果である第１のパラメータの複数の値とともに、当該複数の値の各々についての加工プログラムへの使用の確率を推論部２７から取得する。
【０１５３】
ここで、パラメータ選択部２４が、推論結果として、第１のパラメータである「穴加工方法」について「０」から「３」の４個の値を取得したとする。「０」は、ドリルによる穴加工を行うドリル工程を表す。「１」は、座ぐり穴を形成するための穴加工を行う座ぐり穴工程を表す。「２」は、リーマによる仕上げ加工を行うリーマ工程を表す。「３」は、タップによるねじ切り加工を行うタップ工程を表す。
【０１５４】
また、パラメータ選択部２４が、推論結果として、当該４個の各値について、「０」：０．０、「１」：０．６、「２」：０．１、「３」：０．３の各確率を取得したとする。「０」：０．０は、加工プログラムに「０」が使用される確率が０％であることを表す。「１」：０．６は、加工プログラムに「１」が使用される確率が６０％であることを表す。「２」：０．１は、加工プログラムに「２」が使用される確率が１０％であることを表す。「３」：０．３は、加工プログラムに「３」が使用される確率が３０％であることを表す。
【０１５５】
ここで、推論部２７に入力される複数の第２のパラメータと、推論結果である第１のパラメータとを合わせて、プログラム生成パラメータＰＡ１３４と称する。推論部２７は、学習モデル記憶部１５に記憶された学習モデルのうち、指定された第１のパラメータに対応する学習モデルを読み出す。推論部２７は、読み出された学習モデルと、入力データである第２のパラメータとを使用して、第１のパラメータの値ごとの確率を求める。推論部２７は、第１のパラメータの各値と確率とのセットである推論結果をパラメータ選択部２４へ出力する。
【０１５６】
次に、ステップＳ４７において、パラメータ選択部２４は、推論結果である第１のパラメータの値を、確率とともに提示する。パラメータ選択部２４は、第１のパラメータの各値と確率とを、対話操作処理部３０を介して表示部５０へ送る。パラメータ選択部２４は、第１のパラメータの各値と確率との一覧を表示部５０に表示させることによって、第１のパラメータの値と確率とを提示する。
【０１５７】
作業者が、表示部５０に表示された第１のパラメータの複数の値の中から任意の値を選択すると、ステップＳ４８において、パラメータ選択部２４は、選択された第１のパラメータの値を取得する。パラメータ選択部２４は、対話操作処理部３０を介して、選択された第１のパラメータの値を取得する。例えば、作業者が、プログラム生成パラメータＰＡ１３４について座ぐり穴工程、すなわち「１」を選択した場合、パラメータ選択部２４は、選択された値である「１」を取得する。パラメータ選択部２４は、選択された値を加工プログラム生成部２３へ入力する。
【０１５８】
ステップＳ４９において、加工プログラム生成部２３は、選択された第１のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部２３は、「穴加工方法」について「１」を取得することによって、工程形状ＳＨ７１の穴加工方法を「座ぐり穴工程」に設定する。
【０１５９】
次に、パラメータ選択部２４が、推論する第１のパラメータである「下穴ドリルの呼び径」を指定したとする。パラメータ選択部２４は、第１のパラメータを推論するための第２のパラメータとして、素材材質「Ｓ４５Ｃ」、工程形状ＳＨ７１の穴径「６．６」、工程形状ＳＨ７１の穴深さ「１０．０」、工程形状ＳＨ７１の座穴径「１１．６」、工程形状ＳＨ７１の座穴深さ「４．３」、穴加工方法「座ぐり穴」の各パラメータを取得する。パラメータ選択部２４は、これらの第２のパラメータを含む入力データを推論部２７へ入力する。
【０１６０】
ステップＳ４６において、パラメータ選択部２４は、推論結果である第１のパラメータの値を推論部２７から取得する。ここで、パラメータ選択部２４が、推論結果として、第１のパラメータである「下穴ドリルの呼び径」として「６．６」の値を取得したとする。推論部２７に入力される複数の第２のパラメータと、推論結果である第１のパラメータとを合わせて、プログラム生成パラメータＰＡ１３５と称する。推論部２７は、学習モデル記憶部１５に記憶された学習モデルのうち、指定された第１のパラメータに対応する学習モデルを読み出す。推論部２７は、推論結果である第１のパラメータの値をパラメータ選択部２４へ出力する。
【０１６１】
次に、ステップＳ４７において、パラメータ選択部２４は、推論結果である第１のパラメータの値を提示する。パラメータ選択部２４は、第１のパラメータの値を、対話操作処理部３０を介して表示部５０へ送る。パラメータ選択部２４は、第１のパラメータの値を表示部５０に表示させることによって、第１のパラメータの値を提示する。
【０１６２】
作業者が、表示部５０に表示された第１のパラメータの値をそのまま設定値に決定した場合、または、表示部５０に表示された第１のパラメータの値ではなく任意の値を設定値に決定した場合、ステップＳ４８において、パラメータ選択部２４は、対話操作処理部３０を介して設定値を取得する。例えば、作業者が、プログラム生成パラメータＰＡ１３５について「６．６」を設定値として決定すると、パラメータ選択部２４は、「下穴ドリルの呼び径」についての設定値である「６．６」を取得する。パラメータ選択部２４は、加工プログラム生成部２３へ設定値を入力する。
【０１６３】
ステップＳ４９において、加工プログラム生成部２３は、第１のパラメータの設定値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部２３は、「下穴ドリルの呼び径」の値である「６．６」を取得することによって、座ぐり穴工程における下穴ドリルの呼び径を６．６に設定する。
【０１６４】
次に、パラメータ選択部２４が、推論する第１のパラメータである「座穴エンドミルの呼び径」を指定したとする。パラメータ選択部２４は、第１のパラメータを推論するための第２のパラメータとして、素材材質「Ｓ４５Ｃ」、工程形状ＳＨ７１の穴径「６．６」、工程形状ＳＨ７１の穴深さ「１０．０」、工程形状ＳＨ７１の座穴径「１１．６」、工程形状ＳＨ７１の座穴深さ「４．３」、穴加工方法「座ぐり穴」の各パラメータを取得する。パラメータ選択部２４は、これらの第２のパラメータを含む入力データを推論部２７へ入力する。
【０１６５】
ステップＳ４６において、パラメータ選択部２４は、推論結果である第１のパラメータの値を推論部２７から取得する。ここで、パラメータ選択部２４が、推論結果として、第１のパラメータである「座穴エンドミルの呼び径」として「８．０」の値を取得したとする。推論部２７に入力される複数の第２のパラメータと、推論結果である第１のパラメータとを合わせて、プログラム生成パラメータＰＡ１３６と称する。推論部２７は、学習モデル記憶部１５に記憶された学習モデルのうち、指定された第１のパラメータに対応する学習モデルを読み出す。推論部２７は、推論結果である第１のパラメータの値をパラメータ選択部２４へ出力する。
【０１６６】
次に、ステップＳ４７において、パラメータ選択部２４は、推論結果である第１のパラメータの値を提示する。パラメータ選択部２４は、第１のパラメータの値を、対話操作処理部３０を介して表示部５０へ送る。パラメータ選択部２４は、第１のパラメータの値を表示部５０に表示させることによって、第１のパラメータの値を提示する。
【０１６７】
作業者が、表示部５０に表示された第１のパラメータの値をそのまま設定値に決定した場合、または、表示部５０に表示された第１のパラメータの値ではなく任意の値を設定値に決定した場合、ステップＳ４８において、パラメータ選択部２４は、対話操作処理部３０を介して設定値を取得する。例えば、作業者が、プログラム生成パラメータＰＡ１３６について「８．０」を設定値として決定すると、パラメータ選択部２４は、「座穴エンドミルの呼び径」についての設定値である「８．０」を取得する。パラメータ選択部２４は、加工プログラム生成部２３へ設定値を入力する。
【０１６８】
ステップＳ４９において、加工プログラム生成部２３は、第１のパラメータの設定値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部２３は、「座穴エンドミルの呼び径」の値である「８．０」を取得することによって、座ぐり穴工程における座穴エンドミルの呼び径を８．０に設定する。
【０１６９】
加工プログラム生成装置２０は、工程形状ＳＨ７１についての工程の生成が完了すると、工程形状ＳＨ７１の場合と同様に、工程形状ＳＨ７２についてもステップＳ４６からステップＳ５０の処理を繰り返す。
【０１７０】
加工プログラムに使用される全ての第１のパラメータについて工程の生成が完了した場合、（ステップＳ５０，Ｙｅｓ）、加工プログラム生成装置２０は、図７の手順による加工プログラム生成処理を終了する。
【０１７１】
加工プログラム生成部２３は、図７の手順による加工プログラム生成処理を行うことによって、プログラム生成パラメータＰＡ１２１−ＰＡ１２６の参照により、作業者が所望する加工形状ＳＨ１を素材から削り出すための面加工工程を生成することができる。また、加工プログラム生成部２３は、加工形状ＳＨ１を削り出すための、互いに異なる複数の面加工工程を効率良く生成することができる。
【０１７２】
加工プログラム生成部２３は、図７の手順による加工プログラム生成処理を行うことによって、プログラム生成パラメータＰＡ１３１−ＰＡ１３６の参照により、作業者が所望する加工形状ＳＨ１を素材から削り出すための穴加工工程を生成することができる。また、加工プログラム生成部２３は、加工形状ＳＨ１を削り出すための、互いに異なる複数の穴加工工程を効率良く生成することができる。
【０１７３】
実施の形態１によると、機械学習装置１０は、作業者の編集によって過去に生成された加工プログラムを基に学習モデルを生成する。加工プログラム生成装置２０は、かかる学習モデルを使用して第１のパラメータを決定する。作業者の編集によって生成された加工プログラムには、作業者の知識および経験が蓄積されている。このため、加工プログラム生成装置２０は、作業者が手作業によって加工プログラムを生成する場合と同様の加工プログラムを、効率良く、かつ容易に生成することができる。加工プログラム生成装置２０は、加工プログラムを生成する際に調整を要するパラメータが多種多様に亘る場合であっても、加工プログラムを容易に生成することができる。
【０１７４】
実施の形態２．
実施の形態２では、加工プログラム生成装置２０が行う編集操作解析処理と、機械学習装置１０が行う追加学習処理との詳細について説明する。実施の形態２にかかる数値制御装置１００は、実施の形態１にかかる数値制御装置１００と同様の構成を有する。実施の形態２において、数値制御装置１００の動作は、実施の形態１と同様に、機械学習装置１０が行う学習モデル生成処理と、加工プログラム生成装置２０が行う加工プログラム生成処理とを含む。
【０１７５】
図１５は、実施の形態２における編集操作解析処理と追加学習処理との手順を示すフローチャートである。ここでは、図１１に示す工程形状ＳＨ４を例として、編集操作解析処理と追加学習処理とを説明する。機械学習装置１０は、学習モデルを生成する。学習モデル生成処理の概要については、実施の形態１と同様であるため、ここでは説明を省略する。また、加工プログラム生成装置２０は、加工プログラムを生成する。加工プログラム生成処理の概要についても、実施の形態１と同様であるため、ここでは説明を省略する。
【０１７６】
ここで、パラメータ選択部２４が、推論する第１のパラメータである「面加工方法」を指定したとする。パラメータ選択部２４は、第１のパラメータを推論するための第２のパラメータとして、素材材質「Ｓ４５Ｃ」、工程形状ＳＨ４の上面座標「８０．０，６０．０，０．０」、工程形状ＳＨ４の下面座標「０．０，０．０，−３．０」、工程形状ＳＨ４のＸ軸方向寸法「８０．０」、工程形状ＳＨ４のＹ軸方向寸法「６０．０」、工程形状ＳＨ４のＺ軸方向寸法「３．０」、水平方向において工程形状ＳＨ４と隣接する形状「無」、工程形状ＳＨ４に含まれる山形状「無」、工程形状ＳＨ４に含まれる谷形状「無」の各パラメータを取得する。パラメータ選択部２４は、これらの第２のパラメータを含む入力データを推論部２７へ入力する。
【０１７７】
パラメータ選択部２４は、推論結果である第１のパラメータの複数の値とともに、当該複数の値の各々についての加工プログラムへの使用の確率を推論部２７から取得する。すなわち、パラメータ選択部２４は、第１のパラメータの複数の値と確率とのセットを取得する。
【０１７８】
ここで、パラメータ選択部２４が、推論結果として、第１のパラメータである「面加工方法」について「０」から「５」の６個の値を取得したとする。「０」は、フェイスミルによって平面加工を行うフェイスミル工程を表す。「１」は、エンドミルによって平面加工を行うエンドミル工程を表す。「２」は、エンドミルによる平面加工を、一部の形状を残しながら行うエンドミル山工程を表す。「３」は、エンドミルによってポケット加工を行うポケットミル工程を表す。「４」は、エンドミルによるポケット加工を、一部の形状を残しながら行うポケット山工程を表す。「５」は、フェイスミルまたはエンドミルによって輪郭加工を行う線加工工程を表す。
【０１７９】
また、パラメータ選択部２４が、推論結果として、当該６個の各値について、「０」：０．８、「１」：０．１５、「２」：０．０、「３」：０．０５、「４」：０．０、「５」：０．０の各確率を取得したとする。「０」：０．８は、加工プログラムに「０」が使用される確率が８０％であることを表す。「１」：０．１５は、加工プログラムに「１」が使用される確率が１５％であることを表す。「２」：０．０は、加工プログラムに「２」が使用される確率が０％であることを表す。「３」：０．０５は、加工プログラムに「３」が使用される確率が５％であることを表す。「４」：０．０は、加工プログラムに「４」が使用される確率が０％であることを表す。「５」：０．０は、加工プログラムに「５」が使用される確率が０％であることを表す。
【０１８０】
ここで、推論部２７に入力される複数の第２のパラメータと、推論結果である第１のパラメータとを合わせて、プログラム生成パラメータＰＡ１４１と称する。推論部２７は、学習モデル記憶部１５に記憶された学習モデルのうち、指定された第１のパラメータに対応する学習モデルを読み出す。推論部２７は、読み出された学習モデルと、入力データである第２のパラメータとを使用して、第１のパラメータの値ごとの確率を求める。推論部２７は、第１のパラメータの各値と確率とのセットである推論結果をパラメータ選択部２４へ出力する。
【０１８１】
次に、パラメータ選択部２４は、推論結果である第１のパラメータの値を、確率とともに提示する。パラメータ選択部２４は、第１のパラメータの各値と確率とを、対話操作処理部３０を介して表示部５０へ送る。パラメータ選択部２４は、第１のパラメータの各値と確率との一覧を表示部５０に表示させることによって、第１のパラメータの値と確率とを提示する。表示部５０は、任意の態様で、第１のパラメータの各値と確率とを表示することができる。表示部５０は、第１のパラメータの各値と確率とを、確率が高い順に並べ替えて表示しても良い。表示部５０は、第１のパラメータの各値のうち、確率があらかじめ設定された値以上である値のみを表示しても良い。作業者は、第１のパラメータの値が確率とともに提示されることによって、第１のパラメータの値を容易に選択することができる。
【０１８２】
作業者が、表示部５０に表示された第１のパラメータの複数の値の中から任意の値を選択すると、パラメータ選択部２４は、選択された第１のパラメータの値を取得する。パラメータ選択部２４は、対話操作処理部３０を介して、選択された第１のパラメータの値を取得する。例えば、作業者が、プログラム生成パラメータＰＡ１４１について、「線加工工程」すなわち「５」を選択した場合、パラメータ選択部２４は、第１のパラメータである「面加工方法」について「５」を取得する。パラメータ選択部２４は、選択された値を加工プログラム生成部２３へ入力する。
【０１８３】
加工プログラム生成部２３は、選択された第１のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部２３は、「面加工方法」について「５」を取得することによって、線加工工程を生成する。
【０１８４】
ここで、加工プログラム生成部２３は、指定された第１のパラメータである「面加工方法」と、「面加工方法」の値である「５」を、編集操作解析部２６へ入力する。これにより、ステップＳ５１において、編集操作解析部２６は、編集操作から第１のパラメータの値を取得する。
【０１８５】
次に、ステップＳ５２において、加工プログラム生成部２３は、加工プログラムおよび工程形状ＳＨ４から第２のパラメータの値を取得する。すなわち、加工プログラム生成部２３は、指定された第１のパラメータに基づいて第２のパラメータを絞り込む。加工プログラム生成部２３は、プログラム生成パラメータＰＡ１４１にて必要な第２のパラメータとして、素材材質「Ｓ４５Ｃ」、工程形状ＳＨ４の上面座標「８０．０，６０．０，０．０」、工程形状ＳＨ４の下面座標「０．０，０．０，−３．０」、工程形状ＳＨ４のＸ軸方向寸法「８０．０」、工程形状ＳＨ４のＹ軸方向寸法「６０．０」、工程形状ＳＨ４のＺ軸方向寸法「３．０」、水平方向において工程形状ＳＨ４と隣接する形状「無」、工程形状ＳＨ４に含まれる山形状「無」、工程形状ＳＨ４に含まれる谷形状「無」の各パラメータを取得する。また、加工プログラム生成部２３は、第２のパラメータとして、調整済みのパラメータである面加工方法「線加工」を取得する。加工プログラム生成部２３は、取得された第２のパラメータを編集操作解析部２６へ入力する。
【０１８６】
ステップＳ５３において、編集操作解析部２６は、第１のパラメータと、第１のパラメータに基づいて絞り込まれた第２のパラメータとを用いて、第１のパラメータおよび第２のパラメータを含むデータセットを生成する。編集操作解析部２６は、生成されたデータセットを機械学習部１４へ入力する。
【０１８７】
機械学習部１４は、学習モデル記憶部１５から学習モデルを読み出す。ステップＳ５４において、機械学習部１４は、編集操作解析部２６から入力されるデータセットに従って、学習モデルの追加学習処理である機械学習処理を行う。機械学習部１４は、追加学習処理によって、学習モデルを更新する。機械学習部１４は、追加学習処理によって、第１のパラメータごとに、第１のパラメータと第２のパラメータとの関係を示す学習モデルを更新する。ステップＳ５５において、学習モデル記憶部１５は、追加学習によって更新された学習モデルを記憶する。これにより、機械学習装置１０および加工プログラム生成装置２０は、図１５に示す手順による編集操作解析処理および追加学習処理を終了する。
【０１８８】
次に、図１５に示す手順による編集操作解析処理および追加学習処理を、推論する第１のパラメータごとについて説明する。ここで、推論する第１のパラメータとして、「線加工工程の工具呼び径」が指定されたとする。パラメータ選択部２４は、第１のパラメータを推論するための第２のパラメータとして、素材材質「Ｓ４５Ｃ」、取り代−Ｚ「３．０」、工程形状ＳＨ４の上面座標「８０．０，６０．０，０．０」、工程形状ＳＨ４の下面座標「０．０，０．０，−３．０」、工程形状ＳＨ４のＸ軸方向寸法「８０．０」、工程形状ＳＨ４のＹ軸方向寸法「６０．０」、工程形状ＳＨ４のＺ軸方向寸法「３．０」、水平方向において工程形状ＳＨ４と隣接する形状「無」、工程形状ＳＨ４に含まれる山形状「無」、工程形状ＳＨ４に含まれる谷形状「無」、面加工方法「線加工」、工具用途「荒」の各パラメータを取得する。パラメータ選択部２４は、これらの第２のパラメータを含む入力データを推論部２７へ入力する。
【０１８９】
ここで、パラメータ選択部２４が、推論結果として、第１のパラメータである「線加工工程の工具呼び径」について「０」、「１」、「３０」、「４０」、「５０」、「６０」の６個の値を取得したとする。また、パラメータ選択部２４が、推論結果として、当該６個の各値について、「０」：０．４、「１」：０．６、および「３０」：０．２５、「４０」：０．２５、「５０」：０．２５、「６０」：０．２５の各確率を取得したとする。      
【０１９０】
「０」はフェイスミル工具を表す。「１」はエンドミル工具を表す。「０」：０．４は、加工プログラムに「０」が使用される確率、すなわち線加工工程にフェイスミル工具が使用される確率が４０％であることを表す。「１」：０．６は、加工プログラムに「１」が使用される確率、すなわち線加工工程にエンドミル工具が使用される確率が６０％であることを表す。「３０」、「４０」、「５０」、「６０」の各々は、工具呼び径を表す。「３０」：０．２５は、工具呼び径が３０とされる確率が２５％であることを表す。「４０」：０．２５は、工具呼び径が４０とされる確率が２５％であることを表す。「５０」：０．２５は、工具呼び径が５０とされる確率が２５％であることを表す。「６０」：０．２５は、工具呼び径が６０とされる確率が２５％であることを表す。
【０１９１】
ここで、推論部２７に入力される複数の第２のパラメータと、推論結果である第１のパラメータとを合わせて、プログラム生成パラメータＰＡ１４２と称する。推論部２７は、学習モデル記憶部１５に記憶された学習モデルのうち、指定された第１のパラメータに対応する学習モデルを読み出す。推論部２７は、読み出された学習モデルと、入力データである第２のパラメータとを使用して、第１のパラメータの値ごとの確率を求める。推論部２７は、第１のパラメータの各値と確率とのセットである推論結果をパラメータ選択部２４へ出力する。
【０１９２】
次に、パラメータ選択部２４は、推論結果である第１のパラメータの値を、確率とともに提示する。パラメータ選択部２４は、第１のパラメータの各値と確率とを、対話操作処理部３０を介して表示部５０へ送る。パラメータ選択部２４は、第１のパラメータの各値と確率との一覧を表示部５０に表示させることによって、第１のパラメータの値と確率とを提示する。
【０１９３】
作業者が、表示部５０に表示された第１のパラメータの複数の値の中から任意の値を選択すると、パラメータ選択部２４は、選択された第１のパラメータの値を取得する。パラメータ選択部２４は、対話操作処理部３０を介して、選択された第１のパラメータの値を取得する。例えば、作業者が、プログラム生成パラメータＰＡ１４２について「６０」を選択した場合、パラメータ選択部２４は、第１のパラメータである「線加工工程の工具呼び径」の値である「６０」を取得する。パラメータ選択部２４は、選択された値を加工プログラム生成部２３へ入力する。
【０１９４】
加工プログラム生成部２３は、選択された第１のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部２３は、「線加工工程の工具呼び径」について「６０」を取得することによって、線加工工程の荒加工における工具呼び径を「６０」に設定する。
【０１９５】
ここで、加工プログラム生成部２３は、指定された第１のパラメータである「線加工工程の工具呼び径」と、「線加工工程の工具呼び径」の値である「６０」を、編集操作解析部２６へ入力する。これにより、ステップＳ５１において、編集操作解析部２６は、編集操作から第１のパラメータの値を取得する。
【０１９６】
次に、ステップＳ５２において、加工プログラム生成部２３は、加工プログラムおよび工程形状ＳＨ４から第２のパラメータの値を取得する。すなわち、加工プログラム生成部２３は、第１のパラメータに基づいて第２のパラメータを絞り込む。加工プログラム生成部２３は、プログラム生成パラメータＰＡ１４２にて必要な第２のパラメータとして、素材材質「Ｓ４５Ｃ」、取り代−Ｚ「３．０」、工程形状ＳＨ４の上面座標「８０．０，６０．０，０．０」、工程形状ＳＨ４の下面座標「０．０，０．０，−３．０」、工程形状ＳＨ４のＸ軸方向寸法「８０．０」、工程形状ＳＨ４のＹ軸方向寸法「６０．０」、工程形状ＳＨ４のＺ軸方向寸法「３．０」、水平方向おいて工程形状ＳＨ４と隣接する形状「無」、工程形状ＳＨ４に含まれる山形状「無」、工程形状ＳＨ４に含まれる谷形状「無」の各パラメータを取得する。また、加工プログラム生成部２３は、第２のパラメータとして、調整済みのパラメータである面加工方法「線加工」を取得する。加工プログラム生成部２３は、取得された第２のパラメータを編集操作解析部２６へ入力する。
【０１９７】
ステップＳ５３において、編集操作解析部２６は、第１のパラメータと、第１のパラメータの種類に基づいて絞り込まれた第２のパラメータとを用いて、第１のパラメータおよび第２のパラメータを含むデータセットを生成する。編集操作解析部２６は、生成されたデータセットを機械学習部１４へ入力する。
【０１９８】
機械学習部１４は、学習モデル記憶部１５から学習モデルを読み出す。ステップＳ５４において、機械学習部１４は、編集操作解析部２６から入力されるデータセットに従って、学習モデルの追加学習処理である機械学習処理を行う。機械学習部１４は、追加学習処理によって、学習モデルを更新する。機械学習部１４は、追加学習処理によって、第１のパラメータごとに、第１のパラメータと第２のパラメータとの関係を示す学習モデルを更新する。ステップＳ５５において、学習モデル記憶部１５は、追加学習によって更新された学習モデルを記憶する。これにより、機械学習装置１０および加工プログラム生成装置２０は、図１５に示す手順による編集操作解析処理および追加学習処理を終了する。
【０１９９】
次に、図１４に示す工程形状ＳＨ７１を例として、編集操作解析処理と追加学習処理とを説明する。機械学習装置１０は、学習モデルを生成する。学習モデル生成処理の概要については、実施の形態１と同様であるため、ここでは説明を省略する。また、加工プログラム生成装置２０は、加工プログラムを生成する。加工プログラム生成処理の概要についても、実施の形態１と同様であるため、ここでは説明を省略する。
【０２００】
ここで、パラメータ選択部２４が、推論する第１のパラメータの種類である「穴加工方法」を指定したとする。パラメータ選択部２４は、第１のパラメータを推論するための第２のパラメータとして、素材材質「Ｓ４５Ｃ」、工程形状ＳＨ７１の上面の中心座標「５５．０，３０．０，−１３．０」、工程形状ＳＨ７１の下面の中心座標「５５．０，３０．０，−２３．０」、工程形状ＳＨ７１の穴径「６．６」、工程形状ＳＨ７１の穴深さ「１０．０」、工程形状ＳＨ７１の座穴径「１１．６」、工程形状ＳＨ７１の座穴深さ「４．３」の各パラメータを取得する。パラメータ選択部２４は、これらの第２のパラメータを含む入力データを推論部２７へ入力する。
【０２０１】
パラメータ選択部２４は、推論結果である第１のパラメータの複数の値とともに、当該複数の値の各々についての加工プログラムへの使用の確率を推論部２７から取得する。すなわち、パラメータ選択部２４は、第１のパラメータの複数の値と確率とのセットを取得する。
【０２０２】
ここで、パラメータ選択部２４が、推論結果として、第１のパラメータである「穴加工方法」について「０」から「３」の４個の値を取得したとする。「０」は、ドリルによる穴加工を行うドリル工程を表す。「１」は、座ぐり穴を形成するための穴加工を行う座ぐり穴工程を表す。「２」は、リーマによる仕上げ加工を行うリーマ工程を表す。「３」は、タップによるねじ切り加工を行うタップ工程を表す。
【０２０３】
また、パラメータ選択部２４が、推論結果として、当該４個の各値について、「０」：０．０、「１」：０．６、「２」：０．１、「３」：０．３の各確率を取得したとする。「０」：０．０は、加工プログラムに「０」が使用される確率が０％であることを表す。「１」：０．６は、加工プログラムに「１」が使用される確率が６０％であることを表す。「２」：０．１は、加工プログラムに「２」が使用される確率が１０％であることを表す。「３」：０．３は、加工プログラムに「３」が使用される確率が３０％であることを表す。
【０２０４】
ここで、推論部２７に入力される複数の第２のパラメータと、推論結果である第１のパラメータとを合わせて、プログラム生成パラメータＰＡ１４３と称する。推論部２７は、学習モデル記憶部１５に記憶された学習モデルのうち、指定された第１のパラメータに対応する学習モデルを読み出す。推論部２７は、読み出された学習モデルと、入力データである第２のパラメータとを使用して、第１のパラメータの値ごとの確率を求める。推論部２７は、第１のパラメータの各値と確率とのセットである推論結果をパラメータ選択部２４へ出力する。
【０２０５】
次に、パラメータ選択部２４は、推論結果である第１のパラメータの値を、確率とともに提示する。パラメータ選択部２４は、第１のパラメータの各値と確率とを、対話操作処理部３０を介して表示部５０へ送る。パラメータ選択部２４は、第１のパラメータの各値と確率との一覧を表示部５０に表示させることによって、第１のパラメータの値と確率とを提示する。
【０２０６】
作業者が、表示部５０に表示された第１のパラメータの複数の値の中から任意の値を選択すると、パラメータ選択部２４は、選択された第１のパラメータの値を取得する。パラメータ選択部２４は、対話操作処理部３０を介して、選択された第１のパラメータの値を取得する。例えば、作業者が、プログラム生成パラメータＰＡ１４３について、「タップ工程」すなわち「３」を選択した場合、パラメータ選択部２４は、第１のパラメータである「穴加工方法」について「３」を取得する。パラメータ選択部２４は、選択された値を加工プログラム生成部２３へ入力する。
【０２０７】
加工プログラム生成部２３は、選択された第１のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部２３は、「穴加工方法」について「３」を取得することによって、タップ工程を生成する。
【０２０８】
ここで、加工プログラム生成部２３は、指定された第１のパラメータの種類である「穴加工方法」と、「穴加工方法」の値である「３」を、編集操作解析部２６へ入力する。これにより、ステップＳ５１において、編集操作解析部２６は、編集操作から第１のパラメータの値を取得する。
【０２０９】
次に、ステップＳ５２において、加工プログラム生成部２３は、加工プログラムおよび工程形状ＳＨ７１から第２のパラメータの値を取得する。すなわち、加工プログラム生成部２３は、第１のパラメータの種類に基づいて第２のパラメータを絞り込む。加工プログラム生成部２３は、プログラム生成パラメータＰＡ１４３にて必要な第２のパラメータとして、素材材質「Ｓ４５Ｃ」、工程形状ＳＨ７１の上面の中心座標「５５．０，３０．０，−１３．０」、工程形状ＳＨ７１の下面の中心座標「５５．０，３０．０，−２３．０」、工程形状ＳＨ７１の穴径「６．６」、工程形状ＳＨ７１の穴深さ「１０．０」、工程形状ＳＨ７１の座穴径「１１．６」、工程形状ＳＨ７１の座穴深さ「４．３」を取得する。加工プログラム生成部２３は、取得された第２のパラメータを編集操作解析部２６へ入力する。
【０２１０】
ステップＳ５３において、編集操作解析部２６は、第１のパラメータと、第１のパラメータに基づいて絞り込まれた第２のパラメータとを用いて、第１のパラメータおよび第２のパラメータを含むデータセットを生成する。編集操作解析部２６は、生成されたデータセットを機械学習部１４へ入力する。
【０２１１】
機械学習部１４は、学習モデル記憶部１５から学習モデルを読み出す。ステップＳ５４において、機械学習部１４は、編集操作解析部２６から入力されるデータセットに従って、学習モデルの追加学習処理である機械学習処理を行う。機械学習部１４は、追加学習処理によって、学習モデルを更新する。機械学習部１４は、追加学習処理によって、第１のパラメータごとに、第１のパラメータと第２のパラメータとの関係を示す学習モデルを更新する。ステップＳ５５において、学習モデル記憶部１５は、追加学習によって更新された学習モデルを記憶する。これにより、機械学習装置１０および加工プログラム生成装置２０は、図１５に示す手順による編集操作解析処理および追加学習処理を終了する。
【０２１２】
次に、推論する第１のパラメータの種類として、「下穴ドリルの呼び径」が指定された場合について説明する。パラメータ選択部２４は、第１のパラメータを推論するための第２のパラメータとして、素材材質「Ｓ４５Ｃ」、工程形状ＳＨ７１の穴径「６．６」、工程形状ＳＨ７１の穴深さ「１０．０」、工程形状ＳＨ７１の座穴径「１１．６」、工程形状ＳＨ７１の座穴深さ「４．３」の各パラメータを取得する。パラメータ選択部２４は、これらの第２のパラメータを含む入力データを推論部２７へ入力する。
【０２１３】
パラメータ選択部２４は、推論結果である第１のパラメータの値を推論部２７から取得する。ここで、パラメータ選択部２４が、推論結果として、第１のパラメータである「下穴ドリルの呼び径」として「６．０」の値を取得したとする。推論部２７に入力される複数の第２のパラメータと、推論結果である第１のパラメータとを合わせて、プログラム生成パラメータＰＡ１４４と称する。推論部２７は、学習モデル記憶部１５に記憶された学習モデルのうち、指定された第１のパラメータに対応する学習モデルを読み出す。推論部２７は、推論結果である第１のパラメータの値をパラメータ選択部２４へ出力する。推論部２７は、第１のパラメータが連続値である場合、回帰の機械学習を行い、推論結果である数値をパラメータ選択部２４へ出力する。推論部２７は、複数のドリル呼び径を用いて、分類による機械学習を行っても良い。
【０２１４】
次に、パラメータ選択部２４は、推論結果である第１のパラメータの値を提示する。パラメータ選択部２４は、第１のパラメータの値を、対話操作処理部３０を介して表示部５０へ送る。パラメータ選択部２４は、第１のパラメータの値を表示部５０に表示させることによって、第１のパラメータの値を提示する。
【０２１５】
作業者が、表示部５０に表示された第１のパラメータの値をそのまま設定値に決定した場合、または、表示部５０に表示された第１のパラメータの値ではなく任意の値を設定値に決定した場合、パラメータ選択部２４は、対話操作処理部３０を介して設定値を取得する。例えば、作業者が、プログラム生成パラメータＰＡ１４４について「６．５」を設定値として決定すると、パラメータ選択部２４は、「下穴ドリルの呼び径」についての設定値である「６．５」を取得する。パラメータ選択部２４は、加工プログラム生成部２３へ設定値を入力する。
【０２１６】
加工プログラム生成部２３は、選択された第１のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部２３は、「下穴ドリルの呼び径」について「６．５」を取得することによって、タップ工程における下穴ドリルの呼び径を「６．５」に設定する。
【０２１７】
ここで、加工プログラム生成部２３は、指定された第１のパラメータである「穴加工方法」と、「下穴ドリルの呼び径」の値である「６．５」を、編集操作解析部２６へ入力する。これにより、ステップＳ５１において、編集操作解析部２６は、編集操作から第１のパラメータの値を取得する。
【０２１８】
次に、ステップＳ５２において、加工プログラム生成部２３は、加工プログラムおよび工程形状ＳＨ７１から第２のパラメータの値を取得する。すなわち、加工プログラム生成部２３は、指定された第１のパラメータに基づいて第２のパラメータを絞り込む。加工プログラム生成部２３は、プログラム生成パラメータＰＡ１４４にて必要な第２のパラメータとして、素材材質「Ｓ４５Ｃ」、工程形状ＳＨ７１の上面の中心座標「５５．０，３０．０，−１３．０」、工程形状ＳＨ７１の下面の中心座標「５５．０，３０．０，−２３．０」、工程形状ＳＨ７１の穴径「６．６」、工程形状ＳＨ７１の穴深さ「１０．０」、工程形状ＳＨ７１の座穴径「１１．６」、工程形状ＳＨ７１の座穴深さ「４．３」を取得する。また、加工プログラム生成部２３は、第２のパラメータとして、調整済みのパラメータである穴加工方法「タップ」を取得する。加工プログラム生成部２３は、取得された第２のパラメータを編集操作解析部２６へ入力する。
【０２１９】
ステップＳ５３において、編集操作解析部２６は、第１のパラメータと、第１のパラメータに基づいて絞り込まれた第２のパラメータとを用いて、第１のパラメータおよび第２のパラメータを含むデータセットを生成する。編集操作解析部２６は、生成されたデータセットを機械学習部１４へ入力する。
【０２２０】
機械学習部１４は、学習モデル記憶部１５から学習モデルを読み出す。ステップＳ５４において、機械学習部１４は、編集操作解析部２６から入力されるデータセットに従って、学習モデルの追加学習処理である機械学習処理を行う。機械学習部１４は、追加学習処理によって、学習モデルを更新する。機械学習部１４は、追加学習処理によって、第１のパラメータごとに、第１のパラメータと第２のパラメータとの関係を示す学習モデルを更新する。ステップＳ５５において、学習モデル記憶部１５は、追加学習によって更新された学習モデルを記憶する。これにより、機械学習装置１０および加工プログラム生成装置２０は、図１５に示す手順による編集操作解析処理および追加学習処理を終了する。
【０２２１】
次に、パラメータ選択部２４が、推論する第１のパラメータの種類である「座穴エンドミルの呼び径」を指定した場合について説明する。パラメータ選択部２４は、第１のパラメータを推論するための第２のパラメータとして、素材材質「Ｓ４５Ｃ」、工程形状ＳＨ７１の穴径「６．６」、工程形状ＳＨ７１の穴深さ「１０．０」、工程形状ＳＨ７１の座穴径「１１．６」、工程形状ＳＨ７１の座穴深さ「４．３」の各パラメータを取得する。パラメータ選択部２４は、これらの第２のパラメータを含む入力データを推論部２７へ入力する。
【０２２２】
パラメータ選択部２４は、推論結果である第１のパラメータの値を推論部２７から取得する。ここで、パラメータ選択部２４が、推論結果として、第１のパラメータである「座穴エンドミルの呼び径」として「８．０」の値を取得したとする。推論部２７に入力される複数の第２のパラメータと、推論結果である第１のパラメータとを合わせて、プログラム生成パラメータＰＡ１４５と称する。推論部２７は、学習モデル記憶部１５に記憶された学習モデルのうち、指定された第１のパラメータに対応する学習モデルを読み出す。推論部２７は、推論結果である第１のパラメータの値をパラメータ選択部２４へ出力する。
【０２２３】
次に、パラメータ選択部２４は、推論結果である第１のパラメータの値を提示する。パラメータ選択部２４は、第１のパラメータの値を、対話操作処理部３０を介して表示部５０へ送る。パラメータ選択部２４は、第１のパラメータの値を表示部５０に表示させることによって、第１のパラメータの値を提示する。
【０２２４】
作業者が、表示部５０に表示された第１のパラメータの値をそのまま設定値に決定した場合、または、表示部５０に表示された第１のパラメータの値ではなく任意の値を設定値に決定した場合、パラメータ選択部２４は、対話操作処理部３０を介して設定値を取得する。例えば、作業者が、プログラム生成パラメータＰＡ１４５について「１０．０」を設定値として決定すると、パラメータ選択部２４は、「座穴エンドミルの呼び径」についての設定値である「１０．０」を取得する。パラメータ選択部２４は、加工プログラム生成部２３へ設定値を入力する。
【０２２５】
加工プログラム生成部２３は、選択された第１のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部２３は、「座穴エンドミルの呼び径」について「１０．０」を取得することによって、タップ工程における座穴エンドミルの呼び径を「１０．０」に設定する。
【０２２６】
ここで、加工プログラム生成部２３は、指定された第１のパラメータである「穴加工方法」と、「座穴エンドミルの呼び径」の値である「１０．０」を、編集操作解析部２６へ入力する。これにより、ステップＳ５１において、編集操作解析部２６は、編集操作から第１のパラメータの値を取得する。
【０２２７】
次に、ステップＳ５２において、加工プログラム生成部２３は、加工プログラムおよび工程形状ＳＨ７１から第２のパラメータの値を取得する。すなわち、加工プログラム生成部２３は、指定された第１のパラメータに基づいて第２のパラメータを絞り込む。加工プログラム生成部２３は、プログラム生成パラメータＰＡ１４５にて必要な第２のパラメータとして、素材材質「Ｓ４５Ｃ」、工程形状ＳＨ７１の上面の中心座標「５５．０，３０．０，−１３．０」、工程形状ＳＨ７１の下面の中心座標「５５．０，３０．０，−２３．０」、工程形状ＳＨ７１の穴径「６．６」、工程形状ＳＨ７１の穴深さ「１０．０」、工程形状ＳＨ７１の座穴径「１１．６」、工程形状ＳＨ７１の座穴深さ「４．３」を取得する。また、加工プログラム生成部２３は、第２のパラメータとして、調整済みのパラメータである穴加工方法「タップ」を取得する。加工プログラム生成部２３は、取得された第２のパラメータを編集操作解析部２６へ入力する。
【０２２８】
ステップＳ５３において、編集操作解析部２６は、第１のパラメータと、第１のパラメータに基づいて絞り込まれた第２のパラメータとを用いて、第１のパラメータおよび第２のパラメータを含むデータセットを生成する。編集操作解析部２６は、生成されたデータセットを機械学習部１４へ入力する。
【０２２９】
機械学習部１４は、学習モデル記憶部１５から学習モデルを読み出す。ステップＳ５４において、機械学習部１４は、編集操作解析部２６から入力されるデータセットに従って、学習モデルの追加学習処理である機械学習処理を行う。機械学習部１４は、追加学習処理によって、学習モデルを更新する。機械学習部１４は、追加学習処理によって、第１のパラメータごとに、第１のパラメータと第２のパラメータとの関係を示す学習モデルを更新する。ステップＳ５５において、学習モデル記憶部１５は、追加学習によって更新された学習モデルを記憶する。これにより、機械学習装置１０および加工プログラム生成装置２０は、図１５に示す手順による編集操作解析処理および追加学習処理を終了する。
【０２３０】
次に、パラメータ選択部２４が、推論する第１のパラメータである「タップの呼び径」を指定した場合について説明する。パラメータ選択部２４は、第１のパラメータを推論するための第２のパラメータとして、素材材質「Ｓ４５Ｃ」、工程形状ＳＨ７１の穴径「６．６」、工程形状ＳＨ７１の穴深さ「１０．０」、工程形状ＳＨ７１の座穴径「１１．６」、工程形状ＳＨ７１の座穴深さ「４．３」の各パラメータを取得する。パラメータ選択部２４は、これらの第２のパラメータを含む入力データを推論部２７へ入力する。
【０２３１】
パラメータ選択部２４は、推論結果である第１のパラメータの複数の値とともに、当該複数の値の各々についての加工プログラムへの使用の確率を推論部２７から取得する。すなわち、パラメータ選択部２４は、第１のパラメータの複数の値と確率とのセットを取得する。
【０２３２】
ここで、パラメータ選択部２４が、推論結果として、第１のパラメータである「タップの呼び径」について「０」から「２」の３個の値を取得したとする。「０」は、「Ｍ７×１」、すなわちメートルねじについて呼び「７」およびピッチ「１」を表す。「１」は、「Ｍ７×０．７５」、すなわちメートルねじについて呼び「７」およびピッチ「０．７５」を表す。「２」は、「Ｍ７×０．５」、すなわちメートルねじについて呼び「７」およびピッチ「０．５」を表す。
【０２３３】
また、パラメータ選択部２４が、推論結果として、当該３個の各値について、「０」：０．１、「１」：０．１、「２」：０．８の各確率を取得したとする。「０」：０．１は、加工プログラムに「０」が使用される確率が１０％であることを表す。「１」：０．１は、加工プログラムに「１」が使用される確率が１０％であることを表す。「２」：０．８は、加工プログラムに「２」が使用される確率が８０％であることを表す。
【０２３４】
ここで、推論部２７に入力される複数の第２のパラメータと、推論結果である第１のパラメータとを合わせて、プログラム生成パラメータＰＡ１４６と称する。推論部２７は、学習モデル記憶部１５に記憶された学習モデルのうち、指定された第１のパラメータに対応する学習モデルを読み出す。推論部２７は、読み出された学習モデルと、入力データである第２のパラメータとを使用して、第１のパラメータの値ごとの確率を求める。推論部２７は、第１のパラメータの各値と確率とのセットである推論結果をパラメータ選択部２４へ出力する。
【０２３５】
次に、パラメータ選択部２４は、推論結果である第１のパラメータの値を、確率とともに提示する。パラメータ選択部２４は、第１のパラメータの各値と確率とを、対話操作処理部３０を介して表示部５０へ送る。パラメータ選択部２４は、第１のパラメータの各値と確率との一覧を表示部５０に表示させることによって、第１のパラメータの値と確率とを提示する。
【０２３６】
作業者が、表示部５０に表示された第１のパラメータの複数の値の中から任意の値を選択すると、パラメータ選択部２４は、選択された第１のパラメータの値を取得する。パラメータ選択部２４は、対話操作処理部３０を介して、選択された第１のパラメータの値を取得する。例えば、作業者が、プログラム生成パラメータＰＡ１４６について、「Ｍ７×１」すなわち「０」を選択した場合、パラメータ選択部２４は、第１のパラメータである「タップの呼び径」について「０」を取得する。パラメータ選択部２４は、選択された値を加工プログラム生成部２３へ入力する。
【０２３７】
加工プログラム生成部２３は、選択された第１のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部２３は、「タップの呼び径」について「０」を取得することによって、タップ工程におけるタップの呼び径を「Ｍ７×１」に設定する。
【０２３８】
ここで、加工プログラム生成部２３は、指定された第１のパラメータである「面加工方法」と、「タップの呼び径」の値である「０」を、編集操作解析部２６へ入力する。これにより、ステップＳ５１において、編集操作解析部２６は、編集操作から第１のパラメータの値を取得する。
【０２３９】
次に、ステップＳ５２において、加工プログラム生成部２３は、加工プログラムおよび工程形状ＳＨ７１から第２のパラメータの値を取得する。すなわち、加工プログラム生成部２３は、指定された第１のパラメータに基づいて第２のパラメータを絞り込む。加工プログラム生成部２３は、プログラム生成パラメータＰＡ１４６にて必要な第２のパラメータとして、素材材質「Ｓ４５Ｃ」、工程形状ＳＨ７１の上面の中心座標「５５．０，３０．０，−１３．０」、工程形状ＳＨ７１の下面の中心座標「５５．０，３０．０，−２３．０」、工程形状ＳＨ７１の穴径「６．６」、工程形状ＳＨ７１の穴深さ「１０．０」、工程形状ＳＨ７１の座穴径「１１．６」、工程形状ＳＨ７１の座穴深さ「４．３」を取得する。また、加工プログラム生成部２３は、第２のパラメータとして、調整済みのパラメータである穴加工方法「タップ」を取得する。加工プログラム生成部２３は、取得された第２のパラメータを編集操作解析部２６へ入力する。
【０２４０】
ステップＳ５３において、編集操作解析部２６は、第１のパラメータと、第１のパラメータの種類に基づいて絞り込まれた第２のパラメータとを用いて、第１のパラメータおよび第２のパラメータを含むデータセットを生成する。編集操作解析部２６は、生成されたデータセットを機械学習部１４へ入力する。
【０２４１】
機械学習部１４は、学習モデル記憶部１５から学習モデルを読み出す。ステップＳ５４において、機械学習部１４は、編集操作解析部２６から入力されるデータセットに従って、学習モデルの追加学習処理である機械学習処理を行う。機械学習部１４は、追加学習処理によって、学習モデルを更新する。機械学習部１４は、追加学習処理によって、第１のパラメータごとに、第１のパラメータと第２のパラメータとの関係を示す学習モデルを更新する。ステップＳ５５において、学習モデル記憶部１５は、追加学習によって更新された学習モデルを記憶する。これにより、機械学習装置１０および加工プログラム生成装置２０は、図１５に示す手順による編集操作解析処理および追加学習処理を終了する。
【０２４２】
次に、機械学習装置１０および加工プログラム生成装置２０のハードウェア構成について説明する。図１６は、図１に示す機械学習装置１０および加工プログラム生成装置２０のハードウェア構成を示す図である。図１に示す各機能部は、プロセッサ６１と、プロセッサ６１がワークエリアに用いるメモリ６２と、数値制御装置１００の各機能を記述したコンピュータプログラムを記憶する記憶装置６３と、作業者との間の入力インタフェースである入力装置６４と、作業者に情報を表示する出力装置である表示装置６５と、被制御機器または他の数値制御装置などとの通信機能を有する通信装置６６とを備える。プロセッサ６１、メモリ６２、記憶装置６３、入力装置６４、表示装置６５および通信装置６６は、データバス６７により互いに接続されている。
【０２４３】
プロセッサ６１は、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、ＣＰＵ（Central  Processing  Unit）、またはＤＳＰ（Digital  Signal  Processor）などである。メモリ６２は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable  Programmable  ROM）、またはＥＥＰＲＯＭ（登録商標）（Electrically  EPROM）などの、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、またはＤＶＤ（Digital  Versatile  Disc）などである。
【０２４４】
加工プログラム解析部１３および機械学習部１４は、例えば、メモリ６２に記憶されたコンピュータプログラムを、プロセッサ６１が読み出して実行することにより実現することができる。また、複数のプロセッサ６１および複数のメモリ６２が連携して、上記の機能を実現しても良い。また、機械学習部１４の機能の内の一部を電子回路として実装し、他の部分をプロセッサ６１およびメモリ６２を用いて上記の機能を実現しても良い。加工プログラム入力部１１の機能は、通信装置６６により実現される。加工プログラム記憶部１２および学習モデル記憶部１５の機能は、記憶装置６３により実現される。
【０２４５】
加工形状データ記憶部２２、加工プログラム生成部２３、パラメータ選択部２４、編集操作解析部２６および推論部２７は、メモリ６２に記憶されたコンピュータプログラムをプロセッサ６１が読み出して実行することにより、実現することができる。また、複数のプロセッサ６１および複数のメモリ６２が連携して上記の機能を実現しても良い。加工形状データ入力部２１、加工形状データ記憶部２２、加工プログラム生成部２３、パラメータ選択部２４、編集操作解析部２６および推論部２７の機能のうちの一部を電子回路として実装し、他の部分をプロセッサ６１およびメモリ６２を用いて実現するようにしても良い。加工形状データ入力部２１、加工形状データ記憶部２２、加工プログラム生成部２３、パラメータ選択部２４、編集操作解析部２６および推論部２７の機能を実現するためのプロセッサ６１およびメモリ６２は、機械学習部１４を実現するためのプロセッサ６１およびメモリ６２と同一であってもよいし、機械学習部１４を実現するためのプロセッサ６１およびメモリ６２とは異なるプロセッサ６１およびメモリ６２が用いられても良い。加工形状データ入力部２１の機能は、通信装置６６により実現される。加工形状データ記憶部２２および加工プログラム記憶部２５の機能は、記憶装置６３により実現される。
【０２４６】
以上説明したように、実施の形態１および２にかかる機械学習装置１０は、加工プログラム１に基づいて、機械学習可能な第１のパラメータを取得する。機械学習装置１０は、取得した第１のパラメータごとに、第１のパラメータの推論に用いる第２のパラメータを抽出し、学習モデルを自動で生成することができる。この学習モデルは、過去に作成した加工プログラムに基づいて生成されているため、機械学習装置１０は、加工プログラム内に蓄積された過去の知識および経験の内容を含む学習モデルを生成することができる。
【０２４７】
また、実施の形態１および２にかかる加工プログラム生成装置２０は、機械学習装置１０が生成した学習モデルを用いて、第１のパラメータの推論を行う。作業者は、推論結果を用いて、複数の第１のパラメータの値を容易に設定することができる。加工プログラム生成装置２０は、作業者が過去に作成した加工プログラム内に蓄積された複数の知識および経験を活用して、加工プログラムを生成することができる。よって、加工プログラム生成装置２０は、作業者が所望する高品質な加工プログラムを、容易に生成することができる。
【０２４８】
また、実施の形態１および２にかかる加工プログラム生成装置２０は、推論結果として、第１のパラメータの複数の値を出力する。作業者は、第１のパラメータの複数の値の中から値を選択することで、第１のパラメータの値を容易に調整することができる。よって、加工プログラム生成装置２０は、加工プログラムの生成に要する手間と時間との低減が可能となる。
【０２４９】
また、実施の形態２にかかる機械学習装置１０および加工プログラム生成装置２０は、第１のパラメータに対する作業者の編集作業を解析し、作業者によって選択された第１のパラメータの値を基に追加学習を行う。これにより、機械学習装置１０による学習モデルの精度を高めることができる。
【０２５０】
実施の形態１および２では、機械学習装置１０および加工プログラム生成装置２０は、同一の数値制御装置１００内に組み込まれた例を示したが、かかる例に限定されない。機械学習装置１０および加工プログラム生成装置２０は、数値制御装置１００の外部に独立して設けられても良い。実施の形態１および２においては、数値制御される工作機械がマシニングセンタである場合の加工プログラムを例に説明したが、数値制御される工作機械はマシニングセンタに限定されず、他の工作機械であっても良い。
【０２５１】
以上の各実施の形態に示した構成は、本開示の内容の一例を示すものである。各実施の形態の構成は、別の公知の技術と組み合わせることが可能である。各実施の形態の構成同士が適宜組み合わせられても良い。本開示の要旨を逸脱しない範囲で、各実施の形態の構成の一部を省略または変更することが可能である。
【符号の説明】
【０２５２】
１  加工プログラム、２  ＣＡＤデータ、１０  機械学習装置、１１  加工プログラム入力部、１２  加工プログラム記憶部、１３  加工プログラム解析部、１４  機械学習部、１５  学習モデル記憶部、２０  加工プログラム生成装置、２１  加工形状データ入力部、２２  加工形状データ記憶部、２３  加工プログラム生成部、２４  パラメータ選択部、２５  加工プログラム記憶部、２６  編集操作解析部、２７  推論部、３０  対話操作処理部、４０  指示入力部、５０  表示部、６１  プロセッサ、６２  メモリ、６３  記憶装置、６４  入力装置、６５  表示装置、６６  通信装置、６７  データバス、１００  数値制御装置。
【要約】
機械学習装置（１０）は、工作機械を数値制御するための加工プログラムを、加工プログラムを編集した作業者に対応付けて記憶する加工プログラム記憶部（１２）と、作業者に対応付けられた加工プログラムを解析することによって、加工プログラムの編集における調整対象である第１のパラメータと、加工プログラムの編集における調整対象外のパラメータであって第１のパラメータの調整に使用される第２のパラメータとを加工プログラムから抽出する加工プログラム解析部（１３）と、抽出された第１のパラメータおよび第２のパラメータを含むデータセットを用いた学習によって、作業者が編集する加工プログラムの第２のパラメータから第１のパラメータの値を推論するための学習モデルを生成する機械学習部（１４）と、を備える。【図１】
0006980151.tif 000002
【図２】
0006980151.tif 000003
【図３】
0006980151.tif 000004
【図４】
0006980151.tif 000005
【図５】
0006980151.tif 000006
【図６】
0006980151.tif 000007
【図７】
0006980151.tif 000008
【図８】
0006980151.tif 000009
【図９】
0006980151.tif 000010
【図１０】
0006980151.tif 000011
【図１１】
0006980151.tif 000012
【図１２】
0006980151.tif 000013
【図１３】
0006980151.tif 000014
【図１４】
0006980151.tif 000015
【図１５】
0006980151.tif 000016
【図１６】
0006980151.tif 000017