Skip to content

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.

The Skill

python
poses = calibrator.compute_camera_T_target_list(
    image_list, robot_T_tcp_list, intrinsic_matrix, distortion_coefficients,
)
SkillReturnsDescription
compute_camera_T_target_list(image_list, robot_T_tcp_list, intrinsic_matrix, distortion_coefficients)AlignedTargetPosesChArUco detect + solvePnP per frame with fixed K, d. Drops frames where detection or solvePnP fails, keeping all three returned lists aligned. ChArUco targets only.

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