Motion Capture System

The RPI CS lab currently is using NaturalPoint 's Tracking Tools software package combined with 6 cameras to track rigid bodies and perform grasping experiments. Listed below are some important notes on using the software to perform grasping experiments

Camera Setup

  • Try to arrange cameras in a hexagon shaped configuration
  • Cameras seem to track best when positioned higher than object being tracked (reduces both IR reflection and increases tracking range)
  • Avoid having cameras directed towards each other
  • Cameras should be positioned for intended application- if markers are going to be located close to each other (grasping experiment), then the cameras should be closer to each other

Camera Calibration

  • Begin by aiming all cameras towards the desired capture area but try to avoid cameras directed towards other cameras
  • Use grayscale mode to see live video of all cameras and determine what is causing incorrect marker readings (reflections, other cameras, bright light)
  • Decrease the intensity and/or the exposure to minimize incorrect marker readings.
  • Press "Block Visible" to block the rest of the incorrect marker readings
  • Use 3 point wanding for calibration

Once wanding is completed use the calibration square to position the X and Z axis in the Tracking Tools software. If needed, additional offsets can be entered to offset the capture volume.

Tracking Tools Notes

The software package is designed to track collections of markers known as trackables. These markers are assumed to be installed on a rigid body and therefore the geometry between them should remain constant. The advantage to using a trackable is that when one marker is not visible, the object can still be tracked based on the other marker locations. The software also calculates real time position and orientation of the object.

In addition to tracking collections of points, individual markers can be tracked. When data is exported from tracking tools, the file contains positions of all markers, as well as the position and orientation of all trackables. The one downside is that markers are not always listed in the same order. Whenever a marker is lost, it is removed from the list until found again. Once found, it is listed as the last marker in the list.

After initial testing, there seems to be significant variance in accuracy depending on where the object is located. Testing was done by measuring the distance between three fixed markers with known distances. The markers were then moved to different areas of the capture volume for testing. When the markers were positioned towards the center of the capture volume, the error was under 1mm. When towards the far sides of the capture volume the error was recorded much higher than a few millimeters.

Integration with MATLAB

There are currently two ways to import data from the motion capture system into MATLAB:

Importing data from a CSV file
The lab currently has a few MATLAB scripts to parse CSV files for both trackable data and marker location data. In order to accurately track a marker, the script calculates the distance from each marker in one frame to the distance to each marker in the next frame. Markers with similar locations between frames are assumed to be the same marker. This solves the problem mentioned above with the order of marker locations becoming shuffled. Once the trackable data and marker data is parsed, there is a script to plot the object in 3D.

Real-Time Data Streaming
Data collected by the tracking system can be sent to MATLAB in real-time through the use of the Tracking Tools API. This method requires that a Tracking Tools project be created (cameras already calibrated, ground plane set, and trackables created). Once the project file is saved, Tracking Tools can be closed and MATLAB will perform all the function calls to the API to retrieve the live data.

External Links

Topic revision: r3 - 2010-07-09 - 18:21:53 - ChrisJordan
 
Copyright © 1824-2009 Rensselaer Polytechnic Institute (RPI)
110 Eighth Street, Troy, NY USA 12180 (518) 276-8326