クイック スタート - Azure Digital Twins の 3D Scenes Studio (プレビュー) の使用を開始する

Azure Digital Twins 用 3D Scenes Studio (プレビュー) は、会社と現場担当者が、ビジュアル コンテキストを使用して Azure Digital Twins ソリューションの業務データを利用および調査できるイマーシブな 3D 環境です。

この記事では、サンプル データを含む Azure Digital Twins インスタンスや Azure ストレージ リソースなど、3D Scenes Studio を使用するために必要なすべてのリソースを設定します。 次に、サンプルの Azure Digital Twins 環境に接続されているスタジオでシーンを作成します。

このクイック スタートで使用されるこのサンプル シーンでは、工場内のロボット アームの運搬効率を監視します。 ロボット アームは 1 時間に一定数のボックスを拾い、ビデオ カメラは各アームを監視して、アームが箱を拾い損なったかどうかを検出します。 Azure Digital Twins には、各アームに関連するデジタル ツインが存在し、アームが箱を拾い損なうたびにデジタル ツインのデータが更新されます。 このシナリオにより、このクイック スタートでは、3D シーンを設定して工場内のアームを視覚化し、ボックスを拾い損なうたびに視覚的なアラートを表示する手順について説明します。

シーンは次のようになります。

Screenshot of a sample scene in 3D Scenes Studio.

前提条件

このクイックスタートを完了するには、Azure サブスクリプションが必要です。 まだお持ちでない場合は、すぐに 無料で作成 できます。

このクイック スタートでシーンに使用するサンプルの gITF (グラフィック ランゲージ トランスミッション フォーマット) 3D ファイルもダウンロードする必要があります。 RobotArms.glb をダウンロードするには、このリンクを選択します

Azure Digital Twins とサンプル データを設定する

Azure Digital Twins を操作する際の最初の手順は、Azure Digital Twins インスタンスを作成することです。 サービスのインスタンスを作成した後、クイックスタートの後半で、インスタンスを 3D Scenes Studio の視覚化にリンクできます。

このセクションの残りの部分では、インスタンスの作成について説明します。 以前のクイックスタートで Azure Digital Twins インスタンスが既に設定されている場合は、次のセクションに進むことができます。

Azure Digital Twins インスタンスを作成する

このセクションでは、Azure portal を使用して、Azure Digital Twins の新しいインスタンスを作成します。 ポータルに移動し、自分の資格情報でログインします。

  1. Azure portal に入ったら、Azure サービスのホーム ページ メニューで [リソースの作成] を選択して開始します。

    Screenshot of the Azure portal, highlighting the 'Create a resource' icon from the home page.

  2. 検索ボックスで azure digital twins を検索し、結果から [Azure Digital Twins] サービスを選択します。

    [プラン] フィールドは [Azure Digital Twins] に設定したままにし、[作成] ボタンを選択してサービスの新しいインスタンスの作成を開始します。

    Screenshot of the Azure portal, highlighting the 'Create' button from the Azure Digital Twins service page.

  1. セットアップの [基本] タブにある、新しいインスタンスのサブスクリプション、リソース グループ、リソース名、リージョンなどのフィールドに入力します。 インスタンス内のデータを管理するためのアクセス許可を自分に付与するには、 [Assign Azure Digital Twins Data Owner Role](Azure Digital Twins データ所有者ロールの割り当て) ボックスをオンにします。

    Screenshot of the Create Resource process for Azure Digital Twins in the Azure portal. The described values are filled in.

    Note

    [Assign Azure Digital Twins Data Owner Role](Azure Digital Twins データ所有者ロールの割り当て) ボックスが淡色表示になっている場合、リソースへのユーザー アクセスを管理するためのアクセス許可がお使いの Azure サブスクリプションに含まれていません。 このセクションでインスタンスの作成を続行できます。その後、このクイックスタートの残りの部分を完了する前に、必要なアクセス許可を持つユーザーに依頼し、インスタンスでこのロールを自分に割り当ててもらう必要があります。

    この要件を満たす一般的なロールは、所有者アカウント管理者ユーザー アクセス管理者共同作成者の組み合わせです。

  2. [確認と作成] を選択し、インスタンスの作成を完了します。

  3. 入力した詳細を示す概要ページが表示されます。 [作成] を選択して確定し、インスタンスを作成します。

