I have a high precision stereo camera and a robot which are independent units (the camera is not mounted to the robot). I wish to compute a transformation from the camera frame to the robot base frame. The robot kinematics are characterised, so such a calibration would enable me to manipulate world objects using the camera for perception.

I'm assuming the AX=XB approach is familiar to someone reading this question. But with Kabsch I was thinking:

  1. Set the robot end effector to at least 3 positions (not co-linear) with a calibration pattern on the end effector.
  2. Don't even bother getting the pose of the calibration pattern. Just read the center co-ordinate directly off the point cloud from my camera. (so the calibration pattern is merely acting as an easily detectable keypoint)
  3. Apply Kabsch (with no scaling) to get the transformation matrix.

I also realised the Kabsch approach is possible without a stereo camera, as the PnP step with a 2D camera would still give me the center co-ordinate of the calibration pattern (albeit much less precise than my expensive stereo camera). But still, this makes me wonder whether I'm missing something with my Kabsch approach.

  • 1
    $\begingroup$ I think I know the answer after having thought about it more. The Kabsch approach assumes that I know the keypoint position relative to the end-effector position to within a reasonable tolerance. Whereas the AX=XB approach assumes no such knowledge, and indeed this knowledge is essentially encoded in X, the thing we are trying to find. For my particular setup, I think the Kabsch approach will give me a solution that's within tolerance for my application. Still happy to receive comments/answers though. $\endgroup$ Mar 9, 2022 at 16:07


Your Answer

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

Browse other questions tagged or ask your own question.