SlideShare a Scribd company logo
takabrz1 大阪駆動開発 Takahiro Miyaura
Mixed Realityを活用したIoT Edgeの管理と
情報可視化による「Digital Twins」の実現
takabrz1 大阪駆動開発 Takahiro Miyaura
「Digital Twins」と関連する技術
Digital Twinsとは
Copyright © 2020 Takahiro Miyaura 3
現実空間内の分析対象
デジタル情報としての写像
例:配信時の機器情報を可視化し改善する
【従来】
 対象をモデル化
 仮想化したモデルパラメータを変更
 状態を分析
実データを活用してより精度の高いシミュレーションを実現
機器や外部セン
サーでデータ収集
稼働時間XX分
切替A→B
NG
稼働時間XX分
Temp – 40℃
正常
稼働時間XX分
Temp – 40℃
正常
稼働時間XX分
Temp – 40℃
正常
【デジタルツイン】
 対象をモデル化
 対象にセンサーなどを設置や取り付け
 実データを取得しモデルに情報を反映
 リアルタイムに状態を分析
今回対象とする活用方法
XR技術とDigital Twins
Copyright © 2020 Takahiro Miyaura 4
【Cloud】
センサー情報収集
分析
モデル投影
可視化・・・
可視化にはxR技術を活用 VR空間
【VR】
すべてをデジタル情報で再現
 俯瞰視点での確認
 現物確認が困難
(活用例)
• 管理センターでの業務
• 製品開発
現実空間
【AR/MR】
情報を現実空間に投影
 現地での確認
 現物確認が可能
(活用例)
• 機器メンテナンス
• 営業
現実空間
本日のテーマ
Copyright © 2020 Takahiro Miyaura 5
情報の可視化を現実空間で実施
機器メンテナンスを想定。対象機器特定/センサー情報を補助空間に出力
検証に利用した技術の紹介
デモと活用方法に関する考察
【Cloud】
センサー情報収集
分析
モデル投影
可視化・・・
現実空間 現実空間
takabrz1 大阪駆動開発 Takahiro Miyaura
Mixed Realityを活用したIoT Edgeの管理と
情報可視化
概要
Copyright © 2020 Takahiro Miyaura 7
簡単なモデルケースを実際に構成
 現実空間内にセンサーを設置
 センサー情報をクラウドを活用してデータを収集
 収集データから作業指示などの情報を“センサー近傍で出力”
IoT Edgeデバイス Cloud(Azure)での管理 HoloLens 2での可視化
【Cloud】
センサー情報収集
分析
モデル投影
可視化・・・
現実空間
現実空間
Azureで実現できるDigital Twins
~ 提供サービスと役割 ~
Copyright © 2020 Takahiro Miyaura 8
引用元:「Microsoft Buile 2020:Microsoft IoT Vision and Roadmap」https://mybuild.microsoft.com/sessions/007295e3-c677-488c-b5df-6dad2a0f90cc,May 21 2020
Microsoft Build 2020で紹介されていたIoT戦略とロードマップ
Azureで実現できるDigital Twins
~ 提供サービスと役割 ~
Copyright © 2020 Takahiro Miyaura 9
IoT Edgeデバイスの管理から可視化までをサポートするサービスの提供
センサー情報の分析
対象のモデル化と写像
対象モデルの可視化
分析データの現実空間への投影
IoT Edgeデバイスの管理
今回検証範囲
Azureで実現できるDigital Twins
~ 参考アーキテクチャ~
Copyright © 2020 Takahiro Miyaura 10
Azure Architecture Center:「複合現実と IoT による設備管理の促進」
https://docs.microsoft.com/ja-jp/azure/architecture/solution-ideas/articles/facilities-management-powered-by-mixed-reality-and-iot?WT.mc_id=MR-MVP-5003104
このアーキテクチャをベースにサービスを構成
1
2
3
45
6
7
7
8
9
システム構成
Copyright © 2020 Takahiro Miyaura 11
空気環境情報をセンシングするデバイスを空間に設置
 Azure上で情報を管理(Azure IoT Hub,Azure DigitalTwins,CosmosDB)
 現実空間のセンサー位置をAzure Spatial Anchorsで管理
 必要な情報(対象センサー位置、センサー生データ等)の現実空間での可視化
Azure App
Service
Azure
Spatial Anchors
Cosmos DB Functions
Functions
Event GridAzure Digital Twins
IoT Hub
Client
Microsoft
HoloLens
Raspberry PI 4
(Enviro+ , CSS811)
詳細説明あり!
軽い説明 軽い説明
DEMO
Copyright © 2020 Takahiro Miyaura 12
確認対象のセンサーの位置特定とメンテナンス
 Azure Spatial Anchorsによるセンサー位置の特定
 センサー/作業情報を取得し可視化
 メンテナンスの報告
IoT Edgeデバイス
Copyright © 2020 Takahiro Miyaura 13
Raspberry PI 4
 センサー情報
温度、湿度、気圧、照度、Co2濃度等
 Azure Iot HubとはNode.js用のライブラリを経
IoTHubのサンプルをほぼ流用
 iBeaconとしてBluetooth機能を利用
Azure Spatial Anchorsの利用で必要
IoT EdgeデバイスはRaspberry PI で簡易的に作成
Azure Digital Twins(Public Preview)
~ 分析対象をモデル化し写像を管理 ~
Copyright © 2020 Takahiro Miyaura 14
現実世界の情報をモデル化
モデル化したデータの写像を生成
ノードモデルとして管理
写像データの管理
CRUD
トリガー
今回は以下の機能を付与
 IoT Hubからの情報を反映
 変更をトリガーにCosmosDBを更新
情報はJson形式で記述
HoloLens 2での可視化
Copyright © 2020 Takahiro Miyaura 15
 Mixed Reality Toolkit V2.5.1を使用
