Scilab Function
Last update : April 2007

rt_tr2diff - convert a homogeneous transform to a differential motion vector[view code]

Calling Sequence

d = rt_tr2diff(T)
d = rt_tr2diff(T1, T2)



The first form returns a 6-element differential motion vector representing the incremental translation and rotation described by the homogeneous transform T. It is assumed that T is of the form

     [0,           -delta_z,   delta_y,    d_x;
      delta_z,     0,          -delta_x,   d_y;
      -delta_y,    delta_x,    0,          d_z;
    0,           0,          0,          0]

The translational elements of d are assigned directly. The rotational elements are computed from the mean of the two values that appear in the skew-symmetric matrix.

The second form of this function returns a differential motion vector representing the displacement from T1 to T2, that is T2 - T1.


   // A differential motion can be represented by a 6-element vector with
   // elements [dx dy dz drx dry drz]. This example shows how rt_tr2diff()
   // can be used to obtain the differential motion vector from a
   // homogeneous transforms.

   // homogeneous transform which descibes incremental translation and
   // rotation
   T = [0,     -0.1,  0.1,  0.1;..
        0.1,   0,     0.2,  0.2;..
        -0.1,  -0.2,  0,    0;..
        0,     0,     0,    0];

   // compute the incremental translation and rotation described by T
   d = rt_tr2diff(T);


See Also



original Matlab version by

Peter I. Corke CSIRO Manufacturing Science and Technology

Scilab implementation by

Matteo Morelli Interdepartmental Research Center "E. Piaggio", University of Pisa


Corke, P.I. "A Robotics Toolbox for MATLAB", IEEE Robotics and Automation Magazine, Volume 3(1), March 1996, pp. 24-32

R. P. Paul, Robot Manipulators: Mathematics, Programming and Control. Cambridge, Massachusetts: MIT Press, 1981.

Get the Robotics Toolbox for Scilab/Scicos at Fast, secure and Free Open Source software downloads