Servos can be of two types.
The standard servo has a potentiometer that measures at what degree the servo is. Such servos can only rotate so far before they ht the stops. Typically this is less than half a turn, although there is one that will do 7 turns.
A continuous rotation servo has the pot disabled, as such it's speed varies with pulse width, but it will lose position accuracy since it has no position feedback. That pretty much takes servos out of the running for your project.
Very few robots steer the same way that car would as such when they turn at least one of the wheels will skid a bit as it it turns. It will be difficult to get 1 cm accuracy due to that, and for that matter other factors.
All ultrasonic distance detectors have a beam width, even the narrow beam ones will be fairly wide, as such you will probably only get the distance to the nearest large reflection that is within the beam width. For a very narrow beam you will need something like lidar.
You have a tough project.
Kinect can map the enviornment, but I doubt that it will have 1 cm accuracy and it would need at least a Raspberry Pi 2 to process.