インスタンスのデプロイ状態を追跡する概要ページが表示されます。

Screenshot of the deployment page for Azure Digital Twins in the Azure portal. The page indicates that deployment is in progress.

デプロイが完了したことを示すページが表示されるまで待ちます。

ホスト名を収集する

デプロイが完了したら、[リソースに移動] ボタンを使ってポータルのインスタンスの [概要] ページに移動します。

Screenshot of the deployment page for Azure Digital Twins in the Azure portal. The page indicates that deployment is complete.

次に、後で使用するためにインスタンスのホスト名の値をメモします。

Screenshot of the Azure portal showing the Overview page for an Azure Digital Twins instance. The host name is highlighted.

サンプル モデルとツインを生成する

このセクションでは、 Azure Digital Twins データ シミュレーター ツールを使用して、インスタンスを設定するサンプル モデルとツインを生成します。 次に、シミュレーターを使用して、グラフ内のツインにサンプル データをストリーミングします。

注意

モデル、ツイン、およびシミュレートされたデータは、3D Scenes Studio で表示できる環境を作成するプロセスを簡略化するために、このクイック スタートで提供されます。 独自の完全な Azure Digital Twins ソリューションを設計するときは、モデルツインを自分で作成して、独自の環境を詳細に記述し、それに応じて独自のデータ フローを設定します

このサンプル シナリオは、6 つのロボット アームを含む荷物配送センターを表しています。 各アームには、アームが拾えなかったボックスの数を、拾い損なった箱の ID と共に追跡するプロパティを備えたデジタル ツインがあります。

  1. データ シミュレーターに移動します。

  2. [インスタンス URL] スペースに、前のセクションの Azure Digital Twins インスタンスの "ホスト名" を入力します。 [Simulation Type](シミュレーション タイプ)[Robot Arms](ロボット アーム) に設定します。

  3. [環境の生成] ボタンを使用して、モデルとツインを含むサンプル環境を作成します。 (モデルとツインがインスタンスに既にある場合、この操作によってモデルとツインは削除されず、追加されるだけです)

    Screenshot of the Azure Digital Twins Data simulator. The Generate environment button is highlighted.

  4. [Start simulation](シミュレーションの開始) を選んで、 Azure Digital Twins インスタンスへのシミュレートされたデータの送信を開始します。 シミュレーションが実行されるのは、このウィンドウが開き、[Start simulation](シミュレーションの開始) オプションがアクティブになっている間に限られます。

Azure Digital Twins Explorer の Graph ツールを使用して、作成されたモデルとグラフを表示できます。 そのツールに切り替えるには、左側のメニューから [Graph] アイコンを選択します。

Screenshot of the Azure Digital Twins Data simulator where the button to switch to the Graph experience is highlighted.

次に、[クエリの実行] ボタンを使用して、インスタンスに作成されたすべてのツインとリレーションシップに対してクエリを実行します。

Screenshot of the Azure Digital Twins Explorer highlighting the Run Query button in the upper-right corner of the window.

各ツインを選択して、詳細を表示できます。

アップロードされたモデルと、それらが相互にどのように関連しているかを確認するには、[モデル グラフ] を選択します。

Screenshot of the Azure Digital Twins Explorer highlighting the Model Graph button for the view pane.

ヒント

Azure Digital Twins Explorer の手順については、クイック スタート「Azure Digital Twins Explorer を開始する」を参照してください。

ストレージ リソースの作成

次に、新しいストレージ アカウントと、ストレージ アカウント内のコンテナーを作成します。 3D Scenes Studio では、このストレージ コンテナーを使用して、3D ファイルと構成情報を格納します。

