Compute Target Poses
SUMMARY
compute_camera_T_target_list() runs ChArUco detection plus solvePnP per frame with a fixed K, d, producing the camera_T_target_list you can feed into EyeInHandCalibrator.calibrate()'s strict pass-through mode. ChArUco targets only.
SUPPORTED TARGETS
Available only on CharucoTarget. Per-corner ArUco ids are required to solve a per-frame target pose.
UNITS
Input images are BGR ndarrays and intrinsic_matrix is a (3, 3) matrix in pixels. Returned camera_T_target_list holds (4, 4) SE(3) matrices with translation in meters.
The Skill
python
poses = calibrator.compute_camera_T_target_list(
image_list, robot_T_tcp_list, intrinsic_matrix, distortion_coefficients,
)The Code
python
from telekinesis.axon import EyeInHandCalibrator
from telekinesis.axon.targets import CharucoTarget
target = CharucoTarget(squares_x=6, squares_y=9, square_length=0.012, marker_length=0.009)
calibrator = EyeInHandCalibrator(target)
poses = calibrator.compute_camera_T_target_list(
image_list, robot_T_tcp_list, intrinsic_matrix, distortion_coefficients,
)
poses.camera_T_target_list
poses.valid_image_list
poses.valid_robot_T_tcp_list