AntilatencyFreeDServer

AntilatencyFreeDServer

This is a console application that allows you to transmit tracking data from Antilatency devices using the FreeD protocol.
We have developed a utility that transforms the tracking data of our system into one of the FreeD protocol packages' formats. For example, you can take a socket with an Alt and fix it on your camera, then run the AntilatencyFreeDServer utility to receive tracking data as part of the FreeD protocol data.

In this article

  1. Configuring the settings.json file:

Preparing to launch

The utility version is the version of the Antilatency SDK used by the program. You will need AntilatencyService with the same version.

settings.json : ServerSettings

This group of settings in the settings.json file sets the parameters of the server and the location where the tracking data will be sent.
ParameterDescription
ip
This is the IP address of the device the tracking data will be sent to. The default value is 127.0.0.1 — the data is sent to the same device where the utility is running. You can write an IP address of another device inside the network instead of this value.
port
A port of the device that will collect tracking data. The default value of 40000 is the default port in UnrealEngine. You can copy the port number from the application you're using.
sendRate
The frequency of sending data packets per second. You can set a value higher than 100 if your application can receive and process that many packets per second.
broadcast
This parameter specifies data addressing to one device or all devices inside the network. The default value is false — this is a Unicast mode, i.e. sending data to only one device. The true value paired with the "ip": "xxx.xxx.xxx.255" parameter is used for the broadcasting mode. The xxx.xxx.xxx part is the first 3 octets of the network the tracking data should be sent to. For example, 192.168.0.255 is used to send data to all devices in the 192.168.0.0/24 network.

settings.json : TrackersSettings

This group of settings configures the parameters of each tracker fixed on a camera or another tracked object.
ParameterDescription
cameraId
You should specify the camera's ID as a decimal integer in the 0..255 range. The camera's ID for each tracker should be unique.
socketTag
The socket's tag that is attached to the selected camera. Tracking will not run on sockets with tags that are not specified in the settings file. The tag can be set and viewed in AntilatencyService in the Tag property of the selected socket. Read more: How to configure device custom properties.
extrapolationTime
Extrapolation time in seconds. A positive value is an extrapolation into the future, a negative one – into the past. The more this value differs from 0, the less reliable the extrapolation result will be. In most cases, a value of 0.00 or a negative value is used, since the tracking data stream is usually ahead of the camera video stream. You can find the optimal extrapolation time during your tests.
If the recipient program has a tracking/video delay setting, then you can use "extrapolationTime": 0.00 and adjust the delay in the recipient program, for example, in Aximmetry or UE. This will make it easier to find the right value.
placementCode
This is the Alt's position relative to the pivot point of the camera (entrance pupil of a lens) or a tracked object, i.e. its Placement. If the value is empty, the default Placement in AntilatencyService will be used. To set the code for the current Placement, select or create the current Placement in AntilatencyService, click on the " ⋮ " sign next to its name, and then click Share or Copy link. Paste the link as the value of the placementCode parameter and remove excess information, leaving only the Placement code (the value between data= and &name). Here’s an example of a link where the Placement code is highlighted: http://www.antilatency.com/antilatencyservice/placement?data=AAAAAACYmBi91NTUPdoPyT8AAAAAAAAAgA&name=MainCamera
environmentCode
This is the code of the used IR layout tracking area, the Environment. If the value is empty, the default Environment in AntilatencyService will be used. To set the code for your Environment, select the current Environment in AntilatencyService, click on the " ⋮ " sign next to its name, and then click Share or Copy link. Paste the link as the value of the environmentCode parameter and remove excess information, leaving only the Environment code (the value between data= and &name). Here’s an example of a link where the Environment code is highlighted: http://www.antilatency.com/antilatencyservice/environment?data=AntilatencyAltEnvironmentHorizontalGrid~AgZ5ZWxsb3cICLhTiT_cRqA-r45jvZqZmT4AAAAAAAAAAACamRk_AQwCBwIABgMEBgIGBwIHBgMHAgMGAAIGAwMEAgIBAwMAAgMCAAI&name=FloorExample
If the placementCode and environmentCode parameters are set explicitly, then AntilatencyService is not required on any computer. Otherwise, AntilatencyService should be installed on the device that sends data via the FreeD protocol.
An example of the specified parameters for two cameras with Alt trackers:
Save the changes and close the settings file.

Application launch

This utility must be launched on the computer the Antilatency tracking system is currently connected to (i.e. the Universal Radio Socket and/or the Wired USB Socket are connected to). After you set the settings, run the AntilatencyFreeDServer.exe file. In our case with the settings file for two cameras, the app displayed the following information:
Now you can switch to your application which receives the FreeD data, and test the tracking. The Antilatency tracking system data will be transmitted via the FreeD protocol while the AntilatencyFreeDServer utility is running.

Troubleshooting

IssueSolution
AntilatencyFreeDServer.exe crashes immediately after the application is launched.
There is an error in JSON punctuation or some parameter has an invalid value. Check the settings.json file and fix the error.
The AntilatencyFreeDServer.exe application window only displays the first AntilatencyFreeDServer <SDK version> message, no tracker information appears.
  1. Make sure the sockets are enabled/connected to the computer running AntilatencyFreeDServer.exe.
  2. Leave the Device Network tab in the AntilatencyService application or close AntilatencyService.
  3. Restart the AntilatencyFreeDServer app.
  4. If this does not solve the problem, you need to find and close other applications that use Antilatency tracking.
No nodes with Alt Tracking Task support found is the last message in the console.
Insert an Alt into the connected socket.
Failed to create placement from code "..." with error need VersionConverter implementation is the last message in the console.
In the settings.json file, the placementCode parameter of one of the trackers has an incorrect Placement code (with errors). Copy the Placement code (Placement data) from AntilatencyService to the settings.json file again.
Failed to create environment from code "..." with error need VersionConverter implementation is the last message in the console.
In the settings.json file, the environmentCode parameter of one of the trackers has an incorrect Environment code (with errors). Copy the Environment code (Environment data) from AntilatencyService to the settings.json file again.
While the main application is running, one camera is dependent on another. They try to take the same position ignoring their actual coordinates.
In the settings.json file, some trackers have the same value in the cameraId parameter. Fix it giving a unique number in cameraId for each tracker.