また、ストレージ アカウントに対する読み取りおよび書き込みアクセス許可も設定します。 これらのバッキング リソースをすばやく設定するために、このセクションでは Azure Cloud Shell を使用します。

  1. ブラウザーで Cloud Shell に移動します。

    次のコマンドを実行して、このセッションのサブスクリプションに CLI コンテキストを設定します。

    az account set --subscription "<your-Azure-subscription-ID>"
    
  2. 次のコマンドを実行して、サブスクリプションにストレージ アカウントを作成します。 このコマンドには、ストレージ アカウントの名前を入力してリージョンを選択するためのプレースホルダーと、リソース グループのプレースホルダーが含まれています。

    az storage account create --resource-group <your-resource-group> --name <name-for-your-storage-account> --location <region> --sku Standard_RAGRS
    

    コマンドが正常に完了すると、新しいストレージ アカウントの詳細が出力に表示されます。 出力内の ID 値を探し、次のコマンドで使用するようにコピーします。

    Screenshot of Cloud Shell output. The I D of the storage account is highlighted.

  3. 次のコマンドを実行して、ストレージ アカウントの "Storage BLOB データ所有者" を自分に付与します。 このアクセス レベルでは、3D Scenes Studio で読み取りと書き込みの両方の操作を実行できます。 このコマンドには、Azure アカウントに関連付けられているメール アドレスと、前の手順でコピーしたストレージ アカウントの ID 用のプレースホルダーが含まれています。

    az role assignment create --role "Storage Blob Data Owner" --assignee <your-Azure-email> --scope <ID-of-your-storage-account>
    

    コマンドが正常に完了すると、ロールの割り当ての詳細が出力に表示されます。

  4. 次のコマンドを実行して、ストレージ アカウントの CORS を構成します。 これは、3D Scenes Studio でストレージ コンテナーにアクセスするために必要です。 このコマンドには、ストレージ アカウントの名前のプレースホルダーが含まれています。

    az storage cors add --services b --methods GET OPTIONS POST PUT --origins https://explorer.digitaltwins.azure.net --allowed-headers Authorization x-ms-version x-ms-blob-type --account-name <your-storage-account>
    

    このコマンドには出力がありません。

  5. 次のコマンドを実行して、ストレージ アカウントにプライベート コンテナーを作成します。 3D Scenes Studio ファイルがここに保存されます。 このコマンドには、ストレージ コンテナーの名前を入力するためのプレースホルダーと、ストレージ アカウントの名前のプレースホルダーが含まれています。

    az storage container create --name <name-for-your-container> --public-access off --account-name <your-storage-account>
    

    コマンドが正常に完了すると、出力に "created": true が表示されます。

3D Scenes Studio 環境を初期化する

すべてのリソースが設定されたので、それらを使用して 3D Scenes Studio で環境を作成できます。 このセクションでは、シーンを作成し、Azure Digital Twins インスタンス内のサンプル グラフ用にカスタマイズします。

  1. 3D Scenes Studio に移動します。 スタジオが開き、Azure Digital Twins Explorer で最後にアクセスした Azure Digital Twins インスタンスに接続されます。 ウェルカム デモを閉じます。

    Screenshot of 3D Scenes Studio with welcome demo.

  2. インスタンス名の横にある [編集] アイコンを選択して、インスタンスとストレージ コンテナーの詳細を構成します。

    Screenshot of 3D Scenes Studio highlighting the edit environment icon, which looks like a pencil.

    1. [Azure Digital Twins instance URL](Azure Digital Twins インスタンスの URL) の場合は、「 ホスト名を収集する 」の手順にあるインスタンスの "ホスト名" を次の URL に入力します: https://<your-instance-host-name>

    2. [Azure Storage container URL](Azure Storage コンテナー URL) の場合は、「ストレージ リソースの作成」の手順にあるストレージ アカウントとコンテナーの名前を次の URL に入力します: https://<your-storage-account>.blob.core.windows.net/<your-container>

    3. [保存] を選択します。

    Screenshot of 3D Scenes Studio highlighting the Save button for the environment.

新しい 3D シーンを追加する

このセクションでは、「前提条件」で前にダウンロードした RobotArms.glb 3D モデル ファイルを使用して、新しい 3D シーンを作成します。 "シーン" は、3D モデル ファイルと、自動的に作成される構成ファイルで構成されます。

