VR

VR・AR機器のトラッキング その1 – トラッキングの基礎

これから4回に渡って、トラッキングについて勉強して行きたいと思います。すでに勉強したOutside-InInside-Outのそれぞれの方式について、事例を交えながら解説して行きます。

第1回の今回はその準備として、上記二つの方式のおさらい、3DoFと6DoF、IMUと言った基本事項を押さえて行きます。

はじめに

トラッキングとはどういう意味でしょう ?

そうですね。「追跡すること」です。

物流業界だと荷物の配送状況を追跡すること、IT業界だとシステムの挙動やデータ動向などのログを収集し監視すること、CD/DVD/BD/HDDだとデータが記録されたトラックをレーザーピックアップや磁気ヘッドが追従すること、そしてマーケティング業界だとユーザーの興味の高い広告を効率よく配信するためにユーザーの行動を継続的に追跡し分析すること、となります。

ではHMDをトラッキングする、というのはどういうことかと言うと、HMDやコントローラーの位置と姿勢を低遅延に精度よく継続的に検出することです。

ではこれが満たされないとどうなるでしょう?

現実世界では、右を向いたら連続的に景色は左に流れ最終的に右の風景が見えます。それと同じことをVR機器で実現するために、バーチャルな世界では、右を向いたら角度に応じた風景を継続的にレンダリングしてディスプレイ表示することになります。

これに遅延があると、人はバランスを失って倒れます。トラッキング精度が悪くて見える風景がカクつくと、不快感につながります。また、コントローラーがうまく操作できない、掴みたいのになぜか掴めないといった状況は、ユーザーにフラストレーションを与えます。

自然な画面の変化やスムーズな操作性は当たり前って思うかも知れませんが、なかなか大変な苦労があります。特に奥行方向の精度を高めるのは難しくて、前後に動いたときに画面が不自然な動きをしたり、コントローラーの推定位置が奥行方向にプルプル動いてしまうのはよくある話しです。

前にも話しましたが、3mくらい離れた時計を見ます –> 顔を5cm程度時計に近づけます –> 時計の大きさに変化を感じましたか ? この状況で5cm近づいたことを検出しなければならないのが、HMDをトラッキングするということなのです。

特に視覚がすべてバーチャルな世界に奪われるVR機器においては、自然な画面変化やスムーズな操作性は快適なVR体験への最低条件のひとつであり、機器ベンダーの企業努力が詰まっているエリアでもあります。

それではトラッキングの世界に入って行きましょう。

おさらい

まずOutside-In方式とInside-Out方式について復習しておきましょう。

Outside-In

Outside-Inというのは、外側から内を観測するという意味合いで、すなわち外の空間側にカメラが設置され、VRヘッドセットを観測することによりVRヘッドセットのトラッキングを行う方式になります。

Inside-Out

逆にInside-Outというのは、内側から外を観測するという意味合いで、すなわちVRヘッドセット側にカメラが搭載され、外界を観測することによりVRヘッドセットのトラッキングを行う方式になります。比較的新しい方式と言えます。

つまりこれらはカメラと光源などの追跡対象の位置関係を示しているわけですが、これとは別に一般にどちらにも搭載されているものがあります。それがIMU (Inertial Measurement Unit : 慣性センサーユニット) です。まずその話しからしましょう。

3DoFと6DoF

よくこのヘッドセットは3DoFとかあれは6DoFとか言います。もう少し具体的に言うと、スマホタイプのHMDとかOculus Goのような低価格のラインナップだと3DoF、Oculus Rift/QuestやHTC Vive/Cosmos、PS VRなどは6DoFです。まずこの動画を見てみましょう。


3DoFは 3 degree-of-freedom すなわち3自由度ということで、HMDのX軸・Y軸・Z軸周りの3つの回転運動 (pitch, yaw, roll) に対応していることを指します。つまり、頭の姿勢や回転運動のみを検出できるシステムのことを3DoF対応のシステムと言います。

一方6DoFは6自由度ということで、3DoFで対応していた3つの動きに加えて、HMDのX軸・Y軸・Z軸方向の3つの並進運動 (sway, heave, surge) を加えた、6つの動きに対応していることを指します。すなわち、頭の姿勢や回転運動に加えて、前後左右上下の動きも検出できるシステムのことを6DoF対応のシステムと言います。並進運動を検出できなければ、ルームスケールVRは成立しません。

こちらの記事(VR用語6dofと3dofの違いとは?読み方やメリット、意味を徹底解説!)がわかりやすいので、読んでみてください。

さて、Outside-InとかInside-Outというのは6DoFの話しなので、その前に3DoFのための構成について話したいと思います。通常3DoF対応にはIMUが使用されますので、それを説明します。

IMU

一般にIMUには加速度センサー、ジャイロセンサーの2種類あるいは+地磁気センサーの3種類が搭載されます。まず加速度センサーとジャイロセンサーの動きをイメージするために、この動画を見てみましょう。


どうでしょう ? イメージはわきましたか ? 姿勢を検出する上で、どちらも完璧ではなさそうですよね。では細かく見て行きましょう。

加速度センサーには常に重力gが地面に垂直方向に作用していますので、垂直方向が含まれる面内の回転(roll/pitch回転)による姿勢変化は検出できます。一方重力に対して垂直な面内の回転(yaw回転)による姿勢変化を検出できません。


次にジャイロセンサーは3軸周りの回転速度を検出できますので、積分操作により全ての方向の回転を検出できます。しかしながら、センサーの特性としてドリフトが発生しやすいという問題があり、ずれを補正してあげる必要があります。


