(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
一般に加工で使用される工具は、加工時間の経過とともに刃先が摩耗して切削抵抗が増大し、最終的には折損に至る。また、摩粍が進むと加工精度が悪化し、ワークに求められる所定の加工精度を維持することができなくなる。このような事態を防止するために、工具については主に以下のタイミングで工具が寿命に達したか否かを判定し、寿命に達したと判定された場合には工具交換を行っている。
●工具を使用した回数や時間が一定数(寿命値)を越えたとき
●工具長を測定し、摩耗量が一定数を越えたとき
●オペレータが目視で工具や加工後のワークを確認し、寿命の限界と判断したとき
●主軸負荷をチェックして折損や刃欠けが確認されたとき
【0003】
工具が寿命に達したか否かを判定する従来技術としては、例えば特許文献1には、工具形状と切削条件、ワークの削り残し量を基に加工後の摩耗量を計算し、工具寿命への到達を加工前に判定する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記した工具寿命の判定方法には様々な問題がある。工具を使用した回数や時間により工具寿命を判定する方法は、加工不良や折損の防止のため、通常余裕をもった使用回数や使用時間で寿命値を設定するため、工具がまだ使用できる場合が多く、コスト面での無駄が生じる。工具の工具長により工具寿命を判定する方法は、刃が複数ある場合や刃が端にある場合にチップ欠けの検出ができないという問題がある。また、タップ工具のように先端部以外の摩耗で寿命判定を行うような工具では先端部の測定で工具寿命を判定することができない。オペレータが目視で加工後のワークを確認することにより工具寿命を判定する方法は、専門知識をもった人員が作業を行う必要があるため、無人稼動に適していない。主軸負荷をチェックすることにより工具寿命を判定する方法は、多少の刃欠けでは主軸負荷に変化がほとんど見られない場合が多いため、検出精度に難がある。
【0006】
また、特許文献1に記載される工具寿命の判定方法では、工具形状、切削条件、ワークの削り残し量を考慮することで、工具寿命の判定の精度を向上させてはいるものの、工具寿命の判定は単純な工具の摩耗量からだけでは判断することができず、工具の材質や摩耗の位置、摩耗の仕方(欠けなど)などによっても変化するため、特許文献1の技術ではさまざまな状況に対応することができないという課題が残る。
【0007】
そこで本発明の目的は、精度の高い工具寿命判定を行うことを可能とする数値制御装置を提供することである。
【課題を解決するための手段】
【0008】
本発明では、教師あり学習で加工条件と加工結果の関係性を学習し、学習結果をもとに入力データを改善する機能を数値制御装置に設けることで上記課題を解決する。本発明の数値制御装置は、学習結果に基づく入力データの改善をすることにより、一定の品質を保ちながら加工運転を継続することができる。
【0009】
そして、本発明の請求項1に係る発明は、工具を用いてワークを加工する工作機械を制御する数値制御装置において、前記工具の形状
に係る画像を含む工具情報を取得する形状データ取得部と、前記加工における加工条件を取得する加工条件取得部と、前記加工後のワークの
カッターマークの有無を含む加工結果に係る情報を取得する加工結果取得部と、前記工具情報と、前記加工条件とを入力データとし、前記加工結果に係る情報を教師データとして、前記工具情報及び前記加工条件に対する前記加工結果に係る情報の傾向を機械学習して学習モデルを構築する機械学習器と、を備え、前記機械学習器は、前記工作機械によるワークの加工前に、前記形状データ取得部が取得した工具情報と、前記加工条件取得部が取得した加工条件とに基づいて、前記学習モデルを用いて加工結果の良否を判定する、ことを特徴とする数値制御装置である。
【0010】
本発明の請求項2に係る発明は、前記機械学習器は、多層ニューラルネットにより学習モデルを構築する、ことを特徴とする請求項1に記載の数値制御装置である。
【発明の効果】
【0011】
本発明により、工具寿命の判定の改善により、工具のコスト削減が見込め、また、無人連続稼働を補助することが可能となる。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態を図面と共に説明する。
図1は、本発明で数値制御装置に導入する機械学習器による機械学習と学習結果の運用の概要を説明する図である。本発明の数値制御装置に導入された機械学習器は、学習フェーズと運用フェーズの2つのフェーズで動作する。
【0014】
学習フェーズにおいて、本発明の数値制御装置に導入された機械学習器は、工具情報、ワークの材質、切削速度、主軸回転数、切り込み量、切削量などの加工条件と、該加工条件に基づいて加工されたワークの寸法誤差などの加工結果とを入力データとし、加工条件に対する加工結果の傾向を学習する。
運用フェーズにおいて、本発明の数値制御装置は、加工条件を入力データとして機械学習器に与える。機械学習器は、学習フェーズにおいて学習した加工条件に対する加工結果の傾向に基づいて、入力された加工条件に対する加工結果の予測値を出力する。そして、数値制御装置は、機械学習器から出力された加工結果の予測値を参照して、これから行われる加工が加工不良となるかどうかを判断する。
【0015】
本発明の数値制御装置では、機械学習器の学習フェーズと運用フェーズとをまったく異なるタイミングで実行するようにしてもよいし、両フェーズを同時に実行するようにしてもよい。例えば、機械学習器を学習フェーズにおいて十分に学習させた後で、実際に工作機械で加工する際に新たな学習を行なわず学習結果のみを使用して繰り返し同じデータを使用するように運転してもよいし、加工しながらより正確な評価値を探索(学習)するように運転してもよい。
また、機械学習器は、工作機械の数値制御装置内に構築してもよいし、または、数値制御装置と接続されたPC上に構築してもよい。
【0016】
図2,3は、本発明の数値制御装置に導入される機械学習器の構成例について説明する図である。
図2,3では、機械学習器として多層ニューラルネットを用いる構成としている。多層ニューラルネットは、ニューロンのモデルを模したニューラルネットワークを実現する演算装置及びメモリ等で構成される。
【0017】
図2に示すように、多層ニューラルネットを本発明の数値制御装置の機械学習器として用いる場合には、学習フェーズにおいて、本発明の数値制御装置は、各工程(工具や切削条件を変更したタイミング、または任意のタイミング)で、加工前に加工条件を入力データ(
図2に示す例では、X1〜X6)として機械学習器に入力する。加工条件としては、例えば、工具の情報(画像、断面図、材質)、番号化したワークの材質、切削速度(合成速度)、主軸回転数、切り込み量、切削量などがある。なお、工具の画像、断面図、材質や、ワークの材質については、
図3に示すように、あらかじめ複数の典型的な画像データや材質データに対して番号付けして記憶しておき、当該番号を機械学習器に対する入力データとするようにしてよい。このようにすることで、入力データの数を少なくし、多層ニューラルネットの構造を単純化することができる。
【0018】
次に、本発明の数値制御装置は、入力データとしての加工条件を多層ニューラルネットに入力した際に機械学習器から出力される出力データWを予測加工結果として取得する。更に、多層ニューラルネットに対して入力した加工条件に基づいてワークを加工した後、加工結果として加工後のワーク寸法やカッターマークの数やサイズなどを取得し、取得した加工結果と設計との誤差Dを教師データとして算出する。加工後のワーク寸法やカッターマークの数やサイズなどは、数値制御装置が計測器などを制御して自動的に計測するようにしてもよいし、オペレータが加工後のワークの計測を行い、計測した結果を数値制御装置に入力するようにしてもよい。
【0019】
そして、本発明の数値制御装置は、入力データとしての加工条件と、多層ニューラルネットから出力された予測加工結果と、取得した加工結果としての加工後のワーク寸法の設計との誤差D(教師データ)とに基づいて、加工条件に対する加工結果を機械学習させて学習モデルを構築する。学習方法(バックプロパゲーションなど)については、ニューラルネットワークに関する従来技術として既に周知となっているため、本明細書における詳細な説明は省略する。学習は、損失関数を用いて出力データと加工結果との間の距離を算出し、その距離があらかじめ定めた一定値以内に収束するまで行なう。損失関数の例としては、例えば加工後ワーク寸法と設計値との誤差に着目する場合には、以下の数1式に例示されるような2乗誤差(L
2損失)を用いてもよい。また、カッターマークの有無に着目する場合には、単純にカッターマークがあるかないかを示す論理関数を用いてもよい。更に、損失を適切に示せるものであればどのような関数を用いてもよい。
【0021】
図4に示すように、多層ニューラルネットを本発明の数値制御装置の機械学習器として用いる場合には、運用フェーズにおいて、本発明の数値制御装置は、各工程(工具や切削条件を変更したタイミング、または任意のタイミング)で、加工前に加工条件を入力データ(
図2に示す例では、X1〜X6)として機械学習器に入力する。運用フェーズで機械学習器に入力する加工条件の項目は、学習フェーズで学習に用いた加工条件の項目と同じものを用いる。
【0022】
次に、本発明の数値制御装置は、入力データとしての加工条件を多層ニューラルネットに入力した際に機械学習器から出力される出力データWを予測加工結果(予測される加工後ワーク寸法の設計との誤差、カッターマークの存在など)として取得する。
そして、本発明の数値制御装置は、出力データとしての予測加工結果があらかじめ定めた閾値と比較して加工の結果が悪いと判定(予測される加工後ワーク寸法の設計との誤差があらかじめ定めた所定の値以上、カッターマークの数が所定の数以上、カッターマークのサイズが所定のサイズ以上、など)された場合、加工不良パターンであると判定し、工具交換を実施するようにオペレータに促す。
【0023】
図5,6は、学習フェーズにおける本発明の一実施形態による数値制御装置の要部を示す機能ブロック図である。また、
図7は、学習フェーズにおける数値制御装置1の動作の流れを示すフローチャートである。
本実施形態の数値制御装置1は、機械学習器10、形状データ取得部11、加工条件取得部12、加工結果取得部13を備える。また、機械学習器10は、入力条件観測部110、入力条件記憶部120、予測加工結果算出部130、予測加工結果記憶部140、加工結果観測部150、加工結果記憶部160、比較部170を備える。
【0024】
本実施形態の数値制御装置1は、機械学習器10の学習を行うタイミングとなった時に、学習フェーズへと移行して学習を開始する(ステップSA01)。学習フェーズへと移行するタイミングとしては、使用工具が変更になった時、加工条件(加工内容、切削速度、回転数など)が変更になった時や、ユーザにより設定された任意のタイミングなどが挙げられる。
【0025】
形状データ取得部11、加工条件取得部12は、それぞれ工具情報の取得(形状情報(画像、断面図)、工具の材質など)、加工条件の取得(ワークの材質、加工内容(平面/側面など)、回転数、切削速度、切削量)を行う(ステップSA02,SA03)。工具情報及び加工条件の取得は、数値制御装置1の設定値や加工プログラム、オペレータによる入力に基づいて取得することができる。なお、工具の形状情報や材質、ワークの材質については、
図3で例示したように番号化した値を取得するようにする。特に工具の形状情報については、図示しない撮像装置により工作機械に取り付けられている工具を撮像して画像処理することで使用する工具の形状を示す画像を取得し、当該画像を
図3に例示した典型的な工具の画像データとマッチングを行い、最も形状が近い画像データの番号を工具情報として用いるようにすれば良い。
【0026】
入力条件観測部110は、形状データ取得部11が取得した工具情報と、加工条件取得部12が取得した加工条件とを機械学習器10の入力条件として取得する。入力条件観測部110は、形状データ取得部11及び加工条件取得部12による各データの取得状況を観測し、形状データ取得部11及び加工条件取得部12の少なくともいずれか一方がデータを取得した時点で当該データを入力データとして取得する。
入力条件記憶部120は、入力条件観測部110が取得した入力条件を図示しないメモリ上に記憶する。入力条件記憶部120は、メモリ上に記憶された入力条件の内、入力条件観測部110が観測して取得した入力条件についてのみ上書きして記憶するようにしてもよい。このようにすることで、変更があった入力条件のみが更新されるようになる。
【0027】
予測加工結果算出部130は、入力条件記憶部120が記憶した入力条件と、予測加工結果記憶部140が記憶した学習内容(学習モデル)に基づいて、予測加工結果を算出する(ステップSA04)。予測加工結果記憶部140は、上記したように多層ニューラルネットなどとして構成される。
【0028】
加工結果取得部13は、加工条件取得部12が取得した加工条件と、図示しない加工プログラムに基づいて数値制御装置1が工作機械2を制御してワークを加工(ステップSA05)した後に、加工後のワークから加工結果を取得する(ステップSA06)。加工結果としては、加工後のワーク寸法と設計寸法との誤差や、カッターマークの有無などがある。
【0029】
加工結果観測部150は、加工結果取得部13が取得した加工結果を機械学習器10内に取得する。加工結果観測部150は、加工結果取得部13による各データの取得状況を観測し、加工結果が取得された時点で当該データを機械学習器10内に取得する。
加工結果記憶部160は、加工結果観測部150が取得した加工結果を図示しないメモリ上に記憶する。
【0030】
比較部170は、予測加工結果算出部130が算出した予測加工結果と、加工結果観測部150が取得した(そして、加工結果記憶部160に記憶された)実加工結果とを比較し、その差分を損失関数を用いて算出することで比較する(ステップSA07)。そして、予測加工結果と実加工結果との差分があらかじめ定めた閾値内である場合には学習を行わず、閾値以上である場合には、予測加工結果と実加工結果に基づく学習を行い、学習結果を予測加工結果記憶部140へと記憶する(ステップSA08,SA09)。
【0031】
図8は、
図5,6で説明した数値制御装置1を運用フェーズで動作させる場合の要部を示す機能ブロック図である。また、
図9は、運用フェーズにおける数値制御装置1の動作の流れを示すフローチャートである。運用フェーズにおいて、数値制御装置1は更に工具交換指令部14を備え、また、機械学習器10は更に工具交換判定部180を備える。
【0032】
本実施形態の数値制御装置1は、運用フェーズにある場合において、加工前チェックを行う状況にある場合には、機械学習器10を用いた加工前チェックの動作を実行する(ステップSB01)。加工前チェックを行う状況としては、使用工具が変更になった時、加工条件(加工内容、切削速度、回転数など)が変更になった時や、ユーザにより設定された任意のタイミングなどが挙げられる。
【0033】
形状データ取得部11、加工条件取得部12は、それぞれ工具情報の取得(形状情報(画像、断面図)、工具の材質など)、加工条件の取得(ワークの材質、加工内容(平面/側面など)、回転数、切削速度、切削量)を行う(ステップSB02,SB03)。
入力条件観測部110は、形状データ取得部11が取得した工具情報と、加工条件取得部12が取得した加工条件とを機械学習器10の入力条件として取得する。
入力条件記憶部120は、入力条件観測部110が取得した入力条件を図示しないメモリ上に記憶する。
予測加工結果算出部130は、入力条件記憶部120が記憶した入力条件と、予測加工結果記憶部140が記憶した学習内容に基づいて、予測加工結果を算出する(ステップSB04)。
形状データ取得部11、加工条件取得部12、入力条件観測部110、入力条件記憶部120、予測加工結果算出部130、予測加工結果記憶部140の上記した動作については、学習フェーズにおける各機能手段の動作と同様である。
【0034】
工具交換判定部180は、予測加工結果算出部130が算出した予測加工結果に基づいて、工具交換の判定を行う。工具交換判定部180は、予測加工結果算出部130が出力した予測加工結果(加工後のワーク寸法と設計値との誤差、カッターマークの有無、など)を参照し、加工の結果が悪い(誤差があらかじめ定めた所定の閾値以上、カッターマークが所定の数以上、カッターマークのサイズが所定のサイズ以上、など)場合に、工具を交換するべきであると判定する(ステップSB05)。
工具交換指令部14は、工具交換判定部180の判定結果に基づいて、工具が交換されるべきであると判定された場合には工具の交換を指令する(ステップSB06)。工具交換指令部14は、工作機械2に対して工具交換指令を出力して工具を自動交換するようにしてもよいし、図示しない操作盤の表示装置に対して工具を交換するように促す表示を行い、当該表示を見たオペレータに工具を交換させるようにしてもよい。
【0035】
以上、ここまで本発明の実施の形態について説明したが、本発明は上記した実施の形態の例にのみ限定されるものでなく、適宜の変更を加えることにより様々な態様で実施することができる。
例えば、上記した実施形態では機械学習器10として多層ニューラルネットを用いた例を示したが、教師あり学習のアルゴリズムとしては、他にも最小二乗法、ステップワイズ法、SVM、決定木学習など様々な手法が周知となっており、これら各手法を本発明の機械学習器10に適宜採用してもよい。
【0036】
また、
図3を用いて説明したように、本発明の数値制御装置1は、工具形状を示す画像をあらかじめ番号化して記憶しておく必要があるが、この番号化は手動作業で行ってもよいが、より簡便には、複数の工具画像に対して教師なし学習によるクラスタリングを行い、クラスタリングの結果に基づいて代表画像の決定と各代表画像に対する番号付けを行うことで自動化してもよい。
【0037】
更に、
図5〜9を用いた説明においては、学習フェーズにおける数値制御装置1の動作と運用フェーズにおける数値制御装置1の動作とをそれぞれ個別に説明しているが、学習フェーズと運用フェーズとは同時に行うことも可能である。このようにする場合、ある程度学習が進んだ機械学習器を用いた上で運用フェーズによる加工前チェックを行うと共に、加工が完了した後の加工結果情報も取得するようにした上で、予測加工結果と実加工結果とにあらかじめ定めた閾値以上の差分が出た場合には、予測加工結果記憶部140に対して学習を行うようにすればよい。