(57)【特許請求の範囲】
【請求項１】
工作機械における異常負荷検出の閾値を学習する機械学習器であって、
前記工作機械の工具の情報，主軸回転数およびクーラント量、ワークの材質、並びに前記工具の進行方向，切削速度および切り込み量の少なくとも１つに基づいて得られる状態変数を観測する状態観測部と、
前記状態観測部の出力および前記工作機械における異常負荷検出に関連するデータから作成される訓練データ，並びに，教師データに基づいて、前記異常負荷検出の閾値を学習する学習部と、を備え、
前記学習部は、
前記訓練データと前記教師データの誤差を計算する誤差計算部と、
前記状態観測部の出力および前記誤差計算部の出力に基づいて、前記工作機械における異常負荷検出に関連付けられる条件の誤差を定める学習モデルを更新する学習モデル更新部と、を備える、
ことを特徴とする機械学習器。
【請求項２】
前記訓練データは、負荷に流れる電流を予測した予測負荷電流値に関連したデータであり、
前記教師データは、前記負荷に流れる電流を実際に測定した負荷電流実測値に関連したデータである、
ことを特徴とする請求項１に記載の機械学習器。
【請求項３】
前記工具の情報は、前記工具の種類，材質および径の情報を含む、
ことを特徴とする請求項１または請求項２に記載の機械学習器。
【請求項４】
前記機械学習器は、クラウドサーバ上に存在する、
ことを特徴とする請求項１乃至請求項３のいずれか１項に記載の機械学習器。
【請求項５】
前記機械学習器は、フォグサーバ上に存在する、
ことを特徴とする請求項１乃至請求項３のいずれか１項に記載の機械学習器。
【請求項６】
前記機械学習器は、少なくとも１つの他の機械学習器と接続可能であり、少なくとも１つの前記他の機械学習器との間で機械学習の結果を相互に交換または共有する、
ことを特徴とする請求項１乃至請求項５のいずれか１項に記載の機械学習器。
【請求項７】
前記機械学習器は、ニューラルネットワークを備える、
ことを特徴とする請求項１乃至請求項６のいずれか１項に記載の機械学習器。
【請求項８】
請求項１乃至請求項７のいずれか１項に記載の機械学習器を含み、前記工作機械を制御する数値制御装置であって、
前記機械学習器により学習された前記異常負荷検出の閾値に基づいて、前記工作機械における異常負荷を検出する、
ことを特徴とする数値制御装置。
【請求項９】
前記数値制御装置は、
負荷に流れる電流を実際に測定した負荷電流実測値が、前記異常負荷検出の閾値に対して所定のオフセット量を加算した値よりも大きいとき、前記工作機械における異常負荷を検出したと判定する、
ことを特徴とする請求項８に記載の数値制御装置。
【請求項１０】
前記数値制御装置は、
前記異常負荷検出の閾値を学習する学習フェーズと、前記工作機械を制御して前記ワークを実際に加工する運用フェーズと、を含み、
前記学習フェーズにおいて、予め定められた学習用加工により、加工条件ごとの負荷電流値に基づいて前記異常負荷検出の閾値を学習し、
前記運用フェーズにおいて、学習された前記異常負荷検出の閾値と、前記負荷に流れる電流を実際に測定した負荷電流実測値とを比較して、前記工作機械における異常負荷を検出する、
ことを特徴とする請求項９に記載の数値制御装置。
【請求項１１】
前記数値制御装置は、
前記運用フェーズにおいても、前記異常負荷検出の閾値を学習する、
ことを特徴とする請求項１０に記載の数値制御装置。
【請求項１２】
工作機械における異常負荷検出の閾値を学習する機械学習方法であって、
前記工作機械の工具の情報，主軸回転数およびクーラント量、ワークの材質、並びに、前記工具の進行方向，切削速度および切り込み量の少なくとも１つに基づいて得られる状態変数を観測し、
前記状態変数および前記工作機械における異常負荷検出に関連するデータから作成される訓練データ，並びに，教師データに基づいて、前記異常負荷検出の閾値を学習し、
前記異常負荷検出の閾値を学習するのは、
前記訓練データと前記教師データの誤差を計算し、
前記状態変数、および、計算された前記訓練データと前記教師データの誤差に基づいて、前記工作機械における異常負荷検出に関連付けられる条件の誤差を定める学習モデルを更新する、
ことを特徴とする機械学習方法。
【請求項１３】
前記訓練データは、負荷に流れる電流を予測した予測負荷電流値に関連したデータであり、
前記教師データは、前記負荷に流れる電流を実際に測定した負荷電流実測値に関連したデータである、
ことを特徴とする請求項１２に記載の機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異常負荷検出の閾値を学習する機械学習器，数値制御装置および機械学習方法に関する。
【背景技術】
【０００２】
従来、工作機械を制御する数値制御装置(ＮＣ(Numerical Control)装置)において、例えば、機械の衝突やバイトの不良、または、損傷などが原因で発生する異常な負荷トルクを検出できる技術が提案されている。ここで、負荷トルクは、例えば、Ｇコードでの移動・切削指令で発生するが、切削速度や切り込み量といった複数の要因で変動するため、予測するのは困難である。
【０００３】
そのため、異常な負荷トルクであると判断するための閾値は、例えば、モータ固有のトルク値に対して、所定のオフセット(余裕)を踏まえて適切と考えられるトルク値を加算したものに設定している。なお、本明細書において、数値制御装置(ＮＣ装置)には、コンピュータ数値制御装置(Ｃ(Computerized)ＮＣ装置)も含まれるのはいうまでもない。また、工作機械としては、例えば、旋盤，ボール盤，中ぐり盤，フライス盤，研削盤，歯切り盤・歯車仕上げ機械，マシニングセンタ，放電加工機，パンチプレス，レーザ加工機，搬送機およびプラスチック射出成形機といった様々なものが含まれる。
【０００４】
ところで、従来、ＮＣ装置の加工条件に基づいて工作機械を適切に制御するものとして、様々な提案がなされている。例えば、特許文献１は、ＮＣ装置における加工状態を制御するための加工条件データの自動作成機能の学習方法を開示している。この特許文献１の学習方法では、実際の加工に際し、加工条件データに影響を与える加工要因に関するデータを入力し、その加工条件データの補正量を、ニューラルネットワークを用いて演算する。さらに、ニューラルネットワークの出力である補正量を評価し、その評価の結果、補正量が修正された時には、その修正値を教師データとして、その時のニューラルネットワークの入力データと共に記憶装置に蓄積する。そして、蓄積された入力データと教師データとに従って、加工制御を行うＮＣ装置とは別の装置でオフラインによりニューラルネットワークの結合係数を学習する。
【０００５】
また、特許文献２は、数値制御プログラムの指令と位置帰還信号とに基づいて位置制御を行なうＮＣ装置であって、多層ニューラルネット型推論手段と、ロストモーション補正量算出手段と、結合重み係数算出手段と、を備えたロストモーション補正機能を有するＮＣ装置を開示している。多層ニューラルネット型推論手段において、入力層には機械運転時に随時測定される速度，位置及び軸潤滑状態の測定データが入力され、出力層からは入力データに基づいて推定演算されるロストモーション量あるいはロストモーション係数が出力される。また、ロストモーション補正量算出手段は、多層ニューラルネット型推論手段から出力されるロストモーション量あるいはロストモーション係数に基づいてロストモーション補正量を算出する。さらに、結合重み係数算出手段は、予め測定された速度，位置及び軸潤滑状態のロストモーション測定条件データと、その測定条件下におけるロストモーション測定量を教師データとして、教師データから多層ニューラルネット型推論手段内の各層間の結合重み係数を算出する。
【０００６】
さらに、特許文献３は、金型加工等に用いられるマシニングセンタであって、加工に必要なデータを処理するデータ処理手段と、そのデータ処理手段で処理されたデータに基づいてマシニングセンタを制御する制御手段と、を有するマシニングセンタを開示している。マシニングセンタは、さらに、工具の回転振れを計測する計測手段と、工具の先端を観察する観察手段と、工具の異常振動を検出する振動検出手段と、を有し、データ処理手段が、計測手段と観察手段と振動検出手段とにより検知された工具の状態と、工具が実行したＮＣプログラムとを、そのＮＣプログラムの行番号レベルで対応させて加工に必要なデータの処理を行う。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平０４−０７５８４８号公報
【特許文献２】特許第２７６８５６９号公報
【特許文献３】特開平１０−０３４４９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述したように、ＮＣ装置において、例えば、機械の衝突やバイト(刃物)の不良、または、損傷などが原因で発生する異常な負荷トルクを検出できる技術は提案されているが、負荷トルクは、切削速度や切り込み量といった様々な要因で変動するため、異常な負荷トルクであると判断するための閾値を求めることは困難であった。
【０００９】
ここで、上述した特許文献１では、評価対象が補正量になっており、また、特許文献２では、速度，位置が入力になり、出力がロストモーション量になっており、両方とも、異常な負荷トルクであると判断するための閾値を求めるものではない。さらに、特許文献３は、異常振動の検出を目的とするもので、やはり異常な負荷トルクであると判断するための閾値を求めるものではない。
【００１０】
図８は、従来の異常負荷検出の閾値の一例およびその課題を説明するための図であり、図８(a)は、切削加工を行う工作機械による処理における負荷トルクと時間の関係を示すためのものであり、図８(b)は、異常負荷が生じた場合の一例を説明するためのものである。
【００１１】
ここで、図８(a)および図８(b)は、ＮＣ装置によりプログラムに基づいた加工を行う旋盤(ＮＣ旋盤)の例を示すものであり、縦軸は、負荷トルクを示し、横軸は、経過時間ｔを示す。なお、図８(a)および図８(b)において、参照符号Ｐ１は、アプローチ期間を示し、Ｐ２は、切削の開始期間を示し、Ｐ３は、開始期間以降の定常的な切削期間を示す。また、図８(a)において、参照符号Ｌth01は、異常負荷を検出するための高い閾値を示し、Ｌth02は、異常負荷を検出するための低い閾値を示し、ＴＣ0は、一般的な負荷トルクの変動曲線の一例を示す。
【００１２】
また、図８(b)において、参照符号ＴＣ1は、粗加工を行う場合の負荷トルクの変動曲線の一例を示し、ＴＣ2は、仕上げ加工を行う場合の負荷トルクの変動曲線の一例を示す。なお、仕上げ加工を行う場合の負荷トルクの変動曲線ＴＣ２には、参照符号ＡＢＮで示す個所で異常(異常負荷)が発生している。
【００１３】
図８(a)に示されるように、例えば、ＮＣ旋盤によりプログラムに基づいた切削処理を行う場合、まず、アプローチ期間Ｐ１では、バイトがワーク(加工対象物)に接近するだけなので、負荷トルクは微小になる。その後、切削の開始期間Ｐ２になると、バイトがワークに接触して切削が開始されるため、負荷トルクは大きくなる。さらに、定常的な切削期間Ｐ３になると、負荷トルクは、切削の開始期間Ｐ２よりも小さい切削量で安定するため、切削の開始期間Ｐ２のピーク値よりも低い値で定常化する。
【００１４】
この負荷トルクが図８(a)のように変化する場合、負荷トルクの異常を検出するための閾値(異常負荷検出の閾値)としては、例えば、高い閾値Ｌth01〜低い閾値Ｌth02というように、様々な大きさのものが考えられるが、それぞれの状況に応じた最適な異常負荷検出の閾値を求めるのは困難である。
【００１５】
また、図８(b)に示されるように、例えば、粗加工を行う場合の負荷トルクの変動曲線ＴＣ1と、仕上げ加工を行う場合の負荷トルクの変動曲線ＴＣ2は、その形状が大きく異なるため、例えば、粗加工を行う場合の異常負荷検出の閾値Ｌth1では、例えば、仕上げ加工を行う場合の負荷トルクの変動曲線ＴＣ2におけるＡＢＮで異常が発生しても、その異常を検出することが難しい。すなわち、負荷トルクは、切削速度や切り込み量といった様々な要因で変動するため、異常な負荷トルクであると判断するための閾値を求めることは容易なものではない。
【００１６】
本発明の目的は、上述した従来技術の課題に鑑み、異常負荷検出の閾値を正しく求める、すなわち、異常な負荷トルクであると判断するのに適した閾値を求めることができる機械学習器，数値制御装置および機械学習方法の提供にある。
【課題を解決するための手段】
【００１７】
本発明に係る第１実施形態によれば、工作機械における異常負荷検出の閾値を学習する機械学習器であって、前記工作機械の工具の情報，主軸回転数およびクーラント量、ワークの材質、並びに、前記工具の進行方向，切削速度および切り込み量の少なくとも１つに基づいて得られる状態変数を観測する状態観測部と、前記状態観測部の出力および前記工作機械における異常負荷検出に関連するデータから作成される訓練データ，並びに，教師データに基づいて、前記異常負荷検出の閾値を学習する学習部と、を備え、前記学習部は、前記訓練データと前記教師データの誤差を計算する誤差計算部と、前記状態観測部の出力および前記誤差計算部の出力に基づいて、前記工作機械における異常負荷検出に関連付けられる条件の誤差を定める学習モデルを更新する学習モデル更新部と、を備える機械学習器が提供される。
【００１８】
前記訓練データは、負荷に流れる電流を予測した予測負荷電流値に関連したデータであり、前記教師データは、前記負荷に流れる電流を実際に測定した負荷電流実測値に関連したデータであるのが好ましい。
【００１９】
前記工具の情報は、前記工具の種類，材質および径の情報を含むことができる。前記機械学習器は、クラウドサーバ上、または、フォグサーバ上に存在してもよい。前記機械学習器は、少なくとも１つの他の機械学習器と接続可能であり、少なくとも１つの前記他の機械学習器との間で機械学習の結果を相互に交換または共有することができる。前記機械学習器は、ニューラルネットワークを備えるのが好ましい。
【００２０】
本発明に係る第２実施形態によれば、上述した第１実施形態の機械学習器を含み、前記工作機械を制御する数値制御装置であって、前記機械学習器により学習された前記異常負荷検出の閾値に基づいて、前記工作機械における異常負荷を検出する数値制御装置が提供される。前記数値制御装置は、負荷に流れる電流を実際に測定した負荷電流実測値が、前記異常負荷検出の閾値に対して所定のオフセット量を加算した値よりも大きいとき、前記工作機械における異常負荷を検出したと判定するのが好ましい。
【００２１】
前記数値制御装置は、前記異常負荷検出の閾値を学習する学習フェーズと、前記工作機械を制御して前記ワークを実際に加工する運用フェーズと、を含み、前記学習フェーズにおいて、予め定められた学習用加工により、加工条件ごとの負荷電流値に基づいて前記異常負荷検出の閾値を学習し、前記運用フェーズにおいて、学習された前記異常負荷検出の閾値と、前記負荷に流れる電流を実際に測定した負荷電流実測値とを比較して、前記工作機械における異常負荷を検出することができる。前記数値制御装置は、前記運用フェーズにおいても、前記異常負荷検出の閾値を学習することができる。
【００２２】
本発明に係る第３実施形態によれば、工作機械における異常負荷検出の閾値を学習する機械学習方法であって、前記工作機械の工具の情報，主軸回転数およびクーラント量、ワークの材質、並びに、前記工具の進行方向，切削速度および切り込み量の少なくとも１つに基づいて得られる状態変数を観測し、前記状態変数および前記工作機械における異常負荷検出に関連するデータから作成される訓練データ，並びに，教師データに基づいて、前記異常負荷検出の閾値を学習し、前記異常負荷検出の閾値を学習するのは、前記訓練データと前記教師データの誤差を計算し、前記状態変数、および、計算された前記訓練データと前記教師データの誤差に基づいて、前記工作機械における異常負荷検出に関連付けられる条件の誤差を定める学習モデルを更新する機械学習方法が提供される。
【００２３】
前記訓練データは、負荷に流れる電流を予測した予測負荷電流値に関連したデータであり、前記教師データは、前記負荷に流れる電流を実際に測定した負荷電流実測値に関連したデータであるのが好ましい。
【発明の効果】
【００２４】
本発明に係る機械学習器，数値制御装置および機械学習方法によれば、異常な負荷トルクであると判断するのに適した閾値を求めることができるという効果を奏する。
【図面の簡単な説明】
【００２５】
【図１】図１は、工作機械を制御する数値制御装置の一例を概略的に示すブロック図である。
【図２】図２は、図１における工作機械および数値制御装置の要部を示すブロック図である。
【図３】図３は、本実施形態に係る機械学習器の一例を示すブロック図である。
【図４】図４は、本実施形態の機械学習器における学習フェーズの一例を説明するための図である。
【図５】図５は、本実施形態の機械学習器における運用フェーズの一例を説明するための図である。
【図６】図６は、本実施形態の機械学習器により得られた異常負荷検出の閾値の一例を説明するための図である。
【図７】図７は、本実施形態の機械学習器が適用されるネットワークの一例を示すブロック図である。
【図８】図８は、従来の異常負荷検出の閾値の一例およびその課題を説明するための図である。
【発明を実施するための形態】
【００２６】
以下、本発明に係る機械学習器，数値制御装置および機械学習方法の実施形態を、添付図面を参照して詳述する。図１は、工作機械を制御する数値制御装置の一例を概略的に示すブロック図である。
【００２７】
図１に示されるように、数値制御装置(ＮＣ装置)１０は、例えば、バス１２１により繋がれたＣＰＵ(Central Processing Unit：プロセッサ)１１１，ＲＯＭ(Read Only Memory)１１２，ＲＡＭ(Random Access Memory)１１３，Ｉ／Ｏ(Input/Output)１２４，不揮発性メモリ１１４(例えば、フラッシュメモリ)，軸制御回路１１８およびＰＭＣ(Programmable Machine Controller)１２２を含む。また、バス１２１には、例えば、表示装置／ＭＤＩ(Manual Data Input)パネル１２５におけるグラフィック制御回路１１５，ソフトウェアキー１２３およびキーボード１１７等も繋がれている。ここで、表示装置／ＭＤＩパネル１２５には、グラフィック制御回路１１５に繋がれたＬＣＤ(Liquid Crystal Display)等の表示装置１１６が設けられている。なお、工作機械２０(工作機械に設けられたモータ)は、例えば、ＰＭＣ１２２、および、軸制御回路１１８に繋がれたサーボアンプ１１９により制御される。
【００２８】
例えば、ＣＰＵ１１１は、ＲＯＭ１１２に格納されたシステムプログラムに従ってＮＣ装置１０全体を制御する。ＲＡＭ１１３には、各種データまたは入出力信号が格納され、また、不揮発性メモリ１１４には、例えば、位置情報，速度情報，加速度情報，位置偏差，トルク指令，負荷電流値および振動値の各情報が、それらが取得された時間情報に基づいて時系列的に格納される。
【００２９】
グラフィック制御回路１１５は、デジタル信号を表示用の信号に変換して表示装置１１６に与え、キーボード１１７は、数値キー，文字キーなどを有する各種設定データを入力する。軸制御回路１１８は、ＣＰＵ１１１から各軸の移動指令を受け取って、軸の指令をサーボアンプ１１９に出力し、サーボアンプ１１９は、軸制御回路１１８からの移動指令に基づいて、工作機械２０に設けられたサーボモータ２１を駆動する。
【００３０】
ＰＭＣ１２２は、加工プログラムの実行時に、バス１２１を介してＴ機能信号(工具選択指令)などを受け取り、この信号を、シーケンスプログラムで処理して、動作指令として工作機械２０を制御する。また、ＰＭＣ１２２は、工作機械２０から状態信号を受け取って、ＣＰＵ１１１に対して所定の入力信号を転送する。なお、ソフトウェアキー１２３は、例えば、システムプログラム等によって機能が変化し、また、Ｉ／Ｏ(インターフェース)１２４は、ＮＣデータを外部の記憶装置等に送る。
【００３１】
図２は、図１における工作機械および数値制御装置の要部を示すブロック図である。図２に示されるように、ＮＣ装置(数値制御装置)１０は、例えば、軸駆動制御部１１，データ取得部１２および表示部１３を含む。工作機械２０は、例えば、送り軸を駆動するサーボモータ２１ｘ，２１ｙ，２１ｚ，２１Ａ，２１Ｂを含み、ＮＣ装置１０の軸駆動制御部１１からのトルク指令によりサーボアンプ(例えば、図１のサーボアンプ１１９に対応)を介して、サーボモータ２１ｘ，２１ｙ，２１ｚ，２１Ａ，２１Ｂが駆動制御される。ここで、本明細書における負荷トルクとは、例えば、それぞれのサーボモータ２１ｘ，２１ｙ，２１ｚ，２１Ａ，２１Ｂを駆動するための負荷電流に相当する。
【００３２】
また、各サーボモータ２１ｘ，２１ｙ，２１ｚ，２１Ａ，２１Ｂには、それぞれ位置検出装置２２ｘ，２２ｙ，２２ｚ，２２Ａ，２２Ｂが設けられ、位置検出装置２２ｘ，２２ｙ，２２ｚ，２２Ａ，２２Ｂから各サーボモータ２１ｘ，２１ｙ，２１ｚ，２１Ａ，２１Ｂの位置情報が軸駆動制御部１１にフィードバックされる。
【００３３】
軸駆動制御部１１は、ＮＣ装置１０の加工プログラムを解析し処理する数値制御部から指令される移動指令とサーボモータ２１からフィードバックされる位置情報Ｓａにより、各駆動軸の速度情報Ｓｂ，加速度情報Ｓｃ，トルク指令Ｓｅの計算、サーボアンプにかかる負荷電流値Ｓｆの取得、並びに、各スピンドルモータに装着された衝撃センサから振動値Ｓｇの取得等を行い、フィードバックされた位置情報Ｓａと共に、データ取得部１２に出力する。
【００３４】
データ取得部１２は、軸駆動制御部１１からの各情報を時間ごとに同時に取得する。なお、データ取得部１２は、軸駆動制御部１１からの各情報を時間ごと同時に取得すると共に、ＮＣ装置１０内で取得可能な加工プログラムの実行中のブロック番号を取得してもよい。なお、図１および図２は、単なる例であり、例えば、本発明に係る機械学習器の実施例を含むＮＣ装置は、図１および図２のものに限定されるものではない。
【００３５】
図３は、本実施形態に係る機械学習器の一例を示すブロック図である。ここで、図３に示す機械学習器３は、教師あり学習を適用したものであり、異常負荷検出の閾値(負荷トルクの異常を検出するための閾値)を学習する。なお、教師あり学習とは、教師データＤt、すなわち、ある入力と結果(ラベル)のデータの組を大量に機械学習器に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル(学習モデル)、すなわち、その関係性を帰納的に獲得するものである。
【００３６】
図３に示されるように、機械学習器３は、状態観測部３１および学習部３２を備える。状態観測部３１には、例えば、バイト等の工具の情報(種類，材質および径等)，工具の進行方向，ワークの材質，切削速度，主軸回転数，切り込み量およびクーラント(供給)量等が状態変数(状態量)として入力される。ここで、これらの状態変数は、例えば、ＮＣ装置１０からの入力データＤinとして入力されてもよいが、工作機械２０からの入力データＤin’として入力されてもよい。すなわち、工作機械２０から入力される状態変数(Ｄin')としては、例えば、工作機械２０に設けられた各種センサ(例えば、サーボモータに取り付けられた温度センサ等)により検知されたデータ、あるいは、オペレータが工作機械２０を操作することにより得られたデータといった様々なものであってもよい。なお、機械学習器３は、例えば、それぞれのＮＣ装置１０に設けることもできるが、例えば、図７を参照して後述するように、ネットワークを介してクラウドサーバ、あるいは、クラウドサーバよりも下位のフォグサーバに設けることもできる。
【００３７】
学習部３２は、状態観測部３１から観測された状態変数(Ｄin，Ｄin')を受け取って訓練データを作成し、その訓練データと外部から入力される教師データＤtに基づいて、異常負荷検出の閾値を学習する。すなわち、図３に示されるように、学習部３２は、誤差計算部３２１および学習モデル更新部３２２を含み、誤差計算部３２１は、訓練データと教師データＤtの誤差を計算する。学習モデル更新部３２２は、状態観測部３１の出力および誤差計算部３２１の出力を受け取って、異常負荷検出の閾値に関連付けられる条件の誤差を定める学習モデルを更新する。
【００３８】
ここで、機械学習器３は、例えば、ニューラルネットワーク等のアルゴリズムを用いて実現することが可能である。また、機械学習器３は、汎用の計算機若しくはプロセッサを用いることもできるが、例えば、ＧＰＧＰＵ(General-Purpose computing on Graphics Processing Units)や大規模ＰＣクラスター等を適用すると、より高速な処理を実現することができる。
【００３９】
なお、教師データＤtとしては、例えば、同一のＮＣ装置で同一の工作機械に同じ作業を行わせる場合、実際に作業を行わせる所定日の前日までに得られたラベル付きデータを保持し、その所定日に、教師データとして誤差計算部３２１に提供することができる。あるいは、例えば、ＮＣ装置の外部で行われたシミュレーション等により得られたデータ、または、他のＮＣ装置のラベル付きデータを、メモリカードや通信回線により、その機械学習器３の誤差計算部３２１に教師データＤtとして提供することも可能である。さらに、教師データ(ラベル付きデータ)Ｄtを、例えば、学習部３２に内蔵したフラッシュメモリ(Flash Memory)等の不揮発性メモリに保持し、その不揮発性メモリに保持されたラベル付きデータを、そのまま学習部３２で使用することもできる。
【００４０】
図４は、本実施形態の機械学習器における学習フェーズの一例を説明するための図であり、図５は、本実施形態の機械学習器における運用フェーズの一例を説明するための図である。また、図６は、本実施形態の機械学習器により得られた異常負荷検出の閾値の一例を説明するための図である。
【００４１】
図４および図５を参照して、学習フェーズにより異常負荷検出の閾値を学習し、その学習して得られた異常負荷検出の閾値を、実際の運用フェーズで使用して、異常負荷を検出する例を説明する。すなわち、ＮＣ装置(数値制御装置)１０は、異常負荷検出の閾値を学習する学習フェーズと、工作機械２０を制御してワークを実際に加工する運用フェーズと、を含むものとする。
【００４２】
まず、図４に示されるように、学習フェーズでは、番号化した工具の情報(例えば、工具の種類，材質および径の情報：Ｘ１)、番号化したワークの材質(Ｘ２)、工具の進行方向(各軸の送り速度：Ｘ３)、切削速度(合成速度：Ｘ４)、主軸回転数(Ｘ５)、切り込み量(クーラント量：Ｘ６)を入力(状態変数)として、例えば、数ｍsec.〜数十ｍsec.の周期で、ニューラルネットワーク３００で構成される機械学習器３に与える。
【００４３】
なお、図４(図５)において、ニューラルネットワーク３００は、簡略化のために三層として描かれているが、実際には、はるかに多層化されているのはいうまでもない。また、ニューラルネットワーク３００に与える状態変数(状態量)としては、上記Ｘ１〜Ｘ６の全てを与える必要はなく、それらの少なくとも１つを与えればよい。さらに、ニューラルネットワーク３００に与える状態変数としては、上記Ｘ１〜Ｘ６に限定されず、例えば、工作機械２０やワークに関連する他のデータを含んでもよい。また、負荷としては、例えば、図２に示すそれぞれのサーボモータ２１ｘ，２１ｙ，２１ｚ，２１Ａ，２１Ｂが対応するが、学習された異常負荷検出の閾値は、例えば、与えられた入力Ｘ１〜Ｘ６に対して、それぞれのサーボモータ２１ｘ，２１ｙ，２１ｚ，２１Ａ，２１Ｂの個別の閾値として得ることができる。ただし、学習された異常負荷検出の閾値は、それぞれのサーボモータの個別のものに限定されず、複数のサーボモータに対する閾値であってもよい。
【００４４】
ここで、学習フェーズでは、例えば、予め定められた学習用加工によりワークを加工し、加工条件ごとの負荷電流値に基づいて異常負荷を検出するための閾値を学習するのが好ましい。また、学習フェーズにおけるニューラルネットワーク３００(機械学習器３)の出力Ｗとしては、例えば、負荷に流れる電流を予測した予測負荷電流値が出力される。そして、機械学習器３では、予測負荷電流値Ｗに関連する訓練データが、負荷に流れる電流を実際に測定した負荷電流実測値Ｄに関連したデータである教師データＤに一致するように学習が行われる。すなわち、損失関数を、ｙ(Ｘn，Ｗ)，Ｄとすると、この損失関数が一定値に収束するまで、学習フェーズの処理が行われる。
【００４５】
次に、図５に示されるように、運用フェーズでは、上述した学習フェーズと同様に、例えば、ニューラルネットワーク３００に対して入力Ｘ１〜Ｘ６が入力として与えられる。ここで、ニューラルネットワーク３００は、学習フェーズにより学習済になっており、ニューラルネットワーク３００からは、入力Ｘ１〜Ｘ６に対応する予測負荷電流値Ｗが異常負荷検出の閾値として出力される。
【００４６】
そして、図５および図６に示されるように、運用フェーズでは、学習された異常負荷検出の閾値(予測負荷電流値Ｗ)と、負荷に流れる電流を実際に測定した負荷電流実測値Ｄとを比較し、例えば、負荷電流実測値Ｄが、異常負荷検出の閾値Ｗに対して所定のオフセット量αを加算した値(Ｗ＋α)よりも大きいとき、異常負荷を検出したと判定する。ここで、異常負荷の検出は、例えば、負荷(サーボモータ)ごとに行うのが好ましい。ただし、負荷としては、個別のサーボモータに限定されず、複数のサーボモータに対して、異常負荷を検出することもできるのはいうまでもない。
【００４７】
以上において、学習フェーズで行う異常負荷検出の閾値の学習は、運用フェーズにおいても行うことができるのはもちろんである。また、機械学習器３に与える教師データとしては、例えば、負荷電流実測値Ｄそのものであってもよいが、入力Ｘ１〜Ｘ６に対する負荷電流実測値ＤをＮＣ装置の外部で行われたシミュレーション等により得られたデータ、あるいは、他のＮＣ装置のラベル付きデータ等を使用することも可能である。さらに、本実施形態の機械学習器３は、例えば、図１および図２を参照して説明したＮＣ装置１０に内蔵することができる。
【００４８】
図６から明らかなように、本実施例によれば、例えば、負荷電流実測値Ｄを、異常負荷検出の閾値Ｗに対して所定のオフセット量αを加算した値(Ｗ＋α)と比較し、Ｗ＋α＜Ｄのときに異常負荷を検出したと判定することにより、切削速度や切り込み量といった様々な要因で変動する負荷トルク(負荷電流)の異常を正しく検出することが可能になる。すなわち、本実施形態の機械学習器，数値制御装置および機械学習方法によれば、異常な負荷トルクであると判断するのに適した閾値を求めることができ、その結果、工作機械の様々な使用状況に対応した異常負荷の検出を行うことが可能になる。
【００４９】
図７は、本実施形態の機械学習器が適用されるネットワークの一例を示すブロック図である。図７に示されるように、機械学習器３は、例えば、クラウドサーバ４に対して，それぞれのフォグサーバ６１〜６ｎに対して，または，フォグサーバ６１〜６ｎのいずれか１つに対して設けることができる。さらに、機械学習器３は、それぞれの工作機械２０a，２０b，２０c，…を制御するそれぞれのＮＣ装置(端末，エッジ)１０a，１０b，１０c，…に対して、機械学習器３a，３b，３c，…として設けることができ、また、分散学習を行わせることもできる。
【００５０】
図７において、１つのセル(例えば、工作機械セル)８には、複数のＮＣ装置１０a，１０b，１０c，…(工作機械２０a，２０b，２０c，…)が含まれ、これら複数のＮＣ装置１０a，１０b，１０c，…は、ネットワーク７を介してフォグサーバ６１に繋がれている。なお、セル８は、例えば、１つの工場に複数設けられるが、このような構成は様々な変形および変更が可能なのはいうまでもない。
【００５１】
ここで、それぞれのＮＣ装置１０a，１０b，１０c，…に対して機械学習器３a，３b，３c，…として設けた場合、例えば、ＮＣ装置１０aに設けられた機械学習器３aは、ネットワーク等により他のＮＣ装置１０bに設けられた機械学習器３bと接続可能とされ、そのＮＣ装置１０bに設けられた機械学習器３bとの間で機械学習の結果を相互に交換または共有することができる。また、機械学習器３を、それぞれのフォグサーバ６１〜６ｎに対して設けた場合、例えば、ネットワーク５を介して、それぞれの機械学習器３による学習結果を相互に交換または共有することもできる。このように、複数の機械学習器３a，３b，…(３)による学習結果を相互に交換または共有することで、学習効果を向上させることが可能になる。
【００５２】
なお、ネットワーク７には、複数のＮＣ装置１０a，１０b，１０c，…(工作機械２０a，２０b，２０c，…)を含むセル８が、複数繋がれるように構成することもでき、また、ネットワークは、５および７の二層に限定されず、三層以上のネットワークとして構成することもできる。さらに、機械学習器３は、クラウドサーバ４に設けることもでき、これらの構成は、必要に応じて適宜、変形および変更することが可能なのはいうまでもない。
【００５３】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではない。また、明細書のそのような記載は、発明の利点および欠点を示すものでもない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【符号の説明】
【００５４】
３，３a，３b，…    機械学習器
４    クラウドサーバ
５，７    ネットワーク
８    セル
１０，１０a，１０b，１０c，…    数値制御装置(ＮＣ装置)
１１    軸駆動制御部
１２    データ取得部
１３    表示部
２０，２０a，２０b，２０c，…    工作機械
２１ｘ，２１ｙ，２１ｚ，２１Ａ，２１Ｂ    サーボモータ
２２ｘ，２２ｙ，２２ｚ，２２Ａ，２２Ｂ    位置検出装置
３１    状態観測部
３２    学習部
６１〜６ｎ    フォグサーバ
１１１    ＣＰＵ
１１２    ＲＯＭ
１１３    ＲＡＭ
１１４    不揮発性メモリ
１１５    グラフィック制御回路
１１６    表示装置
１１７    キーボード
１１８    軸制御回路
１１９    サーボアンプ
１２２    ＰＭＣ
１２３    ソフトウェアキー
１２５    表示装置／ＭＤＩパネル
１２４    Ｉ／Ｏ(インターフェース)
３２１    誤差計算部
３２２    学習モデル更新部
【図１】
0006542713.tif 000002
【図２】
0006542713.tif 000003
【図３】
0006542713.tif 000004
【図４】
0006542713.tif 000005
【図５】
0006542713.tif 000006
【図６】
0006542713.tif 000007
【図７】
0006542713.tif 000008
【図８】
0006542713.tif 000009