Amazon Web Services ブログ

AWS IoT TwinMaker の紹介

この記事は Introducing AWS IoT TwinMaker の日本語訳です。

「ツイン」というコンセプトは新しいものではなく、実は宇宙開発の初期にさかのぼります。1960 年代に行われたアポロ 13 号ミッションは、ツインを使った初期のユースケースの例です。サービスモジュール内の酸素タンクが爆発し、損傷した宇宙船は設計時に想定していた状況をはるかに超えており、その状態は急速に変化していました。そこでエンジニアたちは、最新のセンサー情報や宇宙飛行士の観測結果と、あらゆるエンジニアリング情報を駆使して、損傷状態の最善の理解を示す「ツイン」を地球上に作りました。これらのツインは、地球上の NASA エンジニアが宇宙飛行士の苦境を理解するのに役立ち、宇宙飛行士のクルーを無事に地球に帰還させるためのオペレーション上の意思決定を促しました。

最近では、デジタルツインが注目を集めており、従来の手法を超えてビジネス価値を高める可能性を秘めた(クラウドでの)大規模コンピューティング、新しいモデリング手法、IoT コネクティビティの進歩と融合により、ますます実現性が高まっています。お客様やパートナーがデジタルツインのメリットを実感し、新たなビジネス成果を生み出すことができるように、私たちは AWS IoT TwinMaker を構築しました。これは、実世界のシステムのデジタルツインをより早く簡単に作成し、産業オペレーションの監視と最適化に利用できる新しい AWS IoT サービスです。この記事では、デジタルツインとは何かを定義し、デジタルツインを構築する際に直面する一般的な課題を説明し、AWS IoT TwinMaker サービスの主要な機能を説明し、AWS IoT TwinMaker を使用してデジタルツインの作成を開始する方法を紹介します。

デジタルツインの定義

まず、デジタルツインの定義について説明します。デジタルツインの定義は、ベンダーやお客様によって大きく異なります。デジタルツインの定義は、単一の物理コンポーネントのシミュレーション、機器の予知保全、自動化された操作手順によってオペレーションが行われる工場の3D空間上でのバーチャル体験など、多岐にわたります。これらに共通しているのは、デジタルツインは現実世界をデジタルで表現し、常にデータが更新され、ビジネスの成果を促進するために使用されているということです。これらの共通点に基づき、デジタルツインは、現実のシステムの真の構造、状態、動作を模倣するためにデータが動的に更新される、現実の個々のシステムの生きたデジタル表現と定義され、ビジネス成果をもたらす意思決定に役立ちます。

デジタルツインと、従来の 3D モデリング(CAD)、物理ベースのシミュレーション、仮想世界(3D/AR/VR)、ストリーミングセンサーデータの IoT ダッシュボード、リアルなゲーム環境などの既存のモデリング手法との重要な違いは、デジタルにあるシステムと現実のシステムの間の情報の流れです。この情報の流れによって、デジタルツインは現実のシステムの現在の状態と動作を表現することができます。多くの場合、より複雑で再現度の高い仮想空間をデジタルツインとみなしています。しかし、デジタルツインの定義で重要なのは、仮想システムを定期的に更新することなのです。デジタルツインは、システムの現在の状態を理解するためにデータストリームを消費し、システムの新しい観察結果から学習して更新し、システムの現在および将来の挙動を予測できなければなりません。例えば、クッキーミキサーのデジタルツインは、温度と回転数の IoT データを取り込み、運転中には観測できない内部モーターの温度を予測します。そして、デジタルツインを用いて、異なる運転条件やメンテナンスシナリオでの残存耐用時間(RUL)を予測し、オペレーターが最適な出動スケジュールやメンテナンスプランを選択できるようにします。温度や残存寿命などのデジタルツインからの出力は、ダッシュボード、現場の温度を示す 3D レンダリング、またはその他の状況に応じた方法でユーザーに表示されます。CAD モデル、物理シミュレーション、IoT ダッシュボード、3D レンダリング/没入型ウォークスルー、ゲーム環境は、現実のシステムの生きた仮想表現を表すアプリケーションであるデジタルツインを構築するための重要なビルディングブロックと考えられます。

デジタルツインの作成における課題

