cv::calibrateHandEye get all error(0) answer

1.I had two camera fixed in rigid connection;two calib board fixed in rigid connection;
2.two camera have no cross of vision like the ;
3.take the photo from different views (60 pics);
4.get rvecs and tvecs from cv::calibrateCamera;
5.called like below to solve the AX=XB problem:

cv::Mat rvecsMat_cam1_to_cam2;
cv::Mat tvecsMat_cam1_to_cam2;
cv::calibrateHandEye(OneCameraCalibrateResult_2.rvecsMat_inv,
OneCameraCalibrateResult_2.tvecsMat_inv,
OneCameraCalibrateResult_1.rvecsMat,
OneCameraCalibrateResult_1.tvecsMat,
rvecsMat_cam1_to_cam2,
tvecsMat_cam1_to_cam2);

I get answer as :
rvecsMat_cam1_to_cam2
[1, 3.647447476165696e-13, 7.051143343539945e-13;
-3.647447476165694e-13, 1, -3.548007955981163e-16;
-7.051143343539947e-13, 3.548007953409295e-16, 1]
tvecsMat_cam1_to_cam2
[3.589023186989785e-11;
-1.842345545409878e-10;
2.233406278928524e-10]
distance from cam1 to cam2
2.91739e-10

The groud true distance is about 420mm;

Who can help me to find where is wrong?