📄 jacobn.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"><html><head> <title>Description of jacobn</title> <meta name="keywords" content="jacobn"> <meta name="description" content="JACOBN Compute manipulator Jacobian in end-effector frame"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="generator" content="m2html © 2003 Guillaume Flandin"> <meta name="robots" content="index, follow"> <link type="text/css" rel="stylesheet" href="./m2html.css"></head><body><a name="_top"></a><div><a href="./index.html">Home</a> > <a href="index.html">.</a> > jacobn.m</div><!--<table width="100%"><tr><td align="left"><a href="./index.html"><img alt="<" border="0" src="./left.png"> Master index</a></td><td align="right"><a href="index.html">Index for . <img alt=">" border="0" src="./right.png"></a></td></tr></table>--><h1>jacobn</h1><h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="./up.png"></a></h2><div class="box"><strong>JACOBN Compute manipulator Jacobian in end-effector frame</strong></div><h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="./up.png"></a></h2><div class="box"><strong>function J = jacobn(robot, q) </strong></div><h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="./up.png"></a></h2><div class="fragment"><pre class="comment">JACOBN Compute manipulator Jacobian in end-effector frame JN = JACOBN(ROBOT, Q) Returns a Jacobian matrix for the robot ROBOT in pose Q. The manipulator Jacobian matrix maps differential changes in joint space to differential Cartesian motion of the end-effector (end-effector coords). dX = J dQ This function uses the technique of Paul, Shimano, Mayer Differential Kinematic Control Equations for Simple Manipulators IEEE SMC 11(6) 1981 pp. 456-460 For an n-axis manipulator the Jacobian is a 6 x n matrix. See also: <a href="jacob0.html" class="code" title="function J0 = jacob0(robot, q)">JACOB0</a>, <a href="diff2tr.html" class="code" title="function delta = diff2tr(d)">DIFF2TR</a>, <a href="tr2diff.html" class="code" title="function d = tr2diff(t1, t2)">TR2DIFF</a></pre></div><!-- crossreference --><h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="./up.png"></a></h2>This function calls:<ul style="list-style-image:url(./matlabicon.gif)"></ul>This function is called by:<ul style="list-style-image:url(./matlabicon.gif)"><li><a href="jacob0.html" class="code" title="function J0 = jacob0(robot, q)">jacob0</a> JACOB0 Compute manipulator Jacobian in world coordinates</li></ul><!-- crossreference --><h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="./up.png"></a></h2><div class="fragment"><pre>0001 <span class="comment">%JACOBN Compute manipulator Jacobian in end-effector frame</span>0002 <span class="comment">%</span>0003 <span class="comment">% JN = JACOBN(ROBOT, Q)</span>0004 <span class="comment">%</span>0005 <span class="comment">% Returns a Jacobian matrix for the robot ROBOT in pose Q.</span>0006 <span class="comment">%</span>0007 <span class="comment">% The manipulator Jacobian matrix maps differential changes in joint space</span>0008 <span class="comment">% to differential Cartesian motion of the end-effector (end-effector coords).</span>0009 <span class="comment">% dX = J dQ</span>0010 <span class="comment">%</span>0011 <span class="comment">% This function uses the technique of</span>0012 <span class="comment">% Paul, Shimano, Mayer</span>0013 <span class="comment">% Differential Kinematic Control Equations for Simple Manipulators</span>0014 <span class="comment">% IEEE SMC 11(6) 1981</span>0015 <span class="comment">% pp. 456-460</span>0016 <span class="comment">%</span>0017 <span class="comment">% For an n-axis manipulator the Jacobian is a 6 x n matrix.</span>0018 <span class="comment">%</span>0019 <span class="comment">% See also: JACOB0, DIFF2TR, TR2DIFF</span>0020 0021 <span class="comment">% Copyright (C) 1999-2008, by Peter I. Corke</span>0022 <span class="comment">%</span>0023 <span class="comment">% This file is part of The Robotics Toolbox for Matlab (RTB).</span>0024 <span class="comment">%</span>0025 <span class="comment">% RTB is free software: you can redistribute it and/or modify</span>0026 <span class="comment">% it under the terms of the GNU Lesser General Public License as published by</span>0027 <span class="comment">% the Free Software Foundation, either version 3 of the License, or</span>0028 <span class="comment">% (at your option) any later version.</span>0029 <span class="comment">%</span>0030 <span class="comment">% RTB is distributed in the hope that it will be useful,</span>0031 <span class="comment">% but WITHOUT ANY WARRANTY; without even the implied warranty of</span>0032 <span class="comment">% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>0033 <span class="comment">% GNU Lesser General Public License for more details.</span>0034 <span class="comment">%</span>0035 <span class="comment">% You should have received a copy of the GNU Leser General Public License</span>0036 <span class="comment">% along with RTB. If not, see <http://www.gnu.org/licenses/>.</span>0037 0038 <a name="_sub0" href="#_subfunctions" class="code">function J = jacobn(robot, q)</a>0039 0040 n = robot.n;0041 L = robot.link; <span class="comment">% get the links</span>0042 0043 J = [];0044 U = robot.tool;0045 <span class="keyword">for</span> j=n:-1:1,0046 <span class="keyword">if</span> robot.mdh == 0,0047 <span class="comment">% standard DH convention</span>0048 U = L{j}( q(j) ) * U;0049 <span class="keyword">end</span>0050 <span class="keyword">if</span> L{j}.RP == <span class="string">'R'</span>,0051 <span class="comment">% revolute axis</span>0052 d = [ -U(1,1)*U(2,4)+U(2,1)*U(1,4)0053 -U(1,2)*U(2,4)+U(2,2)*U(1,4)0054 -U(1,3)*U(2,4)+U(2,3)*U(1,4)];0055 delta = U(3,1:3)'; <span class="comment">% nz oz az</span>0056 <span class="keyword">else</span>0057 <span class="comment">% prismatic axis</span>0058 d = U(3,1:3)'; <span class="comment">% nz oz az</span>0059 delta = zeros(3,1); <span class="comment">% 0 0 0</span>0060 <span class="keyword">end</span>0061 J = [[d; delta] J];0062 0063 <span class="keyword">if</span> robot.mdh ~= 0,0064 <span class="comment">% modified DH convention</span>0065 U = L{j}( q(j) ) * U;0066 <span class="keyword">end</span>0067 <span class="keyword">end</span></pre></div><hr><address>Generated on Sun 15-Feb-2009 18:09:29 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> © 2003</address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -