Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Spatial Anchorsを活用した経路探索の検討
Search
shota-yano
April 06, 2020
Technology
0
1.1k
Spatial Anchorsを活用した経路探索の検討
2020/4/6に開催したKumamoto HoloLens ミートアップ vol.6での登壇資料
shota-yano
April 06, 2020
Tweet
Share
More Decks by shota-yano
See All by shota-yano
Kumamoto HoloLens ミートアップ v7 / KumamotoHoloLensMeetupv7
shotayano
0
280
PowerAppsハンズオン準備 / 20220527_PowerApps_Preparation
shotayano
0
96
PowerAppsハンズオン / 20220527_PowerApps_Handson
shotayano
1
300
Power Automate Desktop ハンズオン / powerautomatedesktophandson
shotayano
0
160
PowerAutomateDesktopハンズオン準備 / PowerAutomateDesktopSetup
shotayano
0
130
Unityt超入門解説編1 / Unity_introduction_about_getcomponent
shotayano
0
120
HoloLens2ハンズオン(MRTKを触ってみる) / hololens2_and_mrtk_demo_handson
shotayano
1
360
HoloLens2開発環境構築 / dev-env-construction-for-hololens2
shotayano
0
230
Azure CustomVision ハンズオン
shotayano
0
160
Other Decks in Technology
See All in Technology
比起獨自升級 我更喜歡 DevOps 文化 <3
line_developers_tw
PRO
0
150
Rubyで作る論理回路シミュレータの設計の話 - Kashiwa.rb #12
kozy4324
1
260
New Cache Hierarchy for Container Images and OCI Artifacts in Kubernetes Clusters using Containerd / KubeCon + CloudNativeCon Japan
pfn
PRO
0
150
"SaaS is Dead" は本当か!? 生成AI時代の医療 Vertical SaaS のリアル
kakehashi
PRO
3
190
工具人的一生: 開發很多 AI 工具讓我 慵懶過一生
line_developers_tw
PRO
0
140
Model Mondays S2E01: Advanced Reasoning
nitya
0
330
IIWレポートからみるID業界で話題のMCP
fujie
0
180
Grafana MCP serverでなんかし隊 / Try Grafana MCP server
kohbis
0
340
Tensix Core アーキテクチャ解説
tenstorrent_japan
0
360
CIでのgolangci-lintの実行を約90%削減した話
kazukihayase
0
210
脅威をモデリングしてMCPのセキュリティ対策を考えよう
flatt_security
4
1.6k
kotlin-lsp を Emacs で使えるようにしてみた / use kotlin-lsp in Emacs
nabeo
0
150
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Producing Creativity
orderedlist
PRO
346
40k
Side Projects
sachag
454
42k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
4 Signs Your Business is Dying
shpigford
184
22k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Rails Girls Zürich Keynote
gr2m
94
14k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
Optimizing for Happiness
mojombo
379
70k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Transcript
Spatial Anchorsを活用した 工場内倉庫での経路案内の検討 2020/4/6 KumaMCN 矢野翔大
自己紹介 • 矢野翔大 • KumaMCN • 株式会社KIS • 製造業向けのMESシステム作ってます •
xR全く関係ない仕事です • 最近やったこと: • Dynamics365 Guides + Field Service • StandardShaderを少し StandardShader Dynamics365 Guides @Shota7Y
Spatial Anchorsについて
Spatial Anchorsとは • 現実の空間にデジタル情報を固定する • 空間の特徴点を利用 • ARのマーカーのようなもの • 特徴が一致した場所にデジタル情報を表示
• マルチデバイスでシェアリング可能 • Hololens • Android(ARCore) • iOS(ARKit)
Spatial Anchorsを使ったシナリオ 空間共有 道案内 IoTへの活用
Spatial Anchorsを使ったシナリオ 空間共有 道案内 IoTへの活用 今回はこれに注目
Spatial Anchorsで経路案内にチャレンジ
経路案内をやろうと思ったきっかけ • 仕事で製造業のシステムを開発してる • 製造・流通の現場として工場や物流センターに行くことがある • 工場内は歩ける経路が決まっている • システム保守やピッキング作業で工場や倉庫内を歩き回るのに使えると面白そう ⇒会社で今期の研究開発のネタにしたい
※やりたい人が好きに研究開発していい制度があって丁度良い ※会社がやってない分野でもOK ※実地テストとかは個人より会社としてのほうが都合が良い
事前にやったこと • チュートリアルやる • MRTKのチュートリアルをやる • https://docs.microsoft.com/en-US/windows/mixed-reality/mrlearning-asa-ch1 • 結構きれいにまとまっててめっちゃわかりやすい(個人の意見です) •
基本的なことはこれだけやればだいたい理解できた • 公式ドキュメントとサンプルを見る • https://docs.microsoft.com/ja-jp/azure/spatial-anchors/ • これで近くのアンカーを探すデモが役に立った
今回試したこと • 4つのアンカーを登録 • 2ルート作成 • ルート1:1→2→4 • ルート2:3→2→1 1
2 3 4
ルート1 1 2 3 4 4 2 2 1 ※写真は実際に検索したときのもの
ルート2 1 2 3 4 3 2 2 1 ※写真は実際に検索したときのもの
MRTKのチュートリアルを参考にしました
アンカー登録の仕組み ③登録 ④ID払い出し ②空間特徴点取得 ①アンカー設置 SpatialAnchor
アンカー検索の仕組み ④アンカー設置 ③空間特徴点取得 ①IDで検索 ②データ受信 SpatialAnchor
特定ルートのアンカーを探そうとして躓いた… • NearAnchorCriteriaクラス • ソースアンカー • 距離 • 最大数 ※特定アンカーの近くのアンカーを検索
ルート1のアンカーを取得したい • ソースアンカーはアンカー1 →結果:全アンカー取れた ※アンカー3はいらない…どうすれば? 1 2 3 4
ウェイファインディングについておさらい
ウェイファインディングについておさらい 書いてあることは理解できるけど、 実際どうやるんだろう・・・?
ウェイファインディングについておさらい なるほど!
NearAnchorCriteriaクラスは使えない? • ルート1と2の共通アンカーがある • アンカー1 • アンカー2 1 2 3
4
NearAnchorCriteriaクラスは使えない? • ルート1のアンカーを登録 • アンカー3は登録しない 1 2 3 4
NearAnchorCriteriaクラスは使えない? • アンカー3だけ登録 • この場合他とリンクされない • 経路案内の場合リンクは必須 1 2 3
4
NearAnchorCriteriaクラスは使えない? • アンカー2を取得後3を登録 • アンカー2と3がリンクされる • アンカー2は全部とリンクしてる? • ちゃんと確かめる必要がありそう 1
2 3 4
NearAnchorCriteriaクラスは使えない? • アンカー2を取得後3を登録 • アンカー2と3がリンクされる • アンカー2は全部とリンクしてる? • ちゃんと確かめる必要がありそう 1
2 3 4 後日談というわけではないですが、 ミートアップ後「このリンク」に関する認識は違うことがわかりました。 ※@takabrz1さんに教えていただきました。感謝!
とりあえず今回はIDでアンカーを検索 • アンカーIDをすべて保存 • Table Storageに放り込む • CosmosDB(無料版)でもいい • ルートに必要なIDを配列でもつ
• ルート1:1,2,4のID • ルート2:3,2,1のID ※配列の作り方は次のスライドで • 対象ルートのIDをもとに検索 • 中継点が増えると検索回数も増える 1 2 3 4 ↓Table Storageの中身
マップを作る 1 2 3 4 ID From T0 1 アンカー1
アンカー2 2 アンカー2 アンカー4 3 アンカー3 アンカー2 4 アンカー2 アンカー1 5 アンカー2 アンカー3 ルートに必要なIDの配列を作るために • 繋がってるアンカーをテーブルに入れて整理 • ダイクストラ法で最短の経路を探索 • 出発地点 • 目標地点 • 重みは1 • 検索結果でヒットしたIDを配列に入れる ↓テーブルイメージ
• MRTKのチュートリアルは最初の一歩に最適 • 経路探索には使える • ただし、異なるルートで共通したアンカーをつか場合は注意が必要 • とりあえず経路探索はこの4ステップでやる • 使うアンカーを全部登録する
• アンカーのつながりをFrom/Toで整理する • ダイクストラ法で最短経路を検索し、必要なIDを取得 • 取得したIDをもとにアンカー検索 まとめ
• アンカー増やして複雑な経路にする • QRコード読み取り • 出発地点 • 目標地点 • リストのQRで目的地を検索したい
• 既存運用に載せる場合紙がまだ多い • 多分小さいQRはHololensではまだ読めない? • QRスキャナを別にするか、全部WEBアプリにするか… • 実地テストしてみたい XXX作業リスト 作業番号:abcdef ピッキング品 品目A 数量 ロケーション 10 Location01 品目B 15 Location04 品目C 8 Location07 今後試したい
ありがとうございました (HoloLens2が早く欲しい)