(57)【要約】【課題】精度の高い工具寿命判定を行うことを可能とする数値制御装置を提供すること。【解決手段】本発明の数値制御装置１は、工具の形状を含む工具情報を取得する形状データ取得部１１と、加工における加工条件を取得する加工条件取得部１２と、加工後のワークの加工結果に係る情報を取得する加工結果取得部１３と、工具情報と、加工条件とを入力データとし、加工結果に係る情報を教師データとして、工具情報及び加工条件に対する加工結果に係る情報の傾向を機械学習して学習モデルを構築する機械学習器１０と、を備える。機械学習器１０は、ワークの加工前に、工具情報と加工条件とに基づいて、学習モデルを用いて加工結果の良否を判定する。【選択図】図５
2018041208.tif 000002
【特許請求の範囲】
【請求項１】
工具を用いてワークを加工する工作機械を制御する数値制御装置において、
前記工具の形状を含む工具情報を取得する形状データ取得部と、
前記加工における加工条件を取得する加工条件取得部と、
前記加工後のワークの加工結果に係る情報を取得する加工結果取得部と、
前記工具情報と、前記加工条件とを入力データとし、前記加工結果に係る情報を教師データとして、前記工具情報及び前記加工条件に対する前記加工結果に係る情報の傾向を機械学習して学習モデルを構築する機械学習器と、
を備え、
前記機械学習器は、前記工作機械によるワークの加工前に、前記形状データ取得部が取得した工具情報と、前記加工条件取得部が取得した加工条件とに基づいて、前記学習モデルを用いて加工結果の良否を判定する、
ことを特徴とする数値制御装置。
【請求項２】
前記機械学習器は、多層ニューラルネットにより学習モデルを構築する、
ことを特徴とする請求項１に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特に加工不良となる工具状態を学習する数値制御装置に関する。
【背景技術】
【０００２】
一般に加工で使用される工具は、加工時間の経過とともに刃先が摩耗して切削抵抗が増大し、最終的には折損に至る。また、摩粍が進むと加工精度が悪化し、ワークに求められる所定の加工精度を維持することができなくなる。このような事態を防止するために、工具については主に以下のタイミングで工具が寿命に達したか否かを判定し、寿命に達したと判定された場合には工具交換を行っている。
●工具を使用した回数や時間が一定数（寿命値）を越えたとき
●工具長を測定し、摩耗量が一定数を越えたとき
●オペレータが目視で工具や加工後のワークを確認し、寿命の限界と判断したとき
●主軸負荷をチェックして折損や刃欠けが確認されたとき
【０００３】
工具が寿命に達したか否かを判定する従来技術としては、例えば特許文献１には、工具形状と切削条件、ワークの削り残し量を基に加工後の摩耗量を計算し、工具寿命への到達を加工前に判定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−１９８０４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記した工具寿命の判定方法には様々な問題がある。工具を使用した回数や時間により工具寿命を判定する方法は、加工不良や折損の防止のため、通常余裕をもった使用回数や使用時間で寿命値を設定するため、工具がまだ使用できる場合が多く、コスト面での無駄が生じる。工具の工具長により工具寿命を判定する方法は、刃が複数ある場合や刃が端にある場合にチップ欠けの検出ができないという問題がある。また、タップ工具のように先端部以外の摩耗で寿命判定を行うような工具では先端部の測定で工具寿命を判定することができない。オペレータが目視で加工後のワークを確認することにより工具寿命を判定する方法は、専門知識をもった人員が作業を行う必要があるため、無人稼動に適していない。主軸負荷をチェックすることにより工具寿命を判定する方法は、多少の刃欠けでは主軸負荷に変化がほとんど見られない場合が多いため、検出精度に難がある。
【０００６】
また、特許文献１に記載される工具寿命の判定方法では、工具形状、切削条件、ワークの削り残し量を考慮することで、工具寿命の判定の精度を向上させてはいるものの、工具寿命の判定は単純な工具の摩耗量からだけでは判断することができず、工具の材質や摩耗の位置、摩耗の仕方（欠けなど）などによっても変化するため、特許文献１の技術ではさまざまな状況に対応することができないという課題が残る。
【０００７】
そこで本発明の目的は、精度の高い工具寿命判定を行うことを可能とする数値制御装置を提供することである。
【課題を解決するための手段】
【０００８】
本発明では、教師あり学習で加工条件と加工結果の関係性を学習し、学習結果をもとに入力データを改善する機能を数値制御装置に設けることで上記課題を解決する。本発明の数値制御装置は、学習結果に基づく入力データの改善をすることにより、一定の品質を保ちながら加工運転を継続することができる。
【０００９】
そして、本発明の請求項１に係る発明は、工具を用いてワークを加工する工作機械を制御する数値制御装置において、前記工具の形状を含む工具情報を取得する形状データ取得部と、前記加工における加工条件を取得する加工条件取得部と、前記加工後のワークの加工結果に係る情報を取得する加工結果取得部と、前記工具情報と、前記加工条件とを入力データとし、前記加工結果に係る情報を教師データとして、前記工具情報及び前記加工条件に対する前記加工結果に係る情報の傾向を機械学習して学習モデルを構築する機械学習器と、を備え、前記機械学習器は、前記工作機械によるワークの加工前に、前記形状データ取得部が取得した工具情報と、前記加工条件取得部が取得した加工条件とに基づいて、前記学習モデルを用いて加工結果の良否を判定する、ことを特徴とする数値制御装置である。
【００１０】
本発明の請求項２に係る発明は、前記機械学習器は、多層ニューラルネットにより学習モデルを構築する、ことを特徴とする請求項１に記載の数値制御装置である。
【発明の効果】
【００１１】
本発明により、工具寿命の判定の改善により、工具のコスト削減が見込め、また、無人連続稼働を補助することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明で数値制御装置に導入する機械学習器による機械学習と学習結果の運用の概要を説明する図である。
【図２】本発明の数値制御装置に導入される機械学習器の構成例（学習フェーズ）について説明する図である。
【図３】工具の画像、断面図、材質や、ワークの材質の番号化について説明する図である。
【図４】本発明の数値制御装置に導入される機械学習器の構成例（運用フェーズ）について説明する図である。
【図５】本発明の一実施形態による数値制御装置の学習フェーズにおける概略的な機能ブロック図を示す図（１）である。
【図６】本発明の一実施形態による数値制御装置の学習フェーズにおける概略的な機能ブロック図を示す図（２）である。
【図７】図５，６に示した数値制御装置１の動作を示すフローチャートである。
【図８】本発明の一実施形態による数値制御装置の運用フェーズにおける概略的な機能ブロック図を示す図である。
【図９】図８に示した数値制御装置１の動作を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態を図面と共に説明する。
図１は、本発明で数値制御装置に導入する機械学習器による機械学習と学習結果の運用の概要を説明する図である。本発明の数値制御装置に導入された機械学習器は、学習フェーズと運用フェーズの２つのフェーズで動作する。
【００１４】
学習フェーズにおいて、本発明の数値制御装置に導入された機械学習器は、工具情報、ワークの材質、切削速度、主軸回転数、切り込み量、切削量などの加工条件と、該加工条件に基づいて加工されたワークの寸法誤差などの加工結果とを入力データとし、加工条件に対する加工結果の傾向を学習する。
運用フェーズにおいて、本発明の数値制御装置は、加工条件を入力データとして機械学習器に与える。機械学習器は、学習フェーズにおいて学習した加工条件に対する加工結果の傾向に基づいて、入力された加工条件に対する加工結果の予測値を出力する。そして、数値制御装置は、機械学習器から出力された加工結果の予測値を参照して、これから行われる加工が加工不良となるかどうかを判断する。
【００１５】
本発明の数値制御装置では、機械学習器の学習フェーズと運用フェーズとをまったく異なるタイミングで実行するようにしてもよいし、両フェーズを同時に実行するようにしてもよい。例えば、機械学習器を学習フェーズにおいて十分に学習させた後で、実際に工作機械で加工する際に新たな学習を行なわず学習結果のみを使用して繰り返し同じデータを使用するように運転してもよいし、加工しながらより正確な評価値を探索（学習）するように運転してもよい。
また、機械学習器は、工作機械の数値制御装置内に構築してもよいし、または、数値制御装置と接続されたＰＣ上に構築してもよい。
【００１６】
図２，３は、本発明の数値制御装置に導入される機械学習器の構成例について説明する図である。図２，３では、機械学習器として多層ニューラルネットを用いる構成としている。多層ニューラルネットは、ニューロンのモデルを模したニューラルネットワークを実現する演算装置及びメモリ等で構成される。
【００１７】
図２に示すように、多層ニューラルネットを本発明の数値制御装置の機械学習器として用いる場合には、学習フェーズにおいて、本発明の数値制御装置は、各工程（工具や切削条件を変更したタイミング、または任意のタイミング）で、加工前に加工条件を入力データ（図２に示す例では、Ｘ１〜Ｘ６）として機械学習器に入力する。加工条件としては、例えば、工具の情報（画像、断面図、材質）、番号化したワークの材質、切削速度（合成速度）、主軸回転数、切り込み量、切削量などがある。なお、工具の画像、断面図、材質や、ワークの材質については、図３に示すように、あらかじめ複数の典型的な画像データや材質データに対して番号付けして記憶しておき、当該番号を機械学習器に対する入力データとするようにしてよい。このようにすることで、入力データの数を少なくし、多層ニューラルネットの構造を単純化することができる。
【００１８】
次に、本発明の数値制御装置は、入力データとしての加工条件を多層ニューラルネットに入力した際に機械学習器から出力される出力データＷを予測加工結果として取得する。更に、多層ニューラルネットに対して入力した加工条件に基づいてワークを加工した後、加工結果として加工後のワーク寸法やカッターマークの数やサイズなどを取得し、取得した加工結果と設計との誤差Ｄを教師データとして算出する。加工後のワーク寸法やカッターマークの数やサイズなどは、数値制御装置が計測器などを制御して自動的に計測するようにしてもよいし、オペレータが加工後のワークの計測を行い、計測した結果を数値制御装置に入力するようにしてもよい。
【００１９】
そして、本発明の数値制御装置は、入力データとしての加工条件と、多層ニューラルネットから出力された予測加工結果と、取得した加工結果としての加工後のワーク寸法の設計との誤差Ｄ（教師データ）とに基づいて、加工条件に対する加工結果を機械学習させて学習モデルを構築する。学習方法（バックプロパゲーションなど）については、ニューラルネットワークに関する従来技術として既に周知となっているため、本明細書における詳細な説明は省略する。学習は、損失関数を用いて出力データと加工結果との間の距離を算出し、その距離があらかじめ定めた一定値以内に収束するまで行なう。損失関数の例としては、例えば加工後ワーク寸法と設計値との誤差に着目する場合には、以下の数１式に例示されるような２乗誤差（Ｌ2損失）を用いてもよい。また、カッターマークの有無に着目する場合には、単純にカッターマークがあるかないかを示す論理関数を用いてもよい。更に、損失を適切に示せるものであればどのような関数を用いてもよい。
【００２０】
【数１】
2018041208.tif 000003
【００２１】
図４に示すように、多層ニューラルネットを本発明の数値制御装置の機械学習器として用いる場合には、運用フェーズにおいて、本発明の数値制御装置は、各工程（工具や切削条件を変更したタイミング、または任意のタイミング）で、加工前に加工条件を入力データ（図２に示す例では、Ｘ１〜Ｘ６）として機械学習器に入力する。運用フェーズで機械学習器に入力する加工条件の項目は、学習フェーズで学習に用いた加工条件の項目と同じものを用いる。
【００２２】
次に、本発明の数値制御装置は、入力データとしての加工条件を多層ニューラルネットに入力した際に機械学習器から出力される出力データＷを予測加工結果（予測される加工後ワーク寸法の設計との誤差、カッターマークの存在など）として取得する。
そして、本発明の数値制御装置は、出力データとしての予測加工結果があらかじめ定めた閾値と比較して加工の結果が悪いと判定（予測される加工後ワーク寸法の設計との誤差があらかじめ定めた所定の値以上、カッターマークの数が所定の数以上、カッターマークのサイズが所定のサイズ以上、など）された場合、加工不良パターンであると判定し、工具交換を実施するようにオペレータに促す。
【００２３】
図５，６は、学習フェーズにおける本発明の一実施形態による数値制御装置の要部を示す機能ブロック図である。また、図７は、学習フェーズにおける数値制御装置１の動作の流れを示すフローチャートである。
本実施形態の数値制御装置１は、機械学習器１０、形状データ取得部１１、加工条件取得部１２、加工結果取得部１３を備える。また、機械学習器１０は、入力条件観測部１１０、入力条件記憶部１２０、予測加工結果算出部１３０、予測加工結果記憶部１４０、加工結果観測部１５０、加工結果記憶部１６０、比較部１７０を備える。
【００２４】
本実施形態の数値制御装置１は、機械学習器１０の学習を行うタイミングとなった時に、学習フェーズへと移行して学習を開始する（ステップＳＡ０１）。学習フェーズへと移行するタイミングとしては、使用工具が変更になった時、加工条件（加工内容、切削速度、回転数など）が変更になった時や、ユーザにより設定された任意のタイミングなどが挙げられる。
【００２５】
形状データ取得部１１、加工条件取得部１２は、それぞれ工具情報の取得（形状情報（画像、断面図）、工具の材質など）、加工条件の取得（ワークの材質、加工内容（平面／側面など）、回転数、切削速度、切削量）を行う（ステップＳＡ０２，ＳＡ０３）。工具情報及び加工条件の取得は、数値制御装置１の設定値や加工プログラム、オペレータによる入力に基づいて取得することができる。なお、工具の形状情報や材質、ワークの材質については、図３で例示したように番号化した値を取得するようにする。特に工具の形状情報については、図示しない撮像装置により工作機械に取り付けられている工具を撮像して画像処理することで使用する工具の形状を示す画像を取得し、当該画像を図３に例示した典型的な工具の画像データとマッチングを行い、最も形状が近い画像データの番号を工具情報として用いるようにすれば良い。
【００２６】
入力条件観測部１１０は、形状データ取得部１１が取得した工具情報と、加工条件取得部１２が取得した加工条件とを機械学習器１０の入力条件として取得する。入力条件観測部１１０は、形状データ取得部１１及び加工条件取得部１２による各データの取得状況を観測し、形状データ取得部１１及び加工条件取得部１２の少なくともいずれか一方がデータを取得した時点で当該データを入力データとして取得する。
入力条件記憶部１２０は、入力条件観測部１１０が取得した入力条件を図示しないメモリ上に記憶する。入力条件記憶部１２０は、メモリ上に記憶された入力条件の内、入力条件観測部１１０が観測して取得した入力条件についてのみ上書きして記憶するようにしてもよい。このようにすることで、変更があった入力条件のみが更新されるようになる。
【００２７】
予測加工結果算出部１３０は、入力条件記憶部１２０が記憶した入力条件と、予測加工結果記憶部１４０が記憶した学習内容（学習モデル）に基づいて、予測加工結果を算出する（ステップＳＡ０４）。予測加工結果記憶部１４０は、上記したように多層ニューラルネットなどとして構成される。
【００２８】
加工結果取得部１３は、加工条件取得部１２が取得した加工条件と、図示しない加工プログラムに基づいて数値制御装置１が工作機械２を制御してワークを加工（ステップＳＡ０５）した後に、加工後のワークから加工結果を取得する（ステップＳＡ０６）。加工結果としては、加工後のワーク寸法と設計寸法との誤差や、カッターマークの有無などがある。
【００２９】
加工結果観測部１５０は、加工結果取得部１３が取得した加工結果を機械学習器１０内に取得する。加工結果観測部１５０は、加工結果取得部１３による各データの取得状況を観測し、加工結果が取得された時点で当該データを機械学習器１０内に取得する。
加工結果記憶部１６０は、加工結果観測部１５０が取得した加工結果を図示しないメモリ上に記憶する。
【００３０】
比較部１７０は、予測加工結果算出部１３０が算出した予測加工結果と、加工結果観測部１５０が取得した（そして、加工結果記憶部１６０に記憶された）実加工結果とを比較し、その差分を損失関数を用いて算出することで比較する（ステップＳＡ０７）。そして、予測加工結果と実加工結果との差分があらかじめ定めた閾値内である場合には学習を行わず、閾値以上である場合には、予測加工結果と実加工結果に基づく学習を行い、学習結果を予測加工結果記憶部１４０へと記憶する（ステップＳＡ０８，ＳＡ０９）。
【００３１】
図８は、図５，６で説明した数値制御装置１を運用フェーズで動作させる場合の要部を示す機能ブロック図である。また、図９は、運用フェーズにおける数値制御装置１の動作の流れを示すフローチャートである。運用フェーズにおいて、数値制御装置１は更に工具交換指令部１４を備え、また、機械学習器１０は更に工具交換判定部１８０を備える。
【００３２】
本実施形態の数値制御装置１は、運用フェーズにある場合において、加工前チェックを行う状況にある場合には、機械学習器１０を用いた加工前チェックの動作を実行する（ステップＳＢ０１）。加工前チェックを行う状況としては、使用工具が変更になった時、加工条件（加工内容、切削速度、回転数など）が変更になった時や、ユーザにより設定された任意のタイミングなどが挙げられる。
【００３３】
形状データ取得部１１、加工条件取得部１２は、それぞれ工具情報の取得（形状情報（画像、断面図）、工具の材質など）、加工条件の取得（ワークの材質、加工内容（平面／側面など）、回転数、切削速度、切削量）を行う（ステップＳＢ０２，ＳＢ０３）。
入力条件観測部１１０は、形状データ取得部１１が取得した工具情報と、加工条件取得部１２が取得した加工条件とを機械学習器１０の入力条件として取得する。
入力条件記憶部１２０は、入力条件観測部１１０が取得した入力条件を図示しないメモリ上に記憶する。
予測加工結果算出部１３０は、入力条件記憶部１２０が記憶した入力条件と、予測加工結果記憶部１４０が記憶した学習内容に基づいて、予測加工結果を算出する（ステップＳＢ０４）。
形状データ取得部１１、加工条件取得部１２、入力条件観測部１１０、入力条件記憶部１２０、予測加工結果算出部１３０、予測加工結果記憶部１４０の上記した動作については、学習フェーズにおける各機能手段の動作と同様である。
【００３４】
工具交換判定部１８０は、予測加工結果算出部１３０が算出した予測加工結果に基づいて、工具交換の判定を行う。工具交換判定部１８０は、予測加工結果算出部１３０が出力した予測加工結果（加工後のワーク寸法と設計値との誤差、カッターマークの有無、など）を参照し、加工の結果が悪い（誤差があらかじめ定めた所定の閾値以上、カッターマークが所定の数以上、カッターマークのサイズが所定のサイズ以上、など）場合に、工具を交換するべきであると判定する（ステップＳＢ０５）。
工具交換指令部１４は、工具交換判定部１８０の判定結果に基づいて、工具が交換されるべきであると判定された場合には工具の交換を指令する（ステップＳＢ０６）。工具交換指令部１４は、工作機械２に対して工具交換指令を出力して工具を自動交換するようにしてもよいし、図示しない操作盤の表示装置に対して工具を交換するように促す表示を行い、当該表示を見たオペレータに工具を交換させるようにしてもよい。
【００３５】
以上、ここまで本発明の実施の形態について説明したが、本発明は上記した実施の形態の例にのみ限定されるものでなく、適宜の変更を加えることにより様々な態様で実施することができる。
例えば、上記した実施形態では機械学習器１０として多層ニューラルネットを用いた例を示したが、教師あり学習のアルゴリズムとしては、他にも最小二乗法、ステップワイズ法、ＳＶＭ、決定木学習など様々な手法が周知となっており、これら各手法を本発明の機械学習器１０に適宜採用してもよい。
【００３６】
また、図３を用いて説明したように、本発明の数値制御装置１は、工具形状を示す画像をあらかじめ番号化して記憶しておく必要があるが、この番号化は手動作業で行ってもよいが、より簡便には、複数の工具画像に対して教師なし学習によるクラスタリングを行い、クラスタリングの結果に基づいて代表画像の決定と各代表画像に対する番号付けを行うことで自動化してもよい。
【００３７】
更に、図５〜９を用いた説明においては、学習フェーズにおける数値制御装置１の動作と運用フェーズにおける数値制御装置１の動作とをそれぞれ個別に説明しているが、学習フェーズと運用フェーズとは同時に行うことも可能である。このようにする場合、ある程度学習が進んだ機械学習器を用いた上で運用フェーズによる加工前チェックを行うと共に、加工が完了した後の加工結果情報も取得するようにした上で、予測加工結果と実加工結果とにあらかじめ定めた閾値以上の差分が出た場合には、予測加工結果記憶部１４０に対して学習を行うようにすればよい。
【符号の説明】
【００３８】
１  数値制御装置
２  工作機械
１０  機械学習器
１１  形状データ取得部
１２  加工条件取得部
１３  加工結果取得部
１４  工具交換指令部
１００  数値制御装置
１１０  入力条件観測部
１２０  入力条件記憶部
１３０  予測加工結果算出部
１４０  予測加工結果記憶部
１５０  加工結果観測部
１６０  加工結果記憶部
１７０  比較部
１８０  工具交換判定部
【図１】
2018041208.tif 000004
【図２】
2018041208.tif 000005
【図３】
2018041208.tif 000006
【図４】
2018041208.tif 000007
【図５】
2018041208.tif 000008
【図６】
2018041208.tif 000009
【図７】
2018041208.tif 000010
【図８】
2018041208.tif 000011
【図９】
2018041208.tif 000012