Perhaps you could, if you have any encoders or servos with built in encoders, program your robot to turn a certain number of degrees which will in turn move your robot a certain distance based upon the radius of your wheels. For example, lets say your have two main drive wheels, each which have a radius of 3 cm. lets say your encoders can measure 360 degrees also. the circumference of each wheel is equal to:
2(pi)r
= 2(pi)3
= 18.85 cm
That means for every 360 degrees of rotation your robots main wheels the robot will move foreward or backwards 18.85 cm. Now lets say you want to travel 150 cm, simply divide 150 by 18.85 and then multiply by 360 degrees to get the amount of degrees needed to move the robot 150 degrees.
150/18.85
= 7.967559682 <-- dont round until your final answer
then
7.967559682*360
= 2864.721 <-- now round
= 2865 degrees Therefore, your servos with wheels which have a 3cm radius will need to rotate 2865 degrees in order to move 150 cm.
if you cant do this, you could always just time everything. For example give the servos a certain time to run for (lets say 10 sec.) and calculate the distance the robot travels. Do this numerous times and then average everything out to find the distance the robot travels in 10sec. Simple use the equation velocity=displacement/time to find the velocity of your robot (since your robot only moved foreward and backwards, in this case displacement is also equal to distance) once you know the velocity your robot travels at rearrange the equation so you can find the amount of time needed to travel a certain distance: time = displacement/velocity.
If you plan to time your robot, you can just use the $50 robot design, without the sensors.
Of course, with time, as with the encoders, make sure that there is enough traction between your robot and the floor so that your robot will not slide. to reduce slippage, you can simply slow down the speed of the servos.
as with the programming, i am still learning, and am pretty much clueless....sorry