このサンプル シーンには、配送センターとそのアームの視覚化が含まれています。 この視覚化を、「サンプル モデルとツインを生成する」の手順で作成したサンプル ツインに接続し、後の手順でデータ ドリブン ビューをカスタマイズします。

  1. [Add 3D scene](3D シーンの追加) ボタンを選択して、新しいシーンの作成を開始します。 シーンの [名前][説明] を入力し、[ファイルのアップロード] を選択します。

    Screenshot of the Create new scene process in 3D Scenes Studio.

  2. コンピューター上で RobotArms.glb ファイルを参照して開きます。 [作成] を選択します

    Screenshot of creating a new scene in 3D Scenes Studio. The robot arms file has been uploaded and the Create button is highlighted.

    ファイルがアップロードされると、3D Scenes Studio のメイン画面に一覧表示されます。

  3. シーンを選択して開き、表示します。 シーンが ビルド モードで開きます。

    Screenshot of the factory scene in 3D Scenes Studio.

シーン要素を作成する

次に、3D 視覚化で "要素" を定義し、前に設定した Azure Digital Twins グラフのツインにリンクします。

  1. シーンの視覚化で任意のロボット アームを選択します。 これにより、可能な要素アクションが表示されます。 [+ Create new element](新しい要素の作成) を選びます。

    Screenshot of the factory scene in 3D Scenes Studio. A robotic arm is highlighted with an option to create a new element.

  2. [新しい要素] パネルの [Primary twin](プライマリ ツイン) ドロップダウン リストには、接続されている Azure Digital Twins インスタンス内のすべてのツインの名前が表示されます。

    1. [Arm1] を選択します。 これにより、要素名としてデジタル ツイン ID ($dtId) が自動的に適用されます。

    2. [Create element](要素の作成) を選択します。

    Screenshot of the New element options in 3D Scenes Studio.

これで、シーンの要素の一覧に要素が表示されます。

動作を作成する

