Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Easy to use and accurate hand eye calibration which has been working reliably for years (2016-present) with kinect, kinectv2, rgbd cameras, optical trackers, and several robots including the ur5 and kuka iiwa.
| Date | Stars |
|---|---|
| 2026-07-24 | 614 |
| 2026-07-25 | 614 |
| 2026-07-28 | 614 |
| 2026-07-30 | 614 |
| 2026-08-06 | 614 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
ROS + CamOdoCal Hand Eye Calibration
====================================
This is a ROS node integrating the Hand Eye Calibration implemented in [CamOdoCal](https://github.com/hengli/camodocal). See this [stack exchange question explaining how Hand Eye Calibration works](http://robotics.stackexchange.com/questions/7163/hand-eye-calibration).
Example uses include determining exact transforms with both positions and orientations of a:
- camera attached to the floor is relative to a robot arm
- camera attached to a robot arm tip relative to a robot arm
- set of cameras attached to a moving vehicle (this is what camodocal itself implements)
- two robot arms bolted together
[keynote presentation explaining many details about hand eye calibration](https://www.icloud.com/keynote/AwBUCAESEJ6BPEHy1-J_58iY9QpDxmMaKWYQ8JT4T8wVxHSfiNn7vMJH1IuI3bnUaJeS8H0P8z768Qw95BLoFg2qMCUCAQEEILObYmsh9SaWe-3YhL6v1kNVeciwzjsktabBmlhsO661#Optimal_Hand_Eye_Calibration) for those that are interested. Practical code and instructions to calibrate your robot can be found below.
![Hand Eye Calibration Basics][1]
![Two Common Solutions to Hand Eye Calibration][2]
![AX=XB Hand Eye Calibration Solution][3]
![AX=ZB Hand Eye Calibration Solution][4]
Feeding data into CamOdoCal
---------------------------
1. Each measurement taken at a different time, position, and orientation narrows down the possible transforms that can represent the unknown X
2. Record a list of many transforms A and B taken between different time steps, or relative to the first time step
- Rotations are in AxisAngle = UnitAxis*Angle format, or [x_axis,y_axis,z_axis]*𝜃_angle
- ||UnitAxis||=1
- || AxisAngle || = 𝜃_angle
- Translations are in the normal [x,y,z] format
3. Pass both vectors into EstimateHandEyeScrew()
4. Returns X in the form of a 4x4 transform estimate
![Camodocal Hand Eye Calibration Details][5]
[1]: https://github.com/user-attachments/assets/02cac34b-3985-4fc7-a817-d459a37ee7f9
[2]: https://github.com/user-attachments/assets/57605a85-f34a-45e0-a915-ab09878e3c2e
[3]: https://github.com/user-attachments/assets/0e6bfdec-84be-4bdb-9300-ad9a6138500e
[4]: https://github.com/user-attachments/assets/0f2f52da-1bfb-4088-a2b6-4d7508523ae9
[5]: https://github.com/user-attachments/assets/1800f6a7-0d09-4bc4-9181-51414bba99e1
When using this with a robot arm, move it around to a variety of poses and orientations, make sure any data sources that lag behind settle down, then record each pair of poses between the robot base and the robot tip, and between the eye/camera base and the marker, fiducial, or AR tag it is viewing.
This will save out a yaml file with the results. Be sure to load the results into your system using the data formatted as a rotation matrix, dual quaternion, or quaternion + translation. Roll Pitch Yaw can degenerate and will often be inaccurate!
Installation
------------
### Linux
All dependencies can be installed via scripts in the [robotics_setup](https://github.com/ahundt/robotics_setup) repository on `Ubuntu 14.04` or `Ubuntu 16.04`.
### MacOS
On OS X you can use [homebrew](http://brew.sh) and the [homebrew-robotics](https://github.com/ahundt/homebrew-robotics) tap to install all dependencies.
### ROS (both Linux + MacOS)
Once you've completed the Linux or MacOS steps, follow normal ros source package installation procedures with catkin build.
### Dependencies
If installing manually, be sure to follow the instructions for each library as there are specific steps required depending on your OS.
- [ROS indigo or kinetic](ros.org)
- [OpenCV 2 or 3](opencv.org) with (recommended) nonfree components
- Note handeye_calib_camodocal does not call any nonfree components, but some users have had difficulty configuring CMake to compile and install all the other dependencies without them.
- OpenCV3 puts their nonfree components in [opencv-contrib](https://github.com/opencv/opencv_contrib).
- [Eigen3](eigenExcerpt of 17,456 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:90bc2e6a55a72c8b, topic:robotics, topic:ros, readme:robotics