Versions Compared

Key

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

...

The absoluteSources tag describes an absolute position and orientation source like an optical tracking system. Currently LPVR supports VICON, Optitrack and ART tracking system natively, as well as the common VR communication protocol VRPN. "absoluteSources" is an object whose properties describe the optical tracking systems in use. The name of each property is used to reference the tracking system in the reaminder of the configuration. Examples for various tracking systems are given below.

Optical Tracking System

Example Code Block

Explanation

ART

Code Block
"absoluteSources": [{
  {
    "name": "my_dtrack",: {
    "settings": {
      "axisPermutation": "xyz",
      "host": "192.168.1.38",
      "port": 5000
    },
    "type": "DTrack"
  }
]}

name

Defines the name of the source. Any name is good.type

Must be DTrack

settings: axisPermutation

Optional axis permutation setting to adjust coordinate system

settings: host

Address of the host PC

settings: port

Port number of host PC

type

Must be DTrack

VICON

Code Block
"absoluteSources": [{
  {
    "name": "my_vicon",: {
    "settings": {
      "host": "192.168.1.6:801",
      "trackedObjects": [
        {
          "segmentNamesubject": "HMD",
          "subjectNamesegment": "HMD"root"
        }
      ]
    },
    "type": "Vicon"
  }
]}

name

Defines the name of the source. Any name is good. Will be referenced in trackedObjects further down.type

Must be Vicon

settings: host

IP address of the VICON host computer running VICON Tracker, Blade etc.

settings: segmentNametrackedObjects

Name of the rigid body in VICON software.

settings: subjectName

Should be the same as the segmentName

type

Must be Vicon

an array of JSON objects. Each contains "subject" (required) and "segment" (defaults to "root") and is used to identify the VICON objects used in further process. The remainder of the configuration can reference them by their numerical index (starting from zero) in this array.

Optitrack

Code Block
"absoluteSources": [{
  {
    "name": "my_optitrack",: {
    "settings": {
      "connectionType": "Multicast",
      "localAddress": "127.0.0.1",
      "remoteAddress": "127.0.0.1",
      "serverCommandPort": 1510,
      "serverDataPort": 1511
    },
    "type": "OptiTrack"
  }
]}

name

Defines the name of the source. Any name is good. Will be referenced in trackedObjects further down.type

Must be OptiTrack

settings: connectionType

Must Can be Multicast or Unicast

settings: localAddress

Local address of the Optitrack client

settings: remoteAddress

Address of the Optitrack server

settings: serverCommandPort

Must be 1510

settings: serverDataPort

Must be 1511type

Must be OptiTrack

VRPN

Code Block
"absoluteSources": [{
  {
    "name": "my_vrpn",: {
    "settings": { 
      "tracker": "DTrack@127.0.0.1"
    },
    "type": "VRPN"
  }
]}

name

Defines the name of the source. Any name is good. Will be referenced in trackedObjects further down.type

Must be VRPN

settings: tracker

Name and address of VRPN server

type

Must be VRPN

IMU Sources

The imuSources tag describes the IMU attached to the headset. At the moment only the LP-REASEARCH LPMS IMU is supportedIMUs in use. It is a JSON object whose properties define the individual IMUs.

Example Code Block

Explanation

Code Block
"imuSources": [{
  {
    "id": "my_imu",: {
    "type": "ViveHeadset"
  },
  {
    "id": "reference_imu",: {
    "settings": {
      "name":  "lpmscu2000327",
      "autodetectType": "ig1"
    },
    "type": "OpenZen"
  },
  {
    "id": "no_imu",: {
    "type": "None"
  }
]

id

Defines
}

Each member of the "imuSources" object has an identifier which defines the name of the source. Any name is good. Will be referenced in trackedObjects further down. The individual objects contain a required "type" field and an optional "settings" field.

type

Can either be 

  • OpenZen to use the OpenZen library

  • ViveHeadset to use internal Vive IMU

  • OpenVR for the IMUs in SteamVR controllers

  • Varjo for the Varjo headset IMU

  • LpSensor to use LpSensor library (deprecated)

  • None for a dummy IMU that doesn’t emit any data

settings: name

Specifies the ID of the connected IMU (not required for ViveHeadset).

settings: autodetectType

For "type": "OpenZen" the driver will use autodetection if "name" is omitted. Usually the default "ig1" is appropriate, but in some experimental environments "lpms"might be the correct type.

Output of Pose Calculation

...