I have been working on determining the angle from the encoders. I recall running up against a similar problem to the one that you are facing.
First off, unless you are spinning the wheels really fast, the encoders should not give readings like that (508.8 counts per revolution means that you would be spinning the wheels ~130 revolutions in 100 ms--practically light speed for the Create 2). For this reason, I suspect that there is something odd going on inside the Create 2. I would suggest resetting the Create 2 using Op code , then trying again; this fixed my problem.
When you try again, you should do the following:
- Connect to a computer and setup using RealTerm, or some other simlar program.
- Reset the Create 2 with .
- Send the following string of commands: [128 131 149 2 43 44]. This will print the encoder counts of each wheel each time you send the commands.
If this does not work, try taking out the battery and putting it back in, then repeating steps 1 and 3 above.
In addition, there are some things that you should keep in mind. From an earlier post (iRobot Create 2: Encoder Counts) and the updated OI specs, the encoders are square wave and do not keep track of the direction of spin directly, so you should see only positive increases in the encoder count, regardless of spin direction.