I am having an issue with some hand-eye calibration.

So i am using a simple robot which at its tool point has an stereo camera mounted on it.

I want to perform some visual serving/tracking based stereo images extracted from the camera in the "hand". The camera provides me x,y,z coordinates of the object I want to track.

I can at all time extract an homogenous transformation matrix from base to tool (not cam) as (T_tool_base).

Firstly... I guess i would need perform some form of robot to (vice versa) camera calibration, My idea was that would consist of something like this

T_base_world = (T_base_tool) (T_tool_cam) (T_cam_world) 

Where the T_tool_cam would entail the calibration... since the camera is at the tool point, would that entail the T_tool_cam should entail information on how much the camera is displaced from the tool point, and how it is rotated according to the tool point? or is not like that?

secondly... How do i based purely x,y,z coordinate make an homogeneous transformation matrix, which includes an rotation matrix ?

thirdly.. Having a desired Transformation matrix which in theory this

T_base_world = (T_base_tool) (T_tool_cam) (T_cam_world) 

would provide me, would an inverse kinematics solution provide me with one or multiple solution?... In theory should this only provide me one, or what?


1 Answer 1


If $x, y, z$ are the coordinates of the object in the camera frame, then the camera to object transform will be: $$\begin{pmatrix}1 & 0 & 0 & 0\\ 0 & cos\theta & -sin\theta & 0\\ 0 & sin\theta & cos\theta & 0\\ 0 & 0 & 0 & 1\\ \end{pmatrix} \begin{pmatrix}0 & 0 & 0 & x\\ 0 & 0 & 0 & y\\ 0 & 0 & 0 & z\\ 0 & 0 & 0 & 1\\ \end{pmatrix} $$

The tool->cam transform includes a single rotation about the $x$ axis of the tool by $\theta$ from the tool frame to the camera frame, followed by the camera to object transform.

Rotation of the object is unaccounted for.

  • $\begingroup$ So lets say if the cam is rotated + 90 degrees in the y or x axis how would you add that? $\endgroup$ Commented Apr 9, 2016 at 5:31
  • $\begingroup$ and how about the camera transformation matrix? $\endgroup$ Commented Apr 9, 2016 at 5:51
  • 1
    $\begingroup$ cs.brandeis.edu/~cs155/Lecture_07_6.pdf $\endgroup$
    – hauptmech
    Commented Apr 9, 2016 at 5:57
  • $\begingroup$ You combine matrices (transforms) by multiplying them together. You can create a single transform by multiplying together a sequence of simple transforms. $\endgroup$
    – hauptmech
    Commented Apr 9, 2016 at 5:58
  • $\begingroup$ Ahh.. Ok, I will try and test it and see how it performs.. How would you perform the robot to camera calibration. It sound like you want to do some test or ? $\endgroup$ Commented Apr 9, 2016 at 6:20

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.