【実施例1】
【0017】
図1は、実施例1のシステムの構成例を示す図である。
【0018】
システムは、複数の工作機械100、複数の集約装置110、エッジ装置120、データ管理サーバ130、及びデータベース140から構成される。
【0019】
複数の工作機械100は、直接又はネットワークを介して集約装置110と接続する。複数の集約装置110は、直接又はネットワークを介してエッジ装置120と接続する。エッジ装置120は、直接又はネットワークを介してデータ管理サーバ130に接続する。また、データ管理サーバ130は、直接又はネットワークを介してデータベース140と接続する。
【0020】
なお、本発明はネットワークの種類に限定されない。ネットワークは、例えば、LAN(Local Area Network)及びWAN(Wide Area Network)等である。また、ネットワークの接続方式は、有線又は無線のいずれでもよい。
【0021】
工作機械100は、金属等の部材を加工する装置である。本実施例の工作機械100は、部材を加工するための回転機構を有するものとする。回転機構を有する工作機械100は、例えば、切削加工機及び研磨機等である。切削加工は、例えば、ミーリング加工、ターニング加工、ドリリング加工のいずれにも、本発明を適用できる。
【0022】
実施例1では、ミーリング加工の切削用の複数の刃を有する加工器具204(
図2参照)が回転機構に取り付けられている切削加工機を想定する。実施例1の工作機械100の構成の詳細は、
図2を用いて説明する。
【0023】
集約装置110は、工作機械100に設置されるセンサ203(
図2参照)からセンサデータを取得する。集約装置110は、各工作機械100から取得したセンサデータから特徴量データを生成し、エッジ装置120に特徴量データを送信する。集約装置110の構成の詳細は
図3を用いて説明する。
【0024】
エッジ装置120は、各工作機械100の特徴量データを用いてクラスタリングを実行し、クラスタリングの結果に基づいて工作機械100に関連する状態を分析する。また、エッジ装置120は、特徴量データ、クラスタリングの結果、及び状態の分析結果等の情報をデータ管理サーバ130に送信する。エッジ装置120の構成の詳細は
図4を用いて説明する。
【0025】
データ管理サーバ130は、システム内の各種情報を管理する。データ管理サーバ130は、エッジ装置120を介して取得した情報をデータベース140に格納する。データ管理サーバ130は、プロセッサ、メモリ、及びネットワークインタフェースを有する汎用の計算機が考えられる。
【0026】
データベース140は、各種情報を格納する。データベース140は、例えば、コントローラ、記憶装置、及びネットワークインタフェースを有するストレージシステムを用いて実現する。記憶装置は、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等が考えられる。
【0027】
図2A、
図2B、
図2C、
図2D、及び
図2Eは、実施例1の工作機械100の構成の一例を示す図である。
【0028】
実施例1の工作機械100は、例えば、ミーリング加工を行う。この場合、加工の入力条件として、軸切込みa
p(mm)、径切込みa
e(mm)、切削速度V
c(m/min)、送り速度F
z(mm/min)、回転数/回転速度N(rpm)、C軸移動量C(度)、カット方法(Up加工/Down加工)、走査回数p、高さH(mm)、切削液量(3L/min)、及びエンドミル系D(mm)がパラメータとして与えられる。なお、ドライ加工の場合、切削液量は含まれない。
【0029】
診断結果をフィードバックする場合、ユーザは、前述したパラメータのうち、回転数、送り速度、切込み、及び切削速度のいずれかを変更する。
【0030】
また、システムでは、センサ203がデータ(計測値)を取得するためのパラメータとして、サンプリング周波数f
s(Hz)、窓関数w、及び窓データ長nが設定される。窓関数は、例えば、方形窓、ハニング窓、ハミング窓、及びブラックマン窓等である。窓データ長は、各セグメントのデータ長を表す。なお、実施例1では、サンプリング周波数として10kHzが設定され、また、窓関数としてハニング窓が設定される。
【0031】
各種入力パラメータは、上記を含め、加工条件、工具仕様、機械仕様、及びワーク仕様等の各種入力パラメータを入力として与える。
【0032】
工作機械100は、筐体200及び制御装置250から構成される。筐体200は、加工作業を行う部分であり、主軸ステージ201、主軸202、センサ203、加工器具204、及びテーブル205を有する。
【0033】
テーブル205は、加工する部材206を設置し、部材206を移動させる構成である。主軸ステージ201は、部材206の方向に主軸202を移動させる構成である。主軸202は、加工器具204を回転させる構成である。加工器具204は、部材206を切削する構成である。加工器具204には、部材206を切削するための刃を二つ以上有する。
【0034】
センサ203は、加工作業に関連する値(状態値)を計測する。例えば、センサ203は、主軸202の回転速度及び加工器具204が部材206から受ける力等を状態値として計測する。センサ203は、計測した状態値及び工作機械100の識別情報を含むセンサデータを出力する。センサデータには状態値を計測した時刻を示すタイムスタンプが含まれてもよい。
【0035】
センサ203は、例えば、力センサ(切削動力計)、加速度センサ、変位センサ、ジャイロセンサ、超音波センサ、歪ゲージ、レーザドップラー振動計(LDV)、温度センサ、騒音計、及びカメラ等である。
【0036】
センサ203が計測する物理量は、例えば、力センサ(切削動力計)であれば力、加速度センサであれば加速度、変位センサであれば変位、ジャイロセンサであれば角速度、歪ゲージであれば歪、レーザドップラー振動計であれば速度、温度センサであれば温度、騒音計であれば音圧、カメラであれば画像である。なお、熟練者は、音の違いに基づいて工作機械100の異常を判断できる場合があるため、音又は音に代わる振動等を物理量として計測することが有効である。
【0037】
また、センサ203として、MEMSセンサも利用可能である。各種MEMSセンサは、半導体プロセスにより大量生産が可能なため低コストであること、数mmから十数mmサイズの小型軽量なのでセンサ203の設置による加工条件及び加工精度への影響が軽微であること等のメリットがある。
【0038】
センサ203は、同一種類のセンサのみでもよいし、また、異なる種類のセンサを組み合わせてもよい。また、工作機械の電圧又は電流のデータを出力させ、利用してもよい。電圧又は電流のデータを活用することによって信号を同期することが容易になり、また、複数のセンサを組み合わせて使用することによって判別の精度が向上することが期待される。
【0039】
センサ203の設置位置は、
図2A、
図2B、及び
図2Cに示すように、センサ203の設置位置は限定されない。
図2Cに示すように、センサ203をテーブル205に設置する場合、センサ203は、テーブル205中に埋め込むように設置してもよいし、テーブル205の側面に設置してもよい。このようにセンサ203を設置することによって、スピンドル側に接触しないため、センサ203の設置によって加工条件等が変化するのを抑制することができる。特に、テーブル205中にセンサ203を埋め込む場合は、加工作業において伝わる力及び振動を、センサ203が直接的に計測することができるため、計測値の精度が向上することが期待できる。
【0040】
また、
図2D及び
図2Eに示すように、レーザ、超音波、及び音等を計測するセンサ203の場合、センサ203は筐体200に直接設置されなくてもよい。これによって、筐体200に手を加えることなく、加工作業における工作機械100の状態を監視できる。すなわち、センサ203の設置による加工条件の変化等の影響を受けにくい。
【0041】
センサ203が騒音計である場合、センサ203は、工作機械100から発せられる音を計測し、センサ203がレーザである場合、センサ203は、工作機械100の動的な振動特性を示す値を計測する。
【0042】
センサ203が騒音計である場合、センサ203は、音源からの直接伝搬する音、壁面から伝播する反射音、及び前述の二つの音が干渉した音等を計測する。反射音の影響が大きい場合、直接伝搬する音と反射音又は干渉音とを分離するための信号処理が複雑又は困難になる。
【0043】
そのため、センサ203及び壁面の間に定常波が生じないように、センサ203の設置位置を調整する。また、
図2Eに示すように、反射音を低減させるために工作機械100全体を吸音材208で囲い、また、筐体200に吸音材207を設置する。これによって、壁面からの音の反射を低減できるため、センサ203の計測精度を向上できる。なお、吸音材207、208は、例えば、ウレタン、グラスウール、ゴム、及び金属製吸音板等である。
【0044】
実施例1のセンサ203は、切削作業において発生する特定の方向の力(切削力)及び回転速度を状態値として計測するものとする。より具体的には、センサ203は、X方向、Y方向、Z方向の各成分の物理量を計測する。
【0045】
制御装置250は、筐体200の各構成を制御する。制御装置250は、ハードウェアとして、プロセッサ251、メモリ252、及び接続インタフェース253を有する。制御装置250の各ハードウェアは、内部バスを介して互いに接続される。
【0046】
プロセッサ251は、メモリ252に格納されるプログラムを実行する。プロセッサ251がプログラムにしたがって処理を実行することによって、特定の機能を実現するモジュールとして動作する。以下の説明では、モジュールを主語に処理を説明する場合、プロセッサが当該モジュールを実現するプログラムを実行していることを示す。
【0047】
なお、モジュールは、複数のモジュールを一つのモジュールにまとめることもできるし、一つのモジュールを機能毎に複数のモジュールに分けることもできる。
【0048】
メモリ252は、プロセッサ251が実行するプログラム及びプログラムが使用する情報を格納する。メモリ252は、筐体200の各構成を制御するモジュールを実現するプログラム(図示省略)を格納し、また、制御情報261を格納する。制御情報261は、筐体200の各構成を制御するためのパラメータを格納する。
【0049】
接続インタフェース253は、筐体200及び他の装置と接続するためのインタフェースである。接続インタフェース253は、例えば、ネットワークインタフェース及びI/Oインタフェースである。
【0050】
なお、
図2A、
図2B、
図2C、
図2D、及び
図2Eでは、ミーリング加工を行う工作機械100の構成例を示したが、本発明はミーリング加工を行う工作機械100に限定されない。例えば、部材206側を回転させて加工(ターニング加工)を行う工作機械100にも適用できる。
【0051】
図3は、実施例1の集約装置110の構成の一例を示す図である。
【0052】
集約装置110は、ハードウェアとして、プロセッサ301、メモリ302、及び接続インタフェース303を有する。集約装置110の各ハードウェアは、内部バスを介して互いに接続される。プロセッサ301、メモリ302、及び接続インタフェース303は、プロセッサ251、メモリ252、及び接続インタフェース253と同様のハードウェアである。
【0053】
なお、集約装置110は、記憶装置、入力装置、及び出力装置を有してもよい。入力装置はキーボード、マウス、及びタッチパネル等であり、出力装置はディスプレイ及びプリンタ等である。
【0054】
メモリ302は、前処理実行モジュール311を実現するプログラム及びセンサデータ管理情報312を格納する。
【0055】
センサデータ管理情報312は、工作機械100のセンサ203から取得したセンサデータを管理するための情報である。センサデータ管理情報312は、例えば、一つのセンサデータを一つのエントリとして管理するテーブル形式の情報である。
【0056】
なお、本発明はセンサデータ管理情報312のデータ構造に限定されない。例えば、センサデータ管理情報312は、XML形式及びCSV形式の情報でもよい。
【0057】
前処理実行モジュール311は、センサデータから、クラスタリングで使用する特徴量データを生成する。前処理実行モジュール311が実行する処理の詳細は
図6を用いて説明する。
【0058】
図4は、実施例1のエッジ装置120の構成の一例を示す図である。
【0059】
エッジ装置120は、ハードウェアとして、プロセッサ401、メモリ402、及び接続インタフェース403を有する。エッジ装置120の各ハードウェアは、内部バスを介して互いに接続される。プロセッサ401、メモリ402、及び接続インタフェース403は、プロセッサ251、メモリ252、及び接続インタフェース253と同様のハードウェアである。
【0060】
なお、エッジ装置120は、記憶装置、入力装置、及び出力装置を有してもよい。入力装置はキーボード、マウス、及びタッチパネル等であり、出力装置はディスプレイ及びプリンタ等である。
【0061】
メモリ402は、クラスタ分析実行モジュール411を実現するプログラム及び特徴量データ管理情報412を格納する。
【0062】
特徴量データ管理情報412は、特徴量データを管理するための情報である。特徴量データ管理情報412のデータ構造の詳細は
図5を用いて説明する。
【0063】
クラスタ分析実行モジュール411は、特徴量データを用いてクラスタリングを実行する。クラスタ分析実行モジュール411が実行する処理の詳細は
図8を用いて説明する。
【0064】
図5は、実施例1の特徴量データ管理情報412のデータ構造の一例を示す図である。
【0065】
特徴量データ管理情報412は、ID501、装置ID502、セグメントID503、切削力504、振幅505、及び比率506から構成されるエントリを格納する。一つのエントリが一つの特徴量データに対応する。
【0066】
ID501は、エントリを一意に識別するための識別情報を格納するフィールドである。装置ID502は、工作機械100を特定するための識別情報を格納するフィールドである。セグメントID503は、単位時間幅を分割することによって生成される短時間幅(セグメント)の識別情報を格納するフィールドである。ここで、単位時間幅は、特徴量の時系列データを抽出するための時間幅である。例えば、現在から1秒前までの時間幅が単位時間幅として設定される。
【0067】
切削力504、振幅505、及び比率506は、特徴量を格納するフィールドである。
【0068】
切削力504は、セグメントに所属する複数のセンサデータに含まれる切削力から算出された値を格納するフィールドである。例えば、切削力の二乗平均平方根が切削力504に格納される。
【0069】
振幅505は、セグメントに所属する複数のセンサデータに含まれる状態値(状態値の時系列データ)を用いたスペクトル解析によって算出された周波数の中で、基本波の整数倍の周波数に一致又は近似する周波数の振幅を格納するフィールドである。以下の説明では、基本波の整数倍の周波数を高調波と記載する。
【0070】
なお、高調波に近似するとは、高調波との誤差が閾値より小さい周波数を表す。
【0071】
実施例1では、切削力の時系列データを用いたスペクトル解析を実行される。実施例1では、回転周波数を基本波として扱う。なお、回転周波数は回転速度に基づいて算出することができる。また、実施例1の振幅505には、回転周波数に加工器具204の刃の数を乗算した値に一致又は近似する周波数の振幅が格納される。以下の説明では、高調波のうち、回転周波数に加工器具204の刃の数を乗算した値に一致又は近似する周波数を特徴高調波と記載する。
【0072】
比率506は、特徴高調波の振幅及び回転周波数の振幅を用いて算出される比率を格納するフィールドである。なお、比率506には、特徴高調波以外の高調波の振幅及び回転周波数の振幅を用いて算出される比率が格納されてもよい。
【0073】
なお、エントリは、切削力504、振幅505、及び比率506以外の特徴量を格納するフィールドを含んでもよい。
【0074】
図6は、実施例1の前処理実行モジュール311が実行する処理の一例を説明するフローチャートである。
図7A及び
図7Bは、実施例1の前処理実行モジュール311が実行するスペクトル解析によって出力される演算結果を示す図である。
【0075】
前処理実行モジュール311は、実行指示を受け付けた場合、又は、周期的に以下で説明する処理を実行する。
【0076】
前処理実行モジュール311は、センサデータ管理情報312から単位時間幅に含まれるセンサデータを取得する(ステップS101)。例えば、前処理実行モジュール311は、センサデータに含まれるタイムスタンプが単位時間幅に含まれるセンサデータを取得する。
【0077】
次に、前処理実行モジュール311は、単位時間幅を所定の数のセグメントに分割する(ステップS102)。セグメントの数は予め設定されているものとする。ただし、セグメントの数は、任意のタイミングで更新できる。
【0078】
次に、前処理実行モジュール311は、セグメントのループ処理を開始する(ステップS103)。
【0079】
具体的には、前処理実行モジュール311は、セグメントを一つ選択する。例えば、前処理実行モジュール311は、セグメントの始点時刻を参照し、当該始点時刻が古い順にセグメントを選択する。
【0080】
次に、前処理実行モジュール311は、セグメントに所属する複数のセンサデータを用いて特徴量を算出する(ステップS104)。
【0081】
具体的には、前処理実行モジュール311は、セグメントに所属する複数のセンサデータに含まれる切削力の二乗平均平方根(実効値)を特徴量として算出する。
【0082】
なお、前処理実行モジュール311は、特徴量を算出する場合、以下のような指標を用いることができる。
<時間領域>
(大きさ(位置)の指標)
実効値(RMS)、平均値、中央値、最頻値、最大値、最小値
(変動の指標)
分散、平方和、標準偏差、変動係数、パーセンタイル
(分布の指標)
歪度、尖度
<周波数領域>
(FFTスペクトル)
基本波の周波数及びその整数倍の周波数成分の大きさ、基本波との成分比率
(パワースペクトル密度)
基本波の周波数及びその整数倍の周波数成分の大きさ、基本波との成分比率
ただし、ここでの「比率」は、回転周波数を基準にしてもよいし、切削周波数(n枚刃の場合、回転周波数×n)を基準にしてもよい。
【0083】
次に、前処理実行モジュール311は、セグメントに所属する複数のセンサデータ(状態値の時系列データ)のスペクトル解析を実行する(ステップS105)。具体的には、以下のような処理が実行される。
【0084】
前処理実行モジュール311は、状態値の時系列データを表す関数に窓関数を適用し、フーリエ変換の演算を実行する。前処理実行モジュール311は、演算結果に基づいて状態値に関する周波数を抽出する。実施例1では、前処理実行モジュール311は、切削力の時系列データのフーリエ変換の演算を実行することによって算出された周波数の中から、回転周波数及び高調波を抽出する。
【0085】
本明細書では、回転周波数をf1と記載し、高調波をfiと記載する。iは2以上の整数である。また、本明細書では、特徴高調波をfNとする。Nは加工器具204の刃の数である。
【0086】
前処理実行モジュール311は、式(1)にしたがって、回転周波数の振幅及び特徴高調波の振幅の比率を算出する(ステップS106)。Mag(f1)は回転周波数の振幅を表し、Mag(fN)は特徴高調波の振幅を表す。
【0087】
【数1】
【0088】
なお、前処理実行モジュール311は、式(2)にしたがって、回転周波数の振幅及び高調波の振幅の比率を算出してもよい。ここで、nは抽出された最も大きい高調波に対応する整数を表す。
【0089】
【数2】
【0090】
二つの刃を有する加工器具204に関するスペクトル解析を実行した場合、
図7A及び
図7Bに示すような結果が得られた。
【0091】
図7A及び
図7Bの上のグラフは、セグメントに対応する切削力の時系列データを表す。より具体的には、
図7Aは、正常状態の工作機械100から取得された切削力の時系列データを表し、
図7Bは、刃にチッピングがある工作機械100から取得された切削力の時系列データを表す。
図7A及び
図7Bの下のグラフは、スペクトル解析の結果を表す。なお、矩形700は加工器具204が一回転した時の切削力の時系列データを表す。
【0092】
図7A及び
図7Bに示すように、異常が発生した状態の工作機械100から取得された時系列データに基づいて算出された振幅の比率は、正常な状態の工作機械100から取得された時系列データに基づいて算出された振幅の比率と異なることが分かる。なお、式(1)から算出される振幅の比率は、刃の回転の対称性の崩れを表す指標である。
【0093】
また、fnとfnの整数倍との比率は主に工具振動を反映した指標であり、当該指標も特徴量の一つとして用いることができる。
【0094】
したがって、本発明では、振幅の比率を、状態を分類するための指標(特徴量)として扱う。なお、振幅の比率の代わりにパワースペクトルの比率を用いてもよい。以上がステップS106の処理の説明である。
【0095】
次に、前処理実行モジュール311は、ステップS104からステップS106までの処理の結果に基づいて、特徴量データを生成する(ステップS107)。
【0096】
具体的には、前処理実行モジュール311は、工作機械100の識別情報、セグメントの識別情報、切削力の実効値、回転速度の実効値、回転周波数、及び振幅の比率から構成される特徴量データを生成する。
【0097】
次に、前処理実行モジュール311は、全てのセグメントについて処理が完了したか否かを判定する(ステップS108)。
【0098】
全てのセグメントについて処理が完了していないと判定された場合、前処理実行モジュール311は、ステップS103に戻る。
【0099】
全てのセグメントについて処理が完了したと判定された場合、前処理実行モジュール311は、エッジ装置120に、生成された特徴量データを出力し(ステップS109)、その後、処理を終了する。
【0100】
このとき、エッジ装置120は、特徴量データ管理情報412を更新する。具体的には、エッジ装置120は、特徴量データ管理情報412に、受信した特徴量データの数だけエントリを追加し、追加されたエントリのID501に識別情報を設定する。また、エッジ装置120は、追加されたエントリの各フィールドに、特徴量データに含まれる値を設定する。
【0101】
図8は、実施例1のクラスタ分析実行モジュール411が実行する処理を説明するフローチャートである。
図9は、実施例1のクラスタ分析実行モジュール411が実行したクラスタリングの結果の一例を示す図である。
【0102】
クラスタ分析実行モジュール411は、実行指示を受け付けた場合、特徴量データ管理情報412が更新された場合、又は、周期的に以下で説明する処理を実行する。
【0103】
クラスタ分析実行モジュール411は、特徴量データ管理情報412に基づいて主成分分析を実行する(ステップS201)。具体的には、以下のような処理が実行される。
【0104】
クラスタ分析実行モジュール411は、d個の特徴量から構成されるデータを生成する。クラスタ分析実行モジュール411は、特徴量の平均値が0、標準偏差が1となるように特徴量を標準化する。実施例1では、クラスタ分析実行モジュール411は、切削力504、振幅505、及び比率506の三つの特徴量から構成されるデータを標準化する。
【0105】
クラスタ分析実行モジュール411は、標準化されたデータの共分散行列を算出し、さらに、固有ベクトル及び固有値を算出する。クラスタ分析実行モジュール411は、固有値の大きい順にk個の固有ベクトルを選択する。実施例1では、クラスタ分析実行モジュール411は二つの固有ベクトルを選択する。
【0106】
クラスタ分析実行モジュール411は、選択した固有ベクトルに基づいて、射影行列を生成する。クラスタ分析実行モジュール411は、標準化されたデータから構成される行列に射影行列を作用させる。射影行列を作用させた行列の一つの列が、特徴量データが変化された射影データとなる。
【0107】
以上の処理によって、d次元のデータからk次元のデータに変換される。すなわち、d次元の特徴量空間がk次元の特徴量空間に圧縮される。
【0108】
比率506を特徴量として含む特徴量データに対して主成分分析を行った結果、二次元の特徴量空間を構成する二つの軸(主成分)には、例えば、以下のような特徴がある。一つの軸は、振幅に対応する軸のウェイト(重み係数)が大きい、d次元の軸の線形結合で定義される。もう一つの軸は、振幅の比率に対応する軸のウェイト(重み係数)が大きい、d次元の軸の線形結合で定義される。以上がステップS201の処理の説明である。
【0109】
次に、クラスタ分析実行モジュール411は、射影データを用いてクラスタリングを実行する(ステップS202)。クラスタリングの手法としては、k平均法、k平均++法、DBSCAN法、最短距離法、及びウォード法等が考えられる。実施例1ではk平均法を用いたクラスタリングを実行する。なお、クラスタリングは工作機械100単位で行われる。
【0110】
次に、クラスタ分析実行モジュール411は、クラスタリングの結果に基づいて状態分析処理を実行する(ステップS203)。状態分析処理の詳細については後述する。その後、クラスタ分析実行モジュール411は処理を終了する。
【0111】
クラスタ分析実行モジュール411は、データ管理サーバ130に、特徴量データ、クラスタリングの結果、及び状態の分析結果を出力する。データ管理サーバ130は、取得した情報をデータベース140に格納する。
【0112】
なお、主成分分析の代わりに、d次元の特徴量空間からk次元の特徴量空間への写像を予め定義してもよい。この場合、クラスタ分析実行モジュール411は、写像を用いて算出されたk次元の特徴量空間のベクトル値又はスカラー値に基づいて、クラスタリングを行う。
【0113】
実施例1のクラスタリングの実行結果の具体例を
図9に示す。
図9に示すように、クラスタリングによって四つのクラスタ800、810、820、830が生成された。クラスタ800は、正常状態で取得された特徴量データから構成される。クラスタ810は、摩耗が発生した状態で取得された特徴量データから構成される。クラスタ820は、チッピングが発生した状態で取得された特徴量データから構成される。クラスタ830は、加工器具204の振動異常が発生した状態で取得された特徴量データから構成される。また、クラスタ830は、部材206の加工精度に応じた小さいクラスタ831、832、833、834に分類できた。
【0114】
図9に示すように、回転周波数の振幅及び特徴高調波の振幅の比を特徴量として含む特徴量データを用いてクラスタリングを実行することによって、工作機械100に関連する状態を正確に分類できることが分かる。
【0115】
クラスタリングの結果を利用した状態分析処理について説明する。
【0116】
(状態分析処理1)一つの状態分析処理として、リアルタイムな異常検知処理が考えられる。
【0117】
リアルタイムな異常検知処理を実現するために、システムに学習データを入力して、予め、
図9に示すようなクラスタの情報を生成する。エッジ装置120はクラスタの情報を学習情報として保持する。
【0118】
集約装置110は、工作機械100から取得した状態値の時系列データから特徴量データを生成し、また、エッジ装置120は、特徴量データから射影データを生成し、射影データを用いてクラスタリングを実行する。エッジ装置120は、学習情報に基づいて特徴量データ(射影データ)が所属するクラスタを特定することによって、工作機械100の状態を特定する。すなわち、エッジ装置120は工作機械100の異常を検知できる。エッジ装置120のクラスタ分析実行モジュール411は、処理結果を表示するための情報を生成し、出力する。なお、処理結果は工作機械100ごとに管理される。
【0119】
図10は、実施例1のエッジ装置120が生成した情報によって表示される画面の一例を示す図である。
【0120】
画面1000は、工作機械選択欄1010、クラスタ表示欄1020、及び結果表示欄1030を含む。
【0121】
工作機械選択欄1010は、表示対象の工作機械100を選択するための欄である。工作機械選択欄1010には、工作機械100の識別情報を入力する欄が含まれる。
【0122】
クラスタ表示欄1020は、特徴量データの分類結果を表示する欄である。ポイント1021、1022、1023は、分類された工作機械100の特徴量データを示す。
【0123】
結果表示欄1030は、クラスタ情報表示欄1031及び分類結果欄1032を含む。クラスタ情報表示欄1031は、学習データを用いて生成されたクラスタの情報を表示する欄である。振動異常のクラスタに含まれる各クラスタの数値は、部材206の加工精度の誤差を表す。分類結果欄1032は、分類された特徴量データが所属するクラスタを表示する欄である。
【0124】
実施例1のシステムを活用することによって、迅速かつ正確に工作機械100の異常を検知することができる。
【0125】
(状態分析処理2)一つの状態分析処理として、加工精度の評価処理が考えられる。部材206の加工精度を評価するためには、ユーザは、工作機械100を稼働させ、さらに、加工後の部材206を取り出して品質を確認する必要がある。そのため、加工精度を評価するためにはコストがかかるという問題がある。
【0126】
そこで、クラスタ分析実行モジュール411は、
図9に示すようなクラスタリングの結果に基づいてクラスタの数及びクラスタ間の距離等の指標を算出し、指標を変数とする評価関数を用いて評価値を算出する。クラスタ分析実行モジュール411は、評価値に基づいて部材206の加工精度を評価する。クラスタ分析実行モジュール411は、処理結果を表示するための情報を生成し、出力する。
【0127】
クラスタ間の距離は、例えば、特徴量空間のユークリッド距離で与える。また、クラスタ分析実行モジュール411は、例えば、指標及び閾値の比較結果に基づいて部材206の加工精度が高いか否かを判定する。
【0128】
図11は、実施例1のエッジ装置120が生成した情報によって表示される画面の一例を示す図である。
【0129】
画面1100は、工作機械選択欄1110、クラスタ表示欄1120、及び分析結果表示欄1130を含む。工作機械選択欄1110は、工作機械選択欄1010と同一の欄である。
【0130】
クラスタ表示欄1120は、表示対象の工作機械100の特徴量データを用いたクラスタリングの結果を表示する欄である。
【0131】
分析結果表示欄1130は、指標表示欄1131及び精度評価欄1132を含む。指標表示欄1131は算出された指標を表示する欄である。指標表示欄1131の「距離」は、各クラスタ間の距離の合計値を表す。精度評価欄1132は、評価値及び加工精度の評価結果を表示する欄である。
【0132】
図11に示すように、クラスタの数が多い場合、又は、クラスタ間の距離が大きい場合、加工後の部材206に品質のバラツキがあることが分かる。クラスタリングの結果及び指標に基づく加工精度の判定結果に基づいて、ユーザは加工精度の変動又は加工精度の低下等を正確に把握できる。
【0133】
実施例1のシステムを活用することによって、加工後の部材206を取り出して品質を確認することなく、加工精度を評価できる。これによって、加工精度の評価に要するコストを削減できる。
【0134】
(状態分析処理3)一つの状態分析処理として、筐体200の各構成に設定されたパラメータの評価処理が考えられる。パラメータを評価するためには、ユーザは、筐体200の各構成にパラメータを設定し、工作機械100を稼働させ、さらに、加工後の部材206を取り出して、所望の品質を満たすか否かを確認する必要がある。そのため、パラメータを評価するためには、コストがかかるという問題がある。
【0135】
そこで、クラスタ分析実行モジュール411は、
図9に示すようなクラスタリングの結果に基づいてクラスタの数及びクラスタ間の距離等の指標を算出し、指標を変数とする評価関数を用いて評価値を算出する。クラスタ分析実行モジュール411は、評価値に基づいて、設定したパラメータが適切であるか否かを判定する。クラスタ分析実行モジュール411は、処理結果を表示するための情報を生成し、出力する。
【0136】
クラスタ分析実行モジュール411は、例えば、評価値及び閾値の比較結果に基づいて、パラメータが適切であるか否かを判定する。
【0137】
図12は、実施例1のエッジ装置120が生成した情報によって表示される画面の一例を示す図である。
【0138】
画面1200は、工作機械選択欄1210、クラスタ表示欄1220、及び分析結果表示欄1230を含む。工作機械選択欄1210は、工作機械選択欄1010と同一の欄である。また、クラスタ表示欄1220は、クラスタ表示欄1120と同一の欄である。
【0139】
分析結果表示欄1230は、パラメータ表示欄1231及び適正評価欄1232を含む。パラメータ表示欄1231は、工作機械100に設定したパラメータを表示する欄である。なお、クラスタ分析実行モジュール411は、パラメータ表示欄1231にパラメータを表示するために、工作機械100から制御情報261を取得する。適正評価欄1232は、評価値及びパラメータの評価結果を表示する欄である。
【0140】
図12に示すように、クラスタの数が多い場合、又は、クラスタ間の距離が大きい場合、加工後の部材206に品質のバラツキがあることが分かる。すなわち、品質のバラツキが大きい場合、パラメータが適切でないと解釈できる。クラスタリングの結果及び指標に基づくパラメータの評価結果に基づいて、ユーザはパラメータが適切か否かを把握できる。
【0141】
実施例1のシステムを活用することによって、加工後の部材206を取り出して品質を確認することなく、設定したパラメータを評価できる。これによって、例えば、未知の部材206を加工するためのパラメータを効率的に決定することができる。
【0142】
なお、集約装置110及びエッジ装置120は、別々の構成として実現しているが、一つの装置として実現してもよい。例えば、集約装置110を含まないシステム構成でもよい。この場合、集約装置110の機能をエッジ装置120に含める。
【0143】
なお、集約装置110が実行する処理の一部をエッジ装置120が実行してもよいし、また、エッジ装置120が実行する処理の一部を集約装置110が実行してもよい。例えば、集約装置110が主成分分析を実行し、次元が削減されたセンサデータをエッジ装置120に送信してもよい。また、集約装置110が、スペクトル解析を行って、エッジ装置120が比率を算出してもよい。
【0144】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【0145】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0146】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、Python、MATLAB、R、Julia、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
【0147】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【0148】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。