(Package Manager経由)
 主な利用機能
 Button
 ProgressIndicator
 Elastic System
 Hand Menu
 HoloLens 2での利用機能
 ハンドトラッキング
 空間マッピング
(参考)少しのUI変更(今回だとHand Menu)でAndoroid,iOSにも対応可能
※MRTK、Azure Spatial Anchorsがクロスプラットフォーム対応のため
Microsoftの各種MR系サンプルは
MRTK V2.4.0+Unity 2019.4
(MRTKのgithubに記載)
可視化にあたってのポイント(要件)
Copyright © 2020 Takahiro Miyaura 16
センサーの現実空間での位置の把握が必要
どのセンサーを対象とするか特定が難しくなるため
Azure Spatial Anchors
ARマーカー
1. 管理IDとARマーカと組合わせ
る
2. CoarseRelocationを活用する
QRコードにIDを埋込む
今回はAzure Spatial AnchorsのCoarseRelocationを活用
【理由】QRコード等のマーカなしに、現実空間にアンカー設置が可能
Azure Spatial Anchors
~ Coarse Relocation ~
Copyright © 2020 Takahiro Miyaura 17
 「空間の特徴」
 「位置情報(=アンカー)」
 「デジタル情報」
 「センサー情報」
(Wifi/GPS/Beacon)
仮想の物体
空間解析による特徴点
クラウドで管理(IDで管
理)
 クロスプラットフォームで活用
 共有体験の土台
センサー情報を利用してSpatial Anchorの問合せが可能
Azure Spatial Anchors
~ Coarse Relocation – センサーの使い分け ~
Copyright © 2020 Takahiro Miyaura 18
有効範囲によって使い分ける
Bluetooth
(ビーコン)
Wifi GPS
屋内
狭い空間で活用
屋外
広い空間で活用
(参考)Azure Spatial Anchors
~ 各デバイスのサポート状況 ~
Copyright © 2020 Takahiro Miyaura 19
有効範囲によって使い分ける
https://docs.microsoft.com/ja-jp/azure/spatial-anchors/concepts/coarse-reloc?WT.mc_id=MR-MVP-5003104
センサー種別 HoloLens Android iOS
GPS ×
機能なし
〇
APIサポート
〇
APIサポート
Wifi
〇
3 秒ごとに約 1 回のス
キャン
〇
API レベル 28 以降スキャ
ンは 2 分毎に 4 回の呼出に
調整。 Android 10 からは
調整可能
×
なし
BLE Beacon
〇
Eddystone
iBeacon
Azure Spatial Anchors
~ IoT EdgeデバイスのBeacon化が必要な理由 ~
Copyright © 2020 Takahiro Miyaura 20
Beaconとして機能させることで、Coarse Relocationが利用可能
センサーに紐づくSpatial Anchorを生成可能
センサーの位置関係を管理可能に!
Raspberry PI 4
 センサー情報
温度、湿度、気圧、照度、Co2濃度等
 Azure Iot HubとはNode.js用のライブラリを経
IoTHubのサンプルをほぼ流用
 iBeaconとしてBluetooth機能を利用
