本日はイベント枠です。
6月の頭Microsoft社によるMixedReality関連のワールドワイドなイベントMRDevDaysが開催されていました。
実は開催前の5月ごろMicrosoftの方より筆者のYoutubeに挙げている動画を参考動画としてセッションで使用してもよいか?というようなDMがありました。
筆者はもちろんOKを出したのですが、残念ながらMRDevDaysが平日の日本時間で深夜であったこともあり、見逃していました。 先日MRDevDaysの全セッションがYoutube上で公開されたので改めて内容を読み解いていきます。
〇MRDevDaysセッションMoving Platform Mode
Joshua Elsdonさんは今回DMで動画の使用をコンタクトいただいた方で、Microsfot researchで働いておられるようです。
〇MovingPlatformModeとは?
HoloLens 2で移動する環境での使用を円滑にするためのHoloLens 2に備わったモードです。
スライドでは
Moving Platform Mode(MPM) aims to allow HoloLens 2 to track well within moving environments ムービングプラットフォームモード(MPM)は、HoloLens 2が移動する環境下でもうまく追跡できるようにすることを目的としています。
〇移動環境(MovingPlatform)とは?
移動環境とは車や船などの乗り物だけではなく、高層ビルの高層階、などあらゆる動きのある場所を指します。
わずかな揺れでも発生する環境では従来ホログラムが安定しないことがあり、これを解消するためにMPMは使用されます。
〇MPMの開発タイムライン
MPMは2019年に先行的に使用が可能になったHoloLensの中でも新しい機能です。
セッションでは開発においてのタイムラインが共有されました。
開発自体はCOVID時代の2020年から2年かけチューリッヒAIとMicrosoftの本拠地があるRedmondのMixedRealityチームの合同により始まり2021年10月にコミュニティからの情報収集を目的としてインサイダービルドで先行的にリリースされました。
筆者が最初に触ったのもこのタイミングになります。
最初のリリースではデバイスポータル経由でのみ機能を使用することができるものでしたが、22年の2月にアプリ内で使用可能なAPIやMDMプロファイルなどと一緒にフルリリースとしてHoloLens 2自体の設定画面でオンオフができるようになりました。
また5月にはMicrosoftとのパートナーとの実験の詳細が公開されました。
〇MPMの仕組みと種類
MPMによってどのような話題が解決されるか?
HoloLens では前頭部に搭載されている合計4つの環境カメラによって周囲の環境を計測しています。 また、それとは別にIMU(加速度センサー)によっても自己位置を推測しています。
これらはSLAMに使用されていますが、これらのいずれかの情報をもとにより信頼性の高い情報を使用することで高性能なSLAMを実現しています。
具体的には精度の面ではカメラのほうがより高速であるようですが、遅延という点ではIMUに利点があります。 そのためIMUによって細かいフレームの位置情報をとり、カメラで補完しているようです。
これは逆のことも言え、カメラで行うSLAMのフレームレートの間をIMUで補完しているとも言えます。
このSLAMの問題点として、管制が常にかかっている環境・・・つまりMovingPlatformにおいてIMUは運動量を常に計測していますが、カメラは移動しない空間をとらえているという各部センサーの誤認が生じることでSLAMのアルゴリズムが失敗し、ホログラムが安定しないという現象が発生します。
これは人間で例えるとすると船酔いやVR酔いに近い現象がHoloLensのSLAMシステムで発生しているということを指します。 これらも体には加速度が加わっていますが、自分自身の見ている映像は固定されています。 VR酔いの場合は逆で自分自身の見ている映像は動いているにもかかわらず、本来感じるはずの加速度は感じることはありません。
MovingPlatformModeでは慣性形をカメラとIMUでそろえるアルゴリズムが動いています。
これはデフォルトのアルゴリズムと比べLOSTが発生しにくいようになっていますが、逆に静止環境では自分自身の移動に応じてホログラムも移動してしまうことがあるなど、不具合が発生することがあります。
これがMovingPlatformModeがデフォルトのSLAMシステムに置き換わらない理由です。
ユーザーや開発者自身が環境を想定し任意に切り替えて使用することになっています。
〇MPMの使用法
現時点では3つの方法でMPMを使用する ことができます。
方法 | 説明 |
---|---|
MDM | 組織の管理者が管理しているデバイスで実行します。 |
Unity SDK(API) | アプリ内でアプリ開発者が使用を促します。また状況を取得できます。 |
Settingアプリ | HoloLens内でユーザーが自由にオンオフできます。 |
これらを使い分けるうえで、重要なことが誰がデバイスを管理しているのか?という点です。
例えば船会社に所属している人が、船舶内で常に使用することを想定している場合、MDMによって管理することで不意にユーザーがオフにしてトラッキングが飛んでしまうトラブルを未然に押されることができます。
たとえば開発者がそのアプリを移動環境で使用する前提で開発している場合はAPIで呼び出すことによってアプリを使用してアプリ内から変更できます。
最後にユーザー自身がこの機能を知っている場合任意で切り替えることであらゆる状況に対応できます。
本日はここまでです。 元のセッションが英語のものなので翻訳しながらにはなりますが、続きも読み解いていきます。