Autonomous vehicles rely on the accurate estimation of their pose, speed and direction of travel to perform basic navigation tasks. Although GPSs are very useful, they have some drawbacks in urban applications that affect their accuracy. Visual odometry is an alternative or complementary method because provides the ego motion of the vehicle with enough accuracy and uses a sensor already available in some vehicles for other tasks, so no extra sensor is needed. In this paper, a new method is proposed that detects and tracks features available on the surface of the ground, due to the texture of the road or street and road markings. This way it is assured only static points are taken into account in order to obtain the relative movement between images. A Kalman filter improves the estimations and the Ackermann steering restriction is applied so the vehicle follows a constrained trajectory, which improves the camera displacement estimation obtained from a PnP algorithm. Some results and comparisons in real urban environments are shown in order to demonstrate the good performance of the algorithm. They show the method is able to estimate the linear and angular speeds of the vehicle with high accuracy as well as its ability to follow the real trajectory drove by the vehicle along long paths within a minimum error.