Scilab Function
Last update : October 2007

rt_cinertia - compute the Cartesian (operational space) manipulator inertia matrix[view code]

Calling Sequence

M = rt_cinertia(robot, q)



This function computes the Cartesian, or operational space, inertia matrix. robot is a robot object that describes the manipulator dynamics and kinematics, and q is an n-element vector of joint coordinates.

The Cartesian inertia matrix is calculated from the joint-space inertia matrix and relates Cartesian force/torque to Cartesian acceleration.


   // Joint-space inertia matrix of a Puma 560 manipulator, at the given
   // pose
   exec <PATH>/models/rt_puma560.sce;           // load Puma 560 parameters
   q = 2*%pi*rand(1,6) - %pi,                   // the given pose
   M = rt_inertia(p560, q),                     // joint-space inertia matr.

   // compute the corresponding operational-space inertia matrix:
   // by compounded transforms
   J = rt_jacob0(p560, q);
   Ji = inv(J);
   Ji.' * M * Ji,

   // by using rt_cinertia() (direct approach)
   rt_cinertia(p560, q),

See Also

rt_frne,  rt_inertia,  rt_robot,  


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

O. Khatib, "A unified approach for motion and force control of robot manipulators: the operational space formulation", IEEE Trans. Robot. Autom., vol. 3, pp. 43-53, Feb. 1987.

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