View Categories

10_異常検知AI活用編

3 min read

概要 #

 KOM-MICSでは取得した工程内のプロセスのデータをもとに「異常検知AI作成」アプリを使って異常検知を行うことが出来ます。また、難しいプログラムを作成するといったことは一切不要で、マウスクリックのみの簡単な操作でAIを作成できるようになっています。また、工作機械/溶接/熱処理などKOM-MICSでデータを取れていればどんな設備でも適用可能です。
 主な用途は以下の通りです。
  ・工程異常検知(工具異常検知/工具破損検知/流量異常検知/温度異常検知 など)
  ・設備異常検知
  ・異常時設備停止制御(FANUCコントローラの工作機械のみ)

異常検知AIとは #

 KOM-MICSで取得したデータ × AI で 「いつもと違う」 を検出し異常度を算出、その後異常度に閾値を設けて異常としてユーザに通知したり、工作機械を停止したりする機能(FANUCのみ)です。
※データに表れないような異常は検知できません。
 (例:仕上げ加工で加工中もロードメータが0%のままで変化なし)

 データとしては主軸のロードメータ/送り軸(XYZ)のロードメータ/溶接電流/温度 などを使用可能です。

適用対象 #

大きくは以下の3つで使用できます。
  ●工程異常検知(量産中の工程データを使用)
   ・工具破損・欠損の検出
   ・鋳物の巣の検出 など
  ●設備の異常検知(空運転の診断プログラムのデータを使用)
   ・主軸のモータ・ベアリング・ギア等の異常検出
   ・送り軸(XYZ)のモータ・ベアリング・ボールねじ等の異常検出 など
  ●異常時設備停止制御(量産中のデータ+マクロプログラム使用)[FANUCコントローラのみ]
   ・工具の破損欠損を検出して設備を停止する など

適用事例 #

工程異常検知・通知 #

 工具交換時に正常に工具を取り付けられていなかったような場合(M24×1.5のタップの未加工)において、未加工を検出し流出防止に活用しています。

 この時は以下のような形でNGの場合とOKの場合で主軸負荷に違いがありました。これをAIをトレーニングすることで判定ができるようになりました。
 (縦軸主軸負荷、横軸時間。各色のグラフが別ワークの同じ個所の加工を示しています)

 手順としては
  1、OKデータでAIをトレーニングする
  2、上記で使っていないOKデータとNGデータを含む検証用データで精度検証
  3、問題なかったため量産導入
という手順で導入しました。
 精度検証の結果は以下のように表示されます。
  ①判定結果(AIの判定結果)と分類結果(人が設定した正解)が閾値によってどう変わるか
   件数と割合で表示しています
  ②横軸異常度、縦軸度数で表示され、赤がNGデータ、緑がOKデータを表しています。
   また、閾値より左をAIがNGと判定し、右をOKと判定します。

今回の場合はOKを非常に精度よく分類出来ており、両方100%の精度で判定できるようになりました。

OKとNGを100%分離できることがわかっており、現在量産で活用し作業者への通知を行っています。

設備の異常検知 #

 量産中のデータを確認していくことで、設備故障の予兆が取得できそうだ ということがわかってきています。ギア加工機の以下のようなZ軸ボールねじさび付きの事例です。

 故障時からデータを振り返ってみると、以下のように加工時のZ軸の負荷のデータが3か月前から異常傾向を示していることがわかりました。

 これについても前記の工程異常と同様にAIを作成して異常を判定できるか検討すると、以下のように正常と異常でそれぞれきれいに正規分布で別れて判定できることがわかっています。

 こういった設備の異常検知を工程の加工データを使ってやる場合は、ワークのバラツキ等がないことが前提になるため、設備異常検知については暖機運転のプログラムを使って判定を行うことを推奨します。

