I just got my Aluminum AR3 up and running yesterday and I noticed that the global cartesian moves were a few degrees off of where they should be. It seems like this is due to the homing operation and variations in switch location/performance. I will likely switch over to inductive switches in the near future, but this seems like a good general topic for discussion. I have not found any threads that directly address this issue. I'm looking for advice on:
How to adjust the "software zero" such that the robot is actually where it thinks it is and the inverse kinematics work properly. The variation in switch locations from build to build could easily vary by a few degrees.
Has anyone developed a good procedure for calibrating this zero? I have some ideas, but would love to hear from anyone who has gone through this process.
I'm linking to this thread, because it is awesome and I expect it to be very beneficial towards improving the initial calibration of the arm on startup. https://www.anninrobotics.com/forum/general-discussion/ar3-hardware-mods
AR3 is using below mechanism to get position: 1. move each joint until limit switch 'on'
2. then it override hardcoded position value into encoder (the max value is indicated in AR3 program) 3. then it use some maths calculation to calculate the degrees So, there is no zero, it have max position instead. The calculation of degree 100% rely on when the limit switch turn 'on'. Now matter you change to what kind of limit switch you just need to remember this.