特許第6980151号(P6980151)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三菱電機株式会社の特許一覧

特許6980151加工プログラム生成装置、加工プログラム生成方法および機械学習方法
<>
  • 特許6980151-加工プログラム生成装置、加工プログラム生成方法および機械学習方法 図000002
  • 特許6980151-加工プログラム生成装置、加工プログラム生成方法および機械学習方法 図000003
  • 特許6980151-加工プログラム生成装置、加工プログラム生成方法および機械学習方法 図000004
  • 特許6980151-加工プログラム生成装置、加工プログラム生成方法および機械学習方法 図000005
  • 特許6980151-加工プログラム生成装置、加工プログラム生成方法および機械学習方法 図000006
  • 特許6980151-加工プログラム生成装置、加工プログラム生成方法および機械学習方法 図000007
  • 特許6980151-加工プログラム生成装置、加工プログラム生成方法および機械学習方法 図000008
  • 特許6980151-加工プログラム生成装置、加工プログラム生成方法および機械学習方法 図000009
  • 特許6980151-加工プログラム生成装置、加工プログラム生成方法および機械学習方法 図000010
  • 特許6980151-加工プログラム生成装置、加工プログラム生成方法および機械学習方法 図000011
  • 特許6980151-加工プログラム生成装置、加工プログラム生成方法および機械学習方法 図000012
  • 特許6980151-加工プログラム生成装置、加工プログラム生成方法および機械学習方法 図000013
  • 特許6980151-加工プログラム生成装置、加工プログラム生成方法および機械学習方法 図000014
  • 特許6980151-加工プログラム生成装置、加工プログラム生成方法および機械学習方法 図000015
  • 特許6980151-加工プログラム生成装置、加工プログラム生成方法および機械学習方法 図000016
  • 特許6980151-加工プログラム生成装置、加工プログラム生成方法および機械学習方法 図000017
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6980151
(24)【登録日】2021年11月18日
(45)【発行日】2021年12月15日
(54)【発明の名称】加工プログラム生成装置、加工プログラム生成方法および機械学習方法
(51)【国際特許分類】
   G05B 19/4093 20060101AFI20211202BHJP
   G05B 19/409 20060101ALI20211202BHJP
   G05B 19/4155 20060101ALI20211202BHJP
【FI】
   G05B19/4093 A
   G05B19/409 Z
   G05B19/4155 V