異常時設備停止制御 #

 M18タップの摩耗で工具が折れてワークNGになるのを防いでいる事例です。コマツの粟津工場で実際に量産で導入中で効果が出ています。
 タップが以下のような状態になったときに検出して設備を停止することで、NGワーク発生を抑制しています。
  上:AIで異常検知した時のタップ
  下:通常摩耗時のタップ

 検出時の状況は下図の通りです。停止の9秒前から異常傾向を示しており、停止4秒前に異常と判定し、設備をアラーム停止させることが出来ています。

異常検知AIの運用フロー #

 KOM-MICSの異常検知AIはユーザが特殊なプログラムを作ることなく、クリック操作だけで簡単にAIが作成できるようになっています。また、AIのトレーニングに関してはクラウドで行うため、ViewerPCはノートPC等でも問題なく使えるようになっています。フローは以下の通りです。

フロー設備端末クラウドユーザ
①:測定Loggerで測定
②:データ蓄積データ保存
(BlobStorage)
③:データ選定データ選定
(学習用データ選定)
(検証用データ選定)
(その他各種設定)
④:AI生成AI作成
(AzureBatchAI)
AI変換
(OpenVINO形式へ)
⑤:閾値設定 -異常度閾値設定
⑥:エッジ適用AI生成
⑦:異常検知通知
  設備停止制御)



(FANUCのみ) 
カスタムマクロで
アラーム停止
Logger判定
異常検知
←← →→

  
 


 
通知データ生成
⑧:作業者の確認 - 通知
(iPhone通知)
(メール通知)

事前準備 #

 上記のようなフローを実行する前に、まずは対象を設定し端末を設置してデータを収集しておく必要があります。

対象の決定 #

工程異常検知AIの場合 #

 まずは対象を選定し、以下を決定ください。
  ・対象設備:KOM-MICS設置済みの設備が対象です
  ・対象品番:対象を選定ください
  ・対象工程:OP-1など
  ・対象工具:T001など(溶接の場合はログNo)

加工条件や工具の型番等が変更になった場合を再作成する必要があります。

設備異常検知AIの場合 #

 まずは対象を選定し、以下を決定して実施ください。
  ・対象設備:KOM-MICS設置済みの設備が対象です
  ・異常検知対象軸:主軸/X軸/Y軸/Z軸など(中から一つ以上選択)
  ・対象メインプログラム:暖気プログラム、特定の品番 など
  ・異常検知用空運転NCプログラムの作成
   ・異常検知したい軸をG01で動かす
     ・主軸の場合は回転させてG01で移動
   ・診断プログラム用のコメント入力「(SHINDAN@KOM-MICS)」
    ※”@”が入力できない設備の場合は「(SHINDAN+AT+KOM-MICS)」とする

診断プログラム例

  ・異常検知プログラムをサブプログラムとしてメインプログラムの最後に追加
   (ワークにぶつからないように注意ください)

異常時設備停止制御(FANUCのみ)の場合 #

 まずは対象とする工作機械(FANUCのみ)を選定し、以下を決定ください。
  ・対象設備:KOM-MICS設置済みの設備が対象です
  ・対象品番:対象を選定ください
  ・対象工程:OP-1など
  ・対象工具:T001など

加工条件や工具の型番等が変更になった場合を再作成する必要があります。

異常傾向の確認 #

 工作機械では主に「主軸ロードメータ」「XYZ軸ロードメータ」で異常検知を行います。対象工程について「工程データ重ね合わせ」を使って、異常発生前後や過去にさかのぼってどのように変化したのかを確認して下さい。大阪工場のZ軸ボールねじさび付きの場合はZ軸負荷の推移をチェックしました。工程データ重ね合わせの詳しい使用方法は当該アプリのマニュアルを参照ください。

対象設備の端末の確認 #

 AIはWindows10以降搭載の端末のみで使用可能です。必要に応じて端末交換等を実施ください。

Loggerの設定 #

 Logger側にもAIドライバーのインストールが別途必要になることがあります。以下のように確認して、対応ください。