次に、要素の "動作" を作成します。 これらの動作を使用すると、要素のデータ ビジュアルおよび関連するビジネス ロジックをカスタマイズできます。 その後、これらのデータ ビジュアルを調べて、物理環境の状態を理解できます。

  1. [動作] リストに切り替え、[新しい動作] を選択します。

    Screenshot of the New behavior button in 3D Scenes Studio.

  2. [表示名] に「梱包ライン効率」と入力します。 [要素][Arm1] を選択します。

    Screenshot of the New behavior options in 3D Scenes Studio, showing the Elements options.

  3. [ツイン] タブをスキップします。このクイック スタートでは使用されません。 [状態] タブに切り替えます。"状態" は、要素の正常性または状態を示すための、要素上のデータ ドリブン オーバーレイです。 ここでは、要素のプロパティの値範囲を設定し、各範囲に特定の色を関連付けます。

    1. [プロパティ式][Single property] (単一プロパティ) に維持し、プロパティのドロップダウン リストを開きます。 これには、Arm1 要素のプライマリ ツインのすべてのプロパティの名前が含まれています。 [FailedPickupsLastHr] を選択します。

    2. このサンプル シナリオでは、1 時間に 3 つ以上拾い損なうアームにはメンテナンスが必要であり、1 つまたは 2 つ拾い損なうアームには将来メンテナンスが必要になるというフラグを立てます。 2 つの値範囲を設定して、 "1 ~ 3" の値を 1 つの色で表示し、"3 から無限大" の値を別の色で表示します (範囲の最小値は含まれ、最大値は含まれません)。

    Screenshot of the New behavior options in 3D Scenes Studio, showing the Status options.

  4. [アラート] タブに切り替えます。"アラート" は、関連する要素に対して何らかの状況がアクティブであることをすぐに理解するよう注意を引くのに役立ちます。 ここでは、アームが荷物を拾い損ねたときに表示されるアラート バッジを作成します。 プライマリ アーム ツインには、シーンで視覚的なアラートを作成するために使用する PickupFailedAlert プロパティがあります。

    1. [Trigger expression] (トリガー式) に「PrimaryTwin.PickupFailedAlert」と入力します。 PickupFailedAlert は、拾い損なったときに True に設定されるプライマリ ツインのプロパティです。 これをトリガー式として使用すると、プロパティ値が True の場合は常にこのアラートが表示されます。

    2. バッジの [アイコン][色] を設定します。 [シナリオの説明] に「${PrimaryTwin.PickupFailedBoxID} を取得できませんでした。この箱を追跡して修復してください」と入力します。これにより、プライマリ ツインのプロパティ PickupFailedBoxID を使用して、アームが拾い損なった箱に関するメッセージが表示されます。

    Screenshot of the New behavior options in 3D Scenes Studio, showing the Alerts options.

  5. [ウィジェット] タブに切り替えます。ウィジェットは、動作が表すシナリオを理解するのに役立つ、追加のコンテキストとデータを提供するデータ ドリブン ビジュアルです。 ここでは、アーム要素のプロパティ情報を表示する 2 つのビジュアル ウィジェットを追加します。

    1. まず、アームの油圧値のゲージを表示するウィジェットを作成します。

      1. [ウィジェットの追加] を選択します。

        Screenshot of the New behavior options in 3D Scenes Studio, showing the Widgets options.

        [ウィジェット ライブラリ] から [ゲージ] ウィジェットを選択し、[ウィジェットの追加] を選択します。

      2. [新しいウィジェット] オプションで、[表示名] に "油圧"、[計量単位] に "m/秒"、単一プロパティの [プロパティ式]PrimaryTwin.HydraulicPressure を追加します。

        3 つの値範囲を設定して、"0 から 40" の値が 1 つ目の色、"40 から 80" が 2 つ目の色、"80 から無限大" が 3 つ目の色で表示されるようにします (範囲の最小値は含まれ、最大値は含まれません)。

      3. [Create widget](ウィジェットの作成) を選択します。

      Screenshot of the New widget options in 3D Scenes Studio for the gauge widget.

    2. 次に、アームのライブ カメラ ストリームへのリンクを含むウィジェットを作成します。

      1. [ウィジェットの追加] を選択します。 [ウィジェット ライブラリ] から [リンク] ウィジェットを選択し、[ウィジェットの追加] を選択します。

      2. [新しいウィジェット] オプションで、[ラベル] に「ライブ アーム カメラ」と入力します。 [URL] には、サンプルの URL http://contoso.aws.armstreams.com/${PrimaryTwin.$dtId} を使用できます。 (このサンプルの URL にはライブ カメラはホストされていませんが、リンクは実際のシナリオでビデオ フィードがホストされる場所を表します)。

      3. [Create widget](ウィジェットの作成) を選択します。

      Screenshot of the New widget options in 3D Scenes Studio for a link widget.

  6. 動作オプションが完成しました。 [Create behavior](動作の作成) を選択して、動作を保存します。

    Screenshot of the New behavior options in 3D Scenes Studio, highlighting Create behavior.

"梱包ラインの効率" 動作がシーンの動作の一覧に表示されます。

シーンを表示する

ここまでは、ビルド モードで 3D Scenes Studio を使用してきました。 ここで、モードを [View](ビュー) に切り替えます。

Screenshot of the factory scene in 3D Scenes Studio, highlighting the View mode button.

[要素] の一覧から、作成した [Arm1] 要素を選択します。 視覚化が拡大されてビジュアル要素が表示され、それに対して設定した動作が表示されます。

Screenshot of the factory scene in 3D Scenes Studio, showing the viewer for the arm.

動作を追加の要素に適用する

場合によっては、環境に複数の類似した要素が含まれており、(この例の 6 つの異なるロボット アームのように) すべてが視覚化に同様に表示される場合もあります。 1 つのアームの動作を作成し、ビューアーでどのように表示されるかを確認したので、このセクションでは、動作を他のアームにすばやく追加して、それらすべてで、ビューアーに同じ種類の情報が表示される方法について説明します。

  1. ビルド モードに戻ります。 「シーン要素を作成する」で行ったように、視覚化で別のアームを選択し、[Create new element](新しい要素の作成) を選択します。 Screenshot of the factory scene in 3D Scenes Studio. A different arm is highlighted with an option to create a new element.

  2. 新しい要素に [プライマリ ツイン] を選択し、[動作] タブに切り替えます。Screenshot of the New element options for Arm2 in 3D Scenes Studio.

  3. [ビヘイビアーの追加] を選択します。 このクイック スタートで作成した 「梱包ラインの効率」動作を選択します。 Screenshot of the New element behavior options for Arm2 in 3D Scenes Studio.

  4. [Create element](要素の作成) を選択して、新しいアーム要素の作成を完了します。

