2022/7/16 Kuamoto HoloLens ミートアップ登壇資料
KumamotoHoloLens ミートアップ
View Slide
矢野 翔大【会社】• 株式会社KIS• エンジニア• 生産管理システム構築【コミュニティ】• KumaMCN【最近やってること】• 飯グラメトリ• リアルアバターで遊ぶWIDAR リアルアバター
生産管理システムにMR機能を雑にくっつけてみた
HoloLensの活用幅広がってきてる• メタ―バース• デジタルツインとか
HoloLensのいいところ• 両手フリー• 製造業と相性いい
ただ一方では• Unity等でフルスクラッチが多い• どうしてもリッチなコンテンツ作りたい場合はUnity等が必要• 既存のパッケージアプリとの分断• 分断そのものが悪いわけではない• 既存パッケージアプリのリソースが使いにくい
理想• パッケージ製品側でMRのモジュールを内包してくれること• これからの時代はMR必要だよねって組み込んでくれるパッケージの領域 MRのモジュール
現実• MR機能なんて必要条件でもなんでもない• 別になくてもなんら困らないパッケージの領域 MRのモジュール超えるのが大変な壁
どうにかして理想に近づけたい• ほんのちょっとでも近づけたいパッケージの領域 MRのモジュール超えるのが大変な壁
なので試してみた• 既存の生産管理システムにどうにかしてMR機能くっつけたい• どうにかこれくらいにならないかパッケージの領域MRのモジュール
生産管理システム• 計画、生産、在庫、品質などを統合的に管理するシステム• 今回は製造業向けの生産管理を想定• DELMIA Aprisoを使用• ダッソー・システムズが開発してるパッケージ• 生産管理だけでなくいろいろやれる• Webアプリ側として使用• MR機能は当然ない Apriso
まずは簡単なとこからちょっとずつ試していく• Step1:PC画面の単純な置き換え• Step2:Unityから画面を呼び出してみる• Step3:モバイルの業務を置き換えてみる• Step4:ピッキングの業務にMR機能をくっつけてみる
Step1:PC画面の単純な置き換え• HoloLensのブラウザ(Edge)でWebアプリにアクセスするだけ• 単にWebアプリが動くかどうかの動作確認• Aprisoパッケージの動作サポート対象• Windows 10 ⇒ サポート対象• Windows Holographic ⇒ サポート対象外• Windows10をベースにしたHololens 専用エディション
Step1デモ
Step1:結果• 単純な機能だけなら特に問題なさそう• WEBブラウザで表示できる範囲内であれば
Step2: Unityから画面を呼び出してみる• QRコードを使ってStep1で表示した画面を呼び出す• QRコードは1.5cmのものを用意• HoloLens2標準では5cm未満のQRは読めない• QRコードリーダを使う• 両手フリーを保つため指輪型を使う
Step2デモ
Step2: 結果• QRリーダーから1文字ずつ送信されるので注意が必要• キーボードと同じ扱い• 全ての文字が送信完了する前に次の処理をやるとエラーになる• URLが不完全なままブラウザでアクセスしようとするため• 読み取ったURLは表示していなかったがエラーになるので表示させたら発覚した• 処理の途中でブラウザ開こうとしていた• 画面表示自体は問題ない• 設備にQR貼って現場で設備の稼働状況を見たりもできそう(Iot的なやつ)
Step3:モバイルの業務を置き換えてみる• 入荷業務を試す• QRから入荷業務に使用する画面を呼び出す• バーコードを読ませて入荷報告を行う
Step3デモ
Step3:結果• 特に問題なく使えそう• バーコード読み取るスピードも速いので極端に効率が落ちることもない• QRリーダーがバーコードも読めるので1台2役可能• Hololens2には標準でバーコードを読む機能はない
Step4:ピッキングの業務にMR機能をくっつけてみる• 画面はWebアプリをそのまま利用• 保管場所の道案内をMRでやる• Azure Spatial Anchorを使用• 空間認識を使って在庫を保管している棚までの道を表示• 2年前のKumamoto HoloLensミートアップでやったやつの改良版
ピッキング作業とは• 何か作るときに必要な物を倉庫から取ってくる作業• 作るものによって必要なものも数も変わる• 作業者は紙とかタブレットとか使って指示情報を見ながら作業する
Azure Spatial Anchorsとは• 現実空間の特徴点を使ってアセットの配置を行う• 特徴点情報とアセットをセットでクラウド管理する
構成イメージ• 必要な情報はブラウザで見つつ、MRで道順を出すWebブラウザピッキングの情報を表示DBAprisoのパッケージの領域Azure Spatial Anchors・アンカーのID・棚番の情報・現在の位置などMRの領域※道順の表示
マップは事前に作成する• 棚と通路の要所にアンカーを設置• QRとその周辺の空間の特徴点を記録• アンカーIDはDBに格納• 保管場所データと紐づけ• 現在地を知る方法• 近くの空間を見て検索• 近くのQRを読む• 目的地を知る方法• ピッキング指示から取得L1L2L3L4L5L6L7L8L9L10L11L12L13L14L15L16保管場所(ロケーション)
Step4
Step4:課題• 同じ情報を見せるための同期方法Webブラウザピッキングの情報を表示DBAprisoのパッケージの領域Azure Spatial Anchors・アンカーのID・棚番の情報・現在の位置などMRの領域※道順の表示・アンカーID・アセット
Step4:結果• 同じ情報を見せるための同期方法が課題Webブラウザピッキングの情報を表示DBAprisoのパッケージの領域Azure Spatial Anchors・アンカーのID・棚番の情報・現在の位置などMRの領域※道順の表示画面操作(更新処理)⇒次のデータを表示更新されない⇒前のデータのまま・アンカーID・アセット
Step4:結果• 同じ情報を見せるための同期方法• 単純にそれぞれでボタン操作するか• 一定時間でDBアクセスしてデータの変更検知して自動で表示更新するか• パッケージ側からプッシュするものを独自に作るかなどちょっと考えないといけない
まとめ• Webアプリであればうまいこと組み合わせて使うことは出来そう• UXの設計はこれから• Unityで作らなくていいところは極力作らない• リソースをうまく利用して時間を削減• MR機能の部分に注力する• 生産管理のDBアクセスは可能ならAPI化しておく• パッケージの領域なのでUnity側で直接書くよりAPI化しておいた方が良い• 事前にSpatial Anchorsのマップ情報作るのが大変• 現場ごとに作っていく必要がある
【余談】ふと思ったこと• そもそもSpatial Anchorsを使うのがいいのか?• 倉庫内の棚は基本的に動かない• 保管するものは変わっても棚そのものは動かない• 保管場所ごとにQRを1つつけた時点で平面座標と向きが決まる• QRリーダーではなくHololens2標準機能を使うという選択肢• HoloLens2 の場合QRの正面を向き、かつ近づかないと小さいQRは検出が難しい• このデメリットを逆に考えるならQRに対するHoloLensの相対値がほぼ決まる(はず)• QRの座標と向きとHoloLens2 の相対位置が決まれば平面座標の特定は可能• QRの位置も3次元的に持てば理論上3次元マップの作れる• Spatial Anchors使わず論理マップだけで道案内できるのでは?• 検証してみる価値はありそうL1Hololens2QR検出距離:0.15~0.5M角度:±45度
END