This page presents the software tools and the techniques that are possible for interfacing the VICON Motion Capture system with the XVR software. The aim of this page is to present software and case studies.
Brief description of VICON
The VICON Motion Capture system by OMG allows to track bodies by means of markers applied over the body. VICON exposes recorded data in the form of C3D files and in real-time by a protocol called Tarsus.
Since Nexus 1.4 there is also the newer Stream protocol on port 801, that is anyway not supported
These are the file types used by the VICON:
- c3d is the exchange format containing raw markers, labeled markers and body segments
- vsk is the XML based skeleton structure
VICON XVR Package
Type: PUREXVR (no DLLs)
Last Update: 3rd November 2009
Download: Media:Viconxvr-1.4.zip (1.5MB with example data)
This package provides the following features:
- Real-time connection to the VICON Nexus software providing Markers and/or Bodies
- Loading of Recorded Sessions stored as Comma Separated Values converted from C3D files
For starting include '#include "viconrt.h.s3d"'
The two modes have the same interface.
- start() initializes the connection (OnInit)
- update() updates internal data (OnInit and OnFrame)
- bodies is the list of bodies
- markers is the list of markers
Each marker has a pos property while bodies have also axis property as (angle,x,y,z).
Configuration: by default all properties, both markers and bodies are analyzed by the stream. For reducing load use the following parameters:
The ViconRt class
vicon = ViconRt(IPADDRESS);
vicon = ViconFile(infile);
Use the "c3d_convert.py" for converting c3d files into CSV files readable by ViconFile.
The bonus class ViconHeadTrack allows to compute camera matrix from four markers considered as reference.
Emanuele Ruffaldi at SSSUP dot IT
- Reconnection on disconnect
Connection: TCP Protocol Used: Tarsus July 2008 Mode: Frame-by-Frame
New Stream Protocol (not supported)
Allows for unlabeled markers and future additional elements. The implementation anyway will not be PureXVR because the protocol is unknown.