I'm trying to hack an electric RC car with the goal to make it autonomous, as part of my PhD research. The mounted ESC is able to send back telemetry data, including the spinning velocity (in RPM) of the brushless motor used as tracking system.

I'm wondering if it could be possible to estimate the vehicle forward velocity from this information, noting that the vehicle has three differentials and therefore negating a trivial relation between wheel velocities and motor rotations.

I'm aware that there is no way to detect slipping, but I the car will work with modest velocities and smooth accelerations, therefore an estimate of the wheel velocities should still be a significant information in e.g. a Kalman filter that fuses it with IMU data.

I've searched for anything related in literature, but nothing seems to be released on this topic.

Note: vehicle differentials are supposed to be configured as open differentials, but not sure of this.


1 Answer 1


This project does exactly that on an RC car. The author is a top competitor in the DIYRobocars community; it's the blue car in this video. He uses tachometry from the brushless motor, an IMU and visual odometry for localization. I don't know the code well enough to point you to any specific file.

  • $\begingroup$ Sorry, I was able only today to take a look at this. Thanks, it's a great project! How do you find it out? $\endgroup$
    – Maik93
    Jan 26, 2021 at 19:05
  • 1
    $\begingroup$ I compete in the DIYRobocars races as well. The author has just released a really great article on his blog explaining the derivation and implementation of his visual odometry algorithm; a1k0n.net/2021/01/22/indoor-localization.html $\endgroup$
    – Ezward
    Jan 28, 2021 at 1:40
  • $\begingroup$ thank you again and happy racing!! $\endgroup$
    – Maik93
    Jan 28, 2021 at 15:17

Your Answer

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

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