デジタルツインの作成は複雑で、複数のステップを要します。まず、現実のシステムをモデル化する必要があります。これには、現実のシステムの要素(機器、プロセス、サイトなど)と、これらの要素間の関係を表現することが含まれます。次に、これらのモデルを、センサーからの時系列の IoT データ、カメラフィードからのビデオデータ、エンタープライズソフトウェアからのアプリケーションデータなどのデータソースに接続する必要があります。デジタルツインを使用するアプリケーションは通常、複数のデータストアからデータを取り込むため、開発者はこれらのストアからデータを取り込むという大変な作業に直面します。次に、ビジュアルアセットを導入して、データやインサイトにビジュアルコンテキストを提供する必要があります。アセットとデータの包括的なビジュアルビューを提供することで、エンドユーザーはデータを容易に理解し、より良い意思決定を迅速に行うことができます。最後に、これらのデジタルツインをウェブアプリケーションとしてエンドユーザーに提供し、モバイルやデスクトップなど、さまざまなハードウェアプラットフォームで簡単に利用できるようにする必要があります。これらのステップを経てデジタルツインを作成・維持することは困難であり、多くのお客様がどのように始めたらよいか悩まれています。また、高度なユースケースでは、分析ツール、機械学習(ML)ツール、シミュレーションツールなどを使って、洞察力を高めたり、予測を導き出したりしたい場合もあるでしょう。これらのシナリオでは、デジタルツインのデータをこれらのインサイトツールとの間でストリーミングする必要があります。

AWS IoT TwinMaker を発表

AWS IoT TwinMaker は、開発者が実世界のシステムのデジタルツインを作成し、オペレーターが監視や運用の改善に利用できるアプリケーションにそれらを使用することを支援する、新しい AWS IoT サービスです。AWS IoT TwinMaker の主な機能は以下の通りです。

モデルビルダー

AWS IoT TwinMaker は、デジタルツインを表現するための柔軟なモデリング機能を提供します。モデルビルダーでは、デジタルツインの作成に必要なエンティティモデルやビジュアルアセットなどのリソースを保持するワークスペースを作成することができます。ワークスペース内では、機器(ミキサーやポンプなど)のデジタル・レプリカを表すエンティティを作成します。これらのエンティティ間のカスタムリレーションを指定して、実世界のシステムのデジタルツイングラフを作成することができます。例えば、カメラのエンティティと、そのカメラによって可視化された機器を関連付けるために、 seen-by という関係を追加することができます。このデジタルツイングラフを使用して、お客様は、根本原因の分析に役立つ、ある機器に向いているすべてのカメラを見つけるといった地理空間情報のクエリを発行することができます。

コンポーネント(データコネクター)

デジタルツインでは、様々なデータストアからデータを集め、保存されているデータに機器のコンテキストを追加する必要があります。AWS IoT TwinMaker は、別のデータストアを作成することなく、またそれらのデータストアに既に存在するスキーマ情報を再入力する必要もなく、これらのデータを単一のサービスに簡単にまとめることができます。AWS IoT TwinMaker では、AWS IoT SiteWise などのデータストアへのコネクター(AWS IoT TwinMaker ではコンポーネントと呼びます)を持つエンティティを関連付けることで、様々なデータストアに存在するデータにコンテキストを提供することができます。また、従来は、様々なデータストアからデータを読み書きするために、データストア固有の API を書く必要がありました。これらのデータストアに接続するために必要な重い作業を軽減するために、IoT TwinMaker は統一されたアクセス API を提供し、アプリケーションはデータがどこに保存されているかに関わらず、同じ API を使用して様々なストアからデータにアクセスすることができます。AWS IoT TwinMaker は、機器や時系列のセンサーデータ用に AWS IoT SiteWise、ビデオデータ用に Amazon Kinesis Video Streams、ビジュアルリソース(CADファイルなど)やエンタープライズアプリケーションからのデータの保存用に Amazon Simple Storage Service(S3)のデータコネクタをビルトインで提供しています。また、AWS IoT TwinMaker は、他のデータストア(Snowflake、Siemens MindSphere など)へのカスタムデータコネクタを簡単に作成できるよう、AWS Lambda を使用したフレームワークを提供しています。

シーンコンポーザー

