I’m having an issue using the goto() command to achieve consistent positioning and we’re trying to ascertain whether this is a hardware or a software issue. Currently I’m trying to use Reachy’s left arm to move lightweight rings from one post to another (for the Tower of Hanoi puzzle) and having some positioning issues.
For right now, the movement pattern is simplistic:
- go to a spot above the post holding the ring
- drop directly down to the ring height
- grab the ring
- return to the same position as item 1
- move to new post and drop the ring
The problem occurs when I attempt to do action 4: the arm doesn’t ever achieve the same height even though I am using the exact same goto() argument as in item 1, and the gripper should only be moving directly upwards ~10cm. This causes the gripper to hit the post when attempting to move to the next goal position.
This happens whether or not Reachy is actually holding the ring, so weight is not an issue. In addition, we’ve noticed that the movement of the left arm in general is very jerky, regardless of duration/interpolation method used in goto(). Our Reachy was upgraded to 2021 software, but only some of the hardware was updated. Both elbow motors were replaced, but the left elbow received an older motor model. When moving both arms in compliant mode, the left elbow is noticeably stiffer and “jerky”. In fact if you put the left arm bent at a right angle, sometimes it will hold the position even in compliant mode.
So, my question is do you think this issue is a result of the left elbow motor being somehow defective, or is this a problem directly related to how the goto() function operates?
Thanks in advance,