I want to move a robot to a certain distance say 1 meter. What are the different ways that i can implement to do so? For example I can measure the circumference of the wheel and assign time of rotation to move it. what are other techniques to achieve this?
There are far too many to list them all here but I can list the most common ones:
As you said base the movement off the motor RPM, and the diameter of the wheels and move for a period of time. This is not normally very accurate and can result in the robot "leaning" one way or another.
Use potentiometers to directly measure the wheel rotation and bring the robot to a halt when the desired distance is reached, this can be more accurate
Measure an external reference with somthing e.g. ultrasonic sensor, camera, lidar etc. this can have varying degrees of accuracy depending on the specific setups but can be very good
Use an optical flow sensor to measure the ground movement under you e.g. laser mouse sensor , this can have varying degrees of accuracy but generally very good
Use a ball mouse in the same fashion, generally less accurate, and needs a very flat smooth surface.
What specific application do you have in mind?