Noisy orientation data
Posted: Wed Jan 16, 2013 7:23 am
I'm experiencing some issues with Tracking Tools (2.5.1) regarding noisy orientation data. I'm trying to track the position and orientation of a small wheeled robot, to which I've attached three reflective 3/4" markers, forming a triangle on top of it (not using a Rigid Body Base or Track Clip - just affixed directly to the robot). I'm using a single Flex 13 camera mounted at the end of a microphone stand boom, facing down, parallel to the floor, since I only want to do simple 2D tracking.
In Tracking Tools, I set the camera up to use Projection Tracking with a marker size of 19.05mm, and create a trackable from the three markers on top of the robot. I then instruct the robot to follow a simple pre-programmed path, and record tracking data using the Tracking Tools GUI. This data is then compared to results from a simulation of the robot following the same path. The position data is recorded by Tracking Tools as I would expect, but the orientation data is very noisy, as can be seen in the following graphs:
http://i.imgur.com/WdKEw.jpg
Top left: Simulated position history (x, y) coordinates
Top right: Tracking Tools position history (x, y) coordinates
Bottom left: Simulated orientation history (degrees over time)
Bottom right: Tracking Tools orientation history (degrees over time)
As can be seen from the bottom right graph, the noise occurs when the robot is moving in a straight line, and is quite significant at around +/-5 degrees. Also, the top of the first peak is angled downward, as though the robot is turning, when in fact it is moving in a straight line. The robot moves very slowly, and turns smoothly - it is not the source of the noise. The reflective markers don�t appear to jitter in the Camera Preview, so this seems to be a problem with the tracking algorithm. If I set Orientation to True under the trackable Display Options, then I can see that the orientation is constantly jittering, even when the robot is stationary.
Does anyone know what might be causing this? I can think of three things that might be wrong:
1. The 3/4" markers are quite large relative to the size of the trackable, which might cause problems when trying to resolve the orientation of the triangle of three markers. The camera is 1.5m from the ground, the robot is 70mm in diameter, and the markers are each spaced 45-65mm apart. I don�t have room on the robot to spread the markers out further (which I assume would help), but would using smaller markers help?
2. I'm using Projection Tracking. Would I see an improvement with Vector Tracking?
3. I haven't performed any kind of calibration, as I don't have a Calibration Square or OptiWand. However, am I right in assuming that wanding is only necessary if you're using multiple cameras? I can see why ground plane calibration might be necessary though, perhaps doing this would solve these problems?
In Tracking Tools, I set the camera up to use Projection Tracking with a marker size of 19.05mm, and create a trackable from the three markers on top of the robot. I then instruct the robot to follow a simple pre-programmed path, and record tracking data using the Tracking Tools GUI. This data is then compared to results from a simulation of the robot following the same path. The position data is recorded by Tracking Tools as I would expect, but the orientation data is very noisy, as can be seen in the following graphs:
http://i.imgur.com/WdKEw.jpg
Top left: Simulated position history (x, y) coordinates
Top right: Tracking Tools position history (x, y) coordinates
Bottom left: Simulated orientation history (degrees over time)
Bottom right: Tracking Tools orientation history (degrees over time)
As can be seen from the bottom right graph, the noise occurs when the robot is moving in a straight line, and is quite significant at around +/-5 degrees. Also, the top of the first peak is angled downward, as though the robot is turning, when in fact it is moving in a straight line. The robot moves very slowly, and turns smoothly - it is not the source of the noise. The reflective markers don�t appear to jitter in the Camera Preview, so this seems to be a problem with the tracking algorithm. If I set Orientation to True under the trackable Display Options, then I can see that the orientation is constantly jittering, even when the robot is stationary.
Does anyone know what might be causing this? I can think of three things that might be wrong:
1. The 3/4" markers are quite large relative to the size of the trackable, which might cause problems when trying to resolve the orientation of the triangle of three markers. The camera is 1.5m from the ground, the robot is 70mm in diameter, and the markers are each spaced 45-65mm apart. I don�t have room on the robot to spread the markers out further (which I assume would help), but would using smaller markers help?
2. I'm using Projection Tracking. Would I see an improvement with Vector Tracking?
3. I haven't performed any kind of calibration, as I don't have a Calibration Square or OptiWand. However, am I right in assuming that wanding is only necessary if you're using multiple cameras? I can see why ground plane calibration might be necessary though, perhaps doing this would solve these problems?