moveit / moveit_calibration

Hand-eye calibration tools for robot arms.
BSD 3-Clause "New" or "Revised" License
142 stars 79 forks source link

Distance from charuco target to optical frame is completely off #117

Closed Olimoyo closed 2 years ago

Olimoyo commented 2 years ago

Hi,

I was trying to calibrate my panda arm to a realsense camera and I noticed something very strange: the distance from the optical frame to the target is completely off as seen by the image below:

calibration

For reference, the target's height should be right around the base of the arm. It seems like the projected frame on the image is reasonable in the image to the right. I was wondering if anyone had a similar issue? My first instinct was that something was wrong with the intrinsics of the camera.

Thanks! Oliver

Olimoyo commented 2 years ago

As a comparison, I also tried using https://github.com/marcoesposito1988/easy_aruco and this is what I get: easy_aruco

The result seems a lot more reasonable (minus the offset from using panda_link8 as the "camera frame") using the exact same input from the RealSense. This makes me think that the camera's inputs are fine (i.e., intrinsics and image topic).

Olimoyo commented 2 years ago

I tried using different parameters for the board, but I still get really strange results: calibration_diff_board

joelbudu commented 2 years ago

@Olimoyo Did you check the Target Params to be correct?

Olimoyo commented 2 years ago

I kept those values as the ones I entered when creating the board -- but they don't match the physical board so that might be it.

I think I misunderstood what the GUI was doing and thought that these parameters would be consistent. I just re-entered the same values when calibrating as the ones I had when I clicked "Create Target".

I'll give it a shot later and see if that's it, thanks!

Olimoyo commented 2 years ago

I did not have time to test this, but I'm assuming the target params were wrong.