So we’re using a Rev Through-Bore encoder on an arm on our robot, connected directly to the associated SPARK. We also have another Rev Encoder attached to a wrist, also connected to its associated SPARK.
When we shut off the robot and move around the arm and wrist, then turn on the robot in a new position, the arm’s encoder readings change, whereas the wrist’s encoder readings stay consistent.
To my knowledge, the wiring and whatnot is consistent between the two.
Is there anything we should look into to make the arm’s encoder readings stay consistent?
the arm’s encoder readings change, whereas the wrist’s encoder readings stay consistent.
When you say “change”, do you mean the value is different, which is expected? Or the value for one arm position is different than a value for that same position after a power cycle?
We spent about a week debugging an issue very similar to this in build season with the REV absolute encoder not maintaining it’s “absoluteness”. Was very frustrating and ended up ditching the encoder completely due to it’s poor performance. .getAbsoluteEncoder would repeatedly give inconsistent values that were not “absolute” and seemed to somehow be related to boot time location of the pivot location. The encoder was also giving us erroneous values on startup, if we read values too quickly it would give a random number.
We tried swapping hardware, same issues. In 2023 we used the sensor in the exact same way and had no issues for multiple parts of our robot.
No clue why it was happening, but that poor experience, along with this moved us off of using that Rev through bore encoder again in the future.