RNE Compute inverse dynamics via recursive Newton-Euler formulation TAU = RNE(ROBOT, Q, QD, QDD) TAU = RNE(ROBOT, [Q QD QDD]) Returns the joint torque required to achieve the specified joint position, velocity and acceleration state. Gravity vector is an attribute of the robot object but this may be overriden by providing a gravity acceleration vector [gx gy gz]. TAU = RNE(ROBOT, Q, QD, QDD, GRAV) TAU = RNE(ROBOT, [Q QD QDD], GRAV) An external force/moment acting on the end of the manipulator may also be specified by a 6-element vector [Fx Fy Fz Mx My Mz]. TAU = RNE(ROBOT, Q, QD, QDD, GRAV, FEXT) TAU = RNE(ROBOT, [Q QD QDD], GRAV, FEXT) where Q, QD and QDD are row vectors of the manipulator state; pos, vel, and accel. The torque computed also contains a contribution due to armature inertia. RNE can be either an M-file or a MEX-file. See the manual for details on how to configure the MEX-file. The M-file is a wrapper which calls either RNE_DH or RNE_MDH depending on the kinematic conventions used by the robot object. See also: ROBOT, ACCEL, GRAVLOAD, INERTIA.
0001 %RNE Compute inverse dynamics via recursive Newton-Euler formulation 0002 % 0003 % TAU = RNE(ROBOT, Q, QD, QDD) 0004 % TAU = RNE(ROBOT, [Q QD QDD]) 0005 % 0006 % Returns the joint torque required to achieve the specified joint position, 0007 % velocity and acceleration state. 0008 % 0009 % Gravity vector is an attribute of the robot object but this may be 0010 % overriden by providing a gravity acceleration vector [gx gy gz]. 0011 % 0012 % TAU = RNE(ROBOT, Q, QD, QDD, GRAV) 0013 % TAU = RNE(ROBOT, [Q QD QDD], GRAV) 0014 % 0015 % An external force/moment acting on the end of the manipulator may also be 0016 % specified by a 6-element vector [Fx Fy Fz Mx My Mz]. 0017 % 0018 % TAU = RNE(ROBOT, Q, QD, QDD, GRAV, FEXT) 0019 % TAU = RNE(ROBOT, [Q QD QDD], GRAV, FEXT) 0020 % 0021 % where Q, QD and QDD are row vectors of the manipulator state; pos, vel, 0022 % and accel. 0023 % 0024 % The torque computed also contains a contribution due to armature 0025 % inertia. 0026 % 0027 % RNE can be either an M-file or a MEX-file. See the manual for details on 0028 % how to configure the MEX-file. The M-file is a wrapper which calls either 0029 % RNE_DH or RNE_MDH depending on the kinematic conventions used by the robot 0030 % object. 0031 % 0032 % See also: ROBOT, ACCEL, GRAVLOAD, INERTIA. 0033 0034 % 0035 % verified against MAPLE code, which is verified by examples 0036 % 0037 0038 % Copyright (C) 1992-2008, by Peter I. Corke 0039 % 0040 % This file is part of The Robotics Toolbox for Matlab (RTB). 0041 % 0042 % RTB is free software: you can redistribute it and/or modify 0043 % it under the terms of the GNU Lesser General Public License as published by 0044 % the Free Software Foundation, either version 3 of the License, or 0045 % (at your option) any later version. 0046 % 0047 % RTB is distributed in the hope that it will be useful, 0048 % but WITHOUT ANY WARRANTY; without even the implied warranty of 0049 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0050 % GNU Lesser General Public License for more details. 0051 % 0052 % You should have received a copy of the GNU Leser General Public License 0053 % along with RTB. If not, see <http://www.gnu.org/licenses/>. 0054 0055 0056 function tau = rne(robot, varargin) 0057 if robot.mdh == 0, 0058 tau = rne_dh(robot, varargin{:}); 0059 else 0060 tau = rne_mdh(robot, varargin{:}); 0061 end