設定済みか否かの確認 #

 Viewerの「設備設定」カテゴリ→「設備登録情報」より対象設備の「AIドライバーインストール済み」を確認ください。(表示されない場合は左上の「列表示設定」より選択ください)
  ・○:インストール済み
  ・×:未インストール(設定が必要なため、サポートデスクに連絡ください。)

設定方法概要 #

 上記で未インストールの場合はサポートデスクに連絡して、Loggerの設定画面より「AI異常検知」を有効化してドライバーインストールください。

AIの作成と適用 #

 前述の設定を完了し、データを取得した後にAIの作成を行います。

異常検知AIの作成[異常検知AI] #

「AI」カテゴリーの「異常検知AI」をクリックします

異常検知したい(あるいは制御したい)対象を選択してボタンをクリックします。
  ①:KOM-MICS工程データ: 工程異常検知/異常時設備停止制御 で使用
  ②:設備故障診断:     設備異常検知 で使用

設備選択画面が出てくるので選択します。
  ③:設備を選択
  ④:「OK」をクリック

  ⑤:データの検索対象の期間を選択
  ⑥:「NEXT」をクリック

 ⑦:対象工程/プログラムを選択
 ⑧:対象とするデータの日時を選択
    ・使用するデータを100件~200件程度選択(異常のものも入れてください
    ・工程期間が以下のものは除外して選択ください
      ・標準より長いものを除外
      ・標準より短いものを除外
      ・空欄または0のものを除外

 ⑨:「NEXT」をクリック

 ⑩:AIに入れるデータを選択。工作機械の場合は以下の中から1つ以上の選択を推奨
   測定値(主軸負荷)
   ロードメータX[%]
   ロードメータY[%]
   ロードメータZ[%])

 ⑪:「NEXT」をクリック

 ⑫:AIの対象とする工具を選択(溶接の場合はログNoを選択)
 ⑬:「NEXT」をクリック

 ⑭:波形の表示数を選択 表示数が多いと時間がかかりますが、全ての波形を表示を推奨します。

 ⑮:どのデータがOKでどのデータがNGかを選択
 ⑯:「NEXT」をクリック

 ⑰:AIを適用する範囲を選択
   行範囲を指定する:     プログラムの一部のみ使用(プログラムの編集で使用不可)⑲へ
   全ての行を使用する(推奨): 対象工具の全データを使用(プログラム編集しても利用可)⑱へ
 ⑱:どの行を使用するかを選択※対処とする行での加工時間が短すぎると正常に判定できない
 ⑲:「NEXT」をクリックする

 ⑳:「自動」を選択
 ㉑:「NEXT」をクリック

 ㉒:AIに入れるデータの幅を設定。長い方が精度が高くなります
 ㉓:「NEXT」をクリック

 ㉔:正常データを学習用と推論用に分ける比率を選択(基本的には変更不要)
 ㉕:「NEXT」をクリック

 ㉖:作成するAIにわかりやすい名称を入力
 ㉗:「NEXT」をクリック

 ㉘:「学習・推論 開始」をクリック

サーバでの学習が始まり以下のような画面が表示されるので、完了するまで待ちます。
Viewerを閉じてもサーバ側で学習処理は継続しているので、Viewerを閉じても問題ありません

作成したAIの確認[異常検知AI結果] #

結果画面が表示されたら以下の手順で設定確認を行います。Viewerを閉じてしまった場合は「異常検知AI結果」を参照して対象のAIの作成結果を参照ください。

閾値調整・精度確認 #

下図のような画面が表示され、作成したAIの精度を検証することが出来ます。閾値を設定して丁度良い精度になるように調整ください。

 ①:異常を判定する閾値を数値やバーで決定
 ②:AIによる判定結果を表示する。緑部分の割合が大きいほど良いモデル
   判定結果:AIが判定した結果
   分類結果:あなたがOK/NGと分類した結果
 ③:異常度のヒストグラム。横軸異常度 縦軸割合
   緑色がOKと判定すべきデータ。赤色がNGと判定すべきデータ
   判定閾値より右側をNGとして判定

