RTSX Help: Compute homogeneous transformation from link data


From link data structure, compute homogeneous transformation matrices from each frame to base.


  • [A,T,Ti] = Link2AT(L,q)

Input Arguments

  • L –a link data strucure created by Link( )consisting of link and joint parameters ordered from bottom to top.
  • q –a 1 x nq vector of joint variable values, where nq = number of joint variables

Output Arguments

  • A — a 4 x 4 x nq homogeneous transformation matrix representing each frame w.r.t. frame below, where nq = number of joints
  • T — a 4×4 homogeneous transformation matrix representing uppermost frame w.r.t base
  • Ti — a 4x4xnq homogeneous transformation matrix representing each frame w.r.t base


Link2AT( ) computes homogeneous transformation matrices that describe each joint coordinate frame completely; that is, each frame w.r.t adjacent frame below and each frame w.r.t bottom frame. The resulting transformations are packed to two set of 3-dimensional matrices A and Ti. T is the forward kinematics solution. i.e., homogeneous transformation of frame {n} w.r.t {0}. This notation is quite common in robotics textbooks. For example, the transformation from frame (n) w.r.t. (n-1) is labeled An, and T {n} w.r.t {0} = A1*A2* … *An. See, for example, Spong & Vidyasagar ‘s “Robot Dynamics and Control.”


The following example shows how to compute A and T matrices from an RRR robot.

clear L;
d1 = 1; a2 = 1; a3 = 1;
L(1)= Link([0 d1 0 pi/2]);
L(2)=Link([0 0 a2 0]);    
L(3)=Link([0 0 a3 0]);
q0 = [0 0 0];

See Also

  • Robot2hAT — Compute sequence of homogeneous matrices from robot model
  • FKine — Compute forward kinematics from robot model