Azure Spatial Anchorsの利用で必要
takabrz1 大阪駆動開発 Takahiro Miyaura
Beaconを活用した
Azure Spatial Anchorsの実装
Azure Spatial Anchors
~ 実装手順 ~
Copyright © 2020 Takahiro Miyaura 22
以降はBluetoothを利用したアンカー制御の実装を解説
・アンカーの登録
・アンカーの検索
・アンカーの削除
Azure Spatial Anchorsはアンカー制御用にSDKが提供
・クロスプラットフォーム
・Unity向け
今回のデモシステムはGithubで公開(詳細を確認したい方は参考にしてください。)
https://github.com/TakahiroMiyaura/DigitalTwinsDemoSystem
(参考)開発環境
Copyright © 2020 Takahiro Miyaura 23
 Windows 10 Pro
 Unity 2019.4.10f1
 Mixed RealityToolkitV2.5.1
 Azure Spatial AnchorsV2.6.0
 Visual Studio 2019(16.5.3)
 Visual Studio Code 1.50.1
 Plugins:Azure IoT Hub(動作確認用),Remote Development
 Node.js : v8.11.3(Raspberry PI Beacon化
v10.13.0(Azure IoT Hubとの連携)
 Python:3.7.3(センサー情報収集、Json化)
HoloLens 2 & Azure Functions
IoT Edgeデバイス
Azure Spatial Anchors
~ 基本的な事項~
Copyright © 2020 Takahiro Miyaura 24
Azure Spatial Anchorsサービスの導入はPackage Manager経由
詳細な手順はhttps://docs.microsoft.com/ja-jp/azure/spatial-anchors/how-tos/setup-unity-project?WT.mc_id=MR-
MVP-5003104&tabs=UPMPackage
 空GameObjectを追加
 Spatial Anchor Manager
コンポーネントを追加
Azure Spatial Anchorsの利用に必要な情報を設定
「左記項目に入力」 または 「リソース設定」
※リソースファイルは以下に格納されている
Asset/AzureSpatialAnchors.SDK/Resources/SpatialAnchorConfig
Azure Spatial Anchors
~ 基本的な事項 – 機能系(1/3)~
Copyright © 2020 Takahiro Miyaura 25
 SpatialAnchorManager.CreateSessionAsync
[メソッド]Azure Spatial Anchorsとの接続に必要なセションを生成
 SpatialAnchorManager.StartSessionAsync
[メソッド]Azure Spatial Anchorsとと接続しセションを開始
 NearDeviceCriteria
[クラス]デバイス(センサー系)利用時のルールの定義
 PlatformLocationProvider
[クラス]センサー(Beacon,Wifi,GPS)の有効/無効の定義
Azure Spatial Anchorsとの接続と利用定義に関する部品
Azure Spatial Anchors
~ 基本的な事項 – 機能系(2/3) ~
Copyright © 2020 Takahiro Miyaura 26
アンカーの設置
 SpatialAnchorManager.CreateAnchorAsync
指定のオブジェクトをSpatial Anchorをサービスに登録
 空間に配置したGameObjectをアンカー情報として周辺の空間情報と共に登録
 センサー情報も登録する場合はCloudSpatialAnchorSessionに設定必要
アンカーの削除
 SpatialAnchorManager.DeleteAnchorAsync
設置済みSpatial Anchorをサービスから登録
Azure Spatial Anchors
~ 基本的な事項 – 機能系(3/3) ~
Copyright © 2020 Takahiro Miyaura 27
 AnchorLocateCriteria
[クラス]Spatial Anchor設置ルールを定義
 CloudSpatialAnchorSession.CreateWatcher
[メソッド]Spatial Anchor設置指示
 SpatialAnchorManager.AnchorLocated
[イベント]サービスから取得したSpatial Anchor設置時に発生
 SpatialAnchorManager.LocateAnchorsCompleted
[イベント]サービスから取得したSpatial Anchorすべてを設置後に発生
Azure Spatial Anchorsへのアンカー問合せと設置に関連する部品
Azure Spatial Anchors
~ 基本的な事項 – 設定系(1/2)~
Copyright © 2020 Takahiro Miyaura 28
Corse Relocalizationのための設定
NearDeviceCriteria:センサー情報の有効範囲を定義
 DistanceInMeters
 センサー位置を中心として有効範囲(半径m)
 MaxResultCount
 一度に検出するSpatial Anchor数
Azure Spatial Anchors
~ 基本的な事項 – 設定系(2/2)~
Copyright © 2020 Takahiro Miyaura 29
Corse Relocalizationのための設定
PlatformLocationProvider:センサーの利用条件を設定
 GeoLocationEnabled
 GPS情報を利用するかどうか
 WifiEnabled
 Wifi情報を利用するかどうか
 BluetoothEnabled
 Bluetooth(ビーコン)を利用するかどうか
 KnownBeaconProximityUuids
 ビーコンを利用する場合のUUIDのホワイトリスト
Azure Spatial Anchors
~ 実装:セションの開始~
Copyright © 2020 Takahiro Miyaura 30
//セッションの開始
await
CloudManager.CreateSessionAsync();
await
CloudManager.StartSessionAsync();
Azure Spatial Anchorsサービスへの接続はCredentials
Or
リソースから取得
Asset/AzureSpatialAnchors.SDK/Resources/SpatialAnchorConfig
セションの生成と開始を実施
Azure Spatial Anchors
~ 実装:検索の実施(1/4)~
Copyright © 2020 Takahiro Miyaura 31
//イベントの設定
SpatialAnchorManager.AnchorLocated += AnchorLocated;
SpatialAnchorManager.LocateAnchorsCompleted += LocateAnchorsCompleted;
SpatialAnchorManager.LogDebug += LogDebug;
SpatialAnchorManager.Error += Error;
イベントの定義
SpatialAnchorManagerのイベントにメソッドを割り当てる
Azure Spatial Anchors
~ 実装:検索の実施(4/4)~
Copyright © 2020 Takahiro Miyaura 32
アンカー検索の実施(非同期)
//Anchor取得の開始
CloudManager.Session
.CreateWatcher(anchorLocateCriteria);
指定ルールに合致する登録済みSpatial Anchorを検索
配置のタイミングで以下のイベントが発生可能な場合
 SpatialAnchorManager.AnchorLocated
 SpatialAnchorManager.LocateAnchorsCompleted
//範囲を設定
NearDeviceCriteria nearDeviceCriteria
= new NearDeviceCriteria();
nearDeviceCriteria.DistanceInMeters = 8;
nearDeviceCriteria.MaxResultCount = 25;
var anchorLocateCriteria
= new AnchorLocateCriteria();
anchorLocateCriteria.NearDevice
= nearDeviceCriteria;
//センサー利用のための設定
PlatformLocationProvider provider
= new PlatformLocationProvider();
provider.Sensors.GeoLocationEnabled = false;
provider.Sensors.WifiEnabled = false;
provider.Sensors.BluetoothEnabled = true;
provider.Sensors.KnownBeaconProximityUuids
= new string[] {[uuid],…};
CloudManager.Session.LocationProvider =
provider;
Azure Spatial Anchors
~ 実装:登録 ~
Copyright © 2020 Takahiro Miyaura 33
Spatial Anchorの登録
通常のGameObjectで位置決めを実施
// アンカー情報の取得
CloudNativeAnchor cna =
spawnedObject.GetComponent<CloudNativeAnchor>();
if (cna.CloudAnchor == null)
{ cna.NativeToCloud(); }
CloudSpatialAnchor cloudAnchor = cna.CloudAnchor;
//アンカーの寿命を設定(検証では有限に!)
cloudAnchor.Expiration =
DateTimeOffset.Now.AddDays(7);
//アンカーの登録
await CloudManager.CreateAnchorAsync(cloudAnchor);
takabrz1 大阪駆動開発 Takahiro Miyaura
まとめと考察
現実空間にセンサー情報を可視化する意義
Copyright © 2020 Takahiro Miyaura 35
作業支援として一定の効果はあると考えられる
 センサー情報+現実空間(空間認識など)を組合わせるデジタルツインも可能
 現物確認が必要なシチュエーションでは可視化による効率化が可能
【Cloud】
センサー情報収集
分析
モデル投影
可視化・・・
現実空間 現実空間
現実空間にセンサー情報を可視化する意義
Copyright © 2020 Takahiro Miyaura 36
(3,0,5)
デジタル空間でのセンサー位置の管理の実現
Azure SpatialAnchorsにより現実空間のセンサー位置をUnityの座標系で管理
設置センサーの後付けや移動による座標情報までDigitalTwinsで管理が可能
(1,2,5)
(0,0,0) (3,0,0)
(1,2,5)
(0,0,0)センサーの移動
(3,0,5)
アンカーの移動
Azure Spatial Anchorsを中心にDigitalTwinsを実現する手段の紹介
デモの紹介と考察
本日のテーマ
Copyright © 2020 Takahiro Miyaura 37
情報の可視化を現実空間で実施
機器メンテナンスを想定して対象の特定、センサー情報を補助空間に出力
【Cloud】
センサー情報収集
分析
モデル投影
可視化・・・
現実空間 現実空間
ご清聴ありがとうございました

More Related Content

PPTX
Azure Spatial Anchorsを活用したHoloLens & Androidシェアリングアプリ
PPTX
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~
PPTX
Build 2021のDigital Twinsセションを読み解く ~Azure関連サービス概要とラーニングパスの詳説~
PPTX
Azure Object Anchors Recap(Kobe版)
PPTX
Azure Object Anchors Recap
PPTX
ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...
PPTX
Mixed Reality Toolkit V2におけるマルチデバイス対応 ~ Azure Spatial Anchorsとphotonによるシェアリング...
PPTX
Mixed Reality Toolkit V2.4.0の機能 ~ Progress Indicator ~
Azure Spatial Anchorsを活用したHoloLens & Androidシェアリングアプリ
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~
Build 2021のDigital Twinsセションを読み解く ~Azure関連サービス概要とラーニングパスの詳説~
Azure Object Anchors Recap(Kobe版)
Azure Object Anchors Recap
ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...
Mixed Reality Toolkit V2におけるマルチデバイス対応 ~ Azure Spatial Anchorsとphotonによるシェアリング...
Mixed Reality Toolkit V2.4.0の機能 ~ Progress Indicator ~

What's hot (20)

PPTX
IoT関連のAzureを使い倒して お部屋の空気観測装置を作った話
PPTX
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -
PPTX
Mixed Reality関連のSDKの状況を調べてみた
PPTX
MRTK V2で積木アプリを作る
PPTX
Azure Remote Renderingを試す
PPTX
Oculus Quest 2 on Mixed Reality Toolkit V2.5.0~ ハンドトラッキングする方法 ~
PPTX
Mixed Reality Toolkit V3について
PPTX
Mixed RealityとAzure Digital Twinsを組合わせてデジタルツインを可視化するためのTips
PPTX
World Locking Tools V1.0.0について~ 機能と導入 ~
PPTX
Mixed Reality Toolkit V2のMixed Reality Scene Systemを使う
PPTX
今改めて見る Plane finding
PPTX
Azure Object Anchors のQuick Startで理解を深めたい
PPTX
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~
PPTX
Mixed Reality Toolkit V2.2.0のMobile対応について
PPTX
XRマルチデバイス開発を可能にするOSSライブラリ「MRTK-vNEXT」について
PPTX
Mixed Reality Toolkit - Unity vNEXT α版と戯れる
PPTX
HoloLensで外部定義ファイルを使う
PPTX
Scrolling CollectionsとElastic System(Mixed Reality Toolkit V2.5.1)
PPTX
Azure Spatial Anchorsのユースケース「Way-Finding」を実現するためのテクニック
PPTX
だんグラで「Mixed Reality Toolkit V2」のサンプルを動かしてみた
IoT関連のAzureを使い倒して お部屋の空気観測装置を作った話
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -
Mixed Reality関連のSDKの状況を調べてみた
MRTK V2で積木アプリを作る
Azure Remote Renderingを試す
Oculus Quest 2 on Mixed Reality Toolkit V2.5.0~ ハンドトラッキングする方法 ~
Mixed Reality Toolkit V3について
Mixed RealityとAzure Digital Twinsを組合わせてデジタルツインを可視化するためのTips
World Locking Tools V1.0.0について~ 機能と導入 ~
Mixed Reality Toolkit V2のMixed Reality Scene Systemを使う
今改めて見る Plane finding
Azure Object Anchors のQuick Startで理解を深めたい
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~
Mixed Reality Toolkit V2.2.0のMobile対応について
XRマルチデバイス開発を可能にするOSSライブラリ「MRTK-vNEXT」について
Mixed Reality Toolkit - Unity vNEXT α版と戯れる
HoloLensで外部定義ファイルを使う
Scrolling CollectionsとElastic System(Mixed Reality Toolkit V2.5.1)
Azure Spatial Anchorsのユースケース「Way-Finding」を実現するためのテクニック
だんグラで「Mixed Reality Toolkit V2」のサンプルを動かしてみた
Ad

Similar to Mixed Realityを活用したIot Edgeの管理と情報の可視化による「Digital Twins」の実現 (20)

PDF
Smart Store サーバーレスアーキテクチャ編
PDF
20190514 Smart Store - Azure servlerless architecture
PDF
3-2)『空気を読む家』とメタバース駆動開発構想
PDF
アダプティブ クラウド アプローチと Azure IoT Operations 概要
PDF
Azure IoT Edge - ALGYAN Dec 2022.pdf
PPTX
エッジコンピューティングで実現できる活用シナリオ3選
PPTX
Tech Night Recap Sapporo - Ignite & .NET Conf -.pptx
PDF
今改めて学ぶ Microsoft Azure 基礎知識
PDF
iot@Loft#14-LT4-AI /機械学習に活用できる AWSのエッジソリューションのご紹介
PDF
(Fix)Azure Network Security Group(NSG)のおさらい
PDF
AWS の IoT 向けサービス
PDF
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
PDF
講演資料「Azure AI Update Ignite Fall 2021を振り返ろう!」
PPTX
Azure Databricksで始めるSpark 構築から活用までの第一歩
PPTX
iBeacon を利用したサービス開発のポイント
PDF
[Microsoft Tech Summit 2018] Azure Machine Learning サービスと Azure Databricks で実...
PDF
IoT のシナリオを変える Azure SQL Edge
PDF
AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)
PDF
【de:code 2020】 Azure IoT 最新動向 - クラウドからエッジまで網羅的にご紹介
PDF
Azure Kubernetes Service Overview
Smart Store サーバーレスアーキテクチャ編
20190514 Smart Store - Azure servlerless architecture
3-2)『空気を読む家』とメタバース駆動開発構想
アダプティブ クラウド アプローチと Azure IoT Operations 概要
Azure IoT Edge - ALGYAN Dec 2022.pdf
エッジコンピューティングで実現できる活用シナリオ3選
Tech Night Recap Sapporo - Ignite & .NET Conf -.pptx
今改めて学ぶ Microsoft Azure 基礎知識
iot@Loft#14-LT4-AI /機械学習に活用できる AWSのエッジソリューションのご紹介
(Fix)Azure Network Security Group(NSG)のおさらい
AWS の IoT 向けサービス
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
講演資料「Azure AI Update Ignite Fall 2021を振り返ろう!」
Azure Databricksで始めるSpark 構築から活用までの第一歩
iBeacon を利用したサービス開発のポイント
[Microsoft Tech Summit 2018] Azure Machine Learning サービスと Azure Databricks で実...
IoT のシナリオを変える Azure SQL Edge
AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)
【de:code 2020】 Azure IoT 最新動向 - クラウドからエッジまで網羅的にご紹介
Azure Kubernetes Service Overview
Ad