閾値を設定して問題ないと判断出来たら、AIをLoggerへ転送する設定を行います。

作成したAIのLoggerへの転送 #

 端末への異常検知AIを搭載するには、異常検知AI結果画面の上部にある「Loggerで異常判定を行う」という部分をチェックし、「保存」ボタンを押します。
  ①:「Loggerで異常判定を行う」をチェック
  ②:「保存」ボタンをクリック

 「AIドライバーインストール済み」という表記がない場合は、対象設備のエッジ端末がAIに対応していない状況です。サポートデスクに相談してAIドライバーインストールを実施ください。

異常通知の設定 #

 「メール通知機能」を使って、作成したAIで異常を検知した場合にメールで通知するように設定します。
  ①:「設備設定」⇒「メール通知機能」をクリック

  ②:「新規追加」をクリック
  ③:対象の設備を選択
  ④:通知先のメールアドレスを設定
  ⑤:「AI異常検知」を選択
  ⑥:「OK」をクリック

以上のような形でメール通知は設定完了です。

設備停止制御の設定(FANUCのみ) #

FANUCコントローラの場合、カスタムマクロ+マクロ変数を使用することで、異常検知AIで異常検出時に設備の停止を行うことが出来ます。

Loggerの設定 #

 Loggerに異常検出時に書き込む先のマクロ変数を設定します。
注意事項
・他の用途で使用していないマクロ変数を使用してください
・使用前に対象のマクロ変数を0に設定しておいてください

Loggerの設定画面を立ち上げて、以下を実施ください。
  ①:Logger設定画面より「加工機設定2」をクリック
  ②:AI異常検知によるマクロ書込みを「有効」にし、マクロ変数番号を設定
  ③:「OK」をクリック

NCプログラムの編集 #

 対象プログラムを編集して、止めたい部分にマクロプログラムを入れる という形で対応します。加工の途中では止まらず、NCプログラム1行完了毎に判定して停止が可能です。
プログラムのイメージは以下の通りです。
  A:異常判定対象の前にマクロ変数を0にリセット
  B:1行の加工毎に異常判定用のマクロプログラムを挿入

 マクロプログラムは下図のようになっています。現場ごとに以下3点を変更ください。
 (マクロプログラムのサンプルダウンロードはここをクリック)
  ①:使用するマクロ変数の記載を変更(4か所に同一の変数を記入)
  ②:異常検出後の動作を記載
     ・主軸回転停止
     ・退避動作 など
  ③:異常検知復帰後の動作を記載
     ・主軸回転開始
     ・リファレンス点復帰 など

異常検知した場合の動作 #

 異常を検知すると「IJOU. CHECK TOOL. SONO ATO RESET #*** KOM-MICS-AI」というアラームが出て設備が停止します。以下を実施して復帰ください。
  1:工具確認 :主軸についている工具を確認し、問題がある場合は交換
  2:0リセット :異常検知で使用しているマクロ変数を0にリセット
  3:アラームリセット :設備のアラームを解除
  4:自動運転起動 :問題ないことを確認して自動運転起動

適用後の状況確認 #

AIで算出した異常度の確認 #

 各工程で算出した異常度は「工程データ」アプリで確認できます。
  ①:「表示値設定」をクリック
  ②:「AI異常度」を選択
  ③:「OK」をチェック

上部のグラフにAI異常度が表示され、どの部分で異常度が高く判定されているか確認できます。

各ワークでの異常度の推移の確認 #

 また、各加工での異常度がどのように推移したかを確認できます。これを使って、異常度閾値の調整等を行ってください。
  ①:「履歴」カテゴリより「AI異常検知履歴」をクリック

  ②対象の期間を設定
  ③対象の設備を選択
  ④「更新」をクリック

  ⑤:上部のグラフに 横軸:日時 縦軸:異常度 が表示されて、異常度の推移が表示されます。
    この傾向をみて異常判定の閾値の設定ください。

Powered by BetterDocs

Translate »