I came across many good books on robotics. In particular I am interested in Inverse kinematic of 6dof robot. All books have example which goes on like this "given homogeneous transformation matrix as below, find the angles ?".. Problem, is how do I find components of a homogeneous transformation. matrix in real world? i.e. how do i practically derive 9 components of the rotation matrix embeded in homogeneous transformation matrix?.....


1 Answer 1


The upper left 3x3 submatrix represents the rotation of the end effector coordinate frame relative to the base frame. In this submatrix, the first column maps the final frame's x axis to the base frame's x axis; similarly for y and z from the next two columns.

The first three elements of the right column of the homogeneous transform matrix represent the position vector from the base frame origin to the origin of the last frame.


There are several ways to define the nine components of the rotation submatrix, $R$, given a particular task in space. Note that $R$ is orthonormal, so you don't really need to define all 9 based on just the task. A very common approach is to represent the task orientations (with respect to the global coordinate system) using Euler angles. With this representation, each column of $R$ describes a rotation about one of the axes. Be careful with Euler angles, though, because the order of rotation matters. Commonly, but not exclusively, the first column of $R$ describes a rotation about the global $z$ axis; the second column describes a rotation about the now-rotated $y$ axis; and the third column describes a rotation about the $x$ axis, which has been rotated by the two previous angles. There are other Euler angle representations, also.

There are other ways to use $R$ to describe the task orientation. I find Waldron's text very readable for this. Check out section 1.2.2 of his draft Handbook of Robotics sourced by Georgia Tech. In this section he describes not only Z-Y-X Euler angles, but also Fixed Angles, quaternions, and Angle-Axis representations for orientation.

The important thing is to ensure you consider whatever representation you use for $R$ when you compute the inverse kinematics. The homogeneous transformation describes how the position and rotation vary based on joint angles, but you need to ensure that your definition for $R$ is properly inverted in computing the final three joint angles for your robot.


  • $\begingroup$ Dear Steve, I know about rotation matrix. Let me rephrase my question " $\endgroup$ Commented Jun 5, 2017 at 14:32
  • $\begingroup$ Dear Steve, I know about rotation matrix. Let me rephrase my question - say I have a robot with end effector having three mutually perpendicular axis. Now say i have a cup lying on a table. I want the robot to reach and pick it up. Now how do i specify all 9 components of the rotation matrix such that when these 9 components are given to IK routine ,robot reaches on position. Do I have to use measuring tape to measure some dimension, do I have to measure x y z position of the cup on table, do I need to measure angles using compass etc...etc...." If you could get my point, can you please guide? $\endgroup$ Commented Jun 5, 2017 at 14:41
  • $\begingroup$ To use robot kinematics to perform tasks, you have a choice between defining the tasks in the "global" coordinate system, or defining those tasks with respect to the end effector itself. Either way you must precisely define what you expect the robot to accomplish. Can you edit your question to clarify what you don't understand about setting this up? $\endgroup$
    – SteveO
    Commented Jun 6, 2017 at 2:04
  • $\begingroup$ Dear Mr.Steve. Thanks for your interest. Say I have a cup 30 cm away from robot base in X direction, 30 cm away in Y direction, 30 cm away in Z direction. I think these distances set positioning part (px,py,pz) part of Homogeneous trans matrix. It is easier to set them as I can physically measure them. Now let us assume the cup is lying tilted say 30 degree with respect to x axis of robot, 40 degree with respect to y axis and 30 degree with respect to z axis. Now how would I derive nx,ny,nz,ax,ay,az, sx,sy,sz i.e . rotation components of the Homogeneous transformation matrix ? Could you help ? $\endgroup$ Commented Jun 7, 2017 at 14:19

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.