More from Takahiro Miyaura (20)

PPTX
Microsoft Ignite 2022の情報 & Microsoft Learnの整理をしてみた
PPTX
Mixed Reality Toolkit 3 の更新状況 - 6月からもちょいちょいアップデートされてるよ
PPTX
Mixed Reality Toolkit 3 - 「MRTK XR Rig」と「Bounds Control」
PPTX
Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」のUXをみる
PPTX
Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」の紹介
PPTX
Mixed Reality Toolkit 3 Recap
PPTX
MRTK3を調べてみた
PPTX
【続】OpenXRでHoloLensアプリを作る
PPTX
OpenVRやOpenXRの基本的なことを調べてみた
PPTX
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
PPTX
Mixed Reality Toolkit で OpenXRのEye Trackingを使う
PPTX
5周年ふりかえり!HoloLens 1とHoloLens 2のUI操作と実装の違いを改めて見てみよう
PPTX
World Locking Tools でAzure Spatial Anchorsが使えるようになった
PPTX
UIデザイン設計から開発をつなぐ「MRTK Figma Bridge for Unity」を使ってみよう
PPTX
Azure Digital TwinとUnreal Engineを統合するADTLink Pluginについて
PPTX
久しぶりにMicrosoft Meshを使ってみた - 色々変わってたよ編 -
PPTX
「あれ」がスマホで動くのか試してみた
PPTX
HoloLens1アプリをHoloLens2アプリに変換できるかチャレンジ
PPTX
Mixed Reality Feature ToolとMixed Reality Toolkit V2.6.1
PPTX
HoloLens 1のアプリをHoloLens 2に移行する
Microsoft Ignite 2022の情報 & Microsoft Learnの整理をしてみた
Mixed Reality Toolkit 3 の更新状況 - 6月からもちょいちょいアップデートされてるよ
Mixed Reality Toolkit 3 - 「MRTK XR Rig」と「Bounds Control」
Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」のUXをみる
Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」の紹介
Mixed Reality Toolkit 3 Recap
MRTK3を調べてみた
【続】OpenXRでHoloLensアプリを作る
OpenVRやOpenXRの基本的なことを調べてみた
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
Mixed Reality Toolkit で OpenXRのEye Trackingを使う
5周年ふりかえり!HoloLens 1とHoloLens 2のUI操作と実装の違いを改めて見てみよう
World Locking Tools でAzure Spatial Anchorsが使えるようになった
UIデザイン設計から開発をつなぐ「MRTK Figma Bridge for Unity」を使ってみよう
Azure Digital TwinとUnreal Engineを統合するADTLink Pluginについて
久しぶりにMicrosoft Meshを使ってみた - 色々変わってたよ編 -
「あれ」がスマホで動くのか試してみた
HoloLens1アプリをHoloLens2アプリに変換できるかチャレンジ
Mixed Reality Feature ToolとMixed Reality Toolkit V2.6.1
HoloLens 1のアプリをHoloLens 2に移行する

