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?


1 Answer 1


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?

  • $\begingroup$ GPS is useful as well, if your arbitrary distance to move is more than a few meters. $\endgroup$
    – Ian
    May 15, 2015 at 13:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.