-
Notifications
You must be signed in to change notification settings - Fork 11
Description
I encountered significant pose errors using the Mech-Eye SDK Python example for hand-eye calibration (handeye_calibration.py). I am using an eye-in-hand configuration with the following setup:
Setup Details:
- Robot: UR10e
- Camera: Mech-Mind PROS (mounted on robot flange)
- Calibration Board: CGB-35
- SDK Version: 2.5
- Calibration Type: Eye-in-hand
- Samples Taken: 15 captures
- Capture Quality: All detections were marked green (assumed valid)
Data Format:
Robot poses are fed as translation (x, y, z) in millimeters
Rotation as Euler angles in degrees, following the Z-Y′-X″ (intrinsic) order (assumed as the expected rotation vector format)
However, after running the calibration, the resulting camera-to-TCP transformation produced a translation offset of approximately 40 centimeters from the expected position. Additionally, the orientation of the resulting transform was incorrect and did not align with the actual motion of the robot.
To troubleshoot, I attempted using different rotation conventions, including X-Y′-Z″, but the calibration results were consistently inaccurate. I also tried increasing and decreasing the number of samples and ensured I had a good distribution of camera viewpoints and angles, but none of these variations resolved the issue.
I would like to clarify a few things that may be contributing to the problem. First, is Z-Y′-X″ (intrinsic) indeed the correct Euler angle convention for the input poses, or is the API expecting a rotation vector instead? The documentation seems ambiguous on this point. Second, is it possible to provide an initial guess for the camera-to-robot transform to improve the calibration result?
At the moment, despite what appear to be valid samples and captures, the calibration result is unusable due to the large translational and rotational error. I would appreciate any guidance on how to properly format the input, as well as confirmation of the expected pose conventions. If helpful, I can provide example input data or log files.
Thank you for your support.