スマホトラッカーでフルトラッキングに挑戦


昨年からどっぷりハマっている、VR SNSのVRChatですが、blenderでモデリングする以外は、ただただ消費することが面白くて、あまりブログでは触れていなかったのですが、VR内で使用するフルトラッキングの技術がかなり面白そうで、手を動かし始めたので、ちょっとネタにしてみます。

もともと、フルトラッキングに関しては、SteamVRのソフトウェア上で、VIVE社のベースステーションとトラッカーというアイテムを使って行うのが一般的となっているようです。
他社からもいろいろアイテムが発売されており、複数の赤外線レーザーを使って到達時差を計測するものや、赤外線カメラを用いるもの。いろんな方式があります。

仕組みの話はおいておいて、最終的にHMDと手・足・胴体の相対的な位置関係が算出できて、SteamVRに座標が受け渡し出来ればOKなようです。

面白いものとしては、プリメイドAIのブームの時からウォッチさせていただいていたizmさんが、Haritoraというジャイロベースのトラッキングシステムを発売されました。残念ながらブームに乗り遅れて、購入出来ておりませんが、夏には量産が決まって、Haritoraxを発売するそうなので、その時には是非購入させていただこうと思っています。

それで、HaritoraXが購入できるまで、ただ待つというのもなんなので、それ以外にもフルトラッキングを自作されている方がいらっしゃるので、ちょっといろいろ導入して遊んでみようと思います。

それで、まず目についたのが、みーさんのスマホトラッカー。
Boothで2,000円で販売されています。

VSmartTracker スマホトラッカー
https://miivrc.booth.pm/items/1982460

さっそく、購入してダウンロードしてみました。

たまたま、逸般のご誤家庭によくある使っていないスマホ、iPhone7が複数台転がってたので、材料はそろっていました。
さっそくシューズを作ってみました。穴あきのスリッパに、スマホカメラ用マウントとホットシューを連結して作りました。

Twitterでは、みんなに盗撮用じゃないのかと、突っ込まれて大変(^^;A

さっそく使ってみたのですが、何度キャリブレーションしても座標がずれて、しばらくするとセンサードリフトで、トラッカーが飛んでいき…

なんとか撮影出来た奇跡の動画が下のtweetです。
ただ、この時は、結局Homeから出ることは出来ませんでした。

作者にコンタクトをとってみようと調べると、スマホトラッカーの開発用のDiscord鯖があることが分かりました。
さっそくフォローさせていただいていたところ、すでにR2を開発中とのことでした。

ちょうど内部で使っている、OpenVR-InputEmulatorが開発が終わっていろいろ問題の発生源になっているという話題も聞いて、せっかくなのでβテストに参加してみました。

R2のβ版もスマホ1台ずつキャリブレーションする形になるため、ログイン前の下準備はやはり大変ですね。ただ、なんとなくですが、キャリブレーション後のトラッカーの動作はドリフトが少なくなっている印象です。
なかなか、うまく位置合わせ出来ない様子(下)

運用に関してもDiscordでアドバイスいただきました。

アクセスガイドの設定をONにしておけば、うっかり画面外からスワイプしても、ロックボタンを押しても、アプリがバックグラウンドに回ることはなくなりました。

あと、スマホの取り付け位置について、せっかく専用シューズを作ったのですが、外向きカメラが天井を向く使い方はよくないという事で、正面向きに取り付けました。
取り付け方法が思いつかず、養生テープで巻きました。(かなりやっつけですが)

これで、ログインしてみました。

下準備はやはり大変でしたが、キャリブレーション後のトラッカー飛びはかなり軽減していました。最終的には、スマホとソフト間のコネクションが切れて30分程度の運用になりましたが、今回は、Homeから出て集会場ワールドにフルトラのお披露目に行けました!(進歩

ちなみに、R2では、OpenVR-InputEmulatorではなく、VirtualMotionTrackerというソフトを使って仮想トラッカーを実現しています。

というわけで、スマホトラッカーのR2は、現在も開発中のようですが、R1よりは性能が向上している実感を得られましたので、今後の進化に期待しております。

それと同時に、このVirtualMotionTrackerがとても面白そうだなーと思って見ていました。

こちら、その界隈では、非常に有名なようです。

上位との接続には、OSCというプロトコルを使って、座標を受け取り、SteamVRに仮想トラッカーとして、座標を受け渡してくれる、仮想トラッカードライバーもといゲートウェイソフトのようです。

ということは、OSCの入出力さえ用意してしまえば、自分の領域とVRChatをリンクできるようですね。これは夢が広がります。

既にいろいろ実用事例もあるようで、調べていると、あるしおうねさんが製作された、RealSence D435を用いた、仮想トラッカーも見つけました。

ReSeTra
https://amadeussvx.github.io/ReSeTra/

是非、これはトライしてみたいと思います。

それと同時に、考えるのは自分のフィールドに引き込むことですよね。
こんな面白いソフトなので、是非ROSから扱えるようにしてみたいところ。

動くかどうかわかりませんが、OSCをブリッジするROSパッケージを見つけました。

rososc
http://wiki.ros.org/rososc

これが可能なら、ちょうど去年遊んでいた、上半身ロボットのNuitrackを用いたトラッキングを全身に応用して、ROSとVRChatを接続することも可能かもしれません。

いやいや、トラッキングだけでなく、ロボットのセンサ情報をトラッカーの座標としてVRChatに流し込むことが出来るので、そっちの方が面白いかもしれませんね。VRChatアバターとロボット実機のデジタルツインというのもやってみたい課題の1つです。

というわけで、いつかROS UG JPのオンラインLTで、VRChatを垂れ流すことを目指して、引き続きいろいろ触っていきたいと思います。

ちなみに・・・、既にNuitrackは直接Unityに取り込めるものがありました。
ですので、ROSを介するのは回り道ではあるので、近道したい方は、Unityアプリで作ってしまった方が速いかもしれません。

VTuber風コンテンツをXtion2とUnityで作る
https://www.pc-koubou.jp/magazine/17479#section03-02

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

アーカイブ

広告

Top