【請求項の数】5
【全頁数】44
(21)【出願番号】特願2021-518816(P2021-518816)
(86)(22)【出願日】2021年1月13日
(86)【国際出願番号】JP2021000785
【審査請求日】2021年4月5日
【早期審査対象出願】
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】100118762
【弁理士】
【氏名又は名称】高村 順
(72)【発明者】
【氏名】松原 晋
(72)【発明者】
【氏名】入口 健二
(72)【発明者】
【氏名】金子 弘樹
【審査官】 岩▲崎▼ 優
(56)【参考文献】
【文献】 特許第6599069(JP,B1)
【文献】 特開2019−074924(JP,A)
【文献】 特開2018−128969(JP,A)
【文献】 特開2018−063656(JP,A)
【文献】 国際公開第2018/123116(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/00−19/46
(57)【特許請求の範囲】
【請求項1】
学習モデルを使用して、工作機械を数値制御するための加工プログラムを生成する加工プログラム生成装置であって、
前記加工プログラムの編集における調整対象である第1のパラメータの調整に使用されるパラメータであって前記加工プログラムの編集における調整対象外のパラメータである第2のパラメータの値が入力され、前記学習モデルを使用して前記第2のパラメータから前記第1のパラメータの値を推論し、前記第1のパラメータの複数の値を推論結果として出力する推論部と、
前記複数の値を提示することによって前記複数の値からの値の選択を受け付けるパラメータ選択部と、
前記複数の値の中から選択された値に基づいて前記加工プログラムを生成する加工プログラム生成部と、
前記加工プログラムの編集操作を解析する編集操作解析部と、
を備え、
前記パラメータ選択部は、前記複数の値とともに、前記複数の値の各々についての前記加工プログラムへの使用の確率を提示し、
前記編集操作解析部は、前記第1のパラメータの前記複数の値から選択された値を取得し、かつ、前記第1のパラメータに対応する前記第2のパラメータを前記加工プログラムから抽出することによって、前記第1のパラメータと前記第2のパラメータとを含み、かつ前記学習モデルを生成または更新するためのデータセットを生成することを特徴とする加工プログラム生成装置。
【請求項2】
学習モデルを使用して、工作機械を数値制御するための加工プログラムを生成する加工プログラム生成装置であって、
前記加工プログラムの編集における調整対象である第1のパラメータの調整に使用されるパラメータであって前記加工プログラムの編集における調整対象外のパラメータである第2のパラメータの値が入力され、前記学習モデルを使用して前記第2のパラメータから前記第1のパラメータの値を推論し、前記第1のパラメータの複数の値を推論結果として出力する推論部と、
前記複数の値を提示することによって前記複数の値からの値の選択を受け付けるパラメータ選択部と、
前記複数の値の中から選択された値に基づいて前記加工プログラムを生成する加工プログラム生成部と、
前記加工プログラムの編集操作を解析する編集操作解析部と、
を備え、
前記パラメータ選択部は、前記複数の値とともに、前記複数の値の各々が前記加工プログラムへ使用された場合に予想される加工時間を提示し、
前記編集操作解析部は、前記第1のパラメータの前記複数の値から選択された値を取得し、かつ、前記第1のパラメータに対応する前記第2のパラメータを前記加工プログラムから抽出することによって、前記第1のパラメータと前記第2のパラメータとを含み、かつ前記学習モデルを生成または更新するためのデータセットを生成することを特徴とする加工プログラム生成装置。
【請求項3】
加工プログラム生成装置が、学習モデルを使用して、工作機械を数値制御するための加工プログラムを生成する加工プログラム生成方法であって、
前記加工プログラムの編集における調整対象である第1のパラメータの調整に使用されるパラメータであって前記加工プログラムの編集における調整対象外のパラメータである第2のパラメータの値が入力され、前記学習モデルを使用して前記第2のパラメータから前記第1のパラメータの値を推論し、前記第1のパラメータの複数の値を推論結果として出力するステップと、
前記複数の値を提示することによって前記複数の値からの値の選択を受け付けるステップと、
前記複数の値の中から選択された値に基づいて前記加工プログラムを生成するステップと、
前記加工プログラムの編集操作を解析するステップと、
を含み、
前記複数の値からの値の選択を受け付けるステップでは、前記複数の値とともに、前記複数の値の各々についての前記加工プログラムへの使用の確率を提示し、
前記編集操作を解析するステップでは、前記第1のパラメータの前記複数の値から選択された値を取得し、かつ、前記第1のパラメータに対応する前記第2のパラメータを前記加工プログラムから抽出することによって、前記第1のパラメータと前記第2のパラメータとを含み、かつ前記学習モデルを生成または更新するためのデータセットを生成することを特徴とする加工プログラム生成方法。
【請求項4】
加工プログラム生成装置が、学習モデルを使用して、工作機械を数値制御するための加工プログラムを生成する加工プログラム生成方法であって、
前記加工プログラムの編集における調整対象である第1のパラメータの調整に使用されるパラメータであって前記加工プログラムの編集における調整対象外のパラメータである第2のパラメータの値が入力され、前記学習モデルを使用して前記第2のパラメータから前記第1のパラメータの値を推論し、前記第1のパラメータの複数の値を推論結果として出力するステップと、
前記複数の値を提示することによって前記複数の値からの値の選択を受け付けるステップと、
前記複数の値の中から選択された値に基づいて前記加工プログラムを生成するステップと、
前記加工プログラムの編集操作を解析するステップと、
を含み、
前記複数の値からの値の選択を受け付けるステップでは、前記複数の値とともに、前記複数の値の各々が前記加工プログラムへ使用された場合に予想される加工時間を提示し、
前記編集操作を解析するステップでは、前記第1のパラメータの前記複数の値から選択された値を取得し、かつ、前記第1のパラメータに対応する前記第2のパラメータを前記加工プログラムから抽出することによって、前記第1のパラメータと前記第2のパラメータとを含み、かつ前記学習モデルを生成または更新するためのデータセットを生成することを特徴とする加工プログラム生成方法。
【請求項5】
請求項1または2に記載の加工プログラム生成装置によって使用される学習モデルを機械学習装置によって生成する機械学習方法であって、
工作機械を数値制御するための加工プログラムであって、前記加工プログラムを編集した作業者に対応付けられた前記加工プログラムを解析することによって、前記加工プログラムの編集における調整対象である第1のパラメータと、前記加工プログラムの編集における調整対象外のパラメータであって前記第1のパラメータの調整に使用される第2のパラメータとを前記加工プログラムから抽出するステップと、
抽出された前記第1のパラメータおよび前記第2のパラメータを含むデータセットを用いた学習によって、前記作業者が編集する加工プログラムの前記第2のパラメータから前記第1のパラメータの値を推論するための前記学習モデルを生成するステップと、
を含むことを特徴とする機械学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、工作機械を数値制御するための加工プログラムを生成する加工プログラム生成装置、加工プログラム生成方法および機械学習方法に関する。
【背景技術】
【0002】
近年、数値制御装置によって制御される工作機械の分野では、複雑な形状を精密に加工できるように、工作機械の構造が複雑になり、工作機械の制御対象である軸の数が増大している。このため、数値制御対象の処理は増加しており、加工プログラムは複雑化している。加工プログラムの複雑化に伴い、加工プログラムの生成において調整を要するパラメータは多種多様に亘ることとなり、加工プログラムの生成に手間と時間とがかかっていた。
【0003】
特許文献1には、加工プログラムの生成において、機械学習を利用して加工プログラムのパラメータを調整する加工プログラム生成装置が開示されている。特許文献1の技術によると、加工プログラム生成装置は、学習モデルを用いた推論によって多種多様なパラメータの値を決定することで、加工プログラムの生成に要する手間と時間との低減が可能となる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第6599069号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
加工プログラム生成装置によって生成される加工プログラムには、加工プログラムの編集を行う作業者ごとに異なる特徴が反映され得る。特許文献1にかかる従来の技術によると、作業者が所望するパラメータの値を加工プログラム生成装置が正しく推論できるとは限らず、パラメータの値を作業者が変更しなければならない場合がある。このため、従来の技術によると、加工プログラムを容易に生成できない場合があるという問題があった。
【0006】
本開示は、上記に鑑みてなされたものであって、工作機械を数値制御するための加工プログラムを容易に生成可能とする加工プログラム生成装置を得ることを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決し、目的を達成するために、本開示にかかる加工プログラム生成装置は、学習モデルを使用して、工作機械を数値制御するための加工プログラムを生成する加工プログラム生成装置である。本開示にかかる加工プログラム生成装置は、加工プログラムの編集における調整対象である第1のパラメータの調整に使用されるパラメータであって加工プログラムの編集における調整対象外のパラメータである第2のパラメータの値が入力され、学習モデルを使用して第2のパラメータから第1のパラメータの値を推論し、第1のパラメータの複数の値を推論結果として出力する推論部と、複数の値を提示することによって複数の値からの値の選択を受け付けるパラメータ選択部と、複数の値の中から選択された値に基づいて加工プログラムを生成する加工プログラム生成部と、加工プログラムの編集操作を解析する編集操作解析部と、を備える。パラメータ選択部は、複数の値とともに、複数の値の各々についての加工プログラムへの使用の確率を提示する。編集操作解析部は、第1のパラメータの複数の値から選択された値を取得し、かつ、第1のパラメータに対応する第2のパラメータを加工プログラムから抽出することによって、第1のパラメータと第2のパラメータとを含み、かつ学習モデルを生成または更新するためのデータセットを生成する。
【発明の効果】
【0008】
本開示にかかる加工プログラム生成装置は、工作機械を数値制御するための加工プログラムを容易に生成することができるという効果を奏する。
【図面の簡単な説明】
【0009】
図1】実施の形態1にかかる機械学習装置および加工プログラム生成装置を含む数値制御装置の構成例を示すブロック図
図2図1に示す機械学習装置が行う学習モデル生成処理の手順を示すフローチャート
図3図1に示す加工プログラム生成装置が行う加工プログラム生成処理の手順を示すフローチャート
図4図1に示す機械学習装置および加工プログラム生成装置が編集操作の内容から学習モデルを生成する際に行う処理の手順を示すフローチャート
図5図1に示す機械学習装置が行う学習モデル生成処理の詳細を示すフローチャート
図6図1に示す機械学習装置が読み込む加工プログラムの例を示す図
図7図1に示す加工プログラム生成部が行う加工プログラム生成処理の詳細を示すフローチャート
図8図1に示すCADデータに基づいて生成される加工後の加工対象物の形状を示す斜視図
図9図1に示すCADデータに基づいて生成される素材形状を示す斜視図
図10図1に示す加工プログラム生成部によって生成される加工除去形状を示す斜視図
図11図1に示す加工プログラム生成部によって生成される第1の工程形状を示す斜視図
図12図1に示す加工プログラム生成部によって生成される第2の工程形状を示す斜視図
図13図1に示す加工プログラム生成部によって生成される第3の工程形状を示す斜視図
図14図1に示す加工プログラム生成部によって生成される第4の工程形状を示す斜視図
図15】実施の形態2における編集操作解析処理と追加学習処理との手順を示すフローチャート
図16図1に示す機械学習装置および加工プログラム生成装置のハードウェア構成を示す図
【発明を実施するための形態】
【0010】
以下に、実施の形態にかかる加工プログラム生成装置、加工プログラム生成方法および機械学習方法を図面に基づいて詳細に説明する。
【0011】
実施の形態1.
図1は、実施の形態1にかかる機械学習装置10および加工プログラム生成装置20を含む数値制御装置100の構成例を示すブロック図である。
【0012】
数値制御装置100は、機械学習装置10と、加工プログラム生成装置20と、対話操作処理部30と、指示入力部40と、表示部50とを有する。数値制御装置100は、不図示の工作機械に搭載され、または、工作機械に接続されて、加工プログラムに従って工作機械の動作を数値制御する。ここでは加工プログラムは、加工対象物を素材の状態から切削加工して設計形状を削り出すために用いられる。工作機械は、例えばマシニングセンタである。
【0013】
なお、図1に示す例では、機械学習装置10および加工プログラム生成装置20は、数値制御装置100に搭載されることとしたが、実施の形態1はかかる例に限定されない。例えば、機械学習装置10および加工プログラム生成装置20は、数値制御装置100と異なる装置であっても良い。また、機械学習装置10は、加工プログラム生成装置20と異なる装置であっても良い。
【0014】
機械学習装置10は、過去に作成された複数の加工プログラム1に基づいて、加工プログラム生成装置20が加工プログラムを生成する際に使用する学習モデルを生成する。すなわち、機械学習装置10に入力される加工プログラム1は、学習用の加工プログラムであり、加工プログラム生成装置20が生成する加工プログラムは、工作機械を数値制御するために作成される新規の加工プログラムである。
【0015】
加工プログラム生成装置20は、数値制御装置100の外部から加工プログラム生成装置20に入力される加工形状データに基づいて、加工プログラムを生成する。加工形状データは、設計形状を示すデータであって、例えばCAD(Computer-Aided Design)データ2である。加工プログラム生成装置20は、加工プログラムを生成する際に、機械学習装置10の学習結果である学習モデルを使用する。
【0016】
対話操作処理部30は、数値制御装置100と作業者との間のインタフェースであるとともに、機械学習装置10または加工プログラム生成装置20と作業者との間のインタフェースでもある。対話操作処理部30は、作業者が指示入力部40を介して入力した指示情報を機械学習装置10または加工プログラム生成装置20に送信する。また、対話操作処理部30は、作業者が指示入力部40を介して入力した指示情報を表示部50に表示する。
【0017】
指示入力部40は、マウス、キーボードなどの入力機器から構成される。指示入力部40は、作業者からの指示情報を受け付けて、対話操作処理部30に指示情報を送信する。
【0018】
表示部50は、液晶モニタなどの表示機器であり、加工プログラム1、CADデータ2、作業者が指示入力部40を介して入力した指示情報などを表示する。また、表示部50は、数値制御装置100、機械学習装置10、および加工プログラム生成装置20で行われる処理に関する各種の情報を表示することができる。
【0019】
機械学習装置10は、加工プログラム入力部11と、加工プログラム記憶部12と、加工プログラム解析部13と、機械学習部14と、学習モデル記憶部15とを有する。
【0020】
加工プログラム1は、数値制御装置100の外部装置から機械学習装置10へ入力される。加工プログラム入力部11は、外部装置から入力される加工プログラム1を受け付け、受け付けた加工プログラム1を加工プログラム記憶部12に入力する。加工プログラム1は、不図示の工作機械を数値制御するためのコンピュータプログラムであり、加工方法、工具、切削条件、工具軌道、素材形状、素材の材質等についての情報を含む。
【0021】
加工プログラム記憶部12は、加工プログラム1を記憶する。加工プログラム記憶部12は、加工プログラム1を編集した作業者に対応付けて、加工プログラム1を記憶する。作業者に対応付けて加工プログラム1を記憶するとは、作業者を識別可能な情報とともに加工プログラム1を記憶することを指す。作業者を識別可能な情報とは、作業者の氏名またはユーザ名、作業者ごとにあらかじめ付与された番号などである。加工プログラム1の編集とは、加工プログラム1の生成のために作業者が行う作業を指す。加工プログラム1の編集には、生成された加工プログラム1を修正する作業も含まれる。
【0022】
加工プログラム解析部13は、加工プログラム1から第1のパラメータと第2のパラメータとを抽出する。第1のパラメータと第2のパラメータとは、加工プログラム1内で使用されているパラメータである。第1のパラメータは、加工プログラム1の編集における調整対象であるパラメータである。第2のパラメータは、加工プログラム1の編集における調整対象外のパラメータであって第1のパラメータの調整に使用されるパラメータである。パラメータの調整とは、パラメータの値を決定することを指す。第1のパラメータの値は、加工プログラム1を生成する際に決定される。
【0023】
第1のパラメータは、例えば、加工方法、加工順序、工具種類、送り、切削速度、径方向切込み量、軸方向切込み量などを表すパラメータである。第2のパラメータは、例えば、素材形状、素材材質、加工形状などに基づいて値が定まるパラメータである。第2のパラメータには、調整済みのパラメータが含まれる。第1のパラメータごとに、第1のパラメータを調整する際に使用される第2のパラメータが対応付けられている。第1のパラメータは、第1のパラメータに対応する第2のパラメータに基づいて調整される。
【0024】
加工プログラム解析部13は、第1のパラメータごとに、抽出する第2のパラメータを決定し、決定した第2のパラメータを抽出する。加工プログラム解析部13は、加工プログラム1ごとに抽出された第1のパラメータおよび第2のパラメータを、機械学習部14に入力する。
【0025】
機械学習部14は、抽出された第1のパラメータおよび第2のパラメータを含むデータセットを用いた学習によって、学習モデルを生成する。機械学習部14は、作業者によって編集される加工プログラムの第2のパラメータから第1のパラメータの値を推論するための学習モデルを生成する。実施の形態1において、機械学習部14は、学習モデルを生成するための教師あり学習を行う。機械学習部14は、生成した学習モデルを学習モデル記憶部15に入力する。
【0026】
機械学習部14が用いる学習アルゴリズムはどのようなものを用いてもよい。一例として、ニューラルネットワーク、SVM(Support Vector Machine)などのアルゴリズムが挙げられる。ニューラルネットワークは、多層構造のディープラーニングであっても良い。また機械学習部14が用いる学習アルゴリズムは、遺伝的プログラミング、帰納論理プログラミング、サポートベクターマシーンなどであってもよい。機械学習は、ニューラルネットワークの重みまたはバイアスといったパラメータを最適化する処理である。
【0027】
学習モデル記憶部15は、機械学習部14の学習結果である学習モデルを記憶する。学習モデルは、入力される第2のパラメータに対する、最適な第1のパラメータの関係を示している。
【0028】
加工プログラム生成装置20は、加工形状データ入力部21と、加工形状データ記憶部22と、加工プログラム生成部23と、パラメータ選択部24と、加工プログラム記憶部25と、編集操作解析部26と、推論部27とを有する。
【0029】
加工形状データであるCADデータ2は、数値制御装置100の外部装置から加工プログラム生成装置20へ入力される。加工形状データ入力部21は、外部装置から入力されるCADデータ2を受け付け、受け付けたCADデータ2を加工形状データ記憶部22に入力する。加工形状データ記憶部22は、CADデータ2を記憶する。
【0030】
加工形状データは、切削加工品の仕上がり形状である設計形状と、素材の材質を示す情報とを含む。素材は、CADデータ2で表される設計形状が削り出される加工対象物である。加工形状データは、CADデータ2に限定されず、加工プログラム生成装置20が解釈可能なデータであれば良い。
【0031】
加工プログラム生成部23は、CADデータ2が示す設計形状を素材から削り出すための加工プログラムを生成する。パラメータ選択部24は、加工プログラム生成部23から加工プログラムを取得し、推論部27において学習データへ入力される入力データを生成する。または、パラメータ選択部24は、加工形状データ記憶部22からCADデータ2を読み出し、CADデータ2に示される加工形状に基づいて、学習データへ入力される入力データを生成しても良い。パラメータ選択部24は、加工プログラムに使用されている第2のパラメータを加工プログラムから抽出し、第2のパラメータを含む入力データを生成する。パラメータ選択部24は、生成された入力データを推論部27へ入力する。
【0032】
パラメータ選択部24は、加工プログラムを生成するために使用する複数の第1のパラメータのそれぞれについて、入力データを生成する。パラメータ選択部24は、複数の第1のパラメータの各々を指定するとともに推論部27へ入力データを渡すことによって、推論部27に第1のパラメータの推論を指示する。
【0033】
推論部27には、入力データとして、第2のパラメータを含む入力データが入力される。推論部27は、学習モデルを使用して、第2のパラメータから第1のパラメータの値を推論する。推論部27は、推論結果をパラメータ選択部24へ返す。推論部27は、推論結果として、第1のパラメータの複数の値を出力する。
【0034】
パラメータ選択部24は、推論結果である複数の値を推論部27から受ける。パラメータ選択部24は、複数の値を提示して、複数の値からの値の選択を受け付ける。実施の形態1において、パラメータ選択部24は、推論部27から受けた複数の値を、対話操作処理部30を経て表示部50へ出力することによって、複数の値を表示部50に表示させる。このように、パラメータ選択部24は、表示部50に複数の値を表示させることによって、複数の値を提示する。作業者は、指示入力部40を操作することによって、表示部50に表示された複数の値の中から値を選択する。選択された値は、対話操作処理部30を経て推論部27へ入力される。パラメータ選択部24は、選択された値を加工プログラム生成部23へ入力する。
【0035】
加工プログラム生成部23は、パラメータ選択部24から受けた第1のパラメータの値に基づいて、加工プログラムを生成する。すなわち、加工プログラム生成部23は、パラメータ選択部24において複数の値の中から選択された値に基づいて加工プログラムを生成する。加工プログラム生成部23は、生成した加工プログラムを加工プログラム記憶部25に入力する。加工プログラム記憶部25は、加工プログラムを記憶する。
【0036】
編集操作解析部26は、作業者による編集操作を解析する。編集操作解析部26は、作業者が編集した第1のパラメータごとに、加工プログラムから抽出する第2のパラメータを決定する。編集操作解析部26は、決定された第2のパラメータを加工プログラムから抽出する。編集操作解析部26は、第1のパラメータの複数の値の中から選択された値を、加工プログラム生成部23から取得する。編集操作解析部26は、第1のパラメータの複数の値から選択された値を取得し、かつ、第1のパラメータに対応する第2のパラメータを加工プログラムから抽出することによって、第1のパラメータと第2のパラメータとを含み、かつ学習モデルを生成または更新するためのデータセットを生成する。編集操作解析部26は、作業者による編集操作が行われるごとに、機械学習部14にデータセットを入力する。
【0037】
次に、数値制御装置100の動作について説明する。数値制御装置100の動作は、機械学習装置10が行う学習モデル生成処理と、加工プログラム生成装置20が行う加工プログラム生成処理とを含む。
【0038】
図2は、図1に示す機械学習装置10が行う学習モデル生成処理の手順を示すフローチャートである。学習モデル生成処理では、加工プログラム1に基づいて、加工プログラムを生成するための学習モデルが生成される。
【0039】
ステップS1において、加工プログラム入力部11は、図示しない記憶領域から、複数の加工プログラム1を読み込む。加工プログラム記憶部12は、加工プログラム1を編集した作業者に対応付けて、加工プログラム1を記憶する。
【0040】
ステップS2において、加工プログラム解析部13は、作業者に対応付けられた加工プログラム1から、第1のパラメータを抽出する。加工プログラム解析部13は、加工プログラム1に使用されている複数の第1のパラメータを抽出する。
【0041】
ステップS3において、加工プログラム解析部13は、抽出した複数の第1のパラメータについて、第1のパラメータごとに第2のパラメータを抽出する。このとき、加工プログラム解析部13は、第1のパラメータごとに、抽出する第2のパラメータを決定し、決定した第2のパラメータを抽出する。加工プログラム解析部13は、ステップS2およびステップS3の処理を、加工プログラム1ごとに行う。加工プログラム解析部13は、加工プログラム1ごとに、抽出した第1のパラメータおよび第2のパラメータを機械学習部14に入力する。
【0042】
ステップS4において、機械学習部14は、入力された第1のパラメータおよび第2のパラメータを用いて、機械学習処理を行う。機械学習部14は、第1のパラメータおよび第2のパラメータに基づいてデータセットを生成し、生成したデータセットに従って機械学習を行う。データセットは、調整対象の第1のパラメータと、当該第1のパラメータの値を決定するために使用される調整対象外のパラメータである第2のパラメータとを対応づけたデータの組である。機械学習部14は、あらかじめ定められた基準を用いて、最適化されたモデルを学習モデルとして生成する。機械学習部14は、学習結果である学習モデルを生成する。学習モデル記憶部15は、生成された学習モデルを記憶する。以上により、機械学習装置10は、図2に示す手順による学習モデル生成処理を終了する。
【0043】
図3は、図1に示す加工プログラム生成装置20が行う加工プログラム生成処理の手順を示すフローチャートである。加工プログラム生成装置20は、機械学習装置10の学習結果を使用して加工プログラムのパラメータを推論し、推論結果を使用して加工プログラムを生成する。
【0044】
ステップS11において、加工形状データ入力部21は、図示しない記憶領域から、加工形状データであるCADデータ2を読み込む。加工形状データ記憶部22は、CADデータ2を記憶する。ステップS12において、加工プログラム生成部23は、CADデータ2に基づいて加工プログラムを生成する。
【0045】
パラメータ選択部24は、加工プログラム生成部23から加工プログラムを取得する。または、パラメータ選択部24は、加工形状データ記憶部22からCADデータ2を取得する。パラメータ選択部24は、第1のパラメータを推論するための第2のパラメータを、加工プログラムまたはCADデータ2から取得する。パラメータ選択部24は、入力データである第2のパラメータを推論部27へ入力する。
【0046】
ステップS13において、推論部27は、入力データである第2のパラメータと、学習モデル記憶部15から読み出された学習モデルとを使用して、第1のパラメータを推論する。推論部27は、推論結果をパラメータ選択部24へ出力する。ステップS14において、パラメータ選択部24は、第1のパラメータの複数の値を表示部50にて表示させることによって、推論結果である第1のパラメータの値を提示する。表示部50が表示する複数の値は、加工プログラムに設定される第1のパラメータの値の候補である。作業者によって値が選択されると、パラメータ選択部24は、選択された値を加工プログラム生成部23へ入力する。
【0047】
ステップS15において、加工プログラム生成部23は、選択された第1のパラメータの値に基づいて、加工プログラムの工程を生成する。ステップS16において、加工プログラム記憶部25は、加工プログラム生成部23において生成された加工プログラムを記憶する。以上により、加工プログラム生成装置20は、図3に示す手順による加工プログラム生成処理を終了する。
【0048】
次に、加工プログラム生成装置20への編集操作の内容から学習モデルを生成する際に機械学習装置10および加工プログラム生成装置20が行う処理について説明する。図4は、図1に示す機械学習装置10および加工プログラム生成装置20が編集操作の内容から学習モデルを生成する際に行う処理の手順を示すフローチャートである。加工プログラム生成装置20は、機械学習装置10の学習結果を使用して加工プログラムのパラメータを推論し、推論結果を使用して加工プログラムを生成する。
【0049】
ステップS21において、パラメータ選択部24は、作業者によって選択された第1のパラメータの値を取得する。指示入力部40への入力操作によって選択された第1のパラメータの値は、対話操作処理部30を経てパラメータ選択部24に入力される。加工プログラム生成部23は、パラメータ選択部24から受けた第1のパラメータの値に基づいて、加工プログラムを生成する。
【0050】
ステップS22において、編集操作解析部26は、選択された第1のパラメータの値に対応する第2のパラメータを、加工プログラムまたはCADデータ2から抽出する。すなわち、編集操作解析部26は、第1のパラメータに対応する第2のパラメータを抽出する。編集操作解析部26は、作業者が選択した第1のパラメータの値と、抽出した第2のパラメータとを機械学習部14へ入力する。
【0051】
ステップS23において、機械学習部14は、入力された第1のパラメータの値と第2のパラメータとを用いて、機械学習処理を行う。機械学習部14は、第1のパラメータと第2のパラメータとを含むデータセットを生成する。機械学習部14は、学習モデル記憶部15から学習モデルを読み出す。機械学習部14は、データセットに基づいた追加学習を行うことによって、学習モデルを更新する。学習モデル記憶部15は、追加学習によって更新された学習モデルを記憶する。なお、学習モデル記憶部15に学習モデルが記憶されていない場合、機械学習部14は、データセットに基づいた学習によって、新規の学習モデルを生成する。学習モデル記憶部15は、新規の学習モデルを記憶する。以上により、機械学習装置10および加工プログラム生成装置20は、編集操作の内容から学習モデルを生成または更新する際における処理を終了する。
【0052】
次に、機械学習装置10が行う学習モデル生成処理の詳細について説明する。図5は、図1に示す機械学習装置10が行う学習モデル生成処理の詳細を示すフローチャートである。ここでは、図6に示す加工プログラムを使用して、図5に示す動作について説明する。図6は、図1に示す機械学習装置10が読み込む加工プログラムの例を示す図である。図6に示す加工プログラムは、タップ加工を行うための数値制御プログラムであり、複数のパラメータの各々についてのパラメータ名とパラメータの値とを含む。
【0053】
ステップS31において、加工プログラム入力部11は、図示しない記憶領域から、複数の加工プログラム1を読み込む。加工プログラム記憶部12は、加工プログラム1を編集した作業者に対応付けて、加工プログラム1を記憶する。ステップS32において、加工プログラム解析部13は、加工プログラム記憶部12に記憶された複数の加工プログラム1のそれぞれからパラメータを抽出する。
【0054】
図6に示す加工プログラムから抽出されるパラメータは、例えば、素材に関するパラメータ、加工に関するパラメータ、工具に関するパラメータ、加工位置に関するパラメータである。素材に関するパラメータは、素材材質「FC250」、素材外径「438」、素材内径「352」、素材長さ「530」、素材端面「30」、および、素材回転数「100」である。加工に関するパラメータは、ユニット番号「9」、加工種類「タップ加工」、加工モード「XC」、タップ呼び「M16」、外径「16」、ピッチ「2」、ネジ深さ「45」、および、面取り「0.9」である。工具に関するパラメータは、工具シーケンス番号「2」、工具種類「ドリル」、呼び径「14」、工具No.「8」、加工穴径「14」、加工穴深さ「42.7」、下穴径「0」、下穴深さ「100」、ドリル加工方法「深穴加工」、1回あたりの切込み深さ「7.1」、周速「60」、送り「0.22」、および、Mコード「M45」である。加工位置に関するパラメータは、形状パターン「円弧」、始点位置座標x「202.5」、始点位置座標y「225」、始点位置座標z「0」、個数「2」、および、角度「90」である。抽出されるパラメータには、加工プログラムを編集した作業者名、加工プログラムを使用する機械の種類も含まれる。
【0055】
図5の説明に戻る。ステップS33において、加工プログラム解析部13は、抽出したパラメータの中から、調整対象のパラメータである第1のパラメータごとに、調整対象外のパラメータである第2のパラメータを絞り込む。
【0056】
図6に示す例において、「ドリル加工方法」が第1のパラメータであって、「ドリル加工方法」の値が「0」から「3」の4個の値のいずれかであるとする。「0」はドリルサイクル、「1」は高速深穴サイクル、「2」は深穴サイクル、「3」は超深穴サイクルをそれぞれ表す。この場合において、第1のパラメータに基づいて絞り込まれる第2のパラメータは、素材材質「FC250」、素材外径「438」、素材内径「352」、素材長さ「530」、素材端面「30」、加工種類「タップ加工」、加工穴径「14」、加工穴深さ「42.7」である。
【0057】
旋削ドリルと旋削端面との順序を表す「旋削ドリルと旋削端面の加工順」が第1のパラメータであって、「旋削ドリルと旋削端面の加工順」の値が「0」または「1」とする。「0」は、旋削ドリルを先、旋削端面を後とする順序、「1」は、旋削端面を先、旋削ドリルを後とする順序をそれぞれ表す。この場合において、第1のパラメータに基づいて絞り込まれる第2のパラメータは、素材材質、素材外径、素材内径、素材長さ、素材端面、加工穴径、加工穴深さとすることができる。
【0058】
「加工部位」が第1のパラメータであって、「加工部位」の値が「0」から「3」の4個の値のいずれかであるとする。「0」は外径、「1」は内径、「2」は正面、「3」は背面をそれぞれ表す。この場合において、第1のパラメータに基づいて絞り込まれる第2のパラメータは、素材材質、素材外径、素材内径、径方向取り代、軸方向取り代とすることができる。
【0059】
旋削による加工方法である「旋削棒材加工と旋削溝入れ加工」が第1のパラメータであって、「旋削棒材加工と旋削溝入れ加工」の値が「0」または「1」とする。「0」は旋削棒材加工、「1」は旋削溝入れ加工をそれぞれ表す。この場合において、第1のパラメータに基づいて絞り込まれる第2のパラメータは、素材材質、素材外径、素材内径、径方向取り代、軸方向取り代とすることができる。
【0060】
なお、パラメータを抽出する方法は、入力パターンから得られたパラメータから機械学習に有効な特徴を選択する方法であり、総当たり法、前向き逐次特徴選択法、後ろ向き逐次特徴選択法などである。また、パラメータを抽出する方法としては、評価関数を設定して特徴変換パラメータを更新する機械学習に基づく方法もある。評価関数にパラメータのL1ノルムを正則化項として加えた「Lasso」と呼ばれる方法では、多くのパラメータの値がゼロとなるスパースな特徴変換を行うことができる。さらに、いくつかのパラメータをグループ化して「Lasso」を行うことで、グループ毎に値をゼロとする「Group Lasso」と呼ばれる方法も提案されている。また、作業者の経験に基づいてパラメータを抽出する方法もある。
【0061】
「加工方法」が第1のパラメータであって、「加工方法」の値が「0」から「39」の40個の値のいずれかであるとする。「0」から「11」は穴加工の加工方法、「12」から「20」は線加工の加工方法、「21」から「28」は面加工の加工方法、「29」から「36」は旋削加工の加工方法、「37」から「40」は穴加工、線加工、面加工および旋削加工以外の加工方法をそれぞれ表す。この場合において、加工プログラム解析部13は、「加工方法」の値を、加工プログラム1の先頭から順に抽出することができる。
【0062】
また、第1のパラメータは、「ドリル加工方法」、「旋削ドリルと旋削端面の加工順」、「加工部位」、「旋削棒材加工と旋削溝入れ加工」、「加工方法」だけでなく、加工プログラムの生成に関する項目であって、調整対象のパラメータであれば良い。例えば、第1のパラメータは、「旋削加工の素材の回転数」、「旋削工具の呼び」、「切込−X」、「切込−Z」、「仕上げ代−X」、「仕上げ代−Z」、「周速」、「送り」などでも良い。旋削加工または穴加工だけでなく、線加工、面加工、ヘッド選択、ワーク移動などの、加工プログラムに関する全ての項目が第1のパラメータとなり得る。また、第1のパラメータは、整数値だけでなく、線形回帰を用いれば実数値でもよい。
【0063】
図5の説明に戻る。ステップS34において、加工プログラム解析部13は、第1のパラメータと、第1のパラメータに基づいて絞り込まれた第2のパラメータとを用いて、第1のパラメータおよび第2のパラメータを含むデータセットを生成する。加工プログラム解析部13は、生成したデータセットを機械学習部14に入力する。
【0064】
ステップS35において、機械学習部14は、加工プログラム解析部13から入力されるデータセットに従って、機械学習処理を行う。機械学習部14は、機械学習処理によって、第1のパラメータごとに、第1のパラメータと第2のパラメータとの関係を示す学習モデルを生成する。ステップS36において、学習モデル記憶部15は、生成された学習モデルを記憶する。なお、加工プログラム1から学習モデルを生成する技術は、特許第6599069号公報などに示されている技術を使用することができる。
【0065】
次に、加工プログラム生成装置20が行う加工プログラム生成処理の詳細について説明する。図7は、図1に示す加工プログラム生成部23が行う加工プログラム生成処理の詳細を示すフローチャートである。以下では、工具を回転させながら工具を移動することによって加工対象物を削るミーリング加工に関する加工プログラム生成処理の例を説明する。
【0066】
ステップS41において、加工プログラム生成部23は、加工形状データ記憶部22に記憶されたCADデータ2を読み込む。CADデータ2は、加工前の素材の形状と加工後の加工対象物の形状とを含む設計データである。図8は、図1に示すCADデータ2に基づいて生成される加工後の加工対象物の形状を示す斜視図である。以下、加工後の加工対象物の形状を、加工形状と称する。図8には、具体例にかかる加工形状SH1を示す。
【0067】
図7の説明に戻る。ステップS42において、加工プログラム生成部23は、読み込んだCADデータ2に基づいて、図8に示すような加工形状SH1を生成する。加工プログラム生成部23は、プログラム原点に加工形状SH1を配置する。プログラム原点は、プログラム座標系の加工原点である。なお、ステップS42からステップS45において、形状の生成とは、仮想空間における形状の生成を指すものとする。
【0068】
プログラム座標系は、X軸、Y軸およびZ軸の3軸の直交座標系である。X軸方向は、図中横方向である。X軸方向におけるプラスは、横方向のうち右の方とする。Y軸方向は、図中前後方向である。Y軸方向におけるプラスは、前後方向のうち後の方とする。Z軸方向は、図中上下方向である。Z軸方向におけるプラスは、上下方向のうち上の方とする。
【0069】
加工プログラム生成部23は、加工形状SH1のうち、X軸座標が最小となる部位とY軸座標が最小となる部位とZ軸座標が最大となる部位とがプログラム原点に一致するように加工形状SH1を配置することによって、加工形状SH1をプログラム原点に配置する。
【0070】
図7の説明に戻る。ステップS43において、加工プログラム生成部23は、読み込んだCADデータ2に基づいて、加工前の素材の形状を生成する。以下、加工前の素材の形状を、素材形状と称する。素材形状は、具体的には、プログラム原点に配置された加工形状SH1を包含する3次元の直方体形状である。加工プログラム生成部23は、生成された素材形状を、加工形状SH1と同様にプログラム座標系に配置する。
【0071】
図9は、図1に示すCADデータ2に基づいて生成される素材形状を示す斜視図である。図9には、具体例にかかる素材形状SH2を示す。素材形状SH2の寸法は、X軸方向、Y軸方向およびZ軸方向の各方向における、加工形状SH1の座標の最大値および最小値に基づいて求めることができる。
【0072】
加工形状SH1の上面を仕上げる上面加工が行われるため、Z軸方向における素材形状SH2の寸法は、加工形状SH1よりも2mmから3mm程度大きい寸法とする。加工プログラム生成部23は、+Z軸方向側における素材形状SH2の上面がプログラム原点と一致するように素材形状SH2を配置する。このため、加工プログラム生成部23は、素材形状SH2の上面から−Z軸方向に加工形状SH1を平行移動させる。具体的には、加工プログラム生成部23は、−Z軸方向に2mmから3mm、加工形状SH1を平行移動させる。ここでは、素材形状SH2は、X軸方向の寸法が80mm、Y軸方向の寸法が60mm、Z軸方向の寸法が23mmとする。素材材質はS45Cとする。
【0073】
図7の説明に戻る。ステップS44において、加工プログラム生成部23は、素材形状SH2から除去される部分の形状を生成する。以下、除去される部分の形状を、加工除去形状と称する。図10は、図1に示す加工プログラム生成部23によって生成される加工除去形状を示す斜視図である。図10には、具体例にかかる加工除去形状SH3を示す。加工プログラム生成部23は、素材形状SH2のソリッドモデルから加工形状SH1のソリッドモデルを差し引く差演算によって、加工除去形状SH3を求めることができる。
【0074】
図7の説明に戻る。ステップS45において、加工プログラム生成部23は、工程ごとの除去される部分の形状を生成する。以下、工程ごとの除去される部分の形状を、工程形状と称する。加工形状SH1は、複数の工程によって素材形状SH2から削り出される。工程形状は、複数の工程の各々において除去される部分の形状である。
【0075】
ここで、面を削り出す第1および第2の面加工と、穴あけを行う穴加工と、座ぐり穴を形成する座ぐり穴加工との各工程によって加工形状SH1が形成される場合における各工程形状について説明する。第1の面加工によって除去される部分の形状を第1の工程形状、第2の面加工によって除去される部分の形状を第2の工程形状、穴加工によって除去される部分の形状を第3の工程形状、座ぐり穴加工によって除去される部分の形状を第4の工程形状とする。
【0076】
図11は、図1に示す加工プログラム生成部23によって生成される第1の工程形状を示す斜視図である。図11に示す工程形状SH4は、第1の工程形状の具体例である。図12は、図1に示す加工プログラム生成部23によって生成される第2の工程形状を示す斜視図である。図12に示す工程形状SH5は、第2の工程形状の具体例である。図13は、図1に示す加工プログラム生成部23によって生成される第3の工程形状を示す斜視図である。図13に示す工程形状SH6は、第3の工程形状の具体例である。図14は、図1に示す加工プログラム生成部23によって生成される第4の工程形状を示す斜視図である。図14に示す工程形状SH7は、第4の工程形状の具体例である。加工除去形状SH3は、工程形状SH4と、工程形状SH5と、工程形状SH6と、工程形状SH7とを組み合わせた形状である。
【0077】
工程形状SH6は、4つの円柱形状SH61,SH62,SH63,SH64を含む。工程形状SH7は、2つの段付き円柱形状SH71,SH72を含む。加工プログラム生成部23は、あらかじめ設定された直径以下の複数の円柱形状を加工除去形状SH3から抽出して、複数の円柱形状を、円柱形状SH61,SH62,SH63,SH64と段付き円柱形状SH71,SH72との各々に分割する。段付き円柱形状SH71,SH72は、互いに異なる直径の2つの円柱形状をZ軸方向において隣接させたものである。加工プログラム生成部23は、隣接する円柱形状は1つの形状として扱う。このようにして、加工プログラム生成部23は、工程形状SH6と工程形状SH7とを生成する。
【0078】
次に、加工プログラム生成部23は、加工除去形状SH3のうち工程形状SH6,SH7が除かれることによって残された段付き形状の部分を分割する。当該段付き形状における段の高さ方向は、Z軸方向である。加工プログラム生成部23は、Z軸方向に垂直なXY平面により当該段付き形状を2つに分割する。このようにして、加工プログラム生成部23は、工程形状SH4と工程形状SH5とを生成する。なお、第1の面加工は、上記の上面加工である。第2の面加工は、工程形状SH4よりも−Z軸方向側の部分を矩形にくり抜く加工である。かかる矩形における四隅の各々には、丸みが付けられている。
【0079】
図7の説明に戻る。パラメータ選択部24は、第1のパラメータを推論するための第2のパラメータを、加工プログラムまたはCADデータ2から取得する。パラメータ選択部24は、推論する第1のパラメータを指定して、推論部27に第2のパラメータを入力する。ステップS46において、パラメータ選択部24は、推論結果である第1のパラメータの値を推論部27から取得する。
【0080】
ここで、パラメータ選択部24が、推論する第1のパラメータである「面加工方法」を指定したとする。パラメータ選択部24は、第1のパラメータを推論するための第2のパラメータとして、素材材質「S45C」、工程形状SH4の上面座標「80.0,60.0,0.0」、工程形状SH4の下面座標「0.0,0.0,−3.0」、工程形状SH4のX軸方向寸法「80.0」、工程形状SH4のY軸方向寸法「60.0」、工程形状SH4のZ軸方向寸法「3.0」、水平方向において工程形状SH4と隣接する形状「無」、工程形状SH4に含まれる山形状「無」、工程形状SH4に含まれる谷形状「無」の各パラメータを取得する。パラメータ選択部24は、これらの第2のパラメータを含む入力データを推論部27へ入力する。
【0081】
なお、パラメータ選択部24は、素材形状が生成される際に設定された素材材質を、第2のパラメータとして取得する。また、パラメータ選択部24は、工程形状SH4を解析することによって、工程形状SH4の座標と寸法の値とを取得する。パラメータ選択部24は、第2のパラメータとして、作業者名、機械の種類を取得しても良い。
【0082】
パラメータ選択部24は、推論結果である第1のパラメータの複数の値とともに、当該複数の値の各々についての加工プログラムへの使用の確率を推論部27から取得する。すなわち、パラメータ選択部24は、第1のパラメータの複数の値と確率とのセットを取得する。
【0083】
ここで、パラメータ選択部24が、推論結果として、第1のパラメータである「面加工方法」について「0」から「4」の5個の値を取得したとする。「0」は、フェイスミルによって平面加工を行うフェイスミル工程を表す。「1」は、エンドミルによって平面加工を行うエンドミル工程を表す。「2」は、エンドミルによる平面加工を、一部の形状を残しながら行うエンドミル山工程を表す。「3」は、エンドミルによってポケット加工を行うポケットミル工程を表す。「4」は、エンドミルによるポケット加工を、一部の形状を残しながら行うポケット山工程を表す。
【0084】
また、パラメータ選択部24が、推論結果として、当該5個の各値について、「0」:0.8、「1」:0.15、「2」:0.0、「3」:0.05、「4」:0.0の各確率を取得したとする。「0」:0.8は、加工プログラムに「0」が使用される確率が80%であることを表す。「1」:0.15は、加工プログラムに「1」が使用される確率が15%であることを表す。「2」:0.0は、加工プログラムに「2」が使用される確率が0%であることを表す。「3」:0.05は、加工プログラムに「3」が使用される確率が5%であることを表す。「4」:0.0は、加工プログラムに「4」が使用される確率が0%であることを表す。
【0085】
ここで、推論部27に入力される複数の第2のパラメータと、推論結果である第1のパラメータとを合わせて、プログラム生成パラメータPA121と称する。推論部27は、学習モデル記憶部15に記憶された学習モデルのうち、指定された第1のパラメータに対応する学習モデルを読み出す。推論部27は、読み出された学習モデルと、入力データである第2のパラメータとを使用して、第1のパラメータの値ごとの確率を求める。推論部27は、第1のパラメータの各値と確率とのセットである推論結果をパラメータ選択部24へ出力する。
【0086】
次に、ステップS47において、パラメータ選択部24は、推論結果である第1のパラメータの値を、確率とともに提示する。パラメータ選択部24は、第1のパラメータの各値と確率とを、対話操作処理部30を介して表示部50へ送る。パラメータ選択部24は、第1のパラメータの各値と確率との一覧を表示部50に表示させることによって、第1のパラメータの値と確率とを提示する。表示部50は、任意の態様で、第1のパラメータの各値と確率とを表示することができる。表示部50は、第1のパラメータの各値と確率とを、確率が高い順に並べ替えて表示しても良い。表示部50は、第1のパラメータの各値のうち、確率があらかじめ設定された値以上である値のみを表示しても良い。作業者は、第1のパラメータの値が確率とともに提示されることによって、第1のパラメータの値を容易に選択することができる。
【0087】
なお、パラメータ選択部24は、推論結果である第1のパラメータの複数の値とともに、複数の値の各々が加工プログラムへ使用された場合に予想される加工時間を提示しても良い。パラメータ選択部24は、工程形状SH4の加工をシミュレーションすることによって、予想される加工時間を求めることができる。作業者は、第1のパラメータの値が予想される加工時間とともに提示されることによって、第1のパラメータの値を容易に選択することができる。
【0088】
作業者が、表示部50に表示された第1のパラメータの複数の値の中から任意の値を選択すると、ステップS48において、パラメータ選択部24は、選択された第1のパラメータの値を取得する。パラメータ選択部24は、対話操作処理部30を介して、選択された第1のパラメータの値を取得する。例えば、作業者が、プログラム生成パラメータPA121について、「フェイスミル工程」すなわち「0」を選択した場合、パラメータ選択部24は、第1のパラメータである「面加工方法」について「0」を取得する。パラメータ選択部24は、選択された値を加工プログラム生成部23へ入力する。
【0089】
ステップS49において、加工プログラム生成部23は、選択された第1のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部23は、「面加工方法」について「0」を取得することによって、フェイスミル工程を生成する。
【0090】
ステップS50において、加工プログラム生成部23は、加工プログラムに使用される全ての第1のパラメータについて工程の生成が完了したか否かを判断する。工程の生成が完了していない場合(ステップS50,No)、加工プログラム生成装置20は、手順をステップS46に戻す。
【0091】
加工プログラム生成装置20は、加工プログラムに使用される全ての第1のパラメータについて工程の生成が完了するまで、ステップS46からステップS50の処理を繰り返す。すなわち、加工プログラム生成装置20は、加工プログラムに使用される第1のパラメータの数だけ、ステップS46からステップS50の処理を繰り返す。
【0092】
次に、パラメータ選択部24が、推論する第1のパラメータである「フェイスミル工程の仕上げ代」を指定したとする。パラメータ選択部24は、第1のパラメータを推論するための第2のパラメータとして、素材材質「S45C」、取り代−Z「3.0」、工程形状SH4の上面座標「80.0,60.0,0.0」、工程形状SH4の下面座標「0.0,0.0,−3.0」、工程形状SH4のX軸方向寸法「80.0」、工程形状SH4のY軸方向寸法「60.0」、工程形状SH4のZ軸方向寸法「3.0」、水平方向において工程形状SH4に隣接する形状「無」、工程形状SH4に含まれる山形状「無」、工程形状SH4に含まれる谷形状「無」、工程形状SH4の底面粗さ「1.6」の各パラメータを取得する。パラメータ選択部24は、これらの第2のパラメータを含む入力データを推論部27へ入力する。
【0093】
なお、パラメータ選択部24は、底面粗さは工程形状SH4の下面に対応する加工形状SH1の面の属性である底面粗さ情報を、第2のパラメータとして取得する。パラメータ選択部24は、例えば、算出平均粗さRaの値を底面粗さとして取得する。
【0094】
ステップS46において、パラメータ選択部24は、推論結果である第1のパラメータの値を推論部27から取得する。ここで、パラメータ選択部24が、推論結果として、第1のパラメータである「仕上げ代」として「0.3」の値を取得したとする。推論部27に入力される複数の第2のパラメータと、推論結果である第1のパラメータとを合わせて、プログラム生成パラメータPA122と称する。推論部27は、学習モデル記憶部15に記憶された学習モデルのうち、指定された第1のパラメータに対応する学習モデルを読み出す。推論部27は、推論結果である第1のパラメータの値をパラメータ選択部24へ出力する。推論部27は、第1のパラメータが連続値である場合、回帰の機械学習を行い、推論結果である数値をパラメータ選択部24へ出力する。
【0095】
次に、ステップS47において、パラメータ選択部24は、推論結果である第1のパラメータの値を提示する。パラメータ選択部24は、第1のパラメータの値を、対話操作処理部30を介して表示部50へ送る。パラメータ選択部24は、第1のパラメータの値を表示部50に表示させることによって、第1のパラメータの値を提示する。
【0096】
作業者が、表示部50に表示された第1のパラメータの値をそのまま設定値に決定した場合、または、表示部50に表示された第1のパラメータの値ではなく任意の値を設定値に決定した場合、ステップS48において、パラメータ選択部24は、対話操作処理部30を介して設定値を取得する。例えば、作業者が、プログラム生成パラメータPA122について「0.3」を設定値として決定すると、パラメータ選択部24は、「仕上げ代」についての設定値である「0.3」を取得する。パラメータ選択部24は、加工プログラム生成部23へ設定値を入力する。
【0097】
ステップS49において、加工プログラム生成部23は、第1のパラメータの設定値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部23は、「仕上げ代」の値である「0.3」を取得することによって、フェイスミル工程の仕上げ代Z値を0.3に設定する。
【0098】
次に、パラメータ選択部24が、推論する第1のパラメータである「フェイスミル工程の工具呼び径」を指定したとする。パラメータ選択部24は、第1のパラメータを推論するための第2のパラメータとして、素材材質「S45C」、取り代−Z「3.0」、工程形状SH4の上面座標「80.0,60.0,0.0」、工程形状SH4の下面座標「0.0,0.0,−3.0」、工程形状SH4のX軸方向寸法「80.0」、工程形状SH4のY軸方向寸法「60.0」、工程形状SH4のZ軸方向寸法「3.0」、水平方向において工程形状SH4と隣接する形状「無」、工程形状SH4に含まれる山形状「無」、工程形状SH4に含まれる谷形状「無」、工具用途「荒」の各パラメータを取得する。パラメータ選択部24は、これらの第2のパラメータを含む入力データを推論部27へ入力する。
【0099】
ステップS46において、パラメータ選択部24は、推論結果である第1のパラメータの値を推論部27から取得する。パラメータ選択部24は、推論結果である第1のパラメータの複数の値とともに、当該複数の値の各々についての加工プログラムへの使用の確率を推論部27から取得する。
【0100】
ここで、パラメータ選択部24が、推論結果として、第1のパラメータである「フェイスミル工程の工具呼び径」について「30」、「40」、「50」、「60」の4個の値を取得したとする。各値は、フェイスミル工程の工具呼び径を表す。また、パラメータ選択部24が、推論結果として、当該4個の各値について、「30」:0.7、「40」:0.1、「50」:0.1、「60」:0.05の各確率を取得したとする。「30」:0.7は、フェイスミル工程の工具呼び径が30とされる確率が70%であることを表す。「40」:0.1は、フェイスミル工程の工具呼び径が40とされる確率が10%であることを表す。「50」:0.1は、フェイスミル工程の工具呼び径が50とされる確率が10%であることを表す。「60」:0.05は、フェイスミル工程の工具呼び径が60とされる確率が5%であることを表す。
【0101】
ここで、推論部27に入力される複数の第2のパラメータと、推論結果である第1のパラメータとを合わせて、プログラム生成パラメータPA123と称する。推論部27は、学習モデル記憶部15に記憶された学習モデルのうち、指定された第1のパラメータに対応する学習モデルを読み出す。推論部27は、読み出された学習モデルと、入力データである第2のパラメータとを使用して、第1のパラメータの値ごとの確率を求める。推論部27は、第1のパラメータの各値と確率とのセットである推論結果をパラメータ選択部24へ出力する。
【0102】
次に、ステップS47において、パラメータ選択部24は、推論結果である第1のパラメータの値を、確率とともに提示する。パラメータ選択部24は、第1のパラメータの各値と確率とを、対話操作処理部30を介して表示部50へ送る。パラメータ選択部24は、第1のパラメータの各値と確率との一覧を表示部50に表示させることによって、第1のパラメータの値と確率とを提示する。
【0103】
作業者が、表示部50に表示された第1のパラメータの複数の値の中から任意の値を選択すると、ステップS48において、パラメータ選択部24は、選択された第1のパラメータの値を取得する。パラメータ選択部24は、対話操作処理部30を介して、選択された第1のパラメータの値を取得する。例えば、作業者が、プログラム生成パラメータPA123について「30」を選択した場合、パラメータ選択部24は、第1のパラメータである「フェイスミル工程の工具呼び径」の値である「30」を取得する。パラメータ選択部24は、選択された値を加工プログラム生成部23へ入力する。
【0104】
ステップS49において、加工プログラム生成部23は、選択された第1のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部23は、「フェイスミル工程の工具呼び径」について「30」を取得することによって、フェイスミル工程の荒加工における工具呼び径を「30」に設定する。
【0105】
次に、パラメータ選択部24が、推論する第1のパラメータである「フェイスミル工程の加工方法」を指定したとする。パラメータ選択部24は、第1のパラメータを推論するための第2のパラメータとして、素材材質「S45C」、取り代−Z「3.0」、工程形状SH4の上面座標「80.0,60.0,0.0」、工程形状SH4の下面座標「0.0,0.0,−3.0」、工程形状SH4のX軸方向寸法「80.0」、工程形状SH4のY軸方向寸法「60.0」、工程形状SH4のZ軸方向寸法「3.0」、水平方向において工程形状SH4に隣接する形状「無」、工程形状SH4に含まれる山形状「無」、工程形状SH4に含まれる谷形状「無」、加工用途「荒」の各パラメータを取得する。パラメータ選択部24は、これらの第2のパラメータを含む入力データを推論部27へ入力する。
【0106】
ステップS46において、パラメータ選択部24は、推論結果である第1のパラメータの値を推論部27から取得する。パラメータ選択部24は、推論結果である第1のパラメータの複数の値とともに、当該複数の値の各々についての加工プログラムへの使用の確率を推論部27から取得する。
【0107】
ここで、パラメータ選択部24が、推論結果として、第1のパラメータである「フェイスミル工程の加工方法」について、「0」から「3」の4個の値を取得したとする。「0」は、フェイスミルをX軸方向に往復させる切削を表す。「1」は、フェイスミルをY軸方向に往復させる切削を表す。「2」は、フェイスミルをX軸方向の1方向へ移動させる切削を表す。「3」は、フェイスミルをY軸方向の1方向へ移動させる切削を表す。
【0108】
また、パラメータ選択部24が、推論結果として、当該4個の各値について、「0」:0.8、「1」:0.1、「2」:0.05、「3」:0.05の各確率を取得したとする。「0」:0.8は、加工プログラムに「0」が使用される確率が80%であることを表す。「1」:0.1は、加工プログラムに「1」が使用される確率が10%であることを表す。「2」:0.05は、加工プログラムに「2」が使用される確率が5%であることを表す。「3」:0.05は、加工プログラムに「3」が使用される確率が5%であることを表す。
【0109】
ここで、推論部27に入力される複数の第2のパラメータと、推論結果である第1のパラメータとを合わせて、プログラム生成パラメータPA124と称する。推論部27は、学習モデル記憶部15に記憶された学習モデルのうち、指定された第1のパラメータに対応する学習モデルを読み出す。推論部27は、読み出された学習モデルと、入力データである第2のパラメータとを使用して、第1のパラメータの値ごとの確率を求める。推論部27は、第1のパラメータの各値と確率とのセットである推論結果をパラメータ選択部24へ出力する。
【0110】
次に、ステップS47において、パラメータ選択部24は、推論結果である第1のパラメータの値を、確率とともに提示する。パラメータ選択部24は、第1のパラメータの各値と確率とを、対話操作処理部30を介して表示部50へ送る。パラメータ選択部24は、第1のパラメータの各値と確率との一覧を表示部50に表示させることによって、第1のパラメータの値と確率とを提示する。
【0111】
作業者が、表示部50に表示された第1のパラメータの複数の値の中から任意の値を選択すると、ステップS48において、パラメータ選択部24は、選択された第1のパラメータの値を取得する。パラメータ選択部24は、対話操作処理部30を介して、選択された第1のパラメータの値を取得する。例えば、作業者が、プログラム生成パラメータPA124について、フェイスミルをX軸方向に往復させる切削、すなわち「0」を選択した場合、パラメータ選択部24は、選択された値である「0」を取得する。パラメータ選択部24は、選択された値を加工プログラム生成部23へ入力する。
【0112】
ステップS49において、加工プログラム生成部23は、選択された第1のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部23は、「フェイスミル工程の加工方法」について「0」を取得することによって、フェイスミル工程の荒加工における加工方法を「X軸方向往復」に設定する。
【0113】
次に、パラメータ選択部24が、推論する第1のパラメータである「フェイスミル工程の工具呼び径」を指定したとする。パラメータ選択部24は、第1のパラメータを推論するための第2のパラメータとして、素材材質「S45C」、取り代−Z「3.0」、工程形状SH4の上面座標「80.0,60.0,0.0」、工程形状SH4の下面座標「0.0,0.0,−3.0」、工程形状SH4のX軸方向寸法「80.0」、工程形状SH4のY軸方向寸法「60.0」、工程形状SH4のZ軸方向寸法「3.0」、水平方向において工程形状SH4と隣接する形状「無」、工程形状SH4に含まれる山形状「無」、工程形状SH4に含まれる谷形状「無」、工具用途「仕上げ」の各パラメータを取得する。パラメータ選択部24は、これらの第2のパラメータを含む入力データを推論部27へ入力する。
【0114】
ステップS46において、パラメータ選択部24は、推論結果である第1のパラメータの値を推論部27から取得する。パラメータ選択部24は、推論結果である第1のパラメータの複数の値とともに、当該複数の値の各々についての加工プログラムへの使用の確率を推論部27から取得する。
【0115】
ここで、パラメータ選択部24が、推論結果として、第1のパラメータである「フェイスミル工程の工具呼び径」について「30」、「40」、「50」、「60」の4個の値を取得したとする。各値は、フェイスミルの工具呼び径を表す。また、パラメータ選択部24が、推論結果として、当該4個の各値について、「30」:0.8、「40」:0.2、「50」:0.0、「60」:0.0の各確率を取得したとする。「30」:0.8は、フェイスミル工程の工具呼び径が30とされる確率が80%であることを表す。「40」:0.2は、フェイスミル工程の工具呼び径が40とされる確率が20%であることを表す。「50」:0.0は、フェイスミル工程の工具呼び径が50とされる確率が0%であることを表す。「60」:0.0は、フェイスミル工程の工具呼び径が60とされる確率が0%であることを表す。
【0116】
ここで、推論部27に入力される複数の第2のパラメータと、推論結果である第1のパラメータとを合わせて、プログラム生成パラメータPA125と称する。推論部27は、学習モデル記憶部15に記憶された学習モデルのうち、指定された第1のパラメータに対応する学習モデルを読み出す。推論部27は、読み出された学習モデルと、入力データである第2のパラメータとを使用して、第1のパラメータの値ごとの確率を求める。推論部27は、第1のパラメータの各値と確率とのセットである推論結果をパラメータ選択部24へ出力する。
【0117】
次に、ステップS47において、パラメータ選択部24は、推論結果である第1のパラメータの値を、確率とともに提示する。パラメータ選択部24は、第1のパラメータの各値と確率とを、対話操作処理部30を介して表示部50へ送る。パラメータ選択部24は、第1のパラメータの各値と確率との一覧を表示部50に表示させることによって、第1のパラメータの値と確率とを提示する。
【0118】
作業者が、表示部50に表示された第1のパラメータの複数の値の中から任意の値を選択すると、ステップS48において、パラメータ選択部24は、選択された第1のパラメータの値を取得する。パラメータ選択部24は、対話操作処理部30を介して、選択された第1のパラメータの値を取得する。例えば、作業者が、プログラム生成パラメータPA125について「30」を選択した場合、パラメータ選択部24は、第1のパラメータである「フェイスミル工程の工具呼び径」の値である「30」を取得する。パラメータ選択部24は、選択された値を加工プログラム生成部23へ入力する。
【0119】
ステップS49において、加工プログラム生成部23は、選択された第1のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部23は、「フェイスミル工程の工具呼び径」について「30」を取得することによって、フェイスミル工程の仕上げ加工における工具呼び径を「30」と設定する。
【0120】
工程の生成が完了していない場合(ステップS50,No)において、次に、パラメータ選択部24が、推論する第1のパラメータである「フェイスミルの加工方法」を指定したとする。パラメータ選択部24は、第1のパラメータを推論するための第2のパラメータとして、素材材質「S45C」、取り代−Z「3.0」、工程形状SH4の上面座標「80.0,60.0,0.0」、工程形状SH4の下面座標「0.0,0.0,−3.0」、工程形状SH4のX軸方向寸法「80.0」、工程形状SH4のY軸方向寸法「60.0」、工程形状SH4のZ軸方向寸法「3.0」、水平方向において工程形状SH4に隣接する形状「無」、工程形状SH4に含まれる山形状「無」、工程形状SH4に含まれる谷形状「無」、加工用途「仕上げ」の各パラメータを取得する。パラメータ選択部24は、これらの第2のパラメータを含む入力データを推論部27へ入力する。
【0121】
ステップS46において、パラメータ選択部24は、推論結果である第1のパラメータの値を推論部27から取得する。パラメータ選択部24は、推論結果である第1のパラメータの複数の値とともに、当該複数の値の各々についての加工プログラムへの使用の確率を推論部27から取得する。
【0122】
ここで、パラメータ選択部24が、推論結果として、第1のパラメータである「フェイスミルの加工方法」について、「0」から「3」の4個の値を取得したとする。「0」は、フェイスミルをX軸方向に往復させる切削を表す。「1」は、フェイスミルをY軸方向に往復させる切削を表す。「2」は、フェイスミルをX軸方向の1方向へ移動させる切削を表す。「3」は、フェイスミルをY軸方向の1方向へ移動させる切削を表す。
【0123】
また、パラメータ選択部24が、推論結果として、当該4個の各値について、「0」:0.9、「1」:0.1、「2」:0.0、「3」:0.0の各確率を取得したとする。「0」:0.9は、加工プログラムに「0」が使用される確率が90%であることを表す。「1」:0.1は、加工プログラムに「1」が使用される確率が10%であることを表す。「2」:0.0は、加工プログラムに「2」が使用される確率が0%であることを表す。「3」:0.0は、加工プログラムに「3」が使用される確率が0%であることを表す。
【0124】
ここで、推論部27に入力される複数の第2のパラメータと、推論結果である第1のパラメータとを合わせて、プログラム生成パラメータPA126と称する。推論部27は、学習モデル記憶部15に記憶された学習モデルのうち、指定された第1のパラメータに対応する学習モデルを読み出す。推論部27は、読み出された学習モデルと、入力データである第2のパラメータとを使用して、第1のパラメータの値ごとの確率を求める。推論部27は、第1のパラメータの各値と確率とのセットである推論結果をパラメータ選択部24へ出力する。
【0125】
次に、ステップS47において、パラメータ選択部24は、推論結果である第1のパラメータの値を、確率とともに提示する。パラメータ選択部24は、第1のパラメータの各値と確率とを、対話操作処理部30を介して表示部50へ送る。パラメータ選択部24は、第1のパラメータの各値と確率との一覧を表示部50に表示させることによって、第1のパラメータの値と確率とを提示する。
【0126】
作業者が、表示部50に表示された第1のパラメータの複数の値の中から任意の値を選択すると、ステップS48において、パラメータ選択部24は、選択された第1のパラメータの値を取得する。パラメータ選択部24は、対話操作処理部30を介して、選択された第1のパラメータの値を取得する。例えば、作業者が、プログラム生成パラメータPA126について「0」を選択した場合、パラメータ選択部24は、選択された値である「0」を取得する。パラメータ選択部24は、選択された値を加工プログラム生成部23へ入力する。
【0127】
ステップS49において、加工プログラム生成部23は、選択された第1のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部23は、「フェイスミル工程の加工方法」について「0」を取得することによって、フェイスミル工程の仕上げ加工における加工方法を「X軸方向往復」に設定する。
【0128】
加工プログラム生成装置20は、工程形状SH4についての工程の生成が完了すると、工程形状SH4の場合と同様に、工程形状SH5についてもステップS46からステップS50の処理を繰り返す。これにより、加工プログラム生成装置20は、工程形状SH5について、ポケットミル工程の仕上げ代、ポケットミル工程の荒加工における工具呼び径、ポケットミル工程の仕上げ加工における加工方法、ポケットミル工程の仕上げ加工における工具呼び径、ポケットミル工程の仕上げ加工における加工方法を設定する。
【0129】
工程形状SH4,SH5についての工程の生成が完了すると、パラメータ選択部24は、工程形状SH61について、推論する第1のパラメータである「穴加工方法」を指定する。パラメータ選択部24は、第1のパラメータを推論するための第2のパラメータとして、素材材質「S45C」、工程形状SH61の上面の中心座標「7.0,7.0,−3.0」、工程形状SH61の下面の中心座標「7.0,7.0,−23.0」、工程形状SH61の穴径「6.4」、工程形状SH61の穴深さ「23.0」、工程形状SH61の座穴径「0.0」、工程形状SH61の座穴深さ「0.0」の各パラメータを取得する。パラメータ選択部24は、これらの第2のパラメータを含む入力データを推論部27へ入力する。
【0130】
ステップS46において、パラメータ選択部24は、推論結果である第1のパラメータの値を推論部27から取得する。パラメータ選択部24は、推論結果である第1のパラメータの複数の値とともに、当該複数の値の各々についての加工プログラムへの使用の確率を推論部27から取得する。
【0131】
ここで、パラメータ選択部24が、推論結果として、第1のパラメータである「穴加工方法」について「0」から「3」の4個の値を取得したとする。「0」は、ドリルによる穴加工を行うドリル工程を表す。「1」は、座ぐり穴を形成するための穴加工を行う座ぐり穴工程を表す。「2」は、リーマによる仕上げ加工を行うリーマ工程を表す。「3」は、タップによるねじ切り加工を行うタップ工程を表す。
【0132】
また、パラメータ選択部24が、推論結果として、当該4個の各値について、「0」:0.6、「1」:0.05、「2」:0.1、「3」:0.25の各確率を取得したとする。「0」:0.6は、加工プログラムに「0」が使用される確率が60%であることを表す。「1」:0.05は、加工プログラムに「1」が使用される確率が5%であることを表す。「2」:0.1は、加工プログラムに「2」が使用される確率が10%であることを表す。「3」:0.25は、加工プログラムに「3」が使用される確率が25%であることを表す。
【0133】
ここで、推論部27に入力される複数の第2のパラメータと、推論結果である第1のパラメータとを合わせて、プログラム生成パラメータPA131と称する。推論部27は、学習モデル記憶部15に記憶された学習モデルのうち、指定された第1のパラメータに対応する学習モデルを読み出す。推論部27は、読み出された学習モデルと、入力データである第2のパラメータとを使用して、第1のパラメータの値ごとの確率を求める。推論部27は、第1のパラメータの各値と確率とのセットである推論結果をパラメータ選択部24へ出力する。
【0134】
次に、ステップS47において、パラメータ選択部24は、推論結果である第1のパラメータの値を、確率とともに提示する。パラメータ選択部24は、第1のパラメータの各値と確率とを、対話操作処理部30を介して表示部50へ送る。パラメータ選択部24は、第1のパラメータの各値と確率との一覧を表示部50に表示させることによって、第1のパラメータの値と確率とを提示する。
【0135】
作業者が、表示部50に表示された第1のパラメータの複数の値の中から任意の値を選択すると、ステップS48において、パラメータ選択部24は、選択された第1のパラメータの値を取得する。パラメータ選択部24は、対話操作処理部30を介して、選択された第1のパラメータの値を取得する。例えば、作業者が、プログラム生成パラメータPA131についてドリル工程、すなわち「0」を選択した場合、パラメータ選択部24は、選択された値である「0」を取得する。パラメータ選択部24は、選択された値を加工プログラム生成部23へ入力する。
【0136】
ステップS49において、加工プログラム生成部23は、選択された第1のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部23は、「穴加工方法」について「0」を取得することによって、工程形状SH61の穴加工方法を「ドリル工程」に設定する。
【0137】
次に、パラメータ選択部24が、推論する第1のパラメータである「ドリルの呼び径」を指定したとする。パラメータ選択部24は、第1のパラメータを推論するための第2のパラメータとして、素材材質「S45C」、工程形状SH61の穴径「6.4」、工程形状SH61の穴深さ「23.0」、工程形状SH61の座穴径「0.0」、工程形状SH61の座穴深さ「0.0」の各パラメータを取得する。パラメータ選択部24は、これらの第2のパラメータを含む入力データを推論部27へ入力する。
【0138】
ステップS46において、パラメータ選択部24は、推論結果である第1のパラメータの値を推論部27から取得する。ここで、パラメータ選択部24が、推論結果として、第1のパラメータである「ドリルの呼び径」として「6.0」の値を取得したとする。推論部27に入力される複数の第2のパラメータと、推論結果である第1のパラメータとを合わせて、プログラム生成パラメータPA132と称する。推論部27は、学習モデル記憶部15に記憶された学習モデルのうち、指定された第1のパラメータに対応する学習モデルを読み出す。推論部27は、推論結果である第1のパラメータの値をパラメータ選択部24へ出力する。推論部27は、回帰の機械学習を行う。推論部27は、分類による機械学習を行っても良い。
【0139】
次に、ステップS47において、パラメータ選択部24は、推論結果である第1のパラメータの値を提示する。パラメータ選択部24は、第1のパラメータの値を、対話操作処理部30を介して表示部50へ送る。パラメータ選択部24は、第1のパラメータの値を表示部50に表示させることによって、第1のパラメータの値を提示する。
【0140】
作業者が、表示部50に表示された第1のパラメータの値をそのまま設定値に決定した場合、または、表示部50に表示された第1のパラメータの値ではなく任意の値を設定値に決定した場合、ステップS48において、パラメータ選択部24は、対話操作処理部30を介して設定値を取得する。例えば、作業者が、プログラム生成パラメータPA132について「6.0」を設定値として決定すると、パラメータ選択部24は、「ドリルの呼び径」についての設定値である「6.0」を取得する。パラメータ選択部24は、加工プログラム生成部23へ設定値を入力する。
【0141】
ステップS49において、加工プログラム生成部23は、第1のパラメータの設定値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部23は、「ドリルの呼び径」の値である「6.0」を取得することによって、ドリル工程におけるドリルの呼び径を6.0に設定する。
【0142】
次に、パラメータ選択部24が、推論する第1のパラメータである「ドリル加工方法」を指定したとする。パラメータ選択部24は、第1のパラメータを推論するための第2のパラメータとして、素材材質「S45C」、工程形状SH61の穴径「6.4」、工程形状SH61の穴深さ「23.0」、工程形状SH61の座穴径「0.0」、工程形状SH61の座穴深さ「0.0」、工程形状SH61の穴タイプ「貫通穴」の各パラメータを取得する。パラメータ選択部24は、これらの第2のパラメータを含む入力データを推論部27へ入力する。
【0143】
ステップS46において、パラメータ選択部24は、推論結果である第1のパラメータの値を推論部27から取得する。パラメータ選択部24は、推論結果である第1のパラメータの複数の値とともに、当該複数の値の各々についての加工プログラムへの使用の確率を推論部27から取得する。
【0144】
ここで、パラメータ選択部24が、推論結果として、第1のパラメータである「ドリル加工方法」について、「0」または「1」を取得したとする。「0」は、1度でドリル加工するドリルサイクルを表す。「1」は、ドリル加工を行い、指定された切込み量に達すると、あらかじめ設定された位置までドリルを上昇させて再度ドリル加工を行う深穴サイクルを表す。
【0145】
また、パラメータ選択部24が、推論結果として、当該2個の各値について、「0」:1.0、「1」:0.0の各確率を取得したとする。「0」:1.0は、加工プログラムに「0」が使用される確率が100%であることを表す。「1」:0.0は、加工プログラムに「1」が使用される確率が0%であることを表す。
【0146】
ここで、推論部27に入力される複数の第2のパラメータと、推論結果である第1のパラメータとを合わせて、プログラム生成パラメータPA133と称する。推論部27は、学習モデル記憶部15に記憶された学習モデルのうち、指定された第1のパラメータに対応する学習モデルを読み出す。推論部27は、読み出された学習モデルと、入力データである第2のパラメータとを使用して、第1のパラメータの値ごとの確率を求める。推論部27は、第1のパラメータの各値と確率とのセットである推論結果をパラメータ選択部24へ出力する。
【0147】
次に、ステップS47において、パラメータ選択部24は、推論結果である第1のパラメータの値を、確率とともに提示する。パラメータ選択部24は、第1のパラメータの各値と確率とを、対話操作処理部30を介して表示部50へ送る。パラメータ選択部24は、第1のパラメータの各値と確率との一覧を表示部50に表示させることによって、第1のパラメータの値と確率とを提示する。
【0148】
作業者が、表示部50に表示された第1のパラメータの複数の値の中から任意の値を選択すると、ステップS48において、パラメータ選択部24は、選択された第1のパラメータの値を取得する。パラメータ選択部24は、対話操作処理部30を介して、選択された第1のパラメータの値を取得する。例えば、作業者が、プログラム生成パラメータPA133について、1度でドリル加工するドリルサイクル、すなわち「0」を選択した場合、パラメータ選択部24は、選択された値である「0」を取得する。パラメータ選択部24は、選択された値を加工プログラム生成部23へ入力する。
【0149】
ステップS49において、加工プログラム生成部23は、選択された第1のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部23は、「ドリル加工方法」について「0」を取得することによって、ドリル加工方法を「1度でドリル加工するドリルサイクル」に設定する。
【0150】
加工プログラム生成装置20は、工程形状SH61についての工程の生成が完了すると、工程形状SH61の場合と同様に、工程形状SH62,SH63,SH64についてもステップS46からステップS50の処理を繰り返す。
【0151】
工程形状SH4,SH5,SH6についての工程の生成が完了すると、パラメータ選択部24は、工程形状SH71について、推論する第1のパラメータである「穴加工方法」を指定する。パラメータ選択部24は、第1のパラメータを推論するための第2のパラメータとして、素材材質「S45C」、工程形状SH71の上面の中心座標「55.0,30.0,−13.0」、工程形状SH71の下面中心座標「55.0,30.0,−23.0」、工程形状SH71の穴径「6.6」、工程形状SH71の穴深さ「10.0」、工程形状SH71の座穴径「11.6」、工程形状SH71の座穴深さ「4.3」の各パラメータを取得する。パラメータ選択部24は、これらの第2のパラメータを含む入力データを推論部27へ入力する。
【0152】
ステップS46において、パラメータ選択部24は、推論結果である第1のパラメータの値を推論部27から取得する。パラメータ選択部24は、推論結果である第1のパラメータの複数の値とともに、当該複数の値の各々についての加工プログラムへの使用の確率を推論部27から取得する。
【0153】
ここで、パラメータ選択部24が、推論結果として、第1のパラメータである「穴加工方法」について「0」から「3」の4個の値を取得したとする。「0」は、ドリルによる穴加工を行うドリル工程を表す。「1」は、座ぐり穴を形成するための穴加工を行う座ぐり穴工程を表す。「2」は、リーマによる仕上げ加工を行うリーマ工程を表す。「3」は、タップによるねじ切り加工を行うタップ工程を表す。
【0154】
また、パラメータ選択部24が、推論結果として、当該4個の各値について、「0」:0.0、「1」:0.6、「2」:0.1、「3」:0.3の各確率を取得したとする。「0」:0.0は、加工プログラムに「0」が使用される確率が0%であることを表す。「1」:0.6は、加工プログラムに「1」が使用される確率が60%であることを表す。「2」:0.1は、加工プログラムに「2」が使用される確率が10%であることを表す。「3」:0.3は、加工プログラムに「3」が使用される確率が30%であることを表す。
【0155】
ここで、推論部27に入力される複数の第2のパラメータと、推論結果である第1のパラメータとを合わせて、プログラム生成パラメータPA134と称する。推論部27は、学習モデル記憶部15に記憶された学習モデルのうち、指定された第1のパラメータに対応する学習モデルを読み出す。推論部27は、読み出された学習モデルと、入力データである第2のパラメータとを使用して、第1のパラメータの値ごとの確率を求める。推論部27は、第1のパラメータの各値と確率とのセットである推論結果をパラメータ選択部24へ出力する。
【0156】
次に、ステップS47において、パラメータ選択部24は、推論結果である第1のパラメータの値を、確率とともに提示する。パラメータ選択部24は、第1のパラメータの各値と確率とを、対話操作処理部30を介して表示部50へ送る。パラメータ選択部24は、第1のパラメータの各値と確率との一覧を表示部50に表示させることによって、第1のパラメータの値と確率とを提示する。
【0157】
作業者が、表示部50に表示された第1のパラメータの複数の値の中から任意の値を選択すると、ステップS48において、パラメータ選択部24は、選択された第1のパラメータの値を取得する。パラメータ選択部24は、対話操作処理部30を介して、選択された第1のパラメータの値を取得する。例えば、作業者が、プログラム生成パラメータPA134について座ぐり穴工程、すなわち「1」を選択した場合、パラメータ選択部24は、選択された値である「1」を取得する。パラメータ選択部24は、選択された値を加工プログラム生成部23へ入力する。
【0158】
ステップS49において、加工プログラム生成部23は、選択された第1のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部23は、「穴加工方法」について「1」を取得することによって、工程形状SH71の穴加工方法を「座ぐり穴工程」に設定する。
【0159】
次に、パラメータ選択部24が、推論する第1のパラメータである「下穴ドリルの呼び径」を指定したとする。パラメータ選択部24は、第1のパラメータを推論するための第2のパラメータとして、素材材質「S45C」、工程形状SH71の穴径「6.6」、工程形状SH71の穴深さ「10.0」、工程形状SH71の座穴径「11.6」、工程形状SH71の座穴深さ「4.3」、穴加工方法「座ぐり穴」の各パラメータを取得する。パラメータ選択部24は、これらの第2のパラメータを含む入力データを推論部27へ入力する。
【0160】
ステップS46において、パラメータ選択部24は、推論結果である第1のパラメータの値を推論部27から取得する。ここで、パラメータ選択部24が、推論結果として、第1のパラメータである「下穴ドリルの呼び径」として「6.6」の値を取得したとする。推論部27に入力される複数の第2のパラメータと、推論結果である第1のパラメータとを合わせて、プログラム生成パラメータPA135と称する。推論部27は、学習モデル記憶部15に記憶された学習モデルのうち、指定された第1のパラメータに対応する学習モデルを読み出す。推論部27は、推論結果である第1のパラメータの値をパラメータ選択部24へ出力する。
【0161】
次に、ステップS47において、パラメータ選択部24は、推論結果である第1のパラメータの値を提示する。パラメータ選択部24は、第1のパラメータの値を、対話操作処理部30を介して表示部50へ送る。パラメータ選択部24は、第1のパラメータの値を表示部50に表示させることによって、第1のパラメータの値を提示する。
【0162】
作業者が、表示部50に表示された第1のパラメータの値をそのまま設定値に決定した場合、または、表示部50に表示された第1のパラメータの値ではなく任意の値を設定値に決定した場合、ステップS48において、パラメータ選択部24は、対話操作処理部30を介して設定値を取得する。例えば、作業者が、プログラム生成パラメータPA135について「6.6」を設定値として決定すると、パラメータ選択部24は、「下穴ドリルの呼び径」についての設定値である「6.6」を取得する。パラメータ選択部24は、加工プログラム生成部23へ設定値を入力する。
【0163】
ステップS49において、加工プログラム生成部23は、第1のパラメータの設定値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部23は、「下穴ドリルの呼び径」の値である「6.6」を取得することによって、座ぐり穴工程における下穴ドリルの呼び径を6.6に設定する。
【0164】
次に、パラメータ選択部24が、推論する第1のパラメータである「座穴エンドミルの呼び径」を指定したとする。パラメータ選択部24は、第1のパラメータを推論するための第2のパラメータとして、素材材質「S45C」、工程形状SH71の穴径「6.6」、工程形状SH71の穴深さ「10.0」、工程形状SH71の座穴径「11.6」、工程形状SH71の座穴深さ「4.3」、穴加工方法「座ぐり穴」の各パラメータを取得する。パラメータ選択部24は、これらの第2のパラメータを含む入力データを推論部27へ入力する。
【0165】
ステップS46において、パラメータ選択部24は、推論結果である第1のパラメータの値を推論部27から取得する。ここで、パラメータ選択部24が、推論結果として、第1のパラメータである「座穴エンドミルの呼び径」として「8.0」の値を取得したとする。推論部27に入力される複数の第2のパラメータと、推論結果である第1のパラメータとを合わせて、プログラム生成パラメータPA136と称する。推論部27は、学習モデル記憶部15に記憶された学習モデルのうち、指定された第1のパラメータに対応する学習モデルを読み出す。推論部27は、推論結果である第1のパラメータの値をパラメータ選択部24へ出力する。
【0166】
次に、ステップS47において、パラメータ選択部24は、推論結果である第1のパラメータの値を提示する。パラメータ選択部24は、第1のパラメータの値を、対話操作処理部30を介して表示部50へ送る。パラメータ選択部24は、第1のパラメータの値を表示部50に表示させることによって、第1のパラメータの値を提示する。
【0167】
作業者が、表示部50に表示された第1のパラメータの値をそのまま設定値に決定した場合、または、表示部50に表示された第1のパラメータの値ではなく任意の値を設定値に決定した場合、ステップS48において、パラメータ選択部24は、対話操作処理部30を介して設定値を取得する。例えば、作業者が、プログラム生成パラメータPA136について「8.0」を設定値として決定すると、パラメータ選択部24は、「座穴エンドミルの呼び径」についての設定値である「8.0」を取得する。パラメータ選択部24は、加工プログラム生成部23へ設定値を入力する。
【0168】
ステップS49において、加工プログラム生成部23は、第1のパラメータの設定値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部23は、「座穴エンドミルの呼び径」の値である「8.0」を取得することによって、座ぐり穴工程における座穴エンドミルの呼び径を8.0に設定する。
【0169】
加工プログラム生成装置20は、工程形状SH71についての工程の生成が完了すると、工程形状SH71の場合と同様に、工程形状SH72についてもステップS46からステップS50の処理を繰り返す。
【0170】
加工プログラムに使用される全ての第1のパラメータについて工程の生成が完了した場合、(ステップS50,Yes)、加工プログラム生成装置20は、図7の手順による加工プログラム生成処理を終了する。
【0171】
加工プログラム生成部23は、図7の手順による加工プログラム生成処理を行うことによって、プログラム生成パラメータPA121−PA126の参照により、作業者が所望する加工形状SH1を素材から削り出すための面加工工程を生成することができる。また、加工プログラム生成部23は、加工形状SH1を削り出すための、互いに異なる複数の面加工工程を効率良く生成することができる。
【0172】
加工プログラム生成部23は、図7の手順による加工プログラム生成処理を行うことによって、プログラム生成パラメータPA131−PA136の参照により、作業者が所望する加工形状SH1を素材から削り出すための穴加工工程を生成することができる。また、加工プログラム生成部23は、加工形状SH1を削り出すための、互いに異なる複数の穴加工工程を効率良く生成することができる。
【0173】
実施の形態1によると、機械学習装置10は、作業者の編集によって過去に生成された加工プログラムを基に学習モデルを生成する。加工プログラム生成装置20は、かかる学習モデルを使用して第1のパラメータを決定する。作業者の編集によって生成された加工プログラムには、作業者の知識および経験が蓄積されている。このため、加工プログラム生成装置20は、作業者が手作業によって加工プログラムを生成する場合と同様の加工プログラムを、効率良く、かつ容易に生成することができる。加工プログラム生成装置20は、加工プログラムを生成する際に調整を要するパラメータが多種多様に亘る場合であっても、加工プログラムを容易に生成することができる。
【0174】
実施の形態2.
実施の形態2では、加工プログラム生成装置20が行う編集操作解析処理と、機械学習装置10が行う追加学習処理との詳細について説明する。実施の形態2にかかる数値制御装置100は、実施の形態1にかかる数値制御装置100と同様の構成を有する。実施の形態2において、数値制御装置100の動作は、実施の形態1と同様に、機械学習装置10が行う学習モデル生成処理と、加工プログラム生成装置20が行う加工プログラム生成処理とを含む。
【0175】
図15は、実施の形態2における編集操作解析処理と追加学習処理との手順を示すフローチャートである。ここでは、図11に示す工程形状SH4を例として、編集操作解析処理と追加学習処理とを説明する。機械学習装置10は、学習モデルを生成する。学習モデル生成処理の概要については、実施の形態1と同様であるため、ここでは説明を省略する。また、加工プログラム生成装置20は、加工プログラムを生成する。加工プログラム生成処理の概要についても、実施の形態1と同様であるため、ここでは説明を省略する。
【0176】
ここで、パラメータ選択部24が、推論する第1のパラメータである「面加工方法」を指定したとする。パラメータ選択部24は、第1のパラメータを推論するための第2のパラメータとして、素材材質「S45C」、工程形状SH4の上面座標「80.0,60.0,0.0」、工程形状SH4の下面座標「0.0,0.0,−3.0」、工程形状SH4のX軸方向寸法「80.0」、工程形状SH4のY軸方向寸法「60.0」、工程形状SH4のZ軸方向寸法「3.0」、水平方向において工程形状SH4と隣接する形状「無」、工程形状SH4に含まれる山形状「無」、工程形状SH4に含まれる谷形状「無」の各パラメータを取得する。パラメータ選択部24は、これらの第2のパラメータを含む入力データを推論部27へ入力する。
【0177】
パラメータ選択部24は、推論結果である第1のパラメータの複数の値とともに、当該複数の値の各々についての加工プログラムへの使用の確率を推論部27から取得する。すなわち、パラメータ選択部24は、第1のパラメータの複数の値と確率とのセットを取得する。
【0178】
ここで、パラメータ選択部24が、推論結果として、第1のパラメータである「面加工方法」について「0」から「5」の6個の値を取得したとする。「0」は、フェイスミルによって平面加工を行うフェイスミル工程を表す。「1」は、エンドミルによって平面加工を行うエンドミル工程を表す。「2」は、エンドミルによる平面加工を、一部の形状を残しながら行うエンドミル山工程を表す。「3」は、エンドミルによってポケット加工を行うポケットミル工程を表す。「4」は、エンドミルによるポケット加工を、一部の形状を残しながら行うポケット山工程を表す。「5」は、フェイスミルまたはエンドミルによって輪郭加工を行う線加工工程を表す。
【0179】
また、パラメータ選択部24が、推論結果として、当該6個の各値について、「0」:0.8、「1」:0.15、「2」:0.0、「3」:0.05、「4」:0.0、「5」:0.0の各確率を取得したとする。「0」:0.8は、加工プログラムに「0」が使用される確率が80%であることを表す。「1」:0.15は、加工プログラムに「1」が使用される確率が15%であることを表す。「2」:0.0は、加工プログラムに「2」が使用される確率が0%であることを表す。「3」:0.05は、加工プログラムに「3」が使用される確率が5%であることを表す。「4」:0.0は、加工プログラムに「4」が使用される確率が0%であることを表す。「5」:0.0は、加工プログラムに「5」が使用される確率が0%であることを表す。
【0180】
ここで、推論部27に入力される複数の第2のパラメータと、推論結果である第1のパラメータとを合わせて、プログラム生成パラメータPA141と称する。推論部27は、学習モデル記憶部15に記憶された学習モデルのうち、指定された第1のパラメータに対応する学習モデルを読み出す。推論部27は、読み出された学習モデルと、入力データである第2のパラメータとを使用して、第1のパラメータの値ごとの確率を求める。推論部27は、第1のパラメータの各値と確率とのセットである推論結果をパラメータ選択部24へ出力する。
【0181】
次に、パラメータ選択部24は、推論結果である第1のパラメータの値を、確率とともに提示する。パラメータ選択部24は、第1のパラメータの各値と確率とを、対話操作処理部30を介して表示部50へ送る。パラメータ選択部24は、第1のパラメータの各値と確率との一覧を表示部50に表示させることによって、第1のパラメータの値と確率とを提示する。表示部50は、任意の態様で、第1のパラメータの各値と確率とを表示することができる。表示部50は、第1のパラメータの各値と確率とを、確率が高い順に並べ替えて表示しても良い。表示部50は、第1のパラメータの各値のうち、確率があらかじめ設定された値以上である値のみを表示しても良い。作業者は、第1のパラメータの値が確率とともに提示されることによって、第1のパラメータの値を容易に選択することができる。
【0182】
作業者が、表示部50に表示された第1のパラメータの複数の値の中から任意の値を選択すると、パラメータ選択部24は、選択された第1のパラメータの値を取得する。パラメータ選択部24は、対話操作処理部30を介して、選択された第1のパラメータの値を取得する。例えば、作業者が、プログラム生成パラメータPA141について、「線加工工程」すなわち「5」を選択した場合、パラメータ選択部24は、第1のパラメータである「面加工方法」について「5」を取得する。パラメータ選択部24は、選択された値を加工プログラム生成部23へ入力する。
【0183】
加工プログラム生成部23は、選択された第1のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部23は、「面加工方法」について「5」を取得することによって、線加工工程を生成する。
【0184】
ここで、加工プログラム生成部23は、指定された第1のパラメータである「面加工方法」と、「面加工方法」の値である「5」を、編集操作解析部26へ入力する。これにより、ステップS51において、編集操作解析部26は、編集操作から第1のパラメータの値を取得する。
【0185】
次に、ステップS52において、加工プログラム生成部23は、加工プログラムおよび工程形状SH4から第2のパラメータの値を取得する。すなわち、加工プログラム生成部23は、指定された第1のパラメータに基づいて第2のパラメータを絞り込む。加工プログラム生成部23は、プログラム生成パラメータPA141にて必要な第2のパラメータとして、素材材質「S45C」、工程形状SH4の上面座標「80.0,60.0,0.0」、工程形状SH4の下面座標「0.0,0.0,−3.0」、工程形状SH4のX軸方向寸法「80.0」、工程形状SH4のY軸方向寸法「60.0」、工程形状SH4のZ軸方向寸法「3.0」、水平方向において工程形状SH4と隣接する形状「無」、工程形状SH4に含まれる山形状「無」、工程形状SH4に含まれる谷形状「無」の各パラメータを取得する。また、加工プログラム生成部23は、第2のパラメータとして、調整済みのパラメータである面加工方法「線加工」を取得する。加工プログラム生成部23は、取得された第2のパラメータを編集操作解析部26へ入力する。
【0186】
ステップS53において、編集操作解析部26は、第1のパラメータと、第1のパラメータに基づいて絞り込まれた第2のパラメータとを用いて、第1のパラメータおよび第2のパラメータを含むデータセットを生成する。編集操作解析部26は、生成されたデータセットを機械学習部14へ入力する。
【0187】
機械学習部14は、学習モデル記憶部15から学習モデルを読み出す。ステップS54において、機械学習部14は、編集操作解析部26から入力されるデータセットに従って、学習モデルの追加学習処理である機械学習処理を行う。機械学習部14は、追加学習処理によって、学習モデルを更新する。機械学習部14は、追加学習処理によって、第1のパラメータごとに、第1のパラメータと第2のパラメータとの関係を示す学習モデルを更新する。ステップS55において、学習モデル記憶部15は、追加学習によって更新された学習モデルを記憶する。これにより、機械学習装置10および加工プログラム生成装置20は、図15に示す手順による編集操作解析処理および追加学習処理を終了する。
【0188】
次に、図15に示す手順による編集操作解析処理および追加学習処理を、推論する第1のパラメータごとについて説明する。ここで、推論する第1のパラメータとして、「線加工工程の工具呼び径」が指定されたとする。パラメータ選択部24は、第1のパラメータを推論するための第2のパラメータとして、素材材質「S45C」、取り代−Z「3.0」、工程形状SH4の上面座標「80.0,60.0,0.0」、工程形状SH4の下面座標「0.0,0.0,−3.0」、工程形状SH4のX軸方向寸法「80.0」、工程形状SH4のY軸方向寸法「60.0」、工程形状SH4のZ軸方向寸法「3.0」、水平方向において工程形状SH4と隣接する形状「無」、工程形状SH4に含まれる山形状「無」、工程形状SH4に含まれる谷形状「無」、面加工方法「線加工」、工具用途「荒」の各パラメータを取得する。パラメータ選択部24は、これらの第2のパラメータを含む入力データを推論部27へ入力する。
【0189】
ここで、パラメータ選択部24が、推論結果として、第1のパラメータである「線加工工程の工具呼び径」について「0」、「1」、「30」、「40」、「50」、「60」の6個の値を取得したとする。また、パラメータ選択部24が、推論結果として、当該6個の各値について、「0」:0.4、「1」:0.6、および「30」:0.25、「40」:0.25、「50」:0.25、「60」:0.25の各確率を取得したとする。
【0190】
「0」はフェイスミル工具を表す。「1」はエンドミル工具を表す。「0」:0.4は、加工プログラムに「0」が使用される確率、すなわち線加工工程にフェイスミル工具が使用される確率が40%であることを表す。「1」:0.6は、加工プログラムに「1」が使用される確率、すなわち線加工工程にエンドミル工具が使用される確率が60%であることを表す。「30」、「40」、「50」、「60」の各々は、工具呼び径を表す。「30」:0.25は、工具呼び径が30とされる確率が25%であることを表す。「40」:0.25は、工具呼び径が40とされる確率が25%であることを表す。「50」:0.25は、工具呼び径が50とされる確率が25%であることを表す。「60」:0.25は、工具呼び径が60とされる確率が25%であることを表す。
【0191】
ここで、推論部27に入力される複数の第2のパラメータと、推論結果である第1のパラメータとを合わせて、プログラム生成パラメータPA142と称する。推論部27は、学習モデル記憶部15に記憶された学習モデルのうち、指定された第1のパラメータに対応する学習モデルを読み出す。推論部27は、読み出された学習モデルと、入力データである第2のパラメータとを使用して、第1のパラメータの値ごとの確率を求める。推論部27は、第1のパラメータの各値と確率とのセットである推論結果をパラメータ選択部24へ出力する。
【0192】
次に、パラメータ選択部24は、推論結果である第1のパラメータの値を、確率とともに提示する。パラメータ選択部24は、第1のパラメータの各値と確率とを、対話操作処理部30を介して表示部50へ送る。パラメータ選択部24は、第1のパラメータの各値と確率との一覧を表示部50に表示させることによって、第1のパラメータの値と確率とを提示する。
【0193】
作業者が、表示部50に表示された第1のパラメータの複数の値の中から任意の値を選択すると、パラメータ選択部24は、選択された第1のパラメータの値を取得する。パラメータ選択部24は、対話操作処理部30を介して、選択された第1のパラメータの値を取得する。例えば、作業者が、プログラム生成パラメータPA142について「60」を選択した場合、パラメータ選択部24は、第1のパラメータである「線加工工程の工具呼び径」の値である「60」を取得する。パラメータ選択部24は、選択された値を加工プログラム生成部23へ入力する。
【0194】
加工プログラム生成部23は、選択された第1のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部23は、「線加工工程の工具呼び径」について「60」を取得することによって、線加工工程の荒加工における工具呼び径を「60」に設定する。
【0195】
ここで、加工プログラム生成部23は、指定された第1のパラメータである「線加工工程の工具呼び径」と、「線加工工程の工具呼び径」の値である「60」を、編集操作解析部26へ入力する。これにより、ステップS51において、編集操作解析部26は、編集操作から第1のパラメータの値を取得する。
【0196】
次に、ステップS52において、加工プログラム生成部23は、加工プログラムおよび工程形状SH4から第2のパラメータの値を取得する。すなわち、加工プログラム生成部23は、第1のパラメータに基づいて第2のパラメータを絞り込む。加工プログラム生成部23は、プログラム生成パラメータPA142にて必要な第2のパラメータとして、素材材質「S45C」、取り代−Z「3.0」、工程形状SH4の上面座標「80.0,60.0,0.0」、工程形状SH4の下面座標「0.0,0.0,−3.0」、工程形状SH4のX軸方向寸法「80.0」、工程形状SH4のY軸方向寸法「60.0」、工程形状SH4のZ軸方向寸法「3.0」、水平方向おいて工程形状SH4と隣接する形状「無」、工程形状SH4に含まれる山形状「無」、工程形状SH4に含まれる谷形状「無」の各パラメータを取得する。また、加工プログラム生成部23は、第2のパラメータとして、調整済みのパラメータである面加工方法「線加工」を取得する。加工プログラム生成部23は、取得された第2のパラメータを編集操作解析部26へ入力する。
【0197】
ステップS53において、編集操作解析部26は、第1のパラメータと、第1のパラメータの種類に基づいて絞り込まれた第2のパラメータとを用いて、第1のパラメータおよび第2のパラメータを含むデータセットを生成する。編集操作解析部26は、生成されたデータセットを機械学習部14へ入力する。
【0198】
機械学習部14は、学習モデル記憶部15から学習モデルを読み出す。ステップS54において、機械学習部14は、編集操作解析部26から入力されるデータセットに従って、学習モデルの追加学習処理である機械学習処理を行う。機械学習部14は、追加学習処理によって、学習モデルを更新する。機械学習部14は、追加学習処理によって、第1のパラメータごとに、第1のパラメータと第2のパラメータとの関係を示す学習モデルを更新する。ステップS55において、学習モデル記憶部15は、追加学習によって更新された学習モデルを記憶する。これにより、機械学習装置10および加工プログラム生成装置20は、図15に示す手順による編集操作解析処理および追加学習処理を終了する。
【0199】
次に、図14に示す工程形状SH71を例として、編集操作解析処理と追加学習処理とを説明する。機械学習装置10は、学習モデルを生成する。学習モデル生成処理の概要については、実施の形態1と同様であるため、ここでは説明を省略する。また、加工プログラム生成装置20は、加工プログラムを生成する。加工プログラム生成処理の概要についても、実施の形態1と同様であるため、ここでは説明を省略する。
【0200】
ここで、パラメータ選択部24が、推論する第1のパラメータの種類である「穴加工方法」を指定したとする。パラメータ選択部24は、第1のパラメータを推論するための第2のパラメータとして、素材材質「S45C」、工程形状SH71の上面の中心座標「55.0,30.0,−13.0」、工程形状SH71の下面の中心座標「55.0,30.0,−23.0」、工程形状SH71の穴径「6.6」、工程形状SH71の穴深さ「10.0」、工程形状SH71の座穴径「11.6」、工程形状SH71の座穴深さ「4.3」の各パラメータを取得する。パラメータ選択部24は、これらの第2のパラメータを含む入力データを推論部27へ入力する。
【0201】
パラメータ選択部24は、推論結果である第1のパラメータの複数の値とともに、当該複数の値の各々についての加工プログラムへの使用の確率を推論部27から取得する。すなわち、パラメータ選択部24は、第1のパラメータの複数の値と確率とのセットを取得する。
【0202】
ここで、パラメータ選択部24が、推論結果として、第1のパラメータである「穴加工方法」について「0」から「3」の4個の値を取得したとする。「0」は、ドリルによる穴加工を行うドリル工程を表す。「1」は、座ぐり穴を形成するための穴加工を行う座ぐり穴工程を表す。「2」は、リーマによる仕上げ加工を行うリーマ工程を表す。「3」は、タップによるねじ切り加工を行うタップ工程を表す。
【0203】
また、パラメータ選択部24が、推論結果として、当該4個の各値について、「0」:0.0、「1」:0.6、「2」:0.1、「3」:0.3の各確率を取得したとする。「0」:0.0は、加工プログラムに「0」が使用される確率が0%であることを表す。「1」:0.6は、加工プログラムに「1」が使用される確率が60%であることを表す。「2」:0.1は、加工プログラムに「2」が使用される確率が10%であることを表す。「3」:0.3は、加工プログラムに「3」が使用される確率が30%であることを表す。
【0204】
ここで、推論部27に入力される複数の第2のパラメータと、推論結果である第1のパラメータとを合わせて、プログラム生成パラメータPA143と称する。推論部27は、学習モデル記憶部15に記憶された学習モデルのうち、指定された第1のパラメータに対応する学習モデルを読み出す。推論部27は、読み出された学習モデルと、入力データである第2のパラメータとを使用して、第1のパラメータの値ごとの確率を求める。推論部27は、第1のパラメータの各値と確率とのセットである推論結果をパラメータ選択部24へ出力する。
【0205】
次に、パラメータ選択部24は、推論結果である第1のパラメータの値を、確率とともに提示する。パラメータ選択部24は、第1のパラメータの各値と確率とを、対話操作処理部30を介して表示部50へ送る。パラメータ選択部24は、第1のパラメータの各値と確率との一覧を表示部50に表示させることによって、第1のパラメータの値と確率とを提示する。
【0206】
作業者が、表示部50に表示された第1のパラメータの複数の値の中から任意の値を選択すると、パラメータ選択部24は、選択された第1のパラメータの値を取得する。パラメータ選択部24は、対話操作処理部30を介して、選択された第1のパラメータの値を取得する。例えば、作業者が、プログラム生成パラメータPA143について、「タップ工程」すなわち「3」を選択した場合、パラメータ選択部24は、第1のパラメータである「穴加工方法」について「3」を取得する。パラメータ選択部24は、選択された値を加工プログラム生成部23へ入力する。
【0207】
加工プログラム生成部23は、選択された第1のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部23は、「穴加工方法」について「3」を取得することによって、タップ工程を生成する。
【0208】
ここで、加工プログラム生成部23は、指定された第1のパラメータの種類である「穴加工方法」と、「穴加工方法」の値である「3」を、編集操作解析部26へ入力する。これにより、ステップS51において、編集操作解析部26は、編集操作から第1のパラメータの値を取得する。
【0209】
次に、ステップS52において、加工プログラム生成部23は、加工プログラムおよび工程形状SH71から第2のパラメータの値を取得する。すなわち、加工プログラム生成部23は、第1のパラメータの種類に基づいて第2のパラメータを絞り込む。加工プログラム生成部23は、プログラム生成パラメータPA143にて必要な第2のパラメータとして、素材材質「S45C」、工程形状SH71の上面の中心座標「55.0,30.0,−13.0」、工程形状SH71の下面の中心座標「55.0,30.0,−23.0」、工程形状SH71の穴径「6.6」、工程形状SH71の穴深さ「10.0」、工程形状SH71の座穴径「11.6」、工程形状SH71の座穴深さ「4.3」を取得する。加工プログラム生成部23は、取得された第2のパラメータを編集操作解析部26へ入力する。
【0210】
ステップS53において、編集操作解析部26は、第1のパラメータと、第1のパラメータに基づいて絞り込まれた第2のパラメータとを用いて、第1のパラメータおよび第2のパラメータを含むデータセットを生成する。編集操作解析部26は、生成されたデータセットを機械学習部14へ入力する。
【0211】
機械学習部14は、学習モデル記憶部15から学習モデルを読み出す。ステップS54において、機械学習部14は、編集操作解析部26から入力されるデータセットに従って、学習モデルの追加学習処理である機械学習処理を行う。機械学習部14は、追加学習処理によって、学習モデルを更新する。機械学習部14は、追加学習処理によって、第1のパラメータごとに、第1のパラメータと第2のパラメータとの関係を示す学習モデルを更新する。ステップS55において、学習モデル記憶部15は、追加学習によって更新された学習モデルを記憶する。これにより、機械学習装置10および加工プログラム生成装置20は、図15に示す手順による編集操作解析処理および追加学習処理を終了する。
【0212】
次に、推論する第1のパラメータの種類として、「下穴ドリルの呼び径」が指定された場合について説明する。パラメータ選択部24は、第1のパラメータを推論するための第2のパラメータとして、素材材質「S45C」、工程形状SH71の穴径「6.6」、工程形状SH71の穴深さ「10.0」、工程形状SH71の座穴径「11.6」、工程形状SH71の座穴深さ「4.3」の各パラメータを取得する。パラメータ選択部24は、これらの第2のパラメータを含む入力データを推論部27へ入力する。
【0213】
パラメータ選択部24は、推論結果である第1のパラメータの値を推論部27から取得する。ここで、パラメータ選択部24が、推論結果として、第1のパラメータである「下穴ドリルの呼び径」として「6.0」の値を取得したとする。推論部27に入力される複数の第2のパラメータと、推論結果である第1のパラメータとを合わせて、プログラム生成パラメータPA144と称する。推論部27は、学習モデル記憶部15に記憶された学習モデルのうち、指定された第1のパラメータに対応する学習モデルを読み出す。推論部27は、推論結果である第1のパラメータの値をパラメータ選択部24へ出力する。推論部27は、第1のパラメータが連続値である場合、回帰の機械学習を行い、推論結果である数値をパラメータ選択部24へ出力する。推論部27は、複数のドリル呼び径を用いて、分類による機械学習を行っても良い。
【0214】
次に、パラメータ選択部24は、推論結果である第1のパラメータの値を提示する。パラメータ選択部24は、第1のパラメータの値を、対話操作処理部30を介して表示部50へ送る。パラメータ選択部24は、第1のパラメータの値を表示部50に表示させることによって、第1のパラメータの値を提示する。
【0215】
作業者が、表示部50に表示された第1のパラメータの値をそのまま設定値に決定した場合、または、表示部50に表示された第1のパラメータの値ではなく任意の値を設定値に決定した場合、パラメータ選択部24は、対話操作処理部30を介して設定値を取得する。例えば、作業者が、プログラム生成パラメータPA144について「6.5」を設定値として決定すると、パラメータ選択部24は、「下穴ドリルの呼び径」についての設定値である「6.5」を取得する。パラメータ選択部24は、加工プログラム生成部23へ設定値を入力する。
【0216】
加工プログラム生成部23は、選択された第1のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部23は、「下穴ドリルの呼び径」について「6.5」を取得することによって、タップ工程における下穴ドリルの呼び径を「6.5」に設定する。
【0217】
ここで、加工プログラム生成部23は、指定された第1のパラメータである「穴加工方法」と、「下穴ドリルの呼び径」の値である「6.5」を、編集操作解析部26へ入力する。これにより、ステップS51において、編集操作解析部26は、編集操作から第1のパラメータの値を取得する。
【0218】
次に、ステップS52において、加工プログラム生成部23は、加工プログラムおよび工程形状SH71から第2のパラメータの値を取得する。すなわち、加工プログラム生成部23は、指定された第1のパラメータに基づいて第2のパラメータを絞り込む。加工プログラム生成部23は、プログラム生成パラメータPA144にて必要な第2のパラメータとして、素材材質「S45C」、工程形状SH71の上面の中心座標「55.0,30.0,−13.0」、工程形状SH71の下面の中心座標「55.0,30.0,−23.0」、工程形状SH71の穴径「6.6」、工程形状SH71の穴深さ「10.0」、工程形状SH71の座穴径「11.6」、工程形状SH71の座穴深さ「4.3」を取得する。また、加工プログラム生成部23は、第2のパラメータとして、調整済みのパラメータである穴加工方法「タップ」を取得する。加工プログラム生成部23は、取得された第2のパラメータを編集操作解析部26へ入力する。
【0219】
ステップS53において、編集操作解析部26は、第1のパラメータと、第1のパラメータに基づいて絞り込まれた第2のパラメータとを用いて、第1のパラメータおよび第2のパラメータを含むデータセットを生成する。編集操作解析部26は、生成されたデータセットを機械学習部14へ入力する。
【0220】
機械学習部14は、学習モデル記憶部15から学習モデルを読み出す。ステップS54において、機械学習部14は、編集操作解析部26から入力されるデータセットに従って、学習モデルの追加学習処理である機械学習処理を行う。機械学習部14は、追加学習処理によって、学習モデルを更新する。機械学習部14は、追加学習処理によって、第1のパラメータごとに、第1のパラメータと第2のパラメータとの関係を示す学習モデルを更新する。ステップS55において、学習モデル記憶部15は、追加学習によって更新された学習モデルを記憶する。これにより、機械学習装置10および加工プログラム生成装置20は、図15に示す手順による編集操作解析処理および追加学習処理を終了する。
【0221】
次に、パラメータ選択部24が、推論する第1のパラメータの種類である「座穴エンドミルの呼び径」を指定した場合について説明する。パラメータ選択部24は、第1のパラメータを推論するための第2のパラメータとして、素材材質「S45C」、工程形状SH71の穴径「6.6」、工程形状SH71の穴深さ「10.0」、工程形状SH71の座穴径「11.6」、工程形状SH71の座穴深さ「4.3」の各パラメータを取得する。パラメータ選択部24は、これらの第2のパラメータを含む入力データを推論部27へ入力する。
【0222】
パラメータ選択部24は、推論結果である第1のパラメータの値を推論部27から取得する。ここで、パラメータ選択部24が、推論結果として、第1のパラメータである「座穴エンドミルの呼び径」として「8.0」の値を取得したとする。推論部27に入力される複数の第2のパラメータと、推論結果である第1のパラメータとを合わせて、プログラム生成パラメータPA145と称する。推論部27は、学習モデル記憶部15に記憶された学習モデルのうち、指定された第1のパラメータに対応する学習モデルを読み出す。推論部27は、推論結果である第1のパラメータの値をパラメータ選択部24へ出力する。
【0223】
次に、パラメータ選択部24は、推論結果である第1のパラメータの値を提示する。パラメータ選択部24は、第1のパラメータの値を、対話操作処理部30を介して表示部50へ送る。パラメータ選択部24は、第1のパラメータの値を表示部50に表示させることによって、第1のパラメータの値を提示する。
【0224】
作業者が、表示部50に表示された第1のパラメータの値をそのまま設定値に決定した場合、または、表示部50に表示された第1のパラメータの値ではなく任意の値を設定値に決定した場合、パラメータ選択部24は、対話操作処理部30を介して設定値を取得する。例えば、作業者が、プログラム生成パラメータPA145について「10.0」を設定値として決定すると、パラメータ選択部24は、「座穴エンドミルの呼び径」についての設定値である「10.0」を取得する。パラメータ選択部24は、加工プログラム生成部23へ設定値を入力する。
【0225】
加工プログラム生成部23は、選択された第1のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部23は、「座穴エンドミルの呼び径」について「10.0」を取得することによって、タップ工程における座穴エンドミルの呼び径を「10.0」に設定する。
【0226】
ここで、加工プログラム生成部23は、指定された第1のパラメータである「穴加工方法」と、「座穴エンドミルの呼び径」の値である「10.0」を、編集操作解析部26へ入力する。これにより、ステップS51において、編集操作解析部26は、編集操作から第1のパラメータの値を取得する。
【0227】
次に、ステップS52において、加工プログラム生成部23は、加工プログラムおよび工程形状SH71から第2のパラメータの値を取得する。すなわち、加工プログラム生成部23は、指定された第1のパラメータに基づいて第2のパラメータを絞り込む。加工プログラム生成部23は、プログラム生成パラメータPA145にて必要な第2のパラメータとして、素材材質「S45C」、工程形状SH71の上面の中心座標「55.0,30.0,−13.0」、工程形状SH71の下面の中心座標「55.0,30.0,−23.0」、工程形状SH71の穴径「6.6」、工程形状SH71の穴深さ「10.0」、工程形状SH71の座穴径「11.6」、工程形状SH71の座穴深さ「4.3」を取得する。また、加工プログラム生成部23は、第2のパラメータとして、調整済みのパラメータである穴加工方法「タップ」を取得する。加工プログラム生成部23は、取得された第2のパラメータを編集操作解析部26へ入力する。
【0228】
ステップS53において、編集操作解析部26は、第1のパラメータと、第1のパラメータに基づいて絞り込まれた第2のパラメータとを用いて、第1のパラメータおよび第2のパラメータを含むデータセットを生成する。編集操作解析部26は、生成されたデータセットを機械学習部14へ入力する。
【0229】
機械学習部14は、学習モデル記憶部15から学習モデルを読み出す。ステップS54において、機械学習部14は、編集操作解析部26から入力されるデータセットに従って、学習モデルの追加学習処理である機械学習処理を行う。機械学習部14は、追加学習処理によって、学習モデルを更新する。機械学習部14は、追加学習処理によって、第1のパラメータごとに、第1のパラメータと第2のパラメータとの関係を示す学習モデルを更新する。ステップS55において、学習モデル記憶部15は、追加学習によって更新された学習モデルを記憶する。これにより、機械学習装置10および加工プログラム生成装置20は、図15に示す手順による編集操作解析処理および追加学習処理を終了する。
【0230】
次に、パラメータ選択部24が、推論する第1のパラメータである「タップの呼び径」を指定した場合について説明する。パラメータ選択部24は、第1のパラメータを推論するための第2のパラメータとして、素材材質「S45C」、工程形状SH71の穴径「6.6」、工程形状SH71の穴深さ「10.0」、工程形状SH71の座穴径「11.6」、工程形状SH71の座穴深さ「4.3」の各パラメータを取得する。パラメータ選択部24は、これらの第2のパラメータを含む入力データを推論部27へ入力する。
【0231】
パラメータ選択部24は、推論結果である第1のパラメータの複数の値とともに、当該複数の値の各々についての加工プログラムへの使用の確率を推論部27から取得する。すなわち、パラメータ選択部24は、第1のパラメータの複数の値と確率とのセットを取得する。
【0232】
ここで、パラメータ選択部24が、推論結果として、第1のパラメータである「タップの呼び径」について「0」から「2」の3個の値を取得したとする。「0」は、「M7×1」、すなわちメートルねじについて呼び「7」およびピッチ「1」を表す。「1」は、「M7×0.75」、すなわちメートルねじについて呼び「7」およびピッチ「0.75」を表す。「2」は、「M7×0.5」、すなわちメートルねじについて呼び「7」およびピッチ「0.5」を表す。
【0233】
また、パラメータ選択部24が、推論結果として、当該3個の各値について、「0」:0.1、「1」:0.1、「2」:0.8の各確率を取得したとする。「0」:0.1は、加工プログラムに「0」が使用される確率が10%であることを表す。「1」:0.1は、加工プログラムに「1」が使用される確率が10%であることを表す。「2」:0.8は、加工プログラムに「2」が使用される確率が80%であることを表す。
【0234】
ここで、推論部27に入力される複数の第2のパラメータと、推論結果である第1のパラメータとを合わせて、プログラム生成パラメータPA146と称する。推論部27は、学習モデル記憶部15に記憶された学習モデルのうち、指定された第1のパラメータに対応する学習モデルを読み出す。推論部27は、読み出された学習モデルと、入力データである第2のパラメータとを使用して、第1のパラメータの値ごとの確率を求める。推論部27は、第1のパラメータの各値と確率とのセットである推論結果をパラメータ選択部24へ出力する。
【0235】
次に、パラメータ選択部24は、推論結果である第1のパラメータの値を、確率とともに提示する。パラメータ選択部24は、第1のパラメータの各値と確率とを、対話操作処理部30を介して表示部50へ送る。パラメータ選択部24は、第1のパラメータの各値と確率との一覧を表示部50に表示させることによって、第1のパラメータの値と確率とを提示する。
【0236】
作業者が、表示部50に表示された第1のパラメータの複数の値の中から任意の値を選択すると、パラメータ選択部24は、選択された第1のパラメータの値を取得する。パラメータ選択部24は、対話操作処理部30を介して、選択された第1のパラメータの値を取得する。例えば、作業者が、プログラム生成パラメータPA146について、「M7×1」すなわち「0」を選択した場合、パラメータ選択部24は、第1のパラメータである「タップの呼び径」について「0」を取得する。パラメータ選択部24は、選択された値を加工プログラム生成部23へ入力する。
【0237】
加工プログラム生成部23は、選択された第1のパラメータの値に基づいて、加工プログラムの工程を生成する。加工プログラム生成部23は、「タップの呼び径」について「0」を取得することによって、タップ工程におけるタップの呼び径を「M7×1」に設定する。
【0238】
ここで、加工プログラム生成部23は、指定された第1のパラメータである「面加工方法」と、「タップの呼び径」の値である「0」を、編集操作解析部26へ入力する。これにより、ステップS51において、編集操作解析部26は、編集操作から第1のパラメータの値を取得する。
【0239】
次に、ステップS52において、加工プログラム生成部23は、加工プログラムおよび工程形状SH71から第2のパラメータの値を取得する。すなわち、加工プログラム生成部23は、指定された第1のパラメータに基づいて第2のパラメータを絞り込む。加工プログラム生成部23は、プログラム生成パラメータPA146にて必要な第2のパラメータとして、素材材質「S45C」、工程形状SH71の上面の中心座標「55.0,30.0,−13.0」、工程形状SH71の下面の中心座標「55.0,30.0,−23.0」、工程形状SH71の穴径「6.6」、工程形状SH71の穴深さ「10.0」、工程形状SH71の座穴径「11.6」、工程形状SH71の座穴深さ「4.3」を取得する。また、加工プログラム生成部23は、第2のパラメータとして、調整済みのパラメータである穴加工方法「タップ」を取得する。加工プログラム生成部23は、取得された第2のパラメータを編集操作解析部26へ入力する。
【0240】
ステップS53において、編集操作解析部26は、第1のパラメータと、第1のパラメータの種類に基づいて絞り込まれた第2のパラメータとを用いて、第1のパラメータおよび第2のパラメータを含むデータセットを生成する。編集操作解析部26は、生成されたデータセットを機械学習部14へ入力する。
【0241】
機械学習部14は、学習モデル記憶部15から学習モデルを読み出す。ステップS54において、機械学習部14は、編集操作解析部26から入力されるデータセットに従って、学習モデルの追加学習処理である機械学習処理を行う。機械学習部14は、追加学習処理によって、学習モデルを更新する。機械学習部14は、追加学習処理によって、第1のパラメータごとに、第1のパラメータと第2のパラメータとの関係を示す学習モデルを更新する。ステップS55において、学習モデル記憶部15は、追加学習によって更新された学習モデルを記憶する。これにより、機械学習装置10および加工プログラム生成装置20は、図15に示す手順による編集操作解析処理および追加学習処理を終了する。
【0242】
次に、機械学習装置10および加工プログラム生成装置20のハードウェア構成について説明する。図16は、図1に示す機械学習装置10および加工プログラム生成装置20のハードウェア構成を示す図である。図1に示す各機能部は、プロセッサ61と、プロセッサ61がワークエリアに用いるメモリ62と、数値制御装置100の各機能を記述したコンピュータプログラムを記憶する記憶装置63と、作業者との間の入力インタフェースである入力装置64と、作業者に情報を表示する出力装置である表示装置65と、被制御機器または他の数値制御装置などとの通信機能を有する通信装置66とを備える。プロセッサ61、メモリ62、記憶装置63、入力装置64、表示装置65および通信装置66は、データバス67により互いに接続されている。
【0243】
プロセッサ61は、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、CPU(Central Processing Unit)、またはDSP(Digital Signal Processor)などである。メモリ62は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、またはEEPROM(登録商標)(Electrically EPROM)などの、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、またはDVD(Digital Versatile Disc)などである。
【0244】
加工プログラム解析部13および機械学習部14は、例えば、メモリ62に記憶されたコンピュータプログラムを、プロセッサ61が読み出して実行することにより実現することができる。また、複数のプロセッサ61および複数のメモリ62が連携して、上記の機能を実現しても良い。また、機械学習部14の機能の内の一部を電子回路として実装し、他の部分をプロセッサ61およびメモリ62を用いて上記の機能を実現しても良い。加工プログラム入力部11の機能は、通信装置66により実現される。加工プログラム記憶部12および学習モデル記憶部15の機能は、記憶装置63により実現される。
【0245】
加工形状データ記憶部22、加工プログラム生成部23、パラメータ選択部24、編集操作解析部26および推論部27は、メモリ62に記憶されたコンピュータプログラムをプロセッサ61が読み出して実行することにより、実現することができる。また、複数のプロセッサ61および複数のメモリ62が連携して上記の機能を実現しても良い。加工形状データ入力部21、加工形状データ記憶部22、加工プログラム生成部23、パラメータ選択部24、編集操作解析部26および推論部27の機能のうちの一部を電子回路として実装し、他の部分をプロセッサ61およびメモリ62を用いて実現するようにしても良い。加工形状データ入力部21、加工形状データ記憶部22、加工プログラム生成部23、パラメータ選択部24、編集操作解析部26および推論部27の機能を実現するためのプロセッサ61およびメモリ62は、機械学習部14を実現するためのプロセッサ61およびメモリ62と同一であってもよいし、機械学習部14を実現するためのプロセッサ61およびメモリ62とは異なるプロセッサ61およびメモリ62が用いられても良い。加工形状データ入力部21の機能は、通信装置66により実現される。加工形状データ記憶部22および加工プログラム記憶部25の機能は、記憶装置63により実現される。
【0246】
以上説明したように、実施の形態1および2にかかる機械学習装置10は、加工プログラム1に基づいて、機械学習可能な第1のパラメータを取得する。機械学習装置10は、取得した第1のパラメータごとに、第1のパラメータの推論に用いる第2のパラメータを抽出し、学習モデルを自動で生成することができる。この学習モデルは、過去に作成した加工プログラムに基づいて生成されているため、機械学習装置10は、加工プログラム内に蓄積された過去の知識および経験の内容を含む学習モデルを生成することができる。
【0247】
また、実施の形態1および2にかかる加工プログラム生成装置20は、機械学習装置10が生成した学習モデルを用いて、第1のパラメータの推論を行う。作業者は、推論結果を用いて、複数の第1のパラメータの値を容易に設定することができる。加工プログラム生成装置20は、作業者が過去に作成した加工プログラム内に蓄積された複数の知識および経験を活用して、加工プログラムを生成することができる。よって、加工プログラム生成装置20は、作業者が所望する高品質な加工プログラムを、容易に生成することができる。
【0248】
また、実施の形態1および2にかかる加工プログラム生成装置20は、推論結果として、第1のパラメータの複数の値を出力する。作業者は、第1のパラメータの複数の値の中から値を選択することで、第1のパラメータの値を容易に調整することができる。よって、加工プログラム生成装置20は、加工プログラムの生成に要する手間と時間との低減が可能となる。
【0249】
また、実施の形態2にかかる機械学習装置10および加工プログラム生成装置20は、第1のパラメータに対する作業者の編集作業を解析し、作業者によって選択された第1のパラメータの値を基に追加学習を行う。これにより、機械学習装置10による学習モデルの精度を高めることができる。
【0250】
実施の形態1および2では、機械学習装置10および加工プログラム生成装置20は、同一の数値制御装置100内に組み込まれた例を示したが、かかる例に限定されない。機械学習装置10および加工プログラム生成装置20は、数値制御装置100の外部に独立して設けられても良い。実施の形態1および2においては、数値制御される工作機械がマシニングセンタである場合の加工プログラムを例に説明したが、数値制御される工作機械はマシニングセンタに限定されず、他の工作機械であっても良い。
【0251】
以上の各実施の形態に示した構成は、本開示の内容の一例を示すものである。各実施の形態の構成は、別の公知の技術と組み合わせることが可能である。各実施の形態の構成同士が適宜組み合わせられても良い。本開示の要旨を逸脱しない範囲で、各実施の形態の構成の一部を省略または変更することが可能である。
【符号の説明】
【0252】
1 加工プログラム、2 CADデータ、10 機械学習装置、11 加工プログラム入力部、12 加工プログラム記憶部、13 加工プログラム解析部、14 機械学習部、15 学習モデル記憶部、20 加工プログラム生成装置、21 加工形状データ入力部、22 加工形状データ記憶部、23 加工プログラム生成部、24 パラメータ選択部、25 加工プログラム記憶部、26 編集操作解析部、27 推論部、30 対話操作処理部、40 指示入力部、50 表示部、61 プロセッサ、62 メモリ、63 記憶装置、64 入力装置、65 表示装置、66 通信装置、67 データバス、100 数値制御装置。
【要約】
機械学習装置(10)は、工作機械を数値制御するための加工プログラムを、加工プログラムを編集した作業者に対応付けて記憶する加工プログラム記憶部(12)と、作業者に対応付けられた加工プログラムを解析することによって、加工プログラムの編集における調整対象である第1のパラメータと、加工プログラムの編集における調整対象外のパラメータであって第1のパラメータの調整に使用される第2のパラメータとを加工プログラムから抽出する加工プログラム解析部(13)と、抽出された第1のパラメータおよび第2のパラメータを含むデータセットを用いた学習によって、作業者が編集する加工プログラムの第2のパラメータから第1のパラメータの値を推論するための学習モデルを生成する機械学習部(14)と、を備える。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16