AWS IoT TwinMaker は、3D でのビジュアライゼーションを作成するために、コンソールベースの 3D シーン構成ツールを提供します。過去に作成した 3D/CAD モデル(Web 用に最適化され、glTF 形式に変換されたもの)を Amazon S3 のリソースライブラリに取り込むことができます。AWS IoT TwinMaker のシーンコンポーザーを使って、これらのビジュアルアセットをシーンに取り込み、実世界のシステムに合わせて 3D アセットを配置することができます。AWS IoT TwinMaker では、エンティティでモデル化されたデータを、ビジュアライゼーションに簡単に結びつけることができます。シーンコンポーザーでは、ベースシーンの上にタグなどのビジュアルアノテーションを追加することで、特定の 3D ロケーションと、そのエンティティのデータストリームやユーザーアクションを結びつけることができます。例えば、クッキーミキサーの機器にタグを追加して、温度データやユーザーマニュアルのドキュメントにリンクさせることができます。

アプリケーション

Web ベースのデジタルツインアプリケーションを作成するために、AWS IoT TwinMaker は Grafana と Amazon Managed Grafana のプラグインを提供し、ダッシュボードの作成に使用できます。ダッシュボードには、シーンコンポーザーで作成した 3D シーンのほか、ビデオプレーヤー、階層ブラウザ、時系列データチャート、テーブルなどのウィジェットを埋め込むことができます。ダッシュボードは、AWS IoT TwinMaker の統一されたデータアクセス API を使用してウィジェットを生成します。

AWS IoT TwinMaker の利用開始方法

ステップ1: ワークスペースの作成

はじめに、デジタルツインの作成に必要なエンティティモデルやビジュアルアセットなどのすべてのリソースを保持するワークスペースを作成します。新しいワークスペースを作成するには、

  • AWS Management console の IAM に アクセスし、新しいロールを作成して、以下のポリシーをアタッチする必要があります。

ロールの JSON:

{   
    "Version":  "2012-10-17",   
    "Statement":[ 
        {
            "Sid":  "",
            "Effect":  "Allow",       
            "Principal": {            
                "Service": [                
                    "iottwinmaker.amazonaws.com"             
                ]        
            },        
        "Action":  "sts:AssumeRole"       
        }    
    ]
}

ポリシーの JSON:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "iottwinmaker:*",
                "s3:*",
                "iotsitewise:*",
                "kinesisvideo:*"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        },
        {
            "Action": [
                "lambda:invokeFunction"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        },
        {
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "lambda.amazonaws.com"
                }
            },
            "Action": [
                "iam:PassRole"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        }
    ]
}
  • 作成したロールを使用して、AWS IoT TwinMaker コンソールでワークスペースを作成します。ワークスペース作成の一環として、リソースを保持するための Amazon S3 バケットと、オプションのリソースタグも用意します。

AWS IoT TwinMaker でワークスペースを作成するためのユーザーインターフェイス

ステップ2: エンティティの作成

  • ワークスペースを選択して、ワークスペースをアクティブに選択された状態にします。
  • 左のナビゲーションで Entities を選択します。
  • Create を選択して、新しいエンティティを作成します。
AWS IoT TwinMaker でエンティティを作成するためのユーザーインターフェイス

ステップ3:データソースのアタッチ

  • エンティティを作成したら、そのエンティティを選択してアクティブに選択された状態にします。
  • Components タブで Add Component を選択し、データストアにデータコネクタを追加します。コンポーネント名を入力し、利用可能なコンポーネントのリストから選択します。

AWS IoT TwinMaker でコンポーネントを作成するためのユーザーインターフェイス

  • カスタムコンポーネントを作成する必要がある場合は、左側のナビゲーションで Component types の項目に移動し、Create component type を選択します。これにより、AWS Lambda を使って記述できる独自のカスタムコネクタを指定することができます(詳細はドキュメントの Using and creating component types を参照)。

AWS IoT TwinMaker のコンポーネントタイプ画面には、作成されたすべてのコンポーネントタイプが表示されます

ステップ4: ワークスペースへのリソースの追加

  • ワークスペースにビジュアルアセットを追加するには、gLTF または glb 形式の 3D ファイルをリソースライブラリにアップロードします。左側のナビゲーションで Resources を選択し、Add resources を選択して、リソースライブラリにファイルを追加します。注:これらのリソースは、ワークスペース作成時に指定した、アカウント内の Amazon S3 バケットに保存されます。

追加されたすべてのリソースを表示する AWS IoT TwinMaker のリソースライブラリ画面

ステップ5: シーンを構成する

  • 左側のナビゲーションで Scenes を選択し、Create Scene を選択して新しいシーンを作成します。
  • リソースライブラリからビジュアルアセット(gltf または glb ファイル)をシーンに追加します。

