Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The following applications need to be started on the head mounted display and the host computer. They should all the included in the installation package that you received from us. We will discuss the order of starting these applications and what their status output should be below.

On the headset:

Application

Purpose

Name

FusionHub server

  • Receives IMU data from ALVR client

  • Receives optical tracking data

  • Sends sensor fusion result to ALVR client

FusionHub-v1.2-Launcher.apk

ALVR client

  • Receives image data from ALVR server

  • Connects to FusionHub server

  • Sends pose information to ALVR server

FusionHub-v1.2-ALVR-Client.apk

On the host computer:

Application

Purpose

Name

FusionHub GUI

  • Connects to FusionHub server on HMD

  • Configures FusionHub

  • Authenticates system

lp-fusionhub-dashboard.exe

ALVR server

  • Receives pose information from client

  • Sends pose information to SteamVR

  • Sends image data to ALVR client

  • Receives image information from SteamVR

ALVR Launcher.exe

Authentification

FusionHub authenticates itself via the GUI client application. In order to run the client application make sure to insert the LPVR USB dongle into the host computer. After the GUI client is connected to FusionHub on the HMD, FusionHub will start streaming pose data to ALVR. Alternatively we offer the possibility to use use an online licensing system that unlocks HMD nodes via the internet.

...

  • Start FusionHub on the HMD. A window showing the FusionHub console output should open.

  • Start the FusionHub GUI client on the host computer

  • Connect the GUI client to FusionHub on the HMD. Make sure HMD and host are in the same subnet. Enter the the correct IP of the HMD in the client before pressing connect.

  • Adjust parameter blocks as needed. Refer to the description of FusionHub BASE for configuration options. Note the following input and output ports that are hard-coded in the ALVR FusionHub API layer. These are already correctly set in the default configuration file installed with the FusionHub APK, so usually there is no need to change them.

Endpoint

Direction

Purpose

tcp://*:8799

Output

Fused pose data

tcp://localhost:8898

Input

IMU data

  • If it’s not running yet make sure to start and configure your optical tracking system. Once optical data is streamed to FusionHub, the nOptical counter in the GUI should be increasing.

...

The optical system is the tracking reference, its pose is what is received by the visualization backend. The orientation of the IMU sensor is calibrated relative to the optical markers on the HMD. Therefore it is important to set up the tracking body or rigid body in the optical tracking software (DTrack, Motive etc.) in a way that its axes align with the optical axes of the head mounted display.

Image ModifiedImage Modified

...

We will add to this section soon. In the meantime refer to this page for ART setups and this page for OptiTrack setups from the LPVR documentation.

...

The FusionHub configuration contains several parameters that allow the tuning of the inside-out fusion:

Parameter

Purpose

ioHpWeight

Weight of low-pass filter applied to inside-out tracking after high-pass filter (0 = unmodified inside-out signal, 1 = remove inside-out signal)

ioLpWeight

Weight of high-pass filter applied to inside-out tracking (0 = remove inside-out signal, 1 = full inside-out signal applied to result)

optLpWeight

Weight of low-pass filter applied to outside-in tracking (0 = unmodified outside-in signal, 1 = outside-in signal is removed)

useIOHeight

Set this to true to take height (y-axis) value directly from inside-out tracking

useIOHorizontal

Set this to true to include inside-out tracking in pose calculation. If true, filter parameters described above will be used.

Example configurations for the outside-in / inside-out filter:

Characteristic

Parameter setting

Mainly inside-out, outside-in for global referencing: Tracking is based mainly on the built-in inside-out tracking. Outside-in tracking is used for global referencing.

Note: Turn headset tracking to ON in Quest settings. Room needs to be suitable for inside-out tracking.

Code Block
"ioHpWeight": 0,
"ioLpWeight": 0.9995,
"optLpWeight": 0.9995,
"useIOHeight": false,
"useIOHorizontal": true

Outside-in only + height from inside-out: Horizontal tracking is based on outside-in tracking. Only height (global y-axis) values are taken directly from inside-out tracking.

Note: Turn headset tracking to ON in Quest settings. Room needs to be suitable for inside-out tracking.

Code Block
"ioHpWeight": 1,
"ioLpWeight": 0,
"optLpWeight": 0,
"useIOHeight": true,
"useIOHorizontal": false

Outside-in tracking only: Tracking is based on outside-in tracking only.

Note: To maximize performance, make sure to turn headset tracking to OFF in Quest settings.

Code Block
"ioHpWeight": 1,
"ioLpWeight": 0,
"optLpWeight": 0,
"useIOHeight": false,
"useIOHorizontal": false

Network setup

Router

In order to establish high bandwidth communication between the host and Quest 2 / Pro we recommend setting up a 5GHz or for optimum performance a 6GHz (wifi 6e) wifi router with 2 channels per HMD. We recommend the tp-link AXE16000 quad-band 16-stream wi-fi 6e router.

...