[表示] タブに切り替えて、新しいアーム要素で動作している動作を確認します。 動作の作成時に選択したすべての情報が、シーン内の両方のアーム要素で使用できるようになりました。

Screenshot of the factory scene in 3D Scenes Studio, showing the viewer for the second arm.

ヒント

必要に応じて、このセクションの手順を繰り返して残りの 4 つのアームの要素を作成し、すべてのアームに動作を適用して視覚化を完了させることができます。

学習内容の復習とまとめ

このクイック スタートでは、Azure Digital Twins データのイマーシブ ダッシュボードを作成し、エンド ユーザーと共有し、実際の環境に関する重要な分析情報へのアクセスを増やすための方法を示しています。

クイック スタートでは、荷物を拾い上げるロボット アームを備えた荷物配送センターを表すサンプル 3D シーンを作成しました。 この視覚化はデジタル ツイン グラフに接続され、視覚化のアームを、バッキング データを提供する独自の特定のデジタル ツインにリンクしました。 また、シーン全体を表示するときに、過去 1 時間にそのアームでどの箱を拾い損なったかなど、そのアームに関する重要情報を表示する視覚的な動作を作成しました。

このクイック スタートでは、 Azure Digital Twins データ シミュレーターを使用して、ファクトリ シナリオのサンプル モデルとツインをすばやく作成しました。 独自の環境で Azure Digital Twins を使用する場合は、独自のモデルツインを作成して、環境の要素を詳しく正確に記述します。 また、このクイック スタートでは、データ シミュレーターを使用して、荷物を拾い損なったときにデジタル ツイン プロパティの更新を促す "ライブ" データをシミュレートしました。 独自の環境で Azure Digital Twins を使用する場合、ライブ データの取り込みは、独自の環境センサーに従って自分で設定するプロセスです。

リソースをクリーンアップする

このクイックスタートの後でクリーンアップするには、次に行うことに基づいて、削除する Azure Digital Twins リソースを選択します。

  • Azure Digital Twins のチュートリアルを続行する場合、このクイックスタートのインスタンスをそれらの記事で再利用できるため、インスタンスを削除する必要はありません。
  • この記事でセットアップした Azure Digital Twins インスタンスは引き続き使用するものの、そのモデル、ツイン、関係の一部または全部をクリアする場合は、Azure Cloud Shell ウィンドウから az dt という CLI コマンドを使用して、目的の要素を削除することができます。
  • Azure Digital Twins インスタンスが不要になった場合は、Azure portal を使ってインスタンスを削除できます。

    ポータルでインスタンスの [概要] ページに戻ります (そのタブを既に閉じている場合は、そのインスタンスをもう一度見つけるには、Azure portal の検索バーでインスタンス名を検索し、検索結果からインスタンスを選びます)。

    [削除] を選び、インスタンスを、そのすべてのモデルとツインを含めて削除します。

    Screenshot of the Overview page for an Azure Digital Twins instance in the Azure portal. The Delete button is highlighted.

ストレージ リソースを削除するには、Azure portal でストレージ アカウントの [概要] ページに移動し、[削除] を選択します。 これにより、ストレージ アカウントとその中のコンテナーに加えて、コンテナー内にあった 3D シーン ファイルが削除されます。

Screenshot of the Overview page for an Azure storage account in the Azure portal. The Delete button is highlighted.

さらに、ダウンロードしたサンプル 3D ファイルをローカル コンピューターから削除することもできます。

次の手順

引き続き Azure Digital Twins のチュートリアルに進んで、独自の Azure Digital Twins 環境を作成しましょう。