Thanks, @Piotr for this answer.
We did some hand-eye calibration but we got mixed results. You might want to try to:
- Increase the separation between ArUco makers. I think 1 mm is to small of a gap. Our board had a 1cm gap. Also we've noticed that the bigger the markers are the better camera position estimate.
- Try different software. We used this package: https://github.com/IFL-CAMP/easy_handeye. In it you can also find some tips on what kind of robot movements are the best for the calibration process.
- I'm not sure if I understand the package instruction correctly, but I would try to set, depending on what you want to achieve, the "End-effector frame" as the last link of the robot or as your TCP (create a new frame at the end of the rod). Next roughly measure the distance of the camera from that point and put it in as the initial guess.
I hope some of this suggestions will help.