AWS IoT TwinMaker のリソースライブラリから 3D モデルを追加するためのユーザーインターフェイス

  • X、Y、Z の値を変更してアセットを配置します。また、シーンコンポーザーメニューを使って、シーンに照明を追加することもできます。

AWS IoT TwinMaker のシーンコンポーザーユーザーインターフェイス

  • エンティティへのデータバインディングを提供するタグを追加します。タグには、entityID、componentID、プロパティ名を指定します。3D オブジェクトの任意の位置にタグを配置できます。
追加されたタグを表示する AWS IoT TwinMaker のシーンコンポーザーユーザーインターフェイス

ステップ 6: Grafana を使用して Web アプリケーションを作成する

  • ローカルデスクトップ(Docker を使用)またはクラウド上で Grafana を実行します。Grafana インスタンスにログインします。(Grafana インスタンスのセットアップの詳細については、ドキュメントの AWS IoT TwinMaker Grafana integration を参照してください)。
  • AWS IoT TwinMaker のデータソースを追加します。AWS IAM ユーザーの認証情報を提供します。

AWS IoT TwinMaker データソースプラグインを追加するための Grafana 設定画面

  • 3D ウィジェットや時系列チャートなど、必要に応じてダッシュボードを追加することができます。
統合されたデジタルツインを表示する Grafana ダッシュボードアプリケーション

デジタルツインジャーニーを加速するパートナーコミュニティ

デジタルツインジャーニーを支援するために、AWS パートナーと協力して AWS IoT TwinMaker の機能を活用し、ビジネスにおけるデジタルツインの可能性を実現することができます。AWS IoT TwinMaker には、AWS 上でホストされたり、AWS と統合されたりするデジタルツインソフトウェアソリューションを提供するソフトウェアおよびハードウェアパートナーがいます。例えば、Siemens 社は、ローコード、ビジュアライゼーション、シミュレーションのユースケースのためのリッチなアプリケーションサービスを提供しています。AWS IoT TwinMaker には、AWS 上でのデジタルツインアプリケーションの設計、アーキテクト、移行、構築を支援するサービスパートナーがいます。例えば、プロフェッショナルサービスを提供する Accenture、建物のデジタル表現のためのソフトウェアを開発している Cognizant、公益事業やヘルスケアなどの重要な産業向けにデジタルトランスフォーメーションソリューションを提供する FuseForward、産業機器向けに Smart Insights プラットフォームを提供する TensorIoT などがあります。また、AWS IoT TwinMaker でデジタルツインを作成するためのソフトウェアツールやサービスを提供するモデリング、シミュレーション、ビジュアライゼーションのパートナーもいます。例えば、Ansys や Maplesoft などの高度なシミュレーションプロバイダー、Element Analytics や Embassy of Things などの産業システムのデータ活用を支援するモデリングパートナー、Grafana Labs などのダッシュボードやビジュアライゼーションプロバイダー、Matterport などの没入型 3D モデルジェネレーターなどがあります。詳細については、AWS IoT TwinMaker のパートナーページをご覧ください。

まとめ

AWS IoT TwinMaker を使うことで、実世界のシステムのデジタルツインの作成を簡単に始めることができ、オペレーターが監視や運用の改善に利用できるウェブアプリケーションでそれらを使用することができます。デジタルツインを使用してオペレーションを改善する一般的なユースケースには、施設をリモートで監視することや、環境内のコンテキストで機器のアラートを識別してメンテナンスをスケジュールしダウンタイムを削減すること、運用データにビジュアルコンテキストを追加して現実のシステムの単一の包括的なリアルタイム 3D ビューを作成することなどがあります。

デジタルツインの構築を始めるために、クッキーファクトリーのワークスペースのサンプルを提供しています。サンプルコードはこちらの GitHub リポジトリから入手できます。このサンプルコードは、AWS IoT TwinMaker を使用してデジタルツインアプリケーションを構築するプロセスをガイドし、AWS IoT TwinMaker の多くの機能を試すことができます。

著者について

Raj Devnath bio picture

Raj Devnath は、AWS のシニアプロダクトマネージャーとして AWS IoT TwinMaker に取り組んでいます。彼は IoT と AI に情熱を持ち、お客様が IoT データから価値を引き出すことを支援しています。彼のバックグラウンドは、スマートビルディング、ホームオートメーション、データ通信システムなど、産業および消費者向けのエンドマーケットにソリューションを提供することです。

この記事はソリューションアーキテクトの三平が翻訳しました。