(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024174547
(43)【公開日】2024-12-17
(54)【発明の名称】異常検知システム
(51)【国際特許分類】
B24B 49/10 20060101AFI20241210BHJP
H01L 21/304 20060101ALI20241210BHJP
B23Q 17/12 20060101ALI20241210BHJP
B23Q 17/09 20060101ALI20241210BHJP
【FI】
B24B49/10
H01L21/304 631
B23Q17/12
B23Q17/09 F
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023092425
(22)【出願日】2023-06-05
(71)【出願人】
【識別番号】000102692
【氏名又は名称】NTN株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】川鈴木 智哉
(72)【発明者】
【氏名】長嶋 康太
(72)【発明者】
【氏名】伊藤 康敏
【テーマコード(参考)】
3C029
3C034
5F057
【Fターム(参考)】
3C029DD14
3C034AA01
3C034BB74
3C034BB92
3C034CA24
3C034DD18
5F057AA19
5F057AA53
5F057DA08
5F057DA11
5F057DA14
5F057EB20
5F057GA15
5F057GA16
(57)【要約】
【課題】研削加工または切削加工における異常を精度よく検知することができる異常検知システムを提供することである。
【解決手段】異常検知システムは、ワークに研削加工を行なう加工装置と、加工装置で行なわれている研削加工の工程を推定するPCとを備える。研削加工が開始されると、PCは、振動データの取得を開始する。PCは、推定工程の通知の要求を受けると、振動データを推定モデルに入力して、当該振動データが生じ得る研削加工の工程を推定し(S23)、推定した推定工程をPLCに通知する(S25)。PLCは、指示工程と推定工程とを比較し(S13)、両者が一致しなかった場合には(S13においてNO)、異常を検知する(S14)。
【選択図】
図7
【特許請求の範囲】
【請求項1】
予め定められた複数の工程を順次実行して加工対象に研削または切削の加工を行なう加工装置と、
前記加工において前記加工装置に生じる振動に関するデータを、機械学習により学習済みの推定モデルに入力して、前記加工装置がいずれの工程を実行中であるかを推定する推定装置とを備えた、異常検知システムであって、
前記加工装置が実行を指示している指示工程と、前記推定装置が推定した推定工程とが異なる場合に異常が検知される、異常検知システム。
【請求項2】
前記推定モデルは、学習用データセットを用いた学習処理により生成され、
前記学習用データセットは、複数の学習用データを含み、
前記複数の学習用データの各々は、工程を示す情報と、当該工程が実行されたときの前記振動に関するデータとを含む、請求項1に記載の異常検知システム。
【請求項3】
前記推定モデルは、入力に対して、当該入力が前記複数の工程のうち、どの工程に関するものかを示す可能性を工程毎に出力し、
前記推定装置は、前記出力された可能性のうち、最も高い可能性を有する工程を、前記推定工程とする、請求項1または請求項2に記載の異常検知システム。
【請求項4】
前記指示工程と、前記推定工程とが一致する場合であっても、前記推定工程が有する可能性が閾値未満であったときは、異常が検知される、請求項3に記載の異常検知システム。
【請求項5】
前記振動に関するデータは、所定期間において前記加工装置に生じた振動を蓄積したデータ、または、前記蓄積したデータに対してFFT(Fast Fourier Transform)を施したデータである、請求項1または請求項2に記載の異常検知システム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、研削加工または切削加工における異常を検知する異常検知システムに関する。
【背景技術】
【0002】
切削加工や研削加工における異常を検知するための装置が知られている。たとえば、特開2008-132558号公報(特許文献1)には、切削加工における異常を検知する異常検知装置が開示されている。この異常検知装置は、たとえば、加工対象を切削したときの振動に関するデータを、異常を判定するための閾値と比較し、振動に関するデータが閾値を超えた場合に異常を検知する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
切削加工や研削加工に用いられる加工工具は、使用によって劣化し得る。切削加工や研削加工では、一般に複数の工程が順次実行されるが、加工工具が劣化すると、たとえば研削加工のある工程において、想定よりも加工工具と加工対象との接触量が小さくなり、適切に工程が行なわれないケースが想定される。このようなケースにおいては、加工により生じる振動が小さくなるため、振動に関するデータを閾値と比較しても、振動に関するデータが閾値を超えず、適切に異常を検知できない可能性がある。上記のようなケースを含め、研削加工または切削加工における異常の検知精度の向上が求められている。
【0005】
本発明は上記のような課題を解決するためになされたものであり、その目的は、研削加工または切削加工における異常を精度よく検知することができる異常検知システムを提供することである。
【課題を解決するための手段】
【0006】
(1)この開示に係る異常検知システムは、予め定められた複数の工程を順次実行して加工対象に研削または切削の加工を行なう加工装置と、上記加工において加工装置に生じる振動に関するデータを、機械学習により学習済みの推定モデルに入力して、加工装置がいずれの工程を実行中であるかを推定する推定装置とを備える。この異常検知システムにおいては、加工装置が実行を指示している指示工程と、推定装置が推定した推定工程とが異なる場合に異常が検知される。
【0007】
(2)好ましくは、推定モデルは、学習用データセットを用いた学習処理により生成される。上記学習用データセットは、複数の学習用データを含む。複数の学習用データの各々は、工程を示す情報と、当該工程が実行されたときの振動に関するデータとを含む。
【0008】
(3)好ましくは、推定モデルは、入力に対して、当該入力が複数の工程のうち、どの工程に関するものかを示す可能性を工程毎に出力する。推定装置は、出力された可能性のうち、最も高い可能性を有する工程を、推定工程とする。
【0009】
(4)好ましくは、指示工程と、推定工程とが一致する場合であっても、推定工程が有する可能性が閾値未満であったときは、異常が検知される。
【0010】
(5)好ましくは、振動に関するデータは、所定期間において加工装置に生じた振動を蓄積したデータ、または、上記蓄積したデータに対してFFT(Fast Fourier Transform)を施したデータである。
【発明の効果】
【0011】
本発明に係る異常検知システムによれば、研削加工または切削加工における異常を精度よく検知することができる。
【図面の簡単な説明】
【0012】
【
図1】実施の形態に係る異常検知システムの構成例を示すブロック図である。
【
図2】加工装置で実行される研削加工の各工程を説明するための図である。
【
図3】PCの機能構成の一例を説明するためのブロック図である。
【
図4】PLCの機能構成の一例を説明するためのブロック図である。
【
図5】推定モデルの学習処理を説明するための図である。
【
図6】学習済みの推定モデルを説明するための図である。
【
図7】実施の形態に係るPLCおよびPCで実行される処理の手順を示すフローチャートである。
【
図9】研削加工を3つの工程に大別した場合の実験結果を示す図表である。
【
図10】変形例1に係るPLCおよびPCで実行される処理の手順を示すフローチャートである。
【
図11】変形例2に係るPLCおよびPCで実行される処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
【0014】
<異常検知システムの全体構成>
図1は、本実施の形態に係る異常検知システム1の構成例を示すブロック図である。異常検知システム1は、加工装置2と、PC(Personal Computer)3とを備える。加工装置2と、PC3とは、通信ケーブル4により通信可能に接続されている。
【0015】
加工装置2は、加工対象(以下「ワーク」とも称する)Wに研削加工または切削加工を行なうための装置である。本実施の形態においては、加工装置2は、ワークWに対して研削加工を行なう装置である例について説明するが、ワークWに対して切削加工を行なう装置であってもよい。本実施の形態に係る研削加工は、後述する
図2に示されるように、複数の工程を含む。
【0016】
PC3は、加工装置2が研削加工を実行している場合において、研削加工のいずれの工程が行なわれているかを推定する装置である。具体的には、PC3は、加工装置2に設けられたセンサから、研削加工時の振動データを取得して、当該振動データが研削加工のいずれの工程の振動データであるかを判定することにより、加工装置2が実行中の工程を推定する。PC3は、本開示に係る「推定装置」の一例に相当する。
【0017】
本実施の形態に係る異常検知システム1は、加工装置2がワークWに行なってる研削加工の工程と、PC3が推定した工程とが異なっている場合に、異常を検知する。
【0018】
<<加工装置およびPCの構成>>
加工装置2は、ワーク支持装置10と、砥石駆動装置20と、PLC(Programmable Logic Controller)30と、表示装置40とを備える。ワーク支持装置10、砥石駆動装置20および表示装置40は、PLC30によって制御される。
【0019】
ワーク支持装置10は、ステージ11と、固定装置12と、回転軸13と、センサ14とを含む。
【0020】
ステージ11は、図示しないモータによってX軸方向に移動可能に構成される。なお、ステージ11は、X軸方向に加えて、Z軸方向に移動可能に構成されてもよい。ステージ11には、固定装置12が取り付けされる。
【0021】
固定装置12は、ワークWを固定する装置である。ステージ11をX軸方向に移動させることによって、固定装置12に固定されたワークWをX軸方向に移動させることができる。固定装置12には、固定したワークWを回転させる回転軸13が設けられる。回転軸13は、図示しないモータに連結されており、モータによって回転駆動される。これによって、ワークWは回転軸13周りに回転する。
【0022】
センサ14は、固定装置12に設けられている。センサ14は、ワークWの研削加工において発生する振動を検出し、検出結果を振動データとしてPC3に出力する。センサ14には、たとえば加速度センサを適用することができる。なお、センサ14は、ワークWあるいは後述の砥石に生じる振動を検出できればよく、固定装置12に設けられることに限られるものではない。たとえば、センサ14は、ステージ11に設けられてもよいし、あるいは砥石駆動装置20側に設けられてもよい。
【0023】
砥石駆動装置20は、砥石21と、回転軸22と、モータ23と、送り機構24とを含む。
【0024】
砥石21は、回転軸22に取り付けれている。回転軸22は、モータ23に連結されて、モータ23によって回転駆動される。これによって、砥石21が回転軸22周りに回転する。
【0025】
送り機構24は、図示しないモータによってY軸方向に移動可能に構成される。送り機構24は、回転軸22およびモータ23とともに砥石21をY軸方向に移動させる。すなわち、送り機構24によって砥石21がY軸方向に移動される。送り機構24を移動させることによって、砥石21をワークWに接触させることができる。ワークWおよび砥石21が回転した状態で、ワークWと砥石21が接触することによって、ワークWが研削される。
【0026】
PLC30は、加工装置2の各装置を制御する。PLC30は、CPU(Central Processing Unit)30aと、メモリ30bとを含む。メモリ30bは、たとえば、ROM(Read Only Memory)およびRAM(Random Access Memory)等を含んで構成される。メモリ30bには、CPU30aが実行するための各種プログラムが記憶されている。
【0027】
CPU30aは、メモリ30bに記憶されている各種プログラムを実行することにより、加工装置2の各装置を制御する。なお、CPU30aにより実行される制御は、ソフトウェアによる処理に限られず、専用のハードウェア(電子回路)で構築して処理することも可能である。また、CPU30aは、メモリ30bに記憶されているプログラムを実行することにより、研削加工の各工程を順次実行する。
【0028】
図2は、加工装置2で実行される研削加工の各工程を説明するための図である。
図2を参照して、研削加工は、第1工程、第2工程、第3工程、第4工程、第5工程、第6工程および第7工程を含む。加工装置2のPLC30は、研削加工において、ステップ(以下ステップを「S」と略す)1からS7を順次実行する。
図2に示されるフローチャートの処理は、たとえば加工装置2の開始ボタン(図示せず)が操作されることにより開始される。
【0029】
研削加工が開始されると、砥石21およびワークWの回転駆動が開始される。PLC30は、各工程において砥石21の座標を管理している。具体的には、各工程において、Y軸における砥石21の座標が予め定められており、PLC30は、実行する工程において定められている座標にワークWを移動させる(送る)。PLC30は、1つの工程が完了すると、次の工程の座標に砥石21を移動させる。
【0030】
S1の第1工程は、準備工程である。すなわち、第1工程では、砥石21は初期位置にあり、砥石21がワークWに送られる前の段階である。
【0031】
S2の第2工程は、砥石21をワークWに接近させる(送る)工程である。第2工程では、送り機構24をY軸方向に移動させて、砥石21をワークWに接近させる。
【0032】
S3の第3工程は、砥石21をワークWに接触させる工程である。第3工程においても、送り機構24をY軸方向に移動させて、砥石21をワークWに接触させる。
【0033】
S4の第4工程は、ワークWの粗研削を行なう工程である。第4工程では、ステージ11をX軸方向に比較的高速(具体的には、第6工程よりも早い速度)で移動させて、砥石21に対してワークWをX軸方向に往復運動させる。
【0034】
S5の第5工程は、砥石21の送り込みを停止させつつ(送り機構24およびステージ11の移動を停止させ)、砥石21の回転駆動を行なう工程である。第5工程では、砥石21を回転駆動させて、回転軸22方向のたわみが解消されるのを待つ。すなわち、第5工程では、加工抵抗が発生しないようになるまで(すなわち空転するまで)砥石21を回転させる。
【0035】
S6の第6工程は、ワークWの仕上げ研削を行なう工程である。第6工程では、ステージ11をX軸方向に第4工程よりも低速で移動させて、砥石21に対してワークWをX軸方向に往復運動させる。
【0036】
S7の第7工程は、砥石21の送り込みを停止させつつ(送り機構24およびステージ11の移動を停止させ)、砥石21の回転駆動を行なう工程である。第7工程では、第5工程と同様に、砥石21を回転駆動させて、回転軸22方向のたわみが解消されるのを待つ。
【0037】
再び
図1を参照して、表示装置40は、たとえば液晶ディスプレイである。表示装置40は、PLC30からの制御信号に従って、各種の情報を表示する。たとえば、PLC30は、研削加工の実行時において、現在実行している工程を表示するように制御信号を表示装置40に出力する。表示装置40がPLC30からの制御信号に従って、加工装置2で現在実行されている工程を表示することにより、たとえば作業者が研削加工の進捗を認識することができる。
【0038】
ここで、砥石21は、使用によって劣化し得る。砥石21が劣化すると、たとえば研削加工のある工程(たとえば第4工程)において、想定よりも砥石21とワークWとの接触量が小さくなり、適切に工程が行なわれないケースが想定される。一般に、センサ14によって検出した振動が、予め定められた定められた振動量を超えた場合に異常を検知することが行なわれる場合があるが、このような検知手法では、振動が小さくなる上記のようなケースを異常として検知できない可能性がある。
【0039】
そこで、本実施の形態に係る異常検知システム1は、加工装置2のセンサ14から研削加工時の振動データを取得して、当該振動データが研削加工のいずれの工程の振動データであるかを推定するように構成されたPC3を備える。PLC30は、自身が加工装置2の各装置(ワーク支持装置10,砥石駆動装置20)に実行を指示している工程(以下「指示工程」とも称する)と、PC3が推定した工程(以下「推定工程」とも称する)とが異なる場合に、異常を検知する。
【0040】
PC3は、CPU3aと、メモリ3bとを含む。メモリ3bには、機械学習により学習された推定モデルが記憶されている。推定モデルは、センサ14からの振動データ(あるいは後述するように振動データにFFTを施したデータ)を入力として、入力されたデータが研削加工のいずれの工程の振動を示しているかを推定する。すなわち、推定モデルは、入力されたデータに基づいて、加工装置2が実行中の工程を推定する。推定モデルの詳細については後述する。
【0041】
PC3は、通信ケーブル4を介して加工装置2のPLC30と通信可能に接続されている。PC3のCPU3aは、センサ14から取得した振動データを推定モデルに入力することで、加工装置2が実行中の工程を推定する。PC3は、通信ケーブル4を介して、推定した工程(推定工程)を加工装置2に出力する。
【0042】
図3は、PC3の機能構成の一例を説明するためのブロック図である。PC3のCPU3aは、メモリ3bに記憶されたプログラムを実行することにより、取得部301、処理部303および出力部305として機能する。
【0043】
取得部301は、センサ14から振動データを取得する。たとえば、取得部301は、加工装置2から研削加工を開始する際に出力される開始信号を受信することを条件として、センサ14から振動データの取得を開始する。開始信号は、たとえば加工装置2に設けられた上述の開始ボタンに連動して出力されてもよい。
【0044】
処理部303は、メモリ3bに記憶された推定モデルに、取得部301が取得した振動データを入力し、推定結果を得る。研削加工の各工程においては、ワークWと砥石21との接触状態がそれぞれ異なるため、振動データを用いることによって、当該振動データを生じさせ得る工程を推定することができる。なお、推定モデルへの入力として、振動データにFFTを施したデータを用いることもできる。振動データにFFTを施したデータが用いられる場合には、処理部303は、取得部301が取得した振動データに対してFFTを実行し、振動データを周波数分解する。これによって、周波数毎の振動(振幅)のスペクトルのデータを得ることができる。そして、処理部303は、周波数分解したデータを推定モデルへ入力して推定結果を得る。
【0045】
出力部305は、推定結果をPLC30へ出力する。具体的には、出力部305は、振動データ、あるいは振動データにFFTを施したデータに基づいて、加工装置2が実行中であると推定された推定工程をPLC30へ出力する。
【0046】
図4は、PLC30の機能構成の一例を説明するためのブロック図である。PLC30のCPU30aは、メモリ30bに記憶されたプログラムを実行することにより、取得部31、工程管理部33、比較部35および出力部37として機能する。
【0047】
取得部31は、PC3に推定工程を通知するように要求し、PC3から推定工程を取得する。取得部31は、PC3から取得した推定工程を比較部35に出力する。なお、取得部31は、PC3に推定工程を要求したタイミングで工程管理部33に通知を出力する。
【0048】
工程管理部33は、加工装置2が実行中の工程を管理している。具体的には、工程管理部33は、PLC30が加工装置2の各装置(ワーク支持装置10,砥石駆動装置20)に指示している指示工程を管理している。工程管理部33は、取得部31からの上記通知を受けると、その時の指示工程を比較部35に出力する。
【0049】
比較部35は、取得部31から出力された推定工程と、工程管理部33から出力された指示工程とを比較し、両者が一致しているか否かを判定する。比較部35は、比較結果を出力部37に出力する。
【0050】
出力部37は、比較部35から受けた比較結果に基づいて、制御信号を表示装置40に出力する。たとえば、推定工程と指示工程とが異なっている場合には、加工装置2に何らかの異常が発生していると判定して、出力部37は、異常を表示させるための制御信号を表示装置40に出力する。推定工程と指示工程とが一致している場合には、正常に研削加工が行なわれていると判定して、出力部37は、当該一致した工程名を表示させるための制御信号を表示装置40に出力する。
【0051】
<推定モデル>
図5は、推定モデルの学習処理を説明するための図である。本実施の形態に係るPC3のメモリ3bに記憶される推定モデルは、機械学習により学習された学習済みモデルである。より具体的には、本実施の形態に係る推定モデルは、深層学習により学習された学習済みモデルである。
図5を参照しながら、推定モデルの学習処理について説明する。
【0052】
なお、機械学習とは、与えられた情報(たとえば学習データセット)に基づいて反復的に学習し、法則または判定基準を自立的に確立させる手法である。深層学習とは、多層構造のニューラルネットワークを用いた機械学習である。なお、機械学習として、サポートベクターマシン等を適用することも可能である。
【0053】
推定モデルは、学習用データセットを用いて、学習処理を繰り返し実行して生成される。学習用データセットは、たとえば、複数の学習用データを含む。
【0054】
学習用データの各々は、正解データとしての研削加工の工程名(第1工程から第7工程のいずれか)を示す情報と、その工程名の工程が実行されたときの振動データとを含む。すなわち、ある工程を実行したときの振動データに、当該ある工程の工程名を示す情報がラベル付けされたものが学習データとして用意される。
【0055】
学習用データは、たとえば、研削加工の実行時に一貫して振動データを取得しておき、取得した振動データを各工程(第1工程から第7工程)毎の振動データに分割し、分割した各振動データに工程名(工程を示す情報)をラベル付けすることで用意することができる。
【0056】
図5には、一例として、第4工程が正解データとしてラベル付けされた学習データを用いて、学習処理が行なわれている例が示されている。入力層には、入力(特徴量)として振動データ、あるいは振動データにFFTを施したデータが入力される。この入力に対して、出力層からは、入力されたデータが各工程を表わす可能性(スコア)が出力される。スコアは、たとえば確率で表わされる。
図5においては、第1工程から第7工程のスコアとして、スコアa1からスコアa7がそれぞれ出力されている。
【0057】
スコアが算出されると、スコアとラベル(正解値)との誤差を算出し、算出した誤差が小さくなるように推定モデルの内部パラメータが更新される。具体的には、算出された各スコアが、それぞれの正解値に近づくように、内部パラメータが更新される。
【0058】
内部パラメータの更新は、たとえば、各層(入力層、中間層および出力層)における、重み係数およびバイアスを更新することにより行なわれる。各層の各ノードの出力値yは、以下の式(1)で表わされるように、前層の各ノードからの入力X(X1~Xn)と重み係数K(K1~Kn)との積を合計した値にバイアスBを足し合わせ、さらに活性化関数h(x)を適用した値で表わされる。
【0059】
y=h[{(K1×X1+K2×X2+…+Kn×Xn)+B}]…(1)
具体的に出力層においては、たとえば、出力層の4番目のノードN4に着目すると、ノードN4の出力値(スコア)a4は、前層(中間層の第2層)の各ノードP2-1~P2-nからの入力x(x1~xn)と、重み係数k(k1~kn)と、バイアスb4とを式(1)に代入して、以下の式(2)で表わされる。
【0060】
a4=h[{(k1×x1+k2×x2+…+kn×xn)+b4}]…(2)
この出力値a4とラベルとの誤差が小さくなるように、各層(入力層、中間層および出力層)における重み係数KおよびバイアスBが更新される。出力層の他のノードに対しても同様である。
【0061】
上記のようにして推定モデルに学習処理を行なうことによって、推定モデルが、研削加工の各工程の振動(振動パターンや振幅)を学習して、入力された振動データ(または振動データにFFTを施したデータ)から、当該振動データ(または振動データにFFTを施したデータ)を生じさせ得る工程を推定できるようになる。
【0062】
図6は、学習済みの推定モデルを説明するための図である。学習済みの推定モデルは、振動データあるいは振動データにFFTを施したデータが入力されると、入力されたデータが各工程を表わす可能性(スコア)が算出される。スコアは、たとえば確率で表わされる。
【0063】
図6においては、第1工程から第7工程のスコアとして、スコアb1からスコアb7がそれぞれ算出されている。推定モデルは、算出したスコアのうち、最も高いスコアを示す工程を、入力されたデータ(振動データまたは振動データにFFTを施したデータ)が示す工程として推定する。すなわち、スコアb1からb7のうちでスコアb4が最も高いスコアであったと仮定すると、推定モデルは、入力されたデータが示す工程として第4工程を出力する。
【0064】
上記のようにして推定された推定工程が、PLC30に出力される。そして、PLC30において、この推定工程と、PLC30が加工装置2の各装置(ワーク支持装置10,砥石駆動装置20)に指示している指示工程とが比較され、比較結果(両者が一致しているか否か)に基づいて、異常が検知される。
【0065】
<PLCおよびPCで実行される処理>
図7は、実施の形態に係るPLC30およびPC3で実行される処理の手順を示すフローチャートである。このフローチャートで示される処理は、研削加工の開始とともに開始される。
【0066】
研削加工が開始されると、PLC30は、研削加工を開始したことを示す開始信号をPC3に送信する(S11)。
【0067】
PC3は、開始信号をPLC30から受信すると、センサ14から振動データの取得を開始する(S21)。PC3は、センサ14から取得した振動データを蓄積する。
【0068】
次いで、PLC30は、推定工程の通知を要求する要求信号をPC3に送信する(S12)。なお、S12においてPLC30は、このときの指示工程を記憶する。
【0069】
要求信号を受信すると、PC3は、現在、加工装置2で行なわれている工程を推定する(S23)。具体的には、PC3は、要求信号を受信した時点を起算として、蓄積した振動データから所定期間分の振動データを抽出する。より具体的には、たとえば、時刻t1において振動データの蓄積を開始し(S21)、時刻t2において要求信号を受信したことを想定する。この場合において、所定期間Lxとすると、蓄積した振動データから、時刻t2-Lxから時刻t2までの振動データを抽出する。なお、振動データを蓄積した総時間が所定期間に満たない場合には、蓄積した全振動データを抽出するようにしてもよい。そして、PC3は、抽出した振動データを推定モデルに入力して、抽出した振動データが研削加工のいずれの工程の振動を示すものであるかを推定する(推定工程を得る)。なお、PCは、抽出した振動データにFFTを施して、FFTを施したデータを推定モデルに入力して推定工程を得てもよい。
【0070】
推定工程を得ると、PC3は、推定工程をPLC30に通知する(S25)。推定工程を受信すると、PLC30は、指示工程と推定工程とを比較し、両者が一致するか否かを判定する(S13)。
【0071】
指示工程と推定工程とが一致しなかった場合(S13においてNO)、PLC30は、研削加工に何らかの異常が生じていると判定して、異常を出力する(S14)。たとえば、PLC30は、異常が生じていることを表示装置40に表示させる。なお、異常の出力は、表示装置40への表示に限られるものではなく、作業者に報知できれば他の方法であってもよい。たとえば、加工装置2に備えられたブザーを鳴らしたり、警告灯を点灯させたりしてもよい。
【0072】
一方、指示工程と推定工程とが一致した場合(S13においてYES)、PLC30は、S14をスキップして、処理をS15に進める。
【0073】
S15において、PLC30は、研削加工の全工程が完了したか否かを判定する。研削加工の全工程が完了していない場合には(S15においてNO)、PLC30は、処理をS12に戻す。一方、研削加工の全工程が完了した場合には(S15においてYES)、PLC30は、研削加工の全工程が終了したことを示す終了信号をPC3に送信する(S16)。
【0074】
PC3は、終了信号を受信すると、センサ14からの振動データの取得を終了して、処理を終える(S27)。
【0075】
以上のように、本実施の形態に係る異常検知システム1は、ワークWに対して研削加工(第1工程から第7工程)を行なう加工装置2と、加工装置2が研削加工のいずれの工程を実行しているかを推定するPC3とを備える。PC3は、加工装置2に設けられたセンサ14から振動データを取得し、取得した振動データを深層学習によって学習された推定モデルに入力することにより、振動データがいずれの工程のものであるかを推定する。これによって、振動データに基づいて、ワークWに対して実行されている工程を推定することができる。
【0076】
そして、PLC30は、指示工程と、PC3により推定された推定工程とを比較して、両者に差異があるか否かを判定する。両者に差異がある場合には、加工装置2に何らかの異常が発生していると判定して、異常を検知する。たとえば、砥石21の劣化によって想定よりも砥石21とワークWとの接触量が小さくなってしまった場合や、制御誤差および/または製造誤差等に起因して想定よりも砥石21とワークWとの接触量が大きくまたは小さくなってしまったような場合を検知することができる。
【0077】
また、研削加工の開始から終了まで異常検知システム1が作動することにより、研削加工における工程抜けが発生したような場合にも、指示工程と推定工程とが一致しなくなるため、異常として検知することができる。
【0078】
本実施の形態に係る異常検知システム1は、PC3が推定した推定工程を用いて、加工装置2の異常を検知することができる。
【0079】
<実験結果>
本発明者は、学習済みの推定モデルを備えたPC3に、研削加工の工程毎の振動データを入力して、PC3が正確に工程を推定できるか否かの実験を行なった。
図8は、実験結果を説明するための図表である。
図8には、PC3(推定モデル)に入力された各工程の振動データに対する、PC3が出力した推定工程の確率が示されている。
【0080】
たとえば、PC3に第1工程の振動データが入力された場合に着目すると、入力された振動データが第1工程のものであると推定された確率は98%であり、入力された振動データが第3工程のものであると推定された確率は1%であり、入力された振動データが第7工程のものであると推定された確率は1%であった。すなわち、98%の確率で入力された振動データが第1工程のものであると推定された。また、PC3に第2工程の振動データが入力された場合に着目すると、82%の確率で入力された振動データが第2工程のものであると推定された。
【0081】
入力された振動データに対する、全体の出力(推定工程)の平均正解率は、83%以上であり、高い確率で工程を正確に推定できていることがわかる。そのため、たとえば、研削加工の異常検知に利用することが可能であるといえる。さらに、今後の機械学習の改善に伴なって、上記の正解率はさらに向上することが見込まれる。
【0082】
また、上記の実験では、研削加工を第1工程から第7工程の7つの工程に分類したが、細かな工程の分類が不要な場合もある。たとえば、研削加工を、主要な工程である、第1工程、第4工程および第6工程の3つの工程に大別してもよい。
【0083】
図9は、研削加工を3つの工程に大別した場合の実験結果を示す図表である。
図9には、
図8と同様に、PC3(推定モデル)に入力された各工程の振動データに対する、PC3が出力した推定工程の確率が示されている。
【0084】
たとえば、PC3に第1工程の振動データが入力された場合に着目すると、90.45%の確率で入力された振動データが第1工程のものであると推定された。
【0085】
入力された振動データに対する、全体の出力(推定工程)の平均正解率は、91%以上であり、高い確率で工程を推定できていることがわかる。そのため、たとえば、研削加工の異常検知に利用することが可能であるといえる。さらに、今後の機械学習の改善に伴なって、上記の正解率はさらに向上することが見込まれる。
【0086】
[変形例1]
実施の形態では、PLC30が、PC3から推定工程を取得して、推定工程と指示工程とが一致するか否かを判定した。しかしながら、推定工程と指示工程とが一致するか否かは、PC3が判定してもよい。変形例1においては、推定工程と指示工程とが一致するか否かをPC3が判定する例について説明する。
【0087】
図10は、変形例1に係るPLC30およびPC3で実行される処理の手順を示すフローチャートである。このフローチャートで示される処理は、研削加工の開始とともに開始される。
【0088】
研削加工が開始されると、PLC30は、研削加工を開始したことを示す開始信号をPC3に送信する(S31)。
【0089】
PC3は、開始信号をPLC30から受信すると、センサ14から振動データの取得を開始する(S41)。PC3は、センサ14から取得した振動データを蓄積する。
【0090】
次いで、PLC30は、現在の指示工程を示す信号をPC3に送信する(S32)。すなわち、PLC30は、現在、加工装置2の各装置(ワーク支持装置10,砥石駆動装置20)に実行を指示している工程をPC3に通知する。
【0091】
指示工程を示す信号を受信すると、PC3は、現在、加工装置2で行なわれている工程を推定する(S42)。具体的には、PC3は、指示工程を示す信号を受信した時点を起算として、蓄積した振動データから所定期間分の振動データを抽出し、抽出した振動データを推定モデルに入力して、抽出した振動データが研削加工のいずれの工程の振動を示すものであるかを推定する(推定工程を得る)。なお、PCは、抽出した振動データにFFTを施して、FFTを施したデータを推定モデルに入力して推定工程を得てもよい。
【0092】
推定工程を得ると、PC3は、推定工程と指示工程とを比較する(S43)。そして、PC3は、S43での比較結果をPLC30に送信する(S44)。
【0093】
比較結果を受信すると、PLC30は、比較結果が推定工程と指示工程との一致を示すものか、または推定工程と指示工程との不一致を示すものかを判定する(S33)。比較結果が不一致を示すものであった場合(S33においてNO)、PLC30は、研削加工に何らかの異常が生じていると判定して、異常を出力する(S34)。一方、比較結果が一致を示すものであった場合(S33においてYES)、PLC30は、S34をスキップして、処理をS35に進める。
【0094】
S35において、PLC30は、研削加工の全工程が完了したか否かを判定する。研削加工の全工程が完了していない場合には(S35においてNO)、PLC30は、処理をS32に戻す。一方、研削加工の全工程が完了した場合には(S35においてYES)、PLC30は、研削加工の全工程が終了したことを示す終了信号をPC3に送信する(S36)。
【0095】
PC3は、終了信号を受信すると、センサ14からの振動データの取得を終了して、処理を終える(S45)。
【0096】
以上のように、推定工程と指示工程とが一致するか否かをPC3で判定することも可能である。この場合においても、実施の形態と同様の効果を奏することができる。
【0097】
[変形例2]
実施の形態および変形例1においては、推定工程と指示工程とが一致した場合には、研削加工が正常に行なわれていると判定された。しかしながら、実施の形態の
図6でも説明したとおり、PC3は、入力された振動データに対して、各工程のスコアを算出して、最もスコアが高い工程を推定工程としている。
【0098】
再び
図6を参照して、たとえば、算出されたスコアのうち、第4工程のスコアb4が最も高いスコアであったと仮定する。この場合には、第4工程が推定工程として出力される。しかしながら、スコアb4が比較的低いスコアである場合も想定される。このような場合には、入力された振動データに対する工程の推定が適切でない可能性があり得る。適切でない推定工程を用いて異常検知が行なわれると、異常の誤検出を招く可能性があり、異常検知の精度が低下し得る。
【0099】
そこで、変形例2においては、推定工程と指示工程との比較に加えて、推定工程のスコアを予め設定された閾値と比較する。具体的には、PLC30は、推定工程と指示工程とが一致した場合であっても、推定工程のスコアが閾値以下である場合には、異常を検知する。閾値は、異常検知システム1が適用される装置または/および環境等に応じて適宜設定することができる。
【0100】
図11は、変形例2に係るPLC30およびPC3で実行される処理の手順を示すフローチャートである。このフローチャートは、
図7のフローチャートに対して、S50の処理を追加し、かつ、S25の処理をS60の処理に変更したものである。その他の処理については、
図7のフローチャートの処理と同様であるため、同一の番号を付して、その説明は繰り返さない。
【0101】
PC3は、S23において推定工程を得ると、推定工程およびそのスコアをPLC30に送信する(S60)。
図6の例を用いて具体的に説明すると、算出されたスコアのうち、第4工程のスコアb4が最も高いスコアであった場合には、推定工程(第4工程)と、そのスコアb4がPLC30に送信される。
【0102】
PLC30は、推定工程と指示工程とが一致するか否かを判定し(S13)、両者が一致した場合には(S13においてYES)、推定工程のスコアが閾値以下であるか否かを判定する(S50)。
【0103】
スコアが閾値以下である場合には(S50においてYES)、PLC30は、処理をS14に進めて異常を出力する。一方、スコアが閾値より大きければ(S50においてNO)、S14をスキップして処理をS15に進める。
【0104】
以上のように、変形例2に係る異常検知システム1は、推定工程と指示工程との比較に加えて、推定工程のスコアを予め設定された閾値と比較する。そして、推定工程のスコアが閾値以下である場合、すなわち、工程の推定が適切でない可能性がある場合には、異常を出力させる。これによって、推定工程が適切でないことに起因して、異常の誤検出を招くことを抑制することができる。ゆえに、異常検知の精度の低下を抑制することができる。
【0105】
なお、変形例2には、変形例1を適用することが可能である。すなわち、推定工程と指示工程との比較、および推定工程のスコアが閾値以下であるか否かの判定は、PC3によって行なわれてもよい。
【0106】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0107】
1 異常検知システム、2 加工装置、3 PC、3a CPU、3b メモリ、4 通信ケーブル、10 ワーク支持装置、11 ステージ、12 固定装置、13 回転軸、14 センサ、20 砥石駆動装置、21 砥石、22 回転軸、23 モータ、24 機構、30 PLC、30a CPU、30b メモリ、31 取得部、33 工程管理部、35 比較部、37 出力部、40 表示装置、301 取得部、303 処理部、305 出力部。