CINERTIA Compute the Cartesian (operational space) manipulator inertia matrix M = CINERTIA(ROBOT, Q) Return the n x n inertia matrix which relates Cartesian force/torque to Cartesian acceleration. ROBOT is an n-axis robot object and describes the manipulator dynamics and kinematics, and Q is an n element vector of joint state. See also: INERTIA, ROBOT, RNE.
0001 %CINERTIA Compute the Cartesian (operational space) manipulator inertia matrix 0002 % 0003 % M = CINERTIA(ROBOT, Q) 0004 % 0005 % Return the n x n inertia matrix which relates Cartesian force/torque to 0006 % Cartesian acceleration. 0007 % ROBOT is an n-axis robot object and describes the manipulator dynamics and 0008 % kinematics, and Q is an n element vector of joint state. 0009 % 0010 % See also: INERTIA, ROBOT, RNE. 0011 0012 % MOD HISTORY 0013 % 4/99 add object support 0014 % $Log: not supported by cvs2svn $ 0015 % $Revision: 1.2 $ 0016 0017 % Copyright (C) 1993-2008, by Peter I. Corke 0018 % 0019 % This file is part of The Robotics Toolbox for Matlab (RTB). 0020 % 0021 % RTB is free software: you can redistribute it and/or modify 0022 % it under the terms of the GNU Lesser General Public License as published by 0023 % the Free Software Foundation, either version 3 of the License, or 0024 % (at your option) any later version. 0025 % 0026 % RTB is distributed in the hope that it will be useful, 0027 % but WITHOUT ANY WARRANTY; without even the implied warranty of 0028 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0029 % GNU Lesser General Public License for more details. 0030 % 0031 % You should have received a copy of the GNU Leser General Public License 0032 % along with RTB. If not, see <http://www.gnu.org/licenses/>. 0033 0034 function Mx = cinertia(robot, q) 0035 J = jacob0(robot, q); 0036 Ji = inv(J); 0037 M = inertia(robot, q); 0038 Mx = Ji' * M * Ji;