Vicon Introduction

<< Back to the Vicon Toolkit page

Vicon Introduction: Hardware Components and Functionality.

In this introduction you will learn

  • The different hardware components of the Vicon Toolkit
  • The functionality offered by the Vicon hardware.

Basic Idea

Vicon works by tracking a number of infrared (IR) reflective markers using cameras that emit IR light. Essentially each camera image is processed in hardware by a component called the MX Ultranet. It computes multiple camera views into a list of 3D marker coordinates. These coordinates can also be mapped onto predefined rigid bodies providing matching 3D coordinates to marker names (e.g. wand tip). This information is then sent to the Vicon system via a TCP network protocol and can be accessed in real time using many different programming languages (e.g. C++, C#).

Vicon Components

The Vicon system is composed of 4 main hardware components: Infrared (IR) reflective markers, MX-F40 cameras, MX Ultranet, and a host computer. Here we describe each component in turn.

  • IR reflective markers are really just small plastic balls covered with reflective tape from 3M. The Life Sciences kit (the black case) contains a number of reflective markers of different shapes and sizes. In general bigger markers are needed when the cameras are placed far away (e.g. body tracking) while smallers markers are best for movements within a small volume (e.g. tabletop). Reflective markers can be affixed with double sided tape onto any physical object.
  • MX-F40 cameras contain a high resolution (4 Megapixel) high speed (370Hz) imaging sensor specifically tuned for detecting IR light. They also contain a ring of infrared LEDs around the camera lens to illuminate the reflective markers. Each camera also includes a different angle lens (wide and short), and can adjust how much light enters the camera with a lens mounted aperture. Each camera outputs raw IR point values to the ultranet system.
  • MX Ultranet is a hardware server that recieves raw IR point information from up to 8 MX-F40 cameras, triangulates the actual 3D markers in world space. The MX Ultranet is also capable of mapping tracked points onto rigid body models to providing matching marker names (e.g. wand base). This information is sent to the host computer using a direct gigabit ethernet connection.
  • Host Computer communicates with the Vicon system through a gigabit ethernet connection. It accepts real time input information and is also responsible for relaying commands to the MX Ultranet. For example, calibration is performed using the host computer, new rigid bodies are first saved onto the hard drive and then later loaded into the MX Ultranet for real time tracking.

These four components are needed to perform real time tracking of vicon data. Information flows from the MX-F40 cameras to the ultranet and ultimately to the host computer. Please note: It may be possible to connect the MX Ultranet to a gigabit ethernet hub, however, I'm not sure if it accepts DHCP requests. Vicon support was stumped too. If you have a gigabit ethernet hub lying around please feel free to give it a try. Otherwise we would need to buy another LAN card for the host computer.

A quick note about noise: The MX Ultranet uses a very loud fan that can be disturbing to others in the lab. Please be curteous and turn off the Ultranet when not in use. You can shut down the MX Ultranet at any time and start it up again without restarting the host computer.

Vicon Functionality

As mentioned earlier, the MX-Ultranet converts the raw camera data provided by the MX-F40 cameras into 3D marker coordinates. These coordinates do not contain any identifying information and they typically all look the same to the vicon system. Using a rigid body model the MX Ultranet can map the 3D marker coordinates onto reference points defined on the rigid body (e.g. wand shaft). These detected coordinates are referred to as Markers in the Vicon software and include an X, Y, and Z coordinate relative to the point of origin (described later). Markers are easily defined using the Body Builder component of the Vicon Nexus software.

In addition virtual points can also be defined in the model, these are called Bodies in the Vicon software. Bodies are useful because it might not be reasonable to place a reflective marker on the tip of a pen if it is to also be used for writing. By creating a body it would be possible to track the position of the tip of the pen along with the rotation. The data for a body is the X, Y, and Z coordinate relative to the point of origin as well as the Yaw, Pitch, and Roll angles relative to the point of origin. Virtual points can be defined through a scripting language.

Of course, Markers need not be rigid on an object. In motion capture studios markers are placed on an actor that moves freely in a 3D space. To achieve this freedom a body model must also include Joints that specify a degree of freedom for a particular point. Joints can be specified in any model using the Body Builder component of the Vicon Nexus software.

Vicon can be used to track Markers alone or it can be used to track Markers, Bodies, and Joints. The tracking of both Bodies and Joints is called a Kinematic Fit a reference to inverse kinematics for joint modelling in animation. All of this information is made available to the end programmer using the Vicon Toolkit, thus it is important to know what the data actually means.


It can get a bit confusing because we place markers to track objects, but in the Vicon software these tracked objects are called Subjects. Thus the terms Subject and tracked object are interchangeable.

As mentioned above, a subject can be a rigid body, or a series of rigid parts connected by joints but comprising a single tracked object.