Skip to content

General hand-eye calibration based on reprojection error minimization and pose graph optimization

Notifications You must be signed in to change notification settings

RMDLO/st_handeye_graph

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

st_handeye_graph

This package provides a general hand-eye calibration method which can be applied to pinhole and source-detector camera models.

Description

Unlike usual hand-eye calibration techniques, this method directly takes the images of the calibration pattern (including the chessboard and charuco board) and estimates the hand-eye transformation and the pattern pose such that the projection error of the pattern is minimized. Since it does not rely on algorithms dedicated for pinhole cameras, such as PnP algorithms, it can be easily adapted to different camera model by changing only the projection model.

Dependencies

  • g2o
  • VISP
  • handeye_calib_camodocal (optional, for only evaluation)

Usage

Include "st_handeye/st_handeye.hpp" and call "st_handeye::spatial_calibration_graph()". See "st_handeye.hpp" for the details.

Reproduce figures

git clone https://github.com/koide3/st_handeye_graph.git
git clone https://bitbucket.org/koide3/st_handeye_eval.git

mkdir st_handeye_graph/build
cd st_handeye_graph/build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j4

cd ../scripts
# run simulations and plot figures
./run_simulation.sh

# run chessboard calibration on real chessboard data and perform 3d reconstruction
# Note: change the PATTERN_ROWS and PATTERN_COLS variables in calibrate_charuco.cpp if the calibration target changes!
./run_calibration.sh

# run charuco board calibration on real charuco board data and perform 3d reconstruction
# Note: change the PATTERN_ROWS and PATTERN_COLS variables in calibrate_charuco.cpp if the calibration target changes!
./run_calibration_charuco.sh

# see the reconstructed point cloud
pcl_viewer data/points_3d_graph.pcd

Paper

Kenji Koide and Emanuele Menegatti, General Hand-Eye Calibration based on Reprojection Error Minimization, IEEE Robotics and Automation Letters/ICRA2019 [link].

Contact

Original Author: Kenji Koide, Intelligent Autonomous Systems Laboratory, University of Padova, Italy. [email protected].

Chessboard and Charuco Board modifications: Holly Dinkel, University of Illinois Urbana-Champaign. [email protected].

About

General hand-eye calibration based on reprojection error minimization and pose graph optimization

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Makefile 63.5%
  • C++ 20.6%
  • CMake 6.6%
  • C 5.2%
  • Python 3.7%
  • Shell 0.3%
  • TypeScript 0.1%