I am triying to calibrate a RGB-D Realsense camera , with an eye in hand configuration. I have the following set-up:

enter image description here

I know the transformation matrix between base/ef and cam/obj. I want to solve transformation between ef/cam.

I am using the following method:

enter image description here

Where AX=XB. I have those questions:

  1. To solve transformation between base/ef, I have the cartesian pose of the robot (x,y,z, Rx,Ry,Rz). Those rotations are euler angles? If there are not, how coul I convert those rotations to a rotation matrix?

  2. If I have A and B matrix, which way should I use to solve X matrix?

I have used cv2.calibrateHandEye method in python and it doesn gave me the expected solution so I want to solve with AX=XB. I don not have the robot in ROS.


1 Answer 1


Edit: I was mistaken about the specific question you asked. As asked, your question is not fully determined.

You need to know the base/obj relationship as well for this to be fully determined, otherwise there are an infinite number of possible transforms.

Assuming that the base is at the origin of your world space, and the object is at transform "O" in world space, and C is cam/obj, and E is base/ef, then we know:

E = X * (C-1) * O

Then in turn

E * (O-1) * C = X

  • $\begingroup$ Thanks a lot. Do you know the mathematics method to solve it? $\endgroup$ Commented Apr 21, 2023 at 13:04
  • $\begingroup$ Actually, looking at it more -- there are an infinite number of solutions to the problem as stated. You need to also know the base/obj transform for this to be determined. $\endgroup$
    – Jon Watte
    Commented Apr 21, 2023 at 20:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.