Table of Contents

TS4231V1PositionData

source Operator

Produces a sequence of 3D positions from an array of Triad Semiconductor TS4231 receivers beneath a pair of SteamVR V1 base stations.

This data IO operator must be linked to an appropriate configuration, such as a ConfigureTS4231V1, using a shared DeviceName.

The data produced by this class contains naïve geometric estimates of positions of photodiodes attached to each TS4231 chip. This operator makes the following assumptions about the setup:

  • Two SteamVR V1 base stations are used.
  • The base stations have been synchronized with a patch cable and their modes set to ‘A’ and ‘b’, respectively.
  • The base stations are pointed in the same direction.
  • The Z-axis extends away the emitting face of lighthouses, X along the direction of the text on the back label, and Y from bottom to top text on the back label.
This operator collects a sequence of oni.Frame objects from each TS3231 receiver that are used to determine the ray from each base station to the TS3231's photodiode. A simple geometric inversion is performed to determine the photodiodes 3D position from the values P and Q. It does not use a predictive model or integrate data from an IMU and is therefore quite sensitive to obstructions and will require post-hoc processing to correct systematic errors due to optical aberrations and nonlinearities. The the TS4231V1Data operator provides access to individual lighthouse signals that is useful for a creating more robust position estimates using downstream processing.

TS4231V1PositionData Workflow

Inputs & Outputs

Generates a sequence of TS4231V1PositionDataFrame objects, each of which contains the 3D position of single photodiode.

representation of a source operator
right-arrow

A sequence of TS4231V1PositionDataFrame objects.

Properties

Property Type Description
DeviceName string

Gets or sets a unique device name.

The device name provides a unique, human-readable identifier that is used to link software elements for configuration, control, and data streaming to hardware. For instance, it can be used to link configuration operators to data IO operators within a workflow. This value is usually not set manually, but is assigned in a MultiDeviceFactory to correspond to a fixed address with a piece of hardware such as a headstage. This address is used for software communication.

P Point3d

Gets or sets the position of the first base station in arbitrary units.

The units used will determine the units of Position and must match those used in Q. Typically this value is used to define the origin and remains at (0, 0, 0).

Q Point3d

Gets or sets the position of the second base station in arbitrary units.

The units used will determine the units of Position and must match those used in P.