hand_eye_calibration
Hand-eye calibration workflow.
This module defines the interactive hand-eye calibration workflow for camera-robot setups. It supports both eye-in-hand and eye-to-hand configurations, including sample collection, live board detection visualization, repeated calibration over accumulated samples, and result selection based on calibration error metrics. The module integrates robot poses, captured images, and camera intrinsics to drive end-to-end calibration sessions.
Key functionalities include: - Interactive calibration loop for eye-in-hand and eye-to-hand modes. - Synchronized acquisition of robot TCP poses and camera images. - Live ChArUco detection and base-pose visualization during data collection. - Incremental calibration execution as new samples are captured. - Multi-method calibration evaluation and best-result tracking by error. - Structured persistence of collected samples and calibration outputs.
- robotblockset.cameras.hand_eye_calibration.do_camera_robot_calibration(mode: str, aruco_dict: cv2.aruco.Dictionary, charuco_board: cv2.aruco.CharucoBoard, camera: RGBCamera, robot: robot, calibration_dir: str | None) None[source]
Run hand-eye calibration.
Do hand-eye calibration, both eye-in-hand and eye-to-hand are supported.
- Parameters:
mode (str) – Calibration mode, either
"eye_in_hand"or"eye_to_hand".aruco_dict (ArucoDictType) – ArUco dictionary used for the ChArUco board.
charuco_board (CharucoBoardType) – ChArUco board used for calibration.
camera (RGBCamera) – Camera used to collect the calibration data.
robot (robot) – Robot used to collect the calibration data.
calibration_dir (str, optional) – Directory in which calibration samples and results are saved. If
None, a new directory is created automatically.
Functions
|
Run hand-eye calibration. |