%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% INVERSEKINEMATIC Inverse kinematic for serial robots. q = INVERSEKINEMATIC(robot, T) returns the vector q of joint values according to the transformation matrix of the end effector T. INVERSEKINEMATIC calls a pre-defined function specified by ROBOT.inversekinematic_fn that should be implemented in the inversekinematic directory. See also DIRECTKINEMATIC. Author: Arturo Gil. Universidad Miguel Hernández de Elche. email: arturo.gil@umh.es date: 26/04/2012 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0001 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0002 % INVERSEKINEMATIC Inverse kinematic for serial robots. 0003 % 0004 % q = INVERSEKINEMATIC(robot, T) 0005 % returns the vector q of joint values according to the transformation matrix 0006 % of the end effector T. 0007 % 0008 % INVERSEKINEMATIC calls a pre-defined function specified by ROBOT.inversekinematic_fn that 0009 % should be implemented in the inversekinematic directory. 0010 % 0011 % See also DIRECTKINEMATIC. 0012 % 0013 % Author: Arturo Gil. Universidad Miguel Hernández de Elche. 0014 % email: arturo.gil@umh.es date: 26/04/2012 0015 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0016 0017 % Copyright (C) 2012, by Arturo Gil Aparicio 0018 % 0019 % This file is part of ARTE (A Robotics Toolbox for Education). 0020 % 0021 % ARTE 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 % ARTE 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 ARTE. If not, see <http://www.gnu.org/licenses/>. 0033 function q = inversekinematic(robot, T) 0034 0035 if robot.debug 0036 fprintf('\nComputing inverse kinematics for the %s robot\n', robot.name); 0037 fprintf('\nCall to: inversekinematic/%s\n', robot.inversekinematic_fn); 0038 end 0039 %Call specific inversekinematic function 0040 q = eval(robot.inversekinematic_fn);