Recently I began to build a car-like robot and I stumbled upon dead reckoning. I use one motor for steering and one for traction. I want to be able to get the position of the robot. From what I have read 2 encoders should be used. But I am curious if you can use only one encoder on the motor shaft to get distance and a gyro + accelerometer to get the orientation of the robot.


1 Answer 1


Dead reckoning is not a measurement, it's a form of estimation. It is by definition inaccurate, and accumulates error over time. We use it when more precise forms of position measurement aren't available (because it's better than nothing) and only to the extent that the accumulated error stays below a desired bound. In other words: after your error reaches a certain threshold, you're better off not using the estimate than relying on something that you know is wrong.

To keep the accumulated error as low as possible, you'll want to use as much sensor data as you can. This is the opposite of what you're attempting to do (eliminating one of the encoders). So the answer to your question is "yes", you can use only one encoder... but your estimates will suffer for it.

  • $\begingroup$ Well i can't fit a high precision encoder on the wheels. I can get only 30 tick/rev, which is very low and will yield large errors in orientation. From my understanding small error in heading give small errors in position. So i plan to use a gyro + accelerometer. To be more precise i intend to use the MPU-6050 (which seems to measure accurately the orientation angle up to +-0.5 deg) $\endgroup$
    – user4281
    Apr 28, 2014 at 21:38
  • $\begingroup$ Every dead reckoning estimation is different, depending on the sensors available to you. Given the error bounds on the individual sensors you choose (and the calculations you do to guess your position), you'll have to work out how much time can pass before your estimates are no longer meaningful. $\endgroup$
    – Ian
    Apr 29, 2014 at 14:06
  • 2
    $\begingroup$ Small heading error will accumulate to a larger position error pretty quickly by a factor of 2*tan(errAngle/2), meaning that after going "straight" 5 meters and being wrong about the heading for 5 degrees, you'll be around 20cm away from where you think you are. $\endgroup$ May 5, 2014 at 13:57

Your Answer

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