I am using a differential drive robot and would need to have access to the encoder counts from the simulator, but I cannot find an encoder plugin anywhere. Since encoders are one of the most basic sensors in mobile robotics, I assume that there is already an existing solution to simulate them in Gazebo. To make it clear, I know that differentialDriveController outputs the odometry alreade, but I would need to go lower level and access the counts of the wheels.

Thank you in advance!


  • Ubuntu 22.04
  • ROS2 Humble
  • Gazebo classic 11
  • Description file format: URDF.
  • $\begingroup$ You want to simulate A/B encoders for position or ticks for velocity only? However, I'm not aware of such a plugin. Being curious: Why you want to simulate this at all? Isn't this the job of you hardware driver to calculate the joint states? $\endgroup$ Sep 15 at 6:15
  • $\begingroup$ Thanks. I want to use the ticks for velocity estimation. The reason I'd like to go low level is that I want to make a material to explain (teach) some people how encoders work and how they are used to estimate speed. $\endgroup$
    – S07
    Sep 18 at 10:41


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.