Translation the shaft encoder data

Hi all,

Have a nice day ,

I am designing a robot in real world and i want to plot everything in X,Y (Cartesian) coordinates I just want to use the encoders of wheels to determine the current position of mobile robot and its orientation depending on a specific calculation formula (like this rossum.sourceforge.net/papers/DiffSteer/ ) even if that will lead to inaccurate calculations .

Actually , I found out this formula below to compute x, y coordinates from encoder data but I still confused in some sides of this formula


I had a Rover 5 chassis form Dagu with two normal DC motors and two encoders (incremental rotary encoder) per each wheel, how could I translate the pulses of encoders or how to work out the x.y position of the robot based on the shaft encoder data.

I deduced some of values from Rover 5 chassis :

cm = conversion factor that translates encoder pulses into linear wheel displacement Dn = nominal wheel diameter (in mm)

about 20 Cm

Ce = encoder resolution (in pulses per revolution)

Encoder resolution: 1000 state changes per 3 wheel rotations

n = gear ratio of the reduction gear between the motor (where the encoder is attached) and the drive wheel.

Gearbox ratio: 86.8:1

In Rover 5 chassis there are 4 small wires with female headers. RED is +5V for the encoder , BLACK is 0V (ground) , WHITE is signal A , YELLOW is signal B . The impotent wires in each encoder are signal A and signal B ,so

How to get values of NL , NR in the formula above from signal A & signal B ?

Is the value of NL is the direct value from wire signal A or signal B ? the same question for NR .

Thanks a lot

No. The wheel can be rotating either forwards or backwards, and you have to properly accumulate forward and backward increments to determine how far the wheel has moved. Google “quadrature wheel encoders” for more info, but here are a couple of possibly useful links:
psurobotics.org/wiki/index.p … l_Encoders
robotoid.com/appnotes/circui … oding.html