本記事では、MELSOFT MaiLabで診断モデルを作成する様子をお伝えします。
はじめに
前回までの内容
今回の内容
本記事では、以下の流れでMELSOFT MaiLabで診断モデルを作成していきます。
前回可視化してみたデータより、診断モデル作成に最適な構成を検討しました。
登録したデータで診断モデルを作成します。
作成したモデルをテストしてみます。
STEP1 データの見直し・再登録
前回の記事では以下の課題がありました。
途切れている箇所が多々あるので、データの取得方法を改善しなくては…
改善に関し、ひとまず展示会でデモンストレーションを行えるくらいの診断モデルが作成できましたので、こちらのデータを紹介します。
前回MELSOFT MaiLabに入れたデータ
今回整形したデータ
InfluxDBからCSVを取得するソフトに以下の修正を行いました。
- 取得する変数をScale2(荷重)、HALL(回転数)、ADC_mA(電流値)、RUN(穴あけ動作中)とした。
- データの欠損を無くすために、ミリ秒でとられていたデータを1秒間隔でCSV化するようにした。
- もしそれでも欠損値が出る場合は、1つ前のデータで埋めるようにした。
- startからstopまでの間をRUNで埋めた。(データ区間変数)
- 穴あけ加工の区切りを明確に空白とした。
穴加工OKデータのみを診断モデルに利用するので、このOKデータを登録します。
(図は後でテストするためにNGデータも登録しています)
余談:可視化してみると以下のようになりました。登録データは空白行も加味されるので良いですね。
- OKデータ波形
- NGデータ波形
STEP2 診断モデルを作成
登録したデータを選択し(チェックを付け)、右下の「AI学習」をクリックします。
名前の部分に、必要であれば任意の名称を入力します。後の設定が図と同様になっていることを確認し「次へ」をクリックします。
一番上の選択肢「異常を検知したい」にチェックを入れ「次へ」をクリックします。
OKデータのみなので「正常値のみ」にチェックを入れ「次へ」をクリックします。
周期的な波形の形状から~の部分は。今回のOKデータは波形から判定するわけではないので「いいえ」にチェックを入れ「次へ」をクリックします。
区間の始まりがわかる変数はありますか?の選択肢は「ある」をチェックし、設定内容には変数の変化を開始終了条件にする→その変数はRUNという選択肢をえらびます。その後「次へ」をクリックします。
以下図のように準備ができるので、右下「学習開始」をクリックします。
学習結果は以下のようになりました。右下の「完了する」をクリックします。
以上で診断モデルの作成が完了しました。
異常度ヒストグラムについては、以下の記事でも触れております。
STEP3 診断モデルのテスト
作成した診断モデルをテストします。診断モデル名を右クリックし「テスト」を選択します。
テストデータの選択を行います。一度、OKデータでテストしてみます。データセットを選択した後に「OK」をクリックします。
診断モデルで診断した結果の折れ線グラフと棒グラフが表示されます。
診断結果グラフ(図上部折れ線グラフ)については、縦軸が異常度、横軸がデータNoとなっています。
異常度とは、簡単に言うと「数値が大きいほど正常状態から離れている状態を示す指標」のことを指します。
(運用時に、普段の装置等のふるまいから、人が許容上限(=閾値)を決める必要があります。)
OKデータの場合の異常度の範囲は0~1となっています。
以下の図は、NGデータを診断した際のグラフになっています。3~21の範囲に異常度が来ている様子が見られます。
【所感】診断モデルを作成してみて
MELSOFT MaiLabの操作感・表示について
今回データの登録からプレビュー機能までを使ってみましたが、操作時に感じたこととしては、
- 診断モデル作成からテストまでクリック操作で完結するので楽。
- UIが分かり易い。
- コーディングの知識が無くても、自動で最適な前処理を行なってくれる。
- 診断モデル作成時の質問の回答によっては、作業に慣れが必要な場合がある。(読み込ませるデータに正常値だけではなく異常値も入っている場合 等)
➡それでも学習コストは低い
おわりに
本記事では、MELSOFT MaiLabで診断モデルを作成してみました。
指摘事項、掘り下げてほしい箇所等がございましたら、お気軽に問合せフォームやコメントにてご連絡ください。
次回は「MELSOFT MaiLabのデモ機を製作してみた④ ~タスク作成と実運用を考える編~(仮題)」を予定しております。