For our offseason robot, we are planning on making a double jointed arm with the gearboxes for the rotation of the joints moved into the base through long chain runs with tensioners. If we put an absolute encoder on the output of the gearbox which would contain the sprocket, will there be enough backlash to mess with programming and encoding? Or should we put the absolute encoder on the actual joint after the long chain run? One of the joints will have two long chain runs after the gearbox. Should the absolute encoder for this joint be moved to the joint itself, or will the output of the gearbox suffice? We have very little experience with actually using encoders for rotation joints which is why we are doing this for offseason.
Well, it depends a little bit on what you are going to be using the encoder for. If you are going to use it for a fairly fast, high rate PID loop to the motor, then you actually want the encoder as close to the motor as possible (with as little backlash between the motor and the encoder as possible) to get a stable PID control. However, this will mean a higher level of uncertainty with the arm position.
If the arm is always going to load the same side of the chain and therefore always be working on one end of the backlash, you will probably have fairly repeatable positions with this arrangement. But if the arm goes through vertical during its movement such that gravity will pull it down toward the opposite side once you pass through vertical you will have difficulty relating the encoder position to the arm position due to the backlash.
We had an encoder on our initial hatch grabber this season that flipped from one side to the other. The encoder was on the arm itself and we had a 3 stage gearbox with a final 1:1 gear to power the arm, so there was a decent amount of backlash between the motor and the arm. The backlash caused a few challenges, but luckily, we had end stops, so the motor was really just controlling the speed to make sure we did not hit the end stops too hard. We did use the motor to try to hold the arm up in the air to protect it when we were not cycling hatches. We could not hold the arm too close to vertical or the backlash would cause the arm to flip from side to side and the motor PID loop would go a bit whacky trying to hold position. But if we held the arm at 60 degrees from horizontal, the motor would hold position fairly well. We eventually abandoned that arm mechanism for reasons unrelated to the backlash or the encoder, so we really only had one competition’s worth of experience with it.
Unless there is an overwhelming reason not to do so, put the encoder on the thing you really want to measure (that is, the final output shaft).