ENcoder speed from -1 to +1

Hello! At this point, we’ve figured out how to program just about every sensor type available to us except the encoder. Now we would like to, but from what I’ve read, the data type returned is in RPM. For our application, we need it to return a value from (-1) to (1). We would like to gather the data from the sensors while the motors are not under their own control (while we are pushing it), so I don’t think we can read the voltage from the motor controllers for this task. Any help would be great!

The most basic data returned from a rotary quadrature encoder is the total amount it has turned since the count was reset to zero. The FPGA also computes a rate based on the time between “ticks” of the encoder. The rate is presented in counts per second (scaled by an optional “distance per count” that you can set when you configure the encoder).

What do you plan to do with the encoder information you gather while the robot is being pushed?

Basically, we would like to “record” the speed of each motor every tenth or hundredth of a second, then store that data somehow (someone said it could be stored in a text file). We’ve devided a method of playing back data (we randomly chose two sets of 150 numbers between -1 and +1, one set for the left and one for the right) which works pretty well in concept. We just need real data to use. Is there any other way to do this (if the encoder method fails)?

Do you want the speed you are sending to the motor? If so you can use the Get() method from your motor to record it. If you want the current speed of your wheel use the GetRate() method from your encoder. Be sure to use the pulse number of your encoder and the circumference of your wheel to find the distance per pulse for each encoder.