なので、加速度センサーとジャイロセンサーの両方を相補的に利用することによって、3DoFを達成するというのがターゲットになります。

roll/pitch方向の姿勢の変化は加速度センサーによって検出できますので、roll/pitch方向の回転についてはジャイロセンサーのドリフト補正が可能です。

一方重力に垂直な面内の回転は加速度センサーでは検出できないので、yaw回転はジャイロセンサーのドリフト補正ができないということになります。

わかりやすく言うと、正面がだんだんずれて行くという問題が発生する!ということです。これはソファーに座ってVR機器をプレイしているときなど向きが固定される場合には、致命的というか、ユーザーが明らかにずれに気付いてしまう状況になります。

この正面がずれて行く問題を回避するために、地磁気センサーで補正したり、あるいはユーザー操作によって正面リセットできるしくみを導入している事例があります。ただし地磁気センサーはオフセットキャリブレーションが必要だったり、金属や磁石の影響を受けやすいので、注意が必要です。


以上がIMUによる姿勢推定の概要でした。動画を引用させて頂きましたが、Watako-Lab.さんのわかりやすい記事もご参照ください。

余談

自由度という言葉

自由度 (DoF) という言葉は非常に汎用的な言葉です。

VR機器で3DoF/6DoFと言ったら前記のように3軸の回転/3軸の回転+3軸の並進を指しますが、同様の意味合いで6DoF IMU, 9DoF IMUのような表現をする場合があります。

  • 6DoF IMU : 3軸加速度センサー+3軸ジャイロセンサー
  • 9DoF IMU : 3軸加速度センサー+3軸ジャイロセンサー+3軸地磁気センサー

これに心拍センサーや血圧センサーなどの生体センサーを加えて10DoF, 11DoFなんていう場合もあるので、DoFという言葉はあくまでも汎用的なものであることは知っておきましょう。

加速度センサーのしくみ

かなりデバイスな話しになりますが、ついでに加速度センサーとジャイロセンサーのセンサーチップ内の構造について軽く触れておきます。

センサーチップは半導体の製造に類似するフォトレジストによる膜への溝の生成によって電極にメカ的な構造を持たせたセンシングデバイスを構成します。

加速度センサーは2本の櫛状の電極が互い違いに噛み合っているもので、1本は固定されていてもう1本はバネ構造に接続されているものからなります。加速度が加わるとバネ構造側の電極が動き、固定側の電極との間隔が変化するので、その変化を電気的に(たとえば静電容量の変化として)検出することによりバネの伸び縮み量がわかるため、印加された加速度を推定できるしくみです。

とてもわかりやすいしくみですよね !

ジャイロセンサーのしくみ

一方ジャイロセンサーも最終的には似たようなしくみになるのですが、メカ構造がもっと複雑になります。

こちら(ジャイロセンサの基礎)を見てみましょう。角速度はコリオリの力を利用して検出します。具体的には、中央で繋がった2枚の板を逆位相で振動させます。この状態で角速度が印加されると振動体にねじれの力(コリオリの力)が発生するのでこれを検出します。

いまさら聞けないジャイロセンサー入門の図2がわかりやすいのですが、左右に2つのブロックがあり、中央で繋がっています。上下部にある電極に正弦波的な電流を逆位相で流すと、左右のブロックは左右方向に逆位相で振動します。これに角速度が加わるとコリオリの力が発生して、たとえば左側は上向きに右側は下向きに動きます。オレンジ色の部分は先ほどの加速度センサーの場合と同様に2本の櫛が合わさった状態になっていて、片側は固定、もう片側はブロックに接続されていて、ブロックが動くと電極の距離が変わるのでそれを電気的に検出するわけです。

要はバネ構造に力が働くと力の大きさに応じた動きを発生するので、バネ構造に接続された電極と固定電極が櫛状になったモジュールを利用し、その電気的変化を検出することによりバネの伸び縮み量がわかるため、印加された角速度を推定できます。加速度センサーとまったく同じしくみですね !

地磁気センサーのオフセットの話

Watako-Lab.さんの方位センサーの動画にもありましたが、地磁気センサーの出力値にはオフセットがあるので、何らかの手段でこのオフセット値を測定する必要があります。

動画のように球体を描くようにぐるぐる回せば完璧ですが、もっともシンプルな方法のひとつが、「8の字を描く」です。こちら(スマホを8の字に回すと何が起こる?…)がわかりやすいですが、スマホのコンパスが誤動作するときに8の字に回すと修正されるのは、このオフセット値が正常化されるからです。

下の動画にもありますが、実はValve Indexのコントローラーのインストラクションの中に8の字キャリブレーションがあります。つまり、このコントローラーには地磁気センサーも搭載され利用されていることがわかるわけです。

おわりに

今回はVR・AR機器のトラッキングの詳細への準備として、3DoF/6DoFの意味とIMUの詳細について勉強しました。

余談ではかなりデバイス寄りの内容にも触れましたが、結構面白かったでしょ !?

これをベースに次回はOutside-In方式のトラッキング技術について勉強して行きます。お楽しみに !


   
関連記事
  • VR機器のグラフィックス その3
  • VR・AR機器の構造 その2 – 実際のVR機器を見てみよう !
  • VR・ARの歴史
  • VR・AR機器の構造 その4 – 実際のAR機器を見てみよう !
  • VR・AR機器のトラッキング その2 – Outside-In方式のトラッキング
  • VR・AR機器の構造 その1 – VR機器の着目ポイント

    コメントを残す

    *

    CAPTCHA