Operation steps:
EyeInHand:
- Import camera parameters from param.txt into the input_EyeInHand folder.
- Capture 8 BMP and TIFF images with different poses into the input_EyeInHand folder. Import the positions of the robot arm under 8 different poses (order: Rx, Ry, Rz, X, Y, Z).
- By default, use a calibration board with a 20mm center distance (link). Otherwise, modify CircleObjectPointsGenerate function accordingly.
- Run the calib EyeInHand() function under calib.py
- Check the "output_EyeInHand/result.txt" (order: rotation_matrix[0:9], traslation_vector[0:3])
- Result verification: open .xyz files generated in the "output_EyeInHand/" folder into CloudCompare to check the overlap of the centers.
EyeToHand:
- Import camera parameters from param.txt into the input_EyeToHand folder.
- Capture 5 BMP and TIFF images with different poses into the input_EyeToHand folder. Import the positions of the robot arm under 5 different poses (order: Rx, Ry, Rz, X, Y, Z).
- By default, use a calibration board with a 40mm center distance. Otherwise, modify CircleObjectPointsGenerate function accordingly.
- Run the calib EyeTonHand() function under calib.py
- Check the "output_EyeToHand/result.txt" (order: rotation_matrix[0:9], traslation_vector[0:3])
- Result verification: open .xyz files generated in the "output_EyeToHand/" folder into CloudCompare to check the overlap of the centers.