メインコンテンツへスキップ
見出し画像

HP Reverb G2 Omnicept Editionを札幌で預かった話

    こんにちは、じゅんです。
    Hokkaido MotionControl Network (#DoMCN)というHoloLens・VR技術好きの技術者コミュニティの勉強会を運営していて、開発者の知見の交流を促進しています。また、元・物性研究者として、研究機関に所属する若手研究者でxRに興味を持つ人を見つけてはHoloLensを被せに行き、開発者コミュニティへの橋渡しを行う事を続けています。これらを適切に表現する職名が無いので、勝手にScientist/Developer Relations と名乗っています。

     2月の記事で紹介したHP Reverb G2 (以下、G2無印)の動作検証(↓のリンク)に引き続き、一般未流通の(北米では一昨年販売開始済み)の法人・研究機関向けヘッドマウントディスプレイHP Reverb G2 Omnicept Edition(以下、Omnicept)をお借りすることが出来ましたのでまとめておこうと思います。今回は地元でのお触り会が年度明けの混乱もあってできなかったので、ハック遊びは次回以降のレンタルの時に持ち越しです。
     今回もご対応いただいている日本HP 島﨑さんに感謝申し上げます。なお、法人であればHP社のお問い合わせページでOmnicept Editionを購入可能になっています(注:オンラインストアではありません)。


    企業向けレンタルからコミュニティ向けレンタルへの拡張

    #XRMTG  
    XRミーティング本編では言ってなかったですが関係各所と確認が取れたので公開です('ω')
    そろそろHP #Reverb G2 Omnicept Edition(センサーてんこ盛りバージョン)が検証用にさわれるようになりそうです。
    .@SakuraShimazaki さんが調整されているので続報に期待っす https://t.co/IFZlr32C7J pic.twitter.com/OX12DBmDTe

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) February 17, 2022

     前回のReverb G2貸し出しの時に、Omnicept Edition貸し出し先の候補探しも実は並行で行われていました。先にニーズがあったホロラボさんにいったん案内をさせていただき、そちらでの社内検証が終わったのでハードウェアが札幌に届くことになりました。
     (なお、ここで今回紹介する同梱物はデモ用なので正式発売後の同梱物とは異なる可能性があります。後日正規のものを手に入れた方はそちらのガイドに従ってみてください。)

    My New Gear...
    HP Reverb G2 Omnicept Edition
    (瞳孔・心拍センサ、フェイスカメラの付いたバージョン)
    日本HP .@SakuraShimazaki さんから体験デモ会用にお借りしております(発信許可確認済み)
    これから手元でちまちまセットアップしていこうと思います✌︎('ω'✌︎ )#ReverbG2 #DoMCN #HP pic.twitter.com/xx35ggnkbh

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) April 1, 2022

     上のツイートに、Omnicept関連で私がチェックした内容をすべてツリー形式で雑にぶら下げてありますので興味のある方はそちらに飛んでみてください。その中で役立った項目のつぶやきなどありましたらRTなどして頂けると嬉しいです。コミュニティ向け需要の発掘のためにもぜひぜひご協力おねがいします。

    装着者の挙動をPCに送るセンサてんこ盛りデバイス

    #XRKaigi
    .@SakuraShimazaki さんのセッション
    HP Reverb G2 Omniceptのセンサーなどまとめ
    心拍
    フェイスカメラ
    IMU pic.twitter.com/NtutruUBGz

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) November 16, 2021

     OmniceptにはIMU、フェイスカメラ(鼻と口)、心拍測定センサ、アイトラッキングセンサなどが仕込まれています。これらのセンサによって、通常のインサイドアウト型VRゴーグルで行われている自己位置検出と全く別系統で装着者からのデータをPCに送るようになっています。VR空間内で直面した出来事などによっておこる装着者のパフォーマンス変化を調べるためのツールとも言えます。また言い換えると、Vtuberの動きの生々しさを作り出すツールにもなりえます。まばたきとか視線が連動するのでちょっとドキッとします(後述)。

    ちょっと時間ができたので #ReverbG2 Omnicept Edition開封の儀を始めた

    PCとの通信用はUSB-CとDisplay Portの2本。ゴーグルへの中継器は外部電源必要なタイプで無印版の新型とたぶん同じ

    フェイスカバー外すと技適表示
    フェイスクッションのおでこ部分で心拍データ取るための端子が仕込まれてる pic.twitter.com/fjKPtcn2GI

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) April 8, 2022

     ゴーグルから生えるケーブルは計三本です。駆動用電源のACアダプター、PCへの情報通信用のUSB Type-Cコネクタ、 映像信号表示用のDisplayPortです。この構成はG2無印版と一緒です。
     技適表示がちゃんと書いてあったので、日本でも売ってくれるつもりがあることが分かり、密かに安心しました。

    続き
    繋いでみるよ
    無印のときの変換アダプタと微妙に形違う

    あと後頭部固定するパーツにダイヤルが付いて、ここを回して締めたり緩めたりの方式に変わっている pic.twitter.com/H6AmNJJYRU

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) April 9, 2022

     ヘッドストラップの構造が変更されていました。以前はこめかみ近くのベルクロを留めて左右のバンドの長さを調節する形式でしたが、今度のは後頭部のダイヤルを回すと左右のバンドが同時に長さ調節できるタイプになりました。コントローラは前と同じタイプのように感じました。

    #Reverb G2 Omniceptのコントローラのトラッキング範囲の確認
    VRChatの鏡でロストするとこを調べたら正面向いてる時に真上真下に弱点がある以外はほぼ取れてた。
    自分の視界のちょい外に手先が来てもOK。
    去年10月に発表されてたG2無印の改良版のトラッキング範囲がおそらく継承されてるのだろう('ω') pic.twitter.com/wVT6u1q4Wt

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) May 3, 2022

     コントローラのトラッキング範囲が初期型のG2無印よりかなり改善しました。VRChatのスタート地点に置いてある鏡を正面に捉えた状態で自分の両手をうごかし、アバターの両手の軌道が非連続に動くところ(ロストする領域)を調べている様子です。顔の正面より上方向と、真下で見失っています。以前のG2無印(初期型)の検証では、腰の高さに来たコントローラはだいたい見失ってしまっていたので、それに比べて死角が本当に減ったことが分かりました。

    せっかくなので開発の真似事もしてみた

     ここまではビューアとしての変化を調べていましたが、現状ではセンサに対応した公開アプリなどは知らないため、Unityでの通信の確立までを試してみる事にしました。

    この感じは、こないだハンズオンで扱ったHolo-SDKを動かすときの雰囲気に似ている気がする
    開発者登録をしてSDKとID、Keyを紐付けるやつでしょ(適当解釈) pic.twitter.com/5QwUx9fviZ

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) April 9, 2022


    画像
    XRミーティングの時は簡素化したかったので露わに書かなかったけど
    ①のダウンロードをするために②の開発者登録が先に必要

    ①SDKの導入

     開発者サイト(https://developers.hp.com/omnicept)に行き、開発者登録をして、センサ類をプロジェクト内で動かせるようにするためのSDK(2022/5/3時点でver1.13.1)をダウンロードします。Setupファイルからインストールして、インストーラの最後に出てくるチェックボックスにチェックを入れて終了です(これを忘れてPC二台目のセットアップでハマった)。

    SDKをゲットする段階
    たぶんRuntimeも内蔵されてるっぽい pic.twitter.com/mL9N7iU7mH

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) April 9, 2022

     Unityプロジェクトを新規で作って、Assetsのインポートをします。テストで試したUnity Editorのバージョンは2020.3.33f1を選んでみました(2022/4/10時点)。

    プロジェクト作成
    AssetsにUnity用パッケージをインポート
    Gliaというのが入る pic.twitter.com/Lwy2zhOt3g

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) April 9, 2022

    ②アプリ用のCliant IDとアクセスキーの発行

     HPのサイトの開発者コンソールのマイページからアプリのSDKに組み込むためのCliant IDとaccess keyを発行します。

    Cliant IDなるものを作るらしい
    この時にアプリ名と会社名(アカウント登録の時につかったやつ)がいる pic.twitter.com/PEO3cE7cV2

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) April 9, 2022


    ③UnityプロジェクトにIDとキーを組み付ける

     作ったプロジェクトのOmnicept設定を開くとIDとキーに対応する二か所の入力欄が空欄になっているので、②で発行したIDとキーを入力すると、そのキーに対応したライセンスのセンサ情報取得の準備が終わります。
     ヘッドセットのセンサと具体的な通信のやりとりを担当してくれる部品がインポートしたAssetsの中にprefabとして出来ているので、それをシーンに配置してやればOKです。

    メニューバーのHP Omnicept-Configureを開くと入力フォームが出てくる
    ココのCliant IDとaccess keyの欄に、Developerページでさっき作ったCliant ID とaccess key載ってるのでコピペしてOKして閉じる
    プロジェクトもセーブ pic.twitter.com/6I9lTbUOqz

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) April 9, 2022

    Glia-PrefabsからHP Gliaをシーンに追加する
    これがセンサの値を取るのに必要なものらしい

    空objectを置いてDebugと命名
    Add ComponentでDebug Print Messagesをくっつける
    これが状況を教えてくれる部品らしい
    たしかにそれっぽい pic.twitter.com/9O7iRM1MVc

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) April 9, 2022

    ④うごかす

     導入説明ビデオの手順に従って、センサーから取得した値をログで吐き出すアプリをひとまず作りました。実行プレビューを開始した時に、初回にのみ画面に現れる↓の許可画面でAcceptをすると、作成したアプリとヘッドセットの信号が開通して、Unity内にログが流れてくるようになります。

    チュートリアル動画では特に言及が無かったのだけど、Playしたときに動き始めるOmnicept TrayってアプリにAcceptを出さないとログは流れてこなかった
    備忘録として書いとく pic.twitter.com/pAUElmhDbJ

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) April 9, 2022

    テスト
    Play直後にこの2行がConsoleに流れてきたら通信OKらしい pic.twitter.com/j1XNtaFxTZ

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) April 9, 2022

    実行中はビカーって光る
    おでこ部分は心拍測定用の非接触センサー pic.twitter.com/Tnsg9dvOHW

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) April 9, 2022

    cognitive loadの項目は被って12秒くらいしてからデータが流れてくるらしい

    うまく行ったらしい('ω')✨
    ところでcognitive load イズ 何?('ω')? pic.twitter.com/oijgRmTyhp

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) April 9, 2022

    ⑤ハマったところ

     ①のSDKインストールの最後に出てくるこの画面の規定値が空になっているのですがこのことに気づかずにインストーラを閉じた場合、センサ情報の取得がすべてOFFのままになります(④は通信の流れのバルブみたいなもので、⑤は元栓が開いてるかどうか)。28日のイベントに持ち込もうとノートPCにセットアップしてみた所うんともすんとも言わなくなってて泣きました。センサを使うためのSDKを入れていった結果デフォルトがOFFって、直観と合わないので、これに気づくまでにだいぶ時間がかかりました。
     現在のセンサの状況確認・変更には、Windows ツールバーアイコン領域にHP Omniceptってメガネアイコンが居るのでそこから設定画面に飛ぶことが出来ます。

    いったんSDKを削除→再インストール&チェックボックス入れ忘れの再現
    なるほどこの時点でセンサオフがデフォルトだから最初にノートで動かなかったのか('ω')
    やはりNext連打は良くない pic.twitter.com/stCSJmGP3d

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) May 3, 2022

     ちなみに初回の後のSDK修復コマンドでは、取得可否を訊いてこないので、↑でハマってるとここでも気づくことが出来ませんw

    残りの検証
    SDKの修復 pic.twitter.com/pgnPToLso8

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) May 3, 2022


    サンプルツールを動かして遊んでみた

     開発者サイトのDownloads-Toolsのところ(https://developers.hp.com/omnicept/downloads)にOmniceptの機能をいろいろ使ったサンプルプログラムが置いてあります。これらをダウンロードして動かして遊んでいました。もちろん各アプリは、初回起動時に通信許可をOmniceptに対して出しておく必要があります(④の手続き)。

    サンプルツールをダウンロード中
    目のセンサと口のカメラを動かしてるところを見たい pic.twitter.com/uVYtjAzprK

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) April 10, 2022

    おまけ
    アイトラッキング用キャリブレーションの様子
    センサの中心付近に目の高さが来るように装着位置を合わせたら、正対位置見ながらIPD調整、その後キョロキョロタイム

    動画でわからないけど、マイ眼球動かせるギリギリまで遠いくらいのターゲットを見つめさせられるので精度は良さそう pic.twitter.com/Ues9k94C8s

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) May 6, 2022

    Omnicept用のサンプルアプリの中から、生体データ+瞳孔追跡+口カメラの物を見つけた

    かぶって目線だけキョロキョロしてるけど伝わりにくいw

    このプログラムでは瞳の上下方向の表示にHMDのIMUからの値も取ってる気がする

    口カメラは赤外線カメラなので暗闇でも同じ視え方。リモコン信号はビカビカ pic.twitter.com/XhL3CII8kw

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) April 10, 2022

    センサの動きとかを再検証中
    デスクトップPCではうまくセットアップ出来てたのが確認できる pic.twitter.com/JdqU7PdrPs

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) May 3, 2022

    Omnicept Tray Appがアプリの通信を許可している状態にしないと正しく動作しないので初回動作には本当に注意 二回目以降はスッとうごく pic.twitter.com/rcF2mxAOst

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) May 3, 2022

    おまけ②
    SensorDiagnostics(センサ診断?)ツール
    通信確認ができたら(中央)、右側に視線検出、左側フェイスカメラの確認パネルが出る。

    視線検出の方は青い円がワイの視線位置を示す
    フェイスカメラは赤外線カメラの映り具合確認するだけ。

    通信失敗してたら中央のゴーグルが赤発光してNGサイン pic.twitter.com/Jn3ybDWptg

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) May 6, 2022

    引き続きサンプルツールでGazeの確認
    ゴーグル内部の視線検出センサと、ゴーグル内部に仕込まれたIMUがそれぞれ独立に動作
    見下ろし視線・上目遣いができた

    自分の動作とアバターのおっさんが連動する pic.twitter.com/VzrRLwA0rI

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) May 3, 2022

     口の動きを見て動作に反映させるSDKは今のところ見つけられずにいましたので、フェイスカメラの動作検証は赤外線カメラの映りの確認のみになっています。現時点でも、簡易のVtuberシステムに応用のありそうな目線・まばたきなどの動作確認にはなりました。ウインクとかも余裕で出来ます。

    ハマったところその2

    備忘録
    サンプルアプリをいろいろ試してくうちにどうも受け付け用アプリが動いてなさそうだと思ったらタスクマネジャーで手動OFF→ONしたら打開した(理由はよくわからない) pic.twitter.com/y4TWfhYqfa

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) May 3, 2022

     センサデータにとっての関所みたいな働き(④の管理)をする部分がこの、HP Omnicept Tray Appというプログラムなのですが、これが反応しない状態になる現象がデスクトップPC、ノートPC両方において発生しました。こうなると、センサデータを通す許可の画面も自動で出てこなくなったりしますし、許可出し済みの2回目以降起動アプリもデータを受け渡しできなくなるみたいです。
     タスクマネジャーを開いてバックグラウンドプロセスのところからこのプログラムをOFFしたあと、WindowsのスタートメニューからHP Omnicept Trayを起動しなおすことで関所機能が復活します。
     どうして動かなくなるのかまでは原因が突き止められませんでしたが、次のバージョンで改善されていると嬉しいです。

    その他の確認事

    ・UE4版のパッケージもある

    とりあえずUnity力がゼロのワイでもなんとかサンプルパッケージを動かせそうな程度にはドキュメントは整備されてたので助かった
    明日もちょっといじってみよう

    チュートリアル動画にはUE4版も収録されているけど、こっちはまじで無理な気がする pic.twitter.com/PNLYIEU0RC

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) April 9, 2022

     未検証に終わりましたが、サンプルツールのソースは、Unity、UE4版の両方がダウンロード可能です。

    ・電力が足りてないかもしれない方のグラボ側USB端子でも動作確認

    細かいところ
    グラボ側のUSBにつないでもうごいた pic.twitter.com/5JVGwsfLKa

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) May 3, 2022

     一部のPCでは駆動に必要な電力を供給できないUSB穴があるらしく、HPからはグラボ側から開いてるUSB端子を使う事は不推奨というドキュメントがあります。ただケーブルの取り回しの自由度がある方が私は嬉しいので、ノートPCのすべての端子で試してみて大丈夫であったことを確認しました。

    ・VRゲーミングリュックで運べるかどうかのチェック

    収納シミュレーション
    これは前のReverb G2の時のと同じ感じで収まる pic.twitter.com/DqVMUM3Xb3

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) May 3, 2022

     前回同様、リュックに詰めてみました。ガジェット収納部分は10センチ程度の深さがありますが、この条件でぴったりめに収納可能でした。残り1/3くらいのすき間に別のスタンドアロン系ゴーグルも入ります。余談ですが、このリュックLVL-3 PACKはツクモネットショップで5999円→4999円での在庫処分セール中です。すでに2つ買ってますがもう1個買おうかな…。

    ・気になっている謎の端子がある

    画像

     フェイスクッション表面のおでこ近辺に心拍センサーがあって、ゴーグル本体とはフェイスクッションを外したときに現れる電極を介してつながっています。心拍センサは付属のクッションとゴーグル上部の12端子でつながっているようですが、ゴーグル下部の8端子×2セットのクッション側が塞がれており、これは機能拡張用の端子と思われます。そのうちカスタムされたフェイスクッションが出そうですが今のところ用途は謎です。においVRのユニットとくっつけて嗜好性のデータとか取ったりかなとかはすぐ思いつきますが果たして。。?こういうのがあると、ゴーグル→装着者への刺激提示のオプションなのか、装着者→PCへの新たな生体データの取得ルートなのか想像が膨らみますね。

    ・最新情報はブログに書かれている
     ハードウェアに関する最新情報は開発者ページのBlogに随時追加されていきます。
     メールマガジンも届くので必要な事はここでも知ることが出来そうです。

    ・アプリの多重起動に対応しているのか確認し忘れた
     たとえば心拍だけを表示・記録するアプリをOmniceptと連動させたとして、他のVRソフトも同時に実行できるのかどうかは未検証です。例えばBeat Saberやってる時にその状況にして、特定曲の同じ部分をミスるのは精神的なものが原因なのかただの疲れなのか、みたいなのが取れたら技能向上に役立つんじゃないかとふと思いました。本日返却したので、確認しておけば良かったです。

    まとめ

     日本HP社から激レアなHMDをしばらくお借りして、わからんなりに触ってみた結果をまとめてみました。Omnicept Editionの用途は産業・研究が多そうですが、一般人でも触る機会をいただけましたので、次回の機会がまた巡ってきたときにはUnityエンジニアの本職さんと一緒に触ってSDKの中身いじってみるとかチャレンジしてみたいと思っています。その方が深い知見が皆さんに共有できそうです。
     ビューアとしての使い勝手に関してはReverb G2の無印版とほとんど同じ印象がありましたので、過去記事の方も比較参照していただければと思います。

    #DevRelJP のラジオでも報告したけども、法人じゃない個人・コミュニティに対して最新ハードウェアを貸し出してもらえるようになったのは、今までの企業からの対応から想像できなかったことなので、こういう事件をきっかけによき流れにしていきたいところ('ω') https://t.co/mUM9Kt2gDc

    — じゅん💉💉+💉@5/18XRミーティング北海道エリアのお世話 (@jun_mh4g) May 3, 2022

    (2022/5/4 初稿 4898字 初稿 360 min
     2022/5/6 チェック完了・修正完了)


     
     

    jun

     
     
    元・物理学者。低温、真空、超高圧電顕、水、フェムト秒レーザいじってました。 今はScientist/Developer Relations。xR技術を取り入れたい若手研究者丸ごとサポート。 日本バーチャルリアリティ学会公認 上級VR技術者(2017年度)。ブラキディオスが好き。

    あなたへのおすすめ