Skip to content

An open-source Python library for extrinsic sensor calibration.

License

Notifications You must be signed in to change notification settings

shuj11111/excalibur

 
 

Repository files navigation

Excalibur

An open-source Python library for extrinsic sensor calibration. We provide various solving and optimization methods for different calibration formulations:

  • Point set registration / point-to-point matching
  • Pose set registration / frame-to-frame matching
  • Bundle adjustment / point-to-line matching
  • Hand-eye calibration
  • Hand-eye robot-world calibration

Installation

Clone the repository and run the following command in your Python environment:

python3 -m pip install .

This command should automatically install Excalibur and all requirements.

Usage

Transformation data are stored and passed using our open-source Python library motion3d which handles, e.g., the conversion between different transformation representations or the conversion between motions and poses. For more information, please visit the motion3d repository: https://github.com/mhorn11/motion3d

All supported formulations have their own base class that provides a Factory function, enabling string-based initialization of methods. Further, all methods can also be initialized directory using the respective class. Each class provides a method for setting the input data, e.g., set_transformations(...) for hand-eye calibration, and a calibrate method for computing the result. The result contains the estimated calibration, run time and other auxiliary data.

We are still working on a detailed documentation. For now, you can check our unit tests in the test directory or our evaluation scripts in the publications directory for examples.

Please be aware that the interfaces also might change between different version, as we are still trying to improve the usability. If you have any issues or suggestions, don't hesitate to write an issue or to contact us directly via e-mail.

Publications

The publications directory contains scripts and data related to the following publications of our DualQuaternionQCQP methods for hand-eye calibration and hand-eye robot-world calibration:

Be aware that we have made improvements and bugfixes since the publications, so the results and run times might differ from the ones in the publications. Please cite the respective publication if you are using Excalibur for your own research. You can find the Bibtex citations in the CITATIONS.bib file.

About

An open-source Python library for extrinsic sensor calibration.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%