ethz-asl / hand_eye_calibration

Python tools to perform time-synchronization and hand-eye calibration.
BSD 3-Clause "New" or "Revised" License
429 stars 115 forks source link

about the trajectory to move the manipulator #90

Closed XiaoshanLin9701 closed 5 years ago

XiaoshanLin9701 commented 5 years ago

Hi, I am trying to use your tool for hand-eye calibration but do not get a good result. I place a 4 by 5 Aruco board on the desk and move the manipulator around the Aruco board to create my own csv files. But when I run the code to calibrate the camera, it throw the following warning: "The singular values of this solution are bad. Either the smallest two are too big or the first 6 are too small! " And the result of the calibration is very poor. The resulting transformation matrix is totally different from the one I get using Tsai's method.

Is that because the trajectory I choose for the manipulator is not good enough, or I don't have enough data in the csv files? The trajectory is chosen randomly, and I have 40 poses in each csv file.

1869725925

XiaoshanLin9701 commented 5 years ago

Made a big mistake. I used the the pose of the aruco calibration board instead of the camera pose in reference to the world frame.

johnjin404 commented 4 years ago

hello ,,i also got this problem, but , i use the camera_pose indeed,,here is my aligned_data

camera_aligned.txt vicon_aligned.txt

I need to use this package to calibrate extrinsic param between the realsense camera and the vicon markers(rigidbody) stick on the camera. data describtion: vicon_aligned: --poses_B_H_csv_file camera_aligned: --poses_W_E_csv_file (localize the camera with one ARUCO marker)

After the calibration routings ,I got this The singular values of this solution are bad. Either the smallest two are too big or the first 6 are too small! singular values: [ 5.61685252 5.00851638 4.4412948 4.10509097 3.46701731 3.09330403 1.82952841 1.55362262]

Do u know how to solve this?Is there any problem about the data collecting.Thank you!