Amazon Web Services ブログ
Amazon Monitron, AWS IoT TwinMaker, Amazon Bedrock を使用した予知保全によって産業オペレーションを最適化する
はじめに
スマートビルやスマートファクトリーには、テレメトリーデータやシステム状態を継続的に収集するセンサーが何百、何千とあります。こうした施設はモニタリングとデータ収集によって、保全業務を「予期せぬ障害」へ事後対応するアプローチから予知保全のアプローチへシフトできるため、業務効率を上げ運用コストを下げることができます。
製造業の生産ライン、倉庫、工場などの産業設備における設備保全の管理者や技術者は、現場の停止時間を減らしたいと考えています。センサーおよびそれが収集する測定値は、メンテナンスを予測する上で貴重なツールです。しかしコンテキストがなければ、それらの情報が全体像を覆い隠してしまうかもしれません。ある 1 つのセンサーの測定値のみに注目するメンテナンス担当者は、無関係に見えかねない重要な関連性を見落とす可能性があります。産業設備を空間的に表示し、複数のセンサーからの測定値を統合した単一のビューを使用すれば、不具合の解決が簡素化され、予知保全が強化されます。
前回のブログ (Amazon Monitron と Amazon Kinesis により予知保全のためのアクションにつながる洞察を得る方法) では、Amazon Monitron から得られた洞察 (人工知能 (AI) または機械学習 (ML) により測定値から得られる予測) を製造現場に取り込んだり作業指示を作成したりするソリューションを紹介しました。本ブログでは、テレメトリーを 3 次元 (3D) 空間に可視化できる AWS IoT TwinMaker と連携した、Amazon Monitron による予知保全のソリューションについて説明します。また、自然言語チャットボットを Amazon Bedrock で実装し、関連するメンテナンス文書や測定値からの洞察にアクセスする方法を紹介します。
ユースケースの概要
AWS IoT TwinMaker と Matterport を使えば、設備の管理者は稼働状況を 3D で可視化し、機器の状態を監視できます。AWS IoT TwinMaker と Matterport の統合により、開発者は Matterport のテクノロジーを利用して、さまざまなデータソースから得られる既存データと実世界のデータを組み合わせ、完全に統合されたデジタルツインを作成できるようになりました。情報を視覚的に提示することで、オペレーターの理解が深まりホットスポットを特定できるので、問題解決の時間を短縮できます。
このソリューションではAWS IoT TwinMaker と Matterport が使用されています。
- AWS IoT TwinMaker は次のようなフルマネージド機能を提供することで、開発者が実世界のシステムのデジタルツインを作成するのを支援します。1/ 多様なソースからのデータにアクセス、2/ 物理システムを仮想的に表すエンティティを作成、そのエンティティ間の関係を定義し、データソースに接続、3/ 既存の 3D ビジュアルモデルを実世界のデータと組み合わせて、物理環境の対話的 3D ビューを構築。
- Matterport は、実世界の環境をキャプチャ、スキャンし、没入型の 3D モデル (Matterport スペースとも呼ばれる) を作成するオプションを提供します。AWS IoT TwinMaker は Matterport 統合をサポートしており、Matterport スペースを AWS IoT TwinMaker シーンにインポートできます。AWS のお客様は今後、AWS Marketplace から直接 Matterport にアクセスできるようになります。
ソリューションの概要
次の手順に従って、AWS IoT TwinMaker ワークスペースを作成し、Matterport スペースに接続します。その後、Matterport でタグ付けされたセンサーの位置を AWS IoT TwinMaker エンティティに関連付けます。AWS Lambda 関数を使って AWS IoT TwinMaker のカスタムデータコネクタを作成します。このデータコネクタにより、エンティティを Amazon Simple Storage Service (Amazon S3) データレイクに保存された Monitron のセンサーインサイトに関連付けます。最後に、AWS IoT Application Kit を使用して、Monitron による予測結果を 3D 空間で可視化します。このブログでは、図 1 のアーキテクチャの “2. Digital twin – 3D Spatial Visualization” のセクションについて詳しく説明します。
図 1: ソリューションのアーキテクチャ概要
前提条件
- アクティブな GitHub アカウントとログイン認証情報。
- AWS アカウントと IAM ユーザー。
- us-east-1 (バージニア北部) または eu-west-1 (アイルランド) リージョンの AWS IAM Identity Center (旧 AWS Single Sign-On)。
- Amazon Monitron (センサーとゲートウェイ。詳細は Amazon Monitron の開始方法 を参照)。
- iOS (iOS 14.0.0 以降) または Android (バージョン 8.0 以降) で、Monitron モバイルアプリ (iTunes または Google Play) がインストールされたスマートフォン。
- AWS IoT TwinMaker 統合に必要な Enterprise プランの Matterport アカウントとライセンス。詳細は、AWS IoT TwinMaker の Matterport 統合 の手順を参照してください。必要に応じて、Matterport のアカウント担当者に支援を求めてください。アカウント担当者がいない場合は、Matterport and AWS IoT TwinMaker ページの問い合わせフォームを利用できます。
注意: デプロイする全ての AWS リソースが同じ AWS リージョンにあることを確認してください。また、AWS マネジメントコンソールへのリンクは全て us-east-1 リージョンを指しています。他のリージョンを使用予定の場合は、マネジメントコンソールへのリンクをクリックした後、リージョンを切り替える必要があります。
Monitron のデータエクスポートの設定と ETL (Export, Transfer and Load) パイプラインの作成
このブログシリーズのパート 1 の手順に従って、Amazon Monitron のデータから IoT データレイクを構築してください。
Monitron のスキーマ定義については、Amazon Monitron Kinesis データエクスポート v2を参照してください。
注意: 2023 年 4 月 4 日以降に有効化されたライブデータエクスポートは、Amazon Monitron Kinesis データエクスポート v2 です。この日付より前に有効化されたデータエクスポートは v1 です。このソリューションでは v2 の利用を推奨します。
データレイクの接続プロパティ
構築したデータレイクから以下の情報を記録しておいてください。これらは次のステップで必要になります。
- データが保存されている Amazon S3 バケット名
- AWS Glue データカタログのデータベース名
- AWS Glue データカタログのテーブル名
AWS IoT TwinMaker データコネクタの作成
このセクションでは、デジタルツインとデータレイクのデータを接続する、AWS IoT TwinMaker のカスタムデータコネクタのサンプルについて説明します。AWS IoT TwinMaker を使用する前にデータを移行する必要はありません。このデータコネクタは、AWS IoT TwinMaker がデータレイクにアクセスするために呼び出す 2 つの Lambda 関数で構成されています。
- TWINMAKER_SCHEMA_INITIALIZATION 関数は、データソースのスキーマを読み取るために使用されます。
- TWINMAKER_DATA_READER 関数は、データを読み取るために使用されます。
注意: このブログで参照しているすべてのコードは、この GitHub リンクで入手できます。
Lambda 用の IAM ロールの作成
AWS Identity and Access Management (IAM) で Lambda に引き受けさせる IAM ロールを作成してください。同一の IAM ロールが両方の Lambda 関数で使用されます。このロールに IAM ポリシーを追加してください。
AWS IoT TwinMaker スキーマの初期化用 Lambda 関数の作成
このセクションでは、データレイクのスキーマを取得する Lambda 関数のサンプルコードを提供します。これにより、AWS IoT TwinMaker はデータソース内で利用可能になっている様々な種類のデータを特定できます。
- 関数名: TWINMAKER_SCHEMA_INITIALIZATION
- ランタイム: Python 3.10 以降
- アーキテクチャ: arm64 (推奨)
- タイムアウト: 1 分 30 秒
Lambda 関数の ソースコード
Lambda 関数の環境変数に、データレイクの接続プロパティを設定します。
キー | 値 |
ATHENA_DATABASE | <YOUR_DATA_CATALOG_DATABASE_NAME> |
ATHENA_TABLE | <YOUR_DATA_CATALOG_TABLE_NAME> |
ATHENA_QUERY_BUCKET | s3://<YOUR_S3_BUCKET_NAME>/AthenaQuery/ |
AWS IoT TwinMaker へのデータ取得用 Lambda 関数の作成
この章では、AWS IoT TwinMaker からのリクエストに基づいてデータレイクからデータを取得する Lambda 関数のサンプルコードを提供します。
- Lambda 関数名: TWINMAKER_DATA_READER
- ランタイム: Python 3.10 以降
- アーキテクチャ: arm64 (推奨)
- タイムアウト: 1 分 30 秒
Lambda 関数の ソースコード
Lambda 関数の環境変数に、データレイクの接続プロパティを設定します。
キー | 値 |
ATHENA_DATABASE | <YOUR_DATA_CATALOG_DATABASE_NAME> |
ATHENA_TABLE | <YOUR_DATA_CATALOG_TABLE_NAME> |
ATHENA_QUERY_BUCKET | s3://<YOUR_S3_BUCKET_NAME>/AthenaQuery/ |
ストリームデータを取り込むための AWS IoT TwinMaker コンポーネントとエンティティの作成
AWS IoT TwinMaker のワークスペースをまだお持ちでない場合は、ワークスペースの作成 の手順に従ってください。ワークスペースは、デジタルツインに関連するすべてのリソースを格納するコンテナです。
AWS IoT TwinMaker ワークスペースを設定する手順は以下の通りです。
- TwinMaker コンソールに移動します。
- Create workspace を選択します。
- ワークスペースの名前YOUR_WORKSPACE_NAMEを入力します。
- Create an Amazon S3 bucket を選択します。
- 実行ロールのドロップダウンから Auto-generate a new role を選択します。
- Skip to review and create を選択します。
- Next を選択します。
- 次に Skip to review and create を選択します。
- Create Workspace を選択します。
図 2: AWS IoT TwinMaker でワークスペースを作成する
IoT データレイクからストリームデータを取り込むには、独自の AWS IoT TwinMaker コンポーネントを作成します。詳細については、コンポーネントタイプの使用と作成をご覧ください。
次の JSON サンプルを使用して、AWS IoT TwinMaker がデータレイクからデータをクエリする権限とアクセスを許可するコンポーネントを作成してください。
- AWS IoT TwinMaker ワークスペースを開きます。
- ナビゲーションペインのメニューから Component Types を選択します。
- Create Component Type を選択します。
- GitHub リポジトリのファイル をコピーし、画面の Request 部分に貼り付けます。これですべてのフィールドが自動入力されます。
コンポーネントを作成した後は、Athena 経由で Amazon S3 のデータを問い合わせるための Lambda 関数を呼び出すように AWS IoT TwinMaker の実行ロールを設定します。
- TwinMaker コンソールを開き、Workspaces area を開きます。
- 作成したワークスペースを選択します。
- ワークスペースで使用されている実行ロールを特定します。
- 図 3: 実行ロールを特定
- IAM コンソールを開きます。
- Policies を選択し Create Policy を選択します。
- JSON を選択し、このコード を GitHub からペーストします。<AWS_REGION> と <AWS_ACCOUNT_NUMBER> を実際の値に置き換えます。
- Next を選択します。
- Review and create ページで、名前として DigitalTwin-TwinMakerLambda と入力します。
- Create Policy を選択します。
- Roles メニューを展開します。
- twinmaker-workspace-YOUR_WORKSPACE_NAME-UNIQUEID を検索し、選択します。
- Add permissions を展開し、 Attach policies を選択します。
- 図 4: ポリシーのアタッチ
- DigitalTwin-TwinMakerLambda を検索し、選択します。
- Add permissions を選択します。
エンティティは、デジタルツインの要素の機能をキャプチャするデジタル表現です。ここでいう「要素」とは、物理的な機器またはプロセスです。エンティティには関連づけられたコンポーネントがあります。これらのコンポーネントは、関連するエンティティのデータとコンテキストを提供します。コンポーネントタイプを選択して、エンティティを作成できます (詳細は最初のエンティティを作成するを参照してください)。
- AWS IoT TwinMaker コンソールに移動します。
- ワークスペースを開きます。
- ナビゲーションペインで Entity を選択します。
- Create を選択し、Create Entity を選びます。
- Create entity を選択します。
- 図 5: エンティティを作成
- 作成したエンティティを選択し、Add Component を選択します。
- 名前として MonitronData と入力します。
- タイプとして com.example.monitron.data を選択します。
- Add Component を選択します。
- エンティティのステータスが Active に変わったことを確認します。
- 図 6: コンポーネントのプロパティを追加
- エンティティが Active になったら、MonitronData コンポーネントを選択します。利用可能なプロパティのリストが表示されるはずです。
物理環境の 3D デジタルツインの作成
AWS IoT TwinMaker でエンティティを作成したら、そこに Matterport タグを関連付けます (Matterport の使用方法の詳細は、AWS IoT TwinMaker and Matterport についての Matterport ドキュメントを参照してください)。AWS IoT TwinMaker Matterport 統合のドキュメントに従って、Matterport スペースを AWS IoT TwinMaker にリンクしてください。
Matterport スペースを AWS IoT TwinMaker シーンへインポートする
接続された Matterport アカウントを選択し、Matterport スキャンをシーンに追加してください。以下の手順に従って、Matterport スキャンとタグをインポートします。
- AWS IoT TwinMaker コンソールにログインします。
- Matterport スペースを使用したい新しい AWS IoT TwinMaker シーンを作成するか、既存のシーンを開きます。
- シーンが開いたら、Settings に移動します。
- Settings の 3rd party resources の下で、 Connection name を見つけ、Matterport の認証情報を AWS Secrets Manager に保管するの手順で作成したシークレットを入力します。
- 次に、Matterport space ドロップダウンリストを展開し、Matterport スペースを選択します。
- 図 7: Matterport スペースをインポートする
- Matterport のタグをインポートすると、Update tags ボタンが表示されます。AWS IoT TwinMaker で Matterport のタグを更新すると、Matterport アカウントの最新の変更が常に反映されます。
- シーン内のタグを選択します。このタグにエンティティとコンポーネントを関連付けることができます (手順については、モデルシェーダー拡張 UI ウィジェットをシーンに追加するのユーザーガイドに従ってください)。
- 図 8: タグにエンティティを関連付ける
Matterport スペースを AWS IoT TwinMaker の Grafana ダッシュボードで表示する
Matterport スペースを AWS IoT TwinMaker シーンにインポートすると、Amazon Managed Grafana ダッシュボードで Matterport スペースを含むシーンを表示できます。既に Amazon Managed Grafana を AWS IoT TwinMaker と統合している場合は、Grafana ダッシュボードを開いて、インポート済みの Matterport スペースを含むシーンを表示できます。
まだ AWS IoT TwinMaker を Amazon Managed Grafana 向けに設定していない場合は、そのプロセスを先に完了してください。 AWS IoT TwinMaker を Grafana と統合する際には、2 つの選択肢があります。セルフマネージドの Grafana 環境を使用するか、Amazon Managed Grafana を使用するかです。
次のドキュメントを参照して、Grafana のオプションと統合プロセスの詳細を確認してください。
Matterport スペースを AWS IoT TwinMaker Web アプリケーションで表示
AWS IoT Application Kit の Web アプリケーションで、Matterport スペースを含むシーンを表示できます。AWS IoT Application Kit の使用方法の詳細については、次のドキュメントを参照してください。
- AWS IoT TwinMaker と AWS IoT Application Kit を使用する方法の詳細については、AWS IoT TwinMaker UI コンポーネントを使用してカスタマイズされた Web アプリケーションを作成するを参照してください。
- AWS IoT Application Kit の詳細については、AWS IoT Application Kit GitHub ページを参照してください。
- AWS IoT Application kit を使用して新しい Web アプリケーションを開始する方法については、IoT App Kit 公式ドキュメントページを参照してください。
図 9: Matterport を使用した 3D 可視化によるデジタルツインのダッシュボード
図 9 は、AWS IoT Web アプリケーション内の Matterport スペースの 3D 可視化をするダッシュボードです。Amazon Monitron から収集したデータがアラーム状態とともにダッシュボードに表示されています。また、センサーの位置と状態が Matterport 3D 可視化に表示されます。これらの可視化により、現場の保全チームはダッシュボードから直接問題箇所を特定できます。
Amazon Bedrock による生成 AI チャットボットを使用したナレッジへのアクセス
テレメトリーの取り込みに加えて、組織には数千ページにわたる標準操作手順、マニュアル、および関連文書が存在する可能性があります。メンテナンスイベントの発生中には、適切な指示を検索および特定するために貴重な時間が失われます。第 3 回のブログでは、生成 AI およびチャットボットなどのインターフェイスを使用することで、既存のナレッジベースの価値を引き出す方法を示す予定です。また、Amazon Bedrock を使用して、ナレッジベースにより簡単にアクセスできるようにし、ニアリアルタイムな履歴データからの洞察や、Amazon Monitron によるメンテナンスに関する予測を含める方法についても説明予定です。
図 10: Matterport による 3D 可視化と AI アシスタントを備えたデジタルツイン
結論
このブログでは、Matterport の空間内で 3D 表現として視覚化されたテレメトリデータの統合ビューを作成するために、Amazon Monitron からのデータを接続する AWS IoT TwinMaker を使ったソリューションを概説しました。Amazon Monitron は予知保全のためのガイダンスを提供し、AWS IoT TwinMaker では 3D 空間でデータを可視化できます。このソリューションでは、データをコンテキストに応じた方法で提示することで、設備保全のオペレーション改善に役立ちます。デジタルツインの没入型の視覚化を活用したリアルな表現によって、設備保全チーム内のコミュニケーションとナレッジトランスファーも改善できます。また、設備保全チームが課題を特定し、解決策を見つけるプロセスを最適化することもできます。
この連載の最後のブログである「Amazon Monitron, AWS IoT TwinMaker, Amazon Bedrock を用いた予知保全のためのデジタルツインの構築 第 3 部: 生成 AI チャットボットでナレッジにアクセスしてデジタルツインを拡張」では、生成 AI インターフェース (チャットボット) を使用し、情報により簡単にアクセスできるようにします。
この記事はソリューションアーキテクトの中西 貴大が Garry Galinsky, Yibo Liang による記事 Optimize industrial operations through predictive maintenance using Amazon Monitron, AWS IoT TwinMaker, and Amazon Bedrock を翻訳したものです。