[Workshop] ロボットの自動異常検知を実装する #IOT203 #AWSreInvent

2023.12.06

アノテーション 構築チームのいたくらです。
「Automated anomaly detection for smart manufacturing」に参加したのでレポートします。

セッション情報

  • セッション ID : IOT203
  • タイトル: Automated anomaly detection for smart manufacturing
  • スピーカー: Julia Hu, Raju Gottumukkala
  • レベル: 200 - Intermediate

ワークショップの概要

Predictive maintenance plays a crucial role in driving smart manufacturing. Proactively detecting abnormal behaviors and taking corrective actions helps manufacturers improve asset performance, minimize downtime, reduce costs, and increase operational efficiency. Join this workshop to learn how to connect to industrial assets, create a digital representation of these assets, ingest real-time and historical data at scale, perform computations, and enable automated anomaly detection using AWS IoT SiteWise. Discover how to use data-driven insights and AWS IoT SiteWise to build operational dashboards, send alarm notifications to maintenance personnel, and drive additional use cases. No AI/ML experience is required. You must bring your laptop to participate.

訳: 予知保全は、スマート・マニュファクチャリングを推進する上で重要な役割を果たします。異常な挙動をプロアクティブに検出し、是正措置を講じることで、製造業者は資産のパフォーマンスを向上させ、ダウンタイムを最小限に抑え、コストを削減し、運用効率を高めることができます。このワークショップに参加し、AWS IoT SiteWise を使用して、産業資産に接続し、これらの資産のデジタル表現を作成し、リアルタイムおよび過去のデータを大規模に取り込み、計算を実行し、自動化された異常検知を可能にする方法を学びます。データ主導の洞察と AWS IoT SiteWise を使用して、運用ダッシュボードを構築し、メンテナンス担当者にアラーム通知を送信し、その他のユースケースを推進する方法をご覧ください。AI/ML の経験は必要ありません。

セッションで学べること

  • AWS IoT SiteWise を活用して機器のオンボーディングとモデリング、リアルタイムデータと履歴データの取り込みと視覚化を行い、最後に異常検出を有効にして異常通知をトリガーする方法

AWS IoT SiteWise について

産業用機器から大規模なデータを収集、モデル化、分析、視覚化できるマネージドサービスです。AWS IoT SiteWise Monitor を使用すると、技術者以外のユーザーが産業データをリアルタイムで表示および分析できるウェブアプリケーションをすばやく作成できます。平均故障間隔や総合設備効率 (OEE) などのメトリクスを設定および監視することで、産業運営に関する洞察を得ることができます。AWS IoT SiteWise Edge を使用すると、ローカルデバイスでデータを処理できます。

Amazon Lookout for Equipment について

Amazon Lookout for Equipment は、産業機器のセンサーデータを自動的に分析して、機械の異常な動作を検出するマネージドサービスです。これにより、機械学習 (ML) の経験がなくても、機器の異常を迅速かつ正確に検出し、問題を迅速に診断し、計画外のダウンタイムを回避するための措置を講じることができます。

ワークショップの構成図


このワークショップでは、溶接ロボットの異常検出ソリューションを構築します。
溶接ロボットのリアルタイムのパフォーマンスを監視し、異常を検出できるダッシュボードを作成します。
今回はジョイント温度、ジョイント電流などのリアルタイムデータを提供する OPC Unified Architecture (OPC UA) シミュレーションサーバーを準備します。
(OPC UA はマルチベンダー製品間や、異なる OS にまたがってデータ交換を可能にする高信頼の産業通信用のデータ交換標準のこと)

ワークショップ内容

  • 1. 資産への接続
    • 1. データソースの準備
    • 2. エッジゲートウェイソフトウェアの導入
  • 2. 資産のモデリング
    • 1. 資産のデジタル表現を作成する
    • 2. スケールアセットモデリング
  • 3. 資産からのデータの視覚化
    • 1.データソースの追加
    • 2. ダッシュボードの作成
  • 4. 異常検知モデルの作成
    • 1. 履歴データのインポート
    • 2. 異常検出モデルのトレーニング
    • 3. トレーニングと推論のワークフローを確認する
  • 5. 異常動作の検知と対処
    • 1. 装置の異常動作をシミュレーションする
    • 2. アラーム通知パイプラインの作成
    • 3. 異常結果によるダッシュボードの更新

各セクションでやったことまとめ

1-1

Inductive Automation の Ignition を OPC UA のデータソースとして使用します。
今回は Ignition ソフトウェアが EC2 に事前にインストールされていました。
Ignition Web アプリケーションにアクセスして溶接ロボット1、2のデータをシミュレートします。
そのため、Ignition 上にシミュレータデバイスを作成し、用意された設定をアップロードしました。

1-2

