Upgrade to Pro — share decks privately, control downloads, hide ads and more …

誰でも作成・共有できるARナビゲーション

 誰でも作成・共有できるARナビゲーション

2020/12/10 13:00-13:50 XR Kaigi 2020 コミュニティオーガナイズドセッション「HoloLens MeetUp」の資料です。
https://online.xrkaigi.com/seminars/47

ナビ作成
https://youtu.be/XvwJyh8ywaA

ナビ表示
https://youtu.be/olPPcjvHlmc

iOS版
https://twitter.com/sotongshi/status/1278877352932413440

自動運転
https://twitter.com/sotongshi/status/1220311764723650560

9e4ea8b3f81c2acc322cc6ed0db32be9?s=128

Satoshi Gachi Fujimoto

December 10, 2020
Tweet

Transcript

  1. XR Kaigi 2020 Community Organized Session 誰でも作成・共有できるARナビゲーション

  2. 自己紹介 ガチ本 です co-founder KumaMCN ナレッジコミュニケーション R&D戦略チーム AWS ML コンピテンシーパートナー

    Microsoft Mixed Reality Partner CV / SLAM / WHILL / Python satoshi.gachi.fujimoto @sotongshi
  3. None
  4. None
  5. これまでのナビゲーション 例)Google Maps

  6. ARによるナビゲーション 例)Google Maps

  7. ARによるナビゲーション 例)Yahoo! MAP

  8. 屋内のナビゲーション 例)GoogleMaps 例)ビーコン

  9. これからのナビゲーション As is ・2Dマップ ・3DだけどリアルではないCG ・GPSは使えない ・屋外よりも屋内は複雑 ・家具などの移動、増築やリフォーム ・ビーコンやQRコードの設置 ・計測精度はメートル

    To be • 3Dマップ • リアルのカメラ映像に被せる • GPS連携で屋内外をシームレスに繋ぐ • 複雑なところをARでわかりやすく • マップは随時更新 • 機器の設置はいらない • 計測精度はセンチ以下
  10. ユースケース:大規模複合施設 • 大規模複合施設の増加および構造の複雑化 • 新しい生活様式では、非接触・非対面による案内が必要 • ARナビゲーションにより利便性の向上 • ユーザーに合わせた案内情報の表示 •

    テナント変更時も即時ナビに反映 • 行動データを分析することで顧客理解向上
  11. 誰でも作成・共有できるARナビゲーション(HoloLens2) https://youtu.be/XvwJyh8ywaA

  12. 誰でも作成・共有できるARナビゲーション(HoloLens2) https://youtu.be/olPPcjvHlmc

  13. アプリのフロー • ナビの作成 • 新規作成ボタンを押す • 最初のアンカーを配置(マップ情報が足りなければ周辺を見渡す) • Azure Spatial

    AnchorsからアンカーIDを取得 • 顧客ID、アンカーID、アンカー番号をDBに登録 • 次のアンカーを配置、もしくは保存ボタンで終了 • ナビの共有 • メニューからナビを選ぶ • 周辺を見渡し、アンカーを検索 • 見つかったアンカーを表示 • 終了ボタンで終了
  14. システム構成 • HoloLens2 • Unity 2019.4.1f1 • MRTK 2.4.0 •

    Azure Spatial Anchors 2.4.0 API DB Azure Spatial Anchors
  15. Azure Spatial Anchors • クラウド上にマップを保持し、現在のマップから空間認識し、位置推定する https://docs.microsoft.com/ja-jp/azure/spatial-anchors/spatial-anchor-faq クラウド上の3Dマップ

  16. Azure Spatial Anchors • Azure Spatial Anchors 2.4.0のサンプルシーンにあるBasic Demoを参考 •

    Azure Spatial Anchors Basic Demo Scriptをほぼ真似して使用
  17. ナビの作成 1.「新規作成」ボタンを押す(OnCreateAnchorsを実行) • CloudManager.StartSessionAsyncでセッションを開始 • DBに顧客IDとナビID、ナビ名を登録 • アンカー用のTapToPlaceCubeが生成され、目の前にCubeが現れる • currentAppStateをDemoStepPlacingLocalAnchorに変更

    2.エアタップでTapToPlaceCubeの配置(OnCreateAnchorsを実行) • OnSelectObjectInteractionを実行 • currentAppStateをDemoStepSaveCloudAnchorに変更 • SaveCurrentObjectAnchorToCloudAsyncでクラウドにアンカーを保存 • Azure Spatial AnchorsからアンカーIDが返ってくる • DBにナビID、アンカーID、アンカー番号を登録 • currentAppStateをDemoStepCreateLocalAnchorに変更 DemoStepCreateSession アプリの状態遷移(AppState) DemoStepPlacingLocalAnchor
  18. ナビの作成 3.「次へ」のボタンを押す(OnCreateAnchorsを実行) • TapToPlaceCubeを複製 • currentAppStateをDemoStepPlacingLocalAnchorに変更、2へ 4.「保存」ボタンを押す(OnStopCreateAnchorsを実行) • 配置したTapToPlaceCubeを削除し •

    CloudManager.StopSessionでセッションを終了 • currentAppStateをDemoStepCreateSessionに戻す DemoStepCreateLocalAnchor DemoStepCreateLocalAnchor アプリの状態遷移(AppState)
  19. ナビの共有 1.ナビ一覧からナビを選択 • ナビIDに紐づくすべてのアンカーを取得 • CloudManager.StartSessionAsyncでセッションを開始 • CreateWatcherの実行(アンカーの検索は一度に35個まで) • CreateWatcherで周辺を見渡しアンカーが見つかるとOnCloudAnchorLocatedが

    実行されCubeを表示する • currentAppStateをDemoStepLookingForAnchorに変更 2.「終了」ボタンでナビの終了 • 表示しているCubeを削除 • CloudManager.StopSessionでセッションを終了 • currentAppStateをDemoStepCreateSessionに戻す DemoStepCreateSessionForQuery DemoStepStopSessionForQuery アプリの状態遷移(AppState)
  20. 今後の展望 • アンカーの周りに他のコンテンツを配置 • 3DオブジェクトやPDF、動画、画像など • ブラウザやPowerBI、PowerAppsなどのウェブアプリ • ナビIDを含んだQRコード読み取ることでログインしなくても誰でも共有 •

    ナビの編集(アンカーの位置修正やアンカーを増やしたりなど) 参考まで • iOS版(https://twitter.com/sotongshi/status/1278877352932413440) • 自動運転(https://twitter.com/sotongshi/status/1220311764723650560)
  21. ご清聴ありがとうございました