(57)【要約】【課題】加工時のモータの動作パターンや工具、ワーク等が異なる場合であっても、工作機械の運転状態の異常を検知することがより広範に可能な数値制御システムを提供すること。【解決手段】本発明の一態様による数値制御システムは、工作機械の加工運転におけるコンテキストを取得するコンテキスト取得部１１０と、工作機械の各軸の制御状態量を検出する状態量検出部１４０と、コンテキスト取得部１１０が取得した加工運転におけるコンテキストに基づく抽出パターンを用いて状態量から状態データを抽出する状態データ抽出部２１０と、状態データにから工作機械の運転状態を特徴付ける特徴量を作成する特徴量作成部４１０と、特徴量に基づいて工作機械の運転状態の評価値を計算する推論計算部４２０と、推論計算部４２０の計算結果に基づいて工作機械の運転状態を判定する異常判定部２４０と、を備える。【選択図】図２
2020123191.tif 000002
【特許請求の範囲】
【請求項１】
工作機械の運転状態を判定する数値制御システムであって、
前記工作機械の加工運転におけるコンテキストを取得するコンテキスト取得部と、
前記工作機械の運転状態に係る状態量を検出する状態量検出部と、
前記コンテキスト取得部が取得した加工運転におけるコンテキストに基づく抽出パターンを用いて前記状態量から状態データを抽出する状態データ抽出部と、
前記状態データにから前記工作機械の運転状態を特徴付ける特徴量を作成する特徴量作成部と、
前記特徴量に基づいて前記工作機械の運転状態の評価値を計算する推論計算部と、
前記推論計算部の計算結果に基づいて前記工作機械の運転状態を判定する異常判定部と、
を備えた数値制御システム。
【請求項２】
前記工作機械の加工運転におけるコンテキストとそれぞれ関連付けられた複数の抽出パターンを記憶する抽出パターン記憶部を更に備え、
前記状態データ抽出部は、前記コンテキスト取得部が取得する加工運転におけるコンテキストに基づいて前記抽出パターン記憶部から選択された抽出パターンを用いて前記状態量から状態データを抽出する、
請求項１に記載の数値制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御システムに関し、特に学習モデルを切り替えて工作機械の運転状態の判定を行う数値制御システムに関する。
【背景技術】
【０００２】
工具とワークとを相対的に移動させることによりワークを加工する工作機械（例えばマシニングセンタ、旋盤等）では、ワークの加工中に主軸を回転させるモータ（スピンドルモータ）や工具を移動させるモータ（送り軸モータ）に大きな負荷が掛かった場合や、異常温度を検出した場合、衝撃や異常音を検知した場合等に、工作機械の運転状態が異常な状態にあると判断する技術がある（例えば、特許文献１〜４等）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−０８０７５２号公報
【特許文献２】特開２００８−１１０４３５号公報
【特許文献３】特開２００７−０７２８７９号公報
【特許文献４】特開平０９−０７６１４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、工作機械の運転状態の異常を加工中に外部から観測可能な情報に基づいて判断しようとしても、工作機械の運転状態の異常時に外部から観測される加工の状態情報は、加工内容（荒加工、仕上げ加工等）によって異なり、より詳細には、加工に用いている主軸回転速度や送り速度等を含むモータの動作パターンや、加工に使用している工具の種類、加工するワークの材質等によっても異なるため、これらの様々な状況に対応して工作機械の運転状態の異常の検出に利用できる汎用的な機械学習器（汎用的な学習モデル）を作成することは、様々な状況において検出される多くの状態情報が必要であり困難であるという課題がある。
【０００５】
そのため、加工時のモータの動作パターンや工具、ワーク等が異なる場合であっても、工作機械の運転状態の異常を検知することがより広範に可能な数値制御システムが望まれている。
【課題を解決するための手段】
【０００６】
本発明の一態様による数値制御システムでは、加工時のモータの動作パターンを含む運転状況や、加工に使用する工具の種類、加工するワークの種類等の状況を示すコンテキストに応じて、機械学習に係る処理（学習乃至推論）に使用する状態データの抽出方法を変更することにより、上記課題を解決する。より具体的には、本発明の一態様による数値制御システムは、コンテキストに基づく抽出パターンを用いて加工時に検出された状態量から状態データを抽出したり、該コンテキストに応じて複数の抽出パターンの中から状態データの抽出に用いる抽出パターンを選択する。
【０００７】
そして、本発明の一態様は、工作機械の運転状態を判定する数値制御システムであって、前記工作機械の加工運転におけるコンテキストを取得するコンテキスト取得部と、前記工作機械の各軸の制御状態量を検出する状態量検出部と、前記コンテキスト取得部が取得した加工運転におけるコンテキストに基づく抽出パターンを用いて前記状態量から状態データを抽出する状態データ抽出部と、前記状態データから前記工作機械の運転状態を特徴付ける特徴量を作成する特徴量作成部と、前記特徴量に基づいて前記工作機械の運転状態の評価値を計算する推論計算部と、前記推論計算部の計算結果に基づいて前記工作機械の運転状態を判定する異常判定部と、を備えた数値制御システムである。
【発明の効果】
【０００８】
本発明の一態様により、加工時の工作機械の運転状況や環境状況等のコンテキストに応じて抽出パターンを選択することで、状況に応じた適切な状態データの抽出を行うことが可能となるため、機械学習に係る処理（学習乃至推論）を効率の良く行うことができる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態による数値制御システムの要部を示す概略的なハードウェア構成図である。
【図２】第１の実施形態による数値制御システムの概略的な機能ブロック図である。
【図３】本発明の一態様による抽出パターンを用いない場合の状態データの抽出処理について説明する図である。
【図４】本発明の一態様による抽出パターンを用いた場合の状態データの抽出処理について説明する図である。
【図５】第２の実施形態による数値制御システムの概略的な機能ブロック図である。
【図６】第３の実施形態による数値制御システムの概略的な機能ブロック図である。
【図７】第４の実施形態による数値制御システムの変形例を示す概略的な機能ブロック図である。
【図８】第５の実施形態による数値制御システムの概略的な機能ブロック図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態を図面と共に説明する。
図１は、本発明の一態様による数値制御システム１を構成する数値制御装置及び機械学習装置の要部を示す概略的なハードウェア構成図である。本実施形態による数値制御装置２が備えるＣＰＵ１１は、数値制御装置２を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステム・プログラムを読み出し、該システム・プログラムに従って数値制御装置２全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ、図示しない入力部を介してオペレータが入力した各種データ等が一時的に格納される。
【００１１】
表示器７０は液晶表示装置などで構成される。表示器７０には工具の磨耗状況を示す推論評価値の即値や履歴を表示することもできる。提案されるシステムの実現形態としては、しきい値判定方式、トレンドグラフ判定方式、外れ検知方式など種々の方法で最終結果を得ることができるが、その結果が得られる過程の一部が可視化されることによって、工作機械を実際に生産現場で運転している作業者は工業上の直観に一致した結果を得ることができるようになる。
【００１２】
工作機械が備える軸を制御するための軸制御回路３０はＣＰＵ１１からの軸の移動指令量を受けて、軸の指令をサーボアンプ４０に出力する。サーボアンプ４０はこの指令を受けて、加工機が備える軸を移動させるモータ１２０を駆動する。軸のモータ１２０は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路３０にフィードバックし、位置・速度のフィードバック制御を行う。なお、図１のハードウェア構成図では軸制御回路３０、サーボアンプ４０、モータ１２０は１つずつしか示されていないが、実際には制御対象となる加工機に備えられた軸の数だけ用意される。
【００１３】
インタフェース２１は、数値制御装置２と機械学習装置３とを接続するためのインタフェースである。機械学習装置３は、機械学習装置３全体を統御するプロセッサ８０と、システム・プログラムや学習モデル等を記憶したＲＯＭ８１、機械学習に係る各処理における一時的な記憶を行うためのＲＡＭ８２を備える。機械学習装置３は、インタフェース８４及びインタフェース２１を介して数値制御装置２との間で各種データのやり取りを行なう。また、機械学習装置３による処理の結果は、表示器７２に表示して確認できるようにしても良い。
【００１４】
図２は、第１実施形態による数値制御システム１の概略的な機能ブロック図である。図２に示した各機能ブロックは、図１に示した数値制御システム１を構成する数値制御装置２や、フォグコンピュータ、クラウドサーバ等のコンピュータ上に構成された機械学習装置３が備えるＣＰＵ１１や、ＧＰＵ等のプロセッサ８０が、それぞれのシステム・プログラムに従って装置の各部の動作を制御することにより実現される。
【００１５】
本実施形態の数値制御システム１は、少なくとも状態の観察・推論対象となるエッジデバイスとしての数値制御装置２の上に、数値制御部１００、コンテキスト取得部１１０、状態量検出部１４０を備え、また、エッジデバイスの状態に対する推論を行なう推論処理部４００、複数の特徴モデルを記憶して管理する特徴モデル記憶部３５０を備える。本実施形態の数値制御システム１は、更に、状態量検出部１４０により検出された状態量から推論等の処理に用いる状態データを抽出する状態データ抽出部２１０、エッジデバイスの状態について推論処理部４００が推論した結果に基づいて工作機械の運転状態の異常を検知する異常判定部２４０、エッジデバイスの状態について推論処理部４００が推論計算を表示器等に表示する推論計算表示部２５０、特徴モデル記憶部３５０に記憶する特徴モデルの作成及び更新をする特徴モデル生成部２３０を備える。
【００１６】
本実施形態の数値制御部１００は、図示しないメモリに記憶された加工プログラムのブロックを実行することによりワークを加工する工作機械を制御する。数値制御部１００は、図示しないメモリに記憶された加工プログラムのブロックを逐次読み出して解析し、解析した結果に基づいて制御周期毎のモータ１２０の移動量を算出し、算出した制御周期毎の移動量に従ってモータ１２０を制御する。数値制御部１００により制御される工作機械は、モータ１２０により駆動される機構部１３０を備えており、該機構部１３０が駆動されることにより工具とワークとが相対的に移動してワークが加工される。なお、図２では省略しているが、モータ１２０は工作機械の機構部１３０が備える軸の数だけ用意される。機構部１３０は、例えば送り軸として用いられるボールネジや、主軸として用いられる機構を含む。単一の機構部が複数のモータで駆動される場合もある。
【００１７】
コンテキスト取得部１１０は、数値制御部１００（及び該数値制御部１００により制御される工作機械）が実行する加工運転におけるコンテキスト（加工状況、運転状況、環境状況等）を取得し、取得したコンテキストを機械学習装置３に対して出力する機能手段である。加工運転におけるコンテキストとしては、例えば加工時のモータの動作パターン（主軸回転数、送り速度等）や、現在行われている加工の目的（荒加工、仕上げ加工等）、現在行われている可動部の駆動目的（早送り、切削送り等）、加工に用いられる工具の種類、加工する対象となるワークの硬度や材質等を示すワーク情報等が挙げられる。コンテキスト取得部１１０は、加工プログラムにより指令された加工条件、作業者が図示しない入力装置を介して数値制御部１００に設定した設定情報、ネットワーク等を介して接続された他のコンピュータが数値制御部１００に設定した設定情報、又は、数値制御部１００に別途設けられたセンサ等の機器により検出した情報、ＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）から取得される信号の値等に基づいて総合的に判断される加工運転におけるコンテキストを取得し、当該コンテキストを特徴モデル記憶部３５０、状態データ抽出部２１０、特徴モデル生成部２３０に対して出力する。コンテキスト取得部１１０は、エッジデバイスとしての数値制御部１００の現在の加工運転におけるコンテキストを、抽出パターンを選択するためのコンテキストとして数値制御システム１の各部に対して知らせる役割を持つ。
【００１８】
状態量検出部１４０は、数値制御部１００（及び該数値制御部１００により制御される工作機械）による加工運転の状態を状態量として検出する機能手段である。加工運転の状態量としては、例えば主軸の負荷（電流値）、送り軸の負荷（電流値）、主軸回転数、送り軸速度、送り軸位置、モータ１２０の温度、振動値、音等が例示される。状態量検出部１４０は、例えば数値制御部１００や該数値制御部１００が制御する工作機械の機構部１３０を駆動するモータ１２０に流れる電流値や、各部に別途設けられたセンサ等の機器により検出された検出値を状態量として検出する。状態量検出部１４０が検出した状態量は、状態データ抽出部２１０に対して出力される。
【００１９】
状態データ抽出部２１０は、状態量検出部１４０が検出した状態量から、推論処理部４００による推論処理等に用いられる状態データを抽出する機能手段である。状態データ抽出部２１０は、コンテキスト取得部１１０から入力した加工運転におけるコンテキストに基づいて所定の抽出パターンより状態量検出部１４０が検出した状態量から推論処理などに用いられる状態データを抽出する。状態データ抽出部２１０が用いる抽出パターンは、コンテキストに基づいてパラメータが決定される所定のデータ加工方法であり、例えばコンテキストに基づいて求められる時系列データの抽出区間の設定やデータの選択、コンテキストに基づく状態量のスケール変更等のデータ加工等であって良い。本実施形態においては、状態データ抽出部２１０が用いる抽出パターンは、予め作業者によりメモリ上に登録しておけば良い。
【００２０】
以下では、図３，４を用いて、加工運転におけるコンテキストに基づいた所定の抽出パターンによる状態量からの状態データの抽出方法について説明する。図３は、加工中の工作機械から工具を取り付けた主軸モータの速度とトルクの時系列データを状態量として検出した例である。図３では、（ａ），（ｂ），（ｃ）のそれぞれの主軸モータの速度とトルクの時系列データの組は、主軸モータを駆動させた所定のタイミングで取得されたものであり、この状態量から、主軸モータが約４０００ｒｐｍの一定速度で回転していて、空転している時の所定の長さの時系列データを、機械学習器に入力する状態データとして抽出する場合を考える。このような場合、例えば主軸モータが約４０００ｒｐｍで回転していて、トルク値が所定の閾値よりも低い値を示している所定区間の時系列データを状態データとして取得すれば良い。例えば、（ａ），（ｂ）における点線で囲まれた区間の時系列データを抽出すれば、目的の状態データを取得することができる。しかしながら、この様な処理は、取得した状態量に値の変化が明確に表れていない場合には、目的の状態データを取得することが難しい場合がある。例えば、図３に示した例のように、トルク値の空転時と加工時のトルクの変化に乏しい場合には、トルクに関する閾値をうまく設定して置かなければ、（ｃ）のように、約４０００ｒｐｍの一定速度で主軸モータが回転しているものの、主軸に取り付けられた工具が空転していない（加工している）区間の時系列データを、目的の状態データとして誤って抽出してしまう場合がある。
【００２１】
図４は、加工中の工作機械から工具を取り付けた主軸モータの速度とトルクの時系列データを検出すると共に、加工運転におけるコンテキストの一つとして切削信号を取得した例である。図４の例では、加工中であるか否かを示す信号としての切削信号を加工運転におけるコンテキストとして取得し、これを利用して状態量から状態データを抽出する区間を特定することができる。例えば、予め「コンテキストの切削信号が空転（０．０）から切削（１．０）に切り換わる直前の所定区間を状態データとして抽出する」という抽出パターンが設定されている場合、（ａ）〜（ｃ）のいずれでも、問題なく目的の状態データを抽出することができる。
【００２２】
本実施形態の推論処理部４００は、エッジデバイスとしての数値制御部１００（及び該数値制御部１００により制御される工作機械）の状態を観測し、該観測した結果に基づく数値制御部１００の状態（加工の状態）を推論する。
推論処理部４００が備える特徴量作成部４１０は、状態データ抽出部２１０が抽出した状態データに基づいて、数値制御部１００の工作機械の運転状態の特徴を示す特徴量を作成する機能手段である。特徴量作成部４１０が作成する工作機械の運転状態の特徴を示す特徴量は、数値制御部１００（及び該数値制御部１００により制御される工作機械）が実行する加工運転において、工作機械の運転状態の異常を検知する際の判断の材料として有用である情報である。また、特徴量作成部４１０が作成する工作機械の運転状態の特徴を示す特徴量は、後述する推論計算部４２０が学習モデルを用いた推論を行う際の入力データである。特徴量作成部４１０が作成する工作機械の運転状態の特徴を示す特徴量は、例えば状態データ抽出部２１０が抽出した状態データとしての主軸の負荷を、過去の所定の期間分だけ所定のサンプリング周期でサンプリングしたものであって良く、例えば状態データ抽出部２１０が検出した抽出した状態データとしてのモータ１２０の振動値の過去の所定の期間分内のピーク値であっても良く、例えば状態データ抽出部２１０が抽出した各状態データを時系列の周波数領域へ積分変換したり、振幅又はパワー密度の規格化したり、伝達関数へ適合させたり、特定の時間又は周波数幅へ次元削減する等のような信号処理の組み合わせであっても良い。特徴量作成部４１０は、状態データ抽出部２１０が抽出した状態データを、推論計算部４２０が取り扱えるように前処理を行い正規化したものである。
【００２３】
推論処理部４００が備える推論計算部４２０は、コンテキスト取得部１１０から入力された工作機械の加工運転におけるコンテキストに基づいて特徴モデル記憶部３５０から選択された特徴モデルと、特徴量作成部４１０が作成した特徴量とに基づいて、数値制御部１００（及び該数値制御部１００により制御される工作機械）が実行する工作機械の運転状態の評価値を推論する機能手段である。推論計算部４２０は、機械学習による推論処理を実行可能なプラットフォームに対して、特徴モデル記憶部３５０に記憶される特徴モデルを適用することにより実現される。推論計算部４２０は、例えば多層ニューラルネットワークを用いた推論処理を行うためのものであっても良く、また、ベイジアンネットワークやサポートベクタマシン、混合ガウスモデル等の機械学習として公知の学習アルゴリズムを用いた推論処理を行うためのものであっても良い。推論計算部４２０は、例えば教師あり学習、教師なし学習、強化学習などの学習アルゴリズムを用いた推論処理を行うためのものであって良い。また、推論計算部４２０は、複数種類の学習アルゴリズムに基づく推論処理をそれぞれ実行可能であっても良い。推論計算部４２０は、特徴モデル記憶部３５０から選択された特徴モデルに基づいた機械学習器を構成し、該機械学習器の入力データとして特徴量作成部４１０が作成した特徴量を用いた推論処理を実行することで数値制御部１００（及び該数値制御部１００により制御される工作機械）が実行する工作機械の運転状態の評価値を推論する。推論計算部４２０が推論した結果としての評価値は、例えば工作機械の運転状態の正常／異常の分類や、工作機械の運転状態の異常な箇所（モータ１２０のベアリング異常、モータ１２０と機構部１３０との間の連結部の破損等）を示す情報、現在の工作機械の運転状態と正常時の工作機械の運転状態の分布との距離等の状態を示すものであって良い。
【００２４】
本実施形態の特徴モデル記憶部３５０は、コンテキスト取得部１１０から入力された加工運転におけるコンテキストの組み合わせに関連付けられた複数の特徴モデルを記憶することが可能な機能手段である。特徴モデル記憶部３５０は、例えば数値制御装置やセルコンピュータ、フォグコンピュータ、クラウドサーバ、データベースサーバ等として実装することができる。
【００２５】
特徴モデル記憶部３５０には、コンテキスト取得部１１０により指定された加工運転におけるコンテキスト（加工状況、運転状況、環境状況等）の組み合わせに関連付けられた複数の特徴モデル１，２，…，Ｍが記憶される。ここで言うところの加工運転におけるコンテキスト（加工状況、運転状況、環境状況等）の組み合わせは、それぞれのコンテキストが取り得る値、値の範囲、値の列挙に関する組み合わせを意味し、例えばコンテキストの組み合わせを主軸回転数、送り速度、切削信号、工具種類、ワーク情報、の組み合わせとする場合に、（主軸回転数：５００〜１０００［ｍｉｎ-1］，送り速度：２００〜３００［ｍｍ／ｍｉｎ］，切削中、ドリル工具，アルミ／鋼鉄）を加工運転におけるコンテキストの組み合わせの１つとして用いることができる。
【００２６】
特徴モデル記憶部３５０に記憶される特徴モデルは、推論計算部４２０における推論処理に適合する１つの特徴モデルを構成可能な情報として記憶される。特徴モデル記憶部３５０に記憶される特徴モデルは、例えば多層ニューラルネットワークの学習アルゴリズムを用いた特徴モデルである場合には、各層のニューロン（パーセプトロン）数、各層のニューロン（パーセプトロン）間の重みパラメータなどとして記憶することができ、また、ベイジアンネットワークの学習アルゴリズムを用いた特徴モデルである場合には、ベイジアンネットワークを構成するノードとノード間の遷移確率などとして記憶することができる。特徴モデル記憶部３５０に記憶される特徴モデルのそれぞれは、同じ学習アルゴリズムを用いた特徴モデルであっても良く、また、異なる学習アルゴリズムを用いた特徴モデルであっても良く、推論計算部４２０による推論処理に利用可能であればどのような学習アルゴリズムを用いた特徴モデルであっても良い。
【００２７】
特徴モデル記憶部３５０は、１つの加工運転におけるコンテキストの組み合わせに対して１つの特徴モデルを関連付けて記憶しても良く、また、１つの加工運転におけるコンテキストの組み合わせに対して２以上の異なる学習アルゴリズムを用いた特徴モデルを関連付けて記憶しても良い。特徴モデル記憶部３５０は、その組み合わせの範囲が重畳する複数の加工運転におけるコンテキストの組み合わせのそれぞれに対して異なる学習アルゴリズムを用いた特徴モデルを関連付けて記憶しても良い。この時、特徴モデル記憶部３５０は、加工運転におけるコンテキストの組み合わせに対応する特徴モデルに対して、更に必要処理能力や学習アルゴリズムの種類等の利用条件を定めることにより、例えば加工運転におけるコンテキストの組み合わせに対して、実行可能な推論処理や処理能力が異なる推論計算部４２０に応じた特徴モデルを選択することが可能となる。
【００２８】
特徴モデル記憶部３５０は、加工運転におけるコンテキストの組み合わせを含む特徴モデルの読み出し／書き込み要求を外部から受けると、当該加工運転におけるコンテキストの組み合わせに関連付けて記憶された特徴モデルに対して読み出し／書き込みを行なう。この時、特徴モデルの読み出し／書き込み要求には、推論計算部４２０が実行可能な推論処理や処理能力の情報を含めるようにしても良く、そのようにした場合、特徴モデル記憶部３５０は、加工運転におけるコンテキストの組み合わせ、及び、推論計算部４２０が実行可能な推論処理や処理能力に関連付けられた特徴モデルに対して読み出し／書き込みを行なう。特徴モデル記憶部３５０は、外部からの特徴モデルの読み出し／書き込み要求に対して、コンテキスト取得部１１０から入力されたコンテキストに基づいて、該コンテキスト（の組み合わせ）に関連付けられた特徴モデルに対して読み出し／書き込みが行なわれるようにする機能を備えていても良い。このような機能を設けることで、推論計算部４２０や特徴モデル生成部２３０に対して、コンテキスト取得部１１０から入力されたコンテキストに基づく特徴モデルを要求する機能を別途設ける必要がなくなる。
【００２９】
なお、特徴モデル記憶部３５０は、特徴モデル生成部２３０が生成した特徴モデルを暗号化して記憶し、推論計算部４２０により特徴モデルが読み出される際に暗号化された特徴モデルを復号化するようにしても良い。
【００３０】
異常判定部２４０は、推論処理部４００で推論された工作機械の運転状態の評価値に基づいて、数値制御部１００（及び該数値制御部１００により制御される工作機械）の動作状態（機械の異常等）を判定する機能手段である。例えば、異常判定部２４０は、推論計算部４２０が出力する推論結果としての評価値の内容に応じて工作機械の運転状態の正常／異常の判定を行う。異常判定部２４０は、例えば推論処理部４００で推論された現在の工作機械の運転状態が異常に分類された場合に工作機械の運転状態が異常であると判定し、それ以外の場合には工作機械の運転状態が正常であると判定するようにしても良い。異常判定部２４０は、例えば現在の工作機械の運転状態と正常時の工作機械の運転状態の分布との距離が予め定めた所定の閾値を超える場合に工作機械の運転状態が異常であると判定し、それ以外の場合には工作機械の運転状態が正常であると判定するようにしても良い。
【００３１】
異常判定部２４０は、工作機械の運転状態が異常であると判定した場合、図示しない表示装置、ランプ、音声出力装置などにより作業者に対して工作機械の運転状態の異常を通知するようにしても良い。また、異常判定部２４０は、工作機械の運転状態が異常であると判定した場合、数値制御部１００に対して加工を中止するように指令するようにしても良い。
【００３２】
推論計算表示部２５０は、推論計算部４２０が計算した工作機械の運転状態の評価値を、状態量や加工運転におけるコンテキストに対応付けて表示器７０乃至７２に対して表示する。推論計算表示部２５０は、例えば工作機械の運転状態の評価値を、状態量や加工運転におけるコンテキストの時系列データと関連付けて表示するようにしても良い。また、推論計算表示部２５０は、例えば工作機械の運転状態の評価値を、加工運転におけるコンテキストの一つである加工プログラムの指令と関連付けて表示するようにしても良い。この様な表示を行うことで、作業者は工作機械の運転状態が、どの部分で正常であって、どの部分で異常であるのかを明確に把握することができる。
【００３３】
特徴モデル生成部２３０は、コンテキスト取得部１１０から入力された加工運転におけるコンテキストと、特徴量作成部４１０により作成された工作機械の運転状態の特徴を示す特徴量とに基づいて、特徴モデル記憶部３５０に記憶された特徴モデルの生成乃至更新（機械学習）を行なう機能手段である。特徴モデル生成部２３０は、コンテキスト取得部１１０から入力された加工運転におけるコンテキストに基づいて生成乃至更新の対象となる特徴モデルを選択し、選択した特徴モデルに対して特徴量作成部４１０により作成された加工運転の状態の特徴を示す特徴量による機械学習を行う。特徴モデル生成部２３０は、コンテキスト取得部１１０から入力された加工運転におけるコンテキスト（の組み合わせ）と関連付けられた特徴モデルが特徴モデル記憶部３５０に記憶されていない場合には、当該コンテキスト（の組み合わせ）と関連付けた特徴モデルを新たに生成し、コンテキスト取得部１１０から入力された加工運転におけるコンテキスト（の組み合わせ）と関連付けられた特徴モデルが特徴モデル記憶部３５０に記憶されている場合には、該特徴モデルに対する機械学習を行うことで該特徴モデルを更新する。特徴モデル生成部２３０は、特徴モデル記憶部３５０にコンテキスト取得部１１０から入力された加工運転におけるコンテキスト（の組み合わせ）に関連付けられた特徴モデルが複数記憶されている場合には、それぞれの特徴モデルに対して機械学習を行うようにしても良く、また、特徴モデル生成部２３０により実行可能な学習処理や処理能力に基づいて、一部の特徴モデルに対してのみ機械学習を行うようにしてもよい。
【００３４】
図５は、第２実施形態による数値制御システム１の概略的な機能ブロック図である。図２に示した各機能ブロックは、図１に示した数値制御システム１を構成する数値制御装置２や、フォグコンピュータ、クラウドサーバ等のコンピュータ上に構成された機械学習装置３が備えるＣＰＵ１１や、ＧＰＵ等のプロセッサ８０が、それぞれのシステム・プログラムに従って装置の各部の動作を制御することにより実現される。
【００３５】
本実施形態の数値制御システム１は、第１実施形態による数値制御システムが備える構成に加えて、更に複数の抽出パターンを記憶して管理する抽出パターン記憶部３００、抽出パターン記憶部３００に記憶する抽出パターンの作成及び更新をする抽出パターン生成部２２０を備える。
【００３６】
本実施形態の抽出パターン記憶部３００は、コンテキスト取得部１１０から入力された加工運転におけるコンテキストの組み合わせに関連付けられた複数の抽出パターンを記憶することが可能な機能手段である。抽出パターン記憶部３００は、例えば数値制御装置やセルコンピュータ、フォグコンピュータ、クラウドサーバ、データベースサーバ等として実装することができる。
【００３７】
抽出パターン記憶部３００には、コンテキスト取得部１１０により指定された加工運転におけるコンテキスト（加工状況、運転状況、環境状況等）の組み合わせに関連付けられた複数の抽出パターン１，２，…，Ｎが記憶される。ここで言うところの加工運転におけるコンテキスト（加工状況、運転状況、環境状況等）の組み合わせは、それぞれのコンテキストが取り得る値、値の範囲、値の列挙に関する組み合わせを意味し、例えばコンテキストの組み合わせを主軸回転数、送り速度、切削信号、工具種類、ワーク情報、の組み合わせとする場合に、（主軸回転数：５００〜１０００［ｍｉｎ-1］，送り速度：２００〜３００［ｍｍ／ｍｉｎ］，切削中、ドリル工具，アルミ／鋼鉄）を加工運転におけるコンテキストの組み合わせの１つとして用いることができる。
【００３８】
抽出パターン記憶部３００に記憶される抽出パターンは、状態データ抽出部２１０における状態データの抽出に用いられる１つの抽出パターンを構成可能な情報として記憶される。抽出パターン記憶部３００に記憶される抽出パターンは、コンテキストに基づいてパラメータが決定される所定のデータ加工方法であり、例えばコンテキストに基づいて求められる時系列データの抽出区間の設定やデータの選択、コンテキストに基づく状態量のスケール変更等のデータ加工等であって良い。抽出パターン記憶部３００に記憶される抽出パターンのそれぞれは、同じアルゴリズムを用いた抽出パターンであっても良く、また、異なるアルゴリズムを用いた抽出パターンであっても良い。
【００３９】
抽出パターン記憶部３００は、加工運転におけるコンテキストの組み合わせを含む抽出パターンの読み出し／書き込み要求を外部から受けると、当該加工運転におけるコンテキストの組み合わせに関連付けて記憶された抽出パターンに対して読み出し／書き込みを行なう。抽出パターン記憶部３００は、外部からの抽出パターンの読み出し／書き込み要求に対して、コンテキスト取得部１１０から入力されたコンテキストに基づいて、該コンテキスト（の組み合わせ）に関連付けられた抽出パターンに対して読み出し／書き込みが行なわれるようにする機能を備えていても良い。このような機能を設けることで、状態データ抽出部２１０や抽出パターン生成部２２０に対して、コンテキスト取得部１１０から入力されたコンテキストに基づく抽出パターンを要求する機能を別途設ける必要がなくなる。
【００４０】
なお、抽出パターン記憶部３００は、抽出パターン生成部２２０が生成した抽出パターンを暗号化して記憶し、状態データ抽出部２１０により抽出パターンが読み出される際に暗号化された抽出パターンを復号化するようにしても良い。
【００４１】
抽出パターン生成部２２０は、コンテキスト取得部１１０から入力された加工運転におけるコンテキストと、状態量検出部１４０により検出された工作機械の運転状態の状態量とに基づいて、抽出パターン記憶部３００に記憶された抽出パターンの生成乃至更新を行なう機能手段である。抽出パターン生成部２２０は、コンテキスト取得部１１０から入力された加工運転におけるコンテキストに基づいて生成乃至更新の対象となる抽出パターンを選択し、選択した抽出パターンに対して状態量検出部１４０に検出された状態量から、加工運転におけるコンテキストに基づいてどのように状態データを抽出するのかを定義するデータ加工方法を設定する。一般に抽出パターン生成部２２０は、オペレータ等の図示しない入力手段の操作に基づいて、抽出パターンの作成乃至更新を行う。抽出パターン生成部２２０は、コンテキスト取得部１１０から入力された加工運転におけるコンテキスト（の組み合わせ）と関連付けられた抽出パターンが抽出パターン記憶部３００に記憶されていない場合には、オペレータ等の操作に基づいて、当該コンテキスト（の組み合わせ）と関連付けた抽出パターンを新たに生成し、コンテキスト取得部１１０から入力された加工運転におけるコンテキスト（の組み合わせ）と関連付けられた抽出パターンが抽出パターン記憶部３００に記憶されている場合には、該抽出パターンに対してオペレータ等の操作に基づいて抽出パターンの設定等をすることで該抽出パターンを更新する。
【００４２】
上記構成を持つ本実施形態の数値制御システム１によれば、状態量検出部１４０が検出した状態量から、状態データ抽出部２１０がいずれの抽出パターンに基づいて状態データを抽出するのかを、コンテキスト取得部１１０から入力された加工運転におけるコンテキストに基づいて決定することができる。工作機械の運転状態に対する判定を行う際には、それぞれのコンテキストにおいて抽出するべき状態データの時間的なタイミングや区間、工作機械の運転状態の判定に用いる状態量の種類そのものを変更したい場合がある。例えば、試験動作をしている状況において主軸の動作について判定したい場合には、特にワーク等の加工は行われないため、予め定めた所定の条件（主軸が約４０００ｒｐｍで回転している時）を満足している区間における状態量を無作為に状態データとして抽出する抽出パターンを用いれば良いが、図４に例示されるようにワークの加工を行っている最中において同様の判定をしたい場合には、工具が空転している加工を行っていない区間の状態量を状態データとして抽出するためにコンテキストとしての切削信号をパラメータとして抽出する区間を限定する抽出パターンを用いることが望ましい。更に、工具交換を行った後における工作機械の運転状態（工具の取り付け状態）の判定をしたい場合には、主軸の動作の判定とは異なる種類の状態量から工具交換完了直後の区間の状態データを抽出する抽出パターンを用いる必要が生じる（この時の、推論計算部４２０による推論に用いられる特徴モデルも連動して工具の取付状態を判定するための特徴モデルへと切り換えられる）。この様に、状態データ抽出部２１０が、状態量から状態データを抽出するために用いられる抽出パターンをコンテキスト取得部１１０から入力された加工運転におけるコンテキストに応じて切り換えることで、状況に応じた適切な状態データの抽出を行うことが可能となり、該状態データに基づく特徴モデル生成部２３０による機械学習にかかる処理や、推論計算部４２０による推論処理を効率よく、また、より高い精度で行うことが可能となる。
【００４３】
なお、本実施形態による抽出パターン記憶部３００に記憶される抽出パターンは、特徴モデルと同様に、所謂機械学習の学習モデルを含むものとして構成しても良い。抽出パターンを学習モデルを含むものとして構成する場合には、例えば所定の状態量及び所定のコンテキストを入力とし、出力を抽出するべき状態データとする１つの学習モデルとして抽出パターンを構成しても良く、また、状態量から状態データを選択するためのルールと、選択された状態量及び所定のコンテキストとを入力とし、出力を抽出するべき状態データとする１乃至複数の学習モデルとを組み合わせて抽出パターンを構成しても良い。抽出パターン記憶部３００に記憶された抽出パターンは、例えば多層ニューラルネットワークの学習アルゴリズムを用いたモデルとして構成する場合には、各層のニューロン（パーセプトロン）数、各層のニューロン（パーセプトロン）間の重みパラメータなどとして記憶することができ、また、ベイジアンネットワークの学習アルゴリズムを用いたモデルとして構成する場合には、ベイジアンネットワークを構成するノードとノード間の遷移確率などとして記憶することができる。この様に構成する場合、抽出パターン記憶部３００に記憶される抽出パターンのそれぞれは、同じ学習アルゴリズムを用いた特徴モデルであっても良く、また、異なる学習アルゴリズムを用いた特徴モデルであっても良く、状態データ抽出部２１０による状態データの抽出処理に利用可能であればどのような学習アルゴリズムを用いた抽出パターンであっても良い。
【００４４】
図６は、第３実施形態による数値制御システム１の概略的な機能ブロック図である。本実施形態の数値制御システム１では、各機能ブロックを１台の数値制御装置２の上に実装している。このように構成することで、本実施形態の数値制御システム１は、例えば数値制御装置２が制御する工作機械での加工運転におけるモータ１２０の動作パターンや、加工に用いられる工具の種類、ワークの材質等の加工運転におけるコンテキストに応じて、適切な抽出パターンを用いて状態データを抽出し、適切な特徴モデルを用いた工作機械の運転状態の判定を行うことができる。また、１台の数値制御装置２で、加工運転におけるコンテキストに応じたそれぞれの抽出パターン、学習モデルの生成／更新をすることができる。
【００４５】
図７は、第４実施形態による数値制御システム１の概略的な機能ブロック図である。本実施形態の数値制御システム１では、推論処理部２００、異常判定部２４０、及び推論計算表示部２５０を数値制御装置２の上に実装し、また、抽出パターン記憶部３００，特徴モデル記憶部３５０等を数値制御装置２と標準的なインタフェースやネットワークを介して接続された機械学習装置３の上に実装している。機械学習装置３は、セルコンピュータ、フォグコンピュータ、クラウドサーバ、データベースサーバ上に実装しても良い。このように構成することで、比較的軽い処理である特徴モデルを用いた推論処理は数値制御装置２の上で実行し、比較的重い処理であるモデルの生成／更新の処理を機械学習装置３の上で実行することができるため、数値制御装置２で実行される工作機械の制御の処理を妨げることなく数値制御システム１の運用を行うことができる。
【００４６】
図８は、第５実施形態による数値制御システム１の概略的な機能ブロック図である。本実施形態の数値制御システム１では、各機能ブロックを１台の数値制御装置２の上に実装している。なお、本実施形態の数値制御システム１では、抽出パターン記憶部３００、特徴モデル記憶部３５０には、それぞれ加工運転におけるコンテキストの組み合わせに関連付けられた複数の抽出パターン、複数の特徴モデルが既に記憶されており、抽出パターン、特徴モデルの生成／更新を行なわないと想定して、抽出パターン生成部２２０、特徴モデル生成部２３０の構成を省略している。このように構成することで、本実施形態の数値制御システム１は、例えば数値制御装置２が制御する工作機械に取り付けられた工具の種類やワークの材質等のコンテキストに応じて異なる抽出パターン、特徴モデルを用いて工作機械の運転状態を判定することができるようになる。また、勝手な抽出パターン、特徴モデルの更新は行われないので、例えば顧客に対して出荷される数値制御装置２の構成として採用することができる。
【００４７】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【符号の説明】
【００４８】
１  数値制御システム
２  数値制御装置
３  機械学習装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１７  Ｉ／Ｏユニット
２０  バス
２１  インタフェース
３０  軸制御回路
４０  サーボアンプ
７０，７２  表示器
８０  プロセッサ
８１  ＲＯＭ
８２  ＲＡＭ
８３  不揮発性メモリ
８４  インタフェース
１００  数値制御部
１１０  コンテキスト取得部
１２０  モータ
１３０  機構部
１４０  状態量検出部
２１０  状態データ抽出部
２２０  抽出パターン生成部
２３０  特徴モデル生成部
２４０  異常判定部
２５０  推論計算表示部
３００  抽出パターン記憶部
３５０  特徴モデル記憶部
【図１】
2020123191.tif 000003
【図２】
2020123191.tif 000004
【図３】
2020123191.tif 000005
【図４】
2020123191.tif 000006
【図５】
2020123191.tif 000007
【図６】
2020123191.tif 000008
【図７】
2020123191.tif 000009
【図８】
2020123191.tif 000010