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
110
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
S3 Tables を図解でやさしくおさらい~基本から QuickSight 連携まで/s3-tables-illustrated-basics-quicksight
emiki
1
330
Cursor Meetup Tokyo
iamshunta
1
310
面接を通過するためにやってて良かったこと3選
sansantech
PRO
0
130
SmartHRの複数のチームにおけるMCPサーバーの活用事例と課題
yukisnow1823
2
1.2k
GoogleのAI Agent
shukob
0
130
AIオンボーディングとAIプロセスマイニング
nrryuya
5
1.3k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
360k
AIの電力問題を概観する
rmaruy
1
210
ローカル環境でAIを動かそう!
falken
PRO
1
170
CSS polyfill とその未来
ken7253
0
140
いまさら聞けない Git 超入門 〜Gitって結局なに?から始める第一歩〜
devops_vtj
0
160
GigaViewerにおけるMackerel APM導入の裏側
7474
0
460
Featured
See All Featured
Code Review Best Practice
trishagee
68
18k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.8k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
For a Future-Friendly Web
brad_frost
178
9.7k
Statistics for Hackers
jakevdp
799
220k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Building Applications with DynamoDB
mza
95
6.4k
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が早く欲しい)