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
M5Stackハンズオン概要
shotayano
0
49
Kumamoto HoloLens ミートアップ v7 / KumamotoHoloLensMeetupv7
shotayano
0
290
PowerAppsハンズオン準備 / 20220527_PowerApps_Preparation
shotayano
0
97
PowerAppsハンズオン / 20220527_PowerApps_Handson
shotayano
1
320
Power Automate Desktop ハンズオン / powerautomatedesktophandson
shotayano
0
160
PowerAutomateDesktopハンズオン準備 / PowerAutomateDesktopSetup
shotayano
0
140
Unityt超入門解説編1 / Unity_introduction_about_getcomponent
shotayano
0
120
HoloLens2ハンズオン(MRTKを触ってみる) / hololens2_and_mrtk_demo_handson
shotayano
1
370
HoloLens2開発環境構築 / dev-env-construction-for-hololens2
shotayano
0
230
Other Decks in Technology
See All in Technology
2025年になってもまだMySQLが好き
yoku0825
8
4.8k
2025年夏 コーディングエージェントを統べる者
nwiizo
0
180
プラットフォーム転換期におけるGitHub Copilot活用〜Coding agentがそれを加速するか〜 / Leveraging GitHub Copilot During Platform Transition Periods
aeonpeople
1
180
S3アクセス制御の設計ポイント
tommy0124
3
200
DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to-tech-decision-makaing-devio2025
nologyance
1
450
Unlocking the Power of AI Agents with LINE Bot MCP Server
linedevth
0
110
【NoMapsTECH 2025】AI Edge Computing Workshop
akit37
0
220
株式会社ログラス - 会社説明資料【エンジニア】/ Loglass Engineer
loglass2019
4
65k
JTCにおける内製×スクラム開発への挑戦〜内製化率95%達成の舞台裏/JTC's challenge of in-house development with Scrum
aeonpeople
0
240
Android Audio: Beyond Winning On It
atsushieno
0
2.4k
初めてAWSを使うときのセキュリティ覚書〜初心者支部編〜
cmusudakeisuke
1
270
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
2
990
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
920
Building Adaptive Systems
keathley
43
2.7k
Scaling GitHub
holman
463
140k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
For a Future-Friendly Web
brad_frost
180
9.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
A Tale of Four Properties
chriscoyier
160
23k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
The World Runs on Bad Software
bkeepers
PRO
70
11k
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が早く欲しい)