This repository contains instruction and template projects to use the Vicon DataStream SDK to stream 'object' positions and orientations from the software Vicon Tracker 3 to user written software in realtime.
Each template has its own instructions, in the readme file
Related Software
- Vicon Tracker
- Any version should work
- Vicon DataStream SDK
- This project was written for Version
1.11.0. Past or future versions may not function the same.
- This project was written for Version
Each folder contains a standalone template project. The categories are:
Simple single file projects to demonstrate receiving and printing frame data
To use the minimal projects, follow the same setup instructions as in the template projects. Then follow the Vicon DataStream SDK Developers Guide to understand how to use the client
Provides an interface class that wraps the SDK as well as examples on how to use the wrapper class.
Features:
- Instead of SetStreamMode, my interfaces retrieve and cache frames in a background thread, while providing 3 modes of retrieval
GetFrame- Instantly returns the latest cached frame. Will return the same frame again if called before a new frame arrives
- Use when the call must not block
- e.g. need to receive frames while also sending commands to a robot at a higher frequency
GetFrame_GetUnread- If the cached frame has not yet been read, returns instantly. Otherwise, blocks until a new frame arrives
- Use when blocking is acceptable, but duplicate frames are not
- e.g. a simple program to receive and write every frame to excel
GetFrame_WaitForNew- Blocks until a new frame arrives regardless of caching
- Use to ensure minimal delay between receiving a frame to using its values
- e.g. Synchronise frame data with reading other sensors
- Data is encoded in objects that can be managed easier while seamlessly handling calls to retrieve data from occluded objects
- Fixes bugs in the bare SDK e.g.
- Stream mode 'ClientPullPreFetch' blocks when called twice in the same frame interval
- Subject filtering only causes frames to be marked as occluded. They are still listed
- (C++) Occluded frames are incorrectly flagged as not occluded
Vicon Control Computer (The computer that is connected to the vicon cameras)
- Vicon Tracker is installed on this computer
- The Vicon system is set up, calibrated, and running
Client computer (The computer you wish to work on | You may work directly on the Vicon Control Computer. The steps are the same.)
- This computer is connected to the same network as the Vicon Control Computer
- Download the Vicon DataStream SDK onto this computer
- Install instructions are provided per template project
- Download this git repository onto this computer
- Follow the instructions for the specific language you wish to use.
This documentation is written in markdown. Please view it on GitHub or with a markdown viewer.
This work is distributed under the BSD-3-Clause License
This documentation is distributed under the Creative Commons CC BY 4.0 license
This project is hosted at https://github.com/Brandon-Johns/Vicon-DataStream-SDK-examples