jhu-lcsr / handeye_calib_camodocal

Easy to use and accurate hand eye calibration which has been working reliably for years (2016-present) with kinect, kinectv2, rgbd cameras, optical trackers, and several robots including the ur5 and kuka iiwa.
BSD 2-Clause "Simplified" License
543 stars 178 forks source link

Calibrated values has high deviation #40

Open meeravi17 opened 8 months ago

meeravi17 commented 8 months ago

I have been attempting to perform calibration using the calibration methods mentioned above. While I achieved consistent results with the provided sample dataset, I encountered significant variations when using custom datasets. The dataset pertains to a UR robot, where T1_0 represents the transformation from the end effector (ee) to the base, and T1_1 contains information about the transformation from the camera to the object.

The calibration object consists of two spheres separated by a distance on a flat plate. I employ a line profile sensor to gather information about the sphere centers (tx, ty, tz) and components along the I, J, K directions in the x, y, and z axes. This information is used to construct a transformation matrix. After several iterations, I observed convergence, but there is a persistent small deviation of 6mm along the x, y, and z axes, particularly with a relatively large error along the z-axis. The units are in mm and radians. output.json

Before refinement:

[[-2.52663337e-01 -9.56706422e-01 1.44478578e-01 -7.88199806e+01] [-9.65231410e-01 2.38889981e-01 -1.06112684e-01 -1.68174602e+02] [ 6.70042015e-02 -1.66266047e-01 -9.83801829e-01 5.02880690e+02] [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.00000000e+00]]

After refinement: Ceres Solver Report: Iterations: 24, Initial cost: 9.949470e+05, Final cost: 2.781073e+02, Termination: CONVERGENCE

[[-8.02416568e-02 -9.95705290e-01 4.61763116e-02 -7.51493052e+01] [-9.96358056e-01 8.14624242e-02 2.51892252e-02 -6.68584297e+01] [-2.88426791e-02 -4.39869149e-02 -9.98615667e-01 3.76285022e+02] [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.00000000e+00]]