— This paper describes a visual odometry algorithm for estimating frame-to-frame camera motion from successive stereo image pairs. The algorithm differs from most visual odometry algorithms in two key respects: (1) it makes no prior assumptions about camera motion, and (2) it operates on dense disparity images computed by a separate stereo algorithm. This algorithm has been tested on many platforms, including wheeled and legged vehicles, and has proven to be fast, accurate and robust. For example, after 4000 frames and 400m of travel, position errors are typically less than 1m (0.25% of distance traveled). Processing time is approximately 20ms on a 512x384 image. This paper includes a detailed description of the algorithm and experimental evaluation on a variety of platforms and terrain types.