marcoesposito1988/easy_handeye2

Automated, hardware-independent Hand-Eye Calibration for ROS2

What it solves

Hand-eye calibration is the problem of finding the fixed spatial transform between a robot's coordinate frame and a camera (or tracking system). This package automates the process, making it easy to sample robot and tracker poses, compute the calibration matrix, store it, and use it at startup.

How it works

It samples robot position and tracking system output via TF, uses OpenCV's hand-eye calibration algorithms (e.g., Tsai-Lenz) to compute either eye-on-base or eye-in-hand matrices, stores results in a YAML file, and publishes them as a TF transform. It provides a GUI for sample acceptance and optional automatic robot movement via MoveIt!.

Who it’s for

Roboticists and ROS2 developers who need to calibrate a camera or tracking system with a robot, for tasks like collision avoidance or vision-guided manipulation.

Highlights

  • Supports both eye-in-hand and eye-on-base calibration types.
  • Automates sampling, computation, storage, and publishing of the calibration result.
  • Works with any tracking system that publishes TF frames (e.g., AR markers, RGBD cameras).
  • Includes launch files to integrate easily into existing ROS2 systems.
  • Can be tested in a simulator via the easy_handeye2_demo package.

Related

  • Project
  • Project
  • Project
  • Project