AWS IoT SiteWise ゲートウェイに Ignition OPC UA サーバーをデータソースとして接続し、工場からのリアルタイムデータを取得します。
AWS IoT SiteWise でゲートウェイを作成 -> インストーラーファイルをダウンロード -> AWS Cloud9 にアップロード&ゲートウェイソフトウェアをインストールすることで、ゲートウェイの接続が完了しました。
さらにデータソースの設定(ソースタイプが OPC-UA であること、1-1 で作成した Ignition のローカルエンドポイントやシミュレータデバイスなどを指定)をすることで、OPC UA データソースに接続して、溶接ロボット(Ignition 上のシミュレータデバイス)から測定値を取り込めるようになりました。

2-1

AWS IoT SiteWise 上で溶接ロボット用のテンプレート(アセットモデル)を作成します。
テンプレートでは属性や測定値について定義しました。
 測定項目の定義内容: 名前(ジョイント温度、ジョイント電流)、単位(degC、Amps)、データ型(double)

2-2

2-1 は手動でテンプレート(アセットモデル)を作成しましたが、この章では一括インポート操作を試しました。
今回は一括インポート用の定義が事前に準備されており、それを使用して一括インポートジョブを Cloud9 上で実行しました。

3-1

Grafana にアクセスし、AWS IoT SiteWise をデータソースとして接続しました。
これにより Grafana は AWS IoT SiteWise に保存されているリアルタイムデータと履歴データの両方を取得できるようになります。

3-2

手動で Grafana ダッシュボードを作成することもできますが、今回は Grafana の HTTP API を使用して作成します。
Grafana 側で API キーを作成し、Cloud9 上でその API キーを使用して事前に用意されたスクリプトを実行して作成しました。

4-1

AWS IoT SiteWise と Amazon Lookout for Equipment の統合により、機器からの測定履歴データやメンテナンス履歴を使用して、溶接ロボットの異常な動作を検出するための異常検出モデルを作成できます。
 異常な動作の例:高いジョイント温度(degC)や低いジョイント電流(Amps)で表される動作
異常検出モデルをトレーニングするには、少なくとも 15 日間の測定履歴データと、溶接ロボットの利用可能なメンテナンス記録を提供する必要があります。
今回は過去 6 ヶ月分の履歴データがあらかじめ AWS IoT SiteWise にインポートされていました。

4-2

機器の異常な動作を正確に検出するために、機器ごとに異常検出モデルをトレーニングする必要があります。
検出モデルを大規模に標準化するには、AWS IoT SiteWise の 予測定義 と呼ばれるテンプレートを作成します。
このセクションでは、溶接ロボットの予測定義を作成し、それを使用して異常検出モデルをトレーニングしました。

4-3

4-2 の異常検出モデルのトレーニング中、トレーニングと推論が裏でどのように動いているかを学びました。
以下、ワークショップの図を引用したものになりますが、トレーニング中、AWS IoT SiteWise は測定履歴データを Amazon S3 に送信し、Amazon Lookout for Equipment はそれを使用して異常検出モデルをトレーニングしているようです。

推論中、Amazon Lookout for Equipment は推論結果を Amazon S3 に書き込み、AWS IoT SiteWise はこれらの結果を異常検出モデルとしてシステムに組み込むようです。

5-1

異常検出結果を活用してアラーム通知をトリガーします。
まずは 1-1 で OPC UA サーバーにデータをアップロードしたように、異常動作用のシミュレーター設定をアップロードしました。
すると Grafana ダッシュボード上でスパイクが発生しました。

5-2

5-1 のようなスパイクが発生したときに通知するパイプラインを作成します。
今回は以下 2 パターンでアラーム通知が来るように設定します。
  NO_ANOMALY_DETECTED(異常検出なし) -> ANOMALY_DETECTED(異常検出)
  ANOMALY_DETECTED(異常検出) -> NO_ANOMALY_DETECTED(異常検出なし)
今回は事前に用意されたスクリプトを使用して、AWS IoT SiteWise から Amazon SNS にデータを転送する IoT ルールと、異常ステータスに変化があったときにユーザーに通知する SNS トピックを作成しました。

5-3

異常予測結果を含めたダッシュボードへ更新します。
あらかじめ用意されたスクリプトを使用して、Grafana ダッシュボードを更新しました。
3-2 で作成したダッシュボードには赤枠で囲んだ部分がありませんでしたが、今回の更新により異常予測に関するダッシュボードが追加されました。

また、SNS トピックで指定した自分のメールアドレスにも、アラーム通知が来ていました。

所感

IoT を使った機械のパフォーマンス監視について、実際どのように構築するのか知らなかったのでイメージが掴めて勉強になりました。
案件でこれらのサービスを触る機会は無さそうですが、個人的に(今更ながら)IoT 系に面白さを感じ始めているので、オンラインでできるワークショップもやってみようかと思います。
AWS Workshops

アノテーション株式会社について

アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。
「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。
現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社 WEB サイトをご覧ください。

参考