Mixed Realityを活用したIot Edgeの管理と情報の可視化による「Digital Twins」の実現

  • 1. takabrz1 大阪駆動開発 Takahiro Miyaura Mixed Realityを活用したIoT Edgeの管理と 情報可視化による「Digital Twins」の実現
  • 2. takabrz1 大阪駆動開発 Takahiro Miyaura 「Digital Twins」と関連する技術
  • 3. Digital Twinsとは Copyright © 2020 Takahiro Miyaura 3 現実空間内の分析対象 デジタル情報としての写像 例:配信時の機器情報を可視化し改善する 【従来】  対象をモデル化  仮想化したモデルパラメータを変更  状態を分析 実データを活用してより精度の高いシミュレーションを実現 機器や外部セン サーでデータ収集 稼働時間XX分 切替A→B NG 稼働時間XX分 Temp – 40℃ 正常 稼働時間XX分 Temp – 40℃ 正常 稼働時間XX分 Temp – 40℃ 正常 【デジタルツイン】  対象をモデル化  対象にセンサーなどを設置や取り付け  実データを取得しモデルに情報を反映  リアルタイムに状態を分析
  • 4. 今回対象とする活用方法 XR技術とDigital Twins Copyright © 2020 Takahiro Miyaura 4 【Cloud】 センサー情報収集 分析 モデル投影 可視化・・・ 可視化にはxR技術を活用 VR空間 【VR】 すべてをデジタル情報で再現  俯瞰視点での確認  現物確認が困難 (活用例) • 管理センターでの業務 • 製品開発 現実空間 【AR/MR】 情報を現実空間に投影  現地での確認  現物確認が可能 (活用例) • 機器メンテナンス • 営業 現実空間
  • 5. 本日のテーマ Copyright © 2020 Takahiro Miyaura 5 情報の可視化を現実空間で実施 機器メンテナンスを想定。対象機器特定/センサー情報を補助空間に出力 検証に利用した技術の紹介 デモと活用方法に関する考察 【Cloud】 センサー情報収集 分析 モデル投影 可視化・・・ 現実空間 現実空間
  • 6. takabrz1 大阪駆動開発 Takahiro Miyaura Mixed Realityを活用したIoT Edgeの管理と 情報可視化
  • 7. 概要 Copyright © 2020 Takahiro Miyaura 7 簡単なモデルケースを実際に構成  現実空間内にセンサーを設置  センサー情報をクラウドを活用してデータを収集  収集データから作業指示などの情報を“センサー近傍で出力” IoT Edgeデバイス Cloud(Azure)での管理 HoloLens 2での可視化 【Cloud】 センサー情報収集 分析 モデル投影 可視化・・・ 現実空間 現実空間
  • 8. Azureで実現できるDigital Twins ~ 提供サービスと役割 ~ Copyright © 2020 Takahiro Miyaura 8 引用元:「Microsoft Buile 2020:Microsoft IoT Vision and Roadmap」https://mybuild.microsoft.com/sessions/007295e3-c677-488c-b5df-6dad2a0f90cc,May 21 2020 Microsoft Build 2020で紹介されていたIoT戦略とロードマップ
  • 9. Azureで実現できるDigital Twins ~ 提供サービスと役割 ~ Copyright © 2020 Takahiro Miyaura 9 IoT Edgeデバイスの管理から可視化までをサポートするサービスの提供 センサー情報の分析 対象のモデル化と写像 対象モデルの可視化 分析データの現実空間への投影 IoT Edgeデバイスの管理 今回検証範囲
  • 10. Azureで実現できるDigital Twins ~ 参考アーキテクチャ~ Copyright © 2020 Takahiro Miyaura 10 Azure Architecture Center:「複合現実と IoT による設備管理の促進」 https://docs.microsoft.com/ja-jp/azure/architecture/solution-ideas/articles/facilities-management-powered-by-mixed-reality-and-iot?WT.mc_id=MR-MVP-5003104 このアーキテクチャをベースにサービスを構成 1 2 3 45 6 7 7 8 9
  • 11. システム構成 Copyright © 2020 Takahiro Miyaura 11 空気環境情報をセンシングするデバイスを空間に設置  Azure上で情報を管理(Azure IoT Hub,Azure DigitalTwins,CosmosDB)  現実空間のセンサー位置をAzure Spatial Anchorsで管理  必要な情報(対象センサー位置、センサー生データ等)の現実空間での可視化 Azure App Service Azure Spatial Anchors Cosmos DB Functions Functions Event GridAzure Digital Twins IoT Hub Client Microsoft HoloLens Raspberry PI 4 (Enviro+ , CSS811) 詳細説明あり! 軽い説明 軽い説明
  • 12. DEMO Copyright © 2020 Takahiro Miyaura 12 確認対象のセンサーの位置特定とメンテナンス  Azure Spatial Anchorsによるセンサー位置の特定  センサー/作業情報を取得し可視化  メンテナンスの報告
  • 13. IoT Edgeデバイス Copyright © 2020 Takahiro Miyaura 13 Raspberry PI 4  センサー情報 温度、湿度、気圧、照度、Co2濃度等  Azure Iot HubとはNode.js用のライブラリを経 IoTHubのサンプルをほぼ流用  iBeaconとしてBluetooth機能を利用 Azure Spatial Anchorsの利用で必要 IoT EdgeデバイスはRaspberry PI で簡易的に作成
  • 14. Azure Digital Twins(Public Preview) ~ 分析対象をモデル化し写像を管理 ~ Copyright © 2020 Takahiro Miyaura 14 現実世界の情報をモデル化 モデル化したデータの写像を生成 ノードモデルとして管理 写像データの管理 CRUD トリガー 今回は以下の機能を付与  IoT Hubからの情報を反映  変更をトリガーにCosmosDBを更新 情報はJson形式で記述
  • 15. HoloLens 2での可視化 Copyright © 2020 Takahiro Miyaura 15  Mixed Reality Toolkit V2.5.1を使用 (Package Manager経由)  主な利用機能  Button  ProgressIndicator  Elastic System  Hand Menu  HoloLens 2での利用機能  ハンドトラッキング  空間マッピング (参考)少しのUI変更(今回だとHand Menu)でAndoroid,iOSにも対応可能 ※MRTK、Azure Spatial Anchorsがクロスプラットフォーム対応のため Microsoftの各種MR系サンプルは MRTK V2.4.0+Unity 2019.4 (MRTKのgithubに記載)
  • 16. 可視化にあたってのポイント(要件) Copyright © 2020 Takahiro Miyaura 16 センサーの現実空間での位置の把握が必要 どのセンサーを対象とするか特定が難しくなるため Azure Spatial Anchors ARマーカー 1. 管理IDとARマーカと組合わせ る 2. CoarseRelocationを活用する QRコードにIDを埋込む 今回はAzure Spatial AnchorsのCoarseRelocationを活用 【理由】QRコード等のマーカなしに、現実空間にアンカー設置が可能
  • 17. Azure Spatial Anchors ~ Coarse Relocation ~ Copyright © 2020 Takahiro Miyaura 17  「空間の特徴」  「位置情報(=アンカー)」  「デジタル情報」  「センサー情報」 (Wifi/GPS/Beacon) 仮想の物体 空間解析による特徴点 クラウドで管理(IDで管 理)  クロスプラットフォームで活用  共有体験の土台 センサー情報を利用してSpatial Anchorの問合せが可能
  • 18. Azure Spatial Anchors ~ Coarse Relocation – センサーの使い分け ~ Copyright © 2020 Takahiro Miyaura 18 有効範囲によって使い分ける Bluetooth (ビーコン) Wifi GPS 屋内 狭い空間で活用 屋外 広い空間で活用
  • 19. (参考)Azure Spatial Anchors ~ 各デバイスのサポート状況 ~ Copyright © 2020 Takahiro Miyaura 19 有効範囲によって使い分ける https://docs.microsoft.com/ja-jp/azure/spatial-anchors/concepts/coarse-reloc?WT.mc_id=MR-MVP-5003104 センサー種別 HoloLens Android iOS GPS × 機能なし 〇 APIサポート 〇 APIサポート Wifi 〇 3 秒ごとに約 1 回のス キャン 〇 API レベル 28 以降スキャ ンは 2 分毎に 4 回の呼出に 調整。 Android 10 からは 調整可能 × なし BLE Beacon 〇 Eddystone iBeacon
  • 20. Azure Spatial Anchors ~ IoT EdgeデバイスのBeacon化が必要な理由 ~ Copyright © 2020 Takahiro Miyaura 20 Beaconとして機能させることで、Coarse Relocationが利用可能 センサーに紐づくSpatial Anchorを生成可能 センサーの位置関係を管理可能に! Raspberry PI 4  センサー情報 温度、湿度、気圧、照度、Co2濃度等  Azure Iot HubとはNode.js用のライブラリを経 IoTHubのサンプルをほぼ流用  iBeaconとしてBluetooth機能を利用 Azure Spatial Anchorsの利用で必要
  • 21. takabrz1 大阪駆動開発 Takahiro Miyaura Beaconを活用した Azure Spatial Anchorsの実装
  • 22. Azure Spatial Anchors ~ 実装手順 ~ Copyright © 2020 Takahiro Miyaura 22 以降はBluetoothを利用したアンカー制御の実装を解説 ・アンカーの登録 ・アンカーの検索 ・アンカーの削除 Azure Spatial Anchorsはアンカー制御用にSDKが提供 ・クロスプラットフォーム ・Unity向け 今回のデモシステムはGithubで公開(詳細を確認したい方は参考にしてください。) https://github.com/TakahiroMiyaura/DigitalTwinsDemoSystem
  • 23. (参考)開発環境 Copyright © 2020 Takahiro Miyaura 23  Windows 10 Pro  Unity 2019.4.10f1  Mixed RealityToolkitV2.5.1  Azure Spatial AnchorsV2.6.0  Visual Studio 2019(16.5.3)  Visual Studio Code 1.50.1  Plugins:Azure IoT Hub(動作確認用),Remote Development  Node.js : v8.11.3(Raspberry PI Beacon化 v10.13.0(Azure IoT Hubとの連携)  Python:3.7.3(センサー情報収集、Json化) HoloLens 2 & Azure Functions IoT Edgeデバイス
  • 24. Azure Spatial Anchors ~ 基本的な事項~ Copyright © 2020 Takahiro Miyaura 24 Azure Spatial Anchorsサービスの導入はPackage Manager経由 詳細な手順はhttps://docs.microsoft.com/ja-jp/azure/spatial-anchors/how-tos/setup-unity-project?WT.mc_id=MR- MVP-5003104&tabs=UPMPackage  空GameObjectを追加  Spatial Anchor Manager コンポーネントを追加 Azure Spatial Anchorsの利用に必要な情報を設定 「左記項目に入力」 または 「リソース設定」 ※リソースファイルは以下に格納されている Asset/AzureSpatialAnchors.SDK/Resources/SpatialAnchorConfig
  • 25. Azure Spatial Anchors ~ 基本的な事項 – 機能系(1/3)~ Copyright © 2020 Takahiro Miyaura 25  SpatialAnchorManager.CreateSessionAsync [メソッド]Azure Spatial Anchorsとの接続に必要なセションを生成  SpatialAnchorManager.StartSessionAsync [メソッド]Azure Spatial Anchorsとと接続しセションを開始  NearDeviceCriteria [クラス]デバイス(センサー系)利用時のルールの定義  PlatformLocationProvider [クラス]センサー(Beacon,Wifi,GPS)の有効/無効の定義 Azure Spatial Anchorsとの接続と利用定義に関する部品
  • 26. Azure Spatial Anchors ~ 基本的な事項 – 機能系(2/3) ~ Copyright © 2020 Takahiro Miyaura 26 アンカーの設置  SpatialAnchorManager.CreateAnchorAsync 指定のオブジェクトをSpatial Anchorをサービスに登録  空間に配置したGameObjectをアンカー情報として周辺の空間情報と共に登録  センサー情報も登録する場合はCloudSpatialAnchorSessionに設定必要 アンカーの削除  SpatialAnchorManager.DeleteAnchorAsync 設置済みSpatial Anchorをサービスから登録
  • 27. Azure Spatial Anchors ~ 基本的な事項 – 機能系(3/3) ~ Copyright © 2020 Takahiro Miyaura 27  AnchorLocateCriteria [クラス]Spatial Anchor設置ルールを定義  CloudSpatialAnchorSession.CreateWatcher [メソッド]Spatial Anchor設置指示  SpatialAnchorManager.AnchorLocated [イベント]サービスから取得したSpatial Anchor設置時に発生  SpatialAnchorManager.LocateAnchorsCompleted [イベント]サービスから取得したSpatial Anchorすべてを設置後に発生 Azure Spatial Anchorsへのアンカー問合せと設置に関連する部品
  • 28. Azure Spatial Anchors ~ 基本的な事項 – 設定系(1/2)~ Copyright © 2020 Takahiro Miyaura 28 Corse Relocalizationのための設定 NearDeviceCriteria:センサー情報の有効範囲を定義  DistanceInMeters  センサー位置を中心として有効範囲(半径m)  MaxResultCount  一度に検出するSpatial Anchor数
  • 29. Azure Spatial Anchors ~ 基本的な事項 – 設定系(2/2)~ Copyright © 2020 Takahiro Miyaura 29 Corse Relocalizationのための設定 PlatformLocationProvider:センサーの利用条件を設定  GeoLocationEnabled  GPS情報を利用するかどうか  WifiEnabled  Wifi情報を利用するかどうか  BluetoothEnabled  Bluetooth(ビーコン)を利用するかどうか  KnownBeaconProximityUuids  ビーコンを利用する場合のUUIDのホワイトリスト
  • 30. Azure Spatial Anchors ~ 実装:セションの開始~ Copyright © 2020 Takahiro Miyaura 30 //セッションの開始 await CloudManager.CreateSessionAsync(); await CloudManager.StartSessionAsync(); Azure Spatial Anchorsサービスへの接続はCredentials Or リソースから取得 Asset/AzureSpatialAnchors.SDK/Resources/SpatialAnchorConfig セションの生成と開始を実施
  • 31. Azure Spatial Anchors ~ 実装:検索の実施(1/4)~ Copyright © 2020 Takahiro Miyaura 31 //イベントの設定 SpatialAnchorManager.AnchorLocated += AnchorLocated; SpatialAnchorManager.LocateAnchorsCompleted += LocateAnchorsCompleted; SpatialAnchorManager.LogDebug += LogDebug; SpatialAnchorManager.Error += Error; イベントの定義 SpatialAnchorManagerのイベントにメソッドを割り当てる
  • 32. Azure Spatial Anchors ~ 実装:検索の実施(4/4)~ Copyright © 2020 Takahiro Miyaura 32 アンカー検索の実施(非同期) //Anchor取得の開始 CloudManager.Session .CreateWatcher(anchorLocateCriteria); 指定ルールに合致する登録済みSpatial Anchorを検索 配置のタイミングで以下のイベントが発生可能な場合  SpatialAnchorManager.AnchorLocated  SpatialAnchorManager.LocateAnchorsCompleted //範囲を設定 NearDeviceCriteria nearDeviceCriteria = new NearDeviceCriteria(); nearDeviceCriteria.DistanceInMeters = 8; nearDeviceCriteria.MaxResultCount = 25; var anchorLocateCriteria = new AnchorLocateCriteria(); anchorLocateCriteria.NearDevice = nearDeviceCriteria; //センサー利用のための設定 PlatformLocationProvider provider = new PlatformLocationProvider(); provider.Sensors.GeoLocationEnabled = false; provider.Sensors.WifiEnabled = false; provider.Sensors.BluetoothEnabled = true; provider.Sensors.KnownBeaconProximityUuids = new string[] {[uuid],…}; CloudManager.Session.LocationProvider = provider;
  • 33. Azure Spatial Anchors ~ 実装:登録 ~ Copyright © 2020 Takahiro Miyaura 33 Spatial Anchorの登録 通常のGameObjectで位置決めを実施 // アンカー情報の取得 CloudNativeAnchor cna = spawnedObject.GetComponent<CloudNativeAnchor>(); if (cna.CloudAnchor == null) { cna.NativeToCloud(); } CloudSpatialAnchor cloudAnchor = cna.CloudAnchor; //アンカーの寿命を設定(検証では有限に!) cloudAnchor.Expiration = DateTimeOffset.Now.AddDays(7); //アンカーの登録 await CloudManager.CreateAnchorAsync(cloudAnchor);
  • 34. takabrz1 大阪駆動開発 Takahiro Miyaura まとめと考察
  • 35. 現実空間にセンサー情報を可視化する意義 Copyright © 2020 Takahiro Miyaura 35 作業支援として一定の効果はあると考えられる  センサー情報+現実空間(空間認識など)を組合わせるデジタルツインも可能  現物確認が必要なシチュエーションでは可視化による効率化が可能 【Cloud】 センサー情報収集 分析 モデル投影 可視化・・・ 現実空間 現実空間
  • 36. 現実空間にセンサー情報を可視化する意義 Copyright © 2020 Takahiro Miyaura 36 (3,0,5) デジタル空間でのセンサー位置の管理の実現 Azure SpatialAnchorsにより現実空間のセンサー位置をUnityの座標系で管理 設置センサーの後付けや移動による座標情報までDigitalTwinsで管理が可能 (1,2,5) (0,0,0) (3,0,0) (1,2,5) (0,0,0)センサーの移動 (3,0,5) アンカーの移動
  • 37. Azure Spatial Anchorsを中心にDigitalTwinsを実現する手段の紹介 デモの紹介と考察 本日のテーマ Copyright © 2020 Takahiro Miyaura 37 情報の可視化を現実空間で実施 機器メンテナンスを想定して対象の特定、センサー情報を補助空間に出力 【Cloud】 センサー情報収集 分析 モデル投影 可視化・・・ 現実空間 現実空間

Editor's Notes