Visual odometry (VO) is a problem where the camera's ego motion (how it moves through 3D space) is estimated by tracking how image features change across a video sequence. As having odometry in its name implies, error grows over time and is unbounded. VO is surprisingly accurate, with translational errors from 2% to 4% of distance traveled being common. The downside to VO is that it is dependent on lighting conditions and the amount of texture available. For example, when the sun is low in the sky it will often blind a camera and when indoors there might not be enough texture.
BoofCV provides several VO algorithms with example code and data.
BoofCV plans to provide a set of algorithms for monocular, stereo, and 3D depth cameras. Currently only algorithms are available for stereo cameras. Monocular refers to only using a single camera and is typically the least accurate. Stereo refers to systems which use two cameras, while more accurate these can be difficult to setup correctly. 3D depths cameras are systems which provide the distance a pixel is from the camera, like the Kinect.